(57)【特許請求の範囲】
【請求項１】
データの書換が可能な記録媒体を有する記憶装置であって、
アドレスと共にホスト装置から与えられる前記データを、前記記録媒体の、そのアドレスで識別される位置に書き込む第１書込手段と、
この第１書込手段によるデータの書き込み時に、本記憶装置の駆動時間を表わすように本記憶装置内部で初期値からカウントアップされるタイマ値によりデータ書き込み日時を特定できる情報を得ることによって、前記情報が含まれる属性データを作成する属性データ作成手段と、
この属性データ作成手段により作成された属性データを、前記記録媒体の、データの読み出しが可能な領域であって、前記第１書込手段によるデータの書き込みが行えない領域に書き込む第２書込手段と
を備えることを特徴とする記憶装置。
【請求項２】
前記第２書込手段は、前記第１書込手段によってデータが書き込まれるトラック内に、前記属性データを書き込むことを特徴とする請求項１記載の記憶装置。
【請求項３】
前記記録媒体が交換可能なものであることを特徴とする請求項１または請求項２記載の記憶装置。
【請求項４】
前記属性データ作成手段は、予め与えられている装置識別データが含まれる属性データを作成することを特徴とする請求項３記載の記憶装置。
【請求項５】
前記属性データ作成手段は、前記データに所定の変換を施すことによって作成される検証データが含まれる属性データを作成することを特徴とする請求項１ないし請求項４のいずれかに記載の記憶装置。
【請求項６】
記憶装置の使用環境に関係するデータである使用環境データを取得する取得手段を、さらに、備え、前記属性データ作成手段は、前記取得手段によって取得された使用環境データが含まれる属性データを作成することを特徴とする請求項１ないし請求項５のいずれかに記載の記憶装置。
【請求項７】
アドレスと、属性データが満たすべき条件を指定する条件指定データとが含まれる属性データ読出要求を受けたときに、その属性データ読出要求に含まれるアドレスに記憶されたデータに対応する属性データを読み出し、読み出した属性データが属性データ読出要求に含まれる条件指定データによって指定された条件を満たすものであった場合に限り、その読み出した属性データを出力する属性データ読出・出力手段を、さらに、備えることを特徴とする請求項１ないし請求項６のいずれかに記載の記憶装置。
【請求項８】
属性データが満たすべき条件を指定する条件指定データが含まれるデータ読出要求を受けたときに、そのデータ読出要求に含まれる条件指定データで指定されている条件を満たす属性データに対応するデータを、前記記録媒体から読み出して出力するデータ読出・出力手段を、さらに、備えることを特徴とする請求項１ないし請求項７のいずれかに記載の記憶装置。
【請求項９】
前記第１書込手段は、アドレス及び属性データが満たすべき条件を指定する条件指定データと共に書き込みデータを受け取り、前記アドレスで識別される位置に記憶されるデータに対応する属性データが、その条件指定データで指定されている条件を満たすものであった場合と、前記アドレスで識別される位置に記憶されるデータに関して生成された属性データが記憶されていなかった場合に限り、前記データを前記記録媒体へ書き込むことを特徴とする請求項１ないし請求項８のいずれかに記載の記憶装置。
【請求項１０】
前記属性データ作成手段によって作成された属性データを、前記第１書込手段に与えられたアドレスとともに、所定の第３者機関に送信する送信手段を、さらに、備えることを特徴とする請求項１ないし請求項９のいずれかに記載の記憶装置。
【請求項１１】
前記交換可能な記録媒体が本記憶装置に挿入された際に、該記録媒体からその記録媒体に関する属性情報を取得する取得手段と、
前記取得手段により取得された属性情報を、その記録媒体が挿入されてからの経過時間及びその記録媒体への前記第１書込手段によるデータの書込み回数のうちの少なくとも１つに相当する情報で更新する属性更新手段と、
を更に備え、
前記第２書込手段は、
前記記録媒体が排出される際に、前記属性更新手段により更新された記録媒体に関する属性情報についても、前記記録媒体の、データの読み出しが可能な領域であって、前記第１書込手段によるデータの書き込みが行えない領域に書き込む、
ことを特徴とする請求項２に記載の記憶装置。
【請求項１２】
前記属性データ作成手段は、前記属性更新手段により更新された記録媒体に関する属性情報に相当するデータが含まれる属性データを作成することを特徴とする請求項１１に記載の記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、記憶装置に関し、例えば、磁気ディスク装置や光磁気ディスク装置など、書換可能な記録媒体へデータを記憶する記憶装置に関する。
【０００２】
【従来の技術】
近年、各種の情報が、コンピュータシステムが備える記憶装置内に保存され、再利用されるようになってきている。再利用の形態としては、既存のファイルの内容を更新するといったものや、既存のファイルの内容を修正して新たなファイルとして記憶するといったもの、通信回線を介して他のコンピュータシステムにファイルの内容を転送するといったものがある。
【０００３】
【発明が解決しようとする課題】
このように、コンピュータシステムを用いれば、既存の情報を加工して、あるいはそのまま、再利用できるため、各種の作業を効率的に完了させることが出来る。この際、当該作業の結果として作成された情報が、物理的に１度しか書込が行えない記憶装置内（記憶媒体上）に格納された場合には、その記憶装置内の情報が、作成者が作成した通りのものであると言うことができる。しかしながら、当該情報が、書換可能な記憶装置内の記録媒体に記憶された場合、その情報（ファイル）が、作成者が作成した通りのものであることを証明することは、情報の加工が容易であるために、逆に困難なものとなっている。
【０００４】
例えば、Ａ社が、「ある検討を一年前に実施済である」と主張するために社内文書を提示する場合を考える。この社内文書の提示が、紙に一年前に記された書類によって行われた場合には、紙質の変化・インクの具合などにより、当該書類の内容が一年前位に記述されたものであると判断できることもある。また、筆跡や押印の具合により、書類を作成した人物や承認した人物を特定できることもある。
【０００５】
しかしながら、記録媒体に記憶された、タイムスタンプが一年前となっているデータだけを示しても、タイムスタンプ、データの書換は極めて容易に行えるため、そのデータが、辻褄あわせのために捏造されたものではなく、実際に一年前に作成され、その後、更新もされていないデータであることを主張することはできない。
【０００６】
そこで、本発明の課題は、書換可能な記憶媒体に、その作成日、時などが証明できる形態でデータを記憶することが出来る記憶装置を提供することにある。
【０００７】
【課題を解決するための手段】
上記課題を解決するために、本発明では、データの書換が可能な記録媒体を有する記憶装置を、アドレスと共に与えられるデータを、記録媒体の、そのアドレスで識別される位置に書き込む第１書込手段と、この第１書込手段によるデータの書き込み時に、その書き込み日時に相当する情報が含まれる属性データを作成する属性データ作成手段と、この属性データ作成手段により作成された属性データを、記憶媒体の、データの読み出しが可能な領域であって、第１書込手段によるデータの書き込みが行えない領域に書き込む第２書込手段とを用いて構成する。
【０００８】
すなわち、本発明による記憶装置は、データの書込要求を受けたときに、記録媒体に当該データを書き込むことによってその要求に応答するとともに、記録媒体上の、通常の方法では内容の書換が行えない領域に、そのデータの書込日時に相当する情報が含まれる属性データを作成して、書き込む。このため、本記憶装置を用いれば、書換可能な記憶媒体に、その作成日時が証明できる形態でデータが記憶できることになる。
【０００９】
なお、データの書込日時に相当する情報としては、データの書込が行われた日付と時間とを、適当な時間分解能（例えば、５分）で特定できる情報を用いることが望ましいが、記録媒体内での各データの相対的な書込順だけが分かる情報を用いることも出来る。
【００１０】
本発明による記憶装置を実現する際には、第２書込手段として、第１書込手段によってデータが書き込まれるトラック内に、属性データを書き込む手段を採用しておくことが望ましい。このような第２書込手段を採用しておけば、署名データの書込動作を行わない一般的な装置と同程度の速度で、書込要求へ応答できる記憶装置が形成されることになる。
【００１１】
本発明は、交換が行えない記録媒体を対象とする記憶装置にも、交換が行える記録媒体を対象とする記録装置にも適用することが出来るが、後者の記憶装置に適用する場合には、属性データ作成手段として、予め与えられている装置識別データが含まれる属性データを作成する手段を用いておくことが望ましい。このような属性データ作成手段を採用しておけば、記録媒体に記憶された署名データから、対応するデータの書き込みを行った記憶装置を特定できることになる。
【００１２】
また、属性データ作成手段として、データに所定の変換を施す（例えば、データからＣＲＣを求める）ことによって作成される検証データが含まれる属性データを作成する手段を用いても良い。また、記憶装置の使用環境に関係するデータである使用環境データ（例えば、ユーザの識別情報）を取得する取得手段を付加するとともに、取得手段によって取得された使用環境データが含まれる属性データを作成する属性データ作成手段を用いて、記憶装置を構成することも出来る。
【００１３】
また、アドレスと、属性データが満たすべき条件を指定する条件指定データとが含まれる属性データ読出要求を受けたときに、その属性データ読出要求に含まれるアドレスに記憶されたデータに対応する属性データを読み出し、読み出した属性データが属性データ読出要求に含まれる条件指定データによって指定された条件を満たすものであった場合に限り、その読み出した属性データを出力する属性データ読出・出力手段を付加して、記憶装置を構成しても良い。
【００１４】
このように記憶装置を構成した場合には、属性データの内容を読み出せる人物を特定できることになるので、属性データの内容が何らかの形で悪用されるのを防止できることになる。
【００１５】
また、本発明による記憶装置を形成する際に、属性データが満たすべき条件を指定する条件指定データが含まれるデータ読出要求を受けたときに、そのデータ読出要求に含まれる条件指定データで指定されている条件を満たす属性データに対応するデータを、記録媒体から読み出して出力するデータ読出・出力手段を付加しても良い。このようなデータ読出・出力手段を付加した場合には、必要なデータを簡単に検索できる記憶装置が得られることになる。
【００１６】
また、第１書込手段として、アドレス及び属性データが満たすべき条件を指定する条件指定データと共に書き込みデータを受け取り、アドレスで識別される位置に記憶されるデータに対応する属性データが、その条件指定データで指定されている条件を満たすものであった場合と、アドレスで識別される位置に記憶されるデータに対して有意な属性データが記憶されていなかった場合とに限り、データを記録媒体へ書き込む手段を用いることも出来る。
【００１７】
また、属性データ作成手段により作成された属性データを、第１書込手段に与えられたアドレスとともに、所定の第３者機関に送信する送信手段を付加しておけば、データを、その作成日時が公的にも証明できる形態で記録媒体に記憶できる記憶装置が得られることになる。
【００１８】
【発明の実施の形態】
以下、図面を参照して、本発明の一実施形態を具体的に説明する。
実施形態の記憶装置は、ＩＳＯ１５０４１に従ったフォーマットの光磁気ディスク（以下、ＭＯと表記する）を対象とする、ＳＣＳＩ−２インターフェースを有する装置（いわゆる、光磁気ディスク装置）として構成してある。
【００１９】
図１に示したように、実施形態の記憶装置１０は、インターフェース回路１１とドライブ制御部１２とリード／ライト制御部１３とメカ制御部１４とリニアアクチュエータ１５とヘッド１６とスピンドルモータ１７とローディンク機構１８を備える。ドライブ制御部１２を除く各部は、それぞれ、上記のようなＭＯを対象とする一般的な光磁気ディスク装置内の対応する部分とほぼ同じ機能を有する。
【００２０】
すなわち、リニアアクチュエータ１５は、メカ制御部１４から指示された、ＭＯ２０上の位置にヘッド１６を移動する。スピンドルモータ１７は、メカ制御部１４からの指示に従い、ＭＯ２０（のスピンドル）を回転させる。ローディンク機構１８は、ＭＯ２０が挿入されたことを検出した際には、その旨をドライブ制御部１２に通知し、排出ボタン（図示せず）が押下されたことを検出した際には、その旨をドライブ制御部１２に通知する。また、ドライブ制御部１２から排出指示を受けたときには、ＭＯ２０を排出するための処理を実行する。
【００２１】
インターフェース回路１１は、ホストから、ＳＣＳＩ−２で規定されている各種のコマンドを受け付け、その内容をドライブ制御部１２に通知する。さらに、インターフェース回路１１は、ホストから、本実施形態独自のコマンドをも受け付ける（詳細は後述）。また、インターフェース回路１１は、ＭＯ２０から読み出されたデータや、ＭＯ２０に書き込むべきデータのホストとの間の転送タイミング制御も行う。
【００２２】
リード／ライト制御部１３は、ドライブ制御部１２を介して与えられるセクタ単位のデータを記録媒体２０に書き込むための制御を、ヘッド１６に対して行う。また、リード／ライト制御部１３は、記録媒体２０に記憶されているデータを読み出すための制御をも行う。その際、リード／ライト制御部１３は、メカ制御部１４によるリニアアクチュエータ１５、スピンドルモータ１７の制御に同期した形で、ヘッド１６の制御を行う。なお、このリード／ライト制御部１３は、後述するように、通常、有意なデータの記憶に使用されないＭＯ２０の記憶領域に、署名データを書き込むためにも用いられている。
【００２３】
ドライブ制御部１２は、インターフェース回路１１を介して与えられるホストからのコマンドに応じて、リード／ライト制御部１３、メカ制御部１４等を統合的に制御することによって、ホストからの要求に応答する。その際、ドライブ制御部１２は、内部に備えるデータ用キャッシュメモリを利用したデータのキャッシングを行う。すなわち、ＭＯ２０内のあるアドレスに記憶されているデータを読み出した場合、ドライブ制御部１２は、そのデータをインターフェース回路１１を介してホストに供給するとともに、そのデータをデータ用キャッシュメモリに記憶する。そして、データ用キャッシュメモリに記憶されているデータに関する読出要求を受けた場合には、ＭＯ２０からデータを読み出すことなく、データ用キャッシュメモリ内のデータをホストに供給することによって、その読出要求に応答する。
【００２４】
ドライブ制御部１２は、書込要求に関しても同様に、ホストから与えられるＭＯ２０に書き込むべきデータを、一旦、データ用キャッシュメモリ内に保存する。そして、予め定められている、ＭＯ２０への書込を実行すべき条件が満たされたときに、データ用キャッシュメモリ内のデータ（ＭＯ２０への書き戻しが必要なデータのみ）を、ＭＯ２０に書き込むための制御を実行する。
なお、ドライブ制御部１２は、データ用キャッシュメモリを、署名データの一部を一時記憶するためにも用いているのであるが、その詳細については後述する。
【００２５】
ドライブ制御部１２は、上述したような一般的な光磁気ディスク装置でも行われている制御を実行する機能に加えて、書き込みが指示されたデータの内容、作成環境に応じたデータである署名データを、当該データと対応づけてＭＯ２０内に記憶する機能を有している。
【００２６】
まず、図２を用いて、当該機能を実現するために、記憶装置１０内で管理される情報と、当該機能によってＭＯ２０に書き込まれる情報の概要説明を行うことにする。
【００２７】
図２（ａ）に示したように、記憶装置１０（ドライブ制御部１２）内には、DRIVEIDO、DRIVETIMER、USERPARAM、MEDIATCNTと、２種のフラグFLAGD、FLAGMが記憶される。また、ＭＯ２０には、SIGCRC、DRIVEID、DRIVET、USERID、MEDIATからなる署名データと、MEDIACNTが書き込まれる。なお、１枚のＭＯ２０には、本記憶装置によってデータの書込が行われたセクタの数と等しい数の署名データと、１個のMEDIATCNTが記憶される。
【００２８】
DRIVEIDOは、記憶装置１０に与えられている６４ビットの装置識別情報である。DRIVETIMERは、記憶装置１０の駆動時間を表す３２ビットの情報であり、“０”を初期値として１秒毎にカウントアップを行うタイマの値となっている。USERPARAMは、記憶装置１０（ホスト）のユーザによって設定される３２ビットの情報である。
【００２９】
MEDIATCNTは、ＭＯ２０の使用状況を表す３２ビットの情報であり、ＭＯ２０が記憶装置１０にセットされた際にＭＯ２０から読み出される。その後、MEDIATCNTは、ＭＯ２０の使用状況に応じて更新される。そして、ＭＯ２０が排出される際に、更新されたMEDIATCNTの値が、ＭＯ２０に書き戻される。また、MEDIATCNTは、署名データの要素である１６ビットのデータMEDIATを算出するためにも用いられる。
【００３０】
FLAGD、FLAGMは、“１”、“０”のいずれかの値をとるフラグである。詳細は後述するが、FLAGDは、SIGCRC用バッファメモリを管理するためのフラグとして用いられており、FLADMは、MEDIATCNTの書き込みが必要か否かを管理するためのフラグとして使用されている。
【００３１】
署名データの要素であるSIGCRCは、ＭＯに書き込まれるデータの１６ビットＣＲＣとなっている。また、図中、矢印で対応づけてあるように、DRIVEIDは、３２ビットのDRIVEIDOから求められる１６ビットの情報となっており、DRIVETは、３２ビットのDRIVETIMERから求められる１６ビットの情報となっている。USERIDは、３２ビットのUSERPARAMから求められる１６ビットの情報となっている。
【００３２】
各３２ビットデータから署名データの要素である１６ビットデータを求める手順、MEDIATCNTの更新手順等の詳細に関しては後述することとし、ここでは、まず、署名データおよびMEDIATCNTが、ＭＯ２０のどの領域に記憶されるかを説明する。
【００３３】
図３に、記憶装置１０が対象とする、ＭＯ２０におけるトラックの利用形態（ＩＳＯ１５０４１）を示し、図４に、トラックの利用形態を示す。
ＩＳＯ１５０４１は、記憶容量を高めるために、ＺＣＡＶ(Zone Constant Angle Velosity)記録方式が採用された方式であり、図３に示したように、ＭＯ２０の記憶領域は、記録周波数が互いに異なる１１個の記憶領域（バンドと呼ばれる）に分割されている。図示してあるように、各バンドは、互いに異なる数の物理トラックからなり、各バンド内の物理トラックは、異なる数のセクタを有している。
【００３４】
ただし、データの記憶に実際に用いられている物理トラックは、バンド内の物理トラックの一部だけであり、残りの物理トラックは、他の用途に使用されている。例えば、バンド番号“１”のバンド（以下、バンド番号“ｎ”のバンドをバンド“ｎ”と表記する）は、１３４４個の物理トラックからなり、各物理トラックは、１６個のセクタを有するが、バンド“１”では、１２６２番から２５８５番まで(Start DataからStart R/W Spareまで)の１３３６個の物理トラックだけがデータ記憶に使用されている。そして、２５８６番から２５９７番まで（Start R/W SpareからStart Bufferまで）の１２個の物理トラックは、欠陥セクタの代替のために使用されている。また、２６００番から２６０１番まで（Start TestからStart Bufferまで）の物理トラックは、記憶装置の動作パラメータを、セットされたＭＯに合わせて補正するための試し書き領域として使用されている。また、バンド“１”内に３つ存在している、Start Bufferからの各２トラックは、バンドの境界に近い部分のセクタのアクセスを容易なものとするための緩衝領域として使用されている。すなわち、ＺＣＡＶ方式では、バンドが変わると記録周波数が変わるため、その変化に対応するために、これらの、何らデータが記憶されない緩衝領域が用意されている。
【００３５】
他のバンド内の物理トラックも、バンド“１”と同様に使用されている。ただし、バンド“０”とバンド“１１”には、媒体の管理情報を保存するための物理トラック（ＤＭＡ１＆ＤＭＡ２、ＤＭＡ３＆ＤＭＡ４）も用意されている。
【００３６】
また、ＩＳＯ１５０４１は、２０４８バイト／セクタでデータが記憶されるフォーマットであるが、図４に示したように、各セクタには、ヘッドのセクタへの位置づけや、クロックの同期、読取りエラーの補正のために様々なフィールドが設定されている。データフィールドとしては、２４５８バイト分の領域が確保されており、２４５８バイトのうち、２０４８バイトがユーザデータ用に、４０２バイトがＣＲＣ、ＥＣＣ、Ｒｅｓｙｎｃ用に使用されている。すなわち、データフィールドは、８バイト分の領域を除いた形で使用されている。この８バイト分の未使用領域は、レイアウトの都合上形成されているものであり、物理的に利用可能な領域となっている。
【００３７】
実施形態の記憶装置１０では、各バンド内の、Start Test直前のStart Bufferからの２トラックが、そのバンド内に格納されるセクタデータに関するSIGCRCを記憶するために使用される。
【００３８】
なお、バンド“０”ないしバンド“１０”は、データ記憶用の物理トラック数が“２０４８”以下であるため、Start Bufferから始まる２トラック内に、全てのセクタデータ用のSIGCRCを記憶することが出来る。すなわち、SIGCRCは、２バイトのデータであるため、あるバンドのトラック数をＬ、トラック当たりのセクタ数をＳとすると、そのバンド内の全てのセクタ用のSIGCRCの記憶に、２×Ｌ×Ｓバイトが必要とされることになる。一方、そのバンド内の２個の物理トラックに記憶できるバイト数は、２×２０４８×Ｓであるので、Ｌ≦２０４８であった場合、２トラック内に、全てのセクタデータ用のSIGCRCを記憶することが出来ることになる。しかしながら、バンド“１１”のデータ記憶用物理トラック数は、２０７９であるため、２トラックで、全てのセクタデータ用のSIGCRCを記憶することができない。このため、本実施形態では、バンド“１１”に関しては、Start Buffer直前のＤＭＡ用トラックの一部とStart Bufferからの２トラックを、SIGCRC用の記憶領域として用いている。
【００３９】
そして、実施形態の記憶装置１０では、各セクタ内で未使用となっている８バイト分の領域が、残りの計８バイトの署名データ要素（DRIVEID、DRIVET、MEDIAT、USERID）の記憶に、バンド“０”のＤＭＡ領域の一部が、MEDIATCNTの記憶に、使用されている。
【００４０】
以下、流れ図を用いて、記憶装置１０の動作を具体的に説明する。
図５に、電源投入時の記憶装置１０（ドライブ制御部１２）の動作手順を示す。図示したように、電源投入時、ドライブ制御部１２は、まず、自己診断を実行する（ステップＳ１０１）。次いで、装置に与えられている６４ビットの情報であるDRIVEIDOの上位３２ビットを、USERPARAMに設定（ステップＳ１０２）し、コマンド入力待機状態に移行する。
【００４１】
通常、本記憶装置１０のユーザは、電源投入後、ホストを操作することによって、ユーザパラメタを指定するためのMODESETコマンドを記憶装置１０に与える。当該MODESETコマンドが入力された場合、記憶装置１０は、図６に示したように、MODESETコマンド内に設定されているユーザパラメタを読み出すとともに、その長さが３２ビット以下であるか否かを判断（ステップＳ２０１）する。そして、ユーザパラメタの長さが３２ビット以下であった場合（ステップＳ２０１；Ｙ）には、そのユーザパラメタを、そのまま、USERPARAMとして記憶（ステップＳ２０２）し、コマンド入力待機状態に移行する。一方、ユーザパラメタの長さが３２ビットを越えていた場合（ステップＳ２０１；Ｎ）、記憶装置１０は、ユーザパラメタの３２ビットＣＲＣを求め、求めたＣＲＣをUSERPARAMとして記憶（ステップＳ２０３）する。そして、コマンド入力待機状態に移行する。
【００４２】
また、記憶装置１０は、媒体が挿入されたことを検出した際には、図７に示したように、挿入された媒体（ＭＯ）に対するテストを実行する（ステップＳ３０１）。なお、図示は省略したが、このステップにおいて媒体の異常を検出した場合、記憶装置１０は、ホストに対してその旨を通知した後、コマンド入力待機状態に移行する。
【００４３】
媒体が正常であることを確認した後、記憶装置１０は、FLAGM、FLAGDの“０”クリアを行い（ステップＳ３０２）、媒体上のバンド“０”内に所定の記憶領域からのMEDIATCNTの読出を試みる（ステップＳ３０３）。そして、読出に失敗した場合（ステップＳ３０４；Ｎ）には、MEDIATCNTとして“１”を記憶する（ステップＳ３０５）。次いで、FRAGMに“１”を設定する（ステップＳ３０６）。すなわち、MEDIATCNTの値をＭＯに書き込む必要があることを、FLAGMを“１”とすることによって記憶する。そして、コマンド入力待機状態に移行する。一方、MEDIATCNTの読出が行えた場合（ステップＳ３０４；Ｙ）、記憶装置１０は、MEDIATCNTとして、読み出した値を記憶（ステップＳ３０７）し、コマンド入力待機状態に移行する。
【００４４】
また、媒体が挿入された際には、記憶装置１０内で、図８に示した割込み処理が６０秒毎に実行されるようになる。図示したように、割込み処理時、記憶装置１０は、内部に保持しているMEDIATCNTに２５６（１６進表記では、１００）を加算（ステップＳ４０１）する。そして、FRAGMに“１”を設定（ステップＳ４０２）し、割込み処理を終了する。
【００４５】
次に、図９を用いて、WRITEコマンド受付時の記憶装置１０の動作を説明する。図示したように、WRITEコマンドを受信した際、記憶装置１０は、まず、その後に与えられる書込データから、その書込データに関する署名データの要素として使用するSIGCRCを算出する。すなわち、書込データの１６ビットＣＲＣを算出し、算出値をSGCCRC用バッファメモリに記憶する（ステップＳ５０１）。
【００４６】
次いで、署名データの要素として使用するMEDIAT、DRIVET、DRIVEIDに、MEDIATCNTの第８〜第２３ビット（中位２バイト）、DRIVETIMERの第８〜第２３ビット、DRIVEIDOの下位１６ビットを設定する（ステップＳ５０２）。その後、MEDIATCNTに“１”を加算（ステップＳ５０３）し、FLAGDとFLADMに共に“１”を設定する（ステップＳ５０４）。すなわち、ＭＯに書き込むべきSCGCRCが、SCGCRC用バッファメモリ内に記憶されたことを、FLAGDを“１”とすることによって記憶し、MEDIATCNTの値が変更されたことを、FLAGMを“１”とすることによって記憶する。
【００４７】
次いで、書き込みが要求されたデータと、SIGCRCを除く署名データとを、データ用キャッシュメモリあるいはＭＯに記憶（ステップＳ５０５）する。すなわち、書込データに対して用いられる一般的なキャッシュ制御アルゴリズムを、書込データとSIGCRCを除く署名データに対して用いて、それらのデータを、データ用キャッシュメモリあるいはＭＯに記憶する。そして、コマンド入力待機状態に移行する。
【００４８】
なお、ＳＣＳＩ−２には、記録媒体にデータを書き込むために使用できるコマンドとして、WRITEコマンド以外のコマンドも用意されている。例えば、記憶装置のＥＣＣ機能やエラーリカバリ機能をテストするためのコマンドとして、"WRITE LONG"コマンドが用意されているが、実施形態の記憶装置１０は、"WRITE LONG"コマンド受付時にも、WRITEコマンド受付時と同様に署名データを作成する。
【００４９】
ここで、DRIVET、MEDIATに関する補足説明を行っておく。既に説明したように、DRIVETIMERは、１秒毎に１インクリメントされる値である。このため、DRIVETは、２５６秒の時間分解能を有する情報となる。また、MEDIATCNTは、図６を用いて、説明したように、６０秒毎に２５６インクリメントされるデータとなっており、かつ、図９を用いて説明したように、１セクタ分のデータの書き込み要求が為された際に、１インクリメントされるデータとなっている。このため、MEDIATは、６０秒毎、及び、２５６回の書き込みアクセス毎に１インクリメントされるデータとなっている。換言すれば、MEDIATは、対応するセクタデータの書き込みの順序を表すデータとなっている。
【００５０】
次に、SCGCRC用バッファメモリ内のSCGCRCの、ＭＯへの書き込み手順を説明する。SCGCRC用バッファメモリ内のSCGCRCは、他ゾーン上のデータのアクセス要求を受信した時、あるいは、媒体排出時に、ＭＯに書き込まれる。このうち、他ゾーン上のデータへのアクセス要求がなされた場合、記憶装置１０は、図１０に示したように、まず、FLAGDが“１”であるか否かを判断（ステップＳ６０１）する。そして、“１”であった場合（ステップＳ６０１；Ｙ）には、SIGCRC用バッファメモリ内にデータのＭＯへの書込を実行（ステップＳ６０２）する。そして、FLAGDに“０”をセット（ステップＳ６０３）した後、要求されている他ゾーン上のデータにアクセスするために必要な制御を開始する。
【００５１】
また、媒体排出時（媒体排出コマンド、あるいは、排出ボタンが押下された時）、記憶装置１０は、図１１に示したように、データ用キャッシュメモリ内の、ＭＯへの書戻が必要なデータと署名データとのＭＯへの書込を行う（ステップＳ７０１）。次いで、SIGCRC用バッファメモリ内のSIGCRCをＭＯに記憶する処理（ステップＳ７０２、Ｓ７０３）を行う。さらに、FLAGMが“１”であった場合（ステップＳ７０４；Ｙ）には、MEDIATCNTのＭＯへの書き込みを行う（ステップＳ７０５）。その後、ＭＯを排出するための制御を行い（ステップＳ７０６）、図示した処理を終了する。
【００５２】
なお、SIGCRCのＭＯへの書き込み動作が、他の署名データ要素と別途行われるように構成してあるのは、SIGCRCの記憶領域を、データの記憶領域とは離れた位置に設定してあるからである。
【００５３】
以上、説明したように、本記憶装置１０によってデータが書き込まれたＭＯには、データが一般的な光磁気ディスク装置でも読み書き可能な形態で記憶されるとともに、データの書込を行った記憶装置１０を特定できる情報(DRIVEID)、データの作成者を表す情報("USERID")、データの書込時刻を表す情報("DRIVET")、データの相対的な書込順に関係する情報("MEDIAT")と、データの検証に使用できる情報("SIGCRC")とからなる署名データが、一般的な光磁気ディスク装置では読み書きできない形態で、かつ、本記憶装置１０によっても、単独では書換できない形態で記憶される。
【００５４】
このため、例えば、保存した時刻をごまかすために、ホスト内の時計の設定を変えた状態でデータ書込を行っても、そのデータに対応する署名データとして、記憶装置１０内のタイマから算出される時間情報（"DRIVET"）を含むデータがＭＯ内に記憶されてしまう。従って、署名データの内容を確認することによって、そのデータの書込時刻が判別できることになる。また、他の光磁気ディスク装置によってデータの改竄が行われた場合には、署名データ内のSIGCRCと、データから求められる１６ビットＣＲＣの値が一致しなくなるので、改竄されたことを判別できることになる。
【００５５】
このような判別のためにも用いれる機能として、実施形態の記憶装置１０には、"READ LONG"コマンドが入力された際に、データ（セクタデータとＥＣＣ）と、そのセクタデータと対応する署名データとを出力する機能が設けられている。すなわち、図１２に示したように、"READ LONG"コマンドが入力された際、記憶装置１０は、まず、読出を指示されたデータ（セクタデータとＥＣＣ）と、対応する署名データをＭＯから読み出す（ステップＳ８０１）。次いで、読み出したデータと署名データとを順に出力（ステップＳ８０２）し、コマンド入力待機状態に移行するように、記憶装置１０は構成されている。
【００５６】
データの改竄の有無を検証したい際や、署名データの内容を知りたい場合、ユーザは、この機能を利用する。そして、必要である場合には、この機能を用いて、取得したセクタデータの１６ビットＣＲＣと、取得した署名データ内のSIGCRCとを比較することによって、改竄の有無を判別する。
【００５７】
また、実施形態の記憶装置１０には、署名データをインデックスとして用いてデータの読出を行える機能も設けられている。この機能のために、本記憶装置１０では、SEARCH DATAコマンドと類似のフォーマットのコマンド（条件付きREADコマンドと表記する）が用意してあり、条件付きREADコマンドが入力された際、記憶装置１０は、その条件付きREADコマンドで指定されている署名データの要素（SIGCRCを除く）が、指定されている条件（ある値と一致、ある値以上等）を満たす署名データを探索する。そして、条件を満たす署名データがあった場合には、その署名データに対応するデータの出力を行う。
【００５８】
＜変形形態＞
実施形態の記憶装置は、ＭＯを対象とする装置であったが、本記憶装置で用いられている技術は、書換可能な媒体であればどのような媒体にも適用可能である。また、本技術は、交換可能な媒体を対象とする装置に適用したときに、特に顕著な効果が得られるものであるが、交換が不可能な媒体を対象とする装置に適用しても良いことは当然である。
【００５９】
また、署名データとして使用する情報の種類、ビット数等は、上記したものに限られるものではなく、必要に応じて、種類の増減や、各情報のビット数の増減を行って良い。例えば、本技術を、交換が不可能な媒体を対象とする装置に適用する場合には、DRIVEIDを署名データの要素とせずに、装置を形成することが出来る。また、MEDIATを媒体への書き込みアクセス回数のみをカウントするデータとしても良く、経過時間のみをカウントするデータとしても良い。
【００６０】
また、実施形態の記憶装置１０は、署名データの内容を簡単に読み出せるように構成されているが、読み出した内容を用いて何らかのデータ改竄を行うことも不可能ではない。このため、さらに、署名データの内容の一部、例えば、USERID(USERPARAM）を指定しなければ署名データ全体を読み出せないように装置を構成しても良い。すなわち、署名データの読み出し用のコマンドとして、アドレスと、例えば、USERPARAMの指定が必要なコマンドを用意し、そのコマンドが入力された際には、コマンド内に設定されているアドレスのデータに対応する署名データ内のUSERIDが、コマンド内に設定されているUSERPARAMに対応するものであるか否かを判断し、対応するものであった場合に限り、署名データ全体を出力するように装置を構成しても良い。なお、このように記憶装置を構成する場合、署名データ内のUSERIDが、コマンド内に設定されているUSERPARAMに対応するものでなかったとき、エラーとしても良いし、USERIDとして指定された値からランダムに作成した署名データを出力するようにしておいても良い。また、USERID以外の情報、例えば、DRIVEIDを用いても同様の制御を行うことが出来る。
【００６１】
同様に、署名データの内容の一部を指定しなければデータの書換を行えないように装置を構成しても良い。すなわち、アドレスの指定だけでデータの書換が行えるコマンドを受け付けないようにしておくとともに、アドレスと、例えば、USERPARAMの指定が必要なデータ書込用コマンドを用意し、そのデータ書込用コマンドが入力された際には、コマンド内に設定されているアドレスのデータに対応する署名データ内のUSERIDが、コマンド内に設定されているUSERPARAMに対応するものである場合と、有為なUSERIDが記憶されていない場合に限り、データ及び署名データのＭＯへの書込が行われるよう装置を構成しても良い。
【００６２】
また、実施形態で説明した記憶装置に、通信機能を付加すると共に、データの書込要求を受けた際には、作成した署名データとデータのアドレスとを、通信回線を介して、第３者機関に送信する機能を付加しても良い。
【００６３】
【発明の効果】
本発明の記憶装置によれば、書換可能な記憶媒体に、その作成日，時などが証明できる形態でデータを記憶することが出来る。
【図面の簡単な説明】
【図１】本発明の一実施形態による記憶装置の機能ブロック図である。
【図２】実施形態の記憶装置内で管理される情報と、ＭＯ内に書き込まれる情報の説明図である。
【図３】実施形態の記憶装置が対象とするＭＯのトラックフォーマットの説明図である。
【図４】実施形態の記憶装置が対象とするＭＯのセクタフォーマットの説明図である。
【図５】実施形態の記憶装置の電源投入時の動作手順を示す流れ図である。
【図６】実施形態の記憶装置のユーザパラメタを指定するMODESETコマンド受付時の動作手順を示す流れ図である。
【図７】媒体の挿入検出時における実施形態の記憶装置の動作手順を示す流れ図である。
【図８】実施形態の記憶装置において、６０秒毎に実行される割込み処理の流れ図である。
【図９】実施形態の記憶装置のWRITEコマンド受付時の動作手順を示す流れ図である。
【図１０】他ゾーン上のデータのアクセスが指示された際の実施形態の記憶装置の動作手順を示す流れ図である。
【図１１】実施形態の記憶装置の媒体排出時の動作手順を示す流れ図である。
【図１２】実施形態の記憶装置のREAD LONGコマンド受付時の動作手順を示す流れ図である。
【符号の説明】
１０  記憶装置
１１  インターフェース回路
１２  ドライブ制御部
１３  リード／ライト制御部
１４  メカ制御部
１５  リニアアクチュエータ
１６  ヘッド
１７  スピンドルモータ
１８  ローディング機構
２０  光磁気ディスク（ＭＯ）
【図１】
0004187284.tif 000002
【図２】
0004187284.tif 000003
【図３】
0004187284.tif 000004
【図４】
0004187284.tif 000005
【図５】
0004187284.tif 000006
【図６】
0004187284.tif 000007
【図７】
0004187284.tif 000008
【図８】
0004187284.tif 000009
【図９】
0004187284.tif 000010
【図１０】
0004187284.tif 000011
【図１１】
0004187284.tif 000012
【図１２】
0004187284.tif 000013