JP6017706B2 - ピアモニタにて信頼性・可用性・保守性(ras)フローをサポートする機構 - Google Patents

ピアモニタにて信頼性・可用性・保守性(ras)フローをサポートする機構 Download PDF

Info

Publication number
JP6017706B2
JP6017706B2 JP2015558325A JP2015558325A JP6017706B2 JP 6017706 B2 JP6017706 B2 JP 6017706B2 JP 2015558325 A JP2015558325 A JP 2015558325A JP 2015558325 A JP2015558325 A JP 2015558325A JP 6017706 B2 JP6017706 B2 JP 6017706B2
Authority
JP
Japan
Prior art keywords
stm
ram
memory
bios
hot plug
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
JP2015558325A
Other languages
English (en)
Other versions
JP2016508645A (ja
Inventor
ヤオ,ジーウエン
ジェイ. ジンマー,ヴィンセント
ジェイ. ジンマー,ヴィンセント
Original Assignee
インテル コーポレイション
インテル コーポレイション
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 インテル コーポレイション, インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2016508645A publication Critical patent/JP2016508645A/ja
Application granted granted Critical
Publication of JP6017706B2 publication Critical patent/JP6017706B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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
    • G06F9/4406Loading of operating system
    • 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/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Description

本開示の実施形態は、概してコンピュータセキュリティに関し、より具体的には、ピアモニタにて信頼性・可用性・保守性(RAS)フローをサポートする機構に関する。
SMMは、全ての通常実行(OSを含む)が一時停止されて、特別な別個のソフトウェア(通例では、ファームウェア又はハードウェア支援のデバッガ)が高特権モードで実行される動作モードである。SMMは、隔絶されたメモリ及び実行環境を提供し、ホスト物理メモリへの完全なアクセス及び周辺ハードウェアの完全な制御を保持しながら、OSにはSMMコードは見えない。SMMが開始されるとき、プロセッサの現在状態が保存され、全てのその他のプロセスが停止される。例えばデバッギング、ハードウェア管理、セキュリティ機能、エミュレーションなどの高特権化された処理がSMMモードで実行されることができ、それに続いて、コンピューティング装置がプロセッサの保存状態に基づいて動作を再開する。SMIの発生を受けて、コンピューティング装置はSMMに入り得る。
SMMコード実装における脆弱性が、装置動作に非常に重要なソフトウェアが隔離を通じて保護されるという幾つかの現行のセキュリティスキームの、コンピューティング装置への導入につながってきた。例えば、一部の処理装置に組み込まれているバーチャライゼーションテクノロジー(VT)機能などの仮想マシン(VM)環境において、1つ以上のマシンマネジャが、異なる動作環境で動作するVMを制御することがある。例えば、VTは、仮想マシンマネジャ(VMM)(ハイパーバイザとしても知られている)がゲストオペレーティングシステム(OS)の特権を解除することができる主モニタモードを規定する。同様に、VTはまた、システムマネジメント割込み(SMI)ハンドラの特権を解除し得るSMMトランスファモニタ(STM)を提供し、それにより、システムマネジメントモード(SMM)においてSMIハンドラがSTMのゲストとして実行されるようにし得る。
しかしながら、STMの現行実装は、信頼性、可用性及び保守性(RAS)のサポートを欠いている。RASとは、データ完全性を保護するとともにコンピュータシステムが故障なく長期間にわたって可用のままであることを可能にする多数の特徴を記述するために使用される一組の関係し合う特性である。RAS特性は、コンピュータ製品又はコンポーネントを設計、製造、購入あるいは使用するときに考慮され得る。現行STM実装は、ホットプラグ(活線挿抜)、読み出し専用メモリ(ROM)SMIハンドラ機構、及びその他のRASアクションをサポートするときのRAS要件を満足しない。
例えば、ホットプラグサポートの場合、現行STM実装は、CPU又はメモリにホットプラグサポートを提供しない。ROM SMIハンドラ機構サポートの場合、現行STM実装は、ダイナミックランダムアクセスメモリ(DRAM)上でのSTMをサポートするのみである。
本開示は、以下に与えられる詳細な説明から、及び本開示の様々な実施形態の添付図面から、より十分に理解されることになる。図面は、しかしながら、単に説明及び理解のためのものであり、本開示を特定の実施形態に限定するように解されるべきでない。
本開示の一実施形態に従った、ピアモニタにて信頼性・可用性・保守性(RAS)フローをサポートする装置のブロック図である。 本開示の一実施形態に従った、ピアモニタのROMベース実行を実装するメモリモジュールを例示するブロック図である。 本開示の一実施形態に従った、RASをサポートするピアモニタの読み出し専用メモリ(ROM)ベース実行の方法のフロー図である。 本開示の一実施形態に従った、ピアモニタによるホットプラグサポートを例示するブロック図である。 本開示の一実施形態に従った、メモリを追加するときのSTMによるホットプラグサポートの方法を例示するフロー図である。 本開示の一実施形態に従った、メモリを除去するときのSTMによるホットプラグサポートの方法を例示するフロー図である。 本開示の一実施形態に従った、プロセッサを追加するときのSTMによるホットプラグサポートの方法を例示するフロー図である。 本開示の一実施形態に従った、プロセッサを除去するときのSTMによるホットプラグサポートの方法を例示するフロー図である。 コンピュータシステムの一実施形態を例示するブロック図である。
本開示の実施形態は、ピアモニタにて信頼性・可用性・保守性(RAS)フローをサポートする機構を提供する。一実施形態において、RASに対応した高特権(high privilege;HP)マネジャが、例えばシステムマネジメント割込み(SMI)トランスファモニタ(STM)などのピアモニタとして作用する。STMは、SMIハンドラの特権を解除して、SMIハンドラがシステムマネジメントモード(SMM)においてSTMのゲストとして実行させるようにし得る。STMの現行実装はRASフローのサポートを欠いているので、本開示の実施形態は、RASの機構をサポートするように構成されたRAS対応HPマネジャを実現する。特に、例えばSTMなどのRAS対応HPマネジャは、ROMベースの実行及びホットプラグ機能のサポートを実現し得る。
一実施形態において、本開示の方法は、処理装置により、システムマネジメント割込み(SMI)イベントを受け取ることを含む。当該方法は更に、SMIイベントに応答して、読み出し専用メモリ(ROM)エントリーポイントから実行してSMIイベントを取り扱うように特権マネジャを呼び出すことを含み、特権マネジャは、メモリホットプラグ機能及びプロセッサホットプラグ機能のサポートを提供するホットプラグサービスモジュールを有する。
図1は、本開示の一実施形態に従った、ピアモニタにてRASフローをサポートする装置100のブロック図である。装置100の幾つかの例は、以下に限られないが、例えば携帯電話若しくはスマートフォンなどのモバイル通信装置、例えばタブレットコンピュータなどのモバイルコンピューティング装置、ネットブック、ノートブックコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、及びサーバコンピュータなどを含み得る。
装置100は、例えば、装置100の基本動作を取り扱うホスト102を含み得る。ホスト102は、例えば、処理モジュール104、ブリッジングモジュール106、メモリモジュール108、及びその他のモジュール110を含み得る。処理モジュール104は、別々のコンポーネント内に位置する1つ以上のプロセッサ(処理装置としても知られる)、又はそれに代えて、例えばシステム・オン・チップ(SOC)構成で配置された、単一の集積回路(IC)に内蔵された1つ以上の処理コアを有し得る。
ブリッジングモジュール106は、処理モジュール104を支援するように構成された回路を含み得る。回路例は、装置100内の様々なバスを用いた通信を取り扱うように構成され得るインタフェース/ブリッジング回路(例えば、一群の集積回路(IC))を含み得る。例えば、ブリッジングモジュール106は、1つの種類/速さの通信を別のものへと変換することによって様々なモジュール間での信号伝達を取り扱い得ることができ、また、異なるシステム実装、アップグレードなどを可能にするように多様な異なる装置と互換性を有し得る。ブリッジングモジュール106の機能の一部はまた、処理モジュール104、メモリモジュール108、又はその他のモジュール110に組み込まれてもよい。
処理モジュール104は命令を実行し得る。命令は、以下に限られないが例えばデータを読み出すこと、データを書き込むこと、データを処理すること、データを定式化すること、データを変換すること、データを変形することなどの活動を処理モジュール104に実行させるプログラムコードを含み得る。命令やデータなどを含む情報は、メモリモジュール108に格納され得る。
メモリモジュール108は、固定形態又は取外し可能形態のランダムアクセスメモリ(RAM)又は読み出し専用メモリ(ROM)を含み得る。RAMは、例えばスタティックRAM(SRAM)又はダイナミックRAM(DRAM)など、装置100の動作中に情報を保持するメモリを含み得る。ROMは、例えば、装置100が起動するときの命令を提供するコンピューティング装置BIOSメモリ、電子的プログラム可能ROM(EPROM)やFlash(フラッシュ)などのプログラム可能メモリ、等々のメモリを含み得る。他の固定式メモリ及び/又は取外し可能メモリは、例えばフロッピー(登録商標)ディスクやハードドライブなどの磁気メモリ、例えばソリッドステートFlashメモリ(例えば、eMMCなど)などの電子メモリ、取外し可能なメモリカード若しくはメモリスティック(例えば、USB、マイクロSDなど)、例えばコンパクトディスクに基づくROM(CD−ROM)やホログラフィなどの光メモリ、等々を含み得る。
その他のモジュール110は、装置100内のその他の機能を支援することに向けられたモジュールを含み得る。その他のモジュール110は、例えば、装置100に電力を供給するモジュール、装置100における有線通信及び/又は無線通信を支援するモジュール、装置100におけるユーザインタフェース(UI)機能を提供するモジュール、及び専用化された機能を支援するモジュールなどを含み得る。その他のモジュール110の構成は、例えば、フォームファクタや、装置100がそれに合わせて構成されている使用法などに応じて様々となり得る。
本開示の一実施形態に従ったメモリモジュール108の一実施形態が、108’の拡大図に示されている。メモリモジュール108’は、高特権実行環境112及び低特権実行環境120を含み得る。高特権実行環境112で実行されるソフトウェアは、装置100内のその他のソフトウェアの動作に影響を及ぼすことができる(例えば、低特権実行環境120内のソフトウェアを読み出し、書き込み、且つ/或いは実行することができ得る)が、低特権実行環境120で実行されるソフトウェアは、高特権実行環境112で実行される如何なるソフトウェアにも影響を及ぼすことができない。高特権実行環境112は、BIOSゲスト116及びその他のゲスト118の動作を管理する信頼性・可用性・保守性(RAS)に対応した高特権(HP)マネジャ114を含み得る。低特権実行環境120は、OSゲスト1(124)及びOSゲスト2(126)の動作を管理する低特権(low privilege;LP)マネジャ122を含み得る。2つのOSゲスト124、126が示されているが、本開示に相応する実施形態は2つのみのゲストに限定されない。
少なくとも1つの実施形態において、装置100が特定のセキュリティモードに入るとき、高特権実行環境112における特定の活動が発生し得る。このセキュリティモードでは、処理モジュール104における全てのその他の処理活動が中断され、処理モジュールの現在コンテキストが保存され、そして、高特権実行環境112に関する処理が、装置100の通常動作に戻るのに先立って実行され得る。このセキュリティモードは、RAS対応HPマネジャ114によって設定され得る。
本開示の実施形態において、RAS対応HPマネジャ114は、例えばシステムマネジメント割込み(SMI)トランスファモニタ(STM)などのピアモニタとし得る。STM114は、システムマネジメント割込み(SMI)ハンドラの特権を解除して、SMIハンドラがシステムマネジメントモード(SMM)においてSTM114のゲストとして実行させるようにし得る。本開示の実施形態は、RASの機構をサポートしているが故にRASに対応していると見なされるSTM114を提供する。特に、RAS対応HPマネジャ114は、STM114のROMベースの実行及びホットプラグ機能のSTM114サポートを実現し得る。ホットプラグ(活線挿抜)とは、システムをシャットダウン又はリブートすることなくコンピュータシステムコンポーネントを置換又は追加する機能を述べるものである。図2及び4は、本開示の実施形態においてSTM114によってサポートされるROMベース実行及びホットプラグのRAS機構の更なる詳細を提示するものである。
図2は、本開示の一実施形態に従った、ピアモニタのROMベース実行を実装するメモリモジュール200を例示するブロック図である。一実施形態において、メモリモジュール200は、図1に関して説明したメモリモジュール108と同じである。他の一実施形態において、このピアモニタは、例えば図1に関して説明したSTM114などのSTMである。メモリモジュール200は、ROM210の領域及びRAM220の領域の双方を含み得る。
本開示の実施形態は、STMイメージ211をROM210内に置く。さらに、STMページテーブル及びグローバルディスクリプタテーブル(GDT)212が作成されて、STMイメージ211とともにROM210内に置かれる。STMページテーブル及びSTM GDT212は、STMイメージ211がロングモード(例えば、x64ビットモード)で実行されることを可能にする。一実施形態において、STMページテーブル及びGDT212のアクセスビット及びダーティビットが、デフォルトによって設定される。ROM STM211はまた、ROM STM211のページテーブル及びGDT212を格納するSTMヘッダ214を含み得る。
一実施形態において、ROM STMは、コンピュータシステムのBIOSのブートアッププロセス中に初期化され得る。BIOS SMMモジュール(図示せず)が、BIOS及びSTMコードを実行するプロセッサの特別なレジスタにROM STMイメージ211のアドレスを置き得る。このROM STMイメージ211アドレスは、ROM STMイメージ211に関するエントリーポイント215であり、STMコードのスタック213がSTMコードの実行のために構築される。一実施形態において、ROM STMエントリーポイント215を格納する特別なレジスタは、IA32_SMM_MONITOR MSRである。
実行時、SMIが発生するとき、プロセッサは先ず(特別なレジスタにおけるアドレスを用いて)ROM STMエントリーポイント215を呼び出す。そして、ROM STM211が、メモリモジュール200のRAM220領域でメモリエラーが起こるかを検査し得る。RAM220におけるエラーが存在しないことをメモリ検査が明らかにする場合、RAM STMエントリーポイント225を呼び出すことによって、STMコードの処理がRAM STM221に移り得る。一実施形態において、RAM STMエントリーポイント225は、ROM STM211に格納される。一実施形態において、RAM STM221は、例えばRAM220のトップセグメント(TSEG)のモニタセグメント(MSEG)領域内など、STMコードが典型的に存在するRAM220の領域内に存在する。
一方、RAMエラーが存在することをROM STM211が検出した場合、ROM STM211はRAM STM221を呼び出すことができない。代わりに、ROM STM211は、BIOS ROM SMMハンドラを直接的に呼び出して、(BIOS SMMハンドラの選択に従って)エラーを含むRAM220に対処するかその他の方法でエラーに対処するかを行うことができる。一実施形態において、BIOS ROM SMMハンドラのエントリーポイントは、例えばTXT DESC SMM SAVE STATE MSRなど、他の特別なレジスタにて定められ得る。
本開示の実施形態において、ROM STM211とRAM STM221との間での移行(トランジション)のために、STM移行状態データ構造222が使用される。一実施形態において、STM移行状態データ構造222は、RAM220のMSEG部分の先頭に含められる。メモリモジュール200を有するシステムの初期化中に、BIOS SMMが、ROM STM211の状態とRAM STM221の状態とを決定し得る。この移行データ構造は、以下に限られないが、ROM STMのサイズ、RAM STMのサイズ、CRC、チェック、ハッシュ、又はその他の暗号マーカーを含み得る。移行データ構造は、制御を渡すことに先立ってRAM STMの完全性を確認するために、ROM STM211によって利用され得る。
上述のROMベースSTM実行は、RAS機構である実行時のメモリエラーへの対処を可能にする。これは、RAM STM又はRAMのその他の部分がエラーを含む状況に対処するために、STMの初期フローをROMに押し付けることを可能にする。
図3は、本開示の一実施形態に従った、RASをサポートするピアモニタのROMベース実行の方法300のフロー図である。方法300は、ハードウェア(例えば、回路、専用ロジック、プログラマブルロジック、マイクロコードなど)、ソフトウェア(例えば、処理装置上で実行される命令など)、ファームウェア、又はこれらの組み合わせを有し得る処理ロジックによって実行され得る。一実施形態において、方法300は、図1に関して説明した装置100によって実行される。
方法300はブロック310で開始し、そこで、SMIイベントを検出したことを受けて、ROM領域内のSTMコードが呼び出される。一実施形態において、プロセッサが、SMIイベントを検出し、当該プロセッサのレジスタに格納されたROM STMのエントリーポイントのアドレスに基づいてROM STMコードを呼び出す。そして、ブロック320にて、ROM STMコードが、RAMメモリ上でエラー検査を実行する。決定ブロック330にて、RAMメモリにエラーが存在したかが決定される。
決定ブロック330でRAMエラーが存在し、且つエラーのあるメモリがOEM SMMコードの領域に含まれない場合、方法300はブロック340に進み、そこで、BIOS SMMハンドラがROM STMコードから直接的に呼び出される。一実施形態において、BIOS SMMハンドラのエントリーポイントアドレスが、プロセッサのレジスタに格納され且つROM STMによって使用されて、BIOS SMMハンドラが呼び出され得る。ブロック350にて、BIOS SMMハンドラがRAMにおけるメモリエラーを解決するために、実行制御がROM STMコードからBIOS SMMハンドラに渡される。
決定ブロック330でRAMメモリエラーが存在し、且つメモリがOEM SMRAMと重なり合う場合、STMは、メモリロケーションの情報を用いてマシン検査ログを構築することができる。そして、マシン検査停止(アボート)を投入すること及び/又はマシンをリセットすることによってファームウェアがホスト環境に戻り得る。何れの場合も、OSエージェントがマシン検査ログからエラー情報を突き止めることができる。
決定ブロック330でRAMエラーが検出されない場合、方法300はブロック360に進み、そこで、RAM STMコードがROM STMコードから呼び出される。一実施形態において、ROM STMからRAM STMに移行するためにSTM移行データ構造が使用される。ROM STMは、移行構造を用いて制御を渡すとともに、メモリエラーが報告されたメモリ範囲にROM STMが重なり合うかを突き止め得る。そして、ブロック370にて、RAM STMが通常のSTMアクションを取って、SMMゲストを呼び出し、SMIイベントからの例外に対処し、システムマネジメントモードからレジューム(Resume from System Management Mode;RSM)し、そして元々の実行環境に戻るために、実行制御がROM STMからRAM STMに渡される。
図4は、本開示の実施形態に従った、ピアモニタによるRASのためのホットプラグサポートを例示するブロック図である。ここに説明される実施形態の一部は、多くのマイクロプロセッサで現在利用可能なバーチャライゼーションテクノロジー(VT)に関連する専門用語を用いて記述され得る。VTは、2つ以上の仮想マシン(VM)が同時に、安全且つ効率的な手法で、物理的な処理リソースへのアクセスを共有することを可能にする機能である。しかしながら、これらの用語の使用は、ここでの説明のためであり、本開示に相応する実装は、このような専門用語を用いることに限定されるものではない。例えば、同様の機能を提供するその他のハードウェア(例えば、マイクロプロセッサ)及び/又はソフトウェアも、ここに開示される様々な実施形態に相応する手法で使用され得る。
図4の実装例において、高特権実行環境メモリ112、STM114、BIOSゲスト116、及び低特権実行環境メモリ120は、同じ参照符号が付された図1からの対応する部分と同じである。STMは、BIOS SMMゲスト116の動作を管理するように構成される。一実施形態において、図1からのLPマネジャ122が、低特権実行環境メモリ120のMLE(Measured Launch Environment)122として例示される。STM114が、多様な異なるVMCALLコマンドを用いてBIOS SMM116及びMLE122と通信し、この逆もまた然りである。VMCALLコマンドは、ハイパーバイザとゲストとの間又は2つの異なるハイパーバイザの間の命令を含み得る。一部の実施形態において、VMCallは、例えばMLE又はBIOS SMMなどの仮想マシンゲストが例えばSTMなどのハイパーバイザと通信するために使用することが可能な機構である。
一実施形態において、RAS対応STMのホットプラグ機能をサポートするためのアプリケーションプログラミングインタフェース(API)への一組のエクステンション(拡張)を規定するために、STM114にホットプラグサービスモジュール420が付加される。ホットプラグサービスモジュール420は、BIOS SMM116及びMLE122の中の対応するホットプラグモジュール410、430と通信し得る。
一実施形態において、ホットプラグサービスモジュール420は、メモリホットプラグ処理及びプロセッサホットプラグ処理のサポートを提供する。メモリホットプラグに関し、アド(追加)BIOSリソースVMCALL及びリムーブ(除去)BIOSリソースVMCALLという2つの新たなBIOS・ツー・STM VMCALLコマンドが導入される。ここでの説明は具体的にアドBIOSリソースVMCALL及びリムーブBIOSリソースVMCALLと称しているが、このような命令のその他の識別が用いられてもよく、本開示の実施形態は、ここで使用される特定の名称に限定されるものではない。以下の図5A及び5Bは、本開示の一実施形態に従った、STMによるホットプラグサポートを用いてメモリを追加及び除去するためのフロー例を記述するものである。
プロセッサホットプラグに関し、アド(追加)プロセッサVMCALL及びリムーブ(除去)プロセッサVMCALLという2つの新たなBIOS・ツー・STM VMCALLコマンドが導入される。ここでの説明は具体的にアドプロセッサVMCALL及びリムーブプロセッサVMCALLと称しているが、このような命令のその他の識別が用いられてもよく、本開示の実施形態は、ここで使用される特定の名称に限定されるものではない。以下の図6A及び6Bは、本開示の一実施形態に従った、STMによるホットプラグサポートを用いてプロセッサを追加及び除去するためのフロー例を記述するものである。
図5Aは、本開示の一実施形態に従った、コンピュータシステムに対してメモリを追加するときのSTMによるホットプラグサポートの方法500のフロー図である。方法500は、ハードウェア(例えば、回路、専用ロジック、プログラマブルロジック、マイクロコードなど)、ソフトウェア(例えば、処理装置上で実行される命令など)、ファームウェア、又はこれらの組み合わせを有し得る処理ロジックによって実行され得る。一実施形態において、方法500は、図4に関して説明したSTM114によって実行される。
方法500はブロック505で開始し、そこで、STMにて、BIOSから、アドBIOSリソースVMCALLが受け取られる。一実施形態において、アドBIOSリソースVMCALLは、SMIイベントによって新たなメモリが追加されることの通知をBIOSが受信した後に受け取られる。決定ブロック510にて、STMは、メモリのMLE保護領域と新たなメモリが関連付けられることになるメモリの領域との間に重なりが存在するかを決定する。一実施形態において、STMは、BIOSによって及びMLEによって要求されるリソースのリストを維持管理し、決定ブロック510での重なり決定のためにこのリストを照合することができる。決定ブロック510で重なりが検出された場合、STMは、ブロック545にて、例外を生成して、新たなメモリの追加を拒否する。
一方、決定ブロック510で重なりが検出されない場合、方法500はブロック515に進み、そこで、STMがBIOSに承認を送信し、新たなメモリを追加する。その後、ブロック520にて、STMは、BIOSからリムーブBIOSリソースVMCALLを受け取る。これは、重なりがないことの確認をSTMがBIOSに対して行った後にBIOSが上記新たなメモリに一時的にアクセスすることに応答するものであり得る。
ブロック525にて、リムーブBIOSリソースVMCALLに応答して、STMは、MLEに対して上記新たなメモリのメモリ保護を解き放つ。一実施形態において、新たなメモリのメモリ保護がMLEに対して解き放たれると、MLEは、システムコントロール割込み(SCI)イベントによって追加された新たなメモリを受け取り得る。ブロック530にて、STMは、MLEからプロテクト(保護)リソースVMCALLを受け取る。応答して、STMは、決定ブロック535にて、BIOSが宣言したリソース領域と上記新たなメモリに関連付けられた領域のメモリとの間に重なりが存在するかを決定する。
重なりが検出された場合、方法500はブロック545に進み、そこで、STMによって例外が生成されて、新たなメモリの追加が拒否される。一方、重なりが検出されない場合、ブロック540にて、STMによって新たなメモリ領域がMLEのために保護される。一実施形態において、新たなメモリリソースは、STMによって維持管理されるMLEリソースのリストに追加される。そして、MLEは、この新たなメモリを追加するゲストに対して仮想SCIを投入して、このゲストがこの新たなメモリを使用し得るようにすることができる。
図5Bは、本開示の一実施形態に従った、コンピュータシステムに対してメモリを除去するときのSTMによるホットプラグサポートの方法550のフロー図である。方法550は、ハードウェア(例えば、回路、専用ロジック、プログラマブルロジック、マイクロコードなど)、ソフトウェア(例えば、処理装置上で実行される命令など)、ファームウェア、又はこれらの組み合わせを有し得る処理ロジックによって実行され得る。一実施形態において、方法550は、図4に関して説明したSTM114によって実行される。
方法550はブロック560で開始し、そこで、STMが、MLEからアンプロテクト(保護解除)リソースVMCALLを受け取る。一実施形態において、アンプロテクトリソースVMCALLは、MLEのゲストのうちの1つに関連付けられたメモリをMLEが除去することに応答して、MLEによってSTMに送信される。ゲストがメモリを除去し、それにより、SMIを介してBIOSへのメモリ除去要求が生成されてもよい。同様に、BIOSがSCIをトリガーしてMLEに通知し、ゲストがメモリを除去するようにMLEが仮想SCIをゲストに対して投入してもよい。メモリが除去された後に、ブロック560でMLEがSTMへのアンプロテクトリソースVMCALLを引き起こしてもよい。
その後、ブロック570にて、STMが、STMによって維持管理される1つのリスト(又は複数のリスト)において、そのメモリのMLE保護を除去する。そして、BIOSがそのメモリを除去してリムーブBIOSリソースVMCALLを呼び出し、それがブロック580でSTMによって受け取られる。リムーブBIOSリソースVMCALLに応答して、ブロック590にて、STMが、STMによって維持管理されるBIOSリソースリストからそのメモリを除去する。
図6Aは、本開示の一実施形態に従った、コンピュータシステムに対してプロセッサを追加するときのSTMによるホットプラグサポートの方法600のフロー図である。方法600は、ハードウェア(例えば、回路、専用ロジック、プログラマブルロジック、マイクロコードなど)、ソフトウェア(例えば、処理装置上で実行される命令など)、ファームウェア、又はこれらの組み合わせを有し得る処理ロジックによって実行され得る。一実施形態において、方法600は、図4に関して説明したSTM114によって実行される。
方法600はブロック610で開始し、そこで、コンピューティングシステム上で既に動作している元々のプロセッサを介して、BIOSから、アドプロセッサVMCALLが受け取られる。一実施形態において、アドプロセッサVMCALLは、新たなプロセッサが追加されることを指し示したSMIイベントをBIOSが受信することに応答して受け取られる。ブロック620にて、STMは、当該STMによって維持管理されるBIOSリソースのリストに新たなプロセッサを追加する。一実施形態において、BIOSリソースのリストは、コンピューティングシステムのプロセッサを詳述する例えばリンク付けられたリストなどのデータ構造を含む。
ブロック630にて、STMにより、この新たなプロセッサを介してMLEから、イニシャライズプロテクションVMCALLが受け取られる。一実施形態において、イニシャライズプロテクションVMCALLは、SCIイベントを介して追加されるこの新たなプロセッサをMLEが受け取ることに応答して受信される。ブロック640にて、STMによってこの新たなプロセッサ上でSTMが有効にされる。この新たなプロセッサに対してSTMが有効にされると、MLEは、この新たなプロセッサを追加するゲストに対して仮想SCIを投入して、ゲストがプロセッサを使用することができるようにし得る。
図6Bは、本開示の一実施形態に従った、コンピュータシステムに対してプロセッサを除去するときのSTMによるホットプラグサポートの方法650のフロー図である。方法650は、ハードウェア(例えば、回路、専用ロジック、プログラマブルロジック、マイクロコードなど)、ソフトウェア(例えば、処理装置上で実行される命令など)、ファームウェア、又はこれらの組み合わせを有し得る処理ロジックによって実行され得る。一実施形態において、方法650は、図4に関して説明したSTM114によって実行される。
方法650はブロック660で開始し、そこで、STMがMLEからストップSTM VMCALLを受け取る。一実施形態において、ストップSTM VMCALLは、MLEのゲストのうちの1つに関連付けられたプロセッサをMLEが除去することに応答して、MLEによってSTMに送信される。ゲストがプロセッサを除去し、それにより、SMIを介してBIOSへのプロセッサ除去要求が生成されてもよい。同様に、BIOSがSCIをトリガーしてMLEに通知し、ゲストがプロセッサを除去するようにMLEが仮想SCIをゲストに対して投入してもよい。プロセッサが除去された後に、ブロック660でMLEがSTMへのストップSTM VMCALLを引き起こしてもよい。
その後、ブロック670にて、STMが、ストップSTM VMCALLに応答して、除去されるプロセッサに対するSTMサービスを停止する。そして、BIOSがそのプロセッサを除去してリムーブプロセッサVMCALLを呼び出し、それがブロック680でSTMによって受け取られる。リムーブプロセッサVMCALLに応答して、ブロック690にて、STMが、STMによって維持管理されるそのプロセッサに関連付けられたデータ構造を破壊することにより、そのプロセッサを除去する。
図7は、ここで説明された方法のうちの何れか1つ以上をマシンに実行させる命令のセットがその中で実行され得る、コンピュータシステム700の形態の例での、マシンの図形描写を示している。代わりの実施形態において、このマシンは、LAN、イントラネット、エクストラネット、又はインターネットにて、その他のマシンに接続(例えば、ネットワーク化)されてもよい。このマシンは、クライアント−サーバネットワーク環境においてサーバ又はクライアントの能力内で動作し、あるいは、ピア・ツー・ピア(若しくは分散)ネットワーク環境においてピアマシンとして動作し得る。このマシンは、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯情報端末(PDA)、携帯電話、ウェブ電化製品、サーバ、ネットワークルータ、交換機若しくはブリッジ回路、又は、マシンによって行われるべきアクションを規定する命令のセット(シーケンシャル若しくはその他)を実行可能な何らかのマシンとし得る。また、単一のマシンのみが図示されるが、用語“マシン”はまた、ここに説明された方法のうちの何れか1つ以上を実行すべく、命令のセット(又は複数のセット)を個別にあるいは連帯して実行する複数のマシンの集合を含むように解されるべきである。
コンピュータシステム700は、処理装置702と、メインメモリ704(例えば、読み出し専用メモリ(ROM)、フラッシュメモリ、ダイナミックランダムアクセスメモリ(DRAM)(例えば、同期式DRAM(SDRAM)若しくはDRAM(RDRAM)など))と、スタティックメモリ706(例えば、フラッシュメモリ、スタティックランダムアクセスメモリ(SRAM)など)と、データストレージ装置718とを含んでおり、これらはバス730を介して互いに通信する。
処理装置702は、例えばマイクロプロセッサ、中央演算処理ユニット、又はこれらに類するものなどの1つ以上の汎用処理装置を表す。より具体的には、処理装置は、複数命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピュータ(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、若しくはその他の命令セットを実装するプロセッサ、又は複数の命令セットの組み合わせを実装する複数のプロセッサであり得る。処理装置702はまた、例えば特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサ、又はこれらに類するものなどの、1つ以上の専用処理装置であってもよい。一実施形態において、処理装置702は、1つ以上の処理コアを含み得る。処理装置702は、ここに説明された処理及びステップを実行するための処理ロジック726を実行するように構成される。一実施形態において、処理装置702は、例えばSTMなどのRAS対応HPマネジャを実装する図1に関して説明された処理装置100と同じである。例えば、処理装置702は、例えば図1のSTM114などのRAS対応HPマネジャを含み得る。
コンピュータシステム700は更に、ネットワーク720に通信可能に結合されたネットワークインタフェース装置708を含み得る。コンピュータシステム700はまた、ビデオディスプレイユニット710(例えば、液晶ディスプレイ(LCD)若しくは陰極線管(CRT))、英数字入力装置712(例えば、キーボード)、カーソル制御装置714(例えば、マウス)、及び信号生成装置716(例えば、スピーカ)を含み得る。さらに、コンピュータシステム700は、グラフィックス処理ユニット722、ビデオ処理ユニット728、及びオーディオ処理ユニット732を含み得る。
データストレージ装置718は、例えば上述のように限られたエントリーでRASを実装するなど、ここに説明された機能の方法のうちの何れか1つ以上を実装するソフトウェア726が格納される機械アクセス可能記憶媒体724を含み得る。ソフトウェア726はまた、完全に又は少なくとも部分的に、命令726としてメインメモリ704の中にあってもよく、且つ/或いは、コンピュータシステム700による実行中に処理ロジック726として処理装置702の中にあってもよい(メインメモリ704及び処理装置702も、機械アクセス可能記憶媒体を構成する)。
機械読み取り可能記憶媒体724はまた、例えば図1の装置100に関して説明されたものなどのRAS対応HPマネジャを実装する命令726、及び/又は、上述のアプリケーションを呼び出すメソッドを含むソフトウェアライブラリを格納するために使用され得る。機械アクセス可能記憶媒体724は一実施形態例において単一の媒体であるように示されるが、用語“機械アクセス可能記憶媒体”は、1つ以上の命令セットを格納する単一の媒体又は複数の媒体(例えば、集中型若しくは分散型のデータベース、及び/又は関連付けられたキャッシュ及びサーバ)を含むように解されるべきである。用語“機械アクセス可能記憶媒体”はまた、機械による実行のために命令セットを格納、エンコードあるいは搬送することが可能であり且つ本開示の方法のうちの何れか1つ以上を機械に実行させる如何なる媒体をも含むように解されるべきである。従って、用語“機械アクセス可能記憶媒体”は、以下に限られないが、半導体メモリ、光学媒体、及び磁気媒体を含むように解されるべきである。
以下の例は更なる実施形態に関する。例1は、ピアモニタにて信頼性・可用性・保守性(RAS)フローをサポートする方法であって、処理装置により、システムマネジメント割込み(SMI)イベントを受け取ることと、前記SMIイベントに応答して前記処理装置により、読み出し専用メモリ(ROM)エントリーポイントから実行して前記SMIイベントに対処するよう特権マネジャを呼び出すことであり、前記特権マネジャは、メモリホットプラグ機能及びプロセッサホットプラグ機能のサポートを提供するホットプラグサービスモジュールを有する、呼び出すことと、を有する方法である。例2において、例1に係る事項は必要に応じて、前記特権マネジャがシステムマネジメント割込み(SMI)トランスファモニタ(STM)を有することを含むことができる。例3において、例1−2の何れか一に係る事項は必要に応じて、ベーシックインプット/アウトプットシステム(BIOS)のシステムマネジメントモード(SMM)コードを前記特権マネジャのゲストとして実行するハイパーバイザを前記特権マネジャが有することを含むことができる。
例4において、例1−3の何れか一に係る事項は必要に応じて、前記特権マネジャが呼び出し後にランダムアクセスメモリ(RAM)上でエラー検査を実行することを含むことができる。例5において、例1−4の何れか一に係る事項は必要に応じて、前記特権マネジャが前記エラー検査のために移行データ構造にアクセスして前記RAMの完全性を確認することを含むことができる。例6において、例1−5の何れか一に係る事項は必要に応じて、前記移行データ構造が、前記ROMにおける前記特権マネジャのサイズ、前記RAMにおける前記特権マネジャのサイズ、周期的冗長検査(CRC)値、チェック値、ハッシュ、又は暗号マーカーのうちのに少なくとも1つを有するデータを維持管理することを含むことができる。
例7において、例1−6の何れか一に係る事項は必要に応じて、前記エラー検査が前記RAMにおけるエラーを指し示すときに前記特権マネジャがBIOS SMMハンドラを呼び出して前記RAMにおける前記エラーを解消することを含むことができる。例8において、例1−6の何れか一に係る事項は必要に応じて、前記エラー検査が前記RAMにおけるエラーを指し示さないときに、前記特権マネジャが、前記RAMにおいて実行を行う前記特権マネジャの別バージョンに制御を渡すことを含むことができる。
例9において、例1−8の何れか一に係る事項は必要に応じて、前記ホットプラグサービスモジュールが、メモリに関するホットプラグ機能をサポートするための、アプリケーションプログラミングインタフェース(API)への一組のエクステンションを有し、前記APIへの前記エクステンションが、ベーシックインプット/アウトプットシステム(BIOS)と前記特権マネジャとの間で通信されるアドBIOSリソースVMCALL及びリムーブBIOSリソースVMCALLを有することを含むことができる。例10において、例1−9の何れか一に係る事項は必要に応じて、前記ホットプラグサービスモジュールが、プロセッサに関するホットプラグ機能をサポートするための、アプリケーションプログラミングインタフェース(API)への一組のエクステンションを有し、前記APIへの前記エクステンションが、ベーシックインプット/アウトプットシステム(BIOS)と前記特権マネジャとの間で通信されるアドプロセッサVMCALL及びリムーブプロセッサVMCALLを有することを含むことができる。
例11は、ピアモニタにて信頼性・可用性・保守性(RAS)フローをサポートする装置であって、特権実行環境及び低特権実行環境を有するメモリモジュールと、前記メモリモジュールに通信可能に結合された処理装置であり、システムマネジメント割込み(SMI)イベントを受け取り、前記SMIイベントに応答して、読み出し専用メモリ(ROM)エントリーポイントから実行して前記SMIイベントに対処するようSMIトランスファモニタ(STM)を呼び出し、且つ前記STMにより、前記STMのホットプラグサービスモジュールを介して、メモリホットプラグ機能及びプロセッサホットプラグ機能のサポートを提供する処理装置と、を有する装置である。例12において、例11に係る事項は必要に応じて、前記STMが、ハイパーバイザとして実行を行い、且つ当該装置のベーシックインプット/アウトプットシステム(BIOS)のシステムマネジメントモード(SMM)コードを前記STMのゲストとして仮想化することを含むことができる。
例13において、例11−12の何れか一に係る事項は必要に応じて、前記STMが呼び出し後にランダムアクセスメモリ(RAM)上でエラー検査を実行することを含むことができる。例14において、例11−13の何れか一に係る事項は必要に応じて、前記エラー検査が前記RAMにおけるエラーを指し示すときに前記STMがBIOS SMMハンドラを呼び出して前記RAMにおける前記エラーを解消することを含むことができる。例15において、例11−14の何れか一に係る事項は必要に応じて、前記エラー検査が前記RAMにおけるエラーを指し示さないときに、前記STMが、前記RAMにおいて実行を行う別バージョンの特権マネジャに制御を渡すことを含むことができる。
例16において、例11−15の何れか一に係る事項は必要に応じて、前記ホットプラグサービスモジュールが、メモリに関するホットプラグ機能をサポートするための、アプリケーションプログラミングインタフェース(API)への一組のエクステンションを有し、前記APIへの前記エクステンションが、ベーシックインプット/アウトプットシステム(BIOS)と前記STMとの間で通信されるアドBIOSリソースVMCALL及びリムーブBIOSリソースVMCALLを有することを含むことができる。
例17において、例11−16の何れか一に係る事項は必要に応じて、前記ホットプラグサービスモジュールが、プロセッサに関するホットプラグ機能をサポートするための、アプリケーションプログラミングインタフェース(API)への一組のエクステンションを有し、前記APIへの前記エクステンションが、ベーシックインプット/アウトプットシステム(BIOS)と前記STMとの間で通信されるアドプロセッサVMCALL及びリムーブプロセッサVMCALLを有することを含むことができる。上述の装置のオプション機構は全て、ここに記載される方法又はプロセスに関しても実装され得る。
例18は、ピアモニタにて信頼性・可用性・保守性(RAS)フローをサポートするための非一時的な機械読み取り可能記憶媒体である。例18において、非一時的な機械読み取り可能記憶媒体は、処理装置によってアクセスされるときに、前記処理装置に、前記処理装置がシステムマネジメント割込み(SMI)イベントを受け取ることに応答して、読み出し専用メモリ(ROM)エントリーポイントから前記処理装置によって実行される特権マネジャにより、ランダムアクセスメモリ(RAM)の完全性を追跡する移行データ構造にアクセスすることと、前記移行データ構造に基づいて前記特権マネジャにより、前記RAM上でエラー検査を実行することと、前記エラー検査が前記RAMにおけるエラーを指し示さないとき、前記特権マネジャにより、前記RAMにおいて実行を行う前記特権マネジャの別バージョンに制御を渡して前記SMIイベントに対処することであり、前記特権マネジャは、メモリホットプラグ機能及びプロセッサホットプラグ機能のサポートを提供するホットプラグサービスモジュールを有する、対処することと、を有する処理を実行させるデータを含む。
例19において、例18に係る事項は必要に応じて、前記特権マネジャがハイパーバイザとして実行を行うシステムマネジメント割込み(SMI)トランスファモニタ(STM)であり、前記STMがベーシックインプット/アウトプットシステム(BIOS)のシステムマネジメントモード(SMM)コードを前記STMのゲストとして仮想化することを含むことができる。例20において、例18−19の何れか一に係る事項は必要に応じて、前記エラー検査が前記RAMにおけるエラーを指し示すときに、前記特権マネジャにより、BIOS SMMハンドラを呼び出して前記RAMにおける前記エラーを解消することを含むことができる。
例21において、例18−20の何れか一に係る事項は必要に応じて、前記ホットプラグサービスモジュールが、メモリに関するホットプラグ機能をサポートするための、アプリケーションプログラミングインタフェース(API)への一組のエクステンションを有し、前記APIへの前記エクステンションが、ベーシックインプット/アウトプットシステム(BIOS)と前記特権マネジャとの間で通信されるアドBIOSリソースVMCALL及びリムーブBIOSリソースVMCALLを有することを含むことができる。例22において、例18−21の何れか一に係る事項は必要に応じて、前記ホットプラグサービスモジュールが、プロセッサに関するホットプラグ機能をサポートするための、アプリケーションプログラミングインタフェース(API)への一組のエクステンションを有し、前記APIへの前記エクステンションが、ベーシックインプット/アウトプットシステム(BIOS)と前記特権マネジャとの間で通信されるアドプロセッサVMCALL及びリムーブプロセッサVMCALLを有することを含むことができる。
例23は、ピアモニタにて信頼性・可用性・保守性(RAS)フローをサポートする装置であり、当該装置は、システムマネジメント割込み(SMI)イベントを受け取ることに応答して、読み出し専用メモリ(ROM)エントリーポイントを介して、ランダムアクセスメモリ(RAM)の完全性を追跡する移行データ構造にアクセスする手段を有する。例23の装置は更に、前記移行データ構造に基づいて、前記RAM上でエラー検査を実行する手段と、前記エラー検査が前記RAMにおけるエラーを指し示さないときに、前記RAMにおいて実行を行う特権マネジャのバージョンに制御を渡して前記SMIイベントに対処する手段とを有し、前記アクセスする手段は、メモリホットプラグ機能及びプロセッサホットプラグ機能のサポートを提供するホットプラグサービスモジュールを有する。例24において、例23に係る事項は必要に応じて、当該装置が更に、例2乃至10の何れか一に係る方法を実行するように構成されることを含むことができる。
例25は、複数の命令を有する少なくとも1つの機械読み取り可能媒体であり、前記複数の命令は、コンピューティング装置上で実行されることに応答して、前記コンピューティング装置に、例1乃至10の何れか一に係る方法を実行させる。例26は、ピアモニタにて信頼性・可用性・保守性(RAS)フローをサポートする装置であり、当該装置は、例1乃至10の何れか一に係る方法を実行するように構成される。例27は、例1乃至10の何れか一に係る方法を実行する手段を有する装置である。これらの例における細目は、1つ以上の実施形態のどこかで使用され得る。
限られた数の実施形態に関して本開示を説明したが、当業者は、これらからの数多くの変更及び改変を理解するであろう。意図されることには、添付の請求項は、この開示の真の精神及び範囲に入るそのような全ての変更及び改変に及ぶものである。
設計は、創作からシミュレーション、製造まで、様々な段階を経る。設計を表現するデータは、多数の手法でその設計を表現し得る。第1に、シミュレーションで有用なように、ハードウェアは、ハードウェア記述語又は別の機能記述語を用いて表現され得る。また、設計プロセスの何らかの段階で、ロジック及び/又はトランジスタゲートを用いる回路レベルモデルが作成され得る。さらに、大抵の設計は、何らかの段階で、ハードウェアモデル内の様々なデバイスの物理配置を表現するデータのレベルに至る。従来からの半導体製造技術が使用される場合、ハードウェアモデルを表現するデータは、集積回路を製造するのに使用されるマスクの異なるマスクレイヤにおける様々な造形の存在又は不存在を規定するデータであり得る。何れの設計表現においても、データは、何らかの形態の機械読み取り可能媒体に格納され得る。メモリ、又は例えばディスクなどの磁気的若しくは光学的なストレージは、そのような情報を伝送するために変調あるいはその他の方法で生成される光学的若しくは電気的な波を介して伝えられる情報を格納する機械読み取り可能媒体であり得る。コード又は設計を指し示すか担持するかの電気的な搬送波が送信されるとき、この電気信号の複製、バッファリング、又は再送信が実行される限りにおいて、新たなコピーが作成される。故に、通信プロバイダ又はネットワークプロバイダは、有形の機械読み取り可能媒体上に、少なくとも一時的に、本開示の実施形態の技術を具現化する項目(例えば、搬送波にエンコードされる情報など)を格納し得る。
モジュールは、ここで使用されるとき、ハードウェア、ソフトウェア、及び/又はファームウェアの如何なる組み合わせをも意味する。一例として、モジュールは、例えばマイクロコントローラなどのハードウェアを、該マイクロコントローラによって実行されるように適応されたコードを格納する非一時的な媒体と結合して含む。故に、モジュールへの言及は、一実施形態において、非一時的な媒体上に保持されるコードの認識及び/又は実行を行うように具体的に構成されるハードウェアに言及するものである。また、他の一実施形態において、モジュールの使用は、所定の処理を行うようにマイクロコントローラによって実行されるように具体的に適応されたコードを含む非一時的な媒体を意味する。そして、推測され得るように、更なる他の一実施形態において、モジュールなる用語は(この例において)、マイクロコントローラと非一時的な媒体との組み合わせを意味することがある。しばしば、別々であるとして図示されるモジュール境界は、一般に様々であるとともに潜在的に重なり合う。例えば、第1及び第2のモジュールが、何らかの独立したハードウェア、ソフトウェア、又はファームウェアを潜在的に保持しながら、ハードウェア、ソフトウェア、ファームウェア、又はこれらの組み合わせを共有してもよい。一実施形態において、ロジックなる用語の使用は、例えばトランジスタやレジスタなどのハードウェア、又は例えばプログラム可能な論理装置などのその他のハードウェアを含む。
‘ように構成され’という言い回しの使用は、一実施形態において、指定あるいは決定されたタスクを実行するように、装置、ハードウェア、ロジック、又は要素を、配置すること、組み立てること、製造すること、販売を申し出ること、輸入すること、及び/又は設計することを意味する。この例において、動作していない装置又はその要素はなおも、それがその指定タスクを実行するように設計、結合、且つ/或いは相互接続される場合に指定されたタスクを実行する‘ように構成され’ている。純粋に例示的な一例として、論理ゲートは動作中に0又は1を提供し得る。しかし、クロックにイネーブル信号を提供する‘ように構成され’る論理ゲートは、1又は0を提供し得る全ての可能性ある論理ゲートを含むものではない。その代わりに、この論理ゲートは、動作中に1又は0の出力がクロックをイネーブルするように結合されるものである。もう一度断っておくに、用語‘ように構成され’の使用は、動作を必要としないが、その代わりに、装置、ハードウェア、及び/又は要素の潜在状態に注目するものであり、潜在状態において、装置、ハードウェア、及び/又は要素は、装置、ハードウェア、及び/又は要素が動作するときに特定のタスクを実行するように設計される。
また、‘ために’、‘することが可能な’、及び/又は‘するように動作可能な’という言い回しの使用は、一実施形態において、特定の手法でのその装置、ロジック、ハードウェア、及び/又は要素の使用を可能にするように設計された何らかの装置、ロジック、ハードウェア、及び/又は要素を意味する。なお、上述のように、‘ために’、‘することが可能な’、又は‘するように動作可能な’の使用は、一実施形態において、装置、ロジック、ハードウェア、及び/又は要素が動作していないが、特定の手法での装置の使用を可能にするように設計されるという、装置、ロジック、ハードウェア、及び/又は要素の潜在状態を意味する。
値は、ここで使用されるとき、数、状態、論理状態、又はバイナリ論理状態の既知の表現を含む。しばしば、論理レベル、論理値、又は論理的な値の使用はまた、単純にバイナリ論理状態を表現するものである1又は0として参照される。例えば、1はハイ(高)論理レベルを表し、0はロー(低)論理レベルを表す。一実施形態において、例えばトランジスタセル又はフラッシュセルなどの記憶セルは、単一の論理値又は複数の論理値を保持することが可能であり得る。しかしながら、コンピュータシステムにおける値のその他の表現も使用されている。例えば、10進数での10はまた、2進値の1010及び16進文字Aとしても表され得る。故に、値は、コンピュータシステムにおいて保持されることが可能な情報の如何なる表現をも含む。
また、状態は、値又はその部分によって表され得る。一例として、例えば論理1などの第1の値が初期設定状態又は初期状態を表す一方で、例えば論理0などの第2の値が非初期設定状態を表してもよい。加えて、リセット及びセットという用語は、一実施形態において、それぞれ、初期設定の値若しくは状態、及び更新された値若しくは状態を意味する。例えば、初期設定値は可能性としてハイ論理値すなわちリセットを含み、更新値は可能性としてロー論理値すなわちセットを含む。なお、任意数の状態を表すために、任意の組み合わせの値が利用され得る。
上述の方法、ハードウェア、ソフトウェア、ファームウェア又はコードの実施形態は、機械アクセス可能、機械読み取り可能、コンピュータアクセス可能、又はコンピュータ読み取り可能な媒体に格納された、処理要素によって実行可能な命令又はコードによって実装され得る。非一時的な機械アクセス可能/読み取り可能媒体は、例えばコンピュータ又は電子システムなどの機械によって読み取り可能な形態で情報を提供する(すなわち、格納及び/又は伝送する)何らかの機構を含む。例えば、非一時的な機械アクセス可能媒体は、例えばスタティックRAM(SRAM)若しくはダイナミックRAM(DRAM)などのランダムアクセスメモリ(RAM)、ROM、磁気式若しくは光学式の記憶装置、フラッシュメモリ装置、一時的(伝播)信号(例えば、搬送波、赤外線信号、デジタル信号)(これらは、これらから情報を受け取り得る非一時的な媒体から区別される)から受け取った情報を保持するその他の形態の記憶装置などを含む。
本開示の実施形態を実行するようにロジックをプログラムするために使用される命令は、例えばDRAM、キャッシュ、フラッシュメモリ、又はその他のストレージなどの、システム内のメモリの中に格納され得る。また、これらの命令は、ネットワークを介して、あるいは他のコンピュータ読み取り可能媒体によって配給されることができる。故に、機械読み取り可能媒体は、機械(例えば、コンピュータ)によって読み取り可能な形態で情報を格納あるいは伝送する如何なる機構をも含むことができ、以下に限られないが、フロッピー(登録商標)ディスク、光ディスク、コンパクトディスク読み出し専用メモリ(CD−ROM)、磁気光ディスク、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、消去・プログラム可能読み出し専用メモリ(EPROM)、電気的消去・プログラム可能読み出し専用メモリ(EEPROM)、磁気カード若しくは光カード、フラッシュメモリ、又は、電気、光、音響若しくはその他の形態の伝播信号(例えば、搬送波、赤外線信号、デジタル信号など)によるインターネット上での情報の伝送に使用される有形の機械読み取り可能媒体などである。従って、コンピュータ読み取り可能媒体は、機械(例えば、コンピュータ)によって読み取り可能な形態で電子的な命令若しくは情報を格納あるいは伝送するのに好適な、如何なる種類の有形な機械読み取り可能媒体をも含む。
本明細書の至る箇所での“一実施形態”又は“或る実施形態”への言及は、その実施形態に関連して説明される特定の機構、構造、又は特性が、本開示の少なくとも1つの実施形態に含まれることを意味する。故に、本明細書全体を通して様々な箇所に“一実施形態において”又は“或る実施形態において”という言い回しが現れることは、必ずしも全てが同一の実施形態について言及しているわけではない。また、特定の複数の機構、構造又は特性が、1つ以上の実施形態において好適に組み合わされ得る。
以上の明細書にて、特定の例示実施形態を参照して詳細な説明が与えられている。しかしながら、明らかなように、これらには、添付の請求項に記載される本開示のいっそう広い精神及び範囲を逸脱することなく、様々な変更及び変形が為され得る。従って、本明細書及び図面は、限定的な意味ではなく、例示的な意味で考慮されるべきである。また、実施形態及びその他の説明語の以上での使用は、必ずしも、同一の実施形態又は同一の例について言及するものではなく、潜在的に同じ実施形態と同様に、異なる別個の実施形態を参照していることがある。

Claims (25)

  1. ピアモニタにて信頼性・可用性・保守性(RAS)フローをサポートする方法であって、
    処理装置により、システムマネジメント割込み(SMI)イベントを受け取ることと、
    前記SMIイベントに応答して前記処理装置により、読み出し専用メモリ(ROM)エントリーポイントから実行して前記SMIイベントに対処するよう特権マネジャを呼び出すことであり、前記特権マネジャは、メモリホットプラグ機能及びプロセッサホットプラグ機能のサポートを提供するホットプラグサービスモジュールを有する、呼び出すことと、
    を有する方法。
  2. 前記特権マネジャは、システムマネジメント割込み(SMI)トランスファモニタ(STM)である、請求項1に記載の方法。
  3. 前記特権マネジャは、ベーシックインプット/アウトプットシステム(BIOS)のシステムマネジメントモード(SMM)コードを前記特権マネジャのゲストとして実行するハイパーバイザを有する、請求項1に記載の方法。
  4. 前記特権マネジャは、呼び出し後にランダムアクセスメモリ(RAM)上でエラー検査を実行する、請求項1に記載の方法。
  5. 前記特権マネジャは、前記エラー検査のために移行データ構造にアクセスして前記RAMの完全性を確認する、請求項4に記載の方法。
  6. 前記移行データ構造は、前記ROMにおける前記特権マネジャのサイズ、前記RAMにおける前記特権マネジャのサイズ、周期的冗長検査(CRC)値、チェック値、ハッシュ、又は暗号マーカーのうちのに少なくとも1つを有するデータを維持管理する、請求項5に記載の方法。
  7. 前記エラー検査が前記RAMにおけるエラーを指し示すとき、前記特権マネジャは、BIOS SMMハンドラを呼び出して前記RAMにおける前記エラーを解消する、請求項4に記載の方法。
  8. 前記エラー検査が前記RAMにおけるエラーを指し示さないとき、前記特権マネジャは、前記RAMにおいて実行を行う前記特権マネジャの別バージョンに制御を渡す、請求項4に記載の方法。
  9. 前記ホットプラグサービスモジュールは、メモリに関するホットプラグ機能をサポートするための、アプリケーションプログラミングインタフェース(API)への一組のエクステンションを有し、前記APIへの前記エクステンションは、ベーシックインプット/アウトプットシステム(BIOS)と前記特権マネジャとの間で通信されるアドBIOSリソースVMCALL及びリムーブBIOSリソースVMCALLを有する、請求項1に記載の方法。
  10. 前記ホットプラグサービスモジュールは、プロセッサに関するホットプラグ機能をサポートするための、アプリケーションプログラミングインタフェース(API)への一組のエクステンションを有し、前記APIへの前記エクステンションは、ベーシックインプット/アウトプットシステム(BIOS)と前記特権マネジャとの間で通信されるアドプロセッサVMCALL及びリムーブプロセッサVMCALLを有する、請求項1に記載の方法。
  11. ピアモニタにて信頼性・可用性・保守性(RAS)フローをサポートする装置であって、
    特権実行環境及び低特権実行環境を有するメモリモジュールと、
    前記メモリモジュールに通信可能に結合された処理装置であり、
    システムマネジメント割込み(SMI)イベントを受け取り、
    前記SMIイベントに応答して、読み出し専用メモリ(ROM)エントリーポイントから実行して前記SMIイベントに対処するようSMIトランスファモニタ(STM)を呼び出し、且つ
    前記STMにより、前記STMのホットプラグサービスモジュールを介して、メモリホットプラグ機能及びプロセッサホットプラグ機能のサポートを提供する
    処理装置と、
    を有する装置。
  12. 前記STMは、ハイパーバイザとして実行を行い、且つ当該装置のベーシックインプット/アウトプットシステム(BIOS)のシステムマネジメントモード(SMM)コードを前記STMのゲストとして仮想化する、請求項11に記載の装置。
  13. 前記STMは、呼び出し後にランダムアクセスメモリ(RAM)上でエラー検査を実行する、請求項11に記載の装置。
  14. 前記エラー検査が前記RAMにおけるエラーを指し示すとき、前記STMは、BIOS SMMハンドラを呼び出して前記RAMにおける前記エラーを解消する、請求項13に記載の装置。
  15. 前記エラー検査が前記RAMにおけるエラーを指し示さないとき、前記STMは、前記RAMにおいて実行を行う別バージョンの特権マネジャに制御を渡す、請求項13に記載の装置。
  16. 前記ホットプラグサービスモジュールは、メモリに関するホットプラグ機能をサポートするための、アプリケーションプログラミングインタフェース(API)への一組のエクステンションを有し、前記APIへの前記エクステンションは、ベーシックインプット/アウトプットシステム(BIOS)と前記STMとの間で通信されるアドBIOSリソースVMCALL及びリムーブBIOSリソースVMCALLを有する、請求項11に記載の装置。
  17. 前記ホットプラグサービスモジュールは、プロセッサに関するホットプラグ機能をサポートするための、アプリケーションプログラミングインタフェース(API)への一組のエクステンションを有し、前記APIへの前記エクステンションは、ベーシックインプット/アウトプットシステム(BIOS)と前記STMとの間で通信されるアドプロセッサVMCALL及びリムーブプロセッサVMCALLを有する、請求項11に記載の装置。
  18. データを含む非一時的な機械読み取り可能記憶媒体であって、前記データは、処理装置によってアクセスされるときに、前記処理装置に、
    前記処理装置がシステムマネジメント割込み(SMI)イベントを受け取ることに応答して、読み出し専用メモリ(ROM)エントリーポイントから前記処理装置によって実行される特権マネジャにより、ランダムアクセスメモリ(RAM)の完全性を追跡する移行データ構造にアクセスすることと、
    前記移行データ構造に基づいて前記特権マネジャにより、前記RAM上でエラー検査を実行することと、
    前記エラー検査が前記RAMにおけるエラーを指し示さないとき、前記特権マネジャにより、前記RAMにおいて実行を行う前記特権マネジャの別バージョンに制御を渡して前記SMIイベントに対処することであり、前記特権マネジャは、メモリホットプラグ機能及びプロセッサホットプラグ機能のサポートを提供するホットプラグサービスモジュールを有する、対処することと、
    を有する処理を実行させる、非一時的なコンピュータ読み取り可能記憶媒体。
  19. 前記特権マネジャは、ハイパーバイザとして実行を行うシステムマネジメント割込み(SMI)トランスファモニタ(STM)であり、前記STMは、ベーシックインプット/アウトプットシステム(BIOS)のシステムマネジメントモード(SMM)コードを前記STMのゲストとして仮想化する、請求項18に記載の非一時的なコンピュータ読み取り可能記憶媒体。
  20. 前記処理は更に、前記エラー検査が前記RAMにおけるエラーを指し示すときに、前記特権マネジャにより、BIOS SMMハンドラを呼び出して前記RAMにおける前記エラーを解消することを有する、請求項18に記載の非一時的なコンピュータ読み取り可能記憶媒体。
  21. 前記ホットプラグサービスモジュールは、メモリに関するホットプラグ機能をサポートするための、アプリケーションプログラミングインタフェース(API)への一組のエクステンションを有し、前記APIへの前記エクステンションは、ベーシックインプット/アウトプットシステム(BIOS)と前記特権マネジャとの間で通信されるアドBIOSリソースVMCALL及びリムーブBIOSリソースVMCALLを有する、請求項18に記載の非一時的なコンピュータ読み取り可能記憶媒体。
  22. 前記ホットプラグサービスモジュールは、プロセッサに関するホットプラグ機能をサポートするための、アプリケーションプログラミングインタフェース(API)への一組のエクステンションを有し、前記APIへの前記エクステンションは、ベーシックインプット/アウトプットシステム(BIOS)と前記特権マネジャとの間で通信されるアドプロセッサVMCALL及びリムーブプロセッサVMCALLを有する、請求項18に記載の非一時的なコンピュータ読み取り可能記憶媒体。
  23. システムマネジメント割込み(SMI)イベントを受け取ることに応答して、読み出し専用メモリ(ROM)エントリーポイントを介して、ランダムアクセスメモリ(RAM)の完全性を追跡する移行データ構造にアクセスする手段と、
    前記移行データ構造に基づいて、前記RAM上でエラー検査を実行する手段と、
    前記エラー検査が前記RAMにおけるエラーを指し示さないときに、前記RAMにおいて実行を行う特権マネジャのバージョンに制御を渡して前記SMIイベントに対処する手段と
    を有し、
    前記アクセスする手段は、メモリホットプラグ機能及びプロセッサホットプラグ機能のサポートを提供するホットプラグサービスモジュールを有する、
    装置。
  24. 請求項2乃至10の何れか一項に記載の方法を実行するように更に構成された請求項23に記載の装置。
  25. 複数の命令を有する少なくとも1つの機械読み取り可能媒体であって、前記複数の命令は、コンピューティング装置上で実行されることに応答して、前記コンピューティング装置に、請求項1乃至10の何れか一項に記載の方法を実行させる、機械読み取り可能媒体。
JP2015558325A 2013-03-07 2013-03-07 ピアモニタにて信頼性・可用性・保守性(ras)フローをサポートする機構 Expired - Fee Related JP6017706B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/072294 WO2014134808A1 (en) 2013-03-07 2013-03-07 Mechanism to support reliability, availability, and serviceability (ras) flows in a peer monitor

Publications (2)

Publication Number Publication Date
JP2016508645A JP2016508645A (ja) 2016-03-22
JP6017706B2 true JP6017706B2 (ja) 2016-11-02

Family

ID=51490579

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015558325A Expired - Fee Related JP6017706B2 (ja) 2013-03-07 2013-03-07 ピアモニタにて信頼性・可用性・保守性(ras)フローをサポートする機構

Country Status (7)

Country Link
US (1) US9311177B2 (ja)
EP (1) EP2965246A4 (ja)
JP (1) JP6017706B2 (ja)
KR (1) KR101733903B1 (ja)
CN (1) CN104981812B (ja)
BR (1) BR112015018459A2 (ja)
WO (1) WO2014134808A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2953028A4 (en) * 2013-01-31 2016-10-12 Mitsubishi Electric Corp COMPUTER DEVICE AND METHOD FOR CONTROLLING THE COMPUTER DEVICE
US10353765B2 (en) * 2013-03-08 2019-07-16 Insyde Software Corp. Method and device to perform event thresholding in a firmware environment utilizing a scalable sliding time-window
CN104572561A (zh) * 2015-01-30 2015-04-29 浪潮电子信息产业股份有限公司 实现clump整体热插拔的方法和系统
US10127137B2 (en) * 2015-06-03 2018-11-13 Fengwei Zhang Methods and systems for increased debugging transparency
WO2017049594A1 (en) * 2015-09-25 2017-03-30 Intel Corporation Efficient memory activation at runtime
US9734013B2 (en) * 2015-10-09 2017-08-15 Qualcomm Incorporated System and method for providing operating system independent error control in a computing device
US10120740B2 (en) 2016-03-22 2018-11-06 Micron Technology, Inc. Apparatus and methods for debugging on a memory device
EP3413532A1 (en) * 2017-06-07 2018-12-12 Hewlett-Packard Development Company, L.P. Monitoring control-flow integrity
US11138072B2 (en) * 2017-12-22 2021-10-05 Intel Corporation Protected runtime mode
US11036543B1 (en) * 2019-06-14 2021-06-15 Amazon Technologies, Inc. Integrated reliability, availability, and serviceability state machine for central processing units
CN112906009A (zh) * 2021-03-09 2021-06-04 南昌华勤电子科技有限公司 工作日志生成方法、计算设备及存储介质
CN113032737B (zh) * 2021-03-15 2021-11-30 清华大学 软件的保护方法、装置、电子设备及存储介质
US12056465B2 (en) 2022-03-25 2024-08-06 International Business Machines Corporation Verifying the correctness of a leading zero counter

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7117311B1 (en) * 2001-12-19 2006-10-03 Intel Corporation Hot plug cache coherent interface method and apparatus
US7447943B2 (en) * 2003-05-28 2008-11-04 Hewlett-Packard Development Company, L.P. Handling memory errors in response to adding new memory to a system
US7222062B2 (en) * 2003-12-23 2007-05-22 Intel Corporation Method and system to support a trusted set of operational environments using emulated trusted hardware
JP2005011381A (ja) * 2004-09-27 2005-01-13 Toshiba Corp コンピュータシステム
US7222200B2 (en) * 2004-10-14 2007-05-22 Dell Products L.P. Method for synchronizing processors in SMI following a memory hot plug event
US7574593B2 (en) * 2004-12-03 2009-08-11 Hewlett-Packard Development Company, L.P. Persistent memory manipulation using EFI
US7694298B2 (en) * 2004-12-10 2010-04-06 Intel Corporation Method and apparatus for providing virtual server blades
US20060294149A1 (en) * 2005-06-24 2006-12-28 Intel Corporation Method and apparatus for supporting memory hotplug operations using a dedicated processor core
US20070088988A1 (en) * 2005-10-14 2007-04-19 Dell Products L.P. System and method for logging recoverable errors
US7555671B2 (en) * 2006-08-31 2009-06-30 Intel Corporation Systems and methods for implementing reliability, availability and serviceability in a computer system
US9280659B2 (en) * 2006-12-29 2016-03-08 Intel Corporation Methods and apparatus for remeasuring a virtual machine monitor
US20090119748A1 (en) * 2007-08-30 2009-05-07 Jiewen Yao System management mode isolation in firmware
US8151027B2 (en) * 2009-04-08 2012-04-03 Intel Corporation System management mode inter-processor interrupt redirection
US8069228B2 (en) * 2009-05-08 2011-11-29 Hewlett-Packard Development Company, L.P. Preventing access of a network facility in response to an operation
US20110161592A1 (en) * 2009-12-31 2011-06-30 Nachimuthu Murugasamy K Dynamic system reconfiguration
US9575788B2 (en) * 2012-09-04 2017-02-21 Red Hat Israel, Ltd. Hypervisor handling of processor hotplug requests

Also Published As

Publication number Publication date
US9311177B2 (en) 2016-04-12
KR20150102090A (ko) 2015-09-04
CN104981812B (zh) 2018-05-29
CN104981812A (zh) 2015-10-14
EP2965246A1 (en) 2016-01-13
JP2016508645A (ja) 2016-03-22
EP2965246A4 (en) 2016-10-19
US20150186322A1 (en) 2015-07-02
WO2014134808A1 (en) 2014-09-12
KR101733903B1 (ko) 2017-05-08
BR112015018459A2 (pt) 2017-07-18

Similar Documents

Publication Publication Date Title
JP6017706B2 (ja) ピアモニタにて信頼性・可用性・保守性(ras)フローをサポートする機構
KR102255767B1 (ko) 가상 머신 감사를 위한 시스템 및 방법들
JP5367802B2 (ja) 階層化された仮想化アーキテクチャにおける仮想化イベント処理
US8151264B2 (en) Injecting virtualization events in a layered virtualization architecture
JP4688862B2 (ja) 仮想マシン環境における仮想マシンのシングルステップ機能のサポートを提供すること
KR101823888B1 (ko) 신뢰 컴퓨팅을 위한 다중노드 허브
US8132167B2 (en) Context based virtualization
JP2005322242A (ja) 仮想環境からのハードウェアへの直接アクセスの提供
CN101401069A (zh) 安全的操作系统切换
JP2018523201A (ja) ファームウェア関連イベント通知
US7539986B2 (en) Method for guest operating system integrity validation
JP2022545012A (ja) メモリー・アパーチャのフラッシュ・オーダーを使用したデーター保存
US8473945B2 (en) Enabling system management mode in a secure system
CN102214277A (zh) 创建多核处理器虚拟机系统可信环境的方法及装置
JP6920286B2 (ja) 例外処理
WO2013189180A1 (zh) 虚拟化系统中关闭中断的方法和装置
JP2018531462A6 (ja) 例外処理
Rahman Xeon phi system software
Dileep et al. Verification of Linux device drivers using device virtualization
Chen et al. DScope: To Reliably and Securely Acquire Live Data from Kernel-Compromised ARM Devices
Ando et al. Asynchronouns notification channel for exploitation-robust secure OS on virtual machine monitor

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160831

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: 20160913

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160928

R150 Certificate of patent or registration of utility model

Ref document number: 6017706

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees