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 ***
