Coalescing Hardware Table Writes for Non-Disruptive Network Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for updating hardware tables in network elements are disruptive, especially in link flapping scenarios, and require specific ordering to prevent inconsistencies and traffic disruptions.

Innovation Solution

A method and apparatus that utilize a shared memory system to coalesce and store lookup entries, allowing hardware writers to perform table modifications in a non-disruptive manner by determining consistent states and handling potential inconsistencies, such as priority inversions and deadlocks, using temporary locations and conflict-free processing orders.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If a FIFO queue is used to store data for the data plane, then data is programmed in order, but every data update is sent to the hardware writer causing disruptions in link flapping scenarios

Engineering Contradiction:
Improvedata consistencyVSAvoidupdate efficiency
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent merges multiple identical or redundant data updates into a single update operation. When the same data needs to be programmed multiple times (e.g., during link flapping), the system consolidates these into one hardware table update, eliminating redundant operations and preventing disruptions while maintaining data consistency.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system changes the state parameter of data updates by tracking whether data has already been programmed. By comparing update timestamps and detecting duplicate update requests, the system identifies when no actual change occurs and skips redundant hardware updates, thereby improving productivity without compromising stability.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If existing entries are moved to add new entries to the hardware table, then new entries can be added, but the moves can be disruptive unless performed in specific order

Engineering Contradiction:
Improvetable flexibilityVSAvoidtraffic continuity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies preliminary action by allocating temporary storage locations for entries that need to be moved before actually performing the move operation. This allows the system to prepare the hardware table in advance, ensuring that new entries can be added without disrupting existing traffic flow, as the temporary locations are reserved beforehand to prevent conflicts.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces temporary storage locations as intermediaries between the existing hardware table entries and the final destination. These temporary locations act as buffers that allow entries to be relocated without causing traffic disruptions, as the movement can be coordinated through these intermediate storage spots rather than directly overwriting active entries.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If multiple hardware writers independently access lookup entries, then processing parallelism is achieved, but inconsistencies and deadlocks may occur

Engineering Contradiction:
Improveprocessing throughputVSAvoidtable consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements feedback mechanisms where hardware writers check the current state of hardware table entries before performing updates. By continuously monitoring whether entries are consistent and detecting potential conflicts or deadlocks, the system can adjust the processing order or pause operations to maintain table consistency while still achieving high throughput through parallel processing when conditions permit.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10546018B2System and method of coalescing writes to a hardware table in a non-disruptive fashion
Publication Date: 2020.01.28 ARISTA NETWORKS INC
  • US10546018B2 patent drawing
  • US10546018B2 patent drawing
  • US10546018B2 patent drawing

AI summary

A method and apparatus of a network element that stores a lookup entry in a hardware table of a network element is described. In an exemplary embodiment, the network element receives a notification of a dirty lookup entry to be processed for a hardware table of a network element, where the hardware table includes a plurality of lookup entries. In addition, the network element determines a location for a table modification associated with the dirty lookup entry in the hardware table. Furthermore, the network element performs, with a hardware writer of the network element, the table modification associated with the lookup entry in a non-disruptive manner, where the hardware writer performs the table modification associated with the lookup entry in response to determining that the table modification associated with the lookup entry does not leave one of the plurality of lookup entries inconsistent after the table modification is performed.