(57)【要約】【課題】  不揮発性半導体メモリにおける読み出し動作時のデータ書き戻しの発生回数を削減する。【解決手段】  読み出し動作時にアドレス記憶比較回路が外部入力アドレスと同一のアドレスを記憶していない場合、メインメモリは、データ記憶領域からデータが読み出された後に読み出しデータがデータ記憶領域に書き戻され、履歴記憶領域からデータが読み出された後に読み出しデータが示す値と所定値との加算値を示すデータが履歴記憶領域に書き込まれる。サブメモリは、履歴記憶領域からデータが読み出された後に、メインメモリの方がサブメモリよりも履歴記憶領域の読み出しデータが示す値が大きければ、メインメモリのデータ記憶領域の読み出しデータがデータ記憶領域に書き込まれ、メインメモリの履歴記憶領域の読み出しデータが示す値と所定値との加算値を示すデータが履歴記憶領域に書き込まれる。【選択図】    図１
2008047238.tif 000002
【特許請求の範囲】
【請求項１】
実データを記憶するためのデータ記憶領域の対応部分およびアクセス回数データを記憶するための履歴記憶領域の対応部分で構成される複数の行を有する不揮発性のメインメモリと、
アドレスを記憶するための複数の行を有するアドレス記憶比較回路と、
前記アドレス記憶比較回路における複数の行に対応して、実データを記憶するためのデータ記憶領域の対応部分およびアクセス回数データを記憶するための履歴記憶領域の対応部分で構成される複数の行を有する揮発性のサブメモリとを備え、
読み出し動作時に、前記アドレス記憶比較回路が外部入力アドレスと同一のアドレスを記憶している場合、
前記サブメモリは、前記アドレス記憶比較回路における外部入力アドレスと同一のアドレスが記憶されている行に対応する行について、外部出力データとしてデータ記憶領域からデータが読み出され、
読み出し動作時に、前記アドレス記憶比較回路が外部入力アドレスと同一のアドレスを記憶していない場合、
前記メインメモリは、外部入力アドレスに対応する行について、外部出力データとしてデータ記憶領域からデータが読み出された後に、読み出されたデータがデータ記憶領域に書き戻されるとともに、履歴記憶領域からデータが読み出された後に、読み出されたデータが示す値と所定値との加算値を示すデータが履歴記憶領域に書き込まれ、
前記サブメモリは、前記アドレス記憶比較回路において選択された行に対応する行について、履歴記憶領域からデータが読み出された後に、前記メインメモリの履歴記憶領域から読み出されたデータが示す値が自身の履歴記憶領域から読み出されたデータが示す値より大きければ、前記メインメモリのデータ記憶領域から読み出されたデータがデータ記憶領域に書き込まれるとともに、前記メインメモリの履歴記憶領域から読み出されたデータが示す値と所定値との加算値を示すデータが履歴記憶領域に書き込まれ、
前記アドレス記憶比較回路は、複数の行のいずれかがランダムに選択された後に、前記メインメモリの履歴記憶領域から読み出されたデータが示す値が前記サブメモリの履歴記憶領域から読み出されたデータが示す値より大きければ、選択された行に外部入力アドレスが書き込まれることを特徴とする不揮発性半導体メモリ。
【請求項２】
請求項１に記載の不揮発性半導体メモリにおいて、
前記メインメモリは、書き込み動作時に、外部入力アドレスに対応する行について、外部入力データがデータ記憶領域に書き込まれるとともに、履歴記憶領域からデータが読み出された後に、読み出されたデータが示す値と所定値との加算値を示すデータが履歴記憶領域に書き込まれ、
前記サブメモリは、書き込み動作時に、前記アドレス記憶比較回路が外部入力アドレスと同一のアドレスを記憶している場合、前記アドレス記憶比較回路における外部入力アドレスと同一のアドレスが記憶されている行に対応する行について、外部入力データがデータ記憶領域に書き込まれるとともに、前記メインメモリの履歴記憶領域から読み出されたデータが示す値と所定値との加算値を示すデータが履歴記憶領域に書き込まれることを特徴とする不揮発性半導体メモリ。
【請求項３】
請求項１または請求項２に記載の不揮発性半導体メモリにおいて、
前記メインメモリの履歴記憶領域から読み出されたデータが示す値と前記サブメモリの履歴データ記憶領域から読み出されたデータが示す値とを大小比較し、前記メインメモリの履歴記憶領域から読み出されたデータが示す値の方が大きい場合に出力信号を活性化させる比較器を備え、
読み出し動作時に、前記アドレス記憶比較回路が外部入力アドレスと同一のアドレスを記憶していない場合、
前記サブメモリは、前記アドレス記憶比較回路において選択された行に対応する行について、履歴記憶領域からデータが読み出された後に、前記比較器の出力信号の活性化に応答して、前記メインメモリのデータ記憶領域から読み出されたデータがデータ記憶領域に書き込まれるとともに、前記メインメモリの履歴記憶領域から読み出されたデータが示す値と所定値との加算値を示すデータが履歴記憶領域に書き込まれ、
前記アドレス記憶比較回路は、複数の行のいずれかがランダムに選択された後に、前記比較器の出力信号の活性化に応答して、選択された行に外部入力アドレスが書き込まれることを特徴とする不揮発性半導体メモリ。
【請求項４】
請求項１〜請求項３のいずれか１項に記載の不揮発性半導体メモリにおいて、
前記メインメモリの履歴記憶領域から読み出されたデータが示す値と所定値との加算値を示すデータを生成する加算器を備え、
読み出し動作時に、前記アドレス記憶比較回路が外部入力アドレスと同一のアドレスを記憶していない場合、
前記メインメモリは、外部入力アドレスに対応する行について、履歴記憶領域からデータが読み出された後に、前記加算器により生成されたデータが履歴記憶領域に書き込まれ、
前記サブメモリは、前記アドレス記憶比較回路において選択された行に対応する行について、履歴記憶領域からデータが読み出された後に、前記メインメモリの履歴記憶領域から読み出されたデータが示す値が自身の履歴記憶領域から読み出されたデータが示す値より大きければ、前記加算器により生成されたデータが履歴記憶領域に書き込まれることを特徴とする不揮発性半導体メモリ。
【請求項５】
請求項１〜請求項４のいずれか１項に記載の不揮発性半導体メモリにおいて、
読み出し動作時に前記アドレス記憶比較回路が外部入力アドレスと同一のアドレスを記憶している場合、前記サブメモリのデータ記憶領域から読み出されたデータを選択して外部出力データとして出力し、読み出し動作時に前記アドレス記憶比較回路が外部入力アドレスと同一のアドレスを記憶していない場合、前記メインメモリのデータ記憶領域から読み出されたデータを選択して外部出力データとして出力するセレクタを備えることを特徴とする不揮発性半導体メモリ。
【請求項６】
請求項１〜請求項５のいずれか１項に記載の不揮発性半導体メモリにおいて、
前記アドレス記憶比較回路における複数の行のいずれかを示すランダムデータを生成するデータ発生器を備え、
読み出し動作時に、前記アドレス記憶比較回路が外部入力アドレスと同一のアドレスを記憶していない場合、前記アドレス記憶比較回路は、複数の行のうち、前記データ発生器により生成されたランダムデータが示す行が選択されることを特徴とする不揮発性半導体メモリ。
【請求項７】
請求項１〜請求項６のいずれか１項に記載の不揮発性半導体メモリにおいて、
前記メインメモリは、メモリセルに強誘電体キャパシタを用いて構成されることを特徴とする不揮発性半導体メモリ。
【請求項８】
請求項１〜請求項７のいずれか１項に記載の不揮発性半導体メモリにおいて、
読み出し動作時に、前記アドレス記憶比較回路が外部入力アドレスと同一のアドレスを記憶していない場合、前記メインメモリは、外部入力アドレスに対応する行について、履歴記憶領域からデータが読み出された後に、読み出されたデータが示す値と所定値との加算値を示すデータが１／（２のｑ乗）の確率（ｑ：自然数）で履歴記憶領域に書き込まれることを特徴とする不揮発性半導体メモリ。
【請求項９】
請求項８に記載の不揮発性半導体メモリにおいて、
ｑビットのランダムデータを生成するデータ発生器と、
前記データ発生器により生成されたランダムデータの全ビットが各々に対して決められた論理レベルを示す場合に出力信号を活性化させる論理回路と、
前記論理回路の出力信号の活性化時に、前記メインメモリの履歴記憶領域から読み出されたデータが示す値と所定値との加算値を示すデータを生成し、前記論理回路の出力信号の非活性化時に、前記メインメモリの履歴記憶領域から読み出されたデータが示す値と同一の値を示すデータを生成する加算器とを備え、
読み出し動作時に、前記アドレス記憶比較回路が外部入力アドレスと同一のアドレスを記憶していない場合、
前記メインメモリは、外部入力アドレスに対応する行について、履歴記憶領域からデータが読み出された後に、前記加算器により生成されたデータが履歴記憶領域に書き込まれ、
前記サブメモリは、前記アドレス記憶比較回路において選択された行に対応する行について、履歴記憶領域からデータが読み出された後に、前記メインメモリの履歴記憶領域から読み出されたデータが示す値が自身の履歴記憶領域から読み出されたデータが示す値より大きければ、前記加算器により生成されたデータが履歴記憶領域に書き込まれることを特徴とする不揮発性半導体メモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、強誘電体メモリ（ＦＲＡＭ（登録商標）、ＦｅＲＡＭ）等の不揮発性半導体メモリに関する。
【背景技術】
【０００２】
メモリセルに強誘電体キャパシタが用いられるＦＲＡＭ（Ferroelectric Random Access Memory）は、電源供給が遮断された状態でもデータを保持できるため、ＩＣカードやゲーム機器の記憶媒体等に使用されている。ＦＲＡＭに関連する技術は、例えば、特許文献１に開示されている。
図３は、従来のＦＲＡＭを示している。図４は、図３のメモリセルを示している。図３において、ＦＲＡＭ５００は、アドレス入力バッファ５０２、アドレスデコーダ５０４、メモリセルアレイ５０６、センスアンプ５０８、ライトアンプ５１０、データ入出力バッファ５１２を有している。
【０００３】
アドレス入力バッファ５０２は、読み出し動作時および書き込み動作時に、アドレス入力端子ＡＤ０〜ＡＤｉ−１（ｉ：自然数）に入力された外部入力アドレスを受けてアドレスデコーダ５０４に出力する。アドレスデコーダ５０４は、読み出し動作時および書き込み動作時に、外部入力アドレス（アドレス入力バッファ５０２から供給されるアドレス）に応じてメモリセルアレイ５０６における複数の行のいずれかを選択する。
【０００４】
メモリセルアレイ５０６は、複数のワード線ＷＬおよび複数のプレート線ＰＬとｍ組のビット線対ＢＬ、ＢＬＸ（ｍ：自然数）との交差位置にマトリックス状に配置された複数のメモリセルＭＣを有している。メモリセルＭＣは、例えば、図４に示すような２Ｔ２Ｃ型と称される相補型メモリセルであり、トランスファトランジスタ（ｎＭＯＳトランジスタ）Ｎ１、Ｎ２および強誘電体キャパシタＦ１、Ｆ２を有している。トランスファトランジスタＮ１および強誘電体キャパシタＦ１は、ビット線ＢＬとプレート線ＰＬとの間で直列に接続されている。トランスファトランジスタＮ２および強誘電体キャパシタＦ２は、ビット線ＢＬＸとプレート線ＰＬとの間で直列に接続されている。トランスファトランジスタＮ１、Ｎ２のゲートは、ワード線ＷＬに接続されている。
【０００５】
図３において、センスアンプ５０８は、読み出し動作時に、メモリセルアレイ５０６の選択行（アドレスデコーダ５０４により選択された行）からデータを読み出す。ライトアンプ５１０は、読み出し動作時に、センスアンプ５０８により読み出されたデータをメモリセルアレイ５０６の選択行に書き戻す。また、ライトアンプ５１０は、書き込み動作時に、外部入力データ（データ入出力バッファ５１２から供給されるデータ）をメモリセルアレイ５０６の選択行に書き込む。データ入出力バッファ５１２は、読み出し動作時に、センスアンプ５０８により読み出されたデータを受けて外部出力データとしてデータ入出力端子ＤＱ０〜ＤＱｍ−１に出力する。また、データ入出力バッファ５１２は、書き込み動作時に、データ入出力端子ＤＱ０〜ＤＱｍ−１に入力された外部入力データを受けてライトアンプ５１０に出力する。
【０００６】
以上のような構成のＦＲＡＭ５００では、読み出し動作時には、外部入力アドレスがアドレス入力端子ＡＤ０〜ＡＤｉ−１に入力されると、外部入力アドレスがアドレス入力バッファ５０２を介してアドレスデコーダ５０４に供給され、メモリセルアレイ５０６における複数の行の中から、外部入力アドレスに対応する行が選択される。そして、センスアンプ５０８によりメモリセルアレイ５０６の選択行からデータが読み出され、読み出されたデータがデータ入出力バッファ５１２を介して外部出力データとしてデータ入出力端子ＤＱ０〜ＤＱｍ−１に出力される。また、センスアンプ５０８により読み出されたデータは、メモリセルアレイ５０６の選択行にライトアンプ５１０により書き戻される。
【０００７】
書き込み動作時には、読み出し動作時と同様に、外部入力アドレスがアドレス入力端子ＡＤ０〜ＡＤｉ−１に入力されると、外部入力アドレスがアドレス入力バッファ５０２を介してアドレスデコーダ５０４に供給され、メモリセルアレイ５０６における複数の行の中から、外部入力アドレスに対応する行が選択される。そして、データ入出力端子ＤＱ０〜ＤＱｍ−１に入力されてデータ入出力バッファ５１２を介して供給される外部入力データがメモリセルアレイ５０６の選択行にライトアンプ５１０により書き込まれる。
【０００８】
ＦＲＡＭにおいて、書き込み動作とは、アクセス対象のメモリセルを構成する強誘電体キャパシタを正電圧または負電圧の印可により分極させることであり、読み出し動作とは、アクセス対象のメモリセルを構成する強誘電体キャパシタに正電圧を印可して分極反転電流の有無を検出することである。図３および図４では詳細を省略しているが、書き込み動作では、アクセス対象のメモリセルＭＣ（アドレスデコーダ５０４により選択された行におけるｍ個のメモリセルＭＣ）について、ワード線ＷＬが高レベルに活性化されてトランスファトランジスタＮ１がオンし、ビット線ＢＬおよびプレート線ＰＬ間に正電圧または負電圧が印可されることで、強誘電体キャパシタＦ１に正電圧または負電圧が印可されて所望のデータが書き込まれる。具体的には、強誘電体キャパシタＦ１に“０”データを書き込む場合には、ビット線ＢＬが接地電位ＧＮＤ（０Ｖ）に設定されるとともに、プレート線ＰＬが電源電位ＶＤＤに設定され、強誘電体キャパシタＦ１に“１”データを書き込む場合には、ビット線ＢＬが電源電位ＶＤＤに設定されるとともに、プレート線ＰＬが接地電位ＧＮＤに設定される。強誘電体キャパシタＦ２については、同様の手順により、強誘電体キャパシタＦ１に書き込まれるデータと逆論理のデータが書き込まれる。書き込み動作の完了後に強誘電体キャパシタＦ１、Ｆ２に対する印可電圧が取り去られても強誘電体キャパシタＦ１、Ｆ２の分極は保持されるため、強誘電体キャパシタＦ１、Ｆ２に書き込まれたデータは不揮発性データとして保持される。
【０００９】
読み出し動作では、アクセス対象のメモリセルＭＣについて、ワード線ＷＬが高レベルに活性化されてトランスファトランジスタＮ１がオンし、プレート線ＰＬが電源電位ＶＤＤに設定される。ビット線ＢＬは接地電位ＧＮＤにプリチャージされており、プレート線ＰＬが電源電位ＶＤＤに設定されると、強誘電体キャパシタＦ１に正電圧が印可される。この時、強誘電体キャパシタＦ１に“０”データが書き込まれている場合には、強誘電体キャパシタＦ１に対する印可電圧は書き込み動作時と同一極性であるため、分極の反転が起こらず比較的小さい電流がビット線ＢＬに流れる。一方、強誘電体キャパシタＦ１に“１”データが書き込まれている場合には、強誘電体キャパシタＦ１に対する印可電圧は書き込み動作時と逆極性であるため、分極の反転が起こり比較的大きい電流がビット線ＢＬに流れる。センスアンプ５０８において、ビット線ＢＬに流れる電流が検知されることで強誘電体キャパシタＦ１の読み出しデータが生成される。強誘電体キャパシタＦ２ついては、同様の手順により、強誘電体キャパシタＦ１の読み出しデータと逆論理の読み出しデータが生成される。
【００１０】
ＦＲＡＭでは、読み出し動作時にアクセス対象のメモリセルを構成する強誘電体キャパシタに正電圧が印可されるため、強誘電体キャパシタに対するデータ読み出しは、“０”データ書き込みと同じことであり、いわゆる破壊読み出しとなる。このため、読み出し動作時に、アクセス対象のメモリセルについて、“１”データが書き込まれている強誘電体キャパシタに“０”データが書き込まれてしまうため、その強誘電体キャパシタに“１”データを書き戻す必要がある。
【特許文献１】特開２００５−１２９１５１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
一般に、強誘電体キャパシタの書き換え可能回数は、強誘電体材料の制約により有限であり、１Ｅ１０回程度が限界である。ＦＲＡＭでは、読み出し動作時に、アクセス対象のメモリセルを構成する強誘電体キャパシタに“１”データが書き込まれている場合、その強誘電体キャパシタに“１”データを書き戻す必要があるため、書き込み動作時だけでなく読み出し動作時にも強誘電体キャパシタに対するデータの書き込みが必要となる。このため、ＳＲＡＭ（Static RAM）やＤＲＡＭ（Dynamic RAM）等のように制限無くアクセス動作（読み出し動作および書き込み動作）を実施できる半導体メモリに比べて、ＦＲＡＭは使用条件の制約があるという問題がある。従って、不揮発性半導体メモリ（ＦＲＡＭ等）における読み出し動作時のデータ書き戻しの発生回数を減らして不揮発性半導体メモリの製品寿命を延ばす技術の開発が望まれている。
【００１２】
本発明の目的は、不揮発性半導体メモリにおける読み出し動作時のデータ書き戻しの発生回数を減らして不揮発性半導体メモリの製品寿命を延ばすことにある。
【課題を解決するための手段】
【００１３】
本発明の一形態では、不揮発性半導体メモリは、不揮発性のメインメモリと、アドレス記憶比較回路と、揮発性のサブメモリとを備えて構成される。メインメモリは、実データを記憶するためのデータ記憶領域の対応部分およびアクセス回数データを記憶するための履歴記憶領域の対応部分で構成される複数の行を有する。アドレス記憶比較回路は、アドレスを記憶するための複数の行を有する。サブメモリは、アドレス記憶比較回路における複数の行に対応して、実データを記憶するためのデータ記憶領域の対応部分およびアクセス回数データを記憶するための履歴記憶領域の対応部分で構成される複数の行を有する。
【００１４】
読み出し動作時に、アドレス記憶比較回路が外部入力アドレスと同一のアドレスを記憶している場合、サブメモリは、アドレス記憶比較回路における外部入力アドレスと同一のアドレスが記憶されている行に対応する行について、外部出力データとしてデータ記憶領域からデータが読み出される。
読み出し動作時に、アドレス記憶比較回路が外部入力アドレスと同一のアドレスを記憶していない場合、メインメモリは、外部入力アドレスに対応する行について、外部出力データとしてデータ記憶領域からデータが読み出された後に、読み出されたデータがデータ記憶領域に書き戻されるとともに、履歴記憶領域からデータが読み出された後に、読み出されたデータが示す値と所定値との加算値を示すデータが履歴記憶領域に書き込まれる。サブメモリは、アドレス記憶比較回路において複数の行のいずれかがランダムに選択され、選択された行に対応する行について、履歴記憶領域からデータが読み出された後に、メインメモリの履歴記憶領域から読み出されたデータが示す値が自身の履歴記憶領域から読み出されたデータが示す値より大きければ、メインメモリのデータ記憶領域から読み出されたデータがデータ記憶領域に書き込まれるとともに、メインメモリの履歴記憶領域から読み出されたデータが示す値と所定値との加算値を示すデータが履歴記憶領域に書き込まれる。アドレス記憶比較回路は、メインメモリの履歴記憶領域から読み出されたデータが示す値がサブメモリの履歴記憶領域から読み出されたデータが示す値より大きければ、選択された行に外部入力アドレスが書き込まれる。
【００１５】
好ましくは、メインメモリは、書き込み動作時に、外部入力アドレスに対応する行について、外部入力データがデータ記憶領域に書き込まれるとともに、履歴記憶領域からデータが読み出された後に、読み出されたデータが示す値と所定値との加算値を示すデータが履歴記憶領域に書き込まれる。サブメモリは、書き込み動作時に、アドレス記憶比較回路が外部入力アドレスと同一のアドレスを記憶している場合、アドレス記憶比較回路における外部入力アドレスと同一のアドレスが記憶されている行に対応する行について、外部入力データがデータ記憶領域に書き込まれるとともに、メインメモリの履歴記憶領域から読み出されたデータが示す値と所定値との加算値を示すデータが履歴記憶領域に書き込まれる。サブメモリは、書き込み動作時に、アドレス記憶比較回路が外部入力アドレスと同一のアドレスを記憶していない場合、何も書き込まれない。
【００１６】
以上のような不揮発性半導体メモリでは、読み出し動作時に、アドレス記憶比較回路が外部入力アドレスと同一のアドレスを記憶しておらず、且つメインメモリから読み出されたアクセス回数データが示す値がサブメモリから読み出されたアクセス回数データが示す値より大きい場合、メインメモリから読み出された実データおよびメインメモリから読み出されたアクセス回数データが示す値と所定値との加算値を示すアクセス回数データがサブメモリに書き込まれる。このため、同一の外部入力アドレスを伴う次回の読み出し動作時に、メインメモリに代わってサブメモリから実データが読み出され、メインメモリに対するデータの書き戻しが発生しない。また、読み出し動作時に、アドレス記憶比較回路が外部入力アドレスと同一のアドレスを記憶していない場合、サブメモリのデータ書き込み対象となる行はランダムに選択されるため、アクセス動作（読み出し動作および書き込み動作）が繰り返し実施されるうちに、アクセス回数の大きいアドレスの実データがサブメモリから読み出されるようになり、アクセス頻度の高いアドレスほどサブメモリで代替される。この結果、読み出し動作に伴うメインメモリに対するデータの書き戻しの発生回数が大幅に削減される。従って、不揮発性半導体メモリの製品寿命を延ばすことができる。
【発明の効果】
【００１７】
本発明によれば、不揮発性半導体メモリにおける読み出し動作時のデータ書き戻しの発生回数を大幅に減らすことができ、その結果、不揮発性半導体メモリの製品寿命を延ばすことができる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を用いて本発明の実施形態を説明する。
図１は、本発明の第１実施形態を示している。第１実施形態の不揮発性半導体メモリ１００は、ＦＲＡＭとして形成されており、アドレス入力バッファ１０２、アドレス記憶比較回路１０４、乱数発生器１０６、キャッシュメモリ１０８、アドレスデコーダ１１０、メモリセルアレイ１１２、センスアンプ１１４、ライトアンプ１１６、センスアンプ１１８、ライトアンプ１２０、加算器１２２、比較器１２４、セレクタ１２６およびデータ入出力バッファ１２８を有している。
【００１９】
アドレス入力バッファ１０２は、読み出し動作時および書き込み動作時に、アドレス入力端子ＡＤ０〜ＡＤｉ−１（ｉ：自然数）に入力された外部入力アドレスを受けてアドレス記憶比較回路１０４およびアドレスデコーダ１１０に出力する。
アドレス記憶比較回路１０４は、ｉビットのアドレスをそれぞれ記憶するためのｋ個の行（ｋ：自然数）を有し、連想メモリ（ＣＡＭ：Content Addressable Memory）として機能する。アドレス記憶比較回路１０４は、読み出し動作時および書き込み動作時に、記憶しているｋ個のアドレスを外部入力アドレス（アドレス入力バッファ１０２から供給されるアドレス）とそれぞれ比較する。
【００２０】
アドレス記憶比較回路１０４は、読み出し動作時に、外部入力アドレスと一致するアドレスを記憶している場合、アドレスデコーダ１１０の動作を禁止するための制御信号を活性化させるとともに、外部入力アドレスと一致するアドレスを記憶している行に対応してキャッシュメモリ１０８におけるｋ個の行のいずれかを選択する。
アドレス記憶比較回路１０４は、読み出し動作時に、外部入力アドレスと一致するアドレスを記憶していない場合、乱数発生器１０６から供給されるランダムデータに応じてｋ個の行のいずれかを選択し、ランダムデータに応じて選択した行に対応してキャッシュメモリ１０８におけるｋ個の行のいずれかを選択する。アドレス記憶比較回路１０４は、読み出し動作時に、外部入力アドレスと一致するアドレスを記憶していない場合、比較器１２４の出力信号の活性化に伴って、ランダムデータに応じて選択した行に外部入力アドレスを書き込む。
【００２１】
また、アドレス記憶比較回路１０４は、書き込み動作時に、外部入力アドレスと一致するアドレスを記憶している場合、アドレスデコーダ１１０の動作を禁止するための制御信号を活性化させずに、外部入力アドレスと一致するアドレスを記憶している行に対応してキャッシュメモリ１０８におけるｋ個の行のいずれかを選択する。
なお、アドレス記憶比較回路１０４は、ｋ個の行に対応して設けられたｋ個の有効ビットを有している。各有効ビットは、不揮発性半導体メモリ１００の電源投入後における対応する行への外部入力アドレスの書き込みの有無を示す。各有効ビットは、不揮発正半導体メモリ１００の電源投入に伴って“０”にリセットされる。有効ビットが“０”にリセットされている行に記憶されているアドレスは、読み出し動作時および書き込み動作時のアドレス比較対象から除外される。有効ビットが“０”にリセットされている行に外部入力アドレスが書き込まれると、その行の有効ビットが“１”にセットされ、その後、その行に記憶されているアドレスは、読み出し動作時および書き込み動作時のアドレス比較対象として用いられる。また、アドレス記憶比較回路１０４の各行に記憶されているアドレスは、不揮発性半導体メモリ１００の電源投入の直後には不定であるが、不揮発性半導体メモリ１００の電源投入に伴って初期化する必要はない。
【００２２】
乱数発生器１０６は、読み出し動作時に、アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶していない場合、アドレス記憶比較回路１０４におけるｋ個の行のいずれかを示すランダムデータを生成してアドレス記憶比較回路１０４に出力する。
キャッシュメモリ１０８は、揮発性メモリ（例えば、ＳＲＡＭ）により具現されており、アドレス記憶比較回路１０４に対応してｋ個の行を有している。キャッシュメモリ１０８の各行には、データ記憶領域１０８ａ（ｍビットの実データを記憶する領域）に属するｍビット分のメモリセル（ｍ：自然数）と、履歴記憶領域１０８ｂ（ｎビットのアクセス回数データを記憶する領域）に属するｎビット分のメモリセル（ｎ：自然数）とが設けられている。なお、キャッシュメモリ１０８における履歴記憶領域１０８ｂに属するメモリセルには、不揮発性半導体メモリ１００の電源投入に伴って“０”データが書き込まれる。
【００２３】
キャッシュメモリ１０８は、読み出し動作時に、アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶している場合、アドレス記憶比較回路１０４により選択された行（アドレス記憶比較回路１０４における外部入力アドレスと一致するアドレスが記憶されている行に対応する行）におけるデータ記憶領域１０８ａの対応部分からデータを読み出す。キャッシュメモリ１０８は、読み出し動作時に、アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶していない場合、アドレス記憶比較回路１０４により選択された行（アドレス記憶比較回路１０４におけるランダムデータに応じて選択された行に対応する行）における履歴記憶領域１０８ｂの対応部分からデータを読み出す。
【００２４】
また、キャッシュメモリ１０８は、書き込み動作時に、アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶している場合、アドレス記憶比較回路１０４により選択された行（アドレス記憶比較回路１０４における外部入力アドレスと一致するアドレスが記憶されている行に対応する行）について、データ記憶領域１０８ａの対応部分に外部入力データ（データ入出力バッファ１２８から供給されるデータ）を書き込むとともに、履歴記憶領域１０８ｂの対応部分に加算器１２２から供給されるデータを書き込む。
【００２５】
アドレスデコーダ１１０は、読み出し動作時および書き込み動作時に、アドレス記憶比較回路１０４から供給される制御信号が非活性化されている場合、外部入力アドレス（アドレス入力バッファ１０２から供給されるアドレス）に応じてメモリセルアレイ１１２における複数の行のいずれかを選択する。
メモリセルアレイ１１２は、図３に示したメモリセルアレイ５０６と同様の内部構成であり、複数のワード線ＷＬおよび複数のプレート線ＰＬとｍ＋ｎ組のビット線対ＢＬ、ＢＬＸとの交差位置にマトリックス状に配置された複数のメモリセルＭＣ（図４）を有している。メモリセルアレイ１１２の各行には、データ記憶領域１１２ａ（ｍビットの実データを記憶する領域）に属するｍビット分のメモリセルＭＣと、履歴記憶領域１１２ｂ（ｎビットのアクセス回数データを記憶する領域）に属するｎビット分のメモリセルＭＣとが設けられている。
【００２６】
なお、メモリセルアレイ１１２の各行におけるデータ記憶領域１１２ａに属するメモリセルＭＣの数（ｍ）は、例えば３２個であるものとする。また、強誘電体キャパシタの書き換え可能回数は１Ｅ１０回程度であり、１Ｅ１０は２の３３乗（約８．６Ｅ９）より大きく２の３４乗（約１．７Ｅ１０）より小さい。従って、メモリセルアレイ１１２の各行における履歴記憶領域１１２ｂに属するメモリセルＭＣの数（ｎ）は、例えば３４個であるものとする。
【００２７】
センスアンプ１１４は、読み出し動作時に、アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶していない場合、メモリセルアレイ１１２の選択行（アドレスデコーダ１１０により選択された行）におけるデータ記憶領域１１２ａの対応部分からデータを読み出す。
ライトアンプ１１６は、読み出し動作時に、アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶していない場合、センスアンプ１１４により読み出されたデータをメモリセルアレイ１１２の選択行におけるデータ記憶領域１１２ａの対応部分に書き戻す。また、ライトアンプ１１６は、書き込み動作時に、アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶しているか否かに拘わらず、外部入力データ（データ入出力バッファ１２８から供給されるデータ）をメモリセルアレイ１１２の選択行におけるデータ記憶領域１１２ａの対応部分に書き込む。
【００２８】
センスアンプ１１８は、読み出し動作時に、アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶していない場合、メモリセルアレイ１１２の選択行における履歴記憶領域１１２ｂの対応部分からデータを読み出す。また、センスアンプ１１８は、書き込み動作時に、アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶しているか否かに拘わらず、メモリセルアレイ１１２の選択行における履歴記憶領域１１２ｂの対応部分からデータを読み出す。
【００２９】
ライトアンプ１２０は、読み出し動作時に、アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶していない場合、加算器１２２から供給されるデータをメモリセルアレイ１１２の選択行における履歴記憶領域１１２ｂの対応部分に書き込む。また、ライトアンプ１２０は、書き込み動作時に、アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶しているか否かに拘わらず、加算器１２２から供給されるデータをメモリセルアレイ１１２の選択行における履歴記憶領域１１２ｂの対応部分に書き込む。
【００３０】
なお、不揮発性半導体メモリ１００の出荷試験の際に、不揮発性半導体メモリ１００をテストモードに遷移させた状態でライトアンプ１２０等を動作させることで、メモリセルアレイ１１２の各行における履歴記憶領域１１２ｂの対応部分（ｎビット分のメモリセルＭＣ）について、最下位のビットに“１”データが書き込まれ、その他のビットに“０”データが書き込まれる。
【００３１】
加算器１２２は、読み出し動作時に、アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶していない場合、センスアンプ１１８により読み出されたデータが示す値に所定値（例えば、１）を加算した値を示すデータを生成してキャッシュメモリ１０８およびライトアンプ１２０に出力する。また、加算器１２２は、書き込み動作時に、アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶しているか否かに拘わらず、センスアンプ１１８により読み出されたデータが示す値に所定値を加算した値を示すデータを生成してキャッシュメモリ１０８およびライトアンプ１２０に出力する。
【００３２】
比較器１２４は、読み出し動作時に、アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶していない場合、メモリセルアレイ１１２の履歴記憶領域１１２ｂから読み出されたデータが示す値とキャッシュメモリ１０８の履歴記憶領域１０８ｂから読み出されたデータが示す値とを大小比較し、前者が後者より大きい場合に出力信号を活性化させる。
【００３３】
セレクタ１２６は、読み出し動作時に、アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶している場合、キャッシュメモリ１０８のデータ記憶領域１０８ａから読み出されたデータを選択してデータ入出力バッファ１２８に出力する。セレクタ１２６は、読み出し動作時に、アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶していない場合、メモリセルアレイ１１２のデータ記憶領域１１２ａから読み出されたデータを選択してデータ入出力バッファ１２８に出力する。
【００３４】
データ入出力バッファ１２８は、読み出し動作時に、セレクタ１２６から供給されるデータを受けて外部出力データとしてデータ入出力端子ＤＱ０〜ＤＱｍ−１に出力する。また、データ入出力バッファ１２８は、書き込み動作時に、データ入出力端子ＤＱ０〜ＤＱｍ−１に入力された外部入力データを受けてキャッシュメモリ１０８およびライトアンプ１１６に出力する。
【００３５】
ここで、第１実施形態の不揮発性半導体メモリ１００の動作について、読み出し動作時と書き込み動作時とに分けて説明する。
（読み出し動作時）
外部入力アドレスがアドレス入力端子ＡＤ０〜ＡＤｉ−１に入力されると、外部入力アドレスがアドレス入力バッファ１０２を介してアドレス記憶比較回路１０４およびアドレスデコーダ１１０に供給される。そして、アドレス記憶比較回路１０４に記憶されているｋ個のアドレスが外部入力アドレスとそれぞれ比較される。アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶している場合（キャッシュヒットが発生した場合）、キャッシュメモリ１０８におけるｋ個の行の中から、アドレス記憶比較回路１０４における外部入力アドレスと一致するアドレスが記憶されている行に対応する行が選択される。この後、キャッシュメモリ１０８の選択行におけるデータ記憶領域１０８ａの対応部分からデータが読み出され、読み出されたデータがセレクタ１２６およびデータ入出力バッファ１２８を介してデータ入出力端子ＤＱ０〜ＤＱｍ−１に外部出力データとして出力される。
【００３６】
一方、アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶していない場合（キャッシュミスヒットが発生した場合）、メモリセルアレイ１１２における複数の行の中から、外部入力アドレスに対応する行が選択される。そして、センスアンプ１１４によりメモリセルアレイ１１２の選択行におけるデータ記憶領域１１２ａの対応部分からデータが読み出され、読み出されたデータがセレクタ１２６およびデータ入出力バッファ１２８を介してデータ入出力端子ＤＱ０〜ＤＱｍ−１に外部出力データとして出力される。また、センスアンプ１１４により読み出されたデータは、メモリセルアレイ１１２の選択行におけるデータ記憶領域１１２ａの対応部分にライトアンプ１１６により書き戻される。
【００３７】
これらと同時に、センスアンプ１１８によりメモリセルアレイ１１２の選択行における履歴記憶領域１１２ｂの対応部分からデータが読み出される。そして、センスアンプ１１８により読み出されたデータが示す値に所定値を加算した値を示すデータが加算器１２２により生成され、加算器１２２により生成されたデータがメモリセルアレイ１１２の選択行における履歴記憶領域１１２ｂの対応部分にライトアンプ１２０により書き込まれる。
【００３８】
これらと並行して、乱数発生器１０６により生成されたランダムデータに応じてアドレス記憶比較回路１０４におけるｋ個の行のいずれかが選択され、アドレス記憶比較回路１０４の選択行に対応してキャッシュメモリ１０８におけるｋ個の行のいずれかが選択されてキャッシュメモリ１０８の選択行における履歴記憶領域１０８ｂの対応部分からデータが読み出される。そして、メモリセルアレイ１１２の履歴記憶領域１１２ｂから読み出されたデータが示す値とキャッシュメモリ１０８の履歴記憶領域１０８ｂから読み出されたデータが示す値とが比較器１２４により大小比較される。
【００３９】
メモリセルアレイ１１２の履歴記憶領域１１２ｂから読み出されたデータが示す値の方が大きい場合、外部入力アドレスがアドレス記憶比較回路１０４の選択行に書き込まれるとともに、メモリセルアレイ１１２のデータ記憶領域１１２ａから読み出されたデータがキャッシュメモリ１０８の選択行におけるデータ記憶領域１０８ａの対応部分に書き込まれ、加算器１２２により生成されたデータがキャッシュメモリ１０８の選択行における履歴記憶領域１０８ｂの対応部分に書き込まれる。
【００４０】
メモリセルアレイ１１２の履歴記憶領域１１２ｂから読み出されたデータが示す値とキャッシュメモリ１０８の履歴記憶領域１０８ｂから読み出されたデータが示す値とが同一である場合、あるいはメモリセルアレイ１１２の履歴記憶領域１１２ｂから読み出されたデータが示す値の方が小さい場合、アドレス記憶比較回路１０４に対する外部入力アドレスの書き込みとキャッシュメモリ１０８（データ記憶領域１０８ａおよび履歴記憶領域１０８ｂ）に対するデータの書き込みとは実施されない。
（書き込み動作時）
外部入力アドレスがアドレス入力端子ＡＤ０〜ＡＤｉ−１に入力されると、外部入力アドレスがアドレス入力バッファ１０２を介してアドレス記憶比較回路１０４およびアドレスデコーダ１１０に供給される。そして、アドレス記憶比較回路１０４に記憶されているｋ個のアドレスが外部入力アドレスとそれぞれ比較される。アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶している場合（キャッシュヒットが発生した場合）、メモリセルアレイ１１２における複数の行の中から、外部入力アドレスに対応する行が選択される。この後、データ入出力端子ＤＱ０〜ＤＱｍ−１に入力されてデータ入出力バッファ１２８を介して供給される外部入力データがメモリセルアレイ１１２の選択行におけるデータ記憶領域１１２ａの対応部分にライトアンプ１１６により書き込まれる。
【００４１】
これと同時に、センスアンプ１１８によりメモリセルアレイ１１２の選択行における履歴記憶領域１１２ｂの対応部分からデータが読み出される。そして、センスアンプ１１８により読み出されたデータが示す値に所定値を加算した値を示すデータが加算器１２２により生成され、加算器１２２により生成されたデータがメモリセルアレイ１１２の選択行における履歴記憶領域１１２ｂの対応部分にライトアンプ１２０により書きまれる。
【００４２】
これらと並行して、キャッシュメモリ１０８におけるｋ個の行の中から、アドレス記憶比較回路１０４における外部入力アドレスと一致するアドレスが記憶されている行に対応する行が選択される。そして、データ入出力バッファ１２８を介して供給される外部入力データがキャッシュメモリ１０８の選択行におけるデータ記憶領域１０８ａの対応部分に書き込まれるとともに、加算器１２２により生成されたデータがキャッシュメモリ１０８の選択行における履歴記憶領域１０８ｂの対応部分に書き込まれる。
【００４３】
一方、アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶していない場合（キャッシュミスヒットが発生した場合）、キャッシュメモリ１０８（データ記憶領域１０８ａおよび履歴記憶領域１０８ｂ）に対するデータの書き込みは実施されず、メモリセルアレイ１１２（データ記憶領域１１２ａおよび履歴記憶領域１１２ｂ）に対するデータの書き込みが、アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶している場合（キャッシュヒットが発生した場合）と同様に実施される。
【００４４】
以上のような第１実施形態では、読み出し動作時に、キャッシュミスヒットが発生し、且つメモリセルアレイ１１２から読み出されたアクセス回数データが示す値がキャッシュメモリ１０８から読み出されたアクセス回数データが示す値より大きい場合、メモリセルアレイ１１２から読み出された実データおよび加算器１２２により生成されたアクセス回数データがキャッシュメモリ１０８に書き込まれる。このため、同一の外部入力アドレスを伴う次回の読み出し動作時に、メモリセルアレイ１１２に代わってキャッシュメモリ１０８から実データが読み出され、メモリセルアレイ１１２に対するデータの書き戻しが発生しない。また、読み出し動作時に、アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶していない場合、キャッシュメモリ１０８のデータ書き込み対象となる行はランダムに選択されるため、アクセス動作（読み出し動作および書き込み動作）が繰り返し実施されるうちに、アクセス回数の大きいアドレスの実データがキャッシュメモリ１０８から読み出されるようになり、アクセス頻度の高いアドレスほどキャッシュメモリ１０８で代替される。この結果、読み出し動作に伴うメモリセルアレイ１１２に対するデータの書き戻しの発生回数が大幅に削減される。従って、不揮発性半導体メモリ１００の製品寿命を延ばすことができる。
【００４５】
図２は、本発明の第２実施形態を示している。なお、図２（第２実施形態）を説明するにあたって、図１（第１実施形態）で説明した要素と同一の要素については、同一の符号を付して詳細な説明を省略する。
第２実施形態の不揮発性半導体メモリ２００は、第１実施形態の不揮発性半導体メモリ１００に対して、乱数発生器２３０およびＡＮＤゲート２３２を追加するとともに、キャッシュメモリ１０８、メモリセルアレイ１１２、センスアンプ１１８、ライトアンプ１２０、加算器１２２および比較器１２４をキャッシュメモリ２０８、メモリセルアレイ２１２、センスアンプ２１８、ライトアンプ２２０、加算器２２２および比較器２２４にそれぞれ置き換えて構成されている。
【００４６】
キャッシュメモリ２０８は、データ記憶領域２０８ａ（ｍビットの実データを記憶する領域）に属するｍビット分のメモリセルと履歴記憶領域２０８ｂ（ｐビットのアクセス回数データを記憶する領域）に属するｐビット分のメモリセル（ｐ：自然数、ｐ＜ｎ）とが行毎に設けられていることを除いて、第１実施形態のキャッシュメモリ１０８と同一である。
【００４７】
メモリセルアレイ２１２は、データ記憶領域２１２ａ（ｍビットの実データを記憶する領域）に属するｍビット分のメモリセルＭＣ（図４）と履歴記憶領域２１２ｂ（ｐビットのアクセス回数データを記憶する領域）に属するｐビット分のメモリセルＭＣとが行毎に設けられていることを除いて、第１実施形態のメモリセルアレイ１１２と同一である。
センスアンプ２１８、ライトアンプ２２０および比較器２２４は、ｐビットのデータを処理すべく構成されていることを除いて、第１実施形態のセンスアンプ１１８、ライトアンプ１２０および比較器１２４と同一である。
【００４８】
なお、不揮発性半導体メモリ２００の出荷試験の際に、不揮発性半導体メモリ２００をテストモードに遷移させた状態でライトアンプ２２０等を動作させることで、メモリセルアレイ２１２の各行における履歴記憶領域２１２ｂの対応部分（ｐビット分のメモリセルＭＣ）について、最下位のビットに“１”データが書き込まれ、その他のビットに“０”データが書き込まれる。
【００４９】
加算器２２２は、読み出し動作時に、アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶していない場合、ＡＮＤゲート２３２の出力信号が活性化されていれば、センスアンプ２１８により読み出されたデータが示す値に所定値（例えば、１）を加算した値を示すデータを生成してキャッシュメモリ２０８およびライトアンプ２２０に出力する。加算器２２２は、読み出し動作時に、アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶していない場合、ＡＮＤゲート２３２の出力信号が非活性化されていれば、センスアンプ２１８により読み出されたデータが示す値と同じ値を示すデータを生成してキャッシュメモリ２０８およびライトアンプ２２０に出力する。
【００５０】
また、加算器２２２は、書き込み動作時に、アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶しているか否かに拘わらず、ＡＮＤゲート２３２の出力信号が活性化されていれば、センスアンプ２１８により読み出されたデータが示す値に所定値を加算した値を示すデータを生成してキャッシュメモリ２０８およびライトアンプ２２０に出力する。加算器２２２は、書き込み動作時に、アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶しているか否かに拘わらず、ＡＮＤゲート２３２の出力信号が非活性化されていれば、センスアンプ２１８により読み出されたデータが示す値と同じ値を示すデータを生成してキャッシュメモリ２０８およびライトアンプ２２０に出力する。
【００５１】
乱数発生器２３０は、読み出し動作時に、アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶していない場合、ｑビットのランダムデータ（ｑ：自然数、ｑ＝ｎ−ｐ）を生成してＡＮＤゲート２３２に出力する。また、乱数発生器２３０は、書き込み動作時に、アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶しているか否かに拘わらず、ｑビットのランダムデータを生成してＡＮＤゲート２３２に出力する。
【００５２】
ＡＮＤゲート２３２は、乱数発生器２３０から供給されるランダムデータの全てのビットが“１”を示す場合に出力信号を“１”に活性化させ、乱数発生器２３０から供給されるランダムデータの少なくともいずれかのビットが“０”を示す場合に出力信号を“０”に非活性化させる。
ここで、第２実施形態の不揮発性半導体メモリ２００の動作について、読み出し動作時と書き込み動作時とに分けて説明する。
（読み出し動作時）
外部入力アドレスがアドレス入力端子ＡＤ０〜ＡＤｉ−１に入力されると、外部入力アドレスがアドレス入力バッファ１０２を介してアドレス記憶比較回路１０４およびアドレスデコーダ１１０に供給される。そして、アドレス記憶比較回路１０４に記憶されているｋ個のアドレスが外部入力アドレスとそれぞれ比較される。アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶している場合（キャッシュヒットが発生した場合）、キャッシュメモリ２０８におけるｋ個の行の中から、アドレス記憶比較回路１０４における外部入力アドレスと一致するアドレスが記憶されている行に対応する行が選択される。この後、キャッシュメモリ２０８の選択行におけるデータ記憶領域２０８ａの対応部分からデータが読み出され、読み出されたデータがセレクタ１２６およびデータ入出力バッファ１２８を介してデータ入出力端子ＤＱ０〜ＤＱｍ−１に外部出力データとして出力される。
【００５３】
一方、アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶していない場合（キャッシュミスヒットが発生した場合）、メモリセルアレイ２１２における複数の行の中から、外部入力アドレスに対応する行が選択される。そして、センスアンプ１１４によりメモリセルアレイ２１２の選択行におけるデータ記憶領域２１２ａの対応部分からデータが読み出され、読み出されたデータがセレクタ１２６およびデータ入出力バッファ１２８を介してデータ入出力端子ＤＱ０〜ＤＱｍ−１に外部出力データとして出力される。また、センスアンプ１１４により読み出されたデータは、メモリセルアレイ２１２の選択行におけるデータ記憶領域２１２ａの対応部分にライトアンプ１１６により書き戻される。
【００５４】
これらと同時に、センスアンプ２１８によりメモリセルアレイ２１２の選択行における履歴記憶領域２１２ｂの対応部分からデータが読み出される。このとき、乱数発生器２３０によりランダムデータが生成され、ＡＮＤゲート２３２の出力信号が１／（２のｑ乗）の確率で“１”に活性化される。ＡＮＤゲート２３２の出力信号が“１”に活性化されている場合、センスアンプ２１８により読み出されたデータが示す値に所定値を加算した値を示すデータが加算器２２２により生成され、加算器２２２により生成されたデータがメモリセルアレイ２１２の選択行における履歴記憶領域２１２ｂの対応部分にライトアンプ２２０により書き込まれる。ＡＮＤゲート２３２の出力信号が“０”に非活性化されている場合、センスアンプ２１８により読み出されたデータが示す値と同じ値を示すデータが加算器２２２により生成され、加算器２２２により生成されたデータがメモリセルアレイ２１２の選択行における履歴記憶領域２１２ｂの対応部分にライトアンプ２２０により書き込まれる。
【００５５】
これらと並行して、乱数発生器１０６により生成されたランダムデータに応じてアドレス記憶比較回路１０４におけるｋ個の行のいずれかが選択され、アドレス記憶比較回路１０４の選択行に対応してキャッシュメモリ２０８におけるｋ個の行のいずれかが選択されてキャッシュメモリ２０８の選択行における履歴記憶領域２０８ｂの対応部分からデータが読み出される。そして、メモリセルアレイ２１２の履歴記憶領域２１２ｂから読み出されたデータが示す値とキャッシュメモリ２０８の履歴記憶領域２０８ｂから読み出されたデータが示す値とが比較器２２４により大小比較される。
【００５６】
メモリセルアレイ２１２の履歴記憶領域２１２ｂから読み出されたデータが示す値の方が大きい場合、外部入力アドレスがアドレス記憶比較回路１０４の選択行に書き込まれるとともに、メモリセルアレイ２１２のデータ記憶領域２１２ａから読み出されたデータがキャッシュメモリ２０８の選択行におけるデータ記憶領域２０８ａの対応部分に書き込まれ、加算器２２２により生成されたデータがキャッシュメモリ２０８の選択行における履歴記憶領域２０８ｂの対応部分に書き込まれる。
【００５７】
メモリセルアレイ２１２の履歴記憶領域２１２ｂから読み出されたデータが示す値とキャッシュメモリ２０８の履歴記憶領域２０８ｂから読み出されたデータが示す値とが同一である場合、あるいはメモリセルアレイ２１２の履歴記憶領域２１２ｂから読み出されたデータの示す値の方が小さい場合、アドレス記憶比較回路１０４に対する外部入力アドレスの書き込みとキャッシュメモリ２０８（データ記憶領域２０８ａおよび履歴記憶領域２０８ｂ）に対するデータの書き込みとは実施されない。
（書き込み動作時）
外部入力アドレスがアドレス入力端子ＡＤ０〜ＡＤｉ−１に入力されると、外部入力アドレスがアドレス入力バッファ１０２を介してアドレス記憶比較回路１０４およびアドレスデコーダ１１０に供給される。そして、アドレス記憶比較回路１０４に記憶されているｋ個のアドレスが外部入力アドレスとそれぞれ比較される。アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶している場合（キャッシュヒットが発生した場合）、メモリセルアレイ２１２における複数の行の中から、外部入力アドレスに対応する行が選択される。この後、データ入出力端子ＤＱ０〜ＤＱｍ−１に入力されてデータ入出力バッファ１２８を介して供給される外部入力データがメモリセルアレイ２１２の選択行におけるデータ記憶領域２１２ａの対応部分にライトアンプ１１６により書き込まれる。
【００５８】
これと同時に、センスアンプ２１８によりメモリセルアレイ２１２の選択行における履歴記憶領域２１２ｂの対応部分からデータが読み出される。このとき、乱数発生器２３０によりランダムデータが生成され、ＡＮＤゲート２３２の出力信号が１／（２のｑ乗）の確率で“１”に活性化される。ＡＮＤゲート２３２の出力信号が“１”に活性化されている場合、センスアンプ２１８により読み出されたデータが示す値に所定値を加算した値を示すデータが加算器２２２により生成され、加算器２２２により生成されたデータがメモリセルアレイ２１２の選択行における履歴記憶領域２１２ｂの対応部分にライトアンプ２２０により書き込まれる。ＡＮＤゲート２３２の出力信号が“０”に非活性化されている場合、センスアンプ２１８により読み出されたデータが示す値と同じ値を示すデータが加算器２２２により生成され、加算器２２２により生成されたデータがメモリセルアレイ２１２の選択行における履歴記憶領域２１２ｂの対応部分にライトアンプ２２０により書き込まれる。
【００５９】
これらと並行して、キャッシュメモリ２０８におけるｋ個の行の中から、アドレス記憶比較回路１０４における外部入力アドレスと一致するアドレスが記憶されている行に対応する行が選択される。そして、データ入出力バッファ１２８を介して供給される外部入力データがキャッシュメモリ２０８の選択行におけるデータ記憶領域２０８ａの対応部分に書き込まれるとともに、加算器２２２により生成されたデータがキャッシュメモリ２０８の選択行における履歴記憶領域２０８ｂの対応部分に書き込まれる。
【００６０】
一方、アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶していない場合（キャッシュミスヒットが発生した場合）、キャッシュメモリ２０８（データ記憶領域２０８ａおよび履歴記憶領域２０８ｂ）に対するデータの書き込みは実施されず、メモリセルアレイ２１２（データ記憶領域２１２ａおよび履歴記憶領域２１２ｂ）に対するデータの書き込みが、アドレス記憶比較回路１０４が外部入力アドレスと一致するアドレスを記憶している場合（キャッシュヒットが発生した場合）と同様に実施される。
【００６１】
前述した第１実施形態では、メモリセルアレイ１１２の各行におけるデータ記憶領域１１２ａに属するメモリセルＭＣの数（ｍ）が３２個であるのに対して、メモリセルアレイ１１２の各行における履歴記憶領域１１２ｂに属するメモリセルＭＣの数（ｎ）が３４個であり、メモリセルアレイ１１２の面積効率は必ずしもよくない。
これに対して、第２実施形態では、例えば、乱数発生器２３０により生成されるランダムデータが１６ビットのデータであるものとすると、メモリセルアレイ２１２の各行における履歴記憶領域２１２ｂに属するメモリセルＭＣの数（ｐ）が１８個となる。第２実施形態のメモリセルアレイ２１２の履歴記憶領域２１２ｂに記憶されるデータが示す値（アクセス回数）について、メモリセルアレイ２１２に対するアクセスに伴って１／（２のｑ乗）の確率で１が加算されることと、第１実施形態のメモリセルアレイ１１２の履歴記憶領域１１２ｂに記憶されるデータが示す値（アクセス回数）について、メモリセルアレイ１１２に対するアクセスに伴って毎回１が加算されて２のｑ乗から１が加算されることは、略等価である。従って、第２実施形態では、メモリセルアレイ２１２の各行における履歴記憶領域２１２ｂに属するメモリセルＭＣの数を１８個に削減しても、第１実施形態と略等価にアクセス回数を２の３４乗（約１．７Ｅ１０）まで計数することができるため、メモリセルアレイ２１２の面積効率を大幅に改善できる。また、メモリセルアレイ２１２の各行における履歴記憶領域２１２ｂに属するメモリセルＭＣの数の削減により、キャッシュメモリ２０８（履歴記憶領域２０８ｂ）、センスアンプ２１８、ライトアンプ２２０および比較器２２４の回路面積も削減できる。このため、第２実施形態では、第１実施形態と同様の効果が得られるうえに、不揮発性半導体メモリ２００の小規模化を実現できる。
【００６２】
なお、第１および第２実施形態では、強誘電体メモリに本発明を適用した例について述べたが、本発明はかかる実施形態に限定されるものではない。例えば、強誘電体メモリ以外の破壊読み出しを伴う不揮発性半導体メモリに本発明を適用してもよい。また、第１および第２実施形態では、フルアソシアティブ方式のキャッシュメモリを用いた例について述べたが、本発明はかかる実施形態に限定されるものではない。例えば、ダイレクトマップ方式あるいはセットアソシアティブ方式のキャッシュメモリを用いてもよい。キャッシュメモリの各方式の詳細については、例えば、参考文献「パターソン＆ヘネシー著,“コンピュータの構成と設計”，日経ＢＰ社．」に記載されている。
【００６３】
以上、本発明について詳細に説明してきたが、前述の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれらに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
【図面の簡単な説明】
【００６４】
【図１】本発明の第１実施形態を示すブロック図である。
【図２】本発明の第２実施形態を示すブロック図である。
【図３】従来のＦＲＡＭを示すブロック図である。
【図４】図３のメモリセルを示す回路図である。
【符号の説明】
【００６５】
１００、２００‥不揮発性半導体メモリ；１０２‥アドレス入力バッファ；１０４‥アドレス記憶比較回路；１０６、２３０‥乱数発生器；１０８、２０８‥キャッシュメモリ；１０８ａ、１１２ａ、２０８ａ、２１２ａ‥データ記憶領域；１０８ｂ、１１２ｂ、２０８ｂ、２１２ｂ‥履歴記憶領域；１１０‥アドレスデコーダ；１１２、２１２‥メモリセルアレイ；１１４、１１８、２１８‥センスアンプ；１１６、１２０、２２０‥ライトアンプ；１２２、２２２‥加算器；１２４、２２４‥比較器；１２６‥セレクタ；１２８‥データ入出力バッファ；２３２‥ＡＮＤゲート；ＡＤ０〜ＡＤｉ−１‥アドレス入力端子；ＢＬ、ＢＬＸ‥ビット線；ＤＱ０〜ＤＱｍ−１‥データ入出力端子；Ｆ１、Ｆ２‥強誘電体キャパシタ；ＭＣ‥メモリセル；Ｎ１、Ｎ２‥トランスファトランジスタ；ＰＬ‥プレート線；ＷＬ‥ワード線
【図１】
2008047238.tif 000003
【図２】
2008047238.tif 000004
【図３】
2008047238.tif 000005
【図４】
2008047238.tif 000006