Phased Garbage Collection for Non-Volatile Memory Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In non-volatile memory storage systems, garbage collection operations often exceed the allocated timeout period due to increasing memory block sizes, leading to potential timeout errors and inefficiencies in write operations.

Innovation Solution

Implementing phased garbage collection, where the garbage collection operation is split into multiple phases, allowing each phase to be completed within the allocated timeout period, with data stored in a buffer during the process to prevent timeout errors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If memory block sizes are increased to improve storage capacity, then storage capacity increases, but garbage collection operation time increases and exceeds timeout period

Engineering Contradiction:
Improvestorage capacityVSAvoidgarbage collection operation time
Core Design Contradiction:
Quantity of substanceVSDuration of action of moving object

Solution Approach 1:

The garbage collection operation is divided into multiple phases, where each phase processes a portion of the valid data from the source block to the destination block. This segmentation allows the operation to be completed in multiple timeout periods rather than requiring one extended timeout period, thus resolving the contradiction between increased storage capacity (larger blocks) and extended operation time.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If garbage collection operation time increases due to larger memory blocks, then storage capacity is improved, but timeout errors occur

Engineering Contradiction:
Improvestorage capacityVSAvoidtimeout error prevention
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

By segmenting the garbage collection operation into multiple phases that fit within individual timeout periods, the system prevents timeout errors from occurring while maintaining support for larger memory blocks with higher storage capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by allocating a destination block in advance and preparing the phased transfer mechanism before the garbage collection operation begins. This allows the operation to proceed in controlled phases within timeout constraints, preventing timeout errors while enabling larger block operations.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If phased garbage collection is implemented to prevent timeout errors, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improvetimeout error preventionVSAvoidgarbage collection mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The segmentation of garbage collection into phases adds structural organization to the operation. While this introduces some complexity, it provides a systematic approach that can be managed through firmware control, balancing reliability improvement with acceptable increases in device complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The phased garbage collection mechanism is designed to be universal, working with memory blocks of various sizes and being integrated into the existing memory controller firmware. This multi-functionality allows the same mechanism to handle different scenarios without requiring separate specialized circuits, thus limiting the increase in device complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS7451265B2Non-volatile memory storage systems for phased garbage collection
Publication Date: 2008.11.11 SANDISK TECHNOLOGIES LLC
  • US7451265B2 patent drawing
  • US7451265B2 patent drawing
  • US7451265B2 patent drawing

AI summary

A non-volatile memory storage system is provided. The non-volatile memory storage system includes a memory configured to store a storage system firmware and a non-volatile memory cell array configured to maintain a buffer. A processor in communication with the memory and the non-volatile memory cell array also is included in the non-volatile memory storage system. Here, the processor is configured to execute the storage system firmware stored in the memory. The storage system firmware comprises program instructions for receiving a write command to write data to the non-volatile memory cell array. The write command is allocated a timeout period to complete an execution of the write command. The storage system firmware also comprises program instructions for performing a portion of a garbage collection operation within the timeout period and for storing the data in the buffer.