-
21.
公开(公告)号: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.
-
公开(公告)号:US10956292B1
公开(公告)日:2021-03-23
申请号:US17023868
申请日:2020-09-17
Applicant: Pure Storage, Inc.
Inventor: Gary W. Grube , Timothy W. Markison
Abstract: A method includes receiving a data retrieval request. A plurality of identifiers are determined in accordance with the data retrieval request. Stored integrity information corresponding to the data retrieval request is received. Desired integrity information is generated based on the plurality of identifiers. The stored integrity information is compared with the desired integrity information. When the stored integrity information compares favorably with the desired integrity information, at least a decode threshold number of encoded data slices of a set of encoded data slices of a plurality of sets of encoded data slices are dispersed storage error decoded.
-
公开(公告)号:US12181969B2
公开(公告)日:2024-12-31
申请号:US18499319
申请日:2023-11-01
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 method for execution by one or more computing devices includes selecting a first routing path from a plurality of routing paths to a set of storage units based on routing path performance information, where the first routing path has a performance level greater than a first performance threshold. The method further includes selecting a second routing path from the plurality of routing paths based on the routing path performance information, where the second routing path has a performance level less than or equal to the first performance threshold. The method further includes sending a first subset of encoded data slices to the set of storage units via the first routing path for storage therein. The method further includes sending a second subset of encoded data slices to the set of storage units via the second routing path for storage therein.
-
公开(公告)号:US20240411643A1
公开(公告)日:2024-12-12
申请号:US18809965
申请日:2024-08-20
Applicant: Pure Storage, Inc.
Inventor: Ilya Volvovski , Bruno H. Cabral , Manish Motwani , Thomas D. Cocagne , Timothy W. Markison , Gary W. Grube , Wesley B. Leggette , Jason K. Resch , Michael C. Storm , Greg R. Dhuse , Yogesh R. Vedpathak , Ravi V. Khadiwala
IPC: G06F11/10 , G06F3/06 , G06F9/50 , G06F11/07 , G06F16/00 , H04L47/28 , H04L47/72 , H04L67/1097 , H04L67/62
Abstract: A processing system of a storage network operates by: sending, to at least one storage unit of the storage network, at least one read request corresponding to at least a read threshold number of a set of encoded data slices to be retrieved, wherein the set of encoded data slices correspond to data, wherein the data is coded in accordance with dispersed error coding parameters that include a write threshold number and the read threshold number, wherein the write threshold number is a number of encoded data slices in the set of encoded data slices and wherein the read threshold number is a number of the set of encoded data slices that is required to decode the data; receiving, at the at least one processing circuit and from the at least one storage unit, a first subset of the set of encoded data slices, wherein at least one missing encoded data slice was not included in the first subset and wherein a number of encoded data slices in the first subset is less than the read threshold number; generating, via the at least one processing circuit, at least one rebuilt encoded data slice corresponding to the at least one missing encoded data slice utilizing locally decodable redundancy data, wherein the locally decodable redundancy data corresponds to a second subset of the set of encoded data slices that includes the at least one missing encoded data slice and wherein the locally decodable redundancy data is stored locally to the processing circuit; and recovering, via the at least one processing circuit, the data based on the at least one rebuilt encoded data slice and the first subset.
-
公开(公告)号:US12143373B2
公开(公告)日:2024-11-12
申请号:US17380227
申请日:2021-07-20
Applicant: Pure Storage, Inc.
Inventor: Ilya Volvovski , S. Christopher Gladwin , Gary W. Grube , Timothy W. Markison , Jason K. Resch , Thomas Franklin Shirley, Jr. , Greg Dhuse , Manish Motwani , Andrew Baptist , Wesley Leggette
Abstract: A data segment is encrypted to produce an encrypted data segment, and a data tag associated with the data segment is generated. The encrypted data segment is encoded to generate a set of encoded data slices. At least a read-threshold number of encoded data slices are required to reconstruct the encrypted data segment. A set of write slice requests, which includes the set of encoded data slices and the data tag, is transmitted to a DSN memory. A determination is made, based on the data tag, whether a first encoded data slice of the set of encoded data slices is a duplicate of a second encoded data slice already stored within the DSN memory. If it is a duplicate, rather of storing the first encoded data slice, a reference to a location of the second encoded data slice is stored.
-
公开(公告)号:US20240303160A1
公开(公告)日:2024-09-12
申请号:US18665616
申请日:2024-05-16
Applicant: Pure Storage, Inc.
Inventor: S. Christopher Gladwin , Timothy W. Markison , Greg R. Dhuse , Thomas F. Shirley, JR. , Wesley B. Leggette , Jason K. Resch , Gary W. Grube
IPC: G06F11/10 , G06F3/06 , G06F12/14 , G06F21/00 , G06F21/62 , H03M13/09 , H03M13/29 , H03M13/37 , H04L67/1097
CPC classification number: G06F11/1076 , G06F3/06 , G06F3/061 , G06F3/0619 , G06F3/0635 , G06F3/064 , G06F3/0659 , G06F3/067 , G06F12/1458 , G06F21/00 , G06F21/6218 , H03M13/2903 , G06F12/1483 , G06F2211/1028 , H03M13/09 , H03M13/3761 , H04L67/1097
Abstract: Methods and apparatus for preference based selection of storage network memory for data storage. In an example, a computing device receives a data object for storage in memory of the storage network and determines a system level storage efficiency preference associated with the data object. The computing device selects a set of storage nodes of a plurality of sets of storage nodes for storage of the data object based, at least in part, on the system level storage efficiency preference. The computing device further determines dispersed storage error encoding parameters for the data object, encodes the data object in accordance with the dispersed storage error encoding parameters to produce encoded data slices, and generates system addressing information for the encoded data slices.
-
公开(公告)号:US11989093B2
公开(公告)日:2024-05-21
申请号:US17806662
申请日:2022-06-13
Applicant: Pure Storage, Inc.
Inventor: S. Christopher Gladwin , Timothy W. Markison , Greg R. Dhuse , Thomas F. Shirley, Jr. , Wesley B. Leggette , Jason K. Resch , Gary W. Grube
IPC: G06F11/00 , G06F3/06 , G06F11/10 , G06F12/14 , G06F21/00 , G06F21/62 , H03M13/29 , H03M13/09 , H03M13/37 , H04L67/1097
CPC classification number: G06F11/1076 , G06F3/06 , G06F3/061 , G06F3/0619 , G06F3/0635 , G06F3/064 , G06F3/0659 , G06F3/067 , G06F12/1458 , G06F21/00 , G06F21/6218 , H03M13/2903 , G06F12/1483 , G06F2211/1028 , H03M13/09 , H03M13/3761 , H04L67/1097
Abstract: Methods and apparatus for selection of memory devices in a distributed storage network. In an example, a computing device receives a data object for storage and selects a set of storage nodes of a plurality of sets of storage nodes for storing the data object. Selection of the set of storage nodes includes determining storage attributes associated with each set of storage nodes of the plurality of sets of storage nodes. Selection of the set of storage nodes additionally includes determining a storage preference associated with the data object, and comparing the storage preference with the storage attributes of the plurality of sets of storage nodes to determine a best match. Following selection of a set of storage nodes, the computing device facilitates storage of the data object in the selected set of storage nodes.
-
公开(公告)号:US11662915B2
公开(公告)日:2023-05-30
申请号:US17356838
申请日:2021-06-24
Applicant: Pure Storage, Inc.
Inventor: Gary W. Grube , Jason K. Resch , Timothy W. Markison , Ilya Volvovski , Manish Motwani
CPC classification number: G06F3/0619 , G06F3/067 , G06F3/0647 , G06F3/0679 , G06F12/0223 , G06F11/1076
Abstract: A method begins by a processing module of a storage network analyzing storage network memory for a level of usability and based on the analyzing, selecting alternative memory available for receipt of encoded data slices stored in current memory, where a data object is segmented into a plurality of data segments and a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce a set of encoded data slices. The method continues with the processing module determining whether to move encoded data slices from current memory to alternative memory and based on a determination to move slices, allocating alternative memory. Finally, the processing module moves at least some encoded data slices from a current memory to alternate memory and updates a memory assignment mechanism for the at least some encoded data slices.
-
公开(公告)号:US11526398B1
公开(公告)日:2022-12-13
申请号:US17249539
申请日:2021-03-04
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 method includes determining, by a computing device of a storage network, a pillar width to decode threshold ratio of a dispersed storage error encoding function based on routing path performance information of a set of routing paths with respect to a set of storage units of the storage network. The method further includes dispersed storage error encoding a data object in accordance with the pillar width to decode threshold ratio to produce a plurality of sets of encoded data slices. The method further includes sending the plurality of sets of encoded data slices to the set of storage units via the set of routing paths for storage therein.
-
公开(公告)号:US20220276923A1
公开(公告)日:2022-09-01
申请号:US17663299
申请日:2022-05-13
Applicant: Pure Storage, Inc.
Inventor: Gary W. Grube , Timothy W. Markison
IPC: G06F11/10 , G06F16/2455 , H03M13/00 , H03M13/11 , H03M13/15 , H03M13/37 , H04L65/70 , H04L65/75
Abstract: A method begins by a processing module concurrently receiving a first data stream and a second data stream for transmission to a receiving entity. The method continues with the processing module dividing each of the first and second data streams to produce a first plurality of data blocks corresponding to the first data stream and a second plurality of data blocks corresponding to the second data stream, where data blocks of the first plurality of data blocks are time aligned with data blocks of the second plurality of data blocks. The method continues with the processing module creating a data matrix from the first and second plurality of data blocks and generating a coded matrix from the data matrix and an encoding matrix. The method continues with the processing module outputting a plurality of pairs of coded values of the coded matrix to the receiving entity.
-
-
-
-
-
-
-
-
-