-
公开(公告)号:US11334425B1
公开(公告)日:2022-05-17
申请号:US16921451
申请日:2020-07-06
Applicant: Pure Storage, Inc.
Inventor: Gary W. Grube , Timothy W. Markison
IPC: G01R31/28 , G06F11/10 , G06F16/2455 , H04L65/60 , H03M13/00 , H03M13/37 , H03M13/15 , H03M13/11
Abstract: A method begins by a processing module of a storage network receiving a first plurality of pairs of coded values corresponding to first data segments of a first data stream and a second data stream. The method continues with the processing module generating a received coded matrix to include a plurality of groups of selected coded values and when the received coded matrix includes a decode threshold number of pairs of coded values, generating a data matrix from the received coded matrix and an encoding matrix. The method continues with the processing module reproducing the first data segment of the first and second data streams, while maintaining the time alignment of the first and second data streams.
-
公开(公告)号:US20210318811A1
公开(公告)日:2021-10-14
申请号:US17356838
申请日:2021-06-24
Applicant: Pure Storage, Inc.
Inventor: Gary W. Grube , Jason K. Resch , Timothy W. Markison , Ilya Volvovski , Manish Motwani
Abstract: A method begins by a processing module of a storage network analyzing storage network memory for a level of usability and based on the analyzing, selecting alternative memory available for receipt of encoded data slices stored in current memory, where a data object is segmented into a plurality of data segments and a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce a set of encoded data slices. The method continues with the processing module determining whether to move encoded data slices from current memory to alternative memory and based on a determination to move slices, allocating alternative memory. Finally, the processing module moves at least some encoded data slices from a current memory to alternate memory and updates a memory assignment mechanism for the at least some encoded data slices.
-
公开(公告)号:US10831600B1
公开(公告)日:2020-11-10
申请号:US16854010
申请日:2020-04-21
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/16 , G06F9/50 , G06F11/10 , G06F3/06 , H04L29/08 , G06F11/07 , G06F16/00 , H04L12/911 , H04L12/841
Abstract: A method for execution by a dispersed storage and task (DST) execution unit includes identifying a plurality of pending operations. A resource availability level to support execution of at least one of the plurality of pending operations is determined, and a required resource level to execute the at least one of the plurality of pending operations is determined. A balance factor between at least two types of the plurality of pending operations is determined based on the resource availability level and the required resource level. Determination of required timing of the execution of the at least one of the plurality of pending operations is coordinated with at least one other DST execution unit. An operation execution schedule is updated based on the required resource levels, the resource availability level, the balance factor, and the required timing of the execution.
-
公开(公告)号:US20250071100A1
公开(公告)日:2025-02-27
申请号:US18942265
申请日:2024-11-08
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: Methods and apparatus for efficient storage of a data object in a storage network. A method for execution by one or more processing modules of a storage network begins by receiving a store data request including a data object and a data identifier, and generating a source name for the data object. The method continues by determining whether the data object is already stored in memory of the storage network. In response to determining that the data object is already stored in the memory of the storage network, the method further includes identifying location information for the data object, storing the location information using the source name, and updating metadata for the data object to indicate that an additional copy of the data object is stored in the memory of the storage network.
-
公开(公告)号:US20240184664A1
公开(公告)日:2024-06-06
申请号:US18443503
申请日:2024-02-16
Applicant: Pure Storage, Inc.
Inventor: Gary W. Grube , Timothy W. Markison
IPC: G06F11/10 , G06F16/2455 , H03M13/00 , H03M13/11 , H03M13/15 , H03M13/37 , H04L65/70 , H04L65/75
CPC classification number: G06F11/10 , G06F11/1076 , G06F16/24568 , H03M13/1148 , H03M13/1515 , H03M13/373 , H03M13/616 , H04L65/70 , H04L65/765
Abstract: A method for data transmission includes receiving a first data stream for transmission to a mobile device, segmenting the first data stream to produce a first plurality of data segments and receiving a second data stream, where the second data stream including location information for the mobile device. The method continues by segmenting the second data stream to produce a second plurality of data segments, dividing a data segment of the first plurality of data segments into a first plurality of data blocks and then dividing a data segment of the second plurality of data segments into a second plurality of data blocks, where the data segment of the first plurality of data segments is time aligned with the data segment of the second plurality of data segments. A data matrix is then created from the first and second plurality of data blocks and then based on the data matrix transmitting a first data block from each of the first and second plurality of data blocks to a first relay unit. Finally, based on the data matrix a second data block from each of the first and second plurality of data blocks is transmitted to a second relay unit.
-
公开(公告)号:US11973828B2
公开(公告)日:2024-04-30
申请号:US17367854
申请日:2021-07-06
Applicant: Pure Storage, Inc.
Inventor: Jason K. Resch , Gary W. Grube , Timothy W. Markison
IPC: G06F7/04 , G06F11/10 , G06F11/20 , H04L67/1097 , H04L67/52
CPC classification number: H04L67/1097 , G06F11/1092 , G06F11/2094 , H04L67/52 , G06F2211/1028
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.
-
公开(公告)号:US20240137415A1
公开(公告)日:2024-04-25
申请号:US18401819
申请日:2024-01-02
Applicant: Pure Storage, Inc.
Inventor: Gary W. Grube , Timothy W. Markison
IPC: H04L67/1097 , G06F16/182
CPC classification number: H04L67/1097 , G06F16/182
Abstract: A method for execution in a storage network begins by receiving a request to store a data object in a plurality of storage units and continues by determining preferred storage requirements for storing the data object. The method then continues by determining minimum storage requirements for storing the data object, determining a first set of operational parameters for storing the data object and identifying a first set of storage units for storing the data object. The method continues by determining storage metrics for the first set of storage units and determining whether the storage metrics for the first set of storage units compare favorably to the preferred storage requirements, When the first set of storage units do not compare favorably to the preferred storage requirements the method continues by determining a second set of operational parameters and a second set of storage units for storing the data object and by determining whether the storage metrics for the second set of storage units compare favorably to the minimum storage requirements. When the storage metrics for the second set of storage units compare favorably to the minimum storage requirements the method continues by segmenting the data object into a plurality data segments and dispersed error encoding a segment to produce a set of encoded data slices, where a decode threshold number of encoded data slices are needed to recover the data segment. Finally, the method includes storing the set of encoded data slices among the second set of storage units.
-
公开(公告)号:US20240063946A1
公开(公告)日:2024-02-22
申请号:US18499289
申请日:2023-11-01
Applicant: Pure Storage, Inc.
Inventor: S. Christopher Gladwin , Greg R. Dhuse , Timothy W. Markison , Wesley B. Leggette , Jason K. Resch , Gary W. Grube
CPC classification number: H04L1/0076 , H03M13/05 , G06F3/067 , G06F3/064 , G06F3/0619 , H04L67/1097 , G06F11/1076 , G06F11/2053 , H04L1/0057 , H04L1/0041 , H03M13/611
Abstract: A method for execution by one or more computing devices of a massive data ingestion system includes receiving data for storage in the massive data ingestion system. The method further includes storing a data segment of the data in a cache memory of the massive data ingestion system. The method further includes retrieving, based on one or more retrieval parameters, the data segment from the cache memory. The method further includes error encoding, in accordance with error encoding parameters, the data segment to produce a set of encoded data slices, wherein the error encoding parameters include a pillar width number and a decode threshold number, and wherein the decode threshold number is a minimum number of encoded data slices needed to reconstruct the data segment. The method further includes storing the set of encoded data slices in a set of storage units of the massive data ingestion system.
-
公开(公告)号:US11853547B1
公开(公告)日:2023-12-26
申请号:US17079234
申请日:2020-10-23
Applicant: Pure Storage, Inc.
Inventor: Gary W. Grube , Timothy W. Markison , Jason K. Resch
IPC: G06F3/06 , H04L67/1097 , G06F11/30 , G06F16/23 , G06F11/10 , G06F21/62 , G06F16/182 , H03M13/15 , H03M13/00
CPC classification number: G06F3/0605 , G06F3/067 , G06F3/0619 , G06F3/0644 , G06F3/0659 , G06F11/1076 , G06F11/3006 , G06F11/3034 , G06F16/182 , G06F16/2358 , G06F16/2365 , G06F21/62 , H04L67/1097 , G06F2201/81 , G06F2201/87 , G06F2211/1028 , H03M13/1515 , H03M13/616
Abstract: A method begins by a computing device of a storage network receiving a data access request of a transaction regarding a data segment, where at least one data segment is dispersed storage error encoded into a set of encoded data slices that are stored in a set of storage units of the storage network. The method continues by executing the data access request. The method continues by generating a set of audit record data files regarding the execution of the data access request, where an audit record data file includes a source identifier, a target identifier, a unique identifier associated with the data segment, a timestamp, and a type code that indicates a type of storage network activity associated with the transaction. The method continues by storing the set of audit record data files in the storage network.
-
公开(公告)号:US11815998B2
公开(公告)日:2023-11-14
申请号: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
CPC classification number: G06F11/1076 , G06F3/064 , G06F3/067 , G06F3/0619
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.
-
-
-
-
-
-
-
-
-