ECC Code Word Distribution Across Storage Strings
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Non-volatile storage devices like Flash memory have varying error rates across different storage locations, leading to uneven error correction requirements for ECC code words, which can increase storage and processing overheads due to the need for stronger error correction codes.
Innovation Solution
A method and apparatus for distributing the storage of ECC code words across multiple memory elements with different error rates, where portions of an ECC code word are stored in locations with varying reliability to level out error rates, thereby optimizing storage capacity and processing efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a stronger ECC is used to correct errors in all ECC code words, then error correction capability is improved, but storage overhead increases due to more redundant data
Solution Approach 1:
The patent applies local quality by distributing different portions of the same ECC code word to storage locations with different error rates. Specifically, it separates the ECC code word into multiple portions and stores them in different memory regions (e.g., SLC and MLC regions), allowing each portion to benefit from the error correction capabilities appropriate to its location's reliability characteristics. This resolves the contradiction by avoiding the need to use strong ECC across all locations, thereby reducing overall storage overhead while maintaining adequate error correction where needed.
2Reliability
If a stronger ECC is used to correct errors in all ECC code words, then error correction capability is improved, but processing overhead increases for encoding and decoding
Solution Approach 1:
The patent reduces processing overhead by applying different error correction strategies to different portions of ECC code words based on their storage locations. By storing portions in regions with different error rates and applying appropriate ECC strengths locally, the system avoids the computational burden of uniformly applying strong ECC to all data, thus improving processing efficiency while maintaining reliability.
3Quantity of substance
If ECC code words are stored in locations with higher error rates, then storage capacity utilization is improved, but error rates increase requiring stronger ECC
Solution Approach 1:
The patent segments the ECC code word into multiple portions and distributes them across storage locations with different error rates. This segmentation allows the system to utilize high-capacity storage regions (with higher error rates) for some portions while protecting critical portions in more reliable regions. The segmentation strategy enables better storage capacity utilization without requiring stronger ECC for all data, as each segment can be protected according to its specific location's characteristics.
Solution Approach 2:
By applying local quality principles, the patent tailors the error protection strategy to each storage location's characteristics. Portions stored in high-error-rate locations receive appropriate protection levels matched to their environment, optimizing the balance between storage capacity utilization and error rate management without unnecessarily strengthening ECC across the entire code word.
Data Source
AI summary
Apparatuses, systems, methods, and computer program products are disclosed for distributing error-correction codes. A correction module is configured to determine an error correction code (ECC) code word for storage on one or more non-volatile storage media. A mapping module is configured to determine one or more addresses for the ECC code word so that a portion of the ECC code word is stored at a first physical address within a first set of strings of storage cells of the one or more non-volatile storage media and a portion of the ECC code word is stored at a different physical address within a second set of strings of storage cells of the one or more non-volatile storage media. A storage module is configured to cause the ECC code word to be stored in the one or more non-volatile storage media based on the determined one or more addresses.


