Flash Memory Variable Code Rate Adaptation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Flash memory technologies waste resources by using a fixed, high-strength error correction scheme throughout its operational life, despite varying bit error rates, leading to reduced data capacity due to excessive parity data storage.
Innovation Solution
The system dynamically adjusts the size of code words by varying the strength of parity data based on the current bit error rate, using metadata to track performance parameters and select appropriate code indices, allowing for stepwise changes in error correction coding strength to match the memory location's needs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a fixed, high-strength error correction scheme is used throughout the operational life of flash memory, then data reliability is improved, but data capacity is reduced due to excessive parity data storage
Solution Approach 1:
The patent applies dynamics by transitioning from a static, fixed error correction scheme to a dynamic one that adapts to the memory device's operational state. The system monitors program/erase cycle counts and bit error rates, then adjusts the error correction code strength accordingly. This allows the parity data size to vary based on actual wear and error conditions, optimizing the balance between reliability and data capacity throughout the device's life cycle.
Solution Approach 2:
The patent implements parameter changes by modifying the error correction code parameters (code rate, block size, parity data size) based on monitored conditions. As the memory device accumulates program/erase cycles and bit error rates increase, the system changes the code rate from higher values (less parity) to lower values (more parity), thereby adapting the error correction strength to match the actual reliability needs at different stages of device operation.
2Reliability
If a fixed, high-strength error correction scheme is used throughout the operational life of flash memory, then bit error correction capability is improved, but write amplification is increased
Solution Approach 1:
The system dynamically adjusts error correction strength based on the memory device's wear state and error rate. In early operational stages with low bit error rates, a lighter error correction scheme is used, reducing the amount of parity data that must be written and read. This dynamic adaptation minimizes write amplification during periods when high error correction capability is not yet necessary.
Solution Approach 2:
The patent applies partial action by using only the necessary amount of error correction capability required at each stage of device operation. Instead of consistently applying maximum error correction strength, the system uses a tailored level of correction appropriate to the current bit error rate, thereby avoiding the excessive write operations that would result from always using the strongest correction scheme.
3Reliability
If parity data size is increased to correct more bit errors, then error correction capability is improved, but available memory for user data is reduced
Solution Approach 1:
The patent changes the error correction parameters adaptively based on the memory device's operational state. The code rate, which determines the ratio of user data to parity data, is adjusted according to monitored bit error rates and program/erase cycle counts. This allows the system to maximize user data capacity during early operation when errors are rare, and increase parity data size only when and where actually needed to correct emerging bit errors.
Solution Approach 2:
The system dynamically reallocates the balance between user data and parity data based on actual error conditions. As the memory device accumulates wear and bit error rates increase, the system transitions from a data-capacity-optimized mode to a reliability-optimized mode, adjusting the code rate to allocate more resources to error correction when necessary and more to user data when the device is still healthy.
Data Source
AI summary
Method and apparatus for managing data in a memory, such as a flash memory. In accordance with some embodiments, the apparatus has a solid-state non-volatile memory and a processing circuit configured to write data to a selected location of the memory. The data are arranged in the form of multi-bit code words each comprising a user data payload and associated parity data configured to correct one or more bit errors in the user data payload. The processing circuit adjusts at least a selected one of a size of the code words, a size of the user data payloads or a size of the parity data responsive to at least a selected one of an accumulated count of access operations upon the selected location or an error rate associated with the selected location.


