JP4365509B2 - Data management apparatus, data management method, and recording medium recording data management procedure - Google Patents

Data management apparatus, data management method, and recording medium recording data management procedure Download PDF

Info

Publication number
JP4365509B2
JP4365509B2 JP2000145905A JP2000145905A JP4365509B2 JP 4365509 B2 JP4365509 B2 JP 4365509B2 JP 2000145905 A JP2000145905 A JP 2000145905A JP 2000145905 A JP2000145905 A JP 2000145905A JP 4365509 B2 JP4365509 B2 JP 4365509B2
Authority
JP
Japan
Prior art keywords
information
fixed
data
recording medium
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000145905A
Other languages
Japanese (ja)
Other versions
JP2001036841A (en
JP2001036841A5 (en
Inventor
直久 本村
昌子 二宮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2000145905A priority Critical patent/JP4365509B2/en
Publication of JP2001036841A publication Critical patent/JP2001036841A/en
Publication of JP2001036841A5 publication Critical patent/JP2001036841A5/ja
Application granted granted Critical
Publication of JP4365509B2 publication Critical patent/JP4365509B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Management Or Editing Of Information On Record Carriers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、記録媒体に記録したデータの管理に関し、特に、映像データのように時間的に連続するデータを記録・再生するデータ管理装置そのデータ管理方法に関するものである。
【0002】
【従来の技術】
映像や音声などの時間的に連続するアナログ信号をデジタル化し、そのストリームデータをハードディスク等の記録媒体に記録あるいは該記録媒体から再生するシステム(例えばビデオサーバシステムやノンリニア編集システムなど)では、高速かつシームレスにデータを記録・再生することが要求され、この観点から種々のデータ管理装置が提案されている。
【0003】
図29は、特開平10−275058号に開示されるデータ管理装置の構成図であり、このデータ管理装置を構成するコンピュータ8は、CPU9と、I/Oアダプタ10と、メモリ5と、ホストバスとしてのPCIバス1と、このPCIバス1に接続されるホストアダプタとしてのSCSIアダプタ2(k) (k:自然数であって、この明細書では1〜4を用いる)と、これらSCSIアダプタ2(k) それぞれのSCSIバス3(k) に接続される記録媒体としてのハードディスク4(k) と、これらハードディスク4(k) へのアクセス制御をする制御ユニット11とを備える。
【0004】
“SCSIアダプタ2(1) とハードディスク4(1) ”〜“SCSIアダプタ2(4) とハードディスク4(4) ”すなわち()内の数字が同じSCSIアダプタとハードディスクのグループはそれぞれ記録ユニットを構成し、該4組の記録ユニットで1の記録ユニット群を構成している。
【0005】
各SCSIアダプタ2(k) はバスマスタDMA転送を可能にしている。すなわち、該SCSIアダプタ2(k) に内蔵されるコントローラ6がPCIバス1の占有権を取得し、メモリ5上の任意のデータをPCIバス1を介してSCSIアダプタ2(k) に内蔵されるバッファ7へ転送することが可能である。
【0006】
尚、ホストバスにはPCIバスを用いているが、転送速度条件さえ満足するようであれば他の種類のデータ転送バスであってもかまわない。また、ホストアダプタにはSCSIアダプタを用いているが、バスマスタDMA転送が可能であれば他の種類のホストアダプタであってもかまわない。
【0007】
I/Oアダプタ10は、高ビットレートのストリームデータを上記制御ユニット11の指示に基づいて、固定サイズブロック単位で入力しメモリ5の所定領域に転送またはメモリ5の所定領域に既に記録されたデータをストリームデータとして出力することが可能である。
【0008】
制御ユニット11は、以下に説明する記録制御部111とファイル管理部112と再生制御部113とが、CPUと該CPUの下で動作するソフトウエアで構成され、また、制御に必要なデータ、特に、記録制御部111が管理するファイル管理情報は上記ハードディスク4(k) とは別の記録手段(例えばハードディスク)に格納されるようになっている。
【0009】
すなわち、記録制御部111は、CPU9の制御の下、固定サイズブロック単位で連続してメモリ5に入力されるストリームデータを必ず記録が間に合うように(つまり、メモリ5がオーバフローしない状態を維持しながら)各ハードディスク4に振り分けて記録する制御を行う。ファイル管理部112は、各ハードディスク4に記録したデータの配置管理を行う。再生制御部113は、各ハードディスク4に振り分けて記録したデータを順に読み出してストリームデータを再構築し、I/Oアダプタ10に出力する制御を行う。
【0010】
以下、上記記録制御部111が行う記録処理の手順を更に詳しく説明する。
【0011】
記録制御部111に含まれる入力手段(図示せず)は、I/Oアダプタ10から入力されたストリームデータを固定サイズブロック▲1▼▲2▼▲3▼…に分割するとともに、上記記録ユニット群を構成する複数のハードディスク4(k) が1の論理記録空間となるよう上記のように分割された固定サイズブロック▲1▼▲2▼▲3▼…を各ハードディスク4(k) に対応させて振り分ける。
【0012】
同時に、記録制御部111に含まれる書き込み手段(図示せず)は、上記のように振り分けられた固定サイズブロック▲1▼▲2▼▲3▼…を各ハードディスク4(k) に転送するよう各SCSIアダプタ2(k) に指示し、この指示を受けたSCSIアダプタ2(k) に内蔵されるコントローラ6(k) は、上記固定サイズブロック▲1▼▲2▼▲3▼…をバッファ7(k) に格納したのちハードディスク4(k) に記録する。すなわち、図30に示すように、固定サイズブロック▲1▼はコントローラ6(1) によってハードディスク4(1) に記録され、固定サイズブロック▲2▼はコントローラ6(2) によってハードディスク4(2) に記録され、固定サイズブロック▲3▼はコントローラ6(3) によってハードディスク4(3) に記録されるというように上記固定サイズブロック▲1▼▲2▼▲3▼…がシリアライズに記録される。
【0013】
以上のような手順によれば、ストリームデータ源より記録ユニットを構成する1のバッファ7(k) へのデータ転送手順と該バッファ7(k) よりハードディスク4(k) への記録手順とが交互に実行されているが、複数の記録ユニット単位では見掛け上、上記2つの手順が同時行われていることになるため、高速かつシームレスにデータを記録することができる。
【0014】
なお、上記のようにハードディスク4(k) に記録されたストリームデータに関する各種情報は、ファイル管理部112がファイル管理情報(当該ファイル管理情報の内容は本発明の説明に委ねる)として管理している。
【0015】
【発明が解決しようとする課題】
コンピュータ等で通常にファイル管理をする場合は、当該コンピュータが採用するオペレーティングシステムがサポートしているファイルシステム(例えばFAT(file allocation table )を使用することになる。従って、ハードディスク上の破壊されたデータを復旧する機能(以下「復旧機能」という)どは、上記のファイルシステムを用いて実行することになる。
【0016】
しかしながら、オペレーティングシステムがサポートしているファイルシステムを使用しないで、上記のように独自のファイルシステムを備えるデータ管理装置では、当然破壊されたデータ復旧機能独自に設計する必要がある。
【0017】
上記のFAT等のファイルシステムでは、記録対象となるデータとファイル管理情報とが同じ記録媒体に格納され、しかも、管理情報と記録対象となるデータとは同じ記憶媒体の異なる領域に記録されるところから、ハードディスクのヘッドのシークが頻繁に発生することになる。ところが、映像データのようなストリームデータを記録あるいは再生するには、高速かつシームレスであることが要求され、従って、ハードディスク上のヘッドのシークをできるだけ少なくする必要がある。
【0018】
この点を考慮して記録対象のデータとは別の記憶媒体にファイル管理情報を記憶する独自のファイルシステムの開発が必要となり、更に、当該ファイルシステムに応じたデータ復旧機能を備えるファイルシステムを開発する必要がある。
【0019】
すなわち、何らかの事情で上記した別の記憶媒体に格納されたファイル管理情報が破壊されたとき、ストリームデータ自体はハードディスク4に存在しているにも関わらずシステムとして記録あるいは再生をすることができなくなる。この場合に、上記別の記憶媒体に格納されたファイル管理情報を修復する必要がある。また、記録の最中に何らかの不都合によって、記録中断が発生した場合は、この中断までに記録されたストリームデータに関する各種情報がファイル管理情報として上記別の記憶媒体に正常に登録されないことになる。このときに、当該ストリームデータが無効になるのを防止するために、上記別の記憶媒体上にファイル管理情報を生成する必要がある。
【0020】
また、データ記録時に不良セクタが存在する場合には、ハードディスク4のヘッドは何回(システムによって回数は異なる)かのリトライを実行し、それでも書き込みができないときには代替セクタへの記録処理がなされる。ここで代替セクタは、本来のセクタより離れた位置に存在するので、ヘッドのシークが発生し、従って、不良セクタが増加した場合、代替セクタへのシークが増加することによってハードディスク4のアクセス性能が著しく低下し、その結果、ストリームデータを記録・再生する際にエラー(オーバーフローエラー・アンダーフローエラー)が発生するという問題がある。この問題は、ハードディスク4への記録命令・再生命令自体はエラーにならず、記録・再生に要する時間が長くなるという現象であるため、対策が非常に難しい。
【0021】
本発明は上記従来の事情に基づいて提案されたものであって、高速かつシームレスにデータを記録再生できるとともに復旧機能備えたデータ管理装置及びそのデータ管理方法、更に、その方法を実現する手順を記録した記録媒体を提供することを目的とする。
【0022】
【課題を解決するための手段】
本発明のストリームデータ管理装置は、
ストリームデータを固定サイズのデータブロックに分割し、上記分割した固定サイズのデータブロックを特定する検索情報を上記分割した固定サイズのデータブロックのそれぞれに対応して生成し、上記生成した検索情報のそれぞれが対応する固定サイズのデータブロックと関連付けるように、上記固定サイズのデータブロックと、上記固定サイズのデータブロックに対応する検索情報とを上記第1の記録媒体記録する記録制御部と、
上記ストリームデータを特定するファイル管理情報に基づいて上記第1の記録媒体に記録されたストリームデータを管理するファイル管理部と、
上記ファイル管理情報の復旧要求が出たときに上記第1の記録媒体に記録したストリームデータを分割した固定サイズのデータブロックのそれぞれに対応する検索情報に基づいて当該ファイル管理情報を復旧する復旧部とを備え、
上記第1の記録媒体は固定量のデータを記憶するための複数のセクタを備えており、
上記記録制御部は上記第1の記録媒体に記録したストリームデータを分割した固定サイズのデータブロックはそれぞれ、上記セクタをN個(Nは2以上の整数)含み、、かつ、上記固定サイズのデータブロックのそれぞれに含まれるN個のセクタのうち、最後のセクタの余りの領域に、上記固定サイズのデータブロックに対応する検索情報を記録し、
上記データブロックの固定サイズの大きさは上記セクタを(N−1)個用いたときよりも大きく、かつ上記セクタをN個用いたときよりも小さいことを特徴とする。
【0023】
また、本発明のストリームデータ管理装置は
記検索情報がシリアル番号、日付情報、認証情報、作成者情報のうちの少なくとも1つであることを特徴とする。
【0029】
【発明の実施の形態】
以下に本発明の実施の形態を図面に従って詳細に説明する。
図1に示すように、ストリームデータを固定サイズブロックに分割したのち該固定サイズブロックを第1の記録媒体4に記録する記録制御部111と、上記第1の記録媒体に記録されたストリームデータを、該ストリームデータを特定するファイル管理情報に基づいて管理するファイル管理部112とを備えたデータ管理装置を前提としている。
ここで、上記記録制御部111は、固定サイズブロックに関する検索情報を生成したのち該検索情報を上記固定サイズブロックに付加して記録し、復旧手段114は、ファイル管理情報の復旧要求があったとき上記検索情報に基づいてファイル管理情報を復旧する。
上記検索情報は最終セクタの余り領域に上記を記録すると、特別なセクタを用意する必要がなく、少ない容量で復旧処理が可能となる。もっとも、上記検索情報を必ずしも上記余り領域ではなく、最終セクタの次のセクタに記録するようにしてもよい。
また、上記記録制御部111は、ファイル管理情報を所定サイズ単位に分割して複数の分割保存情報を生成したのち該分割保存情報を上記固定サイズブロックに付加して記録し、復旧手段114は、ファイル管理情報の復旧要求があったとき上記分割保存情報に基づいてファイル管理情報を復旧する。
上記において、ファイル管理情報は上記第1の記録媒体とは別の記録媒体に記録しておくのが、記録、再生の高速性を維持する上で好ましく、この第2の記録媒体は、ハードディスク、フラッシュメモリ等が選択できる。ここではこの第2の記憶媒体に記憶されたファイル管理情報を、所定サイズ単位に分割して複数の分割保存情報を生成したのち該分割保存情報を上記固定サイズブロックに付加して第1の記録媒体に記録するようにしている。
更に、上記記録制御部111は、固定サイズブロックのアクセス処理に関するアクセス履歴情報、例えば、書き込み時間履歴を生成したのち該アクセス履歴情報を上記固定サイズブロックに付加して記録し、図2に示す不良領域検出手段115は、上記アクセス履歴情報が所定値以上となる記録媒体4上の領域を不良領域として検出する。また、再生制御部113は、固定サイズブロックの再生時間に関する履歴情報を生成したのち該再生時間(読み出し時間)に関する履歴情報を上記固定サイズブロックに付加して記録し、上記再生時間に関する履歴情報
が所定値以上となる記録媒体4上の領域を不良領域として検出する。
上記書き込み時間履歴、読み出し時間履歴に代えて、固定サイズブロック内の不良セクタの数を用いてもよい。また、上記のように特定のスレッシホールドレベルで固定サイズブロックの良、不良を決めるのではなく、上記不良セクタの検出手順で、アクセス履歴の示す値に応じて複数段階のレベルを生成しておき、使用するアプリケーションに対応して当該レベルを選択するようにしてもよい。
(第1の実施の形態)
図1は、本発明を適用したコンピュータの概略機能ブロック図であり、以下その構成を上記従来技術と異なる点のみ説明する。
〔記録フォーマット〕図3は、第1の記憶手段としてのハードディスク4における記録フォーマットを示す図であり、固定サイズブロックと次の固定サイズブロックとの間には本発明の効果を生み出す様々な情報が付加記録(格納)される。
【0030】
すなわち、各ハードディスク4(k) の先頭セクタ(最新ストリーム情報格納セクタ200)には、ストリームデータを記録する度に後述するストリーム情報が格納される。尚、ここで一連の連続した場面を表現する映像データをストリームデータと称しており、1つのファイルは少なくとも1つのストリームデータより構成されることになる。
【0031】
また、固定サイズブロックが記録される最終セクタ(検索情報格納セクタ201)の余り領域には後述する検索情報が格納される。この検索情報が最終セクタの余り領域より大きい場合は、最終セクタの次のセクタを上記検索情報格納セクタ201としてもかまわない。
【0032】
更に、上記検索情報格納セクタ201の次のセクタ(分割保存情報格納セクタ202)には後述する分割保存情報が格納され、この分割保存情報格納セクタ202の次のセクタ(書き込み時間履歴情報格納セクタ203)には後述する書き込み時間履歴情報が格納され、更にその次のセクタ(読み出し時間履歴情報格納セクタ204)には後述する読み出し時間履歴情報が格納される。
【0033】
なお、図3に示す書き込み時間履歴情報格納セクタ203および読み出し時間履歴情報格納セクタ204に格納される情報は、いずれも固定サイズブロックの書き込み、読み出しの時間履歴に関する情報である。
〔記録手順〕
まず、ストリームデータをハードディスク4に記録する手順を説明する。
【0034】
I/Oアダプタ10への入力映像を表示するモニタを見たユーザがマウス等を用いて記録指示をした場合などストリームデータをハードディスク4に記録する必要が生じた場合、CPU9の制御の下、記録制御部111に含まれる入力手段と書き込み手段とが起床する。
【0035】
すなわち、記録制御部111は、図4に示すように入力手段17と書き込み手段18と記録バッファマネージャ16とより構成され、この記録バッファマネージャ16は、ストリームデータを固定サイズブロック単位に格納する記録バッファ14と、この記録バッファ14において固定サイズブロックのデータが格納されている領域のアドレスを保持する記録管理キュー15(k) (各ハードディスク4(k) それぞれに対応している)とを管理する。なお、記録バッファ14および記録管理キュー15(k) は、いずれもメモリ5内に形成される。
【0036】
以下、上記のように起床した入力手段17が行う処理(以下「入力処理」という)の手順を図13に示すフローチャートに従って説明する。
【0037】
まず、入力手段17はメモリ5に検索情報を生成する(図13、ステップS1)。この検索情報とは、固定サイズブロック(以下「ブロック」という)に関する各種情報であり、ストリームデータを構成するブロック単位に生成される情報である。本発明では、図7に示す検索情報構造体231をメモリ5に生成した後、この検索情報構造体231に以下の情報をセットすることによって検索情報を生成するようにしている。
【0038】
すなわち、「認証文字列エリア」には、検索情報であることを示す認証文字列(検索情報認証文字列)をセットし、「シリアル番号エリア」には、当該記録対象であるストリームデータの先頭ブロックから最終ブロックまで順に割り付けたシリアル番号をセットする。また、「作成時間エリア」には、所定の精度(例えば0.001秒の精度)で現在時刻を保持する時計素子(図1に示すRTC60)から現在時刻を取得してセットし、「作成者エリア」には、ファイル管理部112から作成者情報を取得してセットする。更に、「最終ブロックフラグエリア」には、当該ブロックが最終ブロックであればその旨を示す情報(フラグ)をセットする。
【0039】
なお、「作成時間エリア」にセットされる現在時刻(当該記録の開始時間に相当する)及び「作成者エリア」にセットされる作成者情報(当該記録を指示したユーザ情報である)は、当該記録対象であるストリームデータの先頭ブロックから最終ブロックまで同一値である。
【0040】
次いで、入力手段17はファイル管理情報を所定数mに分割した情報(以下「分割保存情報」という)である分割保存情報を収納する、図8に示す分割保存情報構造体241をメモリ5に必要数生成する(図13、ステップS2)。
【0041】
上記ファイル管理情報は現在ファイル管理部112で管理しているファイル管理情報であり、第2の記録手段(例えばハードディスク)に格納されている。従って、当然のことながらこのファイル管理情報には現在書き込み途中であるストリームデータに関する情報は含まれない。また、上記必要数とは、全ファイル管理情報を分割保存するのに必要な数であり、ここではファイル管理情報の総数mに相当する。すなわち、ファイル管理情報は、図6に示す4種類の構造体(共通情報構造体221・ボリューム情報構造体222・ストリーム情報構造体223・空き領域情報構造体224)に分類することができる。
【0042】
上記共通情報構造体221は対象ファイルにつき1つ、ボリューム情報構造体222は対象ファイルを収納する論理空間に関する情報を格納する構造体であって、通常1ファイルにつき1つ、ストリーム情報構造体223は1のファイルを構成するストリームデータに関する情報を格納する構造体であって、1ファイルを構成するストリームの数だけ必要であり、更に、空き領域情報構造体224は、対象ファイルを収納する論理空間の空きファイルに関する情報を収納する構造体であり、連続した一連の空き空間ごとに1つ割り当てられる。上記総数mは上記の構造体の総数を意味することになる。
【0043】
これら4種類の構造体のサイズはいづれも分割保存情報構造体241のデータ保存領域241d(図8参照)のサイズを越えないようにしている。従って、上記のようにm個の分割保存情報構造体241(以下「分割保存情報構造体241(1) 〜(m) 」と表す)を生成しておけば全ファイル管理情報を分割保存できる。
【0044】
ここで、入力手段17は、上記のように分割保存情報構造体241(1) 〜(m) を生成する一方で上記4種類の構造体をファイル管理部112より順次取得し、これら構造体を分割保存情報構造体241(1) 〜(m) の「データ保存領域」に順次コピーした後、更に以下の情報を分割保存情報構造体241(1) 〜(m) にセットする。
【0045】
すなわち、「認証文字列エリア」には、分割保存情報であることを示す認証文字列(分割保存情報認証文字列)をセットし、「フォーマット種別エリア」には、ファイル管理情報のフォーマット種別(バージョン情報)をファイル管理部112より取得してセットし、「総セクタ数エリア」には、全分割保存情報構造体241を格納するために必要なセクタ数つまり分割保存情報構造体241の総数mをセットする。また、「セクタシリアル番号エリア」には、当該分割保存情報構造体241が生成された順番を示す番号つまり1からmまでのいずれかをセットし、「構造体種別エリア」には、当該分割保存情報構造体241の分割保存対象が上記4種類の構造体のいづれであるかを示す認証文字列をセットする。更に、「構造体分割数エリア」には、当該分割保存対象である情報の分割数(後述する)をセットし、「構造体分割シリアル番号エリア」には、当該分割保存対象である情報を分割した順に割り付けたシリアル番号(後述する)をセットし、「有効データ領域サイズエリア」には、当該分割保存対象である情報の有効サイズ(有効に存在するサイズ)をセットする。
【0046】
なお、上述した通り、上記4種類の構造体のサイズは通常データ保存領域241dのサイズより小さいため、「構造体分割数エリア」および「構造体分割シリアル番号エリア」には1がセットされることになる。また、各分割保存情報構造体241(m) はそれぞれ1つのセクタ(分割保存情報格納セクタ202)に格納するため、分割保存情報構造体241のサイズは、セクタサイズである512バイトとしている(後述する書き込み時間履歴情報構造体251および読み出し時間履歴情報構造体252も同様の理由で512バイトとしている)。
【0047】
次いで、入力手段17は、これより入力するストリームデータを格納するための領域を記録バッファマネージャ16に問い合わせ、この問い合わせを受けた記録バッファマネージャ16は、後述するBポインタ212を入力手段17に返す(図13、ステップS3)。
【0048】
ところで、ハードディスクにおける書き込み・読み出しはセクタ単位に行われる。従って、1のブロックのデータをハードディスクに書き込む場合、書き込み命令の書き込みサイズとして1ブロックのデータサイズを指定したとしても必ずセクタサイズのN倍のサイズの領域が使用されることになり、その結果、最終のセクタには意味のないデータが発生する。例えば513バイトのデータをハードディスクに書き込む場合、ハードディスクのセクタサイズは512バイトであるので実際には2セクタ分の領域(1024バイトの領域)が使用されることになるが、この場合、2セクタ目において有効なデータは先頭1バイトだけであり、残りの511バイトは意味のないデータである。
【0049】
そこで記録バッファマネージャ16は、本発明では、図11に示すように“(ブロックを書き込むために必要なセクタ数N×セクタサイズ)+(セクタサイズ×3)”のサイズの領域を記録バッファ14上の確保する。そして、上記N+3セクタの内の3番目のセクタの先頭位置であるBポインタ212からにブロックサイズのデータを格納すると、上記N+3セクタの内の最後から2番目のセクタに余り領域が発生することになる。このセクタの余り領域(先頭位置Cポインタ213)に検索情報構造体231が格納されるようになっている。
【0050】
尚、図11において、メモリ5に確保された領域の最初の2セクタ(Aポインタ)と、最後の1セクタ(Dポインタ)については後述する。
【0051】
このようにすれば、上記N+3セクタの内の最後から2番目の余り領域に検索情報構造体231が書き込まれることになるため、意味のないデータの発生を最小限に抑えることができる。また、ハードディスク4の記憶フォーマット(図3(a) )とメモリブロックの格納フォーマット(図3(b) 、図11)とが同一でない点については後述する。
【0052】
次いで、入力手段17は、上記のように取得したBポインタ212を指定してストリームデータを格納するようI/Oアダプタ10に指示し、この指示を受けたI/Oアダプタ10は、上記Bポインタ212が示す領域に当該記録対象であるストリームデータの先頭ブロックを格納する(図13、ステップS4)。この格納処理の間、入力手段17は休止している。
【0053】
上記格納処理が完了すると、入力手段17は、シリアル番号1の検索情報構造体231をCポインタ213(図11参照)が示す領域に格納した後、分割保存情報構造体241(1) をDポインタ214(図11参照)が示す領域に格納する(図13、ステップS5→S6)。
【0054】
次いで、入力手段17は、分割保存情報構造体241の格納が完了した旨を記録バッファマネージャ16に通知するとともに記録管理キュー15(1) にAポインタ211(図11参照)を渡した後、書き込み手段18を起床させる(図13、ステップS7→S8)。
【0055】
以上の手順を各ブロックについて繰り返し(図13、ステップS9:No)ストリームデータの最終ブロックについての格納が完了すると(図13、ステップS9:Yes)当該入力処理を終了する。
【0056】
なお、上記の説明は先頭ブロックを入力する手順であるためDポインタ214には分割保存情報構造体241(1) を格納する(図13、ステップS7)こととしているが、以降、2番目のブロックを入力する手順では分割保存情報構造体241(2) を格納し3番目のブロックを入力する手順では分割保存情報構造体241(3) を格納するというように分割保存情報構造体241(m) まで順に格納し終えたら再び分割保存情報構造体241(1) から格納する(分割保存情報をサイクリックに格納する)ようにしている。
【0057】
次に、上記のように起床した書き込み手段18が行う処理(以下「書き込み処理」という)の手順を図14に示すフローチャートに従って説明する。
【0058】
まず、書き込み手段18は、各ハードディスク4(k) における空き領域の先頭アドレスをファイル管理部112より取得し、一旦休止状態となる(図14、ステップS11→S12)。なお、ファイル管理部112は、空き領域情報構造体224(図6参照)の内容に基づいて上記空き領域の先頭アドレスを特定する。
【0059】
次いで、書き込み手段18は、上記のように入力手段17によって起床されると(図13、ステップS8参照)、書き込むべきデータが存在するか否かを記録バッファマネージャ16に問い合わせ、この問い合わせを受けた記録バッファマネージャ16は、上記のように記録管理キュー15(k) に格納したAポインタ211(以下「書き込みアドレス」という)を書き込み手段18に返す(図14、ステップS13(k) →S14(k) →S15(k) )。ただし、問い合わせ対象であるハードディスク4(k) に書き込むべきデータが存在しない場合(図14、ステップS13(k) :No)や、問い合わせ対象であるハードディスク4(k) が記録処理中である場合(図14、ステップS14(k) :Yes)、書き込み手段18は、次のハードディスク4(k) について上記と同様の問い合わせをする。
【0060】
次いで、書き込み手段18は、上記書き込みアドレスによって特定されるハードディスク4(k) に対して書き込み命令を発行する(図14、ステップS16(k) )。
【0061】
以下、上記書き込み命令の発行手順(図14、ステップS16(k) )を図15に従って更に詳しく説明する。
【0062】
まず、書き込み手段18は、当該書き込み命令が最初の書き込み命令であるか否かを判定する(図15、ステップS16-1(k) )。ここでいう最初の書き込み命令とは、当該記録処理において最初に発行された書き込み命令を意味する。
【0063】
ここで、当該書き込み命令が最初の書き込み命令である場合、書き込み手段18は、RTC60から現在時刻を取得し、この現在時刻を書き込み命令発行時間としてメモリ5に保存した後、直ちに、上記Aポインタ211のアドレスに2セクタ分を加算したアドレス(Bポインタ)から、上記メモリブロックのサイズより2セクタ分減算したサイズ(N+1セクタ分のサイズ)を指定して書き込み命令を発行する(図15、ステップS16-1(k) →S16-5(k) →S16-6(k) )。
【0064】
上記2セクタ分を加算あるいは減算するようにしたのは、以降の手順において図9に示すアクセス時間履歴情報(書き込み時間履歴情報構造体251および読み出し時間履歴情報構造体252)を上記Aポインタ211が示す領域に格納するためである。
【0065】
一方、当該書き込み命令が2回目以降の書き込み命令である場合、書き込み手段18は、まず、上記Aポインタ211が示す領域にアクセス時間履歴情報(生成手順については後述する)を格納し、次いで、上記と同様の手順で書き込み命令発行時間をメモリ5に保存した後、直ちに、上記Aポインタ211のアドレスと上記メモリブロックのサイズ(N+3セクタ分のサイズ)とを指定して書き込み命令を発行する(図15、ステップS16-1(k) →S16-2(k) →S16-3(k) →S16-4(k) )。
【0066】
この時点で、当該メモリブロックには、先頭から“「アクセス時間履歴時間情報」「ブロック」「検索情報」「分割保存情報」”が格納されていることになるが、括弧内の先頭に示す「アクセス時間履歴情報」は、次のBポインタに書き込まれる「ブロック」に関する情報ではなく、前回の書き込み命令発行時において生成されたブロックに関する情報である。例えば、ブロックをA、B、C・・とし、これらブロックに対応するアクセス時間履歴情報をA’、B’、C’・・とした場合、<Aの書き込み>→<A’の書き込み>→<Bの書き込み>→<B’の書き込み>→<Cの書き込み>・・とするのではなく、<Aの書き込み>→<A’+Bの書き込み>→<B’+Cの書き込み>・・という手順としている(<>は1の書き込み範囲を表す)。このようにアクセス時間履歴情報を当該ブロックの次のブロックに付加して書き込む手順(A’をBとともに書き込む)によれば、書き込み命令発行数の増加を防止できる。
【0067】
以上のように書き込み命令を発行した書き込み手段18は、各コントーラ6(k) がハードディスク4(k) へ書き込みをしている間は休止状態となり、いずれかへの書き込みが完了した時点で起床してアクセス時間履歴情報を生成する(図14、ステップS17→S18→S19)。
【0068】
以下、ハードディスク4(1) への最初のブロックのデータを書き込みが完了した時点で起床した書き込み手段18がアクセス時間履歴情報を生成(図14、ステップS19)する手順を図16に示すフローチャートを用いて詳しく説明する。
【0069】
まず、書き込み手段18はRTC60から現在時刻を取得し、この現在時刻から上記のようにメモリ5に保存したハードディスク4(1) に対する書き込み命令発行時間を減算することによって、書き込み命令を発行してから書き込みが完了するまでの時間(以下「書き込み時間」という)を算出する(図16、ステップS19-1→S19-2)。
【0070】
次いで、書き込み手段18は、2セクタ分の領域をメモリ5に確保した後、上記ハードディスク4(1) に既に書き込まれている(上書きの場合)アクセス時間履歴情報格納セクタ203・204(図3(a)参照)を読み出して、このように読み出した情報にアクセス時間履歴情報認証文字列が格納されているか否かを確認する(図16、ステップS19-3→S19-4)。
【0071】
ここで、書き込み手段18は、認証文字列を確認した場合には上記のように読み出した情報をアクセス時間履歴情報であるとみなし、当該書き込み時間履歴情報構造体251のサンプル時間格納領域における所定位置(初期値:「書き込み時間サンプル1」格納領域の位置)に上記書き込み時間を格納する(図16、ステップS19-4:Yes→S19-6)。なお、書き込み時間を格納し終えた書き込み手段18は、次回の書き込み時間格納に備えて履歴開始ポインタ(上記所定位置を特定する)に1を加算しておく。また、サンプル時間格納領域が満杯になったら、古いサンプル時間から順に上書きする。すなわち通常、同じ領域のデータを幾度も読み書きするが、その度に書き込み時間を記録して、当該領域の書き込み時間の履歴を残し、後に不良セクタの検出に利用するようにしている。
【0072】
一方、上記認証文字列を確認できなかった場合の書き込み手段18は、当該書き込みが当該ハードディスク4(1) において未だデータが書き込まれていない状態での書き込み(新規書き込みであり未だアクセス時間履歴情報構造体はハードディスク上の書き込まれていない)であるものとみなし、まず、書き込み時間履歴情報構造体251および読み出し時間履歴情報構造体252をメモリ5に新規生成する。その後、上記認証文字列を確認した場合と同様の手順で書き込み時間を格納する(図16、ステップS19-4:No→S19-5→S19-6)。
【0073】
上記書き込み命令発行ステップ(図15、ステップS16-2(k) )で使用したアクセス時間履歴情報は、ここで生成されたアクセス時間履歴情報である。すなわち、上記のように書き込み時間を格納したアクセス時間履歴情報は、書き込み手段18によって上記Aポインタ211が示す領域に格納された後、コントローラ6(k) によって、次のブロックサイズのデータとともに上記アクセス時間履歴情報格納セクタ203・204に書き込まれることになる。尚、図11のメモリ5の格納フォーマットを図3(b) に、また、書き込み単位を図3(c) に示して、ハードディスク4への格納フォーマットと比較できるようにした。
【0074】
なお、上記したアクセス時間履歴情報格納セクタ203・204の読み出し(図16、ステップS19-3)はストリームデータ記録処理中に行われるため、このような読み出しによれば記録パフォーマンスの低下が懸念される。しかしながら、この読み出し直前における磁気ヘッドは、分割保存情報格納セクタ202について書き込みをした位置で停止しているため、分割保存情報格納セクタ202の次セクタであるアクセス時間履歴情報格納セクタ203・204を読み出すことによって磁気ヘッドのシーク負荷は全く生じない。
【0075】
以上のように書き込み時間履歴情報構造体251に書き込み時間を追加した書き込み手段18は、ハードディスク4(1) への書き込みが完了した旨を記録バッファマネージャ16に通知するとともに、ハードディスク4(1) に対応する記録管理キュー15(1) の所定位置に書き込み完了を示す値を格納する(図14、ステップS20)。
【0076】
ここで、休止状態にある書き込み手段18(図14、ステップS18)が起床するのは、上記した場合(ハードディスク4(k) のいずれかが書き込みを完了した場合)だけでなく、入力手段17が起床命令を発行した場合(図13、ステップS8)にも起床する。ただし、この場合は、書き込むべきメモリ5上にに存在するか否かを書き込み手段18が記録バッファマネージャ16に問い合わせる手順へ移行する(図14、ステップS18→S13(k) )。
【0077】
このように、本発明では、あるハードディスク(例えば4(1) )への書き込み命令が終了した時点で次のハードディスク(例えば4(2) )に書き込むべき領域が存在する場合には、直ちに上記次のハードディスク4(2) に対して書き込み命令を発行する手順としている。このようにすれば、ハードディスク4(1) 〜(4) に対してパラレルに書き込み命令を発行していることになり、その結果、ハードディスク4(k) のアイドル時間とホストバス1のアイドル時間とを極力抑えてストリームデータを記録し続けることができる。
【0078】
また、各記録管理キュー15(k) に書き込みアドレスが存在せず、かつ、ストリームデータの入力が終了している場合(図14、ステップS21:Yes)、書き込み手段18は、各ハードディスク4(k) それぞれに対して最後に書き込んだブロック(最後のブロック)のアクセス時間履歴情報を書き込んだ後、上記のように生成した検索情報をファイル管理部112に渡し、これによってストリームデータの登録が完了する(図14、ステップS22→S23)。上記最後のブロックのアクセス時間履歴情報の書き込み(図14ステップ22)が必要であるのは、格納フォーマットと記録フォーマットとが異なる点を考えれば当然である。
【0079】
ここで、後述する復旧処理(復旧手順2)に備え、当該ストリームデータについてのストリーム情報構造体223(最新のストリーム情報である旨を示す情報)を生成し、このストリームデータ構造体223を最新ストリーム情報格納セクタ200に書き込むようにしている(図14、ステップS24)。上記ストリーム情報構造体223を生成するのは書き込み手段18であってもファイル管理部112であってもかまわない。
【0080】
以上の結果、図3に示すフォーマットでストリームデータがハードディスク(k) に記録されたことになる。
〔再生手順〕
以下、上記のように記録したストリームデータを再生する手順を説明する。
【0081】
まず、図示しないアプリケーション等が各SCSIアダプタ2(k) のコントローラ6(k) に再生を指示した場合などハードディスク4に記録されたストリームデータを再生する必要が生じた場合、CPU9の制御の下、再生制御部113に含まれる読み出し手段が起床する。
【0082】
すなわち、再生制御部113は、図5に示すように読み出し手段22と出力手段23と再生バッファマネージャ19とより構成され、この再生バッファマネージャ19は、ブロック単位にストリームデータを格納する再生バッファ20(1メモリブロックの詳細を図12に示す)と、この再生バッファ20上の所定アドレスを保持する読み出し管理キュー21とを管理する。なお、再生バッファ20および再生管理キュー21は、いずれもメモリ5内に形成される。
【0083】
以下、上記のように起床された読み出し手段22が行う処理(以下「読み出し処理」という)の手順を図17に示すフローチャートに従って説明する。
【0084】
まず、読み出し手段22は、読み出すべき(再生すべき)データが存在するか否かをファイル管理部112に問い合わせ、この問い合わせを受けたファイル管理部112は、読み出すべきデータが記録されているハードディスク4上の領域の先頭アドレスを読み出し手段22に返す(図17、ステップS30)。なお、ファイル管理部112は、ストリーム情報構造体223(図6参照)等に基づいて上記先頭アドレスを特定する。
【0085】
次いで、読み出し手段22は、再生すべきデータを読み出して一時格納するためのメモリ5上の領域を再生バッファマネージャ19に問い合わせ、この問い合わせを受けた再生バッファマネージャ19は、メモリ5上の再生バッファ20における空き領域のアドレス(格納アドレス)を読み出し手段22に返す(図17、ステップS31→S32:Yes)。
【0086】
ここで、読み出し手段22は、まず上記のように取得した先頭アドレスに基づいて読み出し対象であるハードディスク4(k) の順番と領域とを決定し、次いで、RTC60より現在時刻を取得し、この現在時刻を読み出し命令発行時間としてメモリ5に保存した後、直ちに、上記のように決定したハードディスク4(k) に対応するコントローラ6(k) に対して読み出し命令を発行する(図17、ステップS33→S34)。
【0087】
上記読み出し命令の読み出しサイズは、図12に示すメモリブロックのサイズである。従って、上記読み出し命令を受けたコントローラ6(k) は、ブロックの先頭セクタから読み出し時間履歴情報格納セクタ204までを読み出すことになる。この読み出しの間、読み出し手段22は休止している(図17、ステップS35)。
【0088】
次いで、読み出し手段22はRTC60から現在時刻を取得し、この現在時刻から上記のようにメモリ5に保存した読み出し命令発行時間を減算することによって、読み出し命令を発行してから読み出しが完了するまでの時間(以下「読み出し時間」という)を算出する(図17、ステップS36→S37)。
【0089】
ここで、読み出し手段22は、現在の履歴開始ポインタが示す位置(初期値:図9に示す「読み出し時間サンプル1」格納領域の位置)に上記のように算出した読み出し時間を格納する(図17、ステップS38)。なお、履歴開始ポインタに1を加算しておく点および古いサンプル時間を上書きする点は、上記書き込み処理と同様である。
【0090】
次いで、読み出し手段22は、再生バッファマネージャ19に対して読み出し完了を通知するとともに、読み出し管理キュー21の先頭から再生バッファ20の格納アドレスをセットしていく(図17、ステップS39)。
【0091】
ここで、上記した手順を継続すると、再生バッファ20の空き領域がなくなるため読み出し手段22が格納アドレスを取得できなくなる。そこで、再生バッファ20の空き領域がなくなると、読み出し手段22は出力手段23を起床させたのち休止するようにしている(図17、ステップS31→S32:No→S41→S42)。
【0092】
次に出力手段23が行う処理(以下「出力処理」という)の手順を図18に示すフローチャートに従って説明する。
【0093】
上記のように読み出し手段22によって起床された出力手段23は、出力すべきデータが存在する領域を再生バッファマネージャ19に問い合わせ、この問い合わせを受けた再生バッファマネージャ19は、出力すべきデータが存在する領域のアドレス(再生バッファ20上のアドレスであり、以下「出力アドレス」という)を出力手段23に返す(図18、ステップS50→S51)。
【0094】
次いで、出力手段23は、上記のように取得した出力アドレスに格納されているブロックのデータを出力するようI/Oアダプタ10に指示し、この指示を受けたI/Oアダプタ10は、上記ブロックのデータをストリームデータに再構築した上で図示しないアプリケーション等に向けて出力する(図18、ステップS52)。これによって、上記アプリケーション等がストリームデータの再生を開始することになる。
【0095】
上記出力が完了すると出力手段23が起床し、このように起床した出力手段23は、ストリームデータの出力が完了した旨を再生バッファマネージャ19に通知するとともに、ストリームデータ出力完了を示す値を読み出し管理キュー21にセットする(図18、ステップS53→S54)。
【0096】
ここで、上記出力が完了した時点で、再生バッファ20には1ブロック分の空き領域ができる。従って、上記時点で出力手段23は読み出し手段22を起床(図18、ステップS55)し、このように起床した読み出し手段22は上記空き領域のアドレスを取得する(図17、ステップS42→S31)。このようにすれば、再生バッファ20の空き領域に対して常に読み出しをすることができる。
【0097】
〔復旧手順1〕
以下、何らかの不都合が発生したことによってファイル管理情報が破壊された場合に上記検索情報を使用してファイル管理情報を復旧させる手順を図19および図20に示すフローチャートに従って説明する。
【0098】
まず、以下に説明する復旧条件をユーザが指示入力すると、復旧手段114は、ステイタスを認証するステイタスの状態を〔空き領域〕に、またフレームカウンタ(ブロック数をカウントするカウンタ)を0に、更に、空き領域先頭フレーム、および、ストリーム先頭フレームを0に初期化する。尚、この設定値はメモリ5の所定領域に格納される(図19、ステップS60→S61)。
【0099】
本発明では、日付情報および作成者情報を検索情報構造体231に格納するようにしているため、上記復旧条件として、例えば“Y年M月D日以降のストリームを復旧させる”或いは“あるユーザが作成したストリームデータのみを復旧させる”等、日付や作成者に関する条件を入力する。
【0100】
次いで、復旧手段114は、ハードディスク4(1) における最初の検索情報格納構造体231を読み出し、このように読み出した情報に検索情報認証文字列が格納されているか否かを確認する(図19、ステップS62→S63→S64)。
【0101】
上記認証文字列が格納されていることを確認した復旧手段114は、ステイタスが〔空き領域〕になっているか否を確認し、〔空き領域〕のときには更に、シリアル番号が0であるか否か、すなわち、最初の検索情報格納構造体231を読み出した段階であるか否かを判断する。ここで最初の検索情報格納構造体231を読み出した段階であるときには、当該検索情報構造体231に格納されている日付情報および作成者情報が上記のように指示入力された復旧条件を満たしていることを確認した後、フレームカウンタの値をフレーム領域先頭フレームの値とし、ステイタスの状態を〔ストリーム領域〕に設定する(図19、ステップS64:Yes→図20、ステップS65-0→S65-1→S65-2→S65-3→S65→S65-41 →S65-42 )。
【0102】
次いで、復旧手段114は、フレームカウンタをカウントアップして、次の検索情報格納構造体231を読み出す(図19ステップS66)。
、このように読み出した検索情報構造体231に格納されているシリアル番号がシリアライズ(前回のシリアル番号+1)であることを確認した後、当該検索情報構造体231に終了ブロックフラグが立っているか否かを判定する(図19、ステップS66→S62→S63→S64→図20、ステップS65-5→S65-6)。
【0103】
ここで、終了ブロックフラグが立っているときには、現在のフレームカウンタの値をストリーム域終了フレームの値とし、上記先頭フレームの値と終了フレームの値をファイル管理部112に通知する(図20、ステップS65-71 →S65- 72)。これによって、ファイル管理部112は、例えば図21(a) の領域(I) についてのストーム情報構造体223を作成できることになる。
【0104】
このとき、空き領域先頭フレーム=0であり、ストリーム領域先頭フレーム=0であるので、この両者を比較する段階で否定回答となり、空き領域先頭フレームの値が現在のフレームカウンタの値+1(=αとする)に設定され、ステイタスは〔空き領域〕に設定される(ステップS65-73 No→S65-76 →S65-77 )。
【0105】
ところで、ハードディスクは何度か異なるデータが上書きされ、従って、図21(a) の領域(II)の領域のように何らかの不要なデータが書かれている場合がある。ここで、当該不要なデータの先頭の検索情報のシルアス番号は0でなく、また、終了ブロックフラグが立っていない場合を想定する。
【0106】
この場合、上記領域(I) から領域(II)に連続して検索情報を取得していく手順を考察する。上記のように領域(I) のストーム情報構造体223を作成した後の段階で、ステイタスは〔空き領域〕に設定されている(S65-76 )。次いで、フレームカウンタのカウントアップの段階(S66)を経て次のブロックの検索情報を取得することを繰り返す。更に、図21(a) の領域(III) のストリーム領域の最初のブロックの検索情報を取得した段階にさしかかると、このときのフレームカウンタの値(=βとする)がストリーム領域先頭フレームの値として設定され、ステイタスは〔ストリーム領域〕に設定される(ステップS65-41 、S65-42 )。
【0107】
次いで、図20の右側のルーチンを繰り返し、終了ブロックフラグが立っていると、上記のようにストリーム情報構造体223を作成する(ステップS65-62 )。このとき、空き領域先頭フレーム領域=αであり、ストリーム領域先頭フレーム=βであるので、空き領域終了フレームを、上記β−1として、上記空き領域先頭フレームαと、上記空き領域終了フレームβ−1をファイル管理部112に通知して領域(II)についての空き領域構造体224を作成する(ステップS65-73 Yes→S65-74 →S65-75 )。
【0108】
上記図21(b) に示すように上記領域(II)にストリームのシリアル番号が0で始まる領域(IIb) があったとしても、この領域(IIb) でステイタスは〔ストリーム領域〕になり(図20、ステップS65-42 )、この後は図20のS65-6No→S66のルーチンを繰り返しすことになる。更に、領域(III) の先頭フレームで再びストリーム領域先頭フレームが更新(=β)され(ステップS65-5→S65-8→S65-1〜S65-42 )、この後、領域(III) のストリーム情報構造体223を作成した後に、上記領域(II)空き領域構造体224を作成することになる。
【0109】
上記の手順を全セクタについて実行し、ハードディスク4(1) 〜(4) において上記復旧条件を満たす全ストリームデータについてのストリーム情報構造体223を生成できる。
【0110】
尚、全セクタについての手順が終了した段階で、ステイタス〔空き領域〕である場合は、フレームカウンタの値−1を空き領域終了フレームの値として、ステップS65-76 で設定された空き領域先頭フレーム(あるいは初期設定の0)をファイル管理部112に通知する。ファイル管理部112はこれに基づいて空き領域構造体224を作成することになる(ステップS67〜S69)。
【0111】
次いで、復旧手段114は、上記のように生成したストリーム情報構造体223に基づいて空き領域情報構造体224を生成する。すなわち、ストリーム情報構造体223によって特定される領域はストリームデータが記録されている領域(ストリーム領域)であるたるため、このストリーム領域でない領域を空き領域とすれば全ての空き領域情報構造体224を生成できる。
【0112】
以上のように本実施の形態によれば、日付情報や作成者情報等からなる検索情報を付加してストリームデータを記録するようにしているため、日付や作成者等に基づいてファイル管理情報を復旧することができる。
【0113】
更に、この復旧方法によると、以下の説明する復旧手順2の場合とことなって、最新のストリームデータも復旧できることになる。
〔復旧手順2〕
以下、破壊されたファイル管理情報を上記分割保存情報を使用して復旧させる手順を図22および図23に示すフローチャートに従って説明する。
【0114】
まず、復旧手順を開始するようユーザが指示入力すると、復旧手段114は、ステイタス番号を初期化(0をセット)し、このステイタス番号をメモリ5の所定領域に格納した後、読み出し開始セクタを決定する(図22、ステップS70→S71)。
【0115】
上記読み出し開始セクタとは、復旧すべき分割保存情報を格納する分割保存情報格納セクタ202(総数m)の先頭セクタであり、最新ストリーム情報格納セクタ200に格納されているストリーム情報構造体223の「先頭セクタアドレス」によって特定されるセクタである。
【0116】
次いで、復旧手段114は、上記のように決定した読み出し開始セクタを読み出し、このように読み出した情報に分割保存情報認証文字列が格納されているか否かを確認する(図22、ステップS72→S73→S74)。
【0117】
上記認証文字列が格納されていることを確認した復旧手段114は、当該分割保存情報構造体241に格納されているファイル管理フォーマット種別情報が最新バージョン(現在、ファイル管理部112で管理する情報と同じバージョン)の情報であることを確認した後、当該分割保存情報構造体241に格納されているセクタシリアル番号が1であることを確認する(図22ステップS74:Yes→図23ステップS75-1→S75-2)。
【0118】
セクタシリアル番号が1であることを確認した復旧手段114は、当該分割保存情報構造体241の「総セクタ数エリア」にセットされている情報に基づいて“セクタサイズ×総セクタ数”を演算し、この演算によって得られるサイズの領域をメモリ5に確保する(図23、ステップS75-2:Yes→S75-3)。以下、このように確保したメモリ領域をメモリ領域(1) 〜(m) と表す。
【0119】
次いで、復旧手段114は、上記のように確保したメモリ領域(1) に最初の分割保存情報構造体241をコピーした後、ステイタス番号に1をセットする(図23、ステップS75-4→S75-5)。
【0120】
更に、復旧手段114は、次の分割保存情報格納セクタ202から分割保存情報構造体241を読み出し、このように読み出した分割保存情報構造体241についてファイル管理フォーマット種別及びセクタシリアル番号を確認した後、当該分割保存情報構造体241をメモリ領域(2) にコピーする(図22ステップS72→S73→S74→図23ステップS75-6→S75-7→S75-8)。
【0121】
上記手順を繰り返し(図22ステップS72→S73→S74→図23ステップS75-6→S75-7→S75-8→S75-9:No→図22ステップS72)、“セクタシリアル番号=総セクタ数”となったら(図23ステップS75-9:Yes)処理を終了する。
【0122】
以上の結果、上記メモリ領域(1) 〜(m) には全分割保存情報構造体241が格納されたことになり、これら分割保存情報構造体241のデータ保存領域に格納されているデータ(ファイル管理情報である4種類の構造体のいずれである)をファイル管理部112に渡すことによって全ファイル管理情報を復旧できる。
【0123】
なお、ここでは、ファイル管理情報である4種類の構造体の全てが分割保存情報構造体241のデータ保存領域より小さいサイズであることを前提に説明したが、上記構造体のいずれかがデータ保存領域より大きいサイズである場合には、複数のデータ保存領域に格納されているデータを結合して1構造体を復旧する。このような結合が可能であることは、分割保存情報構造体241の構成(「構造体分割数」「構造体分割シルアル番号」)より明らかである。
【0124】
また、ファイル管理情報は、あくまで、あるファイルが記録媒体に格納された後に、ファイル管理部112で生成されるので、最新のストリーム情報には、当該最新のストリーム情報を格納する直前のストリームのファイル管理情報が分割して格納されることになる。従って、この復旧方法によれば、最新のストリームデータは復旧できないことになる。
【0125】
また、ここでは2通りの復旧手順を別々に説明したが、これら復旧手順を併用してもよいことはいうまでもない。
(第2の実施の形態)
本実施の形態では、ストリームデータの記録パフォーマンスおよび再生パフォーマンスの低下を防止するため、以下に説明する不良領域検出手順を定期的に行うようにしている。
【0126】
〔不良領域検出手順〕
不良領域を検出するようユーザが指示入力した場合など不良領域検出処理を開始する必要が生じた場合、CPU9の制御のもと不良領域検出手段115が起床し、このように起床した不良領域検出手段115は、まず、ハードディスク4(1) における最初のアクセス時間履歴情報格納セクタ203・204を読み出し、このように読み出した情報にアクセス時間履歴情報認証文字列が格納されているか否かを確認する(図24、ステップS80→S81→S82)。
【0127】
上記認証文字列が格納されていることを確認した不良領域検出手段115は、これらアクセス時間履歴情報構造体より最新のサンプル時間を所定数(例えば5つ)ずつ抽出し、このように抽出した各サンプル時間と最大アクセス時間(設定値)との大小関係を調べる(図24、ステップS82→S83)。
【0128】
上記最大アクセス時間は、ブロックのサイズ及びハードディスクの性能に基づいて決定する。例えばブロックのサイズが120KBでハードディスクが高性能(AV用途)である場合、上記最大アクセス時間には0.03秒程度の値を設定するのが好ましい。
【0129】
ここで、サンプル時間のすべてが最大アクセス時間より小さい場合、不良領域検出手段115は、次のアクセス時間履歴情報格納セクタ203・204を読み出す(図24、ステップS84:No→S80→S81)。
【0130】
一方、上記サンプル時間のいずれかが最大アクセス時間より大きい場合、不良領域検出手段115は、当該ブロックを不良ブロックであると判断し、メモリ5に不良ブロック構造体261(図10参照)を生成して該不良ブロック構造体261をファイル管理部112に渡した後、次のアクセス時間履歴情報格納セクタを読み出す(図24、ステップS84:Yes→S85→S80→S81)。なお、上記不良ブロック構造体261を受けたファイル管理部112は、この不良ブロック構造体261をファイル管理情報として登録する。
【0131】
以上の手順をハードディスク4(1) 〜(4) における全アクセス時間履歴情報格納セクタ203・204について完了すると(図24、ステップS80:Yes)、不良領域検出処理を終了する。
【0132】
尚、上記アクセス時間履歴情報としては、読み出し時間履歴情報、書き込み時間履歴情報のいずれを用いてもよい。また、両者を同時に用いることでもよい。
〔記録手順〕
本実施の形態における記録処理では、上記のように検出した不良ブロックを避けてストリームデータを記録するようにしており、以下その手順を図25に示すフローチャートに従って説明する。
【0133】
上記第1の実施の形態と同様の手順で各ハードディスク4(k) における空き領域の先頭アドレスを取得した書き込み手段18は、この先頭アドレスを指定して不良ブロックが存在するか否かをファイル管理部112に問い合わせ、この問い合わせを受けたファイル管理部112は、上記先頭アドレスより後方に不良ブロックが存在すれば該不良ブロックの情報(不良ブロック構造体261)を書き込み手段18に返す(図25、ステップS90→S91)。
【0134】
書き込み手段18が記録バッファマネージャ16より書き込みアドレスを取得するまでの手順(図25、ステップS92→S93→S94→S95)は上記第1の実施の形態と同様であるため説明を省略することとし、以下、図26に示すフローチャートに従って、書き込み命令の発行手順(図25、S96)を詳しく説明する。
【0135】
まず、書き込み手段18は、当該書き込み命令が最初の書き込み命令であるか否かを判定し、最初の書き込み命令であると判定した場合(アクセス時間履歴情報の書き込みを伴はない場合)、更に、当該書き込み対象であるハードディスク4(k) の所定領域に不良ブロックが存在するか否かを上記のように取得した全不良ブロック構造体261に基づいて判定する(図26、ステップS96-1:Yes→S96-8)。
【0136】
次いで、書き込み手段18は、不良ブロックが存在しないと判定した場合には、上記第1の実施の形態と同様の手順で書き込み命令を発行し(図26、ステップS96-8:Yes→S96-9→S96-10 )する。また、不良ブロックが存在すると判定した場合には、当該不良ブロック部分については、ハードディスク上の書き込みアドレスに1メモリブロック分を加算したアドレスを指定して書き込み命令を発行する(図26、ステップS96-8:No→S96-11 →S96-9→S96-10 )。
【0137】
一方、当該書き込み命令が2回目以降の書き込み命令であると判定した場合(アクセス時間履歴情報の書き込みを伴う場合)書き込み手段18は、まず、上記不良ブロックが存在しないと判定した場合と同様、当該書き込み対象であるハードディスク4(k) の所定領域に不良ブロックが存在するか否かを全不良ブロック構造体261に基づいて判定する(図26、ステップS96-1:No→S96-2)。
【0138】
次いで、書き込み手段18は、不良ブロックが存在しないと判定した場合には、上記第1の実施の形態と同様の手順で書き込み命令を発行する(図26、ステップS96-2:No→S96-3→S96-4→S96-5)。また、不良ブロックが存在すると判定した場合には、記録パフォーマンスの低下を防止すべくアクセス時間履歴情報を遅延書き込み情報としてメモリ5に一時保存(後述する)した後、ハードディスク上の書き込みアドレスに1メモリブロック分を加算したアドレスを指定して書き込み命令を発行する。(図26、ステップS96-2:Yes→S96-6→S96-7→S96-4→S96-5)。
【0139】
ここで、図28(a) に示すように、本来はブロックデータ(検索情報構造体231、分割保存情報構造体241を含む)Bd2 の先頭部にブロックデータBd1 のアクセス時間履歴情報Ah1 が付随して書き込まれた状態で、ブロックデータBd1 とそのアクセス時間履歴情報Ah1 に連続性が持たされる。しかしながら、上記のように加算したアドレスを指定して書き込み命令を発行すると、アクセス時間履歴情報Ah1 とブロックデータBd1 とが不良ブロックBnを挟んで存在し、物理的に連続性を保てなくなる。
【0140】
そこで、上記連続性を保持しようとすると、まず、ブロックデータBd1 のアクセス時間履歴情報Ah1 をブロックデータBd1 の後部に書き込んだ後、ブロックデータBd2 を不良ブロックBnの後ろに書き込むことになるが、この手順では書き込み命令の回数が増加することになり、データストリームの記録パフォーマンスが低下する。そこで、本発明では図28(b) に示すように、アクセス時間履歴情報Ah1 を遅延書き込み情報としてメモリ5に一時保存(図26、S96-6)しておき、このように一時保存した遅延書き込み情報をデータストリーム入力終了後に対応するブロックデータBd1 の後ろに書き込む(図25、S103)手順としている。このようにすればブロックデータBd2 を書き込むために1回の書き込み命令で足りるため記録パフォーマンスが低下しない。
【0141】
以降の手順は、上記遅延書き込み情報の書き込みステップ(図25、ステップS103)を追加した点を除いて上記第1の実施の形態と同様であるため説明を省略する。
【0142】
以上のように本実施の形態における記録処理によれば、予め不良ブロックの情報を取得しておくことによって、不良ブロックを避けながらストリームデータを記録することができる。
〔再生手順〕
以下、上記のように不良ブロックを避けて記録したストリームデータを再生する手順を図27に示すフローチャートに従って説明する。
【0143】
上記第1の実施の形態と同様の手順で読み出し先頭アドレスを取得した読み出し手段22は、この読み出し先頭アドレスを指定して不良ブロックが存在するか否かをファイル管理部112に問い合わせ、この問い合わせを受けたファイル管理部112は、上記読み出し先頭アドレスより後方に不良ブロックが存在すれば該不良ブロックの情報(不良ブロック構造体)を読み出し手段22に返す(図27、ステップS110→S111)。
【0144】
読み出し手段22が再生バッファマネージャ19より格納アドレスを取得(図27、ステップS113:Yes)するまでの手順は上記第1の実施の形態と同様であるため説明を省略することとし、以下、以降の手順を説明する。
【0145】
まず、読み出し手段22は、当該読み出し対象であるハードディスク4(k) の所定領域に不良ブロックが存在するか否かを上記のように取得した全不良ブロック構造体261に基づいて判定する(図27、ステップS116)。
【0146】
次いで、読み出し手段22は、不良ブロックが存在しないと判定した場合には、上記第1の実施の形態と同様の手順で読み出し命令を発行し(図27、ステップS116:Yes→S118→S119)、不良ブロックが存在すると判定した場合には、上記のように取得した書き込みアドレスに1メモリブロック分を加算したアドレスを指定して読み出し命令を発行する(図27、ステップS116:No→S117→S118→S119)。
【0147】
以降の手順は、上記第1の実施の形態と同様であるため説明を省略する。
【0148】
以上のように本実施の形態における再生手順によれば、上記のように不良ブロックを避けて記録したストリームデータを再生することが可能である。
【0149】
以上において、ハードディスクのアクセス性能の判断基準としてアクセス時間履歴情報(読み出し時間履歴情報と書き込み時間履歴情報)を用いたが、例えば、1ブロック内に含まれる不良セクタの数をもちいてもよい。また、基準となるアクセス時間を1種(上記の例では0.03秒)としたが、複数の基準を設定し、それぞれの基準を、特に高速のアクセスを要求されるアプリケーション、ある程度の速度でアクセスを要求されるアプリケーション、さほど高速のアクセスを要求されないアプリケーションに使いわけてもよい。この場合図24の不良ブロック構造体の生成処理の段階(ステップS85)で、上記複数の基準に応じたレベルを不良ブロック構造体に書き込みようにし、図25に示す不良ブロック情報所得の段階(ステップS91)で、使用するアプリケーションの必要とするアクセス速度に応じて所定レベル以下のブロックを不良ブロックとするようにしてもよい。
【0150】
また、ファイル管理部112はファイル管理情報を第2の記録媒体に格納して管理している。この第2の記録媒体は、通常ハードディスクを用いるが、ハードディスクに限定されるものではなく、フラッシュメモリ等の不揮発性で容量の小さな記憶媒体を用いてもよい。
【0151】
【発明の効果】
上記復旧手順1によれば、ブロックを記録する最終セクタの余り領域に検索情報を付加記録するようにしているため、検索情報記録用としてハードディスク上の領域を別途用意する必要がない。また、復旧条件を指定して所望のファイル管理情報のみを復旧できる。また、この場合は最新に格納したストリームデータののファイル管理情報も復旧できることになる。
【0152】
上記復旧手順2によれば、ストリームデータの記録処理と並行して分割保存情報を付加記録するようにしているため、ユーザが意識的にバックアップ処理を行う必要がない。また、分割保存情報が格納されているセクタのみを読み出せばよいことと、必要情報が確認されたら読み出し処理を終了させられることから、復旧手順1に比べ高速にファイル管理情報を復旧できる。
【0153】
上記第2の実施の形態によれば、ブロックの書き込みに要した時間の履歴情報、読み出しに要した時間の履歴情報、あるいは、ブロック内の不良セクタの数等のアクセス履歴情報を当該ブロックに付加して記録するようにしているため、ハードディスクの所定アドレスに対するブロック毎の書き込み性能および読み出し性能のパフォーマンスを確認することができ、その結果、ハードディスクの不良領域を検出できる。また、このように検出した不良領域を避けてストリームデータを記録をするようにしているため、記録速度がデータ入力速度より遅くなることによって発生するオーバーフローエラーを防止できる。更に、不良ブロック直前のブロックに対するアクセス時間履歴情報の記録を一時的に遅延記録情報として保存し、一連のストリームデータの記録終了時に記録するようにしているため、記録パフォーマンスを低下させることなくストリームデータを記録できる。
【0154】
上記アクセス履歴情報の基づいて、あるブロックの不良レベルを設定しておくと、アプリケーションの要請に応じて不良レベルの使い分けができることになる。以上のように、本発明のデータ管理装置は、高速かつシームレスなデータの記録再生を実現するためオペレーティングシステムがサポートしているファイルシステムを介してファイル管理をするのではなく独自にファイル管理をする構成を採用した上で、復旧機能および不良領域検出機能を備えている。
【図面の簡単な説明】
【図1】第1の実施の形態におけるデータ管理装置の概略機能ブロック図である。
【図2】第2の実施の形態におけるデータ管理装置の概略機能ブロック図である。
【図3】記録フォーマットの説明図である。
【図4】記録制御部の説明図である。
【図5】再生制御部の説明図である。
【図6】ファイル管理情報の構成例である。
【図7】検索情報の構成例である。
【図8】分割保存情報の構成例である。
【図9】アクセス時間履歴情報の構成例である。
【図10】不良領域情報の構成例である。
【図11】記録バッファにおける1メモリブロックの詳細を示す図である。
【図12】再生バッファにおける1メモリブロックの詳細を示す図である。
【図13】入力処理手順を示すフローチャートである。
【図14】第1の実施の形態における書き込み処理手順を示すフローチャートである。
【図15】第1の実施の形態における書き込み命令発行手順を示すフローチャートである。
【図16】アクセス時間履歴情報生成手順を示すフローチャートである。
【図17】第1の実施の形態における読み出し処理手順を示すフローチャートである。
【図18】出力処理手順を示すフローチャートである。
【図19】検索情報に基づく復旧処理手順を示すフローチャートである。
【図20】検索情報に基づく復旧処理手順の一部を示すフローチャートである。
【図21】検索情報に基づく復旧処理状態を説明する図である。
【図22】分割保存情報に基づく復旧処理手順を示すフローチャートである。
【図23】分割保存情報に基づく復旧処理手順の一部を示すフローチャートである。
【図24】不良領域検出処理手順を示すフローチャートである。
【図25】第2の実施の形態における書き込み処理手順を示すフローチャートである。
【図26】第2の実施の形態における書き込み命令発行手順を示すフローチャートである。
【図27】第2の実施の形態における読み出し処理手順を示すフローチャートである。
【図28】第2の実施の形態における記録状態を示す説明図である。
【図29】従来のデータ管理装置の概略機能ブロック図である。
【図30】記録処理の概念図である。
【符号の説明】
1 PCIバス
2 SCSIアダプタ
3 SCSIバス
4 ハードディスク
5 メモリ
6 コントローラ
7 バッファ
8 コンピュータ
9 CPU
10 I/Oアダプタ
11 制御ユニット
14 記録バッファ
15 記録管理キュー
16 記録バッファマネージャ
17 入力手段
18 書き込み手段
19 再生バッファマネージャ
20 再生バッファ
21 読み出し管理キュー
22 読み出し手段
23 出力手段
111 記録制御部
112 ファイル管理部
113 再生制御部
114 復旧手段
115 不良領域検出手段
200 最新ストリーム情報格納セクタ
201 検索情報格納セクタ
202 分割保存情報格納セクタ
203 書き込み時間履歴情報格納セクタ
204 読み出し時間履歴情報格納セクタ
231 検索情報構造体
241 分割保存情報構造体
251 書き込み時間履歴情報構造体
252 読み出し時間履歴情報構造体
261 不良ブロック構造体
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to management of data recorded on a recording medium, and more particularly to a data management apparatus and data management method for recording / reproducing temporally continuous data such as video data.
[0002]
[Prior art]
In a system (for example, a video server system or a non-linear editing system) that digitizes temporally continuous analog signals such as video and audio and records or reproduces the stream data on a recording medium such as a hard disk, It is required to record and reproduce data seamlessly, and various data management apparatuses have been proposed from this viewpoint.
[0003]
FIG. 29 is a block diagram of a data management apparatus disclosed in Japanese Patent Laid-Open No. 10-275058. A computer 8 constituting the data management apparatus includes a CPU 9, an I / O adapter 10, a memory 5, and a host bus. And a SCSI adapter 2 (k) as a host adapter connected to the PCI bus 1 (k: a natural number, 1 to 4 are used in this specification), and the SCSI adapter 2 ( k) A hard disk 4 (k) as a recording medium connected to each SCSI bus 3 (k) and a control unit 11 for controlling access to these hard disks 4 (k).
[0004]
“SCSI adapter 2 (1) and hard disk 4 (1)” to “SCSI adapter 2 (4) and hard disk 4 (4)”, that is, a group of SCSI adapters and hard disks having the same numbers in parentheses constitute a recording unit. These four recording units constitute one recording unit group.
[0005]
Each SCSI adapter 2 (k) enables bus master DMA transfer. That is, the controller 6 built in the SCSI adapter 2 (k) acquires the occupation right of the PCI bus 1, and arbitrary data on the memory 5 is built into the SCSI adapter 2 (k) via the PCI bus 1. It is possible to transfer to the buffer 7.
[0006]
Although the PCI bus is used as the host bus, other types of data transfer buses may be used as long as the transfer speed condition is satisfied. Further, although the SCSI adapter is used as the host adapter, other types of host adapters may be used as long as the bus master DMA transfer is possible.
[0007]
The I / O adapter 10 inputs high bit rate stream data in units of fixed size blocks based on an instruction from the control unit 11 and transfers the data to a predetermined area of the memory 5 or data already recorded in the predetermined area of the memory 5. Can be output as stream data.
[0008]
The control unit 11 includes a recording control unit 111, a file management unit 112, and a reproduction control unit 113, which will be described below, composed of a CPU and software that operates under the CPU. The file management information managed by the recording control unit 111 is stored in a recording means (for example, a hard disk) different from the hard disk 4 (k).
[0009]
In other words, the recording control unit 111 controls the CPU 9 so that recording of stream data continuously input to the memory 5 in units of fixed size blocks is always in time (that is, while maintaining the state where the memory 5 does not overflow). ) Control to sort and record each hard disk 4. The file management unit 112 manages the arrangement of data recorded on each hard disk 4. The reproduction control unit 113 performs control to sequentially read the data allocated and recorded on each hard disk 4 to reconstruct the stream data and output it to the I / O adapter 10.
[0010]
Hereinafter, the procedure of the recording process performed by the recording control unit 111 will be described in more detail.
[0011]
The input means (not shown) included in the recording control unit 111 divides the stream data input from the I / O adapter 10 into fixed size blocks (1), (2), (3), and the recording unit group. The fixed size blocks {circle around (1)} {2} {3}... Divided as described above so that a plurality of hard disks 4 (k) constituting one logical recording space correspond to each hard disk 4 (k). Distribute.
[0012]
At the same time, the writing means (not shown) included in the recording control unit 111 transfers the fixed size blocks (1), (2), (3), etc., distributed as described above to each hard disk 4 (k). The SCSI adapter 2 (k) is instructed, and the controller 6 (k) built in the SCSI adapter 2 (k) that has received this instruction stores the fixed size block (1) (2) (3). After storing in k), record in hard disk 4 (k). That is, as shown in FIG. 30, the fixed size block (1) is recorded on the hard disk 4 (1) by the controller 6 (1), and the fixed size block (2) is recorded on the hard disk 4 (2) by the controller 6 (2). The fixed size blocks (1), (2), (3),... Are serially recorded so that the fixed size block (3) is recorded on the hard disk 4 (3) by the controller 6 (3).
[0013]
According to the above procedure, the data transfer procedure from the stream data source to one buffer 7 (k) constituting the recording unit and the recording procedure from the buffer 7 (k) to the hard disk 4 (k) are alternated. However, since the above two procedures are apparently performed in units of a plurality of recording units, data can be recorded at high speed and seamlessly.
[0014]
Note that various information related to stream data recorded on the hard disk 4 (k) as described above is managed by the file management unit 112 as file management information (the contents of the file management information are left to the description of the present invention). .
[0015]
[Problems to be solved by the invention]
  When a file is normally managed by a computer or the like, a file system (for example, FAT (file allocation table)) supported by the operating system adopted by the computer is used. That restores data (hereinafter referred to as "recovery function")NaThis is executed using the above file system.
[0016]
  However, without using a file system supported by the operating system, in a data management device having its own file system as described above, it is natural that the data recovery function is destroyed.AlsoYou need to design your own.
[0017]
In the above file system such as FAT, the data to be recorded and the file management information are stored in the same recording medium, and the management information and the data to be recorded are recorded in different areas of the same storage medium. Therefore, the seek of the head of the hard disk frequently occurs. However, in order to record or reproduce stream data such as video data, it is required to be fast and seamless. Therefore, it is necessary to reduce the seek of the head on the hard disk as much as possible.
[0018]
  Considering this point, it is necessary to develop a unique file system that stores file management information in a storage medium different from the data to be recorded, and furthermore, a data recovery function corresponding to the file system.WithA file system needs to be developed.
[0019]
That is, when the file management information stored in another storage medium is destroyed for some reason, the stream data itself cannot be recorded or reproduced as a system even though it exists in the hard disk 4. . In this case, it is necessary to repair the file management information stored in the other storage medium. Also, if a recording interruption occurs due to some inconvenience during recording, various information relating to the stream data recorded until this interruption is not normally registered in the other storage medium as file management information. At this time, in order to prevent the stream data from becoming invalid, it is necessary to generate file management information on the other storage medium.
[0020]
If there is a defective sector during data recording, the head of the hard disk 4 performs retry (the number of times varies depending on the system), and if writing is still impossible, the recording process to the alternative sector is performed. Here, since the alternative sector exists at a position distant from the original sector, a head seek occurs. Therefore, when the number of bad sectors increases, the seek to the alternative sector increases, thereby increasing the access performance of the hard disk 4. As a result, there is a problem that an error (overflow error / underflow error) occurs when recording / reproducing stream data. This problem is a phenomenon in which the recording command / reproducing command itself to the hard disk 4 does not cause an error, and the time required for recording / reproducing becomes long, so that countermeasures are very difficult.
[0021]
  The present invention has been proposed on the basis of the above-mentioned conventional circumstances, and can record and reproduce data at high speed and seamlessly and can also be restored.TheIt is an object of the present invention to provide a data management apparatus, a data management method therefor, and a recording medium on which a procedure for realizing the method is recorded.
[0022]
[Means for Solving the Problems]
  The stream data management device of the present invention
  Divide stream data into fixed size data blocksFixed sizeDivided search information to identify data blocksFixed sizeGenerated for each of the data blocks,The fixed-size data block and the search information corresponding to the fixed-size data block are associated with the fixed-size data block so that each of the generated search information is associated with the corresponding fixed-size data block.First recording mediumInA recording control unit for recording;
  A file management unit for managing stream data recorded on the first recording medium based on file management information for specifying the stream data;
  When a recovery request for the file management information is issued,Corresponding to each fixed-size data block obtained by dividing stream data recorded on the first recording mediumA recovery unit that recovers the file management information based on the search information,
  The first recording medium includes a plurality of sectors for storing a fixed amount of data,
  The recording control unit is connected to the first recording medium.Each fixed-size data block obtained by dividing the recorded stream data isSectorN (N is an integer of 2 or more)And aboveFixed sizeData blockOf the N sectors included in each, the remainder of the last sectorAnd aboveFixed size dataRecord search information corresponding to blockAnd
  The fixed size of the data block is larger than when (N-1) sectors are used, and smaller than when N sectors are used.It is characterized by that.
[0023]
  Also,The stream data management apparatus of the present invention,
  UpThe search information is at least one of serial number, date information, authentication information, and creator information.
[0029]
DETAILED DESCRIPTION OF THE INVENTION
  Embodiments of the present invention will be described below in detail with reference to the drawings.
As shown in FIG. 1, after dividing the stream data into fixed size blocks, the recording control unit 111 that records the fixed size blocks on the first recording medium 4, and the stream data recorded on the first recording medium The data management apparatus includes a file management unit 112 that manages file data based on file management information that identifies the stream data.
Here, the recording control unit 111 generates search information related to the fixed size block, and then records the search information added to the fixed size block. When the recovery unit 114 requests to recover the file management information, The file management information is restored based on the search information.
If the search information is recorded in the remainder area of the last sector, it is not necessary to prepare a special sector, and the recovery process can be performed with a small capacity. However, the search information may be recorded not in the remaining area but in the sector next to the last sector.
The recording control unit 111 divides the file management information into predetermined size units to generate a plurality of divided storage information, and then adds the divided storage information to the fixed size block for recording. When there is a request for restoring the file management information, the file management information is restored based on the divided storage information.
In the above, it is preferable to record the file management information on a recording medium different from the first recording medium in order to maintain high speed recording and reproduction. The second recording medium is a hard disk, A flash memory or the like can be selected. Here, the file management information stored in the second storage medium is divided into predetermined size units to generate a plurality of pieces of divided storage information, and then the divided storage information is added to the fixed size block for the first recording. It is recorded on the medium.
Further, the recording control unit 111 generates access history information related to access processing of a fixed size block, for example, a writing time history, and then adds the access history information to the fixed size block and records it, as shown in FIG. The area detector 115 detects an area on the recording medium 4 where the access history information is equal to or greater than a predetermined value as a defective area. Further, the reproduction control unit 113 generates history information related to the reproduction time of the fixed size block, and then adds and records history information related to the reproduction time (reading time) to the fixed size block, and records history information about the reproduction time.
An area on the recording medium 4 in which is equal to or greater than a predetermined value is detected as a defective area.
Instead of the write time history and the read time history, the number of bad sectors in the fixed size block may be used. Also, instead of deciding whether a fixed-size block is good or bad at a specific threshold level as described above, multiple levels are generated according to the value indicated by the access history in the bad sector detection procedure. Alternatively, the level may be selected according to the application to be used.
(First embodiment)
  FIG. 1 is a schematic functional block diagram of a computer to which the present invention is applied. The configuration of the computer will be described below only with respect to differences from the prior art.
[Recording Format] FIG. 3 is a diagram showing a recording format in the hard disk 4 as the first storage means. Various information that produces the effect of the present invention is placed between the fixed size block and the next fixed size block. Additional recorded (stored).
[0030]
That is, the stream information described later is stored in the head sector (latest stream information storage sector 200) of each hard disk 4 (k) every time stream data is recorded. Here, video data representing a series of continuous scenes is referred to as stream data, and one file is composed of at least one stream data.
[0031]
In addition, search information, which will be described later, is stored in the remaining area of the last sector (search information storage sector 201) in which fixed-size blocks are recorded. If this search information is larger than the remainder area of the last sector, the sector next to the last sector may be used as the search information storage sector 201.
[0032]
Further, divided storage information to be described later is stored in a sector (divided storage information storage sector 202) next to the search information storage sector 201, and a sector (write time history information storage sector 203 next to the divided storage information storage sector 202). ) Stores write time history information described later, and further stores read time history information described later in the next sector (read time history information storage sector 204).
[0033]
Note that the information stored in the write time history information storage sector 203 and the read time history information storage sector 204 shown in FIG. 3 is information related to the time history of writing and reading fixed-size blocks.
[Recording procedure]
First, a procedure for recording stream data on the hard disk 4 will be described.
[0034]
When it is necessary to record the stream data on the hard disk 4 such as when a user who has seen a monitor displaying an input video to the I / O adapter 10 gives a recording instruction using a mouse or the like, the recording is performed under the control of the CPU 9. The input means and the writing means included in the control unit 111 wake up.
[0035]
That is, the recording control unit 111 includes an input unit 17, a writing unit 18, and a recording buffer manager 16 as shown in FIG. 4, and this recording buffer manager 16 stores a stream data in units of fixed size blocks. 14 and a recording management queue 15 (k) (corresponding to each hard disk 4 (k)) that holds the address of an area where fixed-size block data is stored in the recording buffer 14. The recording buffer 14 and the recording management queue 15 (k) are both formed in the memory 5.
[0036]
Hereinafter, a procedure of processing (hereinafter referred to as “input processing”) performed by the input unit 17 that wakes up as described above will be described with reference to a flowchart shown in FIG.
[0037]
First, the input means 17 generates search information in the memory 5 (FIG. 13, step S1). This search information is various information related to fixed-size blocks (hereinafter referred to as “blocks”), and is information generated in units of blocks constituting stream data. In the present invention, after the search information structure 231 shown in FIG. 7 is generated in the memory 5, the search information is generated by setting the following information in the search information structure 231.
[0038]
That is, an authentication character string (search information authentication character string) indicating search information is set in the “authentication character string area”, and the first block of stream data to be recorded is set in the “serial number area”. Set the serial number assigned in order from the first to the last block. In the “creation time area”, the current time is acquired and set from a clock element (RTC 60 shown in FIG. 1) that holds the current time with a predetermined accuracy (eg, 0.001 second accuracy). In the “area”, creator information is acquired from the file management unit 112 and set. Further, in the “last block flag area”, information (flag) indicating that the block is the last block is set.
[0039]
The current time set in the “creation time area” (corresponding to the start time of the recording) and the creator information set in the “creator area” (the user information instructing the recording) are It is the same value from the first block to the last block of stream data to be recorded.
[0040]
Next, the input unit 17 requires the divided storage information structure 241 shown in FIG. 8 in the memory 5 to store the divided storage information which is information obtained by dividing the file management information into a predetermined number m (hereinafter referred to as “divided storage information”). A number is generated (FIG. 13, step S2).
[0041]
The file management information is file management information currently managed by the file management unit 112, and is stored in the second recording means (for example, hard disk). Therefore, as a matter of course, this file management information does not include information on the stream data currently being written. The required number is a number necessary for dividing and saving all file management information, and corresponds to the total number m of file management information here. That is, the file management information can be classified into four types of structures shown in FIG. 6 (common information structure 221, volume information structure 222, stream information structure 223, and free space information structure 224).
[0042]
The common information structure 221 is one structure for each target file, and the volume information structure 222 is a structure for storing information related to the logical space that stores the target file. Normally, one structure for each file is the stream information structure 223. It is a structure for storing information on stream data constituting one file, and is required for the number of streams constituting one file. Furthermore, the free space information structure 224 is a logical space for storing the target file. It is a structure that stores information on empty files, and is assigned to each continuous series of empty spaces. The total number m means the total number of the structures.
[0043]
The size of these four types of structures does not exceed the size of the data storage area 241d (see FIG. 8) of the divided storage information structure 241. Therefore, if m divided storage information structures 241 (hereinafter referred to as “divided storage information structures 241 (1) to (m)”) are generated as described above, all file management information can be divided and stored.
[0044]
Here, the input unit 17 generates the divided storage information structures 241 (1) to (m) as described above, while sequentially obtaining the four types of structures from the file management unit 112, and obtains these structures. After copying sequentially to the “data storage area” of the divided storage information structures 241 (1) to 241 (m), the following information is further set in the divided storage information structures 241 (1) to (m).
[0045]
That is, an authentication character string (divided storage information authentication character string) indicating that it is divided storage information is set in the “authentication character string area”, and a format type (version version) of the file management information is set in the “format type area”. Information) is obtained from the file management unit 112 and set. In the “total number of sectors area”, the number of sectors necessary for storing all the divided storage information structures 241, that is, the total number m of the divided storage information structures 241 is set. set. In the “sector serial number area”, a number indicating the order in which the divided storage information structures 241 are generated, that is, any number from 1 to m is set, and in the “structure type area”, the divided storage information structure 241 is stored. An authentication character string that indicates which of the above four types of structures is set as the object to be divided and stored in the information structure 241 is set. Further, the number of divisions of information to be divided and stored (described later) is set in the “structure division number area”, and the information to be divided and saved is divided in the “structure division serial number area”. Serial numbers (to be described later) assigned in the order in which they are assigned are set, and an effective size (effectively existing size) of information to be divided and stored is set in the “effective data area size area”.
[0046]
As described above, since the size of the four types of structures is smaller than the size of the normal data storage area 241d, 1 is set in the “structure division number area” and the “structure division serial number area”. become. Since each divided storage information structure 241 (m) is stored in one sector (divided storage information storage sector 202), the size of the divided storage information structure 241 is set to 512 bytes which is a sector size (described later). The write time history information structure 251 and the read time history information structure 252 are set to 512 bytes for the same reason).
[0047]
Next, the input unit 17 inquires the recording buffer manager 16 about an area for storing the stream data to be input from this, and the recording buffer manager 16 that has received this inquiry returns a B pointer 212 described later to the input unit 17 ( FIG. 13, step S3).
[0048]
By the way, writing / reading in the hard disk is performed in units of sectors. Therefore, when data of one block is written to the hard disk, even if the data size of one block is specified as the write size of the write command, an area having a size N times the sector size is always used. Insignificant data is generated in the last sector. For example, when writing 513 bytes of data to the hard disk, since the sector size of the hard disk is 512 bytes, an area of 2 sectors (1024 bytes area) is actually used. In this case, the second sector The valid data is only the first byte, and the remaining 511 bytes are meaningless data.
[0049]
Therefore, in the present invention, as shown in FIG. 11, the recording buffer manager 16 assigns an area having a size of “(number of sectors necessary for writing a block N × sector size) + (sector size × 3)” to the recording buffer 14. To secure. When block size data is stored from the B pointer 212 which is the head position of the third sector of the N + 3 sectors, a surplus area is generated in the second sector from the end of the N + 3 sectors. Become. The search information structure 231 is stored in the remaining area (head position C pointer 213) of this sector.
[0050]
In FIG. 11, the first two sectors (A pointer) and the last one sector (D pointer) of the area secured in the memory 5 will be described later.
[0051]
In this way, since the search information structure 231 is written in the second remaining area from the end of the N + 3 sectors, generation of meaningless data can be minimized. Further, the point that the storage format of the hard disk 4 (FIG. 3 (a)) and the storage format of the memory block (FIG. 3 (b), FIG. 11) are not the same will be described later.
[0052]
Next, the input unit 17 designates the B pointer 212 acquired as described above to instruct the I / O adapter 10 to store the stream data, and the I / O adapter 10 that has received this instruction receives the B pointer. The first block of stream data to be recorded is stored in the area 212 (FIG. 13, step S4). During this storing process, the input means 17 is at rest.
[0053]
When the above storage processing is completed, the input means 17 stores the search information structure 231 of serial number 1 in the area indicated by the C pointer 213 (see FIG. 11), and then stores the divided storage information structure 241 (1) as the D pointer. It is stored in the area indicated by 214 (see FIG. 11) (FIG. 13, steps S5 → S6).
[0054]
Next, the input means 17 notifies the recording buffer manager 16 that the storage of the divided storage information structure 241 has been completed, passes the A pointer 211 (see FIG. 11) to the recording management queue 15 (1), and then writes it. The means 18 is woken up (FIG. 13, steps S7 → S8).
[0055]
The above procedure is repeated for each block (FIG. 13, step S9: No). When the storage of the last block of stream data is completed (FIG. 13, step S9: Yes), the input process is terminated.
[0056]
Since the above description is the procedure for inputting the first block, the divided save information structure 241 (1) is stored in the D pointer 214 (FIG. 13, step S7). The divided storage information structure 241 (m) is stored so that the divided storage information structure 241 (2) is stored in the procedure of inputting the third block and the divided storage information structure 241 (3) is stored in the procedure of inputting the third block. Are stored again from the divided storage information structure 241 (1) (the divided storage information is stored cyclically).
[0057]
Next, a procedure of processing (hereinafter referred to as “writing processing”) performed by the writing unit 18 that wakes up as described above will be described with reference to a flowchart shown in FIG.
[0058]
First, the writing means 18 obtains the head address of the free area in each hard disk 4 (k) from the file management unit 112, and temporarily enters a sleep state (FIG. 14, steps S11 → S12). The file management unit 112 specifies the head address of the free area based on the contents of the free area information structure 224 (see FIG. 6).
[0059]
Next, when the writing means 18 is woken up by the input means 17 as described above (see FIG. 13, step S8), the writing means 18 inquires of the recording buffer manager 16 whether there is data to be written, and receives this inquiry. The recording buffer manager 16 returns the A pointer 211 (hereinafter referred to as “write address”) stored in the recording management queue 15 (k) as described above to the writing means 18 (FIG. 14, steps S13 (k) → S14 (k). → S15 (k)). However, when there is no data to be written to the inquiry-target hard disk 4 (k) (FIG. 14, step S13 (k): No), or when the inquiry-target hard disk 4 (k) is being recorded ( In FIG. 14, step S14 (k): Yes), the writing means 18 makes an inquiry similar to the above for the next hard disk 4 (k).
[0060]
Next, the writing means 18 issues a write command to the hard disk 4 (k) specified by the write address (FIG. 14, step S16 (k)).
[0061]
Hereinafter, the procedure for issuing the write command (FIG. 14, step S16 (k)) will be described in more detail with reference to FIG.
[0062]
First, the writing means 18 determines whether or not the write command is the first write command (FIG. 15, step S16-1 (k)). Here, the first write command means a write command issued first in the recording process.
[0063]
Here, if the write command is the first write command, the writing means 18 obtains the current time from the RTC 60, saves the current time in the memory 5 as the write command issue time, and immediately thereafter, the A pointer 211. A write command is issued by designating a size (N + 1 sector size) obtained by subtracting two sectors from the size of the memory block from the address obtained by adding two sectors to the address (B pointer) (FIG. 15, step S16). -1 (k) → S16-5 (k) → S16-6 (k)).
[0064]
The two sectors are added or subtracted because the A pointer 211 stores the access time history information (write time history information structure 251 and read time history information structure 252) shown in FIG. This is because it is stored in the area shown.
[0065]
On the other hand, if the write command is a second or subsequent write command, the writing means 18 first stores access time history information (the generation procedure will be described later) in the area indicated by the A pointer 211, and then After the write command issue time is stored in the memory 5 in the same procedure as described above, the write command is issued immediately after designating the address of the A pointer 211 and the size of the memory block (size of N + 3 sectors) (see FIG. 15, Step S16-1 (k) → S16-2 (k) → S16-3 (k) → S16-4 (k)).
[0066]
At this point, the memory block stores ““ access time history time information ”,“ block ”,“ search information ”, and“ divided storage information ”from the beginning. The “access time history information” is not information related to the “block” written to the next B pointer, but information related to the block generated when the previous write command was issued. For example, if the blocks are A, B, C... And the access time history information corresponding to these blocks is A ′, B ′, C ′..., <Write A> → <Write A ′> → Rather than <B write> → <B 'write> → <C write> ..., <A write>-> <A' + B write>-> <B '+ C write> ... It is a procedure (<> represents a writing range of 1). As described above, according to the procedure of writing the access time history information after adding it to the next block (writing A ′ together with B), it is possible to prevent an increase in the number of write commands issued.
[0067]
The writing means 18 that has issued the write command as described above is in a sleep state while each controller 6 (k) is writing to the hard disk 4 (k), and wakes up when writing to any of the controllers is completed. Thus, the access time history information is generated (FIG. 14, steps S17 → S18 → S19).
[0068]
Hereinafter, the procedure in which the writing unit 18 wakes up when the writing of the first block of data to the hard disk 4 (1) is completed generates access time history information (FIG. 14, step S19) will be described with reference to the flowchart shown in FIG. Will be described in detail.
[0069]
First, the writing means 18 obtains the current time from the RTC 60, and after issuing the write command by subtracting the write command issue time for the hard disk 4 (1) stored in the memory 5 as described above from the current time. The time until writing is completed (hereinafter referred to as “writing time”) is calculated (FIG. 16, steps S19-1 → S19-2).
[0070]
Next, the writing means 18 secures an area for two sectors in the memory 5, and then has already been written to the hard disk 4 (1) (in the case of overwriting) access time history information storage sectors 203 and 204 (FIG. 3 ( a)) is read, and it is confirmed whether or not the access time history information authentication character string is stored in the information thus read (FIG. 16, steps S19-3 → S19-4).
[0071]
Here, when the writing means 18 confirms the authentication character string, the writing means 18 regards the information read as described above as access time history information, and a predetermined position in the sample time storage area of the writing time history information structure 251. The write time is stored in (initial value: “write time sample 1” storage area position) (FIG. 16, Step S19-4: Yes → S19-6). The writing means 18 that has stored the writing time adds 1 to the history start pointer (identifies the predetermined position) in preparation for the next writing time storage. When the sample time storage area becomes full, the old sample time is overwritten in order. That is, normally, data in the same area is read and written several times, each time a write time is recorded, a history of the write time in the area is recorded, and it is used later for detecting a defective sector.
[0072]
On the other hand, when the authentication character string cannot be confirmed, the writing means 18 writes the data in the state where the data is not yet written in the hard disk 4 (1) (new writing and still access time history information structure). First, a write time history information structure 251 and a read time history information structure 252 are newly generated in the memory 5. Thereafter, the writing time is stored in the same procedure as when the authentication character string is confirmed (FIG. 16, Step S19-4: No → S19-5 → S19-6).
[0073]
The access time history information used in the write command issuing step (FIG. 15, step S16-2 (k)) is the access time history information generated here. That is, the access time history information storing the writing time as described above is stored in the area indicated by the A pointer 211 by the writing means 18 and then accessed by the controller 6 (k) together with the next block size data. It is written in the time history information storage sector 203/204. The storage format of the memory 5 in FIG. 11 is shown in FIG. 3 (b) and the writing unit is shown in FIG. 3 (c) so that it can be compared with the storage format in the hard disk 4.
[0074]
Note that the above-described reading of the access time history information storage sectors 203 and 204 (FIG. 16, step S19-3) is performed during the stream data recording process. . However, since the magnetic head immediately before the reading is stopped at the position where the divided storage information storage sector 202 was written, the access time history information storage sectors 203 and 204 that are the next sector of the divided storage information storage sector 202 are read. As a result, no seek load occurs on the magnetic head.
[0075]
The writing means 18 having added the writing time to the writing time history information structure 251 as described above notifies the recording buffer manager 16 that the writing to the hard disk 4 (1) is completed, and also notifies the hard disk 4 (1). A value indicating the completion of writing is stored in a predetermined position of the corresponding recording management queue 15 (1) (FIG. 14, step S20).
[0076]
Here, the writing means 18 (FIG. 14, step S18) in the suspend state wakes up not only in the above case (when any of the hard disks 4 (k) has completed writing) but also in the input means 17 When a wake-up command is issued (step S8 in FIG. 13), the wake-up command is also issued. In this case, however, the writing means 18 inquires of the recording buffer manager 16 whether or not it exists in the memory 5 to be written (FIG. 14, steps S18 → S13 (k)).
[0077]
As described above, in the present invention, when there is an area to be written to the next hard disk (for example, 4 (2)) at the time when the write command to the certain hard disk (for example, 4 (1)) is completed, This is a procedure for issuing a write command to the hard disk 4 (2). In this way, a write command is issued in parallel to the hard disks 4 (1) to (4). As a result, the idle time of the hard disk 4 (k) and the idle time of the host bus 1 It is possible to continue recording stream data with as much as possible.
[0078]
If there is no write address in each recording management queue 15 (k) and the input of the stream data has been completed (step S21: Yes in FIG. 14), the writing means 18 sends each hard disk 4 (k ) After writing the access time history information of the last written block (last block) to each, the search information generated as described above is passed to the file management unit 112, thereby completing the registration of the stream data. (FIG. 14, steps S22 → S23). The writing of the access time history information of the last block (step 22 in FIG. 14) is necessary in view of the difference between the storage format and the recording format.
[0079]
Here, in preparation for recovery processing (recovery procedure 2) described later, a stream information structure 223 (information indicating that the stream information is the latest stream information) is generated for the stream data, and the stream data structure 223 is converted to the latest stream. The information is written in the information storage sector 200 (FIG. 14, step S24). The stream information structure 223 may be generated by the writing unit 18 or the file management unit 112.
[0080]
As a result, the stream data is recorded on the hard disk (k) in the format shown in FIG.
[Reproduction procedure]
A procedure for reproducing the stream data recorded as described above will be described below.
[0081]
First, when it is necessary to reproduce the stream data recorded on the hard disk 4, such as when an application (not shown) instructs the controller 6 (k) of each SCSI adapter 2 (k) to reproduce, under the control of the CPU 9, The reading means included in the reproduction control unit 113 wakes up.
[0082]
That is, as shown in FIG. 5, the playback control unit 113 includes a reading unit 22, an output unit 23, and a playback buffer manager 19. The playback buffer manager 19 stores the stream data in units of blocks. The details of one memory block are shown in FIG. 12) and a read management queue 21 holding a predetermined address on the reproduction buffer 20 is managed. Both the reproduction buffer 20 and the reproduction management queue 21 are formed in the memory 5.
[0083]
Hereinafter, a procedure of processing (hereinafter referred to as “reading processing”) performed by the reading unit 22 woken up as described above will be described with reference to a flowchart shown in FIG.
[0084]
First, the reading unit 22 inquires of the file management unit 112 whether or not there is data to be read (to be reproduced), and the file management unit 112 that has received this inquiry stores the hard disk 4 on which the data to be read is recorded. The top address of the upper area is returned to the reading means 22 (FIG. 17, step S30). The file management unit 112 identifies the head address based on the stream information structure 223 (see FIG. 6) and the like.
[0085]
Next, the reading means 22 inquires the reproduction buffer manager 19 about an area on the memory 5 for reading out and temporarily storing data to be reproduced, and the reproduction buffer manager 19 that has received this inquiry receives the reproduction buffer 20 on the memory 5. The address (storage address) of the empty area is returned to the reading means 22 (FIG. 17, steps S31 → S32: Yes).
[0086]
Here, the reading means 22 first determines the order and area of the hard disk 4 (k) to be read based on the head address acquired as described above, and then acquires the current time from the RTC 60, and this current After the time is stored in the memory 5 as a read command issue time, a read command is issued immediately to the controller 6 (k) corresponding to the hard disk 4 (k) determined as described above (FIG. 17, step S33 → S34).
[0087]
The read size of the read command is the size of the memory block shown in FIG. Accordingly, the controller 6 (k) that has received the read command reads from the head sector of the block to the read time history information storage sector 204. During this reading, the reading means 22 is at rest (FIG. 17, step S35).
[0088]
Next, the reading means 22 acquires the current time from the RTC 60, and subtracts the read command issue time stored in the memory 5 as described above from this current time, so that the read command is issued and the read is completed. Time (hereinafter referred to as “reading time”) is calculated (FIG. 17, steps S36 → S37).
[0089]
Here, the reading means 22 stores the read time calculated as described above at the position indicated by the current history start pointer (initial value: the position of the “read time sample 1” storage area shown in FIG. 9) (FIG. 17). Step S38). The point that 1 is added to the history start pointer and the point that the old sample time is overwritten are the same as in the writing process.
[0090]
Next, the reading means 22 notifies the reproduction buffer manager 19 of the completion of reading, and sets the storage address of the reproduction buffer 20 from the top of the read management queue 21 (FIG. 17, step S39).
[0091]
Here, if the above-described procedure is continued, the reading unit 22 cannot obtain the storage address because there is no free space in the reproduction buffer 20. Therefore, when there is no free space in the reproduction buffer 20, the reading means 22 wakes up the output means 23 and then pauses (FIG. 17, steps S31 → S32: No → S41 → S42).
[0092]
Next, a procedure of processing (hereinafter referred to as “output processing”) performed by the output unit 23 will be described with reference to a flowchart shown in FIG.
[0093]
As described above, the output means 23 woken up by the reading means 22 inquires the reproduction buffer manager 19 about the area where the data to be output exists, and the reproduction buffer manager 19 that has received this inquiry has the data to be output. The address of the area (the address on the reproduction buffer 20 and hereinafter referred to as “output address”) is returned to the output means 23 (FIG. 18, steps S50 → S51).
[0094]
Next, the output means 23 instructs the I / O adapter 10 to output the data of the block stored at the output address acquired as described above, and the I / O adapter 10 that has received this instruction Are reconstructed into stream data and output to an application or the like (not shown) (step S52 in FIG. 18). As a result, the application or the like starts to reproduce the stream data.
[0095]
When the output is completed, the output unit 23 wakes up, and the output unit 23 wakes up in this way notifies the reproduction buffer manager 19 that the output of the stream data is completed, and reads and manages a value indicating the completion of the stream data output. The queue 21 is set (FIG. 18, steps S53 → S54).
[0096]
Here, when the output is completed, an empty area for one block is created in the reproduction buffer 20. Accordingly, the output means 23 wakes up the reading means 22 at the time point (FIG. 18, step S55), and the reading means 22 that wakes up in this way acquires the address of the vacant area (FIG. 17, steps S42 → S31). In this way, it is possible to always read from the empty area of the reproduction buffer 20.
[0097]
[Recovery procedure 1]
A procedure for restoring the file management information using the search information when the file management information is destroyed due to some inconvenience will be described below with reference to the flowcharts shown in FIGS.
[0098]
First, when the user inputs an instruction for recovery conditions described below, the recovery means 114 sets the status status for authenticating the status to [free space], sets the frame counter (counter for counting the number of blocks) to 0, and The empty area first frame and stream first frame are initialized to zero. This set value is stored in a predetermined area of the memory 5 (FIG. 19, steps S60 → S61).
[0099]
In the present invention, the date information and the creator information are stored in the search information structure 231. Therefore, as the restoration condition, for example, “restore streams after M / D in Y year” Enter the date and conditions related to the creator, such as “Restore only the created stream data”.
[0100]
Next, the recovery means 114 stores the first search information in the hard disk 4 (1).Structure231 is read and it is confirmed whether or not the search information authentication character string is stored in the information read in this way (FIG. 19, steps S62 → S63 → S64).
[0101]
The recovery means 114 that has confirmed that the authentication character string is stored checks whether or not the status is [free space], and if it is [free space], whether the serial number is 0 or not. That is, it is determined whether or not the first retrieval information storage structure 231 has been read. Here, at the stage where the first search information storage structure 231 is read out, the date information and creator information stored in the search information structure 231 satisfy the recovery conditions instructed and input as described above. After confirming this, the value of the frame counter is set to the value of the first frame of the frame area, and the status state is set to [stream area] (FIG. 19, step S64: Yes → FIG. 20, steps S65-0 → S65-1). → S65-2 → S65-3 → S65 → S65-41 → S65-42).
[0102]
Next, the restoration unit 114 counts up the frame counter and reads the next search information storage structure 231 (step S66 in FIG. 19).
After confirming that the serial number stored in the retrieval information structure 231 read in this way is serialized (previous serial number + 1), whether or not the end block flag is set in the retrieval information structure 231 (FIG. 19, steps S66 → S62 → S63 → S64 → FIG. 20, steps S65-5 → S65-6).
[0103]
When the end block flag is set, the current frame counter value is set as the stream area end frame value, and the first frame value and end frame value are notified to the file management unit 112 (FIG. 20, step). S65-71 → S65-72). As a result, the file management unit 112 can create a storm information structure 223 for the area (I) in FIG.
[0104]
At this time, since the free area start frame = 0 and the stream area start frame = 0, a negative answer is obtained at the stage of comparing the two, and the value of the free area start frame is the current frame counter value + 1 (= α The status is set to [free space] (step S65-73 No.fwdarw.S65-76.fwdarw.S65-77).
[0105]
By the way, different data is overwritten on the hard disk several times. Therefore, some unnecessary data may be written as in the area (II) in FIG. Here, it is assumed that the silus number of the search information at the head of the unnecessary data is not 0 and the end block flag is not set.
[0106]
In this case, a procedure for acquiring search information continuously from the region (I) to the region (II) will be considered. As described above, at the stage after the storm information structure 223 of the region (I) is created, the status is set to [free space] (S65-76). Next, the search information of the next block is repeatedly acquired through the frame counter count-up stage (S66). Further, when the search information of the first block of the stream area in the area (III) in FIG. 21 (a) is obtained, the value of the frame counter (= β) at this time is the value of the first frame of the stream area. And the status is set to [stream area] (steps S65-41 and S65-42).
[0107]
Next, the routine on the right side of FIG. 20 is repeated, and when the end block flag is set, the stream information structure 223 is created as described above (step S65-62). At this time, since the empty area head frame area = α and the stream area head frame = β, the empty area end frame is set as β−1, the empty area start frame α, and the empty area end frame β−. 1 is notified to the file management unit 112 to create a free area structure 224 for the area (II) (step S65-73 Yes → S65-74 → S65-75).
[0108]
As shown in FIG. 21 (b), even if there is an area (IIb) where the serial number of the stream starts with 0 in the area (II), the status becomes [stream area] in this area (IIb). 20, step S65-42), and thereafter, the routine of S65-6 No-> S66 in FIG. 20 is repeated. Further, the stream area head frame is again updated (= β) with the head frame of area (III) (steps S65-5 → S65-8 → S65-1 to S65-42), and then the stream of area (III) After the information structure 223 is created, the area (II) empty area structure 224 is created.
[0109]
The above procedure is executed for all sectors, and the stream information structure 223 for all stream data satisfying the recovery conditions can be generated in the hard disks 4 (1) to (4).
[0110]
When the status for all sectors is completed and the status is “empty area”, the empty area head frame set in step S65-76 is set with the frame counter value −1 as the value of the empty area end frame. (Or the initial setting of 0) is notified to the file management unit 112. Based on this, the file management unit 112 creates a free space structure 224 (steps S67 to S69).
[0111]
Next, the recovery unit 114 generates a free space information structure 224 based on the stream information structure 223 generated as described above. That is, the area specified by the stream information structure 223 is an area (stream area) where stream data is recorded. Therefore, if an area other than the stream area is an empty area, all the empty area information structures 224 are stored. Can be generated.
[0112]
As described above, according to the present embodiment, since the stream data is recorded by adding the search information including date information and creator information, the file management information is set based on the date and the creator. It can be recovered.
[0113]
Furthermore, according to this recovery method, the latest stream data can also be recovered unlike the case of the recovery procedure 2 described below.
[Recovery procedure 2]
Hereinafter, the procedure for recovering the destroyed file management information using the divided storage information will be described with reference to the flowcharts shown in FIGS.
[0114]
First, when the user inputs an instruction to start the recovery procedure, the recovery unit 114 initializes the status number (sets 0), stores the status number in a predetermined area of the memory 5, and then determines the read start sector. (FIG. 22, steps S70 → S71).
[0115]
The read start sector is the head sector of the divided storage information storage sector 202 (total number m) that stores the divided storage information to be restored, and the “sector of the stream information structure 223 stored in the latest stream information storage sector 200 is“ This is the sector specified by the “first sector address”.
[0116]
Next, the recovery unit 114 reads the read start sector determined as described above, and confirms whether or not the divided storage information authentication character string is stored in the information thus read (FIG. 22, steps S72 → S73). → S74).
[0117]
The recovery unit 114 that has confirmed that the authentication character string is stored has the latest version of the file management format type information stored in the divided storage information structure 241 (information currently managed by the file management unit 112 and After confirming that the information is the same version), it is confirmed that the sector serial number stored in the divided storage information structure 241 is 1 (step S74 in FIG. 22: Yes → step S75-1 in FIG. 23). → S75-2).
[0118]
The recovery means 114 that has confirmed that the sector serial number is 1 calculates “sector size × total number of sectors” based on the information set in the “total number of sectors area” of the divided storage information structure 241. The area of the size obtained by this calculation is secured in the memory 5 (FIG. 23, step S75-2: Yes → S75-3). Hereinafter, the memory area secured in this way is represented as memory areas (1) to (m).
[0119]
Next, the restoration means 114 copies the first divided storage information structure 241 to the memory area (1) secured as described above, and then sets 1 to the status number (FIG. 23, steps S75-4 → S75- Five).
[0120]
Further, after the recovery unit 114 reads the divided storage information structure 241 from the next divided storage information storage sector 202 and confirms the file management format type and the sector serial number for the divided storage information structure 241 thus read, The divided storage information structure 241 is copied to the memory area (2) (steps S72 → S73 → S74 → FIG. 23 steps S75-6 → S75-7 → S75-8 in FIG. 22).
[0121]
The above procedure is repeated (step S72 → S73 → S74 → FIG. 23 step S75-6 → S75-7 → S75-8 → S75-9: No → step S72 in FIG. 22), “sector serial number = total number of sectors”. (Step S75-9: Yes in FIG. 23), the process is terminated.
[0122]
As a result, all the divided storage information structures 241 are stored in the memory areas (1) to (m), and the data (files) stored in the data storage areas of these divided storage information structures 241 are stored. All file management information can be recovered by passing the management information to any of the four types of structures that are management information).
[0123]
Here, the description has been made on the assumption that all of the four types of structures that are file management information are smaller in size than the data storage area of the divided storage information structure 241. When the size is larger than the area, the data stored in the plurality of data storage areas are combined to restore one structure. It is clear from the configuration of the divided storage information structure 241 (“structure division number” “structure division serial number”) that such a connection is possible.
[0124]
In addition, since the file management information is generated by the file management unit 112 after a certain file is stored in the recording medium, the latest stream information includes the file of the stream immediately before storing the latest stream information. Management information is divided and stored. Therefore, according to this recovery method, the latest stream data cannot be recovered.
[0125]
In addition, although the two recovery procedures have been described separately here, it goes without saying that these recovery procedures may be used in combination.
(Second Embodiment)
In this embodiment, in order to prevent deterioration in recording performance and reproduction performance of stream data, a defective area detection procedure described below is periodically performed.
[0126]
[Bad area detection procedure]
When it is necessary to start the defective area detection process, for example, when the user inputs an instruction to detect a defective area, the defective area detection unit 115 wakes up under the control of the CPU 9, and the defective area detection unit thus wakes up. 115 first reads out the first access time history information storage sectors 203 and 204 in the hard disk 4 (1), and confirms whether or not the access time history information authentication character string is stored in the information thus read ( FIG. 24, steps S80 → S81 → S82).
[0127]
The defective area detection means 115 which has confirmed that the authentication character string is stored extracts the latest sample times from the access time history information structure by a predetermined number (for example, 5), and extracts each of the extracted times. The magnitude relationship between the sample time and the maximum access time (set value) is examined (FIG. 24, steps S82 → S83).
[0128]
The maximum access time is determined based on the block size and hard disk performance. For example, when the block size is 120 KB and the hard disk has high performance (for AV use), the maximum access time is preferably set to a value of about 0.03 seconds.
[0129]
Here, when all the sample times are smaller than the maximum access time, the defective area detection means 115 reads the next access time history information storage sectors 203 and 204 (FIG. 24, step S84: No → S80 → S81).
[0130]
On the other hand, if any of the above sample times is larger than the maximum access time, the defective area detecting unit 115 determines that the block is a defective block, and generates a defective block structure 261 (see FIG. 10) in the memory 5. After transferring the bad block structure 261 to the file management unit 112, the next access time history information storage sector is read (FIG. 24, step S84: Yes → S85 → S80 → S81). The file management unit 112 that has received the bad block structure 261 registers the bad block structure 261 as file management information.
[0131]
When the above procedure is completed for all access time history information storage sectors 203 and 204 in the hard disks 4 (1) to (4) (FIG. 24, step S80: Yes), the defective area detection process is terminated.
[0132]
As the access time history information, either read time history information or write time history information may be used. Moreover, you may use both simultaneously.
[Recording procedure]
In the recording process in the present embodiment, stream data is recorded avoiding the defective blocks detected as described above, and the procedure will be described below with reference to the flowchart shown in FIG.
[0133]
The writing means 18 that has acquired the free space start address in each hard disk 4 (k) in the same procedure as in the first embodiment designates this start address and determines whether or not a defective block exists. The file management unit 112 that has received the inquiry returns information on the defective block (defective block structure 261) to the writing means 18 if there is a defective block behind the head address (FIG. 25, FIG. 25). Step S90 → S91).
[0134]
The procedure until the writing means 18 obtains the write address from the recording buffer manager 16 (FIG. 25, steps S92 → S93 → S94 → S95) is the same as that in the first embodiment, and the description thereof will be omitted. The write command issuance procedure (FIG. 25, S96) will be described in detail below with reference to the flowchart shown in FIG.
[0135]
First, the writing means 18 determines whether or not the write command is the first write command, and when it is determined that the write command is the first write command (when the access time history information is not written), Whether or not there is a defective block in a predetermined area of the hard disk 4 (k) to be written is determined based on the entire defective block structure 261 acquired as described above (FIG. 26, step S96-1: Yes). → S96-8).
[0136]
Next, when it is determined that there is no defective block, the writing means 18 issues a write command in the same procedure as in the first embodiment (FIG. 26, step S96-8: Yes → S96-9). → S96-10). If it is determined that a defective block exists, a write command is issued for the defective block portion by designating an address obtained by adding one memory block to the write address on the hard disk (FIG. 26, step S96-). 8: No → S96-11 → S96-9 → S96-10).
[0137]
On the other hand, when it is determined that the write command is a write command for the second time or later (when the access time history information is written), the writing means 18 first determines that the bad block does not exist, It is determined based on all defective block structures 261 whether or not there is a defective block in a predetermined area of the hard disk 4 (k) to be written (FIG. 26, step S96-1: No → S96-2).
[0138]
Next, when it is determined that there is no defective block, the writing means 18 issues a write command in the same procedure as in the first embodiment (FIG. 26, step S96-2: No → S96-3). → S96-4 → S96-5). If it is determined that there is a bad block, access time history information is temporarily stored in the memory 5 as delayed write information (to be described later) in order to prevent a decrease in recording performance, and then 1 memory is stored at the write address on the hard disk. A write command is issued by specifying an address obtained by adding blocks. (FIG. 26, step S96-2: Yes → S96-6 → S96-7 → S96-4 → S96-5).
[0139]
Here, as shown in FIG. 28 (a), block data (including the search information structure 231 and the divided storage information structure 241) Bd2Block data Bd at the beginning of1Access time history information Ah1In the state in which is written along with the block data Bd1And its access time history information Ah1Has continuity. However, if a write command is issued by specifying the address added as described above, the access time history information Ah1And block data Bd1Are present across the defective block Bn, and physical continuity cannot be maintained.
[0140]
Therefore, if the above continuity is to be maintained, first, the block data Bd1Access time history information Ah1Block data Bd1After writing to the back of the block data Bd2Is written after the bad block Bn, but in this procedure, the number of write instructions increases, and the recording performance of the data stream decreases. Therefore, in the present invention, as shown in FIG.1Is temporarily stored in the memory 5 as delayed write information (FIG. 26, S96-6), and the delayed write information temporarily stored in this way is stored in the corresponding block data Bd after the data stream input is completed.1This is the procedure for writing after (FIG. 25, S103). In this way, the block data Bd2Recording performance does not deteriorate because a single write command is sufficient to write.
[0141]
The subsequent procedure is the same as that of the first embodiment except that the step of writing the delayed write information (FIG. 25, step S103) is added, and the description thereof will be omitted.
[0142]
As described above, according to the recording process in the present embodiment, it is possible to record stream data while avoiding defective blocks by acquiring information on defective blocks in advance.
[Reproduction procedure]
Hereinafter, the procedure for reproducing the stream data recorded while avoiding the defective block as described above will be described with reference to the flowchart shown in FIG.
[0143]
The reading unit 22 that has acquired the read head address in the same procedure as in the first embodiment inquires the file management unit 112 whether or not there is a bad block by designating this read head address, and makes this inquiry. The received file management unit 112 returns information on the defective block (defective block structure) to the reading unit 22 if there is a defective block behind the read head address (FIG. 27, steps S110 → S111).
[0144]
The procedure until the reading means 22 obtains the storage address from the reproduction buffer manager 19 (FIG. 27, step S113: Yes) is the same as that in the first embodiment, so that the description thereof will be omitted. Explain the procedure.
[0145]
First, the reading unit 22 determines whether or not there is a defective block in a predetermined area of the hard disk 4 (k) to be read based on the entire defective block structure 261 acquired as described above (FIG. 27). Step S116).
[0146]
Next, when it is determined that there is no defective block, the reading unit 22 issues a read command in the same procedure as in the first embodiment (FIG. 27, step S116: Yes → S118 → S119), If it is determined that a bad block exists, a read command is issued by designating an address obtained by adding one memory block to the write address acquired as described above (FIG. 27, step S116: No → S117 → S118 → S119).
[0147]
Subsequent procedures are the same as those in the first embodiment, and a description thereof will be omitted.
[0148]
As described above, according to the reproduction procedure in the present embodiment, it is possible to reproduce the stream data recorded while avoiding the defective blocks as described above.
[0149]
In the above, access time history information (read time history information and write time history information) is used as a criterion for determining access performance of the hard disk. However, for example, the number of bad sectors included in one block may be used. In addition, although the reference access time is one type (0.03 seconds in the above example), a plurality of standards are set, and each standard is set to an application that requires particularly high-speed access at a certain speed. It may be used for an application that requires access, or an application that does not require a high-speed access. In this case, at the stage of the defective block structure generation process of FIG. 24 (step S85), levels corresponding to the plurality of criteria are written in the defective block structure, and the stage of defective block information income shown in FIG. In S91), a block having a predetermined level or less may be determined as a bad block according to the access speed required by the application to be used.
[0150]
In addition, the file management unit 112 manages file management information stored in a second recording medium. The second recording medium is normally a hard disk, but is not limited to a hard disk, and a non-volatile storage medium having a small capacity such as a flash memory may be used.
[0151]
【The invention's effect】
According to the restoration procedure 1, since search information is additionally recorded in the remaining area of the last sector in which the block is recorded, it is not necessary to separately prepare an area on the hard disk for recording the search information. Further, it is possible to restore only desired file management information by specifying a restoration condition. In this case, the file management information of the latest stream data stored can be recovered.
[0152]
According to the restoration procedure 2, the divided storage information is additionally recorded in parallel with the stream data recording process, so that the user does not need to consciously perform the backup process. Further, since it is only necessary to read out the sector in which the divided storage information is stored, and the reading process is terminated when the necessary information is confirmed, the file management information can be restored at a higher speed than in the restoration procedure 1.
[0153]
According to the second embodiment, the history information of the time required for writing the block, the history information of the time required for reading, or the access history information such as the number of bad sectors in the block is added to the block. Therefore, the performance of writing and reading performance for each block with respect to a predetermined address of the hard disk can be confirmed, and as a result, a defective area of the hard disk can be detected. Further, since the stream data is recorded while avoiding the defective area detected in this way, an overflow error that occurs when the recording speed becomes slower than the data input speed can be prevented. Furthermore, since the record of access time history information for the block immediately before the bad block is temporarily stored as delay record information and recorded at the end of the recording of a series of stream data, the stream data is not reduced. Can be recorded.
[0154]
If the defect level of a certain block is set based on the access history information, the defect level can be properly used according to the request of the application. As described above, the data management apparatus of the present invention does not manage files via a file system supported by the operating system in order to realize high-speed and seamless data recording / reproduction, but independently manages the files. After adopting the configuration, it has a recovery function and a defective area detection function.
[Brief description of the drawings]
FIG. 1 is a schematic functional block diagram of a data management apparatus according to a first embodiment.
FIG. 2 is a schematic functional block diagram of a data management apparatus according to a second embodiment.
FIG. 3 is an explanatory diagram of a recording format.
FIG. 4 is an explanatory diagram of a recording control unit.
FIG. 5 is an explanatory diagram of a reproduction control unit.
FIG. 6 is a configuration example of file management information.
FIG. 7 is a configuration example of search information.
FIG. 8 is a configuration example of divided storage information.
FIG. 9 is a configuration example of access time history information.
FIG. 10 is a configuration example of defective area information.
FIG. 11 is a diagram showing details of one memory block in a recording buffer.
FIG. 12 is a diagram showing details of one memory block in a reproduction buffer.
FIG. 13 is a flowchart illustrating an input processing procedure.
FIG. 14 is a flowchart illustrating a write processing procedure according to the first embodiment.
FIG. 15 is a flowchart showing a write command issue procedure in the first embodiment;
FIG. 16 is a flowchart showing a procedure for generating access time history information.
FIG. 17 is a flowchart illustrating a read processing procedure according to the first embodiment.
FIG. 18 is a flowchart illustrating an output processing procedure.
FIG. 19 is a flowchart showing a recovery processing procedure based on search information.
FIG. 20 is a flowchart showing a part of a restoration processing procedure based on search information.
FIG. 21 is a diagram illustrating a recovery processing state based on search information.
FIG. 22 is a flowchart showing a restoration processing procedure based on divided storage information.
FIG. 23 is a flowchart showing a part of a restoration processing procedure based on divided storage information.
FIG. 24 is a flowchart showing a defective area detection processing procedure;
FIG. 25 is a flowchart illustrating a write processing procedure according to the second embodiment.
FIG. 26 is a flowchart showing a write command issue procedure in the second embodiment;
FIG. 27 is a flowchart illustrating a read processing procedure according to the second embodiment.
FIG. 28 is an explanatory diagram illustrating a recording state according to the second embodiment.
FIG. 29 is a schematic functional block diagram of a conventional data management apparatus.
FIG. 30 is a conceptual diagram of recording processing.
[Explanation of symbols]
1 PCI bus
2 SCSI adapter
3 SCSI bus
4 Hard disk
5 memory
6 Controller
7 Buffer
8 Computer
9 CPU
10 I / O adapter
11 Control unit
14 Recording buffer
15 Record management queue
16 Recording buffer manager
17 Input means
18 Writing means
19 Playback buffer manager
20 Playback buffer
21 Read management queue
22 Reading means
23 Output means
111 Recording control unit
112 File Management Department
113 Playback control unit
114 Recovery measures
115 Defective area detecting means
200 Latest stream information storage sector
201 Search information storage sector
202 Division save information storage sector
203 Write time history information storage sector
204 Read time history information storage sector
231 Search information structure
241 Division save information structure
251 Write time history information structure
252 Read time history information structure
261 Bad block structure

Claims (10)

ストリームデータを固定サイズのデータブロックに分割し、上記分割した固定サイズのデータブロックを特定する検索情報を上記分割した固定サイズのデータブロックのそれぞれに対応して生成し、上記生成した検索情報のそれぞれが対応する固定サイズのデータブロックと関連付けるように、上記固定サイズのデータブロックと、上記固定サイズのデータブロックに対応する検索情報とを上記第1の記録媒体記録する記録制御部と、
上記ストリームデータを特定するファイル管理情報に基づいて上記第1の記録媒体に記録されたストリームデータを管理するファイル管理部と、
上記ファイル管理情報の復旧要求が出たときに上記第1の記録媒体に記録したストリームデータを分割した固定サイズのデータブロックのそれぞれに対応する検索情報に基づいて当該ファイル管理情報を復旧する復旧部とを備え、
上記第1の記録媒体は固定量のデータを記憶するための複数のセクタを備えており、
上記記録制御部は上記第1の記録媒体に記録したストリームデータを分割した固定サイズのデータブロックはそれぞれ、上記セクタをN個(Nは2以上の整数)含み、かつ、上記固定サイズのデータブロックのそれぞれに含まれるN個のセクタのうち、最後のセクタの余りの領域に、上記固定サイズのデータブロックに対応する検索情報を記録し、
上記データブロックの固定サイズの大きさは上記セクタを(N−1)個用いたときよりも大きく、かつ上記セクタをN個用いたときよりも小さいことを特徴とするストリームデータ管理装置。
The stream data is divided into fixed-size data blocks, search information for identifying the divided fixed-size data blocks is generated corresponding to each of the divided fixed-size data blocks, and each of the generated search information A recording control unit that records the fixed-size data block and search information corresponding to the fixed-size data block on the first recording medium , so as to associate with the corresponding fixed-size data block ,
A file management unit for managing stream data recorded on the first recording medium based on file management information for specifying the stream data;
A recovery unit that recovers the file management information based on search information corresponding to each of the fixed-size data blocks obtained by dividing the stream data recorded on the first recording medium when the file management information recovery request is issued And
The first recording medium includes a plurality of sectors for storing a fixed amount of data,
Each of the fixed size data blocks obtained by dividing the stream data recorded on the first recording medium includes N sectors (N is an integer of 2 or more) , and the fixed size data block Search information corresponding to the fixed-size data block is recorded in the remaining area of the last sector among the N sectors included in each of the
A stream data management apparatus characterized in that the fixed size of the data block is larger than when (N-1) sectors are used and smaller than when N sectors are used .
上記ファイル管理情報が、上記第1の記録媒体とは別の、第2の記録媒体に記録されていることを特徴とする請求項1記載のストリームデータ管理装置。2. The stream data management apparatus according to claim 1, wherein the file management information is recorded on a second recording medium different from the first recording medium. 記検索情報がシリアル番号、日付情報、認証情報、作成者情報のうちの少なくとも1つであることを特徴とする請求項1に記載のストリームデータ管理装置。 Above Symbol Search Information serial number, date information, authentication information, stream data management apparatus according to claim 1, wherein at least is one of the creator information. 上記第1の記録媒体は固定量のデータを記憶するための複数のセクタを備えており、
上記記録制御部は対応するデータブロックに含まれる最後のセクタに続1のセクタに上記検索情報を更に記録する請求項3に記載のストリームデータ管理装置。
The first recording medium includes a plurality of sectors for storing a fixed amount of data,
The recording control unit stream data management apparatus according to claim 3, further recording the retrieval information to continue Ku first sector to the last sector included in the corresponding data block.
ストリームデータを固定サイズのデータブロックに分割し、上記分割した固定サイズのデータブロックを特定する検索情報を上記分割した固定サイズのデータブロックのそれぞれに対応して生成し、 上記生成した検索情報のそれぞれが対応する固定サイズのデータブロックと関連付けるように、上記固定サイズのデータブロックと、上記固定サイズのデータブロックに対応する検索情報とを上記第1の記録媒体記録する記録制御ステップと、
上記ストリームデータを特定するファイル管理情報に基づいて上記第1の記録媒体に記録されたストリームデータを管理するファイル管理ステップと、
上記ファイル管理情報の復旧要求が出たときに上記第1の記録媒体に記録したストリームデータを分割した固定サイズのデータブロックのそれぞれに対応する検索情報に基づいて当該ファイル管理情報を復旧する復旧ステップとを備え、
上記第1の記録媒体は固定量のデータを記憶するための複数のセクタを備えており、
上記記録制御ステップは上記第1の記録媒体に記録したストリームデータを分割した固定サイズのデータブロックはそれぞれ、上記セクタをN個(Nは2以上の整数)含み、、かつ、上記固定サイズのデータブロックのそれぞれに含まれるN個のセクタのうち、最後のセクタの余りの領域に、上記固定サイズのデータブロックに対応する検索情報を記録し、
上記データブロックの固定サイズの大きさは上記セクタを(N−1)個用いたときよりも大きく、かつ上記セクタをN個用いたときよりも小さいことを特徴とするストリームデータ管理方法。
The stream data is divided into fixed-size data blocks, search information for identifying the divided fixed-size data blocks is generated corresponding to each of the divided fixed-size data blocks, and each of the generated search information A recording control step for recording the fixed-size data block and the search information corresponding to the fixed-size data block on the first recording medium so as to associate with the corresponding fixed-size data block ;
A file management step for managing stream data recorded on the first recording medium based on file management information for identifying the stream data;
A recovery step for recovering the file management information based on search information corresponding to each of the fixed-size data blocks obtained by dividing the stream data recorded on the first recording medium when the file management information recovery request is issued And
The first recording medium includes a plurality of sectors for storing a fixed amount of data,
In the recording control step, each fixed-size data block obtained by dividing the stream data recorded on the first recording medium includes N sectors (N is an integer of 2 or more) , and the fixed-size data Search information corresponding to the fixed-size data block is recorded in the remaining area of the last sector among the N sectors included in each block ,
A stream data management method, wherein the fixed size of the data block is larger than when (N-1) sectors are used and smaller than when N sectors are used .
上記ファイル管理情報が、上記第1の記録媒体とは別の、第2の記録媒体に記録されていることを特徴とする請求項記載のストリームデータ管理方法。6. The stream data management method according to claim 5 , wherein the file management information is recorded on a second recording medium different from the first recording medium. 上記検索情報がシリアル番号、日付情報、認証情報、作成者情報のうちの少なくとも1つであることを特徴とする請求項5に記載のスストリームデータ管理方法。6. The stream data management method according to claim 5, wherein the search information is at least one of serial number, date information, authentication information, and creator information. 上記第1の記録媒体は固定量のデータを記憶するための複数のセクタを備えており、
上記記録制御ステップは対応するデータブロックに含まれる最後のセクタに続1のセクタに上記検索情報を更に記録する請求項に記載のストリームデータ管理方法。
The first recording medium includes a plurality of sectors for storing a fixed amount of data,
The recording control step corresponding stream data management method of claim 7, further recording the retrieval information to continue Ku first sector to the last sector in the data block.
ストリームデータを固定サイズのデータブロックに分割し、上記分割した固定サイズのデータブロックを特定する検索情報を上記分割した固定サイズのデータブロックのそれぞれに対応して生成し、 上記生成した検索情報のそれぞれが対応する固定サイズのデータブロックと関連付けるように、上記固定サイズのデータブロックと、上記固定サイズのデータブロックに対応する検索情報とを上記第1の記録媒体記録する記録制御ステップと、
上記ストリームデータを特定するファイル管理情報に基づいて上記第1の記録媒体に記録されたストリームデータを管理するファイル管理ステップと、
上記ファイル管理情報の復旧要求が出たときに上記第1の記録媒体に記録したストリームデータを分割した固定サイズのデータブロックのそれぞれに対応する検索情報に基づいて当該ファイル管理情報を復旧する復旧ステップとを備え、
上記第1の記録媒体は固定量のデータを記憶するための複数のセクタを備えており、
上記記録制御ステップは上記第1の記録媒体に記録したストリームデータを分割した固定サイズのデータブロックはそれぞれ、上記セクタをN個(Nは2以上の整数)含み、、かつ、上記固定サイズのデータブロックのそれぞれに含まれるN個のセクタのうち、最後のセクタの余りの領域に、上記固定サイズのデータブロックに対応する検索情報を記録し、
上記データブロックの固定サイズの大きさは上記セクタを(N−1)個用いたときよりも大きく、かつ上記セクタをN個用いたときよりも小さいことを特徴とするプログラムを記録したプログラム記録媒体。
The stream data is divided into fixed-size data blocks, search information for identifying the divided fixed-size data blocks is generated corresponding to each of the divided fixed-size data blocks, and each of the generated search information A recording control step for recording the fixed-size data block and the search information corresponding to the fixed-size data block on the first recording medium so as to associate with the corresponding fixed-size data block ;
A file management step for managing stream data recorded on the first recording medium based on file management information for identifying the stream data;
A recovery step for recovering the file management information based on search information corresponding to each of the fixed-size data blocks obtained by dividing the stream data recorded on the first recording medium when the file management information recovery request is issued And
The first recording medium includes a plurality of sectors for storing a fixed amount of data,
In the recording control step, each fixed-size data block obtained by dividing the stream data recorded on the first recording medium includes N sectors (N is an integer of 2 or more) , and the fixed-size data Search information corresponding to the fixed-size data block is recorded in the remaining area of the last sector among the N sectors included in each block ,
A program recording medium having a program recorded thereon, wherein the fixed size of the data block is larger than when (N-1) sectors are used and smaller than when N sectors are used. .
上記検索情報がシリアル番号、日付情報、認証情報、作成者情報のうちの少なくとも1つであることを特徴とする請求項9記載のプログラ記録媒体。The search information is a serial number, date information, authentication information, program recording medium according to claim 9, wherein at least is one of the creator information.
JP2000145905A 1999-05-20 2000-05-18 Data management apparatus, data management method, and recording medium recording data management procedure Expired - Fee Related JP4365509B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000145905A JP4365509B2 (en) 1999-05-20 2000-05-18 Data management apparatus, data management method, and recording medium recording data management procedure

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP14036499 1999-05-20
JP11-140364 1999-05-20
JP2000145905A JP4365509B2 (en) 1999-05-20 2000-05-18 Data management apparatus, data management method, and recording medium recording data management procedure

Publications (3)

Publication Number Publication Date
JP2001036841A JP2001036841A (en) 2001-02-09
JP2001036841A5 JP2001036841A5 (en) 2007-06-07
JP4365509B2 true JP4365509B2 (en) 2009-11-18

Family

ID=26472903

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000145905A Expired - Fee Related JP4365509B2 (en) 1999-05-20 2000-05-18 Data management apparatus, data management method, and recording medium recording data management procedure

Country Status (1)

Country Link
JP (1) JP4365509B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4114318B2 (en) * 2000-12-26 2008-07-09 ソニー株式会社 Data recording method, data recording apparatus and recording medium
JP3898968B2 (en) 2002-03-15 2007-03-28 インターナショナル・ビジネス・マシーンズ・コーポレーション Information recording method and information recording system
US7580211B2 (en) * 2004-11-02 2009-08-25 Mediatek, Inc. DVD recording

Also Published As

Publication number Publication date
JP2001036841A (en) 2001-02-09

Similar Documents

Publication Publication Date Title
US6378031B1 (en) Data processing apparatus and file management method therefor
US7263589B2 (en) Apparatus and method for controlling booting operation of computer system
JP4199993B2 (en) How to get a snapshot
JP2002123421A (en) Remapping control method for flash memory and structure for flash memory therefor
US20050163014A1 (en) Duplicate data storing system, duplicate data storing method, and duplicate data storing program for storage device
US20080059736A1 (en) Storage system and backup method
US20070061540A1 (en) Data storage system using segmentable virtual volumes
JPH0823841B2 (en) Data processing system and method
JPH09160725A (en) Method and system for configuration management of mass storage device
JP2005018233A (en) Method for backing up data recorded in virtual storage medium, and backup device for data recorded in virtual storage medium
KR20000022716A (en) Efficient volume copy using pre-configuration of log structured target storage
JP4225378B2 (en) Replication apparatus, replication method, replication program, block identification information acquisition program, and recording medium
KR100982118B1 (en) Recording device, recording method, and recording medium
KR100224524B1 (en) Method for incrementally archiving primary storage to archive storage by utlizing both a partition archive status array and a partition map
US6754680B1 (en) Data control equipment, method to control data and recording medium to record data control procedure
JP4365509B2 (en) Data management apparatus, data management method, and recording medium recording data management procedure
US20070112722A1 (en) File system and file information processing method
JP4667225B2 (en) Control device and copy control method
JP2006323462A (en) File-copying device and file-copying method
JP2005506632A (en) Security device for mass storage devices
US20060143423A1 (en) Storage device, data processing method thereof, data processing program thereof, and data processing system
US6047360A (en) System and method of organizing and defragmenting audio events recorded on a storage medium
US20060026459A1 (en) Method and apparatus for storing data
JP2001101039A (en) Hierarchical storage managing device
JPS63217441A (en) Journal collecting system

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070413

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070413

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090507

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090706

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090729

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090821

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120828

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130828

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees