-
公开(公告)号:US12204783B2
公开(公告)日:2025-01-21
申请号:US18481395
申请日:2023-10-05
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.
-
公开(公告)号: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.
-
公开(公告)号:US20240411939A1
公开(公告)日:2024-12-12
申请号:US18808433
申请日:2024-08-19
Applicant: Pure Storage, Inc.
Inventor: S. Christopher Gladwin , Chuck Wilson Templeton , Jason K. Resch , Gary W. Grube
IPC: G06F21/85 , G06F3/06 , G06F11/10 , G06F21/72 , G06F21/80 , H04L9/32 , H04L65/75 , H04L67/1097 , H04N21/222 , H04N21/2347 , H04N21/845 , H04W12/02 , H04W12/033
Abstract: A method for execution by one or more computing devices of a storage network, the method includes de-selecting a sequence of input encoded data slices based on de-selection information to produce deselected encoded data slices of a set of encoded data slices, where the input encoded data slices include a set of encoded data slices interspersed with a set of auxiliary data slices. The method further includes error decoding at least a decode threshold number of encoded data slices of the deselected encoded data slices in accordance with error decoding parameters to reproduce a data segment. The method further includes outputting the data segment to a requesting computing device of the storage network.
-
公开(公告)号: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.
-
公开(公告)号:US12079380B2
公开(公告)日:2024-09-03
申请号:US18218705
申请日:2023-07-06
Applicant: Pure Storage, Inc.
Inventor: S. Christopher Gladwin , Chuck Wilson Templeton , Jason K. Resch , Gary W. Grube
IPC: G06F21/85 , G06F3/06 , G06F11/10 , G06F21/72 , G06F21/80 , H04L9/32 , H04L65/60 , H04L65/75 , H04L67/1097 , H04N21/222 , H04N21/2347 , H04N21/845 , H04W12/02 , H04W12/033
CPC classification number: G06F21/85 , G06F3/0619 , G06F3/0647 , G06F3/067 , G06F11/1076 , G06F21/72 , G06F21/80 , H04L9/3242 , H04L67/1097 , H04N21/222 , H04N21/2347 , H04N21/8456 , H04W12/033 , G06F11/1008 , G06F2211/1028 , G06F2221/2107 , H04L65/764 , H04W12/02
Abstract: A method includes obtaining input encoded data slices from memory of the storage network, where the input encoded data slices include a set of encoded data slices interspersed with a set of auxiliary data slices, where a data segment was error encoded into the set of encoded data slices, and where auxiliary data was error encoded into the set of auxiliary data slices. The method further includes obtaining de-selection information associated with the input encoded data slices and de-selecting the sequence of input encoded data slices based on the de-selection information to produce deselected encoded data slices. The method further includes error decoding at least a decode threshold number of encoded data slices of the deselected encoded data slices in accordance with error decoding parameters to reproduce the data segment. The method further includes outputting the data segment to a requesting computing device of the storage network.
-
公开(公告)号: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.
-
39.
公开(公告)号:US11818089B1
公开(公告)日:2023-11-14
申请号:US17184193
申请日:2021-02-24
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.
CPC classification number: H04L51/42 , G06F9/4881 , G06F9/5083
Abstract: A method for execution in a storage network includes receiving a request pertaining to a data object, where the request is related to a specified contiguous data range within the data object and the data object is dispersed error encoded to produce a plurality of groups of encoded data slices. The method continues by converting the request into a plurality of partial requests, where each partial request of the plurality of partial requests includes at least one partial task and transmitting each partial request of the plurality of partial requests to a storage unit of a set of storage units. The method then continues by determining when a partial request response has been received for each partial request of the plurality of partial requests and when a partial request response has been received for each partial request of the plurality of partial requests, transmitting an indication that the request pertaining to the data object has been successfully executed.
-
公开(公告)号: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.
-
-
-
-
-
-
-
-
-