beautypg.com

Toshiba MK6017MAP User Manual

Page 124

background image

360014937

Copyright ©2000 Toshiba corporation. All rights reserved.

- 624 -

3. Ultra DMA burst termination phase

a) Either a sender or a recipient may terminate an Ultra DMA burst.
b) Ultra DMA burst termination is not the same as command termination or completion. If an Ultra DMA

burst termination occurs before the command is complete, 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 to the drive.

c) An Ultra DMA shall be paused before a recipient requests a termination.
d) A host requests a termination by asserting STOP. A drive acknowledges a termination request by

negating DMARQ.

e) A drive requests a termination by negating DMARQ. A host acknowledges a termination request by

asserting STOP.

f) Once a sender requests a termination, it does not change the state of STROBE until the recipient

acknowledges the request. Then, if STROBE is not the asserted state, the sender returns STROBE to
the asserted state. No data shall be transferred on this transition of STROBE.

g) A sender returns STROBE to the asserted state whenever it detects a termination request from the

recipient. No data shall be transferred nor CRC calculated on this edge of DSTROBE.

h) Once a recipient requests a termination, it does not change DMARDY from the negated state for the

remainder of an Ultra DMA burst.

k) A recipient ignores a STROBE edge when DMARQ is negated or STOP is asserted.

CRC
Both the host and drive perform a CRC function during an Ultra DMA burst. the host and drive use 4ABAh
as an initial value. The host and the drive calculate CRC value during each STROBE edge of data transfer
using current value of CRC and transferred data with CRC polynomial. CRC function is not performed after
an Ultra DMA burst completion of STROBE set. At the completion of an Ultra DMA burst, the host reports
the CRC data on data bus and negates DMACK- to pass the result to the drive.
The drive compares the CRC data sent from the host. If the two values do not match, the drive reports an
error after at the end of the command. The generative polynomial for CRC is :

( X ) = X 16 + X 12 + X 5 + 1

The following figure shows an example of CRC generative logic ( ATA / ATAPI-5 )