INTERFACE COMMANDS
7 – 4
Set Multiple ModeSet Multiple Mode
Set Multiple ModeSet Multiple Mode
Set Multiple Mode
Enables the controller to perform Read and Write Multiple operations, and establishes the block count for
these commands. Before issuing this command, the Sector Count register should be loaded with the number
of sectors per block. The drives support block sizes of 2, 4, 8 and 16 sectors.
When this command is received, the controller sets BSY and examines the Sector Count register contents. If
they contain a valid and supported block count value, that value is loaded for all subsequent Read and Write
Multiple commands, and execution of those commands is enabled. An invalid and unsupported block count
in the register results in an Aborted Command error and disallows Read Multiple and Write Multiple
commands.
Write CommandsWrite Commands
Write CommandsWrite Commands
Write Commands
Write Sector(s)Write Sector(s)
Write Sector(s)Write Sector(s)
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)Write Verify Sector(s)
Write Verify Sector(s)Write Verify Sector(s)
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 BufferWrite Sector Buffer
Write Sector BufferWrite Sector Buffer
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. A disk write task begins to store the host
data to disk. Host write commands continue to be accepted and data transferred to the buffer until either
the write command stack is full or the data buffer is full. The drive may reorder write commands to optimize
drive throughput.