Patents Assigned to Pure Storage
  • Patent number: 11422719
    Abstract: A method for distributed file deletion or truncation, performed by a storage system, is provided. The method includes determining, by an authority owning an inode of a file, which authorities own data portions to be deleted, responsive to a request for the file deletion or truncation. The method includes recording, by the authority owning the inode, the file deletion or truncation in a first memory, and deleting, in background by the authorities that own the data portions to be deleted, the data portions in one of a first memory or a second memory. A system and computer readable media are also provided.
    Type: Grant
    Filed: December 14, 2016
    Date of Patent: August 23, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Robert Lee, Igor Ostrovsky, Shuyi Shao, Peter Vajgel
  • Patent number: 11422730
    Abstract: Recovery for storage systems synchronously replicating a dataset, including: receiving, by at least one storage system among the plurality of storage systems synchronously replicating the dataset, a request to modify the dataset; generating recovery information indicating whether the request to modify the dataset has been applied on all storage systems in the plurality of storage systems synchronously replicating the dataset; and responsive to a system fault, applying a recovery action in dependence upon the recovery information indicating whether the request to modify the dataset has been applied on all storage systems in the plurality of storage systems synchronously replicating the dataset.
    Type: Grant
    Filed: September 6, 2017
    Date of Patent: August 23, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Deepak Chawla, David Grunwald, Ronald Karr, Arun Rokade
  • Patent number: 11422751
    Abstract: Creating a virtual storage system, including: instantiating one or more virtual storage controllers; instantiating one or more virtual storage devices each including multiple storage tiers; and constructing a virtual storage system in which the one or more virtual storage devices are coupled to each of the one or more virtual storage controllers.
    Type: Grant
    Filed: October 14, 2020
    Date of Patent: August 23, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Ronald Karr, Par Botes
  • Publication number: 20220263666
    Abstract: A method for use in a distributed storage network includes determining storage parameters associated with error-encoded data slices generated from data to be stored in the distributed storage network. The storage parameters include information indicating a read threshold number of error-encoded data slices required to recover the data. Storage requirements of a storage unit included in the distributed storage network are also determined. The storage unit includes multiple memory devices configured to store one or more error-encoded data slices of the read threshold number of error-encoded data slices. A number of the one or more error-encoded data slices are stored in the storage unit based on the storage requirements of the storage unit and the storage parameters.
    Type: Application
    Filed: May 6, 2022
    Publication date: August 18, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Jason K. Resch, Greg R. Dhuse
  • Publication number: 20220261155
    Abstract: A computing device includes an interface configured to interface and communicate with a storage network, a memory that stores operational instructions, and a processing module operably coupled to the interface and memory such that the processing module, when operable within the computing device based on the operational instructions, is configured to perform various operations. A computing device receives a data access request for an encoded data slice associated with a data object, determines whether the encoded data slice is stored in the first memory and in response to a determination that the encoded data slice is not stored in the first memory, issues another data access request for the encoded data slice to a second memory, where the first memory includes access characteristics that are faster than the second memory. When a data access response including the encoded data slice is received from the second memory, a response including the encoded data slice is transmitted.
    Type: Application
    Filed: April 29, 2022
    Publication date: August 18, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Bruno H. Cabral, Joseph M. Kaczmarek, Ravi V. Khadiwala, Ilya Volvovski, Manish Motwani, Ethan S. Wozniak
  • Publication number: 20220261167
    Abstract: Methods and apparatus for storage pool tiering in a storage network. In an embodiment, a method includes receiving data for storage and storing the data in a first pool of storage units, the first pool of storage units associated with a first storage tier having a first access latency performance level. The method further includes initializing a frequency of access indicator corresponding to the stored data and determining, based at least in part on the frequency of access indicator, to move the stored data to a second pool of storage units associated with a second storage tier having a second access latency performance level, wherein the second access latency performance level corresponds to higher average access latency than the first access latency performance level.
    Type: Application
    Filed: May 3, 2022
    Publication date: August 18, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Jason K. Resch, Wesley B. Leggette
  • Patent number: 11416340
    Abstract: A method includes receiving a write request to store a data object; identifying object parameters associated with the data object; selecting a memory type based on the identified object parameters; selecting a selected memory based on the memory type; and facilitating storage of the data object in the selected memory, wherein the data object is dispersed error encoded.
    Type: Grant
    Filed: October 26, 2020
    Date of Patent: August 16, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Andrew D. Baptist, Wesley B. Leggette, Jason K. Resch
  • Patent number: 11418580
    Abstract: A method begins by a processing module of a dispersed storage network (DSN) receiving a signature contribution request and payload, logging the request and determining whether a timestamp for the request compares favorably to a timing template. When the timestamp for the request compares favorably to the timing template the method continues with the processing modules determining whether the request compares favorably to a functionality template and when it compares favorably to a functionality template retrieving a key share based on sharing function parameters and outputting a signature result. When the timestamp for the request does not compare favorably to the timing template or the request does not compare favorably to the functionality template the method continues with the processing module outputting a signature contribution request rejection message.
    Type: Grant
    Filed: November 26, 2018
    Date of Patent: August 16, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Greg R. Dhuse, Jason K. Resch, Wesley B. Leggette
  • Patent number: 11416298
    Abstract: Providing application-specific storage by a cloud-based storage system, including: identifying, for an application that utilizes resources within the cloud-based storage system, one or more characteristics associated with the application; and selecting, in dependence upon the one or more characteristics associated with the application and characteristics of resources within the cloud-based storage system, one or more resources within the cloud-based storage system to support the execution of the application, wherein at least a portion of a dataset associated with the application is stored as blocks within block storage resources in the cloud-based storage system and also stored as objects within object storage resources in the cloud-based storage system.
    Type: Grant
    Filed: July 19, 2019
    Date of Patent: August 16, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Robert Barker, Jr., Prakash Darji, Charles Giancarlo, Ronald Karr, Chadd Kenney
  • Patent number: 11416179
    Abstract: A method includes obtaining, by a computing device of a storage network, data for storage and interpreting metadata associated with the data to determine data storage requirements. The method further includes selecting a plurality of storage units of the storage network as target storage units based on the data storage requirements and a storage sequence and transmitting a solicitation message to the target storage units. The method further includes receiving favorable responses from at least some of target storage units, selecting storage units from the at least some of the target storage units to produce a set of selected storage units, determining an error coding dispersal storage function, encoding a data segment of the data in accordance with the error coding dispersal storage function to produce a plurality of encoded data slices, and outputting the plurality of encoded data slices to the set of selected storage units for storage therein.
    Type: Grant
    Filed: December 8, 2020
    Date of Patent: August 16, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Gary W. Grube, Timothy W. Markison
  • Patent number: 11416144
    Abstract: A storage system and related method are for operating solid-state storage memory in a storage system. Zones of solid-state storage memory are provided. Each zone includes a portion of the solid-state storage memory. The zone has a data write requirement for the zone for reliability of data reads. The storage system adjusts power loss protection for at least one zone. The adjusting is based on the data write requirement for the zone and responsive to detecting a power loss.
    Type: Grant
    Filed: April 20, 2021
    Date of Patent: August 16, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Andrew R. Bernat, Brandon Davis, Mark L. McAuliffe, Zoltan DeWitt, Benjamin Scholbrock, Phillip Hord, Ronald Karr
  • Patent number: 11416338
    Abstract: A storage system has a resiliency scheme to enhance storage system performance. The storage system composes a RAID stripe. The storage system mixes an ordering of portions of the RAID stripe, based on reliability differences across portions of the solid-state memory. The storage system writes the mixed ordering RAID stripe across the solid-state memory.
    Type: Grant
    Filed: April 24, 2020
    Date of Patent: August 16, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Hari Kannan, Nenad Miladinovic
  • Patent number: 11416149
    Abstract: A method includes determining, by a computing device of a plurality of computing devices of a storage network, a data processing plan for processing an access request. The method further includes identifying two or more processing units of a plurality of processing units of the storage network based on the data processing plan and availability information, and determining processing capabilities of each of the two or more processing units. The method further includes selecting a processing unit of the two or more processing units to process the access request based on a favorable comparison of the processing capabilities of the processing unit and the data processing plan. The method further includes selecting one or more processing options of the processing unit to process the access request according to the data processing plan, and sending the access request and selection of the one or more processing options to the processing unit.
    Type: Grant
    Filed: July 31, 2020
    Date of Patent: August 16, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Jason K. Resch, S. Christopher Gladwin, Kumar Abhijeet, Greg R. Dhuse
  • Patent number: 11416339
    Abstract: A system includes a plurality of storage units, where one or more storage vaults is associated with the plurality of storage units and each storage vault of the one or more storage vaults represents a software-constructed grouping of storage units of the plurality of storage units. The software-constructed grouping of storage units stores encoded data slices. A data segment is encoded using an information dispersal algorithm to produce the encoded data slices. The system further includes a grid access manager that generates a data structure pertaining to the software-constructed grouping of storage units. A storage unit of the software-constructed grouping of storage units receives, from a client computer of the system, a request regarding the data segment, obtains, from the data structure, information regarding the request, determines whether the request is valid based on the information regarding the request, and when the request is valid, executes the request.
    Type: Grant
    Filed: August 7, 2020
    Date of Patent: August 16, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Sebastien Vas, Zachary J. Mark, Jason K. Resch
  • Patent number: 11418591
    Abstract: Systems and methods for storing encoded data slices in a storage network involve generating a set of write slice requests relating to the encoded data slices, outputting the set of write slice requests to distributed storage units, receiving write slice responses and determining whether to retry storing the set of encoded data slices based on one or more of the write slice responses. Determining whether to retry storing the set of encoded data slices may involve determining whether less than a write threshold number of favorable responses were received, for example in a time period, and/or whether an unfavorable response was received. Determining whether to retry may also be based on receiving a slow or non-response. For purposes of retrying, the systems and methods may also determine whether to modify the write slice requests, for example by modifying a revision number.
    Type: Grant
    Filed: March 2, 2020
    Date of Patent: August 16, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Greg R. Dhuse, Andrew D. Baptist, Ilya Volvovski, Jason K. Resch
  • Publication number: 20220253355
    Abstract: method and apparatus for synchronizing replicated data in a storage network. In an embodiment, a method begins by a processing module of a computing device identifying a first storage set and a second storage set for replicated storage of a data object. The processing module initiates storage of the data object in both the first and second storage sets, and further maintains a synchronization status for the data object. The processing module determines, based at least in part on the synchronization status, to resynchronize the first storage set and the second storage set. In response to determining to resynchronize the first storage set and the second storage set, the processing module identifies a latest available revision of the data object, determines that the second storage set requires the latest available revision of the data object to maintain synchronization, and facilitates storage of the identified latest available revision of the data object in the second storage set.
    Type: Application
    Filed: April 27, 2022
    Publication date: August 11, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Jason K. Resch, Scott M. Horan, Ravi V. Khadiwala, Greg R. Dhuse
  • Publication number: 20220253357
    Abstract: A method includes, determining, for a batch rebuild process regarding a first batch threshold number of encoded data slices of a set of encoded data slices that need rebuilding, a target storage unit of target storage units of a set of storage units of the storage network is unavailable, where a data segment of data is dispersed storage error encoded into the set of encoded data slices, the set of encoded data slices is stored in the set of storage units, and the first batch threshold number of encoded data slices is to be stored in the target storage units. When the target storage unit becomes available before a second batch rebuild threshold number of encoded data slices of the set of encoded data slices is met, the method includes executing the batch rebuild process for the first batch threshold number of encoded data slices.
    Type: Application
    Filed: April 27, 2022
    Publication date: August 11, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Niall J. McShane, Andrew D. Baptist, Ravi V. Khadiwala
  • Patent number: 11409767
    Abstract: A method for execution by a rebuilding module includes detecting that less than a pillar width number of encoded data slices of a common revision are retrievable from a set of storage units. A decode threshold number of encoded data slices are retrieved and decoded to reproduce a data segment. The data segment is encoded to produce at least one encoded data slice and storage of the at least one encoded data slice in the set of storage units is facilitated in accordance with the common revision when determining to rebuild the at least one encoded data slice. The data segment is encoded to reproduce the set of encoded data slices and storage of the reproduced set of encoded data slices is facilitated in the set of storage units in accordance with a new revision when determining to not rebuild the at least one encoded data slice.
    Type: Grant
    Filed: November 13, 2020
    Date of Patent: August 9, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Asimuddin Kazi, Jason K. Resch
  • Patent number: 11409437
    Abstract: A method for non-disruptive upgrade of a storage system is provided. The method includes disabling, by an interlock, access by one or more processors of the storage system to the first memory, responsive to a request. The method includes persisting configuration information in the first memory to the solid-state memory, with the access to the first memory disabled by the interlock, wherein the persisting, the first memory and the solid-state memory are supported by an energy reserve. The method includes enabling, by the interlock, access by the one or more processors to the first memory, responsive to completing the persisting, and writing, by the one or more processors of the storage system, to the first memory, to perform the upgrade with further configuration information, with the access enabled by the interlock and wherein at least the persisting is accomplished without power cycling.
    Type: Grant
    Filed: August 21, 2020
    Date of Patent: August 9, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Hari Kannan, Robert Lee
  • Patent number: 11410019
    Abstract: A method for execution by a dispersed storage and task (DST) execution unit includes receiving system registry integrity data via a network that corresponds to a plurality of system registry files, a request for a subset of the plurality of system registry files is generated for transmission to a dispersed storage network (DSN) unit via the network. The subset of system registry files are received from the DSN unit via the network. Integrity check data is generated based on the received subset of the plurality of system registry files and the system registry integrity data, where the integrity check data includes a verification indicator. The system registry files are stored in memory when the verification indicator indicates that verification was successful.
    Type: Grant
    Filed: August 6, 2020
    Date of Patent: August 9, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Thomas D. Cocagne, Jason K. Resch