Ticket Order Release Bitmap for Sequential Packet Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network flow processor integrated circuits face challenges in ensuring packets are released in sequential order due to out-of-sequence ticket release commands, leading to inefficiencies in processing and potential packet reordering.

Innovation Solution

The implementation of a ticket order release bitmap system with a Global Reordering Block (GRO) and a Configurable Mesh Command/Push/Pull (CPP) data bus, where each Ticket Order Release Bitmap Block (TORBB) stores a part of the ticket order release bitmap, and the GRO receives queue entries and ticket release commands to manage sequential packet release through a dispatcher thread and worker threads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a general purpose ticket release mechanism is used, then processing speed is improved, but packet reordering occurs due to out-of-sequence commands

Engineering Contradiction:
Improveprocessing speedVSAvoidpacket order
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The ticket release bitmap is divided into multiple blocks (TORB0-TORB3) with different protection levels. Blocks 0-3 are unprotected and allow fast processing, while block 4 is protected to ensure sequential order. This segmentation allows the system to process most tickets quickly while maintaining reliability for critical sequential packets.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different portions of the bitmap have different quality characteristics - unprotected blocks prioritize speed while the protected block prioritizes reliability. This local differentiation allows the system to optimize for both speed and reliability in different regions of the same data structure.

Inventive Principle:
Principle #3Local quality

2Productivity

If unprotected bitmap blocks are used, then processing efficiency is improved, but errors occur when bits are incorrectly set

Engineering Contradiction:
Improveprocessing efficiencyVSAvoiderror prevention
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The protected TORB block acts as a cushion or safety buffer that prevents errors from propagating. By having this protected region, the system prepares in advance to catch and prevent erroneous bit settings, allowing faster processing in unprotected regions without compromising overall reliability.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Reliability

If sequential packet release is enforced, then packet reordering is prevented, but processing throughput decreases

Engineering Contradiction:
Improvepacket orderVSAvoidprocessing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The bitmap is segmented into protected and unprotected portions, allowing the system to enforce sequential release only when necessary (in the protected block) while permitting out-of-sequence processing in unprotected blocks, thus maintaining throughput while ensuring reliability when needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of enforcing sequential release for all packets (excessive action that would reduce throughput), the system applies sequential enforcement only partially - specifically for packets corresponding to the protected TORB block - achieving sufficient reliability without overly restricting throughput.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10496625B1Ordering system that employs chained ticket release bitmap having a protected portion
Publication Date: 2019.12.03 NETRONOME SYSTEMS INC
  • US10496625B1 patent drawing
  • US10496625B1 patent drawing
  • US10496625B1 patent drawing

AI summary

An ordering system includes a plurality of ticket order release bitmap blocks that together store a ticket order release bitmap, a bus and a Global Reordering Block (GRO). Each Ticket Order Release Bitmap Block (TORBB) stores a different part of the ticket order release bitmap. A first TORBB of the plurality of TORBBs is protected. The GRO 1) receives a queue entry onto the ordering system from a thread, 2) receives a ticket release command from the thread, and in response 3) outputs a return data of ticket release command. The queue entry includes a first sequence number. The return data of ticket release command indicates if a bit in the protected TORBB was set. An error code is included in the return data of ticket release command if a bit is set within the protected TORBB. When a bit in the TORBB is set the thread stops processing packets.