One-Time Programmable Memory Storage Address Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

One-time programmable memory technologies face inefficiencies due to the wastage of storage space when modifying data, as existing fault tolerance mechanisms require abandoning original data versions during updates, leading to excessive storage space allocation.

Innovation Solution

A one-time programmable memory device with a memory controller that manages initial address units and storage units using a one-hot encoding method, allowing for efficient allocation and re-allocation of storage addresses without abandoning original data versions, thereby optimizing storage usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the fault tolerance mechanism based on version is used, then the function of modifying data contents is achieved, but a lot of storage spaces are wasted

Engineering Contradiction:
Improvedata modification functionVSAvoidstorage space
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The memory is divided into two distinct blocks: a first block containing initial address units that store variable metadata and mapping information, and a second block containing storage units that hold actual data. This segmentation allows the system to track variable locations efficiently without requiring duplicate storage of all variable data, thus reducing wasted storage space while maintaining data modification capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of copying all variable data when creating a new version, the system copies only the necessary address mapping information in the initial address units. The actual data remains in the second block and is accessed through the updated address mappings, significantly reducing the storage overhead associated with version control.

Inventive Principle:
Principle #26Copying

2Ease of operation

If the fault tolerance mechanism based on version is used, then data can be modified, but storage space allocation becomes excessive

Engineering Contradiction:
Improvedata modification capabilityVSAvoidstorage space allocation
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The system extracts the essential metadata (address mappings, variable information) from the complete data set and stores it separately in the initial address units. This extraction allows the main storage block to be used more efficiently, as only the necessary addressing information needs to be updated during modifications rather than duplicating entire data sets.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a new dimensional approach by separating the addressing layer (first block with initial address units) from the data storage layer (second block with storage units). This dimensional separation enables efficient tracking of variable locations and simplifies the modification process, allowing updates without proportional increases in storage allocation.

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

Data Source

PatentUS11397535B2One-time programmable memory device and fault tolerance method thereof
Publication Date: 2022.07.26 NUVOTON
  • US11397535B2 patent drawing
  • US11397535B2 patent drawing
  • US11397535B2 patent drawing

AI summary

A one-time programmable memory device is provided in the invention. The one-time programmable memory device includes a one-time programmable memory and a memory controller. The one-time programmable memory includes a first block and a second block. The first block includes a plurality of initial address units and each initial address unit corresponds to a variable to record the storage address of its corresponding variable, and wherein the second block includes a plurality of storage units and each storage unit has a corresponding storage address. The memory controller is coupled to the one-time programmable memory. The memory controller allocates the storage address to the variable. The content of each variable is stored in the storage unit corresponding to the storage address corresponding to the variable. The number of initial address units is smaller than the number of storage units.