Dynamic SLC-nSLC Block Reclassification for SSD Endurance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional wear leveling techniques in semiconductor memory devices do not efficiently optimize the use of both single-level cell (SLC) and non-single level cell (nSLC) blocks, leading to uneven wear and potential premature failure of SSDs, as they treat SLC and nSLC blocks separately without considering host workloads that can cause imbalance in program erase cycles (PEC) across different block pools.

Innovation Solution

A method is implemented where the memory controller dynamically reclassifies SLC blocks as nSLC blocks and vice versa based on specific criteria such as PEC counts and bit error rates (BER) to balance wear leveling across all memory block types, ensuring optimal performance and longevity by redistributing program erase cycles and adjusting bit error rates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional wear leveling treats SLC and nSLC blocks separately, then each block pool can be optimized individually, but the overall SSD wear leveling becomes unbalanced and suboptimal

Engineering Contradiction:
ImproveenduranceVSAvoidwear leveling efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges the separate wear leveling management of SLC and nSLC block pools into a unified system. The memory controller monitors program erase cycle counts across both pool types and dynamically transfers blocks between pools based on wear status, combining previously independent management systems into one coordinated approach that optimizes overall SSD endurance rather than individual pools.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements dynamic block pool management where blocks can be transferred between SLC and nSLC pools based on real-time wear conditions. The memory controller continuously monitors program erase cycle counts and adjusts block assignments dynamically, allowing the system to adapt to changing workload patterns and wear distribution rather than maintaining fixed pool assignments.

Inventive Principle:
Principle #15Dynamics

2Reliability

If SLC blocks are used extensively to optimize SLC pool performance, then SLC pool endurance improves, but nSLC blocks remain underutilized and overall SSD capacity is wasted

Engineering Contradiction:
ImproveSLC pool enduranceVSAvoidusable memory capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent changes the operational parameters of memory blocks dynamically based on their wear status. When SLC blocks reach certain program erase cycle thresholds, they are transferred to nSLC pool or have their operational characteristics adjusted. This parameter change allows the system to extend the usable life of blocks and maintain optimal performance while utilizing the full capacity of both SLC and nSLC pools effectively.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements a block recovery mechanism where blocks that have been heavily used in SLC pool and show signs of wear are transferred to nSLC pool for continued use. Instead of discarding worn SLC blocks, the system recovers them by reassigning to nSLC pool, thereby extending their useful life and maintaining overall SSD capacity utilization.

Inventive Principle:
Principle #34Discarding and recovering

3Quantity of substance

If nSLC blocks are used to optimize overall capacity utilization, then storage capacity improves, but SLC blocks may be overused and reach failure threshold prematurely

Engineering Contradiction:
Improvestorage capacityVSAvoidSLC block longevity
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where the memory controller continuously monitors program erase cycle counts in both SLC and nSLC pools. Based on this feedback, the system dynamically adjusts block assignments and transfers blocks between pools to maintain balanced wear distribution. This feedback loop prevents SLC blocks from being overused by detecting when they approach failure thresholds and redistributing workload accordingly.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary wear leveling actions by monitoring program erase cycle counts and transferring blocks between pools before critical wear thresholds are reached. This proactive approach prevents SLC blocks from being overused by anticipating wear accumulation and redistributing blocks to nSLC pool or less-worn SLC blocks before failure conditions develop.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10817187B2Balancing the block wearing leveling for optimum SSD endurance
Publication Date: 2020.10.27 SANDISK TECHNOLOGIES LLC
  • US10817187B2 patent drawing
  • US10817187B2 patent drawing
  • US10817187B2 patent drawing

AI summary

In one embodiment, there is a method for implementing balancing block wearing leveling at a storage device including one or more single level cell (SLC) blocks in a SLC block pool and one or more non-single level cell (nSLC) blocks in a nSLC block pool for storing data and a memory controller for performing operations on the SLC blocks and nSLC blocks, the method comprising: at the memory controller: receiving a first request to perform a wear leveling operation on a respective block pool of one of: the SLC block pool and the nSLC block pool; determining whether one or more blocks in the respective block pool meet block pool transfer criteria; in response to a determination that the one or more blocks in the respective block pool meets block pool transfer criteria, reclassifying the one or more blocks in the respective block pool as the other of the SLC block pool and the nSLC block pool; and in response to a determination that the one or more blocks in the respective block pool does not meet block pool transfer criteria, refraining from reclassifying the one or more blocks in the respective block pool as the other of the SLC block pool and the nSLC block pool.