IP Library Granted Patent US 10,996,871
Granted Patent B2
US 10,996,871 · App. 16/177,632 · Granted May 4, 2021

Hash-based data recovery from remote storage system responsive to missing or corrupted hash digest

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,996,871
App. No.
16/177,632
Granted
May 4, 2021
Kind
B2
Abstract

An apparatus in one embodiment comprises at least one processing device comprising a processor coupled to a memory. The processing device is configured to detect an error relating to storage of a given data page in a first storage system, and to send a message to at least one additional storage system, the message containing a hash handle of the given data page with the hash handle having a length that is shorter than that of a corresponding hash digest of the given data page. The processing device is further configured to receive from the additional storage system responsive to the message a recovery data page identified by the additional storage system as having the same hash handle as the given data page. Separate instances of the message containing the hash handle of the given data page may be sent to each of a plurality of additional storage systems.

Claims (46)

1. An apparatus comprising:

at least one processing device comprising a processor coupled to a memory;

the processing device being configured:

to detect an error relating to storage of a given data page in a first storage system;

to send a message to at least one additional storage system, the message containing a hash handle of the given data page with the hash handle having a length that is shorter than that of a corresponding hash digest of the given data page;

to receive from the additional storage system responsive to the message a recovery data page identified by the additional storage system as having the same hash handle as the given data page;

to receive from the additional storage system responsive to the message an address of the recovery data page in the additional storage system;

to verify the recovery data page received from the additional storage system; and

to compare the received address to the address of the given data page in the first storage system in conjunction with verifying the recovery data page;

wherein verifying the recovery data page received from the additional storage system comprises computing a hash digest of the recovery data page, computing a hash handle from the computed hash digest, and comparing the computed hash handle to the hash handle of the given data page.

2. The apparatus of claim 1 wherein the processing device is implemented in a host device configured to communicate over a network with the first and additional storage systems.

3. The apparatus of claim 1 wherein the processing device is implemented in the first storage system.

4. The apparatus of claim 1 wherein detecting the error relating to storage of the given data page comprises detecting an error relating to the hash digest of the given data page.

5. The apparatus of claim 1 wherein the hash digest of the given data page is generated by applying a secure hashing algorithm to content of the given data page in the first storage system.

6. The apparatus of claim 1 wherein the hash handle of the given data page is obtained from a logical layer mapping table of the first storage system.

7. The apparatus of claim 6 wherein the logical layer mapping table comprises an address-to-hash table that stores logical addresses of one or more storage volumes of the first storage system in association with respective hash handles.

8. The apparatus of claim 1 wherein the first storage system compares the received address to the address of the given data page in the first storage system in conjunction with verifying the recovery data page.

9. The apparatus of claim 1 wherein the first storage system utilizes the recovery data page received from the additional storage system to recover from the detected error relating to storage of the given data page.

10. The apparatus of claim 1 wherein separate instances of the message containing the hash handle of the given data page are sent to each of a plurality of additional storage systems.

11. The apparatus of claim 1 wherein the first and additional storage systems are configured to participate in at least one of:

a synchronous replication process in which one or more storage volumes are synchronously replicated from the first storage system to the additional storage system; and

an asynchronous replication process in which one or more storage volumes are asynchronously replicated from the first storage system to the additional storage system.

12. The apparatus of claim 11 wherein the storage volume comprises at least one logical storage volume comprising at least a portion of a physical storage space of one or more storage devices of the first storage system.

13. The apparatus of claim 1 wherein the first and additional storage systems are not configured to participate in a replication process in which one or more storage volumes are replicated from the first storage system to the additional storage system.

14. A method comprising:

detecting an error relating to storage of a given data page in a first storage system;

sending a message to at least one additional storage system, the message containing a hash handle of the given data page with the hash handle having a length that is shorter than that of a corresponding hash digest of the given data page;

receiving from the additional storage system responsive to the message a recovery data page identified by the additional storage system as having the same hash handle as the given data page;

receiving from the additional storage system responsive to the message an address of the recovery data page in the additional storage system;

verifying the recovery data page received from the additional storage system; and

comparing the received address to the address of the given data page in the first storage system in conjunction with verifying the recovery data page;

wherein verifying the recovery data page received from the additional storage system comprises computing a hash digest of the recovery data page, computing a hash handle from the computed hash digest, and comparing the computed hash handle to the hash handle of the given data page; and

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

15. The method of claim 14 wherein the first storage system compares the received address to the address of the given data page in the first storage system in conjunction with verifying the recovery data page.

16. The method of claim 14 wherein the first storage system utilizes the recovery data page received from the additional storage system to recover from the detected error relating to storage of the given data page.

17. The method of claim 14 wherein separate instances of the message containing the hash handle of the given data page are sent to each of a plurality of additional storage systems.

18. 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 said at least one processing device:

to detect an error relating to storage of a given data page in a first storage system;

to send a message to at least one additional storage system, the message containing a hash handle of the given data page with the hash handle having a length that is shorter than that of a corresponding hash digest of the given data page;

to receive from the additional storage system responsive to the message a recovery data page identified by the additional storage system as having the same hash handle as the given data page;

to receive from the additional storage system responsive to the message an address of the recovery data page in the additional storage system;

to verify the recovery data page received from the additional storage system; and

to compare the received address to the address of the given data page in the first storage system in conjunction with verifying the recovery data page;

wherein verifying the recovery data page received from the additional storage system comprises computing a hash digest of the recovery data page, computing a hash handle from the computed hash digest, and comparing the computed hash handle to the hash handle of the given data page.

19. The computer program product of claim 18 wherein the hash handle of the given data page is obtained from a logical layer mapping table of the first storage system.

20. The computer program product of claim 19 wherein the logical layer mapping table comprises an address-to-hash table that stores logical addresses of one or more storage volumes of the first storage system in association with respective hash handles.

Assignments (7)
RELEASE OF PATENT SECURITY INTEREST Recorded Oct 25, 2023
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: NCR VOYIX CORPORATION
Reel/Frame 065346/0531 →
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBERS SECTION TO REMOVE PATENT APPLICATION: 15000000 PREVIOUSLY RECORDED AT REEL: 050874 FRAME: 0063. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Apr 12, 2021
From: NCR CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 057047/0161 →
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 →
SECURITY INTEREST Recorded Oct 29, 2019
From: NCR CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 050874/0063 →
SECURITY AGREEMENT Recorded Mar 21, 2019
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 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2018
From: MEIRI, DAVID; KUCHEROV, ANTON
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 047423/0870 →