(57)【要約】【課題】ハードディスクドライブが破損した場合でもシステムとして復旧を可能にする。【解決手段】外部記憶装置としてハードディスクドライブ１６及び不揮発性半導体メモリ１８を有するコンピュータシステム１０であって、アプリケーションプログラムの実行に伴い、ユーザが作成したハードディスクドライブ１６内のファイルを更新する手段と、この更新されたファイルを不揮発性半導体メモリ１８にコピーする手段とを含む。【選択図】      図２
2008310658.tif 000002
【特許請求の範囲】
【請求項１】
外部記憶装置としてハードディスクドライブ及び不揮発性半導体メモリを有するコンピュータシステムであって、
アプリケーションプログラムの実行に伴い、前記ハードディスクドライブ内のファイルを更新する手段と、
前記更新されたファイルを前記不揮発性半導体メモリにコピーする手段と
を具備することを特徴とするコンピュータシステム。
【請求項２】
前記コピー手段による前記更新されたファイルのコピー処理は、前記ハードディスクドライブ内のファイル更新時に行われることを特徴とする請求項１に記載のコンピュータシステム。
【請求項３】
前記コピー手段による前記更新されたファイルのコピー処理は、システムをシャットダウンする直前に行われることを特徴とする請求項１に記載のコンピュータシステム。
【請求項４】
ユーザとの間でデータの入出力を行うインターフェースをさらに具備し、
前記コピー手段による前記更新されたファイルのコピー処理は、ユーザからのシャットダウン指示が前記インターフェースを介して行われた際に行われることを特徴とする請求項３に記載のコンピュータシステム。
【請求項５】
前記コピー手段による前記更新されたファイルのコピー処理は、前記更新されたファイルのプログラムが動作していない期間に行われることを特徴とする請求項１に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムに係り、例えば外部記憶装置として不揮発性半導体メモリを備えたコンピュータシステムに関する。
【背景技術】
【０００２】
ハードディスクドライブ（ＨＤＤ）は、パーソナルコンピュータ、映像データ保存用装置（ＤＶＤ／ＨＤＤレコーダ）、携帯型音楽プレーヤ、ハイエンドデジタルスチルカメラなどに内蔵される記憶装置として需要を急増させている。ＨＤＤは、その圧倒的な容量価格比（単位容量当りの価格）の優位性から市場での需要に押されて製品の大容量化が進み、市場では１テラ（１テラは１０の１２乗）バイトを越える製品も既に現れている。ＨＤＤは、半導体メモリと異なり、複雑な加工技術を用いて微細化された素子を基板上に作りこむ必要がなく、記憶媒体であるディスク上での磁気記録密度を上げることによって大容量化を実現できることから低い容量価格比を実現しやすい。
【０００３】
このように他の外部記憶装置に比べて圧倒的な容量価格比の優位性を持つＨＤＤだが弱点としては、モーターでディスクを回転させながらヘッドで読み書きするというように機械部品による駆動のため、壊れやすく信頼性が十分でないと言う点がある。通常の使用状態においても寿命が数年程度と言う場合も少なくない。しかも、ＨＤＤが壊れると、装置として読み書き制御ができなくなるため、装置全体のすべてのデータが失われてしまう。
【０００４】
また、この種の関連技術として、障害発生から復旧までにかかる時間を短縮するようにしたコンピュータが開示されている（特許文献１参照）。
【特許文献１】特開２００３−１２２６０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、更新されたファイルのみを不揮発性半導体メモリにコピーすることで、ハードディスクドライブが破損した場合でも復旧が可能なコンピュータシステムを提供する。
【課題を解決するための手段】
【０００６】
本発明の一視点に係るコンピュータシステムは、外部記憶装置としてハードディスクドライブ及び不揮発性半導体メモリを有するコンピュータシステムであって、アプリケーションプログラムの実行に伴い、前記ハードディスクドライブ内のファイルを更新する手段と、前記更新されたファイルを前記不揮発性半導体メモリにコピーする手段とを具備する。
【発明の効果】
【０００７】
本発明によれば、更新されたファイルのみを不揮発性半導体メモリにコピーすることで、ハードディスクドライブが破損した場合でも復旧が可能なコンピュータシステムを提供することができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施の形態について図面を参照して説明する。なお、以下の説明において、同一の機能及び構成を有する要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
【０００９】
（第１の実施形態）
図１は、本発明の第１の実施形態に係るコンピュータシステム１０の構成を示すブロック図である。コンピュータシステム１０は、中央処理装置（ＣＰＵ：Central Processing Unit）１１、バスコントローラ１２、メインメモリ１４、及びユーザインターフェース１９を備えている。これらＣＰＵ１１、バスコントローラ１２、メインメモリ１４、及びユーザインターフェース１９は、互いにバス１３を介して接続されている。
【００１０】
また、コンピュータシステム１０は、外部記憶装置として、磁気ディスク記憶装置（ハードディスクドライブ（ＨＤＤ））１６、及び不揮発性半導体メモリ１８を備えている。ＨＤＤ１６は、ハードディスクコントローラ（ＨＤＣ）１５を介してバス１３に接続されている。不揮発性半導体メモリ１８は、メモリコントローラ１７を介してバス１３に接続されている。
【００１１】
ＣＰＵ１１は、ＨＤＤ１６に格納されたプログラムをメインメモリ１４上にて実行し、各回路の制御や、計算処理等を行う。バスコントローラ１２は、所定のプロトコルに従って、各回路間でのバス１３を介したデータ転送を制御する。
【００１２】
ユーザインターフェース１９は、ユーザとコンピュータシステム１０とのインターフェースであり、ユーザとの間でデータの入出力を行うキーボード、マウス、及びディスプレイ等から構成される。
【００１３】
ＨＤＤ１６は、システムプログラムとしてのオペレーティングシステム（ＯＳ）、各種ハードウェアを制御するための管理プログラム、アプリケーションプログラム、及びプログラムに付随する各種ファイルを格納する。ハードディスクコントローラ１５は、ＣＰＵ１１から送られるアドレスに従って、ＨＤＤ１６へのデータ書き込み動作及びデータ読み出し動作を制御するものであり、インターフェース回路、バッファ回路、ヘッドの位置を制御するためのサーボ回路、及びエラー訂正回路などを備えている。
【００１４】
メインメモリ１４は、ＲＡＭ（Random Access Memory）などから構成され、ＯＳや各種管理プログラムの常駐エリア、ＣＰＵ１１の作業エリアとして使用される。すなわち、ＨＤＤ１６からプログラムやファイルがメインメモリ１４にロードされ、ＣＰＵ１１は、このプログラムやファイルを用いて各種制御を実行する。
【００１５】
不揮発性半導体メモリ１８は、ＨＤＤ１６に格納されたデータのうちＯＳ、管理プログラム、及びアプリケーションプログラムを除いた各種ファイル、すなわちユーザが自ら作成したデータからなるユーザ作成データファイルを格納する。以上のように、本コンピュータシステム１０において、ＨＤＤ１６に格納されたユーザ作成データファイルは、不揮発性半導体メモリ１８に二重化して格納される。
【００１６】
メモリコントローラ１７は、不揮発性半導体メモリ１８のアクセスに必要な一連のメモリアクセス制御を実行し、インターフェース回路、バッファ回路、及びエラー訂正回路などを備えている。具体的には、メモリコントローラ１７は、ＣＰＵ１１から送られるアドレス及びＣＰＵ１１の制御に基づいて、不揮発性半導体メモリ１８に対する、書き込み動作、読み出し動作、及び消去動作を実行する。
【００１７】
不揮発性半導体メモリ１８は、データの書き込み及び消去を電気的に行うＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）の一種であるＮＡＮＤ型フラッシュメモリにて構成されている。なお、不揮発性半導体メモリ１８はＮＡＮＤ型フラッシュメモリに限定されず、ＮＯＲ型フラッシュメモリ、ＦｅＲＡＭ（Ferroelectric Random Access Memory）、ＭＲＡＭ（Magnetic Random Access Memory）、ＰＲＡＭ（Phase change Random Access Memory）、或いはＲＲＡＭ（Resistance Random Access Memory）などを用いてもよい。
【００１８】
電源コントローラ２０は、ユーザによる電源スイッチの押下に応じて、コンピュータシステム１０の各部にパワーオンリセット信号を供給すると共に電源を供給する。また、電源コントローラ２０はユーザインターフェース１９からのシャットダウン指示に応じて、コンピュータシステム１０の各部にパワーオンリセット信号を供給すると共に電源供給を停止する。
【００１９】
次に、コンピュータシステム１０の動作について説明する。図２は、コンピュータシステム１０の動作を示すフローチャートである。
【００２０】
まず、ユーザによる電源スイッチの押下に応じて電源コントローラ２０がパワーオンリセット信号を供給し、システムが起動されると、ＣＰＵ１１は、ＨＤＤ１６に格納されたＯＳをメインメモリ１４にコピーし、メインメモリ１４上でＯＳを起動する（ステップＳＴ１０１）。以後、ＣＰＵ１１の動作は、ＯＳの管理下で機能する管理プログラムにより実行される。
【００２１】
続いて、ＣＰＵ１１は、例えばユーザインターフェース１９を介したユーザの指示に基づいて、ＨＤＤ１６に格納されたアプリケーションプログラムをメインメモリ１４にコピーし、メインメモリ１４上で実行する（ステップＳＴ１０２）。続いて、ユーザインターフェース１９を介したユーザの指示に基づき、ＣＰＵ１１は、アプリケーションプログラム実行中に更新されたユーザ作成データファイルをＨＤＤ１６に書き込む（ステップＳＴ１０３）。このファイル更新動作には、ユーザが新規に作成したファイルをＨＤＤ１６に新たに追加する動作も含んでいる。
【００２２】
更新されたユーザ作成データファイルがＨＤＤ１６に書き込まれると、ＣＰＵ１１は、以後、この更新ファイルの不揮発性半導体メモリ１８へのバックアップコピー処理を実行する。すなわち、ＣＰＵ１１は、更新された対象ファイルが不揮発性半導体メモリ１８内に既に存在するか否かを判定する（ステップＳＴ１０４）。なお、ファイルが更新されたか否かは、ファイルの管理情報としてのファイル名及び更新時間などから判定される。
【００２３】
対象ファイルが不揮発性半導体メモリ１８内に存在する場合、ＣＰＵ１１は、ステップＳＴ１０５に移行して、不揮発性半導体メモリ１８内の対象ファイルを更新する。一方、ステップＳＴ１０４において、対象ファイルが不揮発性半導体メモリ１８内に存在しない場合、ＣＰＵ１１は、ステップＳＴ１０６に移行して、不揮発性半導体メモリ１８に対象ファイルを新規に作成されたユーザ作成データファイルとしてコピーする。以後、ＣＰＵ１１は、更新されたユーザ作成データファイルがＨＤＤ１６に書き込まれる毎に、この更新ファイルの不揮発性半導体メモリ１８へのバックアップコピー処理を繰り返す。
【００２４】
以上詳述したように本実施形態では、コンピュータシステム１０が、外部記憶装置として、ＨＤＤ１６、及び不揮発性半導体メモリ１８を備えており、ＨＤＤ１６内のユーザ作成データファイルを更新する際に、更新する対象ファイルを不揮発性半導体メモリ１８にバックアップとしてコピーするようにしている。
【００２５】
従って本実施形態によれば、ＨＤＤ１６が破損し、ＨＤＤ１６に格納されたデータが全て失われた場合でも、不揮発性半導体メモリ１８にバックアップコピーしたユーザ作成データファイルを正常な状態で残すことができる。そして、不揮発性半導体メモリ１８にバックアップコピーしたユーザ作成データファイルを使用することで、コンピュータシステム１０を復旧する際に、ＨＤＤ１６が破損する前の状態に戻すことが可能となる。これにより、長期間にわたって高信頼性が求められる応用にも耐えられるコンピュータシステム１０を実現することができる。
【００２６】
また、不揮発性半導体メモリ１８にバックアップ保存するユーザ作成データデータは、ＨＤＤ１６に格納されたデータのうちＯＳ、管理プログラム及びアプリケーションプログラムを除く各種ファイルのみに限定している。これにより、不揮発性半導体メモリ１８の容量を小さく抑えることができる。
【００２７】
また、自動的にユーザ作成データファイルを不揮発性半導体メモリ１８にバックアップコピーするようにしているため、ユーザに負担を増やさずに、信頼性の高いコンピュータシステム１０を実現することができる。
【００２８】
なお、パーソナルコンピュータなどのコンピュータシステムでは、ＯＳやアプリケーションプログラムなどはＣＤ−ＲＯＭ或いはインターネットを通じてインストールすることが可能であり、コンピュータシステム内のＨＤＤが破損した場合、交換したＨＤＤにＯＳやアプリケーションプログラムなどを再びインストールするとともに、不揮発性半導体メモリ１８に格納したユーザ作成データファイルを用いることで、コンピュータシステムをＨＤＤが破損する前の状態に復旧することが可能である。
【００２９】
（第２の実施形態）
第２の実施形態は、ユーザによりシステムのシャットダウンが指示された際に、それまでに更新されたユーザ作成データファイルをまとめて不揮発性半導体メモリ１８に書き込むようにしている。
【００３０】
図３は、本発明の第２の実施形態に係るコンピュータシステム１０の動作を示すフローチャートである。図３に示したステップＳＴ１０１〜１０３までの動作は、第１の実施形態と同じである。
【００３１】
コンピュータシステム１０の動作中に、ユーザからのシステムシャットダウン指示がユーザインターフェース１９を介してシャットダウン信号として電源コントローラ２０に与えられると（ステップＳＴ２０１）、電源コントローラ２０はＣＰＵ１１にパワーオンリセット信号を供給する。ＣＰＵ１１はパワーオンリセット信号を受けると、更新されたユーザ作成データファイルが不揮発性半導体メモリ１８内に既に存在するか否かを判定する（ステップＳＴ２０２）。
【００３２】
対象ファイルが不揮発性半導体メモリ１８内に存在する場合、ＣＰＵ１１は、ステップＳＴ２０３に移行して、不揮発性半導体メモリ１８内の対象ファイルを更新する。一方、ステップＳＴ２０２において、対象ファイルが不揮発性半導体メモリ１８内に存在しない場合、ＣＰＵ１１は、ステップＳＴ２０４に移行して、不揮発性半導体メモリ１８に対象ファイルを新規に作成されたユーザ作成データファイルとしてコピーする。
【００３３】
そして、更新された全ての対象ファイルが不揮発性半導体メモリ１８に書き込まれるまで、ステップＳＴ２０２〜２０４の動作を繰り返す（ステップＳＴ２０５）。更新された全ての対象ファイルが不揮発性半導体メモリ１８に書き込まれると、ＣＰＵ１１は、システムのシャットダウン処理を実行する（ステップＳＴ２０６）。
【００３４】
以上詳述したように本実施形態によれば、ユーザからコンピュータシステム１０のシャットダウンが指示された際に、コンピュータシステム１０が起動されてからシャットダウンの指示までの間に更新されたユーザ作成データファイルをまとめて不揮発性半導体メモリ１８に書き込むようにしている。これにより、不揮発性半導体メモリ１８へのバックアップコピーに係る時間をファイル更新の都度行われる第１の実施形態に比べて短縮することができる。その他の効果は第１の実施形態と同じである。
【００３５】
（第３の実施形態）
第３の実施形態は、ユーザ作成データファイルの更新処理を行ったアプリケーションプログラムが動作していない期間、すなわちユーザ作成データファイルの更新処理を行ったアプリケーションプログラムとは別のアプリケーションプログラムが動作中に、この対象ファイルを不揮発性半導体メモリ１８に書き込むようにすることで、ユーザに対象ファイルのバックアップ処理を意識させることなく、アプリケーションプログラムの実行と更新された対象ファイルのバックアップコピー処理とを並行して行うようにしている。
【００３６】
図４は、本発明の第３の実施形態に係るコンピュータシステム１０の動作を示すフローチャートである。図４に示したステップＳＴ１０３までの動作は、第１の実施形態と同じである。
【００３７】
続いて、ＣＰＵ１１は、更新された対象ファイルのアプリケーションプログラムの動作が終了したかを判定する（ステップＳＴ３０１）。このアプリケーションプログラムが終了していない間、ＣＰＵ１１は、ステップＳＴ１０２に移行して、アプリケーションプログラムの実行と、ファイルの更新とを繰り返す。
【００３８】
ステップＳＴ３０１において対象ファイルのアプリケーションプログラムが終了したと判定された場合、ＣＰＵ１１は、更新されたユーザ作成データファイルが不揮発性半導体メモリ１８内に既に存在するか否かを判定する（ステップＳＴ３０２）。
【００３９】
対象ファイルが不揮発性半導体メモリ１８内に存在する場合、ＣＰＵ１１は、ステップＳＴ３０３に移行して、不揮発性半導体メモリ１８内の対象ファイルを更新する。一方、ステップＳＴ３０２において、対象ファイルが不揮発性半導体メモリ１８内に存在しない場合、ＣＰＵ１１は、ステップＳＴ３０４に移行して、不揮発性半導体メモリ１８に対象ファイルを新規に作成されたユーザ作成データファイルとしてコピーする。そして、ＣＰＵ１１は、更新された全ての対象ファイルが不揮発性半導体メモリ１８に書き込まれるまで、更新された対象ファイルのバックアップコピー処理を繰り返す。
【００４０】
以上詳述したように本実施形態では、ユーザ作成データファイルの更新を行ったアプリケーションプログラムが動作していない期間に、この対象ファイルを不揮発性半導体メモリ１８に書き込むようにしている。このように、ユーザ作成データファイルの更新を行ったアプリケーションプログラムとは別のアプリケーションプログラムの実行と更新された対象ファイルのバックアップコピー処理とを並行して行うことで、ユーザに対象ファイルのバックアップ処理を意識させることなくバックアップコピー処理を行い、またバックアップコピー処理を行うことによる時間の増加をなくすことができる。その他の効果は第１の実施形態と同じである。
【００４１】
本発明は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲内で、構成要素を変形して具体化できる。また、実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を構成することができる。例えば、実施形態に開示される全構成要素から幾つかの構成要素を削除してもよいし、異なる実施形態の構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００４２】
【図１】本発明の第１の実施形態に係る本発明の第１の実施形態に係るコンピュータシステム１０の構成を示すブロック図。
【図２】第１の実施形態に係るコンピュータシステム１０の動作を示すフローチャート。
【図３】本発明の第２の実施形態に係るコンピュータシステム１０の動作を示すフローチャート。
【図４】本発明の第３の実施形態に係るコンピュータシステム１０の動作を示すフローチャート。
【符号の説明】
【００４３】
１０…コンピュータシステム、１１…中央処理装置（ＣＰＵ）、１２…バスコントローラ、１３…バス、１４…メインメモリ、１５…ハードディスクコントローラ、１６…ハードディスクドライブ（ＨＤＤ）、１７…メモリコントローラ、１８…不揮発性半導体メモリ、１９…ユーザインターフェース、２０…電源コントローラ。
【図１】
2008310658.tif 000003
【図２】
2008310658.tif 000004
【図３】
2008310658.tif 000005
【図４】
2008310658.tif 000006