Patents Assigned to Pure Storage
  • Patent number: 11442645
    Abstract: A method for storage cluster expansion is provided. The method includes distributing user data throughout a storage cluster as directed by each of a plurality of authorities in the storage cluster. Each of the plurality of authorities has a plurality of wards, and each of the plurality of wards has ownership of a range of the user data. The method includes splitting one of the plurality of authorities, as a parent authority, into at least two child authorities and assigning a first subset of the plurality of wards of the parent authority to one of the at least two child authorities, and a second subset of the plurality of wards of the parent authority to another one of the at least two child authorities.
    Type: Grant
    Filed: February 25, 2021
    Date of Patent: September 13, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Robert Lee, John Martin Hayes, Faissal Sleiman
  • Patent number: 11442640
    Abstract: A system and method for utilizing unmapped and unknown states in a storage system. When a first portion of a first medium is determined to be unreachable from any other mediums, the first portion of the first medium may be put into an unmapped state, and its data may be discarded and the corresponding storage locations may be freed. During replication of the first medium to a replica storage array, the state of the first portion of the first medium may be translated from the unmapped state into an unknown state on the replica storage array. If another storage array has the data of the first portion of the first medium, this data may be used to overwrite the first portion of the first medium on the replica storage array, converting the first portion of the first medium from the unknown state into the mapped state.
    Type: Grant
    Filed: October 14, 2020
    Date of Patent: September 13, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Ethan L. Miller, John Colgrove, Christopher Golden, Steve Hodgson, Malcolm Sharpe
  • Patent number: 11442625
    Abstract: A storage cluster is provided. The storage cluster includes a plurality of storage nodes, each of the plurality of storage nodes having nonvolatile solid-state memory and a plurality of operations queues coupled to the solid-state memory. The plurality of storage nodes is configured to distribute the user data and metadata throughout the plurality of storage nodes such that the plurality of storage nodes can access the user data with a failure of two of the plurality of storage nodes. Each of the plurality of storage nodes is configured to determine whether a read of 1 or more bits in the solid-state memory via a first path is within a latency budget. The plurality of storage nodes is configured to perform a read of user data or metadata via a second path, responsive to a determination that the read of the bit via the first path is not within the latency budget.
    Type: Grant
    Filed: March 26, 2021
    Date of Patent: September 13, 2022
    Assignee: Pure Storage, Inc.
    Inventors: John D. Davis, John Hayes, Hari Kannan, Nenad Miladinovic, Zhangxi Tan
  • Patent number: 11442921
    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.
    Type: Grant
    Filed: August 22, 2019
    Date of Patent: September 13, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Kumar Abhijeet, Andrew D. Baptist, Wesley B. Leggette, Greg R. Dhuse, Jason K. Resch, Manish Motwani
  • Patent number: 11442825
    Abstract: Establishing a synchronous replication relationship between two or more storage systems, including: identifying, for a dataset, a plurality of storage systems across which the dataset will be synchronously replicated; configuring one or more data communications links between each of the plurality of storage systems to be used for synchronously replicating the dataset; exchanging, between the plurality of storage systems, timing information for at least one of the plurality of storage systems; and establishing, in dependence upon the timing information for at least one of the plurality of storage systems, a synchronous replication lease, the synchronous replication lease identifying a period of time during which the synchronous replication relationship is valid.
    Type: Grant
    Filed: April 26, 2021
    Date of Patent: September 13, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: David Grunwald, Steven Hodgson, Ronald Karr, Kunal Trivedi, Christopher Golden, Thomas Gill, Connor Brooks, Zoheb Shivani
  • Patent number: 11438279
    Abstract: The embodiments provide for a method of expanding a clustered service. The method includes inserting a network layer, comprising multiple switch devices, between switch devices of a network and switch devices of a clustered service, rearranging connections of the switch devices of the network and the switch devices of the clustered service to form a multi-chassis link aggregation group (MC-LAG), and maintaining data traffic during the rearranging the connections.
    Type: Grant
    Filed: October 11, 2018
    Date of Patent: September 6, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Matthew Strathman, Oksana Aguilera, Smruthi Manjunath, Bennett Amodio
  • Patent number: 11435904
    Abstract: A system and method for adaptive RAID geometries. A computer system comprises client computers and data storage arrays coupled to one another via a network. A data storage array utilizes solid-state drives and Flash memory cells for data storage. A storage controller within a data storage array is configured to determine a first RAID layout for use in storing data, and write a first RAID stripe to the device group according to the first RAID layout. In response to detecting a first condition, the controller is configured to determine a second RAID layout which is different from the first RAID layout, and write a second RAID stripe to the device group according to the second layout, whereby the device group concurrently stores data according to both the first RAID layout and the second RAID layout.
    Type: Grant
    Filed: August 29, 2019
    Date of Patent: September 6, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: John Colgrove, John Hayes, Bo Hong, Ethan Miller
  • Patent number: 11436023
    Abstract: A method of operating a storage system is provided. The method includes executing an operating system on one or more processors of a compute device that is coupled to one or more solid-state drives and executing a file system on the one or more processors of the compute device. The method includes configuring the compute device with one or more replaceable plug-ins that are specific to the one or more solid-state drives, and executing a flash translation layer on the one or more processors of the compute device, with assistance through the one or more replaceable plug-ins for reading and writing the one or more solid-state drives.
    Type: Grant
    Filed: April 12, 2019
    Date of Patent: September 6, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Russell Sears, Hari Kannan, Yuhong Mao
  • Patent number: 11436378
    Abstract: A method includes compressing data to generate compressed data having a first block size corresponding to a block-size requirement of a client device. The method further includes encrypting the compressed data to generate an encrypted data packet. The method further includes adding, by a processing device, a padding bit pattern to the encrypted data packet to generate a data block for storage, the data block having a second block size determined by a buffer size of a storage array.
    Type: Grant
    Filed: July 30, 2020
    Date of Patent: September 6, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Kiron Vijayasankar, Alexandre Xavier Duchateau, Constantine P. Sapuntzakis, Yuval Frandzel
  • Patent number: 11436344
    Abstract: Secure encryption in a deduplication cluster, including: initiating, by a node among a cluster of nodes, a leadership transition that includes transmitting an updated secret key identifier to each of the cluster of nodes; receiving, at the node, an alternative secret key identifier that is different from both a current secret key identifier and from the updated secret key identifier; updating, based at least in part on a resolution policy, the current secret key identifier to be the updated secret key identifier instead of the alternative secret key identifier; and transitioning, based at least in part on the updated secret key identifier being selected to be the current secret key identifier, the node to be a leader node of the cluster of nodes.
    Type: Grant
    Filed: January 13, 2020
    Date of Patent: September 6, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Ian Juch, Tyler Power
  • Publication number: 20220278821
    Abstract: A method begins by a processing module of a storage unit of a storage network identifying a first storage format used to store a plurality of encoded data slices in a first memory of the storage unit and continues with the processing module determining to utilize another storage format for storage of the plurality of encoded data slices. The method then continues, with the storage unit selecting a second storage format for storage of the plurality of encoded data slices and initiating migration of the plurality of encoded data slices from the first storage format to storage using the second storage format. Finally, the method continues with updating a performance metric for at least a portion of the storage network while initiating migrating the plurality of encoded data slices.
    Type: Application
    Filed: May 16, 2022
    Publication date: September 1, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Jason K. Resch, Greg R. Dhuse, Bart R. Cilfone
  • Publication number: 20220277111
    Abstract: A method includes a computing device of a storage network obfuscating encoded data slices of a first set of encoded data slices of a plurality of sets of encoded data slices using an obfuscating method to produce obfuscated encoded data slices. The method further includes the computing device of the storage network outputting the obfuscated encoded data slices for storage in the storage network.
    Type: Application
    Filed: May 18, 2022
    Publication date: September 1, 2022
    Applicant: Pure Storage, Inc.
    Inventors: S. Christopher Gladwin, Thomas F. Shirley, JR., Gary W. Grube
  • Publication number: 20220276923
    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.
    Type: Application
    Filed: May 13, 2022
    Publication date: September 1, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Gary W. Grube, Timothy W. Markison
  • Publication number: 20220276787
    Abstract: A method includes detecting a memory error associated with a memory device of a storage unit of a set of storage units that is storing a set of encoded data slices, the storage unit services encoded data slice access messages from a processing unit, and the detecting occurs while attempting to access one or more of: a read threshold number (R) of encoded data slices, a decode threshold number (D) of encoded data slices needed to reconstruct the data segment, or a write threshold number (W) indicating a number of encoded data slices that must be accurately stored. The method further includes identifying an error descriptor code based on the detected memory error. The method further includes determining to perform an action based on the error descriptor code and executing the action to produce an action result.
    Type: Application
    Filed: April 29, 2022
    Publication date: September 1, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Andrew D. Baptist, Ilir Iljazi, Niall J. McShane, Jason K. Resch
  • Patent number: 11429486
    Abstract: In various embodiments, a method is presented for execution by a processing circuit of a storage network device that includes a processor. The method comprises: receiving, via the processing circuit, a first subset of encoded data slices of a set of encoded data slices corresponding to a data segment; identifying, via the processing circuit, at least one missing encoded data slice of the first subset of slices that is required to decode the data segment; generating, via the processing circuit, at least one rebuilt encoded data slice corresponding to the at least one missing encoded data slice utilizing locally decodable redundancy data; and recovering, via the processing circuit, the data segment based on the at least one rebuilt encoded data slice and the first subset of encoded data slices.
    Type: Grant
    Filed: October 30, 2020
    Date of Patent: August 30, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: 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
  • Patent number: 11431488
    Abstract: Protecting local key generation using a remote key management service, including: transforming a local secret to generate a transformed local secret; transmitting the transformed local secret to a key management service; and decrypting, based on an encryption key received from the key management service, a data encryption key for encrypting or decrypting local data.
    Type: Grant
    Filed: June 8, 2020
    Date of Patent: August 30, 2022
    Assignee: Pure Storage, Inc.
    Inventor: Constantine Sapuntzakis
  • Publication number: 20220269562
    Abstract: A method includes receiving a data retrieval request. A plurality of identifiers are determined in accordance with the data retrieval request. Integrity information is generated based on determining the plurality of identifiers by performing a cyclic redundancy check. Stored integrity information corresponding to the data retrieval request is compared with the integrity information, where the stored integrity information was previously generated by performing the cyclic redundancy check. When the stored integrity information compares unfavorably with the integrity information, corruption associated with the plurality of identifiers is determined.
    Type: Application
    Filed: May 13, 2022
    Publication date: August 25, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Gary W. Grube, Timothy W. Markison, Sebastien Vas, Zachary J. Markison, Jason K. Resch
  • Patent number: 11422731
    Abstract: Protecting data stored on a storage system through the use of different storage levels, including: creating a snapshot of a dataset stored on a storage system, wherein the snapshot includes user data and metadata, and wherein the metadata describes the storage layout of the dataset, offloading the snapshot to a first storage level storage system, and migrating, in accordance with a lifecycle policy, the snapshot from the first storage level storage system onto a second storage level storage system.
    Type: Grant
    Filed: April 6, 2020
    Date of Patent: August 23, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Alexei Potashnik, Yisha Zhao, Subramaniam Periyagaram, Dirk Meister, Cary Sandvig
  • Patent number: 11422711
    Abstract: A computing device includes an interface configured to interface and communicate with a dispersed 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. For example, the computing device monitors storage unit (SU)-based write transfer rates and SU-based write failure rates associated with each of the SUs for a write request of encoded data slices (EDSs) to the SUs within the DSN. The computing device generates and maintains a SU write performance distribution based on monitoring of the SU-based write transfer rates and the SU-based write failure rates and adaptively adjusts a trimmed write threshold number of EDSs and/or a target width of EDSs for write requests of sets of EDSs to the SUs within the DSN.
    Type: Grant
    Filed: November 30, 2020
    Date of Patent: August 23, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Greg R. Dhuse, Jason K. Resch, Ethan S. Wozniak
  • Patent number: 11422730
    Abstract: Recovery for storage systems synchronously replicating a dataset, including: receiving, by at least one storage system among the plurality of storage systems synchronously replicating the dataset, a request to modify the dataset; generating recovery information indicating whether the request to modify the dataset has been applied on all storage systems in the plurality of storage systems synchronously replicating the dataset; and responsive to a system fault, applying a recovery action in dependence upon the recovery information indicating whether the request to modify the dataset has been applied on all storage systems in the plurality of storage systems synchronously replicating the dataset.
    Type: Grant
    Filed: September 6, 2017
    Date of Patent: August 23, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Deepak Chawla, David Grunwald, Ronald Karr, Arun Rokade