(57)【特許請求の範囲】
【請求項１】
情報処理システムの立ち上げに必要なオペレーティングシステムのモジュールやデータ、即ちブートモジュール群を記憶内容に含むハードディスクと、前回立ち上げで読み出された前記ブートモジュール群のコピーをジャーナルデータとして保持しておく不揮発性メモリと、これらを制御するコントローラを備えたハードディスクドライブサブシステムであって、前記不揮発性メモリには、前記ブートモジュール群のコピーであるジャーナルデータと、ジャーナルデータの各ブートモジュールを識別できる属性情報を保持したジャーナルデータ属性情報データベースを有し、前記コントローラは、ハードディスクドライブサブシステムが接続された上位装置よりブート開始通知を受け、前記上位装置より属性情報で指定されたブートモジュールの読出指示を受けるとこの属性情報と前記ジャーナルデータ属性情報データベースを比較し、この属性情報が前記ジャーナルデータ属性情報データベースに登録されていれば、前記ジャーナルデータの格納エリアより指定のブートモジュールを読み出し、登録されていなければハードディスクより読み出し、それぞれ前記上位装置に渡す制御手段とを有することを特徴とするハードディスクドライブサブシステム。
【請求項２】
前記不揮発性メモリには、前記ブート開始受信後に、順次読出しを指示されたブートモジュールの属性情報を、順次一時記憶する読出データ属性情報記録も有し、前記コントローラの制御手段は、上位装置よりブート終了を受けた後に前記読出データ属性情報記録を順次読み出し、読み出した各モジュールの属性情報が前記ジャーナルデータ属性情報データベースに登録されていなければ、前記読み出した属性情報が指定するブートモジュールをハードディスクより読出し、前記ジャーナルデータの格納エリアにコピーし、前記属性情報で前記ジャーナルデータ属性情報データベースを更新する手段も有することを特徴とする請求項１記載のハードディスクドライブサブシステム。
【請求項３】
前記コントローラの前記制御手段は、ブート中に読出しを指示されたブートモジュールの属性情報とジャーナルデータ属性情報データベースの比較を行った際に未登録のモジュールが一つでもあればオンすると共に、ブート終了時に参照される更新要求代表フラグも有し、このフラグがオンであれば、前記ジャーナルデータ及びジャーナルデータ属性情報データベースの更新処理が行われることを特徴とする請求項２記載のハードディスクドライブサブシステム。
【請求項４】
前記コントローラの前記制御手段は、読出指示のあった各ブートモジュールの属性情報とジャーナルデータ属性情報データベースとの比較で未登録であれば、前記読出データ属性情報記録の対応レコードに更新要求個別フラグを追記し、この個別フラグを前記ブート終了後のジャーナルデータ及びジャーナルデータ属性情報データベースの更新処理で参照する手段も有することを特徴とする請求項２記載のハードディスクドライブサブシステム。
【請求項５】
前記コントローラは、コンピュータウィルスの検知手段も有し、前記制御手段は、前記ブート終了後の前記ジャーナルデータ及びジャーナルデータ属性情報データベースの更新処理に先立って、更新データとなるブートモジュールをハードディスクより読み出し、これを前記ウィルス検知手段を用い感染の有無をチェックし、感染なしを確認してから前記ジャーナルデータ及びジャーナルデータ属性情報データベースの更新処理を行う手段も有することを特徴とする請求項２、３、又は４に記載のハードディスクドライブサブシステム。
【請求項６】
前記制御手段は、前記ウィルスチェックで、感染していればその旨を上位装置に通知する手段と、上位装置からの指示を受けて、前記ジャーナルデータ属性情報データベースで指定されるジャーナルデータの格納エリアの個々のブートモジュールをハードディスクに書き戻す手段も有することを特徴とする請求項５記載のハードディスクドライブサブシステム。
【請求項７】
前記不揮発性メモリのジャーナルデータ属性情報データベース及び読出しデータ属性情報記録を、モジュール当たり所定数のレコードとし且つ読出しを指示された順の記録とすることを特徴とする請求項１乃至６の何れかに記載のハードディスクドライブサブシステム。
【請求項８】
前記不揮発性メモリのジャーナルデータ属性情報データベース、読出データ属性情報記録の属性情報として、前記各ブートモジュールのファイル名を含むことを特徴とする請求項１乃至７の何れかに記載のハードディスクドライブサブシステム。
【請求項９】
前記不揮発性メモリをフラッシュメモリとすることを特徴とする請求項１乃至８の何れかに記載のハードディスクドライブサブシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は情報処理装置で使用され、記憶内容として情報処理装置の立ち上げに必要なオペレーティングシステムのモジュールやデータを含むハードディスクドライブサブシステムに関し、特に立ち上げ時のブートモジュール読出が高速に行えるハードディスクドライブサブシステムに関する。
【０００２】
【従来の技術】
従来の、ＰＣシステム（パーソナルコンピュータシステム）は、システム立ち上げに必要なブートモジュールはＰＣに接続されたＨＤＤサブシステム（ハードディスクドライブサブシステム）に保存しているのが通常である。
【０００３】
ＰＣのシステム起動時、ＰＣは先ずシステムを立ち上げるために必須となるＯＳ（オッペレーティングシステム）のモジュール及びデータをコントローラ経由でＨＤＤから、ＰＣ内部に用意されたメモリシステムに読み込ませ、それらモジュールに記録された処理を順次行うことで、最終的にシステムの立ち上げが完了する仕組みである。
【０００４】
【発明が解決しようとする課題】
しかし、近年ＰＣシステムやそのソフトウェア機能の拡大に伴ない、これに対応するブートモジュールの機能も拡大しておりブートモジュールのデータ量が増加している。
【０００５】
従って、上記従来技術ではブートモジュールの読込データ量増加により、システムの立ち上げ時間が長くなっているという問題がある。
【０００６】
ここで、ブートモジュールのデータ量が増加したとしても、モジュール実行時間は、近年のメインプロセッサ関連の技術革新により、相対的には大きく増えない。しかしブートモジュールを格納し読み出すハードディスクは、プロセッサと比較して技術革新が進んでおらず、ハードディスクからの読出データ量の増加がそのまま読出時間の増加を引き起こしている。
【０００７】
これは、プロセッサ関連は全てが電気的信号により処理を行うため信号の伝送速度が向上するのに比例して性能向上するのに対し、ハードディスクは、記録媒体にヘッドを移動し接触し信号を読み取るという物理的動作が入るため物理的構造を改善しない限り大幅な性能向上は見込めないためである。
【０００８】
しかしながら同装置のハードウェアやソフトウェアなどに変更があった場合を除けば、ＰＣシステムは、立ち上げのたびに毎回同一のブートモジュールを同一手順で実行する特性をもつ。
【０００９】
本発明では、この特性を利用し、予めブートモジュールを自動的にジャーナルメモリに保存する仕組みを持つことで、ブートモジュールの読み出し時間を短縮し、結果としてシステム立上げトータル時間の短縮を実現する。
【００１０】
【課題を解決するための手段】
本発明の第１のジャーナルメモリ付ハードディスクドライブサブシステムは、情報処理システムの立ち上げに必要なオペレーティングシステムのモジュールやデータ、即ちブートモジュール群を記憶内容に含むハードディスクと、前回立ち上げで読み出された前記ブートモジュール群のコピーをジャーナルデータとして保持しておく不揮発性メモリと、これらを制御するコントローラを備えたハードディスクドライブサブシステムであって、前記不揮発性メモリには、前記ブートモジュール群のコピーであるジャーナルデータと、ジャーナルデータの各ブートモジュールを識別できる属性情報を保持したジャーナルデータ属性情報を有し、前記コントローラは、ハードディスクドライブサブシステムが接続された上位装置よりブート開始通知を受け、前記上位装置より属性情報で指定されたブートモジュールの読出指示を受けるとこの属性情報と前記ジャーナルデータ属性情報を比較し、この属性情報が前記ジャーナルデータ属性情報に登録されていれば、前記ジャーナルデータエリアより指定のブートモジュールを読み出し、登録されていなければハードディスクより読み出し、それぞれ前記上位装置に渡す制御手段とを有することを特徴とする。
【００１１】
本発明の第２のジャーナルメモリ付ハードディスクドライブサブシステムは、前記第１のジャーナルメモリ付ハードディスクドライブサブシステムであって、前記不揮発性メモリには、前記ブート開始受信後に、順次読出しを指示されたブートモジュールの属性情報を、順次一時記憶する読出データ属性情報記録も有し、前記コントローラの制御手段は、上位装置よりブート終了を受けた後に前記読出データ属性情報記録を順次読み出し、読み出した各モジュールの属性情報が前記ジャーナルデータ属性情報に登録されていなければ、前記読み出した属性情報が指定するブートモジュールをハードディスクより読出し、ジャーナルデータエリアにコピーし、前記属性情報で前記ジャーナルデータ属性情報を更新する手段も有することを特徴とする。
【００１２】
本発明の第３のジャーナルメモリ付ハードディスクドライブサブシステムは、前記第２のジャーナルメモリ付ハードディスクドライブサブシステムであって、前記コントローラの前記制御手段は、ブート中に読出しを指示されたブートモジュールの属性情報とジャーナルデータ属性情報の比較を行った際に未登録のモジュールが一つでもあればオンすると共に、ブート終了時に参照される更新要求代表フラグも有し、このフラグがオンであれば、前記ジャーナルデータ及びジャーナルデータ属性情報の更新処理が行われることを特徴とする。
【００１３】
本発明の第４のジャーナルメモリ付ハードディスクドライブサブシステムは、前記第２のジャーナルメモリ付ハードディスクドライブサブシステムであって、前記コントローラの前記制御手段は、読出指示のあった各ブートモジュールの属性情報とジャーナルデータ属性情報との比較で未登録であれば、前記読出データ属性情報記録の対応レコードに更新要求個別フラグを追記し、この個別フラグを前記ブート終了後のジャーナルデータ及びジャーナルデータ属性情報の更新処理で参照する手段も有することを特徴とする。
【００１４】
本発明の第５のジャーナルメモリ付ハードディスクドライブサブシステムは、前記第２、第３、又は第４のジャーナルメモリ付ハードディスクドライブサブシステムであって、前記コントローラは、コンピュータウィルスの検知手段も有し、前記制御手段は、前記ブート終了後の前記ジャーナルデータ及びジャーナルデータ属性情報の更新処理に先立って、更新データとなるブートモジュールをハードディスクより読み出し、これを前記ウィルス検知手段を用い感染の有無をチェックし、感染なしを確認してから前記ジャーナルデータ及びジャーナルデータ属性情報の更新処理を行う手段も有することを特徴とする。
【００１５】
本発明の第６のジャーナルメモリ付ハードディスクドライブサブシステムは、前記第５のジャーナルメモリ付ハードディスクドライブサブシステムであって、前記制御手段は、前記ウィルスチェックで、感染していればその旨を上位装置に通知する手段と、上位装置からの指示を受けて、前記ジャーナルデータ属性情報で指定されるジャーナルデータエリアの個々のブートモジュールをハードディスクに書き戻す手段も有することを特徴とする。
【００１６】
本発明の第７のジャーナルメモリ付ハードディスクドライブサブシステムは、前記第１乃至第６の何れかのジャーナルメモリ付ハードディスクドライブサブシステムであって、前記ジャーナルメモリのジャーナルデータ属性情報及び読出しデータ属性情報記録を、モジュール当たり所定数のレコードとし且つ読出しを指示された順の記録とすることを特徴とする。
【００１７】
本発明の第８のジャーナルメモリ付ハードディスクドライブサブシステムは、前記第１乃至第７の何れかのジャーナルメモリ付ハードディスクドライブサブシステムであって、前記ジャーナルメモリのジャーナルデータ属性情報、読出データ属性情報記録の属性情報として、ファイル名を含むことを特徴とする。
【００１８】
本発明の第９のジャーナルメモリ付ハードディスクドライブサブシステムは、前記第１乃至第８の何れかのジャーナルメモリ付ハードディスクドライブサブシステムであって、前記ジャーナルメモリをフラッシュメモリとすることを特徴とする。
【００１９】
本発明の第１の制御プログラムは、前記第２のジャーナルメモリ付ハードディスクドライブサブシステムが接続された上位装置においてこのハードディスクドライブサブシステムを制御するプログラムであって、ハードディスクドライブサブシステムに、ブート開始通知と、属性情報で指定した個々のブートモジュールの読出指示を行い、読み出されたブートモジュールが予め定められたブート終了モジュールであれば、ブート終了通知をし、読込データ属性情報記録とジャーナルデータ属性情報の比較、比較結果に応じたジャーナルデータ及びジャーナルデータ属性情報の更新処理の開始を指示する手順を有することを特徴とする。
【００２０】
本発明の第２の制御プログラムは、前記第３、第４、又は第５のジャーナルメモリ付ハードディスクドライブサブシステムが接続された上位装置においてこのハードディスクドライブサブシステムを制御するプログラムであって、ハードディスクドライブサブシステムに、ブート開始通知と、属性情報で指定した個々のブートモジュールの読出指示を行い、読み出されたブートモジュールが予め定められたブート終了モジュールであれば、ブート終了を通知し、前記更新要求代表フラグ値を参照しオンであれば、ジャーナルデータ及びジャーナルデータ属性情報の更新処理開始を指示する手順を有することを特徴とする。
【００２１】
本発明の第３の制御プログラムは、前記第６のジャーナルメモリ付ハードディスクドライブサブシステムが接続された上位装置においてこのハードディスクドライブサブシステムを制御するプログラムであって、ハードディスクドライブサブシステムに、ブート開始通知と、属性情報で指定した個々のブートモジュールの読出指示を行い、読み出されたブートモジュールが予め定められたブート終了モジュールであれば、ブート終了を通知し、前記更新要求代表フラグ値を参照しオンであれば、ジャーナルデータ及びジャーナルデータ属性情報の更新処理を指示する手順と、ウィルス感染報告を受けると、感染したブートモジュールの属性情報の表示要求を行なう手順と、応答としてブートモジュールの書き戻しが指示されると、ハードディスクドライブサブシステムにジャーナルデータ属性情報の読出し、その属性情報で指定されるジャーナルデータエリア上のブートモジュールのハードディスクへの書込を指示する手順とを有することを特徴とする。
【００２２】
本発明の第４の制御プログラムは、前記第１、第２、又は第３の制御プログラムであって、前記属性情報として、ファイル名を含むことを特徴とする。
【００２３】
【発明の実施の形態】
次に、本発明の第１の実施の形態について図面を参照して詳細に説明する。図１は、本発明の主体であるジャーナルメモリ付ＨＤＤサブシステム６を含むＰＣシステム１の構成を示したブロック図である。
【００２４】
図１を参照し、ＰＣシステム１は、データを処理及び実行するメインプロセッサユニット（以下ＭＰＵとする）２、データやプログラムを一時的に格納するメモリ３、データやプログラムを半永久的に格納するジャーナルメモリ付ＨＤＤサブシステム６、ジャーナルメモリ付ＨＤＤサブシステム６に対しデータの読み書きを制御するＤＩＳＫインタフェースコントローラ４、システムコントローラ５によって構成される。
【００２５】
システムコントローラ５は、ＭＰＵ２とメモリ３及びＤＩＳＫインタフェースコントローラ４を接続し、ＭＰＵ２とメモリ３とＤＩＳＫインタフェースコントローラ４の間の通信を制御する。
【００２６】
ＤＩＳＫインタフェースコントローラ４とジャーナルメモリ付ＨＤＤサブシステム６とはＡＴＡインタフェース、或いはＳＣＳＩに準拠したインタフェースである。
【００２７】
図２は、本発明の主体であるジャーナルメモリ付ＨＤＤサブシステム６と、これを制御するファームウェア４１の詳細な構成を示したブロック図である。図２を参照し、ジャーナルメモリ付ＨＤＤサブシステム６は、データを半永久的に記録するＨＤＤ（ハードディスクドライブ）８、これに格納されているブートモジュールをコピーしたジャーナルメモリ９、ＨＤＤ８とジャーナルメモリ９を制御しシステムコントローラ５とのデータ通信を司るＨＤＤサブシステムコントローラ７によって構成される。
【００２８】
ジャーナルメモリ９とＨＤＤサブシステムコントローラ７の追加部品は従来のＨＤＤ装置内のＨＤＤコントローラ基板等に実装されている。
【００２９】
ジャーナルメモリ９はメモリ３と同等の読み書き性能（アクセスタイム）を有し電源断の場合でも情報を保持する不揮発性メモリにより構成される。不揮発性メモリの例としてはフラッシュメモリ、或いは電池ないしバッテリバックアップのＲＡＭ等を用いる。
【００３０】
ジャーナルメモリ９はジャーナルデータ属性情報データベース９１、読出データ属性情報データベース９２、ジャーナルデータエリア９３と、大きく３つのエリアにより構成される。データ属性情報はデータを一意に特定できる情報郡から構成され、任意に設定することが出来る。尚、以下データベースをＤＢと省略する。
【００３１】
ブートモジュール自身はジャーナルデータエリア９３に格納され、ジャーナルデータ属性情報ＤＢ９１は、前回システム立ち上げに成功した際に読み込まれたブートモジュールを一意に特定するための属性情報を、読出し命令指示のあった順番に１ブートモジュールを１レコードとしたＤＢとして構築されている。
【００３２】
つまりジャーナルデータ属性情報ＤＢ９１にあるブートモジュールの属性情報が記録されていれば、そのブートモジュールは必ずジャーナルデータエリア９３に格納されている仕組みとなる。尚、ジャーナルデータエリア９３の最終レコードにはＤＢの終了を示すコードが記録されている。
【００３３】
読出データ属性情報ＤＢ９２はジャーナルデータ属性情報ＤＢ９１と同様に、ブートモジュールを一意に特定する為の属性情報を、１ブートモジュールを１レコードとしたＤＢとして構築されているが、読出データ属性情報ＤＢ９２では実際にＰＣシステム１の立ち上げ時に、ＭＰＵ２からシステムコントローラ５を通じＨＤＤサブシステムコントローラ７に、読出しを命令されたデータモジュールの属性情報をその都度記録する仕組みを持つ。
【００３４】
読出データ属性情報ＤＢ９２は立ち上げ時に毎回初期化される。つまり読出データ属性情報ＤＢ９２は実際に命令指示のあったブートモジュールを命令指示のあった順番に記録したログの役割を担い、ジャーナルデータ属性情報ＤＢ９１と読出データ属性情報ＤＢ９２を比較することでジャーナルデータ属性情報ＤＢ９１の内容が命令指示のあったブートモジュールであるかどうかを確認することが可能となる。
【００３５】
尚、ジャーナルデータ属性情報ＤＢ９１と同様に、読出データ属性情報ＤＢ９２の最終レコードにはＤＢ（データベース）の終了を示すコードが記録されている。
【００３６】
ＨＤＤサブシステムコントローラ７は通常のＨＤＤサブシステムと同様にＨＤＤ８の読み書きを制御すると共にジャーナルメモリ９を制御する制御手段７１を有している。制御手段７１は読出指示のあったブートモジュールの属性情報と、ジャーナルデータ属性情報ＤＢ９１の属性情報を比較したり、読出データ属性情報ＤＢ９２とジャーナルデータ属性情報ＤＢ９１の属性情報を比較する属性情報比較手段７１１を持つ。
【００３７】
制御手段７１は、ＨＤＤサブシステムコントローラ７に接続されたＨＤＤ８やジャーナルメモリ９に対してデータの読み書きを制御する手段であり、指示されたブートモジュールの属性情報を元にＨＤＤ８の代わりにジャーナルデータエリア９３にあるブートモジュールをＨＤＤサブシステムコントローラ７に読み出したり、ＨＤＤ８のブートモジュールをジャーナルデータエリア９３にコピーする機能を有する。
【００３８】
属性情報比較手段７１１は、ジャーナルデータ属性情報ＤＢ９１及び読出データ属性情報ＤＢ９２のブートモジュールの属性情報を比較し一致／否を判定する。比較のために一時的にジャーナルデータ属性情報ＤＢ９１および読出データ属性情報ＤＢ９２  のデータレコードを記憶することができるレジスタ＃１および＃２を実装している。尚、これらレジスタはスクラッチパッドメモリで実現し、レジスタ＃１、＃２にそれぞれワード割り当てし実現される。
【００３９】
ファームウェア４１は、ＤＩＳＫインタフェースコントローラ４に格納されたソフトウェアであり、システムコントローラ５の起動をトリガーとして読出データ属性ＤＢ９２を初期化し、ジャーナル開始をＨＤＤサブシステムコントローラ７に通知するプログラムと、読出データ属性情報ＤＢ９２のデータベース終了コードの読み込みをトリガーとして、ジャーナル終了をＨＤＤサブシステムコントローラ７に通知するプログラムを実装している。
【００４０】
つまり、ファームウェア４１はジャーナルメモリ９へのジャーナル読み込み、書き込みの開始と終了の合図と処理手順とを実行する。
【００４１】
次に、本実施の形態の動作について図面を参照して説明する。説明を間単にするために、図１のＰＣシステム１を立ち上げるために必要な一連のＮ個のブートモジュールを、読み出す順にブートモジュール＃１、ブートモジュール＃２、・・、ブートモジュール＃Ｎとする。
【００４２】
また同様に説明を間単にするために、ジャーナルデータ属性情報ＤＢ９１及び読出データ属性情報ＤＢ９２に格納されるデータ属性情報は、特定するブートモジュールのファイル名、タイムスタンプ、データサイズから構成されるとし、これら３つの情報によりブートモジュールが一意に決定されるとする。
【００４３】
そのときのＨＤＤ８、ジャーナルデータエリア９３におけるブートモジュールＮ個のデータ格納イメージを図３に示す。又ジャーナルデータ属性情報ＤＢ９１、読出データ属性情報ＤＢ９２におけるブートモジュールＮ個に関する属性データの格納イメージを図４に示す。
【００４４】
尚、図示しないが読出データ属性情報ＤＢ９２の各レコードにはそのモジュールをＨＤＤ８から読出しそれでジャーナルデータエリア９３を更新しておく必要性を示すフラグ（更新要求個別フラグ）を持たせる例もある。
【００４５】
ＨＤＤ８に格納されたＮ個のブートモジュールは、ＰＣシステム１のインストール時に予め格納される。ここでブートモジュールＮ個に加え、システム立ち上げが完了したＮ＋１番目に読み込まれるジャーナル終了モジュールを用意する。
【００４６】
ジャーナル終了モジュールは、立ち上がったシステムからＨＤＤサブシステムコントローラ７に対し、ジャーナル終了を通知するためのモジュールである。
【００４７】
ジャーナル終了通知を受けたＨＤＤサブシステムコントローラ７は、ジャーナルデータ属性情報ＤＢ９１および読出データ属性情報ＤＢ９２のＮ＋２番目のレコードにジャーナル終了コードを書き込む。
【００４８】
そしてそれまでに記録された読出データ属性情報ＤＢ９２を用い、ジャーナルデータエリア９３にそのモジュールが存在しなければ、ＨＤＤ８からジャーナルデータエリア９３にブートモジュールのデータをコピーするためにファームウェア４１に記載されているプログラムを起動する仕組みである。
【００４９】
図５から図７は、本実施形態の動作を示すフローチャートである。先ず図５を参照し、ＰＣシステム１に電源が入り（ステップ１）、システムコントローラ５が起動し、これがＤＩＳＫインタフェースコントローラ４を起動しファームウェア４１が起動される（ステップ２）。ファームウェア４１は制御手段７１に対し読出データ属性情報ＤＢ９２を初期化する命令を発行し、ＭＰＵ２にジャーナル記録を開始したことを通知し（ステップ３）、レコードカウンタ（このカウンタ値をａとする）を０に初期化する（ステップ４）。
【００５０】
次にＭＰＵ２は先ずブートモジュール＃１を読み込む命令をシステムコントローラ５に発行する。システムコントローラ５はＨＤＤサブシステムコントローラ７に同モジュールを読み出すよう命令を発行する（ステップ５）。
【００５１】
ＨＤＤサブシステムコントローラ７は制御手段７１を用いて、読込命令のあったブートモジュール＃１の属性情報を読出データ属性情報ＤＢ９２のレコードａに記録し、同時に同属性情報を属性情報比較手段７１１内のレジスタ＃１に記録する（ステップ６）。
【００５２】
属性情報比較手段７１１はレジスタ＃１の内容が終了コードかどうかをチェックし（ステップ７）、終了コードであればＣの動作フェイズへ移行、そうでなければ、ジャーナルデータ属性情報ＤＢ９１のレコードａの内容を属性情報比較手段７１１内のレジスタ＃２に読み込む（ステップ８）。
【００５３】
次に制御手段７１はレジスタ＃１とレジスタ＃２の内容を比較結果を参照し（ステップ９）、結果が同一であれば、制御手段７１はジャーナルメモリ９のジャーナルデータエリア９３からレジスタ＃２に記録されたデータ属性情報から特定されたブートモジュール＃１のデータをシステムコントローラ５に読み出す（ステップ１０）。
【００５４】
比較した結果が異なる場合は、制御手段７１はＨＤＤ８から、レジスタ＃１の属性情報が特定するブートモジュール＃１のデータをシステムコントローラ５に読み出す（ステップ１１）。
【００５５】
ＨＤＤ８にブートモジュールをインストールして初めて立ち上げる場合やシステムの変更に伴いＨＤＤ８に格納されているブートモジュール＃１の内容が更新された場合は、レジスタ＃２の内容とレジスタ＃１の内容は異なっているため、ＨＤＤ８からブートモジュール＃１の内容を読み出す。
【００５６】
レジスタ＃２の内容とレジスタ＃１の内容が同一であれば、本来ＨＤＤ８から読み出そうとしているブートモジュール＃１は既にジャーナルデータエリア９３に格納されているブートモジュール＃１と同一の内容であることを示すため、ジャーナルデータエリア９３からブートモジュール＃１をＨＤＤサブシステムコントローラ７に読み出す。
【００５７】
システムコントローラ５は読み出されたデータをメモリ３に格納し、ＭＰＵ２によってブートモジュール＃１の処理が実行される（ステップ１３）。実行が成功した場合（ステップ１４）、ファームウェア４１はレコードカウンタ（ａ）を１つ進め（ステップ１５）、ＭＰＵ２は次のブートモジュール＃２の読み込み命令を発行するのでＢの動作フェーズへ移行する。
【００５８】
もし実行が失敗すればＰＣシステム１は停止してしまうためそのまま終了となる。
【００５９】
ステップ５〜１５の動作を繰り返しブートモジュール＃Ｎ迄の実行が終了すると、ＰＣシステム１の一連の立ち上げ処理が終了する。
【００６０】
次の実行の際は、ジャーナル終了モジュールが読み出される。これを受信後、解釈或いは実行した上位（ＤＩＳＫインタフェースコントローラ４より上位）からジャーナル終了を受ける。
【００６１】
制御手段７１がレジスタ＃１の内容から終了コードであることをチェックし（ステップ７）、動作Ｃのフェーズへ移行する。
【００６２】
図７を参照し、動作Ｃのフェーズでは、先ずファームウェア４１はレコードカウンタ（ａ）を０に初期化し、ＨＤＤサブシステムコントローラ７にジャーナル終了を通知する（ステップ１７）。次に読出データ属性情報ＤＢ９２のａ行の内容を制御手段７１内のレジスタ＃１に読み込む（ステップ１８）。
【００６３】
レジスタ＃１の内容が終了コードの場合は、これをジャーナルデータ属性情報ＤＢ９１のその時のａ行にコピーし終了する（ステップ２５）。
【００６４】
レジスタ＃１の内容が終了コードでない場合は、レジスタ＃２にジャーナルデータ属性情報ＤＢ９１のａ行の属性情報を取り込み（ステップ２０）、レジスタ＃１、＃２の比較結果が一致しなければ（ステップ２１）、レジスタ＃１に記録された属性情報から特定されたデータをＨＤＤ８からジャーナルメモリ９にコピーする（ステップ２２）。
【００６５】
カウンタが初期化されているため一番最初にレジスタ＃１に読み込む情報はブートモジュール＃１の属性情報となり、ジャーナルデータエリア９３が初期状態とすればブートモジュール＃１の内容がＨＤＤ８からジャーナルデータエリア９３にコピーされる。又、レジスタ＃１の内容（ブートモジュール＃１の属性情報）がジャーナルデータ属性情報ＤＢ９１のａ行（０行目）にコピーされる（ステップ２３）。
【００６６】
その後、ファームウェア４１はレコードカウンタ（ａ）を１つ進め（ステップ２４）、レジスタ＃１に終了コードが読み込まれる迄ステップ１８〜２４の動作を繰り返す。ジャーナル終了モジュールまでのコピーが終了すると、システム１の一連の立ち上げに必要な全てのモジュールがジャーナルデータエリア９３にコピーされ、その属性情報がジャーナルデータ属性情報ＤＢ９１に記録された状態となる。
【００６７】
レジスタ＃１に終了コードが読み込まれた場合（ステップ１９）、レジスタ＃１の内容である終了コードをジャーナルデータ属性情報ＤＢ９１のａ行に記録する（ステップ２５）。
【００６８】
以上により全ての処理が終了し、システムを終了し再度立ち上げる際には同様の動作を繰り返す。
【００６９】
次に本実施形態の他の実施例を説明する。本実施例では制御手段７１は更新要求代表フラグを備えている。このフラグは図６のステップ１１でＨＤＤ８からブートモジュールが読み出され送出するとオンにセットされる（ステップ１２）。
【００７０】
図５のステップ７でファームウェア４１が制御手段７１に終了コード（ジャーナル終了通知）を送信した後に更新要求代表フラグ値を読み取る。これがオンしている場合に限り（ステップ１６）、動作Ｃのフェーズに移行する。
【００７１】
次に本実施形態の更に他の実施例を説明する。本実施例では制御手段７１は更新要求代表フラグを備え、このフラグは図６のステップ１１でＨＤＤ８からブートモジュールが読み出され送出するときにオンしておく。更に読出データ属性情報ＤＢ９２のａ行に更新要求個別フラグをオンとし追記しておく（ステップ１２の第２項）。
【００７２】
そして、制御手段７１は図７のステップ２０、２１の動作の代わりにステップ１８で読出データ属性情報ＤＢ９２の属性情報と共に更新要求個別フラグも読出しこれがオンであればステップ２２に移行し、オフではステップ２４に移行する。
【００７３】
次にＨＤＤ８及びジャーナルメモリ９について具体的な読み書き性能をもとに本発明によるＰＣシステム１の具体的な立ち上げ時間について検証する。
【００７４】
現在一般に広く使用されているＨＤＤ８は、ＵｌｔｒａＡＴＡ６６インタフェースに対応した読み込み速度の平均が１秒当たり約４０ＭＢｙｔｅ程度のＨＤＤサブシステムを採用しているケースが多い。
【００７５】
これに対し、ジャーナルメモリ９に、現在一般に広く使用されているＰＣ１３３に対応したメモリ３を採用することで、ＨＤＤ８とジャーナルメモリ９の内容が同一の場合は、同規格のメモリの読み込み速度の平均である1秒あたり約５００ＭＢｙｔｅでの読み込みが可能となる。
【００７６】
ここでブートモジュールＮ個の容量の総計を１０００ＭＢｙｔｅとすると、ＨＤＤ８のみでブートモジュールＮ個全てを読み込んだ場合は、モジュールの読み込み時間が１０００／４０＝２５秒必要となる。
【００７７】
一方、本発明によりジャーナルメモリ９からブートモジュールＮ個全てを読み込んだ場合は、１０００／５００＝２秒で読み込みが完了する。
【００７８】
両者ともにメインプロセッサユニット２がブートモジュールをＮ個を処理する時間は同一となるので、ブートモジュールＮ個を読み込んでＰＣシステム１を立ち上げる時間は、両者の差である２３秒短縮されることとなる。
【００７９】
つまり本発明のジャーナルメモリ付ＨＤＤサブシステム６を採用するだけで、ＰＣシステム１に大きな改造を加えることなく、２０秒以上もシステム立ち上げ時間を短縮することが可能となる。
【００８０】
次に、本発明の第２の実施形態について図面を参照して詳細に説明する。図８は本実施形態のジャーナルメモリ付ＨＤＤサブシステム６の構成を示したブロック図である。図８を参照し、ＨＤＤサブシステムコントローラ７Ａには制御手段７１Ａ、属性情報比較手段７１１の他にウィルス検出手段７２を設ける。
【００８１】
ウィルス検出手段７２は、ＨＤＤ８からジャーナルデータエリア９３へブートモジュールをコピーする前にコピーする内容を配下のワークエリアに読み取り、コンピュータウィルスに汚染されていないかチェックする機構である。
【００８２】
次に本実施形態の動作について図面を用いて説明する。ここでブートモジュールの定義については前記第１の実施形態と同様であり図３に示す通りとする。ＰＣシステム１の立ち上げにおいて、ブートモジュールＮ個の読み込み及び実行については図５、図６のフロチャートと同様の動作を行う。
【００８３】
ブートモジュールＮまでの実行が終了すると、次にジャーナル終了モジュールが読み込まれる送出され、ファームウェア４１より制御手段７１がジャーナル終了を受け、レジスタ＃１の内容が終了コードであることをチェックした後、図９の動作Ｃ’のフェーズへ移行する。
【００８４】
図９の動作Ｃ’のフェーズでは、まずファームウェア４１はレコードカウンタ（ａ）を０に初期化する（ステップ３１）。次に読出データ属性情報ＤＢ９２のａ行の内容をレジスタ＃１に読み込み（ステップ３２）、この内容が終了コードでなければ（ステップ３３）、ジャーナルデータ属性情報ＤＢ９１のａ行をレジスタ＃２に取り込み（ステップ３４）、レジスタ＃１、＃２が不一致であれば（ステップ３５）、レジスタ＃１に記録された属性情報から特定されたデータをＨＤＤ８からウィルス検出手段７２の配下のワークエリアにコピーし（ステップ３６）、ウィルス検出手段７２内で同データがコンピュータウィルスに汚染されていないかチェックする（ステップ３６）。
【００８５】
コンピュータウィルスに、汚染されている場合は、感染検出フラグをオンとし、レジスタ＃１に記録された属性情報をステータスエリアに保存する（ステップ３９）。汚染されていない場合は、直ぐに応答を返し、ファームウェア４１はレコードカウンタ（ａ）を１つ進め、レジスタ＃１に終了コードが読み込まれるまで一連の動作を繰り返す。
【００８６】
レジスタ＃１に終了コードが取り込まれると、制御手段７１は感染検出フラグをチェックしオフであれば、図７の動作Ｃのフェーズに移行する。感染フラグオンであれば例えばアテンション等でＤＩＳＫインタフェースコントローラ４のファームウェア４１に感染を通知する（ステップ４１）。ファームウェア４１は感染のブートモジュール属性情報等の詳細ステータスを取得してから、表示要求と共にＭＰＵ２に通知する。
【００８７】
ＭＰＵ２が感染情報、詳細情報を表示する（ステップ４２）。このときに対応策としてＨＤＤ８の一連のブートモジュールを、前回のブートモジュール群に戻す／否も操作者に選択させる。戻す選択を受けると、ＭＰＵ２は現状のＨＤＤ８のブートモジュールの削除指示をし削除が実行され、次にＤＩＳＫインタフェースコントローラ４に書き戻し指示が発行される。尚、上記削除ブートモジュールの指定のためＭＰＵ２が読出データ属性情報ＤＢ９２を読み出してもよい。
【００８８】
図１０に移り、ファームウェア４１は書き戻し指示を受信すると（ステップ５０）、レコードカウンタを初期化し（ステップ５１）、制御手段７１に書き戻しを指示する。制御手段７１はＤＢ９１のａ行をレジスタ＃１に取り込み（ステップ５２）、レジスタ＃１は終了コードでなければ（ステップ５４）、レジスタ＃１の属性情報の指定するブートモジュールをジャーナルデータエリア９３よりワークエリアに読出し、これをＨＤＤ８に書き込む（ステップ５４）。
【００８９】
ファームウェア４１はレコードカウンタａをインクリメントし、ステップ５２から５５が繰り返される。レジスタ＃１に終了コードが読み込まれると書き戻し動作は終了する。
【００９０】
このことにより、万が一、ＨＤＤ８のブートモジュールが次回のシステム立ち上げを行えないようにするコンピュータウィルスに汚染された場合、コンピュータウィルスに汚染されていないジャーナルメモリ９の内容をＨＤＤ８に書き戻すことによって、汚染される前の状態に戻すことができる。
【００９１】
従って、次回立ち上げ時にはコンピュータウィルスの影響を受けずにシステムを立ち上げることが出来るという新たな効果をもたらす。
【００９２】
【発明の効果】
以上説明した様に、本発明のジャーナルメモリ付ハードディスクサブシステムを用意すれば、全てのブートモジュールをＨＤＤに較べ、充分読み書き性能の速いジャーナルメモリから読出すことでシステム立ち上げ時間短縮を図り、且つジャーナルメモリを含めたハードウェア機構は全てＨＤＤサブシステムに実装され、従来のＤＩＳＫインタフェースコントローラを通じ接続できるので、従来のＰＣシステムに大幅な改造を加えることなく適用できシステム時間短縮を実現できる。
【００９３】
次に、ジャーナルデータ属性情報ＤＢ、読出データ属性情報ＤＢを用いてジャーナルデータエリアの内容とＨＤＤのブートモジュール群の内容を、立ち上げる度に比較し変更のあったモジュールをシステム立ち上げ後にコピーする処理を行っており、システム更新があった場合でも、システムの立ち上げ時間短縮を維持できる。
【００９４】
更に、ブートモジュールを格納するＨＤＤを使用しないことによってその製品寿命を従来より延長することができる。これは、ＨＤＤは使用頻度が多いほど製品寿命が短くなる傾向にあるが、本発明ではシステムが更新されない限り全てのブートモジュールは常にジャーナルメモリから読み込まれ、ＨＤＤアクセス回数が低減される為である。
【図面の簡単な説明】
【図１】本発明の第１実施形態であり、本発明の主体であるジャーナルメモリ付ＨＤＤサブシステム６を含むＰＣシステム１の構成を示すブロック図。
【図２】本発明の第１実施形態であり、本発明の主体であるジャーナルメモリ付ＨＤＤサブシステム６と、これを制御するファームウェア４１の詳細な構成を示すブロック図。
【図３】本発明の第１実施形態のＨＤＤ８、ジャーナルデータエリア９３におけるブートモジュールＮ個のデータ格納イメージを示す図。
【図４】本発明の第１実施形態のジャーナルデータ属性情報ＤＢ９１、読出データ属性情報ＤＢ９２におけるブートモジュールＮ個に関する属性データの格納イメージを示す図。
【図５】本発明の第１実施形態の動作を示すフローチャート。
【図６】本発明の第１実施形態の動作を示すフローチャート。
【図７】本発明の第１実施形態の動作を示すフローチャート。
【図８】本発明の第２実施形態のジャーナルメモリ付ＨＤＤサブシステム６の構成を示すブロック図。
【図９】本発明の第２実施形態の動作を示すフローチャート。
【図１０】本発明の第２実施形態の動作を示すフローチャート。
【符号の説明】
１    ＰＣシステム
２    ＭＰＵ
３    メモリ
４    ＤＩＳＫインタフェースコントローラ
４１    ファームウェア
５    システムコントローラ
６    ジャーナルメモリ付ＨＤＤサブシステム
７、７Ａ    ＨＤＤサブシステムコントローラ
７１、７１Ａ    制御手段
７１１    属性情報比較手段
７２    ウィルス検出手段
８    ＨＤＤ
９    ジャーナルメモリ
９１    ジャーナルデータ属性情報ＤＢ
９２    読出データ属性情報ＤＢ
９３    ジャーナルデータエリア
【図１】
0003951808.tif 000002
【図２】
0003951808.tif 000003
【図３】
0003951808.tif 000004
【図４】
0003951808.tif 000005
【図５】
0003951808.tif 000006
【図６】
0003951808.tif 000007
【図７】
0003951808.tif 000008
【図８】
0003951808.tif 000009
【図９】
0003951808.tif 000010
【図１０】
0003951808.tif 000011