Method and apparatus for archival data storage
First Claim
1. A method of storing data in a storage system, the method comprising the steps of:
- processing a data block to generate an address which is determined as a function of the contents of the data block; and
storing the data block in the system in a memory location identified by the address;
wherein the processing and storing steps provide write-once storage of the data block in the system such that the contents of the data block are not modifiable without also altering the address of the data block determinable in the processing step.
8 Assignments
0 Petitions
Accused Products
Abstract
Data storage techniques particularly well-suited for use in archival data storage are disclosed. In one aspect of the invention, a data block is processed to generate an address as a function of the contents of the data block, and the data block is then stored in the system in a memory location identified by the address. The processing operation is configured to provide write-once archival storage of the data block, in that the contents of the data block are not modifiable without also altering the address of the data block determinable in the processing operation. In an illustrative embodiment, the processing of the data block involves determining a substantially unique identifier of the data block by applying a collision-resistant hash function to the contents of the data block, and the address is subsequently determined from the substantially unique identifier by utilizing the identifier to perform a lookup of the address in an index.
-
Citations
20 Claims
-
1. A method of storing data in a storage system, the method comprising the steps of:
-
processing a data block to generate an address which is determined as a function of the contents of the data block; and
storing the data block in the system in a memory location identified by the address;
wherein the processing and storing steps provide write-once storage of the data block in the system such that the contents of the data block are not modifiable without also altering the address of the data block determinable in the processing step. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. An apparatus for storing data in a storage system, the apparatus comprising:
-
a server having at least one processor coupled to a memory, the server being operative to process a data block to generate an address which is determined as a function of the contents of the data block, and to store the data block in the memory in a location identified by the address;
wherein the server is configured to provide write-once storage of the data block in the system such that the contents of the data block are not modifiable without also altering the address of the data block determinable as a function of the contents.
-
-
20. A machine-readable storage medium for storing one or more software programs for use in storing data in a storage system, the one or more software programs when executed in the system implementing the steps of:
-
processing a data block to generate an address which is determined as a function of the contents of the data block; and
storing the data block in the system in a memory location identified by the address;
wherein the processing and storing steps provide write-once storage of the data block in the system such that the contents of the data block are not modifiable without also altering the address of the data block determinable in the processing step.
-
Specification