Parallel Processing Pipelines for High-Speed Cache Memory Statistics

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

At high data rates such as 400 GbE or Terabit Ethernet, RAMs struggle to keep pace with the maximum frame rate due to slow update times, making it difficult to track and analyze stream-based counters efficiently, especially when strict frame ordering is required.

Innovation Solution

The method processes multiple frames in parallel using dual port memory with parallel processing pipelines, reducing clock speed requirements by reading, updating, and writing statistics simultaneously across multiple buffers, thereby increasing throughput to handle high frame rates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If RAM is used to store statistics for thousands of streams, then the data volume capacity is sufficient, but the update speed becomes too slow to keep pace with the maximum frame rate

Engineering Contradiction:
Improvedata volume capacityVSAvoidupdate speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent divides the single RAM update operation into multiple parallel operations using dual port RAM structures. Multiple pipelines process different streams simultaneously, with each pipeline having its own counters and update operations. This segmentation allows the system to handle thousands of streams in parallel, achieving both high data volume capacity and high update speed by distributing the workload across multiple independent processing units.

Inventive Principle:
Principle #1Segmentation

2Productivity

If the RAM update rate is increased to match the maximum frame rate, then the frame tracking capability improves, but the complexity and cost of the system increases significantly

Engineering Contradiction:
Improveframe tracking capabilityVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent transitions from a single-dimension sequential update approach to a multi-dimensional parallel processing architecture. By introducing dual port RAM and multiple processing pipelines, the system adds spatial dimensions to the update process, allowing simultaneous updates across multiple streams without requiring exponentially faster single-thread performance. This dimensional expansion achieves high frame tracking capability while keeping individual component complexity manageable.

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

3Productivity

If dual port RAM is used to enable parallel reading and writing, then the throughput increases, but the clock speed requirements for the RAM become more stringent

Engineering Contradiction:
ImprovethroughputVSAvoidclock speed requirement
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The patent segments the high-speed requirement into multiple lower-speed parallel operations. Instead of requiring a single RAM to operate at extremely high clock speeds for sequential updates, the dual port RAM structure allows multiple pipelines to perform read-modify-write operations simultaneously at lower, more achievable clock speeds. The segmentation of update operations across multiple ports and pipelines reduces the clock speed burden on individual memory components while maintaining high overall throughput.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10048894B2Reducing cache memory requirements for recording statistics from testing with a multiplicity of flows
Publication Date: 2018.08.14 VIAVI SOLUTIONS LICENSING LLC
  • US10048894B2 patent drawing
  • US10048894B2 patent drawing
  • US10048894B2 patent drawing

AI summary

A disclosed method processes a data feed including multiple streams. The method includes processing n frames of the multiple streams in parallel through n processing pipelines, n being an integer greater than or equal to 2. The n frames include a first frame belonging to a first stream and a second frame belonging to a second stream. The first stream is different than the second stream. The n processing pipelines are coupled to n-by-n value buffers per stream per recorded value for the stream, and at least one status buffer per stream. The n processing pipelines are each assigned a distinct row of read-authorized port access to the n-by-n value buffers and a distinct column of write-authorized port access to the n-by-n value buffers.