BLOCK-LEVEL SINGLE INSTANCING
First Claim
1. A system for restoring a file from a storage device, the system comprising:
- at least one processor;
at least one data storage device;
means for receiving a request for a file, wherein the file is archived as one or more data blocks on the storage device;
means for determining a first file and a first offset within the first file corresponding to the requested file,wherein the first file stores data blocks that are not eligible for single instancing, andwherein the first file also stores at least one data structure that includes references to data blocks that are eligible for single instancing;
means for accessing the first file at the first offset;
means for determining if a first data block beginning at the first offset includes at least a first portion of the requested file;
means for obtaining the first data block from the first file when the first data block beginning at the first offset includes at least the first portion of the requested file; and
means for providing the requested file to a client device.
1 Assignment
0 Petitions
Accused Products
Abstract
Described in detail herein are systems and methods for single instancing blocks of data in a data storage system. For example, the data storage system may include multiple computing devices (e.g., client computing devices) that store primary data. The data storage system may also include a secondary storage computing device, a single instance database, and one or more storage devices that store copies of the primary data (e.g., secondary copies, tertiary copies, etc.). The secondary storage computing device receives blocks of data from the computing devices and accesses the single instance database to determine whether the blocks of data are unique (meaning that no instances of the blocks of data are stored on the storage devices). If a block of data is unique, the single instance database stores it on a storage device. If not, the secondary storage computing device can avoid storing the block of data on the storage devices.
-
Citations
20 Claims
-
1. A system for restoring a file from a storage device, the system comprising:
-
at least one processor; at least one data storage device; means for receiving a request for a file, wherein the file is archived as one or more data blocks on the storage device; means for determining a first file and a first offset within the first file corresponding to the requested file, wherein the first file stores data blocks that are not eligible for single instancing, and wherein the first file also stores at least one data structure that includes references to data blocks that are eligible for single instancing; means for accessing the first file at the first offset; means for determining if a first data block beginning at the first offset includes at least a first portion of the requested file; means for obtaining the first data block from the first file when the first data block beginning at the first offset includes at least the first portion of the requested file; and means for providing the requested file to a client device. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-readable storage medium whose contents cause a computing system to perform a method of restoring a file from a storage device, the method comprising:
-
receiving a request for a file, wherein the file is archived as one or more data blocks on the storage device; determining a first file and a first offset within the first file corresponding to the requested file; accessing the first file at the first offset; determining if a first data block beginning at the first offset includes at least a first portion of the requested file; when the first data block beginning at the first offset includes at least the first portion of the requested file, obtaining the first data block from the first file; when a second data block that includes at least a second portion of the requested file exists, obtaining the second data block; and providing the requested file to a client device. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A method of restoring a file from a storage device, the method comprising:
-
receiving a request for a file, wherein the file is archived as one or more data blocks on the storage device; determining a first file and a first offset within the first file corresponding to the requested file; accessing the first file at the first offset; determining if a first data block beginning at the first offset includes at least a first portion of the requested file; when the first data block beginning at the first offset includes at least the first portion of the requested file, obtaining the first data block from the first file; when a second data block that includes at least a second portion of the requested file exists, obtaining the second data block; and providing the requested file to a client device. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification