Cheaper, Denser NAND Requires Better Error Correction
Stephen Bates, PMC-Sierra
EETimes (7/20/2015 02:30 PM EDT)
Solid-state drives (SSDs) have exploded in popularity as their prices dropped, driven by ever-diminishing NAND flash costs, but this less expensive and denser NAND flash requires better error correction codes (ECCs) in SSD controllers.
Traditionally, Bose-Chaudhuri-Hocquenghem (BCH) codes were used. They were more than adequate for large geometry NAND flash. However, cheaper and denser SSDs means BCH is no longer adequate and the search for alternatives has led most controller vendors to settle on low-density parity check (LDPC) codes.
There are several reasons why we are transitioning from BCH to LDPC, but they can all be boiled down to this: LDPC codes allow you to correct more errors for the same ratio of user data to ECC parity. The second part of this last sentence is really important. We don’t want to increase the number of ECC parity bits in SSDs because this leads to nasty things like write amplification (WA), format inefficiencies and increase costs.
So why didn’t we just use LDPC codes right from the start if they’re so good?
To read the full article, click here
Related Semiconductor IP
- LDPC Encoder/Decoder IP Core
- LDPC (1723,2048) IIP
- eMMC LDPC Encoder/Decoder
- LDPC Decoder for 5G NR and Wireless
- DVB-S2X Wideband LDPC BCH Decoder
Related White Papers
- Using PLDs for Algorithm Acceleration - Faster, Better, Cheaper
- Multi-Channel Multi-Rate (MCMR) Forward Error Correction (FEC) - IP for High Speed Networking Applications
- SoC Test and Verification -> Leveraging memory for better fault tolerance
- When Dis-integration is a better solution
Latest White Papers
- What tamper detection IP brings to SoC designs
- Analyzing Modern NVIDIA GPU cores
- RISC-V in 2025: Progress, Challenges,and What’s Next for Automotive & OpenHardware
- Leveraging RISC-V as a Unified, Heterogeneous Platform for Next-Gen AI Chips
- Design and implementation of a hardened cryptographic coprocessor for a RISC-V 128-bit core