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.