(57)【要約】【課題】メモリにおいて、時間経過とともに訂正不可能なビット誤りが生じることを防ぐこと。【解決手段】メモリ制御装置は、第１の所定の期間が経過する毎に、読み出すブロックを更新しつつ、メモリから１ブロック分のデータを読み出すデータ読み出し部と、前記データに訂正不可能なエラーが含まれない場合に、前記データに含まれるエラーを訂正するエラー訂正部と、前記データに含まれるビット化け数が所定のビット数以上である場合に、前記エラー訂正部により訂正されたデータをメモリに書き込むデータ書き込み部と、を備えている。【選択図】図１
2012208537.tif 000002
【特許請求の範囲】
【請求項１】
第１の所定の期間が経過する毎に、読み出すブロックを更新しつつ、メモリから１ブロック分のデータを読み出すデータ読み出し部と、
前記データに訂正不可能なエラーが含まれない場合に、前記データに含まれるエラーを訂正するエラー訂正部と、
前記データに含まれるビット化け数が所定のビット数以上である場合に、前記エラー訂正部により訂正されたデータを前記メモリに書き込むデータ書き込み部と、を備えていることを特徴とするメモリ制御装置。
【請求項２】
前記データ書き込み部は、各ブロックへの総書き込み回数または全ブロックへの総書き込み回数に応じて、前記所定のビット数を段階的に削減することを特徴とする、請求項１に記載のメモリ制御装置。
【請求項３】
前記データに訂正不可能なエラーが含まれる場合に、前記データが格納されていたブロックのデータを消去するデータ消去部をさらに備えていることを特徴とする、請求項１または２に記載のメモリ制御装置。
【請求項４】
前記データ読み出し部によるデータの読み出しは、充電期間中に行われることを特徴とする、請求項１ないし３のいずれか１項に記載のメモリ制御装置。
【請求項５】
前記データ読み出し部は、第２の所定の期間に亘って読み出しが行われていないブロックのみを読み出すことを特徴とする、請求項１ないし４のいずれか１項に記載のメモリ制御装置。
【請求項６】
前記メモリは、ＮＡＮＤ型フラッシュメモリであることを特徴とする、請求項１ないし５のいずれか１項に記載のメモリ制御装置。
【請求項７】
第１の所定の期間が経過する毎に、読み出すブロックを更新しつつ、メモリから１ブロック分のデータを読み出すデータ読み出す工程と、
前記データに訂正不可能なエラーが含まれない場合に、前記データに含まれるエラーを訂正する工程と、
前記データに含まれるビット化け数が所定のビット数以上である場合に、前記エラー訂正部により訂正されたデータを前記メモリに書き込む工程と、を含むことを特徴とするメモリ制御方法。
【請求項８】
各ブロックへの総書き込み回数または全ブロックへの総書き込み回数に応じて、前記所定のビット数を段階的に削減する工程を含むことを特徴とする、請求項７に記載のメモリ制御方法。
【請求項９】
前記読み出し工程は、充電期間中に行われることを特徴とする、請求項７または８に記載のメモリ制御方法。
【請求項１０】
前記読み出し工程において、第２の所定の期間に亘って読み出しが行われていないブロックのみを読み出すことを特徴とする、請求項７ないし９のいずれか１項に記載のメモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ制御装置およびメモリ制御方法に関し、特に、リフレッシュ動作を要するメモリを制御するメモリ制御装置およびメモリ制御方法に関する。
【背景技術】
【０００２】
半導体記憶装置（メモリ）は、時間の経過ともにビット（ｂｉｔ）化け（ビット誤り）を引き起こす。そこで、誤り訂正符号（ＥＣＣ：Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅ）等のエラー訂正機能に基づいてビット誤りを訂正する方法、または、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のリフレッシュのように補償機能に基づいてビット化けを防止する方法が用いられる。
【０００３】
また、メモリの中でも、特に、ＮＡＮＤ型フラッシュメモリは、ＮＯＲ型のフラッシュメモリと比較して回路規模が小さく、安価に大容量化することができるため、近年、メモリカード、音楽プレーヤ、携帯電話等の記憶装置として広く使用されている。
【０００４】
特許文献１には、読み出し動作に起因するデータ破壊（リードディスターブ）により、誤り訂正が不可能なデータ破壊が生じることを防ぐために、メモリセルへのリードアクセス回数が所定の回数に達した場合に、データのリフレッシュを行う不揮発性データ記憶装置が記載されている。
【０００５】
また、特許文献２には、効率の良いリフレッシュ処理を行うために、データの誤り数が所定の閾値以上であるブロックに対してリフレッシュを行う、半導体記憶装置の制御方法が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２８７４０４号公報
【特許文献２】特開２０１０−１６０８１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
以下の分析は、本発明者によってなされたものである。
【０００８】
例えば、ＮＡＮＤ型フラッシュメモリのように、書き込み回数に制限があるようなメモリでは、上述のエラー訂正機能に基づいてビット誤りを訂正する方法、または、補償機能に基づいてビット化けを防止する方法によると、書き込み上限に達しやすいという問題がある。
【０００９】
また、ＮＡＮＤ型フラッシュメモリにおいては、メモリセルの多次元化、書き込み原理（電荷注入）、マルチレベルセル化（すなわち、１セルでの電圧を０、１の２値ではなく、００、０１、１０、１１の４つ分の境界を電圧で読み取る方式）や故障モードにより、時間経過によるビット化けが起こりやすい。
【００１０】
図７は、マルチセルタイプのＮＡＮＤ型メモリ回路のデータを模式的に示す。図７を参照すると、マルチセルタイプのＮＡＮＤ型メモリ回路のデータは、「１１」、「１０」、「０１」、または、「００」のデータを記憶している。電圧レベルを閾値と比較することにより、いずれのデータを記憶しているのかを判定する。図７に示したＮＡＮＤ型メモリ回路においては、データの電圧が時間の経過とともに徐々に低下することがあり、これによりデータ化けが生じる。
【００１１】
また、ＮＡＮＤ型フラッシュメモリの特徴として、エラービットの発生が多いことが知られている。そこで、ＮＡＮＤ型フラッシュメモリでは、誤り訂正コードを演算し、冗長記憶エリアに書き込むようにする。上位システム側は、ＮＡＮＤ型フラッシュメモリからデータを読み出す際に、誤り訂正コードを確認し、誤りがある場合には、訂正可能なエラービット数以内であれば訂正処理を行う。
【００１２】
さらに、ＮＡＮＤ型フラッシュメモリのデータ保証は無期限ではなく、ある程度の時間経過によりエラービットが増加していくことが知られている。したがって、ＮＡＮＤ型フラッシュメモリでは、時間経過とともに、訂正可能なエラービット数を超えるエラーが生じる場合がある。
【００１３】
したがって、ＮＡＮＤ型フラッシュメモリを使用する上位システムは、訂正不可能なエラービット数となった場合には、これを判別し、該当ブロックのデータを未使用とする制御を行う必要がある。
【００１４】
訂正不可能なエラービットが発生したＮＡＮＤ型フラッシュメモリのブロックに存在していたデータが、システムにとって比較的重要性の低いデータであれば、一部データが欠如したレベルとして、システムは動作を継続し得る場合がある。しかし、訂正不可能なエラービットが発生したＮＡＮＤ型フラッシュメモリのブロックに、システムが動作するための重要なデータが存在する場合には、システムそのものの動作が不可能となるおそれがある。
【００１５】
図８は、ＮＡＮＤ型メモリのブロックイメージを示す。一例として、ブロック１０００において訂正不可能なエラーが発生したとする。図８を参照すると、ブロック１０００はユーザデータ格納用領域として使用されており、この場合には、ユーザデータが消失する。他の例として、携帯電話機用プログラム格納領域であるブロック３において訂正不可能なエラーが発生した場合には、携帯電話機自体が動作不能となるおそれがある。
【００１６】
そこで、ＮＡＮＤ型フラッシュメモリ等のメモリにおいて、時間経過とともに訂正不可能なビット誤りが生じることを防ぐことが課題となる。本発明の目的は、かかる課題を解決するメモリ制御装置およびメモリ制御方法を提供することにある。
【課題を解決するための手段】
【００１７】
本発明の第１の視点に係るメモリ制御装置は、
第１の所定の期間が経過する毎に、読み出すブロックを更新しつつ、メモリから１ブロック分のデータを読み出すデータ読み出し部と、
前記データに訂正不可能なエラーが含まれない場合に、前記データに含まれるエラーを訂正するエラー訂正部と、
前記データに含まれるビット化け数が所定のビット数以上である場合に、前記エラー訂正部により訂正されたデータを前記メモリに書き込むデータ書き込み部と、を備えている。
【００１８】
本発明の第２の視点に係るメモリ制御方法は、
第１の所定の期間が経過する毎に、読み出すブロックを更新しつつ、メモリから１ブロック分のデータを読み出すデータ読み出す工程と、
前記データに訂正不可能なエラーが含まれない場合に、前記データに含まれるエラーを訂正する工程と、
前記データに含まれるビット化け数が所定のビット数以上である場合に、前記エラー訂正部により訂正されたデータを前記メモリに書き込む工程と、を含む。
【発明の効果】
【００１９】
本発明に係るメモリ制御装置およびメモリ制御方法によると、メモリにおいて、時間経過とともに訂正不可能なエラーが生じることを防ぐことができる。
【図面の簡単な説明】
【００２０】
【図１】本発明に係るメモリ制御装置の構成を示すブロック図である。
【図２】第１ないし第３の実施形態に係るメモリ制御装置を備えた携帯電話機の構成を示すブロック図である。
【図３】第１の実施形態に係るメモリ制御装置の動作を示すフローチャートである。
【図４】第２の実施形態に係るメモリ制御装置の動作を示すフローチャートである。
【図５】第２の実施形態に係るメモリ制御装置を備えた携帯電話機における選択メニューを示す図である。
【図６】第３の実施形態に係るメモリ制御装置の動作を示すフローチャートである。
【図７】ＮＡＮＤ型メモリ回路のデータイメージを示す図である。
【図８】携帯電話機におけるＮＡＮＤ型メモリの構成を示す図である。
【発明を実施するための形態】
【００２１】
はじめに、本発明の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。
【００２２】
図１を参照すると、本発明に係るメモリ制御装置（２０）は、第１の所定の期間が経過する毎に、読み出すブロックを更新しつつ、メモリ（３０）から１ブロック分のデータを読み出すデータ読み出し部（２１）と、データに訂正不可能なエラーが含まれない場合に、データに含まれるエラーを訂正するエラー訂正部（２２）と、データに含まれるビット化け数が所定のビット数以上である場合に、エラー訂正部（２２）により訂正されたデータをメモリ（３０）に書き込むデータ書き込み部（２３）と、を備えている。
【００２３】
データ書き込み部（２３）は、各ブロックへの総書き込み回数または全ブロックへの総書き込み回数に応じて、前記所定のビット数を段階的に削減するようにしてもよい。
【００２４】
また、メモリ制御装置（２０）は、データに訂正不可能なエラーが含まれる場合に、データが格納されていたブロックのデータを消去するデータ消去部（２４）をさらに備えていることが好ましい。さらに、データ読み出し部（２１）によるデータの読み出しは、充電期間中に行われるようにしてもよい。また、データ読み出し部（２１）は、第２の所定の期間に亘って読み出しが行われていないブロックのみを読み出すようにしてもよい。
【００２５】
本発明に係るメモリ制御装置２０は、メモリ（３０）（例えば、ＮＡＮＤ型フラッシュメモリ）を定期的に読み出し、訂正不能なビットエラーがなく、かつ、ビット化け数が所定のビット数以上である場合には、エラーを訂正したデータのメモリへの再書き込みを実施する。これにより、時間経過に起因して訂正不可能なエラーが発生することを抑止する。また、かかるメモリ制御装置２０を携帯電話機に搭載することで、携帯電話機のシステムの動作を安定化することができる。
【００２６】
（実施形態１）
第１の実施形態に係るメモリ制御装置、および、これを備えた携帯電話機について、図面を参照して説明する。図２は、本実施形態に係るメモリ制御装置を備えた携帯電話機の構成を示すブロック図である。図２を参照すると、携帯電話機は、無線送受信部１１、アプリケーションＣＰＵ１２、通信系ＣＰＵ１３、ＲＯＭ（ＮＡＮＤ型メモリ）１４、ＲＡＭ１５、マイクスピーカ１６、表示部１７、および、操作部１８を備えている。
【００２７】
本実施形態では、一例として、図１に示したメモリ制御装置２０の各部のうち、データ読み出し部２１、データ書き込み部２３およびデータ消去部２４の機能をアプリケーションＣＰＵ１２上で動作するプログラムとして実現し、エラー訂正部２２の機能はＲＯＭ１４に設けられているものとする。ただし、エラー訂正部２２の機能を、ＮＡＮＤ型メモリ１４内部に設ける代わりに、メモリコントローラとしてＣＰＵチップ側に内蔵するようにしてもよい。
【００２８】
図３を参照して、本実施形態のメモリ制御装置の動作について説明する。
【００２９】
まず、一定時間の経過を待つ（ステップＳ２１）。ここで、一定時間とは、ＮＡＮＤ型メモリ１４に訂正不可能なエラービットが発生し得る時間よりも十分短い時間とする。
【００３０】
一定時間の経過後、アプリケーションＣＰＵ１２は、ＮＡＮＤ型メモリ１４の１ブロックを読み出す（ステップＳ２２）。
【００３１】
アプリケーションＣＰＵ１２は、ＮＡＮＤ型メモリ１４を、ブロックごとに読み出すようにする。なお、アプリケーションＣＰＵ１２は、ブロックごとに用意されているＥＣＣ  Ｓｔａｔｕｓ  Ｒｅｇｉｓｔｅｒを読み出すことにより、読み出しの際に発生したビット化け数を把握することができる。
【００３２】
ここでは、ＥＣＣによってエラー訂正を行っているため、ＮＡＮＤ型メモリ１４内部のサブシステムが、ビット化けした箇所の個数をカウントする。また、ＮＡＮＤ型メモリ１４にエラー訂正機能が設けられているため、アプリケーションＣＰＵ１２は、エラー訂正後のデータと、ブロック当りのビット化け数とを、ＮＡＮＤ型メモリ１４から読み出すことができる。
【００３３】
次に、訂正不可能なビットエラーがあるか否かを確認する（ステップＳ２３）。訂正不可能なビットエラーがない場合には（ステップＳ２３のＮＯ）、ビット化け数が所定のビット数以上であるか否かを判定する（ステップＳ２４）。
【００３４】
ビット化け数が所定のビット数以上である場合には（ステップＳ２４のＹＥＳ）、エラー訂正後のデータをＮＡＮＤ型メモリ１４に書き込む（ステップＳ２５）。ここで、所定のビット数として、訂正可能なビット数以下のビット数を設定する。
【００３５】
また、装置の総通電時間（例えば、製造時や電源ＯＮ等の通電時刻の初回記録と現在時刻との差）、または、ブロック当りの総書き込み回数や全体の書き込み命令回数に応じて、所定のビット数を段階的に少なくするようにしてもよい。ＮＡＮＤ型メモリ１４において、総書き込み回数が増大した場合には、少ないビット化け数のエラーが頻繁に生じる傾向が見られるからである。
【００３６】
また、アプリケーションＣＰＵ１２は、エラー訂正後のデータをＮＡＮＤ型メモリ１４に書き込む際、データを読み出したブロック以外のブロックに書き込むようにする。ただし、データを読み出したブロックと同一のブロックに書き込んでも内容が保障されるようなメモリの場合には、エラー訂正後のデータを、データを読み出したブロックと同一のブロックに書き込むようにしてもよい。
【００３７】
一方、訂正不可能なビットエラーがある場合には（ステップＳ２３のＹＥＳ）、エラー発生により不正データとなっているため、該当ブロックのデータを消去する（ステップＳ２６）。消去したブロックは、後に再利用する。
【００３８】
次に、読み出すＮＡＮＤ型メモリ１４のブロックのインデックスをインクリメントし（ステップＳ２７）、再び、一定時間の経過を待つ（ステップＳ２１）。
【００３９】
以上の処理をＮＡＮＤ型メモリ１４の総ブロックについて実施する。これにより、ＮＡＮＤ型メモリ１４において、時間経過に起因した訂正不可能なエラービットが発生することを抑止し、携帯電話機において安定した動作を実現することができる。
【００４０】
なお、エラー訂正を行うサブシステムを、ＮＡＮＤ型メモリ１４内部に設ける代わりに、メモリコントローラとしてアプリケーションＣＰＵ１２側に内蔵するようにしてもよい。この場合には、アプリケーションＣＰＵ１２は、エラー訂正前のデータと冗長化ビットを、ＮＡＮＤ型メモリ１４から読み出し、エラー訂正不可能なビットエラーがなければエラーを訂正し、エラー訂正後のデータをＮＡＮＤ型メモリ１４に書き込むようにする。
【００４１】
（実施形態２）
第２の実施形態に係るメモリ制御装置、および、これを備えた携帯電話機について、図面を参照して説明する。図４は、本実施形態に係るメモリ制御装置の動作を示すフローチャートである。なお、第１の実施形態と同一の処理内容については、説明を省略する。本実施形態では、ステップＳ４０において、充電中か否かを判定する点で、第１の実施形態と相違する。
【００４２】
第１の実施形態の図３に示した各処理において、電力が消費されるため、携帯電話機の使用時間が短くなる。そこで、本実施形態では、図３に示したフローを充電中に限って（ステップＳ４０のＹＥＳ）、実施するようにする。
【００４３】
なお、第１の実施形態および本実施形態において、図３および図４に示したフローを携帯電話機のユーザに見えないところで、自動で実施するようにしてもよいし、図５のような選択メニューをユーザに提示し、ユーザの選択結果に従って実施するようにしてもよい。
【００４４】
（実施形態３）
第３の実施形態に係るメモリ制御装置、および、これを供えた携帯電話機について、図面を参照して説明する。図６は、本実施形態に係るメモリ制御装置の動作を示すフローチャートである。なお、第１の実施形態と同一の処理内容については、説明を省略する。
【００４５】
本実施形態では、ステップＳ５２およびステップＳ５７において、ＮＡＮＤ型メモリ１４内の一定期間読み出しが行われていないブロックについてのみ処理を実行する点で、第１の実施形態と相違する。
【００４６】
携帯電話機の通常の使用時において、ＮＡＮＤ型メモリ１４内で、読み書きが実施されるブロックと実施されないブロックとが生ずる。本実施形態では、通常使用時において読み書きの頻度が少ないブロック、すなわち、訂正可能なエラービット数を超える危険性が高いブロックを優先的に処理する。
【００４７】
第１ないし第３の実施形態に係るメモリ制御装置では、ＮＡＮＤ型フラッシュメモリを定期的に読み出し、訂正不可能なビットエラーがなく、かつ、ビット化け数が所定のビット数以上である場合には、読み出したデータを再度書き込む。すなわち、ある時間が経過するとビットエラーが発生するメモリで、所定の時間間隔で、しばらく読み書きされていない場合に、（ＥＣＣの対象となるブロックの全）データを読み出し、正常にエラー訂正された場合で、ビットエラー数が多い場合に（他のブロックへ）書き戻す（同一ブロックに書き込む場合はリセットする）。これにより、時間経過に起因して訂正不可能なエラー発生することを抑止し、携帯電話機の安定した動作を実現することができる。
【００４８】
なお、上記の特許文献等の先行技術文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００４９】
１１    無線送受信部
１２    アプリケーションＣＰＵ
１３    通信系ＣＰＵ
１４    ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）
１５    ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）
１６    マイクスピーカ
１７    表示部
１８    操作部
２０    メモリ制御装置
２１    データ読み出し部
２２    エラー訂正部
２３    データ書き込み部
２４    データ消去部
３０    メモリ
【図１】
2012208537.tif 000003
【図２】
2012208537.tif 000004
【図３】
2012208537.tif 000005
【図４】
2012208537.tif 000006
【図５】
2012208537.tif 000007
【図６】
2012208537.tif 000008
【図７】
2012208537.tif 000009
【図８】
2012208537.tif 000010