Flash Memory Variable Code Rate Adaptation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata reliabilityVSAvoiddata capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improvebit error correction capabilityVSAvoidwrite amplification
Core Design Contradiction:
ReliabilityVSLoss of energy

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #16Partial or excessive action

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

Engineering Contradiction:
Improveerror correction capabilityVSAvoidavailable memory for user data
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #35Parameter changes

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.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9201728B2Memory device with variable code rate
Publication Date: 2015.12.01 SEAGATE TECH LLC
  • US9201728B2 patent drawing
  • US9201728B2 patent drawing
  • US9201728B2 patent drawing

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.