Reconfigurable Parallel Lookup Memory Tiles Without Access Collisions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network processor lookup systems are inflexible, as they fix the number of memories used for each lookup and cannot 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 multiple parallel lookups using a pool of shared memories, where the number of memories allocated for each lookup is reconfigurable, and each lookup can be configured as either hash-based or direct-access, with memories grouped into tiles and interconnected via reconfigurable networks to enable parallel operations without collisions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the number of memories used for each lookup is fixed in prior art systems, then the system structure is simple and easy to manufacture, but the adaptability to different applications and memory utilization efficiency deteriorates

Engineering Contradiction:
Improveadaptability to different applicationsVSAvoidsystem structure 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 information and adjusts the interconnection between input ports, lookup units, and memory banks accordingly, allowing the system to adapt to different application requirements without requiring a complete redesign.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent creates a universal lookup system that can perform multiple types of lookups (exact-match, hash-based, direct-access) using the same hardware infrastructure. The reconfigurable interconnection network and programmable lookup units enable a single system to serve multiple functions across different applications, improving versatility without proportionally increasing complexity.

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

2Productivity

If prior art systems cannot switch between hash-based and direct-access lookup techniques, then the system design is simplified, but the memory utilization efficiency and performance optimization deteriorate

Engineering Contradiction:
Improvememory utilization efficiencyVSAvoidlookup technique flexibility
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent enables dynamic switching between different lookup techniques (hash-based, direct-access, exact-match) through reconfigurable interconnection networks and programmable lookup units. The system can change its operational mode based on the specific application requirements, allowing optimal memory utilization for each lookup type while using the same physical hardware resources.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the operational parameters of the lookup system by allowing configuration of the interconnection network and lookup unit behavior. By modifying connection patterns and lookup algorithms through software control, the system can optimize performance for different lookup techniques without requiring separate dedicated hardware for each technique.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If prior art lookup systems use fixed memory allocation, then the manufacturing process is simpler, but the system cannot achieve 100% memory utilization in applications like exact-match lookup

Engineering Contradiction:
Improvememory utilizationVSAvoidmanufacturing simplicity
Core Design Contradiction:
Quantity of substanceVSEase of manufacture

Solution Approach 1:

The patent implements dynamic memory allocation where the number of memory banks assigned to each lookup unit can be adjusted through configuration information received by the control unit. This allows the system to allocate all available memory resources efficiently for exact-match lookup applications, achieving 100% memory utilization by dynamically reconfiguring the interconnection network to match the specific application's memory requirements.

Inventive Principle:
Principle #15Dynamics

4Adaptability or versatility

If the system allocates fixed number of tiles to each lookup path, then the system structure is more regular and easier to control, but the adaptability to different memory capacity needs deteriorates

Engineering Contradiction:
Improvememory capacity adaptabilityVSAvoidtile allocation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements reconfigurable tile allocation where the number of tiles (memory groups) assigned to each lookup path can be dynamically adjusted based on configuration information. The control unit processes allocation requests and reconfigures the interconnection network accordingly, allowing different lookup paths to receive appropriate memory resources based on their specific capacity needs rather than using a fixed uniform allocation scheme.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9620213B2Method and system for reconfigurable parallel lookups using multiple shared memories
Publication Date: 2017.04.11 MARVELL ASIA PTE LTD
  • US9620213B2 patent drawing
  • US9620213B2 patent drawing
  • US9620213B2 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 programmed based on how the tiles are allocated for each lookup.