Shared Memory Bank Redundancy Reconstruction
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
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
Data Source
Figure 1
Figure 2
Figure 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.