Nonvolatile Memory Map Table Construction via History Buffer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing non-volatile memory systems face a significant challenge in initializing the map table during the initialization process, which results in a long map opening time due to the need to scan all used map blocks, leading to increased initialization times and potential performance deterioration as memory density increases.
Innovation Solution
A method and storage device that utilize historical information to efficiently construct the map table by writing and updating mapping information between logical and physical addresses, reducing the need to scan all map blocks by loading valid mapping information into RAM and using it to construct the map table based on recent allocations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If all used map blocks are scanned in sequence to update the map table, then complete mapping information is obtained, but the map opening time increases considerably
Solution Approach 1:
The patent applies preliminary action by maintaining a map history buffer that pre-stores valid map unit information from previously allocated map blocks. When a new map block is allocated, the system writes the physical addresses of valid map units from prior blocks into the history buffer in advance, so that during map opening operations, this pre-cached information can be immediately utilized without scanning all historical map blocks, thus reducing map opening time while ensuring complete mapping information is obtained
Solution Approach 2:
The patent applies copying by creating a historical copy of valid map unit information in the map history buffer. Instead of accessing and scanning original map blocks during map opening, the system copies relevant physical address information into the history buffer during normal operations, allowing the map table to be constructed from this copied data, significantly reducing the time required for map opening operations
2Quantity of substance
If the number of map blocks and pages increases to accommodate higher memory density, then storage capacity is improved, but the initialization time increases
Solution Approach 1:
The system performs preliminary action by continuously updating the map history buffer with valid map unit information during normal write operations. When map blocks are allocated and data is written, the physical addresses of valid map units are pre-recorded in the history buffer. This preliminary caching ensures that during initialization, the system does not need to scan through all the increased number of map blocks and pages, thus maintaining fast initialization times even as storage capacity increases
Solution Approach 2:
The patent extracts only the essential information needed for map table construction - specifically the physical addresses of valid map units - and stores them in the map history buffer. During initialization, only this extracted critical information from the history buffer and the recently allocated map block is scanned, rather than examining all map blocks and pages. This extraction approach allows the system to handle increased storage capacity without proportionally increasing initialization time
Data Source
AI summary
A non-volatile memory may include a plurality of map blocks for storing a plurality of map units, the map units representing mapping information between physical addresses and logical addresses. A storage device may include such a non-volatile memory. A method of mapping such a non-volatile memory may include writing historical information regarding locations of valid map units among the map units included in map blocks previously allocated among the map blocks when a new map block among the map blocks is allocated, the valid map units representing valid mapping information, and constructing a map table including all of the valid mapping information based on the historical information and a result of searching a map block recently allocated among the map blocks.


