Patents by Inventor R. Hugo Patterson

R. Hugo Patterson 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: 9400717
    Abstract: A system for processing data comprises a deduplicating system, an interface, and a processor. The deduplicating system stores a copy of data stored in a data storage system by storing a set of segments that is able to reconstruct the data stored in the data storage system. The interface receives an indication to revert data stored in the data storage system to a state of data at a snapshot time stored in the deduplicating system. The processor is configured to determine a subset of the data stored in the data storage system that has changed between the data stored in the data storage system and the state of data at the snapshot time stored in the deduplicating system using a first list of fingerprints associated with the data stored on the data storage system and a second list of fingerprints associated with the state of data at the snapshot time stored in the deduplicating system.
    Type: Grant
    Filed: April 2, 2015
    Date of Patent: July 26, 2016
    Assignee: EMC Corporation
    Inventor: R. Hugo Patterson
  • Publication number: 20160154818
    Abstract: Transmitting filesystem changes over a network is disclosed. A hash of data comprising a chunk of directory elements comprising one or more consecutive directory elements in a set of elements sorted in a canonical order is computed at a client system. One or more directory elements comprising the chunk are sent to a remote server in the event it is determined based at least in part on the computed hash that corresponding directory elements as stored on the remote server are not identical to the directory elements comprising the chunk as stored on the client system.
    Type: Application
    Filed: December 4, 2015
    Publication date: June 2, 2016
    Inventors: Mark Huang, Curtis Anderson, R. Hugo Patterson
  • 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: 20160054939
    Abstract: In a Distributed Virtual Array data storage system, data chunks making up data containers and identified by keys, which are independent of physical storage locations, are written in storage devices according to layouts specified in a layout data structure. When any of the storage devices becomes inaccessible, the chunks nominally designated to be written in the inaccessible storage devices are instead written to alternate devices. Information indicating writing to an alternate device may be included in or along with such chunks so as to make them easily identifiable during later reconstruction or re-writing to the intended storage device when it again becomes available.
    Type: Application
    Filed: December 12, 2014
    Publication date: February 25, 2016
    Applicant: DATRIUM, INC.
    Inventors: Zhe WANG, III, R. Hugo PATTERSON, Mark L. HUANG
  • Publication number: 20160034212
    Abstract: A system and method are disclosed for providing efficient data storage. A plurality of data segments is received in a data stream. The system determines whether a data segment has been stored previously in a low latency memory. In the event that the data segment is determined to have been stored previously, an identifier for the previously stored data segment is returned.
    Type: Application
    Filed: June 9, 2015
    Publication date: February 4, 2016
    Inventors: Ming Benjamin Zhu, R. Hugo Patterson, Kai Li
  • Publication number: 20160034200
    Abstract: A system for storing data includes a performance storage unit, a performance storage transfer manager, a segment storage system, and a performance segment storage unit. The performance storage unit is for storing a data stream or a data block in. The data stream or the data block includes one or more data items. The performance storage transfer manager manages a transfer of the one or more data items to be automatically stored in the segment storage system over a network. The segment storage system is for storing a stored data item of the one or more data items as a set of segments. The performance segment storage unit is for storing the set of segments in the event that the stored data item has been stored using the segment storage system.
    Type: Application
    Filed: August 13, 2015
    Publication date: February 4, 2016
    Inventor: R. Hugo Patterson
  • Publication number: 20160026393
    Abstract: Cluster storage comprises an interface and a processor. The interface is to send a tag to a selected node and receive tags from the selected node. The tags received from the selected node comprise tags for likely similar segments stored on the selected node. The processor is to break a segment into subsegments, calculate subsegment tags for each subsegment, identify one or more references to one or more previously stored subsegments and/or one or more segment data using the tags from the selected node and the subsegment tags, and send the one or more references to the one or more previously stored subsegments and/or segment data and associated tags to the selected node.
    Type: Application
    Filed: October 8, 2015
    Publication date: January 28, 2016
    Inventors: Sazzala Venkata Reddy, Umesh Maheshwari, Edward K. Lee, R. Hugo Patterson
  • Patent number: 9235593
    Abstract: Transmitting filesystem changes over a network is disclosed. A hash of data comprising a chunk of directory elements comprising one or more consecutive directory elements in a set of elements sorted in a canonical order is computed at a client system. One or more directory elements comprising the chunk are sent to a remote server in the event it is determined based at least in part on the computed hash that corresponding directory elements as stored on the remote server are not identical to the directory elements comprising the chunk as stored on the client system.
    Type: Grant
    Filed: September 30, 2010
    Date of Patent: January 12, 2016
    Assignee: EMC Corporation
    Inventors: Mark Huang, Curtis Anderson, R. Hugo Patterson
  • Patent number: 9208166
    Abstract: A system, method and computer program product for determining one or more candidate segments for replication. One or more but not all files stored on a deduplicated storage system are selected to be replicated. One or more segments referred to by the selected one or more but not all files are determined. A data structure is created that is used to indicate that at least the one or more segments are to be replicated. In the event that an indication based at least in part on the data structure indicates that a candidate segment stored on the deduplicating storage system is to be replicated, the candidate segment is replicated.
    Type: Grant
    Filed: July 31, 2013
    Date of Patent: December 8, 2015
    Assignee: EMC Corporation
    Inventor: R. Hugo Patterson
  • Publication number: 20150347049
    Abstract: A system for storing data comprises a performance storage system for storing one or more data items. A data item of the one or more data items comprises a data file or a data block. The system further comprises a segment storage system for storing a snapshot of a stored data item of the one or more data items in the performance storage system. The taking of the snapshot of the stored data item enables recall of the stored data item as stored at a time of the snapshot. At least one newly stored segment is stored as a reference to a previously stored segment.
    Type: Application
    Filed: June 22, 2015
    Publication date: December 3, 2015
    Inventor: R. Hugo Patterson
  • Patent number: 9183216
    Abstract: Cluster storage is disclosed. A data stream or a data block is received. The data stream or the data block is broken into segments. For each segment, a cluster node is selected, and a portion of the segment smaller than the segment is identified that is a duplicate of a portion of a segment already managed by the cluster node.
    Type: Grant
    Filed: February 25, 2014
    Date of Patent: November 10, 2015
    Assignee: EMC Corporation
    Inventors: Sazzala Reddy, Umesh Maheshwari, Edward K. Lee, R. Hugo Patterson
  • Publication number: 20150278028
    Abstract: A system for processing data comprises a deduplicating system, an interface, and a processor. The deduplicating system stores a copy of data stored in a data storage system by storing a set of segments that is able to reconstruct the data stored in the data storage system. The interface receives an indication to revert data stored in the data storage system to a state of data at a snapshot time stored in the deduplicating system. The processor is configured to determine a subset of the data stored in the data storage system that has changed between the data stored in the data storage system and the state of data at the snapshot time stored in the deduplicating system using a first list of fingerprints associated with the data stored on the data storage system and a second list of fingerprints associated with the state of data at the snapshot time stored in the deduplicating system.
    Type: Application
    Filed: April 2, 2015
    Publication date: October 1, 2015
    Inventor: R. Hugo Patterson
  • Patent number: 9141300
    Abstract: A system for storing data comprises a performance storage unit for storing a data stream or a data block in. The data stream or the data block comprises one or more data items. The system further comprises a segment storage system for automatically storing a stored data item of the one or more data items as a set of segments. The system further comprises a performance segment storage unit for storing the set of segments in the event that the stored data item has been stored using the segment storage system.
    Type: Grant
    Filed: September 21, 2010
    Date of Patent: September 22, 2015
    Assignee: EMC Corporation
    Inventor: R. Hugo Patterson
  • 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
  • Publication number: 20150234616
    Abstract: A system for storing files comprises a processor and a memory. The processor is configured to break a file into one or more segments; store the one or more segments in a first storage unit; and add metadata to the first storage unit so that the file can be accessed independent of a second storage unit, wherein a single namespace enables access for files stored in the first storage unit and the second storage unit.
    Type: Application
    Filed: May 5, 2015
    Publication date: August 20, 2015
    Inventors: Windsor W. Hsu, R. Hugo Patterson
  • Patent number: 9092145
    Abstract: A system for storing data comprises a performance storage system for storing one or more data items. A data item of the one or more data items comprises a data file or a data block. The system further comprises a segment storage system for storing a snapshot of a stored data item of the one or more data items in the performance storage system. The taking of the snapshot of the stored data item enables recall of the stored data item as stored at a time of the snapshot. At least one newly stored segment is stored as a reference to a previously stored segment.
    Type: Grant
    Filed: January 23, 2014
    Date of Patent: July 28, 2015
    Assignee: EMC Corporation
    Inventor: R. Hugo Patterson
  • Patent number: 9081728
    Abstract: A system and method are disclosed for providing efficient data storage. A plurality of data segments is received in a data stream. The system preliminarily checks in a memory having a relatively low latency whether one of the plurality of data segments may have been stored previously in a data segment repository. The memory having the relatively low latency stores data segment information. In the event that the preliminary check determines that one of the plurality of data segments may have been stored in the data segment repository, a memory having a relatively higher latency is checked to determine whether the data segment has been stored previously in the data segment repository.
    Type: Grant
    Filed: October 31, 2013
    Date of Patent: July 14, 2015
    Assignee: EMC Corporation
    Inventors: Ming Benjamin Zhu, R. Hugo Patterson, Kai Li
  • Patent number: 9052832
    Abstract: A system for storing files comprises a processor and a memory. The processor is configured to break a file into one or more segments; store the one or more segments in a first storage unit; and add metadata to the first storage unit so that the file can be accessed independent of a second storage unit, wherein a single namespace enables access for files stored in the first storage unit and the second storage unit. The memory is coupled to the processor and configured to provide the processor with instructions.
    Type: Grant
    Filed: December 13, 2013
    Date of Patent: June 9, 2015
    Assignee: EMC Corporation
    Inventors: Windsor W. Hsu, R. Hugo Patterson
  • Patent number: 9026494
    Abstract: A system for processing data comprises a deduplicating system, an interface, and a processor. The deduplicating system stores a copy of data stored in a data storage system by storing a set of segments that is able to reconstruct the data stored in the data storage system. The interface receives an indication to revert data stored in the data storage system to a state of data at a snapshot time stored in the deduplicating system. The processor is configured to determine a subset of the data stored in the data storage system that has changed between the data stored in the data storage system and the state of data at the snapshot time stored in the deduplicating system using a first list of fingerprints associated with the data stored on the data storage system and a second list of fingerprints associated with the state of data at the snapshot time stored in the deduplicating system.
    Type: Grant
    Filed: April 22, 2014
    Date of Patent: May 5, 2015
    Assignee: EMC Corporation
    Inventor: R. Hugo Patterson