(3)READ DMA (X'C8' or X'C9')
This command operates similarly to the READ SECTOR(S) command except for following events.
∙The data transfer starts at the timing of DMARQ signal assertion.
∙The device controls the assertion or negation timing of the DMARQ signal.
∙The device posts a status as the result of command execution only once at completion of the data transfer.
When an error, such as an unrecoverable medium error, that the command execution cannot be continued is detected, the data transfer is stopped without transferring data of sectors after the erred sector. The device generates an interrupt using the INTRQ signal and posts a status to the host system. The format of the error information is the same as the READ SECTOR(S) command.
In LBA mode
The logical block address is specified using the start head No., start cylinder No., and first sector No. fields. At command completion, the logical block address of the last sector and remaining number of sectors of which data was not transferred, like in the CHS mode, are set.
The host system can select the DMA transfer mode by using the SET FEATURES command.
1) Multiword DMA transfer mode 2:
Sets the FR register = X'03' and SC register = X'22' by the SET FEATURES command
2) Ultra DMA transfer mode 2:
Sets the FR register = X'03' and SC register = X'42' by the SET FEATURES command
At command issuance (I/O registers setting contents)
1F7H(CM) | 1 | 1 | 0 | 0 | 1 | 0 | 0 | R | |
|
|
|
|
|
|
| |||
1F6H(DH) | × | L | × | DV |
| Start head No. /LBA [MSB] | |||
|
|
|
|
|
|
|
| ||
1F5H(CH) |
| Start cylinder No. [MSB] / LBA |
|
| |||||
1F4H(CL) |
| Start cylinder No. [LSB] | / LBA |
|
| ||||
1F3H(SN) |
| Start sector No. |
|
| / LBA [LSB] |
| |||
1F2H(SC) |
|
| Transfer sector count |
|
| ||||
1F1H(FR) |
|
|
|
| xx |
|
|
|
R = 0 or 1
5 - 20 |