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: 7054883Abstract: 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: GrantFiled: December 1, 2003Date of Patent: May 30, 2006Assignee: EMC CorporationInventors: David Meiri, Douglas E. Lecrone, Kevin C. Heasley, Vadim Longinov, Mark J. Halstead, Benjamin W. Yoder, William P. Thibodeau
-
Patent number: 7051176Abstract: 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: GrantFiled: June 26, 2003Date of Patent: May 23, 2006Assignee: EMC CorporationInventors: David Meiri, Mark J. Halstead, Benjamin W. Yoder, Haim Kopylovitz, Hana Moreshet
-
Patent number: 7024525Abstract: 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: GrantFiled: August 10, 2005Date of Patent: April 4, 2006Assignee: EMC CorporationInventors: Benjamin W. Yoder, Mark J. Halstead, David Meiri, Alexandr Veprinsky
-
Patent number: 7000086Abstract: 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: GrantFiled: March 1, 2005Date of Patent: February 14, 2006Assignee: EMC CorporationInventors: David Meiri, Mark J. Halstead, Haim Kopylovitz, Benjamin W. Yoder, Adi Ofer, Hana Moreshet
-
Patent number: 6944726Abstract: 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: GrantFiled: August 20, 2002Date of Patent: September 13, 2005Assignee: EMC CorporationInventors: Benjamin W. Yoder, Mark J. Halstead, David Meiri, Alexandr Veprinsky
-
Patent number: 6898685Abstract: 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: GrantFiled: March 25, 2003Date of Patent: May 24, 2005Assignee: EMC CorporationInventors: David Meiri, Mark J. Halstead, Haim Kopylovitz, Benjamin W. Yoder, Adi Ofer, Hana Moreshet
-
Publication number: 20040193820Abstract: 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 25, 2003Publication date: September 30, 2004Applicant: EMC CorporationInventors: David Meiri, Mark J. Halstead, Haim Kopylovitz, Benjamin W. Yoder, Adi Ofer, Hana Moreshet
-
Publication number: 20040193816Abstract: 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: ApplicationFiled: June 26, 2003Publication date: September 30, 2004Applicant: EMC CorporationInventors: David Meiri, Mark J. Halstead, Benjamin W. Yoder, Haim Kopylovitz, Hana Moreshet
-
Publication number: 20040193802Abstract: 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: ApplicationFiled: June 26, 2003Publication date: September 30, 2004Applicant: EMC CorporationInventors: David Meiri, Mark J. Halstead, Benjamin W. Yoder, Haim Kopylovitz, Hana Moreshet
-
Publication number: 20030093635Abstract: 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 20, 2002Publication date: May 15, 2003Applicant: EMC CorporationInventors: Benjamin W. Yoder, Mark J. Halstead, David Meiri, Alexandr Veprinsky