JP2541512B2 - Disk controller - Google Patents
Disk controllerInfo
- Publication number
- JP2541512B2 JP2541512B2 JP6316838A JP31683894A JP2541512B2 JP 2541512 B2 JP2541512 B2 JP 2541512B2 JP 6316838 A JP6316838 A JP 6316838A JP 31683894 A JP31683894 A JP 31683894A JP 2541512 B2 JP2541512 B2 JP 2541512B2
- Authority
- JP
- Japan
- Prior art keywords
- director
- order
- host
- inter
- directors
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 claims description 35
- 238000000034 method Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 238000007616 round robin method Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【0001】[0001]
【産業上の利用分野】本発明は、ディスク制御装置に係
り、とくにコンピュータネットワークに好適なディスク
制御装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a disk controller, and more particularly to a disk controller suitable for computer networks.
【0002】[0002]
【従来の技術】近年、LAN(Local Area
Network)等のようにコンピュータのネットワー
ク化が進み、データの共有化や有効利用の目的から大容
量のディスク装置をネットワーク内に備えることが一般
的となってきている。2. Description of the Related Art In recent years, LAN (Local Area)
Networking of computers such as Network) is progressing, and it is becoming common to provide a large-capacity disk device in the network for the purpose of data sharing and effective use.
【0003】そこで、各コンピュータ(ホスト)からの
I/O処理(書き込み処理や読み出し処理)を効率よく
実行するためのディスク制御装置が重要になってくる。Therefore, a disk controller for efficiently executing I / O processing (writing processing and reading processing) from each computer (host) becomes important.
【0004】従来のディスク制御装置は、図5に示され
るように、複数のホストとの通信を制御する複数のホス
トインターフェイス60と、ホストからのI/O処理要
求を受け取った時刻を計測するための共有タイマ54
と、ホストインターフェイス番号と到着時刻とを到着順
に記憶している共有メモリ52と、ホストインターフェ
イス60を介して受信したI/O処理要求の到着時刻を
共有タイマ54にて検出し共有メモリ52に記憶すると
ともに共有メモリ52の記憶内容53に基づいてディス
ク装置66に対しI/O処理を実行する複数のディレク
タ51A,51B,51C,51Dとを具備している。As shown in FIG. 5, the conventional disk control device measures a plurality of host interfaces 60 for controlling communication with a plurality of hosts and a time when an I / O processing request from the host is received. Shared timer 54
And a shared memory 52 that stores the host interface number and the arrival time in the order of arrival, and the arrival time of the I / O processing request received via the host interface 60 is detected by the shared timer 54 and stored in the shared memory 52. In addition, a plurality of directors 51A, 51B, 51C and 51D for executing I / O processing to the disk device 66 based on the stored contents 53 of the shared memory 52 are provided.
【0005】次に、上記従来例の動作について説明す
る。Next, the operation of the above conventional example will be described.
【0006】(1).ディレクタ51Aは、ホストイン
ターフェイス60を介してホストからのI/O処理要求
を受信すると、ディスク装置66が使用中であるか否か
をチェックする。(1). When the director 51A receives an I / O processing request from the host via the host interface 60, the director 51A checks whether the disk device 66 is in use.
【0007】(2).ディスク装置66が使用中でない
ことを確認すると、第1のディレクタ51Aは、ディス
ク装置66に対しI/O処理を実行する。(2). When confirming that the disk device 66 is not in use, the first director 51A executes an I / O process for the disk device 66.
【0008】(3).ここで、第2のディレクタ51B
が、ホストインターフェイス60を介してI/O処理要
求を受信すると、ディスク装置66は使用中であるた
め、第2のディレクタ51Bは、I/O処理要求の到着
時刻を共有タイマ54にて検出するとともに当該ホスト
インターフェイス番号を共有メモリ52に記憶する。(3). Here, the second director 51B
However, when the I / O processing request is received via the host interface 60, the second director 51B detects the arrival time of the I / O processing request with the shared timer 54 because the disk device 66 is in use. At the same time, the host interface number is stored in the shared memory 52.
【0009】(4).第1のディレクタ51Aは、I/
O処理が終了すると、共有メモリ52に記憶されている
待機中のI/O処理要求の中で、到着時刻の最も古いI
/O処理要求を検索し、そのディレクタ(ここでは第2
のディレクタ51B)に制御を移す。(4). The first director 51A is
When the O processing is completed, the I / O processing request stored in the shared memory 52 and having the earliest arrival time is waiting for the I / O processing request.
I / O processing request and search for the director (here, the second
Control to the director 51B).
【0010】(5).第2のディレクタ51Bは、ディ
スク装置66に対し待機中のI/O処理を実行する。(5). The second director 51B executes the standby I / O processing for the disk device 66.
【0011】[0011]
【発明が解決しようとする課題】しかしながら、上記従
来例においては、待機中のI/O処理要求を受け取った
ホストインターフェイス番号と到着時刻を1組の待機情
報として共有メモリに記憶しているために、少なくとも
「接続されているホスト数−1」組の大きな記憶領域を
共有メモリに確保しておかなければならず、しかも待機
情報の共有メモリへの書き込み処理により制御装置の負
荷が増加するという不都合があった。However, in the above-mentioned conventional example, the host interface number and the arrival time at which the waiting I / O processing request is received are stored in the shared memory as one set of waiting information. The inconvenience that a large storage area of at least "the number of connected hosts-1" sets must be secured in the shared memory, and the load of the control device increases due to the writing process of the standby information to the shared memory. was there.
【0012】また、待機中のI/O処理から次に実行す
るI/O処理を決めるときには、共有メモリに記憶され
ている全ての待機情報を比較しなければならず、しかも
決定したI/O処理の待機情報を共有メモリから削除し
なければならないため、次のI/O処理を実行するまで
の処理時間が長いという問題点があった。Further, when deciding the I / O processing to be executed next from the waiting I / O processing, all the waiting information stored in the shared memory must be compared, and the decided I / O Since the standby information for the process must be deleted from the shared memory, there is a problem that the processing time until the next I / O process is executed is long.
【0013】[0013]
【発明の目的】本発明の目的は、かかる従来例の有する
不都合を改善し、特にI/O処理要求が競合した場合で
も待ち時間が短いディスク制御装置を提供することにあ
る。SUMMARY OF THE INVENTION It is an object of the present invention to provide a disk controller which improves the disadvantages of the prior art and has a short waiting time even when I / O processing requests compete.
【0014】[0014]
【課題を解決するための手段】そこで、本発明では、複
数のホストからのI/O要求を制御してディスク装置と
のI/O処理を実行する複数のディレクタと、これら複
数のディレクタに共有される共有メモリとを備えると共
に、複数のディレクタが、他のディレクタによってディ
スク装置のI/O処理が行われている占有状態にあると
きはホストからのI/O処理を待機させる排他制御手段
をそれぞれ備えている。Therefore, according to the present invention, a plurality of directors that control I / O requests from a plurality of hosts to execute I / O processing with a disk device, and a plurality of directors shared by these directors. And an exclusive control means for waiting for I / O processing from the host when a plurality of directors are in an occupied state in which I / O processing of the disk device is being performed by other directors. Each has.
【0015】しかも、複数のディレクタが、ホストから
のI/O要求を受けたときにディスク装置が占有状態に
ある場合には共有メモリに他のディレクタに対する自デ
ィレクタの順序をディレクタ間順序テーブルとして格納
するディレクタ間順序制御手段を備え、この複数のディ
レクタ間順序制御手段が、排他制御手段によって占有状
態を解除されたときにディレクタ間順序テーブルにより
最も待機時間が長いとされるディレクタを選択して当該
ディレクタにディスク操作権を引き渡す機能を備えた、
という構成を採っている。これによって前述した目的を
達成しようとするものである。Moreover, when a plurality of directors receive the I / O request from the host and the disk device is occupied, the order of the directors of the other directors is stored in the shared memory as an inter-director order table. Inter-director sequence control means for selecting the director whose standby time is the longest by the inter-director sequence table when the exclusive state is released by the exclusive control means. With the function to hand over the disk operation right to the director,
The configuration is adopted. This aims to achieve the above-mentioned object.
【0016】[0016]
【作用】ディスク制御装置の動作中、ディレクタは、そ
れぞれ複数のホストからのI/O要求によりディスク装
置とのI/O処理を実行する。このとき、排他制御手段
は、他のディレクタによってディスク装置のI/O処理
が行われている占有状態にあるときはホストからのI/
O処理を待機させる。このディレクタはそれぞれ独立し
て動作するため、各ディレクタ間の通信には複数のディ
レクタに共有される共有メモリが用いられている。During operation of the disk controller, the director executes I / O processing with the disk device in response to I / O requests from a plurality of hosts. At this time, the exclusive control means receives the I / O from the host when in the occupied state where the I / O processing of the disk device is being performed by another director.
Wait for O treatment. Since the directors operate independently, a shared memory shared by a plurality of directors is used for communication between the directors.
【0017】ディレクタ間順序制御手段は、ホストから
のI/O要求を受けたときにディスク装置が占有状態に
ある場合には共有メモリに他のディレクタに対する自デ
ィレクタの順序をディレクタ間順序テーブルとして格納
する。これは、当該I/O要求はディスク装置にとって
最先の要求であるため、すでに待機中である他のディレ
クタに対しては当該I/O要求を受けたディレクタの順
位は一番後となるようにしている。従って、自ディレク
タの順序を他のディレクタに対して一番最後となるよう
にディレクタ間順序テーブルを更新している。The inter-director order control means stores the order of its own director with respect to other directors in the shared memory as the inter-director order table when the disk device is occupied when the I / O request from the host is received. To do. This is because the I / O request is the earliest request for the disk device, so that the director who has received the I / O request is ranked last for other directors that are already waiting. I have to. Therefore, the inter-director order table is updated so that the order of its own director is the last with respect to other directors.
【0018】さらに、ディレクタ間順序制御手段は、排
他制御手段によって占有状態を解除されたときにディレ
クタ間順序テーブルにより最も待機時間が長いとされる
ディレクタを選択して当該ディレクタにディスク操作権
を引き渡す。Further, the inter-director order control means selects the director whose waiting time is the longest by the inter-director order table when the exclusive state is released by the exclusive control means, and transfers the disk operation right to the director. .
【0019】[0019]
【発明の実施例】以下、本発明の一実施例を図1ないし
図4に基づいて説明する。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to FIGS.
【0020】図1は本実施例によるディスク制御装置の
構成を示すブロック図である。ディスク制御装置10
は、複数のホスト20,21…からのI/O要求により
ディスク装置26とのI/O処理を実行する複数のディ
レクタ1A,1B,1C,1Dと、これら複数のディレ
クタ1に共有される共有メモリ4とを備えると共に、デ
ィレクタ1Aが、他のディレクタ1Bによってディスク
装置26のI/O処理が行われている占有状態にあると
きはホスト20AからのI/O処理を待機させる排他制
御手段2Aを備えている。この排他制御手段2A,2
B,2C,2Dは、例えばホスト21AからのI/O処
理中でディスク装置26を占有している場合には、他の
ディレクタ1B,1C,1Dにホスト21B,21C等
からのI/O要求があったとしても待機させるよう制御
する。FIG. 1 is a block diagram showing the configuration of a disk control device according to this embodiment. Disk controller 10
Are shared by the plurality of directors 1A, 1B, 1C, 1D that execute I / O processing with the disk device 26 in response to I / O requests from the plurality of hosts 20, 21 ... An exclusive control unit 2A that includes a memory 4 and that causes the director 1A to wait for I / O processing from the host 20A when the director 1A is in an occupied state in which I / O processing of the disk device 26 is being performed. Is equipped with. This exclusive control means 2A, 2
B, 2C, 2D, for example, when the disk device 26 is occupied during the I / O processing from the host 21A, I / O requests from the other hosts 21B, 21C, etc. to the other directors 1B, 1C, 1D. Even if there is, it is controlled to wait.
【0021】さらに、ディレクタ1Aが、ホスト20A
からのI/O要求を受けたときにディスク装置26が占
有状態にある場合には共有メモリ4に他のディレクタ1
B,1C,1Dに対する自ディレクタ1Aの順序をディ
レクタ間順序テーブル5として格納するディレクタ間順
序制御手段3Aを備えている。Further, the director 1A is the host 20A.
If the disk device 26 is occupied when the I / O request is received from the other director 1 in the shared memory 4.
The inter-director order control means 3A for storing the order of the own director 1A for B, 1C and 1D as the inter-director order table 5 is provided.
【0022】ディレクタ間順序制御手段3Aは、共有メ
モリ4から読み出したディレクタ間順序テーブル5に他
の全てのディレクタ1B,1C,1Dに対して自ディレ
クタ1AのI/O処理開始の優先順序が低い関係にある
として当該ディレクタ間順序テーブル5を更新する機能
を備えている。即ち、ディレクタ間順序制御手段3A,
3B,3C,3Dは、ホスト20,21…からのI/O
要求があったときに他のディレクタ1がディスク装置2
6を占有しているときには、共有メモリ4からディレク
タ間順序テーブル5を読み出して自ディレクタの順序を
最後尾に設定して当該ディレクタ間順序テーブル5を更
新する。The inter-director order control means 3A has a low priority order for starting the I / O processing of its own director 1A with respect to all other directors 1B, 1C and 1D in the inter-director order table 5 read from the shared memory 4. It has a function of updating the inter-director order table 5 as having a relationship. That is, the director order control means 3A,
3B, 3C and 3D are I / Os from the hosts 20, 21 ...
When a request is made, the other director 1 drives the disk device 2
When it occupies 6, the inter-director order table 5 is read from the shared memory 4, the own director is set to the end, and the inter-director order table 5 is updated.
【0023】この複数のディレクタ間順序制御手段3
A,3B,3C,3Dが、ディレクタ1Bがホスト21
BについてのI/O処理の終了後に排他制御手段2Bに
よって占有状態を解除されたときに、ディレクタ間順序
テーブル5に基づいて最も待機時間が長いとされるディ
レクタ1Aを選択して当該ディレクタ1Aにディスク操
作権を引き渡す機能を備えている。Sequence control means 3 between the plurality of directors
A, 3B, 3C, 3D, director 1B is host 21
When the exclusive state is released by the exclusive control means 2B after the I / O processing for B is completed, the director 1A, which has the longest waiting time, is selected based on the inter-director order table 5, and the director 1A is selected. It is equipped with a function to hand over the disk operation right.
【0024】図2はディレクタ間の順序関係を示す説明
図である。ここでは、第1のノードAから第4のノード
DまでA〜Dを備えている。AとBとではAが優先する
場合に図示するような矢印aで表すこととする。AがB
に対して優先するため、AとB共に待機中のI/O要求
がある場合にはAのI/O要求を先に処理することとな
る。図示する例では、Aに矢印a,c,dが集まってい
るためAは他のノード全てに対して優先する。次いで、
Bには矢印d,eが集まっていてAとBとではAが優先
するため、Aの次にBが優先する。Cには矢印fが向か
っているため、Bの次にCが優先する。このように、先
に処理されるノードから順に並べると、A,B,C,D
の順序関係となる。FIG. 2 is an explanatory view showing the order relation between the directors. Here, A to D are provided from the first node A to the fourth node D. A and B are represented by an arrow a as shown when A has priority. A is B
Since there is an I / O request waiting for both A and B, the I / O request of A is processed first. In the illustrated example, since arrows a, c, and d are gathered in A, A has priority over all other nodes. Then
Since arrows d and e are gathered in B and A is prioritized between A and B, B is prioritized after A. Since arrow f is heading to C, C has priority over B. In this way, when the nodes to be processed are arranged in order, A, B, C, D
It becomes the order relation.
【0025】本実施例では、この図2に示した順序関係
を初期設定として、当該矢印の向きを「1」で表現す
る。この初期設定の矢印の向きとは逆向きに順序関係が
ある場合には「0」で表現する。例えば、AとBとでは
Bが優先する場合、矢印aは「0」となる。BとCとで
はBが優先する場合には初期設定と同様の順序関係であ
るため矢印dは「1」となる。In this embodiment, the direction of the arrow is represented by "1" with the order relation shown in FIG. 2 as an initial setting. If there is an order relation opposite to the direction of the arrow of this initial setting, it is expressed by "0". For example, in the case of A and B, when B has priority, the arrow a becomes “0”. In the case of B and C, when B has priority, the arrow d is “1” because it has the same order relationship as in the initial setting.
【0026】このように、ディレクタをノードとする
と、全てのディレクタ1について他のディレクタ1との
順序関係を2[ビット]で表現することができる。その
ため、ディレクタの数をNとすると、N(N−1)/2
[ビット]のビットパターンテーブルでディレクタ間順
序テーブル5を形成することができる。As described above, when the director is a node, the order relation of all directors 1 with other directors 1 can be expressed by 2 [bits]. Therefore, if the number of directors is N, then N (N-1) / 2
The inter-director order table 5 can be formed by the bit pattern table of [bit].
【0027】図3はディレクタ間の順序とそれに対応す
るビットパターンデータを示す図表である。図2に示し
たように、ディレクタA〜DがA,B,C,Dの順序で
ディスク操作権を得るとすると、矢印a〜fは「111
111」となる。この時にディレクタ(ノード)AにI
/Oが発生すると、ディレクタAは他のディレクタB,
C,DによるI/Oが実行されていないことを確認し
て、I/O処理を実行する。I/Oは待機状態にならな
いので、ビットテーブルは変化しない。FIG. 3 is a chart showing the order between directors and the bit pattern data corresponding thereto. As shown in FIG. 2, assuming that the directors A to D obtain the disk operation right in the order of A, B, C, and D, the arrows a to f indicate “111”.
111 ". At this time, I
/ O occurs, director A
The I / O processing is executed after confirming that the C / D I / O is not executed. Since the I / O is not in the standby state, the bit table does not change.
【0028】次に、ディレクタBにI/Oが発生する
と、ディレクタAのI/O処理中であるため、このI/
Oを待機する。他のディレクタAによりディスク装置2
6が占有状態にあるため、ディレクタBは他のディレク
タA,C,Dに対する自ディレクタBの順序関係a,
d,eをディレクタ間順序テーブル5に記録する。この
とき、ディレクタBは、自ディレクタBのI/O処理開
始の優先順序が他のディレクタA,C,D対して低い関
係にあるとしてディレクタ間順序テーブルを更新する。
即ち、自ディレクタBの順序関係a,d,eを「1,
0,0」として他のディレクタでのI/O処理を優先す
るよう制御する。Next, when an I / O is generated in the director B, this I / O is being processed by the director A.
Wait for O. Disk device 2 by another director A
Since director 6 is occupied, director B has an order relation a, of its own director B with respect to the other directors A, C and D.
Record d and e in the director order table 5. At this time, the director B updates the inter-director order table on the assumption that the priority order of the I / O processing start of the own director B is lower than the other directors A, C, and D.
That is, the order relation a, d, e of the director B is set to "1,
It is controlled to give priority to I / O processing in other directors as "0, 0".
【0029】ディレクタBに対しAが優先するのは初期
設定と変わらないためディレクタ間順序aは「1」とな
り、ディレクタBに対しCが優先するのは初期設定とは
逆向きであるためディレクタ間順序dは「0」となり、
同様にディレクタ間順序eも「0」となる。これは、当
該ディレクタBのI/O要求発生が最新のものであるた
め、他のディレクタがすでにI/Oを待機している場合
その後を自らの順番とするものである。また、ディレク
タBは、ディレクタBと他のディレクタA,C,Dとの
順序関係を更新するのであって、自らとは関係の無い例
えばA−C間などの優先順位は変更しない。また、ここ
では、他のディレクタがI/O実行中であるか否かにか
かわらず処理している。Since the priority of A over director B is the same as the initial setting, the order a between directors is "1", and the priority of C over director B is the opposite direction from the initial setting, so The order d becomes "0",
Similarly, the order e between directors is also "0". This is because, since the I / O request generation of the director B is the latest, when another director is already waiting for I / O, the subsequent sequence is taken as its own order. Further, the director B updates the order relation between the director B and the other directors A, C, and D, and does not change the priority order such as A-C, which has no relation with itself. Further, here, processing is performed regardless of whether or not another director is executing I / O.
【0030】ディレクタBが矢印a,d,eを「1,
0,0」として更新したため、ディレクタ間順序テーブ
ルは「111001」となり、この時のディレクタ間の
順序は優先順位の高い順から順に「A,C,D,B」と
なる(図3)。このように、最新のI/O要求を受けた
ディレクタは自ディレクタの順序を最後尾にするよう制
御している。The director B changes the arrows a, d and e to "1,
Since it has been updated as "0, 0", the director order table becomes "111001", and the director order at this time becomes "A, C, D, B" in descending order of priority (FIG. 3). In this way, the director that has received the latest I / O request controls the order of its own director to be the last.
【0031】次いで、ディレクタAがI/O実行中で、
ディレクタBがI/O待機中に、ディレクタCにI/O
が発生した場合には、ディレクタCは次の処理を行う。
ディレクタCは、他のディレクタに対して自からの順序
が最後尾になるようにディレクタ間順序テーブルを更新
する。即ち、図2に示す矢印ではb,d,fを「1,
1,0」に変更して直前にディレクタBによって更新さ
れた「111001」を「111100」に変更する。
すると、このビットパターンでは「ADBC」の順序と
なる。Next, the director A is executing I / O,
I / O to director C while director B is waiting for I / O
When occurs, the director C performs the following processing.
The director C updates the inter-director order table so that the other directors are in the last order from themselves. That is, in the arrows shown in FIG. 2, b, d, and f are changed to "1,
"111001" is changed from "111001" which was updated by the director B immediately before the change to "1,0".
Then, in this bit pattern, the order is “ADBC”.
【0032】このように、I/O要求が先に発生したデ
ィレクタBに対して後に発生したディレクタCよりも先
にディスク操作権を与えている。In this way, the disk operation right is given to the director B, which has generated the I / O request earlier, than to the director C, which has generated the I / O request.
【0033】図4はディレクタ1Aの詳細構成を示すブ
ロック図である。ディレクタ1Aは、複数のホスト20
のI/O要求の受け付け順序からホスト間順序テーブル
8Aを生成するホスト間順序制御手段6Aと、当該ホス
ト間順序テーブル8Aを記憶するディレクタ内部メモリ
7Aとを備えている。さらに、ホスト間順序制御手段6
Aが、同一ディレクタ1A内での一のホスト20Aから
のI/O要求が待機中であるときに他のホスト21Aか
らのI/O要求があったときにはディレクタ間順序制御
手段3Aに対してディレクタ間順序テーブル5の更新を
禁止する機能を備えている。FIG. 4 is a block diagram showing the detailed structure of the director 1A. Director 1A uses multiple hosts 20
The host-to-host order control means 6A for generating the host-to-host order table 8A from the I / O request reception order and the director internal memory 7A for storing the host-to-host order table 8A. Further, the host-to-host sequence control means 6
When A is waiting for an I / O request from one host 20A in the same director 1A and there is an I / O request from another host 21A, the director directs the inter-director sequence control means 3A. It has a function of prohibiting the update of the inter-sequence table 5.
【0034】本実施例では、1つのディスク装置26に
対して4つのディレクタ1A,1B,1C,1Dが接続
されている。1つのディレクタ1には、4つのホストイ
ンタフェースを介して4つのホスト20,21,22,
23が接続されている。In this embodiment, four directors 1A, 1B, 1C and 1D are connected to one disk device 26. One director 1 has four hosts 20, 21, 22, 22 via four host interfaces.
23 is connected.
【0035】ここでは、ホスト間順序テーブル8は図2
及び図3に示したビットパターンによって形成してい
る。Here, the inter-host sequence table 8 is shown in FIG.
And the bit pattern shown in FIG.
【0036】図3に示した例を再度説明する。図3に示
すように、まず初期設定はビットパターンが「1111
11」でディレクタ間順序はABCDの順である。次い
で、図1に示すホストインタフェース20AからのI/
O要求をディレクタAが受信したとき、他のディレクタ
1B,1C,1Dによるディスク26の占有行われてい
なければ、当該ホスト20AからのI/O要求を処理す
る。ホスト20AからのI/O要求は待機状態にならな
いため、ディレクタ間順序テーブル5は変更されない。The example shown in FIG. 3 will be described again. As shown in FIG. 3, the bit pattern is initially set to "1111" in the initial setting.
11 ", the order between directors is ABCD. Next, I / O from the host interface 20A shown in FIG.
When the director A receives the O request and the other directors 1B, 1C, 1D do not occupy the disk 26, the I / O request from the host 20A is processed. Since the I / O request from the host 20A does not enter the standby state, the inter-director order table 5 is not changed.
【0037】次いで、このディレクタAによるホスト2
0AのI/O処理中に、ホスト20BのI/O要求をデ
ィレクタBが受信したとき、排他制御手段2Bは、当該
ホスト20BのI/O要求を待機する。さらに、ディレ
クタ間順序制御手段3Bは、共有メモリ4からディレク
タ間順序テーブル5を読み出してディレクタBの順序を
最後尾に設定する。すると、ディレクタ間順序テーブル
5は「111001」となり、優先順位は、ACDBの
順となる。Next, the host 2 by this director A
When the director B receives the I / O request of the host 20B during the I / O processing of 0A, the exclusive control unit 2B waits for the I / O request of the host 20B. Further, the inter-director order control means 3B reads the inter-director order table 5 from the shared memory 4 and sets the order of the director B to the end. Then, the inter-director order table 5 becomes "111001" and the order of priority is ACDB.
【0038】さらに、ホスト20AのI/Oをディレク
タ1Aが処理中で、ホスト20BのI/O要求をディレ
クタ1Bが待機中に、ホスト20CからのI/O要求を
ディレクタ1Cが受信すると、ディレクタ1Cは、当該
ホスト20CからのI/O要求を待機させ、ディレクタ
間順序テーブルを「111100」に更新する。する
と、優先順位はADBCの順となる。Further, when the director 1C is processing the I / O of the host 20A and the director 1B is waiting for the I / O request of the host 20B, the director 1C receives the I / O request from the host 20C. The 1C waits for the I / O request from the host 20C and updates the inter-director order table to "111100". Then, the order of priority becomes the order of ADBC.
【0039】ここで、ホスト20B及びホスト20Cか
らのI/Oを待機中にホスト21BからI/O要求があ
る場合を説明する。まず、ホスト20Bとホスト21B
の優先順位の設定及びホスト間順序テーブル8Cの作成
手法はディレクタ間の場合と同様である。しかし、ディ
レクタBがディレクタ間順序テーブル5を当該ホスト2
1BからのI/O待機に基づいて更新してしまうとあま
り好ましくない状態となる。即ち、ディレクタBが自ら
を最後尾に設定すると、ホスト21Bからの処理とホス
ト20Cとの関係では順序関係が正しいが、ホスト20
Bとホスト20Cとの関係では順序が逆になってしま
う。Here, a case where there is an I / O request from the host 21B while waiting for I / O from the hosts 20B and 20C will be described. First, host 20B and host 21B
The method of setting the priority order and the method of creating the inter-host order table 8C are the same as those between directors. However, the director B sets the inter-director order table 5 to the host 2
If it is updated based on the I / O wait from 1B, it will be in a very unfavorable state. That is, when the director B sets itself at the end, the order relation is correct in the relation between the process from the host 21B and the host 20C, but the host 20
The order of the relationship between B and the host 20C is reversed.
【0040】図3に示した例の続きでは、ディレクタB
が同様の処理で「a,d,e」を「1,0,0」とする
と、ディレクタ間順序テーブル5は「111000」と
なり、ディレクタBよりもディレクタCが優先し、AD
CBの順となってしまう。そのため、このように同一デ
ィレクタ上でホスト20,21,22,23が競合した
場合には、2番目以降のI/O要求に際しては、ディレ
クタ間順序テーブル5を更新しないようにしている。Continuing with the example shown in FIG.
If “a, d, e” is set to “1, 0, 0” in the same process, the inter-director order table 5 becomes “111000”, the director C has priority over the director B, and the AD
It will be in the order of CB. Therefore, when the hosts 20, 21, 22, and 23 compete on the same director in this way, the inter-director order table 5 is not updated at the time of the second and subsequent I / O requests.
【0041】ホスト間順序制御手段6Aが、同一ディレ
クタ1A内での一のホスト20AからのI/O要求が待
機中であるときに、他のホスト21AからのI/O要求
があったときにはディレクタ間順序制御手段3Aに対し
てディレクタ間順序テーブルの更新を禁止するため、個
々のディレクタに均等に処理機会を与えることになり、
ラウンドロビン法と同様の効果を生じる。The inter-host sequence control means 6A is a director when an I / O request from one host 20A in the same director 1A is waiting and when an I / O request is made from another host 21A. Since the inter-director order control means 3A is prohibited from updating the inter-director order table, each director is given equal processing opportunities.
It produces the same effect as the round robin method.
【0042】次いで、ホスト20AのI/Oが終了する
と、ディレクタ1Aでは排他制御手段2Aが、ディスク
装置26の占有状態を解除する。これを受けてディレク
タ間順序制御手段3Aは、共有メモリ4からディレクタ
間順序テーブル5を読み出して、「111100」から
ディレクタの優先順序が「ADBC」であることを読み
出し、ディレクタ1AにはI/O要求が無いため、ディ
レクタ1Dに制御を移す。さらに、ディレクタ1Dで
は、I/O要求が無いため、ディレクタ1Bに制御を移
す。または、ディスク装置26へのI/O処理が終了し
た段階で自らのディレクタ間順序を最後尾にするようデ
ィレクタ間順序テーブル5を更新するようにしても良
い。その場合、ディレクタ1AでのI/O要求の有無に
かかわらずディレクタ1Dに制御を移すこととなる。Next, when the I / O of the host 20A is completed, the exclusive control means 2A in the director 1A releases the occupied state of the disk device 26. In response to this, the inter-director order control means 3A reads out the inter-director order table 5 from the shared memory 4, reads out from "111100" that the priority order of the director is "ADBC", and I / O the director 1A. Since there is no request, control is transferred to director 1D. Further, since the director 1D has no I / O request, control is transferred to the director 1B. Alternatively, the inter-director order table 5 may be updated so that the inter-director order of the disk device 26 is at the end when the I / O processing to the disk device 26 is completed. In that case, control is transferred to the director 1D regardless of the presence / absence of an I / O request in the director 1A.
【0043】ディレクタ1Bでは、ホスト間順序制御手
段6Bが、先に処理すべきホスト20Bを選択して当該
I/Oをディスク装置26に対して実行する。さらに、
排他制御手段2Bは、当該ホスト20BのI/O処理で
ディスク装置を占有状態とする。In the director 1B, the inter-host sequence control means 6B selects the host 20B to be processed first and executes the relevant I / O to the disk device 26. further,
The exclusive control means 2B brings the disk device into an occupied state by the I / O processing of the host 20B.
【0044】さらに、現在ホスト21CのI/Oを待機
中であるディレクタ1C以外の他のディレクタ1A,1
DにI/O要求が発生した場合には、各ディレクタ1
A,1Dはディレクタ間順序テーブル5を更新する。Further, the directors 1A, 1 other than the director 1C currently waiting for the I / O of the host 21C
When an I / O request is issued to D, each director 1
A and 1D update the inter-director order table 5.
【0045】ディレクタ1Bでは、ホスト20BのI/
O処理が終了すると、ディレクタ間順序制御手段3B
が、ディレクタ間順序テーブル5に基づいてディレクタ
1Cに制御を移す。ディレクタ1Cでは、待機中であっ
たホスト20Cの処理を実行する。In the director 1B, the I / O of the host 20B
When the O process ends, the inter-director sequence control means 3B
Transfers control to director 1C based on inter-director order table 5. The director 1C executes the process of the standby host 20C.
【0046】あるディレクタ1のI/O処理の終了後、
他のディレクタ1へ制御を移行する手法については、例
えば、各ディレクタが定期的なサイクルで順番に共有メ
モリ4にアクセスするようにしておき、共有メモリ4
に、ディスクの占有状態を示すフラグと、操作権を有す
るディレクタを示すフラグとを記憶させるようにしても
よい。この場合には、あるディレクタのI/O処理の終
了後、排他制御手段2が、ディスクの占有状態を示すフ
ラグを解除を意味するフラグに変更し、ディレクタ間順
序制御手段3が、ディレクタ間順序テーブル5に基づい
て操作権を有するディレクタを示すフラグを更新するよ
うにしても良い。After completion of the I / O processing of a director 1,
As for a method of transferring control to another director 1, for example, each director may access the shared memory 4 in order at a regular cycle, and the shared memory 4
In addition, a flag indicating the occupied state of the disk and a flag indicating the director having the operation right may be stored. In this case, after the I / O processing of a director is completed, the exclusive control means 2 changes the flag indicating the occupied state of the disk to a flag meaning release, and the inter-director sequence control means 3 changes the inter-director sequence. The flag indicating the director having the operation right may be updated based on the table 5.
【0047】以上説明したように本発明は、複数ディレ
クタ間のI/O処理のディレクタ間順序テーブル5と、
ディレクタ内における複数ホストインターフェイス間の
I/O処理のホスト間順序テーブルとを、それぞれ共有
メモリと各ディレクタ内のメモリに単純なビット情報の
みで記憶しているため、従来のように共有タイマや大き
な待機情報記憶領域を必要とせずに待機I/O処理を確
実に順序制御できるとともに、ディレクタ間での待機I
/O処理の順序制御についても共有メモリの数回アクセ
スのみで、疑似的に(条件によれば確実に)制御できる
ため、次に実行すべきI/O処理の順序決定処理のオー
バーヘッドが低減され、スループットが向上する。As described above, according to the present invention, the inter-director sequence table 5 for I / O processing between a plurality of directors,
The host-to-host sequence table for I / O processing between multiple host interfaces in the director is stored in the shared memory and the memory in each director only with simple bit information. The standby I / O processing can be reliably controlled without requiring the standby information storage area, and the standby I / O between directors can be performed.
The order control of the I / O processing can also be controlled in a pseudo manner (certainly according to the condition) by only accessing the shared memory several times, and thus the overhead of the processing for determining the order of the I / O processing to be executed next is reduced. , The throughput is improved.
【0048】[0048]
【発明の効果】本発明は以上のように構成され機能する
ので、これによると、共有メモリに記憶する待機情報を
単純な情報のみで表現するため、共有メモリの領域確保
が少なくて済むとともに、共有メモリのアクセス回数が
減少し、次に実行すべきI/O処理決定のオーバーヘッ
ドが低減し、I/O処理のスループットが向上するとい
う従来にない優れたディスク制御装置を提供することが
できる。Since the present invention is constructed and functions as described above, according to this, since the standby information stored in the shared memory is represented by only simple information, it is possible to secure a small area of the shared memory and It is possible to provide an unprecedented excellent disk control device in which the number of times of accessing the shared memory is reduced, the overhead of determining the I / O processing to be executed next is reduced, and the throughput of the I / O processing is improved.
【図1】本発明の一実施例を示す構成図である。FIG. 1 is a configuration diagram showing an embodiment of the present invention.
【図2】図1に示したディレクタ間順序テーブルの生成
手法を示す説明図である。FIG. 2 is an explanatory diagram showing a method of generating an inter-director order table shown in FIG.
【図3】図1に示したディレクタ間順序テーブルの詳細
を示す図表である。FIG. 3 is a table showing details of an inter-director order table shown in FIG.
【図4】図1に示したディレクタの詳細構成を示すブロ
ック図である。FIG. 4 is a block diagram showing a detailed configuration of a director shown in FIG.
【図5】従来例を示す構成図である。FIG. 5 is a configuration diagram showing a conventional example.
A ノード A〜D 第1から第4のノード 1 ディレクタ 1A〜1D 第1から第4のディレクタ 2 排他制御手段 2A〜2D 第1から第4のディレクタがそれぞれ有す
る第1から第4の排他制御手段 3 ディレクタ間順序制御手段 3A〜3D 第1から第4のディレクタがそれぞれ有す
る第1から第4のディレクタ間順序制御手段 4 共有メモリ 5 ディレクタ間順序テーブル 6 ホスト間順序テーブル 6A〜6D 第1から第4のディレクタがそれぞれ有す
る第1から第4のホスト間順序テーブル 7 ディレクタ内部メモリ 7A〜7D 第1から第4のディレクタがそれぞれ有す
る第1から第4のディレクタ内部メモリ 8 ホスト間順序テーブル 8A〜8D 第1から第4のディレクタがそれぞれ有す
る第1から第4のホスト間順序テーブル 20 ホスト(ホストインタフェース) 20A〜20D 第1から第4のディレクタでの1番目
のホスト 21A〜21D 第1から第4のディレクタでの2番目
のホスト 22A〜22D 第1から第4のディレクタでの3番目
のホスト 23A〜23D 第1から第4のディレクタでの4番目
のホストA Nodes A to D First to fourth nodes 1 Directors 1A to 1D First to fourth directors 2 Exclusive control means 2A to 2D First to fourth exclusive control means respectively possessed by the first to fourth directors 3 inter-director sequence control means 3A to 3D First to fourth inter-director sequence control means respectively possessed by first to fourth directors 4 shared memory 5 inter-director sequence table 6 inter-host sequence table 6A to 6D 1 to 1 The first to fourth inter-host sequence tables of the four directors 7 Director internal memories 7A to 7D The first to fourth director internal memories of the first to fourth directors 8 Inter-host sequence tables 8A to 8D First to fourth host-to-host sequence tables that the first to fourth directors respectively have 20 Host (host interface) 20A-20D 1st host in 1st-4th directors 21A-21D 2nd host in 1st-4th directors 22A-22D 3 in 1st-4th directors Th host 23A-23D 4th host with 1st to 4th directors
Claims (5)
てディスク装置とのI/O処理を実行する複数のディレ
クタと、これら複数のディレクタに共有される共有メモ
リとを備えると共に、前記複数のディレクタが、他のデ
ィレクタによって前記ディスク装置のI/O処理が行わ
れている占有状態にあるときは前記ホストからのI/O
処理を待機させる排他制御手段をそれぞれ備えたディス
ク制御装置において、 前記複数のディレクタが、前記ホストからのI/O要求
を受けたときに前記ディスク装置が前記占有状態にある
場合には前記共有メモリに他のディレクタに対する自デ
ィレクタの順序をディレクタ間順序テーブルとして格納
するディレクタ間順序制御手段を備え、 この複数のディレクタ間順序制御手段が、前記排他制御
手段によって占有状態を解除されたときに前記ディレク
タ間順序テーブルにより最も待機時間が長いとされるデ
ィレクタを選択して当該ディレクタにディスク操作権を
引き渡す機能を備えたことを特徴とするディスク制御装
置。1. A plurality of directors for controlling I / O requests from a plurality of hosts to execute I / O processing with a disk device, and a shared memory shared by the plurality of directors, I / O from the host when a plurality of directors are in an occupied state where I / O processing of the disk device is being performed by another director
In the disk control device, each of which has an exclusive control means for making a process stand by, the shared memory is provided when the plurality of directors are in the occupied state when the disk device receives an I / O request from the host. Is provided with inter-director order control means for storing the order of its own director with respect to other directors as an inter-director order table, and when the exclusive control means releases the exclusive state, the director inter-order order control means A disk control device having a function of selecting a director whose waiting time is the longest by an inter-sequence table and handing over the disk operation right to the director.
が、前記共有メモリから読み出した前記ディレクタ間順
序テーブルに他の全てのディレクタに対して自ディレク
タのI/O処理開始の優先順序が低い関係にあるとして
当該ディレクタ間順序テーブルを更新する機能を備えた
ことを特徴とする請求項1記載のディスク制御装置2. The plurality of inter-director order control means have a lower priority order of starting their own I / O processing with respect to all other directors in the inter-director order table read from the shared memory. 2. The disk control device according to claim 1, further comprising a function for updating the inter-director order table.
のディレクタについて他のディレクタとの順序関係を2
[ビット]で表現したビットパターンテーブルで形成さ
れたことを特徴とする請求項1又は2記載のディスク制
御装置。3. The inter-director order table holds an order relation between all directors and other directors.
3. The disk control device according to claim 1, wherein the disk control device is formed of a bit pattern table expressed in [bit].
ディレクタ間の初期状態での優先順序による各ディレク
タ間の順序関係を「1」とすると共に前記ディレクタ間
がこの初期状態の順序とは逆の順序となるときを「0」
として前記ビットパターンテーブルを更新する機能を備
えたことを特徴とする請求項3記載のディスク制御装
置。4. The inter-director order control means sets the order relationship between the directors to "1" according to the priority order in the initial state between the directors, and the order between the directors is opposite to the order in the initial state. "0" when it becomes an order
4. The disk control device according to claim 3, further comprising a function for updating the bit pattern table.
ストのI/O要求の受け付け順序からホスト間順序テー
ブルを生成するホスト間順序制御手段と、当該ホスト間
順序テーブルを記憶するディレクタ内部メモリとをそれ
ぞれ備え、 前記ホスト間順序制御手段が、同一ディレクタ内での前
記一のホストからのI/O要求が待機中であるときに他
のホストからのI/O要求があったときには前記ディレ
クタ間順序制御手段に対して前記ディレクタ間順序テー
ブルの更新を禁止する機能を備えたことを特徴とする請
求項2記載のディスク制御装置。5. An inter-host order control means for generating a host-to-host order table from the plurality of host I / O request receiving orders, and a director internal memory for storing the host-to-host order table. The host-to-host sequence control means, when the I / O request from the one host in the same director is on standby, when there is an I / O request from another host, 3. The disk control device according to claim 2, further comprising a function of prohibiting the order control means from updating the inter-director order table.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6316838A JP2541512B2 (en) | 1994-12-20 | 1994-12-20 | Disk controller |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6316838A JP2541512B2 (en) | 1994-12-20 | 1994-12-20 | Disk controller |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH08171458A JPH08171458A (en) | 1996-07-02 |
| JP2541512B2 true JP2541512B2 (en) | 1996-10-09 |
Family
ID=18081484
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6316838A Expired - Fee Related JP2541512B2 (en) | 1994-12-20 | 1994-12-20 | Disk controller |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2541512B2 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6581137B1 (en) * | 1999-09-29 | 2003-06-17 | Emc Corporation | Data storage system |
| US6915394B1 (en) | 1999-09-29 | 2005-07-05 | Emc Corporation | Microprocessor interface |
| US6836818B1 (en) | 1999-09-29 | 2004-12-28 | Emc Corporation | Central processing unit |
-
1994
- 1994-12-20 JP JP6316838A patent/JP2541512B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH08171458A (en) | 1996-07-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2977688B2 (en) | Multi-processing device, method, and processor used for the same | |
| US5978839A (en) | Data sharing method in a plurality of computer systems | |
| JPH05265914A (en) | Computer system and its external storage device | |
| JPH11282821A5 (en) | ||
| JPH11120156A (en) | Data communication system in multiprocessor system | |
| JP3506221B2 (en) | Memory request cancellation method | |
| US9836491B1 (en) | Method and apparatus for hardware-implemented AVL tree updates | |
| JP2541512B2 (en) | Disk controller | |
| JP2001045031A (en) | Login-receiving device, login device, and communication system between devices including the same, login control method, and recording medium | |
| JPS63289657A (en) | Common file access system | |
| JP4979206B2 (en) | Information processing method and information processing apparatus | |
| JPH02128249A (en) | Memory control method | |
| JP2001222382A (en) | Disk unit | |
| JP2575231B2 (en) | How to download | |
| JPH11306053A (en) | Data transfer method and information processing apparatus implementing the method | |
| JP3580361B2 (en) | Data access method when migrating wide-bit address space data | |
| JP2001069155A (en) | Login-receiving device, login device, and communication system between devices including the same, login control method, and recording medium | |
| JPS6148747B2 (en) | ||
| JPH0520264A (en) | Method for controlling buffer | |
| JPH0668044A (en) | Method for sharing file by utilizing network of distributed system | |
| JPH04107634A (en) | Memory data bypass control system | |
| JPH02310658A (en) | Address control system | |
| JPH05120113A (en) | Memory control method | |
| JPH05225147A (en) | Multiprocessor type data processing system | |
| JP2001243171A (en) | Data processing apparatus |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19960604 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070725 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080725 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090725 Year of fee payment: 13 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100725 Year of fee payment: 14 |
|
| LAPS | Cancellation because of no payment of annual fees |