Write Buffer Management for Nonvolatile Memory Blocks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In memory systems with nonvolatile storage, the increasing number of available write destination blocks leads to a significant increase in memory resources required by the write buffer, which is typically limited, necessitating a reduction in memory resource consumption.
Innovation Solution
A controller manages write destination blocks by writing data in an order from the leading page to the last page, releasing buffer regions by making data readable from preceding pages, and using dummy data to free up buffer space when necessary, thereby minimizing buffer consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the number of simultaneously available write destination blocks increases, then the I/O performance and storage efficiency are improved, but the memory resource amount consumed by the write buffer increases
Solution Approach 1:
The write buffer is divided into multiple independent buffer regions, each associated with a specific write destination block. This segmentation allows the system to manage buffer resources more efficiently by allocating only the necessary buffer space for each block, rather than requiring a large contiguous buffer for all blocks simultaneously.
Solution Approach 2:
The buffer region allocation is dynamic rather than static. Buffer regions are allocated to write destination blocks when needed and released when the blocks are no longer active or when their data has been successfully written to the nonvolatile memory. This dynamic management allows the system to support multiple write destination blocks without requiring proportional increases in total buffer memory.
2Adaptability or versatility
If the number of simultaneously available write destination blocks increases, then the versatility and adaptability of the storage system are improved, but the memory resource amount consumed by the write buffer increases
Solution Approach 1:
The buffer management system is designed to handle multiple write destination blocks universally through a standardized buffer region allocation mechanism. Each write destination block can be assigned a buffer region following the same rules and procedures, allowing the system to adapt to varying numbers of active blocks without requiring specialized buffer allocations for each scenario.
Solution Approach 2:
The system dynamically adjusts buffer allocation parameters such as buffer region size, allocation timing, and release conditions based on the current number of active write destination blocks and their write progress. This parameter adjustment allows the system to maintain high versatility while optimizing memory resource utilization.
Data Source
AI summary
According to one embodiment, a memory system receives from a host a first write request including a first block identifier designating a first write destination block to which first write data is to be written. The memory system acquires the first write data from a write buffer temporarily holding write data corresponding to each of the write requests, and writes the first write data to a write destination page in the first write destination block. The memory system releases a region in the write buffer, storing data which is made readable from the first write destination block by writing the first write data to the write destination page. The data made readable is a data of a page in the first write destination block preceding the write destination page.


