发明名称 Snapshots and versioning of transactional storage class memory
摘要 A system and method enables efficient implementation of snapshots of data organized as arbitrary data structures on a byte-addressable persistent memory of a host computer. A user-level library of the host computer may configure the persistent memory as a software transactional memory (STM) system defined by operations, such as a STM commit operation, that ensure safe and consistent storage of the data (i.e., the data structures) within a region of the persistent memory. The library may then cooperate with an application executing on the host computer to control access to a data structure, e.g., to change a datum, stored in the region of the persistent memory as a transaction using the STM commit operation. Within a context of the transaction, the library may precisely determine which byte or bytes of the datum have changed within the region, as well as how and when the bytes have changed. Armed with precise knowledge of the context of the transaction, the library may efficiently implement a snapshot (i.e., point-in-time copy) of the changed datum and its associated data structure at the granularity at which it was modified, e.g., at the byte-addressable granularity.
申请公布号 US9411533(B2) 申请公布日期 2016.08.09
申请号 US201313901145 申请日期 2013.05.23
申请人 NetApp, Inc. 发明人 Santry Douglas Joseph
分类号 G06F12/00;G06F3/06;G06F11/14 主分类号 G06F12/00
代理机构 Cesari and McKenna, LLP 代理人 Cesari and McKenna, LLP
主权项 1. A method comprising: organizing a persistent memory on a host computer as a software transactional memory (STM) that provides atomicity, consistency, isolation and durability (ACID) properties; creating a region within a portion of the persistent memory, the region including an initial region version number; creating a datum in the region, the datum associated with the initial region version number; maintaining a set of historical values of the datum in the persistent memory, wherein the set of historical values is associated with a set of datum version numbers; and in response to creating a snapshot of the region, creating a snapshot of the datum, the region snapshot associated with an incremented region version number, wherein the snapshot of the datum is included in the set of historical values and is associated with a first datum version number different from the incremented region version number associated with the region snapshot.
地址 Sunnyvale CA US