JP4898525B2 - Dmaオペレーションを選択的に停止させるための方法、装置およびデータ処理システム - Google Patents
Dmaオペレーションを選択的に停止させるための方法、装置およびデータ処理システム Download PDFInfo
- Publication number
- JP4898525B2 JP4898525B2 JP2007098505A JP2007098505A JP4898525B2 JP 4898525 B2 JP4898525 B2 JP 4898525B2 JP 2007098505 A JP2007098505 A JP 2007098505A JP 2007098505 A JP2007098505 A JP 2007098505A JP 4898525 B2 JP4898525 B2 JP 4898525B2
- Authority
- JP
- Japan
- Prior art keywords
- migration
- control entry
- physical page
- memory access
- direct memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; 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]
Description
Claims (12)
- 複数の物理ページをもつシステム・メモリと、該物理ページに対応して設けられ、該物理ページにアクセスしてダイレクト・メモリ・アクセス・オペレーションを実行させる入出力アダプタとをもつシステムにおいて、前記ダイレクト・メモリ・アクセス・オペレーションを選択的に停止させるための方法であって、
前記物理ページへのダイレクト・メモリ・アクセスに関する要求を前記入出力アダプタから受け取ることに応答して、前記物理ページを指す変換制御エントリにおいて、システム・メモリ内の他のロケーションへの前記物理ページのマイグレーションが進行中であるかどうかを表すマイグレーション進行状況表示ビットを検査するステップと、
前記物理ページのマイグレーションが進行中であることを前記マイグレーション進行状況表示ビットが表す場合、前記入出力アダプタからのダイレクト・メモリ・アクセスを停止させるが、他の物理ページに対応する入出力アダプタから前記システム・メモリ内の他の物理ページへの他のダイレクト・メモリ・アクセス・オペレーションを継続させるステップとを含み、
前記物理ページのマイグレーションが、
前記物理ページのマイグレーションが進行中であることを表すように、前記物理ページを指すすべての変換制御エントリ内のマイグレーション進行状況表示ビットをセットするステップと、
前記マイグレーション進行状況表示ビットをセットすることに応答して、前記変換制御エントリのキャッシュされたコピーを無効にするステップと、
各PCIホスト・ブリッジにメモリ・マップ入出力ロードを発行するステップと、
すべてのメモリ・マップ入出力ロードが完了したという決定に応答して、前記物理ページの内容を新しい物理ページにコピーするステップと、
前記新しい物理ページを指すように前記変換制御エントリを修正するステップと、
物理ページのマイグレーションが進行中でないことを表すように、前記変換制御エントリ内の各マイグレーション進行状況表示ビットをセットするステップと、
すべての実行中のダイレクト・メモリ・アクセス読取りオペレーションが完了したという決定に応答して、前記マイグレーションが完了したとして宣言するステップと、
を含む、
方法。 - 前記物理ページのマイグレーションが進行中でないことを前記マイグレーション進行状況表示ビットが表す場合、前記物理ページへのダイレクト・メモリ・アクセスが継続することを可能にするステップを更に含む、請求項1に記載の方法。
- 前記停止させるステップが、前記マイグレーションが完了するまで前記入出力アダプタからのダイレクト・メモリ・アクセスを停止させるステップを含む、請求項1に記載の方法。
- 前記検査するステップが、
システム・メモリにある変換制御エントリ・テーブルから前記変換制御エントリをフェッチするステップと、
前記変換制御エントリ内の前記マイグレーション進行状況表示ビットを検査するために前記変換制御エントリを前記入出力アダプタ内の保持レジスタに入れるステップと、
を更に含む、請求項1に記載の方法。 - 前記停止させるステップが、前記入出力アダプタからのダイレクト・メモリ・アクセス書込み要求およびダイレクト・メモリ・アクセス読取り要求ならびに前記入出力アダプタからのメモリ・マップ入出力ロード応答を使用不可にするステップを更に含む、請求項1に記載の方法。
- マイグレーションされる物理ページへのダイレクト・メモリ・アクセス書込み要求を受け取るまで、前記停止させるステップを遅らせる、請求項1に記載の方法。
- 前記ダイレクト・メモリ・アクセスを停止させることに応答して、前記保持レジスタから前記変換制御エントリを廃棄するステップと、
前記ダイレクト・メモリ・アクセスにおける前記物理ページのマイグレーションが進行中でないという決定が行われるまで、前記変換制御エントリを変換制御エントリ・テーブルから再フェッチするステップと、
を更に含む、請求項4に記載の方法。 - 前記保持レジスタから前記変換制御エントリを廃棄することに応答して、再フェッチ・タイマを開始させるステップと、
前記ダイレクト・メモリ・アクセスにおける前記物理ページのマイグレーションが進行中でないという決定が行われるまで、前記変換制御エントリが廃棄され、且つ前記再フェッチ・タイマが満了するたびに前記変換制御エントリ・テーブルから前記変換制御エントリを再フェッチするステップと、
を更に含む、請求項7に記載の方法。 - 前記要求を受け取ることに応答して、前記ダイレクト・メモリ・アクセスを行うために必要な変換制御エントリがキャッシュされているかどうかを決定するステップと、
前記変換制御エントリがキャッシュされてない場合、前記変換制御エントリがフェッチされるまで前記ダイレクト・メモリ・アクセスを停止させるステップと、
を更に含む、請求項1に記載の方法。 - 前記変換制御エントリがキャッシュされている場合、キャッシュされている変換制御エントリが有効であるかどうかを決定するステップと、
前記キャッシュされている変換制御エントリが有効である場合、前記キャッシュされている変換制御エントリを使用して前記ダイレクト・メモリ・アクセスが継続することを可能にするステップと、
を更に含む、請求項9に記載の方法。 - 前記メモリ・マップ入出力ロードは、メモリ・マップ入出力ロード応答がプロセッサに戻る前に前記変換制御エントリの無効化を前記PCIホスト・ブリッジに到達させ、前記変換制御エントリの無効化前におけるメモリへのすべてのダイレクト・メモリ・アクセス書込みがメモリに送出されることを保証させる、請求項1に記載の方法。
- 前記コピーするステップが、前記物理ページへのソフトウェア・ロードおよび前記新しいページへのソフトウェア・ストアを行うステップを含む、請求項1に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/279,906 US8621120B2 (en) | 2006-04-17 | 2006-04-17 | Stalling of DMA operations in order to do memory migration using a migration in progress bit in the translation control entry mechanism |
US11/279,906 | 2006-04-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007287140A JP2007287140A (ja) | 2007-11-01 |
JP4898525B2 true JP4898525B2 (ja) | 2012-03-14 |
Family
ID=38662426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007098505A Expired - Fee Related JP4898525B2 (ja) | 2006-04-17 | 2007-04-04 | Dmaオペレーションを選択的に停止させるための方法、装置およびデータ処理システム |
Country Status (4)
Country | Link |
---|---|
US (1) | US8621120B2 (ja) |
JP (1) | JP4898525B2 (ja) |
CN (1) | CN100495375C (ja) |
TW (1) | TWI414943B (ja) |
Families Citing this family (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7574537B2 (en) * | 2005-02-03 | 2009-08-11 | International Business Machines Corporation | Method, apparatus, and computer program product for migrating data pages by disabling selected DMA operations in a physical I/O adapter |
US7500072B2 (en) * | 2006-04-25 | 2009-03-03 | International Business Machines Corporation | Migrating data that is subject to access by input/output devices |
TWI328167B (en) * | 2007-05-04 | 2010-08-01 | Inventec Corp | Method for accessing memory |
US8224885B1 (en) | 2009-01-26 | 2012-07-17 | Teradici Corporation | Method and system for remote computing session management |
US8918488B2 (en) * | 2009-02-04 | 2014-12-23 | Citrix Systems, Inc. | Methods and systems for automated management of virtual resources in a cloud computing environment |
US8572635B2 (en) | 2010-06-23 | 2013-10-29 | International Business Machines Corporation | Converting a message signaled interruption into an I/O adapter event notification |
US9342352B2 (en) | 2010-06-23 | 2016-05-17 | International Business Machines Corporation | Guest access to address spaces of adapter |
US8626970B2 (en) | 2010-06-23 | 2014-01-07 | International Business Machines Corporation | Controlling access by a configuration to an adapter function |
US8639858B2 (en) | 2010-06-23 | 2014-01-28 | International Business Machines Corporation | Resizing address spaces concurrent to accessing the address spaces |
US8621112B2 (en) | 2010-06-23 | 2013-12-31 | International Business Machines Corporation | Discovery by operating system of information relating to adapter functions accessible to the operating system |
US8510599B2 (en) | 2010-06-23 | 2013-08-13 | International Business Machines Corporation | Managing processing associated with hardware events |
US8566480B2 (en) | 2010-06-23 | 2013-10-22 | International Business Machines Corporation | Load instruction for communicating with adapters |
US8478922B2 (en) | 2010-06-23 | 2013-07-02 | International Business Machines Corporation | Controlling a rate at which adapter interruption requests are processed |
US8650337B2 (en) | 2010-06-23 | 2014-02-11 | International Business Machines Corporation | Runtime determination of translation formats for adapter functions |
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 |
US8635430B2 (en) | 2010-06-23 | 2014-01-21 | International Business Machines Corporation | Translation of input/output addresses to memory addresses |
US8504754B2 (en) | 2010-06-23 | 2013-08-06 | International Business Machines Corporation | Identification of types of sources of adapter interruptions |
US9213661B2 (en) * | 2010-06-23 | 2015-12-15 | International Business Machines Corporation | Enable/disable adapters of a computing environment |
US9195623B2 (en) * | 2010-06-23 | 2015-11-24 | International Business Machines Corporation | Multiple address spaces per adapter with address translation |
US8505032B2 (en) | 2010-06-23 | 2013-08-06 | International Business Machines Corporation | Operating system notification of actions to be taken responsive to adapter events |
US8549182B2 (en) | 2010-06-23 | 2013-10-01 | International Business Machines Corporation | Store/store block instructions for communicating with adapters |
US8650335B2 (en) | 2010-06-23 | 2014-02-11 | International Business Machines Corporation | Measurement facility for adapter functions |
US8407389B2 (en) * | 2010-07-20 | 2013-03-26 | International Business Machines Corporation | Atomic operations with page migration in PCIe |
US8904115B2 (en) * | 2010-09-28 | 2014-12-02 | Texas Instruments Incorporated | Cache with multiple access pipelines |
US20120254582A1 (en) * | 2011-03-31 | 2012-10-04 | Ashok Raj | Techniques and mechanisms for live migration of pages pinned for dma |
EP2626757A1 (en) * | 2012-02-08 | 2013-08-14 | Intel Mobile Communications Technology Dresden GmbH | Finite state machine for system management |
US10146545B2 (en) | 2012-03-13 | 2018-12-04 | Nvidia Corporation | Translation address cache for a microprocessor |
CN102645609B (zh) * | 2012-03-30 | 2014-12-10 | 上海斐讯数据通信技术有限公司 | Jtag链路测试装置及其测试方法 |
US9880846B2 (en) | 2012-04-11 | 2018-01-30 | Nvidia Corporation | Improving hit rate of code translation redirection table with replacement strategy based on usage history table of evicted entries |
US9875105B2 (en) | 2012-05-03 | 2018-01-23 | Nvidia Corporation | Checkpointed buffer for re-entry from runahead |
US10241810B2 (en) | 2012-05-18 | 2019-03-26 | Nvidia Corporation | Instruction-optimizing processor with branch-count table in hardware |
US9645929B2 (en) | 2012-09-14 | 2017-05-09 | Nvidia Corporation | Speculative permission acquisition for shared memory |
US20140089553A1 (en) * | 2012-09-24 | 2014-03-27 | Broadcom Corporation | Interface between a host and a peripheral device |
US10001996B2 (en) | 2012-10-26 | 2018-06-19 | Nvidia Corporation | Selective poisoning of data during runahead |
US9740553B2 (en) | 2012-11-14 | 2017-08-22 | Nvidia Corporation | Managing potentially invalid results during runahead |
US9632976B2 (en) | 2012-12-07 | 2017-04-25 | Nvidia Corporation | Lazy runahead operation for a microprocessor |
US20140189310A1 (en) | 2012-12-27 | 2014-07-03 | Nvidia Corporation | Fault detection in instruction translations |
US9569214B2 (en) | 2012-12-27 | 2017-02-14 | Nvidia Corporation | Execution pipeline data forwarding |
US9823931B2 (en) | 2012-12-28 | 2017-11-21 | Nvidia Corporation | Queued instruction re-dispatch after runahead |
US9547602B2 (en) | 2013-03-14 | 2017-01-17 | Nvidia Corporation | Translation lookaside buffer entry systems and methods |
US10108424B2 (en) | 2013-03-14 | 2018-10-23 | Nvidia Corporation | Profiling code portions to generate translations |
US9582280B2 (en) | 2013-07-18 | 2017-02-28 | Nvidia Corporation | Branching to alternate code based on runahead determination |
US10404795B2 (en) * | 2014-02-19 | 2019-09-03 | Vmware, Inc. | Virtual machine high availability using shared storage during network isolation |
US9563572B2 (en) | 2014-12-10 | 2017-02-07 | International Business Machines Corporation | Migrating buffer for direct memory access in a computer system |
US10810031B2 (en) * | 2015-09-28 | 2020-10-20 | Red Hat Israel, Ltd. | Dirty memory tracking with assigned devices by exitless paravirtualization |
US9529759B1 (en) | 2016-01-14 | 2016-12-27 | International Business Machines Corporation | Multipath I/O in a computer system |
US10042720B2 (en) | 2016-02-22 | 2018-08-07 | International Business Machines Corporation | Live partition mobility with I/O migration |
US10042723B2 (en) | 2016-02-23 | 2018-08-07 | International Business Machines Corporation | Failover of a virtual function exposed by an SR-IOV adapter |
US10002018B2 (en) | 2016-02-23 | 2018-06-19 | International Business Machines Corporation | Migrating single root I/O virtualization adapter configurations in a computing system |
US10025584B2 (en) | 2016-02-29 | 2018-07-17 | International Business Machines Corporation | Firmware management of SR-IOV adapters |
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 |
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 |
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 |
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 |
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 |
CN110765462B (zh) * | 2018-07-28 | 2023-06-27 | 阿里巴巴集团控股有限公司 | 一种操作控制方法、装置、计算系统及电子设备 |
CN113950721B (zh) | 2019-05-31 | 2022-12-30 | 美光科技公司 | 允许多核操作的基于jtag的架构 |
CN110321225B (zh) * | 2019-07-08 | 2021-04-30 | 腾讯科技(深圳)有限公司 | 负载均衡方法、元数据服务器及计算机可读存储介质 |
US11567666B2 (en) * | 2021-03-24 | 2023-01-31 | Ati Technologies Ulc | Handling the migration of pages of memory accessible by input-output devices |
US20230325321A1 (en) * | 2022-04-11 | 2023-10-12 | Samsung Electronics Co., Ltd. | Systems and methods for pre-populating address translation cache |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5377337A (en) * | 1993-06-08 | 1994-12-27 | International Business Machines Corporation | Method and means for enabling virtual addressing control by software users over a hardware page transfer control entity |
US6457072B1 (en) * | 1999-07-29 | 2002-09-24 | Sony Corporation | System and method for effectively performing physical direct memory access operations |
GB2359906B (en) * | 2000-02-29 | 2004-10-20 | Virata Ltd | Method and apparatus for DMA data transfer |
US6785759B1 (en) | 2000-05-10 | 2004-08-31 | International Business Machines Corporation | System and method for sharing I/O address translation caching across multiple host bridges |
US6654818B1 (en) | 2000-06-22 | 2003-11-25 | International Business Machines Corporation | DMA access authorization for 64-bit I/O adapters on PCI bus |
US6678755B1 (en) * | 2000-06-30 | 2004-01-13 | Micron Technology, Inc. | Method and apparatus for appending memory commands during a direct memory access operation |
US6816921B2 (en) * | 2000-09-08 | 2004-11-09 | Texas Instruments Incorporated | Micro-controller direct memory access (DMA) operation with adjustable word size transfers and address alignment/incrementing |
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 |
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 |
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 |
US7117385B2 (en) | 2003-04-21 | 2006-10-03 | International Business Machines Corporation | Method and apparatus for recovery of partitions in a logical partitioned data processing system |
JP2005122640A (ja) | 2003-10-20 | 2005-05-12 | Hitachi Ltd | サーバシステム及びi/oスロット共有方法。 |
US7146482B2 (en) | 2003-11-25 | 2006-12-05 | International Business Machines Corporation | Memory mapped input/output emulation |
-
2006
- 2006-04-17 US US11/279,906 patent/US8621120B2/en not_active Expired - Fee Related
-
2007
- 2007-03-29 CN CNB2007100915937A patent/CN100495375C/zh active Active
- 2007-04-03 TW TW096111878A patent/TWI414943B/zh active
- 2007-04-04 JP JP2007098505A patent/JP4898525B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101059786A (zh) | 2007-10-24 |
TW200809514A (en) | 2008-02-16 |
TWI414943B (zh) | 2013-11-11 |
CN100495375C (zh) | 2009-06-03 |
US8621120B2 (en) | 2013-12-31 |
JP2007287140A (ja) | 2007-11-01 |
US20070260768A1 (en) | 2007-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4898525B2 (ja) | Dmaオペレーションを選択的に停止させるための方法、装置およびデータ処理システム | |
US7734843B2 (en) | Computer-implemented method, apparatus, and computer program product for stalling DMA operations during memory migration | |
US8607020B2 (en) | Shared memory partition data processing system with hypervisor managed paging | |
US7318127B2 (en) | Method, apparatus, and computer program product for sharing data in a cache among threads in an SMT processor | |
JP5579354B2 (ja) | 関連アプリケーションに対するトラック・データ・クロスリファレンスを保存する方法及び装置 | |
US7660912B2 (en) | I/O adapter LPAR isolation in a hypertransport environment | |
US7492723B2 (en) | Mechanism to virtualize all address spaces in shared I/O fabrics | |
US7908457B2 (en) | Retaining an association between a virtual address based buffer and a user space application that owns the buffer | |
US20080168208A1 (en) | I/O Adapter LPAR Isolation In A Hypertransport Environment With Assigned Memory Space Indexing a TVT Via Unit IDs | |
US20090204959A1 (en) | Method and apparatus for virtual processor dispatching to a partition based on shared memory pages | |
JP4405435B2 (ja) | 動的なホスト区画ページ割り当てのための方法および装置 | |
US20060010276A1 (en) | Isolation of input/output adapter direct memory access addressing domains | |
US7941568B2 (en) | Mapping a virtual address to PCI bus address | |
US7266631B2 (en) | Isolation of input/output adapter traffic class/virtual channel and input/output ordering domains | |
US20090182967A1 (en) | Packet transfer in a virtual partitioned environment | |
US20240086195A1 (en) | Monitor exclusive instruction | |
US8930670B2 (en) | Partition redispatching using page tracking |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110705 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110630 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110823 |
|
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: 20111206 |
|
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: 20111226 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4898525 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150106 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |