Data transfer techniques within data storage devices, such as network attached storage performing data migration
Abstract
A stand-alone, network accessible data storage device, such as a filer or NAS device, is capable of transferring data objects based on portions of the data objects. The device transfers portions of files, folders, and other data objects from a data store within the device to external secondary storage based on certain criteria, such as time-based criteria, age-based criteria, and so on. A portion 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 device identifies one or more blocks of a data object that satisfy a certain criteria, and migrates the identified blocks to external storage, thereby freeing up storage space within the device. The device 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 - 20 . (canceled)
21 . A network attached storage device comprising:
a first storage device having computer-executable instructions stored thereon; and one or more processors that, having executed the computer-executable instructions, configure the network attached storage device to:
store a first data file in the first storage device;
update a first data structure with a plurality of entries based on the first data file, wherein:
each entry of the plurality of entries identifies a portion of the first data file and a modification time of the portion; and
each portion is less than all of the first data file;
identify a first one or more portions of the first data file for migrating to a second storage device based on a comparison of a modification time criterion with each modification time for the identified one or more portions;
migrate the identified one or more portions from the first storage device to a second storage device outside of the network attached storage device; and
identify space in the first storage device previously used by the migrated one or more portions as free for storing a second data file.
22 . The network attached storage device of claim 21 , wherein the one or more processors are further configured to:
update a second data structure with a logical location for each portion of the first data file.
23 . The network attached storage device of claim 22 , wherein a first logical location for a first portion of the first data file is on the network attached storage device and a second logical location for a second portion of the first data file is on the second storage device.
24 . The network attached storage device of claim 21 , wherein the one or more processors are further configured to:
receive a request to modify the first data file; identify the one or more portions of the first data file that have been migrated to the second storage device based on the received request; retrieve the identified one or more portions of the first data file that have been migrated to the second storage device; and present content of the retrieved one or more portions for modification.
25 . The network attached storage device of claim 21 , wherein one or more portions are represented as one or more file system blocks based on a file system implemented on the network attached storage device.
26 . The network attached storage device of claim 21 , wherein one or more portions are represented as one or more chunks, wherein a size of each chunk is determined from a rule-based process of dividing the first data file into the one or more portions.
27 . The network attached storage device of claim 21 , wherein the one or more processors are further configured to:
partition the first data storage device to obtain a read-back cache; retrieve one or more of the portions of the first data file that have been migrated to the second storage device; and store the one or more of the retrieved portions of the first data file to the read-back cache, wherein the contents of the retrieved portions are presented to a user after the one or more of the retrieved portions of the first data file have been stored in the read-back cache.
28 . A method comprising:
storing a first data file in a first storage device of a network attached storage device; updating a first data structure with a plurality of entries based on the first data file, wherein:
each entry of the plurality of entries identifies a portion of the first data file and a modification time of the portion; and
each portion is less than all of the first data file;
identifying a first one or more portions of the first data file for migrating to a second storage device based on a comparison of a modification time criterion with each modification time for the identified one or more portions; migrating the identified one or more portions from the first storage device to a second storage device outside of the network attached storage device; and identifying space in the first storage device previously used by the migrated one or more portions as free for storing a second data file.
29 . The method of claim 28 , further comprising:
updating a second data structure with a logical location for each portion of the first data file.
30 . The method of claim 30 , wherein a first logical location for a first portion of the first data file is on the network attached storage device and a second logical location for a second portion of the first data file is on the second storage device.
31 . The method of claim 28 , further comprising:
receiving a request to modify the first data file; identifying the one or more portions of the first data file that have been migrated to the second storage device based on the received request; retrieving the identified one or more portions of the first data file that have been migrated to the second storage device; and presenting content of the retrieved one or more portions for modification.
32 . The method of claim 28 , wherein one or more portions are represented as one or more file system blocks based on a file system implemented on the network attached storage device.
33 . The method of claim 28 , wherein one or more portions are represented as one or more chunks, wherein a size of each chunk is determined from a rule-based process of dividing the first data file into the one or more portions.
34 . The method of claim 28 , further comprising:
partitioning the first data storage device to obtain a read-back cache; retrieving one or more of the portions of the first data file that have been migrated to the second storage device; and storing the one or more of the retrieved portions of the first data file to the read-back cache, wherein the contents of the retrieved portions are presented to a user after the one or more of the retrieved portions of the first data file have been stored in the read-back cache.
35 . A non-transitory, computer-readable media having computer-executable instructions stored thereon that, when executed by one or more processors, configures a network attached storage device to perform a plurality of operations comprising:
storing a first data file in a first storage device of a network attached storage device; updating a first data structure with a plurality of entries based on the first data file, wherein:
each entry of the plurality of entries identifies a portion of the first data file and a modification time of the portion; and
each portion is less than all of the first data file;
identifying a first one or more portions of the first data file for migrating to a second storage device based on a comparison of a modification time criterion with each modification time for the identified one or more portions; migrating the identified one or more portions from the first storage device to a second storage device outside of the network attached storage device; and identifying space in the first storage device previously used by the migrated one or more portions as free for storing a second data file.
36 . The non-transitory, computer-readable media of claim 35 , wherein the plurality of operations further comprises:
updating a second data structure with a logical location for each portion of the first data file.
37 . The non-transitory, computer-readable media of claim 36 , wherein a first logical location for a first portion of the first data file is on the network attached storage device and a second logical location for a second portion of the first data file is on the second storage device.
38 . The non-transitory, computer-readable media of claim 35 , wherein the plurality of operations further comprises:
receiving a request to modify the first data file; identifying the one or more portions of the first data file that have been migrated to the second storage device based on the received request; retrieving the identified one or more portions of the first data file that have been migrated to the second storage device; and presenting content of the retrieved one or more portions for modification.
39 . The non-transitory, computer-readable media of claim 35 , wherein one or more portions are represented as one or more file system blocks based on a file system implemented on the network attached storage device.
40 . The non-transitory, computer-readable media of claim 35 , wherein the plurality of operations further comprises:
partitioning the first data storage device to obtain a read-back cache; retrieving one or more of the portions of the first data file that have been migrated to the second storage device; and
storing the one or more of the retrieved portions of the first data file to the read-back cache, wherein the contents of the retrieved portions are presented to a user after the one or more of the retrieved portions of the first data file have been stored in the read-back cache.Join the waitlist — get patent alerts
Track US2020228598A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.