Memory Controller Bank-Level Garbage Collection Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory systems face inefficiencies in selecting logical blocks for garbage collection, particularly due to uneven distribution of valid data across banks, which can prolong read and write operations.

Innovation Solution

A memory system that calculates and compares read and write guide information based on the number of valid data in each bank across logical blocks to efficiently select the optimal block for garbage collection, considering both write and read times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If garbage collection is executed based on the number of valid data in logical blocks, then the garbage collection process can be simplified, but the read and write operations are prolonged due to uneven distribution of valid data across banks

Engineering Contradiction:
Improvegarbage collection selection processVSAvoidread and write operation time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent segments the logical block into multiple banks and introduces a bank dimension to the garbage collection selection process. Instead of selecting garbage collection targets solely based on logical block-level valid data counts, the system further segments the selection criteria to consider bank-level valid data counts. This segmentation allows for more granular control and optimization of the garbage collection process, addressing the uneven distribution of valid data across banks while maintaining a manageable selection framework.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If valid data is unevenly distributed across banks in a logical block, then storage utilization is maintained, but the read operation time increases

Engineering Contradiction:
Improvestorage utilizationVSAvoidread operation time
Core Design Contradiction:
Quantity of substanceVSDuration of action of moving object

Solution Approach 1:

The patent applies local quality by introducing bank-level granularity to the garbage collection selection process. Different banks within the same logical block can have different priorities for garbage collection based on their individual valid data counts. This allows the system to optimize read operations locally at the bank level rather than uniformly across the entire logical block, thereby reducing read operation time while maintaining overall storage utilization.

Inventive Principle:
Principle #3Local quality

3Ease of operation

If garbage collection targets are selected without considering bank-level valid data distribution, then the selection process is simpler, but data movement efficiency decreases

Engineering Contradiction:
Improvegarbage collection target selectionVSAvoiddata movement efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent adds another dimension to the garbage collection selection process by introducing bank-level considerations alongside logical block-level criteria. The selection process now operates in a two-dimensional space: first identifying candidate logical blocks based on block-level valid data counts, then selecting specific banks within those blocks based on bank-level valid data counts. This dimensional expansion maintains operational simplicity through a hierarchical approach while significantly improving data movement efficiency by accounting for uneven bank-level distribution.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS11899573B2Memory system
Publication Date: 2024.02.13 KIOXIA CORP
  • US11899573B2 patent drawing
  • US11899573B2 patent drawing
  • US11899573B2 patent drawing

AI summary

A memory system includes a memory and a controller. The memory is configured to store a number of valid data in each of a plurality of logical blocks and a number of valid data for each of a plurality of banks in each of the logical blocks. The controller is configured to: select logical blocks of garbage collection target candidates based on the numbers of valid data in the logical blocks; calculate a maximum value among the numbers of valid data for the banks in each of the logical blocks of the garbage collection target candidates as a respective comparison value; and select one of the logical blocks of the garbage collection targets based on comparing the respective comparison values of the logical blocks of the garbage collection target candidates with each other.