This message is from the T13 list server.

Is this the right place to discuss other interfaces or broken OS
driver stacks? OK, I can understand there may be some interest but
really we should be talking about ATA/ATAPI here and Pat's assertion
that something is broken in ATA/ATAPI DMA. It really doesn't matter
if USB or 1394 or some OS driver stack do things differently or are
broken. 

It is important to unerstand that ATA/ATAPI deals only with ATA/ATAPI
devices and hosts. ATA/ATAPI has a lot to say about how devices work.
It doesn't have a lot to say about how hosts work but does set foth a
number of basic rules for host operation. It is important to never
forget that an ATA/ATAPI host is everything that is on the host side
of the host cable connector. That could be host hardare, host
firmware, host software - the host is whatever is over there.

A host could be a traditional PCI bus ATA host adapter and the
associated OS device driver stack.

A host could be an X-to-ATA/ATAPI bridge device (like
USB-to-ATA/ATAPI). Such a device might be all hardware or could be a
combination of hardware and firmware.

But it doesn't matter what the host is, that host must follow the
ATA/ATAPI rules. Part of those rules require that for most data
transfer commands the host must know exactly how many bytes will be
transferred by a command. In many cases if the host fails to
understand this the result is a "hang" condition on the ATA/ATAPI
interface requiring a reset to recover.

I would prefer to spend my time discussing a ATA/ATAPI data transfer
table (mine or other) and not discuss a similar table for USB or 1394
or SCSI or whatever. We should be talking about ATA/ATAPI in this
discussion.

We may disagree on how much work an ATA host controller should do (or
not do) and how a properly designed OS driver stack for ATA/ATAPI
should work but we should agree on how the ATA/ATAPI interface works
(for good or bad - it works the way it works).

Hale



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



Reply via email to