Reconfigurable Shared Memory Tiles for Parallel Lookup Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network processor lookup systems are inflexible, with fixed memory allocation for each lookup 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 based on need, and each lookup can be configured as either hash-based or direct-access, with tiles and connection networks programmed to enable parallel operations without collisions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the number of memories allocated for each lookup is fixed, then the system structure is simple, but memory utilization is low and adaptability to different applications is limited

Engineering Contradiction:
Improveadaptability to different applicationsVSAvoidsystem structure
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 adjusted based on application requirements. The system allows runtime reconfiguration of memory capacity for different lookup techniques (hash-based, direct-access, TCAM-based), enabling the same hardware to adapt to varying workload demands without physical reconfiguration.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent creates a universal memory pool that can serve multiple lookup techniques simultaneously. The shared memory structure allows the same physical memories to be allocated to different lookup paths based on configuration, enabling one system to support hash-based lookup, direct-access lookup, and TCAM-based lookup with flexible memory distribution across all techniques.

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

2Quantity of substance

If memories are shared among multiple lookups, then memory utilization improves, but collision occurs when lookups are performed in parallel

Engineering Contradiction:
Improvememory utilizationVSAvoidparallel lookup correctness
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent segments the shared memory pool into multiple memory banks that can be independently accessed. By dividing the memory resource into separate banks and allowing different lookup paths to access different banks simultaneously, the system enables true parallel operation without collisions while maintaining high memory utilization through shared ownership of the segmented memory resources.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a memory management unit that acts as an intermediary between multiple lookup paths and the shared memory pool. This intermediary arbitrates memory access requests, manages bank allocation, and coordinates simultaneous accesses to prevent collisions while maximizing memory utilization across all active lookups.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Quantity of substance

If the system uses fixed lookup techniques, then implementation is simple, but 100% memory utilization cannot be achieved

Engineering Contradiction:
Improvememory utilizationVSAvoidlookup technique configuration
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent enables dynamic changing of lookup technique parameters including the number of memories allocated to each technique, the type of lookup algorithm used (hash-based, direct-access, TCAM), and the memory capacity assigned to each path. These parameter changes allow the system to optimize memory utilization for different application scenarios while maintaining a unified hardware architecture.

Inventive Principle:
Principle #35Parameter changes

Data Source

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