IP Library Granted Patent US 7,398,359
Granted Patent B1
US 7,398,359 · App. 10/836,932 · Granted Jul 8, 2008

System and method for performing memory operations in a computing 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,398,359
App. No.
10/836,932
Granted
Jul 8, 2008
Kind
B1
Abstract

A processor may operate in one of a plurality of operating states. In a Normal operating state, the processor is not involved with a memory transaction. Upon receipt of a transaction instruction to access a memory location, the processor transitions to a Transaction operating state. In the Transaction operating state, the processor performs changes to a cache line and data associated with the memory location. While in the Transaction operating state, any changes to the data and the cache line is not visible to other processors in the computing system. These changes become visible upon the processor entering a Commit operating state in response to receipt of a commit instruction. After changes become visible, the processor returns to the Normal operating state. If an abort event occurs prior to receipt of the commit instruction, the processor transitions to an Abort operating state where any changes to the data and cache line are discarded.

Claims (54)

1. A system for performing memory operations in a computing system, comprising:

a processor operable to operate in one of a plurality of operating states, the processor including a transaction record to track the plurality of operating states;

a cache memory operable to identify one of a plurality of cache states for each cache line stored therein, the plurality of cache states being associated with the plurality of operating states.

2. The system of claim 1 , wherein the processor is operable to function in a Normal operating state, the Normal operating state indicating that the processor is not involved in a memory transaction.

3. The system of claim 1 , wherein the processor is operable to function in a Transaction operating state, the Transaction operating state indicating that the processor is engaged with a memory transaction.

4. The system of claim 3 , wherein the processor prevents any changes to the memory while in the Transaction operating state.

5. The system of claim 1 , wherein the processor is operable to function in a Commit operating state, the Commit operating state indicating that the processor will make visible to other processors in the system any changes made to the memory.

6. The system of claim 5 , wherein the processor holds processing of all incoming coherency messages until the Commit operating state is terminated.

7. The system of claim 1 , wherein the processor is operable to function in an Abort operating state, the Abort operating state indicating that any changes to memory are to be discarded.

8. The system of claim 7 , wherein the processor holds processing of all incoming coherency messages until the Abort operating state is terminated.

9. The system of claim 1 , wherein the processor is operable to function in a Suspended operating state, the Suspended operating state indicating that a memory transaction has been aborted.

10. The system of claim 1 , wherein the cache memory includes a shared transactional, an exclusive transactional, and a dirty transactional cache state, these transactional cache states indicating a status of a cache line prior to providing the cache line to other processors.

11. A method for performing memory operations in a computing system, comprising:

receiving an instruction to access a memory location while in a Normal operating state;

transitioning to a Transaction operating state in response to the instruction;

transitioning a cache line associated with the memory location from a conventional MESI coherency protocol to one of a plurality of transactional coherency states associated with the Transaction operating state;

performing updates to the cache line associated with the memory location, the updates to the cache line not being visible to other processors in the computing system;

receiving a commit instruction;

transitioning to a Commit operating state;

making any changes to the cache line visible to other processors in the computing system;

transitioning the cache line from one of the plurality of transactional states to the conventional MESI protocol;

transitioning to the Normal operating state upon making changes to the cache line visible to other processors and performing the cache line transition.

12. The method of claim 11 , further comprising:

receiving an event causing an abort of the instruction;

transitioning to an Abort operating state in response to the event.

13. The method of claim 12 , further comprising:

discarding any changes made to the cache line;

transitioning the cache line associated with the memory location from one of a plurality of transactional coherency states associated with the Transaction operating state to the conventional MESI coherency protocol.

14. The method of claim 13 , further comprising:

transitioning to a Suspended operating state upon completion of the discarding of any changes to the cache line.

15. The method of claim 14 , further comprising:

receiving a commit instruction;

transitioning to the Normal operating state in response to the commit instruction.

16. A computer readable medium including code for performing memory operations in a computing system, the code operable to:

receive an instruction to access a memory location while in a Normal operating state;

transition to a Transaction operating state in response to the instruction;

transition a cache line associated with the memory location from a conventional MESI coherency protocol to one of a plurality of transactional coherency states associated with the Transaction operating state;

perform updates to the cache line associated with the memory location, the updates to the cache line not being visible to other processors in the computing system;

receive a commit instruction;

transition to a Commit operating state;

make any changes to the cache line visible to other processors in the computing system;

transition the cache line from one of the plurality of transactional states to the conventional MESI protocol;

transition to the Normal operating state upon making changes to the cache line visible to other processors and performing the cache line transition.

17. The computer readable medium of claim 16 , the code further operable to:

receive an event causing an abort of the instruction;

transition to an Abort operating state in response to the event.

18. The computer readable medium of claim 17 , wherein the code is further operable to:

discard any changes made to the cache line;

transition the cache line associated with the memory location from one of a plurality of transactional coherency states associated with the Transaction operating state to the conventional MESI coherency protocol.

19. The computer readable medium of claim 18 , wherein the code is further operable to:

transitioning to a Suspended operating state upon completion of the discarding of any changes to the cache line.

20. The computer readable medium of claim 19 , wherein the code is further operable to:

receiving a commit instruction;

transitioning to the Normal operating state in response to the commit instruction.

Assignments (13)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2017
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 044128/0149 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC., AS AGENT
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 040545/0362 →
CHANGE OF NAME Recorded Aug 1, 2016
From: SILICON GRAPHICS INTERNATIONAL, INC.
To: SGI INTERNATIONAL, INC.
Reel/Frame 039535/0525 →
MERGER Recorded Aug 1, 2016
From: SGI INTERNATIONAL, INC.
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 039307/0778 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2016
From: SILICON GRAPHICS, INC.
To: SILICON GRAPHICS INTERNATIONAL, INC.
Reel/Frame 039535/0349 →
ORDER. . . AUTHORIZING THE SALE OF ALL OR SUBSTANTIALLY ALL OF THE ASSETS OF THE DEBTORS FREE AND CLEAR OF ALL LIENS, CLAIMS, ENCUMBRANCES, AND INTERESTS. Recorded Jul 25, 2016
From: WELLS FARGO FOOTHILL CAPITAL, INC.
To: SILICON GRAPHICS INC.
Reel/Frame 039461/0418 →
ORDER. . .AUTHORIZING THE SALE OF ALL OR SUBSTANTIALLY ALL OF THE ASSETS OF THE DEBTORS FREE AND CLEAR OF ALL LIENS, CLAIMS, ENCUMBRANCES, AND INTERESTS. Recorded Jul 25, 2016
From: MORGAN STANLEY & CO., INCORPORATED
To: SILICON GRAPHICS, INC.
Reel/Frame 039461/0713 →
SECURITY INTEREST Recorded Mar 13, 2015
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 035200/0722 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2012
From: SILICON GRAPHICS, INC. ET AL.; SGI INTERNATIONAL, INC.
To: SILICON GRAPHICS INTERNATIONAL, CORP.
Reel/Frame 027727/0086 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2008
From: DENEROFF, MARTIN M.; SCHIMMEL, CURT F.
To: SILICON GRAPHICS, INC.
Reel/Frame 021036/0827 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2007
From: GENERAL ELECTRIC CAPITAL CORPORATION
To: MORGAN STANLEY & CO., INCORPORATED
Reel/Frame 019995/0895 →
SECURITY INTEREST Recorded Oct 24, 2006
From: SILICON GRAPHICS, INC.
To: GENERAL ELECTRIC CAPITAL CORPORATION
Reel/Frame 018545/0777 →
SECURITY AGREEMENT Recorded Aug 19, 2005
From: SILICON GRAPHICS, INC. AND SILICON GRAPHICS FEDERAL, INC. (EACH A DELAWARE CORPORATION)
To: WELLS FARGO FOOTHILL CAPITAL, INC.
Reel/Frame 016871/0809 →