IP Library Granted Patent US 9,465,739
Granted Patent B2
US 9,465,739 · App. 14/056,118 · Granted Oct 11, 2016

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

Inventors: Gaurav Garg (San Jose, CA); David T. Hass (Santa Clara, CA)
Assignee: Broadcom Corporation
G06F12/0815G06F12/0831
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 9,465,739
App. No.
14/056,118
Granted
Oct 11, 2016
Kind
B2
Abstract

A system, method, and computer program product are provided for conditionally sending a request for data to a node based on a determination. 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 (39)

1. A method, comprising:

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

receiving a response from the cache of the first node, wherein the response includes information relating to a state of the data;

determining a type of the request for the data based on the state of the data, the type comprising read or write;

fulfilling the request for the data at the first node based on the state of the data when the type is the read; and

sending the request for the data to a second node when the type is the write.

2. The method of claim 1 , further comprising determining whether the data is valid based on the state of the data.

3. The method of claim 2 , wherein the sending further comprises sending the request for the data to the second node after determining the data is not valid.

4. The method of claim 1 , wherein the information relating to the state of the data includes information about whether the data is locally shared or globally shared.

5. The method of claim 4 , wherein the fulfilling the data request comprises fulfilling the data request at the first node when the data is locally shared, and

wherein the sending the request for the data to the second node comprises sending the request for the data to the second node when the data is globally shared.

6. The method of claim 1 , further comprising determining whether the data is valid or invalid.

7. The method of claim 6 , wherein the determining the type further comprises sending a second request to a second cache of the first node when the data is invalid.

8. The method of claim 1 , further comprising:

determining whether the data is locally shared or globally shared.

9. The method of claim 8 , wherein the sending the request for the data to the second node comprises:

sending the request for the data to the second node when the type is the write and the data is globally shared.

10. The method of claim 8 , further comprising:

fulfilling the request for the data based on the state of the data when the type is the write and the data is locally shared.

11. A first node in a multiprocessor system, comprising:

a cache; and

a controller configured to;

send a request for data to the cache;

receive a response from the cache, wherein the response includes information relating to a state of the data;

determine a type of the request for the data based on the state of the data, the type comprising read or write;

fulfill the request for the data based on the state of the data when the type is the read; and

send the request for the data to a second node when the type is the write.

12. The first node of claim 11 , wherein the controller is further configured to determine whether the data is valid based on the state of the data.

13. The first node of claim 12 , wherein the controller is configured to send the request for the data to the second node after determining the data in the cache is not valid.

14. The first node of claim 11 wherein the information relating to the state of the data includes information about whether the data is locally shared or globally shared.

15. The first node of claim 11 , wherein the controller is configured to fulfill the request for the data when the data is locally shared, and

wherein the controller is configured to send the request for the data to the second node when the data is globally shared.

16. The first node of claim 11 , wherein the controller is further configured to determine whether the data is valid or invalid.

17. The first node of claim 16 , further comprising:

a second cache, and

wherein the controller is further configured to send a second request to the second cache when the data is invalid.

18. The first node of claim 11 , wherein the controller is further configured to determine whether the data is locally shared or globally shared.

19. The first node of claim 18 , wherein the controller is configured to send the request for the data to the second node when the type is the write and the data is globally shared.

20. The first node of claim 18 , wherein the controller is further configured to fulfill the request for the data based on the state of the data when the type is the write and the data is locally shared.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047422 FRAME: 0464. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 6, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048883/0702 →
MERGER Recorded Oct 5, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047422/0464 →
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 Oct 25, 2013
From: RMI CORPORATION
To: NETLOGIC MICROSYSTEMS, INC.
Reel/Frame 031476/0327 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2013
From: GARG, GAURAV; HASS, DAVID T
To: RMI CORPORATION
Reel/Frame 031476/0291 →
Continuity (2)
Continuation 12571233 · Sep 30, 2009
Related Publication 20140040564A1 · Feb 6, 2014