Reconfigurable Shared Memory Tiles for Collision-Free Parallel Lookups

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network processor lookup systems are inflexible, with fixed memory capacity and inability to switch between hash-based and direct-access lookup techniques, limiting memory utilization and adaptability to different applications.

Innovation Solution

A system-on-chip that supports reconfigurable parallel lookups using a pool of shared memories, where the number of memories allocated for each lookup can be adjusted, and each lookup can be configured as either hash-based or direct-access, with tiles and interconnect networks programmed to enable parallel operations without collisions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the number of memories for each lookup is fixed, then the system structure is simple, but memory utilization is low and adaptability is poor

Engineering Contradiction:
Improvememory capacity adaptabilityVSAvoidsystem configuration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements reconfigurable memory allocation where the number of memories assigned to each lookup can be dynamically changed after manufacturing. This is achieved through a control unit that receives configuration data specifying the desired memory allocation for different lookup types, enabling the system to adapt to varying memory capacity requirements without physical reconfiguration.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent creates a universal memory pool that can be allocated to support multiple different lookup techniques (hash-based, direct-access, TCAM-based) with varying memory requirements. The same physical memory resources can be reconfigured to serve different lookup functions, maximizing resource utilization and system versatility.

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

2Quantity of substance

If lookup systems use fixed memory allocation, then manufacturing is easier, but memory utilization cannot reach 100%

Engineering Contradiction:
Improvememory utilizationVSAvoidsystem configuration ease
Core Design Contradiction:
Quantity of substanceVSEase of manufacture

Solution Approach 1:

The patent pre-organizes memories into a pooled structure with associated control logic that enables flexible allocation. During manufacturing, the system is prepared with the capability to reconfigure memory assignments, and configuration data is loaded to establish initial allocations optimized for specific lookup techniques, achieving high memory utilization from the start.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the allocation parameters of memory resources dynamically. By modifying the configuration data that specifies how many memories are assigned to each lookup, the system can optimize memory utilization for different applications and lookup techniques without physical changes to the hardware structure.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If the system cannot switch between lookup techniques, then the design is simpler, but adaptability to different applications is limited

Engineering Contradiction:
Improvelookup technique flexibilityVSAvoidconfiguration reconfigurability
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic reconfigurability that allows the system to switch between different lookup techniques (hash-based, direct-access, TCAM-based) after manufacturing. The control unit receives configuration data that specifies both the lookup technique to be used and the corresponding memory allocation, enabling the system to adapt to different application requirements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent designs a universal lookup system that can perform multiple different lookup techniques using the same physical memory resources. By reconfiguring the memory allocation and control parameters, the system can switch between hash-based lookup, direct-access lookup, and TCAM-based lookup to serve different application needs.

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

4Quantity of substance

If more memories are allocated to each lookup, then lookup capacity increases, but parallel lookup efficiency decreases due to collisions

Engineering Contradiction:
Improvememory capacity per lookupVSAvoidparallel lookup throughput
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments the total memory pool into distinct allocated portions for different lookups based on their specific requirements. The control unit manages these segmented allocations and coordinates access to prevent collisions, allowing each lookup to have sufficient memory capacity while maintaining parallel execution efficiency through proper resource partitioning.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11435925B2Method and system for reconfigurable parallel lookups using multiple shared memories
Publication Date: 2022.09.06 MARVELL ASIA PTE LTD
  • US11435925B2 patent drawing
  • US11435925B2 patent drawing
  • US11435925B2 patent drawing

AI summary

Embodiments of the present invention relate to multiple parallel lookups using a pool of shared memories by proper configuration of interconnection networks. The number of shared memories reserved for each lookup is reconfigurable based on the memory capacity needed by that lookup. The shared memories are grouped into homogeneous tiles. Each lookup is allocated a set of tiles based on the memory capacity needed by that lookup. The tiles allocated for each lookup do not overlap with other lookups such that all lookups can be performed in parallel without collision. Each lookup is reconfigurable to be either hash-based or direct-access. The interconnection networks are programed based on how the tiles are allocated for each lookup.