Flash Memory Segmentation for Transaction Atomicity
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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
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.
Data Source
Figure 1~2
Figure 3
Figure 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.