Address Tag Verification for Data Integrity in Computer Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing error detection and correction methods in computing systems fail to effectively address transient errors and ensure data integrity, particularly in complex memory systems with separated address and data transactions, leading to undetectable errors and silent data corruption.

Innovation Solution

A replication and comparison method is implemented in a computing system, where a symbol is generated based on an address and used to verify the association between data and its corresponding address, even when they are separated by space and time, enhancing data protection through a network interconnect with separate address and data networks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If separate address and data networks are used to optimize memory transactions, then transaction efficiency is improved, but data integrity is worsened due to potential mismatching between addresses and data

Engineering Contradiction:
Improvetransaction efficiencyVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

A tag is introduced as an intermediary element that travels with data on the data network to verify its association with the address. The tag acts as a mediator that connects the separated address and data paths, allowing verification of their relationship without requiring them to travel together, thus maintaining both transaction efficiency and data integrity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The tag is generated and attached to the data before the data transaction occurs. This preliminary action ensures that the verification mechanism is already in place before potential mismatches can occur, allowing for proactive rather than reactive integrity checking

Inventive Principle:
Principle #10Preliminary action

2Reliability

If error detection codes are used to protect data, then data integrity is improved, but device complexity is worsened due to additional check bits and verification logic

Engineering Contradiction:
Improvedata integrityVSAvoidverification complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Instead of using complex error detection codes, the patent creates a simplified copy or representation of the address (the tag) that travels with the data. This tag is a condensed version that can be easily generated and verified, reducing the complexity of the verification mechanism while maintaining integrity protection

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The essential verification information is extracted from the full address to create a compact tag. This extraction process removes unnecessary complexity by keeping only the critical portions of the address that are needed for verification, reducing the overhead compared to full address copying or complex error codes

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS7523342B1Data and control integrity for transactions in a computer system
Publication Date: 2009.04.21 ORACLE AMERICAN INC
  • US7523342B1 patent drawing
  • US7523342B1 patent drawing
  • US7523342B1 patent drawing

AI summary

A computer system configured to enhance data protection. A computer system includes one or more clients, such as processing subsystems and a memory subsystem interconnected via a network. Transactions within the system may involve the separation of data and a corresponding address in both space and time. At various points in the system, operations may be performed which seek to reunite a data and corresponding address, such as a store operation. In order to further ensure the correspondence of data and an address which is to be used in an operation, clients are configured to generate and utilize an additional symbol. The symbol is generated at least in part on an address which corresponds to data. The symbol is then associated with the data and serves to represent the corresponding address. The symbol may then be utilized by various clients within the system to check an address which is proposed to be used in an operation with the data.