(57)【特許請求の範囲】
【請求項１】
不揮発性メモリの指定されたアドレスから読み出し電圧によりデータを読み出してバッファーに格納する読み出し制御回路と、
指定されたプログラムデータを前記読み出しと同時にバッファーに格納し、前記読み出されたデータのうち既に書き込まれているビットが存在すると、前記格納されたプログラムデータの対応するビットを書き込まないように変更し、変更されたプログラムデータを前記不揮発性メモリの前記指定されたアドレスに書き込む書き込み制御回路と、を備え、
書き込み前に読み出しシーケンスを追加することによる書き込みシーケンスの時間が増加しないように、書き込みをする前に、既に前記不揮発性メモリ内に準備されている読み出し電圧により、前記バッファーにプログラムデータをセットするのと同時に、前記不揮発性メモリセルを読み出し、書き込まれている（ｐｒｏｇｒａｍｍｅｄ）データのメモリセルに対しては書き込みを行わない
ことを特徴とする不揮発性メモリの制御装置。
【請求項２】
前記不揮発性メモリに書き込まれたデータを読み出し電圧より高いベリファイ電圧で読み出し、読み出されたデータのうち既に書き込まれているビットに対応する前記変更されたプログラムデータのビットを書き込まないように変更し、まだ書き込まれていないデータが存在すると、前記不揮発性メモリに書き込むように前記書き込み制御回路に指示するベリファイ制御回路をさらに備える
ことを特徴とする請求項１に記載の不揮発性メモリの制御装置。
【請求項３】
読み出し制御回路によって、不揮発性メモリの指定されたアドレスから読み出し電圧によりデータを読み出してバッファーに格納する過程と、
書き込み制御回路によって、指定されたプログラムデータを前記読み出しと同時にバッファーに格納し、前記読み出されたデータのうち既に書き込まれているビットが存在すると、前記格納されたプログラムデータの対応するビットを書き込まないように変更し、変更されたプログラムデータを前記不揮発性メモリの前記指定されたアドレスに書き込む過程と、を有し、
書き込み前に読み出しシーケンスを追加することによる書き込みシーケンスの時間が増加しないように、書き込みをする前に、既に前記不揮発性メモリ内に準備されている読み出し電圧により、前記バッファーにプログラムデータをセットするのと同時に、前記不揮発性メモリセルを読み出し、書き込まれている（ｐｒｏｇｒａｍｍｅｄ）データのメモリセルに対しては書き込みを行わない
ことを特徴とする不揮発性メモリの制御方法。
【請求項４】
ベリファイ制御回路によって、前記不揮発性メモリに書き込まれたデータを読み出し電圧より高いベリファイ電圧で読み出し、読み出されたデータのうち既に書き込まれているビットに対応する前記変更されたプログラムデータのビットを書き込まないように変更し、まだ書き込まれていないデータが存在すると、前記不揮発性メモリに書き込むように前記書き込み制御回路に指示する過程をさらに有する
ことを特徴とする請求項３に記載の不揮発性メモリの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリの制御装置および制御方法に関する。
【背景技術】
【０００２】
不揮発性メモリは、半導体メモリの中でも、電源を切っても記憶内容を保持することができるメモリの総称である。ＲＯＭ（リードオンリメモリ）、ＦｅＲＡＭ（強誘電体メモリ）、ＰＲＡＭ（相変化メモリ）等がある。
ＲＯＭには、製造段階でデータが書き込まれ、後から内容を書き換えることができないマスクＲＯＭと、データを書き込むことができるＰＲＯＭがある。
ＰＲＯＭには、一度だけデータを書き込めるワンタイムＰＲＯＭと、一定回数の消去と書き込みが可能なＥＰＲＯＭがある。
ＥＰＲＯＭには、紫外線を利用してデータを消去するＵＶ−ＥＰＲＯＭ、通常より高い電圧をかけてデータを消去するＥＥＰＲＯＭ、フラッシュメモリ、等がある。
フラッシュメモリは、従来のＥＥＰＲＯＭと比べて高速なアクセスが可能であるが、ブロック単位で消去、書き込みを行う。ＮＯＲ型フラッシュメモリ、ＮＡＮＤ型フラッシュメモリの２種類に大別される。なお、フラッシュメモリはＲＯＭでもＲＡＭでもないメモリとして分類される場合もある。
ＦｅＲＡＭは、電圧を加えることによって物質内の自発分極の方向を変化させてデータを記憶させる。
ＰＲＡＭは、温度変化によって、ある種の物質の結晶相とアモルファス相を切り替えて、両者の状態の違いをデータの記憶に利用する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−７０７４号公報
【特許文献２】特開平５−８９６８７号公報
【特許文献３】特開平８−３０６１９２号公報
【特許文献４】国際公開第０１／６１５０３号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【０００４】
フラッシュメモリは、絶縁体で囲まれたフローティングゲートと呼ばれる電極に電圧を加えて電荷を蓄積することで情報を記憶するが、時間の経過とともに電圧が低下していき（一例として、１０年〜数十年）、“０”として読み出されるべきデータが“１”として読み出されるデータリテンション不良が発生する。
【０００５】
そこで、データ読み出し処理において、メモリセルに対して読み出し電圧でデータを読み出した後、“０”データを読み出したメモリセルに対して、さらに書き込みが行われる。すると、メモリセルへの書き込み回数が増加する。フラッシュメモリの絶縁体となる酸化膜は電子が貫通することによって劣化するので、ドレインディスターブにより、メモリセルの閾値電圧が低下し、書き込まれたデータの読み出し不良を引き起こす可能性が高まる。
【０００６】
また、データ書き込み処理において、メモリセルへの書き込み回数を減少させるため、データの書き込み前にメモリセルのベリファイを行い、既に書き込まれているメモリセルには書き込みしないことにすると、プログラム時間が増加する。そこで、従来のデータの書き込みは、書き込み前のベリファイを省略して書き込み時間を短縮している。すなわち、既にデータが書き込まれているメモリセルにも書き込み電圧が印加されるため、ドレインディスターブが問題となる。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明による不揮発性メモリの制御装置は、不揮発性メモリの指定されたアドレスから読み出し電圧によりデータを読み出してバッファーに格納する読み出し制御回路と、指定されたプログラムデータを前記読み出しと同時にバッファーに格納し、前記読み出されたデータのうち既に書き込まれているビットが存在すると、前記格納されたプログラムデータの対応するビットを書き込まないように変更し、変更されたプログラムデータを前記不揮発性メモリの前記指定されたアドレスに書き込む書き込み制御回路と、を備える。
【０００８】
上記不揮発性メモリの制御装置は、好ましくは、前記不揮発性メモリに書き込まれたデータを読み出し電圧より高いベリファイ電圧で読み出し、読み出されたデータのうち既に書き込まれているビットに対応する前記変更されたプログラムデータのビットを書き込まないように変更し、まだ書き込まれていないデータが存在すると、前記不揮発性メモリに書き込むように前記書き込み制御回路に指示するベリファイ制御回路をさらに備える。
【０００９】
また、本発明による不揮発性メモリの制御方法は、読み出し制御回路によって、不揮発性メモリの指定されたアドレスから読み出し電圧によりデータを読み出してバッファーに格納する過程と、書き込み制御回路によって、指定されたプログラムデータを前記読み出しと同時にバッファーに格納し、前記読み出されたデータのうち既に書き込まれているビットが存在すると、前記格納されたプログラムデータの対応するビットを書き込まないように変更し、変更されたプログラムデータを前記不揮発性メモリの前記指定されたアドレスに書き込む過程と、を有する。
【００１０】
上記不揮発性メモリの制御方法は、好ましくは、ベリファイ制御回路によって、前記不揮発性メモリに書き込まれたデータを読み出し電圧より高いベリファイ電圧で読み出し、読み出されたデータのうち既に書き込まれているビットに対応する前記変更されたプログラムデータのビットを書き込まないように変更し、まだ書き込まれていないデータが存在すると、前記不揮発性メモリに書き込むように前記書き込み制御回路に指示する過程をさらに有する。
【発明の効果】
【００１１】
本発明により、既にデータが書き込まれているメモリセルへの書き込みを防止することができる。また、書き込み前のベリファイを省略することにより、従来と同等の時間で書き込みを完了することができる。
【図面の簡単な説明】
【００１２】
【図１】一実施形態による不揮発性メモリの制御装置の構成を示す図である。
【図２】一実施形態による不揮発性メモリの書き込み処理の流れを示す図である。
【図３】不揮発性メモリの制御装置にプログラムコマンドが入力されたときのタイミングチャートの一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について、詳細に説明する。
本発明は、ドレインディスターブを防止するために、書き込みをする前に、読み出し電圧により不揮発性メモリセルを読み出し、“０”データのメモリセルに対しては書き込みを行わない。この読み出し動作は、既に不揮発性メモリ内に準備されている読み出し電圧を利用することにより、バッファーにプログラムデータをセットするのと同時に行うので、従来、書き込み前に読み出しシーケンスを追加することによって書き込みシーケンスの時間が増加していたのを防止する。
【００１４】
図１は、一実施形態による不揮発性メモリの制御装置の構成を示す。図１に示す不揮発性メモリの制御装置は、バッファー回路１、書き込み制御回路２、ベリファイ制御回路３、読み出し制御回路４、不揮発性メモリアレイ５を備える。不揮発性メモリアレイ５は、複数ワード以上のデータを書き込むことができる。書き込み制御回路２、ベリファイ制御回路３、読み出し制御回路４は、それぞれ、データの書き込み、ベリファイ、読み出しを制御する。バッファー回路１には、書き込み制御回路２が不揮発性メモリアレイ５に書き込むデータ、ベリファイ制御回路３および読み出し制御回路４が不揮発性メモリアレイ５から読み出したデータが一時的に記憶される。
【００１５】
次に、図２を参照して、一実施形態による不揮発性メモリの書き込み処理の流れを説明する。不揮発性メモリの制御装置にプログラムコマンドが入力されると、図２に示す処理が開始される。プログラムコマンドは、例えば、書き込みアドレス、プログラムデータのデータサイズを指定する情報を含む。プログラムコマンド、プログラムデータは、例えば、不揮発性メモリの制御装置とバスを介して接続された（図示しない）他の処理装置、記憶手段、等から与えられる。
【００１６】
以下のステップＳ１〜Ｓ５は、所定のデータサイズを単位として複数回に分けて行い、プログラムコマンドによって指定されたプログラムデータが全て処理されるまで繰り返す。
【００１７】
書き込み制御回路２は、書き込みアドレスを設定する（ステップＳ１）。初回の書き込みアドレスはプログラムコマンドに従って設定され、２回目以降は前回の書き込みアドレスを所定のデータサイズだけ増加させる。
【００１８】
次に、書き込み制御回路２は、バッファー回路１に所定のデータサイズのプログラムデータを格納する（ステップＳ２）。
【００１９】
書き込み制御回路２によるステップＳ２の処理と同時に、読み出し制御回路４は、不揮発性メモリセルアレイ５にアクセスし、ステップＳ１で設定された書き込みアドレスから所定のデータサイズのデータを読み出し、バッファー回路１に転送する（ステップＳ３）。
【００２０】
なお、バッファー回路１へのプログラムデータの格納と、バッファー回路１への不揮発性メモリセルアレイ５から読み出されたデータの転送とを同時に行うために次の構成が可能であるが、これに限定されない。例えば、バッファー回路１に、書き込み制御回路２用のメモリ素子Ａと、読み出し制御回路４およびベリファイ制御回路３用のメモリ素子Ｂを設け、下記のステップＳ４の処理を行うときには書き込み制御回路２がメモリ素子Ｂにもアクセスできるように回路の接続を切り替え、下記のステップＳ７、Ｓ８の処理を行うときには、ベリファイ制御回路３がメモリ素子Ａにもアクセスできるように回路の接続を切り替える手段を設ける。
【００２１】
ステップＳ３で読み出したデータは、ステップＳ２でバッファー回路１に格納されたプログラムデータと１ビットずつ比較される。不揮発性メモリセルアレイ５から読み出したデータが“０”であるとき、バッファー回路１に格納された対応するプログラムデータを“１”に変更する（ステップＳ４）。“１”に変更されると、後述する書き込み処理において、対応するメモリセルに書き込み電圧が印加されないことになる。ステップＳ２でバッファー回路１に格納されたプログラムデータと、ステップＳ３で不揮発性メモリセルアレイ５から読み出されたデータとの比較および変更が終了すると、書き込みデータが確定される（ステップＳ５）。
【００２２】
プログラムコマンドによって指定されたプログラムデータの全てについてステップＳ１〜Ｓ５が完了すれば、ステップＳ７に進み、書き込みを開始する。プログラムデータがまだ存在する場合は、ステップＳ１に戻る。
【００２３】
以下のステップＳ７〜Ｓ９は、所定のデータサイズを単位として複数回に分けて行い、プログラムコマンドによって指定されたプログラムデータが全て処理されるまで繰り返す。
【００２４】
ステップＳ７において、書き込み制御回路２は、バッファー回路１に格納された書き込みデータのうち所定のデータサイズのデータを不揮発性メモリアレイ５に書き込む。すなわち、書き込みデータのうち“０”に対応するメモリセルに書き込み電圧が印加される。初回の書き込みアドレスはプログラムコマンドに従って設定され、２回目以降は前回の書き込みアドレスを所定のデータサイズだけ増加させる。ただし、ステップＳ８からステップＳ７に戻った場合は、正常に書き込まれなかったデータを再度書き込むため、書き込みアドレスは変更しない。
【００２５】
次にステップＳ８に進み、ベリファイ制御回路３は、ステップＳ７で書き込まれたデータを、読み出し電圧より高いベリファイ電圧で読み出し、バッファー回路１に転送する。読み出し電圧より高いベリファイ電圧で読み出すことにより、メモリセルの閾値電圧が読み出し電圧より高い電圧に設定されるので、データリテンション不良を防止することができる。
【００２６】
ベリファイ制御回路３は、ステップＳ５で確定された書き込みデータと、ここで読み出したデータとを１ビットずつ比較する。読み出したデータが“０”であり、対応する書き込みデータも“０”であるとき、対応する書き込みデータを“１”に変更する。
ステップＳ５で確定された書き込みデータが全て正常に不揮発性メモリアレイ５に書き込まれていれば、対応する書き込みデータは全て“１”に変更され、“０”であるデータはなくなる。しかし、不揮発性メモリアレイ５への書き込みが正常に行われず、“１”が読み出されたデータが存在すると、“１”に変更されずに“０”のままである書き込みデータが存在することになる。
書き込みデータが全て“１”である場合はステップＳ９に進み、そうでなければ、ステップＳ７に戻り、変更後の書き込みデータを不揮発性メモリアレイ５に書き込むように書き込み制御回路２に指示する。
【００２７】
ステップＳ９において、ステップＳ５で確定された全ての書き込みデータについて処理が完了すればプログラムを終了し、そうでなければステップＳ７に戻る。
【００２８】
次に、図３を参照して、不揮発性メモリの制御装置にプログラムコマンドが入力されたときのタイミングチャートの一例を説明する。
【００２９】
不揮発性メモリの制御装置にプログラムコマンドが入力されると、読み出し制御回路４は、Ｔ１〜Ｔ２の間、不揮発性メモリセルアレイ５に読み出しアドレス信号（ReadAddress）ＡＡ（ＡＡは、あるアドレスを表わす。）を出力し、読み出しデータ信号の検出を開始する（SensingStart）。
一方、書き込み制御回路２は、この不揮発性メモリの制御装置の外部からプログラムデータを取り込むとともに、バッファー回路１に書き込みアドレス信号（Write Address）ＡＡを出力する。
【００３０】
Ｔ２において、不揮発性メモリセルアレイ５から読み出しデータ信号（Read Data (AA)）が出力されるので、読み出し制御回路４は、これを検出してバッファー回路１に転送する。
一方、書き込み制御回路２は、Ｔ２とＴ３の間のProgramDataLoad信号の立ち下がりのタイミングで、バッファー回路１にプログラムデータ信号（ProgramData）ＡＡを出力し、外部から取り込んだプログラムデータを書き込む。
【００３１】
次に、アドレスＢＢ（ＢＢは、あるアドレスを表わす。）について、Ｔ３〜Ｔ４でＴ１〜Ｔ２と同様の処理を行い、Ｔ４〜Ｔ６（図示しない）でＴ２〜Ｔ４と同様の処理を行う。これを繰り返して、バッファー回路１に、所定のデータサイズの読み出しデータとプログラムデータを格納する。すなわち、Ｔ２〜Ｔ４と同様の動作を繰り返すことによって、図２を参照して説明した不揮発性メモリからのデータの読み出し（ステップＳ３）、プログラムデータのセット（ステップＳ２）が行われる。
【００３２】
そして、この所定のデータサイズのデータについて、図２を参照して説明したデータの比較（ステップＳ４）、書き込みデータの確定（ステップＳ５）が行われ、全ての書き込みデータが準備された後、不揮発性メモリアレイ５への書き込み（ステップＳ７以降）が行われる。
【産業上の利用可能性】
【００３３】
本発明は、不揮発性メモリに対する読み出し、書き込み、ベリファイを制御する回路に利用することができ、例えば、ＮＯＲ型フラッシュメモリ、ＮＡＮＤ型フラッシュメモリ、ＰＲＡＭの制御回路に利用することができるが、これらに限定されない。
【符号の説明】
【００３４】
１…バッファー回路  ２…書き込み制御回路  ３…ベリファイ制御回路  ４…読み出し制御回路  ５…不揮発性メモリアレイ
【図１】
0005453078.tif 000002
【図２】
0005453078.tif 000003
【図３】
0005453078.tif 000004