Multi-Bank Queuing Architecture for High Bandwidth On-Chip Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional queuing systems in network devices face challenges in reducing bandwidth requirements while maintaining performance, often requiring costly or complex solutions such as higher clock frequencies or wider data buses for on-chip SRAM-based memory buffers.

Innovation Solution

Implementing a network device with a main storage memory that uses multiple banks for simultaneous read and write operations, allowing for high bandwidth without the need for increased clock frequency or wider data buses, by employing a well-controlled access pattern across multiple single-port SRAM structures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Power

If conventional single-bank memory buffer is used, then device complexity is reduced, but bandwidth is insufficient to meet the sum of total receiver and transmitter port bandwidths

Engineering Contradiction:
ImprovebandwidthVSAvoidmemory buffer complexity
Core Design Contradiction:
PowerVSDevice complexity

Solution Approach 1:

The memory buffer is divided into multiple independent banks (e.g., Bank 0, Bank 1, Bank 2, Bank 3), each capable of handling read or write operations independently. This segmentation allows simultaneous access to multiple banks, thereby increasing overall bandwidth without requiring each individual bank to handle the full port bandwidth, reducing the complexity burden on any single memory component.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a single-dimensional sequential access model to a multi-dimensional parallel access model by organizing memory into multiple banks that can be accessed simultaneously. This dimensional change in memory architecture enables the system to achieve higher bandwidth by exploiting parallelism across banks rather than increasing clock frequency or data bus width within a single bank.

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

2Power

If higher clock frequency is used to increase bandwidth, then bandwidth is improved, but manufacturing cost and power consumption increase

Engineering Contradiction:
ImprovebandwidthVSAvoidmanufacturing cost
Core Design Contradiction:
PowerVSEase of manufacture

Solution Approach 1:

By segmenting the memory into multiple banks, the system achieves higher effective bandwidth through parallel operations at a moderate clock frequency, rather than requiring a single bank to operate at a higher clock frequency. This approach reduces manufacturing cost by avoiding the need for high-speed memory components while maintaining the required data throughput.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent employs periodic alternating access patterns across multiple banks (e.g., even banks for writes, odd banks for reads in alternating cycles), which distributes the bandwidth requirement over time and across multiple memory units. This periodic action allows the system to achieve high average bandwidth without requiring any single memory bank to operate at peak speeds continuously, thereby reducing manufacturing cost.

Inventive Principle:
Principle #19Periodic action

3Power

If wider data bus is used to increase bandwidth, then bandwidth is improved, but device complexity and manufacturing cost increase

Engineering Contradiction:
ImprovebandwidthVSAvoiddata bus complexity
Core Design Contradiction:
PowerVSDevice complexity

Solution Approach 1:

The memory system is segmented into multiple banks that can be accessed in parallel with standard-width data buses. This segmentation effectively multiplies the bandwidth capacity without requiring each individual data bus to be wider, thereby maintaining simpler bus design and reducing device complexity while achieving the required bandwidth.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent merges multiple narrower data bus channels (one for each memory bank) into a unified high-bandwidth system. By combining the throughput capacity of multiple banks accessed in parallel, the system achieves equivalent or superior bandwidth to a single wide data bus, but with reduced complexity since each individual bus remains narrow and manageable.

Inventive Principle:
Principle #5Merging (Combining)

4Productivity

If simultaneous read and write operations are allowed, then productivity is improved, but memory access conflicts increase

Engineering Contradiction:
Improveoperation throughputVSAvoidaccess conflict
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The memory is segmented into multiple banks that can independently handle read and write operations simultaneously. This segmentation isolates potential access conflicts to individual banks rather than creating system-wide conflicts, allowing high productivity through parallel operations while maintaining reliability by preventing conflicts at the bank level through proper address routing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic bank selection and access arbitration mechanisms that adaptively route read and write operations to appropriate banks based on current system state. This dynamic control enables simultaneous read and write operations across different banks, maximizing productivity while preventing access conflicts through intelligent resource management and conflict avoidance strategies.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8364864B2Multi-bank queuing architecture for higher bandwidth on-chip memory buffer
Publication Date: 2013.01.29 JUNIPER NETWORKS INC
  • US8364864B2 patent drawing
  • US8364864B2 patent drawing
  • US8364864B2 patent drawing

AI summary

A network device includes a main storage memory and a queue handling component. The main storage memory includes multiple memory banks which store a plurality of packets for multiple output queues. The queue handling component controls write operations to the multiple memory banks and controls read operations from the multiple memory banks, where the read operations for at least one of the multiple output queues alternates sequentially between the each of the multiple memory banks, and where the read operations and the write operations occur during a same clock period on different ones of the multiple memory banks.