IP Library Granted Patent US 8,566,533
Granted Patent B1
US 8,566,533 · App. 12/571,233 · Granted Oct 22, 2013

System, method, and computer program product for conditionally sending a request for data to a node based on a determination

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,566,533
App. No.
12/571,233
Granted
Oct 22, 2013
Kind
B1
Abstract

In operation, a first request for data is sent to a cache of a first node. Additionally, it is determined whether the first request can be satisfied within the first node, where the determining includes at least one of determining a type of the first request and determining a state of the data in the cache. Furthermore, a second request for the data is conditionally sent to a second node, based on the determination.

Claims (30)

1. A method of sending a data request in a system comprising a plurality of nodes, comprising:

sending a first request for data to a cache of a first node;

determining whether the first request can be satisfied within the first node by determining a type of the first request and determining a state of the data in the cache, wherein the state of the data in the cache includes information concerning whether the data is shared locally or globally; and

conditionally sending a second request for the data to a second node, based on the determination.

2. The method of claim 1 , wherein the second node is a home node.

3. The method of claim 1 , wherein the determining the type of the first request includes determining whether the first request is a read request, a write request, or a snoop request.

4. The method of claim 1 , wherein the determining whether the first request can be satisfied within the first node further includes determining whether the cache contains a valid copy of the data.

5. The method of claim 1 , wherein the determining whether the first request can be satisfied within the first node further includes determining whether the data is locally shared or globally shared.

6. The method of claim 5 , wherein the determining whether the data is locally shared or globally shared is performed using the state of the data in the cache.

7. The method of claim 1 , wherein the cache includes the state of the data in the cache.

8. The method of claim 1 , wherein the state of the data in the cache indicates whether another valid copy of the data exists at a node other than the first node.

9. The method of claim 1 , wherein the first request cannot be satisfied within the first node if the first request is a write request, the cache contains a valid copy of the data, and another valid copy of the data exists at another node.

10. The method of claim 1 , wherein the first request can be satisfied within the first node if the first request is a write request, the cache contains a valid copy of the data, and all valid copies of the data exist only within the first node.

11. The method of claim 1 , wherein the first request can be satisfied within the first node if the first request is a read request and the cache contains a valid copy of the data.

12. The method of claim 1 , wherein the second request for the data is sent to the second node if it is determined that the first request cannot be satisfied within the first node.

13. The method of claim 1 , wherein the determining whether the first request can be satisfied within the first node includes determining the state of the data in the cache.

14. The method of claim 7 , wherein the state of the data is included as a tag which exists in the cache at a cache-line.

15. The method of claim 7 , wherein the state of the data includes one or more bits which are added to the data at a cache-line.

16. The method of claim 7 , wherein the state of the data is encoded with the data in the cache.

17. The method of claim 7 , wherein the state of the data is included in the cache as a modification of an existing cache state protocol.

18. The method of claim 1 , wherein the first node is part of a multi-node system.

19. The method of claim 1 , wherein the first node includes a chip-multi-processor (CMP).

20. A computer program product embodied on a non-transitory computer readable medium containing computer code that, when executed by one or more processors, causes the one or more processors to perform actions comprising:

sending a first request for data to a cache of a first node;

determining whether the first request can be satisfied within the first node by determining a type of the first request and determining a state of the data in the cache, wherein the state of the data in the cache includes information concerning whether the data is shared locally or globally; and

conditionally sending a second request for the data to a second node, based on the determination.

21. An apparatus, comprising: a first node including at least one processor configured to:

send a first request for data to a cache of the first node,

determine whether the first request can be satisfied within the first node by determining a type of the first request and determining a state of the data in the cache, wherein the state of the data in the cache includes information concerning whether the data is shared locally or globally, and

conditionally send a second request for the data to a second node, based on the determination.

Assignments (11)
CORRECTIVE ASSIGNMENT TO CORRECT THE ERROR IN RECORDING THE MERGER IN THE INCORRECT US PATENT NO. 8,876,094 PREVIOUSLY RECORDED ON REEL 047351 FRAME 0384. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 8, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 049248/0558 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF THE MERGER PREVIOUSLY RECORDED AT REEL: 047230 FRAME: 0910. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047351/0384 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047230/0910 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2015
From: NETLOGIC I LLC
To: BROADCOM CORPORATION
Reel/Frame 035443/0763 →
CHANGE OF NAME Recorded Apr 16, 2015
From: NETLOGIC MICROSYSTEMS, INC.
To: NETLOGIC I LLC
Reel/Frame 035443/0824 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2012
From: RMI CORPORATION
To: NETLOGIC MICROSYSTEMS, INC.
Reel/Frame 028163/0168 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2010
From: RMI CORPORATION
To: NETLOGIC MICROSYSTEMS, INC.
Reel/Frame 023926/0338 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2009
From: GARG, GAURAV; HASS, DAVID T.
To: RMI CORPORATION
Reel/Frame 023310/0514 →