SSD Garbage Collection Using ECC Syndrome Thresholds

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Garbage collection operations in solid state drives (SSDs) consume significant resources and bandwidth, leading to decreased efficiency and performance due to extensive data movement between host system memory and non-volatile memory.

Innovation Solution

Implementing a light-weight garbage collection system that utilizes an error correction code (ECC) module in the SSD controller to perform ECC functions during garbage collection, reducing data movement by reading data into a controller buffer, decoding errors, and writing error-free data to a destination page, while using a syndrome calculation module and data flip engine to manage error tolerance and reduce resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional garbage collection is performed by copying valid pages through host system memory, then data can be transferred between storage blocks, but resource consumption and bandwidth usage increase significantly

Engineering Contradiction:
Improvedata transfer reliabilityVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts the ECC decoding function from the host system and implements it directly in the storage device controller. This allows valid pages to be identified and copied within the storage device itself without requiring data to be extracted and moved through host system memory, thereby reducing resource consumption while maintaining data transfer reliability

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an intermediary ECC decoding module within the storage device controller that acts as a mediator between the source and destination blocks. This intermediary performs error correction and validation locally, enabling direct page copying within the storage device and eliminating the need for host system memory as an intermediary, thus reducing bandwidth usage and resource consumption

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If data is moved through host system memory during garbage collection, then pages can be copied from source to destination, but memory bandwidth requirements increase

Engineering Contradiction:
Improvegarbage collection efficiencyVSAvoidmemory bandwidth
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments the garbage collection process into two distinct phases: (1) ECC decoding and validation of source pages within the storage device controller, and (2) direct copying of validated pages to destination blocks within the storage device. This segmentation eliminates the need to move data through host system memory, thereby maintaining garbage collection efficiency while reducing memory bandwidth requirements

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The storage device controller performs self-service by implementing the ECC decoding and page validation functions internally without requiring host system memory involvement. The controller autonomously identifies valid pages, corrects errors, and copies them to destination blocks, enabling the storage device to service its own garbage collection needs and reducing dependency on host system resources

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11385833B2Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
Publication Date: 2022.07.12 CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD
  • US11385833B2 patent drawing
  • US11385833B2 patent drawing
  • US11385833B2 patent drawing

AI summary

A system is provided to receive, by a controller, a first request to read a first page of data stored in a storage device which comprises a plurality of non-volatile memory units. The system accumulates, by a calculation module, a syndrome associated with the first page of data to obtain a syndrome weight. In response to determining that the syndrome weight is less than a predetermined threshold, the system writes, by the controller, the first page of data to a destination page of the storage device. In response to determining that the syndrome weight is greater than the predetermined threshold and that a current number of retries is less than a predetermined number: the system executes a retry process between the calculation module and a data flip engine of the controller to update the syndrome weight; and the system increments the current number of retries.