Al Dykes said:
Which obviously you didn't bother to read or didn't understand a word of:
"
When a sector is written to the hard disk, the appropriate ECC codes
are generated and stored in the bits reserved for them. When the
sector is read back, the user data read, combined with the ECC bits,
*can tell the controller if any errors occurred during the read*.
Errors that can be corrected using the redundant information
are corrected before passing the data to the rest of the system.
* The system can also tell when there is too much damage to the *
* data to correct, and will issue an error notification in that event. *
The sophisticated firmware present in all modern drives uses
ECC *as part of its overall error management protocols*.
This is all done * "on the fly" * with no intervention from the user
required, and no slowdown in performance even when errors are
encountered and must be corrected.
"
http://www.storagereview.com/guide2000/ref/hdd/geom/errorRead.html
"
The hard disk's controller employs a sequence of sophisticated tech-
niques to manage errors that occur when reading data from the disk.
In a way, the system is kind of like a *troubleshooting flowchart*.
When a problem occurs, the simplest techniques are tried first, and
*if they don't work, the problem is escalated to a higher level*.
Every manufacturer uses different techniques, so this is just a rough
example guideline of how a hard disk will approach error management:
ECC Error Detection: The sector is read, and error detection is applied
to *check for any read errors*. If there are no errors, the sector is
passed on to the interface and the read is concluded successfully.
ECC Error Correction: The controller will attempt to correct the error
using the ECC codes read for the sector. The data can be corrected
very quickly using these codes, normally "on the fly" with no delay.
* If this is the case, the data is fixed and the read considered successful. *
Most drive manufacturers consider this occurrence common enough that
* it is not even considered a "real" read error. *
An error corrected at this level can be considered "automatically corrected".
Automatic Retry: The next step is usually to wait for the disk to spin
around again, and retry the read. Sometimes the first error can be
caused by a stray magnetic field, physical shock or other non-repeating
problem, and the retry will work. If it doesn't, more retries may be done.
Most controllers are programmed to retry the sector a certain number
of times before giving up.
* An error corrected after a straight retry is often *
* considered "recovered" or "corrected after retry". *
Advanced Error Correction: Many drives will, on subsequent retries
after the first, invoke more advanced error correction algorithms that
are slower and more complex than the regular correction protocols, but
have an increased chance of success.
* These errors are "recovered after multiple reads" *
* or "recovered after advanced correction". *
Failure: If the sector still cannot be read, the drive will signal a read
error to the system.
* These are "real", unrecoverable read errors, the kind *
* that result in a dreaded error message on the screen. *
"
http://www.storagereview.com/guide2000/ref/hdd/geom/errorMapping.html
"Many drives are smart enough to realize that if a sector can only be read
after retries, the chances are good that something bad may be happening
to that sector, and the next time it is read it might not be recoverable.
For this reason, the drive will usually do something when it has to use
retries to read a sector
*(but usually not when ECC will correct the problem on the fly)*.
What the drive does depends on how it is designed."
"
From the Hitachi Deskstar 180 GXP manual :
"
9.11.1 Auto Reassign function
The sectors which show some errors may be reallocated automatically
when specific conditions are met.
The spare tracks for reallocation are located at regular intervals from
Cylinder 0. The conditions for auto-reallocation are described below.
9.11.1.1 Nonrecovered write errors
When a write operation cannot be completed after the Error Recovery
Procedure (ERP) is fully carried out, the sector(s) are reallocated to the
spare location. An error is reported to the host system only when the write
cache is disabled and the auto reallocation has failed.
If the Write Cache function is ENABLED when the number of available
spare sectors reaches 0 sector, both Auto Reassign function and Write
Cache function are automatically disabled.
9.11.1.2 Nonrecovered read errors
When a read operation has failed after defined ERP is fully carried out,
a hard error is reported to the host system.
* This location is registered internally as a candidate for reallocation *.
When a registered location is specified as a target of a write operation,
a sequence of media verification is performed automatically. When the
result of this verification meets the criteria, this sector is reallocated.
9.11.1.3 Recovered read errors
When a read operation for a sector has failed once and then has recovered
*at the specific ERP step*, this sector of data is automatically reallocated.
A media verification sequence may be run prior to the reallocation according
to the predefined conditions.
"
Note: Advanced Error Correction = ERP (Error recovery procedure)
Your beliefs are obviously dangerous.
data CDs have two layers of ECC, one in the media
layer, and one at something below the filesystem level.
I can't get a reference for this.)
How fortunate for you as it probably would prove you wrong again.
So to conclude:
ECC Error Correction:
*If this is the case, the data is fixed and the read considered successful*.
*it is not even considered a "real" read error*.
An error corrected at this level can be considered "automatically corrected".
Sparing:
Many drives are smart enough to realize that if a sector can only be read
after *retries*, the chances are good that something bad may be happening
to that sector, and the next time it is read it might not be recoverable.
For this reason, the drive will usually do something when it has to use
retries to read a sector.
Recovered read error bad sectors are spared only after the (a spe-
cific) ERP step (Advanced Error Correction step) has been entered.
A complete fabrication by someone who obviously hasn't got a clue.