-
公开(公告)号:US20210367932A1
公开(公告)日:2021-11-25
申请号: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.
-
公开(公告)号:US20250168125A1
公开(公告)日:2025-05-22
申请号:US19030295
申请日:2025-01-17
Applicant: Pure Storage, Inc.
Inventor: Manish Motwani , Thomas D. Cocagne
IPC: H04L47/70 , G06F3/06 , H04L67/1097
Abstract: Methods and apparatus for identifying resources of a storage network for data retrieval. In an example method, a determination is made to retrieve a data from the storage network, the data having an associated asset identifier. The method further includes converting the asset identifier into a range identifier and performing a deterministic function (e.g., a hashing function) on the range identifier to produce a lookup value. The range identifier may include a smaller number of bits than the asset identifier in an example. The method further includes retrieving storage location information for the data based on the lookup value.
-
公开(公告)号:US20250156072A1
公开(公告)日:2025-05-15
申请号:US19023789
申请日:2025-01-16
Applicant: Pure Storage, Inc.
Inventor: Manish Motwani , Michael Collin Storm , Ilya Volvovski , Greg Dhuse , Andrew Baptist , Wesley Leggette
IPC: G06F3/06 , G06F11/10 , H03M13/15 , H04L67/025 , H04L67/1008 , H04L67/1097 , H04L67/306 , H04L67/52
Abstract: A method for execution in a storage network begins by determining to adjust a version number associated with a data object stored in the storage network, where the data object was dispersed storage error encoded to produce a set of encoded data slices. The method continues by identifying a number of versions associated with the data object and based on the number of versions identified and the adjusted version number associated with the data object, generating metadata associated with the data object. The method then continues by issuing a write request for each encoded data slice of the set of encoded data slices to the set of storage units, where each write request includes the metadata associated with the data object.
-
公开(公告)号:US12267251B2
公开(公告)日:2025-04-01
申请号:US18668356
申请日:2024-05-20
Applicant: Pure Storage, Inc.
Inventor: Jason K. Resch , Greg R. Dhuse , Manish Motwani , Andrew D. Baptist , Wesley B. Leggette
IPC: G06F15/177 , G06F3/06 , H04L47/70 , 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.
-
公开(公告)号: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.
-
公开(公告)号:US11740972B1
公开(公告)日:2023-08-29
申请号:US17085170
申请日:2020-10-30
Applicant: Pure Storage, Inc.
Inventor: Ravi V. Khadiwala , Greg R. Dhuse , Manish Motwani , Jason K. Resch , Ilya Volvovski
IPC: G06F11/10 , G06F3/06 , H04L67/1097 , H03M13/37 , H04L43/0876 , H03M13/15 , H04L43/0864 , H04L43/16 , H04L67/1008 , G06F11/20
CPC classification number: G06F11/1092 , G06F3/061 , G06F3/064 , G06F3/0604 , G06F3/067 , G06F3/0611 , G06F3/0619 , G06F3/0635 , G06F3/0659 , G06F3/0665 , G06F3/0689 , G06F11/2094 , H03M13/1515 , H03M13/3761 , H04L43/0864 , H04L43/0876 , H04L43/16 , H04L67/1008 , H04L67/1097 , G06F2201/805
Abstract: Methods and apparatus for use in a storage network operate by: storing, in a first storage unit of a first set of storage units of the storage network, a first encoded data slice corresponding to at least one data object; assigning one or more additional storage units to the storage network to form a second set of storage units, the second set of storage units including the one or more additional storage units; migrating the first encoded data slice from the first storage unit to at least one of the one or more additional storage units of the second set of storage units; and reallocating a mapping of the first encoded data slice from the first storage unit to the at least one of the one or more additional storage units of the second set of storage units.
-
公开(公告)号:US20230267042A1
公开(公告)日:2023-08-24
申请号:US18141453
申请日:2023-04-30
Applicant: Pure Storage, Inc.
Inventor: Thomas F. Shirley, JR. , Ilya Volvovski , Manish Motwani , Andrew D. Baptist , Wesley B. Leggette , Jason K. Resch , Greg R. Dhuse
CPC classification number: G06F11/1076 , G06F3/0619 , G06F3/064 , G06F3/0644 , G06F3/067 , G06F11/1092 , H03M13/05 , H03M13/3761 , H03M13/611 , H03M13/1515
Abstract: A method includes retrieving an encoded data slice from memory of a storage network, where the encoded data slice is associated with a slice integrity value stored in the memory, and where a data segment of data is error encoded into a set of encoded data slices that includes the encoded data slice. The method further includes generating a second slice integrity value based on the retrieved encoded data slice. The method further includes determining whether the second slice integrity value compares favorably to the slice integrity value. When the second slice integrity value compares unfavorably to the slice integrity value, the method further includes facilitating rebuilding of the encoded data slice to produce a rebuilt encoded data slice. The method further includes storing the rebuilt encoded data slice in the memory.
-
公开(公告)号:US11474729B2
公开(公告)日:2022-10-18
申请号:US17444106
申请日:2021-07-30
Applicant: Pure Storage, Inc.
Inventor: Manish Motwani , Joseph M. Kaczmarek , Michael C. Storm , Ilya Volvovski , Greg R. Dhuse , Anthony J. Baldocchi , Jason K. Resch , Thomas D. Cocagne
IPC: G06F3/06
Abstract: A method for updating software of storage units of a set of storage units in a storage network. In an embodiment, each storage unit of the set of storage units determines a data slice storage status for data slices stored in the storage unit (e.g., by monitoring rebuilding messages relating to the data slices). A processing module of the storage network obtains the data slice storage status of the storage units of the set of storage units and determines whether to perform a software update to software of the storage units of the set of storage units. Determining whether to perform the software update includes determining, based on the data slice storage status of the storage units, whether a threshold number of storage units are associated with a favorable data slice storage status. In response to determining that a threshold number of storage units are associated with a favorable data slice storage status, the processing module indicates to perform the software update.
-
公开(公告)号:US11442921B1
公开(公告)日:2022-09-13
申请号:US16547921
申请日:2019-08-22
Applicant: Pure Storage, Inc.
Inventor: Kumar Abhijeet , Andrew D. Baptist , Wesley B. Leggette , Greg R. Dhuse , Jason K. Resch , Manish Motwani
IPC: G06F7/00 , G06F17/00 , G06F16/23 , G06F9/50 , H04L67/1097
Abstract: A method is presented for execution by a processing system of a dispersed storage and task (DST) processing unit that includes a processor. The method includes: receiving, at the processor, a data access request having a consistency indicator; identifying, via the processor, a set of two or more storage targets associated with the data access request; selecting, via the processor, a threshold number of storage targets of the set of two or more storage targets, based on the consistency indicator; accessing, via the processor, the selected threshold number of storage targets based on the data access request; and generating a data access response, via the processor, based on the accessing of the selected threshold number of storage targets.
-
公开(公告)号:US20220261155A1
公开(公告)日:2022-08-18
申请号:US17661437
申请日:2022-04-29
Applicant: Pure Storage, Inc.
Inventor: Bruno H. Cabral , Joseph M. Kaczmarek , Ravi V. Khadiwala , Ilya Volvovski , Manish Motwani , Ethan S. Wozniak
IPC: G06F3/06 , G06F11/14 , H04L67/1097 , G06F11/10 , H03M13/11 , H03M13/37 , H03M13/15 , G06F9/48 , G06F9/50 , G06F12/0866 , G06F12/0891 , G06F15/173
Abstract: A computing device includes an interface configured to interface and communicate with a storage network, a memory that stores operational instructions, and a processing module operably coupled to the interface and memory such that the processing module, when operable within the computing device based on the operational instructions, is configured to perform various operations. A computing device receives a data access request for an encoded data slice associated with a data object, determines whether the encoded data slice is stored in the first memory and in response to a determination that the encoded data slice is not stored in the first memory, issues another data access request for the encoded data slice to a second memory, where the first memory includes access characteristics that are faster than the second memory. When a data access response including the encoded data slice is received from the second memory, a response including the encoded data slice is transmitted.
-
-
-
-
-
-
-
-
-