(57)【要約】 【課題】  メモリの書き込み回数の増加を抑制することができ、寿命を延ばすことが可能な記憶システムを提供する。【解決手段】  二次記憶部１４は、一次記憶部１３よりデータ転送レートが低く、保持されたデータが読み出されると保持されたデータが破壊されるメモリにより構成される。制御部１１は、第１オペレーションにおいて、二次記憶部１４から一次記憶部１３に第１のデータを転送し、一次記憶部から二次記憶部に書き戻す第１のデータに第１状態をセットし、第２オペレーションにおいて、第１状態がセットされた第１のデータを一次記憶部から二次記憶部に書き込む。【選択図】  図１
2019133703.tif 000002
【特許請求の範囲】
【請求項１】
一次記憶部と、
前記一次記憶部よりデータ転送レートが低く、保持されたデータが読み出されると保持された前記データが破壊されるメモリにより構成された二次記憶部と、
第１オペレーションでデータを前記二次記憶部から前記一次記憶部へ転送し、第２オペレーションでデータを前記一次記憶部から前記二次記憶部に転送する制御部と、
を具備し、
前記制御部は、前記第１オペレーションにおいて、前記二次記憶部から前記一次記憶部に第１のデータを転送し、前記一次記憶部から前記二次記憶部に書き戻す前記第１のデータに第１状態をセットし、前記第２オペレーションにおいて、前記第１状態がセットされた前記第１のデータを前記一次記憶部から前記二次記憶部に書き込むことを特徴とする記憶システム。
【請求項２】
前記一次記憶部から前記二次記憶部に前記第１のデータを書き戻さない場合、前記制御部は前記第１のデータに前記第１状態をセットしないことを特徴とする請求項１記載の記憶システム。
【請求項３】
前記第１状態がセットされず、前記第１のデータが前記二次記憶部から前記一次記憶部に転送された後、前記第１のデータが前記一次記憶部において第２のデータに書き換えられた場合、前記制御部は、前記書き換えられた第２のデータに前記第１状態をセットすることを特徴とする請求項２記載の記憶システム。
【請求項４】
前記制御部は、仮想記憶空間と仮想アドレスを管理し、前記一次記憶部と前記二次記憶部との間の前記データの移動を管理する第１の管理部を具備することを特徴とする請求項３記載の記憶システム。
【請求項５】
前記制御部は、データの書き込み要求に基づき前記データを前記一次記憶部に書き込み、読み出し要求に対応するデータが前記一次記憶部にない場合、前記二次記憶部から前記読み出し要求に対応するデータを読み出す第２の管理部を具備することを特徴とする請求項３記載の記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、例えば仮想記憶又はキャッシュを備えた記憶システムに関する。
【背景技術】
【０００２】
データの読み出しに基づいて、記憶されていたデータが破壊される破壊読み出しメモリ（destructive readout memory）がある。データが破壊読出しメモリから読み出された後、当該データを破壊読出しメモリに継続して保持する必要がある場合、当該データは破壊読出しメモリに書き戻される。破壊読出しメモリにおいて、書き込み回数に制約がある場合、破壊読出しメモリから読み出したデータを破壊読出しメモリに書き戻すと書き換え回数が増加し、破壊読出しメモリの寿命を短縮する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１０／０５５９３７号
【特許文献２】国際公開第２０１１／０３３６００号
【特許文献３】米国特許第８５６０７６１号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本実施形態は、メモリの書き込み回数の増加を抑制することができ、寿命を延ばすことが可能な記憶システムを提供する。
【課題を解決するための手段】
【０００５】
本実施形態の記憶システムは、一次記憶部と、前記一次記憶部よりデータ転送レートが低く、保持されたデータが読み出されると保持された前記データが破壊されるメモリにより構成された二次記憶部と、第１オペレーションでデータを前記二次記憶部から前記一次記憶部へ転送し、第２オペレーションでデータを前記一次記憶部から前記二次記憶部に転送する制御部と、を具備し、前記制御部は、前記第１オペレーションにおいて、前記二次記憶部から前記一次記憶部に第１のデータを転送し、前記一次記憶部から前記二次記憶部に書き戻す前記第１のデータに第１状態をセットし、前記第２オペレーションにおいて、前記第１状態がセットされた前記第１のデータを前記一次記憶部から前記二次記憶部に書き込む。
【図面の簡単な説明】
【０００６】
【図１】第１の実施形態に係る計算機システムの一例を概略的に示す構成図。
【図２】第１の実施形態に係る仮想記憶管理装置の構成を概略的に示す構成図。
【図３Ａ】第１の実施形態に適用されるフラグの一例を示す構成図。
【図３Ｂ】第１の実施形態に適用されるフラグの一例を示す構成図。
【図３Ｃ】第１の実施形態に適用されるフラグの一例を示す構成図。
【図３Ｄ】第１の実施形態に適用されるフラグの一例を示す構成図。
【図４Ａ】第１の実施形態の動作を説明するために示すフローチャート。
【図４Ｂ】第１の実施形態の動作を説明するために示すフローチャート。
【図５】第２の実施形態に係る計算機システムの一例を概略的に示す構成図。
【図６】第２の実施形態に係る計算機システムのファームウェアの構成を概略的に示す構成図。
【図７Ａ】第２の実施形態に適用されるフラグの一例を示す構成図。
【図７Ｂ】第２の実施形態に適用されるフラグの一例を示す構成図。
【図７Ｃ】第２の実施形態に適用されるフラグの一例を示す構成図。
【図７Ｄ】第２の実施形態に適用されるフラグの一例を示す構成図。
【図８Ａ】第２の実施形態の動作を説明するために示すフローチャート。
【図８Ｂ】第２の実施形態の動作を説明するために示すフローチャート。
【図９】第１、第２の実施形態が適用されるサーバの一例を示す斜視図。
【発明を実施するための形態】
【０００７】
以下、図面を参照して実施形態について説明する。
【０００８】
（第１の実施形態）
図１は、第１の実施形態に係り、例えば仮想記憶部を有する計算機システム（記憶システムとも言う）を概略的に示している。
【０００９】
計算機システム１０は、プロセッサ（本実施形態ではＣＰＵ（Central Processing Unit）１１とする）、ＭＭＵ（Memory Management Unit）１２、一次記憶部１３（メインメモリ）、及び二次記憶部１４（例えば、大容量ディスクストレージ）などによって構成されている。これらＣＰＵ１１、ＭＭＵ１２、一次記憶部１３、及び二次記憶部１４は、バス１５により接続されている。
【００１０】
ここで、仮想記憶とは、二次記憶部１４と一次記憶部１３との間で必要に応じてデータを移動することにより、大容量なメモリが存在するかのようにアプリケーションプログラムに見せかける技術である。一次記憶部１３は、高いデータ転送レート又は高いアクセス速度を有し、比較的小容量の揮発性メモリと不揮発性メモリとのうちの少なくとも一方により構成される。また、二次記憶部（仮想メモリ空間）１４は、一次記憶部１３よりもデータ転送レートが低く、大容量の不揮発性メモリにより構成される。
【００１１】
仮想メモリ空間と実メモリ空間の置き換え制御、及び仮想アドレスから実アドレスへの変換制御に関する技術の１つとして、ページを単位としたページング技術がある。ページングによるアドレス変換により、仮想メモリ上の仮想ページと物理メモリ上の物理ページとが対応付けられる。
【００１２】
計算機システム１０は、ページングによる仮想記憶に対応したオペレーティングシステムが動作する計算機である。ページングは、オペレーティングシステム及びＭＭＵ１２により実行される。ページは、１つの領域を表わし、ページを単位として仮想メモリ空間と実メモリ空間との間でデータが転送される。各ページは、コード及びデータから構成され、仮想ページと物理ページがある。計算機システム１０は、例えばエンドユーザが事務処理等を実行するコンピュータである。しかし、これに限定されるものではなく、計算機システム１０は、ネットワークを介してクライアントからの要求を処理するサーバ、或いは機器の制御を実行する組み込みコンピュータであってもよい。
【００１３】
ＣＰＵ１１は、計算機システム１０の全体を制御する。ＣＰＵ１１は、例えばオペレーティングシステムをメインメモリとしての一次記憶部１３から読み込み、オペレーティングシステムに基づいてアプリケーションプログラムを実行する。
【００１４】
ＭＭＵ１２は、例えば仮想ページと物理ページと対応関係を示すページテーブルを有し、ＣＰＵ１１の指示に基づき、仮想ページと物理ページを変換し、一次記憶部１３をアクセスする。
【００１５】
仮想ページと物理ページの関連付けは、ページテーブルを用いているが、テーブルに限定されるものではなく、例えばB-Tree Structure などを用いて仮想ページと物理ページとを関連付けることも可能である。
【００１６】
一次記憶部１３は、データ転送レートが高く、且つランダムに書き込みが可能な揮発性メモリによって構成されている。揮発性メモリは、例えばＳＲＡＭ（Static Random Access Memory）により構成されている。しかし、これに限らず、ＤＲＡＭ（Dynamic Random Access Memory）などを用いてもよい。
【００１７】
二次記憶部１４は、一次記憶部１３よりもデータ転送レートが低くが、一次記憶部１３に比べて大容量である。二次記憶部１４は、例えばＭＲＡＭ（Magnetic Random Access Memory）やＲｅＲＡＭ（Resistive Random Access Memory）などの破壊読出しメモリにより構成される。ＣＰＵ１１は、一次記憶部１３と二次記憶部１４とをそれぞれアクセスすることにより、一次記憶部１３と二次記憶部１４との間でデータを転送する。
【００１８】
ここで、「破壊読出し」とは、メモリからデータを読出した場合、メモリに記憶されていたデータが元のデータと異なるデータに変化する読出し動作である。また、「破壊」とは、データが読み出された瞬間に、メモリに記憶されていたデータが完全に消去、又は異なるデータに変化される場合に限定されるものではなく、次の読み出し動作までに徐々に元のデータと異なるデータに変化するような場合も含まれる。
【００１９】
図２は、第１の実施形態に係る仮想記憶管理装置２０の一例を示している。仮想記憶管理装置２０は、計算機システム１０の内部に設けられ、仮想記憶を管理する。仮想記憶管理装置２０は、アプリケーションプログラム２１、オペレーティングシステム２２、仮想記憶管理部２３、一次記憶部（揮発性メモリ）１３、二次記憶部（破壊読出しメモリ）１４、及びＭＭＵ２２を含んでいる。
【００２０】
アプリケーションプログラム２１は、オペレーティングシステム２２に基づき、ＣＰＵ１１によって実行される。したがって、アプリケーションプログラム２１のプログラムコード及びデータは、仮想メモリ上に設けられる。ＣＰＵ１１は、仮想アドレスを指定してアプリケーションプログラム２１を読み出して実行する。
【００２１】
例えばオペレーティングシステム２２は、仮想記憶管理部２３を含んでいる。オペレーティングシステム２２のプログラムコード及びデータは、例えば二次記憶部１４に保持されており、起動時に二次記憶部１４から一次記憶部１３に転送される。しかし、これに限定されるものではなく、一次記憶部１３内に不揮発性メモリを設け、この不揮発性メモリにオペレーティングシステム２２のプログラムコード及びデータを格納してもよい。二次記憶部１４が破壊読出しメモリである場合、二次記憶部１４から読み出されたオペレーティングシステムを二次記憶部１４に書込む必要があるが、一次記憶部１３内の不揮発性メモリにオペレーティングシステムを格納する場合、オペレーティングシステムを再書込みする必要がない。
【００２２】
仮想記憶管理部２３は、仮想記憶空間及び仮想アドレスを管理し、一次記憶部１３と二次記憶部１４との間のページの移動を管理する。
【００２３】
さらに、仮想記憶管理部２３は、フラグ管理部２４を有している。フラグ管理部２４は、ページ毎に設けられたフラグを管理する。
【００２４】
図３Ａは、フラグ管理部２４により管理されたフラグ３２の状態を示している。フラグ管理部２４は、ページ３１毎に設けられた例えば１ビットの記憶領域に記憶される１ビットのデータとしてのフラグ３２を管理する。フラグ３２は、例えば二次記憶部１４から一次記憶部１３にページを移動するページインにおいて、セットするか否かが、フラグ管理部２４によって判断される。図３Ｂは、フラグ３２がセットされた状態、すなわち、記憶領域に第１の状態としての（データ“１”）が書き込まれた場合を示し、図３Ｃは、フラグがセットされていない状態、すなわち、記憶領域が第２の状態としての（データ“０”）を保持した場合を示している。
【００２５】
ここで、フラグ３２は、ページ内に含まれるデータを二次記憶部１４に書き込むか否かを指示する指示部として機能する。このため、フラグ３２は、少なくともページ内のデータを二次記憶部１４に書き込むか否かを判断できるデータであればよい。したがって、１ビットのデータに限定されるものではない。
【００２６】
また、フラグのセットとは、データ“１”を記憶領域に保持することを示しているが、これに限らず、少なくともページ内のデータを二次記憶部１４に書き込むか否かを判断できるデータが記憶領域に保持されればよい。
【００２７】
また、ページインにおいて、フラグ３２がセットされていない場合において、ページインの後、そのページのデータが変更された場合、フラグがセットされる。図３Ｄは、ページのデータが変更されたことにより、フラグがセットされたことを示している。
【００２８】
上記ページに対応して設けられたフラグの内容は、一次記憶部１３から二次記憶部１４にページを移動するページアウトにおいて判断される。すなわち、フラグがセットされたページのデータは、二次記憶部１４に書き込む必要があり、フラグがセットされていないページのデータは、二次記憶部１４に書き込む必要がない。
【００２９】
フラグ管理部２４は、例えば二次記憶部１４から一次記憶部１３にページインされている状態にあり、アプリケーションプログラム２１又はオペレーティングシステム２２からデリート（削除）するように命令されたデータについては、一次記憶部１３から二次記憶部１４へ書き戻しを行わないように、当該データのフラグにゼロをセットする。
【００３０】
図４Ａ、図４Ｂは、仮想記憶管理部２３及びフラグ管理部２４の上記動作を概略的に示している。
【００３１】
図４Ａは、ページインにおける動作を示している。例えばアプリケーションプログラム２１の実行に際して必要なページのデータが二次記憶部１４から一次記憶部１３に移動される。或いは、アプリケーションプログラムの実行途中において、一次記憶部１３に記憶されているページ以外のページがアクセスされた場合、ページフォルトが発生し、二次記憶部１４から一次記憶部１３に対応するページが移動される。このように、二次記憶部１４から一次記憶部１３に対応するページが移動されるページインにおいて、フラグ管理部２４は、ページのデータを二次記憶部１４に書き込む必要が有るかどうかを判断する（Ｓ１１）。書き込む必要が有るかどうかは、例えばアプリケーションプログラム２１により指示される。しかし、これに限らず、書き込む必要が有るかどうかは、オペレーティングシステム２２により指示されるとしてもよい。
【００３２】
書込みが必要であると判断された場合、そのページに対応するフラグがセットされる（Ｓ１２）。また、書込みの必要が無いと判断された場合、そのページに対応するフラグはセットされない。
【００３３】
この後、一次記憶部１３内のページのデータが書き換えられたかどうかが判断される（Ｓ１３）。この結果、ページのデータが書き換えられた場合、そのページに対応するフラグがセットされる（Ｓ１２）。このように、二次記憶部１４から一次記憶部１３にページを転送した後、ページのデータが書き換えられた場合、一次記憶部１３に保持されたページのデータと二次記憶部１４に保持されたページのデータが不一致となっている。このため、フラグ３２に所謂ダーティフラグがセットされる。
【００３４】
一方、一次記憶部１３の記憶領域が不足した場合、記憶領域を確保するため、不要となったページが二次記憶部１４に転送される。二次記憶部１４に転送されるページの選択は、例えばＬＲＵ(Least Recently Used)、ＬＦＵ(Least Frequently Used)などのアルゴリズムを適用することができる。また、二次記憶部１４に転送されるページは、例えばシーケンシャルに選択されてもよく、この場合、ＦＩＦＯ（First-In First-Out）によって選択されてもよい。
【００３５】
図４Ｂに示すように、一次記憶部１３から二次記憶部１４にページを転送するページアウトにおいて、転送対象のページに対応するフラグの内容が判断される（Ｓ２１）。この結果、フラグがセットされていると判断されたページは、二次記憶部１４に書き込まれる（Ｓ２２）。一方、フラグがセットされていないと判断されたページは、二次記憶部１４に書き込まれずに破棄される（Ｓ２３）。
【００３６】
（第１の実施形態の効果）
上記第１の実施形態によれば、各ページに対応してフラグを設け、ページインにおいて、二次記憶部１４に書き込む必要があるページは、対応するフラグがセットされ、書き込む必要がないページは、対応するフラグがセットされない。さらに、ページインの後、ページのデータが書き換えられた場合、そのページに対応するフラグがセットされる。この後、ページアウトの際にフラグの状態が判断され、フラグがセットされているページのみ、二次記憶部１４にページのデータを書き込んでいる。このため、二次記憶部１４が、例えばＭＲＡＭやＲｅＲＡＭなどの破壊読出しメモリにより構成されている場合において、書き込む必要があるページのみを書き込んでいる。したがって、二次記憶部１４に対する書き込み回数を削減することが可能であり、二次記憶部１４の書き込み回数に制約がある場合においても、書き込み回数の増加を抑制することができ、破壊読出しメモリの寿命を延ばすことが可能である。
【００３７】
（第２の実施形態）
第１の実施形態は、仮想記憶装置を有する計算機システムにおいて、二次記憶部１４から一次記憶部１３にデータを転送するページインの際、フラグを必要に応じてセットし、ページアウトの際、フラグがセットされているページのみを二次記憶部１４に書き込んだ。第１の実施形態の技術思想を、キャッシュメモリを有する計算機システムに適用することが可能である。
【００３８】
図５は、第２の実施形態に係るキャッシュメモリを有する計算機システム（記憶システムとも言う）を概略的に示している。図５において、図１と同一部分には同一符号を付している。
【００３９】
図５において、計算機システム３０は、ＣＰＵ１１、ＭＭＵ１２、一次記憶部としてのキャッシュメモリ３３、及び外部記憶部としての二次記憶部１４などによって構成されている。これらＣＰＵ１１、ＭＭＵ１２、キャッシュメモリ３３、及び二次記憶部１４は、バス１５により接続されている。
【００４０】
ＣＰＵ１１は、計算機システム３０の全体を制御する。ＣＰＵ１１は、例えばオペレーティングシステムをキャッシュメモリ３３から読み込み、オペレーティングシステムに基づいてアプリケーションプログラムを実行する。
【００４１】
ＭＭＵ１２は、例えば仮想ページと物理ページと対応関係を示すページテーブルを有し、ＣＰＵ１１の指示に基づき、仮想ページと物理ページを変換し、実際のメインメモリをアクセスする。さらに、ＭＭＵ１２は、キャッシュの動作を制御する。しかし、ＭＭＵ１２により、キャッシュの動作を制御しないことも可能である。
【００４２】
キャッシュメモリ３３は、データ転送レートが高く、且つランダムに書き込みが可能な揮発性メモリによって構成されている。揮発性メモリは、例えばＳＲＡＭにより構成されている。しかし、これに限らず、ＤＲＡＭなどを用いてもよい。
【００４３】
二次記憶部１４は、キャッシュメモリ３３よりもデータ転送レートが低くが、キャッシュメモリ３３に比べて大容量である。二次記憶部１４は、例えばＭＲＡＭやＲｅＲＡＭなどの破壊読出しメモリにより構成される。ＣＰＵ１１は、キャッシュメモリ３３と二次記憶部１４とをそれぞれアクセスすることにより、キャッシュメモリ３３と二次記憶部１４との間でデータを転送する。
【００４４】
図６は、第２の実施形態に係るキャッシュ管理装置４０の一例を示している。キャッシュ管理装置４０は、計算機システム３０の内部に設けられ、キャッシュ動作を管理する。キャッシュ管理装置４０は、アプリケーションプログラム２１、オペレーティングシステム２２、キャッシュ管理部４３、キャッシュメモリ３３、二次記憶部（破壊読出しメモリ）１４、及びＭＭＵ１２を含んでいる。
【００４５】
アプリケーションプログラム２１は、オペレーティングシステム２２に基づき、ＣＰＵ１１によって実行される。オペレーティングシステム２２は、キャッシュ管理部４３を含んでいる。
【００４６】
キャッシュ管理部４３は、二次記憶部１４を例えば数バイト乃至数十バイトの所謂ラインと称する単位で管理する。キャッシュ管理部４３は、例えばデータの書き込み要求に基づき、データをライン単位でキャッシュメモリ３３に書き込む。キャッシュメモリ３３内に空き領域が無い場合、不要なラインを選択して、キャッシュメモリ３３から追い出す。ラインの選択は、例えばＬＲＵ、ＬＦＵ、ＦＩＦＯなどのアルゴリズムが用いられてもよく、ランダムに選択されてもよい。
【００４７】
また、データの読み出し要求が発行されたとき、要求されたデータがキャッシュメモリ３３内に無いキャッシュミスが発生した場合、キャッシュ管理部４３は、二次記憶部１４から対応するデータをライン単位で読み出し、キャッシュメモリ３３に転送する。
【００４８】
さらに、キャッシュ管理部４３は、例えばライトバック方式を用いてデータをメモリに書き込む。すなわち、データ書き込み時、キャッシュメモリ３３のみにデータが書き込まれ、後にキャッシュメモリ３３のデータが二次記憶部１４に書き込まれる。これにより、書き込み回数に制約がある破壊読出しメモリの書き込み回数を低減することが可能である。しかし、これに限定されるものではなく、データの書き込みに基づいて、キャッシュメモリ３３と二次記憶部１４に同一のデータが書き込まれるライトスルー方式を用いることも可能である。
【００４９】
さらに、キャッシュ管理部４３は、フラグ管理部４４を有している。フラグ管理部４４は、ライン毎に設けられたフラグを管理する。
【００５０】
図７Ａは、フラグ管理部４４により管理されたフラグの状態を示している。フラグ管理部４４は、ライン５１毎にフラグ５２を管理する。フラグ５２は、例えば二次記憶部１４からキャッシュメモリ３３にラインを移動するラインインにおいて、セットするか否かが、フラグ管理部４４によって判断される。図７Ｂは、フラグ５２がセットされた状態（データ“１”）を示し、図７Ｃは、フラグがセットされていない状態（データ“０”）を示している。
【００５１】
また、ラインインにおいて、フラグ５２がセットされていない場合において、ラインインの後、そのラインのデータが変更された場合、フラグがセットされる。図７Ｄは、ラインのデータが変更されたことにより、フラグがセットされたことを示している。
【００５２】
上記ラインに対応して設けられたフラグの内容は、キャッシュメモリ３３から二次記憶部１４にラインを移動するラインアウトにおいて判断される。すなわち、フラグがセットされたラインのデータは、二次記憶部１４に書き込む必要があり、フラグがセットされていないラインのデータは、二次記憶部１４に書き込む必要がない。
【００５３】
図８Ａ、図８Ｂは、キャッシュ管理部４３及びフラグ管理部４４の上記動作を概略的に示している。
【００５４】
図８Ａは、ラインインにおける動作を示している。例えばアプリケーションプログラム２１の実行に際して必要なラインのデータが二次記憶部１４からキャッシュメモリ３３に移動される。或いは、アプリケーションプログラムの実行途中において、キャッシュメモリ３３に記憶されているライン以外のラインがアクセスされた場合、キャッシュミスが発生し、二次記憶部１４からキャッシュメモリ３３に対応するラインが移動される。このように、二次記憶部１４からキャッシュメモリ３３に対応するラインが移動されるラインインにおいて、フラグ管理部４４は、ラインのデータを二次記憶部１４に書き込む必要が有るかどうかを判断する（Ｓ３１）。書き込む必要が有るかどうかは、例えばアプリケーションプログラム２１により指示される。しかし、これに限らず、書き込む必要が有るかどうかは、オペレーティングシステム２２により指示されるとしてもよい。
【００５５】
書き込む必要があると判断された場合、そのラインに対応するフラグがセットされる（Ｓ３２）。また、書き込む必要が無いと判断された場合、そのラインに対応するフラグはセットされない。
【００５６】
この後、キャッシュメモリ３３内のラインのデータが書き換えられたかどうかが判断される（Ｓ３３）。この結果、ラインのデータが書き換えられた場合、そのラインに対応するフラグがセットされる（Ｓ３２）。このように、二次記憶部１４からキャッシュメモリ３３にラインを転送した後、ラインのデータが書き換えられた場合、キャッシュメモリ３３に保持されたラインのデータと二次記憶部１４に保持されたラインのデータが不一致となっている。このため、フラグ５２に所謂ダーティフラグがセットされる。
【００５７】
一方、キャッシュメモリ３３の記憶領域が不足した場合、記憶領域を確保するため、不要となったラインが二次記憶部１４に転送される。
【００５８】
図８Ｂに示すように、キャッシュメモリ３３から二次記憶部１４にラインを転送するラインアウトにおいて、転送対象のラインに対応するフラグの内容が判断される（Ｓ４１）。この結果、フラグがセットされていると判断されたラインは、二次記憶部１４に書き込まれる（Ｓ４２）。一方、フラグがセットされていないと判断されたページは、二次記憶部１４に書き込まれずに破棄される（Ｓ４３）。
【００５９】
（第２の実施形態の効果）
上記第２の実施形態によれば、各ラインに対応してフラグを設け、ラインインにおいて、二次記憶部１４に書き込む必要があるラインは、対応するフラグがセットされ、書き込む必要がないラインは、対応するフラグがセットされない。さらに、ラインインの後、ラインのデータが書き換えられた場合、そのラインに対応するフラグがセットされる。この後、ラインアウトの際にフラグの状態が判断され、フラグがセットされているラインのみ、二次記憶部１４にラインのデータを書き込んでいる。このため、二次記憶部１４が、例えばＭＲＡＭやＲｅＲＡＭなどの破壊読出しメモリにより構成されている場合において、書き込む必要があるラインのみを書き込んでいる。したがって、二次記憶部１４に対する書き込み回数を削減することが可能であり、二次記憶部１４の書き込み回数に制約がある場合においても、書き込み回数の増加を抑制することができ、破壊読出しメモリの寿命を延ばすことが可能である。
【００６０】
（変形例）
上記第１、第２の実施形態は、例えばパーソナルコンピュータに適用される計算機システムを想定している。しかし、これに限定されるものではなく、第１、第２の実施形態を例えば、企業で運用されるデータセンターやクラウドコンピューティングシステムにおけるサーバのようなホスト装置に適用することも可能である。
【００６１】
図９は、このようなホスト装置６０に、第１、第２の実施形態を適用した場合を概略的に示している。
【００６２】
ホスト装置６０において、例えば第１のボード６１は、複数のコネクタ（例えばスロット）６２を有している。各コネクタ６２は、例えばＳＡＳ（Serial Attached SCSI）により構成されている。しかし、ＳＡＳに限定されるものでははく、計算機と計算機を接続するインターフェース、例えばＰＣＩｅ（PCI Express）などを適用することも可能である。各コネクタ６２には、第２のボード６３が装着されている。第２のボード６３に第１の実施形態の計算機システム１０、又は第２の実施形態の計算機システム３０が実装されている。
【００６３】
尚、二次記憶部１４は、第２のボード６３とは別のボードに実装することも可能であり、ＳＡＳを用いて複数の第２のボード６３により、例えば１つの二次記憶部１４を共有することも可能である。
【００６４】
その他、本発明は上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００６５】
１１…ＣＰＵ、１２…ＭＭＵ、１３…一次記憶部、１４…二次記憶部、３１…ページ、３２…フラグ。
【図１】
2019133703.tif 000003
【図２】
2019133703.tif 000004
【図３Ａ】
2019133703.tif 000005
【図３Ｂ】
2019133703.tif 000006
【図３Ｃ】
2019133703.tif 000007
【図３Ｄ】
2019133703.tif 000008
【図４Ａ】
2019133703.tif 000009
【図４Ｂ】
2019133703.tif 000010
【図５】
2019133703.tif 000011
【図６】
2019133703.tif 000012
【図７Ａ】
2019133703.tif 000013
【図７Ｂ】
2019133703.tif 000014
【図７Ｃ】
2019133703.tif 000015
【図７Ｄ】
2019133703.tif 000016
【図８Ａ】
2019133703.tif 000017
【図８Ｂ】
2019133703.tif 000018
【図９】
2019133703.tif 000019