Flash Memory Segmentation for Transaction Atomicity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory systems face challenges in ensuring transaction atomicity, particularly in contactless applications where rapid data storage and erasure operations are required, due to the granularity of operations being per page rather than per byte, leading to potential data instability and vulnerability during interruptions.

Innovation Solution

The flash memory is divided into three regions: a main memory area for stable information, a cache area for temporary data processing, and a temporary information area for transaction progress indicators, allowing for sequential page usage and efficient management of data stability flags to ensure atomicity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is stored in flash memory using page-based erasure operations, then non-volatile storage capability is achieved, but transaction atomicity cannot be ensured due to potential intermediate states during interruption

Engineering Contradiction:
Improvetransaction atomicityVSAvoidmemory structure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The flash memory is segmented into three distinct regions: a first region for initial data storage, a second region for intermediate data storage during transactions, and a third region for storing operation progress indicators. This segmentation allows the system to track transaction states and ensure atomicity by verifying that operations have completed successfully before committing data, thus resolving the contradiction between reliability and structural complexity.

Inventive Principle:
Principle #1Segmentation

2Productivity

If page-based erasure operations are used in flash memory, then non-volatile storage is achieved, but transaction speed decreases due to granularity constraints

Engineering Contradiction:
Improvetransaction speedVSAvoiddata stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by storing operation progress indicators in the third region before completing erasure operations. These indicators record which pages have been erased and which still contain valid data, allowing the system to quickly determine transaction status without re-reading entire pages. This preliminary tracking mechanism enables faster transaction processing while maintaining data stability through verified completion states.

Inventive Principle:
Principle #10Preliminary action

3Loss of information

If metadata fields store indexes of pages in first and second regions, then data location tracking is improved, but memory space is consumed

Engineering Contradiction:
Improvedata location trackingVSAvoidmemory space
Core Design Contradiction:
Loss of informationVSQuantity of substance

Solution Approach 1:

The metadata fields in the first and second regions serve multiple functions: they store both the actual data and the indexes of corresponding pages in other regions. This multi-functionality allows the same memory space to perform dual roles, improving data location tracking without proportionally increasing memory consumption. The metadata thus acts as both data storage and indexing mechanism simultaneously.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentEP3188024B1Storage in a flash memory
Publication Date: 2019.10.09 PROTON WORLD INT
  • EP3188024B1 patent drawingFigure 1~2
  • EP3188024B1 patent drawingFigure 3
  • EP3188024B1 patent drawingFigure 4

AI summary

The invention relates to a method of storing data in non-volatile memory, in which the non-volatile memory is divided into: a first region (22) each page of which has fields intended to contain data and a field intended to contain metadata; a second region (24) each page of which has fields intended to contain data and a field intended to contain metadata; a third region (26) intended to contain indicators of the progress of an operation in the first and second regions, the metadata fields of the first and second regions being respectively intended to contain, during a data update operation in a page of the first region, the indexes of a page in the second region and of said page of the first region.