(57)【要約】情報記録媒体（１００）は、データ処理装置からデータの書き込み、読み出しが可能な記録媒体である。情報記録媒体（１００）は、データ処理装置（２００）との間で通信を行うホストインタフェース部（１１０）と、データを格納するための複数の記録領域（＃１、…、＃Ｎ）を有するデータ格納部（１３０）と、データ格納部の各記録領域に関する情報を格納する領域情報格納部（１２４）とを備える。領域情報格納部（１２４）は、データ格納部（１３０）の各記録領域のアドレス属性に関する情報を格納する。アドレス属性に関する情報は、記録領域へのアクセス時に指定されるアドレスの単位（セクタ単位またはバイト単位）を示す情報である。【特許請求の範囲】
【請求項１】
データ処理装置からデータの書き込み、読み出しが可能な記録媒体であって、
前記データ処理装置との間で通信を行うホストインタフェース部と、
データを格納するための複数の記録領域を有するデータ格納部と、
該データ格納部の各記録領域に関する情報を格納する領域情報格納部とを備え、
前記領域情報格納部は、前記データ格納部の各記録領域のアドレス属性に関する情報を格納する
ことを特徴とする記録媒体。
【請求項２】
前記アドレス属性とは、記録媒体の記録領域へのアクセス時にデータ処理装置から指定されるアドレスの単位を示すことを特徴とする請求項１記載の記録媒体。
【請求項３】
前記アドレスの単位はセクタまたはバイトであることを特徴とする請求項２記載の記録媒体。
【請求項４】
前記データ処理装置からデータの書き込みまたは読み出しを指示するコマンドを前記ホストインタフェース部を介して受信し、そのコマンド中にアクセス範囲を示すアドレスが指定されている場合に、前記コマンドに指定されたアドレスの単位を前記領域情報格納部に格納されたアドレス属性に基づいて判断する制御手段をさらに備えたことを特徴とする請求項２記載の記録媒体。
【請求項５】
前記データ格納部内の各記録領域は、各記録領域に応じたファイルシステムにより格納データが管理されることを特徴とする請求項１記載の記録媒体。
【請求項６】
前記領域情報格納部は、さらに、前記ホストインタフェース部が受信するコマンドのコマンドセットの種類に関する情報を格納することを特徴とする請求項１記載の記録媒体。
【請求項７】
前記領域情報格納部は、さらに、前記ホストインタフェース部が受信するコマンドのフォーマットの種類に関する情報を格納することを特徴とする請求項１記載の記録媒体。
【請求項８】
前記データ格納部内において前記データ処理装置からアクセス可能な記録領域を設定するコマンドを前記ホストインタフェース部を介して前記データ処理装置から受信し、アクセス可能に設定する記録領域のアドレス属性が前記コマンドにおいて指定される場合に、前記受信したコマンドにしたがい、前記領域情報格納部においてアクセス可能な領域を設定するとともに、その設定したアクセス可能な領域のアドレス属性を変更する制御手段をさらに備えたことを特徴とする請求項１記載の記録媒体。
【請求項９】
前記データ処理装置から、前記データ格納部における記録領域のサイズを変更するコマンドを前記ホストインタフェース部を介して受信したときに、そのコマンドにしたがい記録領域のサイズを変更するとともに、変更した記録領域のアドレス属性を変更後の記録領域のサイズに応じて決定し、該決定したアドレス属性を用いて前記領域情報格納部を更新する制御手段をさらに備えたことを特徴とする請求項１記載の記録媒体。
【請求項１０】
データを格納するデータ格納領域を有し、該データ格納領域に対して外部よりデータの書き込み、読み出しが可能な記録媒体の制御方法において、
前記記録媒体のデータ格納領域を複数の記録領域に分割し、
分割した各記録領域に関する情報である領域情報を記録媒体中の所定の領域に格納し、
該領域情報は各記録領域のアドレス属性に関する情報を含む
ことを特徴とする記録媒体の制御方法。
【請求項１１】
前記アドレス属性とは、記録媒体の記録領域へのアクセス時に指定されるアドレスの単位を示すことを特徴とする請求項１０記載の記録媒体の制御方法。
【請求項１２】
前記アドレスの単位はセクタまたはバイトであることを特徴とする請求項１１記載の記録媒体の制御方法。
【請求項１３】
データの書き込みまたは読み出しを指示するコマンドであって、該コマンド中にアクセス範囲を示すアドレスが指定されたコマンドを受信し、
該受信したコマンド中に指定されたアドレスの単位を、前記格納しているアドレス属性に基づいて判断してアクセス範囲を特定する
ことを特徴とする請求項１１記載の記録媒体の制御方法。
【請求項１４】
前記各記録領域は、各記録領域に応じたファイルシステムにより格納データが管理されることを特徴とする請求項１０記載の記録媒体の制御方法。
【請求項１５】
前記領域情報は、さらに、受信するコマンドのコマンドセットの種類に関する情報を含むことを特徴とする請求項１０記載の記録媒体の制御方法。
【請求項１６】
前記領域情報は、さらに、受信するコマンドのフォーマットの種類に関する情報を含むことを特徴とする請求項１０記載の記録媒体の制御方法。
【請求項１７】
前記領域情報は、外部よりアクセス可能な記録領域を示す情報を含んでおり、
外部よりアクセス可能な記録領域を設定するコマンドであって、該コマンド中にアクセス可能にする記録領域のアドレス属性が指定されるコマンドを受信し、
前記領域情報において、前記受信したコマンドにしたがい、アクセス可能な記録領域を設定し、その設定されたアクセス可能な記録領域のアドレス属性に関する情報を変更する
ことを特徴とする請求項１０記載の記録媒体の制御方法。
【請求項１８】
前記領域情報は、さらに各記録領域のサイズを含んでおり、
前記記録媒体の記録領域のサイズを変更するコマンドを受信し、
そのコマンドにしたがい記録領域のサイズを変更し、
変更した記録領域のアドレス属性を変更後の記録領域のサイズに応じて決定し、該決定したアドレス属性を用いて前記領域情報を更新する
ことを特徴とする請求項１０記載の記録媒体の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、複数の記録領域を有する情報記録媒体及びそのような記録媒体に対する制御方法に関する。
【背景技術】
【０００２】  音楽コンテンツや動画コンテンツ、静止画コンテンツなどのディジタルデータ（以下、「データ」という。）を記録する記録媒体には、半導体記録媒体、磁気ディスク、光ディスク、光磁気ディスクなど、様々な種類が存在する。特に、半導体記録媒体は小型化・軽量化が図れるという特徴があるために、ディジタルスチルカメラや携帯電話端末などの携帯機器を中心に急速に普及しつつある。代表的な半導体記録媒体として、ＳＤメモリカード（登録商標）、メモリースティック（登録商標）、コンパクトフラッシュ（登録商標）などがある。【０００３】  これら記録媒体の記録領域に格納されるデータの管理は、ファイルシステムにより実現されている。ファイルシステムでは、記録領域を最小アクセス単位であるセクタ、及びセクタの集合であるクラスタに分割して管理し、１つ以上のクラスタをファイルとして管理する。【０００４】  従来使用されているファイルシステムとして、ＦＡＴ（Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ）ファイルシステムが一例に挙げられる（詳細は、非特許文献１参照）。ＦＡＴファイルシステムはＰＣ（パーソナル・コンピュータ）などの情報機器で一般に用いられており、半導体記録媒体においても主流のファイルシステムである。ファイルシステムによりデータ管理された記録媒体は、同一のファイルシステムを解釈する機器間でファイルを共有することができるため、機器間でデータを授受することが可能となる。【０００５】  ＦＡＴファイルシステムは２ＧＢまでの容量しか管理できないため、年々大容量化が進んでいる半導体記録媒体において、ＦＡＴファイルシステム以外のファイルシステムを採用する必要が生じてきている。ＦＡＴファイルシステム以外の、大容量に対応したファイルシステムとしては、ＦＡＴ３２ファイルシステムや、ＵＤＦ（Ｕｎｉｖｅｒｓａｌ  Ｄｉｓｋ  Ｆｏｒｍａｔ）などが存在する。【０００６】  しかしながら、記録媒体のファイルシステムをＦＡＴファイルシステム以外のものに変更すると、従来のＦＡＴファイルシステムに対応した機器は、その記録媒体に対してデータのアクセスができなくなるという問題がある。【０００７】  従来、この問題を解決する方法として、記録媒体に複数のファイルシステム管理情報を格納する領域と、共通のファイルデータを格納する領域とを設ける方法が提案されている（例えば、特許文献１参照）。
【特許文献１】特開平８−２７２５４１号公報
【非特許文献１】ＩＳＯ／ＩＥＣ９２９３、「インフォメイション・テクノロジー−ボリュウム・アンド・ファイル・ストラクチャ・オブ・ディスク・カートリッジ・フォ・インフォメイション（Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ−Ｖｏｌｕｍｅ  ａｎｄ  ｆｉｌｅ  ｓｔｒｕｃｔｕｒｅ  ｏｆ  ｄｉｓｋ  ｃａｒｔｒｉｄｇｅｓ  ｆｏｒ  ｉｎｆｏｒｍａｔｉｏｎ）」、１９９４年
【発明の開示】
【発明が解決しようとする課題】
【０００８】  しかしながら、上記の制御方法では、１つのファイルデータを更新するにあたり、複数のファイルシステム管理情報を同時に更新する必要性があり、単一のファイルシステムにのみ対応した機器では、対応していないファイルシステムの管理情報を更新できないため、ファイルデータを更新できないという問題がある。そこで、記録媒体に複数の記録領域を設け、各記録領域毎に独立したファイルシステムでデータを管理するという方法が考えられる。この方法を用いれば、単一のファイルシステムにのみ対応した機器であっても、その機器が対応可能なファイルシステムによりデータ管理されている記録領域に対しては、ファイルデータを更新することが可能となる。【０００９】  一方、従来のアクセスコマンドにおいて指定されるアドレスはバイト単位で指定される。このため、記録容量の大容量化に伴い、記録媒体のアドレス空間が拡大すると、コマンドフォーマットにおけるアドレス領域のビット幅が不足し、アドレスを適切に表現できず、広いアドレス空間に対してアクセスできないという問題がある。【００１０】  本発明では上記問題点に鑑み、複数の記録領域を切替えることにより複数のファイルシステムへ対応可能な記録媒体であって、広いアドレス空間に対してアドレス指定を可能とする記録媒体及びそのような記録媒体に対する制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】  本発明に係る情報記録媒体は、データ処理装置からデータの書き込み、読み出しが可能な記録媒体である。情報記録媒体は、データ処理装置との間で通信を行うホストインタフェース部と、データを格納するための複数の記録領域を有するデータ格納部と、データ格納部の各記録領域に関する情報を格納する領域情報格納部とを備える。領域情報格納部は、データ格納部の各記録領域のアドレス属性に関する情報を格納する。【００１２】  アドレス属性とは、記録媒体の記録領域へのアクセス時にデータ処理装置から指定されるアドレスの単位であってもよい。アドレスの単位は例えばセクタまたはバイトである。【００１３】  情報記録媒体は、データ処理装置からデータの書き込みまたは読み出しを指示するコマンドをホストインタフェース部を介して受信し、そのコマンド中にアクセス範囲を示すアドレスが指定されている場合に、コマンドに指定されたアドレスの単位を前記領域情報格納部に格納されたアドレス属性に基づいて判断する制御手段をさらに備えてもよい。【００１４】  データ格納部内の各記録領域は、各記録領域に応じたファイルシステムにより格納データが管理されてもよい。【００１５】  領域情報格納部は、さらに、ホストインタフェース部が受信するコマンドのコマンドセットの種類に関する情報を格納してもよい。また、領域情報格納部は、ホストインタフェース部が受信するコマンドのフォーマットの種類に関する情報を格納してもよい。【００１６】  情報記録媒体は、データ格納部内においてデータ処理装置からアクセス可能な記録領域を設定するコマンドをホストインタフェース部を介してデータ処理装置から受信し、アクセス可能に設定する記録領域のアドレス属性がコマンドにおいて指定される場合に、受信したコマンドにしたがい、領域情報格納部においてアクセス可能な領域を設定するとともに、その設定したアクセス可能な領域のアドレス属性を変更する制御手段をさらに備えてもよい。【００１７】  情報記録媒体は、データ処理装置から、データ格納部における記録領域のサイズを変更するコマンドをホストインタフェース部を介して受信したときに、そのコマンドにしたがい記録領域のサイズを変更するとともに、変更した記録領域のアドレス属性を変更後の記録領域のサイズに応じて決定し、決定したアドレス属性を用いて領域情報格納部を更新する制御手段をさらに備えてもよい。【００１８】  本発明に係る情報記録媒体の制御方法は、データを格納するデータ格納領域を有し、データ格納領域に対して外部よりデータの書き込み、読み出しが可能な記録媒体の制御方法である。制御情報は、記録媒体のデータ格納領域を複数の記録領域に分割し、分割した各記録領域に関する情報である領域情報を記録媒体中の所定の領域に格納する。特に、領域情報は各記録領域のアドレス属性に関する情報を含む。
【発明の効果】
【００１９】  本発明によれば、複数の記録領域を有する記録媒体において記録領域毎に各記録領域のアドレスの指定方法を示すアドレス属性を管理する。これにより、アクセスコマンド中で指定されたアドレスの単位を認識でき、広いアドレス空間を指定する際には、データサイズの大きいデータ単位でアドレスを指定し、そうでないときは、データサイズの小さいデータ単位でアドレスを指定することが可能となる。このため、アクセスコマンドのフォーマットのアドレスを指定するビット幅を変更せずに広いアドレス空間の指定が可能となる。つまり、本発明により、狭いアドレス空間を管理する従来のファイルシステムに対するコマンドフォーマットをそのまま、広いアドレス空間を管理するファイルシステムにも適用することが可能となる。
【図面の簡単な説明】
【００２０】
【図１】本発明の記録媒体及びデータ処理装置の構成例を示したブロック図
【図２】データ処理装置の具体的な構成を示した図
【図３】記録媒体の領域情報格納部に格納される情報の一例を示した図
【図４】記録媒体に対するコマンドフォーマットの一例を示した図
【図５】記録媒体における初期化処理を示すフローチャート
【図６】初期化処理後の領域情報格納部の一例を示した図
【図７】データ処理装置における初期化処理及びその後の処理を示すフローチャート
【図８】記録媒体における記録領域切り替え処理を示すフローチャート
【図９】記録領域切り替え処理後の領域情報格納部の一例を示した図
【図１０】データ処理装置における記録領域切り替え処理及びその後の処理を示すフローチャート
【図１１】記録媒体における記録領域切り替え処理の別の例を示すフローチャート
【図１２】記録領域切り替えのためのコマンドデータの例を示した図
【図１３】記録媒体におけるデータ読み出し処理を示すフローチャート
【図１４】データ処理装置におけるデータ読み出し処理を示すフローチャート
【図１５】バイト単位で指定されたデータ範囲と、セクタ単位に変換後のデータ範囲との関係を説明するための図
【図１６Ａ】データ処理装置におけるデータ書き込み処理を示すフローチャート
【図１６Ｂ】データ処理装置におけるデータ書き込み処理を示すフローチャート（図１６Ａのつづき）
【図１７】記録媒体から読み出したセクタ単位でのデータ範囲と、アプリケーションにより指定されたバイト単位でのデータ範囲との関係を説明するための図
【図１８】記録媒体における領域長設定処理を示すフローチャート
【図１９】領域長切り替えのためのコマンドデータ例を示した図
【図２０】記録媒体における領域削除処理を示すフローチャート
【図２１】領域削除のためのコマンドデータの例を示した図
【図２２】コマンドセット番号とコマンドフォーマット番号を格納する領域情報格納部を示した図
【図２３】有効記録領域を切り替えるための物理スイッチを備えた記録媒体を示した図
【符号の説明】
【００２１】  １００  記録媒体
１１０  ホストインタフェース部
１２０  制御部
１２１  コマンド処理部
１２２  アクセス領域判定部
１２３  アドレス決定部
１２４  領域情報格納部
１２５  記録領域アクセス部
１３０  データ格納部
２００  データ処理装置
２１０  記録媒体装着部
２２０  入出力処理部
２３０  データ処理部
【発明を実施するための最良の形態】
【００２２】  以下、添付の図面を参照し、本発明の情報記録媒体及びその制御方法の実施形態について説明する。【００２３】１．記録媒体及びデータ処理装置の構成
図１に、本発明の実施の形態に於ける情報記録媒体及びデータ処理装置の構成を示す。記録媒体１００は、ホストインタフェース部１１０と、制御部１２０と、データ格納部１３０とから構成される。【００２４】  ホストインタフェース部１１０は、記録媒体１００のホスト機器であるデータ処理装置２００と情報の受け渡しをする。【００２５】  データ格納部１３０はデータを格納する手段であり、データ処理装置２００によるデータの読み出し、書き込みが可能な領域を有する。データ格納部１３０は、Ｎ個（Ｎは２以上の整数）の記録領域＃１、＃２、・・・＃Ｎを含む。各記録領域に格納されるデータは、各々の記録領域に応じたファイルシステムによってファイルとして管理される。【００２６】  制御部１２０は記録媒体１００の動作制御を行い、コマンド処理部１２１と、アクセス領域判定部１２２と、アドレス決定部１２３と、領域情報格納部１２４と、記録領域アクセス部１２５とを備える。【００２７】  コマンド処理部１２１は、ホストインタフェース部１１０で受信したデータ処理装置２００からのコマンドの解釈及び実行を行い、必要に応じてその結果をホストインタフェース部１１０経由でデータ処理装置２００に通知する処理を行う。【００２８】  アクセス領域判定部１２２は、コマンド処理部１２１からのアクセス要求に対し、領域情報格納部１２４に格納されている情報に基づき、データ格納部１３０の複数の記録領域の中から、アクセスすべき一つの記録領域を決定する。【００２９】  アドレス決定部１２３は、アクセス領域判定部１２２で決定された一つの記録領域に対し、領域情報格納部１２４に格納されている情報を参照して、アクセスするアドレスを決定する。【００３０】  領域情報格納部１２４は、データ格納部１３０に於ける各記録領域の開始アドレスや領域長、アドレス決定のためのパラメータ等を格納する。【００３１】  記録領域アクセス部１２５は、アクセス領域判定部１２２及びアドレス決定部１２３によって決定された情報に基づき、データ格納部１３０に格納されているデータにアクセスする。【００３２】  前述のように、記録媒体１００は複数の記録領域＃１、＃２、…、＃Ｎを有し、各記録領域＃１、＃２、…、＃Ｎに管理されるデータは各記録領域に対応するファイルシステムにより管理される。記録媒体１００の複数の記録領域の中の１つの領域が選択され、その選択された記録領域に対して、データ処理装置２００によるデータのアクセスが可能となる。以下、記録媒体１００において、このようなデータ処理装置２００によるデータアクセス可能な記録領域を「有効記録領域」という。【００３３】  データ処理装置２００は、記録媒体装着部２１０と、入出力処理部２２０と、データ処理部２３０とから構成される。【００３４】  記録媒体装着部２１０は、記録媒体１００を装着するハードウェアである。【００３５】  入出力処理部２２０は、記録媒体装着部２１０に装着された記録媒体１００に対してコマンドやデータなどの情報の受け渡しを行う。入出力処理部２２０は図２に示すように、入出力処理部２２０の機能を実現するドライバソフトウェア２２１を含む。【００３６】  データ処理部２３０は、記録媒体１００に格納されたデ���タもしくはこれから格納するデータを処理する手段であり、データ処理装置２００の中心的な処理を担う手段である。データ処理部２３０の機能はアプリケーションプログラム２３１とファイルシステム２３２とにより実現される。アプリケーションプログラム２３１は、音声データや画像データを再生するためのプログラム等であり、ファイルシステム２３２に対してデータアクセスに関する要求を行う。【００３７】  ここで、データ処理部２３０の内部でやりとりされるデータのアクセス単位について説明する。アプリケーションプログラム２３１とファイルシステム２３２の間では、データのアクセスはバイト単位で行われる。データ処理部２３０と入出力処理部２２０の間では、データのアクセスはセクタ単位で行われる。入出力処理部２２０のドライバソフトウェア２２１は、記録媒体１００に対し、記録媒体１００の有効記録領域のアドレス属性にしたがいバイト単位またはセクタ単位でアクセスを行う。【００３８】  記録媒体１００の領域情報格納部１２４について説明する。図３に、記録媒体１００の領域情報格納部１２４のデータ構成例を示す。領域情報格納部１２４は、記録媒体１００の記録領域を一意に識別するための番号である「領域識別番号」、記録領域の開始アドレスを示す「開始アドレス」、記録領域の大きさを示す「領域長」、記録領域へのアクセスに使用するアドレスの属性を示す「アドレス属性」、記録領域が有効記録領であるか否かを示す「有効フラグ」を格納しており、これらの情報を１組とした領域情報がデータ格納部１３０内の各記録領域に対応付けられている。つまり、領域情報は記録領域の数だけ格納される。図３の例では、データ格納部１３０はＮ個の記録領域に分割されており、領域情報を有している。１番目の記録領域（記録領域＃１）はデータ格納部１３０の先頭アドレスから１００ＭＢの大きさの領域となる。同様に２番目の記録領域（記録領域＃２）は、データ格納部１３０の先頭から１００ＭＢずれた位置から開始され、大きさ３０ＭＢの領域となる。３番目の記録領域（記録領域＃３）は、データ格納部１３０の先頭から１３０ＭＢずれた位置から開始され、大きさ８ＧＢの領域となり、Ｎ番目の領域は、データ格納部１３０の先頭から１０ＧＢずれた位置から開始され、大きさ６ＧＢの領域となる。【００３９】  また、アドレス属性は、記録媒体１００のデータ格納部１３０に対して、各記録領域へのアクセスを行う際に指定するアドレスがバイト単位で指定されるのか、セクタ単位で指定されるのかを示す情報である。アドレス属性として、バイト単位で指定される場合には”０”が、セクタ単位で指定される場合には”１”が格納される。すなわち、図３の例では、１番目の記録領域のアドレスはバイト単位で、３番目の記録領域のアドレスはセクタ単位で指定される。【００４０】  また、有効フラグは記録媒体１００の各記録領域が有効記録領域であるか否かを示す情報である。すなわち、有効フラグは１番目〜Ｎ番目までの記録領域のうち、どの記録領域が現在、データ処理装置２００からアクセス可能かを示している。図３の例では、１番目の記録領域が現在アクセス可能に設定されている。【００４１】  以上のように、本実施形態では、領域情報格納部１２４において領域毎にアドレス属性を管理している。このアドレス属性を参照することにより、アクセスコマンド中で指定されたアドレスの単位を認識できる。つまり、アクセスコマンドにおいて、広いアドレス空間を指定する際には、データサイズの大きいデータ単位でアドレスを指定し、そうでないときは、データサイズの小さいデータ単位でアドレスを指定することが可能となる。このため、アクセスコマンドのフォーマットのアドレスを指定するビット幅を変更せずに広いアドレス空間の指定が可能となる。つまり、記録媒体１００において記録領域毎に、それに対応するファイルシステムでデータ管理をさせる場合に、容量の小さい記録領域とともに容量の大きい記録領域についても、同じアクセスコマンドのフォーマットでアドレス指定が可能となる。よって、本発明により、狭いアドレス空間を管理する従来のファイルシステムに対するコマンドフォーマットをそのまま、広いアドレス空間を管理するファイルシステムにも適用することができる。【００４２】２．記録媒体及びデータ処理装置の動作
以上のように構成される記録媒体１００及びデータ処理装置２００の動作を以下に説明する。【００４３】  図４（ａ）はデータ処理装置２００が記録媒体１００に対して送信するコマンドのフォーマットの例を示す図である。この例において、コマンドは、４８ビット（＝６バイト）の長さであり、コマンド種別を格納する６ビットの領域と、コマンドの種類に対応した付加情報を格納する３２ビットの領域と、その他の領域とを備えている。その他の領域は、例えば、データの転送方向やエラー訂正を行うための情報を格納する。【００４４】  図４（ｂ）はデータ読み出しのためのＲｅａｄコマンドとデータ書き込みのためのＷｒｉｔｅコマンドに対するコマンドのデータ構成例を示している。コマンド種別には、それぞれ読み出しコマンドまたは書き込みコマンドを示す”Ｒｅａｄ”または”Ｗｒｉｔｅ”を意味する６ビットの情報が格納されている。付加情報には３２ビットのアドレスの値が格納されている。付加情報に指定されるアドレスの値の単位が、バイト単位であるかセクタ単位であるかは、領域情報格納部１２４のアドレス属性によって決定される。３２ビットで表現できるアドレスの上限はバイト単位の場合は４ＧＢとなり、セクタ単位の場合は２ＴＢとなる。【００４５】（記録媒体の初期化処理）
本実施の形態に於ける記録媒体１００の初期化処理について説明する。データ処理装置２００に記録媒体１００が接続されると、データ処理装置２００は記録媒体１００に初期化コマンドを送信し、記録媒体１００の初期化を行う。図５に、記録媒体１００内の初期化処理を示すフローチャートを示す。【００４６】  初期化処理では、まず、記録媒体１００のホストインタフェース部１１０がデータ処理装置２００から初期化コマンドを受け取る（Ｓ４０１）。次に、記録媒体１００内の制御部１２０やデータ格納部１３０を初期化し、記録媒体１００外部からのアクセスが可能な状態にする（Ｓ４０２）。【００４７】  次に、領域情報格納部１２４に含まれる複数の領域情報のうち、１番目にある領域情報に含まれる有効フラグを“１”（有効）に設定する（Ｓ４０３）。そして、１番目の領域情報以外の領域情報に含まれる有効フラグを全て“０”（無効）に設定する（Ｓ４０４）。【００４８】  最後に、初期化処理が完了したことを示すレスポンスを、記録媒体１００のホストインタフェース部１１０経由でデータ処理装置２００に送信する（Ｓ４０５）。【００４９】  上記初期化処理を完了した時点で、記録媒体１００内の領域情報格納部１２４において、図６に示すように、１番目の記録領域にのみ有効フラグが“１”（有効）に設定され、この記録領域のみがデータ処理装置２００によりアクセス可能な状態となる。【００５０】  次に、記録媒体１００に対して初期化処理を行う場合のデータ処理装置２００の処理を説明する。図７に、データ処理装置２００側での、記録媒体１００の初期化のための処理及びその後の処理を示すフローチャートを示す。【００５１】  データ処理装置２００の記録媒体装着部２１０に記録媒体１００が挿入されると、記録媒体１００に電源の供給を開始する（Ｓ４５１）。入出力処理部２２０のドライバソフトウェア２２１は、記録媒体１００に対して、初期化コマンドを発行する（Ｓ４５２）。記録媒体１００は、この初期化コマンドを受けると、前述の図５に示すような初期化処理を行う。その後、データ処理装置２００は記録媒体１００から初期化完了レスポンスを受信する（Ｓ４５３）。【００５２】  次に、入出力処理部２２０は、記録媒体１００の有効記録領域に関するファイルシステムの情報を読み出して、ＲＡＭ等の所定の記録領域（図示せず）に格納する（Ｓ４５４）。以下に、この処理について図６の例を用いて具体的に説明する。【００５３】  図６の例では、初期化処理により記録媒体１００の有効記録領域は領域識別番号が「１」の記録領域（記録領域＃１）に設定され、その記録領域＃１のアドレス属性は「バイト単位」である。記録媒体の各領域のファイルシステムの情報は、その領域の先頭セクタに格納されている。入出力処理部２２０は、記録領域＃１の領域の先頭セクタを読み出すため、バイト単位でアドレスを指定し、記録媒体１００にＲｅａｄコマンドを発行する。入出力処理部２２０は記録媒体１００から先頭セクタのデータを受け取ると、データ処理部２３０に渡す。データ処理部２３０は、先頭セクタのデータを参照し、記録領域＃１を管理するファイルシステムの種類（ＦＡＴ、ＦＡＴ３２等）を判定して、ファイルシステム��管理情報（ＦＡＴテーブル、ルートディレクトリエントリ等）を取得し、ＲＡＭ等の所定の記録領域に格納する。これらの処理において、データ処理部２００のファイルシステム２３２は、入出力処理部２２０のドライバソフトウェア２２１に対し、セクタ単位で読み出し範囲（アドレス、サイズ）を指定する。記録領域＃１のアドレス属性は「バイト単位」であることから、ドライバソフトウェア２２１は、読み出し範囲をセクタ単位からバイト単位に変換し（例えば、１セクタが５１２バイトであれば、単に５１２倍する。）、変換後のバイト単位の範囲で記録媒体１００に対しＲｅａｄコマンドを発行する。【００５４】  その後、データ処理部２３０は、記録媒体１００が初期化されたときにアプリケーションプログラム２３１により実行される、所定の処理を実行する（Ｓ４５５）。例えば、アプリケーションプログラム２３１が音楽コンテンツを再生するプログラムである場合、記録媒体１００に格納されている再生可能な音楽コンテンツに関するリスト情報を記録媒体１００から読み出し、データ処理装置２００の表示手段上に表示するというような処理を行う。このように、初期化後に、アプリケーションプログラム２３１が記録媒体１００からデータを読み出す必要があるときは、アプリケーションプログラム２３１は、ファイルシステム２３２に対してバイト単位で読み出し範囲を指定する。ファイルシステム２３２はこれをセクタ単位に変換し、ドライバソフトウェア２２１に通知する。ドライバソフトウェア２２１は、これをバイト単位に変換し、記録媒体１００にＲｅａｄコマンドを発行する。【００５５】（記録領域切り替え処理）
記録媒体１００の有効記録領域を切り替えるための処理について説明する。この記録領域切り替え処理は、有効にしたい記録領域の領域識別番号を指定して記録領域切り替えコマンドを、データ処理装置２００から記録媒体１００へ送信することにより実行される。【００５６】  図８に、記録媒体１００の記録領域切り替え処理のフローチャートを示す。記録領域切り替え処理では、まず、記録媒体１００のホストインタフェース部１１０がデータ処理装置２００から記録領域切り替えコマンドを受け取る（Ｓ６０１）。記録領域切り替えコマンドは、図４（ｃ）に示すようなフォーマットを有しており、コマンド種別には、記録領域切り替えコマンドを意味する”ＡｒｅａＣｈａｎｇｅ”を意味する６ビットの情報が、付加情報には切り替えたい領域の領域識別番号（Ｎｕｍ）が格納されている。【００５７】  次に、コマンド処理部１２１は記録媒体１００が初期化済みであるか否かを判定する（Ｓ６０２）。初期化されていない場合は、記録媒体１００のホストインタフェース部１１０経由でエラーレスポンスをデータ処理装置２００に送信し、処理を終了する（Ｓ６０６）。【００５８】  初期化済みである場合、コマンド処理部１２１は、記録領域切り替えコマンドで指定された領域識別番号（Ｎｕｍ）を参照し、領域情報格納部１２４において、指定された領域識別番号（Ｎｕｍ）に該当する記録領域の有効フラグを“１”（有効）に設定する（Ｓ６０３）。【００５９】  それとともに、有効フラグを“１”（有効）に設定した記録領域以外の記録領域の全てについて、有効フラグを“０”（無効）に設定する（Ｓ６０４）。【００６０】  最後に、記録領域切り替え処理が完了したことを示す完了レスポンスを、記録媒体１００のホストインタフェース部１１０経由でデータ処理装置２００に送信する（Ｓ６０５）。【００６１】  上記の記録領域切り替え処理後の、記録媒体１００内の領域情報格納部１２４の一例を図９に示す。同図は、有効記録領域が、領域識別番号が“３”の領域（記録領域＃３）に切り替えられた場合の例を示す。有効フラグは３番目の領域に対してのみ有効に設定されており、データ処理装置２００により３番目の記録領域のみアクセスできる状態となっている。【００６２】  次に、記録媒体１００に対して領域切り替え処理を行う場合のデータ処理装置２００の処理を説明する。図１０に、データ処理装置２００側での、記録媒体１００の領域切り替え処理及びその後の処理のフローチャートを示す。【００６３】  記録媒体１００の領域切り替えを行うため、入出力処理部２２０のドライバソフトウェア２２１は、記録媒体１００に対して、領域切り替えコマンドを発行する（Ｓ６５１）。記録媒体１００は、この領域切り替えコマンドを受けると、前述の図８に示すような領域切り替え処理を行う。その後、データ処理装置２００は記録媒体１００から領域切り替え処理の完了レスポンスを受信する（Ｓ６５２）。【００６４】  その後、初期化処理時の場合と同様にして、記録媒体１００の有効記録領域に関するファイルシステムの情報を読み出して格納し（Ｓ６５３）、アプリケーションプログラム２３１による、記録媒体の領域設定後の所定の処理を実行する（Ｓ６５４）。ステップＳ６５３、Ｓ６５４の具体的な処理内容は、ステップＳ４５４、Ｓ４５５とそれぞれ同様である。【００６５】  さらに、記録媒体の領域切り替え処理の別の例を示す。この別の例では、データ処理装置２００が記録領域切り替えコマンドを送信する際に、アドレス属性の指定も可能にする。【００６６】  図１１に、記録媒体１００の記録領域切り替え処理の別の例のフローチャートを示す。
まず、記録媒体１００のホストインタフェース部１１０がデータ処理装置２００からの記録領域切り替えコマンドを受け取る（Ｓ１３０１）。本例での記録領域切り替えコマンドは、図１２に示すようなフォーマットを有する。コマンド種別には、領域切り替えコマンドであることを示す”ＡｒｅａＣｈａｎｇｅ”を意味する６ビットの情報が、付加情報には切り替えたい記録領域の領域識別番号（Ｎｕｍ）及びその記録領域に設定したいアドレス属性（Ａｔｔｒ）が格納される。図１２の例では、アドレス属性は２ビット値に拡張されており、バイト単位への設定は”００”を、セクタ単位への設定は”０１”を、現在の設定を変更しない場合は”１０”を指定する。【００６７】  次に、コマンド処理部１２１は記録媒体１００が初期化済みであるか否かを判定する（Ｓ１３０２）。初期化されていない場合は、記録媒体１００のホストインタフェース部１１０経由でエラーレスポンスをデータ処理装置２００に送信し、処理を終了する（Ｓ１３０７）。【００６８】  初期化済みである場合は、記録領域切り替えコマンドで指定された領域識別番号（Ｎｕｍ）を参照し、領域情報格納部１２４内の該当する記録領域の有効フラグを“１”（有効）に設定する（Ｓ１３０３）。【００６９】  それとともに、有効フラグを“１”（有効）に設定した記録領域に対するアドレス属性を、コマンドにて指定された”Ａｔｔｒ”の値に設定する。但し、指定されたＡｔｔｒの値が”１０（変更なし）”の場合は、アドレス属性は変更しない（Ｓ１３０４）。【００７０】  次に、Ｓ１３０３で有効フラグを“１”（有効）に設定した記録領域以外の領域の全てに対し、有効フラグを“０”（無効）に設定する（Ｓ１３０５）。【００７１】  最後に、記録領域切り替え処理が完了したことを示すレスポンスを、記録媒体１００のホストインタフェース部１１０経由でデータ処理装置２００に送信する（Ｓ１３０６）。【００７２】  上記の記録領域切り替え処理によれば、データ処理装置２００が記録媒体１００の記録領域切り替えを指示するタイミングで、切り替えたい記録領域のアドレス属性を所望の値に設定することができる。【００７３】（記録媒体に対するアクセス処理）
記録媒体１００に対するアクセス処理について説明する。記録媒体１００に対するデータ読み出し／書き込みは、記録媒体１００に対して、データ読み出し／書き込みコマンドすなわちＲｅａｄ／Ｗｒｉｔｅコマンドを送信することにより実行する。【００７４】  最初に、記録媒体１００からのデータ読み出し処理について説明する。
図１３に、記録媒体１００内部におけるデータ読み出し処理のフローチャートを示す。データ読み出し処理では、まず、記録媒体１００のホストインタフェース部１１０がデータ処理装置２００からＲｅａｄコマンドを受け取る（Ｓ８０１）。Ｒｅａｄコマンドは図４（ｂ）に示すフォーマットを有し、読み出しを開始するアドレス（Ｏｆｆｓ）が指定される。さらに、読み出すデータのサイズ（Ｓｉｚｅ）も指定される。但し、サイズが固定値である場合には、サイズ指定は省略できる。【００７５】  次に、コマンド処理部１２１は記録媒体１００が初期化済みであるか否かを判定する（Ｓ８０２）。初期化されていない場合、記録媒体１００のホストインタフェース部１１０経由でエラーレスポンスをデータ処理装置２００に送信し、処理を終了する（Ｓ８１０）。【００７６】  初期化済みである場合、アクセス領域判定部１２２は領域情報格納部１２４の領域情報を参照し、有効フラグが“１”（有効）である領域を探索する（Ｓ８０３）。次に、アドレス決定部１２３は、探索された領域の領域長ＡＳ及びアドレス属性を取得する（Ｓ８０４）。【００７７】  次に、取得したアドレス属性に基づき、コマンドで指定された読み出し開始アドレス（Ｏｆｆｓ）の単位がバイト単位であるかセクタ単位であるかを判定し、セクタ単位であれば、バイト単位に変換する（Ｓ８０５）。変換したものをＦ（Ｏｆｆｓ）とする。【００７８】  そして、Ｆ（Ｏｆｆｓ）にＳｉｚｅを加算したものと、ＡＳとを比較し、読み込み領域が全てアクセス可能な領域内に含まれているか否かを確認する（Ｓ８０６）。【００７９】  ＡＳが｛Ｆ（Ｏｆｆｓ）＋Ｓｉｚｅ｝よりも小さい場合、読み込み領域がアクセス可能な領域を越えているため、記録媒体１００のホストインタフェース部１１０経由でエラーレスポンスをデータ処理装置２００に送信し、処理を終了する（Ｓ８１１）。【００８０】  ＡＳが｛Ｆ（Ｏｆｆｓ）＋Ｓｉｚｅ｝以上の場合、検索された領域の開始アドレスＡ０を取得する（Ｓ８０７）。【００８１】  次に、記録領域の読み出し開始位置を決定するため、Ｆ（Ｏｆｆｓ）にＡ０を加算してＯｆｆｓ’を算出する（Ｓ８０８）。【００８２】  次に、記録領域アクセス部１２５は、Ｏｆｆｓ’の位置からＳｉｚｅ分のデータを読み出し、記録媒体１００のホストインタフェース部１１０経由で、読み出したデータをデータ処理装置２００に送信する（Ｓ８０９）。【００８３】  最後に、データ読み出し処理が完了したことを示す完了レスポンスを、記録媒体１００のホストインタフェース部１１０経由でデータ処理装置２００に通知する（Ｓ８１０）。【００８４】  このように記録媒体１００内で、現在有効となっている記録領域（有効記録領域）の情報を管理し、データ処理装置２００から指定されたアクセス位置を現在の有効記録領域の物理的なアドレスに変換することで、複数に分割された記録領域のうち特定の記録領域に対するアクセスを可能とする。そして、データ処理装置２００から与えられたアドレスは、記録媒体１００の内部で、アクセス対象である記録領域に対応したアドレス属性（バイト単位もしくはセクタ単位）で解釈される。【００８５】  記録媒体１００に対してデータ読み出しを行う��合のデータ処理装置２００の処理を説明する。図１４に、データ処理装置２００側での、記録媒体１００に対するデータ読み出し処理のフローチャートを示す。【００８６】  アプリケーションプログラム２３１は、ファイルシステム２３２に対し、読み出し対象のファイルを指定するとともに読出し範囲をバイト単位で指定する（Ｓ８５１）。ファイルシステム２３２は、バイト単位で指定された読み出し範囲をセクタ単位の範囲に変換する（Ｓ８５２）。このとき、図１５に示すように、バイト単位で指定された範囲の境界がセクタの境界と一致しないときは、変換後のセクタ単位の範囲（Ｂ）が、変換前のバイト単位の範囲（Ａ）を包含するように変換後のセクタ単位の範囲（Ｂ）を決定する必要がある。【００８７】  ファイルシステム２３２は、入出力処理部２２０（ドライバソフトウェア２２１）に対し、変換後のセクタ単位で指定した読み出し範囲で、データ読み出しを指示する（Ｓ８５３）。【００８８】  ドライバソフトウェア２２１は、記録媒体１００の現在の有効記録領域のアドレス属性が”セクタ単位”か”バイト単位”かを判定する（Ｓ８５４）。【００８９】  アドレス属性が”セクタ単位”であれば、ドライバソフトウェア２２１は、ファイルシステム２３２により指定されたセクタ単位の読み出し範囲で、記録媒体１００にＲｅａｄコマンドを発行する（Ｓ８５５）。【００９０】  アドレス属性が”バイト単位”であれば、ドライバソフトウェア２２１は、ファイルシステム２３２により指定されたセクタ単位の範囲をバイト単位の範囲に変換し、そのバイト単位の範囲で、記録媒体１００にＲｅａｄコマンド発行する（Ｓ８５６）。【００９１】  ドライバソフトウェア２２１は、Ｒｅａｄコマンドに対する記録媒体１００からのデータを受信し、ファイルシステム２３２に送る（Ｓ８５７）。【００９２】  ファイルシステム２３２は、受信したデータのうち、アプリケーションプログラム２３１により指定された範囲のデータのみをアプリケーションプログラム２３１に送る（Ｓ８５８）。すなわち、記録媒体１００から読み出されたデータは、図１５に示すようなセクタ単位で指定された広いアドレス範囲（Ｂ）に対するものであるが、アプリケーションプログラム２３１が実際に要求したデータは、バイト単位で指定したせまい範囲（Ａ）に対するものである。このため、ファイルシステム２３２は、記録媒体から読み出されたデータのうち、実際に要求された部分（Ａ）のみをアプリケーションプログラム２３１に送信する。【００９３】  次に、記録媒体１００へのデータ書き込み時のデータ処理装置２００の処理について説明する。【００９４】  データ処理部２３０（アプリケーションプログラム２３１）は、書き込み対象ファイルと、バイト単位で指定された書き込み範囲と、書き込みデータとをファイルシステム２３２へ送信する（Ｓ１５０１）。ファイルシステム２３２は書き込み範囲をセクタ単位に変換する（Ｓ１５０２）。このとき、図１５に示すように、バイト単位で指定された範囲の境界がセクタの境界と一致しないときは、変換後の範囲（Ｂ）がバイト単位で指定された範囲（Ａ）を包含するように、変換後の範囲（Ｂ）が設定される。【００９５】  ファイルシステム２３２は、入出力処理部２２０（ドライバソフトウェア２２１）に、変換後のセクタ単位で指定した範囲のデータの読み出しを指示する（Ｓ１５０３）。ドライバソフトウェア２２１は、記録媒体１００の有効記録領域のアドレス属性を判定する（Ｓ１５０４）。【００９６】  有効記録領域のアドレス属性が”セクタ単位”であれば、ドライバソフトウェア２２１は、ファイルシステム２３２により指定されたセクタ単位の範囲で、記録媒体１００にＲｅａｄコマンドを発行する（Ｓ１５０５）。【００９７】  有効記録領域のアドレス属性が”バイト単位”であれば、ドライバソフトウェア２２１は、ファイルシステム２３２により指定されたセクタ単位の範囲をバイト単位の範囲に変換し、その変換後の範囲で、記録媒体１００にＲｅａｄコマンド発行する（Ｓ１５０６）。【００９８】  ドライバソフトウェア２２１は、記録媒体１００から読み出されたデータを受信し、それをファイルシステム２３２に送る（Ｓ１５０７）。【００９９】  ファイルシステム２３２は、記録媒体１００から読み出されたデータ中のアプリケーションプログラム２３１により指定された範囲のデータを、アプリケーションプログラム２３１から送られたデータで置き換える（Ｓ１５０８）。つまり、図１７に示すように、記録媒体１００から読み出されたデータのうち、アプリケーションプログラム２３１が実際に指定した範囲（Ｄ）の部分について、アプリケーションプログラム２３１により指定されたデータで置換する。【０１００】  その後、ファイルシステム２３２は、その置換されたデータを含むセクタ単位の範囲で、入出力処理部２２０（ドライバソフトウェア２２１）に、書き込み指示を行う（Ｓ１５０９）。【０１０１】  ドライバソフトウェア２２１は、記録媒体１００の有効記録領域のアドレス属性を判定する（Ｓ１５１０）。【０１０２】  有効記録領域のアドレス属性が”セクタ単位”であれば、ドライバソフトウェア２２１は、ファイルシステム２３２により指定されたセクタ単位の範囲に、ファイルシステム２３２から受信したデータを書き込むように、記録媒体１００に対してＷｒｉｔｅコマンドを発行する（Ｓ１５１１）。【０１０３】  有効記録領域のアドレス属性が”バイト単位”であれば、ドライバソフトウェア２２１は、ファイルシステム２３２により指定されたセクタ単位の範囲をバイト単位の範囲に変換し、その変換後の範囲にファイルシステム２３２から受信したデータを書き込むように、記録媒体１００にＷｒｉｔｅコマンド発行する（Ｓ１５１２）。【０１０４】  その後、ドライバソフトウェア２２１は、記録媒体１００から、書き込み完了を示すレスポンスを受信し、さらに、その旨をファイルシステム２３２に通知する（Ｓ１５１３）。ファイルシステム２３２は、ドライバソフトウェア２２１から書き込み完了通知を受信し、さらに、アプリケーションプログラム２３１にそれを通知する（Ｓ１５１４）。【０１０５】  なお、記録媒体１００側では、データ処理装置２００からＷｒｉｔｅコマンドを受信すると、Ｗｒｉｔｅコマンドで指定された書き込みアドレスの単位を、領域情報格納部１２４内のアドレス属性を参照して認識し、指定されたアドレスの単位を適宜変換する���とにより、書き込み先を特定でき、書き込み動作を実行できる。【０１０６】（記録領域の領域長の変更手順）
記録媒体１００におけるデータ格納部１３０の各記録領域の領域長を変更（設定）する手順について説明する。この領域長設定処理は、データ処理装置２００から記録媒体１００へ、設定したい記録領域の領域識別番号と、開始アドレスと、領域の大きさとを指定して領域長設定コマンドを送信することにより実行される。【０１０７】  図１８は、記録媒体１００内の領域長設定処理の流れを示すフローチャートである。
まず、記録媒体１００のホストインタフェース部１１０がデータ処理装置２００から領域長設定コマンドを受け取る（Ｓ９０１）。領域長設定コマンドでは、領域長を設定したい領域の領域識別番号（Ｎｕｍ）と、開始アドレス（Ａ０）と、設定する領域長（Ｓｉｚｅ）とを指定する。図１９に、これらの情報を設定するためのコマンドの例を示す。図１９の例では、図１９（ａ）に示すＡｒｅａＣｈａｎｇｅコマンドで領域指定番号（Ｎｕｍ）を設定し、図１０（ｂ）に示すＳｅｔＡ０コマンドで開始アドレス（Ａ０）を設定し、図１０（ｃ）に示すＳｅｔＳｉｚｅコマンドで領域長（Ｓｉｚｅ）を設定し、最後に図１０（ｄ）に示すＣｈａｎｇｅＡｒｅａＳｉｚｅコマンドで、領域長設定の開始を指示する形式になっている。【０１０８】  次に、コマンド処理部１２１は記録媒体１００が初期化済みであるか否か判定する（Ｓ９０２）。初期化されていない場合は、記録媒体１００のホストインタフェース部１１０経由でエラーレスポンスをデータ処理装置２００に送信し、処理を終了する（Ｓ９０８）。【０１０９】  初期化済みである場合は、コマンド処理部１２１が、Ｎｕｍ番目の記録領域以外の記録領域において、開始アドレスがＡ０、サイズがＳｉｚｅとなる記録領域が含まれるか否かを確認する（Ｓ９０３）。【０１１０】  そのような記録領域が含まれる場合、領域長設定後のＮｕｍ番目の記録領域が既存の記録領域と重なり不都合が生じるため、記録媒体１００のホストインタフェース部１１０経由でエラーレスポンスをデータ処理装置２００に送信し、処理を終了する（Ｓ９０８）。【０１１１】  そのような記録領域が含まれていない場合、領域情報格納部１２４からＮｕｍ番目の記録領域に関する領域情報を検索する（Ｓ９０４）。【０１１２】  検索したＮｕｍ番目の記録領域に関する領域情報の開始アドレス、領域長を、それぞれコマンドで指定したＡ０、Ｓｉｚｅに変更する（Ｓ９０５）。【０１１３】  次に、受信コマンドで指定されたＳｉｚｅからアドレス属性の値を決定し、Ｎｕｍ番目の領域に関する領域情報のアドレス属性を更新する（Ｓ９０６）。このとき、アドレス属性は、例えば、Ｓｉｚｅが所定値よりも小さい場合には、アドレス属性を”０”（バイト単位）に決定され、所定値以上の場合にはアドレス属性を”１”（セクタ単位）に決定され得る。【０１１４】  最後に、領域長設定処理が完了したことを示すレスポンスを、記録媒体１００のホストインタフェース部１１０経由でデータ処理装置２００に送信する（Ｓ９０７）。【０１１５】  領域長設定処理において、設定後の記録領域が他の記録領域に重ならない場合は上記の手順により領域長の設定が可能である。アドレス属性は新しい領域長に応じて自動的に決定される。【０１１６】（記録領域の削除処理）
２つの記録領域を１つの記録領域に併合するなどの場合、設定後の記録領域が他の記録領域に重なるため、一旦２つの記録領域を削除した上で、上記の領域長設定処理を行う必要がある。以下に、この記録領域の削除処理について説明する。【０１１７】  図２０は、記録媒体１００内の領域削除処理を示すフローチャートである。
領域削除処理では、まず、記録媒体１００のホストインタフェース部１１０がデータ処理装置２００から領域削除コマンドを受け取る（Ｓ１１０１）。領域削除コマンドは、図２１に示すように、コマンド種別には、領域削除を示す”ＤｅｌＡｒｅａ”を意味する６ビットの情報が格納され、付加情報には、削除対象の領域の領域識別番号（Ｎｕｍ）が格納される。【０１１８】  次に、コマンド処理部１２１は記録媒体１００が初期化済みであるか否かを判定する（Ｓ１１０２）。初期化されていない場合は、記録媒体１００のホストインタフェース部１１０経由でエラーレスポンスをデータ処理装置２００に送信し、処理を終了する（Ｓ１１０６）。【０１１９】  初期化済みである場合は、領域情報格納部１２４からＮｕｍ番目の記録領域に関する領域情報を探索する（Ｓ１１０３）。【０１２０】  次に、探索したＮｕｍ番目の記録領域に関する領域情報の開始アドレス、領域長を共に０に変更する（Ｓ１１０４）。【０１２１】  最後に、領域削除処理が完了したことを記録媒体１００のホストインタフェース部１１０経由でデータ処理装置２００に通知する（Ｓ１１０５）。【０１２２】  以上のように、本発明によれば、記録媒体１００内のデータにアクセスする前に記録領域切り替えコマンドを発行することにより所望の記録領域に切り替えることを可能とする。そのため、記録媒体１００内のデータ格納部１３０を複数に分割し、それぞれの記録領域に独立したファイルシステムが構築されている場合に、自己のデータ処理装置２００が解釈可能なファイルシステムが構築されている記録領域を選択し、アクセスすることが可能となる。そして、選択した記録領域のサイズに応じてアドレス属性（バイト単位もしくはセクタ単位）が自動的に切り替わるため、読み書きを行う前にアドレス属性を改めて設定する必要がない。【０１２３】  なお、本実施形態においては、図４（ａ）に示すコマンドフォーマットで説明したが、このフォーマットは一例である。従って、コマンドのビット長や各フィールドの種類を変更してもよい。例えばビット長を増加した場合、図１９に示していた領域長変更のためのコマンドは４つに分割せずに、１つのコマンドとして送信することも可能である。【０１２４】  また、本実施の形態においては、アドレス属性をバイト単位もしくはセクタ単位の二択としたが、それ以外の単位（例えば、クラスタ単位）を設定してもよい。【０１２５】  また、本実施の形態においては、データ読み込み処理の説明において、有効な領域を超えるアクセスを行った場合はエラーとしたが、読み込み可能なデータを読み込む仕様としてもよい。【０１２６】  また、読み出すサイズ（Ｓｉｚｅ）の指定方法も選択した記録領域によって設定（バイト単位もしくはセクタ単位）を切り替える必要がある場合には、領域情報格納領域１２４にサイズ属性というフィールドを新たに用意し、本実施の形態で説明したアドレス指定方法と同様の処理を行ってもよい。アドレス指定方法とサイズ指定方法が同期する場合には前記アドレス属性をサイズ属性として共用してもよい。【０１２７】  また、データ読み込み処理の説明において、読み出すサイズ（Ｓｉｚｅ）は最初にデータ処理装置２００が設定すると���たが、事前に設定しなくてもよい。例えば、読み込みを開始するアドレス（Ｏｆｆｓ）のみを設定し、記録媒体１００はデータ処理装置２００から読み出し、停止コマンド（Ｓｔｏｐコマンド）が送信されるまで、順次データを読み出してデータ処理装置２００に送信し続けるという仕様であってもよい。【０１２８】  また、本実施の形態においては、初期化処理時に１番目の記録領域に有効フラグを設定する場合について説明したが、別の特殊コマンドを設け、初期化処理時に最初に設定される記録領域をデータ処理装置２００が指定できるようにしてもよい。【０１２９】  もしくは、領域情報格納領域１２４のうちアドレス属性のような物理的仕様を格納しているフィールドを参照して決定してもよい。例えば、１番目の記録領域から順に検索していき、最初にアドレス属性が”０”（バイト単位）になっている記録領域に有効フラグを設定してもよい。【０１３０】  また、本実施の形態においては、記録領域毎の物理的仕様の情報としてアドレス属性について記述したが、それ以外の情報を領域情報格納領域１２４に格納して領域切り替えと連動して使用してもよい。例えば、図２２に示すように、領域情報格納部１２４がアドレス属性に加えてコマンドセット番号を格納してもよい。このとき、記録領域の切り替え処理と同期してコマンドセットを自動的に切り替えることが可能となる。また、図２２に示すように、領域格納領域１２４にコマンドフォーマット番号を格納してもよい。このとき、記録領域の切り替え処理と同期してコマンドフォーマットを自動的に切り替えることが可能となる。【０１３１】  また、本実施の形態においては、アドレス属性は記録領域のサイズから自動的に決定されるものとしたが、別の特殊コマンドを設け、データ処理装置２００が任意の値に変更する手段を備えていても良い。【０１３２】  また、記録媒体１００に物理的なスイッチを設けて、このスイッチにより記録媒体１００の有効記録領域を設定できるようにしてもよい。例えば、図２３に示すように記録媒体１００にＤＩＰスイッチを設けてもよい。図２３に示す記録媒体１００は、３ビットのＤＩＰスイッチ１９０を有しており、各ビットを適宜設定することにより８つの記録領域の切り替えが可能となる。【０１３３】  本発明は、特定の実施形態について説明されてきたが、当業者にとっては他の多くの変形例、修正、他の利用が明らかである。それゆえ、本発明は、ここでの特定の開示に限定されず、添付の請求の範囲によってのみ限定され得る。
【産業上の利用可能性】
【０１３４】  本発明は、大きさの異なる複数の記録領域を有する情報記録媒体に適用でき、例えば、各記録領域を異なるファイルシステムで管理し、かつアドレス空間の大きい記録領域を有する記録媒体に有用である。
【図１】
2005045680.tif 000002
【図２】
2005045680.tif 000003
【図３】
2005045680.tif 000004
【図４】
2005045680.tif 000005
【図５】
2005045680.tif 000006
【図６】
2005045680.tif 000007
【図７】
2005045680.tif 000008
【図８】
2005045680.tif 000009
【図９】
2005045680.tif 000010
【図１０】
2005045680.tif 000011
【図１１】
2005045680.tif 000012
【図１２】
2005045680.tif 000013
【図１３】
2005045680.tif 000014
【図１４】
2005045680.tif 000015
【図１５】
2005045680.tif 000016
【図１６Ａ】
2005045680.tif 000017
【図１６Ｂ】
2005045680.tif 000018
【図１７】
2005045680.tif 000019
【図１８】
2005045680.tif 000020
【図１９】
2005045680.tif 000021
【図２０】
2005045680.tif 000022
【図２１】
2005045680.tif 000023
【図２２】
2005045680.tif 000024
【図２３】
2005045680.tif 000025
【手続補正書】
【提出日】平成18年5月18日(2006.5.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ処理装置からデータの書き込み、読み出しが可能な記録媒体であって、
前記データ処理装置との間で通信を行うホストインタフェース部と、
データを格納するための複数の記録領域を有するデータ格納部と、
該データ格納部の各記録領域に関する情報を格納する領域情報格納部とを備え、
前記領域情報格納部は、前記データ格納部の各記録領域のアドレス属性に関する情報を格納する
ことを特徴とする記録媒体。
【請求項２】
前記アドレス属性とは、記録媒体の記録領域へのアクセス時にデータ処理装置から指定されるアドレスの単位を示すことを特徴とする請求項１記載の記録媒体。
【請求項３】
前記アドレスの単位はセクタまたはバイトであることを特徴とする請求項２記載の記録媒体。
【請求項４】
前記データ処理装置からデータの書き込みまたは読み出しを指示するコマンドを前記ホストインタフェース部を介して受信し、そのコマンド中にアクセス範囲を示すアドレスが指定されている場合に、前記コマンドに指定されたアドレスの単位を前記領域情報格納部に格納されたアドレス属性に基づいて判断する制御手段をさらに備えたことを特徴とする請求項２記載の記録媒体。
【請求項５】
前記データ格納部内の各記録領域は、各記録領域に応じたファイルシステムにより格納データが管理されることを特徴とする請求項１記載の記録媒体。
【請求項６】
前記領域情報格納部は、さらに、前記ホストインタフェース部が受信するコマンドのコマンドセットの種類に関する情報を格納することを特徴とする請求項１記載の記録媒体。
【請求項７】
前記領域情報格納部は、さらに、前記ホストインタフェース部が受信するコマンドのフォーマットの種類に関する情報を格納することを特徴とする請求項１記載の記録媒体。
【請求項８】
前記データ格納部内において前記データ処理装置からアクセス可能な記録領域を設定するコマンドを前記ホストインタフェース部を介して前記データ処理装置から受信し、アクセス可能に設定する記録領域のアドレス属性が前記コマンドにおいて指定される場合に、前記受信したコマンドにしたがい、前記領域情報格納部においてアクセス可能な領域を設定するとともに、その設定したアクセス可能な領域のアドレス属性を変更する制御手段をさらに備えたことを特徴とする請求項１記載の記録媒体。
【請求項９】
前記データ処理装置から、前記データ格納部における記録領域のサイズを変更するコマンドを前記ホストインタフェース部を介して受信したときに、そのコマンドにしたがい記録領域のサイズを変更するとともに、変更した記録領域のアドレス属性を変更後の記録領域のサイズに応じて決定し、該決定したアドレス属性を用いて前記領域情報格納部を更新する制御手段をさらに備えたことを特徴とする請求項１記載の記録媒体。
【請求項１０】
データを格納するデータ格納領域を有し、該データ格納領域に対して外部よりデータの書き込み、読み出しが可能な記録媒体の制御方法において、
前記記録媒体のデータ格納領域を複数の記録領域に分割し、
分割した各記録領域に関する情報である領域情報を記録媒体中の所定の領域に格納し、
該領域情報は各記録領域のアドレス属性に関する情報を含む
ことを特徴とする記録媒体の制御方法。
【請求項１１】
前記アドレス属性とは、記録媒体の記録領域へのアクセス時に指定されるアドレスの単位を示すことを特徴とする請求項１０記載の記録媒体の制御方法。
【請求項１２】
前記アドレスの単位はセクタまたはバイトであることを特徴とする請求項１１記載の記録媒体の制御方法。
【請求項１３】
データの書き込みまたは読み出しを指示するコマンドであって、該コマンド中にアクセス範囲を示すアドレスが指定されたコマンドを受信し、
該受信したコマンド中に指定されたアドレスの単位を、前記格納しているアドレス属性に基づいて判断してアクセス範囲を特定する
ことを特徴とする請求項１１記載の記録媒体の制御方法。
【請求項１４】
前記各記録領域は、各記録領域に応じたファイルシステムにより格納データが管理されることを特徴とする請求項１０記載の記録媒体の制御方法。
【請求項１５】
前記領域情報は、さらに、受信するコマンドのコマンドセットの種類に関する情報を含むことを特徴とする請求項１０記載の記録媒体の制御方法。
【請求項１６】
前記領域情報は、さらに、受信するコマンドのフォーマットの種類に関する情報を含むことを特徴とする請求項１０記載の記録媒体の制御方法。
【請求項１７】
前記領域情報は、外部よりアクセス可能な記録領域を示す情報を含んでおり、
外部よりアクセス可能な記録領域を設定するコマンドであって、該コマンド中にアクセス可能にする記録領域のアドレス属性が指定されるコマンドを受信し、
前記領域情報において、前記受信したコマンドにしたがい、アクセス可能な記録領域を設定し、その設定されたアクセス可能な記録領域のアドレス属性に関する情報を変更する
ことを特徴とする請求項１０記載の記録媒体の制御方法。
【請求項１８】
前記領域情報は、さらに各記録領域のサイズを含んでおり、
前記記録媒体の記録領域のサイズを変更するコマンドを受信し、
そのコマンドにしたがい記録領域のサイズを変更し、
変更した記録領域のアドレス属性を変更後の記録領域のサイズに応じて決定し、該決定したアドレス属性を用いて前記領域情報を更新する
ことを特徴とする請求項１０記載の記録媒体の制御方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の記録領域を有する情報記録媒体及びそのような記録媒体に対する制御方法に関する。
【背景技術】
【０００２】
音楽コンテンツや動画コンテンツ、静止画コンテンツなどのディジタルデータ（以下、「データ」という。）を記録する記録媒体には、半導体記録媒体、磁気ディスク、光ディスク、光磁気ディスクなど、様々な種類が存在する。特に、半導体記録媒体は小型化・軽量化が図れるという特徴があるために、ディジタルスチルカメラや携帯電話端末などの携帯機器を中心に急速に普及しつつある。代表的な半導体記録媒体として、ＳＤメモリカード（登録商標）、メモリースティック（登録商標）、コンパクトフラッシュ（登録商標）などがある。
【０００３】
これら記録媒体の記録領域に格納されるデータの管理は、ファイルシステムにより実現されている。ファイルシステムでは、記録領域を最小アクセス単位であるセクタ、及びセクタの集合であるクラスタに分割して管理し、1つ以上のクラスタをファイルとして管理する。
【０００４】
従来使用されているファイルシステムとして、ＦＡＴ（Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ）ファイルシステムが一例に挙げられる（詳細は、非特許文献１参照）。ＦＡＴファイルシステムはＰＣ（パーソナル・コンピュータ）などの情報機器で一般に用いられており、半導体記録媒体においても主流のファイルシステムである。ファイルシステムによりデータ管理された記録媒体は、同一のファイルシステムを解釈する機器間でファイルを共有することができるため、機器間でデータを授受することが可能となる。
【０００５】
ＦＡＴファイルシステムは２ＧＢまでの容量しか管理できないため、年々大容量化が進んでいる半導体記録媒体において、ＦＡＴファイルシステム以外のファイルシステムを採用する必要が生じてきている。ＦＡＴファイルシステム以外の、大容量に対応したファイルシステムとしては、ＦＡＴ３２ファイルシステムや、ＵＤＦ（Ｕｎｉｖｅｒｓａｌ  Ｄｉｓｋ  Ｆｏｒｍａｔ）などが存在する。
【０００６】
しかしながら、記録媒体のファイルシステムをＦＡＴファイルシステム以外のものに変更すると、従来のＦＡＴファイルシステムに対応した機器は、その記録媒体に対してデータのアクセスができなくなるという問題がある。
【０００７】
従来、この問題を解決する方法として、記録媒体に複数のファイルシステム管理情報を格納する領域と、共通のファイルデータを格納する領域とを設ける方法が提案されている（例えば、特許文献１参照）。
【特許文献１】特開平８−２７２５４１号公報
【非特許文献１】ＩＳＯ/ＩＥＣ９２９３、「インフォメイション・テクノロジー−ボリュウム・アンド・ファイル・ストラクチャ・オブ・ディスク・カートリッジ・フォ・インフォメイション（Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ−Ｖｏｌｕｍｅ  ａｎｄ  ｆｉｌｅ  ｓｔｒｕｃｔｕｒｅ  ｏｆ  ｄｉｓｋ  ｃａｒｔｒｉｄｇｅｓ  ｆｏｒ  ｉｎｆｏｒｍａｔｉｏｎ）」、１９９４年
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記の制御方法では、１つのファイルデータを更新するにあたり、複数のファイルシステム管理情報を同時に更新する必要性があり、単一のファイルシステムにのみ対応した機器では、対応していないファイルシステムの管理情報を更新できないため、ファイルデータを更新できないという問題がある。そこで、記録媒体に複数の記録領域を設け、各記録領域毎に独立したファイルシステムでデータを管理するという方法が考えられる。この方法を用いれば、単一のファイルシステムにのみ対応した機器であっても、その機器が対応可能なファイルシステムによりデータ管理されている記録領域に対しては、ファイルデータを更新することが可能となる。
【０００９】
一方、従来のアクセスコマンドにおいて指定されるアドレスはバイト単位で指定される。このため、記録容量の大容量化に伴い、記録媒体のアドレス空間が拡大すると、コマンドフォーマットにおけるアドレス領域のビット幅が不足し、アドレスを適切に表現できず、広いアドレス空間に対してアクセスできないという問題がある。
【００１０】
本発明では上記問題点に鑑み、複数の記録領域を切替えることにより複数のファイルシステムへ対応可能な記録媒体であって、広いアドレス空間に対してアドレス指定を可能とする記録媒体及びそのような記録媒体に対する制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明に係る情報記録媒体は、データ処理装置からデータの書き込み、読み出しが可能な記録媒体である。情報記録媒体は、データ処理装置との間で通信を行うホストインタフェース部と、データを格納するための複数の記録領域を有するデータ格納部と、データ格納部の各記録領域に関する情報を格納する領域情報格納部とを備える。領域情報格納部は、データ格納部の各記録領域のアドレス属性に関する情報を格納する。
【００１２】
アドレス属性とは、記録媒体の記録領域へのアクセス時にデータ処理装置から指定されるアドレスの単位であってもよい。アドレスの単位は例えばセクタまたはバイトである。
【００１３】
情報記録媒体は、データ処理装置からデータの書き込みまたは読み出しを指示するコマンドをホストインタフェース部を介して受信し、そのコマンド中にアクセス範囲を示すアドレスが指定されている場合に、コマンドに指定されたアドレスの単位を前記領域情報格納部に格納されたアドレス属性に基づいて判断する制御手段をさらに備えてもよい。
【００１４】
データ格納部内の各記録領域は、各記録領域に応じたファイルシステムにより格納データが管理されてもよい。
【００１５】
領域情報格納部は、さらに、ホストインタフェース部が受信するコマンドのコマンドセットの種類に関する情報を格納してもよい。また、領域情報格納部は、ホストインタフェース部が受信するコマンドのフォーマットの種類に関する情報を格納してもよい。
【００１６】
情報記録媒体は、データ格納部内においてデータ処理装置からアクセス可能な記録領域を設定するコマンドをホストインタフェース部を介してデータ処理装置から受信し、アクセス可能に設定する記録領域のアドレス属性がコマンドにおいて指定される場合に、受信したコマンドにしたがい、領域情報格納部においてアクセス可能な領域を設定するとともに、その設定したアクセス可能な領域のアドレス属性を変更する制御手段をさらに備えてもよい。
【００１７】
情報記録媒体は、データ処理装置から、データ格納部における記録領域のサイズを変更するコマンドをホストインタフェース部を介して受信したときに、そのコマンドにしたがい記録領域のサイズを変更するとともに、変更した記録領域のアドレス属性を変更後の記録領域のサイズに応じて決定し、決定したアドレス属性を用いて領域情報格納部を更新する制御手段をさらに備えてもよい。
【００１８】
本発明に係る情報記録媒体の制御方法は、データを格納するデータ格納領域を有し、データ格納領域に対して外部よりデータの書き込み、読み出しが可能な記録媒体の制御方法である。制御情報は、記録媒体のデータ格納領域を複数の記録領域に分割し、分割した各記録領域に関する情報である領域情報を記録媒体中の所定の領域に格納する。特に、領域情報は各記録領域のアドレス属性に関する情報を含む。
【発明の効果】
【００１９】
本発明によれば、複数の記録領域を有する記録媒体において記録領域毎に各記録領域のアドレスの指定方法を示すアドレス属性を管理する。これにより、アクセスコマンド中で指定されたアドレスの単位を認識でき、広いアドレス空間を指定する際には、データサイズの大きいデータ単位でアドレスを指定し、そうでないときは、データサイズの小さいデータ単位でアドレスを指定することが可能となる。このため、アクセスコマンドのフォーマットのアドレスを指定するビット幅を変更せずに広いアドレス空間の指定が可能となる。つまり、本発明により、狭いアドレス空間を管理する従来のファイルシステムに対するコマンドフォーマットをそのまま、広いアドレス空間を管理するファイルシステムにも適用することが可能となる。
【発明を実施するための最良の形態】
【００２０】
以下、添付の図面を参照し、本発明の情報記録媒体及びその制御方法の実施形態について説明する。
【００２１】
１．記録媒体及びデータ処理装置の構成
図１に、本発明の実施の形態に於ける情報記録媒体及びデータ処理装置の構成を示す。記録媒体１００は、ホストインタフェース部１１０と、制御部１２０と、データ格納部１３０とから構成される。
【００２２】
ホストインタフェース部１１０は、記録媒体１００のホスト機器であるデータ処理装置２００と情報の受け渡しをする。
【００２３】
データ格納部１３０はデータを格納する手段であり、データ処理装置２００によるデータの読み出し、書き込みが可能な領域を有する。データ格納部１３０は、Ｎ個（Ｎは２以上の整数）の記録領域＃１、＃２、・・・＃Ｎを含む。各記録領域に格納されるデータは、各々の記録領域に応じたファイルシステムによってファイルとして管理される。
【００２４】
制御部１２０は記録媒体１００の動作制御を行い、コマンド処理部１２１と、アクセス領域判定部１２２と、アドレス決定部１２３と、領域情報格納部１２４と、記録領域アクセス部１２５とを備える。
【００２５】
コマンド処理部１２１は、ホストインタフェース部１１０で受信したデータ処理装置２００からのコマンドの解釈及び実行を行い、必要に応じてその結果をホストインタフェース部１１０経由でデータ処理装置２００に通知する処理を行う。
【００２６】
アクセス領域判定部１２２は、コマンド処理部１２１からのアクセス要求に対し、領域情報格納部１２４に格納されている情報に基づき、データ格納部１３０の複数の記録領域の中から、アクセスすべき一つの記録領域を決定する。
【００２７】
アドレス決定部１２３は、アクセス領域判定部１２２で決定された一つの記録領域に対し、領域情報格納部１２４に格納されている情報を参照して、アクセスするアドレスを決定する。
【００２８】
領域情報格納部１２４は、データ格納部１３０に於ける各記録領域の開始アドレスや領域長、アドレス決定のためのパラメータ等を格納する。
【００２９】
記録領域アクセス部１２５は、アクセス領域判定部１２２及びアドレス決定部１２３によって決定された情報に基づき、データ格納部１３０に格納されているデータにアクセスする。
【００３０】
前述のように、記録媒体１００は複数の記録領域＃１、＃２、…、＃Ｎを有し、各記録領域＃１、＃２、…、＃Ｎに管理されるデータは各記録領域に対応するファイルシステムにより管理される。記録媒体１００の複数の記録領域の中の１つの領域が選択され、その選択された記録領域に対して、データ処理装置２００によるデータのアクセスが可能となる。以下、記録媒体１００において、このようなデータ処理装置２００によるデータアクセス可能な記録領域を「有効記録領域」という。
【００３１】
データ処理装置２００は、記録媒体装着部２１０と、入出力処理部２２０と、データ処理部２３０とから構成される。
【００３２】
記録媒体装着部２１０は、記録媒体１００を装着するハードウェアである。
【００３３】
入出力処理部２２０は、記録媒体装着部２１０に装着された記録媒体１００に対してコマンドやデータなどの情報の受け渡しを行う。入出力処理部２２０は図２に示すように、入出力処理部２２０の機能を実現するドライバソフトウェア２２１を含む。
【００３４】
データ処理部２３０は、記録媒体１００に格納されたデータもしくはこれから格納するデータを処理する手段であり、データ処理装置２００の中心的な処理を担う手段である。データ処理部２３０の機能はアプリケーションプログラム２３１とファイルシステム２３２とにより実現される。アプリケーションプログラム２３１は、音声データや画像データを再生するためのプログラム等であり、ファイルシステム２３２に対してデータアクセスに関する要求を行う。
【００３５】
ここで、データ処理部２３０の内部でやりとりされるデータのアクセス単位について説明する。アプリケーションプログラム２３１とファイルシステム２３２の間では、データのアクセスはバイト単位で行われる。データ処理部２３０と入出力処理部２２０の間では、データのアクセスはセクタ単位で行われる。入出力処理部２２０のドライバソフトウェア２２１は、記録媒体１００に対し、記録媒体１００の有効記録領域のアドレス属性にしたがいバイト単位またはセクタ単位でアクセスを行う。
【００３６】
記録媒体１００の領域情報格納部１２４について説明する。図３に、記録媒体１００の領域情報格納部１２４のデータ構成例を示す。領域情報格納部１２４は、記録媒体１００の記録領域を一意に識別するための番号である「領域識別番号」、記録領域の開始アドレスを示す「開始アドレス」、記録領域の大きさを示す「領域長」、記録領域へのアクセスに使用するアドレスの属性を示す「アドレス属性」、記録領域が有効記録領であるか否かを示す「有効フラグ」を格納しており、これらの情報を１組とした領域情報がデータ格納部１３０内の各記録領域に対応付けられている。つまり、領域情報は記録領域の数だけ格納される。図３の例では、データ格納部１３０はＮ個の記録領域に分割されており、領域情報を有している。１番目の記録領域（記録領域＃１）はデータ格納部１３０の先頭アドレスから１００ＭＢの大きさの領域となる。同様に２番目の記録領域（記録領域＃２）は、データ格納部１３０の先頭から１００ＭＢずれた位置から開始され、大きさ３０ＭＢの領域となる。３番目の記録領域（記録領域＃３）は、データ格納部１３０の先頭から１３０ＭＢずれた位置から開始され、大きさ８ＧＢの領域となり、Ｎ番目の領域は、データ格納部１３０の先頭から１０ＧＢずれた位置から開始され、大きさ６ＧＢの領域となる。
【００３７】
また、アドレス属性は、記録媒体１００のデータ格納部１３０に対して、各記録領域へのアクセスを行う際に指定するアドレスがバイト単位で指定されるのか、セクタ単位で指定されるのかを示す情報である。アドレス属性として、バイト単位で指定される場合には”０”が、セクタ単位で指定される場合には”１”が格納される。すなわち、図３の例では、１番目の記録領域のアドレスはバイト単位で、３番目の記録領域のアドレスはセクタ単位で指定される。
【００３８】
また、有効フラグは記録媒体１００の各記録領域が有効記録領域であるか否かを示す情報である。すなわち、有効フラグは１番目〜Ｎ番目までの記録領域のうち、どの記録領域が現在、データ処理装置２００からアクセス可能かを示している。図３の例では、１番目の記録領域が現在アクセス可能に設定されている。
【００３９】
以上のように、本実施形態では、領域情報格納部１２４において領域毎にアドレス属性を管理している。このアドレス属性を参照することにより、アクセスコマンド中で指定されたアドレスの単位を認識できる。つまり、アクセスコマンドにおいて、広いアドレス空間を指定する際には、データサイズの大きいデータ単位でアドレスを指定し、そうでないときは、データサイズの小さいデータ単位でアドレスを指定することが可能となる。このため、アクセスコマンドのフォーマットのアドレスを指定するビット幅を変更せずに広いアドレス空間の指定が可能となる。つまり、記録媒体１００において記録領域毎に、それに対応するファイルシステムでデータ管理をさせる場合に、容量の小さい記録領域とともに容量の大きい記録領域についても、同じアクセスコマンドのフォーマットでアドレス指定が可能となる。よって、本発明により、狭いアドレス空間を管理する従来のファイルシステムに対するコマンドフォーマットをそのまま、広いアドレス空間を管理するファイルシステムにも適用することができる。
【００４０】
２．記録媒体及びデータ処理装置の動作
以上のように構成される記録媒体１００及びデータ処理装置２００の動作を以下に説明する。
【００４１】
図４（ａ）はデータ処理装置２００が記録媒体１００に対して送信するコマンドのフォーマットの例を示す図である。この例において、コマンドは、４８ビット（＝６バイト）の長さであり、コマンド種別を格納する６ビットの領域と、コマンドの種類に対応した付加情報を格納する３２ビットの領域と、その他の領域とを備えている。その他の領域は、例えば、データの転送方向やエラー訂正を行うための情報を格納する。
【００４２】
図４（ｂ）はデータ読み出しのためのＲｅａｄコマンドとデータ書き込みのためのＷｒｉｔｅコマンドに対するコマンドのデータ構成例を示している。コマンド種別には、それぞれ読み出しコマンドまたは書き込みコマンドを示す”Ｒｅａｄ”または”Ｗｒｉｔｅ”を意味する６ビットの情報が格納されている。付加情報には３２ビットのアドレスの値が格納されている。付加情報に指定されるアドレスの値の単位が、バイト単位であるかセクタ単位であるかは、領域情報格納部１２４のアドレス属性によって決定される。３２ビットで表現できるアドレスの上限はバイト単位の場合は４ＧＢとなり、セクタ単位の場合は２ＴＢとなる。
【００４３】
（記録媒体の初期化処理）
本実施の形態に於ける記録媒体１００の初期化処理について説明する。データ処理装置２００に記録媒体１００が接続されると、データ処理装置２００は記録媒体１００に初期化コマンドを送信し、記録媒体１００の初期化を行う。図５に、記録媒体１００内の初期化処理を示すフローチャートを示す。
【００４４】
初期化処理では、まず、記録媒体１００のホストインタフェース部１１０がデータ処理装置２００から初期化コマンドを受け取る（Ｓ４０１）。次に、記録媒体１００内の制御部１２０やデータ格納部１３０を初期化し、記録媒体１００外部からのアクセスが可能な状態にする（Ｓ４０２）。
【００４５】
次に、領域情報格納部１２４に含まれる複数の領域情報のうち、１番目にある領域情報に含まれる有効フラグを“１”（有効）に設定する（Ｓ４０３）。そして、１番目の領域情報以外の領域情報に含まれる有効フラグを全て“０”（無効）に設定する（Ｓ４０４）。
【００４６】
最後に、初期化処理が完了したことを示すレスポンスを、記録媒体１００のホストインタフェース部１１０経由でデータ処理装置２００に送信する（Ｓ４０５）。
【００４７】
上記初期化処理を完了した時点で、記録媒体１００内の領域情報格納部１２４において、図６に示すように、１番目の記録領域にのみ有効フラグが“１”（有効）に設定され、この記録領域のみがデータ処理装置２００によりアクセス可能な状態となる。
【００４８】
次に、記録媒体１００に対して初期化処理を行う場合のデータ処理装置２００の処理を説明する。図７に、データ処理装置２００側での、記録媒体１００の初期化のための処理及びその後の処理を示すフローチャートを示す。
【００４９】
データ処理装置２００の記録媒体装着部２１０に記録媒体１００が挿入されると、記録媒体１００に電源の供給を開始する（Ｓ４５１）。入出力処理部２２０のドライバソフトウェア２２１は、記録媒体１００に対して、初期化コマンドを発行する（Ｓ４５２）。記録媒体１００は、この初期化コマンドを受けると、前述の図５に示すような初期化処理を行う。その後、データ処理装置２００は記録媒体１００から初期化完了レスポンスを受信する（Ｓ４５３）。
【００５０】
次に、入出力処理部２２０は、記録媒体１００の有効記録領域に関するファイルシステムの情報を読み出して、ＲＡＭ等の所定の記録領域（図示せず）に格納する（Ｓ４５４）。以下に、この処理について図６の例を用いて具体的に説明する。
【００５１】
図６の例では、初期化処理により記録媒体１００の有効記録領域は領域識別番号が「１」の記録領域（記録領域＃１）に設定され、その記録領域＃１のアドレス属性は「バイト単位」である。記録媒体の各領域のファイルシステムの情報は、その領域の先頭セクタに格納されている。入出力処理部２２０は、記録領域＃１の領域の先頭セクタを読み出すため、バイト単位でアドレスを指定し、記録媒体１００にＲｅａｄコマンドを発行する。入出力処理部２２０は記録媒体１００から先頭セクタのデータを受け取ると、データ処理部２３０に渡す。データ処理部２３０は、先頭セクタのデータを参照し、記録領域＃１を管理するファイルシステムの種類（ＦＡＴ、ＦＡＴ３２等）を判定して、ファイルシステムの管理情報（ＦＡＴテーブル、ルートディレクトリエントリ等）を取得し、ＲＡＭ等の所定の記録領域に格納する。これらの処理において、データ処理部２３０のファイルシステム２３２は、入出力処理部２２０のドライバソフトウェア２２１に対し、セクタ単位で読み出し範囲（アドレス、サイズ）を指定する。記録領域＃１のアドレス属性は「バイト単位」であることから、ドライバソフトウェア２２１は、読み出し範囲をセクタ単位からバイト単位に変換し（例えば、１セクタが５１２バイトであれば、単に５１２倍する。）、変換後のバイト単位の範囲で記録媒体１００に対しＲｅａｄコマンドを発行する。
【００５２】
その後、データ処理部２３０は、記録媒体１００が初期化されたときにアプリケーションプログラム２３１により実行される、所定の処理を実行する（Ｓ４５５）。例えば、アプリケーションプログラム２３１が音楽コンテンツを再生するプログラムである場合、記録媒体１００に格納されている再生可能な音楽コンテンツに関するリスト情報を記録媒体１００から読み出し、データ処理装置２００の表示手段上に表示するというような処理を行う。このように、初期化後に、アプリケーションプログラム２３１が記録媒体１００からデータを読み出す必要があるときは、アプリケーションプログラム２３１は、ファイルシステム２３２に対してバイト単位で読み出し範囲を指定する。ファイルシステム２３２はこれをセクタ単位に変換し、ドライバソフトウェア２２１に通知する。ドライバソフトウェア２２１は、これをバイト単位に変換し、記録媒体１００にＲｅａｄコマンドを発行する。
【００５３】
（記録領域切り替え処理）
記録媒体１００の有効記録領域を切り替えるための処理について説明する。この記録領域切り替え処理は、有効にしたい記録領域の領域識別番号を指定して記録領域切り替えコマンドを、データ処理装置２００から記録媒体１００へ送信することにより実行される。
【００５４】
図８に、記録媒体１００の記録領域切り替え処理のフローチャートを示す。記録領域切り替え処理では、まず、記録媒体１００のホストインタフェース部１１０がデータ処理装置２００から記録領域切り替えコマンドを受け取る（Ｓ６０１）。記録領域切り替えコマンドは、図４（ｃ）に示すようなフォーマットを有しており、コマンド種別には、記録領域切り替えコマンドを意味する”ＡｒｅａＣｈａｎｇｅ”を意味する６ビットの情報が、付加情報には切り替えたい領域の領域識別番号（Ｎｕｍ）が格納されている。
【００５５】
次に、コマンド処理部１２１は記録媒体１００が初期化済みであるか否かを判定する（Ｓ６０２）。初期化されていない場合は、記録媒体１００のホストインタフェース部１１０経由でエラーレスポンスをデータ処理装置２００に送信し、処理を終了する（Ｓ６０６）。
【００５６】
初期化済みである場合、コマンド処理部１２１は、記録領域切り替えコマンドで指定された領域識別番号（Ｎｕｍ）を参照し、領域情報格納部１２４において、指定された領域識別番号（Ｎｕｍ）に該当する記録領域の有効フラグを“１”（有効）に設定する（Ｓ６０３）。
【００５７】
それとともに、有効フラグを“１”（有効）に設定した記録領域以外の記録領域の全てについて、有効フラグを “０”（無効）に設定する（Ｓ６０４）。
【００５８】
最後に、記録領域切り替え処理が完了したことを示す完了レスポンスを、記録媒体１００のホストインタフェース部１１０経由でデータ処理装置２００に送信する（Ｓ６０５）。
【００５９】
上記の記録領域切り替え処理後の、記録媒体１００内の領域情報格納部１２４の一例を図９に示す。同図は、有効記録領域が、領域識別番号が“３”の領域（記録領域＃３）に切り替えられた場合の例を示す。有効フラグは３番目の領域に対してのみ有効に設定されており、データ処理装置２００により３番目の記録領域のみアクセスできる状態となっている。
【００６０】
次に、記録媒体１００に対して領域切り替え処理を行う場合のデータ処理装置２００の処理を説明する。図１０に、データ処理装置２００側での、記録媒体１００の領域切り替え処理及びその後の処理のフローチャートを示す。
【００６１】
記録媒体１００の領域切り替えを行うため、入出力処理部２２０のドライバソフトウェア２２１は、記録媒体１００に対して、領域切り替えコマンドを発行する（Ｓ６５１）。記録媒体１００は、この領域切り替えコマンドを受けると、前述の図８に示すような領域切り替え処理を行う。その後、データ処理装置２００は記録媒体１００から領域切り替え処理の完了レスポンスを受信する（Ｓ６５２）。
【００６２】
その後、初期化処理時の場合と同様にして、記録媒体１００の有効記録領域に関するファイルシステムの情報を読み出して格納し（Ｓ６５３）、アプリケーションプログラム２３１による、記録媒体の領域設定後の所定の処理を実行する（Ｓ６５４）。ステップＳ６５３、Ｓ６５４の具体的な処理内容は、ステップＳ４５４、Ｓ４５５とそれぞれ同様である。
【００６３】
さらに、記録媒体の領域切り替え処理の別の例を示す。この別の例では、データ処理装置２００が記録領域切り替えコマンドを送信する際に、アドレス属性の指定も可能にする。
【００６４】
図１１に、記録媒体１００の記録領域切り替え処理の別の例のフローチャートを示す。
まず、記録媒体１００のホストインタフェース部１１０がデータ処理装置２００からの記録領域切り替えコマンドを受け取る（Ｓ１３０１）。本例での記録領域切り替えコマンドは、図１２に示すようなフォーマットを有する。コマンド種別には、領域切り替えコマンドであることを示す”ＡｒｅａＣｈａｎｇｅ”を意味する６ビットの情報が、付加情報には切り替えたい記録領域の領域識別番号（Ｎｕｍ）及びその記録領域に設定したいアドレス属性（Ａｔｔｒ）が格納される。図１２の例では、アドレス属性は２ビット値に拡張されており、バイト単位への設定は”００”を、セクタ単位への設定は”０１”を、現在の設定を変更しない場合は”１０”を指定する。
【００６５】
次に、コマンド処理部１２１は記録媒体１００が初期化済みであるか否かを判定する（Ｓ１３０２）。初期化されていない場合は、記録媒体１００のホストインタフェース部１１０経由でエラーレスポンスをデータ処理装置２００に送信し、処理を終了する（Ｓ１３０７）。
【００６６】
初期化済みである場合は、記録領域切り替えコマンドで指定された領域識別番号（Ｎｕｍ）を参照し、領域情報格納部１２４内の該当する記録領域の有効フラグを“１”（有効）に設定する（Ｓ１３０３）。
【００６７】
それとともに、有効フラグを“１”（有効）に設定した記録領域に対するアドレス属性を、コマンドにて指定された”Ａｔｔｒ”の値に設定する。但し、指定されたＡｔｔｒの値が”１０（変更なし）”の場合は、アドレス属性は変更しない（Ｓ１３０４）。
【００６８】
次に、Ｓ１３０３で有効フラグを“１”（有効）に設定した記録領域以外の領域の全てに対し、有効フラグを “０”（無効）に設定する（Ｓ１３０５）。
【００６９】
最後に、記録領域切り替え処理が完了したことを示すレスポンスを、記録媒体１００のホストインタフェース部１１０経由でデータ処理装置２００に送信する（Ｓ１３０６）。
【００７０】
上記の記録領域切り替え処理によれば、データ処理装置２００が記録媒体１００の記録領域切り替えを指示するタイミングで、切り替えたい記録領域のアドレス属性を所望の値に設定することができる。
【００７１】
（記録媒体に対するアクセス処理）
記録媒体１００に対するアクセス処理について説明する。記録媒体１００に対するデータ読み出し／書き込みは、記録媒体１００に対して、データ読み出し／書き込みコマンドすなわちＲｅａｄ／Ｗｒｉｔｅコマンドを送信することにより実行する。
【００７２】
最初に、記録媒体１００からのデータ読み出し処理について説明する。
図１３に、記録媒体１００内部におけるデータ読み出し処理のフローチャートを示す。データ読み出し処理では、まず、記録媒体１００のホストインタフェース部１１０がデータ処理装置２００からＲｅａｄコマンドを受け取る（Ｓ８０１）。Ｒｅａｄコマンドは図４（ｂ）に示すフォーマットを有し、読み出しを開始するアドレス（Ｏｆｆｓ）が指定される。さらに、読み出すデータのサイズ（Ｓｉｚｅ）も指定される。但し、サイズが固定値である場合には、サイズ指定は省略できる。
【００７３】
次に、コマンド処理部１２１は記録媒体１００が初期化済みであるか否かを判定する（Ｓ８０２）。初期化されていない場合、記録媒体１００のホストインタフェース部１１０経由でエラーレスポンスをデータ処理装置２００に送信し、処理を終了する（Ｓ８１０）。
【００７４】
初期化済みである場合、アクセス領域判定部１２２は領域情報格納部１２４の領域情報を参照し、有効フラグが“１”（有効）である領域を探索する（Ｓ８０３）。次に、アドレス決定部１２３は、探索された領域の領域長ＡＳ及びアドレス属性を取得する（Ｓ８０４）。
【００７５】
次に、取得したアドレス属性に基づき、コマンドで指定された読み出し開始アドレス（Ｏｆｆｓ）の単位がバイト単位であるかセクタ単位であるかを判定し、セクタ単位であれば、バイト単位に変換する（Ｓ８０５）。変換したものをＦ（Ｏｆｆｓ）とする。
【００７６】
そして、Ｆ（Ｏｆｆｓ）にＳｉｚｅを加算したものと、ＡＳとを比較し、読み込み領域が全てアクセス可能な領域内に含まれているか否かを確認する（Ｓ８０６）。
【００７７】
ＡＳが｛Ｆ（Ｏｆｆｓ）＋Ｓｉｚｅ｝よりも小さい場合、読み込み領域がアクセス可能な領域を越えているため、記録媒体１００のホストインタフェース部１１０経由でエラーレスポンスをデータ処理装置２００に送信し、処理を終了する（Ｓ８１１）。
【００７８】
ＡＳが｛Ｆ（Ｏｆｆｓ）＋Ｓｉｚｅ｝以上の場合、検索された領域の開始アドレスＡ０を取得する（Ｓ８０７）。
【００７９】
次に、記録領域の読み出し開始位置を決定するため、Ｆ（Ｏｆｆｓ）にＡ０を加算してＯｆｆｓ’を算出する（Ｓ８０８）。
【００８０】
次に、記録領域アクセス部１２５は、Ｏｆｆｓ’の位置からＳｉｚｅ分のデータを読み出し、記録媒体１００のホストインタフェース部１１０経由で、読み出したデータをデータ処理装置２００に送信する（Ｓ８０９）。
【００８１】
最後に、データ読み出し処理が完了したことを示す完了レスポンスを、記録媒体１００のホストインタフェース部１１０経由でデータ処理装置２００に通知する（Ｓ８１０）。
【００８２】
このように記録媒体１００内で、現在有効となっている記録領域（有効記録領域）の情報を管理し、データ処理装置２００から指定されたアクセス位置を現在の有効記録領域の物理的なアドレスに変換することで、複数に分割された記録領域のうち特定の記録領域に対するアクセスを可能とする。そして、データ処理装置２００から与えられたアドレスは、記録媒体１００の内部で、アクセス対象である記録領域に対応したアドレス属性（バイト単位もしくはセクタ単位）で解釈される。
【００８３】
記録媒体１００に対してデータ読み出しを行う場合のデータ処理装置２００の処理を説明する。図１４に、データ処理装置２００側での、記録媒体１００に対するデータ読み出し処理のフローチャートを示す。
【００８４】
アプリケーションプログラム２３１は、ファイルシステム２３２に対し、読み出し対象のファイルを指定するとともに読出し範囲をバイト単位で指定する（Ｓ８５１）。ファイルシステム２３２は、バイト単位で指定された読み出し範囲をセクタ単位の範囲に変換する（Ｓ８５２）。このとき、図１５に示すように、バイト単位で指定された範囲の境界がセクタの境界と一致しないときは、変換後のセクタ単位の範囲（Ｂ）が、変換前のバイト単位の範囲（Ａ）を包含するように変換後のセクタ単位の範囲（Ｂ）を決定する必要がある。
【００８５】
ファイルシステム２３２は、入出力処理部２２０（ドライバソフトウェア２２１）に対し、変換後のセクタ単位で指定した読み出し範囲で、データ読み出しを指示する（Ｓ８５３）。
【００８６】
ドライバソフトウェア２２１は、記録媒体１００の現在の有効記録領域のアドレス属性が”セクタ単位”か”バイト単位”かを判定する（Ｓ８５４）。
【００８７】
アドレス属性が”セクタ単位”であれば、ドライバソフトウェア２２１は、ファイルシステム２３２により指定されたセクタ単位の読み出し範囲で、記録媒体１００にＲｅａｄコマンドを発行する（Ｓ８５５）。
【００８８】
アドレス属性が”バイト単位”であれば、ドライバソフトウェア２２１は、ファイルシステム２３２により指定されたセクタ単位の範囲をバイト単位の範囲に変換し、そのバイト単位の範囲で、記録媒体１００にＲｅａｄコマンド発行する（Ｓ８５６）。
【００８９】
ドライバソフトウェア２２１は、Ｒｅａｄコマンドに対する記録媒体１００からのデータを受信し、ファイルシステム２３２に送る（Ｓ８５７）。
【００９０】
ファイルシステム２３２は、受信したデータのうち、アプリケーションプログラム２３１により指定された範囲のデータのみをアプリケーションプログラム２３１に送る（Ｓ８５８）。すなわち、記録媒体１００から読み出されたデータは、図１５に示すようなセクタ単位で指定された広いアドレス範囲（Ｂ）に対するものであるが、アプリケーションプログラム２３１が実際に要求したデータは、バイト単位で指定したせまい範囲（Ａ）に対するものである。このため、ファイルシステム２３２は、記録媒体から読み出されたデータのうち、実際に要求された部分（Ａ）のみをアプリケーションプログラム２３１に送信する。
【００９１】
次に、記録媒体１００へのデータ書き込み時のデータ処理装置２００の処理について説明する。
【００９２】
データ処理部２３０（アプリケーションプログラム２３１）は、書き込み対象ファイルと、バイト単位で指定された書き込み範囲と、書き込みデータとをファイルシステム２３２へ送信する（Ｓ１５０１）。ファイルシステム２３２は書き込み範囲をセクタ単位に変換する（Ｓ１５０２）。このとき、図１５に示すように、バイト単位で指定された範囲の境界がセクタの境界と一致しないときは、変換後の範囲（Ｂ）がバイト単位で指定された範囲（Ａ）を包含するように、変換後の範囲（Ｂ）が設定される。
【００９３】
ファイルシステム２３２は、入出力処理部２２０（ドライバソフトウェア２２１）に、変換後のセクタ単位で指定した範囲のデータの読み出しを指示する（Ｓ１５０３）。ドライバソフトウェア２２１は、記録媒体１００の有効記録領域のアドレス属性を判定する（Ｓ１５０４）。
【００９４】
有効記録領域のアドレス属性が”セクタ単位”であれば、ドライバソフトウェア２２１は、ファイルシステム２３２により指定されたセクタ単位の範囲で、記録媒体１００にＲｅａｄコマンドを発行する（Ｓ１５０５）。
【００９５】
有効記録領域のアドレス属性が”バイト単位”であれば、ドライバソフトウェア２２１は、ファイルシステム２３２により指定されたセクタ単位の範囲をバイト単位の範囲に変換し、その変換後の範囲で、記録媒体１００にＲｅａｄコマンド発行する（Ｓ１５０６）。
【００９６】
ドライバソフトウェア２２１は、記録媒体１００から読み出されたデータを受信し、それをファイルシステム２３２に送る（Ｓ１５０７）。
【００９７】
ファイルシステム２３２は、記録媒体１００から読み出されたデータ中のアプリケーションプログラム２３１により指定された範囲のデータを、アプリケーションプログラム２３１から送られたデータで置き換える（Ｓ１５０８）。つまり、図１７に示すように、記録媒体１００から読み出されたデータのうち、アプリケーションプログラム２３１が実際に指定した範囲（Ｄ）の部分について、アプリケーションプログラム２３１により指定されたデータで置換する。
【００９８】
その後、ファイルシステム２３２は、その置換されたデータを含むセクタ単位の範囲で、入出力処理部２２０（ドライバソフトウェア２２１）に、書き込み指示を行う（Ｓ１５０９）。
【００９９】
ドライバソフトウェア２２１は、記録媒体１００の有効記録領域のアドレス属性を判定する（Ｓ１５１０）。
【０１００】
有効記録領域のアドレス属性が”セクタ単位”であれば、ドライバソフトウェア２２１は、ファイルシステム２３２により指定されたセクタ単位の範囲に、ファイルシステム２３２から受信したデータを書き込むように、記録媒体１００に対してＷｒｉｔｅコマンドを発行する（Ｓ１５１１）。
【０１０１】
有効記録領域のアドレス属性が”バイト単位”であれば、ドライバソフトウェア２２１は、ファイルシステム２３２により指定されたセクタ単位の範囲をバイト単位の範囲に変換し、その変換後の範囲にファイルシステム２３２から受信したデータを書き込むように、記録媒体１００にＷｒｉｔｅコマンド発行する（Ｓ１５１２）。
【０１０２】
その後、ドライバソフトウェア２２１は、記録媒体１００から、書き込み完了を示すレスポンスを受信し、さらに、その旨をファイルシステム２３２に通知する（Ｓ１５１３）。ファイルシステム２３２は、ドライバソフトウェア２２１から書き込み完了通知を受信し、さらに、アプリケーションプログラム２３１にそれを通知する（Ｓ１５１４）。
【０１０３】
なお、記録媒体１００側では、データ処理装置２００からＷｒｉｔｅコマンドを受信すると、Ｗｒｉｔｅコマンドで指定された書き込みアドレスの単位を、領域情報格納部１２４内のアドレス属性を参照して認識し、指定されたアドレスの単位を適宜変換することにより、書き込み先を特定でき、書き込み動作を実行できる。
【０１０４】
（記録領域の領域長の変更手順）
記録媒体１００におけるデータ格納部１３０の各記録領域の領域長を変更（設定）する手順について説明する。この領域長設定処理は、データ処理装置２００から記録媒体１００へ、設定したい記録領域の領域識別番号と、開始アドレスと、領域の大きさとを指定して領域長設定コマンドを送信することにより実行される。
【０１０５】
図１８は、記録媒体１００内の領域長設定処理の流れを示すフローチャートである。
まず、記録媒体１００のホストインタフェース部１１０がデータ処理装置２００から領域長設定コマンドを受け取る（Ｓ９０１）。領域長設定コマンドでは、領域長を設定したい領域の領域識別番号（Ｎｕｍ）と、開始アドレス（Ａ０）と、設定する領域長（Ｓｉｚｅ）とを指定する。図１９に、これらの情報を設定するためのコマンドの例を示す。図１９の例では、図１９（ａ）に示すＡｒｅａＣｈａｎｇｅコマンドで領域指定番号（Ｎｕｍ）を設定し、図１９（ｂ）に示すＳｅｔＡ０コマンドで開始アドレス（Ａ０）を設定し、図１９（ｃ）に示すＳｅｔＳｉｚｅコマンドで領域長（Ｓｉｚｅ）を設定し、最後に図１９（ｄ）に示すＣｈａｎｇｅＡｒｅａＳｉｚｅコマンドで、領域長設定の開始を指示する形式になっている。
【０１０６】
次に、コマンド処理部１２１は記録媒体１００が初期化済みであるか否か判定する（Ｓ９０２）。初期化されていない場合は、記録媒体１００のホストインタフェース部１１０経由でエラーレスポンスをデータ処理装置２００に送信し、処理を終了する（Ｓ９０８）。
【０１０７】
初期化済みである場合は、コマンド処理部１２１が、Ｎｕｍ番目の記録領域以外の記録領域において、開始アドレスがＡ０、サイズがＳｉｚｅとなる記録領域が含まれるか否かを確認する（Ｓ９０３）。
【０１０８】
そのような記録領域が含まれる場合、領域長設定後のＮｕｍ番目の記録領域が既存の記録領域と重なり不都合が生じるため、記録媒体１００のホストインタフェース部１１０経由でエラーレスポンスをデータ処理装置２００に送信し、処理を終了する（Ｓ９０８）。
【０１０９】
そのような記録領域が含まれていない場合、領域情報格納部１２４からＮｕｍ番目の記録領域に関する領域情報を検索する（Ｓ９０４）。
【０１１０】
検索したＮｕｍ番目の記録領域に関する領域情報の開始アドレス、領域長を、それぞれコマンドで指定したＡ０、Ｓｉｚｅに変更する（Ｓ９０５）。
【０１１１】
次に、受信コマンドで指定されたＳｉｚｅからアドレス属性の値を決定し、Ｎｕｍ番目の領域に関する領域情報のアドレス属性を更新する（Ｓ９０６）。このとき、アドレス属性は、例えば、Ｓｉｚｅが所定値よりも小さい場合には、アドレス属性を”０”（バイト単位）に決定され、所定値以上の場合にはアドレス属性を”１”（セクタ単位）に決定され得る。
【０１１２】
最後に、領域長設定処理が完了したことを示すレスポンスを、記録媒体１００のホストインタフェース部１１０経由でデータ処理装置２００に送信する（Ｓ９０７）。
【０１１３】
領域長設定処理において、設定後の記録領域が他の記録領域に重ならない場合は上記の手順により領域長の設定が可能である。アドレス属性は新しい領域長に応じて自動的に決定される。
【０１１４】
（記録領域の削除処理）
２つの記録領域を１つの記録領域に併合するなどの場合、設定後の記録領域が他の記録領域に重なるため、一旦２つの記録領域を削除した上で、上記の領域長設定処理を行う必要がある。以下に、この記録領域の削除処理について説明する。
【０１１５】
図２０は、記録媒体１００内の領域削除処理を示すフローチャートである。
領域削除処理では、まず、記録媒体１００のホストインタフェース部１１０がデータ処理装置２００から領域削除コマンドを受け取る（Ｓ１１０１）。領域削除コマンドは、図２１に示すように、コマンド種別には、領域削除を示す”ＤｅｌＡｒｅａ”を意味する６ビットの情報が格納され、付加情報には、削除対象の領域の領域識別番号（Ｎｕｍ）が格納される。
【０１１６】
次に、コマンド処理部１２１は記録媒体１００が初期化済みであるか否かを判定する（Ｓ１１０２）。初期化されていない場合は、記録媒体１００のホストインタフェース部１１０経由でエラーレスポンスをデータ処理装置２００に送信し、処理を終了する（Ｓ１１０６）。
【０１１７】
初期化済みである場合は、領域情報格納部１２４からＮｕｍ番目の記録領域に関する領域情報を探索する（Ｓ１１０３）。
【０１１８】
次に、探索したＮｕｍ番目の記録領域に関する領域情報の開始アドレス、領域長を共に０に変更する（Ｓ１１０４）。
【０１１９】
最後に、領域削除処理が完了したことを記録媒体１００のホストインタフェース部１１０経由でデータ処理装置２００に通知する（Ｓ１１０５）。
【０１２０】
以上のように、本発明によれば、記録媒体１００内のデータにアクセスする前に記録領域切り替えコマンドを発行することにより所望の記録領域に切り替えることを可能とする。そのため、記録媒体１００内のデータ格納部１３０を複数に分割し、それぞれの記録領域に独立したファイルシステムが構築されている場合に、自己のデータ処理装置２００が解釈可能なファイルシステムが構築されている記録領域を選択し、アクセスすることが可能となる。そして、選択した記録領域のサイズに応じてアドレス属性（バイト単位もしくはセクタ単位）が自動的に切り替わるため、読み書きを行う前にアドレス属性を改めて設定する必要がない。
【０１２１】
なお、本実施形態においては、図４（ａ）に示すコマンドフォーマットで説明したが、このフォーマットは一例である。従って、コマンドのビット長や各フィールドの種類を変更してもよい。例えばビット長を増加した場合、図１９に示していた領域長変更のためのコマンドは４つに分割せずに、１つのコマンドとして送信することも可能である。
【０１２２】
また、本実施の形態においては、アドレス属性をバイト単位もしくはセクタ単位の二択としたが、それ以外の単位（例えば、クラスタ単位）を設定してもよい。
【０１２３】
また、本実施の形態においては、データ読み込み処理の説明において、有効な領域を超えるアクセスを行った場合はエラーとしたが、読み込み可能なデータを読み込む仕様としてもよい。
【０１２４】
また、読み出すサイズ（Ｓｉｚｅ）の指定方法も選択した記録領域によって設定（バイト単位もしくはセクタ単位）を切り替える必要がある場合には、領域情報格納領域１２４にサイズ属性というフィールドを新たに用意し、本実施の形態で説明したアドレス指定方法と同様の処理を行ってもよい。アドレス指定方法とサイズ指定方法が同期する場合には前記アドレス属性をサイズ属性として共用してもよい。
【０１２５】
また、データ読み込み処理の説明において、読み出すサイズ（Ｓｉｚｅ）は最初にデータ処理装置２００が設定するとしたが、事前に設定しなくてもよい。例えば、読み込みを開始するアドレス（Ｏｆｆｓ）のみを設定し、記録媒体１００はデータ処理装置２００から読み出し、停止コマンド（Ｓｔｏｐコマンド）が送信されるまで、順次データを読み出してデータ処理装置２００に送信し続けるという仕様であってもよい。
【０１２６】
また、本実施の形態においては、初期化処理時に１番目の記録領域に有効フラグを設定する場合について説明したが、別の特殊コマンドを設け、初期化処理時に最初に設定される記録領域をデータ処理装置２００が指定できるようにしてもよい。
【０１２７】
もしくは、領域情報格納領域１２４のうちアドレス属性のような物理的仕様を格納しているフィールドを参照して決定してもよい。例えば、１番目の記録領域から順に検索していき、最初にアドレス属性が”０”（バイト単位）になっている記録領域に有効フラグを設定してもよい。
【０１２８】
また、本実施の形態においては、記録領域毎の物理的仕様の情報としてアドレス属性について記述したが、それ以外の情報を領域情報格納領域１２４に格納して領域切り替えと連動して使用してもよい。例えば、図２２に示すように、領域情報格納部１２４がアドレス属性に加えてコマンドセット番号を格納してもよい。このとき、記録領域の切り替え処理と同期してコマンドセットを自動的に切り替えることが可能となる。また、図２２に示すように、領域格納領域１２４にコマンドフォーマット番号を格納してもよい。このとき、記録領域の切り替え処理と同期してコマンドフォーマットを自動的に切り替えることが可能となる。
【０１２９】
また、本実施の形態においては、アドレス属性は記録領域のサイズから自動的に決定されるものとしたが、別の特殊コマンドを設け、データ処理装置２００が任意の値に変更する手段を備えていても良い。
【０１３０】
また、記録媒体１００に物理的なスイッチを設けて、このスイッチにより記録媒体１００の有効記録領域を設定できるようにしてもよい。例えば、図２３に示すように記録媒体１００にＤＩＰスイッチを設けてもよい。図２３に示す記録媒体１００は、３ビットのＤＩＰスイッチ１９０を有しており、各ビットを適宜設定することにより８つの記録領域の切り替えが可能となる。
【０１３１】
本発明は、特定の実施形態について説明されてきたが、当業者にとっては他の多くの変形例、修正、他の利用が明らかである。それゆえ、本発明は、ここでの特定の開示に限定されず、添付の請求の範囲によってのみ限定され得る。
【産業上の利用可能性】
【０１３２】
本発明は、大きさの異なる複数の記録領域を有する情報記録媒体に適用でき、例えば、各記録領域を異なるファイルシステムで管理し、かつアドレス空間の大きい記録領域を有する記録媒体に有用である。
【図面の簡単な説明】
【０１３３】
【図１】本発明の記録媒体及びデータ処理装置の構成例を示したブロック図
【図２】データ処理装置の具体的な構成を示した図
【図３】記録媒体の領域情報格納部に格納される情報の一例を示した図
【図４】記録媒体に対するコマンドフォーマットの一例を示した図
【図５】記録媒体における初期化処理を示すフローチャート
【図６】初期化処理後の領域情報格納部の一例を示した図
【図７】データ処理装置における初期化処理及びその後の処理を示すフローチャート
【図８】記録媒体における記録領域切り替え処理を示すフローチャート
【図９】記録領域切り替え処理後の領域情報格納部の一例を示した図
【図１０】データ処理装置における記録領域切り替え処理及びその後の処理を示すフローチャート
【図１１】記録媒体における記録領域切り替え処理の別の例を示すフローチャート
【図１２】記録領域切り替えのためのコマンドデータの例を示した図
【図１３】記録媒体におけるデータ読み出し処理を示すフローチャート
【図１４】データ処理装置におけるデータ読み出し処理を示すフローチャート
【図１５】バイト単位で指定されたデータ範囲と、セクタ単位に変換後のデータ範囲との関係を説明するための図
【図１６Ａ】データ処理装置におけるデータ書き込み処理を示すフローチャート
【図１６Ｂ】データ処理装置におけるデータ書き込み処理を示すフローチャート（図１６Ａのつづき）
【図１７】記録媒体から読み出したセクタ単位でのデータ範囲と、アプリケーションにより指定されたバイト単位でのデータ範囲との関係を説明するための図
【図１８】記録媒体における領域長設定処理を示すフローチャート
【図１９】領域長切り替えのためのコマンドデータ例を示した図
【図２０】記録媒体における領域削除処理を示すフローチャート
【図２１】領域削除のためのコマンドデータの例を示した図
【図２２】コマンドセット番号とコマンドフォーマット番号を格納する領域情報格納部を示した図
【図２３】有効記録領域を切り替えるための物理スイッチを備えた記録媒体を示した図
【符号の説明】
【０１３４】
１００    記録媒体
１１０    ホストインタフェース部
１２０    制御部
１２１    コマンド処理部
１２２    アクセス領域判定部
１２３    アドレス決定部
１２４    領域情報格納部
１２５    記録領域アクセス部
１３０    データ格納部
２００    データ処理装置
２１０    記録媒体装着部
２２０    入出力処理部
２３０    データ処理部 
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2005045680.tif 000026
【図２】
2005045680.tif 000027
【図３】
2005045680.tif 000028
【図４】
2005045680.tif 000029
【図５】
2005045680.tif 000030
【図６】
2005045680.tif 000031
【図７】
2005045680.tif 000032
【図８】
2005045680.tif 000033
【図９】
2005045680.tif 000034
【図１０】
2005045680.tif 000035
【図１１】
2005045680.tif 000036
【図１２】
2005045680.tif 000037
【図１３】
2005045680.tif 000038
【図１４】
2005045680.tif 000039
【図１５】
2005045680.tif 000040
【図１６Ａ】
2005045680.tif 000041
【図１６Ｂ】
2005045680.tif 000042
【図１７】
2005045680.tif 000043
【図１８】
2005045680.tif 000044
【図１９】
2005045680.tif 000045
【図２０】
2005045680.tif 000046
【図２１】
2005045680.tif 000047
【図２２】
2005045680.tif 000048
【図２３】
2005045680.tif 000049
【手続補正書】
【提出日】平成19年10月10日(2007.10.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ処理装置からデータの書き込み、読み出しが可能な記録媒体であって、
前記データ処理装置との間で通信を行うホストインタフェース部と、
データを格納するための複数の記録領域を有するデータ格納部と、
該データ格納部の各記録領域に関する情報を格納する領域情報格納部とを備え、
前記領域情報格納部は、前記データ格納部の各記録領域へのアクセス時にデータ処理装置から指定されるアドレス単位であるアドレス属性に関する情報を格納する
ことを特徴とする記録媒体。
【請求項２】
前記アドレスの単位はセクタまたはバイトであることを特徴とする請求項１記載の記録媒体。
【請求項３】
前記データ処理装置からデータの書き込みまたは読み出しを指示するコマンドを前記ホストインタフェース部を介して受信し、そのコマンド中にアクセス範囲を示すアドレスが指定されている場合に、前記コマンドに指定されたアドレスの単位を前記領域情報格納部に格納されたアドレス属性に基づいて判断する制御手段をさらに備えたことを特徴とする請求項１記載の記録媒体。
【請求項４】
前記データ格納部内の各記録領域は、各記録領域に応じたファイルシステムにより格納データが管理されることを特徴とする請求項１記載の記録媒体。
【請求項５】
前記領域情報格納部は、さらに、前記ホストインタフェース部が受信するコマンドのコマンドセットの種類に関する情報を格納することを特徴とする請求項１記載の記録媒体。
【請求項６】
前記領域情報格納部は、さらに、前記ホストインタフェース部が受信するコマンドのフォーマットの種類に関する情報を格納することを特徴とする請求項１記載の記録媒体。
【請求項７】
前記データ格納部内において前記データ処理装置からアクセス可能な記録領域を設定するコマンドを前記ホストインタフェース部を介して前記データ処理装置から受信し、アクセス可能に設定する記録領域のアドレス属性が前記コマンドにおいて指定される場合に、前記受信したコマンドにしたがい、前記領域情報格納部においてアクセス可能な領域を設定するとともに、その設定したアクセス可能な領域のアドレス属性を変更する制御手段をさらに備えたことを特徴とする請求項１記載の記録媒体。
【請求項８】
前記データ処理装置から、前記データ格納部における記録領域のサイズを変更するコマンドを前記ホストインタフェース部を介して受信したときに、そのコマンドにしたがい記録領域のサイズを変更するとともに、変更した記録領域のアドレス属性を変更後の記録領域のサイズに応じて決定し、該決定したアドレス属性を用いて前記領域情報格納部を更新する制御手段をさらに備えたことを特徴とする請求項１記載の記録媒体。
【請求項９】
データを格納するデータ格納領域を有し、該データ格納領域に対して外部よりデータの書き込み、読み出しが可能な記録媒体の制御方法において、
前記記録媒体のデータ格納領域を複数の記録領域に分割し、
分割した各記録領域に関する情報である領域情報を記録媒体中の所定の領域に格納し、
該領域情報は各記録領域へのアクセス時にデータ処理装置から指定されるアドレス単位であるアドレス属性に関する情報を含む
ことを特徴とする記録媒体の制御方法。
【請求項１０】
前記アドレスの単位はセクタまたはバイトであることを特徴とする請求項９記載の記録媒体の制御方法。
【請求項１１】
データの書き込みまたは読み出しを指示するコマンドであって、該コマンド中にアクセス範囲を示すアドレスが指定されたコマンドを受信し、
該受信したコマンド中に指定されたアドレスの単位を、前記格納しているアドレス属性に基づいて判断してアクセス範囲を特定する
ことを特徴とする請求項９記載の記録媒体の制御方法。
【請求項１２】
前記各記録領域は、各記録領域に応じたファイルシステムにより格納データが管理されることを特徴とする請求項９記載の記録媒体の制御方法。
【請求項１３】
前記領域情報は、さらに、受信するコマンドのコマンドセットの種類に関する情報を含むことを特徴とする請求項９記載の記録媒体の制御方法。
【請求項１４】
前記領域情報は、さらに、受信するコマンドのフォーマットの種類に関する情報を含むことを特徴とする請求項９記載の記録媒体の制御方法。
【請求項１５】
前記領域情報は、外部よりアクセス可能な記録領域を示す情報を含んでおり、
外部よりアクセス可能な記録領域を設定するコマンドであって、該コマンド中にアクセス可能にする記録領域のアドレス属性が指定されるコマンドを受信し、
前記領域情報において、前記受信したコマンドにしたがい、アクセス可能な記録領域を設定し、その設定されたアクセス可能な記録領域のアドレス属性に関する情報を変更する
ことを特徴とする請求項９記載の記録媒体の制御方法。
【請求項１６】
前記領域情報は、さらに各記録領域のサイズを含んでおり、
前記記録媒体の記録領域のサイズを変更するコマンドを受信し、
そのコマンドにしたがい記録領域のサイズを変更し、
変更した記録領域のアドレス属性を変更後の記録領域のサイズに応じて決定し、該決定したアドレス属性を用いて前記領域情報を更新する
ことを特徴とする請求項９記載の記録媒体の制御方法。
【国際調査報告】
2005045680.tif 000050
2005045680.tif 000051
2005045680.tif 000052
2005045680.tif 000053