IP Library Granted Patent US 11,899,601
Granted Patent B1
US 11,899,601 · App. 18/212,866 · Granted Feb 13, 2024

Credit synchronization by sending a value for a local credit in a message sender from a message receiver to the message sender in response to a synchronization trigger

Inventors: Priyanka Nilay Thakore (Mountain View, CA); Lyle E. Adams (San Jose, CA)
G06F13/382
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,899,601
App. No.
18/212,866
Granted
Feb 13, 2024
Kind
B1
Abstract

A synchronization trigger associated with synchronizing credit is obtained at a message receiver in a System On Chip (SOC). In response to receiving the synchronization trigger, a value for a local credit in the message sender is sent from the message receiver to a message sender in the SOC. At the message sender, the local credit is updated with the value for the credit that is received from the message receiver, wherein a requirement to send a message from the message sender to the message receiver is that the local credit has a non-zero value.

Claims (87)

1. A system, comprising:

a message receiver in a System On Chip (SOC), wherein the message receiver:

obtains a synchronization trigger associated with synchronizing credit; and

in response to receiving the synchronization trigger, sends, from the message receiver to a message sender in the SOC, a value for a local credit in the message sender; and

the message sender, wherein:

the message sender updates the local credit with the value for the credit that is received from the message receiver;

a requirement to send a message from the message sender to the message receiver is that the local credit has a non-zero value;

obtaining the synchronization trigger includes enabling, at the message receiver, the synchronization trigger during initialization of the message receiver; and

the message receiver is included in a hardware functional module in the SOC.

2. The system of claim 1 , wherein:

obtaining the synchronization trigger includes receiving, from the message sender, a signal that is used to enable the synchronization trigger during a loss of synchronization; and

the message receiver is included in a hardware functional module in the SOC.

3. The system of claim 1 , wherein:

sending the value includes sending a message from the message receiver to the message sender; and

updating the local credit with the value includes performing, at the message sender, an instruction associated with the message.

4. A system, comprising:

a message receiver in a System On Chip (SOC), wherein the message receiver:

obtains a synchronization trigger associated with synchronizing credit; and

in response to receiving the synchronization trigger, sends, from the message receiver to a message sender in the SOC, a value for a local credit in the message sender; and

the message sender, wherein:

the message sender updates the local credit with the value for the credit that is received from the message receiver;

a requirement to send a message from the message sender to the message receiver is that the local credit has a non-zero value;

the SOC is associated with a storage controller; and

the storage controller further includes a plurality of channel interface modules, wherein each of the plurality of channel interface modules independently acts as a message receiver.

5. The system of claim 4 , wherein:

the buffer module acts as the message sender.

6. The system of claim 4 , wherein:

obtaining the synchronization trigger includes receiving, from the message sender, a signal that is used to enable the synchronization trigger during a loss of synchronization; and

the message receiver is included in a hardware functional module in the SOC.

7. The system of claim 4 , wherein:

sending the value includes sending a message from the message receiver to the message sender; and

updating the local credit with the value includes performing, at the message sender, an instruction associated with the message.

8. A system, comprising:

a message receiver in a System On Chip (SOC), wherein the message receiver:

obtains a synchronization trigger associated with synchronizing credit; and

in response to receiving the synchronization trigger, sends, from the message receiver to a message sender in the SOC, a value for a local credit in the message sender; and

the message sender, wherein:

the message sender updates the local credit with the value for the credit that is received from the message receiver;

a requirement to send a message from the message sender to the message receiver is that the local credit has a non-zero value;

the SOC is associated with a storage controller;

the storage controller includes a firmware complex which in turn includes a processor module and firmware; and

the storage controller further includes a plurality of hardware functional modules that access a buffer, wherein each of the plurality of hardware functional modules independently acts as a message receiver with the firmware complex as the message sender.

9. A method, comprising:

obtaining, at a message receiver in a System On Chip (SOC), a synchronization trigger associated with synchronizing credit;

in response to receiving the synchronization trigger, sending, from the message receiver to a message sender in the SOC, a value for a local credit in the message sender; and

updating, at the message sender, the local credit with the value for the credit that is received from the message receiver, wherein a requirement to send a message from the message sender to the message receiver is that the local credit has a non-zero value, wherein:

obtaining the synchronization trigger includes enabling, at the message receiver, the synchronization trigger during initialization of the message receiver; and

the message receiver is included in a hardware functional module in the SOC.

10. The system of claim 8 , wherein:

obtaining the synchronization trigger includes receiving, from the message sender, a signal that is used to enable the synchronization trigger during a loss of synchronization; and

the message receiver is included in a hardware functional module in the SOC.

11. The system of claim 8 , wherein:

sending the value includes sending a message from the message receiver to the message sender; and

updating the local credit with the value includes performing, at the message sender, an instruction associated with the message.

12. The method of claim 9 , wherein:

obtaining the synchronization trigger includes receiving, from the message sender, a signal that is used to enable the synchronization trigger during a loss of synchronization; and

the message receiver is included in a hardware functional module in the SOC.

13. The method of claim 9 , wherein:

sending the value includes sending a message from the message receiver to the message sender; and

updating the local credit with the value includes performing, at the message sender, an instruction associated with the message.

14. A method, comprising:

obtaining, at a message receiver in a System On Chip (SOC), a synchronization trigger associated with synchronizing credit;

in response to receiving the synchronization trigger, sending, from the message receiver to a message sender in the SOC, a value for a local credit in the message sender; and

updating, at the message sender, the local credit with the value for the credit that is received from the message receiver, wherein a requirement to send a message from the message sender to the message receiver is that the local credit has a non-zero value, wherein:

the SOC is associated with a storage controller; and

the storage controller further includes a plurality of channel interface modules, wherein each of the plurality of channel interface modules independently acts as a message receiver.

15. The method of claim 14 , wherein:

the buffer module acts as the message sender.

16. The method of claim 14 , wherein:

obtaining the synchronization trigger includes receiving, from the message sender, a signal that is used to enable the synchronization trigger during a loss of synchronization; and

the message receiver is included in a hardware functional module in the SOC.

17. The method of claim 14 , wherein:

sending the value includes sending a message from the message receiver to the message sender; and

updating the local credit with the value includes performing, at the message sender, an instruction associated with the message.

18. A method, comprising:

obtaining, at a message receiver in a System On Chip (SOC), a synchronization trigger associated with synchronizing credit;

in response to receiving the synchronization trigger, sending, from the message receiver to a message sender in the SOC, a value for a local credit in the message sender; and

updating, at the message sender, the local credit with the value for the credit that is received from the message receiver, wherein a requirement to send a message from the message sender to the message receiver is that the local credit has a non-zero value, wherein:

the SOC is associated with a storage controller;

the storage controller includes a firmware complex which in turn includes a processor module and firmware; and

the storage controller further includes a plurality of hardware functional modules that access a buffer, wherein each of the plurality of hardware functional modules independently acts as a message receiver with the firmware complex as the message sender.

19. The method of claim 18 , wherein:

obtaining the synchronization trigger includes receiving, from the message sender, a signal that is used to enable the synchronization trigger during a loss of synchronization; and

the message receiver is included in a hardware functional module in the SOC.

20. The method of claim 18 , wherein:

sending the value includes sending a message from the message receiver to the message sender; and

updating the local credit with the value includes performing, at the message sender, an instruction associated with the message.

Assignments (2)
CHANGE OF NAME Recorded Aug 13, 2025
From: BEIJING TENAFE ELECTRONIC TECHNOLOGY CO., LTD.
To: NANJING TENAFE ELECTRONIC TECHNOLOGY CO., LTD.
Reel/Frame 072008/0631 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2023
From: THAKORE, PRIYANKA NILAY; ADAMS, LYLE E.
To: BEIJING TENAFE ELECTRONIC TECHNOLOGY CO., LTD.
Reel/Frame 065915/0562 →
Continuity (1)
Provisional Application 63392988 · Jul 28, 2022
Cited By (1)
US 12,693,986