×

Atomic transactions to non-volatile memory

  • US 9,524,219 B2
  • Filed: 09/27/2013
  • Issued: 12/20/2016
  • Est. Priority Date: 09/27/2013
  • Status: Active Grant
First Claim
Patent Images

1. A processing device comprising:

  • a cache;

    an interface to a non-volatile storage medium (NVM) operatively coupled to the cache; and

    a first functional unit to execute a plurality of instructions associated with an atomic transaction and to track execution of the atomic transaction with a first transaction identifier (TID), wherein the plurality of instructions are to replace data at a set of addresses in the NVM atomically with new data, wherein the first functional unit is to execute the plurality of instructions to;

    perform a first instruction to create the atomic transaction that delineates a size of the data to be replaced atomically and generates the first TID;

    perform a second instruction to execute the atomic transaction including storing, in first cache lines of the cache, the new data with the set of addresses and the first TID;

    perform a third instruction to commit the atomic transaction to the set of addresses in the NVM, wherein the new data is not visible to other functional units until the atomic transaction is complete; and

    wherein the second instruction and the third instruction are further to, in response to a read request from a second functional unit to an address of the set of addresses;

    determine that the read request lacks the first TID;

    access the data associated with the address in a second cache line of the cache that is not associated with a valid TID in response to determining that the read request lacks the first TID, wherein the new data is simultaneously available in the first cache lines when accessing the data in the second cache line; and

    send, to the second functional unit, the data for the address.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×