Peripheral Adapter Parallel TLP Processing via Steering Module

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computing systems and adapters are limited in handling multiple transactions per clock cycle, as they are designed to process one transaction layer packet (TLP) at a time, leading to inefficiencies in data transfer and communication with peripheral devices.

Innovation Solution

The implementation of a steering module and dual data paths within the adapter, utilizing a 'ping-pong' scheme to efficiently route and process multiple TLPs in parallel, ensuring proper ordering and validation, and dynamic buffer sizing based on traffic patterns to enhance throughput.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a conventional adapter processes one TLP at a time, then the system design is simple, but the processing throughput is limited

Engineering Contradiction:
ImproveTLP processing throughputVSAvoidadapter structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The adapter is divided into multiple independent processing paths (first path and second path), each capable of processing TLPs independently. This segmentation allows parallel TLP processing, increasing throughput from one TLP per clock cycle to multiple TLPs per clock cycle without requiring complete redesign of the entire adapter architecture

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a temporal dimension to processing by implementing pipelining where TLPs are processed at different stages simultaneously. The first TLP is being processed while the second TLP is prepared, creating a pipeline that processes multiple TLPs through time-based parallelism rather than spatial parallelism alone

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

2Speed

If multiple TLPs are processed in parallel, then the processing speed increases, but the packet ordering and validation becomes more difficult

Engineering Contradiction:
Improvedata transfer speedVSAvoidpacket ordering accuracy
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

Validation logic is performed in advance on each TLP before it enters the processing pipeline. The steering module pre-validates TLP parameters and determines routing decisions before the actual data transfer begins, ensuring that ordering and validity are established beforehand rather than being checked during processing

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms where the steering module receives status information about processed TLPs and uses this feedback to manage the pipeline. Validation results and processing status are fed back to control the steering decisions for subsequent TLPs, ensuring proper ordering and detecting errors in parallel processing

Inventive Principle:
Principle #23Feedback

3Productivity

If fixed buffer sizes are used, then the device complexity is low, but the buffer efficiency under varying traffic patterns decreases

Engineering Contradiction:
Improvebuffer utilization efficiencyVSAvoidbuffer management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The buffer size is made dynamic rather than fixed, allowing it to adjust based on actual traffic patterns. The system can expand or shrink buffer allocation according to the volume and characteristics of incoming TLPs, optimizing buffer utilization efficiency without requiring overly complex buffer management hardware

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the buffer parameter from a static value to a variable that can be adjusted based on traffic conditions. By monitoring traffic patterns and adapting buffer size accordingly, the system achieves higher buffer efficiency while maintaining manageable complexity through parameter-based adaptation rather than structural complexity

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8977786B1Method and system for processing information at peripheral devices
Publication Date: 2015.03.10 MARVELL ASIA PTE LTD
  • US8977786B1 patent drawing
  • US8977786B1 patent drawing
  • US8977786B1 patent drawing

AI summary

Methods and device coupled to a computing device and a network device are provided. A first module receives a first packet and a second packet via a same single data path from the computing device. A second module receives the first packet at a first buffer via a first path and the second packet at a second buffer via a second path. The first module uses a steering mechanism to steer the first packet in the first path and the second packet in the second path. The second module uses an arbitration module to select the first packet and the second packet for maintaining an order in which the first packet and the second packet are received and for sending the first packet and the second packet to a third module for further processing.