One-time Programmable Memory Address Reassignment

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 storage spaces for new versions, leading to excessive resource utilization.

Innovation Solution

A one-time programmable memory device with a memory controller that manages initial-address-unit groups, initial address control units, and storage units using binary and one-hot encoding methods, allowing for efficient storage and modification of variables by reassigning storage addresses and tracking usage limits to prevent unnecessary space abandonment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If fault tolerance mechanism is implemented based on version with multiple storage spaces, then data modification capability is improved, but storage space utilization deteriorates

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

Solution Approach 1:

The storage space is divided into multiple versions (first version storage space, second version storage space, etc.), each capable of storing different variable contents. This segmentation allows selective copying of only the modified variable to the appropriate version space, rather than migrating all variables, thereby improving storage utilization while maintaining modification capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different storage spaces are allocated with different characteristics - the first version storage space stores initial variable contents, while the second version storage space stores modified variable contents. This local differentiation allows efficient use of storage resources by only allocating space where modifications are needed, rather than uniformly allocating space across all versions.

Inventive Principle:
Principle #3Local quality

2Adaptability or versatility

If original storage space is abandoned for new version, then data modification is enabled, but resource utilization deteriorates

Engineering Contradiction:
Improvedata modification capabilityVSAvoidstorage resource waste
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

When a variable needs modification, the system copies the modified variable content to the appropriate version storage space and updates the pointer, while the original storage space is marked as available for reuse. This discarding and recovering mechanism allows the system to maintain modification capability while recovering storage resources for future use, reducing waste.

Inventive Principle:
Principle #34Discarding and recovering

Solution Approach 2:

The storage system dynamically allocates and deallocates storage spaces based on modification needs. Storage spaces are not fixed but can be dynamically reassigned to different variables or versions as needed, allowing the system to adapt to changing data requirements while optimizing resource utilization.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11494298B2One-time programmable memory device and fault tolerance method thereof
Publication Date: 2022.11.08 NUVOTON
  • US11494298B2 patent drawing
  • US11494298B2 patent drawing
  • US11494298B2 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, a second block and a third block. The first block includes a plurality of initial-address-unit groups and each initial-address-unit group 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. The second block includes a plurality of initial address control units and each initial address control unit corresponds to one of the variables to record the corresponding initial-address-unit group of each variable. The third block includes a plurality of storage units and each storage unit has a corresponding storage address. The memory controller is configured to assign the storage addresses to the variables.