Storage Controller Garbage Collection Invalidation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In storage systems, garbage collection processes are inefficient due to the need to copy and validate data, even when data is no longer needed, leading to increased latency and unnecessary resource usage.

Innovation Solution

A storage device with a controller that maintains a mapping of logical addresses to physical blocks, allowing for the identification and invalidation of data prior to garbage collection, reducing the need to copy unnecessary data during the process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If garbage collection copies all valid data from target physical blocks, then data integrity is maintained, but garbage collection latency increases and processing efficiency decreases

Engineering Contradiction:
Improvedata integrityVSAvoidgarbage collection efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary invalidation of data before garbage collection by receiving a list of logical addresses from the host and invalidating corresponding data in physical blocks. This preliminary action removes unnecessary data prior to the actual garbage collection process, so that when garbage collection runs, there is less data to copy, thereby improving efficiency while maintaining integrity of remaining valid data.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention extracts and removes invalid data from physical blocks before garbage collection. By taking out the unnecessary invalid data through invalidation operations, the garbage collection process only needs to handle valid data, reducing the copying workload and improving overall garbage collection efficiency without compromising data integrity.

Inventive Principle:
Principle #2Taking out (Extraction)

2Difficulty of detecting and measuring

If the storage device maintains a mapping of logical addresses to physical blocks, then data location tracking is improved, but device complexity increases

Engineering Contradiction:
Improvedata location trackingVSAvoidcontroller complexity
Core Design Contradiction:
Difficulty of detecting and measuringVSDevice complexity

Solution Approach 1:

The mapping structure serves multiple functions: it tracks data locations for garbage collection, enables invalidation operations, and maintains the relationship between logical and physical addresses. By making the mapping system multi-functional, the invention improves data location tracking capability without proportionally increasing controller complexity, as the same mapping structure is reused for multiple purposes.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If the host sends a list of logical addresses for invalidation, then unnecessary data copying is reduced, but communication overhead increases

Engineering Contradiction:
Improvegarbage collection speedVSAvoidcommunication time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The host sends a list of logical addresses that may include more addresses than strictly necessary (excessive action), ensuring that all potentially valid data is marked for invalidation. This partial list approach allows the storage device to efficiently process only the relevant data without requiring complete scanning of all blocks, reducing garbage collection time while the communication overhead is minimized by sending only necessary address information.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10936252B2Storage system capable of invalidating data stored in a storage device thereof
Publication Date: 2021.03.02 KIOXIA CORP
  • US10936252B2 patent drawing
  • US10936252B2 patent drawing
  • US10936252B2 patent drawing

AI summary

A storage device includes a non-volatile semiconductor storage device including a plurality of physical blocks, and a controller. The controller is configured to maintain a mapping of logical addresses to locations within the physical blocks, send, to a host, a first list that contains logical addresses corresponding to one or more target physical block that are targeted for garbage collection, and then receive, from the host, a second list that contains one or more logical addresses in the first list, and invalidate data stored in the logical addresses in the second list prior to the garbage collection.