Patents by Inventor Benjamin Yoder

Benjamin Yoder 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: 8924665
    Abstract: A primary storage device maintaining recovery data in connection with ordering data writes includes the primary storage device receiving a plurality of data writes, the primary storage device associating data writes begun after a first time and before a second time with a first chunk of data, and the primary storage device associating data writes begun after the second time with a second chunk of data different from the first chunk of data. After completion of all writes associated with the first chunk of data, the primary storage device initiates transfer of writes associated with the first chunk of data to a secondary storage device. The primary storage device maintains a transfer log of data from the first chunk that is successfully transferred to the secondary storage device.
    Type: Grant
    Filed: August 31, 2011
    Date of Patent: December 30, 2014
    Assignee: EMC Corporation
    Inventors: Vadim Longinov, Mark Halstead, Benjamin Yoder
  • Patent number: 8732124
    Abstract: Handling asynchronous data provided by at least two sources includes synchronizing data between the at least two sources, coordinating cycle switching between the at least two sources, where an asynchronous cycle of data from one of the sources corresponds to an asynchronous cycle of data from an other one of the sources, receiving asynchronous data corresponding to a data cycle from at least one of the sources, and saving at least some of the received data. A first portion of data for a particular cycle may be transmitted from one of the sources and a second portion of data for the particular cycle, different from the first portion of data, may be transmitted from an other one of the sources and the first portion and the second portion together may correspond to all of the data for the particular cycle.
    Type: Grant
    Filed: March 26, 2012
    Date of Patent: May 20, 2014
    Assignee: EMC Corporation
    Inventors: Dan Arnon, David Meiri, Mark Halstead, Benjamin Yoder, Oliver M. D. Shorey
  • Patent number: 8707003
    Abstract: Pacing data transfers includes receiving, at a first storage device, a first plurality of data writes that are written before a first time, receiving, at the first storage device, a second plurality of writes that are written after the first time and before a second time, transferring the first plurality of writes to a corresponding second storage device while the second plurality of data writes are being written to the first storage device, and acknowledging writes to the first storage device, where acknowledging is delayed in response to either the first storage device or the second storage device having a backlog of data. Pacing data transfers may also include providing the second plurality of data writes to cache slots the first storage device.
    Type: Grant
    Filed: September 29, 2010
    Date of Patent: April 22, 2014
    Assignee: EMC Corporation
    Inventors: Rajesh Mishra, Benjamin Yoder
  • Patent number: 8578204
    Abstract: A system for managing distributed storage includes a collection of one or more compute sites that are connected and that perform a joint computation. A witness node is connected to the one or more compute sites. A membership service allows a change in collection membership, in response to a failure, to continue the joint computation without causing data inconsistency or corruption. If the membership service is unable to reach a decision on the change in collection membership in response to the failure, the witness node controls the decision on the change in collection membership to continue the joint computation. A distributed storage system provided by the system described herein may advantageously meet consistency guarantees and maximize data access even when individual compute sites and/or their interconnects fail.
    Type: Grant
    Filed: December 29, 2010
    Date of Patent: November 5, 2013
    Assignee: EMC Corporation
    Inventors: Eugene Ortenberg, Bradford B. Glade, Dale Hagglund, Benjamin Yoder, David Meiri, Dan Arnon, Dharmesh Thakkar
  • Publication number: 20070038841
    Abstract: Handling ordered writes to a data storage device includes receiving a first chunk of data into slots of a cache of the data storage device and using a hash table to provide a correlation between cache slots containing data from the first chunk of data and locations of a logical storage device of the data storage device. Handling ordered writes may also include maintaining a circularly linked list of pointers to cache slots containing the first chunk of data. Handling ordered writes may also include receiving a second chunk of data into slots of the cache of the data storage device and receiving a message indicating that all data corresponding to the first chunk of data has been transferred to the data storage device. Handling ordered writes may also include, in response to receiving the message, storing data from the first chunk on to the logical storage device.
    Type: Application
    Filed: August 11, 2006
    Publication date: February 15, 2007
    Inventors: Vadim Longinov, Benjamin Yoder, Mark Halstead, David Meiri
  • Publication number: 20060277381
    Abstract: Ordering data writes include a host computer providing a plurality of data writes to a primary storage device, the primary storage device assigning a first sequence number to data writes begun after a first time and before a second time, the primary storage device assigning a second sequence number, different from the first sequence number, to data writes begun after the second time, in response to completion of all writes assigned the first sequence number, the primary storage device transferring writes assigned the first sequence number to a secondary storage device, and, in response to the primary storage device transferring all writes assigned the first sequence number to the secondary storage device, the primary storage device sending a commit message to the secondary storage device. Ordering data writes may also include, in response to receiving a commit message from the primary storage device, the secondary storage device storing the data writes having the first sequence number.
    Type: Application
    Filed: August 11, 2006
    Publication date: December 7, 2006
    Inventors: David Meiri, Mark Halstead, Haim Kopylovitz, Benjamin Yoder, Adi Ofer, Hana Moreshet
  • Publication number: 20060195656
    Abstract: Ordering data writes includes at least some of a group of primary storage devices receiving a first plurality of data writes, causing a cycle switch for the group of primary storage devices where the first plurality of data writes are associated with a particular cycle on each primary storage device in the group, and at least some of the group of primary storage devices receiving a second plurality of writes after initiating the cycle switch where all of the second plurality of writes are associated with a cycle different from the particular cycle on each primary storage device. Writes to the group begun after initiating the cycle switch may not complete until after the cycle switch has completed. Ordering data writes may also include, after completion of the cycle switch, each of the primary storage devices of the group initiating transfer of the first plurality of writes to a corresponding secondary storage device.
    Type: Application
    Filed: January 30, 2006
    Publication date: August 31, 2006
    Inventors: Douglas Lecrone, Kevin Heasley, Vadim Longinov, Mark Halstead, David Meiri, Benjamin Yoder, William Thibodeau
  • Publication number: 20060112248
    Abstract: Ordering data writes include a host computer providing a plurality of data writes to a primary storage device, the primary storage device assigning a first sequence number to data writes begun after a first time and before a second time, the primary storage device assigning a second sequence number, different from the first sequence number, to data writes begun after the second time, in response to completion of all writes assigned the first sequence number, the primary storage device transferring writes assigned the first sequence number to a secondary storage device, and, in response to the primary storage device transferring all writes assigned the first sequence number to the secondary storage device, the primary storage device sending a commit message to the secondary storage device. Ordering data writes may also include, in response to receiving a commit message from the primary storage device, the secondary storage device storing the data writes having the first sequence number.
    Type: Application
    Filed: January 9, 2006
    Publication date: May 25, 2006
    Inventors: David Meiri, Mark Halstead, Haim Kopylovitz, Benjamin Yoder, Adi Ofer, Hana Moreshet
  • Publication number: 20060069887
    Abstract: Storing recovery data includes providing chunks of data to a remote destination, where each chunk of data represents data written before a first time and after a second time and where the second time for one of the particular chunks corresponds to a first time for a subsequent one of the particular chunks, providing synchronous data to a local destination, and providing an indicator to the local destination in connection with creation of a new chunk of data for storage at the remote destination. The local destination may maintain a plurality of maps, where each of the maps associates synchronous data being provided thereto with a specific chunk of data. In response to receiving an indicator in connection with creation of a new chunk of data, the local destination may point to a new map. There may be two maps or more than two maps.
    Type: Application
    Filed: September 30, 2004
    Publication date: March 30, 2006
    Inventors: Douglas LeCrone, Gary Cox, Brett Quinn, David Meiri, Mark Halstead, Benjamin Yoder
  • Publication number: 20050283571
    Abstract: Setting a plurality of table entries in a storage device includes subdividing the table entries into a N tasks, placing each of the N tasks in a memory location disposed within the storage device and accessible by a plurality of internal devices, the plurality of the internal devices accessing the memory location to retrieve at least one of the N tasks, and each of the plurality of the internal devices setting table entries corresponding to at least one of the N tasks retrieved from the memory location. Setting table entries may also include setting logical device table entries to indicate corresponding tracks contain invalid data in connection with operation of remote data transfer between multiple storage devices. At least some of the internal devices may include devices for handling remote data transfer between multiple storage devices. At least some of the internal devices may be disk adapters and host adapters of the storage device. The memory location may correspond to a queue.
    Type: Application
    Filed: August 10, 2005
    Publication date: December 22, 2005
    Inventors: Benjamin Yoder, Mark Halstead, David Meiri, Alexandr Veprinsky
  • Publication number: 20050198454
    Abstract: Transitioning from a first data transfer mode to a second data transfer mode that is different from the first data transfer mode includes a primary storage device receiving a plurality of data writes while being in the first data transfer mode, the primary storage device associating data writes begun after a first time and before a second time with a first chunk of data, the primary storage device associating data writes begun after the second time with a second chunk of data different from the first chunk of data, and the primary storage device transitioning to the second data transfer mode after the second time by first transferring writes associated with the first chunk of data to a secondary storage device after completion of all writes associated with the first chunk of data and then, after all writes associated with the first chunk of data have been transferred to the secondary storage device, transferring writes associated with the second chunk of data to the secondary storage device using the first da
    Type: Application
    Filed: March 8, 2004
    Publication date: September 8, 2005
    Inventors: Benjamin Yoder, David Meiri, Vadim Longinov
  • Publication number: 20050149666
    Abstract: Ordering data writes include a host computer providing a plurality of data writes to a primary storage device, the primary storage device assigning a first sequence number to data writes begun after a first time and before a second time, the primary storage device assigning a second sequence number, different from the first sequence number, to data writes begun after the second time, in response to completion of all writes assigned the first sequence number, the primary storage device transferring writes assigned the first sequence number to a secondary storage device, and, in response to the primary storage device transferring all writes assigned the first sequence number to the secondary storage device, the primary storage device sending a commit message to the secondary storage device. Ordering data writes may also include, in response to receiving a commit message from the primary storage device, the secondary storage device storing the data writes having the first sequence number.
    Type: Application
    Filed: March 1, 2005
    Publication date: July 7, 2005
    Inventors: David Meiri, Mark Halstead, Haim Kopylovitz, Benjamin Yoder, Adi Ofer, Hana Moreshet
  • Publication number: 20050120056
    Abstract: Ordering data writes includes at least some of a group of primary storage devices receiving a first plurality of data writes, causing a cycle switch for the group of primary storage devices where the first plurality of data writes are associated with a particular cycle on each primary storage device in the group, and at least some of the group of primary storage devices receiving a second plurality of writes after initiating the cycle switch where all of the second plurality of writes are associated with a cycle different from the particular cycle on each primary storage device. Writes to the group begun after initiating the cycle switch may not complete until after the cycle switch has completed. Ordering data writes may also include, after completion of the cycle switch, each of the primary storage devices of the group initiating transfer of the first plurality of writes to a corresponding secondary storage device.
    Type: Application
    Filed: December 1, 2003
    Publication date: June 2, 2005
    Inventors: David Meiri, Douglas Lecrone, Kevin Heasley, Vadim Longinov, Mark Halstead, Benjamin Yoder, William Thibodeau
  • Publication number: 20050066122
    Abstract: Handling ordered writes to a data storage device includes receiving a first chunk of data into slots of a cache of the data storage device and using a hash table to provide a correlation between cache slots containing data from the first chunk of data and locations of a logical storage device of the data storage device. Handling ordered writes may also include maintaining a circularly linked list of pointers to cache slots containing the first chunk of data. Handling ordered writes may also include receiving a second chunk of data into slots of the cache of the data storage device and receiving a message indicating that all data corresponding to the first chunk of data has been transferred to the data storage device. Handling ordered writes may also include, in response to receiving the message, storing data from the first chunk on to the logical storage device.
    Type: Application
    Filed: October 1, 2004
    Publication date: March 24, 2005
    Inventors: Vadim Longinov, Benjamin Yoder, Mark Halstead, David Meiri