Patents Represented by Attorney, Agent or Law Firm Leanne J. Fitzgerald, Esq.
  • Patent number: 6311256
    Abstract: The invention relates to a method and apparatus for reordering, at a disk drive controller, a received sequence of read and write commands. The reordering can be system driven so that the system, when a command stalls, examines the command queue for another command to execute. Alternatively, the command queue itself can be reordered depending upon the expected time it takes for various commands to execute. Reordered commands can be flagged so that they cannot be reordered again. The resulting increase in throughput and efficiency occurs without reference to the particular disk drive or disk drive array configuration to which the controller is connected.
    Type: Grant
    Filed: June 30, 1997
    Date of Patent: October 30, 2001
    Assignee: EMC Corporation
    Inventors: Kenneth A. Halligan, Erez Ofer, John T. Fitzgerald
  • Patent number: 6076126
    Abstract: A shared resource lock mechanism is provided which enables processors in a mullet-processor environment which each share common resources to obtain locks on those resources using a read modify write type transaction which does not at any point in time require the locking of a bus or a memory which contains the lock records used to lock the particular resources.
    Type: Grant
    Filed: June 30, 1997
    Date of Patent: June 13, 2000
    Assignee: EMC Corporation
    Inventor: Eli Shagam
  • Patent number: 6049850
    Abstract: A cache management system and method monitors and controls the contents of cache memory coupled to at least one longer term data storage device. Cache memory is organized into at least first and second sections, the first section for storing data waiting to be written to a longer term data storage device and the second section for storing data elements which have been written to the longer term data storage device. The cache management system and method monitors data elements awaiting writing to the longer term data storage device.
    Type: Grant
    Filed: May 27, 1997
    Date of Patent: April 11, 2000
    Assignee: EMC Corporation
    Inventors: Natan Vishlitzky, Haim Kopylovitz
  • Patent number: 6035375
    Abstract: A cache management system and method monitors and controls the contents of cache memory coupled to at least one host and at least one data storage device. A cache indexer maintains a current index of data elements which are stored in cache memory. A sequential data access indicator, responsive to the cache index and to a user selectable sequential data access threshold, determines that a sequential data access is in progress for a given process and provides an indication of the same. The system and method allocate a micro-cache memory to any process performing a sequential data access. In response to the indication of a sequential data access in progress and to a user selectable maximum number of data elements to be prefetched, a data retrieval requestor requests retrieval of up to the selected maximum number of data elements from a data storage device. A user selectable number of sequential data elements determines when previously used micro-cache memory locations will be overwritten.
    Type: Grant
    Filed: July 15, 1996
    Date of Patent: March 7, 2000
    Assignee: EMC Corporation
    Inventors: Moshe Yanai, Natan Vishlitzky, Bruno Alterescu, Daniel Castel
  • Patent number: 6021436
    Abstract: A method for polling a plurality heterogeneous computer systems remote from a host is provided. The method has the host containing first and second memory locations. In the first location the current day's collected information is stored. In a second location historical data compiled over a predetermined period of time is stored. The system has the host initially polling all of the plurality of heterogeneous computer systems concurrently to determine if they are active. If it is determined that a particular computer system is active, the system then runs through a series of commands to obtain desired information from the plurality of hosts. The host obtains the particular operating system and the particular version of each operating system that is running on each one of the plurality of heterogeneous computers. Once this information is obtained the host then can run certain specific commands for each particular operating system revision to ascertain additional information.
    Type: Grant
    Filed: May 9, 1997
    Date of Patent: February 1, 2000
    Assignee: EMC Corporation
    Inventor: Brian Garrett
  • Patent number: 6018809
    Abstract: An apparatus for capturing data transmitted over of a plurality of bidirectional communication buses is provided. The apparatus comprises a plurality of trace engines, each trace engine having a trace analyzer and a central processing unit connected together with a bus. Each one of the trace engines is connected to another trace engine, so that all of the trace analyzers within the trace engines are synchronized to a common clock. The synchronization to a single common clock allows all of the data captured by the plurality of trace engines to be analyzed or used together.
    Type: Grant
    Filed: March 28, 1997
    Date of Patent: January 25, 2000
    Inventor: Brian Garrett
  • Patent number: 6009481
    Abstract: A mass storage system having at least one input/output controllers in connection with a host computer is disclosed. The mass storage system also includes mirrored storage devices in connection with the input/output controllers through a global cache memory. Each mirrored pair of storage devices is assigned a common logical volume address, but is looked upon by the host computer as a single entity. The cache memory includes dynamically allocable cache slots, which correspond to each common logical volume address. When the host wishes to write data to a pair of mirrored storage devices, the contents of first write operation are written into the appropriate cache slot. However, when a second write operation is received by the input/output controllers, a determination is made as to whether the contents of the second write operation are already in the cache memory.
    Type: Grant
    Filed: September 30, 1996
    Date of Patent: December 28, 1999
    Assignee: EMC Corporation
    Inventor: Robert Mayer
  • Patent number: 5987550
    Abstract: A shared resource lock mechanism is provided which enables processors in a multi-processor system which each share common resources to obtain locks on those resources using a transactions which minimizes the amount of time system resources are unavailable, while also allowing system resources to be available for other processing tasks.
    Type: Grant
    Filed: June 30, 1998
    Date of Patent: November 16, 1999
    Assignee: EMC Corporation
    Inventor: Eli Shagam
  • Patent number: 5935260
    Abstract: A method of providing error to a host computer coupled to a storage system is provided. The method includes modifying a command in the storage system/computer communications protocol. The command, when received by a controller within the storage system is interpreted as being a modified command. The controller is responsive to the modified command for reading error information from its stored location within the storage system. The error information is then returned to the requesting host computer. Thus, previously unavailable error information is made available host computers coupled to the storage system without the need to add commands to the standard communications protocol.
    Type: Grant
    Filed: May 2, 1997
    Date of Patent: August 10, 1999
    Assignee: EMC Corporation
    Inventor: Erez Ofer
  • Patent number: 5903913
    Abstract: A method of managing a storage system is provided which allows each host of connected to a storage system supporting multiple hosts to view the identification information assigned to the storage devices by the respective hosts. The method includes providing a command which allows a host to write identification information to an area on the disk drives controlled by the host which was previously reserved for use by the storage system. In addition to writing the data to the physical storage device, execution of the command also causes the identification information to be written to an area in global memory which holds information about each of the storage devices in the storage system. Since the information is stored in a global memory, each host my access the information. Using a second command provided, any host may read the information in global memory and thus learn the identification assigned by other hosts.
    Type: Grant
    Filed: December 20, 1996
    Date of Patent: May 11, 1999
    Assignee: EMC Corporation
    Inventors: Erez Ofer, Kenneth A. Halligan
  • Patent number: 5822513
    Abstract: A method and apparatus are provided for detecting stale write data bugs associated with storage systems. The detection is accomplished by choosing a data pattern signature for each block of a storage device to be tested. The data pattern signature is then stored in a write log table which provides an index as to the data pattern signature associated with each block. Then, the block is filled by writing, in a repeating fashion, the data pattern signature until all bytes of the block have been written. At a later time, the entire block is read from the storage device. Once read, each byte retrieved is compared against the value of the data pattern signature currently stored in the write log for that block. If a mismatch is detected, then the error is reported and stored in a error log so that the bug may be eliminated.
    Type: Grant
    Filed: September 27, 1996
    Date of Patent: October 13, 1998
    Assignee: EMC Corporation
    Inventors: Erez Ofer, Brian L. Garrett
  • Patent number: 5785550
    Abstract: Two data communication channels having electrical ground positions that alternate with control and data positions are terminated in a single, dual-channel connector that occupies generally the same interconnection board real estate as is required for a single, prior art, data communication SI connector, such as for a Small Computer System Interface (SCSI) communication channels. A two-channel SCSI connector system and connection method includes providing a two-channel header having two ground buses, to which the alternating electrical ground wires of respective first and second SCSI channels are terminated. Only a few of the pins or positions of the two-channel connector are connected to the two ground buses while the majority of pins or positions are connected to the signal (control, data) wires of the two SCSI channels.
    Type: Grant
    Filed: July 25, 1994
    Date of Patent: July 28, 1998
    Inventors: Eli Leshem, Daniel Castel
  • Patent number: 5787473
    Abstract: A shared system memory buffers data transfers between a plurality of host computers and a plurality of data storage devices. The system memory includes a cache memory and a number of queues and structures to facilitate performance. Management of a replacement queue within the system memory is based on the elapsed time and usage of the data element. If the elapsed time of a data element to be updated is less than a threshold, the data element will remain in the same location of the replacement queue; if the elapsed time is greater than the threshold, the data element is placed at the tail of the replacement queue. The threshold may be determined by dynamically monitoring the stress of the cache memory. The updating of the replacement queue is also affected by the number of times the data element has been accessed while in the replacement queue. The memory also includes a pending write data structure which is not part of the replacement queue.
    Type: Grant
    Filed: September 20, 1996
    Date of Patent: July 28, 1998
    Assignee: EMC Corporation
    Inventors: Natan Vishlitzky, Yuval Ofek
  • Patent number: 5765213
    Abstract: A method of prefetching data from the storage media of a data storage system, in which the data is stored on, and read from, the storage media in individually-accessible data storage portions, such as tracks of a hard disk. A number of immediately past-read data storage portions are used to predict a storage portion or portions that will likely be requested in the future. The unique identifiers of those previously-read data storage portions are determined, and a prediction coefficient is calculated for each unique identifier. The prediction coefficient is then multiplied by the unique identifier, and the results are summed to determine the unique identifier of a data portion to be prefetched.
    Type: Grant
    Filed: December 8, 1995
    Date of Patent: June 9, 1998
    Assignee: EMC Corporation
    Inventor: Erez Ofer
  • Patent number: 5761717
    Abstract: A cache management system and method monitors and controls the contents of cache memory. A time indication provider provides a time indication signal to a cache indexer, for maintaining a cache index which are stored in cache as well as an indication that a data element must be written to a longer term data storage device. A cache manager is responsible for placing data elements into and removing data elements from the cache memory. The cache manager is responsive to at least one data element stored in cache which must be written to a longer term data storage device, and to the associated time indication, for determining the amount of time that the data element has been stored in cache as well as the average period of time that elapses between a data element being inserted in cache and being removed from cache.
    Type: Grant
    Filed: April 26, 1996
    Date of Patent: June 2, 1998
    Assignee: EMC Corporation
    Inventors: Natan Vishlitzky, Haim Kopylovitz
  • Patent number: D389809
    Type: Grant
    Filed: September 26, 1996
    Date of Patent: January 27, 1998
    Assignee: EMC Corporation
    Inventor: Paul T. Tirrell
  • Patent number: D405767
    Type: Grant
    Filed: December 30, 1997
    Date of Patent: February 16, 1999
    Assignee: EMC Corporation
    Inventors: Erik Nelson, Jeffrey Teachout