Interface
(19) WRITE MULTIPLE (X’C5’)
The WRITE MULTIPLE command performs the same tasks as the WRITE SECTOR(S) command except that this command sends the PIO Setup FIS before sending data blocks of multiple sectors. The PIO Setup FIS is sent only before the first data block is transferred, and it is not sent before any subsequent transfer of sector blocks.
The number of sectors per block is defined by a successful SET MULTIPLE MODE command. The SET MULTIPLE MODE command should be executed prior to the WRITE MULTIPLE command.
If the number of requested sectors is not divided evenly (having the same number of sectors [block count]), as many full blocks as possible are transferred, then a final partial block is transferred. The number of sectors in the partial block to be transferred is n where n = remainder of (“number of sectors”/”block count”).
If the WRITE MULTIPLE command is issued before the SET MULTIPLE MODE command is executed or when WRITE MULTIPLE command is disabled, the device rejects the WRITE MULTIPLE command with an ABORTED COMMAND error.
A disk write error that occurs during execution of the WRITE MULTIPLE command will be reported after a disk write operation has been attempted for the transferred blocks and partial block. The write operation stops at the sector where the error occurred (even if the write operation has not reached the end of the block). At this time, the number of remaining sectors (the error sector and subsequent sectors) and either cylinder, head, and sector addresses of the error sector (CHS mode) or the logical block address of the error sector (LBA mode) are set in the Shadow Block Register.
•Error reporting conditions
(1)A specified address exceeds the range where write operations are allowed (after a transfer of dummy data, ST = 51h, ER = 10h).
(2)The range where write operations are allowed will be exceeded by an address during a write operation (after a transfer of dummy data, ST = 51h, ER = 10h).
(3)A write fault was detected when the write cache was disabled
(ST = 71h, ER = 10h).
(4)While the write cache is enabled, if the status indicating a completed transfer (STS = 50h) is returned and a data write operation failed because a write fault was detected during the data write operation, Abort will be returned for all subsequent ATA commands (ST = 71h, ER = 04h). This state is cleared the next time that the device is turned on.
(5)The WRITE MULTIPLE command is disabled (ST = 51h, ER = 04h).
(6)A SATA communication error occurred (ST = 51h, ER = 14h).
(7)An error other than the above errors occurred (ST = 51h, ER = 04h).