(57)【要約】【課題】不揮発性半導体記憶装置のデータの書き換え時間を短縮する。【解決手段】ブロック毎にデータの書き換えが可能な記憶領域と、データを退避するためのＲＡＭ４と、コントローラ３とを備えた不揮発性半導体記憶装置１において、ブロック２内の各セルの状態がイレース状態であればプログラム電圧をかけるプリプログラム過程と、ブロック内の全セルをイレースするイレース過程と、閾値電圧を均一化するポストプログラム過程とを有していて、プリプログラム過程で、ブロック内の各セルの状態を判別するのと同時にＲＡＭへコピーし、ポストプログラム過程で、セルの書き換え後のデータがイレース状態に対応するデータであればセルのイレース後の閾値電圧を均一化するためセルにポストプログラム電圧をかけ、セルの書き換え後のデータがプログラム状態に対応するデータであればセルをプログラム状態にするためセルにプログラム電圧をかけることを特徴とする。【選択図】図１
2011134393.tif 000002
【特許請求の範囲】
【請求項１】
複数のセルを含むブロック毎にセルのデータの書き換えが可能な記憶領域と、
書き換えようとするブロック内のセルのデータを退避するためのＲＡＭと、
前記記憶領域およびＲＡＭの読み書きを制御するコントローラと
を備えた不揮発性半導体記憶装置において、
前記ブロック内のセルに記憶されていたデータの書き換え処理は、
書き換えようとするブロック内の各セルの状態が、プログラム状態であるのか、イレース状態であるのかを判別して、イレース状態であれば、プログラム状態にするため、セルにプログラム電圧をかけるプリプログラム過程と、
書き換えようとするブロック内の全てのセルをイレースするイレース過程と、
イレースしたセルの閾値電圧を均一化するポストプログラム過程とを有していて、
前記プリプログラム過程で、書き換えようとするブロック内の各セルの状態が、プログラム状態であるのか、イレース状態であるのかを判別するのと同時に、各セルの状態をＲＡＭへコピーし、
前記イレース過程の間に、ＲＡＭのデータを書き換え、
前記ポストプログラム過程で、ＲＡＭにある書き換えられたデータに基づいて、セルの書き換え後のデータがイレース状態に対応するデータであれば、セルのイレース後の閾値電圧を均一化するため、セルにポストプログラム電圧をかけ、セルの書き換え後のデータがプログラム状態に対応するデータであれば、セルをプログラム状態にするため、セルにプログラム電圧をかける
ことを特徴とする不揮発性半導体記憶装置。
【請求項２】
請求項１に記載の不揮発性半導体記憶装置と、
前記不揮発性半導体記憶装置と通信するＭＰＵと
を備えていることを特徴とする不揮発性半導体記憶システム。
【請求項３】
複数のセルを含むブロック毎にセルのデータの書き換えが可能な記憶領域と、
書き換えようとするブロック内のセルのデータを退避するためのＲＡＭと、
前記記憶領域およびＲＡＭの読み書きを制御するコントローラと
を備えた不揮発性半導体記憶装置のデータ書き換え方法において、
前記ブロック内のセルに記憶されていたデータの書き換え処理は、
書き換えようとするブロック内の各セルの状態が、プログラム状態であるのか、イレース状態であるのかを判別して、イレース状態であれば、プログラム状態にするため、セルにプログラム電圧をかけるプリプログラム過程と、
書き換えようとするブロック内の全てのセルをイレースするイレース過程と、
イレースしたセルの閾値電圧を均一化するポストプログラム過程とを有していて、
前記プリプログラム過程で、書き換えようとするブロック内の各セルの状態が、プログラム状態であるのか、イレース状態であるのかを判別するのと同時に、各セルの状態をＲＡＭへコピーし、
前記イレース過程の間に、ＲＡＭのデータを書き換え、
前記ポストプログラム過程で、ＲＡＭにある書き換えられたデータに基づいて、セルの書き換え後のデータがイレース状態に対応するデータであれば、セルのイレース後の閾値電圧を均一化するため、セルにポストプログラム電圧をかけ、セルの書き換え後のデータがプログラム状態に対応するデータであれば、セルをプログラム状態にするため、セルにプログラム電圧をかける
ことを特徴とする不揮発性半導体記憶装置のデータ書き換え方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性半導体記憶装置、不揮発性半導体記憶システム、および不揮発性半導体記憶装置のデータ書き換え方法に関する。
【背景技術】
【０００２】
フラッシュメモリは、データの書き換えが可能な不揮発性半導体記憶装置であるが、１バイト単位でイレース状態（例えば“１”状態）からプログラム状態（例えば“０”状態）にすることはできるが、消去することはできず、予めブロック単位でデータを消去してから更新データを書き込む必要がある。
【０００３】
特許文献１には、フラッシュメモリの全消去の前に、書き換え不要なエリアの情報を一時退避するレジスタを設けることが記載されている。また、特許文献２には、外部から転送された実行プログラムを第１のＲＡＭにロードした後に、ＣＰＵの空き時間を利用して、フラッシュメモリに移し、フラッシュメモリで制御を行うことが記載されている。さらに、特許文献３には、旧データの変更部分をフラッシュメモリからＲＡＭへコピーし、ＲＡＭ上で書き換えたプログラムをフラッシュメモリに戻すことが記載されている。
【０００４】
従来のフラッシュメモリを含むシステムにおいて、ＲＡＭは、全てフラッシュメモリの外部にあり、外部のバスを介してフラッシュメモリと接続されていた。このため、フラッシュメモリのデータの書き換えには、フラッシュメモリからＲＡＭへのコピー処理、フラッシュメモリのイレース処理、およびＲＡＭからフラッシュメモリへの書き戻し処理が必要であり、さらに、これらの処理のためのコマンド発行が必要であった。従って、フラッシュメモリのデータの書き換えには、これらの全ての処理を実行する時間が必要であった。
【０００５】
図３は、従来の不揮発性半導体記憶システムのハードウェア構成を示すブロック図である。不揮発性半導体記憶装置１０１は、記憶領域と、コントローラ１０３とを内蔵している。記憶領域は、データを記憶するための領域であり、ブロックに分割されていて、記憶されているデータの更新（書き換え）はブロック毎に行う。コントローラ１０３は、不揮発性半導体記憶装置１０１の動作を制御する。例えば、コントローラ１０３は、記憶領域のブロック１０２内の各セルの状態が、プログラム状態（例えば“０”状態）であるのか、イレース状態（例えば“１”状態）であるのかを判定する機能を有している。
【０００６】
不揮発性半導体記憶装置１０１には、ＭＰＵ１０５が接続されている。ＭＰＵ１０５は、プロセッサ１０６と、ＲＡＭ１０７とを内蔵している。ただし、ＲＡＭ１０７は、必ずしもＭＰＵ１０５に内蔵されている必要はなく、ＭＰＵ１０５および不揮発性半導体記憶装置１０１の外部にあってもよい。プロセッサ１０６は、不揮発性半導体記憶装置１０１内のコントローラ１０３と通信して、データ更新動作を制御する。例えば、プロセッサ１０６は、コントローラ１０３にイレース開始命令を送る。ＲＡＭ１０７には、不揮発性半導体記憶装置１０１内の更新しようとするデータを含むブロック１０２のデータがコピーされ、ここでデータの更新が行われる。
【０００７】
図４は、従来の不揮発性半導体記憶装置１０１に記憶されていたデータを更新する際の処理手順を示すフローチャートである。まず、ステップＳ１０１で、不揮発性半導体記憶装置１０１の記憶領域のうち、更新しようとするデータを含むブロック１０２内のデータを全て、不揮発性半導体記憶装置１０１の外部の、ＭＰＵ１０５内のＲＡＭ１０７にコピー（退避）する。次に、ステップＳ１０２で、ＲＡＭ１０７にコピーしたデータのうち、必要な部分を更新する。次に、ステップＳ１０３で、不揮発性半導体記憶装置１０１の記憶領域の該当ブロック１０２内のデータを全てイレースする。最後に、ステップＳ１０４で、ＭＰＵ１０５のＲＡＭ１０７内の更新したデータを含むブロック全体のデータを、不揮発性半導体記憶装置１０１の記憶領域の該当ブロック１０２に書き戻す。
【０００８】
図５は、図４内のステップＳ１０３におけるイレース処理の詳細な過程を示すフローチャートである。イレース処理は、プリプログラム過程、イレース過程、ポストプログラム過程に分かれている。
【０００９】
プリプログラム過程においては、該当ブロック１０２内のイレース状態（例えば“１”状態）のセルを全てプログラム状態（例えば“０”状態）にする。このため、まず、ステップＳ３０１で、該当ブロック１０２の先頭アドレスから順に、各セルの状態が、プログラム状態であるのか、イレース状態であるのかをチェック（ベリファイ）する。次に、ステップＳ３０２で、チェックしたセルの状態に応じて分岐を行う。すなわち、セルの状態がプログラム状態であれば（ＮＯ）、ステップＳ３０４に進む。セルの状態がイレース状態であれば（ＹＥＳ）、ステップＳ３０３に進む。ステップＳ３０３では、イレース状態のセルにプログラムストレスをかけ、プログラム状態にする。ステップＳ３０４では、プリプログラム処理がブロック１０２の最終アドレスまで済んだかどうかを判断する。済んでいないのであれば（ＮＯ）、ステップＳ３０１に戻り、次のアドレスのセルのプリプログラム処理を行う。最終アドレスまで済んだのであれば（ＹＥＳ）、次のイレース過程のステップＳ３０５に進む。
【００１０】
イレース過程のステップＳ３０５では、ブロック１０２内の全てのセルをイレースし、かつ正常なイレース状態になったかどうかをチェック（ベリファイ）する。イレース過程が終了したら、次のポストプログラム過程のステップＳ３０６に進む。
【００１１】
ポストプログラム過程においては、ブロック１０２内のイレースされている全てのセルについて、閾値電圧Ｖｔを均一化する。このため、まず、ステップＳ３０６で、ブロック１０２の先頭アドレスから順に、各セルにポストプログラムストレス（ポストプログラム電圧）をかけ、各セルの閾値電圧Ｖｔを均一化する。さらに、正常な閾値電圧Ｖｔになったかどうかをチェック（ベリファイ）する。次に、ステップＳ３０７で、ポストプログラム処理（閾値電圧Ｖｔの均一化）がブロック１０２内の最終アドレスまで済んだかどうかを判断する。済んでいないのであれば（ＮＯ）、ステップＳ３０６に戻り、次のアドレスのセルのポストプログラム処理を実行する。最終アドレスまで済んだのであれば（ＹＥＳ）、ポストプログラム過程を終了し、かつイレース処理全体（図４におけるステップＳ１０３）を終了する。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開平5-233478号公報
【特許文献２】特開平9-146767号公報
【特許文献３】特開2002-14833号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
従来のフラッシュメモリの書き換え処理は、まずフラッシュメモリから外部のＲＡＭへ該当ブロックのデータをコピーし、次にＲＡＭのデータを更新し、次にフラッシュメモリの該当ブロックを消去し、最後にＲＡＭからフラッシュメモリに更新データを書き戻すものであった。このため、書き換え処理に時間がかかるという問題があった。
【課題を解決するための手段】
【００１４】
上記の課題を解決するために、本発明は、複数のセルを含むブロック毎にセルのデータの書き換えが可能な記憶領域と、書き換えようとするブロック内のセルのデータを退避するためのＲＡＭと、前記記憶領域およびＲＡＭの読み書きを制御するコントローラとを備えた不揮発性半導体記憶装置において、前記ブロック内のセルに記憶されていたデータの書き換え処理は、書き換えようとするブロック内の各セルの状態が、プログラム状態であるのか、イレース状態であるのかを判別して、イレース状態であれば、プログラム状態にするため、セルにプログラム電圧をかけるプリプログラム過程と、書き換えようとするブロック内の全てのセルをイレースするイレース過程と、イレースしたセルの閾値電圧を均一化するポストプログラム過程とを有していて、前記プリプログラム過程で、書き換えようとするブロック内の各セルの状態が、プログラム状態であるのか、イレース状態であるのかを判別するのと同時に、各セルの状態をＲＡＭへコピーし、前記イレース過程の間に、ＲＡＭのデータを書き換え、前記ポストプログラム過程で、ＲＡＭにある書き換えられたデータに基づいて、セルの書き換え後のデータがイレース状態に対応するデータであれば、セルのイレース後の閾値電圧を均一化するため、セルにポストプログラム電圧をかけ、セルの書き換え後のデータがプログラム状態に対応するデータであれば、セルをプログラム状態にするため、セルにプログラム電圧をかけることを特徴とする。
【００１５】
また、本発明は、上記の不揮発性半導体記憶装置と、前記不揮発性半導体記憶装置と通信するＭＰＵとを備えていることを特徴とする不揮発性半導体記憶システムである。
【００１６】
また、本発明は、複数のセルを含むブロック毎にセルのデータの書き換えが可能な記憶領域と、書き換えようとするブロック内のセルのデータを退避するためのＲＡＭと、前記記憶領域およびＲＡＭの読み書きを制御するコントローラとを備えた不揮発性半導体記憶装置のデータ書き換え方法において、前記ブロック内のセルに記憶されていたデータの書き換え処理は、書き換えようとするブロック内の各セルの状態が、プログラム状態であるのか、イレース状態であるのかを判別して、イレース状態であれば、プログラム状態にするため、セルにプログラム電圧をかけるプリプログラム過程と、書き換えようとするブロック内の全てのセルをイレースするイレース過程と、イレースしたセルの閾値電圧を均一化するポストプログラム過程とを有していて、前記プリプログラム過程で、書き換えようとするブロック内の各セルの状態が、プログラム状態であるのか、イレース状態であるのかを判別するのと同時に、各セルの状態をＲＡＭへコピーし、前記イレース過程の間に、ＲＡＭのデータを書き換え、前記ポストプログラム過程で、ＲＡＭにある書き換えられたデータに基づいて、セルの書き換え後のデータがイレース状態に対応するデータであれば、セルのイレース後の閾値電圧を均一化するため、セルにポストプログラム電圧をかけ、セルの書き換え後のデータがプログラム状態に対応するデータであれば、セルをプログラム状態にするため、セルにプログラム電圧をかけることを特徴とする。
【００１７】
本発明による不揮発性半導体記憶装置は、ＲＡＭを内蔵し、かつ従来のイレース処理のプリプログラム過程の中のベリファイのステップと同時にＲＡＭへのコピー処理を行い、さらにイレース処理のポストプラグラム過程の中のポストプログラムストレスをかけるステップと同時にＲＡＭからの書き戻し処理を行う。
【発明の効果】
【００１８】
本発明は、不揮発性半導体記憶装置のデータを更新する際の外部処理の時間を削減し、不揮発性半導体記憶装置のデータ更新時間を飛躍的に短縮することができる。従って、不揮発性半導体記憶装置を含む不揮発性半導体記憶システムの性能を飛躍的に向上させることができるという効果を奏する。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施形態による不揮発性半導体記憶システムのハードウェア構成を示すブロック図である。
【図２】本発明の不揮発性半導体記憶装置に記憶されていたデータを更新する際の処理手順を示すフローチャートである。
【図３】従来の不揮発性半導体記憶システムのハードウェア構成を示すブロック図である。
【図４】従来の不揮発性半導体記憶装置に記憶されていたデータを更新する際の処理手順を示すフローチャートである。
【図５】図４内のステップＳ１０３におけるイレース処理の詳細な過程を示すフローチャートである。
【発明を実施するための形態】
【００２０】
図１は、本発明の一実施形態による不揮発性半導体記憶システムのハードウェア構成を示すブロック図である。不揮発性半導体記憶装置１は、記憶領域と、コントローラ３と、ＲＡＭ４とを内蔵している。記憶領域は、データを記憶するための領域であり、ブロックに分割されていて、記憶されているデータの更新（書き換え）は、ブロック毎に行う。コントローラ３は、不揮発性半導体記憶装置１の動作を制御する。例えば、コントローラ３は、記憶領域のブロック２内の各セルの状態が、プログラム状態（例えば“０”状態）であるのか、イレース状態（例えば“１”状態）であるのかを判定する機能を有している。ＲＡＭ４には、更新しようとするデータを含むブロック２のデータがコピー（退避）され、ここでデータの更新が行われる。
【００２１】
図１には示していないが、不揮発性半導体記憶装置１は、セルをプログラム状態にするためのプログラム電圧と、イレース後のセルの閾値電圧Ｖｔを均一化するためのポストプログラム電圧とを発生するレギュレータを有している。さらに、セルにかける電圧を切り換えるための電圧切換スイッチも有している。
【００２２】
不揮発性半導体記憶装置１には、ＭＰＵ５が接続されている。ＭＰＵ５は、プロセッサ６を内蔵している。プロセッサ６は、不揮発性半導体記憶装置１内のコントローラ３と通信して、データ更新動作を制御する。例えば、プロセッサ６は、コントローラ３に更新動作開始命令を送る。また、プロセッサ６は、不揮発性半導体記憶装置１内のＲＡＭ４に、データの更新情報（データのどのビットをどのような値に書き換えるのかを示す情報）を送る。
【００２３】
図２は、不揮発性半導体記憶装置１に記憶されていたデータを更新する際の処理手順を示すフローチャートである。データ更新処理は、プリプログラム過程、イレース過程、ポストプログラム過程に分かれている。
【００２４】
プリプログラム過程においては、更新しようとするデータを含むブロック２の全てのデータをＲＡＭ４にコピー（退避）すると共に、イレース状態のセルを全てプログラム状態にする。このため、まず、ステップＳ１で、ブロック２の先頭アドレスから順に、各セルの状態が、プログラム状態であるのか、イレース状態であるのかをチェック（ベリファイ）する。同時に、チェックしたセルの状態すなわち記憶されているデータをＲＡＭ４にコピーする。次に、ステップＳ２で、チェックしたセルの状態に応じて分岐を行う。すなわち、セルの状態がプログラム状態であれば（ＮＯ）、ステップＳ４に進む。セルの状態がイレース状態であれば（ＹＥＳ）、ステップＳ３に進む。ステップＳ３では、イレース状態のセルにプログラムストレス（プログラム電圧）をかけ、プログラム状態にする。ステップＳ４では、プリプログラム処理がブロック２の最終アドレスまで済んだかどうかを判断する。済んでいないのであれば（ＮＯ）、ステップＳ１に戻り、次のアドレスのセルのプリプログラム処理を行う。最終アドレスまで済んだのであれば（ＹＥＳ）、次のイレース過程のステップＳ５に進む。
【００２５】
イレース過程のステップＳ５では、ブロック２内の全てのセルをイレースし、かつ正常なイレース状態になったかどうかをチェック（ベリファイ）する。並行して、ＲＡＭ４にコピーしたデータを更新する。イレース過程が終了したら、次のポストプログラム過程のステップＳ６に進む。
【００２６】
ポストプログラム過程においては、ブロック２内のイレース状態のセルの閾値電圧Ｖｔを均一化する。同時に、データ更新によってプログラム状態にするべきセルについては、プログラム電圧をかけて、データの書き込みを行う。イレース後の閾値電圧Ｖｔを均一化するためのポストプログラム電圧と、セルをプログラム状態にするためのプログラム電圧とは異なるが、これらの電圧は、レギュレータによって発生する。また、セルにかける電圧の切り換えは、ＲＡＭ４のデータを参照して、更新後の各セルの状態に応じて、電圧切換スイッチによって行う。
【００２７】
まず、ステップＳ６で、ブロック２の先頭アドレスから順に、各セルにストレスをかける。このとき、ＲＡＭ４に記憶されている更新後のデータを参照し、セルの更新後のデータがイレース状態に対応するデータであれば、セルのイレース後の閾値電圧Ｖｔを均一化するため、セルにポストプログラム電圧をかけ、さらに正常な閾値電圧Ｖｔになったかどうかをチェック（ベリファイ）する。セルの更新後のデータがプログラム状態に対応するデータであれば、セルをプログラム状態にするため、セルにプログラム電圧をかける。次に、ステップＳ７で、ポストプログラム処理（ポストプログラム電圧またはプログラム電圧の印加）がブロック２内の最終アドレスのセルまで済んだかどうかを判断する。済んでいないのであれば（ＮＯ）、ステップＳ６に戻り、次のアドレスのセルのポストプログラム処理を行う。最終アドレスのセルまで済んだのであれば（ＹＥＳ）、ポストプログラム過程を終了し、かつデータ更新処理全体を終了する。
【００２８】
本発明においては、ＲＡＭへのコピー処理を、プリプログラム過程の中のベリファイと同時に行う。また、ＲＡＭからの書き戻し処理を、ポストプログラム過程の中のポストプログラムストレス（ポストプログラム電圧）の印加と同時に行う。これにより、データ更新時間を飛躍的に短縮することができる。すなわち、従来、データ更新＝ＲＡＭへのコピー処理＋イレース処理＋ＲＡＭからの書き戻し処理であったものが、本発明では、データ更新＝イレース処理のみとなる。さらに、ＲＡＭを不揮発性半導体記憶装置に内蔵したので、不揮発性半導体記憶装置１とＭＰＵ５の間でのコマンド発行も削減される。
【００２９】
例えば、ブロックが５１２ワードで、従来のコピー処理に要する時間が１ワード当たり６５ｎｓで、コマンド発行に要する時間が１ワード当たり６５ｎｓで、書き戻し処理に要する時間が１ワード当たり５００ｎｓであったとすると、本発明によって短縮されるデータ更新時間は、
コピー処理：６５ｎｓ×５１２＝３３μｓ
コマンド発行：６５ｎｓ×５１２＝３３μｓ
書き戻し処理：５００ｎｓ×５１２＝２５６μｓ
なので、合計３２２μｓとなる。ブロックが３２Ｋワードであれば、３２２μｓ×（３２Ｋ／５１２）＝約２０ｍｓ短縮することができる。
【符号の説明】
【００３０】
１  不揮発性半導体記憶装置
２  ブロック
３  コントローラ
４  ＲＡＭ
５  ＭＰＵ
６  プロセッサ
【図１】
2011134393.tif 000003
【図２】
2011134393.tif 000004
【図３】
2011134393.tif 000005
【図４】
2011134393.tif 000006
【図５】
2011134393.tif 000007