4.4 Maintenance, Diagnostic Commands
C141-C013 277
4.4.6 WRITE LONG (3F)
Bit
Byte 7 6 5 4 3 2 1 0
0 X'3F'
1 0 0 0 0 0 0 0 0
2 Logical Block Address (MSB)
3 Logical Block Address
4 Logical Block Address
5 Logical Block Address (LSB)
6 0 0 0 0 0 0 0 0
7 Transfer Byte Length (MSB)
8 Transfer Byte Length (LSB)
9 0 0 0 0 0 0 0 0
This command writes the data block data transferred from the INIT, together with
the ECC to form bytes, in the logical data blocks on the disk media specified in
the "Logical block address" field in the CDB. Normally, this command is used
for checking the ECC function in combination with the READ LONG command.
The object of this command's operation is only 1 data block. Also, the data
transferred from the INIT by this command must have the same order and the
same length as the data transferred to the INIT from the HDD by the READ
LONG command.
The "Transfer byte length" field in the CDB indicates the number of bytes of data
transferred from the INIT by this command. When the "Transfer byte length"
specification is zero, this command is terminated normally without performing
anything.
If a value specifying a length (other than zero) that does not match the data format
on the disk media is specified in the "Transfer byte length" field in the CDB, that
command is terminated with a CHECK CONDITION status without data being
transferred to the INIT. The sense data at this time indicate the following
contents and the INIT can determine the correct "Transfer byte length" from their
contents.