(57)【要約】【課題】高速ブートウェークアップ動作を実行可能な処理システムを提供すること。【解決手段】処理システムであって、該システムは、プロセッサと、該プロセッサによってアクセス可能なオペレーティングシステムイメージファイルを格納する読取り専用メモリと、該プロセッサによってアクセス可能なランダムアクセスメモリと、該プロセッサによって実行可能なブートプログラムであって、パワーが最初に処理システムに提供されるときに起こるパワーオンイベント、または該処理システムが低電力モードから退出するときに起こるウェークアップイベントに応答して処理システムを初期化するための、ブートプログラムとを備える、処理システム。【選択図】図１
2007299404.tif 000002
【特許請求の範囲】
【請求項１】
処理システムであって、該システムは、
プロセッサと、
該プロセッサによってアクセス可能なオペレーティングシステムイメージファイルを格納する読取り専用メモリと、
該プロセッサによってアクセス可能なランダムアクセスメモリと、
該プロセッサによって実行可能なブートプログラムであって、パワーが最初に処理システムに提供されるときに起こるパワーオンイベント、または該処理システムが低電力モードから退出するときに起こるウェークアップイベントに応答して処理システムを初期化するための、ブートプログラムと
を備え、該ブートプログラムは、該読取り専用メモリから該ランダムアクセスメモリへの該オペレーティングシステムイメージファイルのフルブートコピーか、または該読取り専用メモリから該ランダムアクセスメモリへの該オペレーティングシステムイメージファイルの所定部分のみの高速ブートコピーを選択的に行う、処理システム。
【請求項２】
前記ブートプログラムは、前記パワーオンイベントに応答して前記フルブートコピーオペレーションを実行する、請求項１に記載の処理システム。
【請求項３】
前記ブートプログラムは、前記ウェークアップイベントに応答して前記高速ブートコピーオペレーションを実行する、請求項１に記載の処理システム。
【請求項４】
前記ブートプログラムは、先のフルブートコピーオペレーションの間に前記読取り専用メモリからコピーされた前記オペレーションシステムの選択部分を含む前記ランダムアクセスメモリの１つ以上の領域のコンテンツのインテグリティチェックを行った後に、前記高速ブートコピーオペレーションを実行する、請求項３に記載の処理システム。
【請求項５】
前記ブートプログラムは、
前記プロセッサのリセットベクトルに対応する読取り専用メモリ内の開始位置に格納された初期プログラムローダであって、該初期プログラムローダは、該読取り専用メモリから該プロセッサによって実行可能である、初期プログラムローダと、
該初期プログラムローダによって前記ランダムアクセスメモリにロードされ、該プロセッサによって実行される、スタートアッププログラムと
を含む、請求項１に記載の処理システム。
【請求項６】
前記スタートアッププログラムは、前記フルブートコピーオペレーションと前記高速ブートコピーオペレーションとを選択的に行う、請求項５に記載の処理システム。
【請求項７】
前記初期プログラムローダは、前記フルブートコピーオペレーションと前記高速ブートコピーオペレーションとを選択的に行う、請求項５に記載の処理システム。
【請求項８】
前記ランダムアクセスメモリは、動的ランダムアクセスメモリを含む、請求項１に記載の処理システム。
【請求項９】
前記オペレーティングシステムイメージファイルは、主要イメージファイルシステムと２次イメージファイルシステムとを含む少なくとも２つ以上のイメージファイルシステムを含む、請求項１に記載の処理システム。
【請求項１０】
前記主要イメージファイルシステムと前記２次イメージファイルシステムとの両方は、前記ブートプログラムがフルブートコピーを行うとき、前記読取り専用メモリから前記ランダムアクセスメモリにコピーされ、該主要イメージファイルシステムおよび該２次イメージファイルシステムのうち該主要イメージファイルシステムのみが、該ブートプログラムが高速ブートコピーを行うとき、該読取り専用メモリから該ランダムアクセスメモリにコピーされる、請求項９に記載の処理システム。
【請求項１１】
前記オペレーティングシステムイメージファイルは、
カーネルプログラムと、
周辺ドライバと動的リンクライブラリとシステムアプリケーションとを含むグループから選択される、さらなるプログラムと
を含む、請求項１に記載の処理システム。
【請求項１２】
前記さらなるプログラムおよび前記カーネルプログラムは、前記スタートアッププログラムがフルブートコピーを行うとき、前記読取り専用メモリから前記ランダムアクセスメモリにコピーされ、該スタートアッププログラムは、該さらなるプログラムを該読取り専用メモリから該ランダムアクセスメモリにコピーすることなく、該カーネルプログラムの少なくとも一部を該読取り専用メモリから該ランダムアクセスメモリにコピーすることによって、高速ブートコピーを行う、請求項１１に記載の処理システム。
【請求項１３】
処理システムであって、該システムは、
プロセッサと、
該プロセッサによってアクセス可能なオペレーティングシステムイメージファイルを格納する読取り専用メモリと、
該プロセッサによってアクセス可能なランダムアクセスメモリと、
該プロセッサのリセットベクトルに対応する読取り専用メモリ内の開始位置に格納された初期プログラムローダであって、該初期プログラムローダは、該読取り専用メモリから該プロセッサによって実行可能である、初期プログラムローダと、
該初期プログラムローダによって該ランダムアクセスメモリにロードされ、該プロセッサによって実行可能な、スタートアッププログラムと
を備え、
該初期プログラムローダまたは該スタートアッププログラムのいずれかが、該読取り専用メモリから該ランダムアクセスメモリへの該オペレーティングシステムイメージファイルのフルブートコピーか、または該読取り専用メモリから該ランダムアクセスメモリへの該オペレーティングシステムイメージファイルの所定部分のみの高速ブートコピーを選択的に行う、処理システム。
【請求項１４】
前記ランダムアクセスメモリは、動的ランダムアクセスメモリを含む、請求項１２に記載の処理システム。
【請求項１５】
前記ランダムアクセスメモリは、動的ランダムアクセスメモリを含み、前記処理システムは、パワーダウンイベントに応答して低電力モードに入るように該システムに命令するパワーコントローラをさらに含み、該低電力モードにおいて、該動的ランダムアクセスメモリは自己リフレッシュモードにあり、該プロセッサはオフである、請求項１２に記載の処理システム。
【請求項１６】
前記パワーコントローラは、ウェークアップイベントに応答して、前記低電力モードを退出し、前記プロセッサをリセットするように、前記システムに命令し、前記初期プログラムローダまたは前記スタートアッププログラムのいずれかは、該システムが該低電力モードを退出するとき、前記動的ランダムアクセスメモリのコンテンツの少なくとも部分的なチェックを行い、該初期プログラムローダまたは該スタートアッププログラムのいずれかは、該チェックの結果を用いて、フルブートコピーオペレーションまたは高速ブートコピーオペレーションのどちらが実行されるかを決定する、請求項１５に記載の処理システム。
【請求項１７】
前記初期プログラムローダ、または前記スタートアッププログラムのいずれかは、前記フルブートコピーオペレーションまたは前記高速ブートコピーオペレーションのどちらが実行されるかを選択するために、前記ランダムアクセスメモリのコンテンツの少なくとも部分的なチェックを行う、請求項１２に記載の処理システム。
【請求項１８】
前記フルブートコピーオペレーションは、前記処理システムの初期パワーアップに応答して実行される、請求項１２に記載の処理システム。
【請求項１９】
前記高速ブートコピーオペレーションは、前記処理システムに低電力モードを退出するように命令する、ウェークアップイベントに応答して実行される、請求項１２に記載の処理システム。
【請求項２０】
前記ランダムアクセスメモリは、動的ランダムアクセスメモリを含み、前記プロセッサは、前記低電力モードではオフであり、該動的ランダムアクセスメモリは、該低電力モードでは自己リフレッシュモードにある、請求項１９に記載の処理システム。
【請求項２１】
前記初期プログラムローダまたは前記スタートアッププログラムのいずれかは、前記ランダムアクセスメモリのコンテンツの少なくとも部分的なチェックを行い、前記フルブートコピーオペレーションは、該チェックの失敗に応答して実行される、請求項１９に記載の処理システム。
【請求項２２】
前記初期プログラムローダまたは前記スタートアッププログラムのいずれかは、前記ランダムアクセスメモリのコンテントの少なくとも一部分にチェックサムオペレーションを行い、前記フルブートコピーオペレーションまたは前記高速ブートコピーオペレーションのどちらが実行されるかを選択する、請求項１２に記載の処理システム。
【請求項２３】
前記チェックサムオペレーションは、前記ランダムアクセスメモリに格納されたデータのデータ構造上で行われる、請求項２２に記載の処理システム。
【請求項２４】
前記オペレーティングシステムイメージファイルは、主要イメージファイルシステムと２次イメージファイルシステムとを含む少なくとも２つのイメージファイルシステムを含む、請求項１２に記載の処理システム。
【請求項２５】
前記主要イメージファイルシステムと前記２次イメージファイルシステムとの両方は、前記スタートアッププログラムがフルブートコピーを行うとき、前記読取り専用メモリから前記ランダムアクセスメモリにコピーされ、該主要イメージファイルシステムおよび２次イメージファイルシステムのうち該主要イメージファイルシステムのみが、該スタートアッププログラムが高速ブートコピーを行うとき、該読取り専用メモリから該ランダムアクセスメモリにコピーされる、請求項２４に記載の処理システム。
【請求項２６】
前記オペレーティングシステムイメージファイルは、
カーネルプログラムと、
周辺ドライバと動的リンクライブラリとシステムアプリケーションとを含むグループから選択される、さらなるプログラムと
を含む、請求項１２に記載の処理システム。
【請求項２７】
前記さらなるプログラムおよび前記カーネルプログラムは、前記スタートアッププログラムがフルブートコピーを行うとき、前記読取り専用メモリから前記ランダムアクセスメモリにコピーされ、該スタートアッププログラムは、該さらなるプログラムを該読取り専用メモリから該ランダムアクセスメモリにコピーすることなく、該カーネルプログラムの少なくとも一部を該読取り専用メモリから該ランダムアクセスメモリにコピーすることによって、高速ブートコピーを行う、請求項２６に記載の処理システム。
【請求項２８】
処理システムであって、該システムは、
プロセッサと、
該プロセッサによってアクセス可能なオペレーティングシステムイメージファイルを格納する読取り専用メモリと、
該プロセッサによってアクセス可能な動的ランダムアクセスメモリと、
パワーダウンイベントに応答して、低電力モードに入るように該システムに命令するパワーコントローラであって、該低電力モードにおいて、該動的ランダムアクセスメモリは、自己リフレッシュモードにあり、該プロセッサはパワーオフであり、該パワーコントローラは、さらにウェークアップイベントに応答して、該低電力モードを退出し、該プロセッサをリセットするように、該システムに命令する、パワーコントローラと、
該処理システムを初期化するために該プロセッサによって実行可能なブートプログラムであって、該ブートプログラムは、該システムの初期パワーアップに応答して、該読取り専用メモリから前記動的ランダムアクセスメモリに、該オペレーティングシステムイメージファイルのフルブートコピーを行い、該ブートプログラムは、該システムが１つ以上の所定状態に応答して該低電力モードを退出するとき、該読取り専用メモリから該ランダムアクセスメモリに、該オペレーティングシステムイメージファイルの所定部分のみの高速ブートコピーを行う、ブートプログラムと
を備える、処理システム。
【請求項２９】
前記ブートプログラムは、前記システムが前記低電力モードを退出するとき、前記動的ランダムアクセスメモリのコンテンツの少なくとも部分的なチェックを行い、該ブートプログラムは、該チェックの結果を前記１つ以上の所定状態として用いる、請求項２８に記載の処理システム。
【請求項３０】
前記チェックサムオペレーションは、前記動的ランダムアクセスメモリ内に格納されるデータのデータ構造上で行われる、請求項２９に記載の処理システム。
【請求項３１】
前記オペレーティングシステムイメージファイルは、主要イメージファイルシステムと２次イメージファイルシステムとを含む少なくとも２つのイメージファイルシステムを含む、請求項２８に記載の処理システム。
【請求項３２】
前記主要イメージファイルシステムと前記２次イメージファイルシステムとの両方は、前記ブートプログラムが前記フルブートコピーを行うとき、前記読取り専用メモリから前記動的ランダムアクセスメモリにコピーされ、該主要イメージファイルシステムおよび該２次イメージファイルシステムのうち該主要イメージファイルシステムのみが、該ブートプログラムが前記高速ブートコピーを行うとき、該読取り専用メモリから該ランダムアクセスメモリにコピーされる、請求項３１に記載の処理システム。
【請求項３３】
前記オペレーティングシステムイメージファイルは、
カーネルプログラムと、
周辺ドライバと動的リンクライブラリとシステムアプリケーションとを含むグループから選択される、さらなるプログラムと
を含む、請求項２８に記載の処理システム。
【請求項３４】
前記さらなるプログラムおよび前記カーネルプログラムは、前記スタートアッププログラムがフルブートコピーを行うとき、前記読取り専用メモリから前記ランダムアクセスメモリにコピーされ、該スタートアッププログラムは、該さらなるプログラムを該読取り専用メモリから該ランダムアクセスメモリにコピーすることなく、該カーネルプログラムの少なくとも一部を該読取り専用メモリから該ランダムアクセスメモリにコピーすることによって、高速ブートコピーを行う、請求項３３に記載の処理システム。
【請求項３５】
プロセッサと、ランダムアクセスメモリと、オペレーティングシステムイメージファイルを有する読取り専用メモリとを含む処理システムを動作する方法であって、該方法は、
該プロセッサと、該ランダムアクセスメモリと、該読取り専用メモリとにパワーを提供することと、
該プロセッサをリセットすることと、
該読取り専用メモリから該ランダムアクセスメモリに該オペレーティングシステムイメージファイルのフルブートコピーを行うことと、
該ランダムアクセスメモリから該オペレーションシステムのプログラムを実行することと、
低電力モードに入ることによってパワーダウンイベントに応答することであって、該低電力モードにおいて、該ランダムアクセスメモリは自己リフレッシュモードにあり、該プロセッサはパワーオフである、ことと、
該低電力モードを退出し、該プロセッサをリセットすることによってウェークアップイベントに応答することと、
該低電力モードを退出すると直ぐに、該読取り専用メモリから該ランダムアクセスメモリに該オペレーティングシステムイメージファイルの所定部分のみの高速ブートコピーを行うことと
を包含する、方法。
【請求項３６】
前記低電力モードを退出すると直ぐに、前記ランダムアクセスメモリに格納されるデータの少なくとも部分的なチェックを行うことと、
データの該部分的なチェックの失敗に応答してフルブートコピーオペレーションを行うことと
をさらに包含する、請求項３５に記載の方法。
【請求項３７】
プロセッサと、ランダムアクセスメモリと、オペレーティングシステムイメージファイルを有する読取り専用メモリとを含む処理システムを動作する方法であって、該方法は、
該プロセッサをリセットすることと、
第１の所定状態に応答して、該読取り専用メモリから該ランダムアクセスメモリに該オペレーティングシステムイメージファイルのフルブートコピーを実行することと、
第２の所定状態に応答して、該読取り専用メモリから該ランダムアクセスメモリに該オペレーティングシステムイメージファイルの所定部分のみの高速ブートコピーを実行することと
を包含する、方法。
【請求項３８】
前記第１の所定状態は、前記システムの初期パワーオンを含む、請求項３７に記載の方法。
【請求項３９】
前記第２の所定状態は、ウェークアップイベントの発生を含み、該ウェークアップイベントにおいて、前記システムは、前記プロセッサがパワーダウンし、前記ランダムアクセスメモリが自己リフレッシュモードにあった低電力モードを退出する、請求項３７に記載の方法。
【請求項４０】
前記第２の所定状態は、ウェークアップイベントの発生を含み、該ウェークアップイベントにおいて、前記システムは、前記プロセッサがパワーダウンし、前記ランダムアクセスメモリが自己リフレッシュモードにあった低電力モードを退出する、請求項３８に記載の方法。
【請求項４１】
読取り専用メモリストレージであって、該ストレージは、
プロセッサのリセットベクトルに対応する開始位置に格納された初期プログラムローダであって、該初期プログラムローダは、該プロセッサによって実行可能である、初期プログラムローダと、
オペレーティングシステムイメージファイルと、
該初期プログラムローダによってシステムのランダムアクセスメモリにロード可能なスタートアッププログラムであって、該スタートアッププログラムは、該読取り専用メモリから該ランダムアクセスメモリへの該オペレーティングシステムイメージファイルのフルブートコピーか、または該読取り専用メモリから該ランダムアクセスメモリへの該オペレーティングシステムイメージファイルの所定位置のみの高速ブートコピーのいずれかを選択的に行うコードを含む、スタートアッププログラムと
を備える、メモリストレージ。
【請求項４２】
前記スタートアッププログラムコードは、前記プロセッサによって実行可能であり、前記ランダムアクセスメモリ内に格納されるデータの少なくとも部分的なチェックを行い、該チェックは、前記スタートアッププログラムがフルブートコピーオペレーションまたは高速ブートコピーオペレーションのどちらを行うかを選択するために用いられる、請求項４１に記載のメモリストレージ。
【請求項４３】
前記スタートアッププログラムコードは、前記プロセッサによって実行可能であり、前記ランダムアクセスメモリ内に格納される前記データの少なくとも一部にチェックサムオペレーションを行い、前記スタートアッププログラムがフルブートコピーオペレーションまたは高速ブートコピーオペレーションのどちらを行うかを選択する、請求項４１に記載のメモリストレージ。
【請求項４４】
前記チェックサムオペレーションは、前記ランダムアクセスメモリ内に格納されるデータの前記データ構造上で行われる、請求項４３に記載のメモリストレージ。
【請求項４５】
前記オペレーティングシステムイメージファイルは、主要イメージファイルシステムと２次イメージファイルシステムとを含む少なくとも２つのイメージファイルシステムを含む、請求項４１に記載のメモリストレージ。
【請求項４６】
前記主要イメージファイルシステムと前記２次イメージファイルシステムとの両方は、前記スタートアッププログラムがフルブートコピーを行うとき、前記読取り専用メモリから前記ランダムアクセスメモリにコピーされ、該主要イメージファイルシステムおよび該２次イメージファイルシステムのうち該主要イメージファイルシステムのみが、該スタートアッププログラムが高速ブートコピーを行うとき、該読取り専用メモリから該ランダムアクセスメモリにコピーされる、請求項４５に記載のメモリストレージ。
【請求項４７】
前記オペレーティングシステムイメージファイルは、
カーネルプログラムと、
周辺ドライバと動的リンクライブラリとシステムアプリケーションとを含むグループから選択される、さらなるプログラムと
を含む、請求項４１に記載のメモリストレージ。
【請求項４８】
前記さらなるプログラムおよび前記カーネルプログラムは、前記スタートアッププログラムがフルブートコピーを行うとき、前記読取り専用メモリから前記ランダムアクセスメモリにコピーされ、該スタートアッププログラムは、該さらなるプログラムを該読取り専用メモリから該ランダムアクセスメモリにコピーすることなく、該カーネルプログラムの少なくとも一部を該読取り専用メモリから該ランダムアクセスメモリにコピーすることによって、高速ブートコピーを行う、請求項４７に記載のメモリストレージ。
【請求項４９】
読取り専用メモリストレージであって、該メモリストレージは、
オペレーティングシステムイメージファイルと、
前記読取り専用メモリからランダムアクセスメモリへの該オペレーティングシステムイメージファイルのフルブートコピーか、または該読取り専用メモリから該ランダムアクセスメモリへの該オペレーティングシステムイメージファイルの所定位置のみの高速ブートコピーのいずれかを選択的に行うコードを含む、ブートプログラムと
を含む、メモリストレージ。
【請求項５０】
処理システムであって、該システムは、
プロセッサと、
該プロセッサによってアクセス可能なオペレーティングシステムイメージファイルを格納する読取り専用メモリと、
該プロセッサによってアクセス可能なランダムアクセスメモリと、
該プロセッサによって実行可能であり、フルブートイベントまたは高速ブートイベントに応答して該処理システムを初期化するブートプログラムと
を備え、該ブートプログラムは、該フルブートイベントに応答して該読取り専用メモリから該ランダムアクセスメモリへの該オペレーティングシステムイメージファイルのフルブートコピー、または該高速ブートイベントに応答して該読取り専用メモリから該ランダムアクセスメモリへの該オペレーティングシステムイメージファイルの所定部分のみの高速ブートコピーのいずれかを選択的に行う、処理システム。
【請求項５１】
前記フルブートイベントは、パワーオンイベントを含む、請求項５０に記載の処理システム。
【請求項５２】
前記高速ブートイベントは、前記システムがオペレーションの低電力モードを退出するウェークアップイベントを含む、請求項５０に記載の処理システム。
【請求項５３】
前記ブートプログラムは、
前記プロセッサのリセットベクトルに対応する読取り専用メモリ内の開始位置に格納された初期プログラムローダであって、該初期プログラムローダは、該読取り専用メモリから該プロセッサによって実行可能である、初期プログラムローダと、
該初期プログラムローダによって前記ランダムアクセスメモリにロードされるスタートアッププログラムであって、該スタートアッププログラムは、該プロセッサによって実行される、スタートアッププログラムと
を含む、請求項５０に記載の処理システム。
【請求項５４】
前記スタートアッププログラムは、前記フルブートコピーオペレーションおよび前記高速ブートコピーオペレーションを選択的に行う、請求項５３に記載の処理システム。
【請求項５５】
前記初期プログラムローダは、前記フルブートコピーオペレーションおよび前記高速ブートコピーオペレーションを選択的に行う、請求項５３に記載の処理システム。
【請求項５６】
前記ランダムアクセスメモリは、動的ランダムアクセスメモリを含む、請求項５０に記載の処理システム。
【請求項５７】
前記オペレーティングシステムイメージファイルは、主要イメージファイルシステムと２次イメージファイルシステムとを含む少なくとも２つ以上のイメージファイルシステムを含む、請求項５０に記載の処理システム。
【請求項５８】
前記主要イメージファイルシステムと前記２次イメージファイルシステムとの両方は、前記ブートプログラムがフルブートコピーを行うとき、前記読取り専用メモリから前記ランダムアクセスメモリにコピーされ、該主要イメージファイルシステムおよび該２次イメージファイルシステムのうち該主要イメージファイルシステムのみが、該ブートプログラムが高速ブートコピーを行うとき、該読取り専用メモリから該ランダムアクセスメモリにコピーされる、請求項５７に記載の処理システム。
【請求項５９】
前記オペレーティングシステムイメージファイルは、
カーネルプログラムと、
周辺ドライバと動的リンクライブラリとシステムアプリケーションとを含むグループから選択される、さらなるプログラムと
を含む、請求項５０に記載の処理システム。
【請求項６０】
前記さらなるプログラムおよび前記カーネルプログラムは、前記スタートアッププログラムがフルブートコピーを行うとき、前記読取り専用メモリから前記ランダムアクセスメモリにコピーされ、該スタートアッププログラムは、該さらなるプログラムを該読取り専用メモリから該ランダムアクセスメモリにコピーすることなく、該カーネルプログラムの少なくとも一部を該読取り専用メモリから該ランダムアクセスメモリにコピーすることによって、高速ブートコピーを行う、請求項５９に記載の処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、高速ブートウェークアップを実行する処理システムに関する。より詳細には、本発明は、システムブート時にイメージファイルシステムを選択的にコピーすることによって、高速ブートウェークアップ動作を実行し得る。
【背景技術】
【０００２】
（関連技術）
埋め込みシステムなどの処理システムは、消費者および商業アプリケーションの両方に広く使用される。自動車テレマティックスに関係するアプリケーションなど多くのアプリケーションは、処理システムの動作に対してかなりの制限を課す。システム消費電力に課された制限は、システムは低電力モードで動作することを要求し得る。システム応答時間の制限は、システムスタートアップ時間および／またはウェークアップ時間の最小化を要求し得る。
【０００３】
電力制限と応答時間制限が互いに適切にバランスを保つ処理システムを設計することは、しばしば困難である。システムが低電力モードになるたびに（電力制限によって要求されるように）、システムが種々のシステムイベントに応答する準備ができるまで、システムは、ウェークアップ動作を実行しなければならない。しかしながら、ウェークアップ動作の持続時間は、システムに課せられた応答時間制限の限度内にあるべきである。
【０００４】
プロセッサが低電力モード時に電源が切られた場合、ウェークアップ動作は処理システムの完全な再ブートを含む。完全な再ブートは、特に、イメージファイルシステムを採用する埋め込みシステムにおいて、相当な時間がかかり得る。そのような埋め込みシステムにおいて、イメージファイルシステムの完全なコピーは、読取り専用メモリからランダムアクセスメモリに転送され、そこで、完全なコピーはプロセッサによって使用される。イメージファイルシステムは、埋め込みシステムのためのオペレーティングシステム、埋め込みシステムにおいて使用される実行可能プログラム、および／またはプログラムに関係し得る任意のデータファイルを含み得る。その結果、転送を実行することは、多大な時間および処理電力であり、それらを要し得る。転送時、処理システムは、典型的には、システムが取り扱うように設計されたほとんどのイベントに応答しない。従って、システムの応答時間は、転送の持続時間によって影響される。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
高速システムリカバリがなされ得る低電力モードを有する処理システムを設計するために、試みがなされてきた。そのような試みのほとんどは、プロセッサをハイバネーションモードにすることを伴う。しかしながら、ハイバネーションモードにおいてでさえ、プロセッサは、システム電源に対して相当なドレーンを与え得、それによって、消費電力制限を超え得る。さらに、この種のシステムを適切にインプリメントするために、相当な量のプログラミングコードが必要とされ得る。従って、高速ブートウェークアップおよび低電力モードの両方が実現された改良システムが望ましい。さらに、その他のシステムイベントに応答する高速ブートウェークアップのある改良システムが望ましい。
【課題を解決するための手段】
【０００６】
（概要）
プロセッサ、プロセッサによってアクセス可能なオペレーティングシステムイメージファイルを格納する読取り専用メモリ、およびプロセッサによってこれもアクセス可能なランダムアクセスメモリを含む処理システムが提示される。処理システムは、また、例えば、パワーオンイベント、リセットイベント、またはウェークアップイベントに応答する処理システムをイニシャライズするためにプロセッサによって実行可能なブートプログラムを含む。パワーオンイベントは、電力が最初に処理システムに供給されるとき発生し、一方、ウェークアップイベントは、処理システムが動作の低電力モードを出るとき発生する。リセットイベントは、例えば、システムの再スタートの原因となる障害が検出されたとき発生する。ブートプログラムは、読取り専用メモリからランダムアクセスメモリへのオペレーティングシステムイメージファイルのフルブートコピー、または、読取り専用メモリからランダムアクセスメモリへのオペレーティングシステムイメージファイルの所定の部分のみへの高速ブートコピーを選択的に実行する。例えば、ブートプログラムは、パワーオンイベントに応答するフルブートコピー動作、およびウェークアップイベントおよび／またはリセットイベントに応答する高速ブートコピー動作を実行し得る。さらに、ブートプログラムは、高速ブートコピー動作の実行を次の例証に限定し得る。該例証において、ランダムアクセスメモリは、前のフルブートコピーの動作時、読取り専用メモリからコピーされたオペレーティングシステムの選択された部分を含む一つ以上の領域のコンテンツの完全性チェックをパスさせる。
【０００７】
一例において、ブートプログラムは、プロセッサのリセットベクトルに対応する読取り専用メモリにおける開始位置に格納される初期プログラムローダを含む。初期プログラムローダは、この開始位置において開始する読取り専用メモリからプロセッサによって実行可能である。ブートプログラムは、また、初期プログラムローダによってランダムアクセスメモリにロードされるスタートアッププログラムを含み、スタートアッププログラムは、プロセッサによって実行される。
【０００８】
本発明のその他のシステム、方法、特徴および利点は、以下の図および詳細な説明の検討によって当業者にとって明らかであり、または明らかとなる。そのような追加のシステム、方法、特徴および利点のすべては、本詳細な説明の中に含まれ、本発明の範囲内にあり、以下の特許請求の範囲によって保護されることが意図される。
【０００９】
本発明は、さらに以下の手段を提供する。
（項目１）  
処理システムであって、該システムは、
プロセッサと、
該プロセッサによってアクセス可能なオペレーティングシステムイメージファイルを格納する読取り専用メモリと、
該プロセッサによってアクセス可能なランダムアクセスメモリと、
該プロセッサによって実行可能なブートプログラムであって、パワーが最初に処理システムに提供されるときに起こるパワーオンイベント、または該処理システムが低電力モードから退出するときに起こるウェークアップイベントに応答して処理システムを初期化するための、ブートプログラムと
を備え、該ブートプログラムは、該読取り専用メモリから該ランダムアクセスメモリへの該オペレーティングシステムイメージファイルのフルブートコピーか、または該読取り専用メモリから該ランダムアクセスメモリへの該オペレーティングシステムイメージファイルの所定部分のみの高速ブートコピーを選択的に行う、処理システム。
（項目２）  
上記ブートプログラムは、上記パワーオンイベントに応答して上記フルブートコピーオペレーションを実行する、項目１に記載の処理システム。
（項目３）  
上記ブートプログラムは、上記ウェークアップイベントに応答して上記高速ブートコピーオペレーションを実行する、項目１に記載の処理システム。
（項目４）  
上記ブートプログラムは、先のフルブートコピーオペレーションの間に上記読取り専用メモリからコピーされた上記オペレーションシステムの選択部分を含む上記ランダムアクセスメモリの１つ以上の領域のコンテンツのインテグリティチェックを行った後に、上記高速ブートコピーオペレーションを実行する、項目３に記載の処理システム。
（項目５）  
上記ブートプログラムは、
上記プロセッサのリセットベクトルに対応する読取り専用メモリ内の開始位置に格納された初期プログラムローダであって、該初期プログラムローダは、該読取り専用メモリから該プロセッサによって実行可能である、初期プログラムローダと、
該初期プログラムローダによって上記ランダムアクセスメモリにロードされ、該プロセッサによって実行される、スタートアッププログラムと
を含む、項目１に記載の処理システム。
（項目６）  
上記スタートアッププログラムは、上記フルブートコピーオペレーションと上記高速ブートコピーオペレーションとを選択的に行う、項目５に記載の処理システム。
（項目７）  
上記初期プログラムローダは、上記フルブートコピーオペレーションと上記高速ブートコピーオペレーションとを選択的に行う、項目５に記載の処理システム。
（項目８）  
上記ランダムアクセスメモリは、動的ランダムアクセスメモリを含む、項目１に記載の処理システム。
（項目９）  
上記オペレーティングシステムイメージファイルは、主要イメージファイルシステムと２次イメージファイルシステムとを含む少なくとも２つ以上のイメージファイルシステムを含む、項目１に記載の処理システム。
（項目１０）  
上記主要イメージファイルシステムと上記２次イメージファイルシステムとの両方は、上記ブートプログラムがフルブートコピーを行うとき、上記読取り専用メモリから上記ランダムアクセスメモリにコピーされ、該主要イメージファイルシステムおよび該２次イメージファイルシステムのうち該主要イメージファイルシステムのみが、該ブートプログラムが高速ブートコピーを行うとき、該読取り専用メモリから該ランダムアクセスメモリにコピーされる、項目９に記載の処理システム。
（項目１１）
上記オペレーティングシステムイメージファイルは、
カーネルプログラムと、
周辺ドライバと動的リンクライブラリとシステムアプリケーションとを含むグループから選択される、さらなるプログラムと
を含む、項目１に記載の処理システム。
（項目１２）
上記さらなるプログラムおよび上記カーネルプログラムは、上記スタートアッププログラムがフルブートコピーを行うとき、上記読取り専用メモリから上記ランダムアクセスメモリにコピーされ、該スタートアッププログラムは、該さらなるプログラムを該読取り専用メモリから該ランダムアクセスメモリにコピーすることなく、該カーネルプログラムの少なくとも一部を該読取り専用メモリから該ランダムアクセスメモリにコピーすることによって、高速ブートコピーを行う、項目１１に記載の処理システム。
（項目１３）
処理システムであって、該システムは、
プロセッサと、
該プロセッサによってアクセス可能なオペレーティングシステムイメージファイルを格納する読取り専用メモリと、
該プロセッサによってアクセス可能なランダムアクセスメモリと、
該プロセッサのリセットベクトルに対応する読取り専用メモリ内の開始位置に格納された初期プログラムローダであって、該初期プログラムローダは、該読取り専用メモリから該プロセッサによって実行可能である、初期プログラムローダと、
該初期プログラムローダによって該ランダムアクセスメモリにロードされ、該プロセッサによって実行可能な、スタートアッププログラムと
を備え、
該初期プログラムローダまたは該スタートアッププログラムのいずれかが、該読取り専用メモリから該ランダムアクセスメモリへの該オペレーティングシステムイメージファイルのフルブートコピーか、または該読取り専用メモリから該ランダムアクセスメモリへの該オペレーティングシステムイメージファイルの所定部分のみの高速ブートコピーを選択的に行う、処理システム。
（項目１４）
上記ランダムアクセスメモリは、動的ランダムアクセスメモリを含む、項目１２に記載の処理システム。
（項目１５）
上記ランダムアクセスメモリは、動的ランダムアクセスメモリを含み、上記処理システムは、パワーダウンイベントに応答して低電力モードに入るように該システムに命令するパワーコントローラをさらに含み、該低電力モードにおいて、該動的ランダムアクセスメモリは自己リフレッシュモードにあり、該プロセッサはオフである、項目１２に記載の処理システム。
（項目１６）
上記パワーコントローラは、ウェークアップイベントに応答して、上記低電力モードを退出し、上記プロセッサをリセットするように、上記システムに命令し、上記初期プログラムローダまたは上記スタートアッププログラムのいずれかは、該システムが該低電力モードを退出するとき、上記動的ランダムアクセスメモリのコンテンツの少なくとも部分的なチェックを行い、該初期プログラムローダまたは該スタートアッププログラムのいずれかは、該チェックの結果を用いて、フルブートコピーオペレーションまたは高速ブートコピーオペレーションのどちらが実行されるかを決定する、項目１５に記載の処理システム。
（項目１７）
上記初期プログラムローダ、または上記スタートアッププログラムのいずれかは、上記フルブートコピーオペレーションまたは上記高速ブートコピーオペレーションのどちらが実行されるかを選択するために、上記ランダムアクセスメモリのコンテンツの少なくとも部分的なチェックを行う、項目１２に記載の処理システム。
（項目１８）
上記フルブートコピーオペレーションは、上記処理システムの初期パワーアップに応答して実行される、項目１２に記載の処理システム。
（項目１９）
上記高速ブートコピーオペレーションは、上記処理システムに低電力モードを退出するように命令する、ウェークアップイベントに応答して実行される、項目１２に記載の処理システム。
（項目２０）
上記ランダムアクセスメモリは、動的ランダムアクセスメモリを含み、上記プロセッサは、上記低電力モードではオフであり、該動的ランダムアクセスメモリは、該低電力モードでは自己リフレッシュモードにある、項目１９に記載の処理システム。
（項目２１）
上記初期プログラムローダまたは上記スタートアッププログラムのいずれかは、上記ランダムアクセスメモリのコンテンツの少なくとも部分的なチェックを行い、上記フルブートコピーオペレーションは、該チェックの失敗に応答して実行される、項目１９に記載の処理システム。
（項目２２）
上記初期プログラムローダまたは上記スタートアッププログラムのいずれかは、上記ランダムアクセスメモリのコンテントの少なくとも一部分にチェックサムオペレーションを行い、上記フルブートコピーオペレーションまたは上記高速ブートコピーオペレーションのどちらが実行されるかを選択する、項目１２に記載の処理システム。
（項目２３）
上記チェックサムオペレーションは、上記ランダムアクセスメモリに格納されたデータのデータ構造上で行われる、項目２２に記載の処理システム。
（項目２４）
上記オペレーティングシステムイメージファイルは、主要イメージファイルシステムと２次イメージファイルシステムとを含む少なくとも２つのイメージファイルシステムを含む、項目１２に記載の処理システム。
（項目２５）
上記主要イメージファイルシステムと上記２次イメージファイルシステムとの両方は、上記スタートアッププログラムがフルブートコピーを行うとき、上記読取り専用メモリから上記ランダムアクセスメモリにコピーされ、該主要イメージファイルシステムおよび２次イメージファイルシステムのうち該主要イメージファイルシステムのみが、該スタートアッププログラムが高速ブートコピーを行うとき、該読取り専用メモリから該ランダムアクセスメモリにコピーされる、項目２４に記載の処理システム。
（項目２６）
上記オペレーティングシステムイメージファイルは、
カーネルプログラムと、
周辺ドライバと動的リンクライブラリとシステムアプリケーションとを含むグループから選択される、さらなるプログラムと
を含む、項目１２に記載の処理システム。
（項目２７）
上記さらなるプログラムおよび上記カーネルプログラムは、上記スタートアッププログラムがフルブートコピーを行うとき、上記読取り専用メモリから上記ランダムアクセスメモリにコピーされ、該スタートアッププログラムは、該さらなるプログラムを該読取り専用メモリから該ランダムアクセスメモリにコピーすることなく、該カーネルプログラムの少なくとも一部を該読取り専用メモリから該ランダムアクセスメモリにコピーすることによって、高速ブートコピーを行う、項目２６に記載の処理システム。
（項目２８）
処理システムであって、該システムは、
プロセッサと、
該プロセッサによってアクセス可能なオペレーティングシステムイメージファイルを格納する読取り専用メモリと、
該プロセッサによってアクセス可能な動的ランダムアクセスメモリと、
パワーダウンイベントに応答して、低電力モードに入るように該システムに命令するパワーコントローラであって、該低電力モードにおいて、該動的ランダムアクセスメモリは、自己リフレッシュモードにあり、該プロセッサはパワーオフであり、該パワーコントローラは、さらにウェークアップイベントに応答して、該低電力モードを退出し、該プロセッサをリセットするように、該システムに命令する、パワーコントローラと、
該処理システムを初期化するために該プロセッサによって実行可能なブートプログラムであって、該ブートプログラムは、該システムの初期パワーアップに応答して、該読取り専用メモリから上記動的ランダムアクセスメモリに、該オペレーティングシステムイメージファイルのフルブートコピーを行い、該ブートプログラムは、該システムが１つ以上の所定状態に応答して該低電力モードを退出するとき、該読取り専用メモリから該ランダムアクセスメモリに、該オペレーティングシステムイメージファイルの所定部分のみの高速ブートコピーを行う、ブートプログラムと
を備える、処理システム。
（項目２９）
上記ブートプログラムは、上記システムが上記低電力モードを退出するとき、上記動的ランダムアクセスメモリのコンテンツの少なくとも部分的なチェックを行い、該ブートプログラムは、該チェックの結果を上記１つ以上の所定状態として用いる、項目２８に記載の処理システム。
（項目３０）
上記チェックサムオペレーションは、上記動的ランダムアクセスメモリ内に格納されるデータのデータ構造上で行われる、項目２９に記載の処理システム。
（項目３１）
上記オペレーティングシステムイメージファイルは、主要イメージファイルシステムと２次イメージファイルシステムとを含む少なくとも２つのイメージファイルシステムを含む、項目２８に記載の処理システム。
（項目３２）
上記主要イメージファイルシステムと上記２次イメージファイルシステムとの両方は、上記ブートプログラムが上記フルブートコピーを行うとき、上記読取り専用メモリから上記動的ランダムアクセスメモリにコピーされ、該主要イメージファイルシステムおよび該２次イメージファイルシステムのうち該主要イメージファイルシステムのみが、該ブートプログラムが上記高速ブートコピーを行うとき、該読取り専用メモリから該ランダムアクセスメモリにコピーされる、項目３１に記載の処理システム。
（項目３３）
上記オペレーティングシステムイメージファイルは、
カーネルプログラムと、
周辺ドライバと動的リンクライブラリとシステムアプリケーションとを含むグループから選択される、さらなるプログラムと
を含む、項目２８に記載の処理システム。
（項目３４）
上記さらなるプログラムおよび上記カーネルプログラムは、上記スタートアッププログラムがフルブートコピーを行うとき、上記読取り専用メモリから上記ランダムアクセスメモリにコピーされ、該スタートアッププログラムは、該さらなるプログラムを該読取り専用メモリから該ランダムアクセスメモリにコピーすることなく、該カーネルプログラムの少なくとも一部を該読取り専用メモリから該ランダムアクセスメモリにコピーすることによって、高速ブートコピーを行う、項目３３に記載の処理システム。
（項目３５）
プロセッサと、ランダムアクセスメモリと、オペレーティングシステムイメージファイルを有する読取り専用メモリとを含む処理システムを動作する方法であって、該方法は、
該プロセッサと、該ランダムアクセスメモリと、該読取り専用メモリとにパワーを提供することと、
該プロセッサをリセットすることと、
該読取り専用メモリから該ランダムアクセスメモリに該オペレーティングシステムイメージファイルのフルブートコピーを行うことと、
該ランダムアクセスメモリから該オペレーションシステムのプログラムを実行することと、
低電力モードに入ることによってパワーダウンイベントに応答することであって、該低電力モードにおいて、該ランダムアクセスメモリは自己リフレッシュモードにあり、該プロセッサはパワーオフである、ことと、
該低電力モードを退出し、該プロセッサをリセットすることによってウェークアップイベントに応答することと、
該低電力モードを退出すると直ぐに、該読取り専用メモリから該ランダムアクセスメモリに該オペレーティングシステムイメージファイルの所定部分のみの高速ブートコピーを行うことと
を包含する、方法。
（項目３６）
上記低電力モードを退出すると直ぐに、上記ランダムアクセスメモリに格納されるデータの少なくとも部分的なチェックを行うことと、
データの該部分的なチェックの失敗に応答してフルブートコピーオペレーションを行うことと
をさらに包含する、項目３５に記載の方法。
（項目３７）
プロセッサと、ランダムアクセスメモリと、オペレーティングシステムイメージファイルを有する読取り専用メモリとを含む処理システムを動作する方法であって、該方法は、
該プロセッサをリセットすることと、
第１の所定状態に応答して、該読取り専用メモリから該ランダムアクセスメモリに該オペレーティングシステムイメージファイルのフルブートコピーを実行することと、
第２の所定状態に応答して、該読取り専用メモリから該ランダムアクセスメモリに該オペレーティングシステムイメージファイルの所定部分のみの高速ブートコピーを実行することと
を包含する、方法。
（項目３８）
上記第１の所定状態は、上記システムの初期パワーオンを含む、項目３７に記載の方法。
（項目３９）
上記第２の所定状態は、ウェークアップイベントの発生を含み、該ウェークアップイベントにおいて、上記システムは、上記プロセッサがパワーダウンし、上記ランダムアクセスメモリが自己リフレッシュモードにあった低電力モードを退出する、項目３７に記載の方法。
（項目４０）
上記第２の所定状態は、ウェークアップイベントの発生を含み、該ウェークアップイベントにおいて、上記システムは、上記プロセッサがパワーダウンし、上記ランダムアクセスメモリが自己リフレッシュモードにあった低電力モードを退出する、項目３８に記載の方法。
（項目４１）
読取り専用メモリストレージであって、該ストレージは、
プロセッサのリセットベクトルに対応する開始位置に格納された初期プログラムローダであって、該初期プログラムローダは、該プロセッサによって実行可能である、初期プログラムローダと、
オペレーティングシステムイメージファイルと、
該初期プログラムローダによってシステムのランダムアクセスメモリにロード可能なスタートアッププログラムであって、該スタートアッププログラムは、該読取り専用メモリから該ランダムアクセスメモリへの該オペレーティングシステムイメージファイルのフルブートコピーか、または該読取り専用メモリから該ランダムアクセスメモリへの該オペレーティングシステムイメージファイルの所定位置のみの高速ブートコピーのいずれかを選択的に行うコードを含む、スタートアッププログラムと
を備える、メモリストレージ。
（項目４２）
上記スタートアッププログラムコードは、上記プロセッサによって実行可能であり、上記ランダムアクセスメモリ内に格納されるデータの少なくとも部分的なチェックを行い、該チェックは、上記スタートアッププログラムがフルブートコピーオペレーションまたは高速ブートコピーオペレーションのどちらを行うかを選択するために用いられる、項目４１に記載のメモリストレージ。
（項目４３）
上記スタートアッププログラムコードは、上記プロセッサによって実行可能であり、上記ランダムアクセスメモリ内に格納される上記データの少なくとも一部にチェックサムオペレーションを行い、上記スタートアッププログラムがフルブートコピーオペレーションまたは高速ブートコピーオペレーションのどちらを行うかを選択する、項目４１に記載のメモリストレージ。
（項目４４）
上記チェックサムオペレーションは、上記ランダムアクセスメモリ内に格納されるデータの上記データ構造上で行われる、項目４３に記載のメモリストレージ。
（項目４５）
上記オペレーティングシステムイメージファイルは、主要イメージファイルシステムと２次イメージファイルシステムとを含む少なくとも２つのイメージファイルシステムを含む、項目４１に記載のメモリストレージ。
（項目４６）
上記主要イメージファイルシステムと上記２次イメージファイルシステムとの両方は、上記スタートアッププログラムがフルブートコピーを行うとき、上記読取り専用メモリから上記ランダムアクセスメモリにコピーされ、該主要イメージファイルシステムおよび該２次イメージファイルシステムのうち該主要イメージファイルシステムのみが、該スタートアッププログラムが高速ブートコピーを行うとき、該読取り専用メモリから該ランダムアクセスメモリにコピーされる、項目４５に記載のメモリストレージ。
（項目４７）
上記オペレーティングシステムイメージファイルは、
カーネルプログラムと、
周辺ドライバと動的リンクライブラリとシステムアプリケーションとを含むグループから選択される、さらなるプログラムと
を含む、項目４１に記載のメモリストレージ。
（項目４８）
上記さらなるプログラムおよび上記カーネルプログラムは、上記スタートアッププログラムがフルブートコピーを行うとき、上記読取り専用メモリから上記ランダムアクセスメモリにコピーされ、該スタートアッププログラムは、該さらなるプログラムを該読取り専用メモリから該ランダムアクセスメモリにコピーすることなく、該カーネルプログラムの少なくとも一部を該読取り専用メモリから該ランダムアクセスメモリにコピーすることによって、高速ブートコピーを行う、項目４７に記載のメモリストレージ。
（項目４９）
読取り専用メモリストレージであって、該メモリストレージは、
オペレーティングシステムイメージファイルと、
上記読取り専用メモリからランダムアクセスメモリへの該オペレーティングシステムイメージファイルのフルブートコピーか、または該読取り専用メモリから該ランダムアクセスメモリへの該オペレーティングシステムイメージファイルの所定位置のみの高速ブートコピーのいずれかを選択的に行うコードを含む、ブートプログラムと
を含む、メモリストレージ。
（項目５０）
処理システムであって、該システムは、
プロセッサと、
該プロセッサによってアクセス可能なオペレーティングシステムイメージファイルを格納する読取り専用メモリと、
該プロセッサによってアクセス可能なランダムアクセスメモリと、
該プロセッサによって実行可能であり、フルブートイベントまたは高速ブートイベントに応答して該処理システムを初期化するブートプログラムと
を備え、該ブートプログラムは、該フルブートイベントに応答して該読取り専用メモリから該ランダムアクセスメモリへの該オペレーティングシステムイメージファイルのフルブートコピー、または該高速ブートイベントに応答して該読取り専用メモリから該ランダムアクセスメモリへの該オペレーティングシステムイメージファイルの所定部分のみの高速ブートコピーのいずれかを選択的に行う、処理システム。
（項目５１）
上記フルブートイベントは、パワーオンイベントを含む、項目５０に記載の処理システム。
（項目５２）
上記高速ブートイベントは、上記システムがオペレーションの低電力モードを退出するウェークアップイベントを含む、項目５０に記載の処理システム。
（項目５３）
上記ブートプログラムは、
上記プロセッサのリセットベクトルに対応する読取り専用メモリ内の開始位置に格納された初期プログラムローダであって、該初期プログラムローダは、該読取り専用メモリから該プロセッサによって実行可能である、初期プログラムローダと、
該初期プログラムローダによって上記ランダムアクセスメモリにロードされるスタートアッププログラムであって、該スタートアッププログラムは、該プロセッサによって実行される、スタートアッププログラムと
を含む、項目５０に記載の処理システム。
（項目５４）
上記スタートアッププログラムは、上記フルブートコピーオペレーションおよび上記高速ブートコピーオペレーションを選択的に行う、項目５３に記載の処理システム。
（項目５５）
上記初期プログラムローダは、上記フルブートコピーオペレーションおよび上記高速ブートコピーオペレーションを選択的に行う、項目５３に記載の処理システム。
（項目５６）
上記ランダムアクセスメモリは、動的ランダムアクセスメモリを含む、項目５０に記載の処理システム。
（項目５７）
上記オペレーティングシステムイメージファイルは、主要イメージファイルシステムと２次イメージファイルシステムとを含む少なくとも２つ以上のイメージファイルシステムを含む、項目５０に記載の処理システム。
（項目５８）
上記主要イメージファイルシステムと上記２次イメージファイルシステムとの両方は、上記ブートプログラムがフルブートコピーを行うとき、上記読取り専用メモリから上記ランダムアクセスメモリにコピーされ、該主要イメージファイルシステムおよび該２次イメージファイルシステムのうち該主要イメージファイルシステムのみが、該ブートプログラムが高速ブートコピーを行うとき、該読取り専用メモリから該ランダムアクセスメモリにコピーされる、項目５７に記載の処理システム。
（項目５９）
上記オペレーティングシステムイメージファイルは、
カーネルプログラムと、
周辺ドライバと動的リンクライブラリとシステムアプリケーションとを含むグループから選択される、さらなるプログラムと
を含む、項目５０に記載の処理システム。
（項目６０）
上記さらなるプログラムおよび上記カーネルプログラムは、上記スタートアッププログラムがフルブートコピーを行うとき、上記読取り専用メモリから上記ランダムアクセスメモリにコピーされ、該スタートアッププログラムは、該さらなるプログラムを該読取り専用メモリから該ランダムアクセスメモリにコピーすることなく、該カーネルプログラムの少なくとも一部を該読取り専用メモリから該ランダムアクセスメモリにコピーすることによって、高速ブートコピーを行う、項目５９に記載の処理システム。
【００１０】
（摘要）
プロセッサ、プロセッサによってアクセス可能なオペレーティングシステムイメージファイルを格納する読取り専用メモリ、およびこれもプロセッサによってアクセス可能なランダムアクセスメモリを含む処理システムが提示される。処理システムは、また、例えば、パワーオンイベント、リセットイベント、またはウェークアップイベントに応答して処理システムをイニシャライズするためにプロセッサによって実行可能なブートプログラムを含み得る。パワーオンイベントは、電力が最初に処理システムに供給されるとき発生し、一方、ウェークアップイベントは、処理システムが動作の低電力モードから出るとき発生する。リセットイベントは、例えば、システムを再スタートさせる障害が検出されたとき発生する。ブートプログラムは、読取り専用メモリからランダムアクセスメモリへのオペレーティングシステムイメージファイルのフルブートコピー、または、読取り専用メモリからランダムアクセスメモリへのオペレーティングシステムイメージファイルの所定の部分のみの高速ブートコピーを選択的に実行する。例えば、ブートプログラムは、パワーオンイベントに応答するフルブートコピー動作、およびウェークアップイベントおよび／またはリセットイベントに応答する高速ブートコピー動作を実行し得る。さらに、ブートプログラムは、高速ブートコピー動作の実行を次の例証に限定し得る。該例証において、ランダムアクセスメモリは、前のフルブートコピーの動作時、読取り専用メモリからコピーされたオペレーティングシステムの選択された部分を含む一つ以上の領域のコンテンツの完全性チェックをパスさせる。
【発明を実施するための最良の形態】
【００１１】
（好適な実施形態の詳細な説明）
図１は、低電力モードから高速ブートウェークアップをインプリメントするために使用され得る例示的システムの基本コンポーネントのブロック図である。システム１００は、Ｉ／Ｏインタフェース１１０にアクセスし得るプロセッサ１０５、ランダムアクセスメモリ１１５、および読取り専用メモリ１２０を含む。Ｉ／Ｏインタフェース１１０は、プロセッサ１０５が一つ以上の周辺コンポーネントと相互作用することを可能にする。周辺コンポーネントは、Ｉ／Ｏインタフェース１１０のコンポーネントから分離、および／または統合され得る。ランダムアクセスメモリ１１５は、例えば、一つ以上のダイナミックランダムアクセスメモリ技術を使用するインプリメンテーションを含む種々の異なる方法でインプリメントされ得る。一実施形態において、メモリ１１５は、動作の自己リフレッシュモードに指向され得る一つ以上のダイナミックランダムアクセスメモリユニットを使用して実現される。同様に、読取り専用メモリ１２０は、例えば、一つ以上のフラッシュメモリ技術を使用するインプリメンテーションを含む種々の異なる方法でインプリメントされ得る。
【００１２】
プロセッサ１０５は、また、監視タイマー１２３を受信および制御するために接続され得る。監視タイマー１２３は、システム障害の場合、プロセッサ１０５をリセットするために使用され得る。例えば、プロセッサ１０５が一時的に不調のとき、プロセッサ１０５は、監視タイマー１２３との定期的な通信を中止する。定期的通信におけるこの中断は、例えば、一つ以上の信号ライン１３０を介して一つ以上のリセット信号をプロセッサ１０５に発行させる。
【００１３】
システム１００は、また、プロセッサ１０５から直接または間接のいずれかで、電力制御コマンドを受信し得るパワーコントローラ１２５を含む。さらに、または代わりに、パワーコントローラ１２５は、電力制御信号を、別の電源、周辺コンポーネント、スイッチ、または同様なものなどの外部ソースから受信し得る。パワーコントローラ１２５は、システム１００を低電力モードに指向させ、低電力モードからウェークアップさせるために、これらの電力コマンドおよび／または電力制御信号に応答する。追加的な機能性は、電力コントローラ１２５が初期パワーアップ動作を介するようにシステム１００に命令することに関連し得る。初期パワーアップ動作は、システム１００の電源が完全に切られた後にシステム１００に電力が供給されるとき、発生する。リセット信号は、一つ以上の信号ライン１３０を介して、パワーコントローラ１２５からプロセッサ１０５へ供給される。例示的システムにおいて、監視タイマー１２３は、また、同じ信号ラインを介してリセット信号を発行し得る。リセット信号は、システムウェークアップイベントに応答してアクティブ状態になり、さらに、初期パワーアップイベントに応答して起動され得る。プロセッサ１０５は、リセットベクトル１３５によって識別されるメモリ場所に格納されるアセンブリ言語コードを実行するように試みることによって、アクティブリセット信号の発生に応答する。
【００１４】
システム１００によって利用されるオペレーティングシステムは、処理システムの特定のアプリケーションに従って、選択され得る。たとえば、埋め込みアプリケーションは、ＱＮＸ  Ｓｏｆｔｗａｒｅ  Ｓｙｓｔｅｍｓから入手可能なＮｅｕｔｒｉｎｏ（登録商標）オペレーティングシステム、または同様なオペレーティングシステムを使用し得る。そのような埋め込みアプリケーションにおいて、オペレーティングシステムは、読取り専用メモリ１２０に格納されるイメージファイルシステム１４０に埋め込まれる。イメージファイルシステム１４０は、システム１００のためのオペレーティングシステム、システム１００において使用される実行可能プログラム、および／または、プログラムに関連し得る任意のデータファイルを含み得る。イメージファイルシステム１４０は、また、オペレーティングシステムのカーネルによる参照のために小ディレクトリ構造内に含まれるファイルの名称と位置を識別する小ディレクトリ構造を含み得る。
【００１５】
図１に示される例において、読取り専用メモリ１２０は、また、さらなるプログラムコードを含む。より詳細には、読取り専用メモリ１２０は、システム１００をイニシャライズするために使用されるブートプログラムを含む。本例において、ブートプログラムは、初期プログラムローダ１４５およびスタートアッププログラム１５０を含む。初期プログラムローダ１４５は、リセットベクトル１３５に対応する開始場所を有する。スタートアッププログラム１５０は、スタートアップヘッダ１５５および対応するプログラムコード１６０を含み得る。
【００１６】
システム１００を動作する一方法は、図２に示される。本例において、システムウェークアップイベントは、ブロック２０５において検出される。ウェークアップイベントは、システム１００が低電力モードを出て、例えば、すべてのシステムサービスが機能する正常な動作モードに入るように指示するために発生する。低電力モードにおいて、電力がプロセッサ１０５から完全に除かれた場合、動作電力は、ウェークアップイベントに応答してブロック２１０に格納される。さらに、システム１００、または、より詳細には、パワーコントローラ１２５は、リセット信号を起動し、プロセッサをリセットさせることによって、ウェークアップイベントに応答する。このリセットは、同様に、プロセッサ１０５に対して、ブロック２１５における読取り専用メモリ１２０から初期プログラムローダ１４５の実行を開始するように指示する。ブロック２２０において、初期プログラムローダのコードは、システム１００に対して、スタートアッププログラム１５０を読取り専用メモリ１２０からランダムアクセスメモリ１１５にコピーするように指示する。初期プログラムローダ１４５によって実行され得るその他の機能は、以下のものを含む。一つ以上のメモリコントローラ、システム１００によって使用される種々のクロックの構成、初期プログラムローダ１４５がオペレーティングシステムの検査およびセットアップを実行することを可能にするあるスタックの初期化、および、例えば、システム初期化時に必要とされるシステムハードウェアのその他の最小の構成のセットアップである。初期プログラムローダ１４５は、読取り専用メモリ１２０から直接に実行されるので、初期プログラムローダ１４５は、少なくとも部分的には、アセンブリ言語コードとしてインプリメントされ得る。しかしながら、最小のシステム初期化後、初期プログラムローダ１４５は、例えば、Ｃ言語環境を開始するために、一つ以上の機能を呼び出し得る。さらに、図１および図２に関連し示され、記述された初期プログラムローダ１４５はリセット直後の制御を得るが、制御は、例えば、システムＢＩＯＳまたはプロセッサリセットに応答して実行される同様なものから、初期プログラムローダ１４５に渡る。
【００１７】
プロセッサ１０５は、ブロック２２５において、ランダムアクセスメモリからのコピーされたスタートアッププログラム１５０を実行する。スタートアッププログラム１５０によって実行され得る機能のいくつかは、ハードウェア初期化、割込みコントロ−ラのセットアップ、システムページの初期化、シシテムコールアウトの初期化、実行のためのシステムカーネルの準備などを含む。
【００１８】
ブロック２３０において、システム１００は、フルブート動作が必要かどうか、または高速ブート動作が実行し得るかどうかを決定する。ブロック２３０においてなされた決定は、スタートアッププログラムおよび／または初期プログラムローダにおいてインプリメントされ得る。一例において、フルブート動作は、電力が完全に除去された後、システム１００に電力が最初に印加されるとき、必要とされ得る。別の例において、フルブート動作は、前のフルブート動作時、ランダムアクセスメモリ１１５に格納されたデータおよび／またはコードが一つ以上の完全性チェックにフェイルしたとき、必要とされ得る。
【００１９】
フルブート動作が必要とされる各例証において、システム制御は、ブロック２３５に転送され得る。ブロック２３５において、システム１００は、たとえば、初期プログラムローダ１４５および／またはスタートアッププログラム１５０によって、読取り専用メモリ１２０からランダムアクセスメモリ１１５へ、イメージファイルシステム１４０の完全な転送を実行する。このコピー動作が一旦完了すると、システムは、ブロック２４０において、標準のシステム動作で続行する。これらの標準のシステム動作は、システム１００がそのために設計されたすべてのシステムサービスが機能する動作の正規モードの実行を含み得る。
【００２０】
ブロック２３０における決定が、フルブート動作の代わりに高速ブート動作が実行され得ると示した場合、システム制御は、ブロック２４５に示される動作に転送される。ブロック２４５において、システム１００は、たとえば、初期プログラムローダ１４５および／またはスタートアッププログラム１５０によって、完全なイメージファイルシステム１４０の所定の部分のみを読取り専用メモリ１２０からランダムアクセスメモリ１１５へコピーする。イメージファイルシステムのファイルを読取り専用メモリ１２０からランダムアクセスメモリ１１５へコピーすることは、しばしば、ブート処理の相当な時間消費の部分を構成するので、高速ブート動作時に発生するイメージファイルシステムの限定されたコピーがブート時間を相当に減少させるために使用され得る。この時間減少は、同様に、システム１００の全応答時間を減少させるために、使用され得、それによって、システム１００がシステム応答設計基準に合致および／またはそれを超えることを可能にする。このコピー動作が一旦完了すると、システムは、ブロック２４０において、標準のシステム動作で続行する。再び、これらの標準のシステム動作は、システム１００がそのために設計されたすべてのシステムサービスが機能する動作の正規モードの実行を含み得る。
【００２１】
ブロック２４０によって表されるシステム動作時、システム１００に対して動作の低電力モードに入るように指示するパワーダウンイベントが発生し得る。図２の例において、システム１００は、ランダムアクセスメモブロック１１５を、例えば、自己リフレッシュモード、または、システムが低電力モードである持続時間にランダムアクセスメモリ１１５のコンテンツが維持される同様なモードにすることによって、ブロック２５０おいてパワーダウンイベントに応答する。このデータ保存モードの間、ランダムアクセスメモリ１１５によって消費される電力は、ブロック２４０において示される正常なシステム動作時におけるランダムアクセスメモリ１１５が消費する電力より少ない。これは、ランダムアクセスメモリ１１５が、たとえば、動作の自己リフレッシュ、低電力モードを有するＳＤＲＡＭ技術でインプリメントされるときのケースである。
【００２２】
動作の低電力モードに入ることは、ブロック２５５において完了され得、ここで、たとえば、プロセッサ１０５は、完全にパワーダウンされ得る。この方法でパワーダウンされたとき、プロセッサ１０５へのすべての電力は除去され、プロセッサ１０５は、電力を全く引かない。プロセッサ１０５は、ハイバネーションモードにおいても、しばしばシステム１００における最大消費電力を要するデバイスを構成するので、動作の低電力モードにおけるプロセッサ１０５の完全なパワーダウンは、システムデザインに課された消費電力制限を満足するために使用され得る。しかしながら、動作の代替の低電力プロセッサモードは、ブロック２５５において、動作の低電力モードに入ることを完了するために使用され得る。
【００２３】
低電力モード時のランダムアクセスメモリ１１５のデータメンテナンスモードにおける消費電力は、正常なシステム動作時のランダムアクセスメモリの１１５の消費電力より小さいとき、さらなる利益が、実現され得る。低電力モードにおけるプロセッサ１０５およびランダムアクセスメモリ１１５の両方消費電力は、そのような例証において減少され、その結果、このモードの全消費電力値の低下となる。ブロック２５５における動作の完了後、システム１００は、ブロック２０５においてシステムウェークアップイベントが検出されるまで、低電力モードのままである。ウェークアップイベントが検出されたとき、図２に示される前述の動作は、繰り返される。
【００２４】
図３は、フルブートコピー動作時、システム１００によって実行される転送を例示する。示されるように、初期プログラムローダ１４５は、読取り専用メモリ１２０からプロセッサによって実行され、読取り専用メモリ１２０からランダムアクセスメモリ１１５へのスタートアッププログラム１５０の転送の結果となる。このコピー動作は、読取り専用メモリ１２０からランダムアクセスメモリ１１５へ進む矢印によって示される。スタートアッププログラム１５０は、スタートアップヘッダ１５５およびスタートアップコード１６０を含み得る。さらに、イメージファイルシステム１４０の全コンテンツは、読取り専用メモリ１２０からランダムアクセスメモリ１１５へコピーされる。図１および図３に示されるイメージファイルシステム１４０は、イメージファイルシステムヘッダ３０５、システムカーネル３１０、ライブラリ３１５（Ｃ言語ライブラリ）、ドライバ、ダイナミックリンクライブラリ、およびアプリケーション（まとめて３２０に示される）を含む。図３は、リニアにマップされたイメージのためのシステム１００の動作を例示するが、システム１００は、同様に、バンク切換えイメージ採用し得る。バンク切換えイメージにおいて、イメージファイルシステムの種々の部分は、異なるメモリデバイス、および／または読取り専用メモリ１２０の非連続セクションから得られ、および／または、イメージファイルシステムの種々の部分は、異なるメモリデバイスおよび／またはランダムアクセスメモリ１１５の非連続セクションにコピーされる。
【００２５】
図４は、高速コピー動作時、システム１００によって実行される転送を例示する。再び、初期プログラムローダ１４５は、読取り専用メモリ１２０からプロセッサによって実行され、読取り専用メモリ１２０からランダムアクセスメモリ１１５への転送の結果となる。この動作は、読取り専用メモリ１２０からランダムアクセスメモリ１１５へ進む矢印によって示される。本例において、ランダムアクセスメモリ１１５にコピーされるイメージファイルシステム１４０の一部だけが、カーネル３１０である。転送をさらに最適化するために、カーネル３１０のコピーは、全体カーネルプログラムのサブセットに限定され得る。たとえば、カーネル３１０のコピーは、実行可能なバイナリデータセグメント、または同様なものに限定され得る。ドライバ、ダイナミックリンクライブラリ、およびセクション３２０のアプリケーション、およびヘッダ３０５のインテグリティの部分的または完全な検査、およびライブラリ３１５に基づき、前のフルブートコピー動作時にコピーされたデータおよびコードが完全であることが決定される。完全性は、例えば、ランダムアクセスメモリ１１５に格納されている存在するデータおよび／またはコードの一つ以上の部分に対して、一部または完全なチェックサムを実行することによって、チェックされ得る。イメージファイルシステム１４０のこれらの部分に対応するデータおよび／またはコードのコピーは、従って、不要である。低電力モードおよび／またはプロセッサリセットイベントからのシステムのウェークアップ時に発生するコピーの量を制限することによって、相当な時間セービングが達成し得る。
【００２６】
図５は、低電力モードおよび／またはプロセッサリセットイベントからの高速ブートウェークアップをインプリメントするために使用され得るさらなる例示的システムの基本コンポーネントのブロック図である。システム５００は、Ｉ／Ｏインタフェース５１０、ランダムアクセスメモリ５１５、読取り専用メモリ５２０、および検視タイマー５２３にアセスし得るプロセッサ５０５を含む。Ｉ／Ｏインタフェース５１０は、プロセッサ５０５が一つ以上の周辺コンポーネントと相互作用することを可能にする。周辺コンポーネントは、Ｉ／Ｏインタフェース５１０のコンポーネントから分離、および／または統合され得る。ランダムアクセスメモリ５１５は、様々な異なる方法でインプリメントされ得、上記方法は、例えば、１つ以上の動的ランダムアクセスメモリ技術を用いたインプリメンテーションを含むが、それには限定されない。一実施形態において、メモリ５１５は、動作の自己リフレッシュモードに指向され得る一つ以上のダイナミックランダムアクセスメモリユニットを使用して実現される。同様に、読取り専用メモリ５２０は、例えば、一つ以上のフラッシュメモリ技術を使用するインプリメンテーションを含む種々の異なる方法でインプリメントされ得る。
【００２７】
システム５００は、また、プロセッサ５０５から直接または間接のいずれかで、電力制御コマンドを受信し得るパワーコントローラ５２５を含む。さらに、または代わりに、パワーコントローラ５２５は、電力制御信号を、別の電源、周辺コンポーネント、スイッチ、または同様なものなどの外部ソースから受信し得る。パワーコントローラ５２５は、システム５００を低電力モードに指向させ、低電力モードからウェークアップさせるために、これらの電力コマンドおよび／または電力制御信号に応答する。追加的な機能性は、電力コントローラ５２５が初期パワーアップ動作を介するようにシステム５００に命令することに関連し得る。初期パワーアップ動作は、システム５００の電源が完全に切られた後にシステム５００に電力が供給されるとき、発生する。リセット信号は、一つ以上の信号ライン５３０を介して、パワーコントローラ５２５からプロセッサ５０５へ供給される。リセット信号は、システムウェークアップイベントに応答してアクティブ状態になり、さらに、初期パワーアップイベントに応答して起動され得る。プロセッサ５０５は、リセットベクトル５３５によって識別されるメモリ場所に格納されるアセンブリ言語コードを実行するように試みることによって、アクティブリセット信号の発生に応答する。
【００２８】
システム５００は、読取り専用メモリ５２０に格納される複数のイメージファイルシステム５４０および５４５において具体化されるオペレーティングシステムを採用する。二つのイメージファイルシステムが例示されるが、より多くのイメージファイルシステムが採用し得る。イメージファイルシステム５４０は、主要イメージファイルシステムを構成し、システムの動作を初期化するに必要なオペレーティングシステムカーネルのこれらの部分を含み得、一方、イメージファイルシステム５４５は、２次イメージファイルシステムを構成し、たとえば、システム１００に使用される実行可能プログラム、および／またはプログラムに関連し得る任意のデータを含み得る。イメージファイルシステム５４０および５４５の各々は、また、正常なシステム動作時、オペレーティングシステムのカーネルによる参照のために小ディレクトリ構造に含まれるファイルの名称と位置を識別する小ディレクトリ構造を含み得る。
【００２９】
図５に示される例において、読取り専用メモリ５２０は、さらなるプログラムコードを含む。より詳細には、初期プログラムローダ５５０が提供され、初期プログラムローダ５５０は、リセットベクトル５３５に対応する開始場所を有する。さらに、読取り専用メモリ５２０は、スタートアップコード５６０を格納するために使用される。スタートアップコード５６０は、スタートアップヘッダ５６５および対応するプログラムコード５７０を含み得る。
【００３０】
図６は、フルブートコピー動作時、システム５００によって実行される転送を例示する。この動作において、初期プログラムローダ５５０は、読取り専用メモリ５２０からプロセッサ５０５によって実行され、その結果、読取り専用メモリ５２０からランダムアクセスメモリ５１５へのスタートアッププログラム５６０の転送となる。このコピー動作は、読取り専用メモリ５２０からランダムアクセスメモリ５１５へ進む矢印によって示される。スタートアッププログラム５６０は、スタートアップヘッダ５６５およびスタートアップコード５７０を含み得る。さらに、イメージファイルシステム５４０および５４５の両方の全コンテンツは、読取り専用メモリ５２０からランダムアクセスメモリ５１５へコピーされる。図５および図６に示されるイメージファイルシステム５４０は、第１イメージファイルシステムヘッダ５７５およびシステムカーネル５８０を含む。イメージファイルシステム５４５は、第２イメージファイルシステムヘッダ５８５、ライブラリ５９０（Ｃ言語ライブラリなど）、ドライバ、ダイナミックリンクライブラリ、およびアプリケーション（まとめて５９５に示される）を含む。図６は、リニアにマップされたイメージのためのシステム１００の動作を例示するが、システム１００は、同様に、バンク切換えイメージを採用し得る。バンク切換えイメージにおいて、イメージファイルシステムの種々の部分は、異なるメモリデバイス、および／または読取り専用メモリ１２０の非連続セクションから得られ、および／または、イメージファイルシステムの種々の部分は、異なるメモリデバイスおよび／またはランダムアクセスメモリ１１５の非連続セクションにコピーされる。
【００３１】
図７は、高速ブートコピー動作時、システム５００によって実行される転送を例示する。再び、初期プログラムローダ５５０は、読取り専用メモリ５２０からプロセッサ５０５によって実行され、その結果、読取り専用メモリ５２０からランダムアクセスメモリ５１５へのスタートアッププログラム５６０の転送となる。このことは、読取り専用メモリ５２０からランダムアクセスメモリ５１５へ進む矢印によって示される。本例において、主要イメージファイルシステム５４０のみが、ランダムアクセスメモリ５１５にコピーされる。高速ブートコピー動作は、カーネル３１０のデータ部のみをコピーすることにより、さらに最適化され得る。第２イメージファイルシステム５４５のすべてまたは一部の完全性の部分的または完全な検査（即ち、ヘッダ５８５、ライブラリ５９０、および／またはドライバ、ダイナミックリンクライブラリ、およびセクション５９５のアプリケーション）に基づき、前のフルブートコピー動作時に、読取り専用メモリ５２０からランダムアクセスメモリ５１５にコピーされた第２イメージファイルシステム５４５が完全かどうか決定される。第２イメージファイルシステム５４５のコピーは、従って、不要と考えられる。
【００３２】
図８は、図１および図５に示されるシステムが動作され得るさらなる方法を例示する。本例において、プロセッサはリセットされ、プロセッサの１０におけるリセットベクトルに対応する読取り専用メモリの場所において初期プログラムローダ８０５の実行を開始する。初期プログラムローダ８０５は、スタートアッププログラム８１５を読取り専用メモリからランダムアクセスメモリへコピーすることを指示し、この場合、コピーは、プロセッサによって実行される。上記に提示された基準に基づき、システムは、８３０でカーネルをイニシャライズする前に、イメージファイルシステムの８２０のフルブートコピーまたはイメージファイルシステム８２５の高速ブートコピーのいずれかを実行する。カーネルが一旦イニシャライズされると、イメージファイルシステムに含まれる種々のオペレーティングシステムを含むオペレーティングの残り部分は、イニシャライズされ、８３５において実行を継続する。
【００３３】
システムがブート動作に従事している間、周辺デバイスおよびその他のシステムと通信し、制御するためにシステムによって必要とされる種々のドライバのフルバージョンは、典型的には、使用不可である。その結果、システムの周辺コンポーネントを扱い、他のシステムと相互作用するシステムの能力は、オペレーティングシステムが完全にイニシャライズおよび実行されるまで、比較的制限される。しかしながら、周辺コンポーネントおよびその他のシステムと相互作用する前にブート動作が完了するのを待つことは、応答時間基準を満たすためのシステムの能力を妨げ得る。
【００３４】
この問題を処理する一方法は、図８に示される。より詳細には、ミニドライバ８４０は、スタートアッププログラム８１５によってロードおよび実行される。各ミニドライバは、ブート動作時、対応する周辺コンポーネントまたはシステムと一時的に相互作用および／または通信するために使用される。ミニドライバは、それがフルドライバによって提供される機能性のサブセットのみをインプリメントするように設計され得るという点で、ミニドライバに対応するフルドライバと異なる。さらに、フルドライバは、典型的には、それが関連する周辺コンポーネントまたはシステムによって生成される一つ以上の割込みによって、駆動され、一方、ミニドライバは、初期プロセスローダ８０５および／またはセットアッププログラム８１５によってイニシャライズされるタイマー割込みに応答するメッセージのための関連周辺コンポーネントまたはシステムをポーリングする。ミニドライバによって受信される高優先度のメッセージは、必要に応じて、ブート動作時アドレス指定される。しかしながら、ほとんどのメッセージは、対応するミニドライバによる限定された取り扱い、または対応するフルバージョンのドライバによる取り扱いのためのメッセージキューに格納され得る。８３０においてカーネルがイニシャライズされると、システムは、８４５においてミニドラバの使用からフルドライバの使用に変化し始める。８３５においてオペレーティングシステムが一度動作すると、フルバージョンのドライバは、８５０において使用可能である。
【００３５】
オペレーティングシステムは、パワーダウンイベント８５５が発生するまで、８３５において実行を継続する。パワーダウンイベントに対するシステムの応答は、パワーコールアウト８６０相互作用するパワーマネージャによって取り扱われ得る。パワーコールアウト８６０は、システムに対し低電力モード８６５に入るよう指示し、この場合システムは、ウェークアップイベント８７０の発生まで、そのままである。
【００３６】
図９は、パワーマネージャソフトウェア９０５が、システムを低電力モードに変化させるために、パワーコールアウト９１０を相互作用し得る。本例において、パワーマネージャ９０５は、パワーダウンイベント９１５を検出するために使用される。パワーマネージャ９０５は、例えば、パワーダウンイベントが発生した実行アプリケーション９２０およびドライバ９２５を通知することによって、パワーダウンイベント９１５に応答する。ドライバ９２５は、対応する周辺装置９３０の状態を、例えば、ランダムアクセスメモリ９３５に格納することによって、この通知に対応し得る。アプリケーション９２０は、終了の前に、任意のペンディングの動作をかたづけるために必要なステップを取り得る。
【００３７】
パワーマネージャソフトウェア９０５は、また、システムカーネルへのパワーコールアウト９１０を実行し得る。パワーコールアウト９１０は、同様に、ランダムアクセスメモリ、９３５、プロセッサ９４０、およびパワーコントローラ９４５を低電力モードで使用されるそれぞれの状態に指示する。例えば、パワーコールアウト９１０は、パワーコントローラ９４５に対してプロセッサ９４０からオペレーティングパワーを除去する前に、ランダムアクセスメモリ９３５を自己リフレッシュモードにするよう指示し得る。一旦オペレーティングパワーがプロセッサ９４０から除去されると、パワーマネージャ９０５、アプリケーション９２０、およびドライバ９２５は、実行していないので、パワーマネージャ９０５がアプリケーション９２０およびドライバ９２５が適切に停止されると決定するまで、パワーコールアウト９１０の実行は遅延され得る。
【００３８】
上記システムの各々において、ランダムアクセスメモリのコンテンツの完全性は、フルブートおよび・または高速ブート動作時チェックされ得る。さらに、または代わりに、一旦フルブートおよび／または高速ブート動作が完了すると、ランダムアクセスメモリのコンテンツの完全性は、チェックされ得る。上記のように、完全性チェックは、ランダムアクセスメモリの全コンテンツまたはランダムアクセスメモリの一部に対するチェックサム動作の形式であり得る。システムが、完全性チェックにフェイルした場合、プロセッサは、たとえば、システムをフルブート動作にするためにリセットされ得る。
【００３９】
本発明の種々の実施形態が記述されているが、本発明の範囲内でより多くの実施形態およびインプリメンテーションが可能であることは当業者にとって明らかであろう。従って、本発明は、添付の特許請求の範囲およびその相当物の観点を除き制限されるべきではない。
【図面の簡単な説明】
【００４０】
本発明は、以下の図面および説明を参照して、より良く理解され得る。図におけるコンポーネントは、必ずしも一定縮尺ではなく、本発明の原理を例示することに強調が置かれる。さらに、図において、同じ参照番号は、異なる図全体を通して、対応する部品を示す。
【図１】図１は、低電力モードおよび／またはシステムリセットから高速ブートウェークアップをインプリメントするために使用され得る例示的システムの基本コンポーネントのブロック図である。
【図２】図２は、図１のシステムが、低電力モードおよび／またはシステムリセットから高速ブートウェークアップをインプリメントするために動作され得る一方法を例示するフロー図である。
【図３】図３は、図１のシステムにおけるフルブートコピー動作を実行する一方法を示す線図である。
【図４】図４は、図１のシステムにおける高速ブートコピー動作を実行する一方法を示す線図である。
【図５】図５は、低電力モードおよび／またはシステムリセットから高速ブートウェークアップをインプリメントするために使用され得るさらなる例示的システムの基本コンポーネントのブロック図である。
【図６】図６は、図５のシステムにおけるフルブートコピー動作を実行する一方法を示す線図である。
【図７】図７は、図５のシステムにおける高速ブートコピー動作を実行する一方法を示す線図である。
【図８】図８は、周辺コンポーネントおよび／または他のシステムを制御および／またはそれと通信するためのミニドライバを同時に使用しながら、低電力モードおよび／またはシステムリセットから高速ブートウェークアップをインプリメントするために図１および図５に示されたシステムを動作する一方法を例示するフロー図である。
【図９】図９は、図１および図５に示されたシステムを動作の低電力モードに導く、一方法を例示するフロー図である。
【符号の説明】
【００４１】
１００  システム
１０５  プロセッサ
１１０  Ｉ／Ｏインタフェース
１１５  ランダムアクセスメモリ
１２０  読取り専用メモリ
１２５  パワーコントローラ
１３０  信号ライン１３０
１３５  リセットベクトル
１４０  イメージファイルシステム
１４５  初期プログラムローダ（ＩＰＬ）
１５０  スタートアッププログラム
１５５  スタートアップヘッダ
１６０  対応するプログラムコード
【図１】
2007299404.tif 000003
【図２】
2007299404.tif 000004
【図３】
2007299404.tif 000005
【図４】
2007299404.tif 000006
【図５】
2007299404.tif 000007
【図６】
2007299404.tif 000008
【図７】
2007299404.tif 000009
【図８】
2007299404.tif 000010
【図９】
2007299404.tif 000011