US 12,132,783 B2
Storing a data object as data regions in a storage network
Wesley B. Leggette, Chicago, IL (US); Jason K. Resch, Warwick, RI (US); Yogesh R. Vedpathak, Chicago, IL (US); Sebastien Vas, Sunnyvale, CA (US); Eric G. Smith, Chicago, IL (US); and Adam M. Gray, Chicago, IL (US)
Assigned to Pure Storage, Inc., Santa Clara, CA (US)
Filed by Pure Storage, Inc., Mountain View, CA (US)
Filed on Aug. 12, 2022, as Appl. No. 17/819,386.
Application 17/819,386 is a continuation of application No. 16/806,123, filed on Mar. 2, 2020, granted, now 11,418,591.
Application 16/806,123 is a continuation of application No. 15/816,934, filed on Nov. 17, 2017, granted, now 10,587,691, issued on Mar. 10, 2020.
Application 15/816,934 is a continuation in part of application No. 15/216,494, filed on Jul. 21, 2016, granted, now 10,334,046, issued on Jun. 25, 2019.
Application 15/216,494 is a continuation of application No. 14/056,015, filed on Oct. 17, 2013, granted, now 9,521,197, issued on Dec. 13, 2016.
Claims priority of provisional application 61/733,698, filed on Dec. 5, 2012.
Prior Publication US 2022/0394091 A1, Dec. 8, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 67/1097 (2022.01); G06F 3/06 (2006.01); G06F 11/10 (2006.01)
CPC H04L 67/1097 (2013.01) [G06F 3/064 (2013.01); G06F 11/1076 (2013.01); G06F 11/1092 (2013.01); G06F 3/0604 (2013.01); G06F 3/0619 (2013.01); G06F 3/065 (2013.01); G06F 3/067 (2013.01); G06F 2211/1028 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method for execution by a computing device of a storage network, comprising:
receiving a write request for a data object;
determining whether the data object is a very large data object;
determining a plurality of data regions for the data object;
determining storage identification information for each data region of the plurality of data regions;
generating a storage table for the data object that includes information sufficient to identify each data region of the plurality of data regions;
for a first data region of the plurality of data regions:
dividing the first data region into a plurality of data segments;
dispersed error encoding the plurality of data segments to produce a plurality of sets of encoded data slices, wherein dispersed error encoding parameters include data segmenting information, error coding information, and slicing information;
sending a write request for each encoded data slice of each set of encoded data slices of the plurality of sets of encoded data slices to the storage network; and
when at least a write threshold number of write responses is received for each of the plurality of sets of encoded data slices, updating the storage table to indicate that the first data region is available for retrieval.