Nuts and Bolts
One of LSI's core competencies has always been strong ECC techniques, which originated with their extensive hard drive controller experience. The addition of these new LSI SHIELD error correction technologies shows a sign of the mutual benefits from the LSI/SandForce acquisition.
LDPC (Low-Density Parity Check) is going to be utilized by many SSD manufacturers. There are so many different types of LDPC that it will require further investigation to understand the differing levels of LDPC from every manufacturer. Some forms of LDPC are generic, while others have increased functionality. The LSI SandForce SF3700 has six components to control their full LDPC suite.
Enabling advanced Low-Density Parity Check (LDPC) allows LSI SandForce to create a stable solution that meshes well with not only lower endurance MLC and TLC, but will also wring extra endurance out of current generation NAND as well. This is accomplished through a variety of techniques, including an adaptive method of adjusting the ECC level of during the life of the SSD.
Adaptive code rate uses lighter error correction in the early stages of NAND life, and increases the intensity of LSPC as the NAND ages and begins to generate more errors. The Adaptive Code Rate also requires less ECC data affixed to each NAND page, returning some capacity of the SSD to the controller and boosting performance. The LDPC engines tie in with DuraWrite to increase endurance and performance by providing the SSD with extra overprovisioning.
RAISE fulfills the need for data protection. RAISE (Redundant Array of Independent Silicon Elements) operates much like RAID 5, evenly distributing a layer of parity across all NAND dies. This is used to recreate data in the event of a die failure. This protection is already available on current generation LSI SandForce processors, though many consumer SSD manufacturers turn this functionality off to preserve capacity.
The new SF3700 family takes this level of protection one step further with the addition of a second level of RAISE that functions much like RAID 6, providing an extra layer of protection to handle the loss of two dies. This extra RAISE level is actually the impetus behind adding the ninth channel to the controller, and allows utilization of the full binary capacity of the SSD even when RAISE is enabled.
RAISE Level 2 also offers the automatic reallocation of another die worth of capacity to RAISE, restoring the same level of protection after a failure. The drive also has the option of just defaulting to RAISE 1 after the failure. There is also the ability to utilize Fractional RAISE, which allocates less than a single die of capacity to data protection. This proves useful in mobile applications, which have very few die, and with the larger capacity dies coming with future NAND shrinks.