Method and apparatus for managing access requests from a...

Electrical computers and digital processing systems: memory – Storage accessing and control – Shared memory area

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C711S151000, C711S152000, C710S039000, C710S054000, C710S112000

Reexamination Certificate

active

06321308

ABSTRACT:

BACKGROUND OF THE INVENTION
This invention relates generally to storage systems associated with computer systems and more particularly to providing a method and apparatus for improving performance of data transactions associated with several devices connected via a bus or network.
As it is known in the art, computer systems generally include a central processing unit, a memory subsystem and a storage subsystem. According to a networked or enterprise model of a computer system, the storage subsystem associated with or in addition to a local computer system may include a large number of independent storage devices or disks housed in a single enclosure. This array of storage devices is typically connected to several computers over a network. Such a model allows for the centralization of data which is to be shared among many users and also allows a single point of maintenance for the storage functions associated with computer systems.
One type of storage subsystem known in the art is one which includes a number of redundant disk storage devices configured as an array. Such a system is typically known as a RAID storage system. One of the advantages of a RAID type storage system is that it provides a massive amount of storage (typically in the tens to hundreds of gigabytes range) and, depending upon the RAID configuration, may provide several differing levels of fault tolerance.
In addition to the fault tolerance associated with a single storage system, additional steps may be taken to ensure that a storage system provides uninterrupted service. One method of achieving this level of system availability is to provide a so called “remote data facility”. A remote data facility is, at a basic level, a second storage system. The second storage system is usually placed in a remote location and maintains a mirror image of the data stored within the local storage system. The remote data facility solution generally requires additional components be added to both the local and remote storage system to handle the data transfers therebetween.
One of the challenges of providing a remote data facility involves servicing the data transfer requests from the various host computer systems connected to the local storage system while transferring data to the remote storage system. Servicing the transfer of data from the local to the remote system may be accomplished through the use of a queue structure.
To be effective, the queue structure should always be in a valid state. That is, the queue should conform to all restrictions placed on it by the storage system. Some example of restrictions are: two host requests for the same device must not be in the queue at the same time; there may not be a copy request and a host request to the same (disk) track at the same time in the queue; a record in the queue for a remote data transfer must be locked while serviced; two records containing requests to the same device may not be locked at the same time.
The storage system places two conflicting demands on the queue. The first demand is that the queue always be in a valid state. That is, the queue must, at any given time, conform to the restrictions placed on it by the storage system. The second demand placed on the queue is one of performance. The queue must be cheap (in terms of cycle time) to access. Thus the queue must be easy to manipulate and service. In addition, the queue should allow for the highest possible degree of parallelism among the various servicing devices in order to maximize throughput between the local and remote storage system. It can be seen that the lock restrictions and the speed requirements described above are generally incompatible. It would be advantageous therefore to provide a queuing scheme which allows for a high degree of parallelism while maintaining validity of the storage system.
SUMMARY OF THE INVENTION
In accordance with the present invention, a storage management method is provided which employs a task queue accessible by all requesting and servicing controllers. The task queue may be a doubly linked list and is operable such that records may be added and deleted by the requesting controllers while requests already stored in the queue are being serviced by the servicing controllers. To maintain validity of the queue, certain constraints are placed on how records are added, deleted, and serviced. The constraints are enabled using two levels of queue locking. The first level of lock is used to lock the entire queue. This lock is only recognized by the requesting controllers when adding records and by the servicing controllers when deleting records. As such, only one controller may hold the queue lock and add or delete a record at a particular time. The queue lock is not recognized by the servicing controllers while looking for tasks to service. Thus, while records are being added to and deleted from the queue, a servicing controller may be scanning the queue looking for tasks. In addition to the queue lock, a further constraint is placed on the requesting controllers. Two similar requesting controllers (e.g. host controllers) may not each have a request to the same shared resource in the queue at the same time. Thus, requesting controllers are required to search the queue before adding their requests.
The second level lock is a record lock. The record lock is recognized by the servicing controllers and is used to prevent two requests to the same shared resource from being serviced at the same time. Thus, before performing a task from the queue, a servicing controller will first determine if the record is locked. If the record is locked, the controller moves on to the next record in the queue. In addition, the servicing controller keeps track of all locked records. That is, the shared resource associated with the locked record is recorded. When the servicing controller finds an unlocked record, it compares the resource information associated with the unlocked record to the stored information. If there is a match, indicating that the resource is associated with another locked record, the servicing controller will move on to the next record. This procedure continues until a serviceable record is found or the queue is exhausted. With such an arrangement, management services are provided which are both efficient and valid. The system is efficient due to the minimal locking of shared resources. In addition, if the additions and deletions are performed according to the constraints, it is possible to achieve simultaneous, unrestricted scans of the queue thus improving overall system performance.


REFERENCES:
patent: 4807111 (1989-02-01), Cohen et al.
patent: 5327557 (1994-07-01), Emmond
patent: 5339427 (1994-08-01), Elko et al.
patent: 5678026 (1997-10-01), Vartti et al.
patent: 5682537 (1997-10-01), Davies et al.
Lang et al.—IBM Technical Disclosure Bulletin, Processor to Processor Communication with Nonmandatory Response, vol. 17, No. 2, Jul. 1974.*
IBM Technical Disclosure Bulletin, Serialization Reduction in X-Memory Communications, vol. 36, No. 09B, Sep. 1993.*
Conroy, IBM Technical Disclosure Bulletin, “Hardware/Microcode Suppor of Queuing”, vol. 24, No. 6, Sep. 1981.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and apparatus for managing access requests from a... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and apparatus for managing access requests from a..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for managing access requests from a... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2578854

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.