Methods and apparatus for dynamic journal expansion
AssigneeEMC (Benelux) B.V., S.A.R.L.
InventorsShlomo Ahal, Assaf Natanzon
Life of this patent
Estimating the term…
Abstract
Method and apparatus to dynamically add storage for a journal in a continuous data protection system. In an exemplary embodiment, a method includes storing a plurality of journal data streams for a journal in a continuous data protection system in first storage, where streams in the journal data streams contain linked lists of data blocks, determining when the first storage exceeds a selected fullness threshold, allocating second storage for the journal in addition to the first storage, and storing data for the journal in the second storage.
Claims20
A method, comprising:
- storing a plurality of journal data streams for a journal in a continuous data protection system in first storage, where streams in the journal data streams contain linked lists of data blocks;
- determining when the first storage exceeds a selected fullness threshold;
- allocating second storage for the journal in addition to the first storage;
- and
- storing data for the journal in the second storage,
- wherein storing the plurality of journal data streams comprises storing a plurality of journal data streams comprising:
- a DO stream comprising new data for a write transaction in a logical unit;
- a DO METADATA stream comprising metadata for the write transaction, the metadata comprising a pointer to the offset in the DO stream where the new data is located;
- an UNDO stream comprising old data overwritten in the logical unit;
- and
- an UNDO METADATA comprising a pointer to the offset in the UNDO stream where the old data is located.
An article, comprising:
- a computer readable medium having stored instructions to enable a machine to perform the steps of:
- storing a plurality of journal data streams for a journal in a continuous data protection system in first storage, where streams in the journal data streams contain linked lists of data blocks;
- determining when the first storage exceeds a selected fullness threshold;
- allocating second storage for the journal in addition to the first storage;
- and
- storing data for the journal in the second storage,
- wherein the plurality of journal data streams comprises:
- a DO stream comprising new data for a write transaction in a logical unit;
- a DO METADATA stream comprising metadata for the write transaction,
- the metadata comprising a pointer to the offset in the DO stream where the new data is located;
- an UNDO stream comprising old data overwritten in the logical unit;
- and
- an UNDO METADATA comprising a pointer to the offset in the UNDO stream where the old data is located.
A system, comprising:
- a continuous data protection system having journaling, the continuous data processing including a journal processor to store a plurality of journal data streams for a journal in first storage, where streams in the journal data streams contain linked lists of data blocks, determine when the first storage exceeds a selected fullness threshold, allocate second storage for the journal in addition to the first storage, and store data for the journal in the second storage,
- wherein the plurality of journal data streams comprises:
- a DO stream comprising new data for a write transaction in a logical unit;
- a DO METADATA stream comprising metadata for the write transaction,
- the metadata comprising a pointer to the offset in the DO stream where the new data is located;
- an UNDO stream comprising old data overwritten in the logical unit;
- and
- an UNDO METADATA stream comprising metadata, the metadata comprising a pointer to the offset in the UNDO stream where the old data is located.
Dependencies are inferred from the claim text.