Patents Assigned to Pure Storage
-
Patent number: 10990282Abstract: Hybrid data tiering, including: replicating multiple data objects from a first storage location on a first computer system to a second storage location at a second computer system; receiving, from a client computing system, a retention policy specifying one or more rules or conditions to evaluate to determine whether to continue storing data at a first storage location in addition to storing the data at a second storage location; identifying, in accordance with the retention policy, some of the multiple data objects to continue storing at the first storage location, wherein all of the multiple data objects remain stored at the second storage location; and selecting the identified some of the multiple data objects to remain stored at the first storage location.Type: GrantFiled: January 29, 2019Date of Patent: April 27, 2021Assignee: Pure Storage, Inc.Inventors: Robert Lee, Tyler Power, Mark Cox, Mark Emberson
-
Patent number: 10990283Abstract: 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: GrantFiled: February 18, 2019Date of Patent: April 27, 2021Assignee: Pure Storage, Inc.Inventors: John D. Davis, John Hayes, Hari Kannan, Nenad Miladinovic, Zhangxi Tan
-
Patent number: 10990306Abstract: Applying a rate limit across a plurality of storage systems, including: determining a rate limit for paired storage systems; receiving, by a first storage system, an amount of I/O operations serviced by the second storage system during a previous predetermined period of time; determining whether the amount of I/O operations serviced by the second storage system is less than half of the rate limit for the paired storage systems; if so, setting local a rate limit for a next predetermined period of time for the first storage system to the difference between the rate limit for the paired storage systems and the amount of I/O operations serviced by the second storage system during the previous predetermined period of time; and otherwise, setting a local rate limit for a next predetermined period of time for the first storage system to half of the rate limit for the paired storage systems.Type: GrantFiled: April 22, 2020Date of Patent: April 27, 2021Assignee: Pure Storage, Inc.Inventors: Mudit Aggarwal, Yuval Frandzel
-
Patent number: 10990566Abstract: A method for file locks in a distributed file system, performed by a storage system is provided. The method includes receiving, at a storage system having a distributed file system, a request for access of a file and locking the file, through one of a plurality of persistent file locks in the storage system. The method includes accessing the file, through the distributed file system, and unlocking the file, through the one of the plurality of persistent file locks.Type: GrantFiled: November 20, 2017Date of Patent: April 27, 2021Assignee: Pure Storage, Inc.Inventors: Robert Lee, Igor Ostrovsky, Peter Vajgel
-
Patent number: 10992533Abstract: Policy based path management, including: identifying a plurality of data communications paths between a storage system and an entity that issues input/output (‘I/O’) operations to the storage system; selecting, in dependence upon a path selection policy, a subset of data communications paths from the plurality of data communications paths between the entity and the storage system; and issuing, from the entity to the storage system, I/O operations using only the subset of data communications paths.Type: GrantFiled: January 30, 2018Date of Patent: April 27, 2021Assignee: Pure Storage, Inc.Inventors: Taher Vohra, Patrick East, Neil Vachharajani
-
Patent number: 10983859Abstract: A method for adjustable error correction in a storage cluster is provided. The method includes determining health of a non-volatile memory of a non-volatile solid-state storage unit of each of a plurality of storage nodes in a storage cluster on a basis of per flash package, per flash die, per flash plane, per flash block, or per flash page. The determining is performed by the storage cluster. The plurality of storage nodes is housed within a chassis that couples the storage nodes as the storage cluster. The method includes adjusting erasure coding across the plurality of storage nodes based on the health of the non-volatile memory and distributing user data throughout the plurality of storage nodes through the erasure coding. The user data is accessible via the erasure coding from a remainder of the plurality of storage nodes if any of the plurality of storage nodes are unreachable.Type: GrantFiled: August 7, 2014Date of Patent: April 20, 2021Assignee: Pure Storage, Inc.Inventors: John D. Davis, John Hayes, Zhangxi Tan, Hari Kannan, Nenad Miladinovic
-
Patent number: 10986179Abstract: Synchronizing snapshots between storage systems, including: receiving, from a source storage system, an identification of a snapshot to be replicated to a destination storage system; identifying, from hint information stored on the destination storage system, a most recent version of the snapshot that is stored on the destination storage system; issuing, to the source storage system, a request for an identification of the differences between the snapshot to be replicated to the destination storage system and the most recent version of the snapshot that is stored on the destination storage system; receiving, from the source storage system, the identification of the differences; and issuing a request to transfer, from the source storage system to the destination storage system, data associated with the differences.Type: GrantFiled: June 14, 2019Date of Patent: April 20, 2021Assignee: Pure Storage, Inc.Inventors: Deepak Chawla, John Colgrove, Terence Noonan, Vinay Perneti, Jikui Su
-
Patent number: 10983866Abstract: A storage cluster is provided. The storage cluster includes a plurality of storage nodes within a chassis. The plurality of storage nodes has flash memory for storage of user data and is configured to distribute the user data and metadata throughout the plurality of storage nodes such that the storage nodes can access the user data with a failure of two of the plurality of storage nodes. Each of the storage nodes is configured to generate at least one address translation table that maps around defects in the flash memory on one of a per flash package basis, per flash die basis, per flash plane basis, per flash block basis, per flash page basis, or per physical address basis. Each of the plurality of storage nodes is configured to apply the at least one address translation table to write and read accesses of the user data.Type: GrantFiled: March 29, 2019Date of Patent: April 20, 2021Assignee: Pure Storage, Inc.Inventors: John D. Davis, John Hayes, Hari Kannan, Nenad Miladinovic, Zhangxi Tan
-
Patent number: 10983732Abstract: A method for accessing a file in a storage system is provided. The method includes determining, for each file chunk of the file, an authority among differing storage nodes of the storage system and receiving from the authority having ownership of the file chunk, location information for the file chunk. The method includes accessing file chunks of the file as directed by each of the determined authorities.Type: GrantFiled: July 13, 2015Date of Patent: April 20, 2021Assignee: Pure Storage, Inc.Inventors: John Hayes, Robert Lee, Igor Ostrovsky, Peter Vajgel
-
Patent number: 10976947Abstract: A system includes a solid-state storage array having a plurality of solid-state storage devices and a storage controller coupled to the solid-state storage array, the storage controller including a processing device, the processing device to select a segment height based on erase block sizes of the plurality of solid-state storage devices. The processing device is further to program a data segment using the segment height to a data stripe across two or more of the plurality of solid-state storage devices and store the segment height in metadata associated with the data segment.Type: GrantFiled: March 15, 2019Date of Patent: April 13, 2021Assignee: Pure Storage, Inc.Inventors: Andrew R. Bernat, Radek Aster, Benjamin Scholbrock, Conner Haffner, Yunpeng Duan, John Adler, Tsu-Hao Chang
-
Patent number: 10976962Abstract: 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: March 14, 2019Date of Patent: April 13, 2021Assignee: Pure Storage, Inc.Inventors: Aswin Karumbunathan, John Colgrove, Constantine Sapuntzakis, Joshua Freilich, Naveen Neelakantam, Sergey Zhuravlev, Par Botes
-
Patent number: 10979223Abstract: A method of operating a solid-state storage drive is provided. The method includes encrypting, in the solid-state storage drive, first data by a first key, and writing the encrypted first data into solid-state storage memory of the solid-state storage drive. The method includes encrypting, in the solid-state storage drive, second data by a second key, and writing the encrypted second data into the solid-state storage memory of the solid-state storage drive, wherein at least one of the first key or the second key is supplied from a source external to the solid-state storage drive.Type: GrantFiled: January 31, 2017Date of Patent: April 13, 2021Assignee: Pure Storage, Inc.Inventors: John Colgrove, Peter E. Kirkpatrick, Robert Lee, Ethan L. Miller
-
Patent number: 10976948Abstract: 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: GrantFiled: January 31, 2018Date of Patent: April 13, 2021Assignee: Pure Storage, Inc.Inventors: Robert Martin Lee, John Martin Hayes, Faissal Sleiman
-
Patent number: 10970202Abstract: Writing data in a storage system that includes a first type of storage device and a second type of storage device, including: selecting, for one or more unprocessed write requests, a target storage device type from the first type of storage device and the second type of storage device; issuing a first group of write requests to the first type of storage device, the first group of write requests addressed to one or more locations selected in dependence upon an expected address translation to be performed by the first type of storage device; and issuing a second group of write requests to the second type of storage device, the second group of write requests addressed to one or more locations selected in dependence upon a layout of memory in the second type of storage device.Type: GrantFiled: March 5, 2019Date of Patent: April 6, 2021Assignee: Pure Storage, Inc.Inventors: Peter Kirkpatrick, John Colgrove, Neil Vachharajani
-
Patent number: 10970395Abstract: An exemplary security threat monitoring system receives performance metric data representative of a performance metric for a storage system, applies the performance metric data as an input to an unsupervised machine learning model, and identifies, based on an output of the unsupervised machine learning model, an anomaly in the performance metric data.Type: GrantFiled: October 23, 2018Date of Patent: April 6, 2021Assignee: Pure Storage, IncInventors: Apoorva Bansal, Olivia Watkins, Jonathan Hayase, Nikita Bhargava, Christopher Golden, Sergey Zhuravlev
-
Patent number: 10963189Abstract: Coalescing write operations in a cloud-based storage system including receiving, from a storage controller application of the cloud-based storage system, a first plurality of write operations, wherein each of the first plurality of write operations comprises a respective write to a storage volume; coalescing the first plurality of write operations into a plurality of coalesced write operations, wherein each of the coalesced write operations are configured to effect two or more of the first plurality of write operations; and performing the plurality of coalesced write operations on the storage volume.Type: GrantFiled: July 23, 2019Date of Patent: March 30, 2021Assignee: Pure Storage, Inc.Inventors: Naveen Neelakantam, Joshua Freilich
-
Patent number: 10963326Abstract: Rehabilitating storage devices in a storage array that includes a plurality of storage devices, including: receiving a request to rehabilitate a storage device that is operating outside of a defined range of expected operating parameters; selecting, from a hierarchy of rehabilitative actions that can be performed on the storage device, a rehabilitative action to perform on a storage device in dependence upon information describing a number of times that one or more of the rehabilitative actions have been performed on the storage device; and initiating execution of the selected rehabilitative action.Type: GrantFiled: January 31, 2019Date of Patent: March 30, 2021Assignee: Pure Storage, Inc.Inventors: Andrew Bernat, James Cihla, Jungkeun Kim, Iris McLeary, Damian Yurzola
-
Patent number: 10956054Abstract: Optimizing copy operations in a storage array, including: receiving a plurality of copy operations; detecting a triggering event that causes a storage array controller to initiate execution of the plurality of copy operations; and combining, in dependence upon a metadata optimization policy, the plurality of copy operations into a single copy operation.Type: GrantFiled: March 6, 2019Date of Patent: March 23, 2021Assignee: Pure Storage, Inc.Inventors: Jianting Cao, Christopher Golden, David Grunwald, Luke Paulsen, Scott Smith
-
Patent number: 10942869Abstract: A method for efficient name coding in a storage system is provided. The method includes identifying common prefixes, common suffixes, and midsections of a plurality of strings in the storage system, and writing the common prefixes, midsections and common suffixes to a string table in the storage system. The method includes encoding each string of the plurality of strings as to position in the string table of prefix, midsection and suffix of the string, and writing the encoding of each string to memory in the storage system for the plurality of strings, in the storage system.Type: GrantFiled: December 23, 2019Date of Patent: March 9, 2021Assignee: Pure Storage, Inc.Inventors: Robert Lee, Cary A. Sandvig
-
Patent number: 10942650Abstract: Determining effective space utilization in a storage system, including: identifying an amount of data stored within the storage system that is associated with a user-visible entity; identifying an amount of data stored within the storage system that is associated with all snapshots of the user-visible entity; and reporting, in dependence upon the an amount of data stored within the storage system that is associated with the user-visible entity and the amount of data stored within the storage system that is associated with all snapshots of the user-visible entity, a total capacity utilization associated with the user-visible entity.Type: GrantFiled: December 12, 2019Date of Patent: March 9, 2021Assignee: Pure Storage, Inc.Inventors: Matthew Fay, John Colgrove, Martin Harriman