IP Library Granted Patent US 10,817,212
Granted Patent B2
US 10,817,212 · App. 16/438,014 · Granted Oct 27, 2020

Method and apparatus for creating a short hash handle highly correlated with a globally-unique hash signature

Inventors: Renen Hallak (Sde Warburg, IL); Ronen Kalish (Tel Aviv, IL); Kobi Luz (Rehovot, IL); Ehud Rokach (Tel Aviv, IL)
Assignee: EMC IP Holding Company LLC
G06F3/0653G06F3/0604G06F3/067G06F3/0608G06F3/0641G06F3/0683G06F16/137G06F16/152G06F16/9014H04L9/3236H04L9/3242H04L9/3247G06F16/90344H04L2209/38
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 10,817,212
App. No.
16/438,014
Granted
Oct 27, 2020
Kind
B2
Abstract

Example embodiments of the present invention relate and a method and an apparatus for managing a short hash handle. The method including receiving an I/O including a first identifier for a data block and examining the first identifier in comparison with a second identifier. The data block identified in the I/O then may be managed according to the first identifier and the second identifier.

Claims (49)

1. A method comprising:

receiving a hash handle;

determining whether a value of a hash handle bit of the hash handle is a first value or a second value;

responsive to determining that the value of the hash handle bit is the first value:

identifying a corresponding hash signature in a data structure based at least in part on at least a first portion of the hash handle, the corresponding hash signature comprising the at least the first portion of the hash handle; and

removing the corresponding hash signature from the data structure;

responsive to determining that the value of the hash handle bit is the second value:

identifying a given index in an array of indices that corresponds to the hash handle, each index having a corresponding entry, the given index comprising at least a second portion of the hash handle, the entry corresponding to the given index storing a given hash signature;

marking the entry corresponding to the given index as free; and

removing the given hash signature from the entry corresponding to the given index,

wherein the method is implemented by at least one processing device comprising a processor coupled to a memory.

2. The method of claim 1 wherein the hash handle is an n-bit hash handle and wherein the first portion of the hash handle comprises n−1 bits of the hash handle.

3. The method of claim 2 wherein the lowest n−1 bits of the corresponding hash signature comprises the first portion of the hash handle.

4. The method of claim 1 wherein the hash handle is an n-bit hash handle and wherein the second portion of the hash handle comprises n−1 bits of the hash handle.

5. The method of claim 4 wherein the given index comprises n−1 bits and wherein the n−1 bits of the given index comprises the second portion of the hash handle.

6. The method of claim 1 wherein the hash handle is an n-bit hash handle and wherein the hash handle bit is a most significant bit of the hash handle.

7. The method of claim 1 wherein the hash handle is an n-bit hash handle and wherein the hash handle bit is a least significant bit of the hash handle.

8. A system comprising:

at least one processor coupled to memory, the at least one processor configured:

to receive a hash handle;

to determine whether a value of a hash handle bit of the hash handle is a first value or a second value;

responsive to determining that the value of the hash handle bit is the first value:

to identify a corresponding hash signature in a data structure based at least in part on at least a first portion of the hash handle, the corresponding hash signature comprising the at least the first portion of the hash handle; and

to remove the corresponding hash signature from the data structure;

responsive to determining that the value of the hash handle bit is the second value:

to identify a given index in an array of indices that corresponds to the hash handle, each index having a corresponding entry, the given index comprising at least a second portion of the hash handle, the entry corresponding to the given index storing a given hash signature;

to mark the entry corresponding to the given index as free; and

to remove the given hash signature from the entry corresponding to the given index.

9. The system of claim 8 wherein the hash handle is an n-bit hash handle and wherein the first portion of the hash handle comprises n−1 bits of the hash handle.

10. The system of claim 9 wherein the lowest n−1 bits of the corresponding hash signature comprises the first portion of the hash handle.

11. The system of claim 8 wherein the hash handle is an n-bit hash handle and wherein the second portion of the hash handle comprises n−1 bits of the hash handle.

12. The system of claim 11 wherein the given index comprises n−1 bits and wherein the n−1 bits of the given index comprises the second portion of the hash handle.

13. The system of claim 8 wherein the hash handle is an n-bit hash handle and wherein the hash handle bit is a most significant bit of the hash handle.

14. The system of claim 8 wherein the hash handle is an n-bit hash handle and wherein the hash handle bit is a least significant bit of the hash handle.

15. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes the at least one processing device:

to receive a hash handle;

to determine whether a value of a hash handle bit of the hash handle is a first value or a second value;

responsive to determining that the value of the hash handle bit is the first value:

to identify a corresponding hash signature in a data structure based at least in part on at least a first portion of the hash handle, the corresponding hash signature comprising the at least the first portion of the hash handle; and

to remove the corresponding hash signature from the data structure;

responsive to determining that the value of the hash handle bit is the second value:

to identify a given index in an array of indices that corresponds to the hash handle, each index having a corresponding entry, the given index comprising at least a second portion of the hash handle, the entry corresponding to the given index storing a given hash signature;

to mark the entry corresponding to the given index as free; and

to remove the given hash signature from the entry corresponding to the given index.

16. The computer program product of claim 15 wherein the hash handle is an n-bit hash handle and wherein the first portion of the hash handle comprises n−1 bits of the hash handle.

17. The computer program product of claim 16 wherein the lowest n−1 bits of the corresponding hash signature comprises the first portion of the hash handle.

18. The computer program product of claim 15 wherein the hash handle is an n-bit hash handle and wherein the second portion of the hash handle comprises n−1 bits of the hash handle.

19. The computer program product of claim 18 wherein the given index comprises n−1 bits and wherein the n−1 bits of the given index comprises the second portion of the hash handle.

20. The computer program product of claim 15 wherein the hash handle is an n-bit hash handle and wherein the hash handle bit is one of a most significant bit of the hash handle and a least significant bit of the hash handle.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0571) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0088 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058213/0825 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2019
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 049441/0214 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2019
From: HALLAK, RENEN; KALISH, RONEN; LUZ, KOBI; ROKACH, EHUD
To: EMC CORPORATION
Reel/Frame 049436/0773 →