CD-Rなどの光学メディアにおいて、一度書き込んだディスクに後からデータを追加できる「マルチセッション」機能は、利便性を大きく向上させました。この動作を規定しているのがISO 13490という規格です。本記事では、標準的なISO 9660形式との違いや、データの更新・削除が物理的にどのように処理されているかを詳しく解説します。
Key Facts
- ISO 13490は、CD-R上のマルチセッション・ボリュームを読み取るためのルールを定義している。
- 最新のセッションにあるボリューム記述子(ディレクトリ情報)を優先的に読み込む仕組みである。
- ファイルの「削除」は仮想的なものであり、物理的なデータはディスクに残る。
- 書き込みソフトやドライブの仕様により、モード1形式のマルチセッションは互換性に問題が出る場合がある。
マルチセッションの動作メカニズム
通常のISO 9660規格では、ディスクの開始位置から32,768バイト目(セクタ番号16)にあるボリューム記述子を参照してデータを読み取ります。しかし、ISO 13490ではこのルールが変更されています。プログラムはディスクの先頭ではなく、最新のセッションの第1トラックにある16番目のセクタから読み取りを開始します。
セクタ番号は、最初のセッションから始まり、追加されたセッションやその間のギャップをまたいで連続的に割り当てられます。これにより、OSは常に最新の状態を反映したディレクトリ構造にアクセスすることが可能になります。
データの追加とディレクトリの更新
既存のISO 9660ボリュームを持つCD-Rに新しいファイルを追加する場合、単にファイルだけを書き込むことはできません。最新のセッションとして、更新されたディレクトリツリー全体と、新しく追加するファイルの双方を書き込む必要があります。この際、重複して作成されたディレクトリエントリは、以前のセッションに保存されている既存のデータファイルをそのまま参照し続けます。
データの更新と「仮想的な削除」の正体
ファイルの更新や削除も、同様の仕組みで実現されています。重要なのは、CD-Rの物理的な特性上、一度書き込まれたデータを消去することはできないという点です。
ファイルを削除した場合、最新のセッションで作成されるディレクトリツリーからそのファイルへの参照が外されます。ユーザーの画面上ではファイルが消えたように見えますが、これは仮想的な削除に過ぎません。物理的なデータはディスク上に残っているため、専用のツールを使えば復元が可能です。また、この消えなかったデータが容量を占有し続けるため、見た目上の空き容量があるにもかかわらず、ディスクが満杯になるという現象が起こります。
互換性とサポートの制限
マルチセッション機能は、本来「モード2 フォーム1」形式のディスク向けに設計されていました。しかし、一部の書き込みソフトは「モード1」形式でのマルチセッション書き込みをサポートしていました。このため、古いドライブの中にはモード1のマルチセッションに対応していないものがあり、2回目以降のセッションが読み取れないという互換性問題が発生していました。
また、ソフトウェア側の制約もありました。例えば初期のNero Burning ROMなどのソフトでは、挿入されたディスクから以前のセッションデータをインポートできない仕様がありました。その結果、同じコンピュータで書き込みを行い、かつソフト終了前にセッションデータを保存していた場合に限り、後続のセッションを書き込めるという制限がありました。
仕様まとめ
| 項目 | ISO 9660 (シングル) | ISO 13490 (マルチ) |
|---|---|---|
| 読み取り開始位置 | ディスク先頭のセクタ16 | 最新セッションのセクタ16 |
| データ追加方法 | 不可(一度に書き込み) | 新セッションにディレクトリツリーを再書き込み |
| 削除の仕組み | 不可 | ディレクトリ参照の削除(物理データは保持) |
| 主なフォーマット | 標準的な形式 | 主にモード2 フォーム1(一部モード1) |
Frequently Asked Questions
ISO 13490とは具体的にどのような規格ですか?
CD-Rなどのメディアで、複数のセッションに分けてデータを書き込む「マルチセッション」形式のボリュームを、OSがどのように読み取るべきかを定義したルールです。
ファイルを削除してもディスク容量が増えないのはなぜですか?
マルチセッションでの削除は、ディレクトリから項目を消すだけの「仮想的な削除」だからです。物理的なデータはディスクに残ったままであり、上書きできないCD-Rの特性上、容量は解放されません。
モード1とモード2のどちらがマルチセッションに適していますか?
本来はモード2 フォーム1向けに設計されています。モード1でマルチセッション書き込みを行った場合、古いドライブでは2セッション目以降が認識されないなどの互換性問題が発生する可能性があります。
以前のセッションにあるファイルはどうやって参照されるのですか?
最新のセッションに書き込まれた新しいディレクトリツリーの中に、過去のセッションにあるデータ領域を指し示すエントリが含まれているため、一連のファイルとしてアクセスできます。
古い書き込みソフトでマルチセッションができない理由は?
一部の古いソフトは、ディスク内の既存セッション情報を正しくインポートできなかったためです。そのため、同一PCでセッション情報を保持したまま書き込みを続ける必要がありました。