(57)【要約】不揮発性双安定磁気トンネル接合キャッシュ・メモリ（１５）は、キャッシュ・タグ・アレイ（１６）およびキャッシュ・データ・アレイ（１８）を含む。キャッシュ・タグ・アレイは、行および列として配列された不揮発性磁気メモリ・タグ・セル（１７）を含む。タグ・アレイの各行は、行中の各タグ・セルに関連するワード線およびディジット線を含む。キャッシュ・データ・アレイは、行および列として配列された不揮発性磁気メモリ・データ・セル（１９）を含む。データ・アレイの行はタグ・アレイの行に対応し、データ・アレイの各行は、タグ・アレイの対応する各行に関連するワード線およびディジット線に磁気的に関連する。
2004521434.tif 000002
【特許請求の範囲】
【請求項１】
タグ・アレイの各行が、同行中の各タグ・セルに接続するワード線およびディジット線を含む、行および列として配列された不揮発性磁気メモリ・タグ・セルのキャッシュ・タグ・アレイと、
同タグ・アレイの行に対応するデータ・アレイの行がそれぞれ、同タグ・アレイの対応するそれぞれの行と接続するワード線およびディジット線に磁気的に接続する、行および列として配列された不揮発性磁気メモリ・ゲータ・セルのキャッシュ・データ・アレイと、
からなる不揮発性双安定磁気トンネル接合キャッシュ・メモリ。
【請求項２】
タグ・アレイの各行がそれぞれ、同行中の各タグ・セルに接続するワード線およびディジット線を含み、各タグ・セルが、
差動的に接続された一対の磁気トンネル接合と、
差動的に接続された該対に接続され、差動ビット線、差動プログラム・ビット線、イネーブル線、ワード線、およびディジット線を含むプログラミング／検出回路と、
を含む、行および列として配列された不揮発性磁気メモリ・タグ・セルのキャッシュ・タグ・アレイと；
データ・アレイの各列が、同列中の各データ・セルに接続する一対の差動データ・ビット線を含み、データ・アレイの各行が、該タグ・セルアレイ中のタグ・セルの各行にそれぞれ接続するワード線およびディジット線に接続し、各データ・セルが、固有の行と固有の列の接合に隣接して配置され、該固有の列に接続する差動データ・ビット線に差動的に接続される、差動的な１対の磁気トンネル接合を含み、
差動的な該一対の磁気トンネル接合の各トンネル接合が、該固有の行に接続する該ワード線および該ディジット線に磁気的に隣接して配置される、行および列として配列された不揮発性磁気メモリ・データ・セルのキャッシュ・データ・アレイと；
からなる不揮発性双安定磁気トンネル接合キャッシュ・メモリ。
【請求項３】
各タグ・セルが、差動的に接続された一対の磁気トンネル接合を含む、行および列として配列された不揮発性磁気メモリ・タグ・セルのキャッシュ・タグ・アレイと、
行中の各タグ・セルに接続するワード線およびディジット線を含む、タグ・アレイの各行と
列中の各タグ・セルに結合された差動的な一対のタグ・ビット線および差動的な一対のタグ・プログラミング・ビット線を含むキャッシュ・タグ・アレイの各列と、
各データ・セルが、差動的な一対の磁気トンネル接合を含む、行および列として配列された不揮発性磁気メモリ・データ・セルのキャッシュ・データ・アレイと、
該キャッシュ・データ・アレイの行が、キャッシュ・タグ・アレイの行に対応し、かつ、キャッシュ・タグ・アレイの対応する各行に接続するワード線およびディジット線に磁気的に接続した、キャッシュ・データ・アレイの行と、
列中の各データ・セルに結合された差動的な一対のデータ・ビット線を含む、キャッシュ・データ・アレイの各列と、
からなる不揮発性双安定磁気トンネル接合キャッシュ・メモリ。
【請求項４】
タグ・アレイの各行が、行中の各タグ・セルに接続するワード線およびディジット線を含む、行および列として配列されたタグ・セルのキャッシュ・タグ・アレイと、
データ・アレイの行が、タグ・アレイの行に対応し、データ・アレイの各行が、タグ・アレイの対応する各行に接続する該ワード線および該ディジット線に接続する行および列として配列された、データ・セルのキャッシュ・データ・アレイと、
からなる不揮発性双安定磁気トンネル接合キャッシュ・メモリ。
【請求項５】
不揮発性双安定磁気トンネル接合キャッシュ・メモリを検索し、読み取る方法であって、
タグ・アレイの各行が、同行中の各タグ・セルに接続するワード線およびディジット線を含むキャッシュ・タグ・アレイと、行および列として配列されたデータ・セルのキャッシュ・データ・アレイであって、データ・アレイの行が、同タグ・アレイの行に対応し、データ・アレイの各行が、同タグ・アレイの対応する各行に接続するワード線およびディジット線に磁気的に接続する、行および列として配列されたタグ・セルのキャッシュ・タグ・アレイを設ける工程と、
同キャッシュ・タグ・アレイの行中にタグを格納し、データ・アレイの対応する行中に対応するデータを格納する工程と、
選択したタグを、同キャッシュ・タグ・アレイの行中に格納されたタグと比較することによってキャッシュ・メモリを検索する工程と、
マッチング格納タグの同キャッシュ・タグ・アレイの行中のワード線と、データ・アレイ中の対応する行を活動させて、該データ・アレイ中の対応する行中に格納されたデータを自動的に読み出す工程と、からなる方法。
【請求項６】
不揮発性双安定磁気トンネル接合キャッシュ・メモリ中のデータをプログラミングする方法であって、
タグ・アレイの各行が、同行中の各タグ・セルに接続するワード線およびディジット線を含む、行および列として配列されたデータ・セルのキャッシュ・タグ・アレイ、及び、データ・アレイの行が、該タグ・アレイの行に対応し、かつ、該データ・アレイの各行が、該タグ・アレイの対応する各行に接続する該ワード線および該ディジット線に接続する、行および列として配列されたデータ・セルのキャッシュ・タグ・アレイ、を設ける工程と、
該キャッシュ・タグ・アレイの行中にタグを格納し、該データ・アレイの対応する行中に対応するデータを格納する工程と、
選択したタグを、該キャッシュ・タグ・アレイの行中に格納されたタグと比較することによって該キャッシュ・メモリを検索する工程と、
格納したタグのマッチと、マッチしない格納したタグとを感知する工程と、
該タグ・アレイの各行中に格納された該タグがマッチしない回数をカウントし、マッチしない最高の数を有する格納したタグを有する該キャッシュ・タグ・アレイの行を選択する工程と、
該キャッシュ・タグ・アレイの選択した行中に新しいタグを格納し、該データ・アレイの対応する行中に対応するデータを格納する工程と、からなる方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は磁気メモリに関し、より詳細には、不揮発性であり、かつキャッシュ・メモリとして使用される磁気メモリに関する。
【背景技術】
【０００２】
多数の代表的なコンピュータ・プログラムなどの分析により、任意の所与の時間に主メモリを参照する場合、主メモリの数エリア内に限定される傾向があることが示されている。これは、「参照の局所性」という特性として知られている。
【０００３】
一般に、命令に対するメモリ参照は非常に局所化されるのに対して、データに対する参照はあまり局所化されない傾向がある。ほとんどの参照、命令、またはデータが高速かつ小型のメモリ内に配置された場合、平均の総メモリ・アクセス時間を短縮することが可能であり、したがってプログラムの全実行時間を短縮することが可能である。このような小型かつ高速なメモリは一般にキャッシュ・メモリとして知られている。
【０００４】
キャッシュ・メモリの背後にある考えは、最も頻繁にアクセスされる命令およびデータを、高速なキャッシュ・メモリ内に保つということである。その結果、平均メモリ・アクセス時間は、キャッシュ・メモリのアクセス時間に近づく。キャッシュ・メモリは、主メモリのサイズのうちの小さな部分であるが、命令やデータの参照の局所性特性のため、メモリ要求のうちの大部分がキャッシュ・メモリ内で見つかることになる。
【０００５】
コンピュータの中央演算処理装置（ＣＰＵ）がメモリにアクセスする必要があるとき、キャッシュに問合せが行われる。キャッシュ・メモリ内にワードが見つかった場合、キャッシュ・メモリの高速メモリ部分からワードが読み取られる。キャッシュ・メモリ内にワードが見つからなかった場合、低速な主メモリがアクセスされ、ワードが読み取られる。次いで、主メモリからアクセスされたばかりのワードのブロックが、主メモリからキャッシュ・メモリに転送される。ブロック・サイズは、アクセスされたばかりのワードに隣接する１つまたは複数のワードとすることが可能である。このようにして、あるデータがキャッシュ・メモリに転送され、その結果、その後参照をキャッシュ・メモリにすることにより、キャッシュ・メモリ内で必要なワードを見つけることが可能となる。
【０００６】
ＣＰＵがキャッシュ・メモリ内でワードを見つけたときは「ヒット」と呼ばれ、ワードがキャッシュ内にないが、主メモリ内に存在する場合は「ミス」と呼ばれる。「ヒット率」は、ヒットの数を、ヒットの数とミスの数との和で割ることによって計算される。ヒット率は０．９またはそれ以上であることが望ましい。
【０００７】
ＣＰＵの平均メモリ・アクセス時間は、キャッシュ・メモリを使用することによって改善され得る。ヒット率が十分高い場合、平均アクセス時間は、キャッシュ・メモリのアクセス時間に近づく。キャッシュ・メモリの最も重要な特性は、超高速のアクセス時間を有することである。したがって、キャッシュ・メモリ中のワードを検索するときに消費しなければならない時間は極めて短く、または全く時間がかからない。
【特許文献１】米国特許第５７０２８３１号
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来技術では、ＳＲＡＭが高速であるために、キャッシュ・メモリとして使用される。しかしＳＲＡＭは揮発性であり、したがってコンピュータをシャットダウンする度に、キャッシュ・メモリはすべての情報を失う。この揮発性ＳＲＡＭキャッシュ・メモリは、「キャッシュ初期化」として知られる大きな問題を有している。通常、電源投入時に、初期化状態がキャッシュ・メモリに対して強制され、それによって初期化状態は、「参照の局所性」の特性が機能し始めるようにキャッシュが有効なデータまたは命令で満たされるまで、キャッシュにミスを強制する効果を有する。この初期化は、各電源投入後に比較的長い時間を必要とする可能性がある。
【課題を解決するための手段】
【０００９】
本発明では、上記の問題の多くを克服するために、不揮発性磁気キャッシュ・メモリおよびその製作を意図するものである。
【００１０】
本発明ではまた、新規なアクセス／読出し構造を備える不揮発性磁気キャッシュ・メモリも意図している。
【００１１】
本発明ではさらに、上記の問題の多くを克服する目的で、検索モードおよび読出しモードで速度を向上させるべく構築された不揮発性磁気キャッシュ・メモリも意図している。
【発明を実施するための最良の形態】
【００１２】
ここで各図、具体的には図１を参照すると、本開示で一般的に使用される磁気トンネル接合（ＭＴＪ）セル１０の簡略化断面図が、このタイプのＭＴＪセルの動作を簡潔に説明するために示されている。ＭＴＪセル１０は、１対の磁気材料の層１１および１２を含む。層１１および１２は、それらの間に挟まれたトンネル障壁材料の層１４を有する。当技術分野で周知のように、層１１および１２はそれぞれ、一般には、コバルト（Ｃｏ）、ニッケル（Ｎｉ）、鉄（Ｆｅ）などの複数の磁気材料層で形成される。層１４は、酸化アルミニウム、窒化アルミニウムなどの非導電性材料で形成される。
【００１３】
磁気材料層のうちの１つ、この説明では層１１は、より大きいスイッチング磁場を有し、その結果、矢印１６で表されるその磁気ベクトル（以後ベクトル１６と呼ぶ）は、印加磁場がそのスイッチング磁場よりも小さいときは常に同じ方向を向く（ピン止めされる）。矢印１７で表される層１２の磁気ベクトル（以後ベクトル１７と呼ぶ）は、より小さいスイッチング磁場を有し、かつ自由であるが、層１２の物理的サイズにより、印加磁場がそのスイッチング磁場よりも大きいときに２つの方向のうち一方を向くように拘束される。セル１０は、セル１０を介して層１１または１２の一方から他方に垂直方向に電気が流れるように回路中にセル１０を接続することによって使用される。セル１０は、電気的には抵抗器として表すことが可能であり、抵抗のサイズは、磁気ベクトル１６および１７の向きに依存する。当業者なら理解できるように、磁気ベクトル１６と１７が整列していない（反対の方向を向く）とき、セル１０は抵抗が比較的高く、磁気ベクトル１６と１７が整列しているとき、抵抗が比較的低い。
【００１４】
ＭＴＪセルの製作および動作に関する追加の情報は、「Ｍｕｌｔｉ−Ｌａｙｅｒ  Ｍａｇｎｅｔｉｃ  Ｔｕｎｎｅｌｉｎｇ  Ｊｕｎｃｔｉｏｎ  Ｍｅｍｏｒｙ  Ｃｅｌｌｓ」という名称の、１９９８年３月３１に発行され、本願明細書に援用される特許第５７０２８３１号から得ることが可能である。
【００１５】
図２を参照すると、本発明による不揮発性磁気キャッシュ・メモリ１５のブロック図が示されている。キャッシュ・メモリ１５は、ｎ行ｍ列で配列された不揮発性磁気メモリ・タグ・セル１７のキャッシュ・タグ・アレイ１６を含む（ｎおよびｍは任意の整数とすることが可能である）。この説明では、０からｎのｎ個の行が示されている。各タグ・セル１７は、差動的に接続された１対の磁気トンネル接合を含み、プログラミング／検出回路が、トンネル接合を互いに接続する。キャッシュ・メモリ１５はまた、行および列として配列された不揮発性磁気メモリ・データ・セル１９のキャッシュ・データ・アレイ１８も含む。以下の説明から理解できるように、キャッシュ・データ・アレイ１８の行は、キャッシュ・タグ・アレイ１６の行に対応する。当技術分野では、選択されたワードのアドレスは「タグ」または「タグ・ワード」として知られており、内容は「データ」または「データ・ワード」として知られている。したがって、キャッシュ・メモリ１５は、アドレスとデータを共に、共通ベースのメモリ内に格納する。さらに、間もなくより詳細に説明するが、選択されたワードについてのタグおよびデータは、共通の行中に格納される。
【００１６】
加えて図３を参照すると、様々なＩ／Ｏ接続を示す、１つのタグ・セル１７の拡大図が示されている。各タグ・セル１７は、タグ・ビット線（ＴＢＬ）、逆（ｎｏｔ）タグ・ビット線（ＴＢＬＮ）、タグ・プログラム・ビット線（ＴＰＢＬ）、逆タグ・プログラム・ビット線（ＴＰＢＬＮ）、イネーブル線（ＥＮ）、ワード線（ＷＬ）、ディジット線（ＤＬ）、およびマッチ線（ＭＬ）からなる。好ましい実施形態では、タグ・セル１７は、本明細書と同じ日付で出願され、「Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍａｇｎｅｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ」という名称の、同じ譲受人に譲渡され、本願明細書に援用される同時係属の米国特許出願で開示されているものと類似の、１対の差動接続された不揮発性双安定磁気トンネル接合を含む。
【００１７】
加えて図４および図５を参照すると、１つのデータ・セル１９の拡大図および概略図がそれぞれ示されている。好ましい実施形態では、各データ・セル１９は、不揮発性双安定磁気トンネル接合２０および２１の差動対と、１対のスイッチング・トランジスタ２２および２３を含む。各磁気トンネル接合２０および２１は、スイッチング・トランジスタ２２および２３のうちの別々のトランジスタに接続され、関連するワード線ＷＬが、スイッチング・トランジスタ２２および２３を活動させるために接続される。ディジット線ＤＬおよびワード線ＷＬは共に、各磁気トンネル接合２０および２１に磁気的に接続される。
【００１８】
ここで、データ・セル１９の各行のディジット線ＤＬおよびワード線ＷＬは、タグ・セル１７の対応する行に関連する同じディジット線ＤＬおよびワード線ＷＬであることに留意されたい。直列接続された磁気トンネル接合２０とスイッチング・トランジスタ２２とは、共通線またはグランド線ＧＬとデータ・ビット線ＤＢＬとの間に接続される。直列接続された磁気トンネル接合２１とスイッチング・トランジスタ２３は、グランド線ＧＬと逆データ・ビット線ＤＢＬＮの間に接続される。したがって、磁気トンネル接合２０および２１は差動的に動作し、差分信号で荷電され、または差分信号で負荷がかけられる。
【００１９】
ビット線は一般にメモリ・セルのアレイの列に関連し、ディジット線はアレイの行に関連する。ビット線およびディジット線は、アレイ中の情報を読み取ってプログラミングし、または情報をアレイ内に格納する目的で、アレイ中の個々のセルをアドレス指定するのに使用される。列および行は、容易に交換可能であり、この開示では、このような用語は相互交換可能であるものとする。さらに、様々な線の特定の名前、例えばビット線、ワード線、ディジット線、選択線などは、説明を容易にするためだけに使用される総称であるものとし、本発明をいかなる形でも限定するものではない。
【００２０】
再び図２を参照すると、１対の電流源／シンク回路２４が、キャッシュ・タグ・アレイ１６中の各ＴＰＢＬ線およびＴＰＢＬＮ線の両端と、キャッシュ・データ・アレイ１８中の各ＤＢＬ線およびＤＢＬＮ線の両端に接続されていることがわかる。マスク・レジスタ３０は、入力信号を受け取り、マスキング信号をキャッシュ・タグ・アレイ１６に供給するように接続され、その結果、キャッシュ・タグ・アレイ１６中のタグ・ワードのユーザ定義ビットだけが問合わせ動作モードまたは検索動作モードに関与する。入力信号はまた、引数レジスタ３２にも供給され、列ごとに、（問合せ中または検索中の）入力ワードまたはコマンドが、キャッシュ・タグ・アレイ１６に格納されたワードおよびコマンドと比較される。タグ・レジスタおよび電流シンク３４は、行ごとにキャッシュ・タグ・アレイ１６の行に接続される。マッチ・レジスタ３６、行ｍｕｘ回路３７、および行電流源３８は、行ごとにキャッシュ・データ・アレイ１８およびキャッシュ・タグ・アレイ１６の行に接続される。さらに、行デコーダ３９およびコントローラ４０は、行ｍｕｘ回路３７の動作のために行ｍｕｘ回路３７に接続される。クロック・ジェネレータ４２は、タイミング信号またはクロック信号の３つの位相（ｐｈｉ０、ｐｈｉ１、ｐｈｉ２）を様々な回路に供給する。差動増幅器ＴＱ０からＴＱｎは、キャッシュ・タグ・アレイ１６中のタグ・セル１７の各行からの出力信号を供給する。やはり、差動増幅器ＤＱ０からＤＱｎは、キャッシュ・データ・アレイ１８中のデータ・セル１９の各行から出力信号を供給する。
【００２１】
キャッシュ・メモリ１５は、問合せ（検索）／読取りモード、ランダム・アクセス読取りモード、およびランダム・アクセス・プログラム・モードの３つの一般的動作モードを有する。これらの各動作モードでのキャッシュ・メモリ１５の動作を以下で簡潔に説明する。
【００２２】
問合せモードでは、ＣＰＵアドレスまたはタグが、クロック・ジェネレータ位相ｐｈｉ１のときに引数レジスタ３２にロードされる。同時に、ロード時に、すべてのＴＢＬ線およびＴＢＬＮ線が、それらの論理レベルまで駆動される。同時に、すべてのマッチ線ＭＬ０からＭＬｎがグランドまで予備放電される。ｐｈｉ１の間、マスク・レジスタ３０は、キャッシュ・タグ・アレイ１６中のすべてのタグ・セル１７をマスクする。マスク・レジスタ３０は、すべてのタグ・セルを効果的に使用不能にし、その結果マッチ線を求める競合は存在しない。
【００２３】
ｐｈｉ１がロー（ｌｏｗ）となった後、すべてのタグ・セル１７が使用可能にされる。同時に、ｐｈｉ１の立下り時にｐｈｉ２がハイ（ｈｉｇｈ）となる。ｐｈｉ２の立上り時には、マスキング・データ（Ｙｋ０からＹｋｎ）がマスク・レジスタ３０にロードされ、マスク・レジスタ３０は、イネーブルＥＮ線の駆動を開始し、検索およびマッチ検出が開始する。マスキング・データＹｋ０からＹｋｎに応じて、キャッシュ・タグ・アレイ１６中のタグ・セル１７の一部が使用不能にされる（すなわち、マスキング機能）。マッチがある場合、マッチング行についてのマッチ線ＭＬ０からＭＬｎはグランドにとどまるが、ミスマッチング行についてのマッチ線は論理ハイ（ｈｉｇｈ）にプル（ｐｕｌｌ）される。使用不能にされない未マスクセルだけが、マッチ線をハイにプルし、またはマッチ線をグランド電位のままにすることにより、マッチ検出工程に関与する。
【００２４】
マッチ検出工程が完了した後の検索モードでは、読取りサイクルが開始し、タグ・アレイ１６中で検出され、ＣＰＵからのタグまたはアドレスにマッチしたタグに対応するデータ・アレイ１８中のデータを読み取る。読取りサイクルが開始した後、信号Ｒはハイ（ｈｉｇｈ）となり、ｐｈｉ０クロック信号がＲの立上り時に生成される。ｐｈｉ０の間、ＴＢＬ線およびＴＢＬＮ線がＰＣブロック４２（図２参照）を介してＶｄｄまで予備充電され、すべてのタグ・セル１７が使用不能にされる。すなわち、キャッシュ・タグ・アレイ１６が使用不能にされ、キャッシュ・タグ・アレイ１６の電流消費はゼロとなる。キャッシュ・タグ・アレイ１６が使用不能にされ、マッチ線がキャッシュ・タグ・アレイ１６によって駆動されない場合であっても、マッチ線データはラッチされる。さらに、ｐｈｉ０の間、差動増幅器ＤＱ０からＤＱｎがＤＢＬ線およびＤＢＬＮ線をプレバイアスし、キャッシュ・データ・アレイ１８中のビットを読み取るために必要な初期化を行う。差動演算を高速にするため、キャッシュ・データ・アレイ１８中のデータ・セル１９はツイン・セルである。これはキャッシュ・メモリであるので、問合せの後にデータを高速に読み出さなければならず、すなわち超高速データ・メモリが必要である。一般に、キャッシュ・データ・アレイ１８は、どんなツイン・セル・アーキテクチャに基づくことも可能であるが、開示のツイン・セルが好ましい。
【００２５】
検索モード中の読取り工程は以下の通りである。検索モードではＳ＝Ｒ＝１かつＷ＝ＷＲＰＬＣ＝０である。マッチ・レジスタ３６のあるステージの出力が１のままである場合、ＲＦＬＧも１のままであり、マッチがあったことを示唆する。マッチ・レジスタ３６のすべての出力がゼロになった場合、マッチは示唆されない。検索モードの間、行復号化制御論理は行デコード３９を使用不能にし、行ｍｕｘ３７が、マッチ・レジスタ３６のＭＢ０からＭＢｎ出力によって完全に制御される。マッチを検出し、Ｓ＝Ｒ＝１かつＷ＝ＷＲＰＬＣ＝０となった後、読取り工程が開始され、ある行が活動化され、電流源３８が対応するワード線／ディジット線をハイに駆動する。さらに、読取り工程に入ったとき、キャッシュ・タグ・アレイ１６およびキャッシュ・データ・アレイ１８中のすべてのグランド線ＧＬ０からＧＬｎが、タグ・レジスタおよび電流シンク３４中のグランド・スイッチを介してグランドに接続される。その後で、差動増幅器ＤＱ０からＤＱｎが、ワード線上のデータを使用して、信号を出力することになる。この間、差動増幅器ＴＱ０からＴＱｎは使用不能にされる。
【００２６】
引数レジスタ３２中の入力ＣＰＵアドレスと、キャッシュ・タグ・アレイ１６中に格納されたデータとの間にマッチが見つからなかった場合、マッチ・レジスタ３６のすべてのステージの出力がゼロとなる。マッチ・レジスタ３６のステージのすべての出力がマッチ・レジスタ３６でＯＲ処理されるので、それらがすべてローである場合、マッチ・レジスタ３６は、マッチがないことを示すローＲＦＬＧ信号を生成する。ローＲＦＬＧ信号はＣＰＵに送られ、ＣＰＵは、ローＲＦＬＧ信号を感知したとき、ＷＲＰＬＣを１に等しくセットし、主メモリから必要なデータを読み取り、その同じデータをキャッシュ・メモリ１５に送り、キャッシュ・メモリ１５中の一部の既存データを置換する。この間、行デコーダ３９は依然として使用不能にされており、行ｍｕｘ３７の制御が、マッチ・レジスタ３６中のＬＲＵユニット（この後すぐに説明する）のＲＰＬＣ０からＲＰＬＣｎ出力によって供給される。
【００２７】
ランダム・アクセス読取り動作モードでは、キャッシュ・メモリ１５全体が読取りモードに配置され、Ｒ＝１およびＷ＝ＷＲＰＬＣ＝Ｓ＝０を設定することによって１アクセスで読み取られる。このモードでは、行ｍｕｘ３７の制御が行デコード３９によって供給され、グランド線ＧＬ０からＧＬｎが、タグ・レジスタおよび電流シンク３４中のグランド・スイッチを介してグランドに接続される。読取りモードでは、すべてのタグ・セル１７が使用可能にされる（マスキングなし）。このことは、マスク・レジスタ３０を介して実施される。さらに、マスク・レジスタ３０は、ＣＰＵから新しいデータ（Ｙｋ０からＹｋｎ）を受諾しない。すべてのマスク・レジスタ・ステージの出力は当初保持され、ｐｈｉ０の間にロー（ｌｏｗ）にラッチされる。さらに、ｐｈｉ０の間、ＴＢＬ線およびＴＢＬＮ線はＶｄｄに予備充電される。ｐｈｉ０がロー（ｌｏｗ）となった後、すべてのタグ・セル１７が使用可能にされ、アクティブ・ワード線に沿ったタグ・セル１７の再生作用が、ＴＢＬをグランドにプルし、またはＶｄｄのままにし、ＴＢＬＮ上では逆の作用が行われる。ＴＢＬデータおよびＴＢＬＮデータが、差動増幅器ＴＱ０からＴＱｎによって差動的に感知され、出力信号が、それらの出力端子で生成される。
【００２８】
同時に、同じアクティブ・ワード線は、キャッシュ・データ・アレイ１８中の１行のデータ・セル１９を活動させる。データ線ＤＢＬおよびＤＢＬＮ上の差動データは、差動増幅器ＤＱ０からＤＱｎによって感知される。差動増幅器ＤＱ０からＤＱｎの感知回路は、ｐｈｉ０の間使用不能にされ、その時、ｐｈｉ０が再びロー（ｌｏｗ）となったことを感知する準備としてプレバイアス（ｐｒｅ−ｂｉａｓｉｎｇ）が行われる。当初、差動増幅器ＤＱ０からＤＱｎは信号Ｒ＝１を介して動作可能にされる。さらに、このモードの間、タグ・レジスタおよび電流シンク３４中の電流シンクを経由するグランドまでのワード線電流路が切断され、引数レジスタ３２出力がトライステートとなる（すなわちＡ０からＡｎが実質上切断される）。
【００２９】
ランダム・アクセス・プログラム動作モードでは、キャッシュ・メモリ１５全体を望み通りにランダムにプログラムすることが可能である。ワード線の制御が行デコーダ３９に与えられ、ワード線が行ｍｕｘ３７を介して選択される。電流が、行電流源３８から行ｍｕｘ３７を通じて、選択されたディジット線に向けて送られ、タグ・レジスタおよび電流シンク３４中の電流シンクを通じてグランドに送られる。すべてのタグ・セル１７が、マスク・レジスタ３０を介して使用不能にされ、引数レジスタ３２の出力がトライステートにされる。２方向性電流源２４は、キャッシュ・タグ・アレイ１６とキャッシュ・データ・アレイ１８の両方の入力データの極性に応じて、キャッシュ・タグ・アレイ１６中のＴＰＢＬ線およびＴＰＢＬＮ線と、キャッシュ・データ・アレイ１８中のＤＢＬ線およびＤＢＬＮ線を通じて電流を供給し、電流を減少させる。グランド・スイッチはオフにされ、その結果すべてのグランド線ＧＬ０からＧＬｎの電流が、プログラム・モード中に遮断される。さらに、差動増幅器ＴＱ０からＴＱｎおよびＤＱ０からＤＱｎが使用不能にされる。
【００３０】
次に図６を参照すると、マッチ・レジスタ３６（図２参照）の簡略化したブロック図が示されている。マッチ・レジスタ３６は、キャッシュ・タグ・アレイ１６中のタグ・セル１７のそれぞれ行０〜ｎからマッチ信号ＭＬ０〜ＭＬｎを受け取るようにそれぞれ接続されたｎ個のステージまたはスライスを含む。タイミング信号ｐｈｉ１は、検索モード中に第１イネーブル信号ＥＮ１をｎ個のステージのそれぞれに供給する。タイミング信号ｐｈｉ１は、Ｓの立上り時にクロック・ジェネレータ４２を介して生成され、マッチ線ＭＬ０からＭＬｎがグランド・レベルに初期化される。第２論理回路４７は、検索モードまたは置換モード中に、検索信号Ｓまたは置換信号（ｗｒｉｔｅ  ｒｅｐｌａｃｅ  ｓｉｇｎａｌ）ＷＲＰＬＣを受け取り、第２イネーブル信号ＥＮ２をｎ個のステージのそれぞれに供給するように接続される。ｎ個のステージのそれぞれは、マッチ信号ＭＢ０からＭＢｎをそれぞれ行ｍｕｘ３７に供給する。さらに、ｎ個のステージは、マッチ信号ＭＢＰ０からＭＢＰｎをそれぞれ、ＯＲ回路４８と最長時間未使用（ＬＲＵ）ユニット５０に供給する。ＯＲ回路４８は、置換フラグ（ＲＦＬＧ）信号をＣＰＵに供給し、ＬＲＵユニット５０は、置換信号ＲＰＬＣ０からＲＰＬＣｎを行ｍｕｘ３７に供給する。
【００３１】
キャッシュ・タグ・アレイ１６での検索モード中、当初はすべてのマッチ線ＭＬ０からＭＬｎがグランド電位である。これにより、マッチ・レジスタ３６からのすべてのＭＢ０からＭＢｎ出力が論理１、すなわち論理ハイとなり、これにより、行ｍｕｘ３７中のすべてのワード線／ディジット線ＤＬ０からＤＬｎが選択される。この時に、すべてのディジット線ＤＬ０からＤＬｎが選択されるとき、すべてのディジット線ＤＬ０からＤＬｎが、ｐｈｉ１によってグランド電位に初期化される。
【００３２】
マッチ検出が実施され、マッチ検出が完了した後、以下の工程が実施される。マッチがある場合、すべてのマッチ線ＭＬ０からＭＬｎが、対応するマッチを有するマッチ線を除いて論理１（すなわちハイ）となる。対応するマッチを有するマッチ線は、論理ゼロ（すなわちグランド）のままとなる。その結果、マッチ・レジスタ３６からのすべてのＭＢ０からＭＢｎ出力が、マッチに対応するものを除いて論理ゼロ（すなわちグランド）となる。マッチに対応するものはハイのままとなる。したがって、すべてのディジット線ＤＬ０からＤＬｎが、選択されたままにされるものを除いて「選択解除」される。この時点では、マッチが存在したので、読取りコマンドが発行され、不揮発性磁気キャッシュ・メモリ１５は読取り工程に入り、この時、行電流源／ドライバ３８がオンとなり、選択されたワード線をハイにプルし、その後、読取り工程は前述と同様に続行する。
【００３３】
マッチが存在しない場合、すべてのマッチ線ＭＬ０からＭＬｎが例外なく１（論理ハイ）となり、ＭＢ０からＭＢｎ出力は論理ローとなり、行ｍｕｘ３７の制御がＬＲＵユニット５０に与えられる。この状態では、ＬＲＵユニット５０は、ＲＰＬＣ０からＲＰＬＣｎ信号を介して行ｍｕｘ３７を制御する。すべてのＭＢ０からＭＢｎ出力がローとなった後、ＬＲＵユニット５０がＲＰＬＣ０からＲＰＬＣｎのうち１つを論理ハイに駆動するまで、すべてのディジット線ＤＬ０からＤＬｎが選択解除される。ＲＰＬＣ０からＲＰＬＣｎのうち１つが論理ハイになった後、対応するワード線／ディジット線が選択され、ＣＰＵは不揮発性磁気キャッシュ・メモリ１５をプログラム・モード（Ｗ＝１）に配置し、それにより、行電流源／ドライバ３８がオンとなり、ソース・ディジット線プログラムが、選択されたワード線／ディジット線に流れる。したがって、キャッシュ・タグ・アレイ１６中のキャッシュ・タグ・アレイ・セル１７のうち選択された行がプログラムされる。
【００３４】
マッチが存在する限り、出力ＭＢＰ０からＭＢＰｎがハイとなり、その結果ＲＦＬＧ＝１となり、マッチが見つかったことがＣＰＵに示される。マッチが存在しない場合、出力ＭＢＰ０からＭＢＰｎのすべてがローとなり、かつＲＦＬＧ＝０となり、マッチが見つからなかったことがＣＰＵに示される。マッチが見つからない場合、ＣＰＵは、書戻しのために論理ハイ書込み置換信号ＷＲＰＬＣを不揮発性磁気キャッシュ・メモリ１５に送り戻す。
【００３５】
加えて図７を参照すると、ＬＲＵユニット５０はｎ個のｎビット・カウンタ（０  ｎビット・カウンタからｎ  ｎビット・カウンタと呼ぶ）を含み、各カウンタは、マッチ入力ＭＢＰ０からＭＢＰｎのそれぞれについて、０から２ｎ−１までカウントする。各カウンタは、マッチ入力ＭＢＰ０からＭＢＰｎのうち結び付けられた１つがサイクルごとに１から０になるとき、１十進単位（ｄｅｃｉｍａｌ  ｕｎｉｔ）だけ増分される。第１カウンタが２ｎ−１に達することにより、対応する置換信号ＲＰＬＣ０からＲＰＬＣｎが行ｍｕｘ３７に対して出力され、行ｍｕｘ３７は、選択されたディジット線ＤＬ０からＤＬｎを活動させ、それによって電流が、行電流源３８からデータ・セル１９およびタグ・セル１７のうち選択された線を通じて、タグ・レジスタおよび電流シンク３４中の電流シンクに流れることが可能となる。複数のカウンタが同時にカウント２ｎ−１に達した場合、事前選択したプリファレンスに応じて、最上位ビット（ＭＳＢ）または最下位ビット（ＬＳＢ）のどちらかに最も近い最初のカウンタが、関連するＤＬおよびＷＬを活動化することを許される。ＲＰＬＣ０からＲＰＬＣｎのうち１つが１になった場合に、いずれかのｎビット・カウンタが最終カウントに達した後、続く検索サイクルでは、ｎビット・カウンタがゼロにリセットされる。マッチの結果として、あるいはランダム読取りまたはプログラム・オペレーションの開始の結果として検索モードの間に読取り信号が入力された場合、最終カウントに達したｎビット・カウンタが再びリセットされる。このオペレーションでは、ＣＰＵでタグ・レジスタ３４にアクセスして、任意の行（ワード）を活動化解除し、かつ選択した行またはワードの置換を防止することが可能である。
【００３６】
図８を参照すると、ＣＰＵ  ５１および主メモリ５２に接続されたキャッシュ・メモリ１５の簡略化したブロック図が示されている。上記で簡潔に説明したように、ＣＰＵ  ５１がメモリにアクセスする必要があるとき、まずキャッシュ・メモリ１５に問合せが行われる。キャッシュ・メモリ１５の背後にある考えは、最も頻繁にアクセスされる命令およびデータを、高速なキャッシュ・メモリ１５内に保つということである。キャッシュ・メモリ１５の最も重要な特徴は、新規なＣＡＭＲＡＭセルを使用することによって超高速のアクセス時間を有することである（上記で参照した、「Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍａｇｎｅｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ」という名称の同時係属の米国特許出願を参照）。したがって、キャッシュ・メモリ１５中のワードを検索するときに消費する時間は極めて短く、または全く時間がかからない。
【００３７】
キャッシュ・メモリ１５中にワードが見つかった場合、キャッシュ・メモリ１５の高速メモリ部分からワードが読み取られる。キャッシュ・メモリ１５中にワードが見つらなかった場合、より低速な主メモリ５２がアクセスされ、ワードが読み取られる。次いで、主メモリ５２からアクセスしたばかりのワードに関連するワードのブロックが、主メモリ５２からキャッシュ・メモリ１５に転送される。ブロック・サイトは、アクセスしたばかりのワードに隣接する１つまたはいくつかのワードとすることが可能である。このようにして、キャッシュ・メモリ１５を後に参照することによってキャッシュ・メモリ１５中の必要なワードを見つけることが可能となるように、一部のデータがキャッシュ・メモリ１５に転送される。ＣＰＵ  ５１の平均メモリ・アクセス時間は、キャッシュ・メモリ１５を使用することによって向上する。ＣＰＵ  ５１のヒット・タイムが十分高い場合、平均アクセス時間は、キャッシュ・メモリ１５のアクセス時間に近づくことになる。
【００３８】
したがって、不揮発性双安定磁気トンネル接合キャッシュ・メモリが開示される。この不揮発性キャッシュ・メモリを使用して、格納される情報を特定のアプリケーションまたはプログラムに合わせるように、キャッシュ・メモリの内容を動的に変更することが可能である。例えば、典型的なＣＰＵコードが多数の命令から構成される場合、統計的には、最も頻繁に使用される命令を抽出してキャッシュ・メモリ中にプログラムすることが可能である。さらに、不揮発性キャッシュ・メモリが１度プリロードされ、その時点から、システムまたはチップが電源オフされるごとに、格納されたデータが保持され、待ち時間からキャッシュを初期化する必要なしに、不揮発性キャッシュ・メモリは高速動作の用意ができている。さらに、メモリを失うことなく、または初期化する必要なく不揮発性キャッシュ・メモリを電源遮断することが可能であるので、無活動中に、不揮発性キャッシュ・メモリを完全に電源遮断して、大量の電流消費を節約することが可能である。
【００３９】
この新規なキャッシュ・メモリは「連想マッピング（ａｓｓｏｃｉａｔｉｖｅ  ｍａｐｐｉｎｇ）」を使用する。「連想マッピング」は、物理アドレスとメモリ・データをマッピングし、または主メモリ中のデータを高速キャッシュにマッピングする最も柔軟かつ高速な方法である。連想マッピングにより、キャッシュ・メモリ中の任意の位置に、主メモリからの任意のワードを格納することが可能となる。この新規なキャッシュ・メモリは、タグまたはタグ・ワードとして知られるアドレスと、データまたはデータ・ワードとして知られるメモリ・ワードの内容とを共に格納する。さらに、タグおよびデータが、共通ディジット線および共通ワード線を使用してメモリ・セルの共通行に格納され、それにより、キャッシュ・メモリ全体とオペレーションが著しく単純になる。キャッシュ・メモリは、選択されたタグを、キャッシュ・タグ・アレイの行中に格納されたタグと比較することによって検索され、マッチング格納タグのキャッシュ・タグ・アレイの行中のワード線と、データ・アレイ中の対応する行が活動化され、データ・アレイ中の対応する行中に格納されたデータが自動的に読み出される。この工程により、検索／読取り工程が著しく単純になり、スピードアップされる。
【００４０】
本発明者は、本発明の特定の実施形態を図示し、説明したが、当業者なら別の修正形態および改良を思い浮かぶであろう。したがって、図示した特定の形態に本発明が限定されないということを理解されることを本発明者は望み、かつ頭記の特許請求の範囲が、本発明の精神および範囲から逸脱しないすべての修正形態を包含することを本発明者は意図する。
【図面の簡単な説明】
【００４１】
【図１】ＭＴＪ不揮発性磁気メモリ・セルの簡略化した断面図。
【図２】本発明による不揮発性磁気キャッシュ・メモリのブロック図。
【図３】図２のキャッシュ・タグ・アレイで使用される、不揮発性双安定磁気トンネル接合メモリ・セルの様々なＩ／Ｏ接続を示す、ＣＡＭＲＡＭセルの拡大図。
【図４】図２のキャッシュ・データ・アレイで使用される、不揮発性双安定磁気トンネル接合メモリ・セルの様々なＩ／Ｏ接続を示す、データ・セルの拡大図。
【図５】図４の双安定磁気トンネル接合メモリ・セルの概略図。
【図６】図２のマッチ・レジスタの簡略化したブロック図。
【図７】図６のＬＲＵユニットの簡略化したブロック図。
【図８】図２のキャッシュ・メモリを組み込むコンピュータの簡略化したブロック図。
【図２】
2004521434.tif 000003
【図６】
2004521434.tif 000004
【図７】
2004521434.tif 000005
【図８】
2004521434.tif 000006
【国際公開パンフレット】
2004521434.tif 000007
2004521434.tif 000008
2004521434.tif 000009
2004521434.tif 000010
2004521434.tif 000011
2004521434.tif 000012
2004521434.tif 000013
2004521434.tif 000014
2004521434.tif 000015
2004521434.tif 000016
2004521434.tif 000017
2004521434.tif 000018
2004521434.tif 000019
2004521434.tif 000020
2004521434.tif 000021
2004521434.tif 000022
2004521434.tif 000023
2004521434.tif 000024
2004521434.tif 000025
2004521434.tif 000026
2004521434.tif 000027
2004521434.tif 000028
2004521434.tif 000029
2004521434.tif 000030
2004521434.tif 000031
2004521434.tif 000032
2004521434.tif 000033
2004521434.tif 000034
2004521434.tif 000035
2004521434.tif 000036
2004521434.tif 000037
2004521434.tif 000038
2004521434.tif 000039
2004521434.tif 000040
2004521434.tif 000041
【国際調査報告】
2004521434.tif 000042
2004521434.tif 000043