JP2008502988A - コンピュータシステムのブート方法および装置 - Google Patents

コンピュータシステムのブート方法および装置 Download PDF

Info

Publication number
JP2008502988A
JP2008502988A JP2007516416A JP2007516416A JP2008502988A JP 2008502988 A JP2008502988 A JP 2008502988A JP 2007516416 A JP2007516416 A JP 2007516416A JP 2007516416 A JP2007516416 A JP 2007516416A JP 2008502988 A JP2008502988 A JP 2008502988A
Authority
JP
Japan
Prior art keywords
memory
image
computer system
memory image
boot
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.)
Pending
Application number
JP2007516416A
Other languages
English (en)
Inventor
オコンネル,ダニエル,ジェイムズ
Original Assignee
ティー1 テクノロジーズ リミテッド
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 ティー1 テクノロジーズ リミテッド filed Critical ティー1 テクノロジーズ リミテッド
Publication of JP2008502988A publication Critical patent/JP2008502988A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】
【解決手段】 不揮発性再プログラム可能なメモリデバイスを使用してパーソナルコンピュータシステムを迅速にブートする方法。システムワーキングメモリ、ハードウエアコンフィグレーション、およびシステムが所望の動作状態にあるときにメモリに保存されているその他の情報のコンテンツの圧縮したメモリイメージを不揮発性再プログラム可能なメモリに保存する。リブートするときに、このプロセスが変更されたハードウエアを検出し、継続する前にリブートからそらせて前記ハードウエアを同定する。
【選択図】 図1

Description

発明の属する技術分野
本発明は、コンピュータシステムまたはその他のデジタル処理装置のブートに関し、特に、デスクトップコンピュータシステムと、モバイルコンピュータデバイスを含むパーソナルコンピュータに関する。
発明の背景
コールドブートまたはハードブートからパーソナルコンピュータが通常稼動する最初のプログラムは、読出専用メモリ(ROM)または電気的に消去可能な読出専用メモリ(EEPROM)にロードされたインストラクションセットである。このセットは、システムのハードウエアを初期化させ、機械にハードディスクドライブを起動させてブートストラップローダを見つけるのに必要な情報を含んでいる。
従って、現在では、オペレーションシステムがローカルハードディスクドライブからのブート情報とファイルを、一般にランダムアクセスメモリ(RAM)と呼ばれているワーキングメモリまたはシステムメモリにロードする。この情報は、通常、ファイルシステムドライバ、オペレーティングシステムカーネル、および有用な情報に解析しなくてはならないコンフィグレーションおよびデバイス情報、および一般的な表面カスタマイゼーションを含む。
これらのファイルのシーア番号とサイズのために、コンピュータは時にブート、すなわち、使用可能な状態にするのに数分かかることがある。これは、時にエンドユーザを非常に欲求不満にさせる。
パーソナルコンピュータをブートさせるのにかかる時間は、作業者の生産性に大きく影響することがある。パーソナルコンピュータは職場、特にオフィス環境において広く使用されている。大きなオフィスでは、コンピュータのブートを待つのに費やす時間が、多大な非生産時間をもたらすことがある。職員が仕事中ミーティングに持ってゆくモバイル式パーソナルコンピュータを使用している場合は、この問題が大きくなる。更に、単純にコンピュータを使用した結果として生じるオペレーティングシステムのエラーによって、パーソナルコンピュータをリブートしなければならないことは珍しくない。
更に、ある環境では、コンピュータシステムまたはその他のデジタル処理装置の連続的な機能性が、例えば通信システムや生産プロセスの制御において非常に重要である。従って、システムの障害または「クラッシュ」に起因するダウン時間は、最小限に維持されなくてはならない。
電力制御インターフェース(ACPI:Advanced Configuration and Power Interface)の仕様によればブート時間を低減することができるが、この仕様を用いたシステムでも、通常、ユーザがコンピュータを使用できるようになるまでに少なくとも30秒待つことが必要である。
この仕様を実行するためには、米国特許第6,446,203号にあるように、ブートしたコンピュータメモリの「イメージ」を提供し、これをハードディスクまたはメモリ内に保存することが知られている。この特許明細書では、更にオペレーティングシステムが十分にブートされて、読み出すディスクの領域を同定することが必要であるが、このイメージに対するセキュリティが提供されていないばかりか、イメージの変更に対する準備も、ワーキングメモリ以外へ保存することについてへの言及もない。
米国特許出願2002/0078338号は、二次メモリ中にブートイメージを保存するようにしているが、このメモリからのブートが検出されてもセキュリティがなく、又、コンフィグレーションの変更を検出することができない。
米国特許出願2001/0039612号は、パワーダウン時にメモリにブートイメージを提供するが、イメージのセキュリティに関する準備はないばかりではなく、保存により多くのワーキングメモリを必要とするように見える。
米国特許出願2002/0169950号は、最初のブート処理のブートイメージと、中間部分の圧縮ブートイメージを、最初のブートイメージのコピーライトチェックと共に提供しているが、その他の明確なセキュリティあるいはハードウエアチェックはなされていない。
WO01/13221は、ROMを使用して、ユーザプログラムを含むブートイメージを保存しているが、ディスクの圧縮したOSを保存するにもかかわらず、明確なセキュリティはない。
米国特許第71,673,417号は、ハードディスクに圧縮した状態で保存したブートイメージを提供しているが、コンフィグレーションの変更は更新している。これは、明確なセキュリティや、ハードウエアチェックはない。
従って、電源投入時にブートするイメージを保存するコンピュータに関する更なる問題は、おそらくどこかに確実に保持されているデータを含めて、ブートしたコンピュータのメモリデータの不安定バージョンがコンピュータに保持されていることである。これは、従って、メモリイメージの抽出が通常のブーティング処理に含まれる何らかのセキュリティをバイパスする一手段とすることができる。
更に、コンピュータのスイッチが切れている間にコンピュータのハードウエアが変わることがある。この場合、コンピュータは、ハードウエアが変更されたことを認識して、全ブート用のブートイメージを放棄するか、変更が生じたことを認識できずに、普通にブートしようとする。双方共に、ブート時間に延長が生じる。
発明の目的
本発明の目的は、現存のシステムをブートするのにかかる時間を低減するコンピュータシステムのブート方法及び装置を提供することであり、そのときに、コンピュータメモリ内に保存されているデータに安全な環境を提供することである。
本発明の更なる目的は、コンピュータシステムのコンフィグレーションの変更が可能であるが、この変更によって迅速なブート処理の全体的な放棄を生じさせない手段を提供することである。
本発明のこれらの目的は、少なくとも従来技術の欠点を克服する方法となるか、あるいは公衆に有益な選択を提供するものである。
発明の概要
システムワーキングメモリを有するコンピュータシステムをオペレーティングシステムが完全にロードされるレベルへブートする方法であって、前記システムワーキングメモリの所望のコンテンツのメモリイメージを提供するステップと、当該メモリイメージを不揮発性再プログラム可能なメモリ内へロードするステップとを具え、前記システムをブートする必要があるときに、前記不揮発性再プログラム可能なメモリから前記メモリイメージを前記システムワーキングメモリへロードする、ブート方法において、前記メモリイメージを再ロードするときに、ローダが前記メモリイメージの部分と適合しない前記コンピュータシステム内の変更されたハードウエアを認識して、前記メモリイメージの影響されていない部分を処理する前にこの変更されたハードウエアの初期化処理を行うことを特徴とする。
好ましくは、この方法は、前記メモリイメージを暗号化し、圧縮して、この暗号化して圧縮したメモリイメージを非揮発性再プログラム可能なメモリ内にロードするステップと、再ロードするときに、前記圧縮したメモリイメージの圧縮を解除して復号し、この圧縮解除したメモリイメージを前記ワーキングメモリへロードするステップとを具える。
好ましくは、前記システムワーキングメモリの所望のコンテンツのメモリイメージを提供するステップが、前記システムワーキングメモリのブート後のコンテンツ、CPUレジスタのコンテンツ、およびその他のチップセットデバイスのコンテンツのメモリイメージを提供するステップを具える。
好ましくは、前記システムワーキングメモリの所望のコンテンツのメモリイメージを提供するステップが、前記システムワーキングメモリと、最後にコンピュータがシャットダウンする前のその他のハードウエアデバイスのレジスタとに保存されている全てのデータのイメージであるメモリイメージを提供するステップを具える。
好ましくは、前記メモリイメージはバーチャルメモリからのページ、あるいは揮発性ページファイルを具える。
好ましくは、前記オペレーティングシステムのセットアップ処理を行う間に前記メモリイメージを生成するステップを具える。
好ましくは、システムのコンフィグレーションの有意な変更に応じて前記メモリイメージを更新するステップを具える。
好ましくは、前記更新ステップが、前回正常起動時のメモリイメージをアーカイブするステップを具える。
好ましくは、前記不揮発性再プログラム可能なメモリがフラッシュメモリであって、この方法が、フラッシュファイルシステム及び/又はFlash Translation Layer(FTL)をサポートするように前記オペレーティングシステムのソースコードを変更するステップを具える。
好ましくは、前記不揮発性再プログラム可能なメモリからブートするようにファームウエアまたはBIOSを変更するステップを具える。
好ましくは、前記ファームウエアは前記メモリイメージからブートするのにパスワードを要求する。
好ましくは、正しいパスワード供給の失敗が、保存されている全メモリイメージを一つ残らず削除する。
好ましくは、前記メモリイメージが、全システムセッティングと、ログインしたユーザに関するメモリコンテンツを含むイメージである。
代替的に、本発明はコンピュータシステムに関し、このシステムが:
デジタル処理手段と;
前記デジタル処理手段用のワーキングメモリと;
前記システムワーキングメモリおよびその他のメモリ部分の所望のコンテンツのメモリイメージを含む不揮発性再プログラム可能なメモリであって、前記コンピュータシステムをブートするために前記メモリイメージを前記システムワーキングメモリに転送可能であり、前記メモリイメージがハードウエアコンフィグレーションとハードウエアコンテキスト情報を具えることを特徴とする不揮発性再プログラム可能なメモリと;
を具える。
好ましくは、前記コンピュータハードウエアコンフィグレーションが前記メモリイメージ内のコンピュータハードウエアコンフィグレーションから変更されている場合、この変更されたハードウエアに関するイメージ部分はロードされず、変更されたハードウエアが認識されて、前記メモリイメージの残りの部分が処理される前に初期化される。
好ましくは、前記システムが前記メモリイメージの少なくとも一のアーカイブコピーを含むディスクドライブまたはその他のメモリストレージデバイスを具える。
好ましくは、前記メモリイメージは、現存のワーキングメモリ、前記CPUレジスタ、その他のチップセットレジスタ、及びいずれかの一時的に保存されたメモリページの、所望のブート後のコンテンツのイメージである。
好ましくは、前記メモリイメージが前記コンピュータシステムがシャットダウンする前の前記ワーキングメモリに保存された全データのイメージである。
好ましくは、前記メモリイメージが、前記コンピュータシステムのオペレーティングシステムのセットアッププロセス中に作られたものである。
好ましくは、前記システムがディスクドライブ又は前記メモリイメージの少なくとも一の「前回正常起動時」のコピーを具えるその他のメモリストレージデバイスを具える。
好ましくは、前記不揮発性再プログラム可能なメモリがフラッシュメモリを使用している。
代替的に、本発明は、システムワーキングメモリを有するコンピュータシステムをシャットダウンする方法に関し、この方法が:
前記システムワーキングメモリ、前記ハードウエアのコンフィグレーションとコンテキスト、CPUレジスタ、チップセットレジスタ、および揮発性ページファイルメモリのコンテンツのメモリイメージを作るステップと;
前記メモリイメージを圧縮した形式で不揮発性再プログラム可能なメモリ内にロードするステップと;
前記コンピュータシステムをシャットダウンするステップと;
を具える。
好ましくは、前記メモリイメージが更に暗号化されている。
詳細な説明
以下に述べる例は、パーソナルコンピュータをブートするための本発明の使用、及び、このコンピュータをブーティングするように構成した不揮発性再プログラム可能なメモリを有するパーソナルコンピュータに関する。しかしながら、本発明は、例えば、コンピュータゲーム機、ビジネス機、および通信装置など、使用するにあたってオペレーティングシステムをロードする必要のあるその他のデジタル処理装置にも適用することができる。
図1を参照すると、本発明に係るコンピュータシステム用のブートまたはスタートアッププロセスのフロー図が記載されている。
図1を参照して述べる方法は、「コールド」あるいは「ハード」ブートが実行されていることを仮定している。この方法を「ウォーム」あるいは「ソフト」ブートが実行されている状況にも適用できることは、当業者には自明である。
図1を参照すると、ステップ1において、ユーザは例えばシステムパワーボタンを起動する。これによって、システムに電源が入り、通常の方法で、ファームウエアソフトウエアがブートシーケンスを開始する。従って、ステップ2で、ファームウエアを起動して、その通常のPOST初期設定シーケンスを実行し、二つの事柄のうちの一方を行う。ファームウエアは:a)現ブートシーケンスにあるように、オペレーティングシステムブートローダ用のシステムのハードドライブを見る;あるいはb)代替的に、ファームウエアがコンピュータシステム内にある不揮発性再プログラム可能なメモリを見る、かのいずれかを行う。ファームウエアが最初にオペレーティングシステムブートローダ用のハードドライブを見る場合でも、以下に更に説明するように、ファームウエア内に保存されているパスワードをユーザが入力するという条件付ではあるが、ブートローダは不揮発性再プログラム可能なメモリからメモリイメージをダウンロードするようにシステムを方向付けている。
不揮発性再プログラム可能なメモリは、コンピュータシステムにアクセス可能であり、例えば、パーソナルコンピュータのマザーボードに設けられている集積回路として設けられている。代替的に、このメモリは、現機械を改良するためのPCI増設カードとして設けられている。不揮発性再プログラム可能なメモリは、システムにアクセス可能であるという条件を満たしており、そのコンテンツをシステムによって十分に迅速にアクセスできるようにして、本発明のブート方法を価値のあるものにすることが可能である限り、別の方法で提供することもできる。
ステップ3を参照すると、オペレーティングシステムブートローダは、従って非揮発性再プログラム可能なメモリのコンテンツから直接的に、あるいは、システムのハードドライブから、ブート処理を開始する。
非揮発性再プログラム可能なメモリは、システムメモリにロードしたときにコンピュータシステムをユーザが使用可能な状態にする、すなわち、コンピュータシステムをブートするのに十分なRAMコンテンツのメモリイメージを含む。
不揮発性再プログラム可能なメモリ内で捕らえられ、このメモリ内に提供されたメモリイメージは、ユーザの要求に応じて様々な形式を取ることができる。例えば、不揮発性再プログラム可能なメモリは、ポストブートシステムワーキングメモリ(すなわち、RAM)コンテンツのメモリイメージを含んでいても良い。
もう一つの代替は、例えば、RAMに現在保存されているすべてのデータの好ましくは圧縮したメモリイメージと共に不揮発性再プログラム可能なメモリをロードすることである。好ましい形式では、この圧縮したメモリイメージが、現ACPI2.0a仕様中のState S4シャットダウン手順と同様の、前回のシャットダウン手順から保存される。これは、ユーザが使用できる状態にある場合のコンピュータ及び/又はコンピュータシステムのオペレーティングシステムセッティングを含み、好ましくは、ユーザに対して、ユーザがシャットダウンを開始したときにあったのと同じまたは略同じ状態にある場合に、ユーザがシステムの使用を再開するように提供されている。
標準ACPI S4シャットダウンの詳細は、http://www.acpi.infoのurlで入手可能な現ACPI仕様、改正2.0から見ることができる。
このメモリイメージは、システムメモリの部分的イメージのみであってもよい。従って、このイメージは、例えばオペレーティングシステムのバルクに関するデータを具え、システムワーキングメモリをつくるあるいは設定するのに必要な残りの情報は、システムのハードディスクなどの別のメモリストレージデバイスからワーキングメモリへロードすることができる。この構成は、例えばコストの制限などで不揮発性再プログラム可能なメモリのサイズを制限する必要がある場合に好ましいが、本発明は、ブート処理を実行するのに係る全時間が、既知のブート処理に比較するとまだ有意に低減されているので、それでも価値がある。
メモリイメージは、オペレーティングシステムのセットアッププロセス間に最初に作ることもでき、あるいは、代替的に、ユーザがコンピュータのコンフィグレーションに有意な変更を行うときに置き換えるようにしても良い。また、メモリイメージは、ユーザがシャットダウンシーケンスを開始するたびに捕捉するようにしても良い。これらのオプションは、図2を参照して更に議論する。
メモリイメージは、好ましくは圧縮されており、圧縮メモリイメージ(CMI)を不揮発性再プログラム可能なメモリに保存して、必要なときに不揮発性再プログラム可能なメモリから取り出すようにする。圧縮は、本発明によって提供される低減されたブート時間に有意に圧縮解除プロセスを加えることなく、かなりの量のメモリスペースを節約することができる。オープンソースzlibライブラリで入手できるアルゴリズムなどの圧縮アルゴリズムを使用することができる。
圧縮に加えて、メモリイメージをハードドライブと同じ標準に暗号化して、同じデータを担持しているハードドライブが保全されているメモリから情報を回復する試みを防止することができる。
図1において、圧縮メモリイメージの存在が決定される(ステップ6)と、ユーザはCMIファイル間で、複数ファイル(例えば、複数ユーザ用あるいは様々なオペレーティングシステム用)があるかどうかを選択(ステップ7)することが要求され、パスワードを要求される(ステップ8)。間違ったパスワードが入力されると(ステップ9)、ログオンの試みが再度トライされ(ステップ11)るが、最終的に失敗に終わると(ステップ12)、コンピュータは圧縮メモリイメージと揮発性ページファイル(ハードディスク上の一時的ストレージ)内のあらゆるデータを削除し(ステップ13)、シャットダウンされる(ステップ15)。これらの予防措置は、高速ブートシステムの破壊を困難にする。CMIが削除されると、次のブートが正常なブートシーケンスとなる(ステップ4−5、36−39)。
パスワードが入力され、これが正しい場合は、ブートローダが、圧縮メモリイメージからハードウエアに主な変更がないかどうかをチェックする(ステップ17)。何も変更がなければ、不揮発性再プログラム可能なメモリ内に配置されたCMIが圧縮解除され、圧縮解除されたCMIからコンピュータシステムセッティングと全メモリコンテンツがRAM内にロードされて(ステップ21)、従って、全アプリケーション、サービスおよびデバイスドライバを提供する。
次いで、オペレーティングシステムは、以前に保存した状態から引き継いで、揮発性ページファイルをクリアにして(ステップ23)、ホットプラグ可能なハードウエアコンフィグレーション内のあらゆる変化をチェックする。何らかの変化が見られた場合は、変更フラッグをFALSEにセットし(ステップ25)、閉じるときに新たなイメージが作られる。
より迅速なブート処理がこれで完了する。
ハードウエアチェック(ステップ17)でハードウエアの変更されたコンフィグレーションが見付かった場合、ブートローダは全ての一時データをクリアにするが、メモリイメージをハードウエアの変更がサービスを必要とする時点で処理する(ステップ30)。次いで変更したデバイスドライバがロードされ(ステップ31)、適用不可能な部分を飛ばしてメモリイメージの圧縮解除とローディングが再開される(ステップ32)。このように、OSが例示され、上述したとおり、PCが完全にブートするが、変更フラッグがセットされるので、新しいメモリイメージがシャットダウン時に保存されるであろう。
メモリコンテンツが、サーチされシステムのハードディスクから転送されるのではなく、不揮発性再プログラム可能なメモリからRAMへ非常に迅速にロードされるので、ブート処理に必要な時間が劇的に低減される。
マイクロソフト社のWindows(登録商標)のオペレーティングシステムを用いたパーソナルコンピュータ(PC)をブートする一例において、ファームウエアがまずブート情報用の不揮発性再プログラム可能なメモリをチェックして、Windowsのブートファイルとカーネルをメモリ内にロードする。レジストリ群がつくられ、ストレージスペースが許す場合は、不揮発性再プログラム可能なメモリに保存され、あるいはレジストリ群がつくられ、現存のシステムを有する場合と同様に、ローカルハードドライブ上に保存される。Windowsがロードされている間に、デバイスドライバが不揮発性再プログラム可能なメモリからRAMへロードされる。サービスとサードパーティスタートアップアプリケーションが、ローカルハードドライブからプリロードされる。典型的なパーソナルコンピュータは、64メガバイトまたはそれ以上の不揮発性再プログラム可能なメモリチップを機械のマザーボードに加えることによって、このプロセスを実行するよう物理的に変更することができる。PC上のファームウエアは、フラッシュファイルシステム(FFS)とFlash Translation Layer(FTL)用の組み込みサポートを用いて不揮発性再プログラム可能なメモリからのブートを可能にするように変更されている。例えばWindows XPなどのMicrosoft Windows(登録商標)は、内部ドライバ(例えば、FAT16/32、NTFS、FFS/FTLなど)を介して、あるいはサードパーティのドライバを介してFFS/FTLをサポートするように変更することができる。ハードウエアのサポートは、増設PCIベースの製品を介して提供することができる。Windowsのブートファイルとデバイスドライバが、不揮発性再プログラム可能なメモリに加えられ、サードパーティスタートアッププログラムが、ハードドライブのスタートへと物理的に移動する。
Windowsのオペレーティングシステムを用いた別の例では、ファームウエアが不揮発性再プログラム可能なメモリからブートして、メモリイメージをRAMにロードして圧縮解除する。わずかな環境の変化がロードされるか、あるいはメモリイメージがRAMに存在する後のハードドライブの開始から作られる。この変更には、以下のものが含まれる(限定するものではない):
アプリケーションのインストール
非限界スタートアップアプリケーション
レジストリ群
ページファイル(バーチャルメモリ)
典型的なパーソナルコンピュータで稼動するMicrosoft Windowsオペレーティングシステムへの物理的な変更は、上述の例で引用した変更と似ているが、Windowsのセットアップ中にユーザカスタマイズ圧縮Windowsメモリイメージができて、不揮発性再プログラム可能なメモリ内に保存される。更に、カスタマイズされたセッティングがハードドライブを開始するときに保存される。
図2は、これらのコンピュータの代替のシーケンスを示す図であり、コンポーネントの変更をチェックするファームウエアを使用している。このシーケンスは、チェックを行うオペレーティングシステムを使用するのではなく、ZBIOSがハードウエアコンフィグレーションチェックを実行している点のみで図1のものと、異なる。
図3を参照すると、本発明によるコンピュータシステムのシャットダウンプロセスが図式的に記載されている。このプロセスはオペレーティングシステムからのシャットダウンコマンドをユーザが選択するステップ1で開始する。オペレーティングシステムは、シャットダウンプロセスの一部として、ステップ3内の変更フラッグをチェックする。変更フラッグは、有意な変更がコンピュータのコンフィグレーションになされたときにオペレーティングシステムによって設定される。有意な変更には、以下のものが含まれる(限定するものではない):
a)新しいアプリケーションのインストール
i)オペレーティングシステムがブートするとコンポーネントをロードする必要があるアプリケーションのインストール
b)レジストリ群の変更
c)デバイスドライバのアップグレード
d)サービスパック/ホットフィックスのインストール
e)サービス変更
f)ユーザ環境のカスタマイゼーション
(i)デスクトップ
(ii)ウオールペーパ
(iii)テーマ
(iv)サウンド
(v)アイコン
(vi)カラースキーム
従って、ブートアップからの各新しいユーザセッションと共に、変更フラッグが誤りに設定される。次いで、上記に例を挙げた変更のような有意な変更が生じた場合は、フラッグが真に設定される。明確化のために、上記の有意な変更リストは、網羅的なものではない。更に、ユーザは上述のリストからいくつかのアクションを排除することを希望することがある。
図3を参照すると、ステップ5に示すように、変更フラッグが誤りである場合、オペレーティングシステムがオープンファイル、デバイス、およびサービスを全て閉じるが、ステップ14に示すように、この領域は何も変更されていないので、システムコンフィグレーションデータは保存しない。オペレーティングシステムは、次いで、ステップ15において、現ACPI 2.0aの仕様で、State S5 Shutdownとして実装されている正常なシャットダウンプロセスを続ける。次いで、コンピュータがスイッチを切った状態あるいはリブートする状態になる。
図3のステップ4に示すように変更フラッグがTRUEであれば、「前回正常起動時」(LKG)圧縮メモリイメージが、システムのローカルハードドライブなどの適宜のストレージ手段にアーカイブされる。これは、ステップ6で生じる。
次いで、ステップ7では、アクティブCMIであるシステムを最後にブートするのに使用したCMIが、ここで、LKG CMIとして使用される。
オペレーティングシステムは次いで、ステップ8を開始する変更したシャットダウン手順を開始する。
ステップ8では、新しい暗号化キーが生成され、新しいCMIに保存される。これに続いてステップ9では、現在のハードウエア情報がこの新しいファイルに書きこまれ、ステップ10で現在RAMに保存されている全てのデータが、適宜の圧縮アルゴリズムを用いて圧縮及び暗号化され、保存される。次いで、揮発性ページファイル中のいずれかのページングデータが、ステップ11において新しいCMIファイルのページングデータサブセクションにロードされ、現ハードウエアコンテキストがステップ12でロードされる。次いで、このローディングプロセスが完了し、不揮発性RAM中の最終ファイルが、ステップ13において新しいアクティブCMIとしてマークされる。オペレーティングシステムは、次いで、ステップ15を引用して上述した変更されたシャットダウンプロセスを終了する。
図3に示した方法から、システムをブートするのに使用できる圧縮したメモリイメージのアーカイブが保持されることがわかる。このようにして、ユーザが機械の動作に有害な、すなわち、所望されない有意な変更を行った場合、あるいはシステムが壊れるような場合に、ユーザは常にその機械をリブートすることができる少なくとも一の圧縮メモリイメージを有している。
図4は、同様のシャットダウンシーケンスを示す。これは、ファームウエア制御のコンピュータであり、変更したシャットダウン手順の最初と最後の部分がファームウエア制御下にある。
図5は、典型的な圧縮メモリイメージ(CMI)ファイルのレイアウトを示す図であり、ここでは、暗号化キーと認証情報がまず保存されており、次いで、ハードウエアコンフィギュレーション情報、次いで、RAMコンテント、バーチャルメモリファイル(または揮発性ページコンテンツ)からのページングデータが保存され、最後に、現ハードウエアのハードウエアコンテキストが保存される。圧縮し、暗号化した情報の再ローディングは、最後のシャットダウン以来そのコンフィグレーションになんら変更がなされていない場合、コンピュータをフル稼働状態に戻すのに十分である。
図7は、圧縮したメモリファイルの保存されたページングファイル(揮発性ページファイルあるいはバーチャルメモリファイル)の保存に関する3つの動作を示す。最初に、システムは揮発性ページファイルにあるページを要求し(ステップ1)、これがCMIページングデータから取り出され、ステップ2においてRAMに送られる前に圧縮解除して復号される。RAMにおいて、ページの寿命が尽きた場合は、より高い優先権を持つページが保存されなくてはならないので、ステップ3および4にあるように、揮発性ページファイルに交換される。次いで、通常の動作にあるように、システムがそのメモリページを再びリクエストしたら、ステップ5および6に示すように、揮発性ページファイルから交換される。
図7を参照すると、本発明にかかるコンピュータシステムの一例のベーシックプロセッサとメモリコンポネントが示されている。この発明が関連する分野における当業者には、メモリデバイスのその他の構成及び通信路は自明である。このシステムは中央処理ユニット(CPU)701を有し、その中にはコントロールユニット702が設けられている。ランダムアクセスメモリ(RAM)403の形式のワーキングメモリが、不揮発性再プログラム可能なメモリ704として設けられている。データバス705によって、RAM703とCPU701の間で、コントロールユニット702の制御の下、アドレスデータコントロールバス706を介してデータの相互交換が可能である。同様に、データバス707によって、不揮発性再プログラム可能なメモリ703とCPUとの間で、コントロールユニット402の制御の下、アドレスデータコントロールバス708を介してデータの相互交換が可能である。従って、バス707によって、全メモリコンテンツを具えるRAM内の情報を不揮発性再プログラム可能なメモリ704へ転送することができる。バス705と707はシステムバスを具えていても良い。更に、RAM703のコンテンツは、圧縮されて、これによって、圧縮イメージがバス707を介して転送され、不揮発性再プログラム可能なメモリ704内に保存される。次いで、必要があれば、不揮発性再プログラム可能なメモリ704内に保存されているメモリイメージをRAM703に直接転送するようにしても良く、あるいは最初に圧縮して、次いでRAM703にインストールするようにしても良い。
不揮発性再プログラム可能なメモリ704は、このメモリが本質的に不揮発性の固体デバイスであり、不揮発性再プログラム可能なメモリのコンテンツが、コンピュータシステムから電力供給がなくなったときに保持されるという利点がある。しかしながら、この分野の当業者には、本明細書中の不揮発性再プログラム可能なメモリにつけた符号が、フラッシュRAMの使用、すなわち、例えばメモリコンテンツを維持するためにバッテリなどの外付け電源を必要とする不揮発性再プログラム可能なメモリの形式を含むことは自明である。
本発明に係る不揮発性再プログラム可能なメモリデバイスは、例えば、システムのマザーボード、あるいは別のボードまたはカード上の集積回路として提供することもできる。特に、所望であれば、不揮発性再プログラム可能なメモリを、SmartMedia またはCompactFlashといった商標で引用されるカードに提供することもできる。
現在入手可能ないくつかの不揮発性再プログラム可能なメモリ製品は、ハードドライブより何桁も早いロード時間を有しており、本発明の方法とシステムが従来技術のシステムと比較してブート時間という意味で有意な利点を提供することがわかる。
別のタイプの不揮発性メモリと、固体ディスクを、Magnetic RAM(MRAM)などのフラッシュメモリと共に、あるいはフラッシュメモリに代えて使用しても良い。これは、フラッシュメモリより読出および書込の両動作において指数関数的に転送速度を速める。MRAMは、2005年に大量生産が見込まれている。
好ましくは、所望のオペレーティングシステム用のセットアップアプリケーションは、更に、ACPI 2.0a仕様(現在、http://www.acpi.infoから入手可)に、State S4システムコンテキストファイルとして現在インプリメントされているような、現在のRAMに保存されている全データの圧縮イメージを含む圧縮メモリイメージ(CMI)を生成する。このファイルは、不揮発性再プログラム可能なメモリ内に保存されているが、セットアップアプリケーションは、現ACPI 2.0a仕様におけるState S4システムコンテキストファイル生成用の場合、コンピュータをシャットダウンせず、むしろプログラムされたシャットダウン手順の後に行う。
好ましくは、オペレーティングシステムソースコードが変更されて、Intel社自身のFTL仕様(http://www.intel.com/design/flcomp/applnots/297816.htm)などのFlash Translation Layer(FTL)を介してフラッシュファイルシステム(FFS)を内部的に支持する。
圧縮メモリイメージ(CMI)は、現ACPI 2.0a仕様におけるState S4シャットダウン手順と同様に、以前のシャットダウン手順の結果RAM内に現在保存されている全てのデータの圧縮バージョンを有することが好都合である。
最も好ましい実施例では、前回のCMIをアーカイブしてインストールし、不揮発性再プログラム可能なメモリを「前回正常起動時」CMIとして使用する。
この明細書中のコンピュータシステムの引用は、一般的にデジタルデータ処理システムを含む。
この明細書の詳細な説明と特許請求の範囲を通して、「具える」の用語と、「具えている」といったその変形は、その他の追加、コンポーネント、完成品全体あるいはステップを排除することを意図するものではない。
産業上の適用可能性
本発明は、コンピュータのコンフィグレーションが前回正常起動時から変化した場合でも、標準的なハードディスクブートより大幅により迅速にコンピュータをブートさせる方法を提供するものであり、これによって、コンピュータがソフトウエアをユーザがそれを有益な動作を実行できる時点へロードするのに無駄に待機するユーザの時間の消費レベルを低減する。さらに、これを安全に行うことができるようにする。
図1は、オペーティングシステムで駆動するコンピュータ用の本発明に係るコンピュータブートまたはスタートアッププロセスのフロー図である。 図2は、ファームウエアで駆動するコンピュータ用の本発明に係るコンピュータブートまたはスタートアッププロセスのフロー図である。 図3は、本発明に係るシャットダウンプロセスのフロー図である。 図4は、ファームウエアで駆動するコンピュータ用の本発明に係るシャットダウンプロセスのフロー図である。 図5は、圧縮したメモリイメージファイルのコンテンツを示す図である。 図6は、様々なメモリ間の、あるいはバーチャルメモリ位置間のページングデータに関連する入れ換え操作のフロー図である。 図7は、コンピュータ内のデータフローを示す図である。

Claims (23)

  1. システムワーキングメモリを有するコンピュータシステムをオペレーティングシステムが完全にロードされるレベルへブートする方法であって、前記システムワーキングメモリの所望のコンテンツのメモリイメージを提供するステップと、当該メモリイメージを不揮発性再プログラム可能なメモリ内へロードするステップと、システムをブートする必要があるときに、前記不揮発性再プログラム可能なメモリから前記システムワーキングメモリへメモリイメージをロードするステップを具えるブート方法において、
    前記メモリイメージを再ロードするときに、ローダが前記メモリイメージの部分と適合しない前記コンピュータシステム内の変更されたハードウエアを認識して、前記メモリイメージの影響されていない部分を処理する前にこの変更されたハードウエアの初期化処理を行うことを特徴とする方法。
  2. 請求項1に記載の方法において、当該方法が、前記メモリイメージを暗号化し、圧縮して、この暗号化して圧縮したメモリイメージを非揮発性再プログラム可能なメモリ内にロードするステップと、再ロードするときに、前記圧縮したメモリイメージの圧縮を解除して復号し、この圧縮解除したメモリイメージを前記ワーキングメモリへロードするステップとを具えることを特徴とする方法。
  3. 請求項1に記載の方法において、前記システムワーキングメモリの所望のコンテンツのメモリイメージを提供するステップが、前記システムのワーキングメモリのブート後のコンテンツ、CPUレジスタのコンテンツ、およびその他のチップセットデバイスのコンテンツのメモリイメージを提供するステップを具えることを特徴とする方法。
  4. 請求項1に記載のコンピュータシステムをブートする方法において、前記システムワーキングメモリの所望のコンテンツのメモリイメージを提供するステップが、前記システムワーキングメモリと、最後にコンピュータシステムがシャットダウンする前のその他のハードウエアデバイスのレジスタに保存されている全てのデータのイメージであるメモリイメージを提供するステップを具えることを特徴とする方法。
  5. 請求項4に記載のコンピュータシステムをブートする方法において、前記メモリイメージはバーチャルメモリからのページ、あるいは揮発性ページファイルを具えることを特徴とする方法。
  6. 請求項1に記載の方法において、当該方法が、前記オペレーティングシステムのセットアップ処理を行う間に前記メモリイメージを生成するステップを具えることを特徴とする方法。
  7. 請求項1に記載の方法において、当該方法が、システムのコンフィグレーションの有意な変更に応じて前記メモリイメージを更新するステップを具えることを特徴とする方法。
  8. 請求項7に記載の方法において、前記更新ステップが、全回正常起動時のメモリイメージをアーカイブするステップを具えることを特徴とする方法。
  9. 請求項1に記載の方法において、前記不揮発性再プログラム可能なメモリがフラッシュメモリであって、この方法が、フラッシュファイルシステム及び/又はFlash Translation Layer(FTL)をサポートするように前記オペーレーティングシステムのソースコードを変更するステップを具えることを特徴とする方法。
  10. 請求項1に記載の方法において、当該方法が、前記不揮発性再プログラム可能なメモリからブートするようにファームウエアを変更するステップを具えることを特徴とする方法。
  11. 請求項10に記載の方法において、前記ファームウエアが前記メモリイメージからブートするのにパスワードを要求することを特徴とする方法。
  12. 請求項11に記載の方法において、正しいパスワードの供給失敗が、保存されている全メモリイメージを一つ残らず削除することを特徴とする方法。
  13. 請求項1に記載の方法において、前記メモリイメージが、全システムセッティングと、ログインしたユーザに関するメモリコンテンツを含むイメージであることを特徴とする方法。
  14. コンピュータシステムにおいて:
    デジタル処理手段と;
    前記デジタル処理手段用のワーキングメモリと;
    前記システムワーキングメモリおよびその他のメモリ部分の所望のコンテンツのメモリイメージを含む不揮発性再プログラム可能なメモリであって、前記コンピュータシステムをブートするために前記メモリイメージを前記システムワーキングメモリに転送可能であり、前記メモリイメージがハードウエアコンフィグレーションとハードウエアコンテキスト情報を具えることを特徴とする不揮発性再プログラム可能なメモリと;
    を具えることを特徴とするコンピュータシステム。
  15. 請求項14に記載のコンピュータシステムにおいて、前記コンピュータハードウエアコンフィグレーションが前記メモリイメージ内のコンピュータハードウエアコンフィグレーションから変更されている場合、この変更されたハードウエアに関するイメージ部分はロードされず、変更されたハードウエアが認識されて、前記メモリイメージの残りの部分が処理される前に初期化されることを特徴とするコンピュータシステム。
  16. 請求項14に記載のコンピュータシステムにおいて、前記システムが前記メモリイメージの少なくとも一のアーカイブコピーを含むディスクドライブまたはその他のメモリストレージデバイスを具えることを特徴とするコンピュータシステム。
  17. 請求項14に記載のコンピュータシステムにおいて、前記メモリイメージは、現存のワーキングメモリ、前記CPUレジスタ、その他のチップセットレジスタ、及びいずれかの一時的に保存されたメモリページの、所望のブート後のコンテンツのイメージであることを特徴とするコンピュータシステム。
  18. 請求項14に記載のコンピュータシステムにおいて、前記メモリイメージが前記コンピュータシステムがシャットダウンする前の前記ワーキングメモリに保存された全データのイメージであることを特徴とするコンピュータシステム。
  19. 請求項14に記載のコンピュータシステムにおいて、前記メモリイメージが、前記コンピュータシステムのオペレーティングシステムのセットアッププロセス中に作られたものであることを特徴とするコンピュータシステム。
  20. 請求項14に記載のコンピュータシステムにおいて、前記システムがディスクドライブ又は前記メモリイメージの少なくとも一の「前回正常起動時」のコピーを具えるその他のメモリストレージデバイスを具えることを特徴とするコンピュータシステム。
  21. 請求項14に記載のコンピュータシステムにおいて、前記不揮発性再プログラム可能なメモリがフラッシュメモリを使用していることを特徴とするコンピュータシステム。
  22. システムワーキングメモリを有するコンピュータシステムをシャットダウンする方法において、当該方法が:
    前記システムワーキングメモリ、前記ハードウエアのコンフィグレーションとコンテキスト、CPUレジスタ、チップセットレジスタ、および揮発性ページファイルメモリのコンテンツのメモリイメージを作るステップと;
    前記メモリイメージを圧縮した形式で不揮発性再プログラム可能なメモリ内にロードするステップと;
    前記コンピュータシステムをシャットダウンするステップと;
    を具えることを特徴とする方法。
  23. 請求項22に記載の方法において、前記メモリイメージが更に暗号化されていることを特徴とする方法。
JP2007516416A 2004-06-15 2004-06-15 コンピュータシステムのブート方法および装置 Pending JP2008502988A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/NZ2004/000122 WO2005124540A1 (en) 2004-06-15 2004-06-15 Method and apparatus for booting a computer system

Publications (1)

Publication Number Publication Date
JP2008502988A true JP2008502988A (ja) 2008-01-31

Family

ID=35509886

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007516416A Pending JP2008502988A (ja) 2004-06-15 2004-06-15 コンピュータシステムのブート方法および装置

Country Status (5)

Country Link
EP (1) EP1759284A4 (ja)
JP (1) JP2008502988A (ja)
CN (1) CN100489768C (ja)
IL (1) IL179954A0 (ja)
WO (1) WO2005124540A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011215796A (ja) * 2010-03-31 2011-10-27 Ricoh Co Ltd 制御装置及び制御方法
JP2013004044A (ja) * 2011-06-22 2013-01-07 Canon Inc 画像形成装置、画像形成装置の起動制御方法及びプログラム
US9025366B2 (en) 2012-10-10 2015-05-05 Samsung Electronics Co., Ltd. Main memory system storing operating system program and computer system including the same

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8560760B2 (en) * 2007-01-31 2013-10-15 Microsoft Corporation Extending flash drive lifespan
WO2013110216A1 (en) * 2012-01-29 2013-08-01 Thomson Licensing Method for flash compressed instruction caching for limited ram/flash device architectures
CN104272250A (zh) * 2012-04-30 2015-01-07 惠普发展公司,有限责任合伙企业 可配置的计算机存储器
CN113569277B (zh) * 2021-06-25 2024-01-26 北京鼎普科技股份有限公司 安全文件数据检查的方法、装置和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6379120A (ja) * 1986-09-22 1988-04-09 Nec Corp クイツク・スタ−ト・アツプ方式
JPH0784848A (ja) * 1993-07-26 1995-03-31 Internatl Business Mach Corp <Ibm> 情報処理システム
JP2004038546A (ja) * 2002-07-03 2004-02-05 Fuji Xerox Co Ltd 起動制御方法、起動制御装置、画像処理装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802365A (en) * 1995-05-05 1998-09-01 Apple Computer, Inc. Dynamic device matching using driver candidate lists
US5710930A (en) * 1995-08-04 1998-01-20 Intel Corporation Apparatus and a method for allowing an operating system of a computer system to persist across a power off and on cycle
US6134616A (en) * 1996-10-28 2000-10-17 International Business Machines Corporation Method and apparatus for dynamic re-enumeration and reconfiguration of computer devices after system hibernation
US6173417B1 (en) * 1998-04-30 2001-01-09 Intel Corporation Initializing and restarting operating systems
US6209088B1 (en) * 1998-09-21 2001-03-27 Microsoft Corporation Computer hibernation implemented by a computer operating system
US6636963B1 (en) * 1999-12-30 2003-10-21 Cardiac Pacemakers, Inc. Quick starting for microprocessor-based system by retrieving a target state memory image and a target state data structure from an image storage medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6379120A (ja) * 1986-09-22 1988-04-09 Nec Corp クイツク・スタ−ト・アツプ方式
JPH0784848A (ja) * 1993-07-26 1995-03-31 Internatl Business Mach Corp <Ibm> 情報処理システム
JP2004038546A (ja) * 2002-07-03 2004-02-05 Fuji Xerox Co Ltd 起動制御方法、起動制御装置、画像処理装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011215796A (ja) * 2010-03-31 2011-10-27 Ricoh Co Ltd 制御装置及び制御方法
JP2013004044A (ja) * 2011-06-22 2013-01-07 Canon Inc 画像形成装置、画像形成装置の起動制御方法及びプログラム
US9025366B2 (en) 2012-10-10 2015-05-05 Samsung Electronics Co., Ltd. Main memory system storing operating system program and computer system including the same

Also Published As

Publication number Publication date
WO2005124540A1 (en) 2005-12-29
CN100489768C (zh) 2009-05-20
EP1759284A4 (en) 2007-07-25
IL179954A0 (en) 2007-05-15
EP1759284A1 (en) 2007-03-07
CN1997961A (zh) 2007-07-11

Similar Documents

Publication Publication Date Title
US7313684B2 (en) Method and apparatus for booting a computer system
WO2005029325A1 (en) Method and apparatus for booting a computer system
US20040034765A1 (en) Method and apparatus for booting a computer system
US20080059785A1 (en) Method and apparatus for shutting down a computer system
US20070112899A1 (en) Method and apparatus for fast boot of an operating system
JP4932781B2 (ja) 目標の媒体上に縮小オペレーティングシステムイメージを作成する方法、システム及びプログラム
US7136994B2 (en) Recovery images in an operational firmware environment
US7631173B2 (en) Method and system for performing pre-boot operations from an external memory including memory address and geometry
EP1634170B1 (en) Method for firmware variable storage with eager compression, fail-safe extraction and restart time compression scan
US8539213B2 (en) Manageability extension mechanism for system firmware
US20010039612A1 (en) Apparatus and method for fast booting
US20060242398A1 (en) Booting from non-volatile memory
US20140115316A1 (en) Boot loading of secure operating system from external device
US20080010446A1 (en) Portable apparatus supporting multiple operating systems and supporting method therefor
JP2001056718A (ja) ブートアップ時及びシャットダウン時の画像表示
EP1854006A1 (en) Method and system for preserving crash dump in a diskless system
US20220308963A1 (en) Method and apparatus for providing recovery from a computing device boot up error
EP1685482A1 (en) Method and apparatus for booting a computer system
JP2008502988A (ja) コンピュータシステムのブート方法および装置
WO2008048581A1 (en) A processing device operation initialization system
KR20070041515A (ko) 컴퓨터 시스템을 부팅하기 위한 방법 및 장치
NZ533549A (en) Method and apparatus for booting a computer system
JP2002023875A (ja) 情報処理装置およびbiosの復帰方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100914

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110222