Updating Data in One-Time Programmable Storage via Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Integrated circuits face increased costs and manufacturing complexities due to the need for rewritable non-volatile memory to store updateable data, which is not feasible with one-time programmable (OTP) storage devices that lack the ability to efficiently update and differentiate between new and outdated data.

Innovation Solution

Implementing a processor that writes updated data to unused areas in a one-time programmable (OTP) storage device, using techniques such as tallying or indexing to distinguish valid from stale data, thereby allowing for data updates without the need for rewritable memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If rewritable non-volatile memory is used to store updateable data, then data can be updated and retained, but manufacturing cost and device complexity increase

Engineering Contradiction:
Improvedata update capabilityVSAvoidmanufacturing complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the OTP memory into multiple blocks, each capable of storing a specific amount of data. By dividing the memory into segments (e.g., Block 0, Block 1, Block 2), the system can update data in unused segments while preserving valid data in other segments, enabling update functionality without requiring rewritable memory.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses a valid data indicator (VDI) to preliminarily mark which memory blocks contain valid data before updates occur. This preliminary indication allows the processor to identify and preserve valid data while writing updated data to unused blocks, eliminating the need for complex rewritable memory structures.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If rewritable non-volatile memory is incorporated into an IC, then updateable data can be stored, but manufacturing cost increases disproportionately

Engineering Contradiction:
Improvedata update capabilityVSAvoidmanufacturing cost
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The patent divides the OTP memory into multiple segments with different sizes (e.g., Block 0: 256 bytes, Block 1: 512 bytes, Block 2: 1024 bytes). This segmentation allows the system to use only the necessary portion of memory for updates while keeping other portions as valid data storage, reducing the overall memory requirement and manufacturing cost compared to using full rewritable memory.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses disposable fuse-based OTP memory blocks that can be programmated once and then read indefinitely. By using multiple such disposable blocks in a segmented structure, the system achieves update capability without the high cost of rewritable memory, as each block serves its purpose and can be replaced or overwritten in subsequent updates.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Device complexity

If OTP memory is used without segmentation, then device complexity is reduced, but data update capability is lost

Engineering Contradiction:
Improvememory structure simplicityVSAvoiddata update capability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent segments the OTP memory into multiple blocks with varying sizes, creating a structured approach to data updates. This segmentation maintains relative simplicity compared to rewritable memory while enabling update capability, as the processor can simply write to the next unused block and update the VDI accordingly.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic allocation of memory blocks through the valid data indicator (VDI), which tracks which blocks are currently valid. This dynamic tracking mechanism enables the system to adaptively use available blocks for updates without requiring complex rewritable memory structures, maintaining simplicity while achieving versatility.

Inventive Principle:
Principle #15Dynamics

4Reliability

If updated data is written to OTP memory, then data can be retained, but differentiation between valid and stale data becomes difficult

Engineering Contradiction:
Improvedata retentionVSAvoidvalid data recognition
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent uses a valid data indicator (VDI) to preliminarily mark which memory blocks contain valid data before updates occur. This preliminary indication allows the processor to easily identify valid data during reads without complex recognition techniques, as the VDI directly indicates the validity status of each block.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses the valid data indicator (VDI) as a visual or logical marker that changes state to indicate the validity of data in each memory block. Similar to color changes providing visual distinction, the VDI provides a clear, easily detectable signal that differentiates between valid and stale data, simplifying the detection process while maintaining data retention.

Inventive Principle:
Principle #32Color changes

Data Source

PatentUS8810846B1Updating data in a one-time programmable data storage device
Publication Date: 2014.08.19 MARVELL ASIA PTE LTD
  • US8810846B1 patent drawing
  • US8810846B1 patent drawing
  • US8810846B1 patent drawing

AI summary

A system and method are disclosed for updating data stored in a one-time programmable (non-rewritable) non-volatile storage device (“OTP”). The OTP is segmented so that updated data may be written to unused areas. Valid data may be differentiated from stale data using a data recognition technique such as tallying or indexing. According to a tallying technique, an updated event count may be obtained by counting the number of blown bits in the OTP. Each time the event occurs, the next bit is blown. According to an indexing technique, each bit in an index corresponds to a data block in the OTP. When updated data is written to the next (empty) data block in order in the OTP, the corresponding (next) index bit is blown. A valid data set may be located by counting the number of blown bits in the index.