IP Library Granted Patent US 9,229,812
Granted Patent B2
US 9,229,812 · App. 14/176,163 · Granted Jan 5, 2016

Layered failure protection scheme for protecting destaged data units

Inventors: Yechiel Yochai (Moshav Aviel, IL); Ido Ben-Tsion (Ness-Ziona, IL)
Assignee: INFINIDAT LTD.
G06F11/1076G06F11/1096
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 9,229,812
App. No.
14/176,163
Granted
Jan 5, 2016
Kind
B2
Abstract

A method that includes calculating multiple set parity units for multiple sets of data units that are cached in a storage system thereby providing a group of units that includes multiple sets of units. Each set of units includes a set of data units and at least one associated set parity unit that facilitate a reconstruction of the set of units when a first number of units of the set of units is lost. Calculating at least one group parity unit for the group of units. A combination of the at least one group parity unit and at least one associated set parity unit facilitate a reconstruction of the set of units upon a failure of a second number of units of the set of units. The second number of units of the set of units exceeds the first number of units of the set of units. Destaging the group of units and the at least one group parity unit to multiple disks of the storage system.

Claims (68)

1. A method for disk failure protection, the method comprises:

calculating multiple set parity units for multiple sets of data units that are cached in a cache memory of a storage system thereby providing a group of units that comprises multiple sets of units; wherein each set of units comprises a set of data units and at least one associated set parity unit; wherein the at least one associated set parity unit facilitates a reconstruction of the set of units when a first number of units of the set of units is lost;

calculating at least one group parity unit for the group of units;

wherein a combination of the at least one group parity unit and at least one associated set parity unit of a set of units of the multiple sets of units facilitate a reconstruction of the set of units upon a failure of a second number of units of the set of units;

wherein the second number of units of the set of units exceeds the first number of units of the set of units;

destaging the group of units and the at least one group parity unit to multiple disks of the storage system;

receiving an indication of at least one failed disk of the multiple disks;

searching for an affected set of units, wherein the affected set of units comprises at least one lost unit that was stored in a failed disk of the at least one failed disk of the multiple disks; and

reconstructing the affected set of units in response to a number of lost units of the affected set of units.

2. The method according to claim 1 wherein the at least one group parity unit comprises (N2-1) group parity units and wherein N2 equals the second number of units of the set of units.

3. The method according to claim 1 wherein the reconstructing of the affected set of units comprises using at least one of (a) any non-lost set parity unit of the affected set of units and (b) any non-lost group parity unit.

4. The method according to claim 1 wherein the reconstructing of the affected set of units comprises processing either one of (a) all non-lost units of the affected set of units and (b) all non-lost units of the group of units.

5. The method according to claim 1 comprising:

reconstructing the affected set of units using any non-lost set parity unit of the affected set of units if a number of lost units of the affected set of units does not exceed the first number of units of the set of units; and

reconstructing the affected set of units using any non-lost group parity unit and any non-lost set parity unit associated with the affected set of units if the number of lost units of the affected set of units exceeds the first number of units of the set of units and does not exceed the second number of units of the set of units.

6. The method according to claim 1 comprising:

reconstructing the affected set of units by processing all non-lost units of the affected set of units if a number of lost units of the affected set of units does not exceed the first number of units of the set of units; and

reconstructing the affected set of units by processing all non-lost units of the group of units if the number of lost units of the affected set of units exceeds the first number of units of the set of units and does not exceed the second number of units of the set of units.

7. The method according to claim 1 wherein the destaging comprises storing up to a single unit of the group of units per disk.

8. A non-transitory computer readable medium that stores instructions that once executed by a computer cause the computer to perform the stages of:

calculating multiple set parity units for multiple sets of data units that are cached in a cache memory of a storage system thereby providing a group of units that comprises multiple sets of units; wherein each set of units comprises a set of data units and at least one associated set parity unit; wherein the at least one associated set parity unit facilitates a reconstruction of the set of units when a first number of units of the set of units is lost;

calculating at least one group parity unit for the group of units; wherein a combination of the at least one group parity unit and at least one associated set parity unit of a set of units of the multiple sets of units facilitate a reconstruction of the set of units upon a failure of a second number of units of the set of units;

destaging the group of units and the at least one group parity unit to multiple disks of the storage system;

receiving an indication of at least one failed disk of the multiple disks;

searching for an affected set of units, wherein the affected set of units comprises at least one lost unit that was stored in a failed disk of the at least one failed disk of the multiple disks; and

reconstructing the affected set of units in response to a number of lost units of the affected set of units.

9. The non-transitory computer readable medium according to claim 8 wherein the at least one group parity unit comprises (N2-1) group parity units and wherein N2 equals the second number of units of the set of units.

10. The non-transitory computer readable medium according to claim 8 wherein the reconstructing of the affected set of units comprises using at least one of (a) any non-lost set parity unit of the affected set of units and (b) any non-lost group parity unit.

11. The non-transitory computer readable medium according to claim 8 wherein the reconstructing of the affected set of units comprises processing either one of (a) all non-lost units of the affected set of units and (b) all non-lost units of the group of units.

12. The non-transitory computer readable medium according to claim 8 that stores instructions for:

reconstructing the affected set of units using any non-lost set parity unit of the affected set of units if a number of lost units of the affected set of units does not exceed the first number of units of the set of units; and

reconstructing the affected set of units using any non-lost group parity unit and any non-lost set parity unit associated with the affected set of units if the number of lost units of the affected set of units exceeds the first number of units of the set of units and does not exceed the second number of units of the set of units.

13. The non-transitory computer readable medium according to claim 8 that stores instructions for:

reconstructing the affected set of units by processing all non-lost units of the affected set of units if a number of lost units of the affected set of units does not exceed the first number of units of the set of units; and

reconstructing the affected set of units by processing all non-lost units of the group of units if the number of lost units of the affected set of units exceeds the first number of units of the set of units and does not exceed the second number of units of the set of units.

14. The non-transitory computer readable medium according to claim 8 wherein the destaging comprises storing up to a single unit of the group of units per disk.

15. A storage system that comprises a failure recovery unit and a storage system controller;

wherein the failure recovery unit is arranged to:

calculate multiple set parity units for multiple sets of data units that are cached in a cache memory of a storage system thereby providing a group of units that comprises multiple sets of units; wherein each set of units comprises a set of data units and at least one associated set parity unit; wherein the at least one associated set parity unit facilitates a reconstruction of the set of units when a first number of units of the set of units is lost; and

calculate at least one group parity unit for the group of units; wherein a combination of the at least one group parity unit and at least one associated set parity unit of a set of units of the multiple sets of units facilitate a reconstruction of the set of units upon a failure of a second number of units of the set of units;

wherein the storage system controller is arranged to destage the group of units and the at least one group parity units to multiple disks of the storage system;

wherein the failure recovery unit is further arranged to:

receive an indication of at least one failed disk of the multiple disks;

search for an affected set of units, wherein the affected set of units comprises at least one lost unit that was stored in a failed disk of the at least one failed disk of the multiple disks; and

reconstruct the affected set of units in response to a number of lost units of the affected set of units.

16. The failure recovery system according to claim 15 wherein the at least one group parity units comprises (N2-1) group parity units and wherein N2 equals the second number of units of the set of units.

17. The failure recovery system according to claim 15 wherein a reconstruction of the affected set of units comprises using at least one of (a) any non-lost set parity unit of the affected set of units and (b) any non-lost group parity unit.

18. The failure recovery system according to claim 15 wherein a reconstruction of the affected set of units comprises processing either one of (a) all non-lost units of the affected set of units and (b) all non-lost units of the group of units.

19. The failure recovery system according to claim 15 wherein the failure recovery unit is arranged to:

reconstruct the affected set of units using any non-lost set parity unit of the affected set of units if a number of lost units of the affected set of units does not exceed the first number of units of the set of units; and

reconstruct the affected set of units using any non-lost group parity unit and any non-lost set parity unit associated with the affected set of units if the number of lost units of the affected set of units exceeds the first number of units of the set of units and does not exceed the second number of units of the set of units.

20. The failure recovery system according to claim 15 wherein the failure recovery unit is arranged to:

reconstruct the affected set of units by processing all non-lost units of the affected set of units if a number of lost units of the affected set of units does not exceed the first number of units of the set of units; and

reconstruct the affected set of units by processing all non-lost units of the group of units if the number of lost units of the affected set of units exceeds the first number of units of the set of units and does not exceed the second number of units of the set of units.

21. The failure recovery system according to claim 15 wherein the destaging comprises storing up to a single unit of the group of units per disk.

22. A method for disk failure protection, the method comprises:

calculating multiple layers of parity units for multiple layers of data units; wherein each layer of parity units and an associated layer of data units form a failure protection layer;

wherein different layers of parity units exhibit different protection levels thereby protect, in conjunction with parity units of lower layers affected by a failure, against different numbers of failed data units;

wherein data units of a certain layer of data units that is associated with a certain protection level are included in each layer of data units that is associated with a protection level that is higher than the certain protection level;

destaging the multiple layers of parity units and of the multiple layers of data units to multiple disks of a storage system;

receiving an indication of at least one failed disk of the multiple disks;

searching for affected failure protection layers, wherein an affected failure protection layer comprises at least one lost unit that was stored in a failed disk of the multiple disks;

and

reconstructing each affected failure protection layer in response to a number of lost units of the affected failure protection layer;

wherein the reconstructing comprises using at least one layer of parity units.

23. The method according to claim 22 , comprising selecting a selected layer of parity units to be used for reconstructing the affected failure protection layer in response to the number of lost units of the affected failure protection layers.

24. The method according to claim 23 , wherein the selected layer of parity units has a lowest protection level out of protection levels of all layers of parity units that facilitate a reconstruction of the number of lost units of the affected failure protection layer.

25. The method according to claim 22 comprising searching among the affected failure protection layers for affected failure protection layers of a lowest protection level.

Assignments (10)
SECURITY INTEREST Recorded Jan 30, 2025
From: INFINIDAT LTD
To: KREOS CAPITAL VII AGGREGATOR SCSP,
Reel/Frame 070056/0458 →
RELEASE OF SECURITY INTEREST IN IP RECORDED AT R/F 55653/0854 Recorded Jan 18, 2024
From: SILICON VALLEY BANK
To: INFINIDAT LTD.
Reel/Frame 066344/0064 →
SECURITY INTEREST Recorded Jan 11, 2024
From: INFINIDAT LTD
To: KREOS CAPITAL VI (EXPERT FUND) L.P.; KREOS CAPITAL 2020 OPPORTUNITY L.P.
Reel/Frame 066270/0359 →
SECURITY INTEREST Recorded Jan 10, 2024
From: INFINIDAT LTD
To: HSBC BANK PLC
Reel/Frame 066268/0584 →
RELEASE OF SECURITY INTEREST Recorded Mar 30, 2021
From: BANK LEUMI LE-ISRAEL B.M.
To: INFINIDAT LTD.
Reel/Frame 055776/0526 →
RELEASE OF SECURITY INTEREST Recorded Mar 30, 2021
From: BANK LEUMI LE-ISRAEL B.M.
To: INFINIDAT LTD.
Reel/Frame 055776/0597 →
SECURITY INTEREST Recorded Mar 18, 2021
From: INFINIDAT LTD.
To: SILICON VALLEY BANK
Reel/Frame 055653/0854 →
SECURITY INTEREST Recorded Apr 12, 2018
From: INFINIDAT LTD.
To: BANK LEUMI LE-ISRAEL B.M.
Reel/Frame 045914/0276 →
LIEN Recorded Jul 18, 2016
From: INFINIDAT LTD.
To: BANK LEUMI LE-ISRAEL B.M.
Reel/Frame 039361/0161 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 18, 2014
From: YOCHAI, YECHIEL; BEN TSION, IDO
To: INFINIDAT LTD.
Reel/Frame 032919/0371 →
Continuity (1)
Related Publication 20150227422A1 · Aug 13, 2015