(57)【特許請求の範囲】
【請求項１】
データの電気消去及びデータの書き込み読み出しが可能な特性を有し、一定記憶容量の複数ブロックから成る不揮発性メモリと、
前記不揮発性メモリを構成する１ブロック分の格納容量を有し、所定１ブロックの書き換えデータを格納するバッファ回路と、
前記バッファ回路を構成する各アドレスに１対１に対応するフラグを有し、前記バッファ回路における前記書き換えデータ格納済みアドレスに対応するフラグを予め定められた論理値に設定するフラグ回路と、
前記フラグ回路の状態を検出するフラグ検出回路と、
前記バッファ回路の全アドレスの書き換えが実行されなかった時の前記フラグ検出回路の検出結果に従い、前記バッファ回路の全アドレスに対するデータ格納動作を再実行させる制御回路と、
を備えたことを特徴とする不揮発性メモリの書き込み回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、不揮発性メモリの書き込み回路に関する。
【０００２】
【従来の技術】
図２は不揮発性メモリの書き込み回路を示す一般ブロック図である。
【０００３】
図２において、フラッシュメモリ（１０１）はデータの電気消去及びデータの書き込み読み出しが可能な不揮発性の特性を有し、マイクロコンピュータのプログラムメモリ、データメモリ等に使用される。フラッシュメモリ（１０１）は一定記憶容量の複数ブロック１〜ｎに分割され、各ブロック単位でデータ書き換え動作を実行する構造である。例えば、フラッシュメモリ（１０１）の１ブロックは１２８バイト（＝１ページ）である。ページバッファ（１０２）はフラッシュメモリ（１０１）の１ブロック分の記憶容量を有する。ページバッファ（１０２）は、フラッシュメモリ（１０１）の予め定められた１ブロックの内容を書き換える際、１２８バイト分の新規データが格納される。
【０００４】
１ブロック単位で全内容を書き換える場合、パージバッファ（１０２）の全バイトに対し外部ＰＲＯＭライタ等から１２８バイトの新規データを格納する（ステップ１）。フラッシュメモリ（１０１）のｎブロックのうち書き換え対象である所定１ブロックの全内容を消去する（ステップ２）。フラッシュメモリ（１０１）の所定１ブロックに対しページバッファ（１０２）の１２８バイト分の新規データを書き込む（ステップ３）。という３個の処理ステップを実行する必要がある。
【０００５】
【発明が解決しようとする課題】
しかし、従来はページバッファ（１０２）の格納状態を確認する手段がない。即ち、何らかの要因が作用し、ページバッファ（１０２）に対し１２８バイトの新規データを全て格納できなかった場合でも、この状態を検出する術がない。従って、フラッシュメモリ（１０１）の書き換え対象ブロックに対し使用者の意志と異なるデータを書き込んでしまう不都合があった。
【０００６】
【課題を解決するための手段】
本発明は、前記問題点を解決する為に創作されたものであり、データの電気消去及びデータの書き込み読み出しが可能な特性を有し、一定記憶容量の複数ブロックから成る不揮発性メモリと、前記不揮発性メモリを構成する１ブロック分の格納容量を有し、所定１ブロックの書き換えデータを格納するバッファ回路と、前記バッファ回路を構成する各アドレスに１対１に対応するフラグを有し、前記バッファ回路における前記書き換えデータ格納済みアドレスに対応するフラグを予め定められた論理値に設定するフラグ回路と、前記フラグ回路の状態を検出するフラグ検出回路と、前記バッファ回路の全アドレスの書き換えが実行されなかった時の前記フラグ検出回路の検出結果に従い、前記バッファ回路の全アドレスに対するデータ格納動作を再実行させる制御回路と、  を備えたことを特徴とする。
【０００７】
【発明の実施の形態】
本発明の詳細を図面に従って具体的に説明する。
【０００８】
図１は本発明の不揮発性メモリの書き込み回路を示すブロック図である。
【０００９】
図１において、フラッシュメモリ（１）は、データを特定ブロック単位で電気消去でき且つデータを繰り返し書き込み及び読み出しできる不揮発性の特性を有し、各々第１記憶領域（１ａ：LEFT  ARRAY）及び第２記憶領域（１ｂ：RIGHT  ARRAY）に均等分割される。フラッシュメモリ（１）にはマイクロコンピュータを各種論理演算動作させる為のプログラムデータ、テーブルデータ等が記憶される。フラッシュメモリ（１）の第１及び第２記憶領域（１ａ）（１ｂ）は、例えば全記憶容量が各々６４Ｋバイト（１ワード＝８ビットを表す単位）で構成され、６４バイト単位の偶数ブロックＥＶＥＮと奇数ブロックＯＤＤを交互に繰り返すものである（偶数ブロックＥＶＥＮは０，２，４…番目、奇数ブロックＯＤＤは１，３，５…番目を表す）。
【００１０】
ローデコーダ（２）は、フラッシュメモリ（１）を構成する第１又は第２記憶領域（１ａ）（１ｂ）の何れか一方を選択し、選択された側の記憶領域から６４バイト単位の偶数ブロック又は奇数ブロックを選択するものである。第１カラムデコーダ（３）は、第１記憶領域（１ａ）内で指定された６４バイト単位の偶数又は奇数の１ブロック中の所定１バイトのみを選択するものである。第２カラムデコーダ（４）は、第２記憶領域（１ｂ）内で指定された６４バイト単位の偶数又は奇数の１ブロック中の所定１バイトのみを選択するものである。
【００１１】
ページバッファ（５）（６）は、各々６４バイトの格納容量を有し、即ち、第１及び第２記憶領域（１ａ）（１ｂ）を構成する偶数及び奇数ブロックと同一記憶容量を有する。フラグ回路（７）は、ページバッファ（５）（６）の６４バイトの格納位置に１対１に対応する１２８個のフラグを有する。フラグ回路（７）における１２８個の全フラグが論理値「０」に設定された状態から、ページバッファ（５）（６）に対し新規データを格納すると、新規データ格納位置に１対１に対応するフラグは論理値「１」に変化する。フラグ検出回路（８）は、フラグ回路（７）の１２８個の全フラグが論理値「１」になった状態、即ち、ページバッファ（５）（６）に対し１２８バイトの新規データが格納された状態を検出し、論理値「１」の検出信号ＩＤＡＬＬを出力するものである。制御部（９）は、フラグ検出回路（８）から論理値「１」の検出信号ＩＤＡＬＬが供給された時、ページバッファ（５）（６）に対する１２８バイトの新規データ格納動作を再実行させるものである。センスアンプ（１０）は、カラムデコーダ（３）（４）から選択出力される１バイトデータを電流増幅するものである。ＩＯブロック（１１）は、データＤ７〜Ｄ０を入出力するものである。
【００１２】
１６ビットのアドレスデータＡ１５〜Ａ０は、フラッシュメモリ（１）及びページバッファ（５）（６）をアドレス指定する為のデータである。第１記憶領域（１ａ）は、２５６個の偶数ブロックＥＶＥＮ及び２５６個の奇数ブロックＯＤＤを交互に配置した合計５１２ブロックから成る。第２記憶領域（１ｂ）も同様に５１２ブロックから成る。即ち、ローデコーダ（２）は、アドレスデータＡ１５〜Ａ８が供給されることにより第１及び第２記憶領域（５）（６）間で相対応する１対の偶数ブロック及び１対の奇数ブロックの合計４ブロックを選択し、アドレスデータＡ６が供給されることにより１対の偶数ブロック又は１対の奇数ブロックの何れか一方を選択する。カラムデコーダ（３）（４）は、アドレスデータＡ５〜Ａ０が供給されることによりローデコーダ（２）で選択済みの第１及び第２記憶領域（１ａ）（１ｂ）における各１ブロック内の所定１バイトを選択する。但し、カラムデコーダ（３）（４）は、第１又は第２記憶領域（３）（４）の何れか一方を選択する為のアドレスデータＡ７も供給される為、アドレスデータＡ７が論理値「０」の時は第１記憶領域（１ａ）の所定１バイトを選択出力し、アドレスデータＡ７が論理値「１」の時は第２記憶領域（１ｂ）の所定１バイトを選択出力する。
【００１３】
ページバッファ（５）（６）は、第１又は第２記憶領域（１ａ）（１ｂ）の何れの内容を書き換えるかに応じて格納順序が異なる。即ち、第１記憶領域（１ａ）の内容を書き換える場合はページバッファ（５）（６）の順番で新規データを書き込み、第２記憶領域（１ｂ）の内容を書き換える場合はページバッファ（６）（５）の順番で新規データを書き込む。従って、２個のページバッファ（５）（６）は、１２８バイトの格納容量を有する１個のページバッファとして見立てる必要がある為にアドレスデータＡ６〜Ａ０が供給され、ページバッファ（５）（６）の格納順序を決定する為にアドレスデータＡ７が供給される。
【００１４】
フラッシュメモリ（１）の所定１ページの全内容を書き換える場合の動作を説明する。例えば、第２記憶領域（１ｂ）内の隣接する１対の偶数及び奇数ブロック（斜線）の全内容を書き換える場合とする。先ず、ページバッファ（６）（５）に対しページバッファ（６）（５）の順番で１２８バイトの新規データの格納動作が実行される。この時、フラグ回路（７）の全フラグが論理値「１」に変化していない場合、フラグ検出回路（８）は、ページバッファ（６）（５）に対し１２８バイト分の全新規データが格納されなかったものと判断し、制御部（９）に対し論理値「０」の検出信号ＩＤＡＬＬを供給する。制御部（９）は論理値「０」の検出信号ＩＤＡＬＬに従いページバッファ（６）（５）への格納動作を再実行させる。一方、フラグ回路（７）の全フラグが論理値「１」に変化した場合、フラグ検出回路（８）は、ページバッファ（６）（５）に対し１２８バイト分の全新規データが格納されたものと判断し、制御部（９）に対し論理値「１」の検出信号ＩＤＡＬＬを供給する。制御部（９）は論理値「１」の検出信号ＩＤＡＬＬに従い次の書き換えシーケンスに移行させる。即ち、第２記憶領域（１ｂ）内における前記１対の偶数及び奇数ブロックの全内容が消去される。次に、第２記憶領域（１ｂ）の前記偶数ブロックＥＶＥＮ（斜線）に対しページバッファ（６）に格納された６４バイト分の新規データが書き込まれる。次に、ページバッファ（５）に格納された６４バイト分の新規データがＩＯバス（１２）、センスアンプ（１０）、ＩＯブロック（１１）、ＩＯバス（１２）を通ってページバッファ（６）に格納される。次に、第２記憶領域（１ｂ）の前記奇数ブロックＯＤＤ（斜線）に対しページバッファ（６）に格納された別の６４バイト分の新規データが書き込まれる。以上より、第２記憶領域（１ｂ）に対する１ページ分の全データ書き込み動作が終了する。
【００１５】
本発明の実施の形態によれば、フラッシュメモリ（１）の所定１ブロックに対し新規データを確実に書き込むことができる。
【００１６】
【発明の効果】
本発明によれば、不揮発性メモリにおける所定１ブロックの内容を書き換える場合、バッファ回路の各アドレスに１対１に対応するフラグの状態を検出し、全フラグが予め定められた論理値に変化していない場合は書き換え動作を再実行させる様にした為、データ書き換えを確実に実現できる利点が得られる。
【図面の簡単な説明】
【図１】本発明の不揮発性メモリの書き込み回路を示すブロック図である。
【図２】従来の不揮発性メモリの書き込み回路を示すブロック図である。
【符号の説明】
（１）  フラッシュメモリ
（５）（６）  ページバッファ
（７）  フラグ回路
（８）  フラグ検出回路
（９）  制御部
【図１】
0004141042.tif 000002
【図２】
0004141042.tif 000003