(57)【特許請求の範囲】
【請求項１】
各々の出力がメモリセルの列に対応して配置される一対のビットラインの各々に至る経路に接続されるクロスカップル接続された一対のインバータと、ビットラインとインバータの出力との間に設けられた一対のスイッチ部と、スイッチ部の導通を制御する１本のワードラインと、から構成される１ビットのメモリセルがワードライン方向に連結され、ビットライン方向に隣接するメモリセルのデータ保持ノード間にモード制御スイッチ部と、該モード制御スイッチ部の導通を制御するモード制御ラインと、
を備えるキャッシュメモリにおいて、
メモリセルアレイの偶数ラインは偶数ウェイに、奇数ラインは奇数ウェイに割り当てられ、又は、メモリセルアレイの偶数ラインは奇数ウェイに、奇数ラインは偶数ウェイに割り当てられ、
偶数ウェイもしくは奇数ウェイを無効にするためのセレクタ回路、
を備えたことを特徴とするキャッシュメモリ。
【請求項２】
各々の出力がメモリセルの列に対応して配置される一対のビットラインの各々に至る経路に接続されるクロスカップル接続された一対のインバータと、ビットラインとインバータの出力との間に設けられた一対のスイッチ部と、スイッチ部の導通を制御する１本のワードラインと、から構成される１ビットのメモリセルがワードライン方向に連結され、ビットライン方向に隣接するメモリセルのデータ保持ノード間にモード制御スイッチ部と、該モード制御スイッチ部の導通を制御するモード制御ラインと、
を備えるキャッシュメモリにおいて、
Ｉｎｄｅｘビットのアドレスの割り当てにおいて、
メモリセルアレイの偶数ラインは偶数ウェイに、奇数ラインは奇数ウェイに割り当てられ、又は、メモリセルアレイの偶数ラインは奇数ウェイに、奇数ラインは偶数ウェイに割り当てられ、
偶数ラインと奇数ラインにおいてＩｎｄｅｘビットのアドレスが相互に逆順（一方が昇順、他方が降順）となるように割り当てられ、
キャッシュアクセスのためのアドレスのＩｎｄｅｘビットのＭＳＢを無効（０固定若しくは１固定）にするためのセレクタ回路を備え、
１ビットが２個のメモリセルを連結して構成されるモード（高信頼性モード）に切り替えるために、ＩｎｄｅｘビットのＭＳＢを無効にし、Ｉｎｄｅｘビットが参照するＴａｇアレイの前半ラインのみ若しくは後半ラインのみ使用する、ことを特徴とするキャッシュメモリ。
【請求項３】
キャッシュアクセスのためのアドレスのＩｎｄｅｘビットのＭＳＢとＴａｇビットのＬＳＢを重複して使用して、Ｔａｇビットのビット長を１ビット拡張させたことを特徴とする請求項２に記載のキャッシュメモリ。
【請求項４】
前記セレクタ回路を用いて、ＩｎｄｅｘビットのＭＳＢを無効にした際に、
無効にしたＩｎｄｅｘビットのＭＳＢを、アドレスのＴａｇビットのＬＳＢとして使用して、Ｔａｇビットのビット長を１ビット拡張させたことを特徴とする請求項２に記載のキャッシュメモリ。
【請求項５】
各々の出力がメモリセルの列に対応して配置される一対のビットラインの各々に至る経路に接続されるクロスカップル接続された一対のインバータと、ビットラインとインバータの出力との間に設けられた一対のスイッチ部と、スイッチ部の導通を制御する１本のワードラインと、から構成される１ビットのメモリセルがワードライン方向に連結され、ビットライン方向に隣接するメモリセルのデータ保持ノード間にモード制御スイッチ部と、該モード制御スイッチ部の導通を制御するモード制御ラインと、
を備えるキャッシュメモリにおいて、
１ビットが１個のメモリセルで構成されるモード（通常モード）と１ビットが２個のメモリセルを連結して構成されるモード（高信頼性モード）を切り替えるモード切替方法であって、
メモリセルアレイの偶数ラインは偶数ウェイに、奇数ラインは奇数ウェイに割り当てられ、又は、メモリセルアレイの偶数ラインは奇数ウェイに、奇数ラインは偶数ウェイに割り当てるステップと、
偶数ウェイもしくは奇数ウェイを無効にするステップを備えたことを特徴とするキャッシュメモリのモード切替方法。
【請求項６】
各々の出力がメモリセルの列に対応して配置される一対のビットラインの各々に至る経路に接続されるクロスカップル接続された一対のインバータと、ビットラインとインバータの出力との間に設けられた一対のスイッチ部と、スイッチ部の導通を制御する１本のワードラインと、から構成される１ビットのメモリセルがワードライン方向に連結され、ビットライン方向に隣接するメモリセルのデータ保持ノード間にモード制御スイッチ部と、該モード制御スイッチ部の導通を制御するモード制御ラインと、
を備えるキャッシュメモリにおいて、
１ビットが１個のメモリセルで構成されるモード（通常モード）と１ビットが２個のメモリセルを連結して構成されるモード（高信頼性モード）を切り替えるモード切替方法であって、
メモリセルアレイの偶数ラインは偶数ウェイに、奇数ラインは奇数ウェイに割り当てられ、又は、メモリセルアレイの偶数ラインは奇数ウェイに、奇数ラインは偶数ウェイに割り当てるステップと、
偶数ラインと奇数ラインにおけるＩｎｄｅｘビットのアドレスが相互に逆順（一方が昇順、他方が降順）となるように割り当てるステップと、
キャッシュアクセスのためのアドレスのＩｎｄｅｘビットのＭＳＢを無効（０固定若しくは１固定）にするステップを備え、
前記高信頼性モードに切り替えるために、ＩｎｄｅｘビットのＭＳＢを無効にし、Ｉｎｄｅｘビットが参照するＴａｇアレイの前半ラインのみ若しくは後半ラインのみ使用する、ことを特徴とするキャッシュメモリのモード切替方法。
【請求項７】
キャッシュアクセスのためのアドレスのＩｎｄｅｘビットのＭＳＢとＴａｇビットのＬＳＢを重複して使用して、Ｔａｇビットのビット長を１ビット拡張させたことを特徴とする請求項６に記載のキャッシュメモリのモード切替方法。
【請求項８】
ＩｎｄｅｘビットのＭＳＢを無効にした際に、
無効にしたＩｎｄｅｘビットのＭＳＢを、アドレスのＴａｇビットのＬＳＢとして使用して、Ｔａｇビットのビット長を１ビット拡張させたことを特徴とする請求項６に記載のキャッシュメモリのモード切替方法。
【請求項９】
前記高信頼性モードに切り替えた高信頼メモリブロック（高信頼ウェイ）に、アプリケーションにおいて高信頼性が要求される高信頼性データをフェッチした場合に、前記高信頼ウェイを上書きされないようロックし、データ更新の際にはロックを解除し、書込みを行ってから再びロックすることを特徴とする請求項５又は６に記載のキャッシュメモリのモード切替方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キャッシュメモリにおいて通常モードと高信頼性モードのモード切替を可能とする制御方法、キャッシュメモリへの高信頼性データの配置方法、並びに、１チップ上に複数のプロセッサコアを集積したチップマルチプロセッサ(ＣＭＰ：Ｃｈｉｐ Ｍｕｌｔｉ Ｐｒｏｃｅｓｓｏｒ) におけるキャッシュメモリのメモリセルの割り当て方法に関する技術である。
【背景技術】
【０００２】
近年のＳＲＡＭ（Ｓｔａｔｉｃ Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）等のメモリは、ＳｏＣに搭載されるＣＭＯＳプロセス技術が進展し、集積回路の加工寸法（スケーリングサイズ）が縮小され、より高いチップ密度と低いチップコストが実現され、メモリ容量が増大している。このようなスケーリングサイズの縮小は、ＳＲＡＭ等のメモリセルを構成するトランジスタのしきい値電圧のばらつきを拡大し、メモリセルにおける読み出しや書き込みのノイズマージンを低下させ、メモリセル動作を不安定性化し、ビット誤り率（ＢＥＲ；Ｂｉｔ Ｅｒｒｏｒ Ｒａｔｅ)を増大させている。
【０００３】
また、近年のプロセッサ、特にモバイルＰＣ等に使用されるプロセッサでは、入力待ちなどのプロセッサがアイドルになる状況において、プロセッサの電源電圧を下げ、アイドル時の消費電力を削減するという制御を行っている。この制御は、一般にパワーダウンモード制御と呼ばれている。このパワーダウンモード制御では、プロセッサコアに含まれるＬ１キャッシュのデータは、Ｌ２キャッシュに書き出しておき、プロセッサコアの電源電圧を非常に低い電圧(例えば、０．２〜０．３Ｖ程度)に落とす。Ｌ２キャッシュは全てのデータをメインメモリに書き出すと、パワーダウンモードへの移行時間や通常モードへの復帰時間が非常に大きくなってしまいサイクルオーバーヘッドとなることから、Ｌ２キャッシュは一部のデータ(ライトバックが必要なデータ)を書き出して、残りの必要なデータについてはデータを保持したままとしている。そのため、Ｌ２キャッシュにおいては、ＳＲＡＭがデータを保持可能なぎりぎりの電圧(リテンション電圧)まで電源電圧を落としている。
特に、ＳＲＡＭは、プロセッサの最低動作電圧を決定する支配的要因であり、ＳＲＡＭの最低動作電圧を下げることによって、プロセッサの最低動作電圧を下げることが可能となる。
【０００４】
上記状況に鑑みて、本発明者らは、アプリケーションやメモリ状況に応じてメモリセルのビット信頼性（ＱｏＢ：Ｑｕａｌｉｔｙ ｏｆ Ｂｉｔ）を動的に変化させることができ、動作の安定性を確保して低消費電力化および高信頼性化を実現できるメモリを提供することを目的として、１ビットが１個のメモリセルで構成されるモードと、１ビットが２個のメモリセルを連結して構成されるモードとを動的に切り替えることができ、モードを切り替えることにより、１ビットの動作安定性の増大および読出し動作のセル電流の増大（読出し動作の高速化）を行い、またビットエラーの自己修復が行えるといった新規なメモリを既に提案している（特許文献１を参照）。
【０００５】
かかる提案のメモリの一実施例は、図１に示すように、各々の出力がメモリセルの列に対応して配置される一対のビットラインの各々に至る経路に接続されるクロスカップル接続された一対のインバータと、ビットラインとインバータの出力との間に設けられた一対のスイッチ部と、スイッチ部の導通が制御し得る１本のワードラインとから構成されるメモリセルにおいて、隣接する２つのメモリセルのデータ保持ノード間に、１対のＰ型ＭＯＳトランジスタ（Ｍ２０，Ｍ２１）と、該Ｐ型ＭＯＳトランジスタが導通するように制御し得る１本のモード制御ラインを追加した構成とされる。
【０００６】
また、図２は、隣接する２つのメモリセルのデータ保持ノード間に、１対のＮ型ＭＯＳトランジスタ（Ｍ２０，Ｍ２１）と、該Ｎ型ＭＯＳトランジスタが導通するように制御し得る１本のモード制御ラインを追加した構成を示している。
【０００７】
ここで、図１のメモリセルの回路動作を簡単に説明する。図１に示すメモリセル（ＭＣ０１）は、電源電位ＶＶＤＤＡおよび接地電位ＶＧＮＤＡの間に直列に接続されるＰ型ＭＯＳトランジスタ（Ｍ００）およびＮ型ＭＯＳトランジスタ（Ｍ０２）と、電源電位ＶＶＤＤＡおよび接地電位ＶＧＮＤＡの間に直列に接続されるＰ型ＭＯＳトランジスタ（Ｍ０１）およびＮ型ＭＯＳトランジスタ（Ｍ０３）とからなるラッチ回路を構成している。メモリセル（ＭＣ０１）自体は、一般的な６トランジスタの構成のメモリセルである。
【０００８】
メモリセル（ＭＣ１０）も同様に、電源電位ＶＶＤＤＢおよび接地電位ＶＧＮＤＢの間に直列に接続されるＰ型ＭＯＳトランジスタ（Ｍ１０）およびＮ型ＭＯＳトランジスタ（Ｍ１２）と、電源電位ＶＶＤＤＢおよび接地電位ＶＧＮＤＢの間に直列に接続されるＰ型ＭＯＳトランジスタ（Ｍ１１）およびＮ型ＭＯＳトランジスタ（Ｍ１３）とからなるラッチ回路を構成している。メモリセル（ＭＣ１０）自体も、一般的な６トランジスタの構成のメモリセルである。
【０００９】
メモリセル（ＭＣ０１）では、Ｐ型ＭＯＳトランジスタ（Ｍ００）およびＮ型ＭＯＳトランジスタ（Ｍ０２）のゲート端子は、共にＰ型ＭＯＳトランジスタ（Ｍ０１）およびＮ型ＭＯＳトランジスタ（Ｍ０３）のノード（Ｎ０１）に接続されている。また、Ｐ型ＭＯＳトランジスタ（Ｍ０１）およびＮ型ＭＯＳトランジスタ（Ｍ０３）のゲート端子は、共にＰ型ＭＯＳトランジスタ（Ｍ００）およびＮ型ＭＯＳトランジスタ（Ｍ０２）のノード（Ｎ００）に接続されている。このようにＭ００〜Ｍ０３のトランジスタはクロスカップル接続されているため、Ｐ型ＭＯＳトランジスタ（Ｍ００，Ｍ０１）は負荷トランジスタとして動作し、Ｎ型ＭＯＳトランジスタ（Ｍ０２，Ｍ０３）は駆動トランジスタとして動作する。メモリセル（ＭＣ１０）も同様である。
【００１０】
またメモリセル（ＭＣ０１）は、相補なビットライン（ＢＬ，／ＢＬ）と、ノード（Ｎ００，Ｎ０１）との間にそれぞれ接続されたＮ型ＭＯＳトランジスタ（Ｍ０４、Ｍ０５）のスイッチ部を備える。Ｎ型ＭＯＳトランジスタ（Ｍ０４，Ｍ０５）のゲート端子は、共に共通のワードライン（ＷＬＡ）に接続されており、Ｎ型ＭＯＳトランジスタ（Ｍ０４，Ｍ０５）のゲート電位はワードライン（ＷＬＡ）により制御される。すわなち、メモリセル（ＭＣ０１）においては、Ｐ型ＭＯＳトランジスタ（Ｍ００，Ｍ０１）を負荷トランジスタとし、Ｎ型ＭＯＳトランジスタ（Ｍ０２，Ｍ０３）を駆動トランジスタし、Ｎ型ＭＯＳトランジスタ（Ｍ０４，Ｍ０５）をスイッチ部として動作するのである。
【００１１】
また、メモリセル（ＭＣ１０）も、相補なビットライン（ＢＬ，／ＢＬ）と、ノード（Ｎ１０，Ｎ１１）との間にそれぞれ接続されたＮ型ＭＯＳトランジスタ（Ｍ１４、Ｍ１５）のスイッチ部を備える。Ｎ型ＭＯＳトランジスタ（Ｍ１４，Ｍ１５）のゲート端子は、共に共通のワードライン（ＷＬＡ）に接続されており、Ｎ型ＭＯＳトランジスタ（Ｍ１４，Ｍ１５）のゲート電位はワードライン（ＷＬＡ）により制御される。
【００１２】
そして、メモリセル（ＭＣ０１，ＭＣ１０）のデータ保持ノード間（Ｎ００とＮ１０の間、Ｎ０１とＮ１１の間）に、モード制御スイッチ部となる１対のＰ型ＭＯＳトランジスタ（Ｍ２０、Ｍ２１）が設けられ、このＰ型ＭＯＳトランジスタ（Ｍ２０、Ｍ２１）の導通を制御する１本のモード制御ライン（／ＣＴＲＬ）が設けられている。
【００１３】
以上のような回路構成のメモリセルでは、１ビットのデータをメモリセル（ＭＣ０１）に記憶する場合と、１ビットのデータをメモリセル（ＭＣ０１）とメモリセル（ＭＣ１０）の２つのメモリセルに記憶する場合とを、モード制御ライン（／ＣＴＲＬ）を用いて、使い分けることが可能である。上記回路構成のメモリセルは、１ビットが１個のメモリセルで構成されるモードと、１ビットが２個のメモリセルを連結して構成されるモードの２つの状態を有し、アプリケーションやメモリ状況に応じてメモリセルのビット信頼性を動的に変化させることができ、動作の安定性を確保して低消費電力化および高信頼性化を実現する。
【００１４】
この１ビットが１個のメモリセルで構成されるモードと、１ビットが２個のメモリセルを連結して構成されるモードの切り替えは、メモリセルブロック毎に動的に変化させることが可能である。
【００１５】
上述したメモリ、すなわち、１ビットが１個のメモリセルで構成されるモード（通常モード）と、１ビットが２個のメモリセルを連結して構成されるモード（高信頼モード）の２つの状態を有し、アプリケーションやメモリ状況に応じてメモリセルのビット信頼性を動的に切り替えることができ、動作の安定性を確保して低消費電力化および高信頼性化を実現できるメモリを、本明細書では、ＱｏＢ（Ｑｕａｌｉｔｙ ｏｆ Ｂｉｔ）メモリと称することにする。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】ＰＣＴ／ＪＰ２００９／５００８６
【発明の概要】
【発明が解決しようとする課題】
【００１７】
μプロセッサにおけるキャッシュメモリに上述のＱｏＢメモリを適用するにあたり、１ビットが１個のメモリセルで構成されるモード（通常モード）と１ビットが２個のメモリセルを連結して構成されるモード（高信頼性モード）の間のモード切替によるメモリ容量の変動に対応する機構、すなわち、ＱｏＢメモリを実際に使用するためのソリューションが必要になる。
また、キャッシュメモリにおいては、データのマッピングがハードウェアによって自動的に行われる。このため、アプリケーションにおいて高信頼性が要求されるデータを高信頼性メモリブロック（高信頼性モードのＱｏＢメモリブロック）に配置することができないといった問題がある。
【００１８】
上記状況に鑑みて、本発明は、     ＱｏＢメモリにおける通常モードと高信頼性モード間のモード切替によるメモリ容量の変動に対応可能で、また、高信頼性データを高信頼性メモリブロックに配置可能なキャッシュメモリを実現できるものである。
すなわち、本発明は、キャッシュメモリにおいて通常モードと高信頼性モードのモード切替を可能とする制御方法、キャッシュメモリへの高信頼性データの配置方法、並びに、マルチコアプロセッサにおけるキャッシュメモリのメモリセルの割り当て方法を提供することを目的とする。
【課題を解決するための手段】
【００１９】
上記目的を達成するため、本発明のキャッシュメモリは、各々の出力がメモリセルの列に対応して配置される一対のビットラインの各々に至る経路に接続されるクロスカップル接続された一対のインバータと、ビットラインとインバータの出力との間に設けられた一対のスイッチ部と、スイッチ部の導通を制御する１本のワードラインと、から構成される１ビットのメモリセルがワードライン方向に連結され、ビットライン方向に隣接するメモリセルのデータ保持ノード間にモード制御スイッチ部と、該モード制御スイッチ部の導通を制御するモード制御ラインと、を備えるキャッシュメモリにおいて、
Ｉｎｄｅｘビットのアドレスの割り当てにおいて、メモリセルアレイの偶数ラインは偶数ウェイに、奇数ラインは奇数ウェイに割り当てられ、又は、メモリセルアレイの偶数ラインは奇数ウェイに、奇数ラインは偶数ウェイに割り当てられ、偶数ラインと奇数ラインにおいてＩｎｄｅｘビットのアドレスが相互に逆順（一方が昇順、他方が降順）となるように割り当てられ、
キャッシュアクセスのためのアドレスのＩｎｄｅｘビットのＭＳＢ（Ｍｏｓｔ Ｓｉｇｎｉｆｉｃａｎｔ Ｂｉｔ）を無効（０固定若しくは１固定)にするためのセレクタ回路を備え、１ビットが２個のメモリセルを連結して構成されるモード（高信頼性モード）に切り替えるために、ＩｎｄｅｘビットのＭＳＢを無効にし、Ｉｎｄｅｘビットが参照するＴａｇアレイの前半ラインのみ若しくは後半ラインのみ使用する、構成とされる。
【００２０】
ＩｎｄｅｘビットのＭＳＢを０に固定（０を無効の意味とする）にすることによって、Ｉｎｄｅｘの数が半分になる。これにより、Ｉｎｄｅｘビットが参照するＴａｇアレイにおいては、アレイの前半ラインのみ使用できることになる。したがって、Ｔａｇアレイの後半ラインは使用不可の状態となり、Ｔａｇアレイの後半ラインに対応するデータアレイ後半のキャッシュラインは無効となる。
また、ＩｎｄｅｘビットのＭＳＢを１に固定（１を無効の意味とする）にすることによって、Ｉｎｄｅｘの数が半分になる。これにより、Ｉｎｄｅｘビットが参照するＴａｇアレイにおいては、アレイの後半ラインのみ使用できることになる。したがって、Ｔａｇアレイの前半ラインは使用不可の状態となり、Ｔａｇアレイの前半ラインに対応するデータアレイ前半のキャッシュラインは無効となる。
上述したように、ＱｏＢメモリでは、１ビットが１個のメモリセルで構成されるモード（通常モード）と１ビットが２個のメモリセルを連結して構成されるモード（高信頼性モード）をアプリケーションやメモリ状況に応じて動的に切り替える。１ビットが２個のメモリセルを連結して構成されるモード（高信頼性モード）を、Ｉｎｄｅｘビットが参照するＴａｇアレイの前半ラインと後半ラインのペア、すなわち、データアレイの前半のキャッシュラインと後半のキャッシュラインのペアのメモリセルを用いて実現するのである。
ＱｏＢメモリで構成されるキャッシュメモリにおいて、キャッシュアクセスのためのアドレスのＩｎｄｅｘビットのＭＳＢを無効（０固定もしくは１固定）にするためのセレクタ回路を備えることにより、上に述べた如く、通常モードと高信頼性モードのモード切替を可能とする制御が行えるのである。
【００２１】
また、本発明のキャッシュメモリは、好ましくは、キャッシュアクセスのためのアドレスのＩｎｄｅｘビットのＭＳＢとＴａｇビットのＬＳＢ（Ｌｅａｓｔ
Ｓｉｇｎｉｆｉｃａｎｔ Ｂｉｔ）を重複して使用して、Ｔａｇビットのビット長を１ビット拡張した構成とされる。
【００２２】
かかる構成によれば、ＩｎｄｅｘビットのＭＳＢを無効にした場合においても、キャッシュラインの一意性を確保することが可能となる。すなわち、ＩｎｄｅｘビットのＭＳＢを無効（０固定もしくは１固定）にした場合、上述したように、Ｔａｇアレイの前半ラインもしくは後半ラインは無効となる。例えば、Ｔａｇアレイの後半ラインが無効とされた場合において、Ｔａｇビットが一致するものがＴａｇアレイの後半ラインにあった場合、Ｔａｇの問い合わせに対して、キャッシュヒットとならないようにする必要がある。そのため、ＩｎｄｅｘビットのＭＳＢとＴａｇビットのＬＳＢを重複して使用して、Ｔａｇビットのビット長を１ビット拡張し、ＴａｇビットのＬＳＢが０か１かで、通常モードにおいてＴａｇアレイの前半部分に格納されているラインのキャッシュヒットか、通常モードにおいてＴａｇアレイの後半部分に格納されているラインのキャッシュヒットかを判別することにしたものである。
【００２３】
また、本発明のキャッシュメモリは、好ましくは、セレクタ回路を用いて、ＩｎｄｅｘビットのＭＳＢを無効にした際に、無効にしたＩｎｄｅｘビットのＭＳＢを、アドレスのＴａｇビットのＬＳＢとして使用して、Ｔａｇビットのビット長を１ビット拡張した構成とされる。
【００２４】
かかる構成によれば、ＩｎｄｅｘビットのＭＳＢを無効にした場合においても、キャッシュラインの一意性を確保することが可能となる。すなわち、ＩｎｄｅｘビットのＭＳＢを無効にした場合、Ｔａｇアレイの前半ラインもしくは後半ラインは無効となる。例えば、Ｔａｇアレイの後半ラインが無効とされた場合において、Ｔａｇビットが一致するものがＴａｇアレイの後半ラインにあった場合、Ｔａｇの問い合わせに対して、キャッシュヒットとならないようにする必要がある。そのため、ＩｎｄｅｘビットのＭＳＢとＴａｇビットのＬＳＢを重複して使用して、Ｔａｇビットのビット長を１ビット拡張し、ＴａｇビットのＬＳＢが０か１かで、通常モードにおいてＴａｇアレイの前半部分に格納されているラインのキャッシュヒットか、通常モードにおいてＴａｇアレイの後半部分に格納されているラインのキャッシュヒットかを判別することにしたものである。
【００２６】
また、本発明のキャッシュメモリは、Ｉｎｄｅｘビットのアドレスの割り当てにおいて、メモリセルアレイの偶数ラインは偶数ウェイに、奇数ラインは奇数ウェイに割り当てられ、又は、メモリセルアレイの偶数ラインは奇数ウェイに、奇数ラインは偶数ウェイに割り当てられ、偶数ラインと奇数ラインで、Ｉｎｄｅｘビットのアドレスが逆順（一方が昇順、他方が降順）となるように割り当てる構成とされることで、ＱｏＢメモリの高信頼性モードのメモリセルペアを、キャッシュメモリのメモリセルアレイの偶数ウェイの偶数ラインと奇数ウェイの奇数ラインのペア、又は、キャッシュメモリのメモリセルアレイの奇数ウェイの奇数ラインと偶数ウェイの偶数ラインのペアで構成可能となる。
ＩｎｄｅｘビットのＭＳＢを無効（０固定もしくは１固定）にすることによって、Ｔａｇアレイの前半ラインのみ若しくは後半ラインのみ有効となるため、隣接するウェイ同士のＩｎｄｅｘビットのアドレスの割り当てが逆順（一方が昇順、他方が降順）になるように予め割り当てるのである。
これにより、ＱｏＢメモリにおける通常モード（１ビットを１メモリセルで構成）から高信頼性モード（１ビットを２メモリセルで構成）への切り替えを実現するためのハードウェアの変更部分を少なくできる。具体的なハードウェアの変更部分は、Ｉｎｄｅｘビットのアドレスの割り当てを予め逆順にする構成への変更と、ＩｎｄｅｘビットのＭＳＢを無効（０固定もしくは１固定）にするためのセレクタ回路の追加となる。
【００２７】
また、本発明の他の観点のキャッシュメモリは、各々の出力がメモリセルの列に対応して配置される一対のビットラインの各々に至る経路に接続されるクロスカップル接続された一対のインバータと、ビットラインとインバータの出力との間に設けられた一対のスイッチ部と、スイッチ部の導通を制御する１本のワードラインと、から構成される１ビットのメモリセルがワードライン方向に連結され、ビットライン方向に隣接するメモリセルのデータ保持ノード間にモード制御スイッチ部と、該モード制御スイッチ部の導通を制御するモード制御ラインと、を備えるキャッシュメモリにおいて、
メモリセルアレイの偶数ラインは偶数ウェイに、奇数ラインは奇数ウェイに割り当てられ、又は、メモリセルアレイの偶数ラインは奇数ウェイに、奇数ラインは偶数ウェイに割り当てられ、偶数ウェイもしくは奇数ウェイを無効にするためのセレクタ回路、を備えた構成とされる。
【００２８】
かかる構成によれば、ＱｏＢメモリにおいて、高信頼性モード（１ビットを２メモリセル）を偶数ウェイと奇数ウェイをペア構造で実現できる。すなわち、偶数ラインは偶数ウェイに奇数ラインは奇数ウェイに割り当て、又は、メモリセルアレイの偶数ラインは奇数ウェイに奇数ラインは偶数ウェイに割り当てることにより、偶数ウェイと奇数ウェイのペア構造がそのままＱｏＢメモリにおける高信頼性モード（１ビットを２メモリセル）と対応することになる。通常モード（１ビットを１メモリセル）から高信頼性モード（１ビットを２メモリセル）に切り替える際は、偶数（奇数）ウェイの隣接する奇数（偶数）ウェイを無効にすることで、高信頼性モード（１ビットを２メモリセル）のメモリセル構造を適用できることになる。
【００２９】
次に、本発明のキャッシュメモリのモード切替方法は、各々の出力がメモリセルの列に対応して配置される一対のビットラインの各々に至る経路に接続されるクロスカップル接続された一対のインバータと、ビットラインとインバータの出力との間に設けられた一対のスイッチ部と、スイッチ部の導通を制御する１本のワードラインと、から構成される１ビットのメモリセルがワードライン方向に連結され、ビットライン方向に隣接するメモリセルのデータ保持ノード間にモード制御スイッチ部と、該モード制御スイッチ部の導通を制御するモード制御ラインと、を備えるキャッシュメモリにおいて、１ビットが１個のメモリセルで構成されるモード（通常モード）と１ビットが２個のメモリセルを連結して構成されるモード（高信頼性モード）を切り替えるモード切替方法であって、
メモリセルアレイの偶数ラインは偶数ウェイに、奇数ラインは奇数ウェイに割り当てられ、又は、メモリセルアレイの偶数ラインは奇数ウェイに、奇数ラインは偶数ウェイに割り当てるステップと、偶数ラインと奇数ラインにおけるＩｎｄｅｘビットのアドレスが相互に逆順（一方が昇順、他方が降順）となるように割り当てるステップと、キャッシュアクセスのためのアドレスのＩｎｄｅｘビットのＭＳＢを無効にするステップを備え、高信頼性モードに切り替えるために、ＩｎｄｅｘビットのＭＳＢを無効にし、Ｉｎｄｅｘビットが参照するＴａｇアレイの前半ラインのみ使用する、構成とされる。
【００３０】
ＩｎｄｅｘビットのＭＳＢを無効（０固定）にすることによって、Ｉｎｄｅｘの数が半分になることにより、Ｉｎｄｅｘビットが参照するＴａｇアレイにおいて、アレイの前半ラインのみ使用できることになることから、Ｔａｇアレイの後半ラインは使用不可の状態となり、Ｔａｇアレイの後半ラインに対応するデータアレイ後半のキャッシュラインは無効となる。これにより、ＱｏＢメモリにおける高信頼性モード（１ビットが２メモリセル）を、Ｉｎｄｅｘビットが参照するＴａｇアレイの前半ラインと後半ラインのペア、すなわち、データアレイの前半のキャッシュラインと後半のキャッシュラインのペアのメモリセルを用いて実現する。すなわち、ＱｏＢメモリで構成されるキャッシュメモリにおいて、キャッシュアクセスのためのアドレスのＩｎｄｅｘビットのＭＳＢを無効にするステップにより、ＱｏＢメモリにおける通常モード（１ビットを１メモリセル）と高信頼性モード（１ビットを２メモリセル）のモード切替を可能とする制御が行えるのである。
【００３１】
また、本発明のキャッシュメモリのモード切替方法は、好ましくは、キャッシュアクセスのためのアドレスのＩｎｄｅｘビットのＭＳＢとＴａｇビットのＬＳＢを重複して使用して、Ｔａｇビットのビット長を１ビット拡張させる。
これにより、ＩｎｄｅｘビットのＭＳＢを無効にした場合においても、キャッシュラインの一意性を確保することができる。
【００３２】
また、本発明のキャッシュメモリのモード切替方法は、好ましくは、ＩｎｄｅｘビットのＭＳＢを無効にした際に、無効にしたＩｎｄｅｘビットのＭＳＢを、アドレスのＴａｇビットのＬＳＢとして使用して、Ｔａｇビットのビット長を１ビット拡張させる。
これにより、ＩｎｄｅｘビットのＭＳＢを無効にした場合においても、キャッシュラインの一意性を確保することができる。
【００３４】
また、本発明のキャッシュメモリのモード切替方法は、メモリセルアレイの偶数ラインは偶数ウェイに、奇数ラインは奇数ウェイに割り当てられ、又は、メモリセルアレイの偶数ラインは奇数ウェイに、奇数ラインは偶数ウェイに割り当てるステップと、偶数ラインと奇数ラインで、Ｉｎｄｅｘビットのアドレスが逆順（一方が昇順、他方が降順）となるように割り当てるステップと、を備えることで、ＱｏＢメモリの高信頼性モードのメモリセルペアを、キャッシュメモリのメモリセルアレイの偶数ウェイの偶数ラインと奇数ウェイの奇数ラインのペア、又は、キャッシュメモリのメモリセルアレイの奇数ウェイの奇数ラインと偶数ウェイの偶数ラインのペアで構成し、隣接するウェイ同士のＩｎｄｅｘビットのアドレスが逆順（一方が昇順、他方が降順）となるように割り当てることにより、ＱｏＢメモリにおける通常モード（１ビットを１メモリセルで構成）から高信頼性モード（１ビットを２メモリセルで構成）への切り替えを実現する。従来のキャッシュメモリと比較して、Ｉｎｄｅｘビットのアドレスが逆順となるように割り当てるステップと、ＩｎｄｅｘビットのＭＳＢを無効（０固定もしくは１固定）にするステップのみであり、変更部分を少なくできる。
【００３５】
また、本発明のキャッシュメモリの他の観点のモード切替方法は、各々の出力がメモリセルの列に対応して配置される一対のビットラインの各々に至る経路に接続されるクロスカップル接続された一対のインバータと、ビットラインとインバータの出力との間に設けられた一対のスイッチ部と、スイッチ部の導通を制御する１本のワードラインと、から構成される１ビットのメモリセルがワードライン方向に連結され、ビットライン方向に隣接するメモリセルのデータ保持ノード間にモード制御スイッチ部と、該モード制御スイッチ部の導通を制御するモード制御ラインと、を備えるキャッシュメモリにおいて、１ビットが１個のメモリセルで構成されるモード（通常モード）と１ビットが２個のメモリセルを連結して構成されるモード（高信頼性モード）を切り替えるモード切替方法であって、
メモリセルアレイの偶数ラインは偶数ウェイに、奇数ラインは奇数ウェイに割り当てられ、又は、メモリセルアレイの偶数ラインは奇数ウェイに、奇数ラインは偶数ウェイに割り当てるステップと、偶数ウェイもしくは奇数ウェイを無効にするステップを備えた構成とされる。
【００３６】
かかる構成によれば、ＱｏＢメモリにおいて、高信頼性モード（１ビットを２メモリセル）を偶数ウェイと奇数ウェイをペア構造で実現できる。すなわち、偶数ラインは偶数ウェイに奇数ラインは奇数ウェイに割り当て、又は、メモリセルアレイの偶数ラインは奇数ウェイに奇数ラインは偶数ウェイに割り当てることにより、偶数ウェイと奇数ウェイのペア構造がそのままＱｏＢメモリにおける高信頼性モード（１ビットを２メモリセル）と対応することになる。通常モード（１ビットを１メモリセル）から高信頼性モード（１ビットを２メモリセル）に切り替える際は、偶数（奇数）ウェイの隣接する奇数（偶数）ウェイを無効にすることで、高信頼性モード（１ビットを２メモリセル）のメモリセル構造を適用できることになる。
【００３７】
また、上述した本発明のキャッシュメモリのモード切替方法において、高信頼性モードに切り替えた高信頼メモリブロック（高信頼ウェイ）に、アプリケーションにおいて高信頼性が要求される高信頼性データをフェッチした場合に、高信頼ウェイを上書きされないようロックし、データ更新の際にはロックを解除し、書込みを行ってから再びロックすることが好ましい。
【００３８】
これにより、ＱｏＢメモリで構成されるキャッシュメモリにおいて、高信頼性モード（１ビットが２メモリセル）となった高信頼メモリブロック（高信頼ウェイ）に、高信頼性が要求されるデータを配置することができることになる。具体的に方法としては、高信頼ウェイに、高信頼性が要求されるデータをプリフェッチした後、そのデータが上書きされることがないように当該高信頼ウェイをロックする。そして、データの更新の必要がある場合は、当該高信頼ウェイのロックを解除し、書込みを行ってから、当該高信頼ウェイを再びロックする。
【発明の効果】
【００３９】
本発明のキャッシュメモリやそのモード切替方法によれば、ＱｏＢメモリにおける通常モード（１ビットを１メモリセル）と高信頼性モード（１ビットを２メモリセル）間のモード切替によるメモリ容量の変動に対応でき、また、高信頼性データを高信頼性メモリブロックに配置できるといった効果を有する。
【００４０】
ＱｏＢメモリにおける通常モードから高信頼性モードへモード切替を行うことにより、従来と比較してメモリのリテンション電圧を下げることが可能で、その結果、上述したパワーダウンモード制御において、Ｌ２キャッシュのリテンション電圧を下げることが可能となり、プロセッサの待機電力を大きく削減することが可能となる。
【００４１】
また、ＱｏＢメモリにおける通常モードから高信頼性モードへモード切替を行うことにより、プロセッサのキャッシュメモリの最低動作電圧を下げることが可能で、その結果、プロセッサにおけるＤＶＦＳ（動的電源電圧・周波数制御）を従来と比較してより低電圧化・低消費電力化で行うことが可能となる。このことは、モバイルＰＣ等の電源容量に限りがある環境において、残りの電源容量が非常に少なくなった際に、ＱｏＢメモリにおける通常モードから高信頼性モードへモード切替を行うことにより、非常に低電源電圧で動作させて、従来と比較してプロセッサの動作時間を大きく延ばし、プロセッサの動作を長時間維持することが可能となる。
【図面の簡単な説明】
【００４２】
【図１】メモリセルのビット信頼性ＱｏＢを動的に変化させ得る提案中の半導体メモリのメモリセルの回路構成図（モード制御スイッチ部がＰ型ＭＯＳトランジスタの場合）
【図２】メモリセルのビット信頼性ＱｏＢを動的に変化させ得る提案中の半導体メモリのメモリセルの回路構成図（モード制御スイッチ部がＮ型ＭＯＳトランジスタの場合）
【図３】ＱｏＢメモリを適用したＬ１キャッシュの構成図
【図４】２個のプロセッサコア（Ｃｏｒｅ０，Ｃｏｒｅ１）間のキャッシュメモリ（Ｌ１キャッシュ）において、ＱｏＢメモリを高信頼性モード（１ビットを２メモリセル）で使用する態様を示す図。
【図５】ＱｏＢメモリを適用したＬ２キャッシュの構成図
【図６】従来のキャッシュアクセスの動作説明図
【図７】１ＫＢの４Ｗａｙのキャッシュラインサイズが３２ｂｙｔｅのアドレスを例示する図
【図８】ＱｏＢメモリを用いたキャッシュメモリのアドレス指定における通常モード時の具体例を示す図
【図９】ＱｏＢメモリを用いたキャッシュメモリのアドレス指定における高信頼モード時の具定例を示す図
【図１０】ＴａｇＢの問い合わせに対して、キャッシュラインＡが出力され、エラーとなる場合の説明図
【図１１】Ｉｎｄｅｘビットのアドレス割り当てとアドレス空間の変更方法の説明図
【発明を実施するための最良の形態】
【００４３】
以下、本発明の実施形態について、図面を参照しながら詳細に説明していく。なお、本発明の範囲は、以下の実施例や図示例に限定されるものではなく、幾多の変更及び変形が可能である。
【００４４】
図３は、ＱｏＢメモリを適用したＬ１キャッシュの構成を示している。ここで、Ｌ１キャッシュは、２個のプロセッサコア（Ｃｏｒｅ０，Ｃｏｒｅ１）の間に存在するキャッシュメモリである。ＱｏＢメモリを適用したＬ１キャッシュでは、プロセッサコア（Ｃｏｒｅ０）には、メモリセル（ＭＣ）アレイの奇数ラインを割り当てる。また、プロセッサコア（Ｃｏｒｅ１）には、メモリセル（ＭＣ）アレイの偶数ラインを割り当てる。メモリセル（ＭＣ）アレイは、１ビットのメモリセル（ＭＣ）がワードライン方向に連結されたものである。
点線で囲まれ、斜めのハッチングで示したメモリセル（ＭＣ）ペア回路は、各々の出力がメモリセルの列に対応して配置される一対のビットラインの各々に至る経路に接続されるクロスカップル接続された一対のインバータと、ビットラインとインバータの出力との間に設けられた一対のスイッチ部と、スイッチ部の導通を制御する１本のワードラインと、から構成される１ビットのメモリセルのペアに、ビットライン方向に上下に隣接するメモリセルのデータ保持ノード間にモード制御スイッチ部と、該モード制御スイッチ部の導通を制御する１本のモード制御ラインと、を更に加えた構成となっている。
【００４５】
図３の場合では、４行×４列の計１６個のＭＣが示されており、上下に隣接するメモリセルは、それぞれ異なるプロセッサコア（Ｃｏｒｅ０，Ｃｏｒｅ１）に接続されている。それぞれのメモリセル（ＭＣ）の位置を（ｍ，ｎ）で示すことにする（ｍ：０〜３，ｎ：０〜３）。例えば、ＭＣ（０，０）は１行目の１列目、すなわち、図３において左側の上に位置するメモリセルとなる。
図３では、１行目と２行目の上下に隣接するメモリセル（ＭＣ）のデータ保持ノード間にモード制御スイッチ部と、該モード制御スイッチ部の導通を制御する１本のモード制御ラインが加えられている。また、３行目と４行目の上下に隣接するメモリセル（ＭＣ）のデータ保持ノード間にモード制御スイッチ部と、該モード制御スイッチ部の導通を制御する１本のモード制御ラインが加えられている。例えば、上下に隣接するＭＣ（０，０）とＭＣ（１，０），ＭＣ（２，３）とＭＣ（３，３）のデータ保持ノード間にモード制御スイッチ部と、該モード制御スイッチ部の導通を制御する１本のモード制御ラインが加えられている。
【００４６】
また、一方のプロセッサのみで処理を行う場合は、使用していないプロセッサ側のキャッシュにデータをコピーし、メモリセル（ＭＣ）ペア回路を１ビットのメモリセルとして使用することで、アプリケーションやメモリ状況に応じてメモリセルのビット信頼性を高くでき、動作の安定性を確保して低消費電力化および高信頼性化の動作が可能となる。
【００４７】
次に、図４は、２個のプロセッサコア（Ｃｏｒｅ０，Ｃｏｒｅ１）間のキャッシュメモリ（Ｌ１キャッシュ）において、ＱｏＢメモリを高信頼性モード（１ビットを２メモリセル）で使用する態様を２通り示している。
図４（１）に示すＬ１キャッシュは、ＱｏＢメモリのメモリセルアレイの奇数ラインを一方のプロセッサコア（Ｃｏｒｅ０）に、偶数ラインを他方のプロセッサコア（Ｃｏｒｅ１）に割り当てて、隣のコアに割り当てられたラインを利用して、高信頼性モードのメモリセル構造（１４Ｔ
Ｍｅｍｏｒｙ  Ｃｅｌｌ  Ｐａｉｒ）を適用している。
また、図４（２）に示すＬ１キャッシュは、ＱｏＢメモリのメモリセルアレイの奇数ラインと偶数ラインの隣接するラインペアを利用して、隣のプロセッサコアを利用することなく、高信頼性モードのメモリセル構造（１４Ｔ
Ｍｅｍｏｒｙ  Ｃｅｌｌ  Ｐａｉｒ）を適用している。
【００４８】
次に、図５は、ＱｏＢメモリを適用したＬ２キャッシュの構成を示している。ＱｏＢメモリを適用したＬ２キャッシュにおいては、偶数ウェイ（Ｗａｙ０，Ｗａｙ２等）と奇数ウェイ（Ｗａｙ１，Ｗａｙ３等）をペアで取り扱い、メモリセルアレイの偶数ラインを偶数ウェイに、奇数ラインを奇数ウェイに割り当てている。偶数ウェイと奇数ウェイのペア構造を用いて、ＱｏＢメモリの高信頼性モード（１ビットを２メモリセル）のメモリセルペア構造を実現する。
【００４９】
以下では、本発明のキャッシュメモリの通常モードと高信頼性モードの切替方法について詳述する。
まず、従来のキャッシュアクセスの動作について図６を用いて説明する。ウェイ分割されたＬ２キャッシュでは、キャッシュアクセスが発生すると、アクセスされたアドレスのＩｎｄｅｘビットをデコードすることにより、該当するキャッシュ内のセットを決定している。キャッシュ内のセットを決定した後、該当セットのＴａｇおよびデータメモリの全てのウェイを並列にアクセスして、それぞれのデータを読み出している。そして、読み出されたＴａｇとアクセスされたアドレスのＴａｇビット部分を比較し、一致するものがあればキャッシュヒットとなる。キャッシュヒットすれば、該当するウェイのデータが選択されることになる。
【００５０】
上述した従来のキャッシュアクセスでは、アドレス指定のやり方は、ＴａｇビットとＩｎｄｅｘビットとＯｆｆｓｅｔビットから構成されるアドレスを用いている。このＩｎｄｅｘビットが、Ｔａｇアレイ（Ｔａｇ）とデータアレイ（Ｗａｙ０・・・）のラインを決定している。上述したようにアドレス中のＴａｇビットと一致するＴａｇがＴａｇアレイ中に存在すればキャッシュヒットとなり、一致したＴａｇが存在するＩｎｄｅｘビットに該当するラインのデータが読み出されることになる。
【００５１】
例えば、１ＫＢの４Ｗａｙのキャッシュラインサイズが３２ｂｙｔｅのアドレスの例を図７に示す。従来のアドレス指定は、３２ビットで構成されており、例えば、Ｔａｇビットが２４ビット、Ｉｎｄｅｘビットが３ビット、Ｏｆｆｓｅｔビットが５ビットというように割り当てられている。
本発明のＱｏＢを適用したキャッシュメモリの場合は、通常モード時は従来のアドレス指定を用い、高信頼性モード時は図７の本発明のアドレス指定に示すように、従来のアドレス指定と異なり、Ｔａｇビットが２５ビット、Ｉｎｄｅｘビットが２ビット、Ｏｆｆｓｅｔビットが５ビットというように割り当てる。
すなわち、高信頼性モードに切り替えるために、ＩｎｄｅｘビットのＭＳＢを無効（０固定もしくは１固定）にし、Ｉｎｄｅｘビットが参照するＴａｇアレイの前半ラインのみ使用する。通常モードと高信頼性モードでは、キャッシュアクセスのためのアドレスのＩｎｄｅｘビットのＭＳＢとＴａｇビットのＬＳＢを重複して使用し、Ｔａｇビット長は従来と比べて１ビット拡張される。
【００５２】
ここで、具体例を用いて説明する。図８、図９は、それぞれＱｏＢメモリを用いたキャッシュメモリのアドレス指定における通常モード時の具体例と高信頼モード時の具定例を示している。
図８に示すように、通常モード時は、Ｉｎｄｅｘビットは３ビットで構成され、アドレスＡとアドレスＢの如く、ＴａｇビットのＬＳＢ(ＩｎｄｅｘビットのＭＳＢ)が異なるキャッシュラインＡとＢは、図に示すようにＴａｇアレイの前半領域（Ｉｎｄｅｘ０〜３）と後半領域（Ｉｎｄｅｘ４〜７）に別々に格納されることになる。
【００５３】
また、図９に示すように、高信頼性モード時は、ＩｎｄｅｘビットのＭＳＢは無効（０固定）とされ、Ｉｎｄｅｘビットは２ビットで構成される。従って、Ｉｎｄｅｘの数は半分となり、キャッシュラインの後半(Ｉｎｄｅｘ４〜７)は無効となり、Ｔａｇアレイの前半領域（Ｉｎｄｅｘ０〜３）のみ参照されることになる。
【００５４】
仮に、Ｔａｇビットが従来方法のアドレス指定のような３１−８ビットの２４ビットのみの場合（２５ビット目を含まない）、ＴａｇＡとＴａｇＢが同一に扱われる事態が生じるため、Ｔａｇの問い合わせに対するキャッシュラインが不定となってしまうといった問題が生じる。例えば、図１０に示すように、ＴａｇＢの問い合わせに対して、キャッシュラインＡが出力され、エラーとなる可能性がある。
【００５５】
次に、Ｉｎｄｅｘビットのアドレス割り当てとアドレス空間の変更方法について説明する。図１１は、図４（１）から図４（２）の切替に関して、Ｉｎｄｅｘビットのアドレス割り当てとアドレス空間の変更方法を説明する図である。
上述したように、図４（１）では、メモリセルアレイの奇数ラインを一方のプロセッサコア（Ｃｏｒｅ０）に、偶数ラインを他方のプロセッサコア（Ｃｏｒｅ１）に割り当て、隣のコアに割り当てられたラインを利用して、高信頼性モードのメモリセル構造（１４Ｔ
Ｍｅｍｏｒｙ  Ｃｅｌｌ  Ｐａｉｒ）を適用している。一方、図４（２）では、メモリセルアレイの奇数ラインと偶数ラインの隣接するラインペアを利用して、隣のプロセッサコアを利用することなく、高信頼性モードのメモリセル構造を適用している。
【００５６】
先ず、図１１（１）に示すようにＩｎｄｅｘビットアドレスを割り当てる。メモリセルアレイの奇数ラインを一方のプロセッサコア（Ｃｏｒｅ０）に、偶数ラインを他方のプロセッサコア（Ｃｏｒｅ１）に割り当てる際に、Ｃｏｒｅ０側とＣｏｒｅ１側のＩｎｄｅｘビットが逆順（反転）する形になるようにアドレスに割り当てる。具体的には、左側（Ｃｏｒｅ０側）が昇順（０，１，２，・・・）となるようにＩｎｄｅｘビットアドレスを割り当て、右側（Ｃｏｒｅ１側）が降順（７，６，５，・・・）となるようにＩｎｄｅｘビットアドレスを割り当てる。
【００５７】
通常モード時（１ビットを１メモリセルで構成）の場合、各プロセッサコアはＩｎｄｅｘビットアドレス（０〜７）の全てのメモリセルを利用できる状態となっている。
高信頼性モード時（１ビットを２メモリセルで構成）の場合、ＩｎｄｅｘビットのＭＳＢを無効(０固定)にすることによって、各プロセッサコアはＩｎｄｅｘビットの前半アドレス（０〜３）のメモリセルを利用できる状態に切り替わる。すなわち、図１１（２）のようなメモリセルの構成の変更が行われる。
【００５８】
これにより、ＱｏＢメモリにおける通常モードから高信頼性モードへの切り替えるためのハードウェアの変更部分は、Ｉｎｄｅｘビットのアドレスが逆順に割り当てられる構成への変更と、ＩｎｄｅｘビットのＭＳＢを無効（０固定もしくは１固定）にするためのセレクタ回路の追加となり、わずかの変更でモード切替を実現することが可能となる。
【００５９】
キャッシュメモリを高信頼性モードに切り替えた後、高信頼メモリブロック（高信頼ウェイ）に、アプリケーションにおいて高信頼性が要求される高信頼性データをフェッチした場合に、高信頼ウェイを上書きされないようウェイ単位にロックし、データ更新の際にはウェイ単位にロックを解除し、書込みを行ってから再びロックする手順をとる。
かかる手順をとることにより、キャッシュメモリにおいて、高信頼領域に高信頼性が要求されるデータを配置することができる。
【産業上の利用可能性】
【００６０】
本発明は、コンピュータのキャッシュメモリ等に使用されるＳＲＡＭに有用である。
【符号の説明】
【００６１】
ＭＣ０１，ＭＣ１０：メモリセル
Ｃｏｒｅ０，Ｃｏｒｅ１：プロセッサコア
Ｌ１：Ｌ１キャッシュ
Ｌ２：Ｌ２キャッシュ
【図１】
0005397843.tif 000002
【図２】
0005397843.tif 000003
【図３】
0005397843.tif 000004
【図４】
0005397843.tif 000005
【図５】
0005397843.tif 000006
【図６】
0005397843.tif 000007
【図７】
0005397843.tif 000008
【図８】
0005397843.tif 000009
【図９】
0005397843.tif 000010
【図１０】
0005397843.tif 000011
【図１１】
0005397843.tif 000012