Patents Assigned to Pure Storage
  • Patent number: 11385801
    Abstract: Offloading device management responsibilities from a storage device in an array of storage devices, including: retrieving, from the storage device, control information describing the state of one or more memory blocks in the storage device; and performing, in dependence upon the control information, a storage device management operation.
    Type: Grant
    Filed: March 29, 2019
    Date of Patent: July 12, 2022
    Assignee: PURE STORAGE, INC.
    Inventor: Eric D. Seppanen
  • Patent number: 11385999
    Abstract: A system including embedded storage devices is described. A method of system operation includes determining, by a processing device of a storage system controller operatively coupled via a network to embedded storage devices, that data is to be stored in a first storage portion of a first storage device of the embedded storage devices. The method also includes buffering the data in a second storage portion of a second embedded storage device of the embedded storage devices.
    Type: Grant
    Filed: January 3, 2020
    Date of Patent: July 12, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Roland Dreier, Ronald Karr, Peter E. Kirkpatrick
  • Publication number: 20220214944
    Abstract: A storage network method begins by receiving a data retrieval request, wherein a data object is segmented into a plurality of data segments, determining a storage configuration associated with the data retrieval request based on an encoded data slice identifier included in the retrieval request and, based on the storage configuration, determining a plurality of storage resources associated with the encoded data slice identifier The mehod continues by determining an estimated performance level for each storage resource of a plurality of storage resources associated with the encoded data slice identifier, determining an expected retrieval performance for the retrieval request and selecting a storage resource of the plurality of storage resources based on the expected retrieval performance. The method then continues by transmitting a read request for one or more encoded data slices associated with the encoded data slice identifier to the storage resource.
    Type: Application
    Filed: March 22, 2022
    Publication date: July 7, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Thomas F. Shirley, JR., Greg R. Dhuse, Jason K. Resch
  • Patent number: 11379132
    Abstract: Correlating medical sensor data includes: receiving, from a plurality of disparate medical sensors, sensor data for a patient; analyzing the sensor data, including identifying one or more correlations to one or more known patterns; and reporting the correlations.
    Type: Grant
    Filed: June 6, 2019
    Date of Patent: July 5, 2022
    Assignee: PURE STORAGE, INC.
    Inventor: David Whitlock
  • Patent number: 11379254
    Abstract: A cloud-based storage system within a cloud computing environment, the cloud-based storage system including: monitoring, for the cloud-based storage system, one or more storage system operations, wherein the cloud-based storage system includes a virtual instance storage layer and a cloud-based storage layer; determining, based at least upon the one or more storage system operations, one or more access patterns for the cloud-based storage system; and modifying, based at least upon the one or more access patterns for the cloud-based storage system, one or more cloud configurations for the cloud-based storage system.
    Type: Grant
    Filed: April 3, 2019
    Date of Patent: July 5, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Aswin Karumbunathan, John Colgrove, Constantine Sapuntzakis, Joshua Freilich, Naveen Neelakantam, Sergey Zhuravlev
  • Patent number: 11379285
    Abstract: Determining active membership among storage systems synchronously replicating a dataset, where determining active membership includes: detecting, by a particular storage system of the storage systems, a communication fault with one or more of the storage systems, where the particular storage system is configured to request mediation from a mediation target; determining that at least one of the one or more storage systems is configured to request mediation from the mediation target responsive to the communication fault; and responsive to determining that one or more of the storage systems is configured to request mediation from the mediation target, determining whether to request mediation from the mediation target.
    Type: Grant
    Filed: January 31, 2020
    Date of Patent: July 5, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: John Colgrove, David Grunwald, Ronald Karr, Ganesh Ramanarayanan
  • Patent number: 11372897
    Abstract: An exemplary method includes receiving a request to store a data item within a directory of a virtual file structure layer for an unstructured storage layer of a data storage system, caching an identifier of a collection object representative of the directory, sending a query to a plurality of storage nodes included in a cluster of the data storage system, receiving, in response to the query, replies from a subset of the storage nodes that are available to store the data item, selecting, based on the replies, a storage node from the subset of storage nodes, transmitting the data item to the selected storage node for storage by the selected storage node within the unstructured storage layer, accessing, based on the cached identifier, the collection object, and updating the collection object to include a reference to the data item stored in the selected storage node.
    Type: Grant
    Filed: August 5, 2020
    Date of Patent: June 28, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Stefan Bernbo, Christian Melander, Roger Persson, Gustav Petersson
  • Patent number: 11366939
    Abstract: A method includes a computing device of a storage network dispersed storage error encoding a plurality of data segments to produce a plurality of sets of encoded data slices. The method further includes the computing device obfuscating a first set of encoded data slices of the plurality of sets of encoded data slices using an obfuscating method to produce a first set of obfuscated encoded data slices. The method further includes the computing device outputting the first set of obfuscated encoded data slices for storage in the storage network.
    Type: Grant
    Filed: December 10, 2020
    Date of Patent: June 21, 2022
    Assignee: Pure Storage, Inc.
    Inventors: S. Christopher Gladwin, Thomas F. Shirley, Jr., Gary W. Grube
  • Publication number: 20220187989
    Abstract: A data object to be stored in one or more memories as a first set of encoded data segments is received at a storage processing module. An index to include an entry identifying the data object to be stored is updated, and storage of the data object is initiated. Initiating storage of the data object includes initiating storage of the first set of encoded data segments. A determination is made regarding whether storage of the data object to the one or more memories has been completed. If storage of the data object has been completed, the entry identifying the data object to be stored is removed from the index.
    Type: Application
    Filed: March 4, 2022
    Publication date: June 16, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Jason K. Resch, Wesley B. Leggette, Ilya Volvovski
  • Publication number: 20220188179
    Abstract: A computing device includes processing circuitry configured to determine whether to modify the dispersed error encoding parameters of a set of encoded data slices (EDSs) stored in a distributed storage network to produce a set of modified EDSs, wherein a data object is segmented into a plurality of data segments and in response to a determination to modify the dispersed error encoding parameters of the set of EDSs, identify a plurality of storage units to store the modified EDSs and determine modified dispersed error encoding parameters for the modified EDSs. The computing device is further configured to assign each storage unit of the plurality of storage units to execute one or more storage modification tasks associated with producing the modified EDSs; and transmit one or more EDS of the set of EDSs to each storage unit of the plurality of storage units for modification and storage.
    Type: Application
    Filed: March 4, 2022
    Publication date: June 16, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Wesley B. Leggette, Andrew D. Baptist, Greg R. Dhuse, Jason K. Resch, Gary W. Grube, S. Christopher Gladwin
  • Publication number: 20220188191
    Abstract: A storage unit operates by: receiving a write slice request, wherein the write slice request includes a plurality of encoded data slices and wherein the write slice request corresponds to a range; determining whether a write lock conflict exists based on the range; issuing an unfavorable write slice response when the write lock conflict is determined to exist; and when the write lock conflict is determined to not exist: initiating local storage of the plurality of encoded data slices; and issuing a favorable write slice response.
    Type: Application
    Filed: March 2, 2022
    Publication date: June 16, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Zachary J. Mark, Ilya Volvovski, Greg R. Dhuse
  • Patent number: 11360851
    Abstract: A method includes authenticating, by a computing device, a first connection between one or more storage units and at least one of the computing device and a first user computing device. The method further includes determining, by the computing device, to add a second connection between the one or more storage units and at least one of the computing device and a second user computing device. The method further includes generating, by the computing device, a secret code and sending the secret code to the one or more storage units via the first connection. The method further includes sending, by the one or more storage units, responses to the secret code to the computing device via the second connection. The method further includes authenticating, by the computing device, the second connection based on the authentication of the first connection and the responses from the one or more storage units.
    Type: Grant
    Filed: November 17, 2017
    Date of Patent: June 14, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Jason K. Resch, Wesley B. Leggette
  • Patent number: 11360682
    Abstract: Preventing duplicate entries of identical data in a storage device, including: receiving a write request to write data to the storage device; calculating one or more signatures for the data associated with the write request; determining whether any of the calculated signatures match a calculated signature contained in a recently read signature buffer, each entry in the recently read signature buffer associating a calculated signature for data that has been read with an address of a storage location within the storage device where the data is stored; and responsive to determining that one of the calculated signatures matches a calculated signature contained in the recently read signature buffer, determining whether the data associated with the calculated signature is a duplicate of data stored at a particular address that is associated with the calculated signature contained in the recently read signature buffer.
    Type: Grant
    Filed: June 3, 2020
    Date of Patent: June 14, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Ronald S. Karr, Ethan L. Miller
  • Patent number: 11360852
    Abstract: Methods and apparatus for selection of memory devices in a distributed storage network. In an embodiment, a computing device receives a data object for storage and forwards the data object to a buffer for temporary storage, the buffer comprised of a first memory devices of a first memory type. A system level storage efficiency is determined for the data object based, at least in part, on a data attribute associated with the data object. Second memory devices, of a second memory type, are selected based on the system level storage efficiency preference, and compatible dispersed storage error encoding parameters for the data object are determined. The data object is encoded using the encoding parameters to generate a plurality of encoded data slices, which are provided to the second plurality of memory devices for storage. Further, system addressing information is generated based on an identifier associated with the data object.
    Type: Grant
    Filed: January 18, 2021
    Date of Patent: June 14, 2022
    Assignee: Pure Storage, Inc.
    Inventors: S. Christopher Gladwin, Timothy W. Markison, Greg R. Dhuse, Thomas F. Shirley, Jr., Wesley B. Leggette, Jason K. Resch, Gary W. Grube
  • Patent number: 11360689
    Abstract: Cloning a tracking copy of replica data, including receiving, at a target data repository from a source data repository, metadata describing one or more updates to a dataset stored within the source data repository; generating, based on the metadata describing the one or more updates to the dataset, a tracking copy of replica data on the target data repository; and generating, based on the tracking copy, a cloned image of the dataset that is modifiable without modifying the tracking copy of the replica data.
    Type: Grant
    Filed: October 30, 2019
    Date of Patent: June 14, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: David Grunwald, Thomas Gill, Ronald Karr, John Colgrove, Larry Touchette, Lawrence Mertes
  • Patent number: 11360844
    Abstract: Recovery of a container storage provider, including: storing, within a first database, configuration information related to the container storage provider; storing, within a second database hosted by a cloud-based storage system services provider, the configuration information; and responsive to detecting that one or more components associated with the container storage provider have become unavailable, creating a replacement component using configuration information contained in the second database.
    Type: Grant
    Filed: September 21, 2020
    Date of Patent: June 14, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Simon Dodsley, Remko Deenik, Jon Owings, Sergey Zhuravlev, Joshua Robinson
  • Patent number: 11354058
    Abstract: A storage system includes solid-state storage devices and a storage controller operatively coupled to the solid-state storage devices, the storage controller including a processing device, the processing device to receive, from a solid-state storage device of the solid-state storage devices, an indication of an occurrence of triggering event associated with data stored at a first data block of the solid-state storage device. In response to receiving the indication of the occurrence of the triggering event, a second data block of the solid-state storage device is identified for storage of the data. A command in transmitted to the solid-state storage device that includes address information associated with the second data block of the solid-state storage device for storage of the data, wherein the command causes the solid-state storage device to program the data to the second data block.
    Type: Grant
    Filed: April 19, 2019
    Date of Patent: June 7, 2022
    Assignee: Pure Storage, Inc.
    Inventors: Andrew R. Bernat, Peter E. Kirkpatrick, Gordon James Coleman, Wei Tang, Ronald Karr
  • Publication number: 20220171573
    Abstract: A method for execution by a computing device includes changing a decentralized agreement protocol (DAP) of a storage network to a new DAP, where storage units of the storage network store encoded data slices. The method further includes performing, based on the changing, a DAP redistribution operation that is associated with transfer of affected ones of the encoded data slices from at least one storage unit to at least one other storage unit. The method further includes maintaining, based on the changing, at least one source name address map that includes a listing of source names in accordance with storage network addresses for the at least one storage unit. The method further includes updating the at least one source name address map based on performance of the transfer of the affected ones and storing the updated at least one source name address map in a memory of the storage network.
    Type: Application
    Filed: February 16, 2022
    Publication date: June 2, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Jason K. Resch, Wesley B. Leggette, Manish Motwani
  • Publication number: 20220174114
    Abstract: A method includes detecting a storage error associated with a first memory device of a storage unit of a set of storage units, where data is error encoded into a set of encoded data slices and stored in a plurality of memory devices of the set of storage units, and where the plurality of memory devices includes the first memory device. The method further includes determining attributes associated with the first memory device and determining attributes of other memory devices of the plurality of memory devices. The method further includes selecting a memory device from the other memory devices based on the attributes of the memory device comparing favorably to the attributes associated with the first memory device. The method further includes rebuilding an encoded data slice associated with the storage error and storing the rebuilt encoded data slice in the selected memory device.
    Type: Application
    Filed: February 18, 2022
    Publication date: June 2, 2022
    Applicant: Pure Storage, Inc.
    Inventors: Andrew G. Peake, Jason K. Resch
  • Patent number: 11347590
    Abstract: A method for rebuilding data in a distributed storage network (DSN) including a plurality of storage units. A rebuilding module of the DSN selects an address range associated with memory of a storage unit of the DSN, and initiates execution of data rebuilding activities for the selected address range. The rebuilding module determines a first rebuilding rate of the storage unit for a timeframe subsequent to initiating the execution of the data rebuilding activities. The rebuilding module further operates to pause the execution of the data rebuilding activities for a pause timeframe, and determine a second rebuilding rate of the storage unit for the pause timeframe. In response to determining that the second rebuilding rate compares favorably to the first rebuilding rate, the rebuilding module resumes execution of the data rebuilding activities. If the comparison is unfavorable, a second address range is selected for data rebuilding activities.
    Type: Grant
    Filed: April 16, 2020
    Date of Patent: May 31, 2022
    Assignee: PURE STORAGE, INC.
    Inventors: Jason K. Resch, Ravi V. Khadiwala