Flash Memory Wake-Up via Shadow Table Reconstruction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for facilitating fast wake-up of flash memory systems are inadequate, especially in scenarios with frequent power failures, lack of orderly device dismounting services, and strict time constraints, as they either compromise data integrity or sacrifice performance.

Innovation Solution

The method involves storing a flash management table and a list of future events in flash memory, allowing for efficient reconstruction of the table upon wake-up by checking the status of blocks in the list, which reduces the need for full scan reconstruction and maintains data integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the system scans the flash device to construct translation tables on system wake-up, then data integrity is maintained, but wake-up time becomes too long

Engineering Contradiction:
Improvedata integrityVSAvoidwake-up time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by maintaining a shadow copy of the translation table in non-volatile memory that is updated in advance during normal operation. When the system wakes up, it can directly load this pre-prepared shadow copy instead of scanning the entire flash device, thus maintaining data integrity while significantly reducing wake-up time.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If the system stores translation tables in flash memory to enable fast wake-up, then wake-up time is reduced, but data integrity is compromised during unorderly shutdowns

Engineering Contradiction:
Improvewake-up timeVSAvoiddata integrity
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent uses the copying principle by creating and maintaining a shadow copy of the translation table in non-volatile memory. This shadow copy is kept synchronized with the main translation table during normal operation, allowing the system to quickly load a valid copy during wake-up while ensuring data integrity even if the main table becomes corrupted during unorderly shutdowns.

Inventive Principle:
Principle #26Copying

3Reliability

If the system updates translation tables frequently in flash memory, then data integrity is maintained, but system performance deteriorates due to overhead

Engineering Contradiction:
Improvedata integrityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by updating the shadow copy in non-volatile memory only when necessary and in advance, rather than continuously synchronizing with the main translation table. This reduces the frequency of flash memory write operations and associated overhead, thereby maintaining data integrity while preserving system performance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent employs discarding and recovering by allowing the main translation table to be updated in volatile memory without immediate persistence to flash. The shadow copy serves as a recovered, validated version that can be loaded during wake-up, reducing the need for frequent updates to flash memory and thus improving system performance.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS8135904B2Method and apparatus for facilitating fast wake-up of a non-volatile memory system
Publication Date: 2012.03.13 SANDISK ISRAEL LTD
  • US8135904B2 patent drawing
  • US8135904B2 patent drawing
  • US8135904B2 patent drawing

AI summary

A method includes storing at a non-volatile memory in a data storage device a first copy of a memory management table. The method further includes storing, at the non-volatile memory, a list of data entries that identify unused blocks of the non-volatile memory, where the list defines an order of allocating the unused blocks. The method further includes, in response to detecting a power event, accessing an entry of the ordered list to identify a block, and selectively updating the first copy of the memory management table based on a status of the identified block.