-
公开(公告)号:US20240394146A1
公开(公告)日:2024-11-28
申请号:US18791544
申请日:2024-08-01
Applicant: Pure Storage, Inc.
Inventor: Greg R. Dhuse , Vance T. Thornton , Jason K. Resch , Ilya Volvovski , Dustin M. Hendrickson , John Quigley
IPC: G06F11/10 , G06F11/07 , G06F11/14 , G06F11/16 , G06F16/13 , G06F21/31 , G06F21/62 , H04L9/32 , H04L9/40 , H04L67/06 , H04L67/1097 , H04W12/041 , H04W12/0431 , H04W12/10 , H04W12/30
Abstract: A processor in a storage network operates by: receiving an access request for a data segment, wherein the data segment is encoded utilizing an error correcting information dispersal algorithm as a set of encoded data slices that are stored in a plurality of storage units of the storage network and wherein each encoded data slice of the set of encoded data slices includes a corresponding checksum of a plurality of checksums; retrieving, from the storage network, a subset of encoded data slices that includes a threshold number of encoded data slices of the set of encoded data slices; determining, based on ones of the plurality of checksums corresponding to the subset of encoded data slices, when the subset of encoded data slices includes at least one corrupted encoded data slice; retrieving from at least one of the plurality of storage units an addition number of encoded data slices required to generate a reconstructed data segment based on the subset of encoded data slices; generating the reconstructed data segment in accordance with the error correcting information dispersal algorithm, using the additional number of encoded data slices and at least some of the subset of encoded data slices; providing the reconstructed data segment in response to the access request; forming a reconstructed set of encoded data slices utilizing the error correcting information dispersal algorithm on the reconstructed data segment; and replacing the at least one corrupted encoded data slice with at least one reconstructed encoded data slice of the reconstructed set of encoded data slices.
-
公开(公告)号:US12120177B2
公开(公告)日:2024-10-15
申请号:US17649257
申请日:2022-01-28
Applicant: Pure Storage, Inc.
Inventor: Thomas D. Cocagne , Jason K. Resch , Greg R. Dhuse
IPC: H04L1/00 , G06F11/10 , H04L67/1097
CPC classification number: H04L67/1097 , G06F11/1092 , G06F2211/1028
Abstract: A computing device includes an interface for communicating with a storage network and is configured to determine a performance level for each set of storage units of a plurality of sets storage units in the storage network, where the performance level includes a number of errors detected during a period of time T. The computing device is further configured to update performance information for the plurality of sets storage units to produce updated performance information for the plurality of sets storage units and determine which sets of storage units of the plurality of sets storage units meet a minimum performance level. The computing device is configured to receive a set of read requests for a set of encoded data slices stored on the plurality of sets storage units and transmit a threshold number of read requests of the set of read requests to a set of storage units that meet the minimum performance level.
-
公开(公告)号:US12093143B2
公开(公告)日:2024-09-17
申请号:US18182236
申请日:2023-03-10
Applicant: Pure Storage, Inc.
Inventor: Adam M. Gray , Greg R. Dhuse , Andrew D. Baptist , Ravi V. Khadiwala , Wesley B. Leggette , Scott M. Horan , Franco V. Borich , Bart R. Cilfone , Daniel J. Scholl
CPC classification number: G06F11/1469 , G06F3/0619 , G06F3/064 , G06F3/067 , G06F11/1092 , G06F11/1464 , G06F11/1474 , G06F11/1612 , G06F16/11 , H04L63/00 , H04L67/1097 , G06F2201/805 , G06F2201/81 , G06F2201/82 , G06F2211/1028 , H04L63/0428
Abstract: A method for execution by a distributed storage network begins by receiving a request to transfer a copy of a set of encoded data slices from at least some associated virtual storage vaults to a destination virtual storage vault and continues by determining whether the destination storage unit supports a source virtual storage vault of the at least some source virtual storage vaults. When the destination storage unit supports the source virtual storage vault the method continues by determining a sub-set of encoded data slices of the set of encoded data slices for transfer and finally, by facilitating sending the sub-set of encoded data slices to the destination storage unit.
-
公开(公告)号: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.
-
公开(公告)号:US12086079B2
公开(公告)日:2024-09-10
申请号:US17930521
申请日:2022-09-08
Applicant: Pure Storage, Inc.
Inventor: Greg R. Dhuse
IPC: G06F13/16 , G06F3/06 , G06F11/10 , G06F12/06 , G06F16/182 , G06F21/62 , G06F21/78 , H04L9/08 , H04L9/32 , H04L9/40 , H04L67/1097
CPC classification number: G06F13/1626 , G06F3/0608 , G06F3/0611 , G06F3/0641 , G06F3/065 , G06F3/067 , G06F11/1076 , G06F12/0607 , G06F13/1663 , G06F16/182 , G06F21/6209 , G06F21/78 , H04L9/0825 , H04L9/3236 , H04L63/101 , G06F2211/1028 , H04L67/1097
Abstract: A storage system operates by generating system messages, in accordance with the system-level message processing parameters, the system messages including status information, performance information and alarms, each having one of a plurality of priorities. The generating includes: generating a first message of the system messages corresponding to a first of the storage nodes based on the system-level message processing parameters, the first message including a first alarm of the alarms having a first message priority of the plurality of priorities; and generating a second message of the system messages corresponding to a second of the storage nodes based on the system-level message processing parameters, the second message including a second alarm of the alarms having a second message priority of the plurality of priorities. Wherein the system further operates by sending the first message of the system messages in accordance with the first message priority; and ending the second message of the system messages in accordance with the second message priority.
-
公开(公告)号:US12061519B2
公开(公告)日:2024-08-13
申请号:US17645563
申请日:2021-12-22
Applicant: Pure Storage, Inc.
Inventor: Greg R. Dhuse , Vance T. Thornton , Jason K. Resch , Ilya Volvovski , Dustin M. Hendrickson , John Quigley
IPC: G06F11/10 , G06F11/07 , G06F11/14 , G06F11/16 , G06F16/13 , H04L9/32 , H04L9/40 , H04L67/06 , H04W12/041 , H04W12/0431 , H04W12/30 , G06F21/31 , G06F21/62 , H04L67/1097 , H04W12/10
CPC classification number: G06F11/1092 , G06F11/0727 , G06F11/141 , G06F11/167 , G06F16/13 , H04L9/3242 , H04L9/3247 , H04L9/3263 , H04L9/3271 , H04L63/06 , H04L63/12 , H04L67/06 , H04W12/041 , H04W12/0431 , H04W12/35 , G06F16/137 , G06F21/31 , G06F21/6209 , G06F2211/1028 , H04L63/0428 , H04L67/1097 , H04L2209/043 , H04L2209/30 , H04L2209/34 , H04L2209/56 , H04L2209/80 , H04W12/10
Abstract: A processor in a storage network operates by: receiving an access request for a data segment, wherein the data segment is encoded utilizing an error correcting information dispersal algorithm as a set of encoded data slices that are stored in a plurality of storage units of the storage network and wherein each encoded data slice of the set of encoded data slices includes a corresponding checksum of a plurality of checksums; retrieving, from the storage network, a subset of encoded data slices that includes a threshold number of encoded data slices of the set of encoded data slices; determining, based on ones of the plurality of checksums corresponding to the subset of encoded data slices, when the subset of encoded data slices includes at least one corrupted encoded data slice; retrieving from at least one of the plurality of storage units an addition number of encoded data slices required to generate a reconstructed data segment based on the subset of encoded data slices; generating the reconstructed data segment in accordance with the error correcting information dispersal algorithm, using the additional number of encoded data slices and at least some of the subset of encoded data slices; providing the reconstructed data segment in response to the access request; forming a reconstructed set of encoded data slices utilizing the error correcting information dispersal algorithm on the reconstructed data segment; and replacing the at least one corrupted encoded data slice with at least one reconstructed encoded data slice of the reconstructed set of encoded data slices.
-
公开(公告)号:US12026057B2
公开(公告)日:2024-07-02
申请号:US18141451
申请日:2023-04-30
Applicant: Pure Storage, Inc.
Inventor: Ravi V. Khadiwala , Wesley B. Leggette , Andrew D. Baptist , Greg R. Dhuse , Ilya Volvovski , Jason K. Resch , Manish Motwani
IPC: G06F11/14 , G06F3/06 , G06F11/10 , H03M13/35 , H04L67/1097
CPC classification number: G06F11/1435 , G06F3/0619 , G06F3/064 , G06F3/067 , G06F11/1076 , H03M13/353 , H04L67/1097 , G06F2211/1028
Abstract: A method includes determining an information dispersal algorithm width number and determining a number of primary storage slots from a number of storage slots associated with a set of storage units deployed across multiple sites, where the number of primary storage slots is equal to or greater than the information dispersal algorithm width number. The method further includes determining a mapping of primary storage slots to storage units. The method further includes sending configuration information to the set of storage units that includes the mapping. The method further includes storing a set of encoded data slices in the primary storage slots in accordance with the configuration information, where a data segment is error encoded into the set of encoded data slices in accordance with the information dispersal algorithm width number and a decode threshold number, which is a number of encoded data slices are needed to reconstruct the data segment.
-
公开(公告)号:US20240171551A1
公开(公告)日:2024-05-23
申请号:US18425098
申请日:2024-01-29
Applicant: Pure Storage, Inc.
Inventor: Andrew D. Baptist , Greg R. Dhuse , Wesley B. Leggette , Jason K. Resch
IPC: H04L9/40 , G06F3/06 , H04L9/08 , H04L67/10 , H04L67/1097
CPC classification number: H04L63/0428 , G06F3/0619 , G06F3/064 , G06F3/067 , H04L9/0825 , H04L9/085 , H04L9/0894 , H04L67/10 , H04L67/1097 , G06F11/1076 , G06F2211/1028 , H04L2463/061
Abstract: A method for execution by a storage network begins by receiving data for storage by the storage network and continues by determining data preparation tasks for the data. The method continues by indexing the data in accordance with the data preparation tasks to generate a data index and processing the data in accordance with the data index to produce indexed data. The method then continues by determining distribution criteria for the data based on the data index and distributing the data and the data index to a set of distributed storage units in accordance with the distribution criteria, Finally, the method establishes criteria for analyzing found data of the data in 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.
-
110.
公开(公告)号: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.
-
-
-
-
-
-
-
-
-