Ability to browse and randomly access a large hierarchy in near constant time in a stateless application
US-2020050648-A1 · Feb 13, 2020 · US
US11237964B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11237964-B2 |
| Application number | US-201916398427-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 30, 2019 |
| Priority date | Apr 30, 2019 |
| Publication date | Feb 1, 2022 |
| Grant date | Feb 1, 2022 |
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.
Techniques for processing data include: receiving a hierarchical structure of metadata (MD) pages for a logical device; and performing processing to copy data of the logical device from a source system to a target system. The first processing includes: determining a sequence of the MD pages in accordance with a depth first traversal of the hierarchical structure; defining a cache management policy in accordance with the sequence that indicates when to load the MD pages into a cache and when to remove the MD pages from the cache; loading MD pages into, and removing MD pages from, the cache in accordance with the cache management policy; and copying data pages stored at logical addresses of the logical device in an order in which the logical addresses are accessed using MD pages stored in the cache at various points in time in accordance with the cache management policy.
Opening claim text (preview).
What is claimed is: 1. A method of processing data comprising: receiving a hierarchical structure of metadata (MD) pages for a logical device; and performing first processing to copy data stored on the logical device from a source system to a target system, the first processing including: determining a sequence of the MD pages of the logical device in accordance with a depth first traversal of the hierarchical structure; defining a cache management policy in accordance with the sequence that indicates, at various points in time, when to load the MD pages into a cache and when to remove the MD pages from the cache; loading the MD pages into the cache and removing MD pages from the cache at the various points in time and in accordance with the cache management policy; and copying data pages stored at logical addresses of the logical device from the source system to the target system, wherein said copying of the data pages is performed in an order in which the logical addresses are accessed using one or more of the MD pages stored in the cache at the various points in time in accordance with the cache management policy, wherein the cache management policy includes one or more rules that indicate to prefetch one or more MD pages of the hierarchical structure into the cache in accordance with a sequential order in which the MD pages of the sequence are accessed, and wherein the cache management policy further indicates that M, a maximum number of MD pages allowed to be stored in the cache, is equal to a mathematical sum of N and P, wherein N denotes a maximum number of levels in the hierarchical structure, and wherein P denotes a maximum number of prefetched MD pages allowed to be stored in the cache, wherein the cache management policy indicates that each parent MD page of the hierarchical structure remains resident in the cache until processing of all child MD pages of said each parent MD page of the hierarchical structure has completed, and wherein said copying the data pages further comprises: responsive to loading a first leaf MD page of the sequence into the cache, copying a first plurality of the data pages referenced by the first leaf MD page from the source system to the target system. 2. The method of claim 1 , wherein the hierarchical structure is a tree. 3. The method of claim 2 , wherein the tree includes 3 levels, wherein the 3 levels includes a first MD page as a root at a first level, a first plurality of MD pages at a second level, and a second plurality of MD pages at a third level. 4. The method of claim 3 , wherein the first plurality of MD pages are children of the first MD page, and each MD page of the second plurality of MD pages of the third level is a child of one of the MD pages of the first plurality of MD pages of the second level. 5. The method of claim 4 , wherein the second plurality of MD pages at the third level are leaf MD pages, and wherein each of the leaf MD pages accesses one or more pages of data stored on the logical device. 6. The method of claim 5 , wherein the cache management policy indicates that each of the leaf MD pages of the third level is removed from the cache after processing is completed for copying data, stored at logical addresses of the logical device accessed by said each leaf MD page, from the source system to the target system. 7. The method of claim 6 , wherein the cache management policy indicates that when a leaf MD page of the third level is loaded in the cache, then the first MD page that is the root and a parent MD page of the leaf MD page are resident in the cache. 8. The method of claim 6 , wherein the cache is included in the source system and wherein the data pages accessed by the leaf MD pages are copied from one or more physical storage devices of the source system to the cache of the source system, and then transmitted from the cache of the source system to the target system over a network connection. 9. The method of claim 1 , the first processing, that copies data of the logical device from the source system to the target system, is included in processing performed for replicating or migrating data of the logical device from the source system to the target system. 10. The method of claim 1 , wherein the source system is a data storage system and the target system is a second data storage system. 11. The method of claim 1 , wherein the cache management policy is a first separate cache management policy used in connection with management of MD pages stored in the cache for migration or replication, and wherein a second different cache management policy is general cache management policy used in connection with storing other content, besides MD pages, in the cache. 12. The method of claim 1 , wherein the hierarchical structure of MD pages for the logical device is used in connection with mapping logical addresses of the logical device to physical storage locations including content stored at the logical addresses of the logical device. 13. A system comprising: a processor; and a memory comprising code stored thereon that, when executed, performs a method of processing data comprising: receiving a hierarchical structure of metadata (MD) pages for a logical device; and performing first processing to copy data stored on the logical device from a source system to a target system, the first processing including: determining a sequence of the MD pages of the logical device in accordance with a depth first traversal of the hierarchical structure; defining a cache management policy in accordance with the sequence that indicates, at various points in time, when to load the MD pages into a cache and when to remove the MD pages from the cache; loading the MD pages into the cache and removing MD pages from the cache at the various points in time and in accordance with the cache management policy; and copying data pages stored at logical addresses of the logical device from the source system to the target system, wherein said copying of the data pages is performed in an order in which the logical addresses are accessed using one or more of the MD pages stored in the cache at the various points in time in accordance with the cache management policy, wherein the cache management policy includes one or more rules that indicate to prefetch one or more MD pages of the hierarchical structure into the cache in accordance with a sequential order in which the MD pages of the sequence are accessed, and wherein the cache management policy further indicates that M, a maximum number of MD pages allowed to be stored in the cache, is equal to a mathematical sum of N and P, wherein N denotes a maximum number of levels in the hierarchical structure, and wherein P denotes a maximum number of prefetched MD pages allowed to be stored in the cache, wherein the cache management policy indicates that each parent MD page of the hierarchical structure remains resident in the cache until processing of all child MD pages of said each parent MD page of the hierarchical structure has completed, and wherein said copying the data pages further comprises: responsive to loading a first leaf MD page of the sequence into the cache, copying a first plurality of the data pages referenced by the first leaf MD page from the source system to the target system. 14. A non-transitory computer readable medium comprising code stored thereon that, when executed, performs a method of processing data comprising: receiving a hierarchical structure of metadata (MD) pages for a logical device; and performing first processing to copy data stored on the logical device from a source system to a target system, the first processing
Metadata, control data · CPC title
Data transfer between cache memory and other subsystems, e.g. storage devices or host systems · CPC title
Improving or facilitating administration, e.g. storage management · CPC title
Details relating to cache prefetching · CPC title
Cache consistency protocols · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.