SECTION 6
HostSoftwareInterface
The host communicates with the drive through a set of controller registers accessed via the host’s I/O ports. These registers divide into two groups: the Task File, used for passing commands and command parameters and the Control/Diagnostic registers.
Task File Registers
The Task File consists of eight registers used to control fixed disk operations. The host accesses each register by the I/O port address shown in this Task File register map:
I/O POR T | R EAD | WR ITE |
|
|
|
1F0h | Data Register | Data Register |
1F1h | Error Register | F eatures Register |
|
|
|
1F2h | Sector Count | Sector Count |
1F3h | Sector Number | Sector Number |
|
|
|
1F4h | C ylinder Low | C ylinder Low |
|
|
|
1F5h | C ylinder High | C ylinder High |
1F6h | Drive/Head (SD H) | Drive/Head (SD H) |
|
|
|
1F7h | Status Register | C ommand Register |
Data Register
Provides access to the drive’s sector buffer for read and write operations. With the exception of ECC byte transfers (which, during Read long and Write long commands, are 8 bits wide), data transfers through the Data register are all 16 bits wide.
Error Register
A
Issuing any command (apart from a Diagnostic command) places the controller into operational mode.
In operational mode, the Error register is valid only when the Error bit in the Status register is set. The bit definitions for operational mode follow:
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|
|
|
|
|
|
|
|
0 | EC C | 0 | ID NF | 0 | ABRT | TK0 | AMNF |
|
|
|
|
|
|
|
|
Interface | D ata | Not | ID | Not | Aborted | Track 0 | Address |
C RC | ECC Error | Us ed | Not Found | Us ed | Command | Error | Mark Not |
|
|
|
|
|
|
| Found |
Interface CRC – An interface CRC error occurred during an Ultra DMA transfer.
Data ECC Error – An
Firmware Problem – Indicates a firmware problem was detected, (e.g., invalid interrupt, divide overflow). ID Not Found – Either a matching ID field not found, or a CRC error occurred.
Aborted Command – Invalid commands, write fault, no seek complete, or drive not ready. Track 0 Error – Track 0 was not found during execution of a Restore command.
Address Mark Not Found – The Address Mark could not be found after an ID match.
Features Register
Enables or disables features through the Set Features command.
6 – 1