説明

着脱可能媒体用のドライブ指示機構

【課題】機能不良を診断することができる情報を有する光ディスクシステム。
【解決手段】光ディスクシステム126は、当該ディスクシステムによる着脱可能光ディスク100への書き込みを制御するコードを含むコンピュータ可読媒体122を備える。光ディスクシステムは、光ディスクからデータを読み出すと共に光ディスクにデータを書き込む光ピックアップユニット102と、読み出し及び書き込み中に光ディスクを回転させるスピンドルモータ108と、ディスクから読み出されるデータ及びディスクに書き込まれるデータを処理する光ディスクコントローラ114と、コードを実行することにより、光ディスクシステムに対し着脱可能光ディスクにユーザデータを書き込ませると共に、光ディスクシステムを示す識別値を着脱可能光ディスクの少なくとも1つの所定エリアに書き込ませる、プロセッサ120と、をさらに備える。

【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、2005年6月24日に出願された米国特許出願第11/166,845号の一部継続出願である。
【背景技術】
【0002】
電子システムの中には、着脱可能記憶媒体上にデータを記憶することができるストレージドライブを含むものがある。この記憶媒体は着脱可能であるので、記憶媒体上のデータは、1つ又は複数のストレージドライブが書き込むことができる。さらに、記憶媒体の1つ又は複数の部分(たとえば、セクタ)が機能不良である場合がある。この機能不良は、記憶媒体自体によって引き起こされる場合もあるし、記憶媒体にアクセス中のドライブによって引き起こされる場合もある。このような機能不良を診断することができる情報を有することが望ましい。
【図面の簡単な説明】
【0003】
【図1】本発明の例示的な一実施形態によるシステムを示す図である。
【図2】ドライブ識別子テーブルが記憶媒体に含まれる一実施形態を示す図である。
【図3】図2のドライブ識別子テーブルの例示的な一実施形態を示す図である。
【図4】個々のストレージデバイスを識別するインデックス値が媒体のアドレス指定可能単位に記憶される記憶媒体の一部の一例を示す図である。
【図5】例示的な方法の一実施形態を示す図である。
【図6】本発明の一実施形態による光ディスクシステムの一例を示す図である。
【図7】本システムで使用されるコンテンツがネットワークからダウンロードされるか又はネットワークによって可能となる一実施形態を示す図である。
【図8A】本発明の一実施形態例による情報のブロックのレイアウトを示す図である。
【図8B】本発明の一実施形態例による情報のブロックのレイアウトを示す図である。
【図8C】本発明の一実施形態例による情報のブロックのレイアウトを示す図である。
【図8D】本発明の一実施形態例による情報のブロックのレイアウトを示す図である。
【図9】識別情報を含む読出し専用媒体を作成する、本発明の一実施形態例による一方法の一例の概略図である。
【図10A】本発明の一実施形態による読出し専用光ディスクの一例を示す図である。
【図10B】本発明の一実施形態による書込み可能光ディスクの一例を示す図である。
【発明を実施するための形態】
【0004】
次に、本発明の例示的な実施形態の詳細な説明について、添付図面が参照される。
【0005】
(表記法及び用語体系)
以下の説明及び特許請求の範囲の全体にわたって、特定のシステムコンポーネントを参照するために、一定の用語が使用される。当業者には理解されるように、コンピュータ会社によって、1つのコンポーネントを異なる名前で呼ぶ場合がある。本明細書は、名前は異なるが、機能は異ならないコンポーネントを区別することは意図していない。以下の解説及び特許請求の範囲において、「含む」及び「備える」という用語は、非限定的に使用され、したがって、「〜を含むが、これらに限定されるものではない」ことを意味するように解釈されるべきである。また、「結合する」という用語は、間接的な電気的接続又は直接的な電気的接続のいずれをも意味するように意図されている。したがって、第1のデバイスが第2のデバイスに結合する場合、その接続は、直接的な電気的接続によるものである場合もあるし、他のデバイス及び接続を介した間接的な電気的接続によるものである場合もある。「記録する」という動詞は、記憶媒体上へのデータの記憶、書き込み、又は別の方法での転送を意味する。「システム」という用語は、2つ以上のコンポーネントの集まりを指し、たとえば、コンピュータシステム又はコンピュータのサブシステム(たとえば、ストレージドライブ)を指すのに使用することができる。
【0006】
(詳細な説明)
図1は、本発明の例示的な一実施形態に従って実施されるシステム20を示している。図示するように、システム20は、ストレージドライブ30に結合されたホスト22を備える。一般に、ホスト22は、ストレージドライブにデータを記憶し、ストレージドライブからデータを読み出す。したがって、ホスト22は、ストレージドライブのデータ源を表し、且つ/又は、ホスト22若しくは他のデバイスにより使用されるストレージドライブから取り出されたデータの消費者を表す。ホスト22は、コンピュータとして実施することでき、ストレージドライブ30は、そのコンピュータの外部に存在することもできるし、そのコンピュータの内部に配置することもできる。ホスト22は、中央処理装置(「CPU」)24及びデバイスドライバ26を含む。デバイスドライバ26は、CPU24によって実行されるソフトウェアを備え、本明細書で説明する動作の1つ又は複数をCPUに実行させることができる。また、ホスト22は、明瞭にするために特に図示しない他のコンポーネントを含むことができる。
【0007】
ストレージドライブ30は、人又はマシン(たとえば、自動テープドライブ装填システム)によって挿入することができるような着脱可能記憶媒体32を収容するようになっている。この記憶媒体32には、光ディスク、磁気ディスク、ソリッドステートメモリ等の任意の適切なタイプの媒体が含まれ得る。さらに、記憶媒体は、「追記型(ライトワンス)」媒体又は「書き換え可能」記憶媒体として実装することもできる。データは、追記型媒体に2回以上記録することができるが、データが追記型媒体(たとえば、CD−R)に書き込まれると、そのようなデータは、上書きも消去もすることができない。書き換え可能記憶媒体上のデータは、上書き又は消去することができる。
【0008】
また、ストレージドライブ30は、CPU36、及び、CPU36が実行することができるコード38を含むことができる。本明細書で説明する動作の1つ又は複数は、ストレージドライブのCPU36がコード38を実行することによって行うことができる。その上、本明細書で説明する動作のすべては、コード38又はデバイスドライバ26によって行うことができる。他の実施形態では、本明細書で説明する動作のいくつかは、デバイスドライバ26によって行われ得る一方、それ以外の動作は、コード38によって行われる。以下の解説は、さまざまな動作を行うコード38に言及するが、他の実施形態では、デバイスドライバ26をこれに加えて又はこれに代えて使用することもできる。
【0009】
また、ストレージデバイス30は、関連付けられるドライブを他のすべてのドライブから一意に識別することができるドライブ識別子(「ID」)34等の識別値を備える。たとえば、ドライブIDは、ドライブ製造者によって割り当てられたシリアル番号を含むことができる。他の実施形態では、ドライブID34は、すべてとは限らず少なくとも一部の他のドライブに一意とすることができる。ドライブID34が、同じドライブIDを有する2つ又は3つ以上のドライブで同じ記憶媒体32が使用され得る確率が十分低いようなものであれば、本明細書で開示した主題の目的にとって一般に十分である。(「一意」のドライブIDにおけるような)「一意」という用語は、本開示では双方の状況において使用される。ドライブID34は、ストレージドライブ30の不揮発性メモリに記憶することもできるし、(たとえば、ドライブに収容されるプリント回路基板上に形成されたトレース上の一意のパターンで)ドライブの回路部内にハードコード化することもできる。いくつかの実施形態では、ドライブIDは、恒久的であり、したがって、変更することができない。また、ドライブIDを恒久的にするか、又は、少なくとも、専用機器又は専用プロセスを用いずには変更が困難であるとすることが適切である。他の実施形態では、ドライブIDは、ドライブの識別子の代わりに、又は、ドライブの識別子に加えて、ホスト22の識別子を含む。さらに、ドライブIDは、システム10又はシステム10のユーザに関して公に利用可能な情報を含む。ドライブIDは、これに加えて又はこれに代えて、システム10のユーザのプライバシーを保護するのに有効な法的手続き(たとえば、捜査令状)に従って合法的に取り出し可能なプライベート情報を含むことができる。
【0010】
ドライブID34は、英数字及び/又は他のシンボルを含む値を含むことができる。少なくとも1つの実施形態では、ドライブID34は、製造者コード(16ビット)、モデルコード(16ビット)、及びシリアル番号(32ビット)を含む64ビット値を含む。それぞれ異なるストレージドライブ製造者には、一意の製造者コードを割り当てることができ、16ビットの場合、65,000個よりも多くの異なる製造者コードが可能である。必要に応じて改訂版を含めたストレージデバイスの異なる各モデルにも一意のモデルコードを割り当てることができる。16ビットがモデルコードに使用される場合、一意に利用可能なモデルコードは65,000個よりも多い。シリアル番号は、一般に、各ドライブに一意である。したがって、同じ製造者によって提供された同じモデルの2つのドライブであっても、ドライブIDのシリアル番号の構成要素が異なるので、異なるドライブIDを有する。ドライブIDの3つの構成要素(製造者コード、モデルコード、及びシリアル番号)は、共に連結することもできるし、それ以外に、任意の適切な方法で、共に結合又は使用することができる。
【0011】
代替的な実施形態では、特定のモデルのあらゆるドライブは、それらのドライブで実行されるファームウェアに符号化されたドライブIDを有することができる。この実施形態では、特定のモデルの各ドライブは、同じ32ビットシリアル番号を有する。ファームウェアがアップグレードされても、ドライブのシリアル番号は変更されず、それまで通り利用可能である。別の実施形態によれば、ドライブIDは、ホスト(たとえば、デバイスドライバ26に従いCPU24)によって生成される。ドライブがインストールされると、ドライバは、オペレータに数字の入力を促すことができる。この数字は、たとえば、人間が読み取れる、ドライブに印刷されたシリアル番号とすることができるが、ドライブコントローラの電子機器によって可読でなくてもよい。代替的に、製造者番号及びモデル番号のみを手動で入力してもよく、デバイスドライバ26が、ランダムな32ビットシリアル番号を生成してもよい。代替的に、デバイスドライバは、ホストのファームウェア(たとえば、BIOS)のシリアル番号等、ホストコンピュータに関連付けられる一意の番号からシリアル番号を生成してもよい。デバイスドライバがシリアル番号を提供する場合、デバイスドライバは、その番号を不揮発性メモリに保存すべきか、又は、ドライバがロードされるたびに、決定的アルゴリズムを使用して常に同じ番号を再生成すべきである。デバイスドライバがシリアル番号を提供する場合、ドライブは、初期化時にデバイスドライバからドライブ識別情報(identification)を取得することができる。
【0012】
一般に、記録されるデータは、さまざまな方法で参照することができるアドレス指定可能単位にフォーマットされる。例には、セクタ、ブロック、クラスタ、トラック、及び所定の個数のセクタを含むエラー訂正符号(「ECC」)ブロック等の他の単位のグループが含まれる。以下の解説では、「アドレス指定可能単位」という用語は、上記で列挙した記憶単位又は他の既知の記憶単位のいずれも総称するのに使用される。
【0013】
図2は、非ユーザデータエリア50及びユーザデータエリア54を備えるような記憶媒体32の一実施形態を示している。ユーザデータエリア54は、ホスト22上で実行されるアプリケーションのためのデータがドライブ30によって記憶される場所である。たとえば、ユーザが記憶媒体上に記憶したい文書又はスプレッドシート等のファイルは、ドライブ30によってユーザデータエリアに記憶される。非ユーザデータエリア50は、一般に、ユーザデータを記憶するのに使用することができず、その代わり、制御及び管理の目的で使用される。本発明の少なくともいくつかの実施形態によれば、非ユーザデータエリア50は、本明細書に参照によって援用される米国特許第6,330,210号明細書に開示されているような記憶媒体の「リードイン」エリアを含むことができる。図の実施形態では、非ユーザデータエリア50は、ドライブIDテーブル56を含む。このドライブIDテーブル56は、コード38の実行下で、ドライブのCPU36が初期化することができる。ドライブIDテーブルを初期化することは、テーブルを記憶するために非ユーザデータエリア50の一部を予約することを含むことができる。
【0014】
図3は、テーブル56の一実施形態を示している。テーブル56は、1つ又は複数のエントリー62を含むように構成される。図3に示すように、各エントリー62は、少なくともドライブIDフィールド58を備える。このドライブIDフィールド58は、ストレージドライブに関連付けられるドライブID(上述したドライブID等)を記憶するようになっている。また、各エントリー62は、インデックスフィールド60を含むことができる。したがって、テーブル56の各エントリー62は、インデックス値及び対応するドライブIDを含むことができる。たとえば、インデックス値01h(「h」は16進数を示す)は、ドライブ1のID(DRIVE 1 ID)に対応する。同様に、インデックス02hはDRIVE 2 IDに対応し、インデックス03hはDRIVE 3 IDに対応する。少なくともいくつかのエントリー62は、ドライブIDを記憶する今後の使用のために予約することができる。図3に示す実施形態では、インデックスフィールド60は、インデックス値を記憶するためのテーブルに含まれる。他の実施形態では、インデックスフィールド60は、テーブル56に明示的に含まれず、その代わり、各ドライブIDのインデックス値は、参照されているドライブID値のテーブルにおけるロケーションに基づいて推論される。たとえば、ドライブ2は、テーブルのゼロベースインデックス方式の第2のエントリーにあり、したがって、ドライブ2は、インデックス値2に関連付けられるものとみなされる。
【0015】
本発明のさまざまな実施形態によれば、記憶媒体32のアドレス指定可能単位がストレージドライブ30によってデータを書き込まれる毎に、ストレージデバイスのCPU36は、コード38の制御の下、データを書き込まれているアドレス指定可能単位にインデックス値も書き込む。記憶媒体32のアドレス指定可能単位に書き込まれたインデックス値は、書き込みオペレーションを実行している特定のストレージドライブ30に対応する。アドレス指定可能単位に書き込まれたインデックス値は、ドライブIDテーブル56を介して反映されたドライブのIDに対応する。たとえば、ドライブ1が、記憶媒体のアドレス指定可能単位に書き込む場合、ドライブ1は、データに加えて、その対応しているインデックス値もそのアドレス指定可能単位に書き込む。さらに、データが書き込まれる記憶媒体32の各アドレス指定可能単位には、そのアドレス指定可能単位に書き込むのに使用された特定のストレージドライブ30を識別するインデックス値も書き込まれる。
【0016】
図4は、記憶媒体32のアドレス指定可能単位の一部を示している。図4に示すこの一部は、アドレス指定可能単位1、2、3、4、及び5を含む。各アドレス指定可能単位は、データ部70及びインデックス値72を含む。インデックス値72は、各アドレス指定可能単位に関連付けられるヘッダの一部として含めることができる。いくつかの実施形態では、アドレス指定可能単位のヘッダは、アドレス、制御情報、及び他の情報、並びに1つ又は複数の予約フィールドを含むことができる。予約フィールドの1つは、インデックス値を記憶するのに使用することができる。図4の例では、ドライブ1が、アドレス指定可能単位1、2、及び5にデータを書き込むのに使用され、ドライブ2及び3が、アドレス指定可能単位3及び4にデータをそれぞれ書き込むのに使用されている。また、ドライブ1は、アドレス指定可能単位3及び4にデータを書き込むのに使用された可能性があるが、ドライブ2及び3は、アドレス指定可能単位2及び3にどんなデータが記憶されていたにせよ、その後上書きしており、したがって、関連するインデックス値を更新している。インデックス値72は、そのアドレス指定可能単位に最新に書き込みを行ったドライブを識別する。記憶媒体32は、「レガシードライブ」と共に使用することができる場合もある。レガシードライブとは、本明細書で説明するような記憶媒体にドライブIDを書き込むように装備されていないドライブである。その代わり、レガシードライブは、通常ならば本明細書で説明するようなドライブによってドライブIDが書き込まれる、アドレス指定可能単位のロケーションに、00h等の所定の値を書き込ませることができる。
【0017】
ドライブIDテーブル56のエントリーのすべてにドライブIDが書き込まれ、テーブルで実施された場合には、インデックス値が書き込まれている場合があり得る。これが起こると、少なくともいくつかの実施形態によれば、アドレス指定可能単位にデータの書き込みを試みる新しいストレージドライブ(すなわち、ドライブIDがまだテーブル56に記憶されていないドライブ)は、00h又はFFh等の予約値をドライブIDの代わりにアドレス指定可能単位(複数可)に書き込ませることができる。他の実施形態では、テーブル56がいっぱいになると、ユーザが開始したメンテナンス手順を介してそのテーブルのドライブIDを消去することができる。次に、オフセット値を、テーブルの一部として、又は記憶媒体の他の場所に記憶することができる。このオフセット値は、テーブル56におけるエントリーの個数を表し、追加ドライブの新たなインデックスを計算するのに使用される。たとえば、テーブル56が32個のエントリーを有し、32個のすべてのエントリーがドライブID(すなわち、32個の異なるドライブの32個のドライブID)で占められている場合、32個のすべてのドライブIDをテーブルから消去することができる。この例では、オフセット値は32である。ドライブが、その後、アドレス指定可能単位に書き込みを行おうと試みると、その新しいドライブは、テーブル56の消去後に記憶媒体への書き込みを行う最初のドライブとなり、33のインデックス値を割り当てられる。この33のインデックス値は、32のオフセット値に最初のインデックス値1を加算することによって計算される。同様に、記憶媒体に書き込みを行う次のドライブにも、インデックス値33が割り当てられ、以下同様である。テーブル56に実際に記憶されたこれらのインデックス値は、1、2、3等であるが、テーブル56がアクセスされると、オフセット値32に加算される。
【0018】
図5は、ブロック80〜88から成る対応する方法を示している。図5に示す動作の1つ又は複数は、同時に実行することもできるし、順次実行することもでき、必要に応じて1つ又は複数の動作を省略することができる。さらに、これらの動作は、図5に示す順序とは異なる順序で実行することもできる。ブロック80において、ユーザが、記憶媒体32をストレージドライブ30内に挿入する。或る時点で、ストレージドライブ30は、記憶媒体32に書き込みを行うことができる。ブロック82において、ストレージドライブ30は、記憶媒体のテーブル56を検査することによって、その特定のドライブがこれまでに記憶媒体32にデータを記録したか否かを判断する。ストレージドライブ30が、それ以前に記憶媒体32にデータを書き込んでいない場合、ストレージドライブ30のドライブIDは、テーブル56に存在しない。一方、ストレージドライブ30が、それ以前に記憶媒体32にデータを書き込んでいた場合、ストレージドライブ30のドライブIDはテーブル56に存在する。この特定のストレージドライブ30がこの特定の記憶媒体32にデータを書き込むのが初めてである場合、ブロック84において、そのドライブのCPU36は、それまで未使用であったインデックス値に対応するテーブルにそのドライブのID値を付加することによって、記憶媒体のドライブIDテーブル56を変更する。このようなドライブは、たとえば、テーブルのインデックス値04hに対応するエントリーに自身のドライブIDを追加することができる。このインデックス値04hは、それまで「予約」として印を付けられていたものである。ドライブが、記憶媒体32にすでに書き込みを行っている場合、記憶媒体のドライブIDテーブルには、すでに、そのドライブのIDを記載したエントリーが含まれているはずであり、ブロック83において、ドライブのCPUは、ドライブIDテーブル56で見つけられた自身のドライブのIDに関連付けられたインデックスを使用する。ブロック86において、ストレージドライブ30は、記憶媒体32のアドレス指定可能単位にデータを書き込む。ブロック88において、ドライブ30は、データが書き込まれているアドレス指定可能単位に自身のインデックス値を書き込む。いくつかの実施形態では、ブロック86及び88は、1つの動作として実行される。すなわち、データ及びドライブIDは、1つの書き込みトランザクションでアドレス指定可能単位に書き込まれる。場合によっては、ドライブIDテーブルは、データを書き込む前に更新されず、ドライブのCPU36は、新たなインデックス値の経過を追跡し、記憶媒体32をイジェクトするか、又はシステムの電源を落とす前の或る後の時点で、ドライブIDテーブル56にその新たなインデックス値を記録するのを待つ。ドライブIDテーブル56に対するいずれの変更も、アドレス指定可能単位にデータを書き込む前、書き込み中、又は書き込み後に書き込まれるが、ストレージドライブから媒体をイジェクトする前に書き込まれる。
【0019】
上述した実施形態によれば、インデックス値は、アドレス指定可能単位に書き込んでいるドライブを識別するための識別値としてアドレス指定可能単位に記憶される。テーブル56は、関連付けられるインデックス値が与えられると、アドレス指定可能単位に書き込んだ特定のドライブを識別するのに使用することができる。いくつかの実施形態では、特定のドライブに関連付けられるインデックス値は、図3に示すようなテーブル56に記憶されるが、他の実施形態では、特定のドライブのインデックス値は、テーブルにおけるドライブのロケーションから推論される。いくつかの実施形態では、ドライブID自体(又はシステム識別子)は、対応するインデックス値というよりは識別値としてアドレス指定可能単位に書き込むことができる。この後者の実施形態では、ドライブIDテーブル(インデックス値とドライブIDとの間の変換を容易にする)は使用されない。
【0020】
いくつかの実施形態(たとえば、レガシードライブ)では、ドライブ識別値が利用可能でない場合があり、所定の値(たとえば、00h)が、媒体のアドレス指定可能単位に記憶される。また、すべての可能なドライブ識別子(たとえば、インデックス値)がすでに使用中であり、したがって、新たなドライブに対していずれのドライブ識別子も利用可能でない場合もある。この場合、ドライブ識別インデックス値の代わりに、所定の値が使用されて、媒体のアドレス指定可能単位に記憶される。
【0021】
上述した実施形態によって、記憶媒体は、いずれのドライブが記憶媒体の特定のアドレス指定可能単位に書き込んだかを識別するのに使用することができる監査情報を含むことになる。この監査情報は、さまざまな方法で使用することができる。たとえば、記憶媒体32のアドレス指定可能単位に欠陥があると判断され、そのアドレス指定可能単位に書き込まれたインデックス値を求めることができる場合、ドライブIDテーブルを検査することによって、いずれのドライブがその特定のアドレス指定可能単位に最後に書き込んだかについての判断を行うことができる。アドレス指定可能単位の欠陥は、ストレージデバイスによって書き込まれたアドレス指定可能単位(複数可)の情報及び媒体のドライブIDテーブルの情報によって一意に識別することができる特定のストレージデバイスに関する問題によって引き起こされる場合がある。したがって、いくつかの実施形態では、一方法を、プロセッサを有し、且つ、その方法を実施するのに適したソフトウェアを実行するコンピュータシステムによって実行することができる。そのように実行されるこの方法は、着脱可能記憶媒体32から情報を取り出すこと、及び、その情報に基づいて、複数のストレージドライブのいずれが着脱可能記憶媒体にデータを記憶するのに使用されたかを判断することを含む。具体的には、コンピュータシステムは、着脱可能記憶媒体を収容し、コンピュータシステムのソフトウェアが実行されて、いずれの1つ又は複数のストレージドライブがこれまでに着脱可能記憶媒体にデータを書き込んだかを判断する方法が実行される。上記で説明した情報を取り出す動作は、着脱可能記憶媒体からテーブル56を取り出すことを含む。また、情報を取り出す動作は、これまでにデータが書き込まれた着脱可能記憶媒体のアドレス指定可能単位に記憶されたあらゆるインデックス値を取り出すことを含む。さらに、この方法は、テーブル56を検査すること、及び、記憶媒体のアドレス指定可能単位のいずれかから読み出されたいずれかのインデックス値(複数可)が、テーブルに含まれるいずれかのインデックス値と一致するか否かを判断することを伴う。テーブルに記憶されたドライブIDは、記憶媒体のアドレス指定可能単位にこれまでにデータを書き込んだあらゆるドライブであって、そのドライブのインデックス値がこのようなアドレス指定可能単位に記憶されるあらゆるドライブの同一性を確認することができる機構を提供する。
【0022】
図6は、本発明の一実施形態による光ディスクシステムの一例の機能ブロック図である。本システムは、着脱可能光ディスク100とドライブ126とを備える。ドライブ126は、着脱可能光ディスク100用のクランピングシステムに接続されたスピンドルモータ108をさらに備える。光ピックアップユニット(OPU102)を使用して、情報がディスク100から読み出されるか又はディスク100に書き込まれる。OPU102は、1つ又は複数のレンズ104及び他の光学素子と共に、1つ又は複数のレーザダイオード及び光検出器を備える。さらに、OPU102は、光ディスク100にレーザビーム105を集束させ続け且つ光ディスク100上のトラックに追従するために、対物レンズ104を半径方向及び軸方向に移動させる電気機械素子103を備える。OPU102は、スレッドモータ106に機械的に取り付けられており、スレッドモータ106は、OPU102を光ディスク100の使用可能な半径を横切って移動させるように構成されている。インタフェース電子回路110を使用して、OPU102の光検出器からの信号を調整及び合成して、読み出し及び書き込みのためのラジアル信号及びフォーカス信号が作成され、且つデータを読み出すための信号が作成される。さらに、インタフェース電子回路は、読み出し及び書き込み中にOPU102のレーザダイオードを制御し、スレッドモータ106及びスピンドルモータ108用の信号を調整する。フォーカス信号及びトラッキング信号は、サーボプロセッサ112によって、読み出し及び書き込み中に半径方向及び軸方向のトラッキングを維持するように、OPU102の電気機械手段103によりレンズ104を、直接又はインタフェース電子回路110を使用して調整するために使用され、書き込み中にスピンドルモータ108の速度を制御するためにも使用され得る。光ディスクコントローラ114が、OPU102の光検出器からの、インタフェース電子回路110によって調整されたデータを復号し、データを符号化し、且つインタフェース電子回路110を通してOPU102のレーザ出力を変調する。光ディスクコントローラ114はまた、サーボプロセッサ112がその機能を有していない場合、読み出されたデータを使用してスピンドルモータ108の速度を調整することができる。光ディスクコントローラ114はまた、ホストデバイスと通信するホストインタフェース124も備える。ホストインタフェース124は、独自の(proprietary)インタフェースであってもよく、又は、シリアル・アドバンスド・テクノロジー・アタッチメント(SATA)インタフェース、パラレル・アドバンスド・テクノロジー・アタッチメント(PATA)インタフェース(「IDE」又は「EIDE」インタフェースとして具現化されることもある)、ユニバーサル・シリアル・バス(USB)インタフェース、IEEE1394シリアルインタフェース、IEEE1284パラレルインタフェース若しくは別の種類の標準インタフェースであってもよい。本システムのコンポーネントは、メモリ122からのコードを実行するプロセッサ120によって制御される。
【0023】
図6のシステムは、本発明の一実施形態による光ディスクシステムの一例であり、他の実施形態も可能である。記載されている機能を、異なるブロックに分割してもよい。たとえば、サーボプロセッサ112を光ディスクコントローラ114に組み合わせてもよく、又はプロセッサ120及びメモリ122を組み合わせて単一の集積回路にすることができる。
【0024】
一実施形態例による動作時、システムは、メモリ122からのコードを実行しているプロセッサ120の制御下で、ユーザデータを着脱可能光ディスク100に書き込み、また、光ディスクシステムを示す識別値を、着脱可能光ディスク100の少なくとも1つの所定エリアに書き込む。着脱可能光ディスクは、これらの実施形態では、書き換え可能光ディスクであっても追記型光ディスクであってもよい。
【0025】
別の実施形態例では、システムは、特定の着脱可能光ディスク100がこの特定の光ディスクシステムによって以前に書き込みがなされたか否かを判断する。たとえば、着脱可能光ディスク100は、何らかのデータをディスク100に書き込んだ特定の光ディスクドライブのすべての記録を含むテーブル又は他のデータ構造を保持することができる。システムは、単にテーブルを読み出し、そのエントリーをドライブ126に関する識別情報と比較してもよい。システムは、着脱可能光ディスク100にデータを以前に書き込んでいない場合、ディスク100にデータを書き込むと共に、テーブル又は他のデータ構造を、ディスク100の少なくとも1つの所定エリアに書き込まれた識別値に関連付けられる識別子で更新することができる。
【0026】
光ディスク100上に記録されるべきユーザデータは、さまざまなソースのうちの1つ又は複数から来る可能性がある。たとえば、ユーザデータは、システムのユーザが作成してもよく、又は図7に示すようにインターネットを介してダウンロードされるコンテンツであってもよい。図7において、PC又はスタンドアロンデバイスであってもよいホストデバイス202は、ネットワークインタフェース204及び周辺インタフェース210を備える。ホストデバイス202は、ネットワークインタフェース204を介して、インターネット206に接続されている1つ又は複数のサーバ208と通信する。ホストデバイス202は、周辺インタフェース210を介して、光ディスクドライブ212にデータを送信し且つ光ディスクドライブ212からデータを受信する。光ディスクドライブ212は、ホストデバイスに内蔵されていてもよく(図7において破線で示すように)又は外付けデバイスであってもよい。周辺インタフェース210は、独自のインタフェースであっても標準インタフェースであってもよい。
【0027】
一実施形態による動作時、ホストデバイス202は、インターネット206に接続されている1つ又は複数のサーバ208と通信することによりコンテンツを受信し、その後、コンテンツをユーザデータとして光ディスク214等の光ディスクに書き込む。システムは、ダウンロードされたコンテンツを書き込むことに加えて、識別値を光ディスクの少なくとも1つの所定エリアに書き込む。
【0028】
ホストデバイス202は、ダウンロードされたコンテンツを受信することに加えて且つそれに関連して、ネットワークインタフェース204を介して追加の情報を受信することができる。この追加の情報は、ダウンロードされたコンテンツに関連していてもよく、又はダウンロードの環境に関連していてもよい。追加の情報の例は、ユーザに関する情報、システム及び/若しくはそのコンポーネントに関する情報、コンテンツの暗号化若しくは解読のための鍵、又は他の情報を含む。支払方法等の、ダウンロードトランザクションに関する情報が含まれてもよく、コンテンツのダウンロード、作成又は再生に関する時間情報及び位置特定情報が含まれてもよい。さらに、ダウンロードは、コンテンツの使用又は配布の制御に使用されるデジタル著作権管理情報を含んでもよい。追加の情報のうちの1つ又は複数の項目を、光ディスク214に記録することができる。
【0029】
図8Aは、ECCブロックのデータセクタ並びにアドレス及び制御部の概略図を示す。図8B〜図8Dは、本発明の実施形態例によるECCブロック内に含まれる識別情報を示す。光媒体への記録の細分性は、通常、記録されている(self contained)情報の最小ブロックによって制限される。情報には、アドレス指定及び制御情報、ユーザデータ、並びにエラー検出及びエラー訂正バイトが含まれる。さらに、変調中、同期フィールド及びパディングビットを追加することができる。このブロックは、変調前、ECCブロック400と呼ばれることが多く、たとえば、DVDの場合は16個の2048バイトユーザデータセクタ、ブルーレイ及びHD DVDの場合は32個の2048バイトセクタ404を含む。しかしながら、ホストシステムは、ECCブロックの全サイズにはデータを書き込まないように選択することも可能である。この場合、光ディスクデバイスは、ECCブロック全体を読み出し、内容が変化したセクタのみを変更し、新たなエラー検出及びエラー訂正バイトを生成し、制御情報402を変更し、その後ディスクに新たなECCブロックをライトバックすることができる。ECCブロック400に対するアドレス及び制御情報402を、ブロック全体に分散させてもよい。
【0030】
変化していないセクタと共に、いくつかの変化したセクタ406が記録される場合、識別情報を、それらのセクタを区別するように、ECCブロック400のアドレス及び制御情報402内に含めることができる。一実施形態例では、これを、テーブル56に対するインデックス72(図2及び図4に示す)と、そのインデックスに割り当てられている個々のセクタに対するビットマップ又は他の何らかの指定とによって示すことができる。他のすべてのセクタは、正体不明(unknown origin)であるとみなされる。この構成を図8Bに示す。識別情報408はインデックス72及びビットフィールド410を含む。インデックス72は、上述した識別子のテーブルのエントリーを示す。例としてのビットフィールド408は、ECCブロック400の各セクタに対して1ビットを含む。ECCブロック400に書き込みがなされると、各変化したセクタに対応するビットフィールド410のビットが「1」にセットされる。他のビットは「0」にセットされる。(当然ながら、ビットの意味を逆にしてもよい。)そして、識別情報408は、ECCブロックの少なくともいくつかのセクタに、インデックス72に対応するテーブルエントリーによって識別されるドライブ、ユーザ、システム、又は他のエンティティによって最近書き込みがなされたことを示す。最近の書き込みによって変化した特定のセクタは、対応するビットがビットフィールド410において「1」にセットされるセクタである。そして、この実施形態例では各ECCブロックに対して1つのインデックス値しか使用可能でないため、他のセクタは正体不明である。識別情報408を、ECCブロック400全体に分散されてもよいアドレス及び制御情報402に含めることができる。
【0031】
ビットフィールド410において、各ビットが単一のセクタを表すように十分なビットが使用可能でない場合、各ビットは2つ以上のセクタを表すことができる。この実施形態を図8Cに示す。図8Cにおいて、識別情報412のビットフィールド414は、ECCブロック400における各2つのセクタに対して1ビットのみを含む。第1のビットは、たとえば、最近の書き込み動作中に、ECCブロック400の最初の2つのセクタの一方又は両方が、インデックス72に対応するテーブルエントリーに示されているエンティティを使用して変更されたか否かを示すことができる。ビットフィールド414の第2のビットは、ECCブロック400のセクタの第2の対の一方又は両方が変更されたか否かを示すことができ、以下同様である。
【0032】
図8Dは、変更するエンティティのより完全な履歴が維持されている構成を示す。図8Dにおいて、識別情報416は、2つのインデックス値418及び420とビットフィールド422とを含む。十分なビットが使用可能である場合、ビットフィールド422は、ECCブロック400が含むセクタの数の2倍のビットを有することができ。そして、ビットフィールド422の半分のビットは、第1のインデックスに関連付けられるテーブルエントリーによって示されているエンティティによって、いずれのセクタに対して最近書き込みがなされたかを示し、ビットフィールド422の半分のビットは、第2のインデックスに関連付けられるテーブルエントリーによって示されているエンティティによって、いずれのセクタに対して最近書き込みがなされたかを示す。完全な個々のセクタ指示に対して十分なビットが使用可能でない場合、図8Cに関して上述したように、ビットは2つ以上のセクタを表してもよい。他の多くの構成及び組合せが可能である。
【0033】
ここまで説明した実施形態は、書込み可能記憶媒体に関連していたが、読出し専用媒体もまた、本発明の一実施形態による識別情報を含むことができる。読出し専用媒体には、たとえば、追記型媒体に対しマスタリングし、成形し、打ち抜き、データを書き込むことによるか、又は他の何らかの手段により、製造又は複製される媒体が含まれ得る。
【0034】
図9は、本発明の一実施形態例による読出し専用媒体を製造する方法を示す。図9は、厳密にはフローチャートではないことに留意されたい。
【0035】
ステップ506において、1つ又は複数のソースからのコンテンツ502を集約させる。コンテンツの各部分は、関連付けられる識別情報504を有することができる。コンテンツ502は、さまざまなソース(コンテンツ制作者、コンテンツ配信者又は他のソース)から来る可能性があり、さまざまな形式(音声、ビデオ、文書、データ又は他の形式)であってもよく、異なる方法で作成されていてもよく、使用要件が異なっていてもよい。本発明の一実施形態による読出し専用媒体は、個々にアドレス指定可能な単位に基づいてコンテンツを追跡又は識別することが望ましい場合に特に有用であり得る。たとえば、読出し専用光ディスクには、ビデオコンテンツがさまざまなフォーマットで記録されていてもよく、本発明の一実施形態による識別情報を使用して、ディスクのいずれのコンテンツがいずれのフォーマットで記録されているかを識別することができる。或いは識別情報を使用して、コンテンツの作成日付等の、コンテンツに関する時間関連情報、又はデジタル写真が撮影された地理的位置等の、地理的位置情報を示すことができる。識別情報は、ユーザデータにおいて著作権の所有者を示すことも可能である。
【0036】
そして、ステップ508において、識別情報504を含む、ディスクに対するデータを、エラー訂正バイト及びアドレス指定等の任意の追加の情報を追加することを含めて、ディスクレイアウトに対してフォーマットする。そして、ステップ510において、ステップ508からの全データを、ディスクフォーマット変調コードに従って変調する。ステップ510において、同期フィールド等の追加のビットレベルデータを追加することができる。そして、ステップ512においてマスタを作成し、ステップ514においてそれを使用して個々の媒体を製造する。
【0037】
図10A及び図10Bは、本発明の一実施形態例による、識別情報を含むように構成された光ディスクの2つの例を示す。これらの例は比例尺にはなっていない。図10Aは、媒体のピット602に符号化された識別情報を含むように、マスタからエンボス加工されるか、射出成形されるか、又は他の方法で製造された読出し専用光ディスク600を表している。図10Bは、記録システムに関する識別情報を含むマーク及びスペースが形成されているトラック構造606を有する、記録可能光ディスク604を表している。トラック構造606は、識別情報の記録場所の位置を特定するために必要なアドレス指定情報を含む。光ディスク604は、媒体に記録するか又は上書きするために使用されるトラック構造606を形成するようにエンボス加工、射出成形又は他の方法によって製造される。図10A及び図10Bは、単層の読出し専用光ディスク及び記録可能光ディスクの例を示すが、多層ディスクも可能である。
【0038】
上記開示を十分に理解すると、多数の変形形態及び変更形態が当業者には明らかになるであろう。たとえば、本明細書に提供した教示は、コンピュータシステム、及び、光ディスクビデオレコーダ等のスタンドアロンストレージデバイスに適用可能である。
【符号の説明】
【0039】
100 着脱可能光ディスク
102 光ピックアップユニット
108 スピンドルモータ
114 光ディスクコントローラ
120 プロセッサ
122 メモリ
126 光ディスクシステム

【特許請求の範囲】
【請求項1】
ダウンロードされたコンテンツを格納する方法であって、
ダウンロードされたコンテンツをネットワークインタフェース(204)を介してホストデバイス(202)内に受信するステップと、
前記ダウンロードされたコンテンツを、前記ホストデバイスに接続されている光ディスクドライブ(212)に、周辺インタフェース(210)を介して送信するステップと、
前記ダウンロードされたコンテンツを、前記光ディスクドライブを使用して書込み可能光ディスク(214)上に書き込むステップであって、該書込み可能光ディスクは、複数のアドレス指定可能単位(404、406)と、識別値を格納する少なくとも1つの所定エリアとを含む、ステップと、
前記少なくとも1つの所定エリアに識別値を書き込むステップであって、該識別値は、前記ホストデバイス、前記光ディスクドライブ、前記ホストデバイスの特定のユーザ、及び、前記ダウンロードされたコンテンツのうちの1つ又は複数の識別を示す、ステップと、
を含む、方法。
【請求項2】
前記少なくとも1つの所定エリアは、前記アドレス指定可能単位内に含まれる、請求項1に記載の方法。
【請求項3】
前記識別値は、前記ホストデバイス、前記光ディスクドライブ、前記特定のユーザ、及び、前記ダウンロードされたコンテンツのうちの1つ又は複数に関連付けられる識別子である、請求項1に記載の方法。
【請求項4】
前記書込み可能光ディスクは、複数の識別子を含むようになっているテーブルを格納し、各識別子は、特定のホストデバイス、特定の光ディスクドライブ、特定のユーザ、及び、特定のダウンロードされたコンテンツのうちの1つ又は複数に関連付けられ、前記識別値を書き込むステップは、前記テーブルにおいてそれぞれの識別子の位置を特定することができるようにするインデックス値を、前記テーブルに書き込むステップをさらに含む、請求項1に記載の方法。
【請求項5】
前記ネットワークインタフェースを介して追加の関連情報を受信するステップをさらに含む、請求項1に記載の方法。
【請求項6】
前記追加の関連情報は、前記ダウンロードされたコンテンツに関連する、請求項5に記載の方法。
【請求項7】
前記追加の関連情報は前記ダウンロードされたコンテンツに関連し、該追加の関連情報を受信するステップは、チェックサムを受信すること、暗号化鍵を受信すること、解読鍵を受信すること、トランザクション関連情報を受信すること、時間関連情報を受信すること、位置関連情報を受信すること、及び、デジタル著作権管理情報を受信することのうちの1つ又は複数をさらに含む、請求項5に記載の方法。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8A】
image rotate

【図8B】
image rotate

【図8C】
image rotate

【図8D】
image rotate

【図9】
image rotate

【図10A】
image rotate

【図10B】
image rotate


【公開番号】特開2012−69238(P2012−69238A)
【公開日】平成24年4月5日(2012.4.5)
【国際特許分類】
【出願番号】特願2011−243274(P2011−243274)
【出願日】平成23年11月7日(2011.11.7)
【分割の表示】特願2009−537191(P2009−537191)の分割
【原出願日】平成19年11月13日(2007.11.13)
【出願人】(511076424)ヒューレット−パッカード デベロップメント カンパニー エル.ピー. (155)
【氏名又は名称原語表記】Hewlett‐Packard Development Company, L.P.
【Fターム(参考)】