Flash Memory Controller Urgent Garbage Collection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In memory systems with flash memory, the process of garbage collection (GC) can lead to fragmentation of blocks, reducing the number of usable blocks and potentially disturbing efficient GC control, especially when the number of free blocks falls below a certain threshold, which can impact performance and wear on the NAND flash memory.

Innovation Solution

The memory system implements a controller that manages garbage collection by executing either normal GC or urgent GC depending on the availability of free blocks, where in urgent GC, all valid data from a source block is directly written into an erased destination block, allowing for rapid data writing and maintaining a constant number of free blocks, and in normal GC, valid data is collected from multiple source blocks and rewritten into free blocks to efficiently secure the required number of free blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If garbage collection is executed to collect valid data from blocks with invalid data, then data integrity is maintained, but the number of free blocks decreases and block fragmentation increases

Engineering Contradiction:
Improvedata integrityVSAvoidnumber of free blocks
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system performs preliminary actions by proactively executing garbage collection before the number of free blocks falls below a threshold, and by pre-validating data blocks during normal operations. This prevents the critical situation where free blocks are depleted, allowing the system to maintain data integrity while preserving sufficient free blocks for ongoing operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts garbage collection behavior based on real-time monitoring of free block counts. When free blocks are abundant, normal GC operations proceed; when free blocks fall below a threshold, the system transitions to urgent GC mode with modified behavior. This dynamic adaptation resolves the contradiction by adjusting the balance between data collection and free block preservation based on current system state.

Inventive Principle:
Principle #15Dynamics

2Productivity

If garbage collection is executed to rewrite valid data into free blocks, then data organization is improved, but writing latency increases due to the multi-step process

Engineering Contradiction:
Improvedata organization efficiencyVSAvoidwriting latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system prepares destination blocks in advance by validating them and ensuring they are ready for data reception. By pre-preparing free blocks and maintaining a pool of validated destination blocks, the system eliminates the need for complex real-time validation during data reception, thereby reducing writing latency while maintaining organization efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically switches between normal garbage collection mode and urgent garbage collection mode based on system state. In urgent mode, when free blocks are scarce, the system optimizes the GC process to minimize latency by directly writing to pre-identified destination blocks without extensive validation steps, thus reducing writing time while still achieving effective data reorganization.

Inventive Principle:
Principle #15Dynamics

3Quantity of substance

If normal garbage collection is executed to collect data from multiple source blocks, then free block availability is increased, but the process becomes more complex and time-consuming

Engineering Contradiction:
Improvefree block availabilityVSAvoidGC process complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The system segments the garbage collection process into distinct phases: normal GC phase for routine data collection and urgent GC phase for critical situations. Within normal GC, it segments the process by selecting specific source blocks based on validity ratios and prioritizing blocks with lower validity ratios. This segmentation simplifies the overall complex process by breaking it into manageable, prioritized steps that can be executed systematically.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts the garbage collection strategy based on the number of available free blocks and system state. When free blocks are abundant, it executes normal GC with comprehensive multi-block processing. When free blocks fall below a threshold, it transitions to urgent GC with simplified, priority-based processing. This dynamic adaptation manages complexity by only executing complex operations when necessary, reducing overall system complexity in practice.

Inventive Principle:
Principle #15Dynamics

4Speed

If urgent garbage collection is executed to quickly secure free blocks, then writing speed is improved, but wear on NAND flash memory increases

Engineering Contradiction:
Improvewriting speedVSAvoidwear on NAND flash memory
Core Design Contradiction:
SpeedVSObject-affected harmful factors

Solution Approach 1:

The system performs preliminary wear assessment and block validation before executing urgent garbage collection. By pre-identifying suitable source blocks with high validity ratios and pre-validating destination blocks, the system minimizes unnecessary write operations during urgent GC, thereby reducing wear on NAND flash memory while maintaining high writing speed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes operational parameters based on system state by adjusting the garbage collection strategy. In urgent GC mode, it modifies parameters such as selecting source blocks with highest validity ratios first, limiting the number of blocks processed, and optimizing write destination selection. These parameter changes enable the system to achieve high writing speed while minimizing the total number of write operations that cause NAND flash wear.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9792068B2Memory system and method of controlling nonvolatile memory
Publication Date: 2017.10.17 KIOXIA CORP
  • US9792068B2 patent drawing
  • US9792068B2 patent drawing
  • US9792068B2 patent drawing

AI summary

According to one embodiment, when a first command and first data are received from a host, and in a case where the number of free blocks is less than a first threshold, a controller executes a first processing. The first processing includes reading valid data included in one first block that includes the valid data and invalid data and writing the read valid data and at least a part of write data specified by the write command into the free block.