Content Addressable Memory Ordered Storage Structure

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing ordered storage structures, such as linked lists, face delays due to their sequential nature, which hampers efficient access to stored items, particularly in scenarios requiring enhanced access order preservation like FIFO or LIFO operations.

Innovation Solution

Implementing an ordered storage structure based on Content Addressable Memory (CAM) where items are stored with unique identifiers matching the access order, allowing for rapid retrieval and write operations by using these identifiers as search keys within the CAM.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If linked lists are used to implement ordered storage structures, then the order of items can be preserved (FIFO/LIFO), but access to internal items requires sequential traversal which causes delays

Engineering Contradiction:
Improveorder preservationVSAvoidaccess delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the storage structure by introducing multiple access points (head, tail, and middle) instead of a single sequential structure. Each segment can be accessed independently through its own pointer, allowing parallel access to different portions of the data structure without requiring sequential traversal through all elements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a new dimension to the traditional linear linked list by introducing middle pointers that can point to any node in the list. This transforms the single-dimensional sequential access model into a multi-dimensional access model where items can be reached from multiple entry points simultaneously, reducing access time for internal elements.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Device complexity

If sequential traversal is used to access internal items in linked lists, then the structure remains simple, but access speed decreases due to the sequential nature

Engineering Contradiction:
Improvestructure simplicityVSAvoidaccess speed
Core Design Contradiction:
Device complexityVSSpeed

Solution Approach 1:

The patent applies preliminary action by pre-establishing multiple pointers (head, tail, and middle pointers) that can directly access different segments of the data structure. Instead of traversing sequentially when access is needed, the appropriate pointer is already positioned to provide direct access, eliminating the need for sequential traversal and improving access speed.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If multiple access points are added to improve access speed, then access efficiency increases, but the structure becomes more complex

Engineering Contradiction:
Improveaccess efficiencyVSAvoidstructure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements universality by designing middle pointers that can serve multiple functions: they can point to any node in the list, act as additional access points for parallel operations, and maintain the ordered structure. This multi-functional design allows the same pointer mechanism to handle various access patterns without requiring separate specialized structures for each access type.

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

Data Source

PatentUS8255623B2Ordered storage structure providing enhanced access to stored items
Publication Date: 2012.08.28 NVIDIA CORP
  • US8255623B2 patent drawing
  • US8255623B2 patent drawing
  • US8255623B2 patent drawing

AI summary

An ordered storage structure implemented based on a content addressable memory (CAM). In an embodiment, a set of identifiers are formed with an order matching a desired access order for items. Each item is stored with a corresponding identifier in an entry of the CAM, with the identifiers being stored in the searchable fields/columns of the CAM. Thus, the items can be retrieved in the desired access order by providing the identifiers as search key inputs to the CAM in the desired access order.