ENGLISH   |   ESPAƑOL
                              

Hard drive physical sectors architecture and data reading process.

When data is written to the drive it is encoded. The actual data itself is never written, only the interpretation of the data. If you are thinking that a drive contains 0's and 1's then you are thinking about it incorrectly. The data is more like a wave form being written to the drive. It has to be interpreted back on its way out before it becomes a 0 or a 1. Before the data is written the data is randomized. This eliminates patterns that might be the same so that ECC is not confused. It is difficult to do pattern detection on a pattern that appears over and over. The data structure that is written to the sectors is important to understand if you are using any diagnostic software. Many of them use common nomenclature to discuss the types of errors.
Common Error Codes and Diagnostic:
  • BSY - drive busy
  • DRDY - Drive ready to accept commands
  • ERR - The Last Result was an Error
  • DREQ -exchange data with host
  • UNCR-Uncorrectable Error
  • WRFT - Write Fault
  • IDNF- Sector ID Not Found . If the sector that holds this information is corrupt there is no way for the hard drive to locate this sector and it will return the result IDNF.
  • AMNF-Address Marker Not Found . This is similar to the IDNF but relates to the data. If there is an error and this marker is corrupt then the data for this sector cannot be located. The data in this area is 512 bytes of user data
  • ABRT- Command Aborted. - is an abort error and it will discontinue trying to read that block
  • TONF - Track 0 not found
  • ECC is that there is a problem reading from ECC and it does not match. ECC is used to check the integrity of the data being read. When the data is read the drive calculates the ECC and compares. If there is an error the drive will retry until it cannot get a correct result and then will return the UNCR error
  • UNCR-Uncorrectable Error
  • WRFT - Write Fault
Heads use servo info to identify the correct track. Then the heads read each and every sector ID block to determine if it is the correct one using the "translator." If the ID field is corrupt there is nothing to identify what the data is looking for and it will flag the IDNF (ID Not Found) error. If it finds the correct sector ID, the heads then would read the Address Marker for the 512 bytes of data that go with that location. If this info is corrupt then the heads cannot locate the beginning of the data and will return the AMNF (Address Marker Not Found) error. An AMNF error means that the ID Marker info WAS found but that the data in the markers that goes with that address were NOT found, again losing 512 bytes of user data.

After the data is written, a 4 byte block of ECC data is written. After the 512 bytes are read the drive will calculate the ECC Info and reads the ECC blocks of data and compares them. If they are not equal then the drive re-reads the data until timeout occurs causing the ECC data error. If it is not able to re-read and correct the error it will cause the UNC flag to state that the data in error is uncorrectable. It is possible to do a data recovery ignoring ECC but you will have no way to verify that the data read was correct. This should be done as the last phase to capture the data that could not be read any other way. Heads use servo info to identify the correct track. Then the heads read each and every sector ID block to determine if it is the correct one using the "translator." If the ID field is corrupt there is nothing to identify what the data is looking for and it will flag the IDNF (ID Not Found) error.

The drive tries several different ways to re-read the data before giving up, most of them using ECC. It is possible for ECC to improperly correct data under certain circumstances if the data occurs in a certain order. ECC read commands use ODD numbering of at least 3 so as not to cause a 50/50 chance in the selection of 2. Read ignoring ECC is an LBA 28 command "Read Long" and it was disabled in 48 bits as it was determined to be obsolete in drives over 137 gigs. No Read Ignore ECC is available after 137 gigs. Standard attempts are tried and usually are 10 tries in most hard drives. Reading a drive ignoring ECC can cause possible corruption in the data, but sometimes it is the only way to get the data in those sectors if there is a problem with the PCB or the ECC cannot read the data correctly.
Share:
Hard Drive Data Recovery Services