Program Counter Manipulator for ROM Code Patching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing microprocessor systems with mask programmable ROMs face challenges in updating program code to correct defects or improve functionality, as the instructions are frozen and cannot be changed post-manufacturing.

Innovation Solution

A method and device that bypass a first program code portion by using a replacement program code portion stored in a second memory area, where a program counter is manipulated to switch execution from the first memory address to the second memory address, allowing for selective replacement of erroneous instructions without altering the original ROM.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If mask programmable ROM is used to store program instructions, then the instructions are frozen and cannot be changed after manufacturing, but this prevents updating program code to correct defects or improve functionality

Engineering Contradiction:
Improveprogram code correctnessVSAvoidprogram code updatability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent divides the program storage into two segments: a ROM segment containing the original frozen program instructions and a separate storage segment (RAM/EEPROM) containing replacement program code portions. This segmentation allows the system to maintain the reliability of the original ROM while enabling updates through the replaceable segment, thus resolving the contradiction between program code correctness and updatability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a program counter manipulator as an intermediary component that mediates between the ROM and the replacement code storage. This manipulator intercepts program counter values, compares them against stored replacement addresses, and redirects execution to replacement code when matches are found. This intermediary mechanism enables code updating without modifying the original ROM, resolving the contradiction between maintaining original code integrity and enabling updates.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the entire ROM is replaced to correct program defects, then all program code can be updated, but this increases device complexity and manufacturing costs

Engineering Contradiction:
Improveprogram code correctnessVSAvoidROM replacement complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts only the defective or needs-updating program code portions from the original ROM and stores them separately in a replaceable storage medium. Instead of replacing the entire ROM, the system extracts and replaces only the necessary code segments, thereby reducing device complexity and manufacturing costs while still achieving the goal of correcting program defects.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies partial action by replacing only the specific program code portions that need updating or correction, rather than performing excessive action by replacing the entire ROM. The program counter manipulator enables selective redirection to replacement code segments, allowing minimal changes to achieve maximum benefit in terms of defect correction with reduced complexity.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If program code is updated to improve functionality, then the system becomes more versatile, but this requires modifying the original ROM which is not allowed in one-time programmable memories

Engineering Contradiction:
Improvefunctionality extensionVSAvoidROM modification ease
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The patent merges the original ROM functionality with an additional replaceable storage medium. The system combines the immutable original program code in ROM with updatable replacement code in RAM/EEPROM, allowing functionality extension through the merged system. This merging approach enables versatility improvement without requiring modification of the original ROM manufacturing process.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent prepares replacement program code portions in advance and stores them in a separate replaceable storage medium before they are needed. The program counter manipulator is pre-configured with replacement addresses, enabling quick switching to improved functionality without requiring real-time ROM modification. This preliminary action allows functionality extension while maintaining the ease of original ROM manufacturing.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9348597B2Device and method for bypassing a first program code portion with a replacement program code portion
Publication Date: 2016.05.24 INFINEON TECHNOLOGIES AG
  • US9348597B2 patent drawing
  • US9348597B2 patent drawing
  • US9348597B2 patent drawing

AI summary

A device comprises a processor configured to execute a sequence of program instructions, a first storage configured to store a first memory address, a second storage configured to store a second memory address, a program counter configured to determine a memory address of program instructions to be executed, and a program counter manipulator configured to set the program counter to a value corresponding to a content of the second storage in response to the program counter reaching a value corresponding to a content of the first storage.