Block-level and hash-based single-instance storage
DCFirst Claim
1. A method comprising:
- receiving a first address of a data block;
retrieving a signature corresponding to the first address, wherein the signature is derived from at least a portion of contents of the data block;
retrieving a second address corresponding to the signature.
9 Assignments
Litigations
0 Petitions
Accused Products
Abstract
A method for reading data in a block-level single-instance storage system may involve receiving a first address of a data block, retrieving a signature corresponding to the first address, and reading data from a second address corresponding to the signature. A storage system may include a storage manager and first and second lookup tables. The storage manager may interface with an application (such as a database system or a file system) that uses a first set of identifiers for data blocks. The storage manager may use a second set of identifiers for the data blocks, and translates between the first and second identifiers using the lookup tables. The first lookup table indexes data block signatures according to the first set of identifiers. The second lookup table indexes the second set of identifiers according to the data block signatures. The second lookup table may be pruned to provide single instance storage.
97 Citations
25 Claims
-
1. A method comprising:
-
receiving a first address of a data block; retrieving a signature corresponding to the first address, wherein the signature is derived from at least a portion of contents of the data block; retrieving a second address corresponding to the signature. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method comprising:
-
receiving a first address; identifying data to be written at the first address; searching a first lookup table for the first address; generating a signature based at least in part on the data; searching a second lookup table for the signature; and updating the first lookup table with the first address and the signature. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A system comprising:
-
a storage manager configured to interface with an application, where the application is configured to identify data blocks according to a first set of identifiers for the data blocks, and where the storage manager is configured to access the data blocks on a storage medium according to a second set of identifiers for the data blocks; a first lookup table that indexes data block signatures according to identifiers from the first set of identifiers, wherein each of the data block signatures is derived from at least a portion of contents of a corresponding data block; a second lookup table that indexes identifiers from the second set of identifiers according to the data block signatures. - View Dependent Claims (18, 19, 20)
-
-
21. A computer readable storage medium having encoded thereon program instructions executable on one or more processors, the computer readable storage medium being at least one of an electronic storage medium, a magnetic storage medium, or an optical storage medium, where the program instructions are executable to implement each of:
-
receiving a first address of a data block; retrieving a signature corresponding to the first address, wherein the signature is derived from at least a portion of contents of the data block; retrieving a second address corresponding to the signature. - View Dependent Claims (22)
-
-
23. A computer readable storage medium having encoded thereon program instructions executable on one or more processors, the computer readable storage medium being at least one of an electronic storage medium, a magnetic storage medium, or an optical storage medium, where the program instructions are executable to implement each of:
-
receiving a first address; identifying data to be written at the first address; searching a first lookup table for the first address; generating a signature based at least in part on the data; searching a second lookup table for the signature; updating the first lookup table with the first address and the signature. - View Dependent Claims (24, 25)
-
Specification