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: 8924665Abstract: 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: GrantFiled: August 31, 2011Date of Patent: December 30, 2014Assignee: EMC CorporationInventors: Vadim Longinov, Mark Halstead, Benjamin Yoder
-
Patent number: 8732124Abstract: 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: GrantFiled: March 26, 2012Date of Patent: May 20, 2014Assignee: EMC CorporationInventors: Dan Arnon, David Meiri, Mark Halstead, Benjamin Yoder, Oliver M. D. Shorey
-
Patent number: 8707003Abstract: 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: GrantFiled: September 29, 2010Date of Patent: April 22, 2014Assignee: EMC CorporationInventors: Rajesh Mishra, Benjamin Yoder
-
Patent number: 8578204Abstract: 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: GrantFiled: December 29, 2010Date of Patent: November 5, 2013Assignee: EMC CorporationInventors: Eugene Ortenberg, Bradford B. Glade, Dale Hagglund, Benjamin Yoder, David Meiri, Dan Arnon, Dharmesh Thakkar
-
Publication number: 20070038841Abstract: 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: ApplicationFiled: August 11, 2006Publication date: February 15, 2007Inventors: Vadim Longinov, Benjamin Yoder, Mark Halstead, David Meiri
-
Publication number: 20060277381Abstract: 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: ApplicationFiled: August 11, 2006Publication date: December 7, 2006Inventors: David Meiri, Mark Halstead, Haim Kopylovitz, Benjamin Yoder, Adi Ofer, Hana Moreshet
-
Publication number: 20060195656Abstract: 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: ApplicationFiled: January 30, 2006Publication date: August 31, 2006Inventors: Douglas Lecrone, Kevin Heasley, Vadim Longinov, Mark Halstead, David Meiri, Benjamin Yoder, William Thibodeau
-
Publication number: 20060112248Abstract: 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: ApplicationFiled: January 9, 2006Publication date: May 25, 2006Inventors: David Meiri, Mark Halstead, Haim Kopylovitz, Benjamin Yoder, Adi Ofer, Hana Moreshet
-
Publication number: 20060069887Abstract: 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: ApplicationFiled: September 30, 2004Publication date: March 30, 2006Inventors: Douglas LeCrone, Gary Cox, Brett Quinn, David Meiri, Mark Halstead, Benjamin Yoder
-
Publication number: 20050283571Abstract: 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: ApplicationFiled: August 10, 2005Publication date: December 22, 2005Inventors: Benjamin Yoder, Mark Halstead, David Meiri, Alexandr Veprinsky
-
Publication number: 20050198454Abstract: 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 daType: ApplicationFiled: March 8, 2004Publication date: September 8, 2005Inventors: Benjamin Yoder, David Meiri, Vadim Longinov
-
Publication number: 20050149666Abstract: 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: ApplicationFiled: March 1, 2005Publication date: July 7, 2005Inventors: David Meiri, Mark Halstead, Haim Kopylovitz, Benjamin Yoder, Adi Ofer, Hana Moreshet
-
Publication number: 20050120056Abstract: 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: ApplicationFiled: December 1, 2003Publication date: June 2, 2005Inventors: David Meiri, Douglas Lecrone, Kevin Heasley, Vadim Longinov, Mark Halstead, Benjamin Yoder, William Thibodeau
-
Publication number: 20050066122Abstract: 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: ApplicationFiled: October 1, 2004Publication date: March 24, 2005Inventors: Vadim Longinov, Benjamin Yoder, Mark Halstead, David Meiri