Dynamic Hardware Table Programming via Compiler-Generated Instruction Sets

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network devices often require software updates to configure or update hardware tables, which can be disruptive and impossible during continuous operation, limiting the ability to implement flexible pipeline definitions for network chips.

Innovation Solution

A method and system that uses a compiler to generate a hardware table update initial instruction set from a flexible pipeline definition, allowing network devices to configure themselves without modifying existing software, enabling dynamic updates to hardware tables and facilitating runtime operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If software updates are used to configure hardware tables, then hardware tables can be updated, but device operations are interrupted

Engineering Contradiction:
Improvehardware table configuration flexibilityVSAvoidcontinuous device operation
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system separates hardware table configuration from the main control plane by introducing a dedicated compiler component that generates specialized instruction sets. This segmentation allows hardware table updates to be handled independently without requiring full software updates, thereby maintaining continuous device operation while enabling flexible configuration changes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A compiler acts as an intermediary between the high-level flexible pipeline definition and the hardware table configuration. The compiler translates the pipeline definition into specific hardware table update instruction sets, enabling indirect configuration of hardware tables without direct software intervention that would interrupt device operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If software updates are required for hardware table configuration, then hardware tables can be re-configured, but configuration speed is reduced

Engineering Contradiction:
Improvehardware table re-configuration capabilityVSAvoidconfiguration speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The compiler pre-generates optimized hardware table update instruction sets from flexible pipeline definitions before execution. This preliminary compilation step prepares the configuration data in advance in an optimized format, enabling rapid hardware table updates without the need for time-consuming software update processes during actual configuration changes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system replaces the traditional software-based configuration mechanism with a compiler-generated instruction set mechanism. This substitution eliminates the overhead of software updates and directly programs hardware tables through efficient instruction sets, dramatically improving configuration speed while maintaining re-configuration capability.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Adaptability or versatility

If traditional software updates are used for hardware table updates, then updates can be applied, but device complexity increases

Engineering Contradiction:
Improvehardware table update capabilityVSAvoidsoftware update mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system extracts the hardware table configuration functionality from the main software update mechanism by introducing a separate compiler component. This extraction creates a dedicated, simplified path for hardware table updates that does not require complex software update processes, reducing overall device complexity while maintaining update capability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The compiler generates instruction sets that copy and adapt the flexible pipeline definition into hardware-specific table configuration commands. This copying process creates a simplified representation of the configuration data that can be directly applied to hardware tables without requiring complex software update mechanisms.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11301231B2Dynamic run time programming of hardware tables
Publication Date: 2022.04.12 ARISTA NETWORKS INC
  • US11301231B2 patent drawing
  • US11301231B2 patent drawing
  • US11301231B2 patent drawing

AI summary

Embodiments disclosed herein relate to method and systems for updating hardware tables. Such methods may include receiving a flexible pipeline definition from a controller at a compiler; generating, by the compiler, a hardware table update initial instruction set; and transmitting the hardware table update initial instruction set to a network device. The network device may use the hardware table initial instruction set to configure the network device to implement the flexible pipeline definition for a network chip.