Flash Memory Garbage Collection Buffering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory devices experience write delays due to the periodic garbage collection process, which reclaims storage capacity by copying valid data from victim blocks to free blocks, leading to inefficiencies in write performance.

Innovation Solution

A method that initiates garbage collection on victim blocks in flash memory, allowing for concurrent data writing by storing program data in a buffer memory and copying it to free blocks during and after garbage collection operations, with additional operations performed as needed to manage remaining valid data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If garbage collection is performed periodically to reclaim storage capacity, then storage management is improved, but write performance deteriorates due to write delays

Engineering Contradiction:
Improvestorage managementVSAvoidwrite performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent enables write operations to continue during garbage collection by maintaining a write buffer that stores incoming data. The system performs garbage collection operations on victim blocks while simultaneously accepting and buffering new write requests, then copying buffered data to free blocks after garbage collection completes. This continuous operation eliminates idle time and maintains productivity throughout the storage management process.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent pre-allocates free blocks before garbage collection begins and pre-buffers write data in memory before it needs to be permanently stored. By preparing these resources in advance, the system avoids delays during the actual write operation, as the free blocks are ready to receive data immediately after garbage collection reclaims space.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If garbage collection copies valid data from victim blocks to free blocks, then storage reclamation is achieved, but operation time increases

Engineering Contradiction:
Improvestorage reclamationVSAvoidoperation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements garbage collection as a periodic background operation that processes victim blocks in stages rather than all at once. The system performs garbage collection on one victim block at a time, allowing other blocks to remain available for writes. This staged approach distributes the time cost over multiple smaller operations rather than one large blocking operation.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent introduces a write buffer as an intermediary layer between the host system and the flash memory. This buffer absorbs write requests during garbage collection, allowing the garbage collection process to proceed without directly blocking host operations. The buffer mediates between the need for storage reclamation and the need for continuous write performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8904090B2Non-volatile memory device, devices having the same, and method of operating the same
Publication Date: 2014.12.02 SAMSUNG ELECTRONICS CO LTD
  • US8904090B2 patent drawing
  • US8904090B2 patent drawing
  • US8904090B2 patent drawing

AI summary

A flash memory and a method of writing data to a flash memory during garbage collection of the flash memory is provided. First, a garbage collection process on a victim block of flash memory may be initiated. A garbage collection process may comprise a plurality of garbage collection operation. A program command and corresponding program data may be received. After a first garbage collection operation has finished and a portion of flash data from the victim block has been written to a free block, a portion of the program data may be written to that free block. If data remains in the victim block, a second garbage collection operation may be performed.