Patents Assigned to Pure Storage
  • Publication number: 20210326043
    Abstract: A method begins by determining storage performance for a set of storage resources of the storage network, where data is error encoded into pluralities of sets of encoded data slices in accordance with error encoding parameters, and, for a set of encoded data slices, the error encoding parameters include a decode threshold number and a pillar width threshold number. The method continues by determining a storage provisioning implementation for the set of storage resources based on the storage performance and a storage performance range threshold. The method continues by facilitating the storage provisioning implementation to produce an updated set of storage resources. The method continues by maintaining storage of the set of encoded data slices in accordance with the storage provisioning implementation, where the decode threshold number of encoded data slices of the set of encoded data slices remains available during the facilitating the storage provisioning implementation.
    Type: Application
    Filed: June 29, 2021
    Publication date: October 21, 2021
    Applicant: Pure Storage, Inc.
    Inventors: Wesley B. Leggette, Bart R. Cilfone
  • Patent number: 11150834
    Abstract: Determining storage consumption in a storage system, including scanning a group of data units within the storage system storing a plurality of client entities, including: for each data unit in the group of data units, determining whether the data unit is reachable by one of the plurality of client entities; and for each data unit reachable by one of the plurality of client entities, determining a category for the data unit; calculating storage consumption for a client based on the category of each data unit reachable by one of the plurality of client entities; and reporting the calculated storage consumption.
    Type: Grant
    Filed: June 10, 2020
    Date of Patent: October 19, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Matthew Fay, Naveen Neelakantam, Ronald Karr, Taher Vohra
  • Patent number: 11144204
    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. Outputting of the recovered next encoded data slice is initiated.
    Type: Grant
    Filed: April 16, 2020
    Date of Patent: October 12, 2021
    Assignee: PURE STORAGE, INC.
    Inventors: Bruno H. Cabral, Wesley B. Leggette
  • Patent number: 11146564
    Abstract: Login authentication in a cloud storage platform includes: receiving, in a cloud storage platform, a user identifier for a user; extracting, based on the user identifier, a domain registered with the cloud storage platform, where each domain registered with the cloud storage platform is associated with an identity authentication endpoint and one or more groups to which users from the domain may be assigned; determining an identity authentication endpoint associated with the extracted domain; providing, to the identity authentication endpoint associated with the extracted domain, login credentials for the user; receiving an identity authorization from the identity authentication endpoint associated with the extracted domain, where the identity authorization includes a plurality of groups for the user; and filtering any groups included in the identity authorization that are not registered with the cloud storage platform.
    Type: Grant
    Filed: July 24, 2018
    Date of Patent: October 12, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Shiva Ankam, Yu Tan
  • Patent number: 11144212
    Abstract: A plurality of storage nodes in a single chassis is provided. The plurality of storage nodes includes a first plurality of storage nodes configured to communicate together as a first storage cluster and a second plurality of storage nodes configured to communicate together as a second storage cluster. Each of the first and second pluralities of storage nodes has nonvolatile solid-state memory for user data storage and each of the first and second pluralities of storage nodes is configured to distribute user data and metadata associated with the user data throughout a respective plurality of storage nodes such that a respective storage cluster maintains ability to read the user data, using erasure coding, despite a loss of one or more of the respective plurality of storage nodes.
    Type: Grant
    Filed: December 2, 2019
    Date of Patent: October 12, 2021
    Assignee: Pure Storage, Inc.
    Inventors: John Hayes, Par Botes, John Colgrove
  • Patent number: 11144638
    Abstract: A method of storage system operation, and related computer-readable media and storage system are disclosed. One or more processors or storage system controllers monitor accesses of blocks of storage memory of the storage system. The monitoring is to detect one or more characteristics of the accesses of the blocks. From the characteristic(s), it is determined the one or more accesses of the blocks are indicative of a malicious action. In response to such determining, the storage system performs a reaction action.
    Type: Grant
    Filed: January 18, 2018
    Date of Patent: October 12, 2021
    Assignee: PURE STORAGE, INC.
    Inventor: Christopher Golden
  • Patent number: 11144358
    Abstract: An exemplary system includes first and second controllers each configured to selectively operate in a master state and a standby state, a first watchdog timer associated with the first controller, and a second watchdog timer associated with the second controller. Each watchdog timer is configured to be either unexpired or expired. Selectively, the first controller operates in the master state and the second controller operates in the standby state when the first watchdog timer is unexpired and the second watchdog timer is expired, the first controller operates in the standby state and the second controller operates in the master state when the first watchdog timer is expired and the second watchdog timer is unexpired, and the first and second controllers both operate in the standby state when both the first and the second watchdog timer are expired or when both the first and the second watchdog timer are unexpired.
    Type: Grant
    Filed: December 6, 2018
    Date of Patent: October 12, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Alexander Noble, Alex Gregory, Eric Kelly Blanchard
  • Patent number: 11146396
    Abstract: Periodically re-encrypting user data stored on a storage device, including: detecting that a data encryption key should be decommissioned; and for user data stored on the storage device that is encrypted with the data encryption key: reading the user data that is encrypted with the data encryption key from the storage device; re-encrypting the user data utilizing a current data encryption key; and writing the user data that is encrypted utilizing the current data encryption key to the storage device.
    Type: Grant
    Filed: December 3, 2019
    Date of Patent: October 12, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Andrew Bernat, Ethan Miller
  • Patent number: 11138082
    Abstract: A plurality of storage nodes is provided. Each of the plurality of storage nodes includes nonvolatile solid-state memory for user data storage. The plurality of storage nodes is configured to distribute the user data and metadata associated with the user data throughout the plurality of storage nodes such that the plurality of storage nodes maintain the ability to read the user data, using erasure coding, despite a loss of two of the plurality of storage nodes. The plurality of storage nodes is configured to initiate an action based on the redundant copies of the metadata, responsive to achieving a level of redundancy for the redundant copies of the metadata. A method for accessing user data in a plurality of storage nodes having nonvolatile solid-state memory is also provided.
    Type: Grant
    Filed: September 19, 2019
    Date of Patent: October 5, 2021
    Assignee: Pure Storage, Inc.
    Inventors: John Hayes, John Davis, Brian Gold, Shantanu Gupta, Robert Lee, Igor Ostrovsky, Rusty Sears
  • Patent number: 11138103
    Abstract: A method of operating a plurality of blades of a storage system, performed by the storage system, is provided. The method includes writing data stripes across one or more sets of blades of the plurality of blades within resiliency groups, the plurality of blades having computing resources and storage memory, each resiliency group supporting data recovery in case of loss of a specified number of blades of the resiliency group. The method includes transferring data from a first resiliency group to a second resiliency group, responsive to a change in geometry of the storage system.
    Type: Grant
    Filed: April 27, 2018
    Date of Patent: October 5, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Guangyu Shi, Faissal Sleiman, Janis Stipins, Ying Gao, Matthew D. Fleming, Boris Feigin
  • Patent number: 11137918
    Abstract: Dynamically managing control information in a storage device, including: querying, by an array management module executing on a storage array controller, the storage device for a location of control information for the storage device, the control information describing the state of one or more memory blocks in the storage device; and issuing, by the array management module in dependence upon the location of the control information for the storage device, a request to retrieve the control information for the storage device.
    Type: Grant
    Filed: June 10, 2019
    Date of Patent: October 5, 2021
    Assignee: Pure Storage, Inc.
    Inventor: Eric D. Seppanen
  • Patent number: 11132257
    Abstract: A method of rebuilding data stored as encoded data slices in a dispersed storage network (DSN) includes obtaining, by a rebuilding module implemented in a processing device, an identity of a plurality slices-in-error to be rebuilt, wherein each individual slice-in-error is associated with index information specifying: a particular dispersed storage unit associated with the individual slice-in-error; and a number of slices-in-error associated with the particular dispersed storage unit. A first slice-in-error is selected for rebuilding based, at least in part, on the number of slices-in-error associated with a first dispersed storage unit associated with the first slice-in-error. Read slice requests at least a decode threshold number of data slices are issued to the first dispersed storage unit. At least a decode threshold number of slices are received at the rebuilding module, which rebuilds the first slice-in-error using the received slices.
    Type: Grant
    Filed: January 2, 2019
    Date of Patent: September 28, 2021
    Assignee: PURE STORAGE, INC.
    Inventors: Andrew D. Baptist, Greg R. Dhuse, Adam M. Gray, Wesley B. Leggette, Jason K. Resch, Ilya Volvovski
  • Patent number: 11132340
    Abstract: A storage unit in a distributed storage network (DSN) transmits resource availability information to a managing unit. The resource availability information includes information indicating a number of available memory devices of the storage unit that are available to be used for storage of encoded data slices. The storage unit receives resource assignment information determined by the managing unit. The resource assignment information includes one or more dispersal parameters, information identifying a set of storage units to be included in a newly instantiated DSN memory, and a DSN address range assigned to the storage unit for use in the newly instantiated DSN memory. The storage unit selects particular available memory devices of the storage unit to assign to the newly instantiated DSN memory. The selection is based on the resource assignment information.
    Type: Grant
    Filed: October 26, 2018
    Date of Patent: September 28, 2021
    Assignee: PURE STORAGE, INC.
    Inventors: Trent W. Johnson, Andrew D. Baptist, Ilya Volvovski, John Quigley
  • Patent number: 11133076
    Abstract: A storage system includes a plurality of solid-state storage devices and a storage controller operatively coupled to the plurality of solid-state storage devices, the storage controller including a processing device, the processing device to receive, from a first solid-state storage device of the plurality of solid-state storage devices, an indication that data stored at the first solid-state storage device is affected by read disturb. In response to receiving the indication, the processing device is further to identify a second solid-state storage device of the plurality of solid-state storage devices for the relocation of the data and transmit, to the first solid-state storage device, a command comprising information associated with the relocation of the data from the first solid-state storage device to the second solid-state storage device, wherein the command causes the first solid-state storage device to relocate the data to the second solid-state storage device.
    Type: Grant
    Filed: August 21, 2019
    Date of Patent: September 28, 2021
    Assignee: PURE STORAGE, INC.
    Inventors: Ronald Karr, Andrew R. Bernat, Wei Tang
  • Patent number: 11126364
    Abstract: Servicing I/O operations in a virtual storage system, including: receiving, by the virtual storage system, a request to write data to the virtual storage system; storing, within staging memory provided by one or more virtual drives of the virtual storage system, the data; and migrating, from the staging memory to more durable data storage provided by a cloud services provider, at least a portion of data stored within the staging memory.
    Type: Grant
    Filed: January 30, 2020
    Date of Patent: September 21, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Ronald Karr, Naveen Neelakantam, Radek Aster, Joshua Freilich, Aswin Karumbunathan
  • Patent number: 11128578
    Abstract: A storage system switching mediators within a storage system synchronously replicating data, where the switching between mediators includes: determining, among one or more of the plurality of storage systems, a change in availability of a first mediator service, wherein one or more of the plurality of storage systems are configured to request mediation from the first mediator service; communicating, among the plurality of storage systems and responsive to determining the change in availability of the first mediator service, a second mediator service to use in response to a fault; and switching, in dependence upon the change in availability of the first mediator service, from the first mediator service to the second mediator service.
    Type: Grant
    Filed: July 31, 2018
    Date of Patent: September 21, 2021
    Assignee: Pure Storage, Inc.
    Inventors: David Grunwald, Ronald Karr, Thomas Gill
  • Patent number: 11128448
    Abstract: In a storage system that includes a plurality of storage devices configured into one or more write groups, quorum-aware secret sharing may include: encrypting a device key for each storage device using a master secret; generating a plurality of shares from the master secret such that a minimum number of storage devices required from each write group for a quorum to boot the storage system is not less than a minimum number of shares required to reconstruct the master secret; and storing the encrypted device key and a separate share of the plurality of shares in each storage device.
    Type: Grant
    Filed: October 23, 2018
    Date of Patent: September 21, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Andrew Bernat, Ethan Miller
  • Patent number: 11126516
    Abstract: Dynamically forming a failure domain in a storage system that includes a plurality of blades, each blade mounted within one of a plurality of chassis, including: identifying, in dependence upon a failure domain formation policy, an available configuration for a failure domain that includes a first blade mounted within a first chassis and a second blade mounted within a second chassis, wherein each chassis is configured to support multiple types of blades; and creating the failure domain in accordance with the available configuration.
    Type: Grant
    Filed: May 29, 2020
    Date of Patent: September 21, 2021
    Assignee: Pure Storage, Inc.
    Inventors: John Davis, Robert Lee
  • Patent number: 11126381
    Abstract: A virtualized copy-by-reference includes: receiving, from a first computer system, a request for reference information for source data within a source volume; providing, to the first computer system, the reference information, wherein the reference information corresponds to a metadata representation of the source data; receiving, from a second computer system, a request to write the source data to a target volume, and wherein the request to write the source data indicates the reference information; and copying, using the reference information, the metadata representation of the source data to the target volume.
    Type: Grant
    Filed: August 29, 2019
    Date of Patent: September 21, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Roland Dreier, Krishna Kant, Rachel Shanava
  • Publication number: 20210286675
    Abstract: A method for execution by a computing device of a storage network includes obtaining storage performance information for a set of storage units of the storage network, where data segments are dispersed storage error encoded into pluralities of sets of encoded data slices in accordance with error encoding parameters that include a pillar width number and a decode threshold number, which is a number of encoded data slices the set of encode data slices is required to reconstruct a data segment of data segments. The method further includes determining, based on the storage performance information and the error encoding parameters, a performance threshold number for a write request to store a set of encoded data slices of the pluralities of sets of encoded data slices in the set of storage units, where the performance threshold number is greater than the decode threshold number and less than the pillar width number.
    Type: Application
    Filed: May 28, 2021
    Publication date: September 16, 2021
    Applicant: Pure Storage, Inc.
    Inventors: Greg R. Dhuse, Jason K. Resch, Andrew D. Baptist, Ilya Volvovski