IP Library Granted Patent US 11,074,206
Granted Patent B1
US 11,074,206 · App. 17/036,225 · Granted Jul 27, 2021

Message protocol for a data processing system

Inventors: Jamshed Jalal (Austin, TX); Tushar P Ringe (Austin, TX); Kishore Kumar Jagadeesha (Austin, TX); Ashok Kumar Tummala (Cedar Park, TX); Rishabh Jain (Austin, TX); Devi Sravanthi Yalamarthy (Austin, TX)
Assignee: Arm Limited
G06F13/28G06F9/466G06F13/409G06F13/4013G06F13/4045G06F13/4059G06F13/4068
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,074,206
App. No.
17/036,225
Granted
Jul 27, 2021
Kind
B1
Abstract

The present disclosure advantageously provides a method and system for transferring data over at least one interconnect. A request node, coupled to an interconnect, receives a first write burst from a first device over a first connection, divides the first write burst into an ordered sequence of smaller write requests based on the size of the first write burst, and sends the ordered sequence of write requests to a home node coupled to the interconnect. The home node generates an ordered sequence of write transactions based on the ordered sequence of write requests, and sends the ordered sequence of write transactions to a write combiner coupled to the home node. The write combiner combines the ordered sequence of write transactions into a second write burst that is the same size as the first write burst, and sends the second write burst to a second device over a second connection.

Claims (96)

1. A computer-based method for transferring data over at least one interconnect, comprising:

at a request node coupled to an interconnect:

receiving, from a first device over a first connection, a first write burst having a data size;

dividing the first write burst into an ordered sequence of write requests based on the first write burst data size, the ordered sequence of write requests including at least a first write request and a last write request, each write request having a data size that is smaller than the first write burst data size;

sending, to a home node coupled to the interconnect, the ordered sequence of write requests over the interconnect, the last write request including a last write identifier;

at the home node:

generating an ordered sequence of write transactions based on the ordered sequence of write requests, the ordered sequence of write transactions including at least a first write transaction and a last write transaction, each write transaction having a data size equal to each write request data size;

sending, to a write combiner coupled to the home node, the ordered sequence of write transactions, the last write transaction including the last write identifier;

at the write combiner:

combining the ordered sequence of write transactions into a second write burst based on at least the last write identifier, the second write burst having a data size equal to the first write burst data size; and

sending, to a second device over a second connection, the second write burst.

2. The computer-based method according to claim 1 , where a sum of the data sizes of the write requests in the ordered sequence of write requests equals the first write burst data size.

3. The computer-based method according to claim 1 , where the first write burst includes a write transaction identifier, and said dividing the first write burst includes:

generating a burst identifier based on the write transaction identifier; and

adding the burst identifier to each write request in the ordered sequence of write requests.

4. The computer-based method according to claim 3 , where:

said generating the ordered sequence of write transactions includes generating a stream identifier based on the burst identifier; and

said sending the ordered sequence of write transactions includes sending the stream identifier with each write transaction in the ordered sequence of write transactions.

5. The computer-based method according to claim 4 , where said combining the ordered sequence of write transactions is further based on the stream identifier.

6. The computer-based method according to claim 1 , further comprising:

at the home node:

in response to receiving the first write request, sending, to the request node, a first write response including a first data buffer identifier and an indication that the first write request is complete; and

in response to receiving the last write request, sending, to the request node, a last write response including a last data buffer identifier,

where a lifetime of the first write request is equal to a time between sending the first write request and receiving the first write response.

7. The computer-based method according to claim 6 , further comprising:

at the write combiner:

sending, to the home node, a first write transaction response including an indication that the first write transaction is complete;

sending, to the home node, a last write transaction response including an indication that the last write transaction is complete; and

at the home node:

in response to receiving the last write transaction response, sending, to the request node, a final write response including an indication that the last write request is complete,

where a lifetime of the last write request is equal to a time between sending the last write request and receiving the final write response.

8. The computer-based method according to claim 7 , where the ordered sequence of write requests include one or more intermediate write requests, and the method further comprises:

at the home node:

in response to receiving the intermediate write request, sending, to the request node, an intermediate write response including an intermediate data buffer identifier and an indication that the intermediate write request is complete; and

at the write combiner:

sending, to the home node, an intermediate write transaction response including an indication that the intermediate write transaction is complete,

where a lifetime of each intermediate write request is equal to a time between sending the intermediate write request and receiving the intermediate write response, and

where the lifetime of the last write request is greater than the lifetimes of the first write request and each of the intermediate write requests.

9. The computer-based method according to claim 1 , where the first write burst is an advanced extensible interface (AXI) write burst having a data size greater than 64 bytes, each write request is an advanced microcontroller bus architecture (AMBA) coherent interconnect (CHI) write request having a data size of 64 bytes or less, each write transaction is an AXI write transaction having a data size of 64 bytes or less, and the second write burst is an AXI write burst having a data size greater than 64 bytes.

10. The computer-based method according to claim 1 , where the request node is coupled to a first interconnect within a first system-on-chip (SoC), the home node is coupled to a second interconnect within a second SoC, the first interconnect is coupled to the second interconnect over a chip-to-chip interconnect, and the computer-based method further comprises:

at a request agent coupled to the first interconnect and the chip-to-chip interconnect:

receiving, from the request node over the first interconnect, the ordered sequence of write requests;

sending, over the chip-to-chip interconnect, the ordered sequence of write requests;

at a home agent coupled to the first interconnect and the chip-to-chip interconnect:

receiving, from the request agent over the chip-to-chip interconnect, the ordered sequence of write requests; and

sending, to the home node over the second interconnect, the ordered sequence of write requests.

11. A system, comprising:

an interconnect;

a request node, coupled to the interconnect, including a request node processor;

a home node, coupled to the interconnect, including a home node processor; and

a write combiner, coupled to the home node, including a write combiner processor,

where the request node processor is configured to:

receive, from a first device over a first connection, a first write burst having a data size,

divide the first write burst into an ordered sequence of write requests based on the first write burst data size, the ordered sequence of write requests including at least a first write request and a last write request, each write request having a data size that is smaller than the first write burst data size,

send, to the home node, the ordered sequence of write requests over the interconnect, the last write request including a last write identifier,

where the home node processor is configured to:

generate an ordered sequence of write transactions based on the ordered sequence of write requests, the ordered sequence of write transactions including at least a first write transaction and a last write transaction, each write transaction having a data size equal to each write request data size,

send, to the write combiner, the ordered sequence of write transactions, the last write transaction including the last write identifier,

where the home node processor is configured to:

combine the ordered sequence of write transactions into a second write burst based on at least the last write identifier, the second write burst having a data size equal to the first write burst data size, and

send, to a second device over a second connection, the second write burst.

12. The system according to claim 11 , where a sum of the data sizes of the write requests in the ordered sequence of write requests equals the first write burst data size.

13. The system according to claim 11 , where the first write burst includes a write transaction identifier, and said divide the first write burst includes:

generate a burst identifier based on the write transaction identifier; and

add the burst identifier to each write request in the ordered sequence of write requests.

14. The system according to claim 13 , where:

said generate the ordered sequence of write transactions includes generate a stream identifier based on the burst identifier; and

said send the ordered sequence of write transactions includes send the stream identifier with each write transaction in the ordered sequence of write transactions.

15. The system according to claim 14 , where said combine the ordered sequence of write transactions is further based on the stream identifier.

16. The system according to claim 11 , where the home node processor is further configured to:

in response to receiving the first write request, send, to the request node, a first write response including a first data buffer identifier and an indication that the first write request is complete; and

in response to receiving the last write request, send, to the request node, a last write response including a last data buffer identifier,

where a lifetime of the first write request is equal to a time between sending the first write request and receiving the first write response.

17. The system according to claim 16 , where:

the write combiner processor is further configured to:

send, to the home node, a first write transaction response including an indication that the first write transaction is complete;

send, to the home node, a last write transaction response including an indication that the last write transaction is complete; and

the home node processor is further configured to:

in response to receiving the last write transaction response, send, to the request node, a final write response including an indication that the last write request is complete,

where a lifetime of the last write request is equal to a time between sending the last write request and receiving the final write response.

18. The system according to claim 17 , where:

the ordered sequence of write requests include one or more intermediate write requests;

the home node processor is further configured to:

in response to receiving the intermediate write request, send, to the request node, an intermediate write response including an intermediate data buffer identifier and an indication that the intermediate write request is complete;

the write combiner processor is further configured to:

send, to the home node, an intermediate write transaction response including an indication that the intermediate write transaction is complete;

a lifetime of each intermediate write request is equal to a time between sending the intermediate write request and receiving the intermediate write response; and

the lifetime of the last write request is greater than the lifetimes of the first write request and each of the intermediate write requests.

19. The system according to claim 11 , where the first write burst is an advanced extensible interface (AXI) write burst having a data size greater than 64 bytes, each write request is an advanced microcontroller bus architecture (AMBA) coherent interconnect (CHI) write request having a data size of 64 bytes or less, each write transaction is an AXI write transaction having a data size of 64 bytes or less, and the second write burst is an AXI write burst having a data size greater than 64 bytes.

20. The system according to claim 11 , where the request node is coupled to a first interconnect within a first system-on-chip (SoC), the home node is coupled to a second interconnect within a second SoC, the first interconnect is coupled to the second interconnect over a chip-to-chip interconnect, and the system further comprises:

a request agent, coupled to the first interconnect and the chip-to-chip interconnect, including a request agent processor configured to:

receive, from the request node over the first interconnect, the ordered sequence of write requests;

send, over the chip-to-chip interconnect, the ordered sequence of write requests; and

a home agent, coupled to the first interconnect and the chip-to-chip interconnect, including a home agent processor configured to:

receive, from the request agent over the chip-to-chip interconnect, the ordered sequence of write requests; and

send, to the home node over the second interconnect, the ordered sequence of write requests.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2021
From: JALAL, JAMSHED; RINGE, TUSHAR P; JAGADEESHA, KISHORE KUMAR; TUMMALA, ASHOK KUMAR; JAIN, RISHABH; YALAMARTHY, DEVI SRAVANTHI
To: ARM LIMITED
Reel/Frame 055236/0001 →
Cited By (3)
US 12,197,276 US 12,470,518 US 12,712,829