Transferring or migrating portions of data objects, such as block-level data migration or chunk-based data migration
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.
Claims
exact text as granted — not AI-modified1 . A system for migrating data from a primary storage device to a secondary storage device, wherein the system includes a file system for transferring data to the primary storage device, and wherein the system further includes a disk driver for at least writing data received from the file system to the primary storage device and a secondary driver for at least writing data to the secondary storage device, the system comprising:
a virtual disk driver that receives data from the file system associated with the primary storage device and provides data to the disk driver that writes data to the primary storage device, wherein the virtual disk driver includes:
a data reception component, wherein the data reception component is configured to receive data from the file system, wherein the received data identifies multiple blocks of a file to be modified, wherein the multiple blocks are a proper subset of the total number of blocks for the file;
a data interception component, wherein the data interception component is configured to intercept the received data and extract information associated with the received data, wherein the extracted information includes information identifying the multiple blocks to be modified;
an index component, wherein the index component is configured to update an index that associates the extracted information with data blocks on the secondary storage device that contain the received data; and
a data transfer component, wherein the data transfer component is configured to transfer the received data to the secondary driver for storage to the secondary storage device;
a block-level data migration component, wherein the block-level migration component is configured to identify data blocks within the primary storage device that satisfy one or more predetermined criteria; a data management component, configured to communicate with the virtual disk driver, the block-level data migration component and one or more media agents, wherein the data management component includes a storage policy that provides the one or more predetermined criteria, the storage policy identifying a time period in which to retain data within the primary storage device and identifying the one or more media agents in which to transfer the data from the file system to the disk driver, via the virtual disk driver; and a media agent, wherein the media agent is one of the identified media agents and is configured to:
transfer data from the identified data blocks to the secondary driver; and
update an index that associates the transferred data with the secondary storage device that stores data from the secondary driver.
2 . The system of claim 1 , wherein the block-level data migration component is configured to identify data blocks that have not been accessed by the file system within a predetermined time period, and wherein the secondary storage device includes a magnetic tape drive.
3 . The system of claim 1 , wherein the block-level data migration component is configured to identify data blocks that have not changed after a predetermined time period, and wherein the multiple blocks are written to the secondary storage device in a format that is not native to a format for an application that created the file.
4 . The system of claim 1 , wherein the block-level data migration component further comprises:
an allocation table including one or more entries that associate data with data blocks that store the data, the one or more entries including:
first information that identifies data blocks that store the data; and
second information that identifies a date and time of a most recent access to the data blocks.
5 . A method for storing a data object in two or more different data stores, the method comprising:
identifying data blocks representing a data object in a first data store, wherein the data object is a discrete data object managed by a file system; for the identified data blocks:
identifying a portion of the identified data blocks that satisfies one or more data storage criteria, wherein the one or more data storage criteria is associated with a recent access of the identified data blocks;
and
transferring data stored by the portion of the identified data blocks that satisfies the one or more data storage criteria to a second data store, wherein the second data store is associated with data that satisfies the one or more data storage criteria.
6 . The method of claim 5 , further comprising:
updating an index associated with the data object to include information associating the portion of the identified data blocks with the second data store; and removing information from an allocation table associated with the file system, wherein the removed information associates the transferred data with the first data store.
7 . The method of claim 5 , further comprising:
after transferring the data stored by the portion of the identified data blocks to the second data store:
identifying, from a portion of the identified data blocks that does not satisfy the one or more data storage criteria, one or more data blocks that satisfy the data retention criteria; and
transferring the identified one or more blocks to the second data store.
8 . The method of claim 5 , wherein the one or more data storage criteria includes a time period in which to retain data in the first data store.
9 . The method of claim 5 , wherein the one or more data storage criteria defines a time period in which the recent access must satisfy.
10 . The method of claim 5 , wherein the first data store includes a disk drive associated with the file system and the second data store includes removable media located in a different location than a location of the disk drive.
11 . A tangible computer-readable storage medium whose contents cause a data storage system to perform a method of migrating data from primary storage to secondary storage, the method comprising:
identifying no more than n−1 data blocks, located within primary storage, that satisfy a criteria, wherein the n−1 data blocks represent a portion of a data file consisting of n blocks and the n blocks contain data written by a file system associated with the primary storage; and transferring data contained by the identified no more than n−1 data blocks from the primary storage to the secondary storage.
12 . The computer-readable medium of claim 11 , further comprising:
updating a table to include information associating the transferred data with information identifying blocks within the secondary storage that contain the transferred data.
13 . The computer-readable medium of claim 11 , further comprising:
updating a table to include information associating the transferred data with information identifying tape offsets for the secondary storage that contain the transferred data.
14 . The computer-readable medium of claim 11 , further comprising:
removing information associated with the identified blocks from an allocation table of the file system.
15 . The computer-readable medium of claim 11 , wherein the criteria defines a time period in which the file system last accessed the blocks of the primary storage.
16 . The computer-readable medium of claim 11 , wherein the criteria defines a time period in which changes were made to data contained by the primary storage.
17 . The computer-readable medium of claim 11 , wherein the criteria defines a time period in which the data contained by the primary storage was created.
18 . The computer-readable medium of claim 11 , wherein primary storage includes a data file for a virtual machine.
19 . A method in a data storage system for restoring a portion of a file, the method comprising:
receiving, at a file system, a request from a user to modify a portion of a file, wherein the file is at least partially stored in secondary storage on a storage device located at a location geographically different than a location for the file system; identifying one or more data blocks within the storage device that contain data associated with the portion of the file to be modified; retrieving the data contained by the identified one or more data blocks without retrieving all data blocks associated with the file; presenting the retrieved data to the user; and upon receiving input from the user to modify the portion of the file, transferring data associated with the received input for storage by the storage device.
20 . A system for restoring a portion of a file, the system comprising:
means, at a file system, for receiving a request from a user to modify a portion of a file, wherein the file is at least partially stored in secondary storage on a storage device located at a location geographically different than a location for the file system; means for identifying one or more data blocks within the storage device that contain data associated with the portion of the file to be modified; means for retrieving the data contained by the identified one or more data blocks without retrieving all data blocks associated with the file; means for presenting the retrieved data to the user; and means for transferring data associated with the received input for storage by the storage device upon receiving input from the user to modify the portion of the file.
21 . The system of claim 20 , wherein the identified one or more data blocks are a proper subset of a set of data blocks that contain associated with the file.
22 . The system of claim 20 , wherein the means for identifying one or more data blocks identifies one or more chunks within the storage device.Join the waitlist — get patent alerts
Track US2010070474A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.