Browsable data backup
First Claim
1. A data storage system comprising:
- a non-volatile memory comprising;
a browsable partition that is browsable by a native operating system of a host device; and
a container partition that is not browsable by the native operating system of the host device;
a controller;
a memory interface communicatively coupling the controller to the non-volatile memory; and
a host interface configured to communicatively couple the controller to the host device;
wherein the controller is configured to backup a file in the non-volatile memory at least in part by;
receiving the file from the host device over the host interface, the file including a plurality of chunks of data;
in response to said receiving the file, storing the plurality of chunks of data in the browsable partition of the non-volatile memory using the memory interface;
determining that one or more of the plurality of chunks of data has been modified;
determining a new chunk associated with each of the one or more modified chunks;
storing the one or more new chunks in the browsable partition of the non-volatile memory using the memory interface; and
storing the one or more modified chunks in the container partition of the non-volatile memory using the memory interface; and
wherein the controller is further configured to reconstruct the file at least in part by;
receiving, from the host device over the host interface, a request to restore a previous version of the file;
locating, using a file location table, the one or more modified chunks stored in the container partition and one or more non-modified chunks stored in the browsable partition, wherein;
the file location table includes hash values associated with chunks of data; and
the hash values indicate storage locations, within the non-volatile memory, of the respective chunks of data;
combining the one or more modified chunks with the one or more non-modified chunks to generate a restored file; and
providing the restored file to the host device over the host interface.
8 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are disclosed for backing up data in a computing system including a controller configured to backup a file in the non-volatile memory at least in part by receiving the file from a host, the file including a plurality of chunks of data and storing the plurality of chunks of data in a browsable partition of the non-volatile memory in response to said receiving the file. The controller further determines that one or more of the plurality of chunks has been modified, determine a new chunk associated with each of the one or more modified chunks, store the one or more new chunks in the browsable partition of the non-volatile memory using the communication interface in response to said determination of the one or more new chunks and store the one or more modified chunks in a container partition of the non-volatile memory using the communication interface.
81 Citations
20 Claims
-
1. A data storage system comprising:
-
a non-volatile memory comprising; a browsable partition that is browsable by a native operating system of a host device; and a container partition that is not browsable by the native operating system of the host device; a controller; a memory interface communicatively coupling the controller to the non-volatile memory; and a host interface configured to communicatively couple the controller to the host device; wherein the controller is configured to backup a file in the non-volatile memory at least in part by; receiving the file from the host device over the host interface, the file including a plurality of chunks of data; in response to said receiving the file, storing the plurality of chunks of data in the browsable partition of the non-volatile memory using the memory interface; determining that one or more of the plurality of chunks of data has been modified; determining a new chunk associated with each of the one or more modified chunks; storing the one or more new chunks in the browsable partition of the non-volatile memory using the memory interface; and storing the one or more modified chunks in the container partition of the non-volatile memory using the memory interface; and wherein the controller is further configured to reconstruct the file at least in part by; receiving, from the host device over the host interface, a request to restore a previous version of the file; locating, using a file location table, the one or more modified chunks stored in the container partition and one or more non-modified chunks stored in the browsable partition, wherein; the file location table includes hash values associated with chunks of data; and the hash values indicate storage locations, within the non-volatile memory, of the respective chunks of data; combining the one or more modified chunks with the one or more non-modified chunks to generate a restored file; and providing the restored file to the host device over the host interface. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of backing up data in a data storage system, the method comprising:
-
receiving a file from a host device over a first communication interface, the file including a plurality of chunks of data; in response to said receiving the file, storing the plurality of chunks of data in a browsable partition of a non-volatile memory using a second communication interface, the browsable partition being browsable by a native operating system of the host device; determining that one or more of the plurality of chunks of data has been modified; determining a new chunk associated with each of the one or more modified chunks; in response to said determination of the one or more new chunks, storing the one or more new chunks in the browsable partition of the non-volatile memory using the second communication interface; storing the one or more modified chunks in a container partition of the non-volatile memory using the second communication interface; receiving, from the host device over the first communication interface, a request to restore a previous version of the file; locating, using a file location table, the one or more modified chunks stored in the container partition and one or more non-modified chunks stored in the browsable partition, wherein; the file location table includes hash values associated with chunks of data; and the hash values indicate locations within the non-volatile memory of the respective chunks of data; combining the one or more modified chunks with the one or more non-modified chunks to generate a restored file; and providing the restored file to the host device over the first communication interface; wherein the container partition of the non-volatile memory is not browsable by the native operating system of the host device. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A data storage device comprising:
-
a non-volatile memory comprising; a browsable partition that is browsable by a native operating system of a host device; and a container partition that is not browsable by the native operating system of the host device; means for backing-up a file in the non-volatile memory at least in part by; receiving the file from the host device, the file including a plurality of chunks of data; storing the plurality of chunks of data in the browsable partition of the non-volatile memory; determining that one or more of the plurality of chunks of data has been modified; determining a new chunk associated with each of the one or more modified chunks; storing the one or more new chunks in the browsable partition of the non-volatile memory; and storing the one or more modified chunks in the container partition of the non-volatile memory; and means for restoring a previous version of the file at least in part by; retrieving, from the container partition of the non-volatile memory, the one or more modified chunks; and combining the retrieved one or more modified chunks with one or more non-modified chunks stored in the browsable partition of the non-volatile memory to generate a restored file. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification