JP4086739B2 - データ記録装置および記録用プログラム - Google Patents

データ記録装置および記録用プログラム Download PDF

Info

Publication number
JP4086739B2
JP4086739B2 JP2003316112A JP2003316112A JP4086739B2 JP 4086739 B2 JP4086739 B2 JP 4086739B2 JP 2003316112 A JP2003316112 A JP 2003316112A JP 2003316112 A JP2003316112 A JP 2003316112A JP 4086739 B2 JP4086739 B2 JP 4086739B2
Authority
JP
Japan
Prior art keywords
data
time
management information
recording
information
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
JP2003316112A
Other languages
English (en)
Other versions
JP2005085360A (ja
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.)
Hitachi Zosen Corp
Original Assignee
Hitachi Zosen Corp
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 Hitachi Zosen Corp filed Critical Hitachi Zosen Corp
Priority to JP2003316112A priority Critical patent/JP4086739B2/ja
Publication of JP2005085360A publication Critical patent/JP2005085360A/ja
Application granted granted Critical
Publication of JP4086739B2 publication Critical patent/JP4086739B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Description

本発明は、ハードディスク、フレキシブルディスク、光磁気ディスクなどのランダムアクセスが可能な記録媒体を具備するデータ記録装置および上記記録媒体に対するデータ記録用プログラムに関する。
従来、ハードディスク、フレキシブルディスク、光磁気ディスクなどのランダムアクセスが可能な記録媒体を具備するデータ記録装置では、記録領域をセクタ単位で管理するファイルアロケーションテーブル(以下、FATと称する)方式が採用されており、その記録領域には、管理領域、ブート領域、FAT領域、ディレクトリ領域およびデータ領域が設けられている。そして、ディレクトリ領域およびデータ領域を管理するために、FATテーブルが用いられていた。例えば、FATテーブルを参照することにより、空いているデータ領域のセクタがランダムに指定されるとともに、この指定されたセクタにデータが記録されている。
ところで、このFAT方式では、複数のセクタに跨ってデータを記録する場合には、FAT領域のテーブルにそのデータの繋がりが記録されるが、必ずしも、連続したセクタには記録されずに、データ領域での空いているセクタにランダムに記録されていた。
雑誌「Interface」1998年9月号;「特集 ROM化とCPU非依存を目指す 移植性を重視したファイルシステムの作成法」 雑誌「Interface」2001年7月号;「特集 需要が高まるファイルシステムの実践的研究」
しかし、上述したFAT方式によると、一つの纏まったデータであってもランダムに記録されるため、読み書き用の磁気ヘッドのシーク動作の頻度が増加し、データ領域に対する磁気ヘッドのアクセス時間が長くなるという問題がある。
また、FAT領域が破壊された場合、記録媒体に記録された全てのデータの読み出しが不可能になるという問題もある。
そこで、本発明者等は、データ領域へのアクセス時間の短縮化を図り得るとともに、管理領域が破壊された場合でも、データ領域に記録されているデータを読み出し得る記録媒体におけるデータ記録方法およびデータ管理方法(特願2002−50592)を既に提案した。
この提案は、ランダムアクセス可能なセクタが多数形成されたディスク部のデータ領域にデータを記録する際に、各セクタに対して順序付けを行うとともに、この順序に従ってデータを記録するとともに、最終のセクタを越えてデータを記録する際に、先頭のセクタに戻り記録させるようにしたもので、この構成によると、管理領域が破壊された場合でも、データ領域に記録されているデータを読み出すことができる。
ところで、FATの問題の解決を試みた本発明者等による提案においても、データファイルを管理する情報として、記録開始の日付および時刻、並びに記録終了の日付および時刻を有しているが、長時間に亘り連続して記録された長時間ファイルにおいて、その一部分を参照したい場合であっても、その部分には、ファイルの最初から順番に読んでいかないとアクセスすることができないという問題があった。
そこで、本発明は、上述の長時間ファイルの最初(記録開始)と最後(記録終了)といった管理ではなく、記録データの管理単位を所定の時間幅に小さくすることで、管理単位をはるかに超える長時間の連続記録ファイルであっても、その一部分のデータを指定して取り出し得ることを第1の目的とする。
また、データ領域へのアクセス時間の短縮化を図り、管理領域が破壊された場合でも、記録媒体に記録された全てのデータの読出しを可能に記録することを第2の目的とする。
また、記録媒体の記憶容量を効率的に利用することを第3の目的とする。
さらに、複数の管理単位の記録データ群を一連のデータファイル(上述の長時間ファイルと同じ)として管理し得ることを第4の目的とする。
上記課題を解決するために、本発明の請求項1に係るデータ記録装置は、管理情報を記録する管理領域とデータを記録するデータ領域とを有し且つデータの記録および読出しをランダムアクセスで行い得るとともにアドレスとしての書込み位置情報により指定可能な単位記録領域が多数形成された記録媒体を有する記録手段が具備された記録装置であって、
受け取ったデータにヘッダ情報を付加してファイルを作成するとともに、当該作成されたファイル、ファイルサイズ並びにその作成日付および作成時刻からなる作成日時情報を出力する書込みファイル作成手段と、
この書込みファイル作成手段からファイル、ファイルサイズおよび作成日時情報を受け取り、当該ファイルを上記記録手段のデータ領域にアドレス順である位置情報順に書き込むとともに、このデータ領域に記録された記録データにアクセスするために必要なデータの書込み開始位置情報、書込み終了位置情報およびデータの作成日時情報からなる日時管理情報を上記管理領域に記憶させ、且つ当該日時管理情報の作成日時情報における日付単位または時刻単位でもってデータを管理するファイル記録・管理手段とを具備させたものである。
また、請求項2に係るデータ記録装置は、請求項1に記載の記録装置におけるファイル記録・管理手段により、先に受け取った先のファイルに連続して受け取った次のファイルにおける作成日時情報が、先のファイルの作成日時情報に一致する場合、上記先のファイルの作成日時情報でもって、先のファイルの書込み開始位置から次のファイルの書込み終了位置までのデータ領域を管理するようにしたものである。
また、請求項3に係るデータ記録装置は、請求項1または2に記載の記録装置において、日時管理情報が管理する範囲を、当該日時管理情報を作成した日時における管理の先頭となるファイルの書込み開始位置と管理の最後となるファイルの書込み終了位置としたものである。
また、請求項4に係るデータ記録装置は、請求項1乃至3のいずれか一項に記載の記録装置における書込みファイル作成手段に、作成したファイル、ファイルサイズおよび作成日時情報を出力する際に、関連する複数のファイルを一纏まりのデータ群として管理するための登録開始指令および登録終了指令を出力し得る出力機能を具備させ、
且つファイル記録・管理手段に、登録開始指令を受け取ったファイルの日時管理情報を登録開始位置にするとともに、登録終了指令を受け取ったファイルの日時管理情報を登録終了位置として、データ群管理情報に登録する登録機能を具備させたものである。
また、請求項5に係るデータ記録用プログラムは、請求項1に記載のデータ記録装置に具備されて、入力されたデータを記録媒体のデータ領域に記録させるとともにこのデータを管理する管理情報をその管理領域に作成するまたは作成済みのものを更新させるためのプログラムであって、
上記データ領域への記録を、領域を形成する複数の単位記録領域の位置情報順に行うデータ書込み機能と、
記録された記録データの管理を、時間単位ごとに管理する時間単位管理情報を作成するまたは作成済みのものを更新させる管理情報作成機能とを具備したものである。
また、請求項6に係るデータ記録用プログラムは、請求項5に記載の記録用プログラムにおけるデータ書込み機能に、前回書き込んだ記録データを含んでいない次の単位記録領域内の頭からデータを記録させる機能を具備させたものである。
また、請求項7に係るデータ記録用プログラムは、請求項5に記載の記録用プログラムにおける管理情報作成機能に、単位記録領域の位置情報およびその単位記録領域内の位置情報を管理情報とする時間単位管理情報を作成する機能を具備させ、
データ書込み機能に、単位記録領域内の任意位置からデータを記録するとともに、今回記録した記録データの書込み終了位置に基づき、次回書き込むための位置情報を保持することで、データ領域に隙間なくファイルを連続して記録させ得る機能を具備させたものである。
また、請求項8に係るデータ記録用プログラムは、請求項5または請求項6に記載のデータ記録用プログラムにおいて、データ群の登録開始指令を受け取った場合に、その時のデータを管理する時間単位管理情報を登録開始位置として記録するデータ群管理情報を作成するとともに、データ群の登録終了指令を受け取った場合に、その時のデータを管理する時間単位管理情報を登録終了位置として上記作成したデータ群管理情報に記録するデータ群管理情報作成機能を具備させたものである。
さらに、請求項9に係るデータ記録用プログラムは、請求項5乃至請求項8のいずれか一項に記載の記録用プログラムにおいて、データ領域への記録および/または管理領域への時間単位管理情報の作成が最後部に達したときに、次回から、その領域の先頭に戻り上書きを行う上書き機能と、
この上書き機能により、データが上書きされた場合、当該上書きに係る単位管理領域を管理する日時管理情報の書込み開始位置を、上書きされた最後部におけるデータの日時管理情報の次の位置情報に更新する更新処理機能とを具備させたものである。
請求項1〜請求項3および請求項5の構成によると、データを、日時間隔単位で管理しているため、管理単位よりもはるかに長時間の連続記録データの途中であっても、データを取り出すことができる(第1の目的)。
また、記録データが固定長である場合においては、データ領域が始まる単位記録領域のアドレスを事前に定めておくことで、単位記録領域の記録容量と記録データのデータサイズから、データ領域の一部データが破壊されている場合であっても、破壊されていない部分のデータの再生を行うことができる(第2の目的)。
請求項6の構成によると、時間単位管理情報で管理する記録データの最初は常に単位記録領域内の頭から記録されることになり、記録データが可変長であり、所定のコードから常に始まりデータサイズを含む固定長フォーマットのヘッダ情報と記録データ本体からなる場合、あるいは記録データが固定長であり、所定のコードから常に始まりデータサイズを有しない固定長フォーマットのヘッダ情報と記録データ本体から成る場合においては、データ領域の先頭からアドレスの順番に単位記録領域を読み込みその領域の頭に上記コードがあれば記録データの先頭であることが判明し、データサイズから記録データが再生可能になる。同一の時間単位管理情報内に複数の記録データが存在する場合である場合でも、上記単位記録領域内の次の位置から次の記録データのヘッダ情報が始まるため次々と記録データを再生可能となる(第1と第2の目的)。
請求項1〜請求項3、請求項5および請求項7の構成によると、データを日時間隔単位で管理しているため、長時間の連続記録データの途中であっても、データを取り出すことができる他、記録媒体の記録容量を効率的に利用することができる(第1と第3の目的)。
請求項4および請求項8の構成によると、上記各効果に加えて、複数の管理単位の記録データ群を、一連のものとして、前述の長時間ファイルと同等に管理することができる(第1〜第4の目的)。
請求項9の構成によると、記録媒体をエンドレスに利用することができ、したがって記録媒体を効率的に使用することができる。
以下、本発明に係るデータ記録装置およびデータ記録用プログラムについて説明する。
[実施の形態1]
以下、本実施の形態1に係るデータ記録装置およびデータ記録用プログラムを、図1〜図19に基づき説明する。
まず、データ記録装置の概略構成を示す図1、およびプログラムにより実現されて所定の機能的動作を行う手段を示す図2に基づき説明する。
本実施の形態1に係るデータ記録装置1は、データの記憶と読出しを高速で行い得る作業用記憶手段(ランダムアクセスメモリ(RAM)が用いられる)2と、データの固定的な記録と読出しをランダムアクセスで行い得るとともに単位記録領域が多数形成された記録媒体(例えば、磁気ディスク)を有する記録手段(具体的には、ハードディスク(HDD)が用いられており、以下、ハードディスクとして説明する)3と、当該装置における各動作を行わせるプログラムを記憶したプログラム記憶手段(ROMに格納されている)4と、このプログラム記憶手段4にデータ通信可能に接続されるとともに操作手段5、表示手段6、時計手段7がそれぞれ接続された制御手段(処理手段ともいい、中央演算処理装置(CPU)を有する)8とが具備されたものであり、またこの制御手段8は、所定のプログラムが動作することにより、入出力手段11、書込みファイル作成手段12、ファイル読出し手段13、およびファイル記録・管理手段14としての機能が発揮される。この制御手段8を介して、外部の入力機器15および出力機器16との間でデータの受け渡しが行われる。
上記操作手段5は、データ記録装置1に設けられた操作パネル、マウス、キーボードなどであり、これにより入力操作の指示が行われる。
上記表示手段6は、操作手段5により操作された内容に対する応答を操作者に対して表示するものである。
上記時計手段7は、クロックを発生させるもので、これを参照することにより、動作時または処理時における年月日時分秒を求めることができる。
上記入力機器15は、ハードディスク3へ記録すべきデータを供給する手段であり、当該データ記録装置1への接続は、直接にまたはLANなどのネットワーク経由で接続される。ネットワーク経由の場合は、データ記録装置1がネットワーク接続に対応し得る構成にされる。以降、入力機器としてのビデオカメラが直接接続された場合について説明する。
上記出力機器16は、表示手段6と同じく操作手段5による操作内容に対する応答の表示を行い得るもの、または記録されたデータが画像の場合にはその画像の閲覧を行い得るもの、またはデータの受信をするための機器である場合は、直接にまたはLAN等のネットワーク経由で接続されるものであっても良い。ネットワーク経由の場合は、データ記録装置1がネットワーク接続に対応し得る構成になされる。以降、出力機器としてのモニタが直接接続された場合について説明する。
上記作業用記憶手段2には、図2に示すように、事前に定められたアドレスに基づき、「書込み元データバッファ」、「書込み日時」、「書込みファイル容量」、「インデックス指示」、「管理情報バッファ」、「出力指示」、「読出しデータバッファ」、「読出しデータ情報」、「出力情報」などの領域が割り当てられている。
「書込み元データバッファ」には、ハードディスク3に書き込むための記録データが記憶される。
「書込み日時」には、書込み元データバッファに記憶された記録データの作成日時情報が記憶される。
「書込みファイル容量」には、書込み元データバッファに記憶された記録データのデータサイズが記憶される。
「インデックス指示」には、イベントとしてのデータ群管理のための開始フラグ、停止フラグおよびイベントの識別情報を記憶する場所がそれぞれ重複しないように割り当てられている。
「管理情報バッファ」は、ハードディスク3の管理領域(後述する)から管理情報を読み出して一時的に記憶して更新または新規に作成するとともに、これら更新または新規作成された管理情報をハードディスク3の管理領域に記憶するためのバッファ領域である。
「出力指示」には、記録データの検索、そのリスト取得、前後データのシーク、記録データの選択(再生)などの記録データを読み出すための指示内容が書き込まれる。
「読出しデータバッファ」には、ハードディスク3のデータ領域24から読み出したデータ(読出しデータ)が記憶される。
「読出しデータ情報」には、読出しデータバッファに書き込まれたデータを取り出すための情報が記憶される。
「出力情報」には、ハードディスク3に記録された記録データを読み出す際の検索結果等のデータを選択するための情報が記憶される。
上記ハードディスク3は、一般的にその内部にファームウェアとも呼ばれるディスク側管理手段(記録手段側管理手段)21を有し、上記ファイル記録・管理手段14がこのディスク側管理手段21に指令を与えることにより、間接的に記録媒体22へのデータの書込みおよび読出しが行われる。なお、記録媒体22には、フォーマットによりアドレスで指定可能な所定の記録容量を有する複数のセクタ(単位記録領域の一例)が設けられ、上記ファイル記録・管理手段14がディスク側管理手段21にセクタのアドレスと書込みまたは読出しの指令を与えることにより、セクタ単位でランダムアクセスが行われる。
次に、ハードディスク3におけるデータの管理構造について説明する。
図2および図3に示すように、ハードディスク3に配置された記録媒体22には、管理情報が記録される管理領域23と、データが記録されるデータ領域24とが設けられ(図2および図3(a)参照)、さらに管理領域23には、以下に示す日時管理情報、データ群管理情報等にアクセスするための基本的な情報を含む総括的な基本管理情報を記憶する基本管理領域231と、データ領域24に記録された記録データにアクセスするために必要な読出し位置(書込み位置)およびデータ作成の日時情報を管理する日時管理情報を記憶する日時管理領域232と、イベントごとにその開始時および終了時の日時管理情報並びに登録開始日時情報を管理するデータ群管理情報を記憶するデータ群管理領域233とが具備されている(図3(b)参照)。
図3(c)および図4に示すように、上記基本管理領域231に記録される基本管理情報は、1セクタあたりの容量、記録媒体22の総セクタ数、図示省略の各ハードディスク別に与えられた識別番号(デバイス番号)等の基礎的情報を管理する「基礎データ」2311、上書き利用する場合の管理領域23やデータ領域24の上書き状態を表す情報(0:上書きなし、1:次回上書き、2:上書き中)を管理する「上書き利用データ」2312、データ領域24の一番古いデータの記録開始位置、一番新しいデータの記録開始位置、次に書き込むデータの記録開始位置等の情報を管理する「データ領域管理データ」2313、記録データを管理する時間単位の管理情報について、次回作成する管理情報の記録位置を示す番号(以下、管理情報の”番号”を識別性のあるものとして”ID”と称する)、現在の上書き状態で一番古い管理情報のIDとその管理情報を作成した日時、および現在の上書き状態で一番新しい管理情報のIDとその管理情報を作成した日時の情報を管理する「日時管理情報データ」2314、およびデータ群管理情報について、次回作成する管理情報の記録位置を示す番号(ID)、現在の上書き状態で一番古い管理情報のIDとその管理情報を登録した日時、現在の上書き状態で一番新しい管理情報のIDとその管理情報を登録した日時の情報を管理する「データ群管理情報データ」2315を有する。
なお、記録データを管理する時間単位は、例えば「日付」、「時」、「分」、「秒」等様々に適用可能であるが、日付よりも短い「時」、「分」、「秒」などの時間単位(所定の時間または所定の時間幅の一例で、管理時間単位でもある)で管理する場合には、日付および時刻の両方にてデータを検索するために、上記日時管理領域232を日付単位で管理する日付管理情報を記憶する「日付管理領域」2321と時刻単位で管理する時刻管理情報(時間単位管理情報)を記憶する「時刻管理領域」2322とに細分化し、それに伴い上記基本管理情報の「日時管理情報データ」2314を「日付管理情報データ」2314Dと「時刻管理情報データ」2314Tに細分化する(図3(d)、図4参照)。
したがって、上記日時管理情報データ2314で管理される“管理情報のID”とその“管理情報を作成した日時”は、細分化されたことにより、日付管理情報データ2314Dにおいては“日付管理情報のID”とその“作成日”と読み替え、また時刻管理情報データ2314Tにおいては“時刻管理情報のID”とその“作成時刻”と読み替えることになる。以上の各データを具体的に示すと、図4のようになる。
上記日時管理情報により、日付単位で管理する場合は、その日付において最初と最後に記録された記録データのデータ領域24における書込み開始位置とその日付情報とが管理される。また、時刻単位で記録データを管理する場合は、その時刻において最初と最後に記録された記録データのデータ領域24における書込み開始位置とその時刻情報とを時刻管理情報にて管理し、その日付において最初に記録された記録データの書込み開始位置が管理された時刻管理情報のIDと、その日付において最後に記録された記録データの書込み開始位置が管理された時刻管理情報のIDとその日付とを上記日付管理情報に基づき管理する。
以下、管理時間単位を「秒」単位とし、日付管理情報と秒単位の時刻管理情報とで記録データを管理するものとして説明する。
上述の日時管理情報(図5(a)および(b)参照)と記録データの書込み位置の関係について図示したものが図7である。図7(a)に示すように、日付管理情報はその日付で管理する時刻管理情報の範囲を最初と最後の時刻管理情報の番号(ID:位置)で管理するとともにその日付情報を有し、図7(b)に示すように、時刻管理情報は、その時刻で管理する記録データの範囲を最初と最後の書込み開始位置で管理するとともにその時刻情報を有している。図7(b)および(c)中のIDは、上述のとおりハードディスク3にアクセスするアドレスを求めるために利用される識別情報で、「管理情報のデータサイズ×ID/1セクタあたりの記憶容量」でアクセスするセクタとセクタ内のデータ位置を求め得るオフセットアドレスを求めるためのものであり、各領域の開始アドレス(開始セクタ番号)+オフセットアドレス(ID)でアクセスするセクタの位置が特定される。このオフセットは作業用記憶手段2においても同様に用いられる。一方、データ領域24のセクタ番号は、それ自体が記録媒体22の絶対的なセクタ番号を示すものであるが、図7(c)では便宜上データ領域24の開始アドレスから始まるローカルな識別番号(オフセットアドレス)を表示している。
なお、管理する範囲をその最初と最後の位置を記憶することにより特定しているが、これは後述するように、ファイル記録・管理手段14により、セクタのアドレスが大きくなる順番にて連続するセクタにデータが順次記録されるようにしているためである。
データ群管理情報は、図8に示すように、データ群管理領域233の先頭セクタ番号をID=0とし、IDを日時管理情報と同じくオフセットアドレスを求めるために利用している。つまり領域の開始アドレス(セクタ番号)+オフセットアドレス(ID)でアクセスする位置(セクタ番号)を特定することができる。図8(a)は或るイベントの開始と終了の時刻管理情報のIDを管理するもので、他にそのイベント開始の日時およびイベント情報の内容を有している。時刻単位、日付単位で管理されていた記録データを、或る時刻から或る時刻までという連続した範囲で管理することができる。
ところで、上記説明においては、ハードディスク3が一台である場合について説明したが、ハードディスク3を複数台備えることもできる。
図9(a)はハードディスク(HDD)が1台の場合の概略構成を示し、図9(b)および(c)はハードディスクが複数台である場合の概略構成を示しており、さらに図9(a)および(b)は、ハードディスク内の同じ記録媒体上に管理領域とデータ領域とをそれぞれ設けて、各ハードディスクで独立して管理する場合を示し、図9(c)は複数のハードディスクの管理情報を専門に記録するHDD0と、記録データを専門に記録するHDD1〜HDDhを備えた場合を示している。図9(c)の場合、HDD0はハードディスクに代えて、リフレッシュ動作なく電源を切っても長期にわたってデータを保持可能な半導体メモリ(記憶手段)を用いても良い。
以下、図9(b)に示すような構成の場合について説明する。
入出力手段11は、接続された機器ごとに下記のように機能する。但し、いずれか1つだけしか接続できないと言うわけではなく、通常は、接続対象機器ごとにインターフェースが設けられている。
(操作手段の場合)
操作手段5は、主に指令、選択、設定の場面で用いられ、記録の開始と停止、データ群管理を行うための登録の開始と終了、およびイベントの入力、記録データの検索、選択(再生)、日時(時計手段)の設定などが行われる。なお、上記イベントは、その記録期間を識別するための情報であって見出しのようなもので、その入力は直接入力するようにしても良いし、予め、ROM等のメモリに複数登録しておき選択するようにしておいても良い。入出力手段11は、この操作手段5による操作内容を判断し、その内容に応じて書込みファイル作成手段12、ファイル読出し手段13などに指令を発する。
(表示手段の場合)
表示手段6に対しては、操作手段5による操作内容の確認のための表示、選択肢の表示のための情報などを出力する。
(入力機器の場合)
入力機器15からのデータと管理のための付帯情報(データ作成日時、データサイズ)を、書込みファイル作成手段12を介して作業用記憶手段2に記憶する。
入力機器15がビデオカメラである場合、1秒間に数十コマの画像が入力されることになるが、アナログ入力の場合には、入出力手段11にて、各コマごとのデジタルデータに変換するとともに変換した時刻を時計手段7から取得して、デジタル化したデータとその容量、時刻を書込みファイル作成手段12に渡す。デジタル化したデータとその容量や作成日時が直接入力される場合には、そのまま利用する。1コマの画像を取得するたびに上記動作を行う。入力機器15がデータの他にデータサイズおよび作成日時を出力するものであれば、その受信したデータ、データサイズおよび作成日時を書込みファイル作成手段12にそのまま渡し、作業用記憶手段2に記録させる。
操作手段5から記録開始指令を受けている場合には、書込みファイル作成手段12に上記に加えて記録開始指令を与え、記録終了指令を受けている場合には、書込みファイル作成手段12に上記に加えて記録終了指令を与える。
操作手段5からデータ群管理登録開始指令とイベント内容とを受け取った場合にはそれらを、データ群管理登録終了指令を受け取った場合はそれを上記に加えて書込みファイル作成手段12に渡す。
(出力機器の場合)
出力機器16がモニタである場合には、ハードディスク3に記録されたデータ(ここではカメラ画像)を検索する場合の管理情報一覧や再生を開始した場合の再生画像を出力し、操作手段5の操作内容に従いファイル読出し手段13を通じてハードディスク3から管理情報や記録データを取得して一覧表示を行い、また再生したデータの表示を行う。
次に、上記書込みファイル作成手段12は、入出力手段11からデータとその付帯情報を受け取り作業用記憶手段2に記憶することになるが、データについては書込みデータバッファの頭から固定長のヘッダ情報のサイズ分だけ空けた位置を先頭に記憶する。付帯情報のうち、データサイズはヘッダ情報のサイズを加えたものをファイル容量として作業用記憶手段2の書込みファイル容量に記憶し、データ作成日時は書込み日時に記憶する。ヘッダ情報を上記付帯情報に基づき作成する場合には付帯情報の記憶の後に、固定情報としてROM等に登録されている場合は、それを読み出して最初から書き込んでおいても良い。ここでは固定コードから始まる固定長のヘッダ情報に上記データサイズを含めているものとする。このヘッダ情報とデータをあわせたものをここではファイルと称する。つまり、ファイル=ヘッダ情報+1コマの画像データである。
また、データ群管理登録の開始指令を受け取れば作業用記憶手段2のインデックス指示内の開始フラグ位置に「1」を記憶し、イベント内容を受け取れば同イベント内容の記憶位置に記憶する。同終了指令を受け取ればインデックス指示内の終了フラグ位置に「1」を記憶する。
上記作業用記憶手段2への記憶の終了後、入出力手段11から記録開始指令を受け取っていればファイル記録指示をファイル記録・管理手段14に対して発することになるが、これは記録終了指令を受けるまでの間については、上記と同様、入出力手段11から次のデータとその付帯情報を受け作業用記憶手段2に記憶するたびに自動的に発せられる。この時、ファイル記録・管理手段14から書込み終了報告を受けるのを待って次のデータの処理に移る。
上記ファイル読出し手段13は、入出力手段11からの「検索」などの指令を受け、その作業内容を作業用記憶手段2の「出力指示」を書き込んだ上で「出力指令」をファイル記録・管理手段14に発する。
次に、ファイル記録・管理手段14からの「準備完了報告」を受け取ると、作業用記憶手段2の「出力情報」または「読出しデータバッファ」および「読出しデータ情報」の内容を読み出し所定の処理を行った結果を入出力手段11に渡し、当該入出力手段11は表示手段6や出力機器16に出力を行う。
以下、ファイル記録・管理手段14の説明を行うが、ここでは、ファイル記録およびファイル読出しについての上記各手段での動作に加えて、装置の全体的なデータの記録および再生についても説明する。
上記ファイル記録・管理手段14は、ディスク側管理手段21とのやり取りによりハードディスク3へのデータの記録とハードディスク3からのデータの読み出しを行うが、記録データの管理は記録媒体22の管理領域23に管理情報を記憶して行うため、データの記録および読出しの双方で、作業用記憶手段2の管理情報バッファに必要な管理情報を読み込み、ハードディスク3へのアクセスの際に利用する。ハードディスク3のデータの管理構造は上述した通りであるが、管理情報バッファは各管理情報を展開できるように領域を細分化して利用している。
また、ファイル記録・管理手段14がハードディスク3へデータを記録する際、およびハードディスク3からデータを読み出す際には、ディスク側管理手段21が介在することになるが、以下、説明を簡略化するために、ディスク側管理手段21の説明については省略し、ファイル記録・管理手段14が恰も記録媒体22と直接アクセスしているかのように説明する。
(管理情報バッファの構造について)
管理情報バッファと記録媒体22上の各管理情報との関係を示したのが図10である。図10においては、複数接続されたハードディスク3のうちハードディスク0(HDD0)だけを示している。
基本管理情報バッファ(バッファA)では、管理可能なハードディスク3の数だけの基本管理情報を記憶可能な容量が確保され(添え字がHDDの番号)、日付管理情報バッファ(バッファB)では、日付管理情報が、「各ハードディスク3で管理する管理日数(n日)分」×「管理可能なハードディスク3の数」だけ記録可能な容量が確保され(添え字がHDDの番号)、時刻管理情報バッファ(バッファC)では、時刻管理情報を展開するものであり、記録データの再生時のデータ検索に用いるためのバッファC−1、データ記録時に用いるためのバッファC−2、データの上書きを判断する際に利用するバッファC−3を有し、バッファC−1用には少なくとも60秒×60分×24時間分の容量が確保され、バッファC−2とバッファC−3用にはそれぞれ少なくとも1秒分の容量が確保される(管理単位を「秒」にしているため)。データ群管理情報バッファ(バッファD)はデータ群管理情報を展開するものであり、記録データ再生時のデータ群管理情報の検索に用いるためのバッファD−1、データ記録時のデータ群管理登録に用いるためのバッファD−2、データの上書きを判断する際に利用するバッファD−3を有し、バッファD−1用にはデータ群管理情報を管理する最大数分の容量が確保され、バッファD−2およびバッファD−3用にはそれぞれ少なくともデータ群管理情報1つ分の容量が確保される。アクセスバッファ(バッファE)はアクセスしようとしているハードディスク3であるデバイスの番号(ハードディスクの番号)、アクセスを行う位置、データをデータ領域へ記憶するのに何セクタを要するかを示すセクタ数を管理するためのもので、それを管理できる容量が確保される。記録手段情報バッファ(バッファF)には、接続されているハードディスク3の台数とそれぞれの状態(正常・異常)を管理できる容量が確保される。
なお、ハードディスク3は1セクタ単位でデータを読み書きするため、作業用記憶手段2からハードディスク3へのデータ書込みやハードディスク3から作業用記憶手段2へのデータ書込みを迅速かつ効率良く行うために、バッファの容量はセクタ容量の整数倍に設定されている。
(電源投入後の初期化動作について)
次に、電源投入後の初期化動作について説明するが、ハードディスク3は事前にフォーマットされており、1セクタあたりの容量、記録媒体22の総セクタ数(ディスク総セクタ数)、ハードディスク3のデバイス番号が基礎データとして記憶されている。また、ROM等には作業用記憶手段2における各領域の初期値が記憶されているものとする。各管理領域の開始位置(セクタ番号)と終了位置(セクタ番号)およびデータ領域24の開始位置(セクタ番号)と終了位置(セクタ番号)についても、ROM等に記憶しておいても良く、また基本管理情報の基礎データとして保持させておいても良い。これらの位置を参照して書き込みおよび読み出しが行われる。図示しないが、ここでは、基礎データに各管理領域の開始位置と終了位置およびデータ領域の開始位置と終了位置が記憶されているものとする。フォーマット時に、データ領域管理データ2313の「次回書き込み位置」にデータ領域24での開始位置(セクタ番号)を書き込んでおく。なお、データ領域24での終了位置にセクタ番号が連続して所定記憶容量のデータ領域の予備が設けられるよう上記終了位置が定められているものとする。この予備の領域は、データ領域の末端部分で丁度データの記録が完了しないことに配慮したもので、上記末端部分から予備の領域にはみ出して記録可能にするためのものである。
以下、初期動作について説明する。
(1)ファイル記録・管理手段14は、電源が投入されると、各ハードディスク3へのアクセスを試みて、接続台数とそれぞれの状態(正常・異常)を把握した結果をバッファFへ書き込む。この時、正常状態のハードディスク3の各基本管理情報を読み出しそのハードディスク3の番号に該当するバッファAx(添え字xはハードディスクの番号と同じ)へ記憶する。これにより正常な全ハードディスク3の基本管理情報が作業用記憶手段2で参照可能となる。
(2)続いて、ファイル記録・管理手段14は、正常なハードディスク3の日時管理領域(ここでは日付管理領域)から全ての日時管理情報(ここでは日付管理情報)を読み出し、そのハードディスク3の番号に該当するバッファBx(添え字xはハードディスクの番号と同じ)へ記憶する。これにより、正常なハードディスク3の全日時管理情報(ここでは日付管理情報)が作業用記憶手段2で参照可能となる。
以降、各管理情報はバッファからハードディスク3へ記憶が行われる場合を除いて、特に断らない限り全て作業用記憶手段2上のバッファやその他の記憶領域の情報を参照し、バッファやその他の記憶領域の情報を作成、更新しているものとして説明を行う。
(3)次に、書き込みを行うハードディスク3を選択するが、これにはバッファAに書き込んだ各ハードディスク3の上書き利用データの「データ領域上書きフラグ」を参照する。フラグ=0は上書きなし、=1は次回上書き(現在、データ領域の最後まで書込み終了)、=2は上書き中を示す。優先順位は次のとおりである。
優先順位1:フラグ=2のHDD
優先順位2:フラグ=0のHDD
優先順位3:フラグ=1のHDD
フラグの値が同じものがあれば、日時管理情報データ2314の「開始日付」、「開始時刻」が古いものを優先し、それが同じであればハードディスク3の番号の小さいほうを優先する。
上記優先順位により書き込むハードディスクが決定すればそのハードディスクの番号、データ領域管理データの「次回書込み位置」をアクセスバッファEの「デバイス番号」と「アクセス位置(セクタ番号)」にそれぞれ書き込む(ここではデバイス番号=0番とする)。以下、ハードディスクを0番以外のものに変更する等特に断りがある以外は選択されたハードディスク0の管理情報とデータ領域へのアクセスとする。
(4)次に、日付管理情報データ「最終日付ID」の示すバッファBの日付管理情報が管理する時刻管理情報を、全てハードディスク3の時刻管理領域2322から読み出し、バッファC−1(検索用)に書き込む。
また、ハードディスク3のデータ群管理領域233からデータ群管理情報の最大管理数分の情報を全て読み出し、バッファD−1(検索用)に書き込む。
以上で、電源投入後の初期化動作が終了する。
次に、データの記録動作と読出しの動作を、プログラムにより実現される各手段にて発揮される機能に基づき説明する。
まず、データ記録の全体の流れについて説明する。
初期化動作後のデータ記録装置1の全体的な動作を以下のステップに示す。なお、上述した各手段における処理を一連の流れに沿って示したものでもある(図2および図11参照)。
(ステップA)
入力機器15であるビデオカメラから撮影映像(アナログ)が入力されるのを待ち、入力されるとステップBへ進む。
(ステップB)
入出力手段11は、1画面分(単位分)の映像データをデジタル化し、そのデータサイズを求め、デジタル化した日時情報を時計手段7から出力されたデータに基づき作成するとともに、デジタル化したデータ、データサイズおよび日時情報を書込みファイル作成手段12に渡す。操作手段5から記録開始指令、記録終了指令、データ群管理登録開始指令およびイベント内容、またはデータ群管理登録終了指令が入力された場合、それらも書込みファイル作成手段12に渡した後、ステップCに進む。
(ステップC)
入出力手段11より、デジタル化したデータ、データサイズおよび日時情報を受け取った書込みファイル作成手段12は、書込み元データバッファの先頭から固定長のヘッダ情報のサイズを空けた位置を先頭に上記データを書き込み、上記ヘッダ情報のサイズを上記データサイズに加えたものをファイル容量として作業用記憶手段2の書込みファイル容量に記憶し、上記日時情報を作業用記憶手段2の書込み日時に記憶した後、ステップDに進む。
(ステップD)
書込みファイル作成手段12は、入出力手段11からデータ群管理登録の開始指令とイベント内容とを受け取っていれば、それらを「インデックス指示」の所定の場所に書き込み、データ群管理登録の終了指令を受け取っていれば同じく「インデックス指示」の所定の場所に書き込んだ後、ステップEへ進む。いずれの指令も受け取っていなければ、何もしないで、ステップEへ進む。
(ステップE)
書込みファイル作成手段12は、操作手段5による操作に基づき入出力手段11から記録開始指令を受け取った後、記録終了指令を受け取るまでの間は、入出力手段11から書込みデータを受け取るたびに毎回ファイル記録指示をファイル記録・管理手段14に発することでステップFへ、それ以外はステップGへ進む。
(ステップF)
ファイル記録・管理手段14により書込み元データバッファのファイルがデータ領域24に記録され、「書込み日時」、「書込みファイル容量」、「インデックス指示」に記憶された内容に基づき管理情報が作成・更新され(詳細は後述)ファイル記録・管理手段14からの書込み終了報告を受けた後、ステップGへ進む。
(ステップG)
記録処理が終了する。
上述したステップA〜Gが一枚のカメラ画像(1コマ分)を記録する場合の一連の処理を示しており、ステップGで記録処理が終了すると、再びビデオカメラからデータが入力されるのを待つ状態(ステップA)となる。
ここで、ファイル記録・管理手段14での記録処理(ステップFの詳細)について、図12を参照して説明する。
なお、データ領域24へのデータの記録は、毎回指定されたセクタの先頭から行われるものとし、バッファEが保持するデータ領域内の次回書込みを行う位置とはセクタ番号を指すものとする。
(ステップ1)
次に示すように、作業用記憶手段2に記憶されたファイルをハードディスク3へ記録しデータ領域管理情報を更新する。
(1)ファイル記録指示を受け取ることにより、データ領域管理データ2313の「次回書込み位置」を取得し、アクセスバッファEの「アクセス位置(セクタ番号)」に書き込むとともにデータ領域管理データの「一番新しいデータ書込み位置」にも書き込む。「書込みファイル容量」を参照し、そのファイル容量分のデータを「書込み元データバッファ」の先頭から読み出し、上記「アクセス位置(セクタ番号)」を先頭にしてファイルを書き込む。
この書き込みは、具体的には基礎データ2311の「1セクタあたりの容量」を参照し、その「1セクタあたりの容量」で「書込みファイル容量」を割り(余りがあれば商に1を加算する)その結果をバッファE「セクタ数」に書き込み、「書込み元データバッファ」の先頭から「1セクタあたりの容量」分取り出し、求めたデータ領域のセクタに書き込み、以下に示す(2)に進む。
商が2以上の数字nであれば、アクセスバッファE「アクセス位置(セクタ番号)」に1を加算し、それにより求められるデータ領域のセクタに「書込み元データバッファ」から次の同容量分データを取り出して書き込む。これを書込み回数がnになるまで続けることで「書込みファイル容量」で指示された全てのデータをデータ領域に書き込むことができる。
(2)書き込んだファイルの容量に基づき、次回書き込むデータ領域の位置を求める。つまり、上記(1)で最後にアクセスしたアクセス位置がバッファEの「アクセス位置(セクタ番号)」にあるため、これに1を加えたものをデータ領域管理データ2313の「次回書込み位置」に書き込み、次回の書き込みに備える。但し、上記書き込んだ「アクセス位置(セクタ番号)」と「次回書込み位置」については、事前に定められたデータ領域の終了位置を超える場合にはともにデータ領域の開始位置(セクタ番号)が書き込まれ、この時上書き利用データの「データ領域上書きフラグ」が“0”であれば“1”に、“1”であれば“2”に更新する。
(ステップ2)
次に、ステップ1で書き込んだファイルの日付(「書込み日時」より取得)が現在記録・管理している記録データの管理日付(日付管理情報データの「終了日付」)と異なれば、新規に日付管理情報を作成するためにステップ2′へ進む。同じであればステップ3へ進む。
(ステップ2′)
次に示すように、バッファAの更新を行い、バッファBの新規作成を行う。
<バッファAの更新>
(1)日付管理情報データ2314の「開始日付ID」および「終了日付ID」が、「開始日付ID」=「終了日付ID」+1の関係にある場合は日付管理領域2321が既に上書きされ両IDが隣接していることを示し、また、「開始日付ID」=0かつ「終了日付ID」が事前に設定された最大値である場合はこれから上書きされることになる状態であって、つまり現状、全日付管理情報が読出し有効な状態であることを示す。これは日付管理情報データの「最新日付ID」=「開始日付ID」としても表れる。よって、ここでの日付管理情報の新規作成のために、現「開始日付ID」が新規の日付管理情報に供されて新「終了日付ID」となり、現「開始日付ID」+1が新「開始日付ID」となる。但し、1を加算することにより最大IDを超える場合は加算した結果を改めて“0”にして記憶する。この新「開始日付」が示す位置のバッファBの「日付」の内容を日付管理情報データの「開始日付」に書き込む。以上により記録データを管理する日付管理範囲の始まりが更新される。
(2)次に、日付管理情報データ2314の「最新日付ID」の内容を「終了日付ID」に書き込み、管理している期間(日付)の最後の位置情報を更新するとともに、日付管理情報データの「終了日付」に、書き込んだファイルの日付(「書込み日時」より取得)を書き込み更新する。以上により記録データを管理する日付管理範囲の終わりが更新される。
(3)次に、次回の日付更新に備えて「最新日付ID」の内容(番号=数字)に1を加算し更新する。但し、ROM等に事前に有している日付の最大管理番号を上記加算の結果が超えた場合、改めて「最新日付ID」を“0”に更新し、日付管理領域2321の先頭に設定する。
<バッファBの更新>
(4)「終了日付ID」が示す位置のバッファBの保持する情報「日付」に、書き込んだファイルの日付(「書込み日時」より取得)を書き込み更新する。
(5)バッファB「開始時刻ID」と「終了時刻ID」に時刻管理情報データ2314Tの「最新時刻ID」の内容が記録され、したがって新規の日付管理情報が作成されたことになる。
なお、ハードディスク3がフォーマットされた状態でデータ領域24にデータが記録されていない場合、つまり日付管理情報がはじめて作成された場合は、日付管理情報データの「開始日付」に上記(4)の日付を書き込む。
以上の処理後ステップ4′へ進む。
(ステップ3)
日付管理情報データ2314Dの「終了日付ID」が示す位置のバッファBに含まれる「終了時刻ID」が示す位置の時刻管理情報をハードディスク3から取得しバッファC−2へ書き込み、その中の「時刻」情報と、書き込んだファイルの時刻(「書込み日時」より取得)とを比較し、同じであればステップ4へ、異なっていればステップ4′へ進む。
(ステップ4)
このステップは、ファイル記録が1秒間に複数回行われるときに実行される。
すなわち、データ領域管理データ2313の「一番新しいデータ書込み位置」の情報を読み出してバッファC−2「終了位置(終了セクタ番号)」に書き込み更新した後、ステップ5へ進む。
(ステップ4′)
(1)時刻管理情報データ2314Tの「開始時刻ID」および「終了時刻ID」が、「開始時刻ID」=「終了時刻ID」+1の関係にある場合は時刻管理領域2322が既に上書きされ両IDが隣接していることを示し、また、「開始時刻ID」=0かつ「終了時刻ID」が事前に設定された最大値である場合はこれから上書きされることになる状態であって、つまり現状、全時刻管理情報が読出し有効な状態であることを示す。これは時刻管理情報データの「最新時刻ID」=同「開始時刻ID」としても表れる。よって、ここでの時刻管理情報の新規作成のために、現「開始時刻ID」が新規の時刻管理情報に供されて新「終了時刻ID」となり、現「開始時刻ID」+1が新「開始時刻ID」となる。但し、1を加算することにより最大IDを超える場合は加算した結果を改めて“0”にして記憶する。この新「開始時刻ID」が示す時刻管理領域の位置の時刻管理情報をバッファC−2に書き込み、その中の「時刻」の内容を時刻管理情報データの「開始時刻」に書き込む。以上により記録データを管理する時刻管理範囲の始まりが更新される。
(2)次に、時刻管理情報データ2314Tの「最新時刻ID」の内容を同「終了時刻ID」に書き込み、管理している期間(時刻)の最後の位置情報を更新するとともに、時刻管理情報データの「終了時刻」に、書き込んだファイルの時刻(「書込み日時」より取得)を書き込み更新する。以上により記録データを管理する時刻管理範囲の終わりが更新される。
(3)次回の時刻管理情報の作成に備えて「最新時刻ID」の内容(番号=数字)に1を加算し更新する。但し、ROM等に事前に有している時刻の最大管理番号を上記加算の結果が超えた場合、改めて「最新時刻ID」を“0”に更新し、時刻管理領域2322の先頭に設定する。
(4)データ領域管理情報の「一番新しいデータ書込み位置」の内容をバッファC−2の「開始位置(開始セクタ番号)」と「終了位置(終了セクタ番号)」へそれぞれ記憶する。また、書き込んだファイルの時刻(「書込み日時」より取得)をバッファC−2の「時刻」へ書き込むことで新規の時刻管理情報が作成される。
なお、ハードディスクがフォーマットされた状態でデータ領域24にデータが記録されていない場合、つまり時刻管理情報がはじめて作成された場合は、時刻管理情報データ2314Tの「開始時刻」にも上記バッファC−2へ書き込んだ時刻を書き込む。
(ステップ5)
作業用記憶手段2の「インデックス指示」を読み出し、登録開始フラグおよび登録終了フラグが“0”であればステップ6へ進む。
<データ群管理登録の開始(登録開始フラグ=1の場合)>
(1)データ群管理情報データ2315の「開始データ群管理情報ID」および「終了データ群管理情報ID」が、「開始データ群管理情報ID」=「終了データ群管理情報ID」+1の関係にある場合はデータ群管理領域233が既に上書きされ両IDが隣接していることを示し、また、「開始データ群管理情報ID」=0かつ「終了データ群管理情報ID」が事前に設定された最大値である場合はこれから上書きされることになる状態であって、つまり現状、全データ群管理情報が有効な状態であることを示す。これはデータ群管理情報データの「最新データ群管理情報ID」=「開始データ群管理情報ID」としても表れる。よって、ここでのデータ群管理情報の新規作成のために、現「開始データ群管理情報ID」が新規のデータ群管理情報に供されて新「終了データ群管理情報ID」となり、現「開始データ群管理情報ID」+1が新「開始データ群管理情報ID」となる。但し、1を加算することにより最大IDを超える場合は加算した結果を改めて“0”にして記憶する。この新「開始データ群管理情報ID」が示すデータ群管理領域の位置のデータ群管理情報をバッファD−2に書き込み、その中の「日付、イベント情報」の日付と同「時刻」の内容をデータ群管理情報データの「開始データ群管理情報日付」および「開始データ群管理情報時刻」にそれぞれ書き込む。以上によりデータ群管理情報の有効範囲の始まりが更新される。
(2)次に、データ群管理情報データ2315の「最新データ群管理情報ID」の内容を「終了データ群管理情報ID」に書き込み、データ群管理情報の有効範囲の最後の位置情報を更新するとともに、データ群管理情報データの「終了データ群管理情報日付」と「終了データ群管理情報時刻」に、書き込んだファイルの日付と時刻(「書込み日時」より取得)をそれぞれ書き込み更新する。以上によりデータ群管理情報の有効範囲の終わりが更新される。
(3)次回のデータ群管理情報の作成に備えて「最新データ群管理情報ID」の内容(番号=数字)に1を加算し更新する。但し、ROM等に事前に有しているデータ群管理情報の最大管理番号を上記加算の結果が超えた場合、改めて「最新データ群管理情報ID」を“0”に更新し、データ群管理領域233の先頭に設定する。
(4)書き込んだファイルの日付(「書込み日時」より取得)と作業用記憶手段2における「インデックス指示」の所定位置から読み出したイベント内容をバッファD−2の「日付、イベント情報」に書き込み、また、時刻管理情報データ2314Tの「終了時刻ID」の内容をバッファD−2の「開始時刻ID」と「終了時刻ID」に、時刻管理情報データの「終了時刻」をバッファD−2の「時刻」に書き込むことで新規のデータ群管理情報が作成される。
最後に「インデックス指示」に記録の情報をクリアする。
なお、データ群管理情報がはじめて作成される場合は、データ群管理情報データ2315の「開始データ群管理情報日付」と「開始データ群管理情報時刻」にも上記バッファD−2に書き込んだ日付と時刻をそれぞれ書き込む。
<データ群管理登録の終了(登録終了フラグ=1の場合)>
(1)データ群管理情報データ2315の「終了データ群管理情報ID」の示す位置のデータ群管理情報をハードディスク3のデータ群管理領域233から読み出しバッファD−2へ書き込む。
(2)時刻管理情報データ2314Tの「終了時刻ID」の内容をバッファD−2の「終了時刻ID」へ書き込むことで新規のデータ群管理情報が更新されて終了する。
(ステップ6)
上記ステップまでは各管理領域の上書きの有無で各管理情報の更新をしていたが、ここではデータ領域24が上書きされることにより、これまで有効であった開始時刻IDの示す時刻管理情報に不具合が生じるおそれがあること、この時刻管理情報に不具合が発生することにより時刻管理情報を管理している日付管理情報やデータ群管理情報に不具合が連鎖することから、データの再生時に不具合が生じないよう適正化を図る処理を行う(不具合適性化処理機能)。例えば図13(a)の現「開始時刻ID」の時刻管理情報の管理範囲は図13(b)に示すようにデータ領域のセクタ0からセクタnとなっている(処理上は絶対的なセクタ番号を用いるが、便宜上、データ領域の開始セクタをセクタ0としたオフセットで表示している)が、次回書込み用に更新されたバッファEの「アクセス位置(セクタ番号)」がセクタ1に位置しており、つまり、セクタ0が既に上書きされ管理範囲に不具合が生じていることがわかる。これを図14(a)および(b)に示すように不具合のある時刻管理情報は捨てて不具合の無い一番古い時刻管理情報を「開始時刻ID」として登録することで不具合を適正化する。日付管理情報についても考え方は同じで、図15および図16に示す通りである。データ群管理情報の不具合についても適正化を行う。
適正化処理は次のとおり行われるが、上書き利用データ「データ領域上書きフラグ」が“0”または“1”の場合は不具合が無いためステップ7へ進む。
(1)時刻管理情報データ2314Tの「開始時刻ID」が示す位置の時刻管理情報をハードディスク3の時刻管理領域2322から読み出しバッファC−3へ書き込む。
(2)バッファEの「アクセス位置(セクタ番号)」とバッファC−3の「開始位置(開始セクタ番号)」において、「開始位置」と「アクセス位置」は等しくなく、かつ、次の関係を満たすものは不具合ありと判断する。
「開始位置」から「アクセス位置」への順方向の距離<<「開始位置」から「アクセス位置」への逆方向の距離
但し、“位置(セクタ番号)”はデータ領域24の最小から最大まで順次大きくなった後(順方向)、最大の次に大きいのが最小であるリング状で考える。つまり、最小=0、最大=100とした場合、“位置”の順序(数の大きさ)は次のとおり考える。
0<1<2<・・・<99<100<0<1<・・・<100<0<1・・・
不具合が無いと判断された場合はステップ7へ進む。
(3)時刻管理情報データ2314Tの「開始時刻ID」の不具合を次のとおり適正化する。
「開始時刻ID」の内容(番号=数字)に1を加算し、その番号の示す時刻管理情報をハードディスク3から読み出しバッファC−3へ書き込み、その「開始位置(開始セクタ番号)」と「終了位置(終了セクタ番号)」について、上記(2)と同じ不具合有無の判断を行い、不具合が無いと判断できるまで上記加算を続ける。加算により不具合が無くなった場合、その値を時刻管理情報データの「開始時刻ID」として記録し、同「開始時刻」にはその「開始時刻ID」の示す時刻管理情報の「時刻」の内容を書き込む。
なお、加算により時刻管理情報の最大番号を超えた場合には0に戻ることは先のステップで述べたとおりである。
(4)日付管理情報データ(バッファB)の「開始時刻ID」の不具合を次のように適正化する。
時刻管理情報データ2314T(バッファA)の「開始時刻ID」の内容(番号)が日付管理情報データ2314D(バッファA)の「開始日付ID」が示す日付管理情報(バッファB)の「開始時刻ID」と「終了時刻ID」の範囲内にある場合には(5)へ進み、範囲外の場合は(6)へ進む。
(5)バッファBの「開始時刻ID」にバッファAの「開始時刻ID」の内容を書き込み、(7)へ進む。
(6)バッファAの「開始日付ID」の内容(番号=数字)に1を加算し、その番号の示す日付管理情報(バッファB)の「開始時刻ID」と「終了時刻ID」の範囲内にバッファAの「開始時刻ID」が含まれるようになるまで、上記加算を繰り返す。
なお、加算により日付管理情報の最大番号を超えた場合には0に戻ることは先のステップで述べたとおりである。
上記範囲内になった場合、その時の開始日付IDをバッファAの「開始日付ID」に書き込み、その内容が示す日付管理情報(バッファB)の「開始時刻ID」にバッファAの「開始時刻ID」の内容を書き込むとともに、同日付管理情報の「日付」の内容を日付管理情報データ2314Dの「開始日付」に書き込み、(7)へ進む。
(7)データ群管理情報データ2315の「開始データ群管理情報ID」の不具合の有無を次のとおり確認し、適正化する。
「開始データ群管理情報ID」から「終了データ群管理情報ID」までの各データ群管理情報の「開始時刻ID」から「終了時刻ID」までの範囲のいずれかに時刻管理情報データ2314Tの「開始時刻ID」が含まれているか否かで次の処理に分かれる。
<含まれている場合>
含まれているデータ群管理情報のIDに1を加算し、データ群管理情報データ2315の「開始データ群管理情報ID」として書き込み、そのデータ群管理情報の「日付、イベント情報」の日付と「時刻」の内容を、データ群管理情報データの「開始データ群管理情報日付」と「開始データ群管理情報時刻」にそれぞれ書き込む。なお、IDがデータ群管理情報の最大番号を超えた場合には0に戻ることは先のステップで述べたとおりである。
<含まれていない場合>
「開始データ群管理情報ID」から「終了データ群管理情報ID」までの各データ群管理情報の「開始時刻ID」と時刻管理情報データ2314Tの「開始時刻ID」とを比較し、データ群管理情報の「開始時刻ID」>時刻管理情報データの「開始時刻ID」になった最初のデータ群管理情報のIDをデータ群管理情報データ2315の「開始データ群管理情報ID」として書き込み、そのデータ群管理情報の「日付、イベント情報」の日付と「時刻」の内容を、データ群管理情報データの「開始データ群管理情報日付」と「開始データ群管理情報時刻」にそれぞれ書き込む。なお、この場合には不具合が無い場合も含まれている。
(ステップ7)
管理情報をハードディスク3に次のように記憶する。
バッファAとバッファBの内容を基本管理領域231と日付管理領域232にそれぞれ記憶する。
バッファC−2の内容を時刻管理情報データ(バッファA)の「終了時刻ID」の示す時刻管理領域2322の位置に記憶する。
データ群管理登録を行った場合は、バッファD−2の内容をデータ群管理情報データ(バッファA)の「終了データ群管理情報ID」の示すデータ群管理領域233の位置に記憶する。
以上ステップ1からステップ8まででファイルの記録とその管理情報の記録が完了したことになる。
(ステップ8)
データ領域管理データの「次回書込み位置」が0であり、かつ、ハードディスク3が複数ある(バッファFの「ハードディスク数」が複数を示し、かつ、そのうち正常であるものが複数ある)場合はステップ9へ、そうでない場合(正常なハードディスクがこれまで記録に使った1つだけである場合)はステップ10へ進む。
(ステップ9)
(1)以上利用してきたハードディスク(HDD0)以外の正常なハードディスク(HDDx)から次に書き込みを行うハードディスクを選択するが、これにはバッファAに書き込んだ各ハードディスクの上書き利用データの「データ領域上書きフラグ」を参照する。フラグ=0は上書きなし、=1は次回上書き(現在、データ領域の最後まで書込み終了)、=2は上書き中を示す。優先順位は次のとおりである。
優先順位1:フラグ=2のHDD
優先順位2:フラグ=0のHDD
優先順位3:フラグ=1のHDD
フラグの値が同一のものがあれば、日時管理情報データ2314の「開始日付」、「開始時刻」が古いものを優先し、それが同じであればハードディスクの番号の小さいほうを優先する。なお、この処理は上述(電源投入後の初期化動作)と同じである。
(2)上記(1)で選択・決定されたハードディスクの番号をバッファEの「デバイス番号」に、データ領域管理データ2313の「次回書込み位置」を同じくバッファEの「アクセス位置(セクタ番号)」に書き込む。
以降、データの書込みは上記優先順位で選択されたハードディスクに対して行われる。
(ステップ10)
書込み終了の報告を発し、今回のハードディスクへのファイル記録に関する一連の処理が終了したことになる。
<データの読出し>
(データ記録装置における全体の流れ)
初期化動作後のデータ記録装置1の全体的な流れを以下のステップにて示す。なお、上述した各手段における処理を一連の流れに沿って示したものでもある。
(ステップA)
入出力手段11は操作手段5からの信号により読出しメニュー(下記1〜4にて示す)のどれが選択されたのかを判断する。
1.記録範囲表示(ステップBへ)
2.データ群管理情報リスト取得(ステップEへ:図17参照)
3.時刻管理情報の検索(ステップKへ:図18参照)
4.データ群管理情報の検索(ステップNへ:図19参照)
なお、図17から図19はファイル読出し手段13からみた流れを概略に示したもので、破線部は、特にファイル記録・管理手段14の処理を示している。
(ステップB)
入出力手段11からメニュー1を指示されたファイル読出し手段13は、ファイル記録・管理手段14に接続された正常な全ハードディスク3に記憶された下記情報を出力するように指示する。
・最も古い日付情報と時刻情報
・最も新しい日付情報と時刻情報
要求内容は作業用記憶手段2の「出力指示」に記憶し、出力指令を発することになる(ステップCへ)。
(ステップC)
ファイル読出し手段13からの出力指令を受け、作業用記憶手段2の「出力指示」に記憶の内容から指示内容を理解し、正常な全ハードディスク3に関する指定された情報を、バッファAの日付管理情報データ2314Dの「開始日付」および「終了日付」並びに時刻管理情報データ2314Tの「開始時刻」および「終了時刻」から読み出し、作業用記憶手段2の「出力情報」へ書き込んだ後、準備完了報告をファイル読出し手段13に発する(ステップDへ)。
(ステップD)
準備完了報告を受けたファイル読出し手段13は作業用記憶手段2の「出力情報」にある情報をハードディスク3ごとに表示する形式に加工して入出力手段11を介して出力機器(モニタ)16や表示手段6に表示させることにより、メニュー1の処理が終了する。
(ステップE)
入出力手段11からメニュー2を指示されたファイル読出し手段13は、ファイル記録・管理手段14に接続された正常な全ハードディスク3に記憶された全データ群管理情報を同時表示可能数、例えば10情報をリスト化して表示するために、ファイル記録・管理手段14に10のデータ群管理情報をハードディスク3から取り出すように指示する。この情報を取得するために、取得デバイス番号(ハードディスク番号)、取得開始位置(データ群管理情報ID)、取得方向をそれぞれ基準としたデータ群管理情報のリスト取得の要求内容を作業用記憶手段2の「出力指示」に記憶し、出力指令を発する(ステップFへ)。
(ステップF)
(1)ファイル読出し手段13からの出力指令を受け、ファイル記録・管理手段14は作業用記憶手段2の「出力指示」に記憶の内容からデータ群管理情報のリスト出力であることを理解し、取得デバイス番号が示すハードディスク3のデータ群管理領域233からデータ群管理情報の最大管理数分の情報を全て読み出し、バッファD−1(検索用)に書き込む。なお、取得デバイス番号が基準の場合は、現在のアクセス対象(例えばバッファEの「デバイス番号」に設定されている)を示す。
(2)指定の取得開始位置(データ群管理情報ID)から指定の取得方向(前方向、後ろ方向;基準は前方向)に向かってIDを1ずつ加減(前方向は減算、後ろ方向は加算)しながらそのIDが示すバッファD−1の位置を参照し、最大10個分のデータ群管理情報に登録された情報を取得する。
なお、取得開始位置の基準とは、データ群管理情報データ2315の「終了データ群管理情報ID」に記録の内容(ID)を指している。
また、指定の取得方向が前方向の場合は、データ群管理情報データの「開始データ群管理情報ID」が終点であり、後ろ方向の場合は、同「終了データ群管理情報ID」が終点である。
以上の結果、次の情報を作業用記憶手段2の「出力情報」に所定の規則に従い書き込む。
・リスト出力の対象となったデバイス番号
・最大10個のリスト(データ群管理情報ID,イベント情報,登録日時,開始時刻ID,終了時刻ID)
・前方向の終点に至った、または後ろ方向の終点に至った場合、それを示す情報
・リストの取得方向(前方向、後ろ方向)
・接続され正常に動作している全デバイス番号(基礎データ(図示せず)より取得)を日付管理情報データ2314Dの「開始日付」が古いもの順に並べたもの
また、デバイス番号をバッファEの「デバイス番号」に設定しておく。
上記書き込みの後、ファイル記録・管理手段14はファイル読出し手段13へ準備完了報告を行う(ステップGへ)。
(ステップG)
準備完了報告を受けたファイル読出し手段13は「出力情報」からリストを取得して加工し、入出力手段11を介して出力機器(モニタ)16や表示手段6に表示するとともに、さらに前方向、後ろ方向のリスト出力要求を受け付ける状態、データ群管理情報に基づくデータの読出し(再生)要求受付状態、およびメニュー2の終了を受け付ける状態になる。つまり、操作手段5から何れかが選択され、それが入出力手段11を介して伝わるのを待つことになる。
操作手段5による操作の内容がリスト出力要求であればステップHへ、データの読出し要求であればステップIへ、終了であればメニュー2の処理が終了する。
(ステップH)
リストの出力を要求される場合、操作手段5により取得デバイス番号、取得開始位置、取得方向の少なくとも何れかが入力されている。ファイル読出し手段13は、省略されたものについては基準を、入力されたものはその示す内容を「出力指示」に設定する。
なお、前方向のみ入力された場合であって、「出力情報」に残っている前回出力したリストの情報に前方向の終点に至った情報がある場合は、同じく残っている対象となった正常なデバイスの番号よりも1つ古いデバイス番号を「出力指示」に設定する。終点に至っていない場合は、「出力情報」に残っている対象となったデバイス番号を取得デバイス番号とし、同じく残っているリストの最も古いIDから1を減じたIDを取得開始位置、取得方向を前方向として「出力指示」に設定する。
逆に、後ろ方向のみ選択された場合であって、「出力情報」に残っている前回出力したリストの情報に後ろ方向の終点に至った情報がある場合は、同じく残っている対象となったデバイス番号よりも1つ新しいデバイス番号を「出力指示」に設定する。終点に至っていない場合は、「出力情報」に残っている対象となったデバイス番号を取得デバイス番号とし、同じく残っているリストの最も新しいIDに1を加算したIDを取得開始位置、取得方向を後ろ方向として「出力指示」に設定する。
上記設定を行った後に「出力指令」をファイル記録・管理手段14へ発する(ステップFへ)。
(ステップI)
データの読出し要求の場合、操作手段5により表示したリストのデータ群管理情報IDの指定が行われた上で読出し要求がされている。入出力手段11を介してこの要求を受け取ったファイル読出し手段13は、受け取ったデータ群管理情報IDに基づき「出力情報」に残っている該当IDの情報にある開始時刻IDと終了時刻IDを取得し、開始時刻IDから終了時刻IDまでで管理されているファイルをハードディスク3から読み出すようにファイル記録・管理手段14に指示する。これらは次のように行われる。
(1)時刻管理情報ID(最初は取得した開始時刻ID)をデータ読出し対象としたデータ読出し要求を「出力指示」に設定した上でファイル記録・管理手段14に出力指令を発する。
(2)ファイル記録・管理手段14は「出力指示」を参照し、指定の時刻管理情報IDに基づきハードディスク3の時刻管理領域2322から指定の時刻管理情報を読み出し、バッファC−1へ記憶する。
(3)次に、指定の時刻管理情報「開始位置」から「終了位置」までを順番にバッファEの「アクセス位置(セクタ番号)」に書き込み、先に設定されたデバイス番号のハードディスク3のデータ領域24から「アクセス位置(セクタ番号)」により指定されたセクタのデータを順番に読み出し、「読出しデータバッファ」の頭から読み出したデータが連続するように順番に書き込む。さらに、上記「終了位置」+1と次のIDの時刻管理情報の「開始位置」とを比較し、一致していなければ、一致するまでの位置を順番にバッファEの「アクセス位置(セクタ番号)」に書き込み、先に設定されたデバイス番号のハードディスク3のデータ領域24から「アクセス位置(セクタ番号)」により指定されたセクタのデータを順番に読み出し、「読出しデータバッファ」の頭から読み出したデータが連続するように順番に書き込む。
次に、バッファAの基礎データの「1セクタあたりの容量」の情報と上述のデータ領域24から読み出したセクタ数を「読出しデータ情報」に書込み準備完了報告を発し、ステップJへ進む。
(ステップJ)
読み出されたファイルのヘッダ情報に基づき元のデータに戻して入出力手段11を介して出力機器(モニタで、ここではビデオデータの画像が再生される)16へ出力する。この読み出しについては次のように行われる。
(1)ファイル読出し手段13はファイル記録・管理手段14から「準備完了報告」を受けたら、「読出しデータバッファ」の先頭からヘッダ情報が始まることを確認し、ヘッダ情報からデータサイズを取り出し、ヘッダ情報終了後からそのデータサイズ分のデータを取り出す。これが元のデータであり、入出力手段11を介して出力機器(モニタ)16に出力(表示)する。
(2)ファイル読出し手段13は、「読出しデータ情報」に記憶の“1セクタあたりの容量”を参照し、ヘッダ情報+元のデータのサイズ(つまりファイルサイズ)が何セクタ分あるのか計算し(端数はセクタ1個分と考える)、「読出しデータ情報」に記憶の“データ領域から読み出したセクタ数”と比較する。異なれば(計算したセクタ数<データ領域から読み出したセクタ数)(3)へ、同じであれば(5)へ進む。
(3)1つの時刻管理情報で複数ファイルを管理している場合にこの処理が行われる。ここではビデオ画像を扱った例につき、各コマの切り替え周期に合わせて次のデータを「読出しデータバッファ」から読み出す。具体的には、上記計算したセクタ数に相当する容量の次から次のファイル、つまり次のファイルのヘッダ情報が始まるため、ヘッダ情報があることを確認し、ヘッダ情報からデータサイズを取り出し、ヘッダ情報終了後からそのデータサイズ分のデータを取り出し入出力手段11を介して出力機器(モニタ)16に出力(表示)する。
(4)ファイル読出し手段13は、「読出しデータ情報」に記憶の“1セクタあたりの容量”を参照し、ヘッダ情報+元のデータのサイズ(つまりファイルサイズ)が何セクタ分あるのか計算(端数はセクタ1個分と考える)し、この計算したセクタ数を前回計算のセクタ数と合計し、「読出しデータ情報」に記憶の“データ領域から読み出したセクタ数”と比較する。異なれば(計算したセクタ数<データ領域から読み出したセクタ数)(3)へ、同じであれば(5)へ進む。
(5)上記ステップIの(1)で設定した時刻管理情報IDが上記取得した終了時刻IDより小さい場合、各コマの切り替え周期にあわせて時刻管理情報IDに1(数の大きさは別途変更可能としても良い)を加算して、加算による時刻管理情報IDが終了時刻IDと同じまたは小さい場合はそのIDを時刻管理情報IDとしてステップIへ戻る。逆に大きい場合はメニュー2の処理を終了する。
(ステップK)
次のように指定日時のファイルをハードディスク3から読み出し出力する。
(1)操作手段5から入力された日時が入出力手段11を介して届くのを待ち、日時を受け取ったら作業用記憶手段2の「出力指示」に日時と時刻管理情報検索であることを設定し、ファイル記録・管理手段14に出力指令を発する。
(2)出力指令を受けたファイル記録・管理手段14は「出力指示」の内容から時刻管理情報検索であることを認識し、バッファAにある全ハードディスク3の日付管理情報データの「開始日付」に情報が入っている(正常である)全てのハードディスク3のバッファB(日付管理情報)の「日付」を対象に、指定の日付(日時の一部)と一致するものがあるか否かを検索する。一致するものがあれば(3)へ、一致するものが無ければ(4)へ進む。
(3)一致した日付を管理する日付管理情報を有するハードディスク3の番号(デバイス番号)をそのバッファAの基礎データの「デバイス番号」(図示せず)から読み取り、バッファEの「デバイス番号」へ書き込み、(5)へ進む。
(4)検索の結果、指定の日付に最も近い日付を管理する日付管理情報を有するハードディスク3の番号(デバイス番号)をそのバッファAの基礎データの「デバイス番号」(図示せず)から読み取り、バッファEの「デバイス番号」へ書き込み、(5)へ進む。
(5)上記(3)または(4)で定まった日付管理情報の「開始時刻ID」から「終了時刻ID」までの時刻管理情報をハードディスク3の時刻管理領域2322から読み出し(最大24時間分)、バッファC−1へ書き込んだ上で、その各時刻管理情報の中の「時刻」を対象に、指定の時刻(日時の一部)と一致するものがあるか否かを検索する。一致したものがあればその時刻管理情報の「時刻」を、一致したものが無ければ最も近い「時刻」を有する時刻管理情報の「開始位置(開始セクタ番号)」から「終了位置(終了セクタ番号)」をバッファEの「アクセス位置(セクタ番号)」に順に書き込み、そしてそれぞれの位置(セクタ番号)が示すセクタ情報をハードディスク3から取り出し「読出しデータバッファ」の頭から順に書き込むとともに、バッファAの基礎データ「1セクタあたりの容量」の情報とデータ領域から読み出したセクタ数を「読出しデータ情報」に書込み、準備完了報告を発してステップLに進む。
(ステップL)
読み出されたファイルのヘッダ情報に基づき元のデータに戻して入出力手段11を介して出力機器(モニタで、ここではビデオデータの画像が再生される)16へ出力する。その出力は再生停止の操作を操作手段5から入力しない限りは指定日時よりも新しいものを順次自動再生するものとして次に説明する。
(1)ファイル読出し手段13はファイル記録・管理手段14から「準備完了報告」を受けたら、「読出しデータバッファ」の先頭にヘッダ情報があることを確認し、ヘッダ情報からデータサイズを取り出し、ヘッダ情報終了後からそのデータサイズ分のデータを取り出す。これが元のデータであり、入出力手段11を介して出力機器(モニタ)16に出力(表示)する。
(2)ファイル読出し手段13は、「読出しデータ情報」に記憶の“1セクタあたりの容量”を参照し、ヘッダ情報+元のデータのサイズ(つまりファイルサイズ)が何セクタ分あるのか計算し、「読出しデータ情報」に記憶の“データ領域から読み出したセクタ数”と比較する。異なれば(計算したセクタ数<データ領域から読み出したセクタ数)(3)へ、同じであればステップMへ進む。
(3)1つの時刻管理情報で複数ファイルを管理している場合にこの処理が行われる。ここではビデオ画像を扱った例につき、各コマの切り替え周期に合わせて次のデータを「読出しデータバッファ」から読み出す。具体的には、上記計算したセクタ数に相当する容量の次の位置から次のファイル、つまり次のファイルのヘッダ情報が始まるため、ヘッダ情報があることを確認した後、ヘッダ情報からデータサイズを取り出し、そしてヘッダ情報終了後からそのデータサイズ分のデータを取り出し、入出力手段11を介して出力機器(モニタ)16に出力(表示)する。
(4)ファイル読出し手段13は、「読出しデータ情報」に記憶の“1セクタあたりの容量”を参照し、ヘッダ情報+元のデータのサイズ(つまりファイルサイズ)が何セクタ分あるのか計算し、この計算したセクタ数を前回計算のセクタ数と合計し、「読出しデータ情報」に記憶の“データ領域から読み出したセクタ数”と比較する。異なれば(計算したセクタ数<データ領域から読み出したセクタ数)(3)へ、同じであればステップMへ進む。
(ステップM)
以下に示すように次の時刻管理情報による出力を行う。
(1)ファイル読出し手段13は各コマの切り替え周期に合わせて、ファイル記録・管理手段14に次のデータの要求を行うために「出力指示」に“継続出力”の設定を行った上で出力指令を発する。
(2)“継続出力”の出力指令を受けたファイル記録・管理手段14は、上記ステップKの(5)で「開始位置(開始セクタ番号)」および「終了位置(終了セクタ番号)」を読み出した時刻管理情報のIDが時刻管理情報データ2314Tの「終了時刻ID」よりも小さければ時刻管理情報IDに1(数の大きさは別途変更可能としても良い)を加算して、その加算した時刻管理情報IDが上記「終了時刻ID」と同じまたは小さい場合はその時刻管理情報IDで指定される時刻管理情報の「開始位置(開始セクタ番号)」から「終了位置(終了セクタ番号)」をバッファEの「アクセス位置(セクタ番号)」に順に書き込み、そしてそれぞれの位置(セクタ番号)が示すセクタ情報をハードディスク3から取り出し「読出しデータバッファ」の頭から順に書き込むとともに、バッファAの基礎データ「1セクタあたりの容量」の情報とデータ領域から読み出したセクタ数を「読出しデータ情報」に書き込み、準備完了報告を発してステップLへ進む。
一致若しくは大きければ、または加算の結果大きくなった場合は、接続された正常なハードディスク3であって現在アクセスしているハードディスク3よりも日付管理情報データの「開始日付」が新しいハードディスク3があれば、そのデバイス番号をバッファEの「デバイス番号」に登録し、時刻管理情報データの「開始時刻にID」が示す時刻管理情報の「開始位置(開始セクタ番号)」から「終了位置(終了セクタ番号)」をバッファEの「アクセス位置(セクタ番号)」に順に書き込み、そしてそれぞれの位置(セクタ番号)が示すセクタ情報をハードディスク3から取り出し「読出しデータバッファ」の頭から順に書き込むとともに、バッファAの基礎データの「1セクタあたりの容量」の情報とデータ領域から読み出したセクタ数を「読出しデータ情報」に書込み、準備完了報告を発してステップLへ進む。上記「開始日付」が最も新しいハードディスクで「終了時刻ID」まで再生が行われるとメニュー3の処理は終了する。
当然、操作手段5により再生停止の操作がなされ、入出力手段11を通じてファイル読出し手段13が受け取ると、ファイル読出し手段13は「出力指示」に“再生停止”を設定し、出力指令を発することでファイル記録・管理手段14は再生停止を認識し、再生は停止される。
(ステップN)
次のように指定日時のデータ群管理情報で管理されたファイルをハードディスク3から読み出し出力する。
(1)操作手段5から入力された日時が入出力手段11を介して届くのを待ち、日時を受け取ったら作業用記憶手段2の「出力指示」に日時とデータ群管理情報であることを設定し、ファイル記録・管理手段14に出力指令を発する。
(2)出力指令を受けたファイル記録・管理手段14は「出力指示」の内容からデータ群管理情報検索であることを認識し、バッファAにある全ハードディスク3のデータ群管理情報データ2315の「開始データ群管理情報日付」と「終了データ群管理情報日付」の範囲内に、指定の日付(日時の一部)が含まれているか否かを検索する。
含まれているハードディスクがあれば(3)へ、含まれているものが無ければ指定日付に最も近いハードディスクを選択して(3)へ進む。
(3)ハードディスク3のデータ群管理領域233からデータ群管理情報を読み出しバッファD−1へ書き込み、各データ群管理情報の「日付、イベント情報」における日付と指定の日付とで一致しているものがあるか否かを判断する。一致しているデータ群管理情報があれば(4)へ、一致していなければ指定日付に最も近いデータ群管理情報を選択し(4)へ進む。
(4)選択された1以上のデータ群管理情報の「時刻」に対して、指定の時刻と一致するものがあるか否かを検索する。一致するものがあればそのデータ群管理情報が、一致していなければ指定時刻に最も近いデータ群管理情報が検索結果となる。なお、説明を省略したが、このハードディスク3の番号(デバイス番号)はデータ群管理情報をバッファD−1へ書き込む時点で既にアクセス先としてバッファEの「デバイス番号」へ書き込まれている。
以上の結果、次の情報を作業用記憶手段2の「出力情報」に所定の規則に従い書き込む。
・対象となったデバイス番号
・データ群管理情報ID,イベント情報,登録日時,開始時刻ID,終了時刻ID
次に、ファイル記録・管理手段14はファイル読出し手段13へ準備完了報告を行う(ステップOへ)。
(ステップO)
準備完了報告を受けたファイル読出し手段13は「出力情報」からデータ群管理情報に関する情報を取得して加工し、入出力手段11を介して出力機器(モニタ)16や表示手段6に表示するとともに、データ群管理情報に基づくデータの読出し(再生)要求受付状態、およびメニュー4の終了を受け付ける状態になる。つまり、操作手段5から何れかが選択され、それが入出力手段11を介して伝わるのを待つ。
データの読出し要求であればステップPへ進み、終了であればメニュー4の処理が終了する。
(ステップP)
データの読出し要求の場合、操作手段5により表示したリストのデータ群管理情報IDの指定が行われた上で読み出し要求がされている。
これ以下はデータ群管理情報が1件表示である点を除いてメニュー2のデータ群管理情報を複数表示したリストから選択している話しと基本的に同じとなる。つまりステップIと同じ処理の説明となるため省略する。ステップIに続くステップJについてもメニュー4の終了になる以外は同じ処理であるため説明を省略する。
上記の説明においては、プログラムに従って制御手段8が動作することにより、プログラムと制御手段8の組合せで入出力手段11、書込みファイル作成手段12、ファイル読出し手段13、ファイル記録・管理手段14といった機能的手段が構成されることを示した。また、そのプログラムで規定された手順による処理の流れをステップごとに示した。なお、各手段間の指令等は例えば各手段をなすプログラムの呼び出しであり、呼び出されて処理した結果を渡すこと、報告すること等は呼び出されたプログラムによる返り値等に相当する。また、作業用記憶手段2を介して、ファイル記録・管理手段14と書込みファイル作成手段12またはファイル読出し手段13との間でデータのやり取りを行っていると説明したが、これは、例えばプログラム中に静的または動的な変数を設定し、その変数にデータを代入する行為で実現される。
次に、本実施の形態1では、データの記録時は常にハードディスク3のデータ領域24を構成するセクタの先頭からファイルの先頭(ここではヘッダ情報)が記録されることを示した。記録する元のデータが可変長であればファイル容量も可変であり、よって必ずしも1セクタ内にファイルが記録されるわけではなく、1セクタあたりの容量の整数倍とファイル容量の差分はブランクとなっている。また、セクタの番号順にファイルを記録するようにしているので、1つのファイルであって複数のセクタを要する場合であっても連続して読み出することができるとともに、次のファイルもその次のセクタから連続している。
また、ファイルを時刻単位で管理し、その時刻で管理する最初のファイルが記録されたセクタと最後のファイルが記録されたセクタとを管理するようにしている。従って、長時間にわたって連続して記録を続けたものからデータを読み出す際でも、管理単位は管理時刻の大きさによるため、それを連続記録時間に対して十分小さくしていれば必要なデータをピンポイントで読み出すことが可能となり、よって第1の目的を達成することができる。
例えば、記録媒体22の管理領域23やデータ領域24にかかわらず物理的破壊があった場合でも、管理時刻単位を短くすることで、読出し不可能な被害は破壊のあった管理時刻の管理範囲や破壊のあったセクタに記録したファイル程度で済むことになり、読出し可能なセクタにおいては先頭のヘッダ情報を探すことでファイルの先頭を認識することができ、以後は、ヘッダ情報からデータの容量を読み出して元のデータを取り出することが可能であるし、連続したファイルを次々と読み出すことができるため第2の目的を達成することができる。
さらに、時刻単位では範囲が小さすぎる場合であっても、時刻管理情報を束ねた管理方法としてデータ群管理情報による管理を行うようにしたので、特定の状況におけるデータ群を束ねて管理し出力可能となるため、第4の目的も達成することができる。
ここで、実施の形態1における各機能を発揮するためのデータ記録用プログラムの基本的な構成について、項目ごとに示しておく。
第1の構成は、データの記録および読出しをランダムアクセスで行い得るとともに単位記録領域が多数形成された記録媒体を有する記録手段が設けられてなるデータ記録装置に具備させることにより、受け取ったデータを記録手段のデータ領域に記録させるとともにこのデータを管理する管理情報を管理領域に作成または作成済みのものを更新させるためのプログラムであって、
上記データ領域への記録を、領域を形成する複数の単位記録領域のアドレス順に行わせるデータ書込み機能と、記録された記録データの管理を、所定の時間幅を有する管理時間単位ごとにデータ領域における記録位置にて管理する時間単位管理情報を作成または作成済みのものを更新させる管理情報作成機能とを具備したものである。
第2の構成は、第1の構成におけるデータ書込み機能に、所定の時間幅の経過を監視するとともに時間の経過により新規の時間単位管理情報の作成を行う際に、直前の時間単位管理情報で管理した記録データを含んでいない次の単位記録領域内の頭から、データを記録させる時間経過監視機能を具備させたものである。
第3の構成は、第1または第2の構成において、データ群登録開始指令を受けた場合に、その時のデータを管理する時間単位管理情報を開始情報として記録するデータ群管理情報を作成するとともに、データ群登録終了指令を受けた場合に、その時のデータを管理する時間単位管理情報を終了情報として上記作成したデータ群管理情報に記録するデータ群管理情報作成機能を具備させたものである。
第4の構成は、第1乃至第3の構成のいずれかにおいて、データ領域への記録および/または管理領域への時間単位管理情報の作成が最後部に達したときに、次回から各領域の先頭に戻って上書きする上書き機能と、管理情報が管理する範囲において上書きにより管理情報に不具合が認められた場合、管理範囲が上書きされていない次の時間単位管理情報から参照可能となるように管理情報を適正化する不具合適正化処理機能を具備させたものである。
[実施の形態2]
以下、実施の形態2に係るデータ記録装置およびデータ記録用プログラムを、図面に基づき説明する。
上述した実施の形態1においては、データ領域の各セクタの先頭から常にファイルの頭(ヘッダ情報)を記録するようにしたが、本実施の形態2においては、データ領域の各セクタにおいて、前回書き込んだデータの最終部分から、隙間を生じさせることなく、すなわちブランク部の先頭から次に記録するファイルの記録を開始し、ブランク部を一切生じさせないようにしたものである。
以下の説明においては、データ領域へのアクセスに関する部分だけが実施の形態1と異なるため、この異なる部分に着目して説明する。なお、データ記録装置の構成については、実施の形態1と同じものについては、同一の番号を付するとともに、その詳しい説明を省略する。
まず、両実施の形態における相違点(変更点ともいう)について説明する。
管理情報について;
図20に示す基本管理情報のデータ領域管理データおよび図21(b)の時刻管理情報に変更点があり、図21(a)の日付管理情報および図22のデータ群管理情報には変更点はない。また、アクセスの際に利用するアクセスバッファEについては図23に示した。
実施の形態1においては、管理情報中に“位置”が付された名称の情報やバッファEの情報は実質セクタ番号を示すものであったが(セクタ内データ位置が常に0として取り扱われていた)、本実施の形態2では、これをセクタ(セクタ番号)とそのセクタ内の位置に細分化したものになる。具体的には次のとおりである。
データ領域管理データにおける細分化;
「次回書込み位置」が「次回書込みセクタ」と「次回書込みセクタ内データ位置」に、「一番古いデータ書込み位置」が「一番古いデータ書込みセクタ」と「一番古い書込みセクタ内データ位置」に、「一番新しいデータ書込み位置」が「一番新しいデータ書込みセクタ」と「一番新しい書込みセクタ内データ位置」に細分化される。
時刻管理情報データにおける細分化;
「開始位置」が「開始セクタ」と「開始セクタ内データ位置」に、「終了位置」が「終了セクタ」と「終了セクタ内データ位置」に細分化される。
バッファAとCは上記管理情報が書き込まれるため同様に変更される。
アクセスバッファEにおける細分化:
「アクセス位置」が「アクセスセクタ」と「アクセスセクタ内データ位置」に細分化される。
アクセスバッファEと基本管理情報のデータ領域管理データは密接な関係があるが、以上の変更にともない実施の形態1のデータ記録においてデータ領域管理データの参照によるアクセスバッファEの設定は、データ領域管理データの「次回書込みセクタ」と「次回書込みセクタ内データ位置」の内容をアクセスバッファEの「アクセスセクタ」と「アクセスセクタ内データ位置」にそれぞれ書き込むことに変更される。
以上、データ領域24における実施の形態1と実施の形態2のデータ記録形態を図示すると、図24のようになる。この図から、実施の形態1でファイル間にあったブランク部が実施の形態2では無くなっていることが分かる。
また、データ領域24に記録したデータを読み出して図示しない作業用記憶手段2の所定領域(1セクタ分の容量)に書き込んだ状態を図25に示す。ハードディスク3のアクセス単位はセクタであるため、そのまま読出しデータバッファに書き込むと先頭(データ領域においてはセクタ内の先頭)から開始セクタ内データ位置までの間には不要な情報が存在することになる。そこで、この不要な情報の次(開始セクタ内データ位置)からのデータを取り出し読出しデータバッファの先頭から書き込む。なお、セクタ番号と作業用記憶手段内アドレスは右に行くほど大きくなる。
以上を考慮して、データ記録およびデータ読出し時における一連の動作を、以下説明する。
まず、データ記録装置の全体の流れについて説明する。
初期化動作後のデータ記録装置1の全体的な流れを以下のステップに示す。なお、上述した各手段における処理を一連の流れに沿って示したものでもある。
(ステップA)
入力機器15であるビデオカメラから撮影映像(アナログ)が入力されるのを待ち、入力されるとステップBへ進む。
(ステップB)
入出力手段11は、1画面分(単位分)の映像データをデジタル化し、そのデータサイズを求め、デジタル化した日時情報を時計手段7から出力されたデータに基づき作成するとともに、デジタル化したデータ、データサイズおよび日時情報を書込みファイル作成手段12に渡す。操作手段5から記録開始指令、記録終了指令、データ群管理登録開始指令およびイベント内容、またはデータ群管理登録終了指令が入力された場合、それらも書込みファイル作成手段12に渡した後、ステップCに進む。
(ステップC)
入出力手段11より、デジタル化したデータ、データサイズおよび日時情報を受け取った書込みファイル作成手段12は、書込み元データバッファの先頭から固定長のヘッダ情報のサイズを空けた位置を先頭に上記データを書き込み、上記ヘッダ情報のサイズを上記データサイズに加えたものをファイル容量として作業用記憶手段2の書込みファイル容量に記憶し、上記日時情報を作業用記憶手段2の書込み日時に記憶した後、ステップDに進む。
(ステップD)
書込みファイル作成手段12は、入出力手段11からデータ群管理登録の開始指令とイベント内容とを受け取っていれば、それらを「インデックス指示」の所定の場所に書き込み、データ群管理登録の終了指令を受け取っていれば同じく「インデックス指示」の所定の場所に書き込んだ後、ステップEへ進む。いずれの指令も受け取っていなければ、何もしないで、ステップEへ進む。
(ステップE)
書込みファイル作成手段12は、操作手段5による操作に基づき入出力手段11から記録開始指令を受け取った後、記録終了指令を受け取るまでの間は、入出力手段11から書込みデータを受け取るたびに毎回ファイル記録指示をファイル記録・管理手段14に発することでステップFへ、それ以外はステップGへ進む。
(ステップF)
ファイル記録・管理手段14により書込み元データバッファのファイルがデータ領域24に記録され、「書込み日時」、「書込みファイル容量」、「インデックス指示」に記憶された内容に基づき管理情報が作成・更新され(詳細は後述)ファイル記録・管理手段14からの書込み終了報告を受けた後、ステップGへ進む。
(ステップG)
記録処理が終了する。
上述したステップA〜Gが一枚のカメラ画像(一コマ分)を記録する場合の一連の処理を示しており、ステップGで記録処理が終了すると、再びビデオカメラからデータが入力されるのを待つ状態(ステップA)となる。
ここで、ファイル記録・管理手段14での記録処理(ステップFの詳細)について説明する。
なお、データ領域24へのデータの記録は、毎回指定されたセクタの先頭から行われるものとし、バッファEが保持するデータ領域内の次回書込みを行う位置とはセクタ番号を指すものとする。
(ステップ1)(変更部分)
ファイル記録指示を受け取ることにより、データ領域管理データ2313の「次回書込みセクタ」と「次回書込みセクタ内データ位置」を取得し、アクセスバッファEの「アクセスセクタ」および「アクセスセクタ内データ位置」並びにデータ領域管理データの「一番新しいデータ書込みセクタ」および「一番新しい書込みセクタ内データ位置」に書き込む。「アクセスセクタ」が示すセクタのデータをまず読み出し、図示しない作業用記憶手段2の領域に書き込む。次に、基礎データ2311の「1セクタあたりの容量」を参照し、その容量から「アクセスセクタ内データ位置」が相当する容量を除いた分の容量(残容量)を求め、「書込みファイル容量」との比較を行う。
残容量>「書込みファイル容量」の場合;
読み出したセクタのデータにおいて、その先頭から数えてバッファE「アクセスセクタ内データ位置」に位置するところから、「書込み元データバッファ」の先頭から「書込みファイル容量」分取り出したデータを上書きし、その読出し上書きしたデータを読み出したデータ領域24のセクタに上書きする。また、バッファEの「アクセスセクタ内データ位置」とデータ領域管理データの「次回書込みセクタ内データ位置」に上書きしたデータの末端の次の位置を書き込み(これまでの内容にファイル容量を加える)、ステップ2へ進む。
残容量=「書込みファイル容量」の場合;
読み出したセクタのデータにおいて、その先頭から数えてバッファEの「アクセスセクタ内データ位置」に位置するところから、「書込み元データバッファ」の先頭から「書込みファイル容量」分取り出したデータを上書きし、その読出し上書きしたデータを読み出したデータ領域のセクタに上書きする。また、バッファEの「アクセスセクタ」に1を加算し、そしてその結果をデータ領域管理データの「次回書込みセクタ」に書き込むとともに、バッファEの「アクセスセクタ内データ位置」とデータ領域管理データの「次回書込みセクタ内データ位置」に“0”を書込みステップ2へ進む。
残容量<「書込みファイル容量」の場合;
読み出したセクタのデータにおいて、その先頭から数えてバッファEの「アクセスセクタ内データ位置」に位置するところから、「書込み元データバッファ」の先頭から残容量分取り出したデータを上書きし、その読出し上書きしたデータを読み出したデータ領域のセクタに上書きする。また、バッファEの「アクセスセクタ」に1を加算し同「アクセスセクタ内データ位置」に“0”を書き込む。次に、「書込みファイル容量」から残容量を差し引いた容量(書込み算容量)を「1セクタあたりの容量」で割り、商(n)および余りを求める。
商(n)が0でない場合、「書込み元データバッファ」のまだ書き込みを行っていないデータを、「1セクタあたりの容量」分取り出し、バッファEの「アクセスセクタ」に基づき求められるデータ領域のセクタに書き込みバッファEの「アクセスセクタ」に1を加算する。これをn回繰り返す。
n回繰り返した後、またはnが0であった場合で余りが0でない場合は、バッファEの「アクセスセクタ」に基づき求められるデータ領域のセクタからデータを読み出し、読み出したデータの先頭から、まだ書き込みを行っていないデータをその容量分「書込み元データバッファ」から取り出し上書きし、データ領域の元のセクタに上書きする。そして、バッファEの「アクセスセクタ」をデータ領域管理データの「次回書込みセクタ」に、バッファEの「アクセスセクタ内データ位置」およびデータ領域管理データの「次回書込みセクタ内データ位置」に先に求めた余りの値を書込みステップ2へ進む。
n回繰り返した後、またはnが0であった場合で余りが0の場合は、バッファEの「アクセスセクタ」をデータ領域管理データの「次回書込みセクタ」に、バッファEの「アクセスセクタ内データ位置」およびデータ領域管理データの「次回書込みセクタ内データ位置」に0を書込みステップ2へ進む。
このステップ1の処理各所において、ステップ2へ進む直前のバッファEの「アクセスセクタ」が事前に定められたデータ領域の終了位置を超える場合には、データ領域管理データの「次回書込みセクタ」とバッファEの「アクセスセクタ」にデータ領域の開始位置(セクタ番号)を、データ領域管理データの「次回書込みセクタ内データ位置」およびバッファEの「アクセスセクタ内データ位置」にそれぞれ“0”(クリア)が書き込まれ、この時、上書き利用データの「データ領域上書きフラグ」が“0”であれば“1”に、“1”であれば“2”に更新する。
(ステップ2)(時間監視機能である)
次に、ステップ1で書き込んだファイルの日付(「書込み日時」より取得)が現在記録・管理している記録データの管理日付(日付管理情報データの「終了日付」)と異なれば、新規に日付管理情報を作成するためにステップ2′へ進む。同じであればステップ3へ進む。
(ステップ2′)
次に示すように、バッファAの更新を行い、バッファBの新規作成を行う。
<バッファAの更新>
(1)日付管理情報データ2314Dの「開始日付ID」および「終了日付ID」が、「開始日付ID」=「終了日付ID」+1の関係にある場合は日付管理領域232が既に上書きされ両IDが隣接していることを示し、また、「開始日付ID」=0かつ「終了日付ID」が事前に設定された最大値である場合はこれから上書きされることになる状態であって、つまり現状、全日付管理情報が読出し有効な状態であることを示す。これは日付管理情報データの「最新日付ID」=「開始日付ID」としても表れる。よって、ここでの日付管理情報の新規作成のために、現「開始日付ID」が新規の日付管理情報に供されて新「終了日付ID」となり、現「開始日付ID」+1が新「開始日付ID」となる。但し、1を加算することにより最大IDを超える場合は加算した結果を改めて“0”にして記憶する。この新「開始日付」が示す位置のバッファBの「日付」の内容を日付管理情報データの「開始日付」に書き込む。以上により記録データを管理する日付管理範囲の始まりが更新される。
(2)次に、日付管理情報データの「最新日付ID」の内容を「終了日付ID」に書き込み、管理している期間(日付)の最後の位置情報を更新するとともに、日付管理情報データの「終了日付」に、書き込んだファイルの日付(「書込み日時」より取得)を書き込み更新する。以上により記録データを管理する日付管理範囲の終わりが更新される。
(3)次に、次回の日付更新に備えて「最新日付ID」の内容(番号=数字)に1を加算し更新する。但し、ROM等に事前に有している日付の最大管理番号を上記加算の結果が超えた場合、改めて「最新日付ID」を“0”に更新し、日付管理領域の先頭に設定する。
<バッファBの更新>
(4)「終了日付ID」が示す位置のバッファBの保持する情報「日付」に、書き込んだファイルの日付(「書込み日時」より取得)を書き込み更新する。
(5)バッファB「開始時刻ID」と「終了時刻ID」に時刻管理情報データ2314Tの「最新時刻ID」の内容が記録され、したがって新規の日付管理情報が作成されたことになる。
なお、ハードディスクがフォーマットされた状態でデータ領域にデータが記録されていない場合、つまり日付管理情報がはじめて作成された場合は、日付管理情報データの「開始日付」に上記(4)の日付を書き込む。
以上の処理後ステップ4′へ進む。
(ステップ3)
日付管理情報データ2314Dの「終了日付ID」が示す位置のバッファBに含まれる「終了時刻ID」が示す位置の時刻管理情報をハードディスク3から取得しバッファC−2へ書き込み、その中の「時刻」情報と、書き込んだファイルの時刻(「書込み日時」より取得)とを比較し、同じであればステップ4へ、異なっていればステップ4′へ進む。
(ステップ4)(変更部分)
このステップは、ファイル記録が1秒間に複数回行われるときに実行される。
バッファEの「アクセスセクタ」と、「アクセスセクタ内データ位置」−1の情報を、バッファC−2の「終了セクタ」と「終了セクタ内データ位置」にそれぞれ書き込み更新して、ステップ5へ進む。但し、「アクセスセクタ内データ位置」−1=−1の時は、「終了セクタ」には「アクセスセクタ」から1を減じた値を書き込み、「終了セクタ内データ位置」には、1セクタ当たりの容量−1を書き込む。
(ステップ4′)
(1)時刻管理情報データ2314Tの「開始時刻ID」および「終了時刻ID」が、「開始時刻ID」=「終了時刻ID」+1の関係にある場合は時刻管理領域2322が既に上書きされ両IDが隣接していることを示し、また、「開始時刻ID」=0かつ「終了時刻ID」が事前に設定された最大値である場合はこれから上書きされることになる状態であって、つまり現状、全時刻管理情報が読出し有効な状態であることを示す。これは時刻管理情報データの「最新時刻ID」=同「開始時刻ID」としても表れる。よって、ここでの時刻管理情報の新規作成のために、現「開始時刻ID」が新規の時刻管理情報に供されて新「終了時刻ID」となり、現「開始時刻ID」+1が新「開始時刻ID」となる。但し、1を加算することにより最大IDを超える場合は加算した結果を改めて“0”にして記憶する。この新「開始時刻ID」が示す時刻管理領域の位置の時刻管理情報をバッファC−2に書き込み、その中の「時刻」の内容を時刻管理情報データの「開始時刻」に書き込む。以上により記録データを管理する時刻管理範囲の始まりが更新される。
(2)次に、時刻管理情報データ2314Tの「最新時刻ID」の内容を同「終了時刻ID」に書き込み、管理している期間(時刻)の最後の位置情報を更新するとともに、時刻管理情報データの「終了時刻」に、書き込んだファイルの時刻(「書込み日時」より取得)を書き込み更新する。以上により記録データを管理する時刻管理範囲の終わりが更新される。
(3)次回の時刻管理情報の作成に備えて「最新時刻ID」の内容(番号=数字)に1を加算し更新する。但し、ROM等に事前に有している時刻の最大管理番号を上記加算の結果が超えた場合、改めて「最新時刻ID」を“0”に更新し、時刻管理領域2322の先頭に設定する。
(4)(変更部分)データ領域管理情報の「一番新しいデータ書込みセクタ」と「一番新しい書込みセクタ内データ位置」の内容をバッファC−2の「開始セクタ」と「開始セクタ内データ位置」に、またバッファEの「アクセスセクタ」と「アクセスセクタ内データ位置」の内容をバッファC−2の「終了セクタ」と「終了セクタ内データ位置」へそれぞれ記憶する。但し、「アクセスセクタ内データ位置」−1=−1の時は、「終了セクタ」には「アクセスセクタ」から1を減じた値を書き込み、「終了セクタ内データ位置」には、1セクタ当たりの容量−1を書き込む。また、書き込んだファイルの時刻(「書込み日時」より取得)をバッファC−2の「時刻」へ書き込むことで新規の時刻管理情報が作成される。
なお、ハードディスクがフォーマットされた状態でデータ領域にデータが記録されていない場合、つまり時刻管理情報がはじめて作成された場合は、時刻管理情報データの「開始時刻」にも、上記バッファC−2へ書き込んだ時刻を書き込む。
(ステップ5)
作業用記憶手段2の「インデックス指示」を読み出し、登録開始フラグおよび登録終了フラグが“0”であればステップ6へ進む。
<データ群管理登録の開始(登録開始フラグ=1の場合)>
(1)データ群管理情報データ2315の「開始データ群管理情報ID」および「終了データ群管理情報ID」が、「開始データ群管理情報ID」=「終了データ群管理情報ID」+1の関係にある場合はデータ群管理領域が既に上書きされ両IDが隣接していることを示し、また、「開始データ群管理情報ID」=0かつ「終了データ群管理情報ID」が事前に設定された最大値である場合はこれから上書きされることになる状態であって、つまり現状、全データ群管理情報が有効な状態であることを示す。これはデータ群管理情報データの「最新データ群管理情報ID」=「開始データ群管理情報ID」としても表れる。よって、ここでのデータ群管理情報の新規作成のために、現「開始データ群管理情報ID」が新規のデータ群管理情報に供されて新「終了データ群管理情報ID」となり、現「開始データ群管理情報ID」+1が新「開始データ群管理情報ID」となる。但し、1を加算することにより最大IDを超える場合は加算した結果を改めて“0”にして記憶する。この新「開始データ群管理情報ID」が示すデータ群管理領域233の位置のデータ群管理情報をバッファD−2に書き込み、その中の「日付、イベント情報」の日付と同「時刻」の内容をデータ群管理情報データの「開始データ群管理情報日付」および「開始データ群管理情報時刻」にそれぞれ書き込む。以上によりデータ群管理情報の有効範囲の始まりが更新される。
(2)次に、データ群管理情報データの「最新データ群管理情報ID」の内容を「終了データ群管理情報ID」に書き込み、データ群管理情報の有効範囲の最後の位置情報を更新するとともに、データ群管理情報データの「終了データ群管理情報日付」と「終了データ群管理情報時刻」に、書き込んだファイルの日付と時刻(「書込み日時」より取得)をそれぞれ書き込み更新する。以上によりデータ群管理情報の有効範囲の終わりが更新される。
(3)次回のデータ群管理情報の作成に備えて「最新データ群管理情報ID」の内容(番号=数字)に1を加算し更新する。但し、ROM等に事前に有しているデータ群管理情報の最大管理番号を上記加算の結果が超えた場合、改めて「最新データ群管理情報ID」を“0”に更新し、データ群管理領域233の先頭に設定する。
(4)書き込んだファイルの日付(「書込み日時」より取得)と作業用記憶手段2における「インデックス指示」の所定位置から読み出したイベント内容をバッファD−2の「日付、イベント情報」に書き込み、また、時刻管理情報データの「終了時刻ID」の内容をバッファD−2の「開始時刻ID」と「終了時刻ID」に、時刻管理情報データの「終了時刻」をバッファD−2の「時刻」に書き込むことで新規のデータ群管理情報が作成される。
最後に「インデックス指示」に記録の情報をクリアする。
なお、データ群管理情報がはじめて作成される場合は、データ群管理情報データ2315の「開始データ群管理情報日付」と「開始データ群管理情報時刻」にも上記バッファD−2に書き込んだ日付と時刻をそれぞれ書き込む。
<データ群管理登録の終了(登録終了フラグ=1の場合)>
(1)データ群管理情報データ2315の「終了データ群管理情報ID」の示す位置のデータ群管理情報をハードディスク3のデータ群管理領域233から読み出しバッファD−2へ書き込む。
(2)時刻管理情報データ2314Tの「終了時刻ID」の内容をバッファD−2の「終了時刻ID」へ書き込むことで新規のデータ群管理情報が更新されて終了する。
(ステップ6)
上記ステップまでは各管理領域の上書きの有無で各管理情報の更新をしていたが、ここではデータ領域24が上書きされることにより、これまで有効であった開始時刻IDの示す時刻管理情報に不具合が生じるおそれがあること、この時刻管理情報に不具合が発生することにより時刻管理情報を管理している日付管理情報やデータ群管理情報に不具合が連鎖することから、データの再生時に不具合が生じないよう適正化を図る処理を行う。例えば図13(a)の現「開始時刻ID」の時刻管理情報の管理範囲は図13(b)に示すようにデータ領域のセクタ0からセクタnとなっている(処理上は絶対的なセクタ番号を用いるが、便宜上、データ領域の開始セクタをセクタ0としたオフセットで表示している)が、次回書込み用に更新されたバッファEの「アクセス位置(セクタ番号)」がセクタ1に位置しており、つまり、セクタ0が既に上書きされ管理範囲に不具合が生じていることがわかる。これを図14(a)および(b)に示すように不具合のある時刻管理情報は捨てて不具合の無い一番古い時刻管理情報を「開始時刻ID」として登録することで不具合を適正化する。日付管理情報についても考え方は同じで、図15および図16に示す通りである。データ群管理情報の不具合についても適正化を行う。
適正化処理は次のとおり行われるが、上書き利用データ「データ領域上書きフラグ」が“0”または“1”の場合は不具合が無いためステップ7へ進む。
(1)時刻管理情報データ234Tの「開始時刻ID」が示す位置の時刻管理情報をハードディスク3の時刻管理領域2322から読み出しバッファC−3へ書き込む。
(2)(変更部分)バッファEの「アクセスセクタ」とバッファC−3の「開始セクタ」において、「開始セクタ」と「アクセスセクタ」は等しくなく、かつ、次の関係を満たすものは不具合ありと判断する。
「開始セクタ」から「アクセスセクタ」への順方向の距離<<「開始セクタ」から「アクセスセクタ」への逆方向の距離
但し、“セクタ”はデータ領域24の最小から最大まで順次大きくなった後(順方向)、最大の次に大きいのが最小であるリング状で考える。つまり、最小=0、最大=100とした場合、“位置”の順序(数の大きさ)は次のとおり考える。
0<1<2<・・・<99<100<0<1<・・・<100<0<1・・・
また、「開始位置」=「アクセスセクタ」であり、かつ、バッファEの「アクセスセクタ内データ位置」とバッファC−3の「開始セクタ内データ位置」において次の関係を満たすものも不具合ありと判断する。
「開始セクタ内データ位置」<「アクセスセクタ内データ位置」
不具合が無いと判断された場合はステップ7へ進む。
(3)時刻管理情報データ2314Tの「開始時刻ID」の不具合を次のとおり適正化する。
「開始時刻ID」の内容(番号=数字)に1を加算し、その番号の示す時刻管理情報をハードディスク3から読み出しバッファC−3へ書き込み、その「開始位置(開始セクタ番号)」と「終了位置(終了セクタ番号)」について、上記(2)と同じ不具合有無の判断を行い、不具合が無いと判断できるまで上記加算を続ける。加算により不具合が無くなった場合、その値を時刻管理情報データの「開始時刻ID」として記録し、同「開始時刻」にはその「開始時刻ID」の示す時刻管理情報の「時刻」の内容を書き込む。
なお、加算により時刻管理情報の最大番号を超えた場合には0に戻ることは先のステップで述べたとおりである。
(4)日付管理情報データ2314D(バッファB)の「開始時刻ID」の不具合を次のように適正化する。
時刻管理情報データ2314T(バッファA)の「開始時刻ID」の内容(番号)が日付管理情報データ(バッファA)の「開始日付ID」が示す日付管理情報(バッファB)の「開始時刻ID」と「終了時刻ID」の範囲内にある場合には(5)へ進み、範囲外の場合は(6)へ進む。
(5)バッファBの「開始時刻ID」にバッファAの「開始時刻ID」の内容を書き込み、(7)へ進む。
(6)バッファAの「開始日付ID」の内容(番号=数字)に1を加算し、その番号の示す日付管理情報(バッファB)の「開始時刻ID」と「終了時刻ID」の範囲内にバッファAの「開始時刻ID」が含まれるようになるまで、上記加算を繰り返す。
なお、加算により日付管理情報の最大番号を超えた場合には0に戻ることは先のステップで述べたとおりである。
上記範囲内になった場合、その時の開始日付IDをバッファAの「開始日付ID」に書き込み、その内容が示す日付管理情報(バッファB)の「開始時刻ID」にバッファAの「開始時刻ID」の内容を書き込むとともに、同日付管理情報の「日付」の内容を日付管理情報データ2314Dの「開始日付」に書き込み、(7)へ進む。
(7)データ群管理情報データ2315の「開始データ群管理情報ID」の不具合の有無を次のとおり確認し、適正化する。
「開始データ群管理情報ID」から「終了データ群管理情報ID」までの各データ群管理情報の「開始時刻ID」から「終了時刻ID」までの範囲のいずれかに時刻管理情報データ2314Tの「開始時刻ID」が含まれているか否かで次の処理に分かれる。
<含まれている場合>
含まれているデータ群管理情報のIDに1を加算し、データ群管理情報データの「開始データ群管理情報ID」として書き込み、そのデータ群管理情報の「日付、イベント情報」の日付と「時刻」の内容を、データ群管理情報データの「開始データ群管理情報日付」と「開始データ群管理情報時刻」にそれぞれ書き込む。なお、IDがデータ群管理情報の最大番号を超えた場合には0に戻ることは先のステップで述べたとおりである。
<含まれていない場合>
「開始データ群管理情報ID」から「終了データ群管理情報ID」までの各データ群管理情報の「開始時刻ID」と時刻管理情報データの「開始時刻ID」とを比較し、データ群管理情報の「開始時刻ID」>時刻管理情報データの「開始時刻ID」になった最初のデータ群管理情報のIDをデータ群管理情報データの「開始データ群管理情報ID」として書き込み、そのデータ群管理情報の「日付、イベント情報」の日付と「時刻」の内容を、データ群管理情報データの「開始データ群管理情報日付」と「開始データ群管理情報時刻」にそれぞれ書き込む。なお、この場合には不具合が無い場合も含まれている。
(ステップ7)
管理情報をハードディスク3に次のように記憶する。
バッファAとバッファBの内容を基本管理領域231と日付管理領域232にそれぞれ記憶する。
バッファC−2の内容を時刻管理情報データ2314T(バッファA)の「終了時刻ID」の示す時刻管理領域2322の位置に記憶する。
データ群管理登録を行った場合は、バッファD−2の内容をデータ群管理情報データ2315(バッファA)の「終了データ群管理情報ID」の示すデータ群管理領域233の位置に記憶する。
以上ステップ1からステップ7まででファイルの記録とその管理情報の記録が完了したことになる。
(ステップ8)(変更部分)
データ領域管理データ2313の「次回書込みセクタ」および「次回書込みセクタ内データ位置」が0であり、かつ、ハードディスク数が複数ある(バッファFの「ハードディスク数」が複数を示し、かつ、そのうち正常であるものが複数ある)場合はステップ9へ、そうでない(正常なハードディスクがこれまで記録に使った1つだけ)場合はステップ10へ進む。
(ステップ9)
(1)以上利用してきたハードディスク(HDD0)以外の正常なハードディスク(HDDx)から次に書き込みを行うハードディスクを選択するが、これにはバッファAに書き込んだ各ハードディスクの上書き利用データの「データ領域上書きフラグ」を参照する。フラグ=0は上書きなし、=1は次回上書き(現在、データ領域の最後まで書込み終了)、=2は上書き中を示す。優先順位は次のとおりである。
優先順位1:フラグ=2のHDD
優先順位2:フラグ=0のHDD
優先順位3:フラグ=1のHDD
フラグの値が同一のものがあれば、日時管理情報データ2314の「開始日付」、「開始時刻」が古いものを優先し、それが同じであればハードディスクの番号の小さいほうを優先する。なお、この処理は上述[電源投入後の初期化動作]と同じである。
(2)(変更部分)上記(1)で選択・決定されたハードディスクの番号をバッファEの「デバイス番号」に、データ領域管理データ2313の「次回書込みセクタ」と「次回書込みセクタ内データ位置」を同じくバッファEの「アクセスセクタ」と「アクセスセクタ内データ位置」に書き込む。
以降、データの書込みは上記優先順位で選択されたハードディスクに対して行われる。
(ステップ10)
書込み終了の報告を発し、今回のハードディスクへのファイル記録に関する一連の処理が終了したことになる。
<データの読出し>
(データ記録装置における全体の流れ)
初期化動作後のデータ記録装置1の全体的な流れを以下のステップにて示す。なお、上述した各手段における処理を一連の流れに沿って示したものでもある。
(ステップA)
入出力手段11は操作手段5からの信号により読出しメニュー(下記1〜4にて示す)のどれが選択されたのかを判断する。
1.記録範囲表示(ステップBへ)
2.データ群管理情報リスト取得(ステップEへ:図17参照)
3.時刻管理情報の検索(ステップKへ:図18参照)
4.データ群管理情報の検索(ステップNへ:図19参照)
なお、図17から図19はファイル読出し手段13からみた流れを概略に示したもので、破線部は、特にファイル記録・管理手段14の処理を示している。
(ステップB)
入出力手段11からメニュー1を指示されたファイル読出し手段13は、ファイル記録・管理手段14に接続された正常な全ハードディスク3に記憶された下記情報を出力するように指示する。
・最も古い日付情報と時刻情報
・最も新しい日付情報と時刻情報
要求内容は作業用記憶手段2の「出力指示」に記憶し、出力指令を発することになる(ステップCへ)。
(ステップC)
ファイル読出し手段13からの出力指令を受け、作業用記憶手段2の「出力指示」に記憶の内容から指示内容を理解し、正常な全ハードディスク3に関する指定された情報を、バッファAの日付管理情報データ2314Dの「開始日付」および「終了日付」並びに時刻管理情報データ2314Tの「開始時刻」および「終了時刻」から読み出し、作業用記憶手段2の「出力情報」へ書き込んだ後、準備完了報告をファイル読出し手段13に発する(ステップDへ)。
(ステップD)
準備完了報告を受けたファイル読出し手段13は作業用記憶手段2の「出力情報」にある情報をハードディスク3ごとに表示する形式に加工して入出力手段11を介して出力機器(モニタ)16や表示手段6に表示させることにより、メニュー1の処理が終了する。
(ステップE)
入出力手段11からメニュー2を指示されたファイル読出し手段13は、ファイル記録・管理手段14に接続された正常な全ハードディスク3に記憶された全データ群管理情報を同時表示可能数、例えば10情報をリスト化して表示するために、ファイル記録・管理手段14に10のデータ群管理情報をハードディスク3から取り出すように指示する。この情報を取得するために、取得デバイス番号(ハードディスク番号)、取得開始位置(データ群管理情報ID)、取得方向をそれぞれ基準としたデータ群管理情報のリスト取得の要求内容を作業用記憶手段2「出力指示」に記憶し、出力指令を発する(ステップFへ)。
(ステップF)
(1)ファイル読出し手段13からの出力指令を受け、ファイル記録・管理手段14は作業用記憶手段2の「出力指示」に記憶の内容からデータ群管理情報のリスト出力であることを理解し、取得デバイス番号が示すハードディスク3のデータ群管理領域233からデータ群管理情報の最大管理数分の情報を全て読み出し、バッファD−1(検索用)に書き込む。なお、取得デバイス番号が基準の場合は、現在のアクセス対象(例えばバッファEの「デバイス番号」に設定されている)を示す。
(2)指定の取得開始位置(データ群管理情報ID)から指定の取得方向(前方向、後ろ方向;基準は前方向)に向かってIDを1ずつ加減(前方向は減算、後ろ方向は加算)しながらそのIDが示すバッファD−1の位置を参照し、最大10個分のデータ群管理情報に登録された情報を取得する。
なお、取得開始位置の基準とは、データ群管理情報データの「終了データ群管理情報ID」に記録の内容(ID)を指している。
また、指定の取得方向が前方向の場合は、データ群管理情報データ2315の「開始データ群管理情報ID」が終点であり、後ろ方向の場合は、同「終了データ群管理情報ID」が終点である。
以上の結果、次の情報を作業用記憶手段2の「出力情報」に所定の規則に従い書き込む。
・リスト出力の対象となったデバイス番号
・最大10個のリスト(データ群管理情報ID,イベント情報,登録日時,開始時刻ID,終了時刻ID)
・前方向の終点に至った、または後ろ方向の終点に至った場合、それを示す情報
・リストの取得方向(前方向、後ろ方向)
・接続され正常に動作している全デバイス番号(基礎データ(図示なし)より取得)を日付管理情報データ2314Dの「開始日付」が古いもの順に並べたもの
また、デバイス番号をバッファEの「デバイス番号」に設定しておく。
上記書込みの後、ファイル記録・管理手段14はファイル読出し手段13へ準備完了報告を行う(ステップGへ)。
(ステップG)
準備完了報告を受けたファイル読出し手段13は「出力情報」からリストを取得して加工し、入出力手段11を介して出力機器(モニタ)16や表示手段6に表示するとともに、更に前方向、後ろ方向のリスト出力要求を受け付ける状態、データ群管理情報に基づくデータの読出し(再生)要求受付状態、およびメニュー2の終了を受け付ける状態になる。つまり、操作手段5から何れかが選択され、それが入出力手段11を介して伝わるのを待つことになる。
操作手段5による操作の内容がリスト出力要求であればステップHへ、データの読出し要求であればステップIへ、終了であればメニュー2が終了する。
(ステップH)
リストの出力を要求される場合、操作手段5により取得デバイス番号、取得開始位置、取得方向の少なくとも何れかが入力されている。ファイル読出し手段13は、省略されたものについては基準を、入力されたものはその示す内容を「出力指示」に設定する。
なお、前方向のみ入力された場合であって、「出力情報」に残っている前回出力したリストの情報に前方向の終点に至った情報がある場合は、同じく残っている対象となった正常なデバイスの番号よりも1つ古いデバイス番号を「出力指示」に設定する。終点に至っていない場合は、「出力情報」に残っている対象となったデバイス番号を取得デバイス番号とし、同じく残っているリストの最も古いIDから1を減じたIDを取得開始位置、取得方向を前方向として「出力指示」に設定する。
逆に、後ろ方向のみ選択された場合であって、「出力情報」に残っている前回出力したリストの情報に後ろ方向の終点に至った情報がある場合は、同じく残っている対象となったデバイス番号よりも1つ新しいデバイス番号を「出力指示」に設定する。終点に至っていない場合は、「出力情報」に残っている対象となったデバイス番号を取得デバイス番号とし、同じく残っているリストの最も新しいIDに1を加算したIDを取得開始位置、取得方向を後ろ方向として「出力指示」に設定する。
上記設定を行った後に「出力指令」をファイル記録・管理手段14へ発する(ステップFへ)。
(ステップI)
データの読出し要求の場合、操作手段5により表示したリストのデータ群管理情報IDの指定が行われた上で読み出し要求がされている。入出力手段11を介してこの要求を受け取ったファイル読出し手段13は、受け取ったデータ群管理情報IDに基づき「出力情報」に残っている該当IDの情報にある開始時刻IDと終了時刻IDを取得し、開始時刻IDから終了時刻IDまでで管理されているファイルをハードディスク3から読み出すようにファイル記録・管理手段14に指示する。これらは次のように行われる。
(1)時刻管理情報ID(最初は取得した開始時刻ID)をデータ読出し対象としたデータ読出し要求を「出力指示」に設定した上でファイル記録・管理手段14に出力指令を発する。
(2)ファイル記録・管理手段14は「出力指示」を参照し、指定の時刻管理情報IDに基づきハードディスク3の時刻管理領域2322から指定の時刻管理情報を読み出し、バッファC−1へ記憶する。
(3)(変更部分)次に、指定の時刻管理情報の「開始セクタ」から「終了セクタ」までを順番にバッファEの「アクセスセクタ」に書き込み、先に設定されたデバイス番号のハードディスク3のデータ領域24から「アクセスセクタ」により指定されたセクタのデータを順番に読み出し、不要部を除いて読み出したデータが「読出しデータバッファ」の頭から連続するように順番に書き込む。この時、上記図示しない作業用記憶手段の所定領域に一旦書き込むが、指定の時刻管理情報「開始セクタ」から読み出した情報には図25(b)に示すような不要部分が存在するかもしれないため、時刻管理情報の「開始セクタ」、「開始セクタ内データ位置」、「終了セクタ」および「終了セクタ内データ位置」を参照して必要な部分のみを上記領域から取り出し、「読出しデータバッファ」の頭から書き込む。そして、取り出した必要部分のサイズ(=読出し容量=(終了セクタ−開始セクタ)×1セクタ当たりの容量+終了セクタ内データ位置−開始セクタ内データ位置)を「読出しデータ情報」に書き込み、準備完了報告を発してステップJへ進む。
(ステップJ)
読み出されたファイルのヘッダ情報に基づき元のデータに戻して入出力手段11を介して出力機器(モニタ等。ここではビデオのデータにつき画像の再生)16へ出力する。この読み出しについては次のように行われる。
(1)(変更部分)ファイル読出し手段13はファイル記録・管理手段14から「準備完了報告」を受けたら、「読出しデータバッファ」の先頭からヘッダ情報がはじまることを確認し、ヘッダ情報からデータサイズを取り出し、ヘッダ情報終了後からそのデータサイズ分のデータを取り出す。これが元のデータであり、入出力手段11を介して出力機器(モニタ)16に出力(表示)する。
(2)(変更部分)ファイル読出し手段13はデータを取り出した最終位置(ファイルの最終位置である)と「読出しデータ情報」に記憶の「読出し容量」とを比較し、等しくなければ上記ファイルの最終位置の次の位置から始まるヘッダ情報から上述と同様にデータを取り出して出力する。これを取り出したファイルの最終位置(読出しデータバッファ内の位置である)が上記「読出し容量」と等しくなるまで続け、等しくなったら(3)へ進む(実施の形態1にて説明した(3)と(4)は不要となる)。
(3)上記ステップIの(1)で設定した時刻管理情報IDが上記取得した終了時刻IDより小さい場合、各コマの切り替え周期にあわせて時刻管理情報IDに1(数の大きさは別途変更可能としても良い)を加算して、加算による時刻管理情報IDが終了時刻IDと同じまたは小さい場合はそのIDを時刻管理情報IDとしてステップIへ戻る。逆に大きい場合はメニュー2の処理を終了する。
(ステップK)
次のように指定日時のファイルをハードディスク3から読み出し出力する。
(1)操作手段5から入力された日時が入出力手段11を介して届くのを待ち、日時を受け取ったら作業用記憶手段2の「出力指示」に日時と時刻管理情報検索であることを設定し、ファイル記録・管理手段14に出力指令を発する。
(2)出力指令を受けたファイル記録・管理手段14は「出力指示」の内容から時刻管理情報検索であることを認識し、バッファAにある全ハードディスク3の日付管理情報データ2314Dの「開始日付」に情報が入っている(正常である)全てのハードディスク3のバッファB(日付管理情報)の「日付」を対象に、指定の日付(日時の一部)と一致するものがあるか否かを検索する。
一致するものがあれば(3)へ、一致するものが無ければ(4)へ進む。
(3)一致した日付を管理する日付管理情報を有するハードディスク3の番号(デバイス番号)をそのバッファAの基礎データ2311の「デバイス番号」(図示なし)から読み取り、バッファEの「デバイス番号」へ書き込み、(5)へ進む。
(4)検索の結果、指定の日付に最も近い日付を管理する日付管理情報を有するハードディスク3の番号(デバイス番号)をそのバッファAの基礎データの「デバイス番号」(図示なし)から読み取り、バッファEの「デバイス番号」へ書き込み、(5)へ進む。
(5)(変更部分)上記(3)または(4)で定まった日付管理情報の「開始時刻ID」から「終了時刻ID」までの時刻管理情報をハードディスクの時刻管理領域2322から読み出して(最大24時間分)、バッファC−1へ書き込んだ上で、その各時刻管理情報の中の「時刻」を対象に、指定の時刻(日時の一部)と一致するものがあるか否かを検索する。一致したものがあればその時刻管理情報の、一致したものが無ければ最も近い「時刻」を有する時刻管理情報の「開始セクタ」から「終了セクタ」までを順番にバッファEの「アクセスセクタ」に書き込み、先に設定されたデバイス番号のハードディスクのデータ領域24から「アクセスセクタ」により指定されたセクタのデータを順番に読み出し、不要部を除いて読み出したデータが「読出しデータバッファ」の頭から連続するように順番に書き込む。この時、上記図示しない作業用記憶手段2の所定領域に一旦書き込むが、指定の時刻管理情報の「開始セクタ」から読み出した情報には、図25(b)に示すような不要部分が存在するかもしれないため、時刻管理情報の「開始セクタ」、「開始セクタ内データ位置」、「終了セクタ」および「終了セクタ内データ位置」を参照して必要な部分のみを上記領域から取り出し、「読出しデータバッファ」の頭から書き込む。
そして、取り出した必要部分のサイズ(=読出し容量=(終了セクタ−開始セクタ)×1セクタ当たりの容量+終了セクタ内データ位置−開始セクタ内データ位置)を「読出しデータ情報」に書き込み、準備完了報告を発してステップLに進む。
(ステップL)(変更部分)
読み出されたファイルのヘッダ情報に基づき元のデータに戻して入出力手段11を介して出力機器(モニタ等。ここではビデオのデータにつき画像の再生)16へ出力する。その出力は再生停止の操作を操作手段5から入力しない限りは指定日時よりも新しいものを順次自動再生するものとして次に説明する。
(1)ファイル読出し手段13はファイル記録・管理手段14から「準備完了報告」を受けたら、「読出しデータバッファ」の先頭からヘッダ情報が始まることを確認し、ヘッダ情報からデータサイズを取り出し、ヘッダ情報終了後からそのデータサイズ分のデータを取り出す。これが元のデータであり、入出力手段11を介して出力機器(モニタ)16に出力(表示)する。
(2)ファイル読出し手段13はデータを取り出した最終位置(ファイルの最終位置である)と「読出しデータ情報」に記憶の「読出し容量」とを比較し、等しくなければ上記ファイルの最終位置の次の位置から始まるヘッダ情報から上述と同様にデータを取り出し、出力する。これを取り出したファイルの最終位置(読出しデータバッファ内の位置である)が上記「読出し容量」と等しくなるまで続け、等しくなったらステップMへ進む(実施の形態1における(3)と(4)は不要となる)。
(ステップM)(変更部分)
以下に示すように次の時刻管理情報による出力を行う。
(1)ファイル読出し手段13は各コマの切り替え周期に合わせて、ファイル記録・管理手段14に次のデータの要求を行うために「出力指示」に“継続出力”の設定を行った上で出力指令を発する。
(2)“継続出力”の出力指令を受けたファイル記録・管理手段14は、上記ステップKの(5)で「開始セクタ」、「終了セクタ」、「開始セクタ内データ位置」および「終了セクタ内データ位置」を読み出した時刻管理情報のIDが時刻管理情報データ2314Tの「終了時刻ID」よりも小さければ時刻管理情報IDに1(数の大きさは別途変更可能としても良い)を加算して、その加算した時刻管理情報IDが上記「終了時刻ID」と同じまたは小さい場合はその時刻管理情報IDで指定される時刻管理情報の「開始セクタ」から「終了セクタ」をバッファEの「アクセスセクタ」に順に書込みそれぞれの位置(セクタ番号)が示すセクタの情報をハードディスク3から順番に読み出し、不要部を除いて読み出したデータが「読出しデータバッファ」の頭から連続するように順番に書き込む。この時、上記図示しない作業用記憶手段2の所定領域に一旦書き込むが、指定の時刻管理情報の「開始セクタ」から読み出した情報には図25(b)に示すような不要部分が存在するかもしれないため、時刻管理情報の「開始セクタ」、「開始セクタ内データ位置」、「終了セクタ」および「終了セクタ内データ位置」を参照して必要な部分のみを上記領域から取り出し「読出しデータバッファ」の頭から書き込む。そして、取り出した必要部分のサイズ(=読出し容量=(終了セクタ−開始セクタ)×1セクタ当たりの容量+終了セクタ内データ位置−開始セクタ内データ位置)を「読出しデータ情報」に書き込み、準備完了報告を発してステップLへ進む。
一致もしくは大きければ、または加算の結果大きくなった場合は、接続された正常なハードディスクであって現在アクセスしているハードディスクよりも日付管理情報データ2314Dの「開始日付」が新しいハードディスクがあれば、そのデバイス番号をバッファEの「デバイス番号」に登録し、時刻管理情報データ2314Tの「開始時刻ID」が示す時刻管理情報の「開始セクタ」から「終了セクタ」をバッファEの「アクセスセクタ」に順に書込みそれぞれの位置(セクタ番号)が示すセクタの情報をハードディスクから順番に読み出し、不要部を除いて読み出したデータが「読出しデータバッファ」の頭から連続するように順番に書き込む。この時、上記図示しない作業用記憶手段の所定領域に一旦書き込むが、指定の時刻管理情報「開始セクタ」から読み出した情報には図25(b)に示すような不要部分が存在するかもしれないため、時刻管理情報の「開始セクタ」、「開始セクタ内データ位置」、「終了セクタ」および「終了セクタ内データ位置」を参照して必要な部分のみを上記領域から取り出し、「読出しデータバッファ」の頭から書き込む。そして、取り出した必要部分のサイズ(=読出し容量=(終了セクタ−開始セクタ)×1セクタ当たりの容量+終了セクタ内データ位置−開始セクタ内データ位置)を「読出しデータ情報」に書き込み、準備完了報告を発してステップLへ進む。上記「開始日付」が最も新しいハードディスクで「終了時刻ID」まで再生が行われるとメニュー3の処理は終了する。
当然、操作手段5により再生停止の操作がなされ、入出力手段11を通じてファイル読出し手段13が受け取ると、ファイル読出し手段13は「出力指示」に“再生停止”を設定し、出力指令を発することでファイル記録・管理手段14は再生停止を認識し、再生は停止される。
(ステップN)
次のように指定日時のデータ群管理情報で管理されたファイルをハードディスク3から読み出し出力する。
(1)操作手段5から入力された日時が入出力手段11を介して届くのを待ち、日時を受け取ったら作業用記憶手段2の「出力指示」に日時とデータ群管理情報であることを設定し、ファイル記録・管理手段14に出力指令を発する。
(2)出力指令を受けたファイル記録・管理手段14は「出力指示」の内容からデータ群管理情報検索であることを認識し、バッファAにある全ハードディスク3のデータ群管理情報データ2315の「開始データ群管理情報日付」と「終了データ群管理情報日付」の範囲内に、指定の日付(日時の一部)が含まれているか否かを検索する。
含まれているハードディスクがあれば(3)へ、含まれているものが無ければ指定日付に最も近いハードディスクを選択して(3)へ進む。
(3)ハードディスク3のデータ群管理領域233からデータ群管理情報を読み出してバッファD−1へ書き込み、各データ群管理情報の「日付、イベント情報」における日付と指定の日付とで一致しているものがあるか否かを判断する。一致しているデータ群管理情報があれば(4)へ、一致していなければ指定日付に最も近いデータ群管理情報を選択し(4)へ進む。
(4)選択された1以上のデータ群管理情報の「時刻」に対して、指定の時刻と一致するものがあるか否かを検索する。一致するものがあればそのデータ群管理情報が、一致していなければ指定時刻に最も近いデータ群管理情報が検索結果となる。なお、説明を省略したが、このハードディスクの番号(デバイス番号)はデータ群管理情報をバッファD−1へ書き込む時点で既にアクセス先としてバッファEの「デバイス番号」へ書き込まれている。
以上の結果、次の情報を作業用記憶手段2の「出力情報」に所定の規則に従い書き込む。
・対象となったデバイス番号
・データ群管理情報ID,イベント情報,登録日時,開始時刻ID,終了時刻ID
次に、ファイル記録・管理手段14はファイル読出し手段13へ準備完了報告を行う(ステップOへ)。
(ステップO)
準備完了報告を受けたファイル読出し手段13は「出力情報」からデータ群管理情報に関する情報を取得し、加工し入出力手段11を介して出力機器(モニタ)16や表示手段6に表示するとともに、データ群管理情報に基づくデータの読出し(再生)要求受付状態、およびメニュー4の終了を受け付ける状態になる。つまり、操作手段5から何れかが選択され、それが入出力手段11を介して伝わるのを待つ。
データの読出し要求であればステップPへ進み、終了であればメニュー4の処理が終了する。
(ステップP)
データの読出し要求の場合、操作手段5により表示したリストのデータ群管理情報IDの指定が行われた上で読み出し要求がされている。
これ以下はデータ群管理情報が1件表示である点を除いてメニュー2のデータ群管理情報を複数表示したリストから選択している話しと基本的に同じとなる。つまりステップIと同じ処理の説明となるため省略する。ステップIに続くステップJについてもメニュー4の終了になる以外は同じ処理であるため説明を省略する。
上記の説明においては、プログラムに従って制御手段8が動作することにより、プログラムと制御手段8の組合せで入出力手段11、書込みファイル作成手段12、ファイル読出し手段13、ファイル記録・管理手段14といった機能的手段が構成されることを示した。また、そのプログラムで規定された手順による処理の流れをステップごとに示した。なお、各手段間の指令等は例えば各手段をなすプログラムの呼び出しであり、呼び出されて処理した結果を渡すこと、報告すること等は呼び出されたプログラムによる返り値等に相当する。また、作業用記憶手段2を介して、ファイル記録・管理手段14と書込みファイル作成手段12またはファイル読出し手段13との間でデータのやり取りを行っていると説明したが、これは、例えばプログラム中に静的または動的な変数を設定し、その変数にデータを代入する行為で実現される。
また、本実施の形態2では、データの記録時は時系列に記録されるファイルをデータ領域において、セクタ内の位置レベルで隙間無く連続して記録しており、読出しの際には、アクセス単位がセクタにつき、セクタ内の読出し開始位置を示す情報を導入することにより、常に読出し開始のファイルの先頭(ここではヘッダ情報)が特定できることを示した。また、同じ時刻管理情報で管理された最後のファイルの書込みを開始したセクタ(終了セクタ)とそのセクタ内のデータ位置を示しているので、最後のファイルの位置が特定可能となり、1つの時刻管理情報で管理された全てのファイルから元のデータを取り出すことができる。
また、ファイルを時刻単位で管理し、その時刻で管理する最初のファイルが記録されたセクタと最後のファイルが記録されたセクタを管理するようにしている。従って、長時間にわたって連続時間記録を続けたものからデータを読み出す際でも、管理単位は管理自国の大きさによるため、それを連続記録時間に対して十分小さくしていれば必要なデータをピンポイントで読み出すことが可能となり、よって第1の目的を達成することができる。
例えば、記録媒体の管理領域やデータ領域にかかわらず物理的破壊があった場合でも、管理時刻単位を短くすることで、読出し不可能な被害は破壊のあった管理時刻の管理範囲や破壊のあったセクタに記録したファイル程度で済むことになり、破壊のない時刻管理情報があればそれに基づきファイルを読み出し可能となる。全ての管理情報が破壊されても、データ領域の開始位置からデータ領域内の破壊されたセクタまでのファイルは、ヘッダ情報にデータサイズを保持していれば元のデータを取り出し可能であるし、連続したファイルを次々と読み出すことができる。
また、データ領域は最小アクセス単位のセクタよりも小さいセクタ内の位置レベルで連続するファイル間に隙間が内容に記録することにしているため、データ領域の容量を効率よく、100%無駄なく利用することができ第3の目的を達成することができる。
さらに、時刻単位では範囲が小さすぎる場合であっても時刻管理情報を更に束ねた管理方法としてデータ群管理情報による管理を行ったので、特定の状況におけるデータ群を束ねて管理し出力可能となるため第4の目的も達成することができる。
ここで、実施の形態2における各機能を発揮するためのデータ記録用プログラムの基本的な構成について、項目ごとに示しておく。
第1の構成は、データの記録および読出しをランダムアクセスで行い得るとともに単位記録領域が多数形成された記録媒体を有する記録手段が設けられてなるデータ記録装置に具備させることにより、受け取ったデータを記録手段のデータ領域に記録させるとともにこのデータを管理する管理情報を管理領域に作成または作成済みのものを更新させるためのプログラムであって、
上記データ領域への記録を、領域を形成する複数の単位記録領域のアドレス順に行わせるデータ書込み機能と、記録された記録データの管理を、所定の時間幅を有する管理時間単位ごとにデータ領域における記録位置にて管理する時間単位管理情報を作成または作成済みのものを更新させる管理情報作成機能とを具備したものである。
第2の構成は、第1の構成におけるデータ書込み機能に、所定の時間幅の経過を監視するとともに時間の経過により新規の時間単位管理情報の作成を行う際に、直前の時間単位管理情報で管理した記録データを含んでいない次の単位記録領域内の頭から、データを記録させる時間経過監視機能を具備させたものである。
第3の構成は、第1の構成における管理情報作成機能に、単位記録領域のアドレスおよびその単位記録領域内の位置を管理情報とする時間単位管理情報を作成する機能を具備させ、データ書込み機能に、データ領域が始まる単位記録領域内の先頭位置からデータを記録するとともに、今回記録した記録データの次の位置を次回書き込みのための情報として保持することで、データ領域に隙間なく、データを連続して記録させる機能を具備させたものである。
第4の構成は、第1または第2の構成において、データ群登録開始指令を受けた場合に、その時のデータを管理する時間単位管理情報を開始情報として記録するデータ群管理情報を作成するとともに、データ群登録終了指令を受けた場合に、その時のデータを管理する時間単位管理情報を終了情報として上記作成したデータ群管理情報に記録するデータ群管理情報作成機能を具備させたものである。
第5の構成は、第1乃至第4の構成のいずれかにおいて、データ領域への記録および/または管理領域への時間単位管理情報の作成が最後部に達したときに、次回から各領域の先頭に戻って上書きする上書き機能と、管理情報が管理する範囲において上書きにより管理情報に不具合が認められた場合、管理範囲が上書きされていない次の時間単位管理情報から参照可能となるように管理情報を適正化する不具合適正化処理機能を具備させたものである。
本発明に係るデータ記録装置およびデータ記録用プログラムは、記録手段にデータを書き込み、そして読み出し可能とするものであり、その処理は、例えばCPUからなる制御手段を利用しており、産業上の利用可能性があるものである。
本発明の実施の形態1に係るデータ記録装置の概略構成を示すブロック図である。 同データ記録装置の機能的構成を示すブロック図である。 同データ記録装置の記録手段における記録媒体の領域を説明する図である。 同記録媒体における基本管理情報を説明する図である。 同記録媒体における日付管理情報を説明する図である。 同記録媒体におけるデータ群管理情報を説明する図である。 同データ記録装置における日時管理情報と記録データとの関係を説明する図である。 同データ記録装置におけるデータ群管理情報を説明する図である。 同データ記録装置におけるハードディスクの使用例を示す図である。 同データ記録装置における管理情報バッファと記録媒体における管理情報との関係を示す図である。 同データ記録装置におけるデータ記録時の動作を示すフローチャートである。 同データ記録装置におけるファイル記録・管理手段での処理動作を示すフローチャートである。 同データ記録装置における管理情報不具合適正化の処理動作を説明する図である。 同データ記録装置における管理情報不具合適正化の処理動作を説明する図である。 同データ記録装置における管理情報不具合適正化の処理動作を説明する図である。 同データ記録装置における管理情報不具合適正化の処理動作を説明する図である。 同データ記録装置におけるデータ群管理情報リストの取得動作を示すフローチャートである。 同データ記録装置における時刻管理情報の検索動作を示すフローチャートである。 同データ記録装置におけるデータ群管理情報の検索動作を示すフローチャートである。 本発明の実施の形態2に係るデータ記録装置の記録媒体における基本管理情報を説明する図である。 同記録媒体における日付管理情報を説明する図である。 同記録媒体におけるデータ群管理情報を説明する図である。 同データ記録装置の作業用記憶手段におけるバッファを説明する図である。 同データ記録装置のデータ領域におけるデータ記録形態を説明する図である。 同データ領域からデータバッファにデータを書き込んだ状態を示す図である。
符号の説明
1 データ記録装置
2 作業用記憶手段
3 記録手段
4 プログラム記憶手段
5 操作手段
6 表示手段
7 時計手段
8 制御手段
11 入出力手段
12 書込みファイル作成手段
13 ファイル読出し手段
14 ファイル記録・管理手段
15 入力機器
16 出力機器
21 ディスク側管理手段
22 記録媒体
23 管理領域
24 データ領域

Claims (9)

  1. 管理情報を記録する管理領域とデータを記録するデータ領域とを有し且つデータの記録および読出しをランダムアクセスで行い得るとともにアドレスとしての書込み位置情報により指定可能な単位記録領域が多数形成された記録媒体を有する記録手段が具備された記録装置であって、
    受け取ったデータにヘッダ情報を付加してファイルを作成するとともに、当該作成されたファイル、ファイルサイズ並びにその作成日付および作成時刻からなる作成日時情報を出力する書込みファイル作成手段と、
    この書込みファイル作成手段からファイル、ファイルサイズおよび作成日時情報を受け取り、当該ファイルを上記記録手段のデータ領域にアドレス順である位置情報順に書き込むとともに、このデータ領域に記録された記録データにアクセスするために必要なデータの書込み開始位置情報、書込み終了位置情報およびデータの作成日時情報からなる日時管理情報を上記管理領域に記憶させ、且つ当該日時管理情報の作成日時情報における日付単位または時間単位でもってデータを管理するファイル記録・管理手段と
    を具備させたことを特徴とするデータ記録装置。
  2. ファイル記録・管理手段により、先に受け取った先のファイルに連続して受け取った次のファイルにおける作成日時情報が、先のファイルの作成日時情報に一致する場合、上記先のファイルの作成日時情報でもって、先のファイルの書込み開始位置から次のファイルの書込み終了位置までのデータ領域を管理するようにしたことを特徴とする請求項1に記載のデータ記録装置。
  3. 日時管理情報が管理する範囲は、当該日時管理情報を作成した日時における管理の先頭となるファイルの書込み開始位置と管理の最後となるファイルの書込み終了位置であることを特徴とする請求項1または2に記載のデータ記録装置。
  4. 書込みファイル作成手段に、作成したファイル、ファイルサイズおよび作成日時情報を出力する際に、関連する複数のファイルを一纏まりのデータ群として管理するための登録開始指令および登録終了指令を出力し得る出力機能を具備させ、
    且つファイル記録・管理手段に、登録開始指令を受け取ったファイルの日時管理情報を登録開始位置にするとともに、登録終了指令を受け取ったファイルの日時管理情報を登録終了位置として、データ群管理情報に登録する登録機能を具備させたことを特徴とする請求項1乃至3のいずれか一項に記載のデータ記録装置。
  5. 請求項1に記載のデータ記録装置に具備されて、入力されたデータを記録媒体のデータ領域に記録させるとともにこのデータを管理する管理情報をその管理領域に作成するまたは作成済みのものを更新させるためのプログラムであって、
    上記データ領域への記録を、領域を形成する複数の単位記録領域の位置情報順に行うデータ書込み機能と、
    記録された記録データの管理を、時間単位ごとに管理する時間単位管理情報を作成するまたは作成済みのものを更新させる管理情報作成機能と
    を具備したことを特徴とするデータ記録用プログラム。
  6. データ書込み機能は、前回書き込んだ記録データを含んでいない次の単位記録領域内の頭からデータを記録させることを特徴とする請求項5に記載のデータ記録用プログラム。
  7. 管理情報作成機能に、単位記録領域の位置情報およびその単位記録領域内の位置情報を管理情報とする時間単位管理情報を作成する機能を具備させ、
    データ書込み機能に、単位記録領域内の任意位置からデータを記録するとともに、今回記録した記録データの書込み終了位置に基づき、次回書き込むための位置情報を保持することで、データ領域に隙間なくファイルを連続して記録させ得る機能を具備させたことを特徴とする請求項5に記載のデータ記録用プログラム。
  8. データ群の登録開始指令を受け取った場合に、その時のデータを管理する時間単位管理情報を登録開始位置として記録するデータ群管理情報を作成するとともに、データ群の登録終了指令を受け取った場合に、その時のデータを管理する時間単位管理情報を登録終了位置として上記作成したデータ群管理情報に記録するデータ群管理情報作成機能を具備させたことを特徴とする請求項5または請求項6に記載のデータ記録用プログラム。
  9. データ領域への記録および/または管理領域への時間単位管理情報の作成が最後部に達したときに、次回から、その領域の先頭に戻り上書きを行う上書き機能と、
    この上書き機能により、データが上書きされた場合、当該上書きに係る単位管理領域を管理する日時管理情報の書込み開始位置を、上書きされた最後部におけるデータの日時管理情報の次の位置情報に更新する更新処理機能(不具合適正化処理機能)と
    を具備させたことを特徴とする請求項5乃至請求項8のいずれか一項に記載のデータ記録用プログラム。
JP2003316112A 2003-09-09 2003-09-09 データ記録装置および記録用プログラム Expired - Fee Related JP4086739B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003316112A JP4086739B2 (ja) 2003-09-09 2003-09-09 データ記録装置および記録用プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003316112A JP4086739B2 (ja) 2003-09-09 2003-09-09 データ記録装置および記録用プログラム

Publications (2)

Publication Number Publication Date
JP2005085360A JP2005085360A (ja) 2005-03-31
JP4086739B2 true JP4086739B2 (ja) 2008-05-14

Family

ID=34416113

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003316112A Expired - Fee Related JP4086739B2 (ja) 2003-09-09 2003-09-09 データ記録装置および記録用プログラム

Country Status (1)

Country Link
JP (1) JP4086739B2 (ja)

Also Published As

Publication number Publication date
JP2005085360A (ja) 2005-03-31

Similar Documents

Publication Publication Date Title
JP4537083B2 (ja) データ処理装置及びその制御方法
RU2379771C2 (ru) Носитель записи, устройство записи, устройство воспроизведения, способ записи и способ воспроизведения
KR100465355B1 (ko) 정보데이터기록재생장치및방법
JP2005108135A (ja) ファイル管理装置、ファイル管理方法、ファイル管理方法のプログラム及びファイル管理方法のプログラムを記録した記録媒体
US7813248B2 (en) Method and apparatus for protecting data when a recording process has failed
CN102802025B (zh) 视频-声音文件更新系统和视频-声音文件更新方法
US6754680B1 (en) Data control equipment, method to control data and recording medium to record data control procedure
US7426568B2 (en) Seek minimized recoverable streaming file system
JP4086739B2 (ja) データ記録装置および記録用プログラム
JP2553751B2 (ja) ディスクセクタ代替方式
JP2004511038A (ja) 記録装置間でデータを転送するシステムおよび方法
JPH0789267B2 (ja) データ編集/提示方法とその装置
US7406491B1 (en) Disk medium managing method having recording areas predefined on the disk medium as directories
JP4821731B2 (ja) 光ディスク装置
JP2007109123A (ja) 記録装置
JP2007128286A (ja) 再生装置、再生方法および再生プログラム
JP4155878B2 (ja) 情報記録再生装置
JP2007265010A (ja) ファイル再生装置およびファイル再生方法ならびにプログラム
JPH10340533A (ja) データ記録装置及び方法
JP4480592B2 (ja) ファイルシステム
JP2008171566A (ja) データ再生装置及びデータ記録装置、並びにデータ再生方法及びデータ記録方法
JP2000165794A (ja) 記録再生装置及び映像データ管理方式
JP2004079125A (ja) 記録媒体の記録領域管理方法、そのプログラム、および、情報記録再生装置
JP2001036841A (ja) データ管理装置、データ管理方法、データ管理手順を記録した記録媒体
JPS62195777A (ja) 画像情報記憶検索装置におけるペ−ジ単位編集方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071219

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: 20080122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080219

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

Free format text: PAYMENT UNTIL: 20110228

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4086739

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20110228

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120229

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120229

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130228

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140228

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees