Transactional Memory Atomic Look-up Add Lock for Network Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network processor integrated circuits face challenges in efficiently managing packet traffic and data structures due to limitations in processing power and memory access, particularly in handling hash operations and logging packet and byte count information.

Innovation Solution

The Island-Based Network Flow Processor (IB-NFP) employs a novel transactional memory with a configurable Command/Push/Pull (CPP) data bus, enabling Atomic Look-up, Add, and Lock (ALAL) commands and Stats Add-and-Update (AU) operations, along with a hardware trie structure for efficient lookup operations, utilizing a state machine array and pipeline architecture to manage hash tables and data structures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Power

If multiple microengines access the same memory resources via a common bus, then processing power is increased, but memory access efficiency and throughput are limited by bus contention

Engineering Contradiction:
Improveprocessing powerVSAvoidmemory access efficiency
Core Design Contradiction:
PowerVSProductivity

Solution Approach 1:

The patent segments the common memory resource into multiple transactional memory sets, with each microengine having dedicated access to specific sets. This segmentation eliminates bus contention by allowing parallel access to different memory sets, thereby maintaining high processing power while improving memory access efficiency and throughput.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If traditional memory access operations are used, then simplicity is maintained, but atomicity of compound operations cannot be guaranteed

Engineering Contradiction:
Improveoperation simplicityVSAvoidatomicity guarantee
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent merges multiple discrete memory operations (lookup, add, lock) into a single atomic transactional memory operation. The transactional memory controller receives a compound operation request and executes all sub-operations atomically, ensuring that either all operations complete successfully or none do. This maintains simplicity for the user while guaranteeing atomicity, resolving the contradiction between operational simplicity and reliability.

Inventive Principle:
Principle #5Merging (Combining)

3Ease of operation

If hash operations and logging operations are performed separately, then operational clarity is maintained, but processing overhead increases

Engineering Contradiction:
Improveoperational clarityVSAvoidprocessing overhead
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent combines hash operations and logging operations into a single atomic transactional memory operation. The transactional memory controller processes both operations simultaneously within one transaction, eliminating the overhead of separate memory access operations while maintaining operational clarity through a unified interface. This resolves the contradiction by reducing processing overhead without sacrificing ease of operation.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9804976B1Transactional memory that performs an atomic look-up, add and lock operation
Publication Date: 2017.10.31 NETRONOME SYSTEMS INC
  • US9804976B1 patent drawing
  • US9804976B1 patent drawing
  • US9804976B1 patent drawing

AI summary

A transactional memory (TM) receives an Atomic Look-up, Add and Lock (ALAL) command across a bus from a client. The command includes a first value. The TM pulls a second value. The TM uses the first value to read a set of memory locations, and determines if any of the locations contains the second value. If no location contains the second value, then the TM locks a vacant location, adds the second value to the vacant location, and sends a result to the client. If a location contains the second value and it is not locked, then the TM locks the location and returns a result to the client. If a location contains the second value and it is locked, then the TM returns a result to the client. Each location has an associated data structure. Setting the lock field of a location locks access to its associated data structure.