Consistency Without Ordering Dependency
First Claim
1. A method implemented at least in part by a computer, the method comprising:
- obtaining one or more indications of objects that are involved in a transaction;
locating a first set of storage locations of a store for the objects that are involved in the transaction;
creating logical copies of objects that are modified in context of the transaction;
determining a second set of storage locations of the store for the logical copies;
creating an association that binds the logical copies of the objects in an atomic unit; and
sending one or more requests to write the association and the logical copies to the store while maintaining originals of the objects on the store.
2 Assignments
0 Petitions
Accused Products
Abstract
Aspects of the subject matter described herein relate to maintaining consistency in a storage system. In aspects, one or more objects may be updated in the context of a transaction. In conjunction with updating the objects, logical copies of the objects may be obtained and modified. A request to write the updated logical copies is sent to a storage controller. The logical copies do not overwrite the original copies. In conjunction with sending the request, a data structure is provided for the storage controller to store on the disk. The data structure indicates the one or more objects that were supposed to be written to disk and may include verification data to indicate the content that was supposed to be written to disk. During recovery, this data structure may be used to determine whether all of the object(s) were correctly written to disk.
15 Citations
20 Claims
-
1. A method implemented at least in part by a computer, the method comprising:
-
obtaining one or more indications of objects that are involved in a transaction; locating a first set of storage locations of a store for the objects that are involved in the transaction; creating logical copies of objects that are modified in context of the transaction; determining a second set of storage locations of the store for the logical copies; creating an association that binds the logical copies of the objects in an atomic unit; and sending one or more requests to write the association and the logical copies to the store while maintaining originals of the objects on the store. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer storage medium having computer-executable instructions, which when executed perform actions, comprising:
-
obtaining an indication of an object involved in an update of one or more transactions; locating the object in a first storage location of a store; creating a logical copy of the object that includes changes made to the object in context of the one or more transactions; determining a second storage location of the store for storing the logical copy; sending a request to write the logical copy as changed to the second storage location; in conjunction with sending the request, providing data that indicates a next location at which a logical copy pertaining to another transaction, if any, is to be written; and updating a volatile data structure to indicate that the logical copy is stored in the second storage location. - View Dependent Claims (13, 14, 15, 16)
-
-
17. In a computing environment, a system, comprising:
-
an interface operable to receive a request to modify an object involved in a transaction; a store having a non-volatile memory and a volatile memory thereon; a storage controller that potentially allows writes to the non-volatile memory to proceed in an order other than an order in which requests for the writes were received; and an I/O manager operable to perform actions, comprising; locating the object in a first storage location of the store; creating a logical copy of the object that includes changes made to the object in context of the transaction; determining a second storage location of the store for storing the logical copy; sending a request to write the logical copy as changed to the second storage location; and updating a volatile data structure to indicate that the logical copy is stored in the second storage location. - View Dependent Claims (18, 19, 20)
-
Specification