Patents by Inventor R. Hugo PATTERSON, III

R. Hugo PATTERSON, III 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: 11307765
    Abstract: Data in a storage system is deduplicated after receiving from at least one writing entity requests for a plurality of write operations for a corresponding plurality of data blocks in a storage object. The received blocks are buffered and sorted in order and a sequence of clumps is created from the buffered blocks, where each clump comprises a grouping of at least one of the sorted, buffered blocks. A boundary is determined between at least one pair of clumps based at least in part on the content of at least one of the buffered blocks, and it is then determined whether at least one of the clumps is a duplicate of a previously stored clump.
    Type: Grant
    Filed: March 18, 2019
    Date of Patent: April 19, 2022
    Assignee: VMware, Inc.
    Inventors: R. Hugo Patterson, III, Sazzala Reddy, Vijayan Prabhakaran, Garrett Smith, Lakshmi Narayanan Bairavasundaram, Ganesh Venkitachalam
  • Patent number: 10915408
    Abstract: Techniques for scheduling replication events may be based upon establishing a plurality of policy groups. Each policy group has a replication schedule that defines when to initiate replication events and a membership selection pattern used to determine which virtual machines belong to which policy group. The policy groups may contain a first policy group and a second policy group, where each policy group has a unique replication schedule and a unique selection pattern. The system may assign a first set of virtual machines to the first policy group based upon the first selection pattern. A second set of virtual machines may be assigned to a second policy group based upon the second selection pattern. Each of the virtual machines in the first policy group may be assigned a first replication schedule and each of the virtual machines in the second policy group may be assigned a second replication schedule.
    Type: Grant
    Filed: April 24, 2018
    Date of Patent: February 9, 2021
    Assignee: VMware, Inc.
    Inventors: Boris Weissman, Sazzala Reddy, R. Hugo Patterson, III
  • Patent number: 10877940
    Abstract: A data storage system includes a plurality of hosts, each of which includes at least one processor and communicates over a network with a plurality of storage nodes, at least one of which has at least one storage device, at least one storage controller, and at least one non-volatile memory. At least one process within a host issues data storage read/write requests. At least one of the hosts has a cache for caching data stored in at least one of the plurality of storage nodes. The host writes data corresponding to a write request to at least one remote non-volatile memory and carries out at least one storage processing function; data in the written-to node may then be made available for subsequent reading by a different one of the hosts. Examples of the storage processing function include compression, ECC computation, deduplicating, garbage collection, write logging, reconstruction, rebalancing, and scrubbing.
    Type: Grant
    Filed: January 7, 2019
    Date of Patent: December 29, 2020
    Assignee: VMware, Inc.
    Inventors: R. Hugo Patterson, III, Brian Biles, Boris Weissman, Sazzala Reddy, Ganesh Venkitachalam
  • Publication number: 20190324865
    Abstract: Techniques for scheduling replication events may be based upon establishing a plurality of policy groups. Each policy group has a replication schedule that defines when to initiate replication events and a membership selection pattern used to determine which virtual machines belong to which policy group. The policy groups may contain a first policy group and a second policy group, where each policy group has a unique replication schedule and a unique selection pattern. The system may assign a first set of virtual machines to the first policy group based upon the first selection pattern. A second set of virtual machines may be assigned to a second policy group based upon the second selection pattern. Each of the virtual machines in the first policy group may be assigned a first replication schedule and each of the virtual machines in the second policy group may be assigned a second replication schedule.
    Type: Application
    Filed: April 24, 2018
    Publication date: October 24, 2019
    Inventors: Boris Weissman, Sazzala Reddy, R. Hugo Patterson, III
  • Publication number: 20190250818
    Abstract: Data in a storage system is deduplicated after receiving from at least one writing entity requests for a plurality of write operations for a corresponding plurality of data blocks in a storage object. The received blocks are buffered and sorted in order and a sequence of clumps is created from the buffered blocks, where each clump comprises a grouping of at least one of the sorted, buffered blocks. A boundary is determined between at least one pair of clumps based at least in part on the content of at least one of the buffered blocks, and it is then determined whether at least one of the clumps is a duplicate of a previously stored clump.
    Type: Application
    Filed: March 18, 2019
    Publication date: August 15, 2019
    Inventors: R. Hugo Patterson, III, Sazzala Reddy, Vijayan Prabhakaran, Garrett Smith, Lakshmi Narayanan Bairavasundaram, Ganesh Venkitachalam
  • Patent number: 10359945
    Abstract: A data storage system has a plurality of hosts that request writes of data to a relatively high-performance storage device (RHPSD) such as NVRAM, which may be one of a plurality of RHPSDs in a plurality of storage nodes. A storage management system receives the write requests and writes received data to the RHPSD. According to an allocation policy, the storage management system indicates to at least one of the hosts that it should limit its use of RHPSD and it then discards data upon indication from that host to do so. Before being discarded from the RHPSD, the data may be written to a persistent storage device.
    Type: Grant
    Filed: September 13, 2018
    Date of Patent: July 23, 2019
    Assignee: Datrium, Inc.
    Inventors: Garrett Smith, Nitin Garg, Alex Mirgorodsky, R. Hugo Patterson, III, Vasudevan Sangili, Ganesh Venkitachalam
  • Publication number: 20190138504
    Abstract: A data storage system includes a plurality of hosts, each of which includes at least one processor and communicates over a network with a plurality of storage nodes, at least one of which has at least one storage device, at least one storage controller, and at least one non-volatile memory. At least one process within a host issues data storage read/write requests. At least one of the hosts has a cache for caching data stored in at least one of the plurality of storage nodes. The host writes data corresponding to a write request to at least one remote non-volatile memory and carries out at least one storage processing function; data in the written-to node may then be made available for subsequent reading by a different one of the hosts. Examples of the storage processing function include compression, ECC computation, deduplicating, garbage collection, write logging, reconstruction, rebalancing, and scrubbing.
    Type: Application
    Filed: January 7, 2019
    Publication date: May 9, 2019
    Inventors: R. Hugo PATTERSON, III, Brian BILES, Boris WEISSMAN, Sazzala REDDY, Ganesh VENKITACHALAM
  • Patent number: 10235044
    Abstract: Data in a storage system is deduplicated after receiving from at least one writing entity requests for a plurality of write operations for a corresponding plurality of data blocks in a storage object. The received blocks are buffered and sorted in order and a sequence of clumps is created from the buffered blocks, where each clump comprises a grouping of at least one of the sorted, buffered blocks. A boundary is determined between at least one pair of clumps based at least in part on the content of at least one of the buffered blocks, and it is then determined whether at least one of the clumps is a duplicate of a previously stored clump.
    Type: Grant
    Filed: June 9, 2016
    Date of Patent: March 19, 2019
    Assignee: Datrium, Inc.
    Inventors: R. Hugo Patterson, III, Sazzala Reddy, Vijayan Prabhakaran, Garrett Smith, Lakshmi Narayanan Bairavasundaram, Ganesh Venkitachalam
  • Patent number: 10180948
    Abstract: A data storage system includes a plurality of hosts, each of which includes at least one processor and communicates over a network with a plurality of storage nodes, at least one of which has at least one storage device, at least one storage controller, and at least one non-volatile memory. At least one process within a host issues data storage read/write requests. At least one of the hosts has a cache for caching data stored in at least one of the storage nodes. The host writes data corresponding to a write request to at least one remote non-volatile memory and carries out at least one storage processing function; data in the written-to node may then be made available for subsequent reading by a different one of the hosts. Examples of the storage processing function include compression, ECC computation, deduplicating, garbage collection, write logging, reconstruction, rebalancing, and scrubbing.
    Type: Grant
    Filed: May 12, 2015
    Date of Patent: January 15, 2019
    Assignee: DATRIUM, INC.
    Inventors: R. Hugo Patterson, III, Brian Biles, Boris Weissman, Sazzala Reddy, Ganesh Venkitachalam
  • Publication number: 20190012083
    Abstract: A data storage system has a plurality of hosts that request writes of data to a relatively high-performance storage device (RHPSD) such as NVRAM, which may be one of a plurality of RHPSDs in a plurality of storage nodes. A storage management system receives the write requests and writes received data to the RHPSD. According to an allocation policy, the storage management system indicates to at least one of the hosts that it should limit its use of RHPSD and it then discards data upon indication from that host to do so. Before being discarded from the RHPSD, the data may be written to a persistent storage device.
    Type: Application
    Filed: September 13, 2018
    Publication date: January 10, 2019
    Inventors: Garrett SMITH, Nitin GARG, Alex MIRGORODSKY, R. Hugo PATTERSON, III, Vasudevan SANGILI, Ganesh VENKITACHALAM
  • Patent number: 10089013
    Abstract: A data storage system has a plurality of hosts that request writes of data to a relatively high-performance storage device (RHPSD) such as NVRAM, which may be one of a plurality of RHPSDs in a plurality of storage nodes. A storage management system receives the write requests and writes received data to the RHPSD. According to an allocation policy, the storage management system indicates to at least one of the hosts that it should limit its use of RHPSD and it then discards data upon indication from that host to do so. Before being discarded from the RHPSD, the data may be written to a persistent storage device.
    Type: Grant
    Filed: August 28, 2016
    Date of Patent: October 2, 2018
    Assignee: Datrium, Inc.
    Inventors: Garrett Smith, Nitin Garg, Alex Mirgorodsky, R. Hugo Patterson, III, Vasudevan Sangili, Ganesh Venkitachalam
  • Patent number: 9703490
    Abstract: A distributed storage system has at least one host and at least one storage node. Hosts write data to and read data from storage devices within the storage nodes. A host upgrade manager (HUM) is installed in at least one of the hosts; a secondary upgrade manager (SUM) is installed in at least one of the nodes; and a primary upgrade manager (PUM) is installed within the distributed storage system itself, for example, in one of the nodes or hosts. Host and node storage system software is upgraded by transferring, via the respective HUM and SUM, upgraded versions of the software from the PUM to at least one host or node detected to be running an outdated version. The host and node storage system software components comprise different, cooperating portions of overall storage management software.
    Type: Grant
    Filed: December 30, 2015
    Date of Patent: July 11, 2017
    Assignee: DATRIUM, INC.
    Inventors: Min Xu, John Cho, R. Hugo Patterson, III
  • Patent number: 9639268
    Abstract: In a Distributed Virtual Array data storage system, a storage pool receives, from at least one writing entity within a host, a request to write a container of data that is identified by a unique key that is independent of physical storage identifiers and that comprises a set of data chunks. The key indicates a plurality of storage devices in which to store the data chunks, which are accordingly stored in those storage devices. Different combinations, each comprising a layout map, of storage devices are represented in a layout table. Information in the container key is used to select which layout map to use for the chunks of each container. An error-correction chunk is preferably also stored along with the chunks of each container so as to enable data container reconstruction in case of storage device failure.
    Type: Grant
    Filed: August 21, 2014
    Date of Patent: May 2, 2017
    Assignee: DATRIUM, INC.
    Inventor: R. Hugo Patterson, III
  • Publication number: 20170031994
    Abstract: Data in a storage system is deduplicated after receiving from at least one writing entity requests for a plurality of write operations for a corresponding plurality of data blocks in a storage object. The received blocks are buffered and sorted in order and a sequence of clumps is created from the buffered blocks, where each clump comprises a grouping of at least one of the sorted, buffered blocks. A boundary is determined between at least one pair of clumps based at least in part on the content of at least one of the buffered blocks, and it is then determined whether at least one of the clumps is a duplicate of a previously stored clump.
    Type: Application
    Filed: June 9, 2016
    Publication date: February 2, 2017
    Applicant: Datrium, Inc.
    Inventors: R. Hugo PATTERSON, III, Sazzala REDDY, Vijayan PRABHAKARAN, Garrett SMITH, Lakshmi Narayanan BAIRAVASUNDARAM, Ganesh VENKITACHALAM
  • Publication number: 20170031602
    Abstract: A distributed storage system has at least one host and at least one storage node. Hosts write data to and read data from storage devices within the storage nodes. A host upgrade manager (HUM) is installed in at least one of the hosts; a secondary upgrade manager (SUM) is installed in at least one of the nodes; and a primary upgrade manager (PUM) is installed within the distributed storage system itself, for example, in one of the nodes or hosts. Host and node storage system software is upgraded by transferring, via the respective HUM and SUM, upgraded versions of the software from the PUM to at least one host or node detected to be running an outdated version. The host and node storage system software components comprise different, cooperating portions of overall storage management software.
    Type: Application
    Filed: December 30, 2015
    Publication date: February 2, 2017
    Applicant: Datrium, Inc.
    Inventors: Min XU, John CHO, R. Hugo PATTERSON, III
  • Publication number: 20160364145
    Abstract: A data storage system has a plurality of hosts that request writes of data to a relatively high-performance storage device (RHPSD) such as NVRAM, which may be one of a plurality of RHPSDs in a plurality of storage nodes. A storage management system receives the write requests and writes received data to the RHPSD. According to an allocation policy, the storage management system indicates to at least one of the hosts that it should limit its use of RHPSD and it then discards data upon indication from that host to do so. Before being discarded from the RHPSD, the data may be written to a persistent storage device.
    Type: Application
    Filed: August 28, 2016
    Publication date: December 15, 2016
    Applicant: Datrium, Inc.
    Inventors: Garrett SMITH, Nitin GARG, Alex MIRGORODSKY, R. Hugo PATTERSON, III, Vasudevan SANGILI, Ganesh VENKITACHALAM
  • Patent number: 9417955
    Abstract: In a Distributed Virtual Array data storage system, data chunks making up data containers are stored in a key order in storage devices according to layouts specified in a layout data structure. When any of the storage devices becomes inaccessible, the storage devices iteratively return, in storage order, their stored chunks. Chunks belonging to the same container are identified and, if that container had a chunk in the inaccessible storage device, are used to reconstruct the inaccessible chunk. The chunks of the container are then stored according to an updated layout. The keys are independent of physical storage locations.
    Type: Grant
    Filed: October 22, 2014
    Date of Patent: August 16, 2016
    Assignee: DATRIUM, INC.
    Inventors: R. Hugo Patterson, III, Zhe Wang, Mark L. Huang
  • Publication number: 20160054920
    Abstract: In a Distributed Virtual Array data storage system, a storage pool receives, from at least one writing entity within a host, a request to write a container of data that is identified by a unique key that is independent of physical storage identifiers and that comprises a set of data chunks. The key indicates a plurality of storage devices in which to store the data chunks, which are accordingly stored in those storage devices. Different combinations, each comprising a layout map, of storage devices are represented in a layout table. Information in the container key is used to select which layout map to use for the chunks of each container. An error-correction chunk is preferably also stored along with the chunks of each container so as to enable data container reconstruction in case of storage device failure.
    Type: Application
    Filed: August 21, 2014
    Publication date: February 25, 2016
    Applicant: DATRIUM, INC.
    Inventor: R. Hugo Patterson, III
  • Publication number: 20160055054
    Abstract: In a Distributed Virtual Array data storage system, data chunks making up data containers are stored in a key order in storage devices according to layouts specified in a layout data structure. When any of the storage devices becomes inaccessible, the storage devices iteratively return, in storage order, their stored chunks. Chunks belonging to the same container are identified and, if that container had a chunk in the inaccessible storage device, are used to reconstruct the inaccessible chunk. The chunks of the container are then stored according to an updated layout. The keys are independent of physical storage locations.
    Type: Application
    Filed: October 22, 2014
    Publication date: February 25, 2016
    Applicant: DATRIUM, INC.
    Inventors: R. Hugo PATTERSON, III, Zhe WANG, Mark L. HUANG
  • Publication number: 20150248402
    Abstract: A data storage system includes a plurality of hosts, each of which includes at least one processor and communicates over a network with a plurality of storage nodes, at least one of which has at least one storage device, at least one storage controller, and at least one non-volatile memory. At least one process within a host issues data storage read/write requests. At least one of the hosts has a cache for caching data stored in at least one of the storage nodes. The host writes data corresponding to a write request to at least one remote non-volatile memory and carries out at least one storage processing function; data in the written-to node may then be made available for subsequent reading by a different one of the hosts. Examples of the storage processing function include compression, ECC computation, deduplicating, garbage collection, write logging, reconstruction, rebalancing, and scrubbing.
    Type: Application
    Filed: May 12, 2015
    Publication date: September 3, 2015
    Applicant: DATRIUM, INC.
    Inventors: R. Hugo PATTERSON, III, Brian BILES, Boris WEISSMAN, Sazzala REDDY, Ganesh VENKITACHALAM