Data Storage Method and Apparatus
AssigneeHuawei Technologies Co., Ltd.
InventorZhi Rao
Life of this patent
Estimating the term…
Abstract
A data storage method and apparatus includes receiving a data write request, where the data write request carries to-be-written data, and the to-be-written data includes at least one data block; calculating a fingerprint of each data block, where the fingerprint uniquely identifies the data block; determining whether the fingerprint of each data block exists in a fingerprint list, where the fingerprint list includes a fingerprint corresponding to a data block stored in a high-speed storage medium and a fingerprint corresponding to a data block stored in a low-speed storage medium; and performing a deduplication operation on the to-be-written data.
Claims20
A data storage method implemented by a storage apparatus, wherein the data storage method comprises:
- receiving a first data block;
- calculating a first fingerprint that is of the first data block and that uniquely identifies the first data block;
- compressing the first data block to obtain a second data block when the first fingerprint does not match fingerprints that correspond to third data blocks and that are stored in a hybrid storage pool of the storage apparatus, wherein the third data blocks comprise fourth data blocks stored in solid-state drives (SSDs) of the hybrid storage pool and comprise fifth data blocks stored in hard disk drives (HDDs) of the hybrid storage pool;
- and
- storing the second data block into the hybrid storage pool.
A storage apparatus, comprising:
- a hybrid storage pool comprising solid-state drives (SSDs) and hard disk drives (HDDs);
- a memory configured to store program instructions;
- and
- at least one processor coupled to the memory and configured to execute the program instructions to cause the storage apparatus to:
- receive a first data block;
- calculate a first fingerprint that is of the first data block and that uniquely identifies the first data block;
- compress the first data block to obtain a second data block when the first fingerprint does not match fingerprints that correspond to third data blocks and that are stored in the hybrid storage pool, wherein the third data blocks comprise fourth data blocks stored in SSDs and fifth data blocks stored in HDDs;
- and
- store the second data block into the hybrid storage pool.
A computer program product comprising computer-executable instructions that are stored on a non-transitory computer readable storage medium and that, when executed by at least one processor of a storage apparatus, cause the storage apparatus to:
- receive a first data block;
- calculate a first fingerprint that is of the first data block and that uniquely identifies the first data block;
- compress the first data block to obtain a second data block when the first fingerprint does not match fingerprints that correspond to third data blocks and that are stored in a hybrid storage pool of the storage apparatus, wherein the third data blocks comprise fourth data blocks stored in solid-state drives (SSDs) of the hybrid storage pool and comprise fifth data blocks stored in hard disk drives (HDDs) of the hybrid storage pool;
- and
- store the second data block into the hybrid storage pool.
Dependencies are inferred from the claim text.