JP5731641B2 - アダプタ機能に関する変換フォーマットのランタイム決定のための方法、システム、およびコンピュータ・プログラム - Google Patents
アダプタ機能に関する変換フォーマットのランタイム決定のための方法、システム、およびコンピュータ・プログラム Download PDFInfo
- Publication number
- JP5731641B2 JP5731641B2 JP2013515722A JP2013515722A JP5731641B2 JP 5731641 B2 JP5731641 B2 JP 5731641B2 JP 2013515722 A JP2013515722 A JP 2013515722A JP 2013515722 A JP2013515722 A JP 2013515722A JP 5731641 B2 JP5731641 B2 JP 5731641B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- format
- adapter
- memory
- translation
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
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)
- Executing Machine-Instructions (AREA)
- Bus Control (AREA)
Description
フォーマット212:このフィールドは、たとえばアドレス変換テーブルの上位レベル・テーブルのアドレス変換フォーマットを含む、様々な情報を示すための複数のビットを含む。アドレス変換フォーマットは、テーブルのレベル(たとえば上記の例では、第1レベル・テーブル)、ならびに、システム・メモリにアクセスする際に直接使用可能なアドレスの提供(たとえば、CPU DAT適合、I/O拡張アドレス、迂回、フェッチなしなど)に使用されることになる、選択されたアドレス変換フォーマット(変換フォーマットとも呼ばれる)を示す。
ページ・サイズ213:このフィールドは、アクセスされることになるページ(またはメモリの他の単位)のサイズを示す。
PCIベース・アドレス214およびPCI限界216:これらの値は、DMAアドレス・スペースを定義し、受信したアドレス(たとえばPCIアドレス)が有効かどうかを検証するために使用される、領域を提供する。
IOAT(入力/出力アドレス変換)ポインタ218:このフィールドは、DMAアドレス・スペースに使用されるアドレス変換テーブルの最高レベルに対するポインタを含む。
a)アドレス変換が迂回される迂回フォーマット。このフォーマットは、登録が実行されているアダプタが信頼できるアダプタである場合に使用可能である。アダプタは、たとえばアダプタのハードウェア設計が十分に堅固であり、アドレスが破損しないように保護されている場合に、信頼できるアダプタであるとみなされる。たとえば、独自の変換および保護メカニズムを提供する内部で開発されたアダプタ、または、信頼できるファームウェアによって管理されるアダプタは、信頼できるアダプタであるとみなすことができる。
本明細書で使用される場合、ファームウェアは、たとえばプロセッサの、マイクロコード、ミリコード、またはマクロコード、あるいはそれらすべてを含む。これはたとえば、より高いレベルの機械コードの実装で使用される、ハードウェア・レベルの命令またはデータ構造を含む。一実施形態では、これはたとえば、通常は、基礎となるハードウェアに特有の信頼できるソフトウェアまたはマイクロコードを含み、システム・ハードウェアへのオペレーティング・システム・アクセスを制御する、マイクロコードとして送達される、所有権を主張できるコードを含む。
たとえば、System z(R)上にI/Oアダプタがネイティブ接続されている場合、I/Oアドレス変換(IOAT)を採用して、アダプタによるシステム・メモリのDMAアクセスの保護および分離が提供される。しかしながら、前述のアダプタを含む、この特別な保護レベルを必要としないアダプタのクラスが存在する。したがって、そうしたアダプタの場合、迂回フォーマットを選択することができる。
b)アダプタからの初期要求に含まれるアドレスが、いかなる変換テーブルのフェッチもなしに使用可能である、フェッチなしフォーマット。このフォーマットは、メモリが連続しており、ページ・サイズがわかっており、アドレスが制約付き領域(たとえば、4Kまたは1Mページ)に関するものである場合に、選択可能であり、システム・メモリからのいかなる変換テーブルのフェッチも必要でない。システム・メモリにアクセスするために使用可能なアドレス(すなわち、フェッチなしフォーマットが選択された場合に結果として生じるアドレス)は、IOATポインタのアドレスから導出される。たとえば、4Kページ・サイズの場合、PCIアドレスの低位ビット(たとえばビット11:0)は、システム・メモリにアクセスする際に使用可能な結果として生じるアドレスを取得するために、IOATポインタの上位52ビットと連結される。
c)I/Oアドレスの変換に使用される変換テーブルが、CPU DAT変換に使用される変換テーブルに適合可能な、CPU DAT適合フォーマット。すなわち、CPU動的アドレス変換に既に使用されているものと同様であり、これに適合可能な、アドレス変換テーブルが使用されることになる。これにより、これらのタイプのテーブルの使用に精通しているそれらのオペレーティング・システムに対して使い易さを与え、CPUとI/Oアダプタとの間でのテーブルの共有を可能にし、あるオペレーティング・システム(たとえばz/VM(R))にそのページング可能ゲストのDMAスペースを管理する際に効率を提供する。図9を参照しながら、以下でより詳細に説明するように、様々なCPU DAT適合フォーマットが使用可能である。
d)I/Oアドレス変換に拡張アドレス変換テーブルが使用される、I/O拡張アドレス変換フォーマット。このフォーマットでは、アドレス変換テーブルはI/O動作専用であり、CPUアドレス変換で通常使用されるサイズよりも大きい可能性がある。たとえば、1Mあるいはそれよりも大きいページ・テーブルまたは他の変換テーブル、あるいはその両方が存在する可能性がある。さらに、ページ・テーブルを含む異なるレベルの変換テーブルのサイズは互いに異なる可能性があり、ページ自体と異なる可能性がある。従来のサイズの増加はバス・トランザクションを減少させ、I/O変換キャッシュの改善を助ける。ページ・テーブルおよび他の変換テーブルのサイズ、ならびにページのサイズは、どれだけのレベルの変換が必要であるかを決定する。異なるI/O拡張アドレス変換フォーマットの例について、図10を参照しながら以下でさらに詳細に説明する。
インスタンス番号:このフィールドは、機能テーブル・エントリに関連付けられたアダプタ機能ハンドルの特定のインスタンスを含む。
デバイス・テーブル・エントリ(DTE)インデックス1…n:1つまたは複数のデバイス・テーブル・インデックスが存在可能であり、各インデックスはデバイス・テーブル・エントリ(DTE)の位置を特定するためのデバイス・テーブルへのインデックスである。アダプタ機能につき1つまたは複数のデバイス・テーブル・エントリが存在し、各エントリは、アダプタ機能の要求(たとえば、DMA要求、MSI要求)を処理するために使用される情報、およびアダプタ機能に関連付けられた要求に関する情報(たとえばPCI命令)を含む、そのアダプタ機能に関連付けられた情報を含む。各デバイス・テーブル・エントリは、アダプタ機能に割り当てられたシステム・メモリ内の1つのアドレス・スペースに関連付けられる。アダプタ機能は、アダプタ機能に割り当てられたシステム・メモリ内の1つまたは複数のアドレス・スペースを有することができる。
ビジー・インジケータ:このフィールドは、アダプタ機能がビジーであるかどうかを示す。
永続的エラー状態インジケータ:このフィールドは、アダプタ機能が永続的エラー状態にあるかどうかを示す。
回復開始インジケータ:このフィールドは、アダプタ機能に関して回復が開始されたかどうかを示す。
許可インジケータ:このフィールドは、アダプタ機能の制御を試行しているオペレーティング・システムが、それを実行する権限を有するかどうかを示す。
実行可能インジケータ:このフィールドは、アダプタ機能が実行可能であるかどうかを示す(たとえば、1=実行可能、0=実行不可)。
要求側識別子(RID):これは、アダプタ機能の識別子であり、たとえばバス番号、デバイス番号、および機能番号を含む。
一例では、このフィールドはアダプタ機能の構成スペースのアクセスに使用される。(アダプタのメモリは、たとえば構成スペース、I/Oスペース、または、1つまたは複数のメモリ・スペース、あるいはそれらすべてを含む、アダプタ・スペースとして定義可能である。)一例では、構成スペースは、オペレーティング・システム(または他の構成)によってアダプタ機能に発行された命令内の構成スペースを指定することによってアクセス可能である。命令内に指定されるのは、構成スペース内へのオフセット、および、RIDを含む適切な機能テーブル・エントリの位置を特定するために使用される機能ハンドルである。ファームウェアは命令を受信し、これが構成スペース用であるかどうかを決定する。したがって、I/Oハブへの要求を生成するためにRIDを使用し、I/Oハブはアダプタにアクセスするための要求を作成する。アダプタ機能の位置はRIDに基づき、オフセットはアダプタ機能の構成スペース内へのオフセットを指定する。
ベース・アドレス・レジスタ(BAR)(1からn):このフィールドは、最初に指定されたアダプタ機能に関連付けられ、その値もアダプタ機能に関連付けられたベース・アドレス・レジスタ内に格納される、BAR0〜BARnとして指定された、複数の符号なし整数を含む。例として、各BARは、アダプタ機能内のメモリ・スペースまたはI/Oスペースの開始アドレスを指定し、これが64または32ビットのメモリ・スペースであるか、あるいは32ビットのI/Oスペースであるかの、アドレス・スペースのタイプも示す。
一例では、これは、アダプタ機能のメモリ・スペースまたはI/Oスペースあるいはその両方にアクセスするために使用される。たとえば、アダプタ機能にアクセスするための命令内に提供されるオフセットは、アダプタ機能にアクセスするために使用されることになるアドレスを取得するために命令内に指定されたアドレス・スペースに関連付けられたベース・アドレス・レジスタ内の値に追加される。命令内に提供されるアドレス・スペース識別子は、アクセスされることになるアダプタ機能内のアドレス・スペースと、使用されることになる対応するBARとを識別する。
サイズ1…n:このフィールドは、SIZE0〜SIZEnとして指定された、複数の符号なし整数を含む。サイズ・フィールドの値は、非ゼロの場合、以前に説明されたBARに対応する各エントリを備えた各アドレス・スペースのサイズを表す。
1.BARがアダプタ機能に関して実装されない場合、BARフィールドおよびその対応するサイズ・フィールドはどちらのゼロとして格納される。
2.BARフィールドがI/Oアドレス・スペースまたは32ビット・メモリ・アドレス・スペースのいずれかを表す場合、対応するサイズ・フィールドは非ゼロであり、アドレス・スペースのサイズを表す。
3.BARフィールドが64ビット・メモリ・アドレス・スペースを表す場合、
a.BARnフィールドは最下位アドレス・ビットを表す。
b.次の連続するBARn+1フィールドは、最上位アドレス・ビットを表す。
c.対応するSIZEnフィールドは、非ゼロであり、アドレス・スペースのサイズを表す。
d.対応するSIZEn+1フィールドは有意ではなく、ゼロとして格納される。
内部ルーティング情報:この情報は、アダプタへの特定のルーティングを実行するために使用される。例として、たとえばこれは、ノード、プロセッサ・チップ、およびハブ・アドレス指定情報を含む。
状況指示:これは、ロード/格納動作が阻止されているか、またはアダプタがエラー状態にあるかの指示、ならびに他の指示を提供する。
フォーマット651:このフィールドは、FIBのフォーマットを指定する。
遮断制御652:このフィールドは、ページ可能モード・ゲストによる特有の命令のゲスト実行の結果、命令の遮断が生じるかどうかを示すために使用される。
エラー指示654:このフィールドは、ダイレクト・メモリ・アクセスおよびアダプタ割り込みに関するエラー状態指示を含む。ビットが設定された場合(たとえば1)、アダプタ機能に関するダイレクト・メモリ・アクセスまたはアダプタ割り込みの実行中に、1つまたは複数のエラーが検出されている。
ロード/格納阻止656:このフィールドは、ロード/格納動作が阻止されるかどうかを示す。
PCI機能有効658:このフィールドは、アダプタ機能に関する実行可能化制御を含む。ビットが設定された場合(たとえば1)、アダプタ機能はI/O動作に対して実行可能化されるものとみなされる。
アドレス・スペース登録済み660:このフィールドは、アダプタ機能に関するダイレクト・メモリ・アクセス実行可能化制御を含む。フィールドが設定された場合(たとえば1)、ダイレクト・メモリ・アクセスは実行可能化される。
ページ・サイズ661:このフィールドは、DMAメモリ・アクセスによってアクセスされることになるページのサイズまたは他のメモリ単位を示す。
PCIベース・アドレス(PBA)662:このフィールドは、アダプタ機能に割り当てられるシステム・メモリ内のアドレス・スペースに関するベース・アドレスである。これは、アダプタ機能が、指定されたDMAアドレス・スペースへのダイレクト・メモリ・アクセスに使用可能である、最下位仮想アドレスを表す。
PCIアドレス限界(PAL)664:このフィールドは、アダプタ機能が、指定されたDMAアドレス・スペース内でアクセス可能である、最高位仮想アドレスを表す。
入力/出力アドレス変換ポインタ(IOAT)666:入力/出力アドレス変換ポインタは、PCI仮想アドレス変換によって使用される任意の変換テーブルのうちの第1を指定するか、または、変換の結果であるストレージのフレームの絶対アドレスを直接指定することができる。
割り込みサブクラス(ISC)668:このフィールドは、アダプタ機能に関するアダプタ割り込みを提示するために使用される、割り込みサブクラスを含む。
割り込みの数(NOI)670:このフィールドは、アダプタ機能用に受け入れられる別個の割り込みコードの数を指定する。さらにこのフィールドは、アダプタ割り込みビット・ベクトル・アドレスおよびアダプタ割り込みビット・ベクトル・オフセット・フィールドによって指定された、アダプタ割り込みビット・ベクトルのサイズを、ビット単位でも定義する。
アダプタ割り込みビット・ベクトル・アドレス(AIBV)672:このフィールドは、アダプタ機能に関するアダプタ割り込みビット・ベクトルのアドレスを指定する。このベクトルは割り込み処理で使用される。
アダプタ割り込みビット・ベクトル・オフセット674:このフィールドは、アダプタ機能に関する第1のアダプタ割り込みビット・ベクトル・ビットのオフセットを指定する。
アダプタ割り込み要約ビット・アドレス(AISB)676:このフィールドは、オプションで、割り込み処理で使用される、アダプタ割り込み要約ビットを指定するアドレスを提供する。
アダプタ割り込み要約ビット・オフセット678:このフィールドは、アダプタ割り込み要約ビット・ベクトルへのオフセットを提供する。
機能測定ブロック(FMB)680:このフィールドは、アダプタ機能に関する測定値を収集するために使用される、機能測定ブロックのアドレスを提供する。
機能測定ブロック・キー682:このフィールドは、機能測定ブロックにアクセスするためのアクセス・キーを含む。
要約ビット通知制御684:このフィールドは、使用されている要約ビット・ベクトルが存在するかどうかを示す。
命令認証トークン686:このフィールドは、ページ可能ストレージ・モード・ゲストがPCI命令の実行を認証されているかどうかを決定するために使用される。
一例では、z/Architecture(R)において、ページ可能ゲストは、レベル2の解釈で、解釈実行開始(SIE)命令を介して解釈的に(interpretively)実行される。たとえば、論理区画(LPAR)ハイパーバイザは、物理的な固定メモリにおける論理区画を開始するために、SIE命令を実行する。z/VM(R)がその論理区画におけるオペレーティング・システムである場合、そのV=V(仮想)ストレージにおいてそのゲスト(仮想)機会を実行するために、SIE命令を発行する。したがって、LPARハイパーバイザはレベル1のSIEを使用し、z/VM(R)ハイパーバイザはレベル2のSIEを使用し、さらに
アドレス変換フォーマット687:このフィールドは、変換で使用されることになる最高レベル変換テーブルのアドレス変換のために選択されたフォーマット(たとえば、最高レベル・テーブル(たとえば、セグメント・テーブル、領域第3など)の指示、および選択されたフォーマット(たとえば、CPU DAT適合、I/O拡張アドレス変換フォーマット、迂回フォーマット、フェッチなしフォーマット)の指示)を示す。
Claims (14)
- アダプタの位置を特定するためのハンドルと、複数の使用可能な変換フォーマットの中から選択された変換フォーマットとを指定する、PCI機能制御修正(MPFC)命令のプロセッサによる実行に応答して、前記ハンドルによってアダプタに関連付けられた変換フォーマットを前記選択された変換フォーマットに設定するステップと、
前記アダプタからの要求の受信に応答して、メモリへのアクセス時に使用可能なアドレスを提供する際に使用されることになる変換フォーマットの指示を、ランタイム時に取得するステップであって、前記変換フォーマットは、前記設定するステップにより前記アダプタに関して事前に登録され、前記要求は、メモリへのアクセス時に使用可能な前記アドレスを提供する際に使用されることになる初期アドレスを有する、取得するステップと、
前記取得された変換フォーマットおよび前記初期アドレスに基づいて、メモリへのアクセス時に使用可能なダイレクト・メモリ・アクセス(DMA)アドレスを決定するステップであって、前記初期アドレスは前記アダプタによって生成される、決定するステップと、
アダプタ・データを前記DMAアドレスで格納またはフェッチするステップと、
を含む、メモリ・アクセスを容易にするための方法。 - 前記複数の使用可能な変換フォーマットが、選択された中央処理ユニット動的アドレス変換(CPU DAT)適合フォーマット、1つまたは複数の拡張アドレス変換テーブルを使用する選択された入力/出力(I/O)拡張アドレス変換フォーマット、アドレス変換が迂回される迂回フォーマット、あるいは、アドレス変換テーブルがフェッチされないフェッチなしフォーマットのうちの、1つまたは複数を含む、請求項1に記載の方法。
- 前記取得するステップが、前記変換フォーマットが前記迂回フォーマットである旨の指示を取得し、前記決定するステップが、前記変換フォーマットが前記迂回フォーマットであることに応答して、メモリへのアクセス時に使用可能な前記アドレスが前記初期アドレスである旨を決定する、請求項2に記載の方法。
- 前記迂回フォーマットが、前記アダプタが信頼できるアダプタであることに基づいて選択される、請求項3に記載の方法。
- 前記取得するステップが、前記変換フォーマットが前記フェッチなしフォーマットである旨の指示を取得し、前記決定するステップが、前記初期アドレスと、前記アドレスの決定時に使用されることになる最高レベル・アドレス変換テーブルへのポインタとを使用して、メモリへのアクセス時に使用可能な前記アドレスを決定する、請求項2に記載の方法。
- 前記取得するステップが、前記変換フォーマットが前記選択されたCPU DAT適合フォーマットである旨の指示を取得し、前記決定するステップが、前記初期アドレスと、1つまたは複数のCPU DAT適合変換テーブルとを使用して、前記アドレスを決定する、請求項2に記載の方法。
- 前記CPU DAT適合フォーマットが、4KのCPU DAT適合フォーマットまたは1MのCPU DAT適合フォーマットのうちの1つを含む、請求項6に記載の方法。
- 前記取得するステップが、前記変換フォーマットが前記選択されたI/O拡張アドレス変換フォーマットである旨の指示を取得し、前記決定するステップが、前記初期アドレスと、1つまたは複数のI/O変換テーブルとを使用して、前記アドレスを決定する、請求項2に記載の方法。
- 前記選択されたI/O拡張アドレス変換フォーマットが、4Kページを伴う4Kアドレス変換テーブル・フォーマット、4Kページを伴う1Mアドレス変換テーブル・フォーマット、または、1Mページを伴う1Mアドレス変換テーブル・フォーマットのうちの、1つを含む、請求項8に記載の方法。
- 前記取得するステップが、使用されることになる変換フォーマットの指示を取得するために、前記アダプタに関連付けられたデバイス・テーブル・エントリ内のフォーマット・インジケータをチェックするステップを含む、請求項1に記載の方法。
- 前記設定するステップが、前記アダプタに関連付けられたデバイス・テーブル・エントリ内に、前記選択された変換フォーマットを示すステップを含む、請求項1に記載の方法。
- 前記アダプタに関して登録された前記変換フォーマットが、他のアダプタに関して登録された他の変換フォーマットとは異なる、請求項1に記載の方法。
- 請求項1〜12のいずれか一項に記載の方法のすべてのステップを実行するように適合された手段を備える、システム。
- データ処理デバイス上で実行される場合、請求項1〜12のいずれか一項に記載の方法のステップを実行するように特に適合された命令を備える、コンピュータ・プログラム。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/821,171 | 2010-06-23 | ||
| US12/821,171 US8650337B2 (en) | 2010-06-23 | 2010-06-23 | Runtime determination of translation formats for adapter functions |
| PCT/EP2010/067025 WO2011160709A1 (en) | 2010-06-23 | 2010-11-08 | Runtime determination of translation formats for adapter functions |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2013533544A JP2013533544A (ja) | 2013-08-22 |
| JP5731641B2 true JP5731641B2 (ja) | 2015-06-10 |
Family
ID=43782903
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2013515722A Active JP5731641B2 (ja) | 2010-06-23 | 2010-11-08 | アダプタ機能に関する変換フォーマットのランタイム決定のための方法、システム、およびコンピュータ・プログラム |
Country Status (13)
| Country | Link |
|---|---|
| US (1) | US8650337B2 (ja) |
| EP (1) | EP2585925B1 (ja) |
| JP (1) | JP5731641B2 (ja) |
| KR (1) | KR101464897B1 (ja) |
| CN (1) | CN102947808B (ja) |
| AU (1) | AU2010355800B2 (ja) |
| CA (1) | CA2800630C (ja) |
| IL (1) | IL223588B (ja) |
| PT (1) | PT2585925E (ja) |
| RU (1) | RU2556418C2 (ja) |
| SG (1) | SG186104A1 (ja) |
| WO (1) | WO2011160709A1 (ja) |
| ZA (1) | ZA201209700B (ja) |
Families Citing this family (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8635430B2 (en) | 2010-06-23 | 2014-01-21 | International Business Machines Corporation | Translation of input/output addresses to memory addresses |
| US8510599B2 (en) * | 2010-06-23 | 2013-08-13 | International Business Machines Corporation | Managing processing associated with hardware events |
| US8572635B2 (en) | 2010-06-23 | 2013-10-29 | International Business Machines Corporation | Converting a message signaled interruption into an I/O adapter event notification |
| US8615645B2 (en) | 2010-06-23 | 2013-12-24 | International Business Machines Corporation | Controlling the selectively setting of operational parameters for an adapter |
| US8468284B2 (en) | 2010-06-23 | 2013-06-18 | International Business Machines Corporation | Converting a message signaled interruption into an I/O adapter event notification to a guest operating system |
| WO2012103367A2 (en) | 2011-01-27 | 2012-08-02 | Soft Machines, Inc. | Guest to native block address mappings and management of native code storage |
| WO2012103359A2 (en) | 2011-01-27 | 2012-08-02 | Soft Machines, Inc. | Hardware acceleration components for translating guest instructions to native instructions |
| WO2012103253A2 (en) * | 2011-01-27 | 2012-08-02 | Soft Machines, Inc. | Multilevel conversion table cache for translating guest instructions to native instructions |
| US9740624B2 (en) | 2012-10-08 | 2017-08-22 | International Business Machines Corporation | Selectable address translation mechanisms within a partition |
| US9280488B2 (en) | 2012-10-08 | 2016-03-08 | International Business Machines Corporation | Asymmetric co-existent address translation structure formats |
| US9600419B2 (en) | 2012-10-08 | 2017-03-21 | International Business Machines Corporation | Selectable address translation mechanisms |
| US9355040B2 (en) | 2012-10-08 | 2016-05-31 | International Business Machines Corporation | Adjunct component to provide full virtualization using paravirtualized hypervisors |
| US9348757B2 (en) | 2012-10-08 | 2016-05-24 | International Business Machines Corporation | System supporting multiple partitions with differing translation formats |
| US9355032B2 (en) | 2012-10-08 | 2016-05-31 | International Business Machines Corporation | Supporting multiple types of guests by a hypervisor |
| EP2972798B1 (en) | 2013-03-15 | 2020-06-17 | Intel Corporation | Method and apparatus for guest return address stack emulation supporting speculation |
| WO2014151652A1 (en) | 2013-03-15 | 2014-09-25 | Soft Machines Inc | Method and apparatus to allow early dependency resolution and data forwarding in a microprocessor |
| US20150261688A1 (en) * | 2014-03-14 | 2015-09-17 | International Business Machines Corporation | Extended page table for i/o address translation |
| US20160371222A1 (en) * | 2015-06-22 | 2016-12-22 | Qualcomm Incorporated | COHERENCY DRIVEN ENHANCEMENTS TO A PERIPHERAL COMPONENT INTERCONNECT (PCI) EXPRESS (PCIe) TRANSACTION LAYER |
| US9678892B2 (en) * | 2015-09-01 | 2017-06-13 | International Business Machines Corporation | Flexible I/O DMA address allocation in virtualized systems |
| US10095620B2 (en) * | 2016-06-29 | 2018-10-09 | International Business Machines Corporation | Computer system including synchronous input/output and hardware assisted purge of address translation cache entries of synchronous input/output transactions |
| US11442760B2 (en) | 2016-07-01 | 2022-09-13 | Intel Corporation | Aperture access processors, methods, systems, and instructions |
| US10140214B2 (en) | 2016-08-29 | 2018-11-27 | Red Hat Israel, Ltd. | Hypervisor translation bypass by host IOMMU with virtual machine migration support |
| US10387325B2 (en) | 2017-11-28 | 2019-08-20 | International Business Machines Corporation | Dynamic address translation for a virtual machine |
| JP6607332B1 (ja) * | 2019-05-15 | 2019-11-20 | 富士通クライアントコンピューティング株式会社 | 中継装置、プログラム、及び情報処理システム |
| CN114124688B (zh) * | 2020-08-11 | 2024-02-20 | 中国电信股份有限公司 | 配置方法及系统、计算机可存储介质 |
Family Cites Families (191)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5242031A (en) * | 1975-09-29 | 1977-04-01 | Hitachi Ltd | Information processing unit |
| US4028668A (en) | 1975-12-22 | 1977-06-07 | Honeywell Information Systems, Inc. | Apparatus for selectively addressing sections and locations in a device controller's memory |
| US4323963A (en) | 1979-07-13 | 1982-04-06 | Rca Corporation | Hardware interpretive mode microprocessor |
| EP0090804A1 (en) | 1981-10-13 | 1983-10-12 | International Business Machines Corporation | Method and apparatus for measurements of channel operation |
| US5053952A (en) | 1987-06-05 | 1991-10-01 | Wisc Technologies, Inc. | Stack-memory-based writable instruction set computer having a single data bus |
| JPH0195347A (ja) * | 1987-10-08 | 1989-04-13 | Nec Corp | アドレス変換方式 |
| US5282274A (en) | 1990-05-24 | 1994-01-25 | International Business Machines Corporation | Translation of multiple virtual pages upon a TLB miss |
| US5170472A (en) | 1991-03-28 | 1992-12-08 | International Business Machines Corp. | Dynamically changing a system i/o configuration definition |
| US5465355A (en) | 1991-09-04 | 1995-11-07 | International Business Machines Corporation | Establishing and restoring paths in a data processing I/O system |
| JPH05165715A (ja) | 1991-12-12 | 1993-07-02 | Nec Corp | 情報処理装置 |
| JPH0821015B2 (ja) | 1992-01-20 | 1996-03-04 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータならびにそのシステム再構成化装置および方法 |
| US5617554A (en) | 1992-02-10 | 1997-04-01 | Intel Corporation | Physical address size selection and page size selection in an address translator |
| US5600805A (en) | 1992-06-15 | 1997-02-04 | International Business Machines Corporation | Pass-through for I/O channel subsystem call instructions for accessing shared resources in a computer system having a plurality of operating systems |
| US5265240A (en) | 1992-07-24 | 1993-11-23 | International Business Machines Corporation | Channel measurement method and means |
| US5465332A (en) | 1992-09-21 | 1995-11-07 | International Business Machines Corporation | Selectable 8/16 bit DMA channels for "ISA" bus |
| JP2500101B2 (ja) | 1992-12-18 | 1996-05-29 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 共用変数の値を更新する方法 |
| AU6629894A (en) | 1993-05-07 | 1994-12-12 | Apple Computer, Inc. | Method for decoding guest instructions for a host computer |
| US5535352A (en) | 1994-03-24 | 1996-07-09 | Hewlett-Packard Company | Access hints for input/output address translation mechanisms |
| US5551013A (en) | 1994-06-03 | 1996-08-27 | International Business Machines Corporation | Multiprocessor for hardware emulation |
| GB2303951B (en) | 1994-06-28 | 1999-04-28 | Intel Corp | PCI to ISA interrupt protocol converter and selection mechanism |
| US5748950A (en) | 1994-09-20 | 1998-05-05 | Intel Corporation | Method and apparatus for providing an optimized compare-and-branch instruction |
| US5802590A (en) | 1994-12-13 | 1998-09-01 | Microsoft Corporation | Method and system for providing secure access to computer resources |
| US5901312A (en) | 1994-12-13 | 1999-05-04 | Microsoft Corporation | Providing application programs with unmediated access to a contested hardware resource |
| JPH08263424A (ja) | 1995-03-20 | 1996-10-11 | Fujitsu Ltd | コンピュータ装置 |
| DE69601599T2 (de) * | 1995-06-07 | 1999-10-14 | Ibm | Videoverarbeitungseinheit mit Steuerung des Adressierungsmodus |
| US5790825A (en) | 1995-11-08 | 1998-08-04 | Apple Computer, Inc. | Method for emulating guest instructions on a host computer through dynamic recompilation of host instructions |
| US5960213A (en) | 1995-12-18 | 1999-09-28 | 3D Labs Inc. Ltd | Dynamically reconfigurable multi-function PCI adapter device |
| US5974440A (en) | 1996-03-25 | 1999-10-26 | Texas Instruments Incorporated | Microprocessor with circuits, systems, and methods for interrupt handling during virtual task operation |
| US5819053A (en) | 1996-06-05 | 1998-10-06 | Compaq Computer Corporation | Computer system bus performance monitoring |
| US5983332A (en) * | 1996-07-01 | 1999-11-09 | Sun Microsystems, Inc. | Asynchronous transfer mode (ATM) segmentation and reassembly unit virtual address translation unit architecture |
| US5761448A (en) | 1996-08-30 | 1998-06-02 | Ncr Corporation | Physical-to-logical bus mapping scheme for computer systems having multiple PCI bus configuration |
| US5838960A (en) | 1996-09-26 | 1998-11-17 | Bay Networks, Inc. | Apparatus for performing an atomic add instructions |
| US5826084A (en) | 1997-03-25 | 1998-10-20 | Texas Instruments Incorporated | Microprocessor with circuits, systems, and methods for selectively bypassing external interrupts past the monitor program during virtual program operation |
| US6507898B1 (en) | 1997-04-30 | 2003-01-14 | Canon Kabushiki Kaisha | Reconfigurable data cache controller |
| KR100263672B1 (ko) | 1997-05-08 | 2000-09-01 | 김영환 | 가변적인 페이지 크기를 지원하는 어드레스 변환장치 |
| US5914730A (en) | 1997-09-09 | 1999-06-22 | Compaq Computer Corp. | System and method for invalidating and updating individual GART table entries for accelerated graphics port transaction requests |
| US6067595A (en) | 1997-09-23 | 2000-05-23 | Icore Technologies, Inc. | Method and apparatus for enabling high-performance intelligent I/O subsystems using multi-port memories |
| US5864703A (en) | 1997-10-09 | 1999-01-26 | Mips Technologies, Inc. | Method for providing extended precision in SIMD vector arithmetic operations |
| US6078970A (en) | 1997-10-15 | 2000-06-20 | International Business Machines Corporation | System for determining adapter interrupt status where interrupt is sent to host after operating status stored in register is shadowed to host memory |
| US6009261A (en) | 1997-12-16 | 1999-12-28 | International Business Machines Corporation | Preprocessing of stored target routines for emulating incompatible instructions on a target processor |
| US6023736A (en) | 1997-12-19 | 2000-02-08 | International Business Machines Corporation | System for dynamically configuring I/O device adapters where a function configuration register contains ready/not ready flags corresponding to each I/O device adapter |
| US6021458A (en) | 1998-01-21 | 2000-02-01 | Intel Corporation | Method and apparatus for handling multiple level-triggered and edge-triggered interrupts |
| US6223299B1 (en) | 1998-05-04 | 2001-04-24 | International Business Machines Corporation | Enhanced error handling for I/O load/store operations to a PCI device via bad parity or zero byte enables |
| US6308255B1 (en) | 1998-05-26 | 2001-10-23 | Advanced Micro Devices, Inc. | Symmetrical multiprocessing bus and chipset used for coprocessor support allowing non-native code to run in a system |
| US6615305B1 (en) | 1998-08-27 | 2003-09-02 | Intel Corporation | Interrupt pacing in data transfer unit |
| US20020147969A1 (en) | 1998-10-21 | 2002-10-10 | Richard A. Lethin | Dynamic optimizing object code translator for architecture emulation and dynamic optimizing object code translation method |
| US6408347B1 (en) | 1998-12-10 | 2002-06-18 | Cisco Technology, Inc. | Integrated multi-function adapters using standard interfaces through single a access point |
| US6519645B2 (en) | 1999-02-19 | 2003-02-11 | International Business Machine Corporation | Method and apparatus for providing configuration information using a queued direct input-output device |
| US6349380B1 (en) | 1999-03-12 | 2002-02-19 | Intel Corporation | Linear address extension and mapping to physical memory using 4 and 8 byte page table entries in a 32-bit microprocessor |
| US6557035B1 (en) | 1999-03-30 | 2003-04-29 | International Business Machines Corporation | Rules-based method of and system for optimizing server hardware capacity and performance |
| US6330656B1 (en) | 1999-03-31 | 2001-12-11 | International Business Machines Corporation | PCI slot control apparatus with dynamic configuration for partitioned systems |
| US6578191B1 (en) | 1999-05-17 | 2003-06-10 | International Business Machines Corporation | Method and apparatus for dynamic generation of adapters |
| US6330647B1 (en) | 1999-08-31 | 2001-12-11 | Micron Technology, Inc. | Memory bandwidth allocation based on access count priority scheme |
| US6772097B1 (en) | 1999-09-30 | 2004-08-03 | Intel Corporation | Retrieving I/O processor performance monitor data |
| US6493741B1 (en) | 1999-10-01 | 2002-12-10 | Compaq Information Technologies Group, L.P. | Method and apparatus to quiesce a portion of a simultaneous multithreaded central processing unit |
| US6970992B2 (en) | 1999-10-04 | 2005-11-29 | Intel Corporation | Apparatus to map virtual pages to disparate-sized, non-contiguous real pages and methods relating thereto |
| US6651126B1 (en) | 1999-10-29 | 2003-11-18 | Texas Instruments Incorporated | Snapshot arbiter mechanism |
| US7509391B1 (en) | 1999-11-23 | 2009-03-24 | Texas Instruments Incorporated | Unified memory management system for multi processor heterogeneous architecture |
| US6529978B1 (en) | 2000-02-23 | 2003-03-04 | International Business Machines Corporation | Computer input/output (I/O) interface with dynamic I/O adaptor processor bindings |
| US6963940B1 (en) | 2000-03-30 | 2005-11-08 | International Business Machines Corporation | Measuring utilization of individual components of channels |
| US6581130B1 (en) | 2000-04-04 | 2003-06-17 | Hewlett Packard Development Company, L.P. | Dynamic remapping of address registers for address translation between multiple busses |
| US6629175B1 (en) | 2000-04-14 | 2003-09-30 | International Business Machines Corporation | Efficient adapter context switching |
| US6772264B1 (en) | 2000-05-22 | 2004-08-03 | International Business Machines Corporation | Enabling a docking station for ISA adapters |
| US6715011B1 (en) | 2000-05-31 | 2004-03-30 | International Business Machines Corporation | PCI/PCI-X bus bridge with performance monitor |
| US6654818B1 (en) | 2000-06-22 | 2003-11-25 | International Business Machines Corporation | DMA access authorization for 64-bit I/O adapters on PCI bus |
| US6704831B1 (en) * | 2000-11-16 | 2004-03-09 | Sun Microsystems, Inc. | Method and apparatus for converting address information between PCI bus protocol and a message-passing queue-oriented bus protocol |
| US6611883B1 (en) | 2000-11-16 | 2003-08-26 | Sun Microsystems, Inc. | Method and apparatus for implementing PCI DMA speculative prefetching in a message passing queue oriented bus system |
| US6658521B1 (en) | 2000-12-22 | 2003-12-02 | International Business Machines Corporation | Method and apparatus for address translation on PCI bus over infiniband network |
| US6721839B1 (en) | 2000-12-27 | 2004-04-13 | International Business Machines Corporation | Method of mapping multiple address spaces into single PCI bus |
| TW499795B (en) | 2001-03-19 | 2002-08-21 | Realtek Semiconductor Corp | PCI extended function interface and the PCI device using the same |
| US6792492B1 (en) | 2001-04-11 | 2004-09-14 | Novell, Inc. | System and method of lowering overhead and latency needed to service operating system interrupts |
| US6820164B2 (en) | 2001-04-17 | 2004-11-16 | International Business Machines Corporation | Peripheral component interconnect bus detection in logically partitioned computer system involving authorizing guest operating system to conduct configuration input-output operation with functions of pci devices |
| US20020161907A1 (en) * | 2001-04-25 | 2002-10-31 | Avery Moon | Adaptive multi-protocol communications system |
| US6968446B1 (en) | 2001-08-09 | 2005-11-22 | Advanced Micro Devices, Inc. | Flags handling for system call instructions |
| US6842870B2 (en) | 2001-09-20 | 2005-01-11 | International Business Machines Corporation | Method and apparatus for filtering error logs in a logically partitioned data processing system |
| US6801993B2 (en) | 2001-09-28 | 2004-10-05 | International Business Machines Corporation | Table offset for shortening translation tables from their beginnings |
| US20040025166A1 (en) | 2002-02-02 | 2004-02-05 | International Business Machines Corporation | Server computer and a method for accessing resources from virtual machines of a server computer via a fibre channel |
| US6901537B2 (en) | 2002-02-27 | 2005-05-31 | International Business Machines Corporation | Method and apparatus for preventing the propagation of input/output errors in a logical partitioned data processing system |
| US6907510B2 (en) | 2002-04-01 | 2005-06-14 | Intel Corporation | Mapping of interconnect configuration space |
| US7302692B2 (en) | 2002-05-31 | 2007-11-27 | International Business Machines Corporation | Locally providing globally consistent information to communications layers |
| US7299266B2 (en) | 2002-09-05 | 2007-11-20 | International Business Machines Corporation | Memory management offload for RDMA enabled network adapters |
| US7197585B2 (en) * | 2002-09-30 | 2007-03-27 | International Business Machines Corporation | Method and apparatus for managing the execution of a broadcast instruction on a guest processor |
| US7054972B2 (en) | 2002-12-13 | 2006-05-30 | Lsi Logic Corporation | Apparatus and method for dynamically enabling and disabling interrupt coalescing in data processing system |
| US7065598B2 (en) | 2002-12-20 | 2006-06-20 | Intel Corporation | Method, system, and article of manufacture for adjusting interrupt levels |
| US20040139305A1 (en) * | 2003-01-09 | 2004-07-15 | International Business Machines Corporation | Hardware-enabled instruction tracing |
| US20040139304A1 (en) | 2003-01-09 | 2004-07-15 | International Business Machines Corporation | High speed virtual instruction execution mechanism |
| US7073002B2 (en) | 2003-03-13 | 2006-07-04 | International Business Machines Corporation | Apparatus and method for controlling resource transfers using locks in a logically partitioned computer system |
| US7107382B2 (en) | 2003-04-03 | 2006-09-12 | Emulex Design & Manufacturing Corporation | Virtual peripheral component interconnect multiple-function device |
| US7139940B2 (en) | 2003-04-10 | 2006-11-21 | International Business Machines Corporation | Method and apparatus for reporting global errors on heterogeneous partitioned systems |
| US7281075B2 (en) | 2003-04-24 | 2007-10-09 | International Business Machines Corporation | Virtualization of a global interrupt queue |
| US7139892B2 (en) * | 2003-05-02 | 2006-11-21 | Microsoft Corporation | Implementation of memory access control using optimizations |
| US7127599B2 (en) | 2003-05-12 | 2006-10-24 | International Business Machines Corporation | Managing configurations of input/output system images of an input/output subsystem, wherein a configuration is modified without restarting the input/output subsystem to effect a modification |
| US7174550B2 (en) | 2003-05-12 | 2007-02-06 | International Business Machines Corporation | Sharing communications adapters across a plurality of input/output subsystem images |
| US7000036B2 (en) | 2003-05-12 | 2006-02-14 | International Business Machines Corporation | Extended input/output measurement facilities |
| US7130949B2 (en) | 2003-05-12 | 2006-10-31 | International Business Machines Corporation | Managing input/output interruptions in non-dedicated interruption hardware environments |
| US7130938B2 (en) | 2003-05-12 | 2006-10-31 | International Business Machines Corporation | Method, system and program products for identifying communications adapters of a computing environment |
| US7177961B2 (en) | 2003-05-12 | 2007-02-13 | International Business Machines Corporation | Managing access, by operating system images of a computing environment, of input/output resources of the computing environment |
| US7290070B2 (en) | 2003-05-12 | 2007-10-30 | International Business Machines Corporation | Multiple logical input/output subsystem facility |
| US6996638B2 (en) | 2003-05-12 | 2006-02-07 | International Business Machines Corporation | Method, system and program products for enhancing input/output processing for operating system images of a computing environment |
| US7134052B2 (en) | 2003-05-15 | 2006-11-07 | International Business Machines Corporation | Autonomic recovery from hardware errors in an input/output fabric |
| US6931460B2 (en) | 2003-05-19 | 2005-08-16 | Emulex Design & Manufacturing Corporation | Dynamically self-adjusting polling mechanism |
| US7363572B2 (en) | 2003-06-05 | 2008-04-22 | Nvidia Corporation | Editing outbound TCP frames and generating acknowledgements |
| US7420931B2 (en) | 2003-06-05 | 2008-09-02 | Nvidia Corporation | Using TCP/IP offload to accelerate packet filtering |
| EP1489491A1 (en) | 2003-06-19 | 2004-12-22 | Texas Instruments Incorporated | Dynamically changing the semantic of an instruction |
| US7013358B2 (en) | 2003-08-09 | 2006-03-14 | Texas Instruments Incorporated | System for signaling serialized interrupts using message signaled interrupts |
| US7979548B2 (en) | 2003-09-30 | 2011-07-12 | International Business Machines Corporation | Hardware enforcement of logical partitioning of a channel adapter's resources in a system area network |
| US7146482B2 (en) | 2003-11-25 | 2006-12-05 | International Business Machines Corporation | Memory mapped input/output emulation |
| US7552436B2 (en) | 2003-11-25 | 2009-06-23 | International Business Machines | Memory mapped input/output virtualization |
| US7277968B2 (en) | 2004-01-23 | 2007-10-02 | International Business Machines Corporation | Managing sets of input/output communications subadapters of an input/output subsystem |
| US7107384B1 (en) | 2004-03-01 | 2006-09-12 | Pericom Semiconductor Corp. | Dynamic PCI-bus pre-fetch with separate counters for commands of commands of different data-transfer lengths |
| US7530071B2 (en) | 2004-04-22 | 2009-05-05 | International Business Machines Corporation | Facilitating access to input/output resources via an I/O partition shared by multiple consumer partitions |
| US7209994B1 (en) | 2004-05-11 | 2007-04-24 | Advanced Micro Devices, Inc. | Processor that maintains virtual interrupt state and injects virtual interrupts into virtual machine guests |
| US20050289271A1 (en) | 2004-06-29 | 2005-12-29 | Martinez Alberto J | Circuitry to selectively produce MSI signals |
| US20060005083A1 (en) | 2004-06-30 | 2006-01-05 | International Business Machines Corporation | Performance count tracing |
| US7418572B2 (en) | 2004-08-18 | 2008-08-26 | International Business Machines Corporation | Pretranslating input/output buffers in environments with multiple page sizes |
| US7334107B2 (en) | 2004-09-30 | 2008-02-19 | Intel Corporation | Caching support for direct memory access address translation |
| US7340582B2 (en) | 2004-09-30 | 2008-03-04 | Intel Corporation | Fault processing for direct memory access address translation |
| US7444493B2 (en) * | 2004-09-30 | 2008-10-28 | Intel Corporation | Address translation for input/output devices using hierarchical translation tables |
| US7373446B2 (en) | 2004-11-05 | 2008-05-13 | Microsoft Corporation | Method and system for dynamically patching an operating system's interrupt mechanism |
| US7296120B2 (en) | 2004-11-18 | 2007-11-13 | International Business Machines Corporation | Mechanism that provides efficient multi-word load atomicity |
| US7188346B2 (en) | 2004-11-29 | 2007-03-06 | International Business Machines Corporation | Method, system and program product for correlating data between operating environments |
| US7284112B2 (en) | 2005-01-14 | 2007-10-16 | International Business Machines Corporation | Multiple page size address translation incorporating page size prediction |
| US7562366B2 (en) | 2005-02-03 | 2009-07-14 | Solarflare Communications, Inc. | Transmit completion event batching |
| US7886086B2 (en) | 2005-02-03 | 2011-02-08 | International Business Machines Corporation | Method and apparatus for restricting input/output device peer-to-peer operations in a data processing system to improve reliability, availability, and serviceability |
| US7464191B2 (en) | 2005-02-25 | 2008-12-09 | International Business Machines Corporation | System and method for host initialization for an adapter that supports virtualization |
| US7260664B2 (en) * | 2005-02-25 | 2007-08-21 | International Business Machines Corporation | Interrupt mechanism on an IO adapter that supports virtualization |
| US7493425B2 (en) | 2005-02-25 | 2009-02-17 | International Business Machines Corporation | Method, system and program product for differentiating between virtual hosts on bus transactions and associating allowable memory access for an input/output adapter that supports virtualization |
| US20060195617A1 (en) | 2005-02-25 | 2006-08-31 | International Business Machines Corporation | Method and system for native virtualization on a partially trusted adapter using adapter bus, device and function number for identification |
| US7475166B2 (en) | 2005-02-28 | 2009-01-06 | International Business Machines Corporation | Method and system for fully trusted adapter validation of addresses referenced in a virtual host transfer request |
| US7567567B2 (en) | 2005-04-05 | 2009-07-28 | Sun Microsystems, Inc. | Network system including packet classification for partitioned resources |
| US7260663B2 (en) | 2005-04-07 | 2007-08-21 | International Business Machines Corporation | System and method for presenting interrupts |
| US7200704B2 (en) | 2005-04-07 | 2007-04-03 | International Business Machines Corporation | Virtualization of an I/O adapter port using enablement and activation functions |
| US7478178B2 (en) * | 2005-04-22 | 2009-01-13 | Sun Microsystems, Inc. | Virtualization for device sharing |
| US7502872B2 (en) | 2005-05-23 | 2009-03-10 | International Bsuiness Machines Corporation | Method for out of user space block mode I/O directly between an application instance and an I/O adapter |
| US7225287B2 (en) | 2005-06-01 | 2007-05-29 | Microsoft Corporation | Scalable DMA remapping on a computer bus |
| US20060288130A1 (en) | 2005-06-21 | 2006-12-21 | Rajesh Madukkarumukumana | Address window support for direct memory access translation |
| US7631097B2 (en) | 2005-07-21 | 2009-12-08 | National Instruments Corporation | Method and apparatus for optimizing the responsiveness and throughput of a system performing packetized data transfers using a transfer count mark |
| US8028154B2 (en) | 2005-07-29 | 2011-09-27 | Broadcom Corporation | Method and system for reducing instruction storage space for a processor integrated in a network adapter chip |
| US7546487B2 (en) | 2005-09-15 | 2009-06-09 | Intel Corporation | OS and firmware coordinated error handling using transparent firmware intercept and firmware services |
| US20070073955A1 (en) | 2005-09-29 | 2007-03-29 | Joseph Murray | Multi-function PCI device |
| US7882489B2 (en) | 2005-11-22 | 2011-02-01 | International Business Machines Corporation | Integrated code generation for adapter-specific property template |
| US7475183B2 (en) | 2005-12-12 | 2009-01-06 | Microsoft Corporation | Large page optimizations in a virtual machine environment |
| US20070136554A1 (en) | 2005-12-12 | 2007-06-14 | Giora Biran | Memory operations in a virtualized system |
| US7398343B1 (en) | 2006-01-03 | 2008-07-08 | Emc Corporation | Interrupt processing system |
| US7653803B2 (en) | 2006-01-17 | 2010-01-26 | Globalfoundries Inc. | Address translation for input/output (I/O) devices and interrupt remapping for I/O devices in an I/O memory management unit (IOMMU) |
| US7673116B2 (en) | 2006-01-17 | 2010-03-02 | Advanced Micro Devices, Inc. | Input/output memory management unit that implements memory attributes based on translation data |
| US7548999B2 (en) | 2006-01-17 | 2009-06-16 | Advanced Micro Devices, Inc. | Chained hybrid input/output memory management unit |
| US7849232B2 (en) | 2006-02-17 | 2010-12-07 | Intel-Ne, Inc. | Method and apparatus for using a single multi-function adapter with different operating systems |
| US7739422B2 (en) | 2006-03-21 | 2010-06-15 | International Business Machines Corporation | Method to improve system DMA mapping while substantially reducing memory fragmentation |
| US7412589B2 (en) | 2006-03-31 | 2008-08-12 | International Business Machines Corporation | Method to detect a stalled instruction stream and serialize micro-operation execution |
| US8621120B2 (en) | 2006-04-17 | 2013-12-31 | International Business Machines Corporation | Stalling of DMA operations in order to do memory migration using a migration in progress bit in the translation control entry mechanism |
| US7613847B2 (en) | 2006-05-16 | 2009-11-03 | Hewlett-Packard Development Company, L.P. | Partially virtualizing an I/O device for use by virtual machines |
| US7954099B2 (en) | 2006-05-17 | 2011-05-31 | International Business Machines Corporation | Demultiplexing grouped events into virtual event queues while in two levels of virtualization |
| JP4961833B2 (ja) | 2006-05-19 | 2012-06-27 | 日本電気株式会社 | クラスタシステム、負荷分散方法、最適化クライアントプログラム、及び調停サーバプログラム |
| TW200801952A (en) | 2006-06-02 | 2008-01-01 | Via Tech Inc | Method for setting up a peripheral component interconnect express (PCIE) |
| US7487341B2 (en) * | 2006-06-29 | 2009-02-03 | Intel Corporation | Handling address translations and exceptions of a heterogeneous resource of a processor using another processor resource |
| US7546398B2 (en) | 2006-08-01 | 2009-06-09 | International Business Machines Corporation | System and method for distributing virtual input/output operations across multiple logical partitions |
| US7496707B2 (en) | 2006-08-22 | 2009-02-24 | International Business Machines Corporation | Dynamically scalable queues for performance driven PCI express memory traffic |
| US8725914B2 (en) | 2006-08-28 | 2014-05-13 | International Business Machines Corporation | Message signaled interrupt management for a computer input/output fabric incorporating platform independent interrupt manager |
| US7627723B1 (en) | 2006-09-21 | 2009-12-01 | Nvidia Corporation | Atomic memory operators in a parallel processor |
| US20080126652A1 (en) | 2006-09-27 | 2008-05-29 | Intel Corporation | Managing Interrupts in a Partitioned Platform |
| US7552298B2 (en) | 2006-09-28 | 2009-06-23 | Broadcom Corporation | Method and system for deferred pinning of host memory for stateful network interfaces |
| US9135951B2 (en) | 2006-10-10 | 2015-09-15 | Qualcomm Incorporated | System and method for dynamic audio buffer management |
| US7587575B2 (en) | 2006-10-17 | 2009-09-08 | International Business Machines Corporation | Communicating with a memory registration enabled adapter using cached address translations |
| US20080091868A1 (en) | 2006-10-17 | 2008-04-17 | Shay Mizrachi | Method and System for Delayed Completion Coalescing |
| US7506084B2 (en) * | 2006-10-17 | 2009-03-17 | International Business Machines Corporation | Method for communicating with an I/O adapter using cached address translations |
| US20080098197A1 (en) * | 2006-10-20 | 2008-04-24 | International Business Machines Corporation | Method and System For Address Translation With Memory Windows |
| JP2008123298A (ja) | 2006-11-13 | 2008-05-29 | Canon Inc | 情報処理方法及びシステム |
| US7849287B2 (en) | 2006-11-13 | 2010-12-07 | Advanced Micro Devices, Inc. | Efficiently controlling special memory mapped system accesses |
| US7624235B2 (en) | 2006-11-30 | 2009-11-24 | Apple Inc. | Cache used both as cache and staging buffer |
| US7529860B2 (en) | 2006-12-19 | 2009-05-05 | International Business Machines Corporation | System and method for configuring an endpoint based on specified valid combinations of functions |
| US7984454B2 (en) * | 2006-12-19 | 2011-07-19 | International Business Machines Corporation | Migration of single root stateless virtual functions |
| US7617340B2 (en) | 2007-01-09 | 2009-11-10 | International Business Machines Corporation | I/O adapter LPAR isolation with assigned memory space |
| US20080168208A1 (en) | 2007-01-09 | 2008-07-10 | International Business Machines Corporation | I/O Adapter LPAR Isolation In A Hypertransport Environment With Assigned Memory Space Indexing a TVT Via Unit IDs |
| JP5119686B2 (ja) | 2007-03-06 | 2013-01-16 | 日本電気株式会社 | 情報処理装置および設定方法 |
| EP2075696A3 (en) | 2007-05-10 | 2010-01-27 | Texas Instruments Incorporated | Interrupt- related circuits, systems and processes |
| US7617345B2 (en) | 2007-07-02 | 2009-11-10 | International Business Machines Corporation | Prioritization of interrupts in a storage controller based on interrupt control directives received from hosts |
| US20090024823A1 (en) | 2007-07-20 | 2009-01-22 | Wenjeng Ko | Overlayed separate dma mapping of adapters |
| US8127296B2 (en) | 2007-09-06 | 2012-02-28 | Dell Products L.P. | Virtual machine migration between processors having VM migration registers controlled by firmware to modify the reporting of common processor feature sets to support the migration |
| US8762999B2 (en) | 2007-09-27 | 2014-06-24 | Oracle America, Inc. | Guest-initiated resource allocation request based on comparison of host hardware information and projected workload requirement |
| US8141094B2 (en) * | 2007-12-03 | 2012-03-20 | International Business Machines Corporation | Distribution of resources for I/O virtualized (IOV) adapters and management of the adapters through an IOV management partition via user selection of compatible virtual functions |
| US7913030B2 (en) | 2007-12-28 | 2011-03-22 | Sandisk Il Ltd. | Storage device with transaction logging capability |
| US8151083B2 (en) | 2008-01-11 | 2012-04-03 | International Business Machines Corporation | Dynamic address translation with frame management |
| US8037221B2 (en) | 2008-01-16 | 2011-10-11 | International Business Machines Corporation | Dynamic allocation of DMA buffers in input/output adaptors |
| US7996628B2 (en) | 2008-02-14 | 2011-08-09 | International Business Machines Corporation | Cross adapter shared address translation tables |
| US8332846B2 (en) | 2008-02-28 | 2012-12-11 | Sony Mobile Communications Ab | Selective exposure to USB device functionality for a virtual machine by filtering descriptors |
| US20090276774A1 (en) | 2008-05-01 | 2009-11-05 | Junji Kinoshita | Access control for virtual machines in an information system |
| US7743189B2 (en) * | 2008-05-05 | 2010-06-22 | International Business Machines Corporation | PCI function south-side data management |
| US8032680B2 (en) | 2008-06-27 | 2011-10-04 | Microsoft Corporation | Lazy handling of end of interrupt messages in a virtualized environment |
| US8359408B2 (en) | 2008-06-30 | 2013-01-22 | Intel Corporation | Enabling functional dependency in a multi-function device |
| US8635430B2 (en) | 2010-06-23 | 2014-01-21 | International Business Machines Corporation | Translation of input/output addresses to memory addresses |
-
2010
- 2010-06-23 US US12/821,171 patent/US8650337B2/en active Active
- 2010-11-08 EP EP10775817.9A patent/EP2585925B1/en active Active
- 2010-11-08 JP JP2013515722A patent/JP5731641B2/ja active Active
- 2010-11-08 AU AU2010355800A patent/AU2010355800B2/en active Active
- 2010-11-08 WO PCT/EP2010/067025 patent/WO2011160709A1/en not_active Ceased
- 2010-11-08 CA CA2800630A patent/CA2800630C/en active Active
- 2010-11-08 CN CN201080066950.4A patent/CN102947808B/zh active Active
- 2010-11-08 RU RU2012150098/08A patent/RU2556418C2/ru not_active IP Right Cessation
- 2010-11-08 PT PT107758179T patent/PT2585925E/pt unknown
- 2010-11-08 SG SG2012087870A patent/SG186104A1/en unknown
- 2010-11-08 KR KR1020137000269A patent/KR101464897B1/ko active Active
-
2012
- 2012-12-12 IL IL223588A patent/IL223588B/en active IP Right Grant
- 2012-12-20 ZA ZA2012/09700A patent/ZA201209700B/en unknown
Also Published As
| Publication number | Publication date |
|---|---|
| JP2013533544A (ja) | 2013-08-22 |
| EP2585925A1 (en) | 2013-05-01 |
| CA2800630A1 (en) | 2011-12-29 |
| CA2800630C (en) | 2018-09-04 |
| RU2012150098A (ru) | 2014-05-27 |
| IL223588B (en) | 2018-02-28 |
| EP2585925B1 (en) | 2013-10-16 |
| AU2010355800B2 (en) | 2014-04-17 |
| US8650337B2 (en) | 2014-02-11 |
| WO2011160709A1 (en) | 2011-12-29 |
| PT2585925E (pt) | 2013-11-19 |
| KR20130032353A (ko) | 2013-04-01 |
| SG186104A1 (en) | 2013-01-30 |
| RU2556418C2 (ru) | 2015-07-10 |
| ZA201209700B (en) | 2014-05-28 |
| US20110320756A1 (en) | 2011-12-29 |
| CN102947808B (zh) | 2015-12-02 |
| CN102947808A (zh) | 2013-02-27 |
| KR101464897B1 (ko) | 2014-11-24 |
| AU2010355800A1 (en) | 2012-12-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5731641B2 (ja) | アダプタ機能に関する変換フォーマットのランタイム決定のための方法、システム、およびコンピュータ・プログラム | |
| JP5636097B2 (ja) | 入力/出力アドレスをメモリ・アドレスに変換するための方法、コンピュータ・システム、およびコンピュータ・プログラム | |
| JP5607825B2 (ja) | コンピューティング環境のシステム・メモリの管理を容易にする方法、システム、コンピュータ・プログラム | |
| JP5736044B2 (ja) | アダプタに関する操作パラメータの選択的設定の制御 | |
| JP5629373B2 (ja) | コンピューティング環境においてアダプタへのアクセスを制御する方法、プログラム、および、コンピュータ・システム | |
| JP5731642B2 (ja) | アダプタのアドレス・スペースへのゲスト・アクセスのための方法、システム、およびコンピュータ・プログラム | |
| JP5536956B2 (ja) | コンピューティング環境においてアドレス空間を管理するための方法、コンピュータ・システム、コンピュータ・プログラム | |
| JP5669938B2 (ja) | コンピューティング環境のアダプタを使用可能にするための方法、システム、およびコンピュータ・プログラム | |
| JP5739524B2 (ja) | アダプタと通信するための保存/保存ブロック命令 | |
| HK1180795B (en) | Method for facilitating management of system memory of a computing environment | |
| HK1180793B (en) | Translation of input/output addresses to memory addresses |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130802 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140327 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140507 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140725 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141202 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150224 |
|
| 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: 20150317 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150409 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5731641 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |