Patents by Inventor Par Botes

Par Botes 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: 10693964
    Abstract: A storage system is provided. The storage system includes a plurality of storage nodes, each of the plurality of storage nodes having a plurality of storage units with storage memory. The system includes a first network coupling the plurality of storage nodes and a second network coupled to at least a subset of the plurality of storage units of each of the plurality of storage nodes such that one of the plurality of storage units of a first one of the plurality of storage nodes can initiate or relay a command to one of the plurality of storage units of a second one of the plurality of storage nodes via the second network without the command passing through the first network.
    Type: Grant
    Filed: January 7, 2019
    Date of Patent: June 23, 2020
    Assignee: Pure Storage, Inc.
    Inventors: Par Botes, John Hayes, Zhangxi Tan
  • 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
  • Publication number: 20200104059
    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: Application
    Filed: December 2, 2019
    Publication date: April 2, 2020
    Inventors: John Hayes, Par Botes, John Colgrove
  • 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
  • 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
  • Patent number: 10498580
    Abstract: A method for preserving a media access control (MAC) address of a virtual server is provided. The method includes assigning a physical computing resource to a virtual server, assigning a physical storage memory resource to the virtual server, and assigning a physical network resource to the virtual server. The method includes assigning a virtual MAC address to the virtual server, the virtual MAC address to remain with the virtual server despite reassignment of one or more of the physical computing resource, the physical storage memory resource or the physical network resource, wherein at least one method operation is performed by a processor. A computing and storage system is also provided.
    Type: Grant
    Filed: July 31, 2018
    Date of Patent: December 3, 2019
    Assignee: Pure Storage, Inc.
    Inventors: John Hayes, Peter Vajgel, Robert Lee, Par Botes
  • Patent number: 10489256
    Abstract: A storage grid is provided. The storage grid includes a first cluster, a second cluster, and a third cluster. Each of the first cluster, the second cluster and the third cluster is configured to store an amount of data ranging from a portion of a copy of the data to a full copy of the data. The first cluster has a full copy of data written to the first cluster and at least a partial copy of data written to the second and third cluster. The second cluster has a full copy of data written to the second cluster, and at least a partial copy of the data written to the first and third cluster. The third cluster has a full copy of data written to the third cluster and at least a partial copy of the data written to the first and second cluster. A method of storing data is also provided.
    Type: Grant
    Filed: June 4, 2015
    Date of Patent: November 26, 2019
    Assignee: Pure Storage, Inc.
    Inventors: John Hayes, Par Botes
  • Publication number: 20190332330
    Abstract: A storage cluster is provided. The storage cluster includes a plurality of storage nodes coupled together as the storage cluster. The plurality of storage nodes is configured to assign data to two or more logical arrays and the plurality of storage nodes is configured to establish data striping across the plurality of storage nodes for user data of each of the two or more logical arrays.
    Type: Application
    Filed: July 11, 2019
    Publication date: October 31, 2019
    Inventors: John Hayes, Par Botes
  • 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
  • Patent number: 10353635
    Abstract: A storage cluster is provided. The storage cluster includes a plurality of storage nodes coupled together as the storage cluster. The plurality of storage nodes is configured to assign data to two or more logical arrays and the plurality of storage nodes is configured to establish data striping across the plurality of storage nodes for user data of each of the two or more logical arrays.
    Type: Grant
    Filed: July 31, 2018
    Date of Patent: July 16, 2019
    Assignee: Pure Storage, Inc.
    Inventors: John Hayes, Par Botes
  • Publication number: 20190141131
    Abstract: A storage system is provided. The storage system includes a plurality of storage nodes, each of the plurality of storage nodes having a plurality of storage units with storage memory. The system includes a first network coupling the plurality of storage nodes and a second network coupled to at least a subset of the plurality of storage units of each of the plurality of storage nodes such that one of the plurality of storage units of a first one of the plurality of storage nodes can initiate or relay a command to one of the plurality of storage units of a second one of the plurality of storage nodes via the second network without the command passing through the first network.
    Type: Application
    Filed: January 7, 2019
    Publication date: May 9, 2019
    Inventors: Par Botes, John Hayes, Zhangxi Tan
  • Patent number: 10178169
    Abstract: A storage system is provided. The storage system includes a plurality of storage nodes, each of the plurality of storage nodes having a plurality of storage units with storage memory. The system includes a first network coupling the plurality of storage nodes and a second network coupled to at least a subset of the plurality of storage units of each of the plurality of storage nodes such that one of the plurality of storage units of a first one of the plurality of storage nodes can initiate or relay a command to one of the plurality of storage units of a second one of the plurality of storage nodes via the second network without the command passing through the first network.
    Type: Grant
    Filed: April 9, 2015
    Date of Patent: January 8, 2019
    Assignee: Pure Storage, Inc.
    Inventors: Par Botes, John Hayes, Zhangxi Tan
  • Publication number: 20180364951
    Abstract: A storage cluster is provided. The storage cluster includes a plurality of storage nodes coupled together as the storage cluster. The plurality of storage nodes is configured to assign data to two or more logical arrays and the plurality of storage nodes is configured to establish data striping across the plurality of storage nodes for user data of each of the two or more logical arrays.
    Type: Application
    Filed: July 31, 2018
    Publication date: December 20, 2018
    Inventors: John Hayes, Par Botes
  • Patent number: 10152397
    Abstract: A storage grid is provided. The storage grid includes a first cluster, a second cluster, and a third cluster. Each of the first cluster, the second cluster and the third cluster is configured to store an amount of data ranging from a portion of a copy of the data to a full copy of the data. The first cluster has a full copy of data written to the first cluster and at least a partial copy of data written to the second and third cluster. The second cluster has a full copy of data written to the second cluster, and at least a partial copy of the data written to the first and third cluster. The third cluster has a full copy of data written to the third cluster and at least a partial copy of the data written to the first and second cluster. A method of storing data is also provided.
    Type: Grant
    Filed: May 14, 2015
    Date of Patent: December 11, 2018
    Assignee: Pure Storage, Inc.
    Inventors: John Hayes, Par Botes
  • Patent number: 10082985
    Abstract: A storage cluster is provided. The storage cluster includes a plurality of storage nodes coupled together as the storage cluster. The plurality of storage nodes is configured to assign data to two or more logical arrays and the plurality of storage nodes is configured to establish data striping across the plurality of storage nodes for user data of each of the two or more logical arrays.
    Type: Grant
    Filed: March 27, 2015
    Date of Patent: September 25, 2018
    Assignee: Pure Storage, Inc.
    Inventors: John Hayes, Par Botes
  • Patent number: 10079711
    Abstract: A method for preserving a media access control (MAC) address of a virtual server is provided. The method includes assigning a physical computing resource to a virtual server, assigning a physical storage memory resource to the virtual server, and assigning a physical network resource to the virtual server. The method includes assigning a virtual MAC address to the virtual server, the virtual MAC address to remain with the virtual server despite reassignment of one or more of the physical computing resource, the physical storage memory resource or the physical network resource, wherein at least one method operation is performed by a processor. A computing and storage system is also provided.
    Type: Grant
    Filed: August 20, 2014
    Date of Patent: September 18, 2018
    Assignee: Pure Storage, Inc.
    Inventors: John Hayes, Peter Vajgel, Robert Lee, Par Botes
  • Publication number: 20180260125
    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: Application
    Filed: December 14, 2017
    Publication date: September 13, 2018
    Inventors: PAR BOTES, JOHN COLGROVE, ALAN DRISCOLL, DAVID GRUNWALD, STEVEN HODGSON, RONALD KARR
  • Publication number: 20180144143
    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: November 3, 2017
    Publication date: May 24, 2018
    Inventors: Par Botes, John Hayes, Ethan Miller
  • Publication number: 20180039431
    Abstract: A plurality of storage nodes cooperating as a storage cluster is provided. Each of the plurality of storage nodes has storage memory. Each storage node of the plurality of storage nodes is configurable to direct erasure coded striping of data of one of an Mode or data segment across the plurality of storage nodes of the storage cluster, with at least one storage node of the plurality of storage nodes having a differing amount of storage capacity of the storage memory from an amount of storage capacity of another storage node in the plurality of storage nodes. A method of storing data in a storage cluster is also provided.
    Type: Application
    Filed: October 20, 2017
    Publication date: February 8, 2018
    Inventors: Par Botes, John Colgrove, John Davis, John Hayes, Robert Lee, Joshua Robinson, Peter Vajgel
  • Patent number: 9811677
    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: July 3, 2014
    Date of Patent: November 7, 2017
    Assignee: Pure Storage, Inc.
    Inventors: John Hayes, Par Botes, Ethan Miller