OTP Memory Error Detection Across Multiple Programming Sessions
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Reliability
If error detection code is stored in OTP memory, then data verification is possible, but memory space is consumed and cannot be reused
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.
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
Implementation Method 2
The high voltage causes the thin oxide to breakdown to establish an electrical connection through the oxide layer
Data Source
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.


