JP3951808B2 - ハードディスクドライブサブシステム - Google Patents
ハードディスクドライブサブシステム Download PDFInfo
- Publication number
- JP3951808B2 JP3951808B2 JP2002155465A JP2002155465A JP3951808B2 JP 3951808 B2 JP3951808 B2 JP 3951808B2 JP 2002155465 A JP2002155465 A JP 2002155465A JP 2002155465 A JP2002155465 A JP 2002155465A JP 3951808 B2 JP3951808 B2 JP 3951808B2
- Authority
- JP
- Japan
- Prior art keywords
- attribute information
- journal data
- read
- boot
- journal
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
【発明の属する技術分野】
本発明は情報処理装置で使用され、記憶内容として情報処理装置の立ち上げに必要なオペレーティングシステムのモジュールやデータを含むハードディスクドライブサブシステムに関し、特に立ち上げ時のブートモジュール読出が高速に行えるハードディスクドライブサブシステムに関する。
【0002】
【従来の技術】
従来の、PCシステム(パーソナルコンピュータシステム)は、システム立ち上げに必要なブートモジュールはPCに接続されたHDDサブシステム(ハードディスクドライブサブシステム)に保存しているのが通常である。
【0003】
PCのシステム起動時、PCは先ずシステムを立ち上げるために必須となるOS(オッペレーティングシステム)のモジュール及びデータをコントローラ経由でHDDから、PC内部に用意されたメモリシステムに読み込ませ、それらモジュールに記録された処理を順次行うことで、最終的にシステムの立ち上げが完了する仕組みである。
【0004】
【発明が解決しようとする課題】
しかし、近年PCシステムやそのソフトウェア機能の拡大に伴ない、これに対応するブートモジュールの機能も拡大しておりブートモジュールのデータ量が増加している。
【0005】
従って、上記従来技術ではブートモジュールの読込データ量増加により、システムの立ち上げ時間が長くなっているという問題がある。
【0006】
ここで、ブートモジュールのデータ量が増加したとしても、モジュール実行時間は、近年のメインプロセッサ関連の技術革新により、相対的には大きく増えない。しかしブートモジュールを格納し読み出すハードディスクは、プロセッサと比較して技術革新が進んでおらず、ハードディスクからの読出データ量の増加がそのまま読出時間の増加を引き起こしている。
【0007】
これは、プロセッサ関連は全てが電気的信号により処理を行うため信号の伝送速度が向上するのに比例して性能向上するのに対し、ハードディスクは、記録媒体にヘッドを移動し接触し信号を読み取るという物理的動作が入るため物理的構造を改善しない限り大幅な性能向上は見込めないためである。
【0008】
しかしながら同装置のハードウェアやソフトウェアなどに変更があった場合を除けば、PCシステムは、立ち上げのたびに毎回同一のブートモジュールを同一手順で実行する特性をもつ。
【0009】
本発明では、この特性を利用し、予めブートモジュールを自動的にジャーナルメモリに保存する仕組みを持つことで、ブートモジュールの読み出し時間を短縮し、結果としてシステム立上げトータル時間の短縮を実現する。
【0010】
【課題を解決するための手段】
本発明の第1のジャーナルメモリ付ハードディスクドライブサブシステムは、情報処理システムの立ち上げに必要なオペレーティングシステムのモジュールやデータ、即ちブートモジュール群を記憶内容に含むハードディスクと、前回立ち上げで読み出された前記ブートモジュール群のコピーをジャーナルデータとして保持しておく不揮発性メモリと、これらを制御するコントローラを備えたハードディスクドライブサブシステムであって、前記不揮発性メモリには、前記ブートモジュール群のコピーであるジャーナルデータと、ジャーナルデータの各ブートモジュールを識別できる属性情報を保持したジャーナルデータ属性情報を有し、前記コントローラは、ハードディスクドライブサブシステムが接続された上位装置よりブート開始通知を受け、前記上位装置より属性情報で指定されたブートモジュールの読出指示を受けるとこの属性情報と前記ジャーナルデータ属性情報を比較し、この属性情報が前記ジャーナルデータ属性情報に登録されていれば、前記ジャーナルデータエリアより指定のブートモジュールを読み出し、登録されていなければハードディスクより読み出し、それぞれ前記上位装置に渡す制御手段とを有することを特徴とする。
【0011】
本発明の第2のジャーナルメモリ付ハードディスクドライブサブシステムは、前記第1のジャーナルメモリ付ハードディスクドライブサブシステムであって、前記不揮発性メモリには、前記ブート開始受信後に、順次読出しを指示されたブートモジュールの属性情報を、順次一時記憶する読出データ属性情報記録も有し、前記コントローラの制御手段は、上位装置よりブート終了を受けた後に前記読出データ属性情報記録を順次読み出し、読み出した各モジュールの属性情報が前記ジャーナルデータ属性情報に登録されていなければ、前記読み出した属性情報が指定するブートモジュールをハードディスクより読出し、ジャーナルデータエリアにコピーし、前記属性情報で前記ジャーナルデータ属性情報を更新する手段も有することを特徴とする。
【0012】
本発明の第3のジャーナルメモリ付ハードディスクドライブサブシステムは、前記第2のジャーナルメモリ付ハードディスクドライブサブシステムであって、前記コントローラの前記制御手段は、ブート中に読出しを指示されたブートモジュールの属性情報とジャーナルデータ属性情報の比較を行った際に未登録のモジュールが一つでもあればオンすると共に、ブート終了時に参照される更新要求代表フラグも有し、このフラグがオンであれば、前記ジャーナルデータ及びジャーナルデータ属性情報の更新処理が行われることを特徴とする。
【0013】
本発明の第4のジャーナルメモリ付ハードディスクドライブサブシステムは、前記第2のジャーナルメモリ付ハードディスクドライブサブシステムであって、前記コントローラの前記制御手段は、読出指示のあった各ブートモジュールの属性情報とジャーナルデータ属性情報との比較で未登録であれば、前記読出データ属性情報記録の対応レコードに更新要求個別フラグを追記し、この個別フラグを前記ブート終了後のジャーナルデータ及びジャーナルデータ属性情報の更新処理で参照する手段も有することを特徴とする。
【0014】
本発明の第5のジャーナルメモリ付ハードディスクドライブサブシステムは、前記第2、第3、又は第4のジャーナルメモリ付ハードディスクドライブサブシステムであって、前記コントローラは、コンピュータウィルスの検知手段も有し、前記制御手段は、前記ブート終了後の前記ジャーナルデータ及びジャーナルデータ属性情報の更新処理に先立って、更新データとなるブートモジュールをハードディスクより読み出し、これを前記ウィルス検知手段を用い感染の有無をチェックし、感染なしを確認してから前記ジャーナルデータ及びジャーナルデータ属性情報の更新処理を行う手段も有することを特徴とする。
【0015】
本発明の第6のジャーナルメモリ付ハードディスクドライブサブシステムは、前記第5のジャーナルメモリ付ハードディスクドライブサブシステムであって、前記制御手段は、前記ウィルスチェックで、感染していればその旨を上位装置に通知する手段と、上位装置からの指示を受けて、前記ジャーナルデータ属性情報で指定されるジャーナルデータエリアの個々のブートモジュールをハードディスクに書き戻す手段も有することを特徴とする。
【0016】
本発明の第7のジャーナルメモリ付ハードディスクドライブサブシステムは、前記第1乃至第6の何れかのジャーナルメモリ付ハードディスクドライブサブシステムであって、前記ジャーナルメモリのジャーナルデータ属性情報及び読出しデータ属性情報記録を、モジュール当たり所定数のレコードとし且つ読出しを指示された順の記録とすることを特徴とする。
【0017】
本発明の第8のジャーナルメモリ付ハードディスクドライブサブシステムは、前記第1乃至第7の何れかのジャーナルメモリ付ハードディスクドライブサブシステムであって、前記ジャーナルメモリのジャーナルデータ属性情報、読出データ属性情報記録の属性情報として、ファイル名を含むことを特徴とする。
【0018】
本発明の第9のジャーナルメモリ付ハードディスクドライブサブシステムは、前記第1乃至第8の何れかのジャーナルメモリ付ハードディスクドライブサブシステムであって、前記ジャーナルメモリをフラッシュメモリとすることを特徴とする。
【0019】
本発明の第1の制御プログラムは、前記第2のジャーナルメモリ付ハードディスクドライブサブシステムが接続された上位装置においてこのハードディスクドライブサブシステムを制御するプログラムであって、ハードディスクドライブサブシステムに、ブート開始通知と、属性情報で指定した個々のブートモジュールの読出指示を行い、読み出されたブートモジュールが予め定められたブート終了モジュールであれば、ブート終了通知をし、読込データ属性情報記録とジャーナルデータ属性情報の比較、比較結果に応じたジャーナルデータ及びジャーナルデータ属性情報の更新処理の開始を指示する手順を有することを特徴とする。
【0020】
本発明の第2の制御プログラムは、前記第3、第4、又は第5のジャーナルメモリ付ハードディスクドライブサブシステムが接続された上位装置においてこのハードディスクドライブサブシステムを制御するプログラムであって、ハードディスクドライブサブシステムに、ブート開始通知と、属性情報で指定した個々のブートモジュールの読出指示を行い、読み出されたブートモジュールが予め定められたブート終了モジュールであれば、ブート終了を通知し、前記更新要求代表フラグ値を参照しオンであれば、ジャーナルデータ及びジャーナルデータ属性情報の更新処理開始を指示する手順を有することを特徴とする。
【0021】
本発明の第3の制御プログラムは、前記第6のジャーナルメモリ付ハードディスクドライブサブシステムが接続された上位装置においてこのハードディスクドライブサブシステムを制御するプログラムであって、ハードディスクドライブサブシステムに、ブート開始通知と、属性情報で指定した個々のブートモジュールの読出指示を行い、読み出されたブートモジュールが予め定められたブート終了モジュールであれば、ブート終了を通知し、前記更新要求代表フラグ値を参照しオンであれば、ジャーナルデータ及びジャーナルデータ属性情報の更新処理を指示する手順と、ウィルス感染報告を受けると、感染したブートモジュールの属性情報の表示要求を行なう手順と、応答としてブートモジュールの書き戻しが指示されると、ハードディスクドライブサブシステムにジャーナルデータ属性情報の読出し、その属性情報で指定されるジャーナルデータエリア上のブートモジュールのハードディスクへの書込を指示する手順とを有することを特徴とする。
【0022】
本発明の第4の制御プログラムは、前記第1、第2、又は第3の制御プログラムであって、前記属性情報として、ファイル名を含むことを特徴とする。
【0023】
【発明の実施の形態】
次に、本発明の第1の実施の形態について図面を参照して詳細に説明する。図1は、本発明の主体であるジャーナルメモリ付HDDサブシステム6を含むPCシステム1の構成を示したブロック図である。
【0024】
図1を参照し、PCシステム1は、データを処理及び実行するメインプロセッサユニット(以下MPUとする)2、データやプログラムを一時的に格納するメモリ3、データやプログラムを半永久的に格納するジャーナルメモリ付HDDサブシステム6、ジャーナルメモリ付HDDサブシステム6に対しデータの読み書きを制御するDISKインタフェースコントローラ4、システムコントローラ5によって構成される。
【0025】
システムコントローラ5は、MPU2とメモリ3及びDISKインタフェースコントローラ4を接続し、MPU2とメモリ3とDISKインタフェースコントローラ4の間の通信を制御する。
【0026】
DISKインタフェースコントローラ4とジャーナルメモリ付HDDサブシステム6とはATAインタフェース、或いはSCSIに準拠したインタフェースである。
【0027】
図2は、本発明の主体であるジャーナルメモリ付HDDサブシステム6と、これを制御するファームウェア41の詳細な構成を示したブロック図である。図2を参照し、ジャーナルメモリ付HDDサブシステム6は、データを半永久的に記録するHDD(ハードディスクドライブ)8、これに格納されているブートモジュールをコピーしたジャーナルメモリ9、HDD8とジャーナルメモリ9を制御しシステムコントローラ5とのデータ通信を司るHDDサブシステムコントローラ7によって構成される。
【0028】
ジャーナルメモリ9とHDDサブシステムコントローラ7の追加部品は従来のHDD装置内のHDDコントローラ基板等に実装されている。
【0029】
ジャーナルメモリ9はメモリ3と同等の読み書き性能(アクセスタイム)を有し電源断の場合でも情報を保持する不揮発性メモリにより構成される。不揮発性メモリの例としてはフラッシュメモリ、或いは電池ないしバッテリバックアップのRAM等を用いる。
【0030】
ジャーナルメモリ9はジャーナルデータ属性情報データベース91、読出データ属性情報データベース92、ジャーナルデータエリア93と、大きく3つのエリアにより構成される。データ属性情報はデータを一意に特定できる情報郡から構成され、任意に設定することが出来る。尚、以下データベースをDBと省略する。
【0031】
ブートモジュール自身はジャーナルデータエリア93に格納され、ジャーナルデータ属性情報DB91は、前回システム立ち上げに成功した際に読み込まれたブートモジュールを一意に特定するための属性情報を、読出し命令指示のあった順番に1ブートモジュールを1レコードとしたDBとして構築されている。
【0032】
つまりジャーナルデータ属性情報DB91にあるブートモジュールの属性情報が記録されていれば、そのブートモジュールは必ずジャーナルデータエリア93に格納されている仕組みとなる。尚、ジャーナルデータエリア93の最終レコードにはDBの終了を示すコードが記録されている。
【0033】
読出データ属性情報DB92はジャーナルデータ属性情報DB91と同様に、ブートモジュールを一意に特定する為の属性情報を、1ブートモジュールを1レコードとしたDBとして構築されているが、読出データ属性情報DB92では実際にPCシステム1の立ち上げ時に、MPU2からシステムコントローラ5を通じHDDサブシステムコントローラ7に、読出しを命令されたデータモジュールの属性情報をその都度記録する仕組みを持つ。
【0034】
読出データ属性情報DB92は立ち上げ時に毎回初期化される。つまり読出データ属性情報DB92は実際に命令指示のあったブートモジュールを命令指示のあった順番に記録したログの役割を担い、ジャーナルデータ属性情報DB91と読出データ属性情報DB92を比較することでジャーナルデータ属性情報DB91の内容が命令指示のあったブートモジュールであるかどうかを確認することが可能となる。
【0035】
尚、ジャーナルデータ属性情報DB91と同様に、読出データ属性情報DB92の最終レコードにはDB(データベース)の終了を示すコードが記録されている。
【0036】
HDDサブシステムコントローラ7は通常のHDDサブシステムと同様にHDD8の読み書きを制御すると共にジャーナルメモリ9を制御する制御手段71を有している。制御手段71は読出指示のあったブートモジュールの属性情報と、ジャーナルデータ属性情報DB91の属性情報を比較したり、読出データ属性情報DB92とジャーナルデータ属性情報DB91の属性情報を比較する属性情報比較手段711を持つ。
【0037】
制御手段71は、HDDサブシステムコントローラ7に接続されたHDD8やジャーナルメモリ9に対してデータの読み書きを制御する手段であり、指示されたブートモジュールの属性情報を元にHDD8の代わりにジャーナルデータエリア93にあるブートモジュールをHDDサブシステムコントローラ7に読み出したり、HDD8のブートモジュールをジャーナルデータエリア93にコピーする機能を有する。
【0038】
属性情報比較手段711は、ジャーナルデータ属性情報DB91及び読出データ属性情報DB92のブートモジュールの属性情報を比較し一致/否を判定する。比較のために一時的にジャーナルデータ属性情報DB91および読出データ属性情報DB92 のデータレコードを記憶することができるレジスタ#1および#2を実装している。尚、これらレジスタはスクラッチパッドメモリで実現し、レジスタ#1、#2にそれぞれワード割り当てし実現される。
【0039】
ファームウェア41は、DISKインタフェースコントローラ4に格納されたソフトウェアであり、システムコントローラ5の起動をトリガーとして読出データ属性DB92を初期化し、ジャーナル開始をHDDサブシステムコントローラ7に通知するプログラムと、読出データ属性情報DB92のデータベース終了コードの読み込みをトリガーとして、ジャーナル終了をHDDサブシステムコントローラ7に通知するプログラムを実装している。
【0040】
つまり、ファームウェア41はジャーナルメモリ9へのジャーナル読み込み、書き込みの開始と終了の合図と処理手順とを実行する。
【0041】
次に、本実施の形態の動作について図面を参照して説明する。説明を間単にするために、図1のPCシステム1を立ち上げるために必要な一連のN個のブートモジュールを、読み出す順にブートモジュール#1、ブートモジュール#2、・・、ブートモジュール#Nとする。
【0042】
また同様に説明を間単にするために、ジャーナルデータ属性情報DB91及び読出データ属性情報DB92に格納されるデータ属性情報は、特定するブートモジュールのファイル名、タイムスタンプ、データサイズから構成されるとし、これら3つの情報によりブートモジュールが一意に決定されるとする。
【0043】
そのときのHDD8、ジャーナルデータエリア93におけるブートモジュールN個のデータ格納イメージを図3に示す。又ジャーナルデータ属性情報DB91、読出データ属性情報DB92におけるブートモジュールN個に関する属性データの格納イメージを図4に示す。
【0044】
尚、図示しないが読出データ属性情報DB92の各レコードにはそのモジュールをHDD8から読出しそれでジャーナルデータエリア93を更新しておく必要性を示すフラグ(更新要求個別フラグ)を持たせる例もある。
【0045】
HDD8に格納されたN個のブートモジュールは、PCシステム1のインストール時に予め格納される。ここでブートモジュールN個に加え、システム立ち上げが完了したN+1番目に読み込まれるジャーナル終了モジュールを用意する。
【0046】
ジャーナル終了モジュールは、立ち上がったシステムからHDDサブシステムコントローラ7に対し、ジャーナル終了を通知するためのモジュールである。
【0047】
ジャーナル終了通知を受けたHDDサブシステムコントローラ7は、ジャーナルデータ属性情報DB91および読出データ属性情報DB92のN+2番目のレコードにジャーナル終了コードを書き込む。
【0048】
そしてそれまでに記録された読出データ属性情報DB92を用い、ジャーナルデータエリア93にそのモジュールが存在しなければ、HDD8からジャーナルデータエリア93にブートモジュールのデータをコピーするためにファームウェア41に記載されているプログラムを起動する仕組みである。
【0049】
図5から図7は、本実施形態の動作を示すフローチャートである。先ず図5を参照し、PCシステム1に電源が入り(ステップ1)、システムコントローラ5が起動し、これがDISKインタフェースコントローラ4を起動しファームウェア41が起動される(ステップ2)。ファームウェア41は制御手段71に対し読出データ属性情報DB92を初期化する命令を発行し、MPU2にジャーナル記録を開始したことを通知し(ステップ3)、レコードカウンタ(このカウンタ値をaとする)を0に初期化する(ステップ4)。
【0050】
次にMPU2は先ずブートモジュール#1を読み込む命令をシステムコントローラ5に発行する。システムコントローラ5はHDDサブシステムコントローラ7に同モジュールを読み出すよう命令を発行する(ステップ5)。
【0051】
HDDサブシステムコントローラ7は制御手段71を用いて、読込命令のあったブートモジュール#1の属性情報を読出データ属性情報DB92のレコードaに記録し、同時に同属性情報を属性情報比較手段711内のレジスタ#1に記録する(ステップ6)。
【0052】
属性情報比較手段711はレジスタ#1の内容が終了コードかどうかをチェックし(ステップ7)、終了コードであればCの動作フェイズへ移行、そうでなければ、ジャーナルデータ属性情報DB91のレコードaの内容を属性情報比較手段711内のレジスタ#2に読み込む(ステップ8)。
【0053】
次に制御手段71はレジスタ#1とレジスタ#2の内容を比較結果を参照し(ステップ9)、結果が同一であれば、制御手段71はジャーナルメモリ9のジャーナルデータエリア93からレジスタ#2に記録されたデータ属性情報から特定されたブートモジュール#1のデータをシステムコントローラ5に読み出す(ステップ10)。
【0054】
比較した結果が異なる場合は、制御手段71はHDD8から、レジスタ#1の属性情報が特定するブートモジュール#1のデータをシステムコントローラ5に読み出す(ステップ11)。
【0055】
HDD8にブートモジュールをインストールして初めて立ち上げる場合やシステムの変更に伴いHDD8に格納されているブートモジュール#1の内容が更新された場合は、レジスタ#2の内容とレジスタ#1の内容は異なっているため、HDD8からブートモジュール#1の内容を読み出す。
【0056】
レジスタ#2の内容とレジスタ#1の内容が同一であれば、本来HDD8から読み出そうとしているブートモジュール#1は既にジャーナルデータエリア93に格納されているブートモジュール#1と同一の内容であることを示すため、ジャーナルデータエリア93からブートモジュール#1をHDDサブシステムコントローラ7に読み出す。
【0057】
システムコントローラ5は読み出されたデータをメモリ3に格納し、MPU2によってブートモジュール#1の処理が実行される(ステップ13)。実行が成功した場合(ステップ14)、ファームウェア41はレコードカウンタ(a)を1つ進め(ステップ15)、MPU2は次のブートモジュール#2の読み込み命令を発行するのでBの動作フェーズへ移行する。
【0058】
もし実行が失敗すればPCシステム1は停止してしまうためそのまま終了となる。
【0059】
ステップ5〜15の動作を繰り返しブートモジュール#N迄の実行が終了すると、PCシステム1の一連の立ち上げ処理が終了する。
【0060】
次の実行の際は、ジャーナル終了モジュールが読み出される。これを受信後、解釈或いは実行した上位(DISKインタフェースコントローラ4より上位)からジャーナル終了を受ける。
【0061】
制御手段71がレジスタ#1の内容から終了コードであることをチェックし(ステップ7)、動作Cのフェーズへ移行する。
【0062】
図7を参照し、動作Cのフェーズでは、先ずファームウェア41はレコードカウンタ(a)を0に初期化し、HDDサブシステムコントローラ7にジャーナル終了を通知する(ステップ17)。次に読出データ属性情報DB92のa行の内容を制御手段71内のレジスタ#1に読み込む(ステップ18)。
【0063】
レジスタ#1の内容が終了コードの場合は、これをジャーナルデータ属性情報DB91のその時のa行にコピーし終了する(ステップ25)。
【0064】
レジスタ#1の内容が終了コードでない場合は、レジスタ#2にジャーナルデータ属性情報DB91のa行の属性情報を取り込み(ステップ20)、レジスタ#1、#2の比較結果が一致しなければ(ステップ21)、レジスタ#1に記録された属性情報から特定されたデータをHDD8からジャーナルメモリ9にコピーする(ステップ22)。
【0065】
カウンタが初期化されているため一番最初にレジスタ#1に読み込む情報はブートモジュール#1の属性情報となり、ジャーナルデータエリア93が初期状態とすればブートモジュール#1の内容がHDD8からジャーナルデータエリア93にコピーされる。又、レジスタ#1の内容(ブートモジュール#1の属性情報)がジャーナルデータ属性情報DB91のa行(0行目)にコピーされる(ステップ23)。
【0066】
その後、ファームウェア41はレコードカウンタ(a)を1つ進め(ステップ24)、レジスタ#1に終了コードが読み込まれる迄ステップ18〜24の動作を繰り返す。ジャーナル終了モジュールまでのコピーが終了すると、システム1の一連の立ち上げに必要な全てのモジュールがジャーナルデータエリア93にコピーされ、その属性情報がジャーナルデータ属性情報DB91に記録された状態となる。
【0067】
レジスタ#1に終了コードが読み込まれた場合(ステップ19)、レジスタ#1の内容である終了コードをジャーナルデータ属性情報DB91のa行に記録する(ステップ25)。
【0068】
以上により全ての処理が終了し、システムを終了し再度立ち上げる際には同様の動作を繰り返す。
【0069】
次に本実施形態の他の実施例を説明する。本実施例では制御手段71は更新要求代表フラグを備えている。このフラグは図6のステップ11でHDD8からブートモジュールが読み出され送出するとオンにセットされる(ステップ12)。
【0070】
図5のステップ7でファームウェア41が制御手段71に終了コード(ジャーナル終了通知)を送信した後に更新要求代表フラグ値を読み取る。これがオンしている場合に限り(ステップ16)、動作Cのフェーズに移行する。
【0071】
次に本実施形態の更に他の実施例を説明する。本実施例では制御手段71は更新要求代表フラグを備え、このフラグは図6のステップ11でHDD8からブートモジュールが読み出され送出するときにオンしておく。更に読出データ属性情報DB92のa行に更新要求個別フラグをオンとし追記しておく(ステップ12の第2項)。
【0072】
そして、制御手段71は図7のステップ20、21の動作の代わりにステップ18で読出データ属性情報DB92の属性情報と共に更新要求個別フラグも読出しこれがオンであればステップ22に移行し、オフではステップ24に移行する。
【0073】
次にHDD8及びジャーナルメモリ9について具体的な読み書き性能をもとに本発明によるPCシステム1の具体的な立ち上げ時間について検証する。
【0074】
現在一般に広く使用されているHDD8は、UltraATA66インタフェースに対応した読み込み速度の平均が1秒当たり約40MByte程度のHDDサブシステムを採用しているケースが多い。
【0075】
これに対し、ジャーナルメモリ9に、現在一般に広く使用されているPC133に対応したメモリ3を採用することで、HDD8とジャーナルメモリ9の内容が同一の場合は、同規格のメモリの読み込み速度の平均である1秒あたり約500MByteでの読み込みが可能となる。
【0076】
ここでブートモジュールN個の容量の総計を1000MByteとすると、HDD8のみでブートモジュールN個全てを読み込んだ場合は、モジュールの読み込み時間が1000/40=25秒必要となる。
【0077】
一方、本発明によりジャーナルメモリ9からブートモジュールN個全てを読み込んだ場合は、1000/500=2秒で読み込みが完了する。
【0078】
両者ともにメインプロセッサユニット2がブートモジュールをN個を処理する時間は同一となるので、ブートモジュールN個を読み込んでPCシステム1を立ち上げる時間は、両者の差である23秒短縮されることとなる。
【0079】
つまり本発明のジャーナルメモリ付HDDサブシステム6を採用するだけで、PCシステム1に大きな改造を加えることなく、20秒以上もシステム立ち上げ時間を短縮することが可能となる。
【0080】
次に、本発明の第2の実施形態について図面を参照して詳細に説明する。図8は本実施形態のジャーナルメモリ付HDDサブシステム6の構成を示したブロック図である。図8を参照し、HDDサブシステムコントローラ7Aには制御手段71A、属性情報比較手段711の他にウィルス検出手段72を設ける。
【0081】
ウィルス検出手段72は、HDD8からジャーナルデータエリア93へブートモジュールをコピーする前にコピーする内容を配下のワークエリアに読み取り、コンピュータウィルスに汚染されていないかチェックする機構である。
【0082】
次に本実施形態の動作について図面を用いて説明する。ここでブートモジュールの定義については前記第1の実施形態と同様であり図3に示す通りとする。PCシステム1の立ち上げにおいて、ブートモジュールN個の読み込み及び実行については図5、図6のフロチャートと同様の動作を行う。
【0083】
ブートモジュールNまでの実行が終了すると、次にジャーナル終了モジュールが読み込まれる送出され、ファームウェア41より制御手段71がジャーナル終了を受け、レジスタ#1の内容が終了コードであることをチェックした後、図9の動作C’のフェーズへ移行する。
【0084】
図9の動作C’のフェーズでは、まずファームウェア41はレコードカウンタ(a)を0に初期化する(ステップ31)。次に読出データ属性情報DB92のa行の内容をレジスタ#1に読み込み(ステップ32)、この内容が終了コードでなければ(ステップ33)、ジャーナルデータ属性情報DB91のa行をレジスタ#2に取り込み(ステップ34)、レジスタ#1、#2が不一致であれば(ステップ35)、レジスタ#1に記録された属性情報から特定されたデータをHDD8からウィルス検出手段72の配下のワークエリアにコピーし(ステップ36)、ウィルス検出手段72内で同データがコンピュータウィルスに汚染されていないかチェックする(ステップ36)。
【0085】
コンピュータウィルスに、汚染されている場合は、感染検出フラグをオンとし、レジスタ#1に記録された属性情報をステータスエリアに保存する(ステップ39)。汚染されていない場合は、直ぐに応答を返し、ファームウェア41はレコードカウンタ(a)を1つ進め、レジスタ#1に終了コードが読み込まれるまで一連の動作を繰り返す。
【0086】
レジスタ#1に終了コードが取り込まれると、制御手段71は感染検出フラグをチェックしオフであれば、図7の動作Cのフェーズに移行する。感染フラグオンであれば例えばアテンション等でDISKインタフェースコントローラ4のファームウェア41に感染を通知する(ステップ41)。ファームウェア41は感染のブートモジュール属性情報等の詳細ステータスを取得してから、表示要求と共にMPU2に通知する。
【0087】
MPU2が感染情報、詳細情報を表示する(ステップ42)。このときに対応策としてHDD8の一連のブートモジュールを、前回のブートモジュール群に戻す/否も操作者に選択させる。戻す選択を受けると、MPU2は現状のHDD8のブートモジュールの削除指示をし削除が実行され、次にDISKインタフェースコントローラ4に書き戻し指示が発行される。尚、上記削除ブートモジュールの指定のためMPU2が読出データ属性情報DB92を読み出してもよい。
【0088】
図10に移り、ファームウェア41は書き戻し指示を受信すると(ステップ50)、レコードカウンタを初期化し(ステップ51)、制御手段71に書き戻しを指示する。制御手段71はDB91のa行をレジスタ#1に取り込み(ステップ52)、レジスタ#1は終了コードでなければ(ステップ54)、レジスタ#1の属性情報の指定するブートモジュールをジャーナルデータエリア93よりワークエリアに読出し、これをHDD8に書き込む(ステップ54)。
【0089】
ファームウェア41はレコードカウンタaをインクリメントし、ステップ52から55が繰り返される。レジスタ#1に終了コードが読み込まれると書き戻し動作は終了する。
【0090】
このことにより、万が一、HDD8のブートモジュールが次回のシステム立ち上げを行えないようにするコンピュータウィルスに汚染された場合、コンピュータウィルスに汚染されていないジャーナルメモリ9の内容をHDD8に書き戻すことによって、汚染される前の状態に戻すことができる。
【0091】
従って、次回立ち上げ時にはコンピュータウィルスの影響を受けずにシステムを立ち上げることが出来るという新たな効果をもたらす。
【0092】
【発明の効果】
以上説明した様に、本発明のジャーナルメモリ付ハードディスクサブシステムを用意すれば、全てのブートモジュールをHDDに較べ、充分読み書き性能の速いジャーナルメモリから読出すことでシステム立ち上げ時間短縮を図り、且つジャーナルメモリを含めたハードウェア機構は全てHDDサブシステムに実装され、従来のDISKインタフェースコントローラを通じ接続できるので、従来のPCシステムに大幅な改造を加えることなく適用できシステム時間短縮を実現できる。
【0093】
次に、ジャーナルデータ属性情報DB、読出データ属性情報DBを用いてジャーナルデータエリアの内容とHDDのブートモジュール群の内容を、立ち上げる度に比較し変更のあったモジュールをシステム立ち上げ後にコピーする処理を行っており、システム更新があった場合でも、システムの立ち上げ時間短縮を維持できる。
【0094】
更に、ブートモジュールを格納するHDDを使用しないことによってその製品寿命を従来より延長することができる。これは、HDDは使用頻度が多いほど製品寿命が短くなる傾向にあるが、本発明ではシステムが更新されない限り全てのブートモジュールは常にジャーナルメモリから読み込まれ、HDDアクセス回数が低減される為である。
【図面の簡単な説明】
【図1】本発明の第1実施形態であり、本発明の主体であるジャーナルメモリ付HDDサブシステム6を含むPCシステム1の構成を示すブロック図。
【図2】本発明の第1実施形態であり、本発明の主体であるジャーナルメモリ付HDDサブシステム6と、これを制御するファームウェア41の詳細な構成を示すブロック図。
【図3】本発明の第1実施形態のHDD8、ジャーナルデータエリア93におけるブートモジュールN個のデータ格納イメージを示す図。
【図4】本発明の第1実施形態のジャーナルデータ属性情報DB91、読出データ属性情報DB92におけるブートモジュールN個に関する属性データの格納イメージを示す図。
【図5】本発明の第1実施形態の動作を示すフローチャート。
【図6】本発明の第1実施形態の動作を示すフローチャート。
【図7】本発明の第1実施形態の動作を示すフローチャート。
【図8】本発明の第2実施形態のジャーナルメモリ付HDDサブシステム6の構成を示すブロック図。
【図9】本発明の第2実施形態の動作を示すフローチャート。
【図10】本発明の第2実施形態の動作を示すフローチャート。
【符号の説明】
1 PCシステム
2 MPU
3 メモリ
4 DISKインタフェースコントローラ
41 ファームウェア
5 システムコントローラ
6 ジャーナルメモリ付HDDサブシステム
7、7A HDDサブシステムコントローラ
71、71A 制御手段
711 属性情報比較手段
72 ウィルス検出手段
8 HDD
9 ジャーナルメモリ
91 ジャーナルデータ属性情報DB
92 読出データ属性情報DB
93 ジャーナルデータエリア
Claims (9)
- 情報処理システムの立ち上げに必要なオペレーティングシステムのモジュールやデータ、即ちブートモジュール群を記憶内容に含むハードディスクと、前回立ち上げで読み出された前記ブートモジュール群のコピーをジャーナルデータとして保持しておく不揮発性メモリと、これらを制御するコントローラを備えたハードディスクドライブサブシステムであって、前記不揮発性メモリには、前記ブートモジュール群のコピーであるジャーナルデータと、ジャーナルデータの各ブートモジュールを識別できる属性情報を保持したジャーナルデータ属性情報データベースを有し、前記コントローラは、ハードディスクドライブサブシステムが接続された上位装置よりブート開始通知を受け、前記上位装置より属性情報で指定されたブートモジュールの読出指示を受けるとこの属性情報と前記ジャーナルデータ属性情報データベースを比較し、この属性情報が前記ジャーナルデータ属性情報データベースに登録されていれば、前記ジャーナルデータの格納エリアより指定のブートモジュールを読み出し、登録されていなければハードディスクより読み出し、それぞれ前記上位装置に渡す制御手段とを有することを特徴とするハードディスクドライブサブシステム。
- 前記不揮発性メモリには、前記ブート開始受信後に、順次読出しを指示されたブートモジュールの属性情報を、順次一時記憶する読出データ属性情報記録も有し、前記コントローラの制御手段は、上位装置よりブート終了を受けた後に前記読出データ属性情報記録を順次読み出し、読み出した各モジュールの属性情報が前記ジャーナルデータ属性情報データベースに登録されていなければ、前記読み出した属性情報が指定するブートモジュールをハードディスクより読出し、前記ジャーナルデータの格納エリアにコピーし、前記属性情報で前記ジャーナルデータ属性情報データベースを更新する手段も有することを特徴とする請求項1記載のハードディスクドライブサブシステム。
- 前記コントローラの前記制御手段は、ブート中に読出しを指示されたブートモジュールの属性情報とジャーナルデータ属性情報データベースの比較を行った際に未登録のモジュールが一つでもあればオンすると共に、ブート終了時に参照される更新要求代表フラグも有し、このフラグがオンであれば、前記ジャーナルデータ及びジャーナルデータ属性情報データベースの更新処理が行われることを特徴とする請求項2記載のハードディスクドライブサブシステム。
- 前記コントローラの前記制御手段は、読出指示のあった各ブートモジュールの属性情報とジャーナルデータ属性情報データベースとの比較で未登録であれば、前記読出データ属性情報記録の対応レコードに更新要求個別フラグを追記し、この個別フラグを前記ブート終了後のジャーナルデータ及びジャーナルデータ属性情報データベースの更新処理で参照する手段も有することを特徴とする請求項2記載のハードディスクドライブサブシステム。
- 前記コントローラは、コンピュータウィルスの検知手段も有し、前記制御手段は、前記ブート終了後の前記ジャーナルデータ及びジャーナルデータ属性情報データベースの更新処理に先立って、更新データとなるブートモジュールをハードディスクより読み出し、これを前記ウィルス検知手段を用い感染の有無をチェックし、感染なしを確認してから前記ジャーナルデータ及びジャーナルデータ属性情報データベースの更新処理を行う手段も有することを特徴とする請求項2、3、又は4に記載のハードディスクドライブサブシステム。
- 前記制御手段は、前記ウィルスチェックで、感染していればその旨を上位装置に通知する手段と、上位装置からの指示を受けて、前記ジャーナルデータ属性情報データベースで指定されるジャーナルデータの格納エリアの個々のブートモジュールをハードディスクに書き戻す手段も有することを特徴とする請求項5記載のハードディスクドライブサブシステム。
- 前記不揮発性メモリのジャーナルデータ属性情報データベース及び読出しデータ属性情報記録を、モジュール当たり所定数のレコードとし且つ読出しを指示された順の記録とすることを特徴とする請求項1乃至6の何れかに記載のハードディスクドライブサブシステム。
- 前記不揮発性メモリのジャーナルデータ属性情報データベース、読出データ属性情報記録の属性情報として、前記各ブートモジュールのファイル名を含むことを特徴とする請求項1乃至7の何れかに記載のハードディスクドライブサブシステム。
- 前記不揮発性メモリをフラッシュメモリとすることを特徴とする請求項1乃至8の何れかに記載のハードディスクドライブサブシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002155465A JP3951808B2 (ja) | 2002-05-29 | 2002-05-29 | ハードディスクドライブサブシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002155465A JP3951808B2 (ja) | 2002-05-29 | 2002-05-29 | ハードディスクドライブサブシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003345602A JP2003345602A (ja) | 2003-12-05 |
JP3951808B2 true JP3951808B2 (ja) | 2007-08-01 |
Family
ID=29771988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002155465A Expired - Fee Related JP3951808B2 (ja) | 2002-05-29 | 2002-05-29 | ハードディスクドライブサブシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3951808B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4422136B2 (ja) | 2006-10-06 | 2010-02-24 | Necインフロンティア株式会社 | 記憶装置及び起動方法 |
JP5028218B2 (ja) * | 2007-10-30 | 2012-09-19 | 株式会社日立製作所 | 記憶制御装置、ストレージシステム及び記憶制御装置の制御方法 |
US7591019B1 (en) | 2009-04-01 | 2009-09-15 | Kaspersky Lab, Zao | Method and system for optimization of anti-virus scan |
-
2002
- 2002-05-29 JP JP2002155465A patent/JP3951808B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003345602A (ja) | 2003-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4518672B2 (ja) | システムバックアップ及び復元 | |
US7519806B2 (en) | Virtual partition for recording and restoring computer data files | |
US5086502A (en) | Method of operating a data processing system | |
JP4363676B2 (ja) | コンピュータシステム | |
US6963951B2 (en) | Partition recovery method | |
US6915420B2 (en) | Method for creating and protecting a back-up operating system within existing storage that is not hidden during operation | |
US9081639B2 (en) | System and method for remotely re-imaging a computer system | |
EP0917060A1 (en) | System for computer recovery using removable high capacity media | |
EP1669849A2 (en) | Copy controller and method thereof | |
TW200414041A (en) | Method and system for maintaining firmware versions in a data processing system | |
US20080091935A1 (en) | Hard disk drive with disk embedded dos boot image and firmware download method | |
US6665778B1 (en) | System and method for storage of device performance data | |
WO2000020971A1 (en) | Recovery of file systems after modification failure | |
US6658563B1 (en) | Virtual floppy diskette image within a primary partition in a hard disk drive and method for booting system with virtual diskette | |
US8867889B2 (en) | Apparatus, method, and computer program for processing information | |
US20080270685A1 (en) | Information processing apparatus and firmware updating method | |
US6961833B2 (en) | Method and apparatus for protecting data in computer system in the event of unauthorized data modification | |
CN111258666B (zh) | 计算机文件的读取方法、装置、计算机***及存储介质 | |
CN116383012B (zh) | 获取开机日志的方法及装置、传输开机日志的方法 | |
US8914665B2 (en) | Reading or storing boot data in auxiliary memory of a tape cartridge | |
JP3951808B2 (ja) | ハードディスクドライブサブシステム | |
US7080243B2 (en) | Method and system for comparing firmware images | |
US7415570B2 (en) | Tape drive apparatus having a permanent optical storage device port | |
US20050114387A1 (en) | Data backup and recovery | |
KR100706514B1 (ko) | 하드디스크상의 운영체제 부팅 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040420 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20050307 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061020 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061226 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20070119 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070221 |
|
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: 20070403 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070416 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110511 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110511 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120511 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120511 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130511 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |