IP Library Granted Patent US 8,261,019
Granted Patent B2
US 8,261,019 · App. 12/370,757 · Granted Sep 4, 2012

Conveying critical data in a multiprocessor system

Assignee: Oracle America, Inc.
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 8,261,019
App. No.
12/370,757
Granted
Sep 4, 2012
Kind
B2
Abstract

A system for conveying critical and non-critical words of multiple cache lines includes a first node interface of a first processing node receiving, from a first processor, a first request identifying a critical word of a first cache line and a second request identifying a critical word of a second cache line. The first node interface conveys requests corresponding to the first and second requests to a second node interface of a second processing node. The second node interface receives the corresponding requests and conveys the critical words of the first and second cache lines to the first processing node before conveying non-critical words of the first and second cache lines.

Claims (61)

1. A computer system, comprising:

a first processing node including a first processor, a first cache, and a first node interface;

a second processing node coupled to the first processing node, wherein the second processing node includes a second processor, a second cache, and a second node interface;

wherein the first node interface is configured to:

receive, from the first processor, a first request identifying a critical word of a first cache line;

receive, from the first processor, a second request identifying a critical word of a second cache line; and

convey requests corresponding to the first and second requests to the second node interface;

wherein the second node interface is configured to:

receive the corresponding requests; and

convey the critical words of the first and second cache lines to the first processing node before conveying non-critical words of the first and second cache lines.

2. The computer system of claim 1 , wherein the first node interface is further configured to provide the conveyed critical and non-critical words of the first and second cache lines to the first cache.

3. The computer system of claim 1 , wherein the second node interface is further configured to retrieve the critical and non-critical words of the first and second cache lines from the second cache or a memory associated with the second cache.

4. The computer system of claim 1 , wherein the second node interface is further configured to:

receive, from the second processor, a third request identifying a critical word of a third cache line;

receive, from the second processor, a fourth request identifying a critical word of a fourth cache line; and

convey additional requests corresponding to the third and fourth requests to the first node interface;

wherein the first node interface is further configured to:

receive the corresponding additional requests; and

convey the critical words of the third and fourth cache lines to the second processing node before conveying non-critical words of the third and fourth cache lines.

5. The computer system of claim 1 , wherein the first node interface is further configured to:

receive a request for a critical word of a cache line that is stored in a memory associated with the first cache; and

convey a corresponding request to a memory controller unit associated with the memory.

6. The computer system of claim 1 , wherein the first node interface is further configured to:

determine whether a physical address associated with a given received request is within a first set of addresses or a second set of addresses;

in response to determining that the physical address is within the first set of addresses, convey a request corresponding to the given request to a memory controller unit that is associated with a memory coupled to the first processing node; and

in response to determining that the physical address is within the second set of addresses, convey a request corresponding to the given request to the second node interface.

7. The computer system of claim 1 , wherein the first node interface is configured to convey a snoop request for a particular cache line to the second node interface, and wherein the second node interface is configured to indicate to the first node interface whether the particular cache line is invalid or dirty.

8. A processing node, comprising:

a processor;

a cache; and

a node interface configured to:

receive, from the processor, a first request identifying a critical word of a first cache line;

receive, from the processor, a second request identifying a critical word of a second cache line; and

convey requests corresponding to the first and second requests to a second processing node;

receive, from the second processing node, the critical words of the first and second cache lines before receiving non-critical words of the first and second cache lines.

9. The processing node of claim 8 , wherein the node interface is further configured to:

receive, from the second processing node, a third request identifying a critical word of a third cache line;

receive, from the second processing node, a fourth request identifying a critical word of a fourth cache line; and

convey the critical words of the third and fourth cache lines to the second processing node before conveying non-critical words of the third and fourth cache lines.

10. The processing node of claim 9 , wherein the node interface includes:

a first queue configured to store critical words; and

a second queue configured to store non-critical words;

wherein conveying the critical and non-critical words of the third and fourth cache lines includes arbitrating between the first and second queues.

11. The processing node of claim 10 , wherein the node interface is further configured to service the first and second queues in a round robin manner.

12. The processing node of claim 9 , wherein the node interface includes an interlock configured to prevent conveying non-critical words of a cache line before any critical word of the cache line.

13. The processing node of claim 10 , wherein the node interface includes a third queue configured to store the corresponding requests, and wherein conveying the corresponding requests includes arbitrating between the first, second, and third queues.

14. The processing node of claim 10 , wherein the node interface includes a fourth queue configured to store memory coherency messages, and wherein conveying the critical words and non-critical words of the third and fourth cache lines includes arbitrating between the first, second, and fourth queues.

15. A method comprising:

a first node interface of a first processing node receiving, from a first processor, a first request identifying a critical word of a first cache line;

the first node interface receiving, from the first processor, a second request identifying a critical word of a second cache line;

the first node interface conveying requests corresponding to the first and second requests to a second node interface of a second processing node; and

the second node interface conveying the critical words of the first and second cache lines to the first processing node before conveying non-critical words of the first and second cache lines.

16. The method of claim 15 , further comprising the first node interface providing the conveyed critical and non-critical words to a cache of the first processing node.

17. The method of claim 15 , further comprising:

the second node interface receiving, from a second processor, a third request identifying a critical word of a third cache line;

the second node interface receiving, from the second processor, a fourth request identifying a critical word of a fourth cache line;

the second node interface conveying additional requests corresponding to the third and fourth requests to the first node interface; and

the first node interface conveying the critical words of the third and fourth cache lines to the second processing node before conveying non-critical words of the third and fourth cache lines.

18. The method of claim 15 , wherein conveying the critical and non-critical words includes the second node interface fetching the first and second cache lines from a cache of the second processing node or a memory associated with the cache.

19. The method of claim 15 , wherein conveying the critical and non-critical words includes arbitrating between a first queue that stores critical words and a second queue that stores non-critical words.

20. The method of claim 15 , further comprising the second node interface preventing non-critical words of a cache line from being conveyed before any critical word of the cache line.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037311/0182 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2009
From: TURULLOLS, SEBASTIAN; JAIRATH, SUMTI
To: SUN MICROSYSTEMS, INC.
Reel/Frame 022254/0779 →
Continuity (1)
Related Publication 20100211742A1 · Aug 19, 2010