This message is from the T13 list server.

The more realistic way of implementing ReadLong/WriteLong is as follows:

1)  Report that the drive has only 4 ECC bytes in the ID data (even if it 
has 200 ECC bytes).

2)  Host does a ReadLong of LBA N.  Drive returns data plus 4 ECC bytes 
AND SAVES THE REST 
OF THE ECC BYTES.

3)  Host alters some bits of the data and does a WriteLong back to LBA N 
( including the 4 ECC bytes.

4)  Drive writes the data and the FULL ECC back to the media.

5)  Host does a Read of LBA N.  Drive reads the media and returns an 
error OR the corrected data.

6A)  If an error is returned, the host knows that the data was 
uncorrectable, BUT the host also must realize that there could have been 
some OTHER error bits in the data which possibly caused the data to be 
uncorrectable.

6B) If NO error is returned, then the data should be the same as what the 
host wrote via the WriteLong command.


The WriteLong/ReadLong commands perform two valuable functions:

  1) They allow the Host to force an error thereby testing that the error 
reporting actually works.   This also has other uses (as reported by 
Raymond Liu.)

  2) They allow the Host to introduce correctable errors and test that 
the error correction actually works (i.e.  does not mis-correct).   If an 
error is returned then the assumption is that there was some OTHER error 
bit(s) read back incorrectly.   That is also useful information.


...Harlan




On 3/12/02, Hale Landis <[EMAIL PROTECTED]> wrote:
>This message is from the T13 list server.
>
>
>My favorite R/W Long implementation:
>
>1) Report that the drive has only 4 ECC bytes in the ID data (even if
>it has 200 ECC bytes).
>
>2) Host does a Write to LBA N: everything normal so far.
>
>3) Host does a Read Long to LBA N: return the cached data for LBA N
>plus four ECC data bytes of random data (whatever is in the Data
>register FIFO will do).
>
>4) Host does a Write Long to LBA N: execute the command and discard
>all data received.
>
>5) Host does a Read to LBA N: return the cached data for LBA N.
>
>Is this a broken drive? No, how can it be broken? The host put data
>in LBA N and the drive returned the same data.
>
>
>
>*** Hale Landis *** www.ata-atapi.com ***
>
>
>




Reply via email to