JP2005293574A - ホールをもつシステムメモリアドレスをサポートするデータ処理システム及びコンピュータプログラム - Google Patents

ホールをもつシステムメモリアドレスをサポートするデータ処理システム及びコンピュータプログラム Download PDF

Info

Publication number
JP2005293574A
JP2005293574A JP2005076077A JP2005076077A JP2005293574A JP 2005293574 A JP2005293574 A JP 2005293574A JP 2005076077 A JP2005076077 A JP 2005076077A JP 2005076077 A JP2005076077 A JP 2005076077A JP 2005293574 A JP2005293574 A JP 2005293574A
Authority
JP
Japan
Prior art keywords
logical
memory
physical
physical address
address range
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
Application number
JP2005076077A
Other languages
English (en)
Other versions
JP4143616B2 (ja
Inventor
Van Hoa Lee
バン・ホア・リー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2005293574A publication Critical patent/JP2005293574A/ja
Application granted granted Critical
Publication of JP4143616B2 publication Critical patent/JP4143616B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation

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)
  • Memory System (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

【課題】ホールをもつシステムメモリアドレスをサポートする。
【解決手段】論理区画をサポートするように構成されたプロセッサにより稼動されるオペレーティング・システムのシステムメモリに対して割り振られた第1の物理アドレス範囲を仮想化して、第1の論理アドレス範囲を生成する。第2の物理アドレス範囲を仮想化して、第2の論理アドレス範囲を生成する。第1及び第2の物理アドレス範囲は不連続である。第1及び第2の物理アドレス範囲の仮想化は、第1の論理アドレス範囲及び第2の論理アドレス範囲が連続するようにされる。第1の物理アドレス範囲及び第2の物理アドレス範囲の中間にあるメモリマップされた入力/出力物理アドレス範囲を仮想化して、第3の論理アドレス範囲を生成する。第3の論理アドレス範囲の最下部の論理アドレスは、第1及び第2の論理アドレス範囲のそれぞれの最上部の論理アドレスを超える。
【選択図】図1

Description

本発明は、一般に、改善されたデータ処理システム、特に、改善されたオペレーティング・システム作動のための方法及びデータ処理システムに関する。より詳細には、本発明は、メモリマップされた入力/出力物理アドレスを仮想化して、連続するシステムメモリアドレス・スペースを与えるための方法及びデータ処理システムを提供するものである。
多くのデータ処理システムにおいては、入力/出力キャッシュ禁止アドレスは、システム・アドレス・スペースのアドレス範囲にマップされる。多くの場合、入力/出力キャッシュ禁止アドレスは、オペレーティング・システムによる使用のために割り振られたシステムメモリの多数の物理アドレス範囲の中間に、物理アドレスを有する。このような場合には、入力/出力キャッシュ禁止アドレスは、オペレーティング・システムがアドレス可能な別々のメモリのブロックの間に存在する、物理アドレスのメモリ「ホール」(hole)を呈するものとなる。
オペレーティング・システムは、ホールをもつシステムメモリアドレスをサポートできないことがある。例えば、2つのメモリアレイをもつ幾つかの構成においては、Linux(Linus Torvaldsの商標)のオペレーティング・システムは、ホールをもつメモリアドレスを処理できないことがある。このような状況においては、オペレーティング・システムのカーネルを、メモリホールに対応するように変更することができる。しかしながら、このような解決策は時間がかかり、幾つかのサーバプログラムの機能性、可用性、及び、このような欠陥をもつオペレーティング・システムのバージョンを十分にサポートするデータ処理システムの能力を脅かすことになる。
従って、ホールをもつシステムメモリアドレスをサポートするデータ処理システムを提供することが有益である。さらに、オペレーティング・システムのカーネルを変更することなく、ホールをもつシステムメモリアドレスをサポートするデータ処理システムを提供することが有益であるであろう。
本発明は、ホールをもつメモリアドレスをサポートするための方法、コンピュータプログラム、及びデータ処理システムを提供する。論理区画(logical partitioning)をサポートするように構成されたプロセッサにより稼動されるオペレーティング・システムのシステムメモリに対して割り振られた第1の物理アドレス範囲を仮想化して、第1の論理アドレス範囲を生成する。オペレーティング・システムのシステムメモリに対して割り振られた第2の物理アドレス範囲を仮想化して、第2の論理アドレス範囲を生成する。第1の物理アドレス範囲及び第2の物理アドレス範囲は不連続である。第1及び第2の物理アドレス範囲の仮想化は、第1の論理アドレス範囲及び第2の論理アドレス範囲が連続するようにされる。第1の物理アドレス範囲及び第2の物理アドレス範囲の中間にあるメモリマップされた入力/出力物理アドレス範囲を仮想化して、第3の論理キャッシュ禁止アドレス範囲を生成する。第3の論理アドレス範囲の最下部の論理アドレスは、第1及び第2の論理アドレス範囲のそれぞれの最上部の論理アドレスを超える。
本発明の特性と考えられる新規な特徴が、添付の特許請求の範囲に記載される。しかしながら、本発明自体並びに好ましい使用モード、そのさらなる目的及び利点は、以下の例示的な実施形態の詳細な説明を添付の図面と併せて読んだときに、最もよく理解されることになるであろう。
図1を参照すると、本発明の好ましい実施形態に係る、ホールをもつシステムメモリアドレスにサポートを与えるデータ処理システムのブロック図が示されている。データ処理システム100は、システムバス106に接続された複数のプロセッサ102及び104を含む対称型マルチプロセッサ(SMP)システムとすることができる。プロセッサ102及び104は、論理区画環境の下で稼動されるようにすることが好ましい。例えば、プロセッサ102及び104は、それぞれニューヨーク州アーモンク所在のインターナショナル・ビジネス・マシーンズ・コーポレーションにより製造された970PowerPCプロセッサ、又は同様の機能プロセッサデバイスとして実施することができる。代替的には、単一のプロセッサシステムを用いることができる。さらに、システムバス106には、ローカルメモリ109にインターフェースを与えるメモリコントローラ/キャッシュ108が接続される。I/Oバスブリッジ110がシステムバス106に接続され、I/Oバス112にインターフェースを与える。メモリコントローラ/キャッシュ108、及び、I/Oバスブリッジ110は図示されるように統合することができる。
I/Oバス112に接続された周辺機器相互接続(PCI)バスブリッジ114は、PCIローカルバス116にインターフェースを与える。幾つかのモデムをPCIローカルバス116に接続することができる。典型的なPCIバスの実装は、4つのPCI拡張スロット又はアドインコネクタをサポートする。顧客データ処理システムに対する通信リンクは、アドインコネクタを介してPCIローカルバス116に接続されたモデム118及びネットワーク・アダプタ120により与えることができる。さらに、システムファームウェア115をローカルバス116に接続することができる。
付加的なPCIバスブリッジ122及び124は、付加的なPCIローカルバス126及び128にインターフェースを与え、そこから付加的なモデム又はネットワーク・アダプタをサポートすることができる。このようにして、データ処理システム100は、多数のネットワークコンピュータに対する接続を可能にする。図示されるように、メモリマップされたグラフィックス・アダプタ130及びハードディスク132もまた、直接又は間接のいずれかで、I/Oバス112に接続することができる。
当業者であれば、図1に示されるハードウェアを変更できることを認識するであろう。例えば、さらに、光ディスクドライブなどといった他の周辺装置を、図示されるハードウェアに加えて、又はその代わりに用いることもできる。図示される実施例は、本発明に対する構造的な制限を示すことを意味するものではない。
図1に示されるデータ処理システムは、例えば、拡張対話式エグゼクティブ(AIX)オペレーティング・システム又はLINUXのオペレーティング・システムを稼動させる、ニューヨーク州アーモンク所在のインターナショナル・ビジネス・マシーンズ・コーポレーションの製品であるIBM JS20 blade eServer pSeries systemとすることができる。
図2は、本発明の好ましい実施形態に係る、ホールをもつメモリアドレスをサポートするために仮想化することができる不連続物理メモリアドレス・スペースを有する、図1に示されるデータ処理システム100のローカルメモリ109のようなメモリデバイスの概略図である。説明に役立つ実例においては、メモリ200は、8ギガバイト(GB)、すなわち8192MBのシステムメモリを備える。システムメモリは、2つの不連続物理メモリ範囲に分割される。具体的には、メモリ200は、第1の物理範囲210及び第2の物理範囲211を含み、これらは、該第1の物理範囲210と該第2の物理範囲211との中間でアドレスホールを呈するメモリマップされた入力/出力(MMIO)物理範囲220によって分離されている。説明に役立つ実例においては、物理範囲210は、オペレーティング・システムによりアドレス可能な2048メガバイト(MB)のシステムメモリ範囲を含み、物理範囲211は、オペレーティング・システムによりアドレス可能な6144MBのシステムメモリ範囲を含む。物理範囲210は、16進法の0×000000000から0×07FFFFFFFまでの物理アドレス範囲を含み、物理範囲211は、16進法の0×100000000から0×15FFFFFFFまでの物理アドレス範囲を含む。キャッシュ禁止アドレスは、物理範囲210及び211の中間にアドレス範囲を有する物理範囲220にマップされる。このように、メモリ200は、物理範囲210及び211により与えられるシステムメモリの物理アドレスにおいて不連続性を呈するMMIO物理範囲220を含む。MMIO物理範囲220は、16進法の0×080000000から0×FFFFFFFFまでの物理メモリアドレス範囲を有する2048MBのメモリを備える。
図3は、本発明の好ましい実施形態に係る、メモリホールをもつメモリアドレスをサポートするために、メモリアドレスの論理区画により仮想化を実現するソフトウェア及びハードウェア構成の概略図である。オペレーティング・システム304は、例えば、Linuxのオペレーティング・システムの実装、拡張対話式エグゼクティブ・オペレーティング・システム(AIX)といったUnix(登録商標)のオペレーティング・システムの別の変形その他同様なものとすることができる。オペレーティング・システム304は、アプリケーション302を稼動させる。論理区画(LPAR)管理306は、LPARリソースの管理を容易にするソフトウェアシステム層である。LPAR管理306は、例えば、ハードディスク又は図1に示されるデータ処理システム100のファームウェア115のようなシステムファームウェアに格納されるコンピュータプログラムとして維持されるコンピュータ実行可能命令を含むことができる。LPAR管理306は、例えば、ニューヨーク州アーモンク所在のインターナショナル・ビジネス・マシーンズ・コーポレーションの製品である、Hypervisorシステムとして実施することができる。LPAR管理306は、さらに、図1に示されるデータ処理システム100のローカルメモリ109のようなシステムメモリデバイスに割り振られたコンピュータ実行可能論理を含むことができる。例えば、LPAR管理306は、物理範囲210又は211の一部を、論理対物理アドレスのマッピング・テーブル、LPARプログラム及びデータ・ストレージその他同様なものに割り振ることができる。さらに、LPAR306は、オペレーティング・システム304の仮想アドレッシング・サポートを可能にするように、ページ・テーブルを割り振ることができる。マッピング・テーブル、ページ・テーブル、LPARプログラム及びデータ・ストレージにより利用される物理範囲210又は211のアドレス・スペースは、オペレーティング・システムによるアクセスには利用できない。
LPAR管理306は、プロセッサ308、及び、メモリ309、及び、入力及び出力(I/O)デバイス310といったシステムハードウェアに対するO/S304のアクセスを管理する。プロセッサ308は、図1に示されるデータ処理システム100のプロセッサ102及び104を表し、メモリ309は該データ処理システム100のローカルメモリ109を表す。プロセッサ308は、論理区画をサポートし、本発明の好ましい実装に係る論理区画環境の下で稼動するように構成される。
図4は、本発明の好ましい実施形態に係る、図1のデータ処理システム100のオペレーティング・システムに連続論理アドレス・スペースを与える、図3に示されるメモリ309のようなメモリデバイスの概略図である。MMIO物理範囲220の物理アドレスは、システムメモリをマッピングするのに要求されるあらゆる論理アドレスより上の論理アドレスに仮想化される。説明に役立つ実例においては、0×080000000から0×FFFFFFFFまでの物理アドレス範囲を有するMMIO物理範囲220は、0×10080000000から0×100FFFFFFFまでの論理アドレスを有する論理MMIO範囲420に仮想化される。さらに、O/S304には、0から物理メモリのサイズまでの論理アドレスを有するシステムメモリが提示される(LPAR管理306に要求されるどのようなオーバヘッドより少ない)。
例示的な実施においては、0×00000000000から0×001F5FFFFFFまでの論理アドレスを有する論理範囲410によりアクセスされるシステムメモリがO/S304に提示され、LPAR306プログラム、データ・ストレージ、及び論理対物理マッピング・テーブルは、32MBのシステムメモリを利用する。LPAR306は、仮想アドレスサポートのためにプロセッサ308により用いられるページ・テーブルに対して128MBのシステムメモリを使用する。このように、説明に役立つ実例においては、システムメモリは、0×00000000000から0×001F5FFFFFFまでの論理アドレスを含む論理範囲410によりアドレス指定される。MMIO物理範囲220は、0×10080000000から0×100FFFFFFFFまでの論理アドレスを含む論理MMIO範囲420によりアドレス指定される。
LPAR管理306は、論理アドレスを対応する物理アドレスに変換して、物理メモリにアクセスする。例えば、変換は、論理範囲410に対してはテーブル索引により、及び論理MMIO範囲420に対しては範囲検査により行うことができる。本発明の好ましい実施形態に係るメモリアドレスの仮想化に対するマッピング・テーブルにより定義することができる、論理メモリの開始アドレス及び終了アドレス、及び、対応する物理メモリの開始アドレス及び終了アドレスは、以下の表1にまとめられている。表1に示されるように、論理MMIO範囲420の最下部又は開始アドレスは、論理範囲410の最上部又は終了アドレスより大きい。
Figure 2005293574
図5は、本発明の好ましい実施形態に係る、オペレーティング・システムがホールをもつメモリアドレスをサポートするようにメモリデバイスを構成するための、図1のデータ処理システム100のようなデータ処理システムにより実行されるルーチンのフローチャートである。このルーチンは、例えば、システムのブート中に開始し(ステップ502)、データ処理システムのプロセッサが、論理区画環境において構成される(ステップ504)。物理範囲210のような物理メモリアドレスの第1の物理メモリアレイ又は範囲が、対応する第1の論理アドレス範囲又はアレイに仮想化される(ステップ506)。次に、物理範囲211のような、第1のメモリアレイと不連続である第2のメモリアレイが仮想化される(ステップ508)。第2の物理範囲の仮想化は、第2のメモリアレイに対応する仮想アドレス範囲が、第1のメモリアレイの仮想化により生成された論理アドレス範囲と連続するように実行される。このように、第1の及び第2の物理範囲の仮想化により生成された論理アドレス範囲は、連続する論理アドレス範囲をもたらす。
次に、MMIO物理アドレス範囲が、第3の論理アドレス範囲に仮想化される(ステップ510)。MMIO物理アドレス範囲の仮想化は、このMMIO物理アドレス範囲の仮想化により生成される論理アドレス範囲の最下部の論理アドレスが、物理範囲210及び211の仮想化により生成される論理アドレス範囲の最上部の論理アドレスよりも大きくなるように実行される。次に、マッピング・テーブルがシステムのメモリデバイスにロードされ、論理対物理アドレスの変換を与えて(ステップ512)、ルーチンは終了する(ステップ514)。従って、オペレーティング・システムには、システムメモリへのアクセスに対して、図4に示される論理範囲410のような単一の連続論理アドレス・スペースが提示されるという利点がある。
このように、本発明はホールをもつシステムメモリアドレスをサポートするデータ処理システムを提供する。システムメモリの不連続物理アドレス範囲は、連続論理アドレス・スペースに仮想化される。メモリマップされた入力/出力物理範囲は、システムメモリの論理範囲の最上部アドレスの上に最下部のアドレスを有するメモリの論理範囲に仮想化される。有利なことに、ホールをもつシステムメモリアドレスをサポートするのに、データ処理システムのO/Sのカーネルの変更は必要ではない。
本発明は、十分に機能するデータ処理システムとの関連において説明されてきたが、重要なこととして、当業者であれば、本発明のプロセスは、コンピュータ可読媒体の命令の形態、及び様々な形態で配布することができ、そして本発明は、この配布を行うために実際に用いられている特定形式の信号伝達媒体に係りなく、等しく適用可能であると認識するであろうことに注目するのは重要である。コンピュータ可読媒体の例には、フロッピー(登録商標)ディスク、ハードディスクドライブ、RAM、CD−ROM、DVD−ROMのような書き込み可能型媒体、例えば無線周波数及び光波伝送といった伝送形態を用いるデジタル及びアナログ通信リンク、有線又は無線通信リンクのような伝送型媒体がある。コンピュータ可読媒体は、特定のデータ処理システムにおける実際の使用のためにデコードされるコード化フォーマットの形態をとることができる。
本発明の詳細な説明は、図示及び説明のために与えられるものであって、網羅的なものとして、すなわち本発明を開示された形態に限定するものとして意図されたものではない。多くの修正及び変形が当業者には明らかとなるであろう。実施形態は、本発明の原理、実用的用途を最も良く解説し、かつ当業者以外の人が本発明の種々の修正を有する種々の実施形態を、考えられる特定の用途に適するものとして理解できるように、選択され、説明されるものである。
本発明の好ましい実施形態により示される、ホールをもつシステムメモリアドレスにサポートを与えるデータ処理システムのブロック図である。 本発明の好ましい実施形態に係る、ホールをもつメモリアドレスをサポートするのに仮想化することができる不連続物理メモリアドレス・スペースを有するメモリデバイスの概略図である。 本発明の好ましい実施形態に係る、メモリホールをもつメモリアドレスをサポートするために、メモリアドレスの論理区画により仮想化を実現するソフトウェア及びハードウェア構成の概略図である。 本発明の好ましい実施形態に係る、連続論理システムメモリアドレス・スペースを与えるメモリデバイスの概略図である。 本発明の好ましい実施形態に係る、オペレーティング・システムがホールをもつメモリアドレスをサポートするようにメモリデバイスを構成するための、図1のデータ処理システム100のようなデータ処理システムにより実行されるルーチンのフローチャートである。
符号の説明
100:データ処理システム
102、104:プロセッサ
106:システムバス
108:メモリコントローラ/キャッシュ
109:ローカルメモリ
110:I/Oブリッジ
112:I/Oバス
114、122、124:PCIバスブリッジ
115:ファームウェア
116、126、128:PCIバス
118:モデム
120:ネットワーク・アダプタ
130:グラフィックス・アダプタ
132:ハードディスク

Claims (20)

  1. ホールをもつメモリアドレスをサポートするための方法であって、コンピュータにより実施されるステップからなり、
    論理区画をサポートするように構成されたプロセッサにより稼動されるオペレーティング・システムのシステムメモリに対して割り振られた第1の物理アドレス範囲を仮想化して、第1の論理アドレス範囲を生成し、
    前記オペレーティング・システムのシステムメモリに対して割り振られた、前記第1の物理アドレス範囲とは不連続の第2の物理アドレス範囲を仮想化して、前記第1の論理アドレス範囲に連続する第2の論理アドレス範囲を生成し、
    前記第1及び第2の物理アドレス範囲の中間にあるメモリマップされた入力/出力物理アドレス範囲を仮想化して、第3の論理アドレス範囲を生成する、
    ステップを含み、
    前記第3の論理アドレス範囲の最下部の論理アドレスが、前記第1及び第2の論理アドレス範囲のそれぞれの最上部の論理アドレスを超えることを特徴とする方法。
  2. 前記第1の物理アドレス範囲と、前記第2の物理アドレス範囲と、前記メモリマップされた入力/出力物理アドレス範囲とを仮想化するステップが、物理アドレス及び対応する論理アドレスを定義するマッピング・テーブルを維持することを含む請求項1に記載の方法。
  3. 前記マッピング・テーブルを維持することが、さらに、該マッピング・テーブルを、前記第1及び第2の物理アドレス範囲の1つに割り振られた、該第1及び第2の物理アドレス範囲にアクセスするオペレーティング・システムには利用不可能な物理アドレス・スペースに維持することを含む請求項2に記載の方法。
  4. 前記第3の論理アドレス範囲が、前記第1の論理アドレス範囲及び前記第2の論理アドレス範囲と不連続である請求項1に記載の方法。
  5. 前記第1の物理アドレス範囲及び前記第2物理アドレス範囲の少なくとも1つの一部を、論理区画管理ソフトウェア層に割り振ることをさらに含む請求項1に記載の方法。
  6. 前記メモリマップされた入力/出力物理アドレス範囲が、キャッシュ禁止アドレスに対して割り振られる請求項1に記載の方法。
  7. 不連続物理メモリ範囲を連続論理アドレス範囲に仮想化するためのコンピュータ可読媒体におけるコンピュータプログラムであって、
    システムメモリに対して割り振られたメモリデバイスの第1及び第2の不連続物理アドレス範囲、及び、前記第1及び第2の物理アドレス範囲の中間にあるメモリマップされた入力/出力物理アドレス範囲を含む第3の物理アドレス範囲のための論理対物理メモリアドレス変換を格納する第1の命令を含み、前記論理対物理メモリアドレス変換により与えられる前記第3の物理アドレス範囲の最下部の論理アドレスが、該論理対物理メモリアドレス変換により与えられる、前記第1及び第2の不連続物理アドレス範囲に対応する前記第1及び第2の論理アドレス範囲の最上部より大きいものであり、
    前記第1の命令の実行に応答して、論理アドレスを対応する物理アドレスに変換するための第2の命令、
    を含むコンピュータプログラム。
  8. 前記論理対物理メモリの変換が、前記メモリデバイスにアクセスするオペレーティング・システムには利用不可能であるマッピング・テーブルに格納された請求項7に記載のコンピュータプログラム。
  9. 前記マッピング・テーブルが、前記第1及び第2の物理アドレス範囲の少なくとも1つに維持された請求項8に記載のコンピュータプログラム。
  10. 前記第2の命令が、論理区画機能を与える請求項7に記載のコンピュータプログラム。
  11. 前記第2の命令が、前記第1及び第2の物理アドレス範囲の少なくとも1つに維持された請求項7に記載のコンピュータプログラム。
  12. 前記第2の命令が、データ処理システムの入力及び出力装置をもつオペレーティング・システムとインターフェースする請求項7に記載のコンピュータプログラム。
  13. 前記第2の命令が、前記第1及び第2の論理アドレス範囲を含む連続論理アドレス範囲を、前記オペレーティング・システムに提示する請求項12に記載のコンピュータプログラム。
  14. 前記第3の物理アドレス範囲が、キャッシュ禁止のメモリマップされた入力/出力アドレスに対して割り振られた請求項8に記載のコンピュータプログラム。
  15. 不連続のシステムメモリアレイをサポートするデータ処理システムであって、
    第1及び第2のそれぞれの物理アドレス範囲を有するシステムメモリに対して割り振られた第1及び第2の不連続物理メモリアレイと、前記第1及び第2の物理アドレス範囲の中間に第3の物理アドレス範囲を有する第3の物理メモリアレイと、データ・セットと、命令のセットとを含むメモリ、及び
    論理区画をサポートするように構成されたプロセッサ、
    を備え、前記プロセッサには、前記第1及び第2の不連続メモリアレイへのアクセスに対して、前記命令の実行に応答して、連続論理アドレス範囲が提示されることを特徴とするデータ処理システム。
  16. 前記データ・セットが、論理対物理メモリアドレス変換を定義するマッピング・テーブルである請求項15に記載のデータ処理システム。
  17. 前記命令のセットが、論理区画管理を与える請求項15に記載のデータ処理システム。
  18. 前記データ・セットが、前記第1及び第2の物理アドレス範囲の少なくとも1つにおけるメモリに維持された請求項15に記載のデータ処理システム。
  19. 前記命令のセットが、前記第1及び第2の物理アドレス範囲の少なくとも1つにおけるメモリに維持された請求項15に記載のデータ処理システム。
  20. 第2の論理アドレス範囲が前記第3の物理アドレス範囲にマップされて、前記第2の論理アドレス範囲の最下部の論理アドレスは、前記連続論理アドレス範囲の最上部の論理アドレスより大きいものである請求項15に記載のデータ処理システム。
JP2005076077A 2004-03-31 2005-03-16 ホールをもつメモリアドレスをサポートするための方法及びコンピュータプログラム Expired - Fee Related JP4143616B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/814,733 US7426625B2 (en) 2004-03-31 2004-03-31 Data processing system and computer program product for support of system memory addresses with holes

Publications (2)

Publication Number Publication Date
JP2005293574A true JP2005293574A (ja) 2005-10-20
JP4143616B2 JP4143616B2 (ja) 2008-09-03

Family

ID=35049895

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005076077A Expired - Fee Related JP4143616B2 (ja) 2004-03-31 2005-03-16 ホールをもつメモリアドレスをサポートするための方法及びコンピュータプログラム

Country Status (5)

Country Link
US (1) US7426625B2 (ja)
JP (1) JP4143616B2 (ja)
KR (1) KR100773001B1 (ja)
CN (1) CN100385420C (ja)
TW (1) TWI340898B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010186465A (ja) * 2008-12-08 2010-08-26 Nvidia Corp ヘテロジニアス処理ユニットのための集中デバイス仮想化レイヤ

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007141066A (ja) * 2005-11-21 2007-06-07 Toshiba Corp 情報処理装置およびメモリアドレス空間割り当て方法
US7685401B2 (en) * 2006-12-27 2010-03-23 Intel Corporation Guest to host address translation for devices to access memory in a partitioned system
US8141093B2 (en) * 2007-11-15 2012-03-20 International Business Machines Corporation Management of an IOV adapter through a virtual intermediary in an IOV management partition
CN101203019B (zh) * 2007-11-20 2011-01-05 中兴通讯股份有限公司 通讯设备逻辑地址与物理地址的互换方法及装置
US8209554B2 (en) * 2009-02-23 2012-06-26 International Business Machines Corporation Applying power management on a partition basis in a multipartitioned computer system
US9195581B2 (en) * 2011-07-01 2015-11-24 Apple Inc. Techniques for moving data between memory types
US20130219146A1 (en) * 2012-02-16 2013-08-22 Micron Technology, Inc. Method, device and system for a configurable address space for non-volatile memory
US20130219105A1 (en) * 2012-02-16 2013-08-22 Micron Technology, Inc. Method, device and system for caching for non-volatile memory device
US20150310787A1 (en) * 2013-10-21 2015-10-29 Pixtronix, Inc. Ems displays incorporating conductive edge seals and methods for manufacturing thereof
US10114752B2 (en) 2014-06-27 2018-10-30 International Business Machines Corporation Detecting cache conflicts by utilizing logical address comparisons in a transactional memory
US20150378904A1 (en) * 2014-06-27 2015-12-31 International Business Machines Corporation Allocating read blocks to a thread in a transaction using user specified logical addresses
US10095417B1 (en) * 2016-12-13 2018-10-09 EMC IP Holding Company LLC Method and system for improving flash storage read performance in partially programmed blocks
US10289550B1 (en) 2016-12-30 2019-05-14 EMC IP Holding Company LLC Method and system for dynamic write-back cache sizing in solid state memory storage
US10338983B2 (en) 2016-12-30 2019-07-02 EMC IP Holding Company LLC Method and system for online program/erase count estimation
US11069418B1 (en) 2016-12-30 2021-07-20 EMC IP Holding Company LLC Method and system for offline program/erase count estimation
US10403366B1 (en) 2017-04-28 2019-09-03 EMC IP Holding Company LLC Method and system for adapting solid state memory write parameters to satisfy performance goals based on degree of read errors
US10290331B1 (en) 2017-04-28 2019-05-14 EMC IP Holding Company LLC Method and system for modulating read operations to support error correction in solid state memory
US11099980B2 (en) * 2018-05-09 2021-08-24 International Business Machines Corporation Host aware update write

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0658649B2 (ja) * 1985-10-28 1994-08-03 株式会社日立製作所 仮想記憶装置における領域管理方法
JPS6419446U (ja) 1987-07-21 1989-01-31
JPH0813814B2 (ja) 1988-10-18 1996-02-14 ダイセル化学工業株式会社 縮合複素環化合物の製造法
US5117350A (en) * 1988-12-15 1992-05-26 Flashpoint Computer Corporation Memory address mechanism in a distributed memory architecture
JPH02189655A (ja) 1989-01-18 1990-07-25 Fujitsu Ltd 情報処理装置の絶対アドレス変換方式
US5297270A (en) * 1989-11-13 1994-03-22 Zenith Data Systems Corporation Programmable cache memory which associates each section of main memory to be cached with a status bit which enables/disables the caching accessibility of the particular section, and with the capability of functioning with memory areas of varying size
JPH03288267A (ja) 1990-04-04 1991-12-18 Toshiba Corp 医用画像データ伝送方式
WO1994014119A1 (en) * 1992-12-07 1994-06-23 Raxco, Incorporated Apparatus and method for moving open files
EP0608622A1 (en) * 1993-01-29 1994-08-03 International Business Machines Corporation Multiprocessor system with multilevel caches
EP0610583A1 (en) 1993-02-08 1994-08-17 International Business Machines Corporation Multizone relocation facility computer memory system
US5548746A (en) * 1993-11-12 1996-08-20 International Business Machines Corporation Non-contiguous mapping of I/O addresses to use page protection of a process
JP3505231B2 (ja) 1994-09-30 2004-03-08 株式会社東芝 コンピュータシステム
JP3540388B2 (ja) 1994-09-30 2004-07-07 株式会社東芝 コンピュータシステム
SG45399A1 (en) 1994-01-12 1998-01-16 Sun Microsystems Inc Logically addressable physical memory for a virtual memory computer system that support multiple page sizes
US5675761A (en) * 1994-05-16 1997-10-07 International Business Machines Corporation Method and system for providing discontiguous drive support
JP3740195B2 (ja) 1994-09-09 2006-02-01 株式会社ルネサステクノロジ データ処理装置
US5581768A (en) * 1995-02-27 1996-12-03 Intel Corporation Method and apparatus for executing applications in place from write once/seldom memories
US6256710B1 (en) * 1995-04-28 2001-07-03 Apple Computer, Inc. Cache management during cache inhibited transactions for increasing cache efficiency
JPH0922377A (ja) * 1995-07-07 1997-01-21 Ekushingu:Kk メモリマップアドレス変換回路
US6061773A (en) * 1996-05-03 2000-05-09 Digital Equipment Corporation Virtual memory system with page table space separating a private space and a shared space in a virtual memory
US5819298A (en) * 1996-06-24 1998-10-06 Sun Microsystems, Inc. File allocation tables with holes
US5873124A (en) * 1997-02-06 1999-02-16 Microsoft Corporation Virtual memory scratch pages
US5940868A (en) * 1997-07-18 1999-08-17 Digital Equipment Corporation Large memory allocation method and apparatus
US6226730B1 (en) * 1998-06-05 2001-05-01 Intel Corporation Achieving page hit memory cycles on a virtual address reference
JP2000347929A (ja) 1999-06-09 2000-12-15 Nec Eng Ltd メモリic
US6629111B1 (en) * 1999-10-13 2003-09-30 Cisco Technology, Inc. Memory allocation system
US6505269B1 (en) * 2000-05-16 2003-01-07 Cisco Technology, Inc. Dynamic addressing mapping to eliminate memory resource contention in a symmetric multiprocessor system
US6877158B1 (en) * 2000-06-08 2005-04-05 International Business Machines Corporation Logical partitioning via hypervisor mediated address translation
KR100392382B1 (ko) * 2001-07-27 2003-07-23 한국전자통신연구원 동적 크기 변경 및 메타 데이터 양의 최소화를 위한 논리볼륨 관리 방법
US6564299B1 (en) * 2001-07-30 2003-05-13 Lsi Logic Corporation Method and apparatus for defining cacheable address ranges
US7055015B2 (en) * 2002-02-25 2006-05-30 Ricoh Company, Ltd. Information processing apparatus in which processes can reduce overhead of memory access and efficiently share memory
US20030188062A1 (en) * 2002-03-28 2003-10-02 Luse Paul E. Device resource allocation
US6904490B2 (en) * 2002-10-10 2005-06-07 International Business Machines Corporation Method and system of managing virtualized physical memory in a multi-processor system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010186465A (ja) * 2008-12-08 2010-08-26 Nvidia Corp ヘテロジニアス処理ユニットのための集中デバイス仮想化レイヤ

Also Published As

Publication number Publication date
CN100385420C (zh) 2008-04-30
JP4143616B2 (ja) 2008-09-03
KR20060045387A (ko) 2006-05-17
TW200602865A (en) 2006-01-16
CN1677370A (zh) 2005-10-05
KR100773001B1 (ko) 2007-11-05
US7426625B2 (en) 2008-09-16
US20050223185A1 (en) 2005-10-06
TWI340898B (en) 2011-04-21

Similar Documents

Publication Publication Date Title
JP4143616B2 (ja) ホールをもつメモリアドレスをサポートするための方法及びコンピュータプログラム
US10423435B1 (en) Page swapping in virtual machine environment
JP4288295B2 (ja) 論理パーティションにおけるメモリへのアクセス
JP6050262B2 (ja) 仮想ディスクストレージ技術
US9183157B2 (en) Method for creating virtual machine, a virtual machine monitor, and a virtual machine system
US6877158B1 (en) Logical partitioning via hypervisor mediated address translation
US8533418B2 (en) Memory allocation with identification of requesting loadable kernel module
US8359449B2 (en) Prioritizing virtual real memory paging based on disk capabilities
EP2350833B1 (en) Opportunistic page largification
EP2581828B1 (en) Method for creating virtual machine, virtual machine monitor and virtual machine system
KR100992034B1 (ko) 동적 논리적 파티션 기능을 갖는 컴퓨팅 환경에서의 컴퓨터메모리 관리
US7506343B2 (en) System and method for passing information from one device driver to another
CN117743205A (zh) 用dram作为可按字节寻址存储器的缓存的方法和装置
JP2004127291A (ja) 連続したメモリ・アドレスを提供する方法、システムおよびコンピュータ・ソフトウェア
JP2024512960A (ja) ページ移行を提供するためのシステム及び方法
US8612691B2 (en) Assigning memory to on-chip coherence domains
US20060010276A1 (en) Isolation of input/output adapter direct memory access addressing domains
US8375194B2 (en) System and method for freeing memory
JP4405435B2 (ja) 動的なホスト区画ページ割り当てのための方法および装置
CN112817756B (zh) 计算机可读取存储介质、内存管理单元的虚拟化方法和装置
JP3808058B2 (ja) 複数のホストが圧縮データを記憶するメモリ・セクタの集合を共用できるようにするための装置
CN114461391A (zh) 一种可重映射的gpu主存访问管理方法和系统
CN115934581B (zh) 一种跨进程内存的处理方法及系统
US20070162638A1 (en) Generic DMA memory space mapping
HK1160944B (en) Opportunistic page largification

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080311

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080418

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

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

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

Free format text: PAYMENT UNTIL: 20110620

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