JP3951808B2 - Hard disk drive subsystem - Google Patents

Hard disk drive subsystem Download PDF

Info

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
Application number
JP2002155465A
Other languages
Japanese (ja)
Other versions
JP2003345602A (en
Inventor
正樹 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2002155465A priority Critical patent/JP3951808B2/en
Publication of JP2003345602A publication Critical patent/JP2003345602A/en
Application granted granted Critical
Publication of JP3951808B2 publication Critical patent/JP3951808B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は情報処理装置で使用され、記憶内容として情報処理装置の立ち上げに必要なオペレーティングシステムのモジュールやデータを含むハードディスクドライブサブシステムに関し、特に立ち上げ時のブートモジュール読出が高速に行えるハードディスクドライブサブシステムに関する。
【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 ジャーナルデータエリア
[0001]
BACKGROUND OF THE INVENTION
The present invention is used in an information processing apparatus, and a hard disk including operating system modules and data necessary for starting up the information processing apparatus as stored contents. Creedosa Bus system To In particular, a hard disk that can read the boot module at startup at high speed. Creedosa Bus system To Related.
[0002]
[Prior art]
In a conventional PC system (personal computer system), a boot module necessary for system startup is usually stored in an HDD subsystem (hard disk drive subsystem) connected to the PC.
[0003]
When the PC system starts up, the PC first loads the OS (operating system) modules and data, which are indispensable for starting up the system, from the HDD via the controller to the memory system prepared in the PC, By sequentially performing the recorded processing, the system is finally set up.
[0004]
[Problems to be solved by the invention]
However, with the recent expansion of the PC system and its software functions, the functions of the boot module corresponding to this have also expanded, and the data amount of the boot module has increased.
[0005]
Therefore, the above-described conventional technique has a problem that the startup time of the system becomes longer due to an increase in the read data amount of the boot module.
[0006]
Here, even if the data amount of the boot module increases, the module execution time does not increase relatively due to the recent technological innovation related to the main processor. However, the hard disk storing and reading the boot module has not undergone technological innovation as compared with the processor, and the increase in the amount of read data from the hard disk causes the increase in the reading time as it is.
[0007]
This is because the processor-related processing is all performed with electrical signals, so the performance improves in proportion to the increase in signal transmission speed, whereas the hard disk moves the head to contact the recording medium and reads the signal. This is because a significant performance improvement cannot be expected unless the physical structure is improved.
[0008]
However, except when there is a change in the hardware or software of the apparatus, the PC system has a characteristic of executing the same boot module in the same procedure every time it is started up.
[0009]
In the present invention, by utilizing this characteristic and having a mechanism for automatically storing the boot module in the journal memory in advance, the reading time of the boot module is shortened, and as a result, the total system startup time is shortened.
[0010]
[Means for Solving the Problems]
The first hard disk drive subsystem with journal memory of the present invention is read by the hard disk including the operating system modules and data necessary for starting the information processing system, that is, the hard disk including the boot module group in the stored contents and the previous start. A hard disk drive subsystem comprising a non-volatile memory for storing a copy of the boot module group as journal data and a controller for controlling the non-volatile memory, wherein the non-volatile memory includes a copy of the boot module group There is journal data attribute information that holds certain journal data and attribute information that can identify each boot module of the journal data, and the controller notifies the boot start from the host device to which the hard disk drive subsystem is connected. In response to the instruction to read the boot module specified by the attribute information from the host device, the attribute information is compared with the journal data attribute information, and if this attribute information is registered in the journal data attribute information, It has control means for reading a designated boot module from a journal data area, reading it from a hard disk if it is not registered, and passing it to the host device.
[0011]
A second hard disk drive subsystem with a journal memory according to the present invention is the first hard disk drive subsystem with a journal memory, wherein the nonvolatile memory is instructed to sequentially read after receiving the boot start. The controller also has a read data attribute information record for temporarily storing the attribute information of the module, and the controller of the controller sequentially reads the read data attribute information record after receiving the boot end from the host device, and If attribute information is not registered in the journal data attribute information, means for reading the boot module specified by the read attribute information from the hard disk, copying it to the journal data area, and updating the journal data attribute information with the attribute information Also characterized by having That.
[0012]
The third hard disk drive subsystem with journal memory according to the present invention is the second hard disk drive subsystem with journal memory, wherein the control means of the controller has attributes of a boot module instructed to read during booting. When comparing information and journal data attribute information, if there is at least one unregistered module, it is turned on and also has an update request representative flag that is referred to at the end of booting. Update processing of journal data and journal data attribute information is performed.
[0013]
The fourth hard disk drive subsystem with journal memory of the present invention is the second hard disk drive subsystem with journal memory, wherein the control means of the controller includes attribute information of each boot module for which a read instruction has been issued. If it is not registered in comparison with the journal data attribute information, an update request individual flag is added to the corresponding record of the read data attribute information record, and this individual flag is updated in the journal data and journal data attribute information after the boot is completed. It also has a means for referring to the processing.
[0014]
A fifth hard disk drive subsystem with journal memory of the present invention is the second, third, or fourth hard disk drive subsystem with journal memory, wherein the controller also has a computer virus detection means, The control means reads the boot module serving as update data from the hard disk prior to the update processing of the journal data and journal data attribute information after the boot is completed, and checks the presence or absence of infection using the virus detection means. Further, the present invention is characterized by having means for updating the journal data and journal data attribute information after confirming that there is no infection.
[0015]
The sixth hard disk drive subsystem with journal memory according to the present invention is the fifth hard disk drive subsystem with journal memory, and the control means determines that if it is infected by the virus check, the host device And a means for writing back the individual boot modules in the journal data area designated by the journal data attribute information to the hard disk in response to an instruction from the host device.
[0016]
A seventh hard disk drive subsystem with journal memory according to the present invention is any one of the first to sixth hard disk drive subsystems with journal memory, wherein journal data attribute information and read data attribute information record of the journal memory are recorded. Is a predetermined number of records per module and is recorded in the order in which reading is instructed.
[0017]
An eighth hard disk drive subsystem with journal memory according to the present invention is any one of the first to seventh hard disk drive subsystems with journal memory, and records journal data attribute information and read data attribute information in the journal memory. The attribute information includes a file name.
[0018]
A ninth hard disk drive subsystem with journal memory according to the present invention is any one of the first to eighth hard disk drive subsystems with journal memory, wherein the journal memory is a flash memory.
[0019]
The first control program of the present invention is a program for controlling the hard disk drive subsystem in the host device to which the second hard disk drive subsystem with journal memory is connected, and notifies the hard disk drive subsystem of the start of booting. If the read boot module is a predetermined boot end module, a boot end notification is issued, and the read data attribute information record and journal data attribute are recorded. It has a procedure for instructing start of update processing of journal data and journal data attribute information according to the comparison of information and the comparison result.
[0020]
A second control program of the present invention is a program for controlling a hard disk drive subsystem in a host device to which the third, fourth, or fifth hard disk drive subsystem with journal memory is connected. Instruct the subsystem to start the boot and read the individual boot modules specified by the attribute information. If the read boot module is a predetermined boot end module, notify the boot end and update the information. If the request representative flag value is referred to and it is on, a procedure for instructing start of update processing of journal data and journal data attribute information is provided.
[0021]
The third control program of the present invention is a program for controlling the hard disk drive subsystem in the host device to which the sixth hard disk drive subsystem with journal memory is connected, and notifies the hard disk drive subsystem of the start of booting. When the read boot module is a predetermined boot end module, the boot end is notified and the update request representative flag value is referred to. If it is ON, a procedure for instructing update processing of journal data and journal data attribute information, a procedure for requesting display of attribute information of an infected boot module when a virus infection report is received, and a write back of the boot module as a response Is displayed, hard Reading of the journal data attribute information click drive subsystem, and having a procedure for instructing writing to the hard disk of the boot module on the journal data area designated by the attribute information.
[0022]
The fourth control program of the present invention is the first, second, or third control program, and includes a file name as the attribute information.
[0023]
DETAILED DESCRIPTION OF THE INVENTION
Next, a first embodiment of the present invention will be described in detail with reference to the drawings. FIG. 1 is a block diagram showing the configuration of a PC system 1 including a journal memory-equipped HDD subsystem 6 that is the subject of the present invention.
[0024]
Referring to FIG. 1, a PC system 1 includes a main processor unit (MPU) 2 that processes and executes data, a memory 3 that temporarily stores data and programs, and a journal that stores data and programs semipermanently. The system includes a HDD subsystem 6 with memory, a DISK interface controller 4 that controls reading and writing of data with respect to the HDD subsystem 6 with journal memory, and a system controller 5.
[0025]
The system controller 5 connects the MPU 2, the memory 3, and the DISK interface controller 4, and controls communication between the MPU 2, the memory 3, and the DISK interface controller 4.
[0026]
The DISK interface controller 4 and the journal subsystem with HDD 6 are ATA interfaces or SCSI-compliant interfaces.
[0027]
FIG. 2 is a block diagram showing a detailed configuration of the journal memory-equipped HDD subsystem 6 that is the subject of the present invention and the firmware 41 that controls it. Referring to FIG. 2, the HDD subsystem 6 with journal memory includes an HDD (hard disk drive) 8 for recording data semi-permanently, a journal memory 9 to which a boot module stored in the HDD 8 is copied, an HDD 8 and a journal memory 9. The HDD subsystem controller 7 controls the data communication with the system controller 5.
[0028]
Additional components of the journal memory 9 and the HDD subsystem controller 7 are mounted on an HDD controller board or the like in a conventional HDD device.
[0029]
The journal memory 9 has a read / write performance (access time) equivalent to that of the memory 3 and is configured by a nonvolatile memory that retains information even when the power is turned off. As an example of the nonvolatile memory, a flash memory, a battery or a battery backup RAM, or the like is used.
[0030]
The journal memory 9 includes a journal data attribute information database 91, a read data attribute information database 92, and a journal data area 93, which are roughly divided into three areas. The data attribute information is composed of information groups that can uniquely identify data, and can be arbitrarily set. Hereinafter, the database is abbreviated as DB.
[0031]
The boot module itself is stored in the journal data area 93, and the journal data attribute information DB 91 is instructed to read the attribute information for uniquely identifying the boot module read when the system was successfully started up last time. It is constructed as a DB with one boot module as one record in order.
[0032]
That is, if the boot module attribute information in the journal data attribute information DB 91 is recorded, the boot module is always stored in the journal data area 93. In the last record of the journal data area 93, a code indicating the end of the DB is recorded.
[0033]
Similar to the journal data attribute information DB 91, the read data attribute information DB 92 is constructed as a DB having attribute information for uniquely specifying a boot module as one record of one boot module. In the read data attribute information DB 92, When the PC system 1 is actually started up, it has a mechanism for recording the attribute information of the data module instructed to be read from the MPU 2 to the HDD subsystem controller 7 through the system controller 5 each time.
[0034]
The read data attribute information DB 92 is initialized every time it is started up. That is, the read data attribute information DB 92 plays a role of a log in which the boot modules that are actually instructed are recorded in the order in which the instruction is instructed. It is possible to confirm whether or not the content of the attribute information DB 91 is a boot module for which an instruction has been given.
[0035]
Similar to the journal data attribute information DB 91, a code indicating the end of the DB (database) is recorded in the last record of the read data attribute information DB 92.
[0036]
The HDD subsystem controller 7 has control means 71 for controlling reading and writing of the HDD 8 and controlling the journal memory 9 in the same manner as a normal HDD subsystem. The control means 71 compares the attribute information of the boot module instructed to read with the attribute information of the journal data attribute information DB 91, or compares the attribute information of the read data attribute information DB 92 and the journal data attribute information DB 91. 711.
[0037]
The control means 71 is a means for controlling the reading and writing of data with respect to the HDD 8 and journal memory 9 connected to the HDD subsystem controller 7, and based on the designated boot module attribute information, a journal data area instead of the HDD 8. 93 has a function of reading the boot module in the HDD subsystem controller 7 and copying the boot module in the HDD 8 to the journal data area 93.
[0038]
The attribute information comparison unit 711 compares the boot module attribute information in the journal data attribute information DB 91 and the read data attribute information DB 92 to determine whether or not they match. For comparison, registers # 1 and # 2 capable of temporarily storing data records of the journal data attribute information DB 91 and the read data attribute information DB 92 are mounted. These registers are realized by a scratch pad memory, and are realized by assigning words to the registers # 1 and # 2.
[0039]
The firmware 41 is software stored in the DISK interface controller 4. The firmware 41 initializes the read data attribute DB 92 with the activation of the system controller 5 as a trigger, and notifies the HDD subsystem controller 7 of the journal start, and read data attribute information. A program for notifying the HDD subsystem controller 7 of the end of journal is implemented using the reading of the database end code of DB92 as a trigger.
[0040]
That is, the firmware 41 executes a journal reading and writing start / end signal and a processing procedure to the journal memory 9.
[0041]
Next, the operation of the present embodiment will be described with reference to the drawings. In order to simplify the description, a series of N boot modules necessary for starting up the PC system 1 of FIG. 1 are read in the order of reading, boot module # 1, boot module # 2,. To do.
[0042]
Similarly, in order to simplify the description, the data attribute information stored in the journal data attribute information DB 91 and the read data attribute information DB 92 is composed of a file name, a time stamp, and a data size of the specified boot module. It is assumed that the boot module is uniquely determined by these three pieces of information.
[0043]
FIG. 3 shows a data storage image of N boot modules in the HDD 8 and the journal data area 93 at that time. FIG. 4 shows a storage image of attribute data regarding N boot modules in the journal data attribute information DB 91 and the read data attribute information DB 92.
[0044]
Although not shown, there is an example in which each record of the read data attribute information DB 92 has a flag (update request individual flag) indicating that it is necessary to read the module from the HDD 8 and update the journal data area 93 accordingly.
[0045]
The N boot modules stored in the HDD 8 are stored in advance when the PC system 1 is installed. Here, in addition to the N boot modules, a journal end module to be read in the (N + 1) th when the system startup is completed is prepared.
[0046]
The journal end module is a module for notifying the HDD subsystem controller 7 of the end of the journal from the booted system.
[0047]
Receiving the journal end notification, the HDD subsystem controller 7 writes the journal end code in the N + 2th record of the journal data attribute information DB 91 and the read data attribute information DB 92.
[0048]
Then, using the read data attribute information DB 92 recorded so far, if the module does not exist in the journal data area 93, it is described in the firmware 41 in order to copy the boot module data from the HDD 8 to the journal data area 93. It is a mechanism to start the program.
[0049]
5 to 7 are flowcharts showing the operation of this embodiment. First, referring to FIG. 5, the PC system 1 is turned on (step 1), the system controller 5 is activated, which activates the DISK interface controller 4 and activates the firmware 41 (step 2). The firmware 41 issues a command for initializing the read data attribute information DB 92 to the control means 71, notifies the MPU 2 that journal recording has started (step 3), and sets a record counter (this counter value is a). It is initialized to 0 (step 4).
[0050]
Next, the MPU 2 first issues a command for reading the boot module # 1 to the system controller 5. The system controller 5 issues an instruction to the HDD subsystem controller 7 to read the module (step 5).
[0051]
The HDD subsystem controller 7 uses the control means 71 to record the attribute information of the boot module # 1 in which the read instruction has been issued in the record a of the read data attribute information DB 92, and at the same time, the same attribute information in the attribute information comparison means 711. Record in register # 1 (step 6).
[0052]
The attribute information comparison means 711 checks whether or not the content of the register # 1 is an end code (step 7). If it is the end code, the operation proceeds to the operation phase C. Otherwise, the attribute information comparison means 711 moves to the record a of the journal data attribute information DB 91. The contents are read into the register # 2 in the attribute information comparison means 711 (step 8).
[0053]
Next, the control means 71 refers to the comparison result for the contents of the register # 1 and the register # 2 (step 9). If the results are the same, the control means 71 transfers the data from the journal data area 93 of the journal memory 9 to the register # 2. The data of the boot module # 1 specified from the recorded data attribute information is read out to the system controller 5 (step 10).
[0054]
If the comparison results are different, the control means 71 reads the data of the boot module # 1 specified by the attribute information of the register # 1 from the HDD 8 to the system controller 5 (step 11).
[0055]
When booting up for the first time after installing the boot module in the HDD 8, or when the contents of the boot module # 1 stored in the HDD 8 are updated due to a system change, the contents of the register # 2 and the contents of the register # 1 are different. Therefore, the contents of the boot module # 1 are read from the HDD 8.
[0056]
If the contents of the register # 2 and the contents of the register # 1 are the same, the boot module # 1 originally intended to be read from the HDD 8 has the same contents as the boot module # 1 already stored in the journal data area 93. Therefore, the boot module # 1 is read from the journal data area 93 to the HDD subsystem controller 7.
[0057]
The system controller 5 stores the read data in the memory 3, and the process of the boot module # 1 is executed by the MPU 2 (step 13). When the execution is successful (step 14), the firmware 41 advances the record counter (a) by 1 (step 15), and the MPU 2 issues a read command for the next boot module # 2, and therefore shifts to the operation phase B.
[0058]
If the execution fails, the PC system 1 stops and the process is terminated.
[0059]
When the operations of steps 5 to 15 are repeated and the execution up to the boot module #N is completed, a series of startup processing of the PC system 1 is completed.
[0060]
At the next execution, the journal end module is read. After receiving this, the end of the journal is received from the upper level (above the DISK interface controller 4) that has been interpreted or executed.
[0061]
The control means 71 checks from the contents of the register # 1 that it is an end code (step 7), and shifts to the operation C phase.
[0062]
Referring to FIG. 7, in the phase of operation C, first, firmware 41 initializes record counter (a) to 0, and notifies HDD subsystem controller 7 of the end of the journal (step 17). Next, the contents of row a of the read data attribute information DB 92 are read into the register # 1 in the control means 71 (step 18).
[0063]
If the content of the register # 1 is an end code, it is copied to the a line at that time in the journal data attribute information DB 91 and the process ends (step 25).
[0064]
If the content of the register # 1 is not an end code, the attribute information of row a of the journal data attribute information DB 91 is taken into the register # 2 (step 20), and the comparison results of the registers # 1 and # 2 do not match (step 20). 21) The data specified from the attribute information recorded in the register # 1 is copied from the HDD 8 to the journal memory 9 (step 22).
[0065]
Since the counter is initialized, the first information read into the register # 1 is the attribute information of the boot module # 1, and if the journal data area 93 is in the initial state, the contents of the boot module # 1 are transferred from the HDD 8 to the journal data area. 93. Further, the contents of the register # 1 (the attribute information of the boot module # 1) are copied to the a line (0th line) of the journal data attribute information DB 91 (step 23).
[0066]
Thereafter, the firmware 41 increments the record counter (a) by 1 (step 24), and repeats the operations of steps 18 to 24 until the end code is read into the register # 1. When the copying up to the journal end module is completed, all the modules necessary for starting up the system 1 in a series are copied to the journal data area 93, and the attribute information is recorded in the journal data attribute information DB 91.
[0067]
When the end code is read into the register # 1 (step 19), the end code as the content of the register # 1 is recorded in the a line of the journal data attribute information DB 91 (step 25).
[0068]
All processes are completed as described above, and the same operation is repeated when the system is terminated and restarted.
[0069]
Next, another example of this embodiment will be described. In the present embodiment, the control means 71 includes an update request representative flag. This flag is set to ON when the boot module is read from the HDD 8 and sent out in step 11 of FIG. 6 (step 12).
[0070]
In step 7 of FIG. 5, the firmware 41 transmits an end code (journal end notification) to the control means 71 and then reads the update request representative flag value. Only when this is on (step 16), the operation C phase is entered.
[0071]
Next, still another example of the present embodiment will be described. In this embodiment, the control means 71 is provided with an update request representative flag, which is turned on when the boot module is read out from the HDD 8 and sent out in step 11 of FIG. Further, the update request individual flag is turned on and added to the row a of the read data attribute information DB 92 (second item of step 12).
[0072]
Then, the control means 71 reads the update request individual flag together with the attribute information of the read data attribute information DB 92 at step 18 instead of the operations at steps 20 and 21 in FIG. 24.
[0073]
Next, the specific startup time of the PC system 1 according to the present invention is verified based on the specific read / write performance of the HDD 8 and the journal memory 9.
[0074]
Currently, the HDD 8 that is widely used at present generally employs an HDD subsystem having an average read speed of about 40 MBytes per second corresponding to the UltraATA66 interface.
[0075]
On the other hand, by adopting the memory 3 corresponding to the PC 133 that is currently widely used as the journal memory 9, when the contents of the HDD 8 and the journal memory 9 are the same, the average reading speed of the memory of the same standard It is possible to read at about 500 MBytes per second.
[0076]
Here, assuming that the total capacity of N boot modules is 1000 MBytes, when all N boot modules are read only by the HDD 8, the module read time needs 1000/40 = 25 seconds.
[0077]
On the other hand, when all N boot modules are read from the journal memory 9 according to the present invention, the reading is completed in 1000/500 = 2 seconds.
[0078]
In both cases, the time for the main processor unit 2 to process N boot modules is the same, so the time for starting up the PC system 1 by reading N boot modules is shortened by 23 seconds, which is the difference between the two. Become.
[0079]
That is, the system start-up time can be shortened by 20 seconds or more without making a major modification to the PC system 1 simply by adopting the HDD subsystem 6 with journal memory of the present invention.
[0080]
Next, a second embodiment of the present invention will be described in detail with reference to the drawings. FIG. 8 is a block diagram showing the configuration of the HDD subsystem 6 with journal memory of this embodiment. Referring to FIG. 8, the HDD subsystem controller 7A is provided with a virus detection means 72 in addition to the control means 71A and the attribute information comparison means 711.
[0081]
The virus detection means 72 is a mechanism that reads the content to be copied into the subordinate work area before copying the boot module from the HDD 8 to the journal data area 93 and checks whether it is contaminated with a computer virus.
[0082]
Next, the operation of this embodiment will be described with reference to the drawings. Here, the definition of the boot module is the same as that of the first embodiment and is as shown in FIG. When the PC system 1 is started up, N boot modules are read and executed in the same manner as in the flowcharts of FIGS.
[0083]
When the execution up to the boot module N is finished, the journal end module is next read and sent out, the control means 71 receives the journal end from the firmware 41, and after checking that the content of the register # 1 is the end code, 9 shifts to the phase of operation C ′.
[0084]
In the phase of operation C ′ in FIG. 9, first, the firmware 41 initializes the record counter (a) to 0 (step 31). Next, the content of row a of the read data attribute information DB 92 is read into the register # 1 (step 32). If this content is not the end code (step 33), the row a of the journal data attribute information DB 91 is taken into the register # 2. (Step 34) If the registers # 1 and # 2 do not match (step 35), the data specified from the attribute information recorded in the register # 1 is copied from the HDD 8 to the work area under the virus detection means 72. (Step 36), the virus detection means 72 checks whether the data is contaminated with a computer virus (step 36).
[0085]
If the computer virus is contaminated, the infection detection flag is turned on, and the attribute information recorded in the register # 1 is stored in the status area (step 39). If it is not contaminated, a response is immediately returned, and the firmware 41 advances the record counter (a) by one and repeats a series of operations until the end code is read into the register # 1.
[0086]
When the end code is taken into the register # 1, the control means 71 checks the infection detection flag, and if it is off, the control means 71 shifts to the phase of operation C in FIG. If the infection flag is on, the infection is notified to the firmware 41 of the DISK interface controller 4 by, for example, attention (step 41). The firmware 41 acquires the detailed status such as the infected boot module attribute information and then notifies the MPU 2 together with the display request.
[0087]
The MPU 2 displays infection information and detailed information (step 42). At this time, as a countermeasure, the operator also selects whether or not to return the series of boot modules of the HDD 8 to the previous boot module group. Upon receiving the selection to return, the MPU 2 instructs to delete the boot module of the current HDD 8 and executes the deletion. Next, the MPU 2 issues a write-back instruction to the DISK interface controller 4. Note that the MPU 2 may read the read data attribute information DB 92 for designating the deleted boot module.
[0088]
Moving to FIG. 10, when the firmware 41 receives the write back instruction (step 50), the firmware 41 initializes the record counter (step 51), and instructs the control means 71 to write back. The control means 71 fetches the row a of the DB 91 into the register # 1 (step 52). If the register # 1 is not the end code (step 54), the boot module specified by the attribute information of the register # 1 is retrieved from the journal data area 93. The data is read into the work area and written into the HDD 8 (step 54).
[0089]
The firmware 41 increments the record counter a, and steps 52 to 55 are repeated. When the end code is read into the register # 1, the write back operation ends.
[0090]
As a result, if the boot module of the HDD 8 is contaminated with a computer virus that prevents the next system startup, the contents of the journal memory 9 that is not contaminated with the computer virus are written back to the HDD 8. It is possible to return to the state before being contaminated.
[0091]
Therefore, at the next start-up, there is a new effect that the system can be started up without being affected by the computer virus.
[0092]
【The invention's effect】
As described above, if the hard disk subsystem with journal memory of the present invention is prepared, the system startup time can be shortened by reading all the boot modules from the journal memory having a sufficiently fast read / write performance compared to the HDD, and Since all hardware mechanisms including the journal memory are mounted on the HDD subsystem and can be connected through the conventional DISK interface controller, the conventional PC system can be applied without significant modification, and the system time can be reduced.
[0093]
Next, using the journal data attribute information DB and the read data attribute information DB, the contents of the journal data area and the contents of the boot module group of the HDD are compared each time it is started up, and the module that has been changed is copied after the system is started up. Even if the system is updated, the system startup time can be reduced.
[0094]
Further, by not using the HDD that stores the boot module, the product life can be extended as compared with the prior art. This is because the product life tends to be shortened as the frequency of use of the HDD increases, but in the present invention, unless the system is updated, all boot modules are always read from the journal memory, and the number of HDD accesses is reduced. .
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a PC system 1 including a journal memory-equipped HDD subsystem 6 which is a first embodiment of the present invention and is the subject of the present invention.
FIG. 2 is a block diagram showing a detailed configuration of a journal memory-equipped HDD subsystem 6 that is the first embodiment of the present invention and a firmware 41 for controlling the same.
3 is a diagram showing a data storage image of N boot modules in the HDD 8 and the journal data area 93 according to the first embodiment of this invention. FIG.
FIG. 4 is a diagram showing a storage image of attribute data regarding N boot modules in the journal data attribute information DB 91 and the read data attribute information DB 92 according to the first embodiment of this invention;
FIG. 5 is a flowchart showing the operation of the first embodiment of the present invention.
FIG. 6 is a flowchart showing the operation of the first embodiment of the present invention.
FIG. 7 is a flowchart showing the operation of the first embodiment of the present invention.
FIG. 8 is a block diagram showing a configuration of a journal memory-equipped HDD subsystem 6 according to the second embodiment of this invention;
FIG. 9 is a flowchart showing the operation of the second exemplary embodiment of the present invention.
FIG. 10 is a flowchart showing the operation of the second exemplary embodiment of the present invention.
[Explanation of symbols]
1 PC system
2 MPU
3 memory
4 DISK interface controller
41 Firmware
5 System controller
6 HDD subsystem with journal memory
7, 7A HDD subsystem controller
71, 71A Control means
711 Attribute information comparison means
72 Virus detection means
8 HDD
9 Journal memory
91 Journal data attribute information DB
92 Read data attribute information DB
93 Journal data area

Claims (9)

情報処理システムの立ち上げに必要なオペレーティングシステムのモジュールやデータ、即ちブートモジュール群を記憶内容に含むハードディスクと、前回立ち上げで読み出された前記ブートモジュール群のコピーをジャーナルデータとして保持しておく不揮発性メモリと、これらを制御するコントローラを備えたハードディスクドライブサブシステムであって、前記不揮発性メモリには、前記ブートモジュール群のコピーであるジャーナルデータと、ジャーナルデータの各ブートモジュールを識別できる属性情報を保持したジャーナルデータ属性情報データベースを有し、前記コントローラは、ハードディスクドライブサブシステムが接続された上位装置よりブート開始通知を受け、前記上位装置より属性情報で指定されたブートモジュールの読出指示を受けるとこの属性情報と前記ジャーナルデータ属性情報データベースを比較し、この属性情報が前記ジャーナルデータ属性情報データベースに登録されていれば、前記ジャーナルデータの格納エリアより指定のブートモジュールを読み出し、登録されていなければハードディスクより読み出し、それぞれ前記上位装置に渡す制御手段とを有することを特徴とするハードディスクドライブサブシステム。The operating system modules and data necessary for starting up the information processing system, that is, the hard disk including the boot module group in the storage contents and a copy of the boot module group read out at the previous startup are held as journal data. A hard disk drive subsystem including a non-volatile memory and a controller for controlling the non-volatile memory, the non-volatile memory having journal data that is a copy of the boot module group and an attribute that can identify each boot module of the journal data has a journal data attribute information database which holds information, wherein the controller receives the boot start notification from the host device hard disk drive subsystem attached, said specified by the attribute information from the host device boot module Of receiving a read instruction when comparing the attribute information and the journal data attribute information database, If this attribute information is registered in the journal data attribute information database, the specified from storage et rear of the journal data reads the boot module, reading from the hard disk if it is not registered, features and be Ruha over disk drives subsystem that a control means for each pass to the host device. 前記不揮発性メモリには、前記ブート開始受信後に、順次読出しを指示されたブートモジュールの属性情報を、順次一時記憶する読出データ属性情報記録も有し、前記コントローラの制御手段は、上位装置よりブート終了を受けた後に前記読出データ属性情報記録を順次読み出し、読み出した各モジュールの属性情報が前記ジャーナルデータ属性情報データベースに登録されていなければ、前記読み出した属性情報が指定するブートモジュールをハードディスクより読出し、前記ジャーナルデータの格納エリアにコピーし、前記属性情報で前記ジャーナルデータ属性情報データベースを更新する手段も有することを特徴とする請求項1記載のハードディスクドライブサブシステム。The nonvolatile memory also has a read data attribute information record for temporarily storing the attribute information of the boot modules instructed to be read sequentially after receiving the boot start, and the controller of the controller is booted from the host device. reads said read data attribute information recording after receiving the termination sequence, if the attribute information of each read module is not registered in the journal data attribute information database, from the hard disk boot module the read attribute information specifies reading, the di Yanarude copied to storage et rear motor, hard disk drive subsystem as claimed in claim 1, wherein also have means for updating the journal data attribute information database with the attribute information. 前記コントローラの前記制御手段は、ブート中に読出しを指示されたブートモジュールの属性情報とジャーナルデータ属性情報データベースの比較を行った際に未登録のモジュールが一つでもあればオンすると共に、ブート終了時に参照される更新要求代表フラグも有し、このフラグがオンであれば、前記ジャーナルデータ及びジャーナルデータ属性情報データベースの更新処理が行われることを特徴とする請求項2記載のハードディスクドライブサブシステム。It said control means of said controller is configured to turn on if even one unregistered module when performing the comparison of the attribute information of the boot module is instructed to read during boot and journal data attributes information database, boot update request representative flag that is referenced at the end also have, if this flag is on, hard of claim 2, wherein the update processing of the journal data and journal data attributes information database is performed Disk drive subsystem. 前記コントローラの前記制御手段は、読出指示のあった各ブートモジュールの属性情報とジャーナルデータ属性情報データベースとの比較で未登録であれば、前記読出データ属性情報記録の対応レコードに更新要求個別フラグを追記し、この個別フラグを前記ブート終了後のジャーナルデータ及びジャーナルデータ属性情報データベースの更新処理で参照する手段も有することを特徴とする請求項2記載のハードディスクドライブサブシステム。The control means of the controller, if not registered in the comparison between the attribute information and journal data attributes information database for each boot module for which the read instruction, the update request separate flag in the corresponding record of the read data attribute information recording append a hard disk drive subsystem as claimed in claim 2, characterized in that it has a means for referring to the individual flag update processing of the journal data and the journal data attribute information database after the boot ends. 前記コントローラは、コンピュータウィルスの検知手段も有し、前記制御手段は、前記ブート終了後の前記ジャーナルデータ及びジャーナルデータ属性情報データベースの更新処理に先立って、更新データとなるブートモジュールをハードディスクより読み出し、これを前記ウィルス検知手段を用い感染の有無をチェックし、感染なしを確認してから前記ジャーナルデータ及びジャーナルデータ属性情報データベースの更新処理を行う手段も有することを特徴とする請求項2、3、又は4に記載のハードディスクドライブサブシステム。The controller also has a detection means of computer viruses, the control means, prior to the update processing of the journal data and journal data attributes information database after the boot completion, read from the hard disk boot module to be updated data , claim 2, characterized in that it has this checks for infection with the virus detecting means, a means for performing update processing of the journal data and journal data attributes information database make sure no infection, 3 hard disk drive subsystem as claimed or 4,. 前記制御手段は、前記ウィルスチェックで、感染していればその旨を上位装置に通知する手段と、上位装置からの指示を受けて、前記ジャーナルデータ属性情報データベースで指定されるジャーナルデータの格納エリアの個々のブートモジュールをハードディスクに書き戻す手段も有することを特徴とする請求項5記載のハードディスクドライブサブシステム。Wherein, in the virus check, and means for notifying the host device if infected, in response to an instruction from the host device, the journal data which is specified by the journal data attribute information database hard disk drive subsystem as claimed in claim 5, wherein also have means for writing back each boot module stored et rear in the hard disk. 前記不揮発性メモリのジャーナルデータ属性情報データベース及び読出しデータ属性情報記録を、モジュール当たり所定数のレコードとし且つ読出しを指示された順の記録とすることを特徴とする請求項1乃至6の何れかに記載のハードディスクドライブサブシステム。The non-volatile memory journal data attribute information database及 beauty read data attribute information recording any of claims 1 to 6, characterized in that the to and the order in which they were instructed to read recording a predetermined number of records per module hard disk drive sub-system of the crab described. 前記不揮発性メモリのジャーナルデータ属性情報データベース、読出データ属性情報記録の属性情報として、前記各ブートモジュールのファイル名を含むことを特徴とする請求項1乃至7の何れかに記載のハードディスクドライブサブシステム。Journal data attributes information database of the non-volatile memory, as attribute information of the read data attribute information recording, ha over according to any one of claims 1 to 7, characterized in that it comprises a file name of each boot module Disk drive subsystem. 前記不揮発性メモリをフラッシュメモリとすることを特徴とする請求項1乃至8の何れかに記載のハードディスクドライブサブシステム。 Hard disk drive subsystem as claimed in any of claims 1 to 8, characterized in that the flash memory the non-volatile memory.
JP2002155465A 2002-05-29 2002-05-29 Hard disk drive subsystem Expired - Fee Related JP3951808B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002155465A JP3951808B2 (en) 2002-05-29 2002-05-29 Hard disk drive subsystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002155465A JP3951808B2 (en) 2002-05-29 2002-05-29 Hard disk drive subsystem

Publications (2)

Publication Number Publication Date
JP2003345602A JP2003345602A (en) 2003-12-05
JP3951808B2 true JP3951808B2 (en) 2007-08-01

Family

ID=29771988

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002155465A Expired - Fee Related JP3951808B2 (en) 2002-05-29 2002-05-29 Hard disk drive subsystem

Country Status (1)

Country Link
JP (1) JP3951808B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4422136B2 (en) 2006-10-06 2010-02-24 Necインフロンティア株式会社 Storage device and activation method
JP5028218B2 (en) * 2007-10-30 2012-09-19 株式会社日立製作所 Storage control device, storage system, and storage control device control method
US7591019B1 (en) 2009-04-01 2009-09-15 Kaspersky Lab, Zao Method and system for optimization of anti-virus scan

Also Published As

Publication number Publication date
JP2003345602A (en) 2003-12-05

Similar Documents

Publication Publication Date Title
JP4518672B2 (en) System backup and restoration
US7519806B2 (en) Virtual partition for recording and restoring computer data files
US5086502A (en) Method of operating a data processing system
JP4363676B2 (en) Computer system
US6963951B2 (en) Partition recovery method
US9081639B2 (en) System and method for remotely re-imaging a computer system
US8266611B2 (en) Hard disk drive with disk embedded DOS boot image and firmware download method
EP0917060A1 (en) System for computer recovery using removable high capacity media
US20040133790A1 (en) Protected, hidden emergency boot directory
EP1669849A2 (en) Copy controller and method thereof
TW200414041A (en) Method and system for maintaining firmware versions in a data processing system
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 (en) Method and device for reading computer file, computer system and storage medium
CN116383012B (en) Method and device for acquiring boot log and method for transmitting boot log
US8914665B2 (en) Reading or storing boot data in auxiliary memory of a tape cartridge
JP3951808B2 (en) Hard disk drive subsystem
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 (en) Booting method of operating system on hard disk

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