Non-Volatile Memory Cache Flushing via Pre-Reserved Block Map
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current systems for cache flushing in non-volatile memory are slow due to the need to search for and erase free memory blocks, which can take considerable time, especially during power loss scenarios.
Innovation Solution
Implementing a flush cache map that maintains a list of reserved free memory blocks, allowing cache blocks to be written directly to these blocks without the need for search operations, thereby reducing the time required for cache flushing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the system searches for free memory blocks and erases old data in non-volatile memory during cache flushing, then the cache memory can be cleared, but the process takes considerable time
Solution Approach 1:
The patent maintains a flush cache map that pre-identifies and reserves free memory blocks in non-volatile memory before cache flushing is needed. When a cache flush command is received, the system can immediately write cache blocks to the pre-identified free blocks without performing search or erase operations, thus resolving the time delay contradiction
Solution Approach 2:
The flush cache map serves as an intermediary data structure that stores the mapping between cache blocks and reserved free memory blocks in non-volatile memory. This intermediary eliminates the need for direct search and erase operations during cache flushing, enabling immediate data transfer while maintaining reliability
2Productivity
If the system performs search and erase operations for each cache block during flush, then all cache data is written to non-volatile memory, but the process is slow
Solution Approach 1:
Free memory blocks are pre-identified and reserved in the non-volatile memory before cache flushing operations are needed. The flush cache map is maintained to track these reserved blocks, enabling immediate high-speed data transfer when flushing is required without performing time-consuming search and erase operations
Solution Approach 2:
The system continuously maintains the flush cache map and reserves free memory blocks in advance, ensuring that the useful action of data transfer can proceed continuously at high speed without interruption for search or erase operations, thereby improving productivity while reducing time loss
Data Source
AI summary
An invention is provided for performing flush cache in a non-volatile memory. The invention includes maintaining a plurality of free memory blocks within a non-volatile memory. When a flush cache command is issued, a flush cache map is examined to obtain a memory address of a memory block in the plurality of free memory blocks within the non-volatile memory. The flush cache map includes a plurality of entries, each entry indicating a memory block of the plurality of free memory blocks. Then, a cache block is written to a memory block at the obtained memory address within the non-volatile memory. In this manner, when a flush cache command is received, the flush cache map allows cache blocks to be written to free memory blocks in the non-volatile memory without requiring a non-volatile memory search for free blocks or requiring erasing of memory blocks storing old data.


