Patents Assigned to Pure Storage
  • Patent number: 12181981
    Abstract: A recovery storage system asynchronously protecting a synchronously replicated dataset, where the asynchronous protection of the synchronously replicated dataset includes: receiving, by a recovery storage system, an identifier of a synchronously replicated dataset, wherein the synchronously replicated dataset is a dataset synchronously replicated across the plurality of storage systems; asynchronously replicating, on the recovery storage system, the synchronously replicated dataset from the plurality of storage systems; detecting that each dataset in the synchronously replicated dataset on the plurality of storage systems has become unavailable; and restoring the dataset on the recovery storage system.
    Type: Grant
    Filed: April 22, 2020
    Date of Patent: December 31, 2024
    Assignee: PURE STORAGE, INC.
    Inventors: Marten Heidemeyer, Vivekkumar Patel, Neale Genereux, David Grunwald, Thomas Gill, Daquan Zuo
  • Patent number: 12182446
    Abstract: An illustrative method may include passing, by a container storage interface (CSI) filter driver, requests received by way of a node agent to a CSI driver associated with a storage system, the requests comprising requests for the CSI driver to perform control plane operations with respect to the storage system, wherein the node agent, the CSI filter driver, and the CSI filter all execute on a node of a cluster managed by a container orchestrator, and wherein the storage system is configured to store data associated with one or more containerized applications executing on the node; identifying, by the CSI filter driver based on the requests, attributes associated with the control plane operations; determining, by the CSI filter driver based on the attributes, a usage profile associated with the storage system; and performing, by the CSI filter driver based on the usage profile, an optimization operation.
    Type: Grant
    Filed: December 21, 2022
    Date of Patent: December 31, 2024
    Assignee: Pure Storage, Inc.
    Inventors: Luis Pablo Pabón, Taher Vohra, Naveen Neelakantam
  • Patent number: 12182605
    Abstract: An illustrative method includes determining that a first application instance of an application is terminated, instantiating, in response to the determining that the first application instance of the application is terminated, a second application instance of the application, identifying one or more particular storage volumes based on the first application instance, and attaching the one or more particular storage volumes to the second application instance.
    Type: Grant
    Filed: December 16, 2022
    Date of Patent: December 31, 2024
    Assignee: Pure Storage, Inc.
    Inventors: Goutham Rao, Vinod Jayaraman, Ganesh Sangle
  • Patent number: 12181986
    Abstract: Continuing to service a dataset after prevailing in mediation, including: requesting, by a first storage system, mediation from a mediation service that is configured to resolve which storage system continues to service a dataset after the triggering event, wherein the dataset is synchronously replicated by a plurality of storage systems that includes the first storage system and a second storage system; and detaching the second storage system from a plurality of storage systems synchronously replicating the dataset.
    Type: Grant
    Filed: May 1, 2023
    Date of Patent: December 31, 2024
    Assignee: PURE STORAGE, INC.
    Inventors: David Grunwald, Ronald Karr, Thomas Gill, John Colgrove, Kunal Trivedi
  • Patent number: 12184776
    Abstract: A method of decommissioning a key in a decryption storage system includes scanning a storage system to identify metadata associated with a current key to be decommissioned. The method further includes encrypting, with the current key, data corresponding to the metadata to generate encrypted data. The method further includes decrypting the encrypted data with a target key to generate decrypted data. The method further includes modifying, by a processing device, the metadata to identify the target key to generate modified metadata. The method further includes storing the decrypted data and the modified metadata to the storage system.
    Type: Grant
    Filed: February 21, 2023
    Date of Patent: December 31, 2024
    Assignee: PURE STORAGE, INC.
    Inventors: Constantine P. Sapuntzakis, Kiron Vijayasankar
  • Patent number: 12182014
    Abstract: Cost-effective storage management including identifying, by a remote storage consumer, one or more of portions of one or more source objects stored at a remote storage resources; issuing, by the remote storage consumer, a command to the remote storage resources configured to cause the remote storage resources to create a new object comprising the one or more of portions of the one or more source objects; and updating, at the remote storage consumer, a mapping data structure to reference the new object.
    Type: Grant
    Filed: April 28, 2022
    Date of Patent: December 31, 2024
    Assignee: PURE STORAGE, INC.
    Inventor: Chad Monteith
  • Patent number: 12181969
    Abstract: A method for execution by one or more computing devices includes selecting a first routing path from a plurality of routing paths to a set of storage units based on routing path performance information, where the first routing path has a performance level greater than a first performance threshold. The method further includes selecting a second routing path from the plurality of routing paths based on the routing path performance information, where the second routing path has a performance level less than or equal to the first performance threshold. The method further includes sending a first subset of encoded data slices to the set of storage units via the first routing path for storage therein. The method further includes sending a second subset of encoded data slices to the set of storage units via the second routing path for storage therein.
    Type: Grant
    Filed: November 1, 2023
    Date of Patent: December 31, 2024
    Assignee: 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: 12182424
    Abstract: A method of data reduction in a partially encrypted volume includes receiving data to be stored on a storage array, decrypting the data using a first encryption key to generate first decrypted data, and decrypting the data using a second encryption key to generate second decrypted data. The method further includes comparing, by a storage array controller, a first compressibility value of the first decrypted data to a second compressibility value of the second decrypted data. The method further includes storing the first decrypted data if the first compressibility value is greater than or equal to the second compressibility value. The method further includes storing the second decrypted data if the second compressibility value is greater than the first compressibility value.
    Type: Grant
    Filed: October 4, 2023
    Date of Patent: December 31, 2024
    Assignee: PURE STORAGE, INC.
    Inventors: Constantine P. Sapuntzakis, Timothy W. Brennan, Yuval Frandzel
  • Patent number: 12182044
    Abstract: A method of applying a data format in a direct memory access transfer is provided. The method includes distributing user data throughout a plurality of storage nodes through erasure coding, wherein the plurality of storage nodes are housed within a single chassis that couples the storage nodes as a cluster, each of the plurality of storage nodes having nonvolatile solid-state memory for user data storage. The method includes reading a self-describing data portion from a first memory of the nonvolatile solid-state memory and extracting a destination from the self-describing data portion. The method includes writing data, from the self-describing data portion, to a second memory of the nonvolatile solid-state memory according to the destination.
    Type: Grant
    Filed: June 29, 2022
    Date of Patent: December 31, 2024
    Assignee: PURE STORAGE, INC.
    Inventors: Ronald Karr, Brian T. Gold
  • Publication number: 20240430323
    Abstract: A method for execution by one or more computing devices includes scheduling processing of one or more data access requests of a plurality of data access requests to produce an execution schedule, where the scheduling processing is in accordance with an access performance level for previous data access requests and in accordance with a desired access performance level. The method further includes executing the one or more data access requests in accordance with the execution schedule. The method further includes determining an updated access performance level compares unfavorably to the desired access performance level. The method further includes implementing an alternate throughput scheme for subsequent data access requests of the plurality of data access requests.
    Type: Application
    Filed: September 5, 2024
    Publication date: December 26, 2024
    Applicant: Pure Storage, Inc.
    Inventors: Ahmad Alnafoosi, Jason K. Resch
  • Publication number: 20240427712
    Abstract: A storage system operates by generating system messages, in accordance with the system-level message processing parameters, the system messages including status information, performance information and alarms, each having one of a plurality of priorities. The generating includes: generating a first message of the system messages corresponding to a first of the storage nodes based on the system-level message processing parameters, the first message including a first alarm of the alarms having a first priority of the plurality of priorities; and generating a second message of the system messages corresponding to a second of the storage nodes based on the system-level message processing parameters, the second message including a second alarm of the alarms having a second priority of the plurality of priorities.
    Type: Application
    Filed: September 4, 2024
    Publication date: December 26, 2024
    Applicant: Pure Storage, Inc.
    Inventor: Greg R. Dhuse
  • Publication number: 20240427490
    Abstract: A method includes generating a second encoded data slice of a second subset of encoded data slices of a set of encoded data slices, where the second subset of encoded data slices is not currently stored in a set of storage units of the storage network, where the set of encoded data slices include a first subset of encoded data slices that is stored in the set of storage units and includes at least a decode threshold number of encoded data slices of the set of encoded data slices, and where a first encoded data slice of the first subset requires rebuilding. The method further includes sending the second encoded data slice to the set of storage units for storage therein, where when the second encoded data slice is stored, the second encoded data slice no longer included in the second subset of encoded data slices.
    Type: Application
    Filed: September 3, 2024
    Publication date: December 26, 2024
    Applicant: Pure Storage, Inc.
    Inventors: Jason K. Resch, Greg R. Dhuse
  • Publication number: 20240427665
    Abstract: A method for execution by one or more computing devices of a storage network includes determining an error condition associated with storage of a current version of a data object that is stored in a set of storage units of the storage network and is stored as a previous version of the data object. The method further includes sending a rollback transaction request message to at least some storage units of the set of storage units, where the at least some storage units are associated with the error condition, and where the rollback transaction request message instructs the at least some storage units to promote the previous version to be a new current version of the data object such that the new current version of the data object is accessible in the storage network.
    Type: Application
    Filed: September 3, 2024
    Publication date: December 26, 2024
    Applicant: Pure Storage, Inc.
    Inventors: Andrew Baptist, Wesley Leggette, Jason K. Resch, Manish Motwani, John Quigley
  • Publication number: 20240427672
    Abstract: A method for execution on a storage network begins with receipt of a data object for storage by a plurality of users and continues with a storage network processing unit determining whether the data object is associated with a replica storage node of a plurality of replica storage nodes associated with the storage network. When the data object is associated with a replica storage node, the method continues by facilitating storing the data object in each replica storage node of the plurality of replica storage nodes and receiving a plurality of access responses from at least some replica storage nodes of the plurality of replica storage nodes. The method then continues by determining whether an access response threshold number of access responses have been received and finally, in response to a determination that an access response threshold number of access responses have been received, transmitting an acknowledgement to the plurality of users.
    Type: Application
    Filed: September 10, 2024
    Publication date: December 26, 2024
    Applicant: Pure Storage, Inc.
    Inventors: Adam M. Gray, Greg R. Dhuse, Andrew D. Baptist, Ravi V. Khadiwala, Wesley B. Leggette, Scott M. Horan, Franco V. Borich, Bart R. Cilfone, Daniel J. Scholl, Jason K. Resch
  • Patent number: 12174853
    Abstract: Methods and apparatus for asynchronous replication of data in a storage network. In an embodiment, a processing module(s) of a computing device identifies at least a first storage set and a second storage set for replicated storage of data. The processing module maintains a synchronization schedule for the first storage set and the second storage set. After initiating storage of a data object in the first storage set (e.g., using first error encoding parameters), the processing module determines, based at least in part on the synchronization schedule, to synchronize the first storage set and the second storage set. In response to determining to synchronize the first and second storage sets, the processing module determines that the second storage set requires the data object to maintain synchronization with the first storage set and facilitates storage of the data object in the second storage set (e.g., using second error encoding parameters).
    Type: Grant
    Filed: May 25, 2023
    Date of Patent: December 24, 2024
    Assignee: Pure Storage, Inc.
    Inventors: Jason K. Resch, Scott M. Horan, Ravi V. Khadiwala, Greg R. Dhuse
  • Patent number: 12175135
    Abstract: A container-aware storage system may be configured to store, manage, and provide immutable container images and optionally persistent storage to a container system for use by the container system to run container instances of the container images. The storage system may use volumes to store, manage, and provide immutable container images and optionally persistent storage to the container system for use by the container system to run container instances of the container images. In some embodiments, the storage system receives an immutable container image and stores the immutable container image as a volume. The storage system subsequently detects a request from a container system, such as a request to run a container instance of the immutable container image in the container system and, in response to the request, provides the volume to the container system.
    Type: Grant
    Filed: January 20, 2022
    Date of Patent: December 24, 2024
    Assignee: Pure Storage, Inc.
    Inventor: Luis Pablo Pabón
  • Patent number: 12175076
    Abstract: Projecting capacity utilization for snapshots includes identifying one or more data release patterns of a storage system; identifying a snapshot policy; and generating, based on the one or more data release patterns and the snapshot policy, an estimate of an impact of the snapshot policy on a capacity of the storage system.
    Type: Grant
    Filed: March 21, 2023
    Date of Patent: December 24, 2024
    Assignee: PURE STORAGE, INC.
    Inventors: John Colgrove, David Grunwald, Edward Rak
  • Patent number: 12177368
    Abstract: A method for authorizing I/O (input/output) commands in a storage cluster is provided. The method includes generating a token responsive to an I/O command, wherein the token is specific to assignment of a storage node of the storage cluster. The method includes verifying the I/O command using the token, wherein the token includes a signature confirming validity of the token and wherein the token is revocable.
    Type: Grant
    Filed: February 8, 2023
    Date of Patent: December 24, 2024
    Assignee: PURE STORAGE, INC.
    Inventors: Robert Lee, John Hayes
  • Patent number: 12175097
    Abstract: An illustrative method includes a storage-aware serverless function management system determining a status of a serverless system that implements one or more serverless functions configured to access one or more components of a storage system, determining a utilization of the storage system, and requesting that the storage system adjust storage of data in the storage system based on the status of the serverless system and the utilization of the storage system.
    Type: Grant
    Filed: May 4, 2023
    Date of Patent: December 24, 2024
    Assignee: Pure Storage, Inc.
    Inventors: Taher Vohra, Luis Pablo Pabón
  • Patent number: 12175091
    Abstract: Supporting a stateless controller in a storage system, including: sending, from a storage system controller to a storage device, a request for one or more locations of control information for the storage device, the storage system controller being external to the storage device; receiving, from the storage device, the one or more locations of one or more memory blocks that include the control information; and retrieving, from the storage device, the control information from the one or more memory blocks.
    Type: Grant
    Filed: June 21, 2022
    Date of Patent: December 24, 2024
    Assignee: PURE STORAGE, INC.
    Inventor: Eric D. Seppanen