5.24READ LONG Command (3Eh)

The READ LONG command is used in conjunction with the WRITE LONG command to allow the initiator to issue raw reads and writes of physical data blocks, but address them as logical blocks with an assumed sector length of 512 bytes. These two commands are used to verify the correction capability of the drive’s ECC and to create a known kind and location to verify the drive’s recovery and bad sector handling policies. The data format and field descriptions are shown in Table 5-140and Table 5-141respectively.

Table 5-140READ LONG Command Descriptor Block-Data Format

Bit

7

6

5

 

4

 

3

 

2

1

0

Byte

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

Operation

Code (3Eh)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

Reserved

 

 

 

 

Correct

RelAdr

 

 

 

 

 

 

 

 

 

2 - 5

 

 

 

 

Logical Block Address

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

Reserved

 

 

 

 

 

 

 

 

 

 

 

7 - 8

 

 

 

Byte Transfer Length (578)

 

 

 

 

 

 

 

 

 

 

 

 

 

9

 

 

 

 

 

Control

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Table 5-141READ LONG Command Descriptor Block-Field Descriptions

 

 

Field

Description

 

 

 

When the value in this field is 1, the drive corrects the data by the ECC before transferring it to

Correct

the initiator. When the value is 0, the drive does not perform ECC correction on the data.

NOTE: This bit, not the DCR bit of the Read Recovery page, governs the effect of error correction

 

 

for the READ LONG command.

 

 

RelAdr

Relative addressing is not supported by the drive. This value must be 0.

 

 

Logical Block Ad-

Specifies the logical sector to read.

dress

 

 

Must be 578. This value reflects the number of bytes spanned by the ECC, including the ECC it-

Byte Transfer Length

self, rounded up to the next word (this is easiest understood in bits: 4096 data bits + 1 force error

bit + 15 Logical Block Address bits + 16 cross check bits + 2 pad bits + 480 ECC bits + 6 pad bits

 

that are not written to media but are only needed for transfer = 4496 bits or 578 bytes). Any other

 

value in this field results in a CHECK CONDITION status and the appropriate sense data.

Table 5-142shows the format of the data that is returned during the READ LONG Command's data-in buffer transfer. The returned data always consists of 512 bytes of data, followed by a two LBA bytes, two EDC bytes, and 60 ECC-related bytes.

Table 5-142READ LONG Command-Returned Data

Bit

7

6

5

 

4

3

2

1

0

Byte

 

 

 

 

 

 

 

 

 

 

0 - 511

 

 

 

 

Data (512

Bytes)

 

 

 

 

 

 

 

 

 

512 - 513

 

 

Logical Block Address Bits + Force Error Bit

 

 

 

 

 

 

 

 

 

 

 

514 - 515

 

 

 

 

EDC (8 Bits)

 

 

 

 

 

 

 

 

 

 

 

516 - 577

 

 

 

60 ECC Bits + 8 Pad Bits

 

 

 

 

 

 

 

 

 

 

 

 

 

5-102 Maxtor Atlas 10K V