Systems and methods for providing nonlinear journaling
First Claim
Patent Images
1. A networked cluster of data storage nodes cooperating to execute transactions that are global to the networked cluster of storage nodes, comprising:
- a plurality of storage nodes configured to be connected in a network; and
a plurality of journal modules, each one of said storage nodes having a different one of said plurality of journal modules associated therewith, the journal modules configured to record on the storage nodes data associated with global transactions;
wherein the recorded data is sufficient to recreate the transactions when necessary.
12 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, systems and methods are provided for nonlinear journaling. In one embodiment, groups of data designated for storage in a data storage unit are journaled into persistent storage. In one embodiment, the journal data is recorded nonlinearly. In one embodiment, a linked data structure records data and data descriptors in persistent storage.
210 Citations
14 Claims
-
1. A networked cluster of data storage nodes cooperating to execute transactions that are global to the networked cluster of storage nodes, comprising:
-
a plurality of storage nodes configured to be connected in a network; and a plurality of journal modules, each one of said storage nodes having a different one of said plurality of journal modules associated therewith, the journal modules configured to record on the storage nodes data associated with global transactions; wherein the recorded data is sufficient to recreate the transactions when necessary. - View Dependent Claims (2, 3, 4)
-
-
5. A method of journaling data associated with global transactions in a distributed data storage system comprising:
-
journaling data in persistent memory that is associated with a data storage unit in the distributed data storage system, said data associated with a transaction that is global to the distributed data storage system; wherein journaling said data comprises recording information sufficient to recreate the transaction.
-
-
6. A networked cluster of data storage nodes cooperating to execute transactions that are global to the networked cluster of data storage nodes comprising:
-
a plurality of data storage nodes configured to be connected in a network; a plurality of persistent memory allocations, each one of said data storage nodes having a different one of said plurality of persistent memory allocations associated therewith; and at least one journal program module, the at least one journal program module configured to record on a subset of the persistent memory allocations data associated with transactions that are global to the networked cluster of data storage nodes; wherein the recorded data is sufficient to recreate the global transactions when necessary.
-
-
7. A method of journaling data in a storage unit of a distributed storage system to provide a shadow buffer in the event that the distributed system aborts a transaction, the method comprising:
-
journaling first data, said first data associated with a first transaction that the distributed storage system has committed to write, said first data designated to be written to a storage location, but said first data has not yet been written to said storage location; journaling second data, said second data associated with a second transaction that the distributed storage system has not yet committed to write, said second data designated to be written to said storage location; and preserving said first data for purposes of restoring said first data, in the event that the distributed storage system aborts said second transaction.
-
-
8. A system that journals data for a data storage unit that provides a shadow buffer in the event that a transaction aborts, the system comprising:
-
a data storage unit; a memory buffer, said memory buffer associated with a location on said data storage unit; persistent memory, said persistent memory associated with said data storage unit; and a program module configured to journal the first data in said persistent memory from said memory buffer, and further configured to preserve, after said memory buffer is overwritten with second data, the first data in said persistent memory until one of the following conditions is met;
a transaction associated with the second data commits the second data to being stored at the location on said data storage unit and, in the event the second data is not committed, the first data has been stored to said data storage unit. - View Dependent Claims (9, 10)
-
-
11. A method of journaling data in a data storage unit of a distributed data storage system to provide both a journal function and a shadow buffer function, comprising:
-
keeping a first data in a memory buffer, the memory buffer associated with a location in a data storage unit; journaling the first data in persistent memory; overwriting the memory buffer with second data before the first data is stored in the data storage unit; and preserving the first data in the persistent memory until after receiving an indication that it may be erased. - View Dependent Claims (12, 13, 14)
-
Specification