IP Library › Granted Patent US 12,131,050
Granted Patent B2
US 12,131,050 · App. 18/448,245 · Granted Oct 29, 2024

Cloud block map for caching data during on-demand restore

Inventors: Jagavar Nehra (Karnataka, IN); Roopesh Chuggani (Rajasthan, IN); Abhisar (Uttar Pradesh, IN); Sumith Makam (Bangalore, IN)
Assignee: NetApp, Inc.
G06F3/065G06F3/0619G06F3/067G06F11/1469G06F2201/84
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,131,050
App. No.
18/448,245
Granted
Oct 29, 2024
Kind
B2
Abstract

Techniques are provided for caching data during an on-demand restore using a cloud block map. A client may be provided with access to an on-demand volume during a restore process that copies backup data from a snapshot within a remote object store to the on-demand volume stored within local storage. In response to receiving a request from the client for a block of the backup data not yet restored from the snapshot to the on-demand volume, the block may be retrieved from the snapshot in the remote object store. The block may be cached within a cloud block map stored within the local storage as a cached block. The client may be provided with access to the cached block.

Claims (42)

1. A method comprising:

during an operation to copy backup data from a snapshot in an object store to an on-demand volume accessible during the operation, retrieving and caching, within a cloud block map separate from the on-demand volume, a block of the backup data not yet restored to the on-demand volume based upon a request from a client for the block; and

utilizing the cloud block map to provide the client with access to the block without modifying the on-demand volume.

2. The method of claim 1 , comprising:

in response to a determination that a last time the block was accessed through the cloud block map exceeds a threshold, evicting the block from the cloud block map.

3. The method of claim 1 , comprising:

in response to a determination that a last time the block was accessed through the cloud block map does not exceed a threshold, retaining the block within the cloud block map.

4. The method of claim 1 , comprising:

in response to the client modifying the block within the cloud block map, refraining from modifying the on-demand volume.

5. The method of claim 1 , wherein the block is cached as a cached block within the cloud block map, and wherein the cloud block map is populated with a mapping between a cloud block number of the block within the object store to a physical volume block number of the cached block within local storage separate from the object store.

6. The method of claim 1 , comprising:

in response to receiving a request from the client for a cached block within the cloud block map, providing the client with access to the cached block.

7. The method of claim 1 , comprising:

in response to receiving a request from the client for a restored block within the on-demand volume before the operation has completed, providing the client with access to the restored block through the on-demand volume.

8. The method of claim 1 , comprising:

in response to the process restoring the block from the snapshot to the on-demand volume, removing the block from the cloud block map.

9. A computing device comprising:

a memory comprising machine executable code; and

a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to perform operations comprising:

during an operation to copy backup data from a snapshot in an object store to an on-demand volume accessible during the operation, retrieving and caching, within a cloud block map separate from the on-demand volume, a block of the backup data not yet restored to the on-demand volume based upon a request from a client for the block; and

utilizing the cloud block map to provide the client with access to the block without modifying the on-demand volume.

10. The computing device of claim 9 , wherein the operations comprise:

in response to a determination that a last time the block was accessed through the cloud block map exceeds a threshold, evicting the block from the cloud block map.

11. The computing device of claim 9 , wherein the operations comprise:

in response to a determination that a last time the block was accessed through the cloud block map does not exceed a threshold, retaining the block within the cloud block map.

12. The computing device of claim 9 , wherein the operations comprise:

in response to the client modifying the block within the cloud block map, refraining from modifying the on-demand volume.

13. The computing device of claim 9 , wherein the block is cached as a cached block within the cloud block map, and wherein the cloud block map is populated with a mapping between a cloud block number of the block within the object store to a physical volume block number of the cached block within local storage separate from the object store.

14. The computing device of claim 9 , wherein the operations comprise:

in response to receiving a request from the client for a cached block within the cloud block map, providing the client with access to the cached block.

15. The computing device of claim 9 , wherein the operations comprise:

in response to receiving a request from the client for a restored block within the on-demand volume before the operation has completed, providing the client with access to the restored block through the on-demand volume.

16. A non-transitory machine readable medium comprising instructions for performing a method, which when executed by a machine, causes the machine to:

during an operation to copy backup data from a snapshot in an object store to an on-demand volume accessible during the operation, retrieving and caching, within a cloud block map separate from the on-demand volume, a block of the backup data not yet restored to the on-demand volume based upon a request from a client for the block; and

utilizing the cloud block map to provide the client with access to the block without modifying the on-demand volume.

17. The non-transitory machine readable medium of claim 16 , wherein the operations comprise:

in response to a determination that a last time the block was accessed through the cloud block map exceeds a threshold, evicting the block from the cloud block map.

18. The non-transitory machine readable medium of claim 16 , comprising:

in response to a determination that a last time the block was accessed through the cloud block map does not exceed a threshold, retaining the block within the cloud block map.

19. The non-transitory machine readable medium of claim 16 , comprising:

in response to the client modifying the block within the cloud block map, refraining from modifying the on-demand volume.

20. The non-transitory machine readable medium of claim 16 , wherein the block is cached as a cached block within the cloud block map, and wherein the cloud block map is populated with a mapping between a cloud block number of the block within the object store to a physical volume block number of the cached block within local storage separate from the object store.

Priority Claims (2)
IN 202141034103 · Jul 29, 2021 · national
IN 202141034122 · Jul 29, 2021 · national
Continuity (2)
Continuation 17587710 · Jan 28, 2022
Related Publication 20230384964A1 · Nov 30, 2023
Cited By (1)
US 12,639,000