(57)【特許請求の範囲】
【請求項１】
ストリームデータを固定サイズのデータブロックに分割し、上記分割した固定サイズのデータブロックを特定する検索情報を上記分割した固定サイズのデータブロックのそれぞれに対応して生成し、上記生成した検索情報のそれぞれが対応する固定サイズのデータブロックと関連付けるように、上記固定サイズのデータブロックと、上記固定サイズのデータブロックに対応する検索情報とを上記第1の記録媒体に記録する記録制御部と、
上記ストリームデータを特定するファイル管理情報に基づいて上記第1の記録媒体に記録されたストリームデータを管理するファイル管理部と、
上記ファイル管理情報の復旧要求が出たときに上記第1の記録媒体に記録したストリームデータを分割した固定サイズのデータブロックのそれぞれに対応する検索情報に基づいて当該ファイル管理情報を復旧する復旧部とを備え、
上記第１の記録媒体は固定量のデータを記憶するための複数のセクタを備えており、
上記記録制御部は上記第1の記録媒体に記録したストリームデータを分割した固定サイズのデータブロックはそれぞれ、上記セクタをＮ個（Ｎは２以上の整数）含み、かつ、上記固定サイズのデータブロックのそれぞれに含まれるＮ個のセクタのうち、最後のセクタの余りの領域に、上記固定サイズのデータブロックに対応する検索情報を記録し、
上記データブロックの固定サイズの大きさは上記セクタを（Ｎ−１）個用いたときよりも大きく、かつ上記セクタをＮ個用いたときよりも小さいことを特徴とするストリームデータ管理装置。
【請求項２】
上記ファイル管理情報が、上記第1の記録媒体とは別の、第2の記録媒体に記録されていることを特徴とする請求項１記載のストリームデータ管理装置。
【請求項３】
上記検索情報がシリアル番号、日付情報、認証情報、作成者情報のうちの少なくとも１つであることを特徴とする請求項１に記載のストリームデータ管理装置。
【請求項４】
上記第１の記録媒体は固定量のデータを記憶するための複数のセクタを備えており、
上記記録制御部は対応するデータブロックに含まれる最後のセクタに続く１のセクタに上記検索情報を更に記録する請求項３に記載のストリームデータ管理装置。
【請求項５】
ストリームデータを固定サイズのデータブロックに分割し、上記分割した固定サイズのデータブロックを特定する検索情報を上記分割した固定サイズのデータブロックのそれぞれに対応して生成し、  上記生成した検索情報のそれぞれが対応する固定サイズのデータブロックと関連付けるように、上記固定サイズのデータブロックと、上記固定サイズのデータブロックに対応する検索情報とを上記第1の記録媒体に記録する記録制御ステップと、
上記ストリームデータを特定するファイル管理情報に基づいて上記第1の記録媒体に記録されたストリームデータを管理するファイル管理ステップと、
上記ファイル管理情報の復旧要求が出たときに上記第1の記録媒体に記録したストリームデータを分割した固定サイズのデータブロックのそれぞれに対応する検索情報に基づいて当該ファイル管理情報を復旧する復旧ステップとを備え、
上記第１の記録媒体は固定量のデータを記憶するための複数のセクタを備えており、
上記記録制御ステップは上記第1の記録媒体に記録したストリームデータを分割した固定サイズのデータブロックはそれぞれ、上記セクタをＮ個（Ｎは２以上の整数）含み、、かつ、上記固定サイズのデータブロックのそれぞれに含まれるＮ個のセクタのうち、最後のセクタの余りの領域に、上記固定サイズのデータブロックに対応する検索情報を記録し、
上記データブロックの固定サイズの大きさは上記セクタを（Ｎ−１）個用いたときよりも大きく、かつ上記セクタをＮ個用いたときよりも小さいことを特徴とするストリームデータ管理方法。
【請求項６】
上記ファイル管理情報が、上記第1の記録媒体とは別の、第2の記録媒体に記録されていることを特徴とする請求項５記載のストリームデータ管理方法。
【請求項７】
上記検索情報がシリアル番号、日付情報、認証情報、作成者情報のうちの少なくとも１つであることを特徴とする請求項５に記載のスストリームデータ管理方法。
【請求項８】
上記第１の記録媒体は固定量のデータを記憶するための複数のセクタを備えており、
上記記録制御ステップは対応するデータブロックに含まれる最後のセクタに続く１のセクタに上記検索情報を更に記録する請求項７に記載のストリームデータ管理方法。
【請求項９】
ストリームデータを固定サイズのデータブロックに分割し、上記分割した固定サイズのデータブロックを特定する検索情報を上記分割した固定サイズのデータブロックのそれぞれに対応して生成し、  上記生成した検索情報のそれぞれが対応する固定サイズのデータブロックと関連付けるように、上記固定サイズのデータブロックと、上記固定サイズのデータブロックに対応する検索情報とを上記第1の記録媒体に記録する記録制御ステップと、
上記ストリームデータを特定するファイル管理情報に基づいて上記第1の記録媒体に記録されたストリームデータを管理するファイル管理ステップと、
上記ファイル管理情報の復旧要求が出たときに上記第1の記録媒体に記録したストリームデータを分割した固定サイズのデータブロックのそれぞれに対応する検索情報に基づいて当該ファイル管理情報を復旧する復旧ステップとを備え、
上記第１の記録媒体は固定量のデータを記憶するための複数のセクタを備えており、
上記記録制御ステップは上記第1の記録媒体に記録したストリームデータを分割した固定サイズのデータブロックはそれぞれ、上記セクタをＮ個（Ｎは２以上の整数）含み、、かつ、上記固定サイズのデータブロックのそれぞれに含まれるＮ個のセクタのうち、最後のセクタの余りの領域に、上記固定サイズのデータブロックに対応する検索情報を記録し、
上記データブロックの固定サイズの大きさは上記セクタを（Ｎ−１）個用いたときよりも大きく、かつ上記セクタをＮ個用いたときよりも小さいことを特徴とするプログラムを記録したプログラム記録媒体。
【請求項１０】
上記検索情報がシリアル番号、日付情報、認証情報、作成者情報のうちの少なくとも１つであることを特徴とする請求項９記載のプログラム記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、記録媒体に記録したデータの管理に関し、特に、映像データのように時間的に連続するデータを記録・再生するデータ管理装置そのデータ管理方法に関するものである。
【０００２】
【従来の技術】
映像や音声などの時間的に連続するアナログ信号をデジタル化し、そのストリームデータをハードディスク等の記録媒体に記録あるいは該記録媒体から再生するシステム（例えばビデオサーバシステムやノンリニア編集システムなど）では、高速かつシームレスにデータを記録・再生することが要求され、この観点から種々のデータ管理装置が提案されている。
【０００３】
図２９は、特開平１０−２７５０５８号に開示されるデータ管理装置の構成図であり、このデータ管理装置を構成するコンピュータ８は、ＣＰＵ９と、Ｉ／Ｏアダプタ１０と、メモリ５と、ホストバスとしてのＰＣＩバス１と、このＰＣＩバス１に接続されるホストアダプタとしてのＳＣＳＩアダプタ２(k) （ｋ：自然数であって、この明細書では１〜４を用いる）と、これらＳＣＳＩアダプタ２(k) それぞれのＳＣＳＩバス３(k) に接続される記録媒体としてのハードディスク４(k) と、これらハードディスク４(k) へのアクセス制御をする制御ユニット１１とを備える。
【０００４】
“ＳＣＳＩアダプタ２(1) とハードディスク４(1) ”〜“ＳＣＳＩアダプタ２(4) とハードディスク４(4) ”すなわち()内の数字が同じＳＣＳＩアダプタとハードディスクのグループはそれぞれ記録ユニットを構成し、該４組の記録ユニットで１の記録ユニット群を構成している。
【０００５】
各ＳＣＳＩアダプタ２(k) はバスマスタＤＭＡ転送を可能にしている。すなわち、該ＳＣＳＩアダプタ２(k) に内蔵されるコントローラ６がＰＣＩバス１の占有権を取得し、メモリ５上の任意のデータをＰＣＩバス１を介してＳＣＳＩアダプタ２(k) に内蔵されるバッファ７へ転送することが可能である。
【０００６】
尚、ホストバスにはＰＣＩバスを用いているが、転送速度条件さえ満足するようであれば他の種類のデータ転送バスであってもかまわない。また、ホストアダプタにはＳＣＳＩアダプタを用いているが、バスマスタＤＭＡ転送が可能であれば他の種類のホストアダプタであってもかまわない。
【０００７】
Ｉ／Ｏアダプタ１０は、高ビットレートのストリームデータを上記制御ユニット１１の指示に基づいて、固定サイズブロック単位で入力しメモリ５の所定領域に転送またはメモリ５の所定領域に既に記録されたデータをストリームデータとして出力することが可能である。
【０００８】
制御ユニット１１は、以下に説明する記録制御部１１１とファイル管理部１１２と再生制御部１１３とが、ＣＰＵと該ＣＰＵの下で動作するソフトウエアで構成され、また、制御に必要なデータ、特に、記録制御部１１１が管理するファイル管理情報は上記ハードディスク４(k) とは別の記録手段（例えばハードディスク）に格納されるようになっている。
【０００９】
すなわち、記録制御部１１１は、ＣＰＵ９の制御の下、固定サイズブロック単位で連続してメモリ５に入力されるストリームデータを必ず記録が間に合うように（つまり、メモリ５がオーバフローしない状態を維持しながら）各ハードディスク４に振り分けて記録する制御を行う。ファイル管理部１１２は、各ハードディスク４に記録したデータの配置管理を行う。再生制御部１１３は、各ハードディスク４に振り分けて記録したデータを順に読み出してストリームデータを再構築し、Ｉ／Ｏアダプタ１０に出力する制御を行う。
【００１０】
以下、上記記録制御部１１１が行う記録処理の手順を更に詳しく説明する。
【００１１】
記録制御部１１１に含まれる入力手段（図示せず）は、Ｉ／Ｏアダプタ１０から入力されたストリームデータを固定サイズブロック▲１▼▲２▼▲３▼…に分割するとともに、上記記録ユニット群を構成する複数のハードディスク４(k) が１の論理記録空間となるよう上記のように分割された固定サイズブロック▲１▼▲２▼▲３▼…を各ハードディスク４(k) に対応させて振り分ける。
【００１２】
同時に、記録制御部１１１に含まれる書き込み手段（図示せず）は、上記のように振り分けられた固定サイズブロック▲１▼▲２▼▲３▼…を各ハードディスク４(k) に転送するよう各ＳＣＳＩアダプタ２(k) に指示し、この指示を受けたＳＣＳＩアダプタ２(k) に内蔵されるコントローラ６(k) は、上記固定サイズブロック▲１▼▲２▼▲３▼…をバッファ７(k) に格納したのちハードディスク４(k) に記録する。すなわち、図３０に示すように、固定サイズブロック▲１▼はコントローラ６(1) によってハードディスク４(1) に記録され、固定サイズブロック▲２▼はコントローラ６(2) によってハードディスク４(2) に記録され、固定サイズブロック▲３▼はコントローラ６(3) によってハードディスク４(3) に記録されるというように上記固定サイズブロック▲１▼▲２▼▲３▼…がシリアライズに記録される。
【００１３】
以上のような手順によれば、ストリームデータ源より記録ユニットを構成する１のバッファ７(k) へのデータ転送手順と該バッファ７(k) よりハードディスク４(k) への記録手順とが交互に実行されているが、複数の記録ユニット単位では見掛け上、上記２つの手順が同時行われていることになるため、高速かつシームレスにデータを記録することができる。
【００１４】
なお、上記のようにハードディスク４(k) に記録されたストリームデータに関する各種情報は、ファイル管理部１１２がファイル管理情報（当該ファイル管理情報の内容は本発明の説明に委ねる）として管理している。
【００１５】
【発明が解決しようとする課題】
コンピュータ等で通常にファイル管理をする場合は、当該コンピュータが採用するオペレーティングシステムがサポートしているファイルシステム（例えばＦＡＴ（file allocation table ）を使用することになる。従って、ハードディスク上の破壊されたデータを復旧する機能（以下「復旧機能」という）などは、上記のファイルシステムを用いて実行することになる。
【００１６】
しかしながら、オペレーティングシステムがサポートしているファイルシステムを使用しないで、上記のように独自のファイルシステムを備えるデータ管理装置では、当然破壊されたデータ復旧機能も独自に設計する必要がある。
【００１７】
上記のＦＡＴ等のファイルシステムでは、記録対象となるデータとファイル管理情報とが同じ記録媒体に格納され、しかも、管理情報と記録対象となるデータとは同じ記憶媒体の異なる領域に記録されるところから、ハードディスクのヘッドのシークが頻繁に発生することになる。ところが、映像データのようなストリームデータを記録あるいは再生するには、高速かつシームレスであることが要求され、従って、ハードディスク上のヘッドのシークをできるだけ少なくする必要がある。
【００１８】
この点を考慮して記録対象のデータとは別の記憶媒体にファイル管理情報を記憶する独自のファイルシステムの開発が必要となり、更に、当該ファイルシステムに応じたデータ復旧機能を備えるファイルシステムを開発する必要がある。
【００１９】
すなわち、何らかの事情で上記した別の記憶媒体に格納されたファイル管理情報が破壊されたとき、ストリームデータ自体はハードディスク４に存在しているにも関わらずシステムとして記録あるいは再生をすることができなくなる。この場合に、上記別の記憶媒体に格納されたファイル管理情報を修復する必要がある。また、記録の最中に何らかの不都合によって、記録中断が発生した場合は、この中断までに記録されたストリームデータに関する各種情報がファイル管理情報として上記別の記憶媒体に正常に登録されないことになる。このときに、当該ストリームデータが無効になるのを防止するために、上記別の記憶媒体上にファイル管理情報を生成する必要がある。
【００２０】
また、データ記録時に不良セクタが存在する場合には、ハードディスク４のヘッドは何回（システムによって回数は異なる）かのリトライを実行し、それでも書き込みができないときには代替セクタへの記録処理がなされる。ここで代替セクタは、本来のセクタより離れた位置に存在するので、ヘッドのシークが発生し、従って、不良セクタが増加した場合、代替セクタへのシークが増加することによってハードディスク４のアクセス性能が著しく低下し、その結果、ストリームデータを記録・再生する際にエラー（オーバーフローエラー・アンダーフローエラー）が発生するという問題がある。この問題は、ハードディスク４への記録命令・再生命令自体はエラーにならず、記録・再生に要する時間が長くなるという現象であるため、対策が非常に難しい。
【００２１】
本発明は上記従来の事情に基づいて提案されたものであって、高速かつシームレスにデータを記録再生できるとともに復旧機能を備えたデータ管理装置及びそのデータ管理方法、更に、その方法を実現する手順を記録した記録媒体を提供することを目的とする。
【００２２】
【課題を解決するための手段】
本発明のストリームデータ管理装置は、
ストリームデータを固定サイズのデータブロックに分割し、上記分割した固定サイズのデータブロックを特定する検索情報を上記分割した固定サイズのデータブロックのそれぞれに対応して生成し、上記生成した検索情報のそれぞれが対応する固定サイズのデータブロックと関連付けるように、上記固定サイズのデータブロックと、上記固定サイズのデータブロックに対応する検索情報とを上記第1の記録媒体に記録する記録制御部と、
上記ストリームデータを特定するファイル管理情報に基づいて上記第1の記録媒体に記録されたストリームデータを管理するファイル管理部と、
上記ファイル管理情報の復旧要求が出たときに上記第1の記録媒体に記録したストリームデータを分割した固定サイズのデータブロックのそれぞれに対応する検索情報に基づいて当該ファイル管理情報を復旧する復旧部とを備え、
上記第１の記録媒体は固定量のデータを記憶するための複数のセクタを備えており、
上記記録制御部は上記第1の記録媒体に記録したストリームデータを分割した固定サイズのデータブロックはそれぞれ、上記セクタをＮ個（Ｎは２以上の整数）含み、、かつ、上記固定サイズのデータブロックのそれぞれに含まれるＮ個のセクタのうち、最後のセクタの余りの領域に、上記固定サイズのデータブロックに対応する検索情報を記録し、
上記データブロックの固定サイズの大きさは上記セクタを（Ｎ−１）個用いたときよりも大きく、かつ上記セクタをＮ個用いたときよりも小さいことを特徴とする。
【００２３】
また、本発明のストリームデータ管理装置は、
上記検索情報がシリアル番号、日付情報、認証情報、作成者情報のうちの少なくとも１つであることを特徴とする。
【００２９】
【発明の実施の形態】
以下に本発明の実施の形態を図面に従って詳細に説明する。
図１に示すように、ストリームデータを固定サイズブロックに分割したのち該固定サイズブロックを第１の記録媒体４に記録する記録制御部１１１と、上記第１の記録媒体に記録されたストリームデータを、該ストリームデータを特定するファイル管理情報に基づいて管理するファイル管理部１１２とを備えたデータ管理装置を前提としている。
ここで、上記記録制御部１１１は、固定サイズブロックに関する検索情報を生成したのち該検索情報を上記固定サイズブロックに付加して記録し、復旧手段１１４は、ファイル管理情報の復旧要求があったとき上記検索情報に基づいてファイル管理情報を復旧する。
上記検索情報は最終セクタの余り領域に上記を記録すると、特別なセクタを用意する必要がなく、少ない容量で復旧処理が可能となる。もっとも、上記検索情報を必ずしも上記余り領域ではなく、最終セクタの次のセクタに記録するようにしてもよい。
また、上記記録制御部１１１は、ファイル管理情報を所定サイズ単位に分割して複数の分割保存情報を生成したのち該分割保存情報を上記固定サイズブロックに付加して記録し、復旧手段１１４は、ファイル管理情報の復旧要求があったとき上記分割保存情報に基づいてファイル管理情報を復旧する。
上記において、ファイル管理情報は上記第１の記録媒体とは別の記録媒体に記録しておくのが、記録、再生の高速性を維持する上で好ましく、この第２の記録媒体は、ハードディスク、フラッシュメモリ等が選択できる。ここではこの第２の記憶媒体に記憶されたファイル管理情報を、所定サイズ単位に分割して複数の分割保存情報を生成したのち該分割保存情報を上記固定サイズブロックに付加して第１の記録媒体に記録するようにしている。
更に、上記記録制御部１１１は、固定サイズブロックのアクセス処理に関するアクセス履歴情報、例えば、書き込み時間履歴を生成したのち該アクセス履歴情報を上記固定サイズブロックに付加して記録し、図２に示す不良領域検出手段１１５は、上記アクセス履歴情報が所定値以上となる記録媒体４上の領域を不良領域として検出する。また、再生制御部１１３は、固定サイズブロックの再生時間に関する履歴情報を生成したのち該再生時間（読み出し時間）に関する履歴情報を上記固定サイズブロックに付加して記録し、上記再生時間に関する履歴情報
が所定値以上となる記録媒体４上の領域を不良領域として検出する。
上記書き込み時間履歴、読み出し時間履歴に代えて、固定サイズブロック内の不良セクタの数を用いてもよい。また、上記のように特定のスレッシホールドレベルで固定サイズブロックの良、不良を決めるのではなく、上記不良セクタの検出手順で、アクセス履歴の示す値に応じて複数段階のレベルを生成しておき、使用するアプリケーションに対応して当該レベルを選択するようにしてもよい。
（第１の実施の形態）
図１は、本発明を適用したコンピュータの概略機能ブロック図であり、以下その構成を上記従来技術と異なる点のみ説明する。
〔記録フォーマット〕図３は、第１の記憶手段としてのハードディスク４における記録フォーマットを示す図であり、固定サイズブロックと次の固定サイズブロックとの間には本発明の効果を生み出す様々な情報が付加記録（格納）される。
【００３０】
すなわち、各ハードディスク４(k) の先頭セクタ（最新ストリーム情報格納セクタ２００）には、ストリームデータを記録する度に後述するストリーム情報が格納される。尚、ここで一連の連続した場面を表現する映像データをストリームデータと称しており、１つのファイルは少なくとも１つのストリームデータより構成されることになる。
【００３１】
また、固定サイズブロックが記録される最終セクタ（検索情報格納セクタ２０１）の余り領域には後述する検索情報が格納される。この検索情報が最終セクタの余り領域より大きい場合は、最終セクタの次のセクタを上記検索情報格納セクタ２０１としてもかまわない。
【００３２】
更に、上記検索情報格納セクタ２０１の次のセクタ（分割保存情報格納セクタ２０２）には後述する分割保存情報が格納され、この分割保存情報格納セクタ２０２の次のセクタ（書き込み時間履歴情報格納セクタ２０３）には後述する書き込み時間履歴情報が格納され、更にその次のセクタ（読み出し時間履歴情報格納セクタ２０４）には後述する読み出し時間履歴情報が格納される。
【００３３】
なお、図３に示す書き込み時間履歴情報格納セクタ２０３および読み出し時間履歴情報格納セクタ２０４に格納される情報は、いずれも固定サイズブロックの書き込み、読み出しの時間履歴に関する情報である。
〔記録手順〕
まず、ストリームデータをハードディスク４に記録する手順を説明する。
【００３４】
Ｉ／Ｏアダプタ１０への入力映像を表示するモニタを見たユーザがマウス等を用いて記録指示をした場合などストリームデータをハードディスク４に記録する必要が生じた場合、ＣＰＵ９の制御の下、記録制御部１１１に含まれる入力手段と書き込み手段とが起床する。
【００３５】
すなわち、記録制御部１１１は、図４に示すように入力手段１７と書き込み手段１８と記録バッファマネージャ１６とより構成され、この記録バッファマネージャ１６は、ストリームデータを固定サイズブロック単位に格納する記録バッファ１４と、この記録バッファ１４において固定サイズブロックのデータが格納されている領域のアドレスを保持する記録管理キュー１５(k) （各ハードディスク４(k) それぞれに対応している）とを管理する。なお、記録バッファ１４および記録管理キュー１５(k) は、いずれもメモリ５内に形成される。
【００３６】
以下、上記のように起床した入力手段１７が行う処理（以下「入力処理」という）の手順を図１３に示すフローチャートに従って説明する。
【００３７】
まず、入力手段１７はメモリ５に検索情報を生成する（図１３、ステップＳ１）。この検索情報とは、固定サイズブロック（以下「ブロック」という）に関する各種情報であり、ストリームデータを構成するブロック単位に生成される情報である。本発明では、図７に示す検索情報構造体２３１をメモリ５に生成した後、この検索情報構造体２３１に以下の情報をセットすることによって検索情報を生成するようにしている。
【００３８】
すなわち、「認証文字列エリア」には、検索情報であることを示す認証文字列（検索情報認証文字列）をセットし、「シリアル番号エリア」には、当該記録対象であるストリームデータの先頭ブロックから最終ブロックまで順に割り付けたシリアル番号をセットする。また、「作成時間エリア」には、所定の精度（例えば０．００１秒の精度）で現在時刻を保持する時計素子（図１に示すＲＴＣ６０）から現在時刻を取得してセットし、「作成者エリア」には、ファイル管理部１１２から作成者情報を取得してセットする。更に、「最終ブロックフラグエリア」には、当該ブロックが最終ブロックであればその旨を示す情報（フラグ）をセットする。
【００３９】
なお、「作成時間エリア」にセットされる現在時刻（当該記録の開始時間に相当する）及び「作成者エリア」にセットされる作成者情報（当該記録を指示したユーザ情報である）は、当該記録対象であるストリームデータの先頭ブロックから最終ブロックまで同一値である。
【００４０】
次いで、入力手段１７はファイル管理情報を所定数ｍに分割した情報（以下「分割保存情報」という）である分割保存情報を収納する、図８に示す分割保存情報構造体２４１をメモリ５に必要数生成する（図１３、ステップＳ２）。
【００４１】
上記ファイル管理情報は現在ファイル管理部１１２で管理しているファイル管理情報であり、第２の記録手段（例えばハードディスク）に格納されている。従って、当然のことながらこのファイル管理情報には現在書き込み途中であるストリームデータに関する情報は含まれない。また、上記必要数とは、全ファイル管理情報を分割保存するのに必要な数であり、ここではファイル管理情報の総数ｍに相当する。すなわち、ファイル管理情報は、図６に示す４種類の構造体（共通情報構造体２２１・ボリューム情報構造体２２２・ストリーム情報構造体２２３・空き領域情報構造体２２４）に分類することができる。
【００４２】
上記共通情報構造体２２１は対象ファイルにつき１つ、ボリューム情報構造体２２２は対象ファイルを収納する論理空間に関する情報を格納する構造体であって、通常１ファイルにつき１つ、ストリーム情報構造体２２３は１のファイルを構成するストリームデータに関する情報を格納する構造体であって、１ファイルを構成するストリームの数だけ必要であり、更に、空き領域情報構造体２２４は、対象ファイルを収納する論理空間の空きファイルに関する情報を収納する構造体であり、連続した一連の空き空間ごとに１つ割り当てられる。上記総数ｍは上記の構造体の総数を意味することになる。
【００４３】
これら４種類の構造体のサイズはいづれも分割保存情報構造体２４１のデータ保存領域２４１ｄ（図８参照）のサイズを越えないようにしている。従って、上記のようにｍ個の分割保存情報構造体２４１（以下「分割保存情報構造体２４１(1) 〜(m) 」と表す）を生成しておけば全ファイル管理情報を分割保存できる。
【００４４】
ここで、入力手段１７は、上記のように分割保存情報構造体２４１(1) 〜(m) を生成する一方で上記４種類の構造体をファイル管理部１１２より順次取得し、これら構造体を分割保存情報構造体２４１(1) 〜(m) の「データ保存領域」に順次コピーした後、更に以下の情報を分割保存情報構造体２４１(1) 〜(m) にセットする。
【００４５】
すなわち、「認証文字列エリア」には、分割保存情報であることを示す認証文字列（分割保存情報認証文字列）をセットし、「フォーマット種別エリア」には、ファイル管理情報のフォーマット種別（バージョン情報）をファイル管理部１１２より取得してセットし、「総セクタ数エリア」には、全分割保存情報構造体２４１を格納するために必要なセクタ数つまり分割保存情報構造体２４１の総数ｍをセットする。また、「セクタシリアル番号エリア」には、当該分割保存情報構造体２４１が生成された順番を示す番号つまり１からｍまでのいずれかをセットし、「構造体種別エリア」には、当該分割保存情報構造体２４１の分割保存対象が上記４種類の構造体のいづれであるかを示す認証文字列をセットする。更に、「構造体分割数エリア」には、当該分割保存対象である情報の分割数（後述する）をセットし、「構造体分割シリアル番号エリア」には、当該分割保存対象である情報を分割した順に割り付けたシリアル番号（後述する）をセットし、「有効データ領域サイズエリア」には、当該分割保存対象である情報の有効サイズ（有効に存在するサイズ）をセットする。
【００４６】
なお、上述した通り、上記４種類の構造体のサイズは通常データ保存領域２４１ｄのサイズより小さいため、「構造体分割数エリア」および「構造体分割シリアル番号エリア」には１がセットされることになる。また、各分割保存情報構造体２４１(m) はそれぞれ１つのセクタ（分割保存情報格納セクタ２０２）に格納するため、分割保存情報構造体２４１のサイズは、セクタサイズである５１２バイトとしている（後述する書き込み時間履歴情報構造体２５１および読み出し時間履歴情報構造体２５２も同様の理由で５１２バイトとしている）。
【００４７】
次いで、入力手段１７は、これより入力するストリームデータを格納するための領域を記録バッファマネージャ１６に問い合わせ、この問い合わせを受けた記録バッファマネージャ１６は、後述するＢポインタ２１２を入力手段１７に返す（図１３、ステップＳ３）。
【００４８】
ところで、ハードディスクにおける書き込み・読み出しはセクタ単位に行われる。従って、１のブロックのデータをハードディスクに書き込む場合、書き込み命令の書き込みサイズとして１ブロックのデータサイズを指定したとしても必ずセクタサイズのＮ倍のサイズの領域が使用されることになり、その結果、最終のセクタには意味のないデータが発生する。例えば５１３バイトのデータをハードディスクに書き込む場合、ハードディスクのセクタサイズは５１２バイトであるので実際には２セクタ分の領域（１０２４バイトの領域）が使用されることになるが、この場合、２セクタ目において有効なデータは先頭１バイトだけであり、残りの５１１バイトは意味のないデータである。
【００４９】
そこで記録バッファマネージャ１６は、本発明では、図１１に示すように“（ブロックを書き込むために必要なセクタ数Ｎ×セクタサイズ）＋（セクタサイズ×３）”のサイズの領域を記録バッファ１４上の確保する。そして、上記Ｎ＋３セクタの内の３番目のセクタの先頭位置であるＢポインタ２１２からにブロックサイズのデータを格納すると、上記Ｎ＋３セクタの内の最後から２番目のセクタに余り領域が発生することになる。このセクタの余り領域（先頭位置Ｃポインタ２１３）に検索情報構造体２３１が格納されるようになっている。
【００５０】
尚、図１１において、メモリ５に確保された領域の最初の２セクタ（Ａポインタ）と、最後の１セクタ（Ｄポインタ）については後述する。
【００５１】
このようにすれば、上記Ｎ＋３セクタの内の最後から２番目の余り領域に検索情報構造体２３１が書き込まれることになるため、意味のないデータの発生を最小限に抑えることができる。また、ハードディスク４の記憶フォーマット（図３(a) ）とメモリブロックの格納フォーマット（図３(b) 、図１１）とが同一でない点については後述する。
【００５２】
次いで、入力手段１７は、上記のように取得したＢポインタ２１２を指定してストリームデータを格納するようＩ／Ｏアダプタ１０に指示し、この指示を受けたＩ／Ｏアダプタ１０は、上記Ｂポインタ２１２が示す領域に当該記録対象であるストリームデータの先頭ブロックを格納する（図１３、ステップＳ４）。この格納処理の間、入力手段１７は休止している。
【００５３】
上記格納処理が完了すると、入力手段１７は、シリアル番号１の検索情報構造体２３１をＣポインタ２１３（図１１参照）が示す領域に格納した後、分割保存情報構造体２４１(1) をＤポインタ２１４（図１１参照）が示す領域に格納する（図１３、ステップＳ５→Ｓ６）。
【００５４】
次いで、入力手段１７は、分割保存情報構造体２４１の格納が完了した旨を記録バッファマネージャ１６に通知するとともに記録管理キュー１５(1) にＡポインタ２１１（図１１参照）を渡した後、書き込み手段１８を起床させる（図１３、ステップＳ７→Ｓ８）。
【００５５】
以上の手順を各ブロックについて繰り返し（図１３、ステップＳ９：Ｎｏ）ストリームデータの最終ブロックについての格納が完了すると（図１３、ステップＳ９：Ｙｅｓ）当該入力処理を終了する。
【００５６】
なお、上記の説明は先頭ブロックを入力する手順であるためＤポインタ２１４には分割保存情報構造体２４１(1) を格納する（図１３、ステップＳ７）こととしているが、以降、２番目のブロックを入力する手順では分割保存情報構造体２４１(2) を格納し３番目のブロックを入力する手順では分割保存情報構造体２４１(3) を格納するというように分割保存情報構造体２４１(m) まで順に格納し終えたら再び分割保存情報構造体２４１(1) から格納する（分割保存情報をサイクリックに格納する）ようにしている。
【００５７】
次に、上記のように起床した書き込み手段１８が行う処理（以下「書き込み処理」という）の手順を図１４に示すフローチャートに従って説明する。
【００５８】
まず、書き込み手段１８は、各ハードディスク４(k) における空き領域の先頭アドレスをファイル管理部１１２より取得し、一旦休止状態となる（図１４、ステップＳ１１→Ｓ１２）。なお、ファイル管理部１１２は、空き領域情報構造体２２４（図６参照）の内容に基づいて上記空き領域の先頭アドレスを特定する。
【００５９】
次いで、書き込み手段１８は、上記のように入力手段１７によって起床されると（図１３、ステップＳ８参照）、書き込むべきデータが存在するか否かを記録バッファマネージャ１６に問い合わせ、この問い合わせを受けた記録バッファマネージャ１６は、上記のように記録管理キュー１５(k) に格納したＡポインタ２１１（以下「書き込みアドレス」という）を書き込み手段１８に返す（図１４、ステップＳ１３(k) →Ｓ１４(k) →Ｓ１５(k) ）。ただし、問い合わせ対象であるハードディスク４(k) に書き込むべきデータが存在しない場合（図１４、ステップＳ１３(k) ：Ｎｏ）や、問い合わせ対象であるハードディスク４(k) が記録処理中である場合（図１４、ステップＳ１４(k) ：Ｙｅｓ）、書き込み手段１８は、次のハードディスク４(k) について上記と同様の問い合わせをする。
【００６０】
次いで、書き込み手段１８は、上記書き込みアドレスによって特定されるハードディスク４(k) に対して書き込み命令を発行する（図１４、ステップＳ１６(k) ）。
【００６１】
以下、上記書き込み命令の発行手順（図１４、ステップＳ１６(k) ）を図１５に従って更に詳しく説明する。
【００６２】
まず、書き込み手段１８は、当該書き込み命令が最初の書き込み命令であるか否かを判定する（図１５、ステップＳ１６-1(k) ）。ここでいう最初の書き込み命令とは、当該記録処理において最初に発行された書き込み命令を意味する。
【００６３】
ここで、当該書き込み命令が最初の書き込み命令である場合、書き込み手段１８は、ＲＴＣ６０から現在時刻を取得し、この現在時刻を書き込み命令発行時間としてメモリ５に保存した後、直ちに、上記Ａポインタ２１１のアドレスに２セクタ分を加算したアドレス（Ｂポインタ）から、上記メモリブロックのサイズより２セクタ分減算したサイズ（Ｎ＋１セクタ分のサイズ）を指定して書き込み命令を発行する（図１５、ステップＳ１６-1(k) →Ｓ１６-5(k) →Ｓ１６-6(k) ）。
【００６４】
上記２セクタ分を加算あるいは減算するようにしたのは、以降の手順において図９に示すアクセス時間履歴情報（書き込み時間履歴情報構造体２５１および読み出し時間履歴情報構造体２５２）を上記Ａポインタ２１１が示す領域に格納するためである。
【００６５】
一方、当該書き込み命令が２回目以降の書き込み命令である場合、書き込み手段１８は、まず、上記Ａポインタ２１１が示す領域にアクセス時間履歴情報（生成手順については後述する）を格納し、次いで、上記と同様の手順で書き込み命令発行時間をメモリ５に保存した後、直ちに、上記Ａポインタ２１１のアドレスと上記メモリブロックのサイズ（Ｎ＋３セクタ分のサイズ）とを指定して書き込み命令を発行する（図１５、ステップＳ１６-1(k) →Ｓ１６-2(k) →Ｓ１６-3(k) →Ｓ１６-4(k) ）。
【００６６】
この時点で、当該メモリブロックには、先頭から“「アクセス時間履歴時間情報」「ブロック」「検索情報」「分割保存情報」”が格納されていることになるが、括弧内の先頭に示す「アクセス時間履歴情報」は、次のＢポインタに書き込まれる「ブロック」に関する情報ではなく、前回の書き込み命令発行時において生成されたブロックに関する情報である。例えば、ブロックをＡ、Ｂ、Ｃ・・とし、これらブロックに対応するアクセス時間履歴情報をＡ’、Ｂ’、Ｃ’・・とした場合、＜Ａの書き込み＞→＜Ａ’の書き込み＞→＜Ｂの書き込み＞→＜Ｂ’の書き込み＞→＜Ｃの書き込み＞・・とするのではなく、＜Ａの書き込み＞→＜Ａ’＋Ｂの書き込み＞→＜Ｂ’＋Ｃの書き込み＞・・という手順としている（＜＞は１の書き込み範囲を表す）。このようにアクセス時間履歴情報を当該ブロックの次のブロックに付加して書き込む手順（Ａ’をＢとともに書き込む）によれば、書き込み命令発行数の増加を防止できる。
【００６７】
以上のように書き込み命令を発行した書き込み手段１８は、各コントーラ６(k) がハードディスク４(k) へ書き込みをしている間は休止状態となり、いずれかへの書き込みが完了した時点で起床してアクセス時間履歴情報を生成する（図１４、ステップＳ１７→Ｓ１８→Ｓ１９）。
【００６８】
以下、ハードディスク４(1) への最初のブロックのデータを書き込みが完了した時点で起床した書き込み手段１８がアクセス時間履歴情報を生成（図１４、ステップＳ１９）する手順を図１６に示すフローチャートを用いて詳しく説明する。
【００６９】
まず、書き込み手段１８はＲＴＣ６０から現在時刻を取得し、この現在時刻から上記のようにメモリ５に保存したハードディスク４(1) に対する書き込み命令発行時間を減算することによって、書き込み命令を発行してから書き込みが完了するまでの時間（以下「書き込み時間」という）を算出する（図１６、ステップＳ１９-1→Ｓ１９-2）。
【００７０】
次いで、書き込み手段１８は、２セクタ分の領域をメモリ５に確保した後、上記ハードディスク４(1) に既に書き込まれている（上書きの場合）アクセス時間履歴情報格納セクタ２０３・２０４（図３（ａ）参照）を読み出して、このように読み出した情報にアクセス時間履歴情報認証文字列が格納されているか否かを確認する（図１６、ステップＳ１９-3→Ｓ１９-4）。
【００７１】
ここで、書き込み手段１８は、認証文字列を確認した場合には上記のように読み出した情報をアクセス時間履歴情報であるとみなし、当該書き込み時間履歴情報構造体２５１のサンプル時間格納領域における所定位置（初期値：「書き込み時間サンプル１」格納領域の位置）に上記書き込み時間を格納する（図１６、ステップＳ１９-4：Ｙｅｓ→Ｓ１９-6）。なお、書き込み時間を格納し終えた書き込み手段１８は、次回の書き込み時間格納に備えて履歴開始ポインタ（上記所定位置を特定する）に１を加算しておく。また、サンプル時間格納領域が満杯になったら、古いサンプル時間から順に上書きする。すなわち通常、同じ領域のデータを幾度も読み書きするが、その度に書き込み時間を記録して、当該領域の書き込み時間の履歴を残し、後に不良セクタの検出に利用するようにしている。
【００７２】
一方、上記認証文字列を確認できなかった場合の書き込み手段１８は、当該書き込みが当該ハードディスク４(1) において未だデータが書き込まれていない状態での書き込み（新規書き込みであり未だアクセス時間履歴情報構造体はハードディスク上の書き込まれていない）であるものとみなし、まず、書き込み時間履歴情報構造体２５１および読み出し時間履歴情報構造体２５２をメモリ５に新規生成する。その後、上記認証文字列を確認した場合と同様の手順で書き込み時間を格納する（図１６、ステップＳ１９-4：Ｎｏ→Ｓ１９-5→Ｓ１９-6）。
【００７３】
上記書き込み命令発行ステップ（図１５、ステップＳ１６-2(k) ）で使用したアクセス時間履歴情報は、ここで生成されたアクセス時間履歴情報である。すなわち、上記のように書き込み時間を格納したアクセス時間履歴情報は、書き込み手段１８によって上記Ａポインタ２１１が示す領域に格納された後、コントローラ６(k) によって、次のブロックサイズのデータとともに上記アクセス時間履歴情報格納セクタ２０３・２０４に書き込まれることになる。尚、図１１のメモリ５の格納フォーマットを図３(b) に、また、書き込み単位を図３(c) に示して、ハードディスク４への格納フォーマットと比較できるようにした。
【００７４】
なお、上記したアクセス時間履歴情報格納セクタ２０３・２０４の読み出し（図１６、ステップＳ１９-3）はストリームデータ記録処理中に行われるため、このような読み出しによれば記録パフォーマンスの低下が懸念される。しかしながら、この読み出し直前における磁気ヘッドは、分割保存情報格納セクタ２０２について書き込みをした位置で停止しているため、分割保存情報格納セクタ２０２の次セクタであるアクセス時間履歴情報格納セクタ２０３・２０４を読み出すことによって磁気ヘッドのシーク負荷は全く生じない。
【００７５】
以上のように書き込み時間履歴情報構造体２５１に書き込み時間を追加した書き込み手段１８は、ハードディスク４(1) への書き込みが完了した旨を記録バッファマネージャ１６に通知するとともに、ハードディスク４(1) に対応する記録管理キュー１５(1) の所定位置に書き込み完了を示す値を格納する（図１４、ステップＳ２０）。
【００７６】
ここで、休止状態にある書き込み手段１８（図１４、ステップＳ１８）が起床するのは、上記した場合（ハードディスク４(k) のいずれかが書き込みを完了した場合）だけでなく、入力手段１７が起床命令を発行した場合（図１３、ステップＳ８）にも起床する。ただし、この場合は、書き込むべきメモリ５上にに存在するか否かを書き込み手段１８が記録バッファマネージャ１６に問い合わせる手順へ移行する（図１４、ステップＳ１８→Ｓ１３(k) ）。
【００７７】
このように、本発明では、あるハードディスク（例えば４(1) ）への書き込み命令が終了した時点で次のハードディスク（例えば４(2) ）に書き込むべき領域が存在する場合には、直ちに上記次のハードディスク４(2) に対して書き込み命令を発行する手順としている。このようにすれば、ハードディスク４(1) 〜(4) に対してパラレルに書き込み命令を発行していることになり、その結果、ハードディスク４(k) のアイドル時間とホストバス１のアイドル時間とを極力抑えてストリームデータを記録し続けることができる。
【００７８】
また、各記録管理キュー１５(k) に書き込みアドレスが存在せず、かつ、ストリームデータの入力が終了している場合（図１４、ステップＳ２１：Ｙｅｓ）、書き込み手段１８は、各ハードディスク４(k) それぞれに対して最後に書き込んだブロック（最後のブロック）のアクセス時間履歴情報を書き込んだ後、上記のように生成した検索情報をファイル管理部１１２に渡し、これによってストリームデータの登録が完了する（図１４、ステップＳ２２→Ｓ２３）。上記最後のブロックのアクセス時間履歴情報の書き込み（図１４ステップ２２）が必要であるのは、格納フォーマットと記録フォーマットとが異なる点を考えれば当然である。
【００７９】
ここで、後述する復旧処理（復旧手順２）に備え、当該ストリームデータについてのストリーム情報構造体２２３（最新のストリーム情報である旨を示す情報）を生成し、このストリームデータ構造体２２３を最新ストリーム情報格納セクタ２００に書き込むようにしている（図１４、ステップＳ２４）。上記ストリーム情報構造体２２３を生成するのは書き込み手段１８であってもファイル管理部１１２であってもかまわない。
【００８０】
以上の結果、図３に示すフォーマットでストリームデータがハードディスク(k) に記録されたことになる。
〔再生手順〕
以下、上記のように記録したストリームデータを再生する手順を説明する。
【００８１】
まず、図示しないアプリケーション等が各ＳＣＳＩアダプタ２(k) のコントローラ６(k) に再生を指示した場合などハードディスク４に記録されたストリームデータを再生する必要が生じた場合、ＣＰＵ９の制御の下、再生制御部１１３に含まれる読み出し手段が起床する。
【００８２】
すなわち、再生制御部１１３は、図５に示すように読み出し手段２２と出力手段２３と再生バッファマネージャ１９とより構成され、この再生バッファマネージャ１９は、ブロック単位にストリームデータを格納する再生バッファ２０（１メモリブロックの詳細を図１２に示す）と、この再生バッファ２０上の所定アドレスを保持する読み出し管理キュー２１とを管理する。なお、再生バッファ２０および再生管理キュー２１は、いずれもメモリ５内に形成される。
【００８３】
以下、上記のように起床された読み出し手段２２が行う処理（以下「読み出し処理」という）の手順を図１７に示すフローチャートに従って説明する。
【００８４】
まず、読み出し手段２２は、読み出すべき（再生すべき）データが存在するか否かをファイル管理部１１２に問い合わせ、この問い合わせを受けたファイル管理部１１２は、読み出すべきデータが記録されているハードディスク４上の領域の先頭アドレスを読み出し手段２２に返す（図１７、ステップＳ３０）。なお、ファイル管理部１１２は、ストリーム情報構造体２２３（図６参照）等に基づいて上記先頭アドレスを特定する。
【００８５】
次いで、読み出し手段２２は、再生すべきデータを読み出して一時格納するためのメモリ５上の領域を再生バッファマネージャ１９に問い合わせ、この問い合わせを受けた再生バッファマネージャ１９は、メモリ５上の再生バッファ２０における空き領域のアドレス（格納アドレス）を読み出し手段２２に返す（図１７、ステップＳ３１→Ｓ３２：Ｙｅｓ）。
【００８６】
ここで、読み出し手段２２は、まず上記のように取得した先頭アドレスに基づいて読み出し対象であるハードディスク４(k) の順番と領域とを決定し、次いで、ＲＴＣ６０より現在時刻を取得し、この現在時刻を読み出し命令発行時間としてメモリ５に保存した後、直ちに、上記のように決定したハードディスク４(k) に対応するコントローラ６(k) に対して読み出し命令を発行する（図１７、ステップＳ３３→Ｓ３４）。
【００８７】
上記読み出し命令の読み出しサイズは、図１２に示すメモリブロックのサイズである。従って、上記読み出し命令を受けたコントローラ６(k) は、ブロックの先頭セクタから読み出し時間履歴情報格納セクタ２０４までを読み出すことになる。この読み出しの間、読み出し手段２２は休止している（図１７、ステップＳ３５）。
【００８８】
次いで、読み出し手段２２はＲＴＣ６０から現在時刻を取得し、この現在時刻から上記のようにメモリ５に保存した読み出し命令発行時間を減算することによって、読み出し命令を発行してから読み出しが完了するまでの時間（以下「読み出し時間」という）を算出する（図１７、ステップＳ３６→Ｓ３７）。
【００８９】
ここで、読み出し手段２２は、現在の履歴開始ポインタが示す位置（初期値：図９に示す「読み出し時間サンプル１」格納領域の位置）に上記のように算出した読み出し時間を格納する（図１７、ステップＳ３８）。なお、履歴開始ポインタに１を加算しておく点および古いサンプル時間を上書きする点は、上記書き込み処理と同様である。
【００９０】
次いで、読み出し手段２２は、再生バッファマネージャ１９に対して読み出し完了を通知するとともに、読み出し管理キュー２１の先頭から再生バッファ２０の格納アドレスをセットしていく（図１７、ステップＳ３９）。
【００９１】
ここで、上記した手順を継続すると、再生バッファ２０の空き領域がなくなるため読み出し手段２２が格納アドレスを取得できなくなる。そこで、再生バッファ２０の空き領域がなくなると、読み出し手段２２は出力手段２３を起床させたのち休止するようにしている（図１７、ステップＳ３１→Ｓ３２：Ｎｏ→Ｓ４１→Ｓ４２）。
【００９２】
次に出力手段２３が行う処理（以下「出力処理」という）の手順を図１８に示すフローチャートに従って説明する。
【００９３】
上記のように読み出し手段２２によって起床された出力手段２３は、出力すべきデータが存在する領域を再生バッファマネージャ１９に問い合わせ、この問い合わせを受けた再生バッファマネージャ１９は、出力すべきデータが存在する領域のアドレス（再生バッファ２０上のアドレスであり、以下「出力アドレス」という）を出力手段２３に返す（図１８、ステップＳ５０→Ｓ５１）。
【００９４】
次いで、出力手段２３は、上記のように取得した出力アドレスに格納されているブロックのデータを出力するようＩ／Ｏアダプタ１０に指示し、この指示を受けたＩ／Ｏアダプタ１０は、上記ブロックのデータをストリームデータに再構築した上で図示しないアプリケーション等に向けて出力する（図１８、ステップＳ５２）。これによって、上記アプリケーション等がストリームデータの再生を開始することになる。
【００９５】
上記出力が完了すると出力手段２３が起床し、このように起床した出力手段２３は、ストリームデータの出力が完了した旨を再生バッファマネージャ１９に通知するとともに、ストリームデータ出力完了を示す値を読み出し管理キュー２１にセットする（図１８、ステップＳ５３→Ｓ５４）。
【００９６】
ここで、上記出力が完了した時点で、再生バッファ２０には１ブロック分の空き領域ができる。従って、上記時点で出力手段２３は読み出し手段２２を起床（図１８、ステップＳ５５）し、このように起床した読み出し手段２２は上記空き領域のアドレスを取得する（図１７、ステップＳ４２→Ｓ３１）。このようにすれば、再生バッファ２０の空き領域に対して常に読み出しをすることができる。
【００９７】
〔復旧手順１〕
以下、何らかの不都合が発生したことによってファイル管理情報が破壊された場合に上記検索情報を使用してファイル管理情報を復旧させる手順を図１９および図２０に示すフローチャートに従って説明する。
【００９８】
まず、以下に説明する復旧条件をユーザが指示入力すると、復旧手段１１４は、ステイタスを認証するステイタスの状態を〔空き領域〕に、またフレームカウンタ（ブロック数をカウントするカウンタ）を０に、更に、空き領域先頭フレーム、および、ストリーム先頭フレームを０に初期化する。尚、この設定値はメモリ５の所定領域に格納される（図１９、ステップＳ６０→Ｓ６１）。
【００９９】
本発明では、日付情報および作成者情報を検索情報構造体２３１に格納するようにしているため、上記復旧条件として、例えば“Ｙ年Ｍ月Ｄ日以降のストリームを復旧させる”或いは“あるユーザが作成したストリームデータのみを復旧させる”等、日付や作成者に関する条件を入力する。
【０１００】
次いで、復旧手段１１４は、ハードディスク４(1) における最初の検索情報格納構造体２３１を読み出し、このように読み出した情報に検索情報認証文字列が格納されているか否かを確認する（図１９、ステップＳ６２→Ｓ６３→Ｓ６４）。
【０１０１】
上記認証文字列が格納されていることを確認した復旧手段１１４は、ステイタスが〔空き領域〕になっているか否を確認し、〔空き領域〕のときには更に、シリアル番号が０であるか否か、すなわち、最初の検索情報格納構造体２３１を読み出した段階であるか否かを判断する。ここで最初の検索情報格納構造体２３１を読み出した段階であるときには、当該検索情報構造体２３１に格納されている日付情報および作成者情報が上記のように指示入力された復旧条件を満たしていることを確認した後、フレームカウンタの値をフレーム領域先頭フレームの値とし、ステイタスの状態を〔ストリーム領域〕に設定する（図１９、ステップＳ６４：Ｙｅｓ→図２０、ステップＳ６５-0→Ｓ６５-1→Ｓ６５-2→Ｓ６５-3→Ｓ６５→Ｓ６５-41 →Ｓ６５-42 ）。
【０１０２】
次いで、復旧手段１１４は、フレームカウンタをカウントアップして、次の検索情報格納構造体２３１を読み出す（図１９ステップＳ６６）。
、このように読み出した検索情報構造体２３１に格納されているシリアル番号がシリアライズ（前回のシリアル番号＋１）であることを確認した後、当該検索情報構造体２３１に終了ブロックフラグが立っているか否かを判定する（図１９、ステップＳ６６→Ｓ６２→Ｓ６３→Ｓ６４→図２０、ステップＳ６５-5→Ｓ６５-6）。
【０１０３】
ここで、終了ブロックフラグが立っているときには、現在のフレームカウンタの値をストリーム域終了フレームの値とし、上記先頭フレームの値と終了フレームの値をファイル管理部１１２に通知する（図２０、ステップＳ６５-71 →Ｓ６５- 72）。これによって、ファイル管理部１１２は、例えば図２１(a) の領域(I) についてのストーム情報構造体２２３を作成できることになる。
【０１０４】
このとき、空き領域先頭フレーム＝０であり、ストリーム領域先頭フレーム＝０であるので、この両者を比較する段階で否定回答となり、空き領域先頭フレームの値が現在のフレームカウンタの値＋１（＝αとする）に設定され、ステイタスは〔空き領域〕に設定される（ステップＳ６５-73 Ｎｏ→Ｓ６５-76 →Ｓ６５-77 ）。
【０１０５】
ところで、ハードディスクは何度か異なるデータが上書きされ、従って、図２１(a) の領域(II)の領域のように何らかの不要なデータが書かれている場合がある。ここで、当該不要なデータの先頭の検索情報のシルアス番号は０でなく、また、終了ブロックフラグが立っていない場合を想定する。
【０１０６】
この場合、上記領域(I) から領域(II)に連続して検索情報を取得していく手順を考察する。上記のように領域(I) のストーム情報構造体２２３を作成した後の段階で、ステイタスは〔空き領域〕に設定されている（Ｓ６５-76 ）。次いで、フレームカウンタのカウントアップの段階（Ｓ６６）を経て次のブロックの検索情報を取得することを繰り返す。更に、図２１(a) の領域(III) のストリーム領域の最初のブロックの検索情報を取得した段階にさしかかると、このときのフレームカウンタの値（＝βとする）がストリーム領域先頭フレームの値として設定され、ステイタスは〔ストリーム領域〕に設定される（ステップＳ６５-41 、Ｓ６５-42 ）。
【０１０７】
次いで、図２０の右側のルーチンを繰り返し、終了ブロックフラグが立っていると、上記のようにストリーム情報構造体２２３を作成する（ステップＳ６５-62 ）。このとき、空き領域先頭フレーム領域＝αであり、ストリーム領域先頭フレーム＝βであるので、空き領域終了フレームを、上記β−１として、上記空き領域先頭フレームαと、上記空き領域終了フレームβ−１をファイル管理部１１２に通知して領域(II)についての空き領域構造体２２４を作成する（ステップＳ６５-73 Ｙｅｓ→Ｓ６５-74 →Ｓ６５-75 ）。
【０１０８】
上記図２１(b) に示すように上記領域(II)にストリームのシリアル番号が０で始まる領域(IIb) があったとしても、この領域(IIb) でステイタスは〔ストリーム領域〕になり（図２０、ステップＳ６５-42 ）、この後は図２０のＳ６５-6Ｎｏ→Ｓ６６のルーチンを繰り返しすことになる。更に、領域(III) の先頭フレームで再びストリーム領域先頭フレームが更新（＝β）され（ステップＳ６５-5→Ｓ６５-8→Ｓ６５-1〜Ｓ６５-42 ）、この後、領域(III) のストリーム情報構造体２２３を作成した後に、上記領域(II)空き領域構造体２２４を作成することになる。
【０１０９】
上記の手順を全セクタについて実行し、ハードディスク４(1) 〜(4) において上記復旧条件を満たす全ストリームデータについてのストリーム情報構造体２２３を生成できる。
【０１１０】
尚、全セクタについての手順が終了した段階で、ステイタス〔空き領域〕である場合は、フレームカウンタの値−１を空き領域終了フレームの値として、ステップＳ６５-76 で設定された空き領域先頭フレーム（あるいは初期設定の０）をファイル管理部１１２に通知する。ファイル管理部１１２はこれに基づいて空き領域構造体２２４を作成することになる（ステップＳ６７〜Ｓ６９）。
【０１１１】
次いで、復旧手段１１４は、上記のように生成したストリーム情報構造体２２３に基づいて空き領域情報構造体２２４を生成する。すなわち、ストリーム情報構造体２２３によって特定される領域はストリームデータが記録されている領域（ストリーム領域）であるたるため、このストリーム領域でない領域を空き領域とすれば全ての空き領域情報構造体２２４を生成できる。
【０１１２】
以上のように本実施の形態によれば、日付情報や作成者情報等からなる検索情報を付加してストリームデータを記録するようにしているため、日付や作成者等に基づいてファイル管理情報を復旧することができる。
【０１１３】
更に、この復旧方法によると、以下の説明する復旧手順２の場合とことなって、最新のストリームデータも復旧できることになる。
〔復旧手順２〕
以下、破壊されたファイル管理情報を上記分割保存情報を使用して復旧させる手順を図２２および図２３に示すフローチャートに従って説明する。
【０１１４】
まず、復旧手順を開始するようユーザが指示入力すると、復旧手段１１４は、ステイタス番号を初期化（０をセット）し、このステイタス番号をメモリ５の所定領域に格納した後、読み出し開始セクタを決定する（図２２、ステップＳ７０→Ｓ７１）。
【０１１５】
上記読み出し開始セクタとは、復旧すべき分割保存情報を格納する分割保存情報格納セクタ２０２（総数ｍ）の先頭セクタであり、最新ストリーム情報格納セクタ２００に格納されているストリーム情報構造体２２３の「先頭セクタアドレス」によって特定されるセクタである。
【０１１６】
次いで、復旧手段１１４は、上記のように決定した読み出し開始セクタを読み出し、このように読み出した情報に分割保存情報認証文字列が格納されているか否かを確認する（図２２、ステップＳ７２→Ｓ７３→Ｓ７４）。
【０１１７】
上記認証文字列が格納されていることを確認した復旧手段１１４は、当該分割保存情報構造体２４１に格納されているファイル管理フォーマット種別情報が最新バージョン（現在、ファイル管理部１１２で管理する情報と同じバージョン）の情報であることを確認した後、当該分割保存情報構造体２４１に格納されているセクタシリアル番号が１であることを確認する（図２２ステップＳ７４：Ｙｅｓ→図２３ステップＳ７５-1→Ｓ７５-2）。
【０１１８】
セクタシリアル番号が１であることを確認した復旧手段１１４は、当該分割保存情報構造体２４１の「総セクタ数エリア」にセットされている情報に基づいて“セクタサイズ×総セクタ数”を演算し、この演算によって得られるサイズの領域をメモリ５に確保する（図２３、ステップＳ７５-2：Ｙｅｓ→Ｓ７５-3）。以下、このように確保したメモリ領域をメモリ領域(1) 〜(m) と表す。
【０１１９】
次いで、復旧手段１１４は、上記のように確保したメモリ領域(1) に最初の分割保存情報構造体２４１をコピーした後、ステイタス番号に１をセットする（図２３、ステップＳ７５-4→Ｓ７５-5）。
【０１２０】
更に、復旧手段１１４は、次の分割保存情報格納セクタ２０２から分割保存情報構造体２４１を読み出し、このように読み出した分割保存情報構造体２４１についてファイル管理フォーマット種別及びセクタシリアル番号を確認した後、当該分割保存情報構造体２４１をメモリ領域(2) にコピーする（図２２ステップＳ７２→Ｓ７３→Ｓ７４→図２３ステップＳ７５-6→Ｓ７５-7→Ｓ７５-8）。
【０１２１】
上記手順を繰り返し（図２２ステップＳ７２→Ｓ７３→Ｓ７４→図２３ステップＳ７５-6→Ｓ７５-7→Ｓ７５-8→Ｓ７５-9：Ｎｏ→図２２ステップＳ７２）、“セクタシリアル番号＝総セクタ数”となったら（図２３ステップＳ７５-9：Ｙｅｓ）処理を終了する。
【０１２２】
以上の結果、上記メモリ領域(1) 〜(m) には全分割保存情報構造体２４１が格納されたことになり、これら分割保存情報構造体２４１のデータ保存領域に格納されているデータ（ファイル管理情報である４種類の構造体のいずれである）をファイル管理部１１２に渡すことによって全ファイル管理情報を復旧できる。
【０１２３】
なお、ここでは、ファイル管理情報である４種類の構造体の全てが分割保存情報構造体２４１のデータ保存領域より小さいサイズであることを前提に説明したが、上記構造体のいずれかがデータ保存領域より大きいサイズである場合には、複数のデータ保存領域に格納されているデータを結合して１構造体を復旧する。このような結合が可能であることは、分割保存情報構造体２４１の構成（「構造体分割数」「構造体分割シルアル番号」）より明らかである。
【０１２４】
また、ファイル管理情報は、あくまで、あるファイルが記録媒体に格納された後に、ファイル管理部１１２で生成されるので、最新のストリーム情報には、当該最新のストリーム情報を格納する直前のストリームのファイル管理情報が分割して格納されることになる。従って、この復旧方法によれば、最新のストリームデータは復旧できないことになる。
【０１２５】
また、ここでは２通りの復旧手順を別々に説明したが、これら復旧手順を併用してもよいことはいうまでもない。
（第２の実施の形態）
本実施の形態では、ストリームデータの記録パフォーマンスおよび再生パフォーマンスの低下を防止するため、以下に説明する不良領域検出手順を定期的に行うようにしている。
【０１２６】
〔不良領域検出手順〕
不良領域を検出するようユーザが指示入力した場合など不良領域検出処理を開始する必要が生じた場合、ＣＰＵ９の制御のもと不良領域検出手段１１５が起床し、このように起床した不良領域検出手段１１５は、まず、ハードディスク４(1) における最初のアクセス時間履歴情報格納セクタ２０３・２０４を読み出し、このように読み出した情報にアクセス時間履歴情報認証文字列が格納されているか否かを確認する（図２４、ステップＳ８０→Ｓ８１→Ｓ８２）。
【０１２７】
上記認証文字列が格納されていることを確認した不良領域検出手段１１５は、これらアクセス時間履歴情報構造体より最新のサンプル時間を所定数（例えば５つ）ずつ抽出し、このように抽出した各サンプル時間と最大アクセス時間（設定値）との大小関係を調べる（図２４、ステップＳ８２→Ｓ８３）。
【０１２８】
上記最大アクセス時間は、ブロックのサイズ及びハードディスクの性能に基づいて決定する。例えばブロックのサイズが１２０ＫＢでハードディスクが高性能（ＡＶ用途）である場合、上記最大アクセス時間には０．０３秒程度の値を設定するのが好ましい。
【０１２９】
ここで、サンプル時間のすべてが最大アクセス時間より小さい場合、不良領域検出手段１１５は、次のアクセス時間履歴情報格納セクタ２０３・２０４を読み出す（図２４、ステップＳ８４：Ｎｏ→Ｓ８０→Ｓ８１）。
【０１３０】
一方、上記サンプル時間のいずれかが最大アクセス時間より大きい場合、不良領域検出手段１１５は、当該ブロックを不良ブロックであると判断し、メモリ５に不良ブロック構造体２６１（図１０参照）を生成して該不良ブロック構造体２６１をファイル管理部１１２に渡した後、次のアクセス時間履歴情報格納セクタを読み出す（図２４、ステップＳ８４：Ｙｅｓ→Ｓ８５→Ｓ８０→Ｓ８１）。なお、上記不良ブロック構造体２６１を受けたファイル管理部１１２は、この不良ブロック構造体２６１をファイル管理情報として登録する。
【０１３１】
以上の手順をハードディスク４(1) 〜(4) における全アクセス時間履歴情報格納セクタ２０３・２０４について完了すると（図２４、ステップＳ８０：Ｙｅｓ）、不良領域検出処理を終了する。
【０１３２】
尚、上記アクセス時間履歴情報としては、読み出し時間履歴情報、書き込み時間履歴情報のいずれを用いてもよい。また、両者を同時に用いることでもよい。
〔記録手順〕
本実施の形態における記録処理では、上記のように検出した不良ブロックを避けてストリームデータを記録するようにしており、以下その手順を図２５に示すフローチャートに従って説明する。
【０１３３】
上記第１の実施の形態と同様の手順で各ハードディスク４(k) における空き領域の先頭アドレスを取得した書き込み手段１８は、この先頭アドレスを指定して不良ブロックが存在するか否かをファイル管理部１１２に問い合わせ、この問い合わせを受けたファイル管理部１１２は、上記先頭アドレスより後方に不良ブロックが存在すれば該不良ブロックの情報（不良ブロック構造体２６１）を書き込み手段１８に返す（図２５、ステップＳ９０→Ｓ９１）。
【０１３４】
書き込み手段１８が記録バッファマネージャ１６より書き込みアドレスを取得するまでの手順（図２５、ステップＳ９２→Ｓ９３→Ｓ９４→Ｓ９５）は上記第１の実施の形態と同様であるため説明を省略することとし、以下、図２６に示すフローチャートに従って、書き込み命令の発行手順（図２５、Ｓ９６）を詳しく説明する。
【０１３５】
まず、書き込み手段１８は、当該書き込み命令が最初の書き込み命令であるか否かを判定し、最初の書き込み命令であると判定した場合（アクセス時間履歴情報の書き込みを伴はない場合）、更に、当該書き込み対象であるハードディスク４(k) の所定領域に不良ブロックが存在するか否かを上記のように取得した全不良ブロック構造体２６１に基づいて判定する（図２６、ステップＳ９６-1：Ｙｅｓ→Ｓ９６-8）。
【０１３６】
次いで、書き込み手段１８は、不良ブロックが存在しないと判定した場合には、上記第１の実施の形態と同様の手順で書き込み命令を発行し（図２６、ステップＳ９６-8：Ｙｅｓ→Ｓ９６-9→Ｓ９６-10 ）する。また、不良ブロックが存在すると判定した場合には、当該不良ブロック部分については、ハードディスク上の書き込みアドレスに１メモリブロック分を加算したアドレスを指定して書き込み命令を発行する（図２６、ステップＳ９６-8：Ｎｏ→Ｓ９６-11 →Ｓ９６-9→Ｓ９６-10 ）。
【０１３７】
一方、当該書き込み命令が２回目以降の書き込み命令であると判定した場合（アクセス時間履歴情報の書き込みを伴う場合）書き込み手段１８は、まず、上記不良ブロックが存在しないと判定した場合と同様、当該書き込み対象であるハードディスク４(k) の所定領域に不良ブロックが存在するか否かを全不良ブロック構造体２６１に基づいて判定する（図２６、ステップＳ９６-1：Ｎｏ→Ｓ９６-2）。
【０１３８】
次いで、書き込み手段１８は、不良ブロックが存在しないと判定した場合には、上記第１の実施の形態と同様の手順で書き込み命令を発行する（図２６、ステップＳ９６-2：Ｎｏ→Ｓ９６-3→Ｓ９６-4→Ｓ９６-5）。また、不良ブロックが存在すると判定した場合には、記録パフォーマンスの低下を防止すべくアクセス時間履歴情報を遅延書き込み情報としてメモリ５に一時保存（後述する）した後、ハードディスク上の書き込みアドレスに１メモリブロック分を加算したアドレスを指定して書き込み命令を発行する。（図２６、ステップＳ９６-2：Ｙｅｓ→Ｓ９６-6→Ｓ９６-7→Ｓ９６-4→Ｓ９６-5）。
【０１３９】
ここで、図２８(a) に示すように、本来はブロックデータ（検索情報構造体２３１、分割保存情報構造体２４１を含む）Ｂｄ2 の先頭部にブロックデータＢｄ1 のアクセス時間履歴情報Ａｈ1 が付随して書き込まれた状態で、ブロックデータＢｄ1 とそのアクセス時間履歴情報Ａｈ1 に連続性が持たされる。しかしながら、上記のように加算したアドレスを指定して書き込み命令を発行すると、アクセス時間履歴情報Ａｈ1 とブロックデータＢｄ1 とが不良ブロックＢｎを挟んで存在し、物理的に連続性を保てなくなる。
【０１４０】
そこで、上記連続性を保持しようとすると、まず、ブロックデータＢｄ1 のアクセス時間履歴情報Ａｈ1 をブロックデータＢｄ1 の後部に書き込んだ後、ブロックデータＢｄ2 を不良ブロックＢｎの後ろに書き込むことになるが、この手順では書き込み命令の回数が増加することになり、データストリームの記録パフォーマンスが低下する。そこで、本発明では図２８(b) に示すように、アクセス時間履歴情報Ａｈ1 を遅延書き込み情報としてメモリ５に一時保存（図２６、Ｓ９６-6）しておき、このように一時保存した遅延書き込み情報をデータストリーム入力終了後に対応するブロックデータＢｄ1 の後ろに書き込む（図２５、Ｓ１０３）手順としている。このようにすればブロックデータＢｄ2 を書き込むために１回の書き込み命令で足りるため記録パフォーマンスが低下しない。
【０１４１】
以降の手順は、上記遅延書き込み情報の書き込みステップ（図２５、ステップＳ１０３）を追加した点を除いて上記第１の実施の形態と同様であるため説明を省略する。
【０１４２】
以上のように本実施の形態における記録処理によれば、予め不良ブロックの情報を取得しておくことによって、不良ブロックを避けながらストリームデータを記録することができる。
〔再生手順〕
以下、上記のように不良ブロックを避けて記録したストリームデータを再生する手順を図２７に示すフローチャートに従って説明する。
【０１４３】
上記第１の実施の形態と同様の手順で読み出し先頭アドレスを取得した読み出し手段２２は、この読み出し先頭アドレスを指定して不良ブロックが存在するか否かをファイル管理部１１２に問い合わせ、この問い合わせを受けたファイル管理部１１２は、上記読み出し先頭アドレスより後方に不良ブロックが存在すれば該不良ブロックの情報（不良ブロック構造体）を読み出し手段２２に返す（図２７、ステップＳ１１０→Ｓ１１１）。
【０１４４】
読み出し手段２２が再生バッファマネージャ１９より格納アドレスを取得（図２７、ステップＳ１１３：Ｙｅｓ）するまでの手順は上記第１の実施の形態と同様であるため説明を省略することとし、以下、以降の手順を説明する。
【０１４５】
まず、読み出し手段２２は、当該読み出し対象であるハードディスク４(k) の所定領域に不良ブロックが存在するか否かを上記のように取得した全不良ブロック構造体２６１に基づいて判定する（図２７、ステップＳ１１６）。
【０１４６】
次いで、読み出し手段２２は、不良ブロックが存在しないと判定した場合には、上記第１の実施の形態と同様の手順で読み出し命令を発行し（図２７、ステップＳ１１６：Ｙｅｓ→Ｓ１１８→Ｓ１１９）、不良ブロックが存在すると判定した場合には、上記のように取得した書き込みアドレスに１メモリブロック分を加算したアドレスを指定して読み出し命令を発行する（図２７、ステップＳ１１６：Ｎｏ→Ｓ１１７→Ｓ１１８→Ｓ１１９）。
【０１４７】
以降の手順は、上記第１の実施の形態と同様であるため説明を省略する。
【０１４８】
以上のように本実施の形態における再生手順によれば、上記のように不良ブロックを避けて記録したストリームデータを再生することが可能である。
【０１４９】
以上において、ハードディスクのアクセス性能の判断基準としてアクセス時間履歴情報（読み出し時間履歴情報と書き込み時間履歴情報）を用いたが、例えば、１ブロック内に含まれる不良セクタの数をもちいてもよい。また、基準となるアクセス時間を１種（上記の例では０．０３秒）としたが、複数の基準を設定し、それぞれの基準を、特に高速のアクセスを要求されるアプリケーション、ある程度の速度でアクセスを要求されるアプリケーション、さほど高速のアクセスを要求されないアプリケーションに使いわけてもよい。この場合図２４の不良ブロック構造体の生成処理の段階（ステップＳ８５）で、上記複数の基準に応じたレベルを不良ブロック構造体に書き込みようにし、図２５に示す不良ブロック情報所得の段階（ステップＳ９１）で、使用するアプリケーションの必要とするアクセス速度に応じて所定レベル以下のブロックを不良ブロックとするようにしてもよい。
【０１５０】
また、ファイル管理部１１２はファイル管理情報を第２の記録媒体に格納して管理している。この第２の記録媒体は、通常ハードディスクを用いるが、ハードディスクに限定されるものではなく、フラッシュメモリ等の不揮発性で容量の小さな記憶媒体を用いてもよい。
【０１５１】
【発明の効果】
上記復旧手順１によれば、ブロックを記録する最終セクタの余り領域に検索情報を付加記録するようにしているため、検索情報記録用としてハードディスク上の領域を別途用意する必要がない。また、復旧条件を指定して所望のファイル管理情報のみを復旧できる。また、この場合は最新に格納したストリームデータののファイル管理情報も復旧できることになる。
【０１５２】
上記復旧手順２によれば、ストリームデータの記録処理と並行して分割保存情報を付加記録するようにしているため、ユーザが意識的にバックアップ処理を行う必要がない。また、分割保存情報が格納されているセクタのみを読み出せばよいことと、必要情報が確認されたら読み出し処理を終了させられることから、復旧手順１に比べ高速にファイル管理情報を復旧できる。
【０１５３】
上記第２の実施の形態によれば、ブロックの書き込みに要した時間の履歴情報、読み出しに要した時間の履歴情報、あるいは、ブロック内の不良セクタの数等のアクセス履歴情報を当該ブロックに付加して記録するようにしているため、ハードディスクの所定アドレスに対するブロック毎の書き込み性能および読み出し性能のパフォーマンスを確認することができ、その結果、ハードディスクの不良領域を検出できる。また、このように検出した不良領域を避けてストリームデータを記録をするようにしているため、記録速度がデータ入力速度より遅くなることによって発生するオーバーフローエラーを防止できる。更に、不良ブロック直前のブロックに対するアクセス時間履歴情報の記録を一時的に遅延記録情報として保存し、一連のストリームデータの記録終了時に記録するようにしているため、記録パフォーマンスを低下させることなくストリームデータを記録できる。
【０１５４】
上記アクセス履歴情報の基づいて、あるブロックの不良レベルを設定しておくと、アプリケーションの要請に応じて不良レベルの使い分けができることになる。以上のように、本発明のデータ管理装置は、高速かつシームレスなデータの記録再生を実現するためオペレーティングシステムがサポートしているファイルシステムを介してファイル管理をするのではなく独自にファイル管理をする構成を採用した上で、復旧機能および不良領域検出機能を備えている。
【図面の簡単な説明】
【図１】第１の実施の形態におけるデータ管理装置の概略機能ブロック図である。
【図２】第２の実施の形態におけるデータ管理装置の概略機能ブロック図である。
【図３】記録フォーマットの説明図である。
【図４】記録制御部の説明図である。
【図５】再生制御部の説明図である。
【図６】ファイル管理情報の構成例である。
【図７】検索情報の構成例である。
【図８】分割保存情報の構成例である。
【図９】アクセス時間履歴情報の構成例である。
【図１０】不良領域情報の構成例である。
【図１１】記録バッファにおける１メモリブロックの詳細を示す図である。
【図１２】再生バッファにおける１メモリブロックの詳細を示す図である。
【図１３】入力処理手順を示すフローチャートである。
【図１４】第１の実施の形態における書き込み処理手順を示すフローチャートである。
【図１５】第１の実施の形態における書き込み命令発行手順を示すフローチャートである。
【図１６】アクセス時間履歴情報生成手順を示すフローチャートである。
【図１７】第１の実施の形態における読み出し処理手順を示すフローチャートである。
【図１８】出力処理手順を示すフローチャートである。
【図１９】検索情報に基づく復旧処理手順を示すフローチャートである。
【図２０】検索情報に基づく復旧処理手順の一部を示すフローチャートである。
【図２１】検索情報に基づく復旧処理状態を説明する図である。
【図２２】分割保存情報に基づく復旧処理手順を示すフローチャートである。
【図２３】分割保存情報に基づく復旧処理手順の一部を示すフローチャートである。
【図２４】不良領域検出処理手順を示すフローチャートである。
【図２５】第２の実施の形態における書き込み処理手順を示すフローチャートである。
【図２６】第２の実施の形態における書き込み命令発行手順を示すフローチャートである。
【図２７】第２の実施の形態における読み出し処理手順を示すフローチャートである。
【図２８】第２の実施の形態における記録状態を示す説明図である。
【図２９】従来のデータ管理装置の概略機能ブロック図である。
【図３０】記録処理の概念図である。
【符号の説明】
１  ＰＣＩバス
２  ＳＣＳＩアダプタ
３  ＳＣＳＩバス
４  ハードディスク
５  メモリ
６  コントローラ
７  バッファ
８  コンピュータ
９  ＣＰＵ
１０  Ｉ／Ｏアダプタ
１１  制御ユニット
１４  記録バッファ
１５  記録管理キュー
１６  記録バッファマネージャ
１７  入力手段
１８  書き込み手段
１９  再生バッファマネージャ
２０  再生バッファ
２１  読み出し管理キュー
２２  読み出し手段
２３  出力手段
１１１  記録制御部
１１２  ファイル管理部
１１３  再生制御部
１１４  復旧手段
１１５  不良領域検出手段
２００  最新ストリーム情報格納セクタ
２０１  検索情報格納セクタ
２０２  分割保存情報格納セクタ
２０３  書き込み時間履歴情報格納セクタ
２０４  読み出し時間履歴情報格納セクタ
２３１  検索情報構造体
２４１  分割保存情報構造体
２５１  書き込み時間履歴情報構造体
２５２  読み出し時間履歴情報構造体
２６１  不良ブロック構造体
【図１】
0004365509.tif 000002
【図２】
0004365509.tif 000003
【図３】
0004365509.tif 000004
【図４】
0004365509.tif 000005
【図５】
0004365509.tif 000006
【図６】
0004365509.tif 000007
【図７】
0004365509.tif 000008
【図８】
0004365509.tif 000009
【図９】
0004365509.tif 000010
【図１０】
0004365509.tif 000011
【図１１】
0004365509.tif 000012
【図１２】
0004365509.tif 000013
【図１３】
0004365509.tif 000014
【図１４】
0004365509.tif 000015
【図１５】
0004365509.tif 000016
【図１６】
0004365509.tif 000017
【図１７】
0004365509.tif 000018
【図１８】
0004365509.tif 000019
【図１９】
0004365509.tif 000020
【図２０】
0004365509.tif 000021
【図２１】
0004365509.tif 000022
【図２２】
0004365509.tif 000023
【図２３】
0004365509.tif 000024
【図２４】
0004365509.tif 000025
【図２５】
0004365509.tif 000026
【図２６】
0004365509.tif 000027
【図２７】
0004365509.tif 000028
【図２８】
0004365509.tif 000029
【図２９】
0004365509.tif 000030
【図３０】
0004365509.tif 000031