(57)【要約】データの格納と検索とを管理する能力を改善する回路構成および方法を用いることにより半導体装置の信頼性と動作性とが改善される。この発明の１つの実施形態の具体例によれば、メモリ装置は、複数のページを有する動的に構成可能なページテーブルを備えている。このページテーブルは、少なくとも２つの組織に動的に構成可能であり、それぞれのページはデータを記憶するため設けられた多数のメモリ記憶配置を備えている。コントローラは、メモリ要求を探知するため、および、メモリリフレッシュの間に前記ページテーブルを少なくとも２つの組織のうちの１つに構成するため、設けられ、この構成は、探知された前記メモリ要求に応答して達成される。このようにして、ページテーブルは、データの格納と検索の効果と速度とを改善するため設けることができる。
2004522226.tif 000002
【特許請求の範囲】
【請求項１】
各ページがデータを記憶するため適合された多数のメモリ格納構成を有し、少なくとも２つの組織（organizations）に対して動的に構成可能であるページテーブルと、
メモリレリフレッシュサイクルの間に、メモリ要求を探知（track）して、この探知されたメモリ要求に応答して前記ページテーブルを前記少なくとも２つの組織のうちの１つに構成するため設けられたコントローラと、
を備えるメモリ装置。
【請求項２】
前記コントローラは、前記ページテーブルを、
完全（fully）連想組織と、
集合（set）連想組織と、
の少なくとも１つに構成するため設けられた請求項１に記載のメモリ装置。
【請求項３】
前記完全連想組織は、多数のクロック・サイクル・ルックアップ・アクセス時間により特徴づけられる請求項２に記載のメモリ装置。
【請求項４】
前記集合連想組織は、シングル・クロック・サイクルよりも短いルックアップ時間により特徴づけられる請求項２に記載のメモリ装置。
【請求項５】
前記コントローラは、第１の組織および第２の組織の内の少なくとも１つに前記ページテーブルを構成するため設けられ、前記第１の組織は、第２の組織に比較してより少ないデータ管理衝突損失により特徴づけられ、前記第２の組織は、前記第１の組織に比較してより速いデータアクセス時間により特徴づけられる請求項１に記載のメモリ装置。
【請求項６】
前記コントローラは、前記メモリ要求を探知するため設けられた探知（tracking）回路と、前記探知されたメモリ要求に応答して少なくとも２つの組織のうちの１つに前記ページテーブルを構成するため設けられた構成（configuration）回路とを備える請求項１に記載のメモリ装置。
【請求項７】
前記コントローラは、オープンページテーブルが閉められたときにメモリリフレッシュの間に前記ページテーブルを構成するため設けられたクレーム１に記載のメモリ装置。
【請求項８】
前記コントローラは、メモリエントリーを動かすことなく、前記ページテーブルの前記組織を変化させるため設けられている請求項１に記載のメモリ装置。
【請求項９】
前記コントローラは、物理的なバンクヒットを示すページ損失を探知するため設けられた第１のカウンタと、物理的なバンク損失を探知するため設けられた第２のカウンタと、の２つのカウンタを保持するため設けられている請求項１に記載のメモリ装置。
【請求項１０】
前記コントローラは、集合連想である前記ページテーブル組織に応答するデータエントリーのためのＬＲＵ格納配置を置き換えることのない損失のみを探知するため設けられている請求項９に記載のメモリ装置。
【請求項１１】
前記コントローラは、完全連想ベース上のテーブルにおけるデータエントリーのＬＲＵを探知するため設けられている請求項９に記載のメモリ装置。
【請求項１２】
前記第１および第２のカウンタは、それぞれのカウンタ用の多数の探知された損失を表す値を記憶するため設けられており、前記コントローラはさらに、前記記憶された値を比較するため、物理的なバンクヒットを示す多数のページ損失よりも大きい多数の物理的なバンク損失に応答して前記ページテーブルを完全連想組織に構成するため、および、前記多数の物理的なバンク損失よりも大きい物理的なバンクヒットを示す多数のページ損失に応答して前記ページテーブルを集合連想組織に構成するため設けられている請求項９に記載のメモリ装置。
【請求項１３】
前記コントローラは、物理的なバンクヒットを示す多数のページ損失よりも大きな選択量である多数の物理的なバンク損失に応答して、前記ページテーブルの構成を集合連想組織から完全連想組織へと変更するため設けられている請求項９に記載のメモリ装置。
【請求項１４】
前記コントローラは、ユーザ入力を受け入れて、このユーザ入力に応答して前記選択された量を設定するため設けられている請求項１３に記載のメモリ装置。
【請求項１５】
前記コントローラは、多数の物理的なバンク損失よりも大きな選択量である物理的なバンクヒットを示す多数のページ損失に応答して前記ページテーブルの構成を完全連想組織から集合連想組織へと変更するため設けられている請求項９に記載のメモリ装置。
【請求項１６】
前記コントローラは、ユーザ入力を受け入れて、このユーザ入力に応答して前記選択量を設定するため設けられている請求項１５に記載のメモリ装置。
【請求項１７】
前記コントローラは、完全連想ベース上の前記テーブル内のデータエントリー用のＬＲＵ格納配置を探知するため設けられている請求項１に記載のメモリ装置。
【請求項１８】
データを記憶して要求に応答してこの記憶されたデータをアクセス可能にし、複数のページを有し、各ページは前記データを記憶するため設けられた多数のメモリ格納配置を有し、メモリリフレッシュサイクルの間に少なくとも２つの組織の動的に構成可能であるページテーブルを有するメモリと、
物理的なバンクヒットを示すページ損失を探知するため設けられた第１のカウンタと、
物理的なバンク損失を探知するため設けられた第２のカウンタと、
前記第１および第２のカウンタにより探知された損失を比較するため設けられた比較配置と、
メモリリフレッシュサイクルの間に少なくとも２つの組織のうちの１つに前記ページテーブルを構成するため設けられ、前記構成は前記比較に応答して行なわれるコントローラと、
を備えるデータ記憶配置。
【請求項１９】
データを記憶する手段と、各ページがデータを記憶するため設けられた多数のメモリ記憶配置を有する複数のページを有する手段と、少なくとも２つの組織に対して動的に構成可能なデータを記憶するための手段と、
メモリ要求を探知するため、および、メモリリフレッシュサイクルの間に、少なくとも２つの組織のうちの１つに対してデータを記憶させるために探知されたメモリ要求に応答して構成するため、設けられた制御手段と、
を備えるメモリ装置。
【請求項２０】
メモリ内にデータを記憶させるための方法であって、
各ページがデータを記憶させるため設けられた多数のメモリ記憶配置を有する多数のページを備えると共に少なくとも２つの組織に動的に構成可能であるページテーブル内にデータを格納し、
メモリ要求を探知すると共にこの探知されたメモリ要求に応じて達成されるようにメモリリフレッシュの間に少なくとも２つの組織の１つに対して前記ページテーブルを構成する方法。
【請求項２１】
メモリ要求を探知することは、第１のカウンタでの物理的なバンクヒットを示すページ損失を探知することと、第２のカウンタでの物理的なバンク損失を探知すること、とを含み、前記ページテーブルを構成することは、前記第１および第２のカウンタにより探知された損失を比較することと、物理的なバンクヒットを示す多数のページ損失よりも大きな選択量である多数の物理的なバンク損失に応答して前記ページテーブルが集合連想構成内にあるときに、前記ページテーブルの構成を集合連想組織から完全連想組織へと変更することと、多数の物理的なバンク損失よりも大きな選択量である物理的なバンクヒットを示す多数のページ損失に応答して前記ページテーブルが完全連想構成内にあるときに、前記ページテーブルの構成を完全連想組織から集合連想組織へと変更すること、とを含む請求項２０に記載された方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般的には半導体装置に係り、より詳しくは半導体装置メモリに関する。
【背景技術】
【０００２】
近年、半導体産業は、回路密度と複雑さの劇的な増大と共に電力消費とパッケージサイズの劇的な減少を許容する、極めて飛躍的な技術的進歩を実現している。現在の半導体技術は何百万個のトランジスタを備えて、数百ＭＩＰＳ（millions of instructions per second―秒当たり数百万の指令―）の速度で動作するシングルチップマイクロプロセッサを相対的に小さく、空冷の半導体装置パッケージにパッケージ化することを今や可能にしている。これに加えて、増加された動作速度は、例えば、コンピュータやセルラ電話機や他の電子製品のような半導体装置に関連する製品の使用のために、広範囲にわたる需要をもたらしている。
【０００３】
例えば、半導体ＡＳＩＣ装置においては予め選択されたアルゴリズムまたは考え方（ポリシー）をむしろ強化するために用いられる特定の出来事（イベント）を探知するために実行される論理がある。これらの幾つかの例は、ポリシーキャッシュコントローラに基づいて個々のエージェントに対して許可するアクセスのタイプを決定するアービタを備え、ポリシーキャッシュコントローラは、特定のマッピングスキームＴＬＢに基づいて、小さな高速メモリ内により大きくて緩慢なメモリ空間をマップし、特定のマッピングスキームＴＬＢは、マッピングスキームに基づいてより小さな物理メモリ空間内に、より大きな仮想空間をマップしている。
【０００４】
多数の内部バンク組織を用いるメモリコントローラの場合、ページテーブルはオープンページを探知している。これらおよび他の適用例の中に存在する大きな数のバンクによって、具体的なページテーブルは、あらゆるオープン可能なページを記憶することができなくなり、ページテーブルの設計は、記憶可能なエントリー数と、ページテーブル内の記憶データへのアクセス要求時間との間で妥協して解決しなければならなかった。
【発明の概要】
【０００５】
この発明は、メモリページテーブルの動的な構成を可能にさせて、上述した背景技術で述べられた課題に取り組むものである。この発明は、その幾つかが以下に要約された多数の実行例や適用例の中に例示されている。
【０００６】
この発明の実施形態によれば、メモリ装置は、データを格納するため設けられた多数のメモリ記憶配置を各ページが有する複数の得ページを有するページテーブルを備える。ページテーブルは、少なくとも２つの組織を動的に構成可能である。コントローラは、メモリ要求を探知してメモリリフレッシュサイクルの間に少なくとも２つの組織の１つに対してページテーブルを構成するため設けられている。ページテーブルの構成は、探知されたメモリ要求に応答して行なわれる。このようにして、背景技術で上述されたものを含むメモリ格納に関連する困難性は、解決のために努力され、格納可能なエントリー数とページテーブル内に格納されたデータへのアクセス要求時間との間で妥協して解決する必要性を低減させることができる。
【０００７】
この発明のさらに特定の実施形態によれば、コントローラは第１および第２の組織の少なくとも１つにページテーブルを構成するため設けられている。第１の組織は、第２の組織に関連するより少ないデータ管理の衝突損失により特徴づけられ、第２の組織は第１の組織に関連するより高速のデータアクセス時間により特徴づけられる。
【０００８】
この発明のその他の実施形態において、メモリ内にデータを格納するために方法が用いられている。この方法は、各ページがデータを格納するため設けられた多数のメモリ記憶配置を有する複数のページを有するページテーブル内にデータを格納することを含んでいる。ページテーブルは、少なくとも２つの組織を動的に構成可能である。メモリ要求は、探知され、ページテーブルはメモリリフレッシュサイクルの間に、少なくとも２つの組織の１つに構成される。この構成は、探知されたメモリ要求に応答して行なわれる。
【０００９】
上述した要約は、この発明のそれぞれの表示された実施形態または全ての実行例を説明することを志向するものではない。より詳細に発明を追跡する図面や詳細な説明はこれらの実施形態を典型的に示すものである。
【００１０】
この発明は、添付された図面に関連して、この発明の種々の実施形態の以下の詳細な説明に鑑みて、より完全に理解されるであろう。
【００１１】
この発明は種々の変形や選択的な形態の影響を受けやすいが、それ故に、特定のものは図面内の例の方法により示されていたし、以下に詳細に説明されるであろう。しかしながら、この発明が説明された個々の実施形態に限定されないことは理解されるべきである。これに対して、この発明は、添付された特許請求の範囲により定義された発明の精神と意
図の範囲内に含まれる全ての変形例、均等例、および選択例をカバーしている。
【００１２】
この発明は、種々の異なるタイプの半導体装置へ適用可能であるものと信じられ、メモリコントローラに関連する使用のために特に好都合であることが見出されている。この発明はこのような装置に限定されないが、この発明の種々のアスペクトの高い評価が、この適用例を用いる種々の具体例の議論を通じて最上のものとして得られる。
【００１３】
この発明の実施形態によれば、メモリコントローラは、ページテーブルが行なうメモリアクセスのタイプに応じてリフレッシュサイクルの間に、メモリ内にページテーブルを構成することによりメモリリフレッシュサイクルをうまく利用するため設けられている。このページテーブルからのメモリルックアップが探知され、ページテーブルは、このページテーブルが行なっているメモリルックアップのタイプに適合する組織へ構成される。組織の１つのタイプは完全連想（fully associative）組織を含み、これは何れかのメモリ要求がページテーブルの何れかのエントリーを占有できると共に多重クロックルックアップ時間を示している。組織の他のタイプは集合連想（set associative）組織を含み、これはメモリ要求が個別の集合内のみに格納されることができると共にシングルクロックサイクルよりも短いルックアップ時間を示している。具体的なメモリ装置において、リフレッシュサイクルはオープンページが閉じられる間の周期的な間隔で発生し、ページテーブル上のデータエントリーを必要的に移動させることなく、また、性能を損なうことなく、例えば完全連想または集合連想のような組織に対してページテーブルの動的な再構成を可能にしている。このようにして、メモリ格納の際の充分な品質を維持しながら高速のデータアクセスを提供するためのメモリの能力が改善される。
【００１４】
この明細書に説明された実施形態の例は、ＤＲＡＭ（ダイナミックＲＡＭ）、ＳＤＲＡＭ（同期的なダイナミック・ランダム・アクセス・メモリ）、ＤＤＲ（ダブル・データ・レート）、およびカリフォルニア州サンタクララのランバス（Rambus―登録商標―）株式会社により製造されたこれらのメモリを含む、ページテーブルを用いる種々のメモリタイプに関連する使用のために適用可能である。各メモリタイプは、メモリが格納される構成を有する。例えば、具体的な単一ＳＤＲＡＭは、４つの内部メモリバンクを有し、システムは、このシステム内で最大で３２バンクを提供する、８つの物理的なＳＤＲＡＭ・ＳＩＭＭｓを有することが可能である。同様に、単一のランバス（登録商標）は１６の内部バンクで、最大で５１２バンクのために全部で３２個の物理的なＲＤＲＡＭを有することができる。何れかの時間で各バンクは１つの列（row）（すなわち、ページ）を保持することができる。具体的には、メモリ記憶は物理的な記憶装置（すなわち、ＳＩＭＭ）、各記憶装置内のメモリの内部バンク、および各バンク内のページに関係している。
【００１５】
図１はこの発明のより多くの個別の実施形態の例を示しており、ここではメモリコントローラが２つ以上のカウンタを備えている。データはブロック１１０でぺージテーブルに記憶される。複数のカウンタのうちの第１のカウンタは、ブロック１２０で物理的なバンクヒットを示すページ損失を探知するため設けられ、複数のカウンタのうちの第２のカウンタは、ブロック１３０で物理的なバンク損失を探知するため設けられている。例えば、探知可能な１つのタイプの損失は、データの衝突の結果として生じる衝突損失を含んでいる。全てのメモリアクセスのために、アクセスの入力アドレスは、ページテーブル内に存在しているエントリーと比較され、このアクセスは現時点でオープンなページまたは損失に対するヒットであるか否かについて決定がなされる。ページテーブル上で最小最近使用（ＬＲＵ―Least Recently Used―）エントリーは完全連想基礎（basis）上で探知され、ページテーブルが集合連想組織内にあるとき、第２のカウンタはＬＲＵエントリーを置き換えない損失を探知するのみである。ルックアップの結果のために具体的な動作は、例えば、最大最近使用エントリーとしての物理的なバンクおよび列（ページ）組合せを示すエントリーを用いること；物理的なバンクのくみあわせであるが列（ページ）の組合せではないことを示すエントリーを使用して使用された最新のページをプリチャージすること；物理的なバンクの不適当な組合せが生じたときにＬＲＵエントリーを用いることを含んでいる。
【００１６】
ページテーブルがメモリリフレッシュサイクルになったときには、カウンタはブロック１４０で比較されて。ページテーブルの組織を変更するか否かを決定するために用いられる。物理的なバンク損失がページ損失よりも大きくなったときには、ページテーブルは、ブロック１５０で完全連想組織に構成され、もしもページテーブルが既に完全連想組織ではないならば、そのときはこの組織は変更されないままの状態を保持する。完全連想構成は、集合連想組織に関連する、例えば、より少ないデータ管理衝突損失を含んでいても良い特徴を提供する。ページ損失が物理的なバンク損失よりも大きいときには、ページテーブルの組織は、ブロック１５０で集合連想に変更され、もしもページテーブルが既に集合連想組織ではないならば、そのときはこの組織は変更されないままの状態を保持する。集合連想構成は、第１の組織に関連する、より速いデータアクセス時間を含む、例えば特徴を提供することができる。１つの個別の実行において、ページテーブルの組織は、カウンタの中での差が、例えばユーザ入力を介して選択される量によるような選択された量よりも大きいときのみ、変更される。
【００１７】
図２は、この発明の他の実施形態の具体例による、動的構成可能なメモリ装置２００を示している。このメモリ装置は、完全連想組織と集合連想組織とを含む、少なくとも２つの組織のうちの１つに構成されるように設けられたページテーブル２１０を備えている。コントローラ２２０は第１および第２のカウンタ２２２および２２４にそれぞれ接続されており、ユーザ入力２４０は前記コントローラに接続されており、ＣＰＵ２３０は通信リンク２３２を介してページテーブルとの間でデータの送信および受信を行なうため設けられている。第１のカウンタ２２２はページテーブル２１０で物理的なバンクヒットを示すページ損失を探知するため設けられている。第２のカウンタ２２４はページテーブルで物理的なバンク損失を探知するため設けられている。ユーザ入力はユーザからの入力値を受け入れてコントローラへこの値を提供するため設けられている。
【００１８】
コントローラは、カウンタ２２２および２２４を介してメモリ要求を探知するため設けられた探知回路と、それぞれのカウンタのそれぞれの値を比較するため設けられた比較回路と、を備えている。コントローラは、ページテーブルがメモリリフレッシュを実行しているときの比較に応答してページテーブル２１０の組織を構成するため設けられている。ユーザは、ページテーブルにつき構成することができる異なる組織のそれぞれを変更するためのオフセット値を入力する。ページテーブルが集合連想組織に構成されたとき、この組織は、第２のカウンタの値が第１のカウンタの値に完全連想組織へと変更するためのユーザ提供オフセット値をプラスした値よりも大きい場合に完全連想組織へと変更されている。ページテーブルが完全連想組織に構成されたとき、この組織は、第１のカウンタの値が第２のカウンタの値に集合連想組織へと変更するためのユーザ提供オフセット値をプラスした値よりも大きい場合に集合連想組織へと変更される。
【００１９】
この発明は幾つかの個別の実施形態の具体例を参照しながら説明されていたが、この技術分野における熟練者は、この明細書に添付された特許請求の範囲の記載された、この発明の精神や意図から離れることなしに、多くの変更が上記実施形態に加えられるであろうことを認識するであろう。
【図面の簡単な説明】
【００２０】
【図１】この発明の一実施形態の例によるページテーブルを動的に構成する流れ図を示す。
【図２】この発明の他の実施形態の例による動的構成可能なページテーブルを備える回路を示す回路図である。
【図１】
2004522226.tif 000003
【図２】
2004522226.tif 000004
【国際公開パンフレット】
2004522226.tif 000005
2004522226.tif 000006
2004522226.tif 000007
2004522226.tif 000008
2004522226.tif 000009
2004522226.tif 000010
2004522226.tif 000011
2004522226.tif 000012
2004522226.tif 000013
2004522226.tif 000014
2004522226.tif 000015
2004522226.tif 000016
【国際公開パンフレット（コレクトバージョン）】
2004522226.tif 000017
【国際調査報告】
2004522226.tif 000018
2004522226.tif 000019