US 11,886,295 B2
Intra-block error correction
Ethan Miller, Santa Cruz, CA (US); John Colgrove, Los Altos, CA (US); and Yuhong Mao, Fremont, CA (US)
Assigned to PURE STORAGE, INC., Santa Clara, CA (US)
Filed by PURE STORAGE, INC., Mountain View, CA (US)
Filed on Jan. 31, 2022, as Appl. No. 17/589,747.
Prior Publication US 2023/0244568 A1, Aug. 3, 2023
Int. Cl. G06F 11/00 (2006.01); G06F 11/10 (2006.01); G06F 11/07 (2006.01)
CPC G06F 11/1088 (2013.01) [G06F 11/076 (2013.01); G06F 11/0772 (2013.01); G06F 11/1096 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system comprising:
a plurality of storage devices; and
a storage controller comprising a processing device operatively coupled to the plurality of storage devices, the processing device configured to:
determine that two parity shards of an N+2 erasure coded stripe stored at two of the plurality of storage devices differ from expected values of the two parity shards calculated from remaining data shards of the N+2 erasure coded stripe;
determine that a stored value for a particular data shard of the remaining data shards differs from an expected value for the particular data shard calculated using erasure codes from other remaining data shards of the remaining data shards and a first parity shard of the two parity shards; and
utilize the expected value for the particular data shard calculated using the erasure code as a corrected value for the particular data shard.