(57)【要約】【課題】NAND型フラッシュメモリの転送速度と長寿命化を両立させる。【解決手段】NAND型フラッシュメモリの１つのパーティションに、プログラムコードのみを格納しておく。他のパーティションに、プログラムコード以外の各種データのみを格納しておく。適当なタイミングにおいてプログラムコードをパーティション単位で他のパーティションに移動させる。例えば、主電源ON時や省エネモード移行時やタイマー割込み時や移動指示操作入力時を、移動タイミングとする。あるいは、プログラムコード量に対する各種データの量の比率と、各種データの更新回数とに基づいて、プログラムコードの移動タイミングを決める。【選択図】図１
2008225576.tif 000002
【特許請求の範囲】
【請求項１】
プログラムコードのみを格納するためのパーティションとプログラムコード以外の各種データのみを格納するためのパーティションとを同一サイズでＮＡＮＤ型フラッシュメモリに作成する区域分割手段と、プログラムコードをパーティション単位で他のパーティションに移動するとともに各種データをパーティション単位で他のパーティションに移動する移動制御手段と、プログラムコードを移動する移動タイミングを決定するタイミング手段とを具備することを特徴とするＮＡＮＤ型フラッシュメモリの制御装置。
【請求項２】
前記タイミング手段は、主電源のＯＮ時を移動タイミングとする手段を備えることを特徴とする請求項１記載のＮＡＮＤ型フラッシュメモリの制御装置。
【請求項３】
前記タイミング手段は、省エネモード移行時を移動タイミングとする手段を備えることを特徴とする請求項１記載のＮＡＮＤ型フラッシュメモリの制御装置。
【請求項４】
前記タイミング手段は、タイマー割込み時を移動タイミングとする手段を備えることを特徴とする請求項１記載のＮＡＮＤ型フラッシュメモリの制御装置。
【請求項５】
前記タイミング手段は、省エネモードでのタイマー割込み時を移動タイミングとする手段を備えることを特徴とする請求項１記載のＮＡＮＤ型フラッシュメモリの制御装置。
【請求項６】
前記タイミング手段は、操作入力による移動指示時を移動タイミングとする手段を備えることを特徴とする請求項１記載のＮＡＮＤ型フラッシュメモリの制御装置。
【請求項７】
前記タイミング手段は、プログラムコード量に対する各種データ量の比率と各種データの更新回数とに基づいてプログラムコードの移動タイミングを決定する手段を備えることを特徴とする請求項１記載のＮＡＮＤ型フラッシュメモリの制御装置。
【請求項８】
ＮＡＮＤ型フラッシュメモリ内のプログラムコードの格納位置を示すパーティションテーブルを備えることを特徴とする請求項１記載のＮＡＮＤ型フラッシュメモリの制御装置。
【請求項９】
前記移動制御手段は、複数のＮＡＮＤ型フラッシュメモリ間でプログラムコードの移動を行う手段を備えることを特徴とする請求項１記載のＮＡＮＤ型フラッシュメモリの制御装置。
【請求項１０】
前記区域分割手段は、プログラムコード量が各種データの量より多い場合にプログラムコードを格納するための複数のパーティションを作成する手段を備えることを特徴とする請求項１記載のＮＡＮＤ型フラッシュメモリの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、NAND型フラッシュメモリの制御装置に関し、特に、コピー機やFAXやプリンタに用いるNAND型フラッシュメモリの制御装置に関する。
【背景技術】
【０００２】
従来、プログラムの実行にはランダムアクセスが必須であるため、プログラム格納用不揮発メモリとしては、NOR型フラッシュメモリが採用されている。最近では、機器のアプリケーションが増大したことにより、プログラム容量も肥大化している。そのため、大容量でビット単価が安いNAND型フラッシュメモリをプログラム格納に採用するケースが増えてきている。プログラム格納の他にも、システムの設定データやユーザーデータや画像データ等のデータ格納としても使われている。
【０００３】
NAND型フラッシュメモリは、ブロック単位で高速に消去するので書込みが速いが、ランダムアクセスができないことや、ブロック単位での消去（書換え）回数に制限があり、寿命の尽きたバッドブロックが存在するという不利な点がある。１つのブロックは、10万回程度の書換えで寿命が尽きる。すると、そのブロックはバッドブロックになって使えなくなり、使用可能なブロック（容量）が減ってしまう。これに対処するために、バッドブロックを管理し、論理アドレスと物理アドレスを変換し、各ブロックの書換え回数を均一化するウエアレベリングを行い、ガーベージコレクションを行う等の手段が使われている。これらをホスト側のソフトウエアで行うと、ドライバソフトウエアの処理負荷が重くなり、システムのパフォーマンスが低下するため、これらの機能が搭載されている汎用のNAND型フラッシュメモリ用コントロールICを使う。
【０００４】
NAND型フラッシュメモリのブロック均一化（ウエアレベリング）方式には２つある。動的制御（ダイナミックウエアレベリング）と静的制御（スタティックウエアレベリング）である。スタティックウエアレベリングは、静的領域（プログラムデータ等の書換えのない領域）も随時移動し、パーティションに跨る領域も最適化を行うことで、メモリ全体のブロックを有効に使用できるようにする方法である。ダイナミックウエアレベリングより、フラッシュメモリを長寿命化できる。以下に、これに関連する従来技術の例をあげる。
【０００５】
特許文献１に開示された「システム」は、一様なウエアレベルをフラッシュメモリメディアで達成するためのシステムである。システムが、アドレス指定可能な位置を有するフラッシュメモリをサポートする。このシステムはコンパクタを使用する。ブロックとして編成されたフラッシュメモリ位置の円形シーケンス中を周期的に進む。メモリ位置中を進むときにブロックをクリアする。システムが書込ポインタを使用し、これはフラッシュメモリ位置の円形シーケンス中を進む。書込ポインタは、データを受信するために空いている１つまたは複数のメモリ位置を、書込ポインタが進んだ後に指示する。したがって、クリアおよび書込オペレーションが、連続かつ反復する円形の方法で処理されて、一様なウエアレベリングがフラッシュメモリメディア中で達成される。
【０００６】
特許文献２に開示された「画像形成装置」は、フラッシュメモリのプログラムバージョンアップ動作時以外では、その空き領域を他のデバイスのアドレス空間として割り当てることにより、CPUのアドレス空間の有効利用を図るものである。ICカード接続検知手段とプログラム書き換え実行設定手段とを有し、ICカードが接続され且つプログラム書き換えが設定されている場合のみICカードとフラッシュメモリをCPUのアドレス空間上に割り当て、それ以外の状態ではICカードあるいはフラッシュメモリ何れか一方のみをCPUのアドレス空間上に割り当て、使用されないアドレス空間には画像メモリ領域を拡張して割り当てる。
【０００７】
特許文献３に開示された「フラッシュROM制御装置」は、同一論理アドレスに対する書換え回数を世代番号で管理することによって、処理の高速化とフラッシュROMの製品寿命を長くすることのできるものである。ホストとフラッシュROM間に論理→物理変換テーブルと物理→論理変換テーブルとを設け、論理→物理変換テーブルには、同一論理クラスタアドレス（同一論理アドレス）に対応する物理クラスタ番号（物理アドレス）を記憶し、これをクラスタデータの書換えごとに変更していくとともに、さらに、物理クラスタ番号の変更回数を世代番号として記憶する。世代番号が最大値になると物理→論理変換テーブルを参照して対応の物理クラスタ番号を全て無効化する無効化処理を行う。
【特許文献１】特開2003-256289号公報
【特許文献２】特開2003-308525号公報
【特許文献３】特開2005-115561号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、従来のウエアレベリング方法には、次のような問題がある。データの移動中に電源断があっても、プログラムコードや各種データが消失しないように保証するためには、複雑な制御が必要である。そのために、NAND型フラッシュメモリのパフォーマンスが低下して、実効的な転送速度が下がる。
【０００９】
本発明の目的は、上記従来の問題を解決して、NAND型フラッシュメモリの転送速度と長寿命化を両立させることである。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために、本発明では、NAND型フラッシュメモリの制御装置を、プログラムコードを格納するためのパーティションとプログラムコード以外の各種データを格納するためのパーティションとを作成する区域分割手段と、プログラムコードをパーティション単位で他のパーティションに移動する移動制御手段と、プログラムコードを移動する移動タイミングを決定するタイミング手段とを具備する構成とした。
【００１１】
また、タイミング手段は、主電源のON時を移動タイミングとする手段か、省エネモード移行時を移動タイミングとする手段か、タイマー割込み時を移動タイミングとする手段か、省エネモードでのタイマー割込み時を移動タイミングとする手段か、操作入力による移動指示時を移動タイミングとする手段か、プログラムコード量に対する各種データ量の比率と各種データの更新回数とに基づいてプログラムコードの移動タイミングを決定する手段を備える。さらに、NAND型フラッシュメモリ内のプログラムコードの格納位置を示すパーティションテーブルを備える。移動制御手段は、複数のNAND型フラッシュメモリ間でプログラムコードの移動を行う手段を備える。区域分割手段は、プログラムコード量が各種データの量より多い場合にプログラムコードを格納するための複数のパーティションを作成する手段を備える。
【発明の効果】
【００１２】
上記のように構成したことにより、NAND型フラッシュメモリの転送速度を落とすことなく、各種データの書換え回数を多くできる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明を実施するための最良の形態について、図１〜図９を参照しながら詳細に説明する。
【実施例】
【００１４】
本発明の実施例は、NAND型フラッシュメモリに格納されたプログラムコードを、適当なタイミングにおいてパーティション単位で別のパーティションに移動させるNAND型フラッシュメモリ制御装置である。
【００１５】
図１は、本発明の実施例におけるNAND型フラッシュメモリ制御装置を利用する装置の機能ブロック図と、NAND型フラッシュメモリ制御装置とNAND型フラッシュメモリの接続図である。図１において、CPU100は、利用装置の全体を制御する演算制御装置である。DRAM101は、一時メモリである。NAND CTL102は、NAND型フラッシュメモリ制御装置である。NAND Flash103は、NAND型フラッシュメモリである。NOR Flash104は、NOR型フラッシュメモリである。SDカード105は、外部接続の不揮発性メモリカードである。
【００１６】
図２は、ソフトウエア構成図と、NAND型フラッシュメモリの論理−物理メモリマップの概念図である。図３は、ウエアレベリングの比較を示す図と、プログラム領域移動の概念図である。図４は、プログラムを複数クラスタサイズで分割したプログラムブロック図と、パーティションの内容を示すパーティションテーブルである。図５は、プログラム移動概要図である。図６は、プログラムをブロック単位で移動する手順を示す図である。図７は、プログラムブロック移動の処理手順を示すフローチャートである。図８は、省エネモードでのプログラムブロック移動の処理手順を示す流れ図である。図９は、バージョンアップ時のプログラムブロック移動の処理手順を示す流れ図である。
【００１７】
上記のように構成された本発明の実施例におけるNAND型フラッシュメモリ制御装置の機能と動作を説明する。最初に、機能の概要を説明する。ブロック単位（ハード消去単位）で記憶データが消去されるNAND型フラッシュメモリを、NAND型フラッシュメモリコントローラで制御する。NAND型フラッシュメモリの記憶領域を、複数のパーティションに分割する。プログラムコードと各種データを、同一サイズの別のパーティションに格納する。プログラムコードを、適当な移動タイミングにおいてパーティション単位で別のパーティションに移動させる。１つのパーティションのすべてのデータを、他のパーティションに移動させるが、移動の際には、ブロック単位でコピーと消去を繰り返す。移動タイミングとしては、主電源のON時か、省エネモード移行時か、タイマー割込み時か、省エネモード中のタイマー割込み時か、オペレーションパネルからの移動指示時などとする。または、プログラムコード量に対する各種データ量の比率と各種データの更新回数とに基づいて、プログラムコードの移動タイミングを決める。具体的には例えば、各種データ量の比率が小さければ、各種データの更新回数が少なくても移動を行う。こうすることにより、各パーティションの平均の更新回数を少なくできる。
【００１８】
NAND型フラッシュメモリコントローラに複数のNAND型フラッシュメモリが接続されているときでも、それらの間で物理的デバイスを跨いでプログラムコードの移動を行う。プログラムコード量が各種データの量より多い時は、プログラムコード用のパーティションを複数に分割する。分割されたパーティション間でプログラムコードを移動する。プログラムを外部媒体により更新する時、外部媒体に格納されている更新プログラムローダーは、NAND型フラッシュメモリ内のプログラムエリア位置を示すパーティションテーブルから、プログラムを書き込む位置を識別して、プログラムを更新する。
【００１９】
次に、図１を参照しながら、NAND型フラッシュメモリ制御装置について説明する。図１（ａ）は、利用装置の制御基板の構成を示す機能ブロック図である。装置全体を制御するCPU100に、データを一時的に記憶するDRAM101と、不揮発性メモリカードであるSDカード105と、NOR型フラッシュメモリであるNOR Flash104と、NAND型フラッシュメモリを制御するNAND CTL102と、NAND型フラッシュメモリであるNAND Flash103が接続されている。NAND CTL102とNAND Flash103は、図１（ｂ）に示す構成をしている。NAND Flash103は、記憶データがブロック単位で消去される。NAND CTL102は、NAND Flash103に対して、データの書込みと読出しと消去とを行う。NAND CTL102は、NAND Flash103に、プログラムコードを格納するためのパーティションと、プログラムコード以外の各種データを格納するためのパーティションとを作成する。プログラムコードのみをあるパーティションに格納する。各種データを別のパーティションに格納する。１つのパーティションには、プログラムコードのみかデータのみを格納し、混在させることはない。プログラムコードを移動する移動タイミングを決定して、プログラムコードをパーティション単位で他のパーティションに移動する。
【００２０】
次に、図２を参照しながら、ソフトウエア構成と、一般的NANDメモリの論理−物理メモリマップについて説明する。図２（ａ）のソフトウエア構成図に示すように、フラッシュドライバとFFS（FATファイルシステム）は、一般的にはNAND CTL102内のファームウエアに実装される。ホスト側とは、OS若しくはローダー部で接続され、その中にメモリ管理部（パーティションテーブル、プログラム移動モジュール部）が実装されている。
【００２１】
図２（ｂ）は、一般的な論理−物理アドレスマップ図である。ホスト側のFFS上の論理的なメモリマップでは、データがクラスタという単位で扱われる。クラスタサイズは４KB〜32KBである。クラスタサイズは小さい方が領域を有効に扱えるが、Disk最大容量は小さくなる。ここでは、クラスタサイズを８KBとして説明する。一方、フラッシュメモリは、ハード消去単位のブロックと、書込み単位のページエリアから構成される。ラージブロックフラッシュとスモールブロックフラッシュが存在する。半導体プロセスシュリンクと大容量化に伴い、ラージブロック品が主流になりつつある。ここでは、ラージブロック（128KB）を例にして説明する。ソフトウエアで扱う単位はクラスタ（８KB）であるため、物理的には、フラッシュメモリの１ブロック内には、16個のクラスタが存在することになる。この論理クラスタと物理的なクラスタの関係は、フラッシュドライバソフト内の論理−物理アドレス変換テーブルで管理される。データ更新があると、FFS又はNAND CTL102のハードウエアは、NAND型フラッシュメモリのブロック寿命を延ばす目的と書込み速度を向上させる目的で、随時この変換テーブルを書き換えて最適化を行っている。これをウエアレベリングと呼ぶ。
【００２２】
次に、図３を参照しながら、ウエアレベリングの概念を説明する。データ領域をパーティション１に割り当て、プログラム領域をパーティション２に割り当てた場合、動的ウエアレベリングでは、パーティション内でのレベリングになるため、データ更新が頻繁にあるパーティション１内での最適化動作となる。静的ウエアレベリングでは、パーティションに関係なく、フラッシュ領域全体でブロック最適化を行うため、ブロック利用の長寿命化が可能になる。ただし、パーティションを跨いでブロックを置換する動作では、データコヒーレンシを確保する等の複雑な処理が必要である。例えば、置換処理中に電源が遮断されても、プログラムコード等の重要データの信頼性を確保できるように、データを２重化する処理が加わるので、データ転送速度が遅くなる。
【００２３】
次に、図４を参照しながら、プログラムブロックについて説明する。図４（ａ）は、プログラムのブロック化の説明図である。あるパーティション内に格納されているプログラムコードを任意のサイズに分割して、プログラムコードの置換を容易にする。プログラムブロックサイズ＝１MBとする。１プログラムブロックは、８個のフラッシュメモリ物理ブロックで構成される。図４（ｂ）に、パーティションテーブルを示す。NAND型フラッシュメモリのあるエリアに格納される。パーティションを大きく分類すると、予備（空き）エリアと、データエリアと、プログラム領域になる。
【００２４】
次に、図５を参照しながら、パーティションの作成方法を説明する。図５（ａ）は、プログラムサイズがデータ領域より小さい場合のプログラム移動（置換）の概略図である。データ領域をパーティション１に、プログラム領域をパーティション２にアサインし、各パーティションのサイズを、データ領域サイズ（ｎ）とした場合である。プログラム移動は、パーティション１とパーティション２の間を、トグルで移動するように行われる。図５（ｂ）は、プログラムサイズがデータ領域より大きい場合のプログラム移動（置換）の概略図である。プログラムデータは、データ領域のパーティション（PAT１）サイズで分割される。分割された１つのプログラム領域を、１つのパーティションに格納する。プログラム移動は、パーティション単位で実行される。最初は、プログラム領域１とデータ領域間の置換となる。次は、プログラム領域２とデータ領域２の置換となる。この動作を、プログラム領域Ｎまで繰り返し、またプログラム領域１の置換に戻る。
【００２５】
次に、図６を参照しながら、プログラムブロック移動の詳細を説明する。PAT０を空きエリア、PAT１をデータエリア、PAT２をプログラムエリアとアサインする。PAT１とPAT２は、任意のブロック単位で分割される。この場合、プログラムブロックサイズ＝１MBとする。プログラムサイズが50MBのときは、ブロック数は50となる。PAT０は、データ置換を行う際に使用する空きブロックである。最低１プログラムブロックサイズ（この場合１MB＝８物理ブロック）必要になる。説明を分かりやすくするために、各プログラムブロックやデータブロックが連続した構成となっているが、実際は、ウエアレベリング等により、ブロック番号は連続しないようになる。ただ、ホスト側のソフトウエアからみた論理アドレスは連続している。また、実際のプログラムブロックの置換の流れの<1>〜<6>は、図７に示すフローチャートの通りである。
【００２６】
次に、図７を参照しながら、プログラムブロック移動の手順を説明する。ステップ１で、ブートローダによりブート処理を行う。ステップ２で、システムを起動する。ステップ３で、プログラム移動フラグを調べる。フラグが１であれば、ステップ12〜19で、プログラムコードを移動する。フラグが０であれば、ステップ４で、ジョブがあるかどうか調べる。ジョブがあれば、ステップ５で、各ジョブを処理する。ジョブがなければ、ステップ３に戻る。ジョブの処理が終れば、ステップ６で、NAND型フラッシュメモリのデータが更新されたかどうか調べる。データ更新は、ユーザーデータ更新や、機器情報更新や、画像蓄積などである。更新されていなければ、ステップ３に戻る。更新されていれば、ステップ７で、NAND型フラッシュメモリにデータを書き込む。ステップ８で、NAND型フラッシュメモリのアクセスカウンタを更新する。ステップ９で、NAND型フラッシュメモリのアクセスカウンタの値が、書換え回数リミット値を超えているかどうか調べる。超えていなければ、ステップ３に戻る。超えていれば、ステップ10で、プログラム移動フラグを１にする。ステップ11で、電源OFFかどうか調べる。電源OFFでなければ、ステップ３に戻る。電源OFFであれば終了する。
【００２７】
ステップ12で、データブロック０を、PAT０の空きエリアにコピーする。ステップ13で、パーティションテーブルを更新する。ステップ14で、もとのパーティション１のデータブロック０のデータを消去し、そのエリアにパーティション２のプログラムブロック０をコピーする。ステップ15で、パーティションテーブルを更新する。ステップ16で、もとのパーティション２のデータブロック０のデータを消去し、そのエリアにパーティション０のプログラムブロック０をコピーする。ステップ17で、パーティションテーブルを更新する。ステップ18で、プログラムブロックが最終ブロックかどうか調べる。最終ブロックでなければ、ステップ12に戻り、次のデータブロックを処理する。最終ブロックであれば、ステップ19で、プログラム移動フラグを０にして、パーティションテーブルを更新し、ステップ４に行く。
【００２８】
次に、図８を参照しながら、省エネモードの場合の処理手順を説明する。置換の割込みのタイマーとして、CPU100等に内蔵されたRTC（リアルタイムクロック）に、予め割込み周期を設定しておく。電源をONしてシステムを起動した後、機器の省エネモードに移行すると、RTCの置換割込みビットを参照する。割込みが入っていると、NAND型フラッシュメモリ等の不揮発媒体に格納されているプログラム移動FLAGビットをON（“１”）にする。省エネ中にプログラム移動FLAGビットが立つと、プログラム移動モジュールに移り、<1>〜<6>の手順でプログラムデータの移動を行う。
【００２９】
ステップ21で、ブートローダによりブート処理を行う。ステップ22で、システムを起動する。ステップ23で、省エネモードに移行するかどうか調べる。省エネモードに移行するのでなければ、ステップ23に戻る。省エネモードに移行するのであれば、ステップ24で、省エネモードに移行する。ステップ25で、プログラム移動フラグを調べる。フラグが１であれば、ステップ12〜19で、プログラムコードを移動する。この処理は、図７と同じである。フラグが０であれば、ステップ26で、置換割込みがあるかどうか調べる。割込みがあれば、ステップ27で、プログラム移動フラグを１にする。ステップ28で、省エネから復帰するかどうか調べる。復帰するのでなければ、ステップ25に戻る。復帰するのであれば、ステップ29で、電源OFFかどうか調べる。電源OFFでなければ、ステップ23に戻る。電源OFFであれば終了する。
【００３０】
次に、図９を参照しながら、バージョンアップの場合の処理手順を説明する。外部記憶媒体（例えばSDカード）からNAND型フラッシュメモリ中のプログラムを更新する際、まず、電源ON後に、NOR Flash104からブートし、SDカード内の更新プログラムローダーがコールされて実行される。複数のプログラムを更新する場合、まず、１番目のプログラム本体のNOと一致するプログラム領域をパーティションテーブルから読み出し、そのパーティション領域に１番目のプログラムを書き込む。その処理をプログラムＮ個分実施する。
【００３１】
ステップ31で、ブートローダによりブート処理を行う。ステップ32で、外部のバージョンアッププログラムローダを起動する。ステップ33で、プログラムナンバーＮのパーティションテーブルを読み込む。ステップ34で、プログラムナンバーＮの本体を、パーティションテーブルが示すパーティションエリアに書き込む。ステップ35で、全プログラムの更新が終了したかどうか調べる。終了していなければ、ステップ33に戻る。終了していれば、ステップ36で、電源OFFかどうか調べる。電源OFFでなければ、ステップ36に戻る。電源OFFであれば終了する。
【００３２】
上記のように、本発明の実施例では、NAND型フラッシュメモリ制御装置を、NAND型フラッシュメモリに格納されたプログラムコードを、適当なタイミングにおいてパーティション単位で別のパーティションに移動させる構成としたので、NAND型フラッシュメモリの転送速度を低下させることなく、データの書換え回数を多くできる。
【産業上の利用可能性】
【００３３】
本発明のNAND型フラッシュメモリの制御装置は、コピーやFAXやプリンタに用いるNAND型フラッシュメモリの制御装置として最適である。PCやネットワーク機器やモバイル機器やデジタル家電機器のNAND型フラッシュメモリの制御装置としても使用できる。
【図面の簡単な説明】
【００３４】
【図１】本発明の実施例におけるNAND型フラッシュメモリ制御装置の機能ブロック図と、NANDコントロールICとNANDフラッシュメモリの接続構成図である。
【図２】本発明の実施例におけるNAND型フラッシュメモリ制御装置のソフトウエア構成図と、一般的NANDメモリの論理−物理メモリマップ概念図である。
【図３】本発明の実施例におけるNAND型フラッシュメモリ制御装置のウエアレベリングの比較及びプログラム領域移動の全体概念図である。
【図４】本発明の実施例におけるNAND型フラッシュメモリ制御装置のプログラムを複数クラスタサイズで分割したプログラムブロック図と、パーティションの内容を示すパーティションテーブルである。
【図５】本発明の実施例におけるNAND型フラッシュメモリ制御装置のプログラム移動概要図である。
【図６】本発明の実施例におけるNAND型フラッシュメモリ制御装置で、プログラムをブロック単位で移動する処理手順を示す図である。
【図７】本発明の実施例におけるNAND型フラッシュメモリ制御装置で、プログラムブロックを移動する処理手順を示す流れ図である。
【図８】本発明の実施例におけるNAND型フラッシュメモリ制御装置で、省エネモードの場合にプログラムブロックを移動する処理手順を示す流れ図である。
【図９】本発明の実施例におけるNAND型フラッシュメモリ制御装置で、バージョンアップする場合のプログラムブロック移動の処理手順を示す流れ図である。
【符号の説明】
【００３５】
100…CPU、101…DRAM、102…NAND CTL、103…NAND Flash、104…NOR Flash、105…SDカード。
【図１】
2008225576.tif 000003
【図２】
2008225576.tif 000004
【図３】
2008225576.tif 000005
【図４】
2008225576.tif 000006
【図５】
2008225576.tif 000007
【図６】
2008225576.tif 000008
【図７】
2008225576.tif 000009
【図８】
2008225576.tif 000010
【図９】
2008225576.tif 000011