Intelligent Packet Data Register File for Picoengine Stall Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-processor systems face challenges in efficiently processing packet data due to limitations in handling incomplete data sets, leading to pipeline stalls and inefficiencies in data retrieval from packet buffer memory.

Innovation Solution

The implementation of intelligent packet data register files with slice portions and prefetch capabilities, which detect data gaps and issue requests to the packet buffer memory, allowing for parallel data retrieval and alignment, thereby preventing stalls and optimizing data availability for execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the intelligent packet data register file caches a subset of packet data in the register file read stage, then data access speed for frequently used bytes is improved, but the register file size and complexity increase

Engineering Contradiction:
Improvedata access speedVSAvoidregister file complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The packet data is segmented into two portions: a subset of bytes that are cached in the intelligent packet data register file for fast access, and the remaining bytes that remain in the packet buffer memory. This segmentation allows frequently accessed data to be stored locally in the register file while less frequently accessed data remains in the larger buffer memory, resolving the contradiction between fast access speed and register file size/complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The intelligent packet data register file provides localized caching capability within the processor pipeline, creating a fast data access path for specific packet bytes that are needed by the execute stage. This local caching approach improves data access speed for critical bytes without requiring the entire packet buffer to be present in the register file, thus managing complexity while enhancing performance.

Inventive Principle:
Principle #3Local quality

2Reliability

If the intelligent packet data register file detects missing bytes and issues a packet portion request to the packet buffer memory, then complete packet data can be retrieved, but pipeline stalls occur during data retrieval

Engineering Contradiction:
Improvedata completenessVSAvoidprocessing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The intelligent packet data register file proactively detects when required packet bytes are missing before the execute stage needs them, and immediately issues a packet portion request to the packet buffer memory. By detecting and requesting missing data in advance, the system prepares for potential stalls before they impact the execute stage, improving data reliability while minimizing the duration of throughput disruption.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a feedback mechanism where the intelligent packet data register file continuously monitors the contents of cached packet bytes and compares them against the requirements of incoming instructions. When a mismatch is detected (missing bytes), the system feedbacks a request to the packet buffer memory through the packet portion request bus system, ensuring data completeness while triggering appropriate pipeline responses.

Inventive Principle:
Principle #23Feedback

3Reliability

If the packet buffer memory stores the complete packet data, then all packet bytes are available for processing, but access latency increases when retrieving specific bytes

Engineering Contradiction:
Improvedata availabilityVSAvoiddata retrieval latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments packet data access into two paths: frequently needed bytes are segmented out and cached in the intelligent packet data register file for immediate access, while the complete packet data remains segmented and stored in the packet buffer memory. This segmentation resolves the contradiction by providing both complete data availability in the buffer and fast access latency for critical bytes through the register file cache.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The intelligent packet data register file acts as an intermediary between the execute stage and the packet buffer memory. It caches a subset of packet bytes that are likely to be needed, providing a buffer that reduces access latency for frequently accessed data while the complete packet data remains available in the packet buffer memory for comprehensive data availability.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If multiple picoengine processors are assigned to process packet data in parallel, then processing throughput is improved, but coordination overhead and resource contention increase

Engineering Contradiction:
Improveprocessing throughputVSAvoidsystem coordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The intelligent packet data register file and packet buffer memory system serves multiple picoengine processors simultaneously, providing a universal data caching and retrieval mechanism that supports parallel processing. Each processor can independently access the packet buffer memory and benefit from the intelligent register file caching, reducing the need for processor-specific data paths and simplifying coordination while maintaining high throughput.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent merges the data caching functionality into a shared intelligent packet data register file system that serves multiple processors, rather than providing separate caches for each processor. This consolidation reduces overall system complexity and resource duplication while maintaining parallel processing capabilities, as multiple processors can coordinate through the shared buffer memory system.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9887918B1Intelligent packet data register file that stalls picoengine and retrieves data from a larger buffer
Publication Date: 2018.02.06 NETRONOME SYSTEMS INC
  • US9887918B1 patent drawing
  • US9887918B1 patent drawing
  • US9887918B1 patent drawing

AI summary

A multi-processor includes a pool of processors and a common packet buffer memory. Bytes of packet data of a packet are stored in the packet buffer memory. Each of the processors has an intelligent packet data register file. One processor is tasked with processing the packet data, and its packet data register file caches a subset of the bytes of packet data. Some instructions when executed require that the packet data register file supply the execute stage of the processor with certain bytes of the packet data. If during instruction execution the intelligent packet data register file determines that it does not store some of the necessary bytes, then the register file asserts a stall signal thereby stalling the processor, and retrieves the bytes from the packet buffer memory, and then supplies the retrieved bytes to the execute stage, and de-asserts the stall signal to unstall the processor.