(57)【特許請求の範囲】
【請求項１】
仮想アドレスを受信して該仮想アドレスにマッチングするＴＬＢエントリーをＴＬＢ（Ｔｒａｎｓｌａｔｉｏｎ  Ｌｏｏｋａｓｉｄｅ  Ｂｕｆｆｅｒ）中から検索するアドレス変換ユニットと、
前記アドレス変換ユニットからＴＬＢミス信号を受信するＴＩＢ（Ｔｒａｎｓｌａｔｉｏｎ  ｉｎｆｏｒｍａｔｉｏｎ  Ｂｕｆｆｅｒ）を含むページテーブルワークユニットと、を備え、
前記ページテーブルワークユニットは、
前記ＴＩＢ中に、仮想ページスタートアドレス、仮想ページエンドアドレス、及び物理的アドレスの情報を含む少なくとも１つのＴＩＢエントリーを有し、
メモリ及び前記仮想ページエンドアドレスにアクセスして得られた物理的アドレスの情報を用いて、前記仮想アドレスに対応する物理的アドレスが連続的マッピング領域にあるか否かを判断し、
前記連続的マッピング領域によって前記アドレス変換ユニットの管理サイズを調整し、
前記調整された結果得られた新たな管理サイズに従って複数の異なる以後のＴＬＢエントリーを割り当てることを特徴とするメモリシステム。
【請求項２】
前記メモリは、ページテーブルを含み、
前記ページテーブルワークユニットは、インターフェースを介して前記メモリにアクセスし、前記仮想アドレスに対応する物理的アドレスが連続的マッピング領域をなすように前記アドレス変換ユニットの管理サイズを調整することを特徴とする請求項１に記載のメモリシステム。
【請求項３】
前記メモリのページテーブルは、前記仮想アドレスを前記物理的アドレスにマッピングすることを特徴とする請求項２に記載のメモリシステム。
【請求項４】
前記アドレス変換ユニットに前記仮想アドレスを提供する汎用レジスタを更に含むことを特徴とする請求項１に記載のメモリシステム。
【請求項５】
前記汎用レジスタは、前記仮想アドレスを発生させる複数のアドレスレジスタの各々を含むことを特徴とする請求項４に記載のメモリシステム。
【請求項６】
仮想アドレスを発生させるＣＰＵと、
メモリに対するアクセスを管理し、前記ＣＰＵから前記仮想アドレスを受信して該仮想アドレスを物理的アドレスにマッピングするＭＭＵ（メモリ管理ユニット）と、を備え、
前記メモリは、前記仮想アドレスを物理的アドレスにマッピングするページテーブルを含み、
前記ＭＭＵは、
前記メモリにアクセス可能であり、
前記仮想アドレスを受信して該仮想アドレスにマッチングするＴＬＢエントリーをＴＬＢ（Ｔｒａｎｓｌａｔｉｏｎ  Ｌｏｏｋａｓｉｄｅ  Ｂｕｆｆｅｒ）中から検索するアドレス変換ユニットと、
前記アドレス変換ユニットからＴＬＢミス信号を受信するＴＩＢ（Ｔｒａｎｓｌａｔｉｏｎ  ｉｎｆｏｒｍａｔｉｏｎ  Ｂｕｆｆｅｒ）を含むページテーブルワークユニットと、を有し、
前記ページテーブルワークユニットは、
前記ＴＩＢ中に、仮想ページスタートアドレス、仮想ページエンドアドレス、及び物理的アドレスの情報を含む少なくとも１つのＴＩＢエントリーを有し、
メモリ及び前記仮想ページエンドアドレスにアクセスして得られた物理的アドレスの情報を用いて、前記仮想アドレスに対応する物理的アドレスが連続的マッピング領域にあるか否かを判断し、
前記連続的マッピング領域によって前記アドレス変換ユニットの管理サイズを調整し、
前記調整された結果得られた新たな管理サイズに従って複数の異なる以後のＴＬＢエントリーを割り当てることを特徴とするメモリシステム。
【請求項７】
前記ページテーブルワークユニットは、前記ページテーブルワークユニット及び前記アドレス変換ユニットに関連するインターフェースを介して前記メモリにアクセスすることを特徴とする請求項６に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリシステムに係り、より具体的には、メモリシステムとしての性能低下を軽減しうるメモリシステムに関する。
【背景技術】
【０００２】
システム内のプロセッサは、メモリマッピング（ｍｅｍｏｒｙ  ｍａｐｐｉｎｇ）を用いて仮想アドレスを物理的アドレスにマッピングする。例えば、プロセッサの実行ユニットによって生成されたアドレス空間は、仮想アドレス空間と称され、システム上で利用可能なハードウェアメモリ内の位置に対応するアドレス空間は、物理的アドレス空間と称される。
【０００３】
通常のメモリシステムの運用方法によればＣＰＵからメインメモリへのアクセスが、物理的アドレス空間が連続的な場合にも、一律の固定された仮想アドレス管理サイズ（例えば、４ＫＢ）でなされるので、ＣＰＵからメインメモリへのアクセス回数が増加してシステムの性能に負担を与えるという問題点がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、物理的アドレス空間が連続する連続的マッピング領域に対する場合に、一度でメモリを割り当てることにより、ＣＰＵからメインメモリへのアクセス回数を低減できるメモリシステムを提供することにある。
【課題を解決するための手段】
【０００５】
本発明によるメモリシステムは、仮想アドレスを入力されて、前記仮想アドレスとマッチングするＴＬＢエントリーをＴＬＢ（Ｔｒａｎｓｌａｔｉｏｎ  Ｌｏｏｋａｓｉｄｅ  Ｂｕｆｆｅｒ）中から検索するアドレス変換ユニットと、前記アドレス変換ユニットと連結され、前記仮想アドレスとマッチングするＴＬＢエントリーがない場合、仮想アドレスに対応する物理的アドレスが連続的マッピング領域にあるか否かを判断するページテーブルワークユニットと、を含むことを特徴とする。
【０００６】
前記ページテーブルワークユニットは、前記判断結果、前記仮想アドレスに対応する物理的アドレスが連続的マッピング領域にある場合、前記連続的マッピング領域によって仮想アドレス管理サイズを調整しうる。
また、前記ページテーブルワークユニットは、前記調整された仮想アドレス管理サイズを前記アドレス変換ユニットに伝達しうる。
また、前記アドレス変換ユニットは、前記調整された仮想アドレス管理サイズに従って前記ＴＬＢエントリーを割り当てて以後のデータを検索しうる。
また、本メモリシステムは、メモリをさらに含みうる。
また、前記ページテーブルワークユニットは、インターフェースを経由して、前記メモリにアクセスし、その結果持ってきた前記仮想アドレスに対応する物理的アドレスが連続的マッピング領域にある場合、前記仮想アドレス管理サイズを調整しうる。
また、前記メモリは、前記仮想アドレスを物理的アドレスにマッピングするページテーブルを含みうる。
また、前記ページテーブルワークユニットは、複数のＴＩＢエントリーからなるＴＩＢ（Ｔｒａｎｓｌａｔｉｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂｕｆｆｅｒ）を含み、前記ＴＩＢエントリーは、仮想ページスタートアドレス、仮想ページエンドアドレス、及び物理的アドレス情報を含みうる。
また、前記ページテーブルワークユニットは、前記メモリにアクセスして持って来た物理的アドレス情報と前記仮想アドレスに対応する物理的アドレス情報とが連続的マッピング領域にあるか否かを、前記仮想ページエンドアドレスを用いて判断しうる。
また、前記ページテーブルワークユニットは、前記仮想アドレス管理サイズ及び前記調整された仮想アドレス管理サイズを保存しうる。
また、本メモリシステムは、前記アドレス変換ユニットに仮想アドレスを提供する汎用レジスタを含みうる。
また、前記汎用レジスタは、前記仮想アドレスを発生させる複数のアドレスレジスタを含みうる。
【０００７】
本発明によるメモリシステムは、仮想アドレスを発生させるＣＰＵと、前記仮想アドレスを物理的アドレスにマッピングするページテーブルを含むメモリと、前記ＣＰＵの前記メモリへのアクセスを管理し、前記ＣＰＵから前記仮想アドレスを入力されて前記物理的アドレスにマッピングするＭＭＵ（メモリ管理ユニット）と、を含み、前記ＭＭＵは、前記メモリにアクセスしうる。
前記ＭＭＵは、前記仮想アドレスを入力されて、前記仮想アドレスとマッチングするＴＬＢエントリーを検索するアドレス変換ユニットと、前記アドレス変換ユニットと連結され、前記仮想アドレスとマッチングするＴＬＢエントリーがない場合、前記仮想アドレスに対応する物理的アドレスが連続的マッピング領域にあるか否かを判断するページテーブルワークユニットと、を含む。
【０００８】
前記ページテーブルワークユニットは、前記判断結果、前記仮想アドレスに対応する物理的アドレスが連続的マッピング領域にある場合、当該連続的マッピング領域によって、前記仮想アドレス管理サイズを調整し、前記調整された仮想アドレス管理サイズに従ってＴＬＢエントリーを割り当ててデータを検索しうる。
また、前記ページテーブルワークユニットは、インターフェースを経由して前記メモリにアクセスしうる。
【０００９】
本発明の一実施形態によるメモリシステムの運用方法は、仮想アドレスに対応する物理的アドレスが連続的マッピング領域にあるか否かを判断する段階と、該判断結果、前記仮想アドレスに対応する物理的アドレスが連続的マッピング領域にある場合、当該連続的マッピング領域によって仮想アドレス管理サイズを調整する段階と、を含みうる。
また、前記メモリシステムの運用方法は、前記判断する段階以前に、前記仮想アドレスに対応する物理的アドレスを含むＴＬＢエントリーを検索する段階をさらに含みうる。
また、前記メモリシステムの運用方法は、前記調整された仮想アドレス管理サイズに基づいてＴＬＢエントリーを割り当てる段階を含みうる。
また、前記メモリシステムの運用方法は、前記ＴＬＢエントリーを検索する段階以前に、前記仮想アドレスを発生させる段階を含みうる。
また、調整前の仮想アドレス管理サイズは、４ＫＢでありうる。
【発明の効果】
【００１０】
本発明によるメモリシステムでは、仮想アドレスに対応する物理的アドレスが連続的マッピング領域にあるか否かを判断するので、物理的アドレスが連続的マッピング領域にある場合、一度でメモリを割り当てることにより、ＣＰＵからメインメモリへのアクセス回数を低減できる。
【図面の簡単な説明】
【００１１】
本発明の詳細な説明で引用する図面がより容易に理解されるように、各図面の簡単な説明をここに提供する。
【図１】（Ａ）は、本発明の一実施形態によるメモリシステムを示す図であり、（Ｂ）は、本発明の一実施形態によるメモリシステムをより具体的に示す図である。
【図２】図１（Ｂ）のＴＬＢを説明するための図である。
【図３】図２のＴＬＢエントリーを説明するための図である。
【図４】図１（Ｂ）のＴＩＢを説明するための図である。
【図５】図４のＴＩＢエントリーを説明するための図である。
【図６】図１（Ｂ）のメモリを説明するための図である。
【図７】本発明の一実施形態によるメモリシステムの運用方法を説明する図である。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照しながら本発明の望ましい実施形態を説明することによって、本発明を詳しく説明する。各図面に付された同じ参照符号は、同じ部材を表わす。
図１（Ａ）は、本発明の一実施形態によるメモリシステムを示す図であり、図１（Ｂ）は、本発明の一実施形態によるメモリシステムをより具体的に示す図である。図２は、図１（Ｂ）のＴＬＢを説明するための図であり、図３は、図２のＴＬＢエントリー（Ｅｎｔｒｙ）を説明するための図である。図４は、図１（Ｂ）のＴＩＢを説明するための図であり、図５は、図４のＴＩＢエントリーを説明するための図である。
【００１３】
図１（Ａ）を参照すると、メモリシステム１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２５０、ＭＭＵ（Ｍｅｍｏｒｙ  Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔ、メモリ管理ユニット）２００、及びメインメモリ（以下、単にメモリという）１５０を含む。
ＣＰＵ２５０が、仮想アドレス（Ｖｉｒｔｕａｌ  Ａｄｄｒｅｓｓ）を発生すると、ＭＭＵ２００は、前記仮想アドレスを物理的アドレスにマッピングしてメモリ１５０にアクセスする。
メモリ１５０は、前記仮想アドレスと物理的アドレスとを連結するテーブルであるページテーブル１５２を含む。
【００１４】
メモリ１５０は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、及び不揮発性メモリ（ＮＶＭ、Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｖｅｍｏｒｙ）を含み、不揮発性メモリは、ＥＥＰＲＯＭ、フラッシュメモリ、ＭＲＡＭ（Ｍａｇｎｅｔｉｃ  ＲＡＭ）、スピン伝達トルクＭＲＡＭ（Ｓｐｉｎ−Ｔｒａｎｓｆｅｒ  Ｔｏｒｑｕｅ  ＭＲＡＭ）、ＦｅＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｉｒｉｃ  ＲＡＭ）、ＰＲＡＭ（Ｐｈａｓｅ  ｃｈａｎｇｅ  ＲＡＭ）、ＲＲＡＭ（Ｒｅｓｉｓｔｉｖｅ  ＲＡＭ）、ナノチューブＲＲＡＭ（ｎａｎｏｔｕｂｅ  ＲＲＡＭ）、ポリマーＲＡＭ（Ｐｏｌｙｍｅｒ  ＲＡＭ）、ナノフローティングゲートメモリ（Ｎａｎｏ  Ｆｌｏａｔｉｎｇ  Ｇａｔｅ  Ｍｅｍｏｒｙ）、ホログラフィックメモリ（Ｈｏｌｏｇｒａｐｈｉｃ  Ｍｅｍｏｒｙ）、分子電子メモリ素子（Ｍｏｌｅｃｕｌａｒ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｍｅｍｏｒｙ  Ｄｅｖｉｃｅ）、又は絶縁抵抗変化メモリ（Ｉｎｓｕｌａｔｏｒ  Ｒｅｓｉｓｔａｎｃｅ  Ｃｈａｎｇｅ  Ｍｅｍｏｒｙ）を含む。
【００１５】
図１（Ｂ）は、図１（Ａ）に示したメモリシステム１００をより具体的に示すための図であって、図１（Ｂ）のメモリシステム１００は、汎用レジスタ（Ｇｅｎｅｒａｌ  Ｒｅｓｉｓｔｅｒ）１１０、アドレス変換ユニット（Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ  Ｕｎｉｔ）１２０、ページテーブルワークユニット（Ｐａｇｅ  Ｔａｂｌｅ  Ｗａｌｋ  Ｕｎｉｔ）１３０、インターフェース（Ｉｎｔｅｒｆａｃｅ）１４０、及びメモリ１５０を含む。この際、汎用レジスタ１１０は、図１（Ａ）に示したＣＰＵ２５０の内部に含まれ、アドレス変換ユニット１２０及びページテーブルワークユニット１３０は、図１（Ａ）に示したようにＭＭＵ２００の内部に含まれる。
【００１６】
メモリシステム１００は、携帯用端末機、デジタルカメラ、ノート型パソコン、又はＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、携帯電話（ｃｅｌｌｕｌａｒ  ｐｈｏｎｅ）、又はＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）のような各種電子機器などに該当するが、これらの電子機器に限定されるものではない。
【００１７】
メモリシステム１００はページ化されており、データは、一般的にページと称されるメモリの一定長ブロックにグループ化される。例えば、メモリの最小アドレス単位がバイトの場合、順次アドレスセットは順次アドレスを有する複数のバイトから構成され、ページは、特定数のバイトで構成される順次アドレスセットのブロックとして定義される。
【００１８】
前記ページのそれぞれは、２の累乗個のバイトで構成できる。即ち、各ページのサイズは例えば、２１２＝４０９６バイト（４ＫＢと略記される）である。
【００１９】
メモリシステム１００のメモリアドレッシングは、ページング（ｐａｇｉｎｇ）を用いて仮想メモリを具現できる。ページングを利用する場合、仮想アドレス空間は、ページ（ｐａｇｅ）と称される固定されたサイズのブロックに分割され、それぞれのページは、任意の物理的アドレスにマッピング（又は、変換）される。例えば、メモリシステム１００は、ページテーブルワークユニット１３０による所定のメモリシステムの運用方法（又は、アルゴリズム）に従って、ページテーブル（Ｐａｇｅ  Ｔａｂｌｅ）１５２を用いて仮想アドレス−物理的アドレスに対する現在のマッピングを決定及び保持する。
【００２０】
ページテーブル１５２は、メモリ１５０内に存在するが、ページング変換を加速するために生成された仮想アドレス−物理的アドレス変換機能の一部は、後述のＴＬＢ（Ｔｒａｎｓｌａｔｉｏｎ  Ｌｏｏｋａｓｉｄｅ  Ｂｕｆｆｅｒ）１２２内に、又は後述のＴＩＢ（Ｔｒａｎｓｌａｔｉｏｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂｕｆｆｅｒ）１３２に保存される。
【００２１】
このような変換されたメモリアドレスは、本明細書では物理的メモリアドレスとして説明したが、他の実施形態で、このような変換されたメモリアドレスは、他の用途に利用されうる。例えば、物理的アドレスを得る前に、このような変換されたメモリアドレスに対して追加的な変換が実行可能である。
【００２２】
また、本発明の一実施形態は、仮想メモリアドレス空間の変換に関連して説明したが、他の実施形態では、本発明を変形して他のタイプのアドレスの変換も行われうる。
【００２３】
メモリシステム１００では、仮想アドレス空間と物理的アドレス空間との間にマッピングが行われる。例えば、仮想アドレス空間と物理的アドレス空間は、いずれもページに分けられて、仮想ページ番号情報を物理的ページ番号情報にマッピングし、仮想アドレスの下位Ｎビットを物理的ページ番号に連結することによって、物理的アドレスへの仮想アドレスからのマッピングが達成される。
【００２４】
即ち、仮想及び当該物理的アドレスは、常に同じ下位ビット数Ｎを有し、ここで、Ｎは、ページサイズ（例えば、Ｌバイトとする）に対して２を基底とするｌｏｇを取った値、ｌｏｇ２Ｌである。従って、仮想アドレス空間と物理的アドレス空間は、連続したアドレスからなるページ単位のブロックに分割され、各仮想アドレスは、仮想ページ番号情報を提供し、各当該物理的ページ番号情報は特定ページの、メモリ１５０内での位置を指示する。
【００２５】
メモリ１５０のページテーブル１５２は、メモリシステム１００のあらゆる仮想ページ番号に対応する物理的ページ番号情報を含む。言い換えれば、仮想アドレス空間内のあらゆる仮想ページの各々について、その仮想ページのアドレス情報と対応する物理的ページのアドレス情報との間のマッピング情報を含む。
【００２６】
図６に示すように、ページテーブル１５２は、複数のページテーブルエントリー１５４を含み、それぞれのページテーブルエントリー１５４は、特定仮想アドレス情報に対応するメモリ１５０の物理的ページ１５６を指示する。
【００２７】
アドレス変換ユニット１２０は、ＴＬＢ１２２を含み、ページテーブルワークユニット１３０は、ＴＩＢ１３２を含む。
汎用レジスタ１１０は、複数のアドレスレジスタを含み、図１（Ｂ）では、その一例に該当するアドレスレジスタ１１２を図示する。
【００２８】
図１（Ｂ）を参照すると、アドレスレジスタ１１２は、下位ビットにページオフセット情報を含み、上位ビットに仮想ページ番号情報を含む。この際、前記仮想ページ番号情報は、メモリの複数のページのうち、特定ページを指定する情報に該当し、前記ページオフセット情報は、前記特定ページの中の特定位置を指定する情報に該当する。
【００２９】
例えば、アドレスレジスタ１１２が、３２ビットレジスタである場合、下位の第０ないし第９ビットは、ページオフセット情報を含み、上位の第１０ないし第３１ビットは、仮想ページ番号情報を含む。
【００３０】
アドレスレジスタ１１２は、アドレス変換ユニット１２０に仮想アドレスを提供する。アドレス変換ユニット１２０は、ＴＬＢ１２２を検索して、ＴＬＢエントリー（ＴＬＢ  Ｅｎｔｒｙ）１２４のいずれかがアドレスレジスタ１１２によって提供された仮想アドレスとマッチングするタグＴＡＧを有するか否かを判断する。
上記ＴＬＢ１２２の検索に際しては、後述するように、ページテーブルワークユニット１３０から伝達された仮想アドレス管理サイズに従って複数のＴＬＢエントリーを検索する。
【００３１】
該検索結果、ＴＬＢヒット（ｈｉｔ）である場合、即ちＴＬＢミス（ｍｉｓｓ）でない場合、具体的には、アドレスレジスタ１１２の仮想アドレスとマッチングするタグＴＡＧを有するＴＬＢエントリーが存在する場合、アドレス変換ユニット１２０は当該ＴＬＢ１２２から物理的アドレスを検出し、メモリ１５０にアクセスしてページテーブル１５２の検索が行われる。
【００３２】
該検索結果、ＴＬＢミス（ｍｉｓｓ）である場合、即ち、アドレスレジスタ１１２の仮想アドレスとマッチングするタグＴＡＧを有するＴＬＢエントリー１２４が存在しない場合、アドレス変換ユニット１２０は、ページテーブルワークユニット１３０を通じてメモリ１５０にアクセスしてページテーブル１５２の検索が行われる。
【００３３】
ＴＬＢ１２２は、複数のＴＬＢエントリーを含み、図２及び図３には、前記複数のＴＬＢエントリーの一例であるＴＬＢエントリー１２４が示される。ＴＬＢエントリー１２４は、仮想ページ番号情報を含むタグＴＡＧ、物理的ページ番号情報を含むデータＤＡＴＡを含む。また、ＴＬＢエントリー１２４は、破線で示したように、読み取り／書き込みのようなメモリ属性（Ｍｅｍｏｒｙ  Ａｔｔｒｉｂｕｔｅｓ）をさらに含みうる。
【００３４】
図１（Ｂ）では、アドレス変換ユニット１２０がＭＭＵ２００の内部に含まれる場合を示したが、汎用レジスタ１１０及びページテーブルワークユニット１３０と共にＣＰＵ２５０の内部に含まれうる。
【００３５】
ページテーブルワークユニット１３０は、ＴＩＢ１３２を含む。ＴＩＢ１３２は、前記生成された物理的アドレス情報を保存する。この際、ＴＩＢ１３２は、複数のＴＩＢエントリー（ＴＩＢ  Ｅｎｔｒｙ）を含み、その一例であるＴＩＢエントリー１３４を、図４に示す。
【００３６】
ページテーブルワークユニット１３０は、ＴＬＢミスである場合、複数のＴＩＢエントリー１３４を含むＴＩＢ１３２を検索して、当該仮想アドレスに対応する物理的アドレスが連続的マッピング領域にあるか否かを判断し、連続的マッピング領域にあるならば、当該連続的マッピング領域によって仮想アドレス管理サイズを調整して、アドレス変換ユニット１２０にこれを伝達する。以後、アドレス変換ユニット１２０は、前記調整された仮想アドレス管理サイズに従ってＴＬＢエントリー１２４を割り当てる。
【００３７】
例えば、仮想アドレス管理サイズが４ＫＢであれば、通常、アドレス変換ユニット１２０は、４ＫＢ単位でＴＬＢエントリー１２４を割り当ててデータを検索するが、本発明の一実施形態によれば、ページテーブルワークユニット１３０は、当該仮想アドレスに対応する物理的アドレスが連続的マッピング領域にあるか否か、即ち、既存のＴＩＢエントリー１３４のいずれかの物理的アドレス又は物理的アドレスマッピング領域に連続するか否か、を、前記仮想ページエンドアドレスを用いて判断する。
当該物理的アドレスが連続的マッピング領域にある場合、ページテーブルワークユニット１３０は、当該連続的マッピング領域によって、即ち、当該物理的アドレスを含むように当該連続的マッピング領域を拡大し、当該拡大された連続的マッピング領域に合わせて、前記仮想アドレス管理サイズを調整（例えば、４ＫＢを１ＭＢに拡大調整）して当該ＴＩＢエントリー１３４をアップデートし、これをアドレス変換ユニット１２０に伝達し、アドレス変換ユニット１２０は、前記調整された仮想アドレス管理サイズに従ってＴＬＢエントリー１２４を割り当て、以後このＴＬＢエントリーを用いてデータを検索する。
【００３８】
仮想アドレスに対応する物理的アドレスが連続的マッピング領域にない場合は、ＴＩＢ１３２は、メモリ１５０にアクセスする。
図５を参照すると、ＴＩＢエントリー１３４は、仮想ページ開始アドレス（ＶＰＳＡ、Ｖｉｒｔｕａｌ  Ｐａｇｅ  Ｓｔａｒｔ  Ａｄｄｒｅｓｓ）、仮想ページエンドアドレス（ＶＰＥＡ、Ｖｉｒｔｕａｌ  Ｐａｇｅ  Ｅｎｄ  Ａｄｄｒｅｓｓ）、及び物理的アドレス情報（ＰＰＢＡ、Ｐｈｙｓｉｃａｌ  Ｐａｇｅ  Ｂａｓｉｃ  Ａｄｄｒｅｓｓ）を保存し、メモリ１５０にアクセスして持って来た物理的アドレス情報とＴＩＢエントリーに含まれる仮想アドレスに対応する物理的アドレス情報とが連続的マッピング領域をなすか否かを仮想ページエンドアドレスＶＰＥＡを用いて確認できる。
【００３９】
ページテーブルワークユニット１３０は、連続的マッピング領域によって、仮想アドレス管理サイズを調整する場合、前記調整された仮想アドレス管理サイズ情報を保存し、ＴＬＢ１２２にこれを伝達して保存させることもできる。
【００４０】
例えば、ＴＬＢミスの場合、ページテーブルワークユニット１３０がメモリ１５０のページテーブル１５２にアクセスして持って来た物理的アドレス情報が既に保存している物理的アドレス情報と連続的マッピング領域をなすと判断される場合、ページテーブルワークユニット１３０は、既存ＴＩＢエントリー１３４を更新すると共に、既存仮想アドレス管理サイズを新たな仮想アドレス管理サイズに調整／アップデートして保存する。
【００４１】
また、既に保存されたＴＩＢエントリー１３４によってＴＩＢ１３２の保存空間が一杯である場合には、ページテーブルワークユニット１３０は、既存情報のうち、特定情報、例えば、最も小さなサイズの仮想アドレス管理サイズ情報を有するＴＩＢエントリー１３４、を削除し、調整されアップデートされた仮想アドレス管理サイズを保存する。
【００４２】
図６は、図１（Ｂ）のメモリを説明するための図である。図６を参照すると、メモリ１５０は、ページテーブル１５２、及び複数のページ１５６を含む。
ページテーブル１５２は、複数のページテーブルエントリーを含み、その一例であるページテーブルエントリー（Ｐａｇｅ  Ｔａｂｌｅ  Ｅｎｔｒｙ）１５４を図示する。
【００４３】
ページテーブルエントリー１５４は、仮想アドレスに対応するメモリ１５０の物理的ページ１５６を指示する。例えば、ページテーブルエントリー１５４は、ページの物理アドレスと共に当該ページについてのアクセス情報を保存する。
【００４４】
図７は、本発明の一実施形態によるメモリシステムの運用方法を説明する図である。図７のメモリシステムの運用方法は、図１（Ｂ）に示したメモリシステム１００によって行われる。
【００４５】
図１（Ａ）（Ｂ）ないし図７を参照すると、アドレス変換ユニット１２０は、ＴＬＢミスである場合か否か、即ち、アドレスレジスタ１１２の仮想アドレスに対応する物理的アドレスを含むＴＬＢエントリー１２４をＴＬＢ１２２から探し出すことができなかった場合か否かを判断する（ステップＳ１１０）。
【００４６】
該判断結果、ＴＬＢミスでない場合、即ちＴＬＢヒットである場合、探し出したＴＬＢエントリー１２４から当該仮想アドレスに対応する物理的アドレスを検索する（ステップＳ１２０）。
【００４７】
該判断結果、ＴＬＢミスであれば、ページテーブルワークユニット１３０は、当該仮想アドレスに対応する物理的アドレスが連続的マッピング領域にあるか否かを判断する（ステップＳ１３０）。
【００４８】
該判断結果、当該仮想アドレスに対応する物理的アドレスが連続的マッピング領域にない場合、ページテーブルワークユニット１３０は、メモリ１５０にアクセスしてページテーブル１５２を検索する（ステップＳ１４０）。
【００４９】
該判断結果、仮想アドレスに対応する物理的アドレスが連続的マッピング領域にある場合、ページテーブルワークユニット１３０は、当該連続的マッピング領域によって、仮想アドレス管理サイズを調整して、アドレス変換ユニット１２０に伝達する（ステップＳ１５０）。例えば、既存の前記仮想アドレス管理サイズが４ＫＢである場合、連続的マッピング領域によって、マッピング領域が当初の４ＫＢから拡大されて、当該連続的マッピング領域が例えば１ＭＢになる場合には、ページテーブルワークユニット１３０は、前記仮想アドレス管理サイズを１ＭＢに調整して、アドレス変換ユニット１２０に伝達し、アドレス変換ユニット１２０は、１ＭＢ単位でＴＬＢエントリー１２４を割り当ててデータを検索する。
【００５０】
これにより、本発明の一実施形態によるメモリシステムの運用方法によれば、連続的マッピング領域の場合に、一度にメモリが割り当てられることができて、メモリ１５０にアクセスすることを減らすことができるために、４ＫＢ単位でのみ割り当てられる場合に比べて、システムの性能がさらに効率的である。
【００５１】
本発明は、またコンピュータで読み取り可能な記録媒体にコンピュータで読み取り可能なコードとして具現可能である。コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取れるデータが保存されるあらゆる種類の記録装置を含む。
【００５２】
コンピュータで読み取り可能な記録媒体の例としては、ＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピー（登録商標）ディスク、光データ保存装置などがあり、また、本発明による客体情報推定方法を行うためのプログラムコードは、キャリアウェーブ（例えば、インターネットを通じる伝送）の形態で伝送することもできる。また、コンピュータで読み取り可能な記録媒体は、ネットワークで連結されたコンピュータシステムに分散されて、分散方式でコンピュータで読み取り可能なコードが保存されて実行可能である。そして、本発明を具現するための機能的な（ｆｕｎｃｔｉｏｎａｌ）プログラム、コード及びコードセグメントは、本発明が属する技術分野のプログラマーによって容易に具現される。
【００５３】
本発明は、図面に示した一実施形態を参照して説明したが、これは例示的なものに過ぎず、当業者ならば、これより多様な変形及び均等な他実施形態が可能であるという点を理解できるであろう。従って、本発明の真の技術的保護範囲は、特許請求の範囲の技術的思想によって決定されるべきである。
【産業上の利用可能性】
【００５４】
本発明は、メモリシステム及びその運用方法関連の技術分野に適用可能である。
【符号の説明】
【００５５】
１００    メモリシステム
１１０    汎用レジスタ
１１２    アドレスレジスタ
１２０    アドレス変換ユニット
１２２    ＴＬＢ
１２４    ＴＬＢエントリー
１３０    ページテーブルワークユニット
１３２    ＴＩＢ
１３４    ＴＩＢエントリー
１４０    インターフェース
１５０    メモリ
１５２    ページテーブル
１５４    ページテーブルエントリー
１５６    物理的ページ
２００    ＭＭＵ
２５０    ＣＰＵ
【図１】
0005945403.tif 000002
【図２】
0005945403.tif 000003
【図３】
0005945403.tif 000004
【図４】
0005945403.tif 000005
【図５】
0005945403.tif 000006
【図６】
0005945403.tif 000007
【図７】
0005945403.tif 000008