Cyclic commit transaction protocol
AssigneeMicrosoft Technology Licensing, LLC
InventorsVijayan Prabhakaran, Lidong Zhou, Thomas Lee Rodeheffer
Life of this patent
Estimating the term…
Abstract
A cyclic commit protocol is used to store relationships between transactions and is used by the technology to determine whether a transaction is committed or not. The protocol allows creation of a cycle of transactions which can be used to recover the state of a storage device after a host failure by identifying the last committed version of intention records as committed or uncommitted based on the data stored in the physical pages.
Claims20
A method of managing storage of information to non-volatile storage where storage of such information can be interrupted before completion, the method comprising:
- defining a series of to be completed write operations associated with a transaction, each write operation including a write intention that is part of a linked list including one or more write intentions;
- writing data of the write operations in respective storage pages of a non-volatile storage media, each storage page including a data page and metadata, the metadata including an identification of at least a next write intention of the linked list where the linked list defines a closed transaction cycle, and
- in response to a storage interruption, using the closure of the transaction cycle to indicate all write intentions of the closed transaction cycle are committed ones.
A method of managing storage of information on non-volatile storage, comprising:
- writing a series of data write operations in a transaction, each write operation including a write intention, each intention defining a storage page of a non-volatile storage media, the storage page having a data structure, the data structure including a metadata portion identifying at least a next intention in a closed transaction cycle and a data page,
- detecting closure of the transaction cycle and using the detected closure as an indication that all write intentions of the closed transaction cycle are committed;
- determining whether a write operation is completed by determining whether the closed transaction cycle of intentions has completed;
- and
- in response to one or more of a series of write operations being interrupted, using one or more closed transaction cycles for recovering a storage media state.
A method of managing storage of information to non-volatile storage, where storage of such information can be interrupted before completing, the method comprising:
- defining a series of write operations in a transaction, each write operation including a write intention;
- and
- writing data of the write operations in respective storage pages of a non-volatile storage media, each storage page including metadata identifying a next intention in a closed transaction cycle, the metadata also identifying a previous intention in the transaction cycle, each storage page further including page data,
- in response to a storage interruption, detecting closure of the transaction cycle and using the detected closure as an indication that all write intentions of the closed transaction cycle are committed;
- and
- determining whether a write operation completed by determining whether writing a closed cycle of intentions has completed.
Dependencies are inferred from the claim text.