【手続補正書】
【提出日】平成16年9月2日(2004.9.2)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】発明の名称
【補正方法】変更
【補正の内容】
【発明の名称】記憶装置及びその制御方法
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
情報処理装置と複数のパスを介して接続される記憶装置において、
データを記憶する複数の記憶デバイスと、
前記複数の記憶デバイスから前記データを読み出して一時的に保存するキャッシュメモリと、
前記パスと接続される複数のポート毎に配置され該ポートのデータの入出力を制御する複数の入出力処理プロセッサと、
前記入出力処理プロセッサの処理条件を記憶するメモリと、
を有し、
前記入出力処理プロセッサは、前記情報処理装置からのデータの読み出し命令が、連続する論理アドレスに対する読み出しであるかどうかを判定し、この判定結果が、連続するデータの読み出し命令であると判定された場合に、前記メモリ内の前記処理条件を参照して、前記記憶デバイスから前記情報処理装置が読み出し命令を発行すると予測される論理アドレス上のデータを前記キャッシュメモリ上に読み出すかどうかを判定する入出力処理プロセッサであることを特徴とする記憶装置。
【請求項２】
前記情報処理装置からの前記連続した論理アドレスを有するデータの読み出し命令を前記複数のポートが分散して受領することを特徴とする請求項１記載の記憶装置。
【請求項３】
情報処理装置と複数のパスを介して接続される記憶装置において、
データを記憶する複数の記憶デバイスと、
前記複数の記憶デバイスから前記データを読み出して一時的に保存するキャッシュメモリと、
前記パスと接続される複数のポート毎に配置され該ポートのデータの入出力を制御する複数の入出力処理プロセッサと、
前記入出力処理プロセッサの処理条件を記憶するメモリと、
を有し、
前記複数の入出力処理プロセッサのそれぞれは、前記情報処理装置からのデータ読み出し命令を受領して、前記データ読み出し命令が連続した論理アドレス上に存在するデータであるかどうかを判定する判定手段を有し、
前記判定手段の判定結果が、連続した論理アドレス上のデータであると判定される場合に、前記入出力処理プロセッサのそれぞれは独立して、前記情報処理装置が後に読み出し命令を発行すると予測される論理アドレス上のデータを前記キャッシュメモリに読み出す処理を行うかどうかを判定する判定手段を有することを特徴とする記憶装置。
【請求項４】
情報処理装置と複数のパスを介して接続され、前記情報処理装置からの読み出し命令を前記パスに接続される複数のポートで分散して受領する記憶装置において、
データを記憶する複数の記憶デバイスと、
前記複数の記憶デバイスから前記データを読み出して一時的に保存するキャッシュメモリと、
前記複数のポート毎に配置され該ポートへのデータの入出力を制御する複数の入出力処理プロセッサと、
前記入出力処理プロセッサの処理条件を記憶するメモリと、
前記入出力処理プロセッサにプログラムとして与えられ、前記情報処理装置からのデータの読み出し命令が、連続する論理アドレスに対する読み出しであるかどうかを判定する連続読み出し判定手段と、
前記連続読み出し判定手段の判定結果が連続する論理アドレスに対する読み出しであると判定された場合に、前記入出力処理プロセッサの処理条件を参照して、前記判定を行った前記入出力処理プロセッサが、前記情報処理装置によってこの後発行されると予測される論理アドレス上のデータを前記キャッシュメモリ上に読み出しを行うかどうかを判定する先読み処理プロセッサ判定手段と、
を有することを特徴とする記憶装置。
【請求項５】
前記メモリに、前記入出力処理プロセッサの処理条件として、所定の論理アドレスが記録され、
前記先読み処理プロセッサ判定手段は、前記入出力処理プロセッサが読み出し命令を受けた論理アドレスと前記所定の論理アドレスとを比較して、前記入出力処理プロセッサが前記先読み処理を行う入出力処理プロセッサであるかどうかを判定することを特徴とする請求項４記載の記憶装置。
【請求項６】
前記入出力処理プロセッサが、前記情報処理装置によってこの後発行されると予測される論理アドレス上のデータを前記キャッシュメモリ上に読み出しを行う場合に、先読みを行うアドレスを現在読み出した命令を受けたアドレスよりも離間した論理アドレスとすることを特徴とする請求項４または５記載の記憶装置。
【請求項７】
前記入出力処理プロセッサが、前記情報処理装置によってこの後発行されると予測される論理アドレス上のデータを前記キャッシュメモリ上に読み出しを行う場合に、前記キャッシュメモリ上に既に該当するデータが存在するかどうかを判定して、存在しない場合に、前記記憶デバイスから前記キャッシュメモリへのデータの先読みを行うことを特徴とする請求項５記載の記憶装置。
【請求項８】
情報処理装置と複数のパスを介して接続される記憶装置であって、
データを記憶する複数の記憶デバイスと、
前記複数の記憶デバイスから前記データを読み出して一時的に保存するキャッシュメモリと、
前記パスと接続される複数のポート毎に配置され該ポートのデータの入出力を制御する複数の入出力処理プロセッサと、
前記入出力処理プロセッサの処理条件を記憶するメモリと、を有し、
前記複数の入出力処理プロセッサのそれぞれは、前記情報処理装置からのデータ読み出し命令を受領して、前記データ読み出し命令が連続した論理アドレス上に存在するデータであるかどうかを判定する判定手段を有する記憶装置の制御方法において、
前記情報処理装置からのデータの読み出し命令が連続する論理アドレス上のデータであるかどうかを判定する第１のステップと、
前記第１の判定ステップの判定結果が、連続する論理アドレス上のデータ読み出しであると判定された場合に、前記処理条件を記憶するメモリを読み出して、前記情報処理装置が後に読み出し命令を発行すると予測される論理アドレス上のデータを予め前記キャッシュメモリ上に読み出しておく処理を行うかどうかを判定する第２のステップと、
前記第２のステップの判定結果が、読み出し処理を行うとの判定結果である場合に、前記記憶デバイスから、前記キャッシュメモリに前記情報処理装置が後に読み出し命令を発行すると予測する論理アドレス上のデータを予め前記キャッシュメモリ上に読み出す処理を行う第３のステップとからなることを特徴とする記憶装置の制御方法。
【請求項９】
前記第２のステップが、前記メモリに記録された所定の論理アドレスを読み出して、前記入出力処理プロセッサが読み出し命令を受領したアドレスと比較して、当該入出力処理プロセッサが、前記情報処理装置が後に読み出し命令を発行すると予測される論理アドレス上のデータを予め前記キャッシュメモリ上に読み出しておく処理を行うかどうかを判定する請求項８記載の記憶装置の制御方法。
【請求項１０】
情報処理装置と複数のパスを介して接続され、前記情報処理装置からの読み出し命令を前記パスに接続される複数のポートで分散して受領する記憶装置において、
データを記憶する複数の記憶デバイスと、
前記複数の記憶デバイスから前記データを読み出して一時的に保存するキャッシュメモリと、
前記複数のポート毎に配置され該ポートへのデータの入出力を制御する複数の入出力処理プロセッサと、
前記入出力処理プロセッサの処理条件を記憶するメモリと、
前記情報処理装置の発行する読み出し要求が連続読み出しであるかどうかを判定する連続読み出し判定手段と、
前記入出力処理プロセッサ毎に設けられ、前記入出力処理プロセッサが先読み処理を行うかどうかを判定する先読み処理プロセッサ判定手段と、
を有することを特徴とする記憶装置。
【請求項１１】
情報処理装置と複数のパスを介して接続され、前記情報処理装置からの読み出し命令を前記パスに接続される複数のポートで分散して受領する記憶装置において、
前記記憶装置は、データを記憶する複数の記憶デバイスと、
前記複数の記憶デバイスから前記データを読み出して一時的に保存するキャッシュメモリと、
前記複数のポート毎に配置され該ポートへのデータの入出力を制御する複数の入出力処理プロセッサと、
前記入出力処理プロセッサの処理条件を記憶するメモリと、
前記入出力処理プロセッサにプログラムとして与えられ、前記情報処理装置からのデータの読み出し命令が、連続する論理アドレスに対する読み出しであるかどうかを判定する連続読み出し判定手段と、
を有し、
前記連続読み出し判定手段の判定結果が連続する論理アドレスに対する読み出しであると判定された場合に、前記入出力処理プロセッサの処理条件を参照して、前記情報処理装置によってこの後発行されると予測される論理アドレス上のデータを前記キャッシュメモリ上に読み出しを行う入出力処理プロセッサを選択することを特徴とする記憶装置。
【請求項１２】
情報処理装置と複数のパスを介して接続され、前記情報処理装置からの読み出し命令を前記パスに接続される複数のポートで分散して受領する記憶装置において、
データを記憶する複数の記憶デバイスと、
前記複数の記憶デバイスから前記データを読み出して一時的に保存するキャッシュメモリと、
前記複数のポート毎に配置され該ポートへのデータの入出力を制御する複数の入出力処理プロセッサと、
前記入出力処理プロセッサの処理条件を記憶するメモリと、
前記入出力処理プロセッサにプログラムとして与えられ、前記情報処理装置からのデータの読み出し命令が、連続する論理アドレスに対する読み出しであるかどうかを判定する連続読み出し判定手段と、
前記連続読み出し判定手段の判定結果が連続する論理アドレスに対する読み出しであると判定された場合に、前記入出力処理プロセッサの処理条件を参照して、前記判定を行った入出力処理プロセッサが、前記情報処理装置によってこの後発行されると予測される論理アドレス上のデータを前記キャッシュメモリ上に読み出しを行うかどうかを判定する先読み処理プロセッサ判定手段と、
を有し、
前記メモリに、前記入出力処理プロセッサの処理条件として、所定の論理アドレスが記録され、
前記先読み処理プロセッサ判定手段は、前記入出力処理プロセッサが読み出し命令を受けた論理アドレスと前記所定の論理アドレスとを比較して、前記入出力処理プロセッサが前記先読み処理を行う入出力処理プロセッサであるかどうかを判定し、
前記入出力処理プロセッサが、前記情報処理装置によってこの後発行されると予測される論理アドレス上のデータを前記キャッシュメモリ上に読み出しを行う場合に、先読みを行うアドレスを現在読み出した命令を受けたアドレスよりも離間した論理アドレスとし、
前記入出力処理プロセッサが、前記情報処理装置によってこの後発行されると予測される論理アドレス上のデータを前記キャッシュメモリ上に読み出しを行う場合に、前記キャッシュメモリ上に既に該当するデータが存在するかどうかを判定して、存在しない場合に、前記記憶デバイスから前記キャッシュメモリへのデータの先読みを行い、
共通の判定式に従って先読み出しを行う入出力処理プロセッサを取り決め、取り決められた入出力処理プロセッサのみがデータの先読み出しを行い、
連続する論理アドレスデータへの読み出し要求で、同一論理アドレスに対する要求は、1パスにのみ発行され、
前記入出力処理プロセッサ毎に、前記キャッシュメモリ上へのデータの読み出しを担当する論理アドレスの領域を予め割り当てておき、各入出力処理プロセッサは、読み出したデータの存在する論理アドレスが、自身に割り当てられた論理アドレスである場合にのみ、前記キャッシュメモリへのデータの先読み出しを行う、ことを特徴とする記憶装置。
【請求項１３】
情報処理装置と複数のパスを介して接続される記憶装置であって、
データを記憶する複数の記憶デバイスと、
前記複数の記憶デバイスから前記データを読み出して一時的に保存するキャッシュメモリと、
前記パスと接続される複数のポート毎に配置され該ポートのデータの入出力を制御する複数の入出力処理プロセッサと、
前記入出力処理プロセッサの処理条件を記憶するメモリと、
前記入出力処理プロセッサにプログラムとして与えられ、前記情報処理装置からのデータの読み出し命令が、連続する論理アドレスに対する読み出しであるかどうかを判定する連続読み出し判定手段と、
前記連続読み出し判定手段の判定結果が連続する論理アドレスに対する読み出しであると判定された場合に、前記入出力処理プロセッサの処理条件を参照して、前記判定を行った入出力処理プロセッサが、前記情報処理装置によってこの後発行されると予測される論理アドレス上のデータを前記キャッシュメモリ上に読み出しを行うかどうかを判定する先読み処理プロセッサ判定手段と、を有する記憶装置の制御方法において、
前記メモリに、前記入出力処理プロセッサの処理条件として、所定の論理アドレスを記録し、
前記先読み処理プロセッサ判定手段は、前記入出力処理プロセッサが読み出し命令を受けた論理アドレスと前記所定の論理アドレスとを比較して、前記入出力処理プロセッサが前記先読み処理を行う入出力処理プロセッサであるかどうかを判定し、
前記入出力処理プロセッサが、前記情報処理装置によってこの後発行されると予測される論理アドレス上のデータを前記キャッシュメモリ上に読み出しを行う場合に、先読みを行うアドレスを現在読み出した命令を受けたアドレスよりも離間した論理アドレスとし、
前記入出力処理プロセッサが、前記情報処理装置によってこの後発行されると予測される論理アドレス上のデータを前記キャッシュメモリ上に読み出しを行う場合に、前記キャッシュメモリ上に既に該当するデータが存在するかどうかを判定して、存在しない場合に、前記記憶デバイスから前記キャッシュメモリへのデータの先読みを行い、
共通の判定式に従って先読み出しを行う入出力処理プロセッサを取り決め、取り決められた入出力処理プロセッサのみがデータの先読み出しを行い、
連続する論理アドレスデータへの読み出し要求で、同一論理アドレスに対する要求は、1パスにのみ発行し、
前記入出力処理プロセッサ毎に、前記キャッシュメモリ上へのデータの読み出しを担当する論理アドレスの領域を予め割り当てておき、各入出力処理プロセッサは、読み出したデータの存在する論理アドレスが、自身に割り当てられた論理アドレスである場合にのみ、前記キャッシュメモリへのデータの先読み出しを行う、ことを特徴とする記憶装置の制御方法。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
【発明の属する技術分野】
本発明は複数の入出力I/F制御プロセッサを持つ外部記憶装置に対するアクセス制御方法、特に、情報処理装置と複数のパスを介して接続され、前記情報処理装置からの読み出し命令を前記パスに接続される複数のポートで分散して受領する記憶装置およびその制御方法に関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００２
【補正方法】変更
【補正の内容】
【０００２】
【従来の技術】
従来から磁気ディスクの故障や障害の発生に対処するため、複数の磁気ディスクを使用した多重化磁気ディスクが知られている。そして、このような多重化磁気ディスクではディスクキャッシュメモリを活用して、シーク時間を短縮することによりアクセス時間の短縮化を図っている。たとえば特開平7-110788号公報や特開2001-160941号公報ではホストコンピュータからの読み出しアクセスアドレスを解析し、ホストコンピュータからまだ受領していないアクセスに対しても、その要求アドレスを予想することでディスクシークのオーバーヘッドを軽減している。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
このため入出力処理プロセッサで無駄な処理が発生したり、プロセッサ間での競合が発生したりして、ホストへの応答が遅延するという問題がある。
本発明の目的は、このように複数のパスで上位装置と接続され、上位装置が発行する処理を分散するように構成された記憶装置におけるホストコンピュータからのデータの読み込みに対しても、プロセッサ間の無駄な処理や競合を抑止することにある。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
【課題を解決するための手段】
上記課題を解決するために、本願の１つの発明は、情報処理装置と複数のパスを介して接続され、前記情報処理装置からの読み出し命令を前記パスに接続される複数のポートで分散して受領する記憶装置において、前記記憶装置は、データを記憶する複数の記憶デバイスと、前記複数の記憶デバイスから前記データを読み出して一時的に保存するキャッシュメモリと、前記複数のポート毎に配置され該ポートへのデータの入出力を制御する複数の入出力処理プロセッサと、前記入出力処理プロセッサの処理条件を記憶するメモリと、前記入出力処理プロセッサにプログラムとして与えられ、前記情報処理装置からのデータの読み出し命令が、連続する論理アドレスに対する読み出しであるかどうかを判定する連続読み出し判定手段と、を有し、前記連続読み出し判定手段の判定結果が連続する論理アドレスに対する読み出しであると判定された場合に、前記入出力処理プロセッサの処理条件を参照して、前記情報処理装置によってこの後発行されると予測される論理アドレス上のデータを前記キャッシュメモリ上に読み出しを行う入出力処理プロセッサを選択することを特徴とする。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
上記課題を解決するために本願の他の１つの発明は、さらに前記メモリに前記入出力処理プロセッサの処理条件として、所定の論理アドレスが記録され、前記先読み処理プロセッサ判定手段は、前記入出力処理プロセッサが読み出し命令を受けた論理アドレスと前記所定の論理アドレスとを比較して、前記入出力処理プロセッサが前記先読み処理を行うプロセッサであるかどうかを判定することを特徴とする。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
これらの個別メモリは、図中６０１に示すように、データの先読みを行うかどうかに関する情報（先読みフラグ）や、入出力処理プロセッサが先読み処理を担当するプロセッサであるかどうかを判定するための種々のデータが記録される。第１図は、先読み要否判定位置アドレスが記録された場合を示している。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
具体的には、各入出力処理プロセッサ５０１、５０２、５０３は、まず記憶デバイス８０１、８０２に格納されているデータの中で必要になると予測されるデータがキャッシュメモリ７０１上に存在するかをチェックし、キャッシュメモリ７０１上にデータが存在しない場合は、入出力処理プロセッサ５０１、５０２、５０３が記憶デバイス８０１、８０２に対して読み出し指示を行う。必要になると予測されるデータは記憶デバイス８０１、８０２から読み出され、一旦キャッシュメモリ７０１に配置される。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
具体的には、例えば、第１の入出力処理プロセッサ５０１が、最初にレコード０番の読み出し命令を受領し、次に第３のレコードを受領した場合、この入出力処理プロセッサは、他の入出力処理プロセッサが分散して読み出し命令を受領していることを勘案して、このホストコンピュータからの読み出し命令が、連続した論理アドレスを有するデータに対する読み出しであると判定する。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
ここで、連続したデータであると判定された場合の処理について説明する。論理アドレスが連続するデータが順次読み出されていると判定された場合、入出力処理プロセッサは、その入出力処理プロセッサが有する個別メモリに先読みを指示するデータを保持する。入出力処理プロセッサは、ホストコンピュータからの読み出し命令を受領すると先読みを指示するデータが存在するかどうかを判定し、先読みを指示するデータが保持されている場合には、現在読み出している論理アドレスから入出力要求を分散している他の入出力処理プロセッサの処理するアドレスと重複しない程度に離れた論理アドレスのデータを所定量だけ連続で、キャッシュメモリ上に読み出しておくのである。（これをデータの先読みという。）次にホストコンピュータからのデータ読み出し要求が、連続するデータに係るものであると判定された場合の処理について説明する。各入出力処理プロセッサは、現在読み出し命令を受けたデータが、論理アドレス上の読み出し判定アドレスに位置するものであるかどうかを判定する。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００２４
【補正方法】変更
【補正の内容】
【００２４】
図２を用いて、さらに詳細に説明する。前述の通り論理アドレスが0x80の倍数である場合を読み出し判定位置としているので、読み出し判定位置は R(Record)0,R8,R16,R24...（太枠で図示）となる。入出力処理プロセッサ５０３は読み出し要求を受領し、その読み出し要求を受けたデータをキャッシュメモリ９１０からホストコンピュータへ転送する。キャッシュメモリ上に存在しない場合には、記憶デバイスから読み出す。その後、入出力処理プロセッサ５０３は入出力パターンを参照して、ホストコンピュータの要求データが連続する論理アドレスデータに対する読み出し要求であるかどうかを判定する。さらに、この読み出し命令を受けたデータが、読み出し判定位置であるかどうかを判定する。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】変更
【補正の内容】
【００２８】
このように共通の判定式に従って事前読み出しを行う入出力プロセッサを取り決め、取り決められた入出力処理プロセッサのみがデータ事前読み出しを実施する。連続する論理アドレスデータへの読み出し要求で、同一論理アドレスに対する要求は、1パスにのみ発行されるため、複数の入出力処理プロセッサが同一範囲のキャッシュメモリへの事前読み出し指示を行うことはない。このため、入出力処理プロセッサ間の競合が発生せず、パス数に依存しないホスト要求データの事前読み出しを行うことができる。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】変更
【補正の内容】
【００３２】
図３は、連続する論理アドレスのデータに対して複数ポートに分割して読み出し要求が発行された場合のキャッシュメモリ上へのデータ事前読み出しを行うためのフローを示した図である。入出力処理プロセッサは、ホストからのコマンド受領（１００１）後、キャッシュ上からホスト要求データの転送を（１００２）を実行し、その後、入出力パターンの解析（１００３）を行う。解析情報を基に先読み指示実行可否を判断（１００４）し、先読みを行わない場合は処理を終了する。先読み処理を行う場合は、読み出し処理したデータの論理アドレスが、読み出し判定位置であるかを判定（１００５）し、読み出し判定位置でない場合は処理を終了する。読み出し処理したデータの論理アドレスが読み出し判定位置である場合は、キャッシュメモリに読み出しを行う範囲のデータが既に存在するかを判定（１００６）し、キャッシュメモリ上に読み出し範囲のデータが全て存在すれば処理を終了する。キャッシュメモリ上に読み出し範囲のデータが存在しない場合は、読み出し指示を記憶デバイスに発行（１００７）する。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】変更
【補正の内容】
【００３５】
【発明の効果】
本発明によれば、複数の入出力処理プロセッサによってホストコンピュータからの処理分散が可能に構成された記憶制御装置においても、入出力処理プロセッサ間で同期を取ることなく、各種のホストコンピュータからの要求に対する処理時間を短縮するような処理を実行できるようになる。
また、入出力処理プロセッサで無駄な処理量やプロセッサ間の競合を抑止することで、ホストコンピュータの要求に対する処理時間が減少し、応答速度が向上する。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】図面の簡単な説明
【補正方法】変更
【補正の内容】
【図面の簡単な説明】
【図１】
本発明の第１実施例におけるシステムの例を示す図である。
【図２】
本発明の第１実施例の概念図である。
【図３】
本発明における第１の処理手順を示すフローチャートである。
【図４】
本発明の実施例を適用する記憶システムの例を示す図である。
【符号の説明】
１０１…上位装置、２０２・２０３・２０４…ホストアダプタ、４０１・４
０２・４０３…ポート、５０１・５０２・５０３…入出力処理プロセッサ、６
０１・６０２・６０３…個別メモリ、７０１…キャッシュメモリ、４００…
記憶制御装置、８０１・８０２…記憶デバイス。