Patents by Inventor Ethan Miller

Ethan Miller has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 10929226
    Abstract: 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: Grant
    Filed: November 21, 2018
    Date of Patent: February 23, 2021
    Assignee: Pure Storage, Inc.
    Inventors: Ethan Miller, Robert Lee, Par Botes, Ronald Karr
  • Patent number: 10887086
    Abstract: A system, method, and computer-readable storage medium for protecting a set of storage devices using a secret sharing scheme in combination with an external secret. An initial master secret is generated and then transformed into a final master secret using an external secret. A plurality of shares are generated from the initial master secret and distributed to the storage devices. The data of each storage device is encrypted with a device-specific key, and this key is encrypted using the final master secret. In order to read the data on a given storage device, the initial master secret reconstructed from a threshold number of shares and the external secret is retrieved. Next, the initial master secret is transformed into the final master secret using the external secret, and then the final master secret is used to decrypt the encrypted key of a given storage device.
    Type: Grant
    Filed: March 5, 2019
    Date of Patent: January 5, 2021
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, John Hayes, Ethan Miller
  • Patent number: 10846275
    Abstract: A method for deleting a set of keys from a storage server is provided. The method includes generating a probabilistic data structure for a first set of keys and for each key in a second set of keys, determining whether a key of the second set of keys is found in the probabilistic data structure. The method includes identifying the key as a candidate for deletion if the key is not found in the probabilistic data structure. A system is also provided.
    Type: Grant
    Filed: June 26, 2015
    Date of Patent: November 24, 2020
    Assignee: Pure Storage, Inc.
    Inventors: John Hayes, Ethan Miller, John Colgrove
  • Patent number: 10817375
    Abstract: A system and method for offset protection data in a RAID array. 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 store user data in a first page of a first storage device of the plurality of storage devices; generate intra-device protection data corresponding to the user data, and store the intra-device protection data at a first offset within the first page. The controller is further configured to generate inter-device protection data corresponding to the first page, and store the inter-device protection data at a second offset within a second page in a second storage device of the plurality of storage devices, wherein the first offset is different from the second offset.
    Type: Grant
    Filed: April 30, 2020
    Date of Patent: October 27, 2020
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, John Hayes, Bo Hong, Ethan Miller
  • Patent number: 10810083
    Abstract: A system and method for offset protection data in a RAID array. 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 store user data in a first page of a first storage device of the plurality of storage devices; generate intra-device protection data corresponding to the user data, and store the intra-device protection data at a first offset within the first page. The controller is further configured to generate inter-device protection data corresponding to the first page, and store the inter-device protection data at a second offset within a second page in a second storage device of the plurality of storage devices, wherein the first offset is different from the second offset.
    Type: Grant
    Filed: December 21, 2018
    Date of Patent: October 20, 2020
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, John Hayes, Bo Hong, Ethan Miller
  • Publication number: 20200257808
    Abstract: A method for securing data in a storage grid is provided. The method includes generating a storage key from key shares of at least two storage clusters of a storage grid having at least three storage clusters and generating a grid key from the storage key and an external secret. The method includes encrypting data with the grid key to yield once encrypted data and encrypting the once encrypted data with the storage key to yield twice encrypted data. The method includes storing the twice encrypted data in a first storage cluster of the storage grid and storing the twice encrypted data in a second storage cluster of the storage grid, wherein at least one method operation is performed by a processor.
    Type: Application
    Filed: April 28, 2020
    Publication date: August 13, 2020
    Inventors: Par Botes, John Hayes, Ethan Miller
  • Publication number: 20200257592
    Abstract: A system and method for offset protection data in a RAID array. 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 store user data in a first page of a first storage device of the plurality of storage devices; generate intra-device protection data corresponding to the user data, and store the intra-device protection data at a first offset within the first page. The controller is further configured to generate inter-device protection data corresponding to the first page, and store the inter-device protection data at a second offset within a second page in a second storage device of the plurality of storage devices, wherein the first offset is different from the second offset.
    Type: Application
    Filed: April 30, 2020
    Publication date: August 13, 2020
    Inventors: John COLGROVE, John HAYES, Bo HONG, Ethan MILLER
  • Publication number: 20200228050
    Abstract: Snap-in mounting systems for laminate solar panels are provided. The laminate solar panels can include laminate strips that can be snapped into mounting rails. The mounting rails may be coupled to racking rails for structural support and may include locking mechanisms for additional support and theft deterrence. An entire system may include a number of racking rails, mounting rails, and solar panels.
    Type: Application
    Filed: September 5, 2019
    Publication date: July 16, 2020
    Inventors: Greg McPheeters, Ethan Miller
  • Patent number: 10691812
    Abstract: A method for securing data in a storage grid is provided. The method includes generating a storage key from key shares of at least two storage clusters of a storage grid having at least three storage clusters and generating a grid key from the storage key and an external secret. The method includes encrypting data with the grid key to yield once encrypted data and encrypting the once encrypted data with the storage key to yield twice encrypted data. The method includes storing the twice encrypted data in a first storage cluster of the storage grid and storing the twice encrypted data in a second storage cluster of the storage grid, wherein at least one method operation is performed by a processor.
    Type: Grant
    Filed: November 3, 2017
    Date of Patent: June 23, 2020
    Assignee: Pure Storage, Inc.
    Inventors: Par Botes, John Hayes, Ethan Miller
  • Patent number: 10656864
    Abstract: A system and method for performing replication using mediums. A snapshot ‘S’ is selected for replication, and the anchor medium ‘M’ of S is identified. The replica storage array ‘R’ to which M is being replicated determines a list of medium extents which are available. R sends this list to an original storage array ‘O’ and O generates a list of medium extents which need to be sent to R. Only those medium extents corresponding to M which R does not already have will be sent from O to R. Also, R can obtain medium extents from other source storage arrays during the replication process.
    Type: Grant
    Filed: March 20, 2014
    Date of Patent: May 19, 2020
    Assignee: Pure Storage, Inc.
    Inventors: Andrew R. Bernat, Ganesh Ramanarayanan, Malcolm Sharpe, Steve Hodgson, Ethan Miller, Alan Driscoll, Christopher Golden, John Colgrove
  • 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: 10620864
    Abstract: Handling fingerprint collisions in a storage system that includes one or more storage devices, including: determining whether a fingerprint associated with a first data segment matches a fingerprint associated with a data segment stored within the storage system; responsive to determining that the fingerprint associated with the first data segment matches the fingerprint associated with the data segment stored within the storage system, determining whether the first data segment matches the data segment stored within the storage system; and responsive to determining that the first data segment does not match the data segment stored within the storage system, resolving a fingerprint collision between the first data segment and the data segment stored within the storage system.
    Type: Grant
    Filed: May 1, 2019
    Date of Patent: April 14, 2020
    Assignee: Pure Storage, Inc.
    Inventors: Ronald Karr, Ethan Miller, John Colgrove
  • Patent number: 10623386
    Abstract: In a storage system that includes a plurality of storage devices, data protection may include, for each of the plurality of storage devices: encrypting data of the storage device using the device key for the storage device; and encrypting the device key for the storage device using a master secret; generating a plurality of shares from the master secret; and storing the encrypted data, the encrypted device key, and a separate share of the plurality of shares in each storage device.
    Type: Grant
    Filed: October 10, 2018
    Date of Patent: April 14, 2020
    Assignee: Pure Storage, Inc.
    Inventors: Andrew Bernat, Damian Yurzola, Timothy Brennan, Ethan Miller, John Colgrove
  • Patent number: 10585617
    Abstract: A system and method for performing copy offload operations. When a copy offload operation from a first volume (pointing to a first medium) to a second volume (pointing to a second medium) is requested, the copy offload operation is performed without accessing the data being copied. A third medium is created, and the first medium is recorded as the underlying medium of the third medium. The first volume is re-pointed to the third medium. Also, a fourth medium is created, the second volume is re-pointed to the fourth medium, and the second medium is recorded as the underlying medium of the targeted range of the fourth medium. All other ranges of the fourth medium have the second medium as their underlying medium.
    Type: Grant
    Filed: January 19, 2018
    Date of Patent: March 10, 2020
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, Ethan Miller, John Hayes, Cary Sandvig, Christopher Golden, Jianting Cao, Grigori Inozemtsev
  • Patent number: 10572460
    Abstract: Compressing data in dependence upon characteristics of a storage system, including: receiving an amount of processing resources available in the storage system; receiving an amount of space available in the storage system; and selecting, in dependence upon the priority for conserving the amount of processing resources and the amount of space, a data compression algorithm to utilize to compress the data.
    Type: Grant
    Filed: February 11, 2016
    Date of Patent: February 25, 2020
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, Joern Engel, Christopher Golden, Ethan Miller, Naveen Neelakantam
  • Patent number: 10574454
    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: January 10, 2017
    Date of Patent: February 25, 2020
    Assignee: Pure Storage, Inc.
    Inventors: Andrew Bernat, Ethan Miller
  • Patent number: 10552090
    Abstract: Solid state drives with multiple types of addressable memory, where the solid state drives include: a first memory component comprising a plurality of nonvolatile registers; a second memory component comprising flash memory; and one or more controllers configured to: receive a write operation, wherein the write operation indicates a first portion of data to be written to the flash memory and indicates a second portion of data to be written to one or more of the plurality of registers; and atomically write the first portion of the data to the flash memory and the second portion of the data to the one or more of the plurality of registers.
    Type: Grant
    Filed: September 7, 2017
    Date of Patent: February 4, 2020
    Assignee: Pure Storage, Inc.
    Inventors: Ronald Karr, Ethan Miller, Constantine Sapuntzakis
  • Patent number: 10545676
    Abstract: Deploying client-specific applications in a storage system utilizing redundant system resources, including: identifying a redundant controller in the storage system, wherein the storage system includes at least a first controller and the redundant controller; and executing one or more applications on the redundant controller, wherein the one or more applications are executed in a container.
    Type: Grant
    Filed: October 9, 2017
    Date of Patent: January 28, 2020
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, Lydia Do, Ethan Miller, Terence Noonan
  • Patent number: RE48222
    Abstract: 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, the controller configure an additional device not included in either the first subset or the second subset to store redundant data for both the first RAID layout and the second RAID layout.
    Type: Grant
    Filed: January 5, 2018
    Date of Patent: September 22, 2020
    Assignee: PURE STORAGE, INC.
    Inventors: John Colgrove, John Hayes, Bo Hong, Ethan Miller
  • Patent number: RE48448
    Abstract: 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: Grant
    Filed: March 9, 2018
    Date of Patent: February 23, 2021
    Assignee: PURE STORAGE, INC
    Inventors: John Colgrove, John Hayes, Bo Hong, Ethan Miller