Flash Memory Garbage Collection Using Volatile Control Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory systems face performance degradation due to fragmentation, which affects transfer speed and is exacerbated by garbage collection activities during performance testing, such as Speed Class tests.

Innovation Solution

A method and system that utilize volatile memory for controlling garbage collection by writing control information to random access memory and consolidated data to non-volatile memory, enabling pre-emptive garbage collection operations to maintain optimal performance and meet transfer speed specifications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If garbage collection operation is performed in flash memory system, then fragmented logical groups are consolidated and rewritten, but transfer speed decreases due to the overhead of copying unrelated data

Engineering Contradiction:
Improvememory system operationVSAvoidtransfer speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent performs garbage collection operations preemptively during idle periods or low-activity times rather than waiting for fragmentation to severely impact performance. The controller monitors memory usage patterns and initiates consolidation operations before they would significantly degrade transfer speeds, thus maintaining both reliability and performance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a buffer memory or cache as an intermediary storage area during garbage collection operations. Unrelated data is temporarily held in this intermediate storage while fragmented logical groups are being consolidated and rewritten, allowing the main data transfer operations to continue with minimal interruption and maintaining overall transfer speed.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If Speed Class test is run to measure memory system performance, then transfer speed metrics are obtained, but garbage collection activity during the test adversely affects test results

Engineering Contradiction:
Improveperformance measurementVSAvoidtest result accuracy
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The patent detects when a Speed Class test is being performed and preemptively suspends or delays garbage collection operations during the test duration. By anticipating the test window and preventing garbage collection interference, the system ensures accurate performance measurements while maintaining memory reliability through resumption of garbage collection after the test completes.

Inventive Principle:
Principle #9Preliminary anti-action

3Ease of operation

If data is written to flash memory in logical address space, then host file system operations are simplified, but fragmentation increases causing more frequent garbage collection needs

Engineering Contradiction:
Improvehost file system operationVSAvoidwrite performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent implements a wear-leveling algorithm that automatically monitors and redistributes write operations across different physical blocks in the flash memory. This self-service mechanism prevents any single block from becoming过度 fragmented or overused, thereby reducing the frequency of garbage collection operations needed while maintaining the simplified logical address space interface for the host file system.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8706983B2Garbage collection of memory blocks using volatile memory
Publication Date: 2014.04.22 SANDISK TECHNOLOGIES LLC
  • US8706983B2 patent drawing
  • US8706983B2 patent drawing
  • US8706983B2 patent drawing

AI summary

A method and system for performing garbage collection operations on update blocks in a memory device using volatile memory is disclosed. When performing a garbage collection operation, a first part of the data related to the garbage collection operation is written to a volatile memory in the memory device, and a second part of the data related to the garbage collection operation is written to a non-volatile memory in the memory device. The first part of the data that is written to the volatile memory (such as a random access memory) may comprise control information (such as mapping information of the logical addressable unit to a physical metablock). The second part of the data related to the garbage collection that is written to the non-volatile memory (such as a flash memory) may comprise the consolidated data in the update block.