-
公开(公告)号:US20230385168A1
公开(公告)日:2023-11-30
申请号:US18232152
申请日:2023-08-09
Applicant: Pure Storage, Inc.
Inventor: Gary W. Grube , Timothy W. Markison
IPC: G06F11/20 , G06F12/0802 , G06F12/1009 , G06F12/1045 , H04L45/00 , H04L67/1001 , G06F3/06 , G06F13/16 , H04L67/06 , H04L67/1097
CPC classification number: G06F11/2089 , G06F12/0802 , G06F12/1009 , G06F12/1045 , H04L45/00 , H04L67/1001 , G06F3/0604 , G06F3/0619 , G06F3/0629 , G06F3/0659 , G06F3/067 , G06F3/0683 , G06F13/1668 , H04L67/06 , H04L67/1097 , G06F2212/401 , H03M13/09
Abstract: A method for execution by a storage unit in a directory-less storage network includes receiving a read request regarding a data segment of a data object, where the data segment was error encoded into a set of encoded data slices. The method further includes outputting a read response regarding an encoded data slice of the set of encoded data slices that is stored by the storage unit. The method further includes identifying an other storage unit of the directory-less storage network to which the read request is to be forwarded, where the identifying the other storage unit includes one or more of accessing a table of localized mapping regarding one or more neighboring storage units to identify the other storage unit, and receiving a message from a network management unit. The method further includes forwarding the read request to the other storage unit.
-
公开(公告)号:US20230376380A1
公开(公告)日:2023-11-23
申请号:US18363179
申请日:2023-08-01
Applicant: Pure Storage, Inc.
Inventor: Gary W. Grube , Timothy W. Markison , Sebastien Vas , Zachary J. Mark , Jason K. Resch
CPC classification number: G06F11/1076 , G06F3/067 , G06F11/1004 , G06F3/0653 , G06F3/0689 , G06F3/0619
Abstract: A method includes storing a plurality of data in a storage system. A plurality of identifiers corresponding to the plurality of data is determined and the plurality of identifiers are stored in the storage system. A first set of integrity information corresponding to a first system storage level is generated for the plurality of data by performing a first set of cyclic redundancy checks and the first set of integrity information is stored in the storage system. A second set of integrity information corresponding to a second system storage level is generated for the plurality of data and the second set of integrity information is stored in the storage system.
-
公开(公告)号:US11734196B1
公开(公告)日:2023-08-22
申请号:US17197807
申请日:2021-03-10
Applicant: Pure Storage, Inc.
Inventor: Gary W. Grube , Timothy W. Markison
IPC: H04L9/30 , H04L29/06 , G06F12/14 , H04L9/40 , H04L67/306 , H04L67/1097 , H04L9/32 , G06F11/10 , H04L9/14 , H04L9/08 , H04L67/06 , H04L1/00
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 , G06F2212/1052 , H04L1/0041 , H04L1/0045 , H04L63/0428
Abstract: A method for execution by a computing device of a storage network includes dispersed storage error decoding a plurality of sets of encoded data slices to recover a plurality of secure packages, where the plurality of secure packages include a plurality of encrypted data segments and a plurality of sets of encoded key slices, and where encoded key slices are appended to the encrypted data segments in accordance with an appending approach. The method includes splitting the plurality of secure packages into the plurality of encrypted data segments and the plurality of sets of encoded key slices. The method includes decoding the at least the decode threshold number of each set of the plurality of sets of encoded key slices to recover a plurality of encryption keys. The method includes decrypting the plurality of encrypted data segments using the plurality of encryption keys to recover the data segments.
-
公开(公告)号:US11704195B1
公开(公告)日:2023-07-18
申请号:US17167882
申请日:2021-02-04
Applicant: Pure Storage, Inc.
Inventor: S. Christopher Gladwin , Gary W. Grube , Timothy W. Markison
IPC: G06F11/10 , G06F3/06 , H04L1/00 , H04L9/40 , H04W12/02 , H04L67/1097 , G06F11/00 , H04W12/033
CPC classification number: G06F11/1076 , G06F3/064 , G06F3/067 , G06F3/0613 , G06F3/0619 , G06F3/0631 , G06F11/00 , G06F11/1012 , G06F11/1092 , H04L1/0041 , H04L1/0057 , H04L1/0076 , H04L63/08 , H04L67/1097 , H04W12/02 , H04W12/033 , G06F11/10 , G06F2211/1028 , H04L2001/0092
Abstract: A method for execution in a storage network, the method begins by determining a user device group content preference, wherein the user group content includes target content for a user device group and the determining includes predicting future target content for the user group. The method continues by selecting a plurality of network edge units for staging encoded data slices, identifying target content for partial download to the plurality of network edge units and dispersed error encoding the target content to generate a set of encoded data slices. The method then continues by identifying encoded data slices from the set of encoded data slices corresponding to the target content for partial download and determining a partial downloading schedule for sending the encoded data slices for partial download to each network edge unit of the plurality of network edge units. The method continues by facilitating partial downloading of the target content by sending the encoded data slices for partial download to each network edge unit of the plurality of network edge units.
-
公开(公告)号:US11625300B2
公开(公告)日:2023-04-11
申请号:US17933563
申请日:2022-09-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 , G06F11/07 , G06F3/06 , H04L67/62 , H04L47/72 , G06F16/00 , H04L67/1097 , H04L47/28 , G06F9/50
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 a data segment, wherein the data segment 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 slices that is required to decode the data segment; receiving, via the at least one processing circuit and 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 that was not received from the at least one storage unit in response to the at least one read request and wherein the number of encoded data slices in the first subset of the encoded data slices 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 segment based on the at least one rebuilt encoded data slice and the first subset of encoded data slices.
-
公开(公告)号:US20230072456A1
公开(公告)日:2023-03-09
申请号:US18054992
申请日:2022-11-14
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 dispersed storage error encoding a data object to produce a set of encoded data slices. The method further includes obtaining routing path performance information for a plurality of routing paths from the computing device to a set of storage units. The method further includes selecting a first routing path for sending a first subset of the set of encoded data slices, where the first routing path has a performance level greater than a first performance threshold. The method further includes selecting a second routing path for sending a second subset of the set of encoded data slices, where the second routing path has a performance level less than or equal to the first performance threshold. The method further includes sending the first and second subsets of encoded data slices to the set of storage units via the first and second routing paths for storage therein.
-
公开(公告)号:US20230027787A1
公开(公告)日:2023-01-26
申请号: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
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.
-
公开(公告)号:US20220350537A1
公开(公告)日:2022-11-03
申请号:US17812279
申请日:2022-07-13
Applicant: Pure Storage, Inc.
Inventor: Gary W. Grube , Timothy W. Markison
IPC: G06F3/06
Abstract: A method includes transmitting a solicitation message to target storage units of a plurality of storage units of a storage network, where the solicitation message solicits the target storage units to store encoded data slices of a first data segment of data, and where the message is not sent to other storage units of the plurality of storage units. The method further includes receiving favorable responses from at least some of target storage units, and determining an error coding function based on an amount of the favorable responses and data storage requirements for the first data segment. The method further includes encoding the first data segment in accordance with the error coding function to produce a plurality of encoded data slices. The method further includes outputting the plurality of encoded data slices to storage units of the at least some of the target storage units for storage therein.
-
公开(公告)号: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.
-
-
-
-
-
-
-
-
-