Flash Memory Controller Time-Based Garbage Collection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

3D flash memory designs suffer from data retention and read disturbing issues due to the stacked multi-layer arrangement, leading to decreased data quality and incorrect reading of data, especially after frequent read operations.

Innovation Solution

A flash memory controller that utilizes a time management circuit to record time information when data is written, allowing for the selection of blocks for garbage collection based on the number of invalid pages and time information, thereby determining the sequential order of garbage collection operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If 3D stacked multi-layer flash memory design is used to increase storage capacity, then the overall capacity of the chip increases, but data retention issues occur and data quality drops drastically

Engineering Contradiction:
Improvestorage capacityVSAvoiddata quality
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system performs preliminary actions by recording time information when data is written to each block, and proactively selecting blocks for garbage collection based on both the number of invalid pages and the recorded time information. This preliminary tracking and selective garbage collection prevents data quality degradation before it occurs, resolving the contradiction between increased storage capacity and maintained data reliability in 3D stacked flash memory.

Inventive Principle:
Principle #10Preliminary action

2Speed

If frequent read operations are performed on blocks, then data accessibility is improved, but read disturbing issues occur and data quality deteriorates

Engineering Contradiction:
Improvedata accessibilityVSAvoiddata quality
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system implements feedback mechanisms by continuously monitoring the number of invalid pages in each block and using recorded time information to determine when garbage collection should be performed. This feedback-driven approach selectively targets blocks that need cleanup based on their actual state, preventing read disturbing issues while maintaining data accessibility through efficient garbage collection scheduling.

Inventive Principle:
Principle #23Feedback

3Reliability

If garbage collection is performed on all blocks, then storage reliability is improved, but system productivity decreases due to excessive operations

Engineering Contradiction:
Improvestorage reliabilityVSAvoidsystem efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system applies local quality by treating different blocks differently based on their individual characteristics. Instead of uniform garbage collection across all blocks, it selectively identifies blocks with high numbers of invalid pages and older time information for garbage collection, while leaving blocks with fewer invalid pages untouched. This localized approach maintains storage reliability while significantly improving system productivity by avoiding unnecessary operations on already-clean blocks.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11210209B2Method for managing flash memory module and associated flash memory controller and electronic device
Publication Date: 2021.12.28 SILICON MOTION INC
  • US11210209B2 patent drawing
  • US11210209B2 patent drawing
  • US11210209B2 patent drawing

AI summary

The present invention provides a method for managing a flash memory module, wherein the flash memory module includes a plurality of flash memory chips, each flash memory chip includes a plurality of blocks, and each block includes a plurality of pages, and the method includes the steps of: using a time management circuit to generate current time information; when data is written into any one of the blocks, recording the time information generated by the time management circuit; and determining at least one specific block according to quantity of invalid pages within each block and the time information of each block.