Cloud-based destination for block-level data replication processing
US-2024354022-A1 · Oct 24, 2024 · US
US9767111B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9767111-B1 |
| Application number | US-201113073391-A |
| Country | US |
| Kind code | B1 |
| Filing date | Mar 28, 2011 |
| Priority date | Mar 28, 2011 |
| Publication date | Sep 19, 2017 |
| Grant date | Sep 19, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Example embodiments of the present invention leverage the punch command and thin LUNs in order to create a fully dynamic journal which can shrink and grow on demand. The journal may be assigned a maximum allowed size, as well as a journal protection window defining a period for which the journal should retain journal information. A set of currently used blocks will be used and, if protection window is large enough, the oldest data blocks from an undo stream will be punched out from the stream. A manager may monitor how much free space there is in the storage pool and regulate the journal growth if the pool is nearly empty. Additionally, the journal capacity may also depend on the actual usage of the replicated LUNs if the replicated LUNs are thin (i.e., maintain the journal at a particular percentage of the used storage capacity).
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method comprising: storing a plurality of journal data streams for a journal in thin-provisioned storage, the journal having a size defined by a first number of segments provided by one or more logical units provisioned for journal storage; monitoring fullness of the journal, wherein the fullness of the journal is defined by a relationship between the size of the journal as defined by the first number of segments and a second number of segments used by the journal to store journal data; and managing the size of the journal according to a policy, wherein the size of the journal is adjusted dynamically according to the policy as determined by the fullness of the journal, comprising deallocating logical units providing excess segments no longer used by the journal to store journal data based upon the fullness of the journal, and comprising deallocating logical units of the journal according to a determination of remaining available user physical storage space in a storage pool from which the journal is allocated. 2. The method of claim 1 wherein managing the size of the journal comprises increasing or decreasing the size of the journal according to the policy. 3. The method of claim 2 wherein the plurality of journal data streams comprises a DO stream and an UNDO stream each comprising linked lists of data blocks, and wherein decreasing the size of the journal according to the policy comprises using a punch command to erase data from blocks of the UNDO stream. 4. The method of claim 2 wherein increasing the size of the journal according to the policy comprises: defining a size of the journal; and writing data to unwritten portions of the journal. 5. The method of claim 1 wherein the size of the journal is managed according to a portion of a volume on which a user volume is stored. 6. The method of claim 1 wherein storing a plurality of journal data streams for a journal in thin-provisioned storage comprises storing the plurality of journal data streams for the journal in a plurality of thin provisioned logical units. 7. The method of claim 1 wherein the size of the journal is managed according to a journal protection window for which journal data is retained. 8. The method of claim 1 wherein the size of the journal is managed according to a minimum journal size and a maximum journal size. 9. An apparatus comprising: one or more processors; and memory storing instructions that, when executed on the one or more processors, cause the apparatus to: store a plurality of journal data streams for a journal in thin-provisioned storage, the journal having a size defined by a first number of segments provided by one or more logical units provisioned for journal storage; monitoring fullness of the journal, wherein the fullness of the journal is defined by a relationship between the size of the journal as defined by the first number of segments and a second number of segments used by the journal to store journal data; and manage the size of the journal according to a policy, wherein the size of the journal is adjusted dynamically according to the policy as determined by the fullness of the journal, comprising deallocating logical units providing excess segments no longer used by the journal to store journal data based upon the fullness of the journal, and comprising deallocating logical units of the journal according to a determination of remaining available user physical storage space in a storage pool from which the journal is allocated. 10. The apparatus of claim 9 wherein the memory further stores instructions that, when executed on the one or more processors, cause the apparatus to increase or decrease the size of the journal according to the policy. 11. The apparatus of claim 10 wherein the plurality of journal data streams comprises a DO stream and an UNDO stream each comprising linked lists of data blocks, and wherein the memory further stores instructions that, when executed on the one or more processors, cause the apparatus to decrease the size of the journal according to the policy by using a punch command to erase data from blocks of the UNDO stream. 12. The apparatus of claim 10 wherein the memory further stores instructions that, when executed on the one or more processors, cause the apparatus to increase the size of the journal according to the policy by defining a size of the journal and writing data to unwritten portions of the journal. 13. The apparatus of claim 9 wherein the memory further stores instructions that, when executed on the one or more processors, cause the apparatus to manage the size of the journal according to a portion of a volume on which a user volume is stored. 14. The apparatus of claim 9 wherein the memory further stores instructions that, when executed on the one or more processors, cause the apparatus to store the plurality of journal data streams for the journal in storage in a plurality of thin provisioned logical units. 15. The apparatus of claim 9 wherein the memory further stores instructions that, when executed on the one or more processors, cause the apparatus to manage the size of the journal according to a journal protection window for which journal data is retained. 16. The apparatus of claim 9 wherein the memory further stores instructions that, when executed on the one or more processors, cause the apparatus to manage the size of the journal according to a minimum journal size and a maximum journal size. 17. A computer program product including a non-transitory computer-readable storage medium encoded with computer program code that, when executed on a processor of a computer, causes the computer to manage a size of a journal, the computer program product comprising: computer program code for storing a plurality of journal data streams for a journal in thin-provisioned storage, the journal having a size defined by a first number of segments provided by one or more logical units provisioned for journal storage; computer program code for monitoring fullness of the journal, wherein the fullness of the journal is defined by a relationship between the size of the journal as defined by the first number of segments and a second number of segments used by the journal to store journal data; and computer program code for managing the size of the journal according to a policy, wherein the size of the journal is adjusted dynamically according to the policy as determined by the fullness of the journal, comprising deallocating logical units providing excess segments no longer used by the journal to store journal data based upon the fullness of the journal, and comprising deallocating logical units of the journal according to a determination of remaining available user physical storage space in a storage pool from which the journal is allocated.
Redundant storage or storage space (G06F11/2056 takes precedence) · CPC title
Physics · mapped topic
Physics · mapped topic
Physics · mapped topic
Using snapshots, i.e. a logical point-in-time copy of the data · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.