Flash Memory Counter Update Method Using Pre-Programmed Values

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash-type memories can only be erased in full memory pages, making it inefficient to store and update counter values, as erasing an entire page takes significantly longer than programming a single byte, which is problematic in applications with limited time constraints, such as near-field communication technology.

Innovation Solution

A method is developed to initialize a flash memory page by erasing and programming all possible counter values in a single operation, allowing for rapid updates by resetting the page to zero and writing successive counter values, enabling efficient storage and increment/decrement operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If flash memory is used to store counter values, then non-volatile storage capability is improved, but update speed deteriorates due to full page erasure requirement

Engineering Contradiction:
Improvenon-volatile storage capabilityVSAvoidcounter update speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The flash memory page is segmented into multiple counter value storage locations, where each location stores a specific counter value. This allows the system to update only the specific counter value location rather than erasing the entire page, thus resolving the contradiction between non-volatile storage and update speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

All possible counter values are pre-programmed into the flash memory page during initialization. When a counter update is needed, the system only needs to erase and rewrite a single byte location with the new value, rather than erasing the entire page. This preliminary preparation enables fast updates while maintaining non-volatile storage.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If full page erasure is performed in flash memory, then data integrity is improved, but operation time increases significantly

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

Solution Approach 1:

The invention extracts the counter value storage function from the entire flash memory page, isolating it to specific byte locations within the page. This allows the erasure operation to be limited to only the necessary byte locations rather than the entire page, reducing operation time while maintaining data integrity for the counter values.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of performing a full page erasure (excessive action), the system performs only the minimal necessary erasure of individual byte locations containing counter values (partial action). This reduces the operation time significantly while still ensuring data integrity for the updated counter values.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If EEPROM is used for counter storage, then byte-level programming efficiency is improved, but non-volatile memory modernization deteriorates

Engineering Contradiction:
Improvebyte-level programming efficiencyVSAvoidnon-volatile memory modernization
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The invention makes flash memory universal for both bulk storage and counter value storage by implementing a byte-level update mechanism. This allows flash memory to replace EEPROM in counter storage applications while maintaining the productivity benefits of byte-level programming efficiency and gaining the advantages of modern non-volatile memory technology.

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

Data Source

PatentUS10181356B2Flash memory counter
Publication Date: 2019.01.15 STMICROELECTRONICS INT NV
  • US10181356B2 patent drawing
  • US10181356B2 patent drawing

AI summary

A method of updating a counter in a flash memory includes a first phase where a set of values capable of being taken by the counter are programmed in at least one page of the flash memory. A second phase of updating the counter programs a state zero in the flash memory each time the counter is incremented/decremented.