Memory-Mapped Hardware FIFO for Low-Latency Data Queuing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing microprocessor computer 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 network congestion and protocol overhead.

Innovation Solution

The implementation of memory-mapped hardware FIFOs with control mechanisms, allowing for efficient data mapping, transformation, and forwarding across distributed computing architectures, thereby offloading queue management from the processor core to hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

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

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

Solution Approach 1:

The patent segments the memory hierarchy by introducing a dedicated FIFO buffer structure that is separate from cache memory. The FIFO is implemented as a distinct data structure with its own head and tail pointers, allowing data to be queued without polluting the cache. This segmentation enables independent optimization of cache for frequently accessed data and FIFO for sequential data flow buffering.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a FIFO buffer as an intermediary structure between the network interface and the processor/cache system. This intermediary FIFO buffer absorbs the shock of high-rate incoming data packets, preventing them from directly overwhelming the cache memory and causing latency penalties. The FIFO acts as a buffer zone that decouples the high-speed data arrival from the slower processing rate.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If FIFO buffers are implemented in software using memory structures, then flexibility is achieved, but processing speed decreases

Engineering Contradiction:
ImproveFIFO implementation flexibilityVSAvoiddata processing speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent replaces the software-based FIFO implementation (which uses general-purpose memory structures and requires processor intervention) with a hardware-based FIFO buffer. This hardware FIFO is implemented using dedicated circuitry with automatic head and tail pointer management, eliminating the need for software intervention and significantly increasing data processing speed while maintaining the FIFO data structure flexibility.

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

Solution Approach 2:

The hardware FIFO buffer is designed to be self-managing with automatic head and tail pointer updates. The FIFO controller automatically handles data enqueueing at the tail and dequeueing from the head without requiring processor intervention, making the system self-service and eliminating the performance overhead of software management while preserving adaptability.

Inventive Principle:
Principle #25Self-service

3Measurement precision

If processor cores handle network traffic directly, then protocol processing is accurate, but processor availability decreases

Engineering Contradiction:
Improveprotocol processing accuracyVSAvoidprocessor availability
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent extracts the network traffic buffering function from the processor core, placing it in a dedicated hardware FIFO buffer. This extraction allows the processor to focus on high-level protocol processing and application logic while the hardware FIFO handles the low-level data queuing and rate matching. The processor core retains control over protocol processing accuracy through configuration and control registers while gaining improved availability.

Inventive Principle:
Principle #2Taking out (Extraction)

4Loss of time

If high data rates are handled without buffering, then latency is minimized, but data corruption or loss occurs due to congestion

Engineering Contradiction:
Improvedata transmission latencyVSAvoiddata integrity
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent implements preliminary buffering action by introducing a hardware FIFO buffer that pre-queues incoming data packets before they are processed. This preliminary buffering prevents data loss during congestion by holding data in the FIFO until the processing pipeline is ready, while the direct memory-mapped access path maintains low latency by avoiding unnecessary data copying or complex buffering operations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12222884B2Systems and methods for mapping hardware FIFO to processor address space
Publication Date: 2025.02.11 THE GOVERNMENT OF THE UNITED STATES AS REPRESENTED BY THE SECRETARY OF THE AIR FORCE
  • US12222884B2 patent drawing
  • US12222884B2 patent drawing
  • US12222884B2 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.