Memory Address Aliasing Detection via Storage Gaps

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computer systems with large storage capacities, addressing errors due to incorrect most-significant bits in memory references are common, especially when switching between 31-bit and 64-bit addressing modes, leading to aliasing errors that are difficult to detect and correct, especially across multiple address spaces.

Innovation Solution

A system and method that configures storage with defined gaps in address spaces to detect aliasing errors by throwing exceptions when incorrect addresses are referenced, using the DEFINE STORAGE CONFIG command to create non-contiguous addressable ranges, ensuring that only valid addresses within specific slices are accessible, and using hardware exceptions to signal aliasing errors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If storage is configured with gaps in address spaces to detect aliasing errors, then measurement precision of address errors is improved, but device complexity increases due to non-contiguous addressable ranges and hardware exception mechanisms

Engineering Contradiction:
Improveaddress error detectionVSAvoidstorage configuration
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The address space is segmented into multiple non-contiguous ranges with gaps between them. Each range is assigned to a specific address space (e.g., 31-bit or 64-bit mode), creating distinct segments that prevent aliasing errors by ensuring addresses from different segments cannot collide

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The storage configuration with gaps is established in advance before program execution. This preliminary configuration creates a test environment where aliasing errors can be detected automatically when programs attempt to access addresses in invalid gap regions, without requiring additional runtime checking mechanisms

Inventive Principle:
Principle #10Preliminary action

2Reliability

If gaps are created in valid address ranges, then reliability of address referencing is improved by catching aliasing errors, but loss of information increases due to reduced usable address space

Engineering Contradiction:
Improveaddress referencingVSAvoidusable address space
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The address space parameters are changed by introducing gaps at specific boundaries (e.g., between 2GB and 4GB). These parameter changes create detectable patterns in address validity that allow reliable distinction between correct and aliased addresses while minimizing the impact on usable space

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If hardware exceptions are used to signal aliasing errors, then ease of operation is improved by automatic error detection, but productivity decreases due to exception handling overhead

Engineering Contradiction:
Improveerror detectionVSAvoidprogram execution
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system performs self-service error detection by automatically generating hardware exceptions when aliasing errors occur. The exception mechanism is built into the storage configuration itself, eliminating the need for external error checking code and allowing the system to detect and report errors autonomously

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7523291B2System and method for testing for memory address aliasing errors
Publication Date: 2009.04.21 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US7523291B2 patent drawing
  • US7523291B2 patent drawing
  • US7523291B2 patent drawing

AI summary

Aliasing errors, occasioned by, for example, a programming error resulting in including extra or missing bits in a storage address, wrong addressing mode, or wrong address context, are detected by providing a storage address configuration including gaps in valid addresses. Such a programming error is detected and an exception is thrown (that is, an addressing error is detected and indicated) responsive to an address reference to such a gap in valid addresses. Gaps are configured at complementary address ranges to facilitate detection of such aliasing errors.