(57)【特許請求の範囲】
【請求項１】
メモリアレイの構成単位であるメモリセルが前記メモリセル内で並列接続された複数のフローティングゲート型トランジスタで構成され、
前記複数のフローティングゲート型トランジスタのソースは共通接続され、
前記複数のフローティングゲート型トランジスタの複数の数のドレインをビット線に接続するか、前記複数の数と異なる数で少なくとも１以上の数のドレインをビット線に接続するかによりマスク化されたデータをプログラムしてあることを特徴とする不揮発性メモリアレイ。
【請求項２】
前記メモリセル内での複数のフローティングゲート型トランジスタは、ゲートどうしおよびソースどうしがそれぞれ互いに並列接続されており、前記複数のフローティングゲート型トランジスタのドレインのそれぞれについてビット線への接続コンタクトの有無に基づいてプログラムが行われていることを特徴とする請求項１に記載の不揮発性メモリアレイ。
【請求項３】
前記メモリセル内での複数のフローティングゲート型トランジスタは、それぞれのドレインが単一のビット線にビット線コンタクトを介して共通に接続されていることを特徴とする請求項２に記載の不揮発性メモリアレイ。
【請求項４】
請求項１ないし請求項３に記載の不揮発性メモリアレイをデータメモリおよびプログラムメモリとして搭載してあることを特徴とするマイクロコンピュータ。
【請求項５】
請求項４に記載のマイクロコンピュータにおいて、前記不揮発性メモリアレイの全メモリセルを低閾値電圧側に制御する初期化ステップと、前記初期化ステップの後に前記不揮発性メモリアレイのローダプログラムデータを読み出す読み出しステップと、前記ローダプログラムを命令ＲＡＭ領域に転送する転送ステップと、前記マイクロコンピュータで前記命令ＲＡＭ領域に格納されたローダプログラムを実行することにより前記不揮発性メモリに所望のデータをプログラムするプログラムステップとを含むことを特徴とするマイクロコンピュータのプログラム書き換え方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、書き換え可能なアレイ上に固定データを重畳した電気的に書き換え可能なフラッシュメモリなどの不揮発性メモリアレイ、および、そのような不揮発性メモリアレイを搭載したマイクロコンピュータ、ならびに、そのようなマイクロコンピュータのプログラム書き換え方法に関するものである。
【０００２】
【従来の技術】
近年、半導体機器の開発期間の短縮やプログラムのオンサイトでの書き換えの要望により、電気的に書き換え可能な不揮発性メモリを機器に搭載することが多くなってきた。不揮発性メモリアレイは従来のマスクＲＯＭを置き換えるメモリアレイであり、機器に組み込むことにより電源を切った状態でもデータを保持することができる。近年、フラッシュメモリなどの不揮発メモリでは、書き換え回数が百万回、データの保持寿命が１０年程度のアレイが実用化されるようになってきた。
【０００３】
フラッシュメモリなどの不揮発性メモリアレイはメモリセルにフローティングゲート型トランジスタを用いている。これらのメモリの記憶動作は、高電界によるトンネル効果やホットエレクトロンを用いて薄いトンネル酸化膜を介して絶縁されたフローティングゲートに電子を意図的に出し入れし、トランジスタの閾値電圧を制御することで行われる。フローティングゲートに電子が蓄積されるとトランジスタの閾値電圧は上昇する。つまり、プログラムされたデータはフローティングゲート型トランジスタの閾値電圧として記憶される。そして、プログラムされたデータはメモリセルのアナログ電流として読み出され、センスアンプでリファレンス電流と比較されてデジタル化されてメモリアレイから読み出される。
【０００４】
フラッシュメモリはその応用として組み込み型マイコンチップなどに搭載され、機器に実装した状態でフラッシュメモリのデータを書き換える用途（オンボード書き換えと呼ぶ）が一つの主流になっている。
【０００５】
組み込み型マイコンのオンボード書き換えでは、機器に実装した状態でプログラムコードを書き換える必要があり、書き換え用のアルゴリズムが記述されたローダプログラムをマイコンチップ上のメモリアレイにあらかじめ書き込んでおく。ローダプログラムを起動することによりフラッシュメモリにデータを書き込む。ローダプログラムが書き込まれた領域のことをローダ領域と呼んでいる。
【０００６】
組み込み型マイコンチップの開発スタイルは、従来、マスクＲＯＭにプログラムを搭載した場合はプログラム修正に多額のコストと期間が必要であったが、フラッシュメモリを搭載することによりプログラムの書き換えが機器に実装したまま何度でも可能となるために、開発効率を大幅に向上することができる。
【０００７】
【発明が解決しようとする課題】
組み込み型マイコンチップにおいては、オンボード書き換えを行うためには、内蔵メモリ上にローダプログラムを格納する領域が必要となる。ただでさえ容量が少ない内蔵メモリにおいてローダプログラム格納のための領域を確保しなければならないことは課題である。すなわち、ローダプログラムを格納する領域は不揮発性メモリの一部の領域あるいはマスクＲＯＭに格納されるため、余分なＲＯＭや不揮発性メモリの領域が必要となる。
【０００８】
本発明は上記の問題点に対し、メモリアレイを、ローダプログラム等を格納したマスクＲＯＭとしても用いることができてチップ面積を削減することのできる不揮発性メモリアレイを提供することを目的とする。
【０００９】
【課題を解決するための手段】
不揮発性メモリアレイについての本発明は、次のような手段を講じることにより、上記の課題を解決する。メモリアレイの構成単位であるメモリセルが、前記メモリセル内で並列接続された複数のフローティングゲート型トランジスタで構成されている。前記複数のフローティングゲート型トランジスタのソースは共通接続され、前記複数のフローティングゲート型トランジスタの複数の数のドレインをビット線に接続するか、前記複数の数と異なる数で少なくとも１以上の数のドレインをビット線に接続するかにより、マスク化されたデータをプログラムしてある。
ここにおいて、前記メモリセル内での複数のフローティングゲート型トランジスタは、ゲートどうしおよびソースどうしがそれぞれ互いに並列接続されている。そして、前記複数のフローティングゲート型トランジスタのドレインのそれぞれについて、ビット線への接続コンタクトの有無（個数）に基づいてログラムが行われている。
また、前記メモリセル内での複数のフローティングゲート型トランジスタは、それぞれのドレインが単一のビット線にビット線コンタクトを介して共通に接続されている。
【００１０】
本発明の上記の構成によると、フローティングゲート型トランジスタを低閾値電圧側に設定することにより、メモリセル読み出し時に並列接続数（接続コンタクト数）に応じた電流をビット線より読み出し、読み出し電流を閾値処理することによりデジタル値に変換することができるので、不揮発メモリにマスクＲＯＭの機能を併せ持たせることが可能となる。つまり、メモリアレイを、ローダプログラム等を格納したマスクＲＯＭとして利用することができ、チップ面積の削減を可能とする。
【００１１】
また、本発明のマイクロコンピュータは、上記の不揮発性メモリアレイをデータメモリおよびプログラムメモリとして搭載した構成となっている。
【００１２】
さらに、本発明のマイクロコンピュータのプログラム書き換え方法は、上記のマイクロコンピュータにおいて、次のようなステップを有している。すなわち、前記不揮発性メモリアレイの全メモリセルを低閾値電圧側に制御する初期化ステップと、前記初期化ステップの後に前記不揮発性メモリアレイのローダプログラムデータを読み出す読み出しステップと、前記ローダプログラムを命令ＲＡＭ領域に転送する転送ステップと、前記マイクロコンピュータで前記命令ＲＡＭ領域に格納されたローダプログラムを実行することにより前記不揮発性メモリに所望のデータをプログラムするプログラムステップとを含んでいる。そして、前記の初期化ステップ、読み出しステップ、転送ステップおよびプログラムステップを順に実行することにより、不揮発性メモリ領域に書き換えを行う。これにより、あらかじめ不揮発性メモリ領域にローダプログラムを格納するための不揮発性メモリ領域を設けることなく、ローダプログラムの書き換えを行うことが可能となる。
【００１３】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００１４】
（実施の形態１）
図１は本発明の実施の形態１における不揮発性メモリアレイの構成を示す等価回路図、図２（ａ）は不揮発性メモリアレイに対応するレイアウト図、図２（ｂ）はその断面図である。
【００１５】
図１、図２（ａ），（ｂ）において、符号の１０は不揮発性メモリアレイ、１１はメモリセル、１２はフローティングゲート型トランジスタ、１３はドレイン、１４はビット線、１５はビット線コンタクト、１６はソース線、１７はワード線、
１８はフローティングゲート、１９は基板である。
【００１６】
不揮発性メモリアレイ１０はメモリセル１１のアレイとして構成されている。メモリセル１１は２個のフローティングゲート型トランジスタ１２を備えており、この２個のフローティングゲート型トランジスタ１２において、ドレイン１３とビット線１４とをビット線コンタクト１５を介して接続するトランジスタの個数を１つとするか、２つとするかによって、データのビットとしている。
【００１７】
すなわち、例えば、１つのメモリセル１１でビット線コンタクト１５がドレイン１３とビット線１４とで接続されているトランジスタ１２の数が２つの場合には、そのメモリセル１１のデータを例えば“０”とし、１つの場合にはデータを“１”とする。もっとも、逆に、前者を“１”とし、後者を“０”としてもよい。
【００１８】
ソース線１６は、いくつかのメモリセル１１で構成されるブロックで共通になっている。メモリセル１１は、ワード線１７を共通のゲート電極とした２個のフローティングゲート型トランジスタ１２のゲートと共通になっている。
【００１９】
このような構成により、各メモリセル１１において、ビット線コンタクト１５の有無によるフローティングゲート型トランジスタ１２の並列接続数が１個であるか２個であるかをもって、マスクＲＯＭのようにあらかじめプログラムしている。
【００２０】
以下、不揮発性メモリアレイ１０を通常の不揮発性メモリアレイに使う方法（通常読み出しモードと呼ぶ）および各セルのビット線コンタクト１５の数を読み出す方法（背景読み出しモードと呼ぶ）について図３を用いて説明する。
【００２１】
図３は各プログラム状態におけるメモリセルアレイの読み出し電流分布を示す。読み出し電流分布の中心値が低電流側の場合、閾値Ｖthが高い側にあることに相当している。
【００２２】
通常読み出しモードにおける読み出し動作においては、論理値の判定レベルであるセンスアンプ判定レベルを通常読み出しモード判定レベルＬｖ１として読み出す。通常読み出しモード判定レベルＬｖ１以上の読み出し電流は“１”と論理判定され、通常読み出しモード判定レベルＬｖ１未満の読み出し電流は“０”と論理判定される。
【００２３】
通常読み出しモードにおいては、書き込み動作（閾値Ｖthが高い側に制御）および消去動作（閾値Ｖthが低い側に制御）について、図３に示すように、ビット線コンタクトの数が１個のメモリセルの場合は、読み出し電流分布Ａ’の状態を書き込み動作に対応させ、読み出し電流分布Ｂの状態を消去動作に対応させている。
【００２４】
また、ビット線コンタクトの数が２個のメモリセルの場合は、読み出し電流分布Ａの状態を書き込み動作に対応させ、読み出し電流分布Ｃの状態を消去動作に対応させている。
【００２５】
通常読み出しモードにおいては、センスアンプ判定レベルとして通常読み出しモード判定レベルＬｖ１を設定することにより、メモリセル内のフローティングゲート型トランジスタの個数が１つであるか２つであるか否かに関わらず、データを読み出すことができる。このようにメモリセル内の実効性のあるフローティングゲート型トランジスタの個数が異なっても、通常のフラッシュメモリとして書き込み、消去、読み出しを実現することができる。
【００２６】
次に、固定データとしてのローダプログラムを読み出す背景読み出しモードでは、フローティングゲート型トランジスタの個数を検出してデータを判断する。このモードでは、読み出す前にフローティングゲート型トランジスタの電子の注入量が同じになるように消去し、フローティングゲート型トランジスタの閾値を全て低閾値状態にする（背景読み出し前消去）。背景読み出しモードにおいては、ビット線コンタクトの数が１個のメモリセルの状態が読み出し電流分布Ｂに対応し、ビット線コンタクトが２個のメモリセルの状態が読み出し電流分布Ｃに対応している。そして、センスアンプ判定レベルを背景読み出しモードレベルＬｖ２とすることにより、ローダプログラムのデータの読み出しを行う。
【００２７】
ビット線コンタクト数が１のメモリセルとビット線コンタクト数が２のメモリセルのそれぞれについて個別に説明すると、次のようになる。
【００２８】
ビット線コンタクト数が１のメモリセルにおいては、その通常読み出しモードでの読み出し動作において、通常読み出しモード判定レベルＬｖ１未満のときは“０”と論理判定され、通常読み出しモード判定レベルＬｖ１以上のときは“１”と論理判定される。また、その通常読み出しモードでの書き込み・消去動作において、読み出し電流分布がＡ’のときは書き込み動作を行い、読み出し電流分布がＢのときは消去動作を行う。そして、ビット線コンタクト数が１のメモリセルでは、その背景読み出しモードの読み出し動作において、その読み出し電流分布がＢであることから、ビット線コンタクト数が１であるとのデータを読み出す。
【００２９】
一方、ビット線コンタクト数２のメモリセルにおいては、その通常読み出しモードでの読み出し動作において、ビット線コンタクト数が１の場合と同様に、通常読み出しモード判定レベルＬｖ１未満のときは“０”と論理判定され、通常読み出しモード判定レベルＬｖ１以上のときは“１”と論理判定される。また、その通常読み出しモードでの書き込み・消去動作において、読み出し電流分布がＡのときは書き込み動作を行い、読み出し電流分布がＣのときは消去動作を行う。そして、ビット線コンタクト数が１のメモリセルでは、その背景読み出しモードの読み出し動作において、その読み出し電流分布がＣであることから、ビット線コンタクト数が２であるとのデータを読み出す。
【００３０】
上述した構成により同一のメモリセルに固定データと、自由にプログラムできるデータとを重畳させて持たせることができる。
【００３１】
（実施の形態２）
次に、本発明の実施の形態２における不揮発性メモリアレイを搭載したマイクロコンピュータ、およびそのマイクロコンピュータのプログラム書き換え方法について、図４、図５、図６を用いて説明する。
【００３２】
図４は不揮発性メモリアレイを搭載したマイクロコンピュータの概略の構成を示すブロック図である。図４において、符号の２０はマイクロコンピュータ、２１は中央演算処理装置であるＣＰＵ、２２はワーキングメモリとしてのＲＡＭ、２３はプログラムメモリとしての不揮発性メモリアレイ（フラッシュメモリ）、２４は外部入力端子に対するインターフェイスである。フラッシュメモリ２３として、上述の実施の形態１で説明した不揮発性メモリアレイのものを用いている。
【００３３】
図５は上述の不揮発性メモリアレイを搭載したマイクロコンピュータのプログラム書き換え方法のフローチャートを示す図である。以下、図５のフローチャートの各ステップについて図４のマイクロコンピュータのブロック図、図６のメモリセルアレイ状態図を交えて説明する。
【００３４】
（初期化ステップＳ１）
書き換えの初期化ステップとして、まずあらかじめフラッシュメモリ（不揮発性メモリアレイ）２３のメモリ領域に固定データとして格納されているローダプログラムを読み出すために、メモリセルアレイの背景読み出し前消去を全範囲に対して行う。図４において、消去は、ライターからの信号Ｓａにより、インターフェイス２４を通して、メモリセルアレイ２３におけるデータを消去する。このときには、全てのメモリセルを同じ条件（パルス幅、パルス回数、電圧条件等）で消去する。この初期化ステップにおいては、不揮発性メモリアレイ２３の全メモリセルを低閾値電圧側に制御することによって、背景読み出し前消去を行う。
【００３５】
上記ステップＳ１におけるメモリセルアレイ２３の状態を図６に示すと、初めにメモリセルは書き換え前のユーザプログラムが書き込まれた状態（ａ）にある。次に、図の（ｂ），（ｃ）のように背景読み出し前消去により、あらかじめ背景にローダプログラムが格納された領域を消去することにより、ローダプログラム２５が浮き出てくるような形にする。
【００３６】
なお、消去範囲をローダプログラム２５が格納されている領域に対してのみ選択的に限定することにより、アレイ全体の消去を行う場合に比べて消去時間の短縮および消費電力の低減を図ることができる。
【００３７】
（読み出しステップＳ２）
図５のように、前記初期化ステップＳ１を行った後に、メモリセルの背景読み出しモードにより、あらかじめ格納しておいたローダプログラム２５を読み出す。
（転送ステップＳ３）
前記の読み出したローダプログラム２５をマイクロコンピュータ２０内のＲＡＭ２２に転送する。すなわち、プログラム書き換えのためのワーキングメモリにローダプログラム２５を格納する。
【００３８】
（プログラムステップＳ４）
前記読み出しステップＳ２を行った後に不揮発性メモリ領域のデータを書き換える際には、ライターからインターフェイス２４を通してデータを入力し、その入力されたデータを、前述の転送によってＲＡＭ２２に格納されたローダプログラム２５を実行することにより書き換える。この際、図６の（ｄ），（ｅ）のように背景にローダプログラム２５が格納された領域にも、そのローダプログラムを格納したまま、通常のフラッシュメモリ２３のメモリ領域としてデータを書き込むことができる。このようにして、新規ユーザプログラムの書き換えが全て完了した後、終了となる。
【００３９】
前述のとおり、従来にあっては、不揮発性メモリ領域にローダプログラムの格納領域を確保しなければならず、そのために、自由にプログラムを搭載することのできるファームウエア領域が狭くなっていた。これに対して、本実施の形態によれば、以上のような書き換え方式により、マイコンに内蔵されたフラッシュメモリ２３のオンボード書き換え方式を実現するに際して、本発明による不揮発性メモリアレイをマイコンに搭載することで、ファームウエア領域を広くすることができる。そして、それだけにとどまらず、ローダ領域とファームウエア領域とを全く区別する必要がなくなり、内蔵メモリアレイを有効に活用することができる。
【００４０】
【発明の効果】
メモリセル内のフローティングゲート型トランジスタの並列接続数をあらかじめ決定した構成を取ることにより、不揮発性メモリアレイにローダプログラム等の固定データを格納するとともに、同領域を通常のメモリ領域として用いることができる。これにより、不揮発性メモリ領域の一部をローダプログラムの専用領域として利用していた従来技術に比べ、メモリアレイの全空間ないし所望の空間をファームウエア領域として最大限に活用することができる。
【図面の簡単な説明】
【図１】  本発明の実施の形態１における不揮発性メモリアレイの構成を示す等価回路図
【図２】  本発明の実施の形態１における不揮発性メモリアレイの等価回路図に対応するレイアウト図およびその断面図
【図３】  本発明の実施の形態１における不揮発性メモリアレイにおいて各プログラム状態でのメモリセルアレイの読み出し電流分布の説明図
【図４】  本発明の実施の形態２における不揮発性メモリアレイを搭載したマイクロコンピュータの概略の構成を示すブロック図
【図５】  本発明の実施の形態２おける不揮発性メモリアレイを搭載したマイクロコンピュータのプログラム書き換え方法のフローチャート
【図６】  本発明の本発明の実施の形態２おける不揮発性メモリアレイを搭載したマイクロコンピュータのプログラム書き換え方法におけるメモリセルアレイの状態図
【符号の説明】
１０…不揮発性メモリアレイ
１１…メモリセル
１２…フローティングゲート型トランジスタ
１３…ドレイン
１４…ビット線
１５…ビット線コンタクト
１６…ソース線
１７…ワード線
１８…フローティングゲート
２０…マイクロコンピュータ
２１…ＣＰＵ
２２…ＲＡＭ
２３…不揮発性メモリアレイ（フラッシュメモリ）
２４…インターフェイス
２５…ローダプログラム
【図１】
0004678957.tif 000002
【図２】
0004678957.tif 000003
【図３】
0004678957.tif 000004
【図４】
0004678957.tif 000005
【図５】
0004678957.tif 000006
【図６】
0004678957.tif 000007