Address Mapping Table Dirty-Section Writes for Faster Power-Loss Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory sub-systems face inefficiencies in managing power loss recovery due to inconsistent address mapping tables, leading to increased time and resource costs in reconstructing the table post-power loss, and the need for extensive journal entry replay.
Innovation Solution
Implementing a dirty section write policy where the memory sub-system controller tracks the total and section-wise dirty counts of the L2P table, writing the dirtiest sections to non-volatile memory when a threshold is reached, thereby reducing the number of journal entries that need to be replayed during power loss recovery.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If the memory sub-system uses a conventional write policy without tracking dirty counts, then the device complexity is lower, but the time required for power loss recovery increases and more journal entries need to be replayed
Solution Approach 1:
The system performs preliminary tracking of dirty counts for each section of the address mapping table and maintains this information in advance. When power loss occurs, this pre-tracked information immediately becomes available to determine which sections need to be replayed, eliminating the need for comprehensive replay and reducing recovery time.
Solution Approach 2:
The system implements feedback mechanisms by continuously monitoring and updating dirty counts for each section. This feedback information is used to make informed decisions about which journal entries need to be replayed during power loss recovery, optimizing the recovery process by focusing only on affected sections rather than replaying all entries.
2Reliability
If the memory sub-system writes all sections to non-volatile memory, then the reliability of data consistency is improved, but the use of energy and time for recovery increases
Solution Approach 1:
The system applies local quality by tracking dirty counts individually for each section of the address mapping table. This allows the system to identify which specific sections have changes that need to be preserved, rather than treating all sections uniformly. During recovery, only the dirty sections are replayed, conserving energy and time while maintaining data consistency where needed.
Solution Approach 2:
Instead of writing all sections to non-volatile memory or replaying all journal entries during recovery, the system applies partial action by selectively processing only the dirty sections identified through dirty count tracking. This partial approach achieves sufficient data consistency for recovery purposes without the excessive energy and time consumption of complete processing.
3Productivity
If the memory sub-system tracks dirty counts for each section, then the productivity of power loss recovery is improved, but the device complexity increases
Solution Approach 1:
The system segments the address mapping table into multiple sections, each with its own dirty count tracker. This segmentation allows independent tracking and management of changes in different sections, enabling efficient recovery by processing only affected sections. The segmented structure organizes complexity into manageable units while improving overall recovery productivity.
Data Source
AI summary
A total count for an address mapping table is maintained, wherein the total count reflects a total number of updates to the address mapping table, and wherein the address mapping table comprises a plurality of sections. Respective section counts for the plurality of sections are maintained, wherein each respective section count reflects a total number of updates to a corresponding section. It is determined that the total count for the address mapping table satisfies a threshold criterion. A first section of the plurality of sections with a highest section count is identified based on the respective section counts. The first section of the address mapping table is written to a non-volatile memory device.


