-
公开(公告)号: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.
-
公开(公告)号:US12079083B2
公开(公告)日:2024-09-03
申请号:US18175143
申请日:2023-02-27
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 , G06F11/07 , G06F16/00 , H04L47/72 , H04L67/1097 , H04L67/62 , G06F9/50 , H04L47/28
CPC classification number: G06F11/1076 , G06F3/061 , G06F3/0635 , G06F3/0659 , G06F3/067 , G06F11/0709 , G06F11/0727 , G06F11/0775 , G06F16/00 , H04L47/72 , H04L67/1097 , H04L67/62 , G06F9/50 , G06F9/5005 , G06F9/5077 , G06F2211/1004 , G06F2211/1028 , H04L47/28
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, via 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 the first subset is missing at least one missing encoded data slice that was not received from the at least one storage unit in response to the at least one read request 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 generated from a second subset of the set of encoded data slices that includes the at least one missing encoded data slice; 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.
-
公开(公告)号:US20240094906A1
公开(公告)日:2024-03-21
申请号:US18520681
申请日:2023-11-28
Applicant: Pure Storage, Inc.
Inventor: Gary W. Grube , Timothy W. Markison , Jason K. Resch
IPC: G06F3/06 , G06F11/10 , G06F11/30 , G06F16/182 , G06F16/23 , G06F21/62 , H04L67/1097
CPC classification number: G06F3/0605 , G06F3/0619 , G06F3/0644 , G06F3/0659 , G06F3/067 , G06F11/1076 , G06F11/3006 , G06F11/3034 , G06F16/182 , G06F16/2358 , G06F16/2365 , G06F21/62 , H04L67/1097 , G06F2201/81 , H03M13/1515
Abstract: A method for execution by one or more computing devices of a storage network includes generating an audit record data file regarding the execution of a data access request associated with a transaction within the storage network, where the transaction is associated with encoded data slices. The method continues with generating an audit object data log that includes at least the audit record data file and storing the audit object data log in at least one memory of the storage network. The method continues retrieving, from the at least one memory, the audit record data file of the audit object data log based on the information associated with the transaction. The method continues auditing the transaction for storage network operational compliance based on at least the audit record data file.
-
公开(公告)号:US20240078154A1
公开(公告)日:2024-03-07
申请号: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
CPC classification number: G06F11/1076 , G06F3/0619 , G06F3/064 , G06F3/067
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.
-
公开(公告)号:US20230359570A1
公开(公告)日:2023-11-09
申请号:US18218780
申请日:2023-07-06
Applicant: Pure Storage, Inc.
Inventor: Gary W. Grube , Timothy W. Markison
IPC: H04L9/32 , H04L9/14 , H04L67/306 , H04L67/1097 , H04L9/40 , G06F12/14 , H04L67/06 , G06F11/10 , H04L9/08
CPC classification number: G06F12/1408 , G06F11/1004 , G06F11/1076 , H04L9/085 , H04L9/0894 , H04L9/14 , H04L9/3239 , H04L9/3263 , H04L63/061 , H04L67/06 , H04L67/1097 , H04L67/306 , H04L1/0045
Abstract: A method for execution by a computing device of a storage network includes appending at least a decode threshold number of encoded key slices of a set of encoded key slices to at least some encrypted data segments of a plurality of encrypted data segments to produce secure packages. The method further includes error encoding, in accordance with error encoding parameters, the secure packages to produce sets of encoded data slices, where a first secure package of the secure packages is dispersed storage error encoded using an error encoding function of the error encoding parameters to produce a first set of encoded data slices of the sets of encoded data slices. The method further includes outputting the sets of encoded data slices for storage in memory of the storage network.
-
公开(公告)号:US20230351062A1
公开(公告)日:2023-11-02
申请号:US18218705
申请日:2023-07-06
Applicant: Pure Storage, Inc.
Inventor: S. Christopher Gladwin , Chuck Wilson Templeton , Jason K. Resch , Gary W. Grube
IPC: G06F21/85 , G06F21/72 , G06F21/80 , H04L9/32 , H04N21/222 , H04N21/2347 , H04N21/845 , H04L67/1097 , H04W12/033 , G06F3/06 , G06F11/10
CPC classification number: G06F21/85 , G06F21/72 , G06F21/80 , H04L9/3242 , H04N21/222 , H04N21/2347 , H04N21/8456 , H04L67/1097 , H04W12/033 , G06F3/0619 , G06F3/0647 , G06F3/067 , G06F11/1076 , G06F2211/1028 , H04L65/764
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.
-
公开(公告)号:US11789631B2
公开(公告)日:2023-10-17
申请号:US17834254
申请日:2022-06-07
Applicant: Pure Storage, Inc.
Inventor: Renars W. Narubin , Jason K. Resch , Gary W. Grube
CPC classification number: G06F3/0646 , G06F3/0604 , G06F3/064 , G06F3/067 , G06F11/1435
Abstract: A method includes receiving data for storage and encoding the 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 metadata storage tree is stored via a first plurality of memory devices of a first memory type. The data slice is stored in a slice storage location in a second plurality of memory devices of a second memory type. The slice storage location is indicated by the metadata. The first memory type has a higher performance level than the second memory type based on a utilization approach.
-
公开(公告)号:US11714719B2
公开(公告)日:2023-08-01
申请号:US17937365
申请日:2022-09-30
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 , H03M13/29 , H03M13/09 , G06F21/00 , G06F21/62 , G06F12/14 , H04L67/1097 , H03M13/37
CPC classification number: G06F11/1076 , G06F3/06 , G06F3/061 , G06F3/064 , G06F3/067 , G06F3/0619 , G06F3/0635 , G06F3/0659 , G06F12/1458 , G06F21/00 , G06F21/6218 , H03M13/2903 , G06F12/1483 , G06F2211/1028 , H03M13/09 , H03M13/3761 , H04L67/1097
Abstract: Apparatus for tiered storage of data in a storage network. In an example of operation, a computing device receives a data object for storage and forwards the data object for storage in a first plurality of memory devices of a first memory type. The computing device determines a system level storage efficiency for the data object based, at least in part, on a data attribute associated with the data object. The computing device further selects, based at least in part on the system level storage efficiency preference, a second plurality of memory devices comprised of a second memory type. The computing device determines error encoding parameters based on the second plurality of memory devices, retrieves the data object from the first plurality of memory devices, and encodes the data object with the error encoding parameters to generate a plurality of encoded data slices for storage in the second plurality of memory devices.
-
公开(公告)号:US20230091301A1
公开(公告)日:2023-03-23
申请号:US18059833
申请日:2022-11-29
Applicant: Pure Storage, Inc.
Inventor: Gary W. Grube , Timothy W. Markison , Sebastien Vas , Zachary J. Mark , Jason K. Resch
Abstract: A method includes determining a plurality of identifiers based on a data retrieval request. Integrity information is generated based on determining the plurality of identifiers. Stored integrity information corresponding to the data retrieval request is compared with the integrity information. When the stored integrity information compares unfavorably with the integrity information, corruption associated with the plurality of identifiers is determined.
-
-
-
-
-
-
-
-
-