IP Library › Granted Patent US 10,664,398
Granted Patent B2
US 10,664,398 · App. 16/051,180 · Granted May 26, 2020

Link-level cyclic redundancy check replay for non-blocking coherence flow

Inventors: Charles F. Marino (Round Rock, TX); William J. Starke (Round Rock, TX); David J. Krolak (Rochester, MN); Paul A. Ganfield (Rochester, MN); Jeffrey A. Stuecheli (Austin, TX)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F12/0831G06F11/1004G06F12/0822H03M13/09
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 10,664,398
App. No.
16/051,180
Granted
May 26, 2020
Kind
B2
Abstract

Data processing in a data processing system including a plurality of processing nodes coupled to an interconnect includes receiving, by a fabric controller, a first command from a remote processing node via the interconnect. The fabric controller determines that the command includes a replay indication, the replay indication indicative of a replay event at one or more processing nodes of the plurality of processing nodes. The first command is dropped from a deskew buffer of the fabric controller responsive to the determining that the command includes the replay indication.

Claims (36)

1. A method of data processing in a data processing system including a plurality of processing nodes coupled to an interconnect, the method comprising:

receiving, by a fabric controller, a first command from a remote processing node via the interconnect;

determining, by the fabric controller, that the command includes a replay indication, the replay indication indicative of a replay event at one or more processing nodes of the plurality of processing nodes;

returning, by the fabric controller, a combined response to the remote processing node, wherein the combined response is comprised of one or more partial responses received from the plurality of processing nodes; and wherein the partial responses include an indication that the command was dropped; and

dropping the first command from a deskew buffer of the fabric controller responsive to the determining that the command includes the replay indication.

2. The method of claim 1 , further comprising:

storing a partial response associated with the command in an overcommit queue of the fabric controller.

3. The method of claim 2 , wherein the partial response includes an indication that the command was dropped.

4. The method of claim 2 , further comprising:

sending the partial response to the remote processing node via the interconnect.

5. The method of claim 1 , wherein the command is formatted as a link layer packet, the replay indication being in a first field of the link layer packet.

6. The method of claim 5 , wherein the first field is a one-bit field, a value of the one-bit field indicative of the replay indication.

7. The method of claim 5 , wherein the link layer packet further includes a second field, the second field including a command data payload.

8. The method of claim 5 , wherein the link layer packet further includes a second field including a cyclic redundancy check value associated with the link layer packet.

9. The method of claim 1 , wherein the data processing system includes a symmetric multiprocessor system.

10. A computer usable program product comprising one or more computer-readable storage devices, and program instructions running on a processor and stored on at least one of the one or more storage devices, the stored program instructions comprising:

program instructions to receive, by a fabric controller, a first command from a remote processing node via an interconnect;

program instructions to determine, by the fabric controller, that the command includes a replay indication, the replay indication indicative of a replay event at one or more processing nodes of a plurality of processing nodes;

program instructions to return, by the fabric controller, a combined response to the remote processing node, wherein the combined response is comprised of one or more partial responses received from the plurality of processing nodes; and wherein the partial responses include an indication that the command was dropped; and

program instructions to drop the first command from a deskew buffer of the fabric controller responsive to the determining that the command includes the replay indication.

11. The computer usable program product of claim 10 , further comprising:

program instructions to store a partial response associated with the command in an overcommit queue of the fabric controller.

12. The computer usable program product of claim 11 , wherein the partial response includes an indication that the command was dropped.

13. The computer usable program product of claim 11 , further comprising:

program instructions to send the partial response to the remote processing node via the interconnect.

14. The computer usable program product of claim 10 , wherein the command is formatted as a link layer packet, the replay indication being in a first field of the link layer packet.

15. The computer usable program product of claim 14 , wherein the first field is a one-bit field, a value of the one-bit field indicative of the replay indication.

16. The computer usable program product of claim 14 , wherein the link layer packet further includes a second field, the second field including a command data payload.

17. The computer usable program product of claim 14 , wherein the link layer packet further includes a second field including a cyclic redundancy check value associated with the link layer packet.

18. The computer usable program product of claim 13 , wherein the computer usable code is stored in a computer readable storage device in a data processing system, and wherein the computer usable code is transferred over a network from a remote data processing system.

19. The computer usable program product of claim 13 , wherein the computer usable code is stored in a computer readable storage device in a server data processing system, and wherein the computer usable code is downloaded over a network to a remote data processing system for use in a computer readable storage device associated with the remote data processing system.

20. A computer system comprising one or more processors, one or more computer-readable memories, and one or more computer-readable storage devices, and program instructions stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, the stored program instructions comprising:

program instructions to receive, by a fabric controller, a first command from a remote processing node via an interconnect;

program instructions to determine, by the fabric controller, that the command includes a replay indication, the replay indication indicative of a replay event at one or more processing nodes of a plurality of processing nodes;

program instructions to return, by the fabric controller, a combined response to the remote processing node, wherein the combined response is comprised of one or more partial responses received from the plurality of processing nodes; and wherein the partial responses include an indication that the command was dropped; and

program instructions to drop the first command from a deskew buffer of the fabric controller responsive to the determining that the command includes the replay indication.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2018
From: MARINO, CHARLES F.; STARKE, WILLIAM J.; KROLAK, DAVID J.; GANFIELD, PAUL A.; STUECHELI, JEFFREY A.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 046680/0258 →
Continuity (1)
Related Publication 20200042449A1 · Feb 6, 2020