Ring Bus Credit Allocation via Injection and State Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In conventional unidirectional ring bus systems without a data buffer, the probabilistic method for credit signal allocation leads to unfair probability distribution among master modules, resulting in wasted system bandwidth and delayed credit signal acquisition for masters with requests.

Innovation Solution

A ring bus system with a slave module and multiple master modules, utilizing an injection table and state table to generate and manage credit signals with node identities and active codes, ensuring fair allocation by determining node identities and adjusting state codes to prioritize credit requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a probabilistic method is used to send credit signals in a conventional ring bus, then the slave module can generate credit signals, but the probability for each master obtaining the credit signal becomes unfair and the credit signal rounds the ring bus in blank becomes very high

Engineering Contradiction:
Improvecredit signal generationVSAvoidcredit allocation fairness
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where the slave module monitors the credit status of each master module and adjusts credit signal allocation accordingly. The slave module tracks which masters have credit requests and dynamically modifies the credit signal distribution to ensure fair allocation, preventing the credit signal from rounding the ring bus in blank and eliminating the unfair probability distribution of the probabilistic method.

Inventive Principle:
Principle #23Feedback

2Device complexity

If a probabilistic method is used to allocate credits, then the system can operate without complex allocation logic, but the credit signal cannot be quickly obtained by masters with credit requests causing waste of system bandwidth

Engineering Contradiction:
Improveallocation logicVSAvoidcredit acquisition speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent applies preliminary action by having the slave module proactively identify masters with credit requests before credit signals are needed. The slave module maintains status information about each master's credit state and prepares credit signal allocation in advance, ensuring that masters with active credit requests receive credits quickly without waiting for random probabilistic events, thus improving credit acquisition speed while maintaining manageable complexity.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the slave module uses idle entries to receive credit requests, then data loss can be avoided, but the system bandwidth is wasted when credit signals round the ring bus in blank

Engineering Contradiction:
Improvedata loss preventionVSAvoidsystem bandwidth waste
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The slave module uses feedback from master modules indicating their credit request status to intelligently control credit signal injection. By monitoring which masters actually need credits, the slave module prevents injecting credit signals when no masters have requests, thereby eliminating bandwidth waste from blank rounds while maintaining the idle entry mechanism for reliable data reception when credits are genuinely needed.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10880225B2Ring bus and credit allocation method
Publication Date: 2020.12.29 VIA ALLIANCE SEMICON CO LTD
  • US10880225B2 patent drawing
  • US10880225B2 patent drawing
  • US10880225B2 patent drawing

AI summary

A ring bus and a credit allocation method are provided. The ring bus includes a slave module and multiple master modules. The slave module includes an injection table and a state table, and is configured to generate a credit signal including a node identity and an active code. The master modules are coupled to the slave module to form a ring path. The slave module determines whether the credit signal is a newly injected credit signal, and determines the node identity of the credit signal according to the injection table or the state table. The slave module transmits the credit signal to the master module corresponding to the node identity through the ring path according to the node identity. The slave module uses a corresponding idle entry to receive a credit request signal provided by the master device consuming a credit of the credit signal.