Patents Assigned to Pure Storage Inc.
  • Publication number: 20250147699
    Abstract: A processing system operates by: detecting an access anomaly associated with an access request from a requestor for a set of encoded data slices, the access anomaly having an unfavorable access pattern, wherein the set of encoded data slices is dispersed storage error encoded and stored in at least one storage unit of the storage network; denying the access request in response to detecting the access anomaly; generating, based on the unfavorable access pattern, an anomaly detection indicator identifying the requestor; and sending the anomaly detection indicator to other devices of the storage network.
    Type: Application
    Filed: January 9, 2025
    Publication date: May 8, 2025
    Applicant: Pure Storage, Inc.
    Inventor: Jason K. Resch
  • Publication number: 20250147980
    Abstract: A storage network operates by: encoding, via a dispersed error encoding, at least one data object as a write threshold number of encoded data slices; storing the write threshold number of the encoded data slices in a set of storage units of the storage network; determining when, due to a failure, less than a pillar width number of the encoded data slices are retrievable from the set of storage units: retrieving a decode threshold number of the encoded data slices from others of the set of storage units; decoding the decode threshold number of the encoded data slices to reproduce the at least one data object; restoring availability of the pillar width number of the encoded data slices of the common revision by: rebuilding at least a subset of encoded data slices of the set of encoded data slices, based on an encoding of the at least one data object; and storing the at least a subset of encoded data slices in the storage network.
    Type: Application
    Filed: January 13, 2025
    Publication date: May 8, 2025
    Applicant: Pure Storage, Inc.
    Inventors: Asimuddin Kazi, Jason K. Resch
  • Publication number: 20250147684
    Abstract: A method includes error encoding data to produce a plurality of data slices. Metadata is determined for a data slice of the plurality of data slices. The metadata is stored in a metadata storage tree. The data slice is stored in a slice storage location indicated by the metadata. Based on determining to access the data slice, the metadata for the data slice is accessed in the metadata storage tree to determine the slice storage location for the data slice, and the data slice is accessed in the slice storage location based on determining the slice storage location for the data slice via accessing the metadata storage tree.
    Type: Application
    Filed: January 8, 2025
    Publication date: May 8, 2025
    Applicant: Pure Storage, Inc.
    Inventors: Renars W. Narubin, Jason K. Resch, Gary W. Grube
  • Patent number: 12293111
    Abstract: A method of using flash storage devices with different sized erase blocks is provided. The method includes allocating a plurality of erase blocks of heterogeneous erase block sizes to a RAID stripe, to form a tile pattern having the heterogeneous erase block sizes in the RAID stripe. The method includes writing the RAID stripe across the flash storage devices in accordance with the allocating, and stopping the writing the RAID stripe, responsive to contents of the RAID stripe reaching a threshold.
    Type: Grant
    Filed: July 13, 2023
    Date of Patent: May 6, 2025
    Assignee: PURE STORAGE, INC.
    Inventors: Eric D. Seppanen, Andrew R. Bernat, Timothy W. Brennan, Mark L McAuliffe, Neil Buda Vachharajani
  • Patent number: 12293112
    Abstract: A method includes, responsive to receiving a modified first reservation command from a storage controller, identifying, by a storage drive, a first range of storage based on a first range identifier of the modified reservation command. The method also includes granting, by the storage drive, a reservation for access to the storage drive on behalf of a first host controller by associating the reservation for the first range with a second range of storage.
    Type: Grant
    Filed: February 20, 2024
    Date of Patent: May 6, 2025
    Assignee: PURE STORAGE, INC.
    Inventors: Gordon James Coleman, Peter E. Kirkpatrick, Roland Dreier
  • Publication number: 20250138747
    Abstract: A processing system of a storage network operates by receiving a write request associated with a data object; identifying dispersed storage error encoding parameters; and determining a number of available storage units. When the number of available storage units is determined to exceed a first number, the processing system operates by: determining a first write threshold number in accordance with the dispersed storage error encoding parameters; dispersed error encoding the data object to produce a first write threshold number of encoded data slices; and writing, to available storage units, the first write threshold number of encoded data slices.
    Type: Application
    Filed: January 2, 2025
    Publication date: May 1, 2025
    Applicant: Pure Storage, Inc.
    Inventors: Jason K. Resch, Andrew D. Baptist, Niall J. McShane, Greg R. Dhuse, Thomas F. Shirley, JR., Gregory Palinckx, Russell P. Kennedy, S. Christopher Gladwin, Robert C. McCammon, James Sherer
  • Patent number: 12287990
    Abstract: An illustrative method includes receiving, by a container storage interface (CSI) filter driver executing on a node of a cluster managed by a container orchestrator, a request to deploy a containerized application; selecting, by the CSI filter driver based on one or more attributes of the containerized application, a storage system from a plurality of storage systems attached to a plurality of clusters managed by the container orchestrator; and transmitting, by the CSI filter driver, a command to a CSI driver executing on a node of a cluster to which the storage system is attached, the cluster included in the plurality of clusters, the command configured to direct the CSI driver to provision a volume on the storage system for use with the containerized application.
    Type: Grant
    Filed: December 21, 2022
    Date of Patent: April 29, 2025
    Assignee: Pure Storage, Inc.
    Inventors: Luis Pablo Pabón, Taher Vohra, Naveen Neelakantam
  • Publication number: 20250131013
    Abstract: Methods and apparatus for replication of data in storage networks. In an embodiment, a processing module(s) of a computing device identifies a first storage set and a second storage set for replicated storage of data. The processing module(s) maintains a synchronization log for the first storage set and the second storage set. After initiating storage of a data object in the first storage set and the second storage set, the processing module(s) detects an unavailability of one or more storage units of the second storage set. In response to detecting a return to availability of the one or more storage units, the processing module(s) determines, based on the synchronization log, that the second storage set requires at least a portion of the data object to maintain synchronization with the first storage set, and facilitates storage of the at least a portion of the data object in the second storage set.
    Type: Application
    Filed: December 20, 2024
    Publication date: April 24, 2025
    Applicant: Pure Storage, Inc.
    Inventors: Jason K. Resch, Scott M. Horan, Ravi V. Khadiwala, Greg R. Dhuse
  • Patent number: 12282436
    Abstract: Rekeying in a storage system, including: receiving a request to rekey a first storage location of a storage system, wherein the first storage location is associated with a first cryptographic key; acknowledging completion of the request to rekey the first storage location without re-encrypting data stored at the first storage location of the storage system; and mapping a second cryptographic key identified by the request to rekey to the first storage location of the storage system.
    Type: Grant
    Filed: April 22, 2022
    Date of Patent: April 22, 2025
    Assignee: PURE STORAGE, INC.
    Inventors: Mark Fay, Andrew Bernat
  • Patent number: 12282686
    Abstract: A first set of physical units of a storage device of a storage system is selected for performance of low latency access operations, wherein other access operations are performed by remaining physical units of the storage device. A determination as to whether a triggering event has occurred that causes a selection of a new set of physical units of the storage device for the performance of low latency access operations is made. A second set of physical units of the storage device is selected for the performance of low latency access operations upon determining that the triggering event has occurred.
    Type: Grant
    Filed: March 27, 2023
    Date of Patent: April 22, 2025
    Assignee: PURE STORAGE, INC.
    Inventors: Hari Kannan, Boris Feigin, Ying Gao, John Colgrove
  • Patent number: 12282399
    Abstract: Prioritizing highly performant storage systems for servicing a synchronously replicated dataset: detecting a communication fault between two or more storage systems that are synchronously replicating a dataset; identifying a preferred storage system for winning mediation, including determining that the preferred storage system winning mediation would result in better performance than other storage systems winning mediation; and requesting, by the preferred storage system, mediation from a mediation target.
    Type: Grant
    Filed: June 26, 2023
    Date of Patent: April 22, 2025
    Assignee: PURE STORAGE, INC.
    Inventors: Ronald Karr, John Colgrove, Ganesh Ramanarayanan, David Grunwald
  • Patent number: 12282799
    Abstract: A method for a transactional commit in a storage unit is provided. The method includes receiving a logical record from a storage node into a transaction engine of a storage unit of the storage node and writing the logical record into a data structure of the transaction engine. The method includes writing, to a command queue of the transaction engine, an indication to perform an atomic update using the logical record and transferring each portion of the logical record from the data structure of the transaction engine to non-persistent memory of the storage unit as a committed transaction. A storage unit for a storage system is also provided.
    Type: Grant
    Filed: December 16, 2021
    Date of Patent: April 22, 2025
    Assignee: PURE STORAGE, INC.
    Inventors: John Hayes, Brian Gold, Shantanu Gupta, Robert Lee, Hari Kannan
  • Patent number: 12277030
    Abstract: A distributed storage integrity system in a dispersed storage network includes a scanning agent and a control unit. The scanning agent identifies an encoded data slice that requires rebuilding, wherein the encoded data slice is one of a plurality of encoded data slices generated from a data segment using an error encoding dispersal function. The control unit retrieves at least a number T of encoded data slices needed to reconstruct the data segment based on the error encoding dispersal function. The control unit is operable to reconstruct the data segment from at least the number T of the encoded data slices and generate a rebuilt encoded data slice from the reconstructed data segment. The scanning agent is located in a storage unit and the control unit is located in the storage unit or in a storage integrity processing unit, a dispersed storage processing unit or a dispersed storage managing unit.
    Type: Grant
    Filed: March 2, 2023
    Date of Patent: April 15, 2025
    Assignee: Pure Storage, Inc.
    Inventors: Greg Dhuse, Andrew Baptist, Zachary J. Mark, Jason K. Resch, Ilya Volvovski
  • Patent number: 12277106
    Abstract: A system and method for managing tables in a storage system is described.
    Type: Grant
    Filed: May 3, 2023
    Date of Patent: April 15, 2025
    Assignee: PURE STORAGE, INC.
    Inventors: John Colgrove, Joseph S. Hasbani, John Hayes, Ethan Miller, Cary Sandvig
  • Patent number: 12271264
    Abstract: 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: Grant
    Filed: November 18, 2022
    Date of Patent: April 8, 2025
    Assignee: PURE STORAGE, INC.
    Inventors: John D. Davis, John Hayes, Zhangxi Tan, Hari Kannan, Nenad Miladinovic
  • Patent number: 12271359
    Abstract: A storage system is provided. The storage system include a primary storage node that includes a primary processing device. The primary storage node is communicatively coupled to a secondary storage node. The secondary storage node includes a secondary processing device and a set of non-volatile memory modules. The primary processing device is to identify one or more storage operations to be performed on the set of non-volatile memory modules of the secondary storage node and transmit one or more instructions to the secondary storage node to perform the one or more storage operations, the one or more storage operations performed by the secondary processing device.
    Type: Grant
    Filed: March 1, 2023
    Date of Patent: April 8, 2025
    Assignee: PURE STORAGE, INC.
    Inventors: Hari Kannan, Ying Gao, Boris Feigin, Robert Lee
  • Publication number: 20250110831
    Abstract: A computing device of a storage network, the computing device including memory, an interface, and at least one processing module operably coupled to the memory and the interface, where the at least one processing module is operable to error encode a data segment in accordance with error encoding parameters to produce a set of encoded data slices. The at least one processing module also sends via the interface, a first subset of encoded data slices of the set of encoded data slices via a first routing path of a plurality of routing paths to a set of storage units, where the first routing path has a performance level greater than a first performance threshold, and sends, via the interface, a second subset of encoded data slices of the set of encoded data slices via a second routing path of the plurality of routing paths to the set of storage units.
    Type: Application
    Filed: December 13, 2024
    Publication date: April 3, 2025
    Applicant: 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: 12267251
    Abstract: Methods and apparatus for identifying multiple resources of a storage network for data retrieval are disclosed. In various embodiments, a determination is made to retrieve an encoded data slice from the storage network. Based on configuration information for the storage network, one or more configurations are identified, including a current configuration. For the identified configurations, ranked scoring information relating to the encoded data slice is determined for a plurality of resources associated with the identified configurations. Based on the ranked scoring information, a resource is selected for each of the identified configurations. In addition, a retrieval likelihood level for the data slice is determined for each of the selected resources. Based on the likelihood levels for the selected resources, one or more of the selected resources are identified for encoded data slice retrieval and read slice requests are issued to the one or more selected resources.
    Type: Grant
    Filed: May 20, 2024
    Date of Patent: April 1, 2025
    Assignee: Pure Storage, Inc.
    Inventors: Jason K. Resch, Greg R. Dhuse, Manish Motwani, Andrew D. Baptist, Wesley B. Leggette
  • Patent number: 12267440
    Abstract: A device for use in a storage network including storage network memory distributed amongst a plurality of storage units. The device includes a processing module operably couple to a memory that stores operational instructions. The processing module is configured to execute the operational instructions to determine storage parameters associated with encoded data slices generated from data to be stored in the plurality of storage units. The storage parameters include information indicating a read threshold number of encoded data slices required to recover the data. The method further includes facilitating distributed storage of the encoded data slices among the plurality of storage units such that the number of the error-encoded data slices stored in any particular storage unit is chosen so that in the event of an unavailability of any individual storage unit, at least a read threshold number of encoded data slices are still accessible from the remaining storage units.
    Type: Grant
    Filed: January 3, 2024
    Date of Patent: April 1, 2025
    Assignee: Pure Storage, Inc.
    Inventors: Jason K. Resch, Greg R. Dhuse
  • Publication number: 20250103432
    Abstract: A computing device of a storage network includes an interface configured to interface and communicate with a set of storage, memory that stores operational instructions and processing circuitry operably coupled to the interface and to the memory. The processing circuitry is configured to execute the operational instructions to select a set of storage network storage units and divide the set of storage network storage units into pairs of storage units, where each storage unit of the set of storage units is configured to communicate with every other storage unit of the set of storage units. The processing circuitry is further configured to generate an encryption key for each pair of storage units and distribute the encryption key to each pair of storage units.
    Type: Application
    Filed: December 5, 2024
    Publication date: March 27, 2025
    Applicant: Pure Storage, Inc.
    Inventors: Praveen Viraraghavan, Jason K. Resch