(57)【要約】【課題】繰り返して読出しを行うことで発生するデータの破壊を防止することができる不揮発性メモリ装置を提供する。【解決手段】不揮発性メモリ装置は、データの記録領域であって且つデータを消去する際の単位であるブロックを複数含む不揮発性メモリと、不揮発性メモリへのデータの書込み又は読出しを制御する制御部と、を備える。各ブロックはデータの読出し単位であるページを複数含む。制御部は、外部装置からのデータの読出し要求に応じて、第１のページのデータの読出しを行った時に、データを読出したブロックにおける第１のページ以外の他のページのデータを読出し、他のページのデータの誤り数を算出し、算出した誤り数に基づき、データを読出したブロックが誤りに関する所定の条件を満たす場合に、当該ブロックのデータを他のブロックに書き換える。【選択図】図１
2016118815.tif 000002
【特許請求の範囲】
【請求項１】
外部装置からのデータの書込み又は読出し要求に応じて、データの書込み又は読出しを行う不揮発性メモリ装置であって、
データの記録領域であって且つデータを消去する際の単位であるブロックを複数含む不揮発性メモリと、
前記不揮発性メモリへのデータの書込み又は読出しを制御する制御部と、を備え、
前記ブロックはデータの読出し単位であるページを複数含み、
前記制御部は、外部装置からのデータの読出し要求に応じて、第１のページのデータの読出しを行った時に、
前記データを読出したブロックにおける前記第１のページ以外の他のページのデータを読出し、当該他のページのデータの誤り数を算出し、前記算出した誤り数に基づき、前記データを読出したブロックが誤りに関する所定の条件を満たす場合に、当該ブロックのデータを他のブロックに書き換える
不揮発性メモリ装置。
【請求項２】
前記制御部は、前記第１のページ以外の他のページとして、同一ブロック内にある前記第１のページ以外の少なくとも一つのページを読出す、請求項１に記載の不揮発性メモリ装置。
【請求項３】
前記制御部は、前記少なくとも一つのページをランダムに選択する、請求項２に記載の不揮発性メモリ装置。
【請求項４】
前記制御部は、前記第１のページ以外の他のページとして、同一ブロック内にある前記第１ページ以外の全てのページを読出す、請求項１に記載の不揮発性メモリ装置。
【請求項５】
前記制御部は、前記第１のページ以外の全てのページを読出す際に、ブロックの先頭から順にページを読出す、請求項４に記載の不揮発性メモリ装置。
【請求項６】
前記制御部は、前記第１のページ以外の全てのページの各々をランダムな順に読み出す、請求項４に記載の不揮発性メモリ装置。
【請求項７】
前記所定の条件は、前記算出した誤り数が所定の閾値以上であることである、請求項１に記載の不揮発性メモリ装置。
【請求項８】
外部装置からのデータの書込み又は読出し要求に応じて、データの書込み又は読出しを行う不揮発性メモリ装置の制御方法であって、
前記不揮発性メモリ装置は、データの記録領域であって且つデータを消去する際の単位であるブロックを複数含み、前記ブロックはデータの読出し単位であるページを複数含み、
外部装置からのデータの読出し要求に応じて、第１のページのデータを読出し、
前記データを読出したブロックにおける前記第１のページ以外の他のページのデータを読出し、
当該他のページのデータの誤り数を算出し、
前記算出した誤り数に基づき、前記データを読出したブロックが誤りに関する所定の条件を満たす場合に、当該ブロックのデータを他のブロックに書き換える
制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、データの書込み、読出しが可能な不揮発性メモリ装置に関する。
【背景技術】
【０００２】
特許文献１は、データ消去の単位であるブロックにデータを記録可能な不揮発性メモリ装置のリフレッシュ方法を開示する。特許文献１に開示のリフレッシュ方法では、１ブロックのデータの誤り数が所定の閾値以上の場合に、そのブロックのデータを他のブロックへ書き換えることにより、リフレッシュを行って誤りを復元する。これにより、効率のよいリフレッシュ処理を実現している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２０５５７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
フラッシュメモリのような不揮発性メモリ装置の場合、その特殊な回路構造から、データ読出し時に、データを読出した領域以外の他の領域のデータ（ビット）が破壊されるという問題がある。破壊されたデータの数が少ない場合は、誤り訂正機能によりデータを復元することができる。しかし、読出しが繰り返されることにより、破壊されたデータ（ビット）が誤り訂正能力を超えて蓄積されると、データを復元することが不可能となり、正しいデータの読出しができなくなる。
【０００５】
本開示は、繰り返してデータの読出しを行うことでデータが破壊されることを低減できる不揮発性メモリ装置を提供する。
【課題を解決するための手段】
【０００６】
本開示における第１の態様において、外部装置からのデータの書込み又は読出し要求に応じて、データの書込み又は読出しを行う不揮発性メモリ装置が提供される。不揮発性メモリ装置は、データの記録領域であって且つデータを消去する際の単位であるブロックを複数含む不揮発性メモリと、不揮発性メモリへのデータの書込み又は読出しを制御する制御部と、を備える。各ブロックはデータの読出し単位であるページを複数含む。制御部は、外部装置からのデータの読出し要求に応じて、第１のページのデータの読出しを行った時に、データを読出したブロックにおける第１のページ以外の他のページのデータを読出し、他のページのデータの誤り数を算出し、算出した誤り数に基づき、データを読出したブロックが誤りに関する所定の条件を満たす場合に、当該ブロックのデータを他のブロックに書き換える。
【０００７】
本開示における第２の態様において、外部装置からのデータの書込み又は読出し要求に応じて、データの書込み又は読出しを行う不揮発性メモリ装置の制御方法が提供される。不揮発性メモリ装置は、データの記録領域であって且つデータを消去する際の単位であるブロックを複数含み、ブロックはデータの読出し単位であるページを複数含む。その制御方法では、外部装置からのデータの読出し要求に応じて、第１のページのデータを読出し、データを読出したブロックにおける第１のページ以外の他のページのデータを読出し、当該他のページのデータの誤り数を算出し、算出した誤り数に基づき、データを読出したブロックが誤りに関する所定の条件を満たす場合に、当該ブロックのデータを他のブロックに書き換える。
【発明の効果】
【０００８】
本開示における不揮発性メモリ装置は、繰り返し読出しを行うことで発生するデータの破壊を低減することができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態における、不揮発性メモリ装置とホスト装置を備えたシステムの構成を示す図
【図２】不揮発性メモリの記録領域（ブロック）の構成を示す図
【図３】不揮発性メモリにおけるブロックの構成を示す模式図
【図４】不揮発性メモリにおけるページの構成を示す模式図
【図５】リフレッシュ対象領域情報の構成を示す図
【図６】不揮発性メモリ装置におけるデータ書込み時の動作を示すフローチャート
【図７】データの読出し時に発生するビット誤りの範囲を説明するための図
【図８】不揮発性メモリ装置におけるデータ読出し時の動作を示すフローチャート
【図９】不揮発性メモリ装置におけるリフレッシュ処理の動作を示すフローチャート
【図１０】不揮発性メモリ装置におけるリフレッシュ処理の別の動作例を示すフローチャート
【発明を実施するための形態】
【００１０】
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
【００１１】
なお、添付図面および以下の説明は、当業者が本開示を十分に理解するために、提供されるのであって、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
【００１２】
（実施の形態１）
以下、図１〜８を用いて、実施の形態１を説明する。
【００１３】
［１−１．構成］
［１−１−１．不揮発性メモリ装置の構成］
図１は、本実施の形態における不揮発性メモリ装置とホスト装置とで構成されるメモリシステムの全体構成を示す図である。
【００１４】
不揮発性メモリ装置１０１は、CompactFlash（登録商標）、ＳＤメモリーカードのようなメモリカードである。または、不揮発性メモリ装置１０１は、フラッシュドライブ、組込み用メモリデバイス、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）でもよい。不揮発性メモリ装置１０１は、コントローラ１０３と、不揮発性メモリ１０４とを備える。不揮発性メモリ装置１０１は、動画、静止画、音声、テキスト等の種々コンテンツのデジタルデータ（以下「コンテンツデータ」と称す）を格納することができる。不揮発性メモリ装置１０１は、ホスト装置１０２と接続可能である。
【００１５】
ホスト装置１０２は、コンテンツデータを不揮発性メモリ装置１０１に記録し、また、不揮発性メモリ装置１０１からコンテンツデータを読み出す装置である。ホスト装置１０２は、例えば、デジタルカメラ、パーソナルコンピュータ、スマートフォン、タブレット端末である。
【００１６】
コントローラ１０３は、ホスト装置１０２からのコマンドを受信して不揮発性メモリ１０４に対するコンテンツデータの書込みおよび読出しを制御する半導体回路で構成される。半導体回路は、所定の機能をハードウェア構成のみで実現してもよいし、またはソフトウェア（プログラム）と協働して所定の機能を実現するように構成されてもよい。例えば、半導体回路は、ＡＳＩＣ、ＦＰＧＡ、ＣＰＵ、ＭＰＵ、マイクロコンピュータで構成される。コントローラ１０３は、ホストインターフェース部１１１と、メモリ制御部１１２と、誤り訂正制御部１１３と、誤り監視制御部１１４と、リフレッシュ制御部１１５と、制御情報記録部１１６とを備える。
【００１７】
不揮発性メモリ１０４は、電源供給がない状態でもコンテンツデータの保持が可能な記録媒体（記録素子）である。不揮発性メモリ１０４は例えばＮＡＮＤフラッシュメモリで構成できる。
【００１８】
コントローラ１０３において、ホストインターフェース部１１１は、ホスト装置１０２との間でコマンドやコンテンツデータの送受信を行う。メモリ制御部１１２は、不揮発性メモリ１０４に対するコンテンツデータの書込み、読出し、消去を制御する。誤り訂正制御部１１３は、不揮発性メモリ１０４に書込まれたコンテンツデータに生じた誤りを復元する。誤り監視制御部１１４は、不揮発性メモリ１０４に書込まれたコンテンツデータの誤りの増加を監視する。リフレッシュ制御部１１５は、不揮発性メモリ１０４に書込まれたコンテンツデータの誤りが増加した場合に、コンテンツデータの誤り訂正と書き換えによる復元（以下、リフレッシュ処理）を行う。
【００１９】
制御情報記録部１１６は、論物変換テーブル１１６ａと、リフレッシュ対象領域情報１１６ｂとを格納する記録領域である。論物変換テーブル１１６ａは、ホスト装置１０２が使用する論理アドレスと、不揮発性メモリ１０４の物理アドレスとの対応を示す情報を格納する。リフレッシュ対象領域情報１１６ｂは、リフレッシュ処理を実施するために用いるアドレス情報等を格納する。また、制御情報記録部１１６はコントローラ１０３ではなく、不揮発性メモリ１０４上に設けても良い。
【００２０】
［１−１−２．不揮発性メモリの構成］
図２は、本実施の形態における不揮発性メモリ１０４の記録領域（ブロック）の構成を示す図である。
【００２１】
不揮発性メモリ１０４は、複数のブロック２０１から構成される。ブロック２０１は消去単位であり、この単位でデータの消去が実行される。
【００２２】
［１−１−３．ブロックの構成］
図３は、本実施の形態におけるブロック２０１の構成を示す模式図である。ブロック２０１は、複数のページ３０１から構成される。本実施の形態においてはページの数はＮとする。ページは書込み及び読出しの単位である。不揮発性メモリ１０４にデータの書込みを行う場合、ブロック単位で消去を行った後、当該ブロックにおいて、番号の小さいページから順にデータの書込みを行う。
【００２３】
［１−１−４．ページの構成］
図４は、本実施の形態におけるページ３０１の構成を示す模式図である。ページ３０１は、データ部４０１とＥＣＣ部４０２とから構成される。データ部４０１は、ホスト装置１０２から送信されたコンテンツデータを格納する領域である。ＥＣＣ部４０２は、データ部４０１に格納されたコンテンツデータに対する誤り訂正符号（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ）を格納する領域である。コントローラ１０３における誤り訂正制御部１１３は、ＥＣＣ部４０２に格納された誤り訂正符号に基づいて、データ部４０１に格納されたデータの誤りビット数と、誤りビット位置を算出することができる。これにより、データ部４０１に格納されたデータの誤りビットを訂正することが可能になる。
【００２４】
［１−１−５．リフレッシュ対象領域情報の構成］
図５は、リフレッシュ対象領域情報１１６ｂの構成を示す図である。リフレッシュ対象領域情報１１６ｂは、複数のリフレッシュ情報（エントリ）から構成される。各リフレッシュ情報は、シーケンス番号５００と、リフレッシュ情報の使用状況５０１と、コピー元ブロックアドレス５０２と、コピー先ブロックアドレス５０３と、コピー済ページ数５０４とから構成される。
【００２５】
シーケンス番号５００は、リフレッシュ情報の記録された順に順番に割り当てられる。リフレッシュ情報の使用状況５０１は、そのリフレッシュ情報が「有効」か「無効」かを示す情報を含む。コピー元ブロックアドレス５０２は、リフレッシュ処理における書き換え元のブロックのアドレスを示す。すなわち、コピー元ブロックアドレス５０２は、誤りビット数が所定値以上含まれるブロックの物理アドレスを示す。
【００２６】
コピー先ブロックアドレス５０３は、リフレッシュ処理における書き換え先アドレスを示す。より具体的には、コピー先ブロックアドレス５０３は、コピー元ブロックアドレス５０２が示すブロックのデータが、復元のためにページ単位でコピーされるコピー先のブロックの物理アドレスを示す。コピー済ページ数５０４は、リフレッシュ処理が行われたページの数、すなわち、コピー元ブロックアドレス５０２が示すブロックにおいて、コピー先ブロックアドレス５０３が示すブロックへコピーされたページの数を示す。
【００２７】
［１−２．動作］
以上のように構成された不揮発性メモリ装置１０１の動作を以下説明する。
【００２８】
［１−２−１．データ書込み時の動作］
最初に、不揮発性メモリ装置１０１に対するデータの書込み動作について説明する。図６は、データ書込み時の不揮発性メモリ装置１０１の動作を示すフローチャートである。
【００２９】
ホスト装置１０２がコンテンツデータを不揮発性メモリ装置１０１に書込む際、ホスト装置１０２は、書込みコマンドと書込みアドレスを不揮発性メモリ装置１０１に送信する。不揮発性メモリ装置１０１において、ホストインターフェース部１１１は、書込みコマンドと書込みアドレスを受信する（Ｓ７０１）。
【００３０】
次に、ホスト装置１０２がコンテンツデータを不揮発性メモリ装置１０１に送信する。ホストインターフェース部１１１は、ホスト装置１０２からコンテンツデータを受信する（Ｓ７０２）。
【００３１】
不揮発性メモリ装置１０１において、誤り訂正制御部１１３が、受信したコンテンツデータに対する誤り訂正符号を生成する（Ｓ７０３）。
【００３２】
メモリ制御部１１２は、受信した書込みアドレス（論理アドレス）に対応した書込み先のブロック（物理ブロック）及びページを決定し、決定した書込み先ブロックのページに、コンテンツデータと生成した誤り訂正符号を書込み（Ｓ７０４）、データ書込み処理を終了する。
【００３３】
なお、メモリ制御部１１２は、データ書込み処理において、受信した書込みアドレス（論理アドレス）と、データの書込み先のブロック（論理ブロックのアドレス）との対応関係を、論物変換テーブル１１６ａに記録する。メモリ制御部１１２は、ホスト装置１０２から読出しコマンドを受けた場合、論物変換テーブル１１６ａを参照して、ホスト装置１０２により指定された読出しアドレスに対応する、不揮発性メモリ１０４内の読出し先のブロックを決定し、決定した読出し先のブロックからデータを読み出す。
【００３４】
［１−２−２．データ読出し時の誤りの発生］
データ読出し時に発生するデータ（ビット）の誤りについて説明する。図７は、不揮発性メモリ１０４からのデータ読出し時に発生するデータ誤りの範囲を説明するための図である。
【００３５】
ＮＡＮＤフラッシュメモリなどの不揮発性メモリにおいては、ブロック２０１内のあるページＸからデータを読出す場合、読出し対象となるページＸにおいては、データの誤りは発生（増加）しない。しかし、読出し対象のページＸ以外のページにおいて、データの誤りが発生（増加）する。通常、データの誤りは、誤り訂正制御部１１３により、ＥＣＣ部４０２に格納された誤り訂正符号を用いて訂正される。しかし、ページＸの読出しが繰り返し実施されると、ページＸ以外のページにおけるデータの誤りが徐々に増加する。やがて、データの誤りの数が誤り訂正能力を超えると、誤り訂正符号を用いても正しいデータに復元することができなくなってしまう。この場合、ページＸの誤りは増加しないため、ページＸを読出す際に、ページＸの誤りビット数を監視しても、他のページにおける誤りは検出できない。すなわち、他のページの誤りが誤り訂正能力を超えようとしていることを検出することはできない。
【００３６】
そこで、本実施形態の不揮発性メモリ装置１０１では、所定数以上の誤りビット数を含むブロックをリフレッシュ対象領域として管理し、誤りビット数が閾値を超えたときにそのブロックのデータを他のブロックに移行する。これにより、データの誤りの数が誤り訂正の能力を超える前に、誤りの数をリセットでき、データの誤り訂正が出来なくなることを防止できる。
【００３７】
［１−２−３．データ読出し時の動作］
図８を参照して、データ読出し時の具体的な動作を説明する。図８は、データ読出し時の不揮発性メモリ装置１０１の動作を示すフローチャートである。
【００３８】
ホスト装置１０２がコンテンツデータを不揮発性メモリ装置１０１から読出す際、ホスト装置１０２は、読出しコマンドと読出しアドレスを不揮発性メモリ装置１０１に送信する。不揮発性メモリ装置１０１において、コントローラ１０３内のホストインターフェース部１１１が、読出しコマンドと読出しアドレスを受信する（Ｓ８０１）。
【００３９】
その後、メモリ制御部１１２は、論物変換テーブル１１６ａを参照して、受信した読出しアドレスに対応する読出し先のブロック及び読出しページを決定し、その決定した読出し先のブロックのページからコンテンツデータと誤り訂正符号を読出す（Ｓ８０２）。
【００４０】
次に、誤り訂正制御部１１３は、読出した誤り訂正符号に基づき、読出したコンテンツデータの誤り訂正（復元）を行う（Ｓ８０３）。
【００４１】
次に、ホストインターフェース部１１１は、誤り訂正（復元）したコンテンツデータをホスト装置１０２に送信する（Ｓ８０４）。
【００４２】
読出しデータをホスト装置１０２に送信（Ｓ８０４）後、不揮発性メモリ装置１０１はリフレッシュ処理を行う（Ｓ８０５）。
【００４３】
リフレッシュ処理では、データを読出したブロック内において、読出したページ以外のあるページについて誤りビット数を判断し、誤りビット数が閾値を超えている場合に、そのブロックをリフレッシュ対象領域として管理する。その後、リフレッシュ対象領域として管理されるブロックの中の１つのブロックについて、１ページのデータをバックアップ用の他のブロック（以下「復元ブロック」という）にコピーする。そのコピーの際に誤り訂正を行うため、復元ブロックにおいては誤りが訂正されたデータが格納される。リフレッシュ対象領域として管理されるブロックの全てのページのデータを復元ブロックにコピーした後、論物変換テーブル１１６ａを書き換え、リフレッシュ対象領域として管理されていた以前の物理ブロックに対応する論理アドレスに対して、復元ブロックを新たに対応づける。復元ブロックは、リフレッシュ対象領域として管理されていた物理ブロックのデータの誤りが訂正された状態のデータを格納している。よって、これにより、ビット誤りの数が誤り訂正能力を超えることによる、読出しエラーの発生を低減することができる。図９を参照して、リフレッシュ処理の詳細な動作を説明する。
【００４４】
まず、誤り監視制御部１１４は、読出しブロック内のページの中から誤り監視ページを選択する（Ｓ９０１）。具体的には、誤り監視制御部１１４は、誤り監視ページとして、読出しブロック内において読出しページ以外のページの中から１つのページを選択し、選択したページのコンテンツデータと誤り訂正符号の読出しを行う。誤り監視ページは例えば乱数を用いてランダムに選択する。
【００４５】
次に、誤り訂正制御部１１３は、読出したコンテンツデータの誤りビット数を計算し、誤りビット数が所定の閾値Ｔ以上か否か判定する（Ｓ９０２）。閾値Ｔは、誤り訂正が可能な誤りビット数の範囲内の値に設定する。
【００４６】
誤りビット数が閾値Ｔ以上の場合、リフレッシュ制御部１１５は、読出したブロックのアドレスに対応する物理アドレスをリフレッシュ対象領域情報１１６ｂに記録する（Ｓ９０３）。
【００４７】
ここで、読出したブロックのアドレスに対応する物理アドレスに関するリフレッシュ情報が、「有効」としてリフレッシュ対象領域情報１１６ｂに既に記録されている場合は、当該物理アドレスを新たにリフレッシュ対象領域情報１１６ｂに記録することは行わない。すなわち、リフレッシュ対象領域情報１１６ｂにおいて、コピー元ブロックアドレス５０２やコピー先ブロックアドレス５０３の更新は行わない。
【００４８】
一方、読出したブロックのアドレスに対応する物理アドレスに関するリフレッシュ情報がリフレッシュ対象領域情報１１６ｂに記録されていない場合、または「無効」として記録されている場合は、当該物理アドレスに関するリフレッシュ情報を、リフレッシュ対象領域情報１１６ｂに新たに追加する。
【００４９】
具体的には、使用状況５０１が「無効」であるフレッシュ情報のうち、シーケンス番号５００の値が最も小さいリフレッシュ情報を選択する。そして、リフレッシュ制御部１１５は、選択したリフレッシュ情報のコピー元ブロックアドレス５０２に、読出しブロックの論理アドレスに対応した物理ブロックのアドレス（物理アドレス）を格納し、コピー先ブロックアドレス５０３に、未だ書込みを行っていない新しいブロック（復元ブロック）のアドレス（物理アドレス）を格納する。さらに、コピー済ページ数５０４に、コピーを未だ実施していないことを示す「０」を格納し、使用状況５０１を「有効」に設定する。
【００５０】
以上のようにして、リフレッシュ情報がリフレッシュ対象領域情報１１６ｂに新たに追加される。
【００５１】
次に、リフレッシュ対象領域情報１１６ｂにおいてリフレッシュ対象領域として管理されているブロックについて、復元ブロックへのコピー処理が実行される。
【００５２】
具体的には、リフレッシュ制御部１１５は、リフレッシュ対象領域情報１１６ｂを参照して、使用状況が「有効」であるリフレッシュ情報のエントリが存在するか否かを判定する（Ｓ９０４）。
【００５３】
使用状況が「有効」であるリフレッシュ情報のエントリが存在する場合、使用状況が「有効」であるリフレッシュ情報のうち、シーケンス番号５００が最も小さいリフレッシュ情報を処理対象として選択する（Ｓ９０５）。
【００５４】
リフレッシュ制御部１１５は、選択したリフレッシュ情報について、コピー元ブロックアドレス５０２が示すブロックにおける１ページ分のデータを、コピー先ブロックアドレス５０３が示すブロック（復元ブロック）へコピーし（Ｓ９０６）、これにより誤りビットを復元した状態に戻す。
【００５５】
コピーを行うページは、コピー済ページ数５０４が示す値に基づき決定する。具体的には、コピーを行うページとして、コピー済ページ数５０４が示す値に１を加えたページ番号のページを選択する。このように、リフレッシュ制御部１１５は、所定数以上の誤りビット数を含むブロックにおいて１ページずつ別のブロックにコピーする。コピーを行う際には、コピー元ページからコンテンツデータおよび誤り訂正符号を読出し、誤り訂正制御部１１３により誤りビットの復元を行い、コピー先ページへ復元したコンテンツデータと誤り訂正符号を書込む。これにより誤りビットを復元された状態に戻すことができる。
【００５６】
その後、リフレッシュ制御部１１５は、リフレッシュ対象領域情報１１６ｂにおける、選択したリフレッシュ情報を更新する（Ｓ９０７）。具体的には、コピー済ページ数５０４の値を１だけインクリメントする。その際、コピー済ページ数５０４が示す値が１ブロックを構成するページ数（Ｎ）と一致した場合、１ブロックのデータのコピーが完了したことを意味する。このため、コピー済ページ数５０４が示す値が１ブロックを構成するページ数（Ｎ）と一致した場合、リフレッシュ情報の使用状況５０１を「無効」に変更するとともに、論物変換テーブル１１６ａを更新する。具体的には、論物変換テーブル１１６ａにおいて、コピー元ブロックアドレス５０２が示す物理アドレスに対応して登録されている論理アドレスについて、それに対応する物理アドレスを、コピー元ブロックアドレス５０２が示す物理アドレスから、コピー先ブロックアドレス５０３が示す物理アドレスに書き換える。また、１つのリフレッシュ情報に対する使用状況５０１の「無効」への変更にともない、使用状況が「有効」である他のリフレッシュ情報が存在する場合、夫々のリフレッシュ情報のシーケンス番号５００を１だけデクリメントする。
【００５７】
以上の通り、データの読出し動作時において、不揮発性メモリ装置１０１は、ホスト装置１０２から指示されたアドレスのデータの読出し（Ｓ８０２）を行うだけではなく、ホスト装置１０２から指定されたアドレス以外の領域（ページ）に対して、データの読出しを行い誤りビット数の確認を行う（Ｓ９０１）。これにより、図７に示したような、読出し対象ページ以外のページにおいてビット誤りが増加したことの検出を可能としている。さらに、リフレッシュ制御部１１５は、誤りが増加したことを検出したブロックについて、他のブロックへデータをコピーすることにより、誤りビットの復元を行っている。これにより、図７に示したような読出し対象ページ以外のページの誤りに対し、誤り訂正能力を超える前に復元できるため、繰り返し読出しを行うことで発生するデータの破壊を防止することができる。
【００５８】
また、誤り監視読出し処理（Ｓ９０１）において、読出しを指示されたアドレス以外の領域からの読出しについては、１ページ分のみのデータの読出しに留めている。これにより、読出し処理に要する時間を短くし、誤り監視読出し処理に起因する読出し性能の低下を低減している。
【００５９】
また、誤り監視読出し処理（Ｓ９０１）において、読出しを行うページを乱数で選択している。このため、特定ページを読出す方式に比べて誤りビットが増加するページがばらつく場合に、より有効に、誤りビット増加の検出漏れを防止することができる。また全てのページを読出す方式に比べ、読出しの時間を短くできるため、読出し性能を向上させることができる。
【００６０】
また、リフレッシュ対象領域情報１１６ｂへの記録（Ｓ９０３）において、リフレッシュ情報のシーケンス番号５００を記録した順に採番し、リフレッシュ対象領域の選択（Ｓ９０５）及びリフレッシュコピー処理（Ｓ９０６）において、リフレッシュ情報のシーケンス番号５００が小さいリフレッシュ情報から順番にリフレッシュ処理を行っている。これにより、誤りビット数の増加を検出した順に復元することを可能としている。これにより、誤りビット数の増加を検出してから復元するまでの時間を短縮し、復元が間に合わずデータ破壊に至ることを低減している。
【００６１】
また、リフレッシュコピー処理（Ｓ９０６）において、コピーによる誤りの復元を行う際、１回の読出し処理においてコピーするページ数を１ページに留めている。これにより、例えば１回の読出し処理において１ブロックのコピーを行う場合に比べ、コピー処理に必要な時間を短縮できるため、読出し性能の低下を低減している。
【００６２】
なお、図９に示す例では、誤り監視ページについて誤りビット数が閾値以上である場合に、一旦、その誤り監視ページを含むブロックの情報をリフレッシュ対象領域情報１１６ｂへ記録する（Ｓ９０３）だけであり、そのブロックについて直ちにリフレッシュコピー（Ｓ９０６）を実施するものではない。すなわち、上記の例では、ページの誤りビット数が閾値以上であることを検出した場合でも、その後、ある時間をおいてそのページを含むブロックのデータが復元されるようになっている。このようにしているのは、読出し処理の時間の短縮を図っているためである。しかし、読出し処理において処理時間の長さが問題とならないような状況においては、誤り監視ページについて誤りビット数が閾値以上である場合に、直ちに、その誤り監視ページを含むブロックについてリフレッシュコピー（Ｓ９０６）を実施するようにしてもよい。すなわち、図１０に示すように、誤り監視ページについて誤りビット数が閾値以上である場合（Ｓ９０２）、直ちに、誤り監視ページを含むブロック（データを読出したブロック）全体のデータを新たなブロックにコピーしてもよい（Ｓ９１０）。その際、論物変換テーブル１１６ａの書き換えも行う必要がある。これにより、ブロック内のページの誤りビット数が多くなった場合に迅速にデータを復元することができる。
【００６３】
［１−３．効果等］
以上のように、本実施の形態において、不揮発性メモリ装置１０１は、ホスト装置１０２（外部装置の一例）からのデータの書込み又は読出し要求に応じて、データの書込み又は読出しを行う不揮発性メモリ装置である。不揮発性メモリ装置１０１は、データの記録領域であって且つデータを消去する際の単位であるブロックを複数含む不揮発性メモリ１０４と、不揮発性メモリ１０４へのデータの書込み又は読出しを制御するコントローラ１０３と、を備える。各ブロック２０１は、データの読出し単位であるページ３０１を複数含む。コントローラ１０３は、ホスト装置１０２からのデータの読出し要求に応じて、ページＸのデータの読出しを行った時に、データを読出したブロックにおけるページＸ以外の他のページのデータを読出し（Ｓ９０１）、当該他のページのデータの誤り数を算出し、算出した誤り数に基づき、データを読出したブロックが誤りに関する所定の条件を満たす場合に、当該ブロックのデータを他のブロックに書き換える（Ｓ９０６）。ここで、誤りに関する所定の条件とは、そのブロック（またはページ）におけるビット誤りの発生頻度が多いと考えられる条件であり、例えば、１ページ内の誤りビット数が閾値以上となること（Ｓ９０２）や、１ページ内の誤りビットの発生の割合が所定値以上となることを含む。
【００６４】
なお、本開示において、当該他のページのデータの誤り数が所定値以上である場合に（Ｓ９０２）、当該ブロックのデータを他のブロックに書き換える（Ｓ９０６）とは、図９に示すように、他のページのデータの誤り数が所定値以上であると判断した後の任意のタイミングで書き換える場合と、図１０に示すように、判断した後、直ちに書き換える場合との双方を含んでいる。
【００６５】
図８〜図１０に示す読出し動作において、誤り監視制御部１１４は、ホスト装置１０２から読出しを指示されたアドレスの読出し（Ｓ８０２）を行うだけではなく、読出しを行ったブロック以外の他のページの読出しも行い（Ｓ９０１）、誤りビット数の確認を行っている。これにより、図７に示すような読出し対象ページ以外のページの誤りが増加したことの検出を可能としている。さらに、リフレッシュ制御部１１５は、誤りが増加したことを検出したブロックの誤りビットの復元を行う。これにより、読出し対象ページ以外のページの誤りに対し、誤り訂正能力を超える前に復元できるため、繰り返し読出しを行うことで発生するデータの破壊を防止することができる。
【００６６】
（他の実施の形態）
以上のように、本出願において開示する技術の例示として、実施の形態１を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。また、上記実施の形態１で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。そこで、以下、他の実施の形態を例示する。
【００６７】
上記の実施の形態においては、誤り監視ページの読出し処理（Ｓ９０１）を、データ読出し時に毎回実施しているが、毎回実施しなくてもよい。誤り監視ページの読出し処理（Ｓ９０１）は、所定回数のデータ読出し毎に１回実施するようにしてもよい。これにより、処理時間を短縮できるため、読出し性能を向上させることができて有効である。または、誤り監視ページの読出し処理（Ｓ９０１）を行うか否かを、乱数で決めても良い。これは、ホスト装置１０２が送信する読出しアドレスが一定の周期で繰り返されるような場合に誤りビット増加の検出漏れを防止することができて有効である。
【００６８】
上記の実施の形態において、誤り監視ページの読出し処理（Ｓ９０１）では、読出しを行うページを１ページとしたが、複数ページの読出しを行っても良い。誤りビット増加の検出漏れを防止することができて有効である。例えば、誤り監視ページの読出し処理（Ｓ９０１）において、データを読出したブロックと同一ブロック内で、データを読出したページ以外の全てのページを誤り監視ページとして読出しても良い。このとき、ブロックの先頭から順にページを読出してもよいし、ランダムな順に読出してもよい。また、データを読出したページ以外の全てのページを誤り監視ページとして読み出す場合、読出した複数ページの中の少なくとも１つのページについて誤りビット数が閾値Ｔを超えていた場合に、そのブロックをリフレッシュ対象領域情報１１６ｂに記録するようにしてもよい。
【００６９】
上記の実施の形態においては、読出し処理（Ｓ８０２）において読出したページに基づいてリフレッシュ対象領域か否かの判断を行っていない。しかし、読出したページに対しても誤りビット数を計算し、誤りビット数が閾値以上の場合に、当該ページを含むブロックをリフレッシュ対象領域としてリフレッシュ対象領域情報１１６ｂに記録しても良い。ホスト装置１０２が、同時に複数ページの読出しを行う場合や、読出したページの誤りビットが増加するような不揮発性メモリを使用する場合に、誤りビット増加の検出漏れを防止することができて有効である。
【００７０】
上記の実施の形態において、誤り監視ページの読出し処理（Ｓ９０１）では、読出し処理実施（Ｓ８０２）で読出しを行ったブロック内の１ページを選択しているが、データを読出したブロック以外のブロックからページを選択しても良い。これは、データ読出し時に、読出したブロック以外のブロックの誤りビット増加が発生するような不揮発性メモリに対して有効である。
【００７１】
上記の実施の形態においては、リフレッシュ対象領域情報１１６ｂはコントローラ１０３が格納しているが、不揮発性メモリ１０４が可能しても良い。電源の遮断と投入が行われた後も誤りビットが多いブロックの復元を継続できるため有効である。
【００７２】
上記の実施の形態においては、データ書込み時はリフレッシュ処理（Ｓ８０５）を行っていないが、データ書込み時において、書込みアドレスなどを不揮発性メモリから読出す場合は、データ書込み時にリフレッシュ処理を実施しても良い。繰り返し書込みを行うことで発生するデータの破壊を防止することができる。
【００７３】
上記の実施の形態においては、データ読出し時のリフレッシュコピー処理（Ｓ９０６）において、コピーを行うページ数を１ページとしているが、複数ページのコピーを行っても良い。これにより、１ブロック分のデータの復元をより短時間で行うことが可能になり、復元が間に合わずデータ破壊に至ってしまうことを防止することができて有効である。また、リフレッシュ対象領域情報１１６ｂにおいて、使用状況が「無効」となっているリフレッシュ情報の数が所定値以下となった場合のみ、リフレッシュコピー処理（Ｓ９０６）においてコピーを行うページ数を増加させても良い。読出し性能を低下させず誤りビット増加の検出漏れを防止することができて有効である。また、ホスト装置１０２から送信される書込みや読出しコマンドの発行頻度が低い場合は、リフレッシュコピー実施（Ｓ９０６）においてコピーを行うページ数を増加させても良い。読出し性能を低下させず誤りビット増加の検出漏れを防止することができて有効である。また、誤り監視ページの読出し（Ｓ９０１）において読出したページの誤りビット数が、閾値Ｔをよりも高い第２の閾値Ｕ以上の場合は、リフレッシュコピー処理（Ｓ９０６）においてコピーを行うページ数を増加させても良い。これにより、復元が間に合わずデータ破壊に至ることを防止することができて有効である。また、不揮発性メモリ１０４の書き換え回数が多くなり、誤りビットの増加がより少ない読出し回数で起きるようになった場合は、リフレッシュコピー処理（Ｓ９０６）においてコピーを行うページ数を増加させても良い。復元が間に合わずデータ破壊に至ることを防止することができて有効である。
【００７４】
本実施の形態においては、誤り監視ページの読出し（Ｓ９０１）においてリフレッシュ情報のシーケンス番号が小さいリフレッシュ情報を優先してリフレッシュ処理（Ｓ９０５、Ｓ９０６）を行ったが、この順番に限らず、誤りビット数が多いフレッシュ情報を優先してリフレッシュ処理（Ｓ９０５、Ｓ９０６）を行っても良い。復元が間に合わずデータ破壊に至ることを防止することができて有効である。
【００７５】
本実施の形態においては、誤り監視ページの読出し処理（Ｓ９０１）において、読出しを行うページを乱数で選択したが、乱数を用いずに、ページ番号が小さいものから順にページを選択し、選択したページがリフレッシュ対象領域か否かの判定を行っても良い。これによれば、誤りビットの検出漏れを防止できて有効である。また、ブロック内で誤りビットが発生しやすいページが存在する場合、当該ページのみを読出しても良い。または、誤りビットが発生しやすいページが存在する場合、そのページが選択されやすくなるように重み付けのある乱数を使用してページを選択しても良い。これは、効率よく誤りビット増加を検出することができて有効である。
【００７６】
本実施の形態においては、リフレッシュコピー処理（Ｓ９０６）においては、ページ番号が若いページから順番にコピーを行っているが、誤りビットが閾値Ｔ以上となったことを検出したページから順番にコピーを行っても良い。誤りビットが増加したページを復元するまでの時間を短縮することができるため、復元が間に合わずデータ破壊に至ることを防止することができて有効である。
【００７７】
以上のように、本開示における技術の例示として、実施の形態を説明した。そのために、添付図面および詳細な説明を提供した。
【００７８】
したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
【００７９】
また、上述の実施の形態は、本開示における技術を例示するためのものであるから、特許請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。
【産業上の利用可能性】
【００８０】
本開示は、読出しによって誤りビットの増加が発生する不揮発性メモリを組み込んだ記録装置に適用可能である。具体的には、メモリカード、フラッシュドライブ、組込み用メモリデバイス、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）などに、本開示は適用可能である。
【符号の説明】
【００８１】
１０１  不揮発性メモリ装置
１０２  ホスト装置
１０３  コントローラ
１０４  不揮発性メモリ
１１１  ホストインターフェース部
１１２  メモリ制御部
１１３  誤り訂正制御部
１１４  誤り監視制御部
１１５  リフレッシュ制御部
１１６  制御情報記録部
１１６ａ  論物変換テーブル
１１６ｂ  リフレッシュ対象領域情報
２０１  ブロック
３０１  ページ
４０１  データ部
４０２  ＥＣＣ部
５００  シーケンス番号
５０１  使用状況
５０２  コピー元ブロックアドレス
５０３  コピー先ブロックアドレス
５０４  コピー済ページ数
【図１】
2016118815.tif 000003
【図２】
2016118815.tif 000004
【図３】
2016118815.tif 000005
【図４】
2016118815.tif 000006
【図５】
2016118815.tif 000007
【図６】
2016118815.tif 000008
【図７】
2016118815.tif 000009
【図８】
2016118815.tif 000010
【図９】
2016118815.tif 000011
【図１０】
2016118815.tif 000012