IP Library Granted Patent US 7,925,839
Granted Patent B1
US 7,925,839 · App. 12/168,689 · Granted Apr 12, 2011

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,925,839
App. No.
12/168,689
Granted
Apr 12, 2011
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 (59)

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

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

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;

identifying the cache line with a transaction coherency state according to the update performed;

receiving an event causing an abort of the cache line update;

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

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;

restoring the cache line to contents stored therein prior to any updates.

2. The method of claim 1 , further comprising:

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.

3. The method of claim 2 , further comprising:

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

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

4. The method of claim 1 , further comprising:

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

5. The method of claim 1 , further comprising:

processing MESI coherency protocol messages received from other processors.

6. The method of claim 1 , further comprising:

tracking a state of the processor and operations performed on the cache line.

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

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

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;

identifying the cache line with a transaction coherency state according to the update performed;

processing MESI coherency protocol messages received from other processors;

wherein processing of MESI coherency protocol messages causes updates to the cache line to be aborted.

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

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

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;

identify the cache line with a transaction coherency state according to the update performed;

receive an event causing an abort of the cache line update;

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

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;

restore the cache line to contents stored therein prior to any updates.

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

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.

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

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

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

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

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

means for 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;

means for identifying the cache line with a transaction coherency state according to the update performed;

means for receiving an event causing an abort of the cache line update;

means for transitioning to an Abort operating state in response to the event;

means for discarding any changes made to the cache line;

means for 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;

means for restoring the cache line to contents stored therein prior to any updates.

12. The system of claim 11 , further comprising:

means for transitioning to a Commit operating state;

means for making any changes to the cache line visible to other processors in the computing system.

13. The system of claim 12 , further comprising:

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

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

Assignments (8)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2016
From: SILICON GRAPHICS, INC.
To: SILICON GRAPHICS INTERNATIONAL, INC.
Reel/Frame 039535/0349 →
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 →
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 Mar 21, 2012
From: SILICON GRAPHICS, INC. ET AL.; SGI INTERNATIONAL, INC.
To: SILICON GRAPHICS INTERNATIONAL, CORP.
Reel/Frame 027904/0315 →
SECURITY AGREEMENT Recorded Dec 16, 2008
From: SILICON GRAPHICS, INC.
To: MORGAN STANLEY & CO., INCORPORATED
Reel/Frame 021985/0269 →