This message is from the T13 list server.
Sorry... I confused host, device, sender and receiver in my example. Here is the entire email again with the corrected example. On Fri, 25 Jan 2002 12:08:35 -0700, Pat LaVarre wrote: >Ah, fun. As many saw here, I spent much time over Christmas >demonstrating I could not say this better myself. Pat... I think several of us (Jim, Harlan, me, ?) are concerned that you may be confusing the sizes of DMA data bursts with the size of a device's media data block? Please confirm that you are not confused by this and that you understand that there is NO relationship between these two sizes. Pat... I provided a number of examples some weeks ago (and I never saw any comment on them) but lets try another example here... Lets talk about a fast Ultra DMA mode where each time the receiver of the data attempts to terminate a DMA data burst the receiver gets 2 or 4 more data bytes... It doesn't matter what the command is or what the device block size is in this example... Lets just assume the total transfer will be 40 bytes and that several DMA data bursts are required... OK? The sender of the data could be the host or the device. When the device is ready to transfer data it asserts DMARQ and the host responds with DMACK and the first DMA data burst starts. The sender starts sending data bytes to the receiver. After receiving the first 10 bytes the receiver attempts to stop the DMA data burst but the sender sends 4 more data bytes before the DMA data burst actually ends. At this point the receiver has received the first 14 data bytes... that is 14 real data bytes, no pad bytes, no extra bytes of unknown origin... the receiver now has the first 14 data bytes. Now the sender wants to continue the transfer (there are 26 more bytes to transfer). In the second DMA data burst, after receiving 16 bytes the receiver attempts to stop the DMA data burst but the sender sends 2 more data bytes before the DMA data burst actually ends. At this point the receiver has received the first 32 data bytes (14 + 18)... that is 32 real data bytes, no pad bytes, no extra bytes of unknown origin... the receiver now has the first 32 data bytes. Now the sender wants to continue the transfer (there are 8 more bytes to transfer). In the third DMA data burst, after receiving 4 bytes the receiver attempts to stop the DMA data burst but the sender sends 4 more data bytes before the DMA data burst actually ends. Note that the sender would have stopped this transfer after sending 8 bytes anyway. At this point the receiver has received the all 40 bytes (14 + 18 + 8)... that is 40 real data bytes, the last byte might have been a pad byte, no extra bytes of unknown origin... the receiver now has all 40 data bytes. Pat... You keeping talking about "extra" data bytes... In the example above where are these data bytes? *** Hale Landis *** www.ata-atapi.com *** Subscribe/Unsubscribe instructions can be found at www.t13.org.
