Priority-Table Data Flushing for Power-Loss Data Safety
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional methods of flushing data from volatile memory to persistent storage during power loss events are inefficient, consuming significant power and taking a long time, leading to high costs and potential data loss.
Innovation Solution
Implementing a data-flushing priority table in memory devices that associates address regions with priority levels, using distinct submission queues and a priority scheme to ensure mission-critical data is safeguarded first, reducing latency and power consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional data flushing methods are used during power loss events, then data can be saved to persistent storage, but significant power is consumed and flushing takes a long time
Solution Approach 1:
The patent segments data into different priority levels (e.g., high priority, medium priority, low priority) and creates separate submission queues for each priority level. This segmentation allows the system to flush critical data first using available power, while non-critical data can be flushed later or discarded, thereby reducing overall power consumption while maintaining data safety for essential information.
Solution Approach 2:
The patent implements preliminary action by pre-establishing priority tables and submission queues before power loss occurs. The system continuously tracks which data requires flushing and organizes it by priority in advance. When power loss is detected, the system immediately begins flushing high-priority data that has been pre-identified, reducing the time and power needed compared to flushing all data without prior organization.
2Reliability
If traditional data flushing methods are used during power loss events, then data can be saved to persistent storage, but flushing takes a long time
Solution Approach 1:
By segmenting data into priority levels and creating dedicated submission queues for each level, the system enables parallel processing of flushing operations. High-priority data is flushed immediately while medium and low-priority data are processed in parallel at lower speeds, significantly reducing total flushing time while ensuring critical data is saved.
Solution Approach 2:
The system performs preliminary organization of data into priority tables and submission queues before power loss occurs. This pre-organization eliminates the need to scan and sort all data during the critical power loss moment, reducing flushing latency by immediately targeting only the data that needs to be saved based on pre-established priorities.
3Reliability
If all data is flushed without priority differentiation, then complete data safety is achieved, but system performance deteriorates
Solution Approach 1:
The patent applies local quality by treating different data differently based on their importance. Instead of uniformly flushing all data, the system applies selective flushing quality - high-priority data receives immediate flushing attention, medium-priority data receives deferred flushing, and low-priority data may be discarded. This differentiated approach maintains data safety for critical information while preserving system performance.
Solution Approach 2:
The system applies partial action by flushing only the portion of data that is necessary for safety - specifically, high-priority data that must be saved. It does not excessively flush all data, thereby avoiding the performance penalty of complete flushing while still achieving adequate data safety for mission-critical information.
Data Source
AI summary
Provided is a method for memory management, the method including receiving, by a memory device, a host command including first priority information associated with first data, the first data being associated with a first location of a non-volatile memory, storing, by the memory device, the first priority information in a priority table of the memory device, based on a flush request, accessing, by the memory device, the first priority information from the priority table, and based on the first priority information, writing, by the memory device, the first data from a volatile memory to the non-volatile memory.


