Patent attributes
Methods and systems configured to provide hash-based snapshot services for a virtual storage are provided. The system includes a processor and memory coupled with the processor. The memory is configured to provide the processor with instructions for maintaining, by a hash-based snapshot module executing on the system, a file system of the virtual storage. The file system is associated with a plurality of data blocks. The virtual storage is supported by a hash-storage having a hash base-file and a hash-database. The hash-database is configured for storing the plurality of data blocks. And the hash base-file includes hash codes generated by applying a hash function to the plurality of data blocks. The memory is further configured to provide the processor with instructions for accessing, by the hash-based snapshot module, the file system using hash codes contained in the hash base-file to identify data blocks stored in the hash-database; creating, by the hash-based snapshot module, a first snapshot for the file system, wherein the first snapshot is associated with a first hash snapshot file copied based on the hash base-file; and accessing, by the hash-based snapshot module, the first snapshot using hash codes contained in the first hash snapshot file to identify data blocks stored in the hash-database.