Linked-List Search Engine Offloading CPU Workload

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current CPU-based search methods for linked lists are inefficient and can benefit from dedicated hardware to improve overall performance by offloading search workloads.

Innovation Solution

A linked-list search apparatus comprising a memory, a linked-list search engine, and a processing unit that writes linked list content into memory and drives the search engine to search until success or failure, with a configuration register setting search parameters and storing results.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If CPU-based search methods are used for linked lists, then the implementation is simple and flexible, but the search efficiency is low and CPU workload is high

Engineering Contradiction:
Improvesearch efficiencyVSAvoidhardware complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a dedicated linked-list search engine as an intermediary hardware component between the CPU and memory. This search engine specializes in traversing and searching linked lists, offloading this specific task from the general-purpose CPU. The search engine includes a traversal unit that follows node pointers and a comparison unit that matches search keys, providing efficient specialized processing without requiring full CPU intervention for each search operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The search engine is designed to autonomously perform search operations on linked lists without requiring continuous CPU intervention. Once initialized with a search key and starting point, the traversal unit independently navigates through the linked list nodes, and the comparison unit independently performs key matching, enabling the system to service search requests self-sufficiently and improve overall productivity.

Inventive Principle:
Principle #25Self-service

2Loss of time

If dedicated hardware search engine is introduced, then search performance improves and CPU workload reduces, but system complexity increases

Engineering Contradiction:
Improvesearch timeVSAvoidsystem complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The search engine is segmented into distinct functional units: a traversal unit that handles node navigation and a comparison unit that handles key matching. This segmentation allows each unit to be optimized for its specific function and enables parallel operation, reducing search time while keeping each individual unit relatively simple in structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The search engine is designed with universal functionality to handle various types of linked list search operations. The traversal unit can follow pointers in different node structures, and the comparison unit can match different data types, making the hardware applicable to multiple search scenarios without requiring separate specialized hardware for each case.

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

Data Source

PatentUS11308171B2Apparatus and method for searching linked lists
Publication Date: 2022.04.19 SILICON MOTION INC
  • US11308171B2 patent drawing
  • US11308171B2 patent drawing
  • US11308171B2 patent drawing

AI summary

The invention introduces an apparatus for searching linked lists at least including: a memory arranged to operably store a linked list; a linked-list search engine arranged to operably search content of the linked list until a search success or fail and generate a search result; and a processing unit arranged to operably write the content of the linked list into the memory, drive the linked-list search engine to start a search on the linked list and obtain the search result from the linked-list search engine.