SSD Block Grouping for Wear Leveling and Garbage Collection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional solid state drives experience reduced performance due to the independent nature of garbage collection and wear leveling operations, which can lead to inefficient use of flash memory space and reduced lifespan as blocks become imbalanced in erase counts and valid data distribution.

Innovation Solution

A block grouping method that classifies blocks into high and low valid data count groups and establishes a link list based on erase counts, allowing for coordinated garbage collection and wear leveling operations to balance erase counts and release storage space effectively without significantly reducing performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If garbage collection and wear leveling operations are performed independently, then each operation can be executed with its own algorithm, but the flash memory blocks become imbalanced in erase counts and valid data distribution, reducing overall system performance and lifespan

Engineering Contradiction:
Improveoperational independenceVSAvoidblock balance
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent combines garbage collection and wear leveling operations into a unified block management system. Blocks are classified into active and inactive groups, and both operations draw from the same inactive block pool, ensuring coordinated execution and maintaining block balance while preserving the functional independence of each operation through shared state management.

Inventive Principle:
Principle #5Merging (Combining)

2Device complexity

If conventional independent operations are used, then implementation is simpler, but writable space reduces gradually and performance decreases over time

Engineering Contradiction:
Improveoperation managementVSAvoidwritable space
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent performs preliminary classification of blocks into active and inactive groups based on erase counts and valid data distribution. Inactive blocks are pre-identified and made available as a shared pool before garbage collection or wear leveling operations are needed, enabling efficient space reclamation without reducing performance over time.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If blocks with high erase counts are not managed properly, then wear leveling is not needed and operation is simpler, but specified blocks become overused and bad blocks are generated, reducing flash memory lifespan

Engineering Contradiction:
Improveblock managementVSAvoidflash memory lifespan
Core Design Contradiction:
Device complexityVSDuration of action of stationary object

Solution Approach 1:

The patent implements feedback mechanisms by continuously monitoring erase counts and valid data distribution across all blocks. This information is used to dynamically classify blocks into active and inactive groups and to select appropriate blocks for wear leveling operations, ensuring that high erase count blocks are properly managed and flash memory lifespan is extended.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9304903B2Block grouping method for solid state drive
Publication Date: 2016.04.05 SOLID STATE STORAGE TECH CORP
  • US9304903B2 patent drawing
  • US9304903B2 patent drawing
  • US9304903B2 patent drawing

AI summary

A block grouping method for a solid state drive includes the following steps. Firstly, plural blocks are classified into a high valid data count group and a low valid data count group according to valid data counts of respective blocks. An average erase count is set according to a specified number of blocks of the low valid data count group. A first block is selected from the high valid data count. A difference between the average erase count and a first erase count of the first block is calculated. If the difference exceeds a threshold value, a wear leveling operation is performed on the first block.