Systems and methods for providing nonlinear journaling
First Claim
Patent Images
1. A method of journaling data for a data storage unit with multiple storage devices, wherein the data storage unit may continue to accept requests to write data while one of the storage devices is unavailable for storage, comprising:
- journaling data to be written on a plurality of storage devices of a data storage unit, wherein data that is journaled corresponds to a plurality of transactions, and the data to be written for each of the plurality of transactions is to be distributed among two or more of the plurality of storage devices;
determining when one of said storage devices is unavailable; and
keeping the data journaled for said one storage device while said storage device is unavailable for storage, while data journaled for an available storage device may be removed from a journal once the data has been written to the available storage device; and
replaying journal data for said one unavailable storage device after said one unavailable storage device becomes available for storage.
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.
315 Citations
15 Claims
-
1. A method of journaling data for a data storage unit with multiple storage devices, wherein the data storage unit may continue to accept requests to write data while one of the storage devices is unavailable for storage, comprising:
-
journaling data to be written on a plurality of storage devices of a data storage unit, wherein data that is journaled corresponds to a plurality of transactions, and the data to be written for each of the plurality of transactions is to be distributed among two or more of the plurality of storage devices; determining when one of said storage devices is unavailable; and keeping the data journaled for said one storage device while said storage device is unavailable for storage, while data journaled for an available storage device may be removed from a journal once the data has been written to the available storage device; and replaying journal data for said one unavailable storage device after said one unavailable storage device becomes available for storage. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system supporting per-drive journal replay for a data storage unit with multiple storage devices, wherein the data storage unit may continue to accept requests to write data while one or more of the storage devices are unavailable for storage, comprising:
-
a plurality of storage devices; persistent memory; and a program module configured to journal data to be written on the plurality of storage devices, wherein data that is journaled corresponds to a plurality of transactions, and the data to be written for each of the plurality of transactions is to be distributed among two or more of the plurality of storage devices; said program module further configured to keep in said persistent memory journal data corresponding to a subset of said plurality of storage devices that are temporarily unavailable to store said journaled data; wherein data journaled for an available storage device may be removed from a journal once the data has been written to the available storage device; said program module further configured to replay journal data for an unavailable storage device after said unavailable storage device becomes available for storage. - View Dependent Claims (7, 8, 9, 10, 11)
-
-
12. A method of journaling data for a data storage unit with multiple storage devices, wherein said data storage unit is part of a system comprising a plurality of data storage units that execute transactions global to the system, wherein the data storage unit may continue to accept requests to write data while one of the storage devices is unavailable for storage, comprising:
-
journaling data to be written on a plurality of storage devices of the data storage unit, wherein data that is journaled corresponds to transactions that are distributed among two or more of the plurality of storage devices; determining when one of said storage devices is unavailable; keeping the data journaled for said one storage device while said storage device is unavailable for storage; and replaying journal data for said one storage device after said one storage device becomes available for storage, wherein journal data corresponding to a given transaction is only replayed if said transaction includes a data write to said one storage device. - View Dependent Claims (13, 14, 15)
-
Specification