Figure 5.1 shows an example of the execution of the READ MULTIPLE command.
∙Block count specified by SET MULTIPLE MODE command = 4 (number of sectors in a block)
∙READ MULTIPLE command specifies;
Number of requested sectors = 9 (Sector Count register = 9)
↓
Number of sectors in incomplete block = remainder of 9/4 =1
Command Issue
Parameter |
|
|
|
Write | Status read | Status read | Status read |
~
BSY
DRDY
INTRQ
DRQ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sector | 1 | 2 | 3 | 4 |
| 5 | 6 | 7 | 8 |
| 9 |
|
|
| ||||||
|
|
|
|
|
| |||||||||||||||
| transferred |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Partial | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| block | |
|
|
|
| Block |
|
|
|
|
| Block |
|
|
|
|
|
| ||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Figure 5.1 Execution example of READ MULTIPLE command
At command issuance (I/O registers setting contents)
1F7H(CM) | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | |
|
|
|
|
|
|
| |||
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 |
|
|
|
At command completion (I/O registers contents to be read)
1F7H(ST) |
|
|
| Status information | |||
|
|
|
|
|
|
| |
1F6H(DH) | × | L | × |
| DV | End head No. /LBA [MSB] | |
|
|
|
|
|
| ||
1F5H(CH) |
| End cylinder No. [MSB] / LBA | |||||
1F4H(CL) |
| End cylinder No. [LSB] | / LBA | ||||
1F3H(SN) |
| End sector No. | / LBA [LSB] | ||||
1F2H(SC) |
|
|
|
| 00H (*1) |
| |
1F1H(ER) |
|
|
| Error information |
*1 If the command is terminated due to an error, the remaining number of sectors for which data was not transferred is set in this register.
5 - 19 |