Specifications

INTERFACE COMMANDS
7 – 43
Write Commands
Write Sector(s)
Writes from 1 to 256 sectors, beginning at a sector specified in the Command Block. (A sector count of 0 requests 256
sectors.)
When the Command register is written, the drive sets the DRQ bit and waits for the host to fill the sector buffer with the
data to be written. An interrupt is not generated to start the first buffer fill operation.
Once the buffer is full, the drive resets DRQ, sets BSY, and begins command execution. If the drive is not already on the
desired track, an implied seek is performed.
The data loaded in the buffer is written to the data field of the sector, followed by the ECC bytes. Upon command
completion, the Command Block registers contain the cylinder, head and sector number of the last sector written. The
next time the buffer is ready to be filled during back-to-back Write Sector commands, DRQ is set and an interrupt is
generated.
After the host fills the buffer, DRQ is reset and BSY is set. If an error occurs, Write Sector operations terminate at the
sector containing the error.
The Command Block registers then contain the numbers of the cylinder, head and sector where the error occurred. The
host may read the Command Block to determine the nature of that error, and on which sector it happened. A Write Long
may be executed by setting the Long bit in the command code. The Write Long command writes the data and the ECC
bytes directly from the sector buffer; the drive itself does not generate the ECC bytes. Restrict Write Long commands to
PIO Mode 0.
Write Verify Sector(s)
Identical to the Write Sector(s) command, except that the requested sectors are verified immediately after being written.
The verify operation reads (without transferring), and checks for data errors. Any errors encountered during this operation
are reported.
Write Sector Buffer
Allows the host to overwrite the contents of the drive’s sector buffer with a selected data pattern. When this command is
received, the drive:
1. Sets BSY,
2. Sets up the sector buffer for a write operation,
3. Sets DRQ,
4. Resets BSY and
5. Generates an interrupt.
The host may then write up to 256 words of data to the buffer.
Write Multiple
Performs similarly to the Write Sector(s) command, except that:
1. The controller sets BSY immediately upon receipt of the command,
2. Data transfers are multiple sector blocks and
3. The Long bit and Retry bit is not valid.
Command execution differs from Write Sector(s) because:
1. Several sectors transfer to the host as a block without intervening interrupts.
2. DRQ qualification of the transfer is required at the start of the block, not on each sector.