Monotonic NAND Memory Counters With Power-Loss Tolerant Writes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Memory systems, particularly non-volatile storage memories like NAND flash, are susceptible to data degradation and bit error rates, which can lead to issues such as replay attacks due to the need for frequent writing and the inability to use error correction codes for counting operations.

Innovation Solution

Implementing a monotonic counter system with a volatile counter and a non-volatile memory array, where information is written only after a certain number of increments, using redundant bits to compensate for high bit error rates and incorporating a mechanism to ensure a monotonically increasing count even after power loss, by initializing the count based on previous writes and swapping storage blocks to maintain a large counting range.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If information is written to the memory array each time the counter is incremented, then the count is accurately recorded, but the memory array degrades faster due to excessive write operations

Engineering Contradiction:
Improvecount accuracyVSAvoidmemory array lifespan
Core Design Contradiction:
ReliabilityVSDuration of action of stationary object

Solution Approach 1:

The patent applies partial action by writing to the memory array only when the counter reaches a threshold value (e.g., every 2^16 increments) rather than after every single increment. This reduces the number of write operations from potentially millions to just a handful, significantly extending memory array lifespan while still maintaining sufficient count recording capability through the combination of volatile and non-volatile storage

Inventive Principle:
Principle #16Partial or excessive action

2Ease of operation

If the volatile counter is initialized to zero after power loss, then the counting starts fresh, but the count may decrease which enables replay attacks

Engineering Contradiction:
Improvecounter initializationVSAvoidmonotonicity
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent applies preliminary action by pre-calculating and storing an initialization value in the memory array before power loss occurs. When power is restored, this stored value is retrieved and used to initialize the volatile counter, ensuring it resumes from a valid previous state rather than zero. This preliminary preparation prevents count decrease and maintains monotonicity, thereby preventing replay attacks

Inventive Principle:
Principle #10Preliminary action

3Reliability

If redundant bits are added to compensate for bit error rates, then the reliability against errors improves, but the device complexity increases

Engineering Contradiction:
Improveerror resistanceVSAvoidcounter system structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent uses the memory array as an intermediary storage structure that holds both the counter value and redundant check bits. Rather than implementing complex error correction circuits directly in the counter logic, the system leverages the memory array's inherent structure and simple read/write operations to store and verify redundant information, achieving error resistance with minimal additional complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11657877B2Monotonic counters in memories
Publication Date: 2023.05.23 MICRON TECHNOLOGY INC
  • US11657877B2 patent drawing
  • US11657877B2 patent drawing
  • US11657877B2 patent drawing

AI summary

An apparatus, such as a memory (e.g., a NAND memory), can have a controller, a volatile counter coupled to the controller, and a non-volatile memory array coupled to the controller. The controller can be configured to write information, other than a count of the counter, in the array each time the count of the counter has been incremented by a particular number of increments. Counts can be monotonic, non-volatile, and power-loss tolerant.