(57)【要約】【課題】品質の悪いブロックが使用される虞を低減させることが出来る電子機器を提供する。データの書き込みエラーを防止することができる電子機器を提供する。【解決手段】電子機器（１０）は、複数のブロックから形成され、データが書き込まれる実データ領域（ＡＲＥ１）と、実データ領域を管理するために用いられる管理データ領域（ＡＲＥ１）とを有する記憶部と、実データ領域に対する書き込み回数が規定回数以上となったブロックに対しては、データが書き込まれることを禁止する制御部とを有する。制御部は、実データ領域の書き込み対象ブロックにおいてデータが書き込まれるときにエラーが発生した場合には、書き込み対象ブロックの書き込み回数に書き込みエラーに対応した所定回数を加算し、所定回数が加算された書き込み回数を管理データとして管理データ領域に書き込む。【選択図】図１
2010134899.tif 000002
【特許請求の範囲】
【請求項１】
複数のブロックから形成され、データが書き込まれる実データ領域と、当該実データ領域を管理するために用いられる管理データ領域とを有する記憶部と、
前記実データ領域に対する書き込み回数が規定回数以上となったブロックに対しては、データが書き込まれることを禁止する制御部と
を有し、
前記制御部は、
前記実データ領域の書き込み対象ブロックにおいてデータが書き込まれるときにエラーが発生した場合には、前記書き込み対象ブロックの書き込み回数に前記書き込みエラーに対応した所定回数を加算し、当該所定回数が加算された書き込み回数を前記管理データとして前記管理データ領域に書き込む
電子機器。
【請求項２】
前記制御部は、
前記書き込みエラーが発生した前記実データ領域の前記書き込み対象ブロックに対してデータの書き込みを規定回数試み、
前記規定回数内に前記データの書き込みが成功した場合には、前記規定回数内にデータの書き込みに失敗した回数に基づいた前記規定回数に前記所定回数を加算し、当該所定回数が加算された前記規定回数を前記管理データ領域の該当箇所に書き込み、
前記規定回数内に前記データの書き込みが失敗した場合には、前記書き込み対象ブロックへのデータの書き込みを禁止する
請求項１記載の電子機器。
【請求項３】
前記管理データ領域は、複数の管理ブロックから形成され、
前記制御部は、前記複数の管理ブロックをリングバッファとして、前記実データ領域を管理するための管理データを前記管理ブロックに書き込む
請求項１または２に記載の電子機器。
【請求項４】
前記制御部は、
前記書き込み対象ブロックに対するエラーを検出し、当該エラーの訂正に失敗した場合には、前記書き込み対象ブロックへのデータの書き込みを禁止する
請求項１から３のいずれか一に記載の電子機器。
【請求項５】
複数のブロックからなる記憶部へのデータの書き込み制御を行う電子機器の制御方法であって、
前記記憶部の前記複数のブロックの中からデータの書き込みを行うブロックを選択する選択工程と、
前記ブロックへデータを書き込む場合において、選択されたブロックへの前記データの書き込みが成功したとき、当該ブロックに対する書き込み回数を１回分増加させ、選択されたブロックへのデータの書き込み時にエラーが発生したとき、当該ブロックに対する書き込み回数を１回よりも多い所定回数分増加させて記憶する記憶工程と、
を備え、
前記選択工程では、前記書き込み回数が規定回数よりも小さいブロックを選択する
ことを特徴とする電子機器の制御方法。
【請求項６】
請求項５に記載の制御方法であって、
前記データの書き込み時にエラーが発生した場合において、再度データの書き込みを試みるデータ再書き込み工程を備えることを特徴とする電子機器の制御方法。
【請求項７】
複数のブロックからなりデータが記憶される実データ領域と、前記ブロックへのデータの書き込み回数を記憶する管理データ領域と、を有する記憶部と、
書き込みを行うブロックを実データ領域から選択する選択部と、
当該選択部によって選択されたブロックへデータを書き込む制御部と、
を備え、
前記制御部は、
選択した所定のブロックへのデータの書込みが成功した場合、所定のブロックに対する書き込み回数を１回分増加させて前記管理データ領域へ記憶し、
選択した所定のブロックへのデータの書込み時にエラーが発生した場合、所定のブロックに対する書き込み回数を１回分より多い所定回数分増加させて前記管理データ領域へ記憶し、
前記選択部は、実データ領域の複数のブロックから書き込み対象のブロックを選択するとき、書き込み回数が一番少ないブロックを選択する
電子機器。
【請求項８】
複数のブロックからなる記憶部へのデータの書き込み制御を行う電子機器の制御方法であって、
書き込むブロックを選択する選択工程と、
前記選択工程にて選択されたブロックへの書き込みに応じて、当該ブロックに対する書き込み回数を増加させて記憶する記憶工程と、
を備え、
前記記憶工程では、データの書き込みが成功したとき書き込み回数を１回分増加させて記憶し、データの書き込み時にエラーが発生したとき書き込み回数を１回よりも多い所定回数分増加させて記憶し、
前記選択工程では、累積書き込み回数が一番少ないブロックを選択する
ることを特徴とする電子機器の制御方法。
【請求項９】
請求項８に記載の制御方法であって、
前記所定回数は、書き込み回数が一番少ないブロックに対する書き込み回数と、書き込み回数が２番目に少ないブロックに対する書き込み回数と、の差に基づいて設定される
ことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえば、ＮＡＮＤ型フラッシュメモリを有する携帯電話機等の電子機器に関するものである。
【背景技術】
【０００２】
近年、数多くの電子機器に、不揮発性メモリとしてＮＡＮＤ型のフラッシュメモリが使用されている。フラッシュメモリは、複数のメモリセルと呼ばれる記憶素子がマトリクス状に配列されて構成されている。そして、それらメモリセル数千個を１つとした「ブロック」と呼ばれる単位で、データの書き込みは行われる。
【０００３】
各メモリセルは、基板上にｐ層を挟み込むようにｎ層が形成され、前述のｐ層上に浮遊ゲートが形成されている。さらに、この浮遊ゲート上には、制御ゲートが形成されている。浮遊ゲートは、絶縁体でｐ層と遮断されており、この制御ゲートと接地電位（ＧＮＤ）との電位差を制御することによってビット情報が記憶される。
【０００４】
浮遊ゲートに一定の電荷量がある場合、すなわち、ソースードレイン間に電流が流れない場合には、「０」の情報がビット情報として保持されている。一方、浮遊ゲートに一定の電荷量がない場合には、「１」の情報がビット情報として保持されている。
【０００５】
ところで、前述の絶縁体は、ビット情報の書き込みおよび消去の度に劣化する。その結果、メモリセルにおいて、書き込みおよび消去が繰り返し行われると、電荷の保持（たとえばビット情報「１」）およびその開放（たとえばビット情報「０」）が困難となる。
【０００６】
そこで、例えば、ブロック毎に書き込み回数をカウントすることによって書き込むブロックを制御する技術が知られている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−２２５５７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、ブロックは、一つ一つ全く同じ特性を有するわけではないので、複数あるブロックの中には、書き込みエラーが生じ易い品質の悪いブロックも存在する。ところが、フラッシュメモリを制御する制御部は、正常なブロックと、品質の悪いブロックとを区別して管理することができない為、品質の悪いブロックが何度も使用されてしまう虞があった。
【０００９】
本発明の目的は、品質の悪いブロックが使用される虞を低減させることが出来る電子機器を提供することである。
【課題を解決するための手段】
【００１０】
本発明の電子機器は、複数のブロックから形成され、データが書き込まれる実データ領域と、当該実データ領域を管理するために用いられる管理データ領域とを有する記憶部と、前記実データ領域に対する書き込み回数が規定回数以上となったブロックに対しては、データが書き込まれることを禁止する制御部とを有し、前記制御部は、前記実データ領域の書き込み対象ブロックにおいてデータが書き込まれるときにエラーが発生した場合には、前記書き込み対象ブロックの書き込み回数に前記書き込みエラーに対応した所定回数を加算し、当該所定回数が加算された書き込み回数を前記管理データとして前記管理データ領域に書き込む。
【００１１】
好適には、前記制御部は、前記書き込みエラーが発生した前記実データ領域の前記書き込み対象ブロックに対してデータの書き込みを規定回数試み、前記規定回数内に前記データの書き込みが成功した場合には、前記規定回数内にデータの書き込みに失敗した回数に基づいた前記規定回数に前記所定回数を加算し、当該所定回数が加算された前記規定回数を前記管理データ領域の該当箇所に書き込み、前記規定回数内に前記データの書き込みが失敗した場合には、前記書き込み対象ブロックへのデータの書き込みを禁止する。
【００１２】
好適には、前記管理データ領域は、複数の管理ブロックから形成され、前記制御部は、前記複数の管理ブロックをリングバッファとして、前記実データ領域を管理するための管理データを前記管理ブロックに書き込む。
【００１３】
好適には、前記制御部は、前記書き込み対象ブロックに対するエラーを検出し、当該エラーの訂正に失敗した場合には、前記書き込み対象ブロックへのデータの書き込みを禁止する。
【００１４】
また、本願発明の別の観点における電子機器の制御方法は、複数のブロックからなる記憶部へのデータの書き込み制御を行う電子機器の制御方法であって、前記記憶部の前記複数のブロックの中からデータの書き込みを行うブロックを選択する選択工程と、前記ブロックへデータを書き込む場合において、選択されたブロックへの前記データの書き込みが成功したとき、当該ブロックに対する書き込み回数を１回分増加させ、選択されたブロックへのデータの書き込み時にエラーが発生したとき、当該ブロックに対する書き込み回数を１回よりも多い所定回数分増加させて記憶する記憶工程と、を備え、前記選択工程では、前記書き込み回数が規定回数よりも小さいブロックを選択する。
【００１５】
好適には、請求項５に記載の制御方法であって、前記データの書き込み時にエラーが発生した場合において、再度データの書き込みを試みるデータ再書き込み工程を備える。
【００１６】
また、本願発明の別の観点における電子機器は、複数のブロックからなりデータが記憶される実データ領域と、前記ブロックへのデータの書き込み回数を記憶する管理データ領域と、を有する記憶部と、書き込みを行うブロックを実データ領域から選択する選択部と、当該選択部によって選択されたブロックへデータを書き込む制御部と、を備え、前記制御部は、選択した所定のブロックへのデータの書込みが成功した場合、所定のブロックに対する書き込み回数を１回分増加させて前記管理データ領域へ記憶し、選択した所定のブロックへのデータの書込み時にエラーが発生した場合、所定のブロックに対する書き込み回数を１回分より多い所定回数分増加させて前記管理データ領域へ記憶し、前記選択部は、実データ領域の複数のブロックから書き込み対象のブロックを選択するとき、書き込み回数が一番少ないブロックを選択する。
【００１７】
また、本願発明の別の観点における電子機器の制御方法は、複数のブロックからなる記憶部へのデータの書き込み制御を行う電子機器の制御方法であって、書き込むブロックを選択する選択工程と、前記選択工程にて選択されたブロックへの書き込みに応じて、当該ブロックに対する書き込み回数を増加させて記憶する記憶工程と、を備え、前記記憶工程では、データの書き込みが成功したとき書き込み回数を１回分増加させて記憶し、データの書き込み時にエラーが発生したとき書き込み回数を１回よりも多い所定回数分増加させて記憶し、前記選択工程では、累積書き込み回数が一番少ないブロックを選択する。
【００１８】
好適には、前記所定回数は、書き込み回数が一番少ないブロックに対する書き込み回数と、書き込み回数が２番目に少ないブロックに対する書き込み回数と、の差に基づいて設定される。
【発明の効果】
【００１９】
本発明によれば、データの書き込みエラーを防止することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態に係る携帯端末の概略ブロック図である。
【図２】本発明の実施形態に係るフラッシュメモリの構成例を示す概略ブロック図である。
【図３】本発明の実施形態に係るメモリセルを構成する記憶素子の一例を示す模式断面図である。
【図４】本発明の実施形態に係るメモリセルのＮＡＮＤ列の等価回路図である。
【図５】本発明の実施形態に係るメモリセルの等価回路図である。
【図６】本発明の実施形態に係る実データ領域および管理データ領域の構成例を示す概念図である。
【図７】図６に図示する実データ領域における任意の１ページの構成例を示す概念図である。
【図８】図６に図示する管理データ領域のデータ部の詳細な構成例を示す概念図である。
【図９】本発明の実施形態に係る管理データ領域について説明するための概念図である。
【図１０】本発明の実施形態に係る管理データ領域への管理データの書き込みについて説明するための模式概念図である。
【図１１】本発明の実施形態に係る管理データ領域への管理データの書き込みについて説明するための模式概念図である。
【図１２】本発明の実施形態に係る管理データ領域への管理データの書き込みについて説明するための模式概念図である。
【図１３】本発明の実施形態に係る管理データ領域への管理データの書き込みについて説明するための模式概念図である。
【図１４】本発明の実施形態に係る管理データ領域への管理データの書き込みについて説明するための模式概念図である。
【図１５】本発明の実施形態に係る携帯端末の書き込みエラー防止機能の動作例を示すフローチャートである。
【図１６】本発明の第２の実施形態に係るブロックへの書き込みについて説明する為の図である。
【図１７】本発明の第２の実施形態に係るブロックへの書き込みについて説明する為の図である。
【発明を実施するための形態】
【００２１】
以下、本発明の実施形態を図面に関連付けて説明する。
【００２２】
図１は、本発明の実施形態に係る携帯端末の概略ブロック図である。
【００２３】
図１に図示する電子機器としての携帯端末１０は、ＮＡＮＤ型のフラッシュメモリ１１、揮発性メモリ１２、ＣＰＵ１３、通信部１４、操作部１５、表示部１６、音声入出力部１７、スピーカ（ＳＰ）１８、およびマイクロフォン（ＭＩＣ）１９を有する。
【００２４】
携帯端末１０は、本実施形態においては、携帯電話機である。携帯端末１０は、たとえばＰＨＳ（Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙ  ｐｈｏｎｅ  Ｓｙｓｔｅｍ）であってもよい。携帯端末１０は、音声通話
や電子メールの作成とその送受信など、種々の機能を有する。
【００２５】
携帯端末１０は、本発明の特徴である、書き込みエラー防止機能を有する。この書き込みエラー防止機能により、フラッシュメモリ１１へのデータの書き込みに伴うエラーを防止することができる。
【００２６】
フラッシュメモリ１１は、ＣＰＵ１３の制御によって、データの書き込み、読み出しおよび消去が行われる。このフラッシュメモリ１１には、オペレーティングシステムやアプリケーションプログラム等が記憶されている。
【００２７】
ところで、フラッシュメモリ１１は、オペレーティングシステムやアプリケーションプログラム等による実際のデータ（実データ）の書き込み、読み出しおよび消去が行われる実データ領域ＡＲＥ１と、管理データが書き込まれる管理データ領域ＡＲＥ２とによって構成されている。管理データ領域ＡＲＥ２は、上述の書き込みエラー防止機能を行う際に使用される。管理データは、実データ領域ＡＲＥ１への書き込み回数等に関するデータである。
【００２８】
揮発性メモリ１２は、ＣＰＵ１３の制御によって、データの書き込みおよび消去が行われる。ただし、揮発性メモリ１２は、揮発性のため、電力が供給されている期間のみ、データを記憶する。この揮発性メモリ１２には、ＣＰＵ１３が処理する一時的なデータが記憶される。
【００２９】
ＣＰＵ１３は、フラッシュメモリ１１および揮発性メモリ１２を制御し、通信部１４や操作部１５を介して入出力されるデータの書き込み、読み出しおよび消去を行う。ＣＰＵ１３は、操作部１５の操作に応じて、各種処理が適切な手順で実行されるように、携帯端末１０の全般の動作を制御する。
【００３０】
この他、ＣＰＵ１３は、通信部１４の通信制御、操作部１５の操作による文字の入力の制御、表示部１６へのデータの表示、音声入出力部１７における音声処理の制御等を行う。
【００３１】
通信部１４は、ＣＰＵ１３が出力した送信信号を所定の変調方式に変調し、変調した送信信号を電波信号としてアンテナ（不図示）を介して基地局（不図示）に送信する。通信部１４は、アンテナを介して基地局から受信した電波信号を変調方式に対応した復調を行い、復調した信号を受信信号としてＣＰＵ１３に出力する。
【００３２】
操作部１５は、たとえば電源キー、通話キー、数字キー、文字キー、方向キー、決定キー、発信キーなど各種機能が割り当てられた複数のキーを有する。操作部１５は、これらのキーがユーザによって操作された場合、その操作内容に対応する信号を発生し、これをユーザの指示としてＣＰＵ１３に出力する。
【００３３】
表示部１６は、たとえば、液晶パネルで構成されている。表示部１６は、ＣＰＵ１３から供給された映像信号に応じた種々の情報を表示する。
【００３４】
音声入出力部１７は、ＣＰＵ１３から供給されたデジタルの音声データをスピーカ１８を介して出力するため、デジタルの音声データに対して、デジタル・アナログ（Ｄ／Ａ）変換、増幅等の信号処理を施す。
【００３５】
音声入出力部１７は、マイクロフォン１９から入力されたアナログの音声信号をデジタルの音声データに変換してＣＰＵ１３に出力するため、アナログの音声信号に対して、増幅、アナログ・デジタル（Ａ／Ｄ）変換、符号化等の処理を施す。
【００３６】
以下、本発明の特徴である書き込みエラー防止機能について説明する。始めに、フラッシュメモリ１１の概要について説明する。
【００３７】
図２は、本発明の実施形態に係るフラッシュメモリの構成例を示す概略ブロック図である。ただし、図２には、フラッシュメモリ１１の主要部のみが図示されている。
【００３８】
図２に図示するフラッシュメモリ１１は、複数のメモリセル１１１、Ｘデコーダ１１２、Ｙデコーダ１１３、および制御部１１４を有する。なお、この制御部１１４およびＣＰＵ１３によって、本発明の制御部が構成されている。
【００３９】
各メモリセル１１１は、電荷の保存およびその開放が可能な記憶素子で構成され、メモリセル領域１１０にてマトリクス状に配列されている。このメモリセル領域１１０内の所定数のメモリセル１１１によって、実データ領域ＡＲＥ１が形成され、残りのメモリセル１１１によって、管理データ領域ＡＲＥ２が形成されている。図２に図示するように、同一ＹアドレスＹｍ（ｍ＝１，２，…）のメモリセル１１１は、共通のワード線ＷＬｍに接続され、同一ＸアドレスＸｎ（ｎ＝１，２，…）のメモリセル１１１は、共通のビット線ＢＬｎに接続されている。
【００４０】
フラッシュメモリ１１は、各メモリセル１１１が電荷を保存している状態をビット情報「１」として識別し、電荷を保存していない状態をビット情報「０」として識別する。こ
の２状態を識別することによって、１ビットを記憶することができる。
【００４１】
Ｘデコーダ１１２は、ＣＰＵ１３から制御部１１４を介して入出力される制御信号に応じて、ビット線ＢＬｎに所定電圧を印加し、Ｘアドレスｎを選択する。
【００４２】
Ｙデコーダ１１３は、ＣＰＵ１３から制御部１１４を介して入出力される制御信号に応じて、ワード線ＷＬｍに所定電圧を印加し、Ｙアドレスｍを選択する。
【００４３】
制御部１１４は、各メモリセル１１１に対して、データの書き込み（記憶工程）、読み出しおよび消去を行うため、Ｘデコーダ１１２およびＹデコーダ１１３を制御する。制御部１４は、書き込みエラーおよびＥＣＣエラーの検出を行う。
【００４４】
Ｘデコーダ１１２およびＹデコーダ１１３によって、制御対象となる一のメモリセル１１１が選択され、このメモリセル１１１に対して、データの書き込み、読み出しおよび消去が行われる。
【００４５】
上述の各メモリセル１１１は、図３に図示する記憶素子で構成されている。
【００４６】
図３は、本発明の実施形態に係るメモリセルを構成する記憶素子の一例を示す模式断面図である。図３（Ａ）は、書き込み時の状態を示し、図３（Ｂ）は、消去時の状態を示す。
【００４７】
図３（Ａ）、（Ｂ）には、任意のメモリセル１１１が図示されている。このメモリセル１１１は、たとえば、記憶素子としてのトランジスタで構成されている。ｐ型シリコン基板１１１１の上層の一端には、ソースとしてのｎ層１１１２が形成され、他端には、ドレインとしてのｎ層１１１３が形成されている。ｎ型チャネルが形成されるｐ層１１１１のソースードレイン間の上部には、フローティングゲート１１１４を挟み込むように、ワード線ＷＬｍとしてのコントロールゲート１１１５が形成されている。ただし、ｐ層１１１１とフローティングゲート１１１４との間には、絶縁体１１１６にて電気的に絶縁されている。
【００４８】
図３（Ａ）に図示するように、メモリセル１１１へのデータの書き込み時には、ｐ型シリコン基板１１１１、ｎ層１１１２のソース電極、およびｎ層１１１３のドレインが共通の接地電位（ＧＮＤ）に保持され、コントロールゲート１１１５には、正電圧が印加される。
【００４９】
これにより、チャネル全体から電子が引き抜かれ、フローティングゲート１１１４に引き抜かれた電子が蓄積される。このフローティングゲート１１１４に蓄積された電荷量に応じて、メモリセル１１１が持つ閾値電圧が変化する。この閾値電圧を規定値と比較することで、ビット情報「１」または「０」が識別される。
【００５０】
一方、図３（Ｂ）に図示するように、メモリセル１１１のデータの消去時には、ｐ型シリコン基板１１１１、ｎ層１１１２のソース電極、およびｎ層１１１３のドレインに、正電圧が印加され、コントロールゲート１１１５は、接地電位に保持される。
【００５１】
これにより、フローティングゲート１１１４が蓄積している電子が引き抜かれ、メモリセル１１１が保持しているビット情報が消去される。
【００５２】
ところで、メモリセル１１１は、書き込みおよび消去の度に、ｐ層１１１１とフローティングゲート１１１４との間の絶縁体１１１６が劣化する。そこで、書き込み回数が規定
回数（たとえば１０００回）を超えたメモリセル１１１（詳細には、このメモリセル１１１を有するブロック）に対しては、以後、書き込みが禁止される。
【００５３】
図４は、本発明の実施形態に係るメモリセルのＮＡＮＤ列の等価回路図である。
【００５４】
図５は、本発明の実施形態に係るメモリセルの等価回路図である。ただし、図５には、メモリセル領域１１０の一部のみが図示されている。
【００５５】
図４に図示するように、任意のＸアドレスのＮＡＮＤ列は、一端がセレクトゲート１１１７を介してビット線ＢＬｎに接続され、他端がセレクトゲート１１１８を介してソース線ＳＬに接続されている。これら２つのセレクトゲート１１１７，１１１８は、制御対象となるＮＡＮＤ列を選択するためのものである。このＮＡＮＤ列を構成する複数のメモリセル１１１の内、制御対象となるメモリセル１１１に対してデータの書き込み、読み出しおよび消去が行われる。
【００５６】
図５に図示するように、Ｘアドレス方向の全メモリセル１１１によってページが構成されている（図７参照）。Ｘアドレス方向において、アドレスＸ０〜Ｘ５１１までの領域（５１２バイト）は、データが書き込まれるデータ領域である。残りのアドレスＸ５１２〜Ｘ５２８までの領域（１６バイト）は、メモリセル１１１の不具合等を考慮して予め設けられている冗長領域である。本実施形態では、冗長領域を使用することにより、書き込みエラー防止機能を実現する。図５に図示するように、Ｙアドレス方向の３２ページで１ブロックが構成されている。
【００５７】
なお、メモリセル１１１に対するデータの書き込みおよび読み出しは、１ページ単位で行われるが、データの消去は、１ブロック単位で行われる。
【００５８】
以下、フラッシュメモリ１１における実データ領域ＡＲＥ１および管理データ領域ＡＲＥ２の構成について説明する。
【００５９】
図６は、本発明の実施形態に係る実データ領域および管理データ領域の構成例を示す概念図である。
【００６０】
図７は、図６に図示する実データ領域における任意の１ページの構成例を示す概念図である。
【００６１】
図６に図示するように、フラッシュメモリ１１は、実データ領域ＡＲＥ１および管理データ領域ＡＲＥ２を有する。実データ領域ＡＲＥ１は、３２ページで１ブロックとする複数のブロックＢＬＫ１〜ＢＬＫｎによって構成されている。
【００６２】
管理データ領域ＡＲＥ２は、実データ領域ＡＲＥ１の各ブロックＢＬＫｎの管理データを管理するための領域であって、２つのブロックＢＬＫａ、ＢＬＫｂによって構成されている。詳細は後述するが、管理データとは、メモリセル１１１へのデータの書き込み回数等を示す。
【００６３】
実データ領域ＡＲＥ１のブロックＢＬＫｎの構成について説明する。図７に図示するように、ブロックＢＬＫｎの１ページは、データ部および冗長領域によって構成されている。データ部は、実際のデータを書き込むための領域であって、図５に図示するデータ領域に対応する。
【００６４】
冗長部は、フラッシュメモリ１１に予め設けられた冗長領域であって、図５に図示する冗長領域に対応する。その容量は、１ブロックの１ページにつき、１６バイトである。詳細には、冗長部は、空き領域（たとえば４バイト）、ステータス領域（たとえば４バイト）、およびＥＣＣチェック領域（たとえば８バイト）によって構成されている。
【００６５】
書き込みエラー防止機能では、書き込みに失敗したメモリセル１１１の使用を回避するため、所定回数以上書き込みに失敗したメモリセル１１１のブロックＢＬＫｎには、今後データの書き込みが禁止される。このため、冗長部の各領域には、このような書き込みエラー防止機能を行うための管理データが書き込まれる。
【００６６】
ここで、各領域およびそこに書き込まれる管理データの内容について説明する。空き領域は、実データ領域ＡＲＥ１の書き込み対象となるブロックＢＬＫｎへのデータの書き込み回数をブロック単位で記録する領域である。実データ領域ＡＲＥ１において、書き込み回数が規定回数（たとえば１０万回）を超えたブロックに対しては、以後、書き込みが禁止される。
【００６７】
換言すれば、制御部１１４（選択部）は、書き込み回数が規定回数より小さいブロックを選択して（選択工程）、書き込み制御を行う。
【００６８】
ステータス領域は、実データ領域ＡＲＥ１の書き込み対象となるブロックＢＬＫｎのステータスを示す領域（たとえば４バイト）である。ＥＣＣチェック領域は、ＥＣＣエラーの内容を書き込む領域である。なお、ＥＣＣエラーは、ソフトウェアの誤り訂正によって検出されたエラーである。
【００６９】
上述のステータス領域には、実データ領域ＡＲＥ１の書き込み対象となるブロックＢＬＫｎに対して、次に述べる４種類のステータスのいずれかが書き込まれる。詳細には、４種類のステータスには、（１）ブロックＢＬＫｎの書き込み対象となるページにデータを書き込み可能であることを示す「有効ブロック」、（２）ブロックＢＬＫｎのデータを消去可能あることを示す「無効ブロック」、（３）ブロックＢＬＫｎの使用が禁止されていることを示す「ＢＡＤブロック」、（４）ブロックＢＬＫｎが未使用であることを示す「空きブロック」がある。
【００７０】
上述したように、冗長部の各領域には、書き込み回数、ステータス、ＥＣＣエラーの内容が管理データとして書き込まれるが、メモリセル１１１に書き込まれたデータの消去は、ブロックＢＬＫｎ単位で行われる。したがって、データの消去の際には、これらの管理データも消去され、ブロックＢＬＫｎの状態を把握することができない。
【００７１】
そこで、データの消去時には、実データ領域ＡＲＥ１の消去対象となるブロックＢＬＫｎの冗長部に書き込まれた管理データを管理データ領域ＡＲＥ２に適宜書き込むことで、消去対象となるブロックＢＬＫｎの管理データの消去を防止することができる。
【００７２】
図６に図示するように、管理データ領域ＡＲＥ２の２つのブロックＢＬＫａ，ＢＬＫｂは、実データ領域ＡＲＥ１のものと同様に、１ページがデータ部および冗長部によって構成されている。ただし、このデータ部には、実データ領域ＡＲＥ１における冗長部の各領域の値（データ）が書き込まれる。なお、管理データ領域ＡＲＥ２の冗長部は、ブロックＢＬＫａ、ＢＬＫｂに関する管理データが書き込まれる。
【００７３】
管理データ領域ＡＲＥ２のデータ部の詳細な構成例を図８に関連付けて説明する。
【００７４】
図８は、図６に図示する管理データ領域のデータ部の詳細な構成例を示す概念図である。
【００７５】
管理データ領域ＡＲＥ２のブロックＢＬＫｂを例に挙げて、任意のページ内のデータ部について説明する。図８に図示するように、データ部は、アドレス領域（図８（ａ）参照）、ステータス領域（図８（ｂ）参照）、回数記録領域（図８（ｃ）参照）、およびパディング領域（図８（ｄ）参照）によって構成されている。これら４つの領域にて、１つのメモリセル１１１の状態が管理され、１ページのデータ部には、１ブロックＢＬＫｎの管理データが書き込まれる。
【００７６】
アドレス領域は、実データ領域ＡＲＥ１の書き込み対象となるブロックＢＬＫｎのアドレス（たとえば０ｘ００００）を示す領域（たとえば４バイト）である。ステータス領域は、実データ領域ＡＲＥ１のものと同様である。回数記録領域は、実データ領域ＡＲＥ１の空き領域と同様のものである。パディング領域は、データ部のデータ容量を調整するための領域である。
【００７７】
本実施形態の特徴として、管理データ領域ＡＲＥ２の２つのブロックＢＬＫａ、ＢＬＫｂは、リングバッファを形成している。以下、管理データ領域ＡＲＥ２への管理データの書き込みについて説明する。
【００７８】
図９は、本発明の実施形態に係る管理データ領域について説明するための概念図である。図９には、管理データ領域ＡＲＥ２のブロックＢＬＫａ、ＢＬＫｂが図示されている。
【００７９】
図９に図示するように、２つのブロックＢＬＫａ、ＢＬＫｂ共に、各ページには、ブロックＢＬＫｎ毎の管理データが書き込まれている。たとえば、ブロックＢＬＫａにおける１ページ目のデータ部には、１ブロック分のメモリセル１１１の管理データが書き込まれている。上述したように、１つのメモリセル１１１は、１６バイトで１管理とする管理データを有する。
【００８０】
図１０〜図１４は、本発明の実施形態に係る管理データ領域への管理データの書き込みについて説明するための模式概念図である。なお、符号「Ａ」は、書き込み済みの管理データを示す。符号「Ｂ」は、空きページを示す。符号「Ｃ」は、書き込み対象の管理データを示す。符号「Ｄ」は、最新の管理データ、かつ、書き込み対象でないもの（非更新対象）を示す。
【００８１】
図１０に図示するように、ブロックＢＬＫａ、ＢＬＫｂ共に、３２ページで構成されている。管理データＡは、ブロックＢＬＫａの先頭の空きページＢから順に書き込まれる。図１０は、ブロックＢＬＫａの先頭から２つのページに管理データＡが書きこまれた状態を示している。
【００８２】
以後、図１１に図示するように、空きページＢに管理データＣが順に書き込まれる。なお、管理データは２ページ分存在するため、最新の管理データには、書き込み対象のものと、非書き込み対象のものが存在する。その後、図１２（Ａ）に図示するように、ブロックＢＬＫａの全てのページに管理データＡが書き込まれたものとする。このとき、ブロックＢＬＫａには、空きページＢが無いため、図１２（Ｂ）に図示するように、他方のブロックＢＬＫｂの先頭の空きページＢに管理データＣが書き込まれる。以後、図１１に図示するように、ブロックＢＬＫｂの空きページＢに管理データＣが順に書き込まれる。
【００８３】
その後、図１３（Ａ）に図示するように、ブロックＢＬＫｂの全てのページに管理データＡが書き込まれたものとする。このとき、ブロックＢＬＫａ、ＢＬＫｂ共に空きページＢが無いため、ブロックＢＬＫａの全ページの管理データＡが消去される。その結果、図１３（Ｂ）に図示するように、ブロックＢＬＫａの全ページは空きページＢとなる。そして、図１３（Ｃ）に図示するように、ブロックＢＬＫａの先頭の空きページＢに管理データＣが書き込まれる。
【００８４】
上述したように、ブロックＢＬＫａ、ＢＬＫｂ共に空きページＢが無い場合には、ブロックＢＬＫａの全ページの管理データＡが消去される。すなわち、管理データ領域ＡＲＥ２のブロックＢＬＫａ、ＢＬＫｂには、管理データがリングバッファのように、環状に書き込まれる。
【００８５】
しかし、図１４（Ａ）に図示するように、消去対象のブロックＢＬＫａに、今後、参照すべき最新の管理データＥが存在する場合がある。この場合には、ブロックＢＬＫｂの全ページの管理データＡが消去される。
【００８６】
その結果、図１４（Ｂ）に図示するように、ブロックＢＬＫｂの全ページは空きページＢとなる。そして、図１４（Ｃ）に図示するように、ブロックＢＬＫｂの先頭の空きページＢに管理データＣが書き込まれる。これにより、参照すべき最新の管理データＥを消去することなく、空きページＢを生成し、この空きページＢに新たな管理データＣを書き込むことができる。
【００８７】
仮に、管理データ領域ＡＲＥ２を１ブロックのみ（たとえばブロックＢＬＫａ）で構成したものとする。この場合、たとえば、このブロックの全ページにデータが書き込まれ、空きページが存在しないとき、次の処理が必要となる。
【００８８】
初めに、今後も参照すべき管理データを揮発性メモリ１２に一旦待避させてから、ブロックを消去し、新たな管理データを消去済のブロックに書き込んだ後に、揮発性メモリ１２に待避させた管理データを消去する。
【００８９】
これに対し、本実施形態では、２つのブロックＢＬＫａ、ＢＬＫｂに管理データがリングバッファのように環状に書き込まれることから、上述した処理が不要である。なお、２つ以上のブロックでリングバッファを構成することもできる。
【００９０】
以下、携帯端末１０の書き込みエラー防止機能の動作を説明する。
【００９１】
図１５は、本発明の実施形態に係る携帯端末の書き込みエラー防止機能の動作例を示すフローチャートである。
【００９２】
図１５に図示するように、フラッシュメモリ１１へのデータの書き込みが発生したものとする。初めに、フラッシュメモリ１１の制御部１１４は、実データ領域ＡＲＥ１内の現在アクティブなブロック（たとえばブロックＢＬＫｎ）に空きページが存在するか否かを判別する（ステップＳＴ１）。
【００９３】
説明を明確にするために、空きページが存在し（ＹＥＳ）、データの書き込みが終了するまでの処理について説明した後、空きページが存在しない場合（ＮＯ）について説明する。
【００９４】
ステップＳＴ１において、空きページが存在する場合には（ＹＥＳ）、制御部１１４は、アクティブなブロックの書き込み対象となるページに、冗長部の空き領域（図７参照）にインクリメントした書き込み回数を書き込む（ステップＳＴ２）。
【００９５】
その後、制御部１１４は、Ｘデコーダ１１２およびＹデコーダ１１３を制御して書き込み対象となるページへのデータの書き込みを開始する（ステップＳＴ３）。そして、制御部１１４は、書き込み対象となるページへデータの書き込みが成功したか否かを判別する（ステップＳＴ４）
ステップＳＴ４において、書き込みが成功した場合には（ＹＥＳ）、実データ領域ＡＲＥ１のブロック（たとえばＢＬＫｎ）へのデータの書き込みを終了する（ステップＳＴ５）。
【００９６】
一方、ステップＳＴ１において、空きページが存在しない場合には（ＮＯ）、制御部１
１４は、他のブロック（ブロックＢＬＫ１〜ＢＬＫ（ｎ−１））に空きページが存在するか否かを判別する（ステップＳＴ６）。
【００９７】
ステップＳＴ６において、他のブロックのいずれかに空きページが存在する場合には（ＹＥＳ）、空きページが存在するブロック（たとえばブロックＢＬＫ１）に対してステップＳＴ２の処理が行われる。
【００９８】
一方、他のブロックのいずれにも空きページが存在しない場合には（ＮＯ）、制御部１１４は、全てのページのステータス領域に「無効ブロック」が書き込まれているブロックを探索する（ステップＳＴ７）。
【００９９】
ステップＳＴ７において、上述のブロック（たとえばブロックＢＬＫ２）が存在する場合には（ＹＥＳ）、制御部１１４は、管理データ領域ＡＲＥ２のブロック（たとえばＢＬＫａ）のデータ部にある回数記録領域（図８参照）に書き込み回数を書き込む（ステップＳＴ８）。このとき、図１０〜図１４に図示するように、書き込み回数等の管理データが管理データ領域ＡＲＥ２に書き込まれる。
【０１００】
一方、ステップＳＴ７において、上述のブロック（たとえばブロックＢＬＫ２）が存在しない場合には（ＮＯ）、ステップＳＴ９の処理が行われる。
【０１０１】
ステップＳＴ８において、書き込み回数が回数記録領域に書き込まれた後、制御部１１
４は、管理データ領域ＡＲＥ２のブロックＢＬＫａ、ＢＬＫｂのデータ部に書き込まれた回数記録領域およびステータス領域をチェックする（ステップＳＴ９）。
【０１０２】
ステップＳＴ９において、チェック完了後（ＹＥＳ）、制御部１１４は、全てのブロック（ブロックＢＬＫ１〜ＢＬＫｎ）の中から、ステータス領域に「無効ブロック」が書き込まれ、かつ、回数記録領域の書き込み回数が最も少ないブロックを抽出し、この抽出したブロックの全ページのデータを消去する（ステップＳＴ１０）。そして、書き込み対象となるページへのデータの書き込みが開始する（ステップＳＴ３）。
【０１０３】
一方、ステップＳＴ９において、チェックを実行できなかった場合には（ＮＯ）、ステップＳＴ６の処理が再開される。
【０１０４】
ところで、書き込み対象のページへのデータの書き込みが開始し（ステップＳＴ３）、ステップＳＴ４において書き込みが失敗した場合には（ＮＯ）、制御部１１４は、ＥＣＣエラー（エラー）が発生したか否かを検出する（ステップＳＴ１１）。
【０１０５】
ステップＳＴ１１において、ＥＣＣエラーが発生した場合には（ＹＥＳ）、制御部１１４は、実データ領域ＡＲＥ１において書き込み対象のブロックの冗長部の空き領域へ、実際の書き込み回数に所定回数（たとえば１０００回）を加算して書き込む（ステップＳＴ１２）。なお、実データ領域ＡＲＥ１では、書き込み回数が規定回数を超えたブロックに対して、以後、書き込みが禁止される。
【０１０６】
その後、制御部１１４は、書き込み対象のブロックに対して書き込みを規定回数（たとえば３回）行ったか（リトライしたか）否かを判別する（ステップＳＴ１３）。
【０１０７】
ステップＳＴ１３において、リトライが規定回数行われた場合には（ＹＥＳ）、後述するステップＳＴ１５の処理が行われる。一方、リトライが規定回数未満である場合には（ＮＯ）、ステップＳＴ３の処理が再開される。
【０１０８】
このように、書き込みに連続して失敗した回数に応じて、書き込み回数に所定回数が上乗せされる。
【０１０９】
ステップＳＴ４において書き込みが失敗したにも拘わらず（ＮＯ）、ステップＳＴ１１においてＥＣＣエラーを検出することができなかった場合には（ＹＥＳ）、エラー訂正の訂正に失敗したため、エラーを訂正することができない。したがって、制御部１１４は、今後、このエラーの発生したブロックにデータの書き込みを行わないように、このブロックの該当するステータス領域に、「ＢＡＤブロック」を書き込む（ステップＳＴ１４）。ただし、ＥＣＣエラーチェック部（不図示）によるエラー判定等は、行われない。
【０１１０】
これにより、再び書き込みのリトライが行われるという処理（ステップＳＴ１２，ＳＴ１３）を省き、書き込み処理を高速化することができる。
【０１１１】
その後、制御部１１４は、管理データ領域ＡＲＥ２のブロック（たとえばブロックＢＬＫａ）におけるデータ部のステータス領域にも、「ＢＡＤブロック」を書き込む（ステップＳＴ１５）。この段階では、書き込みが失敗しているため（ステップＳＴ１６）、他のブロックにデータを書き込むべく、ステップＳＴ６の処理が再開される。
【０１１２】
上述したように、本実施形態によれば、携帯端末１０は、フラッシュメモリ１１と、制御部１１４とを有する。フラッシュメモリ１１は、実データ領域ＡＲＥ１と、管理データ領域ＡＲＥ２とを有する。
【０１１３】
制御部１１４は、実データ領域ＡＲＥ１に対する書き込み回数が規定回数以上となったブロックに対しては、実データ領域へのデータの書き込みを禁止する。具体的には、制御部１１４は、実データ領域ＡＲＥ１の書き込み対象ブロックにデータの書き込みエラーが発生した場合には、書き込み対象ブロックの書き込み回数に書き込みエラーに対応した所定回数を加算し、所定回数が加算された書き込み回数を管理データとして管理データ領域ＡＲＥ２に書き込む。
【０１１４】
これにより、不具合のメモリセル１１１があるブロックへのデータの書き込みを回避し、データの書き込みエラーを防止することができる。特に、書き込みエラーが発生する度に、実際の書き込み回数に所定回数が上乗せされるため、この書き込み回数が、書き込み禁止の基準となる規定回数に速く達する。したがって、より迅速かつ確実に書き込みエラーを防止することができる。
＜第２の実施形態＞
次に、本発明の第２の実施形態について説明する。本実施形態が第１の実施形態と異なる点は、ブロックへの書き込み上限回数である「規定回数」に基づいて書き込みを行わないブロックを選択しないことである。第２の実施形態では、携帯端末１０の制御部１１４（選択部）は、ブロックへの書き込みを行うとき、「最も書き込まれた回数の少ないブロックを選択して（選択工程）」データの書き込みを行う（記憶工程）。
【０１１５】
換言すれば、前述した第１の実施形態に記載の技術は、書き込み回数が累計１０万回となったブロックを使用禁止とすることによって、エラーを起こし易いブロックを使用しないようにすることを目的とする技術であるのに対し、本実施形態に記載の技術は、使用回数が少ないブロックから使用するようにすることによって全てのブロックを満遍なく使う技術において、エラーを起こし易いブロックについては使用回数を余分にカウントすることによって使用されなくなるようにすることを目的とする技術である。
【０１１６】
以下、図１６、１７を用いて、本実施形態を詳細に説明する。
【０１１７】
図１６は、本実施形態の最も書き込まれた回数の少ないブロックを選択してデータを書き込む技術について説明したフローチャートである。今回、説明を簡略化するために、ブロックの数はブロックＢＬＫ１、ＢＬＫ２、ＢＬＫ３、ＢＬＫ４、ＢＬＫ５、ＢＬＫ６及びＢＬＫ７の計７ブロックだけがフラッシュメモリ１１内に存在するとする。また、図１７（ａ）は、制御部１１４がデータを書き込もうとした際における、前述したブロックＢＬＫ１〜ＢＬＫ７のそれぞれの書き込み回数の累計を示したグラフである。
【０１１８】
以下、図１６のフローに従って説明を行う。最初、制御部１１４は、ブロックＢＬＫ１〜ＢＬＫ７の中より最も書き込み回数の小さいブロックを検索する（ＳＴ２１）。本実施形態では、図１７（ａ）に示すように、ブロックＢＬＫ６の書き込み回数が最も少ない為、制御部１１４は、ブロックＢＬＫ６を選択する。
【０１１９】
次に、制御部１１４は、ブロックＢＬＫ６に対してデータの書き込みを試みる（ＳＴ２２）。そして、その結果、データの書き込みに成功した場合には（ＳＴ２３／ＮＯ）、ブロックＢＬＫ６における書き込み回数を１回分増加させて書き込みを終了する（ＳＴ２４）。
【０１２０】
一方、ブロックＢＬＫ６に対する書き込みが失敗した場合には（ＳＴ２３／ＹＥＳ）、制御部１１４は、ブロックＢＬＫ６における書き込み回数を所定回数分（たとえば２０００回分）増加させる。（ＳＴ２５、図１７（ｂ））。そして、再び制御部１１４は、書き込み回数が最も少ないブロックの検索を開始する（ＳＴ２１）。
【０１２１】
従って、再び制御部１１４が最も書き込み回数の少ないブロックを検索した際には（ＳＴ２１）、制御部１１４によって再びブロックＢＬＫ６が選択される可能性は著しく低減し、例えば代わりにブロックＢＬＫ５が選択されることとなる（図１７（ｃ））。
【０１２２】
つまり、本実施形態の制御部１１４は、エラーを起こしたブロックに対しては、１回より多い所定回数分だけ余分に書き込み回数をカウントする為、エラーを起こしたブロックがステップＳ２１において何度も検索されてしまう虞を低減させることが可能となる。
【０１２３】
なお、前述した所定回数は、予め定められた定数としたものの、実施形態はこれに限られない。例えば、ブロックへの書き込みを行おうとする度に、書き込み回数が一番少ないものと二番目に少ないものとの差を計算し、当該差に基づいて前記所定回数を定めるといった方法であっても良い。
【０１２４】
また、前述した所定回数は、全てのブロックの使用回数の平均値に基づいて定められてもよい。
【０１２５】
上述したエラー低減機能を有するＮＡＮＤ型のフラッシュメモリは、あらゆる電子機器に搭載することが可能である。電子機器は、携帯端末だけではなく、たとえば、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、ゲーム機、パーソナルコンピュータ、外付け型の記憶装置等であってもよい。
【符号の説明】
【０１２６】
ＡＲＥ１…実データ領域、ＡＲＥ２…管理データ領域、ＢＬＫｎ…実データ領域ＡＲＥ１のブロック、ＢＬＫａ、ＢＬＫｂ…管理データ領域ＡＲＥ２のブロック、１０…携帯端末、１１…フラッシュメモリ、１２…揮発性メモリ、１３…ＣＰＵ、１４…通信部、１５…操作部、１６…表示部、１７…音声入出力部、１８…スピーカ、１９…マイクロフォン、１１０…メモリセル領域、１１１…メモリセル、１１２…Ｘデコーダ、１１３…Ｙデコーダ、１１４…制御部、１１１１…ｐ型シリコン基板、１１１２、１１１３…ｎ層、１１１４…フローティングゲート、１１１５…コントロールゲート、１１１６…絶縁体、１１１７、１１１８…セレクトゲート
【図１】
2010134899.tif 000003
【図２】
2010134899.tif 000004
【図３】
2010134899.tif 000005
【図４】
2010134899.tif 000006
【図５】
2010134899.tif 000007
【図６】
2010134899.tif 000008
【図７】
2010134899.tif 000009
【図８】
2010134899.tif 000010
【図９】
2010134899.tif 000011
【図１０】
2010134899.tif 000012
【図１１】
2010134899.tif 000013
【図１２】
2010134899.tif 000014
【図１３】
2010134899.tif 000015
【図１４】
2010134899.tif 000016
【図１５】
2010134899.tif 000017
【図１６】
2010134899.tif 000018
【図１７】
2010134899.tif 000019