Flash Memory Page Grouping for Error Correction in SSDs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional approaches to error management in flash memory, particularly in multi-level cell (MLC) flash memories, are inefficient in achieving low uncorrectable error rates over the total service life and traffic loads required in enterprise storage environments, leading to degradation in signal-to-noise ratio and reduced reliability.
Innovation Solution
The techniques involve grouping flash memory pages across multiple dies and managing them to reduce error floors and flares, allowing for efficient error correction and seamless operation despite die failures, using a method that includes organizing memory into block grids with page grids and page stripes, and employing adaptive error correction coding to minimize the impact of die failures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional BCH error correction coding is used in MLC flash memory, then the implementation is simple and cost-effective, but the uncorrectable error rate becomes too high for enterprise storage requirements
Solution Approach 1:
The patent divides the error correction task into two independent stages: first applying BCH coding at the page level, then applying Reed-Solomon coding at the block level. This segmentation allows each coding scheme to operate optimally within its domain, achieving enterprise-grade reliability without requiring a single overly complex code
Solution Approach 2:
The patent merges two different error correction coding schemes (BCH and Reed-Solomon) into a unified two-stage system. The BCH code handles page-level errors while Reed-Solomon handles block-level errors, creating a combined system that achieves reliability targets that neither code could achieve alone
2Quantity of substance
If flash memory density is increased with decreasing process technology, then storage capacity improves, but signal-to-noise ratio decreases due to charge loss, crosstalk, and thinner insulation
Solution Approach 1:
The patent transitions from single-page error correction to multi-page block-level error correction. By organizing pages into blocks and applying Reed-Solomon coding across the entire block, the system can tolerate errors that affect individual pages while maintaining overall data integrity, effectively adding a dimensional layer of protection
Solution Approach 2:
The patent预先 allocates spare pages within each block that are not used for user data but are reserved for error correction and data recovery. These spare pages act as a cushion that absorbs the impact of failures in user pages, allowing the system to maintain reliability even as density increases and error rates rise
3Ease of manufacture
If MLC flash memory is used instead of SLC, then cost is reduced and storage density is increased, but program/erase cycle lifetime is significantly reduced
Solution Approach 1:
The patent changes the error correction parameters dynamically based on the flash memory's wear state. As MLC cells degrade through program/erase cycles, the system can adjust the Reed-Solomon code strength and utilize spare pages more aggressively, extending the usable life of the memory beyond manufacturer specifications
Solution Approach 2:
The patent treats individual flash pages as disposable units that can fail without compromising the entire block. By using Reed-Solomon coding to reconstruct data from remaining good pages, the system can tolerate the failure of multiple pages, effectively making individual pages expendable and extending overall system lifetime
4Reliability
If more ECC parity data is stored per page, then error correction capability is improved, but storage efficiency decreases and write amplification increases
Solution Approach 1:
The patent merges the error correction capacity across multiple pages by creating blocks that combine several pages with their respective BCH parity. The Reed-Solomon code then operates on this combined data structure, allowing error correction capability to be shared across the entire block rather than being duplicated in each page, thereby improving storage efficiency
Data Source
AI summary
Apparatus and methods provide relatively low uncorrectable bit error rates, low write amplification, long life, fast and efficient retrieval, and efficient storage density such that a solid-state drive (SSD) can be reliably implemented using various types of memory cells, including relatively inexpensive multi-level cell flash. One embodiment intelligently coordinates remapping of bad blocks with error correction code control, which eliminates the tables used to avoid bad blocks.


