Committed transactions in a storage system
AssigneePure Storage, Inc.
InventorsJohn Hayes, Brian Gold, Shantanu Gupta, Robert Lee, Hari Kannan
Life of this patent
Estimating the term…
Abstract
A method for a transactional commit in a storage unit is provided. The method includes receiving a logical record from a storage node into a transaction engine of a storage unit of the storage node and writing the logical record into a data structure of the transaction engine. The method includes writing, to a command queue of the transaction engine, an indication to perform an atomic update using the logical record and transferring each portion of the logical record from the data structure of the transaction engine to non-persistent memory of the storage unit as a committed transaction. A storage unit for a storage system is also provided.
Claims20
A method, comprising:
- receiving a logical record from a storage node of a storage system into a transaction engine of a storage unit of the storage node;
- writing the logical record into a data structure of the transaction engine;
- and
- writing, to a command queue of the transaction engine, an indication to perform an atomic update using the logical record, wherein the transaction engine is configured to complete an atomic update that is in progress when an event occurs, wherein a transaction interlock assures coherency of the atomic update that is in progress, and wherein contents of the non-persistent memory, having a coherent image of a logical record associated with the atomic update, are available in the persistent memory, after the event, for use during a recovery of the storage system.
A storage unit for a storage system, comprising:
- non-persistent memory;
- persistent memory;
- and
- a transaction engine, configured to complete an atomic update that is in progress when an event occurs, wherein a transaction interlock assures coherency of the atomic update that is in progress, and wherein contents of the non-persistent memory, having a coherent image of a logical record associated with the atomic update, are available in the persistent memory, after the event, for use during a recovery of the storage system:
- receive a logical record from a storage node of the storage system into a transaction engine the storage system;
- write the logical record into a data structure of the transaction engine;
- and
- write, to a command queue of the transaction engine, an indication to perform an atomic update using the logical record.
A storage system, comprising:
- a plurality of storage nodes coupled as a storage cluster;
- each of the plurality of storage nodes having one or more storage units;
- each storage unit having non-persistent memory, persistent memory, and a transaction engine with a transaction interlock configured to assure coherency of an atomic update;
- and
- the transaction engine configured to complete an atomic update that is in progress when an event occurs, wherein a transaction interlock assures coherency of the atomic update that is in progress, and wherein contents of the non-persistent memory, having a coherent image of a logical record associated with the atomic update, are available in the persistent memory, after the event, for use during a recovery of the storage system:
- receive a logical record from a storage node of the storage system into a transaction engine the storage system;
- write the logical record into a data structure of the transaction engine;
- and
- write, to a command queue of the transaction engine, an indication to perform an atomic update using the logical record.
Dependencies are inferred from the claim text.