Patents by Inventor Benjamin W. Yoder

Benjamin W. 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: 7114033
    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: Grant
    Filed: October 1, 2004
    Date of Patent: September 26, 2006
    Assignee: EMC Corporation
    Inventors: Vadim Longinov, Benjamin W. Yoder, Mark J. Halstead, David Meiri
  • Patent number: 7054883
    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: Grant
    Filed: December 1, 2003
    Date of Patent: May 30, 2006
    Assignee: EMC Corporation
    Inventors: David Meiri, Douglas E. Lecrone, Kevin C. Heasley, Vadim Longinov, Mark J. Halstead, Benjamin W. Yoder, William P. Thibodeau
  • Patent number: 7051176
    Abstract: Reading desired data from a remote storage device that receives chunks of data from an other storage device includes determining if the desired data is part of a chunk of data committed by the other storage device, if the desired data is not part of a chunk of data committed by the other storage device, reading the desired data from a corresponding standard logical device, and if the desired data is part of a chunk of data committed by the other storage device, transferring the desired data to the standard logical device and obtaining the desired data from one of: the standard logical device after transferring the desired data thereto and the chunk of data committed by the other storage device. Reading desired data from a remote storage device may also include, if the desired data is part of a chunk of data committed by the other storage device, locking a corresponding slot of a cache only virtual device that points to the desired data.
    Type: Grant
    Filed: June 26, 2003
    Date of Patent: May 23, 2006
    Assignee: EMC Corporation
    Inventors: David Meiri, Mark J. Halstead, Benjamin W. Yoder, Haim Kopylovitz, Hana Moreshet
  • Patent number: 7024525
    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.
    Type: Grant
    Filed: August 10, 2005
    Date of Patent: April 4, 2006
    Assignee: EMC Corporation
    Inventors: Benjamin W. Yoder, Mark J. Halstead, David Meiri, Alexandr Veprinsky
  • Patent number: 7000086
    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: Grant
    Filed: March 1, 2005
    Date of Patent: February 14, 2006
    Assignee: EMC Corporation
    Inventors: David Meiri, Mark J. Halstead, Haim Kopylovitz, Benjamin W. Yoder, Adi Ofer, Hana Moreshet
  • Patent number: 6944726
    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.
    Type: Grant
    Filed: August 20, 2002
    Date of Patent: September 13, 2005
    Assignee: EMC Corporation
    Inventors: Benjamin W. Yoder, Mark J. Halstead, David Meiri, Alexandr Veprinsky
  • Patent number: 6898685
    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: Grant
    Filed: March 25, 2003
    Date of Patent: May 24, 2005
    Assignee: EMC Corporation
    Inventors: David Meiri, Mark J. Halstead, Haim Kopylovitz, Benjamin W. Yoder, Adi Ofer, Hana Moreshet
  • Publication number: 20040193820
    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 25, 2003
    Publication date: September 30, 2004
    Applicant: EMC Corporation
    Inventors: David Meiri, Mark J. Halstead, Haim Kopylovitz, Benjamin W. Yoder, Adi Ofer, Hana Moreshet
  • Publication number: 20040193802
    Abstract: Using a local storage device to read desired data stored on a remote storage device that receives chunks of data from the local storage device includes, if the desired data is entirely in a cache of the local storage device, the local storage device returning the data from the cache and, if the desired data is not entirely in a cache of the local storage device, reading data from the remote storage device to the local storage device and the local storage device merging the data from the remote storage device with data from the local storage device at the local storage device. Using a local storage device to read desired data stored on a remote storage device that receives chunks of data from the local storage device may also include, prior to reading data from the remote storage device to the local storage device, creating a temporary storage area at the local storage device if there is data from the local storage device that is to be read. The temporary storage area may be a scratch slot.
    Type: Application
    Filed: June 26, 2003
    Publication date: September 30, 2004
    Applicant: EMC Corporation
    Inventors: David Meiri, Mark J. Halstead, Benjamin W. Yoder, Haim Kopylovitz, Hana Moreshet
  • Publication number: 20040193816
    Abstract: Reading desired data from a remote storage device that receives chunks of data from an other storage device includes determining if the desired data is part of a chunk of data committed by the other storage device, if the desired data is not part of a chunk of data committed by the other storage device, reading the desired data from a corresponding standard logical device, and if the desired data is part of a chunk of data committed by the other storage device, transferring the desired data to the standard logical device and obtaining the desired data from one of: the standard logical device after transferring the desired data thereto and the chunk of data committed by the other storage device. Reading desired data from a remote storage device may also include, if the desired data is part of a chunk of data committed by the other storage device, locking a corresponding slot of a cache only virtual device that points to the desired data.
    Type: Application
    Filed: June 26, 2003
    Publication date: September 30, 2004
    Applicant: EMC Corporation
    Inventors: David Meiri, Mark J. Halstead, Benjamin W. Yoder, Haim Kopylovitz, Hana Moreshet
  • Publication number: 20030093635
    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 20, 2002
    Publication date: May 15, 2003
    Applicant: EMC Corporation
    Inventors: Benjamin W. Yoder, Mark J. Halstead, David Meiri, Alexandr Veprinsky