-
公开(公告)号:US11360852B1
公开(公告)日:2022-06-14
申请号:US17151249
申请日:2021-01-18
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: Methods and apparatus for selection of memory devices in a distributed storage network. In an embodiment, a computing device receives a data object for storage and forwards the data object to a buffer for temporary storage, the buffer comprised of a first memory devices of a first memory type. A system level storage efficiency is determined for the data object based, at least in part, on a data attribute associated with the data object. Second memory devices, of a second memory type, are selected based on the system level storage efficiency preference, and compatible dispersed storage error encoding parameters for the data object are determined. The data object is encoded using the encoding parameters to generate a plurality of encoded data slices, which are provided to the second plurality of memory devices for storage. Further, system addressing information is generated based on an identifier associated with the data object.
-
公开(公告)号:US20220179745A9
公开(公告)日:2022-06-09
申请号:US17362251
申请日:2021-06-29
Applicant: Pure Storage, Inc.
Inventor: Gary W. Grube , Timothy W. Markison , Sebastien Vas , Zachary J. Mark , Jason K. Resch
Abstract: A method includes encoding data via erasure coding to produce a plurality of data slices. The method further includes determining a plurality of identifiers corresponding to the data. The method further includes generating integrity information based on the plurality of identifiers by performing a cyclic redundancy check. The method further includes storing the plurality of data slices, the plurality of identifiers, and the integrity information in a storage system.
-
公开(公告)号:US11340988B2
公开(公告)日:2022-05-24
申请号:US17362251
申请日:2021-06-29
Applicant: Pure Storage, Inc.
Inventor: Gary W. Grube , Timothy W. Markison , Sebastien Vas , Zachary J. Mark , Jason K. Resch
Abstract: A method includes encoding data via erasure coding to produce a plurality of data slices. The method further includes determining a plurality of identifiers corresponding to the data. The method further includes generating integrity information based on the plurality of identifiers by performing a cyclic redundancy check. The method further includes storing the plurality of data slices, the plurality of identifiers, and the integrity information in a storage system.
-
公开(公告)号:US20210382763A1
公开(公告)日:2021-12-09
申请号:US17445676
申请日:2021-08-23
Applicant: Pure Storage, Inc.
Inventor: Gary W. Grube , Timothy W. Markison
Abstract: A method for execution by a processing module of a storage network includes determining processing parameters for data based on a number of storage and execution units of the storage network to be utilized in processing the data, where the data is associated with a task. The method further includes task partitioning of the task based on the number of storage and execution units and the processing parameters. The method further includes processing the data in accordance with the processing parameters to produce slice groupings. The method further includes partitioning the task based on the task partitioning to produce partial tasks. The method further includes sending the slice groupings and corresponding partial tasks to the storage and execution units.
-
公开(公告)号:US20210337026A1
公开(公告)日:2021-10-28
申请号:US17367854
申请日:2021-07-06
Applicant: Pure Storage, Inc.
Inventor: Jason K. Resch , Gary W. Grube , Timothy W. Markison
Abstract: A storage network operates by: receiving a plurality of identifiers associated with a user including a user identifier and a group identifier; generating a plurality of key pairs associated with the plurality of user identifiers, the plurality of key pairs including a first key pair and a second key pair, the first key pair including a first public key and a first private key, and the second key pair including a second public key and a second private key; storing the plurality of key pairs; generating at least one request for a certificate; receiving at least one signed certificate in response to the at least one request; and accessing the storage network using the at least one signed certificate.
-
公开(公告)号:US20250030700A1
公开(公告)日:2025-01-23
申请号:US18909158
申请日:2024-10-08
Applicant: Pure Storage, Inc.
Inventor: Gary W. Grube , Timothy W. Markison
IPC: H04L9/40 , G06F3/06 , G06F11/00 , G06F11/08 , G06F11/10 , G06F16/182 , G06F21/62 , H04L12/64 , H04L67/1097
Abstract: A storage unit of the storage network operates by: receiving an access request from a user device of a first group of user devices, the storage unit having an access policy that designates, for the first group of user devices, a first read time window for reading data from the storage unit and a first write time window for writing data to the storage unit; determining whether the access request is received within the first read time window when the access request is a read request or whether the access request is received within the first write time window when the access request is a write request; when the access request is the read request and is received within the first read time window, generating a read response that includes one or more requested encoded data slices; and when the access request is the write request and is received within the first write time window, processing the write request to store one or more new encoded data slices.
-
公开(公告)号:US11907060B2
公开(公告)日:2024-02-20
申请号:US17663299
申请日:2022-05-13
Applicant: Pure Storage, Inc.
Inventor: Gary W. Grube , Timothy W. Markison
IPC: G01R31/28 , G06F11/00 , G06F11/10 , G06F16/2455 , H03M13/00 , H03M13/11 , H04L65/75 , H03M13/37 , H04L65/70 , H03M13/15
CPC classification number: G06F11/10 , G06F11/1076 , G06F16/24568 , H03M13/1148 , H03M13/1515 , H03M13/373 , H03M13/616 , H04L65/70 , H04L65/765
Abstract: A method begins by a processing module concurrently receiving a first data stream and a second data stream for transmission to a receiving entity. The method continues with the processing module dividing each of the first and second data streams to produce a first plurality of data blocks corresponding to the first data stream and a second plurality of data blocks corresponding to the second data stream, where data blocks of the first plurality of data blocks are time aligned with data blocks of the second plurality of data blocks. The method continues with the processing module creating a data matrix from the first and second plurality of data blocks and generating a coded matrix from the data matrix and an encoding matrix. The method continues with the processing module outputting a plurality of pairs of coded values of the coded matrix to the receiving entity.
-
公开(公告)号:US20220327022A1
公开(公告)日:2022-10-13
申请号: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
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.
-
公开(公告)号:US11416179B1
公开(公告)日:2022-08-16
申请号:US17115020
申请日:2020-12-08
Applicant: Pure Storage, Inc.
Inventor: Gary W. Grube , Timothy W. Markison
Abstract: A method includes obtaining, by a computing device of a storage network, data for storage and interpreting metadata associated with the data to determine data storage requirements. The method further includes selecting a plurality of storage units of the storage network as target storage units based on the data storage requirements and a storage sequence and transmitting a solicitation message to the target storage units. The method further includes receiving favorable responses from at least some of target storage units, selecting storage units from the at least some of the target storage units to produce a set of selected storage units, determining an error coding dispersal storage function, encoding a data segment of the data in accordance with the error coding dispersal storage function to produce a plurality of encoded data slices, and outputting the plurality of encoded data slices to the set of selected storage units for storage therein.
-
公开(公告)号:US11101929B1
公开(公告)日:2021-08-24
申请号:US16789139
申请日:2020-02-12
Applicant: Pure Storage, Inc.
Inventor: S. Christopher Gladwin , Timothy W. Markison , Greg Dhuse , Thomas Franklin Shirley, Jr. , Wesley Leggette , Jason K. Resch , Gary W. Grube
IPC: G06F15/16 , H04L1/00 , G06F3/06 , G06F11/10 , G06F11/20 , H04L29/08 , H03M13/05 , H04L29/14 , H03M13/00
Abstract: A method for execution by a computing device includes, receiving, from a requesting device, a request for a data segment of a data object that is or is to be stored in storage units of a content delivery network. The method further includes determining whether the data segment is stored in a cache memory of the content delivery network or in the storage units. When stored in the cache memory, the method includes retrieving the cached data segment, and sending it to the requesting device. When stored in the storage units, the method includes, sending read requests regarding the data segment to the storage units, receiving, in response to the read requests, at least a decode threshold number of encoded data slices, decoding the at least the decode threshold number of encoded data slices to reproduce the data segment, and sending the data segment to the requesting device.
-
-
-
-
-
-
-
-
-