-
公开(公告)号:US20210357290A1
公开(公告)日:2021-11-18
申请号:US17443915
申请日:2021-07-28
Applicant: Pure Storage, Inc.
Inventor: Jason K. Resch , Greg Dhuse , Andrew Baptist
Abstract: A method includes identifying an independent data object of a plurality of independent data objects for retrieval from dispersed storage network (DSN) memory. The method further includes determining a mapping of the plurality of independent data objects into a data matrix, wherein the mapping is in accordance with the dispersed storage error encoding function. The method further includes identifying, based on the mapping, an encoded data slice of the set of encoded data slices corresponding to the independent data object. The method further includes sending a retrieval request to a storage unit of the DSN memory regarding the encoded data slice. When the encoded data slice is received, the method further includes decoding the encoding data slice in accordance with the dispersed storage error encoding function and the mapping to reproduce the independent data object.
-
公开(公告)号:US11101929B1
公开(公告)日:2021-08-24
申请号:US16789139
申请日:2020-02-12
Applicant: Pure Storage, Inc.
Inventor: S. Christopher Gladwin , Timothy W. Markison , Greg Dhuse , Thomas Franklin Shirley, Jr. , Wesley Leggette , Jason K. Resch , Gary W. Grube
IPC: G06F15/16 , H04L1/00 , G06F3/06 , G06F11/10 , G06F11/20 , H04L29/08 , H03M13/05 , H04L29/14 , H03M13/00
Abstract: A method for execution by a computing device includes, receiving, from a requesting device, a request for a data segment of a data object that is or is to be stored in storage units of a content delivery network. The method further includes determining whether the data segment is stored in a cache memory of the content delivery network or in the storage units. When stored in the cache memory, the method includes retrieving the cached data segment, and sending it to the requesting device. When stored in the storage units, the method includes, sending read requests regarding the data segment to the storage units, receiving, in response to the read requests, at least a decode threshold number of encoded data slices, decoding the at least the decode threshold number of encoded data slices to reproduce the data segment, and sending the data segment to the requesting device.
-
103.
公开(公告)号:US11070318B1
公开(公告)日:2021-07-20
申请号:US16860302
申请日:2020-04-28
Applicant: Pure Storage, Inc.
Inventor: S. Christopher Gladwin , Greg R. Dhuse , Timothy W. Markison , Wesley B. Leggette , Jason K. Resch , Gary W. Grube
IPC: H04L1/00 , G06F11/20 , G06F11/10 , H04L29/08 , G06F3/06 , H03M13/05 , H03M13/00 , H03M13/37 , H03M13/15 , H04L29/14
Abstract: A method begins with a first group of computing devices of a plurality of computing devices of a storage network receiving data objects having a first data type identifier of a plurality of data type identifiers, where the plurality of data type identifiers correspond to a plurality of data types associated with the data objects. The method continues with the first group of computing devices interpreting the data objects having the first data type identifier to sort, based on sorting criteria the data objects into a first processing category and a second processing category. The method continues with the first group of computing devices error encoding the data objects in the second processing category based on short term storage error encoding parameters to produce pluralities of sets of encoded data slices and sending the slices to storage and execution units.
-
公开(公告)号:US10944712B1
公开(公告)日:2021-03-09
申请号:US16861559
申请日:2020-04-29
Applicant: Pure Storage, Inc.
Inventor: Wesley B. Leggette , Andrew D. Baptist , Greg R. Dhuse , Jason K. Resch , Ilya Volvovski , Manish Motwani , S. Christopher Gladwin , Gary W. Grube , Thomas F. Shirley, Jr.
Abstract: A method for processing partial tasks in a distributed storage network (DSN) includes receiving a partial task request message for a DS execution unit, where the partial task request message includes corresponding partial tasks. The method continues by processing each partial task request message in accordance with the processing parameters to produce task request slice groupings, generating slices, such that each message is directed at a corresponding DS execution unit, and the sending the slice groupings and the task request slice groupings to the selected DS execution units for storage therein. The method continues by retrieving at least a decode threshold number of task response slices of one or more task response slice groupings from the DS execution units, decoding the task response slices, retrieving at least a decode threshold number of partial result slices, and decoding the partial results slices and processing the partial results to produce a result.
-
公开(公告)号:US10922198B1
公开(公告)日:2021-02-16
申请号:US16530155
申请日:2019-08-02
Applicant: Pure Storage, Inc.
Inventor: Ilir Iljazi , Jason K. Resch
Abstract: A method for execution by a dispersed storage and task (DST) execution unit identifying a failing memory device based on memory device diagnostic data. A cloning task is executed by designating memory of a replacement memory device to store encoded slices stored in the failing memory device, where the cloning task is executed over a cloning duration time period. A write request is received via a network at a receiving time during the cloning duration time period that includes a new encoded slice, and the new encoded slice is assigned to a temporary memory device for storage based on an identifier of the new encoded. The new encoded slice is transferred from the temporary memory device to the replacement memory device in response to an elapsing of the cloning duration time period corresponding to completion of the execution of the cloning task.
-
公开(公告)号:US10860424B1
公开(公告)日:2020-12-08
申请号:US16924708
申请日:2020-07-09
Applicant: Pure Storage, Inc.
Inventor: Greg Dhuse , Andrew Baptist , Zachary J. Mark , Jason K. Resch , Ilya Volvovski
Abstract: A method for execution by one or more processing modules of a storage network (SN) begins with the one or more processing modules scanning a storage node of the SN at a predetermined interval to determine whether an erasure encoded data slice (EEDS) of a set of erasure encoded data slices (EEDSs) is corrupt, where the set of erasure encoded data slices (EEDSs) is generated from object data using an erasure error encoding dispersal function. The method continues with the one or more processing modules determining that an EEDS is corrupt and in response, rebuilding the EEDS in place in the storage node.
-
107.
公开(公告)号:US20250165640A1
公开(公告)日:2025-05-22
申请号:US19029011
申请日:2025-01-17
Applicant: Pure Storage, Inc.
Inventor: Greg R. Dhuse , Andrew D. Baptist , Ilya Volvovski , Ethan S. Wozniak , Jason K. Resch
IPC: G06F21/62 , G06F3/06 , G06F11/10 , G06F21/55 , G06F21/64 , H04L9/08 , H04L9/40 , H04L67/1097 , H04W12/082 , H04W12/65
Abstract: A method for execution by a storage network begins by receiving a data object for storage, segmenting the data according to a data segmenting protocol to generate a set of data segments and executing a deterministic function on the set of data segments to generate scoring information for respective data segments of the set of data segments. The method continues by comparing the scoring information for a respective data segment to scoring information for previously stored data segments in the storage network and based on the comparison, facilitating storage of a first portion of the set of data segments and not storing a second portion of the set of data segments.
-
公开(公告)号:US20250165174A1
公开(公告)日:2025-05-22
申请号:US19018408
申请日:2025-01-13
Applicant: Pure Storage, Inc.
Inventor: Ethan S. Wozniak , Andrew D. Baptist , Greg R. Dhuse , Ilya Volvovski , Jason K. Resch , Ravi V. Khadiwala , Wesley B. Leggette
IPC: G06F3/06
Abstract: A processing system is operable to encode data to produce a first set of data slices based on a value of a width parameter. The data is stored based on maintaining storage of the first set of data slices across a set of storage units of a storage pool. Storage of the first set of data slices is maintained in the set of storage units of the storage pool after addition of an additional set of storage units added to the storage pool. The value of the width parameter is increased to an increased value to produce an updated width parameter. The data is re-encoded in accordance with the updated width parameter to produce a second set of data slices. The data is re-stored based on maintaining storage of the second set of data slices across the expanded set of storage units of the storage pool.
-
公开(公告)号:US20250147684A1
公开(公告)日:2025-05-08
申请号:US19013498
申请日:2025-01-08
Applicant: Pure Storage, Inc.
Inventor: Renars W. Narubin , Jason K. Resch , Gary W. Grube
Abstract: A method includes error encoding data to produce a plurality of data slices. Metadata is determined for a data slice of the plurality of data slices. The metadata is stored in a metadata storage tree. The data slice is stored in a slice storage location indicated by the metadata. Based on determining to access the data slice, the metadata for the data slice is accessed in the metadata storage tree to determine the slice storage location for the data slice, and the data slice is accessed in the slice storage location based on determining the slice storage location for the data slice via accessing the metadata storage tree.
-
公开(公告)号:US20250110831A1
公开(公告)日:2025-04-03
申请号:US18980187
申请日:2024-12-13
Applicant: Pure Storage, Inc.
Inventor: Gary W. Grube , Timothy W. Markison , S. Christopher Gladwin , Greg R. Dhuse , Andrew D. Baptist , Ilya Volvovski , Jason K. Resch
Abstract: A computing device of a storage network, the computing device including memory, an interface, and at least one processing module operably coupled to the memory and the interface, where the at least one processing module is operable to error encode a data segment in accordance with error encoding parameters to produce a set of encoded data slices. The at least one processing module also sends via the interface, a first subset of encoded data slices of the set of encoded data slices via a first routing path of a plurality of routing paths to a set of storage units, where the first routing path has a performance level greater than a first performance threshold, and sends, via the interface, a second subset of encoded data slices of the set of encoded data slices via a second routing path of the plurality of routing paths to the set of storage units.
-
-
-
-
-
-
-
-
-