CAM-Based Reorder Engine for Datacenter Packet Reliability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In communication networks, packet congestion and out-of-order data transmission due to synchronized computing devices and varying network paths lead to slowed data transmission speeds, increased data loss, and difficulties in maintaining state information across data flows.

Innovation Solution

A communication protocol system utilizing a content addressable memory (CAM) hardware architecture with a reorder engine and retransmission engine to process and reorder data packets, ensuring reliable transport by comparing sequence numbers and reordering out-of-order packets before output.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple synchronized computing devices send data to a same receiver computing device in parallel, then data transmission throughput is improved, but packet congestion occurs which slows down transmission speed and increases data loss

Engineering Contradiction:
Improvedata transmission throughputVSAvoidpacket delivery reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements a reorder buffer that pre-allocates buffer spaces for incoming packets and maintains expected sequence numbers in advance. When packets arrive out of order, the buffer holds them temporarily until all expected packets are received, then releases them in correct sequence. This preliminary preparation of buffer structures and sequence tracking resolves the contradiction by enabling high-throughput parallel reception while ensuring reliable ordered delivery.

Inventive Principle:
Principle #10Preliminary action

2Speed

If packets are transmitted through different network paths to improve transmission speed, then data transmission efficiency is improved, but packets arrive out of sequence making it difficult to maintain state information

Engineering Contradiction:
Improvedata transmission speedVSAvoidstate information continuity
Core Design Contradiction:
SpeedVSLoss of information

Solution Approach 1:

The patent employs a feedback mechanism where the receiver tracks expected sequence numbers and compares them with actually received packets. When packets arrive out of order, the system uses the sequence number feedback to identify missing packets and hold them in the reorder buffer until the complete sequence is received. This feedback-driven reordering maintains state information continuity while allowing parallel path transmission.

Inventive Principle:
Principle #23Feedback

3Reliability

If out-of-order packets are held for additional processing to maintain sequence, then packet ordering reliability is improved, but transmission latency increases

Engineering Contradiction:
Improvepacket sequence orderingVSAvoidtransmission latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements a reorder buffer with a finite capacity that holds packets only when necessary for reordering. Rather than holding all packets indefinitely, the buffer uses a threshold-based approach where packets are released as soon as they can be delivered in sequence. This partial holding action maintains ordering reliability while minimizing latency by not excessively delaying packet transmission.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11283719B2Content addressable memory (CAM) based hardware architecture for datacenter networking
Publication Date: 2022.03.22 GOOGLE LLC
  • US11283719B2 patent drawing
  • US11283719B2 patent drawing
  • US11283719B2 patent drawing

AI summary

A communication protocol system is provided for reliable transport of packets. A content addressable memory hardware architecture including a reorder engine and a retransmission engine may be utilized for the reliable transport of the packets. In this regard, a reorder engine includes a content addressable memory (CAM) and one or more processors in communication with the CAM. The one or more processors are configured to receive a first set of data packets when executed by the one or more processors. The one or more processors are configured to access the content addressable memory to process the first set of data packets. The one or more processors are configured to save data information of the first set of the data packets in the content addressable memory.