This message is from the T13 list server.

On Mon, 17 Dec 2001 12:47:08 -0700, Pat LaVarre wrote:
>An x0A/2A/AA Write block command that fails renders all the
>content of the blocks it addresses indeterminate?  Maybe commonly
>only the blocks before the bad block changed, but only a BadHost
>assumes that limited effect?

ATAPI might look like SCSI but it is SCSI using the ATA/ATAPI
interface as the transport.  In ATA/ATAPI a host SHALL assume
that any data read from a device during a read command that ends
with an error is "bad data".  The host SHALL not use any of the
data received from the device.

So even if the host is reading 200 sectors and it would appear
that the first 100 had no error the host is not allowed to assume
that.  The host SHALL assume that ALL sector data received from
the device (even those first 100 in this case) are not valid
data.

>A device can avoid using intermediate data only by buffering all
>the data of the command.

For a write command that ends with an error the host SHALL assume
that NONE of the data that was transferred to the device was used
in any way by the device.  Yes, the device may have written some
of the data to the media without error but the host SHALL NOT
assume this.

Remember that for write commands, ATA/ATAPI does not require the
device to write the data in the same time order as it was
received from the host.  This true even when write caching is
off.  The device may write the data "out of order" so that a 200
sector write might write the middle sectors to the media before
writing the first sectors.


***  Hale Landis  *** [EMAIL PROTECTED] ***
*** Niwot, CO USA ***   www.ata-atapi.com   ***


Subscribe/Unsubscribe instructions can be found at www.t13.org.

Reply via email to