This message is from the T13 list server.

> 1) Either a sender or a recipient may terminate an Ultra DMA burst.

As a Dma newbie who is not a digicomm newbie, I can confirm I find this concept Highly 
confusing.

You do mean to be telling me, in every normal UDma transfer where the host and the 
device happen to agree on which way to move how many bytes ... the two end by racing 
to see who terminates the burst first?!?

Ok, that's creative.

This question appears among the first I ask any new UDma person with whom I come into 
contact - I haven't yet met one who answers coherently with anything more usefully 
accessible than "go study the spec and become a UDma guru yourself".

> As a Dma newbie.

Ever more often I feel I may begin to fail in my longstanding attempt to ignore 
everything but Atapi Pio transfers that max out at about 17e+6 bytes/s.  I find the 
redundancy of a UDma Crc particularly attractive - now suddenly Ata is electrically no 
more fragile than parity-checked Scsi.

> 6) Once a sender requests a termination, the sender ...
> 8) Once a recipient requests a termination, the responder ...

"Once"?!?  Ick.  Simultaneity doesn't exist, back in the real world.  "Once" with 
respect to what clock?  Ick.

> ...

And the final handshake is potentially incomplete ... a sender that exercises its 
option to move a few bytes past the last pause request cannot know if the receiver 
accepted them,  or instead terminated the transfer just a little prematurely?

> ...

Hopefully we can all enjoy my innocence before I lose it.  Pat LaVarre

P.S.

> [EMAIL PROTECTED]

I'm sending this to <[EMAIL PROTECTED]> rather than <[EMAIL PROTECTED]>, now that reply-to-all 
suggests I should.  If I got that wrong, please tell me offline, and/or post under a 
different subject line to educate us all.

>>> "Evans, Mark" <[EMAIL PROTECTED]> 11/26/01 10:22AM >>>
This message is from the T13 list server.


Hi Hale,

What exactly is it that you think is missing?  Clause 6.6.2.3 in ATA/ATAPI-6
provides an excellent overview of Ultra DMA burst termination phase rules
(even if I do say so myself).  The content of this clause has been in every
A/A standard since the introduction of Ultra DMA.  This clause reads:

1) Either a sender or a recipient may terminate an Ultra DMA burst.
2) Ultra DMA burst termination is not the same as command completion.  If an
Ultra DMA burst termination occurs before command completion, the command
shall be completed by initiation of a new Ultra DMA burst at some later time
or aborted by the host issuing a hardware or software reset or DEVICE RESET
command if implemented by the device.
3) An Ultra DMA burst shall be paused before a recipient requests a
termination.
4) A host requests a termination by asserting STOP.  A device acknowledges a
termination request by negating DMARQ.
5) A device requests a termination by negating DMARQ.  A host acknowledges a
termination request by asserting STOP. 
6) Once a sender requests a termination, the sender shall not change the
state of STROBE until the recipient acknowledges the request.  Then, if
STROBE is not in the asserted state, the sender shall return STROBE to the
asserted state.  No data shall be transferred on this transition of STROBE.
7) A sender shall return STROBE to the asserted state whenever the sender
detects a termination request from the recipient.  No data shall be
transferred nor CRC calculated on this edge of DSTROBE.
8) Once a recipient requests a termination, the responder shall not change
DMARDY from the negated state for the remainder of an Ultra DMA burst.
9) A recipient shall ignore a STROBE edge when DMARQ is negated or STOP is
asserted.

If this isn't sufficient, excruciating detail on exactly what is supposed to
happen in each specific case of Ultra DMA burst termination is provided in
clauses 9.13 and 10.2.4.
...


Subscribe/Unsubscribe instructions can be found at www.t13.org.

Reply via email to