Opportunistic Garbage Collection in NAND Flash Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current NAND flash memory management systems face challenges in efficiently performing garbage collection, particularly in multithreaded environments with real-time media requirements, due to the asynchronous and time-consuming nature of erase/write cycles, which can lead to significant latency and buffer requirements.

Innovation Solution

The system performs demand-driven opportunistic garbage collection by dividing operations into atomic read, write, and block erase phases, and utilizes idle periods indicated by the processor to execute these operations, allowing for proactive management of garbage collection without disrupting real-time media streams.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If garbage collection is performed using traditional erase/write cycles in NAND flash memory, then obsolete data can be removed and storage space can be reclaimed, but significant latency is introduced and real-time media streams are disrupted

Engineering Contradiction:
Improvegarbage collection efficiencyVSAvoidlatency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the traditional atomic erase/write cycle into separate read, write, and erase operations that can be executed independently and asynchronously. This allows the garbage collection process to be broken down into manageable tasks that can be interleaved with real-time media operations, reducing latency while maintaining garbage collection effectiveness

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary actions by pre-reading data from blocks scheduled for erasure and pre-writing it to new locations before the actual erase operation begins. This preparation work is done in advance during idle periods, so that when erasure is needed, the data migration is already complete, reducing the critical path latency

Inventive Principle:
Principle #10Preliminary action

2Reliability

If large latency buffers are used to accommodate asynchronous garbage collection operations, then real-time media streams can maintain continuous playback, but memory resources are consumed and system complexity increases

Engineering Contradiction:
Improvereal-time media stream continuityVSAvoidbuffer memory size
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent enables the memory subsystem to service itself by implementing an idle period detection mechanism that automatically identifies when real-time media operations are not actively accessing memory. During these self-identified idle periods, the system autonomously performs garbage collection operations without requiring external intervention or large buffers, as the memory is naturally available

Inventive Principle:
Principle #25Self-service

3Productivity

If garbage collection operations are performed during active media playback, then storage maintenance can occur continuously, but media playback latency increases and quality deteriorates

Engineering Contradiction:
Improvestorage maintenance throughputVSAvoidmedia playback speed
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The patent implements periodic action by scheduling garbage collection operations to occur during naturally occurring idle periods between media playback events. Rather than attempting continuous maintenance that would interfere with playback, the system performs storage maintenance periodically when the media player is naturally paused or transitioning between operations, maintaining both playback quality and storage health

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS8032724B1Demand-driven opportunistic garbage collection in memory components
Publication Date: 2011.10.04 MARVELL ASIA PTE LTD
  • US8032724B1 patent drawing
  • US8032724B1 patent drawing
  • US8032724B1 patent drawing

AI summary

A method and system for performing garbage collection in a memory is disclosed. Aspects of the exemplary embodiment include dividing garbage collection into atomic operations, including read, write, and block erase; storing read cycle times, write cycle times, and block erase cycle times of the memory; receiving a communication from a processor indicating at least one idle period when an application executing on the processor will not make a request of the memory, wherein the communication indicates a time duration of the at least one idle period; and in response, performing at least one of the garbage collection atomic operations within the time duration, whereby garbage collection can be performed during the at least one idle period, rather than when the memory is substantially full.