(57)【要約】      （修正有）【課題】下位レベルキャッシュにおけるキャシュラインのエイジを制御することによりメモリへのライトバックを低減する方法を提供する。【解決手段】方法は、下位レベルキャッシュに入力する読み出し／書き込み要求が被変更データを含むキャッシュラインであるか否か決定すること、及び当該読み出し／書き込み要求が被変更データを含むキャッシュラインではないとの決定に応じて、メモリへのライトバックの回数を低減するために前記キャッシュラインのエイジ情報を操作することを含む。【選択図】図４
2017117437.tif 000002
【特許請求の範囲】
【請求項１】
下位レベルキャッシュに入力する読み出し要求が被変更データを含むキャッシュラインであるか否か決定するステップと、
前記読み出し要求が被変更データを含むキャッシュラインでないとの決定に応じて、メモリへのライトバックの回数を低減するために前記キャッシュラインのエイジ情報を操作するステップと
を含む、メモリへのライトバックを低減するための方法。
【請求項２】
前記キャシュラインのエイジ情報を操作するステップが、前記キャッシュラインが前記下位レベルキャッシュに存在するとの決定に応じて、前記キャッシュラインの前記エイジ情報を更新することを含む、請求項１に記載の方法。
【請求項３】
前記キャッシュラインのエイジ情報を操作するステップが、前記キャッシュラインが前記下位レベルキャッシュに存在せず、且つ、前記メモリからもたらされるとの決定に応じて、前記キャッシュラインの前記エイジ情報を更新することを含む、請求項１に記載の方法。
【請求項４】
前記キャッシュラインのエイジ情報を操作するステップが、前記キャッシュラインの前記エイジ情報を保持することを含む、請求項１に記載の方法。
【請求項５】
前記読み出し要求が被変更データを含むキャッシュラインであるとの決定に応じて、前記下位レベルキャッシュからキャッシュラインを除去するために最近最も使われていないものを除去する方法を実行する、請求項１に記載の方法。
【請求項６】
前記下位レベルキャッシュから最近最も使われてていないキャッシュラインを除去することをさらに含む、請求項１に記載の方法。
【請求項７】
前記キャッシュラインが前記下位レベルキャッシュ中に存在するか否か決定することと、
前記キャッシュラインが前記下位レベルキャッシュ中に存在するとの決定に応じて、前記下位レベルキャッシュからキャッシュラインを除去するために最近最も使われていないものを除去する方法を実行することと
をさらに含む、請求項１に記載の方法。
【請求項８】
処置装置と、
プログラムコードを格納するメモリであって、前記処理装置上で実行されたときにメモリを管理するために、
下位レベルキャッシュに入力する読み出し要求が被変更データを含むキャッシュラインであるか否か決定することと、
前記読み出し要求が被変更データを含むキャッシュラインではないとの決定に応じて、メモリへのライトバックの回数を低減するために前記キャッシュラインのエイジ情報を操作することと
を含む動作を行う、プログラムコードを格納するメモリと
を含むシステム。
【請求項９】
前記キャッシュラインのエイジ情報を操作するステップが、前記キャッシュラインが前記下位レベルキャッシュに存在するとの決定に応じて、前記キャッシュラインの前記エイジ情報を更新することを含む、請求項８に記載のシステム。
【請求項１０】
前記キャッシュラインのエイジ情報を操作するステップが、前記キャッシュラインが前記下位レベルキャッシュに存在せず、且つ、前記メモリからもたらされるとの決定に応じて前記キャッシュラインの前記エイジ情報を更新することを含む、請求項８に記載のシステム。
【請求項１１】
前記キャッシュラインのエイジ情報を操作するステップが、前記キャッシュラインが前記キャッシュラインの前記エイジ情報を保持することを含む、請求項８に記載のシステム。
【請求項１２】
前記読み出し要求が被変更データを含むキャッシュラインであるとの決定に応じて、前記下位レベルキャッシュからキャッシュラインを除去するために最近最も使われていないものを除去する方法を実行する、請求項８に記載のシステム。
【請求項１３】
下位レベルキャッシュから最近最も使われていないキャッシュラインを除去することをさらに含む、請求項８に記載のシステム。
【請求項１４】
前記キャッシュラインが前記下位レベルキャッシュ中に存在するか否か決定することと、
前記キャッシュラインが前記下位レベルキャッシュ中に存在するとの決定に応じて、前記下位レベルキャッシュからキャッシュラインを除去するために最近最も使われていないものを除去する方法を実行することと
をさらに含む、請求項８に記載の方法。
【請求項１５】
コンピュータ読み取り可能記憶媒体であって、処理装置により実行されたときに、メモリを管理するために、
下位レベルキャッシュに入力する読み出し要求が被変更データを含むキャッシュラインであるか否か決定することと、
前記読み出し要求が被変更データを含むキャッシュラインではないとの決定に応じて、メモリへのライトバックの回数を低減するために前記キャッシュラインのエイジ情報を操作することと
を含む動作を処理装置に行わせる命令を格納している、コンピュータ読み取り可能記憶媒体。
【請求項１６】
前記キャシュラインのエイジ情報を操作するステップが、前記キャッシュラインが前記下位レベルキャッシュに存在するとの決定に応じて、前記キャッシュラインの前記エイジ情報を更新することを含む、請求項１５に記載のコンピュータ読み取り可能記憶媒体。
【請求項１７】
前記キャシュラインのエイジ情報を操作するステップが、前記キャッシュラインが前記下位レベルキャッシュに存在せず、且つ、前記メモリからもたらされるとの決定に応じて、前記キャッシュラインの前記エイジ情報を更新することを含む、請求項１５に記載のコンピュータ読み取り可能記憶媒体。
【請求項１８】
前記キャシュラインのエイジ情報を操作するステップが、前記キャッシュラインの前記エイジ情報を保持することを含む、請求項１５に記載のコンピュータ読み取り可能記憶媒体。
【請求項１９】
前記読み出し要求が被変更データを含むキャッシュラインであるとの決定に応じて、前記下位レベルキャッシュからキャッシュラインを除去するために最近最も使われていないものを除去する方法を実行する、請求項１５に記載のコンピュータ読み取り可能記憶媒体。
【請求項２０】
前記下位レベルキャッシュからに最近最も使われていないキャッシュラインを除去することをさらに含む、請求項１５に記載のコンピュータ読み取り可能記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の実施形態は、一般的にはストレージクラスメモリに関係し、より具体的にはメモリへのライトバックを低減する管理方法に関係する。
【背景技術】
【０００２】
新しいストレージクラスメモリ（相変化メモリ、スピン注入メモリ等）技術は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）と同等以上の優れた読み出し待ち時間を与える。これは、ＤＲＡＭの代替、ハイブリッドメモリ、又は最終レベルキャッシュの代替にさえなり得る処理装置メモリ階層に対する有力な追加としての新しいストレージクラスメモリをもたらす。しかし生ずる問題は、ストレージクラスメモリにおける長い書き込み待ち時間及び持続時間である。書き込みにおける遅延はいずれも、アプリケーションの性能に直接影響を及ぼす。同様に処理装置メモリ階層における書き込み頻度は、蓄積記憶における頻度より数桁高い。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
従って、ＤＲＡＭの代替として又はハイブリッド主記憶システムとしてストレージクラスメモリを使用するためには、書き込みの合計回数を抑制するほか書き込み帯域幅要求を制限する必要がある。
【課題を解決するための手段】
【０００４】
本開示は、メモリへのライトバックを低減する方法及び装置に一般的に関する。この方法は、下位レベルキャッシュに入力する読み出し要求が被変更データを含むキャシュラインであるか否か決定し、且つ、その読み出し要求が被変更データを含むキャッシュラインでないとの決定に応じてキャシュラインのエイジ情報を操作してメモリに対するライトバックの回数を低減することを含む。
【０００５】
１つの実施形態では、メモリへのライトバックを低減する方法が本明細書において開示される。この方法は、下位レベルキャッシュに入力する読み出し要求が被変更データを含むキャシュラインであるか否か決定し、且つ、その読み出し要求が被変更データを含むキャッシュラインでないとの決定に応じてそのキャシュラインのエイジ情報を操作してメモリに対するライトバックの回数を低減することを含む。
【０００６】
別の実施形態では、メモリへのライトバックを低減するシステムが本明細書において開示される。このシステムは、処理装置及びメモリを含む。このメモリは、処置装置上で実行されたときにメモリを管理するための動作を行うプログラムコードを記憶する。この動作は、下位レベルキャッシュに入力する読み出し要求が被変更データを含むキャシュラインであるか否か決定し、且つ、その読み出し要求が被変更データを含むキャッシュラインでないとの決定に応じて、そのキャシュラインのエイジ情報を操作してメモリに対するライトバックの回数を低減することを含む。
【０００７】
別の実施形態では、コンピュータ読み取り可能記憶媒体が本明細書において開示される。このコンピュータ読み取り可能記憶媒体は、処理装置により実行されたときに処理装置にメモリを管理するための動作を行わせる命令を記憶している。この動作は、下位レベルキャッシュに入力する読み出し要求が被変更データを含むキャシュラインであるか否か決定し、且つ、その読み出し要求が被変更データを含むキャッシュラインでないとの決定に応じて、そのキャシュラインのエイジ情報を操作してメモリに対するライトバックの回数を低減することを含む。
【０００８】
本開示の上述の特徴が詳細に理解され得るように、添付図面において一部図示される実施形態を参照しつつ、上記において簡潔に要約された本開示のより詳細な説明を行うこととする。しかし、添付図面は、この開示の典型的な実施形態を示しているのみであり、したがってその範囲を限定するものと解するべきではないことに注意するべきである。なぜならば、本開示は、他の同様に効果的な実施形態を可能にし得るからである。
【図面の簡単な説明】
【０００９】
【図１】図１は、１つの実施形態によるコンピュータシステムを示す。
【図２】図２は、１つの実施形態によるキャッシュの詳細図を示す。
【図３】図３は、１つの実施形態に従って処理装置が新しいキャッシュラインをキャッシュに持ち込むときにキャッシュからキャシュラインを除去する従来の方法を示す。
【図４】図４は、１つの実施形態に従って下位レベルキャッシュからキャシュラインを除去する改善された方法を示す。
【図５】図５は、別の実施形態に従って下位レベルキャッシュからキャシュラインを除去する方法を示す。
【図６】図６は、もう１つの実施形態に従って下位レベルキャッシュからキャシュラインを除去する方法を示す。
【発明を実施するための形態】
【００１０】
理解を容易にするために、可能な場合には同一の参照番号を使用して各図に共通の要素を示した。１つの実施形態において開示された要素は、他の実施形態について詳しい説明なしに有利に利用してもよいことが意図される。
【００１１】
以下の開示では、本開示の実施形態を参照する。しかし、当然のことながら本開示は、特定の記述された実施形態に限定されない。それよりむしろ、以下の特徴及び要素のどの組み合わせも、別の実施形態と関連するか否かに関係なく、本開示を実現し、且つ、実施することを意図している。さらに、本出願の実施形態は、他の可能な解決方法及び／又は先行技術に勝る利益を実現することができるが、特定の利益が一定の実施形態により実現されるか否かは、本開示の限定ではない。したがって、以下の態様、特徴、実施形態及び利益は、説明に役立つのみであり、且つ、請求項において明示的に言及された場合を除き、添付請求項の要素又は限定と見なされない。同様に「本開示」に対する言及は、本明細書において開示された発明に関する主題事項の一般化と解してはならず、且つ、請求項において明示的に言及された場合を除き、添付請求項の要素又は限定と見なしてはならない。
【００１２】
本開示は、メモリへのライトバックを低減するための方法及び装置に一般的に関する。この方法は、下位レベルキャッシュに入力する読み出し要求が被変更データを含むキャシュラインであるか否か決定し、且つ、その読み出し要求が被変更データを含むキャッシュラインでないとの決定に応じて、そのキャシュラインのエイジ情報を操作してメモリに対するライトバックの回数を低減することを含む。
【００１３】
図１は、１つの実施形態によるコンピュータシステム１００を示す。コンピュータシステム１００は、処理装置１０４、メモリ１０６、記憶装置１０８、及びネットワークインターフェース１１０を含むハードウェア構成要素１０２を含んでいる。コンピュータシステム１００は、コンピュータシステム１００に接続されているＩ／Ｏ装置１１２（たとえばキーボード及びマウス装置）も含んでいる。
【００１４】
１つの実施形態では、処理装置１０４は、メモリ１０６に記憶されているプログラミング命令（たとえばプログラムコード１１８）を取り出して実行するほか、アプリケーションデータをメモリ１０６に格納し、且つ、そこから取り出す。処理装置１０４は、シングルプロセッサ、マルチプロセッサ、多数の処理コアを有するシングルプロセッサ等を代表するものとして含まれている。処理装置１０４は、キャッシュ１１６などの複数のハードウェアモジュールを含んでいる。キャッシュ１１６はデータを格納し、それによりそのデータに対する将来の要求がより速やかに満たされ得るようにしている。たとえば、キャッシュ１１６に格納されるデータは、行った計算の結果又はほかの場所に格納されているデータのコピーとすることができる。
【００１５】
１つの実施形態では、メモリ１０６は、ストレージクラスメモリの代表するものとして一般的に含まれている。ストレージクラスメモリは、非揮発性の形態のコンピュータメモリ、すなわち、格納した情報を電源サイクル後に回復できるコンピュータメモリを含む。たとえば、メモリ１０６は、読み出し専用メモリ、フラッシュメモリ、強誘電体ランダムアクセスメモリ（Ｆ−ＲＡＭ）等とすることができる。メモリ１０６は、複数のプログラミング命令を有するプログラムコード１１８を含んでいる。たとえば、複数のプログラミング命令は、キャッシュ１１６からメモリ１０６へのライトバックを低減するためのプログラムコードを含み得る。
【００１６】
記憶装置１０８は、ディスクドライブ記憶装置とすることができる。記憶装置１０８は、単一の装置として示されているが、固定ディスクドライブ、リムーバブルメモリカード、光学式記憶装置、ネットワーク接続ストレージ（ＮＡＳ）、又はストレージ・エリア・ネットワーク（ＳＡＮ）などの固定記憶装置及び／又はリムーバブル記憶装置の組み合わせとすることができる。ネットワークインターフェース１１０は、コンピュータシステム１００がネットワーク１２６経由で他のコンピュータと通信することを可能にする任意の種類のネットワーク通信手段とすることができる。
【００１７】
図２は、１つの実施形態によるキャッシュ１１６の詳細図を示す。キャッシュ１１６は、３つのレベルを含んでいる：最終レベル（又は下位レベルすなわちＬ３）キャッシュ２０２，レベル２（Ｌ２）キャッシュ２０４，及びレベル１（Ｌ１）キャッシュ２０６。Ｌ１キャッシュ２０６は、最速キャッシュであるが、同時に最小キャッシュである。Ｌ２キャッシュ２０４は、Ｌ１キャッシュ２０６より低速であるが、しかしＬ１キャッシュ２０６より大きな容量を有している。Ｌ３キャッシュ２０２は、キャッシュ１１６中で最も低速のキャッシュである。Ｌ３キャッシュ２０２は、また、キャッシュ１１６中の最大キャッシュである。最新の処理装置では、Ｌ１キャッシュ２０６、Ｌ２キャッシュ２０４、及び下位レベルキャッシュ２０２は、処理装置自体（図１の処理装置１０４のような）により管理される。処理装置は、頻繁にアクセスされるデータ（すなわちキャッシュライン）をキャッシュ中に保持してストレージクラスメモリ１０６へのアクセスの回避に努める。最も頻繁にアクセスされるデータは、Ｌ１キャッシュ２０６に格納される。データ又はキャッシュラインがキャッシュ１１６中で見出されない場合、処理装置１０４は、常に、メモリ１０６からデータを取り出し、且つ、そのキャッシュラインをキャッシュ１１６に保持する。キャッシュ１１６中に新しいキャッシュラインのためのスペースを作成するために、キャッシュ１１６中の既存キャッシュラインをキャッシュ１１６から外す必要がある。
【００１８】
図３は、１つの実施形態に従って、処理装置１０４が新しいキャッシュラインをキャッシュ１１６に持ち込むときにキャッシュ１１６からキャッシュラインを除去する従来の方法３００を示す。方法３００は、ステップ３０２から始まる。ステップ３０２において、下位レベルキャッシュへの読み出し／書き込み要求が処理装置から到来する。決定ブロック３０４において、処理装置は、キャッシュヒットの有無を決定する。要求されたキャッシュラインがすでに下位レベルキャッシュに存在するときに、キャッシュヒットが発生する。キャッシュヒットが発生した場合、ステップ３０６において処理装置がこのキャッシュラインのエイジ情報を更新する。たとえば、０のエイジのキャッシュラインは、１のエイジを有するキャッシュラインより古い。これは、１のエイジを有するキャッシュラインは、０のエイジを有するキャシュラインより頻繁にアクセスされることを意味する。
【００１９】
しかし、決定ブロック３０４において、処理装置によりキャッシュヒットが存在しないと決定された場合、ステップ３０８においてプロセッサは、最近最も使われていないキャッシュラインをキャッシュから除去して新しいキャッシュラインのためのスペースを作成する。最近最も使われていないキャッシュラインは、キャッシュ中の最も古いキャッシュライン又は最も古いキャッシュラインのうちの１つである。
【００２０】
最近最も使われていないキャッシュラインを除去する方法は、しかし、「クリーン」キャッシュラインと「ダーティー」キャッシュラインを区別しない。「ダーティー」キャッシュラインは、被変更データを含む、すなわち当該キャッシュ内においてのみ変更されたデータを含むキャッシュラインである。「クリーン」キャッシュラインは、被変更データを含まない、すなわち当該キャッシュ内で変更されていないデータのみを含むキャッシュラインである。最近最も使われていないものを除去する方法は、キャッシュラインに関するエイジ情報、すなわち当該キャッシュラインが最後に使用された時刻のみを優先する。最近最も使われていないものを除去する方法は、揮発性メモリに基づく主記憶システムの場合にうまく機能する。なぜならば揮発性メモリに基づく主記憶では、読み出し／書き込みの待ち時間がほぼ同じであるからである。しかし、ストレージクラスメモリの場合、書き込みは、揮発性メモリに基づく主記憶の場合よりかなり遅い。したがって、最近最も使われていないものを除去する方法は、最適ではないかもしれない。なぜならばダーティーデータのストレージクラスメモリへのライトバックに非常に長い時間がかかるであろうし、ひいてはコンピュータ使用をフリーズする可能性があるからである。
【００２１】
図４は、１つの実施形態に従って下位レベルキャッシュからキャッシュラインを除去する改善された方法４００を示す。この方法は、ステップ４０２から始まる。ステップ４０２において、読み出し／書き込み要求が下位レベルキャッシュに到来する。決定ボックス４０４において、処理装置は、当該キャッシュラインがクリーンキャッシュラインであるか又はダーティーキャッシュラインであるか決定する。そのキャッシュラインがダーティーキャッシュラインである場合、決定ブロック４０６において処理装置は、キャッシュヒットがあったか否か決定する。キャッシュヒットがあった場合、ステップ４０８において処理装置は、下位レベルキャッシュ中にすでに存在するキャッシュラインのエイジを更新する。キャッシュヒットが存在しなかった場合、ステップ４２０において処理装置は、最近最も使われていないキャッシュラインを除去する。なぜならば、この読み出し／書き込み要求は、下位レベルキャッシュに入力する新しいキャッシュラインであるからである。
【００２２】
しかし、決定ブロック４０４において処理装置によりキャッシュラインがクリーンキャッシュラインであると決定された場合、決定ブロック４１０において処理装置は、要求が読み出し要求であるか又は書き込み要求であるか決定する。処理装置により要求が書き込み要求であると決定された場合、この方法は、決定ブロック４１２に移行する。なぜならば、書き込み要求の対象のキャッシュラインは最終的にダーティーとなるので、最近最も使われていないものを除去する従来の方法を使用しなければならないからである。決定ブロック４１２において処理装置は、キャッシュヒットが発生したか否か決定する。キャッシュヒットが発生した場合、ステップ４１４において当該キャッシュラインのエイジ情報が更新される。しかし、処理装置によりキャッシュヒットが発生しなかったと決定された場合、ステップ４２２において当該キャッシュラインのエイジ情報が更新され、且つ、ステップ４２０において最近最も使われていないキャッシュラインが下位レベルキャッシュから除去される。
【００２３】
決定ブロック４１０において、処理装置により要求が読み出し要求であると決定された場合、この方法は、決定ブロック４１６に移行する。決定ブロック４１６において、処理装置は、キャッシュヒットが発生したか否か決定する。キャッシュヒットが発生した場合、当該キャッシュラインのエイジ情報がステップ４１４において更新される。決定ボックス４１６において、処理装置によりキャッシュヒットが発生しなかったと決定された場合、ステップ４１８において処理装置は、当該キャッシュラインのエイジ情報を更新しない。処理装置は、たとえば、当該キャッシュラインにゼロのエイジを与えることができる。基本的に、方法４００は、１回アクセスされた後全然使用されないクリーンキャッシュラインと頻繁にアクセスされるクリーンキャッシュラインを区別するためにクリーンキャッシュラインのエイジ情報を操作する。
【００２４】
処理装置がキャッシュラインのエイジ情報を更新しなかった場合、それに続いて処理装置はステップ４２０において処理装置は、最近最も使われていないキャッシュラインを除去する。
【００２５】
図５は、別の実施形態に従って下位レベルキャッシュからキャッシュラインを除去する方法５００を示す。この方法は、ステップ５０２から始まる。ステップ５０２において、読み出し／書き込み要求が下位レベルキャッシュに到来する。決定ボックス５０４において、処理装置は、当該キャッシュラインがクリーンキャッシュラインであるか又はダーティーキャッシュラインであるか決定する。そのキャッシュラインがダーティーキャッシュラインである場合、決定ブロック５０６において処理装置は、キャッシュヒットがあったか否か決定する。キャッシュヒットがあった場合、ステップ５０８において処理装置は、下位レベルキャッシュ中にすでに存在するキャッシュラインのエイジを更新する。キャッシュヒットが存在しなかった場合、ステップ５２０において処理装置は、最近最も使われていないキャッシュラインを除去する。なぜならば、この読み出し／書き込み要求は下位レベルキャッシュに入力する新しいキャッシュラインであるからである。
【００２６】
しかし、決定ブロック５０４において処理装置によりキャッシュラインがクリーンキャッシュラインであると決定された場合、方法５００は、決定ブロック５１０に進む。決定ブロック５１０において処理装置は、要求が読み出し要求であるか又は書き込み要求であるか決定する。処理装置により要求が書き込み要求であると決定された場合、この方法は、決定ブロック５１２に移行する。なぜならば、書き込み要求の対象のキャッシュラインは最終的にダーティーとなるので、おそらく最近最も使われていないものを除去する従来の方法を使用しなければならないからである。決定ブロック５１２において処理装置は、キャッシュヒットが発生したか否か決定する。キャッシュヒットが発生した場合、ステップ５１４において当該キャッシュラインのエイジ情報が更新される。処理装置によりキャッシュヒットが発生しなかったと決定された場合、ステップ５２２において当該キャッシュラインのエイジ情報が更新され、且つ、ステップ５２０において最近最も使われていないキャッシュラインが下位レベルキャッシュから除去される。
【００２７】
決定ブロック５１０において、処理装置により要求が読み出し要求であると決定された場合、この方法は、決定ブロック５１６に移行する。決定ブロック５１６において、処理装置は、キャッシュヒットが発生したか否か決定する。キャッシュヒットが発生しなかった場合、当該キャッシュラインのエイジ情報がステップ５２２において更新される。ステップ５２０において、処理装置は、最近最も使われていないキャッシュラインを除去する。しかし、決定ボックス５１６において、処理装置によりキャッシュヒットが発生したと決定された場合、ステップ５１８において処理装置は、当該キャッシュラインのエイジ情報を更新しない。基本的に、方法５００は、クリーンキャッシュラインのエイジ情報を１回だけ、すなわちキャッシュラインが下位レベルキャッシュに最初に入ったときに更新することによりすべてのクリーンキャッシュラインが同一のエイジ情報を有することを確実にするために、クリーンキャッシュラインのエイジ情報を操作している。処理装置がキャッシュラインのエイジ情報を更新しなかった場合、それに続いてステップ５２４において方法５００はステップ５０２に戻る。
【００２８】
図６は、別の実施形態に従って下位レベルキャッシュからキャッシュラインを除去する方法６００を示す。この方法は、ステップ６０２から始まる。ステップ６０２において、読み出し／書き込み要求が下位レベルキャッシュに到来する。決定ボックス６０４において、処理装置は、当該キャッシュラインがクリーンキャッシュラインであるか又はダーティーキャッシュラインであるか決定する。そのキャッシュラインがダーティーキャッシュラインである場合、決定ブロック６０６において処理装置は、キャッシュヒットがあったか否か決定する。キャッシュヒットがあった場合、ステップ６０８において処理装置は、下位レベルキャッシュ中にすでに存在するキャッシュラインのエイジを更新する。キャッシュヒットが存在しなかった場合、ステップ６２０において処理装置は、最近最も使われていないキャッシュラインを除去する。なぜならば、この読み出し／書き込み要求は下位レベルキャッシュに入力する新しいキャッシュラインであるからである。
【００２９】
しかし、決定ブロック６０４において処理装置によりキャッシュラインがクリーンキャッシュラインであると決定された場合、方法６００は、決定ブロック６１０に進む。決定ブロック６１０において処理装置は、要求が読み出し要求であるか又は書き込み要求であるか決定する。処理装置により要求が書き込み要求であると決定された場合、この方法は、決定ブロック６１２に移行する。なぜならば、書き込み要求の対象のキャッシュラインは最終的にダーティーとなるので、最近最も使われていないものを除去する従来の方法を使用しなければならないからである。決定ブロック６１２において処理装置は、キャッシュヒットが発生したか否か決定する。キャッシュヒットが発生した場合、ステップ６１４において当該キャッシュラインのエイジ情報が更新される。しかし、処理装置によりキャッシュヒットが発生しなかったと決定された場合、ステップ６２４において当該キャッシュラインのエイジ情報が更新され、且つ、ステップ６２０において最近最も使われていないキャッシュラインが下位レベルキャッシュから除去される。
【００３０】
決定ブロック６１０において、処理装置により前記要求が読み出し要求であると決定された場合、この方法は、決定ブロック６１６に移行する。決定ブロック６１６において、処理装置は、キャッシュヒットが発生したか否か決定する。キャッシュヒットが発生した場合、ステップ６２２において、この方法６００はステップ６０２に戻る。決定ブロック６１６において、処理装置によりキャッシュヒットが発生しなかったと決定された場合、ステップ６１８において処理装置は、キャッシュラインのエイジ情報を更新しない。基本的に、方法６００は、クリーンキャッシュラインのエイジ情報を決して更新しないことによりそのエイジ情報を操作している。
【００３１】
処理装置がキャッシュラインのエイジ情報を更新しなかった場合、それに続いてステップ６２０において処理装置は、最近最も使われていないキャッシュラインを除去する。
【００３２】
クリーンキャッシュラインのエイジ情報を操作することにより、ストレージクラスメモリへのライトバックの回数が低減される。ストレージクラスメモリへのライトバックの回数の低減は、メインメモリとしての揮発性メモリの代替装置としてのストレージクラスメモリの性能を改善する。したがって、書き込み待ち時間を低減することなく、又は少なくとも著しく低減することなく、ストレージクラスメモリの使用により読み出し待ち時間が増加され得る。
【００３３】
上記では本開示の実施形態を対象としたが、本開示の基本範囲から逸脱することなく、本開示のその他の実施形態及びさらなる実施形態も考案され得る。したがって、本開示の範囲は、以下の請求項により決定される。
【符号の説明】
【００３４】
１００  コンピュータシステム
１０２  ハードウェア構成要素
１０４  処理装置
１１６  キャッシュ
１０６  ストレージクラスメモリ
１０８  記憶装置
１１０  ネットワークインターフェース
１１２  Ｉ／Ｏ装置
１１６  キャッシュ
１１８  プログラムコード
１２６  ネットワーク
２０２  キャッシュ
２０４  キャッシュ
２０６  キャッシュ
【図１】
2017117437.tif 000003
【図２】
2017117437.tif 000004
【図３】
2017117437.tif 000005
【図４】
2017117437.tif 000006
【図５】
2017117437.tif 000007
【図６】
2017117437.tif 000008
【外国語明細書】
2017117437000001.pdf