(57)【要約】【課題】プロセッサによって経験されるレイテンシが減少して性能が向上する低レイテンシレベルのキャッシュによってキャッシュインジェクションを遂行する方法とその方法を利用する装置及びシステムを提供する。【解決手段】本発明のキャッシュインジェクション方法は、メモリアドレスに対応するメモリシステム内にデータを書き込むために、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）を遂行する入出力装置から要請を受信する段階と、一貫性メモリインターコネクトより中央プロセッサにさらに近いメモリシステムのキャッシングティアによって、メモリアドレスに基づいてキャッシュタッグヒットが生成されたか否かを判別する段階と、キャッシングティアがキャッシュタッグヒットを生成した場合、データをキャッシングティアにインジェクションする段階と、を有する。【選択図】図６
2015185170.tif 000002
【特許請求の範囲】
【請求項１】
メモリアドレスに対応するメモリシステム内にデータを書き込むために、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）を遂行する入出力装置から要請を受信する段階と、
一貫性（Ｃｏｈｅｒｅｎｃｅ）メモリインターコネクトより中央プロセッサにさらに近い前記メモリシステムのキャッシングティアによって、前記メモリアドレスに基づいてキャッシュタッグヒットが生成されたか否かを判別する段階と、
前記キャッシングティアが前記キャッシュタッグヒットを生成した場合、前記データを前記キャッシングティアにインジェクションする段階と、を有することを特徴とするキャッシュインジェクション方法。
【請求項２】
前記入出力装置の要請は、前記データが前記キャッシングティアにインジェクションされることを指示しないことを特徴とする請求項１に記載のキャッシュインジェクション方法。
【請求項３】
前記キャッシングティアが前記キャッシュタッグヒットを生成しない場合、前記一貫性メモリインターコネクトより前記中央プロセッサからさらに遠い前記メモリシステムの他のキャッシングティアに前記データをインジェクションする段階をさらに含むことを特徴とする請求項１に記載のキャッシュインジェクション方法。
【請求項４】
前記データを前記キャッシングティアにインジェクションする段階は、
前記キャッシングティアが前記キャッシュタッグヒットを生成した場合、前記データを前記キャッシングティアに単にインジェクションすることによって、キャッシュ汚染を緩和する段階と、を含むことを特徴とする請求項１に記載のキャッシュインジェクション方法。
【請求項５】
前記キャッシュタッグヒットが生成されたか否かを判別する段階は、
各々が前記一貫性メモリインターコネクトより対応する中央プロセッサにさらに近い前記メモリシステムの複数のキャッシングティアから、複数のキャッシュタッグヒットを受信する段階と、
前記複数のキャッシングティアの中の１つのキャッシングティアを選択する段階と、を含み、
前記データを前記キャッシングティアにインジェクションする段階は、
前記データを前記選択された１つのキャッシングティアにインジェクションする段階を含むことを特徴とする請求項１に記載のキャッシュインジェクション方法。
【請求項６】
前記キャッシュタッグヒットが生成されたか否かを判別する段階は、
前記キャッシングティアにスヌープ要請を伝送する段階と、
前記キャッシングティアから前記スヌープ要請に対応するスヌープ応答を受信する段階と、を含むことを特徴とする請求項１に記載のキャッシュインジェクション方法。
【請求項７】
前記キャッシュタッグヒットが生成されたか否かを判別する段階は、
前記キャッシュタッグヒットに関連するキャッシュラインを無効化させる段階を含み、
前記データを前記キャッシングティアにインジェクションする段階は、
前記キャッシングティアが前記一貫性メモリインターコネクトから前記データをプリフェッチする段階を含むことを特徴とする請求項１に記載のキャッシュインジェクション方法。
【請求項８】
前記キャッシュタッグヒットが生成されたか否かを判別する段階は、
前記キャッシュタッグヒットが有効なキャッシュラインに関連するか又は有効でないキャッシュラインに関連するか否かに拘らず生成されるキャッシュタッグヒットを考慮する段階を含むことを特徴とする請求項１に記載のキャッシュインジェクション方法。
【請求項９】
メモリインターコネクトと、
データを格納する、前記メモリインターコネクトより中央プロセッサからさらに遠い高レイテンシメモリと、
データを格納する、前記メモリインターコネクトより前記中央プロセッサにさらに近い低レイテンシメモリと、を備え、
前記メモリインターコネクトは、
メモリアドレスに対応するメモリシステム内に対象データを書き込むために、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）を遂行する入出力装置から要請を受信し、
前記低レイテンシメモリが前記メモリアドレスに基づいて前記メモリインターコネクトにキャッシュタッグヒット又はキャッシュタッグミスを生成することを要請し、
前記低レイテンシメモリが前記キャッシュタッグヒットを生成した場合、前記対象データを前記低レイテンシメモリにインジェクションすることを特徴とするキャッシュインジェクション装置。
【請求項１０】
前記入出力装置の要請は、前記対象データが前記低レイテンシメモリにインジェクションされることを指示しないことを特徴とする請求項９に記載のキャッシュインジェクション装置。
【請求項１１】
前記メモリインターコネクトは、前記低レイテンシメモリが前記キャッシュタッグミスを生成した場合、前記対象データを前記高レイテンシメモリにインジェクションすることを特徴とする請求項９に記載のキャッシュインジェクション装置。
【請求項１２】
前記メモリインターコネクトは、前記低レイテンシメモリが前記キャッシュタッグヒットを生成した場合、前記対象データを前記低レイテンシメモリに単にインジェクションすることによって、キャッシュ汚染を最少化することを特徴とする請求項９に記載のキャッシュインジェクション装置。
【請求項１３】
複数の低レイテンシメモリをさらに含み、
前記複数の低レイテンシメモリは、前記低レイテンシメモリを含み、
前記メモリインターコネクトは、
前記複数の低レイテンシメモリの中の２つ以上からキャッシュタッグヒットを受信し、
前記キャッシュタッグヒットを生成した前記複数の低レイテンシメモリの中の２つ以上の中の１つの低レイテンシメモリを選択し、
前記対象データを前記選択された１つの低レイテンシメモリのみにインジェクションすることを特徴とする請求項９に記載のキャッシュインジェクション装置。
【請求項１４】
前記メモリインターコネクトは、前記低レイテンシメモリにスヌープ要請を伝送することを特徴とする請求項９に記載のキャッシュインジェクション装置。
【請求項１５】
前記低レイテンシメモリは、前記キャッシュタッグヒットに対する要請に応答して、
前記キャッシュタッグヒットに関連するキャッシュラインを無効化させ、
前記メモリインターコネクトから前記対象データをプリフェッチすることを特徴とする請求項９に記載のキャッシュインジェクション装置。
【請求項１６】
前記メモリインターコネクトは、前記低レイテンシメモリが前記キャッシュタッグヒットを生成した場合、前記キャッシュタッグヒットが有効なキャッシュラインに関連するか又は有効でないキャッシュラインに関連するか否かに拘らず前記対象データを前記低レイテンシメモリにインジェクションすることを特徴とする請求項９に記載のキャッシュインジェクション装置。
【請求項１７】
メモリインターコネクトと、
ティアメモリシステムと、
前記ティアメモリシステムからデータを読み出し、前記ティアメモリシステムにデータを書き込むプロセッサと、
前記ティアメモリシステムに対してＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）を遂行し、前記ティアメモリシステムにデータ書込みを要請する入出力装置と、を備え、
前記ティアメモリシステムは、
データを格納する、前記メモリインターコネクトより前記プロセッサからさらに遠い高レイテンシメモリと、
データを格納する、前記メモリインターコネクトより前記プロセッサにさらに近い低レイテンシメモリと、を含み、
前記メモリインターコネクトは、
前記入出力装置による要請に応答して、前記ティアメモリシステムに対象データを書き込むことを決定し、
前記対象データの少なくとも一部分に基づいて、前記低レイテンシメモリが前記メモリインターコネクトにキャッシュタッグヒット又はキャッシュタッグミスを生成することを要請し、
前記低レイテンシメモリが前記キャッシュタッグヒットを生成した場合、前記対象データを前記低レイテンシメモリにインジェクションすることを特徴とするキャッシュインジェクションシステム。
【請求項１８】
前記メモリインターコネクトは、
前記低レイテンシメモリのキャッシュ汚染の改善を試み、
前記低レイテンシメモリが前記キャッシュタッグミスを生成した場合、前記対象データを前記高レイテンシメモリにインジェクションすることを特徴とする請求項１７に記載のキャッシュインジェクションシステム。
【請求項１９】
前記ティアメモリシステムは、複数の低レイテンシメモリをさらに含み、
前記複数の低レイテンシメモリは、前記低レイテンシメモリを含み、
前記メモリインターコネクトは、
前記複数の低レイテンシメモリの中の２つ以上からキャッシュタッグヒットを受信し、
前記キャッシュタッグヒットを生成した前記複数の低レイテンシメモリの中の２つ以上の中の１つの低レイテンシメモリを選択し、
前記対象データを前記選択された１つの低レイテンシメモリのみにインジェクションすることを特徴とする請求項１７に記載のキャッシュインジェクションシステム。
【請求項２０】
前記メモリインターコネクトは、前記低レイテンシメモリからの前記キャッシュタッグヒットが有効でないキャッシュラインに関連する場合、前記対象データを前記低レイテンシメモリにインジェクションすることを特徴とする請求項１７に記載のキャッシュインジェクションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ管理に関し、より詳細にはプロセッサ上で実行されるソフトウェアと入出力装置との間の通信に利用されるキャッシュ（Ｃａｃｈｅ）機能を遂行する方法とその方法を利用する装置及びシステムに関する。
【背景技術】
【０００２】
コンピューター及びそれによって実行されるプログラムは、大容量及び高速のメモリを必要とする。不幸にも、メモリの速度が速いほど、メモリは高価であり、広い面積を占める。大容量及び高速のメモリを得るために、様々なティア（Ｔｉｅｒ）又はレベル（Ｌｅｖｅｌ）のメモリを含むメモリ階層（Ｈｉｅｒａｒｃｈｙ）又はシステムが利用される。階層構造のメモリシステムは様々なレベルのメモリを含み、各々のレベルは上位の階層のレベルより遅いが、大容量を有するメモリを含む。
【０００３】
例えば、コンピューターのメモリ階層は３つのレベルを有する。最も速いが、最も少ない容量を有するメモリ（１レベルキャッシュ又はＬ１キャッシュと称されるメモリ）は、プロセッサに最も隣接し、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を含む。次のティア又はレベルのメモリは、２レベルキャッシュ又はＬ２キャッシュと称され、Ｌ１キャッシュより大きい容量を有するが、Ｌ１キャッシュより遅い。３レベルのメモリは、メーン（Ｍａｉｎ）メモリであり、メモリモジュールに挿入されるＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を含む。しかし、他のシステムでは、３より多いか或いは少ないティアのメモリを含む。また、幾つかのシステムで、プロセッサレジスター及び永久的又は半永久的なストレージ装置（例えば、ハードドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等）がメモリシステムの一部として扱われる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第７、３２５、１０８号明細書
【特許文献２】米国特許第８，１２７，０７９号明細書
【特許文献３】米国特許第８，３６４，８９９号明細書
【特許文献４】米国特許公開第２０１３／０１９１６００号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、上記従来技術に鑑みてなされたものであって、本発明の目的は、低レイテンシレベル（Ｌｏｗ  Ｌａｔｅｎｃｙ  Ｌｅｖｅｌ）のキャッシュによってキャッシュインジェクション（Ｃａｃｈｅ  Ｉｎｊｅｃｔｉｏｎ）を遂行する方法とその方法を利用する装置及びシステムを提供することにある。
本発明の実施形態で、低レイテンシレベルのキャッシュで“キャッシュタッグヒット（Ｃａｃｈｅ  Ｔａｇ  Ｈｉｔ）”が発生した場合、低レイテンシレベルのキャッシュに対してキャッシュインジェクションが遂行される。反面、低レイテンシレベルのキャッシュで“キャッシュタッグミス（Ｃａｃｈｅ  Ｔａｇ  Ｍｉｓｓ）”が発生した場合、高レイテンシレベル（Ｈｉｇｈ  Ｌａｔｅｎｃｙ  Ｌｅｖｅｌ）のキャッシュに対してキャッシュインジェクションが遂行される。
【課題を解決するための手段】
【０００６】
上記目的を達成するためになされた本発明の一態様によるキャッシュインジェクション方法は、メモリアドレスに対応するメモリシステム内にデータを書き込むために、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）を遂行する入出力装置から要請を受信する段階と、一貫性（Ｃｏｈｅｒｅｎｃｅ）メモリインターコネクトより中央プロセッサにさらに近い前記メモリシステムのキャッシングティアによって、前記メモリアドレスに基づいてキャッシュタッグヒットが生成されたか否かを判別する段階と、前記キャッシングティアがキャッシュタッグヒットを生成した場合、前記データを前記キャッシングティアにインジェクションする段階と、を有する。
【０００７】
前記入出力装置の要請は、前記データが前記キャッシングティアにインジェクションされることを指示しなくてもよい。
前記キャッシングティアが前記キャッシュタッグヒットを生成しない場合、前記一貫性メモリインターコネクトより前記中央プロセッサからさらに遠い前記メモリシステムの他のキャッシングティアに前記データをインジェクションする段階をさらに含むことができる。
前記データを前記キャッシングティアにインジェクションする段階は、前記キャッシングティアが前記キャッシュタッグヒットを生成した場合、前記データを前記キャッシングティアに単にインジェクションすることによって、キャッシュ汚染を緩和する段階と、を含み得る。
前記キャッシュタッグヒットが生成されたか否かを判別する段階は、各々が前記一貫性メモリインターコネクトより対応する中央プロセッサにさらに近い前記メモリシステムの複数のキャッシングティアから、前記複数のキャッシュタッグヒットを受信する段階と、前記複数のキャッシングティアの中の１つのキャッシングティアを選択する段階と、を含み、前記データを前記キャッシングティアにインジェクションする段階は、前記データを前記選択された１つのキャッシングティアにインジェクションする段階を含み得る。
前記キャッシュタッグヒットが生成されたか否かを判別する段階は、前記キャッシングティアにスヌープ要請を伝送する段階と、前記キャッシングティアから前記スヌープ要請に対応するスヌープ応答を受信する段階と、を含み得る。
前記キャッシュタッグヒットが生成されたか否かを判別する段階は、前記キャッシュタッグヒットに関連するキャッシュラインを無効化させる段階を含み、前記データを前記キャッシングティアにインジェクションする段階は、前記キャッシングティアが前記一貫性メモリインターコネクトから前記データをプリフェッチする段階を含み得る。
前記キャッシュタッグヒットが生成されたか否かを判別する段階は、前記キャッシュタッグヒットが有効なキャッシュラインに関連するか又は有効でないキャッシュラインに関連するか否かに拘らず生成されるキャッシュタッグヒットを考慮する段階を含み得る。
【０００８】
上記目的を達成するためになされた本発明の一態様によるキャッシュインジェクション装置は、メモリインターコネクトと、データを格納する、前記メモリインターコネクトより中央プロセッサからさらに遠い高レイテンシメモリと、データを格納する、前記メモリインターコネクトより前記中央プロセッサにさらに近い低レイテンシメモリと、を備え、前記メモリインターコネクトは、メモリアドレスに対応するメモリシステム内に対象データを書き込むために、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）を遂行する入出力装置から要請を受信し、前記低レイテンシメモリが前記メモリアドレスに基づいて前記メモリインターコネクトにキャッシュタッグヒット又はキャッシュタッグミスを生成することを要請し、前記低レイテンシメモリが前記キャッシュタッグヒットを生成した場合、前記対象データを前記低レイテンシメモリにインジェクションする。
【０００９】
前記入出力装置の要請は、前記対象データが前記低レイテンシメモリにインジェクションされることを指示しなくてもよい。
前記メモリインターコネクトは、前記低レイテンシメモリが前記キャッシュタッグミスを生成した場合、前記対象データを前記高レイテンシメモリにインジェクションし得る。
前記メモリインターコネクトは、前記低レイテンシメモリが前記キャッシュタッグヒットを生成した場合、前記対象データを前記低レイテンシメモリに単にインジェクションすることによって、キャッシュ汚染を最少化し得る。
前記キャッシュインジェクション装置は、複数の低レイテンシメモリをさらに含み、前記複数の低レイテンシメモリは、前記低レイテンシメモリを含み、前記メモリインターコネクトは、前記複数の低レイテンシメモリの中の２つ以上からキャッシュタッグヒットを受信し、前記キャッシュタッグヒットを生成した前記複数の低レイテンシメモリの中の２つ以上の中の１つの低レイテンシメモリを選択し、前記対象データを前記選択された１つの低レイテンシメモリのみにインジェクションし得る。
前記メモリインターコネクトは、前記低レイテンシメモリにスヌープ要請を伝送し得る。
前記低レイテンシメモリは、前記キャッシュタッグヒットに対する要請に応答して、前記キャッシュタッグヒットに関連するキャッシュラインを無効化させ、前記メモリインターコネクトから前記対象データをプリフェッチし得る。
前記メモリインターコネクトは、前記低レイテンシメモリが前記キャッシュタッグヒットを生成した場合、前記キャッシュタッグヒットが有効なキャッシュラインに関連するか又は有効でないキャッシュラインに関連するか否かに拘らず前記対象データを前記低レイテンシメモリにインジェクションし得る。
【００１０】
上記目的を達成するためになされた本発明の一態様によるキャッシュインジェクションシステムは、メモリインターコネクトと、ティアメモリシステムと、前記ティアメモリシステムからデータを読み出し、前記ティアメモリシステムにデータを書き込むプロセッサと、前記ティアメモリシステムに対してＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）を遂行し、前記ティアメモリシステムにデータ書込みを要請する入出力装置と、を備え、前記ティアメモリシステムは、データを格納する、前記メモリインターコネクトより前記プロセッサからさらに遠い高レイテンシメモリと、データを格納する、前記メモリインターコネクトより前記プロセッサにさらに近い低レイテンシメモリと、を含み、前記メモリインターコネクトは、前記入出力装置による要請に応答して、前記ティアメモリシステムに対象データを書き込むことを決定し、前記対象データの少なくとも一部分に基づいて前記低レイテンシメモリが前記メモリインターコネクトにキャッシュタッグヒット又はキャッシュタッグミスを生成することを要請し、前記低レイテンシメモリが前記キャッシュタッグヒットを生成した場合、前記対象データを前記低レイテンシメモリにインジェクションする。
【００１１】
前記メモリインターコネクトは、前記低レイテンシメモリのキャッシュ汚染の改善を試み、前記低レイテンシメモリが前記キャッシュタッグミスを生成した場合、前記対象データを前記高レイテンシメモリにインジェクションし得る。
前記ティアメモリシステムは、複数の低レイテンシメモリをさらに含み、前記複数の低レイテンシメモリは、前記低レイテンシメモリを含み、前記メモリインターコネクトは、前記複数の低レイテンシメモリの中の２つ以上からキャッシュタッグヒットを受信し、前記キャッシュタッグヒットを生成した前記複数の低レイテンシメモリの中の２つ以上の中の１つの低レイテンシメモリを選択し、前記対象データを前記選択された１つの低レイテンシメモリのみにインジェクションし得る。
前記メモリインターコネクトは、前記低レイテンシメモリからの前記キャッシュタッグヒットが有効でないキャッシュラインに関連する場合、前記対象データを前記低レイテンシメモリにインジェクションし得る。
【発明の効果】
【００１２】
本発明によれば、電子装置又はシステムのプロセッサによって経験されるレイテンシを減少させることができる。また、本発明によれば、メモリ装置又はシステムのキャッシュライン（Ｃａｃｈｅ  Ｌｉｎｅ）の中のプロセッサによって利用される潛在的に有用なキャッシュラインを維持させることができる。したがって、キャッシュ汚染（Ｃａｃｈｅ  Ｐｏｌｌｕｔｉｏｎ）が緩和され、電子装置又はシステムの性能を向上させることができる。さらに、本発明によれば、入出力装置の構成が変更されずに維持されるため、本発明を容易に具現することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態によるシステムを示すブロック図である。
【図２】図１のシステムの動作を説明する概念図である。
【図３】本発明の他の実施形態によるシステムを示すブロック図である。
【図４】本発明の他の実施形態によるシステムの構成及び動作を説明する概念図である。
【図５】本発明の更に他の実施形態によるシステムを示すブロック図である。
【図６】本発明の一実施形態による方法を説明するフローチャートである。
【図７】本発明の一実施形態によるシステムを含む情報処理システムの構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
上述した特性及び以下の詳細な説明は全て本発明の説明及び理解を助けるための例示的な事項である。即ち、本発明は、このような実施形態に限定されずに他の実施形態で具現することができる。以下の実施形態は単に本発明を完全に開示するための例示に過ぎず、本発明が属する技術分野の通常の技術者に本発明を伝達するためのものである。したがって、本発明の構成要素を具現する方法が様々である場合には、これらの方法の中の特定な方法又はこれと同一の方法によるどのような方法であっても本発明の具現が可能である。
【００１５】
本明細書で所定の構成が特定要素を含むと言及する場合又は所定の過程が特定段階を含むと言及する場合、その他の要素又はその他の段階をさらに含むことを意味する。即ち、本明細書で使用する用語は特定の実施形態を説明するものであり、本発明の概念を限定するものではない。さらに、発明の理解を助けるために説明する例示はその相補的な実施形態も含む。
【００１６】
本明細書で使用する用語は本発明が属する技術分野の通常の技術者が一般的に理解できる意味を有する。普遍的に使用される用語は本明細書の脈絡にしたがって一貫的な意味として解釈されなければならない。また本明細書で使用する用語は、その意味が明確に定義された場合でなければ、極端に理想的であるか、或いは形式的な意味として解釈してはならない。
【００１７】
各々のプロセッサのために別のキャッシュ（Ｃａｃｈｅ）メモリを利用する共有メモリマルチプロセッサシステム（Ｓｈａｒｅｄ  Ｍｅｍｏｒｙ  Ｍｕｌｔｉｐｒｏｃｅｓｓｏｒ  Ｓｙｓｔｅｍ）では、１つのデータの様々なコピーが存在する。例として、１つのコピーがメーン（Ｍａｉｎ）メモリに存在し、他のコピーがキャッシュメモリに存在する。データのコピーが変更される場合、そのデータの他のコピーも変更されることが理想的である。キャッシュ一貫性（Ｃｏｈｅｒｅｎｃｅ）は、共有データの値がシステムの全般に亘って適切な時期に変更されることを保証する技法である。
【００１８】
キャッシュ一貫性を遂行する１つの方法は、プロセッサがデータアイテムを書き込む前に、プロセッサがそのデータアイテムに対して排他的なアクセス権限を有することを保証する方法である。この方式のプロトコル（Ｐｒｏｔｏｃｏｌ）は他のキャッシュのコピーに対する書込みを無効化することから、書込み無効化（Ｉｎｖａｌｉｄａｔｅ）プロトコルと称され、さらに一般的なスヌーピング（Ｓｎｏｏｐｉｎｇ）方式のプロトコルの一部として扱われる。この方式で、排他的なアクセスは書込みが発生した時、データアイテムの他の読出し可能である又は書込み可能であるコピーが存在しないことを保証し、そのデータアイテムの他のすべてのキャッシュコピーが無効化される。
【００１９】
このプロトコルがどのようにしてキャッシュ一貫性を保証するか否かを説明するために、第１プロセッサによる書込みに続いて他の第２プロセッサによる読出しが遂行される場合を例として説明する。この例で、２つのプロセッサが各々に対応する２つのキャッシュと共に具備され、各々のキャッシュはデータのコピーをホールド（Ｈｏｌｄ）するか或いは格納すると仮定する。この例で、データの２つのコピーは最も近くに読み出され、したがって最新のバーションのデータを含む。このデータは２つのキャッシュの間で共有されると看做される。
【００２０】
上記の例で、第１プロセッサはデータのコピーに書込みを試みる。第１段階として、第１プロセッサは他のキャッシュがデータのコピーを現在格納しているか否かを確認するためにメモリシステムの残る部分にスヌープ（Ｓｎｏｏｐ）要請を伝送する。この第１段階は、データのメモリアドレス（Ａｄｄｒｅｓｓ）をキャッシュの様々なキャッシュタッグ（Ｔａｇ）と比較することによって遂行される。他のプロセッサ又はキャッシュはスヌープ応答を利用してスヌープ要請に応答する。各々のスヌープ応答はスヌープ要請のメモリアドレスが各々のキャッシュに含まれるか否か（即ち、“キャッシュタッグヒット（Ｈｉｔ）”）を示す。スヌープ要請のメモリアドレスが所定のキャッシュに含まれる場合、キャッシュデータの一貫性状態（例えば、有効、無効、共有、排他的等）もやはり含まれる。この例を単純化するために、キャッシュタッグヒットが発生した場合、キャッシュが非排他的に共有され、他の複雑な過程無しに書込みが進行されると仮定する。
【００２１】
書込みは排他的なアクセスを要求するため、他のプロセッサが書込みに対応するキャッシュに所定のデータのコピーをホールドしている場合、そのデータのコピーは無効化される（このため、プロトコルは“書込み無効化”プロトコルと称される）。したがって、第２プロセッサが同じデータを読み出す場合、その読み出しに対応するキャッシュの無効化されたデータはキャッシュミスをもたらし、キャッシュはデータの新しいコピーをフェッチ（Ｆｅｔｃｈ）することになる。
【００２２】
本発明の実施形態で、書込み更新技法、ディレクトリー（Ｄｉｒｅｃｔｏｒｙ）プロトコル、スナフィング（Ｓｎａｒｆｉｎｇ）プロトコル等のような他のプロトコルが採用される。但し、これらは単なる幾つかの例示に過ぎず、本発明を制限するものではない。
【００２３】
コンピューティングシステムは、１つ以上の入力／出力装置又は周辺装置（例えば、図１の入出力装置１０４）に連結される。このような装置は、例として、ネットワークインターフェイス、マイク（Ｍｉｃｒｏｐｈｏｎｅ）、ビデオカメラ、ビデオグラフィックカード、補助処理器（Ｃｏ−ｐｒｏｃｅｓｓｏｒ：例えば、暗号化エンジン（Ｅｎｃｒｙｐｔｉｏｎ  Ｅｎｇｉｎｅ）、物理エンジン（Ｐｈｙｓｉｃｓ  Ｅｎｇｉｎｅ））等を含む。但し、これらは単なる幾つかの例示に過ぎず、本発明を制限するものではない。たまに、この入出力装置はメーンプロセッサと独立的に動作する。これはプロセッサの管理責任を取り除くが、幾つかの問題を発生させる。本明細書で、メモリにアクセスできるがプロセッサ又はプロセッサコアでない装置又はその他の装置は“非中央（Ｎｏｎ−ｃｅｎｔｒａｌ）処理装置”と称される。本発明の理解を助けるために“入出力装置”という用語を使用するが、これは単なる１つの例示に過ぎず、本発明を制限するものではない。
【００２４】
実施形態として、入出力装置は、メモリに直接アクセス（例えば、読出し、書込み等）する。メモリは入出力装置が他の装置に比べて特別な権限を有するように制限される（例えば、入出力装置のみがメモリに書き込むことができ、他の装置はメモリから読み出す動作のみを行う）。これはＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）と称される。
【００２５】
キャッシュインジェクション（Ｃａｃｈｅ  Ｉｎｊｅｃｔｉｏｎ）は入出力装置が対象装置（キャッシュ又はメモリシステムのキャッシングティア）に向かうバストランザクション（Ｂｕｓ  Ｔｒａｎｓａｃｔｉｏｎ：例えば、データ書込み等）を初期化することが構造的な特徴である。キャッシュインジェクションを利用しないシステムにおいて、対象装置はメーンメモリコントローラである。キャッシュインジェクションを利用すると、トランザクションはシステムの特定なキャッシュに向かう。その後、対象装置はバスをスヌーピングしてキャッシュが対象と一致するか否かを確認する。一致する場合、対象装置がデータを利用し、一致しない場合、メモリコントローラがデータを利用する。
【００２６】
同様に、上記の例のマルチプロセッサキャッシュの一貫性を利用して、入出力装置からメモリにデータを書き込むことは様々なキャッシュの一貫性の問題を含む。入出力ＤＭＡマスターは、明示的（Ｅｘｐｌｉｃｉｔｌｙ）かつ選択的にキャッシュの書込みトランザクションを、メモリインターコネクト（Ｉｎｔｅｒｃｏｎｎｅｃｔ）及びキャッシュコントローラが応答する割当／更新属性と共にタッギングする第１キャッシュインジェクションにより具現する。メモリの特定アドレス範囲がキャッシュ内で構成されて割当又は更新される入出力書込みトランザクション／キャッシュラインに関連する“クレーム（Ｃｌａｉｍ）”スヌープをキャッシュに通知する第２キャッシュインジェクションが具現される。
【００２７】
入出力書込みトランザクションがＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）コントローラと共に一列に（Ｉｎ−ｌｉｎｅ）配列されたキャッシュ階層のレベルを通じて自然に流れる第３キャッシュインジェクションが具現される。このような具現で、インラインキャッシュのキャッシュライン内に格納されたデータは、入出力書込みがキャッシュを通じてＤＲＡＭに伝達される時、新しいバーションのデータに更新される。即ち、入出力書込みが新しいデータをＤＲＡＭに伝送することによって、新しいデータは入出力装置とＤＲＡＭとの間でインラインキャッシュを通じて伝送される。これについてはさらに後述する。
【００２８】
本明細書で、書込みがメーンメモリ（例えば、ＤＲＡＭ）に伝送されることによって、メモリ／キャッシュ階層（Ｈｉｅｒａｒｃｈｙ）の次に高いレイテンシ（Ｌａｔｅｎｃｙ）レベルを割当するか、或いは更新するために伝送個体（例えば、入出力装置、プロセッサ、Ｌ１キャッシュ等）で発生する書込みトランザクションのための経路が存在する場合、メモリ、キャッシュ、又はティアは、メーンメモリと共に“一列”に配列される。一方、本明細書で、書込みがメーンメモリに伝送されることによって、メモリ／キャッシュ階層の次に高いレイテンシレベルを割当するか、或いは更新するために伝送固体で発生する書込みトランザクションをための経路が存在しない場合、メモリ、キャッシュ、又はティアは一列に配列されない（Ｏｕｔ−ｏｆ−ｌｉｎｅ）。
【００２９】
ハードウェアキューマネージャオフロード又は加速器ブロック（Ｈａｒｄｗａｒｅ  Ｑｕｅｕｅ  Ｍａｎａｇｅｒ  Ｏｆｆｌｏａｄ  ｏｒ  Ａｃｃｅｌｅｒａｔｏｒ  Ｂｌｏｃｋ）がプロセッサコアで現在処理されている作業単位及び後に処理するためにキューされたすべての作業を正確に追跡する第４キャッシュインジェクションが具現される。入出力装置がデータをメモリに書き込む時にデータが割当／更新されるようにする代わりに、キューマネージャはプロセッサコアがデータを利用する適切な時にアクセスする時だけ、データがキャッシュに格納されるように命令する。
【００３０】
後述するように、本発明は上記キャッシュインジェクション具現技法と比較して潛在的に有用な様々な修正を提供する。潛在的に有用な修正を後述するが、本発明はこれらに制限されない。
【００３１】
上記第１キャッシュインジェクションの具現と対照的に、本発明は明示的な割当／更新属性を生成する入出力マスター及び明示的な割当／更新属性を伝送するメモリインターコネクトを必要としない。或いは、本発明はキャッシュ階層で潛在的に有用なキャッシュラインを直ちに回収（Ｅｖｉｃｔｉｏｎ）しない。さらに、入出力装置が変更されずに維持できるため、本発明は簡単に具現される。
【００３２】
上記第２キャッシュインジェクションの具現と対照的に、本発明は特別なアドレス範囲／領域を利用してキャッシュコントローラ構成スペースを初期化するためのソフトウェアを必要としない。或いは、本発明はソフトウェアによって割当てるデータ構造に関する特別な制限及び／又は理解を必要としない。
【００３３】
上記第３キャッシュインジェクションの具現と対照的に、本発明はＤＲＡＭに向かう入出力書込みが自然に伝送されないキャッシュ階層の他のレベル又はティアを観察することによって、古いキャッシュラインの更新が可能である。さらに、本発明はキャッシュラインの更新又はキャッシュ階層の低いレイテンシレベル（例えば、Ｌ１キャッシュ、Ｌ２キャッシュ等）へのインジェクションを支援することによってプロセッサコアフェッチレイテンシの利得を増加させることができる。
【００３４】
上記第４キャッシュインジェクションの具現と対照的に、本発明は入出力装置及びプロセッサコアと通信する別のハードウェアキューマネージャブロックを必要としない。さらに、本発明は第４キャッシュインジェクションをより簡単に具現することができる。
【００３５】
以下、本発明を実施するための形態の具体例を、図面を参照しながら詳細に説明する。
【００３６】
図１は、本発明の一実施形態によるシステムを示すブロック図である。システム１００は、プロセッサ１０２、ティアメモリシステム１０８、及び１つ以上の入出力装置１０４を含む。ティアメモリシステム１０８は、３つのティア、即ちＬ１キャッシュ１１２とＬ２キャッシュ１２２、Ｌ３キャッシュ１３２、及びメーンメモリ１４２を含む。但し、これは単なる１つの例示に過ぎず、本発明を制限するものではない。入出力装置１０４は、メモリの特定部分にアクセスする。特定部分は１つ以上のメモリアドレス範囲によって定義される。入出力装置１０４がメモリの予約された部分にデータ１９０を書き込むか或いはメモリの予約された部分からデータ１９０を読み出す場合、アクセス要請はデータ１９０に関するメモリアドレス１９１を含む。メモリの予約された部分の全体が丸ごと又は１回で読み出されるか、或いは書き込まれる必要はない。
【００３７】
入出力装置１０４とプロセッサ１０２との通信に関連するか又は関連する古いデータ構造を含むキャッシュラインは、プロセッサ１０２上で実行されるソフトウェアがデータを利用したしばらく後にもキャッシュ階層（例えば、Ｌ２キャッシュ１２２等）に維持される。ソフトウェアは、古いデータ構造に関連するメモリアドレスを頻繁に再使用し、新しいデータを書き込むか或いは生成するために入出力装置１０４に所有権を渡す。メモリアドレスは、例えば入出力装置１０４によって書き込まれた後にソフトウェアによって利用されるデータを書き込んだ循環記述子キュー／リング（Ｃｉｒｃｕｌａｒ  Ｄｅｓｃｒｉｐｔｏｒ  Ｑｕｅｕｅ／Ｒｉｎｇ）及びデータバッファプールエントリ（Ｄａｔａ  Ｂｕｆｆｅｒ  Ｐｏｏｌ  Ｅｎｔｒｙ）によって、同一の類型のデータ構造及びデータ流れのために反複して利用される。
【００３８】
入出力装置１０４がキャッシュに一貫性がある書込み（例えば、データ１９０の書込み）を行いたい場合、システム１００はスヌープ要請／応答対のメッセージを生成する。対応するスヌープトランザクションがプロセッサ１０２のキャッシュ階層（例えば、Ｌ２キャッシュ１２２）でキャッシュラインにヒット（Ｈｉｔ）した場合（例えば、キャッシュタッグヒット、有効であるか或いは有効でないことがある）、キャッシュタッグヒットはソフトウェアによって後に利用されるキャッシュラインに関連するデータに関する情報を提供する。これはキャッシュラインに関連するデータを割当／更新し、キャッシュから有用なデータを放出させずに、キャッシュの古いデータを上書き（Ｏｖｅｒｗｒｉｔｅ）するのに有利である。
【００３９】
幾つかの実施形態で、ＤＲＡＭ又はメーンメモリ１４２への書込みに関連する電力の全てを排除する。新しい入出力書込みが発生することによって、データは修正された状態でキャッシュ（例えば、Ｌ２キャッシュ１２２等）によって所有される。本実施形態はメーンメモリ１４２に対する往復読出しレイテンシの一部を除去するか或いは減らし、プロセッサ１０２が（例えば、プロセッサ１０２のキャッシュ階層にヒット（Ｈｉｔ）する読出しを通じて）データ構造を利用するために究極的にキャッシュラインをフェッチする時、対応するメーンメモリ１４２の読出しのために使用される電力の全てを排除するか或いは減らす。
【００４０】
他の実施形態で、入出力書込みトランザクションによって割当／更新されたキャッシュラインはキャッシュ階層で自然に放出され、プロセッサ１０２がキャッシュラインをフェッチする前にメーンメモリ１４２に書き込まれる。これは入出力書込みがメーンメモリ１４２に対して完了してメーンメモリ１４２に関連するスヌープがキャッシュラインの割当／更新をトリガー（Ｔｒｉｇｇｅｒ）する代わりに、キャッシュの古いデータを含むキャッシュラインを単純に無効化することより悪くない。
【００４１】
幾つかの実施形態で、入出力書込みトランザクションがメーンメモリ１４２と一列に配列されたレベルのキャッシュ（例えば、共有されたＬ３キャッシュ１３２等）のみを通じて伝送される場合にも、上位レベルのキャッシュ（例えば、Ｌ１キャッシュ１１２、Ｌ２キャッシュ１２２等）に存在する古いキャッシュラインの割当及び／又は更新を支援するための制御及びデータ経路ロジックを追加することが有利である。例えばキャッシュ階層の低いレイテンシレベルへの更新を支援することによって、プロセッサ１０２のフェッチレイテンシの利得が増加する
【００４２】
具体的な例として、入出力装置１０４（又は、プロセッサではない他のＤＭＡ装置）はデータ１９０をティアメモリシステム１０８に書込むことを試みる。入出力装置１０４は、データ１９０を含むが、書込みがキャッシュインジェクションの特定形態に関連することを示す情報を明示的に含まない書込みトランザクションを発生させる。書込みトランザクション又は要請はメモリアドレス１９１に関連する。
【００４３】
メモリインターコネクト１０６は書込み要請を受信する。メモリインターコネクト１０６は、一貫性インターコネクト又は一貫性メモリインターコネクトと称される。
【００４４】
メモリインターコネクト１０６は様々なキャッシングティアにスヌープ要請を伝送する。メモリインターコネクト１０６はＬ３キャッシュ１３２及び究極的にはメーンメモリ１４２に向かう経路Ｐ１を通じてスヌープ要請を伝送する。また、メモリインターコネクト１０６は、Ｌ２キャッシュ１２２、及び／又はメモリインターコネクト１０６とプロセッサ１０２との間の他のキャッシュ（例えば、Ｌ１キャッシュ１１２等）に向かう経路Ｐ２を通じてスヌープ要請を伝送する。
【００４５】
メーンメモリ１４２は、メモリアドレス１９１に対応するメモリシステム内にデータ１９０を格納する。メーンメモリ１４２はキャッシュタッグヒットによりスヌープ要請に応答する。しかし、Ｌ２キャッシュ１２２もデータ１９０を格納し（古いデータ１９４で表示される）、古いデータ１９４は結論的にメモリアドレス１９１に関連するキャッシュタッグ１９２に関連する。Ｌ２キャッシュ１２２は、キャッシュタッグヒットによりスヌープ要請に応答する。
【００４６】
メモリインターコネクト１０６は、レイテンシ方式（Ｌａｔｅｎｃｙ−ｗｉｓｅ）により、メモリインターコネクト１０６よりプロセッサ１０２にさらに近いティアメモリシステム１０８のキャッシングティアによってキャッシュタッグヒットが生成されたか否かを判別する。さらに、メーンメモリ１４２は、レイテンシ方式により、メモリインターコネクト１０６よりプロセッサ１０２からさらに遠くなる。したがって、メーンメモリ１４２は入出力装置１０４から書込みデータ１９０を収容するためのキャッシングティアとして望ましくない。一方、Ｌ２キャッシュ１２２は、レイテンシ方式により、メモリインターコネクト１０６よりプロセッサ１０２にさらに近くなる。したがって、Ｌ２キャッシュ１２２は入出力装置１０４から書込みデータ１９０を収容するためのキャッシングティアとして望ましい。他のさらに複雑な例は、図３〜図５を参照して説明する。
【００４７】
メモリインターコネクト１０６は、Ｌ２キャッシュ１２２にインジェクションされることが予想される書込みデータ（例えば、データ１９０）をＬ２キャッシュ１２２に通知する。データ１９０が部分（Ｐａｒｔｉａｌ）キャッシュラインを含む幾つかの実施形態で、インジェクションはキャッシュライン併合又は更新の形態を取る。データ１９０が全体（Ｆｕｌｌ）キャッシュラインを含む幾つかの実施形態では、インジェクションはキャッシュライン上書きの形式を取る。メモリインターコネクト１０６はキャッシングティア（例えば、Ｌ２キャッシュ１２２）へのキャッシュインジェクションを遂行する。
【００４８】
上述した例の幾つかの側面がさらに強調される。上述したように、Ｌ２キャッシュ１２２からのキャッシュタッグヒットが有効であるか又は有効でないかは問題にならないこともある。キャッシュタッグヒットはソフトウェア又はプロセッサ１０２によってデータ１９０が後に利用されることを示す情報を単独に提供する。これは更新が古いデータ１９４をキャッシュに上書きすることを意味してもデータ１９０を割当及び／又は更新するのに有益なことを意味する。これはキャッシュから他の有用なデータを放出させなくても遂行される。これにより、キャッシュ汚染（Ｃａｃｈｅ  Ｐｏｌｌｕｔｉｏｎ：プロセッサ１０２によって利用される蓋然性が低いデータでキャッシュを満たすこと）の危険が減少するか或いは緩和される。
【００４９】
上述した例の他の側面によると、キャッシュタッグヒットのキャッシュインジェクションのためのロジック及び回路は、一列に配列されないキャッシュ（例えば、Ｌ１キャッシュ１１２、Ｌ２キャッシュ１２２等）のためには支援されない。一般的に、制御及びデータ経路ロジック又は回路は、入出力装置１０４がメモリインターコネクト１０６からメーンメモリ１４２に連結される経路と一列に配列される（キャッシュタッグヒットの）キャッシュ（例えば、Ｌ３キャッシュ１３２、メーンメモリ１４２等）のみを更新することを可能にするために存在する。
【００５０】
一列に配列されずにプロセッサ１０２に近く配置されるキャッシュ（例えば、Ｌ１キャッシュ１１２、Ｌ２キャッシュ１２２等）は相当なキャッシュ容量を有する。このようなキャッシュは入出力装置１０４が書き込んだ古くなったか或いは無用なバーションのデータ（例えば、古いデータ１９４）を頻繁に保持する。実施形態として、一列に配列されるキャッシュ（例えば、Ｌ３キャッシュ１３２等）が存在しないこともあり、したがって一列に配列されないキャッシュ（例えば、Ｌ２キャッシュ１２２等）に書込みを遂行するシステムは性能を低下させる。一列に配列されずに大容量を有する共有Ｌ２キャッシュが具現される場合、一列に配列されるキャッシュ（例えば、Ｌ３キャッシュ１３２等）は普通に具現されないこともある。
【００５１】
上記例と幾つかの側面での差異を有する他の実施形態で、メモリインターコネクト１０６は、Ｌ２キャッシュ１２２及びメーンメモリ１４２からキャッシュタッグヒットが生成されると、データ１９０をＬ２キャッシュ１２２に直ちに書き込む代わりに、Ｌ２キャッシュ１２２に対してキャッシュラインの無効化を遂行する（Ｌ１キャッシュ１１２に対しても遂行する）。これはＬ２キャッシュ１２２が修正されたか又は変更されたデータ１９０の所有権を取るためにデータ１９０に対する読出し要請を発生させる。修正されたか又は変更されたデータ１９０はメモリインターコネクト１０６内でバッファーリングされる。したがって、読出しによって発生するレイテンシはメモリインターコネクト１０６の代わりにメーンメモリ１４２へのアクセスを要求する読出しによるものより少ない。データ１９０に対する読出し要請はＬ２キャッシュ１２２が更新されたデータ１９０をＬ２キャッシュ１２２にプリフェッチ（Ｐｒｅｆｅｔｃｈ）する。
【００５２】
入出力装置１０４からの書込みは全体キャッシュラインを含み、一列に配列されないキャッシュ（例えば、Ｌ２キャッシュ１２２等）からの継続する読出しは全体キャッシュラインのためのものである。書込みデータ（例えば、データ１９０）がメーンメモリ１４２を通じて書き込まれる場合、キャッシュラインはきれいな状態に割当されるため、Ｌ２キャッシュ１２２によって発生した読出しは修正されたか又は更新されたデータ１９０の所有権のためのものではない。
【００５３】
幾つかの実施形態で、データ１９０はＬ１キャッシュ１１２又はＬ２キャッシュ１２２に格納されない。この場合、スヌープ要請はそのキャッシュ又は他の一列に配列されないキャッシュからキャッシュタッグヒット（有効であるか或いは有効でない）を生成しない。メモリインターコネクト１０６は、レイテンシ方式により、メモリインターコネクト１０６よりプロセッサ１０２にさらに近くキャッシュインジェクションのよい対象（ｇｏｏｄ  ｃａｎｄｉｄａｔｅ）であるティアメモリシステム１０８のキャッシングティアを有しない。メモリインターコネクト１０６は、レイテンシ方式により、メモリインターコネクト１０６よりプロセッサ１０２からさらに遠いキャッシングティア（例えば、メーンメモリ１４２）にデータ１９０をインジェクションする。
【００５４】
図２は、図１のシステムの動作を説明する概念図であり、本発明におけるデータ移動の特徴を強調するための説明図である。
【００５５】
図２は、データが入出力装置１０４（又は、プロセッサではないＤＭＡ装置）及びメーンメモリ１４２から伝送される従来のシステムによって使用されるデータ経路Ｄ１を示す。そして、データはデータ経路Ｄ２を通じてメーンメモリ１４２からＬ２キャッシュ１２２又はＬ１キャッシュ１１２に移動する。この場合、プロセッサ１０２によって経験されるレイテンシは相対的に高い。
【００５６】
一方、データ経路Ｄ３は本実施形態で潜在的なキャッシュ汚染を減少させるか或いは緩和するキャッシュインジェクションを通じてデータが入出力装置１０４からＬ２キャッシュ１２２（又は、Ｌ１キャッシュ１１２）に直接移動することを示す。そして、データ経路Ｄ３は、結果的にデータがＬ２キャッシュ１２２からメーンメモリ１４２に移動することを示す。図３及び図５のシステム、或は本発明の他の実施形態で同様なデータ経路が示されている。
【００５７】
図３は、本発明の他の実施形態によるシステムを示すブロック図である。システム２００は、プロセッサ１０２、ティアメモリシステム２０８、及び１つ以上の入出力装置１０４を含む。ティアメモリシステム２０８は、３つのティア、即ちＬ１キャッシュ１１２とＬ２キャッシュ１２２、Ｌ３キャッシュ２３２、及びメーンメモリ１４２を含む。
【００５８】
図１のシステム１００は、メーンメモリ１４２に近く連結されたＬ３キャッシュ１３２を含むティアメモリシステム１０８を示している。図３のシステム２００は、メモリインターコネクト１０６に近く連結されたＬ３キャッシュ２３２を含むティアメモリシステム２０８を示す。図１及び図２を参照して説明したキャッシュインジェクションスキーム（Ｓｃｈｅｍｅ）が実質的に同様な方法で発生する。Ｌ３キャッシュ２３２は、同様に、レイテンシ方式により、メモリインターコネクト１０６よりプロセッサ１０２からさらに遠い。したがって、キャッシュインジェクションは、同様にＬ２キャッシュ１２２又は他の近いレイテンシキャッシングティアに対して発生する。図３は、本発明が特定なメモリトポロジー（Ｔｏｐｏｌｏｇｙ）に限定されないことを示す。
【００５９】
図４は、本発明の他の実施形態によるシステムの構成及び動作を説明する概念図である。図４は最も低いレベルのキャッシュとＬ３キャッシュ３３２との間のカップリング（Ｃｏｕｐｌｉｎｇ）レベルと本発明におけるデータ移動の特徴を強調するための説明図である。
【００６０】
システム２０１は、プロセッサ２０２、ティアメモリシステム２０９、及び１つ以上の入出力装置１０４を含む。ティアメモリシステム２０９は、３つのティア、即ちＬ１キャッシュ２１２とＬ２キャッシュ２２２、Ｌ３キャッシュ３３２、及びメーンメモリ１４２を含む。Ｌ３キャッシュ３３２は（図１及び図３に示したものと異なり）メモリインターコネクト１０６及びメーンメモリ１４２の中のいずれにも近接して連結されない。代わりに、Ｌ３キャッシュ３３２（又は、図示したＬ３キャッシュ３３２によって表現される他のキャッシュ）はバスを通じてメモリインターコネクト１０６及びティアメモリシステム２０９の残りの部分と通信するように連結される。
【００６１】
しかし、上記のような連結にも拘らず、Ｌ３キャッシュ３３２は入出力装置１０４又はさらにプロセッサ２０２に対して同様にメーンメモリ１４２に対して一列に配列されたものとして扱われる。さらに、上述したように、Ｌ３キャッシュ３３２は、レイテンシ方式により、メモリインターコネクト１０６よりプロセッサ２０２からさらに遠い。
【００６２】
図４は、データが入出力装置１０４（又は、プロセッサではないＤＭＡ装置）及びメーンメモリ１４２から伝送される従来のシステムによって使用されるデータ経路Ｄ４を示す。そして、データはデータ経路Ｄ５を通じてメーンメモリ１４２からＬ２キャッシュ２２２又はＬ１キャッシュ２１２に移動する。図４に示すように、キャッシュインジェクションはＬ３キャッシュ３３２を通じて発生する。その理由は位置的にＬ３キャッシュ３３２がメーンメモリ１４２と１つ以上のプロセッサ（様々なプロセッサを含む簡単な実施形態は図５を参照して説明する）との間の共有キャッシュとして取り扱われるからである。この場合、プロセッサ２０２によって経験されるレイテンシは相対的に高い。
【００６３】
一方、データ経路Ｄ６は、本実施形態で潜在的なキャッシュ汚染を減らすか或いは緩和するキャッシュインジェクションを通じてデータが入出力装置１０４からＬ２キャッシュ２２２（又は、Ｌ１キャッシュ２１２）に直接移動することを示す。そして、データ経路Ｄ６は、結果的にデータがＬ２キャッシュ２２２からメーンメモリ１４２に移動することを示す。
【００６４】
図５は、本発明の更に他の実施形態によるシステムを示すブロック図である。システム３００は、複数のプロセッサ又はプロセッサコア（例えば、第１プロセッサ３０２ａ、第２プロセッサ３０２ｂ、第３プロセッサ３０２ｃ等）、各プロセッサ（３０２ａ、３０２ｂ、３０２ｃ）に各々関連するキャッシュ（例えば、Ｌ１キャッシュ（３１２ａ、３１２ｂ、３１２ｃ）、Ｌ２キャッシュ（３２２ａ、３２２ｂ、３２２ｃ）等）、共通の又は共有されるメモリインターコネクト１０６、共通の又は共有されるＬ３又は最後のレベルのＬ３キャッシュ１３２、共通の又は共有されるメーンメモリ１４２、及び１つ以上の入出力装置１０４を含む。ティアメモリシステム３０８は、３つのティア、即ちＬ１キャッシュ（３１２ａ、３１２ｂ、３１２ｃ）とＬ２キャッシュ（３２２ａ、３２２ｂ、３２２ｃ）、Ｌ３キャッシュ１３２、及びメーンメモリ１４２を含む。
【００６５】
図１を参照して説明した技法が実質的に同様な方式で発生する。但し、スヌープ要請は図１を参照して説明したキャッシュタッグヒットを２つより多く生成するか或いはもたらす。１つより多いキャッシュがデータ１９０のコピーを格納する。図５は、第１プロセッサ３０２ａのＬ２キャッシュ３２２ａ及び第３プロセッサ３０２ｃのＬ２キャッシュ３２２ｃ内にコピーを格納した例を示す。この例で、Ｌ２キャッシュ（３２２ａ、３２２ｃ）は各々キャッシュタッグヒットを生成する。
【００６６】
メモリインターコネクト１０６は、レイテンシ方式により、メモリインターコネクト１０６より第１プロセッサ３０２ａ及び第３プロセッサ３０２ｃにさらに近い２つの（幾つかの例ではそれ以上の）キャッシングティアと出会う。メモリインターコネクト１０６はキャッシュインジェクションのための受信キャッシュとして様々なキャッシュの中の１つを選択する。一実施形態で、キャッシュの選択は１つ以上の予め定められた選択基準（例えば、最も近くに利用されたか、有効であるか又は有効でないか、プロセッサ関連性の選好度（Ｐｒｏｃｅｓｓｏｒ  Ａｆｆｉｎｉｔｙ  Ｐｒｅｆｅｒｅｎｃｅ）、ラウンドロビンスキーム（Ｒｏｕｎｄ  Ｒｏｂｉｎ  Ｓｃｈｅｍｅ）、最も低いレイテンシ等）に基づく。
【００６７】
選択されないキャッシュのデータが現在において無効化されなかった場合、選択されないキャッシュのデータは無効化される。これは上述したスヌーププロセッサの一部として発生する。
【００６８】
図６は、本発明の一実施形態による方法を説明するフローチャートである。図６の方法は、図１〜図５、又は図７のようなシステムによって利用されるか或いは遂行される。本発明は、図６に示した順序又は番号によって制限されない。
【００６９】
Ｓ４０２段階で、メモリアドレスに対応するメモリシステム内にデータを書き込むための要請が受信される。幾つかの実施形態で、データを書き込むための要請はＤＭＡを遂行する非中央処理装置から受信される。幾つかの実施形態で、データを書き込むための要請はメモリインターコネクトによって受信される。データを書き込むための要請はデータがキャッシングティアにインジェクションされることを明確に指示しないこともある。Ｓ４０２段階の１つ以上の動作は、図１〜図５、又は図７の装置、システム、又は構成要素、例えば図１〜図４、又は図５のメモリシステム、メモリインターコネクト、及び／又は入出力装置によって遂行される。
【００７０】
Ｓ４０４段階で、レイテンシ方式により、一貫性メモリインターコネクトより中央プロセッサにさらに近いメモリシステムのキャッシングティアによって、メモリアドレスに基づいて、キャッシュタッグヒットが生成されたか否かが判別される。幾つかの実施形態で、判別する段階は、キャッシングティアにスヌープ要請を伝送する段階及びキャッシングティアからスヌープ応答を受信する段階を含む。他の実施形態で、判別する段階は、レイテンシ方式により、一貫性メモリインターコネクトより中央プロセッサにさらに近い複数のキャッシングティアから複数のキャッシュタッグヒットを受信する段階及び複数のキャッシングティアの中の１つのキャッシングティアを選択する段階を含む。その他の実施形態で、判別する段階はキャッシュタッグヒットに関連するキャッシュラインを無効化させる段階を含む。幾つかの実施形態で、判別する段階はキャッシュタッグヒットが有効なキャッシュラインに関連するか又は有効でないキャッシュラインに関連するかに拘らず生成されるキャッシュタッグヒットを考慮する段階を含む。Ｓ４０４段階の１つ以上の動作は、図１〜図５、又は図７の装置、システム、又は構成要素、例えば、図１〜図４、又は図５のメモリシステム及び／又はメモリインターコネクトによって遂行される。
【００７１】
Ｓ４０６段階で、キャッシングティアによってキャッシュタッグヒットが生成された場合、データがキャッシングティアにインジェクションされる。データをキャッシングティアにインジェクションする段階は、キャッシングティアがキャッシュタッグヒットを生成した場合、データをキャッシングティアに単にインジェクションすることによって、キャッシュ汚染を緩和する段階を含む。複数のキャッシングティアがキャッシュヒットに応答する他の実施形態で、インジェクションする段階は選択されたキャッシングティアにデータをインジェクションする段階を含む。キャッシュタッグヒットに関連するキャッシュラインが無効化されるその他の実施形態で、インジェクションする段階はキャッシングティアが一貫性メモリインターコネクトからデータをプリフェッチする段階を含む。Ｓ４０６段階の１つ以上の動作は、図１〜図５、又は図７の装置、システム、又は構成要素、例えば、図１〜図４、又は図５のメモリシステム及び／又はメモリインターコネクトによって遂行される。
【００７２】
Ｓ４０８段階で、キャッシングティアがキャッシュタッグヒットを生成しない場合、データは、レイテンシ方式により、一貫性メモリインターコネクトより中央プロセッサからさらに遠いキャッシングティアにインジェクションされる。Ｓ４０８段階の１つ以上の動作は、図１〜図５、又は図７の装置、システム、又は構成要素、例えば、図１〜図４、又は図５のメモリシステム及び／又はメモリインターコネクトによって遂行される。
【００７３】
図７は、本発明の一実施形態によるシステムを含む情報処理システムの構成を示すブロック図である。例えば、本実施形態によるシステムは半導体装置の形態で具現される。
【００７４】
図７を参照すると、情報処理システム５００は本発明の実施形態にしたがって構成される１つ以上のキャッシュインジェクション装置を含む。或は、情報処理システム５００は本実施形態による１つ以上のキャッシュインジェクション方法を使用するか又は実行する。
【００７５】
情報処理システム５００は、例えばラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、サーバー、ブレードサーバー、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、スマートフォン、タブレット、及びその他の適切なコンピューター等のようなコンピューティング装置、或は仮想マシン（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）又はその仮想コンピューティング装置等を含む。情報処理システム５００は使用者によって利用される。
【００７６】
本実施形態による情報処理システム５００は、中央処理ユニット（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ロジック（Ｌｏｇｉｃ）、又はプロセッサ（Ｐｒｏｃｅｓｓｏｒ）５１０を含む。幾つかの実施形態で、プロセッサ５１０は１つ以上の機能ユニットブロック（Ｆｕｎｃｔｉｏｎａｌ  Ｕｎｉｔ  Ｂｌｏｃｋ）又は組合論理ブロック（Ｃｏｍｂｉｎａｔｉｏｎａｌ  Ｌｏｇｉｃ  Ｂｌｏｃｋ）５１５を含む。組合論理ブロック５１５は、多様なブール論理演算（Ｂｏｏｌｅａｎ  Ｌｏｇｉｃ  Ｏｐｅｒａｔｉｏｎ：例えば、ＮＡＮＤ、ＮＯＲ、ＮＯＴ、ＸＯＲ等）のための論理装置、安定化（Ｓｔａｂｉｌｉｚｉｎｇ）論理装置（例えば、フリップフロップ（Ｆｌｉｐ−ｆｌｏｐ）、ラッチ（Ｌａｔｃｈ）等）、その他の論理装置、又はそれらの組合を含む。組合論理ブロック５１５は単純な又はさらに複雑な方式で入力信号を処理して望む結果を得るように構成される。同期式の（Ｓｙｎｃｈｒｏｎｏｕｓ）組合論理演算の幾つかの例を説明したが、本発明はこの例に制限されない。本実施形態は、非同期式の（Ａｓｙｎｃｈｒｏｎｏｕｓ）演算、又は同期式の演算、及び非同期式の演算の組合を利用する。組合論理ブロック５１５は、複数のＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）トランジスタを含む。ＣＭＯＳトランジスタは論理演算を遂行するゲート（Ｇａｔｅ）内に配列される。但し、他の技術を利用することができ、それは本発明の技術思想の範囲に含まれる。
【００７７】
情報処理システム５００は揮発性メモリ５２０（例えば、ＲＡＭ等）をさらに含む。情報処理システム５００は不揮発性メモリ５３０（例えば、ハードドライブ、光学メモリ、ＮＡＮＤフラッシュメモリ等）をさらに含む。幾つかの実施形態で、揮発性メモリ５２０、不揮発性メモリ５３０、或はそれらの組合又は一部は“格納媒体”と称される。揮発性メモリ５２０及び／又は不揮発性メモリ５３０は半永久的な又は実質的に永久的な形態でデータを格納する。揮発性メモリ５２０及び／又は不揮発性メモリ５３０は図１〜図６を参照して説明した本発明の実施形態に基づいて具現される。
【００７８】
情報処理システム５００は１つ以上のネットワークインターフェイス５４０を含む。ネットワークインターフェイス５４０は情報処理システム５００が通信網の一部として通信網を通じて通信するようにする。例えば、ネットワークインターフェイス５４０は、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）８０２．１１ｇ、ＩＥＥＥ８０２．１１ｎ等を含むＷｉ−Ｆｉ規約、Ｗｉｒｅｌｅｓｓ−ＭＡＮ（Ｍｅｔｒｏｐｏｌｉｔａｎ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）Ａｄｖａｎｃｅｄとしても公知されたＩＥＥＥ８０２．１６ｍ、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）Ａｄｖａｎｃｅｄ、ＥＤＧＥ（Ｅｎｈａｎｃｅｄ  Ｄａｔａ  ｒａｔｅｓ  ｆｏｒ  ＧＳＭ（登録商標）（Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  ｃｏｍｍｕｎｉｃａｔｉｏｎｓ）  Ｅｖｏｌｕｔｉｏｎ）、ＨＳＰＡ＋（Ｅｖｏｌｖｅｄ  Ｈｉｇｈ  Ｓｐｅｅｄ  Ｐａｃｋｅｔ  Ａｃｃｅｓｓ）等を含むセルラー通信規約（Ｃｅｌｌｕｌａｒ  Ｐｒｏｔｏｃｏｌ）、イーサーネット（登録商標）（Ｅｔｈｅｒｎｅｔ（登録商標））としても公知されたＩＥＥＥ  ８０２．３、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ、Ｐｏｗｅｒ  Ｌｉｎｅ  ｃｏｍｍｕｎｉｃａｔｉｏｎ（例えば、ＨｏｍｅＰｌｕｇ、ＩＥＥＥ１９０１等）等を含む有線通信規約等を利用する。
【００７９】
情報処理システム５００は、ユーザーインターフェイス（５５０：例えば、ディスプレーアダプター（Ｄｉｓｐｌａｙ  Ａｄａｐｔｅｒ）、ハプティック（Ｈａｐｔｉｃ）インターフェイス、ヒューマンインターフェイス装置等）をさらに含む。ユーザーインターフェイス５５０は使用者から入力を提供されるか或いは使用者に出力を提供するように構成される。使用者との相互作用のために他の種類の装置が利用される。例えば、使用者に提供されるフィードバック（Ｆｅｅｄｂａｃｋ）は感覚的なフィードバック（例えば、視覚的なフィードバック、聴覚的なフィードバック、又は触覚的なフィードバック）の形態を有する。そして、使用者からの入力は音響、音声、又は触覚を含んで何らかの形態で提供される。
【００８０】
情報処理システム５００は１つ以上のその他のハードウェア装置５６０（例えば、ディスプレー又はモニター、キーボード、マウス、カメラ、指紋判読器、ビデオ処理器等）を含む。
【００８１】
情報処理システム５００は１つ以上のシステムバス５０５をさらに含む。システムバス５０５は、プロセッサ５１０、揮発性メモリ５２０、不揮発性メモリ５３０、ネットワークインターフェイス５４０、ユーザーインターフェイス５５０、及びその他のハードウェア装置５６０と通信するように連結される。プロセッサ５１０によって処理されたデータ又は不揮発性メモリ５３０の外部から入力されたデータはシステムバス５０５を通じて不揮発性メモリ５３０又は揮発性メモリ５２０に格納される。
【００８２】
情報処理システム５００は１つ以上のソフトウェア５７０を含むか或いは実行する。ソフトウェア５７０は、オペレーティングシステム（ＯＳ）及び／又は応用（Ａｐｐｌｉｃａｔｉｏｎ）プログラムを含む。ＯＳは応用プログラムに１つ以上のサービスを提供し、応用プログラムと情報処理システム５００の多様なハードウェア装置（例えば、プロセッサ５１０、ネットワークインターフェイス５４０等）との間で中継装置の役割を遂行する。情報処理システム５００は、その内部（例えば、不揮発性メモリ５３０内部等）に設置されてプロセッサ５１０によって直接実行され、ＯＳと直接相互作用するように構成される１つ以上の内装（Ｎａｔｉｖｅ）プログラムを含む。内装プログラムは予めコンパイルされて機械で実行可能な（Ｐｒｅ−ｃｏｍｐｉｌｅｄ  Ｍａｃｈｉｎｅ  Ｅｘｅｃｕｔａｂｌｅ）コードを含む。内装プログラムは、プロセッサ５１０によって実行されるソースコード又はオブジェクトコードを実行可能な（Ｅｘｅｃｕｔａｂｌｅ）コードに翻訳するスクリプトインタプリタ（Ｓｃｒｉｐｔ  Ｉｎｔｅｒｐｒｅｔｅｒ：例えば、Ｃ  ｓｈｅｌｌ、ＡｐｐｌｅＳｃｒｉｐｔ、ＡｕｔｏＨｏｔｋｅｙ等）又は仮想マシン（例えば、Ｊａｖａ（登録商標）  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｍｍｏｎ  Ｌａｎｇｕａｇｅ  Ｒｕｎｔｉｍｅ等）を含む。
【００８３】
上述の装置で用いられる半導体装置は多様なパッケイジング（Ｐａｃｋａｇｉｎｇ）方法を利用して実装される。例えば、半導体装置は、ＰＯＰ（Ｐａｃｋａｇｅ  Ｏｎ  Ｐａｃｋａｇｅ）、ＢＧＡｓ（Ｂａｌｌ  Ｇｒｉｄ  Ａｒｒａｙｓ）、ＣＳＰｓ（Ｃｈｉｐ  Ｓｃａｌｅ  Ｐａｃｋａｇｅｓ）、ＰＬＣＣ（Ｐｌａｓｔｉｃ  Ｌｅａｄｅｄ  Ｃｈｉｐ  Ｃａｒｒｉｅｒ）、ＰＤＩＰ（Ｐｌａｓｔｉｃ  Ｄｕａｌ  Ｉｎ−ｌｉｎｅ  Ｐａｃｋａｇｅ）、Ｄｉｅ  ｉｎ  ｗａｆｆｌｅ  ｐａｃｋ、Ｄｉｅ  ｉｎ  ｗａｆｅｒ  ｆｏｒｍ、ＣＯＢ（Ｃｈｉｐ  Ｏｎ  Ｂｏａｒｄ）、ＣＥＲＤＩＰ（Ｃｅｒａｍｉｃ  Ｄｕａｌ  Ｉｎ−ｌｉｎｅ  Ｐａｃｋａｇｅ）、ＰＭＱＦＰ（Ｐｌａｓｔｉｃ  Ｍｅｔｒｉｃ  Ｑｕａｄ  Ｆｌａｔ  Ｐａｃｋａｇｅ）、ＰＱＦＰ（Ｐｌａｓｔｉｃ  Ｑｕａｄ  Ｆｌａｔ  Ｐａｃｋａｇｅ）、ＳＯＩＣ（Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ  Ｐａｃｋａｇｅ）、ＳＳＯＰ（Ｓｈｒｉｎｋ  Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ  Ｐａｃｋａｇｅ）、ＴＳＯＰ（Ｔｈｉｎ  Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ  Ｐａｃｋａｇｅ）、ＴＱＦＰ（Ｔｈｉｎ  Ｑｕａｄ  Ｆｌａｔ  Ｐａｃｋａｇｅ）、ＳＩＰ（Ｓｙｓｔｅｍ  Ｉｎ  Ｐａｃｋａｇｅ）、ＭＣＰ（Ｍｕｌｔｉ−Ｃｈｉｐ  Ｐａｃｋａｇｅ）、ＷＦＰ（Ｗａｆｅｒ−ｌｅｖｅｌ  Ｆａｂｒｉｃａｔｅｄ  Ｐａｃｋａｇｅ）、ＷＳＰ（Ｗａｆｅｒ−ｌｅｖｅｌ  ｐｒｏｃｅｓｓｅｄ  Ｓｔａｃｋ  Ｐａｃｋａｇｅ）、又はその他のパッケイジング方法の１つ以上を利用して実装される。
【００８４】
本発明の実施形態による方法は、入力データを処理し出力を生成して固有の機能を遂行するためにコンピュータープログラムを実行するように構成される１つ以上のプログラム可能なプロセッサによって遂行される。本発明の実施形態による方法は、専用論理回路（Ｓｐｅｃｉａｌ  Ｐｕｒｐｏｓｅｄ  Ｌｏｇｉｃ  Ｃｉｒｃｕｉｔ：例えば、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｈｉｐ）等）によって遂行される。本発明の実施形態による装置又はシステムは専用論理回路（例えば、ＦＰＧＡ、ＡＳＩＣ等）で具現される。
【００８５】
コンピューター読み取り可能な記録媒体は、実行される時に情報処理装置が本発明の実施形態による方法の少なくとも一部を遂行するようにする命令を含む。コンピューター読み取り可能な記録媒体は、磁気媒体、光学媒体、それ以外の他の媒体、又はそれらの組合（例えば、ＣＤ−ＲＯＭ、ハードドライブ、読出し専用メモリ、フラッシュドライブ等）が含まれる。コンピューター読み取り可能な記録媒体は有形的であり、非一時的に具現される。
【００８６】
各々の概念図に示した構成は単なる概念的な観点で理解しなければならない。本発明の理解を助けるために、概念図に示した構成要素の各々の形態、構造、大きさ等は誇張又は縮小して表現した。実際に具現される構成は各々の概念図に示したものと他の物理的形状を有し得る。各々の概念図は構成要素の物理的形状を制限するものではない。
【００８７】
各々のブロック図に示した装置の構成は発明の理解を助けるためのものである。各々のブロックは機能によってさらに小さい単位のブロックで形成され得る。或は、複数のブロックは機能によってさらに大きい単位のブロックを形成し得る。即ち、本発明の技術思想はブロック図に示した構成によって限定されない。
【００８８】
以上、本発明の実施形態について図面を参照しながら詳細に説明したが、本発明は、上述の実施形態は限定されるものではなく、本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
【符号の説明】
【００８９】
１００、２００、２０１、３００    システム
１０２、２０２、    プロセッサ
１０４    入出力装置
１０６    メモリインターコネクト
１０８、２０８、２０９、３０８    ティアメモリシステム
１１２、２１２、３１２ａ、３１２ｂ、３１２ｃ    Ｌ１キャッシュ
１２２、２２２、３２２ａ、３２２ｂ、３２２ｃ    Ｌ２キャッシュ
１３２、２３２、３３２    Ｌ３キャッシュ
１４２    メーンメモリ
１９０    データ
１９１    メモリアドレス
１９２    キャッシュタッグ
１９４    古いデータ
３０２ａ、３０２ｂ、３０２ｃ    （第１、第２、第３）プロセッサ
５００    情報処理システム
５０５    システムバス
５１０    プロセッサ
５１５    組合論理ブロック
５２０    揮発性メモリ
５３０    不揮発性メモリ
５４０    ネットワークインターフェイス
５５０    ユーザーインターフェイス
５６０    その他のハードウェア装置
５７０    ソフトウェア
【図１】
2015185170.tif 000003
【図２】
2015185170.tif 000004
【図３】
2015185170.tif 000005
【図４】
2015185170.tif 000006
【図５】
2015185170.tif 000007
【図６】
2015185170.tif 000008
【図７】
2015185170.tif 000009