Patents Assigned to Pure Storage
  • Patent number: 11061758
    Abstract: Proactively providing corrective measures for storage arrays includes: receiving data from a storage array, the data including one or more events; detecting, in dependence upon a problem signature, one or more events from the data indicative of a particular problem, where the problem signature comprises a specification of a pattern of events indicative of the particular problem experienced by at least one other storage array; determining whether the particular problem violates an operational policy of the storage array, the operational policy specifying at least one requirement for an operational metric of the storage array; and if the particular problem violates the operational policy of the storage array, deploying automatically without user intervention one or more corrective measures to prevent the storage array from experiencing the particular problem.
    Type: Grant
    Filed: November 12, 2019
    Date of Patent: July 13, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Patrick Lee, Vinay Perneti, Sergey Zhuravlev, John Colgrove
  • Patent number: 11061573
    Abstract: Dynamically adjusting a number of storage devices in a storage system that may be utilized to simultaneously service write operations, includes: limiting a number of storage devices within a failure domain that may be simultaneously servicing write operations to a number less than a number of storage devices that may be lost without resulting in a loss of data; determining that an event has occurred that requires additional write bandwidth; and responsive to determining that an event has occurred that requires additional write bandwidth, increasing the number of storage devices that may be simultaneously servicing write operations.
    Type: Grant
    Filed: January 7, 2019
    Date of Patent: July 13, 2021
    Assignee: Pure Storage, Inc.
    Inventor: Joshua Freilich
  • Patent number: 11057468
    Abstract: A storage system is provided. The storage system includes a plurality of storage units, each of the plurality of storage units having storage memory for user data and a plurality of storage nodes, each of the plurality of storage nodes configured to have ownership of a portion of the user data. The storage system includes a first pathway, coupling the plurality of storage units such that each of the plurality of storage units can communicate with at least one other of the plurality of storage units via the first pathway without assistance from the plurality of storage nodes.
    Type: Grant
    Filed: May 8, 2018
    Date of Patent: July 6, 2021
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, John D. Davis, John Hayes
  • Patent number: 11055177
    Abstract: A method for execution by a managing unit of a dispersed storage network (DSN) includes facilitating capture of log information from a plurality of entities of the DSN for storage in a log vault of the DSN. An error condition with regards to at least one of the plurality of entities can be detected. Error correlation information that includes an identified at least one of the plurality of entities can be generated based on the error condition and the log information. A DSN configuration change can be facilitated based on the error correlation information.
    Type: Grant
    Filed: December 18, 2017
    Date of Patent: July 6, 2021
    Assignee: PURE STORAGE, INC.
    Inventors: S. Christopher Gladwin, Bart R. Cilfone, Adam D. Eggum, Jason K. Resch
  • Patent number: 11054996
    Abstract: In one implementation, a method includes maintaining a list of available erase block portions across a plurality of flash devices of a flash storage system, and wherein erase blocks are categorized by the flash storage system as available for use, in use, or unusable. The method further includes receiving data from a plurality of sources, wherein the data is associated with processing a dataset, the dataset comprising multiple file systems and associated metadata. The method further includes determining a plurality of subsets of the data such that each subset is capable of being written in parallel with the remaining subsets, mapping each subset of the plurality of subsets to an available allocation unit, and writing the plurality of subsets in parallel.
    Type: Grant
    Filed: September 10, 2019
    Date of Patent: July 6, 2021
    Assignee: PURE STORAGE, INC.
    Inventors: Peter E. Kirkpatrick, Ronald Karr
  • Patent number: 11048590
    Abstract: Servicing I/O operations in a cloud-based storage system, including: receiving, by the cloud-based storage system, a request to write data to the cloud-based storage system; storing, in solid-state storage of the cloud-based storage system, the data; storing, in object storage of the cloud-based storage system, the data; detecting that at least some portion of the solid-state storage of the cloud-based storage system has become unavailable; identifying data that was stored in the portion of the solid-state storage of the cloud-based storage system that has become unavailable; retrieving, from object storage of the cloud-based storage system, the data that was stored in the portion of the solid-state storage of the cloud-based storage system that has become unavailable; and storing, in solid-state storage of the cloud-based storage system, the retrieved data.
    Type: Grant
    Filed: July 30, 2019
    Date of Patent: June 29, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Constantine Sapuntzakis, Naveen Neelakantam, Ronald Karr
  • Patent number: 11042452
    Abstract: A method for storage system reliability using data recovery as a service, the method including: receiving, for storage data on a storage system, a specification for a particular recovery time objective (“RTO”) and recovery point objective (“RPO”) setting among a plurality of options for RTO/RPO settings; generating, in accordance with the particular RTO/RPO setting, a change stream of data in response to receiving data to be stored on the storage system; and transmitting, from the storage system to a cloud data recovery as a service endpoint, the change stream of data from which data on the storage system may be recovered up to a point in time corresponding to the particular RPO setting and within a time period corresponding to the particular RTO setting.
    Type: Grant
    Filed: March 20, 2019
    Date of Patent: June 22, 2021
    Assignee: Pure Storage, Inc.
    Inventor: Gregory McNutt
  • Patent number: 11036584
    Abstract: A method includes, for a current phase of a multiple phase write operation to write a set of encoded data slices to a set of storage units, determining whether to send a write performance threshold number of write requests to a subset of the set of storage units regarding a write performance threshold number of encoded data slices of the set of encoded data slices, where the set of encoded data slices includes a total number of encoded data slices, and wherein the write performance threshold number is less than the total number and greater than or equal to the write threshold number. When the write performance threshold number of write requests is to be sent to the subset of the set of storage units, the method continues by sending the write performance threshold number of write requests to the subset of the set of storage units.
    Type: Grant
    Filed: July 30, 2019
    Date of Patent: June 15, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Greg Dhuse, Jason K. Resch, Thomas Franklin Shirley, Jr.
  • Patent number: 11036393
    Abstract: A storage controller coupled to a storage array comprising one or more storage devices initiates a transformation of data from a block-based storage system resident on the storage array to a file-based storage system resident on a storage array. The storage controller identifies a plurality of data blocks to be transformed from the block-based storage system and generates metadata for a file in the file-based storage system, the metadata to associate the plurality of data blocks with the file.
    Type: Grant
    Filed: November 19, 2018
    Date of Patent: June 15, 2021
    Assignee: PURE STORAGE, INC.
    Inventors: Ethan Miller, Lydia Do, John Colgrove
  • Patent number: 11036596
    Abstract: A system includes a plurality of solid-state storage devices and a storage controller coupled to the plurality of solid-state storage devices. The storage controller includes a processing device, the processing device to receive a write request from a host computing device. The write request includes data to be stored at one or more of the plurality of solid-state storage devices. The processing device is to send an acknowledgement to the host computing device in response to receipt of the write request, store the data at the one or more of the plurality of solid-state storage devices, determine whether the data stored at the one or more of the plurality of solid-state storage devices is readable, and in response to determining that the data is readable, notify, by the processing device, the host computing device that the stored data is readable from the one or more of the plurality of solid-state storage devices.
    Type: Grant
    Filed: January 22, 2019
    Date of Patent: June 15, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Gordon James Coleman, Andrew R. Bernat, Peter E. Kirkpatrick
  • Patent number: 11036583
    Abstract: A method for proactively rebuilding user data in a plurality of storage nodes of a storage cluster is provided. The method includes distributing user data and metadata throughout the plurality of storage nodes such that the plurality of storage nodes can read the user data, using erasure coding, despite loss of two of the storage nodes. The method includes determining that one of the storage nodes is unreachable and determining to rebuild the user data for the one of the storage nodes that is unreachable. The method includes reading the user data across a remainder of the plurality of storage nodes, using the erasure coding and writing the user data across the remainder of the plurality of storage nodes, using the erasure coding. A plurality of storage nodes within a single chassis that can proactively rebuild the user data stored within the storage nodes is also provided.
    Type: Grant
    Filed: May 24, 2019
    Date of Patent: June 15, 2021
    Assignee: Pure Storage, Inc.
    Inventors: John Hayes, John Colgrove, Robert Lee, Joshua Robinson, Igor Ostrovsky
  • Patent number: 11036392
    Abstract: A data encryption system receives data to be encrypted prior to being transmitted to a storage unit. The received data is analyzed to determine a secure storage approach based on a risk level associated with the received data. In response to the risk level satisfying a threshold risk level the data encryption system uses a convergent encryption technique to encrypt the received data, but in response to the risk level failing to satisfy the threshold risk level, the data encryption system encrypts the received data using a key based on a random number. The encrypted data is transmitted to a storage unit.
    Type: Grant
    Filed: July 21, 2017
    Date of Patent: June 15, 2021
    Assignee: PURE STORAGE, INC.
    Inventor: Jason K. Resch
  • Patent number: 11036677
    Abstract: Performing replicated data integrity, including: generating, at a first computer system, a local hash of a local dataset; replicating the local dataset; receiving, at the first computer system from a second computer system, a remote hash of a remote dataset generated from the local dataset replicated from the first computer system; and determining, based at least on a comparison of the local hash of the local dataset with the remote hash of the remote dataset, validity of the remote dataset generated from the local dataset replicated from the first computer system.
    Type: Grant
    Filed: October 30, 2018
    Date of Patent: June 15, 2021
    Assignee: Pure Storage, Inc.
    Inventors: David Grunwald, Luke Paulsen, Ronald Karr, Thomas Gill, Yao-Cheng Tien
  • Patent number: 11032123
    Abstract: Distributing management responsibilities for a storage system that includes a storage array controller and a plurality of storage devices, including: identifying a plurality of elements in the storage system; for each of the plurality of elements in the storage system, creating a distributed manager, wherein each distributed manager is configured for gathering information describing the state of the associated element in the storage system, determining an action to perform against the associated element in the storage system, and executing an approved action against the associated element in the storage system; and creating a distributed management hierarchy that includes each of the distributed managers.
    Type: Grant
    Filed: July 11, 2019
    Date of Patent: June 8, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Andrew Bernat, Timothy Brennan, Alan Driscoll, Grigori Inozemtsev
  • Patent number: 11029853
    Abstract: Apparatus and methods of operating solid-state drives in a storage system are described. A method includes adjusting, by a host controller of a storage system during run-time, storage bandwidth for a storage system process responsive to an input output (I/O) write request to write data to the storage system that includes multiple solid-state storage drives by determining an allocation share for the storage system process requesting to write the data, and responsive to determining an open segment usage by the storage system process is under the allocation share for the storage system process, opening a new segment for the storage system process.
    Type: Grant
    Filed: December 17, 2018
    Date of Patent: June 8, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Timothy W. Brennan, Nidhi Pankaj Doshi, Xiaohui Wang
  • Patent number: 11032259
    Abstract: In a storage system that includes a plurality of NVMe SSDs, data protection may be carried out by: for each of the plurality of NVMe SSDs, encrypting a device key using a master secret, wherein the device key, when not encrypted, is used to encrypt and decrypt data in one or more namespaces on the NVMe SSD; generating a plurality of shares from the master secret; and storing a separate share of the plurality of shares in a namespace prohibited from encryption on each NVMe SSD.
    Type: Grant
    Filed: October 23, 2018
    Date of Patent: June 8, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Andrew Bernat, Timothy Brennan, Ethan Miller, John Colgrove
  • Patent number: 11030160
    Abstract: Proactive management of a plurality of storage arrays in a multi-array system, including: comparing one or more conditions of a particular storage array to conditions of other storage arrays in the multi-array system; and generating an action recommendation based on the comparison, the action recommendation specifying one or more actions for improving the conditions of the particular storage array relative to the conditions of the other storage arrays.
    Type: Grant
    Filed: December 5, 2018
    Date of Patent: June 8, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Benjamin Borowiec, Terence Noonan
  • Patent number: 11030090
    Abstract: A method for elective garbage collection in storage memory, performed by a storage system is provided. The method includes monitoring storage space available in each of a plurality of portions of storage memory of a storage system and detecting an imbalance in the storage space available across the plurality of portions of storage memory. The method includes performing garbage collection to rebalance the space available across the plurality of portions of storage memory, responsive to the detecting. A storage system is also provided.
    Type: Grant
    Filed: July 29, 2019
    Date of Patent: June 8, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Robert Lee, Svitlana Tumanova, Boris Feigin, Taher Vohra
  • Patent number: 11024390
    Abstract: A method for writing to a storage memory is provided. The method includes determining erase block size for each of a plurality of erase blocks of the storage memory, wherein at least two of the plurality of erase blocks have differing erase block sizes. The method includes forming a plurality of data segments and writing the plurality of data segments across the plurality of erase blocks of the storage memory, with at least one of the plurality of erase blocks storing portions of two or more of the plurality of data segments.
    Type: Grant
    Filed: October 31, 2017
    Date of Patent: June 1, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Radek Aster, Andrew R. Bernat, Boris Feigin, Ronald Karr, Robert Lee
  • Patent number: 11023179
    Abstract: A cloud-based storage system contained in a cloud computing environment, the cloud-based storage system including: determining, at the cloud-based storage system and in response to a request for data, that the data previously stored within one or more virtual instances of a virtual instance layer is no longer stored within the one or more virtual instances; generating, within the virtual instance layer, a quantity of virtual instances to receive data restored from a cloud-based storage layer of the cloud-based storage system; and restoring, into the quantity of virtual instances at the virtual instance layer, data from the cloud-based storage layer of the cloud-based storage system.
    Type: Grant
    Filed: April 3, 2019
    Date of Patent: June 1, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Aswin Karumbunathan, John Colgrove, Constantine Sapuntzakis, Joshua Freilich, Naveen Neelakantam, Sergey Zhuravlev