Transparent content addressable data storage and compression for a file
system including providing a data structure that associates file
identifiers and retrieval keys for memory blocks for storing file
contents; storing in the data structure one or more file identifiers;
providing a chunk of data comprising a quantity of input data of a file;
retrieving a memory block from computer memory; searching for a segment
of the chunk that matches the memory block; and if a matching segment is
found: discarding the matching segment; providing a retrieval key for the
memory block as a retrieval key for the matching segment; identifying an
unmatched portion of the chunk that does not match the memory block;
storing the unmatched portion; and providing a retrieval key for the
unmatched portion.