(57)【特許請求の範囲】
【請求項１】
マトリクス状に配置され、強誘電体キャパシタとスイッチングトランジスタとを夫々が有する複数のメモリセルを含む強誘電体メモリとＣＰＵとを有するシステムであって、
前記システムは、第１モードおよび第２モードを有し、
前記強誘電体メモリは、前記第１モードにおいて書換えが禁止され前記第２モードにおいて書換えが許可される第１領域と、前記第１モードにおいて書換えが許可される第２領域を含み、
前記第１領域は、通常データを記憶する領域と、前記通常データに誤りが生じた場合に前記誤りを訂正するためのエラー訂正情報を記憶する領域を含み、
第２モードにおいて、前記システムは、前記第１領域の通常データと前記エラー訂正情報を使用してデータの誤りをチェックし、前記チェックにより誤りデータが検出された場合に、前記第１領域に前記誤りデータを訂正して書き戻す訂正処理を行うことを特徴とするシステム。
【請求項２】
請求項１記載のシステムにおいて、
前記訂正処理は、訂正処理プログラムに従って前記ＣＰＵが行うことを特徴とするシステム。
【請求項３】
請求項１または２記載のシステムにおいて、
前記第１領域は、前記システムのＯＳプログラムまたはアプリケーションプログラムを記憶するための領域として使用され、前記第２領域は、前記ＣＰＵが一時的に必要とする情報の記憶領域として使用されることを特徴とするシステム。
【請求項４】
請求項１から３の何れか１項に記載のシステムにおいて、
前記システムは、所定の条件に基づいて前記第１モードから前記第２モードに移行し、前記訂正処理を開始することを特徴とするシステム。
【請求項５】
請求項４記載のシステムにおいて、
前記所定の条件とは、前記システムの電源がオンされた時であることを特徴とするシステム。
【請求項６】
請求項２から５の何れか１項に記載のシステムにおいて、
前記ＣＰＵは、前記訂正処理プログラムを記憶するためのＲＯＭを更に有し、
前記ＲＯＭは、電気的に書き換えることができないことを特徴とするシステム。
【請求項７】
請求項２から５の何れか１項に記載のシステムにおいて、
前記第１領域は、前記訂正処理プログラムを記憶した領域を２つ有することを特徴とするシステム。
【請求項８】
請求項１から７の何れか１項に記載のシステムにおいて、
前記第１領域は、複数のブロックに分割され、
前記書き戻す処理は、前記複数のブロックごとに行われることを特徴とするシステム。
【請求項９】
請求項１から７の何れか１項に記載のシステムにおいて、
前記システムは、一時的に前記第１領域に書き込むことを可能とするための制御回路を更に具備し、
前記第１領域は、偶数のサブブロックに分割され、
前記制御回路は、前記第１領域への一回目の書き込み命令は全て拒絶し、前記サブブロック２つを一つの組として、その一方のサブブロックの任意のメモリセルへの書き込み命令が与えられた場合、その後の一定期間に限り、前記組の他方のサブブロックの任意のメモリセルへの書き込みを許可することを特徴とするシステム。
【請求項１０】
請求項１から９の何れか１項に記載のシステムにおいて、
前記第２モードにおいて、訂正データが書き込まれるメモリセルは、誤りデータが読み出されたメモリセルと同じであることを特徴とするシステム。
【請求項１１】
請求項１から１０の何れか１項に記載のシステムにおいて、
前記システムは、携帯機器であることを特徴とするシステム。
【請求項１２】
強誘電体キャパシタとスイッチングトランジスタとを夫々が有し、マトリクス状に配置された複数のメモリセルを含む強誘電体メモリを管理するためのシステムであって、
前記強誘電体メモリは、第１モードにおいて書き込み動作が禁止される第１領域と、前記第１モードにおいて書き込み動作が許可される第２領域とを有し、
前記システムは、前記第１モードにおいて前記第２領域にパリティ情報を有しないデータを記憶し、第２モードにおいて前記第１領域のために訂正処理が実行されるように管理し、
前記訂正処理は、前記第１領域の通常データとエラー訂正情報に対してデータの誤りをチェックし、前記チェックにより誤りデータが検出された場合に、前記第１領域に前記誤りデータを訂正して書き戻す処理を含むことを特徴とするシステム。
【請求項１３】
請求項１２記載のシステムにおいて、
前記システムは、前記第１領域を前記システムのアプリケーションプログラムを記憶するために使用し、前記第２領域を前記アプリケーションプログラムに基づく動作に一時的に必要であるデータを記憶するために使用するよう管理することを特徴とするシステム。
【請求項１４】
請求項１２または１３記載のシステムにおいて、
前記訂正処理は、ユーザの要求により開始されることを特徴とするシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、強誘電体を用いた不揮発性半導体メモリを含むシステムに係り、特に、メモリの誤動作に起因してシステム機能に重大な障害が生じる確率を大幅に低減した高信頼性を有する強誘電体メモリを含むシステムに関する。
【０００２】
【従来の技術】
強誘電体を用いたメモリ、例えば、フェロ・エレクトリック・ランダム・アクセス・メモリ（ＦＥＲＡＭ）は、強誘電体の分極方向で記憶を行う不揮発性のメモリである。強誘電体メモリは、例えば、１つの強誘電体キャパシタと１つのスイッチングトランジスタとで１メモリセルが構成されていて、記憶情報の読み出しは、強誘電体キャパシタの分極を一方向に揃えるような電圧をキャパシタに印加し、この際分極が反転したか否かを判定することにより行われる。このような強誘電体メモリの例は、例えば、１９９４年アイ・イー・イー国際固体素子回路会議ダイジェスト第２６８頁から第２６９頁（1994 IEEE International Solid-State Circuits Conference, DIGEST OF TECHNICAL PAPERS, pp.268-269）に記載されている。
【０００３】
一方、通常動作では強誘電体キャパシタのプレート電位を、例えば、電源電圧に固定し、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）として使用する方式もある。ただし、電源オフ時には蓄積電位の情報を強誘電体の分極方向の情報に変換する。これにより、電源オフ後も情報を保持できる。このような強誘電体メモリの例は、例えば、１９９０年ブイ・エル・エス・アイ技術シンポジウムダイジェスト第１５頁から第１６頁（1990 Symposium on VLSI Technology,DIGEST OF TECHNICAL PAPERS, pp.15-16）に記載されている。
【０００４】
【発明が解決しようとする課題】
通常のＤＲＡＭにおいては、放射線により発生した偽の信号電荷によって記憶情報が反転し誤動作する場合があることが一般に知られている。このような記憶情報反転現象は、強誘電体メモリにおいても通常のＤＲＡＭとして動作させる方式では同様に発生すると考えられる。また、上述した分極方向を検知する強誘電体メモリ方式においても、情報読み出し時には分極が一方向に揃って一旦分極情報が消失する。そのため、情報読み出し動作終了までに読み出した情報に基づいて分極の再書き込みを行う必要がある。もし、雑音などにより情報が誤って読み出された場合、分極の再書き込みも誤って行なわれることになる。以下では、このようなエラー、すなわちメモリセルの機能自身は損なわれていないが、記憶情報が放射線や雑音などにより誤って反転して生じるエラーをソフトエラーと呼ぶことにする。
【０００５】
強誘電体メモリにおけるソフトエラーは、ＤＲＡＭの場合に比較して重大な問題を引き起こす場合がある。それは次のような理由による。
ＤＲＡＭのような記憶装置に格納される情報に誤動作が生じてシステムが停止した場合には再起動することによって少なくともシステムを復帰させることはできる。しかしながら、強誘電体メモリのような不揮発メモリに格納される情報は、例えば、システムのＯＳ（オペレーティングシステム）などのような繰り返し使用される情報であることが多い。特に、携帯機器において、システムのＯＳや繰り返して使用されるアプリケーションプログラムを強誘電体メモリに格納するようにすれば、ハードディスクなどの大型の不揮発性記憶媒体が不要となり、コンパクトなシステムを構築することができる。また、ＣＰＵは、強誘電体メモリに対してはハードディスクに対するよりも高速にアクセスできるので、携帯機器の起動時間も大幅に短縮できる。
【０００６】
このような強誘電体メモリを含むシステムにおいて、強誘電体メモリに一旦ソフトエラーが発生すると、誤った情報が再書込みされ、システムの機能に重大な障害が発生し、例えば、システムダウンを引き起こす場合がある。そのような場合、システムを復帰させるには、ハードディスクなどの外部の不揮発記憶媒体に接続して、ＯＳなどのデータを強誘電体メモリに再書込みする必要があり、様々な場所で使用される携帯機器にとっては、ハードディスクなどの不揮発記憶媒体を入手して接続するまでシステムの機能が停止するのは、全く不都合である。
【０００７】
ＤＲＡＭにおいては、上述したようなソフトエラーを回避する方法として、誤り訂正回路（ＥＣＣ回路）を設けてソフトエラーを自動的に検出訂正する方法がある。大型計算機などの大規模なシステムにおいてはＥＣＣ回路を本体とは別チップに設けることもできるが、携帯機器やパーソナルコンピュータなどの小規模なシステムではコンパクト性を保つためにＤＲＡＭチップ自身に誤り訂正機能を持たせることが望まれる。１９８７年アイ・イー・イー国際固体素子回路会議ダイジェスト第２２頁から２３頁（1987 IEEE International Solid-State Circuits Conference, DIGEST OF TECHNICAL PAPERS, pp.22-23）には誤り訂正機能を持たせたＤＲＡＭチップの例が示されている。
【０００８】
図８は従来例を示す図である。同図（ａ）にＥＣＣ回路を搭載したＤＲＡＭの基本構成を、また同図（ｂ）に書込み／読み出し動作フローチャートを示す。
同図（ａ）に示すように、ＤＲＡＭ８０はメモリセルアレー８１と周辺回路部８４からなっている。メモリセルアレー８１に記憶されるデータには、情報を記憶する情報記憶ビット８２とパリティビット８３の２種類があり、周辺回路部８４にはＥＣＣ回路８５が含まれている。
【０００９】
また、同図（ｂ）のフローチャートに示すように、情報書込み時には（ステップ９１）、まずパリティビットデータを生成した後（ステップ９２）、ＤＲＡＭ８０に情報記憶ビットとパリティビットとを書き込む（ステップ９３）。情報読み出し時には（ステップ９５）、まず複数の情報記憶ビットとそれに対応するパリティビットとが読み出される（ステップ９６）。ＥＣＣ回路８５はこれらのデータを基にした演算から、いずれかのビットに誤りが発生していないか否か、もし誤りを発生しているとするとどのビットに誤りを発生しているのかを判定し誤りを訂正した後（ステップ９７）、データをＤＲＡＭからＣＰＵへ送る（ステップ９８）。これにより、ＣＰＵにとって誤動作のないＤＲＡＭを実現することができる。
【００１０】
しかしながら、ＥＣＣ回路を搭載した従来のＤＲＡＭ構成では、（１）書込みの都度パリティビットを生成しなくてはならないため書込み速度が低下する、（２）読み出しの都度記憶情報とともにパリティビットを読み出してＥＣＣチェック演算を行って誤り訂正を行わなくてはならないため読み出し速度が低下する、（３）ＥＣＣ回路の面積分だけチップサイズが増大するためチップ価格の増大を招く、などの弊害が存在する。
ＤＲＡＭがソフトエラーを起こした際のシステムへのダメージおよびソフトエラーの発生頻度と、ＥＣＣ回路搭載時の上述した弊害の程度との兼ね合いから、現在市販されているＤＲＡＭにはほとんどＥＣＣ回路は搭載されていなかった。
【００１１】
これに対して、強誘電体メモリにおいては、上述した理由により、ソフトエラーを起こした場合のシステムへのダメージは大きいことが予想され、また、それを防止するためにＥＣＣ回路を搭載した場合には動作速度の低下およびチップ価格の増大を招くという問題がある。
本発明の目的は、上記問題を解決し、強誘電体メモリのソフトエラーによりシステムへの大きなダメージが引き起こされる確率を大幅に低減するとともに、動作速度の低下やチップ価格の増大を招くことがない強誘電体メモリを含むシステムを提供することにある。
【００１２】
【課題を解決するための手段】
本発明のシステムは、上記目的を達成するために、
（ａ）マトリクス状に配置され、強誘電体キャパシタとスイッチングトランジスタとを夫々が有する複数のメモリセルを含む強誘電体メモリとＣＰＵとを有するシステムであって、システムは、第１モードおよび第２モードを有し、強誘電体メモリは、第１モードにおいて書換えが禁止され第２モードにおいて書換えが許可される第１領域と、第１モードにおいて書換えが許可される第２領域を含み、第１領域は、通常データを記憶する領域と、通常データに誤りが生じた場合に誤りを訂正するためのエラー訂正情報を記憶する領域を含み、第２モードにおいて、システムは、第１領域の通常データとエラー訂正情報を使用してデータの誤りをチェックし、チェックにより誤りデータが検出された場合に、第１領域に誤りデータを訂正して書き戻す訂正処理を行うことを特徴としている。
【００１３】
（ｂ）また、第１モードと第２モードを有するシステムであって、強誘電体キャパシタとスイッチングトランジスタとを夫々が有する複数のメモリセルを含む第１メモリブロックと、第１メモリブロックに接続されるＣＰＵとを具備し、第１メモリブロックは、通常データを記憶するための第１領域と、通常データのエラー訂正のためのエラー訂正情報を記憶するための第２領域とを有し、第１モードにおいて、ＣＰＵは、エラー訂正情報を使用するエラーチェックを含む訂正処理をしないで前記通常データにアクセスするとともに、第１メモリブロックへの書き込み動作は禁止され、第２モードにおいて、第１メモリブロックへの書き込み動作が許可され、システムは、通常データとエラー訂正情報を使用してデータのエラーチェックをし、エラーチェックにより誤りデータが検出された場合に、誤りデータを訂正して書き戻す訂正処理を行うことを特徴としている。
【００１４】
（ｃ）さらに、第１モードと第２モードを有するシステムであって、強誘電体キャパシタとスイッチングトランジスタとを夫々が有する複数のメモリセルを含む第１メモリブロックと、第１メモリブロックを書込み禁止状態とするための第１制御回路と、第２モードにおいて、第１メモリブロックが書き込み許可状態であることを示す信号を発生し、書き込み許可状態から書込み禁止状態へ自動的に戻すための第２制御回路とを具備し、データは、第２モードにおいて書込み許可状態である第１メモリブロックへ書き込み可能とされることを特徴としている。
【００１５】
【発明の実施の形態】
本発明の実施の形態の概要は次のようなものである。
まず、本発明のシステムは、少なくともＣＰＵと強誘電体メモリとを有する。ＣＰＵはデータの誤り訂正処理を行うプログラムの格納領域にアクセスできる。強誘電体メモリの記憶領域（メモリセルアレー）は、書換え禁止領域と書換え許可領域とに分かれている。書換え禁止領域にはＯＳやアプリケーションプログラムが格納され、書換え許可領域はワークエリアとして用いられる。書換え禁止領域は情報記憶ビット領域とパリティビット領域とを持つ。情報記憶ビット領域は通常の情報記憶に用いられ、パリティビット領域は情報記憶ビットの情報にソフトエラーが生じた場合にそれを認識し訂正するための情報（パリティビット）を記憶するために用いられる。書換え許可領域は情報記憶ビットのみで構成される。書換え禁止領域への書込みを通常は禁止し、一時的に許可するための手段、例えば、制御回路が周辺回路部に設けられる（図１参照）。
【００１６】
本発明のシステムにおいては、誤り訂正処理開始コマンドにより、上記書換え禁止領域のデータの誤り訂正処理がＣＰＵにより行なわれる（図２参照）。
誤り訂正処理開始コマンドは、例えば、本発明のシステムの電源をオンした際にシステムの内部回路により自動的に生成される。あるいは、本発明のシステムに設けられたスイッチをユーザが入れることにより、誤り訂正処理開始コマンドを発生させることができる（図３参照）。
上記誤り訂正処理プログラムの格納領域は、ＣＰＵ内のＲＯＭ部に設けられる。あるいは、強誘電体メモリ内の書換え禁止領域内に二重に設けられる（図４参照）。
上記書換え禁止領域の範囲を定義するためのアドレス記憶部が、周辺回路部またはメモリセルアレー内の書換え禁止領域に設けられる（図５参照）。
上記書換え禁止領域は、例えば、センスアンプ列を挟んで対向する２つのメモリマットを単位として構成される（図６参照）。
【００１７】
上記制御回路は、例えば、書換え禁止領域のメモリマットのうち、センスアンプ列を挟んで対向する２つのメモリマットの一方の任意アドレスに対して書込み命令を与えた後（この書込み命令は受け付けられない）、一定期間だけ他方のメモリマットへの書込み動作が許可されるように構成される（図７参照）。
【００１８】
以下、本発明の実施例を図面を用いて詳細に説明する。
図１は、本発明のシステムの基本構成を示す一実施例である。
本実施例のシステム（１００）はＣＰＵ（１１０）と強誘電体メモリ（１２０）とを少なくとも有する。強誘電体メモリ（１２０）の記憶領域（メモリセルアレー１２１）は、書換え禁止領域（１２２）と書換え許可領域（１２３）とに分けられている。書換え禁止領域（１２２）はシステムのＯＳやアプリケーションプログラムなど、システムで繰り返し使用され、書換える機会がほとんどないデータの格納に用いられ、書換え許可領域（１２３）は書換える機会が多い一時的な記憶領域、すなわちワークエリアとして用いる。書換え禁止領域（１２２）には、通常の情報記憶ビット領域とともにパリティビット領域が設けられる。パリティビット領域は情報記憶ビット領域の情報がソフトエラーにより反転してしまった場合に、その情報を修復するための情報を持っている。例えば、１２０個のメモリセルからなる情報記憶ビットに対し、８個のメモリセルからなるパリティビットが設けられる。このとき、パリティビットの８個のメモリセルのうちひとつは、このメモリセルを除く１２７個のメモリセルの情報のうち、’１’情報の数が偶数の場合’０’を、奇数の場合’１’を記憶する。このメモリセルは、１２８個のメモリセルのいずれか１個にエラーが発生したことを示す情報を持つ。
【００１９】
すなわち、１２７個のメモリセルの’１’情報の数と該メモリセルの情報とが対応しない場合は、エラーが発生したことになる。パリティビットの残り７個のメモリセルは、２の７乗すなわち１２８通りの状態をとれる。これを１２８個のメモリセルのいずれにエラーが発生したかを示す情報に対応させることにより、エラーの修復が可能となる。以上述べた例では、２個以上のメモリセルにエラーが発生した場合に修復不可能となるが、後に述べるように本発明のシステムによれば、このような場合は非常にまれなので、パリティビットは１エラー修復可能な情報量で十分である。
【００２０】
メモリセルに発生したエラーを修復するためには、例えば、１２０個の情報記憶ビットに対する演算結果とパリティビットの結果とを比較し、それをもとにエラー個所を判定する必要がある。これは、誤り訂正処理プログラム格納領域（１１１）に格納されたプログラムに基づき、ＣＰＵ（１１０）が行う。
メモリセルにエラーが発生したことが明らかになった場合には、訂正データをメモリセルに再書込みする必要がある。書換え禁止領域（１２２）への書込みを一時的に許可するための制御回路（１２７）が、強誘電体メモリの周辺回路部（１２６）に設けられる。
【００２１】
図２は、図１のシステム（１００）における誤り訂正処理のフローチャートである。
まず、ＣＰＵ（１１０）に対して誤り訂正処理開始コマンドが与えられる（ステップ２０１）。これを受けてＣＰＵ（１１０）は誤り訂正処理プログラムに従って動作を開始する（ステップ２０２）。まず、ＣＰＵ（１１０）は、強誘電体メモリ内の書換え禁止領域（１２２）の複数の情報記憶ビットのデータ（上述の例では１２０個のメモリセルのデータ）およびそれらに対するパリティビットのデータ（上述の例では８個のメモリセルのデータ）をロードする（ステップ２０３）。次に、ＣＰＵ（１１０）は上記プログラムに指示された手順により、上記ロードしたデータの誤りの有無をチェックする（ステップ２０４）。
【００２２】
データに誤りがあった場合（ステップ２０５：Ｙ）、ＣＰＵ（１００）は、強誘電体メモリ内の制御回路（１２７）に対して、データ修正のために書込みを一時的に許可するように指示する（ステップ２０６）。そして、上記プログラムに指示された手順に従い、誤りデータを訂正して、強誘電体メモリへ書き戻す（ステップ２０７）。制御回路（１２７）は、メモリセルへの訂正データ書き戻しの後、再びこのメモリセルを書換え禁止状態とする（ステップ２０８）。
ステップ２０８の後、および、データに誤りがない場合（ステップ２０５：Ｎ）、書換え禁止領域の全てのデータに対して訂正処理を行ったか否かを判定し、まだ訂正処理が行われていないデータが存在したときは（ステップ２０９：Ｎ）、再びステップ２０３に戻る。訂正処理が行われていないデータが存在しないときには（ステップ２０９：Ｙ）、ＣＰＵ（１１０）は誤り訂正処理を終了する（ステップ２１０）。
以上のような手順によって書換え禁止領域の全てのデータに対して誤り訂正処理を行う。
【００２３】
ここで、パリティビットの具体的な定め方、および１ビット誤り訂正の方法の一実施例を説明する。例として、１２０個の情報記憶ビットに対して８個のパリティビットを付加する場合を示す。まず、１２０個の情報記憶ビットと８個のパリティビットに１から１２８までの識別番号を割り振る。ただし、パリティビットには、”２のｎ乗”（すなわち１，２，４，８，１６，３２，６４，１２８）の識別番号を割り振る。なお、この識別番号は単に各ビットを識別するための仮想的なものであって、強誘電体メモリ内の格納アドレスを示すものではない。例えば、８個のパリティビットが連続アドレスに格納されていてもよい。
【００２４】
次に、以下の手順により、識別番号”２のｎ乗”（ｎは０から６）の７個のパリティビットのデータが決められる。すなわち、識別番号を２進法で表したときのｎ＋１番目の桁が０でなく１である６３個の情報記憶ビットのうち、データが’１’であるビットの数が偶数の場合、識別番号”２のｎ乗”のパリティビットのデータを’０’とし、奇数の場合’１’とする。
残る１つのパリティビット（識別番号１２８，すなわち２の７乗）のデータは以下のように決められる。すなわち、１２０個の情報記憶ビットと上記に定めた７個のパリティビットのうち、データが’１’であるビットの数が偶数の場合、識別番号１２８のパリティビットのデータを’０’、奇数の場合’１’とする。
【００２５】
以上のように定められたパリティビットを用いて、次の方法で１ビットエラーを検出して訂正することができる。すなわち、１２０個の情報記憶ビットと８個のパリティビットのデータを強誘電体メモリから読み出して、まず、識別番号”２のｎ乗”（ｎは０から６）の７個のパリティビットが、上述の所定の値（情報記憶ビットから決められる値）となっているかを調べる。所定の値であればｎ＋１桁目を０、そうでなければ１として７桁の２進数を形成する。このようにして形成された７桁の２進数がエラー判定番号となり、１ビットエラーの発生しているビットの識別番号（ただし１から１２７。１２８は除く）を示すことになる。なお、エラー判定番号が０の場合、識別番号１から１２７までエラーはない。
【００２６】
次に、残る１個の識別番号１２８のパリティビットに対して、上述の所定の値となっているかを調べる。これが所定の値であるのに、上記エラー判定番号が０以外であった場合、２ビットエラーが生じていることになる。ただし、このときのエラー箇所は不明である。逆に、上記エラー判定番号が０であるのに、識別番号１２８のパリティビットが所定の値でない場合、該識別番号１２８のパリティビット自身にエラーが生じている。以上のようにして、１ビットエラーに対しては、その発生とエラー箇所を知ることができるので、そのエラー箇所のビットのデータを反転することにより、情報を訂正することが可能である。
【００２７】
図１に示した本発明の構成の一実施例および図２に示した誤り訂正処理のフローチャートによると、次のような高信頼かつ高性能のシステムが得られる効果がある。すなわち、
（ａ）まず第一に、ＯＳやアプリケーションプログラムの記憶領域にソフトエラーが発生した場合、システムの機能に重大な障害が発生するのを回避することができる。なぜなら、誤り訂正処理開始コマンドを与えることにより、エラー個所を修復し、システムの機能を回復できるからである。その上、ワークエリアには一時記憶情報が不揮発として残っているので、システムの電源を再投入しなければならない状況になったとしても、ユーザにとって大きな支障を生じることはない。
【００２８】
（ｂ）第二に、ＯＳやアプリケーションプログラムをＲＯＭに格納し、ワークエリアをＤＲＡＭとする場合に比べて、システムに使用するチップ数を削減でき、低コストのシステムが得られる。また、システムをコンパクトに構成できるため、携帯機器に好適なシステムが得られるという利点がある。ＯＳやアプリケーションプログラムをシステム不使用時にハードディスクに格納し、システム使用時にハードディスクからＤＲＡＭなどに読み込むシステムと比較しても、同様な利点がある。さらには、システム起動時には、ＯＳプログラムがＣＰＵから高速にアクセスすることが可能な強誘電体メモリに既に存在しているので、ＣＰＵからのアクセスが遅いハードディスクからＤＲＡＭへＯＳプログラムを一旦読み込む場合に比べて、起動時間を短縮できるという利点がある。
【００２９】
（ｃ）第三に、図８に示した従来例のようにシステムの動作速度が低下することはない。なぜなら、通常の読み出し動作中にはデータチェックを行わず、また、通常の書込み動作中にもパリティビットの新たな生成を行わないからである。これは、パリティビットが書換え禁止領域のデータに対してのみ設けられていることによる。
（ｄ）第四に、誤り訂正処理はＣＰＵを用いて行うので、ＥＣＣ回路の搭載によるチップ面積の増大およびそれによるチップ価格の上昇を回避できる。
【００３０】
図３は、２種類の誤り訂正処理開始コマンドの発生方法によって誤り訂正処理を行う手順を示すフローである。
第一の実施例は、同図（ａ）のフローに示すように、本発明のシステムの電源をオンした時に（ステップ３０１）、システム内部回路により自動的に誤り訂正処理開始コマンドを生成し（ステップ３０２）、それによりＣＰＵが誤り訂正処理プログラムを実行（ステップ３０３）することにより誤り訂正処理を行う方法である。
第二の実施例は、同図（ｂ）に示すように、本発明のシステムに設けられたスイッチをユーザがオンした時に（ステップ３５１）、誤り訂正処理開始コマンドを生成し（ステップ３５２）、それによりＣＰＵが誤り訂正処理プログラムを実行（ステップ３５３）することにより誤り訂正処理を行う方法である。
【００３１】
いずれの実施例にしても、誤り訂正処理開始コマンドは頻繁に発生する必要はなく、例えば、一日一回程度与えればよい。この程度の頻度で十分高い信頼性が得られることは次の計算から明らかである。
半導体メモリは、通常、ソフトエラーの発生頻度が1000FIT以下となるように設計される。これは、一チップ当り10の6乗時間に平均してたかだか1回のソフトエラーが発生する割合である。今、仮に世界中で1000万個のシステムの強誘電体メモリチップにＯＳプログラムが格納されているとする。このとき、従来のシステムによれば１時間に平均して10個のシステムが機能障害に陥る可能性がある。ただし、１つのエラーでＯＳプログラムが動かなくなるとする。
【００３２】
これに対して、本発明のシステムで一日10時間動作させ、一日一回誤り訂正処理開始コマンドを与えた場合は次のようになる。
強誘電体メモリチップ全体にＯＳプログラムが格納されている最悪ケースを計算する。記憶領域が情報記憶ビットとパリティビットの1000の組で構成されているとする。パリティッビットが１ビットエラーのみ修復できるとした場合、本発明のシステムで機能障害が発生するのは、誤り訂正処理開始コマンドを与えた時点において上記1000の組のいずれかに２つ以上のソフトエラーが発生してしまっている場合である。
【００３３】
ソフトエラーの発生頻度が1000FITとした場合、10時間の間には1000万個のメモリチップに総計100個のエラーが発生する。このうち、２つ以上のエラーが1000万個×1000組のブロックのいずれかに集中する確率は、10のマイナス6乗より小さい。これは、10の6乗日、すなわち2740年に一回発生する頻度よりさらに小さい。このように、本発明のシステムによれば、２つ以上のエラーによる修復不可能なシステムの機能障害の発生率を極めて小さくできる。図３（ａ）に示す第一の例（電源オンで誤り訂正処理開始コマンド発生の例）では、一日一回程度の頻度で誤り訂正処理開始コマンドが自動的に生成されるので、高信頼性で使い勝手のよいシステムが得られる効果がある。図３（ａ）および（ｂ）に示す第一の例および第二の例によれば、ＯＳプログラムの記憶領域にソフトエラーが発生してシステムの機能が停止した場合でも、電源を再投入するか（第一の例）、所定のスイッチをユーザがオンする（第二の例）ことによりほとんど100％の確率で機能を回復でき、高信頼性のシステムが得られる効果がある。
【００３４】
また、本発明のシステムによると、システム不使用時にＯＳプログラムなどを格納しておくハードディスクなどの不揮発媒体を常時システムに装備しておく必要がなくなり、コンパクトなシステムが実現される。さらには、システムの起動時間を短縮できる。なお、図３の第一および第二いずれの方法においても、書換え禁止領域に誤りが発見されたとしても、ＣＰＵによる誤り訂正が行われるので、強誘電体メモリ以外の不揮発媒体（例えば、ハードディスク）から強誘電体メモリへ正しいＯＳプログラムを読み込む動作を行う必要はない。
【００３５】
図４は、図１の誤り訂正処理プログラムの格納領域（１１１）のより具体的な実施例である。図４（ａ）は、ＣＰＵ（１１０）内のオンチップＲＯＭ領域の一部に誤り訂正処理プログラムの格納領域が設けられる実施例である。本実施例によれば、ＲＯＭを用いているので誤り訂正処理プログラムの格納領域自体にソフトエラーが発生することはなく、誤り訂正処理が必ず実行できるので、高信頼性のシステムが得られる効果がある。図４（ｂ）では、強誘電体メモリ（１２０）の書換え禁止領域（１２２）内に上記誤り訂正処理プログラムの格納領域が設けられる。ただし、この場合には、上記格納領域自体にソフトエラーが発生する可能性があるので、もうひとつ同じプログラムをバックアップ用として重複して持たせている。本実施例によれば、汎用のＣＰＵを用いてシステムを構築できるので、安価でかつ高信頼性のシステムが得られる効果がある。
【００３６】
上述した実施例は書換え禁止領域の範囲は固定されているものとして説明しているが、この領域の範囲は指定により変更可能にしてもよい。
図５は、書換え禁止領域の範囲を指定するためのアドレスの記憶部の構成法を示す本発明の一実施例である。
図５（ａ）においては、周辺回路部に書換え禁止領域の範囲を指定するためのアドレスの記憶部が設けられる。ワイヤド論理、ヒューズ、ＲＯＭなどにより構成し、書換え禁止領域の範囲を固定としてもよいし、あるいは強誘電体キャパシタ付きスタティックＲＡＭ（ＳＲＡＭ）などで構成して、書換え禁止領域の範囲が変えられるようにしてもよい。
図５（ｂ）は書換え禁止領域（１２２）の範囲を指定するためのアドレスの記憶部（１２９）を書換え禁止領域（１２２）自身の中に設けた例である。図５（ｂ）の実施例によれば、書換え禁止領域を可変とする構成が容易に実現できる効果がある。
【００３７】
図６は、本発明のシステムにおけるメモリアレー構成のより具体的な例を示す本発明の一実施例であり、構成要素の一部のみを模式的に示している。各メモリセルは１つの強誘電体キャパシタと１つのトランジスタとで構成される（図６では１メモリセルMCだけを代表セルとして示している）。各メモリセルはワード線WLとビット線BTとの交点に配置され、例えば、一本のワード線WLには512個のメモリセルが、一つのビット線対には256個のメモリセルが接続され、512×256個のメモリセルで一つのマットを構成している。
【００３８】
ビット線対に接続されるセンスアンプ列は二つのマット、例えば、センスアンプ列(1)sはマット(1)uとマット(1)dとで共有するように配置される。書換え禁止領域および書換え許可領域は、上記２つのマット単位で定義されている。マット単位で定義することにより、図１の制御回路（１２７）の構成が簡単になる効果がある。書換え禁止領域の単位、すなわち情報記憶ビットとパリティビットとの組は、一本のワード線を等分割する大きさで定義される。例えば、図６では120セルの情報記憶ビットと8セルのパリティビットとを１つの組としており、各ワード線WL(i)には４つの組がある。このような構成により、誤り訂正処理時のＣＰＵへのデータの読み出しが効率的に行える効果がある。
【００３９】
図７は、図１における書換え禁止領域への書き込み許可を与える制御回路（１２７）の一実施例を説明するための図であり、（ａ）は制御回路（１２７）の具体的回路例、（ｂ）はその動作フローを示す図である。
メモリマットpu内への書込みを行うに際して、センスアンプ列SAを挟んで対向するメモリマットpdの任意アドレスに対して書込み命令を与えた場合に、遅延回路D1およびD2で規定される一定期間だけ他方のメモリマットpuへの書込みが許可される構成となっている。なお、最初のメモリマットpdに対する書込み命令は受け付けられない。
【００４０】
図７（ａ）において、制御回路（１２７）は、フリップフロップ回路FF、２つのトランジスタTR1およびTR2、２つの遅延回路D1およびD2、２つのアンド回路G1およびG2、ノット回路NOT、マルチプレクサMPLXなどから構成されている。通常、フリップフロップ回路FFの一方のノードST1はハイレベルであり、該ハイレベル信号がノット回路NOTで反転されアンド回路G2を閉じている。そのためアンド回路G2からのWA、マルチプレクサMPLXからのMpuはともにロウレベルであり、メモリマットpuを書換え禁止状態としている。
【００４１】
メモリマットpdに対して書込み命令（ライトイネーブル信号WEがハイレベル）を与えた場合、入力されアドレスバッファに保持されたアドレスA0〜ANはアドレスプリデコーダでデコードし、マットpd選択信号線，マットpu選択信号線，マット内選択信号線にされる。出力されたマットpd選択信号線の信号がアンド回路G1に送られ、ライトイネーブル信号WEがハイレベルのとき遅延回路D1に入力される。遅延回路D1からの遅延された出力によってトランジスタTR1がオンになり、フリップフロップ回路FFの一方のノードST1をロウレベルにする。該ロウレベル信号はノット回路NOTで反転され、アンド回路G2を開き、アドレスプリデコーダからのマットpu選択信号をWAとして出力し、マットpuを書換え許可状態とする。
【００４２】
マルチプレクサMPLXは、マットpu選択信号およびWAの二つの入力のうち一方を選択してMpuとして出力する。
ライトイネーブル信号WEがロウレベル、すなわち読み出し動作の場合には、マットpu選択信号がMpuとして出力され、XデコーダX-DECおよびXドライバX-DRVを経て、マットpu内のいづれかのワード線を活性化する信号となる。
ライトイネーブル信号WEがハイレベル、すなわち書込み動作の場合には、マットが書換え許可領域である場合に限りマットpu選択信号がMpuとして出力される。マットが書換え禁止領域である場合には、WAがMpuとして出力される。書換え許可領域か書換え禁止領域かは書換え禁止マットの記憶部に記憶されている情報によって決められる。
【００４３】
フリップフロップ回路FFの一方のノードST1がロウレベルになったとき、フリップフロップFFの他方のノードST2はハイレベルになり、その後、遅延回路D2で規定される所定の遅延時間経過後、トランジスタTR2をオンにしてST2をロウレベルにする。それによってST1は再びハイレベルに復帰する。
【００４４】
図７（ｂ）は、マットpuが書換え禁止領域である場合の書込み動作時の各信号のタイムチャートである。
図７（ａ）において、トランジスタTr1は通常オフであるためフリップフロップFFの一方のノードST1はハイレベルであり、ノット回路NOTを経由するため、アンド回路G2の出力WAは常にロウレベルである。書換え禁止領域では、ライトイネーブル信号WEがハイレベルの時、マルチプレクサMPLXの出力MpuはWAに一致するので（今の場合にはWAはロウレベル）、書込み命令時にマットpuが選択されることはない。
【００４５】
チップ選択信号CSにより、マットpd内のアドレスに対する書込み命令が発生した場合（ライトイネーブル信号WEがハイレベル）、マットpd選択信号がハイレベルとなる。この結果、遅延回路D1による遅延時間の後、トランジスタTr1がオンしてフリップフロップFFの一方のノードST1がロウレベルに変化する。この状態では、アンド回路G2がオンするため出力WAはマットpu選択信号に一致する。このとき、マットpuへの書込み命令（ライトイネーブル信号WEがハイレベル）を与えると、マルチプレクサMPLXの出力Mpuはマットpu選択信号に一致してハイレベルとなる。この結果、アドレスプリデコーダからのマット内選択信号に対応したワード線が活性化され、書込み動作が行なわれる。
なお、マットpdに対する書換え許可は、対照的にマットpuに対して書込み命令を与えることにより行なわれるようにすればよい。
【００４６】
図７に示した実施例によれば、高信頼性のシステムが得られる効果がある。すなわち、プログラムによってソフト側から書換え禁止領域を規定することも可能であるが、回路によって書換え禁止領域を規定する本実施例によれば、通常動作時に書換え禁止領域に誤って書込みをする可能性が大きく低減される。また、近接する２つのマットの組に対する信号を利用しているので、制御回路（１２７）をマットの組ごとに近接して配置することが容易になる利点もある。
【００４７】
【発明の効果】
本発明の強誘電体メモリを含むシステムによれば、強誘電体メモリの誤動作に起因してシステムの機能に重大な障害が発生する確率を大きく低減でき、高信頼性のシステムが得られるという効果がある。また、システムのメモリチップ数を削減でき、低コストかつコンパクトな携帯機器に好適なシステムが得られるという効果がある。さらに、ＥＣＣ回路を用いる場合に比べ、動作速度の低下やチップ面積増大によるコスト増加の問題を回避できるという効果がある。
また、本発明のような誤り訂正処理開始コマンドの発生の仕方を採用すると、ユーザにとって使い勝手がよくかつ高信頼性のシステムが得られる。
【００４８】
また、本発明のような誤り訂正処理プログラムの格納の仕方を採用すると、誤り訂正処理プログラム自身が壊れる危険性を回避でき、高信頼性のシステムが得られる。
さらに、本発明の書換え禁止領域の設定の仕方を採用すると、書換え禁止領域を可変とする構成が容易に実現でき、ユーザにとって使い勝手のよいシステムが得られる。
また、本発明の書換え禁止領域の構成を採用すると、書換え禁止および許可の制御が容易になる。
また、本発明の書換え禁止領域への書込み許可を与える制御回路を採用すると、禁止領域に誤って書込みが行なわれる誤動作を大きく低減でき、高信頼性のシステムが得られる。また、該制御回路をメモリマットごとに容易に配置できる。
【図面の簡単な説明】
【図１】本発明のシステムの基本構成図である。
【図２】図１のシステムにおける誤り訂正処理のフローチャートである。
【図３】本発明の誤り訂正処理開始コマンドの発生の仕方を説明する図である。
【図４】本発明の誤り訂正処理プログラムの格納領域例を示す図である。
【図５】本発明の書換え禁止領域のアドレス記憶部の構成例を示す図である。
【図６】本発明の強誘電体メモリのマット構成例である。
【図７】書換え禁止領域への書込み許可を与える制御回路および動作波形図である。
【図８】従来のＥＣＣ回路を含むシステム構成例である。
【符号の説明】
８０：ＤＲＡＭ（ダイナミック・ランダム・アクセス・メモリ）
８１：メモリセルアレー
８２：情報記憶ビット領域
８３：パリティビット領域
８４：周辺回路部
８５：ＥＣＣ回路
１００：本発明のシステム
１１０：ＣＰＵ（中央処理装置）
１１１：誤り訂正処理プログラムの格納領域
１２０：強誘電体メモリ
１２１：メモリセルアレー
１２２：書換え禁止領域
１２３：書換え許可領域
１２４：情報記憶ビット領域
１２５：パリティビット領域
１２６：周辺回路部
１２７：書換え禁止領域への書込み許可を与える制御回路
マット(i)u：上部マット
マット(i)d：下部マット
WL(i)：ワード線
X-DRV：Xドライバ
X-DEC：Xデコーダ
FF:フリップフロップ回路
MPLX：マルチプレクサ
D1，D2：遅延回路
NOT：ノット回路
Tr1，Tr2：トランジスタ
G1,G2：アンド回路
WE：ライトイネーブル信号
A0〜AN：アドレス信号
WA、Mpu：信号線
CS：チップ選択信号
【図１】
0003542002.tif 000002
【図２】
0003542002.tif 000003
【図３】
0003542002.tif 000004
【図４】
0003542002.tif 000005
【図５】
0003542002.tif 000006
【図６】
0003542002.tif 000007
【図７】
0003542002.tif 000008
【図８】
0003542002.tif 000009