(57)【要約】【課題】起動時間を短縮する。【解決手段】読み書き制御部は、データの消去が行われる単位をブロックとして、複数のブロックを有する不揮発性メモリに対するデータの書き込み及び読み出しを制御する。不揮発性メモリは、データを書き込むブロックの順番を表す順番情報を記憶し、読み書き制御部は、順番情報が表す順番に従って、データを書き込む対象のブロックである書き込み対象ブロックを選択し、データを書き込む。本技術は、例えば、フラッシュメモリ等の不揮発性メモリの制御等に適用することができる。【選択図】図１９
2014126989.tif 000002
【特許請求の範囲】
【請求項１】
データの消去が行われる単位をブロックとして、複数の前記ブロックを有する不揮発性メモリに対するデータの書き込み及び読み出しを制御する読み書き制御部を備え、
前記不揮発性メモリは、データを書き込む前記ブロックの順番を表す順番情報を記憶し、
前記読み書き制御部は、前記順番情報が表す順番に従って、データを書き込む対象のブロックである書き込み対象ブロックを選択し、データを書き込む
制御装置。
【請求項２】
前記読み書き制御部は、
前記不揮発性メモリのフォーマット時に、所定の順番を表す前記順番情報を、前記不揮発性メモリに書き込み、
データが書き込み済みの前記ブロックの数が、あらかじめ決められた閾値以上になった場合、前記順番情報を、ランダムな順番を表すように書き換える
請求項１に記載の制御装置。
【請求項３】
論物変換テーブルを作成する作成部をさらに備え、
データの書き込み及び読み出しが行われる単位をページとして、前記ブロックは、複数の前記ページを有し、
論理的な記憶領域を物理的な記憶領域に変換する論物変換を行う単位を、TU(Translation Unit)として、前記不揮発性メモリは、１以上の前記ページからなる物理的なTUである物理TUに、その物理TUに割り当てられている論理的なTUである論理TUを特定する論理TU番号を記憶し、
前記ブロックに含まれる前記物理TUのうちの所定の物理TUは、そのブロックに含まれる前記物理TUのすべてに前記論理TUが割り当てられている場合に、前記ブロックに含まれる前記物理TUそれぞれに割り当てられている前記論理TUの前記論理TU番号すべてを記憶し、
前記作成部は、前記物理TUから読み出された前記論理TU番号に基づいて、前記論理TUを前記物理TUに変換するための前記論物変換テーブルを作成し、
前記読み書き制御部は、前記論物変換テーブルの作成時に、
前記ブロックの前記所定の物理TUからの前記論理TU番号の読み出しを最初に行い、
前記所定の物理TUに、前記論理TU番号が記憶されていない場合、前記ブロックの他の物理TUからの前記論理TU番号の読み出しを行う
請求項２に記載の制御装置。
【請求項４】
前記読み書き制御部は、前記論物変換テーブルの作成時に、前記順番情報が前記所定の順番を表す場合には、
その所定の順番で、前記不揮発性メモリが有する前記ブロックから、注目する注目ブロックを選択し、
前記注目ブロックに含まれる前記物理TUからの前記論理TU番号の読み出しを行い、
前記注目ブロックに、前記論理TU番号が記憶されていない前記物理TUがある場合、その注目ブロックで、前記論理TU番号の読み出しを終了する
請求項３に記載の制御装置。
【請求項５】
前記読み書き制御部は、前記論物変換テーブルの作成時に、前記順番情報がランダムな順番を表す場合には、
前記不揮発性メモリが有する前記ブロックすべてを、順次、前記注目ブロックに選択し、
前記注目ブロックに含まれる前記物理TUからの前記論理TU番号の読み出しを行う
請求項４に記載の制御装置。
【請求項６】
前記ブロックに含まれる前記物理TUには、前記物理TUを特定する物理TU番号の番号順に、データが書き込まれ、
前記所定の物理TUは、最後にデータが書き込まれる前記物理TUである
請求項４に記載の制御装置。
【請求項７】
前記読み書き制御部は、前記不揮発性メモリのフォーマット時に、前記ブロックを特定するブロック番号の番号順を表す前記順番情報を、前記不揮発性メモリに書き込む
請求項４に記載の制御装置。
【請求項８】
前記読み書き制御部は、データが書き込み済みの前記ブロックの数が、あらかじめ決められた閾値以上になった場合、前記順番情報を消去することで、前記順番情報を、ランダムな順番を表すように書き換える
請求項４に記載の制御装置。
【請求項９】
前記不揮発性メモリをさらに備える
請求項４に記載の制御装置。
【請求項１０】
データの消去が行われる単位をブロックとして、複数の前記ブロックを有する不揮発性メモリに対するデータの書き込み及び読み出しを制御する読み書き制御部を備え、
前記不揮発性メモリが、データを書き込む前記ブロックの順番を表す順番情報を記憶する
制御装置の前記読み書き制御部が、前記順番情報が表す順番に従って、データを書き込む対象のブロックである書き込み対象ブロックを選択し、データを書き込む
ステップを含む制御方法。
【請求項１１】
データの消去が行われる単位をブロックとして、複数の前記ブロックを有する不揮発性メモリに対するデータの書き込み及び読み出しを制御する読み書き制御部
として、コンピュータを機能させるプログラムであり、
前記不揮発性メモリは、データを書き込む前記ブロックの順番を表す順番情報を記憶し、
前記読み書き制御部は、前記順番情報が表す順番に従って、データを書き込む対象のブロックである書き込み対象ブロックを選択し、データを書き込む
プログラム。
【請求項１２】
データの消去が行われる単位をブロックとして、複数の前記ブロックを有する不揮発性メモリに対するデータの書き込み及び読み出しを制御する読み書き制御部と、
物理TU(Translation Unit)に、論理TUを割り当てる割り当て部と
を備え、
データの書き込み及び読み出しが行われる単位をページとして、前記ブロックは、複数の前記ページを有し、
論理的な記憶領域を物理的な記憶領域に変換する論物変換を行う単位を、TUとして、前記不揮発性メモリは、１以上の前記ページからなる物理的なTUである前記物理TUに、その物理TUに割り当てられている論理的なTUである前記論理TUを特定する論理TU番号を記憶し、
前記ブロックに含まれる前記物理TUのうちの所定の物理TUは、そのブロックに含まれる前記物理TUのすべてに前記論理TUが割り当てられている場合に、前記ブロックに含まれる前記物理TUそれぞれに割り当てられている前記論理TUの前記論理TU番号すべてを記憶し、
データが書き込み済みの前記ブロックの数が、あらかじめ決められた閾値以上でない場合、
前記割り当て部は、未書き込みの前記物理TUを含む前記ブロックから選択された、注目する注目ブロックに含まれる前記物理TUのうちの、前記論理TUが割り当てられていない前記物理TUすべてに、前記論理TUを割り当て、
前記読み書き制御部は、前記注目ブロックに含まれる前記物理TUそれぞれに割り当てられている前記論理TUの前記論理TU番号すべてを、前記注目ブロックに含まれる前記所定の物理TUに書き込む
制御装置。
【請求項１３】
前記読み書き制御部は、さらに、前記注目ブロックに含まれる、前記所定の物理TUの他の物理TUに、その物理TUに割り当てられている前記論理TUの前記論理TU番号を書き込む
請求項１２に記載の制御装置。
【請求項１４】
前記物理TUから読み出された前記論理TU番号に基づいて、前記論理TUを前記物理TUに変換するための前記論物変換テーブルを作成する作成部をさらに備え、
前記読み書き制御部は、前記論物変換テーブルの作成時に、
前記ブロックの前記所定の物理TUからの前記論理TU番号の読み出しを最初に行い、
前記所定の物理TUに、前記論理TU番号が記憶されていない場合、前記ブロックの他の物理TUからの前記論理TU番号の読み出しを行う
請求項１３に記載の制御装置。
【請求項１５】
前記ブロックに含まれる前記物理TUには、前記物理TUを特定する物理TU番号の番号順に、データが書き込まれ、
前記所定の物理TUは、最後にデータが書き込まれる前記物理TUである
請求項１４に記載の制御装置。
【請求項１６】
前記不揮発性メモリをさらに備える
請求項１４に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、制御装置、制御方法、及び、プログラムに関し、特に、例えば、NANDフラッシュメモリ等の不揮発性メモリに対するデータの書き込み及び読み出しを行うことができるようになるまでの起動時間を短縮することができるようにする制御装置、制御方法、及び、プログラムに関する。
【背景技術】
【０００２】
例えば、NANDフラッシュメモリについては、書き込み、読み出し、消去が、電気的な操作として行われる。
【０００３】
なお、NANDフラッシュメモリでは、書き込みは、ビットを"1"から"0"の一方向に変更する操作であり、そのため、ビットを"1"にする消去を行ってから、データの書き込みを行う必要がある。
【０００４】
また、NANDフラッシュメモリでは、データの書き込み及び読み出しは、ページと呼ばれる記憶領域の単位で行われ、消去は、ブロックと呼ばれる記憶領域の単位で行われる。ここで、ブロックは、複数のページで構成される。
【０００５】
ところで、NANDフラッシュメモリを利用するファイルシステム（さらには、アプリケーション）から、消去をブロック単位で行うことや、データの書き込み及び読み出しを、ページ単位で制御することは、不便である。
【０００６】
そこで、各ブロックの１以上のページを、TU(Translation Unit)として、そのTUの単位で、論理アドレスを物理アドレスに変換する論物変換を行うことにより、NANDフラッシュメモリに対するデータの書き込み及び読み出しを制御するライブラリ（レイヤ）を実装することが提案されている（例えば、特許文献１及び２を参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第4535117号公報
【特許文献２】特開2012-133655号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
NANDフラッシュメモリ等の不揮発性メモリに対するデータの書き込み及び読み出しを制御するライブラリでは、起動時に、不揮発性メモリから情報を読み出し、その情報に基づいて、論物変換に用いる論物変換テーブルが作成される。
【０００９】
しかしながら、不揮発性メモリのデータの書き込み状態によっては、論物変換テーブルの作成に用いられる情報を、不揮発性メモリから読み出すのに、時間を要することがある。この場合、不揮発性メモリに対するデータの書き込み及び読み出しを行うことができるようになるまでの起動時間が長くなる。
【００１０】
本技術は、このような状況に鑑みてなされたものであり、不揮発性メモリに対するデータの書き込み及び読み出しを行うことができるようになるまでの起動時間を短縮することができるようにするものである。
【課題を解決するための手段】
【００１１】
本技術の制御装置、又は、プログラムは、データの消去が行われる単位をブロックとして、複数の前記ブロックを有する不揮発性メモリに対するデータの書き込み及び読み出しを制御する読み書き制御部を備え、前記不揮発性メモリは、データを書き込む前記ブロックの順番を表す順番情報を記憶し、前記読み書き制御部は、前記順番情報が表す順番に従って、データを書き込む対象のブロックである書き込み対象ブロックを選択し、データを書き込む制御装置、又は、そのような制御装置として、コンピュータを機能させるためのプログラムである。
【００１２】
本技術の制御方法は、データの消去が行われる単位をブロックとして、複数の前記ブロックを有する不揮発性メモリに対するデータの書き込み及び読み出しを制御する読み書き制御部を備え、前記不揮発性メモリが、データを書き込む前記ブロックの順番を表す順番情報を記憶する制御装置の前記読み書き制御部が、前記順番情報が表す順番に従って、データを書き込む対象のブロックである書き込み対象ブロックを選択し、データを書き込むステップを含む制御方法である。
【００１３】
以上のような本技術の制御装置、制御方法、及び、プログラムにおいては、データの消去が行われる単位をブロックとして、複数の前記ブロックを有する不揮発性メモリに対するデータの書き込み及び読み出しが制御される。すなわち、前記不揮発性メモリには、データを書き込む前記ブロックの順番を表す順番情報が記憶され、前記順番情報が表す順番に従って、データを書き込む対象のブロックである書き込み対象ブロックが選択され、データが書き込まれる。
【００１４】
本技術の他の制御装置は、データの消去が行われる単位をブロックとして、複数の前記ブロックを有する不揮発性メモリに対するデータの書き込み及び読み出しを制御する読み書き制御部と、物理TU(Translation Unit)に、論理TUを割り当てる割り当て部とを備え、データの書き込み及び読み出しが行われる単位をページとして、前記ブロックは、複数の前記ページを有し、論理的な記憶領域を物理的な記憶領域に変換する論物変換を行う単位を、TUとして、前記不揮発性メモリは、１以上の前記ページからなる物理的なTUである前記物理TUに、その物理TUに割り当てられている論理的なTUである前記論理TUを特定する論理TU番号を記憶し、前記ブロックに含まれる前記物理TUのうちの所定の物理TUは、そのブロックに含まれる前記物理TUのすべてに前記論理TUが割り当てられている場合に、前記ブロックに含まれる前記物理TUそれぞれに割り当てられている前記論理TUの前記論理TU番号すべてを記憶し、データが書き込み済みの前記ブロックの数が、あらかじめ決められた閾値以上でない場合、前記割り当て部は、未書き込みの前記物理TUを含む前記ブロックから選択された、注目する注目ブロックに含まれる前記物理TUのうちの、前記論理TUが割り当てられていない前記物理TUすべてに、前記論理TUを割り当て、前記読み書き制御部は、前記注目ブロックに含まれる前記物理TUそれぞれに割り当てられている前記論理TUの前記論理TU番号すべてを、前記注目ブロックに含まれる前記所定の物理TUに書き込む制御装置である。
【００１５】
以上のような他の制御装置においては、データの消去が行われる単位をブロックとして、複数の前記ブロックを有する不揮発性メモリに対するデータの書き込み及び読み出しが制御され、また、物理TU(Translation Unit)に、論理TUが割り当てられる。ここで、データの書き込み及び読み出しが行われる単位をページとして、前記ブロックは、複数の前記ページを有し、論理的な記憶領域を物理的な記憶領域に変換する論物変換を行う単位を、TUとして、前記不揮発性メモリは、１以上の前記ページからなる物理的なTUである前記物理TUに、その物理TUに割り当てられている論理的なTUである前記論理TUを特定する論理TU番号を記憶する。また、前記ブロックに含まれる前記物理TUのうちの所定の物理TUは、そのブロックに含まれる前記物理TUのすべてに前記論理TUが割り当てられている場合に、前記ブロックに含まれる前記物理TUそれぞれに割り当てられている前記論理TUの前記論理TU番号すべてを記憶する。かかる場合において、データが書き込み済みの前記ブロックの数が、あらかじめ決められた閾値以上でないとき、未書き込みの前記物理TUを含む前記ブロックから選択された、注目する注目ブロックに含まれる前記物理TUのうちの、前記論理TUが割り当てられていない前記物理TUすべてに、前記論理TUが割り当てられ、前記注目ブロックに含まれる前記物理TUそれぞれに割り当てられている前記論理TUの前記論理TU番号すべてが、前記注目ブロックに含まれる前記所定の物理TUに書き込まれる。
【００１６】
なお、制御装置は、独立した装置であっても良いし、１つの装置を構成している内部ブロックであっても良い。
【００１７】
また、プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
【発明の効果】
【００１８】
本技術によれば、不揮発性メモリに対するデータの書き込み及び読み出しを行うことができるようになるまでの起動時間を短縮することが可能になる。
【図面の簡単な説明】
【００１９】
【図１】本技術を適用したTVの一実施の形態のハードウェアの構成例を示すブロック図である。
【図２】CPU１２がプログラムを実行することにより機能的に実現されるアクセス制御部の構成例を示すブロック図である。
【図３】フラッシュメモリ１６の構成例を説明する図である。
【図４】TUを説明する図である。
【図５】論物変換テーブルと状態マップを説明する図である。
【図６】フラッシュメモリ１６からのデータの読み出しを説明する図である。
【図７】フラッシュメモリ１６へのデータの書き込みを説明する図である。
【図８】フラッシュメモリ１６のフォールド処理を説明する図である。
【図９】論物変換ライブラリ２２によるテーブル／マップ作成処理の例を説明するフローチャートである。
【図１０】論理TU番号の、物理TUへの書き込みの例を説明する図である。
【図１１】全番号書き込み方式を採用する場合の、ブロックからの管理情報の読み出しの読み出しパターンを説明する図である。
【図１２】全番号書き込み方式を採用する場合に、テーブル／マップ作成処理で行われる管理情報読み出し処理を説明するフローチャートである。
【図１３】フラッシュメモリ１６のフォーマット後の状態の例を示す図である。
【図１４】フラッシュメモリ１６がフォーマットされた後、幾つかの物理TUに、データの書き込みがされた状態の例を示す図である。
【図１５】フラッシュメモリ１６へのデータの書き込みを説明する図である。
【図１６】フラッシュメモリ１６がフォーマットされた後、データの書き込みが進行して、ある程度のブロックが書き込み済みのブロックになった状態の例を示す図である。
【図１７】フラッシュメモリ１６のフォーマット直後の状態と定常状態とでの、テーブル／マップ作成処理時の管理情報の読み出しを説明する図である。
【図１８】TVに搭載されるフラッシュメモリ１６の工場出荷時の状態の例を示す図である。
【図１９】論物変換ライブラリ２２の機能的構成例を示すブロック図である。
【図２０】書き込みモードがフォーマット後モードである場合の、フラッシュメモリ１６の状態の例を示す図である。
【図２１】書き込みモードがフォーマット後モードから通常モードになる場合の、フラッシュメモリ１６の状態の例を示す図である。
【図２２】通常モードでの、フラッシュメモリ１６へのデータの書き込みの処理の例を説明するフローチャートである。
【図２３】フォーマット後モードでの、フラッシュメモリ１６へのデータの書き込みの処理の例を説明するフローチャートである。
【図２４】論物変換ライブラリ２２によるテーブル／マップ作成処理の例を説明するフローチャートである。
【図２５】フォーマット後モードでの管理情報の読み出しの処理の例を説明するフローチャートである。
【図２６】論物変換ライブラリ２２の他の機能的構成例を示すブロック図である。
【図２７】ポストフォーマットの処理を説明する図である。
【図２８】ポストフォーマットの処理を行うタイミングの例を説明する図である。
【図２９】ポストフォーマットの処理後のフラッシュメモリ１６の状態の例を示す図である。
【図３０】論物変換ライブラリ２２が行うポストフォーマットの処理の例を説明するフローチャートである。
【図３１】本技術を適用したメモリカードの一実施の形態のハードウェアの構成例を示すブロック図である。
【図３２】CPU１０１がプログラムを実行することにより機能的に実現されるアクセス制御部の構成例を示すブロック図である。
【発明を実施するための形態】
【００２０】
＜本技術を適用したTVの一実施の形態＞
【００２１】
図１は、本技術を適用したTV（テレビジョン受像機）の一実施の形態のハードウェアの構成例を示すブロック図である。
【００２２】
図１において、TVは、TV機能部１１、CPU(Central Processing Unit)１２、ROM(Read Only Memory)１３、RAM(Random Access Memory)１４、ハードディスク１５、フラッシュメモリ１６、通信部１７、及び、ドライブ１８が、バスを介して相互に接続されて構成されている。
【００２３】
TV機能部１１は、チューナや、ディスプレイ、スピーカ等を有し、TV本来の機能を司る。
【００２４】
CPU１２は、ROM１３や、ハードディスク１５、フラッシュメモリ１６に記憶されたプログラムを、RAM１４にロードして実行することにより、TVを構成する各ブロックの制御その他の各種の処理を行う。
【００２５】
ROM１３は、CPU１２が実行するプログラムや必要なデータを記憶している。RAM１４は、CPU１２が実行するプログラムや必要なデータを一時記憶する。ハードディスク１５には、CPU１２が実行するプログラムや、必要なデータ、TV機能部１１で受信された番組のデータ等が記録される。
【００２６】
フラッシュメモリ１６は、例えば、NANDフラッシュメモリであり、TVの電源がオフされた場合に保持する必要があるデータ等を記憶する。
【００２７】
通信部１７は、例えば、インターネット等のネットワークとの間の通信を制御する。
【００２８】
ドライブ１８には、例えば、フレキシブルディスクや、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto Optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、メモリカード等のリムーバブル記録媒体１９の着脱が可能になっている。ドライブ１８は、そこに装着されたリムーバブル記録媒体１９を駆動し、リムーバブル記録媒体１９に対するデータ（プログラムを含む）の読み書き（読み出し、若しくは、書き込み、又は、それらの両方）を行う。
【００２９】
なお、CPU１２が実行するプログラムは、ROM１３や、ハードディスク１５、フラッシュメモリ１６にあらかじめインストールしておくことができる。
【００３０】
また、プログラムは、リムーバブル記録媒体１９に格納（記録）しておき、そのリムーバブル記録媒体１９をドライブ１８に装着して、TVにインストールすることができる。このようなリムーバブル記録媒体１９は、いわゆるパッケージソフトウエアとして提供することができる。
【００３１】
なお、プログラムは、その他、通信網や放送網を介して、TVにダウンロードし、内蔵するハードディスク１５にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、TVに無線で転送することや、LAN(Local Area Network)やインターネット等のネットワークを介して、TVに有線で転送することができる。
【００３２】
以上のように構成されるTVでは、CPU１２が、ハードディスク１５等にインストールされたOS(Operating System)その他のプログラムを実行することにより、フラッシュメモリ１６に対するアクセスを制御するアクセス制御部として（一部）機能する。
【００３３】
＜アクセス制御部の構成例＞
【００３４】
図２は、図１のCPU１２がプログラムを実行することにより機能的に実現されるアクセス制御部の構成例を示すブロック図である。
【００３５】
アクセス制御部は、図１のCPU１２がプログラムを実行することにより提供する機能のうちの、フラッシュメモリ１６へのアクセスを制御する機能を提供する部分であり、ソフトウェアであるファイルシステム２１、論物変換ライブラリ２２、及び、フラッシュメモリドライバ２３から構成される。
【００３６】
ファイルシステム２１は、アプリケーションに対して、デバイス（ここでは、フラッシュメモリ１６）上のデータをファイルとして提供する機能を有する。
【００３７】
また、ファイルシステム２１は、後述する論理TUを特定する論理TU番号を指定して、その論理TUへのデータの読み書きを、論物変換ライブラリ２２に要求する。
【００３８】
論物変換ライブラリ２２は、論理TUを、フラッシュメモリ１６が有する、後述する物理TUに変換する論物変換その他の、物理TUへのデータの読み書きのための処理を行う。
【００３９】
論物変換ライブラリ２２は、ファイルシステム２１からの、論理TU番号を指定したデータの読み書きの要求に対して、その論理TU番号を、物理TUを特定する物理TU番号に変換し、その物理TU番号の物理TUへのデータの読み書きを、フラッシュメモリドライバ２３に要求する。
【００４０】
フラッシュメモリドライバ２３は、論物変換ライブラリ２２からのデータの読み書きの要求に応じて、フラッシュメモリ１６の物理TUに対するデータの読み書きを行う。
【００４１】
＜フラッシュメモリ１６の概要＞
【００４２】
図３は、図１のフラッシュメモリ１６の構成例を説明する図である。
【００４３】
フラッシュメモリ１６（の記憶領域）は、例えば、数千個等の複数のブロックから構成され、ブロックは、複数のページから構成される。
【００４４】
ページは、フラッシュメモリ１６に対するデータの読み書きを行う（最小）単位であり、ブロックは、消去を行う単位である。
【００４５】
したがって、フラッシュメモリ１６では、データの読み書きを行う単位（ページ）に比較して、消去を行う単位（ブロック）が大きい。
【００４６】
ページは、データ領域と拡張領域とを有する。データ領域には、データ（実データ）が書き込まれ、拡張領域には、付加的な情報が書き込まれる。
【００４７】
なお、各ブロックには、ブロックを特定するためのブロック番号（例えば、シーケンシャルな番号）が付されている。同様に、ブロックを構成する各ページにも、ページを特定するためのページ番号（例えば、シーケンシャルな数字）が付されている。
【００４８】
フラッシュメモリ１６において、ブロック内のページへのデータの書き込みは、ページ番号の、例えば、昇順に行わなければならない。したがって、あるブロックBのあるページPへのデータの書き込みは、ブロックBの、ページPよりも後のページ（ページ番号が大きいページ）に、データが書き込まれていない場合にのみ行うことができる。すなわち、ブロックBへのデータの書き込みは、そのブロックBで、データが書き込み済みのページのうちの、ページ番号が最大のページより後のページにのみ行うことができる。
【００４９】
図４は、TU(Translation Unit)を説明する図である。
【００５０】
TUは、論理的な記憶領域を物理的な記憶領域に変換する論物変換を行う単位であり、論物変換ライブラリ２２（図２）は、論物変換を行うことにより、TU単位でのフラッシュメモリ１６に対するアクセスを、ファイルシステム２１に提供する。
【００５１】
すなわち、論物変換ライブラリ２２は、論理的なTUである論理TUを、物理的な物理TUに変換する論物変換を行うことにより、ファイルシステム２１が、フラッシュメモリ１６に対して、論理TU単位でアクセスすることを可能とする。
【００５２】
したがって、論理TUは、物理的に存在する記憶領域（アドレス空間）ではなく、ファイルシステム２１（その他の外部）から見える仮想的な記憶領域である。ファイルシステム２１は、そのファイルシステム２１から見える仮想的な記憶領域である論理TU（へのアクセス）を、論物変換ライブラリ２２とは独立に制御（管理）する。
【００５３】
物理TUは、ブロックを構成するページのうちの１以上のページからなる。物理TUは、ブロックのサイズの整数分の１で、かつ、ページのサイズの整数倍のサイズであり、したがって、ブロックは、１以上で、ブロックを構成するページ数以下の数の物理TUで構成される。
【００５４】
物理TUは、物理TUを構成するページの構成と同様の構成を有する。すなわち、物理TUは、図３で説明したページと同様に、データ領域と拡張領域とを有する。
【００５５】
物理TUのデータ領域は、ページのデータ領域に対応する。物理TUのデータ領域には、データ（実データ）が書き込まれる。
【００５６】
物理TUの拡張領域は、ページの拡張領域に対応する。物理TUの拡張領域には、物理TUへのアクセスを管理するための管理情報が書き込まれる（記憶される）。
【００５７】
管理情報には、シーケンシャル番号と論理TU番号が含まれる。
【００５８】
管理情報に含まれるシーケンシャル番号は、その管理情報が書き込まれている物理TUを有するブロックに割り当てられる番号であり、そのブロックにデータが書き込まれた順番（順位）を表す。したがって、各ブロックのシーケンシャル番号を参照することにより、データが書き込まれたブロックの順番を認識することができる。
【００５９】
ここでは、例えば、シーケンシャル番号が大きいブロックほど、より最近に、データが書き込まれたブロックであることとする。
【００６０】
管理情報に含まれる論理TU番号は、その管理情報が書き込まれている物理TUに割り当てられている論理TUの論理TU番号である。
【００６１】
なお、物理TUは、連続するページ番号の１以上のページから構成され、各物理TUには、物理TUを特定するための物理TU番号（アドレス）（例えば、シーケンシャルな番号）が付されていることとする。
【００６２】
また、ページ番号が小さいページを含む物理TUほど、小さい物理TU番号が付されていることとする。
【００６３】
この場合、上述したように、ブロック内のページへのデータの書き込みを、ページ番号の昇順に行わなければならないときには、ブロック内の物理TUへのデータの書き込みも、物理TU番号の昇順に行わなければならない。
【００６４】
また、管理情報は、物理TUを構成するページのうちの、例えば、最後のページ（ページ番号が最も大きいページ）に書き込むことができる。
【００６５】
＜論物変換テーブルと状態マップ＞
【００６６】
図５は、論物変換テーブルと状態マップを説明する図である。
【００６７】
論物変換ライブラリ２２（図２）は、起動時（CPU１２によりソフトウェアとしての論物変換ライブラリ２２が実行された直後）に、フラッシュメモリ１６の物理TUに書き込まれている（記憶されている）管理情報に基づいて、論物変換テーブルと状態マップを作成する。
【００６８】
そして、論物変換ライブラリ２２は、論物変換テーブルや状態マップを参照して、フラッシュメモリ１６へのデータの読み書きを行う。したがって、フラッシュメモリ１６は、論物変換テーブル、及び、状態マップの作成後に、データの読み書きが可能な状態になる。
【００６９】
論物変換テーブルは、論理TUが割り当てられている物理TUを求めるためのテーブルである。論物変換テーブルには、論理TU番号に、その論理TU番号の論理TUが割り当てられている物理TUの物理TU番号が対応付けられる形で登録される。
【００７０】
状態マップは、フラッシュメモリ１６の各物理TUの状態を管理するためのマップである。状態マップには、フラッシュメモリ１６の各物理TUの状態と、各物理TUを含むブロックに割り当てられているシーケンシャル番号とが登録される。
【００７１】
ここで、物理TUの状態としては、CLEAN，INUSE、DIRTY、及び、DEFECTの４種類の状態が存在する。
【００７２】
CLEANは、その物理TUを含むブロックの消去が行われた後に、データ（管理情報を含む）がまだ書き込まれていない未書き込みの状態を表し、INUSEは、論物変換テーブルを参照して読み出される有効なデータが書き込まれている（記憶されている）状態を表す。
【００７３】
DIRTYは、論物変換テーブルを参照して読み出されることがない無効なデータが書き込まれている状態を表し、DEFECTは、その物理TUを含むブロックに欠陥が生じている状態を表す。
【００７４】
なお、以下では、説明を簡単にするために、物理TUの４つの状態CLEAN，INUSE、DIRTY、及び、DEFECTのうちの、DEFECTは、考えないこと（ないもの）とする。
【００７５】
論物変換ライブラリ２２は、フラッシュメモリ１６の物理TUに、データを書き込むときに、そのデータとともに、管理情報を、物理TUに書き込む。
【００７６】
物理TUに書き込まれた管理情報には、図４で説明したように、その管理情報が書き込まれた物理TUを有するブロックにデータが書き込まれた順番を表すシーケンシャル番号と、その管理情報が書き込まれた物理TUに割り当てられている論理TUの論理TU番号とが含まれる。
【００７７】
図５では、フラッシュメモリ１６は、４つのブロックを有し、各ブロックは、４つの物理TUを含んでいる。
【００７８】
すなわち、ブロック番号がiのブロックを、ブロック#iとも記載し、物理TU番号がiの物理TUを、物理TU#iとも記載することとすると、図５では、フラッシュメモリ１６は、ブロック#0，#1，#2、及び、#3を有し、ブロック#iは、物理TU#4i，#4i+1，#4i+2、及び、#4i+3から構成される。
【００７９】
また、ブロック#0，#1、及び、#3それぞれの各物理TUには、管理情報が書き込まれており、ブロック#2の各物理TUには、管理情報が書き込まれていない。したがって、ブロック#0，#1、及び、#3は、消去後に書き込みが行われた書き込み済みのブロックになっており、ブロック#2は、消去後に書き込みが行われていない未書き込みのブロックになっている。
【００８０】
書き込み済みのブロック#0を構成する物理TU#0ないし#3には、シーケンシャル番号として、x+1が書き込まれており、書き込み済みのブロック#1を構成する物理TU#4ないし#7には、シーケンシャル番号として、x+2が書き込まれている。また、書き込み済みのブロック#3を構成する物理TU#12ないし#15には、シーケンシャル番号として、xが書き込まれている。
【００８１】
以上のようなシーケンシャル番号によれば、書き込み済みのブロック#0，#1、及び、#3に書き込みが行われた順番が、ブロック#3，#0、及び、#1の順番であることを認識することができる。
【００８２】
また、図５において、書き込み済みのブロック#0を構成する物理TU#0ないし#3には、論理TU番号として、5,4,1,4がそれぞれ書き込まれており、書き込み済みのブロック#1を構成する物理TU#4ないし#7には、論理TU番号として、1,6,0,7がそれぞれ書き込まれている。さらに、書き込み済みのブロック#3を構成する物理TU#12ないし#15には、論理TU番号として、7,2,3,5がそれぞれ書き込まれている。
【００８３】
いま、論理TU番号がiの論理TUを、論理TU#iとも記載することとすると、図５の管理情報では、例えば、論理TU#0は、物理TU#6の１つだけに割り当てられている。
【００８４】
この場合、図５に示すように、論物変換テーブルにおいて、論理TU#0（の論理TU番号である0）には、物理TU#6（の物理TU番号である6）が対応付けられて登録される。
【００８５】
さらに、状態マップにおいて、物理TU#6の状態として、有効なデータが書き込まれていることを表すINUSEが登録され、物理TU#6のシーケンシャル番号として、その物理TU#6を含むブロック#1のシーケンシャル番号であるx+2が登録される。
【００８６】
また、図５の管理情報では、例えば、論理TU#4は、物理TU#1と#3の複数（２つ）に割り当てられている。
【００８７】
論理TU#4が割り当てられている物理TU#1と#3は、同一のブロック#0に含まれるが、ブロックに含まれる物理TUには、上述したように、物理TU番号の昇順に書き込みが行われる。かかる書き込みのルールによれば、物理TU#1に、（ファイルシステム２１から見て）論理TU#4に書き込むべきデータの書き込みが行われた後、物理TU#3に、（ファイルシステム２１から見て）論理TU#4に書き込むべきデータの書き込み（書き換え）が行われたことを認識することができる。
【００８８】
したがって、物理TU#1には、論理TU#4に書き込まれた古いデータである無効なデータが書き込まれており、物理TU#3には、論理TU#4に書き込まれた最新のデータである有効なデータが書き込まれていることを認識することができる。
【００８９】
その結果、図５に示すように、論物変換テーブルにおいて、論理TU#4には、有効なデータが書き込まれている物理TU#3が対応付けられて登録される。
【００９０】
さらに、状態マップにおいて、物理TU#1の状態として、無効なデータが書き込まれていることを表すDIRTYが登録され、物理TU#3の状態として、有効なデータが書き込まれていることを表すINUSEが登録される。
【００９１】
また、状態マップにおいて、物理TU#1及び#3のシーケンシャル番号としては、その物理TU#1及び#3を含むブロック#0のシーケンシャル番号であるx+1が登録される。
【００９２】
図５の管理情報では、例えば、論理TU#7は、物理TU#7と#12の複数（２つ）に割り当てられている。
【００９３】
論理TU#7が割り当てられている物理TU#7と#12は、それぞれ、ブロック#1と#3に含まれるが、物理TU#7のシーケンシャル番号がx+2であり、物理TU#12のシーケンシャル番号がxであることから、物理TU#12に、論理TU#7に書き込むべきデータの書き込みが行われた後、物理TU#7に、論理TU#7に書き込むべきデータの書き込み（書き換え）が行われたことを認識することができる。
【００９４】
したがって、物理TU#12には、論理TU#7に書き込まれた古いデータである無効なデータが書き込まれており、物理TU#7には、論理TU#7に書き込まれた最新のデータである有効なデータが書き込まれていることを認識することができる。
【００９５】
その結果、図５に示すように、論物変換テーブルにおいて、論理TU#7には、有効なデータが書き込まれている物理TU#7が対応付けられて登録される。
【００９６】
さらに、状態マップにおいて、物理TU#7の状態として、有効なデータが書き込まれていることを表すINUSEが登録され、物理TU#12の状態として、無効なデータが書き込まれていることを表すDIRTYが登録される。
【００９７】
また、状態マップにおいて、物理TU#7のシーケンシャル番号としては、その物理TU#7を含むブロック#1のシーケンシャル番号であるx+2が登録される。物理TU#12のシーケンシャル番号としては、その物理TU#12を含むブロック#3のシーケンシャル番号であるxが登録される。
【００９８】
以下、同様にして、論物変換ライブラリ２２（図２）は、フラッシュメモリ１６の物理TUに書き込まれている管理情報に基づいて、論物変換テーブルと状態マップを作成していく（論物変換テーブルと状態マップに、情報を登録していく）。
【００９９】
なお、図５において、管理情報が書き込まれていない物理TU#8ないし#11については、状態マップに、未書き込みであることを表すCLEANだけが登録される。
【０１００】
また、論物変換テーブル、及び、状態マップは、例えば、RAM１４（図１）に記憶される。
【０１０１】
＜フラッシュメモリ１６からのデータの読み出し＞
【０１０２】
図６は、フラッシュメモリ１６からのデータの読み出しを説明する図である。
【０１０３】
論物変換ライブラリ２２（図２）は、ファイルシステム２１からの、論理TU番号を指定したデータの読み出しの要求があると、論物変換テーブルを参照して、ファイルシステム２１からの論理TU（番号）を、その論理TUが割り当てられている物理TU（番号）に変換し、その物理TUからのデータの読み出しを、フラッシュメモリドライバ２３に要求する。
【０１０４】
図６では、ファイルシステム２１から、論理TU#1からのデータの読み出しが要求されている。そして、論物変換テーブルを参照することにより、論理TU#1が物理TU#4に割り当てられていることが認識され、その物理TU#4から、データが読み出されている。
【０１０５】
＜フラッシュメモリ１６へのデータの書き込み＞
【０１０６】
図７は、フラッシュメモリ１６へのデータの書き込みを説明する図である。
【０１０７】
論物変換ライブラリ２２（図２）は、ファイルシステム２１からの、論理TU番号を指定したデータの書き込みの要求があると、状態マップを参照して、未書き込み（状態がCLEAN）の物理TUを認識し、その物理TUに、書き込みが要求されたデータ（以下、書き込み対象データともいう）を書き込む。
【０１０８】
さらに、論物変換ライブラリ２２は、書き込み対象データを書き込んだ物理TUに、その物理TUを含むブロックに割り当てられているシーケンシャル番号と、ファイルシステム２１から指定された論理TU番号とを、管理情報に含めて書き込む。
【０１０９】
すなわち、書き込み対象データを書き込んだ物理TUに、ファイルシステム２１から指定された論理TU番号の論理TUが割り当てられ、書き込み対象データを書き込んだ物理TUに、その物理TUに割り当てられた論理TUの論理TU番号が、管理情報に含めて書き込まれる。
【０１１０】
そして、論物変換ライブラリ２２は、書き込み対象データを書き込んだ物理TUに書き込んだ管理情報を反映させるように、論物変換テーブルと状態マップを更新する。
【０１１１】
図７では、ファイルシステム２１から、論理TU#0へのデータの書き込みが要求されている。
【０１１２】
図７において、論物変換テーブルでは、論理TU#0に、物理TU#6が対応付けられているが、論物変換ライブラリ２２では、状態マップを参照することにより認識することができる未書き込みの物理TUのうちの、例えば、物理TU#8に、論理TU#0が割り当てられ、その論理TU#0に書き込むべき書き込み対象データが、管理情報とともに書き込まれている。
【０１１３】
以上のように、未書き込みの物理TU#8に、書き込み対象データ、及び、管理情報が書き込まれることにより、論物変換テーブルにおいて、論理TU#0に対応付けられている物理TU#6に書き込まれているデータは、無効なデータになる。
【０１１４】
その後、図７では、論理TU#0に、書き込み対象データが書き込まれた物理TU#8が対応付けられるように、論物変換テーブルが更新されている。
【０１１５】
＜フラッシュメモリ１６のフォールド処理＞
【０１１６】
図８は、フラッシュメモリ１６のフォールド処理を説明する図である。
【０１１７】
図７で説明したように、フラッシュメモリ１６において、論理TUへのデータの書き込みは、未書き込みの物理TUに、データが書き込まれ、その物理TUに、データの書き込みが要求された論理TUが割り当てられることで行われる。
【０１１８】
その結果、論理TUへのデータの書き込み時に、その論理TUが割り当てられていた物理TUに書き込まれていたデータは、無効なデータになるので、フラッシュメモリ１６へのデータの書き込みが進行していくと（書き込みの回数が増えると）、無効なデータが書き込まれた物理TUが増加するとともに、未書き込みの物理TUが減少する。
【０１１９】
一方、フラッシュメモリ１６については、データ（管理情報を含む）の消去は、ブロック単位でしか行うことができないので、ブロック内に、無効なデータが書き込まれている物理TU（状態がDIRTYの物理TU）（以下、無効な物理TUともいう）があっても、そのブロック内に、有効なデータが書き込まれている物理TU（状態がINUSEの物理TU）（以下、有効な物理TUともいう）が存在する場合には、無効なデータを消去することができない。
【０１２０】
そこで、論物変換ライブラリ２２（図２）は、無効な物理TUの数を減少させ、未書き込みの物理TUの数を増加（又は、ある程度の数以上維持）するために、フォールド処理と呼ばれる以下の処理を行う。
【０１２１】
フォールド処理では、図８に示すように、ブロックが、有効な物理TUだけから構成されるように、有効な物理TUに書き込まれているデータ（有効なデータ）が、未書き込みの物理TUに書き込まれる（コピーされる）。
【０１２２】
有効な物理TUに書き込まれているデータが、未書き込みの物理TUに書き込まれることで、元の物理TU（有効であった物理TU）は、無効な物理TUになる。そして、ブロックが、無効な物理TUだけから構成されるようになった場合、その無効な物理TUだけから構成されるブロック（に書き込まれている無効なデータ）が消去される。
【０１２３】
図８では、ブロック#iを構成する物理TU#jないし#j+3のうちの、物理TU#j及び#j+3が有効な物理TUになっており、物理TU#j+1及び#j+2が無効な物理TUになっている。また、他のブロックであるブロック#i'を構成する物理TU#j'ないし#j+3のうちの、物理TU#jが有効な物理TUになっており、物理TU#j'+1ないし#j'+3が、未書き込みの物理TUになっている。
【０１２４】
そして、ブロック#iを構成する物理TU#jないし#j+3のうちの、有効な物理TU#j及び#j+3に書き込まれているデータが、ブロック#i'を構成する未書き込みの物理TU#j'+1及びj'+2に、それぞれ書き込まれ、これにより、有効であった物理TU#j及び#j+3が、無効な物理TUになり、未書き込みであった物理TU#j'+1及び#j'+2が、有効な物理TUになっている。
【０１２５】
さらに、有効であった物理TU#j及び#j+3が、無効な物理TUになることにより、ブロック#iを構成する物理TU#jないし#j+3は、すべて無効な物理TUとなるので、そのような無効な物理TUのみで構成されるブロック#i（のデータ）は消去され、ブロック#iは、未書き込みのブロックになっている。
【０１２６】
＜テーブル／マップ作成処理＞
【０１２７】
図９は、図２の論物変換ライブラリ２２による、論物変換テーブル、及び、状態マップの作成の処理（以下、テーブル／マップ作成処理ともいう）の例を説明するフローチャートである。
【０１２８】
論物変換ライブラリ２２がCPU１２により実行されると、論物変換ライブラリ２２は、RAM１４（図１）に、論物変換テーブル、及び、状態マップを記憶する領域を確保して、テーブル／マップ作成処理を行う。
【０１２９】
テーブル／マップ作成処理では、ステップＳ１１において、論物変換ライブラリ１１は、フラッシュメモリドライバ２３を介して、フラッシュメモリ１６の各物理TUの拡張領域から管理情報を読み出し、処理は、ステップＳ１２に進む。
【０１３０】
ステップＳ１２では、論物変換ライブラリ２２は、フラッシュメモリ１６が有する物理TUから、まだ、注目する注目物理TUに選択されていない物理TUの１つを、注目物理TUに選択して、処理は、ステップＳ１３に進む。
【０１３１】
ステップＳ１３では、論物変換ライブラリ２２は、注目物理TUから読み出された管理情報に基づき、注目物理TUに、論理TUが割り当てられているかどうかを判定する。
【０１３２】
ステップＳ１３において、注目物理TUに、論理TUが割り当てられていないと判定された場合、すなわち、注目物理TUに、管理情報が書き込まれておらず、したがって、注目物理TUが、未書き込みの物理TUである場合、処理は、ステップＳ１４に進み、論物変換ライブラリ２２は、状態マップに、注目物理TUの状態として、CLEANを登録し、処理は、ステップＳ２２に進む。
【０１３３】
また、ステップＳ１３において、注目物理TUに、論理TUが割り当てられていると判定された場合、すなわち、注目物理TUに、その注目物理TUに割り当てられている論理TUの論理TU番号が含まれる管理情報が書き込まれており、したがって、注目物理TUが、INUSEか、又は、DIRTYの物理TU（以下、書き込み済みの物理TUともいう）である場合、処理は、ステップＳ１５に進み、論物変換ライブラリ２２は、注目物理TUに割り当てられている論理TU番号に対応付けて、物理TU番号が、既に、論物変換テーブルに登録されているかどうかを判定する。
【０１３４】
ステップＳ１５において、注目物理TUに割り当てられている論理TU番号に対応付ける形で、物理TU番号が、論物変換テーブルに登録されていないと判定された場合、処理は、ステップＳ１６に進み、論物変換ライブラリ２２は、注目物理TUに割り当てられている論理TU番号に、注目物理TUの物理TU番号（注目物理TU番号）を対応付けて、論物変換テーブルに登録して、処理は、ステップＳ１７に進む。
【０１３５】
ステップＳ１７では、論物変換ライブラリ２２は、状態マップに、注目物理TUの状態として、INUSEを登録し、処理は、ステップＳ２２に進む。
【０１３６】
また、ステップＳ１５において、注目物理TUに割り当てられている論理TU番号に対応付けて、物理TU番号が、既に、論物変換テーブルに登録されていると判定された場合、処理は、ステップＳ１８に進み、論物変換ライブラリ２２は、注目物理TUへの書き込みの方が、注目物理TUに割り当てられている論理TU番号に対応付けて物理TU番号が論物変換テーブルに登録されている他の物理TU（以下、登録済みの同一論理TU番号割り当て物理TUともいう）への書き込みよりも、新しい書き込みであるかどうかを判定する。
【０１３７】
ここで、注目物理TUへの書き込みの方が、登録済みの同一論理TU番号割り当て物理TUへの書き込みよりも新しいかどうかは、図５で説明したように、ブロック内の物理TUには、物理TU番号の昇順に書き込みが行われるという書き込みのルールや、シーケンシャル番号に基づいて判定することができる。
【０１３８】
ステップＳ１８において、注目物理TUへの書き込みの方が、登録済みの同一論理TU番号割り当て物理TUへの書き込みよりも新しいと判定された場合、処理は、ステップＳ１９に進み、論物変換ライブラリ２２は、論物変換テーブルにおいて、登録済みの同一論理TU番号割り当て物理TUの物理TU番号に代えて、注目物理TUの物理TU番号を、注目物理TUに割り当てられている論理TU番号に対応付けて登録し、処理は、ステップＳ２０に進む。
【０１３９】
ステップＳ２０では、論物変換ライブラリ２２は、状態マップに、注目物理TUの状態として、INUSEを登録するとともに、登録済みの同一論理TU番号割り当て物理TUの状態として、DIRTYを登録して、処理は、ステップＳ２２に進む。
【０１４０】
また、ステップＳ１８において、注目物理TUへの書き込みの方が、登録済みの同一論理TU番号割り当て物理TUへの書き込みよりも新しくないと判定された場合、処理は、ステップＳ２１に進み、論物変換ライブラリ２２は、状態マップに、注目物理TUの状態として、DIRTYを登録して、処理は、ステップＳ２２に進む。
【０１４１】
ステップＳ２２では、論物変換ライブラリ２２は、フラッシュメモリ１６の物理TUすべてを、注目物理TUに選択したかどうかを判定する。
【０１４２】
ステップＳ２２において、フラッシュメモリ１６の物理TUの中に、まだ、注目物理TUに選択されていない物理TUがあると判定された場合、処理は、ステップＳ１２に戻り、以下、同様の処理が繰り返される。
【０１４３】
また、ステップＳ２２において、フラッシュメモリ１６の物理TUすべてを、注目物理TUに選択したと判定された場合、テーブル／マップ作成処理は終了する。
【０１４４】
なお、論物変換テーブル、及び、状態マップは、RAM１４に記憶され、図１のTVの電源がオフにされると、RAM１４に記憶された論物変換テーブル、及び、状態マップは、失われる。そのため、TVの電源がオンにされ、論物変換ライブラリ２２がCPU１２により実行されるたびに、論物変換ライブラリ２２は、テーブル／マップ作成処理を行って、論物変換テーブル、及び、状態マップを作成する（作成し直す）。
【０１４５】
ここで、図９のテーブル／マップ作成処理のステップＳ１２ないしＳ２２では、フラッシュメモリ１６を構成する各物理TUについて、その物理TUの情報が、論物変換テーブル、及び、状態マップに登録されるので、ステップＳ１２ないしＳ２２の処理を、以下、情報登録処理ともいう。
【０１４６】
＜論理TU番号の、物理TUへの書き込み＞
【０１４７】
図１０は、管理情報としての論理TU番号の、物理TUへの書き込みの例を説明する図である。
【０１４８】
図７で説明したように、フラッシュメモリ１６へのデータの書き込みでは、物理TUに、書き込み対象データが書き込まれるとともに、その物理TUに割り当てられた論理TUの論理TU番号が、管理情報（の一部）として書き込まれる。
【０１４９】
ここで、物理TUに、その物理TUに割り当てられた論理TUのみの論理TU番号を、管理情報として書き込む場合には、テーブル／マップ作成処理において、すべての物理TUが書き込み済みのブロックについての管理情報の読み出しは、そのブロックのすべての物理TUから行わなければならず、時間を要する。
【０１５０】
そこで、物理TUへの論理TU番号の書き込みでは、ブロックを構成する物理TUのうちの、例えば、最後に書き込みが行われる物理TUには、その物理TUに割り当てられた論理TUの論理TU番号だけでなく、ブロックを構成する他の物理TUに割り当てられた論理TUの論理TU番号すべてをも書き込むことができる。
【０１５１】
この場合、ブロックにおいて、最後に書き込みが行われる物理TUには、そのブロックに含まれる物理TUのそれぞれに割り当てられている論理TUの論理TU番号すべてが書き込まれる。
【０１５２】
すなわち、例えば、図１０に示すように、ブロックが、４つの物理TU#nないし#n+3で構成され、図４で説明したように、ブロック内の物理TUへのデータの書き込みが、物理TU番号の昇順で行われる場合には、まず、最初に書き込みが行われる（物理TU番号が最も小さい）物理TU#nに、データが書き込まれるとともに、その物理TU#nに割り当てられた（論理TUの）論理TU番号が書き込まれる。
【０１５３】
その後、２番目に書き込みが行われる（物理TU番号が２番目に小さい）物理TU#n+1に、データが書き込まれるとともに、その物理TU#n+1に割り当てられた論理TU番号が書き込まれ、次に、３番目に書き込みが行われる物理TU#n+2に、データが書き込まれるとともに、その物理TU#n+2に割り当てられた論理TU番号が書き込まれる。
【０１５４】
そして、最後に書き込みが行われる（物理TU番号が最も大きい）物理TU#n+3に、データが書き込まれるとともに、その物理TU#n+3に割り当てられた論理TU番号と、ブロック内の他の物理TU#nないし#n+2それぞれに割り当てられた論理TU番号のすべてとが書き込まれる。
【０１５５】
図１０では、ブロックを構成する物理TU#nないし#n+3に、0ないし3の論理TU番号が、それぞれ割り当てられており、そのため、最後に書き込みが行われた物理TU#n+3には、物理TU#nないし#n+3それぞれに割り当てられた論理TU番号である0ないし3のすべてが書き込まれている。
【０１５６】
ここで、以上のように、ブロックを構成する物理TUのすべてに論理TU（番号）が割り当てられている場合に、ブロックを構成する物理TUのうちの、最後に書き込みが行われる物理TU等の所定の物理TUに、そのブロックを構成する物理TUに割り当てられている論理TU番号のすべてを書き込む方式を、全番号書き込み方式ともいう。
【０１５７】
全番号書き込み方式では、ブロックを構成する物理TUのすべてに論理TU（番号）が割り当てられている場合には、ブロックを構成する物理TUのうちの、最後に書き込みが行われる物理TUに、そのブロックを構成する物理TUに割り当てられている論理TU番号のすべてが書き込まれている。
【０１５８】
さらに、ブロックを構成する物理TUに、管理情報として書き込まれるシーケンシャル番号は、そのブロックに割り当てられたシーケンシャル番号であるので、ブロック内の物理TUに書き込まれるシーケンシャル番号は、同一である。
【０１５９】
したがって、全番号書き込み方式を採用する場合、ブロックを構成する物理TUのすべてに論理TU（番号）が割り当てられているときには、テーブル／マップ作成処理において、ブロックを構成する物理TUのうちの、最後に書き込みが行われる物理TUから、管理情報を読み出すだけで、他の物理TUから管理情報を読み出さなくても、そのブロックを構成する各物理TUについて、その物理TUに割り当てられている論理TU（番号）と、シーケンシャル番号とを認識することができる。
【０１６０】
その結果、テーブル／マップ作成処理での管理情報の読み出しの時間を短縮することができ、ひいては、アクセス制御部（図２）において、フラッシュメモリ１６に対するデータの読み書きを行うことができるようになるまでの起動時間を短縮することができる。
【０１６１】
図１１は、全番号書き込み方式を採用する場合の、ブロックからの管理情報の読み出しの読み出しパターンを説明する図である。
【０１６２】
全番号書き込み方式を採用する場合、ブロックを構成する物理TUのすべてが、書き込み済みの物理TU（状態がINUSE又はDIRTYの物理TU）であるときには、すなわち、ブロックを構成する物理TUのすべてに論理TU（番号）が割り当てられているときには、最後に書き込みが行われる物理TUに、そのブロックを構成する物理TUに割り当てられている論理TU番号のすべてが書き込まれているので、その最後に書き込みが行われる物理TUだけから、管理情報を読み出すだけでよい。
【０１６３】
一方、ブロックを構成する物理TUのすべてではない一部の物理TUだけが、書き込み済みの物理TUである場合には、ブロック内で最後に書き込みが行われる物理TU（以下、最後の物理TUともいう）に、管理情報が書き込まれておらず、書き込み済みの物理TUにのみ、管理情報が書き込まれている。
【０１６４】
したがって、ブロックを構成する物理TUのすべてではない一部の物理TUだけが、書き込み済みの物理TUである場合、すなわち、最後の物理TUが、未書き込みの物理TUである場合には、ブロックを構成する物理TUのうちの書き込み済みの物理TUから、管理情報を読み出す必要がある。
【０１６５】
また、ブロック内の物理TUへのデータの書き込みが、物理TU番号の昇順に行われる場合には、書き込み済みの物理TUからの管理情報を読み出しは、書き込みの順番と同様に、物理TU番号の昇順に行うことが効率的である。
【０１６６】
以上から、全番号書き込み方式を採用する場合、論物変換ライブラリ２２は、各ブロックについて、まず最初に、最後の物理TUから管理情報を読み出し、最後の物理TUに管理情報が書き込まれていないときには、書き込みの順番と同様に、物理TU番号の昇順に、物理TUから管理情報を読み出していく。
【０１６７】
そのため、全番号書き込み方式を採用する場合、ブロックからの管理情報の読み出しのパターンには、図１１に示すように、読み出しパターン#1,#2、及び、#3の３パターンがある。
【０１６８】
読み出しパターン#1は、ブロックを構成する物理TUのすべてが、書き込み済みの物理TU（状態がINUSE又はDIRTYの物理TU）である場合の読み出しパターン、すなわち、ブロックを構成する物理TUのすべてに論理TU（番号）が割り当てられている場合の読み出しパターンである。
【０１６９】
この場合、ブロック内の最後の物理TUに、そのブロックを構成する物理TUに割り当てられている論理TU番号のすべてが書き込まれているので、その最後に書き込みが行われる物理TUだけから、管理情報を読み出すだけでよい。
【０１７０】
したがって、読み出しパターン#1では、ブロック内の最後の物理TUから、管理情報を読み出すことができた時点で、そのブロックを構成する物理TUからの管理情報の読み出しは、終了する。
【０１７１】
読み出しパターン#2は、ブロックを構成する物理TUのすべてではない一部の物理TUだけが、書き込み済みの物理TUである場合の読み出しパターンである。
【０１７２】
ブロックを構成する物理TUのすべてではない一部の物理TUだけが、書き込み済みの物理TUである場合には、ブロック内の最後の物理TUに、管理情報が書き込まれていないので、その最後の物理TUから、管理情報を読み出すことができない。
【０１７３】
そのため、読み出しパターン#2では、ブロック内の最後の物理TUからの管理情報の読み出しが行われた後、物理TU番号の昇順での、物理TUからの管理情報の読み出しが開始される。
【０１７４】
そして、読み出しパターン#2では、物理TUからの管理情報の読み出しができなくなるまで、すなわち、管理情報が書き込まれていない物理TUからの管理情報の読み出しが行われるまで、物理TUからの管理情報の読み出しが、物理TU番号の昇順に行われる。
【０１７５】
読み出しパターン#3は、ブロックを構成する物理TUのすべてが、未書き込みの物理TUである場合の読み出しパターンである。
【０１７６】
ブロックを構成する物理TUのすべてが、未書き込みの物理TUである場合には、ブロック内の最後の物理TUを含むすべての物理TUに、管理情報が書き込まれていないので、その最後の物理TUから、管理情報を読み出すことができない。
【０１７７】
そのため、読み出しパターン#3では、読み出しパターン#2と同様に、ブロック内の最後の物理TUからの管理情報の読み出しが行われた後、物理TU番号の昇順での、物理TUからの管理情報の読み出しが開始される。
【０１７８】
但し、ブロックを構成する物理TUのすべてが、未書き込みの物理TUである場合には、ブロック内で最初に書き込みが行われる物理TU（ここでは、ブロック内で、物理TU番号が最も小さい物理TU）（以下、最初の物理TUともいう）に、管理情報は書き込まれていない。
【０１７９】
そのため、読み出しパターン#3では、物理TU番号の昇順での、物理TUからの管理情報の読み出しが開始された後に、最初に管理情報の読み出しが行われる最初の物理TUから、管理情報を読み出すことができず、その時点で、ブロックを構成する物理TUからの管理情報の読み出しは、終了する。
【０１８０】
ブロックからの管理情報の読み出しに要する時間は、読み出しパターン#1の場合が最も短く、読み出しパターン#3の場合が２番目に短い。そして、ブロックのすべての物理TUから、管理情報を読み出す（管理情報の読み出しを試みる）ことがあり得る読み出しパターン#2の場合が、ブロックからの管理情報の読み出しに要する時間が最も長い。
【０１８１】
＜管理情報の読み出し＞
【０１８２】
図１２は、全番号書き込み方式を採用する場合に、図９のテーブル／マップ作成処理のステップＳ１１で行われる、物理TUからの管理情報の読み出しの処理（以下、管理情報読み出し処理ともいう）を説明するフローチャートである。
【０１８３】
管理情報読み出し処理では、ステップＳ３１において、論物変換ライブラリ２２は、フラッシュメモリ１６が有するブロックから、まだ、注目する注目ブロックに選択されていないブロックの１つを、注目ブロックに選択して、処理は、ステップＳ３２に進む。
【０１８４】
ステップＳ３２では、論物変換ライブラリ２２は、注目ブロックの最後の物理TUの管理情報を読み出し、処理は、ステップＳ３３に進む。
【０１８５】
ステップＳ３３では、論物変換ライブラリ２２は、注目ブロックの最後の物理TUの管理情報が未書き込みであるかどうかを判定する。
【０１８６】
ステップＳ３３において、注目ブロックの最後の物理TUの管理情報が未書き込みでないと判定された場合、すなわち、注目ブロックの最後の物理TUに、管理情報が書き込まれており、その管理情報が読み出された場合、処理は、ステップＳ３４に進み、論物変換ライブラリ２２は、注目ブロックの最後の物理TUから読み出された管理情報に基づいて、注目ブロックの各物理TUに、論理TU番号を割り当てて、処理は、ステップＳ４０に進む。
【０１８７】
すなわち、注目ブロックの最後の物理TUに、管理情報が書き込まれている場合、その管理情報には、注目ブロックの各物理TUに割り当てられた論理TUの論理TU番号のすべてが含まれるので、ステップＳ３４では、その管理情報に基づき、注目ブロックの各物理TUのすべてに、管理情報に含まれる論理TU番号が割り当てられる。
【０１８８】
一方、ステップＳ３３において、注目ブロックの最後の物理TUの管理情報が未書き込みであると判定された場合、すなわち、注目ブロックの最後の物理TUから管理情報として読み出された情報のすべてが、ブロックの消去時に書き込まれるビット列である、例えば、0xffである場合、処理は、ステップＳ３５に進み、論物変換ライブラリ２２は、注目ブロックの物理TUのうちの、まだ、注目物理TUに選択されていない物理TUの中で、より最初の物理TUに近い物理TU（より物理TU番号の小さい物理TU）を、注目物理TUに選択して、処理は、ステップＳ３６に進む。
【０１８９】
ステップＳ３６では、論物変換ライブラリ２２は、注目物理TUの管理情報を読み出し、処理は、ステップＳ３７に進む。
【０１９０】
ステップＳ３７では、論物変換ライブラリ２２は、注目物理TUの管理情報が未書き込みであるかどうかを判定する。
【０１９１】
ステップＳ３７において、注目物理TUの管理情報が未書き込みであると判定された場合、すなわち、注目物理TUから管理情報として読み出された情報のすべてが、ブロックの消去時に書き込まれるビット列である、例えば、0xffである場合、注目ブロックにおいて、管理情報が未書き込みの注目物理TUより後の物理TU（物理TU番号が大きい物理TU）に、管理情報が書き込まれていることはないため、処理は、管理情報の読み出しを行うステップＳ３５ないしＳ３９のループ処理を抜けて、ステップＳ４０に進む。
【０１９２】
また、ステップＳ３７において、注目物理TUの管理情報が未書き込みでないと判定された場合、すなわち、注目物理TUに、管理情報が書き込まれており、その管理情報が読み出された場合、処理は、ステップＳ３８に進み、論物変換ライブラリ２２は、注目物理TUから読み出された管理情報に基づいて、注目物理TUに、その管理情報に含まれる論理TU番号を割り当てて、処理は、ステップＳ３９に進む。
【０１９３】
ステップＳ３９では、論物変換ライブラリ２２は、注目物理TUが、注目ブロックの最後から２番目の物理TU（最後の物理TUの１つ前の物理TU）であるかどうかを判定する。
【０１９４】
ステップＳ３９において、注目物理TUが、注目ブロックの最後から２番目の物理TUでないと判定された場合、すなわち、注目ブロックの最後の物理TUを除く物理TUの中で、まだ、注目物理TUに選択していない物理TUがある場合、処理は、ステップＳ３５に戻り、以下、ステップＳ３５ないしＳ３９のループ処理を繰り返す。
【０１９５】
また、ステップＳ３９において、注目物理TUが、注目ブロックの最後から２番目の物理TUであると判定された場合、すなわち、注目ブロックの最後の物理TUを除く物理TUのすべてを、注目物理TUに選択した場合、処理は、ステップＳ４０に進み、論物変換ライブラリ２２は、フラッシュメモリ１６のブロックすべてを、注目ブロックに選択したかどうかを判定する。
【０１９６】
ステップＳ４０において、フラッシュメモリ１６のブロックの中に、まだ、注目ブロックに選択されていないブロックがあると判定された場合、処理は、ステップＳ３１に戻り、以下、同様の処理が繰り返される。
【０１９７】
また、ステップＳ４０において、フラッシュメモリ１６のブロックすべてを、注目ブロックに選択したと判定された場合、管理情報読み出し処理は終了する。
【０１９８】
＜フラッシュメモリ１６の状態＞
【０１９９】
図１３は、フラッシュメモリ１６のフォーマット後の状態の例を示す図である。
【０２００】
論物変換ライブラリ２２は、外部からの指令等に応じて、フラッシュメモリ１６のフォーマットを行う。
【０２０１】
フラッシュメモリ１６のフォーマットでは、論物変換ライブラリ２２は、フラッシュメモリ１６がフォーマットされていることを認識することができるように、フラッシュメモリ１６の、例えば、最初の（ブロック番号が最も小さい）ブロック等の１ブロックの各物理TUに、論理TU（番号）を割り当て、管理情報に含めて書き込む。
【０２０２】
したがって、フォーマット直後においては、フラッシュメモリ１６の最初のブロックの物理TU以外の物理TUには、論理TUが割り当てられておらず、管理情報の書き込みもされていない。
【０２０３】
図１３では、フラッシュメモリ１６の最初のブロックを構成する物理TU#0ないし#3に、論理TU#0ないし#3が、それぞれ割り当てられ、その物理TU#0ないし#3が、書き込み済みの物理TU（状態がINUSE又はDIRTYの物理TU）になっており、他の物理TUは、未書き込みの物理TU（状態がCLEANの物理TU）になっている。
【０２０４】
なお、論物変換ライブラリ２２は、物理TUの欠陥を考慮して、フラッシュメモリ１６が有する物理TUの、例えば、95%程度以上の数の論理TUを用意（ファイルシステム２１等の外部に提供）する。
【０２０５】
物理TUに割り当てられていない論理TUの読み出しが要求された場合、論物変換ライブラリ２２は、未書き込み（消去済み）であることを表すビット列としての、例えば、0xffを、論理TUのサイズだけ並べたビット列を返す。
【０２０６】
図１４は、フラッシュメモリ１６がフォーマットされた後、幾つかの物理TUに、データの書き込みがされた状態の例を示す図である。
【０２０７】
論物変換ライブラリ２２は、外部から、論理TUへのデータの書き込みの要求があると、未書き込みの物理TUに、データを書き込み、論理TUを割り当てる。
【０２０８】
図１４では、フォーマット後に、論理TU#4,#5、及び、#6へのデータの書き込みの要求があり、その要求に応じて、未書き込みの物理TUであった物理TU#4,#5、及び、#6に、データが書き込まれ、論理TU#4,#5、及び、#6が、それぞれ割り当てられている。物理TU#4へのデータの書き込みでは、その物理TU#4に割り当てられた論理TU#4の論理TU番号を含む管理情報も書き込まれる。物理TU#5及び#6へのデータの書き込みでも、同様である。
【０２０９】
図１５は、フラッシュメモリ１６へのデータの書き込みを説明する図である。
【０２１０】
フラッシュメモリ１６のブロックの書き換えの回数には、上限がある。そのため、論物変換ライブラリ２２は、図１５に示すように、データが書き込まれるブロックを、未書き込みのブロックの中から、ランダムに選択することを、データが書き込まれるブロックが特定のブロックに偏らないようにするウェアレベリングとして行う。
【０２１１】
図１６は、フラッシュメモリ１６がフォーマットされた後、データの書き込みが進行して、ある程度のブロックが書き込み済みのブロックになった状態の例を示す図である。
【０２１２】
図１６では、フラッシュメモリ１６の95%以上のブロックが書き込み済みのブロックになっている。また、書き込み済みのブロックのうちの、数個のブロックでは、一部の物理TUが未書き込みの物理TUになっているが、残りのほとんどのブロックでは、すべての物理TUが書き込み済みの物理TUになっている。
【０２１３】
さらに、図１６では、数%のブロックが、未書き込みのブロックになっている。
【０２１４】
ここで、フォーマット後、フラッシュメモリ１６のほぼすべてのブロックに、１回以上の書き込みが行われた以降のフラッシュメモリ１６の状態、すなわち、ブロック数の所定の閾値（以下、ブロック数閾値ともいう）以上の数のブロックが、書き込み済みのブロックになったフラッシュメモリ１６の状態を、定常状態ともいう。
【０２１５】
ブロック数閾値は、例えば、フラッシュメモリ１６の仕様としての生涯不良ブロック数等を考慮して定めることができる。ブロック数閾値としては、フラッシュメモリ１６のブロック数の、例えば、95%等の値等の、フラッシュメモリ１６のブロック数のほぼすべてということができる値を採用することができる。
【０２１６】
論物変換ライブラリ２２は、フラッシュメモリ１６が定常状態になった以後は、例えば、未書き込みのブロックがなくならず、かつ、書き込み済みのブロックの数がブロック数閾値程度になる範囲を維持するように、図８で説明したフォールド処理を行う。
【０２１７】
その結果、フラッシュメモリ１６が、一度、定常状態になると、フォーマットされない限りは、定常状態が維持される。
【０２１８】
図１７は、フラッシュメモリ１６のフォーマット直後の状態と定常状態とでの、テーブル／マップ作成処理時の管理情報の読み出しを説明する図である。
【０２１９】
フォーマット直後では、図１３に示したように、フラッシュメモリ１６の最初のブロックだけが、すべての物理TUが書き込み済みの物理TUになっているブロックになっており、他のブロックは、未書き込みのブロックになっている。
【０２２０】
したがって、フォーマット直後では、最初のブロックについては、その最初のブロックの最後の物理TUから管理情報が読み出されるだけの読み出しパターン#1（図１１）での管理情報の読み出しが行われる。
【０２２１】
しかしながら、残りの未書き込みのブロック、すなわち、フラッシュメモリ１６の最初のブロックを除くブロックすべてについては、ブロックの最後の物理TUから管理情報の読み出しが行われ、その後、ブロックの最初の物理TUから管理情報の読み出しが行われる読み出しパターン#2（図１１）での管理情報の読み出しが行われる。
【０２２２】
一方、定常状態では、図１６に示したように、フラッシュメモリ１６のほとんどのブロックが、すべての物理TUが書き込み済みの物理TUになっているブロックになっている。
【０２２３】
したがって、定常状態では、ほとんどのブロックについて、ブロックの最後の物理TUから管理情報が読み出されるだけの読み出しパターン#1（図１１）での管理情報の読み出しが行われ、残りのブロックについて、読み出しパターン#2や#3での管理情報の読み出しが行われる。
【０２２４】
したがって、定常状態では、フラッシュメモリ１６のほとんどのブロックについて、ブロックの最後の物理TUから管理情報が読み出されるだけの読み出しパターン#1での管理情報の読み出しが行われるのに対して、フォーマット直後では、フラッシュメモリ１６の最初のブロックを除くブロックすべてについて、ブロックの最後の物理TUから管理情報の読み出しが行われ、その後、ブロックの最初の物理TUから管理情報の読み出しが行われる読み出しパターン#2での管理情報の読み出しが行われる。
【０２２５】
その結果、フォーマット直後では、フラッシュメモリ１６の最初のブロックを除くブロックすべてについて、ブロックの最後の物理TUからの管理情報の読み出しが行われるだけでなく、ブロックの最初の物理TUからの管理情報の読み出しが行われる分だけ、定常状態に比較して、管理情報の読み出しに時間を要する。
【０２２６】
すなわち、大雑把には、定常状態では、フラッシュメモリ１６の各ブロックの最後の物理TUだけからの管理情報の読み出しが行われるのに対して、フォーマット直後では、フラッシュメモリ１６の各ブロックの最初と最後の物理TUの２つの物理TUそれぞれからの管理情報の読み出しが行われるため、フォーマット直後の管理情報の読み出しには、定常状態の管理情報の読み出しの、ほぼ２倍の時間を要する。
【０２２７】
以上のように、フォーマット直後では、定常状態に比較して、管理情報の読み出しに時間を要するため、論物変換テーブルの作成（テーブル／マップ作成処理）に時間を要し、その結果、フラッシュメモリ１６に対するデータの読み書きを行うことができるようになるまでの起動時間（以下、フラッシュメモリ起動時間ともいう）が長くなる。
【０２２８】
図１８は、TV（図１）に搭載されるフラッシュメモリ１６の工場出荷時の状態の例を示す図である。
【０２２９】
工場出荷時においては、フラッシュメモリ１６には、フォーマット後に、TVのアプリケーション等が、インストールデータとしてインストールされるが、それでも、すべての物理TUが書き込み済みの物理TUになるブロックは、例えば、数十%程度であり、フラッシュメモリ１６の多くのブロックは、未書き込みのブロックとなる。
【０２３０】
したがって、工場出荷後、ユーザがTVを購入して使用することにより、フラッシュメモリ１６が定常状態となるまでは、フラッシュメモリ起動時間が長くなる。
【０２３１】
そこで、本技術では、フォーマット直後であっても、定常状態と同様に、フラッシュメモリ起動時間を短縮することを可能とする。
【０２３２】
＜論物変換ライブラリ２２の構成例＞
【０２３３】
図１９は、図２の論物変換ライブラリ２２の機能的構成例を示すブロック図である。
【０２３４】
図１９において、論物変換ライブラリ２２は、読み書き制御部３１、作成部３２、記憶部３３、及び、モード制御部３４を有する。
【０２３５】
読み書き制御部３１は、ファイルシステム２１等の外部からの要求に応じて、フラッシュメモリドライバ２３を介し、フラッシュメモリ１６に対するデータ（管理情報を含む）の読み書きを制御する。
【０２３６】
すなわち、読み書き制御部３１は、ファイルシステム２１等の外部からの要求に応じて、フラッシュメモリドライバ２３を制御することにより、フラッシュメモリ１６に対するデータ（管理情報を含む）の読み書きを行う。
【０２３７】
例えば、読み書き制御部３１は、ファイルシステム２１からの書き込み対象データの書き込みの要求に応じて、その書き込み対象データと管理情報とを、フラッシュメモリ１６に書き込む。
【０２３８】
また、例えば、読み書き制御部３１は、ファイルシステム２１からのデータの読み出しの要求に応じて、フラッシュメモリ１６からデータを読み出し、ファイルシステム２１に供給する。
【０２３９】
その他、読み書き制御部３１は、起動時に、フラッシュメモリ１６から管理情報を読み出し、作成部３２に供給する。
【０２４０】
また、読み書き制御部３１は、フラッシュメモリ１６から、順番情報を読み出し、モード制御部３４に供給する。
【０２４１】
ここで、順番情報は、フラッシュメモリ１６へのデータの書き込みにおいて、データを書き込むブロックの順番を表し、例えば、フラッシュメモリ１６のフォーマット時に、フラッシュメモリ１６に書き込まれる。
【０２４２】
すなわち、読み書き制御部３１は、フラッシュメモリ１６のフォーマット時に、図１３で説明したように、フラッシュメモリ１６がフォーマットされていることを認識することができるようにするために、フラッシュメモリ１６の最初のブロックの各物理TUに、論理TU（番号）を割り当て、管理情報に含めて書き込む。
【０２４３】
さらに、読み書き制御部３１は、フラッシュメモリのフォーマット時に、フラッシュメモリ１６の最初のブロックの各物理TUに割り当てられた論理TU番号を含む管理情報を書き込むときに、例えば、最初のブロックの物理TUのうちの、テーブル／マップ作成処理において管理情報の読み出しが最初に行われる物理TU、すなわち、最初のブロックの最後の物理TUに、順番情報を、管理情報に含めて書き込む。
【０２４４】
なお、フォーマット時には、順番情報が表す順番として、例えば、ブロック番号の昇順や、降順、１つおきの順等の、所定のルールに従って、順番を確定することができる、ランダムな順番以外の順番が採用される。
【０２４５】
ここでは、説明を簡単にするため、フォーマット時の順番情報が表す順番として、例えば、ブロック番号の昇順を採用することとする。
【０２４６】
作成部３２は、読み書き制御部３１から供給される管理情報に基づき、図５で説明したようにして、論物変換テーブル、及び、状態マップを作成し、記憶部３３に供給する。
【０２４７】
記憶部３３は、作成部３２からの論物変換テーブル、及び、状態マップを記憶する。
【０２４８】
ここで、読み書き制御部３１は、必要に応じて、記憶部３３に記憶された論物変換テーブル、及び、状態マップを参照して、フラッシュメモリ１６に対するデータの読み書き（の制御）を行う。
【０２４９】
また、読み書き制御部３１は、フラッシュメモリ１６に対するデータの書き込みや消去、フォールド処理を行った後、必要に応じて、データの書き込みや消去、フォールド処理後のフラッシュメモリ１６の状態に合致するように、記憶部３３に記憶された論物変換テーブル、及び、状態マップを更新する。
【０２５０】
なお、記憶部３３は、例えば、RAM３３（図１）の記憶領域の一部に相当する。したがって、記憶部３３に記憶された論物変換テーブル、及び、状態マップは、図１のTVの電源オフ時に失われる。
【０２５１】
モード制御部３４は、読み書き制御部３１から供給される順番情報に基づいて、フラッシュメモリ１６に対するデータの書き込みの書き込みモードを設定し、その書き込みモードで、フラッシュメモリ１６に対するデータの書き込みを行うように、読み書き制御部３１を制御する。
【０２５２】
ここで、順番情報が表す順番としては、大きく分けて、ブロック番号の昇順等の所定のルールに従って確定することができる順番（以下、ルールに基づく順番ともいう）と、ルールに従って確定することができないランダムな順番とがある。
【０２５３】
順番情報がルールに基づく順番を表している場合、モード制御部３４は、書き込みモードを、その順番情報が表す、ルールに基づく順番で、未書き込みのブロックの中から、データを書き込む対象のブロックである書き込み対象ブロックを選択するモード（以下、フォーマット後モードともいう）に設定し、そのフォーマット後モードで動作するように、読み書き制御部３１を制御する。
【０２５４】
したがって、フォーマット後モードでは、読み書き制御部３１は、順番情報が表す、ルールに基づく順番で、未書き込みのブロックの中から、書き込み対象ブロックを選択する。
【０２５５】
また、順番情報が、ランダムな順番を表している場合、モード制御部３４は、書き込みモードを、その順番情報が表すランダムな順番で、未書き込みのブロックの中から、書き込み対象ブロックを選択するモード、すなわち、図１５で説明したように、ウェアレベリングのために、未書き込みのブロックの中から、書き込み対象ブロックを、ランダムに選択するモード（以下、通常モードともいう）に設定し、その通常モードで動作するように、読み書き制御部３１を制御する。
【０２５６】
したがって、通常モードでは、読み書き制御部３１は、未書き込みのブロックの中から、書き込み対象ブロックを、ランダムに選択する。
【０２５７】
なお、モード制御部３４は、その他、記憶部３３に記憶された状態マップを監視することにより、フラッシュメモリ１６内の書き込み済みのブロックの数を認識し、その書き込み済みのブロックの数に基づいて、フラッシュメモリ１６に書き込まれている順番情報を書き換えるように、読み書き制御部３１を制御する。
【０２５８】
図２０は、書き込みモードがフォーマット後モードである場合の、フラッシュメモリ１６の状態の例を示す図である。
【０２５９】
図２０では、フォーマット時に、例えば、ブロック番号の昇順を表す順番情報が、フラッシュメモリ１６の最初のブロックの最後の物理TUに、管理情報に含めて書き込まれており、フォーマット時のまま書き換えられていない。
【０２６０】
したがって、書き込みモードは、フォーマット後モードになる。
【０２６１】
フォーマット後モードでは、読み書き制御部３１は、順番情報が表す、ルールに基づく順番、すなわち、ここでは、ブロック番号の昇順で、未書き込みのブロックの中から、書き込み対象ブロックを選択し、データを書き込む。
【０２６２】
したがって、フォーマット後モードでは、ブロック番号の昇順に、ブロックから管理情報を読み出した場合、あるブロック（のある物理TU）に管理情報が書き込まれていなければ、以降のブロックは、データ（管理情報を含む）が書き込まれていない未書き込みのブロックであることが保証される。
【０２６３】
そのため、フォーマット後モードでは、テーブル／マップ作成処理において、管理情報の読み出しを、フラッシュメモリ１６の先頭のブロックから、ブロック番号の昇順に行っていき、未書き込みの（物理TUを含む）ブロックが現れた時点で終了することができる。
【０２６４】
したがって、フォーマット後モードでは、図１７で説明したフォーマット直後のように、フラッシュメモリ１６の各ブロックの最初と最後の物理TUの２つの物理TUそれぞれからの管理情報の読み出しが、フラッシュメモリ１６のほぼすべてのブロックについて行われる場合に比較して、管理情報の読み出しに要する時間を、大幅に短縮し、ひいては、フラッシュメモリ起動時間を短縮することができる。
【０２６５】
図２１は、書き込みモードがフォーマット後モードから通常モードになる場合の、フラッシュメモリ１６の状態の例を示す図である。
【０２６６】
図２０で説明したように、フォーマット後モードでは、読み書き制御部３１は、ブロック番号の昇順で、未書き込みのブロックの中から、書き込み対象ブロックを選択し、データを書き込む。
【０２６７】
したがって、フォーマット後モードでは、図２１に示すように、ブロックは、ブロック番号の昇順に、書き込み済みのブロックになっていく。
【０２６８】
図１９で説明したように、モード制御部３４は、記憶部３３に記憶された状態マップを監視することにより、フラッシュメモリ１６内の書き込み済みのブロックの数を認識し、その書き込み済みのブロックの数に基づいて、フラッシュメモリ１６に書き込まれている順番情報を書き換えるように、読み書き制御部３１を制御する。
【０２６９】
すなわち、モード制御部３４は、フラッシュメモリ１６内の書き込み済みのブロックの数に基づいて、フラッシュメモリ１６が、ブロック数閾値M以上の数のブロックが書き込み済みのブロックである定常状態になったかどうかを判定する。
【０２７０】
そして、フラッシュメモリ１６が定常状態になった場合、モード制御部３４は、フラッシュメモリ１６に書き込まれている順番情報を、ランダムな順番を表す順番情報に書き換えるように、読み書き制御部３１を制御する。
【０２７１】
読み書き制御部３１は、モード制御部３４の制御に従い、フラッシュメモリ１６の先頭のブロックに書き込まれている順番情報を、ランダムな順番を表すように書き換える。
【０２７２】
ここで、ランダムな順番を表す順番情報としては、未書き込みのブロック（物理TU）のデータと同様のビット列0xffを採用することができる。この場合、フラッシュメモリ１６の先頭のブロックに書き込まれている順番情報の、ランダムな順番を表す順番情報への書き換えは、図２１に示すように、先頭のブロック（のデータ）を消去するだけで済む。
【０２７３】
順番情報が、ランダムな順番を表すように書き換えられた後は、モード制御部３４は、書き込みモードを、通常モードに設定する。
【０２７４】
通常モードでは、図２０で説明したように、読み書き制御部３１は、未書き込みのブロックの中から、書き込み対象ブロックを、ランダムに選択し、データを書き込む。
【０２７５】
＜通常モードの書き込み＞
【０２７６】
図２２は、通常モードでの、フラッシュメモリ１６へのデータの書き込みの処理の例を説明するフローチャートである。
【０２７７】
書き込みの処理は、ファイルシステム２１から、論理TU番号を指定した書き込み対象データの書き込みの要求があると開始される。
【０２７８】
通常モードの書き込みの処理では、ステップＳ１２１において、読み書き制御部３１は、記憶部３３に記憶された状態マップを参照し、シーケンシャル番号が最新（最大）のブロックを、書き込み対象ブロックに選択して、処理は、ステップＳ１２２に進む。
【０２７９】
ステップＳ１２２では、読み書き制御部３１は、記憶部３３に記憶された状態マップを参照し、書き込み対象ブロック内に、未書き込みの物理TUが存在するかどうかを判定する。
【０２８０】
ステップＳ１２２において、書き込み対象ブロック内に、未書き込みの物理TUが存在しないと判定された場合、処理は、ステップＳ１２３に進み、読み書き制御部３１は、記憶部３３に記憶された状態マップを参照し、未書き込みのブロックを認識する。
【０２８１】
さらに、ステップＳ１２３では、読み書き制御部３１は、未書き込みのブロックの中から、新たな書き込み対象ブロック（とするブロック）を、ランダムに選択し、処理は、ステップＳ１２４に進む。
【０２８２】
ステップＳ１２４では、読み書き制御部３１は、ステップＳ１２１で選択した書き込み対象ブロックに付されていたシーケンシャル番号を、例えば、1だけインクリメントすることにより、最新のシーケンシャル番号に更新し、処理は、ステップＳ１２５に進む。
【０２８３】
また、ステップＳ１２２において、書き込み対象ブロック内に、未書き込みの物理TUが存在すると判定された場合、処理は、ステップＳ１２３及びＳ１２４をスキップして、ステップＳ１２５に進み、読み書き制御部３１は、記憶部３３に記憶された状態マップを参照し、書き込み対象ブロックの最も先頭側の未書き込みの物理TU（物理TU番号がより小さい未書き込みの物理TU）を、ファイルシステム２１から指定された論理TU番号の論理TUを割り当てる書き込み対象物理TUに選択して、処理は、ステップＳ１２６に進む。
【０２８４】
ステップＳ１２６では、読み書き制御部３１は、書き込み対象物理TUに、ファイルシステム２１からの書き込み対象データを書き込む。さらに、読み書き制御部３１は、書き込み対象物理TUに、最新のシーケンシャル番号と、書き込み対象物理TUに割り当てられる論理TUの論理TU番号、すなわち、ファイルシステム２１から指定された論理TU番号とを含む管理情報を書き込み、処理は、ステップＳ１２６からステップＳ１２７に進む。
【０２８５】
なお、書き込み対象物理TUが、書き込み対象ブロックの最後の物理TUである場合には、書き込み対象物理TUに割り当てられる論理TUの論理TU番号の他、書き込み対象ブロックの他の物理TUそれぞれに割り当てられた論理TUの論理TU番号のすべてが、管理情報に含められ、書き込み対象物理TUに書き込まれる。
【０２８６】
ステップＳ１２７では、読み書き制御部３１は、ステップＳ１２６で書き込み対象物理TUにデータを書き込んだ後のフラッシュメモリ１６の状態に合致するように、記憶部３３に記憶された論物変換テーブル、及び、状態マップを更新して、書き込みの処理は終了する。
【０２８７】
以上のように、通常モードの書き込みの処理では、ウェアレベリングのために、未書き込みのブロックの中から、書き込み対象ブロックが、ランダムに選択されて、データが書き込まれる。
【０２８８】
＜フォーマット後モードの書き込み＞
【０２８９】
図２３は、フォーマット後モードでの、フラッシュメモリ１６へのデータの書き込みの処理の例を説明するフローチャートである。
【０２９０】
書き込みの処理は、図２２で説明したように、ファイルシステム２１から、論理TU番号を指定した書き込み対象データの書き込みの要求があると開始される。
【０２９１】
そして、フォーマット後モードの書き込みの処理では、ステップＳ１３１において、読み書き制御部３１は、記憶部３３に記憶された状態マップを参照し、シーケンシャル番号が最新（最大）のブロックを、書き込み対象ブロックに選択して、処理は、ステップＳ１３２に進む。
【０２９２】
ステップＳ１３２では、読み書き制御部３１は、記憶部３３に記憶された状態マップを参照し、書き込み対象ブロック内に、未書き込みの物理TUが存在するかどうかを判定する。
【０２９３】
ステップＳ１３２において、書き込み対象ブロック内に、未書き込みの物理TUが存在しないと判定された場合、処理は、ステップＳ１３３に進み、読み書き制御部３１は、記憶部３３に記憶された状態マップを参照し、未書き込みのブロックを認識する。
【０２９４】
さらに、ステップＳ１３３では、読み書き制御部３１は、未書き込みのブロックの中から、より先頭側の（よりブロック番号が小さい）未書き込みのブロックを、新たな書き込み対象ブロックに選択し、処理は、ステップＳ１３４に進む。
【０２９５】
ステップＳ１３４では、読み書き制御部３１は、ステップＳ１３１で選択した書き込み対象ブロックに付されていたシーケンシャル番号を、例えば、1だけインクリメントすることにより、最新のシーケンシャル番号に更新し、処理は、ステップＳ１３５に進む。
【０２９６】
また、ステップＳ１３２において、書き込み対象ブロック内に、未書き込みの物理TUが存在すると判定された場合、処理は、ステップＳ１３３及びＳ１３４をスキップして、ステップＳ１３５に進み、以下、ステップＳ１３５ないしＳ１３７において、図２２のステップＳ１２５ないしＳ１２７とそれぞれ同様の処理が行われる。
【０２９７】
以上のように、フォーマット後モードでは、未書き込みのブロックが、順番情報が表すブロック番号の昇順に、書き込み対象ブロックに選択されて、データが書き込まれる。
【０２９８】
したがって、フォーマット後モードの書き込みの処理では、ブロック番号順、かつ、物理TU番号順に、データが書き込まれるので、あるブロックのある物理TUに、データが書き込まれていなければ、その物理TUより後の物理TU、及び、ブロックは、すべて、未書き込みであることが保証される。
【０２９９】
すなわち、フォーマット後モードでは、あるブロックBに、論理TU番号等を含む管理情報が記憶されていない物理TUがある場合、ブロックBの、管理情報が記憶されていない物理TU以降の物理TUは、すべて未書き込みの物理TUになっており、さらに、ブロックBより後のブロックは、すべて未書き込みのブロックになっている。
【０３００】
＜テーブル／マップ作成処理＞
【０３０１】
図２４は、図１９の論物変換ライブラリ２２によるテーブル／マップ作成処理の例を説明するフローチャートである。
【０３０２】
論物変換ライブラリ２２がCPU１２により実行されると、論物変換ライブラリ２２は、RAM１４（図１）に、論物変換テーブル、及び、状態マップを記憶する領域としての記憶部３３を確保して、テーブル／マップ作成処理を行う。
【０３０３】
テーブル／マップ作成処理では、ステップＳ１０１において、読み書き制御部３１は、フラッシュメモリ１６の最初のブロックの最後の物理TUに書き込まれている管理情報、すなわち、順番情報を含む管理情報を読み出し、モード制御部３４に供給して、処理は、ステップＳ１０２に進む。
【０３０４】
ここで、モード制御部３４は、読み書き制御部３１から供給される順番情報や基づいて、書き込みモードを設定する。
【０３０５】
ステップＳ１０２では、読み書き制御部３１は、モード制御部３４が順番情報に基づいて設定した書き込みモードが、フォーマット後モードであるかどうかを判定する。
【０３０６】
ステップＳ１０２において、書き込みモードが、フォーマット後モードであると判定された場合、処理は、ステップＳ１０３に進み、読み書き制御部３１は、フラッシュメモリ１６から、フォーマット後モードで管理情報を読み出し、作成部３２に供給して、処理は、ステップＳ１０５に進む。フォーマット後モードでの管理情報の読み出しの処理については、後述する。
【０３０７】
また、ステップＳ１０２において、書き込みモードが、フォーマット後モードでないと判定された場合、すなわち、書き込みモードが、通常モードである場合、処理は、ステップＳ１０４に進み、読み書き制御部３１は、フラッシュメモリ１６から、通常モードで管理情報を読み出し、作成部３２に供給して、処理は、ステップＳ１０５に進む。
【０３０８】
ここで、通常モードでの管理情報の読み出しの処理は、図１２で説明したように、すべてのブロックを、順次、注目ブロックに選択して行われる。
【０３０９】
ステップＳ１０５では、作成部３２は、読み書き制御部３１からの管理情報を用い、図９のステップＳ１２ないしＳ２２と同様の情報登録処理を行うことで、論物変換テーブル、及び、状態マップを作成し、テーブル／マップ作成処理は終了する。
【０３１０】
図２５は、図２４のステップＳ１０３で行われる、フォーマット後モードでの管理情報の読み出しの処理を説明するフローチャートである。
【０３１１】
フォーマット後モードでの管理情報の読み出しの処理では、ステップＳ１５１において、読み書き制御部３１は、フラッシュメモリ１６が有するブロックから、まだ、注目する注目ブロックに選択されていないブロックのうちの、順番情報が表す順番が、より早いブロック、すなわち、ここでは、より先頭側のブロックを、注目ブロックに選択して、処理は、ステップＳ１５２に進む。
【０３１２】
ステップＳ１５２では、読み書き制御部３１は、注目ブロックの最後の物理TUの管理情報を読み出し、処理は、ステップＳ１５３に進む。
【０３１３】
ステップＳ１５３では、読み書き制御部３１は、注目ブロックの最後の物理TUの管理情報が未書き込みであるかどうかを判定する。
【０３１４】
ステップＳ１５３において、注目ブロックの最後の物理TUの管理情報が未書き込みでないと判定された場合、すなわち、注目ブロックの最後の物理TUに、管理情報が書き込まれており、その管理情報が読み出された場合、処理は、ステップＳ１５４に進み、読み書き制御部３１は、図１２のステップＳ３４の場合と同様に、注目ブロックの最後の物理TUから読み出された管理情報に基づいて、注目ブロックの各物理TUのすべてに、その管理情報に含まれる論理TU番号を割り当てて、処理は、ステップＳ１５１に戻る。
【０３１５】
一方、ステップＳ１５３において、注目ブロックの最後の物理TUの管理情報が未書き込みであると判定された場合、すなわち、注目ブロックの最後の物理TUから管理情報として読み出された情報のすべてが、ブロックの消去時に書き込まれるビット列である、例えば、0xffである場合、処理は、ステップＳ１５５に進み、読み書き制御部３１は、注目ブロックの物理TUのうちの、まだ、注目物理TUに選択されていない物理TUの中で、より最初の物理TUに近い物理TU（より物理TU番号の小さい物理TU）を、注目物理TUに選択して、処理は、ステップＳ１５６に進む。
【０３１６】
ステップＳ１５６では、読み書き制御部３１は、注目物理TUの管理情報を読み出し、処理は、ステップＳ１５７に進む。
【０３１７】
ステップＳ１５７では、読み書き制御部３１は、注目物理TUの管理情報が未書き込みであるかどうかを判定する。
【０３１８】
ステップＳ１５７において、注目物理TUの管理情報が未書き込みであると判定された場合、すなわち、注目物理TUから管理情報として読み出された情報のすべてが、ブロックの消去時に書き込まれるビット列である、例えば、0xffである場合、注目ブロックにおいて、管理情報が未書き込みの注目物理TUより後の物理TU（物理TU番号が大きい物理TU）に、管理情報が書き込まれていることはなく、さらに、フォーマット後モードでは、管理情報が書き込まれていない物理TUを含むブロックよりも後のブロック（ブロック番号が大きいブロック）は、すべて、未書き込みのブロックであるため、処理は、管理情報の読み出しを行うステップＳ１５５ないしＳ１５９のループ処理を抜けて、ステップＳ１６０に進む。
【０３１９】
なお、注目物理TUが、注目ブロックの最初の物理TUであり、その最初の物理TUが未書き込みである場合、注目ブロックが未書き込みのブロックであるということになる。
【０３２０】
一方、ステップＳ１５７において、注目物理TUの管理情報が未書き込みでないと判定された場合、すなわち、注目物理TUに、管理情報が書き込まれており、その管理情報が読み出された場合、処理は、ステップＳ１５８に進み、読み書き制御部３１は、注目物理TUから読み出された管理情報に基づいて、注目物理TUに、その管理情報に含まれる論理TU番号を割り当てて、処理は、ステップＳ１５９に進む。
【０３２１】
ステップＳ１５９では、読み書き制御部３１は、注目物理TUが、注目ブロックの最後から２番目の物理TU（最後の物理TUの１つ前の物理TU）であるかどうかを判定する。
【０３２２】
ステップＳ１５９において、注目物理TUが、注目ブロックの最後から２番目の物理TUでないと判定された場合、すなわち、注目ブロックの最後の物理TUを除く物理TUの中で、まだ、注目物理TUに選択していない物理TUがある場合、処理は、ステップＳ１５５に戻り、以下、ステップＳ１５５ないしＳ１５９のループ処理を繰り返す。
【０３２３】
また、ステップＳ１５９において、注目物理TUが、注目ブロックの最後から２番目の物理TUであると判定された場合、すなわち、注目ブロックにおいて、最後の物理TUのみが、未書き込みの物理TUになっている場合、フォーマット後モードでは、管理情報が書き込まれていない物理TUを含むブロックよりも後のブロックは、すべて、未書き込みのブロックであるため、処理は、管理情報の読み出しを行うステップＳ１５５ないしＳ１５９のループ処理を抜けて、ステップＳ１６０に進む。
【０３２４】
ステップＳ１６０では、読み書き制御部３１は、管理情報を読み出すことができたブロック、すなわち、書き込み済みのブロックの数が、ブロック数閾値M以上であるかどうかを判定する。
【０３２５】
ステップＳ１６０において、書き込み済みのブロックの数が、ブロック数閾値M以上でないと判定された場合、フォーマット後モードでの管理情報の読み出しの処理は終了する。
【０３２６】
この場合、書き込みモードは、フォーマット後モードのままとなる。
【０３２７】
また、ステップＳ１６０において、書き込み済みのブロックの数が、ブロック数閾値M以上であると判定された場合、すなわち、フラッシュメモリ１６が定常状態になっており、通常モードでの管理情報の読み出しの処理を行っても、図１７で説明したフォーマット直後のように、フラッシュメモリ１６の各ブロックの最初と最後の物理TUの２つの物理TUそれぞれからの管理情報の読み出しが、フラッシュメモリ１６のほぼすべてのブロックについて行われることがない場合、処理は、ステップＳ１６１に進み、読み書き制御部３１は、フラッシュメモリ１６の、順番情報が書き込まれているブロック（のデータ）を消去することにより、順番情報を、ランダムな順番を表すように書き換えて、フォーマット後モードでの管理情報の読み出しの処理は終了する。
【０３２８】
この場合、書き込みモードは、その後、フォーマット後モードから通常モードになる。
【０３２９】
図２３で説明したように、フォーマット後モードでは、あるブロックBに、論理TU番号等を含む管理情報が記憶されていない物理TUがある場合、ブロックBの、管理情報が記憶されていない物理TU以降の物理TUは、すべて未書き込みの物理TUになっており、さらに、ブロックBより後のブロックは、すべて未書き込みのブロックになっている。
【０３３０】
そのため、フォーマット後モードでは、管理情報が記憶されていない物理TUがあるブロックがあった場合には、そのブロックの、管理情報が記憶されていない物理TUからの管理情報の読み出しを試みた時点で（ステップＳ１５６及びＳ１５７）、管理情報の読み出しが終了される。
【０３３１】
なお、ステップＳ１６０及びＳ１６１の処理は、フォーマット後モードでの管理情報の読み出しの処理で行う他、又は、フォーマット後モードでの管理情報の読み出しの処理で行うとともに、図２３のフォーマット後モードでの書き込みの処理において、ステップＳ１３７の処理後に行うことができる。
【０３３２】
ステップＳ１６０及びＳ１６１の処理を、図２３のフォーマット後モードでの書き込みの処理において、ステップＳ１３７の処理後に行う場合、モード制御部３４（図１９）は、記憶部３３に記憶された状態マップを監視することにより、フラッシュメモリ１６内の書き込み済みのブロックの数を認識し、ステップＳ１６０の、ブロック数閾値M以上の数のブロックが書き込み済みのブロックであるかどうかの判定を行う。
【０３３３】
そして、ブロック数閾値M以上の数のブロックが書き込み済みのブロックである場合、モード制御部３４は、読み書き制御部３１を制御することにより、ステップＳ１６１の、順番情報の書き換えを行わせる。
【０３３４】
＜論物変換ライブラリ２２の他の構成例＞
【０３３５】
図２６は、図２の論物変換ライブラリ２２の他の機能的構成例を示すブロック図である。
【０３３６】
なお、図中、図１９の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、定義省略する。
【０３３７】
図２６において、論物変換ライブラリ２２は、作成部３２、記憶部３３、読み書き制御部４１、及び、割り当て部４２を有する。
【０３３８】
したがって、図２６の論物変換ライブラリ２２は、作成部３２及び記憶部３３を有する点で、図１９の場合と共通する。
【０３３９】
但し、図２６の論物変換ライブラリ２２は、読み書き制御部３１に代えて、読み書き制御部４１が設けられている点、モード制御部３４が設けられていない点、及び、割り当て部４２が新たに設けられている点で、図１９の場合と相違する。
【０３４０】
読み書き制御部４１は、図１９の読み書き制御部３１と同様に、ファイルシステム２１等の外部からの要求に応じて、フラッシュメモリドライバ２３を介し、フラッシュメモリ１６に対するデータ（管理情報を含む）の読み書きを、記憶部３３に記憶された論物変換テーブル、及び、状態マップを参照しながら制御する。
【０３４１】
さらに、読み書き制御部４１は、図１９の読み書き制御部３１と同様に、起動時に、フラッシュメモリ１６から管理情報を読み出し、作成部３２に供給する処理や、フラッシュメモリ１６に対するデータの書き込みや消去、フォールド処理を行った後、データの書き込みや消去、フォールド処理後のフラッシュメモリ１６の状態に合致するように、記憶部３３に記憶された論物変換テーブル、及び、状態マップを更新する。
【０３４２】
また、読み書き制御部４１は、割り当て部４２からの情報を用いて、論理TU番号を含む管理情報を、フラッシュメモリ１６の物理TUに書き込む。
【０３４３】
割り当て部４２は、記憶部３３に記憶された状態マップから、フラッシュメモリ１６において、未書き込みの物理TUを含むブロックを認識し、そのブロックの中から、必要な数のブロックを、順次、注目ブロックとして選択する。
【０３４４】
さらに、割り当て部４２は、注目ブロックに含まれる物理TUの中で、論理TUが割り当てられていない物理TUに、例えば、その時点で使われていない論理TUを割り当て、その割り当て結果を表す割り当て情報（例えば、論理TU番号と、その論理TU番号の論理TUを割り当てた物理TUの物理TU番号とのペア等）を、読み書き制御部４１に供給する。
【０３４５】
読み書き制御部４１は、以上のようにして、割り当て部４１から供給される割り当て情報を用い、その割り当て情報に含まれる物理TU番号の物理TUに、その物理TU番号とペアの論理TU番号を含む管理情報を書き込む。
【０３４６】
なお、管理情報を書き込む書き込み対象物理TUが、ブロックの最後の物理TUである場合には、書き込み対象物理TUに割り当てられた論理TUの論理TU番号の他、ブロックの他の物理TUそれぞれに割り当てられた論理TUの論理TU番号のすべてが、管理情報に含めて、書き込み対象物理TUに書き込まれる。
【０３４７】
以上のように構成される論物変換ライブラリ２２では、フラッシュメモリ１６のフォーマット後に、例えば、外部からの指示に従って、ポストフォーマットの処理が行われる。
【０３４８】
図２７は、ポストフォーマットの処理を説明する図である。
【０３４９】
すなわち、図２７は、フォーマットがされた後、定常状態になる途中のフラッシュメモリ１６の状態と、ポストフォーマットの処理が行われた後のフラッシュメモリ１６の状態との例を示している。
【０３５０】
フォーマット後、定常状態になる途中のフラッシュメモリ１６では、図２７の左に示すように、未書き込みの物理TUを含むブロックが、多数存在する。
【０３５１】
ポストフォーマットの処理では、未書き込みの物理TUを含むブロックが、順次、注目ブロックに選択され、その注目ブロックに含まれる物理TUのうちの、論理TUが割り当てられていない物理TU、すなわち、未書き込みの物理TUすべてに、論理TUが割り当てられ、少なくとも、注目ブロックの最後の物理TUに、その注目ブロックに含まれる物理TUそれぞれに割り当てられている論理TUの論理TU番号のすべてが、管理情報に含めて書き込まれる。
【０３５２】
その結果、注目ブロックは、その注目ブロックに含まれるすべての物理TUが書き込み済みの物理TUとなった、書き込み済みのブロック（以下、完全書き込み済みのブロックともいう）になる。
【０３５３】
ポストフォーマットの処理は、完全書き込み済みのブロックが、所定の閾値としての、例えば、ブロック数閾値M以上になるまで行われる。
【０３５４】
したがって、ポストフォーマットの処理後は、フラッシュメモリ１６のほぼすべてのブロック、すなわち、ブロック数閾値M以上の数のブロックが、完全書き込み済みのブロックになり、フラッシュメモリ１６は、定常状態になる。その結果、テーブル／マップ作成処理での管理情報の読み出しにおいて、図１７で説明したフォーマット直後のように、フラッシュメモリ１６の各ブロックの最初と最後の物理TUの２つの物理TUそれぞれからの管理情報の読み出しが、フラッシュメモリ１６のほぼすべてのブロックについて行われることがなくなるので、すなわち、図１７で定常状態について説明したように、フラッシュメモリ１６のほとんどのブロックについて、ブロックの最後の物理TUから管理情報が読み出されるだけになるので、管理情報の読み出しに要する時間を短縮し、ひいては、フラッシュメモリ起動時間を短縮することができる。
【０３５５】
なお、図２７では、ポストフォーマットの処理において、ブロックの最後の物理TUに、そのブロックに含まれる物理TUそれぞれに割り当てられている論理TUの論理TU番号のすべてが、管理情報に含めて書き込まれている他、ブロックの他の物理TU（未書き込みの物理TU）に、その物理TUに割り当てられた論理TUの論理TU番号が、管理情報に含めて書き込まれている。
【０３５６】
但し、ポストフォーマットの処理では、ブロックの最後の物理TUに、そのブロックに含まれる物理TUそれぞれに割り当てられている論理TUの論理TU番号のすべてを、管理情報に含めて書き込むだけでもよい。
【０３５７】
すなわち、本実施の形態では、全番号書き込み方式を採用するが、全番号書き込み方式を採用する場合には、ブロックの最後の物理TUに、管理情報が書き込まれているときには、そのブロックについては、図１１の読み出しパターン#1で説明したように、最後の物理TUから、管理情報を読み出すだけで、ブロックの各物理TUに割り当てられている論理TUを認識することができるので、最後の物理TU以外の物理TUから、管理情報を読み出す必要がない。
【０３５８】
そして、読み出す必要がない管理情報は、書き込む必要がないので、全番号書き込み方式を採用する場合には、ポストフォーマットの処理において、ブロックの最後以外の物理TU（未書き込みの物理TU）については、必ずしも、管理情報を書き込む必要はない。
【０３５９】
また、ポストフォーマットの処理では、管理情報を書き込むだけで、データ領域への書き込みは行わないので、通常のデータの書き込みを行う場合よりも、短時間で行うことができる。
【０３６０】
さらに、ポストフォーマットの処理の途中であっても、フラッシュメモリ１６にデータを書き込むことができる。
【０３６１】
図２７では、各ブロックが４つの物理TUを含み、ポストフォーマットの処理として、ブロック#k+2の最初の物理TUと２番目の物理TUに、論理TU番号#12を含む管理情報と論理TU番号#13を含む管理情報をそれぞれ書き込む処理が行われた後、ブロック#k+2の３番目の物理TUに対して、論理TU#6を指定したデータの書き込みが行われている。
【０３６２】
そして、その後、ポストフォーマットの処理として、ブロック#k+2の最後（４番目）の物理TUに、ブロック#k+2に含まれる４つの物理TUそれぞれに割り当てられている論理TUの論理TU番号#12,#13,#6,#14のすべてを、管理情報に含めて書き込む処理が行われている。
【０３６３】
図２８は、ポストフォーマットの処理を行うタイミングの例を説明する図である。
【０３６４】
ポストフォーマットの処理は、例えば、図２８に示すように、工場でのTVの製造工程において、フラッシュメモリ１６のフォーマットを行い、アプリケーション等のインストールデータを、フラッシュメモリ１６にインストールした後の、TVの動作確認や調整を行う後工程と並行して行うことができる。
【０３６５】
この場合、タクトタイムに影響することなく、フラッシュメモリ起動時間を短縮することができる。
【０３６６】
図２９は、図２７で説明したように、フラッシュメモリ１６に、インストールデータをインストールした後にポストフォーマットの処理を行った場合の、そのポストフォーマットの処理後のフラッシュメモリ１６の状態の例を示す図である。
【０３６７】
ポストフォーマットの処理は、フォーマット後、インストールデータのインストールが行われたフラッシュメモリ１６を対象として、図２９に示すように、フラッシュメモリ１６が定常状態となるまで、すなわち、書き込み済みのブロックが、ブロック数閾値M以上の数になるまで行うことができる。
【０３６８】
＜ポストフォーマットの処理＞
【０３６９】
図３０は、図２６の論物変換ライブラリ２２が行うポストフォーマットの処理を説明するフローチャートである。
【０３７０】
ポストフォーマットの処理は、例えば、フォーマット後に、外部から、ポストフォーマットの処理を行うことの要求があると開始される。
【０３７１】
ポストフォーマットの処理では、ステップＳ２０１において、論物変換ライブラリ２２（図２６）は、例えば、図９で説明したテーブル／マップ作成処理を行うことにより、論物変換テーブル、及び、状態マップを作成し、記憶部３３に記憶して、処理は、ステップＳ２０２に進む。
【０３７２】
ステップＳ２０２では、読み書き制御部４１（図２６）は、記憶部３３に記憶された状態マップを参照し、完全書き込み済みのブロックの数が、ブロック数閾値M以上存在するかどうかを判定する。
【０３７３】
ステップＳ２０２において、完全書き込み済みのブロックの数が、ブロック数閾値M以上存在しないと判定された場合、処理は、ステップＳ２０３に進み、読み書き制御部４１は、記憶部３３に記憶された状態マップを参照し、未書き込みの物理TUを含むブロックのうちの１つを、注目ブロックに選択して、処理は、ステップＳ２０４に進む。
【０３７４】
ステップＳ２０４では、割り当て部４２（図２６）は、記憶部３３に記憶された状態マップを参照することにより、注目ブロックについて、その注目ブロックの最後の物理TUを書き込み済みにするのに、論理TUの割り当てを行うことが必要な物理TUの数、すなわち、未書き込みの物理TUの数（以下、空き物理TU数ともいう）NUMを求めて、処理は、ステップＳ２０５に進む。
【０３７５】
ステップＳ２０５では、割り当て部４２は、注目ブロック内の未書き込みの物理TUの数をカウントする変数iを、例えば、1に初期化して、処理は、ステップＳ２０６に進む。
【０３７６】
ステップＳ２０６では、割り当て部４２は、記憶部３３に記憶された論物変換テーブルを参照することにより、物理TUに割り当てられていない論理TU番号を、注目ブロックの未書き込みの物理TUのうちの、i番目の物理TUに割り当て、その割り当て結果を表す割り当て情報を、読み書き制御部４１に供給して、処理は、ステップＳ２０７に進む。
【０３７７】
ステップＳ２０７では、読み書き制御部４１は、i番目の物理TUに、割り当て部４２からの割り当て情報に含まれる論理TU番号（i番目の物理TUに割り当てられた論理TU番号）を含む管理情報を書き込み、処理は、ステップＳ２０８に進む。
【０３７８】
なお、i番目の物理TUが、書き込み対象ブロックの最後の物理TUである場合には、その最後の物理TUに割り当てられた論理TUの論理TU番号の他、注目ブロックの他の物理TUそれぞれに割り当てられた論理TUの論理TU番号のすべてが、管理情報に含められ、最後の物理TUに書き込まれる。
【０３７９】
また、ステップＳ２０７では、i番目の物理TUが、書き込み対象ブロックの最後の物理TUである場合にのみ、管理情報の書き込みを行うことが可能である。
【０３８０】
ステップＳ２０８では、読み書き制御部４１は、ステップＳ２０７でi番目の物理TUに管理情報を書き込んだ後のフラッシュメモリ１６の状態に合致するように、記憶部３３に記憶された論物変換テーブル、及び、状態マップを更新して、処理は、ステップＳ２０９に進む。
【０３８１】
ステップＳ２０９では、割り当て部４２は、変数iが、注目ブロックの空き物理TU数NUMに等しいかどうかを判定する。
【０３８２】
ステップＳ２０９において、変数iが、注目ブロックの空き物理TU数NUMに等しくないと判定された場合、処理は、ステップＳ２１０に進み、割り当て部４２は、変数iを1だけインクリメントする。そして、処理は、ステップＳ２１０からステップＳ２０６に戻り、以下、同様の処理が繰り返される。
【０３８３】
また、ステップＳ２０９において、変数iが、注目ブロックの空き物理TU数NUMに等しいと判定された場合、処理は、ステップＳ２０２に戻り、以下、同様の処理が繰り返される。
【０３８４】
そして、ステップＳ２０２において、完全書き込み済みのブロックの数が、ブロック数閾値M以上存在すると判定された場合、すなわち、フラッシュメモリ１６が、定常状態になった場合、ポストフォーマットの処理は終了する。
【０３８５】
以上のような、ポストフォーマットの処理によって、フラッシュメモリ１６のブロック数閾値M以上の数のブロックが、完全書き込み済みのブロックになった後、すなわち、フラッシュメモリ１６が定常状態になった後は、図９のテーブル／マップ作成処理におけるステップＳ１１の管理情報の読み出しの処理（図１２）において、図１７で説明したフォーマット直後のように、フラッシュメモリ１６の各ブロックの最初と最後の物理TUの２つの物理TUそれぞれからの管理情報の読み出しが、フラッシュメモリ１６のほぼすべてのブロックについて行われることがなくなり、図１７で定常状態について説明したように、フラッシュメモリ１６のほとんどのブロックについて、ブロックの最後の物理TUから管理情報が読み出されるだけになるので、管理情報の読み出しに要する時間を短縮し、ひいては、フラッシュメモリ起動時間を短縮することができる。
【０３８６】
＜本技術を適用したメモリカードの一実施の形態＞
【０３８７】
図３１は、本技術を適用したメモリカードの一実施の形態のハードウェアの構成例を示すブロック図である。
【０３８８】
図３１において、メモリカードは、CPU１０１、メモリ１０２、フラッシュメモリ１０３、及び、外部I/F(Interface)１０４が、バスを介して相互に接続されて構成されている。
【０３８９】
CPU１０１は、図１のCPU１２に相当し、メモリ１０２は、図１のROM１３や、RAM１４、ハードディスク１５に相当する。また、フラッシュメモリ１０３は、図１のフラッシュメモリ１６に相当する。
【０３９０】
外部I/F１０４は、メモリカードが、PCや、携帯端末、ディジタルカメラ、その他の電子機器に装着されたときに、その電子機器と電気的に接続し、その電気的に接続された電子機器との間で、フラッシュメモリ１０３に書き込む書き込み対象データや、フラッシュメモリ１０３から読み出したデータのやりとりを行う。
【０３９１】
以上のように構成されるメモリカードでは、CPU１０１が、メモリ１０２にインストールされたOSその他のプログラムを実行することにより、フラッシュメモリ１０３に対するアクセスを制御するアクセス制御部として機能する。
【０３９２】
＜アクセス制御部の構成例＞
【０３９３】
図３２は、図３１のCPU１０１がプログラムを実行することにより機能的に実現されるアクセス制御部の構成例を示すブロック図である。
【０３９４】
アクセス制御部は、図３１のCPU１０１がプログラムを実行することにより提供する機能のうちの、フラッシュメモリ１０３へのアクセスを制御する機能を提供する部分であり、ソフトウェアである論物変換ライブラリ１１１、及び、フラッシュメモリドライバ１１２から構成される。
【０３９５】
論物変換ライブラリ１１１は、外部I/F１０４と電気的に接続された電子機器が有するファイルシステムからの、論理TU番号を指定したデータの読み書きの要求に対して、その論理TU番号を、物理TU番号に変換し、その物理TU番号の物理TUへのデータの読み書きを、フラッシュメモリドライバ１１２に要求する。その他、論物変換ライブラリ１１１は、図２の論物変換ライブラリ２２と同様の処理を行う。
【０３９６】
フラッシュメモリドライバ１１２は、図２のフラッシュメモリドライバ２３と同様に、論物変換ライブラリ１１１からのデータの読み書きの要求に応じて、フラッシュメモリ１０３の物理TUに対するデータの読み書きを行う。
【０３９７】
図３２のアクセス制御部の処理は、ファイルシステム２１で行われる処理を除いて、図２のアクセス制御部で行われる処理と同様であるので、その説明は、省略する。
【０３９８】
ここで、本明細書において、コンピュータ（CPU１２や１０１）がプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含む。
【０３９９】
また、プログラムは、１のコンピュータ（プロセッサ）により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。
【０４００】
さらに、本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。
【０４０１】
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。例えば、図１では、本技術を、フラッシュメモリ１６を搭載したTVに適用した場合について説明したが、本技術は、TVに限定されず、フラッシュメモリその他の不揮発性メモリを搭載したディジタル家電その他のあらゆる電子機器に適用することができる。
【０４０２】
また、本技術は、以下のような構成をとることができる。
【０４０３】
＜１＞
データの消去が行われる単位をブロックとして、複数の前記ブロックを有する不揮発性メモリに対するデータの書き込み及び読み出しを制御する読み書き制御部を備え、
前記不揮発性メモリは、データを書き込む前記ブロックの順番を表す順番情報を記憶し、
前記読み書き制御部は、前記順番情報が表す順番に従って、データを書き込む対象のブロックである書き込み対象ブロックを選択し、データを書き込む
制御装置。
＜２＞
前記読み書き制御部は、
前記不揮発性メモリのフォーマット時に、所定の順番を表す前記順番情報を、前記不揮発性メモリに書き込み、
データが書き込み済みの前記ブロックの数が、あらかじめ決められた閾値以上になった場合、前記順番情報を、ランダムな順番を表すように書き換える
＜１＞に記載の制御装置。
＜３＞
論物変換テーブルを作成する作成部をさらに備え、
データの書き込み及び読み出しが行われる単位をページとして、前記ブロックは、複数の前記ページを有し、
論理的な記憶領域を物理的な記憶領域に変換する論物変換を行う単位を、TU(Translation Unit)として、前記不揮発性メモリは、１以上の前記ページからなる物理的なTUである物理TUに、その物理TUに割り当てられている論理的なTUである論理TUを特定する論理TU番号を記憶し、
前記ブロックに含まれる前記物理TUのうちの所定の物理TUは、そのブロックに含まれる前記物理TUのすべてに前記論理TUが割り当てられている場合に、前記ブロックに含まれる前記物理TUそれぞれに割り当てられている前記論理TUの前記論理TU番号すべてを記憶し、
前記作成部は、前記物理TUから読み出された前記論理TU番号に基づいて、前記論理TUを前記物理TUに変換するための前記論物変換テーブルを作成し、
前記読み書き制御部は、前記論物変換テーブルの作成時に、
前記ブロックの前記所定の物理TUからの前記論理TU番号の読み出しを最初に行い、
前記所定の物理TUに、前記論理TU番号が記憶されていない場合、前記ブロックの他の物理TUからの前記論理TU番号の読み出しを行う
＜２＞に記載の制御装置。
＜４＞
前記読み書き制御部は、前記論物変換テーブルの作成時に、前記順番情報が前記所定の順番を表す場合には、
その所定の順番で、前記不揮発性メモリが有する前記ブロックから、注目する注目ブロックを選択し、
前記注目ブロックに含まれる前記物理TUからの前記論理TU番号の読み出しを行い、
前記注目ブロックに、前記論理TU番号が記憶されていない前記物理TUがある場合、その注目ブロックで、前記論理TU番号の読み出しを終了する
＜３＞に記載の制御装置。
＜５＞
前記読み書き制御部は、前記論物変換テーブルの作成時に、前記順番情報がランダムな順番を表す場合には、
前記不揮発性メモリが有する前記ブロックすべてを、順次、前記注目ブロックに選択し、
前記注目ブロックに含まれる前記物理TUからの前記論理TU番号の読み出しを行う
＜４＞に記載の制御装置。
＜６＞
前記ブロックに含まれる前記物理TUには、前記物理TUを特定する物理TU番号の番号順に、データが書き込まれ、
前記所定の物理TUは、最後にデータが書き込まれる前記物理TUである
＜３＞ないし＜５＞のいずれかに記載の制御装置。
＜７＞
前記読み書き制御部は、前記不揮発性メモリのフォーマット時に、前記ブロックを特定するブロック番号の番号順を表す前記順番情報を、前記不揮発性メモリに書き込む
＜２＞ないし＜６＞のいずれかに記載の制御装置。
＜８＞
前記読み書き制御部は、データが書き込み済みの前記ブロックの数が、あらかじめ決められた閾値以上になった場合、前記順番情報を消去することで、前記順番情報を、ランダムな順番を表すように書き換える
＜２＞ないし＜７＞のいずれかに記載の制御装置。
＜９＞
前記不揮発性メモリをさらに備える
＜１＞ないし＜８＞のいずれかに記載の制御装置。
＜１０＞
データの消去が行われる単位をブロックとして、複数の前記ブロックを有する不揮発性メモリに対するデータの書き込み及び読み出しを制御する読み書き制御部を備え、
前記不揮発性メモリが、データを書き込む前記ブロックの順番を表す順番情報を記憶する
制御装置の前記読み書き制御部が、前記順番情報が表す順番に従って、データを書き込む対象のブロックである書き込み対象ブロックを選択し、データを書き込む
ステップを含む制御方法。
＜１１＞
データの消去が行われる単位をブロックとして、複数の前記ブロックを有する不揮発性メモリに対するデータの書き込み及び読み出しを制御する読み書き制御部
として、コンピュータを機能させるプログラムであり、
前記不揮発性メモリは、データを書き込む前記ブロックの順番を表す順番情報を記憶し、
前記読み書き制御部は、前記順番情報が表す順番に従って、データを書き込む対象のブロックである書き込み対象ブロックを選択し、データを書き込む
プログラム。
＜１２＞
データの消去が行われる単位をブロックとして、複数の前記ブロックを有する不揮発性メモリに対するデータの書き込み及び読み出しを制御する読み書き制御部と、
物理TU(Translation Unit)に、論理TUを割り当てる割り当て部と
を備え、
データの書き込み及び読み出しが行われる単位をページとして、前記ブロックは、複数の前記ページを有し、
論理的な記憶領域を物理的な記憶領域に変換する論物変換を行う単位を、TUとして、前記不揮発性メモリは、１以上の前記ページからなる物理的なTUである前記物理TUに、その物理TUに割り当てられている論理的なTUである前記論理TUを特定する論理TU番号を記憶し、
前記ブロックに含まれる前記物理TUのうちの所定の物理TUは、そのブロックに含まれる前記物理TUのすべてに前記論理TUが割り当てられている場合に、前記ブロックに含まれる前記物理TUそれぞれに割り当てられている前記論理TUの前記論理TU番号すべてを記憶し、
データが書き込み済みの前記ブロックの数が、あらかじめ決められた閾値以上でない場合、
前記割り当て部は、未書き込みの前記物理TUを含む前記ブロックから選択された、注目する注目ブロックに含まれる前記物理TUのうちの、前記論理TUが割り当てられていない前記物理TUすべてに、前記論理TUを割り当て、
前記読み書き制御部は、前記注目ブロックに含まれる前記物理TUそれぞれに割り当てられている前記論理TUの前記論理TU番号すべてを、前記注目ブロックに含まれる前記所定の物理TUに書き込む
制御装置。
＜１３＞
前記読み書き制御部は、さらに、前記注目ブロックに含まれる、前記所定の物理TUの他の物理TUに、その物理TUに割り当てられている前記論理TUの前記論理TU番号を書き込む
＜１２＞に記載の制御装置。
＜１４＞
前記物理TUから読み出された前記論理TU番号に基づいて、前記論理TUを前記物理TUに変換するための前記論物変換テーブルを作成する作成部をさらに備え、
前記読み書き制御部は、前記論物変換テーブルの作成時に、
前記ブロックの前記所定の物理TUからの前記論理TU番号の読み出しを最初に行い、
前記所定の物理TUに、前記論理TU番号が記憶されていない場合、前記ブロックの他の物理TUからの前記論理TU番号の読み出しを行う
＜１２＞又は＜１３＞に記載の制御装置。
＜１５＞
前記ブロックに含まれる前記物理TUには、前記物理TUを特定する物理TU番号の番号順に、データが書き込まれ、
前記所定の物理TUは、最後にデータが書き込まれる前記物理TUである
＜１２＞ないし＜１４＞のいずれかに記載の制御装置。
＜１６＞
前記不揮発性メモリをさらに備える
＜１２＞ないし＜１５＞のいずれかに記載の制御装置。
【符号の説明】
【０４０４】
１１  TV機能部，  １２  CPU，  １３  ROM，  １４  RAM，  １５  ハードディスク，  １６  フラッシュメモリ，  １７  通信部，  １８  ドライブ，  １９  リムーバブル記録媒体，  ２１  ファイルシステム，  ２２  論物変換ライブラリ，  ２３  フラッシュメモリドライバ，  ３１  読み書き制御部，  ３２  作成部，  ３３  記憶部，  ３４  モード制御部，  ４１  読み書き制御部，  ４２  割り当て部，  １０１  CPU，  １０２  メモリ，  １０３  フラッシュメモリ，  １０４  外部I/F，  １１１  論物変換ライブラリ，  １１２  フラッシュメモリドライバ
【図１】
2014126989.tif 000003
【図２】
2014126989.tif 000004
【図３】
2014126989.tif 000005
【図４】
2014126989.tif 000006
【図５】
2014126989.tif 000007
【図６】
2014126989.tif 000008
【図７】
2014126989.tif 000009
【図８】
2014126989.tif 000010
【図９】
2014126989.tif 000011
【図１０】
2014126989.tif 000012
【図１１】
2014126989.tif 000013
【図１２】
2014126989.tif 000014
【図１３】
2014126989.tif 000015
【図１４】
2014126989.tif 000016
【図１５】
2014126989.tif 000017
【図１６】
2014126989.tif 000018
【図１７】
2014126989.tif 000019
【図１８】
2014126989.tif 000020
【図１９】
2014126989.tif 000021
【図２０】
2014126989.tif 000022
【図２１】
2014126989.tif 000023
【図２２】
2014126989.tif 000024
【図２３】
2014126989.tif 000025
【図２４】
2014126989.tif 000026
【図２５】
2014126989.tif 000027
【図２６】
2014126989.tif 000028
【図２７】
2014126989.tif 000029
【図２８】
2014126989.tif 000030
【図２９】
2014126989.tif 000031
【図３０】
2014126989.tif 000032
【図３１】
2014126989.tif 000033
【図３２】
2014126989.tif 000034