DataClinic - Data Recovery Services
FREE CONSULTATION
CALL: 0871 977 2525
  • Home
  • About Us
  • Services
    • Hard Disk Failure Explained
    • RAID & Server Recovery
    • Windows Data Recovery
    • Mac Data Recovery
    • External Drive Recovery
    • Advanced Data Recovery
    • Photograph Recovery
    • Sourcing Spare Parts
    • Disk Manufacturers
    • Tape Data Recovery
    • CCTV Data Recovery
    • SQL Data Recovery
    • Unix/Linux Data Recovery
  • Locations
    • DataClinic Cities
      • Birmingham
      • Glasgow
      • Liverpool
      • Leeds
      • London – City
      • London – Chiswick
      • Manchester
      • Northampton
      • Sheffield
      • Sunderland
    • DataClinic Regions
      • South East
      • North West
      • North East
      • West Midlands
      • Scotland
  • Blog
  • Resources
    • Troubleshooting
    • Our Case Studies
    • Legal information
  • Contact Us
  • Choose the Best
  • Facebook
  • Google
  • Twitter
Call Now: 0871 977 2525

Hard disk drives with CRC (Cyclic Redundancy Check) errors

What is CRC on hard disk drives ?:

During data transfer between hard disk & computer (for example when a file is opened, or data is saved to the hard disk), a technique known as CRC is used to ensure the non-corruption of this data during transfer. If an error is detected, a CRC error is generated and the data is re-transmitted.

CRC errors on hard drives:

Drives that produce CRC errors frequently have difficultly reconciling the data received with the transmitted. This can be for a variety or reasons such as poor cabling, hard disk microprogram corruption, or electronic related problems

Data recovery from hard disks suffering with CRC problems:

The likelyhood of successful data recovery is dependent on the cause of the problem and how long the problem has been occuring. Recovery can be relatively simple for electronic related issues, to complex if microcode corruption is involved. Additionally, there are several malicious programs that will cause Windows to report CRC errors.

CRC application on hard disk drives:

The most common method of checking for errors after data is transmitted is by checking the parity bit of a byte or word that is transmitted. The sign of the parity bit detected at the receiver has to match that of the transmitter. If there is a mismatch, an error is flagged. Likewise, Cyclic Redundancy Check (CRC) codes can be generated for each data transmission, and these should be identical at both the transmitter and the receiver. Any differences imply an error has occurred during transmission.

Nationwide
Recovery Centers


Learn More

Free Advice
and Consultation


Learn More

Proven
Success Rate


Learn More

CRC codes in the simplest form are generated by dividing the data to be transmitted by a predetermined divisor (or generator polynomial) using modulo-2 division. When dividing binary numbers, this can be evaluated using subtraction.

The difference between normal division and modulo-2 division in binary is that for modulo-2, XOR values are evaluated for the minuend and subtrahend. When the division is evaluated what results is a Quotient plus a Remainder.

The remainder is what constitutes the checksum. (The divisor or generator polynomial used for hard disk drives is defined as 11021h or x16 + x12 + x5 + 1)

A special feature of modulo-2 division is used for the detection of errors. In hard disk drives, the data sector is made up of 512 bytes. If this is extended by 2 bytes of 0 lengths, the new sector is 514 bytes in size. A checksum can be calculated for this 514 byte sector using modulo-2 and this will be 2 bytes in width. If the 2 zero width bytes of the 514 sector are replaced by the checksum evaluated, a method for detecting errors has been integrated into the sector.

This is because on calculating the checksum of this new 514 byte sector, this will result in a remainder of 0. If the remainder is not zero, it implies an error has occurred.

Therefore, when the device controller writes data on to the platters, it includes 2 bytes for the CRC checksum in each sector. On reading back the sectors, if the checksum is not equal to 0, then an error has occurred.

CRC checksums are also used to detect any errors during an Ultra-DMA data burst between the drive and the host pc. Both the device and host start with a seed of 4ABAh. A CRC checksum is then calculated for every transition during the DMA burst using the current CRC function and the 16-bit word being transmitted. On completion of the ultra-DMA burst, the host pc shall transmit its final calculated CRC function to the drive which then compares this to its own checksum. If there is a mismatch, it sets both the CRC flag and the ABRT flag in the device Error Register. NB. CRC checksums are only evaluated during ultra-DMA data transfer.

DataClinic on Twitter

  • dataclinicltd: @davidbyrne72 Not a problem at all - glad its sorted. Get in touch if we can help in the future at all!
    May 21, 2013

Our Posts

  • Data Recovery News ! – Data Clinic’s New Remote Data Recovery Service Is Just The Ticket !!

    May 20, 2013
  • Attention All Photographers… Here’s A Competition To Enter

    May 10, 2013

    Why We Are Number 1

    Our unique data recovery agreement with Seagate means we recover more data from more hard drives from more types of failure than any other UK data recovery company. More...

    Get in touch

    • 0871 977 2525
    • Contact Us
      • Twitter
      • Facebook
      • Google
      • None
    (c) 2013 DataClinic - Data Recovery Services