SSD Controller ECC Allocation for Variable RAID Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional SSD systems face inefficiencies due to varying endurance of flash memory blocks, leading to increased bit errors over the device's lifecycle, which affects storage capacity and reliability, as they are often provisioned for the worst-performing blocks, resulting in premature failure.

Innovation Solution

The SSD controller dynamically adjusts the size of the error correction code (ECC) and data portions within flash pages based on block conditions, using variable-sized ECC and data portions, and introduces Check Pages for additional error correction, allowing for tailored error correction strategies across different block states to extend the device's lifespan.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional SSD systems are provisioned according to the worst-performing blocks, then reliability is maintained, but storage capacity is reduced and device lifespan is shortened

Engineering Contradiction:
Improvestorage reliabilityVSAvoidstorage capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies local quality by implementing different ECC protection levels for different blocks based on their individual health status. Blocks are categorized into health groups (e.g., healthy, degraded, critical) and each group receives appropriate ECC strength. This allows the system to maintain high reliability for degraded blocks without unnecessarily reducing capacity for healthy blocks, thereby resolving the contradiction between reliability and storage capacity.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements dynamic ECC adjustment where the controller continuously monitors block health metrics (program/erase cycle counts, error rates) and adapts the ECC protection level accordingly. As blocks degrade over time, the system dynamically increases ECC strength for affected blocks while maintaining standard protection for healthy blocks. This dynamic approach allows the system to optimize both reliability and capacity throughout the device lifespan.

Inventive Principle:
Principle #15Dynamics

2Reliability

If ECC strength is increased for all blocks, then error correction capability is improved, but storage capacity is reduced

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

Solution Approach 1:

The patent applies local quality by implementing different ECC protection levels for different blocks based on their individual health status. Blocks are categorized into health groups (e.g., healthy, degraded, critical) and each group receives appropriate ECC strength. This allows the system to maintain high reliability for degraded blocks without unnecessarily reducing capacity for healthy blocks, thereby resolving the contradiction between reliability and storage capacity.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the ECC parameter (protection level) based on block health conditions. The controller monitors block metrics and adjusts the ECC strength parameter dynamically - using stronger ECC codes (e.g., moving from BCH to Reed-Solomon) for degraded blocks while maintaining weaker ECC for healthy blocks. This parameter adaptation resolves the contradiction by optimizing ECC strength to match actual block conditions rather than applying uniform protection.

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If uniform ECC protection is applied to all blocks, then implementation is simplified, but efficiency is reduced due to over-provisioning

Engineering Contradiction:
Improveimplementation simplicityVSAvoidstorage efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent applies local quality by implementing different ECC protection levels for different blocks based on their individual health status. Blocks are categorized into health groups (e.g., healthy, degraded, critical) and each group receives appropriate ECC strength. This allows the system to maintain high reliability for degraded blocks without unnecessarily reducing capacity for healthy blocks, thereby resolving the contradiction between reliability and storage capacity.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements dynamic ECC adjustment where the controller continuously monitors block health metrics (program/erase cycle counts, error rates) and adapts the ECC protection level accordingly. As blocks degrade over time, the system dynamically increases ECC strength for affected blocks while maintaining standard protection for healthy blocks. This dynamic approach allows the system to optimize both reliability and capacity throughout the device lifespan.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9059736B2Methods, solid state drive controllers and data storage devices having a runtime variable raid protection scheme
Publication Date: 2015.06.16 WESTERN DIGITAL TECHNOLOGIES INC
  • US9059736B2 patent drawing
  • US9059736B2 patent drawing
  • US9059736B2 patent drawing

AI summary

A data storage device may comprise a flash controller and an array of flash memory devices coupled to the flash controller. The array may comprise a plurality of S-Pages that may each comprise a plurality of F-Pages. In turn, each of the plurality of F-Pages may be configured to store a variable amount of data and a variable amount of error correction code. The flash controller may be configured to generate an error correction code across each F-Page of an S-Page and to store the generated error correction code within one or more F-Pages having the largest amount of data.