Patents Assigned to Pure Storage
-
Patent number: 11061758Abstract: 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: GrantFiled: November 12, 2019Date of Patent: July 13, 2021Assignee: Pure Storage, Inc.Inventors: Patrick Lee, Vinay Perneti, Sergey Zhuravlev, John Colgrove
-
Patent number: 11061573Abstract: 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: GrantFiled: January 7, 2019Date of Patent: July 13, 2021Assignee: Pure Storage, Inc.Inventor: Joshua Freilich
-
Patent number: 11057468Abstract: 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: GrantFiled: May 8, 2018Date of Patent: July 6, 2021Assignee: Pure Storage, Inc.Inventors: John Colgrove, John D. Davis, John Hayes
-
Patent number: 11055177Abstract: 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: GrantFiled: December 18, 2017Date of Patent: July 6, 2021Assignee: PURE STORAGE, INC.Inventors: S. Christopher Gladwin, Bart R. Cilfone, Adam D. Eggum, Jason K. Resch
-
Patent number: 11054996Abstract: 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: GrantFiled: September 10, 2019Date of Patent: July 6, 2021Assignee: PURE STORAGE, INC.Inventors: Peter E. Kirkpatrick, Ronald Karr
-
Patent number: 11048590Abstract: 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: GrantFiled: July 30, 2019Date of Patent: June 29, 2021Assignee: Pure Storage, Inc.Inventors: Constantine Sapuntzakis, Naveen Neelakantam, Ronald Karr
-
Patent number: 11042452Abstract: 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: GrantFiled: March 20, 2019Date of Patent: June 22, 2021Assignee: Pure Storage, Inc.Inventor: Gregory McNutt
-
Patent number: 11036584Abstract: 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: GrantFiled: July 30, 2019Date of Patent: June 15, 2021Assignee: Pure Storage, Inc.Inventors: Greg Dhuse, Jason K. Resch, Thomas Franklin Shirley, Jr.
-
Patent number: 11036393Abstract: 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: GrantFiled: November 19, 2018Date of Patent: June 15, 2021Assignee: PURE STORAGE, INC.Inventors: Ethan Miller, Lydia Do, John Colgrove
-
Patent number: 11036596Abstract: 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: GrantFiled: January 22, 2019Date of Patent: June 15, 2021Assignee: Pure Storage, Inc.Inventors: Gordon James Coleman, Andrew R. Bernat, Peter E. Kirkpatrick
-
Patent number: 11036583Abstract: 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: GrantFiled: May 24, 2019Date of Patent: June 15, 2021Assignee: Pure Storage, Inc.Inventors: John Hayes, John Colgrove, Robert Lee, Joshua Robinson, Igor Ostrovsky
-
Patent number: 11036392Abstract: 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: GrantFiled: July 21, 2017Date of Patent: June 15, 2021Assignee: PURE STORAGE, INC.Inventor: Jason K. Resch
-
Patent number: 11036677Abstract: 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: GrantFiled: October 30, 2018Date of Patent: June 15, 2021Assignee: Pure Storage, Inc.Inventors: David Grunwald, Luke Paulsen, Ronald Karr, Thomas Gill, Yao-Cheng Tien
-
Patent number: 11032123Abstract: 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: GrantFiled: July 11, 2019Date of Patent: June 8, 2021Assignee: Pure Storage, Inc.Inventors: Andrew Bernat, Timothy Brennan, Alan Driscoll, Grigori Inozemtsev
-
Patent number: 11029853Abstract: 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: GrantFiled: December 17, 2018Date of Patent: June 8, 2021Assignee: Pure Storage, Inc.Inventors: Timothy W. Brennan, Nidhi Pankaj Doshi, Xiaohui Wang
-
Patent number: 11032259Abstract: 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: GrantFiled: October 23, 2018Date of Patent: June 8, 2021Assignee: Pure Storage, Inc.Inventors: Andrew Bernat, Timothy Brennan, Ethan Miller, John Colgrove
-
Patent number: 11030160Abstract: 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: GrantFiled: December 5, 2018Date of Patent: June 8, 2021Assignee: Pure Storage, Inc.Inventors: Benjamin Borowiec, Terence Noonan
-
Patent number: 11030090Abstract: 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: GrantFiled: July 29, 2019Date of Patent: June 8, 2021Assignee: Pure Storage, Inc.Inventors: Robert Lee, Svitlana Tumanova, Boris Feigin, Taher Vohra
-
Patent number: 11024390Abstract: 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: GrantFiled: October 31, 2017Date of Patent: June 1, 2021Assignee: Pure Storage, Inc.Inventors: Radek Aster, Andrew R. Bernat, Boris Feigin, Ronald Karr, Robert Lee
-
Patent number: 11023179Abstract: 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: GrantFiled: April 3, 2019Date of Patent: June 1, 2021Assignee: Pure Storage, Inc.Inventors: Aswin Karumbunathan, John Colgrove, Constantine Sapuntzakis, Joshua Freilich, Naveen Neelakantam, Sergey Zhuravlev