Dual Processor Memory Controller for SSD Garbage Collection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In memory systems like SSDs with NAND flash memory, the process of garbage collection for reusing storage areas and refresh operations can increase the ratio of writing operations, leading to degraded short-term performance due to the mixing of data transfer for both purposes.

Innovation Solution

A memory system with a controller that includes separate processors for garbage collection and refresh operations, allowing independent execution of these processes to prevent overlapping block selection and optimize data transfer, thereby maintaining efficient free block creation and write performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If garbage collection and refresh operations are executed using a single processor with mixed data transfer, then device complexity is reduced, but write performance degrades due to operation overlap

Engineering Contradiction:
Improveprocessor structureVSAvoidwrite performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The controller is divided into a first processor dedicated to garbage collection operations and a second processor dedicated to refresh operations. This segmentation allows both processors to execute their respective operations independently and simultaneously, preventing the performance degradation that occurs when operations are mixed in a single processor while maintaining reasonable device complexity.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If garbage collection is executed for free block allocation, then free blocks are created for future writes, but the ratio of writing operations increases causing short-term performance degradation

Engineering Contradiction:
Improvefree block quantityVSAvoidwrite performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

By separating garbage collection operations into a dedicated first processor, the system can execute free block allocation independently from host write operations and refresh operations. This prevents the mixing of operations that causes performance degradation while still ensuring sufficient free blocks are available for future writes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The garbage collection process proactively creates free blocks by transferring valid data before they are needed for future writes. By executing this preliminary action in a dedicated processor, the system prepares storage resources in advance without interfering with ongoing host write operations, thus maintaining short-term write performance.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If refresh operations are executed independently, then data reliability is maintained, but the ratio of writing operations increases

Engineering Contradiction:
Improvedata reliabilityVSAvoidwrite performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The controller is divided into a first processor for garbage collection and a second processor for refresh operations. This segmentation allows refresh operations to execute independently and simultaneously with garbage collection and host writes, maintaining data reliability through dedicated refresh execution while preventing performance degradation from operation mixing.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11182287B2Memory system and garbage collection control method
Publication Date: 2021.11.23 KIOXIA CORP
  • US11182287B2 patent drawing
  • US11182287B2 patent drawing
  • US11182287B2 patent drawing

AI summary

According to one embodiment, a memory system includes a nonvolatile memory and a controller. The nonvolatile memory includes a plurality of blocks. The controller controls an operation of writing data to the nonvolatile memory and an operation of reading data to the nonvolatile memory. The controller includes a first processor and a second processor. The first processor executes a first process of creating one or more free blocks by transferring valid data in N blocks (where N is a natural number greater than or equal to two) to blocks of number less than N. The second processor executes a second process of transferring valid data including data which needs refresh in M blocks (where M is a natural number greater than or equal to one) to blocks of number less than or equal to M.