-
公开(公告)号:US11487620B1
公开(公告)日:2022-11-01
申请号:US17850145
申请日:2022-06-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 , G06F16/00 , H04L67/1097 , G06F11/07 , H04L67/62 , H04L47/72 , G06F9/50 , H04L47/28
Abstract: A network storage system operates by: sending, to at least one storage unit of a 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 a data segment, wherein the data segment is codable 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 slices that is required to decode the data segment; receiving from the at least one storage unit, a first subset of encoded data slices of the set of encoded data slices, wherein the first subset of encoded data slices is missing at least one missing encoded data slice from the number of the set of slices that is required to decode the data segment and that was not received from the at least one storage unit in response to the at least one read request; generating 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 includes a plurality of local redundancy slices generated from a second subset of the set of encoded data slices that includes the at least one missing encoded data slice; and recovering the data segment based on the at least one rebuilt encoded data slice and the first subset of encoded data slices.
-
公开(公告)号:US11429486B1
公开(公告)日:2022-08-30
申请号:US17084828
申请日:2020-10-30
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 , G06F11/07 , H04L67/1097 , G06F16/00 , H04L67/62 , G06F3/06 , H04L47/72 , H04L47/28 , G06F9/50
Abstract: In various embodiments, a method is presented for execution by a processing circuit of a storage network device that includes a processor. The method comprises: receiving, via the processing circuit, a first subset of encoded data slices of a set of encoded data slices corresponding to a data segment; identifying, via the processing circuit, at least one missing encoded data slice of the first subset of slices that is required to decode the data segment; generating, via the processing circuit, at least one rebuilt encoded data slice corresponding to the at least one missing encoded data slice utilizing locally decodable redundancy data; and recovering, via the processing circuit, the data segment based on the at least one rebuilt encoded data slice and the first subset of encoded data slices.
-
公开(公告)号:US20220253355A1
公开(公告)日:2022-08-11
申请号:US17660907
申请日:2022-04-27
Applicant: Pure Storage, Inc.
Inventor: Jason K. Resch , Scott M. Horan , Ravi V. Khadiwala , Greg R. Dhuse
IPC: G06F11/10 , G06F3/06 , G06F16/22 , G06F16/27 , G06F16/2458 , G06F16/2457 , H03M13/37 , G06F11/16 , H03M13/33 , H04L67/1097 , H04L67/06 , H04L67/1095
Abstract: method and apparatus for synchronizing replicated data in a storage network. In an embodiment, a method begins by a processing module of a computing device identifying a first storage set and a second storage set for replicated storage of a data object. The processing module initiates storage of the data object in both the first and second storage sets, and further maintains a synchronization status for the data object. The processing module determines, based at least in part on the synchronization status, to resynchronize the first storage set and the second storage set. In response to determining to resynchronize the first storage set and the second storage set, the processing module identifies a latest available revision of the data object, determines that the second storage set requires the latest available revision of the data object to maintain synchronization, and facilitates storage of the identified latest available revision of the data object in the second storage set.
-
公开(公告)号:US20220188179A1
公开(公告)日:2022-06-16
申请号:US17653597
申请日:2022-03-04
Applicant: Pure Storage, Inc.
Inventor: Wesley B. Leggette , Andrew D. Baptist , Greg R. Dhuse , Jason K. Resch , Gary W. Grube , S. Christopher Gladwin
Abstract: A computing device includes processing circuitry configured to determine whether to modify the dispersed error encoding parameters of a set of encoded data slices (EDSs) stored in a distributed storage network to produce a set of modified EDSs, wherein a data object is segmented into a plurality of data segments and in response to a determination to modify the dispersed error encoding parameters of the set of EDSs, identify a plurality of storage units to store the modified EDSs and determine modified dispersed error encoding parameters for the modified EDSs. The computing device is further configured to assign each storage unit of the plurality of storage units to execute one or more storage modification tasks associated with producing the modified EDSs; and transmit one or more EDS of the set of EDSs to each storage unit of the plurality of storage units for modification and storage.
-
公开(公告)号:US20220159072A1
公开(公告)日:2022-05-19
申请号:US17649257
申请日:2022-01-28
Applicant: Pure Storage, Inc.
Inventor: Thomas D. Cocagne , Jason K. Resch , Greg R. Dhuse
IPC: H04L67/1097 , G06F11/10
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.
-
26.
公开(公告)号:US20220107861A1
公开(公告)日:2022-04-07
申请号:US17551618
申请日:2021-12-15
Applicant: Pure Storage, Inc.
Inventor: Ravi V. Khadiwala , Ethan S. Wozniak , Jason K. Resch , Greg R. Dhuse
Abstract: A plurality of encoded data slices are stored at locations within a memory, and a list of pointers to the encoded data slices is maintained. A request to delete a particular encoded data slice is received. In response to receiving the request, a particular location within the memory used to store the particular encoded data slice is determined based on the list of pointers, and an updated list of pointers is generated indicating that the particular encoded data slice is no longer stored at the particular location within the memory.
-
公开(公告)号:US20210328719A1
公开(公告)日:2021-10-21
申请号:US17363281
申请日:2021-06-30
Applicant: Pure Storage, Inc.
Inventor: S. Christopher Gladwin , Greg R. Dhuse , Timothy W. Markison , Wesley B. Leggette , Jason K. Resch , Gary W. Grube
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 pluralities of sets of encoded data slices to storage and execution units for storage therein.
-
公开(公告)号:US20250131013A1
公开(公告)日:2025-04-24
申请号:US18988991
申请日:2024-12-20
Applicant: Pure Storage, Inc.
Inventor: Jason K. Resch , Scott M. Horan , Ravi V. Khadiwala , Greg R. Dhuse
IPC: G06F16/27 , G06F3/06 , G06F11/10 , G06F11/16 , G06F16/22 , G06F16/2457 , G06F16/2458 , H03M13/15 , H03M13/33 , H03M13/37 , H04L67/06 , H04L67/1095 , H04L67/1097
Abstract: Methods and apparatus for replication of data in storage networks. In an embodiment, a processing module(s) of a computing device identifies a first storage set and a second storage set for replicated storage of data. The processing module(s) maintains a synchronization log for the first storage set and the second storage set. After initiating storage of a data object in the first storage set and the second storage set, the processing module(s) detects an unavailability of one or more storage units of the second storage set. In response to detecting a return to availability of the one or more storage units, the processing module(s) determines, based on the synchronization log, that the second storage set requires at least a portion of the data object to maintain synchronization with the first storage set, and facilitates storage of the at least a portion of the data object in the second storage set.
-
公开(公告)号:US20240314087A1
公开(公告)日:2024-09-19
申请号:US18668356
申请日:2024-05-20
Applicant: Pure Storage, Inc.
Inventor: Jason K. Resch , Greg R. Dhuse , Manish Motwani , Andrew D. Baptist , Wesley B. Leggette
IPC: H04L47/70 , G06F3/06 , H04L67/1097
CPC classification number: H04L47/70 , G06F3/0616 , G06F3/0623 , G06F3/0647 , G06F3/067 , G06F3/0685 , H04L67/1097
Abstract: Methods and apparatus for identifying multiple resources of a storage network for data retrieval are disclosed. In various embodiments, a determination is made to retrieve an encoded data slice from the storage network. Based on configuration information for the storage network, one or more configurations are identified, including a current configuration. For the identified configurations, ranked scoring information relating to the encoded data slice is determined for a plurality of resources associated with the identified configurations. Based on the ranked scoring information, a resource is selected for each of the identified configurations. In addition, a retrieval likelihood level for the data slice is determined for each of the selected resources. Based on the likelihood levels for the selected resources, one or more of the selected resources are identified for encoded data slice retrieval and read slice requests are issued to the one or more selected resources.
-
公开(公告)号:US20240211465A1
公开(公告)日:2024-06-27
申请号:US18596914
申请日:2024-03-06
Applicant: Pure Storage, Inc.
Inventor: Greg R. Dhuse , Jason K. Resch
IPC: G06F16/23 , G06F3/06 , G06F11/10 , G06F16/11 , G06F16/13 , G06F16/182 , G06F16/21 , G06F16/22 , G06F16/901 , H04L9/06 , H04L9/32
CPC classification number: G06F16/2365 , G06F3/06 , G06F3/0619 , G06F3/0647 , G06F3/0679 , G06F11/1076 , G06F11/1084 , G06F16/119 , G06F16/137 , G06F16/1844 , G06F16/214 , G06F16/2255 , G06F16/235 , G06F16/9027 , H04L9/0643 , H04L9/3236
Abstract: A storage network operates by: sending a slice verification request to a destination storage unit, wherein the slice verification request includes a nonce and one or more of: a slice identifier, the slice, a revision indicator, or a verification method indicator; receiving an integrity value from the destination storage unit; determining when the integrity value is verified by determining one of: when a hash of the slice and the nonce matches the integrity value; when a decrypted signature of the integrity value matches a hash of the slice and the nonce; or when the decrypted signature of the integrity value matches the slice and the nonce; and when the integrity value is verified, updating a slice assignment corresponding to the slice, wherein updating the slice assignment associates the destination storage unit with the slice and disassociates the source storage unit from the slice.
-
-
-
-
-
-
-
-
-