(57)【要約】【課題】従来のＳＲＡＭを用いてメモリの記憶容量を大きくすると、チップサイズが大きくなりコストが増加する。さらには、データ保持電流が増加するといった課題があった。【解決手段】ＳＲＡＭよりもメモリセル面積が小さい、ＳＥＳＯメモリや相変化メモリを利用する。ＳＥＳＯや相変化メモリ等から構成されるメモリバンクを複数有する。書込み速度（ｍ）と読み出し速度（ｎ）の比、（ｍ／ｎ）のウェイ数からなるキャッシュメモリを用いる。キャッシュからの書き戻し動作を、同一のメモリバンクに連続させないように制御する。【効果】高集積なメモリセルを用いることで、データ記憶容量の大きなメモリを、チップサイズを増大させることなく実現できる。データ保持電流が小さなメモリを実現できる。少量のキャッシュメモリを用いることで、書込み速度の遅いメモリを利用した場合にも、外部アクセスが遅延されることのないデータ処理システムが実現できる。【選択図】  図１
2004334996.tif 000002
【特許請求の範囲】
【請求項１】
読み出し動作よりも書き込み動作の遅い複数のメモリセルをそれぞれが有する複数のメモリバンクと、
前記複数のメモリバンクに対する外部からのアクセスの仲介を行うキャッシュメモリとを有し、
前記キャッシュメモリは、前記メモリセルの書き込みサイクル（ｍ）と前記メモリセルの読み出しサイクル（ｎ）の比（ｍ／ｎ）で決定される値と等しいか、それよりも大きなウェイ数を有する半導体装置。
【請求項２】
請求項１に記載の半導体装置において、
前記キャッシュメモリは前記ウェイ数に対応した複数のセットを有し、
前記複数のセットの各々は、前記複数のメモリバンクの一つに記憶されるデータ全体を記憶するための容量を持つ半導体装置。
【請求項３】
請求項１に記載の半導体装置において、
外部から前記半導体装置へのアクセスに対応するデータが前記キャッシュメモリに存在する場合は、当該データの授受を前記キャッシュメモリから行う半導体装置。
【請求項４】
請求項１に記載の半導体装置において、
外部から前記半導体装置へ第１データを書き込む際に、前記第１データの書き込むべきアドレスが前記キャッシュメモリに存在しない場合において、前記キャッシュメモリの該当エントリにあるデータを前記複数のメモリバンクの一つに書き戻した後、前記第１データを前記キャッシュメモリに書き込む半導体装置。
【請求項５】
請求項４に記載の半導体装置において、
前記複数のメモリバンクの一つへの書き戻しの動作を行う際に、前記複数のメモリバンクの一つである第１メモリバンクが外部からのアクセス要求を受諾できない際においては、前記複数のメモリバンクの他の一つである第２メモリバンクへの書き戻し動作を行う半導体装置。
【請求項６】
請求項１に記載の半導体装置は、外部とのデータの入出力を行うための複数のデータ入出力ノードを更に有し、
前記データ入出力ノードのデータ幅は、前記半導体装置に対する情報を入出力する外部データバスのデータ幅と等しい半導体装置。
【請求項７】
請求項１の半導体装置は、
前記キャッシュメモリと前記メモリバンクを結合するための内部データバスと、
外部とのデータの入出力を行うための複数のデータ入出力ノードを更に有し、
前記キャッシュメモリのキャッシュラインは、複数のサブラインを有し、
前記複数のサブラインの数をＮ、前記内部データバスのバス幅をＡ、前記外部データバスのバス幅をＢとした場合に、
Ａ＝Ｎ・Ｂ
の関係を満たす半導体装置。
【請求項８】
請求項７に記載の半導体装置において、
前記キャッシュメモリは、サブライン毎にデータを管理するフラグを複数有し、
前記フラグにより前記サブラインのデータが無効である際においては、前記キャッシュメモリから前記メモリバンクへの書き戻し動作を行わない半導体装置。
【請求項９】
請求項７に記載の半導体装置において、
前記フラグにより前記サブラインのデータが更新されている際においては、
前記メモリバンクから前記キャッシュメモリへのデータ書き込み動作を行わない半導体装置。
【請求項１０】
請求項１に記載の半導体装置において、前記メモリセルは、ＳＥＳＯ（Ｓｉｎｇｌｅ  Ｅｌｅｃｔｒｏｎ  Ｓｈｕｔ  Ｏｆｆ）メモリセル、相変化メモリセルのいずれか一つのメモリセルである半導体装置。
【請求項１１】
請求項１０に記載の半導体装置において、前記キャッシュメモリは、ＳＲＡＭメモリセルで構成される半導体装置。
【請求項１２】
請求項１に記載の半導体装置において、前記キャッシュメモリは、ＳＲＡＭメモリセルで構成される半導体装置。
【請求項１３】
複数のメモリセルをそれぞれが有する複数のメモリバンクと、
前記複数のメモリバンクへの書き込みデータを授受するキャッシュメモリとを有し、
前記メモリセルからデータを読み出す際においては、破壊読出し動作でデータを読み出す半導体装置。
【請求項１４】
請求項１３に記載の半導体装置において、前記メモリセルは強誘電体メモリである半導体装置。
【請求項１５】
請求項１３に記載の半導体装置において、
前記破壊読出し動作のサイクルよりも前記メモリセルの書き込むサイクルが遅い場合において、前記キャッシュメモリは、前記メモリセルの書き込みサイクル（ｍ）と前記メモリセルの破壊読出しサイクル（ｎ）の比で決定される値（ｍ／ｎ）よりも大きな連想度を有する半導体装置。
【請求項１６】
請求項１５に記載の半導体装置において、
前記キャッシュメモリは少なくとも２以上の連想度、すなわち２以上のセットサイズであり、
一つのセットの容量は、前記メモリバンクの容量と等しい、もしくは前記メモリバンクの容量以上である半導体装置。
【請求項１７】
請求項１３に記載の半導体装置において、前記キャッシュメモリは、ＳＲＡＭメモリセルで構成される半導体装置。
【請求項１８】
複数のメモリセルをそれぞれに有する複数のメモリバンクと、
前記複数のメモリバンクへの書き込みデータを授受するキャッシュメモリとを有し、
前記メモリセルは、ＳＥＳＯ（Ｓｉｎｇｌｅ  Ｅｌｅｃｔｒｏｎ  Ｓｈｕｔ  Ｏｆｆ）メモリセル、相変化メモリセルのいずれか一つのメモリセルであり、
前記キャッシュメモリは、前記メモリセルの書き込みサイクル（ｍ）と前記メモリセルの読み出しサイクル（ｎ）の比（ｍ／ｎ）で決定される値と等しいか、それよりも大きな連想度を有する半導体装置。
【請求項１９】
請求項１８に記載の半導体装置において、
前記キャッシュメモリは、ＳＲＡＭメモリセルで構成される半導体装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メモリ制御装置と中央処理装置により構成されるデータ処理装置、及びデータ処理装置とメモリにより構成されるデータ処理システム、更には、前記が１チップ上に集積された半導体装置、前記が単一の半導体パッケージ内に形成された半導体装置に有効な技術に関する。
【０００２】
【従来の技術】
近年携帯電話等のモバイル端末においては、音楽再生やゲーム機能、動画像のデータ授受といった高機能化が急速に進んでいる。機器の高機能化により扱うデータ量が増加するとマイクロプロセッサを含む情報処理部（システムＬＳＩ）のメモリや、外部記憶向けメモリの容量が著しく増加すると予測される。したがって、携帯電話のモバイル端末の高機能化を実現のためには、システムＬＳＩに搭載されるメモリや前記外部記憶向けメモリの大容量化が必須となる。
【０００３】
モバイル端末等を実現するための機能に特化されたマイクロプロセッサ（ＭＰＵ）を実現するためのシステムＬＳＩのメモリは一般的にはスタティックランダムアクセスメモリ（以下ＳＲＡＭと記す）が用いられる。その理由は、ＳＲＡＭがＭＰＵ等の論理回路との整合性に特に優れているために作りやすく、さらにデータ保持電流が少ないという特徴を有するからである。
【０００４】
またモバイル端末の外部記憶向けメモリの一例として、ＳＲＡＭとＦｌａｓｈメモリが１パッケージに実装された複合メモリが知られている（非特許文献２）。このような複合メモリにおいて、Ｆｌａｓｈメモリには携帯電話システムのＯＳ（オペレーションシステム）の他、通信やアプリケーションのプログラムが格納されている。一方、ＳＲＡＭには電話番号や住所録、着信音の他、アプリケーションの実行時に一時的に使用されるワークエリアが確保されている。ここでＳＲＡＭが利用される理由も、データ保持電流が小さいからである。また、複合メモリのように、複数のメモリを積層すると実装面積が削減されコスト低減の効果もある。
【０００５】
【特許文献１】
特開平６−４３９９号公報（対応米国特許第５，５３０，８２８号公報）
【特許文献２】
特開平７−９３２１５号公報
【非特許文献１】
複合メモリ，  ［２００３／０４／２８検索］  インターネット  ＜ＵＲＬ：  ｈｔｔｐ：／／ｗｗｗ．ｓｈａｒｐ．ｃｏ．ｊｐ／ｐｒｏｄｕｃｔｓ／ｄｅｖｉｃｅ／ｆｌａｓｈ／ｃｍｌｉｓｔ．ｈｔｍｌ＞
【非特許文献２】
Ｂｒｙａｎ  Ａｔｗｏｏｄ  ｅｔ  ａｌ．，  ”ＳＥＳＯ  Ｍｅｍｏｒｙ：  Ａ  ＣＭＯＳ  ｃｏｍｐａｔｉｂｌｅ  ｈｉｇｈ  ｄｅｎｓｉｔｙ  ｅｍｂｅｄｄｅｄ  ｍｅｍｏｒｙ  ｔｅｃｈｎｏｌｏｇｙ  ｆｏｒ  ｍｏｂｉｌｅ  ａｐｐｌｉｃａｔｉｏｎ，”  ２００２  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  ＶＬＳＩ  Ｃｉｒｃｕｉｔ  Ｄｉｇｅｓｔ  ｏｆ  Ｔｅｃｈｎｉｃａｌ  Ｐａｐｅｒｓ，  ｐｐ．１５４−１５５，  （２００２）
【非特許文献３】
Ｓｔｅｆａｎ  Ｌａｉ  ｅｔ  ａｌ．，  ”ＯＵＭ  −  Ａ  １８０  ｎｍ  ｎｏｎｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ  ｃｅｌｌ  ｅｌｅｍｅｎｔ  ｔｅｃｈｎｏｌｏｇｙ  ｆｏｒ  ｓｔａｎｄ  ａｌｏｎｅ    ａｎｄ  ｅｍｂｅｄｄｅｄ  ａｐｐｌｉｃａｔｉｏｎｓ，”  ２００１  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｅｌｅｃｔｒｏｎ  Ｄｅｖｉｃｅｓ  Ｍｅｅｔｉｎｇ  Ｄｉｇｅｓｔ  ｏｆ  Ｔｅｃｈｎｉｃａｌ  Ｐａｐｅｒｓ，  ｐｐ．８０３−８０６，  （２００１）
【０００６】
【発明が解決しようとする課題】
本願に先立ち本願発明者等は、高性能化のためにメモリ（即ちＳＲＡＭ）を大容量化した際の課題について検討した。
【０００７】
第一に、ＳＲＡＭを用いてメモリを大容量化すると、ＬＳＩのチップサイズが大きくなりコストが増大してしまうことである。この理由は、ＳＲＡＭが６つのＭＯＳトランジスタからなり、メモリセルの面積が大きいためである。また、ＳＲＡＭを用いてメモリを大容量化するとデータ保持電流が増加してしまう。この理由は、メモリのデータ容量が増加する分のデータ保持電流に加え、ＭＯＳトランジスタの微細化が進むと、酸化絶縁膜の薄膜化によっていわゆるゲートリーク電流が増加してしまい、データ保持電流が増加するからである。
【０００８】
上記のような課題を解決するための手段の一つは、ＳＲＡＭよりもメモリセル面積が小さいメモリセルを利用することである。例えば、非特許文献２に記載のＳＥＳＯ（Ｓｉｎｇｌｅ  Ｅｌｅｃｔｒｏｎ  Ｓｈｕｔ  Ｏｆｆ）メモリはＳＲＡＭよりもメモリセル面積が小さく高集積であり、ＳＥＳＯメモリセルを利用することでチップサイズの増大を防ぎコストを低減出来る。またＳＥＳＯメモリセルのリーク電流は非常に小さく、データ保持電流を小さくできる可能性がある。もちろん言うまでもなく、不揮発性のメモリセルを利用してもよい。例えば、非特許文献３に開示されるような不揮発性の相変化メモリＯＵＭ（Ｏｖｏｎｉｃ  Ｕｎｉｆｉｅｄ  Ｍｅｍｏｒｙ）を利用すれば、チップサイズ増大やデータ保持電流の増加といった、上記第一の課題を解決できる可能性がある。
【０００９】
しかしながら前述のＳＥＳＯメモリや相変化メモリは、読み出し動作に比べて書込み動作が遅いという特性を有する。したがって、このようなメモリセルを利用して、大容量のメモリを構成する時には、次のような第二の課題が生じる場合があることに本願発明者等は気がついた。
【００１０】
中央処理装置とメモリによって、データ処理システムを構成した場合、メモリに書込み動作が連続して発生する場合がある。その場合、書込み動作が遅いと後続のメモリへの書込みアクセスが遅延されてしまい、システムの性能が著しく低下する場合がある。
【００１１】
上記のような、読み出し動作よりも書込み動作が遅いという課題の解決を試みた例としては、特許文献１や特許文献２にその手段が記されている。特許文献１では、複数のフラッシュメモリを有し、書込み動作が連続して発生し場合には、同一のフラッシュメモリに書込みを行うのではなく別のフラッシュメモリに後続の書き込み動作を実行することで、見かけ上書き込み動作の高速化を実現できるとしている。しかしながら、同一のフラッシュメモリへの書き込み動作が発生した場合には、後続の書込みアクセスが遅延されてしまうため、プロセッサが生成したアドレスと書込み動作させるフラッシュメモリの管理をアドレス制御部で行う必要があり、制御が非常に困難である。またその具体的な手段の開示もされていない。一方、特許文献２では、書込みバッファと複数のダイナミックランダムアクセスメモリ（以下ＤＲＡＭと記す）から構成され、書込みバッファに外部からの書き込み動作を実行するとしている。しかしながら、書込み高速化は、書込みバッファの容量で制限されてしまい、書き込みバッファ以上のデータ量を書込む際には、後続の書込み動作が遅延されてしまうという点に配慮がなされていなかった。
【００１２】
そこで本発明の目的の一つは、読み出し動作によりも書込み動作が遅いメモリを利用してデータ処理システムを構成した場合にも、メモリへのアクセスが遅延されることのないデータ処理システムを提供することにある。
【００１３】
【課題を解決するための手段】
上記の課題を解決するための代表的な構成の一つを示せば以下のとおりである。即ち、読み出し動作よりも書き込み動作の遅い複数のメモリセルをそれぞれが有する複数のメモリバンクと、前記複数のメモリバンクに対する外部からのアクセスの仲介を行うキャッシュメモリとを有し、前記キャッシュメモリは、前記メモリセルの書き込みサイクル（ｍ）と前記メモリセルの読み出しサイクル（ｎ）の比（ｍ／ｎ）で決定される値と等しいか、それよりも大きなウェイ数を有するよう半導体装置を構成する。
【００１４】
【発明の実施の形態】
以下、本発明の実施例を図面を用いて詳細に説明する。なお実施例の各ブロックを構成するトランジスタは、特に制限されないが公知のＣＭＯＳ（相補型ＭＯＳトランジスタ）等の集積回路技術によって、単結晶シリコンのような１個の半導体基板上に形成される。即ち、ウエルと素子分離領域と酸化膜が形成される工程の後、ゲート電極とソース・ドレイン領域を形成する第１と第２半導体領域とを形成する工程とを含む工程により形成される。ＭＯＳＦＥＴ（Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  Ｆｉｅｌｄ  Ｅｆｆｅｃｔ  Ｔｒａｎｓｉｓｔｏｒ）の回路記号はゲートに丸印をつけないものはＮ型ＭＯＳＦＥＴ（ＮＭＯＳ）を表し、ゲートに丸印をつけたＰ型ＭＯＳＦＥＴ（ＰＭＯＳ）と区別される。以下ＭＯＳＦＥＴを簡略化してＭＯＳトランジスタと呼ぶことにする。但し本発明は金属ゲートと半導体層の間に設けられた酸化膜を含む電界効果トランジスタだけに限定されるわけではなく絶縁膜を間に含むＭＩＳＦＥＴ（Ｍｅｔａｌ  Ｉｎｓｕｌａｔｏｒ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  Ｆｉｅｌｄ  Ｅｆｆｅｃｔ  Ｔｒａｎｓｉｓｔｏｒ）等の一般的なＦＥＴを用いた回路に適用される。
＜第１の実施例＞
図１は本発明の実施例の一つであるデータ処理システムを示す図である。本実施例に記載のメモリは、読み出し動作よりも書き込み動作が遅いメモリにおいて、前記読み出し動作時間で書き込み動作が可能なメモリであり、以下アクセスフリーランダムアクセスメモリＡＦ−ＲＡＭ（Ａｃｃｅｓｓ  Ｆｒｅｅ  ＲＡＭ）と呼ぶ。図２から図１０は図１のＡＦ−ＲＡＭを構成する主な部分の具体例を示したものである。図２および図３は、図１のＡＦ−ＲＡＭの制御方法の基本動作を説明する図である。図４は、図２に示されたウェイＷＡＹ０およびウェイＷＡＹ１の具体例である。図５は、図１のＡＦ−ＲＡＭのブロック図を示している。図６はＡＦ−ＲＡＭを構成する書き込み動作が遅いメモリセルからなる、低速ライトメモリＬＷＲＡＭ（以下ＬＷＲＡＭと記す）のブロック図を示している。図７はＬＷＲＡＭに実施のメモリバンクＢＡＮＫとそれを構成するメモリセルＭＣの図である。図８はＡＦ−ＲＡＭの制御方法を説明するフローチャートである。図９は本発明のＡＦ−ＲＡＭにおいて書込み動作が高速化されたことを示すタイミングチャートを示している。図１０は、ＡＦ−ＲＡＭの書込み動作を高速化するさらに別の手段として、転送バッファＦＷＢを付加した場合の具体例を示している。以下ではまず、これらの実施例について説明する。
【００１５】
図１に示したデータ処理システムにおいて、ロジック部ＬＯＧＩＣは、中央処理装置であるＣＰＵやユーザロジックＵＳＬ１、ＵＳＬ２から構成される。またＬ１Ｃは、ＣＰＵに接続されるキャッシュメモリを示しており、ライトイネーブル信号ＷＥ＃、アドレスバスＡＤ、データバスＤＯ０でＣＰＵと接続されている。メモリ制御ユニットＭＣＵはロジック部ＬＯＧＩＣとＡＦ−ＲＡＭのアクセスを制御する機能を有し、調停回路ＡＲＢ、メモリコントローラＭＣＴＬ、リフレッシュコントローラＲＦＣなどから構成される。調停回路ＡＲＢはロジック部ＬＯＧＩＣからのアクセス要求、すなわちライトイネーブル信号ＷＥ＃、ＷＥ１＃、ＷＥ２＃やアドレスバスＡＤ、ＡＤ１、ＡＤ２、データバスＤＱ、ＤＱ１、ＤＱ２の優先順位を決定し、ライトイネーブル信号ＩＷＥ＃、アドレスバスＩＡＤ、データバスＩＤＱを介して、メモリコントローラＭＣＴＬに必要な情報を伝達する。
【００１６】
信号を受け取ったメモリコントローラＭＣＴＬは、メモリライトイネーブル信号ＭＷＥ＃、メモリアドレスバスＭＡＤ、メモリデータバスＭＤＱを通じてＡＦ−ＲＡＭとのデータの授受を行う。ここでリフレッシュコントローラＲＦＣは、ＬＷＲＡＭに揮発性のメモリセル、例えばＳＥＳＯメモリを利用した場合には必要であるが、ＬＷＲＡＭに不揮発性のメモリ、例えば相変化メモリを利用する場合には必要なく、状況に応じて構成を変形できることは言うまでもない。
【００１７】
またＡＦ−ＲＡＭは複数のウェイを有するキャッシュメモリＮＷＣと読み出し動作よりも書込み動作が遅いメモリセルからなるＬＷＲＡＭとで構成される。詳細は図２以降で後述するが、キャッシュメモリＮＷＣとＬＷＲＡＭはバンクライトリクエスト信号ＢＷＱ、バンクリードリクエスト信号ＢＲＱ、及びデータバスＤａ、Ｄｂとで接続されている。またキャッシュメモリＮＷＣは、ＬＷＲＡＭ全体よりも記憶容量の小さなＳＲＡＭメモリから構成される。ＮＷＣに用いられる典型的なＣＭＯＳ−ＳＲＡＭはラッチ結合された２個のＣＭＯＳ−インバータと記憶ノードにアクセスするための２個の転送ゲートからなる６個のＭＯＳトランジスタで構成される。
【００１８】
一方ＬＷＲＡＭはＳＲＡＭよりもセル面積が小さいメモリセル、即ちＳＥＳＯメモリや相変化メモリから構成される。したがってＳＲＡＭよりもデータ記憶容量が大きくかつデータ保持電流が小さいメモリを実現できる。さらに、後述される本発案による手法によって、前記メモリセルの書込みが遅いという課題が解決される。したがって、ＡＦ−ＲＡＭへのアクセスが遅延されることのないデータ処理システムが実現できる。なおＳＥＳＯメモリや相変化メモリ自体については先にリストした非特許文献１や２を参照することにより本願明細書にその内容がインコーポレートされる。
【００１９】
図２、図３において、ＷＡＹ０、ＷＡＹ１は図１におけるキャッシュメモリＮＷＣを示した図であり、バンクＢａｎｋ  ０〜Ｂａｎｋ  ３は図１のＬＷＲＡＭの具体例である。それぞれのウェイ（ＷＡＹ０，  ＷＡＹ１）は、ＬＷＲＡＭの１バンク分のデータを記憶できるだけの容量を持つ。ＮＷＣまたウェイが二つあるのは、実施例１において書込みサイクルが読み出しサイクルの２倍以下の場合を例に説明するためである。
【００２０】
図４は、キャッシュメモリＮＷＣに実施のウェイの具体例である。図４（ａ）に示すように、ウェイはアドレスを保持するキャッシュアドレスアレイＣＡＡと対応するデータを保持しているキャッシュデータアレイＣＤＡからなり、それらを管理するフラグとして、データが有効であるか無効であるかをしめすバリッドビットＶと、データが更新されたことを示すダーティビットＤが付加されている。また図４（ｂ）は、ＣＰＵ等からの３２ビット物理アドレスとＡＦ−ＲＡＭとのアドレスの対応を示している。これらの図から分かるように、キャッシュアドレスアレイＣＡＡのタグＴＡＧには、ＬＷＲＡＭのバンクアドレスＢａｎｋＡｄｄが割り当てられており、エントリＥｎｔｒｙ０〜６３はＬＷＲＡＭのワード線ＷＬが対応している。またワードセレクタＷＳは、バンクＢＡＮＫの５１２ビット線対から要求された１２８ビット線対を選択するのに用いられる（図５で後述）。なお図４の例では、ＷＡＹ０のエントリ１にはバンクアドレス０のデータ、エントリ２にはバンクアドレス２のデータが保持されている。一方ＷＡＹ１には、エントリ１にバンクアドレス１のデータ、エントリ２にバンクアドレス０のデータが保持されている例を示している。
【００２１】
なお、キャッシュメモリにおけるウェイ数は、連想度とも呼ばれる。キャッシュにおけるウェイとは、同じエントリアドレスに対して並列にアクセスする数を増やして（連想するものの数を増やして）キャッシュヒットの確率を高めるためのものだからである。
【００２２】
図５はＡＦ−ＲＡＭのブロック図である。なお以下の実施例では、総容量４Ｍビット、書きこみ速度が読み出し速度の２倍遅い場合の条件で説明する。
【００２３】
ＡＦ−ＲＡＭは主に、キャッシュメモリＮＷＣと書きこみ動作が遅いＬＷＲＡＭから構成され、キャッシュメモリＮＷＣはＬＷＲＡＭの書きこみサイクル（ｍ）とＬＷＲＡＭの読み出しサイクル（ｎ）の比、すなわち（ｍ／ｎ）分の容量のウェイ数を有する。またＬＷＲＡＭは独立に動作が可能な複数のバンクを有し、本実施例ではバンクＢＡＮＫ０〜１２７の１２８バンク構成をとる。キャッシュメモリＮＷＣはキャッシュアドレスアレイＣＡＡ、キャッシュデータアレイＣＤＡの他に、キャッシュコントローラＣＣＴＬ、比較器ＣＭＰを有し、バリッドビットＶ［１：０］、ダーティビットＤ［１：０］、タグライトイネーブル信号ＴＷＥ＃、キャッシュライトイネーブル信号ＣＷＥ＃、バンクライトイネーブル信号ＢＷＥ＃やタグアドレスバスＴＡＤＤ０、ＴＡＤＤ１、ライトタグアドレスバスＷＴＡＤＤ、ヒット信号ＨＩＴ、ＨＩＴ０、ＨＩＴ１などの信号でデータを制御する。その他の記号は、バンクデコーダＢＡＮＫＤＥＣ、マルチプレックサＭＵＸ、セレクタＳＥＬ、アドレスバッファＡＤＤＢ、入出力バッファＩＯＢＵＦ、バンクリードリクエスト信号ＢＲＱ［１２７：０］、バンクライトリクエスト信号ＢＷＱ［１２７：０］、データバスＤａ［１２７：０］、Ｄｂ［１２７：０］、ＢＤＱ［１２７：０］、ＥＤＱ［１２７：０］、ＡＦ−ＲＡＭへの入力信号としてメモリアドレスＭＡＤ、メモリデータＭＤＱ、メモリライトイネーブル信号ＭＷＥ＃を示している。なお、ＡＦ−ＲＡＭに分配される、アドレスＡＤＤ［１６：１０］、ＡＤＤ［９：４］、ＡＤＤ［３：２］、ＡＤＤ［１：０］やクロックＣＬＫ、メモリライトイネーブル信号ＭＷＥ＃、等の制御信号の一部は、図面が煩雑になるので省略してある。
【００２４】
図６はＬＷＲＡＭの詳細なブロック図である。１２８個のバンクから構成されており、それぞれのバンクにはバンクリードリクエスト信号ＢＲＱ、バンクライトリクエスト信号ＢＷＱが入力される。アドレスＡＤＤ［９：４］は、アドレスバッファＸ−ＡＤＢを経由してワードデコーダＸＤＥＣに入力され６４本のワード線のうち一本を選択する。一方アドレスＡＤＤ［３：２］はアドレスバッファＹ−ＡＤＢを経由してＹ−ＤＥＣに入力され、５１２ビット線対から１２８ビット線対を選択する。またＳＡ＆ＩＯＢＵＳはセンスアンプ部と入出力バスを表し、ワード線ＷＬとビット線ＢＬの交点に記載の丸印はメモリセルＭＣを示している。なおＬＷＲＡＭの外部とのデータ授受は、入出力バッファＩＮＰＵＴ／ＯＵＴＰＵＴ  ＢＵＦＦＥＲを介して行う。
【００２５】
図７は図６に実施のバンクの詳細を示した図である。図７（ａ）にメモリセルＭＣを示し、図７（ｂ）にそのメモリセルＭＣを含むメモリアレイの構成を示す。本実施例は、メモリセルＭＣにＳＥＳＯメモリを適用した場合を示している。ＳＥＳＯメモリの、書き込みワード線ＷＷＬ、読み出しワード線ＲＷＬ、ビット線ＢＬ、／ＢＬで構成され、書き込みトランジスタにＳＥＳＯトランジスタを利用した３トランジスタ型のダイナミックメモリである。なお、ここでは書き込みワード線ＷＷＬと読み出しワード線ＲＷＬが分かれたタイプの３トランジスタメモリを示した。上記のようにワード線が別々にあると動作が安定するためである。またビット線ＢＬも、書き込み用と読み出し用に分かれているので、蓄積ノードＳＮが書き込み信号レベルで安定した時点で、読み出し動作を開始できる。すなわち、書き込み動作の後半に読み出し動作が可能であり、アクセスの高速化が期待できる。その際、前述のような動作実現の為に、センスアンプＳＡＭＰ等の周辺回路の変更が必要であるが、一般的な回路変更で容易に実現可能であるので、ここでは省略した。もちろん本発明は上記の構造に限定されるものではなく、書き込みワード線ＷＷＬと読み出しワード線ＲＷＬを共通にしたタイプの３トランジスタメモリとしてもよい。その場合、ワード線を共通にしたことで片方の配線を削減でき、プロセスコストを低減できる。入出力バスＩＯＢＵＳは、ローカル入出力バスＬＩＯ［１２７：０］からなり、センスアンプ部ＳＡのカラムスイッチＹＳ３〜ＹＳ０を通じてそれぞれのビット線対と接続される。ここでＹＳ０は、ビット線ＢＬ０、ＢＬ４…、ビット線／ＢＬ０、／ＢＬ４…と接続されている。よってアドレスＡＤＤ［３：２］から、カラムスイッチＹＳ３〜ＹＳ０の中一本が選択され、５１２ビット線対から要求される１２８ビット線対が選択される。またセンスアンプ部ＳＡは、センスアンプＳＡＭＰの他、プリチャージ回路ＰＲＥやダミーセルＤＵＭを有している。なおプリチャージ信号ＰＣＨやコモンソース信号ＣＳＮ、ＣＳＰはそれぞれプリチャージ回路ＰＲＥ、センスアンプＳＡＭＰを起動するための信号である。
【００２６】
図８はＡＦ−ＲＡＭの制御方法を説明するフローチャートである。以上図２から図８を用いて、リードアクセスおよびライトアクセスの動作の詳細を説明する。
＜リードアクセスキャッシュヒット＞
まず図２（ａ）および図８を用いて、ＡＦ−ＲＡＭに対してリードアクセスが発生した場合を簡単に説明する。なおウェイの中に記載されている数字は、図４におけるタグＴＡＧに保持されているバンクアドレスＢａｎｋＡｄｄを示し、ウェイの横に記載されている数字は図４におけるエントリを示している。
【００２７】
図２（ａ）において、リードアクセスのアドレスとして、バンクアドレス２、エントリ１が入力されたとする。ここで、入力されたバンクアドレスと、ウェイに存在するバンクアドレスを比較する（ステップＳ１０１）。その結果、対応するデータがＷＡＹ０に存在するので、リードアクセスキャッシュヒットとなり、キャッシュメモリＮＷＣからデータを読み出す。キャッシュメモリＮＷＣは高速動作が可能で、１クロックサイクルで読み出すことができるので、ＡＦ−ＲＡＭへのアクセスが遅延されることはない。
【００２８】
次に、以上の動作を図４および図８を用いて詳細に説明する。図８（ａ）において、ＡＦ−ＲＡＭにリードアクセスが要求されると、メモリコントローラＭＣＴＬがメモリライトイネーブル信号ＭＷＥ＃をハイにドライブする。またその時に入力されるメモリアドレスＭＡＤ［１６：０］は、０ｘ００８１ｆであるとする。すなわちＡＤＤ［１６：１０］＝［０００００１０］、ＡＤＤ［９：４］＝［０００００１］、ＡＤＤ［３：２］＝［１１］が入力される。
【００２９】
図５において、キャッシュコントローラＣＣＴＬがリードアクセスであることを検知すると、キャッシュライトイネーブル信号ＣＷＥ＃をハイにドライブし、対応するデータのタグＴＡＧを読み出す。この場合エントリはＡＤＤ［９：４］＝１なので、図４のキャッシュアドレスアレイＣＡＡ０のタグＴＡＧ（００００１０）とキャッシュアドレスアレイＣＡＡ１のタグＴＡＧ（０００００１）がそれぞれタグアドレスバスＴＡＤＤ０、ＴＡＤＤ１を経由して比較器ＣＭＰに入力される（図８、ステップＳ１０１）。また比較器ＣＭＰには、アドレスバッファＡＤＤＢを経由してＡＤＤ［１６：１０］が入力され、キャッシュアドレスアレイＣＡＡ０、ＣＡＡ１から読み出されたバンクアドレスであるタグＴＡＧと比較する。この時、キャッシュアドレスアレイＣＡＡ０のタグＴＡＧとＡＤＤ［１６：１０］の値が等しいので、比較器ＣＭＰはヒット信号ＨＩＴ０をハイにドライブする。一方ヒット信号ＨＩＴ１はアドレスが異なるので、ロウにドライブされる。キャッシュコントローラＣＣＴＬは、ヒット信号ＨＩＴ０がハイにドライブされ、なおかつ対応するバリッドビットが有効であることを検知して、要求されたデータがＷＡＹ０に存在することを認識し、ヒット信号ＨＩＴをハイにドライブする。次にキャッシュデータアレイＣＤＡ０から対応するデータＤＡＴＡを読み出してデータバスＤａ［１２７：０］を経由してマルチプレックサＭＵＸに入力する（図８、ステップＳ１０２）。ヒット信号ＨＩＴがハイにドライブされているので、キャッシュデータアレイＣＤＡ０からのデータバスＤａ［１２７：０］が選択され、入出力バッファＩＯＢＵＦ、メモリデータバスＭＤＱを経由してリクエストマスタ、例えばＣＰＵにデータが転送される（図８、ステップＳ１０３）。以上のように、リードアクセスキャッシュヒット時の動作を１クロックサイクルで実行することで、アクセスの遅延が起きることのないデータ処理システムが実現できる。
＜リードアクセスキャッシュミス＞
次に、図２（ｂ）はＡＦ−ＲＡＭにリードアクセスのアドレスとして、バンクアドレス１、エントリ２のアドレスが入力された場合である。この場合、どちらのウェイにもバンクアドレス２に対応するデータが存在していない。したがってＬＷＲＡＭのバンク１から要求されたデータを読み出す。ＬＷＲＡＭの読み出し動作は高速動作が可能であるので、１クロックサイクルで外部にデータを出力できる。またバンク１から読み出したデータはキャッシュメモリＮＷＣにラインフェッチする。
【００３０】
なおキャッシュメモリＮＷＣのデータが更新されていたとき、即ちデータがダーティの場合は、前述したラインフェッチに先だちＬＷＲＡＭのバンク０にデータをライトバックする必要がある。この時、タグＴＡＧにバンクアドレスが割り当てられているため、ライトバック動作をするバンクと、要求したデータを読み出すためにアクセスするバンクが同一バンクになることはない。さらに後述するが、キャッシュメモリＮＷＣとＬＷＲＡＭは、ライトバックのためのデータバスと読み出し動作のためのデータバスを有するため、前記二つの動作が同時に実行できる。したがってリードアクセスキャッシュミスにおいても、１クロックサイクルで読み出し動作が可能である。
【００３１】
以上の動作を図４から図８を用いて詳細に説明する。図２（ｂ）のリードアクセスで入力されるアドレスは０ｘ００４２ｆ、すなわちＡＤＤ［１６：１０］＝［００００００１］、ＡＤＤ［９：４］＝［００００１０］、ＡＤＤ［３：２］＝［１１］が入力されるとする。キャッシュコントローラＣＣＴＬはキャッシュアドレスアレイＣＡＡ０、ＣＡＡ１から対応するタグＴＡＧ（００００１０）、タグＴＡＧ（００００００）を読み出し比較器ＣＭＰで比較した結果を元にヒット判定を行う。この場合比較したアドレスが一致しないのでヒット信号ＨＩＴ０、ＨＩＴ１はともにロウにドライブされ、キャッシュミスと判断される。次にダーティビットＤ［１：０］を検出し、そのデータが更新されているかどうかを判定する（図８、ステップＳ１０４）。
ａ．  データがダーティでない場合
もし更新されていないのなら、ＬＷＲＡＭのバンク１からデータを読み出して、ＷＡＹ１にラインフェッチする（図８、ステップＳ１０８）。図５において、キャッシュコントローラＣＣＴＬはヒット信号ＨＩＴをロウにドライブし、バンクデコーダＢＡＮＫＤＥＣでアドレスＡＤＤ［１６：１０］をデコードする。この例では、バンクリードリクエスト信号ＢＲＱ［１］がハイにドライブされる。つまり、図６に示したＬＷＲＡＭのバンクＢＡＮＫ１が選択され、アドレスバッファＸ−ＡＤＢに入力されたＡＤＤ［９：４］および、ワードデコーダＸＤＥＣによってワード線ＷＬ２が選択される。一方アドレスＡＤＤ［３：２］は、カラムデコーダＹＤＥＣに入力され、カラムスイッチＹＳ３が選択される。ここで、図７のようにＳＥＳＯメモリを用いた場合は、リードワード線ＲＷＬ２が選択され、リードビット線ＲＢＬに各ストレージノードＳＮに対応する信号が出力される。コモンソース信号ＣＳＮ、ＣＳＰによって活性化されたセンスアンプＳＡＭＰは、ダミーセルＤＵＭからライトビット線に出力された信号とリードビット線の出力信号の微小な信号差を増幅し、カラムスイッチＹＳを通じて、ローカル入出力線ＬＩＯ１２７〜０にデータを出力する。この場合、カラムスイッチＹＳ３によって、ビット線ＷＢＬ３、ＲＢＬ３、ＷＢＬ７、ＲＢＬ７…の１２８ビットデータが出力される。なお、プリチャージ回路ＰＲＥを活性化するための、プリチャージ信号ＰＣＨをドライブするタイミングや、センスアンプを起動するタイミング等は特に説明しないが、一般的なダイナミックメモリセルを動作させる場合と同様にすればよいのは言うまでもなく、その手法は特に限定しない。
【００３２】
バンク１から出力されたデータは、図６のＬＷＲＡＭの入出力バッファＩＮＰＵＴ／ＯＵＴＰＵＴ  ＢＵＦＦＥＲを経由し、データバスＢＤＱ［１２７：０］を通じて、図５に示したマルチプレックサＭＵＸ、およびセレクタＳＥＬに入力される。ここで、キャッシュミスなのでヒット信号ＨＩＴはロウにドライブされており、マルチプレックサＭＵＸでは、データバスＤａ［１２７：０］ではなく、データバスＢＤＱ［１２７：０］が選択される。このようにしてバンク１のデータが入出力バッファＩＯＢＵＦを経由してメモリデータバスＭＤＱに出力される。一方、セレクタＳＥＬにはメモリライトイネーブル信号ＭＷＥ＃が入力される。この場合メモリライトイネーブル信号ＭＷＥ＃はロウにドライブされており、データバスＢＤＱ［１２７：０］が選択され、データバスＤｂ［１２７：０］を通じてキャッシュデータアレイＣＤＡ１にバンク１のデータが入力される。キャッシュコントローラＣＣＴＬはタグライトイネーブル信号ＴＷＥ＃をロウにドライブし、さらにキャッシュライトイネーブル信号ＣＷＥ＃をロウにドライブして、所望の位置、すなわちＷＡＹ１にバンク１から読み出したデータをラインフェッチする。以上が、データがダーティでない場合である。ｂ．  データがダーティである場合
一方データが更新されていた場合は、前述したラインフェッチ動作の前に、キャッシュメモリＮＷＣから書き戻すべきデータを出力し、アクセスされる位置のエントリを空ける必要がある。
【００３３】
ここでも入力されるアドレスは０ｘ００４２ｆとして同様に説明する。図８、ステップＳ１０４において対応するデータが更新された時、すなわち図４（ａ）のようにエントリ２のダーティビットＤがセットされているならば、データ一貫性維持のためにキャッシュメモリＮＷＣのデータをＬＷＲＡＭに書き戻さなければならない。次にステップＳ１０５のように、書き戻す対象となるバンクＢＡＮＫがどのような状態かを確認する。例えば、直前のサイクルでのライトバック動作がまだ実行中で、ＷＡＹ０に保持されているバンクアドレス、バンクＢＡＮＫ２にアクセスできない場合がある。このような場合は、二つあるウェイＷＡＹのもう一つのバンクアドレス、バンクＢＡＮＫ０にライトバックするように制御する（ステップＳ１０７）。以下、ＬＷＲＡＭのバンクＢＡＮＫ０、２が共にアイドルである場合で説明する。
【００３４】
図５において、キャッシュミスなので、キャッシュコントローラＣＣＴＬはバンクライトイネーブル信号ＢＷＥ＃をロウにドライブしライトバックを実行する。この時ライトタグアドレスバスＷＴＡＤＤにはＷＡＹ１のエントリ２にある（００００００）が出力され、バンクデコーダＢＡＮＫＤＥＣによってＢＷＱ［０］がハイにドライブされる。またキャッシュデータアレイＣＤＡからデータバスＤａ［１２７：０］と通じてＬＷＲＡＭにデータが入力される。ここでＡＦ−ＲＡＭは、ライトバックのためのデータバスＤａ［１２７：０］と、バンクからデータを読み出しキャッシュメモリＮＷＣへフェッチオンライトするためのデータバスＢＤＱ［１２７：０］とを有するので、バンクＢＡＮＫ０へのライトバックとバンクＢＡＮＫ１からのデータ読み出しを同時に実行できる。なお、バンクへの書き込み動作における各信号のタイミングは、基本的に読み出し動作と同様であり、データを書き込むために好適に各種信号を入力すればよいのでここでは詳細な説明は省略する。以上が、データがダーティな場合である。
【００３５】
上記の説明から分かるように、データがダーティであるないに係らず、リードアクセスキャッシュミスにおいても、１クロックサイクルでデータの読み出しが可能となり、アクセスの遅延が起こらないデータ処理システムが実現できる。
＜ライトアクセスキャッシュヒット＞
次に、図２（ｃ）はＡＦ−ＲＡＭにライトアクセスのアドレスとして、バンクアドレス２、エントリ１のアドレスが入力された場合を示している。この場合、ライトアクセスに対応するデータがＷＡＹ０に存在するので、ライトアクセスキャッシュヒットとなり、キャッシュメモリＮＷＣのウェイＷＡＹ０にデータを書込む。キャッシュメモリＮＷＣは１クロックサイクルで書込みが可能であるので、ＡＦ−ＲＡＭへのアクセスが遅延されることがない。以上がライトアクセスキャッシュヒットである。
【００３６】
以上の動作を図４および図８を用いて詳細に説明する。図２（ｃ）のライトアクセスで入力されるメモリアドレスＭＡＤは０ｘ００８１ｆ、すなわちＡＤＤ［１６：１０］＝［００００００１］、ＡＤＤ［９：４］＝［００００１０］、ＡＤＤ［３：２］＝［１１］が入力されるとする。図８、ステップＳ２０１のアドレス比較はリードアクセスと同様なので説明は省略する。この時キャッシュアドレスアレイＣＡＡ０のタグＴＡＧとＡＤＤ［９：４］の値が等しい、つまりＷＡＹ０に対応するデータが存在するのでキャッシュヒットと判断し、キャッシュライトイネーブル信号ＣＷＥ＃をロウにドライブする。さらにキャッシュコントローラＣＣＴＬはダーティビットＤ［０］をセットする（ステップＳ２０２）。また書きこみデータはメモリデータバスＭＤＱから入出力バッファＩＯＢＵＦに入力され、データバスＥＤＱ［１２７：０］を通じてセレクタＳＥＬに入力される。この時、メモリライトイネーブル信号ＭＷＥ＃はロウにドライブされているので、データバスＥＤＱ［１２７：０］が選択されデータバスＤｂ［１２７：０］を通じてキャッシュメモリＮＷＣに入力され、所望の位置にデータが書き込まれる（ステップＳ２０３）。なおキャッシュメモリＮＷＣは高速にデータを書き込む事ができる。したがってＡＦ−ＲＡＭへの書きこみ動作が１クロックサイクルで実行可能であるので、外部からのアクセスが遅延されることがない。以上がライトアクセスキャッシュヒットの説明である。
＜ライトアクセスキャッシュミス＞
次に図２（ｄ）は、ＡＦ−ＲＡＭにライトアクセスのアドレスとして、バンクアドレス０、エントリ１のアドレスが入力された場合である。この場合、どちらのウェイにもバンクアドレス０に対応するデータが存在していないので、ライトアクセスキャッシュミスである。ここでライトアクセスの時は、ヒット、ミスに係らずキャッシュメモリＮＷＣにデータを書込む。その理由はＬＷＲＡＭの書込み速度が遅いため、同一アドレスに連続してライトアクセスが発生し、ＬＷＲＡＭへの書き込み動作が連続すると、アクセスが遅延されてしまうからである。なおキャッシュメモリＮＷＣのデータが更新されているときは、キャッシュメモリＮＷＣへのライトアクセスに先立ちデータをＬＷＲＡＭに書き戻す必要がある。図２（ｄ）では、ＷＡＹ０のデータをバンク２にライトバックして、その後外部からのデータをＷＡＹ０のエントリ１に書きこむ動作を示している。このようすれば、外部からのライトアクセスは遅延されることがない。
【００３７】
以上の動作を図４から図８を用いて詳細に説明する。図２（ｄ）のライトアクセスで入力されるアドレスは０ｘ０００１ｆ、すなわちＡＤＤ［１６：１０］＝［０００００００］、ＡＤＤ［９：４］＝［０００００１］、ＡＤＤ［３：２］＝［１１］が入力されるとする。ここでアドレスの比較は前述の説明と同じであるので省略する。次にアクセスするエントリ１のデータが、ＷＡＹ０，  ＷＡＹ１ともにダーティでない場合（ステップＳ２０４）、いずれかのウェイ、ここではＷＡＹ０に外部からのデータを書きこむ（ステップＳ２０２、Ｓ２０３）。なお以上のラインがダーティでない場合についての動作は、ライトアクセスキャッシュヒットと同様であるので詳細な説明を省略する。
【００３８】
次に図４（ａ）のようにＷＡＹ０，  ＷＡＹ１のエントリ１のデータがともにダーティであったとする。この場合は、外部からのデータをキャッシュメモリＮＷＣに書き込む前に、対応する位置に存在するデータをＬＷＲＡＭにライトバックする必要がある。そこでリードアクセスキャッシュミス時と同様に図８のステップＳ２０５で書き戻す対象となるバンクＢＡＮＫがどのような状態かをキャッシュコントローラＣＣＴＬで監視する。例えば、バンクＢＡＮＫ１がライト動作中でＷＡＹ１のデータをライトバックできないのであれば、ＷＡＹ０のバンクアドレス、バンクＢＡＮＫ２にデータをライトバックするように制御する。以下、図８のステップＳ２０６、すなわちライトバックを実行するバンクＢＡＮＫがアイドル状態であるときの場合で説明する。
【００３９】
ライトアクセス、キャッシュミスなのでキャッシュコントローラＣＣＴＬはバンクライトイネーブル信号ＢＷＥ＃をロウにドライブしライトバックを実行する。この時ライトタグアドレスバスＷＴＡＤＤにはＷＡＹ０のエントリ１にある（００００１０）が出力され、バンクデコーダＢＡＮＫＤＥＣによってＢＷＱ［２］がハイにドライブされる。またキャッシュデータアレイＣＤＡ０からデータバスＤａ［１２７：０］と通じてＬＷＲＡＭにデータが入力される。その後、書きこみデータがメモリデータバスＭＤＱから入出力バッファＩＯＢＵＦに入力され、データバスＥＤＱ［１２７：０］を通じてセレクタＳＥＬに入力される。この時、メモリライトイネーブル信号ＭＷＥ＃はロウにドライブされているので、データバスＥＤＱ［１２７：０］が選択されデータバスＤｂ［１２７：０］を通じてキャッシュメモリＮＷＣに入力され、所望の位置にデータが書き込まれる（ステップＳ２０３）。以上の説明のように、これらの動作を１クロックサイクルで実行する。このように制御することでＡＦ−ＲＡＭへのアクセスが遅延されることのないデータ処理システムが実現できる。
【００４０】
次に、ライトアクセスキャッシュミスが連続して発生した場合について説明する。この場合、図２（ｄ）のようにライトバック動作を連続して実行しなければならない場合があり、このような時は図３に説明するように制御すればよい。
【００４１】
まず図３（ａ）ではサイクルＣｙｃｌｅ＃１でＡＦ−ＲＡＭにライトアクセスのアドレスとして、バンクアドレス０、エントリ１が外部から入力されたことを示している。この場合、どちらのウェイにも対応するデータがないためライトアクセスキャッシュミスとなる。さらにＷＡＹ０のデータが更新されているとすると、バンク２にライトバックした後、バンク０のデータをＷＡＹ０に書きこむ。次に、直後のサイクルＣｙｃｌｅ＃２で、ＡＦ−ＲＡＭにライトアクセスのアドレスとして、バンクアドレス１、エントリ２が入力された場合、以下のように制御する。図３（ｂ）に示すように、エントリ２に対応するウェイにはバンクアドレス１のデータが存在しない。したがってＷＡＹ０、ＷＡＹ１ともにデータが更新されダーティであるならば、どちらかのウェイのデータをライトバックする必要がある。しかし直前サイクルＣｙｃｌｅ＃１のライトバック動作によってバンク２は書きこみ動作を実行中であり、エントリ２のＷＡＹ０のデータをライトバックすることはできない。そこでＷＡＹ０のデータをライトバックするのではなく、ＷＡＹ１にあるバンク０のデータをライトバックする。このようにすれば連続したライトアクセスが発生しても、後続のアクセスが遅延されることはない。同様に、サイクルＣｙｃｌｅ＃３においてライトアクセスのアドレスとして、バンクアドレス２、エントリ１が入力されたとする。この時、どちらのウェイにもエントリ２には対応するデータがなく、さらにダーティであるとする。この場合、ＷＡＹ１にあるバンク１のデータをライトバックした後、バンク２に対応するデータをＷＡＹ０に書きこむ。同様に、サイクルＣｙｃｌｅ＃４においてライトアクセスのアドレスとして、バンクアドレス０、エントリ２が入力されたとする。またどちらのウェイにも要求されるバンクＢＡＮＫ２のデータがなく、さらにダーティであるとする。この場合も、バンク１が書きこみ動作中であるので、ＷＡＹ０にあるバンク２のデータをライトバックした後、バンク０に対応するデータをＷＡＹ０に書きこむ。
【００４２】
図９は以上のような書き込み動作が連続して発生した場合のタイミングチャートであり、ＬＷＲＡＭの低速な書き込み動作が隠蔽されたことを示した図である。サイクルＣｙｃｌｅ＃１〜＃３において、ライトアクセスキャッシュミスとなり、バンクライトリクエスト信号ＢＷＱ［２］、ＢＷＱ［０］、ＢＷＱ［１］が各サイクルでドライブされている。しかし先ほど説明したように、本願のＡＦ−ＲＡＭの制御方法を用いれば、直前のサイクルで生じた書き込み動作を継続中のバンクに、ライトバック動作を実行することがない。すなわち、外部のアクセスが遅延されることのないデータ処理システムが実現できる。
【００４３】
次にライトアクセスキャッシュミスと、その直後のサイクルでのリードアクセスによって起こる課題とその解決方法について説明する。
【００４４】
図３（ａ）では、ＡＤＤ［１６：１０］＝［０００００００］、ＡＤＤ［９：４］＝［０００００１］、ＡＤＤ［３：２］＝［１１］が入力され、ライトアクセスキャッシュミスとなりバンクＢＡＮＫ２にライトバックを実行し、ＷＡＹ０にバンクアドレス０に対応する外部のデータを書きこんでいる。ここで、直後のサイクルＣｙｃｌｅ＃２で、入力アドレスＡＤＤ［１６：１０］＝［０００００１０］、ＡＤＤ［９：４］＝［０００００１］、ＡＤＤ［３：２］＝［１１］のリードアクセスが発生したとする。この時、ＷＡＹ０、ＷＡＹ１のどちらのエントリ１にもバンクアドレス２に対応するデータは存在せず、リードアクセスキャッシュミスである。したがって、バンクＢＡＮＫ２から要求されたデータを読み出す必要があるが、バンクＢＡＮＫ２はサイクルＣｙｃｌｅ＃１において発生したライトバンク動作を未だ実行中であり、サイクルＣｙｃｌｅ＃２のリードアクセスをバンクＢＡＮＫ２から実行できない。そこで本発明では図１０に示すような転送バッファＦＷＢを用いてこの課題を解決する。
【００４５】
図１０は図５のＡＦ−ＲＡＭに転送バッファＦＷＢを付加したブロック図である。この転送バッファＦＷＢは、ライトアクセスキャッシュミスによって発生するライトバックデータを一時的に保持するためのものである。すなわち、前述したようなアクセスパターンにおいて、リードアクセスキャッシュミスの場合でも、アクセス対象のバンクＢＡＮＫ２からデータを読み出すのではなく、転送バッファＦＷＢから読み出すようにすれば、外部に対して遅延なくデータを出力できる。また、ライトバックする際に、対応するバンク、例えばバンクＢＡＮＫ２からワード線ＷＬ１本分のデータを読み出し、ライトバックデータと合わせて転送バッファＦＷＢに書きこんでも良い。この場合、上記のリードアクセスにおいてワードセレクタＷＳのアドレスが変わっても、１  ｒｏｗ（ページ）内でのアクセスであるため転送バッファＦＷＢからデータを読み出すことができる。なお、１本のワード線分のデータをＬＷＲＡＭから読み出すための回路が必要であるが、通常の回路技術を用いて容易に実現できる範囲の変更なので、ここでは図面での説明は省略する。
【００４６】
以上の実施例では、書き込みサイクル（ｍ）が読み出しサイクル（ｎ）よりも大きくその比（ｍ／ｎ）が２の場合に、キャッシュメモリＮＷＣのウェイ数を２とする場合について述べた。この発明を一般化すれば、書き込み速度が遅いメモリセルを用いる場合において、前記メモリセルの書き込みサイクル（ｍ）と読み出しサイクル（ｎ）の比（ｍ／ｎ）のウェイ数を持つキャッシュメモリを有する構成となる。
【００４７】
ウェイ数はキャッシュメモリに含まれる複数のセットの数であるため、整数値しか取れない。これに対して、書き込み／読み出しサイクルのサイクルは、アクセスを開始してから完了するまでのサイクル時間で定義される場合がある。この場合書き込みサイクル（ｍ）と読み出しサイクル（ｎ）の比（ｍ／ｎ）は整数にならないことが多い。このとき、ｍ／ｎが現実に１．１〜２．０のような値をとる時にはウェイ数は２とする。更に、ｍ／ｎが２．１〜３．０の値を取るときにはウェイ数は３とする。即ちｍ／ｎが実質的に２や３などの整数値の場合にはその整数値で決定するが、小数点以下の値を持つときは小数点以下を切り上げることにより決定される。もっとも同期型メモリのように書き込み／読み出しサイクルのサイクルが一つの基準クロックの１サイクルの整数比で定義される場合には、（ｍ／ｎ）は常に整数値をとるのでウェイ数は単純に決定できるようになる。
【００４８】
上記のようにして（ｍ／ｎ）で決定されるウェイ数は、キャッシュメモリＮＷＣの容量を最小とするような最適値である。従って、キャッシュメモリＮＷＣの容量がチップ全体の面積に対してペナルティとならないのであれば、（ｍ／ｎ）の比で決定されるウェイ数よりも大きなウェイ数にしてもこの発明の効果は得られる。更に、ウェイ数を最小値よりも大きくすることは連続キャッシュミスに対するタイミング余裕を確保するための手段となりうる点で利点もある。
【００４９】
キャッシュコントローラＣＣＴＬはさらに前記キャッシュメモリにおいて、前記メモリセルからなるメモリバンクへの書き戻し動作を同一のバンクに連続させないように制御することにより、書きこみが遅いＬＷＲＡＭの課題を解決でき、ＡＦ−ＲＡＭへのアクセスが遅延されることのないデータ処理システムが実現できる。
【００５０】
また、本発明のＡＦ−ＲＡＭはそのメモリ容量や、キャッシュメモリＮＷＣの容量、ＬＷＲＡＭのバンク数など、上記で説明した実施例に限定されない。例えばキャッシュメモリＮＷＣの、一つのウェイの容量は単純化して１バンク分の例で示したが、もちろん１バンク以上の容量でもよい。現実にはメモリの冗長等もありメモリ容量は完全には一致しないことも多い。さらに図６では一つ一つのバンクにワードデコーダＸＤＥＣ等を記載したが、隣接するバンクとそれらを共用して周辺部分の面積を低減することもできる。また、センスアンプＳＡＭＰやプリチャージ回路ＰＲＥの回路方式も本発明の要旨を逸脱しない範囲で様々な変更が可能であることはいうまでもない。
＜実施例２＞
図１１は本発明であるＡＦ−ＲＡＭの、第二の実施例である。第一の実施例と異なる点は、ＡＦ−ＲＡＭ内部のデータバスＤａ［１２７：０］やＤｂ［１２７：０］と、ＡＦ−ＲＡＭ外部のデータバスであるメモリデータバスＭＤＱのバス幅が異なることである。またバス幅が異なることで追加、修正した制御信号は、キャッシュデータセレクト信号ＣＤＳ［３：０］、バンクデータセレクト信号ＢＤＳ［３：０］、およびバリッドビットＶ０［３：０］、Ｖ１［３：０］、ダーティビットＤ０［３：０］、Ｄ１［３：０］である。図１２は図１１に実施のキャッシュメモリＮＷＣの具体例である。図１２が図４と異なる点は、各キャッシュラインをメモリデータバスＭＤＱのバス幅毎に分割し、ＤＡＴＡ［３］〜ＤＡＴＡ［０］のそれぞれにバリッドビットとダーティビットを設けたことである。このように、キャッシュラインをサブライン化して管理する目的は以下のような課題を解決するためである。
【００５１】
例えば、外部からＡＦ−ＲＡＭにライトアクセスが発生し、キャッシュメモリＮＷＣに対応するデータが存在せずライトアクセスキャッシュミスとなった時を考えてみる。この時、あるエントリのＤＡＴＡ［３］に外部からの３２ビットデータが書きこまれるが、エントリ内のデータ一貫性を維持するために、それ以外のＤＡＴＡ［２］〜ＤＡＴＡ［０］のデータを対応するバンクから読み出す必要がある。この読み出し動作は、メモリデータバスＭＤＱとキャッシュメモリＮＷＣのラインサイズが等しい実施例１には不要な動作であり、実施例２においては、場合によって書きこみ動作中のバンクからこの読み出し動作をしなければならない可能性がある。しかし逆に言うと、このライン内におけるデータ一貫性のための読み出し動作を削除すれば、実施例１と同様の制御方法で、書き込み動作が遅いメモリを利用しても、アクセスの遅延がないデータ処理システムが実現できるということである。すなわち、実施例２においてキャッシュラインをサブライン化した理由は、キャッシュライン内のデータ一貫性を維持しつつ、従来必要であった読み出し動作（アロケート）を削除して、書きこみ動作の遅延を隠蔽することにある。
【００５２】
以下図１１から図１６を用いて実施例２を説明する。
＜リードアクセスキャッシュヒット＞
まずＡＦ−ＲＡＭにリードアクセス要求があった場合で、さらにそのデータがアドレス比較（図１３、ステップＳ３０１）の結果、キャッシュメモリＮＷＣに存在したときは、実施例１と同様にキャッシュメモリＮＷＣからデータを読み出す（ステップＳ３０２〜Ｓ３０４）。したがって、ＡＦ−ＲＡＭへのアクセスが遅延されることのないデータ処理システムが実現できる。なお、この場合の動作は実施例１と同じなので説明を省略する。＜リードアクセスキャッシュミス＞
ａ．アドレス一致の場合
次にアドレス比較の結果、アドレスの値は一致したが対応するデータのバリッドビットがリセットされていた場合について説明する（ステップＳ３０２、Ｓ３０５）。例えばキャッシュメモリＮＷＣに、図１２のようにデータが入力されていたとする。なおバリッドビットがリセットされている部分はデータ部分を塗りつぶしている。ここでＡＤＤ［１６：１０］＝［０００００１０］、ＡＤＤ［９：４］＝［００００１０］、ＡＤＤ［３：２］＝［００］が入力されたとするとＷＡＹ０のタグＴＡＧのバンクアドレスと等しい。しかし読み出したいデータであるＤＡＴＡ［０］のバリッドビットＶ０［０］がリセットされており、有効なデータをＬＷＲＡＭのバンクＢＡＮＫ２から読み出す必要がある。したがってＬＷＲＡＭのバンクＢＡＮＫ２からのデータが、バンクデータバスＢＤＱ［１２７：０］を通じてキャッシュデータアレイＣＤＡ０のエントリ２に入力される。ここでキャッシュデータアレイＣＤＡ０のＤＡＴＡ［１］〜ＤＡＴＡ［３］はダーティビットがセットされているので、バンクＢＡＮＫ２からのデータをラインフェッチしてはならない。なぜなら、キャッシュデータアレイＣＤＡ０のデータＮ、Ｏ、Ｐが最新のデータであり、バンクＢＡＮＫ２の古いデータを書き込むことでデータが破壊されてしまうからである。これを防ぐために、キャッシュデータセレクト信号ＣＤＳ［３：０］を用いる。キャッシュデータセレクト信号ＣＤＳ［３：０］は、バリッドビットとダーティビットのアンドを取り、その反転信号を出力する。この場合キャッシュアドレスアレイＣＡＡ０のバリッドビットはＶ０［３：０］＝（０１１１）、ダーティビットはＤ０［３：０］＝（０１１１）なのでそれぞれのビットでアンドを取ると（０１１１）となり、その反転信号は（１０００）となる。すなわちキャッシュコントローラＣＣＴＬはこのような制御をもとに、ラインフェッチするべきサブラインを選択する。この場合はＷＡＹ０のエントリ２のサブラインＤＡＴＡ［０］のみにラインフェッチを実行するように制御する。このようにすればキャッシュのライン内でデータが破壊されることはない。したがって、低速な書きこみ動作によるアクセス遅延を隠蔽することができる。
ｂ．アドレス不一致の場合
次に図１３、ステップＳ３０１でアドレスが一致しなかった場合を説明する。アドレス比較の次に、アクセス対象のエントリのデータがダーティであるのかを確認する（図１３、ステップＳ３０８）。もしアクセス対象のエントリ内にダーティなデータがなかったら入力されたアドレスのバンクＢＡＮＫからデータを読み出しラインフェッチを実行すれば良い（Ｓ３０９〜Ｓ３０４）。したがって、ＡＦ−ＲＡＭへのアクセスが遅延されることのないデータ処理システムが実現できる。なおこの場合は図８のステップＳ１０４、Ｓ１０８、Ｓ１０３に説明した動作と同様であるのでここでは詳細な説明を省略する。
【００５３】
次にステップＳ３０８において、アクセス対象のエントリのダーティビットがセットされていた時は、そのデータをＬＷＲＡＭのバンクにライトバックする必要がある。このときバリッドビットがリセットされているサブラインのデータをライトバックしてはならない。なぜならそのデータは無効であり、本来保持しておくべきデータを破壊することになるからである。例えば、図１２の状態において外部からＡＤＤ［１６：１０］＝［００００００１］、ＡＤＤ［９：４］＝［００００１０］、ＡＤＤ［３：２］＝［００］が入力されたとする。いずれのウェイにもバンクアドレス１のデータが存在しないので、どちらか一つのウェイのデータをライトバックする必要がある。ここでステップＳ３１１において、バンクＢＡＮＫ０がライトバック中でありＷＡＹ１のデータをライトバックできない状態であるとする。その場合、ＷＡＹ０のバンクＢＡＮＫ２のデータをＬＷＲＡＭにライトバックすればよい。ここで、ウェイＷＡＹ０のエントリ２のバリッドビットＶ０［０］はリセットされているので、ＤＡＴＡ［０］をライトバックしてはならない。そのための制御信号としてバンクデータセレクト信号ＢＤＳ［３：０］を利用する。バンクデータセレクト信号ＢＤＳ［３：０］は、アクセス対象のエントリに設けられたバリッドビットとダーティビットのアンド信号を出力する。すなわちＷＡＹ０のエントリ２のバリッドビットはＶ０［３：０］＝（０１１１）、ダーティビットはＤ０［３：０］＝（０１１１）なので、そのアンド信号は（０１１１）となり、エントリ２のデータＤＡＴＡ［１］〜ＤＡＴＡ［３］のＮ，Ｏ，Ｐをライトバックするように制御する（ステップＳ３１３）。これ以降のステップＳ３０９からＳ３１０、Ｓ３０７、Ｓ３０４にかかわる動作は、図４で説明した動作と同様であるのでここでは詳細な説明を省略する。以上がリードアクセスにおける制御方法である。上記ように制御すれば、外部データバスであるデータバスＭＤＱのバス幅と、ＡＦ−ＲＡＭの内部データバスＤａ［１２７：０］等のバス幅が異なる場合において、書きこみ動作が遅いメモリを利用しても、アクセスが遅延されることのないデータ処理システムが実現できる。
＜ライトアクセスキャッシュヒット＞
次にＡＦ−ＲＡＭにライトアクセス要求があった場合について説明する。図１４のステップＳ４０１においてアドレス比較を行い、比較対象のアドレスが一致したとする。さらにステップＳ４０２においてアクセス対象のエントリのバリッドビットを参照する。ここでバリッドビットがセットされているなら、アクセス対象のサブラインのダーティビットをセットしてキャッシュメモリＮＷＣにデータを書き込む（ステップＳ４０３、Ｓ４０４）。同様に、ステップＳ４０２でアクセス対象のエントリのサブラインに対応するバリッドビットがリセットされていた時には、キャッシュヒットと判定し所望の位置に外部データをライトする。このときバリッドビットをセットして、ステップＳ４０３、Ｓ４０４の動作を実行する。以上がライトアクセスキャッシュヒットである。したがって、ＡＦ−ＲＡＭへのアクセスが遅延されることのないデータ処理システムが実現できる。。なお実施例２におけるライトアクセスキャッシュヒットアクセスは、実施例１と基本的に同様であるので、ここでは詳細な説明は省略する。
＜ライトアクセスキャッシュミス＞
次にステップＳ４０１においてアドレス比較を行った結果、アクセス対象のエントリに要求したデータがなくライトアクセスキャッシュミスと判定された場合について説明する。
【００５４】
ライトアクセスキャッシュミスの場合は、まずアクセス対象のエントリ内にダーティなデータが存在するのかを判定する（ステップＳ４０６）。ここでダーティなデータがないのであれば、書き込むアドレスに対応するデータのダーティビット及びバリッドビットをセットする（ステップＳ４０７、Ｓ４０８）。さらに書き込むデータに対応するサブライン以外のデータを無効化する。例えば、外部からＡＤＤ［１６：１０］＝［０００００００］、ＡＤＤ［９：４］＝［００００１０］、ＡＤＤ［３：２］＝［００］が入力されたとする。この時、図１２キャッシュメモリＮＷＣにはデータが存在せず、ライトアクセスキャッシュミスとなり、ＷＡＹ１のエントリ２に外部からのデータを書き込むようにキャッシュコントローラＣＣＴＬによって制御する。さらにキャッシュコントローラＣＣＴＬは、ＤＡＴＡ［１］〜ＤＡＴＡ［３］のデータを無効化するために、対応するバリッドビットをリセットする。以上のようにすることでライトアクセスキャッシュミス時において、エントリ内のデータ一貫性を維持しつつ、ＬＷＲＡＭからの読み出し動作を不要とすることが出きる。またステップＳ４０６において、ダーティなデータがエントリ内に存在した場合には、図１４のステップＳ４１０、Ｓ４１１、Ｓ４１２に記載のフローを実行する。これらのフローは、図１３のステップＳ３１１、Ｓ３１２、Ｓ３１３と同様にバンクデータセレクト信号ＢＤＳ［３：０］を用いて、バリッドビットがセットされた有効なデータのみをライトバックすればよい。
【００５５】
図１５はデータをサブラインの単位で管理しない場合に、前述したＬＷＲＡＭのライトバック動作と、ＬＷＲＡＭからの読み出し動作が衝突するという課題を説明したタイミングチャートである。一方、図１６は上記で説明した手法を用いて、前記課題を解決したことを示すタイミングチャートである。外部からサイクルＣｙｃｌｅ＃１でＡＤＤ［１６：１０］＝［０００００００］、ＡＤＤ［９：４］＝［０００００１］、ＡＤＤ［３：２］＝［００］が入力され、サイクルＣｙｃｌｅ＃２でＡＤＤ［１６：１０］＝［０００００１０］、ＡＤＤ［９：４］＝［０００００１］、ＡＤＤ［３：２］＝［００］が入力されたとする。すなわちサイクルＣｙｃｌｅ＃１およびサイクルＣｙｃｌｅ＃２では、ともにライトアクセスキャッシュミスとなり、サイクルＣｙｃｌｅ＃１でＷＡＹ０のバンクＢＡＮＫ２、サイクルＣｙｃｌｅ＃２でＷＡＹ１のバンクＢＡＮＫ１のデータをライトバックすることを示している。ここで、本発案の実施例の手法を用いない場合は、図１５のようにサイクルＣｙｃｌｅ＃１でバンクＢＡＮＫ２にライトバック動作が実行されるので、サイクルＣｙｃｌｅ＃２までライト動作が続行される。また前述したように、サイクルＣｙｃｌｅ＃２においてバンクＢＡＮＫ２のライトアクセスのアドレスが入力された場合、エントリ１のデータ一貫性維持の為にバンクＢＡＮＫ２からデータを読み出す必要がある。しかし、すでに直前のサイクルからのライト動作が実行中であり、バンクＢＡＮＫ２からの読み出し動作と衝突してしまう。
【００５６】
一方本発案のように外部データバス幅、ここではメモリデータバスＭＤＱのデータバス幅の単位でデータを管理するようにすれば、ライトアクセスキャッシュミス時において、上記のようなＬＷＲＡＭからのアロケート動作が不要となる。したがって図１６に示すように、サイクルＣｙｃｌｅ＃２においてバンクＢＡＮＫ２からの読み出し動作が発生せず、アクセスが衝突することがない。
【００５７】
以上の説明から分かる通り、メモリデータバスＭＤＱとＡＦ−ＲＡＭの内部データバス、例えばＤａ［１２７：０］やＤｂ［１２７：０］のバス幅が異なる場合においても、本発明の制御方法を用いることで、書きこみが遅いＬＷＲＡＭの課題を解決でき、ＡＦ−ＲＡＭへのアクセスが遅延されることのないデータ処理システムが実現できる。なお本実施例ではメモリデータバス幅ＭＤＱを３２ビットとして説明したが、本発明はもちろんこれに限定されない。サブライン毎にデータを管理するように制御すれば、その分割数を増やしてもよい。さらにＬＷＲＡＭのバンク数やキャッシュメモリＮＷＣの容量、ウェイ数も書き込みサイクル（ｍ）と読み出しサイクル（ｎ）の比、（ｍ／ｎ）のウェイ数で示したが、（ｍ／ｎ）以上の数でも良いことはいうまでもない。また一つのウェイの容量もＬＷＲＡＭの１バンク分の容量より大きくても良い。なお本発明は、前述の実施例と同様にその要旨を逸脱しない範囲で様々な変更が可能であることは言うまでもない。
＜実施例３＞
前記実施例では、ＬＷＲＡＭにＳＥＳＯメモリを用いてＡＦ−ＲＡＭを実現した例を示したが、ＬＷＲＡＭに不揮発性の相変化メモリを用いることもできる。
【００５８】
図１７は図６のＬＷＲＡＭに用いた相変化メモリセルＭＣを示す図である。相変化メモリセルＭＣは、ワード線ＷＬ、ビット線ＢＬ及び可変抵抗素子Ｒから構成される。相変化メモリもＳＥＳＯメモリと同様に、読み出し速度よりも書き込み速度が遅いという課題を有する。しかし前述の実施例１および実施例２で説明した手法を用いれば、相変化メモリセルＭＣを用いた場合においても、書き込み速度が遅いという課題を解決でき、ＡＦ−ＲＡＭへのアクセスが遅延されないデータ処理システムが実現できることはいうまでもない。なお相変化メモリセルＭＣはＳＥＳＯメモリよりもメモリセル面積が小さい。したがってＳＥＳＯメモリを用いた場合よりも、さらにデータ記憶容量の大きいメモリが低コストで実現できる。また相変化メモリは不揮発性メモリであるので、データ保持電流が小さいメモリが実現できる。さらに図１７では、可変抵抗素子Ｒがビット線ＢＬとアクセストランジスタＴＮ０の間に位置するメモリセル構成を示したが、本発明はこれに限定されるものではなく、可変抵抗素子Ｒがソース線ＳＬとアクセストランジスタＴＮ０の間に位置するメモリ構成とする等、様々な変更が可能である。
＜実施例４＞
実施例１、実施例２および実施例３では、ＬＷＲＡＭにＳＥＳＯメモリもしくは相変化メモリを用いてＡＦ−ＲＡＭを実現した例を説明したが、ＬＷＲＡＭのメモリセルに不揮発性の強誘電体メモリ（以下ＦｅＲＡＭ：  Ｆｅｒｒｏ  ｅｌｅｃｔｒｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を適用し、本発案の手法を用いれば、高性能なＡＦ−ＲＡＭを実現できる。
【００５９】
図１８（ａ）はＦｅＲＡＭのメモリセルＭＣを示しており、図１８（ｂ）、（ｃ）は従来のＦｅＲＡＭの動作波形を示している。メモリセルＭＣは、ワード線ＷＬ、ビット線対ＢＬ、／ＢＬ、アクセストランジスタＴＮ１、強誘電体キャパシタＣ０、プレートＰＬＴから構成される。図１８（ｂ）は従来のＦｅＲＡＭの読み出し動作を示すタイミングチャートである。ＦｅＲＡＭは動作原理上、読み出しの際に蓄積ノードＳＮとビット線ＢＬが導通するのでデータが破壊される。そこで一度データを読み出した後（ＲＤ期間）、データを再書き込みし（ＲＷＴ期間）、その後ビット線をプリチャージ（ＰＣＨ期間）する必要があるので、サイクル時間ｔＲＣは長くなってしまう。一方図１８（ｃ）の書き込み動作時も、アクセス対象ではない非選択のメモリセルＭＣの蓄積ノードＳＮとビット線ＢＬが導通するので、一度蓄積ノードＳＮの信号を読み出した後、再書き込み動作が必要となる。さらに、選択されたメモリセルにデータを書き込み（ＷＲ期間）、プリチャージを実行する（ＰＣＨ期間）。また、ＦｅＲＡＭは強誘電体キャパシタＣ０の分極特性を利用してデータを保持するため、再書き込み動作（ＲＷＴ期間）および書き込み動作（ＲＤ期間）において、プレートＰＬＴの電位を電源電圧程度にしておく必要があり、これに伴うプレートＰＬＴの立上げ時間などによりサイクル時間ｔＲＣが長くなるといった課題もあった。
【００６０】
そこで本発案では、まずＦｅＲＡＭの読み出し動作における再書き込み動作を行わないように制御する。すなわちＦｅＲＡＭを破壊読出し動作させる。本発案のＡＦ−ＲＡＭはキャッシュメモリＮＷＣを有しており、ＬＷＲＡＭから読み出したデータはキャッシュメモリＮＷＣに保持されるのでデータが失われることはない。このように、ＦｅＲＡＭを破壊読出し動作させると、読み出し動作を図１９（ａ）のように高速化できる。ここで破壊読出し動作をさせるので、一度読み出したデータは、全てキャッシュメモリＮＷＣに書き込まなければならない。すなわち、キャッシュメモリＮＷＣの内部データバスＤａ［１２７：０］等のバス幅と、ＬＷＲＡＭのバンクのビット線数を等しくする必要がある。なお、この場合の回路変更は簡単な回路技術で実現できるので、ここでは図面での説明を省略する。
【００６１】
一方、図１９（ｂ）の書き込み動作時にはデータを書き込むためにビット線を高電位まで増幅し、その間プレートＰＬＴを立ち上げておく必要がある。そのため破壊読出し動作によって再書き込み動作を削除しても、読み出し時間ｔＲＣよりも書き込み動作時間の方が長くなる場合がある。このような場合には、実施例１および実施例２で説明したような制御方法を用いることで、書き込みが遅いという課題を解決できる。すなわち実施例３において、前述の実施例と同様に、ＦｅＲＡＭの書きこみ速度（ｍ）と読み出し速度（ｎ）の比、つまり（ｍ／ｎ）分の容量のウェイ数をキャッシュメモリＮＷＣが有することで、ＡＦ−ＲＡＭへのアクセスが遅延されることのないデータ処理システムが実現できる。
【００６２】
以上の説明においては、１トランジスタ１キャパシタタイプのメモリセルの例を示したが、本発明はこれに限定されるものではなく２トランジスタ型のＦｅＲＡＭのメモリセルを用いてもよい。また前述の実施例と同様に種々の変形が可能であることは言うまでもない。
＜実施例５＞
実施例１では、ロジック部ＬＯＧＩＣとＡＦ−ＲＡＭがそれぞれ別のチップで構成され、メモリ制御ユニットＭＣＵを介して接続された構成を説明したが、以下に説明するような変形も可能である。
【００６３】
図２０は、１チップのＬＳＩ上にＣＰＵとキャッシュメモリＬ１Ｃ、メモリ制御ユニットＭＣＵ、本発明のＡＦ−ＲＡＭがシステムバスＳＹＳＴＥＭ  ＢＵＳによって接続されていることを示す図である。このように１チップ上にＡＦ−ＲＡＭを搭載することで、別々のチップをバスで接続した場合よりも、バスの寄生容量が小さくなり、消費電力の低減の効果が期待できる。なお本実施例では、論理回路部分はＣＰＵのみの例で示したが、実施例１のように複数の論理回路が１チップ上に搭載されてもよいことはいうまでもない。さらに図面には記していないが、本実施のＬＳＩを、他のＳＲＡＭやＤＲＡＭチップと積層してもよい。この場合チップ全体の実装面積を低減し、コストを低減できる。またＡＦ−ＲＡＭとＳＲＡＭやＤＲＡＭを積層した、所謂複合型メモリを実現しても良いことは言うまでもない。このようにすれば、さらにデータ容量の大きなメモリが、実装面積を低減しつつ実現できる。以上のように本発明のＡＦ−ＲＡＭは、その目的により様々な応用が可能である。
【００６４】
【発明の効果】
本発明の主な効果は、書き込みが遅いメモリセルを用いた場合でも、少量のキャッシュメモリを付加することで、低速な書き込み動作を隠蔽することができことにある。
【図面の簡単な説明】
【図１】本発明の第一の実施例を示す図である。
【図２】実施例１に記載のアクセスフリーランダムアクセスメモリ（ＡＦ−ＲＡＭ）の読み出し動作および書き込み動作の制御方法の一例を示した図である。
【図３】実施例１に記載のＡＦ−ＲＡＭの書き込み動作の制御方法の一例を示した図である。
【図４】図１のＡＦ−ＲＡＭに含まれるキャッシュメモリＮＷＣを示す一実施例である。
【図５】実施例１に記載のＡＦ−ＲＡＭを説明するブロック図の一例である。
【図６】ＡＦ−ＲＡＭに実施の、書き込み動作が遅いメモリセルを用いた低速ライトメモリのブロック図である。
【図７】低速ライトメモリに実施のバンクおよびバンクを構成するＳＥＳＯメモリセルを示す一実施例である。
【図８】実施例１に記載のＡＦ−ＲＡＭの制御方法を示すフローチャートである。
【図９】実施例１に記載のＡＦ−ＲＡＭにおいて、低速な書き込み動作が隠蔽されたことを示すタイミングチャートである。
【図１０】実施例１に記載のＡＦ−ＲＡＭを説明するブロック図の一例である。
【図１１】図１に記載のＡＦ−ＲＡＭを説明するブロック図の第二の実施例である。
【図１２】図１１に実施のキャッシュメモリを示す一例である。
【図１３】図１１に記載のＡＦ−ＲＡＭの読み出し動作を説明するフローチャートである。
【図１４】図１１に記載のＡＦ−ＲＡＭの書き込み動作を説明するフローチャートである。
【図１５】図１１に記載のＡＦ−ＲＡＭの課題について説明したタイミングチャートである。
【図１６】図１１に記載のＡＦ−ＲＡＭの課題を解決したことを示すタイミングチャートである。
【図１７】図６に記載のＬＷＲＡＭに実施の相変化メモリセルを示す一実施例である。
【図１８】従来の強誘電体メモリの動作を説明するタイミングチャートである。
【図１９】本発明に実施の手法を用いて、強誘電体メモリを高速化したことを示すタイミングチャートである。
【図２０】本発明のＡＦ−ＲＡＭを適用したＬＳＩの例を示す図である。
【符号の説明】
ＡＦ−ＲＡＭ……アクセスフリーランダムアクセスメモリ、  ＮＷＣ、  Ｌ１Ｃ……キャッシュメモリ、  ＬＷＲＡＭ……低速ライトメモリ、  ＬＯＧＩＣ……ロジック部、  ＣＰＵ……中央処理装置、  ＵＳＬ１、  ＵＳＬ２……ユーザロジック、  ＭＣＵ……メモリ制御ユニット、  ＡＲＢ……調停回路、  ＭＣＴＬ……メモリコントローラ、  ＲＦＣ……リフレッシュコントローラ、  ＷＥ＃、  ＷＥ１＃、  ＷＥ２＃、  ＩＷＥ＃……ライトイネーブル信号、  ＡＤ、  ＡＤ１、  ＡＤ２、  ＩＡＤ……アドレスバス、  ＤＱ、  ＤＱ０、  ＤＱ１、  ＤＱ２、  ＩＤＱ……データバス、  ＭＷＥ＃……メモリライトイネーブル信号、  ＭＡＤ……メモリアドレスバス、  ＭＤＱ……メモリデータバス、  ＷＡＹ０……ウェイ０、  ＷＡＹ１……ウェイ１、  ＣＡＡ、  ＣＡＡ０、  ＣＡＡ１……キャッシュアドレスアレイ、  ＣＤＡ、  ＣＤＡ０、  ＣＤＡ１……キャッシュデータアレイ、  Ｖ、  Ｖ［３：０］、  Ｖ０［３：０］、  Ｖ１［３：０］……バリッドビット、  Ｄ、  Ｄ［３：０］、  Ｄ０［３：０］、  Ｄ１［３：０］……ダーティビット、  ＴＡＧ……タグ、  ＤＡＴＡ……データ、  ＢａｎｋＡｄｄ……バンクアドレス、  Ｅｎｔｒｙ……エントリ、  ＷＳ……ワードセレクタ、  ＣＣＴＬ……キャッシュコントローラ、  ＣＭＰ……比較器、  ＢＡＮＫ０〜ＢＡＮＫ１２７……メモリバンク、  ＢＡＮＫＤＥＣ……バンクデコーダ、  ＭＵＸ……マルチプレックサ、  ＳＥＬ……セレクタ、  ＡＤＤＢ……アドレスバッファ、  ＩＯＢＵＦ、  ＩＮＰＵＴ／ＯＵＴＰＵＴ  ＢＵＦＦＥＲ……入出力バッファ、  ＦＷＢ……転送バッファ、  ＡＤＤＲＥＳＳ……入力アドレス、  ＡＤＤ［１６：１０］、  ＡＤＤ［９：４］、  ＡＤＤ［３：２］……アドレスバス、  Ｄａ［１２７：０］、  Ｄｂ［１２７：０］、  Ｄｃ［１２７：０］……データバス、  ＢＤＱ［１２７：０］……バンクデータバス、  ＴＷＥ＃……タグライトイネーブル信号、  ＣＷＥ＃……キャッシュライトイネーブル信号、  ＢＷＥ＃……バンクライトイネーブル信号、  ＴＡＤＤ０、  ＴＡＤＤ１……タグアドレスバス、  ＷＴＡＤＤ……ライトタグアドレスバス、  ＨＩＴ、  ＨＩＴ０、  ＨＩＴ１……ヒット信号、  ＢＲＱ［１２７：０］……バンクリードリクエスト信号、  ＢＷＱ［１２７：０］……バンクライトリクエスト信号、  ＣＤＳ［３：０］……キャッシュデータセレクト信号、  ＢＤＳ［３：０］……バンクデータセレクト信号、  Ｘ−ＡＤＢ、  Ｙ−ＡＤＢ……アドレスバッファ、  ＸＤＥＣ……ワードデコーダ、  ＹＤＥＣ……カラムデコーダ、  ＳＡ＆ＩＯＢＵＳ……センスアンプ部と入出力バス、  ＷＬ……ワード線、  ＷＷＬ、  ＷＷＬ０〜ＷＷＬ６３……書き込みワード線、  ＲＷＬ、  ＲＷＬ０〜ＲＷＬ６３……読み出しワード線、  ＢＬ、  ／ＢＬ、  ＢＬ０〜ＢＬ５１１、  ／ＢＬ０〜／ＢＬ５１１……ビット線、  ＳＮ……蓄積ノード、  ＴＮ０、  ＴＮ１……アクセストランジスタ、  ＳＥＳＯ……単一電子閉じ込めトランジスタ、  Ｃ０……強誘電体キャパシタ、  ＰＬＴ……プレート、  ＳＬ……ソース線、  ＭＣ……メモリセル、  ＳＡＭＰ……センスアンプ、  ＰＲＥ……プリチャージ回路、  ＤＵＭ……ダミーセル、  ＣＳＮ、  ＣＳＰ……コモ��ソース信号、  ＰＣＨ……プリチャージ信号、  ＹＳ０〜ＹＳ３……カラムスイッチ、  ＬＩＯ０〜ＬＩＯ１２７……ローカル入出力バス、  ＲＤ……リード期間、  ＲＷＴ……再書き込み期間、  ＷＲ……書き込み期間、  ＰＣＨ……プリチャージ期間、  ＤＩ……入力データ、  ＤＯ……出力データ、  ＳＹＳＴＥＭ  ＢＵＳ……システムバス、  ＣＬＫ……クロック、  ＬＳＩ……半導体集積回路。
【図１】
2004334996.tif 000003
【図２】
2004334996.tif 000004
【図３】
2004334996.tif 000005
【図４】
2004334996.tif 000006
【図５】
2004334996.tif 000007
【図６】
2004334996.tif 000008
【図７】
2004334996.tif 000009
【図８】
2004334996.tif 000010
【図９】
2004334996.tif 000011
【図１０】
2004334996.tif 000012
【図１１】
2004334996.tif 000013
【図１２】
2004334996.tif 000014
【図１３】
2004334996.tif 000015
【図１４】
2004334996.tif 000016
【図１５】
2004334996.tif 000017
【図１６】
2004334996.tif 000018
【図１７】
2004334996.tif 000019
【図１８】
2004334996.tif 000020
【図１９】
2004334996.tif 000021
【図２０】
2004334996.tif 000022