Computer storage deduplication
AssigneeVMware, Inc.
InventorsAustin CLEMENTS, Irfan AHMAD, Jinyuan LI, Murali VILAYANNUR
Life of this patent
Estimating the term…
Abstract
A data center comprising plural computer hosts and a storage system external to said hosts is disclosed. The storage system includes storage blocks for storing tangibly encoded data blocks. Each of said hosts includes a deduplicating file system for identifying and merging identical data blocks stored in respective storage blocks into one of said storage blocks so that a first file exclusively accessed by a first host of said hosts and a second file accessed exclusively by a second host of said hosts concurrently refer to the same one of said storage blocks.
Claims19
A data center comprising plural computer hosts and a storage system external to said hosts, said storage system including storage blocks for storing tangibly encoded data blocks, each of said hosts including a deduplicating file system for identifying and merging identical data blocks stored in respective storage blocks into one of said storage blocks so that a first file exclusively accessed by a first host of said hosts and a second file accessed exclusively by a second host of said hosts concurrently refer to the same one of said storage blocks.
A manufacture comprising computer-readable storage media encoded with a file system of computer-executable instructions, said file system, when executed on a host computer system connected to a storage system managing files, including a shared-block file, encoded in said storage system, said files having tangibly encoded metadata pointers referring to storage blocks containing tangibly encoded data blocks, said shared-block file having metadata pointers referring to blocks referred to by plural of said metadata pointers, said file system including a write-log handler for updating a hash index having a shared set of entries referring to shared storage blocks indirectly through said shared-block file, and having an unshared set of entries referring to unshared storage blocks indirectly through said files other than said shared-block file, said hash index being tangibly encoded in said storage system.
A method comprising:
- a first file system executing on a first host computer system, said first file system managing a first write operation to a first file on a storage system by writing a first data block to a first storage block of said storage system and causing a first metadata pointer of said first file to refer to said first storage block;
- a second file system executing on a second host computer system managing a second write operation to a second file on a storage system by writing second contents to a second block of said storage system and causing a second metadata pointer of said second file to refer to said second block;
- and
- said second file manager determining whether or not said second contents are identical to said first contents;
- and
- if said second contents are identical to said first contents, said second file manager causing said second metadata pointer to refer to said first block.
A method for deduplicating a first storage block in a file system, the method comprising:
- determining if a second storage block contains content identical to the first storage block in the file system, a size of the second storage block being identical to a size of the first storage block, wherein a pointer to the first storage block being stored in an inode of a file with which the first storage block is associated with;
- changing metadata of the first storage block in the inode to include a copy on write (COW) mechanism;
- and
- purging the second storage block and changing pointers to the second storage block to point to the first storage block,
- wherein, if the size of the first storage block is larger than or equal to a first block size, the first storage block and the second storage block being logically subdivided in a number of blocks of a second block size each, the first block size being larger than the second block size.
Dependencies are inferred from the claim text.