Patents Assigned to Pure Storage
-
Patent number: 10963326Abstract: Rehabilitating storage devices in a storage array that includes a plurality of storage devices, including: receiving a request to rehabilitate a storage device that is operating outside of a defined range of expected operating parameters; selecting, from a hierarchy of rehabilitative actions that can be performed on the storage device, a rehabilitative action to perform on a storage device in dependence upon information describing a number of times that one or more of the rehabilitative actions have been performed on the storage device; and initiating execution of the selected rehabilitative action.Type: GrantFiled: January 31, 2019Date of Patent: March 30, 2021Assignee: Pure Storage, Inc.Inventors: Andrew Bernat, James Cihla, Jungkeun Kim, Iris McLeary, Damian Yurzola
-
Patent number: 10963343Abstract: 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. The computing device issues a set of write requests to a first storage unit (SU) set based on a set of encoded data slices (EDSs) associated with a data object to be stored therein. When a write threshold number and fewer than all of the set of EDSs have been successfully stored, the computing device determines to store temporarily within a second SU set remaining EDS(s) that has not been successfully stored within the first SUs set and facilitates temporary storage thereof within the second SU set. Upon recovery of the EDS(s) from the temporary storage within the second SU set, the computing device issues additional write request(s) to the first SU set based on the EDS(s).Type: GrantFiled: December 23, 2019Date of Patent: March 30, 2021Assignee: PURE STORAGE, INC.Inventors: Ravi V. Khadiwala, Yogesh R. Vedpathak, Jason K. Resch, Asimuddin Kazi
-
Patent number: 10958430Abstract: 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 receives (e.g., via the DSN and from a first other computing device) a storage request that is based on data object. The computing device extracts a remote address (associated with the first other computing device) from the storage request. The computing device processes the storage request to determine whether any principals are associated with the storage request, wherein the principals include DSN system entities.Type: GrantFiled: August 28, 2019Date of Patent: March 23, 2021Assignee: PURE STORAGE, INC.Inventors: Jason K. Resch, Wesley B. Leggette
-
Patent number: 10956054Abstract: Optimizing copy operations in a storage array, including: receiving a plurality of copy operations; detecting a triggering event that causes a storage array controller to initiate execution of the plurality of copy operations; and combining, in dependence upon a metadata optimization policy, the plurality of copy operations into a single copy operation.Type: GrantFiled: March 6, 2019Date of Patent: March 23, 2021Assignee: Pure Storage, Inc.Inventors: Jianting Cao, Christopher Golden, David Grunwald, Luke Paulsen, Scott Smith
-
Patent number: 10956292Abstract: A method includes receiving a data retrieval request. A plurality of identifiers are determined in accordance with the data retrieval request. Stored integrity information corresponding to the data retrieval request is received. Desired integrity information is generated based on the plurality of identifiers. The stored integrity information is compared with the desired integrity information. When the stored integrity information compares favorably with the desired integrity information, at least a decode threshold number of encoded data slices of a set of encoded data slices of a plurality of sets of encoded data slices are dispersed storage error decoded.Type: GrantFiled: September 17, 2020Date of Patent: March 23, 2021Assignee: PURE STORAGE, INC.Inventors: Gary W. Grube, Timothy W. Markison
-
Patent number: 10949301Abstract: 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 selecting a plurality of network edge units for staging public pillar encoded data slices. The method continues by identifying target content for partial download to the plurality of network edge units. The method continues by identifying public pillars corresponding to the target content for partial download. The method continues by determining a partial downloading schedule for sending public pillar encoded data slices, corresponding to the public pillars, to each network edge unit of the plurality of network edge units and facilitating partial downloading of the target content by facilitating sending of the public pillar encoded data slices to each network edge unit of the plurality of network edge units.Type: GrantFiled: January 18, 2018Date of Patent: March 16, 2021Assignee: PURE STORAGE, INC.Inventors: S. Christopher Gladwin, Gary W. Grube, Timothy W. Markison
-
Patent number: 10942869Abstract: A method for efficient name coding in a storage system is provided. The method includes identifying common prefixes, common suffixes, and midsections of a plurality of strings in the storage system, and writing the common prefixes, midsections and common suffixes to a string table in the storage system. The method includes encoding each string of the plurality of strings as to position in the string table of prefix, midsection and suffix of the string, and writing the encoding of each string to memory in the storage system for the plurality of strings, in the storage system.Type: GrantFiled: December 23, 2019Date of Patent: March 9, 2021Assignee: Pure Storage, Inc.Inventors: Robert Lee, Cary A. Sandvig
-
Patent number: 10944712Abstract: A method for processing partial tasks in a distributed storage network (DSN) includes receiving a partial task request message for a DS execution unit, where the partial task request message includes corresponding partial tasks. The method continues by processing each partial task request message in accordance with the processing parameters to produce task request slice groupings, generating slices, such that each message is directed at a corresponding DS execution unit, and the sending the slice groupings and the task request slice groupings to the selected DS execution units for storage therein. The method continues by retrieving at least a decode threshold number of task response slices of one or more task response slice groupings from the DS execution units, decoding the task response slices, retrieving at least a decode threshold number of partial result slices, and decoding the partial results slices and processing the partial results to produce a result.Type: GrantFiled: April 29, 2020Date of Patent: March 9, 2021Assignee: PURE STORAGE, INC.Inventors: Wesley B. Leggette, Andrew D. Baptist, Greg R. Dhuse, Jason K. Resch, Ilya Volvovski, Manish Motwani, S. Christopher Gladwin, Gary W. Grube, Thomas F. Shirley, Jr.
-
Patent number: 10942650Abstract: Determining effective space utilization in a storage system, including: identifying an amount of data stored within the storage system that is associated with a user-visible entity; identifying an amount of data stored within the storage system that is associated with all snapshots of the user-visible entity; and reporting, in dependence upon the an amount of data stored within the storage system that is associated with the user-visible entity and the amount of data stored within the storage system that is associated with all snapshots of the user-visible entity, a total capacity utilization associated with the user-visible entity.Type: GrantFiled: December 12, 2019Date of Patent: March 9, 2021Assignee: Pure Storage, Inc.Inventors: Matthew Fay, John Colgrove, Martin Harriman
-
Patent number: 10944671Abstract: A method for network communication is provided. The method includes assigning a first network port identifier for return communication to a packet that originates on a node of the network device and determining whether the packet has a destination internal or external to the network device. The method includes translating the first network port identifier for return communication to a second network port identifier that is within a range of network port identifiers specific to the node, responsive to determining the packet has the external destination, and sending the packet from the node of the network device to the external destination, with the packet having the second network port identifier for return communication.Type: GrantFiled: March 11, 2019Date of Patent: March 9, 2021Assignee: Pure Storage, Inc.Inventors: Qing Yang, Prabhath Sajeepa, Curtis Scranton McDowell, Daniel Talayco
-
Patent number: 10936238Abstract: Hybrid data tiering, including: replicating multiple data objects from a first storage location on a first computer system to a second storage location at a second computer system; identifying, in accordance with a retention policy, some of the multiple data objects to continue storing at the first storage location, wherein all of the multiple data objects remain stored at the second storage location; and selecting the identified some of the multiple data objects to remain stored at the first storage location.Type: GrantFiled: November 19, 2018Date of Patent: March 2, 2021Assignee: Pure Storage, Inc.Inventors: Tyler Power, Mark Cox, Mark Emberson
-
Patent number: 10938418Abstract: A computing device includes an interface configured to interface and communicate with a dispersed storage network (DSN), 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. The computing device detects a failed memory device (e.g., of a storage unit (SU) that stores at least one encoded data slice (EDS). The computing device then determines a DSN address range associated with at least some EDSs associated with a data object stored within the failed memory device and transmits the DSN address range to another computing device within the DSN to instruct restriction within the DSN of a memory access request for an EDSs associated with the data object that is stored within the failed memory device.Type: GrantFiled: November 28, 2016Date of Patent: March 2, 2021Assignee: PURE STORAGE, INC.Inventors: Dustin M. Hendrickson, Manish Motwani
-
Patent number: 10936191Abstract: An exemplary access control system controls access to a computing system such as a data storage system. For example, the exemplary access control system includes a remote management system that receives a request to operate on an element of the computing system and generates a message based on the request and a first token for the remote management system that is associated with the request. The message includes data representative of a second token for the remote management system. The remote management system signs the message and transmits the signed message to the computing system, which is configured to verify and use the signed message, including the second token included in the signed message, to obtain and use a local access token to access and operate on the element in accordance with the request.Type: GrantFiled: December 5, 2018Date of Patent: March 2, 2021Assignee: Pure Storage, Inc.Inventors: Sitaraman Suthamali Lakshminarayanan, Christopher Holtz, Jonathan McLachlan, Li Zhao, David M'Raihi, Yu Tan
-
Patent number: 10936448Abstract: A method includes determining an encoding modification for a set of encoded data slices where a data segment of data is dispersed storage error encoded into the set of encoded data slices based on dispersed storage error encoding parameters. The method further includes determining a plurality of tasks for executing the encoding modification, where the encoding modification includes altering one or more parameters of the dispersed storage error encoding parameters. The method further includes assigning a first task of the plurality of tasks to a first storage unit and assigning remaining tasks of the plurality of tasks to a set of storage units. The method further includes executing, by the first storage unit and at least some storage units of the set of storage units, the first task and the remaining tasks of the plurality of tasks, respectively, to produce a modified set of encoded data slices.Type: GrantFiled: October 12, 2018Date of Patent: March 2, 2021Assignee: PURE STORAGE, INC.Inventors: Wesley B. Leggette, Andrew D. Baptist, Greg R. Dhuse, Jason K. Resch, Gary W. Grube, S. Christopher Gladwin
-
Patent number: 10936417Abstract: A computing device for use in a dispersed storage network (DSN) to recover corrupt encoded data slices. The computing device requests, from storage units of the DSN, encoded data slices corresponding to a data segment. In response, the computing device receives at least a decode threshold number of encoded data slices and at least one integrity error message that provides an indication of a corrupt encoded data slice, such that less than a decoded threshold number of valid slices is received. Utilizing at least one correction approach, which may involve stored integrity data, the computing device corrects the corrupt slice(s) to produce a decode threshold number of encoded data slices in order to decode the corresponding data segment. A variety of correction approaches may be employed, including a multi-stage approach that utilizes data from both valid and invalid slices.Type: GrantFiled: April 30, 2019Date of Patent: March 2, 2021Assignee: PURE STORAGE, INC.Inventor: Jason K. Resch
-
Patent number: 10929185Abstract: Placing workloads in a multi-array system comprising a plurality of storage arrays, including: determining, for each of a plurality of storage arrays, a current system activity level trend of the storage array; receiving a performance profile of a workload to be executed on one of the storage arrays; generating, for each of the plurality of storage arrays in dependence upon the current system activity level trend of the storage array and the performance profile of the workload, a projected system activity level trend for the storage array; identifying, in dependence upon the projected system activity level trend for each of the plurality of storage arrays, an optimal storage array for receiving the workload; and placing the workload on the optimal storage array.Type: GrantFiled: January 31, 2018Date of Patent: February 23, 2021Assignee: Pure Storage, Inc.Inventors: Benjamin Borowiec, Terence Noonan
-
Patent number: 10929231Abstract: Ensuring crash-safe forward progress of a system configuration update in a storage system that includes a storage array controller and a plurality of storage devices, including: determining a number of storage devices in the storage system; determining a number of unavailable storage devices in the storage system; and determining, for the one or more system configurations, whether the system configuration can be reconstructed in dependence upon the number of storage devices in the storage system and the number of unavailable storage devices in the storage system.Type: GrantFiled: April 30, 2018Date of Patent: February 23, 2021Assignee: Pure Storage, Inc.Inventors: Andrew Bernat, Timothy Brennan, Jimmy Chi-Wai Chui, Alan Driscoll, Grigori Inozemtsev, Benjamin Scholbrock, Neil Vachharajani
-
Patent number: 10929226Abstract: Providing for increased flexibility for large scale parity, the including: writing data to a storage system, including utilizing a first data protection scheme; identifying, for storage media in the storage system, characteristics of the storage media; identifying, in dependence up the characteristics for the storage media, a second data protection scheme to use for the data; and writing the data to the to the storage system utilizing the second data protection scheme.Type: GrantFiled: November 21, 2018Date of Patent: February 23, 2021Assignee: Pure Storage, Inc.Inventors: Ethan Miller, Robert Lee, Par Botes, Ronald Karr
-
Patent number: 10931450Abstract: A method of encryption key management in a storage system having a plurality of nodes and more than one key manager, performed by the storage system, is provided. The method includes setting, in a first atomic operation to a distributed store of the plurality of nodes, a version identifier to a new value, and writing shards of a key encryption key, to node-specific memory of the plurality of nodes. The method includes committing the shards of the key encryption key by updating, in a second atomic operation, a set of version identifiers in the distributed store including a current version identifier, responsive to finding no change to the new value of the version identifier.Type: GrantFiled: April 27, 2018Date of Patent: February 23, 2021Assignee: Pure Storage, Inc.Inventors: Srinivas Chellappa, Ian Juch, Igor Ostrovsky
-
Patent number: RE48448Abstract: A system and method for dynamic RAID geometries. A computer system comprises client computers and data storage arrays coupled to one another via a network. A data storage array utilizes solid-state drives and Flash memory cells for data storage. A storage controller within a data storage array is configured to configure a first subset of the storage devices for use in a first RAID layout, the first RAID layout including a first set of redundant data. The controller further configures a second subset of the storage devices for use in a second RAID layout, the second RAID layout including a second set of redundant data. Additionally, when writing a stripe, the controller may select from any of the plurality of storage devices for one or more of the first RAID layout, the second RAID layout, and storage of redundant data by the additional logical device.Type: GrantFiled: March 9, 2018Date of Patent: February 23, 2021Assignee: PURE STORAGE, INCInventors: John Colgrove, John Hayes, Bo Hong, Ethan Miller