JP2017058820A - 不揮発性メモリのデータ回復方法及びメモリ制御装置 - Google Patents

不揮発性メモリのデータ回復方法及びメモリ制御装置 Download PDF

Info

Publication number
JP2017058820A
JP2017058820A JP2015181589A JP2015181589A JP2017058820A JP 2017058820 A JP2017058820 A JP 2017058820A JP 2015181589 A JP2015181589 A JP 2015181589A JP 2015181589 A JP2015181589 A JP 2015181589A JP 2017058820 A JP2017058820 A JP 2017058820A
Authority
JP
Japan
Prior art keywords
period
data
frame period
read
idle
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
JP2015181589A
Other languages
English (en)
Other versions
JP6479617B2 (ja
Inventor
村田 伸一
Shinichi Murata
伸一 村田
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.)
Lapis Semiconductor Co Ltd
Original Assignee
Lapis Semiconductor Co Ltd
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 Lapis Semiconductor Co Ltd filed Critical Lapis Semiconductor Co Ltd
Priority to JP2015181589A priority Critical patent/JP6479617B2/ja
Publication of JP2017058820A publication Critical patent/JP2017058820A/ja
Application granted granted Critical
Publication of JP6479617B2 publication Critical patent/JP6479617B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

【目的】データ読出処理を阻害することなく効率のよいデータの回復処理を行うことが可能な不揮発性メモリのデータ回復方法及びメモリ制御装置を提供する。
【構成】メモリ制御システムは、フレーム周期に応じたタイミングで不揮発性メモリから周期的にデータ読出を行う。フレーム周期の1周期の期間を真性フレーム期間として計測する。データ読出の開始から完了までの期間をリード期間として計測する。真性フレーム期間においてデータ読出を実行しない期間をアイドル期間として算出する。アイドル期間において、不揮発性メモリに記憶されているデータに対してデータ回復処理を実行する。
【選択図】図1

Description

本発明は、不揮発性メモリのデータ回復方法及びメモリ制御装置に関する。
NANDフラッシュメモリ等の不揮発性メモリは、近年微細化が進む一方、データ保持能力が低下している。そのため、メモリ制御装置には、データのエラー訂正処理を行うためのエラー訂正機能やデータの回復処理を行うためのデータ回復機能等が搭載されている。軽度のエラーに対してはエラー訂正処理を行い、重度のエラーに対してはデータの回復処理を行うのが一般的である。
データのエラーは、メモリからデータが繰り返し読み出されることにより発生する。また、データを読み出す際には読み出しの対象ページ以外の隣接する周辺ページにも電圧が印加されるため、繰り返し読み出されるアドレス以外のアドレスを含む広範囲のメモリ領域においてデータが破壊される、所謂「リードディスターブ」現象が生じる虞がある。そこで、リードディスターブ現象を防ぐため、読み出しアドレス以外の非読み出しアドレスについても広範囲にエラー検出を行うメモリコントローラが考えられた(例えば、特許文献1)。
特開2009−26285号公報
データのエラーは読み出し行為により進行するため、データの出力要求が想定される状況においても、誤り検出やリフレッシュ等のデータの回復処理が必要となる場合がある。データの出力要求の発生からデータの出力までの期間は、アクセスタイム等の仕様により定められている。一方、データの回復処理には、アクセスタイムを大幅に上回る処理期間が必要となる。このため、データの回復処理は複数回の処理に分割して実行される場合が多く、処理の頻度が高い。従って、データの回復処理中にデータの出力要求が発生する場合がある。
データの回復処理中にデータの出力要求があった場合、アクセスタイム等の仕様に従ってデータを読み出すためには、回復処理を中断しなければならない。データの回復処理を何度も中断すると、処理の効率が悪くなるだけでなく、かえってデータの破壊を促進してしまいかねないという問題があった。また、データの出力要求よりもデータの回復処理を優先すると、仕様通りに速やかにデータの読出処理を行うことができないという問題があった。
上記課題を解決するため、本発明は、データ読出処理を阻害することなく効率のよいデータの回復処理を行うことが可能な不揮発性メモリのデータ回復方法及びメモリ制御装置を提供することを目的とする。
本発明に係る不揮発性メモリのデータ回復方法は、フレーム周期に応じたタイミングで不揮発性メモリからデータ読出を行うメモリ制御システムにおいて、前記不揮発性メモリに記憶されているデータに対してデータ回復処理を実行するデータ回復方法であって、前記フレーム周期の1周期の期間を真性フレーム期間として計測する真性フレーム期間計測ステップと、前記フレーム周期の1周期における前記データ読出の開始から完了までの期間をリード期間として計測するリード期間計測ステップと、前記真性フレーム期間において前記データ読出を実行しない期間をアイドル期間として算出するアイドル期間算出ステップと、前記アイドル期間において前記データ回復処理を実行するデータ回復ステップと、を含むことを特徴とする。
また、本発明に係る不揮発性メモリのデータ回復方法は、フレーム周期に応じたタイミングで不揮発性メモリからデータ読出を行うメモリ制御システムにおいて、前記不揮発性メモリに記憶されているデータに対してデータ回復処理を実行するデータ回復方法であって、前記データ読出のタイミングに同期して、第1の前記データ読出の開始から第2の前記データ読出の開始までの期間を第1疑似フレーム期間として計測し、前記第2の前記データ読出の開始から第3の前記データ読出の開始までの期間を第2疑似フレーム期間として計測する疑似フレーム期間計測ステップと、前記第1疑似フレーム期間において前記データ読出を実行しない期間を第1アイドル期間として計測し、前記第2疑似フレーム期間において前記データ読出を実行しない期間を第2アイドル期間として計測するステップと、前記第3の前記データ読出における読出開始から完了までの期間をリード期間として計測するリード期間計測ステップと、前記第1疑似フレーム期間と前記第2疑似フレーム期間のうち短い方の期間から、前記リード期間を減算して減算期間を算出し、前記第1アイドル期間と前記第2アイドル期間と前記減算期間とのうち最も短い期間を、前記第2疑似フレーム期間の後の第3疑似フレーム期間において前記データ読出を実行しない第3アイドル期間として算出するアイドル期間算出ステップと、前記第3アイドル期間において前記データ回復処理を実行するデータ回復ステップと、を含むことを特徴とする。
また、本発明に係るメモリ制御装置は、フレーム周期に応じたタイミングで供給されるデータ出力要求に応じて不揮発性メモリからデータ読出を行うメモリ制御装置であって、前記データ読出を実行するデータ読出部と、前記フレーム周期の1周期の期間を真性フレーム期間として計測し、前記1周期における前記データ読出の開始から完了までの期間をリード期間として計測する期間計測部と、前記真性フレーム期間において前記データ読出を実行しない期間をアイドル期間として算出する期間算出部と、前記アイドル期間において前記データ回復処理を実行する回復処理部と、を含むことを特徴とする。
また、本発明に係るメモリ制御装置は、フレーム周期に応じたタイミングで供給されるデータ出力要求に応じて不揮発性メモリからデータ読出を行うメモリ制御装置であって、前記データ読出を実行するデータ読出部と、前記データ読出のタイミングに同期して、第1の前記データ読出の開始から第2の前記データ読出の開始までの期間を第1疑似フレーム期間として計測し、前記第2の前記データ読出の開始から第3の前記データ読出の開始までの期間を第2疑似フレーム期間として計測し、前記第1疑似フレーム期間において前記データ読出を実行しない期間を第1アイドル期間として計測し、前記第2疑似フレーム期間において前記データ読出を実行しない期間を第2アイドル期間として計測し、前記第3の前記データ読出における読出開始から完了までの期間をリード期間として計測する期間計測部と、前記第1疑似フレーム期間と前記第2疑似フレーム期間のうち短い方の期間から、前記リード期間を減算して減算期間を算出し、前記第1アイドル期間及び前記第2アイドル期間及び前記減算期間のうち最も短い期間を、前記第2疑似フレーム期間の後の第3疑似フレーム期間において前記データ読出を実行しない第3アイドル期間として算出する期間算出部と、前記第3アイドル期間において前記データ回復処理を実行する回復処理部と、を含むことを特徴とする。
本発明によれば、データ読出処理を阻害することなく効率のよいデータの回復処理を行うことが可能となる。
本発明に係るメモリ制御システムの構成を示すブロック図である。 実施例1におけるデータ読出処理及び期間算出処理を模式的に示すタイムチャートである。 実施例1におけるメモリ制御処理のルーチンを示すフローチャートである。 フレーム期間計測処理のルーチンを示すフローチャートである。 リード期間計測処理のルーチンを示すフローチャートである。 データ回復制御処理のルーチンを示すフローチャートである。 実施例2におけるデータ読出処理及び期間算出処理を模式的に示すタイムチャートである。 実施例2におけるメモリ制御処理を示すフローチャートである。 疑似フレーム期間計測処理のルーチンを示すフローチャートである。 実施例3におけるデータ読出処理及び期間算出処理を模式的に示すタイムチャートである。 実施例3におけるメモリ制御処理のルーチンを示すフローチャートである。 実施例4におけるデータ読出処理及び期間算出処理を模式的に示すタイムチャートである。 実施例4におけるデータ読出処理及び期間算出処理を模式的に示すタイムチャートである。 実施例4におけるメモリ制御処理のルーチンを示すフローチャートである。 実施例5におけるメモリ制御システムの構成を示すブロック図である。 実施例5におけるデータ読出処理及び期間算出処理を模式的に示すタイムチャートである。 実施例5におけるデータ読出処理及び期間算出処理を模式的に示すタイムチャートである。 実施例5におけるデータ読出処理及び期間算出処理を模式的に示すタイムチャートである。 実施例5におけるメモリ制御処理のルーチンを示すフローチャートである。
以下、本発明の実施例を図面を参照しつつ詳細に説明する。
図1は、本発明に係るメモリ制御装置(メモリ制御部12)を含むメモリ制御システム10の構成を示すブロック図である。メモリ制御システム10は、CPU(Central Processing Unit)11、メモリ制御部12、不揮発性の半導体メモリであるNAND型のフラッシュメモリ13、RAM(Random Access Memory)14及びCPUバス15を含む。メモリ制御システム10は、フラッシュメモリ13に記憶されている画像データを、フレーム周期に応じたタイミングで周期的に読み出し、液晶表示パネル等からなる表示装置(図示せず)に画像データを供給する。
CPU11は、CPUバス15を介してメモリ制御部12及びRAM14に接続されている。CPU11は、CPUバス15を介してメモリ制御部12及びRAM14にアクセスし、フラッシュメモリ13に対するデータの読み出し・書き込みアクセスを行う。
CPU11は、フレーム周期に応じたタイミングで、読み出し対象となるデータのアドレスとともに1〜200回程度の複数回のデータ出力要求からなる1セットのデータ出力要求群をメモリ制御部12に供給する。本実施例では、CPU11は、1フレーム周期毎に1回ずつ、フレーム周期の先頭に合わせて、データの出力要求群をメモリ制御部12に供給する。
メモリ制御部12は、データ読出部21、期間計測部22、期間算出部23及び回復処理部24を含む。
データ読出部21は、CPU11からのデータ出力要求に応じて、フラッシュメモリ13から画像データを出力する(データ出力処理)。すなわち、データ読出部21は、データ出力要求群に含まれるデータ出力要求の各々に対応する1〜200回程度の複数回のデータ出力処理を実行する。以下、1セットのデータ出力要求群に対応するデータ出力処理群を、まとめて「データ読出処理」と称する。本実施例では、1フレーム周期毎に1回(1セット)ずつCPU11からデータ出力要求群が供給されるため、データ読出部21は、1フレーム周期につき1回のデータ読出処理(すなわち、1セットのデータ出力処理群)を実行する。データ読出部21は、フレーム周期の各周期の先頭からデータ読出処理を行う。
期間計測部22は、フレーム周期の1周期毎の期間を真性フレーム期間Aとして計測する。以下の説明では、複数の真性フレーム期間Aを区別する場合、先頭から順に番号を付して真性フレーム期間A1,A2,A3・・・とも称する。なお、各真性フレーム期間A(A1,A2,A3・・・)の長さは等しい。
また、期間計測部22は、データ読出部21がデータ読出処理を開始してから完了するまでの期間をリード期間Cmとして計測する。具体的には、期間計測部22は、CPU11からメモリ制御部12にデータ出力要求の供給が開始された後、データ出力要求が途絶えてから1ms後までの期間をリード期間Cmとして計測する。すなわち、リード期間Cmは、1セットのデータ出力要求群のうちの最初のデータ出力要求の供給開始から最後のデータ出力要求が途絶えて1ms後までの期間として計測される。以下、真性フレーム期間A及びリード期間Cmの計測に係る処理を期間計測処理とも称する。
期間算出部23は、真性フレーム期間Aにおいてデータ読出処理を実行しない期間をアイドル期間Dmとして算出する期間算出処理を実行する。具体的には、期間算出部23は、真性フレーム期間Aからリード期間Cmを減算することにより、CPU11からのデータ出力要求がない期間をアイドル期間Dmとして算出する。
回復処理部24は、フラッシュメモリ13に記憶されているデータに対して、データ回復処理を実行する。データ回復処理は、例えばフラッシュメモリ13内のデータに生じているデータの誤りを検出するための誤り検出処理、監視処理や、リフレッシュ処理等を含む。回復処理部24は、かかるデータ回復処理を複数の回復処理期間Fm(m=1,2,3・・・)に分割して実行する。また、回復処理部24は、データ回復処理の実行に際して、回復処理期間Fmの設定等を含む後述するデータ回復制御処理を実行する。以下の説明では、期間計測処理、期間算出処理及びデータ回復制御処理からなる一連の処理を、まとめてメモリ制御処理とも称する。
図2は、本実施例におけるデータ読出処理及び期間算出処理を模式的に示すタイムチャートである。真性フレーム期間A1が先頭のフレーム期間であり、時間軸(T)に沿って矢印の方向に2番目の真性フレーム期間A2、3番目の真性フレーム期間A3、4番目の真性フレーム期間A4が続いている。上記の通り、真性フレーム期間A毎に1回ずつデータ読出処理が実行されるため、各真性フレーム期間Aには、1回ずつリード期間Cm及びアイドル期間Dmが存在する。なお、上記の通り各真性フレーム期間A(A1,A2,A3,A4)の長さは等しいが、各リード期間Cmの長さは読み出し対象となるデータのサイズ等に応じて異なる。
図3は、メモリ制御部12が行うメモリ制御処理のルーチンを示すフローチャートである。メモリ制御部12は、まず処理対象の真性フレーム期間Amとして先頭の真性フレーム期間である真性フレーム期間A1(すなわち、m=1)をセットする(ステップS1)。メモリ制御部12は、CPU11からデータ出力要求が供給されているか否かを判定する(ステップS2)。データ出力要求が供給されていると判定すると、メモリ制御部12の期間計測部22は、フレーム期間計測処理を実行する(ステップS3)。
図4は、フレーム期間計測処理のルーチンを示すフローチャートである。このフレーム期間計測処理は、先頭の真性フレーム期間A1における真性フレーム期間Aの長さを計測する処理である。なお、上記のとおり各真性フレーム期間Aの長さは等しいため、先頭の真性フレーム期間A1を計測することにより、2番目以降の真性フレーム期間A2,A3,A4・・・の長さを得ることができる。
期間計測部22は、リード期間C1が開始した後(ステップS11)、データ出力要求が途絶えてから1msが経過したか否かを判定する(ステップS12)。経過したと判定すると、リード期間C1が終了したと判定する。リード期間C1が終了すると、アイドル期間D1が開始する(ステップS13)。
メモリ制御部12は、CPU11からデータ出力要求が供給されているか否かを判定する(ステップS14)。データ出力要求が供給されたと判定すると、アイドル期間D1が終了したと判定する。これにより、リード期間C1の開始からアイドル期間D1の終了までを真性フレーム期間A1として計測し、真性フレーム期間の計測処理を終了する(ステップS15)。メモリ制御部12は、真性フレーム期間Amの番号mを1だけインクリメントする(ステップS16)。
再び図3を参照すると、メモリ制御部12の期間計測部22は、フレーム期間計測処理の後、リード期間計測処理を実行する(ステップS4)。
図5は、リード期間計測処理のルーチンを示すフローチャートである。このリード期間計測処理は、先頭の真性フレーム期間A1に続く2番目以降の真性フレーム期間(A2,A3,A4・・・)におけるリード期間Cm(m=2,3,4・・・)を計測する処理である。
期間計測部22は、リード期間Cmの計測を開始した後(ステップS17)、データ出力要求が途絶えてから1msが経過したか否かを判定する(ステップS18)。経過したと判定すると、リード期間Cmが終了したと判定して、リード期間計測処理を終了する(ステップS19)。
再び図3を参照すると、メモリ制御部12は、リード期間計測処理の実行後、データ回復制御処理に移行する(ステップS5)。
図6は、データ回復制御処理のルーチンを示すフローチャートである。メモリ制御部12は、先頭から2番目以降の真性フレーム期間A(A2,A3,A4・・・)においてデータの回復を行うためのデータの回復処理期間Fm(m=2,3,4・・・)を設定する(ステップS20)。期間算出部23は、ステップS3において計測した真性フレーム期間Aからリード期間Cmを減算することにより、アイドル期間Dm(m=2,3,4・・・)を算出する(ステップS21)。例えば、図2に示すように、アイドル期間D2及びD3は、夫々D2=A−C2、D3=A−C3として算出される。
再び図6を参照すると、メモリ制御部12は、設定したデータの回復処理期間Fmがアイドル期間Dmの範囲に収まるか、すなわちアイドル期間Dmにおいてデータの回復を行うことが可能か否かを判定する(ステップS22)。データの回復処理期間Fmがアイドル期間Dmの範囲に収まらない、すなわちアイドル期間Dm内でデータの回復を行うことができないと判定すると、メモリ制御部12は、データ回復制御処理を終了する(ステップS23)。一方、データの回復処理期間Fmがアイドル期間Dmの範囲に収まっている、すなわちアイドル期間Dm内でデータの回復を行うことができると判定すると、当該回復処理期間Fmにおいてデータの回復処理を実行する(ステップS24)。
再び図3を参照すると、メモリ制御部12は、先頭の真性フレーム期間A1以外の全ての真性フレーム期間(A2、A3,A4・・・)においてデータ回復制御処理が完了したか否かを判定する(ステップS6)。データ回復制御処理が完了したと判定すると、メモリ制御処理を終了する。一方、データ回復制御処理が完了していないと判定すると、メモリ制御部12は、真性フレーム期間Amの番号mを1だけインクリメントする(ステップS7)。メモリ制御部12は、CPU11からデータ出力要求が供給されているか否かを判定する(ステップS8)。出力要求が供給されていると判定すると、ステップS4に戻り、リード期間計測処理を実行する(ステップS4)。
以上のように、本実施例のメモリ制御部12は、真性フレーム期間及びリード期間を計測して、アイドル期間を算出する。そして、回復処理期間を設定し、回復処理期間がアイドル期間に収まる場合にのみ、データ回復処理を実行する。アイドル期間に収まるように回復処理期間を設定してデータ回復処理を実行することにより、データ読出処理による中断を経ることなく、データ回復処理を行うことができる。従って、データ読出処理を阻害することなく効率のよいデータの回復処理を行うことが可能となる。
実施例2のメモリ制御システム10は、図1に示すように、CPU11、メモリ制御部12、不揮発性の半導体メモリであるNAND型のフラッシュメモリ13、RAM14及びCPUバス15を含む。
CPU11は、実施例1とは異なり、1フレーム周期毎に2回(2セット)ずつ、データ出力要求群をメモリ制御部12に供給する。具体的には、CPU11は、真性フレーム期間Aの先頭のタイミングで第1のデータ出力要求群、真性フレーム期間Aの途中のタイミングで第2のデータ出力要求群をメモリ制御部12に供給する。
メモリ制御部12は、データ読出部21、期間計測部22、期間算出部23及び回復処理部24を含む。
データ読出部21は、CPU11からのデータ出力要求に応じて、データ読出処理を実行する。本実施例では、1フレーム周期毎に2回(2セット)ずつCPU11からデータ出力要求群が供給されるため、データ読出部21は、1フレーム周期につき2回のデータ読出処理(すなわち、2セットのデータ出力処理群)を実行する。具体的には、データ読出部21は、真性フレーム期間Aの先頭から第1のデータ読出処理を行い、真性フレーム期間Aの途中から第2のデータ読出処理を行う。
期間計測部22は、真性フレーム期間Aの先頭から第2のデータ読出処理の開始までの期間を第1疑似フレーム期間として計測し、第2のデータ読出処理の開始から次のフレーム周期の先頭までの期間を第2疑似フレーム期間として計測する。各真性フレーム期間Aにおける第1疑似フレーム期間及び第2疑似フレーム期間を総称して単に疑似フレーム期間Bm(m=1,2,3・・・)と称する。
期間計測部22は、リード期間Cmの開始からアイドル期間Dmの終了までの期間として疑似フレーム期間Bmを計測する。上記の通り、本実施例では1フレーム周期につき2回のデータ読出処理(2セットのデータ出力処理群)が実行されるため、真性フレーム期間Aは、2回のデータ読出処理に対応する2つの疑似フレーム期間Bmを含む。また、期間計測部22は、実施例1と同様、リード期間Cmについての期間計測処理を行う。
期間算出部23は、真性フレーム期間A、疑似フレーム期間Bm及びリード期間Cmに基づいて、アイドル期間Dmを算出する。具体的には、期間算出部23は、真性フレーム期間Aから第1疑似フレーム期間(例えば、B1)と第2疑似フレーム期間におけるリード期間(例えば、C2)とを減算してアイドル期間(例えば、D2)を算出する。この第2疑似フレーム期間におけるアイドル期間を、特に副アイドル期間と称する。
回復処理部24は、期間算出部23により算出された副アイドル期間において、フラッシュメモリ13内のメモリ領域に保持されたデータの回復処理を制御するデータ回復制御処理を行う。
図7は、本実施例におけるデータ読出処理及び期間算出処理を模式的に示すタイムチャートである。上記の通り、真性フレーム期間A毎に2回ずつデータ読出処理が実行されるため、真性フレーム期間Aは、リード期間Cm及びアイドル期間Dmからなる2個の疑似フレーム期間Bmを含む。例えば、真性フレーム期間A1は疑似フレーム期間B1及びB2を含み、真性フレーム期間A2は疑似フレーム期間B3及びB4を含む。
実施例1と同様、各真性フレーム期間Aの長さは等しい。これに対し、疑似フレーム期間Bm、リード期間Cm及びアイドル期間Dmの長さは、読み出し対象となるデータのサイズ等に応じて異なる。
図8は、メモリ制御部12が行うメモリ制御処理のルーチンを示すフローチャートである。メモリ制御部12は、まず処理対象の疑似フレーム期間Bmとして先頭の疑似フレーム期間である疑似フレーム期間B1(すなわち、m=1)をセットする(ステップS31)。メモリ制御部12は、CPU11からデータ出力要求が供給されているか否かを判定する(ステップS32)。データ出力要求が供給されていると判定すると、メモリ制御部12の期間計測部22は、疑似フレーム期間計測処理を実行する(ステップS33)。
図9は、疑似フレーム期間計測処理のルーチンを示すフローチャートである。この疑似フレーム期間計測処理は、疑似フレーム期間Bmを計測する処理である。
期間計測部22は、リード期間C1が開始した後(ステップS42)、データ出力要求が途絶えてから1msが経過したか否かを判定する(ステップS43)。経過したと判定すると、リード期間C1が終了したと判定する。これにより、リード期間C1が計測される。リード期間C1が終了すると、アイドル期間D1が開始する(ステップS44)。
メモリ制御部12は、CPU11からデータ出力要求が供給されているか否かを判定する(ステップS45)。データ出力要求が供給されたと判定すると、アイドル期間D1が終了したと判定する。これにより、アイドル期間D1が計測される。期間計測部22は、リード期間C1の開始からアイドル期間D1の終了までを疑似フレーム期間B1として計測し、疑似フレーム期間計測処理を終了する。メモリ制御部12は、疑似フレーム期間Bmの番号mを1だけインクリメントする(ステップS47)。
再び図8を参照すると、メモリ制御部12は、疑似フレーム期間Bmを2回計測したか否かを判定する(ステップS34)。2回計測していないと判定すると、期間計測部22は、ステップS33に戻り、再び疑似フレーム期間計測処理を実行する。一方、2回計測したと判定すると、期間算出部23は、計測した2つの疑似フレーム期間(B1とB2)を加算することにより、真性フレーム期間Aを算出する(ステップS35)。
メモリ制御部12は、計測済みの疑似フレーム期間の直後の疑似フレーム期間Bmについて、疑似フレーム期間計測処理を実行する(ステップS36)。例えば、疑似フレーム期間B1及びB2を計測した直後において、疑似フレーム期間B3を計測する。なお、疑似フレーム期間計測処理の詳細については、ステップS33の処理と同様であるため、ここでは説明を省略する。
続いて、メモリ制御部12の期間計測部22は、ステップS36において計測した疑似フレーム期間の直後のリード期間Cmについて、リード期間計測処理を実行する(ステップS37)。例えば、ステップS36において疑似フレーム期間B3を計測した場合、その直後のリード期間C4を計測する。なお、リード期間計測処理の詳細は、実施例1において図5を参照して説明した処理と同様であるため、ここでは説明を省略する。
メモリ制御部12は、リード期間計測処理の実行後、データ回復制御処理に移行する(ステップS38)。本実施例におけるデータ回復制御処理は、基本的な処理の流れについては実施例1において図6のフローチャートで示したデータ回復制御処理と同様であるが、アイドル期間算出ステップ(ステップS21)の処理動作において、実施例1と異なる。
メモリ制御部12は、ステップS36において計測した疑似フレーム期間の直後の疑似フレーム期間Bmにおいて、データの回復を行うためのデータの回復処理期間Fmを設定する(ステップS20)。例えば、ステップS36において疑似フレーム期間B3を計測した場合、その直後のリード期間C4において、データの回復処理期間F4を設定する。ステップS36において疑似フレーム期間B5を計測した場合、その直後のリード期間C6において、データの回復処理期間F6を設定する。
メモリ制御部12の期間算出部23は、ステップS35において計測した真性フレーム期間Aから、ステップS37において計測したリード期間Cm及びその直前の疑似フレーム期間B(m−1)を減算することにより、副アイドル期間であるアイドル期間Dmを算出する(ステップS21)。例えば、ステップS37においてリード期間C4を計測した場合、図7に示すように、真性フレーム期間Aから疑似フレーム期間B3及びリード期間C4を減算し、アイドル期間D4を副アイドル期間として算出する。ステップS37においてリード期間C6を計測した場合、真性フレーム期間Aから疑似フレーム期間B5及びリード期間C6を減算し、アイドル期間D6を副アイドル期間として算出する。
再び図6を参照すると、メモリ制御部12は、設定したデータの回復処理期間Fmが副アイドル期間であるアイドル期間Dmの範囲に収まるか、すなわち当該副アイドル期間においてデータの回復を行うことが可能か否かを判定する(ステップS22)。データの回復処理期間Fmがアイドル期間Dmの範囲に収まらない、すなわちアイドル期間Dm内でデータの回復を行うことができないと判定すると、メモリ制御部12は、データ回復制御処理を終了する(ステップS23)。一方、データの回復処理期間Fmがアイドル期間Dmの範囲に収まっている、すなわちアイドル期間Dm内でデータの回復を行うことができると判定すると、当該回復処理期間Fmにおいてデータの回復処理を実行する(ステップS24)。
再び図8を参照すると、メモリ制御部12は、全ての疑似フレーム期間についてデータ回復制御処理が完了したか否かを判定する(ステップS39)。データ回復制御処理が完了したと判定すると、メモリ制御処理を終了する。一方、データ回復制御処理が完了していないと判定すると、メモリ制御部12は、疑似フレーム期間Bmの番号mをインクリメントする(ステップS40)。メモリ制御部12は、CPU11からデータ出力要求が供給されているか否かを判定する(ステップS41)。出力要求が供給されていると判定すると、ステップS36に戻り、疑似フレーム期間計測処理を実行する。
このように、ステップS39〜S41を経て、ステップS36〜S38の処理を繰り返し実行することにより、先頭の真性フレーム期間A1以降の全ての真性フレーム期間(A2,A3,A4・・・)において回復処理期間Fmが設定され、回復処理期間Fmがアイドル期間Dmの範囲内に収まっている場合には、データの回復処理が実行される。
以上のように、本実施例のメモリ制御部12は、真性フレーム期間内にリード期間及びアイドル期間(すなわち、疑似フレーム期間)が2回ずつ存在する場合に、当該真性フレーム期間内の1回目の疑似フレーム期間(例えば、B3,B5,B7・・・)及び2回目のリード期間(例えば、C4、C6,C8・・・)を計測して、2回目のアイドル期間(例えば、D4,D6,D8・・・)を算出する。そして、回復処理期間がアイドル期間に収まる場合にのみ、データの回復処理を実行する。アイドル期間内に収まるように回復処理期間を設定することにより、データ読出処理による中断を経ることなく、データの回復処理を行うことができる。従って、データ読出処理を阻害することなく効率のよいデータの回復処理を行うことが可能となる。
実施例3のメモリ制御システム10は、図1に示すように、CPU11、メモリ制御部12、不揮発性の半導体メモリであるNAND型のフラッシュメモリ13、RAM14及びCPUバス15を含む。
CPU11は、実施例1及び実施例2とは異なり、1フレーム周期毎にn回(n:自然数)ずつ、データ出力要求群をメモリ制御部12に供給する。具体的には、CPU11は、真性フレーム期間Aの先頭のタイミングで第1データ出力要求群、真性フレーム期間Aの途中のタイミングで第2データ出力要求群〜第nデータ出力要求群を順次メモリ制御部12に供給する。
データ読出部21は、CPU11からのデータの出力要求に応じて、1フレーム周期につきn回のデータ読出処理(すなわち、nセットのデータ出力処理群)を実行する。具体的には、データ読出部21は、真性フレーム期間Aの先頭から第1データ読出処理を実行し、真性フレーム期間Aの途中から第2データ読出処理〜第nデータ読出処理を実行する。
期間計測部22は、真性フレーム期間Aの先頭から第2データ読出処理の開始までの期間を第1疑似フレーム期間として計測し、第k(k:2≦k≦(n−1)の自然数)データ読出処理の開始から第(k+1)データ読出処理の開始までの期間を第k疑似フレーム期間として計測し、第nデータ読出処理の開始から次のフレーム周期の先頭までの期間を第n疑似フレーム期間として計測する。各真性フレーム期間Aにおける第1〜第n疑似フレーム期間を総称して単に疑似フレーム期間Bm(m=1,2,3・・・)と称する。上記の通り、本実施例では1フレーム周期につきn回のデータ読出処理が行われるため、真性フレーム期間Aは、n回のデータ読出処理に対応するn個の疑似フレーム期間Bmを含む。
期間算出部23は、真性フレーム期間Aから第1〜第(n−1)疑似フレーム期間(例えば、B1〜B(n−1))を加算した加算期間と第n疑似フレーム期間におけるリード期間(例えば、Cn)とを減算してアイドル期間(例えば、Dn)を算出する。この第n疑似フレーム期間におけるアイドル期間を、特に副アイドル期間と称する。
図10は、本実施例におけるデータ読出処理及び期間算出処理を模式的に示すタイムチャートである。上記の通り、真性フレーム期間A毎にn回ずつデータ読出処理が実行されるため、真性フレーム期間Aは、リード期間Cm及びアイドル期間Dmからなるn個の疑似フレーム期間Bmを含む。例えば、真性フレーム期間A1は疑似フレーム期間B1〜Bnを含み、真性フレーム期間A2は疑似フレーム期間B(n+1)〜B(2n)を含む。
図11は、メモリ制御部12が行うメモリ制御処理のルーチンを示すフローチャートである。メモリ制御部12は、まず処理対象の疑似フレーム期間Bmとして先頭の疑似フレーム期間である疑似フレーム期間B1(すなわち、m=1)をセットする(ステップS51)。メモリ制御部12は、CPU11からデータ出力要求が供給されているか否かを判定する(ステップS52)。データ出力要求が供給されていると判定すると、メモリ制御部12の期間計測部22は、疑似フレーム期間計測処理を実行する(ステップS53)。この疑似フレーム期間計測処理については、実施例2において図9を参照して説明した処理と同様であるため、ここでは説明を省略する。
メモリ制御部12は、疑似フレーム期間Bmをn回計測したか否かを判定する(ステップS54)。n回計測していないと判定すると、期間計測部22は、ステップS53に戻り、再び疑似フレーム期間計測処理を実行する。一方、n回計測したと判定すると、期間算出部23は、計測したn個の疑似フレーム期間B1〜Bnを加算することにより、真性フレーム期間Aを算出する(ステップS55)。
メモリ制御部12は、計測済みのn個の疑似フレーム期間(例えば、B1〜Bn)の後の疑似フレーム期間Bm(例えば、B(n+1),B(n+2),・・・)について、疑似フレーム期間計測処理を実行する(ステップS56)。この疑似フレーム期間計測処理については、ステップS53の処理と同様であるため、ここでは説明を省略する。
メモリ制御部12は、疑似フレーム期間Bmを(n−1)回計測したか否かを判定する(ステップS57)。(n−1)回計測していないと判定すると、期間計測部22は、ステップS56に戻り、再び疑似フレーム期間計測処理を実行する。
続いて、メモリ制御部12の期間計測部22は、ステップS56〜S57において(n−1)回目に計測した疑似フレーム期間Bm(例えば、B(2n−1))の直後のリード期間Cm(例えば、C(2n))について、リード期間計測処理を実行する(ステップS58)。このリード期間計測処理は、実施例1において図5を参照して説明した処理と同様であるため、ここでは説明を省略する。
メモリ制御部12は、リード期間計測処理の実行後、データ回復制御処理に移行する(ステップS59)。本実施例におけるデータ回復制御処理は、基本的な処理の流れについては実施例1において図6のフローチャートで示したデータ回復制御処理と同様であるが、アイドル期間算出ステップ(ステップS21)の処理動作において、実施例1と異なる。
メモリ制御部12は、ステップS56〜S57において(n−1)回目に計測した疑似フレーム期間の直後の疑似フレーム期間Bmにおいて、データの回復を行うためのデータの回復処理期間Fmを設定する(ステップS20)。例えば、ステップS56〜S57において疑似フレーム期間B(2n−1)を計測した場合、その直後の疑似フレーム期間B(2n)において、データの回復処理期間F(2n)を設定する。
メモリ制御部12の期間算出部23は、ステップS55において計測した真性フレーム期間Aから、ステップS56〜S57において計測した(n−1)個の疑似フレーム期間Bmの加算値及びステップS58において計測したリード期間Cmを減算することにより、副アイドル期間であるアイドル期間Dmを算出する(ステップS21)。例えば、ステップS56〜S57において疑似フレーム期間B(n+1)〜B(2n−1)を計測し、ステップS58においてC(2n)を計測した場合、AからB(n+1)〜B(2n−1)の加算値及びC(2n)を減算することにより、アイドル期間D(2n)を副アイドル期間として算出する。すなわち、アイドル期間D(2n)は、以下の式(1)で表される。
また、ステップS56〜S57において疑似フレーム期間B(2n+1)〜B(3n−1)を計測し、ステップS58においてC(3n)を計測した場合、AからB(2n+1)〜B(3n−1)の加算値及びC(3n)を減算することにより、アイドル期間D(3n)を副アイドル期間として算出する。すなわち、アイドル期間D(3n)は、以下の式(2)で表される。
メモリ制御部12は、設定したデータの回復処理期間Fmが副アイドル期間であるアイドル期間Dmの範囲に収まるか、すなわち当該副アイドル期間においてデータの回復を行うことが可能か否かを判定する(ステップS22)。データの回復処理期間Fmがアイドル期間Dmの範囲に収まらない、すなわちアイドル期間Dm内でデータの回復を行うことができないと判定すると、メモリ制御部12は、データ回復制御処理を終了する(ステップS23)。一方、データの回復処理期間Fmがアイドル期間Dmの範囲に収まっている、すなわちアイドル期間Dm内でデータの回復を行うことができると判定すると、当該回復処理期間Fmにおいてデータの回復処理を実行する(ステップS24)。
再び図11を参照すると、メモリ制御部12は、全ての疑似フレーム期間についてデータ回復制御処理が完了したか否かを判定する(ステップS60)。データ回復制御処理が完了したと判定すると、メモリ制御処理を終了する。一方、データ回復制御処理が完了していないと判定すると、メモリ制御部12は、疑似フレーム期間Bmの番号mをインクリメントする(ステップS61)。メモリ制御部12は、CPU11からデータ出力要求が供給されているか否かを判定する(ステップS62)。出力要求が供給されていると判定すると、ステップS56に戻り、疑似フレーム期間計測処理を実行する。
このように、ステップS60〜S62を経て、ステップS56〜S59の処理を繰り返し実行することにより、先頭の真性フレーム期間A1以降の全ての真性フレーム期間(A2,A3,A4・・・)において回復処理期間Fmが設定され、回復処理期間Fmがアイドル期間Dmの範囲内に収まっている場合には、データの回復処理が実行される。
以上のように、本実施例のメモリ制御部12は、真性フレーム期間内にリード期間及びアイドル期間(疑似フレーム期間)がn回ずつ存在する場合に、同一の真性フレーム期間内における先頭から(n−1)個の疑似フレーム期間(例えば、B(n+1)〜B(2n−1))及びその直後のリード期間(例えば、C(2n))の長さを計測して、これらを真性フレーム期間の長さAから減算することにより、アイドル期間(例えば、D(2n))を算出する。そして、回復処理期間を設定し、回復処理期間がアイドル期間に収まる場合にのみ、データの回復処理を実行する。アイドル期間内に収まるように回復処理期間を設定することにより、データ読出処理による中断を経ることなく、データの回復処理を行うことができる。従って、データ読出処理を阻害することなく効率のよいデータの回復処理を行うことが可能となる。
実施例4のメモリ制御システム10は、図1に示すように、CPU11、メモリ制御部12、不揮発性の半導体メモリであるNAND型のフラッシュメモリ13、RAM14及びCPUバス15を含む。
本実施例において、CPU11は、1フレーム周期毎に1回又は2回(すなわち、1セット又は2セット)ずつ、データ出力要求群をメモリ制御部12に供給する。フレーム周期毎のデータ出力要求群の回数が1回である場合、実施例1と同様に、CPU11は、フレーム周期の先頭に合わせてデータ出力要求群をメモリ制御部12に供給する。一方、フレーム周期毎のデータ出力要求群の回数が2回である場合、CPU11は、実施例2と同様、真性フレーム期間Aの先頭のタイミングで第1データ出力要求群、真性フレーム期間Aの途中のタイミングで第2のデータ出力要求群をメモリ制御部12に供給する。
データ読出部21は、CPU11からのデータ出力要求群に応じて、1フレーム周期につき1回又は2回のデータ読出処理(すなわち、1セット又は2セットのデータ出力処理群)を実行する。フレーム周期毎のデータ読出の回数が1回である場合、データ読出部21は、実施例1と同様、フレーム周期の各周期の先頭からデータ読出処理を行う。一方、フレーム周期毎のデータ読出の回数が2回である場合、データ読出部21は、真性フレーム期間Aの先頭から第1のデータ読出処理を行い、真性フレーム期間Aの途中から第2のデータ読出処理を行う。
期間計測部22は、データ読出の開始から次のデータ読出の開始までの期間を夫々疑似フレーム期間Bmとして計測する。すなわち、期間計測部22は、データ読出処理の開始のタイミングに同期した期間を疑似フレーム期間Bm(m=1,2,3・・・)として計測する。上記の通り、本実施例では1フレーム周期につき1回又は2回のデータ読出処理が行われるため、真性フレーム期間Aは、1又は2個の疑似フレーム期間Bmを含む。
図12及び図13は、本実施例におけるデータ読出処理及び期間算出処理を模式的に示すタイムチャートである。図12は、真性フレーム期間Aにおいてデータ読出処理が2回(データ出力処理群が2セット)行われる場合、すなわち真性フレーム期間Aが2つの疑似フレーム期間Bmを含む場合の例を示す図である。これに対し、図13は、真性フレーム期間Aにおいてデータ読出処理が1回(データ出力処理群が1セット)行われる場合、すなわち真性フレーム期間Aが1つの疑似フレーム期間Bmを含む場合の例を示す図である。
図14は、メモリ制御部12が行うメモリ制御処理のルーチンを示すフローチャートである。メモリ制御部12は、まず処理対象の疑似フレーム期間Bmとして先頭の疑似フレーム期間である疑似フレーム期間B1(すなわち、m=1)をセットする(ステップS71)。メモリ制御部12は、CPU11からデータ出力要求が供給されているか否かを判定する(ステップS72)。データ出力要求が供給されていると判定すると、メモリ制御部12の期間計測部22は、疑似フレーム期間計測処理を実行する(ステップS73)。この疑似フレーム期間計測処理については、実施例2において図9を参照して説明した処理と同様であるため、ここでは説明を省略する。
メモリ制御部12は、疑似フレーム期間Bmを2回計測したか否かを判定する(ステップS74)。2回計測していないと判定すると、期間計測部22は、ステップS73に戻り、再び疑似フレーム期間計測処理を実行する。
一方、2回計測したと判定すると、期間計測部22は、ステップS73〜S74において計測した2個の疑似フレーム期間Bmの直後のリード期間Cmについて、リード期間計測処理を実行する(ステップS75)。例えば、ステップS73〜74において疑似フレーム期間B1及びB2を計測した場合、その直後のリード期間C3を計測する。なお、リード期間計測処理の詳細は、実施例1において図5を参照して説明した処理と同様であるため、ここでは説明を省略する。
メモリ制御部12は、リード期間計測処理の実行後、データ回復制御処理に移行する(ステップS76)。本実施例におけるデータ回復制御処理は、基本的な処理の流れについては実施例1において図6のフローチャートを参照して説明したデータ回復制御処理と同様であるが、アイドル期間算出ステップ(ステップS21)の処理動作において、実施例1と異なる。
メモリ制御部12は、ステップS73〜S74において計測した2個の疑似フレーム期間の直後の疑似フレーム期間Bmにおいて、データの回復を行うためのデータの回復処理期間Fmを設定する(ステップS20)。例えば、ステップS73〜S74において疑似フレーム期間B1,B2を計測した場合、その直後の疑似フレーム期間B3において、データの回復処理期間F3を設定する。ステップS73〜S74において疑似フレーム期間B4,B5を計測した場合、その直後の疑似フレーム期間B6において、データの回復処理期間F6を設定する。
メモリ制御部12の期間算出部23は、ステップS73〜S74において計測した2個の疑似フレーム期間(例えば、B1、B2)のうち、短い方の疑似フレーム期間からステップS75で計測したリード期間(例えば、C3)を減算する。期間算出部23は、かかる減算期間(例えば、B2−C3)を、ステップS73〜74において計測した2個の疑似フレーム期間におけるアイドル期間(例えば、D1,D2)と比較し、3者のうちで最も短い期間をアイドル期間Dmとして算出する(ステップS21)。
例えば、図12のタイムチャートでは、疑似フレーム期間B2の方が疑似フレーム期間B1よりも短い。従って、期間算出部23は、疑似フレーム期間B2からリード期間C3を減算する。期間算出部23は、アイドル期間D1,D2及び(B2−C3)を比較し、3者のうちで最も短い(B2−C3)又はD2をアイドル期間Dmとして算出する。
これに対し、図13のタイムチャートでは、疑似フレーム期間B1と疑似フレーム期間B2とが同じ長さであるため、期間算出部23は、疑似フレーム期間B1からリード期間C3を減算する。期間算出部23は、アイドル期間D1,D2及び(B1−C3)を比較し、3者のうちで最も短い(B1−C3)をアイドル期間Dmとして算出する。
再び図6を参照すると、メモリ制御部12は、設定したデータの回復処理期間Fmがアイドル期間Dmの範囲に収まるか、すなわちアイドル期間Dmにおいてデータの回復を行うことが可能か否かを判定する(ステップS22)。データの回復処理期間Fmがアイドル期間Dmの範囲に収まらない、すなわちアイドル期間Dm内でデータの回復を行うことができないと判定すると、メモリ制御部12は、データ回復制御処理を終了する(ステップS23)。一方、データの回復処理期間Fmがアイドル期間Dmの範囲に収まっている、すなわちアイドル期間Dm内でデータの回復を行うことができると判定すると、当該回復処理期間Fmにおいてデータの回復処理を実行する(ステップS24)。
再び図14を参照すると、メモリ制御部12は、全ての疑似フレーム期間についてデータ回復制御処理が完了したか否かを判定する(ステップS77)。データ回復制御処理が完了したと判定すると、メモリ制御処理を終了する。一方、データ回復制御処理が完了していないと判定すると、メモリ制御部12は、疑似フレーム期間Bmの番号mをインクリメントする(ステップS78)。メモリ制御部12は、ステップS72に戻り、CPU11からデータ出力要求が供給されているか否かを判定する。
このように、ステップS77〜S78を経て、ステップS72〜S76の処理を繰り返し実行することにより、3k番目(k:自然数)の疑似フレーム期間Bmにおいて回復処理期間Fmが設定され、回復処理期間Fmがアイドル期間Dmの範囲内に収まっている場合には、データの回復処理が実行される。
以上のように、本実施例のメモリ制御部12は、連続した2つの疑似フレーム期間(例えば、B1,B2)及びその直後のリード期間(例えば、C3)を計測する。そして、計測したリード期間を2つの疑似フレーム期間のうち短い方の疑似フレーム期間(例えば、B2)から減算して減算値(例えば、B2−C3)を得る。そして、かかる減算値と2つの疑似フレーム期間における2つのアイドル期間(例えば、D1,D2)とを比較して、最も短い期間を次の疑似フレーム期間におけるアイドル期間(例えば、C3)として算出する。
このようなアイドル期間の算出方法によれば、真性フレーム期間内に疑似フレームが1回含まれる場合(図13)、2回含まれる場合(図12)のいずれであっても、アイドル期間を算出することができる。そして、アイドル期間内に収まるように回復処理期間を設定することにより、データ読出処理による中断を経ることなく、データの回復処理を行うことができる。従って、データ読出処理を阻害することなく効率のよいデータの回復処理を行うことが可能となる。
実施例5のメモリ制御システム10は、図15に示すように、CPU11、メモリ制御部12、不揮発性の半導体メモリであるNAND型のフラッシュメモリ13、RAM14及びCPUバス15を含む。
本実施例では、CPU11が1フレーム周期毎にメモリ制御部12に供給するデータ出力要求群の回数は不定である。したがって、メモリ制御部12のデータ読出部21は、1フレーム周期につきCPU11から供給されるデータ出力要求群の頻度(セット数)に応じた回数だけ、データ読出処理(データ出力処理群)を実行する。
本実施例のメモリ制御部12は、データ読出部21、期間計測部22、期間算出部23、回復処理部24及び比較処理部25を含む。
比較処理部25は、連続した2個の疑似フレーム期間(例えば、B1,B2)の長さを加算した加算値と第1の下限値Aminとを比較する第1比較処理を行う。第1の下限値Aminは、真性フレーム期間Aの長さの下限値である。また、比較処理部25は、2個の疑似フレーム期間Bmにおけるアイドル期間(例えば、D1,D2)の長さを、第2の下限値Dminと比較する第2比較処理を行う。第2の下限値Dminは、アイドル期間の長さの下限値である。第1比較処理において加算値が第1の下限値Amin以上であると判定し、且つ第2比較処理においてアイドル期間Dmの長さがいずれも第2の下限値Dmin以上であると判定した場合に、回復処理部24はデータ回復処理を実行する。
図16〜18は、本実施例におけるデータ読出処理及び期間算出処理を模式的に示すタイムチャートである。図16のタイムチャートでは、連続する2個の疑似フレーム期間(B1,B2)の加算値(B1+B2)が第1の下限値Amin以上であり、且つ当該疑似フレーム期間におけるアイドル期間(D1,D2)の長さがいずれも第2の下限値Dmin以上である。従って、メモリ制御部12は、アイドル期間D3を算出し、回復処理期間F3との比較結果に応じてデータ回復処理を実行する。
これに対し、図17のタイムチャートでは、連続する2個の疑似フレーム期間(B1,B2)の加算値(B1+B2)が第1の下限値Amin未満であり、当該疑似フレーム期間におけるアイドル期間(D1,D2)の長さがいずれも第2の下限値Dminよりも短い。従って、メモリ制御部12は、データ回復処理を実行しない。
図18のタイムチャートは、真性フレーム期間Aにおいてリード期間及びアイドル期間が1回ずつである場合、すなわち各真性フレーム期間Aが疑似フレーム期間Bmを1つ含む場合の例を示すタイムチャートである。各疑似フレーム期間(B1,B2)は夫々単独で第1の下限値Amin以上であり、アイドル期間(D1,D2)の長さがいずれも第2の下限値Dmin以上であるため、メモリ制御部12は、アイドル期間D3を算出し、回復処理期間F3との比較結果に応じてデータ回復処理を実行する。
図19は、メモリ制御部12が行うメモリ制御処理のルーチンを示すフローチャートである。メモリ制御部12は、まず処理対象の疑似フレーム期間Bmとして先頭の疑似フレーム期間である疑似フレーム期間B1(すなわち、m=1)をセットする(ステップS81)。メモリ制御部12は、CPU11からデータ出力要求が供給されているか否かを判定する(ステップS82)。データ出力要求が供給されていると判定すると、メモリ制御部12の期間計測部22は、疑似フレーム期間計測処理を実行する(ステップS83)。この疑似フレーム期間計測処理については、実施例2において図9を参照して説明した処理と同様であるため、ここでは説明を省略する。
メモリ制御部12は、疑似フレーム期間Bmを2回計測したか否かを判定する(ステップS84)。2回計測していないと判定すると、期間計測部22は、ステップS83に戻り、再び疑似フレーム期間計測処理を実行する。
一方、2回計測したと判定すると、期間計測部22は、ステップS73〜S74において計測した2個の疑似フレーム期間Bmの加算値を第1の下限値Aminと比較する(ステップS85)。加算値が第1の下限値Amin未満であると判定すると、ステップS89に移行する。
一方、加算値が第1の下限値Amin以上であると判定すると、期間計測部22は、ステップS73〜S74において計測した2個の疑似フレーム期間における2つのアイドル期間(D(m−1),D(m−2))を、第2の下限値Dminと比較する(ステップS86)。2つのアイドル期間のうち少なくとも一方が第2の下限値Dmin未満であると判定すると、ステップS89に移行する。
一方、2つのアイドル期間がいずれも第2の下限値Dmin以上であると判定すると、期間計測部22は、ステップS73〜S74において計測した2個の疑似フレーム期間の直後のリード期間Cmについて、リード期間計測処理を実行する(ステップS87)。例えば、ステップS83〜84において疑似フレーム期間B1及びB2を計測した場合、その直後のリード期間C3を計測する。なお、リード期間計測処理の詳細は、実施例1において図5を参照して説明した処理と同様であるため、ここでは説明を省略する。
メモリ制御部12は、リード期間計測処理の実行後、データ回復制御処理に移行する(ステップS88)。本実施例におけるデータ回復制御処理は、実施例4のデータ回復制御処理と同様であるため、説明を省略する。
メモリ制御部12は、全ての疑似フレーム期間についてデータ回復制御処理が完了したか否かを判定する(ステップS89)。データ回復制御処理が完了したと判定すると、メモリ制御処理を終了する。一方、データ回復制御処理が完了していないと判定すると、メモリ制御部12は、疑似フレーム期間Bmの番号mをインクリメントする(ステップS90)。メモリ制御部12は、ステップS82に戻り、CPU11からデータ出力要求が供給されているか否かを判定する。
以上のように、本実施例のメモリ制御部12は、連続した2個の疑似フレーム期間の長さを加算した加算値と第1の下限値Amin(真性フレーム期間の長さの下限値)とを比較する第1比較処理と、2個の疑似フレーム期間におけるアイドル期間の長さを第2の下限値Dmin(アイドル期間の下限値)と比較する第2比較処理とを行う。そして、第1比較処理において加算値が第1の下限値Amin以上であると判定し、且つ第2比較処理においてアイドル期間の長さがいずれも第2の下限値Dmin以上であると判定した場合にのみ、データ回復処理を実行する。
一方、第1比較処理において加算値が第1の下限値Amin未満である場合、又は第2比較処理において2つのアイドル期間の少なくとも一方の長さが第2の下限値Dmin未満である場合には、メモリ制御部12は、データ回復処理に必要なアイドル期間が確保できないと判定して、データ回復処理を実行しない。
従って、1フレーム周期(真性フレーム期間A)毎のデータ読出処理の回数(すなわち、CPU11から供給されるデータ出力要求群のセット数)が不定である場合にも、データ回復処理が可能か否かを判定し、可能である場合には、アイドル期間内に収まるように回復処理期間を設定して、データ読出処理による中断を経ることなく、データの回復処理を行うことができる。従って、データ読出処理を阻害することなく効率のよいデータの回復処理を行うことが可能となる。
なお、本発明は上記実施形態に限定されない。例えば、上記実施例では、本発明のメモリ制御システムを画像処理用メモリに適用した例について説明した。しかし、画像データの読み出しに限られず、メモリからのデータの読み出しに周期性があるものであればよい。
また、上記実施例では、NAND型のフラッシュメモリを用いる例について説明した。しかし、NOR型のフラッシュメモリ等、他の半導体メモリを用いても良い。また、本発明は、半導体メモリに限られず、他の不揮発性メモリにも適用することが可能である。
また、上記実施例4では、メモリ制御部12が1フレーム周期毎に1回又は2回ずつデータ読出処理を実行する場合、すなわち真性フレーム期間Aが1つ又は2つの疑似フレーム期間を有する場合について説明した。しかし、1フレーム周期毎に3回以上のデータ読出処理を実行し、真性フレーム期間Aが3つ以上の疑似フレーム期間を有していてもよい。
また、上記実施例5では、連続する2つの疑似フレーム期間の加算値と真性フレーム期間Aの長さの下限値とを比較して第1比較処理を行う例について説明した。しかし、これに限られず、連続する3つ以上の疑似フレーム期間を真性フレーム期間Aの長さの下限値と比較しても良い。そして、真性フレーム期間Aが3つ以上の疑似フレーム期間を有する場合にもデータ回復処理を実行可能な構成としてもよい。
また、上記実施例では、データ読出を実行しないアイドル期間を算出して、当該アイドル期間内にデータの回復処理を実行する例について説明した。しかし、CPU11からのデータ出力要求が想定される場面に実行される、データの回復処理以外の他の処理にも応用することが可能である。
10 メモリ制御システム
11 CPU
12 メモリ制御部
13 フラッシュメモリ
14 RAM
15 CPUバス
21 データ読出部
22 期間計測部
23 期間算出部
24 回復処理部
25 比較処理部

Claims (10)

  1. フレーム周期に応じたタイミングで不揮発性メモリからデータ読出を行うメモリ制御システムにおいて、前記不揮発性メモリに記憶されているデータに対してデータ回復処理を実行するデータ回復方法であって、
    前記フレーム周期の1周期の期間を真性フレーム期間として計測する真性フレーム期間計測ステップと、
    前記フレーム周期の1周期における前記データ読出の開始から完了までの期間をリード期間として計測するリード期間計測ステップと、
    前記真性フレーム期間において前記データ読出を実行しない期間をアイドル期間として算出するアイドル期間算出ステップと、
    前記アイドル期間において前記データ回復処理を実行するデータ回復ステップと、
    を含むことを特徴とする不揮発性メモリのデータ回復方法。
  2. 前記フレーム周期毎に、前記真性フレーム期間の先頭から前記リード期間が開始する第1のデータ読出と、前記真性フレーム期間の途中から前記リード期間が開始する第2のデータ読出と、を含む2回の前記データ読出を行うステップと、
    前記真性フレーム期間の先頭から前記第2のデータ読出の開始までの期間を第1疑似フレーム期間として計測し、前記第2のデータ読出の開始から次のフレーム周期の先頭までの期間を第2疑似フレーム期間として計測する疑似フレーム期間計測ステップと、
    をさらに含み、
    前記リード期間計測ステップは、前記第1疑似フレーム期間における前記データ読出の開始から完了までの期間を第1リード期間として計測し、前記第2疑似フレーム期間における前記データ読出の開始から完了までの期間を第2リード期間として計測するステップを含み、
    前記アイドル期間算出ステップは、前記真性フレーム期間から前記第1疑似フレーム期間と前記第2リード期間とを減算して、前記第2疑似フレーム期間において前記データ読出を実行しない期間を副アイドル期間として算出するステップを含み、
    前記データ回復ステップは、前記副アイドル期間において前記データ回復処理を実行するステップを含む、
    ことを特徴とする請求項1に記載の不揮発性メモリのデータ回復方法。
  3. 前記フレーム周期毎に、前記真性フレーム期間の先頭から前記リード期間が開始する第1のデータ読出と、前記真性フレーム期間の途中から前記リード期間が開始する第2〜第n(n:3以上の自然数)のデータ読出と、を含むn回の前記データ読出を行うステップと、
    前記真性フレーム期間の先頭から前記第2のデータ読出の開始までの期間を第1疑似フレーム期間として計測し、第k(k:2≦k≦(n−1)の自然数)のデータ読出の開始から第(k+1)のデータ読出の開始までの期間を第k疑似フレーム期間として計測し、前記第nのデータ読出の開始から次のフレーム周期の先頭までの期間を第n疑似フレーム期間として計測し、前記第1疑似フレーム期間から前記第n疑似フレーム期間までのn個の疑似フレーム期間を得る疑似フレーム期間計測ステップと、
    をさらに含み、
    前記リード期間計測ステップは、前記第k疑似フレーム期間における前記データ読出の開始から完了までの期間を第kリード期間として計測し、前記第n疑似フレーム期間における前記データ読出の開始から完了までの期間を第nリード期間として計測するステップを含み、
    前記アイドル期間算出ステップは、前記第1疑似フレーム期間から第(n−1)疑似フレーム期間までの(n−1)個の前記疑似フレーム期間を加算して加算期間を算出し、前記加算期間と前記第nリード期間とを前記真性フレーム期間から減算して、前記第n疑似フレーム期間において前記データ読出を実行しない期間を副アイドル期間として算出するステップを含み、
    前記データ回復ステップは、前記副アイドル期間において前記データ回復処理を実行するステップを含む、
    ことを特徴とする請求項1に記載の不揮発性メモリのデータ回復方法。
  4. フレーム周期に応じたタイミングで不揮発性メモリからデータ読出を行うメモリ制御システムにおいて、前記不揮発性メモリに記憶されているデータに対してデータ回復処理を実行するデータ回復方法であって、
    前記データ読出のタイミングに同期して、第1の前記データ読出の開始から第2の前記データ読出の開始までの期間を第1疑似フレーム期間として計測し、前記第2の前記データ読出の開始から第3の前記データ読出の開始までの期間を第2疑似フレーム期間として計測する疑似フレーム期間計測ステップと、
    前記第1疑似フレーム期間において前記データ読出を実行しない期間を第1アイドル期間として計測し、前記第2疑似フレーム期間において前記データ読出を実行しない期間を第2アイドル期間として計測するステップと、
    前記第3の前記データ読出における読出開始から完了までの期間をリード期間として計測するリード期間計測ステップと、
    前記第1疑似フレーム期間と前記第2疑似フレーム期間のうち短い方の期間から、前記リード期間を減算して減算期間を算出し、前記第1アイドル期間と前記第2アイドル期間と前記減算期間とのうち最も短い期間を、前記第2疑似フレーム期間の後の第3疑似フレーム期間において前記データ読出を実行しない第3アイドル期間として算出するアイドル期間算出ステップと、
    前記第3アイドル期間において前記データ回復処理を実行するデータ回復ステップと、
    を含むことを特徴とする不揮発性メモリのデータ回復方法。
  5. 前記第1疑似フレーム期間及び前記第2疑似フレーム期間を加算した加算値と、第1の下限値とを比較する第1の比較ステップと、
    前記第1アイドル期間及び前記第2アイドル期間と、第2の下限値とを比較する第2の比較ステップと、
    を含み、
    前記データ回復ステップは、前記加算値が前記第1の下限値以上であって、且つ前記第1アイドル期間及び前記第2アイドル期間がいずれも前記第2の下限値以上である場合に、前記データ回復処理を実行するステップを含む、
    ことを特徴とする請求項4に記載の不揮発性メモリのデータ回復方法。
  6. フレーム周期に応じたタイミングで供給されるデータ出力要求に応じて不揮発性メモリからデータ読出を行うメモリ制御装置であって、
    前記データ読出を実行するデータ読出部と、
    前記フレーム周期の1周期の期間を真性フレーム期間として計測し、前記1周期における前記データ読出の開始から完了までの期間をリード期間として計測する期間計測部と、
    前記真性フレーム期間において前記データ読出を実行しない期間をアイドル期間として算出する期間算出部と、
    前記アイドル期間において前記データ回復処理を実行する回復処理部と、
    を含むことを特徴とするメモリ制御装置。
  7. 前記データ読出部は、前記真性フレーム期間の先頭から前記リード期間が開始する第1のデータ読出と、前記真性フレーム期間の途中から前記リード期間が開始する第2のデータ読出と、を含む2回の前記データ読出を行い、
    前記期間計測部は、前記真性フレーム期間の先頭から前記第2のデータ読出の開始までの期間を第1疑似フレーム期間として計測し、前記第2のデータ読出の開始から次のフレーム周期の先頭までの期間を第2疑似フレーム期間として計測し、前記第1疑似フレーム期間における前記データ読出の開始から完了までの期間を第1リード期間として計測し、前記第2疑似フレーム期間における前記データ読出の開始から完了までの期間を第2リード期間として計測し、
    前記期間算出部は、前記真性フレーム期間から前記第1疑似フレーム期間と前記第2リード期間とを減算して、前記第2疑似フレーム期間において前記データ読出を実行しない期間を第2アイドル期間として算出し、
    前記回復処理部は、前記第2アイドル期間において前記データ回復処理を実行する、
    ことを特徴とする請求項6に記載のメモリ制御装置。
  8. 前記データ読出部は、前記真性フレーム期間の先頭から前記リード期間が開始する第1のデータ読出と、前記真性フレーム期間の途中から前記リード期間が開始する第2〜第n(n:3以上の自然数)のデータ読出と、を含むn回の前記データ読出を行い、
    前記期間計測部は、前記真性フレーム期間の先頭から前記第2のデータ読出の開始までの期間を第1疑似フレーム期間として計測し、第k(k:2≦k≦(n−1)の自然数)のデータ読出の開始から第(k+1)のデータ読出の開始までの期間を第k疑似フレーム期間として計測し、前記第nのデータ読出の開始から次のフレーム周期の先頭までの期間を第n疑似フレーム期間として計測し、前記第k疑似フレーム期間における前記データ読出の開始から完了までの期間を第kリード期間として計測し、前記第n疑似フレーム期間における前記データ読出の開始から完了までの期間を第nリード期間として計測し、
    前記期間算出部は、前記第1疑似フレーム期間から第(n−1)疑似フレーム期間までの(n−1)個の疑似フレーム期間を加算して加算期間を算出し、前記加算期間と前記第nリード期間とを前記真性フレーム期間から減算して、前記第n疑似フレーム期間において前記データ読出を実行しない期間を第nアイドル期間として算出し、
    前記回復処理部は、前記nアイドル期間において前記データ回復処理を実行する、
    ことを特徴とする請求項6に記載のメモリ制御装置。
  9. フレーム周期に応じたタイミングで供給されるデータ出力要求に応じて不揮発性メモリからデータ読出を行うメモリ制御装置であって、
    前記データ読出を実行するデータ読出部と、
    前記データ読出のタイミングに同期して、第1の前記データ読出の開始から第2の前記データ読出の開始までの期間を第1疑似フレーム期間として計測し、前記第2の前記データ読出の開始から第3の前記データ読出の開始までの期間を第2疑似フレーム期間として計測し、前記第1疑似フレーム期間において前記データ読出を実行しない期間を第1アイドル期間として計測し、前記第2疑似フレーム期間において前記データ読出を実行しない期間を第2アイドル期間として計測し、前記第3の前記データ読出における読出開始から完了までの期間をリード期間として計測する期間計測部と、
    前記第1疑似フレーム期間と前記第2疑似フレーム期間のうち短い方の期間から、前記リード期間を減算して減算期間を算出し、前記第1アイドル期間と前記第2アイドル期間と前記減算期間とのうち最も短い期間を、前記第2疑似フレーム期間の後の第3疑似フレーム期間において前記データ読出を実行しない第3アイドル期間として算出する期間算出部と、
    前記第3アイドル期間において前記データ回復処理を実行する回復処理部と、
    を含むことを特徴とするメモリ制御装置。
  10. 前記第1疑似フレーム期間及び前記第2疑似フレーム期間を加算した加算値と第1の下限値とを比較する第1の処理と、前記第1アイドル期間及び前記第2アイドル期間と第2の下限値とを比較する第2の比較処理と、を実行する比較処理部をさらに含み、
    前記回復処理部は、前記加算値が前記第1の下限値以上であって、且つ前記第1アイドル期間及び前記第2アイドル期間がいずれも前記第2の下限値以上である場合に、前記データ回復処理を実行する、
    ことを特徴とする請求項9に記載のメモリ制御装置。
JP2015181589A 2015-09-15 2015-09-15 不揮発性メモリのデータ回復方法及びメモリ制御装置 Active JP6479617B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015181589A JP6479617B2 (ja) 2015-09-15 2015-09-15 不揮発性メモリのデータ回復方法及びメモリ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015181589A JP6479617B2 (ja) 2015-09-15 2015-09-15 不揮発性メモリのデータ回復方法及びメモリ制御装置

Publications (2)

Publication Number Publication Date
JP2017058820A true JP2017058820A (ja) 2017-03-23
JP6479617B2 JP6479617B2 (ja) 2019-03-06

Family

ID=58390265

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015181589A Active JP6479617B2 (ja) 2015-09-15 2015-09-15 不揮発性メモリのデータ回復方法及びメモリ制御装置

Country Status (1)

Country Link
JP (1) JP6479617B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110046063A (zh) * 2019-03-29 2019-07-23 惠州Tcl移动通信有限公司 移动终端恢复出厂设置的装置、方法及存储介质
JP2022524535A (ja) * 2019-03-12 2022-05-06 ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング 不揮発性メモリ機構の動作のための方法および装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014123328A (ja) * 2012-12-21 2014-07-03 Mega Chips Corp 半導体記憶装置及びコンピュータシステム
JP2015075931A (ja) * 2013-10-09 2015-04-20 日本放送協会 映像記録装置及び映像記録方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014123328A (ja) * 2012-12-21 2014-07-03 Mega Chips Corp 半導体記憶装置及びコンピュータシステム
JP2015075931A (ja) * 2013-10-09 2015-04-20 日本放送協会 映像記録装置及び映像記録方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022524535A (ja) * 2019-03-12 2022-05-06 ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング 不揮発性メモリ機構の動作のための方法および装置
CN110046063A (zh) * 2019-03-29 2019-07-23 惠州Tcl移动通信有限公司 移动终端恢复出厂设置的装置、方法及存储介质

Also Published As

Publication number Publication date
JP6479617B2 (ja) 2019-03-06

Similar Documents

Publication Publication Date Title
TWI437568B (zh) 改善運作在寬溫度範圍之快閃記憶儲存裝置特性的方法
US7779341B2 (en) NAND flash memory device performing error detecting and data reloading operation during copy back program operation
US9773563B2 (en) Memory controller, memory control method, and coefficient decision method
JP2009289170A (ja) データ処理装置、メモリコントローラ及びそのアクセス制御方法
US9036413B2 (en) Flash memory reference voltage detection with tracking of cross-points of cell voltage distributions using histograms
JP6479617B2 (ja) 不揮発性メモリのデータ回復方法及びメモリ制御装置
CN102568569A (zh) 非易失性存储器件及其高速缓存编程方法
JP2009282923A (ja) 半導体記憶装置及び不揮発性メモリ
CN107203436B (zh) 一种Nand Flash数据校验的方法与装置
KR101205628B1 (ko) 반도체 메모리 장치 및 이의 독출 방법
JP2012133832A (ja) 不揮発性半導体記憶装置、及び読み出し電圧検出方法
KR100630710B1 (ko) 다수개의 페일 비트를 검출할 수 있는 반도체 메모리의페일 비트 검출 장치
US10318210B2 (en) Memory controller, storage device, information processing system, and method of controlling memory
KR100737912B1 (ko) 반도체 메모리 장치의 에러 검출 및 정정 회로
JP2010160724A (ja) メモリ制御システム、メモリ制御方法、メモリ制御プログラム及び記録媒体
JP6523114B2 (ja) メモリ制御装置及びメモリ制御方法
JP6423282B2 (ja) メモリ制御装置及びメモリ制御方法
US8873327B2 (en) Semiconductor device and operating method thereof
TWI643196B (zh) 快閃記憶體裝置及其資料讀取方法
US10050772B2 (en) Method and apparatus for generating standard pattern for data signals
JP6137659B2 (ja) 計量装置および計量データ記録方法
US8205039B2 (en) Nonvolatile semiconductor memory device
JP6357959B2 (ja) 評価プログラム、評価装置および評価方法
US10649830B2 (en) Inspection system, inspection device, and inspection method
CN117437970A (zh) 具有存储器空间单粒子翻转检测能力的星载计算机系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180622

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181225

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: 20190108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190206

R150 Certificate of patent or registration of utility model

Ref document number: 6479617

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150