IP Library › Granted Patent US 11,645,174
Granted Patent B2
US 11,645,174 · App. 16/665,651 · Granted May 9, 2023

Recovery flow with reduced address lock contention in a content addressable storage system

Inventors: Lior Kamran (Rishon LeZion, IL); Vladimir Shveidel (Pardes-Hana, IL)
Assignee: Dell Products L.P.
G06F11/2082G06F9/547
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,645,174
App. No.
16/665,651
Filed
Oct 28, 2019
Granted
May 9, 2023
Kind
B2
Examiner
TRUONG, LOAN
Art Unit
2114
USPC
714/6.3
Abstract

An apparatus in one embodiment comprises at least one processing device comprising a processor coupled to a memory, with the processing device being configured to detect a failure of at least one storage node that impacts a write cache destaging process in a distributed content addressable storage (CAS) system comprising a plurality of storage nodes each associated with one or more storage devices. Responsive to the detected failure, the processing device issues one or more write cache metadata preload commands to direct one or more other ones of the storage nodes to preload from their associated storage devices metadata characterizing one or more data pages that are subject to the write cache destaging process, thereby illustratively reducing address lock contention in the CAS system. The processing device illustratively comprises at least a portion of a distributed storage controller of the CAS system. Other embodiments include methods and computer program products.

Claims (38)

1. An apparatus comprising:

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

said at least one processing device being configured:

to detect a failure of at least one storage node that impacts a write cache destaging process in a distributed content addressable storage system comprising a plurality of storage nodes each associated with one or more storage devices; and

responsive to the detected failure, to issue one or more write cache metadata preload commands to direct one or more other ones of the storage nodes to preload from their associated storage devices metadata characterizing one or more data pages that are subject to the write cache destaging process;

wherein detecting a failure of at least one storage node that impacts a write cache destaging process comprises detecting the failure of a particular storage node prior to acquisition of address locks for respective ones of one or more data pages targeted by one or more write requests to be destaged from a write cache of the distributed content addressable storage system as part of the write cache destaging process;

wherein issuing one or more write cache metadata preload commands to direct one or more other ones of the storage nodes to preload from their associated storage devices metadata characterizing one or more data pages that are subject to the write cache destaging process comprises issuing the one or more write cache metadata preload commands from a first one of the storage nodes to at least a second one of the storage nodes; and

wherein the write cache destaging process is delayed until each of the one or more write cache metadata preload commands issued for a designated write cache destage batch is acknowledged as complete.

2. The apparatus of claim 1 wherein said at least one processing device comprises at least a portion of a storage controller of the distributed content addressable storage system.

3. The apparatus of claim 1 wherein the storage nodes of the distributed content addressable storage system are interconnected in a mesh network.

4. The apparatus of claim 1 wherein each of at least a subset of the storage nodes of the distributed content addressable storage system comprises a set of processing modules configured to communicate with corresponding sets of processing modules on other ones of the storage nodes, a given such set of processing modules comprising at least a routing module, a control module and a data module, the sets of processing modules of the storage nodes of the distributed content addressable storage system collectively comprising at least a portion of a storage controller of the distributed content addressable storage system.

5. The apparatus of claim 1 wherein address locks are placed on respective ones of a plurality of data pages targeted by one or more write requests to be destaged from a write cache of the distributed content addressable storage system as part of the write cache destaging process.

6. The apparatus of claim 1 wherein detecting a failure of at least one storage node that impacts a write cache destaging process comprises detecting a failure of a data module of a particular storage node that is associated with one or more storage devices that store one or more data pages targeted by one or more write requests to be destaged from a write cache of the distributed content addressable storage system as part of the write cache destaging process.

7. The apparatus of claim 1 wherein detecting a failure of at least one storage node that impacts a write cache destaging process comprises detecting the failure of a particular storage node prior to initiation of the write cache destaging process.

8. The apparatus of claim 1 wherein a plurality of write cache metadata preload commands are issued from a control module of the first storage node to respective ones of a plurality of data modules of respective ones of the second storage node and one or more additional ones of the storage nodes.

9. The apparatus of claim 1 wherein each of the one or more write cache metadata preload commands comprises a remote procedure call (RPC).

10. The apparatus of claim 1 wherein each of the one or more write cache metadata preload commands is issued in conjunction with an initial step of the write cache destaging process.

11. The apparatus of claim 1 wherein issuing one or more write cache metadata preload commands to direct one or more other ones of the storage nodes to preload from their associated storage devices metadata characterizing one or more data pages that are subject to the write cache destaging process comprises issuing multiple write cache metadata preload commands to respective ones of a plurality of data modules that are associated with a designated write cache destage batch of the write cache destaging process.

12. A method comprising:

detecting a failure of at least one storage node that impacts a write cache destaging process in a distributed content addressable storage system comprising a plurality of storage nodes each associated with one or more storage devices; and

responsive to the detected failure, issuing one or more write cache metadata preload commands to direct one or more other ones of the storage nodes to preload from their associated storage devices metadata characterizing one or more data pages that are subject to the write cache destaging process;

wherein detecting a failure of at least one storage node that impacts a write cache destaging process comprises detecting the failure of a particular storage node prior to acquisition of address locks for respective ones of one or more data pages targeted by one or more write requests to be destaged from a write cache of the distributed content addressable storage system as part of the write cache destaging process;

wherein issuing one or more write cache metadata preload commands to direct one or more other ones of the storage nodes to preload from their associated storage devices metadata characterizing one or more data pages that are subject to the write cache destaging process comprises issuing the one or more write cache metadata preload commands from a first one of the storage nodes to at least a second one of the storage nodes;

wherein the write cache destaging process is delayed until each of the one or more write cache metadata preload commands issued for a designated write cache destage batch is acknowledged as complete; and

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

13. 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 a failure of at least one storage node that impacts a write cache destaging process in a distributed content addressable storage system comprising a plurality of storage nodes each associated with one or more storage devices; and

responsive to the detected failure, to issue one or more write cache metadata preload commands to direct one or more other ones of the storage nodes to preload from their associated storage devices metadata characterizing one or more data pages that are subject to the write cache destaging process;

wherein detecting a failure of at least one storage node that impacts a write cache destaging process comprises detecting the failure of a particular storage node prior to acquisition of address locks for respective ones of one or more data pages targeted by one or more write requests to be destaged from a write cache of the distributed content addressable storage system as part of the write cache destaging process;

wherein issuing one or more write cache metadata preload commands to direct one or more other ones of the storage nodes to preload from their associated storage devices metadata characterizing one or more data pages that are subject to the write cache destaging process comprises issuing the one or more write cache metadata preload commands from a first one of the storage nodes to at least a second one of the storage nodes; and

wherein the write cache destaging process is delayed until each of the one or more write cache metadata preload commands issued for a designated write cache destage batch is acknowledged as complete.

14. The computer program product of claim 13 wherein a plurality of write cache metadata preload commands are issued from a control module of the first storage node to respective ones of a plurality of data modules of respective ones of the second storage node and one or more additional ones of the storage nodes.

15. The computer program product of claim 13 wherein each of the one or more write cache metadata preload commands is issued in conjunction with an initial step of the write cache destaging process.

16. The computer program product of claim 13 wherein issuing one or more write cache metadata preload commands to direct one or more other ones of the storage nodes to preload from their associated storage devices metadata characterizing one or more data pages that are subject to the write cache destaging process comprises issuing multiple write cache metadata preload commands to respective ones of a plurality of data modules that are associated with a designated write cache destage batch of the write cache destaging process.

17. The method of claim 12 wherein a plurality of write cache metadata preload commands are issued from a control module of the first storage node to respective ones of a plurality of data modules of respective ones of the second storage node and one or more additional ones of the storage nodes.

18. The method of claim 12 wherein each of the one or more write cache metadata preload commands is issued in conjunction with an initial step of the write cache destaging process.

19. The method of claim 12 wherein issuing one or more write cache metadata preload commands to direct one or more other ones of the storage nodes to preload from their associated storage devices metadata characterizing one or more data pages that are subject to the write cache destaging process comprises issuing multiple write cache metadata preload commands to respective ones of a plurality of data modules that are associated with a designated write cache destage batch of the write cache destaging process.

20. The method of claim 12 wherein each of the one or more write cache metadata preload commands comprises a remote procedure call (RPC).

Assignments (9)
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 (051302/0528) 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 IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.); SECUREWORKS CORP.
Reel/Frame 060438/0593 →
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 AT REEL 051449 FRAME 0728 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
Reel/Frame 058002/0010 →
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 →
SECURITY AGREEMENT Recorded Dec 31, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 051449/0728 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Dec 16, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 051302/0528 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2019
From: KAMRAN, LIOR; SHVEIDEL, VLADIMIR
To: DELL PRODUCTS L.P.
Reel/Frame 050844/0513 →
Continuity (1)
Related Publication 20210124657A1 · Apr 29, 2021