This message is from the T13 list server.
On Tue, 26 Feb 2002 21:16:10 -0800, Mcgrath, Jim wrote: >This message is from the T13 list server. >Practical impact is that I don't think you can get fewer bytes on a >successful WRITE BUFFER command (or MODE SELECT, or LOG SELECT, etc...). But this is another example of "the problem" (as a confused Pat tried to point out before). If the host side does program the DMA engine for a larger transfer (perhaps because it really doesn't understand the CDB) then again with today's stupid DMA engines the host has no way to determine how much data the device accepted (or if any data was transferred to the device). There are three places where today's stupid DMA engines cause data integrity problems: * On read commands, when the device sends less data than the DMA engine was programmed to transfer. How much data was transferred? This can happen on commands like Request Sense, Inquiry, or on devices that have variable sized data blocks. * On write commands, when the host side programs the DMA engine to transfer more data than the devcie wants. How much data was transferred? This is not a pratice we incourage but host folks do this as Pat and other have tried to point out. Many of us think this is a bad pratice on an x86, even call it a broken host, but this really is a problem with today's stupid DMA engines. * On any DMA transfer using today's stupid DMA engines it is not possible to determine what that DMA engine did. It is a state machine that follows a program (the PRD list) but there is no way for the host to determine just what the DMA engine did with that PRD list. I find it amazing that we must live with such crappy designs that fail to address problems that were known and solved in computers in the 1950's and 1960's. X86 PCI bus commputers are toys... Get used to it... There is no way to perform high reliability on such systems... There just isn't enough status information (or even error detection hardware) available to the host side to determine what happen. *** Hale Landis *** www.ata-atapi.com *** Subscribe/Unsubscribe instructions can be found at www.t13.org.
