JP3684902B2 - ディスクアレイ制御装置 - Google Patents
ディスクアレイ制御装置 Download PDFInfo
- Publication number
- JP3684902B2 JP3684902B2 JP05507999A JP5507999A JP3684902B2 JP 3684902 B2 JP3684902 B2 JP 3684902B2 JP 05507999 A JP05507999 A JP 05507999A JP 5507999 A JP5507999 A JP 5507999A JP 3684902 B2 JP3684902 B2 JP 3684902B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- access
- access path
- disk
- cache memory
- 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
Description
【発明の属する技術分野】
本発明は、データを分割して複数の磁気ディスク装置に格納するディスクアレイ装置の制御装置に関する。
【0002】
【従来の技術】
コンピュータの主記憶のI/O性能に比べて、2次記憶装置として用いられる磁気ディスク装置を使ったサブシステムのI/O性能は3〜4桁程度小さく、従来からこの差を縮めること、すなわちサブシステムのI/O性能を向上する努力が各所でなされている。サブシステムのI/O性能を向上させるための1つの方法として、複数の磁気ディスク装置でサブシステムを構成し、データを分割して複数の磁気ディスク装置に格納する手段、いわゆるディスクアレイと呼ばれるシステムが知られている。
【0003】
例えば、従来技術では、図2に示すようにホストコンピュータ50とディスクアレイ制御装置2間のデータ転送を実行する複数のチャネルIF部11と、磁気ディスク装置20とディスクアレイ制御装置2間のデータ転送を実行する複数のディスクIF部12と、磁気ディスク装置20のデータを一時的に格納するキャッシュメモリ部14と、磁気ディスク装置20のデータ及びディスクアレイ制御装置2に関する制御情報を格納する共有メモリ部15を備え、キャッシュメモリ部14および共有メモリ部15は全チャネルIF部11及びディスクIF部12からアクセス可能な構成となっている。この従来技術では、チャネルIF部11及びディスクIF部12と共有メモリ部15、またチャネルIF部11及びディスクIF部12とキャッシュメモリ部14間は1:1に接続されている。
【0004】
また、他の従来技術では、図3に示すようにホストコンピュータ50とディスクアレイ制御装置3間のデータ転送を実行する複数のチャネルIF部11と、磁気ディスク装置20とディスクアレイ制御装置3間のデータ転送を実行する複数のディスクIF部12と、磁気ディスク装置20のデータを一時的に格納するキャッシュメモリ部14と、磁気ディスク装置20のデータ及びディスクアレイ制御装置3に関する制御情報を格納する共有メモリ部15を備え、各チャネルIF部11及びディスクIF部12と共有メモリ部15間は共有バス130で接続され、各チャネルIF11部及びディスクIF部12とキャッシュメモリ部14間は共有バス131により接続されている。
【0005】
【発明が解決しようとする課題】
ディスクアレイシステムに対する高性能化要求に対して、これまでは、ディスクアレイ制御装置の大規模化や構成要素の高速化、例えばチャネルIF部内のプロセッサ数やキャッシュメモリ容量の増大、高性能プロセッサの適用、内部バス幅の拡大やバス転送能力の向上などで対応してきた。しかしながら、図3に示した従来技術では、内部バスの転送能力がシステムの大規模化および性能向上に追従するのが困難になりつつある。
【0006】
そこで内部バス性能を向上させて高いメモリアクセス性能を得るために、図2に示した従来技術のように、チャネルIF部及びディスクIF部と共有メモリ及びキャッシュメモリ間を1:1に接続する方法が考えられる。この方法によれば、メモリに接続したアクセスパス数に比例して内部バス性能が増加する。しかしながら、搭載するプロセッサ数の増大に比例して、共有メモリおよびキャッシュメモリへのアクセス要求も増加する。そのため、内部バス性能を最大限に引き出すために、各チャネルIF部、ディスクIF部−共有メモリ、キャッシュメモリ間のアクセスを効率的に制御する必要がある。
【0007】
本発明の目的は上述の課題を解消し、チャネルIF部、ディスクIF部−キャッシュメモリ間のアクセスパスを効率的に使用し、キャッシュメモリへのデータ転送スループットの高いディスクアレイ制御装置を提供することにある。
【0008】
【課題を解決するための手段】
上記目的は、ホストコンピュータとのインターフェース部とを含むチャネルインタフェース部と、ディスク装置とのインターフェース部を含むディスクインタフェース部と、前記ディスク装置に格納するデータの一部を一時的に格納するキャッシュメモリ部と、1つの前記チャネルインターフェース部と1つの前記キャッシュメモリ部との間を1対1に接続する第1のアクセスバスと、1つの前記ディスクインターフェース部と1つの前記キャッシュメモリ部との間を1対1に接続する第2のアクセスパスと、前記第1のアクセスバスのアクセス回数と前記第2のアクセスバスのアクセス回数の比に基いて、前記第1のアクセスパスの駆動周波数及び前記第2のアクセスバスの駆動周波数を制御する制御手段とを有することを特徴とするディスクアレイ制御装置により達成される。
【0020】
また、上記目的は、ホストコンピュータとのインターフェース部とを含むチャネルインタフェース部と、 ディスク装置とのインターフェース部を含むディスクインタフェース部と、前記ディスク装置に格納するデータの一部を一時的に格納するキャッシュメモリ部と、前記チャネルインタフェース部及び前記ディスクインタフェース部と前記キャッシュメモリ部との間の接続を切り替えるセレクタ部と、1つの前記チャネルインターフェース部と1つの前記セレクタ部との間を1対1に接続する第1のアクセスパスと、1つの前記ディスクインターフェース部と1つの前記セレクタ部との間を1対1に接続する第2のアクセスパスと、1つの前記セレクタ部と1つの前記キャッシュメモリ部とを接続する第3のアクセスパスと、前記第1のアクセスバスのアクセス回数と前記第2のアクセスバスのアクセス回数の比に基いて、前記第1のアクセスパスの駆動周波数及び前記第2のアクセスパスの駆動周波数を制御する制御手段とを有することを特徴とするディスクアレイ制御装置によっても達成される。
【0026】
【発明の実施の形態】
以下、本発明の実施例を、図面を用いて説明する。
【0027】
(実施例1)
図1に、本発明の一実施例を示す。
【0028】
ディスクアレイ制御装置1は、ホストコンピュータ50との2つのインターフェース部(チャネルIF部)11、磁気ディスク装置20との2つのインターフェース部(ディスクIF部)12、2つのキャッシュメモリ部14と、8本のアクセスパス0:135とを有する。
【0029】
チャネルIF部11は、ホストコンピュータ50との2つのIF(ホストIF)102、2つのマイクロプロセッサ101、キャッシュメモリ部14への1つのアクセス制御部(CMアクセス制御部)104を有し、ホストコンピュータ50とキャッシュメモリ部14間のデータ転送を実行する。マイクロプロセッサ101及びホストIF102は内部バス110によって接続され、CMアクセス制御部104は2つのホストIF102へ直接接続されている。
【0030】
ディスクIF部12は、磁気ディスク装置20との2つのIF(ドライブIF)103、2つのマイクロプロセッサ101、キャッシュメモリ部14への1つのアクセス制御部(CMアクセス制御部)104を有し、磁気ディスク装置20とキャッシュメモリ部14間のデータ転送を実行する。マイクロプロセッサ101及びドライブIF103は内部バス111によって接続され、CMアクセス制御部104は2つのドライブIF102へ直接接続されている。
【0031】
キャッシュメモリ部14は、メモリコントローラ105とメモリモジュール106を有し、磁気ディスク装置20へ記録するデータや、そのデータ及びシステム内の管理情報等を格納する。
【0032】
1つのチャネルIF部11と1つのキャッシュメモリ部14間、及び1つのディスクIF部12と1つのキャッシュメモリ部14間は1本のアクセスパス0:135で接続する。ここで、各アクセスパス0:135の幅は同じである。また、上記個数は一実施例に過ぎず、個数を上記に限定するものではない。
【0033】
図4は、CMアクセス制御部104内の構成を示している。CMアクセス制御部104は、セレクタ302、アドレス、コマンド、データを一時格納するパケットバッファ303、キャッシュメモリ部14に繋がるアクセスパス0:135とのパスIF301、データのエラーチェック部300、データ転送制御部310、データ転送時にデータと並送する同期信号の発生/受信部320を有する。セレクタ302の2つのポートはデータ線210でホストIF102あるいはドライブIF103に接続される。また、セレクタ302の他の2つのポートはパスIF301に接続される。パスIF301は、アクセスパス0:135により、キャッシュメモリ部14と接続される。データ転送制御部310は、制御線1:211により、ホストIF102又はドライブIF103、及びキャッシュメモリ部14のメモリコントローラ105内のデータ転送制御部315と接続される。データ転送制御部310は、セレクタ302の切り替えを行う。同期信号発生/受信部320は、同期信号線220により、メモリコントローラ105内の同期信号発生/受信部320と接続される。データの送信時には、データ転送制御部310から指示された駆動周波数で、パスIF301と同期してデータと同期信号を並送する。またデータの受信時には、データと並送されてきた同期信号を使用してデータを取り込む。
【0034】
図6は、CMアクセス制御部104内のデータ転送制御部310内の構成を示している。データ転送制御部310は、アービタ311、2つの制御信号発生/受信部312、駆動周波数選択部313を有する。1つの制御信号発生/受信部312は、制御線1:211により、ホストIF102またはドライブIF103と接続され、アービトレーションに必要な情報をアービタ311に送る。アービタ311は、アービトレーションを行い、セレクタ切り替え信号をセレクタ302へ送出する。もう1つの制御信号発生/受信部312は、制御線2:212により、メモリコントローラ105と接続される。また、アービタ311からセレクタ切り替え完了の信号を受け、制御線2:212によってアクセス開始信号を送出する。さらに、制御線2:212によって、メモリコントローラ105から送られてきたアクセスパス0:135の駆動周波数変更を指示する信号を駆動周波数選択部313へ送出する。駆動周波数選択部313は、同期信号発生/受信部320が設定可能な駆動周波数のテーブルを持っており、駆動周波数変更を指示する信号によりテーブルから駆動周波数の値を選択し、その値を同期信号発生/受信部320へ送る。
【0035】
図5は、キャッシュメモリ部14内の構成を示している。キャッシュメモリ部14は、メモリコントローラ105とメモリモジュール106を有する。メモリコントローラ105は、チャネルIF部11及びディスクIF部12に繋がるアクセスパス0:135との4つのパスIF301、セレクタ304、アドレス、コマンド、データを一時格納するパケットバッファ303、データのエラーチェック部300、メモリモジュール106へのアクセスを制御するメモリ制御部307、CMアクセス制御部104から送出されたアドレス及びコマンドを解析するアドレス・コマンド(adr、cmd)解析部305、データ転送制御部315、データ転送時にデータと並送する同期信号の発生/受信部320を有する。データ転送制御部315は、制御線2:212でCMアクセス制御部104内のデータ転送制御部310に接続される。また、データ転送制御部315は、セレクタ304の切り替えを行う。また、同期信号発生/受信部320は、同期信号線220でCMアクセス制御部104内の同期信号発生/受信部320に接続される。データの送信時には、データ転送制御部315から指示された駆動周波数で、パスIF301と同期してデータと同期信号を並送する。またデータの受信時には、データと並送されてきた同期信号を使用してデータを取り込む。
【0036】
図8は、メモリコントローラ105内のアドレス(adr)、コマンド(cmd)解析部305の構成を示している。adr、cmd解析部305は、バッファ351、アドレス(adr)抽出部352、コマンド(cmd)抽出部353、カウンタ354を有する。adr、cmd解析部305では、メモリコントローラ105に接続される4本のアクセスパス0:135それぞれに1つずつ割り当てられたバッファ351に、アドレス、コマンドを格納する。adr抽出部352及びcmd抽出部353では、アクセスするメモリのアドレスとアクセスの種類を割り出し、メモリ制御部307へ送出する。また、バッファ351にアドレス及びコマンドを格納する毎に、バッファ毎に割り当てたカウンタをカウントアップする。
【0037】
図7は、メモリコントローラ105のデータ転送制御部315内の構成を示している。データ転送制御部315は、アービタ311、2つの制御信号発生/受信部312、駆動周波数演算部314、駆動周波数選択部313を有する。1つの制御信号発生/受信部312は、制御線2:212により、CMアクセス制御部104内のデータ転送制御部310と接続され、CMアクセス制御部104からのアクセス要求をアービタ311に伝える。アービタ311は、アービトレーションを行い、セレクタ切り替え信号をセレクタ304へ送出する。もう1つの制御信号発生/受信部312は、制御線4:214により、メモリ制御部307と接続され、アービタ311からセレクタ切り替え完了の信号を受け、制御線4:214によってメモリ制御部307へメモリアクセス開始信号を送出する。駆動周波数演算部314は、adr、cmd解析部305内のカウンタのカウント数を読み出し、4本のアクセスパス0:135のアクセス回数の比を計算し、駆動周波数選択部313へ送る。駆動周波数選択部313は、同期信号発生/受信部320が設定可能な駆動周波数のテーブルを持っており、そのテーブルを参照して各アクセスパスの駆動周波数の比がアクセス回数の比に近くなるように各アクセスパスの駆動周波数を選択し、その駆動周波数の値を同期信号発生/受信部320へ送る。また駆動周波数選択部313は、制御信号発生/受信部312、制御線2:212を介して、アクセスパス0:135の駆動周波数変更を指示する信号をデータ転送制御部310内の駆動周波数選択部313へ送出する。
【0038】
チャネルIF部11からキャッシュメモリ部14へのアクセス回数及びディスクIF部12からキャッシュメモリ部14へのアクセス回数は、ホストコンピュータからのアクセスの種類によって変化する。このため、アクセス回数の多いアクセスパスのスループットは下がり、それがネックとなって装置全体のスループットが制限される。上記のようにアクセス回数の比をもとにアクセスパス0:135毎にデータ転送速度を変えることにより、アクセス回数の多いアクセスパスのスループットが高まる。これにより、アクセス回数の多いアクセスパスのスループットのネックが解消され、装置全体のスループットの向上が可能となる。
【0039】
また、アクセスパスの物理的な駆動周波数は固定しておき、データ転送制御部315のアービタ311において、アクセス回数の多い順にアクセスパスに優先度を設定してアービトレーションを行うことにより、アクセス回数の多いアクセスパスの実効的なデータ転送速度を上げることが可能となる。これによっても、アクセス回数の多いアクセスパスのスループットを高めることができ、装置全体のスループットの向上が可能となる。
【0040】
通常アクセス回数の差は、チャネルIF部11とキャッシュメモリ部14間のアクセスパスと、ディスクIF部12とキャッシュメモリ部14間のアクセスパスの間で生じる。したがって、チャネルIF部11とキャッシュメモリ部14間のアクセスパスと、ディスクIF部12とキャッシュメモリ部14間のアクセスパスの間で、データ転送速度を等しくしたり、異ならせたりすることにより、アクセスパス毎にデータ転送速度を制御する場合に比べて、データ転送速度の制御が容易になる。
【0041】
本実施例では、チャネルIF部11あるいはディスクIF部12に繋がるアクセスパス0:135とのパスIF301の数を4つとした。上記個数は一実施例に過ぎず、個数を上記に限定するものではない。
【0042】
次に、キャッシュメモリ部14へのアクセス時の手順について述べる。キャッシュメモリ部14へアクセスする場合、マイクロプロセッサ101は、ホストIF102あるいはドライブIF103へ、キャッシュメモリ部14へのアクセス開始を指示する。
【0043】
アクセス開始の指示を受けたホストIF102あるいはドライブIF103は、制御線1:211によりCMアクセス制御部104内のデータ転送制御部310へアクセス開始を示す信号と、アクセス先のメモリコントローラ105を示す信号を送出する。それとともに、データ線210を通してアドレス、コマンド、データ(データの書き込み時のみ)を送出する。
【0044】
CMアクセス制御部104は、データ線210を通して送られてきたアドレス、コマンド、データ(データの書き込み時のみ)をパケットバッファ303に格納する。データ転送制御部310はアービトレーションを行ってパスIF301の使用権を決定し、セレクタ302を切り替えるとともに、制御線2:212によってメモリコントローラ105内のデータ転送制御部315へアクセス開始を示す信号と、アクセス先のメモリコントローラ105を示す信号を出す。
【0045】
メモリコントローラ105内のデータ転送制御部315は、制御線2:212によってアクセス開始の信号と、アクセス先のメモリコントローラ105を示す信号を受けると、CMアクセス制御部104へ、制御線2:212によってアクセス承認を返す。
【0046】
CMアクセス制御部104はアクセス承認を受けると、パケットバッファ303からアドレス、コマンド、データ(データの書き込み時のみ)を読み出し、セレクタ302、パスIF301を介してアクセスパス0:135へ送出する。
【0047】
メモリコントローラ105は、アクセスパス0:135を通して送られてきたアドレス、コマンド、データ(データの書き込み時のみ)をパケットバッファ303に格納する。また、送られてきたアドレス、コマンドは、アドレス(adr)、コマンド(cmd)解析部305へ取り込み、解析の結果得られたメモリの制御情報をメモリ制御部307へ送出する。また、アクセス先メモリコントローラ105を調べ、自メモリコントローラと異なる場合はエラーとみなし障害処理を行う。
【0048】
メモリコントローラ105内のデータ転送制御部315は、アービトレーションを行ってメモリアクセス権を決定し、セレクタ304を切り替える。
【0049】
データの書き込み時は、パケットバッファ303からデータを読み出し、セレクタ304を介してメモリモジュール106へ書き込む。データの読み出し時は、メモリモジュール106からデータを読み出し、セレクタ304、パスIF301を介してアクセスパス0:135へ送出する。
【0050】
メモリモジュール106へのアクセスが終了すると、データ転送制御部315においてアクセス状況を示すステータスを生成し、CMアクセス制御部104を経由して、ホストIF102またはドライブIF103へ送出する。
【0051】
また図10に示すように、 1つのCMアクセス制御部104からキャッシュメモリ部14へ接続されるアクセスパス0:135の本数が多いディスクアレイ制御装置1においても、本実施例を実施する上で問題はない。ホストIF及びドライブIFとして、今後はファイバーチャネル等のスループットが100MB/s以上の高速IFが使用されることが多くなると考えられる。アクセスパス0:135のスループットは、ホストIF及びドライブIFのスループットと同等にする必要がある。このため上記のように高速IFを使用する場合、1つのCMアクセス制御部104からキャッシュメモリ部14へ接続されるアクセスパス0:135の本数が多い図10の構成が有効となる。
【0052】
(実施例2)
図11に、本発明の他の実施例を示す。
【0053】
ディスクアレイ制御装置1は、チャネルIF部11、ディスクIF部12、セレクタ部13、キャッシュメモリ部14と、アクセスパス0:135、アクセスパス1:136を有する。
【0054】
チャネルIF部11、ディスクIF部12、及びキャッシュメモリ部14は、図1に示す実施例1の構成と同様である。
【0055】
セレクタ部13には、2つのチャネルIF部11、2つのディスクIF部12からそれぞれ2本ずつ、計8本のアクセスパス0:135が接続される。また、セレクタ部13には、2つのキャッシュメモリ部14へのアクセスパス1:136が2本ずつ、計4本接続される。
【0056】
アクセスパス0:135とアクセスパス1:136の間には上記のようなパス数の関係があるため、セレクタ部13ではチャネルIF部11及びディスクIF部12からの8本のアクセスパス0:135からの要求の内、キャッシュメモリ部14へのアクセスパス1:136の数に相当する4個だけを選択して実行する機能を持つ。
【0057】
ここで、上記個数は一実施例に過ぎず、個数を上記に限定するものではない。1つのセレクタ部13からキャッシュメモリ部14へ接続されるアクセスパスの数を、チャネルIF部11及びディスクIF部12から1つのセレクタ部13に接続されるアクセスパスの数より少なくし、チャネルIF部11とディスクIF部12の合計数よりもセレクタ部13の数が少なくなるように上記個数を設定すると、キャッシュメモリ部14へ接続されるアクセスパス数を削減することができる。キャッシュメモリ部14のLSIピンネック及びパッケージのコネクタネックという問題が生じた場合、上記のようにすることで、LSIのピンネック及びパッケージのコネクタネックを解消することができる。
【0058】
CMアクセス制御部104は、図4に示す構成と同様であるが、制御線2:212は、セレクタ部13内のデータ転送制御部315に接続される。
【0059】
図9は、セレクタ部13内の構成を示している。セレクタ部13は、チャネルIF部11及びディスクIF部12に繋がるアクセスパス0:135との8つのパスIF301、メモリコントローラ105に繋がるアクセスパス1:136との4つのパスIF301、両者間を互いに接続するセレクタ306、パケットバッファ303、データのエラーチェック部300、CMアクセス制御部104から送出されたアドレス及びコマンドを解析するアドレス(adr)、コマンド(cmd)解析部305、データ転送制御部315、データ転送時にデータと並送する同期信号の発生/受信部320を有する。データ転送制御部315は、制御線2:212でCMアクセス制御部104内のデータ転送制御部310に接続され、制御線3:213でメモリコントローラ105内のデータ転送制御部315に接続される。また、データ転送制御部315は、セレクタ306の切り替えを行う。パケットバッファ303は、アクセスパス0:135側のパスの駆動周波数とアクセスパス1:136側の駆動周波数が異なる場合、周波数の差を吸収するために、転送するデータの一部または全部をバッファリングする。アクセスパス0:135側の同期信号発生/受信部320は、同期信号線220でCMアクセス制御部104内の同期信号発生/受信部320に接続され、アクセスパス1:136側の同期信号発生/受信部320は、同期信号線220でメモリコントローラ105内の同期信号発生/受信部320に接続される。データの送信時には、データ転送制御部315から指示された駆動周波数で、パスIF301と同期してデータと同期信号を並送する。またデータの受信時には、データと並送されてきた同期信号を使用してデータを取り込む。
【0060】
adr、cmd解析部305は、図8に示す構成と同様に、バッファ351、アドレス(adr)抽出部352、コマンド(cmd)抽出部353、カウンタ354を有する。adr、cmd解析部305では、メモリコントローラ105に接続される8本のアクセスパス0:135それぞれに1つずつ割り当てられたバッファ351に、アドレス、コマンドを格納する。adr抽出部352及びcmd抽出部353では、アクセスするメモリコントローラ105とアクセスの種類を割り出し、データ転送制御部315内のアービタ311へ送出する。また、バッファ351にアドレス及びコマンドを格納する毎に、バッファ毎に割り当てたカウンタをカウントアップする。
【0061】
データ転送制御部315は、図7に示す構成と同様に、アービタ311、2つの制御信号発生/受信部312、駆動周波数演算部314、駆動周波数選択部313を有する。1つの制御信号発生/受信部312は、制御線2:212でCMアクセス制御部104内のデータ転送制御部310に接続される。また、CMアクセス制御部104からのアクセス要求をアービタ311に伝える。アービタ311は、adr、cmd解析部305からの情報に基づいてアービトレーションを行い、セレクタ切り替え信号をセレクタ306へ送出する。もう1つの制御信号発生/受信部312は、図7とは異なり、制御線3:213でメモリコントローラ105内のデータ転送制御部315に接続される。また、アービタ311からセレクタ切り替え完了の信号を受け、制御線3:213によってメモリコントローラ105内のデータ転送制御部315にアクセス開始信号を送出する。駆動周波数演算部314は、adr、cmd解析部305内のカウンタのカウント数を読み出し、8本のアクセスパス0:135のアクセス回数の比を計算し、駆動周波数選択部313へ送る。駆動周波数選択部313は、同期信号発生/受信部320が設定可能な駆動周波数のテーブルを持っており、そのテーブルを参照して各アクセスパスの駆動周波数の比がアクセス回数の比に近くなるように各アクセスパスの駆動周波数を選択し、その駆動周波数の値をアクセスパス0:135側の同期信号発生/受信部320へ送る。また駆動周波数選択部313は、アクセスパス0:135の制御信号発生/受信部312、制御線2:212を介して、アクセスパス0:135の駆動周波数変更を指示する信号をデータ転送制御部310内の駆動周波数選択部313へ送出する。また、駆動周波数選択部313は、アクセスパス1:136側の制御信号発生/受信部312を介してメモリコントローラ105から駆動周波数変更を示す信号を受け、設定可能な駆動周波数のテーブルから駆動周波数の値を選択し、その値をアクセスパス1:136側の同期信号発生/受信部320へ送る。
【0062】
チャネルIF部11からキャッシュメモリ部14へのアクセス回数及びディスクIF部12からキャッシュメモリ部14へのアクセス回数は、ホストコンピュータからのアクセスの種類によって変化する。このため、アクセス回数の多いアクセスパスのスループットは下がり、それがネックとなって装置全体のスループットが制限される。上記のようにアクセス回数の比をもとにアクセスパス0:135毎にデータ転送速度を変えることにより、アクセス回数の多いアクセスパスのスループットが高まる。これにより、アクセス回数の多いアクセスパスのスループットのネックが解消され、装置全体のスループットの向上が可能となる。
【0063】
メモリコントローラ105は、図5に示す構成と同様で、その中のデータ転送制御部315は、図7に示す構成と同様で、実施例1と同様の処理を行う。
【0064】
セレクタ部13とキャッシュメモリ部14間の各アクセスパス1:136それぞれのアクセス回数が、各キャッシュメモリ部へのアクセスの偏りによって変化する場合、上記のようにアクセスパス1:136毎にデータ転送速度を可変にし、アクセス回数の多いアクセスパスのスループットを高めることによって、装置全体のスループットの向上が可能となる。図11に示すディスクアレイ制御装置1では、この制御を、上記のチャネルIF部11及びディスクIF部12とセレクタ部13間での制御と合わせて行うことにより、どちらか一方だけ制御を行う場合より、装置全体のスループットの向上が可能となる。
【0065】
また、アクセスパスの物理的な駆動周波数は固定しておき、データ転送制御部315のアービタ311において、アクセス回数の多い順にアクセスパスに優先度を設定してアービトレーションを行うことにより、アクセス回数の多いアクセスパスの実効的なデータ転送速度を上げることが可能となる。これによっても、アクセス回数の多いアクセスパスのスループットを高めることができ、装置全体のスループットの向上が可能となる。
【0066】
図12に示すように、チャネルIF部11及びディスクIF部12とキャッシュメモリ部14間をスイッチ(SW)16を用いた相互結合網110で接続するディスクアレイ制御装置1では、SW16内に図9に示すセレクタ部13内のデータ転送制御部315及び同期信号発生/受信部320の機能を持たせることにより、各アクセスパス毎に駆動周波数を可変にすることが可能となる。それによって、図12に示すディスクアレイ制御装置1においても、装置全体のデータ転送スループットを向上することが可能となる。
【0067】
(実施例3)
実施例1または2において、ディスクIF部12とキャッシュメモリ部14間のデータ転送速度をチャネルIF部11とキャッシュメモリ部14間のデータ転送速度より大きくする。また、アクセスパスのデータ転送速度は可変とせずに、固定する。
【0068】
ディスクアレイ制御装置では、一般的にディスクIF部12からキャッシュメモリ部14へのアクセス回数は、チャネルIF部11からキャッシュメモリ部14へのアクセス回数以上となる。ディスクアレイではデータに冗長性を持たせるため、データの書き込み時にパリティを生成して、データとともに磁気ディスク装置に記録する。したがって、データの書き込み時には、ディスクIF部12とキャッシュメモリ部14間でパリティ生成のためのアクセスが発生する。これは、一般的にライトペナルティと呼ばれている。このため、ディスクIF部12からキャッシュメモリ部14へのアクセス回数は、チャネルIF部11からキャッシュメモリ部14へのアクセス回数以上となる。
【0069】
通常、ディスクIF部12とキャッシュメモリ部14間のアクセス回数とチャネルIF部11とキャッシュメモリ部14間のアクセス回数の比が最大で約3:1となるため、本実施例では、ディスクIF部12とキャッシュメモリ部14間のデータ転送速度がチャネルIF部11とキャッシュメモリ部14間のデータ転送速度の3倍になるように設定する。
【0070】
上記のように、アクセス回数の多いアクセスパスのデータ転送速度をアクセス回数の少ないアクセスパスのデータ転送速度より大きく設定しておくことにより、 アクセス回数の多いアクセスパスのスループットが装置全体のスループットを制限することがなくなり、装置全体のスループットの向上が可能となる。
【0071】
(実施例4)
図13に、本発明の他の実施例を示す。
【0072】
ディスクアレイ制御装置1は、ホストコンピュータ50との2つのインターフェース部(チャネルIF部)11、磁気ディスク装置20との2つのインターフェース部(ディスクIF部)12、2つのキャッシュメモリ部14と、12本のアクセスパス0:135を有する。
【0073】
チャネルIF部11は、図1に示す実施例1の構成と同様である。
【0074】
ディスクIF部12は、CMアクセス制御部104からキャッシュメモリ部14へのアクセスパス0:135が4本に増えている以外は、図1に示す実施例1の構成と同様である。
【0075】
キャッシュメモリ部14は、メモリコントローラ105に接続されるアクセスパス0:135の本数が6本に増えている以外は、図1に示す実施例の構成と同様である。
【0076】
ここで、上記個数は一実施例に過ぎず、個数を上記に限定するものではない。
【0077】
本実施例の特徴は、ディスクIF部12とキャッシュメモリ部14間のアクセスパス0:135の本数をチャネルIF部11とキャッシュメモリ部14間のアクセスパス0:135の本数より多くするということである。
【0078】
ディスクアレイ制御装置では、一般的にディスクIF部12からキャッシュメモリ部14へのアクセス回数は、チャネルIF部11からキャッシュメモリ部14へのアクセス回数以上となる。ディスクアレイではデータに冗長性を持たせるため、データの書き込み時にパリティを生成して、データとともに磁気ディスク装置に記録する。したがって、データの書き込み時には、ディスクIF部12とキャッシュメモリ部14間でパリティ生成のためのアクセスが発生する。これは、一般的にライトペナルティと呼ばれている。このため、ディスクIF部12からキャッシュメモリ部14へのアクセス回数は、チャネルIF部11からキャッシュメモリ部14へのアクセス回数以上となる。
【0079】
実施例1で説明した方法により、アクセスパスのデータ転送速度を可変にできない場合には、アクセス回数の多いアクセスパスの本数をアクセス回数の少ないアクセスパスの本数より多くすることにより、アクセス回数の多いアクセスパスのスループットを高くすることができる。これにより、アクセス回数の多いアクセスパスのスループットのネックが解消され、装置全体のスループットの向上が可能となる。
【0080】
また図14に示すように、 1つのCMアクセス制御部104からキャッシュメモリ部14へ接続されるアクセスパス0:135の本数が多いディスクアレイ制御装置1においても、本実施例を実施する上で問題はない。ホストIF及びドライブIFとして、今後はファイバーチャネル等のスループットが100MB/s以上の高速IFが使用されることが多くなると考えられる。アクセスパス0:135のスループットをホストIF及びドライブIFのスループットと同等にする必要がある。このため上記のように高速IFを使用する場合、1つのCMアクセス制御部104からキャッシュメモリ部14へ接続されるアクセスパス0:135の本数が多い図14の構成が有効となる。
【0081】
【発明の効果】
本発明によれば、アクセス回数の多いアクセスパスのスループットによって、ディスクアレイ装置全体のスループットが制限されることを防ぐことが可能となる。それによって、ディスクアレイ制御装置のデータ転送スループットが向上する。
【図面の簡単な説明】
【図1】本発明によるディスクアレイ制御装置の構成を示す図。
【図2】従来のディスクアレイ制御装置の構成を示す図。
【図3】従来のディスクアレイ制御装置の構成を示す図。
【図4】本発明によるディスクアレイ制御装置内のCMアクセス制御部の構成を示す図。
【図5】本発明によるディスクアレイ制御装置内のキャッシュメモリ部の構成を示す図。
【図6】本発明によるディスクアレイ制御装置内のデータ転送制御部の構成を示す図。
【図7】本発明によるディスクアレイ制御装置内のデータ転送制御部の他の構成を示す図。
【図8】本発明によるディスクアレイ制御装置内のアドレス(adr)、コマンド(cmd)解析部の構成を示す図。
【図9】本発明によるディスクアレイ制御装置内のセレクタ部の構成を示す図。
【図10】本発明によるディスクアレイ制御装置の他の構成を示す図。
【図11】本発明によるディスクアレイ制御装置の他の構成を示す図。
【図12】本発明によるディスクアレイ制御装置の他の構成を示す図。
【図13】本発明によるディスクアレイ制御装置の他の構成を示す図。
【図14】本発明によるディスクアレイ制御装置の他の構成を示す図。
【符号の説明】
1…ディスクアレイ制御装置、11…チャネルIF部、12…ディスクIF部、14…キャッシュメモリ部、20…磁気ディスク装置、50…ホストコンピュータ、101…マイクロプロセッサ、102…ホストIF、103…ドライブIF、104…CMアクセス制御部、105…メモリコントローラ、106…メモリモジュール、110、111…内部バス、135…アクセスパス0。
Claims (12)
- ホストコンピュータとのインターフェース部とを含むチャネルインタフェース部と、
ディスク装置とのインターフェース部を含むディスクインタフェース部と、
前記ディスク装置に格納するデータの一部を一時的に格納するキャッシュメモリ部と、
1つの前記チャネルインターフェース部と1つの前記キャッシュメモリ部との間を1対1に接続する第1のアクセスバスと、
1つの前記ディスクインターフェース部と1つの前記キャッシュメモリ部との間を1対1に接続する第2のアクセスパスと、
前記第1のアクセスバスのアクセス回数と前記第2のアクセスバスのアクセス回数の比に基いて、前記第1のアクセスパスの駆動周波数及び前記第2のアクセスバスの駆動周波数を制御する制御手段とを有することを特徴とするディスクアレイ制御装置。 - 前記制御手段は、複数の前記第1のアクセスバスのアクセス回数と複数の前記第2のアクセスバスのアクセス回数の比に基いて、各第1のアクセスパスの駆動周波数及び各第2のアクセスバスの駆動周波数を制御することを特徴とする請求項1に記載のディスクアレイ制御装置。
- 前記制御手段は、前記第1のアクセスパスの駆動周波数及び前記第2のアクセスバスの駆動周波数を設定したテーブルを有し、前記第1のアクセスバスのアクセス回数と前記第2のアクセスバスのアクセス回数の比を計算し、前記第1のアクセスバスのアクセス回数と前記第2のアクセスバスのアクセス回数の比に応じた前記第1のアクセスパスの駆動周波数及び前記第2のアクセスバスの駆動周波数を前記テーブルから選択することを特徴とする請求項1
に記載のディスクアレイ制御装置。 - 前記チャネルインターフェース部は、前記第1のアクセスバスに対し、前記制御手段で制御された前記第1のアクセスパスの駆動周波数で、データを送出し、
前記ディスクインターフェース部は、前記第2のアクセスパスに対し、前記制御手段で制御された前記2のアクセスパスの駆動周波数で、データを送出することを特徴とする請求項1に記載のディスクアレイ制御装置。 - 前記キャッシュメモリ部は、前記第1のアクセスパスに対し、前記制御手段で制御された前記第1のアクセスパスの駆動周波数で、データを送出し、
前記キャッシュメモリ部は、前記第2のアクセスパスに対し、前記制御手段で制御された前記第2のアクセスパスの駆動周波数で、データを送出することを特徴とする請求項1に記載のディスクアレイ制御装置。 - ホストコンピュータとのインターフェース部とを含むチャネルインタフェース部と、
ディスク装置とのインターフェース部を含むディスクインタフェース部と、
前記ディスク装置に格納するデータの一部を一時的に格納するキャッシュメモリ部と、
1つの前記チャネルインターフェース部と1つの前記キャッシュメモリ部との間を1対1に接続する第1のアクセスパスと、
1つの前記ディスクインターフェース部と1つの前記キャッシュメモリ部との間を1対1に接続する第2のアクセスパスと、
前記第1のアクセスバスのアクセス回数と前記第2のアクセスバスのアクセス回数の比に基いて、前記第1のアクセスパスの駆動周波数及び前記第2のアクセスバスの駆動周波数を制御する制御手段とを有し、
前記第1のアクセスパスの駆動周波数と前記第2のアクセスパスの駆動周波数とが異なることを特徴とするディスクアレイ制御装置。 - 前記第2のアクセスパスの駆動周波数は、前記第1のアクセスパスの駆動周波数よりも高いことを特徴とする請求項6に記載のディスクアレイ制御装置。
- ホストコンピュータとのインターフェース部とを含むチャネルインタフェース部と、
ディスク装置とのインターフェース部を含むディスクインタフェース部と、
前記ディスク装置に格納するデータの一部を一時的に格納するキャッシュメモリ部と、
前記チャネルインタフェース部及び前記ディスクインタフェース部と前記キャッシュメモリ部との間の接続を切り替えるセレクタ部と、
1つの前記チャネルインターフェース部と1つの前記セレクタ部との間を1対1に接続する第1のアクセスパスと、
1つの前記ディスクインターフェース部と1つの前記セレクタ部との間を1対1に接続する第2のアクセスパスと、
1つの前記セレクタ部と1つの前記キャッシュメモリ部とを接続する第3のアクセスパスと、
前記第1のアクセスバスのアクセス回数と前記第2のアクセスバスのアクセス回数の比に基いて、前記第1のアクセスパスの駆動周波数及び前記第2のアクセスパスの駆動周波数を制御する制御手段とを有することを特徴とするディスクアレイ制御装置。 - 前記キャッシュメモリ部は、複数の前記第3のアクセスバスのアクセス回数の比に基いて、各第3のアクセスバスの動作周波数を制御する他の制御手段を有することを特徴とする請求項8に記載のディスクアレイ制御装置。
- 前記チャネルインターフェース部は、前記第1のアクセスバスに対し、前記制御手段で制御された前記第1のアクセスパスの駆動周波数で、データを送出し、
前記ディスクインターフェース部は、前記第2のアクセスパスに対し、前記制御手段で制御された前記第2のアクセスバスの駆動周波数で、データを送出し、
前記セレクタ部は、各第3のアクセスパスに対し、前記キャッシュメモリ部の前記他の制御手段で制御された各第3のアクセスバスの駆動周波数で、データを送出することを特徴とする請求項9に記載のディスクアレイ制御装置。 - 前記キャッシュメモリ部は、各第3のアクセスパスに対し、前記キャッシュメモリ部の前記他の制御手段で制御された各第3のアクセスバスの駆動周波数で、データを送出することを特徴とする請求項9又は10に記載のディスクアレイ制御装置。
- 前記セレクタ部は、前記第1のアクセスパスに対し、前記制御手段で制御された前記第1のアクセスバスの駆動周波数で、データを送出し、
前記セレクタ部は、前記第2のアクセスパスに対し、前記制御手段で制御された前記第2のアクセスバスの駆動周波数で、データを送出することを特徴とする請求項8〜11の何れかに記載のディスクアレイ制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05507999A JP3684902B2 (ja) | 1999-03-03 | 1999-03-03 | ディスクアレイ制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05507999A JP3684902B2 (ja) | 1999-03-03 | 1999-03-03 | ディスクアレイ制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000250713A JP2000250713A (ja) | 2000-09-14 |
JP3684902B2 true JP3684902B2 (ja) | 2005-08-17 |
Family
ID=12988710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP05507999A Expired - Fee Related JP3684902B2 (ja) | 1999-03-03 | 1999-03-03 | ディスクアレイ制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3684902B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4696508B2 (ja) * | 2004-09-14 | 2011-06-08 | ソニー株式会社 | 転送制御装置 |
JP2007109141A (ja) | 2005-10-17 | 2007-04-26 | Hitachi Ltd | ストレージシステム |
KR101521493B1 (ko) | 2008-07-16 | 2015-05-19 | 시게이트 테크놀로지 엘엘씨 | 통신 속도를 조절할 수 있는 컨트롤러, 상기 컨트롤러를포함하는 데이터 저장 장치, 및 상기 데이터 저장 장치를포함하는 데이터 통신 시스템 |
-
1999
- 1999-03-03 JP JP05507999A patent/JP3684902B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000250713A (ja) | 2000-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6523088B2 (en) | Disk array controller with connection path formed on connection request queue basis | |
US7318122B2 (en) | Disk array control device with an internal connection system for efficient data transfer | |
US6385681B1 (en) | Disk array control device with two different internal connection systems | |
JP2872251B2 (ja) | 情報処理システム | |
US6850998B2 (en) | Disk array system and a method for controlling the disk array system | |
JPH11203201A (ja) | キャッシュメモリの配置方法およびデータ記憶システム | |
US7545746B2 (en) | Computer system for controlling routed data amount | |
US7441009B2 (en) | Computer system and storage virtualizer | |
JP3684902B2 (ja) | ディスクアレイ制御装置 | |
JP4025032B2 (ja) | ディスク制御装置、および、そのデータアクセス方法 | |
JP4737702B2 (ja) | ディスクアレイ制御装置 | |
JP2000339101A (ja) | ディスクアレイ制御装置 | |
JP2000250712A (ja) | ディスクアレイ制御装置 | |
JPH07234845A (ja) | 並列計算機における入出力用セルおよび並列計算機システム | |
JP4485503B2 (ja) | ディスクアレイ制御装置及びディスクアレイ制御方法 | |
JP2000010900A (ja) | ディスクアレイ制御装置、及びディスクアレイ | |
JPS60254341A (ja) | 半導体フアイル装置 | |
JP2003263278A (ja) | ディスクアレイ制御装置 | |
JP2001147911A (ja) | 並列計算機システムにおけるメモリアクセス方法ならびに装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040921 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041005 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041206 |
|
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: 20050510 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050523 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080610 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090610 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090610 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100610 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100610 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110610 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110610 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120610 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120610 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130610 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |