Patents Assigned to Pure Storage
  • Patent number: 11539793
    Abstract: Determining active membership among a set of storage systems, including: determining, by a cloud-based storage system among the set of storage systems, that a membership event corresponds to a change in membership to the set of storage systems synchronously replicating the dataset; applying, in dependence upon the membership event, one or more membership protocols to determine a new set of storage systems to synchronously replicate the dataset; and for one or more I/O operations directed to the dataset, applying the one or more I/O operations to the dataset synchronously replicated by the new set of storage systems.
    Type: Grant
    Filed: January 20, 2021
    Date of Patent: December 27, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Aswin Karumbunathan, Joshua Freilich, Naveen Neelakantam, Ronald Karr
  • Patent number: 11531467
    Abstract: A method for controlling public access of resources in a secure distributed storage system using an API level model. A request to access a volume is checked for authentication. If the request does not include an authentication token ID, a guest role is created and assigned to the requestor. The guest role can only access public volumes or owned volumes that specifically allow public access. The guest role can be updated using API management.
    Type: Grant
    Filed: January 29, 2021
    Date of Patent: December 20, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Luis Pablo Pabon, Grant William Griffiths
  • Patent number: 11531577
    Abstract: Temporarily limiting access to a storage device, including: determining that a storage device of a plurality of storage devices in a storage system is operating outside of a defined performance range; determining that the storage device operating outside of the defined performance range may be caused by a rehabilitative action performed on the storage device; and modifying a storage operation issuance policy for one or more storage devices of the plurality of storage devices until a determination that the storage device is operating within the defined performance range.
    Type: Grant
    Filed: January 27, 2021
    Date of Patent: December 20, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Andrew Bernat, Anthony Niven, Mark Fay, Pushkar Mahesh Shirali, Ronald Karr
  • Patent number: 11533364
    Abstract: Symmetric storage using a cloud-based storage system, including: receiving, at a cloud-based storage system among storage systems synchronously replicating a dataset, an I/O operation directed to the dataset; determining, in dependence upon the I/O operation, a metadata update describing a mapping of segments of content to an address within a storage object, wherein the storage object includes the dataset; and synchronizing metadata on another storage system of the storage systems by sending the metadata update from the cloud-based storage system to the other storage system to update a metadata representation on the second storage system in accordance with the metadata update.
    Type: Grant
    Filed: January 21, 2021
    Date of Patent: December 20, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Aswin Karumbunathan, Joshua Freilich, Naveen Neelakantam, Ronald Karr
  • Patent number: 11531487
    Abstract: Creating a replica of a storage system, including: receiving, by a first storage system from a computing device, data to be stored on the first storage system; reducing, by the first storage system, the data using one or more data reduction techniques; sending, from the first storage system to the second storage system, the reduced data, wherein the reduced data is encrypted; and sending, from the second storage system to a third storage system, the reduced data, wherein the reduced data is encrypted.
    Type: Grant
    Filed: July 24, 2020
    Date of Patent: December 20, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Ronald Karr, Constantine Sapuntzakis, John Colgrove
  • Patent number: 11526398
    Abstract: A method includes determining, by a computing device of a storage network, a pillar width to decode threshold ratio of a dispersed storage error encoding function based on routing path performance information of a set of routing paths with respect to a set of storage units of the storage network. The method further includes dispersed storage error encoding a data object in accordance with the pillar width to decode threshold ratio to produce a plurality of sets of encoded data slices. The method further includes sending the plurality of sets of encoded data slices to the set of storage units via the set of routing paths for storage therein.
    Type: Grant
    Filed: March 4, 2021
    Date of Patent: December 13, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Gary W. Grube, Timothy W. Markison, S. Christopher Gladwin, Greg R. Dhuse, Andrew D. Baptist, Ilya Volvovski, Jason K. Resch
  • Patent number: 11526408
    Abstract: Data recovery in a virtual storage system, including: detecting, within storage provided by a first tier of storage of the virtual storage system, data loss within a dataset, wherein recovery data for the dataset is stored in a second tier of storage; determining a recovery point for the dataset up to which a consistent version of the dataset is recoverable from the recovery data stored in the second tier of storage; and restoring, within the storage provided by the first tier of storage of the virtual storage system, the consistent version of the dataset.
    Type: Grant
    Filed: January 30, 2020
    Date of Patent: December 13, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Ronald Karr, Naveen Neelakantam, Joshua Freilich, Aswin Karumbunathan
  • Patent number: 11526405
    Abstract: Performing disaster recovery in a cloud-based storage system, including: creating, by a storage system a snapshot of a dataset; uploading, from the storage system to a cloud computing environment, the snapshot; storing, by the cloud computing environment, the snapshot; detecting, by the cloud computing environment, that the dataset is not available on the storage system; and creating, by the cloud computing environment using the snapshot that is stored within the cloud computing environment, a cloud-based storage system that includes the dataset.
    Type: Grant
    Filed: April 17, 2019
    Date of Patent: December 13, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: James Fisher, Naveen Neelakantam, Yuval Frandzel
  • Publication number: 20220394091
    Abstract: A method for execution by a computing device of a storage network begins by receiving a write request for a data object, determining a plurality of data regions for the data object, determining storage identification information for each data region of the plurality of data regions and generating a storage table for the data object that includes information sufficient to identify each data region of the plurality of data regions. For a first data region of the plurality of data regions the method continues by dividing the first data region into a plurality of data segments, and dispersed error encoding the plurality of data segments to produce a plurality of sets of encoded data slices.
    Type: Application
    Filed: August 12, 2022
    Publication date: December 8, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Wesley B. Leggette, Jason K. Resch, Yogesh R. Vedpathak, Sebastien Vas, Eric G. Smith, Adam M. Gray
  • Publication number: 20220391098
    Abstract: A method begins by a computing device of a storage network receiving a storage network access request and determining whether the storage network access request requires multiple access steps to a plurality of storage units, where a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed storage error encoding parameters to produce a set of encoded data slices that are distributedly stored among a plurality of storage units, and where a decode threshold number of encoded data slices are needed to recover the data segment. When the storage network access request requires multiple access steps to a plurality of storage units, the method continues with the computing device determining to delegate at least as portion of the multiple access steps to a delegation agent issuing a multi-step object access partial task to the delegation agent; and receiving a multistep object access result.
    Type: Application
    Filed: August 16, 2022
    Publication date: December 8, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Greg R. Dhuse, Jason K. Resch
  • Patent number: 11520936
    Abstract: A method of volume compressed header identification includes reading, by a processing device of a host, compressible data on a sector of a storage volume of a storage array. The method further includes compressing the compressible data to generate compressed data for the sector. The method further includes adding, by the processing device of the host, metadata associated with the storage volume to the compressed data. The method further includes writing the compressed data, including the added metadata, to the sector of the storage volume of the storage array.
    Type: Grant
    Filed: December 22, 2020
    Date of Patent: December 6, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Yuval Frandzel, Kiron Vijayasankar, Alexandre Xavier Duchateau, Constantine P. Sapuntzakis
  • Patent number: 11520907
    Abstract: An illustrative method includes a data protection system determining an encryption indicator for a first recovery dataset associated with a storage system, the encryption indicator representative of a likelihood that a threshold amount of data associated with the first recovery dataset is encrypted; and performing, based on the encryption indicator for the first recovery dataset, an action with respect to a second recovery dataset associated with the storage system.
    Type: Grant
    Filed: January 28, 2021
    Date of Patent: December 6, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Benjamin P Borowiec, Ronald Karr
  • Patent number: 11520720
    Abstract: Ensuring the appropriate utilization of system resources using weighted workload based, time-independent scheduling, including: receiving an I/O request associated with an entity; determining whether an amount of system resources required to service the I/O request is greater than an amount of available system resources in a storage system; responsive to determining that the amount of system resources required to service the I/O request is greater than the amount of available system resources in the storage system: queueing the I/O request in an entity-specific queue for the entity; detecting that additional system resources in the storage system have become available; and issuing an I/O request from an entity-specific queue for an entity that has a highest priority, where a priority for each entity is determined based on the amount of I/O requests associated with the entity and a weighted proportion of resources designated for use by the entity.
    Type: Grant
    Filed: October 26, 2020
    Date of Patent: December 6, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Yuval Frandzel, Kiron Vijayasankar
  • Patent number: 11520516
    Abstract: A synchronous write operation is decomposed into an asynchronous write operation and a separate flush operation. The payload of the write operation is sent a plurality of storage nodes hosting replicas of a virtual storage volume. The write operation is only acknowledged after the payload is stored in kernel memory in a quorum of storage nodes hosting replicas. Write operations are only flushed to persistent storage after a predetermined window of time has transpired or after a threshold number of outstanding write operations that have been acknowledged, but not yet flushed, has been reached.
    Type: Grant
    Filed: February 25, 2021
    Date of Patent: December 6, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Vinod Jayaraman, Prabir Paul
  • Patent number: 11520514
    Abstract: A command is transmitted to a storage device to relocate first data that partially fills a first erase block of the storage device and second data that partially fills a second erase block of the storage device to a third erase block of the storage device, wherein the command causes the relocation of the first data and the second data while bypassing sending the data to the storage controller. An acknowledgement that the first data and the second data have been stored at the third erase block is received from the storage device.
    Type: Grant
    Filed: July 20, 2021
    Date of Patent: December 6, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Zoltan DeWitt, Gordon James Coleman, Benjamin Scholbrock, Rongjin Qiao
  • Publication number: 20220382634
    Abstract: A system includes a plurality of storage units each including a network port operably coupled to the network, where one or more storage vaults is associated with the plurality of storage units and each storage vault of the one or more storage vaults represents a software-constructed grouping of storage units of the plurality of storage units, where the software-constructed grouping of storage units stores encoded data slices, where a data segment is encoded using an information dispersal algorithm to produce the encoded data slices, and where a storage unit: receives, via the network port, a request regarding the data segment stored in the software-constructed grouping of storage units, obtains, from a data structure pertaining to the software-constructed grouping of storage units, information regarding the request, determines whether the request is valid based on the information regarding the request, and when the request is valid, the storage unit executes the request.
    Type: Application
    Filed: August 4, 2022
    Publication date: December 1, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Sebastien Vas, Zachary J. Mark, Jason K. Resch
  • Patent number: 11513685
    Abstract: A method for execution by a dispersed storage and task (DST) client module includes issuing a read threshold number of read slice requests are issued to storage units of the set of storage units. One or more encoded slices of a selected read threshold number of encoded slices are received. When a next encoded data slice of a decode threshold number of encoded data slices is received within a response timeframe, outputting of the next encoded data slice is initiated. When the next encoded data slice is not received within the response timeframe, receiving of another decode threshold number of encoded slices of the set of encoded slices is facilitated. The other decode threshold number of encoded slices are decoded to produce recovered encoded data slices, where the recovered encoded data slices includes at least a recovered next encoded data. Outputting of the recovered next encoded data slice is initiated.
    Type: Grant
    Filed: September 3, 2021
    Date of Patent: November 29, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Bruno H. Cabral, Wesley B. Leggette
  • Patent number: 11513974
    Abstract: A block of a storage device of a plurality of storage devices is allocated for storage of data, wherein the allocation comprises identifying a nonce associated with the block of the storage device. An erase command for the block is transmitted to the storage device, the erase command comprising the nonce, wherein the storage device is to erase the block upon determining that the nonce matches a corresponding nonce stored locally at the storage device.
    Type: Grant
    Filed: September 8, 2020
    Date of Patent: November 29, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Andrew R. Bernat, Grigori Inozemtsev, Gordon James Coleman, Yuhong Mao
  • Publication number: 20220374153
    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 configured to transmit a write request for a first write threshold number of encoded data slices of a set of encoded data slices to a set of storage units associated with a first storage site and transmit a write request for a second write threshold number of encoded data slices to a set of storage units associated with a second storage site.
    Type: Application
    Filed: August 4, 2022
    Publication date: November 24, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Greg R. Dhuse, Jason K. Resch, Ethan S. Wozniak
  • Publication number: 20220374311
    Abstract: A method includes determining an encoded data slice of a first subset of encoded data slices associated with a set of encoded data slices requires rebuilding, where the first subset of encoded data slices is stored in a set of storage units and includes at least a decode threshold number of encoded data slices. The method further includes identifying a second encoded data slice of a second subset of encoded data slices of the set of encoded data slices, where the second subset of encoded data slices is not currently stored in the set of storage units. The method further includes generating the second encoded data slice from the first subset of encoded data slices and sending the second encoded data slice to the set of storage units, where when stored, the second encoded data slice no longer included in the second subset of encoded data slices.
    Type: Application
    Filed: August 5, 2022
    Publication date: November 24, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Jason K. Resch, Greg R. Dhuse