Patents Assigned to Pure Storage
-
Patent number: 10656866Abstract: 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: GrantFiled: December 15, 2017Date of Patent: May 19, 2020Assignee: 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: 10650902Abstract: 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: GrantFiled: August 3, 2017Date of Patent: May 12, 2020Assignee: Pure Storage, Inc.Inventors: Hari Kannan, Robert Lee, Yuhong Mao
-
Patent number: 10649659Abstract: 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: GrantFiled: March 11, 2019Date of Patent: May 12, 2020Assignee: Pure Storage, Inc.Inventor: Ori Shalev
-
Patent number: 10651975Abstract: 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: GrantFiled: November 7, 2017Date of Patent: May 12, 2020Assignee: PURE STORAGE, INC.Inventors: S. Christopher Gladwin, Greg R. Dhuse, Timothy W. Markison, Wesley B. Leggette, Jason K. Resch, Gary W. Grube
-
Patent number: 10649828Abstract: 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: GrantFiled: September 19, 2018Date of Patent: May 12, 2020Assignee: PURE STORAGE, INC.Inventors: S. Christopher Gladwin, Asimuddin Kazi
-
Patent number: 10652331Abstract: 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: GrantFiled: April 30, 2018Date of Patent: May 12, 2020Assignee: Pure Storage, Inc.Inventors: Benjamin P. Borowiec, Terence W. Noonan
-
Patent number: 10649988Abstract: 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: GrantFiled: July 27, 2018Date of Patent: May 12, 2020Assignee: Pure Storage, Inc.Inventors: Brian Gold, Emily Watkins, Ivan Jibaja, Igor Ostrovsky, Roy Kim
-
Patent number: 10642687Abstract: 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: GrantFiled: December 4, 2017Date of Patent: May 5, 2020Assignee: 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: 10642489Abstract: 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: GrantFiled: December 11, 2017Date of Patent: May 5, 2020Assignee: PURE STORAGE, INC.Inventors: Asimuddin Kazi, Jason K. Resch
-
Patent number: 10642992Abstract: 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: GrantFiled: April 30, 2018Date of Patent: May 5, 2020Assignee: PURE STORAGE, INC.Inventor: Jason K. Resch
-
Patent number: 10644874Abstract: 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: GrantFiled: August 2, 2018Date of Patent: May 5, 2020Assignee: PURE STORAGE, INC.Inventors: Jason K. Resch, Greg R. Dhuse, Bart R. Cilfone
-
Patent number: 10642524Abstract: 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: GrantFiled: September 7, 2018Date of Patent: May 5, 2020Assignee: Pure Storage, Inc.Inventors: John Colgrove, Lydia Do, Ethan Miller
-
Patent number: 10635312Abstract: 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: GrantFiled: October 19, 2018Date of Patent: April 28, 2020Assignee: PURE STORAGE, INC.Inventors: Bruno H. Cabral, Wesley B. Leggette
-
Patent number: 10628182Abstract: 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: GrantFiled: July 11, 2016Date of Patent: April 21, 2020Assignee: PURE STORAGE, INC.Inventor: Benjamin N. Quisumbing
-
Patent number: 10628245Abstract: 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: GrantFiled: July 9, 2018Date of Patent: April 21, 2020Assignee: PURE STORAGE, INC.Inventors: Bart R. Clifone, Jason K. Resch, Manish Motwani, Wesley B. Leggette
-
Patent number: 10620878Abstract: 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: GrantFiled: December 15, 2017Date of Patent: April 14, 2020Assignee: PURE STORAGE, INC.Inventors: Jason K. Resch, Greg R. Dhuse, Ravi V. Khadiwala, Wesley B. Leggette
-
Patent number: 10621044Abstract: 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: GrantFiled: July 26, 2018Date of Patent: April 14, 2020Assignee: PURE STORAGE, INC.Inventor: Greg R. Dhuse
-
Patent number: 10621042Abstract: 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: GrantFiled: December 15, 2017Date of Patent: April 14, 2020Assignee: 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: 10621021Abstract: 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: GrantFiled: November 28, 2017Date of Patent: April 14, 2020Assignee: PURE STORAGE, INC.Inventors: Wesley B. Leggette, Andrew D. Baptist, Greg R. Dhuse, Jason K. Resch, Gary W. Grube, S. Christopher Gladwin
-
Patent number: 10623495Abstract: 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: GrantFiled: December 4, 2017Date of Patent: April 14, 2020Assignee: 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