US 11,755,413 B2
Utilizing integrity information to determine corruption in a vast storage system
Gary W. Grube, Barrington Hills, IL (US); Timothy W. Markison, Mesa, AZ (US); Sebastien Vas, Sunnyvale, CA (US); Zachary J. Mark, Chicago, IL (US); and Jason K. Resch, Warwick, RI (US)
Assigned to Pure Storage, Inc., Santa Clara, CA (US)
Filed by Pure Storage, Inc., Mountain View, CA (US)
Filed on Nov. 29, 2022, as Appl. No. 18/59,833.
Application 17/743,717 is a division of application No. 17/362,251, filed on Jun. 29, 2021, granted, now 11,340,988, issued on May 24, 2022.
Application 18/059,833 is a continuation of application No. 17/743,717, filed on May 13, 2022, granted, now 11,544,146.
Application 17/362,251 is a continuation of application No. 17/023,971, filed on Sep. 17, 2020, granted, now 11,080,138, issued on Aug. 3, 2021.
Application 17/023,971 is a continuation in part of application No. 16/390,530, filed on Apr. 22, 2019, granted, now 11,194,662, issued on Dec. 7, 2021.
Application 17/023,971 is a continuation in part of application No. 16/137,681, filed on Sep. 21, 2018, granted, now 10,866,754, issued on Dec. 15, 2020.
Application 16/137,681 is a continuation in part of application No. 14/454,013, filed on Aug. 7, 2014, granted, now 10,154,034, issued on Dec. 11, 2018.
Application 16/390,530 is a continuation of application No. 14/447,890, filed on Jul. 31, 2014, granted, now 10,360,180, issued on Jul. 23, 2019.
Application 14/447,890 is a continuation of application No. 13/154,725, filed on Jun. 7, 2011, granted, now 10,289,688, issued on May 14, 2019.
Application 14/454,013 is a continuation in part of application No. 13/021,552, filed on Feb. 4, 2011, granted, now 9,063,881, issued on Jun. 23, 2015.
Application 13/021,552 is a continuation in part of application No. 12/749,592, filed on Mar. 30, 2010, granted, now 8,938,591, issued on Jan. 20, 2015.
Application 12/749,592 is a continuation in part of application No. 12/218,594, filed on Jul. 16, 2008, granted, now 7,962,641, issued on Jun. 14, 2011.
Application 12/218,594 is a continuation in part of application No. 12/218,200, filed on Jul. 14, 2008, granted, now 8,209,363, issued on Jun. 26, 2012.
Application 12/218,200 is a continuation in part of application No. 12/080,042, filed on Mar. 31, 2008, granted, now 8,880,799, issued on Nov. 4, 2014.
Application 12/080,042 is a continuation in part of application No. 11/973,613, filed on Oct. 9, 2007, granted, now 8,285,878, issued on Oct. 9, 2012.
Application 11/973,613 is a continuation in part of application No. 11/973,621, filed on Oct. 9, 2007, granted, now 7,904,475, issued on Mar. 8, 2011.
Application 11/973,621 is a continuation in part of application No. 11/973,622, filed on Oct. 9, 2007, granted, now 8,171,101, issued on May 1, 2012.
Application 11/973,622 is a continuation in part of application No. 11/973,542, filed on Oct. 9, 2007, granted, now 9,996,413, issued on Jun. 12, 2018.
Application 11/973,542 is a continuation in part of application No. 11/403,684, filed on Apr. 13, 2006, granted, now 7,574,570, issued on Aug. 11, 2009.
Application 11/403,684 is a continuation in part of application No. 11/403,391, filed on Apr. 13, 2006, granted, now 7,546,427, issued on Jun. 9, 2009.
Application 11/403,391 is a continuation in part of application No. 11/404,071, filed on Apr. 13, 2006, granted, now 7,574,579, issued on Aug. 11, 2009.
Application 11/404,071 is a continuation in part of application No. 11/241,555, filed on Sep. 30, 2005, granted, now 7,953,937, issued on May 31, 2011.
Claims priority of provisional application 61/357,430, filed on Jun. 22, 2010.
Claims priority of provisional application 61/327,921, filed on Apr. 26, 2010.
Claims priority of provisional application 61/237,624, filed on Aug. 27, 2009.
Prior Publication US 2023/0091301 A1, Mar. 23, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. H03M 13/00 (2006.01); G06F 11/10 (2006.01); G06F 3/06 (2006.01)
CPC G06F 11/1076 (2013.01) [G06F 3/067 (2013.01); G06F 3/0619 (2013.01); G06F 3/0653 (2013.01); G06F 3/0689 (2013.01); G06F 11/1004 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method comprises:
determining a plurality of identifiers based on a data retrieval request;
generating integrity information based on determining the plurality of identifiers;
comparing stored integrity information corresponding to the data retrieval request with the integrity information; and
when the stored integrity information compares unfavorably with the integrity information, determining corruption associated with the plurality of identifiers.