COMPUTER STORAGE DEDUPLICATION
First Claim
1. 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.
2 Assignments
0 Petitions
Accused Products
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.
-
Citations
19 Claims
- 1. 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.
- 6. 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.
-
11. 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. - View Dependent Claims (12, 13, 14, 15)
-
-
16. 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. - View Dependent Claims (17, 18, 19)
-
Specification