(57)【要約】【課題】使用するチャネル番号の増加を抑制しつつ、コンテンツファイル及び複数のコンテンツ管理情報ファイルを、書き込み性能の低下が発生しないように並列的に書き込むことが可能な不揮発性記憶装置を提供する。【解決手段】不揮発性記憶装置１は、データを記憶する不揮発性メモリ１２と、不揮発性メモリ１２の制御を行うメモリコントローラ１１とを備え、メモリコントローラ１１は、アクセス装置２からデータの書き込みを行っている期間中に、アクセス装置２から書き込みを休止する休止指示を受付け、アクセス装置２から受信したデータを所定時間内に不揮発性メモリ１２に書き込み後、書き込みを休止し、アクセス装置２からの新たなデータの読み出し及び／又は書き込みを受付ける。【選択図】図１
2011210235.tif 000002
【特許請求の範囲】
【請求項１】
アクセス装置と通信可能であり、前記アクセス装置からの指示によりデータの読み出し及び／又は書き込みを行う不揮発性記憶装置であって、
データを記憶する不揮発性メモリと、
前記不揮発性メモリの制御を行うメモリコントローラとを備え、
前記メモリコントローラは、前記アクセス装置からデータの書き込みを行っている期間中に、前記アクセス装置から書き込みを休止する休止指示を受付け、前記アクセス装置から受信したデータを所定時間内に前記不揮発性メモリに書き込み後、書き込みを休止し、前記アクセス装置からの新たなデータの読み出し及び／又は書き込みを受付けることを特徴とする不揮発性記憶装置。
【請求項２】
前記メモリコントローラは、
前記アクセス装置からデータの書き込みを行う書き込み指示を受け付けると、書き込みを行う前に、前記不揮発性メモリの一部を退避領域として確保し、退避領域を構成する物理ブロックを予め消去する休止制御部と、
前記アクセス装置からデータの書き込みを行っている期間中に前記休止指示を受付けなければ、前記退避領域以外の不揮発性メモリの一部に書き込みデータを書き込むコマンド処理部とを含み、
前記休止制御部は、前記アクセス装置からデータの書き込みを行っている期間中に前記休止指示を受付けると、前記退避領域に書き込みデータを書き込むことを特徴とする請求項１に記載の不揮発性記憶装置。
【請求項３】
前記休止制御部は、前記アクセス装置からデータの書き込みを行っている期間中に前記休止指示を受付けて書き込みを休止した後、前記アクセス装置からの指示により休止から復帰する復帰指示を受付けると、前記退避領域に書き込んだデータを読み出し、前記退避領域以外の不揮発性メモリの一部にコピーすることを特徴とする請求項２に記載の不揮発性記憶装置。
【請求項４】
前記休止制御部は、前記アクセス装置からデータの書き込みを行っている期間中に前記休止指示を受付けて書き込みを休止した状態であるか否かを前記アクセス装置が判断するための情報を、前記アクセス装置に出力することを特徴とする請求項１に記載の不揮発性記憶装置。
【請求項５】
不揮発性記憶装置に複数のコンテンツデータの書き込みを行うアクセス装置であって、
前記複数のコンテンツデータの各々は、コンテンツを格納するコンテンツファイルと、前記コンテンツに付随する関連情報を格納する複数のコンテンツ管理情報ファイルとに分割して前記不揮発性記憶装置に格納されるデータであり、
前記複数のコンテンツデータを時分割多重により前記不揮発性記憶装置に書き込む場合、コンテンツデータ毎に所定単位時間で前記不揮発性記憶装置へのアクセス時間を割り当てる割り当て部と、
前記アクセス時間の範囲内で、前記コンテンツファイルの書き込みと、前記複数のコンテンツ管理情報ファイルの書き込みとを行う書き込み部とを備えることを特徴とするアクセス装置。
【請求項６】
前記書き込み部は、前記コンテンツファイルの書き込み後、前記複数のコンテンツ管理情報ファイルの書き込みを行うことを特徴とする請求項５に記載のアクセス装置。
【請求項７】
前記割り当て部は、前記不揮発性記憶装置がデータの書き込みを行っている期間中に書き込みを休止する休止指示を前記不揮発性記憶装置に行うことを特徴とする請求項５に記載のアクセス装置。
【請求項８】
前記割り当て部は、コンテンツデータの記録レートが高いほどアクセス時間が長くなるように、コンテンツデータ毎にアクセス時間を割り当てることを特徴とする請求項５に記載のアクセス装置。
【請求項９】
前記割り当て部は、コンテンツデータの記録開始及び／又は記録終了の度にアクセス時間を再設定することを特徴とする請求項５に記載のアクセス装置。
【請求項１０】
請求項１〜４のいずれか１項に記載の不揮発性記憶装置と、
請求項５〜９のいずれか１項に記載のアクセス装置とを備える不揮発性記憶システム。
【請求項１１】
不揮発性記憶装置に複数のコンテンツデータの書き込みを行うアクセス装置であって、
前記複数のコンテンツデータの各々は、コンテンツを格納するコンテンツファイルと、前記コンテンツに付随する関連情報を格納する複数のコンテンツ管理情報ファイルとに分割して前記不揮発性記憶装置に格納されるデータであり、
前記コンテンツファイルを前記不揮発性記憶装置に書き込む書き込み部と、
前記コンテンツファイルの書き込みを継続している期間は、前記複数のコンテンツ管理情報ファイルの更新情報を、所定の書き込み単位であるエントリ単位で管理情報キャッシュファイルの先頭から順に追記的に書き込む管理部とを備え、
前記管理部は、前記コンテンツファイルの書き込みが終了した後に、前記管理情報キャッシュファイルに書き込まれた前記更新情報を前記複数のコンテンツ管理情報ファイルにコピーして反映することを特徴とするアクセス装置。
【請求項１２】
前記管理部は、前記管理情報キャッシュファイルに書き込まれた前記更新情報を前記複数のコンテンツ管理情報ファイルにコピーした後、前記管理情報キャッシュファイルを削除することを特徴とする請求項１１に記載のアクセス装置。
【請求項１３】
前記管理部は、前記コンテンツファイルの書き込み開始前に、前記管理情報キャッシュファイルのファイルデータを書き込む領域として、固定領域且つ連続なアドレス空間を確保することを特徴とする請求項１１に記載のアクセス装置。
【請求項１４】
前記管理部は、前記更新情報とともに、前記管理情報キャッシュファイルに格納された各更新情報のアドレス情報を検索するためのテーブルであるキャッシュアロケーションテーブルを前記エントリに書き込むことを特徴とする請求項１１に記載のアクセス装置。
【請求項１５】
前記管理部は、前記エントリに、該エントリにデータが書き込まれたか否かを判定するためのフラグである書き込み済フラグを書き込むことを特徴とする請求項１１に記載のアクセス装置。
【請求項１６】
前記管理部は、前記エントリに、該エントリよりも前のアドレスに格納されたエントリを一括して有効化するための整合性フラグを書き込むことを特徴とする請求項１１に記載のアクセス装置。
【請求項１７】
前記管理部は、前記エントリに、異なる論理セクタアドレスに対する複数の更新情報を書き込むことを特徴とする請求項１１に記載のアクセス装置。
【請求項１８】
前記管理部は、前記不揮発性記憶装置の装着後に、前記管理情報キャッシュファイルが存在するか否かを確認し、前記管理情報キャッシュファイルが存在する場合には、前記管理情報キャッシュファイルに書き込まれた前記更新情報を前記複数のコンテンツ管理情報ファイルにコピーすることを特徴とする請求項１２に記載のアクセス装置。
【請求項１９】
アクセス装置と通信可能であり、前記アクセス装置からの指示によりデータの読み出し及び／又は書き込みを行う不揮発性記憶装置であって、
データを記憶する不揮発性メモリと、
前記不揮発性メモリの制御を行うメモリコントローラとを備え、
前記不揮発性メモリに書き込まれる複数のコンテンツデータの各々は、コンテンツを格納するコンテンツファイルと、前記コンテンツに付随する関連情報を格納する複数のコンテンツ管理情報ファイルとに分割して前記不揮発性メモリに格納されるデータであり、
前記不揮発性メモリは、前記複数のコンテンツ管理情報ファイルの更新情報を一時的に書き込む管理情報キャッシュファイルを有し、
前記管理情報キャッシュファイルは、前記更新情報の書き込み単位であるエントリの集合で構成され、
前記エントリは、前記更新情報とともに、前記管理情報キャッシュファイルに格納された各更新情報のアドレス情報を検索するためのテーブルであるキャッシュアロケーションテーブルを含むことを特徴とする不揮発性記憶装置。
【請求項２０】
請求項１９に記載の不揮発性記憶装置と、
請求項１１〜１８のいずれか１項に記載のアクセス装置とを備える不揮発性記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリ及び該不揮発性メモリを制御するメモリコントローラを備える半導体メモリカード等の不揮発性記憶装置、該不揮発性記憶装置にアクセスするアクセス装置、並びにこれらを含む不揮発性記憶システムに関する。
【背景技術】
【０００２】
近年、半導体メモリカードを中心に、書き換え可能な不揮発性メモリを備える不揮発性記憶装置の需要が広まっている。半導体メモリカードは、光ディスクやテープメディアなどと比較して高価格なものではある。
【０００３】
しかしながら、半導体メモリカードは、小型・軽量・大容量・耐震性・取り扱いの簡便さ等のメリットが大きいので、デジタルスチルカメラや携帯電話などのポータブル機器の記録媒体として、その需要が高まっており、最近では、民生用動画記録機器や放送局向けのプロ用動画記録機器の記録媒体としても、利用されるようになってきている。
【０００４】
さらに、最近では、ポータブル機器だけではなく、デジタルテレビやＤＶＤレコーダ等の据え置き機器にも、半導体メモリカード用のスロットが標準搭載されており、半導体メモリカードの需要は、さらに高まっている。
【０００５】
上記の半導体メモリカードは、不揮発性の主記憶メモリとしてフラッシュメモリ（主にＮＡＮＤ型）を備え、それを制御するメモリコントローラを有している。メモリコントローラは、デジタルスチルカメラ本体等に代表されるアクセス装置からのデータの読み書き指示に応じて、フラッシュメモリに対するデータの読み書き制御を行うものである。
【０００６】
一方、アクセス装置は、半導体メモリカードの記憶領域の管理をＦＡＴ（File Allocation Table）ファイルシステムなどのファイルシステムによって行う。ファイルシステムを用いることにより、半導体メモリカードには、動画、音声、静止画などのコンテンツデータが、個々のファイルとして格納される。
【０００７】
ここで、半導体メモリカードの大容量化によって、複数ファイルを並列的に書き込むようなシステムが今後増加していくと予想される。例えば、半導体メモリカードに放送録画を行うアクセス装置では、近年のＤＶＤレコーダ等と同様に、複数番組の同時録画機能に対する要望が高まっていくと考えられる。
【０００８】
このようなシステムにおいて、アクセス装置側では、論理的な意味がある（例えば、番組毎やコンテンツデータ毎に）データを並列的に書き込むが、半導体メモリカード側では、論理的な意味を持たずに、複数のファイルがバラバラに混在して書き込まれるために、これらを識別できず、書き込み性能が低下するという問題があった。
【０００９】
従来、このような問題を解決する方法として、アクセス装置が半導体メモリカードにチャネル番号を指定してデータを書き込む方法が提案されている（例えば、特許文献１参照）。
【００１０】
この方法では、半導体メモリカードがチャネル番号毎に書き込み先の物理アドレスの管理を行う。アクセス装置は、意味があるデータ毎（例えばコンテンツデータ毎）にチャネル番号を割り当てて、チャネル番号と共にデータを書き込む。この場合、半導体メモリカードは、意味があるデータ毎に書き込み先を管理することになるため、並列的な書き込みによる書き込み性能の低下を防止することが可能となる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】国際公開第２００９／０１３８７７号
【発明の概要】
【発明が解決しようとする課題】
【００１２】
一般的に、アクセス装置がコンテンツデータを半導体メモリカード等の不揮発性記憶装置に記録する場合、該コンテンツデータとして、コンテンツを格納するコンテンツファイルを記録すると共に、該コンテンツに付随する様々な関連情報（例えば、名称、サムネイル画像、タイムサーチテーブル、ビットレート、再生時間、暗号化情報など）も、コンテンツ管理情報ファイルとして記録する。
【００１３】
さらに、該コンテンツデータを含む、全てのコンテンツに付随する様々な情報（例えば、総コンテンツ数、総再生時間、プレイリストなど）も別のコンテンツ管理情報ファイルとして記録する。このとき、コンテンツ管理情報ファイルは、格納する情報の種別毎に多くのファイルに分割されていることが多い。従って、１つのコンテンツデータを記録した場合、それに伴い多くのコンテンツ管理情報ファイルの内容を更新する必要がある。
【００１４】
これらのコンテンツ管理情報ファイルは、主にアクセス装置が不揮発性記憶装置に格納されたコンテンツデータを再生する場合に、使用される。アクセス装置は、不揮発性記憶装置に記録されたコンテンツ管理情報ファイルを参照し、所望のコンテンツデータに関する様々な情報を検索・取得した後、コンテンツファイルからコンテンツデータを再生する。このとき、コンテンツ管理情報ファイルを使用することで、コンテンツデータ数が数千、数万と増加した場合であっても、コンテンツデータの管理が容易で、検索が高速となるといったメリットがある。
【００１５】
ところで、コンテンツデータの記録後、コンテンツ管理情報ファイルを更新する前に電源遮断や不揮発性記憶装置の抜去が発生した場合には、コンテンツ管理情報ファイルが更新されていないため、該コンテンツデータが検索できず、再生不可能な状態となる。従って、コンテンツデータの記録と共に、コンテンツ管理情報ファイルを更新することが望ましい。
【００１６】
また、複数のコンテンツデータを並列的に記録するようなシステムでは、あるコンテンツデータの記録が完了しても、別のコンテンツデータの記録が継続している可能性がある。そのような状態であっても、記録が完了したコンテンツデータに関するコンテンツ管理情報ファイルを速やかに更新することが望ましい。
【００１７】
ここで、複数のコンテンツデータを並列的に記録するようなシステムにおいて、コンテンツファイル及びコンテンツ管理情報ファイル毎にチャネル番号を割り当てて、並列的な書き込みによる書き込み性能の低下を防止する方法が考えられる。
【００１８】
しかしながら、コンテンツファイル及びコンテンツ管理情報ファイル毎にチャネル番号を割り当てるならば、非常に多くのチャネル番号を必要とすることになる。このことは、（１）アクセス装置及び不揮発性記憶装置におけるチャネル番号の管理が複雑化する、（２）不揮発性記憶装置にてチャネル番号毎に書き込み先物理ブロックを確保しなければならず、記憶容量が減少する、といった課題がある。
【００１９】
本発明は、上記課題を鑑みてなされたものであり、使用するチャネル番号の増加を抑制しつつ、コンテンツファイル及び複数のコンテンツ管理情報ファイルを、書き込み性能の低下が発生しないように並列的に書き込むことが可能な、不揮発性記憶装置、アクセス装置、及び不揮発性記憶システムを提供することを目的とする。
【課題を解決するための手段】
【００２０】
本発明に係る不揮発性記憶装置は、アクセス装置と通信可能であり、前記アクセス装置からの指示によりデータの読み出し及び／又は書き込みを行う不揮発性記憶装置であって、データを記憶する不揮発性メモリと、前記不揮発性メモリの制御を行うメモリコントローラとを備え、前記メモリコントローラは、前記アクセス装置からデータの書き込みを行っている期間中に、前記アクセス装置から書き込みを休止する休止指示を受付け、前記アクセス装置から受信したデータを所定時間内に前記不揮発性メモリに書き込み後、書き込みを休止し、前記アクセス装置からの新たなデータの読み出し及び／又は書き込みを受付ける。
【００２１】
この不揮発性記憶装置においては、アクセス装置からデータの書き込みを行っている期間中に、アクセス装置から書き込みを休止する休止指示を受付け、アクセス装置から受信したデータを所定時間内に前記不揮発性メモリに書き込み、その後、書き込みを休止し、アクセス装置からの新たなデータの読み出し及び／又は書き込みを受付けるので、使用するチャネル番号の増加を抑制しつつ、複数のデータ、例えば、コンテンツファイル及び複数のコンテンツ管理情報ファイルを、書き込み性能の低下が発生しないように並列的に書き込むことができる。
【００２２】
前記メモリコントローラは、前記アクセス装置からデータの書き込みを行う書き込み指示を受け付けると、書き込みを行う前に、前記不揮発性メモリの一部を退避領域として確保し、前記退避領域を構成する物理ブロックを予め消去する休止制御部と、前記アクセス装置からデータの書き込みを行っている期間中に前記休止指示を受付けなければ、前記退避領域以外の不揮発性メモリの一部に書き込みデータを書き込むコマンド処理部とを含み、前記休止制御部は、前記アクセス装置からデータの書き込みを行っている期間中に前記休止指示を受付けると、前記退避領域に書き込みデータを書き込むことが好ましい。
【００２３】
この場合、アクセス装置からデータの書き込みを行う書き込み指示を受け付けると、書き込みを行う前に、不揮発性メモリの一部を退避領域として確保するとともに、退避領域を構成する物理ブロックを予め消去しているので、不揮発性メモリの一部を退避領域として確保することができる。従って、アクセス装置からデータの書き込みを行っている期間中に休止指示を受付けない場合は、退避領域以外の不揮発性メモリの一部に書き込みデータを書き込み、一方、アクセス装置からデータの書き込みを行っている期間中に休止指示を受付けた場合は、退避領域に書き込みデータを書き込むことができるので、直前の書き込み指示がランダムなアドレスに対するものなどで比較的長い処理時間がかかっている場合に、書き込み指示を一時的に休止させ、未書き込みのデータを退避領域に一時的に記憶することができる。
【００２４】
前記休止制御部は、前記アクセス装置からデータの書き込みを行っている期間中に前記休止指示を受付けて書き込みを休止した後、前記アクセス装置からの指示により休止から復帰する復帰指示を受付けると、前記退避領域に書き込んだデータを読み出し、前記退避領域以外の不揮発性メモリの一部にコピーすることが好ましい。
【００２５】
この場合、アクセス装置からデータの書き込みを行っている期間中に休止指示を受付けて書き込みを休止した後、アクセス装置からの指示により休止から復帰する復帰指示を受付けると、退避領域に書き込んだデータを読み出し、退避領域以外の不揮発性メモリの一部にコピーしているので、複数のコンテンツ管理情報ファイルをランダムなアドレスに対して書き込む場合でも、所定のアクセス時間の範囲内で、コンテンツファイルの書き込みと、コンテンツ管理情報ファイルの書き込みとを時分割多重により並列的に行うことができる。
【００２６】
前記休止制御部は、前記アクセス装置からデータの書き込みを行っている期間中に前記休止指示を受付けて書き込みを休止した状態であるか否かを前記アクセス装置が判断するための情報を、前記アクセス装置に出力することが好ましい。
【００２７】
この場合、アクセス装置からデータの書き込みを行っている期間中に休止指示を受付けて書き込みを休止した状態であるか否かをアクセス装置が判断するための情報をアクセス装置に出力しているので、アクセス装置は、この情報を基に一時的に休止していた処理を再開させることができる。
【００２８】
本発明に係るアクセス装置は、不揮発性記憶装置に複数のコンテンツデータの書き込みを行うアクセス装置であって、前記複数のコンテンツデータの各々は、コンテンツを格納するコンテンツファイルと、前記コンテンツに付随する関連情報を格納する複数のコンテンツ管理情報ファイルとに分割して前記不揮発性記憶装置に格納されるデータであり、前記複数のコンテンツデータを時分割多重により前記不揮発性記憶装置に書き込む場合、コンテンツデータ毎に所定単位時間で前記不揮発性記憶装置へのアクセス時間を割り当てる割り当て部と、前記アクセス時間の範囲内で、前記コンテンツファイルの書き込みと、前記複数のコンテンツ管理情報ファイルの書き込みとを行う書き込み部とを備える。
【００２９】
このアクセス装置においては、コンテンツを格納するコンテンツファイルと、コンテンツに付随する関連情報を格納する複数のコンテンツ管理情報ファイルとに分割して不揮発性記憶装置に格納される複数のコンテンツデータを時分割多重により並列的に不揮発性記憶装置に書き込む場合、コンテンツデータ毎に所定単位時間で不揮発性記憶装置へのアクセス時間を割り当て、アクセス時間の範囲内で、コンテンツファイルの書き込みと、コンテンツ管理情報ファイルの書き込みとを行っているので、使用するチャネル番号の増加を抑制しつつ、コンテンツファイル及び複数のコンテンツ管理情報ファイルを、書き込み性能の低下が発生しないように並列的に書き込むことができる。
【００３０】
前記書き込み部は、前記コンテンツファイルの書き込み後、前記複数のコンテンツ管理情報ファイルの書き込みを行うことが好ましい。
【００３１】
この場合、コンテンツファイルの書き込み後、複数のコンテンツ管理情報ファイルの書き込みを行っているので、コンテンツファイルの書き込みに割り当てられたアクセス時間を用いて、複数のコンテンツ管理情報ファイルを書き込むことができる。この結果、複数のコンテンツ管理情報ファイルをランダムなアドレスに対して書き込む場合でも、所定のアクセス時間の範囲内で、コンテンツファイルの書き込みと、コンテンツ管理情報ファイルの書き込みとを時分割多重により並列的に行うことができる。
【００３２】
前記割り当て部は、前記不揮発性記憶装置がデータの書き込みを行っている期間中に書き込みを休止する休止指示を前記不揮発性記憶装置に行うことが好ましい。
【００３３】
この場合、不揮発性記憶装置がデータの書き込みを行っている期間中に書き込みを休止する休止指示を不揮発性記憶装置に行うことができるので、直前の書き込み指示がランダムなアドレスに対するものなどで比較的長い処理時間がかかっている場合に、書き込み指示を一時的に休止させることができる。
【００３４】
前記割り当て部は、コンテンツデータの記録レートが高いほどアクセス時間が長くなるように、コンテンツデータ毎にアクセス時間を割り当てることが好ましい。
【００３５】
この場合、コンテンツデータの記録レートが高いほどアクセス時間が長くなるように、コンテンツデータ毎にアクセス時間を割り当てているので、各コンテンツデータの記録レートに応じて複数のコンテンツデータを並列的に且つ高速に記録することができる。
【００３６】
前記割り当て部は、コンテンツデータの記録開始及び／又は記録終了の度にアクセス時間を再設定することが好ましい。
【００３７】
この場合、コンテンツデータの記録開始及び／又は記録終了の度にアクセス時間を再設定しているので、記録すべきコンテンツデータの数に応じて適切なアクセス時間を設定することができ、複数のコンテンツデータを並列的に且つ高速に記録することができる。
【００３８】
本発明に係る不揮発性記憶システムは、上述の不揮発性記憶装置と、上述のアクセス装置とを備える。
【００３９】
本発明に係る他のアクセス装置は、不揮発性記憶装置に複数のコンテンツデータの書き込みを行うアクセス装置であって、前記複数のコンテンツデータの各々は、コンテンツを格納するコンテンツファイルと、前記コンテンツに付随する関連情報を格納する複数のコンテンツ管理情報ファイルとに分割して前記不揮発性記憶装置に格納されるデータであり、前記コンテンツファイルを前記不揮発性記憶装置に書き込む書き込み部と、前記コンテンツファイルの書き込みを継続している期間は、前記複数のコンテンツ管理情報ファイルの更新情報を、所定の書き込み単位であるエントリ単位で管理情報キャッシュファイルの先頭から順に追記的に書き込む管理部とを備え、前記管理部は、前記コンテンツファイルの書き込みが終了した後に、前記管理情報キャッシュファイルに書き込まれた前記更新情報を前記複数のコンテンツ管理情報ファイルにコピーして反映する。
【００４０】
このアクセス装置においては、コンテンツを格納するコンテンツファイルの書き込みを継続している期間は、コンテンツに付随する関連情報を格納する複数のコンテンツ管理情報ファイルの更新情報を、所定の書き込み単位であるエントリ単位で管理情報キャッシュファイルの先頭から順に追記的に書き込み、コンテンツファイルの書き込みが終了した後に、管理情報キャッシュファイルに書き込まれた更新情報を複数のコンテンツ管理情報ファイルにコピーして反映しているので、使用するチャネル番号の増加を抑制しつつ、コンテンツファイル及び複数のコンテンツ管理情報ファイルを、書き込み性能の低下が発生しないように並列的に書き込むことができる。
【００４１】
前記管理部は、前記管理情報キャッシュファイルに書き込まれた前記更新情報を前記複数のコンテンツ管理情報ファイルにコピーした後、前記管理情報キャッシュファイルを削除することが好ましい。
【００４２】
この場合、管理情報キャッシュファイルに書き込まれた更新情報を複数のコンテンツ管理情報ファイルにコピーした後、管理情報キャッシュファイルを削除しているので、本来のコンテンツ管理情報ファイルよりも新しいデータ又は同一データを管理情報キャッシュファイルに常に格納することができる。
【００４３】
前記管理部は、前記コンテンツファイルの書き込み開始前に、前記管理情報キャッシュファイルのファイルデータを書き込む領域として、固定領域且つ連続なアドレス空間を確保することが好ましい。
【００４４】
この場合、コンテンツファイルの書き込み開始前に、管理情報キャッシュファイルのファイルデータを書き込む領域として、固定領域且つ連続なアドレス空間を確保しているので、複数のコンテンツ管理情報ファイルの更新情報を管理情報キャッシュファイルに高速に書き込むことができる。
【００４５】
前記管理部は、前記更新情報とともに、前記管理情報キャッシュファイルに格納された各更新情報のアドレス情報を検索するためのテーブルであるキャッシュアロケーションテーブルを前記エントリに書き込むことが好ましい。
【００４６】
この場合、更新情報とともに、キャッシュアロケーションテーブルをエントリに書き込んでいるので、管理情報キャッシュファイルに格納された各更新情報のアドレス情報を容易に検索することができる。
【００４７】
前記管理部は、前記更新情報の論理セクタアドレスを前記キャッシュアロケーションテーブルに書き込むことが好ましい。
【００４８】
この場合、更新情報の論理セクタアドレスをキャッシュアロケーションテーブルに書き込んでいるので、管理情報キャッシュファイルに格納された各更新情報のアドレス情報をより高速に検索することができる。
【００４９】
前記管理部は、前記更新情報の識別子である管理情報ＩＤを前記キャッシュアロケーションテーブルに書き込むことが好ましい。
【００５０】
この場合、更新情報の識別子である管理情報ＩＤを前記キャッシュアロケーションテーブルに書き込んでいるので、データの生成や電源の制御などアクセス装置全体の制御を行うアプリケーション部内に管理部を構成することができる。
【００５１】
前記管理部は、前記エントリに、該エントリにデータが書き込まれたか否かを判定するためのフラグである書き込み済フラグを書き込むことが好ましい。
【００５２】
この場合、書き込み済フラグをエントリに書き込んでいるので、該エントリにデータが書き込まれたか否かを容易に判定することができる。
【００５３】
前記管理部は、前記エントリに、該エントリよりも前のアドレスに格納されたエントリを一括して有効化するための整合性フラグを書き込むことが好ましい。
【００５４】
この場合、エントリに、該エントリよりも前のアドレスに格納されたエントリを一括して有効化するための整合性フラグを書き込んでいるので、複数のコンテンツ管理情報ファイルの更新を一括して有効にするか、無効にするかの何れかの状態にすることができる。
【００５５】
前記管理部は、前記エントリに、異なる論理セクタアドレスに対する複数の更新情報を書き込むことが好ましい。
【００５６】
この場合、エントリに、異なる論理セクタアドレスに対する複数の更新情報を書き込んでいるので、複数のコンテンツ管理情報ファイルの更新データを１つのエントリ書き込みで実施することができ、管理情報キャッシュファイルの書き込み効率を向上することができるとともに、複数のコンテンツ管理情報ファイルの更新を一括して有効にしたり、無効にしたりすることができる。
【００５７】
前記管理部は、前記不揮発性記憶装置の装着後に、前記管理情報キャッシュファイルが存在するか否かを確認し、前記管理情報キャッシュファイルが存在する場合には、前記管理情報キャッシュファイルに書き込まれた前記更新情報を前記複数のコンテンツ管理情報ファイルにコピーすることが好ましい。
【００５８】
この場合、不揮発性記憶装置の装着後に、管理情報キャッシュファイルが存在するか否かを確認し、管理情報キャッシュファイルが存在する場合には、管理情報キャッシュファイルに書き込まれた更新情報を複数のコンテンツ管理情報ファイルにコピーしているので、管理情報キャッシュファイルに書き込まれた各コンテンツ管理情報ファイルの更新データを各コンテンツ管理情報ファイルに反映させることができ、電源遮断や不揮発性記憶装置の抜去という異常状態からの復帰が可能となる。
【００５９】
本発明に係る他の不揮発性記憶装置は、アクセス装置と通信可能であり、前記アクセス装置からの指示によりデータの読み出し及び／又は書き込みを行う不揮発性記憶装置であって、データを記憶する不揮発性メモリと、前記不揮発性メモリの制御を行うメモリコントローラとを備え、前記不揮発性メモリに書き込まれる複数のコンテンツデータの各々は、コンテンツを格納するコンテンツファイルと、前記コンテンツに付随する関連情報を格納する複数のコンテンツ管理情報ファイルとに分割して前記不揮発性メモリに格納されるデータであり、前記不揮発性メモリは、前記複数のコンテンツ管理情報ファイルの更新情報を一時的に書き込む管理情報キャッシュファイルを有し、前記管理情報キャッシュファイルは、前記更新情報の書き込み単位であるエントリの集合で構成され、前記エントリは、前記更新情報とともに、前記管理情報キャッシュファイルに格納された各更新情報のアドレス情報を検索するためのテーブルであるキャッシュアロケーションテーブルを含む。
【００６０】
この不揮発性記憶装置は、コンテンツに付随する関連情報を格納する複数のコンテンツ管理情報ファイルの更新情報を一時的に書き込む管理情報キャッシュファイルを有し、管理情報キャッシュファイルは、更新情報の書き込み単位であるエントリの集合で構成され、エントリは、更新情報とともに、管理情報キャッシュファイルに格納された各更新情報のアドレス情報を検索するためのテーブルであるキャッシュアロケーションテーブルを含んでいるので、コンテンツを格納するコンテンツファイルの書き込みを継続している期間は、複数のコンテンツ管理情報ファイルの更新情報をエントリ単位で管理情報キャッシュファイルの先頭から順に追記的に書き込み、コンテンツファイルの書き込みが終了した後に、管理情報キャッシュファイルに書き込まれた更新情報を複数のコンテンツ管理情報ファイルにコピーして反映することができるので、使用するチャネル番号の増加を抑制しつつ、コンテンツファイル及び複数のコンテンツ管理情報ファイルを、書き込み性能の低下が発生しないように並列的に書き込むことができる。
【００６１】
本発明に係る他の不揮発性記憶システムは、上述の他の不揮発性記憶装置と、上述の他のアクセス装置とを備える。
【発明の効果】
【００６２】
本発明によれば、使用するチャネル番号の増加を抑制しつつ、コンテンツファイル及び複数のコンテンツ管理情報ファイルを、書き込み性能の低下が発生しないように並列的に書き込むことが可能な、不揮発性記憶装置、アクセス装置、及び不揮発性記憶システムを提供することが可能となる。
【図面の簡単な説明】
【００６３】
【図１】本発明の実施の形態１における不揮発性記憶システムの構成を示すブロック図である。
【図２】本発明の実施の形態１におけるアクセス装置が使用する帯域管理テーブルの一例を示す図である。
【図３】本発明の実施の形態１における不揮発性記憶装置が使用する休止管理テーブルの一例を示す図である。
【図４】本発明の実施の形態１におけるアクセス装置のアプリケーション部が不揮発性記憶装置にコンテンツデータを格納する際のディレクトリ及びファイル構成の一例を示した説明図である。
【図５】本発明の実施の形態１における不揮発性記憶装置のチャネル休止コマンド処理の手順を示すフローチャートである。
【図６】本発明の実施の形態１における不揮発性記憶装置のチャネル復帰コマンド処理の手順を示すフローチャートである。
【図７】本発明の実施の形態１における不揮発性記憶装置のチャネル状態取得コマンド処理の手順を示すフローチャートである。
【図８】本発明の実施の形態１における不揮発性記憶装置の読み出しコマンド処理の手順を示すフローチャートである。
【図９】本発明の実施の形態１における不揮発性記憶装置１の書き込みコマンド処理の手順を示すフローチャートである。
【図１０】本発明の実施の形態１におけるアクセス装置の準備処理の手順を示すフローチャートである。
【図１１】本発明の実施の形態１におけるアクセス装置の記録処理の手順を示すフローチャートである。
【図１２】本発明の実施の形態１におけるアクセス装置のコンテンツ管理情報ファイル書き込みの手順を示すフローチャートである。
【図１３】本発明の実施の形態１による記録処理における帯域の割り当ての一例を示した説明図である。
【図１４】本発明の実施の形態２における不揮発性記憶システムの構成を示すブロック図である。
【図１５】本発明の実施の形態２におけるアクセス装置のアプリケーション部が不揮発性記憶装置にコンテンツデータを格納する際のディレクトリ及びファイル構成の一例を示した説明図である。
【図１６】本発明の実施の形態２におけるＭＩＣＦのデータフォーマットの一例を示す図である。
【図１７】本発明の実施の形態２におけるＭＩＣＦ作成処理の手順を示すフローチャートである。
【図１８】本発明の実施の形態２におけるＭＩＣＦ作成処理後のＭＩＣＦの状態の一例を示す図である。
【図１９】本発明の実施の形態２におけるＭＩＣＦを利用した管理情報書き込み処理の手順を示すフローチャートである。
【図２０】本発明の実施の形態２におけるＭＩＣＦ作成処理後に管理情報書き込み処理を１回実施した後のＭＩＣＦの状態の一例を示す図である。
【図２１】本発明の実施の形態２におけるＭＩＣＦ作成処理後に管理情報書き込み処理を２回実施した後のＭＩＣＦの状態の一例を示す図である。
【図２２】本発明の実施の形態２におけるＭＩＣＦ作成処理後に管理情報書き込み処理を３回実施した後のＭＩＣＦの状態の一例を示す図である。
【図２３】本発明の実施の形態２におけるＭＩＣＦを利用した管理情報読み出し処理の手順を示すフローチャートである。
【図２４】本発明の実施の形態２における準備処理の手順を示すフローチャートである。
【図２５】本発明の実施の形態２における記録処理の手順を示すフローチャートである。
【図２６】本発明の実施の形態２の変形例１におけるＭＩＣＦのデータフォーマットの一例を示す図である。
【図２７】本発明の実施の形態２の変形例２におけるＭＩＣＦのデータフォーマットの一例を示す図である。
【図２８】本発明の実施の形態２の変形例２におけるＭＩＣＦの書き込み状態例１を示す図である。
【図２９】本発明の実施の形態２の変形例２におけるＭＩＣＦの書き込み状態例２を示す図である。
【図３０】本発明の実施の形態２の変形例３におけるＭＩＣＦのデータフォーマットの一例を示す図である。
【図３１】本発明の実施の形態２の変形例４におけるＭＩＣＦのデータフォーマットの一例を示す図である。
【発明を実施するための形態】
【００６４】
以下、本発明の各実施の形態について、図面を参照しながら説明する。
【００６５】
（実施の形態１）
＜１．１：不揮発性記憶システムの構成＞
図１は、本発明の実施の形態１における不揮発性記憶システム１０００の概略構成図である。図１に示すように、不揮発性記憶システム１０００は、不揮発性記憶装置１と、不揮発性記憶装置１が装着されるアクセス装置２とを含んで構成される。不揮発性記憶装置１と、アクセス装置２とは、バスＢ１により接続されて、双方向に通信を行うことができ、不揮発性記憶装置１は、アクセス装置２からの指示に応じてデータの読み出し及び／又は書き込みを行う。不揮発性記憶装置１は、例えば、半導体メモリカードである。アクセス装置２は、例えば、半導体メモリカードに動画コンテンツを記録するビデオレコーダである。
【００６６】
（１．１．１：アクセス装置の構成）
アクセス装置２は、図１に示すように、ＣＰＵ（Central Processing Unit）２１と、ＲＡＭ（Random Access Memory）２２と、ＲＯＭ（Read-Only Memory）２３と、不揮発性記憶装置インタフェース（ＩＦ）部２４と、ＡＶ（Audio Visual）入力部２５と、符号処理部２６と、暗号処理部２７と、を含む。アクセス装置２の各機能部は、図１に示すように、バスＢＡ１を介して接続されている。なお、アクセス装置２は、アクセス装置２の機能部の全部又は一部が直接接続される構成であってもよい。
【００６７】
ＣＰＵ２１は、ＲＡＭ２２及びＲＯＭ２３を用いて、アクセス装置２の各種制御を行う。
【００６８】
ＲＡＭ２２は、所定のアドレスに対して、各種データの読み出し／書き込み処理を実行することができる。そして、ＲＡＭ２２に保持されているデータ等は、ＣＰＵ２１やアクセス装置２の各機能部からアクセスすることができる。
【００６９】
ＲＯＭ２３には、アクセス装置２を制御するプログラムが格納されている。このプログラムは、ＲＡＭ２２にロードされ、ＣＰＵ２１により実行される。
【００７０】
不揮発性記憶装置ＩＦ部２４は、不揮発性記憶装置１とアクセス装置２との接続部である。制御信号及びデータは、不揮発性記憶装置ＩＦ部２４を介して、アクセス装置２と不揮発性記憶装置１との間で、送受信される。
【００７１】
ＡＶ入力部２５は、外部から放送波などのＡＶ入力データ（映像や音声のデータ、及びこれらに関連する制御データ）を受信する。ＡＶ入力部２５により受信されたＡＶ入力データは、ＲＯＭ２３に格納されたプログラムによる処理や、符号処理部２６による符号処理や、暗号処理部２７による暗号処理が施され、コンテンツデータが、コンテンツファイル及びコンテンツ管理情報ファイルとして不揮発性記憶装置１に格納される。
【００７２】
ここで、コンテンツデータは、コンテンツを格納するコンテンツファイルと、コンテンツに付随する関連情報（例えば、名称、サムネイル画像、タイムサーチテーブル、ビットレート、再生時間、暗号化情報など）を格納する複数のコンテンツ管理情報ファイルとに分割して不揮発性記憶装置１に格納されるデータである。
【００７３】
符号処理部２６は、ＡＶ入力部２５により受信されたＡＶ入力データに対して、所定の符号方式による符号処理を実行する。
【００７４】
暗号処理部２７は、ＡＶ入力部２５により受信されたＡＶ入力データ（例えば、暗号化が指示されているＡＶ入力データ）、あるいは、符号処理部２６により符号処理が実行されたＡＶ入力データに対して、所定の暗号方式による暗号処理を行う。
【００７５】
ＲＯＭ２３は、図１に示すように、アプリケーション部２０１と、ファイルシステム部２０２と、不揮発性記憶装置アクセスドライバ部２０３と、を含む。なお、本実施の形態では、アプリケーション部２０１、ファイルシステム部２０２、及び、不揮発性記憶装置アクセスドライバ部２０３は、ＲＯＭ２３上において、ソフトウェアにより実現されるものを想定しているが、これに限定されることはなく、例えば、アプリケーション部２０１、ファイルシステム部２０２、及び、不揮発性記憶装置アクセスドライバ部２０３の全部又は一部は、ハードウェアで実現されるものであってもよい。
【００７６】
アプリケーション部２０１は、データの生成や電源の制御などアクセス装置２全体の制御を行う。さらに、本実施の形態におけるアプリケーション部２０１は、帯域管理部２０４を備えている。帯域管理部２０４は、複数のコンテンツデータを時分割多重により不揮発性記憶装置１に書き込む場合、コンテンツデータ毎に所定単位時間で不揮発性記憶装置１へのアクセス時間を割り当てる。
【００７７】
具体的には、帯域管理部２０４は、複数のコンテンツファイル及びコンテンツ管理情報ファイルを不揮発性記憶装置１に時分割多重で並列的に書き込む際に、各々の書き込みに許容される帯域として、不揮発性記憶装置１に対するアクセス時間を管理する。帯域管理部２０４は、帯域の管理を行うために、ＲＡＭ２２内に帯域管理テーブルを生成し、これを使用する。
【００７８】
図２は、ＲＡＭ２２内に記憶される帯域管理テーブルの一例を示している。帯域管理テーブルは、不揮発性記憶装置１に最大４つのＡＶ入力データを並列的に書き込むことを想定している。帯域管理テーブルは、各々のＡＶ入力データに対して、以下の６つの情報を格納している。
【００７９】
・ＡＶ入力データを識別する「コンテンツ番号」
・該ＡＶ入力データに関するコンテンツファイル及びコンテンツ管理情報ファイルを不揮発性記憶装置１に書き込む際に使用する「チャネル番号」
・該ＡＶ入力データを書き込むために現在割り当てられている「帯域情報」
・該ＡＶ入力データの「記録レート」
・該ＡＶ入力データのコンテンツファイルの入力（書き込み）が完了したか否かを示す「コンテンツ終了フラグ」
・該ＡＶ入力データのコンテンツ管理情報ファイルの書き込み中にチャネル休止コマンド（後述）を発行したか否かを示す「休止フラグ」
図２に示す例では、コンテンツ番号＝Ｃ００１のＡＶ入力データ（コンテンツデータ）のコンテンツファイル及びコンテンツ管理情報ファイルと、コンテンツ番号＝Ｃ００２のＡＶ入力データのコンテンツファイル及びコンテンツ管理情報ファイルとが時分割多重で並列的に書き込まれる場合、時間分割された最初の期間において、Ｃ００１のコンテンツファイル及びコンテンツ管理情報ファイルが、チャネル番号０（Ｃｈ．０）を使用して書き込まれる。
【００８０】
このときの帯域情報（所定単位時間に対する当該データの書き込みに許容されるアクセス時間の割合）として、１秒／３秒が設定され、この場合の記録レートは２ＭＢ／秒である。また、コンテンツ終了フラグがＯＮであるから、このコンテンツデータの入力が完了し、休止フラグがＯＮであるから、該コンテンツデータのコンテンツ管理情報ファイルの書き込み中にチャネル休止コマンドが発行されている。
【００８１】
また、時間分割された残りの期間において、コンテンツ番号＝Ｃ００２のコンテンツファイル及びコンテンツ管理情報ファイルが、チャネル番号１（Ｃｈ．１）を使用して書き込まれる。
【００８２】
このときの帯域情報として、２秒／３秒が設定され、この場合の記録レートは４ＭＢ／秒である。また、コンテンツ終了フラグがＯＦＦであるから、このコンテンツデータの入力は完了しておらず、休止フラグがＯＦＦであるから、このコンテンツデータのコンテンツ管理情報ファイルの書き込み中にチャネル休止コマンドは発行されていない。
【００８３】
上記のように、本実施の形態では、時分割多重により複数のチャネルを用いて複数のデータを並列的に書き込む場合、帯域情報として、所定単位時間に対する各データの書き込みに許容されるアクセス時間の割合がチャネル毎に設定され、設定されたアクセス時間ごとにデータが切り替えられながら、各データが順次書き込まれ、複数のデータが擬似的に並列に書き込まれる。
【００８４】
再び、図１を参照して、ファイルシステム部２０２は、ＦＡＴファイルシステム等のファイルシステムによりデータをファイルとして管理するための制御を行う。
【００８５】
不揮発性記憶装置アクセスドライバ部２０３は、ファイルシステム部２０２からデータと共に、データのサイズ及びアドレスを渡され、指定されたサイズのデータを不揮発性記憶装置１の記憶領域内における指定された位置に記録するなど、不揮発性記憶装置１に対するコマンドやデータの送受信を制御する。
【００８６】
また、アプリケーション部２０１、ファイルシステム部２０２及び不揮発性記憶装置アクセスドライバ部２０３は、書き込み部として機能し、帯域管理部２０４により割り当てられたアクセス時間の範囲内で、コンテンツファイルの書き込みと、コンテンツ管理情報ファイルの書き込みとを行う。ここで、アプリケーション部２０１及びファイルシステム部２０２が書き込み部の一例に相当し、帯域管理部２０４が割り当て部の一例に相当する。
【００８７】
（１．１．２：不揮発性記憶装置の構成）
図１に示すように、不揮発性記憶装置１は、メモリコントローラ１１と、データを記憶する不揮発性メモリ１２と、を含む。メモリコントローラ１１と、不揮発性メモリ１２とは、バスＢ２により接続されており、メモリコントローラ１１は、不揮発性メモリ１２と、バスＢ２を介して、データの送受信（データの読み出し／書き込みや、コマンド送信やレスポンスの受信等）を行い、不揮発性メモリ１２の制御を行うことができる。
【００８８】
メモリコントローラ１１は、不揮発性記憶装置１の制御全般を行うモジュールであり、例えば、ＣＰＵなどを含むＬＳＩ（Large Scale Integration）として構成される。不揮発性メモリ１２は、例えば、１つ以上のＮＡＮＤ型フラッシュメモリで構成される。
【００８９】
メモリコントローラ１１は、図１に示すように、ＣＰＵ１０１と、ＲＡＭ１０２と、ＲＯＭ１０３と、アクセス装置インタフェース（ＩＦ）部１０４と、不揮発性メモリインタフェース（ＩＦ）部１０５と、を含む。メモリコントローラ１１の各機能部は、図１に示すように、バスＢＣ１を介して接続されている。なお、メモリコントローラ１１は、メモリコントローラ１１の機能部の全部又は一部が直接接続される構成であってもよい。
【００９０】
また、メモリコントローラ１１は、アクセス装置２からデータの書き込みを行っている期間中に、アクセス装置２から書き込みを休止するチャネル休止コマンド（休止指示）を受付け、アクセス装置２から受信したデータを所定時間内に不揮発性メモリ１２に書き込み後、書き込みを休止し、アクセス装置２からの新たなデータの読み出し及び／又は書き込みを受付ける。
【００９１】
アクセス装置ＩＦ部１０４は、不揮発性記憶装置１とアクセス装置２との接続部である。不揮発性記憶装置ＩＦ部２４と同様に、制御信号及びデータは、アクセス装置ＩＦ部１０４を介して、アクセス装置２と不揮発性記憶装置１との間で、送受信される。
【００９２】
不揮発性メモリＩＦ部１０５は、メモリコントローラ１１と不揮発性メモリ１２との接続部である。不揮発性メモリ１２に対するコマンドやデータは、不揮発性メモリＩＦ部１０５を介して、メモリコントローラ１１と不揮発性メモリ１２との間で、送受信される。
【００９３】
ＲＯＭ１０３には、不揮発性記憶装置１を制御するプログラムが格納されている。このプログラムは、ＲＡＭ１０２にロードされ、ＣＰＵ１０１により実行される。
【００９４】
具体的には、ＲＯＭ１０３は、図１に示すように、コマンド処理部１０６と、アドレス管理部１０７と、チャネル管理部１０８と、を含む。なお、本実施の形態では、コマンド処理部１０６、アドレス管理部１０７、及び、チャネル管理部１０８は、ＲＯＭ１０３上において、ソフトウェアにより実現されるものを想定しているが、これに限定されることはなく、例えば、コマンド処理部１０６、アドレス管理部１０７、及び、チャネル管理部１０８の全部又は一部は、ハードウェアで実現されるものであってもよい。
【００９５】
コマンド処理部１０６は、アクセス装置ＩＦ部１０４を介して、アクセス装置２から受信したコマンド及びコマンドに関するパラメータを解釈し、コマンドの処理を実行する機能部である。
【００９６】
アドレス管理部１０７は、不揮発性メモリ１２のアドレス管理全般を行う。アドレス管理部１０７は、アクセス装置２からアクセス可能なアドレス空間として不揮発性記憶装置１が提供する論理アドレス空間における論理アドレスと、不揮発性メモリ１２の物理アドレスとの対応付けを管理する。アドレス管理部１０７は、有効なデータが格納されておらず、データ書き込みに再利用可能なブロックであるフリーブロックの物理アドレスや、データ書き込みに利用不可能な不良ブロックの物理アドレスや、論理アドレスと物理アドレスとの変換テーブルが格納されたブロックの物理アドレスなども管理する。
【００９７】
チャネル管理部１０８は、アクセス装置２がデータ書き込み時に指定するチャネル番号毎に書き込み先の物理ブロックを割り当て、その書き込み状態を管理する。これにより、アクセス装置２が異なるチャネル番号の書き込みを並列的に行った場合であっても、書き込み性能の低下を防止する。
【００９８】
さらに、本実施の形態におけるチャネル管理部１０８は、休止制御部１０９を備えている。休止制御部１０９は、チャネル番号を指定した書き込みを緊急休止するための処理や、休止状態から復帰するための処理を行う。このような休止・復帰の処理を行うために、休止制御部１０９は、ＲＡＭ１０２内に休止管理テーブルを生成して使用する。
【００９９】
不揮発性メモリ１２は、本実施の形態における休止制御部１０９が書き込みデータの退避先として使用する退避領域１２２と、それ以外のアクセス装置２から書き込まれたデータや不揮発性記憶装置１が内部的に使用するシステム情報などを格納する部分である記録領域１２１とを含む。メモリコントローラ１１の休止制御部１０９は、アクセス装置２からデータの書き込みを行う書き込みコマンド（書き込み指示）を受け付けると、書き込みを行う前に、不揮発性メモリ１２の一部を退避領域１２２として確保し、退避領域１２２を構成する物理ブロックを予め消去する。
【０１００】
図３は、ＲＡＭ１０２内に記憶される休止管理テーブルの一例を示している。休止管理テーブルは、不揮発性記憶装置１が最大４つのチャネル番号を管理することを想定している。休止管理テーブル、各々のチャネル番号に対して、以下の６つの情報を格納している。
【０１０１】
・該チャネル番号における書き込みデータを退避領域１２２に退避させているか否かを示す「退避フラグ」
・該チャネル番号に割り当てられた退避領域１２２の物理位置を示す「物理ブロックアドレス」
・該物理ブロックが消去済みか否かを示す「消去済フラグ」
・退避フラグがＯＮの場合、退避させている書き込みデータの論理アドレスを示す「退避データアドレス」
・退避フラグがＯＮの場合、退避させている書き込みデータのサイズを示す「退避データサイズ」
図３に示す例では、チャネル番号０（Ｃｈ．０）の場合、退避フラグがＯＮであるから、チャネル番号０を割り当てられた書き込みデータが、退避領域１２２に退避されており、この退避領域１２２の物理ブロックのアドレスが０ｘ４Ａ００であり、退避させている書き込みデータの論理アドレスが０ｘ００Ｆ２００であり、この書き込みデータのサイズが０ｘ０２である。また、消去済フラグがＯＦＦであるから、この退避領域１２２の物理ブロック内のデータが消去されていない。
【０１０２】
一方、チャネル番号１（Ｃｈ．１）の場合、退避フラグがＯＦＦであるから、チャネル番号１を割り当てられた書き込みデータは、退避領域１２２に退避されていないが、この退避領域１２２の物理ブロックアドレスが０ｘ４Ａ１０である。また、消去済フラグがＯＮであるから、この退避領域１２２の物理ブロック内のデータは消去されている。
【０１０３】
（１．１．３：ディレクトリ及びファイル構成）
アクセス装置２は、不揮発性記憶装置１が提供するデータの記憶領域の管理をファイルシステムによって行う。本実施の形態では、半導体メモリカードで一般的に用いられているＦＡＴファイルシステム（ＦＡＴ１２、ＦＡＴ１６、ＦＡＴ３２、ｅｘＦＡＴ等）を使用するものとするが、ＵＤＦ（User Datagram Protocol）や独自のファイルシステム等の他のファイルシステムを使用してもよい。
【０１０４】
図４は、アクセス装置２のアプリケーション部２０１が不揮発性記憶装置１にＡＶコンテンツを格納（記録）する際のディレクトリ及びファイル構成の一例を示している。
【０１０５】
本実施の形態においては、ルートディレクトリの直下に「ＶＩＤＥＯ」ディレクトリが生成され、「ＶＩＤＥＯ」ディレクトリの直下に、「ＰＲＧ１」、「ＰＲＧ２」といった個々のＡＶコンテンツを格納するディレクトリが生成される。さらに、「ＰＲＧ１」には映像・音声のストリームデータ本体であるコンテンツファイルの「ＳＴ１」ファイルと、前記コンテンツファイルのメタデータ等を格納したコンテンツ管理情報ファイルである「ＩＮＦＯ１」、「ＩＮＦＯ２」、…、「ＩＮＦＯＮ」ファイルというＮ個のファイルとが生成される。「ＰＲＧ２」ディレクトリにも、「ＰＲＧ１」と同様のファイル群が生成される。
【０１０６】
さらに、「ＶＩＤＥＯ」ディレクトリの直下には、「ＭＮＧ」という全てのＡＶコンテンツデータに関するメタデータ等（例えば、ＡＶコンテンツデータの総数、総再生時間、プレイリスト等）を格納するディレクトリが生成される。「ＭＮＧ」ディレクトリの直下には、コンテンツ管理情報ファイルである「ＭＮＧ１」、「ＭＮＧ２」、…、「ＭＮＧＭ」ファイルというＭ個のファイルが生成される。
【０１０７】
従って、アクセス装置２は、１つのＡＶコンテンツを記録する際に、コンテンツファイル以外にも、複数のコンテンツ管理情報ファイル（例えば、上記の「ＩＮＦＯ１」や「ＭＮＧ１」等に相当するファイル）の書き込みが必要である。一般的に、異なるファイルのデータは、異なる論理アドレスに格納されるため、これら複数のコンテンツ管理情報ファイルの更新は、ランダムでアドレスが連続しない複数の論理アドレスに対する小サイズのデータ書き込みとなる。
【０１０８】
一般的に、このようなランダムな書き込みは、書き込み性能を低下させる。これを防止するために、コンテンツ管理情報ファイル毎にチャネル番号を割り当てて書き込むならば、多くのチャネル番号が必要となり、上述の課題が生じる。そこで、本実施の形態では、ＡＶコンテンツのリアルタイム記録中にこのようなランダム書き込みを行ったとしても、リアルタイム記録が破綻しないようにするために、以下のような処理により適切な帯域制御を行っている。
【０１０９】
＜１．２：不揮発性記憶システムの動作＞
次に、不揮発性記憶システム１０００の動作について説明する。不揮発性記憶装置１は、アクセス装置２に装着され、アクセス装置２が発行するコマンドに応じた処理を実施する。アクセス装置２は、ＡＶコンテンツを不揮発性記憶装置１に格納するために必要なコマンドを不揮発性記憶装置１に発行する。
【０１１０】
（１．２．１：不揮発性記憶装置の動作）
まず、不揮発性記憶装置１の動作を説明する。
【０１１１】
＜＜チャネル休止コマンド処理＞＞
図５は、不揮発性記憶装置１のチャネル休止コマンド処理の手順を示すフローチャートである。チャネル休止コマンドは、直前の書き込みコマンドがランダムなアドレスに対するものなどで比較的長い処理時間がかかっている場合に、該書き込みコマンド処理を一時的に休止させるために、アクセス装置２によって発行される。
【０１１２】
まず、ステップＳ１０１における処理を説明する。コマンド処理部１０６は、アクセス装置ＩＦ部１０４を介してアクセス装置２からのチャネル休止コマンドを受信すると、直前の書き込みコマンドで受信したデータの書き込み状態を確認する。このとき、コマンド処理部１０６は、必要に応じて、チャネル管理部１０８やアドレス管理部１０７の情報を参照する。そして、書き込み状態が、（１）既に完了している、もしくは、（２）比較的短い所定の時間Ｔ内に完了する見込みであるならば、ステップＳ１０２の処理へ進む。一方、書き込み状態が、（３）上述の所定の時間Ｔ内に完了しない見込みであるならば、ステップＳ１０３の処理に進む。
【０１１３】
次に、ステップＳ１０２における処理を説明する。コマンド処理部１０６は、直前の書き込みコマンドで受信したデータの書き込みを（所定の時間Ｔ内に）完了させ、処理を終了する。
【０１１４】
次に、ステップＳ１０３における処理を説明する。コマンド処理部１０６が、直前の書き込みコマンドで受信したデータの書き込みを所定の時間Ｔ内に完了できないと判断した場合、休止制御部１０９は、ＲＡＭ１０２内に記憶されている休止管理テーブルを参照し、直前の書き込みコマンドでアクセス装置２から指定されたチャネル番号の「消去済フラグ」を確認する。消去済みフラグがＯＮであれば、ステップＳ１０５の処理へ、ＯＦＦであれば、ステップＳ１０４の処理に進む。
【０１１５】
次に、ステップＳ１０４における処理を説明する。休止制御部１０９は、休止管理テーブルを参照し、「消去済フラグ」がＯＦＦとなっている物理ブロックのアドレスを参照し、不揮発性メモリＩＦ部１０５を介して該物理ブロックを物理消去し、「消去済フラグ」をＯＮする。
【０１１６】
本実施の形態では、データの記録処理中にアクセス装置２の電源遮断や不揮発性記憶装置１の抜去が発生した場合などの異常系においてのみ、消去済フラグがＯＦＦとなる可能性があり、このような場合に、ステップＳ１０４の処理が実行される。
【０１１７】
次に、ステップＳ１０５における処理を説明する。休止制御部１０９は、休止管理テーブルにおいて、直前の書き込みコマンドでアクセス装置２から指定されたチャネル番号の「消去済フラグ」をＯＮからＯＦＦに更新する。
【０１１８】
次に、ステップＳ１０６における処理を説明する。休止制御部１０９は、直前の書き込みコマンドで受信したデータのうち、記録領域１２１に未書き込みのデータを退避領域１２２に書き込む。さらに、休止制御部１０９は、退避領域１２２への書き込みに応じて、休止管理テーブルの「退避データアドレス」及び「退避データサイズ」を更新する。
【０１１９】
次に、ステップＳ１０７における処理を説明する。休止制御部１０９は、休止管理テーブルにおいて、直前の書き込みコマンドでアクセス装置２から指定されたチャネル番号の「退避フラグ」をＯＦＦからＯＮに更新し、処理を終了する。
【０１２０】
なお、上述の所定の時間Ｔは、ステップＳ１０３〜Ｓ１０７の処理に要する時間を考慮して決定することが望ましい。ステップＳ１０３〜Ｓ１０７の処理は、直前の書き込みコマンドの処理を“時間が足りないので”一時的に休止させるための処理であり、これに要する時間よりも、書き込みを完了させるステップＳ１０２の処理時間の方が短いのであれば、休止させずに書き込みを完了させた方が効率的だからである。
【０１２１】
所定の時間Ｔの具体的な値として、例えば、不揮発性メモリ１２を構成するＮＡＮＤフラッシュの書き込み単位である物理ページを数ページ書き込むのに要する時間程度（〜２０ｍｓ程度）を設定してもよい。
【０１２２】
＜＜チャネル復帰コマンド処理＞＞
図６は、不揮発性記憶装置１のチャネル復帰コマンド処理の手順を示すフローチャートである。チャネル復帰コマンドは、チャネル休止コマンドによって一時的に休止していた処理を再開させるために、アクセス装置２によって発行される。
【０１２３】
まず、ステップＳ２０１における処理を説明する。コマンド処理部１０６は、アクセス装置ＩＦ部１０４を介してアクセス装置２からのチャネル復帰コマンドを受信すると、チャネル復帰コマンドを休止制御部１０９に通知する。休止制御部１０９は、休止管理テーブルを参照し、チャネル復帰コマンドで指定されたチャネル番号の退避フラグを参照する。退避フラグがＯＮの場合は、ステップＳ２０２の処理に進み、ＯＦＦの場合は、何も処理をせずに終了する。
【０１２４】
次に、ステップＳ２０２における処理を説明する。休止制御部１０９は、アクセス装置２からデータの書き込みを行っている期間中にチャネル休止コマンド（休止指示）を受付けて書き込みを休止した後、アクセス装置２からの指示により休止から復帰するチャネル復帰コマンド（復帰指示）を受付けると、休止管理テーブルを参照し、退避領域１２２に格納していたデータを読み出し、該データを記録領域１２１に書き込む。ここで、読み出し元（退避領域１２２）のデータの物理位置は、休止管理テーブルの「物理ブロックアドレス」を使用する。書き込み先（記録領域１２１）の判定には、休止管理テーブルの「退避データアドレス」及び「退避データサイズ」を使用する。
【０１２５】
次に、ステップＳ２０３における処理を説明する。休止制御部１０９は、チャネル復帰コマンドで指定されたチャネル番号の退避フラグをＯＮからＯＦＦに更新する。
【０１２６】
次に、ステップＳ２０４における処理を説明する。休止制御部１０９は、チャネル復帰コマンドで指定されたチャネル番号に紐付けられた退避領域１２２の物理ブロックを物理消去する。
【０１２７】
次に、ステップＳ２０５における処理を説明する。休止制御部１０９は、チャネル復帰コマンドで指定されたチャネル番号の消去済フラグをＯＦＦからＯＮに更新し、処理を終了する。
【０１２８】
なお、ステップＳ２０４及びＳ２０５において、退避領域１２２の物理ブロックを物理消去し、消去済フラグをＯＦＦからＯＮに更新することにより、チャネル休止コマンド処理のステップＳ１０４を省略することができ、速やかに休止状態に遷移することが可能となる。
【０１２９】
＜＜チャネル状態取得コマンド処理＞＞
図７は、不揮発性記憶装置１のチャネル状態取得コマンド処理の手順を示すフローチャートである。チャネル状態取得コマンドは、不揮発性記憶装置１がアクセス装置２に装着された直後などに、各チャネルの状態を確認するために、アクセス装置２によって発行される。
【０１３０】
まず、ステップＳ３０１における処理を説明する。コマンド処理部１０６は、アクセス装置ＩＦ部１０４を介してアクセス装置２からのチャネル状態取得コマンドを受信すると、チャネル状態取得コマンドを休止制御部１０９に通知する。休止制御部１０９は、休止管理テーブルを参照し、アクセス装置２に出力するための情報、すなわち、アクセス装置２からデータの書き込みを行っている期間中にチャネル休止コマンド（休止指示）を受付けて書き込みを休止した状態であるか否かをアクセス装置２が判断するための情報を生成する。例えば、休止制御部１０９は、チャネル番号毎の休止状態の判定結果を生成する。退避フラグＯＮなら休止状態であり、退避フラグＯＦＦなら休止状態ではないと判断とする判定結果が生成される。
【０１３１】
次に、ステップＳ３０２における処理を説明する。休止制御部１０９は、ステップＳ３０１で生成した情報をアクセス装置ＩＦ部１０４経由でアクセス装置２に出力し、処理を終了する。
【０１３２】
＜＜読み出しコマンド処理＞＞
図８は、不揮発性記憶装置１の読み出しコマンド処理の手順を示すフローチャートである。読み出しの基本的なルールとして、不揮発性記憶装置１は、退避領域１２２のデータを優先的に読み出す。これは、本実施の形態において、退避領域１２２に存在するデータは、常に記録領域１２１に存在するデータよりも新しいためである。
【０１３３】
まず、ステップＳ４０１における処理を説明する。コマンド処理部１０６は、アクセス装置ＩＦ部１０４を介してアクセス装置２からの読み出しコマンドを受信すると、読み出しコマンドを休止制御部１０９に通知する。休止制御部１０９は、休止管理テーブルを参照し、すべてのチャネル番号に対して退避フラグがＯＮであるものが１つでも存在するか否かを判定する。存在する場合は、ステップＳ４０２の処理へ、存在しない場合は、ステップＳ４０４の処理に進む。
【０１３４】
次に、ステップＳ４０２における処理を説明する。休止制御部１０９は、休止管理テーブルを参照し、アクセス装置２が指定する読み出しアドレスが退避領域１２２に格納されているデータのアドレスと重複するか否かを判定する。この判定には「退避データアドレス」及び「退避データサイズ」を使用する。アドレスが重複する場合は、ステップＳ４０３の処理へ、重複しない場合は、ステップＳ４０４の処理に進む。
【０１３５】
次に、ステップＳ４０３における処理を説明する。この場合、アクセス装置２が指定する読み出しアドレスの最新データは、退避領域１２２に存在するため、休止制御部１０９は、休止管理テーブルを参照して、アクセス装置２が指定したアドレスのデータを退避領域１２２から読み出し、アクセス装置ＩＦ部１０４経由でデータをアクセス装置２に出力し、処理を終了する。
【０１３６】
次に、ステップＳ４０４における処理を説明する。この場合、アクセス装置２が指定する読み出しアドレスの最新データは、記録領域１２１に存在するため、アドレス管理部１０７は、アクセス装置２が指定したアドレスのデータを記録領域１２１から読み出し、アクセス装置ＩＦ部１０４経由でデータをアクセス装置２に出力し、処理を終了する。
【０１３７】
＜＜書き込みコマンド処理＞＞
図９は、不揮発性記憶装置１の書き込みコマンド処理の手順を示すフローチャートである。本実施の形態においては、処理を簡素化するために退避領域１２２に存在するデータと、アドレスが重複するデータとの書き込みは、禁止する。アドレスが重複する場合には、チャネル復帰コマンドによって退避領域１２２のデータを記録領域１２１に反映させてから退避領域１２２のデータを削除し、その後改めて書き込みコマンドを発行するものとする。
【０１３８】
まず、ステップＳ５０１における処理を説明する。コマンド処理部１０６は、アクセス装置ＩＦ部１０４を介してアクセス装置２からの書き込みコマンド（書き込み指示）を受信すると、書き込みコマンドを休止制御部１０９に通知する。休止制御部１０９は、アクセス装置２からの書き込みコマンドをコマンド処理部１０６から受け付けると、書き込みを行う前に、不揮発性メモリ１２の一部を退避領域１２２として確保し、退避領域１２２を構成する物理ブロックを予め消去する。また、休止制御部１０９は、休止管理テーブルを参照し、すべてのチャネル番号に対して退避フラグがＯＮであるものが１つでも存在するか否かを判定する。存在する場合は、ステップＳ５０２の処理へ、存在しない場合は、ステップＳ５０４の処理に進む。
【０１３９】
次に、ステップＳ５０２における処理を説明する。休止制御部１０９は、休止管理テーブルを参照し、アクセス装置２が指定する書き込みアドレスが退避領域１２２に格納されているデータのアドレスと重複するか否かを判定する。この判定には「退避データアドレス」及び「退避データサイズ」を使用する。ステップＳ５０１の処理で複数の退避フラグがＯＮであった場合には、休止制御部１０９は、全ての退避領域１２２に対して上記の判定を行い、いずれかのアドレスが重複する場合はステップＳ５０３の処理へ、全く重複しない場合はステップＳ５０４の処理に進む。
【０１４０】
次に、ステップＳ５０３における処理を説明する。この場合、アクセス装置２が指定する書き込みアドレスのデータは、退避領域１２２に存在するため、休止制御部１０９は、アクセス装置ＩＦ部１０４経由でアクセス装置２にエラー通知し、処理を終了する。
【０１４１】
次に、ステップＳ５０４における処理を説明する。この場合、アクセス装置２が指定する書き込みアドレスは、退避領域１２２に存在しないため、コマンド処理部１０６は、書き込み処理が継続可能と判断し、アクセス装置２から受信した書き込みデータを、不揮発性メモリＩＦ部１０５を介して記録領域１２１に書き込む。このとき、コマンド処理部１０６は、必要に応じて、チャネル管理部１０８やアドレス管理部１０７の情報を参照する。書き込み完了後、処理を終了する。
【０１４２】
（１．２．２：アクセス装置の動作）
次に、アクセス装置２の動作を説明する。
【０１４３】
＜＜準備処理＞＞
不揮発性記憶装置１がアクセス装置２に装着されると、アクセス装置２は、不揮発性記憶装置１に対する記録処理や再生処理等を実施するための準備処理を開始する。図１０は、本実施の形態における準備処理の手順を示すフローチャートである。
【０１４４】
まず、ステップＳ６０１における処理を説明する。アクセス装置２の不揮発性記憶装置ＩＦ部２４は、不揮発性記憶装置１が装着されたことを検出し、検出結果を不揮発性記憶装置アクセスドライバ部２０３に通知する。
【０１４５】
このとき、不揮発性記憶装置アクセスドライバ部２０３は、不揮発性記憶装置１に対するドライバレベルでの初期化処理を行う。より具体的には、不揮発性記憶装置アクセスドライバ部２０３は、不揮発性記憶装置ＩＦ部２４を介して、電源（電力）やクロックの供給を開始し、初期化を指示するコマンドを発行する。さらに、不揮発性記憶装置アクセスドライバ部２０３は、不揮発性記憶装置１に関する情報（例えば、記憶容量や対応バージョン番号など）を不揮発性記憶装置１から取得し、ファイルシステム部２０２に通知する。
【０１４６】
次に、ステップＳ６０２における処理を説明する。ファイルシステム部２０２は、不揮発性記憶装置１が提供する記録領域１２１に格納されたファイルシステム管理情報（マスターブートレコード、パーティションテーブルなど）を読み出し、ファイルシステム部２０２が記録領域１２１を管理するために必要な情報をＲＡＭ２２上に取得する。すなわち、ファイルシステムレベルでの初期化処理が実施される。
【０１４７】
次に、ステップＳ６０３における処理を説明する。アプリケーション部２０１は、ファイルシステム部２０２を介して、不揮発性記憶装置１に格納されたコンテンツ管理情報ファイルを読み出し、アプリケーション部２０１が必要とする情報をＲＡＭ２２上に取得する。すなわち、アプリケーションレベルでの初期化処理が実施される。
【０１４８】
次に、ステップＳ６０４における処理を説明する。アプリケーション部２０１は、帯域管理部２０４に初期化処理を指示する。帯域管理部２０４は、不揮発性記憶装置ＩＦ部２４経由で不揮発性記憶装置１に対してチャネル状態取得コマンドを発行し、休止制御部１０９からチャネル番号毎の休止状態の判定結果を取得する。
【０１４９】
次に、ステップＳ６０５における判定を説明する。帯域管理部２０４は、チャネル番号毎の休止状態の判定結果から、休止状態のチャネルが１つでも存在するか否かを判定する。休止状態のチャネルが１つでも存在する場合（ＹＥＳの場合）には、ステップＳ６０６の処理に進み、休止状態のチャネルが全く存在しない場合（ＮＯの場合）には、処理を終了する。
【０１５０】
次に、ステップＳ６０６における処理を説明する。帯域管理部２０４は、休止状態のチャネル番号を指定してチャネル復帰コマンドを発行し、チャネルの休止状態を解消する。その後、ステップＳ６０５の判定に戻る。
【０１５１】
なお、後述する記録処理が正常に終了した場合には、ステップＳ６０５において、休止状態のチャネルは存在しない。記録処理中の電源遮断や不揮発性記憶装置１の抜去が発生した場合には、休止状態のチャネルが存在する可能性がある。この場合、準備処理にて退避領域１２２に書き込まれた各コンテンツ管理情報ファイルの更新データを記録領域１２１に反映させることで、電源遮断や不揮発性記憶装置１の抜去という異常状態からの復帰が可能となる。
【０１５２】
＜＜記録処理＞＞
上記の準備処理後、アプリケーション部２０１は、記録処理を実施する。記録処理の開始のトリガーは様々である。一例として、ユーザから指定されたタイミングや、コンテンツデータ（ＡＶ入力データ）の記録が予定されていた時刻よりも一定時間だけ前となったタイミングなどがある。なお、記録処理中に新たなコンテンツデータの記録開始や記録終了を行うこともある。
【０１５３】
図１１は、本実施の形態における記録処理の手順を示すフローチャートである。まず、ステップＳ７０１の処理を説明する。アクセス装置２のアプリケーション部２０１は、記録予約情報やユーザからの入力情報などを参照して、新たなコンテンツデータの記録開始が必要であるか否かを判定する。記録開始が必要である場合（ＹＥＳの場合）にはステップＳ７０２の処理へ、不要である場合（ＮＯの場合）はステップＳ７０３の処理に進む。
【０１５４】
次に、ステップＳ７０２の処理を説明する。アプリケーション部２０１は、新たなコンテンツデータを受信するための準備処理を行う。例えば、アプリケーション部２０１は、ＲＡＭ２２上に受信したコンテンツデータを格納するためのバッファを確保したり、符号処理部２６及び暗号処理部２７の初期設定をしたりする。
【０１５５】
さらに、帯域管理部２０４は、新たなコンテンツデータを書き込むために帯域管理テーブルを更新する。具体的には、帯域管理部２０４は、新たなコンテンツデータに対するコンテンツ番号の登録、チャネル番号の割り当て、記録レートの設定、帯域情報の設定、コンテンツ終了フラグの設定（初期値はＯＦＦ）、休止フラグの設定（初期値はＯＦＦ）、などの処理を行う。
【０１５６】
ここで、帯域情報の設定に関しては、記録中の全てのコンテンツデータに関して再設定を行う。例えば、記録処理中のコンテンツデータが１つも存在しない場合であれば、これから記録するコンテンツデータ（例えば、コンテンツ番号＝Ｃ００１）に対して全ての帯域を割り当てる。このとき、帯域管理テーブルにおける帯域情報は「３秒中３秒を割り当て」を意味する（３秒／３秒）に設定する。
【０１５７】
この状態で、さらに新たなコンテンツデータ（例えば、コンテンツ番号＝Ｃ００２）を記録開始が必要となった場合には、同時に記録するコンテンツデータの記録レートの比率によって帯域情報を再設定する。このとき、記録レートが高いコンテンツデータには、より多くの帯域を割り当てるようにする。
【０１５８】
ここで、帯域管理部２０４は、後述するように、コンテンツデータの記録終了後にも帯域情報を再設定しており、コンテンツデータの記録開始及び／又は記録終了の度にアクセス時間を再設定することが好ましい。この場合、記録すべきコンテンツデータの数に応じて適切なアクセス時間を設定することができ、複数のコンテンツデータを並列的に且つ高速に記録することができる。
【０１５９】
また、上記の帯域情報の設定時に、帯域管理部２０４は、コンテンツデータの記録レートが高いほどアクセス時間が長くなるように、コンテンツデータ毎にアクセス時間を割り当てることが好ましい。この場合、各コンテンツデータの記録レートに応じて複数のコンテンツデータを並列的に且つ高速に記録することができる。
【０１６０】
例えば、第１のコンテンツデータ（コンテンツ番号＝Ｃ００１）の記録レートが２ＭＢ／秒、第２のコンテンツデータ（コンテンツ番号＝Ｃ００２）の記録レートが４ＭＢ／秒ならば、前者の帯域情報を、「３秒中１秒を割り当て」を意味する「１秒／３秒」に設定し、後者の帯域情報を、「３秒中２秒を割り当て」を意味する「２秒／３秒」に設定する。この場合、所定単位時間を３秒とした場合、記録レートに応じて３秒を１秒と２秒とに時間分割し、第１のコンテンツデータ（コンテンツ番号＝Ｃ００１）が１秒間記録された後に、第２のコンテンツデータ（コンテンツ番号＝Ｃ００２）が２秒間記録され、これらの記録処理が単位時間毎に繰り返されることにより、２つのデータが時間分割多重されて並列的に記録される。
【０１６１】
上記の新たなコンテンツデータを書き込むための準備処理が完了したら、ステップＳ７０３の処理に進む。
【０１６２】
次に、ステップＳ７０３の処理を説明する。帯域管理部２０４は、帯域管理テーブルの「帯域情報」に基づき、不揮発性記憶装置１へのアクセス時間を時分割して各コンテンツデータの記録に割り当てる。帯域管理部２０４は、不揮発性記憶装置１に対して、今アクセス時間が割り当てられているコンテンツデータの「コンテンツ終了フラグ」を参照し、コンテンツ終了フラグがＯＦＦであれば、ステップＳ７０４の処理へ、ＯＮであれば、ステップＳ７０７の処理に進む。
【０１６３】
次に、ステップＳ７０４の処理を説明する。アプリケーション部２０１は、今アクセス時間が割り当てられているコンテンツデータのコンテンツファイル書き込みが終了したか否かを判定する。書き込みが終了している場合（ＹＥＳの場合）、ステップＳ７０６の処理に進み、終了していない場合（ＮＯの場合）、ステップＳ７０５の処理に進む。
【０１６４】
次に、ステップＳ７０５の処理を説明する。アプリケーション部２０１は、今アクセス時間が割り当てられているコンテンツデータに関して、ＲＡＭ２２上のバッファに蓄積されたコンテンツデータを、ファイルシステム部２０２を介してコンテンツファイルとして不揮発性記憶装置１に書き込む。書き込み時は、帯域管理テーブルで指定されたチャネル番号を使用する。その後、ステップＳ７０１の処理に戻る。
【０１６５】
次に、ステップＳ７０６の処理を説明する。帯域管理部２０４は、今アクセス時間が割り当てられているコンテンツデータのコンテンツファイル書き込みが終了していることを、帯域管理テーブルに反映する。具体的には、帯域管理部２０４は、対応するコンテンツ終了フラグをＯＮに設定する。その後、ステップＳ７０１の処理に戻る。
【０１６６】
次に、ステップＳ７０７の処理を説明する。アプリケーション部２０１は、今アクセス時間が割り当てられているコンテンツデータに関する全てのコンテンツ管理情報ファイルの書き込みが完了したか否かを判定する。コンテンツ管理情報ファイルの書き込みが終了している場合（ＹＥＳの場合）は、ステップＳ７０９の処理に進み、終了していない場合（ＮＯの場合）は、ステップＳ７０８の処理に進む。
【０１６７】
次に、ステップＳ７０８の処理を説明する。アプリケーション部２０１は、今アクセス時間が割り当てられているコンテンツデータに関するコンテンツ管理情報ファイルの書き込みを実施する。但し、書き込みに許容される時間（アクセス時間）は、帯域管理テーブルの「帯域情報」に依存する。例えば、帯域管理テーブルが図２の状態であり、コンテンツ番号＝Ｃ００１のコンテンツ管理情報ファイルの書き込みを行う場合には、ステップＳ７０８の処理で許容される帯域（書き込みに許容される時間）は１秒となる。コンテンツ管理情報ファイルの書き込みの手順の詳細は後述する。その後、ステップＳ７０１の処理に戻る。
【０１６８】
次に、ステップＳ７０９の処理を説明する。アプリケーション部２０１は、今アクセス時間が割り当てられているコンテンツデータのコンテンツファイル及びコンテンツ管理情報ファイルの更新が完了したと判断し、該コンテンツデータの記録終了処理を行う。例えば、アプリケーション部２０１は、ＲＡＭ２２上に確保していた受信したコンテンツデータを格納するためのバッファを解放する。
【０１６９】
さらに、帯域管理部２０４は、帯域管理テーブルから記録済みのコンテンツデータに関する情報を削除する。また、帯域情報の設定に関しては、記録中の全てのコンテンツデータに関して再設定を行う（ステップＳ７０２の処理と同様）。その後、ステップＳ７１０の処理に進む。
【０１７０】
次に、ステップＳ７１０の処理を説明する。アプリケーション部２０１は、全てのコンテンツデータの記録が終了したか否かを判定する。記録が終了している場合（ＹＥＳの場合）、記録処理を終了する。終了していない場合（ＮＯの場合）、ステップＳ７０１の処理に戻る。
【０１７１】
＜＜コンテンツ管理情報ファイル書き込み＞＞
次に、Ｓ７０８の処理の詳細について説明する。図１２は、アクセス装置２のコンテンツ管理情報ファイル書き込みの手順を示すフローチャートである。
【０１７２】
まず、ステップＳ８０１の処理を説明する。帯域管理部２０４は、帯域管理テーブルを参照し、今アクセス時間が割り当てられているコンテンツデータが休止状態であるか否かを判断する。帯域管理部２０４は、休止フラグがＯＮである場合（ＹＥＳの場合）、休止状態であると判断し、ステップＳ８０２の処理に進む。一方、休止フラグがＯＦＦである場合（ＮＯの場合）、帯域管理部２０４は、休止状態ではないと判断し、ステップＳ８０３の処理に進む。
【０１７３】
次に、ステップＳ８０２の処理を説明する。帯域管理部２０４は、チャネルが休止状態であるため、不揮発性記憶装置ＩＦ部２４を介して不揮発性記憶装置１にチャネル復帰コマンドを発行する。不揮発性記憶装置１がチャネル復帰コマンド処理を行うことで、該チャネルは休止状態から復帰する。その後、ステップＳ８０３の処理に進む。
【０１７４】
次に、ステップＳ８０３の処理を説明する。帯域管理部２０４は、今割り当てられているアクセス時間が経過したか否かを判定することにより、帯域が終了したか否かを判定する。アクセス時間が経過した場合（ＹＥＳの場合）は、帯域終了のための処理を行うためにステップＳ８０６に進み、経過していない場合（ＮＯの場合）は、ステップＳ８０４の処理に進む。
【０１７５】
次に、ステップＳ８０４の処理を説明する。アプリケーション部２０１は、未書き込みのコンテンツ管理情報ファイルのデータが存在するかどうかを判断する。当該データが存在する場合（ＹＥＳの場合）は、ステップＳ８０５の処理に進み、存在しない場合（ＮＯの場合）は、処理を終了する。
【０１７６】
次に、ステップＳ８０５の処理を説明する。アプリケーション部２０１は、未書き込みのコンテンツ管理情報ファイルのデータをファイルシステム部２０２経由で不揮発性記憶装置１に書き込む。その後、ステップＳ８０３に戻る。書き込み中に帯域が終了した場合には、書き込み中のまま直ちにステップＳ８０３の処理に戻る。
【０１７７】
次に、ステップＳ８０６の処理を説明する。アプリケーション部２０１は、コンテンツ管理情報ファイルのデータを書き込み中であるか否かを判断する。当該データが書き込み中である場合（ＹＥＳの場合）、Ｓ８０７の処理に進み、書き込み中でない場合（ＮＯの場合）、処理を終了する。
【０１７８】
次に、ステップＳ８０７の処理を説明する。コンテンツ管理情報ファイルのデータを書き込み中である場合、帯域管理部２０４は、不揮発性記憶装置ＩＦ部２４を介して不揮発性記憶装置１にチャネル休止コマンドを発行する。不揮発性記憶装置１がチャネル休止コマンド処理を行うことで、書き込み中の処理は、速やかに（所定の時間Ｔ以内に）休止状態となる。帯域管理部２０４は、帯域管理テーブルを更新し、休止させたチャネル番号の休止フラグをＯＮに設定する。その後、処理を終了する。
【０１７９】
＜＜記録処理における帯域の割り当て＞＞
図１３は、本実施の形態に使用される記録処理における帯域の割り当ての一例を示した説明図である。
【０１８０】
図１３の例では、チャネル番号０（Ｃｈ．０）を使ったコンテンツファイルの書き込み（ＣＤ＃０）後、これに関する１つ以上のコンテンツ管理情報ファイルの書き込み（ＭＩ＃０）を行っている。また、チャネル番号０による書き込みと平行して、チャネル番号１（Ｃｈ．１）を使ったコンテンツファイルの書き込み（ＣＤ＃１）後、これに関する１つ以上のコンテンツ管理情報ファイルの書き込み（ＭＩ＃１）を行っている。
【０１８１】
帯域管理テーブルにおいて、ＣＤ＃０及びＣＤ＃１の書き込みに割り当てられた帯域情報はそれぞれ、（Ｔ０／（Ｔ０＋Ｔ１））と（Ｔ１／（Ｔ０＋Ｔ１））であるとする。すなわち、ＣＤ＃０の書き込みは「（Ｔ０＋Ｔ１）秒中（Ｔ０）秒割り当て」、ＣＤ＃１の書き込みは「（Ｔ０＋Ｔ１）秒中（Ｔ１）秒割り当て」である。
【０１８２】
その後、ＣＤ＃０の記録が終了した場合は、帯域管理テーブルにおいてＣＤ＃０に関するコンテンツ終了フラグがＯＮに設定され、ＭＩ＃０の書き込みが開始する。このとき、ＭＩ＃０及びＣＤ＃１の書き込みに割り当てられた帯域情報はそれぞれ、（Ｔ０／（Ｔ０＋Ｔ１））及び（Ｔ１／（Ｔ０＋Ｔ１））のままである。従って、ＭＩ＃０の書き込みが開始されても、ＣＤ＃１を書き込むための帯域は、同じ大きさにて継続して確保されるため、ＣＤ＃１のリアルタイム記録を継続することが可能となる。このとき、本実施の形態では、ＭＩ＃０の書き込み時間を帯域（Ｔ０）に収めるために、図１２のステップＳ８０７でチャネル休止コマンドを発行し、速やかに書き込みを休止する仕組みを導入している。
【０１８３】
＜１．３：まとめ＞
以上のように、不揮発性記憶システム１０００では、アクセス装置２が時分割多重により複数のコンテンツデータを不揮発性記憶装置１にリアルタイム記録する際に、コンテンツファイルの書き込みのために割り当てた帯域を利用して該コンテンツファイルに関連するコンテンツ管理情報ファイルの書き込みも行う。不揮発性記憶装置１が該コンテンツ管理情報ファイルの書き込みに長い時間を要する場合には、アクセス装置２がチャネル休止コマンドを発行することによって書き込みを休止し、帯域を制御する。
【０１８４】
この結果、本実施の形態では、コンテンツ管理情報ファイル毎にチャネル番号を割り当てる必要がないため、使用するチャネル番号の増加を抑制しつつ、コンテンツファイル及び複数のコンテンツ管理情報ファイルを、書き込み性能の低下が発生しないように並列的に書き込むことが可能な、不揮発性記憶装置１、アクセス装置２、及び不揮発性記憶システム１０００を提供することが可能となる。
【０１８５】
なお、上記実施の形態で記載された数値は一例であり、他の値を使用してもよい。例えば、管理するチャネル番号の数などの値はすべて一例であり、上記実施の形態に記載した値に限定されるものではない。
【０１８６】
（実施の形態２）
＜２．１：不揮発性記憶システムの構成＞
図１４は、本発明の実施の形態２における不揮発性記憶システム１００１の概略構成図である。図１４に示すように、不揮発性記憶システム１００１は、不揮発性記憶装置１ａと、不揮発性記憶装置１ａが装着されるアクセス装置２ａとを含んで構成される。不揮発性記憶装置１ａと、アクセス装置２ａとは、バスＢ１により接続されて、双方向に通信を行うことができ、不揮発性記憶装置１ａは、アクセス装置２ａからの指示に応じてデータの読み出し及び／又は書き込みを行う。不揮発性記憶装置１ａは、例えば、半導体メモリカードである。アクセス装置２ａは、例えば、半導体メモリカードに動画コンテンツを記録するビデオレコーダである。
【０１８７】
（２．１．１：アクセス装置の構成）
アクセス装置２ａは、図１４に示すように、ＣＰＵ２１と、ＲＡＭ２２と、ＲＯＭ２３と、不揮発性記憶装置インタフェース（ＩＦ）部２４と、ＡＶ入力部２５と、符号処理部２６と、暗号処理部２７と、を含む。アクセス装置２ａの各機能部は、図１４に示すように、バスＢＡ１を介して接続されている。なお、アクセス装置２ａは、アクセス装置２ａの機能部の全部又は一部が直接接続される構成であってもよい。
【０１８８】
ＣＰＵ２１は、ＲＡＭ２２及びＲＯＭ２３を用いて、アクセス装置２ａの各種制御を行う。
【０１８９】
ＲＡＭ２２は、所定のアドレスに対して、各種データの読み出し／書き込み処理を実行することができる。そして、ＲＡＭ２２に保持されているデータ等は、ＣＰＵ２１やアクセス装置２ａの各機能部からアクセスすることができる。また、ＲＡＭ２２は、キャッシュ管理テーブル２２１を含む。
【０１９０】
ＲＯＭ２３には、アクセス装置２ａを制御するプログラムが格納されている。このプログラムは、ＲＡＭ２２にロードされ、ＣＰＵ２１により実行される。
【０１９１】
不揮発性記憶装置ＩＦ部２４は、不揮発性記憶装置１ａとアクセス装置２ａとの接続部である。制御信号及びデータは、不揮発性記憶装置ＩＦ部２４を介して、アクセス装置２ａと不揮発性記憶装置１ａとの間で、送受信される。
【０１９２】
ＡＶ入力部２５は、外部から放送波などのＡＶ入力データ（映像や音声のデータ、及びこれらに関連する制御データ）を受信する。ＡＶ入力部２５により受信されたＡＶ入力データは、ＲＯＭ２３に格納されたプログラムによる処理や、符号処理部２６による符号処理や、暗号処理部２７による暗号処理が施され、コンテンツデータが、コンテンツファイル及びコンテンツ管理情報ファイルとして不揮発性記憶装置１ａに格納される。
【０１９３】
ここで、コンテンツデータは、コンテンツを格納するコンテンツファイルと、コンテンツに付随する関連情報（例えば、名称、サムネイル画像、タイムサーチテーブル、ビットレート、再生時間、暗号化情報など）を格納する複数のコンテンツ管理情報ファイルとに分割して不揮発性記憶装置１ａに格納されるデータである。
【０１９４】
符号処理部２６は、ＡＶ入力部２５により受信されたＡＶ入力データに対して、所定の符号方式による符号処理を実行する。
【０１９５】
暗号処理部２７は、ＡＶ入力部２５により受信されたＡＶ入力データ（例えば、暗号化が指示されているＡＶ入力データ）、あるいは、符号処理部２６により符号処理が実行されたＡＶ入力データに対して、所定の暗号方式による暗号処理を行う。
【０１９６】
ＲＯＭ２３は、図１４に示すように、アプリケーション部２０１と、ファイルシステム部２０２と、不揮発性記憶装置アクセスドライバ部２０３と、を含む。なお、本実施の形態では、アプリケーション部２０１、ファイルシステム部２０２、及び、不揮発性記憶装置アクセスドライバ部２０３は、ＲＯＭ２３上において、ソフトウェアにより実現されるものを想定しているが、これに限定されることはなく、例えば、アプリケーション部２０１、ファイルシステム部２０２、及び、不揮発性記憶装置アクセスドライバ部２０３の全部又は一部は、ハードウェアで実現されるものであってもよい。
【０１９７】
アプリケーション部２０１は、データの生成や電源の制御などアクセス装置２ａ全体の制御を行う。
【０１９８】
ファイルシステム部２０２は、ＦＡＴファイルシステム等のファイルシステムによりデータをファイルとして管理するための制御を行う。さらに、本実施の形態におけるファイルシステム部２０２は、キャッシュファイル管理部２０５を備えている。キャッシュファイル管理部２０５は、不揮発性記憶装置１ａにコンテンツ管理情報ファイルを書き込む際に作成する管理情報キャッシュファイル（以降、ＭＩＣＦと呼称する）の管理、すなわち作成、更新、削除、参照などを行う。キャッシュファイル管理部２０５は、ＭＩＣＦの管理を行うために、ＲＡＭ２２内のキャッシュ管理テーブル２２１を使用する。
【０１９９】
不揮発性記憶装置アクセスドライバ部２０３は、ファイルシステム部２０２からデータと共にサイズとアドレスとを渡され、指定されたサイズのデータを不揮発性記憶装置１ａの記憶領域内における指定された位置に記録するなど、不揮発性記憶装置１ａに対するコマンドやデータの送受信を制御する。
【０２００】
また、アプリケーション部２０１、ファイルシステム部２０２及び不揮発性記憶装置アクセスドライバ部２０３は、書き込み部として機能し、コンテンツファイルを不揮発性記憶装置１ａに書き込む。ここで、アプリケーション部２０１及びファイルシステム部２０２が書き込み部の一例に相当し、キャッシュファイル管理部２０５が管理部の一例に相当する。
【０２０１】
（２．１．２：不揮発性記憶装置の構成）
図１４に示すように、不揮発性記憶装置１ａは、メモリコントローラ１１と、データを記憶する不揮発性メモリ１２と、を含む。メモリコントローラ１１と、不揮発性メモリ１２とは、バスＢ２により接続されており、メモリコントローラ１１は、不揮発性メモリ１２と、バスＢ２を介して、データの送受信（データの読み出し／書き込みや、コマンド送信やレスポンスの受信等）を行い、不揮発性メモリ１２の制御を行うことができる。
【０２０２】
メモリコントローラ１１は、不揮発性記憶装置１ａの制御全般を行うモジュールであり、例えば、ＣＰＵなどを含むＬＳＩとして構成される。不揮発性メモリ１２は、例えば、１つ以上のＮＡＮＤ型フラッシュメモリで構成される。
【０２０３】
メモリコントローラ１１は、図１４に示すように、ＣＰＵ１０１と、ＲＡＭ１０２と、ＲＯＭ１０３と、アクセス装置ＩＦ部１０４と、不揮発性メモリＩＦ部１０５と、を含む。メモリコントローラ１１の各機能部は、図１４に示すように、バスＢＣ１を介して接続されている。なお、メモリコントローラ１１は、メモリコントローラ１１の機能部の全部又は一部が直接接続される構成であってもよい。
【０２０４】
アクセス装置ＩＦ部１０４は、不揮発性記憶装置１ａとアクセス装置２ａとの接続部である。不揮発性記憶装置ＩＦ部２４と同様に、制御信号及びデータは、アクセス装置ＩＦ部１０４を介して、アクセス装置２ａと不揮発性記憶装置１ａとの間で、送受信される。
【０２０５】
ＲＯＭ１０３には、不揮発性記憶装置１ａを制御するプログラムが格納されている。このプログラムは、ＲＡＭ１０２にロードされ、ＣＰＵ１０１により実行される。
【０２０６】
不揮発性メモリＩＦ部１０５は、メモリコントローラ１１と不揮発性メモリ１２との接続部である。不揮発性メモリ１２に対するコマンドやデータは、不揮発性メモリＩＦ部１０５を介して、メモリコントローラ１１と不揮発性メモリ１２との間で、送受信される。
【０２０７】
具体的には、ＲＯＭ１０３は、図１４に示すように、コマンド処理部１０６と、アドレス管理部１０７と、チャネル管理部１０８と、を含む。なお、本実施の形態では、コマンド処理部１０６、アドレス管理部１０７、及び、チャネル管理部１０８は、ＲＯＭ１０３上において、ソフトウェアにより実現されるものを想定しているが、これに限定されることはなく、例えば、コマンド処理部１０６、アドレス管理部１０７、及び、チャネル管理部１０８の全部又は一部は、ハードウェアで実現されるものであってもよい。
【０２０８】
コマンド処理部１０６は、アクセス装置ＩＦ部１０４を介して、アクセス装置２ａから受信したコマンド及びコマンドに関するパラメータを解釈し、コマンドの処理を実行する機能部である。
【０２０９】
アドレス管理部１０７は、不揮発性メモリ１２のアドレス管理全般を行う。アドレス管理部１０７は、アクセス装置２ａからアクセス可能なアドレス空間として不揮発性記憶装置１ａが提供する論理アドレス空間における論理アドレスと物理アドレスとの対応付けを管理する。アドレス管理部１０７は、有効なデータが格納されておらずデータ書き込みに再利用可能なブロックであるフリーブロックの物理アドレスや、データ書き込みに利用不可能な不良ブロックの物理アドレスや、論理アドレスと物理アドレスとの変換テーブルが格納されたブロックの物理アドレスなども管理する。
【０２１０】
チャネル管理部１０８は、アクセス装置２ａがデータ書き込み時に指定するチャネル番号毎に書き込み先の物理ブロックを割り当て、その書き込み状態を管理する。これにより、アクセス装置２ａが異なるチャネル番号の書き込みを並列的に行った場合であっても、書き込み性能の低下を防止する。
【０２１１】
不揮発性メモリ１２は、アクセス装置２ａから書き込まれたデータや不揮発性記憶装置１ａが内部的に使用するシステム情報などを格納する部分である。
【０２１２】
（２．１．３：ディレクトリ及びファイル構成）
アクセス装置２ａは、不揮発性記憶装置１ａが提供するデータの記憶領域の管理をファイルシステムによって行う。本実施の形態では、半導体メモリカードで一般的に用いられているＦＡＴファイルシステム（ＦＡＴ１２、ＦＡＴ１６、ＦＡＴ３２、ｅｘＦＡＴ等）を使用するものとするが、ＵＤＦや独自のファイルシステム等の他のファイルシステムを使用してもよい。
【０２１３】
図１５は、アクセス装置２ａのアプリケーション部２０１が不揮発性記憶装置１ａにＡＶコンテンツを格納（記録）する際のディレクトリ及びファイル構成の一例を示している。
【０２１４】
本実施の形態においては、ルートディレクトリの直下に「ＶＩＤＥＯ」ディレクトリが生成され、「ＶＩＤＥＯ」ディレクトリの直下に、「ＰＲＧ１」、「ＰＲＧ２」といった個々のＡＶコンテンツを格納するディレクトリが生成される。さらに、「ＰＲＧ１」には映像・音声のストリームデータ本体であるコンテンツファイルの「ＳＴ１」ファイルと、前記コンテンツファイルのメタデータ等を格納したコンテンツ管理情報ファイルである「ＩＮＦＯ１」、「ＩＮＦＯ２」、…、「ＩＮＦＯＮ」ファイルというＮ個のファイルとが生成される。「ＰＲＧ２」ディレクトリにも「ＰＲＧ１」と同様のファイル群が生成される。
【０２１５】
さらに、「ＶＩＤＥＯ」ディレクトリの直下には、「ＭＮＧ」という全てのＡＶコンテンツデータに関するメタデータ等（例えば、ＡＶコンテンツデータの総数、総再生時間、プレイリスト等）を格納するディレクトリが生成される。「ＭＮＧ」ディレクトリの直下には、コンテンツ管理情報ファイルである「ＭＮＧ１」、「ＭＮＧ２」、…、「ＭＮＧＭ」ファイルというＭ個のファイルが生成される。
【０２１６】
従って、アクセス装置２ａは、１つのＡＶコンテンツを記録する際に、コンテンツファイル以外にも複数のコンテンツ管理情報ファイル（例えば、上記の「ＩＮＦＯ１」や「ＭＮＧ１」等に相当するファイル）の書き込みが必要である。一般的に、異なるファイルのデータは、異なる論理アドレスに格納されるため、これら複数のコンテンツ管理情報ファイルの更新は、ランダムでアドレスが連続しない複数の論理アドレスに対する小サイズのデータ書き込みとなる。
【０２１７】
一般的に、このようなランダムな書き込みは、書き込み性能を低下させる。これを防止するために、コンテンツ管理情報ファイル毎にチャネル番号を割り当てて書き込むならば、多くのチャネル番号が必要となり、上述の課題が生じる。そこで、本実施の形態では、ＡＶコンテンツのリアルタイム記録中にこのようなランダム書き込みを行わないようにするために、複数のコンテンツ管理情報ファイルの更新情報を一時的に格納するためのファイルであるＭＩＣＦをルートディレクトリの直下に生成し、これを利用する。
【０２１８】
（２．１．４：ＭＩＣＦのデータフォーマット）
図１６は、ＭＩＣＦのデータフォーマットの一例を示している。本実施の形態では、ＭＩＣＦは、固定長のエントリと呼ばれる更新単位の集合で構成される。各エントリのサイズは、不揮発性記憶装置１ａの不揮発性メモリ１２を構成するＮＡＮＤフラッシュの書き込み単位である物理ページに格納可能な、（アクセス装置２ａから書き込む）データのサイズ、又はその整数倍とする。具体的には、エントリのサイズは、８ｋＢとか、１６ｋＢとか、２５６ｋＢといったサイズとする。
【０２１９】
また、ＭＩＣＦのサイズは、ＮＡＮＤフラッシュの消去単位である物理ブロックに格納可能な、（アクセス装置２ａから書き込む）データのサイズ、又はその整数倍とする。具体的には、ＭＩＣＦのサイズは、１ＭＢとか４ＭＢとか６４ＭＢといったサイズとする。
【０２２０】
各エントリは、エントリ情報、キャッシュアロケーションテーブル（以降、ＣＡＴと呼称する）、キャッシュデータ領域で構成される。キャッシュデータ領域は、コンテンツ管理情報ファイルの更新情報を格納する領域である。エントリ情報は、該エントリに関する情報を格納する領域である。エントリ情報は、少なくとも該エントリのキャッシュデータが書き込み済みであるか否かを判断するための情報である「書き込み済フラグ」を含んでいるものとする。
【０２２１】
ＣＡＴは、ＭＩＣＦに書き込まれたコンテンツ管理情報ファイルの更新情報を検索するためのテーブルである。ＣＡＴは、複数のレコードで構成される。各レコードは、ＭＩＣＦに格納されたキャッシュデータの「論理セクタアドレス」（以降、ＬＳＡと呼称する）と、格納先エントリの「エントリ番号」とで構成される。各レコードのＬＳＡは、重複しないものとする。
【０２２２】
＜２．２：キャッシュファイル管理部の動作＞
続いて、ＭＩＣＦの管理を行うキャッシュファイル管理部２０５の動作を説明する。
【０２２３】
（２．２．１：ＭＩＣＦ作成処理）
図１７は、本実施の形態におけるＭＩＣＦ作成処理の手順を示すフローチャートである。
【０２２４】
まず、ステップＳ１５１における処理を説明する。キャッシュファイル管理部２０５は、作成するＭＩＣＦのサイズを決定する。ＭＩＣＦのサイズは、アクセス装置２ａの仕様等によって予め決められた固定サイズとしてもよい。また、不揮発性記憶装置１ａの記憶容量などを参考にして決定してもよい。
【０２２５】
そして、キャッシュファイル管理部２０５は、不揮発性記憶装置１ａから読み出したファイルシステム管理情報からＭＩＣＦを作成するための空き領域を検索する。空き領域は、不揮発性記憶装置１ａの不揮発性メモリ１２を構成するＮＡＮＤフラッシュの消去単位である物理ブロックの単位、又はその整数倍の単位で連続アドレスとなる領域とし、且つその開始アドレスは、前記単位でアライメントされたアドレスとなるようにする。すなわち、キャッシュファイル管理部２０５は、コンテンツファイルの書き込み開始前に、ＭＩＣＦのファイルデータを書き込む領域として、固定領域且つ連続なアドレス空間を確保する。
【０２２６】
例えば、物理ブロックが４ＭＢ単位（セクタ数が２０００ｈ：１６進数）の場合に、キャッシュファイル管理部２０５は、セクタアドレス１００００ｈ（１６進数）からセクタアドレス１ＦＦＦＦｈ（１６進数）までの３２ＭＢの領域を空き領域として確保する。
【０２２７】
このような領域を確保するのは、ＭＩＣＦのデータを先頭から順に連続的に書き込んだときに、不揮発性記憶装置１ａにおいて、書き込みデータが物理ブロックに対して連続的に書き込まれるようにするためである。なぜなら、物理ブロックへの書き込みは、先頭から順に連続的に書き込んだときに最も効率的になるからである。
【０２２８】
次に、ステップＳ１５２の処理を説明する。キャッシュファイル管理部２０５は、ステップＳ１５１で検索した空き領域をファイルデータの格納領域とするＭＩＣＦを作成する。具体的には、キャッシュファイル管理部２０５は、ＭＩＣＦのファイルシステム管理情報（ＦＡＴ、Ｂｉｔｍａｐ、ファイルエントリ情報など）を不揮発性記憶装置１ａに書き込む。
【０２２９】
最後に、ステップＳ１５３の処理を説明する。キャッシュファイル管理部２０５は、ＭＩＣＦの先頭から順に連続的にＭＩＣＦの初期データを書き込む。初期データとしては、各エントリの書き込み済フラグを全てＯＦＦ（未書き込み）に設定する。それ以外の領域には、無効なデータを書き込む。図１８は、ＭＩＣＦ作成処理後のＭＩＣＦの状態の一例を示す図である。
【０２３０】
例えば、１番目のエントリ（エントリ♯１）では、書き込み済フラグがＯＦＦに設定され、１番目のレコード（レコード♯１）のＬＳＡ及びエントリ番号には、無効なデータが書き込まれ、以下同様に、すべてのレコードのＬＳＡ及びエントリ番号にも、無効なデータが書き込まれ、また、キャッシュデータに、無効なデータが書き込まれている。２番目のエントリ（エントリ♯２）以降も上記と同様である。
【０２３１】
なお、本実施の形態におけるＭＩＣＦ作成処理で作成したＭＩＣＦは、以降の処理でサイズ変更されないものとする。ＭＩＣＦのサイズ変更を行うと、ＭＩＣＦに関するファイルシステム管理情報（ＦＡＴ、Ｂｉｔｍａｐ、ファイルエントリ情報など）の更新が発生し、不揮発性記憶装置１ａに対してランダムなアドレスの書き込みが必要となるためである。
【０２３２】
（２．２．２：管理情報書き込み処理）
まず、ＭＩＣＦへの書き込みの基本的なルールとして、ＭＩＣＦの先頭から順にエントリ単位で書き込みを行うものとする。この書き込み方法と、上記のＭＩＣＦ作成処理時のファイルデータ格納領域の確保方法との組合せにより、不揮発性記憶装置１ａにおいて書き込みデータが物理ブロックに対して連続的に書き込まれることになる。
【０２３３】
各エントリの書き込み済フラグは、ＭＩＣＦ作成処理の直後では、全てＯＦＦ（未書き込み）となっており、新たなエントリが書き込まれる度に、先頭エントリから順にＯＮ（書き込み済）となっていく。また、エントリのＣＡＴは、エントリの書き込みの度に最新情報に差し替えていく。従って、最後に書き込まれたエントリ、すなわち、先頭から検索して最後に書き込み済フラグがＯＮ（書き込み済）となっているエントリのＣＡＴが、最新情報となる。書き込み済フラグが全てＯＦＦ（未書き込み）の場合には、ＣＡＴの最新情報は、初期値（有効なレコードが１つも存在しない状態）となる。
【０２３４】
図１９は、本実施の形態におけるＭＩＣＦを利用した管理情報書き込み処理の手順を示すフローチャートである。管理情報書き込み処理は、本フローチャートに従って１セクタ単位で実行される。本処理の実行前に、ファイルシステム部２０２は、コンテンツ管理情報ファイルのファイルシステム管理情報を参照するなどして、書き込み対象の論理セクタアドレス（ＬＳＡ＿Ｗ）及びデータを保持しているものとする。
【０２３５】
まず、ステップＳ２５１の処理を説明する。ファイルシステム部２０２は、アプリケーション部２０１からの指示に基づき、ＭＩＣＦを使用した書き込みを行うか否かを判定する。アプリケーション部２０１は、コンテンツデータのリアルタイム記録中などの書き込み時間に関する制約が厳しい条件下では、ＭＩＣＦを使用した書き込みを指定する。ＭＩＣＦを使用しない場合（ＮＯの場合）は、ステップＳ２５２の処理を行い、その後、処理を終了する。ＭＩＣＦを使用する場合（ＹＥＳの場合）は、ステップＳ２５３〜Ｓ２５５の処理を行い、その後、処理を終了する。
【０２３６】
次に、ステップＳ２５２の処理を説明する。ＭＩＣＦを使用しない場合、ファイルシステム部２０２は、不揮発性記憶装置１ａに対してデータを書き込む。ファイルシステム部２０２は、書き込み先アドレスとして、論理セクタアドレス（ＬＳＡ＿Ｗ）そのものを指定する。
【０２３７】
次に、ステップＳ２５３の処理を説明する。ＭＩＣＦを使用する場合、ファイルシステム部２０２は、書き込み対象の論理セクタアドレス（ＬＳＡ＿Ｗ）及びデータをキャッシュファイル管理部２０５に通知する。
【０２３８】
キャッシュファイル管理部２０５は、不揮発性記憶装置１ａに格納されたＭＩＣＦの最新のＣＡＴをキャッシュ管理テーブル２２１に読み出す。既にキャッシュ管理テーブル２２１に最新のＣＡＴが存在している場合は、この読み出し処理をスキップしてもよい。
【０２３９】
次に、ステップＳ２５４の処理を説明する。キャッシュファイル管理部２０５は、キャッシュ管理テーブル２２１のＣＡＴを、書き込み対象にあわせて更新する。具体的には、キャッシュファイル管理部２０５は、キャッシュ管理テーブル２２１のＣＡＴの各レコードを参照して、同じＬＳＡ（ＬＳＡ＿Ｗ）が存在するか否かを判定する。同じＬＳＡがなければ、無効なレコードの１つを選択し、ＬＳＡをＬＳＡ＿Ｗ、エントリ番号をこれから書き込むエントリ（すなわち、先頭の未書き込みエントリ）の番号に更新する。同じＬＳＡがあれば、そのレコードのエントリ番号をこれから書き込むエントリ（すなわち、先頭の未書き込みエントリ）の番号に更新する。この処理で、ＣＡＴに同じＬＳＡが重複して登録されないことになる。
【０２４０】
最後に、ステップＳ２５５の処理を説明する。キャッシュファイル管理部２０５は、不揮発性記憶装置１ａのＭＩＣＦの先頭未書き込みエントリの書き込みを行う。このとき、書き込み済フラグはＯＮ、ＣＡＴはステップＳ２５４で更新した値、キャッシュデータは書き込み対象のデータとなる。なお、エントリの書き込みは、エントリの先頭から順に連続に書き込むものとする。
【０２４１】
図２０は、本実施の形態におけるＭＩＣＦ作成処理後に管理情報書き込み処理を１回実施した後のＭＩＣＦの状態の一例を示す図である。１番目のエントリでは、書き込み済フラグがＯＮに設定され、ＣＡＴの１番目のレコードのＬＳＡに３２が書き込まれ、エントリ番号に１が書き込まれ、ＬＡＳ３２用の管理情報（コンテンツ管理情報ファイルのデータ）がキャッシュデータとして書き込まれている。
【０２４２】
図２１は、本実施の形態におけるＭＩＣＦ作成処理後に管理情報書き込み処理を２回実施した後のＭＩＣＦの状態の一例を示す図である。２番目のエントリでは、書き込み済フラグがＯＮに設定され、ＣＡＴの２番目のレコードのＬＳＡに２４が書き込まれ、エントリ番号に２が書き込まれ、ＬＡＳ２４用の管理情報がキャッシュデータとして書き込まれている。このとき、１番目のエントリのキャッシュデータも、引続きＣＡＴに登録されている。
【０２４３】
図２２は、本実施の形態におけるＭＩＣＦ作成処理後に管理情報書き込み処理を３回実施した後のＭＩＣＦの状態の一例を示す図である。３番目のエントリでは、書き込み済フラグがＯＮに設定され、ＣＡＴの１番目のレコードのＬＳＡに３２が書き込まれ、エントリ番号に３が書き込まれ、ＬＡＳ３２用の管理情報がキャッシュデータとして書き込まれている。このとき、１番目のエントリのキャッシュデータは、ＣＡＴから削除されており、３番目のエントリで差し替えられた状態となっている。また、２番目のエントリのキャッシュデータは、引続きＣＡＴに登録されている。
【０２４４】
（２．２．３：管理情報読み出し処理）
まず、管理情報読み出しの基本的なルールとして、ＭＩＣＦのデータを優先的に読み出す。これは、以下の理由による。
【０２４５】
ＭＩＣＦは、コンテンツデータのリアルタイム記録中などの書き込み時間に関する制約が厳しい条件下において、一時的に不揮発性記憶装置１ａにコンテンツ管理情報ファイルを書き込む手段として使用されることを想定している。そのため、ＭＩＣＦに書き込まれた管理情報は、リアルタイム記録の終了後などの時間的制約が緩和された時点で、最終的に本来のコンテンツ管理情報ファイルに反映（コピー）され、その後、削除される。従って、ＭＩＣＦには、本来のコンテンツ管理情報ファイルよりも新しいもしくは同一データが、常に格納されていることになる。読み出しでは、常に新しいデータを出力するために、ＭＩＣＦのデータを優先的に読み出すものとする。
【０２４６】
図２３は、本実施の形態におけるＭＩＣＦを利用した管理情報読み出し処理の手順を示すフローチャートである。管理情報読み出し処理は、本フローチャートに従って１セクタ単位で実行される。本処理の実行前に、ファイルシステム部２０２は、コンテンツ管理情報ファイルのファイルシステム管理情報を参照するなどして、読み出し対象の論理セクタアドレス（ＬＳＡ＿Ｒ）及びデータを保持しているものとする。
【０２４７】
まず、ステップＳ３５１の処理を説明する。ファイルシステム部２０２は、読み出し対象の論理セクタアドレス（ＬＳＡ＿Ｒ）をキャッシュファイル管理部２０５に通知する。キャッシュファイル管理部２０５は、不揮発性記憶装置１ａに格納されたＭＩＣＦの最新のＣＡＴをキャッシュ管理テーブル２２１に読み出す。既にキャッシュ管理テーブル２２１に最新のＣＡＴが存在している場合は、この読み出し処理をスキップしてもよい。
【０２４８】
次に、ステップＳ３５２の処理を説明する。キャッシュファイル管理部２０５は、キャッシュ管理テーブル２２１のＣＡＴを参照し、読み出し対象の論理セクタアドレス（ＬＳＡ＿Ｒ）が登録されているか否かを判定する。読み出し対象の論理セクタアドレスの登録がなければ（ＮＯの場合）、ステップＳ３５３の処理を行い、その後、処理を終了する。登録があれば（ＹＥＳの場合）、ステップＳ３５４、Ｓ３５５の処理を行い、その後、処理を終了する。
【０２４９】
次に、ステップＳ３５３の処理を説明する。読み出し対象の論理セクタアドレスの登録がない場合、キャッシュファイル管理部２０５は、ファイルシステム部２０２に対してＭＩＣＦ上に読み出し対象が存在しないことを通知する。ファイルシステム部２０２は、読み出し対象の論理セクタアドレス（ＬＳＡ＿Ｒ）を直接指定して不揮発性記憶装置１ａからデータを読み出す。
【０２５０】
次に、ステップＳ３５４の処理を説明する。読み出し対象の論理セクタアドレスの登録がある場合、キャッシュファイル管理部２０５は、キャッシュ管理テーブル２２１のＣＡＴを参照し、読み出し対象の論理セクタアドレスのエントリ番号を取得する。
【０２５１】
最後に、ステップＳ３５５の処理を説明する。キャッシュファイル管理部２０５は、上記のエントリ番号のエントリのキャッシュデータを読み出して、ファイルシステム部２０２に通知する。
【０２５２】
（２．２．４：キャッシュ管理テーブルに格納する情報）
本実施の形態において、上記の各処理により、キャッシュ管理テーブル２２１には、少なくともＭＩＣＦに関する最新のＣＡＴが格納されている。これにより、管理情報の書き込みや読み出しの度に、不揮発性記憶装置１ａからの読み出しを行う必要がなくなるので処理を高速化することが可能である。同様の理由から、キャッシュ管理テーブル２２１には、ＭＩＣＦの次書き込みエントリの位置に関する情報（エントリ番号など）を格納し、ＭＩＣＦへの書き込み毎に更新するものとする。
【０２５３】
＜２．３：アクセス装置の動作＞
続いて、アクセス装置２ａの全体的な動作を説明する。
【０２５４】
（２．３．１：準備処理）
不揮発性記憶装置１ａがアクセス装置２ａに装着されると、アクセス装置２ａは、不揮発性記憶装置１ａに対する記録処理や再生処理等を実施するための準備処理を開始する。図２４は、本実施の形態における準備処理の手順を示すフローチャートである。
【０２５５】
まず、ステップＳ４５１の処理を説明する。アクセス装置２ａの不揮発性記憶装置ＩＦ部２４は、不揮発性記憶装置１ａが装着されたことを検出し、検出結果を不揮発性記憶装置アクセスドライバ部２０３に通知する。
【０２５６】
このとき、不揮発性記憶装置アクセスドライバ部２０３は、不揮発性記憶装置１ａに対するドライバレベルでの初期化処理を行う。より具体的には、不揮発性記憶装置アクセスドライバ部２０３は、不揮発性記憶装置ＩＦ部２４を介して、電源（電力）やクロックの供給を開始し、初期化を指示するコマンドを発行する。さらに、不揮発性記憶装置アクセスドライバ部２０３は、不揮発性記憶装置１ａに関する情報（例えば、記憶容量や対応バージョン番号など）を不揮発性記憶装置１ａから取得し、ファイルシステム部２０２に通知する。
【０２５７】
次に、ステップＳ４５２の処理を説明する。ファイルシステム部２０２は、不揮発性記憶装置１ａが提供する記憶領域に格納されたファイルシステム管理情報（マスターブートレコード、パーティションテーブルなど）を読み出し、ファイルシステム部２０２が記憶領域を管理するために必要な情報をＲＡＭ２２上に取得する。すなわち、ファイルシステムレベルでの初期化処理が実施される。
【０２５８】
次に、ステップＳ４５３の処理を説明する。ファイルシステム部２０２は、キャッシュファイル管理部２０５に初期化処理を指示する。キャッシュファイル管理部２０５は、ＭＩＣＦが不揮発性記憶装置１ａに存在するか否かを判定する。ＭＩＣＦが存在しなければ（ＮＯの場合）、ステップＳ４５６の処理に移る。ＭＩＣＦが存在すれば（ＹＥＳの場合）、ステップＳ４５４、Ｓ４５５の処理を行い、Ｓ４５６の処理に移る。
【０２５９】
次に、ステップＳ４５４の処理を説明する。ＭＩＣＦが存在する場合、キャッシュファイル管理部２０５は、不揮発性記憶装置１ａに格納されたＭＩＣＦの最新のＣＡＴをキャッシュ管理テーブル２２１に読み出す。そして、キャッシュファイル管理部２０５は、該ＣＡＴに登録されているレコードを参照し、有効なＬＳＡが格納されているならば、該レコードのエントリ番号で指定されるエントリのキャッシュデータを、該ＬＳＡのデータとして不揮発性記憶装置１ａに書き込む。キャッシュファイル管理部２０５は、これを全てのレコードに対して実施する。本処理によって、ＭＩＣＦに格納されていたデータは、コンテンツ管理情報ファイルにコピーされることになる。
【０２６０】
次に、ステップＳ４５５の処理を説明する。キャッシュファイル管理部２０５は、ＭＩＣＦを削除する。
【０２６１】
最後に、ステップＳ４５６の処理を説明する。アプリケーション部２０１は、ファイルシステム部２０２を介して、不揮発性記憶装置１ａに格納されたコンテンツ管理情報ファイルを読み出し、アプリケーション部２０１が必要とする情報をＲＡＭ２２上に取得する。すなわち、アプリケーションレベルでの初期化処理が実施され、その後、処理が完了する。
【０２６２】
なお、後述する記録処理が正常に終了した場合には、ステップＳ４５３において、ＭＩＣＦは存在しない。記録処理中の電源遮断や不揮発性記憶装置１ａの抜去が発生した場合には、ＭＩＣＦが存在する可能性がある。
【０２６３】
この場合、上記の準備処理により、キャッシュファイル管理部２０５は、不揮発性記憶装置１ａの装着後に、ＭＩＣＦが存在するか否かを確認し、ＭＩＣＦが存在する場合には、ＭＩＣＦに書き込まれた更新データを複数のコンテンツ管理情報ファイルにコピーする。従って、ＭＩＣＦに書き込まれた各コンテンツ管理情報ファイルの更新データを各コンテンツ管理情報ファイルに反映させることができるので、電源遮断や不揮発性記憶装置１ａの抜去という異常状態からの復帰が可能となる。
【０２６４】
（２．３．２：記録処理）
上記の準備処理後、アプリケーション部２０１は、記録処理を実施する。記録処理の開始のトリガーは様々である。一例として、ユーザから指定されたタイミングや、コンテンツデータ（ＡＶ入力データ）の記録が予定されていた時刻よりも一定時間だけ前となったタイミングなどがある。なお、記録処理中に新たなコンテンツデータの記録開始や記録終了を行うこともある。
【０２６５】
図２５は、本実施の形態における記録処理の手順を示すフローチャートである。まず、ステップＳ５５１の処理を説明する。アクセス装置２ａのアプリケーション部２０１は、ファイルシステム部２０２を介して、キャッシュファイル管理部２０５にＭＩＣＦの新規作成を指示する。キャッシュファイル管理部２０５は、図１７で示したフローチャートに従い、ＭＩＣＦ作成処理を実施する。
【０２６６】
次に、ステップＳ５５２の処理を説明する。ファイルシステム部２０２は、キャッシュファイル管理部２０５が新規作成したＭＩＣＦを不揮発性記憶装置１ａに書き込むためのチャネル番号を割り当てる。
【０２６７】
次に、ステップＳ５５３の処理を説明する。アプリケーション部２０１は、記録すべき新たなコンテンツデータが発生したか否かを判定する。該データが発生した場合（ＹＥＳの場合）には、ステップＳ５５４の処理後、ステップＳ５５５の判定に移り、発生していない場合（ＮＯの場合）は、ステップＳ５５５の判定に移る。
【０２６８】
次に、ステップＳ５５４の処理を説明する。アプリケーション部２０１は、新たなコンテンツデータを受信するための準備を行う。例えば、アプリケーション部２０１は、ＲＡＭ２２上に受信したコンテンツデータを一時的に保持するためのバッファを確保する。さらに、アプリケーション部２０１は、該コンテンツデータをコンテンツファイルとして不揮発性記憶装置１ａに書き込むためのチャネル番号の割り当てをファイルシステム部２０２に指示する。その後、アプリケーション部２０１は、ＡＶ入力部２５や符号処理部２６や暗号処理部２７を制御して、コンテンツファイルのデータをＲＡＭ２２上のバッファに格納する処理を開始する。
【０２６９】
次に、ステップＳ５５５の処理を説明する。アプリケーション部２０１は、ＲＡＭ２２上のバッファに所定量のコンテンツデータが格納されたか否かを判定することにより、コンテンツデータの受信が完了したか否かを判定する。所定量のコンテンツデータが格納されていれば（ＹＥＳの場合）、ステップＳ５５６の処理後、ステップＳ５５７の判定に移り、そうでなければ（ＮＯの場合）、ステップＳ５５７の判定に移る。
【０２７０】
次に、ステップＳ５５６の処理を説明する。アクセス装置２ａは、不揮発性記憶装置１ａに対して、ＲＡＭ２２上のバッファに格納されたコンテンツファイルのデータを書き込む。書き込みは、ステップＳ５５４で割り当てたチャネル番号を指定し、連続的なアドレスに対して実施する。これにより、コンテンツファイルを連続アドレスで不揮発性記憶装置１ａに書き込むことができるので、他のコンテンツファイルのデータやＭＩＣＦのデータと並列的に書き込んだとしても書き込み性能が低下することを防止する。
【０２７１】
次に、ステップＳ５５７の処理を説明する。アプリケーション部２０１は、記録中のコンテンツデータが終了したか否かを判定する。該データが終了した場合には（ＹＥＳの場合）、ステップＳ５５８の処理に移り、終了していない場合（ＮＯの場合）は、ステップＳ５５３の判定に移る。
【０２７２】
次に、ステップＳ５５８の処理を説明する。アプリケーション部２０１は、記録が終了したコンテンツデータに関して各コンテンツ管理情報ファイルの更新データをＲＡＭ２２上に生成する。
【０２７３】
次に、ステップＳ５５９の処理を説明する。アプリケーション部２０１は、ファイルシステム部２０２及びキャッシュファイル管理部２０５を介して、図１９で示したフローチャートに従って、各コンテンツ管理情報ファイルの更新データをＭＩＣＦに書き込む。書き込みは、ステップＳ５５２で割り当てたチャネル番号を指定し、図１９で説明した書き込み手順で実施する。これにより、各コンテンツ管理情報ファイルの更新データを連続アドレスでＭＩＣＦに書き込むことができるので、他のコンテンツファイルのデータと並列的に書き込んだとしても、書き込み性能が低下することを防止する。
【０２７４】
次に、ステップＳ５６０の処理を説明する。アプリケーション部２０１は、記録中の全てのコンテンツデータが終了したか否かを判定する。全てのコンテンツデータが終了した場合（ＹＥＳの場合）には、ステップＳ５６１の処理に移り、終了していない場合（ＮＯの場合）は、ステップＳ５５３の判定に移る。
【０２７５】
次に、ステップＳ５６１の処理を説明する。全てのコンテンツデータが終了した場合、アプリケーション部２０１からの指示により、キャッシュファイル管理部２０５は、不揮発性記憶装置１ａに格納されたＭＩＣＦの最新のＣＡＴをキャッシュ管理テーブル２２１に読み出す。既にキャッシュ管理テーブル２２１に最新のＣＡＴが存在している場合は、この読み出し処理をスキップしてもよい。
【０２７６】
次に、キャッシュファイル管理部２０５は、キャッシュ管理テーブル２２１のＣＡＴに登録されているレコードを参照し、有効なＬＳＡが格納されているならば、そのレコードのエントリ番号で指定されるエントリのキャッシュデータを、該ＬＳＡのデータとして不揮発性記憶装置１ａに書き込む。この書き込みは、ステップＳ５５２で割り当てたチャネル番号を指定し、これを全てのレコードに対して実施する。
【０２７７】
本処理によって、ＭＩＣＦに格納されていたデータは、各コンテンツ管理情報ファイルにコピーされることになる。本処理では、ランダムな論理アドレスに対する書き込みが発生するために、書き込み性能が低下するが、全てのコンテンツデータの記録が既に終了しているため、本処理によるリアルタイム記録への影響はない。
【０２７８】
最後に、ステップＳ５６２の処理を説明する。キャッシュファイル管理部２０５は、ＭＩＣＦを削除し、アプリケーション部２０１は、記録処理を終了する。
【０２７９】
＜２．４：まとめ＞
以上のように、不揮発性記憶システム１００１では、アクセス装置２ａが時分割多重により複数のコンテンツデータを不揮発性記憶装置１ａにリアルタイム記録する際に、全てのコンテンツ管理情報ファイルの更新データをＭＩＣＦに書き込む。そして、全てのコンテンツデータのリアルタイム記録が終了した後、ＭＩＣＦに格納した内容を各コンテンツ管理情報ファイルに反映させて、ＭＩＣＦを削除する。
【０２８０】
この結果、本実施の形態では、コンテンツ管理情報ファイル毎にチャネル番号を割り当てる必要がないため、使用するチャネル番号の増加を抑制しつつ、コンテンツファイル及び複数のコンテンツ管理情報ファイルを、書き込み性能の低下が発生しないように並列的に書き込むことが可能な、不揮発性記憶装置１ａ、アクセス装置２ａ、及び不揮発性記憶システム１００１を提供することが可能となる。
【０２８１】
なお、上記実施の形態で記載された数値は一例であり、他の値を使用してもよい。例えば、エントリのサイズなどの値はすべて一例であり、上記実施の形態に記載した値に限定されるものではない。また、以下のように変更することも可能である。
【０２８２】
（１）上記実施の形態では、図１６に示すようなデータフォーマットを使用し、各エントリに１つのキャッシュデータを格納できるものとしたが、各エントリに複数のキャッシュデータを格納できるようにしてもよい。
【０２８３】
例えば、図２６に示すようなデータフォーマットとしてもよい。図２６では、１つのエントリに対して複数のキャッシュデータ（＃１から＃ＮまでのＮ個）を格納可能であり、ＣＡＴの各レコードには、ＬＳＡに対するキャッシュデータの位置を特定するために、エントリ番号に加えてキャッシュ番号（＃１から＃Ｎまでの何れか）を追加している。この結果、一つのエントリに、異なるＬＳＡに対する複数の更新データを書き込むことができる。
【０２８４】
これにより、複数のコンテンツ管理情報ファイルの更新データを１つのエントリ書き込みで実施することができるため、不揮発性記憶システム１００１の実装によっては、ＭＩＣＦの書き込み効率を向上することができる。また、複数のコンテンツ管理情報ファイルの更新を一括して有効にするか、無効にするかの何れかの状態にしたい場合にも有効である。
【０２８５】
（２）上記実施の形態では、図１６に示すようなデータフォーマットを使用し、エントリ情報として、書き込み済フラグを格納できるものとしたが、図２７に示すように、エントリ情報として、一連のエントリ書き込みにおける最後のエントリに、該エントリよりも前のアドレスに格納されたエントリを一括して有効化するための「整合性フラグ」を格納できるようにしてもよい。
【０２８６】
この場合、図２５に示す記録処理において、ステップＳ５５９では、ＭＩＣＦに複数のエントリを書き込む場合には、一連のエントリ書き込みにおける最後のエントリ書き込みのみ「整合性フラグ」をＯＮとして書き込み、それ以外はＯＦＦとして書き込むものとする。
【０２８７】
そして、図２４に示す準備処理において、ステップＳ４５４の処理では、キャッシュファイル管理部２０５は、「書き込み済フラグ」及び「整合性フラグ」が共にＯＮであるエントリのうち最も後方に存在するエントリのＣＡＴを該ＭＩＣＦの最新のＣＡＴとして読み出すものとする。例えば、ＭＩＣＦが図２８に示す状態であれば、７番目のエントリのＣＡＴを読み出し、図２９に示す状態であれば、２番目のエントリのＣＡＴを読み出す。
【０２８８】
上記のように、整合性フラグを使用することで、複数のコンテンツ管理情報ファイルの更新を一括して有効にするか、無効にするかの何れかの状態にすることが可能である。
【０２８９】
（３）上記実施の形態では、図１６に示すようなデータフォーマットを使用し、各エントリを固定長としたが、図３０に示すように、各エントリを可変長としてもよい。この場合、エントリ情報に該エントリのサイズを格納することで、各エントリの開始位置を検索することが可能となる。また、固定長では、検索が容易となり、可変長では、エントリ内の領域の利用効率を高めるというメリットがあるため、不揮発性記憶装置１ａの要件に応じて、固定長又は可変長を選択することが望ましい。
【０２９０】
（４）上記実施の形態では、ＭＩＣＦをファイルシステム部２０２に含まれるキャッシュファイル管理部２０５が管理するものとしたが、キャッシュファイル管理部２０５をアプリケーション部２０１に含まれるように構成してもよい。
【０２９１】
このとき、ＣＡＴのレコードは、図１６に示すような「ＬＳＡ」と「エントリ番号」との組で構成するのではなく、図３１に示すように、「各管理情報ファイルに含まれる管理情報を識別するＩＤ（識別情報）（管理情報ＩＤ）」と「エントリ番号」との組で構成するようにする。そして、各エントリのキャッシュデータ領域には、「管理情報ＩＤ」に対応する「管理情報データ」が格納される。このような構成でも、上記実施の形態と同様の効果が期待できる。
【０２９２】
（５）上記実施の形態では、記録処理においてＭＩＣＦを用いて管理情報書き込み処理を実施するタイミングをコンテンツデータの記録が終了したタイミングとしていたが、これに限定されない。
【０２９３】
例えば、記録中のコンテンツデータに対する暫定的な管理情報書き込み処理を実施してもよい。これにより、管理情報書き込み処理の回数は増加するが、電源遮断や不揮発性記憶装置１ａの抜去が発生したときに、アクセス装置２ａが記録中のコンテンツデータを認識することが可能となる。
【０２９４】
（他の実施の形態）
なお、本発明について、上記の各実施の形態に基づいて説明してきたが、本発明は上記の各実施の形態に限定されないのはもちろんである。本発明の趣旨を逸脱しない範囲で実施変更することができる。また、以下のように変更することも可能である。
【０２９５】
（１）上記の各実施の形態における、アクセス装置、不揮発性記憶装置、コントローラ、及び不揮発性記憶システムにおいて、各機能ブロックは、ＬＳＩなどの半導体装置により個別に１チップ化されてもよいし、一部又は全部を含むように１チップ化されてもよい。
【０２９６】
なお、ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ（Integrated Circuit）、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０２９７】
また、集積回路化の手法は、ＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。また、ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサ（Reconfigurable Processor）を利用してもよい。
【０２９８】
さらには、半導体技術の進歩又は派生する別技術により、ＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。例えば、バイオ技術の適用等が可能性としてありえる。
【０２９９】
（２）上記の各実施の形態における各処理をハードウェアにより実現してもよいし、ソフトウェア（ＯＳ（オペレーティングシステム）、ミドルウェア、あるいは、所定のライブラリとともに実現される場合を含む。）により実現してもよい。さらに、ソフトウェア及びハードウェアの混在処理により実現してもよい。なお、上記の各実施の形態に係るアクセス装置、不揮発性記憶装置、及び不揮発性記憶システムをハードウェアにより実現する場合、各処理を行うためのタイミング調整を行う必要があるのは言うまでもない。上記の各実施の形態においては、説明便宜のため、実際のハードウェア設計で生じる各種信号のタイミング調整の詳細については省略している。
【０３００】
また、上記の各実施の形態における処理方法の実行順序は、必ずしも、上記の各実施の形態の記載に制限されるものではなく、発明の要旨を逸脱しない範囲で、実行順序を入れ替えることができるものである。
【０３０１】
（３）上記の各実施の形態における不揮発性記憶装置は、半導体メモリカードのような着脱可能な記憶装置として説明したが、アクセス装置の基板に組み込みできる形式の情報記憶モジュールとして実現してもよい。
【産業上の利用可能性】
【０３０２】
本発明に係る不揮発性記憶システム、アクセス装置、及び不揮発性記憶装置は、コンテンツファイルのリアルタイム記録中に複数のコンテンツ管理情報ファイルの更新を効率的に行うことができる。これは、半導体メモリカードはいうまでもなく、半導体メモリカード等の不揮発性記憶装置を使用し、動画、音楽、静止画などのデジタルコンテンツを取り扱うアクセス装置である、ＰＣアプリケーション、オーディオレコーダ、ＤＶＤレコーダ、ＨＤＤレコーダ、ムービー、デジタルスチルカメラ、携帯電話端末等に最適（有用）であり、半導体メモリ関連分野において、実施をすることができる。
【符号の説明】
【０３０３】
１０００、１００１  不揮発性記憶システム
１、１ａ  不揮発性記憶装置
２、２ａ  アクセス装置
１１  メモリコントローラ
１２  不揮発性メモリ
１２１  記録領域
１２２  退避領域
２１、１０１  ＣＰＵ
２２、１０２  ＲＡＭ
２３、１０３  ＲＯＭ
２４  不揮発性記憶装置インタフェース部
２５  ＡＶ入力部
２６  符号処理部
２７  暗号処理部
１０４  アクセス装置インタフェース部
１０５  不揮発性メモリインタフェース部
１０６  コマンド処理部
１０７  アドレス管理部
１０８  チャネル管理部
１０９  休止制御部
２０１  アプリケーション部
２０２  ファイルシステム部
２０３  不揮発性記憶装置アクセスドライバ部
２０４  帯域管理部
２０５  キャッシュファイル管理部
２２１  キャッシュ管理テーブル
【図１】
2011210235.tif 000003
【図２】
2011210235.tif 000004
【図３】
2011210235.tif 000005
【図４】
2011210235.tif 000006
【図５】
2011210235.tif 000007
【図６】
2011210235.tif 000008
【図７】
2011210235.tif 000009
【図８】
2011210235.tif 000010
【図９】
2011210235.tif 000011
【図１０】
2011210235.tif 000012
【図１１】
2011210235.tif 000013
【図１２】
2011210235.tif 000014
【図１３】
2011210235.tif 000015
【図１４】
2011210235.tif 000016
【図１５】
2011210235.tif 000017
【図１６】
2011210235.tif 000018
【図１７】
2011210235.tif 000019
【図１８】
2011210235.tif 000020
【図１９】
2011210235.tif 000021
【図２０】
2011210235.tif 000022
【図２１】
2011210235.tif 000023
【図２２】
2011210235.tif 000024
【図２３】
2011210235.tif 000025
【図２４】
2011210235.tif 000026
【図２５】
2011210235.tif 000027
【図２６】
2011210235.tif 000028
【図２７】
2011210235.tif 000029
【図２８】
2011210235.tif 000030
【図２９】
2011210235.tif 000031
【図３０】
2011210235.tif 000032
【図３１】
2011210235.tif 000033