Patents Assigned to Pure Storage
  • Patent number: 10656866
    Abstract: A computing device includes an interface configured to interface and communicate with a dispersed storage network (DSN), a 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 perform various operations and functions. The computing device selects storage parameters for a multi-vault synchronization process from a first storage vault to a second storage vault. The computing device synchronizes storage of the set(s) of ingestion encoded data slices (EDSs) between the vaults and maintains storage of a portion of an ingestion data stream within the second storage vault. The computing device facilitates deletion of the set(s) of ingestion EDSs corresponding to the portion of an ingestion data stream from the first storage vault. the computing device performs additional multi-vault synchronization process(es) for any other portion(s) of the ingestion data stream.
    Type: Grant
    Filed: December 15, 2017
    Date of Patent: May 19, 2020
    Assignee: 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, Kumar Abhijeet, Praveen Viraraghavan
  • Patent number: 10650902
    Abstract: A method for processing blocks of flash memory to decrease raw bit errors from the flash memory is provided. The method includes identifying one or more blocks of the flash memory for a refresh operation and writing information regarding the identified blocks, to a data structure. The method includes issuing background reads to the identified blocks, according to the data structure, as the refresh operation. The method may be embodied on a computer readable medium. In some embodiments the background reads may be based on a time based refresh responsive to an increase in raw bit error count in the flash memory over time.
    Type: Grant
    Filed: August 3, 2017
    Date of Patent: May 12, 2020
    Assignee: Pure Storage, Inc.
    Inventors: Hari Kannan, Robert Lee, Yuhong Mao
  • Patent number: 10649659
    Abstract: A method of operating a storage system is disclosed. The method includes determining a storage cluster among storage arrays of the storage system. Each storage array includes at least two controllers and at least one storage shelf. The at least two controllers are configured to function as both a primary controller for a first storage array and a secondary controller for a second storage array.
    Type: Grant
    Filed: March 11, 2019
    Date of Patent: May 12, 2020
    Assignee: Pure Storage, Inc.
    Inventor: Ori Shalev
  • Patent number: 10651975
    Abstract: A method begins with receiving data objects. As the data objects are received, the method continues by assigning a data type identifier to each data object based on the data object being a data type. The method continues with sending data objects having a first data type identifier to a first group of computing devices and sending data objects having a second data type identifier to a second group. The method continues with interpreting, by the first group, the data objects having the first data type identifier to sort, based on sorting criteria the data objects into a first processing category and a second processing category. The method continues with dispersed storage error encoding the data objects in the second processing category based on short term storage error encoding parameters to produce pluralities of sets of encoded data slices and sending the slices to storage and execution units.
    Type: Grant
    Filed: November 7, 2017
    Date of Patent: May 12, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: S. Christopher Gladwin, Greg R. Dhuse, Timothy W. Markison, Wesley B. Leggette, Jason K. Resch, Gary W. Grube
  • Patent number: 10649828
    Abstract: A method begins with a processing module querying distributed storage network (DSN) storage units regarding storage errors associated with a data segment. The method continues with the processing module receiving query responses and depending on the responses, assigning a first threshold priority or a second threshold priority to encoded data slices (EDSs) associated with the data segment. The method proceeds with the processing module, depending on the assigned threshold priority, issuing read slice requests and rebuilding EDS associated with the data segment.
    Type: Grant
    Filed: September 19, 2018
    Date of Patent: May 12, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: S. Christopher Gladwin, Asimuddin Kazi
  • Patent number: 10652331
    Abstract: Locally providing cloud storage array services for a storage array of a data center when the storage array is not connected to a remote cloud-based storage array services provider includes initiating, by a primary storage array, one or more cloud storage array services and locally providing the cloud storage array services. Such local providing of the cloud storage array services also includes generating, by the cloud storage array services, metadata describing one or more real-time storage array characteristics and presenting the metadata to a user through a local area network.
    Type: Grant
    Filed: April 30, 2018
    Date of Patent: May 12, 2020
    Assignee: Pure Storage, Inc.
    Inventors: Benjamin P. Borowiec, Terence W. Noonan
  • Patent number: 10649988
    Abstract: An artificial intelligence and machine learning infrastructure system, including: one or more storage systems comprising, respectively, one or more storage devices; and one or more graphical processing units, wherein the graphical processing units are configured to communicate with the one or more storage systems over a communication fabric; where the one or more storage systems, the one or more graphical processing units, and the communication fabric are implemented within a single chassis.
    Type: Grant
    Filed: July 27, 2018
    Date of Patent: May 12, 2020
    Assignee: Pure Storage, Inc.
    Inventors: Brian Gold, Emily Watkins, Ivan Jibaja, Igor Ostrovsky, Roy Kim
  • Patent number: 10642687
    Abstract: A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN). The method begins by determining to recover a data object from one or more storage vaults of a plurality of storage vaults where the data object has been synchronously stored amongst the plurality of storage vaults. The method continues, for each storage vault, by determining a slice retrieval performance level and selecting two or more storage vaults of the plurality of storage vaults for retrieval based on the slice retrieval performance levels. The method continues by identifying a plurality of data segments for retrieval where the data object was divided into the plurality of data objects and assigning a storage vault for retrieval to produce assignment information and facilitating recovery of each data segment of the plurality of data segments from the selected two or more storage vaults.
    Type: Grant
    Filed: December 4, 2017
    Date of Patent: May 5, 2020
    Assignee: 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: 10642489
    Abstract: A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method begins by identifying an encoded data slice to be rebuilt within a DS unit, obtaining DS unit status information, selecting a rebuilding approach based on the DS unit status information, the rebuilding approach including an internal approach or an external approach. The method continues by obtaining, upon selecting the internal approach, internal rebuilding information from one or more memories of the DS unit and rebuilding the encoded data slice to be rebuilt utilizing the internal rebuilding information. The method continues by obtaining, upon selecting the external approach, external rebuilding information from at least a decode threshold number of other DS units of a set of DS units that includes the DS unit and rebuilding the encoded data slice to be rebuilt utilizing the external rebuilding information.
    Type: Grant
    Filed: December 11, 2017
    Date of Patent: May 5, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Asimuddin Kazi, Jason K. Resch
  • Patent number: 10642992
    Abstract: A computing device includes an interface configured to interface and communicate with a dispersed storage network (DSN), a 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 perform various operations and functions. The computing device encrypts data using a key to generate encrypted data and processes it and a password based on a deterministic function to generate transformed data. The computing device masks the key based on a masking function based on the transformed data to generate a masked key, and then combines the encrypted data and the masked key to generate a secure package that is encoded in accordance with dispersed error encoding parameters produce a set of encoded data slices (EDSs) and transmits the set of EDSs to a plurality of storage units (SUs) to be distributedly stored therein.
    Type: Grant
    Filed: April 30, 2018
    Date of Patent: May 5, 2020
    Assignee: PURE STORAGE, INC.
    Inventor: Jason K. Resch
  • Patent number: 10644874
    Abstract: A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method begins by performing a key derivation function on a password to produce a key and issuing a set of blinded passwords to a set of storage units, where the blinded passwords are generated based on the key. The method continues by receiving at least a decode threshold number of confidential information responses, where each of the confidential information responses includes an encrypted encoded data slice and an associated passkey, regenerating a set of keys using the associated passkeys of the confidential information, decrypting a set of encrypted slices of the confidential information using the set of keys to reproduce a set of encoded data slices, and dispersed storage error decoding a decode threshold number of the set of reproduced encoded data slices to produce recovered data.
    Type: Grant
    Filed: August 2, 2018
    Date of Patent: May 5, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Jason K. Resch, Greg R. Dhuse, Bart R. Cilfone
  • Patent number: 10642524
    Abstract: Migrating data in a storage array that includes a plurality of storage devices and a plurality of write buffer devices, including: detecting, by the storage array, an occurrence of a write buffer device evacuation event associated with one or more source write buffer devices; responsive to detecting the occurrence of the write buffer device evacuation event, determining, by the storage array, whether the storage array includes at least a predetermined amount of write buffer resources in addition to the one or more source write buffer devices; and responsive to determining that the storage array includes at least a predetermined amount of write buffer resources in addition to the one or more source write buffer devices, reducing, by the storage array, write access to the one or more source write buffer devices.
    Type: Grant
    Filed: September 7, 2018
    Date of Patent: May 5, 2020
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, Lydia Do, Ethan Miller
  • Patent number: 10635312
    Abstract: A method for execution by a dispersed storage and task (DST) client module includes issuing a read threshold number of read slice requests are issued to storage units of the set of storage units. One or more encoded slices of a selected read threshold number of encoded slices are received. When a next encoded data slice of a decode threshold number of encoded data slices is received within a response timeframe, outputting of the next encoded data slice is initiated. When the next encoded data slice is not received within the response timeframe, receiving of another decode threshold number of encoded slices of the set of encoded slices is facilitated. The other decode threshold number of encoded slices are decoded to produce recovered encoded data slices, where the recovered encoded data slices includes at least a recovered next encoded data.
    Type: Grant
    Filed: October 19, 2018
    Date of Patent: April 28, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Bruno H. Cabral, Wesley B. Leggette
  • Patent number: 10628182
    Abstract: Information identifying a current hardware configuration of a system may be received. Furthermore, information of a new hardware component that has not been installed may be received. A graphical user interface (GUI) may be provided with an option to install the new hardware component with the system. In response to a selection from the GUI of the option to install the new hardware component with the system, a plurality of actions to install the new hardware component with the current hardware configuration of the system may be determined. A guide may be generated based on the determined plurality of actions.
    Type: Grant
    Filed: July 11, 2016
    Date of Patent: April 21, 2020
    Assignee: PURE STORAGE, INC.
    Inventor: Benjamin N. Quisumbing
  • Patent number: 10628245
    Abstract: A method for distributed monitoring of storage units of a dispersed storage network (DSN) including a plurality of sets of storage units. A managing unit of the DSN obtains configuration information relating to the DSN storage resources and selects a target storage unit to be monitored. The managing unit also determines a number of other storage units to be used in monitoring the target storage unit. Selection of the monitoring storage units includes determining, for each of a plurality of storage units of the DSN, an estimated failure correlation level with the target storage unit. Based at least in part on this information, the determined number of storage units are selected and assigned to monitor the target storage unit. The managing unit subsequently receives status information, relating to the target storage unit, from the monitoring storage units.
    Type: Grant
    Filed: July 9, 2018
    Date of Patent: April 21, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Bart R. Clifone, Jason K. Resch, Manish Motwani, Wesley B. Leggette
  • Patent number: 10620878
    Abstract: A method includes receiving a write operation request for storage of a data segment of a data object in at least a portion of a dispersed storage network (DSN). The method further includes determining a write target number based on information related to the data segment and a write extra number based on system error rate. The method further includes establishing a write threshold plus value based on the write target number and the write extra number, where the write target number is greater than or equal to a write threshold number. The method further includes generating a set of write requests for a subset of the set of encoded data slices, where the subset includes the write threshold plus value of encoded data slices of the set of encoded data slices. The method further includes sending the set of write requests to a set of storage units.
    Type: Grant
    Filed: December 15, 2017
    Date of Patent: April 14, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Jason K. Resch, Greg R. Dhuse, Ravi V. Khadiwala, Wesley B. Leggette
  • Patent number: 10621044
    Abstract: A distributed storage network includes a method of receiving data and a corresponding task, selecting one or more storage units for the task based on a capability level associated with each of the storage units, identifying a plurality of data groups of the data, determining a chunk size based on the plurality of data groups, determining processing parameters of the data based on the chunk size, generating a set of chunksets from the plurality of data groups in accordance with the chunk size and processing parameters and encoding the set of chunksets in accordance with the processing parameters to produce slice groupings. The method further includes determining task partitioning based on the storage units and the processing parameters, partitioning the task based on the task partitioning to produce partial tasks and sending the slice groupings and corresponding partial tasks to the storage units.
    Type: Grant
    Filed: July 26, 2018
    Date of Patent: April 14, 2020
    Assignee: PURE STORAGE, INC.
    Inventor: Greg R. Dhuse
  • Patent number: 10621042
    Abstract: A method includes maintaining, by a storage unit, a plurality of source name based addressing maps regarding encoding data slice storage by a plurality of storage units. The method further includes receiving, by the storage unit, an access request for an encoded data slice having a source name corresponding to a DSN address. The method further includes accessing, by the storage unit, the source name based address maps to determine whether the encoded data slice is effected by the DAP redistribution operation. The method further includes, when the encoded data slice is effected by the DAP redistribution operation, determining, by the storage unit, to execute the access request, proxy the access request, or deny the access request. The method further includes, when the determination is to execute the access request, executing, by the storage unit, the access request for the encoded data slice.
    Type: Grant
    Filed: December 15, 2017
    Date of Patent: April 14, 2020
    Assignee: 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
  • Patent number: 10621021
    Abstract: A computing device includes an interface configured to interface and communicate with a dispersed storage network (DSN), a memory that stores operational instructions, and processing circuitry operably coupled to the interface and to the memory. The computing device obtains a data identifier associated with a data object and determines DSN address(es) associated with storage of one or more encoded data slice(s) (EDS(s)). The computing device selects slice names based on the DSN address(es) and issues at least a read threshold number of read slice requests using slice names to at least some storage units (SUs). When an insufficient number of EDSs is received, the computing device issues an alternate read slice request to an alternate SU. When a sufficient number of EDSs is received from the alternate SU and the computing device has received at least the read threshold number of EDSs, the computing device reconstructs the data segment.
    Type: Grant
    Filed: November 28, 2017
    Date of Patent: April 14, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: Wesley B. Leggette, Andrew D. Baptist, Greg R. Dhuse, Jason K. Resch, Gary W. Grube, S. Christopher Gladwin
  • Patent number: 10623495
    Abstract: A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN). The method begins by receiving a portion of a data stream from a requesting entity for storage in a plurality of storage vaults. The method continues by encoding the portion of the data stream in accordance with dispersal parameters of the storage vault to produce a corresponding plurality of sets of encoded data slices. The method continues by facilitating storage of the corresponding plurality of sets of encoded data slices in the storage vault. The method continues by determining an ingestion rate capability level for the plurality of storage vaults and issuing stream pacing information to the requesting entity based on the ingestion rate capability level.
    Type: Grant
    Filed: December 4, 2017
    Date of Patent: April 14, 2020
    Assignee: 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