Data processing system for improved input/output command...

Electrical computers and digital data processing systems: input/ – Input/output data processing – Input/output command process

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C710S020000, C711S112000, C711S156000

Reexamination Certificate

active

06490636

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a data processing system, a device, a secondary storage device, and a recording medium storing a program, and in particular, relates to the scheduling of input and output commands issued in a secondary storage device from the data processing device.
This application is based on Japanese Patent Application No. Hei 10-165542, the contents of which are incorporated herein by reference.
2. Background Art Including Information Disclosed Under 37 CFR 1.97 and 1.98
Data exchange from an initiator comprising a host computer to a target comprising a secondary storage device is conducted by means of I/O (Input/Output) commands. There are I/O command execution methods in the initiator in which, after one I/O command has ended, the next I/O command is issued; however, for example, in the standard called SCSI (Small Computer System Interface)-2, prior to the completion of one I/O command, the next I/O command may be issued.
FIG. 9
shows the format of I/O commands in a first conventional example in the case in which a plurality of I/O commands are made simultaneously issuable. As shown in the figure, each of the I/O commands
801
-
808
incorporate a target number (T_ID), an initiator number (I_ID), a command code, an address, a transmission length, and in addition, tags
809
-
816
, which serve to distinguish the I/O commands.
The tags
809
-
816
within the I/O commands
801
-
808
are attached in the initiator which issues the I/O commands by means of the method shown in the flowchart in FIG.
10
.
When read/write requests are made by application programs on the initiator, then a determination is made in the initiator as to whether there are I/O commands which are to be simultaneously issued with respect to the same target (this indicates that the I/O commands are issued and the execution thereof is not yet completed) (step S
701
).
Here, when a determination has been made that there are I/O commands which are to be simultaneously issued, then the initiator attaches, to an I/O command which is to be issued in response to a read/write request, a tag having a number obtained by adding “1” to the value of the tag of the I/O command which was immediately previously issued with respect to the same target (step S
702
). On the other hand, when a determination has been made that there are no I/O commands which are to be simultaneously issued, a value of “0” is attached to the I/O command to be issued as a tag (step S
703
).
Then, when a tag is attached in this manner, the processing of the flowchart shown in
FIG. 10
is ended, and the initiator creates and issues the I/O commands having the format shown in
FIG. 9
in accordance with the tags attached. Here, when the reading and writing unit of the data in the target is 16 KB, when a 64 KB read request is made by the application program on the initiator, as shown in
FIG. 11
, in the device driver which issues the I/O commands, four 16 KB read I/O commands having the tags “00”-“03” attached thereto are issued.
Further, Japanese Patent Application, First Publication No. Hei 8-272688 discloses a cache memory device which simply stores hierarchical items and cache tags in a single cache array structure.
Furthermore, as a second conventional example, in the case in which a plurality of I/O commands are made simultaneously issuable, the technology disclosed in Japanese Patent Application, First Publication No. Hei 9-190293 is known. In this technology, attention is drawn to the fact that, among the I/O commands issued by the initiator, there are commands having a high degree of urgency and those having a low degree of urgency, and the initiator attaches to each I/O command a “surplus time” which functions as a time gap until the execution of the I/O command which is issued.
Next, in the target in which these I/O commands have been received, a “deadline surplus time (point in time)” obtained by adding the “surplus time” in the I/O command to the present point in time calculated by a timer within the target is calculated, and the I/O commands are issued in order from those having the earliest deadline surplus time.
However, in recent years, structures have been adopted in which the disk devices which serve as the targets of a number of initiators are held in common using interfaces such as Fibre Channels or the like. When such a structure is employed, in the first conventional example described above, even if a series of I/O commands (hereinbelow referred to as an I/O command group) are issued by a single initiator in order to read out a continuous region of a disk, the I/O commands which arrive from a plurality of initiators become confused in the target, and this creates a problem in that wasteful seek operations are generated.
In other words, as shown in
FIG. 12
, when three I/O commands (indicated in the figure by the cross-hatched rectangles, the white rectangles, and the black rectangles) arrive essentially simultaneously at a disk device
1004
which serves as a target from three hosts
1001
-
1003
which serve as initiators via interface
1005
, the I/O commands which arrive are stored in a queue in a form in which the I/O commands arriving from hosts
1001
-
1003
are mixed up, as shown in the lower right of FIG.
12
. In such a case, even if the I/O commands for accessing a continuous region of a disk are issued by hosts
1001
-
1003
, the order of processing thereof in disk device
1004
becomes confused. For this reason, problems are present in that wasteful seek operations are generated, and the execution efficiency of the I/O commands becomes extremely poor.
In order to avoid such problems, the method shown in
FIG. 13
, termed “elevator seeking”, is known. Here, when a head
1105
moving in the direction indicated by the arrow is above a region
1102
of disk
1101
, and a series of I/O commands for accessing the continuous regions
1102
,
1103
, and
1104
arrive in response to a single read/write request in an application program, then the regions
1103
,
1104
, and
1102
on disk
1101
are accessed. Here, when regions
1103
or
1104
are accessed, if a command for accessing a region to the inside of region
1104
arrives, then this region is accessed first, and this is undesirable. Accordingly, a considerable amount of time is required until region
1102
is accessed, and the transmission of the completion of the read/write to the application program becomes significantly delayed.
Furthermore, in the second conventional example described above, even if the same “surplus time” is attached to each I/O command within an I/O command group in the initiator, “deadline surplus times” are attached in the target in accordance with the time at which each I/O command was actually received. For example, even if I/O command groups for accessing respective continuous regions are issued from initiators having the same initiator number, and these are received by the target in the order shown in the upper table of
FIG. 14
, when the “deadline surplus times” are attached as shown in the figure, the target executes the I/O commands in the order shown in the lower table of FIG.
14
. For this reason, the order of access of the regions on the disk becomes confused, wasteful seek operations are generated, and the execution efficiency of the I/O commands becomes extremely poor.
SUMMARY OF THE INVENTION
The present invention was created in order to solve the problems present in the conventional technology described above, and has as an object thereof to provide a data processing system, a device, a secondary storage device, and a recording medium for recording programs which are capable of efficiently executing a plurality of input and output commands.
In order to attain the above object, a data processing system in accordance with a first view of the present invention is provided with a data processing device which issues input and output commands, and a secondary storage device which is connected to the data processing device via signal lines and which conducts

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

Data processing system for improved input/output command... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Data processing system for improved input/output command..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Data processing system for improved input/output command... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2983800

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