Open Virtual Block Pool Flow for Lower Memory Write Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Performing operations to change virtual blocks in memory systems, such as RAIN flush and block erase, can be time-consuming, leading to long write latency.
Innovation Solution
Implementing a change open virtual block flow that includes selecting a second virtual block from an open virtual block pool without performing a block erase operation, and replenishing the pool during idle periods, thereby reducing write latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If block erase operation is performed on virtual blocks before use, then data integrity and reliability are improved, but write latency increases
Solution Approach 1:
The system performs block erase operations in advance during idle periods and maintains a pool of pre-erased open virtual blocks ready for immediate use. When a write operation is requested, the host system can immediately select from the pool without waiting for erase operations, thus resolving the contradiction between data integrity (requiring erase before use) and write latency (requiring immediate availability).
Solution Approach 2:
The virtual blocks are divided into different pools: open virtual block pool (pre-erased and ready), invalid virtual block pool (containing blocks needing erase), and blocks currently in use. This segmentation allows the system to separate the time-consuming erase operations from the write path, maintaining reliability while reducing write latency.
2Reliability
If RAIN flush operation is performed on virtual blocks, then data reliability is improved, but operation time increases
Solution Approach 1:
The system performs RAIN flush operations in advance during idle periods on virtual blocks that will be needed soon. By pre-flushing data during idle time, the system ensures data reliability is maintained while the actual write operation can proceed immediately without waiting for flush completion.
Solution Approach 2:
The system periodically performs RAIN flush operations on virtual blocks during idle periods rather than continuously or on-demand. This periodic approach maintains data reliability while minimizing the impact on write operation timing, as flush operations are scheduled during natural idle gaps in the system.
3Speed
If virtual block pool is maintained with pre-erased blocks, then write speed is improved, but system complexity increases
Solution Approach 1:
The memory system controller performs multiple functions: it manages the open virtual block pool, performs block erase operations, executes RAIN flush operations, and handles write operations. By consolidating these functions in a single controller, the system achieves fast write speeds through pool management while avoiding the complexity of multiple separate management systems.
Solution Approach 2:
The system implements feedback mechanisms to monitor the state of virtual blocks (open, invalid, in-use) and dynamically manages the pools accordingly. The controller tracks which blocks are available in the open pool and automatically initiates erase operations on invalid blocks during idle periods, providing automated pool management that reduces operational complexity despite the added structural complexity.
Data Source
AI summary
Methods, systems, and devices for a change open virtual block flow for a system are described. The system may select a first virtual block from a first set of virtual blocks and select a second virtual block from the first set in response to first data stored in memory corresponding to the first virtual block satisfying a threshold. The system may write second data to memory corresponding to the second virtual block in response to selecting the second virtual block from the first set and during an idle period, select a third virtual block from a second set of virtual blocks different than the first set. Upon selecting the third virtual block, the system may erase third data stored in memory corresponding to the third virtual block and update, in response to erasing the third data, the first set to include the third virtual block.


