(57)【特許請求の範囲】
【請求項１】
連続して再生されるデータファイルを所定長単位毎にブロック化して、複数の上記ブロックを集合化して複数のパーツとして離散的に記録する不揮発性メモリにおいて、
複数のパーツを連結して連続して再生されるデータファイルに復元するための第１の管理情報が記録された管理領域と、
上記データファイルを構成するパーツ数と上記パーツ毎のパーツサイズとが管理された上記所定長から成る第２の管理情報が上記データファイル毎に付加され、上記複数のブロックを集合化して複数のパーツとして離散的に記録されるデータ領域と
からなることを特徴とする不揮発性メモリ。
【請求項２】
請求項１において、
上記各パーツ毎のデータファイルに対して暗号化を施すためのパーツキーが、パーツ毎に上記第２の管理情報として記録されていることを特徴とする不揮発性メモリ。
【請求項３】
請求項１において、
上記データファイルに対して暗号化を施すためのコンテンツキーが上記第２の管理情報として記録されていることを特徴とする不揮発性メモリ。
【請求項４】
請求項２において、
上記データファイルに対して暗号化を施すためのコンテンツキーが上記第２の管理情報として記録されており、上記パーツキーは上記コンテンツキーにより暗号化されていることを特徴とする不揮発性メモリ。
【請求項５】
請求項１において、
上記各パーツ毎のデータサイズが、上記第２の管理情報として記録されていることを特徴とする不揮発性メモリ。
【請求項６】
請求項１において、
上記管理領域に記録される第１の管理情報がファイルアロケーションテーブルであることを特徴とする不揮発性メモリ。
【請求項７】
請求項１において、
上記データ領域に記録される第２の管理情報に含まれるパーツ数は編集時に書き換えられることを特徴とする不揮発性メモリ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ＦＡＴ（File allocation Table ）を用いてメモリカード上に記録されたファイルの管理を行う不揮発性メモリに関する。
【０００２】
【従来の技術】
ＥＥＰＲＯＭ(Electrically Erasable Programmable ROM)と呼ばれる電気的に書き換え可能な不揮発性メモリは、１ビットを２個のトランジスタで構成するために、１ビット当たりの占有面積が大きく、集積度を高くするのに限界があった。この問題を解決するために、全ビット一括消去方式により１ビットを１トランジスタで実現することが可能なフラッシュメモリが開発された。フラッシュメモリは、磁気ディスク、光ディスク等の記録媒体に代わりうるものとして期待されている。
【０００３】
フラッシュメモリを機器に対して着脱自在に構成したメモリカードも知られている。このメモリカードを使用すれば、従来のＣＤ（コンパクトディスク：登録商標）、ＭＤ（ミニディスク：登録商標）等のディスク状媒体に換えてメモリカードを使用するディジタルオーディオ記録／再生装置を実現することができる。
【０００４】
従来、パーソナルコンピュータで使用されるファイル管理システムは、ＦＡＴ(File Allocation Table) システムと呼ばれる。上述のＦＡＴシステムでは、必要なファイルが定義されると、その中に必要なパラメータがファイルの先頭から順番にセットされていた。その結果、ファイルのサイズが可変長で、１ファイルが１または複数の管理単位（セクタ、クラスタ等）で構成される。この管理単位の関連事項がＦＡＴと呼ばれるテーブルに書かれる。このＦＡＴシステムは、記録媒体の物理的特性と無関係に、ファイル構造を容易に構築することができる。従って、ＦＡＴシステムは、フロッピーディスク、ハードディスクのみならず、光磁気ディスク、でも採用することができる。上述したメモリカードにおいても、ＦＡＴシステムが採用されている。
【０００５】
しかしながら、オーディオデータが記録されているＣＤ等では、ＦＡＴシステムの概念は全くなく、記録／再生が可能なＭＤの時代になって初めてＬｉｎｋ−Ｐ（以下、リンクＰと称する）と呼ばれるＦＡＴを変形したような方法で音楽の記録や編集が実現された。このためシステム自体は、簡素化され小さなＣＰＵでも制御が可能なものとなっていたが、パーソナルコンピュータとのデータのやり取りは全くできず、独立したＡＶ機器として発展してきた。
【０００６】
このＭＤで採用されているリンクＰなるシステムは、ＭＤ上に生じた欠陥の位置に係る情報を格納するスロットの先頭位置を示すＰ−ＤＦＡ（Pointer for Defective Area）、スロットの使用状況を示すＰ−Ｅｍｐｔｙ（Pointer for Empty slot）、記録可能領域を管理するスロットの先頭位置を示すＰ−ＦＲＡ（Pointer for FReely Area ）および各プログラム番号に対応したスロットの先頭位置を各々示すＰ−ＴＮｏ１、Ｐ−ＴＮｏ２、・・・Ｐ−ＴＮｏ２５５から構成される。
【０００７】
Ｐ−ＦＲＡ（Pointer for Freely Area ）を参照して記録媒体上に離散的に存在する記録可能エリアを連続的に検索する処理の一例を図４２を用いて説明する。この図４２において、Ｐ−ＦＲＡに０３ｈが記録されている。この場合には、まず、図４２Ａに示すようにスロット０３ｈがアクセスされる。このスロット０３ｈに記録されているスタートアドレスおよびエンドアドレスは、ディスク上に存在する１つのパーツの起点アドレスと終点アドレスを示す。
【０００８】
図４２Ａに示すように、スロット０３ｈに記録されているリンク情報は、後続すべきスロットのアドレス１８ｈを示している。図４２Ｂに示すように、スロット１８ｈがアクセスされる。スロット１８ｈに記録されているリンク情報が後続すべきスロットのアドレスが１Ｆｈであることを示しているので、図４２Ｃに示すように、さらにスロット１Ｆｈがアクセスされる。そして、スロット１Ｆｈのリンク情報に従って、スロット２Ｂｈがアクセスされ（図４２Ｄ）、さらにスロット２Ｂｈのリンク情報に従ってスロットＥ３ｈがアクセスされる（図４２Ｅ）。このようにして、リンク情報としてｎｕｌｌ（すなわち００ｈ）が現れるまで次々にリンク情報をたどることにより、ＭＤ上に離散的に存在する記録可能エリアのアドレスが順に認識される。光ピックアップを制御して、ＭＤ上のこれらのアドレスに順にアクセスしていくことにより、離散的に存在する記録可能エリアをクリアすることが可能となる。また、Ｐ−ＤＦＡ（Pointer for Defective Area）、Ｐ−ＴＮｏＮを参照しても同様に離散的に記録されている傷エリア、データエリアを連続的にアクセスすることができる。
【０００９】
【発明が解決しようとする課題】
このように、リンクＰは、上述した４つのパラメータでＦＡＴ同様の制御を行うことが可能なものであるが、その仕組みは煩雑で制御するソフトは大変であった。さらに、リンクＰが管理されているＵ−ＴＯＣ（User-Table of Content ）領域が破壊された場合は、離散的に存在する記録可能エリア、記録済エリアをたどることができないという問題点があった。
【００１０】
これに対して、メモリカードは元々パーソナルコンピュータ用のメモリを強く意識しているためにパーソナルコンピュータ標準のＦＡＴシステムが導入されている。このため、ともするとシステムが大げさになりやすく、メモリの小さなＣＰＵでは、ＦＡＴシステムを管理するのは困難であった。さらに、同様にＦＡＴシステムが破壊された場合に、メモリ上に離散的に存在する記録済エリアをトレースすることができないという問題が生じる。
【００１１】
従って、この発明の目的は、データファイルをＦＡＴシステムで管理し、そのデータファイルの管理単位をメモリの小さなＣＰＵでも容易に扱えるようにした不揮発性メモリを提供することにある。
【００１２】
【課題を解決するための手段】
上述した課題を解決するために、請求項１の発明は、連続して再生されるデータファイルを所定長単位毎にブロック化して、複数のブロックを集合化して複数のパーツとして離散的に記録する不揮発性メモリにおいて、複数のパーツを連結して連続して再生されるデータファイルに復元するための第１の管理情報が記録された管理領域と、データファイルを構成するパーツ数とパーツ毎のパーツサイズとが管理された所定長から成る第２の管理情報がデータファイル毎に付加され、複数のブロックを集合化して複数のパーツとして離散的に記録されるデータ領域とからなることを特徴とする不揮発性メモリである。
【００１３】
【発明の実施の形態】
以下、この発明の一実施形態について説明する。図１は、この発明の一実施形態におけるメモリカードを使用したディジタルオーディオレコーダ／プレーヤの全体の構成を示す。この一実施形態は、記録媒体として、着脱自在のメモリカードを使用するディジタルオーディオ信号の記録および再生機である。より具体的には、このレコーダ／プレーヤは、アンプ装置、スピーカ、ＣＤプレーヤ、ＭＤレコーダ、チューナ等と共にオーディオシステムを構成する。この発明は、これ以外のオーディオレコーダに対しても適用できる。すなわち、携帯型記録再生装置に対しても適用できる。また、衛星を使用したデータ通信、ディジタル放送、インターネット等を経由して配信されるディジタルオーディオ信号を記録するセットトップボックスに対しても適用できる。さらに、ディジタルオーディオ信号以外に動画データ、静止画データ等の記録／再生に対してもこの発明を適用できる。一実施形態においても、ディジタルオーディオ信号以外の画像、文字等の付加情報を記録／再生可能としている。
【００１４】
記録再生装置は、それぞれ１チップＩＣで構成されたオーディオエンコーダ／デコーダＩＣ１０、セキュリティＩＣ２０、ＤＳＰ(Digital Signal Processor)３０を有する。さらに、記録再生装置本体に対して着脱自在のメモリカード４０を備える。メモリカード４０は、フラッシュメモリ（不揮発性メモリ）、メモリコントロールブロック、ＤＥＳ(Data Encryption Standard)の暗号化回路を含むセキュリティブロックが１チップ上にＩＣ化されたものである。なお、この一実施形態では、ＤＳＰ３０を使用しているが、マイクロコンピュータを使用しても良い。
【００１５】
オーディオエンコーダ／デコーダＩＣ１０は、オーディオインタフェース１１およびエンコーダ／デコーダブロック１２を有する。エンコーダ／デコーダブロック１２は、ディジタルオーディオ信号をメモリカード４０に書き込むために高能率符号化し、また、メモリカード４０から読み出されたデータを復号する。高能率符号化方法としては、ミニディスクで採用されているＡＴＲＡＣ(Adaptive Transform Acoustic Coding)を改良したＡＴＲＡＣ３が使用される。
【００１６】
上述のＡＴＲＡＣ３では、サンプリング周波数＝４４．１ｋHzでサンプリングした量子化ビットが１６ビットのオーディオデータを高能率符号化処理する。ＡＴＲＡＣ３でオーディオデータを処理する時の最小のデータ単位がサウンドユニットＳＵである。１ＳＵは、１０２４サンプル分（１０２４×１６ビット×２チャンネル）を数百バイトに圧縮したものであり、時間にして約２３ｍ秒である。上述の高能率符号化処理により約１／１０にオーディオデータが圧縮される。ミニディスクで適用されたＡＴＲＡＣ１と同様に、ＡＴＲＡＣ３方式において、信号処理されたオーディオ信号の圧縮／伸長処理による音質の劣化は少ない。
【００１７】
ライン入力セレクタ１３は、ＭＤの再生出力、チューナの出力、テープ再生出力を選択的にＡ／Ｄ変換器１４に供給する。Ａ／Ｄ変換器１４は、入力されるライン入力信号をサンプリング周波数＝４４．１ｋHz、量子化ビット＝１６ビットのディジタルオーディオ信号へ変換する。ディジタル入力セレクタ１６は、ＭＤ、ＣＤ、ＣＳ（衛星ディジタル放送）のディジタル出力を選択的にディジタル入力レシーバ１７に供給する。上述のディジタル入力は、例えば光ケーブルを介して伝送される。ディジタル入力レシーバ１７の出力がサンプリングレートコンバータ１５に供給され、ディジタル入力のサンプリング周波数が４４．１ｋHz、量子化ビットが１６ビットのデジタルオーディオ信号に変換される。
【００１８】
オーディオエンコーダ／デコーダＩＣ１０のエンコーダ／デコーダブロック１２からの符号化データがセキュリティＩＣ２０のインタフェース２１を介してＤＥＳの暗号化回路２２に供給される。ＤＥＳの暗号化回路２２は、ＦＩＦＯ２３を有している。ＤＥＳの暗号化回路２２は、コンテンツの著作権を保護するために備えられている。メモリカード４０にも、ＤＥＳの暗号化回路が組み込まれている。記録再生装置のＤＥＳの暗号化回路２２は、複数のマスターキーと機器毎にユニークなストレージキーを持つ。さらに、ＤＥＳの暗号化回路２２は、乱数発生回路を持ち、ＤＥＳの暗号化回路を内蔵するメモリカードと認証およびセッションキーを共有することができる。よりさらに、ＤＥＳの暗号化回路２２は、ＤＥＳの暗号化回路を通してストレージキーでキーをかけなおすことができる。
【００１９】
ＤＥＳの暗号化回路２２からの暗号化されたオーディオデータがＤＳＰ(Digital Signal Processor)３０に供給される。ＤＳＰ３０は、着脱機構（図示しない）に装着されたメモリカード４０とメモリインタフェースを介しての通信を行い、暗号化されたデータをフラッシュメモリに書き込む。ＤＳＰ３０とメモリカード４０との間では、シリアル通信がなされる。また、メモリカードの制御に必要なメモリ容量を確保するために、ＤＳＰ３０に対して外付けのＳＲＡＭ(Static Random Access Memory) ３１が接続される。
【００２０】
さらに、ＤＳＰ３０に対して、バスインタフェース３２が接続され、図示しない外部のコントローラからのデータがバス３３を介してＤＳＰ３０に供給される。外部のコントローラは、オーディオシステム全体の動作を制御し、操作部からのユーザの操作に応じて発生した録音指令、再生指令等のデータをＤＳＰ３０にバスインタフェース３２を介して与える。また、画像情報、文字情報等の付加情報のデータもバスインタフェース３２を介してＤＳＰ３０に供給される。バス３３は、双方向通信路であり、メモリカード４０から読み出された付加情報データ、制御信号等がＤＳＰ３０、バスインターフェース３２、バス３３を介して外部のコントローラに取り込まれる。外部のコントローラは、具体的には、オーディオシステム内に含まれる他の機器例えばアンプ装置に含まれている。さらに、外部のコントローラによって、付加情報の表示、レコーダの動作状態等を表示するための表示が制御される。表示部は、オーディオシステム全体で共用される。ここで、バス３３を介して送受信されるデータは、著作物ではないので、暗号化がされない。
【００２１】
ＤＳＰ３０によってメモリカード４０から読み出した暗号化されたオーディオデータは、セキュリティＩＣ２０によって復号化され、オーディオエンコーダ／デコーダＩＣ１０によってＡＴＲＡＣ３の復号化処理を受ける。オーディオエンコーダ／デコーダ１０の出力がＤ／Ａ変換器１８に供給され、アナログオーディオ信号へ変換される。そして、アナログオーディオ信号がライン出力端子１９に取り出される。
【００２２】
ライン出力は、図示しないアンプ装置に伝送され、スピーカまたはヘッドホンにより再生される。Ｄ／Ａ変換器１８に対してミューティング信号が外部のコントローラから供給される。ミューティング信号がミューティングのオンを示す時には、ライン出力端子１９からのオーディオ出力が禁止される。
【００２３】
図２は、ＤＳＰ３０の内部構成を示す。ＤＳＰ３０は、Ｃｏｒｅ３４と、フラッシュメモリ３５と、ＳＲＡＭ３６と、バスインタフェース３７と、メモリカードインタフェース３８と、バスおよびバス間のブリッジとで構成される。ＤＳＰ３０は、マイクロコンピュータと同様な機能を有し、Ｃｏｒｅ３４がＣＰＵに相当する。フラッシュメモリ３５にＤＳＰ３０の処理のためのプログラムが格納されている。ＳＲＡＭ３６と外部のＳＲＡＭ３１とがＲＡＭとして使用される。
【００２４】
ＤＳＰ３０は、バスインタフェース３２、３７を介して受け取った録音指令等の操作信号に応答して、所定の暗号化されたオーディオデータ、所定の付加情報データをメモリカード４０に対して書き込み、また、これらのデータをメモリカード４０から読み出す処理を制御する。すなわち、オーディオデータ、付加情報の記録／再生を行うためのオーディオシステム全体のアプリケーションソフトウェアと、メモリカード４０との間にＤＳＰ３０が位置し、メモリカード４０のアクセス、ファイルシステム等のソフトウェアによってＤＳＰ３０が動作する。
【００２５】
ＤＳＰ３０におけるメモリカード４０上のファイル管理は、既存のパーソナルコンピュータで使用されているＦＡＴシステムが使用される。このファイルシステムに加えて、一実施形態では、後述するようなデータ構成の管理ファイルが使用される。管理ファイルは、メモリカード４０上に記録されているデータファイルを管理する。第１のファイル管理情報としての管理ファイルは、オーディオデータのファイルを管理するものである。第２のファイル管理情報としてのＦＡＴは、オーディオデータのファイルと管理ファイルを含むメモリカード４０のフラッシュメモリ上のファイル全体を管理する。管理ファイルは、メモリカード４０に記録される。また、ＦＡＴは、ルートディレクトリ等と共に、予め出荷時にフラッシュメモリ上に書き込まれている。ＦＡＴの詳細に関しては後述する。
【００２６】
なお、一実施形態では、著作権を保護するために、ＡＴＲＡＣ３により圧縮されたオーディオデータを暗号化している。一方、管理ファイルは、著作権保護が必要ないとして、暗号化を行わないようにしている。また、メモリカードとしても、暗号化機能を持つものと、これを持たないものとがありうる。一実施形態のように、著作物であるオーディオデータを記録するレコーダが対応しているメモリカードは、暗号化機能を持つメモリカードのみである。上述の暗号化機能を有さないメモリカードには、個人が録音したＶｏｉｃｅまたは録画した画像が記録される。
【００２７】
図３は、メモリカード４０の構成を示す。メモリカード４０は、コントロールブロック４１とフラッシュメモリ４２が１チップＩＣとして構成されたものである。プレーヤ／レコーダのＤＳＰ３０とメモリカード４０との間の双方向シリアルインタフェースは、１０本の線からなる。主要な４本の線は、データ伝送時にクロックを伝送するためのクロック線ＳＣＫと、ステータスを伝送するためのステータス線ＳＢＳと、データを伝送するデータ線ＤＩＯ、インターラプト線ＩＮＴとである。その他に電源供給用線として、２本のＧＮＤ線および２本のＶＣＣ線が設けられる。２本の線Ｒｅｓｅｒｖは、未定義の線である。
【００２８】
クロック線ＳＣＫは、データに同期したクロックを伝送するための線である。ステータス線ＳＢＳは、メモリカード４０のステータスを表す信号を伝送するための線である。データ線ＤＩＯは、コマンドおよび暗号化されたオーディオデータを入出力するための線である。インターラプト線ＩＮＴは、メモリカード４０からプレーヤ／レコーダのＤＳＰ３０に対しての割り込みを要求するインターラプト信号を伝送する線である。メモリカード４０を装着した時にインターラプト信号が発生する。但し、この一実施形態では、インターラプト信号をデータ線ＤＩＯを介して伝送するようにしているので、インターラプト線ＩＮＴを接地している。
【００２９】
コントロールブロック４１のシリアル／パラレル変換・パラレル／シリアル変換・インタフェースブロック（以下、Ｓ／Ｐ・Ｐ／Ｓ・ＩＦブロックと略す）４３は、上述した複数の線を介して接続されたレコーダのＤＳＰ３０とコントロールブロック４１とのインタフェースである。Ｓ／Ｐ・Ｐ／Ｓ・ＩＦブロック４３は、プレーヤ／レコーダのＤＳＰ３０から受け取ったシリアルデータをパラレルデータに変換し、コントロールブロック４１に取り込み、コントロールブロック４１からのパラレルデータをシリアルデータに変換してプレーヤ／レコーダのＤＳＰ３０に送る。また、Ｓ／Ｐ・Ｐ／Ｓ・ＩＦブロック４３は、データ線ＤＩＯを介して伝送されるコマンドおよびデータを受け取った時に、フラッシュメモリ４２に対する通常のアクセスのためのコマンドおよびデータと、暗号化に必要なコマンドおよびデータとを分離する。
【００３０】
データ線ＤＩＯを介して伝送されるフォーマットでは、最初にコマンドが伝送され、その後にデータが伝送される。Ｓ／Ｐ・Ｐ／Ｓ・ＩＦブロック４３は、コマンドのコードを検出して、通常のアクセスに必要なコマンドおよびデータか、暗号化に必要なコマンドおよびデータかを判別する。この判別結果に従って、通常のアクセスに必要なコマンドをコマンドレジスタ４４に格納し、データをページバッファ４５およびライトレジスタ４６に格納する。ライトレジスタ４６と関連してエラー訂正符号化回路４７が設けられている。ページバッファ４５に一時的に蓄えられたデータに対して、エラー訂正符号化回路４７がエラー訂正符号の冗長コードを生成する。
【００３１】
コマンドレジスタ４４、ページバッファ４５、ライトレジスタ４６およびエラー訂正符号化回路４７の出力データがフラッシュメモリインタフェースおよびシーケンサ（以下、メモリＩ／Ｆ・シーケンサと略す）５１に供給される。メモリＩＦ・シーケンサ５１は、コントロールブロック４１とフラッシュメモリ４２とのインタフェースであり、両者の間のデータのやり取りを制御する。メモリＩＦ・シーケンサ５１を介してデータがフラッシュメモリ４２に書き込まれる。
【００３２】
フラッシュメモリ４２に書き込まれるＡＴＲＡＣ３により圧縮されたオーディオデータ（以下、ＡＴＲＡＣ３データと表記する）は、著作権保護のために、プレーヤ／レコーダのセキュリティＩＣ２０とメモリカード４０のセキュリティブロック５２とによって、暗号化されたものである。セキュリティブロック５２は、バッファメモリ５３と、ＤＥＳの暗号化回路５４と、不揮発性メモリ５５とを有する。
【００３３】
メモリカード４０のセキュリティブロック５２は、複数の認証キーとメモリカード毎にユニークなストレージキーを持つ。不揮発性メモリ５５は、暗号化に必要なキーを格納するもので、チップ解析を行っても解析不能な構造となっている。この実施形態では、例えばストレージキーが不揮発性メモリ５５に格納される。さらに、乱数発生回路を持ち、対応可能なプレーヤ／レコーダと認証ができ、セッションキーを共有できる。ＤＥＳの暗号化回路５４を通して、コンテンツキーをストレージキーでキーのかけ直しを行う。
【００３４】
例えばメモリカード４０をプレーヤ／レコーダに装着した時に相互に認証がなされる。認証は、プレーヤ／レコーダのセキュリティＩＣ２０とメモリカード４０のセキュリティブロック５２によって行わせる。プレーヤ／レコーダは、装着されたメモリカード４０が対応可能なメモリカードであることを認証し、また、メモリカード４０が相手のプレーヤ／レコーダが対応可能なプレーヤ／レコーダであることを認証すると、相互認証処理が正常に行われたことを意味する。認証が行われると、プレーヤ／レコーダとメモリカード４０がそれぞれセッションキーを生成し、セッションキーを共有する。セッションキーは、認証の度に生成される。
【００３５】
メモリカード４０に対するコンテンツの書き込み時には、プレーヤ／レコーダがセッションキーでコンテンツキーを暗号化してメモリカード４０に渡す。メモリカード４０では、コンテンツキーをセッションキーで復号し、ストレージキーで暗号化してプレーヤ／レコーダに渡す。ストレージキーは、メモリカード４０の一つ一つにユニークなキーであり、プレーヤ／レコーダは、暗号化されたコンテンツキーを受け取ると、フォーマット処理を行い、暗号化されたコンテンツキーと暗号化されたコンテンツをメモリカード４０に書き込む。
【００３６】
以上、メモリカード４０に対する書き込み処理について説明したが、以下メモリカード４０からの読み出し処理について説明する。フラッシュメモリ４２から読み出されたデータがメモリＩＦ・シーケンサ５１を介してページバッファ４５、リードレジスタ４８、エラー訂正回路４９に供給される。ページバッファ４５に記憶されたデータがエラー訂正回路４９によってエラー訂正がなされる。エラー訂正がされたページバッファ４５の出力およびリードレジスタ４８の出力がＳ／Ｐ・Ｐ／Ｓ・ＩＦブロック４３に供給され、上述したシリアルインタフェースを介してプレーヤ／レコーダのＤＳＰ３０に供給される。
【００３７】
読み出し時には、ストレージキーで暗号化されたコンテンツキーとブロックキーで暗号化されたコンテンツとがフラッシュメモリ４２から読み出される。セキュリティブロック５２によって、ストレージキーでコンテンツキーが復号される。復号したコンテンツキーがセッションキーで再暗号化されてプレーヤ／レコーダ側に送信される。プレーヤ／レコーダは、受信したセッションキーでコンテンツキーを復号する。プレーヤ／レコーダは、復号したコンテンツキーでブロックキーを生成する。このブロックキーによって、暗号化されたＡＴＲＡＣ３データを順次復号する。
【００３８】
なお、ConfigＲＯＭ５０は、メモリカード４０のバージョン情報、各種の属性情報等が格納されているメモリである。また、メモリカード４０には、ユーザが必要に応じて操作可能な誤消去防止用のスイッチ６０が備えられている。このスイッチ６０が消去禁止の接続状態にある場合には、フラッシュメモリ４２を消去することを指示するコマンドがレコーダ側から送られてきても、フラッシュメモリ４２の消去が禁止される。さらに、ＯＳＣ Cont.６１は、メモリカード４０の処理のタイミング基準となるクロックを発生する発振器である。
【００３９】
図４は、メモリカードを記憶媒体とするコンピュータシステムのファイルシステム処理階層を示す。ファイルシステム処理階層としては、アプリケーション処理層が最上位であり、その下に、ファイル管理処理層、論理アドレス管理層、物理アドレス管理層、フラッシュメモリアクセスが順次積層される。上述の階層構造において、ファイル管理処理層がＦＡＴシステムである。物理アドレスは、フラッシュメモリの各ブロックに対して付されたもので、ブロックと物理アドレスの対応関係は、不変である。論理アドレスは、ファイル管理処理層が論理的に扱うアドレスである。
【００４０】
図５は、メモリカード４０におけるフラッシュメモリ４２のデータの物理的構成の一例を示す。フラッシュメモリ４２は、セグメントと称されるデータ単位が所定数のブロック（固定長）へ分割され、１ブロックが所定数のページ（固定長）へ分割される。フラッシュメモリ４２では、ブロック単位で消去が一括して行われ、書き込みと読み出しは、ページ単位で一括して行われる。各ブロックおよび各ページは、それぞれ同一のサイズとされ、１ブロックがページ０からページｍで構成される。１ブロックは、例えば８ＫＢ（Ｋバイト）バイトまたは１６ＫＢの容量とされ、１ページが５１２Ｂの容量とされる。フラッシュメモリ４２全体では、１ブロック＝８ＫＢの場合で、４ＭＢ（５１２ブロック）、８ＭＢ（１０２４ブロック）とされ、１ブロック＝１６ＫＢの場合で、１６ＭＢ（１０２４ブロック）、３２ＭＢ（２０４８ブロック）、６４ＭＢ（４０９６ブロック）の容量とされる。
【００４１】
１ページは、５１２バイトのデータ部と１６バイトの冗長部とからなる。冗長部の先頭の３バイトは、データの更新に応じて書き換えられるオーバーライト部分とされる。３バイトの各バイトに、先頭から順にブロックステータス、ページステータス、更新ステータスが記録される。冗長部の残りの１３バイトの内容は、原則的にデータ部の内容に応じて固定とされる。１３バイトは、管理フラグ（１バイト）、論理アドレス（２バイト）、フォーマットリザーブの領域（５バイト）、分散情報ＥＣＣ（２バイト）およびデータＥＣＣ（３バイト）からなる。分散情報ＥＣＣは、管理フラグ、論理アドレス、フォーマットリザーブに対する誤り訂正用の冗長データであり、データＥＣＣは、５１２バイトのデータに対する誤り訂正用の冗長データである。
【００４２】
管理フラグとして、システムフラグ（その値が１：ユーザブロック、０：ブートブロック）、変換テーブルフラグ（１：無効、０：テーブルブロック）、コピー禁止指定（１：ＯＫ、０：ＮＧ）、アクセス許可（１：ｆｒｅｅ、０：リードプロテクト）の各フラグが記録される。
【００４３】
先頭の二つのブロック０およびブロック１がブートブロックである。ブロック１は、ブロック０と同一のデータが書かれるバックアップ用である。ブートブロックは、カード内の有効なブロックの先頭ブロックであり、メモリカードを機器に装填した時に最初にアクセスされるブロックである。残りのブロックがユーザブロックである。ブートブロックの先頭のページ０にヘッダ、システムエントリ、ブート＆アトリビュート情報が格納される。ページ１に使用禁止ブロックデータが格納される。ページ２にＣＩＳ(Card Information Structure)／ＩＤＩ(Identify Drive Information)が格納される。
【００４４】
ブートブロックのヘッダは、ブートブロックＩＤ、ブートブロック内の有効なエントリ数が記録される。システムエントリには、使用禁止ブロックデータの開始位置、そのデータサイズ、データ種別、ＣＩＳ／ＩＤＩのデータ開始位置、そのデータサイズ、データ種別が記録される。ブート＆アトリビュート情報には、メモリカードのタイプ（読み出し専用、リードおよびライト可能、両タイプのハイブリッド等）、ブロックサイズ、ブロック数、総ブロック数、セキュリティ対応か否か、カードの製造に関連したデータ（製造年月日等）等が記録される。
【００４５】
フラッシュメモリは、データの書き換えを行うことにより絶縁膜の劣化を生じ、書き換え回数が制限される。従って、ある同一の記憶領域（ブロック）に対して繰り返し集中的にアクセスがなされることを防止する必要がある。従って、ある物理アドレスに格納されているある論理アドレスのデータを書き換える場合、フラッシュメモリのファイルシステムでは、同一のブロックに対して更新したデータを再度書き込むことはせずに、未使用のブロックに対して更新したデータを書き込むようになされる。その結果、データ更新前における論理アドレスと物理アドレスの対応関係が更新後では、変化する。スワップ処理を行うことで、同一のブロックに対して繰り返して集中的にアクセスがされることが防止され、フラッシュメモリの寿命を延ばすことが可能となる。
【００４６】
論理アドレスは、一旦ブロックに対して書き込まれたデータに付随するので、更新前のデータと更新後のデータの書き込まれるブロックが移動しても、ＦＡＴからは、同一のアドレスが見えることになり、以降のアクセスを適正に行うことができる。スワップ処理により論理アドレスと物理アドレスとの対応関係が変化するので、両者の対応を示す論理−物理アドレス変換テーブルが必要となる。このテーブルを参照することによって、ＦＡＴが指定した論理アドレスに対応する物理アドレスが特定され、特定された物理アドレスが示すブロックに対するアクセスが可能となる。
【００４７】
論理−物理アドレス変換テーブルは、ＤＳＰ３０によってＳＲＡＭ上に格納される。若し、ＲＡＭ容量が少ない時は、フラッシュメモリ中に格納することができる。このテーブルは、概略的には、昇順に並べた論理アドレス（２バイト）に物理アドレス（２バイト）をそれぞれ対応させたテーブルである。フラッシュメモリの最大容量を１２８ＭＢ（８１９２ブロック）としているので、２バイトによって８１９２のアドレスを表すことができる。また、論理−物理アドレス変換テーブルは、セグメント毎に管理され、そのサイズは、フラッシュメモリの容量に応じて大きくなる。例えばフラッシュメモリの容量が８ＭＢ（２セグメント）の場合では、２個のセグメントのそれぞれに対して２ページが論理−物理アドレス変換テーブル用に使用される。論理−物理アドレス変換テーブルを、フラッシュメモリ中に格納する時には、上述した各ページの冗長部における管理フラグの所定の１ビットによって、当該ブロックが論理−物理アドレス変換テーブルが格納されているブロックか否かが指示される。
【００４８】
上述したメモリカードは、ディスク状記録媒体と同様にパーソナルコンピュータのＦＡＴシステムによって使用可能なものである。図５には示されてないが、フラッシュメモリ上にＩＰＬ領域、ＦＡＴ領域およびルート・ディレクトリ領域が設けられる。ＩＰＬ領域には、最初にレコーダのメモリにロードすべきプログラムが書かれているアドレス、並びにメモリの各種情報が書かれている。ＦＡＴ領域には、ブロック（クラスタ）の関連事項が書かれている。ＦＡＴには、未使用のブロック、次のブロック番号、不良ブロック、最後のブロックをそれぞれ示す値が規定される。さらに、ルートディレクトリ領域には、ディレクトリエントリ（ファイル属性、更新年月日、開始クラスタ、ファイルサイズ等）が書かれている。
【００４９】
図６にＦＡＴ管理による管理方法を説明する。この図６は、メモリ内の模式図を示しており、上からパーティションテーブル部、空き領域、ブートセクタ、ＦＡＴ領域、ＦＡＴのコピー領域、Ｒｏｏｔ  Ｄｉｒｅｃｔｏｒｙ領域、ＳｕｂＤｉｒｅｃｔｏｒｙ領域、データ領域が積層されている。なお、メモリマップは、論理−物理アドレス変換テーブルに基づいて、論理アドレスから物理アドレスへ変換した後のメモリマップである。
【００５０】
上述したブートセクタ、ＦＡＴ領域、ＦＡＴのコピー領域、Ｒｏｏｔ  Ｄｉｒｅｃｔｏｒｙ領域、Ｓｕｂ  Ｄｉｒｅｃｔｏｒｙ領域、データ領域を全部まとめてＦＡＴパーティション領域と称する。
【００５１】
上述のパーティションテーブル部には、ＦＡＴパーティション領域の始めと終わりのアドレスが記録されている。通常フロッピーディスクで使用されているＦＡＴには、パーティションテーブル部は備えられていない。最初のトラックには、パーティションテーブル以外のものは置かないために空きエリアができてしまう。
【００５２】
次に、ブートセクタには、１２ビットＦＡＴおよび１６ビットＦＡＴの何れかであるかでＦＡＴ構造の大きさ、クラスタサイズ、それぞれの領域のサイズが記録されている。ＦＡＴは、データ領域に記録されているファイル位置を管理するものである。ＦＡＴのコピー領域は、ＦＡＴのバックアップ用の領域である。ルートディレクトリ部は、ファイル名、先頭クラスタアドレス、各種属性が記録されており、１ファイルにつき３２バイト使用する。
【００５３】
サブディレクトリ部は、ディレクトリというファイルの属性のファイルとして存在しており、図６の実施形態ではＰＢＬＩＳＴ．ＭＳＦ、ＣＡＴ．ＭＳＡ、ＤＯＧ．ＭＳＡ、ＭＡＮ. ＭＳＡという４つのファイルが存在する。このサブディレクトリ部には、ファイル名とＦＡＴ上の記録位置が管理されている。すなわち、図６においては、ＣＡＴ．ＭＳＡというファイル名が記録されているスロットには「５」というＦＡＴ上のアドレスが管理されており、ＤＯＧ．ＭＳＡというファイル名が記録されているスロットには「１０」というＦＡＴ上のアドレスが管理されている。
【００５４】
クラスタ２以降が実際のデータ領域で、このデータ領域にこの実施形態では、ＡＴＲＡＣ３で圧縮処理されたオーディオデータが記録される。さらに、ＭＡＮ. ＭＳＡというファイル名が記録されているスロットには「１１０」というＦＡＴ上のアドレスが管理されている。
【００５５】
この発明の実施形態では、クラスタ５、６、７および８にＣＡＴ．ＭＳＡというファイル名のＡＴＲＡＣ３で圧縮処理されたオーディオデータが記録され、クラスタ１０、１１および、１２にＤＯＧ．ＭＳＡというファイル名の前半パートであるＤＯＧ−１がＡＴＲＡＣ３で圧縮処理されたオーディオデータが記録され、クラスタ１００および１０１にＤＯＧ．ＭＳＡというファイル名の後半パートであるＤＯＧ−２がＡＴＲＡＣ３で圧縮処理されたオーディオデータが記録されている。さらに、クラスタ１１０および１１１にＭＡＮ．ＭＳＡというファイル名のＡＴＲＡＣ３で圧縮処理されたオーディオデータが記録されている。
【００５６】
この実施形態においては、単一のファイルが２分割されて離散的に記録されている例を示している。また、データ領域上のＥｍｐｔｙとかかれた領域は記録可能領域である。
【００５７】
クラスタ２００以降は、ファイルネームを管理する領域であり、クラスタ２００には、ＣＡＴ．ＭＳＡというファイルが、クラスタ２０１には、ＤＯＧ．ＭＳＡというファイルが、クラスタ２０２にはＭＡＮ．ＭＳＡというファイルが記録されている。ファイル順を並び替える場合には、このクラスタ２００以降で並び替えを行えばよい。
【００５８】
この実施形態のメモリカードが初めて挿入された場合には、先頭のパーティションテーブル部を参照してＦＡＴパーティション領域の始めと終わりのアドレスが記録されている。ブートセクタ部の再生を行った後にＲｏｏｔ  Ｄｉｒｅｃｔｏｒｙ、Ｓｕｂ  Ｄｉｒｅｃｔｏｒｙ部の再生を行う。そして、Ｓｕｂ  Ｄｉｒｅｃｔｏｒｙ部に記録されている再生管理情報ＰＢＬＩＳＴ．ＭＳＦが記録されているスロットを検索して、ＰＢＬＩＳＴ．ＭＳＦが記録されているスロットの終端部のアドレスを参照する。
【００５９】
この実施形態の場合には、ＰＢＬＩＳＴ．ＭＳＦが記録されているスロットの終端部には「２００」というアドレスが記録されているのでクラスタ２００を参照する。クラスタ２００以降は、ファイル名を管理すると共に、ファイルの再生順を管理する領域であり、この実施形態の場合には、ＣＡＴ. ＭＳＡというファイルが１曲目となり、ＤＯＧ．ＭＳＡというファイルが２曲目となり、ＭＡＮ．ＭＳＡというファイルが３曲目となる。
【００６０】
ここで、クラスタ２００以降を全て参照したら、サブデレクトリ部に移行して、ＣＡＴ. ＭＳＡ、ＤＯＧ．ＭＳＡおよびＭＡＮ．ＭＳＡという名前のファイル名と合致するスロットを参照する。この図６においては、ＣＡＴ．ＭＳＡというファイル名が記録されたスロットの終端には「５」というアドレスが記録され、ＤＯＧ. ＭＳＡというファイルが記録されたスロットの終端には「１０」というアドレスが記録され、ＭＡＮ．ＭＳＡというファイルが記録されたスロットの終端には１１０というアドレスが記録されている。
【００６１】
ＣＡＴ．ＭＳＡというファイル名が記録されたスロットの終端に記録された「５」というアドレスに基づいて、ＦＡＴ上のエントリアドレスを検索する。エントリアドレス５には、「６」というクラスタアドレスがエントリされており、「６」というエントリアドレスを参照すると「７」というクラスタアドレスがエントリされており、「７」というエントリアドレスを参照すると「８」というクラスタアドレスがエントリされており、「８」というエントリアドレスを参照すると「ＦＦＦ」という終端を意味するコードが記録されている。
【００６２】
よって、ＣＡＴ．ＭＳＡというファイルは、クラスタ５、６、７、８のクラスタ領域を使用しており、データ領域のクラスタ５、６、７、８を参照することでＣＡＴ．ＭＳＡというＡＴＲＡＣ３データが実際に記録されている領域をアクセスすることができる。
【００６３】
次に、離散記録されているＤＯＧ. ＭＳＡというファイルを検索する方法を以下に示す。ＤＯＧ. ＭＳＡというファイル名が記録されたスロットの終端には「１０」というアドレスが記録されている。ここで、「１０」というアドレスに基づいて、ＦＡＴ上のエントリアドレスを検索する。エントリアドレス１０には、「１１」というクラスタアドレスがエントリされており、「１１」というエントリアドレスを参照すると「１２」というクラスタアドレスがエントリされており、「１２」というエントリアドレスを参照すると「１００」というクラスタアドレスがエントリされている。さらに、「１００」というエントリアドレスを参照すると「１０１」というクラスタアドレスがエントリされており、「１０１」というエントリアドレスを参照するとＦＦＦという終端を意味するコードが記録されている。
【００６４】
よって、ＤＯＧ．ＭＳＡというファイルは、クラスタ１０、１１、１２、１００、１０１というクラスタ領域を使用しており、データ領域のクラスタ１０、１１、１２を参照することでＤＯＧ．ＭＳＡというファイルの前半パートに対応するＡＴＲＡＣ３データが実際に記録されている領域をアクセスすることができる。さらに、データ領域のクラスタ１００、１０１を参照することでＤＯＧ．ＭＳＡというファイルの後半パートに対応するＡＴＲＡＣ３データが実際に記録されている領域をアクセスすることができる。
【００６５】
さらに、ＭＡＮ．ＭＳＡというファイル名が記録されたスロットの終端に記録された「１１０」というアドレスに基づいて、ＦＡＴ上のエントリアドレスを検索する。エントリアドレス１１０には、「１１１」というクラスタアドレスがエントリされており、「１１１」というエントリアドレスを参照すると「ＦＦＦ」という終端を意味するコードが記録されている。
【００６６】
よって、ＭＡＮ．ＭＳＡというファイルは、クラスタ１１０、１１１というクラスタ領域を使用しており、データ領域のクラスタ１１０、１１１を参照することでＭＡＮ．ＭＳＡというＡＴＲＡＣ３データが実際に記録されている領域をアクセスすることができる。
【００６７】
以上のようにフラッシュメモリ上で離散して記録されたデータファイルを連結してシーケンシャルに再生することが可能となる。
【００６８】
この一実施形態では、上述したメモリカード４０のフォーマットで規定されるファイル管理システムとは別個に、音楽用ファイルに対して、各トラックおよび各トラックを構成するパーツを管理するための管理ファイルを持つようにしている。この管理ファイルは、メモリカード４０のユーザブロックを利用してフラッシュメモリ４２上に記録される。それによって、後述するように、メモリカード４０上のＦＡＴが壊れても、ファイルの修復を可能となる。
【００６９】
この管理ファイルは、ＤＳＰ３０により作成される。例えば最初に電源をオンした時に、メモリカード４０の装着されているか否かが判定され、メモリカードが装着されている時には、認証が行われる。認証により正規のメモリカードであることが確認されると、フラッシュメモリ４２のブートブロックがＤＳＰ３０に読み込まれる。そして、論理−物理アドレス変換テーブルが読み込まれる。読み込まれたデータは、ＳＲＡＭに格納される。ユーザが購入して初めて使用するメモリカードでも、出荷時にフラッシュメモリ４２には、ＦＡＴや、ルートディレクトリの書き込みがなされている。管理ファイルは、録音がなされると、作成される。
【００７０】
すなわち、ユーザのリモートコントロール等によって発生した録音指令が外部のコントローラからバスおよびバスインターフェース３２を介してＤＳＰ３０に与えられる。そして、受信したオーディオデータがエンコーダ／デコーダＩＣ１０によって圧縮され、エンコーダ／デコーダＩＣ１０からのＡＴＲＡＣ３データがセキュリティＩＣ２０により暗号化される。ＤＳＰ３０が暗号化されたＡＴＲＡＣ３データをメモリカード４０のフラッシュメモリ４２に記録する。この記録後にＦＡＴおよび管理ファイルが更新される。ファイルの更新の度、具体的には、オーディオデータの記録を開始し、記録を終了する度に、ＳＲＡＭ３１および３６上でＦＡＴおよび管理ファイルが書き換えられる。そして、メモリカード４０を外す時に、またはパワーをオフする時に、ＳＲＡＭ３１、３６からメモリカード４０のフラッシュメモリ４２上に最終的なＦＡＴおよび管理ファイルが格納される。この場合、オーディオデータの記録を開始し、記録を終了する度に、フラッシュメモリ４２上のＦＡＴおよび管理ファイルを書き換えても良い。編集を行った場合も、管理ファイルの内容が更新される。
【００７１】
さらに、この一実施形態のデータ構成では、付加情報も管理ファイル内に作成、更新され、フラッシュメモリ４２上に記録される。管理ファイルの他のデータ構成では、付加情報管理ファイルがトラック管理用の管理ファイルとは別に作成される。付加情報は、外部のコントローラからバスおよびバスインターフェース３２を介してＤＳＰ３０に与えられる。ＤＳＰ３０が受信した付加情報をメモリカード４０のフラッシュメモリ４２上に記録する。付加情報は、セキュリティＩＣ２０を通らないので、暗号化されない。付加情報は、メモリカード４０を取り外したり、電源オフの時に、ＤＳＰ３０のＳＲＡＭからフラッシュメモリ４２に書き込まれる。
【００７２】
図７は、メモリカード４０のファイル構成の全体を示す。ディレクトリとして、静止画用ディレクトリ、動画用ディレクトリ、Ｖｏｉｃｅ用ディレクトリ、制御用ディレクトリ、音楽用（ＨＩＦＩ）ディレクトリが存在する。この一実施形態は、音楽の記録／再生を行うので、以下、音楽用ディレクトリについて説明する。音楽用ディレクトリには、２種類のファイルが置かれる。その１つは、再生管理ファイルＰＢＬＩＳＴ．ＭＳＦ（以下、単にＰＢＬＩＳＴと表記する）であり、他のものは、暗号化された音楽データを収納したＡＴＲＡＣ３データファイルＡ３Ｄｎｎｎｎ．ＭＳＡ（以下、単にＡ３Ｄｎｎｎと表記する）とからなる。ＡＴＲＡＣ３データファイルは、最大数が４００までと規定されている。すなわち、最大４００曲まで収録可能である。ＡＴＲＡＣ３データファイルは、再生管理ファイルに登録した上で機器により任意に作成される。
【００７３】
図８は、再生管理ファイルの構成を示し、図９が１ＦＩＬＥ（１曲）のＡＴＲＡＣ３データファイルの構成を示す。再生管理ファイルは、１６ＫＢ固定長のファイルである。ＡＴＲＡＣ３データファイルは、曲単位でもって、先頭の属性ヘッダと、それに続く実際の暗号化された音楽データとからなる。属性ヘッダも１６ＫＢ固定長とされ、再生管理ファイルと類似した構成を有する。
【００７４】
図８に示す再生管理ファイルは、ヘッダ、１バイトコードのメモリカードの名前ＮＭ１−Ｓ、２バイトコードのメモリカードの名前ＮＭ２−Ｓ、曲順の再生テーブルＴＲＫＴＢＬ、メモリカード全体の付加情報ＩＮＦ−Ｓとからなる。図９に示すデータファイルの先頭の属性ヘッダは、ヘッダ、１バイトコードの曲名ＮＭ１、２バイトコードの曲名ＮＭ２、トラックのキー情報等のトラック情報ＴＲＫＩＮＦ、パーツ情報ＰＲＴＩＮＦと、トラックの付加情報ＩＮＦとからなる。ヘッダには、総パーツ数、名前の属性、付加情報のサイズの情報等が含まれる。
【００７５】
属性ヘッダに対してＡＴＲＡＣ３の音楽データが続く。音楽データは、１６ＫＢのブロック毎に区切られ、各ブロックの先頭にヘッダが付加されている。ヘッダには、暗号を復号するための初期値が含まれる。なお、暗号化の処理を受けるのは、ＡＴＲＡＣ３データファイル中の音楽データのみであって、それ以外の再生管理ファイル、ヘッダ等のデータは、暗号化されない。
【００７６】
図１０を参照して、曲とＡＴＲＡＣ３データファイルの関係について説明する。１トラックは、１曲を意味する。１曲は、１つのＡＴＲＡＣ３データファイル（図９参照）で構成される。ＡＴＲＡＣ３データファイルは、ＡＴＲＡＣ３により圧縮されたオーディオデータである。メモリカード４０に対しては、クラスタと呼ばれる単位で記録される。１クラスタは、例えば１６ＫＢの容量である。１クラスタに複数のファイルが混じることがない。フラッシュメモリ４２を消去する時の最小単位が１ブロックである。音楽データを記録するのに使用するメモリカード４０の場合、ブロックとクラスタは、同意語であり、且つ１クラスタ＝１セクタと定義されている。
【００７７】
１曲は、基本的に１パーツで構成されるが、編集が行われると、複数のパーツから１曲が構成されることがある。パーツは、録音開始からその停止までの連続した時間内で記録されたデータの単位を意味し、通常は、１トラックが１パーツで構成される。曲内のパーツのつながりは、各曲の属性ヘッダ内のパーツ情報ＰＲＴＩＮＦで管理する。すなわち、パーツサイズは、ＰＲＴＩＮＦの中のパーツサイズＰＲＴＳＩＺＥという４バイトのデータで表す。パーツサイズＰＲＴＳＩＺＥの先頭の２バイトがパーツが持つクラスタの総数を示し、続く各１バイトが先頭および末尾のクラスタ内の開始サウンドユニット（以下、ＳＵと略記する）の位置、終了ＳＵの位置を示す。このようなパーツの記述方法を持つことによって、音楽データを編集する際に通常、必要とされる大量の音楽データの移動をなくすことが可能となる。ブロック単位の編集に限定すれば、同様に音楽データの移動を回避できるが、ブロック単位は、ＳＵ単位に比して編集単位が大きすぎる。
【００７８】
ＳＵは、パーツの最小単位であり、且つＡＴＲＡＣ３でオーディオデータを圧縮する時の最小のデータ単位である。４４．１ｋHzのサンプリング周波数で得られた１０２４サンプル分（１０２４×１６ビット×２チャンネル）のオーディオデータを約１／１０に圧縮した数百バイトのデータがＳＵである。１ＳＵは、時間に換算して約２３ｍ秒になる。通常は、数千に及ぶＳＵによって１つのパーツが構成される。１クラスタが４２個のＳＵで構成される場合、１クラスタで約１秒の音を表すことができる。１つのトラックを構成するパーツの数は、付加情報サイズに影響される。パーツ数は、１ブロックの中からヘッダや曲名、付加情報データ等を除いた数で決まるために、付加情報が全く無い状態が最大数（６４５個）のパーツを使用できる条件となる。
【００７９】
図１０Ａは、ＣＤ等からのオーディオデータを２曲連続して記録する場合のファイル構成を示す。１曲目（ファイル１）が例えば５クラスタで構成される。１曲目と２曲目（ファイル２）の曲間では、１クラスタに二つのファイルが混在することが許されないので、次のクラスタの最初からファイル２が作成される。従って、ファイル１に対応するパーツ１の終端（１曲目の終端）がクラスタの途中に位置し、クラスタの残りの部分には、データが存在しない。第２曲目（ファイル２）も同様に１パーツで構成される。ファイル１の場合では、パーツサイズが５、開始クラスタのＳＵが０、終了クラスタが４となる。
【００８０】
編集操作として、デバイド、コンバイン、イレーズ、ムーブの４種類の操作が規定される。デバイドは、１つのトラックを２つに分割することである。デバイドがされると、総トラック数が１つ増加する。デバイドは、一つのファイルをファイルシステム上で分割して２つのファイルとし、再生管理ファイルおよびＦＡＴを更新する。コンバインは、２つのトラックを１つに統合することである。コンバインされると、総トラック数が１つ減少する。コンバインは、２つのファイルをファイルシステム上で統合して１つのファイルにし、再生管理ファイルおよびＦＡＴを更新する。イレーズは、トラックを消去することである。消された以降のトラック番号が１つ減少する。ムーブは、トラック順番を変えることである。以上イレーズおよびムーブ処理についても、再生管理ファイルおよびＦＡＴを更新する。
【００８１】
図１０Ａに示す二つの曲（ファイル１およびファイル２）をコンバインした結果を図１０Ｂに示す。コンバインされた結果は、１つのファイルであり、このファイルは、二つのパーツからなる。また、図１０Ｃは、一つの曲（ファイル１）をクラスタ２の途中でデバイドした結果を示す。デバイドによって、クラスタ０、１およびクラスタ２の前側からなるファイル１と、クラスタ２の後側とクラスタ３および４とからなるファイル２とが発生する。
【００８２】
上述したように、この一実施形態では、パーツに関する記述方法があるので、コンバインした結果である図１０Ｂにおいて、パーツ１の開始位置、パーツ１の終了位置、パーツ２の開始位置、パーツ２の終了位置をそれぞれＳＵ単位でもって規定できる。その結果、コンバインした結果のつなぎ目の隙間をつめるために、パーツ２の音楽データを移動する必要がない。また、パーツに関する記述方法があるので、デバイドした結果である図１０Ｃにおいて、ファイル２の先頭の空きを詰めるように、データを移動する必要がない。
【００８３】
図１１は、再生管理ファイルＰＢＬＩＳＴのより詳細なデータ構成を示し、図１２Ａおよび図１２Ｂは、再生管理ファイルＰＢＬＩＳＴを構成するヘッダとそれ以外の部分をそれぞれ示す。再生管理ファイルＰＢＬＩＳＴは、１クラスタ（１ブロック＝１６ＫＢ）のサイズである。図１２Ａに示すヘッダは、３２バイトから成る。図１２Ｂに示すヘッダ以外の部分は、メモリカード全体に対する名前ＮＭ１−Ｓ（２５６バイト）、名前ＮＭ２−Ｓ（５１２バイト）、ＣＯＮＴＥＮＴＳＫＥＹ、ＭＡＣ、Ｓ−ＹＭＤｈｍｓと、再生順番を管理するテーブルＴＲＫＴＢＬ（８００バイト）、メモリカード全体に対する付加情報ＩＮＦ−Ｓ（１４７２０バイト）および最後にヘッダ中の情報の一部が再度記録されている。これらの異なる種類のデータ群のそれぞれの先頭は、再生管理ファイル内で所定の位置となるように規定されている。
【００８４】
再生管理ファイルは、図１２Ａに示す（０ｘ００００）および（０ｘ００１０）で表される先頭から３２バイトがヘッダである。なお、ファイル中で先頭から１６バイト単位で区切られた単位をスロットと称する。ファイルの第１および第２のスロットに配されるヘッダには、下記の意味、機能、値を持つデータが先頭から順に配される。なお、Ｒｅｓｅｒｖｅｄと表記されているデータは、未定義のデータを表している。通常ヌル（０ｘ００）が書かれるが、何が書かれていてもＲｅｓｅｒｖｅｄのデータが無視される。将来のバージョンでは、変更がありうる。また、この部分への書き込みは禁止する。Ｏｐｔｉｏｎと書かれた部分も使用しない場合は、全てＲｅｓｅｒｖｅｄと同じ扱いとされる。
【００８５】
ＢＬＫＩＤ−ＴＬ０（４バイト）
意味：BLOCKID FILE ID
機能：再生管理ファイルの先頭であることを識別するための値
値：固定値＝”ＴＬ＝０”（例えば０ｘ５４４Ｃ２Ｄ３０）
ＭＣｏｄｅ（２バイト）
意味：MAKER CODE
機能：記録した機器の、メーカー、モデルを識別するコード
値：上位１０ビット（メーカーコード）  下位６ビット（機種コード）
ＲＥＶＩＳＩＯＮ（４バイト）
意味：ＰＢＬＩＳＴの書き換え回数
機能：再生管理ファイルを書き換える度にインクリメント
値：０より始まり＋１づつ増加する
Ｓ−ＹＭＤｈｍｓ（４バイト）（Ｏｐｔｉｏｎ）
意味：信頼できる時計を持つ機器で記録した年・月・日・時・分・秒
機能：最終記録日時を識別するための値
値：２５〜３１ビット  年  ０〜９９（１９８０〜２０７９）
２１〜２４ビット  月  ０〜１２
１６〜２０ビット  日  ０〜３１
１１〜１５ビット  時  ０〜２３
０５〜１０ビット  分  ０〜５９
００〜０４ビット  秒  ０〜２９（２秒単位）。
【００８６】
ＳＮ１Ｃ＋Ｌ（２バイト）
意味：ＮＭ１−Ｓ領域に書かれるメモリカードの名前（１バイト）の属性を表す
機能：使用する文字コードと言語コードを各１バイトで表す
値：文字コード（Ｃ）は上位１バイトで下記のように文字を区別する
00: 文字コードは設定しない。単なる２進数として扱うこと
01: ASCII(American Standard Code for Information Interchange)
02:ASCII+KANA  03:modifided8859-1
81:MS-JIS  82:KS C 5601-1989  83:GB(Great Britain)2312-80
90:S-JIS(Japanese Industrial Standards)(for Voice)。
【００８７】
言語コード（Ｌ）は下位１バイトで下記のようにEBU Tech 3258 規定に準じて言語を区別する
00: 設定しない  08:German  09:English  0A:Spanish
0F:French  15:Italian  1D:Dutch
65:Korean  69:Japanese  75:Chinese
データが無い場合オールゼロとすること。
【００８８】
ＳＮ２Ｃ＋Ｌ（２バイト）
意味：ＮＭ２−Ｓ領域に書かれるメモリカードの名前（２バイト）の属性を表す
機能：使用する文字コードと言語コードを各１バイトで表す
値：上述したＳＮ１Ｃ＋Ｌと同一
ＳＩＮＦＳＩＺＥ（２バイト）
意味：ＩＮＦ−Ｓ領域に書かれるメモリカード全体に関する付加情報の全てを合計したサイズを表す
機能：データサイズを１６バイト単位の大きさで記述、無い場合は必ずオールゼロとすること
値：サイズは０ｘ０００１から０ｘ３９Ｃ（９２４）
Ｔ−ＴＲＫ（２バイト）
意味：TOTAL TRACK NUMBER
機能：総トラック数
値：１から０ｘ０１９０（最大４００トラック）、データが無い場合はオールゼロとすること
ＶｅｒＮｏ（２バイト）
意味：フォーマットのバージョン番号
機能：上位がメジャーバージョン番号、下位がマイナーバージョン番号
値：例  ０ｘ０１００（Ｖｅｒ１．０）
０ｘ０２０３（Ｖｅｒ２．３）。
【００８９】
上述したヘッダに続く領域に書かれるデータ（図１３Ｂ）について以下に説明する。
【００９０】
ＮＭ１−Ｓ
意味：メモリカード全体に関する１バイトの名前
機能：１バイトの文字コードで表した可変長の名前データ（最大で２５６）
名前データの終了は、必ず終端コード（０ｘ００）を書き込むこと
サイズはこの終端コードから計算すること、データの無い場合は少なくとも先頭（０ｘ００２０）からヌル（０ｘ００）を１バイト以上記録すること
値：各種文字コード
ＮＭ２−Ｓ
意味：メモリカード全体に関する２バイトの名前
機能：２バイトの文字コードで表した可変長の名前データ（最大で５１２）
名前データの終了は、必ず終端コード（０ｘ００）を書き込むこと
サイズはこの終端コードから計算すること、データの無い場合は少なくとも先頭（０ｘ０１２０）からヌル（０ｘ００）を２バイト以上記録すること
値：各種文字コード。
【００９１】
ＣＯＮＴＥＮＴＳ  ＫＥＹ
意味：曲ごとに用意された値でＭＧ（Ｍ）で保護されてから保存される。ここでは、１曲目に付けられるＣＯＮＴＥＮＴＳ  ＫＥＹと同じ値
機能：Ｓ−ＹＭＤｈｍｓのＭＡＣの計算に必要となる鍵となる
値：０から０ｘＦＦＦＦＦＦＦＦＦＦＦＦＦＦＦＦまで
ＭＡＣ
意味：著作権情報改ざんチェック値
機能：Ｓ−ＹＭＤｈｍｓの内容とＣＯＮＴＥＮＴＳ  ＫＥＹから作成される値
値：０から０ｘＦＦＦＦＦＦＦＦＦＦＦＦＦＦＦＦまで。
【００９２】
ＴＲＫ−ｎｎｎ
意味：再生するＡＴＲＡＣ３データファイルのＳＱＮ（シーケンス）番号
機能：ＴＲＫＩＮＦの中のＦＮｏを記述する
値：１から４００（０ｘ１９０）
トラックが存在しない時はオールゼロとすること
ＩＮＦ−Ｓ
意味：メモリカード全体に関する付加情報データ（例えば写真、歌詞、解説等の情報）
機能：ヘッダを伴った可変長の付加情報データ
複数の異なる付加情報が並べられることがある。それぞれにＩＤとデータサイズが付けられている。個々のヘッダを含む付加情報データは最小１６バイト以上で４バイトの整数倍の単位で構成される。その詳細については、後述する
値：付加情報データ構成を参照
Ｓ−ＹＭＤｈｍｓ（４バイト）（Ｏｐｔｉｏｎ）
意味：信頼できる時計を持つ機器で記録した年・月・日・時・分・秒
機能：最終記録日時を識別するための値、ＥＭＤの時は必須
値：２５〜３１ビット  年  ０〜９９（１９８０〜２０７９）
２１〜２４ビット  月  ０〜１２
１６〜２０ビット  日  ０〜３１
１１〜１５ビット  時  ０〜２３
０５〜１０ビット  分  ０〜５９
００〜０４ビット  秒  ０〜２９（２秒単位）。
【００９３】
再生管理ファイルの最後のスロットとして、ヘッダ内のものと同一のＢＬＫＩＤ−ＴＬ０と、ＭＣｏｄｅと、ＲＥＶＩＳＩＯＮとが書かれる。
【００９４】
民生用オーディオ機器として、メモリカードが記録中に抜かれたり、電源が切れることがあり、復活した時にこれらの異常の発生を検出することが必要とされる。上述したように、ＲＥＶＩＳＩＯＮをブロックの先頭と末尾に書き込み、この値を書き換える度に＋１インクリメントするようにしている。若し、ブロックの途中で異常終了が発生すると、先頭と末尾のＲＥＶＩＳＩＯＮの値が一致せず、異常終了を検出することができる。ＲＥＶＩＳＩＯＮが２個存在するので、高い確率で異常終了を検出することができる。異常終了の検出時には、エラーメッセージの表示等の警告が発生する。
【００９５】
また、１ブロック（１６ＫＢ）の先頭部分に固定値ＢＬＫＩＤ−ＴＬ０を挿入しているので、ＦＡＴが壊れた場合の修復の目安に固定値を使用できる。すなわち、各ブロックの先頭の固定値を見れば、ファイルの種類を判別することが可能である。しかも、この固定値ＢＬＫＩＤ−ＴＬ０は、ブロックのヘッダおよびブロックの終端部分に二重に記述するので、その信頼性のチェックを行うことができる。なお、再生管理ファイルＰＢＬＩＳＴの同一のものを二重に記録しても良い。
【００９６】
ＡＴＲＡＣ３データファイルは、トラック情報管理ファイルと比較して、相当大きなデータ量であり、ＡＴＲＡＣ３データファイルに関しては、後述するように、ブロック番号ＢＬＯＣＫ  ＳＥＲＩＡＬが付けられている。但し、ＡＴＲＡＣ３データファイルは、通常複数のファイルがメモリカード上に存在するので、ＣＯＮＮＵＭ０でコンテンツの区別を付けた上で、ＢＬＯＣＫ  ＳＥＲＩＡＬを付けないと、重複が発生し、ＦＡＴが壊れた場合のファイルの復旧が困難となる。換言すると単一のＡＴＲＡＣ３データファイルは、複数のＢＬＯＣＫで構成されると共に、離散して配置される可能性があるので、同一ＡＴＲＡＣ３データファイルを構成するＢＬＯＣＫを判別するためにＣＯＮＮＵＭ０を用いると共に、同一ＡＴＲＡＣ３データファイル内の昇降順をブロック番号ＢＬＯＣＫ  ＳＥＲＩＡＬで決定する。
【００９７】
同様に、ＦＡＴの破壊までにはいたらないが、論理を間違ってファイルとして不都合のあるような場合に、書き込んだメーカーの機種が特定できるように、メーカーコード（ＭＣｏｄｅ）がブロックの先頭と末尾に記録されている。
【００９８】
図１２Ｃは、付加情報データの構成を示す。付加情報の先頭に下記のヘッダが書かれる。ヘッダ以降に可変長のデータが書かれる。
【００９９】
ＩＮＦ
意味：FIELD ID
機能：付加情報データの先頭を示す固定値
値：０ｘ６９
ＩＤ
意味：付加情報キーコード
機能：付加情報の分類を示す
値：０から０ｘＦＦ
ＳＩＺＥ
意味：個別の付加情報の大きさ
機能：データサイズは自由であるが、必ず４バイトの整数倍でなければならない。また、最小１６バイト以上のこと。データの終わりより余りがでる場合はヌル（０ｘ００）で埋めておくこと
値：１６から１４７８４（０ｘ３９Ｃ０）
ＭＣｏｄｅ
意味：MAKER CODE
機能：記録した機器の、メーカー、モデルを識別するコード
値：上位１０ビット（メーカーコード）  下位６ビット（機種コード）
Ｃ＋Ｌ
意味：先頭から１２バイト目からのデータ領域に書かれる文字の属性を表す
機能：使用する文字コードと言語コードを各１バイトで表す
値：前述のＳＮＣ＋Ｌと同じ
ＤＡＴＡ
意味：個別の付加情報データ
機能：可変長データで表す。実データの先頭は常に１２バイト目より始まり、長さ（サイズ）は最小４バイト以上、常に４バイトの整数倍でなければならない。データの最後から余りがある場合はヌル（０ｘ００）で埋めること
値：内容により個別に定義される。
【０１００】
図１３は、付加情報キーコードの値（０〜６３）と、付加情報の種類の対応の一例を示す。キーコードの値（０〜３１）が音楽に関する文字情報に対して割り当てられ、その（３２〜６３）がＵＲＬ(Uniform Resource Locator)（Ｗｅｂ関係）に対して割り当てられている。アルバムタイトル、アーティスト名、ＣＭ等の文字情報が付加情報として記録される。
【０１０１】
図１４は、付加情報キーコードの値（６４〜１２７）と、付加情報の種類の対応の一例を示す。キーコードの値（６４〜９５）がパス／その他に対して割り当てられ、その（９６〜１２７）が制御／数値・データ関係に対して割り当てられている。例えば（ＩＤ＝９８）の場合では、付加情報がＴＯＣ（Table of Content）−ＩＤとされる。ＴＯＣ−ＩＤは、ＣＤ（コンパクトディスク）のＴＯＣ情報に基づいて、最初の曲番号、最後の曲番号、その曲番号、総演奏時間、その曲演奏時間を示すものである。
【０１０２】
図１５は、付加情報キーコードの値（１２８〜１５９）と、付加情報の種類の対応の一例を示す。キーコードの値（１２８〜１５９）が同期再生関係に対して割り当てられている。図１５中のＥＭＤ(Electronic Music Distribution）は、電子音楽配信の意味である。
【０１０３】
図１６を参照して付加情報のデータの具体例について説明する。図１６Ａは、図１２Ｃと同様に、付加情報のデータ構成を示す。図１６Ｂは、キーコードＩＤ＝３とされる、付加情報がアーティスト名の例である。ＳＩＺＥ＝０ｘ１Ｃ（２８バイト）とされ、ヘッダを含むこの付加情報のデータ長が２８バイトであることが示される。また、Ｃ＋Ｌが文字コードＣ＝０ｘ０１とされ、言語コードＬ＝０ｘ０９とされる。この値は、前述した規定によって、ＡＳＣＩＩの文字コードで、英語の言語であることを示す。そして、先頭から１２バイト目から１バイトデータでもって、「ＳＩＭＯＮ＆ＧＲＡＦＵＮＫＥＬ」のアーティスト名のデータが書かれる。付加情報のサイズは、４バイトの整数倍と決められているので、１バイトの余りが（０ｘ００）とされる。
【０１０４】
図１６Ｃは、キーコードＩＤ＝９７とされる、付加情報がＩＳＲＣ(International Standard Recording Code：著作権コード) の例である。ＳＩＺＥ＝０ｘ１４（２０バイト）とされ、この付加情報のデータ長が２０バイトであることが示される。また、Ｃ＋ＬがＣ＝０ｘ００、Ｌ＝０ｘ００とされ、文字、言語の設定が無いこと、すなわち、データが２進数であることが示される。そして、データとして８バイトのＩＳＲＣのコードが書かれる。ＩＳＲＣは、著作権情報（国、所有者、録音年、シリアル番号）を示すものである。
【０１０５】
図１６Ｄは、キーコードＩＤ＝９７とされる、付加情報が録音日時の例である。ＳＩＺＥ＝０ｘ１０（１６バイト）とされ、この付加情報のデータ長が１６バイトであることが示される。また、Ｃ＋ＬがＣ＝０ｘ００、Ｌ＝０ｘ００とされ、文字、言語の設定が無いことが示される。そして、データとして４バイト（３２ビット）のコードが書かれ、録音日時（年、月、日、時、分、秒）が表される。
【０１０６】
図１６Ｅは、キーコードＩＤ＝１０７とされる、付加情報が再生ログの例である。ＳＩＺＥ＝０ｘ１０（１６バイト）とされ、この付加情報のデータ長が１６バイトであることが示される。また、Ｃ＋ＬがＣ＝０ｘ００、Ｌ＝０ｘ００とされ、文字、言語の設定が無いことが示される。そして、データとして４バイト（３２ビット）のコードが書かれ、再生ログ（年、月、日、時、分、秒）が表される。再生ログ機能を持つものは、１回の再生毎に１６バイトのデータを記録する。
【０１０７】
図１７は、１ＳＵがＮバイト（例えばＮ＝３８４バイト）の場合のＡＴＲＡＣ３データファイルＡ３Ｄｎｎｎｎのデータ配列を示す。図１７には、データファイルの属性ヘッダ（１ブロック）と、音楽データファイル（１ブロック）とが示されている。図１７では、この２ブロック（１６×２＝３２Ｋバイト）の各スロットの先頭のバイト（０ｘ００００〜０ｘ７ＦＦ０）が示されている。図１８に分離して示すように、属性ヘッダの先頭から３２バイトがヘッダであり、２５６バイトが曲名領域ＮＭ１（２５６バイト）であり、５１２バイトが曲名領域ＮＭ２（５１２バイト）である。属性ヘッダのヘッダには、下記のデータが書かれる。
【０１０８】
ＢＬＫＩＤ−ＨＤ０（４バイト）
意味：BLOCKID FILE ID
機能：ＡＴＲＡＣ３データファイルの先頭であることを識別するための値
値：固定値＝”ＨＤ＝０”（例えば０ｘ４８４４２Ｄ３０）
ＭＣｏｄｅ（２バイト）
意味：MAKER CODE
機能：記録した機器の、メーカー、モデルを識別するコード
値：上位１０ビット（メーカーコード）  下位６ビット（機種コード）
ＢＬＯＣＫ  ＳＥＲＩＡＬ（４バイト）
意味：トラック毎に付けられた連続番号
機能：ブロックの先頭は０から始まり次のブロックは＋１づつインクリメント編集されても値を変化させない
値：０より始まり０ｘＦＦＦＦＦＦＦＦまで。
【０１０９】
Ｎ１Ｃ＋Ｌ（２バイト）
意味：トラック（曲名）データ（ＮＭ１）の属性を表す
機能：ＮＭ１に使用される文字コードと言語コードを各１バイトで表す
値：ＳＮ１Ｃ＋Ｌと同一
Ｎ２Ｃ＋Ｌ（２バイト）
意味：トラック（曲名）データ（ＮＭ２）の属性を表す
機能：ＮＭ２に使用される文字コードと言語コードを各１バイトで表す
値：ＳＮ１Ｃ＋Ｌと同一
ＩＮＦＳＩＺＥ（２バイト）
意味：トラックに関する付加情報の全てを合計したサイズを表す
機能：データサイズを１６バイト単位の大きさで記述、無い場合は必ずオールゼロとすること
値：サイズは０ｘ００００から０ｘ３Ｃ６（９６６）
Ｔ−ＰＲＴ（２バイト）
意味：トータルパーツ数
機能：トラックを構成するパーツ数を表す。通常は１
値：１から０ｘ２８５（６４５dec ）
Ｔ−ＳＵ（４バイト）
意味：トータルＳＵ数
機能：１トラック中の実際の総ＳＵ数を表す。曲の演奏時間に相当する
値：０ｘ０１から０ｘ００１ＦＦＦＦＦ
ＩＮＸ（２バイト）（Ｏｐｔｉｏｎ）
意味：INDEX の相対場所
機能：曲のさびの部分（特徴的な部分）の先頭を示すポインタ。曲の先頭からの位置をＳＵの個数を１／４した数で指定する。これは、通常のＳＵの４倍の長さの時間（約９３ｍ秒）に相当する
値：０から０ｘＦＦＦＦ（最大、約６０８４秒）
ＸＴ（２バイト）（Ｏｐｔｉｏｎ）
意味：INDEX の再生時間
機能：ＩＮＸ-nnnで指定された先頭から再生すべき時間のＳＵの個数を１／４した数で指定する。これは、通常のＳＵの４倍の長さの時間（約９３ｍ秒）に相当する
値：０ｘ００００：無設定    ０ｘ０１から０ｘＦＦＦＥ（最大６０８４秒）０ｘＦＦＦＦ：曲の終わりまで。
【０１１０】
次に曲名領域ＮＭ１およびＮＭ２について説明する。
【０１１１】
ＮＭ１
意味：曲名を表す文字列
機能：１バイトの文字コードで表した可変長の曲名（最大で２５６）
名前データの終了は、必ず終端コード（０ｘ００）を書き込むこと
サイズはこの終端コードから計算すること、データの無い場合は少なくとも先頭（０ｘ００２０）からヌル（０ｘ００）を１バイト以上記録すること
値：各種文字コード
ＮＭ２
意味：曲名を表す文字列
機能：２バイトの文字コードで表した可変長の名前データ（最大で５１２）
名前データの終了は、必ず終端コード（０ｘ００）を書き込むこと
サイズはこの終端コードから計算すること、データの無い場合は少なくとも先頭（０ｘ０１２０）からヌル（０ｘ００）を２バイト以上記録すること
値：各種文字コード。
【０１１２】
属性ヘッダの固定位置（０ｘ３２０）から始まる、８０バイトのデータをトラック情報領域ＴＲＫＩＮＦと呼び、主としてセキュリティ関係、コピー制御関係の情報を一括して管理する。図１９にＴＲＫＩＮＦの部分を示す。ＴＲＫＩＮＦ内のデータについて、配置順序に従って以下に説明する。
【０１１３】
ＣＯＮＴＥＮＴＳ  ＫＥＹ（８バイト）
意味：曲毎に用意された値で、メモリカードのセキュリティブロックで保護されてから保存される
機能：曲を再生する時、まず必要となる最初の鍵となる。ＭＡＣ計算時に使用される
値：０から０ｘＦＦＦＦＦＦＦＦＦＦＦＦＦＦＦＦまで
ＭＡＣ（８バイト）
意味：著作権情報改ざんチェック値
機能：コンテンツ累積番号を含む複数のＴＲＫＩＮＦの内容と隠しシーケンス番号から作成される値
隠しシーケンス番号とは、メモリカードの隠し領域に記録されているシーケンス番号のことである。著作権対応でないレコーダは、隠し領域を読むことができない。また、著作権対応の専用のレコーダ、またはメモリカードを読むことを可能とするアプリケーションを搭載したパーソナルコンピュータは、隠し領域をアクセスすることができる。
【０１１４】
Ａ（１バイト）
意味：パーツの属性
機能：パーツ内の圧縮モード等の情報を示す
値：図２０を参照して以下に説明する
ただし、Ｎ＝０，１のモノラルは、ｂｉｔ７が１でサブ信号を０、メイン信号（Ｌ＋Ｒ）のみの特別なＪｏｉｎｔモードをモノラルとして規定する。ｂｉｔ２，１の情報は通常の再生機は無視しても構わない。
【０１１５】
Ａのビット０は、エンファシスのオン／オフの情報を形成し、ビット１は、再生ＳＫＩＰか、通常再生かの情報を形成し、ビット２は、データ区分、例えばオーディオデータか、ＦＡＸ等の他のデータかの情報を形成する。ビット３は、未定義である。ビット４、５、６を組み合わせることによって、図示のように、ＡＴＲＡＣ３のモード情報が規定される。すなわち、Ｎは、この３ビットで表されるモードの値であり、モノ（Ｎ＝０，１）、ＬＰ（Ｎ＝２）、ＳＰ（Ｎ＝４）、ＥＸ（Ｎ＝５）、ＨＱ（Ｎ＝７）の５種類のモードについて、記録時間（６４ＭＢのメモリカードの場合）、データ転送レート、１ブロック内のＳＵ数がそれぞれ示されている。１ＳＵのバイト数は、（モノ：１３６バイト、ＬＰ：１９２バイト、ＳＰ：３０４バイト、ＥＸ：３８４バイト、ＨＱ：５１２バイト）である。さらに、ビット７によって、ＡＴＲＡＣ３のモード（０：Dual  １：J0int ）が示される。
【０１１６】
一例として、６４ＭＢのメモリカードを使用し、ＳＰモードの場合について説明する。６４ＭＢのメモリカードには、３９６８ブロックがある。ＳＰモードでは、１ＳＵが３０４バイトであるので、１ブロックに５３ＳＵが存在する。１ＳＵは、（１０２４／４４１００）秒に相当する。従って、１ブロックは、
（１０２４／４４１００）×５３×（３９６８−１６）＝４８６３秒＝８１分
転送レートは、
（４４１００／１０２４）×３０４×８＝１０４７３７ bps
となる。
【０１１７】
ＬＴ（１バイト）
意味：再生制限フラグ（ビット７およびビット６）とセキュリティバージョン
（ビット５〜ビット０）
機能：このトラックに関して制限事項があることを表す
値：ビット７：  ０＝制限なし    １＝制限有り
ビット６：  ０＝期限内      １＝期限切れ
ビット５〜ビット０：セキュリティバージョン０（０以外であれば再生禁止とする）
ＦＮｏ（２バイト）
意味：ファイル番号
機能：最初に記録された時のトラック番号、且つこの値は、メモリカード内の隠し領域に記録されたＭＡＣ計算用の値の位置を特定する
値：１から０ｘ１９０（４００）
ＭＧ（Ｄ）ＳＥＲＩＡＬ−ｎｎｎ（１６バイト）
意味：記録機器のセキュリティブロック（セキュリティＩＣ２０）のシリアル番号
機能：記録機器ごとに全て異なる固有の値
値：０から0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
ＣＯＮＮＵＭ（４バイト）
意味：コンテンツ累積番号
機能：曲毎に累積されていく固有の値で記録機器のセキュリティブロックによって管理される。２の３２乗、４２億曲分用意されており、記録した曲の識別に使用する
値：０から０ｘＦＦＦＦＦＦＦＦ。
【０１１８】
ＹＭＤｈｍｓ−Ｓ（４バイト）（Ｏｐｔｉｏｎ）
意味：再生制限付きのトラックの再生開始日時
機能：ＥＭＤで指定する再生開始を許可する日時
値：上述した日時の表記と同じ
ＹＭＤｈｍｓ−Ｅ（４バイト）（Ｏｐｔｉｏｎ）
意味：再生制限付きのトラックの再生終了日時
機能：ＥＭＤで指定する再生許可を終了する日時
値：上述した日時の表記と同じ
ＭＴ（１バイト）（Ｏｐｔｉｏｎ）
意味：再生許可回数の最大値
機能：ＥＭＤで指定される最大の再生回数
値：１から０ｘＦＦ  未使用の時は、０ｘ００
ＬＴのｂｉｔ７の値が０の場合はＭＴの値は００とすること
ＣＴ（１バイト）（Ｏｐｔｉｏｎ）
意味：再生回数
機能：再生許可された回数の内で、実際に再生できる回数。再生の度にデクリメントする
値：０ｘ００〜０ｘＦＦ  未使用の時は、０ｘ００である
ＬＴのｂｉｔ７が１でＣＴの値が００の場合は再生を禁止すること。
【０１１９】
ＣＣ（１バイト）
意味：COPY CONTROL
機能：コピー制御
値：図２１に示すように、ビット６および７によってコピー制御情報を表し、ビット４および５によって高速ディジタルコピーに関するコピー制御情報を表し、ビット２および３によってセキュリティブロック認証レベルを表す。ビット０および１は、未定義
ＣＣの例：（ｂｉｔ７，６）１１：無制限のコピーを許可、０１：コピー禁止、００：１回のコピーを許可
（ｂｉｔ３，２）００：アナログないしディジタルインからの録音、ＭＧ認証レベルは０とする
ＣＤからのディジタル録音では（ｂｉｔ７，６）は００、（ｂｉｔ３，２）は００となる
ＣＮ（１バイト）（Ｏｐｔｉｏｎ）
意味：高速ディジタルコピーＨＳＣＭＳ(High speed Serial Copy Management System)におけるコピー許可回数
機能：コピー１回か、コピーフリーかの区別を拡張し、回数で指定する。コピー第１世代の場合にのみ有効であり、コピーごとに減算する
値：００：コピー禁止、０１から０ｘＦＥ：回数、０ｘＦＦ：回数無制限。
【０１２０】
上述したトラック情報領域ＴＲＫＩＮＦに続いて、０ｘ０３７０から始まる２４バイトのデータをパーツ管理用のパーツ情報領域ＰＲＴＩＮＦと呼び、１つのトラックを複数のパーツで構成する場合に、時間軸の順番にＰＲＴＩＮＦを並べていく。図２２にＰＲＴＩＮＦの部分を示す。ＰＲＴＩＮＦ内のデータについて、配置順序に従って以下に説明する。
【０１２１】
ＰＲＴＳＩＺＥ（４バイト）
意味：パーツサイズ
機能：パーツの大きさを表す。クラスタ：２バイト（最上位）、開始ＳＵ：１バイト（上位）、終了ＳＵ：１バイト（最下位）
値：クラスタ：１から０ｘ１Ｆ４０（８０００）、開始ＳＵ：０から０ｘＡ０（１６０）、終了ＳＵ：０から０ｘＡ０（１６０）（但し、ＳＵの数え方は、０，１，２，と０から開始する）
ＰＲＴＫＥＹ（８バイト）
意味：パーツを暗号化するための値
機能：初期値＝０、編集時は編集の規則に従うこと
値：０から０ｘＦＦＦＦＦＦＦＦＦＦＦＦＦＦＦＦ
ＣＯＮＮＵＭ０（４バイト）
意味：最初に作られたコンテンツ累積番号キー
機能：コンテンツをユニークにするためのＩＤの役割
値：コンテンツ累積番号初期値キーと同じ値とされる。
【０１２２】
ＡＴＲＡＣ３データファイルの属性ヘッダ中には、図１７に示すように、付加情報ＩＮＦが含まれる。この付加情報は、開始位置が固定化されていない点を除いて、再生管理ファイル中の付加情報ＩＮＦ−Ｓ（図１１および図１２Ｂ参照）と同一である。１つまたは複数のパーツの最後のバイト部分（４バイト単位）の次を開始位置として付加情報ＩＮＦのデータが開始する。
【０１２３】
ＩＮＦ
意味：トラックに関する付加情報データ
機能：ヘッダを伴った可変長の付加情報データ。複数の異なる付加情報が並べられることがある。それぞれにＩＤとデータサイズが付加されている。個々のヘッダを含む付加情報データは、最小１６バイト以上で４バイトの整数倍の単位
値：再生管理ファイル中の付加情報ＩＮＦ−Ｓと同じである。
【０１２４】
上述した属性ヘッダに対して、ＡＴＲＡＣ３データファイルの各ブロックのデータが続く。図２３に示すように、ブロック毎にヘッダが付加される。各ブロックのデータについて以下に説明する。
【０１２５】
ＢＬＫＩＤ−Ａ３Ｄ（４バイト）
意味：BLOCKID FILE ID
機能：ＡＴＲＡＣ３データの先頭であることを識別するための値
値：固定値＝”Ａ３Ｄ”（例えば０ｘ４１３３４４２０）
ＭＣｏｄｅ（２バイト）
意味：MAKER CODE
機能：記録した機器の、メーカー、モデルを識別するコード
値：上位１０ビット（メーカーコード）  下位６ビット（機種コード）
ＣＯＮＮＵＭ０（４バイト）
意味：最初に作られたコンテンツ累積番号
機能：コンテンツをユニークにするためのＩＤの役割、編集されても値は変化させない
値：コンテンツ累積番号初期値キーと同じ値とされる
ＢＬＯＣＫ  ＳＥＲＩＡＬ（４バイト）
意味：トラック毎に付けられた連続番号
機能：ブロックの先頭は０から始まり次のブロックは＋１づつインクリメント
編集されても値を変化させない
値：０より始まり０ｘＦＦＦＦＦＦＦＦまで
ＢＬＯＣＫ−ＳＥＥＤ（８バイト）
意味：１ブロックを暗号化するための１つの鍵
機能：ブロックの先頭は、記録機器のセキュリティブロックで乱数を生成、続くブロックは、＋１インクリメントされた値、この値が失われると、１ブロックに相当する約１秒間、音が出せないために、ヘッダとブロック末尾に同じものが二重に書かれる。編集されても値を変化させない
値：初期は８バイトの乱数
ＩＮＩＴＩＡＬＩＺＡＴＩＯＮ  ＶＥＣＴＯＲ（８バイト）
意味：ブロック毎にＡＴＲＡＣ３データを暗号化、復号化する時に必要な初期値
機能：ブロックの先頭は０から始まり、次のブロックは最後のＳＵの最後の暗号化された８バイトの値。デバイドされたブロックの途中からの場合は開始ＳＵの直前の最後の８バイトを用いる。編集されても値を変化させない
値：０から０ｘＦＦＦＦＦＦＦＦＦＦＦＦＦＦＦＦ
ＳＵ−ｎｎｎ
意味：サウンドユニットのデータ
機能：１０２４サンプルから圧縮されたデータ、圧縮モードにより出力されるバイト数が異なる。編集されても値を変化させない（一例として、ＳＰモードの時では、Ｎ＝３８４バイト）
値：ＡＴＲＡＣ３のデータ値。
【０１２６】
図１７では、Ｎ＝３８４であるので、１ブロックに４２ＳＵが書かれる。また、１ブロックの先頭の２つのスロット（４バイト）がヘッダとされ、最後の１スロット（２バイト）にＢＬＫＩＤ−Ａ３Ｄ、ＭＣｏｄｅ、ＣＯＮＮＵＭ０、ＢＬＯＣＫ  ＳＥＲＩＡＬが二重に書かれる。従って、１ブロックの余りの領域Ｍバイトは、（１６，３８４−３８４×４２−１６×３＝２０８（バイト）となる。この中に上述したように、８バイトのＢＬＯＣＫ  ＳＥＥＤが二重に記録される。
【０１２７】
ここで、上述したＦＡＴ領域が壊れた場合には、フラッシュメモリの全ブロックの探索を開始し、ブロック先頭部のブロックＩＤ  ＢＬＫＩＤがＴＬ０か、ＨＤ０か、Ａ３Ｄかを各ブロックについて判別する。この処理を図２４に示すフローチャートを参照して、説明する。ブロック先頭のブロックＩＤ  ＢＬＫＩＤがＢＬＫＩＤ−ＴＬ０であるか否かをステップＳＰ１で判別する。
【０１２８】
このステップＳＰ１において、ブロック先頭のブロックＩＤ  ＢＬＫＩＤがＢＬＫＩＤ−ＴＬ０で無い場合には、ステップＳＰ２において、ブロック番号をインクリメント処理して、ステップＳＰ３において、ブロックの終端部まで検索したかを判別する。ステップＳＰ３において、ブロックの終端部まで至ってないと判別された場合には、再度ステップＳＰ１に戻る。
【０１２９】
そして、ステップＳＰ１において、ブロック先頭のブロックＩＤ  ＢＬＫＩＤがＢＬＫＩＤ−ＴＬ０と判別された場合には、ステップＳＰ４において、検索したブロックが再生管理ファイルＰＢＬＩＳＴであると判定される。次に、ステップＳＰ５において、再生管理ファイルＰＢＬＩＳＴ内に含まれる総トラック数Ｔ−ＴＲＫを参照して、レジスタにＮとして記憶する。一例として、メモリ上に１０曲のＡＴＲＡＣ３データファイルが存在する場合には（すなわち１０ファイル）Ｔ−ＴＲＫには１０が記録されている。
【０１３０】
次に、ステップＳＰ６において、総トラック数Ｔ−ＴＲＫに基づいてブロック内に記録されているＴＲＫ−００１からＴＲＫ−４００を順次参照する。上述した一例の場合には、メモリ内に１０曲収録されているのでＴＲＫ−００１からＴＲＫ−０１０までを参照すればよい。
【０１３１】
ステップＳＰ７において、ＴＲＫ−ＸＸＸ（ＸＸＸ＝００１〜４００）には、対応するファイル番号ＦＮＯが記録されているので、トラック番号ＴＲＫ−ＸＸＸとファイル番号ＦＮＯの対応表をメモリに記憶する。
【０１３２】
ステップＳＰ８において、レジスタに記憶したＮをデクリメント処理して、ステップＳＰ９において、Ｎ＝０になるまでステップＳＰ６、ＳＰ７およびＳＰ８を繰り返す。ステップＳＰ９において、Ｎ＝０と判断されたらステップＳＰ１０において、先頭のブロックにポインタをリセットして、先頭のブロックから探索をやり直す。
【０１３３】
次に、ステップＳＰ１１において、ブロック先頭のブロックＩＤ  ＢＬＫＩＤがＢＬＫＩＤ−ＨＤ０か否かを判別する。このステップＳＰ１１において、ブロック先頭のブロックＩＤ  ＢＬＫＩＤがＢＬＫＩＤ−ＨＤ０で無い場合には、ステップＳＰ１２において、ブロック番号をインクリメント処理して、ステップＳＰ１３において、ブロックの終端部まで検索したか否かを判別する。
【０１３４】
そして、ステップＳＰ１３において、ブロックの終端部まで至ってないと判別された場合には、再度ステップＳＰ１１に制御が戻る。
【０１３５】
ステップＳＰ１１において、ブロック先頭のブロックＩＤ  ＢＬＫＩＤがＢＬＫＩＤ−ＨＤ０であると判断されるまで、先頭ブロックからの探索を開始する。ステップＳＰ１１において、ブロック先頭のブロックＩＤ  ＢＬＫＩＤがＢＬＫＩＤ−ＨＤ０と判断された場合には、ステップＳＰ１４において、そのブロックは、図１８の0x0000〜0x03FFF に示すＡＴＲＡＣ３データファイルの先頭部分の属性ヘッダ（図８参照）と判断される。
【０１３６】
次に、ステップＳＰ１５において、属性ヘッダ内に記録されているファイル番号ＦＮＯ、同一ＡＴＲＡＣ３データファイル内での通し番号を表すＢＬＯＣＫＳＥＲＩＡＬ、コンテンツ累積番号キーＣＯＮＮＵＭ０を参照して、メモリに記憶する。ここで、１０個のＡＴＲＡＣ３データファイルが存在する（すなわち、１０曲収録されている）場合には、先頭のブロックＩＤ  ＢＬＫＩＤがＢＬＫＩＤ−ＴＬ０と判断されるブロックが１０個存在するので、１０個索出されるまで処理を続ける。
【０１３７】
ステップＳＰ１３において、ブロックの終端部まで至っていると判別された場合には、ステップＳＰ１６において、先頭のブロックにポインタをリセットして、先頭のブロックから探索をやり直す。
【０１３８】
次に、ステップＳＰ１７において、ブロック先頭のブロックＩＤ  ＢＬＫＩＤがＢＬＫＩＤ−Ａ３Ｄか否かを判断する。このステップＳＰ１７において、ブロック先頭のブロックＩＤ  ＢＬＫＩＤがＢＬＫＩＤ−Ａ３Ｄで無い場合には、ステップＳＰ１８において、ブロック番号をインクリメント処理して、ステップＳＰ１９において、ブロックの終端部まで検索したか否かを判別する。ステップＳＰ１９において、ブロックの終端部まで至ってないと判別された場合には、再度ステップＳＰ１７に制御が戻る。
【０１３９】
そして、ステップＳＰ１７において、ブロック先頭のブロックＩＤ  ＢＬＫＩＤがＢＬＫＩＤ−Ａ３Ｄであると判断された場合には、ステップＳＰ２０において、ブロックはＡＴＲＡＣ３データファイルが実際に記録されているブロックと判断される。
【０１４０】
次に、ステップＳＰ２１において、ＡＴＲＡＣ３データブロック内に記録されている通し番号ＢＬＯＣＫ  ＳＥＲＩＡＬ、コンテンツ累積番号キーＣＯＮＮＵＭ０を参照して、メモリに記憶する。このコンテンツ累積番号キーＣＯＮＮＵＭ０は同一ＡＴＲＡＣ３データファイル内では共通の番号が付与されている。即ち１つのＡＴＲＡＣ３データファイルが１０個のブロックから構成されている場合には、ブロック内に各々記録されているＣＯＮＮＵＭ０には全部共通の番号が記録されている。
【０１４１】
さらに、１つのＡＴＲＡＣ３データファイルが１０個のブロックから構成されている場合には、１０個のブロックの各々のＢＬＯＣＫ  ＳＥＲＩＡＬには１〜１０のいずれかの通し番号が付与されている。ＣＯＮＮＵＭ０およびＢＬＯＣＫＳＥＲＩＡＬに基づいて同一コンテンツを構成するブロックか、さらに同一コンテンツ内の再生順序（連結順序）が判る。
【０１４２】
この実施形態では、１０個のＡＴＲＡＣ３データファイル（即ち１０曲）が記録され、例えば各々のＡＴＲＡＣ３データファイルが１０個のブロックから構成される場合には、１００個のデータブロックが存在することになる。この１００個のデータファイルがどの曲番を構成し、どの順序で連結されるべきかはＣＯＮＮＵＭ０およびＢＬＯＣＫ  ＳＥＲＩＡＬを参照して行われる。
【０１４３】
ステップＳＰ１９において、ブロックの終端部まで至っていると判別された場合には、全ブロックに対して、再生管理ファイル、ＡＴＲＡＣ３データファイル、属性ファイルの全ての検索が終了したことを意味するので、ステップＳＰ２２は、メモリ上に記憶されたブロック番号に対応するＣＯＮＮＵＭ０、ＢＬＯＣＫＳＥＲＩＡＬ、ＦＮＯ、ＴＲＫ−ＸＸＸに基づいてファイルの連結状態を再現する。連結状態が確認できたらメモリ上の破壊されていない空きエリアにＦＡＴを作成し直しても良い。
【０１４４】
次に、上述した管理ファイルと異なるデータ構成の管理ファイル他の例について、説明する。図２５は、メモリカード４０のファイル構成の他の例を全体として示す。音楽用ディレクトリには、トラック情報管理ファイルＴＲＫＬＩＳＴ．ＭＳＦ（以下、単にＴＲＫＬＩＳＴと表記する）と、トラック情報管理ファイルのバックアップＴＲＫＬＩＳＴＢ．ＭＳＦ（以下、単にＴＲＫＬＩＳＴＢと表記する）と、アーチスト名、ＩＳＲＣコード、タイムスタンプ、静止画像データ等の各種付加情報データを記述するＩＮＦＬＩＳＴ．ＭＳＦ（以下、単にＩＮＦＩＳＴと表記する）と、ＡＴＲＡＣ３データファイルＡ３Ｄｎｎｎｎ．ＭＳＡ（以下、単にＡ３Ｄｎｎｎｎと表記する）とが含まれる。ＴＲＫＬＩＳＴには、ＮＡＭＥ１およびＮＡＭＥ２が含まれる。ＮＡＭＥ１は、メモリカード名、曲名ブロック（１バイトコード用）で、ＡＳＣＩＩ／８８５９−１の文字コードにより曲名データを記述する領域である。ＮＡＭＥ２は、メモリカード名、曲名ブロック（２バイトコード用）で、ＭＳ−ＪＩＳ／ハングル語／中国語等により曲名データを記述する領域である。
【０１４５】
図２６は、音楽用ディレクトリのトラック情報管理ファイルＴＲＫＬＩＳＴと、ＮＡＭＥ１および２と、ＡＴＲＡＣ３データファイルＡ３Ｄｎｎｎｎ間の関係を示す。ＴＲＫＬＩＳＴは、全体で６４Ｋバイト（＝１６Ｋ×４）の固定長で、その内の３２Ｋバイトがトラックを管理するパラメータを記述するのに使用され、残りの３２ＫバイトがＮＡＭＥ１および２を記述するのに使用される。曲名等を記述したファイルＮＡＭＥ１および２は、トラック情報管理ファイルと別扱いでも実現できるが、ＲＡＭ容量の小さいシステムは、トラック情報管理ファイルと曲名ファイルとを分けない方が管理ファイルをまとめて管理することができ、操作しやすくなる。
【０１４６】
トラック情報管理ファイルＴＲＫＬＩＳＴ内のトラック情報領域ＴＲＫＩＮＦ−ｎｎｎｎおよびパーツ情報領域ＰＲＴＩＮＦ−ｎｎｎｎによって、データファイルＡ３Ｄｎｎｎｎおよび付加情報用のＩＮＦＬＩＳＴが管理される。なお、暗号化の処理を受けるのは、ＡＴＲＡＣ３データファイルＡ３Ｄｎｎｎｎのみである。図２６中で、横方向が１６バイト（０〜Ｆ）であり、縦方向に１６進数（０ｘか１６進数を意味する）でその行の先頭の値が示されている。
【０１４７】
他の例では、トラック情報管理ファイルＴＲＫＬＩＳＴ（曲名ファイルを含む）と、付加情報管理ファイルＩＮＦＬＩＳＴと、データファイルＡ３Ｄｎｎｎｎとの３個のファイルの構成とされ、ＴＲＫＬＩＳＴによってＩＮＦＬＩＳＴおよびＡ３Ｄｎｎｎｎが管理される。前述したデータ構成の一例（図７、図８および図９）では、メモリカードの全体を管理する再生管理ファイルＰＢＬＩＳＴと、各トラック（曲）のデータファイルＡＴＲＡＣ３との２種類のファイルの構成とされる。
【０１４８】
以下、データ構成の他の例について説明するが、上述したデータ構成の一例と同一の点については、その説明を省略することにする。
【０１４９】
図２７は、トラック情報管理ファイルＴＲＫＬＩＳＴのより詳細な構成を示す。トラック情報管理ファイルＴＲＫＬＩＳＴは、１クラスタ（１ブロック）＝１６ＫＢのサイズで、その後に続くバックアップ用のＴＲＫＬＩＳＴＢも同一サイズ、同一データのものである。トラック情報管理ファイルは、先頭から３２バイトがヘッダである。ヘッダには、上述した再生管理ファイルＰＢＬＩＳＴ中のヘッダと同様に、ＢＬＫＩＤ−ＴＬ０／ＴＬ１（バックアップファイルのＩＤ）（４バイト）、総トラック数Ｔ−ＴＲＫ（２バイト）、メーカーコードＭＣｏｄｅ（２バイト）、ＴＲＫＬＩＳＴの書き換え回数ＲＥＶＩＳＩＯＮ（４バイト）、更新日時のデータＳ−ＹＭＤｈｍｓ（４バイト）（Ｏｐｔｉｏｎ）が書かれる。これらのデータの意味、機能、値は、前述した通りである。これらのデータ以外に下記のデータが書かれる。
【０１５０】
ＹＭＤｈｍｓ（４バイト）
最後にＴＲＫＬＩＳＴが更新された年月日
Ｎ１（１バイト）（Ｏｐｔｉｏｎ）
メモリカードの連番号（分子側）で、１枚使用時はすべて（０ｘ０１）
Ｎ２（１バイト）（Ｏｐｔｉｏｎ）
メモリカードの連番号（分母側）で、１枚使用時はすべて（０ｘ０１）
ＭＳＩＤ（２バイト）（Ｏｐｔｉｏｎ）
メモリカードのＩＤで、複数組の時は、ＭＳＩＤが同一番号（Ｔ．Ｂ．Ｄ．）（Ｔ．Ｂ．Ｄ．は、将来定義されうることを意味する）
Ｓ−ＴＲＫ（２バイト）
特別トラック（４０１〜４０８）の記述（Ｔ．Ｂ．Ｄ．）で、通常は、０ｘ００００
ＰＡＳＳ（２バイト）（Ｏｐｔｉｏｎ）
パスワード（Ｔ．Ｂ．Ｄ．）
ＡＰＰ（２バイト）（Ｏｐｔｉｏｎ）
再生アプリケーションの規定（Ｔ．Ｂ．Ｄ．）（通常は、０ｘ００００）
ＩＮＦ−Ｓ（２バイト）（Ｏｐｔｉｏｎ）
メモリカード全体の付加情報ポインタであり、付加情報がないときは、０ｘ００とする。
【０１５１】
ＴＲＫＬＩＳＴの最後の１６バイトとして、ヘッダ内のものと同一のＢＬＫＩＤ−ＴＬ０と、ＭＣｏｄｅと、ＲＥＶＩＳＩＯＮとが配される。また、バックアップ用のＴＲＫＬＩＳＴＢにも上述したヘッダが書かれる。この場合、ＢＬＫＩＤ−ＴＬ１と、ＭＣｏｄｅと、ＲＥＶＩＳＩＯＮとが配される。
【０１５２】
ヘッダの後にトラック（曲）ごとの情報を記述するトラック情報領域ＴＲＫＩＮＦと、トラック（曲）内のパーツの情報を記述するパーツ情報領域ＰＲＴＩＮＦが配置される。図２７では、ＴＲＫＬＩＳＴの部分に、これらの領域が全体的に示され、下側のＴＲＫＬＩＳＴＢの部分にこれらの領域の詳細な構成が示されている。また、斜線で示す領域は、未使用の領域を表す。
【０１５３】
トラック情報領域ＴＲＫＩＮＦ−ｎｎｎおよびパーツ情報領域ＰＲＴＩＮＦ−ｎｎｎに、上述したＡＴＲＡＣ３データファイルに含まれるデータが同様に書かれる。すなわち、再生制限フラグＬＴ（１バイト）、コンテンツキーＣＯＮＴＥＮＴＳ  ＫＥＹ（８バイト）、記録機器のセキュリティブロックのシリアル番号ＭＧ（Ｄ）ＳＥＲＩＡＬ（１６バイト）、曲の特徴的部分を示すためのＸＴ（２バイト）（Ｏｐｔｉｏｎ）およびＩＮＸ（２バイト）（Ｏｐｔｉｏｎ）、再生制限情報およびコピー制御に関連するデータＹＭＤｈｍｓ−Ｓ（４バイト）（Ｏｐｔｉｏｎ）、ＹＭＤｈｍｓ−Ｅ（４バイト）（Ｏｐｔｉｏｎ）、ＭＴ（１バイト）（Ｏｐｔｉｏｎ）、ＣＴ（１バイト）（Ｏｐｔｉｏｎ）、ＣＣ（１バイト）、ＣＮ（１バイト）（Ｏｐｔｉｏｎ）、パーツの属性を示すＡ（１バイト）、パーツサイズＰＲＴＳＩＺＥ（４バイト）、パーツキーＰＲＴＫＥＹ（８バイト）、コンテンツ累積番号ＣＯＮＮＵＭ（４バイト）が書かれている。これらのデータの意味、機能、値は、前述した通りである。これらのデータ以外に下記のデータが書かれる。
【０１５４】
Ｔ０（１バイト）
固定値（Ｔ０＝０ｘ７４）
ＩＮＦ−ｎｎｎ（Ｏｐｔｉｏｎ）（２バイト）
各トラックの付加情報ポインタ（０〜４０９）、００：付加情報がない曲の意味
ＦＮＭ−ｎｎｎ（４バイト）
ＡＴＲＡＣ３データのファイル番号（０ｘ００００〜０ｘＦＦＦＦ）
ＡＴＲＡＣ３データファイル名（Ａ３Ｄｎｎｎｎｎ）のｎｎｎｎｎ  （ＡＳＣＩＩ）番号を０ｘｎｎｎｎｎに変換した値
ＡＰＰ ＣＴＬ（４バイト）（Ｏｐｔｉｏｎ）
アプリケーション用パラメータ（Ｔ．Ｂ．Ｄ．）（通常、０ｘ００００）
Ｐ−ｎｎｎ（２バイト）
曲を構成するパーツ数（１〜２０３９）で、前述のＴ−ＰＡＲＴに対応する
ＰＲ（１バイト）
固定値（ＰＲ＝０ｘ５０）。
【０１５５】
次に、名前をまとめて管理する名前の領域ＮＡＭＥ１およびＮＡＭＥ２について説明する。図２８は、ＮＡＭＥ１（１バイトコードを使用する領域）のより詳細なデータ構成を示す。ＮＡＭＥ１および後述のＮＡＭＥ２は、ファイルの先頭から８バイト単位で区切られ、１スロット＝８バイトとされている。先頭の０ｘ８０００には、ヘッダが書かれ、その後ろにポインタおよび名前が記述される。ＮＡＭＥ１の最後のスロットにヘッダと同一データが記述される。
【０１５６】
ＢＬＫＩＤ−ＮＭ１（４バイト）
ブロックの内容を特定する固定値（ＮＭ１＝０ｘ４Ｅ４Ｄ２Ｄ３１）
ＰＮＭ１−ｎｎｎ（４バイト）（Ｏｐｔｉｏｎ）
ＮＭ１（１バイトコード）へのポインタ
ＰＮＭ１−Ｓは、メモリカードを代表する名前のポインタ
ｎｎｎ（＝１〜４０８）は、曲名のポインタ
ポインタは、ブロック内の開始位置（２バイト）と文字コードタイプ（２ビット）とデータサイズ（１４ビット）を記述
ＮＭ１−ｎｎｎ（Ｏｐｔｉｏｎ）
１バイトコードで、メモリカード名、曲名データを可変長で記述
名前データの終端コード（０ｘ００）を書き込む。
【０１５７】
図２９は、ＮＡＭＥ２（２バイトコードを使用する領域）のより詳細なデータ構成を示す。先頭（０ｘ８０００）には、ヘッダが書かれ、ヘッダの後ろにポインタおよび名前が記述される。ＮＡＭＥ２の最後のスロットにヘッダと同一データが記述される。
【０１５８】
ＢＬＫＩＤ−ＮＭ２（４バイト）
ブロックの内容を特定する固定値（ＮＭ２＝０ｘ４Ｅ４Ｄ２Ｄ３２）
ＰＮＭ２−ｎｎｎ（４バイト）（Ｏｐｔｉｏｎ）
ＮＭ２（２バイトコード）へのポインタ
ＰＮＭ２−Ｓは、メモリカードを代表する名前のポインタ
ｎｎｎ（＝１〜４０８）は、曲名のポインタ
ポインタは、ブロック内の開始位置（２バイト）と文字コードタイプ（２ビット）とデータサイズ（１４ビット）を記述
ＮＭ２−ｎｎｎ（Ｏｐｔｉｏｎ）
２バイトコードで、メモリカード名、曲名データを可変長で記述
名前データの終端コード（０ｘ００００）を書き込む。
【０１５９】
図３０は、１ＳＵがＮバイトの場合のＡＴＲＡＣ３データファイルＡ３Ｄｎｎｎｎのデータ配列（１ブロック分）を示す。このファイルは、１スロット＝８バイトである。図３０では、各スロットの先頭（０ｘ００００〜０ｘ３ＦＦ８）の値が示されている。ファイルの先頭から４個のスロットがヘッダである。前述したデータ構成の一例におけるデータファイル（図１７参照）の属性ヘッダに続くデータブロックと同様に、ヘッダが設けられる。すなわち、このヘッダには、ＢＬＫＩＤ−Ａ３Ｄ（４バイト）、メーカーコードＭＣｏｄｅ（２バイト）、暗号化に必要なＢＬＯＣＫ  ＳＥＥＤ（８バイト）、最初に作られたコンテンツ累積番号ＣＯＮＮＵＭ０（４バイト）、トラック毎の連続番号ＢＬＯＣＫ  ＳＥＲＩＡＬ（４バイト）、暗号化／復号化に必要なＩＮＩＴＩＡＬＩＺＡＴＩＯＮ  ＶＥＣＴＯＲ（８バイト）が書かれる。なお、ブロックの最後の一つ前のスロットに、ＢＬＯＣＫ  ＳＥＥＤが二重記録され、最後のスロットにＢＬＫＩＤ−Ａ３ＤおよびＭＣｏｄｅが記録される。そして、前述したデータ構成の一例と同様に、ヘッダの後にサウンドユニットデータＳＵ−ｎｎｎｎが順に配される。
【０１６０】
図３１は、付加情報を記述するための付加情報管理ファイルＩＮＦＬＩＳＴのより詳細なデータ構成を示す。他のデータ構成においては、このファイルＩＮＦＬＩＳＴの先頭（０ｘ００００）には、下記のヘッダが記述される。ヘッダ以降にポインタおよびデータが記述される。
【０１６１】
ＢＬＫＩＤ−ＩＮＦ（４バイト）
ブロックの内容を特定する固定値（ＩＮＦ＝０ｘ４９４Ｅ４６４Ｆ）
Ｔ−ＤＡＴ（２バイト）
総データ数を記述（０〜４０９）
ＭＣｏｄｅ（２バイト）
記録した機器のメーカーコード
ＹＭＤｈｍｓ（４バイト）
記録更新日時
ＩＮＦ−ｎｎｎ（４バイト）
付加情報のＤＡＴＡ（可変長、２バイト（スロット）単位）へのポインタ
開始位置は、上位１６ビットで示す（００００〜ＦＦＦＦ）
ＤａｔａＳｌｏｔ−００００の（０ｘ０８００）先頭からのオフセット値（スロット単位）を示す
データサイズは、下位１６ビットで示す（０００１〜７ＦＦＦ）（最上位ビットＭＳＢに無効フラグをセットする。ＭＳＢ＝０（有効を示す）、ＭＳＢ＝１（無効を示す）
データサイズは、その曲のもつ総データ数を表す
（データは、各スロットの先頭から始まり、データの終了後は、スロットの終わりまで００を書き込むこと）
最初のＩＮＦは、アルバム全体の持つ付加情報を示すポインタ（通常ＩＮＦ−４０９で示される）。
【０１６２】
図３２は、付加情報データの構成を示す。一つの付加情報データの先頭に８バイトのヘッダが付加される。この付加情報の構成は、上述したデータ構成の一例における付加情報の構成（図１２Ｃ参照）と同様のものである。すなわち、ＩＤとしてのＩＮ（１バイト）、キーコードＩＤ（１バイト）、個々の付加情報の大きさを示すＳＩＺＥ（２バイト）、メーカーコードＭＣｏｄｅ（２バイト）が書かれる。さらに、ＳＩＤ（１バイト）は、サブＩＤである。
【０１６３】
上述したこの発明の一実施形態では、メモリカードのフォーマットとして規定されているファイルシステムとは別に音楽用データに対するトラック情報管理ファイルＴＲＫＬＩＳＴを使用するので、ＦＡＴが何らかの事故で壊れても、ファイルを修復することが可能となる。図３３は、ファイル修復処理の流れを示す。ファイル修復のためには、ファイル修復プログラムで動作し、メモリカードをアクセスできるコンピュータ（ＤＳＰ３０と同様の機能を有するもの）と、コンピュータに接続された記憶装置（ハードディスク、ＲＡＭ等）とが使用される。最初のステップ１０１では、次の処理がなされる。なお、図２５〜図３２を参照して説明したトラック管理ファイルＴＲＫＬＩＳＴに基づいてファイルを修復する処理を説明する。
【０１６４】
ＦＡＴが壊れたフラッシュメモリの全ブロックを探索し、ブロックの先頭の値（ＢＬＫＩＤ）がＴＬ−０を探す。このフラッシュメモリの全ブロックを探索し、ブロックの先頭の値（ＢＬＫＩＤ）がＴＬ−１を探す。このフラッシュメモリの全ブロックを探索し、ブロックの先頭の値（ＢＬＫＩＤ）がＮＭ−１を探す。このフラッシュメモリの全ブロックを探索し、ブロックの先頭の値（ＢＬＫＩＤ）がＮＭ−２を探す。この４ブロック（トラック情報管理ファイル）の全内容は、修復用コンピュータによって例えばハードディスクに収集する。
【０１６５】
トラック情報管理ファイルの先頭から４バイト目以降のデータから総トラック数ｍの値を見つけ把握しておく。トラック情報領域ＴＲＫＩＮＦ−００１の先頭から２０バイト目、１曲目のＣＯＮＮＵＭ−００１とそれに続くＰ−００１の値を見つける。Ｐ−００１の内容から構成されるパーツの総数を把握し、続くＰＲＴＩＮＦの中のトラック１を構成する全てのＰＲＴＳＩＺＥの値を見つけ出し、それらを合計した総ブロック（クラスタ）数ｎを計算し、把握しておく。
【０１６６】
トラック情報管理ファイルは見つかったので、ステップ１０２では、音のデータファイル（ＡＴＲＡＣ３データファイル）を探索する。フラッシュメモリの管理ファイル以外の全ブロックを探索し、ＡＴＲＡＣ３データファイルであるブロックの先頭の値（ＢＬＫＩＤ）がＡ３Ｄのブロック群の収集を開始する。
【０１６７】
Ａ３Ｄｎｎｎｎの中で先頭から１６バイト目に位置するＣＯＮＮＵＭ０の値がトラック情報管理ファイルの１曲目のＣＯＮＮＵＭ−００１と同一で、２０バイト目からのＢＬＯＣＫ  ＳＥＲＩＡＬの値が０のものを探し出す。これが見つかったら、次のブロック（クラスタ）として同一のＣＯＮＮＵＭ０の値で、２０バイト目からのＢＬＯＣＫ  ＳＥＲＩＡＬの値が＋１されたもの（１＝０＋１）を探し出す。これが見つかったら、同様に、次のブロック（クラスタ）として同一のＣＯＮＮＵＭ０の値で、２０バイト目からのＢＬＯＣＫ  ＳＥＲＩＡＬの値が＋１されたもの（２＝１＋１）を探し出す。
【０１６８】
この処理を繰り返して、トラック１の総クラスタであるｎ個になるまでＡＴＲＡＣ３データファイルを探す。全てが見つかったら、探したブロック（クラスタ）の内容を全てハードディスクに順番に保存する。
【０１６９】
次のトラック２に関して、上述したトラック１に関する処理を行う。すなわち、ＣＯＮＮＵＭ０の値がトラック情報管理ファイルの１曲目のＣＯＮＮＵＭ−００２と同一で、２０バイト目からのＢＬＯＣＫ  ＳＥＲＩＡＬの値が０のものを探し出し、以下、トラック１の場合と同様に、最後のブロック（クラスタ）ｎ’までＡＴＲＡＣ３データファイルを探し出す。全てが見つかったら、探したブロック（クラスタ）の内容を全て外部のハードディスクに順番に保存する。
【０１７０】
全トラック（トラック数ｍ）について、以上の処理を繰り返すことによって、全てのＡＴＲＡＣ３データファイルが修復用コンピュータが管理する外部のハードディスクに収集される。
【０１７１】
そして、ステップ１０３では、ＦＡＴが壊れたメモリカードを再度初期化し、ＦＡＴを再構築し、所定のディレクトリを作り、トラック情報管理ファイルと、ｍトラック分のＡＴＲＡＣ３データファイルをハードディスク側からメモリカードへコピーする。これによって、修復作業が完了する。
【０１７２】
なお、管理ファイル、データファイルにおいて、重要なパラメータ（主としてヘッダ内のコード）を二重に限らず、三重以上記録しても良く、重要なパラメータに対して専用のエラー訂正符号の符号化を行うようにしても良い。また、このように多重記録する場合の位置は、ファイルの先頭および末尾の位置に限らず、１ページ単位以上離れた位置であれば有効である。
【０１７３】
以下、上述した実施形態および図４〜図２４で説明したこの発明の第１の実施形態に示すファイル管理方法を用いて、ファイル（曲）の結合編集処理、分割編集処理に関する処理手順を示す。
【０１７４】
ＦＡＴ上の結合編集処理
上述した図６に示すＣＡＴ．ＭＳＡ、ＤＯＧ．ＭＳＡ、ＭＡＮ．ＭＳＡという３つのファイル（曲）のうちＣＡＴ．ＭＳＡとＭＡＮ．ＭＳＡの２つのファイルを結合する際のＦＡＴ上の処理を示す。図３４に示すように、ユーザによって２つのファイルを１つのファイルの結合する際にＣＡＴ．ＭＳＡに対応するＦＡＴ上のクラスタ管理データの終端のクラスタ８のエントリーアドレスを「ＦＦＦ」から連結されるＭＡＮ．ＭＳＡに対応するＦＡＴ上の開始アドレス「１１０」に編集する。これによって連結されたＣＡＴ．ＭＳＡというファイルは、クラスタ５、６、７、８、１１０、１１１というクラスタ領域を使用していることになる。さらに、サブディレクトリ領域からＭＡＮ．ＭＳＡを削除すると共に、クラスタ２０２で管理されていたＭＡＮ．ＭＳＡというファイル名も削除する。
【０１７５】
属性ヘッダの編集
ＣＡＴ．ＭＳＡとＭＡＮ．ＭＳＡの２つのファイルを結合する際のＦＡＴ上の編集手順を以上に述べたが、図１１に示す再生管理ファイルＰＢＬＩＳＴ. ＭＳＦと図１７に示すＡＴＲＡＣ３データファイルの属性ヘッダの編集方法を図３５を用いて説明する。図３５Ａに編集前のＣＡＴ．ＭＳＡとＭＡＮ．ＭＳＡの２つのファイルのメモリマップ上の模式図を示す。この模式図は、論理アドレスから物理アドレスへ変換された後のメモリマップであると共に、各パーツは本来離散的にメモリ上に記録されているが説明を簡略化するために連続的に配置してある。
【０１７６】
図３５Ａに示すようにＣＡＴ．ＭＳＡの属性ファイルには総サウンドユニット数Ｔ−ＳＵ：１００、トータルパーツ数Ｔ−ＰＲＴ：３、コンテンツキー、ＭＡＣ、および各パーツに対応するパーツサイズとパーツキーが管理されている。さらに、ＭＡＮ．ＭＳＡの属性ファイルには総サウンドユニット数Ｔ−ＳＵ：７０、トータルパーツ数Ｔ−ＰＲＴ：２、コンテンツキー、ＭＡＣおよび各パーツに対応するパーツサイズとパーツキー、コンテンツ累積番号ＣＯＮＮＵＭ０が管理されている。
【０１７７】
ファイルＣＡＴ．ＭＳＡに対する属性ファイルの内容を以下のように更新をする。具体的に更新する内容としては、曲を連結することで、単一ファイルを構成するパーツ数が増加するので、属性ファイルに含まれるＴ−ＰＲＴを編集すると共に、トータルサウンドユニット数もファイルを連結することで増加するのでＴ−ＳＵも編集する。すなわち、図３５Ｂに示すように、ＣＡＴ．ＭＳＡの総サウンドユニット数Ｔ−ＳＵ：１００と、ＭＡＮ．ＭＳＡの総サウンドユニット数Ｔ−ＳＵ：７０とを加算した値１７０に総サウンドユニット数Ｔ−ＳＵは書き換えられると共に、ＣＡＴ．ＭＳＡの総パーツ数Ｔ−ＰＲＴ：３と、ＭＡＮ．ＭＳＡの総パーツ数Ｔ−ＰＲＴ：２とを加算した値５に総パーツ数Ｔ−ＰＲＴは書き換えられる。
【０１７８】
さらに、ＡＴＲＡＣ３データファイル（曲）を結合処理時に属性ファイルの含まれるコンテンツキーに関しては新たに生成しなおすと共に、さらに、著作権改ざんチェック値であるＭＡＣも変更する。また、連結されるファイルＭＡＮ．ＭＳＡの属性ファイルブロックに含まれているパーツ情報（図２２）をＣＡＴ．ＭＳＡに対する属性ファイルブロックに追加（複写）する。さらに、パーツ情報を追加後の属性ファイルブロックに含まれている各パーツごとのパーツキーＰＲＴＫＥＹを新しいコンテンツキーを用いて暗号化しなおす。
【０１７９】
図９にＡＴＲＡＣ３データファイルにはヘッダ部分に属性ファイルが付加されているので、２つのＡＴＲＡＣ３データファイルを単に結合してしまうと、ファイルＣＡＴ．ＭＳＡに対する属性ファイルブロック、ファイルＣＡＴ．ＭＳＡに対する複数のＡＴＡＲＣ３データブロック、ファイルＭＡＮ．ＭＳＡに対する属性ファイルブロック、ファイルＭＡＮ．ＭＳＡに対する複数のＡＴＡＲＣ３データブロックという順に結合されてしまい属性ファイルが１つのファイルに２つ存在するという問題点が生じる。
【０１８０】
そこで、この発明は、図３５Ｂに示すように結合処理をする際に後続のファイル（この実施形態ではファイルＭＡＮ．ＭＳＡ）の属性ファイルを削除して、ファイルＣＡＴ．ＭＳＡに対する属性ファイルブロック、ＣＡＴ．ＭＳＡに対する複数のＡＴＡＲＣ３データブロック、ファイルＭＡＮ．ＭＳＡに対する複数のＡＴＡＲＣ３データブロックという順で並べる。
【０１８１】
再生管理ファイルの編集
さらに、上述した図１１の再生管理ファイルＰＢＬＩＳＴに関しても、ファイルを連結することで総トラック数がひとつ減るのでＴ―ＴＲＫを編集すると共に、ＴＲＫ−００１からＴＲＫ−４００の前詰めの処理を行う。
【０１８２】
結合編集処理の手順
図３６にファイル結合時の編集処理の手順を示す。ステップＳＰ２０１にて、ユーザが結合したい２つのファイルを所定の操作で選択する。上述した実施形態の場合にはＣＡＴ．ＭＳＡとＭＡＮ．ＭＳＡという２つのファイルである。次にステップＳＰ２０２にて、上述した手順でＦＡＴの連結状態を編集する。次に、ステップＳＰ２０３にて、サブディレクトリから後方に連結されるファイル名を削除すると共に、ステップＳＰ２０４にて、データ領域から後方に連結されるファイル名を削除する。
【０１８３】
ステップＳＰ２０５にて、後方に連結されるＡＴＲＡＣ３データファイルの属性ファイルに基づいて前方に位置するＡＴＲＡＣデータファイルの更新を行う。詳細は上述したように総パーツ数Ｔ−ＰＲＴを編集すると共に、トータルサウンドユニット数Ｔ−ＳＵの編集を行う。ステップＳＰ２０６にて、後方に連結されるＡＴＲＡＣ３データファイルの属性ファイルを削除する。ステップＳＰ２０７にて、上述した再生管理ファイル中のＴ−ＴＲＫ、ＴＲＫ−ＸＸＸの編集処理を行う。
【０１８４】
この手順の一例では、ＦＡＴの編集、属性ファイルの編集、再生管理ファイルの編集という手順で説明したが当然これらの手順は入れ替わってもよい。
【０１８５】
分割処理
この実施形態では、２つのファイルを結合するためのコンバイン処理に関して説明したが、１つのファイルを所定位置で分割する際の分割処理に関して以下に説明する。
【０１８６】
ＦＡＴ上での分割編集処理
図３７は、上述した図６に示した３つのファイルのうちからＣＡＴ. ＭＳＡを分割処理を説明するためのメモリマップである。ＣＡＴ．ＭＳＡをクラスタ６とクラスタ７を境界に分割処理操作がユーザによって行われたとする。分割処理操作によってＣＡＴ１. ＭＳＡとＣＡＴ２. ＭＳＡという２つのファイルが作成されたとする。
【０１８７】
まず、以前クラスタ２０２に記録されているＭＡＮ．ＭＳＡをクラスタ２０３に移動し、同様にクラスタ２０１に記録されているＤＯＧ．ＭＳＡをクラスタ２０２に移動する。さらに、クラスタ２００のファイルネームをＣＡＴ１とユーザが入力し、そのＣＡＴ１に識別子ＭＳＡを付与したＣＡＴ１．ＭＳＡをクラスタ２００に記録する。同様に、分割処理されたクラスタ２０１のファイルネームをＣＡＴ２とユーザが入力し、そのＣＡＴ２に識別子ＭＳＡを付与したＣＡＴ２．ＭＳＡをクラスタ２０１に記録する。
【０１８８】
次に、サブディレクトリに記録されていたＣＡＴ．ＭＳＡをＣＡＴ１．ＭＳＡに書き換えると共に、未使用スロットにＣＡＴ２．ＭＳＡを追加する。追加されたＣＡＴ２．ＭＳＡが記録されているスロットには、分割されたＣＡＴ２．ＭＳＡが記録されているクラスタ番号「７」が終端に記録される。次に、サブディレクトリのＣＡＴ１．ＭＳＡスロットが指し示すＦＡＴ上の終点をクラスタ６になるように、クラスタ６のエントリーアドレスを「ＦＦＦ」に書き換える。以上が分割処理時のＦＡＴ上での編集手順である。
【０１８９】
属性ヘッダの編集
さらに、編集されるファイルが２分割された場合には分割された後方のファイルに属性ファイルを付加するために属性ファイルの生成を行わなければならない。
【０１９０】
以下、図３８を用いて説明を行う。上述した図３５と同様に、図３８は、論理アドレスから物理アドレスへ変換した後のメモリマップであると共に、各パーツは本来離散的にメモリ上に記録されているが説明を簡略化するために連続的に配置してある。
【０１９１】
図３８Ａに示すようにＣＡＴ．ＭＳＡの属性ファイルには総サウンドユニット数Ｔ−ＳＵ：１７０、トータルパーツ数Ｔ−ＰＲＴ：５、コンテンツキー、ＭＡＣ、および各パーツに対応するパーツサイズＰＲＴＳＩＺＥとパーツキーＰＲＴＫＥＹ、コンテンツ累積番号ＣＯＮＮＵＭ０が管理されている。ファイルＣＡＴ．ＭＳＡに対してユーザが所定のポイントで分割指示を行ったとする。例えば図３８Ａのパーツ３とパーツ４の境界でユーザによって分割指示が行われたとする。
【０１９２】
属性ファイルの内容を以下のように更新をする。具体的に更新する内容としては、曲を分割することで、単一ファイルを構成するパーツ数が減少するので、属性ファイルに含まれるＴ−ＰＲＴを編集すると共に、トータルサウンドユニット数もファイルを分割することで減少するのでＴ−ＳＵも編集する。すなわち、図３８Ｂに示すように、分割後に前方に位置するＣＡＴ１．ＭＳＡの総サウンドユニット数がＴ−ＳＵ：１００に書き換えられると共に、ＣＡＴ２．ＭＳＡの総パーツ数がＴ−ＰＲＴ：３に書き換えられる。さらに、分割処理に伴い、コンテンツキー、著作権改ざんチェック値ＭＡＣ、および各パーツに対応するパーツキーＰＲＴＫＥＹを書き換える。
【０１９３】
さらに、分割処理された後方に位置するＣＡＴ２．ＭＳＡに対して属性ファイルを新規に作成する。新規に作成する属性ファイルに関しては、総サウンドユニット数Ｔ−ＳＵ：７０、総パーツ数Ｔ−ＰＲＴ：２に書き換えられる。さらに、分割処理に伴い、コンテンツキー、著作権改ざんチェック値ＭＡＣ、および各パーツに対応するパーツキーＰＲＴＫＥＹを書き換える。
【０１９４】
再生管理ファイルの編集
また、分割処理時の再生管理ファイルＰＢＬＩＳＴの編集方法を以下で説明する。分割処理時にはファイル数が２分割の場合には１つ増加するのでトラック総数を表すＴ−ＴＲＫを１増加させる。さらに、分割処理された曲以降の曲番号をシフトするためにＴＲＫ−ＸＸＸ（ＸＸＸ：００１から４００の整数）のテーブルの編集も行う。
【０１９５】
分割処理の手順
図３９に分割処理時の手順を示す。ユーザは、ステップＳＰ３０１で分割処理をしたいファイルを選択してファイルの演奏を行いながら分割ポイントを所定の操作を行い選択する。次に、ステップＳＰ３０２にて、ＦＡＴ上の連結状態を上述のように編集処理する。さらに、ステップＳＰ３０３にて、Ｓｕｂ  Ｄｉｒｅｃｔｏｒｙから分割処理されたデータファイルの後方に位置するデータファイルのファイル名を追加する。
【０１９６】
さらに、ステップＳＰ３０４にて、データ領域に分割処理されたデータファイルの後方に位置するデータファイルのファイル名を追加する。ファイル名はユーザによって操作キーにて入力された名前である。続いて、ステップＳＰ３０５にて、分割ポイントの前方に位置するデ−タファイルの属性ファイルを編集すると共に、ステップＳＰ３０６にて、分割点を基準に後続するデータファイルに付加する属性ファイルも生成する。新規属性ファイルの作成の仕方および分割処理されたファイルの分割ポイントに基づいて属性ファイルの編集は上述した通りである。次に、ステップＳＰ３０７にて、再生管理ファイルＰＢＬＳＩＴの編集を行う。
【０１９７】
この手順の一例では、ＦＡＴの編集、属性ファイルの編集、再生管理ファイルの編集という手順で説明したが当然これらの手順は入れ替わってもよい。
【０１９８】
この発明は、メモリカードに記録されているデータファイル（ＡＴＲＡＣ３ファイル）の編集操作ができるものである。以下、図２５〜図３２を参照して説明したトラック管理ファイルＴＲＫＬＩＳＴに基づいて編集操作、例えばコンバイン、デバイドに関連する部分をより詳細に説明する。ただし、以下の説明は、ＡＴＲＡＣ３データファイルの属性ヘッダ中のトラック情報領域ＴＲＫＩＮＦおよびパーツ情報領域ＰＲＴＩＮＦに関連する部分を使用しても同様に適用することができる。
【０１９９】
ここで、それぞれ１つのパーツから構成される２つのトラックＡおよびＢを１つにするコンバイン（図１０Ｂ参照）について、図４０に示すフローチャートを用いて説明する。ステップＳＰ４０１では、連結される後続のトラックＢのパーツ情報領域ＰＲＴＩＮＦ１個を、トラックＡのパーツ情報領域ＰＲＴＩＮＦの下に移動させる。その結果、トラック情報管理ファイルＴＲＫＬＩＳＴでは、トラックＡのトラック情報領域ＴＲＫＩＮＦ、トラックＡのパーツ情報領域ＰＲＴＩＮＦ、トラックＢのパーツ情報領域ＰＲＴＩＮＦ、トラックＢのトラック情報領域ＴＲＫＩＮＦの順に並べられる。
【０２００】
ステップＳＰ４０２では、トラックＢのＡＴＲＡＣ３データファイルのＦＡＴのチェーンをトラックＡのＡＴＲＡＣ３データファイルのＦＡＴのチェーンの後ろに接続させる。ステップＳＰ４０３では、トラックＢのトラック情報領域ＴＲＫＩＮＦがトラック情報管理ファイルＴＲＫＬＩＳＴから削除される。よって、トラックＡのトラック情報領域ＴＲＫＩＮＦ、トラックＡのパーツ情報領域ＰＲＴＩＮＦ、トラックＢのパーツ情報領域ＰＲＴＩＮＦの順に並べられる。ステップＳＰ４０４では、トラックＢの音のファイルがディレクトリから削除される。ステップＳＰ４０５では、トラックＡのトラック情報領域ＴＲＫＩＮＦの曲を構成するパーツ数を示すＰ−ｎｎｎが１から１＋１＝２へ変更される。
【０２０１】
そして、これに伴いキーの値も変更される。元のトラックＡのコンテンツキーをＫＣ＿Ａとし、元のトラックＢのコンテンツキーをＫＣ＿Ｂとする。同じく元のトラックＡのパーツキーをＫＰ＿Ａとし、元のトラックＢのパーツキーをＫＰ＿Ｂとする。
【０２０２】
ステップＳＰ４０６では、コンバインの後、新たにできたトラックＮのコンテンツキーがＫＣ＿Ｎとして生成され、ＣＯＮＮＵＭも同時に新規に生成される。ステップＳＰ４０７では、新しいパーツキーが生成される。新しいパーツキーは、ＫＣ＿ＡとＫＰ＿ＡとＫＣ＿Ｎとの排他的論理和（ＸＯＲ）によって生成される。ステップＳＰ４０８では、後ろのパーツキー、すなわち元のトラックＢのパーツ情報領域ＰＲＴＩＮＦ用のパーツキーが生成される。この後ろのパーツキーは、新しいパーツキーと同様に、ＫＣ＿ＢとＫＰ＿ＢとＫＣ＿Ｎとの排他的論理和（ＸＯＲ）によって生成される。
【０２０３】
ステップＳＰ４０９では、新しいトラックＮのコンテンツキーＫＣ＿Ｎがメモリカードのストレージキーで暗号化され、トラック情報領域ＴＲＫＩＮＦのＣＯＮＴＥＮＴＳ  ＫＥＹ−ｎｎｎに保存される。また、ＣＯＮＮＵＭはそのままトラック情報領域ＴＲＫＩＮＦのＣＯＮＮＵＭ−ｎｎｎに保存され、各パーツキーもそのままパーツ情報領域ＰＲＴＩＮＦのＰＲＴＫＥＹ−ｎｎｎに保存される。
【０２０４】
次に、１つのパーツから構成されるトラックＡを２つのトラックＡおよびＢに分割するデバイド（図１０Ｃ参照）について、図４１に示すフローチャートを用いて説明する。ステップＳＰ５０１では、まず分割点がＳＵの単位で決定される。ステップＳＰ５０２では、新しいトラックＡのパーツ情報領域ＰＲＴＩＮＦのＰＲＴＳＩＺＥが変更される。具体的には、先頭（スタートＳＵ）から分割点（エンドＳＵ）までのクラスタ数を数え、そのクラスタの中の分割点のＳＵの位置まで、すなわちクラスタサイズ、スタートＳＵ、エンドＳＵが変更され、新しいトラックＡのパーツ情報領域ＰＲＴＩＮＦのＰＲＴＳＩＺＥに登録される。
【０２０５】
ステップＳＰ５０３では、新しいトラックＡの最後のクラスタ部分である分割点を含む１クラスタが完全に複写され、複写されたクラスタを新しいトラックＢの先頭のパーツとする。ステップＳＰ５０４では、新たに生成されたトラックＢの総パーツ数がトラックＢのトラック情報領域ＴＲＫＩＮＦの曲を構成するパーツ数を示すＰ−ｎｎｎに保存される。ここでは、分割点以降のクラスタがそのまま２つ目のパーツ、すなわち新たに生成されたトラックＢとなり、新たに生成されたトラックＢの総パーツが数えられる。ステップＳＰ５０５では、新しい音のファイル番号ＦＮＷ−ｎｎｎが生成され、トラック情報領域ＴＲＫＩＮＦのＦＮＷ−ｎｎｎに保存される。
【０２０６】
ステップＳＰ５０６では、新しいトラックＢのトラック情報領域ＴＲＫＩＮＦおよびパーツ情報領域ＰＲＴＩＮＦの２つが、トラック情報管理ファイルＴＲＫＬＩＳＴの中の新しいトラックＡのパーツ情報領域ＰＲＴＩＮＦの後ろ部分に追加される。元のトラックＡの後ろに存在したトラックのトラック情報領域ＴＲＫＩＮＦおよびパーツ情報領域ＰＲＴＩＮＦは、全てこの追加されたトラックＢのトラック情報領域ＴＲＫＩＮＦおよびパーツ情報領域ＰＲＴＩＮＦの分だけ、後ろにずれることになる。
【０２０７】
ステップＳＰ５０７では、新しいトラックＡのＡＴＲＡＣ３データファイルのＦＡＴのチェーンを分割点までとする変更が行われる。ステップＳＰ５０８では、新しくトラックＢが増えたのでディレクトリにＡＴＲＡＣ３データファイルＢが追加される。ステップＳＰ５０９では、新たに出来たトラックＢのＡＴＲＡＣ３データファイル用のＦＡＴのチェーンは、複写された分割点を含む１クラスタを先頭に元のトラックＡの残りの部分、すなわち分割点を含むクラスタ以降のクラスタのチェーンが後ろに接続される。
【０２０８】
そして、新しいトラックＢの追加によりキーの値も追加される。新しいトラックＡのキーの値は、変更しない。
【０２０９】
ステップＳＰ５１０では、デバイドの後、新たにできたトラックＢのコンテンツキーＫＣ＿Ｂが生成され、ＣＯＮＮＵＭも同時に新規に生成される。ステップＳＰ５１１では、新しいトラックＢのパーツキーＫＰ＿Ｂが生成される。新しいトラックＢのパーツキーは、元のＫＣ＿ＡとＫＰ＿ＡとＫＣ＿Ｂとの排他的論理和（ＸＯＲ）によって生成される。
【０２１０】
ステップＳＰ５１２では、新しいトラックＢのコンテンツキーＫＣ＿Ｂがメモリカードのストレージキーで暗号化され、トラック情報領域ＴＲＫＩＮＦのＣＯＮＴＥＮＴＳ  ＫＥＹ−ｎｎｎに保存される。また、ＣＯＮＮＵＭはそのままトラック情報領域ＴＲＫＩＮＦのＣＯＮＮＵＭ−ｎｎｎに保存され、各パーツキーもそのままパーツ情報領域ＰＲＴＩＮＦのＰＲＴＫＥＹ−ｎｎｎに保存される。
【０２１１】
このように、コンバインおよびデバイドなどの編集操作を行っても、トラック情報管理ファイルＴＲＫＬＩＳＴ．ＭＳＦの内容は、ＡＴＲＡＣ３データファイルの順番と同じ順番でトラック情報領域ＴＲＫＩＮＦおよびパーツ情報領域ＰＲＴＩＮＦが並べられる。すなわち、リンクＰとは異なり、編集後の１つのファイルのトラック情報領域ＴＲＫＩＮＦおよびパーツ情報領域ＰＲＴＩＮＦのリンク先がランダムにならず、連続的に配置することができる。
【０２１２】
また、説明は省略するが、イレーズ、ムーブの編集操作を行った場合も、ＡＴＲＡＣ３データファイルの順番と同じ順番でトラック情報領域ＴＲＫＩＮＦおよびパーツ情報領域ＰＲＴＩＮＦが並べられる。
【０２１３】
【発明の効果】
この発明に依れば、データファイルはＦＡＴシステムで管理するが、そのデータファイルを構成するクラスタおよびサウンドユニットはパーツという単位で管理するので、メモリの小さなＣＰＵでも容易に管理することができる。そして、データファイルの情報が記述されたトラック情報領域ＴＲＫＩＮＦと、そのトラック情報領域ＴＲＫＩＮＦに記述されたパーツに関するパーツ情報領域ＰＲＴＩＮＦとを隣接するという単純な方法でＭＤの採用されたＬｉｎｋ−Ｐの難しさを解決している。さらに、ＦＡＴシステムと属性ファイルと再生管理ファイルという３種類の管理データでデータファイルを管理するようにしたのでＦＡＴシステムが破壊されても離散的にメモリに存在するパーツをトレースすることができＦＡＴの修復も可能になる。
【０２１４】
また、フラッシュメモリには、独自のページという単位があるので、ＭＤで採用されているＬｉｎｋ−Ｐのようにリンク先がランダムになり何ページにもわたるページのアクセスが必要がない。
【図面の簡単な説明】
【図１】この発明の不揮発性メモリカードを使用したデジタルオーディオレコーダ／プレーヤーに関するブロック図である。
【図２】この発明に適応されるＤＳＰの内部ブロック図を示す。
【図３】この発明に適応されるメモリカードの内部ブロック図を示す。
【図４】この発明に適応されるメモリカードを記憶媒体とするファイル管理構造を示す模式図である。
【図５】この発明に適応されるメモリカード内のフラッシュメモリのデータの物理的構造を示す。
【図６】この発明に適応されるメモリカード内のデータ構造を示す、
【図７】メモリカード内に記憶されるファイル構造を示す枝図面である。
【図８】メモリカード内に記憶されるサブディレクトリーである再生管理ファイルＰＢＬＩＳＴ. ＭＳＦのデータ構造を示す。
【図９】連続した１つのＡＴＲＡＣ３データファイルを所定単位長ごとに分割するとともに属性ファイルを付加した場合のデータ構造図である。
【図１０】この発明のコンバイン編集処理および分割編集処理を説明するための構造図である。
【図１１】再生管理ファイルＰＢＬＩＳＴのデータ構造図を示す。
【図１２】再生管理ファイルＰＢＬＩＳＴのデータ構造図を示す。
【図１３】付加情報データの種類の対応表を示す。
【図１４】付加情報データの種類の対応表を示す。
【図１５】付加情報データの種類の対応表を示す。
【図１６】付加情報データのデータ構造を示す。
【図１７】ＡＴＲＡＣ３データファイルの詳細なデータ構造図である。
【図１８】ＡＴＲＡＣ３データファイルを構成する属性ヘッダーの上段のデータ構造図である。
【図１９】ＡＴＲＡＣ３データファイルを構成する属性ヘッダーの中段のデータ構造図である。
【図２０】録音モードの種類と各録音モードにおける録音時間等を示す表である。
【図２１】コピー制御状態を示す表である。
【図２２】ＡＴＲＡＣ３データファイルを構成する属性ヘッダーの下段のデータ構造図である。
【図２３】ＡＴＲＡＣ３データファイルのデータブロックのヘッダーのデータ構造図である。
【図２４】この発明におけるＦＡＴ領域が破壊された場合の回復方法を示すフローチャートである。
【図２５】メモリカード４０内に記憶されるファイル構造を示す第２の実施形態における枝図面である。
【図２６】トラック情報管理ファイルＴＲＫＬＩＳＴ．ＭＳＦとＡＴＲＡＣ３データファイルＡ３Ｄｎｎｎｎｎ．ＭＳＡとの関係を示す図である。
【図２７】トラック情報管理ファイルＴＲＫＬＩＳＴ．ＭＳＦの詳細なデータ構造を示す。
【図２８】名前を管理するＮＡＭＥ１の詳細なデータ構造である。
【図２９】名前を管理するＮＡＭＥ２の詳細なデータ構造である。
【図３０】ＡＴＲＡＣ３データファイルＡ３Ｄｎｎｎｎｎ．ＭＳＡの詳細なデータ構造を示す。
【図３１】付加情報を示すＩＮＦＬＩＳＴ. ＭＳＦの詳細なデータ構造を示す。
【図３２】付加情報データのを示すＩＮＦＬＩＳＴ. ＭＳＦの詳細なデータ構造を示す。
【図３３】この発明の第２の実施形態におけるＦＡＴ領域が破壊された場合の回復方法を示す遷移図である。
【図３４】メモリマップ構造の所定ファイル同士を結合処理した際の遷移を説明するためのメモリマップ図である。
【図３５】結合編集処理の説明に用いるメモリマップ図である。
【図３６】第１の実施形態で結合処理を説明するためのフローチャートである。
【図３７】メモリマップ構造の所定ファイルを分割処理した際の遷移を説明するためのメモリマップ図である。
【図３８】結合編集処理の説明に用いるメモリマップ図である。
【図３９】第１の実施形態で分割処理を説明するためのフローチャートである。
【図４０】第２の実施形態で結合処理を説明するためのフローチャートである。
【図４１】第２の実施例で分割処理を説明するためのフローチャートである。
【図４２】従来の光磁気ディスクに離散的に存在する記録可能領域を管理するためのＵ−ＴＯＣ（User-Table of Content ）の１つのパーツの管理形態を示す図である。
【符号の説明】
１０・・・オーディオエンコーダ／デコーダＩＣ、２０・・・セキュリティＩＣ、３０・・・ＤＳＰ、４０・・・メモリカード、４２・・・フラッシュメモリ、５２・・・セキュリティブロック、ＰＢＬＩＳＴ・・・再生管理ファイル、ＴＲＫＬＩＳＴ・・・トラック情報管理ファイル、ＩＮＦＬＩＳＴ・・・付加情報管理ファイル、Ａ３Ｄｎｎｎ・・・オーディオデータファイル
【図１】
0004135049.tif 000002
【図２】
0004135049.tif 000003
【図３】
0004135049.tif 000004
【図４】
0004135049.tif 000005
【図５】
0004135049.tif 000006
【図６】
0004135049.tif 000007
【図７】
0004135049.tif 000008
【図８】
0004135049.tif 000009
【図９】
0004135049.tif 000010
【図１０】
0004135049.tif 000011
【図１１】
0004135049.tif 000012
【図１２】
0004135049.tif 000013
【図１３】
0004135049.tif 000014
【図１４】
0004135049.tif 000015
【図１５】
0004135049.tif 000016
【図１６】
0004135049.tif 000017
【図１７】
0004135049.tif 000018
【図１８】
0004135049.tif 000019
【図１９】
0004135049.tif 000020
【図２０】
0004135049.tif 000021
【図２１】
0004135049.tif 000022
【図２２】
0004135049.tif 000023
【図２３】
0004135049.tif 000024
【図２４】
0004135049.tif 000025
【図２５】
0004135049.tif 000026
【図２６】
0004135049.tif 000027
【図２７】
0004135049.tif 000028
【図２８】
0004135049.tif 000029
【図２９】
0004135049.tif 000030
【図３０】
0004135049.tif 000031
【図３１】
0004135049.tif 000032
【図３２】
0004135049.tif 000033
【図３３】
0004135049.tif 000034
【図３４】
0004135049.tif 000035
【図３５】
0004135049.tif 000036
【図３６】
0004135049.tif 000037
【図３７】
0004135049.tif 000038
【図３８】
0004135049.tif 000039
【図３９】
0004135049.tif 000040
【図４０】
0004135049.tif 000041
【図４１】
0004135049.tif 000042
【図４２】
0004135049.tif 000043