Hardware acceleration of a write-buffering software transactional memory

US9594565B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9594565-B2
Application numberUS-201213471841-A
CountryUS
Kind codeB2
Filing dateAug 1, 2012
Priority dateApr 9, 2007
Publication dateMar 14, 2017
Grant dateMar 14, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method and apparatus for accelerating a software transactional memory (STM) system is described herein. Annotation field are associated with lines of a transactional memory. An annotation field associated with a line of the transaction memory is initialized to a first value upon starting a transaction. In response to encountering a read operation in the transaction, then annotation field is checked. If the annotation field includes a first value, the read is serviced from the line of the transaction memory without having to search an additional write space. A second and third value in the annotation field potentially indicates whether a read operation missed the transactional memory or a tentative value is stored in a write space. Additionally, an additional bit in the annotation field, may be utilized to indicate whether previous read operations have been logged, allowing for subsequent redundant read logging to be reduced.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: encountering a first read instruction in a first transaction, the first read instruction referencing a first address; and in response to encountering the first read instruction: checking an attribute field associated with a first memory line in a memory, wherein the first address is associated with the first memory line; determining if the first address has been modified during execution of the first transaction based on the attribute field; and reading a first value from the first memory line without searching a write space associated with the first transaction, in response to determining the first address has not been modified during execution of the first transaction; and reading a write value from the software maintained write space associated with the first transaction, in response to determining the first address has been modified during execution of the first transaction. 2. The method of claim 1 , wherein the attribute field comprises a first and a second bit, and wherein determining if the first address location has been modified during execution of the first transaction based on the attribute field comprises: checking the first bit; determining the first address location has not been modified during execution of the first transaction, in response to the first bit being in a first logical state; checking the second bit, in response to the first bit being in a second logical state; determining the first address location has been modified during execution of the first transaction, in response to the second bit being in the second logical state. 3. The method of claim 2 , further comprising: determining a miss to the memory line has occurred after checking the second bit, in response to the second bit being in the first logical state. 4. The method of claim 3 , further comprising, in response to the second bit being in the first logical state, bringing a new value to the memory line of memory to service the miss; determining if a write log entry associated with the first address exists, the write log to include a write value; returning the write value in response to determining the write log entry exists; and returning the new value in response to determining the write log entry does not exist. 5. The method of claim 2 , further comprising: reading a write log value from the write log associated with the first transaction, in response to determining the first address has been modified during execution of the first transaction. 6. The method of claim 2 , further comprising: detecting a first write instruction in the first transaction; in response to detecting the first write instruction: storing a write log value in the write log associated with the first transaction; updating the first bit to the first logical state; updating the second bit to the second logical state. 7. The method of claim 6 , further comprising: committing the first transaction, wherein committing the first transaction comprises: determining if a plurality of read instructions in the first transaction, including the read instruction, are valid; acquiring a plurality of write locks for a plurality of addresses to be modified including the first address; copying a plurality of write values from the write log to a plurality of memory lines in the memory, including the write log value from the write log to the memory line, in response to determining the plurality of read instructions are valid; and releasing the plurality of write locks.

Assignees

Inventors

Classifications

  • G06F9/3834Primary

    Maintaining memory consistency · CPC title

  • Transactional memory (G06F9/528 takes precedence) · CPC title

  • for multiprocessing or multitasking · CPC title

  • using multiple copies of the architectural state, e.g. shadow registers · CPC title

  • from multiple instruction streams, e.g. multistreaming · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9594565B2 cover?
A method and apparatus for accelerating a software transactional memory (STM) system is described herein. Annotation field are associated with lines of a transactional memory. An annotation field associated with a line of the transaction memory is initialized to a first value upon starting a transaction. In response to encountering a read operation in the transaction, then annotation field is c…
Who is the assignee on this patent?
Saha Bratin, Adl-Tabatabai Ali-Reza, Jacobson Quinn, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06F9/3834. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 14 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).