Flash Memory Counter Layout for Atomic Multi-Page Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing counters in flash memory poses challenges due to the granularity differences between writing (per word) and erasing (per page) operations, which complicates ensuring atomicity and data integrity, especially in applications where power interruptions or disturbances can render data unusable.

Innovation Solution

The solution involves organizing counter storage across multiple pages in a flash memory, using a structured format with metadata and frames to ensure atomicity by maintaining the last valid state of counter increments/decrements, allowing for efficient writing and reading while preserving data integrity through CRC checks and error handling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If counter storage is organized across multiple pages with structured format and metadata, then atomicity and data integrity are ensured, but device complexity increases

Engineering Contradiction:
Improveatomicity of counter updatesVSAvoidstorage organization structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The flash memory is divided into multiple pages, with each page containing a specific number of frames for counter storage. This segmentation allows the system to manage counter updates in smaller, atomic units while maintaining overall data integrity across the entire storage structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary actions by creating a structured storage format with metadata and CRC checks before actual counter updates occur. This pre-organization of storage pages and frames, along with pre-calculated error-checking mechanisms, ensures that when updates happen, atomicity is maintained without requiring complex runtime operations.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If structured format with metadata and frames is used, then data integrity is preserved through CRC checks, but manufacturing complexity increases

Engineering Contradiction:
Improvedata integrityVSAvoidstorage structure implementation
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The storage structure includes self-service features through automated CRC checks and metadata management. The system automatically verifies data integrity and manages the structured format without requiring external intervention, simplifying the manufacturing process while maintaining high data integrity standards.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent employs parameter changes by implementing CRC checks and structured formatting that can be applied uniformly across different storage configurations. This standardized approach to data integrity verification allows the same manufacturing process to be used regardless of the specific flash memory capacity or page size.

Inventive Principle:
Principle #35Parameter changes

3Duration of action of stationary object

If multiple pages are used for counter storage, then endurance is improved, but operation complexity increases

Engineering Contradiction:
Improveendurance of counter storageVSAvoidcounter management
Core Design Contradiction:
Duration of action of stationary objectVSEase of operation

Solution Approach 1:

By segmenting counter storage across multiple pages with defined frames, the system distributes wear across the entire flash memory capacity. This segmentation allows the memory to endure more write cycles overall, while the structured organization simplifies the management of which pages contain valid counter data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements feedback mechanisms through metadata that tracks the state of each page and frame. This feedback information allows the system to automatically manage counter storage operations, determining which pages are active and which are obsolete, thereby simplifying operation despite the multi-page structure.

Inventive Principle:
Principle #23Feedback

4Reliability

If atomicity criterion is enforced for counter transactions, then reliability of counter state is improved, but operation speed decreases

Engineering Contradiction:
Improvecounter state integrityVSAvoidcounter update speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The storage structure is preliminarily organized into pages and frames with associated metadata before counter updates occur. This pre-organization allows atomic updates to be performed by simply writing to predefined locations without requiring complex runtime validation, thus maintaining high speed while ensuring atomicity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent employs a disposable approach to counter storage by using multiple frames within pages, where individual frames can be quickly written and then discarded once superseded. This allows atomic updates to be performed rapidly by writing to a new frame without requiring lengthy verification processes, as the old frame data is simply replaced rather than validated in real-time.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentEP3246819B1Flash memory counter
Publication Date: 2019.08.28 PROTON WORLD INT
  • EP3246819B1 patent drawingFigure 1~2
  • EP3246819B1 patent drawingFigure 3~4
  • EP3246819B1 patent drawingFigure 5~6

AI summary

The invention relates to a method for storing at least one counter (Ci) in a flash memory, in which each page (Pl) of the memory allocated to the storage of the counter(s) comprises: header data including a first word (MD11) intended to contain a number (1) of the page, a word (Ci) per counter to store a first value thereof, and a second word (MD12) intended to contain a calculated error control code taking into account the first values; frames (Fj) all having the same number of words, each frame being intended to contain an independent value of the data of the frame, at least one occurrence of an identifier (i) of a counter, each frame written representing an increment or decrement of the value of the counter concerned with respect to its first value.