Patents by Inventor Mark J. Halstead

Mark J. Halstead 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: 8078813
    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: Grant
    Filed: September 30, 2004
    Date of Patent: December 13, 2011
    Assignee: EMC Corporation
    Inventors: Douglas E. LeCrone, Gary H. Cox, Brett A. Quinn, David Meiri, Mark J. Halstead, Benjamin W. Yoder
  • Patent number: 7779291
    Abstract: Storing recovery data for a data center includes providing synchronous data from the data center to a local destination, providing chunks of data from the local destination to a first remote destination, different from the first remote destination, and providing chunks of data from the data center to a second remote destination. At least some of the destinations may maintain a plurality of maps, where each of the maps associates synchronous data being provided to the local destination with a specific chunk of data. In response to receiving an indicator in connection with creation of a new chunk of data, the at least some of the destinations that maintain a plurality of maps may point to a new map. There may be two maps or more than two maps.
    Type: Grant
    Filed: December 29, 2006
    Date of Patent: August 17, 2010
    Assignee: EMC Corporation
    Inventors: Benjamin W. Yoder, Mark J. Halstead, Douglas E. Lecrone, Marik Marshak, Brett A. Quinn, Mike Specht, Gary H. Cox
  • Patent number: 7752404
    Abstract: Toggling between a first storage configuration and a second storage configuration includes disabling asynchronous data transfer to a third storage group from one of the first storage group and the second storage group and enabling asynchronous data transfer to the third storage group from an other one of the first storage group and second storage group. Toggling between a first storage configuration and a second storage configuration may also include, prior to disabling asynchronous data transfer to the third storage group, transferring pending data to the third storage group. Toggling between a first storage configuration and a second storage configuration may also include, after enabling asynchronous data transfer to the third storage group, transferring data to the third storage group that had been pending prior to disabling asynchronous data transfer to the third storage group.
    Type: Grant
    Filed: December 29, 2006
    Date of Patent: July 6, 2010
    Assignee: EMC Corporation
    Inventors: Gary H. Cox, Mark J. Halstead, Douglas E. Lecrone, Marik Marshak, Brett A. Quinn, Mike Specht, Benjamin W. Yoder
  • Patent number: 7734884
    Abstract: Providing storage configurations for a data center includes providing synchronous data transfer from the data center to a local destination, establishing a first connection between the data center and a remote destination to provide chunks of data from the data center to a remote destination, establishing a second connection between the local destination and the remote destination to provide chunks of data from the local destination to the remote destination, and enabling at least one of the first and second connections to transfer chunks of data to the remote destination.
    Type: Grant
    Filed: December 29, 2006
    Date of Patent: June 8, 2010
    Assignee: EMC Corporation
    Inventors: Marik Marshak, Mark J. Halstead, Douglas E. LeCrone, Gary H. Cox, Brett A. Quinn, Mike Specht, Benjamin W. Yoder
  • Patent number: 7730237
    Abstract: Transferring data elements from a source to a destination includes providing a transmission queue at the source, where data elements in the transmission queue are transferred from the source to the destination, determining an optimal length for the transmission queue, where the optimal queue length is inversely proportional data latency time at the destination, and, if the optimal length is greater than an instantaneous length of the transmission queue, adding data elements to the transmission queue. Adding data elements may include adding a number of elements corresponding to a difference between the optimal length and the instantaneous length of the transmission queue. Determining optimal length may include dividing a constant by the data latency time at the destination. Transferring data elements may also include providing a network between the source and the destination.
    Type: Grant
    Filed: August 24, 2004
    Date of Patent: June 1, 2010
    Assignee: EMC Corporation
    Inventors: Alexandr Veprinsky, Anestis Panidis, Ramprasad Shetty, Ilya E. Garelik, Mark J. Halstead, Sergey Kornfeld
  • Patent number: 7680997
    Abstract: Handling failure of a primary group at a first data center may be simulated by cloning the at least one storage volume at a second data center, cloning at least one storage volume at a third data center, cloning at least one of: buffers used for providing data to the asynchronous backup group and maps used to maintain a record of data sent to the synchronous backup group but not yet sent to the asynchronous backup group; and simulating resuming work at one of the second data center and the third data center using at least one of clones of the buffers and clones of the maps.
    Type: Grant
    Filed: December 29, 2006
    Date of Patent: March 16, 2010
    Assignee: EMC Corporation
    Inventors: Mike Specht, Mark J. Halstead, Douglas E. Lecrone, Marik Marshak, Brett A. Quinn, Gary H. Cox, Benjamin W. Yoder
  • Patent number: 7577957
    Abstract: Providing multiple jobs for a device associated with a communication device includes providing a plurality of device records, where each of the device records corresponds to a device associated with the communication device, providing a plurality of job records for at least one of the device records, where each of the job records contains at least some information that is also provided in the corresponding one of the device records, and linking the job records and the corresponding device record so that any one of the job records may be accessed by first accessing the corresponding one of the device records. Providing multiple jobs may also include providing one of a plurality of shared pointers in each of the job records and the corresponding one of the device records, where all of the shared pointers point to the corresponding one of the device records. Linking the job records may include providing a forward pointer and a backward pointer for each of the job records.
    Type: Grant
    Filed: June 25, 2001
    Date of Patent: August 18, 2009
    Assignee: EMC Corporation
    Inventors: Peter Kamvysselis, Dan Arnon, David Meiri, Mark J. Halstead
  • Patent number: 7552282
    Abstract: Described are techniques for selective data replication. Cached data is replicated if it is characterized as critical. Critical data may include data associated with a write I/O operation. Cache locations are selected for replicated data so that a first location is mapped to a first memory board and a second location is mapped to a second memory board. Data for a read operation is not replicated in cache. Other non-cache data that is critical and thus replicated includes metadata. Cache locations for data of read and write I/O operations are selected dynamically at the time the I/O operation is made from the same pool of cache locations.
    Type: Grant
    Filed: August 4, 2004
    Date of Patent: June 23, 2009
    Assignee: EMC Corporation
    Inventors: Michael Bermingham, Kendell A. Chilton, Robert DeCrescenzo, Mark J. Halstead, Haim Kopylovitz, Steven T. McClure, James M. McGillis, Ofer E. Michael, Brett D. Niver, John K. Walton
  • Patent number: 7529724
    Abstract: Causing work requests between units of a storage device to be serviced includes scanning an array of data records that contain information indicative of the work requests that have been posted, determining if a particular one of the work requests is not being serviced and reposting the particular one of the work requests if the particular one of the work requests is not being serviced. Reposting the particular one of work requests may include providing the work request directly to a unit that is expected to fulfill the work request. The unit expected to fulfill the work request in connection with the work request being reposted may be different from a unit expected to fulfill the work request when the work request was initially posted or may be the same unit.
    Type: Grant
    Filed: September 21, 2004
    Date of Patent: May 5, 2009
    Assignee: EMC Corporation
    Inventors: Marik Marshak, Mark J. Halstead
  • Patent number: 7409470
    Abstract: Dynamically creating a communication path between first and second storage devices, includes creating a connection to a source volume on the first storage device and indicating that the source volume is not ready to transmit data on the communication path, after successfully creating the connection to the source volume, creating a connection to a destination volume on the second storage device and initially indicating that portions of one of: the destination volume and the source volume do not contain valid copies of data, where the destination volume accepts data from the source volume, and after successfully creating the connections to the source and destination volumes, indicating that the source volume is ready to transmit data on the communication path. Dynamically creating a communication path between first and second storage devices, may also include creating at least one of: the source volume and the destination volume.
    Type: Grant
    Filed: November 23, 2004
    Date of Patent: August 5, 2008
    Assignee: EMC Corporation
    Inventors: Mark J. Halstead, Dan Arnon, David Meiri
  • Publication number: 20080162844
    Abstract: Storing recovery data for a data center includes providing synchronous data from the data center to a local destination, providing chunks of data from the local destination to a first remote destination, different from the first remote destination, and providing chunks of data from the data center to a second remote destination. At least some of the destinations may maintain a plurality of maps, where each of the maps associates synchronous data being provided to the local destination with a specific chunk of data. In response to receiving an indicator in connection with creation of a new chunk of data, the at least some of the destinations that maintain a plurality of maps may point to a new map. There may be two maps or more than two maps.
    Type: Application
    Filed: December 29, 2006
    Publication date: July 3, 2008
    Inventors: Benjamin W. Yoder, Mark J. Halstead, Douglas E. Lecrone, Marik Marshak, Brett A. Quinn, Mike Specht, Gary H. Cox
  • Publication number: 20080162845
    Abstract: Toggling between a first storage configuration and a second storage configuration includes disabling asynchronous data transfer to a third storage group from one of the first storage group and the second storage group and enabling asynchronous data transfer to the third storage group from an other one of the first storage group and second storage group. Toggling between a first storage configuration and a second storage configuration may also include, prior to disabling asynchronous data transfer to the third storage group, transferring pending data to the third storage group. Toggling between a first storage configuration and a second storage configuration may also include, after enabling asynchronous data transfer to the third storage group, transferring data to the third storage group that had been pending prior to disabling asynchronous data transfer to the third storage group.
    Type: Application
    Filed: December 29, 2006
    Publication date: July 3, 2008
    Inventors: Gary H. Cox, Mark J. Halstead, Douglas E. Lecrone, Marik Marshak, Brett A. Quinn, Mike Specht, Benjamin W. Yoder
  • Patent number: 7386668
    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: August 11, 2006
    Date of Patent: June 10, 2008
    Assignee: EMC Corporation
    Inventors: Vadim Longinov, Benjamin W. Yoder, Mark J. Halstead, David Meiri
  • Patent number: 7383408
    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: August 11, 2006
    Date of Patent: June 3, 2008
    Assignee: EMC Corporation
    Inventors: David Meiri, Mark J. Halstead, Haim Kopylovitz, Benjamin W. Yoder, Adi Ofer, Hana Moreshet
  • Patent number: 7383385
    Abstract: A mechanism to support remote mirroring of storage devices by data storage systems in a one-to-many switched environment. Each data storage system includes a disk director that is adapted to control at least one device group that is supported in a mirrored configuration with a corresponding device group controlled by one of the other data storage systems. For each device group and corresponding device group, there are first ports associated with the device group and second ports associated with the corresponding device group. A switch element is adapted to connect one of the first ports to at least one of the second ports so that data may be exchanged between the ports for each device group and corresponding device group. The disk director selects which first port is to be connected to which second port via the switch element in the establishment of a logical link.
    Type: Grant
    Filed: January 25, 2007
    Date of Patent: June 3, 2008
    Assignee: EMC Corporation
    Inventors: David Meiri, Dan Arnon, Mark J. Halstead, Peter Kamvysselisi
  • Patent number: 7380082
    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: Grant
    Filed: June 26, 2003
    Date of Patent: May 27, 2008
    Assignee: EMC Corporation
    Inventors: David Meiri, Mark J. Halstead, Benjamin W. Yoder, Haim Kopylovitz, Hana Moreshet
  • Patent number: 7376651
    Abstract: Accessing stored data includes providing a virtual storage area having a table of pointers that point to one of: a disk storage area and a volatile memory area, wherein the virtual storage area contains no sections of data, in response to a request for accessing data of the virtual storage area, determining whether a corresponding one of the pointers points to the disk storage area or points to the volatile storage area and accessing the data from the disk storage area or from the volatile storage area. Accessing stored data may also include associating a first one of the other storage areas with the virtual storage area, wherein the virtual storage area represents a copy of data of the disk storage area. Accessing stored data may also include causing all of the pointers of the table to initially point to sections of the disk storage area when the virtual storage area is initially associated with the disk storage area.
    Type: Grant
    Filed: August 11, 2006
    Date of Patent: May 20, 2008
    Assignee: EMC Corporation
    Inventors: Hana Moreshet, Haim Kopylovitz, Adi Ofer, David Meiri, Mark J. Halstead
  • Patent number: 7240116
    Abstract: Described are techniques used in dynamically modifying RDF groups. A system call is issued by a host computer system to execute a remote system call on a first data storage system to create, remove, or modify an RDF group between the first data storage system and another data storage system that is remotely connected to the first data storage system in an RDF switched environment. As part of executing the remote system call, data is pushed from the first to the second data storage systems without having an established link between the data storage systems. Each data storage system performs processing to make the necessary modifications in all directors in accordance with the dynamic RDF group. A status indicating success or failure of the remote system call is returned to the host computer system.
    Type: Grant
    Filed: May 13, 2005
    Date of Patent: July 3, 2007
    Assignee: EMC Corporation
    Inventors: Marik Marshak, Mark J. Halstead, David Meiri, Alexandr Veprinsky
  • Patent number: 7228456
    Abstract: Recovering data provided in chunks to a plurality of secondary storage devices includes, for each of the secondary storage devices, discarding data corresponding chunks for which all data thereof has not been received, and, for each of the secondary storage devices, restoring a chunk of data thereto where all of the chunks of data restored to the plurality of secondary storage devices correspond to a particular transmission cycle of primary storage devices that provide data to the plurality of secondary storage devices. Recovering data may also include, following discarding and prior to restoring, for each of the plurality of secondary storage devices having two different chunks, waiting for external intervention to indicate whether to restore a particular one of the chunks. The external intervention may be provided by a host computer that is proximate to at least one of the secondary storage devices or may be provided by a host computer that is proximate to at least one of the primary storage computers.
    Type: Grant
    Filed: December 1, 2003
    Date of Patent: June 5, 2007
    Assignee: EMC Corporation
    Inventors: Douglas E. Lecrone, Kevin C. Heasley, Vadim Longinov, Mark J. Halstead, David Meiri
  • Patent number: 7197616
    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: January 9, 2006
    Date of Patent: March 27, 2007
    Assignee: EMC Corporation
    Inventors: David Meiri, Mark J. Halstead, Haim Kopylovitz, Benjamin W. Yoder, Adi Ofer, Hana Moreshet