以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
1.不揮発性記憶装置
図1に本実施形態の不揮発性記憶装置10の構成例を示す。回路装置である不揮発性記憶装置10は、メモリーセルアレイMAと、ドライバー回路DRCと、リードライト回路RWCを含む。メモリーセルアレイMAには、電気的にデータの書き込み及び消去が可能な不揮発性の複数のメモリーセルが配置される。またメモリーセルアレイMAには、メモリーセルに接続されるワード線、ビット線及びソース線が設けられる。不揮発性のメモリーセルは、記憶したデータの保持に電源の供給を必要としないメモリーセルである。
ドライバー回路DRCは、メモリーセルアレイMAのワード線及びソース線を駆動する。例えばドライバー回路DRCは、ワード線にワード線電圧を出力する駆動を行って、ワード線選択を行い、ソース線に高電圧のソース線電圧を出力する駆動を行って、消去動作を行う。
リードライト回路RWCは、メモリーセルアレイMAのビット線に接続され、メモリーセルアレイMAに対してデータの書き込み及び読み出しを行う。例えばリードライト回路RWCは、メモリーセルアレイMAのメモリーセルに対してビット線を介してデータを書き込む動作を行う。またリードライト回路RWCは、メモリーセルアレイMAのメモリーセルからビット線を介してデータを読み出す動作を行う。なお本実施形態における回路間や回路素子間の接続や、信号線と回路の間や信号線と回路素子の間の接続は、電気的な接続である。電気的な接続は、電気信号が伝達可能に接続されていることであり、電気信号による情報の伝達が可能となる接続であり、信号線や能動素子等を介した接続であってもよい。
そして本実施形態では、リードライト回路RWCは、メモリーセルアレイMAへの書き込み動作において、第iのビット線から第jのビット線へ向かう第1の方向でビット線選択を行う。ここで、i、jは1以上で互いに異なる整数である。特に限定されないが例えばj>iである。一方、リードライト回路RWCは、メモリーセルアレイMAへの消去動作前に行う消去前書き込み動作においては、第jのビット線から第iのビット線へ向かう第2の方向でビット線選択を行う。即ち書き込み動作と消去前書き込み動作とでは、ビット線の選択方向が逆方向になる。具体的にはリードライト回路RWCは、第jのビット線から第iのビット線へ向かう第2の方向でのビット線選択を行いながら、消去前書き込み動作を行う。この消去前書き込み動作の後に、ドライバー回路DRCがメモリーセルアレイMAに対する消去動作を行う。そして消去動作後に、リードライト回路RWCが、第iのビット線から第jのビット線へ向かう第1の方向でのビット線選択を行いながら、データの書き込み動作を行う。本実施形態では、消去状態のメモリーセルは例えば「1」を記憶しており、消去前書き込み動作では、メモリーセルアレイMAのメモリーセルに「0」を書き込む。具体的には消去前書き込み動作では、消去状態となって「1」を記憶しているメモリーセルに対して、「0」を書き込む。このような消去前書き込み動作を行うことで、消去動作前にメモリーセルアレイMAのメモリーセルのしきい値を揃えることが可能になり、その後の消去動作によってメモリーセルが過消去されてしまう事態を防止できるようになる。
図2は、不揮発性記憶装置10の各動作の説明図である。図2に示すように、消去動作時には、ワード線WLはVSS、ソース線SLはVPP、ビット線BLはフローティング状態に設定される。VSSは例えば0Vである。但しVSSは負電圧であってもよい。VPPは、例えば7.5Vなどの高電圧であり、消去及び書き換え用の電圧である。書き込み動作時には、ワード線WLはVPP、ソース線SLはVPP、ビット線BLはVSSに設定される。読み出し動作時には、ワード線WLはVDD、ソース線SLはVSSに設定され、ビット線BLの電位が、リードライト回路RWCのセンスアンプによりセンシングされてデータが読み出される。VDDはVPPよりも低い電圧であり、例えば1.8Vである。消去動作では、メモリーセルの電荷蓄積層に正電荷が注入されることで、メモリーセルに「1」が記憶される。そして書き込み動作において、メモリーセルの電荷蓄積層に負電荷が注入されることで、メモリーセルの記憶データが「1」から「0」に書き換わる。
また本実施形態では、メモリーセルアレイMAの複数のメモリーセルは、例えばMONOS(Metal Oxide Nitride Oxide Silicon)構造のメモリーセルである。図3にMONOS構造のメモリーセル500の一例を示す。MONOS構造は、SONOS(Silicon Oxide Nitride Oxide Silicon)構造とも呼ばれるものである。図3のメモリーセル500は、半導体層である半導体基板510と、ソースドレイン領域520と、第1のゲート絶縁層530と、ゲート電荷蓄積層540と、第2のゲート絶縁層550と、ゲート導電層560と、絶縁層570を有する。ソースドレイン領域520の一方はソース線SLに接続され、他方はビット線BLに接続される。ゲート導電層560はワード線WLに接続される。ゲート電荷蓄積層540は、例えばSi3N4層などの窒化シリコン層により形成され、ゲート導電層560は、例えばポリシリコン層で形成される。また第1のゲート絶縁層530、第2のゲート絶縁層550及び絶縁層570は、例えばSiO2層である酸化シリコン層により形成される。これによりMONOS構造が実現される。MONOS構造のメモリーセル500では、チャネルを走行する電子の一部がホットエレクトロンとなり、第1のゲート絶縁層530の障壁を越えて、ゲート電荷蓄積層540に捕獲されることで、データの書き込みが行われる。即ち、ゲート電荷蓄積層540にトラップされた電荷の有無によって、メモリーセル500のしきい値が変化することで、記憶されたデータの0、1を判定する。
なおメモリーセルアレイMAのメモリーセルはフローティングゲート構造のメモリーセルであってもよい。フローティングゲート構造のメモリーセルでは、半導体基板の表面にソース領域及びドレイン領域が形成されると共に、半導体基板上にトンネル酸化膜を介してフローティングゲートが形成される。
図4は本実施形態のビット線選択手法の説明図である。メモリーセルアレイMAにはビット線BLi~BLjが設けられている。メモリーセルアレイMAの複数のメモリーセルの各メモリーセルは、ビット線BLi~BLjとワード線との交差位置に配置される。選択ワード線と選択ソース線には、高電圧のVPPが供給される。非選択ワード線にはVSSが供給され、非選択ソース線はオープン状態であるフローティング状態になっている。
そして図4に示すように本実施形態では、書き込み動作時においては、第iのビット線であるビット線BLiから第jのビット線であるビット線BLjへと向かう第1の方向DR1でビット線選択が行われる。例えば昇順でビット線選択が行われる。一方、消去前書き込み動作時においては、ビット線BLjからビット線BLiへと向かう第2の方向DR2でビット線選択が行われる。例えば降順でビット線選択が行われる。このようなビット線選択手法により消去前書き込み動作及び書き込み動作を行うことで、書き込み時に選択ワード線上の非選択メモリーセルを介してメモリーセルアレイMAに影響を及ぼすライトディスターブのストレスを平準化できる。これにより、特定エリアにストレスが集中しないようになり、特性バラツキとリーク電流の増加を防止できるようになる。即ち、消去前書き込み動作と書き込み動作とで、ビット線の選択順序を逆方向にすることで、ライトディスターブのストレスが平準化され、繰り返し書き換えに伴うリーク電流の増加が抑制される。
なお消去前書き込み動作は、プリプログラムとも呼ばれ、消去動作前に書き込みを行うことでメモリーセルのしきい値を揃える動作であり、消去動作での過消去を抑制するための書き込み動作である。例えば消去前書き込み動作は、消去動作前にメモリーセルアレイMAのメモリーセルの記憶データをオールゼロに揃える書き込み動作である。ライトディスターブは、データの書き込み時に印加される高電圧が非選択メモリーセルに影響を及ぼし、非選択メモリーセルのデータが書き換わってしまうなどの現象である。
図5は、本実施形態のビット線選択手法でのメモリーセルのリーク電流を示す図である。図5に示すように、本実施形態のビット線選択手法によれば、リーク電流を小さくすることができる。そしてビット線BLi~BLjに接続されるメモリーセル間のリーク電流のばらつきを小さくできる。
図6は比較例のビット線選択手法の説明図である。比較例では、書き込み動作時には、ビット線BLiからビット線BLjに向かう方向DRでビット線選択が行われると共に、消去前書き込み動作時においても、ビット線BLiからビット線BLjに向かう方向DRでビット線選択が行われる。即ち書き込み動作時と消去前書き込み動作時とでビット線選択の方向が同じになる。図7は、図6の比較例のビット線選択手法でのメモリーセルのリーク電流を示す図である。図7に示すように、比較例のビット線選択手法では、リーク電流が大きくなってしまい、ビット線BLi~BLjに接続されるメモリーセル間のリーク電流のばらつきも大きくなってしまう。
例えばライトディスターブのストレスは、選択ワード線上の非選択メモリーセルを介してメモリーセルアレイに対して影響を及ぼす。この時、非選択メモリーセルの状態に応じて、ライトディスターブのストレスの影響度が異なるようになる。消去状態のメモリーセルと、プログラム状態である書き込み状態のメモリーセルとでは、そのしきい値が異なるからである。従って、書き込み動作や消去前書き込み動作でのビット線選択の後半において選択されるメモリーセルに繋がるビット線上のメモリーセルが、ライトディスターブのストレスの影響を、より多く受けるようになる。ライトディスターブのストレスは、メモリーセルに対して、徐々に過消去とリーク電流の増加をもたらすが、上述のようにライトディスターブのストレスの影響度が、非選択メモリーセルの状態に応じて異なる。このため、繰り返し書き換えにより、メモリーセルのリーク電流やしきい値のばらつきが増加してしまう。そして、このようなリーク電流やしきい値のばらつきの増加が、書き込み回数の向上を妨げる原因になっていた。
この点、本実施形態のビット線選択手法によれば、図5に示すようにメモリーセルのリーク電流の増加を防止でき、メモリーセルのリーク電流やしきい値のばらつきの増加を抑制できる。このように、リーク電流やしきい値のばらつきの増加が抑制されることで、書き込み回数の保証回数を増加させることが可能になる。
図8は、ライトディスターブについての説明図である。図8では、ワード線WL0及びソース線SL0に高電圧のVPPが印加されて選択状態になっていると共に、ビット線BL0がVSSに設定されて選択状態になっている。従って、この場合にはメモリーセルMC0が書き込み対象のメモリーセルになる。一方、ワード線WL0に接続されるメモリーセルMC1、MC2は、ビット線BL1、BL2がフローティング状態になっており、選択状態になっていないため、非選択メモリーセルになる。そしてメモリーセルMC1は、消去状態になっており、そのしきい値VTHが低くなっている。一方、メモリーセルMC2は書き込み状態になっており、そのしきい値VTHが高くなっている。この場合には、図8のE1に示すように、しきい値VTHが低い消去状態のメモリーセルMC1を介して、ソース線SL0の高電圧がビット線BL1に伝わり、非選択のビット線BL1が高い電圧にバイアスされた状態になってしまう。なお書き込み状態のメモリーセルMC2については、しきい値VTHが高くなっているため、E2に示すような高い電圧の印加は殆ど無い。そして、E1に示すようにビット線BL1に高い電圧が印加されると、非選択のワード線WL1~WLn及び非選択のビット線BL1に接続されるメモリーセルMC4~MCn+1に対して高い電圧が印加されてしまい、ライトディスターブのストレスの影響を受けてしまう。このライトディスターブの状態は、メモリーセルに対して消去動作を行う際のバイアス印加状態に近い状態である。このため、繰り返し書き換えに伴い、ビット線BL1に接続されるメモリーセルが徐々に消去動作されたかのようになり、これらのメモリーセルのリーク電流が増加する。このようにリーク電流が増加すると、図9のG1に示すように、書き換え回数の保証回数が少なくなってしまう。例えば図9のRDLVはデータの読み分け可能レベルを表すものであり、リーク電流がRDLVのレベルを越えてしまうと、データの読み分けができなくなる。従って、図9のG1の場合には、書き込み回数として10000回程度しか保証できないようになる。
例えば図6において方向DRのビット線選択順序でビット線選択を行った場合に、ビット線BLjに接続されるメモリーセルに対しては、最後に書き込み動作が行われる。従って、ビット線BLj側のメモリーセルに対しては、ビット線BLi側のメモリーセルに比べて、より多くの回数だけ、ライトディスターブのストレスがかかることになる。例えば図6において、BLi、BLi+1、BLi+2というようにビット線が選択されて、書き込み動作が行われたとする。この場合には、例えばビット線BLi+3~BLjに接続されるメモリーセルに対しては、3回の書き込み動作によるライトディスターブのストレスがかかることになる。そして、その後にBLi+3、BLi+4・・・というようにビット線の選択が行われて書き込み動作が行われた場合にも、ビット線BLi、BLi+1、BLi+2に接続されて書き込みが行われたメモリーセルについては、既に書き込み状態になっているため、図8のE2で説明したようにライトディスターブのストレスはかからないようになる。従って、図6の方向DRのビット線選択順序でビット線選択を行うと、ビット線BLjに近いメモリーセルほど、より多くの回数のライトディスターブのストレスがかかるようになり、リーク電流が大きく増加してしまう。例えば一番最後に選択されるビット線BLjに接続されるメモリーセルのリーク電流が、図9のG1に示すように大幅に増加し、読み出し判定の際に読み分けができなくなる。例えばメモリーセルのリーク電流が増えると、本当は「0」を記憶しているはずのメモリーセルを、リーク電流が原因で、読み出し判定の際に「1」を記憶しているメモリーセルであると誤判定してしまう。特にビット線に接続される多数のメモリーセルにおいてリーク電流が発生すると、当該ビット線を選択してデータの読み出し判定を行う際に、リーク電流がメモリーセルの検出電流であるかのように誤判定されてしまう。この結果、図9のG1に示すように、書き込み回数の保証回数の減少の問題を招く。
これに対して本実施形態では図4に示すように、書き込み動作においてはビット線BLiからビット線BLjに向かう第1の方向DR1でビット線選択が行われるが、消去前書き込み動作においては、ビット線BLjからビット線BLiに向かう第2の方向DR2でビット線選択が行われる。従って、書き込み動作においては、ビット線BLj側のメモリーセルに対してライトディスターブのストレスがかかる一方で、消去前書き込み動作においては、ビット線BLi側のメモリーセルに対してライトディスターブのストレスがかかるようになる。従って、ライトディスターブのストレスのかかり方が平準化されるようになり、メモリーセルのビット線選択順序を原因としたリーク電流やしきい値のばらつきの増加を抑制できるようになる。これによりリーク電流などの特性を、図9のG1からG2に示すように改善できるようになり、書き込み回数の保証回数を増加させることが可能になる。
また本実施形態では、リードライト回路RWCは、消去前書き込み動作において、消去状態となっているメモリーセルに対して書き込み動作を行う。例えばリードライト回路RWCは、消去状態となっており、「1」を記憶しているメモリーセルに対して、消去前書き込み動作において「0」を書き込む。一方、リードライト回路RWCは、消去状態になっておらず、「0」を記憶しているメモリーセルに対しては、消去前書き込み動作において「0」の書き込みを行わない。このようにすれば、「0」を記憶しているメモリーセルに対して、更に「0」が書き込まれてしまうような事態の発生を防止できる。
また本実施形態では、メモリーセルアレイMAの第1のメモリーセルは、第1のビットデータを記憶し、第2のメモリーセルは、第1のビットデータの相補データとなる第2のビットデータを記憶する。即ち、各ビットに対応して設けられた2つのメモリーセルが、各ビットのデータとして、互いに相補的な関係にある相補データを記憶する。例えば第1、第2のメモリーセルにより、第1の論理レベルである「0」を記憶する場合には、第1のメモリーセルは、第1のビットデータとして「0」を記憶し、第2のメモリーセルは、第2のビットデータとして「1」を記憶する。第1、第2のメモリーセルにより、第2の論理レベルである「1」を記憶する場合には、第1のメモリーセルは、第1のビットデータとして「1」を記憶し、第2のメモリーセルは、第2のビットデータとして「0」を記憶する。第1のメモリーセルと第2のメモリーセルは、メモリーセルアレイMAにおいて例えば隣合って配置されるメモリーセルである。
そしてリードライト回路RWCは、消去前書き込み動作において、第1のメモリーセル及び第2のメモリーセルのうち、消去状態となっているメモリーセルに対して書き込み動作を行う。例えば第1のメモリーセルが「0」を記憶し、第2のメモリーセルが「1」を記憶している場合には、消去状態となっている第2のメモリーセルに対して「0」を書き込む。また第1のメモリーセルが「1」を記憶し、第2のメモリーセルが「0」を記憶している場合には、消去状態となっている第1のメモリーセルに対して「0」を書き込む。このようにすることで、第1、第2のメモリーセルが共に「0」を記憶するようになり、消去動作前に記憶データをオールゼロにしてしきい値を揃える消去前書き込み動作を実現できるようになる。
図10は、相補セル構成の場合の本実施形態のビット線選択手法を説明する図である。最初の状態では、相補セルを構成する第1のメモリーセルであるメモリーセルMCiが「0」を記憶し、相補セルを構成する第2のメモリーセルであるメモリーセルMCi+1が「1」を記憶している。これにより、メモリーセルMCi、MCi+1により「0」のビットデータが記憶された状態になる。また相補セルを構成する第1のメモリーセルであるメモリーセルMCj-1が「0」を記憶し、相補セルを構成する第2のメモリーセルであるメモリーセルMCjが「1」を記憶している。これにより、メモリーセルMCj-1、MCjにより「0」のビットデータが記憶された状態になる。
次に消去前書き込み動作においては、相補セル構成のメモリーセルMCi、MCi+1のうち、消去状態となっているメモリーセルMCi+1に対して「0」を書き込む。また相補セル構成のメモリーセルMCj-1、MCjのうち、消去状態となっているメモリーセルMCjに対して「0」を書き込む。このようにすることで、消去動作前にメモリーセルMCi、MCi+1・・・MCj-1、MCjの記憶データをオールゼロにしてしきい値を揃える消去前書き込み動作が実現される。
次に、消去動作を行うことで、メモリーセルMCi、MCi+1・・・MCj-1、MCjの記憶データが「1」になる。そして書き込み動作により、例えばメモリーセルMCi+1に対して「0」が書き込まれている。これにより相補セル構成のメモリーセルMCi、MCi+1により、「1」のビットデータが記憶された状態になる。また書き込み動作により、メモリーセルMCjに対して「0」が書き込まれている。これにより相補セル構成のメモリーセルMCj-1、MCjにより、「1」のビットデータが記憶された状態になる。
以上のように本実施形態では、リードライト回路RWCは、消去前書き込み動作において、相補セル構成の第1、第2のメモリーセルのうち、消去状態となっているメモリーセルに対して書き込み動作を行っている。例えば図10の消去前書き込み動作では、消去状態となっているメモリーセルMCi+1、MCjに対して「0」が着込まれている。このようにメモリーセルアレイMAのメモリーセルを相補セル構成とすることで、消去前書き込み動作において「0」が書き込まれるメモリーセルの個数と、書き込み動作において「0」が書き込まれるメモリーセルの個数を、同等にすることが可能になる。即ち、相補セル構成の場合には、消去前書き込み動作及び書き込み動作において、相補セル構成の2つのメモリーセルのいずれか一方に「0」を書き込むことになる。従って、消去前書き込み動作においては、全体の個数の半数のメモリーセルに対して「0」の書き込みが行われ、データの書き込み動作においても、全体の個数の半数のメモリーセルに対して「0」の書き込みが行われる。従って、消去前書き込み動作時のライトディスターブのストレスの回数と、書き込み動作時のライトディスターブのストレスの回数を、同等にすることが可能になり、ライトディスターブのストレスを更に平準化できるようになる。
図11は、不揮発性記憶装置10が有する制御回路50やアドレス制御回路80の構成例である。図11に示すように、不揮発性記憶装置10は、ドライバー回路DRC及びリードライト回路RWCに接続され、アドレス制御を行うアドレス制御回路80と、アドレス制御回路80を制御する制御回路50を含む。制御回路50及びアドレス制御回路80は例えばロジック回路により実現される。そして制御回路50は、メモリーセルアレイMAの書き込み動作において、図4に示すように第1の方向DR1でビット線選択するアドレス制御を、アドレス制御回路80に行わせる。また制御回路50は、消去前書き込み動作において、第2の方向DR2でビット線選択するアドレス制御を、アドレス制御回路80に行わせる。
制御回路50は、ステートマシーン72とデータ制御回路74を含む。ステートマシーン72は、制御回路50における各種のシーケンス処理を行う回路である。データ制御回路74は、メモリーセルアレイMAに書き込むデータやメモリーセルアレイMAから読み出したデータに対して、各種の処理を行う回路である。例えばデータ制御回路74は、誤り訂正を行う誤り訂正回路や、誤り訂正符号であるECCのデータを生成するECCデータ生成回路を含むことができる。そしてステートマシーン72は、動作ステートが書き込み動作のステートである場合には、例えば昇順でアドレス生成を行うようにアドレス制御回路80に指示する。そしてアドレス制御回路80が昇順でアドレスを生成することで、リードライト回路RWCは、ビット線BLiからビット線BLjというように第1の方向DR1でビット線選択を行うようになる。一方、ステートマシーン72は、動作ステートが消去前書き込み動作のステートである場合には、例えば降順でアドレス生成を行うようにアドレス制御回路80に指示する。そしてアドレス制御回路80が降順でアドレスを生成することで、リードライト回路RWCは、ビット線BLjからビット線BLiというように第2の方向DR2でビット線選択を行うようになる。
具体的にはアドレス制御回路80は、アドレス生成のためのカウンターを有している。そしてステートマシーン72は、動作ステートが書き込み動作のステートである場合には、カウンターの初期値を最小値に設定し、カウントアップ処理を行うようにアドレス制御回路80に指示する。これにより昇順でアドレスが生成されるようになる。一方、ステートマシーン72は、動作ステートが消去前書き込み動作のステートである場合には、カウンターの初期値を最大値に設定し、カウントダウン処理を行うようにアドレス制御回路80に指示する。これにより降順でアドレスが生成されるようになる。なお、ここでは、書き込み動作の際のアドレス生成を昇順とし、消去前書き込み動作の際のアドレス生成を降順としたが、本実施形態はこれには限定されない。例えば書き込み動作の際のアドレス生成を降順とし、消去前書き込み動作の際のアドレス生成を昇順にしてもよい。
例えば前述の特許文献1の従来技術では、書き込み動作を行った回数に関する情報である回数情報を、アドレス制御用のメモリーセルに記憶しておく必要があった。そして不揮発性記憶装置が搭載される電子機器の電源がオフになっても、当該回数情報が消失しないように、アドレス制御用のメモリーセルとして不揮発性のメモリーセルを使用する必要があった。
この点、本実施形態では、消去前書き込み動作と書き込み動作とでビット線選択の方向を切り替えれば済むため、このようなアドレス制御用のメモリーセルが不要になるという利点がある。即ち本実施形態では、図11で説明したように、動作ステートが消去前書き込み動作のステートなのか書き込み動作のステートなのかを判断して、ビット線選択の方向を切り替えればよい。従ってアドレス制御用の不揮発性のメモリーセルが不要になり、簡素な処理でビット線選択の方向を切り替えて、書き込み回数の保証回数を向上できる。
2.第2の構成例
図12に本実施形態の不揮発性記憶装置10の第2の構成例を示す。図12の不揮発性記憶装置10は、メモリーセルアレイMA1、ドライバー回路DRC1及びリードライト回路RWC1と、メモリーセルアレイMA2、ドライバー回路DRC2及びリードライト回路RWC2を含む。例えば、メモリーセルアレイMA1、ドライバー回路DRC1及びリードライト回路RWC1により、EEPROMマクロが構成され、メモリーセルアレイMA2、ドライバー回路DRC2及びリードライト回路RWC2により、フラッシュメモリーマクロが構成される。EEPROMマクロ及びフラッシュメモリーマクロは、不揮発性記憶装置10である集積回路装置のマクロブロックである。マクロブロックは、ハードウェアーマクロとも呼ばれ、マクロブロックを構成する回路ブロックが集積回路装置であるIC上において集積してレイアウト配置されるブロックである。
メモリーセルアレイMA1には、電気的にデータの書き込み及び消去が可能な不揮発性の複数のメモリーセルが配置される。またメモリーセルアレイMA1には、メモリーセルに接続されるワード線、ビット線及びソース線が設けられる。ドライバー回路DRC1は、メモリーセルアレイMA1のワード線及びソース線を駆動する。リードライト回路RWC1は、メモリーセルアレイMA1のビット線に接続され、メモリーセルアレイMA1に対してデータの書き込み及び読み出しを行う。例えば図12のメモリーセルアレイMA1、ドライバー回路DRC1、リードライト回路RWC1は、各々、図1のメモリーセルアレイMA、ドライバー回路DRC、リードライト回路RWCに対応する。
第2のメモリーセルアレイであるメモリーセルアレイMA2には、電気的にデータの書き込み及び消去が可能な不揮発性の複数のメモリーセルが配置される。具体的にはメモリーセルアレイMA2には、メモリーセルアレイMA1の複数のメモリーセルと同一構造の不揮発性の複数のメモリーセルが配置される。またメモリーセルアレイMA2には、メモリーセルに接続されるワード線、ビット線及びソース線が設けられる。同一構造のメモリーセルは、例えば層構造が同じメモリーセルであり、読み出し、書き込み、消去の動作が同じ動作となるメモリーセルである。同一構造のメモリーセルは、一例としては、同じ半導体製造プロセスで形成されるメモリーセルである。第2のドライバー回路であるドライバー回路DRC2は、メモリーセルアレイMA2のワード線及びソース線を駆動する。第2のリードライト回路であるリードライト回路RWC2は、メモリーセルアレイMA2のビット線に接続され、メモリーセルアレイMA2に対してデータの書き込み及び読み出しを行う。
そして本実施形態では、ドライバー回路DRC1は、メモリーセルアレイMA1に対してバイト単位の消去動作を行う。例えば8ビットの単位での消去動作を行う。一方、ドライバー回路DRC2は、メモリーセルアレイMA2に対してブロック単位の消去動作を行う。例えばバイト単位よりも大きなブロック単位の消去動作を行う。ブロック単位は例えば複数バイトの単位である。
このように図12の第2の構成例では、メモリーセルアレイMA1については、EEPROMのようにバイト単位での消去動作が行われ、メモリーセルアレイMA2については、フラッシュメモリーのようにブロック単位での消去動作が行われる。従って、メモリーセルアレイMA1についてはEEPROMのように扱うことができ、メモリーセルアレイMA2についてはフラッシュメモリーのように扱うことができる。この結果、同一構造のメモリーセルを用いながらも、EEPROMとフラッシュメモリーを混載した不揮発性記憶装置10を実現できるようになり、EEPROMの用途とフラッシュメモリーの用途の両方に対して対応できるようになる。例えば後述の図17のマイクロコンピューター100では、ユーザデータについてはEEPROMに記憶し、ファームウェアのプログラムについてはフラッシュメモリーに記憶するという使い方の用途がある。この場合に図12の第2の構成例によれば、1つの不揮発性記憶装置10をマイクロコンピューター100に搭載するだけで、ユーザデータについてはメモリーセルアレイMA1に記憶し、ファームウェアのプログラムについてはメモリーセルアレイMA2に記憶することで、このような用途に応えることが可能になる。そしてメモリーセルアレイMA1、MA2には同一構造のメモリーセルが用いられるため、同じ半導体の製造プロセスを用いて、メモリーセルアレイMA1、MA2のメモリーセルを形成できる。従って、新たな製造プロセス工程の追加が不要となり、低コスト化を図れる。またメモリーセルアレイMA1、MA2を、MONOS構造などのメモリーセルにより実現することで、回路面積を小さくでき、更なる低コスト化を図れるようになる。
図13、図14は本実施形態の不揮発性記憶装置10の詳細な構成例である。図13は、メモリーセルアレイMA1、ドライバー回路DRC1、リードライト回路RWC1の詳細な構成例を示す図である。
メモリーセルアレイMA1は、A1~A9に示すように複数のメモリーセルを含む。A1~A9は、アドレスADR0~ADR8によりアドレス指定されるメモリーセル群である。なお、A1~A9の各メモリーセル群には、実際には1バイトに対応する個数のメモリーセルが設けられるが、説明の簡素化のために図示を省略している。本実施形態では後述するように、各ビットのデータを、互いに相補的な関係にある相補データとして記憶するため、A1~A9の各メモリーセル群には、1バイトに対応する例えば16個のメモリーセルが設けられる。なお誤り訂正符号を記憶する場合には、誤り訂正符号を記憶するメモリーセルが更に追加されることになる。例えば誤り訂正符号のビット数が4ビットであり、誤り訂正符号についても相補データとして記憶する場合には、各メモリーセル群に設けられるメモリーセルの個数は24個になる。
ドライバー回路DRC1は、ワード線駆動用のワード線ドライバーWLDR0~WLDR2と、プルダウン用のスイッチ素子NM0~NM2と、ソース線電圧選択用のスイッチ素子SLSW0~SLSW2と、ソース線駆動用のスイッチ素子SLDR00~SLDR22を含む。スイッチ素子NM0~NM2はN型のトランジスターにより実現される。スイッチ素子SLSW0~SLSW2はP型のトランジスターにより実現される。スイッチ素子SLDR00~SLDR22はトランスファーゲートにより実現される。N型、P型のトランジスターはMOS(Metal Oxide Semiconductor)のトランジスターである。トランスファーゲートはN型のトランジスターとP型のトランジスターにより構成されるスイッチ素子である。
リードライト回路RWC1は、センスアンプSA0、SA1と、バイト選択用のスイッチ素子と、データ入力用のスイッチ素子を含む。これらのスイッチ素子はN型のトランジスターにより実現される。
次に図13での消去動作、書き込み動作、読み出し動作の各動作の詳細について説明する。図13においてVWLはワード線電圧であり、書込み時においては高電圧であるVPPになり、読み出し時はロジック電圧であるVDDになる。VSLはソース線電圧であり、消去時においては高電圧であるVPPになり、読み出し時にはグランド電位であるVSSになる。VSSは論理「0」のレベルであるLレベルに対応する。XERは、消去信号であり、消去時にLレベルとなり、それ以外においては、論理「1」のレベルであるHレベルになる負論理の信号である。
WT0、WT1は書込み信号であり、書き込み時には、WT0、WT1のいずれかがHレベルになる。読み出し時には、WT0、WT1が共にHレベルになり、消去時には、WT0、WT1が共にLレベルになる。WLSEL0~WLSEL2はワード線選択信号であり、選択ワード線ではHレベルになり、非選択ワード線ではLレベルになる。
XSEL0~XSEL2は、ソース線選択信号であり、選択ソース線ではLレベルになり、非選択ソース線ではHレベルになる負論理の信号である。BYTESEL0~BYTESEL3はバイト選択信号であり、選択バイトではHレベルになり、非選択バイトではLレベルになる。DI00、DI01、DI10、DI11は入力データ信号であり、DO0、DO1は出力データ信号である。WL0~WL2はワード線であり、SL00~SL22はソース線であり、BL00~BL23はビット線である。
消去動作時には、消去信号XERがLレベルになり、ワード線ドライバーWLDR0~WLDR2に対して電源電圧であるワード線電圧VWLが非供給になると共に、スイッチ素子NM0~NM2がオンになり、ワード線WL0~WL2にVSSが印加される。そしてバイト選択信号BYTESEL0~BYTESEL3がLレベルになることで、全てのビット線BL00~BL23がハイインピーダンス状態になる。またソース線選択信号XSEL0~XSEL2のいずれかがLレベルになり、スイッチ素子SLSW0~SLSW2のうちの対応するスイッチ素子がオンになり、当該スイッチ素子の他端側にソース線電圧VSL=VPPが供給される。またワード線選択信号WLSEL0~WLSEL2のいずれかがHレベルになることで、スイッチ素子SLDR00~SLDR22のうちの対応するスイッチ素子がオンになる。これにより、ソース線SL00~SL22のうちの対応するソース線に対して、ソース線電圧VSL=VPPが印加される。
例えばワード線選択信号WLSEL0がHレベルになってスイッチ素子SLDR00がオンになると共に、ソース線選択信号XSEL0がLレベルになってスイッチ素子SLSW0がオンになった場合には、図13のA1に示すメモリーセル群に接続されるソース線SL00に対してソース線電圧VSL=VPPが印加される。これによりA1に示すメモリーセル群が消去対象になり、バイト単位での消去動作が行われる。またワード線選択信号WLSEL0がHレベルになってスイッチ素子SLDR10がオンになると共に、ソース線選択信号XSEL1がLレベルになってスイッチ素子SLSW1がオンになった場合には、A2に示すメモリーセル群に接続されるソース線SL10に対してソース線電圧VSL=VPPが印加される。これによりA2に示すメモリーセル群が消去対象となり、バイト単位での消去動作が行われる。またワード線選択信号WLSEL1がHレベルになってスイッチ素子SLDR01がオンになると共に、ソース線選択信号XSEL0がLレベルになってスイッチ素子SLSW0がオンになった場合には、A4に示すメモリーセル群に接続されるソース線SL01に対してソース線電圧VSL=VPPが印加される。これによりA4に示すメモリーセル群が消去対象となり、バイト単位での消去動作が行われる。
このように本実施形態では、A1~A9に示すバイト単位のメモリーセル群に対する消去動作が可能になっており、バイト単位での消去動作を実行できる。即ちアドレスADR0~ADR8で指定されるA1~A9の各メモリーセル群に対する消去動作が可能になる。そして本実施形態では、データを書き換える際には、データの書き換え対象となるメモリーセル群に対してのみ消去動作が行われる。例えばアドレスADR0で指定されるA1に示すメモリーセル群に対して、1バイトのデータを書き込む場合には、A1に示すメモリーセル群に対してのみ消去動作が行われる。またアドレスADR1で指定されるA2に示すメモリーセル群に対して、1バイトのデータを書き込む場合には、A2に示すメモリーセル群に対してのみ消去動作が行われる。
書き込み動作時には、バイト選択信号BYTESEL0~BYTESEL3のいずれかがHレベルになり、書き込み信号WT1、WT0のいずれかがHレベルになり、入力データ信号DI00~DI11が入力データに対応する任意の電圧レベルになる。これにより選択ビット線に対して電圧が印加される。また書き込み動作時には消去信号XERがHレベルになることで、ワード線ドライバーWLDR0~WLDR2に対して、電源電圧となるワード線電圧VWL=VPPが供給される。そしてワード線選択信号WLSEL0~WLSEL2のいずれかがHレベルになり、ワード線ドライバーWLDR0~WLDR2のうちの対応するワード線ドライバーがVWL=VPPを出力すると共に、スイッチ素子SLDR00~SLDR22のうちの対応するスイッチ素子がオンになる。これにより、対応するワード線及びソース線に対して、ワード線電圧VWL=VPP及びソース線電圧VSL=VPPが印加されて、選択されたメモリーセル群に対してデータが書き込まれる。
例えばA1に示すメモリーセル群にデータを書き込む場合には、バイト選択信号BYTESEL0がHレベルになると共に、ワード線WL0及びソース線SL00に対してワード線電圧VWL=VPP及びソース線電圧VSL=VPPが印加される。これによりA1に示すメモリーセル群に対して1バイトのデータを書き込むことができる。またA2に示すメモリーセル群にデータを書き込む場合には、バイト選択信号BYTESEL1がHレベルになると共に、ワード線WL0及びソース線SL10に対してワード線電圧VWL=VPP及びソース線電圧VSL=VPPが印加される。これによりA2に示すメモリーセル群に対して1バイトのデータを書き込むことができる。またA4に示すメモリーセル群にデータを書き込む場合には、バイト選択信号BYTESEL0がHレベルになると共に、ワード線WL1及びソース線SL01に対してワード線電圧VWL=VPP及びソース線電圧VSL=VPPが印加される。これによりA4に示すメモリーセル群に対して1バイトのデータを書き込むことができる。
そして本実施形態では、データを書き換える場合には、対象バイトのみを書き換える。例えばA1のメモリーセル群が記憶するデータが、データ書き換えの対象バイトである場合には、A1のメモリーセル群に対する消去動作が行われて、A1のメモリーセル群に対してデータが書き込まれる。A2のメモリーセル群が記憶するデータが、データ書き換えの対象バイトである場合には、A2のメモリーセル群に対する消去動作が行われて、A2のメモリーセル群に対してデータが書き込まれる。
なお本実施形態では、各ビットに対応して設けられた2つのメモリーセルが、各ビットのデータとして、互いに相補的な関係にある相補データを記憶する。例えば入力データ信号DI00に対応する第1のメモリーセルが、第1のビットデータを記憶し、入力データ信号DI01に対応する第2のメモリーセルが、第1のビットデータの相補データとなる第2のビットデータを記憶する。
例えば消去動作により、第1、第2のメモリーセルは共に「1」を記憶した状態になる。そして消去動作後に、ビットデータとして「0」を書き込む場合には、第1のメモリーセルに「0」を書き込むことになる。この場合には書き込み信号WT0がHレベルになり、書き込み信号WT1がLレベルになる。そして入力データ信号DI00がVSSになることで、ビット線BL00がVSSに設定され、第1のメモリーセルにおいて、そのソース線からビット線BL00に電流が流れることで、第1のメモリーセルへの「0」の書き込みが行われる。一方、ビットデータとして「1」を書き込む場合には、第2のメモリーセルに「0」を書き込むことになる。この場合には書き込み信号WT0がLレベルになり、書き込み信号WT1がHレベルになる。そして入力データ信号DI01がVSSになることで、ビット線BL01がVSSに設定され、第2のメモリーセルにおいて、そのソース線からビット線BL01に電流が流れることで、第2のメモリーセルへの「0」の書き込みが行われる。
読み出し動作時には、バイト選択信号BYTESEL0~BYTESEL3のいずれかがHレベルになり、選択ビット線とセンスアンプSA0、SA1とが接続される。また読み出し動作時には消去信号XERがHレベルになることで、ワード線ドライバーWLDR0~WLDR2に対して、電源電圧となるワード線電圧VWL=VDDが供給される。また読み出し動作時には、ソース線電圧はVSL=VSSに設定される。そしてワード線選択信号WLSEL0~WLSEL2のいずれかがHレベルになり、ワード線ドライバーWLDR0~WLDR2のうちの対応するワード線ドライバーがVWL=VDDを出力すると共に、スイッチ素子SLDR00~SLDR22のうちの対応するスイッチ素子がオンになる。これにより、対応するワード線及びソース線に対して、ワード線電圧VWL=VDD及びソース線電圧VSL=VSSが印加されて、選択されたメモリーセル群からデータが読み出される。具体的には、メモリーセル群の隣り合うメモリーセルに流れる検出電流を各センスアンプSA0、SA1により比較することにより、データの読み出しが行われる。
例えばセンスアンプSA0、SA1の各々はカレントミラー回路を有する。そしてセンスアンプSA0は、カレントミラー回路から第1のメモリーセルに流れる第1の検出電流と、カレントミラー回路から第2のメモリーセルに流れる第2の検出電流を比較することで、相補データを記憶する第1、第2のメモリーセルからのデータの読み出しを行う。センスアンプSA1は、カレントミラー回路から第3のメモリーセルに流れる第3の検出電流と、カレントミラー回路から第4のメモリーセルに流れる第4の検出電流を比較することで、相補データを記憶する第3、第4のメモリーセルからのデータの読み出しを行う。
ここで第1、第2のメモリーセルは隣り合うメモリーセルであり、第3、第4のメモリーセルは隣り合うメモリーセルである。そして本実施形態では、メモリーセルに「1」が記憶される場合には、「0」が記憶される場合に比べて、メモリーセルに流れる電流である検出電流が大きくなるようになっている。従って、第1のメモリーセルが「1」を記憶し、第2のメモリーセルが、「1」と相補的な関係にある「0」を記憶する場合には、第1のメモリーセルに流れる第1の検出電流の方が、第2のメモリーセルに流れる第2の検出電流よりも大きくなる。従って、この場合にはセンスアンプSA0は、論理「1」に対応するHレベルの出力データ信号DO0を出力する。また第1のメモリーセルが「0」を記憶し、第2のメモリーセルが、「0」と相補的な関係にある「1」を記憶する場合には、第2の検出電流の方が第1の検出電流よりも大きくなる。従って、この場合にはセンスアンプSA0は、論理「0」に対応するLレベルの出力データ信号DO0を出力する。第3、第4のメモリーセル及びセンスアンプSA1の動作についても同様である。
図14は、メモリーセルアレイMA2、ドライバー回路DRC2、リードライト回路RWC2の詳細な構成例を示す図である。なお図14において図13と同様の部分については詳細な説明を省略する。
図14のドライバー回路DRC2では、図13のドライバー回路DRC1に設けられていたスイッチ素子SLSW0、SLSW1、SLSW2、及び、スイッチ素子SLDR10、SLDR20、SLDR11、SLDR21、SLDR12、SLDR22は設けられていない。そしてソース線電圧VSLは、スイッチ素子SLDR0、SLDR1、SLDR2を介して、各々、ソース線SL0、SL1、SL2に供給される。即ち図13では、スイッチ素子SLSW0~SLSW2及びスイッチ素子SLDR00~SLDR22により、メモリーセルアレイMA1の複数のメモリーセルが、A1~A9に示すバイト単位のメモリーセル群に分割されている。そしてA1~A9に示すバイト単位のメモリーセル群の各々に対して、ソース線SL00~SL22が共通接続されている。これに対して図14では、このようなバイト単位のメモリーセル群の分割は行われていない。そしてB1に示すブロック単位のメモリーセル群に対して、ソース線SL0が共通接続され、B2に示すブロック単位のメモリーセル群に対して、ソース線SL1が共通接続され、B3に示すブロック単位のメモリーセル群に対して、ソース線SL2が共通接続されている。
また図13では、各ビットデータとして相補データを記憶する構成となっているが、図14では、このような相補データを記憶する構成とはなっていない。このため図14のリードライト回路RWC2の構成も、図13のリードライト回路RWC1の構成とは異なっている。例えば図13では2本の書き込み信号WT0、WT1が設けられているが、図14では1本の書き込み信号WTだけが設けられている。そして書き込み信号WTによりオン、オフされるスイッチ素子を介して、入力データ信号DI0~DI3が入力される。また図14のセンスアンプSA0~SA3は、リファレンス電流REFとビット線からの検出電流とを比較して、出力データ信号DO0~DO3を出力する構成になっている。なお図14のメモリーセルアレイMA2においても相補セル構成とする変形実施も可能である。
次に図14での消去動作、書き込み動作、読み出し動作の各動作について簡単に説明する。消去動作時には、消去信号XERがLレベルになり、スイッチ素子NM0~NM2がオンになることで、ワード線WL0~WL2にVSSが印加される。そしてバイト選択信号BYTESEL0~BYTESEL3がLレベルになることで、全てのビット線BL00~BL23がハイインピーダンス状態になる。またワード線選択信号WLSEL0~WLSEL2のいずれかがHレベルになり、スイッチ素子SLDR0~SLDR2のうちの対応するスイッチ素子がオンになる。これにより、ソース線SL0~SL2のうちの対応するソース線に対して、ソース線電圧VSL=VPPが印加される。このようにすることで、B1、B2、B3に示すブロック単位のメモリーセル群での消去動作が可能になる。例えばワード線選択信号WLSEL0がHレベルになってスイッチ素子SLDR0がオンになることで、ソース線SL0に対してVSL=VPPが印加され、B1に示すブロック単位のメモリーセル群の消去動作が行われる。またワード線選択信号WLSEL1がHレベルになってスイッチ素子SLDR1がオンになることで、ソース線SL1に対してVSL=VPPが印加され、B2に示すブロック単位のメモリーセル群の消去動作が行われる。B3のメモリーセル群の消去動作も同様である。
書き込み動作時には、バイト選択信号BYTESEL0~BYTESEL3のいずれかがHレベルになり、書き込み信号WTがHレベルになり、入力データ信号DI0~DI3が入力データに対応する任意の電圧レベルになる。これにより選択ビット線に対して電圧が印加される。またワード線選択信号WLSEL0~WLSEL2のいずれかがHレベルになり、ワード線ドライバーWLDR0~WLDR2のうちの対応するワード線ドライバーがVWL=VPPを出力すると共に、スイッチ素子SLDR0~SLDR2のうちの対応するスイッチ素子がオンになる。これにより、対応するワード線及びソース線に対して、ワード線電圧VWL=VPP及びソース線電圧VSL=VPPが印加されて、選択されたバイト単位のメモリーセル群に対してデータが書き込まれる。
読み出し動作時には、バイト選択信号BYTESEL0~BYTESEL3のいずれかがHレベルになり、選択ビット線とセンスアンプSA0~SA3とが接続される。そしてワード線選択信号WLSEL0~WLSEL2のいずれかがHレベルになり、ワード線ドライバーWLDR0~WLDR2のうちの対応するワード線ドライバーがVWL=VDDを出力すると共に、スイッチ素子SLDR0~SLDR2のうちの対応するスイッチ素子がオンになる。これにより、対応するワード線及びソース線に対して、ワード線電圧VWL=VDD及びソース線電圧VSL=VSSが印加されて、選択されたバイト単位のメモリーセル群からデータが読み出される。具体的には、センスアンプSA0~SA3が、選択されたメモリーセル群のメモリーセルに流れる検出電流と、リファレンス電流REFとを比較して、出力データ信号DO0~DO3を出力する。
以上のように本実施形態では、ドライバー回路DRC1は、メモリーセルアレイMA1に対してバイト単位の消去動作を行う。即ち、図13のA1~A9に示すように、バイト単位のメモリーセル群に対して消去動作が行われる。一方、ドライバー回路DRC2は、メモリーセルアレイMA2に対してブロック単位の消去動作を行う。即ち図14のB1、B2、B3に示すように、図13のA1~A9のバイト単位よりも大きなブロック単位のメモリーセル群に対して、消去動作が行われる。
このように本実施形態では、メモリーセルアレイMA2については、フラッシュメモリーのようにブロック単位での一括の消去動作を行う一方で、メモリーセルアレイMA1については、EEPROMのようにバイト単位での消去動作を行うことができる。例えば、アドレスを指定して、データを書き込む場合に、当該アドレスにより指定されるメモリーセル群に対する消去動作が行われ、消去動作後に当該メモリーセル群に対する1バイトのデータの書き込みが行われる。例えば図13において、アドレスADR0に1バイトのデータを書き込む場合には、ドライバー回路DRC1は、アドレスADR0に対応するA1のメモリーセル群に対する消去動作を行う。そして消去動作後に、リードライト回路RWC1が、A1のメモリーセル群に対して1バイトのデータを書き込む。
またアドレスADR1に1バイトのデータを書き込む場合には、ドライバー回路DRC1は、アドレスADR1に対応するA2のメモリーセル群に対する消去動作を行う。そして消去動作後に、リードライト回路RWC1が、A2のメモリーセル群に対して1バイトのデータを書き込む。アドレスADR2~ADR8に対応するA3~A9のメモリーセル群に対する消去動作及び書き込み動作も同様である。なお消去動作の前に、メモリーセルのしきい値を揃えるためのバイト単位の消去前書き込み動作を行う。そしてデータを読み出す場合には、ADR0~ADR8の各アドレスにより指定されるA1~A9のメモリーセル群から1バイトのデータを読み出す。一方、図14のメモリーセルアレイMA2については、通常のフラッシュメモリーと同様に、一括消去の消去動作が行われて、データの書き込みや読み出しが行われる。このようにすることで、1つの不揮発性記憶装置10を用いて、EEPROMの用途とフラッシュメモリーの用途の両方に対応できるようになる。例えばユーザデータ等についてはメモリーセルアレイMA1に書き込んで記憶し、ファームウェアのプログラム等については、メモリーセルアレイMA2に書き込んで記憶するというような使い方が可能になる。そしてメモリーセルアレイMA1のメモリーセルとメモリーセルアレイMA2のメモリーセルは、同一構造のメモリーセルであり、フラッシュメモリーに通常使用されるMONOS構造などのメモリーセルを用いることができる。従って、ユーザデータの使用記憶容量を増やすためにメモリーセルアレイMA1の記憶容量を増やした場合にも、回路面積の増大を最小限に抑えることが可能になる。
また本実施形態ではドライバー回路DRC1は、バイト単位の消去動作時に、バイト単位に対応するビット線群に接続されるメモリーセル群のソース線に対して消去電圧を供給する。図13のA1のメモリーセル群を例にとれば、ドライバー回路DRC1は、消去動作時に、バイト単位に対応するビット線群であるBL00、BL01、BL02、BL03・・・に接続されるA1のメモリーセル群のソース線SL00に対して、消去電圧となるソース線電圧VSL=VPPを供給する。A2のメモリーセル群を例にとれば、ドライバー回路DRC1は、消去動作時に、バイト単位に対応するビット線群であるBL01、BL11、BL12、BL13・・・に接続されるA2のメモリーセル群のソース線SL10に対して、消去電圧となるソース線電圧VSL=VPPを供給する。このようにすることで、メモリーセルアレイMA1に対するバイト単位での消去動作が可能になる。
一方、ドライバー回路DRC2は、ブロック単位の消去動作時に、ブロック単位に対応するビット線群に接続されるメモリーセル群のソース線に対して消去電圧を供給する。即ちドライバー回路DRC2は、ドライバー回路DRC1が供給する消去電圧と同じ電圧の消去電圧をソース線に供給する。図14のB1のメモリーセル群を例にとれば、ドライバー回路DRC2は、消去動作時に、ブロック単位に対応するビット線群であるBL00~BL23・・・に接続されるB1のメモリーセル群のソース線SL0に対して、消去電圧となるソース線電圧VSL=VPPを供給する。B2のメモリーセル群を例にとれば、ドライバー回路DRC2は、消去動作時に、ブロック単位に対応するビット線群であるBL00~BL23・・・に接続されるB2のメモリーセル群のソース線SL1に対して、消去電圧となるソース線電圧VSL=VPPを供給する。このようにすることで、メモリーセルアレイMA2に対するブロック単位での消去動作が可能になる。
また本実施形態ではメモリーセルアレイMA1は、1バイトの第1のデータを記憶する第1のメモリーセル群と、1バイトの第2のデータを記憶する第2のメモリーセル群を含む。一例としては、図13のA1に示すメモリーセル群が第1のメモリーセル群であり、A2に示すメモリーセル群が第2のメモリーセル群である。なお本実施形態はこれに限定されず、例えばA1が第1のメモリーセル群となり、A3~A9のいずれかが第2のメモリーセル群となってもよい。
そしてリードライト回路RWC1は、第1のメモリーセル群に対してバイト単位の消去前書き込み動作を行う。具体的には図4において、ビット線BLi~ビット線BLjに接続されるメモリーセル群が、1バイトのデータを記憶する第1のメモリーセル群になる。そしてリードライト回路RWC1は、ビット線BLjからビット線BLiへ向かう第2の方向DR2でビット線選択を行って、バイト単位の消去前書き込み動作を行う。そしてドライバー回路DRC1は、消去前書き込み動作後に、第1のメモリーセル群に対してバイト単位の消去動作を行い、消去動作後にリードライト回路RWC1が、第1のメモリーセル群に第1のデータを書き込む。例えばアドレスADR0が指定されると、アドレスADR0に対応するA1の第1のメモリーセル群に対する消去前書き込み動作及び消去動作が行われ、その後に第1のメモリーセル群に対する1バイトの第1のデータの書き込み動作が行われる。具体的には、リードライト回路RWC1は、ビット線BLiからビット線BLjへ向かう第1の方向DR1でビット線選択を行って、1バイトの第1のデータを第1のメモリーセル群に書き込む。
またリードライト回路RWC1は、第2のメモリーセル群に対してバイト単位の消去前書き込み動作を行う。具体的にはリードライト回路RWC1は、第2の方向DR2でビット線選択を行って、バイト単位の消去前書き込み動作を行う。そしてドライバー回路DRC1は、消去前書き込み動作後に、第2のメモリーセル群に対してバイト単位の消去動作を行い、消去動作後にリードライト回路RWC1が、第2のメモリーセル群に第2のデータを書き込む。例えばアドレスADR1が指定されると、アドレスADR1に対応するA2の第2のメモリーセル群に対する消去前書き込み動作及び消去動作が行われ、その後に第2のメモリーセル群に対する1バイトの第2のデータの書き込み動作が行われる。具体的には、リードライト回路RWC1は、第1の方向DR1でビット線選択を行って、1バイトの第2のデータを第2のメモリーセル群に書き込む。
以上のようにすれば、データの書き込み対象となるメモリーセル群に対してのみ、消去動作が行われるようになる。従って、データの書き込み対象以外のメモリーセル群に対して消去動作が無駄に行われてしまい、エンデュランス特性が劣化してしまうなどの事態を防止できる。
また本実施形態では、第1のメモリーセル群は、第1のデータの各ビットのデータとして、互いに相補的な相補データを記憶し、第2のメモリーセル群は、第2のデータの各ビットのデータとして、互いに相補的な相補データを記憶する。例えば第1のメモリーセル群の第1のメモリーセルは、第1のビットデータを記憶し、第1のメモリーセル群の第2のメモリーセルは、第1のビットデータの相補データとなる第2のビットデータを記憶する。例えば第1のメモリーセルが「0」を記憶する場合には、第2のメモリーセルは「1」を記憶し、第1のメモリーセルが「1」を記憶する場合には、第2のメモリーセルは「0」を記憶する。同様に、第2のメモリーセル群の第1のメモリーセルは、第3のビットデータを記憶し、第2のメモリーセル群の第2のメモリーセルは、第3のビットデータの相補データとなる第4のビットデータを記憶する。このように各ビットデータとして相補データを記憶することで、書き換え回数を増加させることが可能になり、エンデュランス特性の向上を図れる。例えばフラッシュメモリーは、EEPROMに比べて、書き換え回数が少ないという不利点がある。そして本実施形態では、フラッシュメモリーで用いられるメモリーセルが配置されるメモリーセルアレイMA1を、バイト単位でデータの書き込みが可能なEEPROMのように扱うことを可能にしている。従って、書き換え回数についても、EEPROMように、なるべく多いことが望ましく、各ビットデータとして相補データを記憶するようにすることで、このような要望に応えることが可能になる。
また本実施形態ではドライバー回路DRC1は、一端に消去電圧が供給され、第1のメモリーセル群の第1のソース線に消去電圧を供給する第1のスイッチ素子と、一端に消去電圧が供給され、第2のメモリーセル群の第2のソース線に消去電圧を供給する第2のスイッチ素子を含む。即ち、第2のスイッチ素子の一端には、第1のスイッチ素子の一端に供給される消去電圧と同じ電圧の消去電圧が供給される。図13のA1が第1のメモリーセル群であり、A2が第2のメモリーセル群である場合を例にとれば、第1のスイッチ素子はスイッチ素子SLSW0になり、第2のスイッチ素子はスイッチ素子SLSW1になる。例えば第1のスイッチ素子であるスイッチ素子SLSW0の一端には、消去電圧であるソース線電圧VSL=VPPが供給される。そしてスイッチ素子SLSW0は、A1のメモリーセル群の第1のソース線であるソース線SL00に対して、消去電圧であるソース線電圧VSL=VPPを供給する。具体的にはスイッチ素子SLDR00を介してソース線SL00にソース線電圧VSL=VPPを供給する。また第2のスイッチ素子であるスイッチ素子SLSW1の一端には、消去電圧であるソース線電圧VSL=VPPが供給される。そしてスイッチ素子SLSW1は、A2のメモリーセル群の第2のソース線であるソース線SL10に対して、消去電圧であるソース線電圧VSL=VPPを供給する。具体的にはスイッチ素子SLDR10を介してソース線SL10にソース線電圧VSL=VPPを供給する。
このように、スイッチ素子SLSW0、SLSW1などの第1、第2のスイッチ素子を設ければ、バイト単位に対応するビット線群に接続されるメモリーセル群のソース線に対して消去電圧を供給して、当該メモリーセル群に対する消去動作を行うことが可能になる。これによりバイト単位でのメモリーセル群の消去動作が可能になる。
また本実施形態ではドライバー回路DRC1は、一端が第1のスイッチ素子の他端に接続され、他端が第1のソース線に接続され、第1のワード線選択信号がアクティブになったときにオンになる第3のスイッチ素子と、一端が第2のスイッチ素子の他端に接続され、他端が第2のソース線に接続され、第1のワード線選択信号がアクティブになったときにオンになる第4スイッチ素子を含む。
例えば上述のように、第1、第2のスイッチ素子が、各々、スイッチ素子SLSW0、SLSW1である場合には、第3のスイッチ素子はスイッチ素子SLDR00であり、第4のスイッチ素子はスイッチ素子SLDR10である。即ち、第3のスイッチ素子であるスイッチ素子SLDR00の一端は、第1のスイッチ素子であるスイッチ素子SLSW0の他端に接続され、スイッチ素子SLDR00の他端は、A1のメモリーセル群の第1のソース線であるソース線SL00に接続される。そしてスイッチ素子SLDR00は、第1のワード線選択信号であるワード線選択信号WLSEL0がアクティブになったときにオンになる。即ちワード線選択信号WLSEL0が、アクティブなレベルであるHレベルになったときに、スイッチ素子SLDR00がオンになり、スイッチ素子SLDR00を介してソース線SL00にソース線電圧VSL=VPPが供給される。また第4のスイッチ素子であるスイッチ素子SLDR10の一端は、第2のスイッチ素子であるスイッチ素子SLSW1の他端に接続され、スイッチ素子SLDR10の他端は、A2のメモリーセル群の第2のソース線であるソース線SL10に接続される。そしてスイッチ素子SLDR10は、第1のワード線選択信号であるワード線選択信号WLSEL0がアクティブになったときにオンになる。即ちワード線選択信号WLSEL0がHレベルになったときに、スイッチ素子SLDR10がオンになり、スイッチ素子SLDR10を介してソース線SL10にソース線電圧VSL=VPPが供給される。
このようにスイッチ素子SLDR00、SLDR10などの第3、第4のスイッチ素子を設ければ、スイッチ素子SLSW0、SLSW1などの第1、第2のスイッチ素子からのソース線電圧VSL=VPPを、A1、A2のメモリーセル群のソース線SL00、SL10に対して供給できるようになる。これによりバイト単位でのメモリーセル群の消去動作が可能になる。
図15は第2の構成例の不揮発性記憶装置10の詳細な動作説明図である。本実施形態では図4のビット線BLi~ビット線BLjに接続されるメモリーセル群は、1バイトのデータを記憶する。ビット線BLiは第iのビット線であり、ビット線BLjは第jのビット線である。そしてドライバー回路DRC1は、メモリーセル群に対してバイト単位の消去動作を行い、リードライト回路RWC1は、バイト単位の消去動作の前に行う消去前書き込み動作において、第2の方向DR2でのビット線選択を行う。
具体的には、本実施形態では相補セル構成となっており、図15に示すように、1バイトのデータを記憶するのに16個のメモリーセルMCを用いる。これらの16個のメモリーセルMCが、ビット線BLi~ビット線BLjに接続されるメモリーセル群になる。そしてリードライト回路RWC1は、これらの16個のメモリーセルMCのメモリーセル群に対して、第2の方向DR2でビット線選択を行って、消去前書き込み動作を行う。そしてドライバー回路DRC1は、消去前書き込み動作の後に、16個のメモリーセルMCのメモリーセル群に対して、バイト単位の消去動作を行う。次にリードライト回路RWC1は、第1の方向DR1でのビット線選択を行って、16個のメモリーセルMCのメモリーセル群に対して、データの書き込み動作を行う。
図15では、相補セル構成であるため、2倍の個数のメモリーセルを搭載する必要があるが、書き換えるのは常に同じメモリーセルになる。そして図15に示すように、センスアンプSA0~SA7の各々が、2つのメモリーセルで1ビットのデータを出力し、これにより8ビットのデータであるD0~D7が読み出される方式となっている。
また本実施形態では、メモリーセルアレイMA1の各メモリーセル群が、1バイトのデータを記憶すると共に、当該データの誤り訂正符号を記憶し、この誤り訂正符号を用いて、記憶されたデータの誤り訂正を行うようにしている。このようにすることで書き換え回数の保証回数を更に上昇させることが可能になる。
具体的には、不揮発性記憶装置10は、不図示の誤り訂正回路を含む。またメモリーセルアレイMA1の第1のメモリーセル群は、第1のデータと、第1のデータの第1の誤り訂正符号とを記憶する。メモリーセルアレイMA1の第2のメモリーセル群は、第2のデータと、第2のデータの第2の誤り訂正符号とを記憶する。例えば図13のA1の第1のメモリーセル群が、1バイトの第1のデータと、第1のデータの誤り訂正符号である第1の誤り訂正符号を記憶する。またA2の第2のメモリーセル群が、1バイトの第2のデータと、第2のデータの誤り訂正符号である第2の誤り訂正符号を記憶する。第1の誤り訂正符号は、不図示のECCデータ生成回路が第1のデータに基づき生成して、第1のメモリーセル群により第1のデータと共に記憶される。第2の誤り訂正符号は、ECCデータ生成回路が第2のデータに基づき生成して、第2のメモリーセル群により第2のデータと共に記憶される。そして誤り訂正回路は、第1のメモリーセル群から読み出した第1のデータに対して、第1の誤り訂正符号に基づいて誤り訂正を行い、第2のメモリーセル群から読み出した第2のデータに対して、第2の誤り訂正符号に基づいて誤り訂正を行う。例えば1バイトのデータに対して4ビットの誤り訂正符号を付加することで、1ビットのデータの誤り訂正が可能になる。
誤り訂正は、ECCを使用して、メモリーセルに誤った値が記憶されていることを検出し、正しい値に訂正する処理である。ECCは、データの誤りを自動的に訂正できるように付加した冗長符号である。誤り訂正の処理としては、例えばハミング符号やCRC(Cyclic Redundancy Check)を用いた処理などがある。ハミング符号は、情報に冗長ビットを付加する誤り検出訂正方式の1つであり、2ビットの誤りを検出し、1ビットの誤りを訂正することができる。CRCは、一定の生成多項式による除算の余りを検査用の冗長ビットとする方式である。
図16は、誤り訂正符号であるECC(Error Correcting Code)を付加する本実施形態の手法についての説明図である。本実施形態では書き換え単位に対してECCの情報を付加する。例えば図16では、相補セル構成の16個のメモリーセルMCにより1バイトのデータを記憶すると共に、相補セル構成の8個のメモリーセルMCにより4ビットのECCを記憶している。そしてセンスアンプSA0~SA7を用いて、データ記憶用の16個のメモリーセルMCから、1バイトのデータであるD0~D7を読み出す。またセンスアンプSA8~SA11を用いて、ECC記憶用の8個のメモリーセルMCから、4ビットのECCであるECC0~ECC3を読み出す。そしてECC0~ECC3を用いて、D0~D7の誤り検出や誤り訂正を行う。ECCは、一般的には不良率の低減を目的としたものであるが、本実施形態では、ECCを用いて、書き換え回数の改善を図っている。例えば8ビットのデータの1ビットの誤り訂正を行う場合には、4ビットのECCが必要になる。従って、ECCを付加すると、1.5倍の数のメモリーセルが必要になるが、書き換え回数の改善を考慮すると、回路面積の増加以上の効果が得られる。
3.マイクロコンピューター、電子機器
図17に本実施形態の不揮発性記憶装置10を含むマイクロコンピューター100の構成例を示す。本実施形態のマイクロコンピューター100は、本実施形態の不揮発性記憶装置10と、データ処理を行うプロセッサー110を含む。またマイクロコンピューター100は、RAM120、インターフェース回路122、電源回路124、リセット回路126、タイマー128などを含むことができる。プロセッサー110は、CPUコアであり、各種のデータ処理を実行する。不揮発性記憶装置10は、EEPROM及びフラッシュメモリーとして使用可能な記憶装置となっている。例えばファームウェアのプログラムなどについては、不揮発性記憶装置10のメモリーセルアレイMA2に記憶し、ユーザデータなどについては、不揮発性記憶装置10のメモリーセルアレイMA1に記憶する。そしてプロセッサー110は、不揮発性記憶装置10に記憶されたプログラムやデータに基づいて各種の処理を実行する。RAM120は、プロセッサー110等が使用するデータが記憶され、例えばプロセッサー110のワークメモリーとして機能する。インターフェース回路122は、I2C(Inter Integrated Circuit)、SPI(Serial Peripheral Interface)、UART(Universal Asynchronous Receiver/Transmitter)などのインターフェースを実現する回路である。電源回路124は、マイクロコンピューター100等が使用する各種の電源電圧を生成する回路である。リセット回路126は、例えばパワーオンリセットなどの処理を行う回路である。タイマー128は、8ビットタイマー、16ビットタイマー、計時タイマー、ウォッチドッグタイマーなどを実現する回路である。
本実施形態の不揮発性記憶装置10が設けられたマイクロコンピューター100によれば、不揮発性記憶装置10でのリーク電流の増加等が抑制されることで、より多くの書き込み回数での不揮発性記憶装置10への書き込みが可能になる。またプロセッサー110が、EEPROMやフラッシュメモリーとして機能する不揮発性記憶装置10を用いた各種の処理を実現できるようになる。
図18に本実施形態の不揮発性記憶装置10を含む電子機器300の構成例を示す。電子機器300は、本実施形態の不揮発性記憶装置10を有するマイクロコンピューター100と、表示部310と、メモリー320と、操作インターフェース330と、通信インターフェース340を含むことができる。なお図18では、本実施形態の不揮発性記憶装置10がマイクロコンピューター100に設けられているが、不揮発性記憶装置10は、マイクロコンピューター100の外部に設けられていてもよい。例えばメモリー320として不揮発性記憶装置10を用いてもよい。電子機器300の具体例としては、例えばメーターパネルなどのパネル機器やカーナビゲーションシステム等の車載機器、ジャイロセンサーや加速度センサーなどのセンサーを有するセンサー機器、プロジェクター、ヘッドマウントディスプレイ、印刷装置、携帯情報端末、携帯型ゲーム端末、ロボット、或いは情報処理装置などの種々の電子機器がある。
処理装置であるマイクロコンピューター100は、電子機器300の制御処理や、種々の信号処理等を行う。表示部310は、例えば液晶パネルや有機ELパネルなどにより実現できる。表示部310はタッチパネルであってもよい。メモリー320は、例えば操作インターフェース330や通信インターフェース340からのデータを記憶したり、或いは、マイクロコンピューター100のワークメモリーとして機能する。メモリー320は、例えばRAMやROM等の半導体メモリー、或いはハードディスクドライブ等の磁気記憶装置により実現できる。操作インターフェース330は、ユーザーからの種々の操作を受け付けるユーザーインターフェースである。例えば操作インターフェース330は、ボタンやマウスやキーボード、或いはタッチパネル等により実現できる。通信インターフェース340は、画像データや制御データの通信を行うインターフェースである。通信インターフェース340の通信処理は、有線の通信処理であってもよいし、無線の通信処理であってもよい。
以上に説明したように本実施形態の不揮発性記憶装置は、電気的にデータの書き込み及び消去が可能な不揮発性の複数のメモリーセルが配置されるメモリーセルアレイと、メモリーセルアレイのワード線及びソース線を駆動するドライバー回路と、メモリーセルアレイのビット線に接続され、メモリーセルアレイに対してデータの書き込み及び読み出しを行うリードライト回路を含む。そしてリードライト回路は、メモリーセルアレイへの書き込み動作において、第iのビット線から第jのビット線(i、jは1以上で互いに異なる整数)へ向かう第1の方向でビット線選択を行う。またリードライト回路は、メモリーセルアレイへの消去動作前に行う消去前書き込み動作において、第jのビット線から第iのビット線へ向かう第2の方向でビット線選択を行う。
本実施形態によれば、不揮発性の複数のメモリーセルが配置されるメモリーセルアレイのワード線及びソース線をドライバー回路が駆動し、メモリーセルアレイのビット線に接続されるリードライト回路が、メモリーセルアレイに対してデータの書き込み及び読み出しを行う。そしてリードライト回路は、書き込み動作においては、第iのビット線から第jのビット線へ向かう第1の方向でビット線選択を行う。一方、リードライト回路は、消去前書き込み動作においては、第jのビット線から第iのビット線へ向かう第2の方向でビット線選択を行う。このように、書き込み動作時のビット線選択方向と消去前書き込み動作時のビット線選択方向を反対方向にすることで、書き込み時に選択ワード線上の非選択メモリーセルを介してメモリーセルアレイに影響を及ぼすライトディスターブのストレスが、平準化されるようになる。これにより、繰り返し書き換えに伴うメモリーセルのリーク電流等の増加が抑制され、書き込み回数の保証回数の向上等を図れるようになる。
また本実施形態では、リードライト回路は、消去前書き込み動作において、消去状態となっているメモリーセルに対して書き込み動作を行ってもよい。
このようにすれば、書き込み状態のメモリーセルに対して、余分に書き込み動作が行われてしまうような事態の発生を防止できる。
また本実施形態では、メモリーセルアレイの第1のメモリーセルは、第1のビットデータを記憶し、第2のメモリーセルは、第1のビットデータの相補データとなる第2のビットデータを記憶してもよい。そしてリードライト回路は、消去前書き込み動作において、第1のメモリーセル及び第2のメモリーセルのうち、消去状態となっているメモリーセルに対して書き込み動作を行ってもよい。
このようにすれば、消去前書き込み動作時のライトディスターブのストレスの回数と、書き込み動作時のライトディスターブのストレスの回数を、同等にすることが可能になり、ライトディスターブのストレスを更に平準化できるようになる。
また本実施形態では、第iのビット線~第jのビット線に接続されるメモリーセル群は、1バイトのデータを記憶してもよい。そしてドライバー回路は、メモリーセル群に対してバイト単位の消去動作を行い、リードライト回路は、バイト単位の消去動作の前に行う消去前書き込み動作において、第2の方向でのビット線選択を行ってもよい。
このように、バイト単位で消去動作が行われることで、メモリーセルアレイをEEPROMのように扱うことが可能になる。そして、バイト単位のメモリーセル群に対する消去前書き込み動作とデータの書き込み動作とで、ビット線選択の方向を互いに逆方向にすることで、ライトディスターブのストレスの平準化を図れるようになる。
また本実施形態では、メモリーセルアレイは、1バイトの第1のデータを記憶する第1のメモリーセル群と、1バイトの第2のデータを記憶する第2のメモリーセル群と、を含んでもよい。そしてリードライト回路が、第1のメモリーセル群に対してバイト単位の消去前書き込み動作を行い、消去前書き込み動作後に、ドライバー回路が、第1のメモリーセル群に対してバイト単位の消去動作を行い、消去動作後にリードライト回路が、第1のメモリーセル群に第1のデータを書き込んでもよい。そしてリードライト回路が、第2のメモリーセル群に対してバイト単位の消去前書き込み動作を行い、消去前書き込み動作後に、ドライバー回路が、第2のメモリーセル群に対してバイト単位の消去動作を行い、消去動作後にリードライト回路が、第2のメモリーセル群に第2のデータを書き込んでもよい。
このようにすれば、第1のメモリーセル群に対するバイト単位の消去前書き込み動作の後に、第1のメモリーセル群に対して消去動作を行い、消去動作後に、第1のメモリーセル群に対して、1バイトの第1のデータを書き込むことが可能になる。また第2のメモリーセル群に対するバイト単位の消去前書き込み動作の後に、第2のメモリーセル群に対して消去動作を行い、消去動作後に、第2のメモリーセル群に対して、1バイトの第2のデータを書き込むことが可能になる。
また本実施形態では、ドライバー回路は、一端に消去電圧が供給され、第1のメモリーセル群の第1のソース線に消去電圧を供給する第1のスイッチ素子と、一端に消去電圧が供給され、第2のメモリーセル群の第2のソース線に消去電圧を供給する第2のスイッチ素子と、を含んでもよい。
このような第1、第2のスイッチ素子を設ければ、バイト単位に対応するビット線群に接続される第1、第2のメモリーセル群の第1、第2のソース線に対して消去電圧を供給して、第1、第2のメモリーセル群に対する消去動作を行うことが可能になり、バイト単位での消去動作が可能になる。
また本実施形態では、ドライバー回路は、一端が第1のスイッチ素子の他端に接続され、他端が第1のソース線に接続され、第1のワード線選択信号がアクティブになったときにオンになる第3のスイッチ素子と、一端が第2のスイッチ素子の他端に接続され、他端が第2のソース線に接続され、第1のワード線選択信号がアクティブになったときにオンになる第4スイッチ素子と、を含んでもよい。
このような第3、第4のスイッチ素子を設ければ、第1、第2のスイッチ素子からの消去電圧を、第1のワード線選択信号によりオンになった第3、第4のスイッチ素子を介して、第1、第2のメモリーセル群の第1、第2のソース線に供給できるようになり、バイト単位での消去動作が可能になる。
また本実施形態では、ドライバー回路及びリードライト回路に接続され、アドレス制御を行うアドレス制御回路と、アドレス制御回路を制御する制御回路と、含んでもよい。そして制御回路は、メモリーセルアレイの書き込み動作において、第1の方向でビット線選択するアドレス制御を、アドレス制御回路に行わせ、消去前書き込み動作において、第2の方向でビット線選択するアドレス制御を、アドレス制御回路に行わせてもよい。
このようにすれば、回数情報等をメモリーセル等に記憶することなく、制御回路によるアドレス制御回路の制御により、第1の方向でのビット線選択と第2の方向でのビット線選択を実現できるようになる。
また本実施形態では、メモリーセルアレイの複数のメモリーセルは、MONOS構造又はフローティングゲート構造のメモリーセルであってもよい。
このようなMONOS構造等のメモリーセルを用いることで、不揮発性記憶装置の回路面積の小規模化等を図れるようになる。
また本実施形態は、上記に記載の不揮発性記憶装置と、データ処理を行うプロセッサーと、を含むマイクロコンピューターに関係する。また本実施形態は、上記に記載の不揮発性記憶装置を含む電子機器に関係する。
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また本実施形態及び変形例の全ての組み合わせも、本発明の範囲に含まれる。また不揮発性記憶装置、マイクロコンピューター、電子機器等の構成・動作も本実施形態で説明したものに限定されず、種々の変形実施が可能である。