IP Library › Granted Patent US 11,762,718
Granted Patent B2
US 11,762,718 · App. 17/003,941 · Granted Sep 19, 2023

Automatically optimized credit pool mechanism based on number of virtual channels and round trip path delay

Inventor: Joseph G. Tietz (Houston, TX)
Assignee: Hewlett Packard Enterprise Development LP
G06F9/546
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,762,718
App. No.
17/003,941
Granted
Sep 19, 2023
Kind
B2
Abstract

Systems and methods are provided for managing data transmissions in integrated circuits using a handshake, credit path, and data path. For example, the handshake between transmission and receiving sides can enable information to be passed over a separate path from the data path. Based on a calculated round trip delay, the system can identify the number of top level flops or registers needed in the credit path, which can be the same as the number of top level flops or registers in the data path. The receiving side can calculate the required number of credits per requested virtual channel based on the available queuing resources of the receiving side and the round trip delay of the data path, in order to ensure full bandwidth data streaming on the channel.

Claims (44)

1. An integrated circuit comprising:

a receiving side of the integrated circuit comprising:

a plurality of queue resources to buffer received data over a data path, the queue resources comprising a plurality of virtual channel-bound credits and a plurality of shared credits; and

a credit processing circuit to control allocation of credits for each virtual channel of one or more virtual channels communicating over the data path; and

a transmission side of the integrated circuit, wherein the transmission side and the receiving side is connected over the data path and a credit path, the transmission side comprising:

a processing circuit communicatively coupled to the credit processing circuit of the receiving side over the credit path;

an active virtual channels counter to count a number of active virtual channels transmitting data over the data path;

a credit limit controller to compare a number of shared credits assigned to a respective virtual channel against a shared credit limit; and

a credit counter to count a number of credits in use by each of the virtual channels over the data path;

wherein the credit processing circuit is to determine a round trip delay of the data path, wherein the credit processing circuit is to add one or more virtual channel-bound credits to the plurality of shared credits responsive to determining that a particular virtual channel to which the one or more virtual channel-bound credits are bound is unused, and wherein once the virtual channel-bound credits for the respective virtual channel is full, any additional credits received on the respective virtual channel are to be assigned to the number of shared credits assigned to the respective virtual channel.

2. The integrated circuit of claim 1 , wherein the integrated circuit is further to initiate a reset process responsive to receiving a transmission identifier.

3. The integrated circuit of claim 1 , wherein the integrated circuit is an application specific integrated circuit (ASIC).

4. The integrated circuit of claim 1 , wherein the data path consists of head, tail, and error signals.

5. The integrated circuit of claim 1 , wherein the data path consists of either three or six interleaved virtual channels.

6. The integrated circuit of claim 1 , wherein the plurality of queue resources buffer received data over the data path in a continuous flow of the data.

7. The integrated circuit of claim 1 , wherein the integrated circuit supports a direction vector.

8. An integrated circuit, comprising:

a memory; and

one or more processors to execute machine readable instructions stored in the memory for performing the method comprising:

initiating handshake process for a credit path of the integrated circuit, wherein the credit path starts at a transmitting side of the integrated circuit and ends at a receiving side of the integrated circuit,

wherein the handshake process comprises:

calculating a round trip delay and active virtual channel requested by the transmission side; and

transmitting, by the receiving side, credits available to the transmission side based in part on the round trip delay,

wherein the handshake process is to add one or more virtual channel-bound credits to a plurality of shared credits responsive to determining that a particular virtual channel to which the one or more virtual channel-bound credits are bound is unused, and

wherein once the virtual channel-bound credits for the respective virtual channel is full, any additional credits received on the respective virtual channel are to be assigned to the number of shared credits assigned to the respective virtual channel; and

upon completion of the handshake process, receiving, by the receiving side, a data transmission identifier from the transmission side over a data path between the transmission side of the integrated circuit and the receiving side of the integrated circuit.

9. The integrated circuit of claim 7 , wherein the method further comprises:

initiating a reset process responsive to receiving the transmission identifier.

10. The integrated circuit of claim 7 , wherein the integrated circuit is an application specific integrated circuit (ASIC).

11. The integrated circuit of claim 7 , wherein the data path consists of head, tail, and error signals.

12. The integrated circuit of claim 7 , wherein the data path consists of either three or six interleaved virtual channels.

13. The integrated circuit of claim 7 , wherein a plurality of queue resources buffer received data over the data path in a continuous flow of the data.

14. The integrated circuit of claim 7 , wherein the integrated circuit supports a direction vector.

15. A non-transitory computer-readable storage medium storing a plurality of instructions executable by one or more processors, the plurality of instructions when executed by the one or more processors cause the one or more processors to:

initiating handshake process for a credit path of an integrated circuit, wherein the credit path starts at a transmitting side of the integrated circuit and ends at a receiving side of the integrated circuit,

wherein the handshake process comprises:

calculating a round trip delay and active virtual channel requested by the transmission side; and

transmitting, by the receiving side, credits available to the transmission side based in part on the round trip delay,

wherein the handshake process is to add one or more virtual channel-bound credits to a plurality of shared credits responsive to determining that a particular virtual channel to which the one or more virtual channel-bound credits are bound in unused, and

wherein once the virtual channel-bound credits for the respective virtual channel is full, any additional credits received on the respective virtual channel are to be assigned to the number of shared credits assigned to the respective virtual channel; and

upon completion of the handshake process, receiving, by the receiving side, a data transmission identifier from the transmission side over a data path between the transmission side of the integrated circuit and the receiving side of the integrated circuit.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the integrated circuit is further to initiate a reset process responsive to receiving a transmission identifier.

17. The non-transitory computer-readable storage medium of claim 15 , wherein the integrated circuit is an application specific integrated circuit (ASIC).

18. The non-transitory computer-readable storage medium of claim 15 , wherein the data path consists of head, tail, and error signals.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2020
From: TIETZ, JOSEPH G.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 053608/0374 →
Continuity (1)
Related Publication 20220067713A1 · Mar 3, 2022