Patents by Inventor John A. Colgrove

John A. Colgrove 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: 10503427
    Abstract: A pod, the pod including the dataset, a set of managed objects and management operations, a set of access operations to modify or read the dataset, and a plurality of storage systems, where: management operations can modify or query managed objects equivalently through any of the storage systems, access operations to read or modify the dataset operate equivalently through any of the storage systems, each storage system stores a separate copy of the dataset as a proper subset of the datasets stored and advertised for use by the storage system, and operations to modify managed objects or the dataset performed and completed through any one storage system are reflected in subsequent management objects to query the pod or subsequent access operations to read the dataset.
    Type: Grant
    Filed: December 14, 2017
    Date of Patent: December 10, 2019
    Assignee: Pure Storage, Inc.
    Inventors: Par Botes, John Colgrove, Alan Driscoll, David Grunwald, Steven Hodgson, Ronald Karr
  • Publication number: 20190369885
    Abstract: A method for managing processing power in a storage system is provided. The method includes providing a plurality of blades, each of a first subset having a storage node and storage memory, and each of a second, differing subset having a compute-only node. The method includes distributing authorities across the plurality of blades, to a plurality of nodes including at least one compute-only node, wherein each authority has ownership of a range of user data.
    Type: Application
    Filed: August 12, 2019
    Publication date: December 5, 2019
    Inventors: JOHN MARTIN HAYES, ROBERT LEE, JOHN COLGROVE, JOHN D. DAVIS
  • Patent number: 10496556
    Abstract: Dynamically managing protection groups, including: identifying a protection group of storage resources, the protection group associated with a protection group management schedule that identifies one or more protection group management operations to be performed; detecting a membership change in the protection group; and updating, in dependence upon the change in the protection group, the protection group management schedule.
    Type: Grant
    Filed: June 25, 2015
    Date of Patent: December 3, 2019
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, Alan S. Driscoll, Steven P. Hodgson, Nitin Nagpal, Emanuel G. Noik, John Roper
  • Patent number: 10496295
    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: May 10, 2017
    Date of Patent: December 3, 2019
    Assignee: Pure Storage, Inc.
    Inventors: Par Botes, John Colgrove, John Hayes
  • Publication number: 20190354450
    Abstract: A storage system switching between mediation models within a storage system, where the switching between mediation models includes: determining, among one or more of the plurality of storage systems, a change in availability of a mediator service, wherein one or more of the plurality of storage systems are configured to request mediation from the mediator service in response to a fault; and communicating, among the plurality of storage systems and responsive to determining the change in availability of the mediator service, a fault response model to be used as an alternate to the mediator service among one or more of the plurality of storage systems.
    Type: Application
    Filed: July 31, 2018
    Publication date: November 21, 2019
    Inventors: DAVID GRUNWALD, RONALD KARR, THOMAS GILL, ZOHEB SHIVANI, JOHN COLGROVE, CONNOR BROOKS, CLAUDIU SCHMIDT
  • Patent number: 10452289
    Abstract: A system and method for adaptive 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 determine a first RAID layout for use in storing data, and write a first RAID stripe to the device group according to the first RAID layout. In response to detecting a first condition, the controller is configured to determine a second RAID layout which is different from the first RAID layout, and write a second RAID stripe to the device group according to the second layout, whereby the device group concurrently stores data according to both the first RAID layout and the second RAID layout.
    Type: Grant
    Filed: January 27, 2017
    Date of Patent: October 22, 2019
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, John Hayes, Bo Hong, Ethan Miller
  • Patent number: 10430079
    Abstract: Adjusting storage capacity in a computing system that includes a computing device configured to send access requests to a storage device characterized by a first storage capacity, including: reducing data; determining, in dependence upon an amount of storage capacity saved by reducing the data, an updated storage capacity for the storage device; and exporting an updated storage capacity to the computing device.
    Type: Grant
    Filed: September 8, 2015
    Date of Patent: October 1, 2019
    Assignee: Pure Storage, Inc.
    Inventor: John Colgrove
  • Patent number: 10432233
    Abstract: Dynamically adjusting an error correction effort level of a storage device, including: receiving, from a storage array controller, an error correction effort level to perform when attempting to read data from the storage device; identifying that an attempt to read the data resulted in an error; and determining whether an amount of error correction effort level required to attempt to correct the error exceeds the error correction effort level to perform when attempting to read data from the storage device.
    Type: Grant
    Filed: July 6, 2018
    Date of Patent: October 1, 2019
    Assignee: Pure Storage Inc.
    Inventors: John Colgrove, Ethan Miller
  • Publication number: 20190286373
    Abstract: Servicing I/O operations in a cloud-based storage system, including: receiving, by the cloud-based storage system, a request to write data to the cloud-based storage system; storing, in solid-state storage of the cloud-based storage system, the data; storing, in object storage of the cloud-based storage system, the data; detecting that at least some portion of the solid-state storage of the cloud-based storage system has become unavailable; identifying data that was stored in the portion of the solid-state storage of the cloud-based storage system that has become unavailable; retrieving, from object storage of the cloud-based storage system, the data that was stored in the portion of the solid-state storage of the cloud-based storage system that has become unavailable; and storing, in solid-state storage of the cloud-based storage system, the retrieved data.
    Type: Application
    Filed: March 14, 2019
    Publication date: September 19, 2019
    Inventors: ASWIN KARUMBUNATHAN, JOHN COLGROVE, CONSTANTINE SAPUNTZAKIS, JOSHUA FREILICH, NAVEEN NEELAKANTAM, SERGEY ZHURAVLEV, PAR BOTES
  • Publication number: 20190278656
    Abstract: A method for proactively rebuilding user data in a plurality of storage nodes of a storage cluster is provided. The method includes distributing user data and metadata throughout the plurality of storage nodes such that the plurality of storage nodes can read the user data, using erasure coding, despite loss of two of the storage nodes. The method includes determining that one of the storage nodes is unreachable and determining to rebuild the user data for the one of the storage nodes that is unreachable. The method includes reading the user data across a remainder of the plurality of storage nodes, using the erasure coding and writing the user data across the remainder of the plurality of storage nodes, using the erasure coding. A plurality of storage nodes within a single chassis that can proactively rebuild the user data stored within the storage nodes is also provided.
    Type: Application
    Filed: May 24, 2019
    Publication date: September 12, 2019
    Inventors: John Hayes, John Colgrove, Robert Lee, Joshua Robinson, Igor Ostrovsky
  • Patent number: 10379763
    Abstract: A method for managing processing power in a storage system is provided. The method includes providing a plurality of blades, each of a first subset having a storage node and storage memory, and each of a second, differing subset having a compute-only node. The method includes distributing authorities across the plurality of blades, to a plurality of nodes including at least one compute-only node, wherein each authority has ownership of a range of user data.
    Type: Grant
    Filed: December 4, 2017
    Date of Patent: August 13, 2019
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, John D. Davis, John Martin Hayes, Robert Lee
  • Patent number: 10365858
    Abstract: An apparatus, method, and computer-readable storage medium for allowing a block-addressable storage device to provide a sparse address space to a host computer. The storage device exports an address space to a host computing device which is larger than the storage capacity of the storage device. The storage device translates received file system object addresses in the larger address space to physical locations in the smaller address space of the storage device. This allows the host computing device more flexibility in selecting addresses for file system objects which are stored on the storage device.
    Type: Grant
    Filed: November 6, 2013
    Date of Patent: July 30, 2019
    Assignee: Pure Storage, Inc.
    Inventors: Ethan Miller, John Colgrove, John Hayes
  • Patent number: 10353630
    Abstract: A system and method for effectively scheduling read and write operations among a plurality of solid-state storage devices. 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 comprises an I/O scheduler. The characteristics of corresponding storage devices are used to schedule I/O requests to the storage devices in order to maintain relatively consistent response times at predicted times. In order to reduce a likelihood of unscheduled behaviors of the storage devices, the storage controller is configured to schedule proactive operations on the storage devices that will reduce a number of occurrences of unscheduled behaviors.
    Type: Grant
    Filed: September 26, 2018
    Date of Patent: July 16, 2019
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, John Hayes, Bo Hong, Feng Wang, Ethan Miller, Craig Harmer
  • Patent number: 10326836
    Abstract: Synchronizing snapshots between storage systems, including: receiving, from a source storage system, an identification of a snapshot to be replicated to a destination storage system; identifying, from hint information stored on the destination storage system, a most recent version of the snapshot that is stored on the destination storage system; issuing, to the source storage system, a request for an identification of the differences between the snapshot to be replicated to the destination storage system and the most recent version of the snapshot that is stored on the destination storage system; receiving, from the source storage system, the identification of the differences; and issuing a request to transfer, from the source storage system to the destination storage system, data associated with the differences.
    Type: Grant
    Filed: December 8, 2015
    Date of Patent: June 18, 2019
    Assignee: Pure Storage, Inc.
    Inventors: Deepak Chawla, John Colgrove, Terence Noonan, Vinay Perneti, Jikui Su
  • Publication number: 20190179535
    Abstract: A method including, responsive to receiving a request identifying a volume and indicating a command to take a snapshot of the volume, mapping a second logical grouping of data to reference the first logical grouping of data, and remapping the first volume to map to the second logical grouping of data instead of the first logical grouping of data such that the first volume remains addressable with similar access permissions before and after creating the snapshot. The method also includes, in response to receiving a write request targeting the second logical grouping, splitting the second logical grouping into a plurality of ranges including a first range and a second range; wherein the first range of the second logical grouping maps to the first logical grouping, and the write request is performed on the second range of the second logical grouping.
    Type: Application
    Filed: February 14, 2019
    Publication date: June 13, 2019
    Inventors: John Colgrove, Ethan L. Miller, John Martin Hayes, Cary A. Sandvig, Christopher Golden, Jianting Cao
  • Patent number: 10310740
    Abstract: Aligning memory access operations to a geometry of a storage device, including: receiving, by a storage array controller, information describing the layout of memory in the storage device; determining, by the storage array controller, a write size in dependence upon the layout of memory in the storage device; and sending, by the storage array controller, a write request addressed to a location within the memory unit in dependence upon the layout of memory in the storage device.
    Type: Grant
    Filed: June 23, 2015
    Date of Patent: June 4, 2019
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, Peter E. Kirkpatrick
  • Publication number: 20190163390
    Abstract: A method including receiving, by a storage device, a write request, the write request associated with an amount of data sized in dependence upon information describing a layout of memory in the storage device. The method may also include writing, by the storage device, the data to a memory unit, the data written to a location within the memory unit in dependence upon the information.
    Type: Application
    Filed: January 30, 2019
    Publication date: May 30, 2019
    Inventors: John Colgrove, Peter E. Kirkpatrick
  • Patent number: 10303547
    Abstract: A method for proactively rebuilding user data in a plurality of storage nodes of a storage cluster is provided. The method includes distributing user data and metadata throughout the plurality of storage nodes such that the plurality of storage nodes can read the user data, using erasure coding, despite loss of two of the storage nodes. The method includes determining that one of the storage nodes is unreachable and determining to rebuild the user data for the one of the storage nodes that is unreachable. The method includes reading the user data across a remainder of the plurality of storage nodes, using the erasure coding and writing the user data across the remainder of the plurality of storage nodes, using the erasure coding. A plurality of storage nodes within a single chassis that can proactively rebuild the user data stored within the storage nodes is also provided.
    Type: Grant
    Filed: June 4, 2015
    Date of Patent: May 28, 2019
    Assignee: Pure Storage, Inc.
    Inventors: John Hayes, John Colgrove, Robert Lee, Joshua Robinson, Igor Ostrovsky
  • Patent number: 10303390
    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: April 28, 2017
    Date of Patent: May 28, 2019
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, Ronald Karr, Ethan Miller
  • Patent number: 10284232
    Abstract: Dynamically adjusting an error correction effort level of a storage device, including: receiving, from a storage array controller, an error correction effort level to perform when attempting to read data from the storage device; identifying that an attempt to read the data resulted in an error; and determining whether an amount of error correction effort level required to attempt to correct the error exceeds the error correction effort level to perform when attempting to read data from the storage device.
    Type: Grant
    Filed: October 28, 2015
    Date of Patent: May 7, 2019
    Assignee: Pure Storage, Inc.
    Inventors: John Colgrove, Ethan Miller