Abstract: A shared resource lock mechanism is provided which enables processors in a multi-processor environment which each share common resources to obtain locks on those resources. The lock mechanism also includes a reserve feature which provides a mechanism for a processor to maintain a lock on a resource for several input/output cycles. The lock mechanism combines the lock feature and the reserve feature in a single structure. This combination allows a processor to manipulate both the lock data and reserve data in a single transaction. Thus, in transactions requiring manipulation of both the lock and reserve elements, overhead is significantly reduced. In addition a unification of software routines which manipulate the lock and reserve data is achieved.
Abstract: A mass storage subsystem is used with a digital data processing system, the digital data processing system also including at least one host computer for generating access requests. The mass storage subsystem includes a data storage subsystem, a cache memory and a host adapter. The data storage subsystem includes at least one data storage device, the data storage device including a plurality of logical data store, each for storing a plurality of data items. Each data storage device is associated with a respective device lock used regulate access thereto. The cache memory includes a plurality of cache slots each caching data items from respective logical data stores. Each cache slot is associated with a slot lock for use in regulating access thereto.
Abstract: A method of improving storage system performance is provided. The method includes queuing asynchronous requests for data stored in physically disparate storage locations. The queue is then examined in order find those requests for data which has an acceptable level of physical proximity. Those requests having acceptable physical proximity are then bundled and transmitted as a single request a storage controller which activates the storage device and retrieves the data associated with the requests bundled into the single request.
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.
Abstract: A computer system includes a host computer, a mass storage subsystem and a backup subsystem for backing up information stored on the mass storage subsystem. The mass storage subsystem stores information on a series of tracks. A backup bit map includes a plurality of bits each associated with a respective one of the tracks and indicates the backup status of the track during a backup operation. Initially, during a backup operation, the bits associated with the tracks to be backed up will be set. Generally, the mass storage subsystem transfers information from the track to be backed up in order of the bits in the bit map, and after each track is backed up, it will clear the track's bit. However, when the host is to store information in the mass storage subsystem, it will determine whether the bit associated with the track in which the information is to be stored is set and, if so, enable the mass storage subsystem to back up the track out of turn, and to re-set the track's bit.
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.
Abstract: A method of providing synchronized operational information for a host computer and an attached storage system is provided. The method includes providing a trace buffer in a memory of the storage system. A special command is created which allows a host computer to write information to the provided trace buffer. The special command uses a command from the communication protocol command set is a specific way in order to effectuate the trace buffer entry. The trace buffer entry will have a time component based on the storage system time clock. Thus, host activity may be synchronized in time with the storage system activity. In addition to the trace buffer, a statistics table is provided which maintains a log of which applications programs running on specific hosts, accessed the devices of the storage system.
Type:
Grant
Filed:
May 7, 1997
Date of Patent:
April 4, 2000
Assignee:
EMC Corporation
Inventors:
Natan Vishlitzky, Erez Ofer, Eli Shagam, David Shadmon
Abstract: A system and method are provided for generating a reliability assessment of a disk drive. The disk drive includes at least one rotatable disk having a surface, and a slider positioned proximate said surface, the slider having a contour that cooperates with air entrained with the disk surface while the disk is rotating when the disk drive is in an operational condition to provide a lift force to enable the slider to fly over the disk surface, the slider parking on the disk surface while the disk is not rotating when the disk drive is in a shut-down condition, the slider sliding over the disk surface while the disk is in a transitional condition sequencing between the shut-down condition and the operational condition. A predetermined bit pattern is written in the parking region of the disk surface, and a reliability assessment is generated based on the amplitude of a signal generated during reading of the predetermined bit pattern in the parking region while the disk drive is in the transitional condition.
Abstract: A new digital data storage system comprises at least one storage device, a memory and a control device. The storage device retrievably stores a series of records. The memory stores at least one descriptor for describing at least one selected format attribute of the records stored by the storage device, the selected format attribute having a plurality of formatting characteristics. The descriptor includes a series of record format flags, each of which is associated one of the series of records in the storage device. Each record format flag has a first condition indicating that the selected format attribute of the associated record has a predetermined format characteristic, and a second condition indicating that the selected format attribute of the associated record has a format characteristic which is identified elsewhere in the descriptor. The control device uses the record format flags of the descriptor in connection with retrievals of ones of the records from the storage device.
Abstract: An operating system-independent file map generator generates an operating system-independent map of a file stored on a mass storage subsystem, the mass storage subsystem including at least one storage device, the at least one storage device including a series of blocks, and the file being stored on a least device extent comprising at least one block. The generator comprises a file identifier receiver, a query module and a file map entry generator. The file identifier receiver receives a file identifier for the file. The query module queries a volume manager to obtain disk extent information for the file identified by the file identifier, the disk extent information identifying the at least one extent. The file map entry generator generates a file map entry for the file map for the file, the file map entry including the disk extent information obtained by the query module.
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.
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.
Abstract: A mass storage subsystem includes one or more data stores for storing information for access by one or more devices such as host computers, and a cache memory, and connects to a slave mass storage subsystem which provides mirrored storage for the information stored in its (that is, the mass storage subsystem's) data stores. When a host computer is to access information, the information is cached in the cache memory by the data stores, and the host computer will retrieve the information from the cache memory. In addition, the host computers can update information through the cache memory. Over a period of time, the mass storage subsystem gathers statistics relating to cache misses for respective chunks, each chunk comprising a relatively large number contiguous storage locations as maintained by the data stores, and will periodically cache information from entire chunks.
Abstract: A method and apparatus for managing a network attached storage system is presented which includes a web based user interface. The interface allows for the execution of many different commands on several different storage system attributes without loss of context between command execution. The interface is HTML based and provides dynamic construction of Javascript object lists based on a database read by a CGI program executing on an HTTP server. The interface eliminates the hierarchical structure of menu navigation associated with other interfaces.
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.
Abstract: A digital data processing system comprises a host information generating device, a mass storage subsystem, and a back-up information storage subsystem. The host information generating device generates information and provides it to the mass storage subsystem for storage. The mass storage subsystem receives the generated information from the host information generating device and transfers the generated information to the storage element for storage, and further transfers the generated information to the back-up information storage subsystem. The back-up information storage subsystem receives and stores the generated information from the mass storage subsystem's control element. The back-up information storage subsystem includes a filter/buffer module, a tape log module and a reconstruction module. The filter/buffer module filters and buffers the information received from the mass storage subsystem and provides the buffered information to the tape log module for storage.
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.
Abstract: A digital data storage subsystem comprises a cache memory, a digital data store and a host adapter. The cache memory includes a plurality of cache slots, each of which caches digital data from the digital data store for access by the host adapter. The digital data store includes a disk drive, in which data is stored in the form of variable- or fixed-length records. The storage controller identifies one of said data storage sections as constituting a current owner of respective ones of the cache slot, and is responsive to record staging requests to selectively transfer records from the data storage section identified as the owner of said at least one cache slot to said cache slot for caching. In staging records for the current owner, the storage controller may, but need not, over-write records that were previously staged in the cache slot for previous owners.
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.