US 12,008,266 B2
Efficient read by reconstruction
Vincent Wang, Mountain View, CA (US); Mark Fay, Mountain View, CA (US); Jun He, Mountain View, CA (US); Renjie Fan, San Jose, CA (US); and John Colgrove, Los Altos, CA (US)
Assigned to PURE STORAGE, INC., Santa Clara, CA (US)
Filed by PURE STORAGE, INC., Mountain View, CA (US)
Filed on Apr. 19, 2022, as Appl. No. 17/724,149.
Application 17/724,149 is a continuation in part of application No. 17/159,796, filed on Jan. 27, 2021, granted, now 11,614,893.
Application 17/159,796 is a continuation in part of application No. 16/455,705, filed on Jun. 27, 2019, abandoned.
Application 16/455,705 is a continuation of application No. 16/142,690, filed on Sep. 26, 2018, granted, now 10,353,630, issued on Jul. 16, 2019.
Application 16/142,690 is a continuation of application No. 15/418,944, filed on Jan. 30, 2017, granted, now 10,126,982, issued on Nov. 13, 2018.
Application 15/418,944 is a continuation of application No. 15/000,602, filed on Jan. 19, 2016, granted, now 9,569,116, issued on Feb. 14, 2017.
Application 15/000,602 is a continuation of application No. 14/083,163, filed on Nov. 18, 2013, granted, now 9,298,376, issued on Mar. 29, 2016.
Application 14/083,163 is a continuation of application No. 12/882,854, filed on Sep. 15, 2010, granted, now 8,589,655, issued on Nov. 19, 2013.
Prior Publication US 2022/0357891 A1, Nov. 10, 2022
Int. Cl. G06F 3/06 (2006.01); G06F 11/07 (2006.01); G06F 11/10 (2006.01); G06F 11/34 (2006.01); G06F 12/0804 (2016.01); G06F 12/0866 (2016.01); G06F 11/30 (2006.01)
CPC G06F 3/0659 (2013.01) [G06F 3/061 (2013.01); G06F 3/0611 (2013.01); G06F 3/0613 (2013.01); G06F 3/0629 (2013.01); G06F 3/0634 (2013.01); G06F 3/0653 (2013.01); G06F 3/0655 (2013.01); G06F 3/0688 (2013.01); G06F 11/0727 (2013.01); G06F 11/0751 (2013.01); G06F 11/1076 (2013.01); G06F 11/3409 (2013.01); G06F 11/3485 (2013.01); G06F 12/0804 (2013.01); G06F 12/0866 (2013.01); G06F 11/3034 (2013.01); G06F 11/3055 (2013.01); G06F 2212/262 (2013.01); G06F 2212/502 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A storage system comprising:
a plurality of storage devices; and
a storage controller operatively coupled to the storage devices, the storage controller comprising a processing device, the processing device configured to implement steps comprising:
determining an expected read latency for reading data from a primary read location of the plurality of storage devices;
determining an expected reconstruction latency for reconstructing the data using reconstruction data, wherein portions of the reconstruction data are stored at a plurality of alternative read locations of the plurality of storage devices;
reading the portions of the reconstruction data from the plurality of alternative read locations of the plurality of storage devices; and
reconstructing the data stored at the primary read location using the reconstruction data, wherein the expected reconstruction latency is lower than the expected read latency.