[t13] H = C = D of course

Hale Landis hlandis at indra.com
Wed Feb 12 23:11:04 PST 2003


* From the T10 Reflector (t10 at t10.org), posted by:
* "Hale Landis" <hlandis at indra.com>
*
Sent to both T13 and T10 - Hale.

On Wed, 12 Feb 2003 15:37:38 -0700, Pat LaVarre wrote:
>This message is from the T13 list server.

Hale said:
>> The "host" and device shall understand what the
>> command means and both shall have the same
>> expectations for any "data stream" transferred by
>> that command on the physical interface.

Pat replied:
>Maybe they shall, but in fact, commonly, they don't.

But no I/O works unless the host and device agree. When they don't
agree you have a major data integrity or I/O interface protocol
problem to deal with.

For example, when a host constructs a data stream for a write command
the host shall understand the length of that data stream and the
contents of that data stream. When the device receives that write
command it shall have the same understanding of that command's data
stream. If not, then what happens? Some, but not all, of the host
data is sent to the device? Some of the data is ignored by the
device? The device expects more data than the host is able to provide
(resulting in a hung ATA/ATAPI device - device waiting for more
data)? There is only one solution that works: The host and device
have the exact same understanding of the command and the command's
data stream.

For example, when a host contructs a read command the host probably
has a good idea of the maximum length data stream it will receive and
it probably has a good idea what valid data stream contents are
(especially for SCSI command like INQUIRY, MODE SENSE, REQUEST
SENSE). I used "probably" because some read commands are allowed to
transfer a variable amount of data. When the device receives that
read command it will construct a data stream to send to the host.
There are several valid things that could happen: the device may send
no data, the device may send some data, the device may send the
maximum amount of data. There is a problem if the device wants to
send more data than the host wants (again, resulting in a hung
ATA/ATAPI device - device waiting for the host to accept the
remaining data). So again, there is only one solution that works: the
host and device have the exact same understanding of the command and
the command's data stream. 

Hale



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



*
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at t10.org




More information about the T10 mailing list