OTP Memory Resume and Repair for In-Field Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing one-time programmable (OTP) memory technologies restrict programming to manufacture time due to potential errors from power interruptions, rendering in-field updates unreliable and non-operational, with existing solutions lacking recovery mechanisms.
Innovation Solution
An embedded device with a memory controller unit and word repair registers, along with an algorithm that enables multiple retries and repair of corrupted OTP memory locations, allowing for robust in-field programming and repair of firmware or configuration data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If OTP memory programming is restricted to manufacture time only, then programming reliability is improved (no power interruption risks), but in-field update capability is lost
Solution Approach 1:
The patent implements preliminary detection of interrupted programming states before attempting to program OTP memory. The system checks whether previous programming attempts were completed successfully, and only allows new programming if the memory is in a valid state. This preliminary action prevents corrupted data from overwriting good data, thereby maintaining reliability while enabling in-field updates.
Solution Approach 2:
The patent employs feedback mechanisms where the system continuously monitors the programming status of OTP memory and provides status information about whether programming was interrupted or completed successfully. This feedback enables the system to make informed decisions about whether to proceed with programming, retry previous operations, or maintain the existing state, thus balancing reliability with update capability.
2Productivity
If power interruption during OTP programming is not detected, then programming speed is improved (no checking overhead), but programming accuracy deteriorates (corrupted data not identified)
Solution Approach 1:
Before executing the programming operation, the system performs a preliminary check to detect whether the OTP memory contains signs of interrupted programming. This detection occurs before the programming process begins, minimizing overhead during actual programming while ensuring accuracy by preventing programming of corrupted memory states.
Solution Approach 2:
The patent changes the state parameters of the OTP memory by programming specific indicator values that signify whether programming was interrupted or completed successfully. These parameter changes enable the system to distinguish between valid and corrupted programming states, thereby maintaining programming accuracy without significantly impacting speed.
3Device complexity
If interrupted programming is not recovered, then device complexity is reduced (no recovery mechanisms), but loss of information increases (corrupted OTP content)
Solution Approach 1:
The patent introduces an intermediary detection mechanism that identifies interrupted programming states without requiring complex recovery hardware. The system uses software-based detection algorithms that analyze OTP memory contents to determine whether programming was interrupted, providing a low-complexity solution that prevents information loss through corrupted data overwriting.
Solution Approach 2:
The patent applies local quality control by detecting and handling interrupted programming states at specific locations within the OTP memory. Rather than implementing system-wide complex recovery mechanisms, the system performs localized detection and prevention at the point where interrupted programming would cause corruption, thereby maintaining OTP content integrity with minimal added complexity.
Data Source
AI summary
A method and apparatus for programming a one-time programmable (OTP) memory device is disclosed that allows for resuming and recovering from an interrupted programming cycle (e.g. due to loss of power or user interaction). Upon re-initiation of a programming cycle with the same memory range, a programming controller may detect the memory address where interruption occurred, and resume programming from that address. If the programming interruption resulted in an incorrectly programmed word at the interrupted address, a word repair register may be mapped to the corrupted address to enable correction of that word. The remainder of the memory range may then be programmed normally.


