OTP Memory Data Modification via Manufacture-Defined Blocks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional one-time programmable (OTP) memories lack the ability to modify data once it is programmed, limiting their functionality in applications requiring data updates.
Innovation Solution
Incorporating a logic circuit and memory array with manufacturer-defined and user-defined blocks, along with an information block, to allow data replacement by redirecting read and program addresses, enabling data modification by storing replacing data in manufacturer-defined blocks and redirecting read addresses to these blocks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is programmed in conventional OTP memory, then data storage is achieved with lower manufacturing cost and high data retention, but data modification ability is lost
Solution Approach 1:
The memory is divided into manufacture-defined blocks and user-defined blocks. The manufacture-defined blocks are reserved for storing replacement data, while user-defined blocks store original data. This segmentation allows the system to maintain the original OTP characteristics for data retention while enabling modification through the dedicated manufacture-defined blocks.
Solution Approach 2:
An information block is introduced as an intermediary component that stores mapping relationships between user-defined blocks and manufacture-defined blocks. This information block acts as a mediator that enables data modification by redirecting read operations to the appropriate manufacture-defined blocks containing replacement data.
2Ease of manufacture
If conventional OTP memory structure is used, then manufacturing cost is reduced, but functionality for data updates is limited
Solution Approach 1:
The memory is divided into manufacture-defined blocks and user-defined blocks. The manufacture-defined blocks are reserved for storing replacement data, while user-defined blocks store original data. This segmentation allows the system to maintain the original OTP characteristics for data retention while enabling modification through the dedicated manufacture-defined blocks.
Solution Approach 2:
The manufacture-defined blocks serve multiple functions: they can store replacement data for modification operations and maintain the original OTP data retention characteristics. The information block provides universal mapping functionality that enables both read and write operations to be redirected appropriately, giving the system multi-functional capability.
3Adaptability or versatility
If data modification is enabled in OTP memory, then data update capability is improved, but memory structure complexity increases
Solution Approach 1:
An information block is introduced as an intermediary component that stores mapping relationships between user-defined blocks and manufacture-defined blocks. This information block acts as a mediator that enables data modification by redirecting read operations to the appropriate manufacture-defined blocks containing replacement data.
Solution Approach 2:
The system creates a mapping copy of the data location relationships in the information block, which stores the correspondence between user-defined blocks and manufacture-defined blocks. This copying approach allows the system to manage complexity by maintaining a simplified mapping structure rather than complex direct manipulation of the underlying memory blocks.
Data Source
AI summary
A method of programming data stored in a memory, which comprises a number of user-defined blocks, a number of manufacture-defined blocks, and an information block, includes the following steps. A programming address pointing to a user-defined block in the memory and programming data is obtained. After that, it is determined whether there is an empty manufacture-defined block among a number of user-defined blocks in the memory. If so, an information block in the memory is programmed to store the programming address and a replacing address pointing to the empty manufacture-defined block. The empty manufacture-defined block is programmed to store the programming data.


