Flash Memory Pointer Table Update via Modification Table

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata mapping accuracyVSAvoidsystem performance
Core Design Contradiction:
Measurement precisionVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the pointer table is updated frequently to reflect new data positions, then data integrity is maintained, but update time increases significantly

Engineering Contradiction:
Improvedata integrityVSAvoidupdate time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvedata persistenceVSAvoidrecovery speed
Core Design Contradiction:
ReliabilityVSSpeed

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.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8296503B2Data updating and recovering methods for a non-volatile memory array
Publication Date: 2012.10.23 MEDIATEK INC
  • US8296503B2 patent drawing
  • US8296503B2 patent drawing
  • US8296503B2 patent drawing

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.