This message is from the T13 list server.

[EMAIL PROTECTED] wrote:
This message is from the T13 list server.
Normally - - -
The size of the DRQ data block is 512 bytes UNLESS
if ATAPI
      then the "block count' registers determine the MAXIMUM
            DRQ block size
if not ATAPI
      then the 'set multiple' size trumps the default 512 byte size.
(large size blocks may alter this simple view)

Lets be a little more accurate...

For traditional ATA/ATAPI devices a PIO DRQ data block is one of the following:

a) For all ATA PIO data transfer commands, except for R/W MULTIPLE, the block is 512 bytes.

b) For ATA R/W MULTIPLE, if the multiple count (N, usually N is 4 or 8 or 16) then the block is N*512 bytes except for the last block of the command when the block is M*512 bytes where M is 1 to N. Note that when N=1, R/W MULTIPLE is identical to R/W SECTORS (and the reason that R/W SECTORS should have been made obsolete years ago).

c) For ATAPI PACKET commands, the Command packet block is either 12 or 16 bytes as indicated by ID word 0 from the device.

d) For ATAPI PACKET commands, a Data packet block is between 2 and 65534 bytes as indicated by the Byte Count for the DRQ data packet and that Byte Count shall not exceed the Byte Count Limit set by the host for the execution of the PACKET command. A PACKET command may transfer any number of Data packet blocks of 2 bytes to 65534 bytes. Note that the last block may have a Byte Count of 1 - this transfers 1 data byte plus a pad byte.

Hale

--

++ Hale Landis ++ www.ata-atapi.com ++

Reply via email to