Flash Memory Pointer Table Update via Modification Table
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing methods for updating and recovering data in flash memory arrays are inefficient, particularly in high-capacity systems, as the pointer table needs to be frequently updated, leading to degraded system performance due to its large size and the time-consuming process of updating it whenever data segments are updated.
Innovation Solution
The proposed method involves using a modification table to record mapping relationships between logical and physical addresses, allowing new user data to be written to new memory positions without updating the primary pointer table, and using designated memory positions with a predetermined sequence for storing updated data, which reduces the frequency of updating the pointer table and facilitates efficient recovery after power failures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If the pointer table is updated whenever data segments are updated, then data mapping accuracy is maintained, but system performance degrades due to the large size and frequent updates required
Solution Approach 1:
The patent divides the pointer table into two separate structures: a main pointer table stored in non-volatile memory that maintains stable mapping relationships, and a modification table stored in volatile memory that tracks recent changes. This segmentation allows the main pointer table to remain accurate while avoiding frequent updates to the entire table, thus resolving the contradiction between maintaining mapping accuracy and preserving system performance.
2Reliability
If the pointer table is updated frequently to reflect new data positions, then data integrity is maintained, but update time increases significantly
Solution Approach 1:
The patent implements preliminary action by maintaining a modification table in volatile memory that proactively tracks changes before they need to be reflected in the main pointer table. When data is updated, the modification is first recorded in the modification table, which then serves as a buffer that can be periodically applied to the main pointer table or retrieved during system recovery, eliminating the need for immediate updates to the main table and reducing update time while preserving data integrity.
3Reliability
If the pointer table is stored in non-volatile memory, then data persistence is achieved, but recovery speed decreases due to the time required to read and process the large table
Solution Approach 1:
The patent extracts the time-critical recovery information from the large main pointer table by maintaining a separate modification table in volatile memory that contains only the recent changes needed for recovery. Upon system restart, the modification table is read first to quickly restore the latest state, while the main pointer table in non-volatile memory provides the persistent baseline. This extraction of critical recovery data from the bulk table enables fast recovery while maintaining data persistence.
Data Source
AI summary
Methods for updating and recovering user data of a non-volatile memory array such as a flash memory are disclosed. An indication for indicating a mapping relationship for a logical address is established when original user data of the logical addresses is updated into new user data. The indication records new pointers, which record the mapping relationships between logical addresses and physical addresses storing the new user data of the logical addresses. Alternatively, the indication records memory positions of the non-volatile memory array which are defined as designated memory positions and a sequence for using these designated memory positions.


