US 11,809,274 B2
Recovery from partial device error in data storage system
Doron Tal, Geva Carmel (IL); Yoav Peled, Tel Aviv (IL); Itay Keller, Tel Aviv (IL); Asaf Porath, Tel Aviv (IL); and Neta Peleg, Modiin (IL)
Assigned to EMC IP Holding Company LLC, Hopkinton, MA (US)
Filed by EMC IP Holding Company LLC, Hopkinton, MA (US)
Filed on Apr. 21, 2021, as Appl. No. 17/236,256.
Prior Publication US 2022/0342758 A1, Oct. 27, 2022
Int. Cl. G06F 11/00 (2006.01); G06F 11/10 (2006.01); G06F 11/14 (2006.01); G06F 3/06 (2006.01); G06F 11/07 (2006.01)
CPC G06F 11/1092 (2013.01) [G06F 3/067 (2013.01); G06F 3/0619 (2013.01); G06F 3/0644 (2013.01); G06F 11/0772 (2013.01); G06F 11/1435 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method, comprising:
managing, by a storage control system, a storage array comprising a plurality of individual hardware storage devices, wherein each individual hardware storage device is configured to store data and comprises storage capacity, wherein at least a portion of the storage capacity of at least one individual hardware storage device of the storage array is logically partitioned into segments of equal size;
grouping, by the storage control system, at least some of the segments of the at least one individual hardware storage device of the storage array into a segment group, wherein each segment of the segment group is configured to store one or more data items and associated metadata items;
generating, by the storage control system, a parity data segment based on the segments of the segment group of the at least one individual hardware storage device;
persistently storing, by the storage control system, the parity data segment in association with the segment group; and
in response to detecting, by the storage control system, a partial storage device error resulting from a corrupted segment of the segment group of the at least one individual hardware storage device, utilizing the parity data segment and non-corrupted segments of the segment group of the at least one individual hardware storage device to recover at least one missing data item of the corrupted segment and storing at least one recovered data item on the at least one individual hardware storage device;
wherein generating the parity data segment based on the segments within the segment group comprises extracting metadata items of all segments of the segment group and computing parity over all the extracted metadata items separate from the data items.