(57)【特許請求の範囲】
【請求項１】
一つ又は複数のＭＰＵを有するディスクアレイ制御部を備え、ホストコンピュータとの間におけるホストインタフェイスと、データを一時格納するメモリと、冗長データを生成する冗長データ生成手段と、複数チャネルのディスク装置インタフェイスと、一つ又は複数のチャネルを有し、前記ホストインタフェイス、前記メモリ、前記冗長データ生成手段及び前記ディスク装置インタフェイスの間のデータ転送を制御するデータ転送制御手段とから構成されたユーザデータ転送制御部を備え、前記ディスクアレイ制御部によって前記ユーザデータ転送制御部の前記ディスク装置インタフェイス、前記冗長データ生成手段及び前記データ転送制御手段を制御する制御用バスと、前記ユーザデータ転送制御部において前記データ転送制御手段によって前記ホストインタフェイスと前記メモリとの間のデータ転送を行うホストデータバスと、前記ユーザデータ転送制御部において前記データ転送制御手段によって前記ディスク装置インタフェイスと前記メモリとの間のデータ転送を行うドライブデータバスとを有し、前記データ転送制御手段は、前記メモリ、前記冗長データ生成手段、前記ホストデータバス及び前記ドライブデータバスの各々と接続され、前記ホスト−前記メモリの間、前記ディスク装置−前記メモリの間及び前記冗長データ生成手段−前記メモリの間の各データ転送を同時に実行することが出来ることを特徴とするディスクアレイコントローラ。
【請求項２】
前記ホストインタフェイスをＳＣＳＩインタフェイスで構成したことを特徴とする請求項１記載のディスクアレイコントローラ。
【請求項３】
前記データ転送制御手段は、前記メモリの領域と前記ディスク装置インタフェイスとの間においてデータ転送パスを複数指定可能に構成したことを特徴とする請求項１記載のディスクアレイコントローラ。
【請求項４】
前記メモリの領域と前記冗長データ生成手段との間において複数の転送パスを用いてデータを転送するように構成したことを特徴とする請求項１記載のディスクアレイコントローラ。
【請求項５】
前記データ転送制御手段は、ＤＭＡＣによって構成したことを特徴とする請求項１記載のディスクアレイコントローラ。
【請求項６】
一つ又は複数のＭＰＵを有するディスクアレイ制御部を備え、ホストコンピュータとの間におけるホストインタフェイスと、データを一時格納するメモリと、冗長データを生成する冗長データ生成手段と、複数チャネルのディスク装置インタフェイスと、一つ又は複数のチャネルを有し、前記ホストインタフェイス、前記メモリ、前記冗長データ生成手段及び前記ディスク装置インタフェイスの間のデータ転送を制御するデータ転送制御手段とから構成されたユーザデータ転送制御部を備え、該ディスクアレイ制御部によって前記ユーザデータ転送制御部の前記複数チャネルのディスク装置インタフェイス、前記冗長データ生成手段及び前記データ転送制御手段を制御する制御用バスと、前記ユーザデータ転送制御部において前記データ転送制御手段によって前記ホストインタフェイスと前記メモリとの間のデータ転送を行うホストデータバスと、前記ユーザデータ転送制御部において前記データ転送制御手段によって前記ディスク装置インタフェイスと前記メモリとの間のデータ転送を行うドライブデータバスとを有し、前記冗長データ生成手段を前記データ転送制御手段に直結して前記メモリと前記ドライブデータバスとの間に設置して冗長データ生成において前記メモリへのトラヒィックを軽減し、前記データ転送制御手段は、前記メモリ、前記冗長データ生成手段、前記ホストデータバス及び前記ドライブデータバスの各々と接続され、前記ホスト−前記メモリの間、前記ディスク装置−前記メモリの間及び前記冗長データ生成手段−前記メモリの間の各データ転送を同時に実行することが出来ることを特徴とするディスクアレイコントローラ。
【請求項７】
一つ又は複数のＭＰＵを有するディスクアレイ制御部を備え、ホストコンピュータとの間におけるホストインタフェイスと、データを一時格納するメモリと、冗長データを生成する冗長データ生成手段と、複数チャネルのディスク装置インタフェイスと、一つ又は複数のチャネルを有し、前記ホストインタフェイス、前記メモリ、前記冗長データ生成手段及び前記ディスク装置インタフェイスの間のデータ転送を制御するデータ転送制御手段とから構成されたユーザデータ転送制御部を備え、該ディスクアレイ制御部によって、前記ユーザデータ転送制御部の前記ディスク装置インタフェイス、前記冗長データ生成手段及び前記データ転送制御手段を制御する制御用バスと、前記ユーザデータ転送制御部において前記データ転送制御手段によって前記ホストインタフェイスと前記メモリとの間のデータ転送を行うホストデータバスと、前記ユーザデータ転送制御部において前記データ転送制御手段によって前記ディスク装置インタフェイスと前記メモリとの間のデータ転送を行うドライブデータバスとを有し、前記データ転送制御手段は、前記メモリの領域と前記ディスク装置インタフェイスとの間においてデータ転送パスを複数指定可能に構成し、更に該データ転送パスに対応してデータ転送パスのデータを前記冗長データ生成手段に入力するように構成し、前記データ転送制御手段は、前記メモリ、前記冗長データ生成手段、前記ホストデータバス及び前記ドライブデータバスの各々と接続され、前記ホスト−前記メモリの間、前記ディスク装置−前記メモリの間及び前記冗長データ生成手段−前記メモリの間の各データ転送を同時に実行することが出来ることを特徴とするディスクアレイコントローラ。
【請求項８】
一つ又は複数のＭＰＵを有するディスクアレイ制御部を備え、ホストコンピュータとの間におけるホストインタフェイスと、データを一時格納するメモリと、冗長データを生成する冗長データ生成手段と、複数チャネルのディスク装置インタフェイスと、一つ又は複数のチャネルを有し、前記ホストインタフェイス、前記メモリ、前記冗長データ生成手段及び前記ディスク装置インタフェイスの間のデータ転送を制御するデータ転送制御手段とから構成されたユーザデータ転送制御部を備え、該ディスクアレイ制御部によって、前記ユーザデータ転送制御部の前記ディスク装置インタフェイス、前記冗長データ生成手段及び前記データ転送制御手段を制御する制御用バスと、前記ユーザデータ転送制御部において前記データ転送制御手段によって前記ホストインタフェイスと前記メモリとの間のデータ転送を行うホストデータバスと、前記ユーザデータ転送制御部において前記データ転送制御手段によって前記ディスク装置インタフェイスと前記メモリとの間のデータ転送を行うドライブデータバスとを有し、前記冗長データ生成手段においてユーザデータに対する冗長データを生成して前記ディスク装置インタフェイスに転送するように構成し、前記データ転送制御手段は、前記メモリ、前記冗長データ生成手段、前記ホストデータバス及び前記ドライブデータバスの各々と接続され、前記ホスト−前記メモリの間、前記ディスク装置−前記メモリの間及び前記冗長データ生成手段−前記メモリの間の各データ転送を同時に実行することが出来ることを特徴とするディスクアレイコントローラ。
【請求項９】
一つ又は複数のＭＰＵを有するディスクアレイ制御部を備え、ホストコンピュータとの間におけるホストインタフェイスと、データを一時格納するメモリと、冗長データを生成する冗長データ生成手段と、複数チャネルのディスク装置インタフェイスと、一つ又は複数のチャネルを有し、前記ホストインタフェイス、前記メモリ、前記冗長データ生成手段及び前記ディスク装置インタフェイスの間のデータ転送を制御するデータ転送制御手段とから構成されたユーザデータ転送制御部を備え、該ディスクアレイ制御部によって前記ユーザデータ転送制御部の前記ディスク装置インタフェイス、前記冗長データ生成手段及び前記データ転送制御手段を制御する制御用バスと、前記ユーザデータ転送制御部において前記データ転送制御手段によって前記ホストインタフェイスと前記メモリとの間のデータ転送を行うホストデータバスと、前記ユーザデータ転送制御部において前記データ転送制御手段によって前記ディスク装置インタフェイスと前記メモリとの間のデータ転送を行うドライブデータバスとを有し、前記データ転送制御手段は、前記メモリ、前記冗長データ生成手段、前記ホストデータバス及び前記ドライブデータバスの各々と接続され、前記ホスト−前記メモリの間、前記ディスク装置−前記メモリの間及び前記冗長データ生成手段−前記メモリの間の各データ転送を同時に実行することが出来るディスクアレイコントローラを設け、
該ディスクアレイコントローラの前記ディスク装置インタフェイスに接続された複数のディスク装置を設けたことを特徴とするディスクアレイ装置。
【請求項１０】
一つ又は複数のＭＰＵを有するディスクアレイ制御部を備え、ホストコンピュータとの間におけるホストインタフェイスと、データを一時格納するメモリと、冗長データを生成する冗長データ生成手段と、複数チャネルのディスク装置インタフェイスと、一つ又は複数のチャネルを有し、前記ホストインタフェイス、前記メモリ、前記冗長データ生成手段及び前記ディスク装置インタフェイスの間のデータ転送を制御するデータ転送制御手段とから構成されたユーザデータ転送制御部を備え、該ディスクアレイ制御部によって前記ユーザデータ転送制御部の前記複数チャネルのディスク装置インタフェイス、前記冗長データ生成手段及び前記データ転送制御手段を制御する制御用バスと、前記ユーザデータ転送制御部において前記データ転送制御手段によって前記ホストインタフェイスと前記メモリとの間のデータ転送を行うホストデータバスと、前記ユーザデータ転送制御部において前記データ転送制御手段によって前記ディスク装置インタフェイスと前記メモリとの間のデータ転送を行うドライブデータバスとを有し、前記冗長データ生成手段を前記データ転送制御手段に直結して前記メモリと前記ドライブデータバスとの間に設置して冗長データ生成において前記メモリへのトラヒィックを軽減し、前記データ転送制御手段は、前記メモリ、前記冗長データ生成手段、前記ホストデータバス及び前記ドライブデータバスの各々と接続され、前記ホスト−前記メモリの間、前記ディスク装置−前記メモリの間及び前記冗長データ生成手段−前記メモリの間の各データ転送を同時に実行することが出来るディスクアレイコントローラを設け、
該ディスクアレイコントローラの前記ディスク装置インタフェイスに接続された複数のディスク装置を設けたことを特徴とするディスクアレイ装置。
【請求項１１】
一つ又は複数のＭＰＵを有するディスクアレイ制御部を備え、ホストコンピュータとの間におけるホストインタフェイスと、データを一時格納するメモリと、冗長データを生成する冗長データ生成手段と、複数チャネルのディスク装置インタフェイスと、一つ又は複数のチャネルを有し、前記ホストインタフェイス、前記メモリ、前記冗長データ生成手段及び前記ディスク装置インタフェイスの間のデータ転送を制御するデータ転送制御手段とから構成されたユーザデータ転送制御部を備え、該ディスクアレイ制御部によって、前記ユーザデータ転送制御部の前記ディスク装置インタフェイス、前記冗長データ生成手段及び前記データ転送制御手段を制御する制御用バスと、前記ユーザデータ転送制御部において前記データ転送制御手段によって前記ホストインタフェイスと前記メモリとの間のデータ転送を行うホストデータバスと、前記ユーザデータ転送制御部において前記データ転送制御手段によって前記ディスク装置インタフェイスと前記メモリとの間のデータ転送を行うドライブデータバスとを有し、前記データ転送制御手段は、前記メモリの領域と前記ディスク装置インタフェイスとの間においてデータ転送パスを複数指定可能に構成し、更に該データ転送パスに対応してデータ転送パスのデータを前記冗長データ生成手段に入力するように構成し、前記データ転送制御手段は、前記メモリ、前記冗長データ生成手段、前記ホストデータバス及び前記ドライブデータバスの各々と接続され、前記ホスト−前記メモリの間、前記ディスク装置−前記メモリの間及び前記冗長データ生成手段−前記メモリの間の各データ転送を同時に実行することが出来るディスクアレイコントローラを設け、
該ディスクアレイコントローラの前記ディスク装置インタフェイスに接続された複数のディスク装置を設けたことを特徴とするディスクアレイ装置。
【請求項１２】
一つ又は複数のＭＰＵを有するディスクアレイ制御部を備え、ホストコンピュータとの間におけるホストインタフェイスと、データを一時格納するメモリと、冗長データを生成する冗長データ生成手段と、複数チャネルのディスク装置インタフェイスと、一つ又は複数のチャネルを有し、前記ホストインタフェイス、前記メモリ、前記冗長データ生成手段及び前記ディスク装置インタフェイスの間のデータ転送を制御するデータ転送制御手段とから構成されたユーザデータ転送制御部を備え、該ディスクアレイ制御部によって、前記ユーザデータ転送制御部の前記ディスク装置インタフェイス、前記冗長データ生成手段及び前記データ転送制御手段を制御する制御用バスと、前記ユーザデータ転送制御部において前記データ転送制御手段によって前記ホストインタフェイスと前記メモリとの間のデータ転送を行うホストデータバスと、前記ユーザデータ転送制御部において前記データ転送制御手段によって前記ディスク装置インタフェイスと前記メモリとの間のデータ転送を行うドライブデータバスとを有し、前記冗長データ生成手段においてユーザデータに対する冗長データを生成して前記ディスク装置インタフェイスに転送するように構成し、前記データ転送制御手段は、前記メモリ、前記冗長データ生成手段、前記ホストデータバス及び前記ドライブデータバスの各々と接続され、前記ホスト−前記メモリの間、前記ディスク装置−前記メモリの間及び前記冗長データ生成手段−前記メモリの間の各データ転送を同時に実行することが出来るディスクアレイコントローラを設け、
該ディスクアレイコントローラの前記ディスク装置インタフェイスに接続された複数のディスク装置を設けたことを特徴とするディスクアレイ装置。
【請求項１３】
前記ディスクアレイコントローラにおける前記データ転送制御手段を、ＤＭＡＣによって構成したことを特徴とする請求項９又は１０又は１１又は１２記載のディスクアレイ装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、ＲＡＩＤ５等のアーキテクチャのディスクアレイ装置及びディスクアレイコントローラに関するものである。
【０００２】
【従来の技術】
従来のディスクアレイコントローラのアーキテクチャでは、内部バスが１本であるか、又は内臓ＭＰＵによる制御用バスとホストインタフェイス−ディスク装置インタフェイス間のユーザデータ転送用バスの２本であった。
【０００３】
また、特開平６−１８０６２３号公報にきさいされているようにホストインタフェイスとディスク装置インタフェイスの間に速度調整用にＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）などの専用回路が必要であった。
【０００４】
【発明が解決しようする課題】
上記従来技術において、ホストインタフェイス及びディスク装置インタフェイスがＳＣＳＩの場合、ディスクアレイコントローラの内部バスの転送速度、バス幅は、使用するＳＣＳＩコントロールＬＳＩにより制限されるという課題を有していた。
【０００５】
一方、ディスクアレイ装置の高速化のためにディスクアレイコントローラの内部バスの転送速度、バス幅を、ＳＣＳＩコントロールＬＳＩに依存せずに増やすには、ＳＣＳＩインタフェイスと内部バスの間にＦＩＦＯなどの専用回路が必要となり、ホストインタフェイス及びディスク装置インタフェイスを複数チャネル持つディスクアレイコントローラでは、ディスクアレイコントローラ、ディスクアレイ装置の高価格化の要因となっていた。
【０００６】
本発明の目的は、上記課題を解決すべく、低価格で、データ転送の高速化をはかったディスクアレイコントローラ及びそのディスクアレイ装置を提供することにある。
【０００７】
また本発明の他の目的は、パリティデータ生成時に、メモリ（ディスクキャッシュ）へのトラヒィックを低減して、実効転送速度の向上をはかったディスクアレイコントローラ及びそのディスクアレイ装置を提供することにある。
【０００８】
また本発明の他の目的は、データの集合・分散とパリティデータ生成とを可能としたディスクアレイコントローラ及びそのディスクアレイ装置を提供することにある。
【０００９】
【課題を解決するための手段】
本発明は、上記目的を達成するために、一つ又は複数のＭＰＵを有するディスクアレイ制御部を備え、ホストコンピュータとの間におけるホストインタフェイスと、データを一時格納するメモリ（ディスクキャッシュ）と、冗長データを生成する冗長データ生成手段（冗長データ生成回路）と、複数チャネルのディスク装置インタフェイスと、一つ又は複数のチャネルを有し、前記ホストインタフェイス、前記ディスクキャッシュ、前記冗長データ生成回路及び前記ディスク装置インタフェイスの間のデータ転送を制御するデータ転送制御手段とから構成されたユーザデータ転送制御部を備え、該ディスクアレイ制御部によって前記ユーザデータ転送制御部の前記ディスク装置インタフェイス、前記冗長データ生成回路及び前記データ転送制御手段を制御する制御用バス（ＭＰＵバス）と、前記ユーザデータ転送制御部において前記データ転送制御手段によって前記ホストインタフェイスと前記ディスクキャッシュとの間のデータ転送を行うホストデータバスと、前記ユーザデータ転送制御部において前記データ転送制御手段によって前記ディスク装置インタフェイスと前記ディスクキャッシュとの間のデータ転送を行うドライブデータバスとを有することを特徴とするディスクアレイコントローラ又はディスクアレイ装置である。また本発明は、前記ディスクアレイコントローラ又はディスクアレイ装置において、前記ホストインタフェイス及びディスク装置インタフェイスを、ＳＣＳＩ−２等のＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）インタフェイスで構成したことを特徴とする。また本発明は、前記ディスクアレイコントローラ又はディスクアレイ装置において、前記データ転送制御手段は、前記ディスクキャッシュの領域と前記ディスク装置インタフェイスとの間においてデータ転送パスを複数指定可能に構成したことを特徴とする。また本発明は、前記ディスクアレイコントローラ又はディスクアレイ装置において、前記データ転送制御手段は、前記ディスクキャッシュのアドレスを指定する複数のカウンタと、該各々のカウンタに対応して前記ディスク装置インタフェイスのチャネルを指定する複数のレジスタとで構成したことを特徴とする。また本発明は、前記ディスクアレイコントローラ又はディスクアレイ装置において、前記データ転送制御手段は、前記ディスクキャッシュの領域と前記冗長データ生成回路との間において複数の転送パスを用いてデータを転送するように構成したことを特徴とする。また本発明は、前記ディスクアレイコントローラ又はディスクアレイ装置において、前記データ転送制御手段は、ＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ：小型コンピュータの中で、ＣＰＵやＩ／Ｏプロセッサの代わりに、メモリー←→メモリー間またはメモリー←→Ｉ／Ｏ間のデータ転送を制御する部分。データ転送に必要な、ソース・アドレス、ディスティネーション・アドレスを生成し、ソースの読み出しサイクル、ディスティネーションの書き込みサイクルを駆動する。）によって構成したことを特徴とする。また本発明は、前記ディスクアレイコントローラ又はディスクアレイ装置において、前記データ転送制御手段は、前記ディスクキャッシュのアドレスを指定する複数のカウンタと、該各々のカウンタに対応してディスク装置インタフェイスのチャネルを指定する複数のレジスタとを有し、前記ディスクキャッシュの領域と前記ディスク装置インタフェイスとの間においてデータ転送パスを複数指定可能に構成し、更に前記データ転送パスに対応してデータ転送パスのデータを前記冗長データ生成回路に入力するように構成したこと特徴とする。また本発明は、前記ディスクアレイコントローラ又はディスクアレイ装置において、前記ディスク装置インタフェイスには、各チャネルに応じてドライブインタフェイスコントローラを備えたことを特徴とする。
【００１０】
また本発明は、一つ又は複数のＭＰＵを有するディスクアレイ制御部を備え、ホストコンピュータとの間におけるホストインタフェイスと、データを一時格納するディスクキャッシュと、冗長データを生成する冗長データ生成回路と、複数チャネルのディスク装置インタフェイスと、一つ又は複数のチャネルを有し、前記ホストインタフェイス、前記ディスクキャッシュ、前記冗長データ生成回路及び前記ディスク装置インタフェイスの間のデータ転送を制御するデータ転送制御手段とから構成されたユーザデータ転送制御部を備え、該ディスクアレイ制御部によって前記ユーザデータ転送制御部の前記複数チャネルのディスク装置インタフェイス、前記冗長データ生成回路及び前記データ転送制御手段を制御する制御用バス（ＭＰＵバス）と、前記ユーザデータ転送制御部において前記データ転送制御手段によって前記ホストインタフェイスと前記ディスクキャッシュとの間のデータ転送を行うホストデータバスと、前記ユーザデータ転送制御部において前記データ転送制御手段によって前記ディスク装置インタフェイスと前記ディスクキャッシュとの間のデータ転送を行うドライブデータバスとを有し、前記冗長データ生成回路を前記データ転送制御手段に直結して前記ディスクキャッシュと前記ドライブデータバスとの間に設置して冗長データ生成において前記ディスクキャッシュへのトラヒィックを軽減したことを特徴とするディスクアレイコントローラ又はディスクアレイ装置である。
【００１１】
また本発明は、一つ又は複数のＭＰＵを有するディスクアレイ制御部を備え、ホストコンピュータとの間におけるホストインタフェイスと、データを一時格納するディスクキャッシュと、冗長データを生成する冗長データ生成回路と、複数チャネルのディスク装置インタフェイスと、一つ又は複数のチャネルを有し、前記ホストインタフェイス、前記ディスクキャッシュ、前記冗長データ生成回路及び前記ディスク装置インタフェイスの間のデータ転送を制御するデータ転送制御手段とから構成されたユーザデータ転送制御部を備え、該ディスクアレイ制御部によって、前記ユーザデータ転送制御部の前記ディスク装置インタフェイス、前記冗長データ生成回路及び前記データ転送制御手段を制御する制御用バスと、前記ユーザデータ転送制御部において前記データ転送制御手段によって前記ホストインタフェイスと前記ディスクキャッシュとの間のデータ転送を行うホストデータバスと、前記ユーザデータ転送制御部において前記データ転送制御手段によって前記ディスク装置インタフェイスと前記ディスクキャッシュとの間のデータ転送を行うドライブデータバスとを有し、前記データ転送制御手段は、前記ディスクキャッシュの領域と前記ディスク装置インタフェイスとの間においてデータ転送パスを複数指定可能に構成し、更に該データ転送パスに対応してデータ転送パスのデータを前記冗長データ生成回路に入力するように構成したことを特徴とするディスクアレイコントローラ又はディスクアレイ装置である。
【００１２】
また本発明は、一つ又は複数のＭＰＵを有するディスクアレイ制御部を備え、ホストコンピュータとの間におけるホストインタフェイスと、データを一時格納するディスクキャッシュと、冗長データを生成する冗長データ生成回路と、複数チャネルのディスク装置インタフェイスと、一つ又は複数のチャネルを有し、前記ホストインタフェイス、前記ディスクキャッシュ、前記冗長データ生成回路及び前記ディスク装置インタフェイスの間のデータ転送を制御するデータ転送制御手段とから構成されたユーザデータ転送制御部を備え、該ディスクアレイ制御部によって、前記ユーザデータ転送制御部の前記ディスク装置インタフェイス、前記冗長データ生成回路及び前記データ転送制御手段を制御する制御用バスと、前記ユーザデータ転送制御部において前記データ転送制御手段によって前記ホストインタフェイスと前記ディスクキャッシュとの間のデータ転送を行うホストデータバスと、前記ユーザデータ転送制御部において前記データ転送制御手段によって前記ディスク装置インタフェイスと前記ディスクキャッシュとの間のデータ転送を行うドライブデータバスとを有し、前記冗長データ生成回路においてユーザデータに対する冗長データを生成して前記ディスク装置インタフェイスに転送するように構成したことを特徴とするディスクアレイコントローラ又はディスクアレイ装置である。
【００１３】
即ち、本発明は、一つ又は複数チャネルのホストインタフェイス、ディスクキャッシュ、一つ又は複数チャネルのＤＭＡＣ、冗長データ生成回路、複数チャネルのディスク装置インタフェイスからなるユーザデータ転送制御部と、一つ又は複数のＭＰＵを有するディスクアレイ制御部を有し、更にＭＰＵによる制御用バス（ＭＰＵバス）と、前記ホストインタフェイスと前記ディスクキャッシュとの間のデータ転送を行うホストデータバスと、前記ディスク装置インターフェイスと前記ディスクキャッシュとの間のデータ転送を行うドライブデータバスを有することを特徴とするディスクアレイコントローラである。
【００１４】
【作用】
前記構成により、ディスクアレイコントローラにおいて、ホストインタフェイス及びディスク装置インタフェイスに、安価なＳＣＳＩインタフェイスを使用しても、制御用バス（ＭＰＵバス）、ホストデータバスおよびドライブデータバスの構成にしたことにより、内部バスの利用率が低減されて内部バスの転送速度の向上がはかられ、その結果安価で、且つデータ転送が高速化されたディスクアレイ装置を実現することができる。
【００１５】
また、前記構成により、ディスクキャッシュ上の領域とディスク装置インタフェイスとの間において複数パスを用いた転送によって、データの集合・分散が可能となる。
【００１６】
また、前記構成により、ディスクキャッシュ上の領域とパリティ生成回路との間において複数パスを用いた転送によって、ディスクキャッシュに格納しているデータを用いて冗長データ生成（パリティデータ生成）が可能となる。また、冗長データ生成回路（パリティデータ生成回路）はデータ転送制御手段（ＤＭＡＣ）に直結されており、ディスクキャッシュ上の領域とディスク装置インタフェイス間のデータ転送パスに対応してデータ転送パスのデータをパリティ生成回路にも入力することを可能にして、ディスクキャッシュ上のデータをディスク装置インタフェイスとパリティ生成回路との両方に転送して、生成した冗長データ（パリティデータ）を、ディスクキャッシュに転送することなく直接ディスク装置に転送することができ、冗長データ生成時（パリティデータ生成時）におけるディスクキャッシュへのトラフィックが低減され、大容量で連続した領域に対するライト命令に対してディスクアレイ装置における実効転送速度を向上させることができる。
【００１７】
【実施例】
本発明の実施例を図１〜図５を用いて具体的に説明する。図１は、本発明の一実施例であるホストコンピュータ１７とディスクアレイ装置１８よりなるシステムの構成図を示す。ホストコンピュータ１７とディスクアレイ装置１８は、ホストインタフェイス３で接続されている。ホストインタフェイス３は、１チャンネルで、最大転送速度が２０ＭＢ／ｓである２バイトバス幅のＳＣＳＩ−２である。なお、ホストインタフェイス３は、複数チャンネルで構成しても良い。ホストコンピュータ１７は、ホストインタフェイス３を介し、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ：小型コンピュータ用周辺装置インタフェイスの一種。ＡＮＳＩで規格されている。）プロトコルに従い、ディスクアレイ装置１８をアクセスする。
【００１８】
ディスクアレイ装置１８は、アレイコントローラ１と複数のディスク装置２で構成される。ディスクアレイ装置１８は、ＲＡＩＤ５等のアーキテクチャを採用し、ＲＡＩＤ５冗長度はデータディスク４台に対し、パリティディスク１台であり、ディスク装置５台をＲＡＩＤ５の列構成の単位とする。また、ディスクアレイコントローラ１は、５チャネルのドライブインタフェイス１６を有し、複数のディスク装置２を接続している。ドライブインタフェイス１６は、最大転送速度が１０ＭＢ／ｓである１バイトバス幅のＳＣＳＩ−２である。
【００１９】
更に、ディスクアレイ装置１８で用いられたディスク装置２の性能を図２に示す。即ち、ディスク装置におけるスピンドル回転数は５４００ｒｐｍ、平均シーク時間は９ｍｓ、サステインデータ転送速度は７．２ＭＢ／ｓ、ＳＣＳＩデータ転送速度は１０ＭＢ／ｓである。
【００２０】
次にディスクアレイコントローラ１の構成について説明する。アレイコントローラ１は、ＭＰＵ８、ＭＰＵコントロール回路９、ＲＯＭ１０、ワークＲＡＭ１１からなるディスクアレイ制御部と、ホストインタフェイスコントローラ４、高速にデータを一時格納するＤＲＡＭ等で構成されたディスクキャッシュ（ｄｉｓｋ  ｃａｃｈｅ）５、データ転送制御手段であるＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ：小型コンピュータの中で、ＣＰＵやＩ／Ｏプロセッサの代わりに、メモリー←→メモリー間またはメモリー←→Ｉ／Ｏ間のデータ転送を制御する部分。データ転送に必要な、ソース・アドレス、ディスティネーション・アドレスを生成し、ソースの読み出しサイクル、ディスティネーションの書き込みサイクルを駆動する。）６、パリティ生成回路（冗長データ生成回路）７、５チャネルのドライブインタフェイスに対応して一つずつのドライブインタフェイスコントローラ１２ａ〜１２ｅからなるユーザデータ転送制御部、及びホストデータバス１３、ドライブデータバス１４、ＭＰＵバス１５の３つのバスを有する。ＭＰＵ８は、ＲＯＭ１０に記憶されたプログラムに基づいてワークＲＡＭ１１に書き込み、読み出ししながらＭＰＵコントロール回路９により、ＭＰＵバス１５を介してユーザデータ制御部を構成するＤＭＡＣ６、パリティ生成回路７、及びドライブインタフェイスコントローラ１２ａ〜１２ｅを制御する。ＤＭＡＣ６は、ホストデータバス１３、ドライブデータバス１４上でのユーザデータの転送を制御し、ＲＡＩＤ５特有のデータの集合・分散を行う。パリティ生成回路７は、ユーザデータに対して冗長データであるパリティデータの演算を行い、また１台のディスク装置２が障害時にユーザデータの回復処理を行う。パリティ生成回路７は、ＤＭＡＣ６に直結され、ディスクキャッシュ５とドライブデータバス１４との間に存在する。
【００２１】
ホストデータバス１３は、ホストインタフェイスコントローラ４とディスクキャッシュ５との間におけるユーザデータ転送用のバスである。ドライブデータバス１４は、ディスクキャッシュ５とドライブインタフェイスコントローラ１２ａ〜１２ｅとの間におけるユーザデータ転送用のバスである。ＭＰＵバス１５は、ユーザデータ制御部を構成するＤＭＡＣ６、パリティ生成回路７、及びドライブインタフェイスコントローラ１２ａ〜１２ｅを制御する制御用のバスである。
【００２２】
このように３つのバス１３、１４、１５の構成にしたことにより、ホストインタフェイスコントローラ４及びドライブインタフェイスコントローラ１２には、安価で、最大転送速度が２０ＭＢ／ｓであるＳＣＳＩコントロールＬＳＩを採用することができた。即ち、３つのバス１３、１４、１５の構成にしたことにより、ホストインタフェイス３とホストデータバス１３間、ドライブインタフェイス１６とドライブデータバス１４間にはＳＣＳＩコントロールＬＳＩ以外にＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）などの専用回路は必要とすることなく、ホスト１７とディスクキャッシュ５との間におけるデータ転送と、ディスクキャッシュ５とディスク装置２ａ〜２ｅとの間におけるデータの転送とを同時に実行することができる。ホスト１７、即ちユーザとの間のインタフェイスであるホストインタフェイス３における２バイトバス幅のＳＣＳＩ−２の最大転送速度は、規格から２０ＭＢ／ｓであるため、ホストデータバス１３、ドライブデータバス１４の転送速度をそれぞれ２０ＭＢ／ｓとなり、ディスクキャッシュ５のデータ転送速度は、ホスト１７とディスクキャッシュ５との間における転送と、ディスクキャッシュ５とディスク装置２ａ〜２ｅとの間における転送とを同時に実行するため、４０ＭＢ／ｓとなり、データ転送が十分可能となる。
【００２３】
ＤＭＡＣ６は、チャネルａ、チャネルｂ、チャネルｃの３チャネルを有し、３チャネルを使った同時転送が可能である。即ち、チャネルａは、ディスクキャッシュ５−ディスク装置２ａ〜２ｅの間における転送、ディスクキャッシュ５−パリティ生成回路７とディスクキャッシュ５の間における転送、ディスクキャッシュ５−パリティ生成回路７−ディスク装置２ａ〜２ｅの間における転送に用いる。チャネルｂおよびチャネルｃは、ディスクキャッシュ５−ディスク装置用２ａ〜２ｅの間およびホスト１７−ディスクキャッシュ５の間におけるデータ転送専用に用いる。
【００２４】
次に、ＤＭＡＣ６におけるチャネルａの機能及びＤＭＡＣ６におけるチャネルａによるデータ転送について説明する。即ち、ＤＭＡＣ６内には、ＤＭＡＣ６チャネルａについて５つのキャッシュアドレスカウンタ２０１とキャッシュアドレスカウンタ２０１に対応する５つのポート指定レジスタ２０２とキャッシュアドレスカウンタ２０１に対応する５つの並行転送指定レジスタ２０５が備えられている。キャッシュアドレスカウンタ２０１は、ディスクキャッシュ５上の領域２０３のアドレスを指定するカウンタである。ポート指定レジスタ２０２は、キャッシュアドレスカウンタ２０１に対応するドライブインタフェイス１６ａ〜１６ｅのチャネルまたはパリティ生成回路７を指定するレジスタである。キャッシュアドレスカウンタ２０１とこれに対応するポート指定レジスタ２０２により、ディスクキャッシュ５−ドライブインタフェイス１６ａ〜１６ｅの間、またはディスクキャシュ５−パリティ生成回路７の間における５系統のパス２０４を指定することが可能である。ＤＭＡＣ６におけるチャネルａは、時分割で、指定された複数の転送パス２０４の定まった単位のデータを順番に転送する機能を持つ。また、並行転送指定レジスタ２０５は、対応するパス２０４のデータをパリティ生成回路７にも同時並行転送することを指定するレジスタである。ＤＭＡＣ６におけるチャネルａは、複数パス２０４による転送機能に加えて、複数パス２０４のデータをパリティ生成回路７にも同時並行転送する機能を持つ。
【００２５】
図３は、ＤＭＡＣ６におけるチャネルａを、ディスクキャッシュ５−ディスク装置２ａ〜２ｅの間におけるデータ転送に使用する場合を示す。
図４は、ＤＭＡＣ６におけるチャネルａを、ディスクキャッシュ５−パリティ生成回路７−ディスクキャッシュ５の間におけるデータ転送に使用する場合を示す。
図５は、ＤＭＡＣ６におけるチャネルａを、ディスクキャッシュ５−ディスク装置２ａ〜２ｄの間における転送とディスクキャッシュ５−パリティ生成回路７−ディスク装置２ｅの間における同時並列転送に使用する場合を示す。
【００２６】
図３に示すように、ＭＰＵ８は、ＭＰＵバス１５を介し、ＤＭＡＣ６のチャネルａにおけるキャッシュアドレスレジスタ２０１ａ〜２０１ｅに、ディスクキャッシュ５の領域２０３ａ〜２０３ｅのアドレスを指定し、キャッシュアドレスレジスタ２０１ａ〜２０１ｅに対応するポート指定レジスタ２０２ａ〜２０２ｅに、ドライブインタフェイス１６ａ〜１６ｅのチャネルを指定することで、ディスクキャッシュ５上の領域２０３ａ〜２０３ｅとドライブインタフェイス１６ａ〜１６ｅとの間におけるパスを５つ指定することができる。また、データ転送を行うディスク装置２は、ＳＣＳＩコマンド発行によってあらかじめ選択されており、ドライブインタフェイス１６ａ〜１６ｅのチャネルごとにドライブインタフェイス１６ａ〜１６ｅ−ディスク装置２ａ〜２ｅのパスが存在している。
【００２７】
従って、ＤＭＡＣ６において、チャネルａの複数パス２０４ａ〜２０４ｅによる転送機能を用いると、ホスト１７からホストデータバス１３を用いてディスクキャッシュ５上に格納されたユーザデータを、ストライプサイズと呼ばれる一定の大きさに分割して複数のディスク装置２ａ〜２ｅに分散転送可能である。また、上記ユーザデータが、ディスクキャッシュ５上の複数の不連続領域に格納されている場合でも、ディスクキャッシュ５上の任意の５の領域２０３のデータをそれぞれ異なるディスク装置２ａ〜２ｅに分散転送可能である。
【００２８】
また、ディスク装置２からホスト１７へデータの転送方向を変えることで、この複数パスによる転送機能により、複数のディスク装置２ａ〜２ｅからのデータを、ディスクキャッシュ５上の連続領域に集合転送することが可能である。
【００２９】
更に、図４に示すように、ＤＭＡＣ６におけるチャネルａにおいて、ポート指定レジスタ２０２ａ〜２０２ｄにパリティ生成回路７を指定して、ディスクキャッシュ５上の複数の領域２０３ａ〜２０３ｄとパリティ生成回路７との間におけるパス２０４ａ〜２０４ｄを複数指定することにより、該指定された複数パス２０４ａ〜２０４ｄに基づく転送機能によりディスクキャッシュ５上の複数の領域２０３ａ〜２０３ｄにおけるユーザデータを用いたパリティ生成回路７におけるパリティデータ演算と、該演算されたパリティデータを、ポート指定レジスタ２０２ｅおよびキャッシュアドレスレジスタ２０１ｅを介してディスクキャッシュ５の領域２０３ｅに転送することとが可能となる。
【００３０】
また、図５に示すように、ＤＭＡＣ６におけるチャネルａは、前述の複数パス２０４ａ〜２０４ｄによるデータ転送に加えて、それぞれのパス２０４ａ〜２０４ｄに対応する平行転送指定レジスタ２０５ａ〜２０５ｄにより、それぞれのパス２０４ａ〜２０４ｄの転送データをパリティ生成回路７に平行入力する機能を持つ。また、５系統のうちの残りのパス２０４ｅを用いて、パリティ生成回路７の出力を、キャッシュアドレスレジスタ２０１ｅ、ポート指定レジスタ２０２ｅおよび平行転送指定レジスタ２０５ｅを介してディスク装置２ｅに格納することができ、その結果ＤＭＡＣ６におけるチャネルａにおいて、ディスクキャッシュ５−ディスク装置２ａ〜の間のデータ転送と、ディスクキャッシュ５−パリティ生成回路７−ディスク装置２ｅの間の同時並列データ転送とが可能となる。
【００３１】
ディスクアレイ装置１８では、ホスト１７からの大容量で、連続領域に対するリード命令については、ＤＭＡＣ６におけるチャネルａおよびチャネルｂを用いて、ディスク装置２ａ〜２ｅ−ディスクキャッシュ５の間におけるデータ転送と、ホスト１７−ディスクキャッシュ５の間におけるデータ転送を同時に実行する。ディスク装置２ａ〜２ｅ−ディスクキャッシュ５の間におけるデータ転送には、ＤＭＡＣ６におけるチャネルａの複数パス２０４ａ〜２０４ｅによる転送機能を用いて複数のディスク装置２ａ〜２ｅからデータをディスクキャッシュ５上の連続領域へ集合転送する。
【００３２】
また、ディスクアレイ装置１８では、ホスト１７からの大容量で連続領域に対するライト命令については、ＤＭＡＣ６におけるチャネルａおよびチャネルｂを用いて、ディスクキャッシュ５−ディスク装置２ａ〜２ｅの間におけるデータ転送と、ホスト１７−ディスクキャッシュ５の間におけるデータ転送とを同時に実行する。ディスクキャッシュ５−ディスク装置２ａ〜２ｄの間におけるデータ転送には、ＤＭＡＣ６におけるチャネルａの複数パス２０４ａ〜２０４ｄによる転送機能と、それぞれのパス２０４ａ〜２０４ｄにおける転送データを、パリティ生成回路７に平行入力する機能を用いてディスクキャッシュ５のデータを複数のディスク装置２ａ〜２ｄと、パリティ生成回路７の両方に同時に転送し、パリティ生成回路７で生成されたパリティデータを、ディスクキャッシュ５を介することなく直接、パス２０４ｅを用いてキャッシュアドレスレジスタ２０１ｅ、ポート指定レジスタ２０２ｅおよび平行転送指定レジスタ２０５ｅを介してディスク装置２ｅに転送する。
【００３３】
本実施例では、ディスクアレイ制御部を、シングルプロセッサ構成としており、ホストインタフェイスコントローラ４及びドライブインタフェイスコントローラ１２には、安価で、最大転送速度が２０ＭＢ／ｓである市販のＳＣＳＩコントロールＬＳＩを採用し、ホストインタフェイス３とホストデータバス１３間、ドライブインタフェイス１６とドライブデータバス１４間にはＳＣＳＩコントロールＬＳＩ以外にＦＩＦＯなどの専用回路は存在しないため、ディスクアレイコントローラの原価を、ディスクアレイ制御部がマルチプロセッサ構成（ＭＰＵ８個）で、ＭＰＵバス１５とユーザデータ転送バスの２本の内部バス１３、１４との構成により、１／５に低減でき、その結果ディスクアレイ装置１８として低価格化を達成することができる。
【００３４】
また、ディスクアレイ装置１８では、パリティ生成回路で生成されたパリティデータを直接ディスク装置に転送するように構成したので、ホスト１７からの大容量で連続領域に対するライト命令の実効転送速度を、パリティをディスクキャッシュ５に一旦記憶する方式に比べて約４０％向上させることができる。
【００３５】
更に、ドライブインタフェイス１６として、今後も標準インタフェイスとして伸びるＳＣＳＩ−２を採用しているため、今後の高性能なディスク装置を接続して、高性能なディスクアレイ装置を構成することが可能となる。
【００３６】
【発明の効果】
本発明によれば、ユーザデータ転送制御部都ディスクアレイ制御部とを備え、制御用バス（ＭＰＵバス）、ホストデータバスおよびドライブデータバスの少なくとも３本のバス構成にしたことにより、ホストインタフェイスコントローラおよびドライブインタフェイスコントローラとして、安価なインタフェイスコントローラＬＳＩの使用を可能にし、その結果ディスクアレイコントローラはもとよりディスクアレイ装置としても、原価を大幅に低減することができる効果を奏する。
【００３７】
また、本発明によれば、ディスクアレイコントローラの内部バスの転送速度が、ディスクアレイ装置の性能ネックとなることがなく、内部バスの転送速度を向上させることができ、またバス幅の低減も図れることができる効果を奏する。
また、本発明によれば、ディスクアレイコントローラ内において、パリティ生成時に
、ディスクキャッシュのトラフィックを低減して、ユーザからの大容量で連続した領域に対するライト命令に対してディスクアレイ装置の実効転送速度を向上できる効果を奏する。
【図面の簡単な説明】
【図１】本発明に係るホストコンピュータを有するディスクアレイ装置の一実施例を示した構成図である。
【図２】本発明に係るディスクアレイ装置に用いられるディスク装置の性能を示す図である。
【図３】本発明に係るＤＭＡＣを、ディスクキャッシュ−ディスク装置の間におけるデータ転送に使用する場合を説明するための図である。
【図４】本発明に係るＤＭＡＣを、ディスクキャッシュ−パリティ生成回路−ディスクキャッシュの間におけるデータ転送に使用する場合を説明するための図である。
【図５】本発明に係るＤＭＡＣを、ディスクキャッシュ−ディスク装置の間における転送と、ディスクキャッシュ−パリティ生成回路−ディスク装置の間における同時並列転送とに使用する場合を説明するための図である。
【符号の説明】
１…ディスクアレイコントローラ、  ２、２ａ〜２ｅ…ディスク装置
３…ホストインタフェイス、  ４…ホストインタフェイスコントローラ
５…ディスクキャッシュ、  ６…ＤＭＡＣ（データ転送制御手段）
７…パリティ生成回路、  ８…ＭＰＵ、  ９…ＭＰＵコントロール回路
１０…ＲＯＭ、  １１…ワークＲＡＭ
１２、１２ａ〜１２ｅ…ドライブインタフェイスコントローラ
１３…ホストデータバス、  １４…ドライブデータバス
１５…ＭＰＵバス（制御用バス）
１６、１６ａ〜１６ｅ…ドライブインタフェイス
１７…ホストコンピュータ、  １８…ディスクアレイ装置
２０１、２０１ａ〜２０１ｅ…キャッシュアドレスカウンタ
２０２、２０２ａ〜２０２ｅ…ポート指定レジスタ
２０４、２０４ａ〜２０４ｅ…パス
２０５、２０５ａ〜２０５ｅ…平行転送指定レジスタ
【図１】
0003581727.tif 000002
【図２】
0003581727.tif 000003
【図３】
0003581727.tif 000004
【図４】
0003581727.tif 000005
【図５】
0003581727.tif 000006