Address Mapping for Unambiguous Code Fragment Identification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Debugging user programs is challenging due to the ambiguity in identifying which code fragment is currently executing when multiple fragments share the same RAM address, leading to false breakpoints and inefficient debugging processes, especially when the system cannot be halted or RAM content is frequently swapped.

Innovation Solution

A system and method that maps each byte of RAM to a plurality of unique addresses, allowing the microprocessor to assign specific addresses to program code or data fragments, creating a one-to-one relationship between code/data fragments and their address ranges, enabling unambiguous retrieval and breakpoint identification.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple code fragments share the same RAM address to enable dynamic memory exchange, then memory utilization is improved, but breakpoint identification accuracy deteriorates due to false triggers

Engineering Contradiction:
Improvememory utilizationVSAvoidbreakpoint identification accuracy
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The patent introduces an intermediary mapping layer between physical RAM addresses and code fragment identities. Instead of directly comparing fetch addresses with breakpoint addresses, the system translates fetch addresses through a mapping structure (e.g., hash table or lookup table) that associates physical addresses with code fragment identifiers. This intermediary mechanism resolves the ambiguity of shared addresses by providing a unique identification path for each code fragment, thereby eliminating false breakpoint triggers while preserving memory sharing capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent extends the address space by introducing an additional dimension for code fragment identification. Rather than relying solely on the single-dimensional physical address, the system creates a multi-dimensional address structure that includes both the physical RAM address and a code fragment identifier. This dimensional extension allows the breakpoint logic to distinguish between different code fragments even when they occupy the same physical address, thus resolving the contradiction between memory sharing and breakpoint accuracy.

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

2Measurement precision

If the system halts to read RAM content for breakpoint verification, then breakpoint accuracy is improved, but system productivity deteriorates due to execution interruptions

Engineering Contradiction:
Improvebreakpoint accuracyVSAvoidsystem execution efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent implements preliminary action by pre-establishing mapping structures and code fragment identification mechanisms before breakpoint evaluation is needed. The mapping between physical addresses and code fragment identifiers is maintained in ready-to-query data structures (such as hash tables or lookup tables) that are updated as code fragments are loaded or unloaded from memory. This preliminary preparation eliminates the need for halting system execution to verify breakpoint accuracy, as the identification information is already available in the pre-configured mapping structures.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If RAM content is frequently swapped to optimize memory usage, then memory adaptability is improved, but breakpoint tracking reliability deteriorates due to dynamic content changes

Engineering Contradiction:
Improvememory dynamic exchange capabilityVSAvoidbreakpoint tracking reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements feedback mechanisms that continuously update the address-to-code-fragment mapping as RAM content changes. When code fragments are loaded into or swapped out from memory, the mapping structures (hash tables or lookup tables) are automatically updated to reflect the current state of memory contents. This feedback loop ensures that the breakpoint tracking system always has accurate information about which code fragment resides at each physical address, maintaining reliability even under frequent memory swapping conditions.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8352703B2Address mapping of program code and data in memory
Publication Date: 2013.01.08 INFINEON TECHNOLOGIES AG
  • US8352703B2 patent drawing
  • US8352703B2 patent drawing
  • US8352703B2 patent drawing

AI summary

A system for mapping information addresses in a memory. The system includes a memory wherein each byte is mapped to a plurality of unique addresses and a microprocessor for assigning at least one of the unique addresses to the information. The information can be program code fragments and/or data. Also disclosed is a method for mapping information addresses in a memory utilizing such a system. The method includes mapping each byte of memory into a plurality of unique addresses and assigning at least one of the unique addresses to the information.