METHOD AND APPARATUS FOR WEIGHTING
THE PRIORITY OF ACCESS TO VARIABLE LENGTH DATA BLOCKS IN A MULTIPLE-DISK DRIVE DATA STORAGE SYSTEM HAVING AN AUXILIARY PROCESSING DEVICE
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to a technique for improving the input/output (I/O) rate of serial digital data transfer, for example, for accessing data stored in periodic tracks of a plurality of asynchronous mass storage devices such as rotating disk drives in a computer system.
In large scale computer systems, there are generally two types of data processing tasks to be serviced, namely demand-oriented real time tasks and batch tasks. In many large scale systmes, the principal limitation on efficient computer usage is data input to and output from the central processing unit (CPU). For example, the ratio of average I/O access time to CPU memory access time can be as large as 500,000 to 1 for the most rapid mechanically accessed mass storage devices such as disk drives.
There is a basic conflict between fast response for real time systems, such as time-shared terminals, and maximum throughput. For maximum throughput, the first available data block must always be accessed, which may delay demand-oriented tasks. Moreover, there may be a conflict between the priority of a task and the length of time required to perform the task.
In a partial effort to solve the conflict problem, a master control program associated with the CPU called a Supervisor or an Executive program manages the tasks according to priorities, queuing instructions, issuing commands and responding to and interrupting requests for service in order to assure that all tasks are carried to completion.
However, CPU-generated priorities generally do not take into account the possibility of near instantaneous availability of data on peripheral I/O devices in a multiplexed (multiple channel) I/O system, since the devices do not maintain synchronism with the CPU. The result is waste of valuable CPU time while the CPU waits for the availability of a data storage position in a peripheral storage device.
2. Description of the Prior Art
In an effort to improve throughput and to avoid wasting CPU time, a portion of decision-making related to availability of an I/O device, and particularly related to identification of a data storage position on particular peripheral storage devices such as a disk drive, has been delegated to a peripheral I/O controller. One such system is described in U.S. Pat. No. 3,544,966. In such a multiplexing controller, a peripheral control unit periodically monitors the status of each associated I/O device and serves as an intelligent switch to connect and disconnect the I/O devices to a data communication channel coupled to the CPU. The controller polls the peripheral devices about availability and renders the decisions to connect and disconnect a peripheral device lo the data channel.
A well known technique for effecting delegated availability decisions for disk drive controllers is Rotational Position Sensing (RPS). The operation of an RPS system is described in the IBM 3830/3330 Reference Manual, published by IBM Corporation, San Jose, California. Examples of commercially available RPS sys
2
terns are the IBM Model 3330 disk drive with the RPS-
based IBM Model 3830 controller and the ISS/Sperry
Univac Model 7330 disk drive and 7830 controller,
in the RPS technique, the position of a periodically
5 accessible interval, called a sector, on a rotating track of a disk is sensed relative to a track or disk index position, which is a fixed location on the moving disk. The relative positions of data records can be calculated by reference to sector position on rotating disks. The disk drive
10 presenting the first-available sector containing requested data is electrically coupled by the controller through a channel to the CPU to effect data transfer. Upon completion, the controller releases control of the CPU channel and the disk. Thereafter, the rotational
15 position of each disk drive is again polled, and the disk drive having the next first available data segment is then connected to the CPU data channel until the completion of data transfer. The RPS technique produces excellent throughput. Unfortunately, realtime requests
^° receive no preference, so demand performance is relatively poor.
In a conventional multiplex-type data access system, one or more blocks of data may be available to the
2j controller for access during a selected interval or window of time. The condition of overlap of windows is known as contention. In the prior art RPS technique the problem of contention has not been specifically addressed and has normally been handled by the periph
Jq eral controller unilaterally acting to select a particular disk drive. For example, the peripheral controller has generally selected the lowest numbered drive or the next higher drive after the last drive serviced. Thus, no preference has been given for priority of data types
3 j among stored data.
Moreover under the RPS system, control connection is maintained or otherwise reserved to the particular disk drive until the data channel becomes free and data transfer has been completed. As a consequence, slightly
40 later beginning data blocks must await a complete recycling of the rotation period and possible interruptions by other disk drives before control can again be established to the drive on which is stored the later beginning data block. This delay can cause considerable interrup
45 tion to demand-oriented processing such as time-shared terminal operations. Such delays are both costly and undesirable.
Therefore, a new technique is needed which provides for effective priority servicing of real time requests in
50 lieu of a batch request where there is insufficient time to complete a batch request prior to servicing a real time request. Moreover, a computer peripheral control system is needed which minimizes the amount of CPU time wasted in waiting for the availability of a data I/O
55 device.
SUMMARY OF THE INVENTION
According to the invention, CPU-generated priorities are weighted in a rotational position sensing (RPS)
60 input/output (I/O) system by advancing the apparent initial location of the data block thereby improving queue position and by increasing the duration of an interrupt signal indicating availability of a data block on a track of a mass storage device such as a disk drive. A
65 special pre-data-transfer instruction indicates to a disk drive the duration of the interrupt signal for each prioritized data block. A circuit is disclosed which receives a digital command, issues an interrupt and extinguishes
the interrupt at the end of the extended interrupt duration. The circuit permits the selection of interrupt durations of variable length. The circuit comprises a storage register for receiving a four-bit instruction set corresponding to the desired duration of the interrupt, a down counter for decrementing for the duration of the interrupt, and an interrupt duration control latch for holding and extinguishing the interrupt. The circuit is deactivated and bypassed except upon issuance of a separate single bit enable command from the I/O controller so that conventional RPS interrupt operations can be performed. The circuit implements what is called "long sector" processing of data. Deactivation of the circuit produces "normal sector" processing according to the known RPS technique.