This message is from the T13 list server.
[ BC [EMAIL PROTECTED] ] > From: Hale Landis > Date: Sunday - April 14, 2002 4:29 PM ... > > 3 "words" clocked In across the bus > Yes, 3 words (6 bytes) were moved > on the ATA interface. ... > > ... a kind of double-buffering, > > one kind among many. > Agree. Yes, thank you. 6 bytes were clocked across the bus as 3 "word"s. On the bus between host and device, T13 Atapi protocol doesn't tell us how many bytes actually were copied into memory on either side. > an ATA/ATAPI data transfer > is a stream of data > whose length is determine > soley by the command being executed. No. (More detail below.) > I assume Win98 and WinME > know to copy 5 bytes because: ... > a) that is what the application program's > SCSI CDB requested, or ... > b) via some parameter to the OS device driver stack > the driver(s) know the application > program's I/O buffer is only 5 bytes. Neither (a) nor (b), not in the real world. The true answer is: c) Of the N * 2 bytes clocked across the bus, T13 requires any AtapiPio device to tell the host how few bytes to copy In or how many bytes the device did copy Out. An Atapi Pio device asks the host to copy the sum of x1F5:1F4 ByteCount values offered with each INTRQ where BSY DRQ C/D = 0 1 d. > What is the point here? > You are talking about > OS driver stack implementation here. Yes I am consciously choosing to talk about the de facto executable definition of Atapi known as the Microsoft Atapi driver stacks. The de jure definition that we of T13 publish does influence Microsoft's quality of implementation. With the change to Atapi Dma from Pio, we of T13 have precluded Microsoft from properly supporting T10 over time. > You are trying to fix a problem ... > by getting T13 to do something inapropriate, I'd say I'm asking how enhance AtapiDma to include a traditional feature that forms a part of every other Scsi-over-whatever protocol that actually just plain works, such as AtapiPio. I'm also working to publish the fact that this feature exists, since noone before me seems to have bothered. > The information you seem to want > was never in any ATA DMA > data transfer protocol (SW, MW or UDMA). Sorry about that. I wasn't paying attention. Only recently did burst rates above 17e+6 byte/s begin to matter to me. > Nothing was removed by T13 > because nothing was there to remove. Eh? Atapi Pio includes in any bus trace the count of data bytes to copy which way. Atapi Dma does not. Somebody somewhere at some time didn't copy that feature to Dma from Pio. Sometimes the lack of this feature makes Pio work where Dma does not. > > UDma ... > I think you further issue is ... I'm voting to defer the UDma discussion til we understand each other more re copying odd counts of bytes. > an ATA/ATAPI data transfer > is a stream of data > whose length is determine > soley by the command being executed. No. 1) Context matters. 2) The defining English is (and will remain) in dispute. http://members.aol.com/plscsi/20020328/oddwinme.txt shows a host and two devices all disagreeing over whether the Cdb -x 12 0 0 0 05 0 copies in 5, 6, 8, or x0E bytes. The first device asks to copy 6 bytes In: BSY DRQ C/D I/O = 0 1 D I x1F5:1F4 ByteCount = x00:06 3 "words" clocked In across the bus The second device asks to copy 5 bytes In, like T10 claims all hosts and devices should: BSY DRQ C/D I/O = 0 1 D I x1F5:1F4 ByteCount = x00:05 3 "words" clocked In across the bus See the difference in the devices? The ByteCount from the first device is 6, from the second device it is 5. The Dma trace shows no ByteCount and no C/D I/O bits. oddwinme.txt also tells us the host here enters negotiation willing to accet as many as x0E bytes copied In. Furthermore, this host allocates x10 bytes of buffer, in case Windows actually copies in a little more than permitted. (I constructed the example here to make the traces short: personally in real life I more often allocate an extra 4KiB physical page.) > > Who above the level of T13 > > cares if we're using Pio or Dma? ... > Doesn't matter. In either case, PIO or DMA, > the OS device driver stack must know ... By the above, T13 Pio lets the device tell the OS, T13 Dma does not. > ... No matter how evil I am to want to support the illusion that Windows works, am I now at least coherent? Pat LaVarre
