Memory-Mapped Hardware FIFOs for Low-Latency Packet Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current microprocessor systems face challenges in efficiently handling high-data-rate network traffic, leading to latency penalties, cache pollution, and potential data corruption or loss due to the processing of network packets.

Innovation Solution

The implementation of memory-mapped hardware FIFOs with a small state machine or microcontroller to efficiently manage and process data across a distributed computing architecture, allowing for low-power processors to handle incoming and outgoing data efficiently by mapping FIFO heads and tails into the processor's address space and offloading queue management to hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If network packets are sent to cache for processing, then data can be stored and retrieved, but latency penalties increase and cache pollution occurs

Engineering Contradiction:
Improvedata integrityVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts network packet handling operations from the main processor and cache system by introducing dedicated hardware FIFO buffers and state machines. These specialized components handle packet queuing, addressing, and data movement independently, preventing cache pollution and reducing latency associated with general-purpose processor handling.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces hardware FIFO buffers as intermediary components between the network interface and the processor/cache system. These FIFOs act as mediators that buffer incoming packets, manage data flow, and coordinate with the processor only when necessary, thereby reducing direct cache access and latency penalties.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If multiple FIFOs are implemented to handle different data types, then data organization improves, but device complexity increases

Engineering Contradiction:
Improvedata organizationVSAvoidFIFO management complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent implements universal FIFO buffer structures that can handle multiple data types and network protocols through configuration rather than separate hardware instances. The state machine and control logic are designed to be multi-functional, adapting to different data organization requirements without increasing physical device complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If hardware FIFOs are used instead of software queues, then processing speed increases, but manufacturing complexity increases

Engineering Contradiction:
Improvedata processing speedVSAvoidimplementation complexity
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The patent replaces software-based queue management with hardware-implemented FIFO buffers and state machines. This substitution of mechanical/hardware systems for software systems enables parallel processing and eliminates software overhead, significantly increasing data processing speed despite the increased manufacturing complexity of hardware components.

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

Data Source

PatentUS11392529B2Systems and method for mapping FIFOs to processor address space
Publication Date: 2022.07.19 THE GOVERNMENT OF THE UNITED STATES AS REPRESENTED BY THE SECRETARY OF THE AIR FORCE
  • US11392529B2 patent drawing
  • US11392529B2 patent drawing
  • US11392529B2 patent drawing

AI summary

An apparatus for a microprocessor computer system and method for configuring the same where said microprocessor computer system comprises a processor core and at least one hardware buffer FIFO with memory-mapped head and tail that handles data movement among the processor cores, networks, raw data input and outputs, and memory. The method for configuring said microprocessor computer system comprises utilizing a FIFO auxiliary processor to process said data traversing said hardware FIFO; utilizing said hardware FIFOs to efficiently pipe data through functional blocks; and utilizing a FIFO controller to perform DMA operations that include non-unit-stride access patterns and transfers among processor cores, networks, raw data input and outputs, memory, and other memory-mapped hardware FIFOs.