(57)【要約】【課題】保存データの安全性を高めるとともに、データ転送性能を向上することができるデータ保存装置を提供する。【解決手段】リムーバブルＨＤＤ５００に書き込むデータを一時的に保存しているＨＤＤキャッシュ１２１からデータを削除する場合、削除対象のデータ９５−２ｂ、９５−３ｂがリムーバブルＨＤＤ５００内のディスク５６０に永続的に記録されるまで、ＨＤＤキャッシュ１２１からのデータ削除を待機することにより、リムーバブルＨＤＤ５００に一時的に記録されているデータ９５−２ａ、９５−３ａがＨＤＤキャッシュ１２１上に常に存在することを保証して、リムーバブルＨＤＤ５００が再起動した時に、その異常終了時点の保存データ状況の復元を可能にする。【選択図】    図２
2004310228.tif 000002
【特許請求の範囲】
【請求項１】
データを一時的に保存するためのキャッシュ領域をもち、そのキャッシュ領域によりデータを一時的に記録する第１の記録媒体と、データを一時的に保存するためのバッファ領域をもち、そのバッファ領域からのデータを半永続的に保存可能な第２の記録媒体とを有し、データを前記第１の記録媒体を介して前記第２の記録媒体に保存する場合には、前記データを前記キャッシュ領域に保存した後に、そのデータを前記第２の記録媒体に転送して前記バッファ領域に一時的に保存し、その後、所定の時間が経過すると、前記バッファ領域からのデータを前記第２の記録媒体に記録して半永続的に保存するデータ保存装置であって、前記キャッシュ領域に保存されたデータを削除する場合、その削除対象データが前記第２の記録媒体上に転送されてからの経過時間が前記所定の時間以上になるまで、前記削除の実行を待機するよう構成したことを特徴とするデータ保存装置。
【請求項２】
データを一時的に保存するためのキャッシュ領域をもち、そのキャッシュ領域によりデータを一時的に記録する第１の記録媒体と、データを半永続的に保存可能な第２の記録媒体とを有し、データを前記第１の記録媒体を介して前記第２の記録媒体に保存する場合には、前記データを前記キャッシュ領域に保存した後に、そのデータを前記第２の記録媒体に転送して半永続的に保存するデータ保存装置であって、前記第２の記録媒体の異常終了した頻度に関する統計情報を取得し、前記統計情報に基づいて前記キャッシュ領域上のデータを前記第２の記録媒体に転送するタイミングを制御するよう構成したことを特徴とするデータ保存装置。
【請求項３】
請求項２に記載のデータ保存装置であって、前記第２の記録媒体が過去に異常終了した頻度に関する統計情報として、起動された回数と正常終了した回数をもつよう構成したことを特徴とするデータ保存装置。
【請求項４】
データを一時的に保存するためのキャッシュ領域をもち、そのキャッシュ領域によりデータを一時的に記録する第１の記録媒体と、データを一時的に保存するためのバッファ領域をもち、そのバッファ領域からのデータを半永続的に保存可能な第２の記録媒体とを有し、データを前記第１の記録媒体を介して前記第２の記録媒体に保存する場合には、前記データを前記キャッシュ領域に保存した後に、そのデータを前記第２の記録媒体に転送して前記バッファ領域に一時的に保存し、その後、所定の時間が経過すると、前記バッファ領域からのデータを前記第２の記録媒体に記録して半永続的に保存するデータ保存装置であって、前記キャッシュ領域に保存されたデータを削除する場合、その削除対象データが前記第２の記録媒体上に転送されてからの経過時間が前記所定の時間以上になるまで、前記削除の実行を待機するとともに、前記第２の記録媒体の異常終了した頻度に関する統計情報を取得し、前記統計情報に基づいて前記キャッシュ領域上のデータを前記第２の記録媒体に転送するタイミングを制御するよう構成したことを特徴とするデータ保存装置。
【請求項５】
データを一時的に記録する第１の記録媒体と、データを半永続的に保存可能な第２の記録媒体とを有し、データを前記第１の記録媒体を介して前記第２の記録媒体に保存する場合には、前記データを前記第１の記録媒体に一時的に保存した後に、そのデータを前記第２の記録媒体に転送して一時的に保存し、その後、所定の時間が経過すると、データを前記第２の記録媒体に半永続的に保存するデータ保存装置であって、前記第１の記録媒体に保存されたデータを削除する場合、その削除対象データが前記第２の記録媒体上に転送されてからの経過時間が前記所定の時間以上になるまで、前記削除の実行を待機するよう構成したことを特徴とするデータ保存装置。
【請求項６】
データを一時的に記録する第１の記録媒体と、データを半永続的に保存可能な第２の記録媒体とを有し、データを前記第１の記録媒体を介して前記第２の記録媒体に保存する場合には、前記データを前記第１の記録媒体に一時的に保存した後に、そのデータを前記第２の記録媒体に転送して半永続的に保存するデータ保存装置であって、前記第２の記録媒体の異常終了した頻度に関する統計情報を取得し、前記統計情報に基づいて前記第１の記録媒体上のデータを前記第２の記録媒体に転送するタイミングを制御するよう構成したことを特徴とするデータ保存装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディジタルデータを記録再生する情報機器におけるデータ保存技術に関するものである。
【０００２】
【従来の技術】
従来から、ハードディスク等の大容量な記録メディアは、計算機をはじめとする多様な情報処理装置に２次記録媒体として使用されているが、これらの大容量記録メディアへのアクセスは、情報処理装置の１次記録媒体であるメモリ素子へのアクセスと比べると桁違いに遅い。
【０００３】
そこで、２次記録媒体に書き込むデータを一時的に保存するキャッシュを１次記録媒体上に設け、このキャッシュへの書き込み完了をもってデータ保存の完了として次処理を実行可能としている。これにより、２次記録媒体上のデータの読み出しにおいて、読み出し対象のデータがキャッシュに存在するならば、キャッシュへのアクセスのみで読み出し処理が完了することができ、データ処理の高速化が実現される。
【０００４】
以上のようなデータ処理の際に、データ保存処理を実行する従来のデータ保存装置について、以下に説明する。
図３は従来の情報処理装置におけるデータ保存装置の構成を示すブロック図である。また、図４は従来のデータ保存装置におけるデータ転送処理の流れを示すフローチャートである。
【０００５】
図３において、データ保存装置１０００ａ内のファイルシステム１００ａは、プロセッサ２００ａの指示に基づき、主メモリ３００ａ上のデータをリムーバブルハードディスクドライブ（リムーバブルＨＤＤ）５００ａ上にファイル９２ａとして保存したり、逆に、リムーバブルＨＤＤ５００ａ上に保存されているファイル９２ａを主メモリ３００ａ上に読み出したりする。
【０００６】
ここで、ファイル９２ａはデータブロック９５ａを単位としてアクセスされるが、そのアクセス時のデータブロック９５ａの移動処理として、図４に示すように、ファイルライト処理１７ａでは、主メモリ３００ａ上のデータ９５−６ｇ・・・がファイルシステム１００ａ内のＨＤＤキャッシュ１２１ａに書き込まれる。ファイルリード処理１６ａでは、主メモリ３００ａ上への読み込み対象のデータブロックがＨＤＤキャッシュ１２１ａ中に存在すれば（本図では、データ（１）９５−１ｆとデータ（５）９５−５ｆ）、リムーバブルＨＤＤ５００ａにアクセスすることなく、ＨＤＤキャッシュ１２１ａから主メモリ３００ａに読み込まれる。
【０００７】
１次記録媒体であるメモリ素子（本図では、不揮発性内部メモリ１２０ａ）を大容量化することはコストまたは実装サイズの観点から困難であり、キャッシュ（本図では、ＨＤＤキャッシュ１２１ａ）に２次記録媒体であるリムーバブルＨＤＤ５００ａ上の全データを保存することはできない。そこで、ＨＤＤキャッシュ１２１ａがオーバーフローする前に、ＨＤＤキャッシュ１２１ａ上のデータをリムーバブルＨＤＤ５００ａに保存して、ＨＤＤキャッシュ１２１ａ上に空き領域を確保する必要がある。ＨＤＤキャッシュ１２１ａ上のデータをリムーバブルＨＤＤ５００ａ上に保存することをフラッシュと呼ぶが、高いデータ処理性能を実現するためには、このフラッシュをどのようなタイミングで実行すればよいか決定する必要がある。
【０００８】
これに対して、キャッシュのフラッシュを時間的に分散されたタイミングで実行することにより、２次記録媒体へのアクセス負荷を平滑化する制御が考案されている（例えば、特許文献１を参照）。
【０００９】
また、図４において、ファイルシステム１００ａの動作を制御するファイルシステム制御部１１０ａは、リムーバブルＨＤＤ５００ａへのアクセス頻度を監視しており、その結果をメディアアクセス頻度１１６としてフラッシュ管理情報１１２ａに保持している。ＨＤＤキャッシュ１２１ａのフラッシュを制御するフラッシュ起動手段１１１ａは、このメディアアクセス頻度１１６を参照し、アクセスが過密していないと判断した時のみ、制御バス１５０ａを通じてＨＤＤキャッシュ１２１ａのフラッシュを実行して、ＨＤＤライト処理３１ａにより、リムーバブルＨＤＤ５００ａのディスク５６０ａへライトする。
【００１０】
この際に、キャッシュの導入により生じる問題として、保存データがキャッシュ上に存在するのみで２次記録媒体に書き込まれていない時間が生じるために、保存データが破壊される危険性が高まる点がある。すなわち、キャッシュ上に未フラッシュのデータが存在している時に、情報機器本体の電源が切られたり、または、２次記録媒体が取り外される等により、以降にフラッシュを実行することが不可能となれば、２次記録媒体に保存されたデータは一部のみ更新された不整合な状態となる。この不整合になったデータを整合のとれた状態に復旧する方法が必要である。
【００１１】
特に書き込み中の２次記録媒体の取り外しに関しては、近年、記録メディアの高集積化に伴いカード形状の大容量記録メディアが普及してきているので、対応が必要である。
【００１２】
これに対して、キャッシュを不揮発性メモリ上に構築して、電源が突然切られても、その時点のキャッシュ状態を保持させておき、再度電源が投入された時にキャッシュ上に未フラッシュ・データが存在すれば、そのデータを２次記録媒体へ書き出すことにより、２次記録媒体上のデータを復旧する方式が考案されている（例えば、特許文献２を参照）。
【００１３】
【特許文献１】
特開平５−９４３７３号公報（第５頁、第１図）
【００１４】
【特許文献２】
特開平４−３３６６１２号公報（第１頁、第１図）
【００１５】
【発明が解決しようとする課題】
上記のような従来のデータ保存装置において、前述のキャッシュをフラッシュするタイミングには、データ転送性能と保存データの安全性間のトレードオフが存在する。すなわち、フラッシュ間隔を長くするほど、キャッシュヒットする可能性と書き込みデータが連続領域にまとめられる可能性が高くなるので、データアクセス速度が向上する。一方、フラッシュ間隔を長くするほど、保存データがキャッシュ上に存在するのみで２次記録媒体に書き込まれていない時間が長くなるので、急な電源オフ等の異常終了により、保存データが不整合な状態になる危険性が高くなる。
【００１６】
しかし、前述の従来技術では、２次記録媒体へのアクセスの統計情報からのみフラッシュするタイミングを制御しており、上記の転送性能と安全性との間のトレードオフを考慮した制御が実現できないという問題点を有していた。
【００１７】
また、前述の従来技術では、異常終了した時点のキャッシュ状態を保持しておき、２次記録媒体の再起動時にキャッシュ上の未フラッシュ・データを書き出すことで、異常終了により破壊された保存データを復旧しているが、多くの２次記録媒体は、アクセス速度の向上を目的として内部にライトバッファを持つため、キャッシュの状態を保持しただけでは、異常終了時の保存データ状態を復旧できない可能性があるという問題点も有していた。
【００１８】
また、キャッシュに滞留中のデータは、２次記録媒体にフラッシュした順ではなく、キャッシュヒットした頻度に基づく順序で削除されるため、２次記録媒体中のライトバッファに滞留しているデータが、キャッシュに存在する保証がなく、保存データの安全性が低下するという問題点をも有していた。
【００１９】
ここで、２次記録媒体の再起動後の書き戻しでも、これらのデータが損なわれたままとなる状況を、図４を用いて次に説明する。
図４の例では、リムーバブルＨＤＤ５００ａは、内部にＨＤＤライトバッファ５３１ａを持ち、ディスク５６０ａへライト要求されたデータは、一旦ＨＤＤライトバッファ５３１ａに滞留した後、ディスク５６０ａに保存される。図４に示すデータ転送状態では、ＨＤＤキャッシュ１２１ａ中にデータ（１）９５−１ｆ〜データ（５）９５−５ｆが格納されており、そのうちデータ（１）、データ（２）および、データ（３）がフラッシュ済みデータ９６ａであり、ＨＤＤライト処理３１ａにより、リムーバブルＨＤＤ５００ａへライトされている。しかし、リムーバブルＨＤＤ５００ａ内では、ディスク５６０ａに保存されているのはデータ（１）９５−１ｅのみであり、データ（２）９５−２ｅとデータ（３）９５−３ｅは、ＨＤＤライトバッファ５３１ａに一時的に記録されているのみである。
【００２０】
この状態で、主メモリ３００ａ上のデータ（６）９５−６ｇとデータ（７）９５−７ｇを、ファイルライト処理１７ａにより、ファイルにライトするため、そのライト要求が発生すると、ファイルシステム１００ａは、ＨＤＤキャッシュ１２１ａに前記の２つのデータを保持するための空きエリアを作成しようとして、最長不使用エントリの抽出手段１２３ａを活性化する。
【００２１】
最長不使用エントリの抽出手段１２３ａは、フラッシュ済みデータ９６ａの中から、長い間キャッシュヒットしていないデータブロックを選択して、これを廃棄する。図４では、フラッシュ済みデータ９６ａのうち、データ（１）９５−１ｆはファイルリード処理１６ａによりリードアクセスされたことがあるが、データ（２）９５−２ｆとデータ（３）９５−３ｆはリードアクセスされたことがない。そこで、データ（２）９５−２ｆとデータ（３）９５−３ｆが、ＨＤＤキャッシュ１２１ａから削除される。
【００２２】
この時点で、リムーバブルＨＤＤ５００ａが抜き取られると、ＨＤＤライトバッファ５３１ａは揮発性メモリであるので、ここに滞留していたデータ（２）９５−２ｅとデータ（３）９５−３ｅは消えてしまう。しかし、これらのデータはＨＤＤキャッシュ１２１ａからも削除されているので、再度、リムーバブルＨＤＤ５００ａが動作可能となった時に、これらのデータを復旧することができず、結果的に、保存データの整合が取れないため保存データの安全性が低下することになる。
【００２３】
本発明は、上記従来の問題点を解決するもので、保存データの安全性を高めるとともに、データ転送速度やデータ転送精度などのデータ転送性能を向上することができるデータ保存装置を提供する。
【００２４】
【課題を解決するための手段】
上記の課題を解決するために、本発明の請求項１に記載のデータ保存装置は、データを一時的に保存するためのキャッシュ領域をもち、そのキャッシュ領域によりデータを一時的に記録する第１の記録媒体と、データを一時的に保存するためのバッファ領域をもち、そのバッファ領域からのデータを半永続的に保存可能な第２の記録媒体とを有し、データを前記第１の記録媒体を介して前記第２の記録媒体に保存する場合には、前記データを前記キャッシュ領域に保存した後に、そのデータを前記第２の記録媒体に転送して前記バッファ領域に一時的に保存し、その後、所定の時間が経過すると、前記バッファ領域からのデータを前記第２の記録媒体に記録して半永続的に保存するデータ保存装置であって、前記キャッシュ領域に保存されたデータを削除する場合、その削除対象データが前記第２の記録媒体上に転送されてからの経過時間が前記所定の時間以上になるまで、前記削除の実行を待機するよう構成したことを特徴とする。
【００２５】
以上により、第２の記録媒体のバッファ領域に一時的に保存されているデータが第１の記録媒体上に常に存在することを保証することができる。
また、本発明の請求項２に記載のデータ保存装置は、データを一時的に保存するためのキャッシュ領域をもち、そのキャッシュ領域によりデータを一時的に記録する第１の記録媒体と、データを半永続的に保存可能な第２の記録媒体とを有し、データを前記第１の記録媒体を介して前記第２の記録媒体に保存する場合には、前記データを前記キャッシュ領域に保存した後に、そのデータを前記第２の記録媒体に転送して半永続的に保存するデータ保存装置であって、前記第２の記録媒体の異常終了した頻度に関する統計情報を取得し、前記統計情報に基づいて前記キャッシュ領域上のデータを前記第２の記録媒体に転送するタイミングを制御するよう構成したことを特徴とする。
【００２６】
以上により、急な電源オフや、動作中の第２の記録媒体の取り外し等の異常終了が多発する状態ならば、第１の記録媒体上のキャッシュ領域を頻繁にフラッシュして第２の記録媒体の保存データが不整合な状態になる危険性を押さえ、第２の記録媒体の異常終了がない状態ならば、第１の記録媒体上のキャッシュ領域へのフラッシュを実行する間隔を長くして第２の記録媒体への書き込みデータの連続性を確保することができる。
【００２７】
また、本発明の請求項３に記載のデータ保存装置は、請求項２に記載のデータ保存装置であって、前記第２の記録媒体が過去に異常終了した頻度に関する統計情報として、起動された回数と正常終了した回数をもつよう構成したことを特徴とする。
【００２８】
以上により、第２の記録媒体が過去に異常終了した頻度に関する統計情報として、起動された回数と正常終了した回数から、第２の記録媒体における過去の異常終了の頻度を求め、その異常終了の頻度に基づいて、急な電源オフや、動作中の第２の記録媒体の取り外し等の異常終了が発生する危険性があると判断すれば、第１の記録媒体上のキャッシュ領域を頻繁にフラッシュして第２の記録媒体の保存データが不整合な状態になる危険性を押さえ、第２の記録媒体の異常終了が発生する危険性がないと判断すれば、第１の記録媒体上のキャッシュ領域へのフラッシュを実行する間隔を長くして第２の記録媒体への書き込みデータの連続性を確保することができる。
【００２９】
また、本発明の請求項４に記載のデータ保存装置は、データを一時的に保存するためのキャッシュ領域をもち、そのキャッシュ領域によりデータを一時的に記録する第１の記録媒体と、データを一時的に保存するためのバッファ領域をもち、そのバッファ領域からのデータを半永続的に保存可能な第２の記録媒体とを有し、データを前記第１の記録媒体を介して前記第２の記録媒体に保存する場合には、前記データを前記キャッシュ領域に保存した後に、そのデータを前記第２の記録媒体に転送して前記バッファ領域に一時的に保存し、その後、所定の時間が経過すると、前記バッファ領域からのデータを前記第２の記録媒体に記録して半永続的に保存するデータ保存装置であって、前記キャッシュ領域に保存されたデータを削除する場合、その削除対象データが前記第２の記録媒体上に転送されてからの経過時間が前記所定の時間以上になるまで、前記削除の実行を待機するとともに、前記第２の記録媒体の異常終了した頻度に関する統計情報を取得し、前記統計情報に基づいて前記キャッシュ領域上のデータを前記第２の記録媒体に転送するタイミングを制御するよう構成したことを特徴とする。
【００３０】
以上により、第２の記録媒体のバッファ領域に一時的に記録されているデータが第１の記録媒体に常に存在することを保証し、かつ、急な電源オフや、動作中の第２の記録媒体の取り外し等の異常終了が多発する状態ならば、第１の記録媒体上のキャッシュ領域を頻繁にフラッシュして第２の記録媒体の保存データが不整合な状態になる危険性を押さえ、第２の記録媒体の異常終了がない状態ならば、第１の記録媒体上のキャッシュ領域へのフラッシュを実行する間隔を長くして第２の記録媒体への書き込みデータの連続性を確保することができる。
【００３１】
また、本発明の請求項５に記載のデータ保存装置は、データを一時的に記録する第１の記録媒体と、データを半永続的に保存可能な第２の記録媒体とを有し、データを前記第１の記録媒体を介して前記第２の記録媒体に保存する場合には、前記データを前記第１の記録媒体に一時的に保存した後に、そのデータを前記第２の記録媒体に転送して一時的に保存し、その後、所定の時間が経過すると、データを前記第２の記録媒体に半永続的に保存するデータ保存装置であって、前記第１の記録媒体に保存されたデータを削除する場合、その削除対象データが前記第２の記録媒体上に転送されてからの経過時間が前記所定の時間以上になるまで、前記削除の実行を待機するよう構成したことを特徴とする。
【００３２】
以上により、第２の記録媒体に一時的に記録されているデータが第１の記録媒体上に常に存在することを保証することができる。
また、本発明の請求項６に記載のデータ保存装置は、データを一時的に記録する第１の記録媒体と、データを半永続的に保存可能な第２の記録媒体とを有し、データを前記第１の記録媒体を介して前記第２の記録媒体に保存する場合には、前記データを前記第１の記録媒体に一時的に保存した後に、そのデータを前記第２の記録媒体に転送して半永続的に保存するデータ保存装置であって、前記第２の記録媒体の異常終了した頻度に関する統計情報を取得し、前記統計情報に基づいて前記第１の記録媒体上のデータを前記第２の記録媒体に転送するタイミングを制御するよう構成したことを特徴とする。
【００３３】
以上により、第２の記録媒体が異常終了した頻度に関する統計情報を取得し、その統計情報から、第２の記録媒体が異常終了する可能性が高い場合は、第１の記録媒体を頻繁にフラッシュして第２の記録媒体の保存データが不整合な状態になる危険性を押さえ、第２の記録媒体が異常終了する可能性がない場合は、第１の記録媒体へのフラッシュを実行する間隔を長くして第２の記録媒体への書き込みデータの連続性を確保することができる。
【００３４】
【発明の実施の形態】
以下、本発明の実施の形態を示すデータ保存装置について、図面を参照しながら具体的に説明する。
【００３５】
図１は本実施の形態のデータ保存装置の全体構成を示すブロック図である。また、図２は本実施の形態のデータ保存装置におけるデータ転送処理の流れを示すフローチャートである。
【００３６】
図１において、データ保存装置１０００は、データをファイル９２として記録する記録メディアとして、脱着可能なハードディスクドライブ（リムーバブルハードディスクドライブ（リムーバブルＨＤＤ））５００をもち、装置内の動作をシステムバス６００を通じて制御するプロセッサ２００と、プロセッサ２００の作業用一時記録領域である主メモリ３００と、リムーバブルＨＤＤ５００上のファイル９２へのアクセスを管理するファイルシステム１００と、通信回線４０００で接続された外部装置との通信を実行する通信処理部７００とからなる。
【００３７】
データ保存装置１０００の主要な用途は、通信回線４０００を介して渡されたデータをリムーバブルＨＤＤ５００に保存することと、その逆に、リムーバブルＨＤＤ５００に保存されたデータを、通信回線４０００を介して外部装置に渡すことである。
【００３８】
ファイルシステム１００は、記録メディアとの間でやり取りされるデータを一時保存するための不揮発性内部メモリ１２０と、リムーバブルＨＤＤ５００とのデータ転送を実行するＨＤＤ転送制御部１４０と、ファイルシステム１００全体の動作を制御するファイルシステム制御部１１０とからなる。
【００３９】
不揮発性内部メモリ１２０は、リムーバブルＨＤＤ５００に対するデータをキャッシングしているＨＤＤキャッシュ１２１をもつ。ＨＤＤキャッシュ１２１に滞留中のデータをリムーバブルＨＤＤ５００へ書き出すタイミングは、ファイルシステム制御部１１０のフラッシュ起動手段１１１により、制御バス１５０を通じて指示される。フラッシュ起動手段１１１は、ＨＤＤキャッシュ１２１のフラッシュを管理するための情報であるフラッシュ管理情報１１２に基づいて制御を行う。
【００４０】
リムーバブルＨＤＤ５００は、ＨＤＤ転送制御部１４０からの指示に基づいて記録・再生を実行するＨＤＤ制御部５１０と、ＨＤＤ制御部５１０が使用する管理情報が記録されているＨＤＤ管理情報５２０と、ＨＤＤ転送制御部１４０からのデータが記録されているディスクユニット５９０と、ディスクユニット５９０から読み出されたデータが一時的に保存されるＨＤＤリードバッファ５３０と、ＨＤＤ転送制御部１４０から渡されたデータが一時的に保存されるＨＤＤライトバッファ５３１とからなる。
【００４１】
ＨＤＤライトバッファ５３１とＨＤＤリードバッファ５３０は、ファイルシステム１００によるリムーバブルＨＤＤ５００へのアクセスを高速化するために設けられている。ファイルシステム１００は、ディスクアクセス処理３４により書き込み対象のデータがディスク５６０に書き込まれるのを待たずに、ＨＤＤライト処理３１によるＨＤＤライトバッファ５３１への書き込み完了をもって、ファイルライト完了とすることができる。また、ファイルシステム１００が読み込もうとしているデータが、過去にリードしたことがあり、ＨＤＤリードバッファ５３０に存在すれば、ディスク５６０にアクセスする必要無く読み出すことができる。
【００４２】
ＨＤＤライトバッファ５３１とＨＤＤリードバッファ５３０は、半導体メモリ上に構築されているが、半導体メモリへのアクセスはディスク５６０へのアクセスに比べて桁違いに高速であるので、これらバッファ５３０、５３１へのアクセスのみでファイルアクセスを実現できる場合は、データ転送が非常に高速となる。
【００４３】
リムーバブルＨＤＤ５００内のディスクユニット５９０は、保存データが磁性信号として記録されているディスク５６０と、ディスク５６０上の磁性信号を読み書きする磁気ヘッド５５０と、磁気ヘッド５５０によるディスク５６０上の読み書きを制御するヘッドアクセス回路５４０とからなる。
【００４４】
ＨＤＤ管理情報５２０は、個々のリムーバブルＨＤＤ５００を識別するためのメディア識別子５２３と、このリムーバブルＨＤＤ５００が起動された回数を示す起動回数データ５２１と、このリムーバブルＨＤＤ５００が正常終了した回数を表す正常終了回数データ５２２とからなる。ＨＤＤ管理情報５２０は、リムーバブルＨＤＤ５００の電源がオフとなっても情報が失われない不揮発性の情報として記録されている。メディア識別子５２３は読み出し専用の情報であるが、起動回数データ５２１と正常終了回数データ５２２は、ＨＤＤ制御部５１０がファイルシステム１００からの情報に基づいて更新する。
【００４５】
起動回数データ５２１は、リムーバブルＨＤＤ５００の初期化処理（マウント処理と呼ぶ）が成功した時に、１つ加算される。リムーバブルＨＤＤ５００のマウント処理は、動作中のデータ保存装置１０００に新たにリムーバブルＨＤＤ５００が挿入された時、または、リムーバブルＨＤＤ５００が挿入されているデータ保存装置１０００の電源が投入された時に、ファイルシステム１００により実行され、その実行結果が、ＨＤＤ転送制御部１４０を介して、ＨＤＤ制御部５１０に通知される。
【００４６】
正常終了回数データ５２２は、リムーバブルＨＤＤ５００の終了処理（アンマウント処理と呼ぶ）が成功した時に、１つ加算される。リムーバブルＨＤＤ５００のアンマウント処理は、リムーバブルＨＤＤ５００が挿入されているデータ保存装置１０００の電源を切る前に、または、リムーバブルＨＤＤ５００を抜く前にファイルシステム１００により実行される処理であり、ＨＤＤキャッシュ１２１に未フラッシュのデータが存在すれば、そのデータがリムーバブルＨＤＤ５００に書き出される。
【００４７】
ここで、ファイル９２はデータブロック９５を単位としてアクセスされるが、そのアクセス時のデータブロック９５の移動処理として、図２に示すように、ファイルシステム１００は、プロセッサ２００からのファイルライト要求を受けると、ＨＤＤキャッシュ１２１に、書き込み対象のデータブロック（図２では、データ（６）９５−６ｄとデータ（７）９５−７ｄ）を格納する空きエリアが存在するかチェックする。
【００４８】
図２の例では、ＨＤＤキャッシュ１２１には、フラッシュ済みデータ９６として、データ（１）９５−１ｂ、データ（２）９５−２ｂおよびデータ（３）９５−３ｂが存在し、未フラッシュデータ９７として、データ（４）９５−４ｂとデータ（５）９５−５ｂが存在し、空きエリアが存在しない。
【００４９】
ＨＤＤキャッシュ１２１にファイルライト対象のデータを格納するのに十分なエリアが存在しない場合、ファイルシステム１００は、上記の２つのデータを保持するための空きエリアを作成しようとして、最長不使用エントリの抽出手段１２３を活性化する。最長不使用エントリの抽出手段１２３は、フラッシュ済みデータ９６の中から、長い間キャッシュヒットしていないデータブロックを選択して、これを廃棄する。これは、過去にアクセスされたことが無いデータブロックは、今後もアクセスされる可能性が低いであろうという仮定に基づいて、今後キャッシュヒットする可能性が低いデータブロックを削除するアルゴリズムである。
【００５０】
図２では、フラッシュ済みデータ９６のうち、データ（１）９５−１ｂはファイルリード処理１６によりリードアクセスされたことがあるが、データ（２）９５−２ｂとデータ（３）９５−３ｂはリードアクセスされたことがない。そこで、データ（２）９５−２ｂとデータ（３）９５−３ｂがＨＤＤキャッシュ１２１から取り出されて、廃棄待機キュー１２４に一時保存された後に、ＨＤＤキャッシュ１２１上から削除され、そのようにしてＨＤＤキャッシュ１２１上の削除された領域に、ファイルライト処理１７により、主メモリ３００上の書き込み対象のデータ（６）９５−６ｄとデータ（７）９５−７ｄ）を格納する。
【００５１】
このように本実施の形態では、ＨＤＤキャッシュ１２１から削除されるデータを廃棄待機キュー１２４に一時的に保存しておくことを特徴とし、廃棄待機キュー１２４にデータが滞留する時間を、ＨＤＤライト処理３１の後のリムーバブルＨＤＤ５００内のＨＤＤライトバッファ５３１におけるデータ滞留時間よりも長くし、ＨＤＤライト処理３１の後から、削除対象のデータがＨＤＤライトバッファ５３１からリムーバブルＨＤＤ５００内のディスク５６０へ完全に記録されて永続的に記録されるようになるまで、不揮発性内部メモリ１２０上のＨＤＤキャッシュ１２１からのデータ削除処理あるいは廃棄待機キュー１２４からの廃棄処理を待機しておくことにより、ＨＤＤライトバッファ５３１に一時的に保存されているデータ（図２では、データ（２）９５−２ａとデータ（３）９５−３ａ）は、ファイルシステム１００内のＨＤＤキャッシュ１２１または廃棄待機キュー１２４にも存在することが保証される。
【００５２】
これにより、リムーバブルＨＤＤ５００がいつ異常終了した場合も、その時点で書き込み中であったデータがファイルシステム１００内に保存されていることになり、リムーバブルＨＤＤ５００が再起動した時には異常終了時点の保存データ状況を復元することが可能となる。
【００５３】
また、ファイルシステム１００内のフラッシュ起動手段１１１は、リムーバブルＨＤＤ５００に対するマウント処理において、リムーバブルＨＤＤ５００内のＨＤＤ制御部５１０と通信して転送制御情報３３を受け渡しする。この時、リムーバブルＨＤＤ５００のＨＤＤ管理情報５２０であるメディア識別子５２３、起動回数データ５２１および正常終了回数データ５２２がフラッシュ起動手段１１１に渡され、フラッシュ管理情報１１２に、それぞれ、メディア識別子１１３、メディア起動回数データ１１４およびメディア正常終了回数データ１１５として保存されている。
【００５４】
リムーバブルＨＤＤ５００が異常終了した場合（すなわち、アンマウント処理を実行せずに電源が切られた場合）は、その時のメディア識別子１１３は保存され、次にマウント処理が実行される時に、新しいリムーバブルＨＤＤのメディア識別子５２３と比較される。両者が同一の場合は、前回異常終了したリムーバブルＨＤＤ５００が再度起動されたと判断して、廃棄待機キュー１２４に保存されているデータとＨＤＤキャッシュ１２１中のデータを、そのリムーバブルＨＤＤ５００に書き出して、異常終了時点の保存データ状態を復元する。
【００５５】
次に、ＨＤＤキャッシュ１２１内のデータをフラッシュする手順について説明する。
フラッシュは、ＨＤＤキャッシュ１２１がオーバーフローしないようにさえすれば、どのようなタイミングで実行しても、どのような順序でデータをフラッシュ対象としてもよい。データ転送速度を高めるには、できるだけフラッシュ間隔を長くし、連続したデータをまとめてリムーバブルＨＤＤ５００へライトするのがよい。連続したデータをまとめてディスク５６０にライトすることにより、磁気ヘッド５５０が記録位置に移動するために生じる時間（シーク時間と呼ぶ）のための待ち時間を省くことが可能となる。
【００５６】
しかし、フラッシュする間隔を長くするほど、保存データがＨＤＤキャッシュ１２１上に存在するのみでリムーバブルＨＤＤ５００に書き込まれていない時間が長くなるので、急な電源オフ等の異常終了により、リムーバブルＨＤＤ５００上の保存データが不整合な状態になる危険性が高くなる。リムーバブルＨＤＤ５００が異常終了する頻度は、データ保存装置１０００に対するユーザの使用方法に依存する。リムーバブルＨＤＤ５００を抜く前や、データ保存装置１０００の電源を切る前には必ずアンマウント処理を実行するユーザならば、異常終了は発生しないし、そうでないユーザならばフラッシュ間隔を長くしていると異常終了が多発してしまう。
【００５７】
これに対して、本実施の形態のデータ保存装置１０００は、フラッシュ管理情報１１２中のメディア起動回数データ１１４とメディア正常終了回数データ１１５から異常終了する危険性を推測し、その危険性に応じてフラッシュを実行する頻度を決定することを特徴とする。
【００５８】
フラッシュ起動手段１１１は、メディア起動回数データ１１４からメディア正常終了回数データ１１５を引く（減算する）ことにより、現在挿入されているリムーバブルＨＤＤ５００が過去に異常終了した回数を求め、そのリムーバブルＨＤＤ５００がどのように使用されてきたかを推測し、リムーバブルＨＤＤ５００が異常終了しやすい状態で使用されてきたと判断すると、フラッシュを頻繁に実行して、リムーバブルＨＤＤ５００内のディスク５６０の保存データが不整合な状態になる危険性を押さえ、逆に、リムーバブルＨＤＤ５００がほとんど異常終了していない場合は、フラッシュ間隔を長くしてリムーバブルＨＤＤ５００内のディスク５６０への書き込みデータの連続性を確保することができる。
【００５９】
これらの結果、保存データの安全性を高めるとともに、データ転送速度やデータ転送精度などのデータ転送性能を向上することができる。
【００６０】
【発明の効果】
以上のように本発明によれば、第２の記録媒体が異常終了した頻度に関する統計情報を取得し、その統計情報から、第２の記録媒体が異常終了する可能性が高い場合は、第１の記録媒体のキャッシュ領域を頻繁にフラッシュして第２の記録媒体の保存データが不整合な状態になる危険性を押さえ、第２の記録媒体が異常終了する可能性がない場合は、第１の記録媒体のキャッシュ領域へのフラッシュを実行する間隔を長くして第２の記録媒体への書き込みデータの連続性を確保することができる。
【００６１】
また、第１の記録媒体上のキャッシュ領域からデータを削除する場合、削除対象のデータが第２の記録媒体に永続的に記録されるまで、第１の記録媒体上のキャッシュ領域からのデータ削除を待機することにより、第２の記録媒体に一時的に記録されているデータが第１の記録媒体上に常に存在することを保証して、第２の記録媒体が再起動した時に、その異常終了時点の保存データ状況を復元することができる。
【００６２】
その結果、保存データの安全性を高めるとともに、データ転送速度やデータ転送精度などのデータ転送性能を向上することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態のデータ保存装置の構成を示すブロック図
【図２】同実施の形態のデータ保存装置におけるデータ転送処理のフローチャート
【図３】従来のデータ保存装置の構成を示すブロック図
【図４】同従来例のデータ保存装置におけるデータ転送処理のフローチャート
【符号の説明】
１６    ファイルリード処理
１７    ファイルライト処理
３１    ＨＤＤライト処理
３３    転送制御情報
３４    ディスクアクセス処理
９２    ファイル
９５    データブロック
９６    フラッシュ済みデータ
９７    未フラッシュデータ
１００    ファイルシステム
１１０    ファイルシステム制御部
１１１    フラッシュ起動手段
１１２    フラッシュ管理情報
１１３    メディア識別子
１１４    メディア起動回数データ
１１５    メディア正常終了回数データ
１２０    不揮発性内部メモリ
１２１    ＨＤＤキャッシュ
１２３    最長不使用エントリ抽出手段
１２４    廃棄待機キュー
１４０    ＨＤＤ転送制御部
１５０    制御バス
２００    プロセッサ
３００    主メモリ
５００    リムーバブルハードディスクドライブ（リムーバブルＨＤＤ）
５１０    ＨＤＤ制御部
５２０    ＨＤＤ管理情報
５２１    ＨＤＤ起動回数データ
５２２    ＨＤＤ正常終了回数データ
５２３    メディア識別子
５３０    ＨＤＤリードバッファ
５３１    ＨＤＤライトバッファ
５４０    ヘッドアクセス回路
５５０    磁気ヘッド
５６０    ディスク
５９０    ディスクユニット
６００    システムバス
７００    通信処理部
１０００    データ保存装置
４０００    通信回線
【図１】
2004310228.tif 000003
【図２】
2004310228.tif 000004
【図３】
2004310228.tif 000005
【図４】
2004310228.tif 000006