Reconfigurable Shared Memory Tiles for Parallel Lookup Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing lookup systems in network processors are inflexible, as they use a fixed number of memories for each lookup and cannot switch between hash-based and direct-access 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 connected via reconfigurable networks to enable parallel operations without collisions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a fixed number of memories is allocated for each lookup in prior art systems, then the system structure is simple and stable, but the memory utilization is low and the system cannot adapt to different applications

Engineering Contradiction:
Improveadaptability to different applicationsVSAvoidsystem structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic memory allocation where the number of memories allocated to each lookup engine can be reconfigured at runtime based on application requirements. The memory pool is dynamically partitioned among multiple lookup engines, allowing each engine to have a different number of memories allocated to it, thus resolving the contradiction between adaptability and structural simplicity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent creates a universal memory pool that can serve multiple lookup engines with different memory requirements. The same pool of memories can be allocated in different configurations to support various lookup techniques (hash-based, direct-access, TCAM) and different application scenarios, making the system universally adaptable without requiring separate dedicated memories for each engine.

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

2Productivity

If prior art systems use fixed memory allocation for each lookup, then the system is easy to implement, but memory utilization cannot reach 100% and lookup efficiency is limited

Engineering Contradiction:
Improvelookup efficiencyVSAvoidmemory utilization
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent merges multiple dedicated memory structures into a single shared memory pool that is collectively used by all lookup engines. This consolidation eliminates memory waste from fixed allocation and allows the system to achieve 100% memory utilization by dynamically assigning memories from the pool to lookup engines based on their current needs, thereby improving both productivity and memory utilization.

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If prior art systems cannot switch between hash-based and direct-access lookup techniques, then the system design is simple, but the system cannot optimize for different lookup scenarios

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

Solution Approach 1:

The patent enables parameter changes by allowing the lookup technique type (hash-based, direct-access, TCAM) and the number of memories allocated to each engine to be reconfigured dynamically. This is achieved through programmable control logic that can change the operational parameters of lookup engines and memory allocation without hardware redesign, thus improving adaptability while keeping the physical structure relatively simple.

Inventive Principle:
Principle #35Parameter changes

4Productivity

If multiple lookups share a pool of memories with reconfigurable allocation, then memory utilization is optimized and adaptability is improved, but the system complexity increases due to reconfigurable networks and allocation management

Engineering Contradiction:
Improveparallel lookup efficiencyVSAvoidreconfigurable network complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the memory pool into discrete allocable units and divides the reconfigurable interconnect into manageable switching fabrics. The memory pool is organized as T×M shared memories that can be independently allocated, and the interconnect is divided into input and output reconfigurable fabrics that can be independently controlled. This segmentation reduces the complexity of managing the entire system as a single reconfigurable unit while still enabling parallel lookup operations.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9952799B2Method and system for reconfigurable parallel lookups using multiple shared memories
Publication Date: 2018.04.24 MARVELL ASIA PTE LTD
  • US9952799B2 patent drawing
  • US9952799B2 patent drawing
  • US9952799B2 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.