(57)【要約】      （修正有）【課題】記憶媒体が取外し可能なコンピュータシステムにおいて、誤動作により誤った記憶媒体にデータが記録されることを防ぐ。【解決手段】取外し可能な記憶媒体３２を収容するように適合される記憶ドライブ３０であって、取外し可能な記憶媒体３２が個別にアドレス指定可能な複数のユニットを含むものである記憶ドライブ３０と、データが書き込まれる記憶媒体３２のアドレス指定可能な複数のユニットの各々に、データ及び時間値を書き込むように構成される中央処理装置２４、３６であって、時間値は、各アドレス指定可能なユニットに前記データが書き込まれた時間を示すものである。中央処理装置２４、３６とを含んでなる、取外し可能な記憶媒体３２を使用することができるシステムおよび方法を提供する。【選択図】図１
2010211804.tif 000002
【特許請求の範囲】
【請求項１】
取外し可能な記憶媒体を収容することができる記憶ドライブであって、該取外し可能な記憶媒体が個別にアドレス指定可能な複数のユニットを含むものである記憶ドライブと、
データが書き込まれる記憶媒体のアドレス指定可能な複数のユニットの各々に、データ及び時間値を書き込むように構成される中央処理装置であって、該時間値は、各アドレス指定可能なユニットに前記データが書き込まれた時間を示すものである中央処理装置と
を含んでなる、取外し可能な記憶媒体を使用することができるシステム。
【請求項２】
前記時間値は、日付と時刻と連続番号からなるグループから選択される値を含むものである請求項１に記載の取外し可能な記憶媒体を使用することができるシステム。
【請求項３】
前記中央処理装置は、データが書き込まれる前記アドレス指定可能なユニットの各々にデータ及び時間値を書き込み、各時間値は、前記アドレス指定可能なユニットに前記データが書き込まれた時間を示すものである請求項１に記載の取外し可能な記憶媒体を使用することができるシステム。
【請求項４】
前記アドレス指定可能なユニットがセクタを含むものである請求項１に記載のシステム。
【請求項５】
前記中央処理装置は、データが書き込まれる前記アドレス指定可能なユニットの各々に識別値も書き込み、各識別値は、当該システム又は前記記憶ドライブを、前記記憶媒体と使用することができる他のシステム又は記憶ドライブから識別する、当該システム又は該記憶ドライブの識別を示すものである請求項１に記載のシステム。
【請求項６】
前記記憶媒体は、複数のドライブ識別子を含むように適合されるテーブルを格納し、各ドライブ識別子は、異なる記憶ドライブに関連するものである請求項１に記載のシステム。
【請求項７】
前記中央処理装置は、前記アドレス指定可能なユニットの各々にインデックス値も書き込み、該インデックス値は、前記ドライブ識別子のうちの１つに対応するものである請求項６に記載のシステム。
【請求項８】
記憶ドライブにより、取外し可能な記憶媒体のセクタにデータを書き込むステップと、
前記記憶ドライブにより、前記セクタに時間値を書き込むステップであって、該時間値は該セクタにデータが書き込まれた時間を示すものである、書き込むステップと
を含んでなる方法。
【請求項９】
前記時間値を書き込むステップは、時刻及び／又は日付を表す値を書き込むことを含むものである請求項８に記載の方法。
【請求項１０】
インデックス値を前記時間値とともに前記セクタに書き込むことをさらに含み、前記インデックス値は、前記記憶ドライブを一意に識別するものである請求項８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、取外し可能な記憶媒体にデータを格納することができる記憶ドライブを有する電子システムに関する。
【背景技術】
【０００２】
電子システムによっては、取外し可能な記憶媒体にデータを格納することができる記憶ドライブを有するものがある。記憶媒体は取外し可能であるため、同じか又は異なるコンピュータシステムにおいて１以上の記憶ドライブによって記憶媒体のデータを記録することができる。誤動作したドライブにより記憶媒体に記録がなされる可能性がある。別の問題は、法律調査員及び犯罪捜査員が、特定の記憶媒体の記録履歴を知る必要のある場合がある、ということである。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明は、記憶媒体が取外し可能なコンピュータシステムにおいて、誤動作により誤った記憶媒体にデータが記録されることを防ぐものである。
【課題を解決するための手段】
【０００４】
具体的には、本発明は、取外し可能な記憶媒体を収容するように適合される記憶ドライブであって、該取外し可能な記憶媒体が個別にアドレス指定可能な複数のユニットを含むものである記憶ドライブと、データが書き込まれる記憶媒体の複数のアドレス指定可能なユニットの各々に、データ及び時間値を書き込むように構成される中央処理装置であって、該時間値は、各アドレス指定可能なユニットに前記データが書き込まれた時間を示すものである中央処理装置とを含んでなる、取外し可能な記憶媒体を使用することができるシステムを提供する。
ここで、前記時間値は、日付と時刻と連続番号からなるグループから選択される値を含むものである態様や、前記中央処理装置は、データが書き込まれる前記アドレス指定可能なユニットの各々にデータ及び時間値を書き込み、各時間値は、前記アドレス指定可能なユニットに前記データが書き込まれた時間を示すものである態様や、前記アドレス指定可能なユニットがセクタを含むものである態様や、前記中央処理装置は、データが書き込まれる前記アドレス指定可能なユニットの各々に識別値も書き込み、各識別値は、当該システム又は前記記憶ドライブを、前記記憶媒体と使用することができる他のシステム又は記憶ドライブから識別する、当該システム又は該記憶ドライブの識別を示すものである態様や、前記記憶媒体は、複数のドライブ識別子を含むように適合されるテーブルを格納し、各ドライブ識別子は、異なる記憶ドライブに関連するものである態様であることが好ましい。
さらに、前記中央処理装置は、前記アドレス指定可能なユニットの各々にインデックス値も書き込み、該インデックス値は、前記ドライブ識別子のうちの１つに対応するものであることがより好ましい。
また、本発明は、記憶ドライブにより、取外し可能な記憶媒体のセクタにデータを書き込むステップと、前記記憶ドライブにより、前記セクタに時間値を書き込むステップであって、該時間値は該セクタにデータが書き込まれた時間を示すものである、書き込むステップとを含んでなる方法も提供する。
ここで、前記時間値を書き込むステップは、時刻及び／又は日付を表す値を書き込むことを含むものである態様や、インデックス値を前記時間値とともに前記セクタに書き込むことをさらに含み、前記インデックス値は、前記記憶ドライブを一意に識別するものである態様であることが好ましい。
【０００５】
本発明の例示的な実施形態を詳細に説明するために、ここで添付図面を参照する。
【発明の効果】
【０００６】
本発明によれば、記憶媒体が取外し可能なコンピュータシステムにおいて、誤動作により誤った記憶媒体にデータが記録されることを防ぐことができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の例示的な一実施形態によるシステムを示す図である。
【図２】記憶媒体にドライブ識別子テーブルが含まれる一実施形態を示す図である。
【図３】図２のドライブ識別子テーブルの例示的な一実施形態を示す図である。
【図４】個々の記憶デバイスを識別するインデックス値が媒体のアドレス指定可能なユニットに格納される記憶媒体の一部の一例を示す図である。
【図５】例示的な方法の一実施形態を示す図である。
【図６】記憶媒体から監査情報を読み出すようになっているコンピュータを示す図である。
【図７】取外し可能な記憶媒体から監査情報を読み出して処理する方法の一実施形態を示す図である。
【発明を実施するための形態】
【０００８】
［表記及び命名法］
以下の説明及び特許請求の範囲を通して、特定のシステムコンポーネントを指すためにいくつかの用語を使用する。当業者は理解するように、コンピュータ会社は、１つのコンポーネントを異なる名称で呼ぶ場合がある。この文書は、名称は異なるが機能は異ならないコンポーネントを識別することを意図していない。以下の論考および特許請求の範囲において、「含む（including）」及び「具備する、備える（comprising）」という用語は、限定的でない（open-ended）ように使用されており、そのため、「含むが、それに限定されない」を意味するように解釈されるべきである。また、「結合する（couple）」という用語は、間接的な電気接続又は直接的な電気接続のいずれかを意味するように意図される。このため、第１のデバイスが第２のデバイスに結合する場合、その接続は、直接的な電気接続によってもよく、又は他のデバイス及び接続を介して間接的な電気接続によってもよい。「記録する」という動詞は、記憶媒体にデータを格納し、書き込み、又は他の方法で転送することを意味する。
【０００９】
［詳細な説明］
図１は、本発明の例示的な一実施形態によって実施されるシステム２０を示す。図示するように、システム２０は、記憶ドライブ３０に結合されたホスト２２を備える。一般に、ホスト２２は、記憶ドライブにデータを格納し、記憶ドライブからデータを読み出す。したがって、ホスト２２は、記憶ドライブのためのデータ源を表し、及び／又は、ホスト２２又は他のデバイスによって使用されるために記憶ドライブから読み出されるデータのコンシューマを表す。ホスト２２を、コンピュータとして実施してもよく、記憶ドライブ３０は、コンピュータの外付けであってもよく、又はコンピュータの内部に配置されるものであってもよい。ホスト２２は、中央処理装置（以下、「ＣＰＵ」とよぶ）２４及びデバイスドライバ２６を備える。デバイスドライバ２６は、ＣＰＵ２４によって実行され、ＣＰＵに対し本明細書において説明する１以上の動作を実行させるソフトウェアを備える。ホストは、時間を受け取るか又は追跡する時間ロジック２８も備える。時間ロジック２８を、現在時刻でプログラムされることが可能であり、時間の進行を追跡するように機能することができる時刻回路として実施してもよい。ＣＰＵ２４は、時間ロジック２８と対話することにより、時間を示す値を取得する。時間を示す値は、日付、時刻、又は、日付と時刻との両方を表してもよい。別法として、この値は、記憶ドライブ３０に時間監査情報が記録される度など適当な方法により増加されうる連続番号を含みうる。「時間値」という用語は、広く、手法（時刻又は日付表現及び連続番号）と所定値（たとえば００ｈ、ＦＦｈ）とをともに含む。
【００１０】
記憶ドライブ３０は、取外し可能な記憶媒体３２を受け入れるように適合される。記憶媒体３２は、光ディスク、磁気ディスク又は固体メモリなどの任意の適当なタイプの媒体を含みうる。さらに、「追記型」媒体又は「書き換え可能な」記憶媒体として、記憶媒体を実施してもよい。「追記型」媒体には、データを２回以上記録することができるが、「追記型」媒体（たとえばＣＤ−Ｒ）にデータが記録されると、その記録されたデータを上書きし又は消去することはできない。書き換え可能な記憶媒体のデータは、上書き又は消去することができる。
【００１１】
記憶ドライブ３０はまた、ＣＰＵ３６と、ＣＰＵ３６が実行することができるコード３８とを備えてもよい。コード３８を実行する記憶ドライブのＣＰＵ３６によって、本明細書において説明する１以上の行為を実行してもよい。記憶ドライブ３０はまた、ＣＰＵ３６に結合されるか又は他の方法でＣＰＵ３６がアクセス可能な時間ロジック４０を含みうる。時間ロジック４０は、現在時刻でプログラムされ、その後、進行する時間を追跡するように機能することができる。たとえば、ホスト２２は、現在時刻を示す値をホストの時間ロジック２８から記憶ドライブの時間ロジック４０に提供することにより、記憶ドライブが時間の進行を追跡することができるようにしてもよい。このため、時間ロジック４０は、たとえばＣＰＵ３６による要求時に時間値を提供するように機能することができる。ロジック４０からの時間値は、ホスト２２の時間ロジック２８によって提供される時間値に関して上で明確に示した「時間値」の定義のうちの任意のもの又はすべてを広く包含する。
【００１２】
記憶ドライブ３０はまた、関連するドライブを他のすべてのドライブから一意に識別することができるドライブ識別子（以下、「ドライブＩＤ」とよぶ）３４を備える。たとえば、ドライブＩＤは、ドライブ製造業者によって割り当てられた通し番号を含みうる。他の実施形態では、ドライブＩＤ３４は、少なくともいくつかではあるがすべてではない他のドライブに対して一意でありうる。本明細書において開示する主題の目的には、ドライブＩＤ３４が、同じ記憶媒体３２を同じドライブＩＤを有する２つ以上のドライブで使用し得る可能性が十分低いようなものであれば、概して十分である。（「一意の」ドライブＩＤなどの）「一意」という用語を、この開示において両方の文脈で使用する。ドライブＩＤ３４を、記憶ドライブ３０の不揮発性メモリに格納してもよく、又はドライブの回路に（たとえば、ドライブに含まれるプリント回路基板に形成されたトレースに対する一意のパターンで）ハードコードしてもよい。実施形態によっては、ドライブＩＤは永久的でありしたがって変更可能ではない。ドライブＩＤは、永久的でない場合には、専用機器又は専用プロセスなしには変更することが困難であることもまた適当である。他の実施形態では、ドライブＩＤは、ドライブの識別子の代わりに又はそれに加えてホスト２２の識別子を含みうる。さらに、ドライブＩＤは、システム１０又はシステム１０のユーザに関する公的に入手可能な情報を含みうる。ドライブＩＤは、さらに又は別法として、システム１０のユーザのプライバシを保護するために有効な法的手続き（たとえば捜査令状）に従って適法に回収可能な個人情報を含みうる。
【００１３】
ドライブＩＤ３４は、英数字文字及び／又は他のシンボルを含む値を含みうる。少なくとも１つの実施形態では、ドライブＩＤ３４は、製造業者コード（１６ビット）、モデルコード（１６ビット）及び通し番号（３２ビット）を含む６４ビット値を含む。異なる記憶ドライブ製造業者の各々に、一意の製造業者コードを割り当ててもよく、１６ビットの場合、６５０００を超える異なる製造業者コードがあり得る。記憶デバイスの、望ましい場合は改訂を含む異なるモデルの各々に、一意のモデルコードを割り当ててもよい。モデルコードに１６ビットを使用する場合には、６５０００を超えるモデルコードが一意に利用可能である。通し番号は、一般に、各ドライブに一意である。したがって、同じモデルであり同じ製造業者によって提供される２つのドライブは、ドライブＩＤの通し番号要素が異なるため、依然として異なるドライブＩＤを有することになる。ドライブＩＤの３つの要素（製造業者コード、モデルコード及び通し番号）を、互いに連結してもよく、又はその他の任意の適当な方法で結合し又は合わせて使用してもよい。
【００１４】
代替の一実施形態では、特定のモデルのすべてのドライブが、ドライブで実行するファームウェアで符号化されるドライブＩＤを有してもよい。この実施形態では、特定のモデルの各ドライブは、同じ３２ビット通し番号を有する。ファームウェアがアップグレードされる場合には、ドライブ通し番号は変更されず依然として使用可能である。別の実施形態によれば、ドライブＩＤは、ホストによって（たとえば、デバイスドライバ２６に従ってＣＰＵ２４によって）生成される。ドライバは、ドライブがインストールされる時、オペレータに対し、たとえば、ドライブにプリントされているがドライブコントローラ電子機器では読み取ることができない、人間が読み取り可能な通し番号でありうる番号を入力するように促してもよい。別法として、製造業者番号及びモデル番号のみを手動で入力してもよく、デバイスドライバ２６が、ランダムな３２ビット通し番号を生成してもよい。別法として、デバイスドライバが、ホストのファームウェア（たとえばＢＩＯＳ）の通し番号などの、ホストコンピュータに関連する一意の番号から通し番号を生成してもよい。デバイスドライバ２６が通し番号を提供する場合には、デバイスドライバは、その番号を不揮発性メモリに保存すべきであり、又はドライバがロードされる度に常に同じ番号を作成し直す決定論的アルゴリズムを採用すべきである。デバイスドライバが通し番号を提供する場合には、ドライブは、デバイスドライバからドライブ識別を初期化時に取得してもよい。
【００１５】
一般に、記録されたデータは、種々の方法により参照することができるアドレス指定可能なユニットにフォーマットされる。アドレス指定可能なユニットの例には、セクタ、ブロック、クラスタ及びトラックがある。以下の論考では、「アドレス指定可能なユニット」という用語を、上に列挙した記憶装置のユニット又は記憶装置の他の既知のユニットのうちの任意のもの又はすべてを包括的に言及するために使用する。
【００１６】
図２は、非ユーザデータエリア５０及びユーザデータエリア５４を含むものとしての記憶媒体３２の一実施形態を示す。ユーザデータエリア５４は、ホスト２２で実行するアプリケーションのためにドライブ３０によってデータが記録される場所である。たとえば、ユーザが記憶媒体に格納したい、文書又はスプレッドシート等のファイルは、ドライブ３０によりユーザデータエリア５４に格納される。非ユーザデータエリア５０は、概してユーザデータを格納するためには使用できず、代わりに制御及び管理の目的で使用される。本発明の少なくともいくつかの実施形態によれば、非ユーザデータエリア５０は、引用することにより本明細書の一部をなすものとする米国特許第６，３３０，２１０号明細書に開示されているように、記憶媒体の「リードイン（lead-in）」エリアを含みうる。図２の実施形態では、非ユーザデータエリア５０は、ドライブＩＤテーブル５６を含む。ドライブＩＤテーブル５６を、ドライブのＣＰＵ３６がコード３８の実行下で初期化してもよい。ドライブＩＤテーブルを初期化することは、テーブルを格納するために非ユーザデータエリア５０の一部を予約することを含みうる。
【００１７】
図３は、テーブル５６の一実施形態を示す。テーブル５６は、１以上のエントリ６２を含むように構成される。図３に示すように、各エントリ６２は、少なくともドライブＩＤフィールド５８を含む。ドライブＩＤフィールド５８は、記憶ドライブに関連するドライブＩＤ（上述したもの等）を格納するように適合される。各エントリ６２はまた、インデックスフィールド６０を含みうる。したがって、テーブル５６の各エントリ６２は、インデックス値及び対応するドライブＩＤを含みうる。たとえば、インデックス値０１ｈ（「ｈ」は１６進数を示す）は、ドライブ１のＩＤ（ＤＲＩＶＥ １ ＩＤ）に対応する。同様に、インデックス０２ｈ及び０３ｈは、ＤＲＩＶＥ ２ ＩＤ及びＤＲＩＶＥ ３ ＩＤに対応する。ドライブＩＤを格納するために将来使用する目的で、少なくともいくつかのエントリ６２を予約してもよい。図３に示す実施形態では、インデックス値を格納するテーブルは、インデックスフィールド６０を含む。他の実施形態では、インデックスフィールド６０は存在せず、代わりに、各ドライブＩＤのインデックス値は、参照されているドライブＩＤ値のテーブルの位置に基づいて計算される。
【００１８】
本発明のさまざまな実施形態によれば、記憶媒体３２のユーザデータエリア５４におけるアドレス指定可能なユニットに記憶ドライブ３０によってデータが書き込まれる度に、記憶ドライブのＣＰＵ３６はまた、コード３８の制御下で、データが書き込まれる同じアドレス指定可能なユニットにインデックス値も書き込む。記憶媒体３２のアドレス指定可能なユニットに書き込まれるインデックス値は、書込み動作を実行している特定の記憶ドライブ３０に対応する。アドレス指定可能なユニットに書き込まれるインデックス値は、非ユーザデータエリア５０におけるドライブＩＤテーブル５６によって反映されるようにドライブのＩＤに対応する。たとえば、ドライブ１は、記憶媒体のアドレス指定可能なユニットに書き込む場合には、データに加えて、アドレス指定可能なユニットにその対応するインデックス値も書き込む。さらに、データが書き込まれる記憶媒体３２の各アドレス指定可能なユニットには、アドレス指定可能なユニットに書き込むために使用された特定の記憶ドライブ３０を識別するインデックス値も書き込まれる。ドライブは、複数のアドレス指定可能なユニットにまたがってもよいデータ（たとえばファイル）を書き込んでもよい。本発明の実施形態によれば、ドライブのドライブＩＤは、データが書き込まれるアドレス指定可能なユニットの各々に書き込まれる。ドライブＩＤに加えて、各アドレス指定可能なユニットには時間値もまた書き込まれる。時間値は、アドレス指定可能なユニットにデータが記録された時間を示す。各アドレス指定可能なユニットに記録されたドライブＩＤ及び時間値は、後述するように、ドライブの問題を診断するか又は法的分析（forensic analysis）に役立つ情報を提供するために有用であり得る、監査情報を含む。
【００１９】
図４は、ユーザデータエリア５４（図２）の一部を含む記憶媒体３２のアドレス指定可能なユニットの一部を示す。図４に示す部分は、アドレス指定可能なユニット１、２、３、４及び５を含む。各アドレス指定可能なユニットは、第１の部分７０及び第２の部分７２を含む。第１の部分７０は、たとえばホスト２２のために、データが記録されるデータ部分を含みうる。第２の部分７２は、インデックス値７３及び時間値７５を記録するために使用される。第２の部分７２は、各アドレス指定可能なユニットに関連するヘッダを含みうる。実施形態によっては、アドレス指定可能なユニットヘッダは、アドレス、制御情報及び他の情報とともに、１つ又は複数の予約済みフィールドを含みうる。予約済みフィールドのうちの１つを使用して、インデックス及び時間値を格納してもよい。図４の例では、ドライブ１を使用してアドレス指定可能なユニット１、２及び５にデータが書き込まれており、ドライブ２及び３を使用して、それぞれアドレス指定可能なユニット３及び４にデータが書き込まれている。また、ドライブ１を使用して、アドレス指定可能なユニット３及び４にデータを書き込まれた可能性があるが、後にドライブ２及び３が、アドレス指定可能なユニット２及び３に格納された可能性のあるデータに上書きし、それに従って関連するインデックス値を更新した。インデックス値７３は、アドレス指定可能なユニットに直前に書き込んでおり図３のインデックス値６０に対応するドライブを識別する。時間値７５は、関連するインデックス値によって識別されるドライブがその特定のアドレス指定可能なユニットに最後に書き込んだ時（時刻及び／又は日付）を示す。
【００２０】
記憶媒体３２を、「レガシドライブ（legacy drive）」とともに使用してもよい。レガシドライブは、本明細書において説明するように、記憶媒体にドライブＩＤ及び／又は時間値を書き込むように備えられていないドライブである。代わりに、レガシドライブは、アドレス指定可能なユニットにおいて、本明細書において説明するようにドライブによりドライブＩＤ及び／又は時間値が書き込まれるはずである位置に、００ｈなどの所定値が書き込まれるようにしてもよい。
【００２１】
ドライブＩＤ及びテーブルにおいて実施される場合には、ドライブＩＤテーブル５６のエントリのすべてにインデックス値が書き込まれる場合もある。このような場合には、少なくともいくつかの実施形態によれば、アドレス指定可能なユニットにデータを書き込むように試みる新たな記憶ドライブ（すなわち、ドライブＩＤがまだテーブル５６に格納されていないドライブ）により、ドライブＩＤの代わりに００ｈ又はＦＦｈなどの予約された値がアドレス指定可能なユニット（複数可）に書き込まれてもよい。他の実施形態では、テーブル５６がいっぱいになると、ユーザが開始する保守手続きによりテーブルのドライブＩＤを消去することができる。そして、テーブルの一部として又は記憶媒体の別の場所にオフセット値を格納することができる。このオフセット値は、テーブル５６のエントリの数を表し、追加のドライブに対する新たなインデックスを計算するために使用される。たとえば、テーブル５６が３２のエントリを有し３２のエントリすべてがドライブＩＤ（すなわち、３２の異なるドライブの３２のドライブＩＤ）によって占められる場合には、３２のすべてのドライブＩＤをテーブルから消去することができる。この例では、オフセット値は３２となる。ドライブが後にアドレス指定可能なユニットに書き込むように試みる場合には、テーブル５６の消去に続いて記憶媒体に書き込む最初のドライブである新たなドライブに、３２のオフセット値に１の初期インデック値を加算することによって計算される３３というインデックス値が割り当てられる。同様にして、記憶媒体に書き込む次のドライブに、３３というインデックス値が割り当てられる。実際にテーブル５６に格納されるインデックス値は、１、２、３のようになるが、テーブル５６にアクセスされる時にオフセット値３２に加算される。
【００２２】
図５は、行為８０〜８６を含む対応する方法実施形態を示す。図５に示す１以上の行為を同時に又は逐次実行することができ、１以上の行為を必要に応じて省略することができる。さらに、これらの行為を、図５に示すものとは異なる順序で実行することができる。８０において、ユーザは、記憶ドライブ３０に記憶媒体３２を挿入する。８２において、アドレス指定可能なユニットにデータが書き込まれる。記憶ドライブ３０が、その特定の記憶媒体３２にデータを書き込んだことがない場合には、その記憶ドライブ３０のドライブＩＤは記憶媒体のテーブル５６に存在しない。しかしながら、記憶ドライブ３０が先に記憶媒体３２にデータを書き込んだことがある場合には、テーブル５６に記憶ドライブ３０のドライブＩＤが存在する。記憶媒体のテーブル５６を検査することによって確かめられるように、これが、この特定の記憶ドライブ３０が初めてこの特定の記憶媒体にデータを書き込んだ時である場合には、ドライブのＣＰＵ３６は、ドライブのＩＤ値を先に使用されていないインデックス値に対応するテーブルに加算することにより記憶媒体のドライブＩＤテーブル５６を変更する。このようなドライブは、たとえば、先に「予約済み（reserved）」としてマークされたインデックス値０４ｈ（図３）に対応するテーブルのエントリに、そのドライブＩＤを追加してもよい。ドライブがすでに記憶媒体３２に書き込んでいる場合には、記憶媒体のドライブＩＤテーブルは、ドライブのＩＤを列挙するエントリをすでに含んでいるはずである。したがって、この場合には、ドライブＩＤテーブルのいかなる変更も行われない。８６において、ドライブ３０は、データが書き込まれているアドレス指定可能なユニットに、そのインデックス値と、時間ロジック２８又は４０から取得された時間値とを書き込む。実施形態によっては、行為８２及び８６は１つの行為として実行され、すなわち、データ及びドライブＩＤは、１つの書込みトランザクションでアドレス指定可能なユニットに書き込まれる。アドレス指定可能なユニットにデータを書き込む前、データを書込み中、又はデータを書き込んだ後、記憶ドライブから媒体を排出する前に、ドライブＩＤテーブル５６が書き込まれる。
【００２３】
上述した実施形態によれば、インデックス及び時間値はアドレス指定可能なユニットに格納される。識別する値は、アドレス指定可能なユニットに書き込むドライブを識別し、時間値は、書込みトランザクションの関連する時間を指定する。テーブル５６を使用して、関連するインデックス値が与えられるアドレス指定可能なユニットに書き込んだ特定のドライブを識別することができる。別の実施形態では、ドライブＩＤ自体（又はシステム識別子）を、対応するインデックス値ではなく識別する値としてアドレス指定可能なユニットに書き込んでもよい。この後者の実施形態では、ドライブＩＤテーブル（インデックス値とドライブＩＤとの変換を容易にする）は使用されない。
【００２４】
上述した実施形態では、記憶媒体は、記憶媒体の特定のアドレス指定可能なユニットにいずれのドライブが書き込んだことと、書込みトランザクションが発生した時間とを識別するために使用することができる監査情報を含む。この監査情報を種々の方法により使用することができる。たとえば、記憶媒体３２のアドレス指定可能なユニットに欠陥があると判断され、そのアドレス指定可能なユニットに書き込まれたインデック値を特定することができる場合には、ドライブＩＤテーブルを検査することにより、その特定のアドレス指定可能なユニットにいずれのドライブが最後に書き込んだかを判断することができる。そのアドレス指定可能なユニットに関連する時間値を検査することにより、そのアドレス指定可能なユニットにドライブが書き込んだ時間に関する追加の情報が提供される。欠陥のあるアドレス指定可能なユニットは、記憶ドライブによって書き込まれたアドレス指定可能なユニット（複数可）及び媒体のドライブＩＤテーブルにおける情報から一意に識別することができる特定の記憶デバイスの問題によってもたらされる可能性がある。時間値は、ドライブの寿命の指示を提供してもよい。さらに、ドライブＩＤ及び時間値を使用することにより、記憶媒体に対して法的分析を行ってもよい。
【００２５】
実施形態によっては、コンピュータを使用して、取外し可能な記憶媒体から監査情報を読み出してそれを処理する方法を実施することができる。図６に、本方法を実施するために適したソフトウェア１０４を実行するプロセッサ１０２を備えるものとして、例示的なコンピュータ１００を示す。コンピュータ１００は、取外し可能な記憶媒体を受け入れるようになっているドライブ１０６も備える。コンピュータ１００が実行することができる方法を図７に示す。本方法は、行為９０及び行為９２を含む。行為９０は、ドライブ１０６に挿入された取外し可能な記憶媒体から監査情報を読み出すことを含む。本方法は、さらに、９２において、監査情報に基づいて、特定のアドレス指定可能なユニット（又は特定の複数のアドレス指定可能なユニット）に最後に書き込んだドライブと、最後の書込みの時間とを確定することを含む。監査情報を読み出す行為は、たとえば、取外し可能な記憶媒体からテーブル５６を読み出すことを含む。情報を読み出す行為は、取外し可能な記憶媒体の、先にデータが書き込まれたアドレス指定可能なユニットに格納された任意のインデックス値を読み出すことと、関連する時間値を読み出すことをさらに含む。本方法は、記憶媒体のテーブル５６を検査することと、記憶媒体のアドレス指定可能なユニットのうちの任意のものから読み出される任意のインデックス値（複数可）が、テーブルに含まれる任意のインデックス値との一致を含むか否かを判断することをさらに含む。テーブルに格納されたドライブＩＤは、記憶媒体のアドレス指定可能なユニットに先にデータを書き込み、このようなアドレス指定可能なユニットにインデックス値が格納された任意のドライブの識別を確かめることができる機構を提供する。
【００２６】
上記の開示を完全に理解した当業者には、多数の変形及び変更が明らかとなるであろう。たとえば、本明細書において提供する教示は、コンピュータシステムとともに、光ディスクビデオレコーダなどのスタンドアロン記憶デバイスにも適用可能である。
【図１】
2010211804.tif 000003
【図２】
2010211804.tif 000004
【図３】
2010211804.tif 000005
【図４】
2010211804.tif 000006
【図５】
2010211804.tif 000007
【図６】
2010211804.tif 000008
【図７】
2010211804.tif 000009
【手続補正書】
【提出日】平成22年3月25日(2010.3.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
取外し可能な記憶媒体を用いたシステムであって、
前記取外し可能な記憶媒体を収容することができる記憶ドライブであって、該取外し可能な記憶媒体が個別にアドレス指定可能な複数のユニットと複数のドライブ識別子を記憶するためのテーブルとを含むものである、記憶ドライブと、
あるドライブ識別子を判別し、現在のドライブ識別子が前記テーブルに存在するかどうかを判別するために前記テーブルを検索し、現在のドライブ識別子が前記テーブルに存在しない場合には現在のドライブ識別子を前記テーブル中に書き込み、前記テーブルにおいて現在のドライブ識別子を表す現在のインデックス値を判別する前記中央処理装置と、
ここで、前記中央処理装置は、データが書き込まれる記憶媒体のアドレス指定可能な複数のユニットの各々にデータ及び時間値を書き込むように構成され、前記時間値は、各アドレス指定可能なユニットに前記データが書き込まれた時間を表し、前記インデックス値は、前記テーブル中の複数のドライブ識別子から、前記記憶媒体に書き込むために使用される特定のドライブ識別子を参照するものであり、
前記ドライブ識別子は、前記記憶媒体が使用される前記システムまたは前記記憶ドライブを、他のシステムまたは他の記憶ドライブから区別する、前記システムまたは前記記憶媒体の識別子を表すものである、システム。
【請求項２】
前記インデックス値は、前記テーブルに書き込まれたものである請求項１に記載のシステム。
【請求項３】
前記インデックス値は、前記テーブルにおける前記ドライブ識別子の位置によって求められるものである請求項１に記載のシステム。
【請求項４】
前記時間値は、時刻及び／又は日付を表す値を含むものである請求項１に記載のシステム。
【請求項５】
前記インデックス値は、個別にアドレス指定可能なユニットのヘッダ部分に書き込まれるものである請求項１に記載のシステム。
【請求項６】
記憶ドライブによって、取外し可能な記憶媒体の個別にアドレス指定可能なユニットにデータを書き込むステップと、
前記記憶ドライブによって、個別にアドレス指定可能なユニットに時間値を書き込むステップであって、該時間値は、前記個別にアドレス指定可能なユニットにデータを書き込んだときの時間を表すものである、時間値を書き込むステップと、
前記個別にアドレス指定可能なユニットにインデックス値を書き込むステップであって、該インデックス値は、前記取外し可能な記憶媒体の異なる位置に置かれたテーブル中にあるドライブ識別子を表し、該ドライブ識別子は、前記取外し可能な記憶媒体に書き込むために使用されるシステムまたはドライブを一意に識別するものである、インデックス値を書き込むステップと
を含んでなる方法。
【請求項７】
前記時間値は、時刻及び／又は日付を表す値を含むものである請求項６に記載の方法。
【請求項８】
前記データと前記時間値と前記インデックス値とは、同じ書込み動作で書き込まれたものである請求項６に記載の方法。
【請求項９】
取外し可能な記憶媒体に書き込まれるデータを受け取るステップと、
前記取外し可能な記憶媒体の個別にアドレス指定可能なユニットに前記データを書き込むために使用される記憶ドライブまたはシステムドライブを表すドライブ識別子が、複数のドライブ識別子のために構成されたテーブルに存在するかどうかを判別するステップと、
現在のドライブ識別子が存在しない場合には、現在のドライブ識別子を前記テーブルに書き込むステップであって、前記ドライブ識別子は、前記データを前記取外し可能な記憶媒体に書き込むために使用される前記システムまたはドライブを一意に識別するものである、現在のドライブ識別子を前記テーブルに書き込むステップと、
現在のドライブ識別子を表すインデックス値を判別するステップと、
前記データを書き込んだ時間を表す時間値を判別するステップと、
前記データと前記時間値と前記インデックス値とを、前記取外し可能な記憶媒体の個別にアドレス指定可能なユニットに書き込むステップと
を含んでなる方法。
【請求項１０】
前記時間値は、時刻及び／又は日付を表す値を含むものである請求項９に記載の方法。