Processing a request to restore deduplicated data
First Claim
Patent Images
1. A method comprising:
- receiving, from a requester, a request to restore data stored in a storage subsystem, wherein the data stored in the storage subsystem includes deduplicated data;
in response to the request,reading at least a portion of a recipe that refers to chunks in the deduplicated data;
based on the recipe portion, retrieving a first container having plural chunks;
identifying, from the recipe portion, which of the plural chunks of the first container to save, wherein some of the identified chunks do not, at a time of the identifying, have to be presently communicated to the requester for a restore operation specified by the request;
determining locations in a memory area to place the identified chunks, wherein the determined locations are based on an order of chunks referred to in the recipe portion;
storing the identified chunks in the determined locations of the memory area from which chunks are read as the restore operation proceeds, wherein storing the identified chunks in the determined locations results in at least one empty chunk spot between at least two of the identified chunks;
retrieving, based on the recipe portion, a second container having plural chunks;
identifying, from the recipe portion, which of the plural chunks of the second container to save to the memory area; and
storing the identified chunks of the second container in the memory area, at least one of the identified chunks of the second container stored in the empty chunk spot.
2 Assignments
0 Petitions
Accused Products
Abstract
For a restore request, at least a portion of a recipe that refers to chunks is read. Based on the recipe portion, a container having plural chunks is retrieved. From the recipe portion, it is identified which of the plural chunks of the container to save, where some of the chunks identified do not, at a time of the identifying, have to be presently communicated to a requester. The identified chunks are stored in a memory area from which chunks are read for the restore operation.
-
Citations
20 Claims
-
1. A method comprising:
-
receiving, from a requester, a request to restore data stored in a storage subsystem, wherein the data stored in the storage subsystem includes deduplicated data; in response to the request, reading at least a portion of a recipe that refers to chunks in the deduplicated data; based on the recipe portion, retrieving a first container having plural chunks; identifying, from the recipe portion, which of the plural chunks of the first container to save, wherein some of the identified chunks do not, at a time of the identifying, have to be presently communicated to the requester for a restore operation specified by the request; determining locations in a memory area to place the identified chunks, wherein the determined locations are based on an order of chunks referred to in the recipe portion; storing the identified chunks in the determined locations of the memory area from which chunks are read as the restore operation proceeds, wherein storing the identified chunks in the determined locations results in at least one empty chunk spot between at least two of the identified chunks; retrieving, based on the recipe portion, a second container having plural chunks;
identifying, from the recipe portion, which of the plural chunks of the second container to save to the memory area; andstoring the identified chunks of the second container in the memory area, at least one of the identified chunks of the second container stored in the empty chunk spot. - View Dependent Claims (2, 3, 4, 5, 6, 7, 19)
-
-
8. A system comprising:
-
non-transitory storage media to store a data store including containers containing respective chunks that are part of deduplicated data; and at least one processor to; in response to a restore request, received from a requester, specifying a restore operation, read a portion of a recipe that refers to chunks in the data store; retrieve, based on the recipe portion, a first one of the containers that has plural chunks; identify, from the recipe portion, which of the plural chunks of the first container to save, wherein some of the identified chunks do not, at a time of the identifying, have to be presently communicated to the requester for the restore operation specified by the restore request; determine locations in a memory area to place the identified chunks, wherein the determined locations are based on an order of chunks referred to in the recipe portion; store the identified chunks in the determined locations of the memory area from which chunks are read for the restore operation, wherein storing the identified chunks in the determined locations results in at least one empty chunk spot between at least two of the identified chunks; retrieve, based on the recipe portion, a second of the containers having plural chunks; identify, from the recipe portion, which of the plural chunks of the second container to save to the memory area; and store the identified chunks of the second container in the memory area, at least one of the identified chunks of the second container stored in the empty chunk spot. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 20)
-
-
17. An article comprising at least one non-transitory machine-readable storage medium storing instructions that upon execution cause a system to:
-
receive, from a requester, a request to restore data stored in a storage subsystem, wherein the data stored in the storage subsystem includes deduplicated data; in response to the request, read at least a portion of a recipe that refers to chunks in the deduplicated data, wherein the chunks referred to in the recipe portion are chunks from multiple containers; based on the recipe portion, select a first one of the multiple containers to retrieve; retrieve the first container having plural chunks; identify, from the recipe portion, which of the plural chunks of the first container to save, wherein some of the identified chunks do not, at a time of the identifying, have to be presently communicated to the requester for a restore operation specified by the request; determine locations in a memory area to place the identified chunks, wherein the determined locations are based on an order of chunks referred to in the recipe portion; store the identified chunks in the memory area from which chunks are read as the restore operation proceeds, wherein storing the identified chunks in the determined locations results in at least one empty chunk spot between at least two of the identified chunks; after storing the identified chunks in the memory area, select a second one of the multiple containers based on the recipe portion; and reiterating the retrieving, the identifying, and the storing for the second container, wherein the storing for the second container comprises storing a data chunk of the second container in the empty chunk spot of the memory area. - View Dependent Claims (18)
-
Specification