Patents Assigned to Pure Storage
  • Patent number: 11221970
    Abstract: Dynamically managing protection groups, including: identifying a protection group of storage resources, the protection group associated with a protection group management schedule that identifies one or more protection group management operations to be performed; detecting a membership change in the protection group; and updating, in dependence upon the change in the protection group, the protection group management schedule.
    Type: Grant
    Filed: September 26, 2019
    Date of Patent: January 11, 2022
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, Alan S. Driscoll, Steven P. Hodgson, Nitin Nagpal, Emanuel G. Noik, John Roper
  • Patent number: 11221916
    Abstract: Methods and systems for use in a dispersed storage network to prioritize data rebuilding operations. In various examples, a device receives data loss information from a set of storage units. Based on the data loss information, data slice errors are detected regarding data stored by the storage units, and corresponding rebuild requests are issued to the storage units. The device also determines a rebuild rate based on a rate of rebuilding associated with the rebuild requests. The device further receives storage error information regarding errors associated with storage requests to the storage units and, based on the data loss information and storage error information, determines a data loss rate. The rebuild rate and the data loss rate are provided to the storage units for use in prioritizing the rebuild requests, such that when the rebuild rate compares unfavorably to the data loss rate, rebuild requests are prioritized over storage requests.
    Type: Grant
    Filed: May 2, 2019
    Date of Patent: January 11, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Ilya Volvovski, Andrew D. Baptist, Jason K. Resch, Wesley B. Leggette
  • Patent number: 11221778
    Abstract: Preparing data for deduplication including in response to receiving a request to transfer data from a source storage system to a target storage system, accessing, by the source storage system, a compressed data block; generating, by the source storage system, a padded compressed data block by padding the compressed data block to conform to a fixed block size, wherein the fixed block size is greater than a size of the compressed data block; and sending, by the source storage system, the padded compressed data block to the target storage system.
    Type: Grant
    Filed: April 2, 2019
    Date of Patent: January 11, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Ethan Miller, John Colgrove
  • Patent number: 11216369
    Abstract: A determination as to whether a section of a storage device of a plurality of storage devices of the storage system corresponds to one or more check-pointed data sets of a plurality of check-pointed data sets that identifies one or more regions of the section having overwritten data is made. A garbage collection process is performed on the one or more regions of the section having overwritten data upon determining that the section corresponds to the one or more check-pointed data sets.
    Type: Grant
    Filed: August 19, 2020
    Date of Patent: January 4, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Brandon Davis, Wentian Cui, Matthew Paul Fay
  • Patent number: 11210151
    Abstract: A distributed storage network (DSN) stores sets of encoded data slices in sets of storage units. A first storage unit assigned to store an encoded data slice included in a set of encoded data slices transmits a rebuild request associated with the storage error to a second storage unit. The second storage unit generates the rebuilt encoded data slice in response to the rebuild request, and transmits the rebuilt encoded data slice back to the first storage unit, which stores the rebuilt encoded data slice.
    Type: Grant
    Filed: February 19, 2020
    Date of Patent: December 28, 2021
    Assignee: PURE STORAGE, INC.
    Inventors: Ravi V. Khadiwala, Ethan S. Wozniak, Jason K. Resch
  • Patent number: 11210219
    Abstract: Servicing I/O operations directed to a dataset that is synchronized across a plurality of storage systems, including: receiving, by a follower storage system, a request to modify the dataset; sending, from the follower storage system to a leader storage system, a logical description of the modification to the dataset; receiving, from the leader storage system, information describing the modification to the dataset; processing, by the follower storage system, the request to modify the dataset; receiving, from the leader storage system, an indication that the leader storage system has processed the request to modify the dataset; and acknowledging, by the follower storage system, completion of the request to modify the dataset.
    Type: Grant
    Filed: November 12, 2019
    Date of Patent: December 28, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Deepak Chawla, David Grunwald, Steven Hodgson, Tabriz Holtz, Ronald Karr
  • Patent number: 11210009
    Abstract: Staging data in a cloud-based storage system, including: receiving, at the cloud-based storage system integrating a first tier of cloud storage and a second tier of cloud storage, a data storage operation from a computer device; storing data corresponding to the data storage operation within the first tier of cloud storage in accordance with a first storage format; and responsive to detecting a condition for transferring data between the first tier of cloud storage and the second tier of cloud storage, transferring the data in the first storage format from the first tier of cloud storage to a second data format within the second tier of cloud storage.
    Type: Grant
    Filed: July 29, 2019
    Date of Patent: December 28, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Joshua Freilich, Aswin Karumbunathan, Naveen Neelakantam, Ronald Karr
  • Patent number: 11210133
    Abstract: Providing workload mobility between disparate execution environments, including: identifying, by a workload migration module, a workload executing in a first environment, wherein the workload includes a software application that is being executed and data that is accessed by the software application; identifying, by a workload migration module, a second environment for servicing the workload; and deploying, by a workload migration module, the workload in the second environment.
    Type: Grant
    Filed: October 30, 2018
    Date of Patent: December 28, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Robert Barker, Jr., Farhan Abrol
  • Patent number: 11210140
    Abstract: Data transformation offloading in an artificial intelligence infrastructure that includes one or more storage systems and one or more graphical processing unit (‘GPU’) servers, including: storing, within the storage system, a dataset; identifying, in dependence upon one or more machine learning models to be executed on the GPU servers, one or more transformations to apply to the dataset; and generating, by the storage system in dependence upon the one or more transformations, a transformed dataset.
    Type: Grant
    Filed: May 29, 2020
    Date of Patent: December 28, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Brian Gold, Emily Potyraj, Ivan Jibaja, Igor Ostrovsky, Roy Kim
  • Patent number: 11204701
    Abstract: A method of processing transactions associated with a command in a storage system is provided. The method includes receiving, at a first authority of the storage system, a command relating to user data. The method includes sending a transaction of the command, from the first authority to a second authority of the storage system, wherein a token accompanies the transaction and writing data in accordance with the transaction as permitted by the token into a partition that is allocated to the second authority in a storage device of the storage system.
    Type: Grant
    Filed: March 23, 2020
    Date of Patent: December 21, 2021
    Assignee: Pure Storage, Inc.
    Inventors: John Hayes, Robert Lee, Igor Ostrovsky, Peter Vajgel
  • Patent number: 11204830
    Abstract: In some embodiments, a method for die-level monitoring is provided. The method includes distributing user data throughout a plurality of storage nodes through erasure coding, wherein the plurality of storage nodes are housed within a chassis that couples the storage nodes. Each of the storage nodes has a non-volatile solid-state storage with non-volatile memory and the user data is accessible via the erasure coding from a remainder of the storage nodes in event of two of the storage nodes being unreachable. The method includes producing diagnostic information that diagnoses the non-volatile memory on a basis of per package, per die, per plane, per block, or per page, the producing performed by each of the plurality of storage nodes. The method includes writing the diagnostic information to a memory in the storage cluster.
    Type: Grant
    Filed: February 25, 2020
    Date of Patent: December 21, 2021
    Assignee: Pure Storage, Inc.
    Inventors: John D. Davis, John Hayes, Hari Kannan, Nenad Miladinovic, Zhangxi Tan
  • Patent number: 11204836
    Abstract: A method for execution by a distributed storage (DS) unit of a dispersed storage network (DSN), includes receiving a set of write slice requests that includes a set of slice names that are not utilized to store encoded data slices (EDSs), where each write slice request from the set of slice names that are not utilized to store encoded data slices includes a trap slice. The method continues with an access slice request that includes a requested slice name being received from a second DSN client, and then continues by determining whether the requested slice name corresponds to a trap slice stored by the DS unit. When the requested slice name corresponds to a trap slice, an action is determined for the access slice request based on an anomaly processing scheme.
    Type: Grant
    Filed: August 16, 2019
    Date of Patent: December 21, 2021
    Assignee: PURE STORAGE, INC.
    Inventors: Jason K. Resch, Adam M. Gray
  • Patent number: 11204822
    Abstract: A computing device includes an interface configured to interface and communicate with a dispersed or distributed storage network (DSN), 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. The computing device receives first samples corresponding to inputs that characterize configuration of the DSN and receives second samples corresponding to outputs that characterize system behavior of the DSN. The computing device then processes the first and samples to generate a DSN model to generate predictive performance of the outputs based on various values of the inputs. In some instances, the DSN model is based on a neural network model that employs the inputs that characterize the configuration of the DSN and generates the outputs that characterize system behavior of the DSN.
    Type: Grant
    Filed: April 24, 2020
    Date of Patent: December 21, 2021
    Assignee: PURE STORAGE, INC.
    Inventor: Ilir Iljazi
  • Patent number: 11201913
    Abstract: Managing a storage array includes: receiving, by a client-side array services module from a cloud-based security module through data communications on a wide area network, a token representing authentication of user credentials; and managing, by the client-side array services module, a storage array only through data communications on a local area network, including sending, to the storage array, the token with a management instruction.
    Type: Grant
    Filed: January 15, 2020
    Date of Patent: December 14, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Jimmy T. Hu, Terence W. Noonan, Neil A. Vachharajani, Daquan Zuo
  • Publication number: 20210382628
    Abstract: A method for execution in a storage network begins by generating a set of query requests for each data segment of a plurality of data segments that includes a corresponding set of slice identifiers of a plurality of sets of slice identifiers, where each slice identifier of the corresponding set of slice identifiers includes a pillar index based on a vault affiliated with the plurality of data segments. The method continues by transmitting the set of query requests to a set of storage units affiliated with the storage network, receiving a plurality of sets of query responses from the storage units, obtaining a data identifier for slice location identification and generating a storage record that includes the data identifier and an identity of the set of storage units. The method then continues by facilitating migration of at least some encoded data slices associated with the plurality of sets of slice identifiers when the storage record compares unfavorably to a storage record requirement.
    Type: Application
    Filed: August 23, 2021
    Publication date: December 9, 2021
    Applicant: Pure Storage, Inc.
    Inventors: Ahmad Alnafoosi, Andrew D. Baptist, Greg R. Dhuse, Jason K. Resch, Ilya Volvovski
  • Publication number: 20210382763
    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.
    Type: Application
    Filed: August 23, 2021
    Publication date: December 9, 2021
    Applicant: Pure Storage, Inc.
    Inventors: Gary W. Grube, Timothy W. Markison
  • Patent number: 11194662
    Abstract: To identify slice errors, a processing module of a computing device in a dispersed storage network (DSN) sends first list digest requests to at least first and second dispersed storage (DS) units. The requests indicates a first range of slice names to include in a first list digest. The processing module receives digest responses from the DS units, and compares the digest responses to determine whether they identify the same slices. If they do not identify the same slices, the processing module sends second list digest requests indicating a sub-range of the first range of slice names to include in second list digests. The sub-range continues to be narrowed until the processing module identifies at least one sub-range of slice names where a slice error exists.
    Type: Grant
    Filed: April 22, 2019
    Date of Patent: December 7, 2021
    Assignee: PURE STORAGE, INC.
    Inventors: Sebastien Vas, Zachary J. Mark, Jason K. Resch
  • Patent number: 11194672
    Abstract: A method begins with a processing module selecting one of a plurality of dispersed storage (DS) processing modules for facilitating access to a dispersed storage network (DSN) memory. The method continues with the processing module sending a DSN memory access request to the one of the plurality of DS processing modules. The method continues with the processing module selecting another one of the plurality of DS processing modules when no response is received within a given time frame or when the response to the access request does not include an access indication. The method continues with the processing module sending the DSN memory access request to the another one of the plurality of DS processing modules.
    Type: Grant
    Filed: June 24, 2020
    Date of Patent: December 7, 2021
    Assignee: PURE STORAGE, INC.
    Inventors: Jason K. Resch, Wesley Leggette
  • Patent number: 11194473
    Abstract: A storage array controller may receive data to be programmed to a solid-state storage device of a plurality of solid-state storage devices. The storage array controller may identify a type of the data and determine whether to program the data to a low latency portion of the solid-state storage device based on the type of the data. In response to determining to program the data to the low latency portion of the solid-state storage device, the storage array controller may program the data to the low latency portion of the solid-state storage device.
    Type: Grant
    Filed: January 23, 2019
    Date of Patent: December 7, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Yijie Zhao, Peter E. Kirkpatrick, Andrew R. Bernat
  • Patent number: 11194759
    Abstract: A priority queue including an order of local data relocation operations to be performed by a plurality of solid-state storage devices is maintained. An indication of a new local data relocation operation is received from a solid-state storage device of the plurality of solid-state storage devices for data stored at the solid-state storage device, the indication including information associated with the data. The new local data relocation operation is inserted into a position in the order of the priority queue based on the information associated with the data.
    Type: Grant
    Filed: March 11, 2020
    Date of Patent: December 7, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Sankara Vaideeswaran, Hari Kannan, Gordon James Coleman