Memory Controller Extended Free Block Garbage Collection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems experience performance degradation due to garbage collection operations, which are triggered unnecessarily even when a large portion of memory space is not used, leading to reduced throughput and unexpected performance issues.

Innovation Solution

A controller method that calculates the number of extended free blocks by combining substantive and pseudo free blocks, and only performs garbage collection when the total number of extended free blocks falls below a threshold, thereby avoiding unnecessary garbage collection operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If garbage collection is performed based on substantive free blocks only, then memory management simplicity is improved, but performance degradation occurs due to unnecessary garbage collection operations

Engineering Contradiction:
Improvememory management complexityVSAvoidmemory system throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent changes the parameter used for garbage collection triggering from only substantive free blocks to extended free blocks, which combines both substantive free blocks and pseudo free blocks. This parameter change allows the system to consider blocks with fewer valid pages (pseudo free blocks) alongside completely empty blocks (substantive free blocks), thereby reducing unnecessary garbage collection operations while maintaining manageable complexity.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If garbage collection is performed frequently to maintain free blocks, then memory availability is improved, but performance degradation occurs due to excessive garbage collection operations

Engineering Contradiction:
Improvenumber of free blocksVSAvoidmemory system throughput
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent applies partial action by introducing pseudo free blocks as an intermediate category between substantive free blocks and dirty blocks. Instead of performing garbage collection on all blocks that aren't fully occupied, the system only triggers garbage collection when extended free blocks (substantive + pseudo) fall below the threshold. This partial approach prevents excessive garbage collection operations while still maintaining adequate memory availability.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If the garbage collection threshold is set low to reduce operations, then performance is improved, but memory availability may be compromised

Engineering Contradiction:
Improvememory system throughputVSAvoidnumber of free blocks
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments the memory block population into three categories: dirty blocks (many valid pages), pseudo free blocks (few valid pages), and substantive free blocks (no valid pages). By segmenting in this way and creating the combined metric of extended free blocks, the system can set a more appropriate threshold that reflects actual memory availability needs while reducing unnecessary garbage collection operations, thus improving performance without compromising memory availability.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11210213B2Controller and operation method thereof
Publication Date: 2021.12.28 SK HYNIX INC
  • US11210213B2 patent drawing
  • US11210213B2 patent drawing
  • US11210213B2 patent drawing

AI summary

Provided is an operation method of a controller which controls a memory device including a plurality of memory blocks. The operation method may include calculating a number of extended free blocks in the memory device based on valid page counts of the respective memory blocks, when a number of substantive free blocks in the memory device is less than a first threshold value, and performing a garbage collection operation when the number of extended free blocks is less than a second threshold value.