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, comprising:
- receiving, by a storage apparatus, a data write request that carries to-be-written data, wherein the to-be-written data comprise a first data block;
- calculating, by the storage apparatus, a first fingerprint of the first data block uniquely identifying the first data block;
- determining, by the storage apparatus, whether the first fingerprint is in a fingerprint list, wherein the fingerprint list comprises at least one fingerprint corresponding to at least one data block stored in a high-speed storage medium and at least one fingerprint corresponding to at least one data block stored in a low-speed storage medium;
- performing, by the storage apparatus, a deduplication operation on the to-be-written data, wherein the deduplication operation comprises:
- making a second data block whose second fingerprint is in the fingerprint list point to a first storage address of the first data block;
- and
- deleting the first data block from the to-be-written data to obtain deduplicated to-be-written data;
- and
- writing, by the storage apparatus, the deduplicated to-be-written data into the high-speed storage medium or the low-speed storage medium.
An apparatus, comprising:
- a memory configured to store program instructions;
- a processor coupled to the memory and configured to execute the program instructions, that when executed by the processor, cause the apparatus to be configured to:
- receive a data write request that carries to-be-written data, wherein the to-be-written data comprise a first data block;
- calculate a first fingerprint of the first data block uniquely identifying the first data block;
- determine whether the first fingerprint is in a fingerprint list, wherein the fingerprint list comprises at least one fingerprint corresponding to at least one data block stored in a high-speed storage medium and at least one fingerprint corresponding to at least one data block stored in a low-speed storage medium;
- perform a deduplication operation on the to-be-written data, wherein the deduplication operation comprises:
- making a second data block whose second fingerprint is in the fingerprint list point to a storage address of the first data block;
- and
- deleting the first data block from the to-be-written data to obtain deduplicated to-be-written data;
- and
- write the deduplicated to-be-written data into the high-speed storage medium or the low-speed storage medium.
A computer program product comprising computer-executable instructions that are stored on a non-transitory computer readable storage medium and that when executed by a processor of an apparatus, cause the apparatus to:
- receive a data write request that carries to-be-written data, wherein the to-be-written data comprises a first data block;
- calculate a first fingerprint of the first data block uniquely identifying the first data block;
- determine whether the first fingerprint exists in a fingerprint list, wherein the fingerprint list comprises at least one fingerprint corresponding to at least one data block stored in a high-speed storage medium and at least one fingerprint corresponding to at least one data block stored in a low-speed storage medium;
- perform a deduplication operation on the to-be-written data, wherein the deduplication operation comprises:
- making a second data block whose second fingerprint is in the fingerprint list that points to a first storage address of the first data block;
- and
- deleting the first data block from the to-be-written data to obtain deduplicated to-be-written data;
- and
- write the deduplicated to-be-written data into the high-speed storage medium or the low-speed storage medium.
Dependencies are inferred from the claim text.