SSD Garbage Collection Handling Uncorrectable Read Errors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In SSDs, uncorrectable read errors can prevent garbage collection, leading to exhaustion of the GC destination logical block and inefficient use of storage space due to the coexistence of valid and invalid clusters within physical blocks.

Innovation Solution

A storage device and method that designates a GC original logical block even with uncorrectable read errors, performs garbage collection by reading data from physical blocks, creating a new logical block, and updating tables to associate physical blocks with the new logical block, thereby allowing garbage collection to proceed and preventing GC destination logical block exhaustion.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If garbage collection is performed by reading data from physical blocks, then storage space can be effectively reused, but uncorrectable read errors prevent the garbage collection process from completing

Engineering Contradiction:
Improvegarbage collection efficiencyVSAvoidread error handling
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by creating a new logical block and updating the mapping table before attempting to read data from physical blocks. This preliminary setup allows the system to continue garbage collection even when read errors occur, as the new logical block can serve as an alternative destination for valid data.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a new logical block as an intermediary between the GC original logical block and the storage system. This intermediary allows the garbage collection process to proceed by providing an alternative path for data migration when read errors occur in the original logical block.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If the size of the physical block increases, then storage capacity increases, but storage area cannot be utilized effectively due to coexistence of valid and invalid clusters

Engineering Contradiction:
Improvestorage capacityVSAvoidstorage utilization efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments the logical block structure by creating a new logical block separate from the GC original logical block. This segmentation allows independent management of data migration and enables effective utilization of storage space by clearly distinguishing between valid and invalid clusters across different logical blocks.

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If a read error occurs and cannot be corrected, then the cluster validity cannot be determined, but the patent allows designating a new logical block to continue garbage collection

Engineering Contradiction:
Improvegarbage collection continuityVSAvoidlogical block management
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent changes the parameter of logical block association by updating the mapping table to associate physical blocks with a new logical block instead of the original one. This parameter change enables the system to continue garbage collection operations despite read errors, maintaining operational continuity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11366751B2Storage device and storage control method
Publication Date: 2022.06.21 KIOXIA CORP
  • US11366751B2 patent drawing
  • US11366751B2 patent drawing
  • US11366751B2 patent drawing

AI summary

A storage device includes a nonvolatile memory with physical blocks each including a plurality of clusters, and a controller that maintains a first table storing a relationship between a logical address and a physical address of the cluster, and a second table storing a relationship between a logical block and physical blocks allocated thereto. The controller performs garbage collection processing which includes copying data read from valid clusters of the first logical block to a destination logical block, creating a new logical block when the data read contains an uncorrectable error, allocating the physical blocks of the first logical block to the new logical block, and updating the second table so that the physical blocks of the first logical block are associated with the new logical block and no physical blocks are associated with the first logical block.