Hardware Linked List Memory Controller for Cloud Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional software-implemented linked lists cause processing bottlenecks and increased communication latencies in cloud-based computing due to serial traversal by general-purpose CPUs, leading to inefficiencies in memory access and network communication processing.

Innovation Solution

Implementing a hardware-based linked list within a memory controller that manages network communications independently of the CPU, using a free list of pointers to allocate and track memory locations for network packets, thereby reducing memory requests and latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a general-purpose CPU sequentially traces pointers along a software implemented linked list, then the processor can access data in memory, but this causes a multiplicity of read operations to the linked list in memory that create a processing bottleneck and increase communication latency

Engineering Contradiction:
Improvedata access capabilityVSAvoidprocessing speed
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent extracts the linked list data structure from the CPU's software processing domain and places it in the memory controller's hardware domain. The memory controller independently manages the linked list using hardware circuits, separating this function from the CPU's general-purpose processing. This extraction eliminates the bottleneck where the CPU must sequentially trace pointers through multiple memory read operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent replaces the software-based linked list implementation with a hardware-based linked list in the memory controller. Instead of using CPU instructions to traverse and manage the linked list, hardware circuits directly manage the pointer traversal and memory access sequencing. This substitution of mechanical (software) system with electrical/hardware system dramatically improves processing speed.

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

2Adaptability or versatility

If a general-purpose CPU manages network packets using software linked lists, then the system can process network communications, but the CPU is not optimized for this task causing increased communication latency

Engineering Contradiction:
Improvenetwork packet processing capabilityVSAvoidcommunication latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent extracts network packet management functions from the CPU and relocates them to the memory controller. The memory controller independently handles packet buffering, queue management, and data transmission coordination using dedicated hardware resources. This separation allows the CPU to focus on higher-level processing while the memory controller optimizes low-level packet handling, reducing communication latency.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The memory controller performs self-service by autonomously managing its own packet processing tasks without requiring continuous CPU intervention. The hardware-based linked list enables the memory controller to independently trace pointers, allocate memory, and coordinate data transfers, eliminating the latency introduced by CPU-mediated packet management.

Inventive Principle:
Principle #25Self-service

3Measurement precision

If multiple read operations are performed sequentially to trace a linked list in memory, then the processor can access any portion of data, but this creates a bottleneck with memory access requests

Engineering Contradiction:
Improvedata location accuracyVSAvoidmemory access complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent replaces the software-based pointer traversal mechanism with a hardware-based linked list implementation in the memory controller. Hardware circuits directly manage the sequential pointer chasing operation, eliminating the need for the CPU to perform multiple read operations. This substitution simplifies the memory access pattern while maintaining accurate data location.

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

Solution Approach 2:

The memory controller acts as an intermediary between the CPU and the memory. It pre-manages the linked list structure and pointer sequences in hardware, so when data access is needed, the memory controller can efficiently retrieve the required data without requiring the CPU to perform complex sequential memory reads. This intermediary role reduces memory access complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9436403B1Memory controller with on-chip linked list memory
Publication Date: 2016.09.06 MARVELL ASIA PTE LTD
  • US9436403B1 patent drawing
  • US9436403B1 patent drawing
  • US9436403B1 patent drawing

AI summary

Systems, methods, and other embodiments associated with improving communication latencies by using a hardware linked list are described. According to one embodiment, an apparatus includes a pointer memory configured to store a free list that includes a plurality of pointers that each point to an address in a memory that is unallocated. The apparatus includes a memory controller configured to manage a linked list using pointers from the plurality of pointers stored in the free list. The apparatus includes a list memory configured to store the linked list.