Memory Controller Idle Die Garbage Collection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Garbage collection operations in memory systems can degrade performance by causing memory dies to become idle, leading to inefficiencies in data storage and retrieval.

Innovation Solution

A controller that checks for idle memory dies after a write command, performs garbage collection read operations on these dies, stores valid data in a GC data region, and transfers this data for garbage collection write operations to minimize idle time and maintain system performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If garbage collection operations are performed on memory dies, then valid data can be recovered and stored, but memory dies spend time in idle state which degrades system performance

Engineering Contradiction:
Improvedata recovery capabilityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The controller performs garbage collection read operations in advance when memory dies are idle, proactively recovering valid data before it is needed. This preliminary action allows the system to prepare recovered data for future write operations, reducing the impact on system performance while maintaining data recovery capability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The controller continuously monitors the idle status of memory dies and performs garbage collection operations during idle periods without interrupting normal write operations. This continuous monitoring and selective execution ensures that useful actions (data recovery) are performed whenever possible without degrading overall system productivity

Inventive Principle:
Principle #20Continuity of useful action

2Reliability

If the controller stores valid data in a GC data region, then data can be preserved during garbage collection, but additional storage resources are consumed

Engineering Contradiction:
Improvedata preservationVSAvoidcontroller memory capacity
Core Design Contradiction:
ReliabilityVSVolume of stationary object

Solution Approach 1:

The controller divides the memory device into multiple dies and performs garbage collection operations on individual dies when they are idle. This segmentation allows the GC data region to be used selectively and temporarily, rather than requiring a large continuous storage space, as data can be recovered and transferred in smaller increments across different dies

Inventive Principle:
Principle #1Segmentation

3Productivity

If the controller checks for idle memory dies after write commands, then garbage collection can be performed efficiently, but additional control operations are required

Engineering Contradiction:
Improvegarbage collection efficiencyVSAvoidcontrol operation count
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The controller leverages the natural idle state of memory dies that occurs after write commands are transferred. Instead of requiring complex active monitoring and scheduling, the system allows memory dies to naturally become idle after completing write operations, and the controller simply checks this idle status to determine when garbage collection read operations can be performed, reducing control complexity while maintaining efficiency

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10901891B2Controller and operation method thereof
Publication Date: 2021.01.26 SK HYNIX INC
  • US10901891B2 patent drawing
  • US10901891B2 patent drawing
  • US10901891B2 patent drawing

AI summary

A controller for controlling a memory device including memory dies includes: a processor suitable for checking whether or not any of the memory dies in the memory device is idle after transferring a write command to the memory device, and when there is an idle memory die, performing a garbage collection read operation of the idle memory die; and a garbage collection (GC) data region suitable for storing a valid data of a victim block, which is read through the garbage collection read operation; and wherein the processor transfers the valid data to the memory device based on an amount of valid data stored in the GC data region and controlling the memory device to perform a garbage collection write operation of programming the valid data in a target block.