Flash Memory Code Rate Switching for Capacity and Error Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Non-volatile flash memory has limited lifetime due to wear and tear, leading to increased error rates over time, which existing error correction mechanisms struggle to address effectively, especially when the memory is taken offline, requiring flexible code rate switching to balance storage capacity and error protection.

Innovation Solution

A system and method for dynamically switching the code rate in a data storage device based on a host command, allowing for flexible adjustment of parity data generation based on the expected lifecycle and usage conditions of the flash memory, enabling more efficient error correction and extended data retention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a higher code rate is used to encode data, then storage capacity of the flash memory is increased, but error protection capability deteriorates

Engineering Contradiction:
Improvestorage capacityVSAvoiderror protection capability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The code rate is made dynamic rather than fixed, allowing the system to switch between different code rates based on the flash memory's lifecycle stage and error characteristics. The controller dynamically adjusts the code rate from a higher rate (for storage capacity) to a lower rate (for error protection) as the memory wears and error rates increase, resolving the contradiction between storage capacity and error protection capability at different operational stages.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the code rate parameter based on monitored error rates and flash memory lifecycle. By adjusting this encoding parameter dynamically, the system optimizes the balance between storage capacity utilization and error protection, transitioning from higher code rates when errors are rare to lower code rates when error rates increase due to memory wear.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If a lower code rate is used, then error protection capability is improved, but storage capacity of the flash memory decreases

Engineering Contradiction:
Improveerror protection capabilityVSAvoidstorage capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The code rate switching mechanism allows the system to use lower code rates temporarily or selectively when error protection is critical (e.g., during offline periods or when error rates increase), while maintaining higher code rates during normal operation to preserve storage capacity. This dynamic adjustment resolves the contradiction by applying lower code rates only when necessary rather than continuously.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system applies lower code rates partially or selectively rather than universally - for example, only for specific data blocks experiencing higher error rates, or only during critical operational phases. This partial application of excessive error protection (lower code rate) minimizes the impact on overall storage capacity while providing enhanced protection where needed.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If code rate switching is implemented dynamically, then adaptability to different usage conditions is improved, but device complexity increases

Engineering Contradiction:
Improveadaptability to usage conditionsVSAvoidcontroller complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The code rate switching mechanism uses feedback from error rate monitoring and lifecycle tracking to automatically adjust the code rate. The controller continuously monitors flash memory health and error characteristics, then feeds this information back to the encoding module to select the appropriate code rate, enabling adaptability without requiring complex manual configuration or prediction algorithms.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10644727B2Code rate switching mechanism for flash memory
Publication Date: 2020.05.05 SANDISK TECHNOLOGIES LLC
  • US10644727B2 patent drawing
  • US10644727B2 patent drawing
  • US10644727B2 patent drawing

AI summary

A data storage system capable of switching a code rate based on a host command is disclosed. A controller of the data storage system may set a code rate in a data storage device to a first code rate for encoding data to be written to non-volatile memory of the data storage device. The controller may receive, at the data storage device, a host command indicating a switch point for switching the set code rate from the first code rate to a second code rate. The controller may switch the set code rate from the first code rate to the second code rate at the indicated switch point.