IP Library Granted Patent US 7,343,456
Granted Patent B2
US 7,343,456 · App. 10/435,189 · Granted Mar 11, 2008

Load-linked/store conditional mechanism in a CC-NUMA system

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 7,343,456
App. No.
10/435,189
Granted
Mar 11, 2008
Kind
B2
Abstract

A node includes a processor coupled to an interconnect and a memory bridge coupled to the interconnect. The processor is configured to maintain a first indication of whether or not a modification of data at a first address has been detected by the processor after a most recent load-linked (LL) instruction was executed by the processor to the first address. The memory bridge is responsible for internode coherency within the node, and is configured to initiate a first transaction on the interconnect in response to receiving a probe command from another node. The processor is configured, during a time period in which the processor has a second transaction outstanding to the first address, to change the first indication to the first state responsive to the first transaction.

Claims (17)

1. A node comprising:

a processor coupled to an interconnect which is internal to a local node, wherein the processor is configured to maintain an indication of whether or not a modification of data at a first address has been detected by the processor after a load-linked (LL) instruction is executed by the processor on the interconnect to the first address, wherein when the indication is in a first state to indicate that the modification has been detected, a store conditional (SC) instruction associated with the LL instruction and executed by the processor is prevented from completing successfully, and wherein when the indication is in a second state to indicate that no modification has been detected, the SC instruction is allowed to be completed by the processor; and

a memory bridge coupled to the interconnect of the local node and to a plurality of remote nodes via a connection external to the local node, in which the memory bridge communicates with the remote nodes and operates as an agent for the remote nodes on the interconnect to maintain coherency between the processor and the remote nodes, wherein the memory bridge is configured to initiate a first transaction on the interconnect in response to receiving an access command from one or more of the remote nodes to access the first address;

wherein when the processor is allowed to complete the LL instruction and the associated SC instruction, the memory bridge is to send a kill command to the remote node or nodes to terminate the access to the first address by the remote node or nodes, but when the processor is prevented from executing the SC instruction due to the memory bridge winning access to the first address to cause the modification, the memory bridge is to identify and notify a remote node winning the access to modify the first address and to send a kill command to other remote node or nodes that failed in winning the access.

2. The node as recited in claim 1 further comprising an intra-node agent coupled to the interconnect, the intra-node agent configured to initiate a second transaction on the interconnect to also attempt access to the first address to modify the data.

3. The node as recited in claim 2 wherein the intra-node agent includes another processor.

4. The node as recited in claim 2 wherein the second transaction is a different transaction type on the interconnect from the first transaction.

5. The node as recited in claim 1 wherein the processor is configured to change the indication in response to the first transaction even if the LL and SC instructions of the processor are not outstanding.

6. The node as recited in claim 1 wherein the processor is configured to change the indication in response to the first transaction even if the first transaction is to a second address that is different from the first address but within a granularity used for the LL and SC instructions.

7. A processor comprising:

a storage location configured to store a first address and an indication corresponding to a state of data at the first address, in which the indication is indicative of whether or not a modification of data at the first address has occurred after a load-linked (LL) instruction is executed by a processor to the first address on an interconnect that is internal to a local node, wherein when the indication is in a first state that indicates that the modification has been detected, a store conditional (SC) instruction associated with the LL instruction and executed by the processor is prevented from completing successfully, and wherein when the indication is in a second state that indicates that no modification has been detected, the SC instruction is allowed to be completed by the processor; and

a control circuit coupled to receive transactions from the interconnect to which the processor and a memory bridge are coupled, wherein the control circuit is configured to distinguish between a first transaction initiated in response to an access command to access the first address from one or more remote nodes via the memory bridge and the LL instruction from the processor, in which the memory bridge communicates with the remote nodes via a connection external to the local node and operates as an agent for the remote nodes on the interconnect to maintain coherency between the processor and the remote nodes;

wherein when the processor is allowed to complete the LL instruction and the associated SC instruction, the memory bridge is to send a kill command to the remote node or nodes to terminate the access to the first address by the remote node or nodes, but when the processor is prevented from executing the SC instruction due to the memory bridge winning access to the first address to cause the modification, the memory bridge is to identify and notify a remote node winning the access to modify the first address and to send a kill command to other remote node or nodes that failed in winning the access.

8. The processor as recited in claim 7 , wherein the control circuit is configured to cause the indication to be changed to the first state responsive to a second transaction on the interconnect by another processor of the local node coupled to the interconnect and when the another processor wins access to the first address while the SC instruction is outstanding.

9. The processor as recited in claim 7 wherein the first transaction is a different transaction type on the interconnect from the LL and SC instructions.

10. The processor as recited in claim 7 wherein the control circuit is configured to cause the indication to be changed in response to the first transaction even if the LL and SC instructions of the processor are not outstanding.

11. The processor as recited in claim 7 wherein the control circuit is configured to cause the indication to be changed in response to the first transaction even if the first transaction is to a second address that is different from the first address, but within a granularity used for the LL and SC instructions.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE ERROR IN RECORDING THE MERGER PREVIOUSLY RECORDED AT REEL: 047357 FRAME: 0302. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 22, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048674/0834 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF MERGER PREVIOUSLY RECORDED ON REEL 047195 FRAME 0658. ASSIGNOR(S) HEREBY CONFIRMS THE THE EFFECTIVE DATE IS 09/05/2018. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047357/0302 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047195/0658 →
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 May 9, 2003
From: ROWLANDS, JOSEPH B.
To: BROADCOM CORPORATION
Reel/Frame 014060/0735 →