Spinpoint M8-DVR OEM Product Manual REV 1.0
73
8.2.40 Write Long (32h)
This command is obsolete in the ATA7 specification. The supporting of this command is for backward
compatibility purpose. The use of this command is beyond the ATA standard and not recommended by the
manufacturer.
This command is similar to the Write Sectors command, except that it writes the data and the ECC bytes
directly from the sector buffer; the drive does not generate the ECC bytes itself. Only single sector Write
Long operations are supported. The transfer of the ECC bytes shall be 8 bits wide and 4 or device native
ECC bytes length.
8.2.41 Write Multiple Command (C5h, 39h: extended)
This command is similar to the Write Sectors command. Interrupts are not presented on each sector but on
the transfer of a block which contains the number of sectors defined by Set Multiple.
Command execution is identical to the Write Sectors operation, except that the numbers of sectors defined by
the Set Multiple command are transferred without intervening interrupts. DRQ qualification of the transfer is
required only at the start of the data block, not on each sector.
The block count of sectors to be transferred without intervening interrupts is programmed by the Set Multiple
Mode command, which shall be executed prior to the Read Multiple command.
When the Write Multiple command is issued, the Sector Count register contains the number of sectors (not
the number of blocks or the block count) requested.
If the number of requested sectors is not evenly divisible by the block count, as many full blocks as possible
are transferred, followed by a final, partial block transfer. The partial block transfer is for n sectors, where
n = Remainder (Sector Count / Block Count)
If the Write Multiple command is attempted before the Set Multiple Mode command has been executed, or
when Write Multiple commands are disabled, the Write Multiple operation is rejected with an aborted
command error.
Disk errors encountered during execution of Write Multiple commands are posted after the attempted disk
write of the block. Interrupts are generated when DRQ is set at the beginning of each block or partial block.
The contents of the Command Block registers, following the transfer of a data block which had a sector in
error, are undefined. The host should retry the transfer as individual requests to obtain valid error information.
8.2.42 Write Sector(s) (30h, 34h: extended)
This command writes from 1 to 256 sectors, as specified in the Sector Count register (a sector count of zero
requests 256 sectors), beginning at the specified sector. Refer to Section 6.7 for the DRQ, IRQ and BSY
protocol on data transfers.
If the drive is not already on the desired track, an implied seek is performed. Once at the desired track, the
drive searches for the appropriate ID field.