PCIe Capture Buffer Compression for Reduced Analyzer Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional PCIe Protocol Analyzers face challenges with high costs and error proneness due to the need for large memory buffers to capture and process high-speed data, leading to issues with signal integrity and data processing when capturing protocol exchanges on the PCIe bus, especially with the increased bandwidth of PCIe Gen 6 protocol.

Innovation Solution

A method and system that reduce the amount of data stored in capture buffers by performing real-time data integrity checks, omitting unnecessary data integrity bits, ACK/NACK packets, and compressing payloads in parallel, using an interposer circuit with a capture buffer accessible by a user interface computer for analysis, thereby reducing storage needs and maintaining data integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If large memory buffers are used to capture high-speed PCIe data, then data capture capability is improved, but cost and error proneness increase

Engineering Contradiction:
Improvedata capture capabilityVSAvoiderror proneness
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent extracts and removes redundant data elements from the captured PCIe protocol data. Specifically, it identifies and eliminates data integrity bits (such as CRC fields) and acknowledgment packets (ACK/NACK) that are unnecessary for debugging purposes, thereby reducing the total data volume stored in buffers without compromising the essential debugging information.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies different quality treatments to different parts of the captured data. Instead of uniformly storing all captured data, it selectively preserves only the necessary portions (removing redundant integrity checks and acknowledgments) while maintaining the essential protocol exchange information needed for debugging, thereby optimizing buffer usage and reducing errors.

Inventive Principle:
Principle #3Local quality

2Quantity of substance

If large memory buffers are used to capture high-speed PCIe data, then data capture capability is improved, but material cost increases

Engineering Contradiction:
Improvedata capture capabilityVSAvoidmaterial cost
Core Design Contradiction:
Quantity of substanceVSEase of manufacture

Solution Approach 1:

The patent extracts and removes redundant data elements from the captured PCIe protocol data. Specifically, it identifies and eliminates data integrity bits (such as CRC fields) and acknowledgment packets (ACK/NACK) that are unnecessary for debugging purposes, thereby reducing the total data volume stored in buffers without compromising the essential debugging information.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies different quality treatments to different parts of the captured data. Instead of uniformly storing all captured data, it selectively preserves only the necessary portions (removing redundant integrity checks and acknowledgments) while maintaining the essential protocol exchange information needed for debugging, thereby optimizing buffer usage and reducing errors.

Inventive Principle:
Principle #3Local quality

3Quantity of substance

If large memory buffers are used to capture high-speed PCIe data, then data capture capability is improved, but signal integrity issues increase

Engineering Contradiction:
Improvedata capture capabilityVSAvoidsignal integrity issues
Core Design Contradiction:
Quantity of substanceVSObject-affected harmful factors

Solution Approach 1:

The patent extracts and removes redundant data elements from the captured PCIe protocol data. Specifically, it identifies and eliminates data integrity bits (such as CRC fields) and acknowledgment packets (ACK/NACK) that are unnecessary for debugging purposes, thereby reducing the total data volume stored in buffers without compromising the essential debugging information.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies different quality treatments to different parts of the captured data. Instead of uniformly storing all captured data, it selectively preserves only the necessary portions (removing redundant integrity checks and acknowledgments) while maintaining the essential protocol exchange information needed for debugging, thereby optimizing buffer usage and reducing errors.

Inventive Principle:
Principle #3Local quality

4Quantity of substance

If data is compressed in parallel, then storage requirements are reduced, but processing complexity increases

Engineering Contradiction:
Improvestorage requirementsVSAvoidprocessing complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent segments the PCIe protocol data into distinct components that can be processed independently in parallel. It identifies specific data elements (data integrity bits, ACK/NACK packets, payload sections) that can be filtered and compressed separately, allowing parallel processing pipelines to operate on different segments simultaneously, thereby reducing storage requirements while managing processing complexity through modular organization.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12199760B2Method and system for reducing data stored in capture buffer
Publication Date: 2025.01.14 KEYSIGHT TECHNOLOGIES INC
  • US12199760B2 patent drawing
  • US12199760B2 patent drawing
  • US12199760B2 patent drawing

AI summary

A method is provided for decompressing wide word data compressed in parallel. The method includes creating an instance of memory structure for a wide word in the wide word data, where the instance of memory structure is an inverse of a compression dictionary for the wide word; retrieving multiple compressed codes iteratively from a gap-free compressed output stream of the wide word data using the instance of memory structure, where each compressed code includes at least one character code and a reverse-pointer, and where at least one compressed code includes a multi-symbol string having a multiple character codes; forming an intermediate decompressed output stream by iteratively following the reverse-pointers for the multiple compressed codes, respectively; and forming decompressed output stream by reversing an order of the character codes in the multi-symbol string of the at least one compressed code.