JP2009512004A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2009512004A5 JP2009512004A5 JP2008534001A JP2008534001A JP2009512004A5 JP 2009512004 A5 JP2009512004 A5 JP 2009512004A5 JP 2008534001 A JP2008534001 A JP 2008534001A JP 2008534001 A JP2008534001 A JP 2008534001A JP 2009512004 A5 JP2009512004 A5 JP 2009512004A5
- Authority
- JP
- Japan
- Prior art keywords
- block
- data
- dma controller
- written
- temporary
- 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
- 230000000875 corresponding Effects 0.000 claims 11
- 238000004590 computer program Methods 0.000 claims 10
- 230000005540 biological transmission Effects 0.000 claims 1
- 230000001276 controlling effect Effects 0.000 claims 1
Claims (20)
- 少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに結合されたダイレクト・メモリ・アクセス(DMA)コントローラと、
前記DMAコントローラ及び前記少なくとも1つのプロセッサに結合されたメモリと、 前記メモリ内に存在して前記少なくとも1つのプロセッサにより実行される仮想メモリ・マネージャとを含む装置であって、前記仮想メモリ・マネージャは、前記メモリ内に一時的ブロックを作り、前記DMAコントローラによる将来の書込みが前記一時的ブロックに書き込まれるように前記DMAコントローラ内のアドレス変換テーブルを変更し、データを前記メモリ内の第1ブロックから第2ブロックに移動し、前記第1ブロックから前記第2ブロックへの前記データ移動の後に、前記DMAコントローラによる前記一時的ブロックへの書込みが前記仮想メモリ・マネージャによる前記第1ブロックから前記第2ブロックへの前記データ移動の間に行われたか否かを判定し、もし前記判定が肯定ならば、前記第1ブロックから前記第2ブロックへの前記データ移動中に前記DMAコントローラによって一時的場所に書き込まれたデータを前記一時的場所から前記第2ブロックに書き込む、
前記装置。 - 前記装置は複数のビットを含むハードウェア・レジスタを更に含んでおり、各ビットは前記メモリの画定されたブロックに対応し、各ビットの値は、そのビットに対応する前記画定されたブロックに前記DMAコントローラがデータを書き込んだならば1であり、そのビットに対応する前記画定されたブロックに前記DMAコントローラがデータを書き込まなかったならば0である、請求項1の装置。
- 前記ハードウェア・レジスタは改変記録レジスタを含む、請求項2の装置。
- 前記ハードウェア・レジスタは前記DMAコントローラ内に存在する、請求項2の装置。
- 前記ハードウェア・レジスタの1である各ビットは、メモリの対応するブロックの中のデータが前記第2ブロックに書き込まれたときに0に変更される、請求項2の装置。
- メモリにおいて第1ブロックから第2ブロックにデータを移動する、コンピュータにより実行される方法であって、
(A)前記メモリ内に一時的ブロックを作るステップと、
(B)DMAコントローラ内のアドレス変換テーブルを、前記DMAコントローラによる将来の書込みが前記一時的ブロックに書き込まれるように、変更するステップと、
(C)データを前記メモリ内の第1ブロックから第2ブロックに移動するステップと、
(D)ステップ(C)における前記データ移動の後に、前記DMAコントローラによる前記一時的ブロックへの書込みがステップ(C)における前記データ移動の間に行われたか否かを判定するステップと、
(E)前記DMAコントローラによる前記一時的ブロックへの書込みがステップ(C)における前記データ移動の間に行われたならば、ステップ(C)における前記データ移動の間に前記DMAコントローラによって書き込まれた前記データを一時的場所から前記第2ブロックに書き込むステップと、
を含む、前記方法。 - (F)ステップ(E)における前記データの前記書き込みの間に前記DMAコントローラにより前記一時的ブロックへの書込みが行われたならば、ステップ(E)における前記データの前記書き込みの間に前記DMAコントローラにより書き込まれた前記データを前記一時的場所から前記第2ブロックに書きこむステップを更に含む、請求項6の方法。
- (G)ステップ(F)における前記データの前記書き込みの間に前記DMAコントローラが前記一時的場所にデータを書き込まなくなるまでステップ(F)を反復するステップを更に含む、請求項7の方法。
- ステップ(D)は、前記DMAコントローラによる前記一時的ブロックの変更を反映するハードウェア・レジスタの状態を調べることによって実行される、請求項8の方法。
- 前記ハードウェア・レジスタは前記DMAコントローラ内に存在する、請求項9の方法。
- 前記ハードウェア・レジスタは複数のビットを含み、各ビットは前記メモリの画定されたブロックに対応し、各ビットの値は、そのビットに対応する前記画定されたブロックに前記DMAコントローラがデータを書き込んだならば1であり、そのビットに対応する前記画定されたブロックに前記DMAコントローラがデータを書き込まなかったならば0である、請求項9の方法。
- 前記ハードウェア・レジスタの1である各ビットは、メモリの対応するブロックの中のデータが前記第2ブロックに書き込まれたときに0に変更される、請求項11の方法。
- 仮想メモリ・マネージャを提供するようにデータ処理装置の動作を制御するためのコンピュータ可読プログラム・コードにおいて実現される命令のセットを含むコンピュータ・プログラムであって、前記仮想メモリ・マネージャは、
メモリ内に一時的ブロックを作り、
DMAコントローラによる将来の書込みが前記一時的ブロックに書き込まれるように前記DMAコントローラ内のアドレス変換テーブルを変更し、
データを前記メモリ内の第1ブロックから第2ブロックに移動し、
前記第1ブロックから前記第2ブロックへの前記データ移動の後に、前記DMAコントローラによる前記一時的ブロックへの書込みが前記仮想メモリ・マネージャによる前記第1ブロックから前記第2ブロックへの前記データ移動の間に行われたか否かを判定し、
もし前記判定が肯定ならば、前記第1ブロックから前記第2ブロックへの前記データ移動中に前記DMAコントローラによって一時的場所に書き込まれたデータを前記一時的場所から前記第2ブロックに書き込む、
前記コンピュータ・プログラム。 - (A)請求項13のコンピュータ・プログラムと、
(B)前記コンピュータ・プログラムを担持するコンピュータ可読信号担持媒体と、
を含むコンピュータ・プログラム製品。 - 前記コンピュータ可読信号担持媒体は記録可能な媒体を含む、請求項14のコンピュータ・プログラム製品。
- 前記コンピュータ可読信号担持媒体は伝送媒体を含む、請求項14のコンピュータ・プログラム製品。
- 前記仮想メモリ・マネージャは、前記第1ブロックから前記第2ブロックへの前記データ移動の後に、ハードウェア・レジスタを読むことによって、前記仮想メモリ・マネージャによる前記第1ブロックから前記第2ブロックへの前記データ移動の間に前記DMAコントローラによる前記一時的ブロックへの書込みが行われたか否かを判定し、前記ハードウェア・レジスタは複数のビットを含み、各ビットは前記メモリ内のデータの画定されたブロックに対応し、各ビットの値は、そのビットに対応する前記画定されたブロックに前記DMAコントローラがデータを書き込んだならば1であり、そのビットに対応する前記画定されたブロックに前記DMAコントローラがデータを書き込まなかったならば0である、請求項13のコンピュータ・プログラム製品。
- 前記ハードウェア・レジスタは改変記録レジスタを含む、請求項17のコンピュータ・プログラム製品。
- 前記ハードウェア・レジスタは前記DMAコントローラ内に存在する、請求項17のコンピュータ・プログラム製品。
- 前記ハードウェア・レジスタの1である各ビットは、メモリの対応するブロックの中のデータが前記第2ブロックに書き込まれたときに0に変更される、請求項17のコンピュータ・プログラム製品。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/246,824 US7725620B2 (en) | 2005-10-07 | 2005-10-07 | Handling DMA requests in a virtual memory environment |
PCT/EP2006/066999 WO2007042428A2 (en) | 2005-10-07 | 2006-10-03 | Apparatus and method for handling dma requests in a virtual memory environment |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2009512004A JP2009512004A (ja) | 2009-03-19 |
JP2009512004A5 true JP2009512004A5 (ja) | 2010-08-12 |
JP4629779B2 JP4629779B2 (ja) | 2011-02-09 |
Family
ID=37912128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008534001A Active JP4629779B2 (ja) | 2005-10-07 | 2006-10-03 | 仮想メモリ環境においてdmaリクエストを処理するための装置、方法、及び、コンピュータ・プログラム |
Country Status (7)
Country | Link |
---|---|
US (2) | US7725620B2 (ja) |
EP (1) | EP1934762B1 (ja) |
JP (1) | JP4629779B2 (ja) |
CN (1) | CN100589089C (ja) |
AT (1) | ATE450831T1 (ja) |
DE (1) | DE602006010893D1 (ja) |
WO (1) | WO2007042428A2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4770602B2 (ja) * | 2006-06-23 | 2011-09-14 | 株式会社デンソー | 電子機器 |
US20080229053A1 (en) * | 2007-03-13 | 2008-09-18 | Edoardo Campini | Expanding memory support for a processor using virtualization |
US8751738B2 (en) | 2010-02-08 | 2014-06-10 | Microsoft Corporation | Background migration of virtual storage |
US9092149B2 (en) * | 2010-11-03 | 2015-07-28 | Microsoft Technology Licensing, Llc | Virtualization and offload reads and writes |
US9146765B2 (en) | 2011-03-11 | 2015-09-29 | Microsoft Technology Licensing, Llc | Virtual disk storage techniques |
US8903966B2 (en) * | 2011-06-01 | 2014-12-02 | International Business Machines Corporation | Re-programming programmable hardware devices without system downtime |
US9817582B2 (en) | 2012-01-09 | 2017-11-14 | Microsoft Technology Licensing, Llc | Offload read and write offload provider |
WO2014068607A1 (en) * | 2012-10-30 | 2014-05-08 | Hitachi, Ltd. | Computer system and method for updating configuration information |
US9071585B2 (en) | 2012-12-12 | 2015-06-30 | Microsoft Technology Licensing, Llc | Copy offload for disparate offload providers |
US9251201B2 (en) | 2012-12-14 | 2016-02-02 | Microsoft Technology Licensing, Llc | Compatibly extending offload token size |
US9582223B2 (en) | 2014-04-14 | 2017-02-28 | International Business Machines Corporation | Efficient reclamation of pre-allocated direct memory access (DMA) memory |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4590467A (en) * | 1983-10-13 | 1986-05-20 | Rockwell International Corporation | Local area network interface controller |
US4658351A (en) | 1984-10-09 | 1987-04-14 | Wang Laboratories, Inc. | Task control means for a multi-tasking data processing system |
EP0348628A3 (en) | 1988-06-28 | 1991-01-02 | International Business Machines Corporation | Cache storage system |
US5463739A (en) | 1992-12-22 | 1995-10-31 | International Business Machines Corporation | Apparatus for vetoing reallocation requests during a data transfer based on data bus latency and the number of received reallocation requests below a threshold |
US5640527A (en) | 1993-07-14 | 1997-06-17 | Dell Usa, L.P. | Apparatus and method for address pipelining of dynamic random access memory utilizing transparent page address latches to reduce wait states |
US5778427A (en) | 1995-07-07 | 1998-07-07 | Sun Microsystems, Inc. | Method and apparatus for selecting a way of a multi-way associative cache by storing waylets in a translation structure |
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 |
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 |
US7574709B2 (en) * | 2004-04-30 | 2009-08-11 | Microsoft Corporation | VEX-virtual extension framework |
US20050246453A1 (en) * | 2004-04-30 | 2005-11-03 | Microsoft Corporation | Providing direct access to hardware from a virtual environment |
US20060069818A1 (en) * | 2004-09-27 | 2006-03-30 | Cliff Mather | Synchronizing direct memory access and evacuation operations in a computer system |
US20060181949A1 (en) * | 2004-12-31 | 2006-08-17 | Kini M V | Operating system-independent memory power management |
US20070074067A1 (en) | 2005-09-29 | 2007-03-29 | Rothman Michael A | Maintaining memory reliability |
-
2005
- 2005-10-07 US US11/246,824 patent/US7725620B2/en active Active
-
2006
- 2006-10-03 WO PCT/EP2006/066999 patent/WO2007042428A2/en active Application Filing
- 2006-10-03 DE DE602006010893T patent/DE602006010893D1/de active Active
- 2006-10-03 JP JP2008534001A patent/JP4629779B2/ja active Active
- 2006-10-03 EP EP06793956A patent/EP1934762B1/en active Active
- 2006-10-03 AT AT06793956T patent/ATE450831T1/de not_active IP Right Cessation
- 2006-10-03 CN CN200680036765A patent/CN100589089C/zh not_active Expired - Fee Related
-
2008
- 2008-06-10 US US12/136,610 patent/US20080244112A1/en not_active Abandoned
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009512004A5 (ja) | ||
JP4629779B2 (ja) | 仮想メモリ環境においてdmaリクエストを処理するための装置、方法、及び、コンピュータ・プログラム | |
MX2012005183A (es) | Linea de espera de comandos para componente periferico. | |
JP2006031579A5 (ja) | ||
WO2002017305A3 (en) | Disk controller configured to perform out of order execution of write operations | |
JP2014026635A5 (ja) | ||
JP2008016003A (ja) | メモリー格納装置及びその読み書き方法 | |
JP2011515001A (ja) | 異なるキャッシュ・コヒーレンス・ドメインの間の情報共有技法 | |
CN101257626B (zh) | 动态随机存储器的存取方法、装置和媒体播放器 | |
JP2013239099A5 (ja) | ||
JP2011508296A5 (ja) | ||
JP2013235347A (ja) | Ssd(ソリッドステートドライブ)装置 | |
JP2016186828A5 (ja) | 記憶装置および記憶制御方法 | |
TWI530785B (zh) | 電腦系統及非揮發性記憶體的控制方法 | |
WO2014206220A1 (zh) | 数据写入方法及内存系统 | |
EP3000095A1 (en) | Techniques for organizing three-dimensional array data | |
JP2006236105A5 (ja) | ||
JP2007026433A (ja) | オペレーティングシステム補足ディスクのキャッシュシステムおよび方法 | |
JP2010146084A (ja) | キャッシュメモリ制御部を備えるデータ処理装置 | |
JP2009033439A5 (ja) | ||
KR20090098275A (ko) | 플래시 메모리 시스템 | |
JP2010237837A (ja) | ファイルシステム及びそのデータ再配置方法,プログラム | |
JPH05233155A (ja) | ディスクアレイ装置 | |
JP2007226330A5 (ja) | ||
JP2007011659A (ja) | インターフェース装置、ディスクドライブ及びインターフェース制御方法 |