Transferring or migrating portions of data objects, such as block-level data migration or chunk-based data migration
First Claim
1. At least one non-transitory, computer-readable storage medium comprising instructions, which when executed by at least one data processor, enable restoration from secondary storage of a portion of a file in a data storage system, comprising:
- receiving, via a user interface associated with a file system, a request from a user to modify a portion of a file in the file system,wherein the file is partially stored in secondary storage on a second storage device that is distinct from a first storage device storing the file system;
identifying one or more data blocks within the second storage device that contain data associated with the portion of the file requested to be modified;
retrieving from the second storage device the one or more data blocks without retrieving data blocks therefrom that are not associated with the portion of the file requested to be modified;
presenting to the user data contained by the one or more data blocks retrieved from the second storage device, via the user interface associated with the file system;
upon receiving input from the user to modify the portion of the file, transferring data associated with the received input for storage by one of the first storage device and the second storage device; and
maintaining a data structure in a memory of an intermediate component that resides between the file system and the second storage device, wherein the data structure reflects information about changes to the file, including information about data blocks that were changed by the received input to modify the portion of the file.
4 Assignments
0 Petitions
Accused Products
Abstract
A system and method for migrating data objects based on portions of the data objects is described. The system may transfer portions of files, folders, and other data objects from primary storage to secondary storage based on certain criteria, such as time-based criteria, age-based criteria, and so on. An increment may be one or more blocks of a data object, or one or more chunks of a data object, or other segments that combine to form or store a data object. For example, the system identifies one or more blocks of a data object that satisfy a certain criteria, and migrates the identified blocks. The system may determine that a certain number of blocks of a file have not been modified or called by a file system in a certain time period, and migrate these blocks to secondary storage.
-
Citations
17 Claims
-
1. At least one non-transitory, computer-readable storage medium comprising instructions, which when executed by at least one data processor, enable restoration from secondary storage of a portion of a file in a data storage system, comprising:
-
receiving, via a user interface associated with a file system, a request from a user to modify a portion of a file in the file system, wherein the file is partially stored in secondary storage on a second storage device that is distinct from a first storage device storing the file system; identifying one or more data blocks within the second storage device that contain data associated with the portion of the file requested to be modified; retrieving from the second storage device the one or more data blocks without retrieving data blocks therefrom that are not associated with the portion of the file requested to be modified; presenting to the user data contained by the one or more data blocks retrieved from the second storage device, via the user interface associated with the file system; upon receiving input from the user to modify the portion of the file, transferring data associated with the received input for storage by one of the first storage device and the second storage device; and maintaining a data structure in a memory of an intermediate component that resides between the file system and the second storage device, wherein the data structure reflects information about changes to the file, including information about data blocks that were changed by the received input to modify the portion of the file. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method in a data storage system for restoring a portion of a file, the method comprising:
-
receiving, via a user interface associated with a file system that comprises a file, a request from a user to modify only a portion of the file in the file system, wherein the file is partially stored in secondary storage on a second storage device that is distinct from a first storage device storing the file system; determining one or more data blocks stored within the second storage device that contain data associated with the portion of the file requested to be modified; retrieving from the second storage device the one or more data blocks that contain data associated with the portion of the file requested to be modified without retrieving data blocks therefrom that are not associated with the portion of the file requested to be modified; in response to the request, presenting to the user via the user interface associated with the file system one or more data blocks retrieved from the second storage device; upon receiving input from the user, via the user interface, to modify the portion of the file, transferring data blocks that were changed by the received input for storage by one of the first storage device and the second storage device; and maintaining a data structure in a memory of an intermediate component that resides between the file system and the second storage device, wherein the data structure reflects information about changes to the file, including information about data blocks that were changed by the received input to modify the portion of the file. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A system for restoring a portion of a file, the system comprising:
-
at least one processor; means, at a file system, for receiving a request from a user to modify only a portion of a file in the file system, wherein the file is partially stored in secondary storage on a second storage device that is distinct from a first storage device storing the file system; means for identifying one or more data blocks stored within the second storage device that contain data associated with the portion of the file requested to be modified; means for retrieving from the second storage device the one or more data blocks without retrieving data blocks therefrom that are not associated with the portion of the file requested to be modified; means for presenting in a user interface the portion of the file requested to be modified, including the data blocks retrieved from the second storage device; means for transferring data blocks that were changed by input received from the user to modify the portion of the file, for storage by one or more of the first storage device and the second storage device; and means for maintaining a data structure in a memory of an intermediate component that resides between the file system and the second storage device, wherein the data structure reflects information about changes to the file, including information about data blocks that were changed by the input to modify the portion of the file. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
Specification