Phased Garbage Collection for Non-Volatile Memory Storage
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Quantity of substance
If garbage collection operation time increases due to larger memory blocks, then storage capacity is improved, but timeout errors occur
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.
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.
3Reliability
If phased garbage collection is implemented to prevent timeout errors, then reliability is improved, but device complexity increases
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.
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.
Data Source
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.


