JP5016028B2 - メモリ・マイグレーション中のdma動作を停止させるコンピュータ実装方法、装置、及びコンピュータ・プログラム - Google Patents

メモリ・マイグレーション中のdma動作を停止させるコンピュータ実装方法、装置、及びコンピュータ・プログラム Download PDF

Info

Publication number
JP5016028B2
JP5016028B2 JP2009511520A JP2009511520A JP5016028B2 JP 5016028 B2 JP5016028 B2 JP 5016028B2 JP 2009511520 A JP2009511520 A JP 2009511520A JP 2009511520 A JP2009511520 A JP 2009511520A JP 5016028 B2 JP5016028 B2 JP 5016028B2
Authority
JP
Japan
Prior art keywords
host bridge
state
page
physical page
migration
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.)
Active
Application number
JP2009511520A
Other languages
English (en)
Other versions
JP2009537922A (ja
Inventor
ベンダー、カール、アルフレッド
バックランド、パトリック、アレン
サーバー、スティーヴン、マーク
ヤーネス、アダルベルト、ギレルモ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2009537922A publication Critical patent/JP2009537922A/ja
Application granted granted Critical
Publication of JP5016028B2 publication Critical patent/JP5016028B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Bus Control (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

本発明は一般にデータ処理システムに関するものであり、より詳細には、メモリ・マイグレーション中のDMA動作を停止させるコンピュータ実装方法、装置、及びコンピュータ・プログラムに関するものである。
近年のコンピュータ・システム動向では、データ処理を中断することなくシステムを実行中に再構成することが可能となっている。例えば、複数のオペレーティング・システムがコンピュータ上で実行されているときに、第1のオペレーティング・システムが特定のメモリ・ブロックを使用している間に、当該メモリ・ブロックを第2のオペレーティング・システムが使用できるように再割り当てする必要が生じる可能性がある。そのような場合では、まず第1のオペレーティング・システムによる当該物理メモリ・ブロックの使用を停止した後、メモリの再割り当てを行うことができる。再割り当てを行わない場合には、例えば物理メモリ・ブロックで問題が検出される恐れがあり、そのような問題が検出された場合には、物理メモリ・ブロックの置き換えを行うことができるように、該当するメモリ部分を操作対象から除外することが望ましいこともある。後者の場合でもやはり、該当するメモリ・ブロックを使用していたオペレーティング・システムはその使用を停止しなければならない。
ある観点から言えば、従来のオペレーティング・システムには上記のメモリのオペレーティング・システム・アクセスに関する諸問題に対処する仮想メモリ管理に関するメカニズムが既に存在するので、1つの物理メモリ・ブロックの使用を停止して別の物理メモリ・ブロックの使用を開始することは比較的容易であるが、これらのメカニズムは、オペレーティング・システムのアクセス対象であるがI/Oデバイスのアクセス対象となっていないプログラム・データについてのみ使用されるメモリ・ブロックに依存する。メモリ・ブロックがI/Oデバイスのアクセス対象となっている場合には、この問題はより困難なものとなる。このようなI/Oデバイスによるアクセスは、必ずしもそうではないが、一般には直接メモリ・アクセス(Direct Memory Access:DMA)である。
直接メモリ・アクセス(DMA)とは、ソフトウェアから直接支援を受けずに、I/Oデバイスから別のエンティティ(例えばメモリや別のI/Oデバイス)にデータを転送する動作を指す。DMAでは、DMA動作を実行するための起点となるI/Oデバイスを使用するために、I/Oバスの制御権(control)を得ることが必要となる。従来のPCIやPCI‐Xのような共用バスの場合、I/Oバスの制御権はI/Oバスのアービトレーションを行うことによって得られる。アービトレーションを実行するエージェント、即ちI/Oバスのアービトレーションを可能にするアービターをオフに切り換えることにより、当該I/Oバスを使用するすべてのエンティティに関するDMAがオフに切り換えられる、即ちDMAが防止される。各バス(リンクとも呼ばれる)毎に1つのデバイスだけが存在するPCI ExpressのようなI/Oバスの場合では、バスへのアクセス権はバッファ・クレジットを有することによって得られ、DMAの停止は、バスの他端のデバイスにバッファ・クレジットを送り返さないことで達成される。
分割トランザクションを利用しないメモリ・マップドI/O(Memory Mapped I/O:MMIO)ロードでは、I/Oデバイスからプロセッサにデータを転送する場合に、動作のターゲット、即ちデータを供給する側のI/Oデバイスが、要求されたデータを返すためのそれ自体のトランザクションをI/Oバス上で生成する必要がない。これらのMMIO動作では、ポーリング動作のうちの1つに関するターゲットが使用可能なデータを獲得し、当該データがリクエスタのアービトレーション・サイクル中にリクエスタに返されるまで、リクエスタ(例えばI/Oブリッジ)は、プロセッサに代わってターゲットにデータを継続的に要求する必要がある(この動作は「ターゲット・ポーリング」と呼ばれることもある)。この動作中、ターゲットはI/Oバスに単独でアクセスするわけではなく、したがってバスの制御権を得る必要はない。ターゲットは、MMIOロード応答動作(MMIO load reply operation)を実行することによってデータを返す。要求されたデータは、MMIOロード応答に含められる。
分割トランザクションを利用したメモリ・マップドI/O(MMIO)ロードでは、I/Oデバイスからプロセッサにデータを転送する場合に、動作のターゲット、即ちデータを供給する側のI/Oデバイスが、リクエスタへのデータの返送を遅らせることができる。ターゲットは、要求されたデータを返すためのそれ自体のトランザクションをI/Oバス上で生成しなければならない。ターゲットは返却すべきデータを獲得すると、MMIOロード応答動作をI/Oバス上で生成してリクエスタにデータを転送する。
I/Oデバイスのアクセス対象となっているデータをある物理ページから別の物理ページに移行する必要が生じることもある。I/Oデバイスのアクセス対象となっているデータを移行する必要がある場合には、その移行処理の間当該データに対するDMAアクセスを中断する必要がある。従来技術では、特に分割トランザクションを使用してメモリ・マップドI/O(MMIO)を実行するシステムについて、データを効率的に移行する解決策が提案されていない。
メモリ・マップドI/O(MMIO)動作のための分割トランザクションを実行するシステムでは、リクエスタがバスの制御権を得ると、リクエスタはそれ自体のMMIOロード要求を発行する。その後、リクエスタは、I/Oデバイスが要求されたデータでMMIOロード要求に応答するまで動作の制御を維持する。このように、ターゲットはバスの制御権を得る必要がない。
分割トランザクションを実行するシステムでは、リクエスタはバスの制御権を得たときにそれ自体のMMIOロード要求を発行する。MMIOロード要求を発行すると、リクエスタはバスの制御権を解放する。ターゲットI/Oデバイスが要求されたデータを獲得したときは、その要求に応答し、それ自体のデータをリクエスタに送信するためにバスの制御権を得なければならない。
I/Oデバイスによるバスへのアクセスをオフに切り換えることによってDMAが停止された場合、分割トランザクションを使用するシステムでは、I/Oシステムの停止された部分を使用しているシステム部分が停止することになる。これは、MMIOロード応答を実行するためにバスの制御権を得る必要があるI/Oデバイスがバスの制御権を得ることができなくなるためである。I/Oデバイスがバスの制御権を得ることができず、それによってそれ自体のMMIOロード応答を実行することができない場合には、MMIOロード動作を完了させることができなくなり、それによってMMIOロード動作を発行するプロセッサが停止することになる。
更に、DMAがI/Oデバイスの直近ではなくプロセッサ付近で停止され、その結果I/Oデバイスが依然としてバスにアクセスすることが可能な場合には、DMA書き込み要求が停止されることによってMMIOロード分割応答がプロセッサに返されなくなる可能性がある。その理由としては、PCI動作の順序付けルールの要求から、同一のI/Oデバイスに由来するそれ以前のすべてのDMA書き込み動作が完了するまでは、ロード動作を行っているプロセッサにMMIOロード応答を返すことができないことが挙げられる。それ故、MMIOロード応答は、処理待ち状態にあるがメモリ・マイグレーション動作が原因で処理できずにいるそれ以前のDMA書き込み要求よりも後の位置で、キューに追加される可能性がある。
データをソース物理ページから宛先物理ページに移行するコンピュータ実装方法、装置、及びコンピュータ・プログラムが開示される。この方法、装置、及びコンピュータ・プログラムは、分割トランザクションを利用してMMIOロード動作(MMIOロード要求とも呼ばれる)が実施されるシステムにおいて、データを1つの物理ページから別の物理ページに移行している間に、MMIOロード動作を止めることなくホスト・ブリッジ内の直接メモリ・アクセス(DMA)動作を停止させることを実現する。
データをソース物理ページから宛先物理ページに移行するマイグレーション・プロセスが開始されると、ホスト・ブリッジが第1の状態に入る。ホスト・ブリッジは、それ自体が第1の状態にあるときは直接メモリ・アクセス(DMA)動作の処理を中断する。その後、データをソース物理ページから宛先物理ページにコピーするデータ・マイグレーション・プロセスが開始される。
ホスト・ブリッジが第1の状態にある間にMMIOロード動作の処理が必要となった場合には、ホスト・ブリッジは第2の状態に遷移してそれ自体のDMA動作及びMMIO動作の処理を再開する。第2の状態に入るプロセスにより、データ・マイグレーション・プロセスを再開する必要があることがデータ・マイグレーション・プロセスにシグナリングされる。
一方、ソース物理ページから宛先物理ページへのデータのコピー処理が完了した時点でホスト・ブリッジが依然として第1の状態にある場合には、ホスト・ブリッジは第3の状態に遷移する。ホスト・ブリッジは、それ自体が第3の状態にあるときはDMA動作及びMMIO動作を含めたすべてのI/O動作の処理を停止させ、これにより、ソース・ページを指していたアドレスが宛先ページを指すように変更することを含めたデータ・マイグレーション・プロセスの最終状態を完了させることが可能となる。
添付の特許請求範囲には、本発明の特徴と考えられる新規な特徴が示されている。以下では単なる例示として、本発明の好ましい使用形態ならびに他の目的及び利点を含めた諸実施形態を、添付図面を参照してより詳細に説明する。
例示的な実施形態は、MMIOロード動作を実行するシステムにおいて、分割トランザクションを使用してデータをソース物理ページから宛先物理ページに移行するときに、MMIOロード動作を停止させずにホスト・ブリッジにおけるDMA動作を停止させるコンピュータ実装方法、装置、及びコンピュータ・プログラムである。例示的な実施形態によれば、データ・マイグレーション・プロセスは、DMA動作が停止されているときにMMIOロード動作を処理する必要が生じたときに再開される。
例示的な実施形態は、PCIホスト・ブリッジ(PHB)のようなホスト・ブリッジ内に実装されるソフト停止状態(soft stop state)及びハード停止状態(hard stop state)を提供する。
本発明の第1の実施形態では、DMA書き込み動作が発生したときに、そのDMA書き込み動作がソース・ページにアクセスを試みるものであるか否かを問わず、ソース・ページから宛先ページへのデータ・マイグレーションが行われている間はホスト・ブリッジを介するすべてのDMA動作が中断される。データをソース物理ページから宛先物理ページに移行する必要があるときは、ソフトウェアによってホスト・ブリッジ内でソフト停止ビットが設定される。ソフト停止ビットが設定されたときは、ホスト・ブリッジはソフト停止状態に入り、ホスト・ブリッジにおけるDMA書き込み動作が行われる。ソフト停止状態の間、ホスト・ブリッジは、当該ホスト・ブリッジに接続されているI/Oデバイスからメモリへの直接メモリ・アクセス(DMA)トラフィックを中断させる。ソフト停止状態がアクティブである期間中、ホスト・ブリッジはMMIOストア・トラフィック(MMIO store traffic)を継続的に処理する。ホスト・ブリッジがソフト停止状態にある間にMMIOロード動作を受け取った場合は、そのMMIOロード動作の処理を可能にするために、ソフト停止状態が中断される。MMIOロード動作の処理を可能にするためにソフト停止状態が中断された場合は、マイグレーション・プロセスを再開する必要がある。
ソフト停止状態を中断させずにマイグレーションを完了させることができる場合は、ソフトウェアがアドレス変更を含めたマイグレーション・プロセスの最終工程を完了させることができるように、ホスト・ブリッジはハード停止状態に入る。ホスト・ブリッジがハード停止状態に入ったときは、当該ホスト・ブリッジを介するMMIOロード動作ならびにMMIOロード応答動作を含めたすべてのDMA及びMMIOトラフィックが中断される。ホスト・ブリッジがハード停止状態にある間に、ソフトウェアはマイグレーション・プロセスの最終工程を完了させることができる。
本発明の第1の例示的な実施形態では、ホスト・ブリッジに含まれるソフト停止ビット(soft stop bit)、ハード停止ビット(hard stop bit)、及びソフト停止障害ビット(soft stop fault bit)について説明する。ホスト・ブリッジは、それ自体のソフト停止ビットが1にセットされたときにソフト停止状態に入り、処理すべきDMA書き込み動作を受け取ることになる。ソフト停止障害ビットは、ホスト・ブリッジがソフト停止状態にある間にMMIOロード動作を受け取ったかどうかを示すものである。ホスト・ブリッジは、それ自体のソフト停止ビットが0にセットされているときはソフト停止状態にならない。ホスト・ブリッジは、それ自体のハード停止ビットが0にセットされているときはハード停止状態にならない。
本明細書では複数のエントリを含むテーブルについて説明する。このテーブルを「変換制御テーブル(translation and control table)」と呼ぶ。テーブル内の各エントリは、特定のソース物理ページと特定のI/Oアダプタとを関連付ける。これらのエントリを「変換制御エントリ(translation and control entry:TCE)」と呼ぶ。このテーブルは、DMA動作に関するI/Oバス・アドレスで索引付けされる。
より具体的に言うと、データをソース物理ページから宛先物理ページに移行する必要がある場合、ソフトウェアは、当該ソース・ページにアクセスする可能性があるすべてのホスト・ブリッジのソフト停止ビットを1にセットする。次に、ソフトウェアは、当該ソース・ページを指すテーブル・エントリを使用している可能性があるすべてのホスト・ブリッジに対してMMIOロード動作を発行することによって、それらのホスト・ブリッジに由来する残りのDMA書き込みをフラッシュする。次に、ソフトウェアは、ソース・ページのデータを宛先ページにコピーする。
ソフトウェアは、ソース・ページにアクセスする可能性がある各ホスト・ブリッジにおいて、データ・マイグレーション中にソフト停止障害ビットが1にセットされていたかどうかを確認する。 ソフト停止障害ビットが1にセットされていた場合には、当該ホスト・ブリッジは、データ移行中にMMIOロード動作を受け取っていることになる。ソフト停止障害ビットが1にセットされていた場合には、ソフトウェアはマイグレーション・プロセスを再開しなければならない。
ソフト停止障害ビットが0にセットされている場合には、ソフト停止ビットがソフトウェアによって読み出されたときに、ハードウェアはハード停止ビットを1にセットする。ハード停止ビットが1にセットされると、ホスト・ブリッジはハード停止状態に入る。ホスト・ブリッジがハード停止状態にある間に、それまでソース・ページを指していた各テーブル・エントリの値が宛先ページを指すように変更される。テーブル・エントリが変更されると、ソフトウェアは変更の影響を受けるホスト・ブリッジのソフト停止ビット、ハード停止ビット、及びソフト停止障害ビットを0にリセットする。
本発明の第2の実施形態では、DMA動作が移行中のデータを有する特定のソース物理ページに対する書き込みを試みるものである場合にだけ、ソース物理ページから宛先物理ページへのデータ・マイグレーション中にホスト・ブリッジを介するDMA動作が中断される。マイグレーション・プロセス中にソース・ページに対する書き込みを試みるDMA動作が存在しない場合には、データ・マイグレーションが行われている間、ホスト・ブリッジによるDMA動作が引き続き処理される。
第2の実施形態では、各変換制御エントリ(TCE)は、本明細書で「マイグレーション処理中(migration−in−progress:MIP)ビット」と呼ばれる新しい制御ビットを含む。TCE内の変換情報は特定の物理ページを指す。物理ページ内のデータを移行すべきときは、当該物理ページを指すTCEのMIPビットが1にセットされる。TCEのMIPビットが0にセットされているときは、TCEが指すページ内のデータは現時点で移行処理が行われていないことになる。
各ホスト・ブリッジには、アドレス変換制御ロジック(address translation and control logic)とDMA制御ロジック(DMA control logic)の両方が含まれる。ホスト・ブリッジ内のアドレス変換制御ロジックにより、それ自体のMIPビットが1にセットされたTCEがフェッチされたときは、DMA動作ロジックは、当該ホスト・ブリッジがソフト停止状態に入るようにソフト停止ビットを1にセットする。ホスト・ブリッジがソフト停止状態に入ると、それ自体のI/Oデバイスのいずれかを対象とするMMIOロード動作が当該ホスト・ブリッジによって受け取らない限り、当該ホスト・ブリッジを介するMMIOストア・トラフィックが引き続き処理される。
ソフト停止状態の間、ホスト・ブリッジは、当該ホスト・ブリッジに接続されているI/Oデバイスからシステム・メモリへのDMA動作を中断させる。ソフト停止状態がアクティブである期間中、ホスト・ブリッジはMMIOストア動作を継続的に処理する。ホスト・ブリッジがソフト停止状態にある間にI/Oデバイスを対象とするMMIOロード動作を受け取った場合は、そのMMIOロード動作の処理を可能にするために、ソフト停止状態が中断される。その場合には、マイグレーション・プロセスを再開する必要があることをソフトウェアにシグナリングするために、ソフト停止障害ビットが1にセットされる。
ソフト停止状態を中断させずにマイグレーションを完了させることができる場合は、ソフトウェアがソフト停止障害ビットを読み出し、その値は0をとることになるが、この場合、ホスト・ブリッジのハードウェアによるハード停止ビットの設定が行われ、ホスト・ブリッジはハード停止状態に入る。ホスト・ブリッジがハード停止状態に入ったときは、当該ホスト・ブリッジを介するすべてのDMA及びMMIOトラフィックが中断される。ホスト・ブリッジがハード停止状態にある間に、ソフトウェアはマイグレーション・プロセスの最終工程を完了させることができる。
より具体的に言うと、データをソース・ページから宛先ページに移行する必要がある場合、ソフトウェアは、すべてのホスト・ブリッジにおいて当該ソース・ページを指すすべてのTCEのMIPビットを1にセットする。次に、ソフトウェアは、当該ソース・ページを指すTCEを使用している可能性があるすべてのホスト・ブリッジに対してMMIOロード動作を発行することによって、それらのホスト・ブリッジに由来する残りのDMA書き込みをフラッシュする。次に、ソフトウェアは、当該ソース・ページのデータを宛先ページにコピーする。次に、ソフトウェアは各ホスト・ブリッジをチェックして、データ・マイグレーション中にホスト・ブリッジのソフト停止障害ビットが1にセットされていたかどうかを確認する。ソフト停止障害ビットが1にセットされていた場合には、当該ホスト・ブリッジは、マイグレーション中にソース・ページをターゲットとするDMA書き込み動作と共にMMIOロード動作も受け取っていることになる。ソフト停止障害ビットが1にセットされている場合には、ソフトウェアはマイグレーション・プロセスを再開しなければならない。ソフト停止障害ビットが0にセットされている場合には、ソフト停止障害ビットがソフトウェアによって読み出されたときに、ハードウェアによってハード停止ビットが1にセットされ、その結果ホスト・ブリッジはハード停止状態に入る。ホスト・ブリッジがハード停止状態にある間に、TCEは宛先ページを指すように変更される。TCEが宛先ページを指すように変更された後は、それらのTCEのMIPビットが0にセットされる。TCEテーブル・エントリが変更されると、ソフトウェアはソフト停止ビット、ハード停止ビット、及びソフト停止障害ビットを0にリセットする。
ここで添付図面を参照すると、図1には、例示的な実施形態を含むデータ処理システムのブロック図が示されている。データ処理システム100は、システム・バス106に接続された複数のプロセッサ101、102、103、及び104を含む対称型マイクロプロセッサ(SMP)システムであってもよい。例えば、データ処理システム100は、ネットワーク内のサーバとして実装されるインターナショナル・ビジネス・マシーンズ・コーポレーション(ニューヨーク州アーモンク)の製品であるIBM eServerであってもよい。別法として、シングル・プロセッサ・システムが採用されてもよい。システム・バス106には、複数のローカル・メモリ160〜163との間のインターフェースを提供するメモリ・コントローラ/キャッシュ108も接続されている。変換制御エントリ(TCE)テーブル110aを含むI/Oブリッジ110はシステム・バス106に接続されており、I/Oバス112との間のインターフェースを提供する。メモリ・コントローラ/キャッシュ108とI/Oブリッジ110は、図示のように統合されてもよい。
I/Oブリッジ110は、テーブル110aを含む。変換制御エントリ(TCE)は、TCEテーブル110aに格納される。テーブル110aは、I/Oページを基準としてI/Oデバイスによる物理ページに対するI/O動作を制御する能力を提供するI/Oアドレス変換保護メカニズムである。
TCEエントリは、物理メモリ160〜163の物理ページと、I/Oバス112からI/Oアダプタ120〜124及びI/Oアダプタ148〜150上で使用可能なI/Oバス・アドレス・ページとを関連付ける。各エントリは、特定の物理ページと特定のI/Oアドレス・ページとを関連付ける。TCEテーブル110aは、DMA動作に関するI/Oバス・アドレスで索引付けされる。このテーブルは、プロセッサ内の仮想アドレス・メカニズムによって提供されるソフトウェアから物理メモリへの間接アドレッシング・メカニズムとほぼ同一の間接アドレッシング・メカニズムとして使用される。このようなプロセッサの仮想アドレス変換メカニズムは当業界で周知である。
データ処理システム100は論理パーティション(LPAR)データ処理システムであるが、本発明はLPARシステムに限定されるものではなく、他のデータ処理システムで実施することもできることを理解していただきたい。LPARデータ処理システム100は、同時に実行される複数の異種オペレーティング・システム(又は単一のオペレーティング・システムの複数のコピー)を有する。これらの複数のオペレーティング・システムは、それぞれの内部で実行される任意の数のソフトウェア・プログラムを有することができる。データ処理システム100は、異なるPCI入出力アダプタ(IOA)120、121、122、123、124、グラフィックス・アダプタ148、及びハード・ディスク・アダプタ149、又はそれらの一部を異なる論理パーティションに割り当てることができるように論理パーティション化されている。この例では、グラフィックス・アダプタ148は表示装置(図示せず)用の接続を提供し、ハード・ディスク・アダプタ149は制御ハード・ディスク150との間の接続を提供する。
ここでは、例えばデータ処理システム100が3つの論理パーティションP1、P2、及びP3に分割されているものとする。各PCI IOA 120〜124、グラフィックス・アダプタ148、ハード・ディスク・アダプタ149、各ホスト・プロセッサ101〜104、及びローカル・メモリ160〜163から成るメモリは、それぞれ3つのパーティションのうちの1つに割り当てられる。この例において、メモリ160〜163はデュアル・インライン・メモリ・モジュール(DIMM)の形をとることができる。DIMMは通常、DIMM単位でパーティションに割り当てられるわけではない。そうではなく、1つのパーティションは、プラットフォームから見た全体のメモリの一部分を占めることになる。例えば、プロセッサ101、ローカル・メモリ160〜163から成るメモリの一部分、ならびにPCI IOA 121、123、及び124を論理パーティションP1に割り当て、プロセッサ102〜103、ローカル・メモリ160〜163から成るメモリの一部分、ならびにPCI IOA 120及び122を論理パーティションP2に割り当て、プロセッサ104、ローカル・メモリ160〜163から成るメモリの一部分、グラフィックス・アダプタ148、ならびにハード・ディスク・アダプタ149を論理パーティションP3に割り当てることができる。
論理パーティション・データ処理システム100内で実行される各オペレーティング・システムは、異なる論理パーティションに割り当てられる。それ故、データ処理システム100内で実行される各オペレーティング・システムは、それぞれの論理パーティション内のIOAにしかアクセスすることができない。例えば、拡張対話式エグゼクティブ(Advanced Interactive Executive:AIX)オペレーティング・システムの第1のインスタンスをパーティションP1内で実行し、AIXオペレーティング・システムの第2のインスタンス(コピー)をパーティションP2内で実行することができ、また、Linuxオペレーティング・システム又はOS/400オペレーティング・システムを論理パーティションP3内で動作させることができる。
周辺機器相互接続(PCI)ホスト・ブリッジ(PHB)130、131、132、及び133はI/Oバス112に接続されており、それぞれPCIバス140、141、142、及び143との間のインターフェースを提供する。PCIバス140、141、142、及び143は、PCI規格に準拠することが好ましい。以下に記載する諸実施形態では、PCIバス140、141、142、及び143は、MMIO動作で分割トランザクションを利用するPCI規格に準拠している。
PCI IOA 120〜121は、スイッチ及びブリッジを備えるI/Oファブリック180を介してPCIバス140に接続されている。同様に、PCI IOA 122はI/Oファブリック181を介してPCIバス141に接続され、PCI IOA 123及び124はI/Oファブリック182を介してPCIバス142に接続され、グラフィックス・アダプタ148及びハード・ディスク・アダプタ149はI/Oファブリック183を介してPCIバス143に接続されている。I/Oファブリック180〜183は、PCIバス140〜143との間のインターフェースを提供する。典型的なPCIホスト・ブリッジは、4対8のIOA(例えばアドイン・コネクタ用の拡張スロット)間でサポートされる。各PCI IOA 120〜124は、データ処理システム100と、例えばデータ処理システム100にとってのクライアントとなる他のネットワーク・コンピュータのような入出力デバイスとの間のインターフェースを提供する。
PCIホスト・ブリッジ130は、PCIバス140とI/Oバス112を接続するためのインターフェースを提供する。また、PCIバス140は、PCIホスト・ブリッジ130と、サービス・プロセッサ・メールボックス・インターフェース/ISAバス・アクセス・パススルー・ロジック194ならびにI/Oファブリック180とを接続する。サービス・プロセッサ・メールボックス・インターフェース/ISAバス・アクセス・パススルー・ロジック194は、PCI/ISAブリッジ193宛てのPCIアクセスを転送する。NVRAMストレージ192は、ISAバス196に接続されている。サービス・プロセッサ135は、それ自体のローカルPCIバス195を介してサービス・プロセッサ・メールボックス・インターフェース/ISAバス・アクセス・パススルー・ロジック194と結合されている。サービス・プロセッサ135は、複数のJTAG/ICバス134を介してプロセッサ101〜104にも接続されている。JTAG/ICバス134は、JTAG/scanバス(IEEE 1149.1参照)とPhillips ICバスの組合せである。しかしながら、別法としてJTAG/ICバス134をPhillips ICバスだけに置き換えることも、JTAG/scanバスだけに置き換えることもできる。ホスト・プロセッサ101、102、103、及び104のすべてのSP−ATTN信号が、サービス・プロセッサの割込み入力信号にまとめて接続される。サービス・プロセッサ135は、それ自体のローカル・メモリ191を有し、ハードウェアOPパネル190にアクセスすることができる。
データ処理システム100が最初に電源投入されたときに、サービス・プロセッサ135は、JTAG/ICバス134を使用して、システム(ホスト)プロセッサ101〜104、メモリ・コントローラ/キャッシュ108、及びI/Oブリッジ110に応答指令を送る(interrogate)。このステップの完了時に、サービス・プロセッサ135は、データ処理システム100のインベントリ及びトポロジを理解する。サービス・プロセッサ135は、ホスト・プロセッサ101〜104、メモリ・コントローラ/キャッシュ108、及びI/Oブリッジ110に応答指令を送ることによって発見されたすべての要素に対して、組込み自己テスト(BIST)、基本検証テスト(BAT)、及びメモリ・テストも実行する。BIST、BAT、及びメモリ・テスト中に検出された障害に関するすべてのエラー情報がサービス・プロセッサ135によって収集され報告される。
BIST、BAT、及びメモリ・テスト中に故障が判明した要素を除外した後でもなおシステム・リソースの有意義な/有効な構成が可能である場合には、データ処理システム100はローカル(ホスト)・メモリ160〜163への実行可能コードのロード処理を進めることが許可される。その後、サービス・プロセッサ135は、ローカル・メモリ160〜163にロードされたコードの実行のためにホスト・プロセッサ101〜104を解放する。ホスト・プロセッサ101〜104がデータ処理システム100内の各オペレーティング・システムに由来するコードを実行している間に、サービス・プロセッサ135はエラー監視/報告モードに入る。サービス・プロセッサ135によって監視される項目タイプとしては、例えば、冷却ファンの速度及び動作、温度センサ、電源レギュレータ、ならびにプロセッサ101〜104、ローカル・メモリ160〜163、及びI/Oブリッジ110から報告される修復可能なエラー及び修復不可能なエラーが挙げられる。
サービス・プロセッサ135は、データ処理システム100内で監視されるすべての項目に関するエラー情報を保存し報告する責任を負う。サービス・プロセッサ135は、エラーのタイプ及び定義済みの閾値に基づく措置も講じる。例えば、サービス・プロセッサ135は、プロセッサのキャッシュ・メモリ上で修復可能なエラーが集中的に発生していることに注目して、ハード障害の兆候があると決定することができる。この判定に基づいて、サービス・プロセッサ135は、現在実行されているセッション中及び将来の初期プログラム・ロード(IPL)中の構成解除に関して当該リソースをマーク付けすることができる。IPLは、「ブート」、又は「ブートストラップ」と呼ばれることもある。データ処理システム100は、市販される様々なコンピュータ・システムを使用して実装することができる。例えば、データ処理システム100は、インターナショナル・ビジネス・マシーンズ・コーポレーションから入手可能なIBM eServer iSeries Model 840システムを使用して実装することができる。そのようなシステムは、やはりインターナショナル・ビジネス・マシーンズ・コーポレーションから入手可能なOS/400オペレーティング・システムを使用した論理パーティショニングをサポートすることができる。
当業者は、図1に示したハードウェアを変更することができることを理解するだろう。例えば、図示のハードウェアに加えて又はその代わりに、光ディスク・ドライブ等の他の周辺デバイスも使用することが可能である。図示の例は、本発明に関するアーキテクチャ上の制限を暗示するものではない。
図2は、例示的な実施形態を含む論理パーティション・プラットフォームのブロック図を示している。論理パーティション・プラットフォーム200内のハードウェアは、例えば図1のデータ処理システム100として実装することができる。論理パーティション・プラットフォーム200は、パーティション化されたハードウェア230、オペレーティング・システム202、204、206、208、及びパーティション管理ファームウェア210を含む。オペレーティング・システム202、204、206、及び208は、論理パーティション・プラットフォーム200上で同時に実行される単一のオペレーティング・システムの複数のコピーであっても、複数の異種オペレーティング・システムであってもよい。これらのオペレーティング・システムは、ハイパーバイザとも呼ばれるパーティション管理ファームウェア210とのインターフェースをとるように設計されたOS/400を使用して実装することができる。例示的な諸実施形態において、OS/400は単なる一例として使用されるものにすぎない。特定の実装形態に応じてAIXやLinuxのような他のタイプのオペレーティング・システムを使用することもできる。
オペレーティング・システム202、204、206、及び208は、それぞれパーティション203、205、207、及び209内に位置する。ハイパーバイザ・ソフトウェアは、パーティション管理ファームウェア210を実装するのに使用され得る、インターナショナル・ビジネス・マシーンズ・コーポレーションから入手可能なソフトウェアの一例である。ファームウェアとは、例えば読み取り専用メモリ(ROM)、プログラマブルROM(PROM)、消去再書込可能ROM(EPROM)、電気的消去再書込可能ROM(EEPROM)、及び不揮発性ランダム・アクセス・メモリ(不揮発性RAM)等、電力なしでそれ自体の内容を保持するメモリ・チップに格納される「ソフトウェア」を指す。
更に、上記のパーティションにはパーティション・ファームウェア211、213、215、及び217も含まれる。パーティション・ファームウェア211、213、215、及び217は、初期ブート・ストラップ・コード、IEEE‐1275規格のオープン・ファームウェア、及びインターナショナル・ビジネス・マシーンズ・コーポレーションから入手可能なランタイム・アブストラクション・ソフトウェア(RTAS)を使用して実装することができる。
パーティション203、205、207、及び209がインスタンス化されるときは、パーティション管理ファームウェア210によってブート・ストラップ・コードのコピーがパーティション203、205、207、及び209にロードされる。その後、制御がブート・ストラップ・コードに移されると、ブート・ストラップ・コードはオープン・ファームウェア及びRTASをロードする。その後、各パーティションに関連付けられた又は割り当てられたプロセッサがパーティションのメモリにディスパッチされ、パーティション・ファームウェアが実行される。
パーティション化されたハードウェア230は、複数のプロセッサ232〜238、複数のシステム・メモリ・ユニット240〜246、複数のIOA 248〜262、記憶ユニット270、及びTCEテーブル272を含む。各プロセッサ232〜238、メモリ・ユニット240〜246、NVRAMストレージ298、及びIOA 248〜262、又はそれらの一部を、それぞれオペレーティング・システム202、204、206、及び208のうちの1つに対応する、論理パーティション・プラットフォーム200内の複数のパーティションのうちの1つに割り当てることができる。
パーティション管理ファームウェア210は、パーティション203、205、207、及び209に関する複数の機能及びサービスを実行して論理パーティション・プラットフォーム200のパーティショニングを作成し、これを施行(enforce)する。パーティション管理ファームウェア210は、基礎となるハードウェアと同一のファームウェア実装型仮想マシンである。そのため、パーティション管理ファームウェア210は、論理パーティション・プラットフォーム200のすべてのハードウェア・リソースを仮想化することにより、独立したOSイメージ202、204、206、及び208の同時実行を可能にする。
サービス・プロセッサ290は、パーティション内のプラットフォーム・エラーの処理のような様々なサービスを提供するのに使用され得る。これらのサービスは、インターナショナル・ビジネス・マシーンズ・コーポレーションのようなベンダーにエラーを報告するサービス・エージェントの働きをすることもできる。様々なパーティションの動作は、ハードウェア管理コンソール280のようなハードウェア管理コンソールを介して制御され得る。ハードウェア管理コンソール280は、システム管理者がそれを利用することで様々なパーティションへのリソースの再配分を含めた各種機能を実行することが可能となる、別個のデータ処理システムである。LPAR環境では、1つのパーティション内のリソース又はプログラムが別のパーティションの動作に影響を与えることは許されない。更に、有用性を高めるために、リソース割り当ての粒度は細かくする必要がある。例えば、特定のPCIホスト・ブリッジ(PHB)に取り付けられたすべてのIOAを同一のパーティションに割り当てることは、パーティション間でリソースを動的に移動する能力を含めたシステムの構成可能能力を制限することになるので、許容されないことが多い。
したがって、PCIホスト・ブリッジでは、個々のIOAやIOAの一部等のリソースを別のパーティションに割り当てると同時に、割り当てられたリソースが、他のパーティションのリソースへのアクセス権を取得すること等による他のパーティションからの影響を受けないようにすることが可能となるように、IOAとI/Oバスとを接続する何らかの機能が必要とされる。
図3は、例示的な実施形態に係る変換制御エントリ(TCE)テーブル及び物理メモリのブロック図を示している。ページ・マイグレーションとは、ある物理ページのデータをコピーして異なる物理ページに格納する処理を指す。
物理メモリ302は、物理ページ304及び物理ページ306を含む。図示の例では、物理ページ304の内容を物理ページ306に移行する様子が示されている。このような移行を可能にする基礎となるメカニズムは、I/OアダプタのI/Oバス・アドレスをTCEテーブルを介してリダイレクトすることである。
TCEテーブル300は、I/Oバス上に配置されるページ・アドレスに基づいてフェッチされるエントリを含む。TCEテーブルに含まれる各エントリは、I/Oバスのページ・アドレスを新しいシステムのメモリ・ページ・アドレスに変換する。例えば、データをソース・ページ304から宛先ページ306に移行する前は、TCE 308及びTCE 310はいずれも物理ページ304を指している。データがソース・ページ304から宛先ページ306に移行された後は、TCE 308及びTCE 310がいずれも物理ページ306を指すようにTCEテーブル300内のアドレスが変更される。
図4は、例示的な実施形態を含むPCIホスト・ブリッジ(PHB)のようなホスト・ブリッジを示している。ホスト・ブリッジ400は、1次バス402を介してホストと通信する。1次バスは、I/Oブリッジと結合されるI/Oバス112(図1参照)のようなI/Oバスとすることができる。メモリ・マップドI/O(MMIO)ロード及びストア要求ならびにDMA読み出し応答は、1次バス402を介してホスト・ブリッジ400によって受信される。MMIOロード及びストア要求は、MMIOキュー制御部(MMIO queues and control)404によってキュー操作され制御される。DMAキュー制御部(DMA queues and control)406でキュー操作されるDMA書き込み及び読み出し要求、ならびにMMIOロード応答キュー制御部(MMIO load reply queues and control)408でキュー操作されるMMIOロード応答は、1次バス402を介してホスト・ブリッジ400の外部に流れる。
ホスト・ブリッジ400は、2次バス410を介して1つ又は複数のI/Oアダプタと通信する。DMA書き込み及び読み出し要求ならびにMMIOロード応答は、2次バス410を介してホスト・ブリッジ400内に流れ込む。2次バス410は、MMIO動作に分割トランザクションを利用するPCI ExpressのようなPCI規格を実施するPCIバスであることが好ましい。
ホスト・ブリッジ400は、使用すべきTCEをフェッチしてDMA動作の変換及び制御を行うアドレス変換制御部(address translation and control)412を含む。アドレス変換制御部412は、ページ・マイグレーション制御部(page migration and control)414と結合されている。
図5は、例示的な実施形態に係るページ・マイグレーション制御部及びアドレス変換制御部を示している。ページ・マイグレーション制御部414は、アドレス変換制御部412(図4参照)と結合されている。ページ・マイグレーション制御部414は、マイグレーション制御状態マシン500と、ソフト停止ビット・レジスタ502と、ハード停止ビット・レジスタ504と、ソフト停止障害ビット・レジスタ506とを含む。ソフト停止ビット、ハード停止ビット、及びソフト停止障害ビットの現在値は、それぞれレジスタ502、504、又は506に格納し、各レジスタから読み出すことができる。
ソース物理ページがソース・ページから宛先物理ページに移行される間、ソフト停止ビットは1にセットされる。ソフト停止ビットが1にセットされている間に、DMA書き込み動作がDMAキュー406に収容された場合は、ソフト停止ビットは、リンク508を介してマイグレーション制御状態マシン500にDMAパイプラインを停止させるようシグナリングする。パイプラインが停止されている間、ホスト・ブリッジ400は、MMIOキュー制御部404(図4参照)からのMMIOロード要求が処理されていない限り、2次リンク410を介して受け取られる後続のDMA書き込みトラフィックの処理を行うことはない。MMIOキュー制御部404からのMMIOロード要求が処理されている場合には、MMIOロード応答メッセージを受信することができるようにDMA停止を解除する必要がある。そうしない場合には、MMIOキューが一杯になり、ソフトウェアがホスト・ブリッジの制御ロジックにアクセスできなくなる可能性があり、その結果MMIOロード要求のデッドロックが発生し、最終的にはMMIOロード要求がタイム・アウトとなる恐れもある。これによってエラー・シナリオが発生する。
マイグレーション制御状態マシン500は、リンク510を介して、ホスト・ブリッジ400がソフト停止状態にある間にMMIOロードを受け取ったことを感知することができる。その場合には、マイグレーション制御状態マシン500はソフト停止障害ビットを1にセットし、それによってマイグレーションを再開する必要があることをソフトウェアに指示する。
ソフトウェアがレジスタ506を読み出したときに、ソフト停止ビットが1と等しく、ソフト停止障害ビットが0と等しい場合には、ページ・マイグレーション制御部414はハード停止ビットを設定し、それによってMMIOロード応答信号が存在する場合にもDMA要求を処理しないようマイグレーション制御状態マシン500にシグナリングする。
図6は、例示的な実施形態に従ってホスト・ブリッジをソフト停止状態に入らせるソフト停止ビットを設定する流れを示す高次のフローチャートである。このプロセスはブロック600から開始し、その後ブロック602に進むと、ソース・ページ内のデータを宛先ページに移行することが可能となるソフト停止ビットを設定するソフトウェア要求が受信される。次にブロック604で、ソフト停止ビットが1にセットされる。その後、このプロセスはブロック606で終了する。図7は、例示的な実施形態に従ってソフト停止障害ビットを設定する流れを示す高次のフローチャートである。このプロセスはブロック700から開始し、その後ブロック702に進むと、メモリ・マップドI/O(MMIO)ロード・コマンドが受信される。次にブロック704で、ソフト停止ビットが1と等しいか否かが判定される。ソフト停止ビットが1と等しくないと判定された場合には、ブロック714に進む。ソフト停止ビットが1と等しいと判定された場合には、ブロック706に進む。
ブロック706では、パイプライン内で停止されたDMA書き込みコマンドが存在するかどうかが判定される。停止されたDMA書き込みコマンドが存在しないと判定された場合には、ブロック714に進む。停止されたDMA書き込みコマンドが存在すると判定された場合には、ブロック708に進んで、ハード停止ビットが1と等しいか否かが判定される。ハード停止ビットが1と等しいと判定された場合には、ハード停止ビットが0と等しくなるまで、ブロック708に戻る。
ブロック708を再び参照して、ハード停止ビットが1と等しくない、即ち0と等しいと判定された場合には、ブロック710に進んで、ソフト停止障害ビットが1にセットされる。次にブロック712で、DMA書き込みが処理される。その後ブロック714に進む。このブロック714では、MMIOロード・コマンドが処理される。その後、このプロセスはブロック716で終了する。
図8は、例示的な実施形態に従ってハード停止ビットを設定する流れを示す高次のフローチャートである。図8のプロセスは、データをソース・ページから宛先ページに移行した後、TCE値が宛先ページを指すように、TCE値を更新する必要があるときに実行されるプロセスである。このプロセスはブロック800から開始し、その後ブロック802に進むと、ハード停止ビット、ソフト停止ビット、及びソフト停止障害ビットの現在の設定を読み出すソフトウェア要求が受信される。
次にブロック804で、ソフト停止ビットが1と等しく、且つソフト停止障害ビットが0と等しいか否かが判定される。ソフト停止ビットが1と等しく、且つソフト停止障害ビットが0と等しいと判定された場合には、ブロック806に進んで、ハード停止ビットが1にセットされる。その後ブロック808に進む。
ブロック804を再び参照して、ソフト停止ビットが1と等しく、且つソフト停止障害ビットが0と等しいと判定されなかった場合には、ブロック808に進んで、ハード停止ビット、ソフト停止ビット、及びソフト停止障害ビットの現在の設定が返される。その後、このプロセスはブロック810で終了する。
図9は、例示的な実施形態に係るホスト・ブリッジに含まれるソフト停止ビット、ハード停止ビット、及びソフト停止障害ビットの現在の設定に基づいて、ホスト・ブリッジが新しいDMA及び割り込み要求を処理する流れを示す高次のフローチャートである。このプロセスはブロック900から開始し、その後ブロック902に進むと、要求が受信される。次にブロック904で、ハード停止ビットが1にセットされているか否かが判定される。ハード停止ビットが1にセットされていることが判定された場合には、ハード停止ビットが1以外の値をとる、即ち0と等しくなるまで、ブロック904に戻る。
ブロック904を再び参照して、ハード停止ビットが1と等しくない、即ち0と等しいと判定された場合には、ブロック906に進んで、ソフト停止ビットが1と等しいか否かが判定される。ソフト停止ビットが1と等しくないと判定された場合には、ブロック912に進む。
ブロック906を再び参照して、ソフト停止ビットが1と等しいと判定された場合には、ブロック908に進んで、ソフト停止障害ビットが1と等しいか否かが判定される。ソフト停止障害ビットが1と等しくないと判定された場合には、ブロック906に戻る。ソフト停止障害ビットが1と等しいと判定された場合には、ブロック910に進む。
ブロック910では、受信された要求がDMA要求であるのかそれとも割り込みであるのかが判定される。受信された要求が割り込みであると判定された場合には、ブロック904に進む。受信された要求がDMA要求であると判定された場合には、ブロック912に進んで、DMAが通常どおり処理される。その後、このプロセスはブロック914で終了する。
図10は、ホスト・ブリッジのメモリ・マップドI/O(MMIO)キューが一杯になった場合に、ハード停止状態にあるホスト・ブリッジが例示的な実施形態に従ってハード停止状態を抜ける流れを示す高次のフローチャートである。このプロセスはブロック1000から開始し、その後ブロック1002に進むと、ハード停止ビットが1と等しいか否かが判定される。ハード停止ビットが1と等しくない、即ち0と等しいと判定された場合には、このプロセスはブロック1004で終了する。
ブロック1002を再び参照して、ハード停止ビットが1と等しいと判定された場合には、ブロック1006に進んで、MMIOキューが一杯になったためにMMIOパイプラインが停止しているか否かが判定される。MMIOパイプラインは、MMIOキューが一杯で新しいMMIO要求を受信することができない場合に停止される。MMIOパイプラインが停止していないと判定された場合には、ブロック1002に戻る。MMIOパイプラインが停止していると判定された場合には、ブロック1008に進んで、パイプラインを停止させているMMIOロードが破棄され、該当するエラー状態が設定され、ハード停止ビットが0にセットされる。破棄されたMMIOロードからのリカバリはプラットフォームに依存するが、典型的には、リカバリにはエラー検出、I/Oサブシステムの再設定、及び未完了のI/O動作の再開が含まれる。I/Oサブシステムの再設定には、ハード停止ビットを0にリセットすることが含まれる。その後、このプロセスはブロック1002に戻る。
図11は、データをソース・ページから宛先ページに移行するときに、ソース・ページへのアクセスが行われているかどうかに関わらず、例示的な実施形態に従ってDMA動作を一時停止させる流れを示す高次のフローチャートである。このプロセスはブロック1100から開始し、その後ブロック1102に進むと、ソース・ページのマッピングを行った各ホスト・ブリッジに対してMMIOロード要求が発行される。このMMIOロードによって未処理のDMA書き込み動作がフラッシュされる。
次にブロック1104で、移行対象のページを指すTCEを有するすべてのホスト・ブリッジにおいてソフト停止ビットが1に、ハード停止ビットが0に、ソフト停止障害ビットが0にセットされる。
次にブロック1106に進んで、データがソース・ページから宛先ページにコピーされる。その後ブロック1108で、ソース・ページのマッピングを行ったすべてのホスト・ブリッジのページ・マイグレーション制御レジスタが読み出される。ソフト停止ビットが1と等しく、且つソフト停止障害ビットが0と等しい場合には、各レジスタの読み出しプロセスによってハード停止ビットが1にセットされる。
次にブロック1110で、すべてのソフト停止障害ビットが0のままであるか否かが判定される。すべてのソフト停止障害ビットが0のままではないと判定された場合には、ブロック1104に戻る。ブロック1110を再び参照して、すべてのソフト停止障害ビットが0のままであると判定された場合には、ブロック1112に進んで、影響を受けるすべてのTCEが宛先ページを指すように設定される。次にブロック1114で、すべてのホスト・ブリッジのすべてのソフト停止ビット、ハード停止ビット、及びソフト停止障害ビットが0にセットされる。その後、このプロセスはブロック1116で終了する。
本発明の第2の例示的な実施形態によれば、TCEテーブル内の各変換制御エントリに新しい制御ビットが追加される。本明細書ではこの新しい制御ビットをマイグレーション処理中(MIP)ビットと呼ぶ。TCEのMIPビットの値は、TCEの指す物理ページ内のデータが現在移行中であるか否かを示す。MIPビットが1にセットされているときは、そのデータは現在移行中ということになる。MIPビットが0にセットされているときは、そのデータは現在移行中でないことになる。
図12は、例示的な実施形態に係るマイグレーション処理中(MIP)ビットを含む変換制御エントリ(TCE)1200を示す図である。各変換制御エントリ(TCE)は、要求とも呼ばれるコマンド内のアドレスを特定の物理ページに変換する変換情報1202と、マイグレーション処理中(MIP)ビット1204と、読み出し/書き込み制御情報1206とを含む。
図13は、ホスト・ブリッジが例示的な実施形態に係る変換制御エントリのマイグレーション処理中(MIP)ビットを利用して、それ自体がソフト停止状態に入るべきかどうかを判定する流れを示す高次のフローチャートである。このプロセスはブロック1300から開始し、その後ブロック1302に進むと、処理すべきDMA動作が受け取られる。次にブロック1304で、当該DMA動作に関するTCEが読み出される。
次にブロック1306で、当該DMA動作がDMA書き込みであるか否か、及びマイグレーション処理中(MIP)ビットが1と等しいか否かが判定される。当該DMA動作がDMA書き込みではなく、且つマイグレーション処理中(MIP)ビットが1と等しいと判定された場合には、このプロセスはブロック1310で終了する。ブロック1306を再び参照して、当該DMA動作がDMA書き込みであり、且つマイグレーション処理中(MIP)ビットが1と等しいと判定された場合には、ブロック1308に進んで、ソフト停止ビットが1にセットされる。その後、このプロセスはブロック1310で終了する。
図14は、例示的な実施形態に従ってデータをソース物理ページから宛先物理ページに移行するときに、ソース・ページにアクセスしているI/Oデバイスが当該ソース・ページへの書き込みを行っているI/Oデバイスである場合にだけ、DMA動作を一時停止させる流れを示す高次のフローチャートである。このプロセスはブロック1400から開始し、その後ブロック1402に進むと、ソース・ページを指すすべてのTCEのマイグレーション処理中(MIP)ビットが1にセットされる。このようにMIPビットを変更するプロセスによって、該当するTCEのキャッシュ・コピーが無効化される。
次にブロック1404で、ソース・ページのマッピングを行った各ホスト・ブリッジに対してメモリ・マップドI/O(MMIO)ロード要求が発行される。このMMIOロードにより、MMIOロード応答がプロセッサに返される前にTCEのハードウェア無効化がホスト・ブリッジに伝達され、TCEに対するすべての書き込みがTCEの無効化前にメモリに確実にフラッシュされることになる。
次にブロック1406に進んで、データがソース・ページから宛先ページにコピーされる。次にブロック1408で、ソース・ページを指すTCEを有する可能性があるすべてのホスト・ブリッジにおいて、ソフト停止ビットが1にセットされる。その後ブロック1410で、ソース・ページのマッピングを行ったすべてのホスト・ブリッジ内のページ・マイグレーション制御レジスタが読み出される。ソフト停止ビット及びソフト停止障害ビットが0と等しい場合には、各レジスタの読み出しプロセスによってハード停止ビットが1にセットされる。
次にブロック1412で、すべてのソフト停止障害ビットが0のままであるか否かが判定される。必ずしもすべてのソフト停止障害ビットが0のままではないと判定された場合には、ブロック1414に進んで、すべてのホスト・ブリッジにおいてソフト停止ビットが0に、ハード停止ビットが0に、ソフト停止障害ビットが0にセットされる。その後、このプロセスはブロック1404に戻る。
ブロック1412を再び参照して、すべてのソフト停止障害ビットが0のままであると判定された場合には、ブロック1416に進んで、影響を受けるすべてのTCEが宛先ページを指すように設定される。次に、それらのTCEのすべてのマイグレーション処理中(MIP)ビットが0にセットされる。次にブロック1418で、すべてのホスト・ブリッジにおいてソフト停止ビットが0に、ハード停止ビットが0に、ソフト停止障害ビットが0にセットされる。その後、このプロセスはブロック1420で終了する。
本発明は全体としてハードウェアの実施形態の形をとることも、ハードウェア要素とソフトウェア要素の両方を含む実施形態の形をとることもできる。好ましい一実施形態において、本発明はハードウェアの形で実施され、また、必ずしもそれだけに限定されるわけではないが、ファームウェア、常駐ソフトウェア、マイクロコード等を含むソフトウェアの形で実施される。
更に、本発明は、コンピュータ又は任意の命令実行システムによって使用され又はそれらと共に使用されるプログラム・コードを備えるコンピュータ使用可能な又はコンピュータに読み込み可能な媒体からアクセス可能なコンピュータ・プログラムの形をとることもできる。本明細書では、コンピュータ使用可能な又はコンピュータに読み込み可能な媒体は、上記命令実行システム、装置、又はデバイスによって使用され又はそれらと共に使用される上記プログラムを収容し、記憶し、通信し、伝搬し、又は移送することが可能な任意の装置であってもよい。
上記媒体は、電子系、磁気系、光学系、電磁気系、赤外線系、又は半導体系(すなわち装置又はデバイス)であっても、伝搬媒体であってもよい。コンピュータに読み込み可能な媒体の例としては、半導体又は固体メモリ、磁気テープ、取り外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、固定磁気ディスク、及び光ディスクが挙げられる。光ディスクの現行例としては、コンパクト・ディスク−読み取り専用メモリ(CD−ROM)、コンパクト・ディスク−読出し/書き込み(CD−R/W)、及びDVDが挙げられる。
プログラム・コードを記憶し又は実行しあるいはその両方を行うのに適したデータ処理システムは、システム・バスを介してメモリ要素に直接又は間接的に連結される少なくとも1つのプロセッサを含む。上記メモリ要素は、上記プログラム・コードの実際の実行中に利用されるローカル・メモリ、バルク記憶装置、及び実行中にバルク記憶装置からコードを検索しなければならない回数を少なくするために、少なくともいくつかのプログラム・コードを一時的に記憶するキャッシュ・メモリを含むことができる。
入力/出力すなわちI/Oデバイス(必ずしもそれだけに限定されるわけではないが、キーボード、ディスプレイ、ポインティング・デバイス等を含む)は、上記システムに直接又はI/Oコントローラを介して、連結することもできる。
介在する私設ネットワーク又は公共ネットワークを介して他のデータ処理システムあるいは遠隔プリンタ又は記憶装置に、上記データ処理システムが連結できるようにするために、上記システムにネットワーク・アダプタを連結することもできる。モデム、ケーブル・モデム及びイーサネット・カードは、現時点で使用可能なタイプのネットワーク・アダプタのほんのいくつかにすぎない。
本発明の諸実施形態に関する上記の記載は、例示及び説明のために提示されるものであり、本発明を余すところのないものとし、又は開示の形態に限定することは、本出願人の意図するところではない。当業者には多くの修正形態及び変更形態が明らかとなるであろう。上記実施形態は、本発明の諸原理及び実際の適用形態が最良の形で説明されるように、また、想定される特定の使用に適するように様々な修正が施された様々な実施形態について当業者が本発明を理解することが可能となるように選択され説明されている。
例示的な実施形態を含むデータ処理システムのブロック図である。 例示的な実施形態を含む論理パーティション・プラットフォームのブロック図である。 例示的な実施形態に係る変換制御エントリ(TCE)テーブル及び物理メモリのブロック図である。 例示的な実施形態を含むホスト・ブリッジを示す図である。 例示的な実施形態に係るページ・マイグレーション制御部及びアドレス変換制御部を示す図である。 例示的な実施形態に従ってホスト・ブリッジがソフト停止状態に入ることを可能にするソフト停止ビットを設定する流れを示す高次のフローチャートである。 例示的な実施形態に従ってソフト停止障害ビットを設定する流れを示す高次のフローチャートである。 例示的な実施形態に従ってホスト・ブリッジをハード停止状態に入らせるハード停止ビットを設定する流れを示す高次のフローチャートである。 例示的な実施形態に係るホスト・ブリッジに含まれるソフト停止ビット、ハード停止ビット、及びソフト停止障害ビットの現在の設定に基づいて、ホスト・ブリッジが新しいDMA及び割り込み要求を処理する流れを示す高次のフローチャートである。 ホスト・ブリッジのメモリ・マップドI/O(MMIO)キューが一杯になった場合に、ハード停止状態にあるホスト・ブリッジが例示的な実施形態に従ってハード停止状態を抜ける流れを示す高次のフローチャートである。 データをソース・ページから宛先ページに移行するときに、ソース・ページへのアクセスが行われているかどうかに関わらず、例示的な実施形態に従ってDMA動作を一時停止させる流れを示す高次のフローチャートである。 例示的な実施形態に係るマイグレーション処理中(MIP)ビットを含む変換制御エントリ(TCE)を示す図である。 ホスト・ブリッジが例示的な実施形態に係る変換制御エントリのマイグレーション処理中(MIP)ビットを利用して、それ自体がソフト停止状態に入るべきかどうかを判定する流れを示す高次のフローチャートである。 例示的な実施形態に従ってデータをソース・ページから宛先ページに移行するときに、ソース・ページにアクセスしているI/Oデバイスが当該ソース・ページへの書き込みを行っているI/Oデバイスである場合にだけ、DMA動作を一時停止させる流れを示す高次のフローチャートである。

Claims (19)

  1. コンピュータの処理により、物理メモリ内のページ(以後、物理ページ)のデータをコピーして前記物理メモリ内の異なるページに格納する処理方法(以後、マイグレーション・プロセス)であって、
    データをコピー元の物理ページから宛先物理ページにコピーするマイグレーション・プロセスを開始するステップと、
    メモリ・マップドI/O(MMIO)ロード及びストア要求ならびにDMA要求を受信するホスト・ブリッジを第1の状態に入らせるステップと、
    前記ホスト・ブリッジが前記第1の状態にあるときは、前記ホスト・ブリッジによって、前記ホスト・ブリッジのDMA要求の処理を中断させるステップと、
    前記ホスト・ブリッジが前記第1の状態にある間に、MMIOロード要求が前記ホスト・ブリッジによって受信された場合は、前記ホスト・ブリッジを第2の状態に入らせるために前記第1の状態に割り込みを発生させるステップと、
    を含む方法。
  2. 前記ホスト・ブリッジによって前記MMIOロード要求が受信されたことに応じて、前記ホスト・ブリッジを第2の状態に入らせるステップと、
    前記ホスト・ブリッジが前記第2の状態にある間に直接メモリ・アクセス要求の処理を再開するステップと、
    を更に含む請求項1に記載の方法。
  3. 前記ホスト・ブリッジが前記第2の状態に入ったことに応じて前記マイグレーション・プロセスの前記中断を再開することを要求するステップ
    を更に含む請求項2に記載の方法。
  4. 前記マイグレーション・プロセスが開始されたことに応じて、前記コピー元の物理ページから前記宛先物理ページへのデータのコピー処理を開始するステップと、
    前記コピー元の物理ページから前記宛先物理ページへの前記データの前記コピー処理が完了したことに応じて、前記ホスト・ブリッジが依然として前記第1の状態にあるかどうかを判定するステップと、
    前記コピー処理が完了した時点で前記ホスト・ブリッジが依然として前記第1の状態にあると判定されたことに応じて、前記ホスト・ブリッジを第3の状態に入らせるステップと、
    を更に含む請求項1乃至3のいずれか一項に記載の方法。
  5. 前記ホスト・ブリッジが前記第3の状態に入ったことに応じて、前記ホスト・ブリッジが前記ホスト・ブリッジによるすべてのI/O動作の処理を停止させるステップ
    を更に含む請求項4に記載の方法。
  6. 前記マイグレーション・プロセスを完了させるステップ
    を更に含む請求項5に記載の方法。
  7. 前記データのアドレスが前記宛先ページを指すように変更するステップと、
    前記ホスト・ブリッジが前記第3の状態を抜けるように仕向けるステップと、
    を更に含む請求項6に記載の方法。
  8. 特定の物理ページに関連する、変換制御テーブル内の各エントリにマイグレーション・ビットを含めるステップと、
    DMA書き込み要求が前記コピー元の物理ページに対する書き込みを試みるものであり、且つ前記コピー元の物理ページに関連するエントリ内でマイグレーション・ビットが設定されている場合にだけ、前記ホスト・ブリッジを前記第1の状態に入らせるステップと、
    を更に含む請求項1乃至7のいずれか一項に記載の方法。
  9. 前記ホスト・ブリッジがDMA要求を受信するステップと、
    前記コピー元の物理ページに関連するマイグレーション・ビットを使用して、前記DMA要求が前記コピー元の物理ページに対する書き込みを試みるものであるかどうかを判定するステップと、
    前記DMA要求が前記コピー元の物理ページに対する書き込みを試みるものであると判定されたことに応じて、前記ホスト・ブリッジを前記第1の状態に入らせるステップと、
    前記DMA要求が前記コピー元の物理ページに対する書き込みを試みるものではないと判定されたことに応じて、前記ホスト・ブリッジが前記DMA要求を実行するステップと、
    を更に含む請求項8に記載の方法。
  10. 請求項1〜9の何れか1つの記載の方法の各ステップをコンピュータに実行させる、コンピュータ・プログラム。
  11. 物理メモリ内のページ(以後、物理ページ)のデータをコピーして前記物理メモリ内の異なるページに格納する処理(以後、マイグレーション・プロセス)を行う装置であって、
    データをコピー元の物理ページから宛先物理ページにコピーするマイグレーション・プロセスを開始する手段と、
    メモリ・マップドI/O(MMIO)ロード及びストア要求ならびにDMA要求を受信するホスト・ブリッジを第1の状態に入らせるページ・マイグレーション・メカニズムと、
    前記ホスト・ブリッジが前記第1の状態にあるときに、前記ホスト・ブリッジのDMA要求の処理を中断させる前記ホスト・ブリッジと、
    前記ホスト・ブリッジが前記第1の状態にある間に、MMIOロード要求が前記ホスト・ブリッジによって受信された場合は、前記ホスト・ブリッジを第2の状態に入らせるために前記第1の状態に割り込みを発生させる前記ページ・マイグレーション・メカニズムと、
    を備える装置。
  12. 前記MMIOロード要求が前記ホスト・ブリッジによって受信されたことに応じて、前記ホスト・ブリッジを第2の状態に入らせる前記ページ・マイグレーション・メカニズムと、
    前記ホスト・ブリッジが前記第2の状態にある間に直接メモリ・アクセス要求の処理を再開する前記ホスト・ブリッジと、
    を更に備える請求項11に記載の装置。
  13. 前記ホスト・ブリッジが前記第2の状態に入ったことに応じて前記マイグレーション・プロセスを再開することを要求する前記ページ・マイグレーション・メカニズム
    を更に備える請求項12に記載の装置。
  14. 前記マイグレーション・プロセスが開始されたことに応じて、前記コピー元の物理ページから前記宛先物理ページへのデータのコピー処理を開始する前記マイグレーション・プロセスと、
    前記コピー元の物理ページから前記宛先物理ページへの前記データの前記コピー処理が完了したことに応じて、前記ホスト・ブリッジが依然として前記第1の状態にあるかどうかを判定する前記ページ・マイグレーション・メカニズムと、
    前記コピー処理が完了した時点で前記ホスト・ブリッジが依然として前記第1の状態にあると判定されたことに応じて、前記ホスト・ブリッジを第3の状態に入らせる前記ページ・マイグレーション・メカニズムと、
    を更に備える請求項11乃至13のいずれか一項に記載の装置。
  15. 前記ホスト・ブリッジが前記第3の状態に入ったことに応じて、すべてのI/O動作の処理を停止させる前記ホスト・ブリッジ
    を更に備える請求項14に記載の装置。
  16. 前記マイグレーション・プロセスを完了させる、
    請求項15に記載の装置。
  17. 前記データのアドレスが前記宛先ページを指すように変更する前記マイグレーション・プロセス
    を更に備える請求項16に記載の装置。
  18. 特定の物理ページに関連する、変換制御テーブル内の各エントリに含められるマイグレーション・ビットと、
    DMA書き込み要求が前記コピー元の物理ページに対する書き込みを試みるものであり、且つ前記コピー元の物理ページに関連するエントリ内でマイグレーション・ビットが設定されている場合にだけ、前記ホスト・ブリッジを前記第1の状態に入らせる前記ページ・マイグレーション・メカニズムと、
    を更に備える請求項11乃至17のいずれか一項に記載の装置。
  19. DMA要求を受信する前記ホスト・ブリッジと、
    前記DMA要求が前記コピー元の物理ページに対する書き込みを試みるものであるかどうかを判定するのに使用される、前記コピー元の物理ページに関連するマイグレーション・ビットと、
    前記DMA要求が前記コピー元の物理ページに対する書き込みを試みるものであると判定されたことに応じて、前記ホスト・ブリッジを前記第1の状態に入らせる前記ページ・マイグレーション・メカニズムと、
    前記DMA要求が前記コピー元の物理ページに対する書き込みを試みるものではないと判定されたことに応じて、前記DMA要求を実行する前記ホスト・ブリッジと、
    を更に備える請求項18に記載の装置。
JP2009511520A 2006-05-25 2007-05-23 メモリ・マイグレーション中のdma動作を停止させるコンピュータ実装方法、装置、及びコンピュータ・プログラム Active JP5016028B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/420,236 2006-05-25
US11/420,236 US7734843B2 (en) 2006-05-25 2006-05-25 Computer-implemented method, apparatus, and computer program product for stalling DMA operations during memory migration
PCT/EP2007/055020 WO2007137983A1 (en) 2006-05-25 2007-05-23 Computer-implemented method, apparatus, and computer program product for stalling dma operations during memory migration

Publications (2)

Publication Number Publication Date
JP2009537922A JP2009537922A (ja) 2009-10-29
JP5016028B2 true JP5016028B2 (ja) 2012-09-05

Family

ID=38335617

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009511520A Active JP5016028B2 (ja) 2006-05-25 2007-05-23 メモリ・マイグレーション中のdma動作を停止させるコンピュータ実装方法、装置、及びコンピュータ・プログラム

Country Status (7)

Country Link
US (1) US7734843B2 (ja)
EP (1) EP2033101B1 (ja)
JP (1) JP5016028B2 (ja)
CN (1) CN101410813B (ja)
AT (1) ATE484797T1 (ja)
DE (1) DE602007009835D1 (ja)
WO (1) WO2007137983A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8595405B2 (en) * 2008-02-18 2013-11-26 Hewlett-Packard Development Company, L.P. Systems and methods of communicatively coupling a host computing device and a peripheral device
US20120023302A1 (en) * 2010-07-20 2012-01-26 Ibm Corporation Concurrent Atomic Operations with Page Migration in PCIe
US8495271B2 (en) * 2010-08-04 2013-07-23 International Business Machines Corporation Injection of I/O messages
US9336029B2 (en) 2010-08-04 2016-05-10 International Business Machines Corporation Determination via an indexed structure of one or more partitionable endpoints affected by an I/O message
US8549202B2 (en) 2010-08-04 2013-10-01 International Business Machines Corporation Interrupt source controller with scalable state structures
US9032146B2 (en) 2010-11-30 2015-05-12 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Dynamic use of raid levels responsive to workload requirements
US8452819B1 (en) 2011-03-22 2013-05-28 Amazon Technologies, Inc. Methods and apparatus for optimizing resource utilization in distributed storage systems
US9473561B2 (en) * 2013-03-15 2016-10-18 International Business Machines Corporation Data transmission for transaction processing in a networked environment
US10042720B2 (en) 2016-02-22 2018-08-07 International Business Machines Corporation Live partition mobility with I/O migration
US10002018B2 (en) 2016-02-23 2018-06-19 International Business Machines Corporation Migrating single root I/O virtualization adapter configurations in a computing system
US10042723B2 (en) 2016-02-23 2018-08-07 International Business Machines Corporation Failover of a virtual function exposed by an SR-IOV adapter
US10025584B2 (en) 2016-02-29 2018-07-17 International Business Machines Corporation Firmware management of SR-IOV adapters
US9760512B1 (en) 2016-10-21 2017-09-12 International Business Machines Corporation Migrating DMA mappings from a source I/O adapter of a source computing system to a destination I/O adapter of a destination computing system
US9715469B1 (en) 2016-10-21 2017-07-25 International Business Machines Corporation Migrating interrupts from a source I/O adapter of a source computing system to a destination I/O adapter of a destination computing system
US9720863B1 (en) 2016-10-21 2017-08-01 International Business Machines Corporation Migrating MMIO from a source I/O adapter of a source computing system to a destination I/O adapter of a destination computing system
US9720862B1 (en) 2016-10-21 2017-08-01 International Business Machines Corporation Migrating interrupts from a source I/O adapter of a computing system to a destination I/O adapter of the computing system
US9740647B1 (en) 2016-10-21 2017-08-22 International Business Machines Corporation Migrating DMA mappings from a source I/O adapter of a computing system to a destination I/O adapter of the computing system
US9785451B1 (en) 2016-10-21 2017-10-10 International Business Machines Corporation Migrating MMIO from a source I/O adapter of a computing system to a destination I/O adapter of the computing system
US10365824B2 (en) * 2017-04-24 2019-07-30 Advanced Micro Devices, Inc. Silent active page migration faults
US11526278B2 (en) 2017-12-21 2022-12-13 Advanced Micro Devices, Inc. Adaptive page close prediction
US11455264B2 (en) * 2020-08-10 2022-09-27 International Business Machines Corporation Minimizing delay while migrating direct memory access (DMA) mapped pages

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5923859A (en) * 1995-04-13 1999-07-13 Compaq Computer Corporation Dual arbiters for arbitrating access to a first and second bus in a computer system having bus masters on each bus
US6587961B1 (en) * 1998-06-15 2003-07-01 Sun Microsystems, Inc. Multi-processor system bridge with controlled access
US6932471B2 (en) 2003-08-06 2005-08-23 Gary M. Zelman Eyeglasses having magnetically coupled primary lens frame and auxiliary frame
US6931471B2 (en) 2002-04-04 2005-08-16 International Business Machines Corporation Method, apparatus, and computer program product for migrating data subject to access by input/output devices
US7480911B2 (en) * 2002-05-09 2009-01-20 International Business Machines Corporation Method and apparatus for dynamically allocating and deallocating processors in a logical partitioned data processing system
US6941436B2 (en) * 2002-05-09 2005-09-06 International Business Machines Corporation Method and apparatus for managing memory blocks in a logical partitioned data processing system
US7103728B2 (en) * 2002-07-23 2006-09-05 Hewlett-Packard Development Company, L.P. System and method for memory migration in distributed-memory multi-processor systems
JP2004086451A (ja) * 2002-08-26 2004-03-18 Matsushita Electric Ind Co Ltd 半導体集積回路
US6804729B2 (en) * 2002-09-30 2004-10-12 International Business Machines Corporation Migrating a memory page by modifying a page migration state of a state machine associated with a DMA mapper based on a state notification from an operating system kernel
US7318140B2 (en) * 2004-06-10 2008-01-08 International Business Machines Corporation Method and apparatus for dynamic hosting partition page assignment
US20060069818A1 (en) * 2004-09-27 2006-03-30 Cliff Mather Synchronizing direct memory access and evacuation operations in a computer system
US7500072B2 (en) * 2006-04-25 2009-03-03 International Business Machines Corporation Migrating data that is subject to access by input/output devices

Also Published As

Publication number Publication date
JP2009537922A (ja) 2009-10-29
US7734843B2 (en) 2010-06-08
EP2033101B1 (en) 2010-10-13
EP2033101A1 (en) 2009-03-11
CN101410813A (zh) 2009-04-15
WO2007137983A1 (en) 2007-12-06
US20080005383A1 (en) 2008-01-03
ATE484797T1 (de) 2010-10-15
CN101410813B (zh) 2011-11-16
DE602007009835D1 (de) 2010-11-25

Similar Documents

Publication Publication Date Title
JP5016028B2 (ja) メモリ・マイグレーション中のdma動作を停止させるコンピュータ実装方法、装置、及びコンピュータ・プログラム
JP4898525B2 (ja) Dmaオペレーションを選択的に停止させるための方法、装置およびデータ処理システム
US8607020B2 (en) Shared memory partition data processing system with hypervisor managed paging
JP5579354B2 (ja) 関連アプリケーションに対するトラック・データ・クロスリファレンスを保存する方法及び装置
US7480911B2 (en) Method and apparatus for dynamically allocating and deallocating processors in a logical partitioned data processing system
US7484029B2 (en) Method, apparatus, and computer usable program code for migrating virtual adapters from source physical adapters to destination physical adapters
JP4157710B2 (ja) Pci入出力スロットの論理分割を実施する方法および装置
US8949659B2 (en) Scheduling workloads based on detected hardware errors
US8201167B2 (en) On-demand allocation of virtual asynchronous services interfaces
JP2015135696A (ja) ローカル物理メモリとリモート物理メモリとの間で共有されるバーチャルメモリのためのハードウェアサポートの提供
JP4405435B2 (ja) 動的なホスト区画ページ割り当てのための方法および装置
JP2008102921A (ja) データ処理システム、ハイパートランスポート環境におけるi/oアダプタのlpar分離方法、およびプログラム記憶デバイス
US20100100892A1 (en) Managing hosted virtualized operating system environments
US7941568B2 (en) Mapping a virtual address to PCI bus address
US7500051B2 (en) Migration of partitioned persistent disk cache from one host to another
US7266631B2 (en) Isolation of input/output adapter traffic class/virtual channel and input/output ordering domains
US8139595B2 (en) Packet transfer in a virtual partitioned environment
US20140122850A1 (en) Non-interrupting performance tuning using runtime reset
US20120124298A1 (en) Local synchronization in a memory hierarchy

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110906

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111201

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120607

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150615

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5016028

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150