OTP Memory Error Detection Across Multiple Programming Sessions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

One-time programmable (OTP) memory technologies face challenges in maintaining data integrity when programmed over multiple sessions due to potential bit flips caused by aging or environmental factors, as error detection codes cannot be modified once programmed and may not cover all programming sessions effectively.

Innovation Solution

Incorporating a first set of data bits for user programmable data, a second set for multiple error detection code entries equal to the number of programming sessions, and a third set for a counter value to track the number of sessions, allowing for verification of data integrity by matching computed error detection codes with stored values.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If error detection code is programmed once into OTP memory, then data integrity verification is enabled, but the error detection code cannot be updated for subsequent programming sessions

Engineering Contradiction:
Improvedata integrity verificationVSAvoidmulti-session programming capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The error detection code is segmented into multiple separate entries, each corresponding to a specific programming session. Instead of using a single error detection code for the entire OTP memory, the patent divides the verification mechanism into session-specific segments, allowing each programming session to have its own dedicated error detection code that can be independently verified.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent prepares multiple error detection code entries in advance, one for each expected programming session. During the programming process, the appropriate error detection code entry is selected and programmed alongside the data, enabling verification without requiring modification of previously programmed error detection codes.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If OTP memory is programmed multiple times over different sessions, then flexibility in data programming is improved, but data integrity cannot be verified for all sessions

Engineering Contradiction:
Improvemulti-session programming flexibilityVSAvoiddata integrity verification
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent creates copies of error detection code entries for each programming session. Each session has its own copy of the verification mechanism, stored at a predetermined location. This allows the system to maintain multiple versions of the error detection code, one for each session, without interfering with previously programmed sessions.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent adds a session dimension to the error detection code structure. Instead of a single-dimensional error detection code, the system uses a two-dimensional structure where error detection codes are organized by session number, allowing verification across multiple programming sessions while maintaining the integrity of each individual session's data.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Reliability

If error detection code is stored in OTP memory, then data verification is possible, but memory space is consumed and cannot be reused

Engineering Contradiction:
Improvedata verification capabilityVSAvoidmemory space utilization
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent designs the error detection code entries to serve multiple functions. Each error detection code entry not only verifies data integrity but also implicitly tracks programming session information. The predetermined storage locations for these codes are optimized to minimize memory overhead while enabling both verification and session tracking capabilities.

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

Applied Scientific Principles

This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.

Function Achieved in This Case

Ensures data integrity by providing a new error detection code for each programming session and tracking the number of sessions, enabling verification of data integrity and preventing errors due to bit flips or excessive programming.

Implementation Method 1

The high voltage causes electromigration of the e-fuse material to open or blow out the connection

Methodology Applied
Scientific EffectElectromigration:

Implementation Method 2

The high voltage causes the thin oxide to breakdown to establish an electrical connection through the oxide layer

Methodology Applied
Scientific EffectOxide breakdown:

Data Source

PatentUS11392450B1Data integrity check for one-time programmable memory
Publication Date: 2022.07.19 AMAZON TECH INC
  • US11392450B1 patent drawing
  • US11392450B1 patent drawing
  • US11392450B1 patent drawing

AI summary

A one-time programmable (OTP) memory can be programmed over a number of programming sessions in which each programming session writes a different portion of the memory. To provide the OTP memory with data integrity check capability, the OTP memory stores multiple error detection code entries. With each programming session, a new error detection code is stored in a previously unused entry. When the OTP memory is read, the error detection code corresponding to the latest programming session is used to verify the content of the OTP memory.