JP4485503B2 - Disk array control device and disk array control method - Google Patents
Disk array control device and disk array control method Download PDFInfo
- Publication number
- JP4485503B2 JP4485503B2 JP2006249394A JP2006249394A JP4485503B2 JP 4485503 B2 JP4485503 B2 JP 4485503B2 JP 2006249394 A JP2006249394 A JP 2006249394A JP 2006249394 A JP2006249394 A JP 2006249394A JP 4485503 B2 JP4485503 B2 JP 4485503B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- port
- shared memory
- memory unit
- access
- 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
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
本発明は、データを分割して複数の磁気ディスク装置に格納するディスクアレイ装置の制御装置に関する。 The present invention relates to a controller for a disk array device that divides data and stores it in a plurality of magnetic disk devices.
コンピュータの主記憶のI/O性能に比べて、2次記憶装置として用いられる磁気ディスク装置を使ったサブシステムのI/O性能は3〜4桁程度小さく、従来からこの差を縮めること、すなわちサブシステムのI/O性能を向上する努力が各所でなされている。
サブシステムのI/O性能を向上させるための1つの方法として、複数の磁気ディスク装置でサブシステムを構成し、データを分割して複数の磁気ディスク装置に格納する手段、いわゆるディスクアレイと呼ばれるシステムが知られている。
Compared with the I / O performance of the main memory of a computer, the I / O performance of a subsystem using a magnetic disk device used as a secondary storage device is about 3 to 4 digits smaller, so that this difference has been reduced conventionally. Efforts are being made at various locations to improve subsystem I / O performance.
As one method for improving the I / O performance of the subsystem, a system called a so-called disk array, which is a means for configuring a subsystem with a plurality of magnetic disk devices and dividing the data into a plurality of magnetic disk devices. It has been known.
例えば、1つの従来技術(以下、従来技術1という)では、図2に示すようにホストコンピュータ101とディスク制御装置2間のデータ転送を実行する複数のチャネルI/F部111と、磁気ディスク装置120とディスク制御装置間2のデータ転送を実行する複数のディスクI/F部112と、磁気ディスク装置120のデータを一時的に格納するキャッシュメモリ部115と、磁気ディスク120のデータ及びディスク制御装置2に関する制御情報を格納する共有メモリ部114を備え、キャッシュメモリ部115および共有メモリ部114は全チャネルI/F部111及びディスクI/F部112からアクセス可能な構成となっている。
この従来技術1では、チャネルI/F部111及びディスクI/F部112と共有メモリ部114、またチャネルI/F部111及びディスクI/F部112とキャッシュメモリ部115間は1:1に接続されている。
For example, in one prior art (hereinafter referred to as prior art 1), as shown in FIG. 2, a plurality of channel I /
In this
また、他の従来技術(以下、従来技術2という)では、図3に示すようにホストコンピュータ101とディスク制御装置3間のデータ転送を実行する複数のチャネルI/F部111と、磁気ディスク装置120とディスク制御装置3間のデータ転送を実行する複数のディスクI/F部112と、磁気ディスク装置120のデータを一時的に格納するキャッシュメモリ部115と、磁気ディスク120のデータ及びディスク制御装置2に関する制御情報を格納する共有メモリ部114を備える。
そして、各チャネルI/F部111及びディスクI/F部112と共有メモリ部114間は共有バス130で接続され、各チャネルI/F111部及びディスクI/F部112とキャッシュメモリ部115間は共有バス130により接続されている。
In another prior art (hereinafter referred to as prior art 2), as shown in FIG. 3, a plurality of channel I /
Each channel I /
ディスクアレイシステムに対する高性能化要求に対して、これまでは、ディスクアレイ制御装置の大規模化や構成要素の高速化、例えばプロセッサ数やキャッシュ容量の増大、高性能プロセッサの適用、内部バス幅の拡大やバス転送能力の向上などで対応してきた。
しかしながら、前記従来技術2では、内部バスの転送能力がシステムの大規模化および性能向上に追従するのが困難になりつつある。
Up to now, in response to demands for higher performance of disk array systems, disk array controllers have been increased in scale and component speed, such as increased number of processors and cache capacity, application of high performance processors, internal bus width It has been supported by expanding and improving bus transfer capability.
However, in the
そこで内部バス性能を向上させて高いメモリアクセス性能を得るために、前記従来技術1のように、プロセッサとメモリ間を1:1に接続する方法が考えられる。
この方法によれば、メモリに接続したアクセスパス数に比例して内部バス性能が増加する。
しかしながら、搭載するプロセッサ数の増大に比例して、共有メモリおよびキャッシュメモリに接続するアクセスパス数も増加する。
そのため、内部バス性能を最大限に引き出すために、各プロセッサ−メモリ間のアクセスを効率的に制御する必要がある。
Therefore, in order to improve the internal bus performance and obtain high memory access performance, a method of connecting the processor and the memory 1: 1 as in the
According to this method, the internal bus performance increases in proportion to the number of access paths connected to the memory.
However, the number of access paths connected to the shared memory and the cache memory increases in proportion to the increase in the number of installed processors.
Therefore, it is necessary to efficiently control access between each processor and memory in order to maximize the internal bus performance.
本発明の目的は上述の課題を解消し、プロセッサ−メモリ間のアクセスパスを効率的に使用し、メモリアクセススループット、特にキャッシュメモリへのアクセススループットの高いディスクアレイ制御装置を提供することにある。 An object of the present invention is to provide a disk array control apparatus that solves the above-mentioned problems, uses a processor-memory access path efficiently, and has a high memory access throughput, particularly a cache memory access throughput.
上記目的を達成するため、本発明は、
ホストコンピュータとの1つ以上のインターフェース部と、複数の磁気ディスク装置との1つ以上のインターフェース部と、磁気ディスク装置のデータ及びディスクアレイ制御装置に関する制御情報を格納する物理的に独立した1つ以上の共有メモリ部を有し、前記ホストコンピュータとのインターフェース部、または前記複数の磁気ディスク装置とのインターフェース部からは、セレクタを介して前記共有メモリ部にアクセス可能であり、前記ホストコンピュータとのインターフェース部、または前記複数の磁気ディスク装置とのインターフェース部と前記セレクタ間と、前記セレクタと前記共有メモリ部間はアクセスパスにより接続されているディスクアレイ制御装置であって、
前記セレクタは、前記ホストコンピュータとのインターフェース部、または前記複数の磁気ディスク装置とのインターフェース部からの複数の入力ポートと、
前記共有メモリ部への複数の出力ポートを相互に接続する手段と、
前記複数の入力ポートから出力ポートへの接続要求を前記接続要求が到着した順に格納する手段と、複数の前記接続要求間の調停を行い、各出力ポートに前記入力ポートからの接続要求を割り当てる調停手段を有しており、
前記調停手段は、前記到着順に格納された接続要求の中の先頭の要求が、現在空いている出力ポートへの要求であれば、該要求へ出力ポートを割り当て、前記到着順に格納された接続要求の中の先頭の要求が、現在使用中の出力ポートへの要求であれば、2番目の要求を調べ、2番目の接続要求が、現在空いている出力ポートへの要求であれば、該要求へ出力ポートを割り当て、2番目の接続要求が、現在使用中の出力ポートへの要求であれば、3番目の要求を調べ、それ以降、多くとも現在空いている出力ポートの数に等しい回数だけ、上記出力ポートへの接続要求の調停(割り当て)を繰り返すようにしている。
In order to achieve the above object, the present invention provides:
One or more interface units with a host computer, one or more interface units with a plurality of magnetic disk devices, and a physically independent one that stores data of the magnetic disk devices and control information about the disk array control device The shared memory unit has the above, and the shared memory unit can be accessed via a selector from the interface unit with the host computer or the interface unit with the plurality of magnetic disk devices. An interface unit or a disk array control device connected between the interface unit with the plurality of magnetic disk devices and the selector, and between the selector and the shared memory unit by an access path;
The selector includes a plurality of input ports from an interface unit with the host computer or an interface unit with the plurality of magnetic disk devices;
Means for interconnecting a plurality of output ports to the shared memory unit;
Means for storing connection requests from the plurality of input ports to the output port in the order in which the connection requests arrived, arbitration between the plurality of connection requests, and arbitration for assigning connection requests from the input ports to the output ports Has means,
The arbitration unit assigns an output port to the request if the first request in the connection request stored in the arrival order is a request to an output port that is currently free, and stores the connection request stored in the arrival order. If the first request is a request for an output port currently in use, the second request is examined. If the second connection request is a request for an output port that is currently free, the request is sent. If the second connection request is a request for an output port that is currently in use, the third request is examined, and since then, at most equal to the number of currently free output ports The arbitration (assignment) of the connection request to the output port is repeated.
また、前記共有メモリ部は各々物理的に独立した前記共有メモリ部間で二重化されており、前記セレクタから前記二重化された共有メモリ部両方への同時アクセスが発生するようにしている。 The shared memory units are duplexed among the physically independent shared memory units, and simultaneous access to both of the duplexed shared memory units from the selector occurs.
また、前記共有メモリ部が、磁気ディスク装置のデータを一時的に格納するキャッシュメモリ部と、前記キャッシュメモリ部及び前記ディスクアレイ制御装置に関する制御情報を格納する共有メモリ部に物理的に分割されており、
前記キャッシュメモリ部に繋がるセレクタと、前記共有メモリ部に繋がるセレクタが物理的に独立しており、
前記ホストコンピュータとのインターフェース部、及び前記複数の磁気ディスク装置とのインターフェース部から、前記キャッシュメモリ部、または前記共有メモリ部へのアクセスパスが物理的に独立しており、
少なくとも前記キャッシュメモリ部に繋がるセレクタに前記調停手段を備えるようにしている。
The shared memory unit is physically divided into a cache memory unit that temporarily stores data of the magnetic disk device and a shared memory unit that stores control information related to the cache memory unit and the disk array control device. And
The selector connected to the cache memory unit and the selector connected to the shared memory unit are physically independent,
The access path from the interface unit with the host computer and the interface unit with the plurality of magnetic disk devices to the cache memory unit or the shared memory unit is physically independent,
At least the selector connected to the cache memory unit includes the arbitration means.
また、前記共有メモリ部は各々物理的に独立した前記共有メモリ部間で二重化されており、前記キャッシュメモリ部は各々物理的に独立した前記キャッシュメモリ部間で二重化されており、少なくと前記キャッシュメモリに繋がるセレクタから前記二重化されたキャッシュメモリ部両方への同時アクセスが発生し、少なくとも前記キャッシュメモリに繋がるセレクタに前記調停手段を備えるようにしている。 The shared memory units are duplexed between the physically independent shared memory units, and the cache memory units are duplexed between the physically independent cache memory units, and at least the cache memory unit Simultaneous access to both of the duplicated cache memory units from the selector connected to the memory occurs, and at least the selector connected to the cache memory includes the arbitration means.
また、前記ホストコンピュータとのインターフェース部、または前記複数の磁気ディスク装置とのインターフェース部から、前記共有メモリ部、または前記キャッシュメモリ部へのアクセスの際に、最初にアドレスとコマンドを連続して送出し、前記共有メモリ部、または前記キャッシュメモリ部までのアクセスパスが確立した後に、データを送出するようにしている。 In addition, when accessing the shared memory unit or the cache memory unit from the interface unit with the host computer or the interface unit with the plurality of magnetic disk devices, an address and a command are first transmitted continuously. The data is transmitted after the access path to the shared memory unit or the cache memory unit is established.
本発明によれば、ホストコンピュータとのインターフェース部、または複数の磁気ディスク装置とのインタフェース部と共有メモリ部の間にあるセレクタ部において、ホストコンピュータとのインターフェース部、または複数の磁気ディスク装置とのインタフェース部から共有メモリ部へのアクセス要求を、共有メモリ部へのアクセスパスへ効率よく振り分けることが可能となる。
それによって、ディスクアレイ制御装置のデータ転送のスループットを向上することができる。
According to the present invention, an interface unit with a host computer, or a selector unit located between an interface unit with a plurality of magnetic disk devices and a shared memory unit, the interface unit with the host computer or a plurality of magnetic disk devices. An access request from the interface unit to the shared memory unit can be efficiently distributed to an access path to the shared memory unit.
Thereby, the data transfer throughput of the disk array controller can be improved.
本発明の実施例について、以下詳細に説明する。
《実施例1》
図1に、本発明の一実施例を示す。
ディスクアレイ制御装置1は、チャネルI/F部111、ディスクI/F部112、セレクタ部113、共有メモリ部114と、アクセスパス0 135、アクセスパス1 136から構成される。
Examples of the present invention will be described in detail below.
Example 1
FIG. 1 shows an embodiment of the present invention.
The disk
図13に示すように、チャネルI/F部111は、ホストコンピュータとの1つのI/F(ホストI/F)51と、1つのマイクロプロセッサ50と、1つの共有メモリアクセス回路52と、共有メモリ部114への1つのアクセスパスI/Fから構成される。
データ書き込み時は、ホストI/F51は、ホストコンピュータ101から送られてきたデータをパケットに分割して共有メモリアクセス回路52へ送出する。共有メモリアクセス回路52は、ホストI/F51から送られてくる複数のパケットを1つのアクセスパスを使用して共有メモリ部114へ送出する。
データ読み出し時は、共有メモリアクセス回路52は、共有メモリ部114から送られてきた複数のパケットをホストI/F51へ送出する。ホストI/F51は、共有メモリアクセス回路52から送られてきた複数のパケットを1つのデータにまとめ、ホストコンピュータ101へ送出する。
マイクロプロセッサ50は、ホストI/F51及び共有メモリアクセス回路52でのデータの送受信を制御する。
ディスクI/F部112は、複数の磁気ディスク装置120との1つのI/F(ドライブI/F)、1つのマイクロプロセッサ、共有メモリ部114への1つのアクセス回路と、共有メモリ部114への1つのアクセスパスI/Fから構成されている。図13に示すホストI/F51をドライブI/Fで置き換えた構成となる。データの書き込みおよび読み出し時には、チャネルI/F部111の説明で述べた処理と少なくとも同様の処理が行われる。
ここで、上記に示した個数は一実施例に過ぎず、上記に限定するものではない。
As shown in FIG. 13, the channel I /
At the time of data writing, the host I / F 51 divides the data sent from the
When reading data, the shared memory access circuit 52 sends a plurality of packets sent from the shared
The microprocessor 50 controls transmission / reception of data in the host I / F 51 and the shared memory access circuit 52.
The disk I /
Here, the number shown above is only one example and is not limited to the above.
共有メモリ部114は、磁気ディスク装置120へ記録するデータや、そのデータの管理情報及びシステム情報などの管理情報を格納する。
セレクタ部113には、2つのチャネルI/F部111、2つのディスクI/F部112からそれぞれ1本ずつ、計4本のアクセスパス0 135が接続されている。
また、セレクタ部113には、2つの共有メモリ部114へのアクセスパス1 136が1本ずつ、計2本接続されている。
これら1つのセレクタ部113とそれに繋がる2つのチャネルI/F部111及び2つのディスクI/F部112で1つのグループを形成し、セレクタグループ150と呼ぶ。
本実施例では、ディスクアレイ制御装置1が2つのセレクタグループ150を有する。
チャネルI/F部及びディスクI/F部とセレクタ部間のアクセスパスと、セレクタ部と共有メモリ部間のアクセスパスの間には上記のようなパス数の関係があるため、セレクタ部113ではチャネルI/F部111及びディスクI/F部112からの4本のアクセスパス0:135からの要求の内、共有メモリ部114へのアクセスパス1:136の数に相当する2個だけを選択して実行する機能を持つ。
ここで、上記個数は一実施例に過ぎず、個数を上記に限定するものではない。
The shared
A total of four access paths 0 135 are connected to the
The
One
In this embodiment, the disk
Since there is the above-described number of paths among the access path between the channel I / F unit and the disk I / F unit and the selector unit and the access path between the selector unit and the shared memory unit, the
Here, the number is merely an example, and the number is not limited to the above.
1つのセレクタ部113から共有メモリ部114へ接続されるアクセスパスの数を、チャネルI/F部111及びディスクI/F部112から1つのセレクタ部113に接続されるアクセスパスの数より少なくし、チャネルI/F部111とディスクI/F部112の合計数よりもセレクタ部113の数が少なくなるように上記個数を設定すると、共有メモリ部114それぞれへ接続されるアクセスパス数を削減することができる。
共有メモリ部のLSIピンネック及びパッケージのコネクタネックという問題が生じた場合、上記のようにすることで、LSIのピンネック及びパッケージのコネクタネックを解消することができる。
The number of access paths connected from one
When the problem of the LSI pin neck of the shared memory unit and the connector neck of the package occurs, the pin pin of the LSI and the connector neck of the package can be eliminated by the above.
次に、セレクタ部113内部の構成について述べる。
図4は、セレクタ部113内の構成を示している。
セレクタ部113は、チャネルI/F部111、またはディスクI/F部112とのI/Fポート210と、共有メモリ部114とのI/Fポート211と、両者間を互いに接続するセレクタ206と、I/Fポート210及び211で入出力を行う際のデータのエラーチェック部201と、チャネルI/F部111、またはディスクI/F部112から送出されたアドレス、コマンド、及びデータをバッファリングするバッファ202と、チャネルI/F部111、またはディスクI/F部112から送出されたアドレス及びコマンドを解析するアドレス・コマンド(adr、cmd)解析部203と、解析結果を共有メモリ部114とのI/Fポート211への接続要求として、要求の到着順に管理するキュー管理部204と、キュー管理部内に登録された接続要求に基づいてアービトレーションを行い、共有メモリとのI/Fポート211への接続権を決定するアービトレーション部205を有する。
Next, the internal configuration of the
FIG. 4 shows the configuration within the
The
共有メモリ部のLSIのピンネック及びパッケージのコネクタネックが生じた場合には、前述のように、チャネルI/F部111、またはディスクI/F部112とのI/Fポート210の数よりも、共有メモリ部114とのI/Fポート211の数を少なくすることで、それらのネックを解消できる。
本実施例では、チャネルI/F部111、またはディスクI/F部112とのI/Fポート210の数を4つ、共有メモリ部114とのI/Fポート211の数を2つとした。
When the pin neck of the LSI of the shared memory unit and the connector neck of the package occur, as described above, the number of I / F ports 210 with the channel I /
In this embodiment, the number of I / F ports 210 with the channel I /
図12は、アドレス・コマンド(adr、cmd)解析部203、キュー管理部204、及びアービトレーション部205の詳細構成について示している。
アドレス・コマンド(adr、cmd)解析部203は、チャネルI/F部111、またはディスクI/F部112とのI/Fポート210の数に相当する4つのバッファ220を有し、バッファ内に各I/Fポート210からのアドレス(adr)及びコマンド(cmd)を格納する。
アドレスは長さが4バイトで最初の1バイトに出力ポート番号(port No.)が示されている。
コマンドは長さが4バイトで最初の1バイトにアクセスの種類(読み出し:RD、書き込み:WR、2重読み出し:2R、2重書き込み:2W)が示されている。
ここで、共有メモリ部114が2重化されている場合、2重読み出し及び2重書き込みを行う場合がある。
このような2重アクセス時には、2つのポートを同時に使用するため、両方のポートの使用権を獲得する必要がある。
FIG. 12 shows the detailed configuration of the address / command (adr, cmd)
The address / command (adr, cmd)
The address has a length of 4 bytes, and an output port number (port No.) is shown in the first 1 byte.
The command has a length of 4 bytes, and the type of access (read: RD, write: WR, double read: 2R, double write: 2W) is shown in the first byte.
Here, when the shared
In such a double access, since two ports are used simultaneously, it is necessary to acquire the right to use both ports.
port No.抽出部221では、アドレスから要求ポート番号を取り出す。
本実施例では、port0に“00”、port1に“11”を割り当てた。
cmd種類抽出部222では、コマンドからアクセスの種類を取り出す。
本実施例では、RDに“00”、WRに“01”、2Rに“10”、2Wに“11”を割り当てた。
使用ポート決定部223では、アクセスの種類が2重アクセスでない場合port No.をそのまま出力し、2重アクセスの場合それを示す“01”を出力する。
キュー管理部204では、アドレス・コマンド(adr、cmd)解析部203から出力されたport No.を到着順に管理テーブル224に登録する。
port No. The extraction unit 221 extracts the requested port number from the address.
In this embodiment, “00” is assigned to port 0 and “11” is assigned to
The cmd
In this embodiment, “00” is assigned to RD, “01” is assigned to WR, “10” is assigned to 2R, and “11” is assigned to 2W.
In the used
In the
アービトレーション部205では、管理テーブル224の先頭から要求port No.を1つ取り出し、バッファ227に格納する。
そして、バッファ226に格納された使用中のport No.とバッファ227内の要求port No.を比較器228で比較する。
port No.が異なる場合、その番号をセレクタ切り替え信号SEL0、SEL1としてセレクタ206へ出力し、キュー管理部204内の順番入替え部225へキューの順番を1つ進めるように指示する。
port No.が等しい場合、順番入替え部225へキューの順番を入れ替えるように指示する。
順番の入れ替え方法については、図6の調停のフローの説明で述べる。
ここで、アドレス、コマンドの長さ、アドレスまたはコマンド内のport No.またはcmd種類がそれぞれ示されている場所、port No.またはcmd種類へのビットの割り当て方は一実施例に過ぎず、上記に限定するものではない。
また、共有メモリ部114が2重化されていない場合、2重アクセスは生じないため、cmd種類抽出部222及び使用port決定部223は必要なくなり、port No.抽出部221の出力をキュー管理部204へ直接入力すればよい。
In the
Then, the port No. in use stored in the buffer 226 is displayed. And the request port No. in the buffer 227. Are compared by a comparator 228.
port No. Are different, the numbers are output to the selector 206 as the selector switching signals SEL0 and SEL1, and the order changer 225 in the
port No. Are equal, the order changing unit 225 is instructed to change the order of the queues.
The order switching method will be described in the explanation of the arbitration flow in FIG.
Here, the address, the length of the command, the address or the port No. in the command. Alternatively, the place where the cmd type is indicated, port No. Alternatively, the method of assigning bits to cmd types is merely an example, and is not limited to the above.
In addition, when the shared
次に、セレクタ部113での処理の手順について述べる。
図5は、チャネルI/F部111、またはディスクI/F部112とのI/Fポート210のうちの1つにおける処理フローを示している。
まず、ステップ301で、チャネルI/F部111、またはディスクI/F部112内の共有メモリアクセス回路からアクセス要求(REQ ON)が来るまで待機する。
アクセス要求が来たら、ステップ302でアドレス(adr)及びコマンド(cmd)を解析する。
ステップ303でアドレス(adr)、コマンド(cmd)にエラーがないかどうかチェックし、エラーがあった場合ステップ315でエラー処理を行い、ステップ301のアクセス要求待機状態に戻る。
エラーがなかった場合、ステップ304で、共有メモリ部114とのI/Fポート211への接続要求として、キューに登録する。
そして、そのキューの内容に基づいてアービトレーションを行う。
ステップ305で、要求した共有メモリ部114とのI/Fポート211が獲得できるまで待機する。
獲得できたら、ステップ306でセレクタ206を切り替えて要求を出したI/Fポート210と獲得したI/Fポート211を接続する。
Next, a processing procedure in the
FIG. 5 shows a processing flow in one of the I / F ports 210 with the channel I /
First, in
When an access request is received, an address (adr) and a command (cmd) are analyzed in
In
If there is no error, in
Then, arbitration is performed based on the contents of the queue.
In
If acquired, the selector 206 is switched in step 306 to connect the I / F port 210 that issued the request and the acquired I / F port 211.
次に、ステップ307で共有メモリ(SM)部114へアクセス要求(REQ ON)を出し、アドレス(adr)とコマンド(cmd)を送出する。
ステップ308で、共有メモリ部114からアクセス承認(ACK ON)が返ってくるまで待機する。
アクセス承認(ACK ON)が返ってきたら、ステップ309でチャネルI/F部111、またはディスクI/F部112内の共有メモリアクセス回路へアクセス承認(ACK ON)を返す。
ステップ310で、データの書き込み時は共有メモリアクセス回路から送られてきたデータを共有メモリ部114へ送信する。
また、データの読み出し時は共有メモリ部114から送られてきたデータを共有メモリアクセス回路へ送信する。
Next, in
In
When access approval (ACK ON) is returned, in step 309, access approval (ACK ON) is returned to the channel I /
In
When data is read, the data sent from the shared
その際、ステップ311でエラーのチェックを行う。
エラーを発見した場合、ステップ315でエラー処理を行い、ステップ301のアクセス要求待機状態へ戻る。
エラーが無い場合、ステップ312でステータス(Status)が届くのをチェックし、ステータス(Status)が届くまでデータを送信する。
ステータス(Status)が届いたら、ステップ313で共有メモリ部へ、アクセス承認(ACK ON)を取り下げるよう指示し、ステップ301のアクセス要求待機状態に戻る。
At that time, an error is checked in
If an error is found, error processing is performed in step 315, and the process returns to the access request waiting state in
If there is no error, it is checked in
When the status (Status) arrives, in
次に、ステップ304でのアービトレーション(調停)の方法について述べる。
図6は、調停のフローを示している。
ステップ401で、空いている出力ポートがあるかどうか調べ、空きポートができるまで待つ。
ステップ401で空きポートがあれば、ステップ402でキュー管理部204に到着順に格納された接続要求の中の先頭の要求を調べる。
ステップ403で現在空いている出力ポートへの要求であれば、ステップ404でその要求へ出力ポートを割り当てる。
ステップ403で、キュー管理部204に到着順に格納された接続要求の中の先頭の要求が、現在使用中の出力ポートへの要求であれば、ステップ406でキュー先頭の要求を(空きポート数+1)番目にし、ステップ401へ戻る。
ステップ404で出力ポートを割り当てたら、ステップ405でキューの順番を1つ進め、ステップ401へ戻る。
上記の制御を行うことにより、共有メモリ部側のI/Fポート211を効率よく割り当てることが可能となり、高いスループットのデータ転送を実現できる。
Next, the arbitration method in
FIG. 6 shows an arbitration flow.
In
If there is an empty port in
If the request is for a currently available output port in
In
When the output port is assigned in
By performing the above-described control, it is possible to efficiently allocate the I / F port 211 on the shared memory unit side, and high-throughput data transfer can be realized.
また、図9に示すように、共有メモリ部114を各々物理的に独立した共有メモリ部114間で二重化して二重化領域(160)を形成する。すなわち、2個の共有メモリ部114を2重化した場合には各共有メモリ部に同一のデータが書き込まれる。また、各共有メモリ部全体を二重化したり、各共有メモリ部の一部分を二重化したりすることができる。
そして、セレクタ部113から二重化された共有メモリ部114両方への同時アクセス(2重アクセス)が発生するディスクアレイ制御装置4では、図6のステップ402、403においてキュー先頭の要求が2重アクセスかどうかを調べ、2重アクセスの場合、要求される2つのポートが空いていればポートを割り当て、そうでなければステップ406へ進むという処理を行う。
これによって、共有メモリ部114に格納したデータの信頼性を向上させることが可能となる。
また、磁気ディスク装置120に記録するデータの転送時、共有メモリ部114とのI/Fポート211を効率よく割り当てることが可能となり、高いスループットのデータ転送を実現できる。
In addition, as shown in FIG. 9, the shared
In the disk
As a result, the reliability of the data stored in the shared
In addition, when transferring data to be recorded on the
《実施例2》
図1に示すディスクアレイ制御装置の構成を、図10に示すように、共有メモリ部114を、磁気ディスク装置120に記録するデータを一時的に格納するキャッシュメモリ部115と、キャッシュメモリ部115及びディスクアレイ制御装置5に関する制御情報を格納する共有メモリ部114に物理的に分割し、キャッシュメモリ部115に繋がるセレクタ部(CMセレクタ部)123と、共有メモリ部に繋がるセレクタ部(SMセレクタ部)113を物理的に独立させた構成にする。
そして、チャネルI/F部111、及びディスクI/F部112から、キャッシュメモリ部115、または共有メモリ部114へのアクセスパス0 135、アクセスパス1 136を物理的に独立させ、少なくともキャッシュメモリ部115に繋がるセレクタ部(CMセレクタ部)123において、実施例1で述べた調停を行う。これは、共有メモリ部に格納されるのは、キャッシュメモリ部115及びディスクアレイ制御装置5に関する制御情報であり、制御情報のデータ量は少ないので、ポートが使用中となる時間は小さく、すぐにポートは使用可能となるため、調停をしなくても格別の差し障りはないからである。
Example 2
As shown in FIG. 10, the configuration of the disk array control device shown in FIG. 1 includes a shared
Then, the access path 0 135 and the
また、図11に示すように、共有メモリ部114、及びキャッシュメモリ部115を各々物理的に独立した共有メモリ部114、及びキャッシュメモリ部115間でそれぞれ二重化して二重化領域(160)を形成し、少なくともキャッシュメモリに繋がるセレクタ部(CMセレクタ部)123から二重化されたキャッシュメモリ部115両方への同時アクセス(2重アクセス)が発生するディスクアレイ制御装置6では、図6のステップ402、403においてキュー先頭の要求が2重アクセスかどうかを調べ、2重アクセスの場合、要求される2つのポートが空いていればポートを割り当て、そうでなければステップ406へ進むという処理を、キャッシュメモリ部に繋がるセレクタ部(CMセレクタ部)123で行う。
これによって、共有メモリ部114に格納したデータの信頼性を向上させることが可能となる。
また、磁気ディスク装置120に記録するデータの転送時、キャッシュメモリ部115とのI/Fポート211を効率よく割り当てることが可能となり、高いスループットのデータ転送を実現できる。
Further, as shown in FIG. 11, the shared
As a result, the reliability of the data stored in the shared
In addition, when transferring data to be recorded on the
《実施例3》
図7は、チャネルI/F部111またはディスクI/F部112内の共有メモリ(SM)アクセス回路から共有メモリ部114へ、またはチャネルI/F部111またはディスクI/F部112内のキャッシュメモリ(CM)アクセス回路からキャッシュメモリ部115へデータの書き込みを行うときの処理の流れを示している。
データの書き込み時は、ステップ501でSMまたはCMアクセス回路からセレクタ部113または123へアクセス要求(REQ)を出し、続けてステップ502、503でアドレス(ADR)、コマンド(CMD)を送出する。
ステップ504、505でセレクタ部113または123において、アービトレーションを行い、セレクタを切り替えて共有メモリ部114またはキャッシュメモリ部115へのポートを割り当てる。
ステップ506で、セレクタ部113または123から共有メモリ部またはキャッシュメモリ部へアクセス要求(REQ)を出し、続けてステップ507、508でアドレス(ADR)、コマンド(CMD)を送出する。
Example 3
FIG. 7 illustrates the cache from the shared memory (SM) access circuit in the channel I /
When writing data, an access request (REQ) is issued from the SM or CM access circuit to the
In steps 504 and 505, the
In step 506, an access request (REQ) is issued from the
ステップ509で、共有メモリ部114またはキャッシュメモリ部115において、アクセスするメモリモジュールの選択を行い、選択後、ステップ510でセレクタ部113または123を経由してSMまたはCMアクセス回路へアクセス承認(ACK ON)を返す。
SMまたはCMアクセス回路はACK ONを受けたら、ステップ511でデータを送出する。
共有メモリ部114またはキャッシュメモリ部115はデータを全て受け取ったら、ステップ512で後処理を行い、ステップ513でセレクタ部113または123を経由してSMまたはCMアクセス回路へステータス(STATUS)を返す。
セレクタ部113または123はSTATUSを受けたら、ステップ514で共有メモリ部114またはキャッシュメモリ部115へ、アクセス承認を取り下げるように指示を出す(ACK OFF)。
SMまたはCMアクセス回路はSTATUSを受けたら、ステップ515でセレクタ部113または123に、アクセス承認を取り下げるように指示を出す(ACK OFF)。
In
When the SM or CM access circuit receives ACK ON, it transmits data in
When the shared
Upon receiving STATUS, the
When receiving the STATUS, the SM or CM access circuit instructs the
図8は、チャネルI/F部111またはディスクI/F部112内の共有メモリアクセス回路へ共有メモリ部114から、またはチャネルI/F部111またはディスクI/F部112内のキャッシュメモリアクセス回路へキャッシュメモリ部115からデータの読み出しを行うときの処理の流れを示している。
データの読み出し時の処理ステップ601〜610までは、データの書き込み時の処理ステップ501〜510までと同じである。
FIG. 8 illustrates a cache memory access circuit in the channel I /
Processing steps 601 to 610 at the time of reading data are the same as processing steps 501 to 510 at the time of writing data.
その後、共有メモリ部114またはキャッシュメモリ部115において、ステップ611で読み出しの前処理を行う。
ステップ612で、セレクタ部113または123を経由してSMまたはCMアクセス回路へデータを送出する。
データの送出が終了したら、共有メモリ部114またはキャッシュメモリ部115において、ステップ613で後処理を行い、ステップ614でセレクタ部113または123を経由してSMまたはCMアクセス回路へSTATUSを返す。
セレクタ部113または123はSTATUSを受けたら、ステップ615で共有メモリ部114またはキャッシュメモリ部115へ、アクセス承認を取り下げるように指示を出す(ACK OFF)。
SMまたはCMアクセス回路はSTATUSを受けたら、ステップ616でセレクタ部113または123へ、アクセス承認を取り下げるように指示を出す(ACK OFF)。
Thereafter, in the shared
In
When the data transmission is completed, the shared
Upon receiving STATUS, the
When receiving the STATUS, the SM or CM access circuit instructs the
上記のように、チャネルI/F部111、またはディスクI/F部112から、共有メモリ部114またはキャッシュメモリ部115へのアクセスの際に、最初にアドレスとコマンドを連続して送出し、共有メモリ部114、またはキャッシュメモリ部115までのアクセスパスが確立した(ステップ510または610)後データを送出することによって、セレクタ部113または123において、転送データをバッファリングする必要がなくなり、セレクタ部113または123での制御が簡単化され、メモリへのアクセススループットの向上が可能となる。
As described above, when accessing the shared
1、4、5、6 ディスクアレイ制御装置
50 マイクロプロセッサ
51 ホストI/F
52 共有メモリアクセス回路
101 ホストコンピュータ
111 チャネルI/F部
112 ディスクI/F部
113 セレクタ部(SMセレクタ部)
114 共有メモリ部
115 キャッシュメモリ部
120 磁気ディスク装置
123 CMセレクタ部
135 アクセスパス0
136 アクセスパス1
150 セレクタグループ
1, 4, 5, 6 Disk array controller 50 Microprocessor 51 Host I / F
52 Shared
114
136
150 selector group
Claims (4)
上記信号入力ポートに入力された上記信号が接続を要求しているポート番号を調べるステップと、
上記接続を要求されているポート番号を格納し、該ポート番号を接続要求のキューとして管理するステップと、
上記接続を要求されているポートが、空いているか、占有されているかを調べ、空いているポート数を調べるステップと、
上記接続を要求されているポートが占有されている場合には、該接続要求に対してポートの割り当ては行わずに、上記キューの1番目にある該接続要求を(空いているポートの数+1)番目にずらすステップと、
上記接続を要求されているポートが空いている場合には、該ポートを該接続要求に割り当てるステップとを有することを特徴とするディスクアレイ制御方法。 A disk array control method comprising a selector having a signal input port and a signal output port, wherein a signal including a connection request destination address is input to the signal input port,
Examining the port number to which the signal input to the signal input port is requesting connection;
Storing the port number for which the connection is requested, and managing the port number as a connection request queue;
Checking whether the port for which the connection is requested is free or occupied, and determining the number of free ports;
If the port for which the connection is requested is occupied, no port is assigned to the connection request, and the first connection request in the queue (the number of free ports + 1). ) First step,
A disk array control method comprising: allocating the port to the connection request when the port for which the connection is requested is free.
上記接続を要求されているポート番号と、該要求をした入力信号の到着順序をキュー管理テーブルに登録するステップを有することを特徴とする請求項1に記載のディスクアレイ制御方法。 In addition to the above steps,
2. The disk array control method according to claim 1, further comprising a step of registering in the queue management table the port number for which the connection is requested and the arrival order of the requested input signal.
上記入力信号が2重アクセスか否かを調べるステップを有することを特徴とする請求項1乃至2のいずれかに記載のディスクアレイ制御方法。 In addition to the above steps,
3. The disk array control method according to claim 1, further comprising a step of checking whether or not the input signal is a double access.
上記接続を要求されている2つのポートが空いているか、占有されているかを調べ、空いているポート数を調べるステップを有することを特徴とする請求項3記載のディスクアレイ制御方法。 Check if the port for which the connection is requested is free or occupied , and check the number of free ports .
Or two ports that are requested the connection is free, examine whether occupied, the disk array control method according to claim 3, characterized by the step of examining the number of ports available.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006249394A JP4485503B2 (en) | 2006-09-14 | 2006-09-14 | Disk array control device and disk array control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006249394A JP4485503B2 (en) | 2006-09-14 | 2006-09-14 | Disk array control device and disk array control method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18995798A Division JP3946873B2 (en) | 1998-06-19 | 1998-06-19 | Disk array controller |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007035060A JP2007035060A (en) | 2007-02-08 |
JP4485503B2 true JP4485503B2 (en) | 2010-06-23 |
Family
ID=37794158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006249394A Expired - Fee Related JP4485503B2 (en) | 2006-09-14 | 2006-09-14 | Disk array control device and disk array control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4485503B2 (en) |
-
2006
- 2006-09-14 JP JP2006249394A patent/JP4485503B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2007035060A (en) | 2007-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3946873B2 (en) | Disk array controller | |
JP4400895B2 (en) | Disk array controller | |
US7376034B2 (en) | Parallel data storage system | |
US5581709A (en) | Multiple computer system using I/O port adaptor to selectively route transaction packets to host or shared I/O device | |
JP2000099281A (en) | Disk array controller | |
US7421543B2 (en) | Network device, fiber channel switch, method for shared memory access control, and computer product | |
US7409486B2 (en) | Storage system, and storage control method | |
JP4737702B2 (en) | Disk array controller | |
JP4485503B2 (en) | Disk array control device and disk array control method | |
JP4983133B2 (en) | INPUT / OUTPUT CONTROL DEVICE, ITS CONTROL METHOD, AND PROGRAM | |
JP3684902B2 (en) | Disk array controller | |
JP4571963B2 (en) | Disk array controller | |
JP4452697B2 (en) | Disk array controller | |
JP2000339101A (en) | Disk array controller | |
JP2000250712A (en) | Disk array controller | |
JP2000010900A (en) | Disk array controller and disk array | |
JP2003263278A (en) | Disk array control apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090707 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090902 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091110 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091227 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100309 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100324 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130402 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140402 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |