PCI-Express Transaction Handler ECC for Byte-Level Data Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional PCI-Express devices face inefficiencies in generating and verifying error correction codes (ECC) due to frequent data re-alignment, leading to increased complexity and cost in maintaining data integrity during data transfers between host systems and storage devices.

Innovation Solution

A PCI-Express device with a Transaction Handler Module that adds and verifies ECC at the byte level before data alignment, generating ECC based on the destination data block size to minimize re-generation complexities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If ECC is generated and verified frequently during data re-alignment in PCI-Express devices, then data integrity is maintained, but device complexity and cost increase

Engineering Contradiction:
Improvedata integrityVSAvoidECC generation and verification complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by generating ECC codes for all possible data alignment positions in advance, before actual data transfer occurs. The Transaction Handler stores multiple pre-generated ECC codes corresponding to different alignment states, allowing immediate verification without real-time regeneration during data re-alignment operations.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If ECC is regenerated for each re-alignment option at each transition in data paths, then data integrity is maintained, but the number of gates required increases

Engineering Contradiction:
Improvedata integrityVSAvoidnumber of gates
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The Transaction Handler pre-generates and stores ECC codes for all potential alignment positions before data actually needs to be realigned. This eliminates the need for complex real-time ECC regeneration logic during data path transitions, reducing the gate count required for dynamic ECC operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the ECC generation process into discrete, pre-computed units corresponding to different alignment positions. Each alignment position has its own pre-generated ECC code stored in the Transaction Handler, allowing selective retrieval without regenerating the entire ECC system for each alignment change.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If data is realigned frequently during transfer through HBA, then data format compatibility is improved, but ECC verification complexity increases

Engineering Contradiction:
Improvedata format compatibilityVSAvoidECC verification complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The Transaction Handler prepares and stores ECC codes for multiple alignment positions in advance, so when data realignment is needed for format compatibility, the corresponding pre-generated ECC code is simply retrieved and verified without complex real-time computation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7681102B2Byte level protection in PCI-Express devices
Publication Date: 2010.03.16 MARVELL ASIA PTE LTD
  • US7681102B2 patent drawing
  • US7681102B2 patent drawing
  • US7681102B2 patent drawing

AI summary

Method and system for protecting data in a PCI-Express device is provided. The method includes adding error correction code (ECC) to every byte of data that enters a PCI-Express Transaction Handler (“PTH”) Module and is destined for a host system memory or destined to another device, before the data is aligned within the PTH module; verifying the ECC code for every byte of the data before the data leaves the PTH module; and generating the ECC code for a data block size, wherein the data block size depends on the destination of the data.