×

System and method for atomic persistence in storage class memory

  • US 10,163,510 B1
  • Filed: 08/11/2014
  • Issued: 12/25/2018
  • Est. Priority Date: 08/09/2013
  • Status: Active Grant
First Claim
Patent Images

1. A method for performing a group of processor load and store instructions to Storage Class Memory atomically and asynchronously, the method comprising:

  • creating an alias table in Dynamic Random Access Memory which catches spurious cache evictions from write-back caching of aliased Storage Class Memory addresses from corrupting a Storage Class Memory structure on a system failure;

    creating a log area in a Storage Class Memory for asynchronous logging operations;

    upon receiving a request for a new atomic group of processor load and store instructions to Storage Class Memory, creating a log for stored values in the group;

    upon receiving a store request to a Storage Class Memory address in an atomic group of processor load and store instructions to Storage Class Memory;

    asynchronously storing the Storage Class Memory address and value to be stored to the log;

    determining whether an alias for the Storage Class Memory address exists;

    upon determining that the alias address exists, performing a store of the value to the alias address location;

    and upon determining that the alias address does not exist, storing the value to an alias address memory location in Dynamic Random Access Memory and associating the alias address with the Storage Class Memory address;

    upon receiving a load request to a Storage Class Memory address in an atomic group of processor load and store instructions to Storage Class Memory;

    determining whether an alias for the Storage Class Memory address exists;

    upon determining that the alias address exists, returning the value in the alias address location;

    and upon determining that the alias address does not exist, returning the value in the Storage Class Memory location;

    upon receiving a close request for an atomic group of processor load and store instructions to Storage Class Memory, marking the log structure in Storage Class Memory as closed;

    upon receiving an abort request for an atomic group of processor load and store instructions to Storage Class Memory, deleting the log for the group, performing a memory fence, notifying a log manager to copy values from completed logs to Storage Class Memory, and clearing the alias table;

    and upon determining the alias table in Dynamic Random Access Memory running out of space, suspending new atomic group requests, notifying the log manager to process completed logs, and clearing the alias table.

View all claims
  • 0 Assignments
Timeline View
Assignment View
    ×
    ×