(57)【特許請求の範囲】
【請求項１】
ホストコンピュータとのインターフェース部とを含むチャネルインタフェース部と、
ディスク装置とのインターフェース部を含むディスクインタフェース部と、
前記ディスク装置に格納するデータの一部を一時的に格納するキャッシュメモリ部と、
１つの前記チャネルインターフェース部と１つの前記キャッシュメモリ部との間を１対１に接続する第１のアクセスバスと、
１つの前記ディスクインターフェース部と１つの前記キャッシュメモリ部との間を１対１に接続する第２のアクセスパスと、
前記第１のアクセスバスのアクセス回数と前記第２のアクセスバスのアクセス回数の比に基いて、前記第１のアクセスパスの駆動周波数及び前記第２のアクセスバスの駆動周波数を制御する制御手段とを有することを特徴とするディスクアレイ制御装置。
【請求項２】
前記制御手段は、複数の前記第１のアクセスバスのアクセス回数と複数の前記第２のアクセスバスのアクセス回数の比に基いて、各第１のアクセスパスの駆動周波数及び各第２のアクセスバスの駆動周波数を制御することを特徴とする請求項１に記載のディスクアレイ制御装置。
【請求項３】
前記制御手段は、前記第１のアクセスパスの駆動周波数及び前記第２のアクセスバスの駆動周波数を設定したテーブルを有し、前記第１のアクセスバスのアクセス回数と前記第２のアクセスバスのアクセス回数の比を計算し、前記第１のアクセスバスのアクセス回数と前記第２のアクセスバスのアクセス回数の比に応じた前記第１のアクセスパスの駆動周波数及び前記第２のアクセスバスの駆動周波数を前記テーブルから選択することを特徴とする請求項1
に記載のディスクアレイ制御装置。
【請求項４】
前記チャネルインターフェース部は、前記第１のアクセスバスに対し、前記制御手段で制御された前記第１のアクセスパスの駆動周波数で、データを送出し、
前記ディスクインターフェース部は、前記第２のアクセスパスに対し、前記制御手段で制御された前記２のアクセスパスの駆動周波数で、データを送出することを特徴とする請求項１に記載のディスクアレイ制御装置。
【請求項５】
前記キャッシュメモリ部は、前記第１のアクセスパスに対し、前記制御手段で制御された前記第１のアクセスパスの駆動周波数で、データを送出し、
前記キャッシュメモリ部は、前記第２のアクセスパスに対し、前記制御手段で制御された前記第２のアクセスパスの駆動周波数で、データを送出することを特徴とする請求項１に記載のディスクアレイ制御装置。
【請求項６】
ホストコンピュータとのインターフェース部とを含むチャネルインタフェース部と、
ディスク装置とのインターフェース部を含むディスクインタフェース部と、
前記ディスク装置に格納するデータの一部を一時的に格納するキャッシュメモリ部と、
１つの前記チャネルインターフェース部と１つの前記キャッシュメモリ部との間を１対１に接続する第１のアクセスパスと、
１つの前記ディスクインターフェース部と１つの前記キャッシュメモリ部との間を１対１に接続する第２のアクセスパスと、
前記第１のアクセスバスのアクセス回数と前記第２のアクセスバスのアクセス回数の比に基いて、前記第１のアクセスパスの駆動周波数及び前記第２のアクセスバスの駆動周波数を制御する制御手段とを有し、
前記第１のアクセスパスの駆動周波数と前記第２のアクセスパスの駆動周波数とが異なることを特徴とするディスクアレイ制御装置。
【請求項７】
前記第２のアクセスパスの駆動周波数は、前記第１のアクセスパスの駆動周波数よりも高いことを特徴とする請求項６に記載のディスクアレイ制御装置。
【請求項８】
ホストコンピュータとのインターフェース部とを含むチャネルインタフェース部と、
ディスク装置とのインターフェース部を含むディスクインタフェース部と、
前記ディスク装置に格納するデータの一部を一時的に格納するキャッシュメモリ部と、
前記チャネルインタフェース部及び前記ディスクインタフェース部と前記キャッシュメモリ部との間の接続を切り替えるセレクタ部と、
１つの前記チャネルインターフェース部と１つの前記セレクタ部との間を１対１に接続する第１のアクセスパスと、
１つの前記ディスクインターフェース部と１つの前記セレクタ部との間を１対１に接続する第２のアクセスパスと、
１つの前記セレクタ部と１つの前記キャッシュメモリ部とを接続する第３のアクセスパスと、
前記第１のアクセスバスのアクセス回数と前記第２のアクセスバスのアクセス回数の比に基いて、前記第１のアクセスパスの駆動周波数及び前記第２のアクセスパスの駆動周波数を制御する制御手段とを有することを特徴とするディスクアレイ制御装置。
【請求項９】
前記キャッシュメモリ部は、複数の前記第３のアクセスバスのアクセス回数の比に基いて、各第３のアクセスバスの動作周波数を制御する他の制御手段を有することを特徴とする請求項８に記載のディスクアレイ制御装置。
【請求項１０】
前記チャネルインターフェース部は、前記第１のアクセスバスに対し、前記制御手段で制御された前記第１のアクセスパスの駆動周波数で、データを送出し、
前記ディスクインターフェース部は、前記第２のアクセスパスに対し、前記制御手段で制御された前記第２のアクセスバスの駆動周波数で、データを送出し、
前記セレクタ部は、各第３のアクセスパスに対し、前記キャッシュメモリ部の前記他の制御手段で制御された各第３のアクセスバスの駆動周波数で、データを送出することを特徴とする請求項９に記載のディスクアレイ制御装置。
【請求項１１】
前記キャッシュメモリ部は、各第３のアクセスパスに対し、前記キャッシュメモリ部の前記他の制御手段で制御された各第３のアクセスバスの駆動周波数で、データを送出することを特徴とする請求項９又は１０に記載のディスクアレイ制御装置。
【請求項１２】
前記セレクタ部は、前記第１のアクセスパスに対し、前記制御手段で制御された前記第１のアクセスバスの駆動周波数で、データを送出し、
前記セレクタ部は、前記第２のアクセスパスに対し、前記制御手段で制御された前記第２のアクセスバスの駆動周波数で、データを送出することを特徴とする請求項８〜１１の何れかに記載のディスクアレイ制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データを分割して複数の磁気ディスク装置に格納するディスクアレイ装置の制御装置に関する。
【０００２】
【従来の技術】
コンピュータの主記憶のＩ／Ｏ性能に比べて、２次記憶装置として用いられる磁気ディスク装置を使ったサブシステムのＩ／Ｏ性能は３〜４桁程度小さく、従来からこの差を縮めること、すなわちサブシステムのＩ／Ｏ性能を向上する努力が各所でなされている。サブシステムのＩ／Ｏ性能を向上させるための１つの方法として、複数の磁気ディスク装置でサブシステムを構成し、データを分割して複数の磁気ディスク装置に格納する手段、いわゆるディスクアレイと呼ばれるシステムが知られている。
【０００３】
例えば、従来技術では、図２に示すようにホストコンピュータ５０とディスクアレイ制御装置２間のデータ転送を実行する複数のチャネルＩＦ部１１と、磁気ディスク装置２０とディスクアレイ制御装置２間のデータ転送を実行する複数のディスクＩＦ部１２と、磁気ディスク装置２０のデータを一時的に格納するキャッシュメモリ部１４と、磁気ディスク装置２０のデータ及びディスクアレイ制御装置２に関する制御情報を格納する共有メモリ部１５を備え、キャッシュメモリ部１４および共有メモリ部１５は全チャネルＩＦ部１１及びディスクＩＦ部１２からアクセス可能な構成となっている。この従来技術では、チャネルＩＦ部１１及びディスクＩＦ部１２と共有メモリ部１５、またチャネルＩＦ部１１及びディスクＩＦ部１２とキャッシュメモリ部１４間は１：１に接続されている。
【０００４】
また、他の従来技術では、図３に示すようにホストコンピュータ５０とディスクアレイ制御装置３間のデータ転送を実行する複数のチャネルＩＦ部１１と、磁気ディスク装置２０とディスクアレイ制御装置３間のデータ転送を実行する複数のディスクＩＦ部１２と、磁気ディスク装置２０のデータを一時的に格納するキャッシュメモリ部１４と、磁気ディスク装置２０のデータ及びディスクアレイ制御装置３に関する制御情報を格納する共有メモリ部１５を備え、各チャネルＩＦ部１１及びディスクＩＦ部１２と共有メモリ部１５間は共有バス１３０で接続され、各チャネルＩＦ１１部及びディスクＩＦ部１２とキャッシュメモリ部１４間は共有バス１３１により接続されている。
【０００５】
【発明が解決しようとする課題】
ディスクアレイシステムに対する高性能化要求に対して、これまでは、ディスクアレイ制御装置の大規模化や構成要素の高速化、例えばチャネルＩＦ部内のプロセッサ数やキャッシュメモリ容量の増大、高性能プロセッサの適用、内部バス幅の拡大やバス転送能力の向上などで対応してきた。しかしながら、図３に示した従来技術では、内部バスの転送能力がシステムの大規模化および性能向上に追従するのが困難になりつつある。
【０００６】
そこで内部バス性能を向上させて高いメモリアクセス性能を得るために、図２に示した従来技術のように、チャネルＩＦ部及びディスクＩＦ部と共有メモリ及びキャッシュメモリ間を１：１に接続する方法が考えられる。この方法によれば、メモリに接続したアクセスパス数に比例して内部バス性能が増加する。しかしながら、搭載するプロセッサ数の増大に比例して、共有メモリおよびキャッシュメモリへのアクセス要求も増加する。そのため、内部バス性能を最大限に引き出すために、各チャネルＩＦ部、ディスクＩＦ部−共有メモリ、キャッシュメモリ間のアクセスを効率的に制御する必要がある。
【０００７】
本発明の目的は上述の課題を解消し、チャネルＩＦ部、ディスクＩＦ部−キャッシュメモリ間のアクセスパスを効率的に使用し、キャッシュメモリへのデータ転送スループットの高いディスクアレイ制御装置を提供することにある。
【0008】
【課題を解決するための手段】
上記目的は、ホストコンピュータとのインターフェース部とを含むチャネルインタフェース部と、ディスク装置とのインターフェース部を含むディスクインタフェース部と、前記ディスク装置に格納するデータの一部を一時的に格納するキャッシュメモリ部と、１つの前記チャネルインターフェース部と１つの前記キャッシュメモリ部との間を１対１に接続する第１のアクセスバスと、１つの前記ディスクインターフェース部と１つの前記キャッシュメモリ部との間を１対１に接続する第２のアクセスパスと、前記第１のアクセスバスのアクセス回数と前記第２のアクセスバスのアクセス回数の比に基いて、前記第１のアクセスパスの駆動周波数及び前記第２のアクセスバスの駆動周波数を制御する制御手段とを有することを特徴とするディスクアレイ制御装置により達成される。
【００２０】
また、上記目的は、ホストコンピュータとのインターフェース部とを含むチャネルインタフェース部と、  ディスク装置とのインターフェース部を含むディスクインタフェース部と、前記ディスク装置に格納するデータの一部を一時的に格納するキャッシュメモリ部と、前記チャネルインタフェース部及び前記ディスクインタフェース部と前記キャッシュメモリ部との間の接続を切り替えるセレクタ部と、１つの前記チャネルインターフェース部と１つの前記セレクタ部との間を１対１に接続する第１のアクセスパスと、１つの前記ディスクインターフェース部と１つの前記セレクタ部との間を１対１に接続する第２のアクセスパスと、１つの前記セレクタ部と１つの前記キャッシュメモリ部とを接続する第３のアクセスパスと、前記第１のアクセスバスのアクセス回数と前記第２のアクセスバスのアクセス回数の比に基いて、前記第１のアクセスパスの駆動周波数及び前記第２のアクセスパスの駆動周波数を制御する制御手段とを有することを特徴とするディスクアレイ制御装置によっても達成される。
【００２６】
【発明の実施の形態】
以下、本発明の実施例を、図面を用いて説明する。
【００２７】
（実施例１）
図１に、本発明の一実施例を示す。
【００２８】
ディスクアレイ制御装置１は、ホストコンピュータ５０との２つのインターフェース部（チャネルＩＦ部）１１、磁気ディスク装置２０との２つのインターフェース部（ディスクＩＦ部）１２、２つのキャッシュメモリ部１４と、８本のアクセスパス０：１３５とを有する。
【００２９】
チャネルＩＦ部１１は、ホストコンピュータ５０との２つのＩＦ（ホストＩＦ）１０２、２つのマイクロプロセッサ１０１、キャッシュメモリ部１４への１つのアクセス制御部（ＣＭアクセス制御部）１０４を有し、ホストコンピュータ５０とキャッシュメモリ部１４間のデータ転送を実行する。マイクロプロセッサ１０１及びホストＩＦ１０２は内部バス１１０によって接続され、ＣＭアクセス制御部１０４は２つのホストＩＦ１０２へ直接接続されている。
【００３０】
ディスクＩＦ部１２は、磁気ディスク装置２０との２つのＩＦ（ドライブＩＦ）１０３、２つのマイクロプロセッサ１０１、キャッシュメモリ部１４への１つのアクセス制御部（ＣＭアクセス制御部）１０４を有し、磁気ディスク装置２０とキャッシュメモリ部１４間のデータ転送を実行する。マイクロプロセッサ１０１及びドライブＩＦ１０３は内部バス１１１によって接続され、ＣＭアクセス制御部１０４は２つのドライブＩＦ１０２へ直接接続されている。
【００３１】
キャッシュメモリ部１４は、メモリコントローラ１０５とメモリモジュール１０６を有し、磁気ディスク装置２０へ記録するデータや、そのデータ及びシステム内の管理情報等を格納する。
【００３２】
１つのチャネルＩＦ部１１と１つのキャッシュメモリ部１４間、及び１つのディスクＩＦ部１２と１つのキャッシュメモリ部１４間は１本のアクセスパス０：１３５で接続する。ここで、各アクセスパス０：１３５の幅は同じである。また、上記個数は一実施例に過ぎず、個数を上記に限定するものではない。
【００３３】
図４は、ＣＭアクセス制御部１０４内の構成を示している。ＣＭアクセス制御部１０４は、セレクタ３０２、アドレス、コマンド、データを一時格納するパケットバッファ３０３、キャッシュメモリ部１４に繋がるアクセスパス０：１３５とのパスＩＦ３０１、データのエラーチェック部３００、データ転送制御部３１０、データ転送時にデータと並送する同期信号の発生／受信部３２０を有する。セレクタ３０２の２つのポートはデータ線２１０でホストＩＦ１０２あるいはドライブＩＦ１０３に接続される。また、セレクタ３０２の他の２つのポートはパスＩＦ３０１に接続される。パスＩＦ３０１は、アクセスパス０：１３５により、キャッシュメモリ部１４と接続される。データ転送制御部３１０は、制御線１：２１１により、ホストＩＦ１０２又はドライブＩＦ１０３、及びキャッシュメモリ部１４のメモリコントローラ１０５内のデータ転送制御部３１５と接続される。データ転送制御部３１０は、セレクタ３０２の切り替えを行う。同期信号発生／受信部３２０は、同期信号線２２０により、メモリコントローラ１０５内の同期信号発生／受信部３２０と接続される。データの送信時には、データ転送制御部３１０から指示された駆動周波数で、パスＩＦ３０１と同期してデータと同期信号を並送する。またデータの受信時には、データと並送されてきた同期信号を使用してデータを取り込む。
【００３４】
図６は、ＣＭアクセス制御部１０４内のデータ転送制御部３１０内の構成を示している。データ転送制御部３１０は、アービタ３１１、２つの制御信号発生／受信部３１２、駆動周波数選択部３１３を有する。１つの制御信号発生／受信部３１２は、制御線１：２１１により、ホストＩＦ１０２またはドライブＩＦ１０３と接続され、アービトレーションに必要な情報をアービタ３１１に送る。アービタ３１１は、アービトレーションを行い、セレクタ切り替え信号をセレクタ３０２へ送出する。もう１つの制御信号発生／受信部３１２は、制御線２：２１２により、メモリコントローラ１０５と接続される。また、アービタ３１１からセレクタ切り替え完了の信号を受け、制御線２：２１２によってアクセス開始信号を送出する。さらに、制御線２：２１２によって、メモリコントローラ１０５から送られてきたアクセスパス０：１３５の駆動周波数変更を指示する信号を駆動周波数選択部３１３へ送出する。駆動周波数選択部３１３は、同期信号発生／受信部３２０が設定可能な駆動周波数のテーブルを持っており、駆動周波数変更を指示する信号によりテーブルから駆動周波数の値を選択し、その値を同期信号発生／受信部３２０へ送る。
【００３５】
図５は、キャッシュメモリ部１４内の構成を示している。キャッシュメモリ部１４は、メモリコントローラ１０５とメモリモジュール１０６を有する。メモリコントローラ１０５は、チャネルＩＦ部１１及びディスクＩＦ部１２に繋がるアクセスパス０：１３５との４つのパスＩＦ３０１、セレクタ３０４、アドレス、コマンド、データを一時格納するパケットバッファ３０３、データのエラーチェック部３００、メモリモジュール１０６へのアクセスを制御するメモリ制御部３０７、ＣＭアクセス制御部１０４から送出されたアドレス及びコマンドを解析するアドレス・コマンド（ａｄｒ、ｃｍｄ）解析部３０５、データ転送制御部３１５、データ転送時にデータと並送する同期信号の発生／受信部３２０を有する。データ転送制御部３１５は、制御線２：２１２でＣＭアクセス制御部１０４内のデータ転送制御部３１０に接続される。また、データ転送制御部３１５は、セレクタ３０４の切り替えを行う。また、同期信号発生／受信部３２０は、同期信号線２２０でＣＭアクセス制御部１０４内の同期信号発生／受信部３２０に接続される。データの送信時には、データ転送制御部３１５から指示された駆動周波数で、パスＩＦ３０１と同期してデータと同期信号を並送する。またデータの受信時には、データと並送されてきた同期信号を使用してデータを取り込む。
【００３６】
図８は、メモリコントローラ１０５内のアドレス（ａｄｒ）、コマンド（ｃｍｄ）解析部３０５の構成を示している。ａｄｒ、ｃｍｄ解析部３０５は、バッファ３５１、アドレス（ａｄｒ）抽出部３５２、コマンド（ｃｍｄ）抽出部３５３、カウンタ３５４を有する。ａｄｒ、ｃｍｄ解析部３０５では、メモリコントローラ１０５に接続される４本のアクセスパス０：１３５それぞれに１つずつ割り当てられたバッファ３５１に、アドレス、コマンドを格納する。ａｄｒ抽出部３５２及びｃｍｄ抽出部３５３では、アクセスするメモリのアドレスとアクセスの種類を割り出し、メモリ制御部３０７へ送出する。また、バッファ３５１にアドレス及びコマンドを格納する毎に、バッファ毎に割り当てたカウンタをカウントアップする。
【００３７】
図７は、メモリコントローラ１０５のデータ転送制御部３１５内の構成を示している。データ転送制御部３１５は、アービタ３１１、２つの制御信号発生／受信部３１２、駆動周波数演算部３１４、駆動周波数選択部３１３を有する。１つの制御信号発生／受信部３１２は、制御線２：２１２により、ＣＭアクセス制御部１０４内のデータ転送制御部３１０と接続され、ＣＭアクセス制御部１０４からのアクセス要求をアービタ３１１に伝える。アービタ３１１は、アービトレーションを行い、セレクタ切り替え信号をセレクタ３０４へ送出する。もう１つの制御信号発生／受信部３１２は、制御線４：２１４により、メモリ制御部３０７と接続され、アービタ３１１からセレクタ切り替え完了の信号を受け、制御線４：２１４によってメモリ制御部３０７へメモリアクセス開始信号を送出する。駆動周波数演算部３１４は、ａｄｒ、ｃｍｄ解析部３０５内のカウンタのカウント数を読み出し、４本のアクセスパス０：１３５のアクセス回数の比を計算し、駆動周波数選択部３１３へ送る。駆動周波数選択部３１３は、同期信号発生／受信部３２０が設定可能な駆動周波数のテーブルを持っており、そのテーブルを参照して各アクセスパスの駆動周波数の比がアクセス回数の比に近くなるように各アクセスパスの駆動周波数を選択し、その駆動周波数の値を同期信号発生／受信部３２０へ送る。また駆動周波数選択部３１３は、制御信号発生／受信部３１２、制御線２：２１２を介して、アクセスパス０：１３５の駆動周波数変更を指示する信号をデータ転送制御部３１０内の駆動周波数選択部３１３へ送出する。
【００３８】
チャネルＩＦ部１１からキャッシュメモリ部１４へのアクセス回数及びディスクＩＦ部１２からキャッシュメモリ部１４へのアクセス回数は、ホストコンピュータからのアクセスの種類によって変化する。このため、アクセス回数の多いアクセスパスのスループットは下がり、それがネックとなって装置全体のスループットが制限される。上記のようにアクセス回数の比をもとにアクセスパス０：１３５毎にデータ転送速度を変えることにより、アクセス回数の多いアクセスパスのスループットが高まる。これにより、アクセス回数の多いアクセスパスのスループットのネックが解消され、装置全体のスループットの向上が可能となる。
【００３９】
また、アクセスパスの物理的な駆動周波数は固定しておき、データ転送制御部３１５のアービタ３１１において、アクセス回数の多い順にアクセスパスに優先度を設定してアービトレーションを行うことにより、アクセス回数の多いアクセスパスの実効的なデータ転送速度を上げることが可能となる。これによっても、アクセス回数の多いアクセスパスのスループットを高めることができ、装置全体のスループットの向上が可能となる。
【００４０】
通常アクセス回数の差は、チャネルＩＦ部１１とキャッシュメモリ部１４間のアクセスパスと、ディスクＩＦ部１２とキャッシュメモリ部１４間のアクセスパスの間で生じる。したがって、チャネルＩＦ部１１とキャッシュメモリ部１４間のアクセスパスと、ディスクＩＦ部１２とキャッシュメモリ部１４間のアクセスパスの間で、データ転送速度を等しくしたり、異ならせたりすることにより、アクセスパス毎にデータ転送速度を制御する場合に比べて、データ転送速度の制御が容易になる。
【００４１】
本実施例では、チャネルＩＦ部１１あるいはディスクＩＦ部１２に繋がるアクセスパス０：１３５とのパスＩＦ３０１の数を４つとした。上記個数は一実施例に過ぎず、個数を上記に限定するものではない。
【００４２】
次に、キャッシュメモリ部１４へのアクセス時の手順について述べる。キャッシュメモリ部１４へアクセスする場合、マイクロプロセッサ１０１は、ホストＩＦ１０２あるいはドライブＩＦ１０３へ、キャッシュメモリ部１４へのアクセス開始を指示する。
【００４３】
アクセス開始の指示を受けたホストＩＦ１０２あるいはドライブＩＦ１０３は、制御線１：２１１によりＣＭアクセス制御部１０４内のデータ転送制御部３１０へアクセス開始を示す信号と、アクセス先のメモリコントローラ１０５を示す信号を送出する。それとともに、データ線２１０を通してアドレス、コマンド、データ（データの書き込み時のみ）を送出する。
【００４４】
ＣＭアクセス制御部１０４は、データ線２１０を通して送られてきたアドレス、コマンド、データ（データの書き込み時のみ）をパケットバッファ３０３に格納する。データ転送制御部３１０はアービトレーションを行ってパスＩＦ３０１の使用権を決定し、セレクタ３０２を切り替えるとともに、制御線２：２１２によってメモリコントローラ１０５内のデータ転送制御部３１５へアクセス開始を示す信号と、アクセス先のメモリコントローラ１０５を示す信号を出す。
【００４５】
メモリコントローラ１０５内のデータ転送制御部３１５は、制御線２：２１２によってアクセス開始の信号と、アクセス先のメモリコントローラ１０５を示す信号を受けると、ＣＭアクセス制御部１０４へ、制御線２：２１２によってアクセス承認を返す。
【００４６】
ＣＭアクセス制御部１０４はアクセス承認を受けると、パケットバッファ３０３からアドレス、コマンド、データ（データの書き込み時のみ）を読み出し、セレクタ３０２、パスＩＦ３０１を介してアクセスパス０：１３５へ送出する。
【００４７】
メモリコントローラ１０５は、アクセスパス０：１３５を通して送られてきたアドレス、コマンド、データ（データの書き込み時のみ）をパケットバッファ３０３に格納する。また、送られてきたアドレス、コマンドは、アドレス（ａｄｒ）、コマンド（ｃｍｄ）解析部３０５へ取り込み、解析の結果得られたメモリの制御情報をメモリ制御部３０７へ送出する。また、アクセス先メモリコントローラ１０５を調べ、自メモリコントローラと異なる場合はエラーとみなし障害処理を行う。
【００４８】
メモリコントローラ１０５内のデータ転送制御部３１５は、アービトレーションを行ってメモリアクセス権を決定し、セレクタ３０４を切り替える。
【００４９】
データの書き込み時は、パケットバッファ３０３からデータを読み出し、セレクタ３０４を介してメモリモジュール１０６へ書き込む。データの読み出し時は、メモリモジュール１０６からデータを読み出し、セレクタ３０４、パスＩＦ３０１を介してアクセスパス０：１３５へ送出する。
【００５０】
メモリモジュール１０６へのアクセスが終了すると、データ転送制御部３１５においてアクセス状況を示すステータスを生成し、ＣＭアクセス制御部１０４を経由して、ホストＩＦ１０２またはドライブＩＦ１０３へ送出する。
【００５１】
また図１０に示すように、 １つのＣＭアクセス制御部１０４からキャッシュメモリ部１４へ接続されるアクセスパス０：１３５の本数が多いディスクアレイ制御装置１においても、本実施例を実施する上で問題はない。ホストＩＦ及びドライブＩＦとして、今後はファイバーチャネル等のスループットが１００ＭＢ／ｓ以上の高速ＩＦが使用されることが多くなると考えられる。アクセスパス０：１３５のスループットは、ホストＩＦ及びドライブＩＦのスループットと同等にする必要がある。このため上記のように高速ＩＦを使用する場合、１つのＣＭアクセス制御部１０４からキャッシュメモリ部１４へ接続されるアクセスパス０：１３５の本数が多い図１０の構成が有効となる。
【００５２】
（実施例２）
図１１に、本発明の他の実施例を示す。
【００５３】
ディスクアレイ制御装置１は、チャネルＩＦ部１１、ディスクＩＦ部１２、セレクタ部１３、キャッシュメモリ部１４と、アクセスパス０：１３５、アクセスパス１：１３６を有する。
【００５４】
チャネルＩＦ部１１、ディスクＩＦ部１２、及びキャッシュメモリ部１４は、図1に示す実施例1の構成と同様である。
【００５５】
セレクタ部１３には、２つのチャネルＩＦ部１１、２つのディスクＩＦ部１２からそれぞれ２本ずつ、計８本のアクセスパス０：１３５が接続される。また、セレクタ部１３には、２つのキャッシュメモリ部１４へのアクセスパス１：１３６が２本ずつ、計４本接続される。
【００５６】
アクセスパス０：１３５とアクセスパス１：１３６の間には上記のようなパス数の関係があるため、セレクタ部１３ではチャネルＩＦ部１１及びディスクＩＦ部１２からの８本のアクセスパス０：１３５からの要求の内、キャッシュメモリ部１４へのアクセスパス１：１３６の数に相当する４個だけを選択して実行する機能を持つ。
【００５７】
ここで、上記個数は一実施例に過ぎず、個数を上記に限定するものではない。１つのセレクタ部１３からキャッシュメモリ部１４へ接続されるアクセスパスの数を、チャネルＩＦ部１１及びディスクＩＦ部１２から１つのセレクタ部１３に接続されるアクセスパスの数より少なくし、チャネルＩＦ部１１とディスクＩＦ部１２の合計数よりもセレクタ部１３の数が少なくなるように上記個数を設定すると、キャッシュメモリ部１４へ接続されるアクセスパス数を削減することができる。キャッシュメモリ部１４のＬＳＩピンネック及びパッケージのコネクタネックという問題が生じた場合、上記のようにすることで、ＬＳＩのピンネック及びパッケージのコネクタネックを解消することができる。
【００５８】
ＣＭアクセス制御部１０４は、図４に示す構成と同様であるが、制御線２：２１２は、セレクタ部１３内のデータ転送制御部３１５に接続される。
【００５９】
図９は、セレクタ部１３内の構成を示している。セレクタ部１３は、チャネルＩＦ部１１及びディスクＩＦ部１２に繋がるアクセスパス０：１３５との８つのパスＩＦ３０１、メモリコントローラ１０５に繋がるアクセスパス１：１３６との４つのパスＩＦ３０１、両者間を互いに接続するセレクタ３０６、パケットバッファ３０３、データのエラーチェック部３００、ＣＭアクセス制御部１０４から送出されたアドレス及びコマンドを解析するアドレス（ａｄｒ）、コマンド（ｃｍｄ）解析部３０５、データ転送制御部３１５、データ転送時にデータと並送する同期信号の発生／受信部３２０を有する。データ転送制御部３１５は、制御線２：２１２でＣＭアクセス制御部１０４内のデータ転送制御部３１０に接続され、制御線３：２１３でメモリコントローラ１０５内のデータ転送制御部３１５に接続される。また、データ転送制御部３１５は、セレクタ３０６の切り替えを行う。パケットバッファ３０３は、アクセスパス０：１３５側のパスの駆動周波数とアクセスパス１：１３６側の駆動周波数が異なる場合、周波数の差を吸収するために、転送するデータの一部または全部をバッファリングする。アクセスパス０：１３５側の同期信号発生／受信部３２０は、同期信号線２２０でＣＭアクセス制御部１０４内の同期信号発生／受信部３２０に接続され、アクセスパス１：１３６側の同期信号発生／受信部３２０は、同期信号線２２０でメモリコントローラ１０５内の同期信号発生／受信部３２０に接続される。データの送信時には、データ転送制御部３１５から指示された駆動周波数で、パスＩＦ３０１と同期してデータと同期信号を並送する。またデータの受信時には、データと並送されてきた同期信号を使用してデータを取り込む。
【００６０】
ａｄｒ、ｃｍｄ解析部３０５は、図８に示す構成と同様に、バッファ３５１、アドレス（ａｄｒ）抽出部３５２、コマンド（ｃｍｄ）抽出部３５３、カウンタ３５４を有する。ａｄｒ、ｃｍｄ解析部３０５では、メモリコントローラ１０５に接続される８本のアクセスパス０：１３５それぞれに１つずつ割り当てられたバッファ３５１に、アドレス、コマンドを格納する。ａｄｒ抽出部３５２及びｃｍｄ抽出部３５３では、アクセスするメモリコントローラ１０５とアクセスの種類を割り出し、データ転送制御部３１５内のアービタ３１１へ送出する。また、バッファ３５１にアドレス及びコマンドを格納する毎に、バッファ毎に割り当てたカウンタをカウントアップする。
【００６１】
データ転送制御部３１５は、図７に示す構成と同様に、アービタ３１１、２つの制御信号発生／受信部３１２、駆動周波数演算部３１４、駆動周波数選択部３１３を有する。１つの制御信号発生／受信部３１２は、制御線２：２１２でＣＭアクセス制御部１０４内のデータ転送制御部３１０に接続される。また、ＣＭアクセス制御部１０４からのアクセス要求をアービタ３１１に伝える。アービタ３１１は、ａｄｒ、ｃｍｄ解析部３０５からの情報に基づいてアービトレーションを行い、セレクタ切り替え信号をセレクタ３０６へ送出する。もう１つの制御信号発生／受信部３１２は、図７とは異なり、制御線３：２１３でメモリコントローラ１０５内のデータ転送制御部３１５に接続される。また、アービタ３１１からセレクタ切り替え完了の信号を受け、制御線３：２１３によってメモリコントローラ１０５内のデータ転送制御部３１５にアクセス開始信号を送出する。駆動周波数演算部３１４は、ａｄｒ、ｃｍｄ解析部３０５内のカウンタのカウント数を読み出し、８本のアクセスパス０：１３５のアクセス回数の比を計算し、駆動周波数選択部３１３へ送る。駆動周波数選択部３１３は、同期信号発生／受信部３２０が設定可能な駆動周波数のテーブルを持っており、そのテーブルを参照して各アクセスパスの駆動周波数の比がアクセス回数の比に近くなるように各アクセスパスの駆動周波数を選択し、その駆動周波数の値をアクセスパス０：１３５側の同期信号発生／受信部３２０へ送る。また駆動周波数選択部３１３は、アクセスパス０：１３５の制御信号発生／受信部３１２、制御線２：２１２を介して、アクセスパス０：１３５の駆動周波数変更を指示する信号をデータ転送制御部３１０内の駆動周波数選択部３１３へ送出する。また、駆動周波数選択部３１３は、アクセスパス１：１３６側の制御信号発生／受信部３１２を介してメモリコントローラ１０５から駆動周波数変更を示す信号を受け、設定可能な駆動周波数のテーブルから駆動周波数の値を選択し、その値をアクセスパス１：１３６側の同期信号発生／受信部３２０へ送る。
【００６２】
チャネルＩＦ部１１からキャッシュメモリ部１４へのアクセス回数及びディスクＩＦ部１２からキャッシュメモリ部１４へのアクセス回数は、ホストコンピュータからのアクセスの種類によって変化する。このため、アクセス回数の多いアクセスパスのスループットは下がり、それがネックとなって装置全体のスループットが制限される。上記のようにアクセス回数の比をもとにアクセスパス０：１３５毎にデータ転送速度を変えることにより、アクセス回数の多いアクセスパスのスループットが高まる。これにより、アクセス回数の多いアクセスパスのスループットのネックが解消され、装置全体のスループットの向上が可能となる。
【００６３】
メモリコントローラ１０５は、図５に示す構成と同様で、その中のデータ転送制御部３１５は、図７に示す構成と同様で、実施例１と同様の処理を行う。
【００６４】
セレクタ部１３とキャッシュメモリ部１４間の各アクセスパス１：１３６それぞれのアクセス回数が、各キャッシュメモリ部へのアクセスの偏りによって変化する場合、上記のようにアクセスパス１：１３６毎にデータ転送速度を可変にし、アクセス回数の多いアクセスパスのスループットを高めることによって、装置全体のスループットの向上が可能となる。図１１に示すディスクアレイ制御装置１では、この制御を、上記のチャネルＩＦ部１１及びディスクＩＦ部１２とセレクタ部１３間での制御と合わせて行うことにより、どちらか一方だけ制御を行う場合より、装置全体のスループットの向上が可能となる。
【００６５】
また、アクセスパスの物理的な駆動周波数は固定しておき、データ転送制御部３１５のアービタ３１１において、アクセス回数の多い順にアクセスパスに優先度を設定してアービトレーションを行うことにより、アクセス回数の多いアクセスパスの実効的なデータ転送速度を上げることが可能となる。これによっても、アクセス回数の多いアクセスパスのスループットを高めることができ、装置全体のスループットの向上が可能となる。
【００６６】
図１２に示すように、チャネルＩＦ部１１及びディスクＩＦ部１２とキャッシュメモリ部１４間をスイッチ（ＳＷ）１６を用いた相互結合網１１０で接続するディスクアレイ制御装置１では、ＳＷ１６内に図９に示すセレクタ部１３内のデータ転送制御部３１５及び同期信号発生／受信部３２０の機能を持たせることにより、各アクセスパス毎に駆動周波数を可変にすることが可能となる。それによって、図１２に示すディスクアレイ制御装置１においても、装置全体のデータ転送スループットを向上することが可能となる。
【００６７】
（実施例３）
実施例１または２において、ディスクＩＦ部１２とキャッシュメモリ部１４間のデータ転送速度をチャネルＩＦ部１１とキャッシュメモリ部１４間のデータ転送速度より大きくする。また、アクセスパスのデータ転送速度は可変とせずに、固定する。
【００６８】
ディスクアレイ制御装置では、一般的にディスクＩＦ部１２からキャッシュメモリ部１４へのアクセス回数は、チャネルＩＦ部１１からキャッシュメモリ部１４へのアクセス回数以上となる。ディスクアレイではデータに冗長性を持たせるため、データの書き込み時にパリティを生成して、データとともに磁気ディスク装置に記録する。したがって、データの書き込み時には、ディスクＩＦ部１２とキャッシュメモリ部１４間でパリティ生成のためのアクセスが発生する。これは、一般的にライトペナルティと呼ばれている。このため、ディスクＩＦ部１２からキャッシュメモリ部１４へのアクセス回数は、チャネルＩＦ部１１からキャッシュメモリ部１４へのアクセス回数以上となる。
【００６９】
通常、ディスクＩＦ部１２とキャッシュメモリ部１４間のアクセス回数とチャネルＩＦ部１１とキャッシュメモリ部１４間のアクセス回数の比が最大で約３：１となるため、本実施例では、ディスクＩＦ部１２とキャッシュメモリ部１４間のデータ転送速度がチャネルＩＦ部１１とキャッシュメモリ部１４間のデータ転送速度の3倍になるように設定する。
【００７０】
上記のように、アクセス回数の多いアクセスパスのデータ転送速度をアクセス回数の少ないアクセスパスのデータ転送速度より大きく設定しておくことにより、 アクセス回数の多いアクセスパスのスループットが装置全体のスループットを制限することがなくなり、装置全体のスループットの向上が可能となる。
【００７１】
（実施例４）
図１３に、本発明の他の実施例を示す。
【００７２】
ディスクアレイ制御装置１は、ホストコンピュータ５０との２つのインターフェース部（チャネルＩＦ部）１１、磁気ディスク装置２０との２つのインターフェース部（ディスクＩＦ部）１２、２つのキャッシュメモリ部１４と、１２本のアクセスパス０：１３５を有する。
【００７３】
チャネルＩＦ部１１は、図１に示す実施例１の構成と同様である。
【００７４】
ディスクＩＦ部１２は、ＣＭアクセス制御部１０４からキャッシュメモリ部１４へのアクセスパス０：１３５が４本に増えている以外は、図１に示す実施例１の構成と同様である。
【００７５】
キャッシュメモリ部１４は、メモリコントローラ１０５に接続されるアクセスパス０：１３５の本数が６本に増えている以外は、図１に示す実施例の構成と同様である。
【００７６】
ここで、上記個数は一実施例に過ぎず、個数を上記に限定するものではない。
【００７７】
本実施例の特徴は、ディスクＩＦ部１２とキャッシュメモリ部１４間のアクセスパス０:１３５の本数をチャネルＩＦ部１１とキャッシュメモリ部１４間のアクセスパス０：１３５の本数より多くするということである。
【００７８】
ディスクアレイ制御装置では、一般的にディスクＩＦ部１２からキャッシュメモリ部１４へのアクセス回数は、チャネルＩＦ部１１からキャッシュメモリ部１４へのアクセス回数以上となる。ディスクアレイではデータに冗長性を持たせるため、データの書き込み時にパリティを生成して、データとともに磁気ディスク装置に記録する。したがって、データの書き込み時には、ディスクＩＦ部１２とキャッシュメモリ部１４間でパリティ生成のためのアクセスが発生する。これは、一般的にライトペナルティと呼ばれている。このため、ディスクＩＦ部１２からキャッシュメモリ部１４へのアクセス回数は、チャネルＩＦ部１１からキャッシュメモリ部１４へのアクセス回数以上となる。
【００７９】
実施例１で説明した方法により、アクセスパスのデータ転送速度を可変にできない場合には、アクセス回数の多いアクセスパスの本数をアクセス回数の少ないアクセスパスの本数より多くすることにより、アクセス回数の多いアクセスパスのスループットを高くすることができる。これにより、アクセス回数の多いアクセスパスのスループットのネックが解消され、装置全体のスループットの向上が可能となる。
【００８０】
また図１４に示すように、 １つのＣＭアクセス制御部１０４からキャッシュメモリ部１４へ接続されるアクセスパス０：１３５の本数が多いディスクアレイ制御装置１においても、本実施例を実施する上で問題はない。ホストＩＦ及びドライブＩＦとして、今後はファイバーチャネル等のスループットが１００ＭＢ／ｓ以上の高速ＩＦが使用されることが多くなると考えられる。アクセスパス０：１３５のスループットをホストＩＦ及びドライブＩＦのスループットと同等にする必要がある。このため上記のように高速ＩＦを使用する場合、１つのＣＭアクセス制御部１０４からキャッシュメモリ部１４へ接続されるアクセスパス０：１３５の本数が多い図１４の構成が有効となる。
【００８１】
【発明の効果】
本発明によれば、アクセス回数の多いアクセスパスのスループットによって、ディスクアレイ装置全体のスループットが制限されることを防ぐことが可能となる。それによって、ディスクアレイ制御装置のデータ転送スループットが向上する。
【図面の簡単な説明】
【図１】本発明によるディスクアレイ制御装置の構成を示す図。
【図２】従来のディスクアレイ制御装置の構成を示す図。
【図３】従来のディスクアレイ制御装置の構成を示す図。
【図４】本発明によるディスクアレイ制御装置内のＣＭアクセス制御部の構成を示す図。
【図５】本発明によるディスクアレイ制御装置内のキャッシュメモリ部の構成を示す図。
【図６】本発明によるディスクアレイ制御装置内のデータ転送制御部の構成を示す図。
【図７】本発明によるディスクアレイ制御装置内のデータ転送制御部の他の構成を示す図。
【図８】本発明によるディスクアレイ制御装置内のアドレス（ａｄｒ）、コマンド（ｃｍｄ）解析部の構成を示す図。
【図９】本発明によるディスクアレイ制御装置内のセレクタ部の構成を示す図。
【図１０】本発明によるディスクアレイ制御装置の他の構成を示す図。
【図１１】本発明によるディスクアレイ制御装置の他の構成を示す図。
【図１２】本発明によるディスクアレイ制御装置の他の構成を示す図。
【図１３】本発明によるディスクアレイ制御装置の他の構成を示す図。
【図１４】本発明によるディスクアレイ制御装置の他の構成を示す図。
【符号の説明】
１…ディスクアレイ制御装置、１１…チャネルＩＦ部、１２…ディスクＩＦ部、１４…キャッシュメモリ部、２０…磁気ディスク装置、５０…ホストコンピュータ、１０１…マイクロプロセッサ、１０２…ホストＩＦ、１０３…ドライブＩＦ、１０４…ＣＭアクセス制御部、１０５…メモリコントローラ、１０６…メモリモジュール、１１０、１１１…内部バス、１３５…アクセスパス０。
【図１】
0003684902.tif 000002
【図２】
0003684902.tif 000003
【図３】
0003684902.tif 000004
【図４】
0003684902.tif 000005
【図５】
0003684902.tif 000006
【図６】
0003684902.tif 000007
【図７】
0003684902.tif 000008
【図８】
0003684902.tif 000009
【図９】
0003684902.tif 000010
【図１０】
0003684902.tif 000011
【図１１】
0003684902.tif 000012
【図１２】
0003684902.tif 000013
【図１３】
0003684902.tif 000014
【図１４】
0003684902.tif 000015