Host-Assisted Sub-Page Garbage Collection for SSDs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing solid-state mass storage devices face inefficiencies in garbage collection, particularly when dealing with data structures smaller than a page, as they cannot effectively identify and manage invalid sub-page data, leading to reduced storage capacity and performance.

Innovation Solution

A host-assisted garbage collection system that allows the host computer system to analyze and manage data at a sub-page level, identifying and removing invalid data structures, reorganizing valid data into new structures, and writing them back to the solid-state mass storage device, thereby enabling more efficient use of storage space and reducing write amplification.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional page-based garbage collection is used, then the storage device can manage data at the page level, but it cannot effectively identify and manage invalid sub-page data structures, leading to reduced storage capacity and performance

Engineering Contradiction:
Improvedata validity detection precisionVSAvoidgarbage collection efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent segments the data validity detection process into two levels: the storage device performs page-level segmentation (reading and identifying candidate pages), while the host computer performs sub-page level segmentation (analyzing data structures within pages to identify invalid portions). This segmentation allows precise identification of invalid sub-page data without requiring the storage device to handle complex sub-page analysis, thus improving detection precision while maintaining garbage collection efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The host computer acts as an intermediary between the storage device and the garbage collection process. The storage device provides page-level information to the host, which then performs sophisticated sub-page level validity analysis using application knowledge. This intermediary approach enables precise invalid data identification without burdening the storage device with complex processing, resolving the contradiction between detection precision and collection efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the storage device performs full garbage collection on pages containing mixed valid and invalid data structures, then all invalid data can be removed, but valid data must be rewritten unnecessarily, increasing write amplification

Engineering Contradiction:
Improvedata integrityVSAvoidwrite amplification
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts only the invalid data structures from pages during the garbage collection process. The host computer analyzes each page to identify specific invalid data structures and extracts only those portions for removal. This extraction approach allows the system to remove invalid data while preserving valid data structures, eliminating unnecessary rewrites and reducing write amplification while maintaining data integrity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies local quality by treating different portions of a page differently based on their validity status. Instead of treating entire pages as uniformly valid or invalid, the system identifies and processes only the specific sub-page regions containing invalid data structures. This localized approach ensures that valid data structures are preserved and not unnecessarily rewritten, reducing write amplification while maintaining data integrity.

Inventive Principle:
Principle #3Local quality

3Productivity

If the storage device uses host-assisted garbage collection with sub-page level analysis, then it can improve storage efficiency and reduce write amplification, but it requires increased interaction and coordination between the host and device

Engineering Contradiction:
Improvestorage efficiencyVSAvoidhost-device coordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by having the storage device perform initial page-level identification of candidate pages containing invalid data structures before transferring them to the host computer. This preliminary filtering reduces the amount of data the host needs to process, simplifying the coordination required. The host then focuses only on analyzing pages already identified as candidates, rather than processing all pages, thus improving storage efficiency while managing coordination complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses partial action by implementing a two-stage approach where the storage device performs partial garbage collection (identifying and reading candidate pages) and the host performs the remaining partial analysis (sub-page level validity detection). This division of labor allows the system to achieve improved storage efficiency through sub-page level analysis without requiring either component to perform the complete, complex task alone, thus managing overall system complexity.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9940040B2Systems, solid-state mass storage devices, and methods for host-assisted garbage collection
Publication Date: 2018.04.10 KIOXIA CORP
  • US9940040B2 patent drawing
  • US9940040B2 patent drawing
  • US9940040B2 patent drawing

AI summary

Systems and methods suitable for assisting data storage on a solid-state mass storage device by furthering interaction between a host and the solid-state mass storage device. The method includes providing data in a target block from a solid-state mass storage device to a host computer system, analyzing the data to identify valid and invalid data of the data in the target block with the host computer system, removing the invalid data, reformatting the valid data into a new data structure with the host computer system, writing the new data structure to the mass storage device, and marking the data in the target block as invalid.