23.3. Standards
			This section describes I/O standards used by ATA and SCSI devices.
		
ATA Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
			ATA devices must report appropriate information via the 
IDENTIFY DEVICE command. ATA devices only report I/O parameters for physical_block_size, logical_block_size, and alignment_offset. The additional I/O hints are outside the scope of the ATA Command Set.
		SCSI Copy linkLink copied to clipboard!
Copy linkLink copied to clipboard!
			I/O parameters support in Red Hat Enterprise Linux 6 requires at least version 3 of the SCSI Primary Commands (SPC-3) protocol. The kernel will only send an extended inquiry (which gains access to the 
BLOCK LIMITS VPD page) and READ CAPACITY(16) command to devices which claim compliance with SPC-3.
		
			The 
READ CAPACITY(16) command provides the block sizes and alignment offset:
		LOGICAL BLOCK LENGTH IN BYTESis used to derive/sys/block/disk/queue/physical_block_sizeLOGICAL BLOCKS PER PHYSICAL BLOCK EXPONENTis used to derive/sys/block/disk/queue/logical_block_sizeLOWEST ALIGNED LOGICAL BLOCK ADDRESSis used to derive:/sys/block/disk/alignment_offset/sys/block/disk/partition/alignment_offset
			The 
BLOCK LIMITS VPD page (0xb0) provides the I/O hints. It also uses OPTIMAL TRANSFER LENGTH GRANULARITY and OPTIMAL TRANSFER LENGTH to derive:
		/sys/block/disk/queue/minimum_io_size/sys/block/disk/queue/optimal_io_size
			The 
sg3_utils package provides the sg_inq utility, which can be used to access the BLOCK LIMITS VPD page. To do so, run:
		sg_inq -p 0xb0 disk
# sg_inq -p 0xb0 disk