(57)【特許請求の範囲】
【請求項１】
上位装置および記憶装置との間における情報の授受を制御する複数の第１のプロセッサと、前記上位装置と前記記憶装置との間で授受される第１の情報、および前記第１のプロセッサにて使用される第２の情報、が格納される共有メモリ、を備えた共有メモリ部と、を含むディスクアレイ制御装置であって、
前記共有メモリ部には、前記第１のプロセッサと前記共有メモリとの間に介在して、前記第１のプロセッサからの前記共有メモリに対するアクセス、における前記第１のプロセッサと前記共有メモリとの間での前記第１および第２の情報の授受の処理、を制御する第２のプロセッサを備え、
前記第２のプロセッサは、前記第１のプロセッサと前記共有メモリとの間で授受される前記第１および第２の情報が一時的に格納されるデータキャッシュメモリを備え、
前記第２のプロセッサは、前記共有メモリに格納された前記第１および第２の情報の前記データキャッシュメモリへの先読みの制御として、前記第１のプロセッサからの前記共有メモリに対するアクセス処理の認識に基づき、前記第１のプロセッサがアクセスした前記共有メモリのアドレスに関するデータを前記データキャッシュメモリへ読み出して格納し、前記第１のプロセッサからの前記共有メモリの前記第１および第２の情報に対するアクセス要求に対して、前記データキャッシュメモリに該当データが有る場合は当該データを用いて応答し、
前記第１のプロセッサと前記共有メモリ部との間には、前記第１のプロセッサから前記共有メモリに対するアクセスにおける前記第１および第２の情報の書き込みを実行するための第１のコマンド手段および読み出しを実行するための第２のコマンド手段と、前記第１のプロセッサが前記共有メモリにおける前記第１および第２の情報の有無を調べる処理を前記第２のプロセッサに代行させる第３のコマンド手段と、を有し、
前記共有メモリに格納される前記第２の情報は、本ディスクアレイ制御装置におけるプロセッサ間通信情報を含む制御情報と、前記第１の情報のキャッシュ管理のための、仮想デバイスグループ、キャッシュグループ、ストライプ、及びセグメントの実アドレス、のアドレス対応付けの情報と、を含み、
前記第３のコマンド手段を用いた処理では、前記第２のプロセッサは、前記第１のプロセッサからの仮想デバイスアドレスを伴うコマンドに対し、前記データキャッシュメモリにおける該当データの有無を判定し、無い場合には前記共有メモリの前記第２の情報の前記アドレス対応付けの情報を必要に応じて順に読み出すことにより、該当データの有無を判定し、前記共有メモリに該当データが有る場合には前記共有メモリの該当データのセグメントの実アドレスを取得し、該当データの有無を応答すること、を特徴とするディスクアレイ制御装置。
【請求項２】
請求項１記載のディスクアレイ制御装置において、
複数の前記第１のプロセッサを搭載し、前記上位装置との間で所定のインタフェースで前記第１の情報の授受を制御する処理を行う、１つ以上のチャネルアダプタと、
複数の前記第１のプロセッサを搭載し、複数の前記記憶装置との間で所定のインタフェースで前記第１の情報の授受を制御する処理を行う、１つ以上のディスクアダプタと、
前記チャネルアダプタ及びディスクアダプタからパスインタフェースを介して共有アクセスされる、前記共有メモリを備える前記共有メモリ部と、を有し、
前記チャネルアダプタ及びディスクアダプタは、複数の前記第１のプロセッサに対し、前記共有メモリ部との間のパスインタフェースを介して情報の授受を制御するプロセッサアダプタを有し、
前記共有メモリ部には、
各前記プロセッサアダプタからの前記パスインタフェースを介した前記共有メモリへのアクセス要求の調停を含む処理を行うパスインタフェース制御論理と、
前記パスインタフェース制御論理から、前記共有メモリへのアクセスのためのパスを通じて、前記共有メモリに対する前記第１または第２の情報のリードまたはライトのアクセスの要求を受け付け、前記共有メモリとの共有メモリインタフェースを介して、前記共有メモリに対する前記第１または第２の情報のリードまたはライトの処理を実行する共有メモリ制御論理と、
前記パスインタフェース制御論理と前記共有メモリ制御論理との間のパスに対して前記共有メモリ制御論理と並列に接続される前記第２のプロセッサと、を有すること、を特徴とするディスクアレイ制御装置。
【請求項３】
請求項１または２に記載のディスクアレイ制御装置において、
前記先読みのモードを、初期設定、または前記第１のプロセッサからのコマンドでの指定、または前記第２のプロセッサによるアクセスログ情報に基づく学習判断、が可能であり、
前記第２のプロセッサは、前記先読みのモードとして、
第１のモードとして、前記第１のプロセッサによって以前にアクセスした前記共有メモリのアドレスを先読みする手段と、
第２のモードとして、前記第１のプロセッサからの前記共有メモリへのアクセスのアドレスの周辺アドレスをバーストで先読みする手段と、
第３のモードとして、前記第１のプロセッサからの前記共有メモリに対するアクセス処理の実行を認識し、当該アクセスの次にアクセスされるアドレスを予想して当該アドレスを先読みする手段と、を有し、これらから選択されるモードで先読みを実行すること、を特徴とするディスクアレイ制御装置。
【請求項４】
請求項１または２に記載のディスクアレイ制御装置において、
優先度設定情報による初期設定、もしくは前記第１のプロセッサにより、前記アクセス要求における優先アクセスの対象となる前記第１のプロセッサまたは前記共有メモリのアドレスの指定が可能であり、
前記第２のプロセッサは、前記第１のプロセッサからの前記共有メモリに対するアクセス要求における、高速に応答すべき優先の前記第１のプロセッサまたは前記共有メモリのアドレスを認識し、当該優先のアクセス要求を、前記共有メモリの制御論理における優先待ちキューに蓄積し、前記複数の第１のプロセッサからのアクセス要求に関する調停の制御として、Ｎ回待ちの第１のプロセッサ、前記優先待ちキュー、通常待ちキュー、の順に、前記複数の第１のプロセッサのラウンドロビン制御により、前記共有メモリへのアクセス権を決定し、当該アクセス要求を処理すること、を特徴とするディスクアレイ制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、記憶制御装置およびその制御技術に関し、特に、メモリを共有する複数のプロセッサで構成され、ホストコンピュータからのデータを複数の磁気ディスク装置等の記憶装置に分散して格納する制御動作を行うディスクアレイ制御装置等に適用して有効な技術に関する。
【０００２】
【従来の技術】
近年のディスクアレイ制御装置では、より高い性能を得るため、複数のチャネルアダプタと複数のディスクアダプタで並行して、データ転送処理を実行するシステムが主流になっている。
【０００３】
例えば、図１１に示す参考技術では、ホストコンピュータ１１００とディスクアレイ制御装置１１０１間のデータ転送制御を実行する複数のチャネルアダプタ１０１０と、磁気ディスク装置１０５０とディスクアレイ制御装置１１０１間のデータ転送制御を実行する複数のディスクアダプタ１０２０と、各アダプタと磁気ディスク装置１０５０の間で授受されるデータを一時的に格納するキャッシュ機能および複数のチャネルアダプタ１０１０及びディスクアダプタ１０２０間の制御情報を格納するシェア−ドメモリ機能を持つ共有メモリ部１０３０を備え、各アダプタ間は２本の共通バス１０４０で接続され，全アダプタからアクセス可能な構成とすることが考えられる。ディスクアダプタ１０２０は磁気ディスク装置１０５０とドライブインタフェース１０６０，１０６１により接続される。
【０００４】
【発明が解決しようとする課題】
このような図１１の参考技術の共通バス構造は、チャネルアダプタ１０１０，ディスクアダプタ１０２０の数の増加に伴い共有メモリ部１０３０へのアクセス回数が増加すると、共通バス１０４０の利用率が上がり、これがディスクアレイ制御装置１１０１のＩ／Ｏ性能を制限する要因になっていた。
【０００５】
そこで、図１２の参考技術に示すようにチャネルアダプタ１０１１と、ディスクアダプタ１０２０と共有メモリ部１０３０を１対１で接続することで共有メモリ部１０３０へのアクセスパス利用率を低く抑え共有メモリ応答時間を短縮するための工夫がなされてきた。
【０００６】
しかしながら、ホストコンピュータ１１００からのデータ転送速度の伸びは著しく、ディスクアレイ制御装置１１０１に求められるＩ／Ｏ性能はより大きくなっている。ディスクアレイ制御装置１１０１はチャネルアダプタ１０１０、ディスクアダプタ１０２０の数を増やしたり、各アダプタに搭載するプロセッサ数を増やしたり、搭載するプロセッサ処理能力を高速化するなどで対応してきたが、共有メモリ部１０３０へのアクセス回数は一層増加し、共有メモリ部１０３０へのアクセスパスの利用率増加だけでなく、共有メモリ部１０３０内の共有メモリ１０３２と共有メモリ制御回路１０３１間のデータ転送経路の利用率も飽和状態となり、共有メモリアクセス時間が増大することが原因でディスクアレイ制御装置１１０１のＩ／Ｏ性能が制限されている。
【０００７】
本発明の目的は、マルチプロセッサ構成の記憶制御装置において、各プロセッサの共有メモリへのアクセス占有時間の短縮によるデータ入出力性能の向上を実現することにある。
【０００８】
本発明の他の目的は、マルチプロセッサ構成の記憶制御装置において、各プロセッサの共有メモリへのアクセス回数の削減によるデータ入出力性能の向上を実現することにある。
【０００９】
本発明の他の目的は、ディスクアレイ制御装置において、チャネルアダプタ／ディスクアダプタに搭載される個々のプロセッサの処理時間の中で、プロセッサの増加及び処理の複雑化により増大している共有メモリアクセス占有時間を短縮させることにある。
【００１０】
本発明の他の目的は、ディスクアレイ制御装置において、チャネルアダプタ／ディスクアダプタに搭載される個々のプロセッサの処理時間の中で、プロセッサの増加及び処理の複雑化により増大している共有メモリへのアクセス回数を削減することにある。
【００１１】
【課題を解決するための手段】
本発明は、上位装置および記憶装置との間における情報の授受を制御する複数の第１のプロセッサと、上位装置と記憶装置との間で授受される第１の情報および第１のプロセッサにて使用される第２の情報が格納される共有メモリを備えた共有メモリ部と、を含む記憶制御装置において、共有メモリ部には、第１のプロセッサの共有メモリへのアクセスを制御する第２のプロセッサを備えたものである。
【００１２】
また、本発明は、上位装置および記憶装置との間における情報の授受を制御する複数の第１のプロセッサと、上位装置と記憶装置との間で授受される第１の情報および第１のプロセッサにて使用される第２の情報が格納される共有メモリを備えた共有メモリ部と、を含む記憶制御装置の制御方法において、共有メモリ部に、第１のプロセッサと共有メモリとの間で授受される第１および第２の情報が一時的に格納されるデータキャッシュを備えた第２のプロセッサを配置し、第１のプロセッサの共有メモリ内の第１および第２の情報のアクセス要求には、可能な限りデータキャッシュを経由して応答するものである。
【００１３】
より具体的には、本発明の記憶制御装置の一例であるディスクアレイ制御装置は、チャネルアダプタ及びディスクアダプタ搭載プロセッサから共有メモリをリード／ライトする時間を短縮する手段として、共有メモリ部にデータキャッシュを内蔵する共有メモリ搭載プロセッサを備える。最も高速な汎用メモリのアクセスタイムに対し、共有メモリ搭載プロセッサに内蔵されているデータキャッシュのアクセスタイムは通常１／１０以下の時間で済むことが知られている。増加する時間としては、共有メモリ搭載プロセッサの処理ステップ時間が多少発生するが昨今のプロセッサ処理クロックは飛躍的に高速化しており、数クロックのプロセッサ処理は汎用メモリのアクセスタイムの１／１０以下であり、オーバーヘッドにはならない。共有メモリ搭載プロセッサのデータキャッシュにあらかじめ共有メモリデータをライトしておき、このデータをリードすれば、チャネルアダプタ／ディスクアダプタ搭載プロセッサの共有メモリアクセス占有時間が短縮される。
【００１４】
共有メモリでは、全プロセッサの相互間で、フラグ制御情報のライト／リードにより連絡をとりあう制御処理が多く発生するが、このような処理は共有メモリアドレスが各プロセッサのアクセスで同一となるため、共有メモリ搭載プロセッサの内蔵データキャッシュにヒットする確立が極めて高く、共有メモリアクセス時間短縮に有効である。
【００１５】
また、本発明では、共有メモリ搭載プロセッサの内蔵データキャッシュのヒット率を高める手段として、アクセス元のチャネルアダプタ／ディスクアダプタ搭載プロセッサの識別番号を認識して、前回アクセスしたアドレスを先読みする手段、アクセスアドレスの周辺アドレスを先読みする手段、実行されるアクセス処理を認識し、次のアドレスを予想する先読み手段を設ける。
【００１６】
共有メモリを構成する汎用メモリは複数ワードを連続アクセスするバーストアクセスや、パイプライン動作によりリードライトを高速化するのが一般的であるが、単発のリードライトはオーバーヘッドが大きく高速化されていないのが実状である。従って、単発アクセスに対し、複数ワードをバーストアクセスしてもそれほどアクセス時間が増加しない特性があり、連続した複数バイトのデータを先読みすることによるアクセス時間増加は少ない。
【００１７】
また、本発明では、チャネルアダプタ／ディスクアダプタ搭載プロセッサの共有メモリアクセス占有時間を少なくする他の手段として、チャネルアダプタ／ディスクアダプタ搭載プロセッサの共有メモリへのアクセスを共有メモリ搭載プロセッサに代行させるコマンドインタフェースを設けることでアクセス回数そのものを減少させる方法を用いる。
【００１８】
すなわち、チャネルアダプタ／ディスクアダプタ搭載プロセッサは、共有メモリからリードしたデータに基づきながら分岐処理を実施し、分岐先で更に共有メモリをリードすることが多いため、このような、共有メモリへの複数回のアクセスを伴う任意の処理単位を共有メモリ搭載プロセッサに代行させることでチャネルアダプタ／ディスクアダプタ搭載プロセッサの共有メモリへのアクセス回数を減少させる。この方法は、特にチャネルアダプタ／ディスクアダプタと共有メモリ部間のパス利用率を下げるのに効果的な手段である。
【００１９】
上述の共有メモリ搭載プロセッサの内蔵データキャッシュの利用と共有メモリアクセス回数を減少させる本手段を併用させれば、チャネルアダプタおよびディスクアダプタと共有メモリ部間でアクセス回数が減少し、更に内蔵データキャッシュから共有メモリデータをリードすることで共有メモリ部からの応答時間も格段に短縮される。
【００２０】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しながら詳細に説明する。
【００２１】
図１は本発明の一実施の形態である記憶制御方法を実施する記憶制御装置を含む情報処理システムの構成の一例を示す概念図である。
【００２２】
本実施の形態の情報処理システムは、ホストコンピュータ５００と、その配下で稼働し、ディスクアレイ制御装置６００および冗長構成の複数の磁気ディスク装置５０からなるディスクアレイサブシステムで構成されている。
【００２３】
本実施の形態のディスクアレイ制御装置６００は、ホストインタフェース７００を介した一つまたは複数のホストコンピュータ５００との間における情報の授受を制御する複数のチャネルアダプタ（ＰＫ）１１と、ドライブインタフェース６０、ドライブインタフェース６１を介した複数の磁気ディスク装置５０との間における情報の授受を制御する複数のディスクアダプタ（ＰＫ）２０と、チャネルアダプタ１１およびディスクアダプタ２０にて共有される共有メモリ部３０から構成される。
【００２４】
チャネルアダプタ１１の各々は、複数のチャネルアダプタ搭載プロセッサ（ＭＰ）１７と、個々のチャネルアダプタ搭載プロセッサ１７と共有メモリ部３０との間におけるパスインタフェース１９を介した情報の授受を制御するプロセッサアダプタ（ＭＰＡ）１８で構成されている。
【００２５】
同様に、ディスクアダプタ２０の各々は、複数のディスクアダプタ搭載プロセッサ（ＭＰ）２１と、個々のＭＰ２１と共有メモリ部３０との間におけるパスインタフェース１９を介した情報の授受を制御するプロセッサアダプタ（ＭＰＡ）２２で構成されている。
【００２６】
共有メモリ部３０は、共有メモリ制御ＬＳＩ３１と、記憶媒体である共有メモリ３２を含んでいる。共有メモリ制御ＬＳＩ３１は、パスインタフェース１９を介した複数のＭＰＡ１８およびＭＰＡ２２の各々からの共有メモリ３２へのアクセス要求の調停等の処理を行う制御論理を備えたパスインタフェース制御３３と、メモリアクセスパス４０を介してパスインタフェース制御３３から到来する共有メモリ３２へのデータのリード／ライト要求を受け付け、共有メモリインタフェース４１を介して共有メモリ３２に対するデータのリード／ライト処理を実行する共有メモリ制御３４を含んでいる。
【００２７】
本実施の形態の場合、共有メモリ制御ＬＳＩ３１の内部には、メモリアクセスパス４０に対して共有メモリ制御３４と並列に接続された共有メモリ搭載プロセッサ３６が設けられ、パスインタフェース制御３３から到来する共有メモリ３２へのデータのリード／ライト要求が共有メモリ搭載プロセッサ３６にも同時に入力される構成となっている。また、共有メモリ搭載プロセッサ３６の内部には内蔵データキャッシュ３８が設けられている。共有メモリ搭載プロセッサ３６と、共有メモリ制御３４との間には図示しない制御インタフェースが設けられ、後述のような各種の共有メモリ３２へのアクセス制御が行われる。
【００２８】
この共有メモリ部３０に設けられる共有メモリ搭載プロセッサ３６は、たとえば、図４に例示されるように、共有メモリ制御ＬＳＩ３１内に設けられたローカルメモリ３５に格納される制御プログラム９５によって動作する。また、ローカルメモリ３５には、必要に応じて、後述のような共有メモリ３２へのアクセス制御における優先度を制御するための優先度設定情報９６や、チャネルアダプタ搭載プロセッサ１７およびディスクアダプタ搭載プロセッサ２１による共有メモリ３２へのアクセス状況を記録したアクセスログ情報９７も格納される。
【００２９】
共有メモリ搭載プロセッサ３６は、たとえば、内蔵データキャッシュ３８を備えた汎用のマイクロプロセッサで構成することができ、共有メモリ制御ＬＳＩ３１内に、パスインタフェース制御３３、共有メモリ制御３４、ローカルメモリ３５とともに１チップ構成で実装することができる。その場合、共有メモリ搭載プロセッサ３６の部分は、新たに開発することなく、既存の汎用マイクロプロセッサのＩＰ（設計資産）を利用して製造することができる。
【００３０】
共有メモリ搭載プロセッサ３６は、共有メモリ部３０内に設けられたＬＡＮコントローラ３７、および共有メモリ部３０の外部に設けられたハブ（ＨＵＢ）７０を介して外部のサービスプロセッサ（ＳＶＰ）８０に接続されており、共有メモリ部３０の内部における各種制御情報をＳＶＰ８０から受け取って設定したり、共有メモリ部３０の内部の障害の有無等の稼働状況をＳＶＰ８０に送出する、等のディスクアレイサブシステムの管理運用にも用いられる。
【００３１】
図３に例示されるように、共有メモリ３２には、一例として、複数のチャネルアダプタ搭載プロセッサ１７、ディスクアダプタ搭載プロセッサ２１等にアクセスされるシステム管理情報９１（第２の情報）、複数のチャネルアダプタ搭載プロセッサ１７、ディスクアダプタ搭載プロセッサ２１等の相互間における制御情報の授受に用いられるプロセッサ間通信エリア９２（第２の情報）、ホストコンピュータ５００と磁気ディスク装置５０との間で授受されるデータ（第１の情報）が一時的に格納されるキャッシュデータ領域９４、キャッシュデータ領域９４における格納データの管理（たとえば特定のデータの有無のチェック）等に用いられるキャッシュ管理情報９３（第２の情報）、等の情報が格納される。
【００３２】
また、本実施の形態の場合、複数の磁気ディスク装置５０は、たとえばＲＡＩＤ（Ｒｅｄａｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）のディスクアレイを構成し、ホストコンピュータ５００からのライトデータを分割したデータブロックと、当該データブロックから生成された冗長データブロックが、複数の磁気ディスク装置５０に分散して格納される。
【００３３】
これに伴い、キャッシュデータ領域９４の管理を効率化すべく、たとえば、キャッシュ管理情報９３は、共有メモリ３２内での任意のデータブロック（セグメント）の実アドレスが格納されるキャッシュセグメント管理テーブル９３ｄ、ＲＡＩＤの各ストライプを構成するセグメントの前記キャッシュセグメント管理テーブル９３ｄにおけるアドレスが格納されるキャッシュストライプ管理テーブル９３ｃ、キャッシュグループに属する各ストライプの前記キャッシュストライプ管理テーブル９３ｃにおけるアドレスが格納されるキャッシュグループアドレス管理テーブル９３ｂ、仮想デバイスを構成するキャッシュグループのキャッシュグループアドレス管理テーブル９３ｂにおけるアドレスが格納される仮想デバイスグループテーブル９３ａ、の階層構造をなしている。
【００３４】
チャネルアダプタ１１の個々のチャネルアダプタ搭載プロセッサ１７、およびディスクアダプタ２０の個々のディスクアダプタ搭載プロセッサ２１から、ＭＰＡ１８およびＭＰＡ２２を経由してパスインタフェース制御３３との間で授受される共有メモリ３２および磁気ディスク装置５０へのアクセス要求は、本実施の形態の場合、一例として、図２に例示されるようなフォーマットを用いて実行される。
【００３５】
すなわち、図２（ａ）に例示されるように、ＭＰＡ１８およびＭＰＡ２２からパスインタフェース制御３３に発行されるライト要求時の、ＭＰＡ送信フェーズ１００（ライトフォーマット）は、共有メモリ３２および磁気ディスク装置５０に対する書き込み位置を指示するアドレス部１００ａ、リード／ライト等の動作の種別や要求元のチャネルアダプタ１１（ＰＫ）、ディスクアダプタ２０（ＰＫ）および各ＰＫ内のチャネルアダプタ搭載プロセッサ１７、ディスクアダプタ搭載プロセッサ２１を識別する情報が設定されるコマンド部１００ｂ、ライトデータが格納されるデータ部１００ｃ、当該ＭＰＡ送信フェーズ１００のエラーチェックやエラー訂正等に用いられる符号部１００ｄ、からなる。
【００３６】
また、ＭＰＡ送信フェーズ１００に対して、パスインタフェース制御３３から応答されるＭＰＡ受信フェーズ１０１は、ライト処理の実行結果等を示す情報を含むステータス部１０１ａ、当該ＭＰＡ受信フェーズ１０１のエラーチェックやエラー訂正等に用いられる符号部１０１ｂ、からなる。なお、ライト要求処理における障害発生時には、ＭＰＡ受信フェーズ１０１には、図２（ｂ）に例示されるように、エラー内容部１０１ｃが付加される。
【００３７】
一方、図２（ｃ）に例示されるように、ＭＰＡ１８およびＭＰＡ２２からパスインタフェース制御３３に発行されるリード要求時の、ＭＰＡ送信フェーズ１０２（リードフォーマット）は、共有メモリ３２および磁気ディスク装置５０に対する読み出し位置を指示するアドレス部１０２ａ、リード／ライト等の動作の種別や要求元のチャネルアダプタ１１（ＰＫ）、ディスクアダプタ２０（ＰＫ）および各ＰＫ内のチャネルアダプタ搭載プロセッサ１７、ディスクアダプタ搭載プロセッサ２１を識別する情報が設定されるコマンド部１０２ｂ、当該ＭＰＡ送信フェーズ１０２のエラーチェックやエラー訂正等に用いられる符号部１０２ｃ、からなる。
【００３８】
また、ＭＰＡ送信フェーズ１０２に対して、パスインタフェース制御３３から応答されるＭＰＡ受信フェーズ１０３は、リード処理の実行結果等を示す情報を含むステータス部１０３ａ、読み出されたリードデータが格納されるデータ部１０３ｂ、当該ＭＰＡ受信フェーズ１０３のエラーチェックやエラー訂正等に用いられる符号部１０３ｃ、からなる。なお、リード要求処理における障害発生時には、ＭＰＡ受信フェーズ１０３には、図２（ｄ）に例示されるように、エラー内容部１０３ｄが付加される。
【００３９】
後述の本実施の形態におけるインテリジェントコマンド（サーチ命令）は、図２（ｃ）に例示されるように、リードフォーマット（ＭＰＡ送信フェーズ１０２−１）を用いて実行する。すなわち、コマンド部１０２ｂ内に、通常のリード命令とは異なるサーチ命令であることを示すビットをセットする。また、このサーチ命令に対して、応答されるＭＰＡ受信フェーズ１０３−１では、データ部１０３ｂには、リードデータの代わりに、共有メモリ３２におけるキャッシュデータ領域９４においてヒットした目的のデータブロックの格納位置（キャッシュ実アドレス）が格納される。
【００４０】
ホストコンピュータ５００から磁気ディスク装置５０までのデータライト転送について説明する。チャネルアダプタ１１はホストインタフェース７００を介してホストコンピュータ５００から転送されるデータを受信し、チャネルアダプタ搭載プロセッサ１７の制御によりＭＰＡ１８から共有メモリ部３０にアドレス、コマンド、ライトデータ等からなるＭＰＡ送信フェーズ１００が送信される。この時、チャネルアダプタ１１には複数のチャネルアダプタ搭載プロセッサ１７が搭載されており、それぞれが共有メモリ部３０へデータ転送を要求するため、ＭＰＡ１８は各チャネルアダプタ搭載プロセッサ１７の転送要求を調停し、共有メモリ部３０へのアクセスを絞り込んでいる。本実施の形態ではチャネルアダプタ１１及びディスクアダプタ２０から共有メモリ部３０へのパスインタフェース１９は１本であるがパスを複数持つ場合もある。
【００４１】
共有メモリ部３０に実装されている共有メモリ制御ＬＳＩ３１は、上述のように、パスインタフェース制御３３、共有メモリ搭載プロセッサ３６、共有メモリ制御３４、ローカルメモリ３５が内蔵されている。
【００４２】
パスインタフェース制御３３は、チャネルアダプタ１１から送られてくるデータ（ＭＰＡ送信フェーズ１００）を受信する。パスインタフェース制御３３は転送データ（ＭＰＡ送信フェーズ１００）のアドレス、コマンドから共有メモリ３２のある番地アドレスライトであることを認識し、共有メモリ制御３４に該当アドレスをライトするように要求する。
【００４３】
共有メモリ制御３４は共有メモリ３２にメモリアクセスパス４０を介してパスインタフェース制御３３から転送されたデータをライトする。この時、同時に共有メモリ搭載プロセッサ３６はメモリアクセスパス４０を介してパスインタフェース制御３３と共有メモリ制御３４間のデータを参照し、内蔵データキャッシュ３８に共有メモリライトデータをライトする。共有メモリ搭載プロセッサ３６は共有メモリライトデータの他にアクセス元であるチャネルアダプタ１１のプロセッサ番号も記憶する。共有メモリライトが終了すると、共有メモリ制御３４はパスインタフェース制御３３に終了報告する。パスインタフェース制御３３はパスインタフェース１９を介してチャネルアダプタ１１に共有メモリライトアクセス終了をステータスで報告する。チャネルアダプタ搭載プロセッサ１７の共有メモリライト動作は以上の手順で実施される。尚、ディスクアダプタ搭載プロセッサ２１の共有メモリライト動作も同じ手順となる。
【００４４】
チャネルアダプタ１１に搭載されたチャネルアダプタ搭載プロセッサ１７は前記と同じようなデータライト手順で、共有メモリ３２上にあるチャネルアダプタ１１とディスクアダプタ２０との通信エリア（プロセッサ間通信エリア９２）にホストコンピュータ５００からのデータをライトしたことを知らせるフラグをライトする。一方、ディスクアダプタ搭載プロセッサ２１は共有メモリ３２上にあるプロセッサ間通信エリア９２の情報を定期的にリードし、ホストコンピュータ５００のデータがライトされているか確認している。
【００４５】
この時の共有メモリリード手順は、ディスクアダプタ搭載プロセッサ２１の制御によりＭＰＡ２２から共有メモリ部３０にアドレス、コマンド（ＭＰＡ送信フェーズ１０２）が送信される。この時、ディスクアダプタ２０には複数のディスクアダプタ搭載プロセッサ２１が搭載されており、それぞれが共有メモリ部３０へデータ転送要求をするため、ＭＰＡ２２は各ディスクアダプタ搭載プロセッサ２１の転送要求を調停し、共有メモリ部３０へのアクセスを絞り込んでいる。本実施の形態の図１ではディスクアダプタ２０から共有メモリ部３０へのパスインタフェース１９は１本であるがパスを複数持つ場合もある。
【００４６】
共有メモリ部３０に実装されている共有メモリ制御ＬＳＩ３１はパスインタフェース制御３３でディスクアダプタ２０から送られてくるデータ（ＭＰＡ送信フェーズ１０２）を受信する。パスインタフェース制御３３は転送データ（ＭＰＡ送信フェーズ１０２）のアドレス、コマンドから共有メモリ３２のある番地アドレスリードであることを認識し共有メモリ制御３４に該当アドレスをリードをするように要求する。
【００４７】
この時、共有メモリ搭載プロセッサ３６は内蔵データキャッシュ３８の中に該当するアドレスのデータが存在するか判定し、存在していれば内蔵データキャッシュ３８からデータを読み出し、パスインタフェース制御３３にデータ送信し、共有メモリ制御３４には図示しない制御インタフェースを介して該当アドレスの共有メモリアクセスを取りやめさせる。共有メモリ搭載プロセッサ３６の内蔵データキャッシュ３８にヒットしなかった場合、共有メモリ制御３４は処理を継続しており、共有メモリ３２をリードし、パスインタフェース制御３３にリードデータを送信する。共有メモリ搭載プロセッサ３６は共有メモリリード時にもアクセス元であるディスクアダプタ２０のプロセッサ番号を記憶する。
【００４８】
パスインタフェース制御３３はパスインタフェース１９を介してディスクアダプタ２０に共有メモリ３２からのリードデータを送信する。ディスクアダプタ搭載プロセッサ２１は指定した共有メモリアドレスのデータを取り込むことができる。尚、チャネルアダプタ搭載プロセッサ１７による共有メモリ３２のリード動作も同じ手順となる。
【００４９】
ディスクアダプタ搭載プロセッサ２１はチャネルアダプタ１１から共有メモリ３２に転送されたデータを読み出し、ドライブインタフェース６０を介して共有メモリ３２からリードしたデータを磁気ディスク装置５０に転送し、磁気ディスク装置５０は転送データをライトする。
【００５０】
ホストコンピュータ５００からディスクアレイ制御装置６００へのデータの読み出し要求は、ホストインタフェース７００を介してチャネルアダプタ搭載プロセッサ１７に伝えられ、チャネルアダプタ搭載プロセッサ１７の制御により共有メモリ３２上に要求データがあるかどうか確認するために共有メモリ３２にあるキャッシュ管理情報９３をリードする処理が実施される。要求データが存在する場合、チャネルアダプタ搭載プロセッサ１７は共有メモリ３２からリード処理を実施する。要求データが存在しない場合、チャネルアダプタ搭載プロセッサ１７は、磁気ディスク装置５０から要求データを読み出すように共有メモリ３２のプロセッサ間通信エリア９２を経由してディスクアダプタ搭載プロセッサ２１に要求する。命令を受けたディスクアダプタ搭載プロセッサ２１は、ドライブインタフェース６０を介して磁気ディスク装置５０から要求データを読み出し、パスインタフェース１９を介して共有メモリ３２に要求データを転送する。転送が終了するとディスクアダプタ搭載プロセッサ２１は共有メモリ３２のプロセッサ間通信エリア９２を介してチャネルアダプタ搭載プロセッサ１７に転送が終了したことを伝える。それを受けてチャネルアダプタ搭載プロセッサ１７は、共有メモリ３２へのリード処理を実施し、ホストコンピュータ５００へ要求データを転送する。
【００５１】
次に共有メモリ搭載プロセッサ３６の先読み処理の一例について図５を用いて説明する。
【００５２】
共有メモリ３２のリード処理において共有メモリ搭載プロセッサ３６はパスインタフェース制御３３が受け取った共有メモリ３２へのＭＰＡ送信フェーズ１０２に含まれるアドレス、コマンド等の情報から共有メモリ３２へのリードかライトかを判定し（処理１１０）、リードであれば共有メモリ搭載プロセッサ３６に内蔵データキャッシュ３８のヒット／ミス判定を実施する（処理１１１）。ヒットしていれば共有メモリ搭載プロセッサ３６の内蔵データキャッシュ３８から要求データを読み出し（処理１１２）、パスインタフェース制御３３に要求データを転送する（処理１１９）。この場合、共有メモリ３２から要求データを読み出し、パスインタフェース制御３３にデータを転送するよりも短時間で処理が実施される。
【００５３】
一方、内蔵データキャッシュ３８に要求データが無いミスの場合、まずアクセスアドレス／ＭＰ番号を採取し（処理１１３）、共有メモリ読み出しモードを判定する（処理１１４）。この読み出しモード判定処理は、あらかじめ初期設定にてモード設定しておくか、共有メモリ搭載プロセッサ３６の学習プログラムにより、ヒット率が高くなるようにモードを自動選択することも可能である。モード１が選択された場合、アクセスアドレス周辺のｎバイトバーストリード命令を発行する（処理１１５）。モード２が選択された場合、コマンド，アドレスから次の命令を予想したアドレスにバーストリード命令または単発リード命令を実施する（処理１１６）。モード３が選択された場合、アクセス元プロセッサ番号（ＭＰ番号）から該当プロセッサが以前アクセスしたアドレスをリードする命令を発行する（処理１１７）。いずれかの先読みモードでリードされたデータは共有メモリ搭載プロセッサ３６の内蔵データキャッシュ３８に格納される（処理１１８）。以上のミス処理内で実施される共有メモリ３２から内蔵データキャッシュ３８への先読み処理は、本来のチャネルアダプタ及びディスクアダプタから要求のある共有メモリアクセス処理の妨げにならないように、共有メモリ制御３４にて優先順位が下げられ、共有メモリ３２のアクセスが空いている時間帯に処理することもできる。
【００５４】
次に共有メモリ搭載プロセッサ３６による共有メモリ３２のアクセス制御におけるアドレス優先処理の一例について図６を用いて説明する。
【００５５】
パスインタフェース制御３３からメモリアクセスパス４０を経由して共有メモリ制御３４に順次到来する複数のアクセス要求は、共有メモリ制御３４に設けられた図示しない待ちキューに蓄積されて順次実行されるが、以下のようなアドレス優先処理を行う場合には、待ちキューとして、通常待ちキューおよび優先待ちキューを設定して以下のようなアクセス要求の実行順序の制御を行う。
【００５６】
すなわち、共有メモリ３２のリード／ライト処理において共有メモリ搭載プロセッサ３６はパスインタフェース制御３３が受け取った共有メモリ３２へのＭＰＡ送信フェーズ１０２／ＭＰＡ送信フェーズ１００のアドレス、コマンド等の情報から共有メモリ３２へのアドレス，アクセス元のプロセッサ番号を採取し（処理２１０）、優先アドレスの判定処理（処理２１１）と優先プロセッサの判定処理を実施する（処理２１２）。優先アドレス及び優先プロセッサの指定は、チャネルアダプタ搭載プロセッサ１７及びディスクアダプタ搭載プロセッサ２１の指示により共有メモリ搭載プロセッサ３６が逐次指定できる。また、共有メモリ搭載プロセッサ３６自身が学習プログラムにより、ＭＰＡ送信フェーズ１０２／ＭＰＡ送信フェーズ１００のアドレス、コマンド、データ、プロセッサ番号、以上の前後関係ログ情報（アクセスログ情報９７）によりディスクアレイ制御装置６００の処理ルーチンを把握し、ディスクアレイ制御装置６００の性能が高くなるように優先順位を逐次設定することも可能である（処理２１３）。
【００５７】
優先アドレスまたは優先プロセッサであると判定されたら優先待ちキューに当該アクセスを登録する（処理２１５）。優先アドレスまたは優先プロセッサでないと判定されたら通常待ちキューに当該アクセスを登録する（処理２１４）。Ｎ回以上待たされているチャネルアダプタ搭載プロセッサ１７またはディスクアダプタ搭載プロセッサ２１があるか判定し（処理２１６）、待たされているこれらのプロセッサ群の中でラウンドロビンによるアービトレーションを実施し、次回の共有メモリアクセス権を決定する（処理２１８）。
【００５８】
一方、Ｎ回以上待たされているチャネルアダプタ搭載プロセッサ１７またはディスクアダプタ搭載プロセッサ２１が無ければ、優先待ちキューに待ちがあるか判定し（処理２１７）、優先待ちキューに待ちがある場合は優先待ちキュー内のプロセッサ群の中でラウンドロビンによるアービトレーションを実施し、次回の共有メモリアクセス権を決定する（処理２２０）。尚、待ち上限回数Ｎはあらかじめ設定する。優先待ちキューに待ちがない場合は通常待ちキュー内のプロセッサ群の中でラウンドロビンによるアービトレーションを実施し、次回の共有メモリアクセス権を決定する（処理２１９）。以上の３種類の何れかに選択されたアービトレーション結果に基づき共有メモリ３２へのアクセスが実施される（処理２２１）。
【００５９】
次に本実施の形態のインテリジェントコマンドにより、チャネルアダプタ搭載プロセッサ１７及びディスクアダプタ搭載プロセッサ２１の処理を共有メモリ搭載プロセッサ３６が代行する方式について説明する。
【００６０】
図１３は参考技術としてのチャネルアダプタ搭載プロセッサ１７による共有メモリ３２におけるキャッシュ管理情報９３の参照によるキャッシュデータ領域９４でのキャッシュヒット／ミス判定処理を示す。キャッシュデータ領域９４でのヒットミスを判定するまで最小２回、最大４回の共有メモリ３２へのアクセスが必要であり、ヒットした場合はキャッシュ実アドレスを採取するまで４回の共有メモリアクセスが必要である。
【００６１】
図７は、本実施の形態のインテリジェントコマンドの一例であるサーチ命令（ＭＰＡ送信フェーズ１０２−１、ＭＰＡ受信フェーズ１０３−１）を使用したチャネルアダプタ搭載プロセッサ１７によるキャッシュヒット／ミス判定処理の一例を示す。
【００６２】
ホスト論理アドレスを仮想デバイスアドレスに変換（処理３１０）した後、仮想デバイスアドレスから共有メモリ部３０にサーチ命令を発行する（処理３１１）。その後、共有メモリ部３０からパスインタフェース１９を通じて、ＭＰＡ受信フェーズ１０３−１により、ステータスとデータが返送されてくる。チャネルアダプタ搭載プロセッサ１７はステータスの値からキャッシュヒットしているか判定し（処理３１２）、データ部１０３ｂからヒットしているときのキャッシュ実アドレスを読み取る（処理３１３）。
【００６３】
サーチ命令は、上述のように、パスインタフェース１９のリードコマンド対応のＭＰＡ送信フェーズ１０２−１のコマンド部１０２ｂのビットに割り当てられ、共有メモリ制御ＬＳＩ３１はパスインタフェース１９を通じて受信した共有メモリ３２へのアクセス要求がサーチ命令であることを認識し、共有メモリ搭載プロセッサ３６はキャッシュヒット／ミス判定を実施する。
【００６４】
図８はインテリジェントコマンドの一例であるサーチ命令を使用した共有メモリ搭載プロセッサ３６によるキャッシュヒット／ミス判定処理の一例を示す。
【００６５】
共有メモリアクセスのＭＰＡ送信フェーズ１０２−１のアドレス部１０２ａは、仮想デバイスアドレスを示し、このアドレスにて仮想デバイスグループテーブル９３ａからキャッシュグループアドレスをリードする（処理４１０）。キャッシュグループアドレス管理テーブル９３ｂの当該キャッシュグループアドレスのエントリにあるフラグからキャッシュヒット・ミスを判定する（処理４１１）。ヒットすれば、キャッシュストライプ管理テーブル９３ｃをリードし（処理４１２）、フラグからキャッシュヒット・ミスを判定する（処理４１３）。更にヒットすれば、キャッシュセグメント管理テーブル９３ｄをリードし（処理４１４）、フラグからキャッシュヒット・ミスを判定する（処理４１５）。ヒットすれば、キャッシュセグメント管理テーブル９３ｄからキャッシュ実アドレスをリードし（処理４１６）、コマンド部１０２ｂのＰＫ番号に基づいて転送元であるチャネルアダプタにパスインタフェース１９を通じて、ＭＰＡ受信フェーズ１０３−１にてヒットしたフラグをステータス部１０３ａに立て、キャッシュ実アドレスをリードデータとしてデータ部１０３ｂに載せて返送する（処理４１６）。ミスした場合は、ミスが分かった時点で、ＭＰＡ受信フェーズ１０３−１にて、転送元であるチャネルアダプタにパスインタフェース１９を通じてミスしたフラグをステータス部１０３ａに立て、任意データをリードデータとしてデータ部１０３ｂに載せて返送する（処理４１７）。
【００６６】
図１４はキャッシュのヒットミス判定を考えられる参考技術の方法で実施した場合のパスインタフェースプロトコルとメモリインタフェースプロトコルを示す。
【００６７】
図９は共有メモリ３２におけるキャッシュのヒットミス判定を本実施の形態のサーチ命令を使用して共有メモリ搭載プロセッサ３６に代行させた場合において、共有メモリ搭載プロセッサ３６に内蔵データキャッシュ３８でキャッシュミスとなり、共有メモリ３２へのアクセスが発生する場合のプロトコルの一例を示す。
【００６８】
図１０は本実施の形態のサーチ命令を使用した場合で、かつ共有メモリ搭載プロセッサ３６の内蔵データキャッシュ３８にヒットした時のプロトコルの一例をを示す。
【００６９】
本実施の形態の図９および図１０のいずれの場合も、図１４に示される参考技術の場合に比較して、パスインタフェース１９の使用回数が大幅に減少しており、パスインタフェース１９の使用率の削減によるアクセスの高速化が期待できることがわかる。
【００７０】
本実施の形態のサーチ命令を使用すれば、パスインタフェース１９の使用回数が減少し、パスインタフェース１９の利用率（負荷）の軽減及び、共有メモリ３２のキャッシュデータ領域９４でのヒットミス判定時間が短縮されることが分かる。また、サーチ命令による数回の共有メモリ３２へのリードが共有メモリ搭載プロセッサ３６の内蔵データキャッシュ３８にヒットすれば、更にキャッシュヒットミス判定時間の短縮が見込める。
【００７１】
本実施の形態によれば、キャッシュ管理情報９３やキャッシュデータ領域９４およびプロセッサ間通信エリア９２等が格納される共有メモリ３２に複数のチャネルアダプタ搭載プロセッサ１７およびディスクアダプタ搭載プロセッサ２１等からのアクセス負荷が集中するディスクアレイ制御装置６００において、共有メモリ部３０内に、内蔵データキャッシュ３８を備えた共有メモリ搭載プロセッサ３６を配置し、共有メモリ３２に対するアクセス要求に対して、可能な限り内蔵データキャッシュ３８内のデータを用いて応答することで、共有メモリ３２に対するアクセス所要時間の短縮が可能になる。
【００７２】
また、共有メモリ３２内のキャッシュ管理情報９３への複数回のアクセスを伴う共有メモリ３２でのキャッシュヒット／ミス判定処理を、インテリジェントコマンドにて、共有メモリ搭載プロセッサ３６に代行させることで、共有メモリ３２に対するアクセス回数の削減が可能になる。
【００７３】
この結果、ディスクアレイ制御装置６００、さらにはディスクアレイ制御装置６００および磁気ディスク装置５０からなるディスクアレイサブシステムの全体のホストコンピュータ５００の入出力要求等に対する応答性能が向上する。
【００７４】
本願の特許請求の範囲に記載された発明を見方を変えて表現すれば以下の通りである。
【００７５】
＜１＞  １つ以上のホストコンピュータから転送される入出力データを処理する１つ以上のチャネルアダプタと、１つ以上の磁気ディスク装置から転送される入出力データを処理する１つ以上のディスクアダプタと、前記磁気ディスク装置のデータ及び磁気ディスク装置に関する情報を格納する共有メモリ部に第２のプロセッサを持つディスクアレイ制御装置。
【００７６】
＜２＞  項目＜１＞記載のディスクアレイ制御装置において、前記共有メモリ部に搭載された前記第２のプロセッサはデータキャッシュを内蔵し、共有メモリデータの先読み手段を有することを特徴とするディスクアレイ制御装置。
【００７７】
＜３＞  項目＜２＞記載のディスクアレイ制御装置において、
前記共有メモリデータの先読み手段は、
前記共有メモリ部に転送されるデータに付加されるチャネルアダプタまたはディスクアダプタに搭載された第１のプロセッサの認識ＩＤから以前に前記第１のプロセッサがアクセスしたアドレスの共有メモリデータを先読みし、アクセスアドレスからアドレス周辺データを先読みし、前記データキャッシュのヒット率を高めるなどの学習機能を有することを特徴とするディスクアレイ制御装置。
【００７８】
＜４＞  項目＜１＞記載のディスクアレイ制御装置において、
前記共有メモリ部に搭載された第２のプロセッサは、
チャネルアダプタまたはディスクアダプタに搭載された第１のプロセッサからインテリジェントコマンドを受け、前記第１のプロセッサの処理を代行することを特徴とするディスクアレイ制御装置。
【００７９】
＜５＞  項目＜１＞記載のディスクアレイ制御装置において、
前記共有メモリ部に搭載された第２のプロセッサは、
前記共有メモリ部内の障害情報を管理し、障害統計情報により前記共有メモリ内部の信号経路を切り替えることを特徴とするディスクアレイ制御装置。
【００８０】
＜６＞  項目＜１＞記載のディスクアレイ制御装置において、
前記共有メモリ部に搭載された第２のプロセッサは、
前記第１のプロセッサによる前記共有メモリへのアクセスアドレスを認識し、高速に応答すべきアドレスと低速に応答してもいいアドレスを判断する手段を有し、高速に応答すべきアドレスを優先的にアクセスすることを特徴とするディスクアレイ制御装置。
【００８１】
＜７＞  項目＜１＞記載のディスクアレイ制御装置において、
前記共有メモリ部に搭載された第２のプロセッサは、
前記チャネルアダプタ及びディスクアダプタの第１のプロセッサ情報を採取する手段と、前記共有メモリ部に搭載された第２のプロセッサとメンテナンス用の外部プロセッサとの間の通信を可能にする専用通信手段を有することを特徴とするディスクアレイ制御装置。
【００８２】
＜８＞ 項目＜１＞記載のディスクアレイ制御装置において、前記第２のプロセッサ（共有メモリ部搭載プロセッサ）は、電源投入時、または周期的にメンテナンス用の前記外部プロセッサの構成情報に基づき前記共有メモリ部の診断を実施することを特徴とするディスクアレイ制御装置。
【００８３】
＜９＞  項目＜１＞から項目＜８＞のいずれか記載のディスクアレイ制御装置において、
前記共有メモリ部に搭載された第２のプロセッサは、
チャネルアダプタ及びディスクアダプタからの転送データの受信送信回路と共有メモリ制御用回路を含んだ１チップにパッケージされていることを特徴とするディスクアレイ制御装置。
【００８４】
＜１０＞  項目＜１＞から項目＜９＞のいずれか記載のディスクアレイ制御装置において、
前記共有メモリ部は、
複数存在し、チャネルアダプタ及びディスクアダプタはそれぞれの共有メモリ部と１対１に繋がっているインタフェースにより前記共有メモリをアクセスすることを特徴とするディスクアレイ制御装置。
【００８５】
以上本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００８６】
たとえば、上述の実施の形態では、記憶制御装置の一例として、ディスクアレイ制御装置に適用した場合を例に採って説明したが、共有メモリに共通にアクセスする複数のプロセッサを備えた一般の記憶制御装置に広く適用できる。
【００８７】
【発明の効果】
本発明の記憶制御装置によれば、マルチプロセッサ構成の記憶制御装置において、各プロセッサの共有メモリへのアクセス占有時間の短縮によるデータ入出力性能の向上を実現することができる、という効果が得られる。
【００８８】
本発明の記憶制御装置によれば、マルチプロセッサ構成の記憶制御装置において、各プロセッサの共有メモリへのアクセス回数の削減によるデータ入出力性能の向上を実現することができる、という効果が得られる。
【００８９】
本発明の記憶制御装置によれば、ディスクアレイ制御装置において、チャネルアダプタ／ディスクアダプタに搭載される個々のプロセッサの処理時間の中で、プロセッサの増加及び処理の複雑化により増大している共有メモリアクセス占有時間を短縮させることができる、という効果が得られる。
【００９０】
本発明の記憶制御装置によれば、ディスクアレイ制御装置において、チャネルアダプタ／ディスクアダプタに搭載される個々のプロセッサの処理時間の中で、プロセッサの増加及び処理の複雑化により増大している共有メモリへのアクセス回数を削減することができる、という効果が得られる。
【００９１】
また、本発明の記憶制御装置の制御方法によれば、マルチプロセッサ構成の記憶制御装置において、各プロセッサの共有メモリへのアクセス占有時間の短縮によるデータ入出力性能の向上を実現することができる、という効果が得られる。
【００９２】
本発明の記憶制御装置の制御方法によれば、マルチプロセッサ構成の記憶制御装置において、各プロセッサの共有メモリへのアクセス回数の削減によるデータ入出力性能の向上を実現することができる、という効果が得られる。
【００９３】
本発明の記憶制御装置の制御方法によれば、ディスクアレイ制御装置において、チャネルアダプタ／ディスクアダプタに搭載される個々のプロセッサの処理時間の中で、プロセッサの増加及び処理の複雑化により増大している共有メモリアクセス占有時間を短縮させることができる、という効果が得られる。
【００９４】
本発明の記憶制御装置の制御方法によれば、ディスクアレイ制御装置において、チャネルアダプタ／ディスクアダプタに搭載される個々のプロセッサの処理時間の中で、プロセッサの増加及び処理の複雑化により増大している共有メモリへのアクセス回数を削減することができる、という効果が得られる。
【図面の簡単な説明】
【図１】本発明の一実施の形態である記憶制御方法を実施する記憶制御装置を含む情報処理システムの構成の一例を示す概念図である。
【図２】（ａ）〜（ｄ）は、本発明の一実施の形態である記憶制御方法を実施する記憶制御装置にて用いられるコマンドの送受信フェーズのフォーマットの一例を示す概念図である。
【図３】本発明の一実施の形態である記憶制御方法を実施する記憶制御装置に備えられた共有メモリにおける格納情報の一例を示す概念図である。
【図４】本発明の一実施の形態である記憶制御方法を実施する記憶制御装置に備えられたローカルメモリにおける格納情報の一例を示す概念図である。
【図５】本発明の一実施の形態である記憶制御方法を実施する記憶制御装置に備えられた共有メモリ搭載プロセッサの作用の一例を示すフローチャートである。
【図６】本発明の一実施の形態である記憶制御方法を実施する記憶制御装置に備えられた共有メモリ搭載プロセッサの作用の一例を示すフローチャートである。
【図７】本発明の一実施の形態である記憶制御方法を実施する記憶制御装置に備えられた共有メモリ搭載プロセッサの作用の一例を示すフローチャートである。
【図８】本発明の一実施の形態である記憶制御方法を実施する記憶制御装置に備えられた共有メモリ搭載プロセッサの作用の一例を示すフローチャートである。
【図９】本発明の一実施の形態である記憶制御方法を実施する記憶制御装置に備えられた共有メモリ搭載プロセッサの作用の一例を示す概念図である。
【図１０】本発明の一実施の形態である記憶制御方法を実施する記憶制御装置に備えられた共有メモリ搭載プロセッサの作用の一例を示す概念図である。
【図１１】本発明の参考技術であるディスクアレイサブシステムの構成の一例を示す概念図である。
【図１２】本発明の参考技術であるディスクアレイサブシステムの構成の一例を示す概念図である。
【図１３】本発明の参考技術であるディスクアレイサブシステムの作用の一例を示すフローチャートである。
【図１４】本発明の参考技術であるディスクアレイサブシステムの作用の一例を示す概念図である。
【符号の説明】
１１…チャネルアダプタ（ＰＫ）、１７…チャネルアダプタ搭載プロセッサ（ＭＰ）（第１のプロセッサ）、１８…プロセッサアダプタ（ＭＰＡ）、１９…パスインタフェース、２０…ディスクアダプタ（ＰＫ）、２１…ディスクアダプタ搭載プロセッサ（第１のプロセッサ）（ＭＰ）、２２…プロセッサアダプタ（ＭＰＡ）、３０…共有メモリ部、３１…共有メモリ制御ＬＳＩ、３２…共有メモリ、３３…パスインタフェース制御、３４…共有メモリ制御、３５…ローカルメモリ、３６…共有メモリ搭載プロセッサ（第２のプロセッサ）、３７…ＬＡＮコントローラ、３８…内蔵データキャッシュ、４０…メモリアクセスパス、４１…共有メモリインタフェース、５０…磁気ディスク装置、６０…ドライブインタフェース、６１…ドライブインタフェース、７０…ハブ（ＨＵＢ）、８０…サービスプロセッサ（ＳＶＰ）、９１…システム管理情報、９２…プロセッサ間通信エリア、９３…キャッシュ管理情報、９３ａ…仮想デバイスグループテーブル、９３ｂ…キャッシュグループアドレス管理テーブル、９３ｃ…キャッシュストライプ管理テーブル、９３ｄ…キャッシュセグメント管理テーブル、９４…キャッシュデータ領域、９５…制御プログラム、９６…優先度設定情報、９７…アクセスログ情報、１００…ＭＰＡ送信フェーズ（第１のコマンド手段）、１００ａ…アドレス部、１００ｂ…コマンド部、１００ｃ…データ部、１００ｄ…符号部、１０１…ＭＰＡ受信フェーズ（第１のコマンド手段）、１０１ａ…ステータス部、１０１ｂ…符号部、１０１ｃ…エラー内容部、１０２…ＭＰＡ送信フェーズ（第２のコマンド手段）、１０２ａ…アドレス部、１０２ｂ…コマンド部、１０２ｃ…符号部、１０３…ＭＰＡ受信フェーズ（第２のコマンド手段）、１０３ａ…ステータス部、１０３ｂ…データ部、１０３ｃ…符号部、１０３ｄ…エラー内容部、１０２−１…ＭＰＡ送信フェーズ（第３のコマンド手段）、１０３−１…ＭＰＡ受信フェーズ（第３のコマンド手段）、５００…ホストコンピュータ、６００…ディスクアレイ制御装置、７００…ホストインタフェース。
【図１】
0004053208.tif 000002
【図２】
0004053208.tif 000003
【図３】
0004053208.tif 000004
【図４】
0004053208.tif 000005
【図５】
0004053208.tif 000006
【図６】
0004053208.tif 000007
【図７】
0004053208.tif 000008
【図８】
0004053208.tif 000009
【図９】
0004053208.tif 000010
【図１０】
0004053208.tif 000011
【図１１】
0004053208.tif 000012
【図１２】
0004053208.tif 000013
【図１３】
0004053208.tif 000014
【図１４】
0004053208.tif 000015