Search Images Maps Play YouTube News Gmail Drive More »
Advanced Patent Search | Page images | Web History | Sign in

Patents

  
[blocks in formation]
[merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][graphic][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small]
[blocks in formation]

I

-BYTE 16 "7U
CASE # 3
+ BUS OUT 7

+BUS OUT 6

+ BUS OUT 5

+ BUS OUT 4

+ BUS OUT 0

+ TAG I

♦ LOAD INTERRUPT DURATION REG.

+ SPECIAL INTERRUPT H DURATION REQ.

+ LOAD SECTOR REGISTER

-RECORD READY

+SECTOR INTERRUPT

-BORROW OUTPUT
OF COUNTER

-CLEAR INTERRUPT

LATCH
- INTERRUPT
DURATION CONTROL
LATCH

-RPS RESET

U IT

O PULSE/PER SECTOR

IT

IT

T

U IT

"IT"

[graphic]

APPLICABLE

[blocks in formation]

Fig a

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.

One object of this invention is to provide an option for improving demand performance particularly in an RPS disk drive system. One of the advantages of such an option in an RPS system is the availability of priority control to the computer operator, to the real-time user or to the Supervisor program while minimizing the degradation of data throughput.

A further object of the invention is to provide a simple circuit which when enabled provides long sector processing which when disabled provides normal sector processing according to the RPS technique.

A still further object of the invention is to provide a circuit for implementing an extended duration interrupt so that the period during which a peripheral device appears to be available to an I/O controller is extended thereby increasing the likelihood that the peripheral device will be selected.

It is a further object of the invention to provide means for variably increasing the apparent length of a record window and advancing the queue position of designated priority data. This has the advantage of providing an opportunity for a channel connection without need for recycling the entire track and to override a normal RPS interrupt. In this manner the advance 40 in priority of the selected record negates the effect of contention between blocks of data.

Other objects and advantages will be apparent from the following detailed description.

10

15

20

25

30

35

[blocks in formation]

The invention will be better understood by reference to the following detailed description taken in conjunction with the accompanying drawings in which:

FIG. 1 is a block diagram showing the interconnection of a long sector processor with a computer system;

FIG. 1A is a pictorial block diagram illustrating a rotatable disk format;

FIG. 2 is a diagram illustrating long sector processing according to the invention;

FIG. 2A is a table illustrating the order of data block processing according to the invention of the data blocks of FIG. 2;

FIG. 3 illustrates the arrangement of FIGS. 3A and 3B;

FIGS. 3A and 3B together are a detailed block diagram of a circuitry for a long sector processor;

FIG. 4 is a waveform diagram of a first mode of circuit operation;

FIG. 5 is a waveform diagram of a second mode of 65 circuit operation; and

FIG. 6 is a waveform diagram of a third mode of circuit operation.

50

55

60

4

DETAILED DESCRIPTION OF THE
PREFERRED EMBODIMENTS

According to the invention, Long Sector Processing (LSP) advances the apparent real-time queue position of a data block. An LSP circuit 10 operates in a Control Unit Device Interface (CUDI) environment with a microprocessor based system control unit (SCU) 12. The SCU 12 supervises a disk drive such as the Model 7350 Disk Storage Drive developed by ISS SperryUnivac of Cupertino, California and cooperates with the LSP circuit 10 to implement selected data block priority servicing. Long Sector Processing is useful in any multiplexed data access environment where data locations are accessible serially. However, for simplicity, the description herein is limited to applications in connection with a Rotational Position Sensing (RSP) disk drive environment. In the disk drive environment of FIG. 1, the SCU 12 interfaces a computer mainframe or central processing unit (CPU) 14 via data and control buses 16 and 18 with a plurality of disk drives 20 (numbered 0 through 7). A common signal bus 22 connects all drives 20 to the SCU 12. The LSP circuit 10 is incorporated into each disk drive 20. The SCU 12 is provided with instruction capability for communicating with each LSP circuit-equipped disk drive 20. The capability may comprise circuitry or microcode internal to the SCU 12. Each drive 20 is connected through dedicated read/write cables 24 to SCU 12. In the computer data storage system herein described, the data is serially arranged in time-referenced units (herein called sectors) on tracks of a storage medium. At least two independently operating mass storage devices are coupled to a common controller.

In a disk operating system, each disk drive 20 is designed to read data into and write data off of rotating disks 24 (FIG. 1A), the data being arranged in periodic tracks 26 figuratively illustrated on upper and lower surfaces of a parallel stack of disks 24 sharing a common spindle 28. The collection of tracks of a disk stack is referred to as a cylinder, a cylinder being defined relative to a set of vertically aligned read/write heads 30 positioned over a selected track 26 on all disk surfaces. The manner in which the tracks 26 of the same disk are distinguished from one another is not important to this invention.

Each track 26 (or cylinder) is subdivided into a plurality of sectors 32. In FIG. 2 a diagram of track 26 (or cylinder) of all disk drives 20 is illustrated as they might be in relation to one another at a selected window in time. In a typical architecture 27=128 equally spaced sectors are provided in each track 26. For simplicity, only 24= 16 sectors are shown in FIG. 2.

Each sector 32 is referenced by its relation in terms of the number of clock units (or sector counter units) to a fixed physical location on the track 26 called an "index" 34 (shown figuratively in FIGS. 1 and 2). Blocks of data, called data records 36, are stored in the serially arranged sector 32, the locations of which are defined as a "relative displacement" with reference to the index 34 of each disk drive. For convenience, data records 36 may be labeled sequentially Xoto X15. Each data record may require one or more sectors 32 of sequential storage space of one track (or cylinder) 26. The data records 36 cyclically pass the read/write head 30 of each disk drive as the disk 24 spins. Therefore, data records are available for access only during short periods or windows of time. The location of the read/write head

« PreviousContinue »