laitimes

Advantages of SSD ECC - "Error Correction Code"

There is an ECC error correction module on the SSD controller, and some flash memory also integrates an ECC error correction module. Commonly used flash ECC error correction algorithms include BCH (the first letter of the names of Bose, Ray -Chaudhuri and Hocquenghem) and LDPC (Low Density Parity Check Code). Many SSD controllers on the market today use BCH, but LDPC is becoming a trend.

Advantages of SSD ECC - "Error Correction Code"

The user data is eventually written on the flash page. In addition to user space, flash page space has additional over-provisioning space that can be used to write ECC validation data. The size of the user data is fixed and requires stronger error correction capabilities, which requires more ECC space. Therefore, the error correction strength is limited to the over-provisioning of the flash page. The more over-provisioned space, the more error-corrective the ECC will be.

Currently, the vast majority of SSDs use static ECC error correction schemes. The size of the ECC error correction unit (user data) and ECC calibration data is fixed throughout the SSD lifecycle, i.e. the error correction capability remains constant. Since flash memory has a small probability of bit flipping at the beginning of use, the probability of error gradually increases with the use of flash memory.

Advantages of SSD ECC - "Error Correction Code"

Therefore, some SSDs have begun to use dynamic ECC error correction schemes: fewer error correction codes have been used in order to store more user data in flash pages; with the use of SSDs, error correction capabilities need to be strengthened, and the smaller the proportion of user data in flash pages, the greater the proportion of error correction codes. Dynamic ECC Error Correction Scheme dynamically adjusts its ECC error correction capability as SSDs are used.

Advantages of SSD ECC - "Error Correction Code"

If you start with less ECC calibration data, you can write more user data per page, which is equivalent to more OPs (Over Provisioning) on the SSD, reducing write amplification; at the same time, writing or reading flash channels from the controller, the more user data, the higher the bandwidth usage.

In fact, the advantages of dynamic ECC are not only reflected in the ability of ECC error correction to change over time, but also in the flash memory position of the SSD. Every Die and even every flash page has different error correction capabilities. In SSD flash arrays, some Die may be of better quality and some Die may be of worse quality. A good Die can use fewer ECC error correction codes; conversely, a bad Die needs stronger ECC error correction. For MLC, lower pages are more stable than upper pages, so weaker ECC protection can be used; conversely, upper pages require stronger ECC protection.

Therefore, the ECC error correction code has become an indispensable and important part of the due hard disk, and it plays its powerful error correction function.

Read on