IP Library Granted Patent US 11,144,221
Granted Patent B1
US 11,144,221 · App. 16/845,130 · Granted Oct 12, 2021

Efficient resilience in a metadata paging array for in-flight user data

Inventors: Stephen M Lathrop (Milford, MA); Jeremy O'Hare (Westborough, MA); Anoop Raghunathan (Ashland, MA)
Assignee: Dell Products L.P.
G06F3/0631G06F3/0604G06F3/0679
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,144,221
App. No.
16/845,130
Granted
Oct 12, 2021
Kind
B1
Abstract

Protection and recovery is provided for an allocation unit of data that is in-flight between a source device and a target device of a storage system during a systemic failure by selecting between corresponding source device and target device metadata based on consistency and reciprocal linkage. If logical volume metadata for the allocation unit of the data in volatile memory is not consistent with logical volume metadata for the allocation unit in non-volatile storage, then the allocation unit is recovered from the source device. If target device metadata for the data in volatile memory is not consistent with target device metadata for the data in non-volatile storage, then the allocation unit is recovered from the source device. If linkage between logical volume metadata for the allocation unit and target device metadata for the data is not reciprocal, then the allocation unit is recovered from the source device. If none of those conditions are satisfied, then the allocation unit is recovered from the target device.

Claims (33)

1. A method comprising:

in a storage system in which an allocation unit of data of a logical volume is being moved from a source device to a target device when a failure occurs, recovering the data by:

determining that logical volume metadata for the allocation unit in volatile memory is consistent with logical volume metadata for the allocation unit in non-volatile storage;

determining that target device metadata for the data in volatile memory is consistent with target device metadata for the data in non-volatile storage;

determining that linkage between logical volume metadata for the allocation unit and target device metadata for the data is reciprocal; and

recovering the data from the target device.

2. The method of claim 1 comprising recovering the data from the source device in response to determining that logical volume metadata for the allocation unit in volatile memory is inconsistent with logical volume metadata for the allocation unit in non-volatile storage.

3. The method of claim 1 comprising recovering the data from the source device in response to determining that target device metadata for the data in volatile memory is inconsistent with target device metadata for the data in non-volatile storage.

4. The method of claim 1 comprising recovering the data from the source device in response to determining that reciprocal linkage between logical volume metadata for the allocation unit and target device metadata for the data is lacking.

5. The method of claim 1 comprising updating the logical volume metadata for the allocation unit in volatile memory to indicate that the allocation unit is being moved from the source device to the target device.

6. The method of claim 5 comprising lazily updating the logical volume metadata for the allocation unit in non-volatile storage to indicate that the allocation unit is being moved from the source device to the target device.

7. The method of claim 1 comprising updating the target device metadata for the data in volatile memory to indicate that corresponding target device data is associated with the allocation unit of the logical volume.

8. The method of claim 7 comprising lazily updating the target device metadata for the data in non-volatile storage to indicate that corresponding target device data is associated with the allocation unit of the logical volume.

9. An apparatus comprising:

a plurality of managed drives;

a plurality of interconnected computing nodes that manage access to the managed drives and present a logical volume to a host; and

a relocator, responsive to a failure occurring during movement of an allocation unit of data of the logical volume from a source device to a target device, to: determine that logical volume metadata for the allocation unit in volatile memory is consistent with logical volume metadata for the allocation unit in non-volatile storage, determine that target device metadata for the data in volatile memory is consistent with target device metadata for the data in non-volatile storage, determine that linkage between logical volume metadata for the allocation unit and target device metadata for the data is reciprocal, and recover the data from the target device.

10. The apparatus of claim 9 wherein the relocator recovers the data from the source device responsive to a determination that logical volume metadata for the allocation unit in volatile memory is inconsistent with logical volume metadata for the allocation unit in non-volatile storage.

11. The apparatus of claim 9 wherein the relocator recovers the data from the source device responsive to a determination that target device metadata for the data in volatile memory is inconsistent with target device metadata for the data in non-volatile storage.

12. The apparatus of claim 9 wherein the relocator recovers the data from the source device responsive to a determination that reciprocal linkage between logical volume metadata for the allocation unit and target device metadata for the data is lacking.

13. The apparatus of claim 9 wherein the relocator updates the logical volume metadata for the allocation unit in volatile memory to indicate that the allocation unit is being moved from the source device to the target device.

14. The apparatus of claim 13 wherein the relocator lazily updates the logical volume metadata for the allocation unit in non-volatile storage to indicate that the allocation unit is being moved from the source device to the target device.

15. The apparatus of claim 9 wherein the relocator updates the target device metadata for the data in volatile memory to indicate that corresponding target device data is associated with the allocation unit of the logical volume.

16. The apparatus of claim 15 wherein the relocator lazily updates the target device metadata for the data in non-volatile storage to indicate that corresponding target device data is associated with the allocation unit of the logical volume.

17. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for using a computer system to recover data that is in-flight during a failure, the method comprising:

in a storage system in which an allocation unit of data of a logical volume is being moved from a source device to a target device when a failure occurs, recovering the data by:

determining that logical volume metadata for the allocation unit in volatile memory is consistent with logical volume metadata for the allocation unit in non-volatile storage;

determining that target device metadata for the data in volatile memory is consistent with target device metadata for the data in non-volatile storage;

determining that linkage between logical volume metadata for the allocation unit and target device metadata for the data is reciprocal; and

recovering the data from the target device.

18. The non-transitory computer-readable storage medium of claim 17 wherein the method further comprises recovering the data from the source device in response to determining that logical volume metadata for the allocation unit in volatile memory is inconsistent with logical volume metadata for the allocation unit in non-volatile storage.

19. The non-transitory computer-readable storage medium of claim 18 wherein the method further comprises recovering the data from the source device in response to determining that target device metadata for the data in volatile memory is inconsistent with target device metadata for the data in non-volatile storage.

20. The non-transitory computer-readable storage medium of claim 19 wherein the method further comprises recovering the data from the source device in response to determining that reciprocal linkage between logical volume metadata for the allocation unit and target device metadata for the data is lacking.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0081) 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
Reel/Frame 060436/0441 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) 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
Reel/Frame 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) 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
Reel/Frame 060436/0582 →
RELEASE OF SECURITY INTEREST AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2020
From: LATHROP, STEPHEN M; O'HARE, JEREMY; RAGHUNATHAN, ANOOP
To: EMC IP HOLDING COMANY LLC
Reel/Frame 052362/0071 →
Cited By (1)
US 12,314,573