説明

メモリ制御装置およびメモリ制御方法

【課題】メモリにおいて、時間経過とともに訂正不可能なビット誤りが生じることを防ぐこと。
【解決手段】メモリ制御装置は、第1の所定の期間が経過する毎に、読み出すブロックを更新しつつ、メモリから1ブロック分のデータを読み出すデータ読み出し部と、前記データに訂正不可能なエラーが含まれない場合に、前記データに含まれるエラーを訂正するエラー訂正部と、前記データに含まれるビット化け数が所定のビット数以上である場合に、前記エラー訂正部により訂正されたデータをメモリに書き込むデータ書き込み部と、を備えている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メモリ制御装置およびメモリ制御方法に関し、特に、リフレッシュ動作を要するメモリを制御するメモリ制御装置およびメモリ制御方法に関する。
【背景技術】
【0002】
半導体記憶装置(メモリ)は、時間の経過ともにビット(bit)化け(ビット誤り)を引き起こす。そこで、誤り訂正符号(ECC:Error Correcting Code)等のエラー訂正機能に基づいてビット誤りを訂正する方法、または、DRAM(Dynamic Random Access Memory)のリフレッシュのように補償機能に基づいてビット化けを防止する方法が用いられる。
【0003】
また、メモリの中でも、特に、NAND型フラッシュメモリは、NOR型のフラッシュメモリと比較して回路規模が小さく、安価に大容量化することができるため、近年、メモリカード、音楽プレーヤ、携帯電話等の記憶装置として広く使用されている。
【0004】
特許文献1には、読み出し動作に起因するデータ破壊(リードディスターブ)により、誤り訂正が不可能なデータ破壊が生じることを防ぐために、メモリセルへのリードアクセス回数が所定の回数に達した場合に、データのリフレッシュを行う不揮発性データ記憶装置が記載されている。
【0005】
また、特許文献2には、効率の良いリフレッシュ処理を行うために、データの誤り数が所定の閾値以上であるブロックに対してリフレッシュを行う、半導体記憶装置の制御方法が記載されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2008−287404号公報
【特許文献2】特開2010−160816号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
以下の分析は、本発明者によってなされたものである。
【0008】
例えば、NAND型フラッシュメモリのように、書き込み回数に制限があるようなメモリでは、上述のエラー訂正機能に基づいてビット誤りを訂正する方法、または、補償機能に基づいてビット化けを防止する方法によると、書き込み上限に達しやすいという問題がある。
【0009】
また、NAND型フラッシュメモリにおいては、メモリセルの多次元化、書き込み原理(電荷注入)、マルチレベルセル化(すなわち、1セルでの電圧を0、1の2値ではなく、00、01、10、11の4つ分の境界を電圧で読み取る方式)や故障モードにより、時間経過によるビット化けが起こりやすい。
【0010】
図7は、マルチセルタイプのNAND型メモリ回路のデータを模式的に示す。図7を参照すると、マルチセルタイプのNAND型メモリ回路のデータは、「11」、「10」、「01」、または、「00」のデータを記憶している。電圧レベルを閾値と比較することにより、いずれのデータを記憶しているのかを判定する。図7に示したNAND型メモリ回路においては、データの電圧が時間の経過とともに徐々に低下することがあり、これによりデータ化けが生じる。
【0011】
また、NAND型フラッシュメモリの特徴として、エラービットの発生が多いことが知られている。そこで、NAND型フラッシュメモリでは、誤り訂正コードを演算し、冗長記憶エリアに書き込むようにする。上位システム側は、NAND型フラッシュメモリからデータを読み出す際に、誤り訂正コードを確認し、誤りがある場合には、訂正可能なエラービット数以内であれば訂正処理を行う。
【0012】
さらに、NAND型フラッシュメモリのデータ保証は無期限ではなく、ある程度の時間経過によりエラービットが増加していくことが知られている。したがって、NAND型フラッシュメモリでは、時間経過とともに、訂正可能なエラービット数を超えるエラーが生じる場合がある。
【0013】
したがって、NAND型フラッシュメモリを使用する上位システムは、訂正不可能なエラービット数となった場合には、これを判別し、該当ブロックのデータを未使用とする制御を行う必要がある。
【0014】
訂正不可能なエラービットが発生したNAND型フラッシュメモリのブロックに存在していたデータが、システムにとって比較的重要性の低いデータであれば、一部データが欠如したレベルとして、システムは動作を継続し得る場合がある。しかし、訂正不可能なエラービットが発生したNAND型フラッシュメモリのブロックに、システムが動作するための重要なデータが存在する場合には、システムそのものの動作が不可能となるおそれがある。
【0015】
図8は、NAND型メモリのブロックイメージを示す。一例として、ブロック1000において訂正不可能なエラーが発生したとする。図8を参照すると、ブロック1000はユーザデータ格納用領域として使用されており、この場合には、ユーザデータが消失する。他の例として、携帯電話機用プログラム格納領域であるブロック3において訂正不可能なエラーが発生した場合には、携帯電話機自体が動作不能となるおそれがある。
【0016】
そこで、NAND型フラッシュメモリ等のメモリにおいて、時間経過とともに訂正不可能なビット誤りが生じることを防ぐことが課題となる。本発明の目的は、かかる課題を解決するメモリ制御装置およびメモリ制御方法を提供することにある。
【課題を解決するための手段】
【0017】
本発明の第1の視点に係るメモリ制御装置は、
第1の所定の期間が経過する毎に、読み出すブロックを更新しつつ、メモリから1ブロック分のデータを読み出すデータ読み出し部と、
前記データに訂正不可能なエラーが含まれない場合に、前記データに含まれるエラーを訂正するエラー訂正部と、
前記データに含まれるビット化け数が所定のビット数以上である場合に、前記エラー訂正部により訂正されたデータを前記メモリに書き込むデータ書き込み部と、を備えている。
【0018】
本発明の第2の視点に係るメモリ制御方法は、
第1の所定の期間が経過する毎に、読み出すブロックを更新しつつ、メモリから1ブロック分のデータを読み出すデータ読み出す工程と、
前記データに訂正不可能なエラーが含まれない場合に、前記データに含まれるエラーを訂正する工程と、
前記データに含まれるビット化け数が所定のビット数以上である場合に、前記エラー訂正部により訂正されたデータを前記メモリに書き込む工程と、を含む。
【発明の効果】
【0019】
本発明に係るメモリ制御装置およびメモリ制御方法によると、メモリにおいて、時間経過とともに訂正不可能なエラーが生じることを防ぐことができる。
【図面の簡単な説明】
【0020】
【図1】本発明に係るメモリ制御装置の構成を示すブロック図である。
【図2】第1ないし第3の実施形態に係るメモリ制御装置を備えた携帯電話機の構成を示すブロック図である。
【図3】第1の実施形態に係るメモリ制御装置の動作を示すフローチャートである。
【図4】第2の実施形態に係るメモリ制御装置の動作を示すフローチャートである。
【図5】第2の実施形態に係るメモリ制御装置を備えた携帯電話機における選択メニューを示す図である。
【図6】第3の実施形態に係るメモリ制御装置の動作を示すフローチャートである。
【図7】NAND型メモリ回路のデータイメージを示す図である。
【図8】携帯電話機におけるNAND型メモリの構成を示す図である。
【発明を実施するための形態】
【0021】
はじめに、本発明の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。
【0022】
図1を参照すると、本発明に係るメモリ制御装置(20)は、第1の所定の期間が経過する毎に、読み出すブロックを更新しつつ、メモリ(30)から1ブロック分のデータを読み出すデータ読み出し部(21)と、データに訂正不可能なエラーが含まれない場合に、データに含まれるエラーを訂正するエラー訂正部(22)と、データに含まれるビット化け数が所定のビット数以上である場合に、エラー訂正部(22)により訂正されたデータをメモリ(30)に書き込むデータ書き込み部(23)と、を備えている。
【0023】
データ書き込み部(23)は、各ブロックへの総書き込み回数または全ブロックへの総書き込み回数に応じて、前記所定のビット数を段階的に削減するようにしてもよい。
【0024】
また、メモリ制御装置(20)は、データに訂正不可能なエラーが含まれる場合に、データが格納されていたブロックのデータを消去するデータ消去部(24)をさらに備えていることが好ましい。さらに、データ読み出し部(21)によるデータの読み出しは、充電期間中に行われるようにしてもよい。また、データ読み出し部(21)は、第2の所定の期間に亘って読み出しが行われていないブロックのみを読み出すようにしてもよい。
【0025】
本発明に係るメモリ制御装置20は、メモリ(30)(例えば、NAND型フラッシュメモリ)を定期的に読み出し、訂正不能なビットエラーがなく、かつ、ビット化け数が所定のビット数以上である場合には、エラーを訂正したデータのメモリへの再書き込みを実施する。これにより、時間経過に起因して訂正不可能なエラーが発生することを抑止する。また、かかるメモリ制御装置20を携帯電話機に搭載することで、携帯電話機のシステムの動作を安定化することができる。
【0026】
(実施形態1)
第1の実施形態に係るメモリ制御装置、および、これを備えた携帯電話機について、図面を参照して説明する。図2は、本実施形態に係るメモリ制御装置を備えた携帯電話機の構成を示すブロック図である。図2を参照すると、携帯電話機は、無線送受信部11、アプリケーションCPU12、通信系CPU13、ROM(NAND型メモリ)14、RAM15、マイクスピーカ16、表示部17、および、操作部18を備えている。
【0027】
本実施形態では、一例として、図1に示したメモリ制御装置20の各部のうち、データ読み出し部21、データ書き込み部23およびデータ消去部24の機能をアプリケーションCPU12上で動作するプログラムとして実現し、エラー訂正部22の機能はROM14に設けられているものとする。ただし、エラー訂正部22の機能を、NAND型メモリ14内部に設ける代わりに、メモリコントローラとしてCPUチップ側に内蔵するようにしてもよい。
【0028】
図3を参照して、本実施形態のメモリ制御装置の動作について説明する。
【0029】
まず、一定時間の経過を待つ(ステップS21)。ここで、一定時間とは、NAND型メモリ14に訂正不可能なエラービットが発生し得る時間よりも十分短い時間とする。
【0030】
一定時間の経過後、アプリケーションCPU12は、NAND型メモリ14の1ブロックを読み出す(ステップS22)。
【0031】
アプリケーションCPU12は、NAND型メモリ14を、ブロックごとに読み出すようにする。なお、アプリケーションCPU12は、ブロックごとに用意されているECC Status Registerを読み出すことにより、読み出しの際に発生したビット化け数を把握することができる。
【0032】
ここでは、ECCによってエラー訂正を行っているため、NAND型メモリ14内部のサブシステムが、ビット化けした箇所の個数をカウントする。また、NAND型メモリ14にエラー訂正機能が設けられているため、アプリケーションCPU12は、エラー訂正後のデータと、ブロック当りのビット化け数とを、NAND型メモリ14から読み出すことができる。
【0033】
次に、訂正不可能なビットエラーがあるか否かを確認する(ステップS23)。訂正不可能なビットエラーがない場合には(ステップS23のNO)、ビット化け数が所定のビット数以上であるか否かを判定する(ステップS24)。
【0034】
ビット化け数が所定のビット数以上である場合には(ステップS24のYES)、エラー訂正後のデータをNAND型メモリ14に書き込む(ステップS25)。ここで、所定のビット数として、訂正可能なビット数以下のビット数を設定する。
【0035】
また、装置の総通電時間(例えば、製造時や電源ON等の通電時刻の初回記録と現在時刻との差)、または、ブロック当りの総書き込み回数や全体の書き込み命令回数に応じて、所定のビット数を段階的に少なくするようにしてもよい。NAND型メモリ14において、総書き込み回数が増大した場合には、少ないビット化け数のエラーが頻繁に生じる傾向が見られるからである。
【0036】
また、アプリケーションCPU12は、エラー訂正後のデータをNAND型メモリ14に書き込む際、データを読み出したブロック以外のブロックに書き込むようにする。ただし、データを読み出したブロックと同一のブロックに書き込んでも内容が保障されるようなメモリの場合には、エラー訂正後のデータを、データを読み出したブロックと同一のブロックに書き込むようにしてもよい。
【0037】
一方、訂正不可能なビットエラーがある場合には(ステップS23のYES)、エラー発生により不正データとなっているため、該当ブロックのデータを消去する(ステップS26)。消去したブロックは、後に再利用する。
【0038】
次に、読み出すNAND型メモリ14のブロックのインデックスをインクリメントし(ステップS27)、再び、一定時間の経過を待つ(ステップS21)。
【0039】
以上の処理をNAND型メモリ14の総ブロックについて実施する。これにより、NAND型メモリ14において、時間経過に起因した訂正不可能なエラービットが発生することを抑止し、携帯電話機において安定した動作を実現することができる。
【0040】
なお、エラー訂正を行うサブシステムを、NAND型メモリ14内部に設ける代わりに、メモリコントローラとしてアプリケーションCPU12側に内蔵するようにしてもよい。この場合には、アプリケーションCPU12は、エラー訂正前のデータと冗長化ビットを、NAND型メモリ14から読み出し、エラー訂正不可能なビットエラーがなければエラーを訂正し、エラー訂正後のデータをNAND型メモリ14に書き込むようにする。
【0041】
(実施形態2)
第2の実施形態に係るメモリ制御装置、および、これを備えた携帯電話機について、図面を参照して説明する。図4は、本実施形態に係るメモリ制御装置の動作を示すフローチャートである。なお、第1の実施形態と同一の処理内容については、説明を省略する。本実施形態では、ステップS40において、充電中か否かを判定する点で、第1の実施形態と相違する。
【0042】
第1の実施形態の図3に示した各処理において、電力が消費されるため、携帯電話機の使用時間が短くなる。そこで、本実施形態では、図3に示したフローを充電中に限って(ステップS40のYES)、実施するようにする。
【0043】
なお、第1の実施形態および本実施形態において、図3および図4に示したフローを携帯電話機のユーザに見えないところで、自動で実施するようにしてもよいし、図5のような選択メニューをユーザに提示し、ユーザの選択結果に従って実施するようにしてもよい。
【0044】
(実施形態3)
第3の実施形態に係るメモリ制御装置、および、これを供えた携帯電話機について、図面を参照して説明する。図6は、本実施形態に係るメモリ制御装置の動作を示すフローチャートである。なお、第1の実施形態と同一の処理内容については、説明を省略する。
【0045】
本実施形態では、ステップS52およびステップS57において、NAND型メモリ14内の一定期間読み出しが行われていないブロックについてのみ処理を実行する点で、第1の実施形態と相違する。
【0046】
携帯電話機の通常の使用時において、NAND型メモリ14内で、読み書きが実施されるブロックと実施されないブロックとが生ずる。本実施形態では、通常使用時において読み書きの頻度が少ないブロック、すなわち、訂正可能なエラービット数を超える危険性が高いブロックを優先的に処理する。
【0047】
第1ないし第3の実施形態に係るメモリ制御装置では、NAND型フラッシュメモリを定期的に読み出し、訂正不可能なビットエラーがなく、かつ、ビット化け数が所定のビット数以上である場合には、読み出したデータを再度書き込む。すなわち、ある時間が経過するとビットエラーが発生するメモリで、所定の時間間隔で、しばらく読み書きされていない場合に、(ECCの対象となるブロックの全)データを読み出し、正常にエラー訂正された場合で、ビットエラー数が多い場合に(他のブロックへ)書き戻す(同一ブロックに書き込む場合はリセットする)。これにより、時間経過に起因して訂正不可能なエラー発生することを抑止し、携帯電話機の安定した動作を実現することができる。
【0048】
なお、上記の特許文献等の先行技術文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【0049】
11 無線送受信部
12 アプリケーションCPU
13 通信系CPU
14 ROM(Read Only Memory)
15 RAM(Random Access Memory)
16 マイクスピーカ
17 表示部
18 操作部
20 メモリ制御装置
21 データ読み出し部
22 エラー訂正部
23 データ書き込み部
24 データ消去部
30 メモリ

【特許請求の範囲】
【請求項1】
第1の所定の期間が経過する毎に、読み出すブロックを更新しつつ、メモリから1ブロック分のデータを読み出すデータ読み出し部と、
前記データに訂正不可能なエラーが含まれない場合に、前記データに含まれるエラーを訂正するエラー訂正部と、
前記データに含まれるビット化け数が所定のビット数以上である場合に、前記エラー訂正部により訂正されたデータを前記メモリに書き込むデータ書き込み部と、を備えていることを特徴とするメモリ制御装置。
【請求項2】
前記データ書き込み部は、各ブロックへの総書き込み回数または全ブロックへの総書き込み回数に応じて、前記所定のビット数を段階的に削減することを特徴とする、請求項1に記載のメモリ制御装置。
【請求項3】
前記データに訂正不可能なエラーが含まれる場合に、前記データが格納されていたブロックのデータを消去するデータ消去部をさらに備えていることを特徴とする、請求項1または2に記載のメモリ制御装置。
【請求項4】
前記データ読み出し部によるデータの読み出しは、充電期間中に行われることを特徴とする、請求項1ないし3のいずれか1項に記載のメモリ制御装置。
【請求項5】
前記データ読み出し部は、第2の所定の期間に亘って読み出しが行われていないブロックのみを読み出すことを特徴とする、請求項1ないし4のいずれか1項に記載のメモリ制御装置。
【請求項6】
前記メモリは、NAND型フラッシュメモリであることを特徴とする、請求項1ないし5のいずれか1項に記載のメモリ制御装置。
【請求項7】
第1の所定の期間が経過する毎に、読み出すブロックを更新しつつ、メモリから1ブロック分のデータを読み出すデータ読み出す工程と、
前記データに訂正不可能なエラーが含まれない場合に、前記データに含まれるエラーを訂正する工程と、
前記データに含まれるビット化け数が所定のビット数以上である場合に、前記エラー訂正部により訂正されたデータを前記メモリに書き込む工程と、を含むことを特徴とするメモリ制御方法。
【請求項8】
各ブロックへの総書き込み回数または全ブロックへの総書き込み回数に応じて、前記所定のビット数を段階的に削減する工程を含むことを特徴とする、請求項7に記載のメモリ制御方法。
【請求項9】
前記読み出し工程は、充電期間中に行われることを特徴とする、請求項7または8に記載のメモリ制御方法。
【請求項10】
前記読み出し工程において、第2の所定の期間に亘って読み出しが行われていないブロックのみを読み出すことを特徴とする、請求項7ないし9のいずれか1項に記載のメモリ制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate