Forward Counter Architecture With Threshold DMA Offload

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The implementation of counters in ASICs is resource-intensive, leading to significant die area usage, high CPU bandwidth consumption, and inefficient polling mechanisms, which result in increased costs and reduced performance due to the need for frequent updates and checks of counter values.

Innovation Solution

A novel counter architecture that includes local counter storage elements with ALU engines for processing updates, a counter DMA update storage for consolidating and forwarding data, and an external memory interface for maintaining counters in DDR, optimizing die area usage and reducing CPU access instances by using a forwarding counter system with FIFOs and DMA updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If full counters are implemented in ASIC, then counting accuracy is improved, but die area usage increases significantly

Engineering Contradiction:
Improvecounting accuracyVSAvoiddie area
Core Design Contradiction:
Measurement precisionVSArea of stationary object

Solution Approach 1:

The counter is divided into two segments: a small local counter in the ASIC that counts events locally, and a larger counter in CPU memory that stores the accumulated total. The local counter segments the counting function to avoid implementing the full counter in the ASIC, thereby reducing die area while maintaining counting accuracy through periodic updates to the CPU memory counter.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A counter update mechanism acts as an intermediary between the local ASIC counter and the CPU memory counter. This intermediary transfers the accumulated count from the local counter to the CPU memory counter periodically, enabling accurate long-term counting without requiring the full counter capacity to exist simultaneously in the ASIC.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If software polls counters frequently to update upper layer software, then counting accuracy is improved, but CPU bandwidth consumption increases

Engineering Contradiction:
Improvecounting accuracyVSAvoidCPU bandwidth
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

Instead of continuous polling, the system uses periodic updates where the local counter accumulates events and transfers its value to the CPU memory counter at predetermined intervals. This periodic action reduces CPU bandwidth consumption compared to frequent polling, while still maintaining accurate counting by ensuring updates occur regularly enough to capture all events.

Inventive Principle:
Principle #19Periodic action

3Area of stationary object

If smaller counters are used in ASIC with software polling, then die area usage is reduced, but CPU bandwidth consumption increases

Engineering Contradiction:
Improvedie areaVSAvoidCPU bandwidth
Core Design Contradiction:
Area of stationary objectVSUse of energy by moving object

Solution Approach 1:

The local counter in the ASIC performs self-service by autonomously counting events and managing its own value accumulation. It automatically transfers its accumulated value to the CPU memory counter when updated, reducing the need for continuous CPU intervention and bandwidth consumption while maintaining accurate counting.

Inventive Principle:
Principle #25Self-service

4Measurement precision

If frequent counter updates are performed, then counting accuracy is improved, but system performance decreases

Engineering Contradiction:
Improvecounting accuracyVSAvoidsystem performance
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system uses periodic updates at predetermined intervals rather than frequent continuous updates. This approach maintains counting accuracy by ensuring the local counter value is transferred to CPU memory regularly, while improving system performance by reducing the frequency of update operations and minimizing CPU bandwidth consumption.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS9413358B2Forward counter block
Publication Date: 2016.08.09 VALTRUS INNOVATIONS LTD
  • US9413358B2 patent drawing
  • US9413358B2 patent drawing
  • US9413358B2 patent drawing

AI summary

A forward counter block may include at least one of a plurality of local counter storage elements for counting events. The forward counter block may also include an update engine, the update engine configured to update an external memory by forwarding a value stored in any of said at lease one of a plurality of local counter storage elements and return a zero value to that local counter storage element, when the value stored in that local counter storage element reaches or surpasses a threshold value.