JP2008102928A - データ処理システム内でデバイス・ドライバと入出力装置との間で通信するためのアドレス変換を確立するための方法、コンピュータ・プログラム、および装置(キュー・データ構造および事前変換済みアドレスを使用して入出力装置と通信するための装置および方法) - Google Patents
データ処理システム内でデバイス・ドライバと入出力装置との間で通信するためのアドレス変換を確立するための方法、コンピュータ・プログラム、および装置(キュー・データ構造および事前変換済みアドレスを使用して入出力装置と通信するための装置および方法) Download PDFInfo
- Publication number
- JP2008102928A JP2008102928A JP2007267404A JP2007267404A JP2008102928A JP 2008102928 A JP2008102928 A JP 2008102928A JP 2007267404 A JP2007267404 A JP 2007267404A JP 2007267404 A JP2007267404 A JP 2007267404A JP 2008102928 A JP2008102928 A JP 2008102928A
- Authority
- JP
- Japan
- Prior art keywords
- address
- device driver
- data structure
- input
- queue
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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)
- Bus Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【解決手段】デバイス・ドライバ・サービスは、デバイス・ドライバにキュー・データ構造に関するルート複合体内のアドレス変換および保護テーブル項目の初期設定のために呼び出され、未変換アドレスをデバイス・ドライバに返す。その未変換アドレスは次に入出力装置またはエンドポイントに提供される。次に、入出力装置またはエンドポイントは、これらの未変換アドレスの変換を要求し、キュー・データ構造をターゲットにする入出力動作を受信する前に入出力装置またはエンドポイントにそのアドレスを保管する。キャッシュされた変換は、ルート複合体のアドレス変換機能をバイパスし、入出力装置またはエンドポイントからキュー・データ構造に直接アクセスするために使用できる。
【選択図】図4
Description
420:システム・イメージ
422:応答キュー
424:応答キュー項目(RQE)
426:ドアベル記憶装置
430:ユーザ・アプリケーション/ライブラリ
440:ファイル・システム
450:デバイス・ドライバ
460:入出力(I/O)仮想化仲介(VI)
470:デバイス・ドライバ・サービス
480:PCIeルート複合体
482:アドレス変換および保護テーブル(ATPT)
485:PCIファブリック
490:PCIeエンドポイント
492:仮想機能
494:アドレス変換キャッシュ(ATC)
496:ドアベル記憶装置
498:PCIeエンドポイントのローカル・コマンド・キュー
499:コマンド・キュー項目(CQE)
Claims (20)
- データ処理システム内でデバイス・ドライバと入出力(I/O)装置との間で通信するためのアドレス変換を確立するための方法において、
前記デバイス・ドライバにより、前記デバイス・ドライバと前記入出力装置との間の通信に関連するキュー・エレメントを収容するために使用されるキュー・データ構造を作成するステップと、
前記デバイス・ドライバがデバイス・ドライバ・サービスを呼び出したことに応答して、前記キュー・データ構造に関して前記データ処理システムのルート複合体に関連するアドレス変換データ構造内の1つまたは複数のアドレス変換項目を初期設定するステップであって、前記1つまたは複数のアドレス変換項目が、1つまたは複数の未変換アドレスから前記キュー・データ構造に関連する1つまたは複数の変換済みメモリ・アドレスへの1つまたは複数の変換を指定するステップと、
前記アドレス変換データ構造から、前記キュー・データ構造に関連する前記1つまたは複数のアドレス変換に関する変換情報を前記入出力装置に提供するステップと、
前記キュー・データ構造に関連する通信を処理するために前記アドレス変換情報を前記入出力装置にキャッシュするステップと、
を含む方法。 - 前記キュー・データ構造に関連する前記アドレス変換情報を前記入出力装置に提供する前記ステップが、
前記デバイス・ドライバ・サービスにより、前記1つまたは複数の未変換アドレスを前記デバイス・ドライバに渡すステップと、
前記デバイス・ドライバにより、前記キュー・データ構造の前記1つまたは複数の未変換アドレスを前記入出力装置に提供するステップと、
前記1つまたは複数の未変換アドレスを受信したことに応答して、前記入出力装置により、アドレス変換要求を前記ルート複合体に送信するステップと、
前記ルート複合体から、前記キュー・データ構造に関連する前記ルート複合体内の前記1つまたは複数のアドレス変換項目に基づいて前記1つまたは複数の未変換アドレスに関連する前記1つまたは複数の変換済みアドレスを受信するステップと、
を含む、請求項1に記載の方法。 - 前記キュー・データ構造の前記1つまたは複数の未変換アドレスを前記入出力装置に提供する前記ステップが、
前記デバイス・ドライバまたは前記デバイス・ドライバ・サービスのうちの一方により、前記1つまたは複数の未変換アドレスを入出力装置構成空間またはI/Oメモリ・マップ入出力(MMIO)メモリ空間のうちの一方に書き込むステップ
を含む、請求項2に記載の方法。 - 前記入出力装置が、前記デバイス・ドライバと前記入出力装置との間で通信するために使用される前記キュー・データ構造の1つまたは複数の未変換アドレスに関連する前記アドレス変換情報を要求する、請求項1に記載の方法。
- 前記入出力装置が、
前記デバイス・ドライバと前記入出力装置との間で通信するために使用される前記キュー・データ構造の前記1つまたは複数の変換済みアドレスを保管し、
前記デバイス・ドライバと前記入出力装置との間で通信するために使用される前記キュー・データ構造の1つまたは複数の項目にアクセスするためにDMAトランザクションを実行するときに、1つまたは複数の前に保管した変換済みアドレスを使用する、
請求項1に記載の方法。 - 前記入出力装置において、前記キュー・データ構造に関連する前記1つまたは複数のアドレス変換に関する前記変換情報をターゲットにする無効化要求を受信するステップと、
前記無効化要求を受信したことに応答して、前記入出力装置の前記キャッシュ内の前記1つまたは複数のアドレス変換に関する前記変換情報を無効化するステップと、
をさらに含む、請求項1に記載の方法。 - 前記キュー・データ構造が、前記デバイス・ドライバと記憶装置またはネットワーク装置のうちの一方との間で伝達すべき制御情報を指定するキュー項目を保管する、請求項1に記載の方法。
- 前記記憶装置またはネットワーク装置が周辺装置相互接続拡張(PCIe)アダプタである、請求項7に記載の方法。
- 前記キュー・データ構造が、リンク・リスト・キュー・データ構造またはサーキュラ・バッファ・キュー・データ構造のうちの一方として構成される、請求項1に記載の方法。
- 前記1つまたは複数の未変換アドレスが、前記キュー・データ構造に関する少なくとも1つの未変換開始アドレスを含み、任意選択で、前記キュー・データ構造に関する未変換終了アドレスまたは前記キュー・データ構造の長さのうちの一方を含む、請求項1に記載の方法。
- 前記デバイス・ドライバが前記データ処理システムのシステム・イメージまたは信頼できないロジカル・パーティション内に設けられ、前記デバイス・ドライバ・サービスが信頼できる仮想化仲介内に設けられる、請求項1に記載の方法。
- コンピュータ可読プログラムを有するコンピュータで使用可能な媒体を含むコンピュータ・プログラムにおいて、前記コンピュータ可読プログラムが、コンピューティング・デバイス上で実行されると、
デバイス・ドライバにより、前記デバイス・ドライバと入出力装置との間の通信に関連するキュー・エレメントを収容するために使用されるキュー・データ構造を作成するステップと、
前記デバイス・ドライバがデバイス・ドライバ・サービスを呼び出したことに応答して、前記キュー・データ構造に関してデータ処理システムのルート複合体に関連するアドレス変換データ構造内の1つまたは複数のアドレス変換項目を初期設定するステップであって、前記1つまたは複数のアドレス変換項目が、1つまたは複数の未変換アドレスから前記キュー・データ構造に関連する1つまたは複数の変換済みメモリ・アドレスへの1つまたは複数の変換を指定するステップと、
前記アドレス変換データ構造から、前記キュー・データ構造に関連する前記1つまたは複数のアドレス変換に関する変換情報を前記入出力装置に提供するステップと、
前記キュー・データ構造に関連する通信を処理するために前記アドレス変換情報を前記入出力装置にキャッシュするステップと、
を前記コンピューティング・デバイスに実行させる、コンピュータ・プログラム。 - 前記デバイス・ドライバ・サービスにより、前記1つまたは複数の未変換アドレスを前記デバイス・ドライバに渡すステップと、
前記デバイス・ドライバにより、前記キュー・データ構造の前記1つまたは複数の未変換アドレスを前記入出力装置に提供するステップと、
前記1つまたは複数の未変換アドレスを受信したことに応答して、前記入出力装置により、アドレス変換要求を前記ルート複合体に送信するステップと、
前記ルート複合体から、前記キュー・データ構造に関連する前記ルート複合体内の前記1つまたは複数のアドレス変換項目に基づいて前記1つまたは複数の未変換アドレスに関連する前記1つまたは複数の変換済みアドレスを受信するステップと、
により、前記コンピュータ可読プログラムが、前記キュー・データ構造に関連する前記アドレス変換情報を前記入出力装置に提供する前記ステップを前記コンピューティング・デバイスに実行させる、請求項12に記載のコンピュータ・プログラム。 - 前記デバイス・ドライバまたは前記デバイス・ドライバ・サービスのうちの一方により、前記1つまたは複数の未変換アドレスを入出力装置構成空間またはI/Oメモリ・マップ入出力(MMIO)メモリ空間のうちの一方に書き込むステップ
により、前記コンピュータ可読プログラムが、前記キュー・データ構造の前記1つまたは複数の未変換アドレスを前記入出力装置に提供する前記ステップを前記コンピューティング・デバイスに実行させる、請求項13に記載のコンピュータ・プログラム。 - 前記入出力装置が、前記デバイス・ドライバと前記入出力装置との間で通信するために使用される前記キュー・データ構造の1つまたは複数の未変換アドレスに関連する前記アドレス変換情報を要求する、請求項12に記載のコンピュータ・プログラム。
- 前記入出力装置が、
前記デバイス・ドライバと前記入出力装置との間で通信するために使用される前記キュー・データ構造の前記1つまたは複数の変換済みアドレスを保管し、
前記デバイス・ドライバと前記入出力装置との間で通信するために使用される前記キュー・データ構造の1つまたは複数の項目にアクセスするためにDMAトランザクションを実行するときに、1つまたは複数の前に保管した変換済みアドレスを使用する、
請求項12に記載のコンピュータ・プログラム。 - 前記コンピュータ可読プログラムが、
前記入出力装置において、前記キュー・データ構造に関連する前記1つまたは複数のアドレス変換に関する前記変換情報をターゲットにする無効化要求を受信するステップと、
前記無効化要求を受信したことに応答して、前記入出力装置の前記キャッシュ内の前記1つまたは複数のアドレス変換に関する前記変換情報を無効化するステップと、
を前記コンピューティング・デバイスにさらに実行させる、請求項12に記載のコンピュータ・プログラム。 - 前記キュー・データ構造が、前記デバイス・ドライバと記憶装置またはネットワーク装置のうちの一方との間で伝達すべき制御情報を指定するキュー項目を保管する、請求項12に記載のコンピュータ・プログラム。
- 前記デバイス・ドライバが前記データ処理システムのシステム・イメージまたは信頼できないロジカル・パーティション内に設けられ、前記デバイス・ドライバ・サービスが信頼できる仮想化仲介内に設けられる、請求項12に記載のコンピュータ・プログラム。
- プロセッサと、
前記プロセッサに結合された入出力エンドポイントとを含み、
前記プロセッサが、
デバイス・ドライバにより、前記デバイス・ドライバと入出力装置との間の通信に関連するキュー・エレメントを収容するために使用されるキュー・データ構造を作成するステップと、
前記デバイス・ドライバがデバイス・ドライバ・サービスを呼び出したことに応答して、前記キュー・データ構造に関してデータ処理システムのルート複合体に関連するアドレス変換データ構造内の1つまたは複数のアドレス変換項目を初期設定するステップであって、前記1つまたは複数のアドレス変換項目が、1つまたは複数の未変換アドレスから前記キュー・データ構造に関連する1つまたは複数の変換済みメモリ・アドレスへの1つまたは複数の変換を指定するステップと、
前記アドレス変換データ構造から、前記キュー・データ構造に関連する前記1つまたは複数のアドレス変換に関する変換情報を前記入出力装置に提供するステップと、
前記キュー・データ構造に関連する通信を処理するために前記アドレス変換情報を前記入出力装置にキャッシュするステップと、
を前記プロセッサに実行させる命令を実行する、装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/550162 | 2006-10-17 | ||
US11/550,162 US7590817B2 (en) | 2006-10-17 | 2006-10-17 | Communicating with an I/O device using a queue data structure and pre-translated addresses |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008102928A true JP2008102928A (ja) | 2008-05-01 |
JP4958110B2 JP4958110B2 (ja) | 2012-06-20 |
Family
ID=39334367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007267404A Expired - Fee Related JP4958110B2 (ja) | 2006-10-17 | 2007-10-15 | データ処理システム内でデバイス・ドライバと入出力装置との間で通信するためのアドレス変換を確立するための方法、コンピュータ・プログラム、および装置(キュー・データ構造および事前変換済みアドレスを使用して入出力装置と通信するための装置および方法) |
Country Status (3)
Country | Link |
---|---|
US (1) | US7590817B2 (ja) |
JP (1) | JP4958110B2 (ja) |
CN (1) | CN101165666B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8799530B2 (en) | 2012-05-10 | 2014-08-05 | Hitachi, Ltd. | Data processing system with a host bus adapter (HBA) running on a PCIe bus that manages the number enqueues or dequeues of data in order to reduce bottleneck |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8117346B2 (en) * | 2008-10-03 | 2012-02-14 | Microsoft Corporation | Configuration space virtualization |
US8161221B2 (en) * | 2008-11-25 | 2012-04-17 | Hitachi, Ltd. | Storage system provided with function for detecting write completion |
US8327055B2 (en) | 2010-04-12 | 2012-12-04 | International Business Machines Corporation | Translating a requester identifier to a chip identifier |
US8364879B2 (en) | 2010-04-12 | 2013-01-29 | International Business Machines Corporation | Hierarchical to physical memory mapped input/output translation |
US8606984B2 (en) * | 2010-04-12 | 2013-12-10 | International Busines Machines Corporation | Hierarchical to physical bus translation |
US8316169B2 (en) | 2010-04-12 | 2012-11-20 | International Business Machines Corporation | Physical to hierarchical bus translation |
US8429323B2 (en) | 2010-05-05 | 2013-04-23 | International Business Machines Corporation | Memory mapped input/output bus address range translation |
US8650349B2 (en) | 2010-05-26 | 2014-02-11 | International Business Machines Corporation | Memory mapped input/output bus address range translation for virtual bridges |
US8271710B2 (en) | 2010-06-24 | 2012-09-18 | International Business Machines Corporation | Moving ownership of a device between compute elements |
US8949499B2 (en) | 2010-06-24 | 2015-02-03 | International Business Machines Corporation | Using a PCI standard hot plug controller to modify the hierarchy of a distributed switch |
US9146863B2 (en) * | 2010-12-08 | 2015-09-29 | International Business Machines Corporation | Address translation table to enable access to virtualized functions |
US9170954B2 (en) | 2012-12-10 | 2015-10-27 | International Business Machines Corporation | Translation management instructions for updating address translation data structures in remote processing nodes |
US9288163B2 (en) * | 2013-03-15 | 2016-03-15 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Low-latency packet receive method for networking devices |
US9256559B2 (en) | 2013-08-19 | 2016-02-09 | International Business Machines Corporation | Function transfer using virtualized mapping |
US9436823B1 (en) * | 2013-12-17 | 2016-09-06 | Google Inc. | System and method for detecting malicious code |
US9619387B2 (en) * | 2014-02-21 | 2017-04-11 | Arm Limited | Invalidating stored address translations |
US9798377B2 (en) * | 2014-10-08 | 2017-10-24 | Apple Inc. | Methods and apparatus for recovering errors with an inter-processor communication link between independently operable processors |
US9619396B2 (en) * | 2015-03-27 | 2017-04-11 | Intel Corporation | Two level memory full line writes |
US10042794B2 (en) | 2015-06-12 | 2018-08-07 | Apple Inc. | Methods and apparatus for synchronizing uplink and downlink transactions on an inter-device communication link |
US10085214B2 (en) | 2016-01-27 | 2018-09-25 | Apple Inc. | Apparatus and methods for wake-limiting with an inter-device communication link |
US10191852B2 (en) | 2016-02-29 | 2019-01-29 | Apple Inc. | Methods and apparatus for locking at least a portion of a shared memory resource |
US10191859B2 (en) | 2016-03-31 | 2019-01-29 | Apple Inc. | Memory access protection apparatus and methods for memory mapped access between independently operable processors |
US10775871B2 (en) | 2016-11-10 | 2020-09-15 | Apple Inc. | Methods and apparatus for providing individualized power control for peripheral sub-systems |
US10591976B2 (en) | 2016-11-10 | 2020-03-17 | Apple Inc. | Methods and apparatus for providing peripheral sub-system stability |
KR101716715B1 (ko) * | 2016-12-27 | 2017-03-15 | 주식회사 티맥스클라우드 | 가상 머신 환경의 네트워크 입출력 장치 가상화 방법 및 장치 |
US10884970B2 (en) * | 2016-12-28 | 2021-01-05 | Intel Corporation | Techniques for coalescing doorbells in a request message |
US20180203807A1 (en) * | 2017-01-13 | 2018-07-19 | Arm Limited | Partitioning tlb or cache allocation |
KR102367359B1 (ko) * | 2017-04-17 | 2022-02-25 | 에스케이하이닉스 주식회사 | 직렬 시스템 버스 인터페이스 및 직접메모리액세스 컨트롤러를 갖는 전자 시스템 및 그 동작 방법 |
US10346226B2 (en) | 2017-08-07 | 2019-07-09 | Time Warner Cable Enterprises Llc | Methods and apparatus for transmitting time sensitive data over a tunneled bus interface |
US10331612B1 (en) | 2018-01-09 | 2019-06-25 | Apple Inc. | Methods and apparatus for reduced-latency data transmission with an inter-processor communication link between independently operable processors |
CN108470008B (zh) * | 2018-01-23 | 2020-08-14 | 广州市中海达测绘仪器有限公司 | 串口数据读写方法、装置、计算机设备和存储介质 |
US11792307B2 (en) | 2018-03-28 | 2023-10-17 | Apple Inc. | Methods and apparatus for single entity buffer pool management |
US10802982B2 (en) * | 2018-04-08 | 2020-10-13 | Mellanox Technologies, Ltd. | Trusted out-of-band memory acquisition for IOMMU-based computer systems |
US11381514B2 (en) | 2018-05-07 | 2022-07-05 | Apple Inc. | Methods and apparatus for early delivery of data link layer packets |
CN110502458B (zh) * | 2018-05-16 | 2021-10-15 | 珠海全志科技股份有限公司 | 一种命令队列控制方法、控制电路及地址映射设备 |
US10430352B1 (en) | 2018-05-18 | 2019-10-01 | Apple Inc. | Methods and apparatus for reduced overhead data transfer with a shared ring buffer |
CN110765462B (zh) * | 2018-07-28 | 2023-06-27 | 阿里巴巴集团控股有限公司 | 一种操作控制方法、装置、计算***及电子设备 |
US10585699B2 (en) | 2018-07-30 | 2020-03-10 | Apple Inc. | Methods and apparatus for verifying completion of groups of data transactions between processors |
US10719376B2 (en) | 2018-08-24 | 2020-07-21 | Apple Inc. | Methods and apparatus for multiplexing data flows via a single data structure |
US10789110B2 (en) | 2018-09-28 | 2020-09-29 | Apple Inc. | Methods and apparatus for correcting out-of-order data transactions between processors |
US10838450B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Methods and apparatus for synchronization of time between independently operable processors |
US11558348B2 (en) | 2019-09-26 | 2023-01-17 | Apple Inc. | Methods and apparatus for emerging use case support in user space networking |
US11477123B2 (en) | 2019-09-26 | 2022-10-18 | Apple Inc. | Methods and apparatus for low latency operation in user space networking |
US11829303B2 (en) | 2019-09-26 | 2023-11-28 | Apple Inc. | Methods and apparatus for device driver operation in non-kernel space |
CN111813451B (zh) * | 2020-06-05 | 2023-03-24 | 上海赛昉科技有限公司 | 一种cpu数据读取装置及方法 |
US11606302B2 (en) | 2020-06-12 | 2023-03-14 | Apple Inc. | Methods and apparatus for flow-based batching and processing |
CN112000593B (zh) * | 2020-07-31 | 2022-03-25 | 瑞芯微电子股份有限公司 | 一种PCIe设备管理方法及其运行*** |
US11775359B2 (en) | 2020-09-11 | 2023-10-03 | Apple Inc. | Methods and apparatuses for cross-layer processing |
US11954540B2 (en) | 2020-09-14 | 2024-04-09 | Apple Inc. | Methods and apparatus for thread-level execution in non-kernel space |
US11799986B2 (en) | 2020-09-22 | 2023-10-24 | Apple Inc. | Methods and apparatus for thread level execution in non-kernel space |
US11876719B2 (en) | 2021-07-26 | 2024-01-16 | Apple Inc. | Systems and methods for managing transmission control protocol (TCP) acknowledgements |
US11882051B2 (en) | 2021-07-26 | 2024-01-23 | Apple Inc. | Systems and methods for managing transmission control protocol (TCP) acknowledgements |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0431945A (ja) * | 1990-05-29 | 1992-02-04 | Mitsubishi Electric Corp | 計算機システムにおける入出力制御方式 |
JPH04308953A (ja) * | 1991-04-05 | 1992-10-30 | Kyocera Corp | 仮想アドレス計算機装置 |
JPH08255120A (ja) * | 1995-03-17 | 1996-10-01 | Fujitsu Ltd | 入出力制御装置 |
JPH08263426A (ja) * | 1995-03-27 | 1996-10-11 | Nec Corp | 論理ダイレクトメモリアクセス方式 |
JP2002176464A (ja) * | 2000-12-07 | 2002-06-21 | Fuji Xerox Co Ltd | ネットワークインタフェース装置 |
JP2005182818A (ja) * | 2003-12-17 | 2005-07-07 | Microsoft Corp | オンチップバス |
JP2006085400A (ja) * | 2004-09-16 | 2006-03-30 | Hitachi Ltd | データ処理システム |
WO2006039177A1 (en) * | 2004-09-30 | 2006-04-13 | Intel Corporation | Fault processing for direct memory access address translation |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6381674B2 (en) * | 1997-09-30 | 2002-04-30 | Lsi Logic Corporation | Method and apparatus for providing centralized intelligent cache between multiple data controlling elements |
US6629162B1 (en) * | 2000-06-08 | 2003-09-30 | International Business Machines Corporation | System, method, and product in a logically partitioned system for prohibiting I/O adapters from accessing memory assigned to other partitions during DMA |
US6874039B2 (en) * | 2000-09-08 | 2005-03-29 | Intel Corporation | Method and apparatus for distributed direct memory access for systems on chip |
JP4233492B2 (ja) * | 2004-06-02 | 2009-03-04 | 富士通マイクロエレクトロニクス株式会社 | アドレス変換装置 |
US7334107B2 (en) * | 2004-09-30 | 2008-02-19 | Intel Corporation | Caching support for direct memory access address translation |
KR100699831B1 (ko) * | 2004-12-16 | 2007-03-27 | 삼성전자주식회사 | 베이어 패턴의 컬러 신호를 보간하는 방법 및 보간기 |
US20060136697A1 (en) * | 2004-12-16 | 2006-06-22 | Tsao Gary Y | Method, system, and program for updating a cached data structure table |
US7398337B2 (en) * | 2005-02-25 | 2008-07-08 | International Business Machines Corporation | Association of host translations that are associated to an access control level on a PCI bridge that supports virtualization |
US7353360B1 (en) * | 2005-04-05 | 2008-04-01 | Sun Microsystems, Inc. | Method for maximizing page locality |
US7543131B2 (en) * | 2005-08-12 | 2009-06-02 | Advanced Micro Devices, Inc. | Controlling an I/O MMU |
US20080065854A1 (en) * | 2006-09-07 | 2008-03-13 | Sebastina Schoenberg | Method and apparatus for accessing physical memory belonging to virtual machines from a user level monitor |
US8249089B2 (en) * | 2006-09-29 | 2012-08-21 | Intel Corporation | Methods for pushing address translations mappings to PCI express endpoints |
-
2006
- 2006-10-17 US US11/550,162 patent/US7590817B2/en not_active Expired - Fee Related
-
2007
- 2007-09-13 CN CN2007101540844A patent/CN101165666B/zh not_active Expired - Fee Related
- 2007-10-15 JP JP2007267404A patent/JP4958110B2/ja not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0431945A (ja) * | 1990-05-29 | 1992-02-04 | Mitsubishi Electric Corp | 計算機システムにおける入出力制御方式 |
JPH04308953A (ja) * | 1991-04-05 | 1992-10-30 | Kyocera Corp | 仮想アドレス計算機装置 |
JPH08255120A (ja) * | 1995-03-17 | 1996-10-01 | Fujitsu Ltd | 入出力制御装置 |
JPH08263426A (ja) * | 1995-03-27 | 1996-10-11 | Nec Corp | 論理ダイレクトメモリアクセス方式 |
JP2002176464A (ja) * | 2000-12-07 | 2002-06-21 | Fuji Xerox Co Ltd | ネットワークインタフェース装置 |
JP2005182818A (ja) * | 2003-12-17 | 2005-07-07 | Microsoft Corp | オンチップバス |
JP2006085400A (ja) * | 2004-09-16 | 2006-03-30 | Hitachi Ltd | データ処理システム |
WO2006039177A1 (en) * | 2004-09-30 | 2006-04-13 | Intel Corporation | Fault processing for direct memory access address translation |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8799530B2 (en) | 2012-05-10 | 2014-08-05 | Hitachi, Ltd. | Data processing system with a host bus adapter (HBA) running on a PCIe bus that manages the number enqueues or dequeues of data in order to reduce bottleneck |
Also Published As
Publication number | Publication date |
---|---|
JP4958110B2 (ja) | 2012-06-20 |
CN101165666A (zh) | 2008-04-23 |
US20080148005A1 (en) | 2008-06-19 |
CN101165666B (zh) | 2011-07-20 |
US7590817B2 (en) | 2009-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4958110B2 (ja) | データ処理システム内でデバイス・ドライバと入出力装置との間で通信するためのアドレス変換を確立するための方法、コンピュータ・プログラム、および装置(キュー・データ構造および事前変換済みアドレスを使用して入出力装置と通信するための装置および方法) | |
JP4958112B2 (ja) | データ処理システム内でシステム・イメージとローカルに接続された外部記憶装置との間の動作を実行するための方法、コンピュータ・プログラム、および装置(キャッシュされたアドレス変換を使用して入出力アダプタと通信するための装置および方法) | |
JP4958111B2 (ja) | データ処理システム内でネットワーク入出力(i/o)アダプタと通信するためにネットワーク・デバイス・ドライバによって使用されるバッファ・データ構造にアクセスするためのアドレス変換を管理するための方法、コンピュータ・プログラム、および装置(キュー・データ構造およびキャッシュされたアドレス変換を使用してネットワーク・アダプタと通信するための装置および方法) | |
US7617377B2 (en) | Splitting endpoint address translation cache management responsibilities between a device driver and device driver services | |
US7587575B2 (en) | Communicating with a memory registration enabled adapter using cached address translations | |
US11467978B2 (en) | Method and apparatus for hardware virtualization | |
CN107111576B (zh) | 发布的中断架构 | |
EP2430552B1 (en) | Multiple address spaces per adapter | |
JP5680194B2 (ja) | アダプタとの通信のためのロード命令 | |
JP5934350B2 (ja) | 結合ファシリティのオペレータ・メッセージ・バッファの管理 | |
JP6005149B2 (ja) | 結合ファシリティを試験するためのオペレータ・メッセージ・コマンド | |
JP2023524665A (ja) | ネットワーク・スタック・フレームワークにおいてコヒーレントにアタッチされたインターフェースを利用すること | |
JP5995962B2 (ja) | オペレータ・メッセージ開始コマンドの実行 | |
JP5911568B2 (ja) | オペレータ・メッセージ・コマンドの結合ファシリティへの伝送 | |
JP5995961B2 (ja) | オペレータ・メッセージ・コマンドの処理 | |
US20180314583A1 (en) | Hardware Accelerator Address Translation Fault Resolution | |
US10585744B2 (en) | Managed hardware accelerator address translation fault resolution utilizing a credit | |
US10216568B2 (en) | Live partition mobility enabled hardware accelerator address translation fault resolution |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100621 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110830 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110831 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20111003 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111003 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20111003 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20111005 |
|
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: 20120223 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20120224 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20120224 |
|
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: 20120313 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150330 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |