IP Library Granted Patent US 11,947,496
Granted Patent B2
US 11,947,496 · App. 16/882,593 · Granted Apr 2, 2024

Multi-node storage system and method data de-duplication method for the same

Inventors: Chao Lin (Shanghai, CN); Yuting Zhang (Chengdu, CN)
Assignee: EMC IP Holding Company LLC
G06F16/1748G06F11/1451G06F11/1464G06F16/152G06F16/1824G06F2201/80
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,947,496
App. No.
16/882,593
Granted
Apr 2, 2024
Kind
B2
Abstract

Embodiments of the present disclosure relate to a multi-node storage system and a data deduplication method thereof. The method includes determining a similarity hash value of a super block, wherein the similarity hash value indicates similarity between super blocks The method further includes comparing the similarity hash value of the super block with a feature similarity hash value of a node of the multi-node storage system to determine whether the super block matches the node and, in response to determining that the super block matches the node, allocating the super block to the node.

Claims (38)

1. A method for data deduplication in a multi-node storage system, comprising:

receiving a data stream of a backup;

dividing the data stream into a plurality of blocks of the backup;

merging a plurality of the blocks into a super block of the backup;

determining a similarity hash value of the super block, wherein the similarity hash value indicates similarity between the super block and a plurality of super blocks, wherein

determining the similarity hash value of the super block comprises:

determining a signature matrix of the backup in which the super block is included by taking blocks as features through MinHash, wherein the signature matrix is determined by sampling the super block to obtain a portion of the blocks that is less than all of the plurality of blocks in the super block, and determining the signature matrix for the super block by taking the portion of the blocks as features, and

based on the signature matrix, calculating the similarity hash value through locality sensitive hashing;

comparing, using one or more distributed hash tables (DHTs), the similarity hash value of the super block with a similarity hash value range associated with a node of the multi-node storage system to determine whether the similarity hash value is within the similarity hash value range, wherein the similarity hash value range is stored in the one or more DHTs, and wherein the one or more DHTs is used as a cache;

making a determination that the similarity hash value is outside the similarity hash value range;

allocating the super block to the node based on the determination;

updating the similarity hash value range by adding a range number to the similarity hash value to set an upper bound of the similarity hash value range and subtracting the range number from the similarity hash value to set a lower bound of the similarity hash value range; and

storing the super block in a memory of the node, based on allocating the super block to the node and in response to updating the similarity hash value.

2. An electronic device, comprising

a processing unit;

a memory, coupled to the processing unit and comprising instructions stored therein, the instructions causing the electronic device to perform a method when being executed by the processing unit, the method comprising:

receiving a data stream of a backup;

dividing the data stream into a plurality of blocks of the backup;

merging a plurality of the blocks into a super block of the backup;

determining a similarity hash value of the super block, wherein the similarity hash value indicates similarity between the super block and a plurality of super blocks, wherein determining the similarity hash value of the super block comprises:

determining a signature matrix of the backup in which the super block is included by taking blocks as features through MinHash, wherein the signature matrix is determined by sampling the super block to obtain a portion of the blocks that is less then all of the plurality of blocks in the super block, and determining the signature matrix for the super block by taking the portion of the blocks as features, and based on the signature matrix, calculating the similarity hash value through locality sensitive hashing;

comparing, using one or more distributed hash tables (DHTs), the similarity hash value of the super block with a similarity hash value range associated with a node of a multi-node storage system to determine whether the similarity hash value is within the similarity hash value range, wherein the similarity hash value range is stored in the one or more DHTs, and wherein the one or more DHTs is used as a cache;

making a determination that the similarity hash value is outside the similarity hash value range;

allocating the super block to the node based on the determination;

updating the similarity hash value range by adding a range number to the similarity hash value to set an upper bound of the similarity hash value range and subtracting the range number from the similarity hash value to set a lower bound of the similarity hash value range; and

storing the super block in a node memory of the node, based on allocating the super block to the node and in response to updating the similarity hash value.

3. A computer-readable storage medium, wherein machine-executable instructions are stored in the computer-readable storage medium, and the machine-executable instructions cause at least one processor to implement a method when being executed by the at least one processor, the method comprising:

receiving a data stream of a backup;

dividing the data stream into a plurality of blocks of the backup;

merge a plurality of the blocks into a super block of the backup;

determining a similarity hash value of the super block, wherein the similarity hash value indicates similarity between the super block and a plurality of super blocks, wherein determining the similarity hash value of the super block comprises:

determining a signature matrix of the backup in which the super block is included by taking blocks as features through MinHash, wherein the signature matrix is determined by sampling the super block to obtain a portion of the blocks that is less than all of the plurality of blocks in the super block, and determining the signature matrix for the super block by taking the portion of the blocks as features, and

based on the signature matrix, calculating the similarity hash value through locality sensitive hashing;

comparing, using one or more distributed hash tables (DHTs), the similarity hash value of the super block with a similarity hash value range associated with a node of a multi-node storage system to determine whether the similarity hash value is within the similarity hash value range, wherein the similarity hash value range is stored in the one or more DHTs, and wherein the one or more DHTs is used as a cache;

making a determination that the similarity hash value is outside the similarity hash value range;

allocating the super block to the node based on the determination;

updating the similarity hash value range by adding a range number to the similarity hash value to set an upper bound of the similarity hash value range and subtracting the range number from the similarity hash value to set a lower bound of the similarity hash value range; and

storing the super block in a memory of the node, based on allocating the super block to the node and in response to updating the similarity hash value.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0106 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053578/0183 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053574/0221 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2020
From: LIN, CHAO; ZHANG, YUTING
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052838/0487 →
Priority Claims (1)
CN 202010081871.6 · Feb 6, 2020 · national
Continuity (1)
Related Publication 20210248111A1 · Aug 12, 2021