Shared Memory Bank Redundancy Reconstruction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional memory devices in networking applications face limitations in simultaneous data access, leading to reduced switching capabilities due to restrictions on accessing shared memory, and providing individual memory devices to each device is costly and resource-intensive.

Innovation Solution

A method and apparatus that allow multiple requests to perform memory operations on a shared memory bank within a single clock cycle by using redundancy data to reconstruct content data without direct access to the memory bank, enabling concurrent access and reducing the need for multiple memory devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If multiple switching devices share a single memory device, then cost and resource requirements are reduced, but memory access bandwidth and switching capability are limited due to sequential access restrictions

Engineering Contradiction:
Improvenumber of memory devicesVSAvoidmemory access bandwidth
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The memory device is divided into multiple independent memory banks that can be accessed simultaneously. Each memory bank operates independently, allowing multiple switching devices to access different banks in parallel, thereby increasing memory access bandwidth while maintaining cost efficiency through shared memory infrastructure

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Multiple memory banks are combined into a single shared memory device, enabling concurrent access operations across different banks. This merging approach allows the system to achieve high bandwidth performance comparable to multiple separate memory devices while reducing the total quantity of memory components required

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If a single memory bank is accessed by multiple clients concurrently, then memory access efficiency is improved, but access conflicts and blocking occur when multiple requests target the same memory bank

Engineering Contradiction:
Improvememory access efficiencyVSAvoidaccess guarantee
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The memory address space is segmented into multiple banks, and the memory controller divides incoming access requests into separate bank-specific request sets. This segmentation ensures that concurrent requests are routed to different memory banks, eliminating access conflicts and blocking while maintaining high access efficiency

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system transitions from single-dimension sequential access to multi-dimension parallel access by organizing memory into banks that can be accessed simultaneously. This dimensional change allows multiple clients to access memory concurrently without conflicts, as each client can be assigned to a different bank dimension

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

Data Source

PatentEP2643763B1Sharing access to a memory among clients
Publication Date: 2019.09.04 MARVELL ISRAEL (M L S L) LTD
  • EP2643763B1 patent drawingFigure 1
  • EP2643763B1 patent drawingFigure 2
  • EP2643763B1 patent drawingFigure 3

AI summary

In a memory device having a set of memory banks to store content data, at least two requests to perform respective memory operations in a first memory bank in the set of memory banks are received during a single clock cycle. It is determined that one or more of the at least two requests is blocked from accessing the first memory bank. In response to determining that the one or more of the at least two requests is blocked: redundancy data associated with the first memory bank and different from content data stored in the first memory bank is accessed, and, without accessing the first memory bank, at least a portion of the content data stored in the first memory bank is reconstructed based on the redundancy data associated with the first memory bank. A first requested memory operation is perfomied using the content data stored in the first memory bank, and a second requested memory operation is performed using content data reconstructed 1 ) without accessing the first memory bank and ii) based on the redundancy data associated with the first memory bank.