(57)【要約】【課題】ページ単位でアクセスを行う補助記憶装置において、同一のページに対する複数の書き込み要求や読み出し要求を同時に受け付けることを可能とすることにより、多重処理による性能向上を図る。【解決手段】各ホストアダプタ１０ａ〜１０ｎは、書き込み対象となる共有メモリ２０中の本ページ２１ａ〜２１ｐの使用状況と、その本ページのアクセス中に一時的にデータを書き込むための仮ページ２２ａ〜２２ｑを対応付けて管理するページ管理表１３を備える。仮ページ使用権獲得部１１は、本ページ２１がアクセス中の場合、共有メモリ２０から仮ページ２２を獲得して、ホストコンピュータ１からのデータを書き込む。仮ページマージ部１２は、仮ページ２２のデータを、バックグラウンド処理で本ページ２１にマージする。【選択図】図１
2010165280.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータから与えられる一定サイズのデータを単位として記憶する補助記憶装置であって、
前記データを記憶するために設けられ、それぞれ前記一定サイズの記憶領域を有する複数の本ページと、
前記データを一時的に保存するために設けられ、それぞれ前記一定サイズの記憶領域を有する複数の仮ページと、
前記ホストコンピュータから前記データの書き込み要求が与えられたときに、他の読み出しまたは書き込み処理によって該データの書き込み対象となる本ページが使用中である場合に該データを前記仮ページに保存し、該本ページの使用終了後に、該仮ページに保存したデータを該本ページにマージする書き込み制御手段と、
を備えることを特徴とする補助記憶装置。
【請求項２】
前記書き込み制御手段は、前記ホストコンピュータから前記データの書き込み要求が与えられたときに、該データの書き込み対象となる本ページが使用中でない場合には、該本ページに該データを書き込むことを特徴とする請求項１に記載の補助記憶装置。
【請求項３】
ホストコンピュータから与えられる一定サイズのデータを単位として記憶する補助記憶装置であって、
前記データを記憶するために設けられ、それぞれ前記一定サイズの記憶領域を有する複数の本ページと、
前記データを一時的に保存するために設けられ、それぞれ前記一定サイズの記憶領域を有する複数の仮ページと、
前記ホストコンピュータから前記データの書き込み要求が与えられたときに、他の読み出しまたは書き込み処理によって該データの書き込み対象となる本ページが使用中であり、かつ所定の条件を満たす場合に該データを前記仮ページに保存し、該本ページの使用終了後に、該仮ページに保存したデータを該本ページにマージする書き込み制御手段と、
を備えることを特徴とする補助記憶装置。
【請求項４】
前記書き込み制御手段は、前記ホストコンピュータから前記データの書き込み要求が与えられたときに、該データの書き込み対象となる本ページが使用中でない場合には、該本ページに該データを書き込み、他の読み出しまたは書き込み処理によって該データの書き込み対象となる本ページが使用中であり、かつ前記所定の条件を満たさない場合には、該データを前記仮ページに保存せず、該本ページの使用終了後に該データを該本ページに書き込むことを特徴とする請求項３に記載の補助記憶装置。
【請求項５】
前記書き込み制御手段は、前記ホストコンピュータから受け取った前記データを前記本ページに書き込んだ時点、または該データを前記仮ページに保存した時点で、該ホストコンピュータに書き込み完了の通知を行うことを特徴とする請求項１乃至４のいずれか１項に記載の補助記憶装置。
【請求項６】
前記書き込み制御手段は、前記データの書き込み対象となる本ページと該データを一時的に保存するために割り当てた前記仮ページを対応付けるためのページ管理表を有することを特徴とする請求項１乃至５のいずれか１項に記載の補助記憶装置。
【請求項７】
前記書き込み制御手段は、前記仮ページに保存したデータを前記本ページにマージする処理を、前記ホストコンピュータとは独立してバックグラウンドで行うことを特徴とする請求項１乃至６のいずれか１項に記載の補助記憶装置。
【請求項８】
複数の前記書き込み制御手段と、
前記データの書き込み対象となる本ページと該データを一時的に保存するために割り当てられた前記仮ページと、その割り当てを行った前記書き込み制御手段を対応付けるための第２のページ管理表と、
を備えることを特徴とする請求項６または７に記載の補助記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータの補助記憶装置、特にその書き込み性能の向上に関する。
【背景技術】
【０００２】
磁気ディスク装置等のコンピュータの補助記憶装置では、ＳＣＳＩ(Small Computer System Interface)接続のようにハードウエア上の最小の読み書き単位であるブロック（磁気ディスク等では、セクタともいう）単位でアクセスを行うものもあるが、一般的には更にサイズの大きい論理ユニットの記憶領域（以下、「ページ」という）単位でアクセスを行うようになっている。
【０００３】
ページ単位でアクセスを行う補助記憶装置では、同一のページに対する書き込み要求や読み出し要求の競合による誤動作を防止するために、排他制御を行っている。即ち、ある１つのページに同時に複数の書き込みコマンドでデータを書き込もうとしても排他され、どれか１つの書き込みコマンドしか受け付けられない。このため、他の書き込みコマンドは、先に受け付けられた書き込みコマンドの処理が終了するまで待機させられることになる。
【０００４】
このような状況は、例えば、補助記憶装置を共有メモリとして使用して、複数のプロセスで共通に利用するライブラリやコード等の記憶に用いる場合や、１つのプログラムによって補助記憶装置の同一ページ内にデータを次々に書き込むような処理を行う場合に発生する。このような場合、データの書き込み処理が終了するまで次の処理を実行することができず、多重処理による性能向上の妨げとなっていた。
【０００５】
下記特許文献１には、処理能力向上のために、ホストから複数のディスク書き込みコマンドが発行されたときに、１つのコマンドに対応するデータを受信してデータバッファに格納した後、このデータのディスク媒体への書き込み完了を待たずに、次のコマンドのデータ受信を開始してデータを先取りする情報記憶装置が記載されている。
【０００６】
特許文献２には、複数の磁気ディスク装置に同一のデータ領域を重複させて確保するように構成した仮想データ記憶装置のスループット性能を動的に制御するデータ記憶システムが記載されている。このデータ記憶システムでは、書き込み要求を受け取ると、負荷が最小の磁気ディスク装置のキューに書き込み要求コマンドを投入し、バックグラウンドで他の磁気ディスク装置へのコピーを実行する。一方、読み出し要求を受け取ると、有効なデータが存在し、かつ、負荷が最も小さい磁気ディスク装置のキューに読み出し要求コマンドを投入する。
【０００７】
特許文献３には、パーソナルコンピュータ等のノード装置と外部入出力装置のそれぞれに設けられた記憶手段を、仮想分散共有メモリとして扱うことにより、ノード装置と外部入出力装置との間のデータ転送動作の簡略化を図り、レイテンシを削減すると共にデータ転送帯域を確保するように構成したストレージアクセスシステムが記載されている。
【０００８】
更に、特許文献４には、あるジョブによってデータセットの領域拡張（エクステントの増加）があったときに、他のアクセス中のジョブにそのことを知らせる手段を設けることにより、他のジョブがデータセットを一旦クローズして再オープンすることなく、アクセスを続行できるデータセットアクセス方式が記載されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０００−２５０７１５号公報
【特許文献２】特開２００１−１２５７５０号公報
【特許文献３】特開２００３−００６１３７号公報
【特許文献４】特開平０５−２６５８１４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、例えば前記特許文献１の情報記憶装置では、データを先取りして格納するためのデータバッファが必要になる。データバッファは、通常ＲＡＭ(Random Access Memory)等の主記憶装置上に設けられるので、大きな記憶領域を確保することは困難であり、先取りできるデータの量に限界があるという課題があった。
【００１１】
また、特許文献２〜４では、負荷の小さい補助記憶装置を選択したり、仮想分散共有メモリを用いてデータ転送動作を簡略化したり、ジョブ間の連絡手段によってデータセットのオープン・クローズ処理を不要としたりする技術が記載されているが、同一のページに対するアクセスは、従来どおり排他制御されるようになっている。従って、データの書き込み処理が終了するまで次の処理を実行することができず、多重処理による性能向上ができないという課題があった。
【００１２】
本発明は上記課題に鑑みてなされたものであり、ページ単位でアクセスを行う補助記憶装置において、同一のページに対する複数の書き込み要求や読み出し要求を同時に受け付けることを可能とすることにより、多重処理による性能向上を図ることを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明の第１の観点に係る補助記憶装置は、ホストコンピュータから与えられる一定サイズのデータを単位として記憶する補助記憶装置であって、前記データを記憶するために設けられ、それぞれ前記一定サイズの記憶領域を有する複数の本ページと、前記データを一時的に保存するために設けられ、それぞれ前記一定サイズの記憶領域を有する複数の仮ページと、前記ホストコンピュータから前記データの書き込み要求が与えられたときに、他の読み出しまたは書き込み処理によって該データの書き込み対象となる本ページが使用中である場合に該データを前記仮ページに保存し、該本ページの使用終了後に、該仮ページに保存したデータを該本ページにマージする書き込み制御手段と、を備えることを特徴とする。
【００１４】
本発明の第２の観点に係る補助記憶装置は、ホストコンピュータから与えられる一定サイズのデータを単位として記憶する補助記憶装置であって、前記データを記憶するために設けられ、それぞれ前記一定サイズの記憶領域を有する複数の本ページと、前記データを一時的に保存するために設けられ、それぞれ前記一定サイズの記憶領域を有する複数の仮ページと、前記ホストコンピュータから前記データの書き込み要求が与えられたときに、他の読み出しまたは書き込み処理によって該データの書き込み対象となる本ページが使用中であり、かつ所定の条件を満たす場合に該データを前記仮ページに保存し、該本ページの使用終了後に、該仮ページに保存したデータを該本ページにマージする書き込み制御手段と、を備えることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、ホストコンピュータからデータの書き込み要求が与えられたときに、他の読み出しまたは書き込み処理によって、そのデータの書き込み対象となる本ページが使用中である場合に、そのデータを一時的に保存する仮ページを備えている。これにより、本ページが使用中であっても、ホストコンピュータからのデータを受け取ることができるので、同一のページに対する複数の書き込み要求や読み出し要求を同時に受け付けることが可能になり、多重処理による性能向上を図ることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態を示す補助記憶装置の構成図である。
【図２】図１中の各ホストアダプタに設けられたページ管理表の一例を示す説明図である。
【図３】図１中の共有メモリに設けられたページ管理表の一例を示す説明図である。
【図４】図１における書き込み動作の流れを示すフローチャートである。
【図５】図４中のマージ処理の流れを示すフローチャートである。
【図６】図１の動作イメージを示す説明図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
図１に示すように、本発明の実施形態の補助記憶装置は、読み書きの制御手段である複数のホストアダプタ１０ａ，…，１０ｎと、共有メモリ２０を有している。なお、本補助記憶装置は、この他に、論理的なページと磁気ディスク等の記憶媒体の物理アドレスとを関連付けて、この記憶媒体に対するアクセスを制御するためのアクセス制御手段等を備えているが、本発明では直接関係しないので省略している。
【００１８】
ホストアダプタ１０ａ，…，１０ｎは、ホストコンピュータ１から補助記憶装置に対するページ単位での読み書きのアクセスコマンドを受けるもので、同一構成となっている。即ち、各ホストアダプタ１０ａ，…，１０ｎには、それぞれ仮ページ制御機構として、仮ページ使用権獲得部１１、仮ページマージ部１２、及びページ管理表１３が設けられている。
【００１９】
なお、ここで「仮ページ」とは、読み書きの対象となる本来のページ（以下、「本ページ」という）が、他のコマンドによってアクセスされているときに、その本ページに代わって一時的にデータを書き込むために予め準備されたページを意味する。なお、本ページと仮ページの固定的な対応付けは行われておらず、必要に応じて未使用の仮ページを適宜割り当てるようになっている。
【００２０】
仮ページ使用権獲得部１１は、例えば、連続的な書き込み動作といった特定の入出力パターンによる動作モードの場合に、仮ページを使用するか否かを判定するものである。仮ページマージ部１２は、仮ページに書き込まれたデータを、バックグラウンド処理によって本ページにマージするものである。また、ページ管理表１３は、本ページに書き込むべきデータが一時的に書き込まれた仮ページの情報を登録するものである。
【００２１】
一方、共有メモリ２０は、複数の本ページ２１ａ，２１ｂ，２１ｃ，…，２１ｐ、複数の仮ページ２２ａ，２２ｂ，２２ｃ，…，２２ｑ、及びページ管理表２３を備えている。これらの本ページ２１ａ〜２１ｐと仮ページ２２ａ〜２２ｑは、磁気ディスク装置等の記憶媒体の記憶領域に対応するものである。また、ページ管理表２３は、本ページと仮ページの対応付けを行うと共に、その本ページや仮ページを使用しているホストアダプタ１０ａ等を特定するための情報を登録するものである。
【００２２】
図２は、図１中の各ホストアダプタに設けられたページ管理表の一例を示す説明図である。
このページ管理表１３は、そのホストアダプタ１０ａ等が使用している仮ページのデータを、本ページにコピーする手掛かりとするためのもので、１つの本ページに対して複数の仮ページをその状態と共に登録できるようになっている。各ページの状態は、「未使用」、「未書き込み」、及び「書き込み完了」の３状態によって管理されている。
【００２３】
「未使用」状態は、例えば、そのページの使用権が解放されて、使用されていない状態を示している。「未書き込み」状態は、そのページの使用権が獲得された直後で、未だホストコンピュータからのデータが書き込まれていない状態を示している。「書き込み完了」状態は、ホストコンピュータからのデータの書き込みは終了したが、未だ本ページへのコピーが完了していない状態を示している。
【００２４】
図３は、図１中の共有メモリに設けられたページ管理表の一例を示す説明図である。
このページ管理表２３は、複数のホストアダプタ１０間の制御を行うと共に、１つのホストアダプタに障害が発生したときに、他のホストアダプタに仮ページの処理を引き継ぐことを可能にするためのものである。
ページ管理表２３では、１つの本ページに対して複数の仮ページを、それに対応するホストアダプタの情報と共に登録できるようになっている。
【００２５】
なお、本ページに対応するすべての仮ページのデータが、該当する本ページにマージされた段階で、ページ管理表１３，２３から該当する本ページの項目が削除されるようになっている。
【００２６】
図４は、図１における書き込み動作の流れを示すフローチャートである。以下、この図４を参照しつつ、図１における書き込み多重化の動作を説明する。
【００２７】
例えば補助記憶装置のホストアダプタ１０ａが、ホストコンピュータ１から書き込みコマンドを受けると（ステップＳ１１）、このホストアダプタ１０ａは書き込み対象となる本ページ（例えば、本ページ２１ａ）の使用権を獲得しようとする（ステップＳ１２）。この処理は、そのホストアダプタ１０ａのページ管理表１３と共有メモリ２０のページ管理表２３を調べ、該当する本ページ２１ａにアクセスしている他のコマンドの有無を調べることによって行われる。
【００２８】
該当する本ページ２１ａにアクセスしている他のコマンドがなくて、その使用権を獲得できれば（ステップＳ１３；はい）、ホストアダプタ１０ａ内のページ管理表１３と共有メモリ２０内のページ管理表２３にその本ページ２１ａを登録し、ホストアダプタ１０ａ内のページ管理表１３における本ページ２１ａの状態を未書き込み状態に設定する（ステップＳ１４）。
【００２９】
その後、ホストアダプタ１０ａはホストコンピュータ１から書き込むべきデータを受信し、その受信したデータを共有メモリ２０内の該当する本ページ２１ａに書き込む（ステップＳ１５）。
【００３０】
データの書き込みが終了すると、ホストアダプタ１０ａは、そのデータ書き込みを行っている間に他のコマンドによって同じ本ページ２１ａに対する書き込みコマンドが発生して、仮ページが使用されているか否かを調べる（ステップＳ１６）。即ち、ホストアダプタ１０ａは、共有メモリ２０内のページ管理表２３に、本ページ２１ａに対する仮ページが登録されているかどうかを調べる。
【００３１】
使用中の仮ページが存在しなければ（ステップＳ１６；なし）、ホストアダプタ１０ａは、ホストコンピュータ１に対して書き込み完了応答を返し（ステップＳ１７）、ホストアダプタ１０ａ内のページ管理表１３と共有メモリ２０内のページ管理表２３から本ページ２１ａの情報を削除して（ステップＳ１８）、本ページを書き込みコマンドから解放する（ステップ１９）。これにより、ホストコンピュータ１からの書き込みコマンドに対する書き込み動作は終了する。
【００３２】
一方、ホストアダプタ１０ａが、ホストコンピュータ１から書き込みコマンドを受け（ステップＳ１１）、書き込み対象となる本ページの使用権を獲得しようとして（ステップＳ１２）、本ページの使用権を獲得できなかった場合（ステップＳ１３；いいえ）、仮ページ使用権獲得部１１は、仮ページを使用するか否かを判定する（ステップＳ２０）。
【００３３】
仮ページ使用権獲得部１１は、予め設定された条件に従って、仮ページの使用を判定するものである。例えば、連続的な書き込み動作といった特定の入出力パターンによる動作モードの場合に、仮ページを使用するように設定されている。
【００３４】
仮ページ使用権獲得部１１が仮ページを使用しないと判定した場合（ステップＳ２０；使用しない）、ステップＳ１２へ戻り、本ページの使用権が獲得されるまで（即ち、他の書き込みコマンドによるデータの書き込みが完了して、その本ページが解放されるまで）、ステップＳ１２，Ｓ１３，Ｓ２０の処理が繰り返される。
【００３５】
仮ページ使用権獲得部１１は、仮ページを使用すると判定した場合（ステップＳ２０；使用する）、仮ページの使用権を獲得する（ステップＳ２１）。仮ページの使用権を獲得する場合、本ページに対して仮ページを割り当てた順番に番号を付与し、仮ページのページ番号に反映させる。仮ページを割り当てた順番は、共有メモリ２０内のページ管理表２３によって管理されるので、図３に示すように、複数のホストアダプタが存在していても、同じ本ページに対しては一貫した番号が付与される。
【００３６】
仮ページの使用権が獲得されると（ステップＳ２１）、ホストアダプタ１０ａは、そのホストアダプタ１０ａ内のページ管理表１３と共有メモリ２０内のページ管理表２３に、本ページ２１ａと割り当てた仮ページを対応付けて登録し、更にホストアダプタ１０ａ内のページ管理表１３における状態を未書き込み状態に設定する（ステップＳ２２）。
【００３７】
その後、ホストアダプタ１０ａはホストコンピュータ１から書き込むべきデータを受信し、その受信したデータを共有メモリ２０内の割り当てた仮ページに書き込む（ステップＳ２３）。仮ページへのデータの書き込みが終了した後、ホストアダプタ１０ａは、ページ管理表１３における仮ページの状態を、書き込み完了状態に設定し（ステップＳ２４）、ホストコンピュータ１に対して書き込み完了応答を返す（ステップＳ２５）。その後、ホストアダプタ１０ａは、後述するマージ処理（ステップＳ３０）を実施する。
【００３８】
また、ステップＳ１５における本ページへのデータ書き込み中に、他のコマンドによる本ページ２１ａに対する書き込みコマンドが発生して、仮ページが使用されていることが判明した場合（ステップＳ１６；あり）、ホストアダプタ１０ａは、ページ管理表１３における本ページの状態を、書き込み完了状態に設定する（ステップＳ２４）。更に、ホストアダプタ１０ａは、ホストコンピュータ１に対して書き込み完了応答を返し（ステップＳ２５）、マージ処理（ステップＳ３０）を実施する。
【００３９】
図５は、図４中のマージ処理の流れを示すフローチャートである。このマージ処理（ステップＳ３０）は、ホストアダプタ１０の仮ページマージ部１２によって行われる。
ホストアダプタ１０ａ内の仮ページマージ部１２は、マージ処理を行う条件として、ページ管理表１３を参照して、本ページに対する仮ページの内で一番古いページから現在の書き込み対象のページまで、連続して同じホストアダプタ１０ａで割り当てたものであるか否かを、次のステップＳ３１，Ｓ３２によって調べる。
【００４０】
まず、ステップＳ３１において、仮ページマージ部１２は、ホストアダプタ１０内のページ管理表１３を参照し、最古の仮ページから現在の書き込み対象の仮ページまでが、すべてそのホストアダプタ１０で割り当てたものであり、かつ、これらの仮ページが書き込み完了状態となっているかを判定する。ステップＳ３１の判定結果が「はい」の場合は、ステップＳ３２に進み、このステップＳ３１の判定結果が「いいえ」の場合は、マージ処理は行わずに終了する。
【００４１】
次に、ステップＳ３２において、仮ページマージ部１２は、他のホストアダプタ１０のページ管理表１３や共有メモリ２０内のページ管理表２３を参照し、現在の書き込み対象のページの次のページがないか、もしくは自ホストアダプタ１０で割り当てたものではないかを判定する。ステップＳ３２の判定結果が「はい」の場合は、ステップＳ３３に進み、このステップＳ３２の判定結果が「いいえ」の場合は、マージ処理は行わずに終了する。
【００４２】
ステップＳ３１，Ｓ３２の条件が満たされると、ステップＳ３３に進み、仮ページマージ部１２によるマージ処理が行われる。このマージ処理では、最古の仮ページから最新の書き込み対象の仮ページまで順番に、仮ページに書き込まれたデータが本ページのデータにマージされる。ステップＳ３３の後、ステップＳ３４へ進む。
【００４３】
仮ページマージ部１２は、本ページへのマージが終了した仮ページをページ管理表１３，２３から削除し（ステップＳ３４）、ページ管理表１３，２３から削除された仮ページは、未使用状態となって書き込み処理から解放される（ステップＳ３５）。
【００４４】
本ページに対して割り当てられた仮ページが残っていれば（ステップＳ３６；あり）、その状態でマージ処理は終了する。また、本ページに対応して割り当てられた仮ページが、ページ管理表１３，２３からすべてなくなったときに（ステップＳ３６；なし）、これらのページ管理表１３，２３から本ページの情報を削除して、本ページを書き込みコマンドから解放する（ステップ３７）。これにより、マージ処理は終了する。
【００４５】
図６は、図１の動作イメージを示す説明図である。以下、この図６を参照して、図１の動作を概念的に説明する。
この図６は、ホストコンピュータ１から補助記憶装置の１つの本ページ＃０に、短いデータＤ１，Ｄ２，Ｄ３，Ｄ４を連続して書き込む場合の動作を示している。
【００４６】
最初のデータＤ１を書き込むときには、本ページ＃０は未使用状態であるので、そのまま本ページ＃０に対するデータＤ１の書き込みが開始される。引き続いて、２番目のデータＤ２を書き込むときには、本ページ＃０はデータＤ１の書き込み動作中となっているので、この本ページ＃０に書き込むことはできない。そのため、未使用状態の仮ページ＃１が本ページ＃０の仮ページとして割り当てられ、この仮ページ＃１にデータＤ２が書き込まれる。
【００４７】
更に、３番目のデータＤ３を書き込むときには、既に本ページ＃０に対応する仮ページ＃１が割り当てられ、この仮ページ＃１にデータＤ２が書き込まれた状態となっている。このため、未使用状態の仮ページ＃２が本ページ＃０の２番目の仮ページとして割り当てられ、この仮ページ＃２にデータＤ３が書き込まれる。同様に４番目のデータＤ４を書き込むときには、仮ページ＃３が本ページ＃０の３番目の仮ページとして割り当てられ、この仮ページ＃３にデータＤ４が書き込まれる。
【００４８】
なお、これらのデータＤ１〜Ｄ４が、それぞれ本ページ＃０や仮ページ＃１〜＃３に書き込まれた時点で、補助記憶装置からホストコンピュータ１に対して、書き込み完了応答が返される。従って、ホストコンピュータ１は、データＤ２〜Ｄ４が実際に本ページ＃０に書き込まれるまで待つ必要がなく、次の処理を実行することができる。
【００４９】
一方、補助記憶装置では、仮ページ＃１〜＃３に書き込まれたデータＤ２〜Ｄ４のマージ処理が、ホストコンピュータ１とは独立してバックグラウンド処理で実行される。まず、本ページ＃０のデータＤ１に、仮ページ＃１のデータＤ２がマージされ、次に、仮ページ＃２のデータＤ３がマージされ、更に、仮ページ＃３のデータＤ４がマージされる。
【００５０】
マージ処理が終了すると、仮ページ＃１〜＃３が解放されて未使用状態となり、更に、本ページ＃０も解放されて、アクセス可能な状態に戻る。
【００５１】
以上、書き込み動作の多重処理について説明したが、読み出し動作中に書き込みコマンドが与えられたときにも、同様の処理が行われる。即ち、本ページの読み出し動作中に、同じ本ページに対する書き込みコマンドが与えられた場合、本ページの使用権を獲得できないので、仮ページの使用権を獲得してその仮ページにホストコンピュータからのデータを書き込むことになる。その後のバックグラウンドによるマージ処理は、前述のとおりである。
【００５２】
以上詳細に説明したように、本実施形態の補助記憶装置は、次のような利点がある。
（１）  １つの本ページに対して、複数の仮ページを割り当てて使用するように構成しているので、同一のページに対する複数の書き込み要求を同時に受け付けることが可能となり、多重処理による性能向上が図られる。
（２）  読み出し中の本ページに対して書き込み要求が有った場合に、書き込み用の仮ページを使用することができるので、読み出しと書き込みを多重化して処理することができる。本ページの読み出しや書き込みは、ホストコンピュータ１からのコマンドに限らず、補助記憶装置内部の処理（例えば、バックグラウンドによるマージ処理）で行われることもある。
【００５３】
なお、本発明は、上記実施形態に限定されるものではなく、下記のような種々の変形が可能である。
（ａ）  複数のホストアダプタ１０ａ〜１０ｎを備えているが、ホストアダプタは１つだけでも良い。
（ｂ）  複数のホストアダプタ１０ａ〜１０ｎを備える場合、故障したホストアダプタや負荷の大きいホストアダプタのページ管理表１３を、他のホストアダプタに転送して処理するように構成することもできる。これにより、１つのホストアダプタに障害が発生したときに、他のホストアダプタに仮ページの処理を引き継ぐことが可能になる。
【００５４】
（ｃ）  仮ページ使用権獲得部１１による仮ページを使用するか否かの判定条件は、例示したものに限定されない。また、仮ページを使用するか否かの判定を行わずに、本ページが使用中であれば、常に仮ページを使用するように構成しても良い。
（ｄ）  仮ページマージ部１２によるマージ処理は、例示した手順に限定されない。例えば、本ページを全面的に書き換えるような仮ページが存在すれば、それ以前の仮ページのマージ処理は必要なくなる。
【符号の説明】
【００５５】
１    ホストコンピュータ
１０ａ〜１０ｎ    ホストアダプタ
１１    仮ページ使用権獲得部
１２    仮ページマージ部
１３，２３    ページ管理表
２０    共有メモリ
２１ａ〜２１ｐ    本ページ
２２ａ〜２２ｑ    仮ページ
【図１】
2010165280.tif 000003
【図２】
2010165280.tif 000004
【図３】
2010165280.tif 000005
【図４】
2010165280.tif 000006
【図５】
2010165280.tif 000007
【図６】
2010165280.tif 000008