(57)【要約】【課題】複数のＩ／Ｏプロセッサの一部について、記憶デバイスへのＩ／Ｏアクセス要求が集中することなく、複数のＩ／ＯプロセッサにＩ／Ｏアクセス要求がバランスよく発行させるようにすることにより、記憶デバイスに対するアクセス性能が向上した記憶制御システムを提供する。【解決手段】論理ボリュームを任意の記憶容量のストライプサイズでストライピングして複数のストライプ単位を形成し、この複数のストライプ単位のうちどのストライプ単位に、複数のＩ／ＯプロセッサのうちのどのＩ／ＯプロセッサがＩ／Ｏ要求を出力するかの情報を、制御情報としてメモリに記憶されてなる記憶制御システムである。【選択図】図５
2007188341.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置からのファイル単位でのデータ入出力要求に応答して記憶デバイスに対するＩ／Ｏ要求を出力する記憶制御装置であって、
前記ファイル単位でのデータ入出力要求を受信するコントローラと、前記コントローラからの指令に応答して前記ファイル単位でのデータ入出力要求に対応するＩ／Ｏ要求を前記記憶デバイスに出力する、複数のＩ／Ｏプロセッサと、を備えるチャネル制御部と、
前記コントローラが前記Ｉ／Ｏプロセッサを制御するための制御情報が記憶されるメモリと、
前記情報処理装置がアクセス可能で、前記記憶デバイスに構成された論理ボリュームと、
を備え、
前記論理ボリュームを任意の記憶容量のストライプサイズでストライピングして複数のストライプ単位を形成し、この複数のストライプ単位のうちどのストライプ単位に、前記複数のＩ／ＯプロセッサのうちのどのＩ／Ｏプロセッサが前記Ｉ／Ｏ要求を出力するかの情報を、前記制御情報として前記メモリに記憶されてなる、記憶制御装置。
【請求項２】
前記情報処理装置からの入出力要求に応答して、前記記憶デバイスに読み書きされる、ライト又はリードデータを一次記憶するキャッシュメモリを備え、前記サイズはキャッシュスロットサイズ以上である請求項１記載の記憶制御装置。
【請求項３】
前記制御情報は、同一の前記ストライプ単位からなる、論理ボリュームのアドレスに複数のＩ／ＯプロセッサがＩ／Ｏ要求を同時に出力しないように構成されてなる、請求項１記載の記憶制御装置。
【請求項４】
前記制御情報は、前記複数のＩ／Ｏプロセッサそれぞれの担当する処理を前記各ストライプ単位で割り振るように構成されている、請求項１記載の記憶制御装置。
【請求項５】
前記制御情報は、前記コントローラの制御ドライバの起動時を契機にして、当該ドライバによって前記ストライプサイズと前記論理ボリュームのブロックアドレスのサイズに基づいて形成される請求項１記載の記憶制御装置。
【請求項６】
前記コントローラは前記ファイル単位でのデータ入出力要求からＩ／Ｏを形成し、このＩ／Ｏ要求に応答して前記複数のＩ／Ｏプロセッサが異なるストライプ単位にＩ／Ｏ要求を出力するように構成した請求項１記載の記憶制御装置。
【請求項７】
前記記憶デバイスに複数の論理ボリュームが構成され、各論理ボリュームが前記ストライプサイズでストライピングされ、全てのボリュームのストライプ単位について、前記Ｉ／Ｏプロセッサが対応付けられている、請求項１記載の記憶制御装置。
【請求項８】
前記ストライプサイズが管理装置によって変更可能である、請求項１記載の記憶制御装置。
【請求項９】
前記制御情報は、前記ストライプ単位の複数からなるストライプグループを複数備え、各ストライプグループに前記Ｉ／Ｏプロセッサが割り当てられている、請求項１記載の記憶制御装置。
【請求項１０】
前記制御情報は、各論理ボリュームの同一のブロックアドレスを含むストライプ単位に、同一のＩ／Ｏプロセッサが割り当てられないように構成されている請求項８記載の記憶制御装置。
【請求項１１】
前記各論理ボリューム間の前記ストライプ単位毎に、複数のＩ／Ｏプロセッサが同一にならないようにシフトさせて割り当てるようにした前記制御情報が構成される請求項９記載の記憶制御装置。
【請求項１２】
前記複数のＩ／Ｏプロセッサの一部が閉塞された場合、前記チャネル制御部は、閉塞したＩ／Ｏプロセッサを閉塞されていない他のＩ／Ｏプロセッサによって代替するように構成した請求項１記載の記憶制御装置。
【請求項１３】
情報処理装置からのファイル単位でのデータ入出力要求に応答して記憶デバイスに対するＩ／Ｏ要求を出力する記憶制御装置であって、
前記情報処理装置がアクセス可能で、前記記憶デバイスに構成された論理ボリュームと、
前記ファイル単位でのデータ入出力要求を受信してシーケンシャルＩ／Ｏを発生するコントローラと、前記コントローラからのコマンドに応答して前記シーケンシャルＩ／Ｏ要求をＩ／Ｏ要求を前記記憶デバイスに出力する、複数のＩ／Ｏプロセッサと、を備え、前記コントローラは前記コマンドに、前記シーケンシャルＩ／Ｏ要求が開始した時点からの前記シーケンシャルＩ／Ｏが出力される前記論理ボリューム上のブロックアドレスサイズの累計を含ませるようにしたチャネル制御部と、
前記コントローラが前記Ｉ／Ｏプロセッサを制御するための制御情報が記憶されるメモリと、
を備え、
前記論理ボリュームを任意の記憶容量のストライプサイズでストライピングして複数のストライプ単位を形成し、この複数のストライプ単位のうちどのストライプ単位に、前記複数のＩ／ＯプロセッサのうちのどのＩ／Ｏプロセッサが前記Ｉ／Ｏ要求を出力するかの情報を、前記制御情報として前記メモリに記憶されてなる、記憶制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は記憶制御装置に関し、特に、チャネル制御部に複数のＩ／Ｏプロセッサを備えた記憶制御装置に関するものである。
【背景技術】
【０００２】
近年、コンピュータシステムで扱われるデータ量が急激に増加している。このようなデータを管理するための記憶制御装置、すなわち、ストレージシステムとして、最近では、ミッドレンジクラスやエンタープライズクラスと呼ばれるような巨大な記憶資源を提供するＲＡＩＤ（Redundant Arrays of Inexpensive Disks）方式で管理された大規模なストレージシステムが注目されている。かかる膨大なデータを効率よく利用し管理するために、ディスクアレイ装置等のストレージシステムと情報処理装置とをＳＡＮ（Storage Area Network）で接続し、ストレージシステムへの高速かつ大量なアクセスを実現する技術が開発されている。その一方で、ストレージシステムと情報処理装置とをＴＣＰ／ＩＰプロトコル等を用いたネットワークで相互に接続し、情報処理装置からのファイルレベルでのアクセスを実現するＮＡＳ（Network Attached Storage）が開発されている。
【０００３】
この種のストレージシステムの技術に、ＳＡＮとＮＡＳを統合した、ＮＡＳヘッドという概念があることが知られている。これはＮＡＳの構成要件のうち、コントローラ部分だけを取り出し、独立した装置としたものである。このＮＡＳヘッドをＳＡＮ接続型のストレージ装置に組み込むことにより、ストレージシステムにＮＡＳ機能を組み込むことができる。この種のストレージシステムとして、例えば、特開２００５−１５７７１３号公報に記載のものが存在する。
【特許文献１】特開２００５−１５７７１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ＮＡＳボードは、情報処理装置からのファイル単位でのデータ入出力要求に応答して記憶デバイスに対するＩ／Ｏ要求を出力するように構成されている。ＮＡＳボードは、ＣＰＵとＩ／Ｏプロセッサを備えている。ＣＰＵは、ＮＡＳボードをＮＡＳとして機能させるプロセッサである。ＣＰＵは、ストレージシステムに接続された上位のホストからのファイルアクセス要求を受け取ると、ファイルアクセス要求に対するＩ／Ｏ要求を生成し、これをＩ／Ｏプロセッサから記憶デバイスに出力させる。
【０００５】
近年ＣＰＵの処理性能の向上に伴い、複数のＩ／Ｏプロセッサを設けて、記憶デバイスへのアクセス性能を向上することが行なわれている。この方式では、Ｉ／Ｏプロセッサごとにアクセスする論理ボリュームを固定させている。この構成では、特定のＩ／ＯプロセッサにＣＰＵからアクセスが集中してしまう問題があった。そこで、本発明は、複数のＩ／Ｏプロセッサの一部について、記憶デバイスへのＩ／Ｏアクセス要求が集中することなく、複数のＩ／ＯプロセッサにＩ／Ｏアクセス要求がバランスよく発行させるようにすることにより、記憶デバイスに対するアクセス性能が向上した記憶制御装置を提供する事を目的とするものである。
【課題を解決するための手段】
【０００６】
前記目的を達成するために、本発明は、論理ボリュームを複数のストライプ単位に分割して、複数のＩ／Ｏプロセッサそれぞれの担当する処理を各ストライプ単位に割り振ったことを特徴とするものである。さらに、本発明は一つの論理ボリュームに対してアクセスする複数のＩ／Ｏプロセッサを均一に当該論理ボリュームに対応させたものである。本発明の第１の構成は、情報処理装置からのファイル単位でのデータ入出力要求に応答して記憶デバイスに対するＩ／Ｏ要求を出力する記憶制御装置であって、前記ファイル単位でのデータ入出力要求を受信するコントローラと、前記コントローラからの指令に応答して前記ファイル単位でのデータ入出力要求に対応するＩ／Ｏ要求を前記記憶デバイスに出力する、複数のＩ／Ｏプロセッサと、を備えるチャネルプロセッサと、前記コントローラが前記Ｉ／Ｏプロセッサを制御するための制御情報が記憶されるメモリと、前記情報処理装置がアクセス可能で、前記記憶デバイスに構成された論理ボリュームと、を備え、前記論理ボリュームを任意の記憶容量のストライプサイズでストライピングして複数のストライプ単位を形成し、この複数のストライプ単位のうちどのストライプ単位に、前記複数のＩ／ＯプロセッサのうちのどのＩ／Ｏプロセッサが前記Ｉ／Ｏ要求を出力するかの情報を、前記制御情報として前記メモリに記憶されてなる、ことを特徴とするものである。
【０００７】
本発明によれば、論理ボリュームを複数のストライプ単位に分割して、複数のＩ／Ｏプロセッサそれぞれの担当する処理を各ストライプ単位に割り振ることが可能になる。
【発明の効果】
【０００８】
以上説明したように、本発明によれば、複数のＩ／Ｏプロセッサの一部について、記憶デバイスへのＩ／Ｏアクセス要求が集中することなく、複数のＩ／ＯプロセッサにＩ／Ｏアクセス要求がバランスよく発行させるようにすることにより、記憶デバイスに対するアクセス性能が向上した記憶制御装置を提供することができる、という効果を達成する。
【発明を実施するための最良の形態】
【０００９】
図１は本発明に係る一実施形態のストレージシステム６００の構成図である。ストレージシステム６００は複数の記憶デバイス３００と、情報処理装置２００からの入出力要求に応答して記憶デバイス３００への入出力制御を行う記憶デバイス制御装置１００とを備えて構成されている。情報処理装置２００はＣＰＵやメモリ等を備えたコンピュータ装置であり、例えば、ワークステーション、メインフレームコンピュータ、パーソナルコンピュータ等で構成される。情報処理装置２００は複数台のコンピュータをネットワーク接続して構成することもできる。情報処理装置２００はオペレーティングシステム上で動作するアプリケーションプログラムを実装している。アプリケーションプログラムとしては、例えば、銀行の自動預金預け払いシステムや航空機の座席予約システム等がある。
【００１０】
情報処理装置１乃至３（２００）はＬＡＮ（Local Area Network）４００を介してストレージシステム６００と接続されている。ＬＡＮ４００は、例えば、イーサネット（登録商標）やＦＤＤＩ等の通信網であり、情報処理装置１乃至３（２００）とストレージシステム６００との間の通信はＴＣＰ／ＩＰプロトコルによって行われる。情報処理装置１乃至３（２００）からはストレージシステム６００に対してファイル名指定によるデータアクセス要求（ファイル単位でのデータ入出力要求。以下、ファイルアクセス要求と称する。）が後述のチャネル制御部ＣＨＮ１乃至ＣＨＮ４（１１０）に送信される。
【００１１】
ＬＡＮ４００にはバックアップデバイス９１０が接続されている。バックアップデバイス９１０は、例えば、ＭＯ、ＣＤ−Ｒ、ＤＶＤ−ＲＡＭ等のディスク系デバイス、ＤＡＴテープ、カセットテープ、オープンテープ、カートリッジテープ等のテープ系デバイスである。バックアップデバイス９１０はＬＡＮ４００を介して記憶デバイス制御装置１００との間で通信を行うことにより記憶デバイス３００に記憶されているデータのバックアップデータを記憶する。また、バックアップデバイス９１０は情報処理装置１（２００）と接続し、情報処理装置１（２００）を介して記憶デバイス３００に記憶されているデータのバックアップを取得する。
【００１２】
記憶デバイス制御装置１００はチャネル制御部ＣＨＮ１乃至４（１１０）を備える。記憶デバイス制御装置１００は、チャネル制御部ＣＨＮ１乃至４（１１０）とＬＡＮ４００とを介して、情報処理装置１乃至３（２００）と、バックアップデバイス９１０と、記憶デバイス３００との間のライトアクセス又はリードアクセスを媒介する。チャネル制御部ＣＨＮ１乃至４（１１０）は情報処理装置１乃至３（２００）からのファイルアクセス要求を個々に受け付ける。すなわち、チャネル制御部ＣＨＮ１乃至４（１１０）には個々にＬＡＮ４００上のネットワークアドレス（例えば、ＩＰアドレス）が割り当てられていて、それぞれが個別にＮＡＳとして振る舞い、個々のＮＡＳがあたかも独立したＮＡＳが存在するかのようにＮＡＳとしてのサービスを情報処理装置１乃至３（２００）に提供することができる。このように１台のストレージシステム６００に個別にＮＡＳとしてのサービスを提供するチャネル制御部ＣＨＮ１乃至４（１１０）を備えるように構成したことで、従来、独立したコンピュータで個々に運用されていたＮＡＳサーバが一台のストレージシステム６００に集約される。そして、これによりストレージシステム６００の統括的な管理が可能となり、各種設定・制御や障害管理、バージョン管理といった保守業務の効率化が図られる。
【００１３】
情報処理装置３乃至４（２００）はＳＡＮ５００を介して記憶デバイス制御装置１００と接続されている。ＳＡＮ５００は、記憶デバイス３００が提供する記憶領域におけるデータの管理単位であるブロックを単位として情報処理装置３乃至４（２００）との間でデータの授受を行うためのネットワークである。ＳＡＮ５００を介して行われる情報処理装置３乃至４（２００）と記憶デバイス制御装置１００との間の通信は一般にファイバチャネルプロトコルに従って行われる。情報処理装置３乃至４（２００）からは、ストレージシステム６００に対して、ファイバチャネルプロトコルに従ってブロック単位のデータアクセス要求（以下、ブロックアクセス要求と称する。）が送信される。
【００１４】
ＳＡＮ５００にはＳＡＮ対応のバックアップデバイス９００が接続されている。ＳＡＮ対応バックアップデバイス９００は、ＳＡＮ５００を介して記憶デバイス制御装置１００との間で通信を行うことにより、記憶デバイス３００に記憶されているデータのバックアップデータを記憶する。
【００１５】
記憶デバイス制御装置１００はチャネル制御装置ＣＨＮ１乃至４（１１０）に加えて、更にチャネル制御部ＣＨＦ１乃至２（１１０）を備える。記憶デバイス制御装置１００はチャネル制御部ＣＨＦ１乃至２（１１０）とＳＡＮ５００とを介して、情報処理装置３乃至４（２００）及びＳＡＮ対応バックアップデバイス９００との間の通信を行う。
【００１６】
情報処理装置５（２００）は、更に、ＬＡＮ４００やＳＡＮ５００等のネットワークを介さずに記憶デバイス制御装置１００と接続されている。この情報処理装置５（２００）の例は、例えばメインフレームコンピュータである。情報処理装置５（２００）と記憶デバイス制御装置１００との間の通信は、例えばＦＩＣＯＮ（Fiber Connection)（登録商標）やＥＳＣＯＮ（Enterprise System Connection）（登録商標）、ＡＣＯＮＡＲＣ（Advanced Connection Architecture）（登録商標）、ＦＩＢＡＲＣ（Fiber Connection Architecture）（登録商標）などの通信プロトコルに従って行われる。情報処理装置５（２００）からはストレージシステム６００に対して、これらの通信プロトコルに従ってブロックアクセス要求が送信される。記憶デバイス制御装置１００は、チャネル制御部ＣＨＡ１乃至２（１１０）を通じて情報処理装置５（２００）との間で通信を行う。
【００１７】
ＳＡＮ５００には、ストレージシステム６００の設置場所（プライマリサイト）とは遠隔した場所（セカンダリサイト）に設置される他のストレージシステム６１０が接続されている。ストレージシステム６１０は、レプリケーション又はリモートコピーの機能におけるデータの複製先の装置として利用される。なお、ストレージシステム６１０はＳＡＮ５００以外にもＡＴＭなどの通信回線によりストレージシステム６００に接続していることもある。この場合には、例えば、ＳＡＮ５００に接続されるチャネル制御部１１０として、上記通信回線を利用するためのインターフェース（チャネルエクステンダ）を備えるチャネル制御部が採用される。
【００１８】
このように、ストレージシステム６００内にチャネル制御部ＣＨＮ１乃至４（１１０）、チャネル制御部ＣＨＦ１乃至２（１１０）、チャネル制御部ＣＨＡ１乃至２（１１０）を混在させて装着させることにより、異種ネットワークに接続できるストレージシステムを実現できる。即ち、このストレージシステム６００はチャネル制御部ＣＨＮ１乃至４（１１０）を用いてＬＡＮ４００に接続し、かつチャネル制御部ＣＨＦ１乃至２（１１０）を用いてＳＡＮ５００に接続するという、ＳＡＮ−ＮＡＳ統合ストレージシステムである。
【００１９】
接続部１５０は、各々のチャネル制御部１１０、共有メモリ１２０、キャッシュメモリ１３０、及び各々のディスク制御部１４０を相互に接続する。これらのチャネル制御部１１０、共有メモリ１２０、キャッシュメモリ１３０、及びディスク制御部１４０相互間のコマンド又はデータの送受信は接続部１５０を介して行われる。接続部１５０は例えば高速スイッチングによりデータ伝送を行う超高速クロスバスイッチ等の高速バスで構成される。これにより、チャネル制御部１１０相互間の通信パフォーマンスが大幅に向上するとともに、高速なファイル共有機能や高速フェイルオーバー等が可能になる。
【００２０】
共有メモリ１２０、及びキャッシュメモリ１３０はチャネル制御部１１０、及びディスク制御部１４０が共用するメモリ装置である。共有メモリ１２０は主として制御情報やコマンド等を記憶するために利用され、キャッシュメモリ１３０は主としてデータを記憶するために利用される。例えば、あるチャネル制御部１１０が情報処理装置２００から受け取ったデータ入出力コマンドが書き込みコマンドであった場合に、当該チャネル制御部１１０はその書き込みコマンドを共有メモリ１２０に書き込むとともに、情報処理装置２００から受け取ったライトデータをキャッシュメモリ１３０に書き込む。一方、ディスク制御部１４０は共有メモリ１２０を監視しており、共有メモリ１２０に書き込みコマンドが書き込まれたと判定すると、当該書き込みコマンドに従ってキャッシュメモリ１３０からライトデータを読み出して、これを記憶デバイス３００に書き込む。
【００２１】
一方、あるチャネル制御部１１０が情報処理装置２００から受け取ったデータ入出力コマンドが読み出しコマンドであった場合に、当該チャネル制御部１１０はその読み出しコマンドを共有メモリ１２０に書き込むとともに、読み出し対象となるデータがキャッシュメモリ１３０に存在しているか否かをチェックする。ここで、読み出し対象となるデータがキャッシュメモリ１３０に存在している場合には、チャネル制御部１１０はそのデータをキャッシュメモリ１３０から読み取って情報処理装置２００に送信する。読み出し対象となるデータがキャッシュメモリ１３０に存在していない場合には、共有メモリ１２０に読み出しコマンドが書き込まれたことを検出したディスク制御部１４０は読み出し対象となるデータを記憶デバイス３００から読み出してこれをキャッシュメモリ１３０に書き込むとともに、その旨を共有メモリ１２０に書き込む。チャネル制御部１１０は共有メモリ１２０を監視することにより、読み出し対象となるデータがキャッシュメモリ１３０に書き込まれたことを検出すると、そのデータをキャッシュメモリ１３０から読み出して情報処理装置２００に送信する。
【００２２】
ディスク制御部１４０はチャネル制御部１１０から送信された論理アドレス指定による記憶デバイス３００へのデータアクセス要求を、物理アドレス指定によるデータアクセス要求に変換し、チャネル制御部１１０から出力されるＩ／Ｏ要求に応答して記憶デバイス３００へのデータの書き込み又は読み取りを行う。記憶デバイス３００がＲＡＩＤ構成されている場合には、ディスク制御部１４０はＲＡＩＤ構成に従ったデータのアクセスを行う。この他にも、ディスク制御部１４０は記憶デバイス３００に記憶されたデータの複製管理、バックアップ制御、災害発生時のデータ消失防止（ディザスタリカバリ）等を目的としてレプリケーション制御又はリモートコピー制御等を行う。
【００２３】
記憶デバイス３００は単一又は複数のディスクドライブ（物理ボリューム）を備えており、情報処理装置２００からアクセス可能な記憶領域を提供する。記憶デバイス３００が提供する記憶領域には単一又は複数の物理ボリュームの記憶空間を合わせた、単一又は複数の論理ボリュームが設定されている。記憶デバイス３００に設定される論理ボリュームには、情報処理装置２００からアクセス可能なユーザ論理ボリュームや、チャネル制御部１１０の制御のために使用されるシステム論理ボリュームがある。システム論理ボリュームにはチャネル制御部１１０で実行されるオペレーティングシステムも格納されている。また、記憶デバイス３００が提供する論理ボリュームには、各々のチャネル制御部１１０がアクセス可能な論理ボリュームが割り当てられている。もとより、複数のチャネル制御部１１０が同一の論理ボリュームを共有することもできる。
【００２４】
尚、記憶デバイス３００として、例えば、ハードディスク装置やフレキシブルディスク装置等を用いることができる。記憶デバイス３００のストレージ構成として、例えば、複数の記憶デバイス３００によりＲＡＩＤ方式のディスクアレイを構成してもよい。また、記憶デバイス３００と記憶デバイス制御装置１００は直接接続してもよく、ネットワークを介して接続してもよい。更に、記憶デバイス３００は記憶デバイス制御装置１００と一体に構成してもよい。
【００２５】
管理端末１６０はストレージシステム６００を保守・管理するためのコンピュータ装置であり、内部ＬＡＮ１５１を通じて各々のチャネル制御部１１０とディスク制御部１４０に接続している。オペレータは管理端末１６０を操作することで記憶デバイス３００のディスクドライブの設定、論理ボリュームの設定、チャネル制御１１０やディスク制御部１４０で実行されるマイクロプログラムのインストール等を行うことが可能である。
【００２６】
図２はディスク制御部１４０の回路構成を示している。ディスク制御部１４０はインターフェース部１４１、ＣＰＵ１４２、メモリ１４３、及びＮＶＲＡＭ１４４を備えて構成されており、これらが一枚又は複数枚の回路基板上に一体的なユニットとして形成されている。インターフェース部１４１は接続部１５０を介してチャネル制御部１１０等との間で通信を行うための通信インターフェースや記憶デバイス３００との間で通信を行うための通信インターフェースを備えている。ＣＰＵ１４２はチャネル制御部１１０、記憶デバイス３００、及び管理端末１６０との間で通信を行い、上述した記憶デバイス３００へのアクセス制御やデータの複製管理等を行う。メモリ１４３とＮＶＲＡＭ１４４には、ＣＰＵ１４２に上述した各種の制御処理を実行させるためのプログラムやデータ等が格納されている。
【００２７】
図３はチャネル制御部ＣＨＮ１乃至２（１１０）の詳細な接続構成図である。本実施形態においては、チャネル制御部ＣＨＮ１及びＣＨＮ２（１１０）から成るクラスタが構成され、更に、チャネル制御部ＣＨＮ３及びＣＨＮ４（１１０）から成るクラスタも構成されている。図３では、チャネル制御部ＣＨＮ３及びＣＨＮ４（１１０）の詳細な接続構成を示していないが、チャネル制御部ＣＨＮ１及びＣＨＮ２（１１０）の接続構成と同様である。
【００２８】
チャネル制御部ＣＨＮ１及びＣＨＮ２（１１０）は、情報処理装置１乃至３（２００）からファイルアクセス要求を受け取ると、ファイルの記憶アドレスやデータ長等を求めて、ファイルアクセス要求に対応するＩ／Ｏ要求を記憶デバイス３００（ディスク制御装置１４０）に出力することにより、記憶デバイス３００へのアクセスを行う。このＩ／Ｏ要求にはデータの先頭アドレス、データ長、ライトアクセス又はリードアクセス等のアクセスの種別が含まれており、ライトアクセスの場合には更にライトデータが含まれる。これにより、情報処理装置１乃至３（２００）からはＮＦＳ（Network File System）やＣＩＦＳ（Common Interface File System）等のファイル転送プロトコルを使用して記憶デバイス３００へのファイルの読み書きが可能となる。
【００２９】
チャネル制御部ＣＨＮ１及びＣＨＮ２（１１０）は、それぞれネットワークインターフェース部１１１、ＣＰＵ（ＮＡＳプロセッサ）１１２、メモリコントローラ１１３、メモリ（メモリモジュール）１１４、入出力制御部１１５、及び変換回路（変換ＬＳＩ）１１６を備えて構成されており、これらがＮＡＳボードとして、一枚又は複数枚の回路基板上に一体的なユニットとして形成されている。ネットワークインターフェース部１１１は情報処理装置２００との間でＴＣＰ／ＩＰプロトコルに基づく通信を行う通信インターフェースであり、例えば、ＬＡＮコントローラなどで構成される。符号１１９は、ＮＡＳエンジンであり、ＣＰＵ１１２、メモリコントローラ１１３、メモリ１１４の他、ＢＩＯＳ（Basic Input/Output System）及びＮＶＲＡＭを有している。
【００３０】
ＣＰＵ１１２は、ＣＨＮ１１０をＮＡＳボードとして機能させるための制御を司る。ＣＰＵ１１２は、ＮＦＳ又はＣＩＦＳ等のファイル共有プロトコル及びＴＣＰ／ＩＰの制御、ファイル指定されたファイルアクセス要求の解析、メモリ１１４内の制御情報へのファイル単位のデータと記憶デバイス３００内のＬＵとの変換テーブルを用いた相互変換、記憶デバイス３００内のＬＵに対するデータ書き込み又は読み出し要求の生成、データ書き込み又は読み出し要求のＩ／Ｏプロセッサ１１７への送信等を処理する。
【００３１】
ＢＩＯＳは、例えばＣＨＮ１１０に電源が投入された際に、ＣＰＵ１１２（ＮＡＳドライバ）を起動する過程で最初にメモリ１１４にロードされ実行されるソフトウェアであり、例えばフラッシュメモリなどの不揮発性の媒体に保存されてＣＨＮ１１０上に実装されている。ＣＰＵ１１２は、ＢＩＯＳからメモリ１１４上に読み込まれたソフトウェアを実行することにより、ＣＨＮ１１０上のＣＰＵ１１２が関係する部分の初期化、診断などを行うことができる。さらに、ＣＰＵ１１２は、ＢＩＯＳからＩ／Ｏプロセッサ１１７にコマンドなどの指示を発行することにより、記憶デバイス３００から所定のプログラム、例えばＯＳのブート部などをメモリ１１４に読み込むことができる。読み込まれたＯＳのブート部は、さらに記憶デバイス３００に格納されているＯＳの主要部分をメモリ１１４に読み込む動作をし、これによりＣＰＵ１１２上でＯＳが起動され、例えばファイルサーバとしての処理が実行できるようになる。また、ＮＡＳエンジン１１９は、ＰＸＥ（Preboot eXecution Environment）などの規約にしたがうネットワークブートローダを格納するＮＶＲＡＭを実装し、ネットワークブートを行わせることも可能である。
【００３２】
メモリ１１４には各種のプログラム及びデータ、例えば、オペレーティングシステム、ボリュームマネージャ、ファイルシステムプログラム、ＲＡＩＤマネージャ、ＳＶＰマネージャ、ファイルシステムプロトコル（ＮＦＳやＳａｍｂａ等）、バックアップ管理プログラム、障害管理プログラム、ＮＡＳマネージャ、セキュリティ管理プログラム等が格納される。メモリコントローラ１１３はＣＰＵ１１２からの指示に基づいてメモリ１１４へのメモリアクセス制御を行う。
【００３３】
入出力制御部１１５は、Ｉ／Ｏプロセッサ１１７と、ＮＶＲＡＭ（Non Volatile RAM）１１８とを含んで構成されており、ディスク制御部１４０、キャッシュメモリ１３０、共有メモリ１２０、及び管理端末１６０との間でデータやコマンドの送受信を行う。ファイルアクセス要求に対応するＩ／Ｏ要求はＩ／Ｏプロセッサ１１７によって出力される。Ｉ／Ｏプロセッサ１１７は例えば１チップのマイコンで構成される。Ｉ／Ｏプロセッサ１１７は、記憶デバイス３００内のＬＵに対するデータ書き込み又は読み出し要求やデータの授受を制御し、ＣＰＵ１１２とディスク制御部１４０との間の通信を中継する。ＮＶＲＡＭ１１５はＩ／Ｏプロセッサ１１９の制御を司るプログラムを格納する不揮発性メモリである。ＮＶＲＡＭ１１５に記憶されるプログラムの内容は、管理端末１６０や、ＮＡＳマネージャからの指示により書き込みや書き換えを行うことができる。
【００３４】
クラスタを構成するチャネル制御部ＣＨＮ１及びＣＨＮ２（１１０）は信号線１１０ａを通じて相互にデータ通信可能に構成されており、データを共有することができる。チャネル制御部ＣＨＮ１及びＣＨＮ２（１１０）間でデータ通信を行う場合、両者の距離は長いため、クロック分配型の構成では信号のスキューの問題が生じ得る。そこで、本実施形態ではかかる問題を考慮して、チャネル制御部ＣＨＮ１及びＣＨＮ２（１１０）間の通信をクロック抽出型にする構成を採用した。より具体的には、メモリ１１４はクロックジェネレータからクロック信号の分配を受けて動作するクロック分配型の構成を採用しているので、チャネル制御部ＣＨＮ１及びＣＨＮ２（１１０）間のインターフェースにおいて、クロック分配型からクロック抽出型に変換する構成を採用した。
【００３５】
メモリコントローラ１１３からメモリ１１４に伝送されるデータ信号は８Ｂ／１０Ｂ符号化されており、そのデータ信号にはクロックが埋め込まれている。変換回路１１６はそのデータ信号を１０Ｂ／８Ｂ変換（復号化）することによりエンベデッドクロックを抽出する。変換回路１１６におけるデータの識別タイミングはクロックジェネレータから供給されるクロック信号を基準とする。チャネル制御部ＣＨＮ１及びＣＨＮ２（１１０）のそれぞれに含まれる変換回路１１６は、信号線１１０ａを介して接続されている。チャネル制御部ＣＨＮ１及びＣＨＮ２（１１０）は信号線１１０ａを通じてデータ通信を行うことができる。例えば、チャネル制御部ＣＨＮ１（１１０）のメモリコントローラ１１３はチャネル制御部ＣＨＮ２のメモリ１１４にメモリアクセスすることができる。この他にも、チャネル制御部ＣＨＮ１及びＣＨＮ２（１１０）は信号線１１０ａを通じてハートビート通信を行うことで、相手の故障の有無を検出できる。クラスタを構成することにより、クラスタ内のあるチャネル制御部１１０に障害が発生した場合でも、障害が発生したチャネル制御部１１０がそれまで行っていた処理をクラスタ内の他のチャネル制御部１１０に引き継ぐようにすることができる。
【００３６】
図３において、入出力制御部１１５のＩ／Ｏプロセッサは、一つのブロックで表示したが、実際には、図４に示すように、ＮＡＳボード１１０の入出力部１１５は、複数のプロセッサ（ＩＯＰ１−ＩＯＰ４）あるいは複数のＩ／Ｏ出力ユニットから構成され、各プロセッサがそれぞれＮＡＳエンジン１１９に接続され、ＣＰＵ１１２の制御管理下におかれている。前記ＣＰＵ１１２はメモリ１１４に設定された制御情報（制御テーブル）に基づいて、複数のＩ／ＯプロセッサＩＯＰ１〜ＩＯＰ４をそれぞれ制御する。すなわち、本実施形態に係るストレージシステムは、ユーザ論理ボリューム（ＬＵ）を、或る記憶容量のサイズでストライピングして、ＬＵを複数のストライプ単位から構成し、複数のＩ／ＯプロセッサＩＯＰ１〜ＩＯＰ４を各ストライプ単位に割り振る処理を行っている。なお、Ｉ／Ｏプロセッサの搭載数は４基に限定されるものではなく、かつ制御情報を共有メモリ１２０、あるいは記憶デバイスに記憶するものであっても良い。
【００３７】
図５の５００は、キャッシュスロットサイズを２５６ｋＢと考えた場合において、論理ボリュームのＬＢＡ（Logical Block Address）を２５６ｋＢからなるストライプサイズでストライピングしたことを示している。ＮＡＳエンジン１１９のＣＰＵ１１２の起動によって実行されるＮＡＳドライバは、論理ボリュームの全ＬＢＡサイズをストライプサイズ毎に区切ってストライプ単位を順次形成していく。先頭アドレスから各ストライプ単位にストライプ番号を割り振る。なお、ストライプサイズはキャッシュスロットサイズ以上であることが望ましい。このようにすることによって、複数のＩ／Ｏプロセッサでのキャッシュメモリのキャッシュスロット競合を避けることができる。特にランダムＩ／Ｏには効果的である。
【００３８】
ＮＡＳエンジン１１９のＯＳの起動によって実現されるＮＡＳドライバは、ストライプ番号と、Ｉ／Ｏプロセッサの総数から、ストライプ単位毎に、Ｉ／Ｏ要求を出力するＩ／Ｏプロセッサを決定する。図５の５０２は、ストライプ番号と、このストライプ番号に対応するＬＢＡにＩ／Ｏ要求を出力するＩ／Ｏが割り振られたことを示す制御テーブルである。図５の５００と５０２の制御テーブルは、ＮＡＳドライバの起動時に作成され、メモリ１１４に設定記憶される。ＮＡＳドライバ１１９は、上位装置からファイルアクセスがある都度、これら制御テーブルを参照して、Ｉ／Ｏ要求が出力されるべきストライプ単位（ストライプ番号）を決定する。次いで、ＮＡＳドライバは、ストライプ番号に対応するＩ／Ｏプロセッサを選択して、このプロセッサにＩ／Ｏ出力要求を出力するコマンドを送信する。Ｉ／Ｏプロセッサの識別情報はメモリに１１４に記憶されているために、ＮＡＳエンジン１１９は、ＮＡＳボードに搭載されるＩＯＰ数を予め知ることができる。さらに、ＮＡＳエンジンはＳＣＳＩ規格に類似したコマンドインターフェースを用いて、全てのユーザ論理ボリュームのそれぞれについて全ＬＢＡサイズを認識することができる。
【００３９】
図６は、図５の５００と５０２とからなる制御テーブルの作成手順を示したフローチャートであり、ＮＡＳドライバの起動を契機として、ＮＡＳエンジン１１９によって実行される。ＮＡＳエンジン１１９は、ストライプサイズを取得する（６００）。このストライプサイズは、管理装置１６０に対するユーザからの入力によって予め設定される他、Ｉ／Ｏプロセッサの稼動状態によって変更されても良い。次いで、ＮＡＳエンジンは、Ｉ／Ｏプロセッサの実装情報を読みに行き、複数のＩ／ＯプロセッサがＮＡＳボード１１０に実装されているか否かを判定する（６０２）。この実装情報はメモリ１１４に設定されている。この判定が否定された場合には、このフローチャートの処理を終了する。この判定が肯定された場合には、ＮＡＳドライバは、ある一つの論理ボリューム（ＬＵ♯ｎ）についてＬＢＡ情報を取得し、取得したストライプサイズを用いて、各論理ボリュームのストライピングを実施する。ＮＡＳドライバは個々のストライプ単位の先頭ＬＢＡを取得する（６０４）。次いで、ストライプ位置を求める。すなわち、各ストライプ単位の先頭ＬＢＡをストライプサイズで割った値をストライプ位置とする（６０６）。
【００４０】
次いで、ＮＡＳドライバは、ストライプ番号をグループ分けする（６０８）。例えば、ストライプ番号の下一ケタ（０−９）を抽出して、図５の５０２に示すように、ストライプ単位をグループ分けする。ストライプ番号の下一桁を下記のようにＩ／Ｏプロセッサ数で割った余りの数に応じて、グループ分けを実行し、各グループについて順番にＩ／Ｏプロセッサを振り分ける（６１０）。ＮＡＳドライバは全てのＩ／Ｏプロセッサについて、この振り分け処理を実施する（６１２，６１４）。図５の５０２に示すように、ストライプ番号が０,４,８のストライプ単位にはＩＯＰ０のＩ／Ｏプロセッサが割り振られ、ストライプ番号が１,５,９のストライプ単位にはＩＯＰ１のＩ／Ｏプロセッサが割り振られ、ストライプ番号が２,６のストライプ単位にはＩＯＰ２のＩ／Ｏプロセッサが割り振られ、ストライプ番号が３，７のストライプ単位にはＩＯＰ３のＩ／Ｏプロセッサが割り振られている。
【００４１】
ＮＡＳエンジンがＩ／Ｏプロセッサに対してランダムＩ／Ｏを出力させる場合には、ランダムＩ／Ｏの出力先のＬＢＡに割り当てられたストライプグループを決定し、このストライプグループに振られたＩ／ＯプロセッサにＩ／Ｏ要求の出力を命令する。この通知を受けたＩ／Ｏプロセッサは、目的とするＬＢＡにＩ／Ｏ要求を出力する。この例では、一つの論理ボリュームに対してＩ／Ｏ要求を出力するＩ／Ｏプロセッサを複数割り振ることができるので、特定のプロセッサにＩ／Ｏ要求の出力負荷が集中しないことにより、複数のプロセッサを並列して動作させることができる。すなわち、複数のランダムＩ／Ｏを複数のＩ／Ｏプロセッサで同時に処理することが可能になる。また、一つのＩ／Ｏプロセッサを複数の論理ボリュームへのＩ／Ｏ要求に割り当てることが可能になる。
【００４２】
次に、ＮＡＳエンジンがＩ／Ｏプロセッサに対してシーケンシャルＩ／Ｏを出力させる場合でも同様であり、図５の５００に示すように、論理ボリュームのアドレスが大きくなる毎にストライプ位置が変化し、そのストライプ番号に応じて対応するＩ／Ｏプロセッサが順番に選択される。したがって、シーケンシャルなＩ／Ｏであっても、特定のＩ／ＯプロセッサにＩ／Ｏ負荷が集中せず、複数のプロセッサを並列して動作させることができる。
【００４３】
図５の５０４はＩ／Ｏプロセッサの割り振りのための制御テーブルの他の例である。既述の５０２に示すように、ストライプグループ（Ｇｒ♯）とＩ／Ｏプロセッサとを一意に対応付けると、異なる論理ボリュームの同じＬＢＡに同一のＩ／Ｏプロセッサが対応してしまう。例えばＬＵＮ（論理ボリューム番号）００乃至ＬＵＮ０３のストライプグループ０についての要求先Ｉ／Ｏプロセッサが常に同じになってしまう。そのような場合、複数の論理ボリュームを並列に先頭からアクセスしていくようなＩ／Ｏパターンでは、一つのＩ／ＯプロセッサにＩ／Ｏが集中してしまい、Ｉ／Ｏ要求の処理効率が低下する。そこで、５０４に示すように、ＬＵＮの順番が上がるにしたがって、同じストライプグループに割り振られるＩ／Ｏプロセッサを一つずつずらしていくようにした。すなわち、全Ｉ／Ｏプロセッサを循環的（ＩＯＰ♯０→ＩＯＰ♯１→ＩＯＰ♯２→ＩＯＰ♯３→ＩＯＰ♯０→・・・・）にシフトさせていく。このようにすることによって、複数の論理ボリュームを並列に先頭からアクセスしていくようなＩ／Ｏパターンでも、Ｉ／Ｏ要求を複数のＩ／Ｏプロセッサに分散させることができ、Ｉ／Ｏ処理効率を向上することができる。
【００４４】
図７（２）はＩ／Ｏプロセッサの他の振分け制御方式である。この方式では、シーケンシャルＩ／ＯアクセスにおけるＩ／Ｏプロセッサの学習機能の改善を目的としている。図７（１）記載の制御テーブルについてシーケンシャルＩ／Ｏアクセスを適用した場合、ストライプ単位長未満のシーケンシャルＩ／Ｏの場合は同一のＩ／Ｏプロセッサで処理できる。しかしながら、ストライプサイズを越えるシーケンシャルＩ／Ｏアクセスの場合は、他のＩ／ＯプロセッサでＩ／Ｏ要求を処理しなければならず、一つのＩ／Ｏプロセッサの学習動作が途切れてしまう。例えばＩ／ＯプロセッサＩＯＰ♯０に着目すると、Ｉ／Ｏアクセスは４ＭＢごとに途切れた形になり、連続的なシーケンシャルＩ／Ｏを前提とした、Ｉ／Ｏプロセッサが論理ボリュームを先読みする学習効果が得られない課題がある。
【００４５】
そこで、ＮＡＳエンジン（ＮＡＳドライバ）１１９は情報処理装置からのファイルアクセス要求をブロックアドレスに変換する際、シーケンシャルＩ／Ｏ要求が発生した時点からのＩ／Ｏ要求の転送サイズをコマンドキューの生成の都度累計し、累計転送サイズ（累計ＴＬ）７０２をコマンドキューの情報７００に、学習情報として載せてＩ／Ｏプロセッサに出力するようにした。図１１は、ＣＰＵ１１２からＩ／Ｏプロセッサ１１７に送られる、Ｉ／Ｏアクセス要求（コマンドキュー）の構成例である。キュー種別及びオペコードは、リード要求あるいはライト要求かを区別し、ＬＢＡは、Ｉ／Ｏプロセッサによって参照されるＬＵ上のアドレス群であり、ＴＬは転送サイズであり、累計ＴＬは累計転送サイズである。
【００４６】
図７（２）において、論理ボリュームのストライプ位置"４"の領域にあるＬＢＡに対するＩ／Ｏ要求は、ＮＡＳエンジンからのコマンドを受けたＩ／ＯプロセッサＩＯＰ♯０によって実行される。この時のＩ／Ｏプロセッサ♯０に対するコマンドキュー７００には累計転送サイズ（ＴＬ）として４ＭＢが含まれている。同一のＩ／ＯプロセッサＩＯＰ♯０に対するコマンドキュー７０２には累計転送サイズ（ＴＬ）８ＭＢが含まれている。したがって、Ｉ／ＯプロセッサＩＯＰ♯０は、自身に送れたコマンドキューの累計転送サイズを参照することによって、累計転送サイズから先のストライプグループに含まれる、論理ボリュームの論理ブロックアドレスを先読み（学習）することができる。図１２は、Ｉ／Ｏプロセッサの学習動作を示した、複数あるうちの、一つのＩ／Ｏプロセッサに着目したフローチャートである。先ず、ステップ１２００において、同一のターゲット（Ｉ／Ｏプロセッサ）は、イニシエータ（ＣＰＵ）から複数のコマンドを受け取り、これを待ち行列（キュー）に入れる（コマンドキューイング）。ステップ１２０２では、Ｉ／Ｏプロセッサはコマンドキューを解析する。ステップ１２０４では、Ｉ／ＯプロセッサはＮＡＳエンジンのローカルメモリや共有メモリの制御管理情報を参照してキャッシュ制御情報を参照して、キャッシュヒット／ヒットミス判定を行う（ステップ１２０６）。キャッシュヒットミス判定の場合は、ステップ１２０８に移行して、Ｉ／Ｏプロセッサは、ディスク制御部１４０側に、リード命令のＬＢＡで指定されるデータをキャッシュメモリに転送する要求（ステージングメッセージ）を送信する。同期ステージングとは、キャッシュメモリ上にデータがステージングされるまで、ステージング処理を継続する事を意味する。
【００４７】
ステップ１２０８が終了すると、再びステップ１２０６が実行され、当該判定においてキャッシュヒット判定がされて、キャッシュメモリからＮＡＳエンジンのローカルメモリ１１４（図３参照）にキャッシュヒットされたブロックアドレスのデーが転送される（１２１０）。図１２において、１２１２は、Ｉ／Ｏプロセッサの学習機能に対応する部分である。Ｉ／Ｏプロセッサは、コマンドキューの累計転送サイズ（累計ＴＬ／図１１参照）を参照して、「累計ＴＬ＝０  ｏｒ  累計ＴＬ≠０？」を判定する（１２１４）。ＣＰＵ１１２（図３参照）は、情報処理装置２００からのファイルアクセス要求をブロックアクセス要求に変換し、ファイルアクセス要求と次のファイルアクセス要求の間でブロックアクセスを比較する。ブロックアドレスに連続性がある場合には、連続性が開始されたブロックアドレスからの累計ＴＬを算出して、これをＩ／Ｏプロセッサに対するＩ／Ｏ要求に含ませる。
【００４８】
累計ＴＬ＝０の場合は、コマンドはランダムＩ／Ｏアクセスであるために、学習機能は実行されない。累計ＴＬ≠０の場合はシーケンシャルＩ／Ｏアクセスとして、Ｉ／Ｏプロセッサは論理ボリュームを先読みする事が出来る。ステップ１２１６では、Ｉ／Ｏプロセッサは、塁計ＴＬを元に先読みする、ＬＵ上のスロット範囲を決定する。すなわち、ステップ１２１８に示すように、（累計ＴＬ／キャッシュスロットサイズ）を計算し、先読みされる、論理ボリューム上のＬＢＡに対するスロット範囲が決定される。Ｉ／Ｏプロセッサによって転送されるデータのブロックアドレスから先読みスロット範囲分のブロックアドレスが先読みされる。あるいは、先読みの過程でキャッシュヒットミスしたアドレスから、先読み範囲分のスロット範囲が先読みされても良い。
【００４９】
ステップ１２２０では、先読み範囲と上限値が比較される。ステップ１２２２において、先読み範囲が上限値を超える場合には、先読み範囲が上限値に強制設定され、次いで、ステップ１２２４に移行して、先読み範囲が決定されて、先読み対象の先頭位置をサーチする。
【００５０】
ステップ１２２６では、Ｉ／Ｏプロセッサは、先読みメッセージをディスク制御部に発行する。これを受けたディスク制御部は、先読みされるブロックアドレスのデータ読み込み、これをキャッシュメモリに非同期にステージングする。キャッシュメモリからＮＡＳエンジン１１９のローカルメモリ１１４（図３）へのデータ転送は図示しないＤＭＡによって実行される。Ｉ／Ｏプロセッサは、ＤＭＡからのコマンドをチェックして、データ転送が終了したか、あるいはタイムアウト（ＴＯＶ）をチェックする（１２２８,１２３０）。次いで、Ｉ／Ｏプロセッサは、ＣＰＵ１１２にコマンドキューの実行を完了した事を表すステータスを送信して一連の処理を終了する（１２３２）。以上の学習処理は、特定のＩ／Ｏプロセッサに制限されず、全てのＩ／Ｏプロセッサによって実行可能である。
【００５１】
次に、Ｉ／Ｏプロセッサを保守縮退する場合の制御ルールについて説明する。このような保守縮退として、Ｉ／Ｏプロセッサを制御するマイクロプログラムをオンラインで交換する場合がある。図８の制御テーブルに即して説明する。保守縮退の際、４つあるＩ／Ｏプロセッサのうち、偶数のＩＤで特定されたＩ／Ｏプロセッサ（ＩＯＰ０）,（ＩＯＰ２）を閉塞させてその後回復させ、次いで、奇数のＩＤで特性されたＩ／Ｏプロセッサ（ＩＯＰ１）,（ＩＯＰ３）を閉塞させその後回復させる。閉塞の際、Ｉ／Ｏプロセッサ（ＩＯＰ０）をＩ／Ｏプロセッサ（ＩＯＰ１）で代替し、Ｉ／Ｏプロセッサ（ＩＯＰ２）をＩ／Ｏプロセッサ（ＩＯＰ３）で代替する。奇数側のＩ／Ｏプロセッサを閉塞する場合は、この逆の関係で偶数側のＩ／Ｏプロセッサで代替する。なお、あるＩ／Ｏプロセッサを障害縮退させる場合は、閉塞されたプロセッサに割り当てられていたストライプグループに他のプロセッサを均等に割り当てればよい。
【００５２】
図１０は、論理ボリュームのストライプサイズを管理者が管理端末１６０に入力するための管理端末の入力用画面である。この入力用画面はユーザインターフェースによって構成され、ストライピングの設定を選択すると、クラスタ構成された一対のＮＡＳボード（Ｕｎｉｔ♯）毎にストライプサイズを構成できるようになっている。ストライプサイズが小さいほど、特定のＩ／Ｏ要求にＩ／Ｏプロセッサが拘束されることがないために、ランダムＩ／Ｏに適している。一方、シーケンシャルＩ／Ｏでは、連続するＩ／Ｏ要求をＩ／Ｏプロセッサが効率良く処理するために、ストライプサイズを大きくした方が好ましい。
【図面の簡単な説明】
【００５３】
【図１】本実施形態のストレージシステムのシステムブロック図である。
【図２】本実施形態のディスク制御部のシステムブロック図である。
【図３】前記ストレージシステムのチャネル制御部のシステムブロック図である。
【図４】チャネル制御部が複数のＩ／Ｏプロセッサを備えていることを示すブロック図である。
【図５】ストライピングされた論理ボリュームのストライプ単位とＩ／Ｏプロセッサとの関係を示す制御テーブルである。
【図６】ＮＡＳエンジンが前記制御テーブルを生成する動作を示すフローチャートである。
【図７】シーケンシャルＩ／Ｏアクセスにおける、ストライピングされた論理ボリュームとＩ／Ｏプロセッサとの制御関係を示した制御テーブルである。
【図８】Ｉ／Ｏプロセッサを保守縮退させた場合の、Ｉ／Ｏプロセッサの振分け制御動作を示す制御テーブルである。
【図９】Ｉ／Ｏプロセッサを障害縮退させた場合の、Ｉ／Ｏプロセッサの振分け制御動作を示す制御テーブルである。
【図１０】管理者がストライプサイズを設定するための、管理端末の設定画面である。
【図１１】ＮＡＳエンジンのＣＰＵからＩ／Ｏプロセッサに発行されるコマンドの構成例である。
【図１２】Ｉ／Ｏプロセッサの学習処理を示す、Ｉ／Ｏプロセッサが実行するフローチャートである。
【符号の説明】
【００５４】
１００  記憶デバイス制御装置  １１０  チャネル制御部  １１２  ＣＰＵ  １１３  メモリコントローラ  １１４  メモリ  １１５  入出力制御部  １１７  チャネル制御部  １３０…キャッシュメモリ  ６００…ストレージシステム
【図１】
2007188341.tif 000003
【図２】
2007188341.tif 000004
【図３】
2007188341.tif 000005
【図４】
2007188341.tif 000006
【図５】
2007188341.tif 000007
【図６】
2007188341.tif 000008
【図７】
2007188341.tif 000009
【図８】
2007188341.tif 000010
【図９】
2007188341.tif 000011
【図１０】
2007188341.tif 000012
【図１１】
2007188341.tif 000013
【図１２】
2007188341.tif 000014