JP2010134899A - 電子機器及び電子機器の制御方法 - Google Patents

電子機器及び電子機器の制御方法 Download PDF

Info

Publication number
JP2010134899A
JP2010134899A JP2009127333A JP2009127333A JP2010134899A JP 2010134899 A JP2010134899 A JP 2010134899A JP 2009127333 A JP2009127333 A JP 2009127333A JP 2009127333 A JP2009127333 A JP 2009127333A JP 2010134899 A JP2010134899 A JP 2010134899A
Authority
JP
Japan
Prior art keywords
block
writing
data
written
data area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009127333A
Other languages
English (en)
Other versions
JP5528011B2 (ja
Inventor
Fumiyuki Izawa
史行 井澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyocera Corp
Original Assignee
Kyocera Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyocera Corp filed Critical Kyocera Corp
Priority to JP2009127333A priority Critical patent/JP5528011B2/ja
Publication of JP2010134899A publication Critical patent/JP2010134899A/ja
Application granted granted Critical
Publication of JP5528011B2 publication Critical patent/JP5528011B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】品質の悪いブロックが使用される虞を低減させることが出来る電子機器を提供する。
データの書き込みエラーを防止することができる電子機器を提供する。
【解決手段】電子機器(10)は、複数のブロックから形成され、データが書き込まれる実データ領域(ARE1)と、実データ領域を管理するために用いられる管理データ領域(ARE1)とを有する記憶部と、実データ領域に対する書き込み回数が規定回数以上となったブロックに対しては、データが書き込まれることを禁止する制御部とを有する。制御部は、実データ領域の書き込み対象ブロックにおいてデータが書き込まれるときにエラーが発生した場合には、書き込み対象ブロックの書き込み回数に書き込みエラーに対応した所定回数を加算し、所定回数が加算された書き込み回数を管理データとして管理データ領域に書き込む。
【選択図】図1

Description

本発明は、たとえば、NAND型フラッシュメモリを有する携帯電話機等の電子機器に関するものである。
近年、数多くの電子機器に、不揮発性メモリとしてNAND型のフラッシュメモリが使用されている。フラッシュメモリは、複数のメモリセルと呼ばれる記憶素子がマトリクス状に配列されて構成されている。そして、それらメモリセル数千個を1つとした「ブロック」と呼ばれる単位で、データの書き込みは行われる。
各メモリセルは、基板上にp層を挟み込むようにn層が形成され、前述のp層上に浮遊ゲートが形成されている。さらに、この浮遊ゲート上には、制御ゲートが形成されている。浮遊ゲートは、絶縁体でp層と遮断されており、この制御ゲートと接地電位(GND)との電位差を制御することによってビット情報が記憶される。
浮遊ゲートに一定の電荷量がある場合、すなわち、ソースードレイン間に電流が流れない場合には、「0」の情報がビット情報として保持されている。一方、浮遊ゲートに一定の電荷量がない場合には、「1」の情報がビット情報として保持されている。
ところで、前述の絶縁体は、ビット情報の書き込みおよび消去の度に劣化する。その結果、メモリセルにおいて、書き込みおよび消去が繰り返し行われると、電荷の保持(たとえばビット情報「1」)およびその開放(たとえばビット情報「0」)が困難となる。
そこで、例えば、ブロック毎に書き込み回数をカウントすることによって書き込むブロックを制御する技術が知られている。
特開2008−225576号公報
ところで、ブロックは、一つ一つ全く同じ特性を有するわけではないので、複数あるブロックの中には、書き込みエラーが生じ易い品質の悪いブロックも存在する。ところが、フラッシュメモリを制御する制御部は、正常なブロックと、品質の悪いブロックとを区別して管理することができない為、品質の悪いブロックが何度も使用されてしまう虞があった。
本発明の目的は、品質の悪いブロックが使用される虞を低減させることが出来る電子機器を提供することである。
本発明の電子機器は、複数のブロックから形成され、データが書き込まれる実データ領域と、当該実データ領域を管理するために用いられる管理データ領域とを有する記憶部と、前記実データ領域に対する書き込み回数が規定回数以上となったブロックに対しては、データが書き込まれることを禁止する制御部とを有し、前記制御部は、前記実データ領域の書き込み対象ブロックにおいてデータが書き込まれるときにエラーが発生した場合には、前記書き込み対象ブロックの書き込み回数に前記書き込みエラーに対応した所定回数を加算し、当該所定回数が加算された書き込み回数を前記管理データとして前記管理データ領域に書き込む。
好適には、前記制御部は、前記書き込みエラーが発生した前記実データ領域の前記書き込み対象ブロックに対してデータの書き込みを規定回数試み、前記規定回数内に前記データの書き込みが成功した場合には、前記規定回数内にデータの書き込みに失敗した回数に基づいた前記規定回数に前記所定回数を加算し、当該所定回数が加算された前記規定回数を前記管理データ領域の該当箇所に書き込み、前記規定回数内に前記データの書き込みが失敗した場合には、前記書き込み対象ブロックへのデータの書き込みを禁止する。
好適には、前記管理データ領域は、複数の管理ブロックから形成され、前記制御部は、前記複数の管理ブロックをリングバッファとして、前記実データ領域を管理するための管理データを前記管理ブロックに書き込む。
好適には、前記制御部は、前記書き込み対象ブロックに対するエラーを検出し、当該エラーの訂正に失敗した場合には、前記書き込み対象ブロックへのデータの書き込みを禁止する。
また、本願発明の別の観点における電子機器の制御方法は、複数のブロックからなる記憶部へのデータの書き込み制御を行う電子機器の制御方法であって、前記記憶部の前記複数のブロックの中からデータの書き込みを行うブロックを選択する選択工程と、前記ブロックへデータを書き込む場合において、選択されたブロックへの前記データの書き込みが成功したとき、当該ブロックに対する書き込み回数を1回分増加させ、選択されたブロックへのデータの書き込み時にエラーが発生したとき、当該ブロックに対する書き込み回数を1回よりも多い所定回数分増加させて記憶する記憶工程と、を備え、前記選択工程では、前記書き込み回数が規定回数よりも小さいブロックを選択する。
好適には、請求項5に記載の制御方法であって、前記データの書き込み時にエラーが発生した場合において、再度データの書き込みを試みるデータ再書き込み工程を備える。
また、本願発明の別の観点における電子機器は、複数のブロックからなりデータが記憶される実データ領域と、前記ブロックへのデータの書き込み回数を記憶する管理データ領域と、を有する記憶部と、書き込みを行うブロックを実データ領域から選択する選択部と、当該選択部によって選択されたブロックへデータを書き込む制御部と、を備え、前記制御部は、選択した所定のブロックへのデータの書込みが成功した場合、所定のブロックに対する書き込み回数を1回分増加させて前記管理データ領域へ記憶し、選択した所定のブロックへのデータの書込み時にエラーが発生した場合、所定のブロックに対する書き込み回数を1回分より多い所定回数分増加させて前記管理データ領域へ記憶し、前記選択部は、実データ領域の複数のブロックから書き込み対象のブロックを選択するとき、書き込み回数が一番少ないブロックを選択する。
また、本願発明の別の観点における電子機器の制御方法は、複数のブロックからなる記憶部へのデータの書き込み制御を行う電子機器の制御方法であって、書き込むブロックを選択する選択工程と、前記選択工程にて選択されたブロックへの書き込みに応じて、当該ブロックに対する書き込み回数を増加させて記憶する記憶工程と、を備え、前記記憶工程では、データの書き込みが成功したとき書き込み回数を1回分増加させて記憶し、データの書き込み時にエラーが発生したとき書き込み回数を1回よりも多い所定回数分増加させて記憶し、前記選択工程では、累積書き込み回数が一番少ないブロックを選択する。
好適には、前記所定回数は、書き込み回数が一番少ないブロックに対する書き込み回数と、書き込み回数が2番目に少ないブロックに対する書き込み回数と、の差に基づいて設定される。
本発明によれば、データの書き込みエラーを防止することができる。
本発明の実施形態に係る携帯端末の概略ブロック図である。 本発明の実施形態に係るフラッシュメモリの構成例を示す概略ブロック図である。 本発明の実施形態に係るメモリセルを構成する記憶素子の一例を示す模式断面図である。 本発明の実施形態に係るメモリセルのNAND列の等価回路図である。 本発明の実施形態に係るメモリセルの等価回路図である。 本発明の実施形態に係る実データ領域および管理データ領域の構成例を示す概念図である。 図6に図示する実データ領域における任意の1ページの構成例を示す概念図である。 図6に図示する管理データ領域のデータ部の詳細な構成例を示す概念図である。 本発明の実施形態に係る管理データ領域について説明するための概念図である。 本発明の実施形態に係る管理データ領域への管理データの書き込みについて説明するための模式概念図である。 本発明の実施形態に係る管理データ領域への管理データの書き込みについて説明するための模式概念図である。 本発明の実施形態に係る管理データ領域への管理データの書き込みについて説明するための模式概念図である。 本発明の実施形態に係る管理データ領域への管理データの書き込みについて説明するための模式概念図である。 本発明の実施形態に係る管理データ領域への管理データの書き込みについて説明するための模式概念図である。 本発明の実施形態に係る携帯端末の書き込みエラー防止機能の動作例を示すフローチャートである。 本発明の第2の実施形態に係るブロックへの書き込みについて説明する為の図である。 本発明の第2の実施形態に係るブロックへの書き込みについて説明する為の図である。
以下、本発明の実施形態を図面に関連付けて説明する。
図1は、本発明の実施形態に係る携帯端末の概略ブロック図である。
図1に図示する電子機器としての携帯端末10は、NAND型のフラッシュメモリ11、揮発性メモリ12、CPU13、通信部14、操作部15、表示部16、音声入出力部17、スピーカ(SP)18、およびマイクロフォン(MIC)19を有する。
携帯端末10は、本実施形態においては、携帯電話機である。携帯端末10は、たとえばPHS(Personal Handy phone System)であってもよい。携帯端末10は、音声通話
や電子メールの作成とその送受信など、種々の機能を有する。
携帯端末10は、本発明の特徴である、書き込みエラー防止機能を有する。この書き込みエラー防止機能により、フラッシュメモリ11へのデータの書き込みに伴うエラーを防止することができる。
フラッシュメモリ11は、CPU13の制御によって、データの書き込み、読み出しおよび消去が行われる。このフラッシュメモリ11には、オペレーティングシステムやアプリケーションプログラム等が記憶されている。
ところで、フラッシュメモリ11は、オペレーティングシステムやアプリケーションプログラム等による実際のデータ(実データ)の書き込み、読み出しおよび消去が行われる実データ領域ARE1と、管理データが書き込まれる管理データ領域ARE2とによって構成されている。管理データ領域ARE2は、上述の書き込みエラー防止機能を行う際に使用される。管理データは、実データ領域ARE1への書き込み回数等に関するデータである。
揮発性メモリ12は、CPU13の制御によって、データの書き込みおよび消去が行われる。ただし、揮発性メモリ12は、揮発性のため、電力が供給されている期間のみ、データを記憶する。この揮発性メモリ12には、CPU13が処理する一時的なデータが記憶される。
CPU13は、フラッシュメモリ11および揮発性メモリ12を制御し、通信部14や操作部15を介して入出力されるデータの書き込み、読み出しおよび消去を行う。CPU13は、操作部15の操作に応じて、各種処理が適切な手順で実行されるように、携帯端末10の全般の動作を制御する。
この他、CPU13は、通信部14の通信制御、操作部15の操作による文字の入力の制御、表示部16へのデータの表示、音声入出力部17における音声処理の制御等を行う。
通信部14は、CPU13が出力した送信信号を所定の変調方式に変調し、変調した送信信号を電波信号としてアンテナ(不図示)を介して基地局(不図示)に送信する。通信部14は、アンテナを介して基地局から受信した電波信号を変調方式に対応した復調を行い、復調した信号を受信信号としてCPU13に出力する。
操作部15は、たとえば電源キー、通話キー、数字キー、文字キー、方向キー、決定キー、発信キーなど各種機能が割り当てられた複数のキーを有する。操作部15は、これらのキーがユーザによって操作された場合、その操作内容に対応する信号を発生し、これをユーザの指示としてCPU13に出力する。
表示部16は、たとえば、液晶パネルで構成されている。表示部16は、CPU13から供給された映像信号に応じた種々の情報を表示する。
音声入出力部17は、CPU13から供給されたデジタルの音声データをスピーカ18を介して出力するため、デジタルの音声データに対して、デジタル・アナログ(D/A)変換、増幅等の信号処理を施す。
音声入出力部17は、マイクロフォン19から入力されたアナログの音声信号をデジタルの音声データに変換してCPU13に出力するため、アナログの音声信号に対して、増幅、アナログ・デジタル(A/D)変換、符号化等の処理を施す。
以下、本発明の特徴である書き込みエラー防止機能について説明する。始めに、フラッシュメモリ11の概要について説明する。
図2は、本発明の実施形態に係るフラッシュメモリの構成例を示す概略ブロック図である。ただし、図2には、フラッシュメモリ11の主要部のみが図示されている。
図2に図示するフラッシュメモリ11は、複数のメモリセル111、Xデコーダ112、Yデコーダ113、および制御部114を有する。なお、この制御部114およびCPU13によって、本発明の制御部が構成されている。
各メモリセル111は、電荷の保存およびその開放が可能な記憶素子で構成され、メモリセル領域110にてマトリクス状に配列されている。このメモリセル領域110内の所定数のメモリセル111によって、実データ領域ARE1が形成され、残りのメモリセル111によって、管理データ領域ARE2が形成されている。図2に図示するように、同一YアドレスYm(m=1,2,…)のメモリセル111は、共通のワード線WLmに接続され、同一XアドレスXn(n=1,2,…)のメモリセル111は、共通のビット線BLnに接続されている。
フラッシュメモリ11は、各メモリセル111が電荷を保存している状態をビット情報「1」として識別し、電荷を保存していない状態をビット情報「0」として識別する。こ
の2状態を識別することによって、1ビットを記憶することができる。
Xデコーダ112は、CPU13から制御部114を介して入出力される制御信号に応じて、ビット線BLnに所定電圧を印加し、Xアドレスnを選択する。
Yデコーダ113は、CPU13から制御部114を介して入出力される制御信号に応じて、ワード線WLmに所定電圧を印加し、Yアドレスmを選択する。
制御部114は、各メモリセル111に対して、データの書き込み(記憶工程)、読み出しおよび消去を行うため、Xデコーダ112およびYデコーダ113を制御する。制御部14は、書き込みエラーおよびECCエラーの検出を行う。
Xデコーダ112およびYデコーダ113によって、制御対象となる一のメモリセル111が選択され、このメモリセル111に対して、データの書き込み、読み出しおよび消去が行われる。
上述の各メモリセル111は、図3に図示する記憶素子で構成されている。
図3は、本発明の実施形態に係るメモリセルを構成する記憶素子の一例を示す模式断面図である。図3(A)は、書き込み時の状態を示し、図3(B)は、消去時の状態を示す。
図3(A)、(B)には、任意のメモリセル111が図示されている。このメモリセル111は、たとえば、記憶素子としてのトランジスタで構成されている。p型シリコン基板1111の上層の一端には、ソースとしてのn層1112が形成され、他端には、ドレインとしてのn層1113が形成されている。n型チャネルが形成されるp層1111のソースードレイン間の上部には、フローティングゲート1114を挟み込むように、ワード線WLmとしてのコントロールゲート1115が形成されている。ただし、p層1111とフローティングゲート1114との間には、絶縁体1116にて電気的に絶縁されている。
図3(A)に図示するように、メモリセル111へのデータの書き込み時には、p型シリコン基板1111、n層1112のソース電極、およびn層1113のドレインが共通の接地電位(GND)に保持され、コントロールゲート1115には、正電圧が印加される。
これにより、チャネル全体から電子が引き抜かれ、フローティングゲート1114に引き抜かれた電子が蓄積される。このフローティングゲート1114に蓄積された電荷量に応じて、メモリセル111が持つ閾値電圧が変化する。この閾値電圧を規定値と比較することで、ビット情報「1」または「0」が識別される。
一方、図3(B)に図示するように、メモリセル111のデータの消去時には、p型シリコン基板1111、n層1112のソース電極、およびn層1113のドレインに、正電圧が印加され、コントロールゲート1115は、接地電位に保持される。
これにより、フローティングゲート1114が蓄積している電子が引き抜かれ、メモリセル111が保持しているビット情報が消去される。
ところで、メモリセル111は、書き込みおよび消去の度に、p層1111とフローティングゲート1114との間の絶縁体1116が劣化する。そこで、書き込み回数が規定
回数(たとえば1000回)を超えたメモリセル111(詳細には、このメモリセル111を有するブロック)に対しては、以後、書き込みが禁止される。
図4は、本発明の実施形態に係るメモリセルのNAND列の等価回路図である。
図5は、本発明の実施形態に係るメモリセルの等価回路図である。ただし、図5には、メモリセル領域110の一部のみが図示されている。
図4に図示するように、任意のXアドレスのNAND列は、一端がセレクトゲート1117を介してビット線BLnに接続され、他端がセレクトゲート1118を介してソース線SLに接続されている。これら2つのセレクトゲート1117,1118は、制御対象となるNAND列を選択するためのものである。このNAND列を構成する複数のメモリセル111の内、制御対象となるメモリセル111に対してデータの書き込み、読み出しおよび消去が行われる。
図5に図示するように、Xアドレス方向の全メモリセル111によってページが構成されている(図7参照)。Xアドレス方向において、アドレスX0〜X511までの領域(512バイト)は、データが書き込まれるデータ領域である。残りのアドレスX512〜X528までの領域(16バイト)は、メモリセル111の不具合等を考慮して予め設けられている冗長領域である。本実施形態では、冗長領域を使用することにより、書き込みエラー防止機能を実現する。図5に図示するように、Yアドレス方向の32ページで1ブロックが構成されている。
なお、メモリセル111に対するデータの書き込みおよび読み出しは、1ページ単位で行われるが、データの消去は、1ブロック単位で行われる。
以下、フラッシュメモリ11における実データ領域ARE1および管理データ領域ARE2の構成について説明する。
図6は、本発明の実施形態に係る実データ領域および管理データ領域の構成例を示す概念図である。
図7は、図6に図示する実データ領域における任意の1ページの構成例を示す概念図である。
図6に図示するように、フラッシュメモリ11は、実データ領域ARE1および管理データ領域ARE2を有する。実データ領域ARE1は、32ページで1ブロックとする複数のブロックBLK1〜BLKnによって構成されている。
管理データ領域ARE2は、実データ領域ARE1の各ブロックBLKnの管理データを管理するための領域であって、2つのブロックBLKa、BLKbによって構成されている。詳細は後述するが、管理データとは、メモリセル111へのデータの書き込み回数等を示す。
実データ領域ARE1のブロックBLKnの構成について説明する。図7に図示するように、ブロックBLKnの1ページは、データ部および冗長領域によって構成されている。データ部は、実際のデータを書き込むための領域であって、図5に図示するデータ領域に対応する。
冗長部は、フラッシュメモリ11に予め設けられた冗長領域であって、図5に図示する冗長領域に対応する。その容量は、1ブロックの1ページにつき、16バイトである。詳細には、冗長部は、空き領域(たとえば4バイト)、ステータス領域(たとえば4バイト)、およびECCチェック領域(たとえば8バイト)によって構成されている。
書き込みエラー防止機能では、書き込みに失敗したメモリセル111の使用を回避するため、所定回数以上書き込みに失敗したメモリセル111のブロックBLKnには、今後データの書き込みが禁止される。このため、冗長部の各領域には、このような書き込みエラー防止機能を行うための管理データが書き込まれる。
ここで、各領域およびそこに書き込まれる管理データの内容について説明する。空き領域は、実データ領域ARE1の書き込み対象となるブロックBLKnへのデータの書き込み回数をブロック単位で記録する領域である。実データ領域ARE1において、書き込み回数が規定回数(たとえば10万回)を超えたブロックに対しては、以後、書き込みが禁止される。
換言すれば、制御部114(選択部)は、書き込み回数が規定回数より小さいブロックを選択して(選択工程)、書き込み制御を行う。
ステータス領域は、実データ領域ARE1の書き込み対象となるブロックBLKnのステータスを示す領域(たとえば4バイト)である。ECCチェック領域は、ECCエラーの内容を書き込む領域である。なお、ECCエラーは、ソフトウェアの誤り訂正によって検出されたエラーである。
上述のステータス領域には、実データ領域ARE1の書き込み対象となるブロックBLKnに対して、次に述べる4種類のステータスのいずれかが書き込まれる。詳細には、4種類のステータスには、(1)ブロックBLKnの書き込み対象となるページにデータを書き込み可能であることを示す「有効ブロック」、(2)ブロックBLKnのデータを消去可能あることを示す「無効ブロック」、(3)ブロックBLKnの使用が禁止されていることを示す「BADブロック」、(4)ブロックBLKnが未使用であることを示す「空きブロック」がある。
上述したように、冗長部の各領域には、書き込み回数、ステータス、ECCエラーの内容が管理データとして書き込まれるが、メモリセル111に書き込まれたデータの消去は、ブロックBLKn単位で行われる。したがって、データの消去の際には、これらの管理データも消去され、ブロックBLKnの状態を把握することができない。
そこで、データの消去時には、実データ領域ARE1の消去対象となるブロックBLKnの冗長部に書き込まれた管理データを管理データ領域ARE2に適宜書き込むことで、消去対象となるブロックBLKnの管理データの消去を防止することができる。
図6に図示するように、管理データ領域ARE2の2つのブロックBLKa,BLKbは、実データ領域ARE1のものと同様に、1ページがデータ部および冗長部によって構成されている。ただし、このデータ部には、実データ領域ARE1における冗長部の各領域の値(データ)が書き込まれる。なお、管理データ領域ARE2の冗長部は、ブロックBLKa、BLKbに関する管理データが書き込まれる。
管理データ領域ARE2のデータ部の詳細な構成例を図8に関連付けて説明する。
図8は、図6に図示する管理データ領域のデータ部の詳細な構成例を示す概念図である。
管理データ領域ARE2のブロックBLKbを例に挙げて、任意のページ内のデータ部について説明する。図8に図示するように、データ部は、アドレス領域(図8(a)参照)、ステータス領域(図8(b)参照)、回数記録領域(図8(c)参照)、およびパディング領域(図8(d)参照)によって構成されている。これら4つの領域にて、1つのメモリセル111の状態が管理され、1ページのデータ部には、1ブロックBLKnの管理データが書き込まれる。
アドレス領域は、実データ領域ARE1の書き込み対象となるブロックBLKnのアドレス(たとえば0x0000)を示す領域(たとえば4バイト)である。ステータス領域は、実データ領域ARE1のものと同様である。回数記録領域は、実データ領域ARE1の空き領域と同様のものである。パディング領域は、データ部のデータ容量を調整するための領域である。
本実施形態の特徴として、管理データ領域ARE2の2つのブロックBLKa、BLKbは、リングバッファを形成している。以下、管理データ領域ARE2への管理データの書き込みについて説明する。
図9は、本発明の実施形態に係る管理データ領域について説明するための概念図である。図9には、管理データ領域ARE2のブロックBLKa、BLKbが図示されている。
図9に図示するように、2つのブロックBLKa、BLKb共に、各ページには、ブロックBLKn毎の管理データが書き込まれている。たとえば、ブロックBLKaにおける1ページ目のデータ部には、1ブロック分のメモリセル111の管理データが書き込まれている。上述したように、1つのメモリセル111は、16バイトで1管理とする管理データを有する。
図10〜図14は、本発明の実施形態に係る管理データ領域への管理データの書き込みについて説明するための模式概念図である。なお、符号「A」は、書き込み済みの管理データを示す。符号「B」は、空きページを示す。符号「C」は、書き込み対象の管理データを示す。符号「D」は、最新の管理データ、かつ、書き込み対象でないもの(非更新対象)を示す。
図10に図示するように、ブロックBLKa、BLKb共に、32ページで構成されている。管理データAは、ブロックBLKaの先頭の空きページBから順に書き込まれる。図10は、ブロックBLKaの先頭から2つのページに管理データAが書きこまれた状態を示している。
以後、図11に図示するように、空きページBに管理データCが順に書き込まれる。なお、管理データは2ページ分存在するため、最新の管理データには、書き込み対象のものと、非書き込み対象のものが存在する。その後、図12(A)に図示するように、ブロックBLKaの全てのページに管理データAが書き込まれたものとする。このとき、ブロックBLKaには、空きページBが無いため、図12(B)に図示するように、他方のブロックBLKbの先頭の空きページBに管理データCが書き込まれる。以後、図11に図示するように、ブロックBLKbの空きページBに管理データCが順に書き込まれる。
その後、図13(A)に図示するように、ブロックBLKbの全てのページに管理データAが書き込まれたものとする。このとき、ブロックBLKa、BLKb共に空きページBが無いため、ブロックBLKaの全ページの管理データAが消去される。その結果、図13(B)に図示するように、ブロックBLKaの全ページは空きページBとなる。そして、図13(C)に図示するように、ブロックBLKaの先頭の空きページBに管理データCが書き込まれる。
上述したように、ブロックBLKa、BLKb共に空きページBが無い場合には、ブロックBLKaの全ページの管理データAが消去される。すなわち、管理データ領域ARE2のブロックBLKa、BLKbには、管理データがリングバッファのように、環状に書き込まれる。
しかし、図14(A)に図示するように、消去対象のブロックBLKaに、今後、参照すべき最新の管理データEが存在する場合がある。この場合には、ブロックBLKbの全ページの管理データAが消去される。
その結果、図14(B)に図示するように、ブロックBLKbの全ページは空きページBとなる。そして、図14(C)に図示するように、ブロックBLKbの先頭の空きページBに管理データCが書き込まれる。これにより、参照すべき最新の管理データEを消去することなく、空きページBを生成し、この空きページBに新たな管理データCを書き込むことができる。
仮に、管理データ領域ARE2を1ブロックのみ(たとえばブロックBLKa)で構成したものとする。この場合、たとえば、このブロックの全ページにデータが書き込まれ、空きページが存在しないとき、次の処理が必要となる。
初めに、今後も参照すべき管理データを揮発性メモリ12に一旦待避させてから、ブロックを消去し、新たな管理データを消去済のブロックに書き込んだ後に、揮発性メモリ12に待避させた管理データを消去する。
これに対し、本実施形態では、2つのブロックBLKa、BLKbに管理データがリングバッファのように環状に書き込まれることから、上述した処理が不要である。なお、2つ以上のブロックでリングバッファを構成することもできる。
以下、携帯端末10の書き込みエラー防止機能の動作を説明する。
図15は、本発明の実施形態に係る携帯端末の書き込みエラー防止機能の動作例を示すフローチャートである。
図15に図示するように、フラッシュメモリ11へのデータの書き込みが発生したものとする。初めに、フラッシュメモリ11の制御部114は、実データ領域ARE1内の現在アクティブなブロック(たとえばブロックBLKn)に空きページが存在するか否かを判別する(ステップST1)。
説明を明確にするために、空きページが存在し(YES)、データの書き込みが終了するまでの処理について説明した後、空きページが存在しない場合(NO)について説明する。
ステップST1において、空きページが存在する場合には(YES)、制御部114は、アクティブなブロックの書き込み対象となるページに、冗長部の空き領域(図7参照)にインクリメントした書き込み回数を書き込む(ステップST2)。
その後、制御部114は、Xデコーダ112およびYデコーダ113を制御して書き込み対象となるページへのデータの書き込みを開始する(ステップST3)。そして、制御部114は、書き込み対象となるページへデータの書き込みが成功したか否かを判別する(ステップST4)
ステップST4において、書き込みが成功した場合には(YES)、実データ領域ARE1のブロック(たとえばBLKn)へのデータの書き込みを終了する(ステップST5)。
一方、ステップST1において、空きページが存在しない場合には(NO)、制御部1
14は、他のブロック(ブロックBLK1〜BLK(n−1))に空きページが存在するか否かを判別する(ステップST6)。
ステップST6において、他のブロックのいずれかに空きページが存在する場合には(YES)、空きページが存在するブロック(たとえばブロックBLK1)に対してステップST2の処理が行われる。
一方、他のブロックのいずれにも空きページが存在しない場合には(NO)、制御部114は、全てのページのステータス領域に「無効ブロック」が書き込まれているブロックを探索する(ステップST7)。
ステップST7において、上述のブロック(たとえばブロックBLK2)が存在する場合には(YES)、制御部114は、管理データ領域ARE2のブロック(たとえばBLKa)のデータ部にある回数記録領域(図8参照)に書き込み回数を書き込む(ステップST8)。このとき、図10〜図14に図示するように、書き込み回数等の管理データが管理データ領域ARE2に書き込まれる。
一方、ステップST7において、上述のブロック(たとえばブロックBLK2)が存在しない場合には(NO)、ステップST9の処理が行われる。
ステップST8において、書き込み回数が回数記録領域に書き込まれた後、制御部11
4は、管理データ領域ARE2のブロックBLKa、BLKbのデータ部に書き込まれた回数記録領域およびステータス領域をチェックする(ステップST9)。
ステップST9において、チェック完了後(YES)、制御部114は、全てのブロック(ブロックBLK1〜BLKn)の中から、ステータス領域に「無効ブロック」が書き込まれ、かつ、回数記録領域の書き込み回数が最も少ないブロックを抽出し、この抽出したブロックの全ページのデータを消去する(ステップST10)。そして、書き込み対象となるページへのデータの書き込みが開始する(ステップST3)。
一方、ステップST9において、チェックを実行できなかった場合には(NO)、ステップST6の処理が再開される。
ところで、書き込み対象のページへのデータの書き込みが開始し(ステップST3)、ステップST4において書き込みが失敗した場合には(NO)、制御部114は、ECCエラー(エラー)が発生したか否かを検出する(ステップST11)。
ステップST11において、ECCエラーが発生した場合には(YES)、制御部114は、実データ領域ARE1において書き込み対象のブロックの冗長部の空き領域へ、実際の書き込み回数に所定回数(たとえば1000回)を加算して書き込む(ステップST12)。なお、実データ領域ARE1では、書き込み回数が規定回数を超えたブロックに対して、以後、書き込みが禁止される。
その後、制御部114は、書き込み対象のブロックに対して書き込みを規定回数(たとえば3回)行ったか(リトライしたか)否かを判別する(ステップST13)。
ステップST13において、リトライが規定回数行われた場合には(YES)、後述するステップST15の処理が行われる。一方、リトライが規定回数未満である場合には(NO)、ステップST3の処理が再開される。
このように、書き込みに連続して失敗した回数に応じて、書き込み回数に所定回数が上乗せされる。
ステップST4において書き込みが失敗したにも拘わらず(NO)、ステップST11においてECCエラーを検出することができなかった場合には(YES)、エラー訂正の訂正に失敗したため、エラーを訂正することができない。したがって、制御部114は、今後、このエラーの発生したブロックにデータの書き込みを行わないように、このブロックの該当するステータス領域に、「BADブロック」を書き込む(ステップST14)。ただし、ECCエラーチェック部(不図示)によるエラー判定等は、行われない。
これにより、再び書き込みのリトライが行われるという処理(ステップST12,ST13)を省き、書き込み処理を高速化することができる。
その後、制御部114は、管理データ領域ARE2のブロック(たとえばブロックBLKa)におけるデータ部のステータス領域にも、「BADブロック」を書き込む(ステップST15)。この段階では、書き込みが失敗しているため(ステップST16)、他のブロックにデータを書き込むべく、ステップST6の処理が再開される。
上述したように、本実施形態によれば、携帯端末10は、フラッシュメモリ11と、制御部114とを有する。フラッシュメモリ11は、実データ領域ARE1と、管理データ領域ARE2とを有する。
制御部114は、実データ領域ARE1に対する書き込み回数が規定回数以上となったブロックに対しては、実データ領域へのデータの書き込みを禁止する。具体的には、制御部114は、実データ領域ARE1の書き込み対象ブロックにデータの書き込みエラーが発生した場合には、書き込み対象ブロックの書き込み回数に書き込みエラーに対応した所定回数を加算し、所定回数が加算された書き込み回数を管理データとして管理データ領域ARE2に書き込む。
これにより、不具合のメモリセル111があるブロックへのデータの書き込みを回避し、データの書き込みエラーを防止することができる。特に、書き込みエラーが発生する度に、実際の書き込み回数に所定回数が上乗せされるため、この書き込み回数が、書き込み禁止の基準となる規定回数に速く達する。したがって、より迅速かつ確実に書き込みエラーを防止することができる。
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。本実施形態が第1の実施形態と異なる点は、ブロックへの書き込み上限回数である「規定回数」に基づいて書き込みを行わないブロックを選択しないことである。第2の実施形態では、携帯端末10の制御部114(選択部)は、ブロックへの書き込みを行うとき、「最も書き込まれた回数の少ないブロックを選択して(選択工程)」データの書き込みを行う(記憶工程)。
換言すれば、前述した第1の実施形態に記載の技術は、書き込み回数が累計10万回となったブロックを使用禁止とすることによって、エラーを起こし易いブロックを使用しないようにすることを目的とする技術であるのに対し、本実施形態に記載の技術は、使用回数が少ないブロックから使用するようにすることによって全てのブロックを満遍なく使う技術において、エラーを起こし易いブロックについては使用回数を余分にカウントすることによって使用されなくなるようにすることを目的とする技術である。
以下、図16、17を用いて、本実施形態を詳細に説明する。
図16は、本実施形態の最も書き込まれた回数の少ないブロックを選択してデータを書き込む技術について説明したフローチャートである。今回、説明を簡略化するために、ブロックの数はブロックBLK1、BLK2、BLK3、BLK4、BLK5、BLK6及びBLK7の計7ブロックだけがフラッシュメモリ11内に存在するとする。また、図17(a)は、制御部114がデータを書き込もうとした際における、前述したブロックBLK1〜BLK7のそれぞれの書き込み回数の累計を示したグラフである。
以下、図16のフローに従って説明を行う。最初、制御部114は、ブロックBLK1〜BLK7の中より最も書き込み回数の小さいブロックを検索する(ST21)。本実施形態では、図17(a)に示すように、ブロックBLK6の書き込み回数が最も少ない為、制御部114は、ブロックBLK6を選択する。
次に、制御部114は、ブロックBLK6に対してデータの書き込みを試みる(ST22)。そして、その結果、データの書き込みに成功した場合には(ST23/NO)、ブロックBLK6における書き込み回数を1回分増加させて書き込みを終了する(ST24)。
一方、ブロックBLK6に対する書き込みが失敗した場合には(ST23/YES)、制御部114は、ブロックBLK6における書き込み回数を所定回数分(たとえば2000回分)増加させる。(ST25、図17(b))。そして、再び制御部114は、書き込み回数が最も少ないブロックの検索を開始する(ST21)。

従って、再び制御部114が最も書き込み回数の少ないブロックを検索した際には(ST21)、制御部114によって再びブロックBLK6が選択される可能性は著しく低減し、例えば代わりにブロックBLK5が選択されることとなる(図17(c))。
つまり、本実施形態の制御部114は、エラーを起こしたブロックに対しては、1回より多い所定回数分だけ余分に書き込み回数をカウントする為、エラーを起こしたブロックがステップS21において何度も検索されてしまう虞を低減させることが可能となる。
なお、前述した所定回数は、予め定められた定数としたものの、実施形態はこれに限られない。例えば、ブロックへの書き込みを行おうとする度に、書き込み回数が一番少ないものと二番目に少ないものとの差を計算し、当該差に基づいて前記所定回数を定めるといった方法であっても良い。
また、前述した所定回数は、全てのブロックの使用回数の平均値に基づいて定められてもよい。
上述したエラー低減機能を有するNAND型のフラッシュメモリは、あらゆる電子機器に搭載することが可能である。電子機器は、携帯端末だけではなく、たとえば、PDA(Personal Digital Assistant)、ゲーム機、パーソナルコンピュータ、外付け型の記憶装置等であってもよい。
ARE1…実データ領域、ARE2…管理データ領域、BLKn…実データ領域ARE1のブロック、BLKa、BLKb…管理データ領域ARE2のブロック、10…携帯端末、11…フラッシュメモリ、12…揮発性メモリ、13…CPU、14…通信部、15…操作部、16…表示部、17…音声入出力部、18…スピーカ、19…マイクロフォン、110…メモリセル領域、111…メモリセル、112…Xデコーダ、113…Yデコーダ、114…制御部、1111…p型シリコン基板、1112、1113…n層、1114…フローティングゲート、1115…コントロールゲート、1116…絶縁体、1117、1118…セレクトゲート

Claims (9)

  1. 複数のブロックから形成され、データが書き込まれる実データ領域と、当該実データ領域を管理するために用いられる管理データ領域とを有する記憶部と、
    前記実データ領域に対する書き込み回数が規定回数以上となったブロックに対しては、データが書き込まれることを禁止する制御部と
    を有し、
    前記制御部は、
    前記実データ領域の書き込み対象ブロックにおいてデータが書き込まれるときにエラーが発生した場合には、前記書き込み対象ブロックの書き込み回数に前記書き込みエラーに対応した所定回数を加算し、当該所定回数が加算された書き込み回数を前記管理データとして前記管理データ領域に書き込む
    電子機器。
  2. 前記制御部は、
    前記書き込みエラーが発生した前記実データ領域の前記書き込み対象ブロックに対してデータの書き込みを規定回数試み、
    前記規定回数内に前記データの書き込みが成功した場合には、前記規定回数内にデータの書き込みに失敗した回数に基づいた前記規定回数に前記所定回数を加算し、当該所定回数が加算された前記規定回数を前記管理データ領域の該当箇所に書き込み、
    前記規定回数内に前記データの書き込みが失敗した場合には、前記書き込み対象ブロックへのデータの書き込みを禁止する
    請求項1記載の電子機器。
  3. 前記管理データ領域は、複数の管理ブロックから形成され、
    前記制御部は、前記複数の管理ブロックをリングバッファとして、前記実データ領域を管理するための管理データを前記管理ブロックに書き込む
    請求項1または2に記載の電子機器。
  4. 前記制御部は、
    前記書き込み対象ブロックに対するエラーを検出し、当該エラーの訂正に失敗した場合には、前記書き込み対象ブロックへのデータの書き込みを禁止する
    請求項1から3のいずれか一に記載の電子機器。
  5. 複数のブロックからなる記憶部へのデータの書き込み制御を行う電子機器の制御方法であって、
    前記記憶部の前記複数のブロックの中からデータの書き込みを行うブロックを選択する選択工程と、
    前記ブロックへデータを書き込む場合において、選択されたブロックへの前記データの書き込みが成功したとき、当該ブロックに対する書き込み回数を1回分増加させ、選択されたブロックへのデータの書き込み時にエラーが発生したとき、当該ブロックに対する書き込み回数を1回よりも多い所定回数分増加させて記憶する記憶工程と、
    を備え、
    前記選択工程では、前記書き込み回数が規定回数よりも小さいブロックを選択する
    ことを特徴とする電子機器の制御方法。
  6. 請求項5に記載の制御方法であって、
    前記データの書き込み時にエラーが発生した場合において、再度データの書き込みを試みるデータ再書き込み工程を備えることを特徴とする電子機器の制御方法。
  7. 複数のブロックからなりデータが記憶される実データ領域と、前記ブロックへのデータの書き込み回数を記憶する管理データ領域と、を有する記憶部と、
    書き込みを行うブロックを実データ領域から選択する選択部と、
    当該選択部によって選択されたブロックへデータを書き込む制御部と、
    を備え、
    前記制御部は、
    選択した所定のブロックへのデータの書込みが成功した場合、所定のブロックに対する書き込み回数を1回分増加させて前記管理データ領域へ記憶し、
    選択した所定のブロックへのデータの書込み時にエラーが発生した場合、所定のブロックに対する書き込み回数を1回分より多い所定回数分増加させて前記管理データ領域へ記憶し、
    前記選択部は、実データ領域の複数のブロックから書き込み対象のブロックを選択するとき、書き込み回数が一番少ないブロックを選択する
    電子機器。
  8. 複数のブロックからなる記憶部へのデータの書き込み制御を行う電子機器の制御方法であって、
    書き込むブロックを選択する選択工程と、
    前記選択工程にて選択されたブロックへの書き込みに応じて、当該ブロックに対する書き込み回数を増加させて記憶する記憶工程と、
    を備え、
    前記記憶工程では、データの書き込みが成功したとき書き込み回数を1回分増加させて記憶し、データの書き込み時にエラーが発生したとき書き込み回数を1回よりも多い所定回数分増加させて記憶し、
    前記選択工程では、累積書き込み回数が一番少ないブロックを選択する
    ることを特徴とする電子機器の制御方法。
  9. 請求項8に記載の制御方法であって、
    前記所定回数は、書き込み回数が一番少ないブロックに対する書き込み回数と、書き込み回数が2番目に少ないブロックに対する書き込み回数と、の差に基づいて設定される
    ことを特徴とする制御方法。
JP2009127333A 2008-10-30 2009-05-27 電子機器及び電子機器の制御方法 Expired - Fee Related JP5528011B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009127333A JP5528011B2 (ja) 2008-10-30 2009-05-27 電子機器及び電子機器の制御方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008280439 2008-10-30
JP2008280439 2008-10-30
JP2009127333A JP5528011B2 (ja) 2008-10-30 2009-05-27 電子機器及び電子機器の制御方法

Publications (2)

Publication Number Publication Date
JP2010134899A true JP2010134899A (ja) 2010-06-17
JP5528011B2 JP5528011B2 (ja) 2014-06-25

Family

ID=42346099

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009127333A Expired - Fee Related JP5528011B2 (ja) 2008-10-30 2009-05-27 電子機器及び電子機器の制御方法

Country Status (1)

Country Link
JP (1) JP5528011B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011248510A (ja) * 2010-05-25 2011-12-08 Hitachi Automotive Systems Ltd 電子制御装置
JP2021522567A (ja) * 2018-04-20 2021-08-30 マイクロン テクノロジー,インク. カウンタ更新動作のための装置及び方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09198201A (ja) * 1996-01-16 1997-07-31 Toshiba Corp 半導体ディスク装置およびその書換回数管理方法
JPH1063582A (ja) * 1996-08-26 1998-03-06 Jatco Corp 車両用制御装置
JP2004326523A (ja) * 2003-04-25 2004-11-18 Toshiba Corp 書き換え可能な不揮発性メモリを備えた記憶装置及び記憶装置用不揮発性メモリの制御方法
US20050144551A1 (en) * 2003-12-16 2005-06-30 Nahas Joseph J. MRAM having error correction code circuitry and method therefor
US20080301529A1 (en) * 2007-06-01 2008-12-04 Carol Spanel Apparatus and method for distinguishing single bit errors in memory modules

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09198201A (ja) * 1996-01-16 1997-07-31 Toshiba Corp 半導体ディスク装置およびその書換回数管理方法
JPH1063582A (ja) * 1996-08-26 1998-03-06 Jatco Corp 車両用制御装置
JP2004326523A (ja) * 2003-04-25 2004-11-18 Toshiba Corp 書き換え可能な不揮発性メモリを備えた記憶装置及び記憶装置用不揮発性メモリの制御方法
US20050144551A1 (en) * 2003-12-16 2005-06-30 Nahas Joseph J. MRAM having error correction code circuitry and method therefor
US20080301529A1 (en) * 2007-06-01 2008-12-04 Carol Spanel Apparatus and method for distinguishing single bit errors in memory modules

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011248510A (ja) * 2010-05-25 2011-12-08 Hitachi Automotive Systems Ltd 電子制御装置
JP2021522567A (ja) * 2018-04-20 2021-08-30 マイクロン テクノロジー,インク. カウンタ更新動作のための装置及び方法

Also Published As

Publication number Publication date
JP5528011B2 (ja) 2014-06-25

Similar Documents

Publication Publication Date Title
US9075740B2 (en) Memory system
US8125825B2 (en) Memory system protected from errors due to read disturbance and reading method thereof
US7246268B2 (en) Method and apparatus for dynamic degradation detection
JP4648006B2 (ja) サイクルカウント値を記憶する広い消去ブロックを備える不揮発性半導体メモリ
US20120060066A1 (en) Semiconductor memory device with error correction
KR101422704B1 (ko) 소거 스트레스를 줄일 수 있는 전하 트랩형 플래시 메모리장치 그리고 그것의 프로그램 및 소거 방법
JP2006114078A (ja) 不揮発性半導体記憶装置及びその動作方法
JP4570891B2 (ja) 記憶装置
JP2006085895A (ja) 高い信頼度を有する不揮発性メモリ装置のプログラム方法
EP1829047A1 (en) System and method for use of on-chip non-volatile memory write cache
JP2011527807A (ja) 固体記憶装置におけるデータ収集および圧縮
JP2009211215A (ja) メモリシステム
US8443258B2 (en) Memory device including memory controller
EP2179362B1 (en) Memory system
US20100318729A1 (en) Nonvolatile semiconductor memory device
JP5528011B2 (ja) 電子機器及び電子機器の制御方法
JP5039193B2 (ja) 半導体記憶装置および制御方法
TW200809864A (en) Cycle count storage methods and systems
JP4634229B2 (ja) 半導体不揮発性メモリ装置およびそれを備えた携帯情報端末機器
JP2005190289A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
US7525848B2 (en) Method for erasing and changing data of floating gate flash memory
US20100332736A1 (en) Method of operating nonvolatile memory device
US20070159883A1 (en) Method and Related Apparatus Capable of Improving Endurance of Memory
JP2011243116A (ja) メモリシステム及びそのデータ転送方法
JP2005215919A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120305

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130827

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131008

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140318

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140415

R150 Certificate of patent or registration of utility model

Ref document number: 5528011

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees