JP4308152B2 - メモリを予約するための方法、システム、および製品 - Google Patents

メモリを予約するための方法、システム、および製品 Download PDF

Info

Publication number
JP4308152B2
JP4308152B2 JP2005002051A JP2005002051A JP4308152B2 JP 4308152 B2 JP4308152 B2 JP 4308152B2 JP 2005002051 A JP2005002051 A JP 2005002051A JP 2005002051 A JP2005002051 A JP 2005002051A JP 4308152 B2 JP4308152 B2 JP 4308152B2
Authority
JP
Japan
Prior art keywords
logical memory
memory block
memory
logical
computing device
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
Application number
JP2005002051A
Other languages
English (en)
Other versions
JP2005196793A5 (ja
JP2005196793A (ja
Inventor
ユーチェン・シュー
ジョン・ノーバート・マコーリィ
チェンチュン・ソン
ウィリアム・グリスウォルド・シャーマン
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 JP2005196793A publication Critical patent/JP2005196793A/ja
Publication of JP2005196793A5 publication Critical patent/JP2005196793A5/ja
Application granted granted Critical
Publication of JP4308152B2 publication Critical patent/JP4308152B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、メモリを予約するための方法、システム、および製品(article of manufacture)に関する。
多くの計算装置では、ディスク記憶装置などの2次記憶装置の記憶容量はランダム・アクセス・メモリなどのメイン・メモリの記憶容量より大きい可能性がある。特定の実現例では、仮想メモリ・マネージャは、計算装置内のアプリケーションにとって使用可能なアドレス可能記憶空間が計算装置内のメイン・メモリの記憶容量によって制限されないように仮想メモリを実現することができる。仮想メモリ・マネージャは、2次記憶装置を使用して追加のメイン・メモリをシミュレートすることにより、仮想メモリを実現することができる。
仮想メモリの実現例では、仮想メモリ・マネージャは、メイン・メモリに保管する必要があるデータおよび命令を収容するために、メイン・メモリから2次記憶装置にデータおよび命令をスワップすることができる。特定の実現例では、データおよび命令はページと呼ばれるデータ構造に保管することができ、仮想メモリ・マネージャは必要に応じてメイン・メモリから2次記憶装置にページをスワップすることができる。
オペレーティング・システムは、予約メモリがメイン・メモリから2次記憶装置にスワップされないように、特定の量のメモリをメイン・メモリ内に予約できるようにすることができる。特定のタイプの予約メモリはピン固定メモリ(pinnedmemory)または隠しメモリ(hidden memory)と呼ぶことができる。メイン・メモリに保管された命令およびデータは、2次記憶装置に保管された命令およびデータより高速でアクセスすることができる。リアルタイム・アプリケーションを伴う実現例などの特定の実現例では、命令のリアルタイム実行のためにこのようなメモリの予約が必要である可能性がある。特定の実現例では、このようなリアルタイム・アプリケーションはエンタープライズ・ストレージ・サーバ(EnterpriseStorage Server:ESS)(インターナショナル・ビジネス・マシーンズ社の商標)システムで実行される可能性がある。また、特定の実現例では、リアルタイム・アプリケーションに加えて他のアプリケーションもメイン・メモリの一部を予約する可能性がある。
特定のオペレーティング・システムでは、予約できるメイン・メモリの総量に上限を設ける場合がある。たとえば、AIX(インターナショナル・ビジネス・マシーンズ社の商標)オペレーティング・システムなどのUNIX(オープン・グループの商標)オペレーティング・システムの多くのバージョンでは、予約できるメイン・メモリの総量は全メイン・メモリの80%を超えることができない。
特定の諸実施形態において計算装置内の1つのメモリに対応する複数の論理メモリ・ブロックが割り振られる方法、システム、および製品が提供される。少なくとも1つの論理メモリ・ブロックには1つの属性が関連付けられ、その属性は少なくとも1つの論理メモリ・ブロックがメモリからスワップ可能であるかどうかを示し、少なくとも1つの論理メモリ・ブロックに対応する複数の物理ブロックは連続している。
追加の諸実施形態では、複数の論理メモリ・ブロックを割り振るステップと属性を関連付けるステップは、(a)複数の論理メモリ・ブロックのうち、どの論理メモリ・ブロックを予約論理メモリ・ブロックとして構成すべきかに関する情報を計算装置内のファームウェアが所有しているかどうかを判定するステップと、(b)複数の論理メモリ・ブロックのうち、どの論理メモリ・ブロックを予約論理メモリ・ブロックとして構成すべきかに関する情報を計算装置内のファームウェアが所有していると判定したことに応答して、その所有している情報に基づいて、少なくとも1つの論理メモリ・ブロックに関連する属性を設定するステップであって、属性が設定された場合、少なくとも1つの論理メモリ・ブロックがメモリからスワップ不能であることと、少なくとも1つの論理メモリ・ブロックが予約論理メモリ・ブロックであることをその属性が示すステップとをさらに有する。
さらに他の諸実施形態では、複数の論理メモリ・ブロックを割り振るステップと属性を関連付けるステップは、(a)複数の論理メモリ・ブロックのうち、どの論理メモリ・ブロックを予約論理メモリ・ブロックとして構成すべきかに関する情報を計算装置内のファームウェアが所有しているかどうかを判定するステップと、(b)複数の論理メモリ・ブロックのうち、どの論理メモリ・ブロックを予約論理メモリ・ブロックとして構成すべきかに関する情報を計算装置内のファームウェアが所有していないと判定したことに応答して、メモリ予約アプリケーションに関連して、複数の論理メモリ・ブロックのうち、どの論理メモリ・ブロックを予約論理メモリ・ブロックとして構成すべきかをファームウェアにより決定するステップと、(c)計算装置の初期プログラム・ロードの間に、複数の論理メモリ・ブロックのうち、どの論理メモリ・ブロックを予約メモリ・ブロックとして構成すべきかをファームウェアにより保管するステップとをさらに有する。
追加の諸実施形態では、少なくとも1つの論理メモリ・ブロックには1つの追加属性が関連付けられ、その追加属性は少なくとも1つの論理メモリ・ブロックのプロパティをさらに特徴付ける。
さらに他の諸実施形態では、少なくとも1つの論理メモリ・ブロックには1つの追加属性が関連付けられ、その追加属性は、少なくとも1つの論理メモリ・ブロック内のデータが変更可能であるかどうかを示す。
さらに他の諸実施形態では、仮想メモリ・マネージャは、計算装置に結合された2次記憶装置に少なくとも1つの論理メモリ・ブロックをスワップするための命令を実行する。仮想メモリ・マネージャは、少なくとも1つの論理メモリ・ブロックがメモリからスワップ不能であることをその論理メモリ・ブロックの関連属性が示しているかどうかを判定する。少なくとも1つの論理メモリ・ブロックがメモリからスワップ不能であることをその論理メモリ・ブロックの関連属性が示していないと判定したことに応答して、少なくとも1つの論理メモリ・ブロックはメモリから2次記憶装置にスワップされる。
他の諸実施形態では、予約論理メモリ・ブロックのための第1のメモリ管理ポリシーが維持される。非予約論理メモリ・ブロックのための第2のメモリ管理ポリシーが維持される。少なくとも1つのメモリ・ブロックが予約論理メモリ・ブロックであるかどうかに関する判定が行われる。少なくとも1つのメモリ・ブロックが予約論理メモリ・ブロックであると判定したことに応答して、第1のメモリ管理ポリシーに基づいて、その少なくとも1つの論理メモリ・ブロックについてメモリ管理操作が実行される。
さらに他の諸実施形態では、複数の論理メモリ・ブロックを割り振るステップと属性を関連付けるステップは計算装置内のファームウェアによって実行され、その計算装置はメモリからのスワッピングのために予約できるメモリの量に限界があるオペレーティング・システムを含み、複数の論理メモリ・ブロックを割り振るステップと属性を関連付けるステップにより、アプリケーションは予約できるメモリの量の限界を超えることができる。
さらに他の諸実施形態では、複数の論理メモリ・ブロックを割り振るステップと属性を関連付けるステップは計算装置内のアプリケーションによって実行され、そのアプリケーションは計算装置内のオペレーティング・システムとは異なるものである。
さらに追加の諸実施形態では、少なくとも1つの論理メモリ・ブロックがメモリからスワップ不能である場合に、その少なくとも1つの論理メモリ・ブロックのために静的アドレス変換が実行される。
特定の実施形態では、その論理メモリ・ブロックが予約されており、メイン・メモリから2次記憶装置へのページングが許可されない可能性があることを示すために、各論理メモリ・ブロックごとに1つの属性を提供する。オペレーティング・システムはメモリを正規プールと予約プールに分割することができ、正規プールは予約されていないメモリに対応し、予約プールは予約されているメモリに対応する。オペレーティング・システムの仮想メモリ・マネージャは、正規プールと予約プールの両方についてアドレス変換を行うことができる。しかし、仮想メモリ・マネージャは、正規プールからのメモリしか2次記憶装置にページングすることができない。
次に添付図面を参照するが、図面全体を通して同様の参照番号は対応する部分を表している。
以下の説明では、その一部を形成し、いくつかの実施形態を示す添付図面を参照する。他の諸実施形態を使用することができ、本諸実施形態の範囲を逸脱せずに構造および操作上の変更を行うことができることは言うまでもない。
図1は本発明の特定の諸実施形態によるコンピューティング環境のブロック図を示している。計算装置100は2次記憶装置102に結合された状態で示されている。2次記憶装置102は計算装置100の外部に示されているが、特定の諸実施形態では、2次記憶装置102は計算装置100の内部にあってもよい。追加の諸実施形態では、計算装置100に関する入出力(I/O)操作を実行するホスト・システムなどの追加の計算装置(図示せず)を実現することができる。
計算装置100は、パーソナル・コンピュータ、ワークステーション、サーバ、メインフレーム、ハンドヘルド・コンピュータ、パームトップ・コンピュータ、電話装置、ネットワーク・アプライアンス、ブレード・コンピュータ(blade computer)、ストレージ・コントローラなどを含むことができる。2次記憶装置102は、ディスク、テープ、読取り/書込みDVD、読取り/書込みCD−ROM、新磁気ディスク制御機構(RedundantArray of Independent Disks:RAID)、ジャスト・ア・バンチ・オブ・ディスクス(Just a Bunch of Disks:JBOD)などの直接アクセス記憶装置または任意のその他の記憶装置を含むことができる。計算装置100と2次記憶装置102は、インターネット、イントラネット、ローカル・エリア・ネットワーク(LAN)、ストレージ・エリア・ネットワーク(SAN)、広域ネットワーク(WAN)、ワイヤレス・ネットワークなどのネットワーク(図示せず)によって結合することができる。代わって、計算装置100と2次記憶装置102は、直接回線、共通バス・システムなどによるなど、ネットワークなしで結合することもできる。
計算装置100は、中央演算処理装置(CPU)104と、メモリ106と、ファームウェア108と、オペレーティング・システム110と、メモリ予約アプリケーション112とを含むことができる。
CPU104は、複雑命令セット・コンピューティング(CISC)プロセッサ、縮小命令セット・コンピューティング(RISC)プロセッサ、または任意のその他のプロセッサを含むことができる。単一のCPU104のみが示されているが、特定の諸実施形態では、計算装置100は、マルチプロセッシング・システムを形成するために追加のCPUを含むことができる。
メモリ106はランダム・アクセス・メモリ(RAM)を含むことができる。また、メモリ106は物理メモリと呼ぶこともできる。特定の諸実施形態では、メモリ106は、計算装置100内のバスに結合されたチップとして含めることができる。メモリ106は揮発性のものにすることができ、これは、メモリ106がメモリ106の内容を維持するために安定した電気の流れを必要とする可能性があることを意味する。電力がオフになったことに応答して、メモリ106内に存在していた可能性のあるデータは失われる可能性がある。メモリ106にロードされた命令はCPU104で実行することができる。メモリ106にロードされた命令は、その命令がCPU104内で実行されるときに、メモリ106内に存在するデータにアクセスすることができる。メモリ106の量は2次記憶装置102の量より少ない可能性がある。
ファームウェア108は、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)などに書き込まれている可能性のあるプログラムまたはデータを含むことができる。ファームウェア108は、ハードウェアとソフトウェアの組合せにすることができる。
オペレーティング・システム110は、計算装置100内で実行されるシステム・プログラムおよびアプリケーション・プログラムの実行を制御するソフトウェアである可能性がある。オペレーティング・システム110は、計算装置100内で実行されるシステム・プログラムおよびアプリケーション・プログラムに様々なサービスを提供することができる。特定の諸実施形態では、オペレーティング・システム110は、UNIXオペレーティング・システム、AIXオペレーティング・システム、または何らかのその他のオペレーティング・システムを含むことができる。オペレーティング・システム110は仮想メモリ・マネージャ114を含むことができ、仮想メモリ・マネージャ114はメモリ106から2次記憶装置102にデータをスワップすることができる。たとえば、メモリ106が一杯であるときに新しい命令またはデータをメモリ106に収容しなければならない場合、仮想メモリ・マネージャ114はメモリ106から2次記憶装置102に特定のページをスワップすることができる。
メモリ予約アプリケーション112は、計算装置100内に実現されたアプリケーションである。メモリ予約アプリケーション112は、メモリ106内のどの論理メモリ・ブロックを予約メモリとして構成すべきかを決定することができる。メモリ予約アプリケーション112は、ソフトウェア、ハードウェア、またはファームウェアで実現することができる。特定の諸実施形態では、メモリ予約アプリケーション112は、メモリ106内に予約メモリを実現するようにファームウェア108に関連して機能することができる。
したがって、図1は、仮想メモリ・マネージャ114によって予約メモリが2次記憶装置102にスワップされないように、ファームウェア108に関連してメモリ予約アプリケーション112が特定の量のメモリ106を予約することができる特定の諸実施形態を示している。
図2は本発明の特定の諸実施形態により計算装置100内に実現されたデータ構造のブロック図を示している。
メモリ106は、複数の論理メモリ・ブロック200a・・・200nによって表すことができる。論理メモリ・ブロック200a・・・200nに加えて追加の論理メモリ・ブロックも2次記憶装置102内に存在することができる。メモリ106内に存在する論理メモリ・ブロック200a・・・200nと、2次記憶装置102内に存在する論理メモリ・ブロックは相俟って、計算装置100内で実行されるアプリケーションの仮想アドレス空間を形成することができる。論理メモリ・ブロック200aなどの論理メモリ・ブロックは、複数バイトのメモリを含むことができる。
複数の論理メモリ・ブロック200a・・・200nには複数の属性202a・・・202nが関連付けられている。たとえば、属性202aは論理メモリ・ブロック200aに関連付けられ、属性202bは論理メモリ・ブロック200bに関連付けられ、属性202nは論理メモリ・ブロック200nが関連付けられている。特定の諸実施形態では、1つの属性は1つのメモリ・ブロックの1つまたは複数のプロパティを定義することができる。たとえば、ある属性は、メモリ・ブロックが予約メモリ・ブロックであるかどうか、すなわち、そのメモリ・ブロックがメモリ106からスワップ不能であるかどうかを示すことができる。特定の諸実施形態では、2次記憶装置102に含まれる論理メモリ・ブロックは、属性202a・・・202nに類似した属性も含むことができる。特定の諸実施形態では、論理メモリ・ブロックがメモリ106から2次記憶装置102にスワップされる場合、対応する属性も2次記憶装置にスワップすることができる。
図2では、属性202a・・・202nは論理メモリ・ブロックの外部に示されている。しかし、特定の諸実施形態では、属性202a・・・202nは論理メモリ・ブロック200a・・・200nの一部として実現することができる。
特定の諸実施形態では、属性202a・・・202nは、予約属性204a・・・204nと、1つまたは複数のその他の属性206a・・・206nを含むことができる。たとえば、属性202aは予約属性204aとその他の属性206aを含むことができ、属性202bは予約属性204bとその他の属性206bを含むことができ、属性202nは予約属性204nとその他の属性206nを含むことができる。
予約属性204a・・・204nは、対応する論理メモリ・ブロック200a・・・200nが予約されているかどうかを示すことができる。たとえば、予約属性204aがブール値「真」を有する場合、対応する論理メモリ・ブロック200aは予約メモリである可能性があり、すなわち、論理メモリ・ブロック200aは仮想メモリ・マネージャ114によって2次記憶装置102にスワップすることができない。
その他の属性206a・・・206nは予約属性に加えてその他の属性も含むことができ、その他の属性206a・・・206nは論理メモリ・ブロック200a・・・200nの追加の特性を定義する。たとえば、その他の属性206aは、論理メモリ・ブロック200aがカスタマによって変更されたデータを含むかどうかを示すことができる。
したがって、図2は、メモリ106を構成する論理メモリ・ブロック200a・・・200nが対応する属性202a・・・202nを有する諸実施形態を示している。予約属性204a・・・204nなどの特定の属性は、対応する論理メモリ・ブロックが仮想メモリ・マネージャ114によってメモリ106からスワップ可能であるかどうかを示すことができる。
図3は本発明の特定の諸実施形態により計算装置100内に実現された例示的な論理メモリ・ブロック200a・・・200nおよび例示的な属性202a・・・202nのブロック図を示している。
特定の諸実施形態では、例示的な論理メモリ・ブロック200a・・・200nは、スワップ可能データと、カスタマ未変更データと、カスタマ変更データとを含むことができる。他の諸実施形態では、論理メモリ・ブロックは、追加の特性または異なる特性を備えたデータを含むことができる。スワップ可能データは、メモリ106から2次記憶装置102にスワップ可能なデータを含むことができる。カスタマ変更データは、カスタマによって変更された可能性のあるデータを含むことができる。カスタマ未変更データは、カスタマによって変更されていない可能性のあるデータを含むことができる。計算装置100がストレージ・コントローラである特定の諸実施形態では、カスタマ・データは、計算装置100に結合されたホスト・システム上で実行されるアプリケーションによって計算装置100に書き込むことができる。たとえば、論理メモリ・ブロック200aはカスタマ未変更データ208aを含むことができ、論理メモリ・ブロック200bはカスタマ変更データ208bを含むことができ、論理メモリ・ブロック200nはスワップ可能データ208nを含むことができる。
例示的な論理メモリ・ブロック200a・・・200nに対応する属性202a・・・202nの例示的な値も図3に示されている。たとえば、論理メモリ・ブロック200aはカスタマ未変更データ208aを含む。特定の諸実施形態では、変更か未変更かにかかわらず、カスタマ・データは仮想メモリ・マネージャ114によって2次記憶装置102にスワップされない。このような諸実施形態では、対応する予約属性204aは「真」というブール値を有することができ、対応するその他の属性206aは、論理メモリ・ブロック200aがカスタマ未変更データを含むことを示すことができる。
他の一例を示すため、論理メモリ・ブロック200bはカスタマ変更データ208bを含む。対応する予約属性204bは「真」というブール値を有することができ、対応するその他の属性206bは、その論理メモリ・ブロックがカスタマ変更データを含むことを示すことができる。追加の一例を示すため、論理メモリ・ブロック200nはスワップ可能データ208nを含むことができる。対応する予約属性204nは「偽」というブール値を有することができ、対応するその他の属性206nは「ヌル」になる可能性がある。
したがって、図3は、論理メモリ・ブロック200a・・・200nが予約メモリであるかどうかを属性202a・・・202nが示す特定の例示的な諸実施形態を記述している。属性202a・・・202nは、論理メモリ・ブロック200a・・・200nに関連する追加の特性をさらに示すことができる。
図4は本発明の特定の諸実施形態により計算装置100に実現されたメモリを予約するためのロジックを示している。
制御はブロック400から開始され、そこで計算装置100は計算装置100の初期プログラム・ロード(IPL)または再初期化プログラム・ロード(再IPL)を実行するが、再IPLは計算装置100の第2のIPLまたはその後のIPLである。特定の諸実施形態では、IPLまたは再IPLにおいて、計算装置100に対しブート・シーケンスが行われる可能性がある。たとえば、IPLまたは再IPLプロセスは、メモリ106をテストすることと、計算装置100に常駐するオペレーティング・システム100、デバイス・ドライバ、その他のアプリケーションをロードすることを含む可能性がある。
ファームウェア108は(ブロック402で)、メモリ206内の論理メモリ・ブロック200a・・・200nのうち、どの論理メモリ・ブロックを予約メモリとして構成すべきかに関する情報をファームウェア108が所有しているかどうかを判定する。特定の諸実施形態では、このような情報は計算装置100内に存在するファイル内に存在する可能性があるか、あるいは前回のIPLからファームウェア108によって保管されている可能性がある。
論理メモリ・ブロック200a・・・200nのうち、どの論理メモリ・ブロックを予約メモリとして構成すべきかに関する情報をファームウェア108が所有していないとファームウェア108が(ブロック402で)判定した場合、ファームウェア108は(ブロック404で)、すべての論理メモリ・ブロック200a・・・200nを正規メモリ、すなわち、2次記憶装置102にスワップ可能なメモリとして構成する。特定の諸実施形態では、すべての論理メモリ・ブロック200a・・・200nは、このような事例では、正規メモリ・プールに属すものと呼ぶことができる。予約属性204a・・・204nはブール値「偽」に設定することができる。
ファームウェア108は(ブロック406で)、メモリ予約アプリケーション112へのインターフェースをエクスポートして、どの論理メモリ・ブロックを予約メモリとして構成すべきかを決定する。ファームウェアは(ブロック408で)、メモリ予約アプリケーション112によって返された情報に基づいて、論理メモリ・ブロック200a・・・200nに関連する予約属性204a・・・204nを設定する。たとえば、論理メモリ・ブロック200aを予約メモリとして構成する場合、予約属性204aはブール値「真」に設定することができる。メモリ予約アプリケーション112は、ユーザ指定入力、計算装置100内の保管データ、計算装置100内に保管されたポリシーなどから、どの論理メモリ・ブロックを予約メモリとして構成すべきかに関する情報を返してくる可能性がある。
ファームウェア108は(ブロック410で)、その後のIPLのために予約メモリの範囲を保管する。どの論理メモリ・ブロックを予約メモリとして構成すべきかに関する情報をファームウェア108が所有しているので、ファームウェア108は、その後のIPL中に読み取られるファイルにその情報を保管することなどにより、当技術分野で既知の通り、その情報を保管することができる。制御はブロック400に移行し、そこで計算装置100は再IPLを実行する。したがって、予約メモリの範囲は、計算装置のIPLの繰り返しの間、持続的なものになる可能性がある。
論理メモリ・ブロック200a・・・200nのうち、どの論理メモリ・ブロックを予約メモリとして構成すべきかに関する情報をファームウェア108が所有しているとファームウェア108が(ブロック402で)判定した場合、ファームウェア108は(ブロック412で)、所有している情報に基づいて、論理メモリ・ブロック200a・・・200nに対応する予約属性204a・・・204nを設定し、制御をブロック400に返し、そこで計算装置100が再IPLを実行する。
したがって、図4は、予約メモリが2次記憶装置102にスワップされないように、ファームウェア108がメモリ106の予約を実行する特定の諸実施形態を示している。特定の諸実施形態では、1つの論理メモリ・ブロックの内容は連続物理ブロック内に保持され、すなわち、1つの論理メモリ・ブロックの実際のデータ内容はメモリ106内の連続物理記憶域内に保持される。1つの論理メモリ・ブロックの実際のデータ内容がメモリ106内の連続物理記憶域内に保持される場合、その論理メモリ・ブロックの実際のデータ内容は、その論理メモリ・ブロックの実際のデータ内容が連続物理記憶域内に保持されていない場合の実際のデータ内容のアクセス時間に比べ、より高速でアクセスすることができる。
この諸実施形態をファームウェアで実現することにより、また、特定の諸実施形態ではIPLでメモリ予約を実行することにより、オペレーティング・システムに存在する可能性のあるメモリ予約の限界を迂回することができる。たとえば、オペレーティング・システム110が、全メモリに比べ、予約メモリの量について80%という上限を設定している場合でも、この諸実施形態により、予約メモリはオペレーティング・システム110によって課せられる80%という上限を超えることができる。
図5は本発明の特定の諸実施形態により論理メモリ・ブロック200a・・・200nを2次記憶装置102にスワップするためのロジックを示している。このロジックは計算装置100内に実現することができる。
制御はブロック500から開始され、そこでオペレーティング・システム110の仮想メモリ・マネージャ114は、メモリ106から2次記憶装置102に論理メモリ・ブロックをスワップするための命令を実行する。
仮想メモリ・マネージャ114は、(ブロック502で)論理ブロックを検査し、(ブロック504で)検査した論理ブロックに対応する予約属性204a・・・204nがブール値「真」を有するかどうかを判定する。有する場合、仮想メモリ・マネージャ114は(ブロック506で)、検査したメモリ・ブロックをメモリ106から2次記憶装置102に移転しない。
仮想メモリ・マネージャ114は(ブロック508で)、もっと多くの論理メモリ・ブロックを2次記憶装置102にスワップしなければならないかどうかを判定する。そうである場合、仮想メモリ・マネージャ114は(ブロック502で)次の論理メモリ・ブロックを検査する。そうではない場合、プロセスは(ブロック510で)停止する。
検査した論理ブロックの予約属性204a・・・204nがブール値「真」ではないと仮想メモリ・マネージャ114が(ブロック504で)判定した場合、仮想メモリ・マネージャ114は(ブロック512で)、検査した論理メモリ・ブロックをメモリ106から2次記憶装置102に移転、すなわち、スワップすることができる。仮想メモリ・マネージャ114は(ブロック508で)、追加の論理メモリ・ブロックを2次記憶装置102にスワップしなければならないかどうかを判定する。
したがって、図5は、仮想メモリ・マネージャ114が予約されていないメモリのみを2次記憶装置102にページングできる特定の諸実施形態を示している。さらに、仮想メモリ・マネージャ114は、予約されているメモリと予約されていないメモリの両方についてアドレス変換を行うこともできる。
図6は本発明の特定の諸実施形態によりオペレーティング・システム110によって実現されたメモリ管理ポリシーのブロック図を示している。特定の諸実施形態では、オペレーティング・システム110は、予約されていないメモリを管理するための正規メモリ管理ポリシー600と、予約されているメモリを管理するための予約メモリ管理ポリシー602とを有することができる。
たとえば、例示的な正規メモリ管理ポリシー600は定期的ガーベッジ・コレクションを含む可能性があり、例示的な予約メモリ管理ポリシー602は特定の諸実施形態では定期的ガーベッジ・コレクションのための備えをまったく含まない可能性がある。
図7は本発明の特定の諸実施形態によりメモリ管理ポリシー600、602を適用するためのロジックを示している。
制御はブロック700から開始され、そこでオペレーティング・システム110は論理メモリ・ブロック200a・・・200nについてメモリ管理操作を実行する準備ができている。オペレーティング・システム110は(ブロック702で)、論理メモリ・ブロック200a・・・200nが予約メモリ・ブロックであることを論理メモリ・ブロック200a・・・200nの対応する予約属性204a・・・204nが示しているかどうかを判定する。示している場合、オペレーティング・システム110は(ブロック704で)、予約メモリ管理ポリシー600によってメモリ管理操作を実行する。示していない場合、オペレーティング・システム110は(ブロック706で)、正規メモリ管理ポリシーによってメモリ管理操作を実行する。特定の追加の諸実施形態では、その他の属性206a・・・206nも使用して、特定のメモリ管理ポリシーを決定することができる。
したがって、図6および図7は、論理メモリ・ブロック200a・・・200nが予約メモリであるかまたは予約されていないメモリであるかに基づいて、論理メモリ・ブロック200a・・・200nに異なるメモリ管理ポリシーを適用できる特定の諸実施形態を示している。
この諸実施形態では、その論理メモリ・ブロックが予約されており、2次記憶装置102へのページングが許可されない可能性があることを示すために、各論理メモリ・ブロック200a・・・200nごとに1つの予約属性204a・・・204nを提供する。特定の諸実施形態では、オペレーティング・システム110は、メモリ106内の論理メモリ・ブロック200a・・・200nを正規プールと予約プールに分割することができる。オペレーティング・システム110の仮想メモリ・マネージャ114は、正規プールと予約プールの両方についてアドレス変換を行うことができる。しかし、仮想メモリ・マネージャ114は、正規プールからのメモリしか2次記憶装置102にページングすることができない。
特定の諸実施形態では、仮想メモリ・マネージャがカスタマ・データを2次記憶装置にページングしないように、予約メモリを使用してカスタマ・データをバッファリングすることができる。この諸実施形態では、オペレーティング・システムの既存のメモリ予約方式に対していかなる変更も必要ではない可能性がある。しかし、オペレーティング・システムによって予約することが許可される可能性があるメモリの量に限界がある場合、この諸実施形態により、アプリケーションがその限界を超えることができる。
諸実施形態のうちのいくつかでは、オペレーティング・システム110は、予約されていないメモリに比べ、予約メモリに対して異なる管理ポリシーを適用することができる。また、特定の諸実施形態では、オペレーティング・システム110は、他のアプリケーションが予約メモリにアクセスするために標準的な変換を行うことができる。特定の諸実施形態はさらに、より迅速なアドレス変換のために予約メモリを連続物理ブロックとして実現することができる。予約メモリは2次記憶装置にページングされない可能性があり、予約メモリのアドレス変換は静的なものになる可能性がある。特定の諸実施形態では、アプリケーションは、関連のページ・テーブル記入項目に照会せずにアドレス変換を計算することができる。さらに、予約メモリの範囲およびIDは、計算装置100のIPLの繰り返しの間、持続的なものになる可能性がある。
追加の実現例の詳細
上記の技法は、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せを作成するための標準的なプログラミングおよび/またはエンジニアリング技法を使用する方法、装置、または製品として実現することができる。本明細書で使用する「製品」という用語は、ハードウェア・ロジック(たとえば、集積回路チップ、プログラマブル・ゲート・アレイ(PGA)、特定用途向け集積回路(ASIC)など、またはコンピュータ可読媒体(たとえば、ハードディスク・ドライブ、フレキシブル・ディスク、テープなどの磁気記憶媒体)、光学記憶装置(たとえば、CD−ROM、光ディスクなど)、揮発性および不揮発性メモリ・デバイス(たとえば、EEPROM、ROM、PROM、RAM、DRAM、SRAM、ファームウェア、プログラマブル・ロジックなど)内に実現されたコードまたはロジックを指す。コンピュータ可読媒体内のコードはプロセッサによってアクセスされ、実行される。諸実施形態が作成されるコードはさらに、伝送媒体によりまたはネットワークを介してファイル・サーバからアクセス可能なものにすることができる。このようなケースでは、コードが実現される製品は、ネットワーク伝送回線、ワイヤレス伝送媒体、空間を伝搬する信号、電波、赤外線信号などの伝送媒体を含むことができる。当然のことながら、当業者は、諸実施形態の範囲を逸脱せずにこの構成に対して多くの変更が可能でることと、製品が当技術分野で既知の情報運搬媒体を含むことができることを認識するであろう。
図8は本発明の特定の諸態様が実現されたコンピュータ・アーキテクチャのブロック図を示している。図8は計算装置100の一実現例を示している。計算装置100は、プロセッサ802(たとえば、CPU104)と、メモリ804(たとえば、メモリ106などの揮発性メモリ・デバイス)と、記憶装置806(たとえば、不揮発性記憶装置、磁気ディスク・ドライブ、光ディスク・ドライブ、テープ・ドライブなど)とを有するコンピュータ・アーキテクチャ800を実現することができる。特定の諸実施形態では、記憶装置806は2次記憶装置102を含むことができる。記憶装置806は、内部記憶装置、付加記憶装置、またはネットワーク・アクセス可能記憶装置を含むことができる。記憶装置806内のプログラムは、当技術分野で既知の通り、メモリ804内にロードして、プロセッサ802によって実行することができる。このアーキテクチャは、ネットワークとの通信を可能にするためのネットワーク・カード808をさらに含むことができる。また、このアーキテクチャは、キーボード、タッチスクリーン、ペン、音声起動入力などの少なくとも1つの入力810と、表示装置、スピーカ、プリンタなどの少なくとも1つの出力812も含むことができる。
図4、図5、および図7のロジックは、特定の順序で行われる特定の操作を記述している。さらに、これらの操作は同時にまたは順次実行することができる。代替実施形態では、これらのロジック操作のいくつかは、異なる順序で実行するか、変更または除去することができ、それでも本発明の諸実施形態を実現することができる。その上、上記のロジックに複数ステップを追加することができ、それでも諸実施形態に合致することができる。さらに、複数ステップを単一プロセスで実行するかまたは複数分散プロセスで実行することができる。
ソフトウェアおよびハードウェア・コンポーネントの多くは、例示のために個別モジュールとして記載されている。このようなコンポーネントは、より少数のコンポーネントに統合するかまたはより多数のコンポーネントに分割することができる。さらに、特定のコンポーネントによって実行されるものとして記載されている特定の操作は他のコンポーネントによって実行することもできる。
したがって、諸実施形態の上記の説明は、例示および記述のために提示されたものである。網羅的なものではなく、開示された精密な形式に本発明を限定するものでもない。上記の教示を考慮すると、多くの変更および変形が可能である。本発明の範囲は、この詳細な説明によって制限されるわけではなく、むしろ特許請求の範囲によって制限されるものである。上記の仕様、例、およびデータは本発明の構成の製造および使用に関する完全な説明を示している。本発明の多くの諸実施形態は本発明の精神および範囲を逸脱せずに作成することができるので、本発明は特許請求の範囲に帰するものである。
本発明の特定の上記の諸実施形態によるコンピューティング環境のブロック図である。 本発明の特定の上記の諸実施形態によりコンピューティング環境で実現されたデータ構造のブロック図である。 本発明の特定の上記の諸実施形態によりコンピューティング環境で実現された例示的な論理メモリ・ブロックのブロック図である。 本発明の特定の上記の諸実施形態によりメモリを予約するためのロジックを示す図である。 本発明の特定の上記の諸実施形態によりメモリから2次記憶装置にスワップするためのロジックを示す図である。 本発明の特定の上記の諸実施形態によりコンピューティング環境で実現されたメモリ管理ポリシーのブロック図である。 本発明の特定の上記の諸実施形態によりメモリ管理ポリシーを適用するためのロジックを示す図である。 本発明の特定の上記の諸態様が実現されたコンピュータ・アーキテクチャのブロック図である
符号の説明
100 計算装置
102 2次記憶装置(たとえば、ディスク)
104 CPU
106 メモリ
108 ファームウェア
110 オペレーティング・システム
112 メモリ予約アプリケーション
114 仮想メモリ・マネージャ

Claims (11)

  1. 計算装置内の1つのメモリに対応する複数の論理メモリ・ブロックを、少なくとも1つの論理メモリ・ブロックに対応する前記メモリの複数の物理記憶域が連続するように、割り振るステップと、
    前記少なくとも1つの論理メモリ・ブロックに、前記メモリからスワップ可能であるかどうかを示す1つの属性を関連付けるステップと、
    を有し、さらに、
    前記複数の論理メモリ・ブロックのうち、どの論理メモリ・ブロックを予約論理メモリ・ブロックとして構成すべきかに関する情報を前記計算装置内のファームウェアが所有しているかどうかを判定するステップと、
    前記複数の論理メモリ・ブロックのうち、どの論理メモリ・ブロックを前記予約論理メモリ・ブロックとして構成すべきかに関する情報を前記計算装置内の前記ファームウェアが所有していると判定したことに応答して、前記所有している情報に基づいて、前記少なくとも1つの論理メモリ・ブロックに関連する前記属性として、前記少なくとも1つの論理メモリ・ブロックが前記メモリからスワップ不能であることおよび前記予約論理メモリ・ブロックであることを示す前記属性を設定するステップと、
    を有する方法。
  2. 記複数の論理メモリ・ブロックのうち、どの論理メモリ・ブロックを前記予約論理メモリ・ブロックとして構成すべきかに関する情報を前記計算装置内の前記ファームウェアが所有していないと判定したことに応答して、メモリ予約アプリケーションに関連して、前記複数の論理メモリ・ブロックのうち、どの論理メモリ・ブロックを前記予約論理メモリ・ブロックとして構成すべきかを前記ファームウェアにより決定するステップと、
    前記計算装置の初期プログラム・ロードの間に、前記複数の論理メモリ・ブロックのうち、どの論理メモリ・ブロックを前記予約論理メモリ・ブロックとして構成すべきかに関する情報を前記ファームウェアにより保管するステップと、
    をさらに有する、請求項1に記載の方法。
  3. 前記少なくとも1つの論理メモリ・ブロックのプロパティをさらに特徴付ける1つの追加属性を、前記少なくとも1つの論理メモリ・ブロックに関連付けるステップをさらに有する、請求項1に記載の方法。
  4. 前記少なくとも1つの論理メモリ・ブロック内のデータが変更可能であるかどうかを示す1つの追加属性を、前記少なくとも1つの論理メモリ・ブロックに関連付けるステップをさらに有する、請求項1に記載の方法。
  5. 前記計算装置に結合された2次記憶装置に前記少なくとも1つの論理メモリ・ブロックをスワップするための命令を前記計算装置内の仮想メモリ・マネージャにより実行するステップと、
    前記少なくとも1つの論理メモリ・ブロックが前記メモリからスワップ不能であることを前記論理メモリ・ブロックの前記関連属性が示しているかどうかを前記仮想メモリ・マネージャにより判定するステップと、
    前記少なくとも1つの論理メモリ・ブロックが前記メモリからスワップ不能であることを前記論理メモリ・ブロックの前記関連属性が示していないと判定したことに応答して、前記少なくとも1つの論理メモリ・ブロックを前記メモリから前記2次記憶装置にスワップするステップと、
    をさらに有する、請求項1に記載の方法。
  6. 前記予約論理メモリ・ブロックのための第1のメモリ管理ポリシーを維持するステップと、
    非予約論理メモリ・ブロックのための第2のメモリ管理ポリシーを維持するステップと、
    前記少なくとも1つの論理メモリ・ブロックが前記予約論理メモリ・ブロックであるかどうかを判定するステップと、
    前記少なくとも1つの論理メモリ・ブロックが前記予約論理メモリ・ブロックであると判定したことに応答して、前記第1のメモリ管理ポリシーに基づいて、前記少なくとも1つの論理メモリ・ブロックについてメモリ管理操作を実行するステップと、
    をさらに有する、請求項1に記載の方法。
  7. 前記複数の論理メモリ・ブロックを割り振るステップと前記属性を関連付けるステップを前記計算装置内のファームウェアによって実行し、前記複数の論理メモリ・ブロックを割り振るステップと前記属性を関連付けるステップにより、前記計算装置のオペレーティング・システムで前記メモリからのスワッピングのために予約できるメモリの量の限界を超えて、前記計算装置のアプリケーションに前記メモリからのスワッピングのための予約を行わせる、請求項1に記載の方法。
  8. 前記複数の論理メモリ・ブロックを割り振るステップと前記属性を関連付けるステップを、前記計算装置内のオペレーティング・システムとは異なるアプリケーションによって実行する、請求項1に記載の方法。
  9. 前記少なくとも1つの論理メモリ・ブロックが前記メモリからスワップ不能である場合に、前記少なくとも1つの論理メモリ・ブロックのために静的アドレス変換を実行するステップをさらに有する、請求項1に記載の方法。
  10. 計算装置と、
    前記計算装置内の1つのメモリと、
    前記計算装置内の前記メモリに対応する複数の論理メモリ・ブロックを、少なくとも1つの論理メモリ・ブロックに対応する前記メモリの複数の物理記憶域が連続するように、割り振るための前記計算装置内に実現された手段と、
    前記少なくとも1つの論理メモリ・ブロックに、前記メモリからスワップ可能であるかどうかを示す1つの属性を関連付けるための前記計算装置内に実現された手段と、
    を有し、さらに、
    前記複数の論理メモリ・ブロックのうち、どの論理メモリ・ブロックを予約論理メモリ・ブロックとして構成すべきかに関する情報を前記計算装置内のファームウェアが所有しているかどうかを判定するための前記計算装置内に実現された手段と、
    前記複数の論理メモリ・ブロックのうち、どの論理メモリ・ブロックを前記予約論理メモリ・ブロックとして構成すべきかに関する情報を前記計算装置内の前記ファームウェアが所有していると判定したことに応答して、前記所有している情報に基づいて、前記少なくとも1つの論理メモリ・ブロックに関連する前記属性として、前記少なくとも1つの論理メモリ・ブロックが前記メモリからスワップ不能であることおよび前記予約論理メモリ・ブロックであることを示す前記属性を設定するための前記計算装置内に実現された手段と、
    を有するシステム。
  11. 計算装置に、
    前記計算装置内の1つのメモリに対応する複数の論理メモリ・ブロックを、少なくとも1つの論理メモリ・ブロックに対応する前記メモリの複数の物理記憶域が連続するように、割り振るステップと、
    前記少なくとも1つの論理メモリ・ブロックに、前記メモリからスワップ可能であるかどうかを示す1つの属性を関連付けるステップと、
    を実行させ、さらに、
    前記複数の論理メモリ・ブロックのうち、どの論理メモリ・ブロックを予約論理メモリ・ブロックとして構成すべきかに関する情報を前記計算装置内のファームウェアが所有しているかどうかを判定するステップと、
    前記複数の論理メモリ・ブロックのうち、どの論理メモリ・ブロックを前記予約論理メモリ・ブロックとして構成すべきかに関する情報を前記計算装置内の前記ファームウェアが所有していると判定したことに応答して、前記所有している情報に基づいて、前記少なくとも1つの論理メモリ・ブロックに関連する前記属性として、前記少なくとも1つの論理メモリ・ブロックが前記メモリからスワップ不能であることおよび前記予約論理メモリ・ブロックであることを示す前記属性を設定するステップと、
    を実行させるためのプログラム。
JP2005002051A 2004-01-09 2005-01-07 メモリを予約するための方法、システム、および製品 Expired - Fee Related JP4308152B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/754,139 US7302546B2 (en) 2004-01-09 2004-01-09 Method, system, and article of manufacture for reserving memory

Publications (3)

Publication Number Publication Date
JP2005196793A JP2005196793A (ja) 2005-07-21
JP2005196793A5 JP2005196793A5 (ja) 2007-03-22
JP4308152B2 true JP4308152B2 (ja) 2009-08-05

Family

ID=34739314

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005002051A Expired - Fee Related JP4308152B2 (ja) 2004-01-09 2005-01-07 メモリを予約するための方法、システム、および製品

Country Status (3)

Country Link
US (2) US7302546B2 (ja)
JP (1) JP4308152B2 (ja)
CN (1) CN1332320C (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8799620B2 (en) 2007-06-01 2014-08-05 Intel Corporation Linear to physical address translation with support for page attributes
US8352940B2 (en) * 2008-06-09 2013-01-08 International Business Machines Corporation Virtual cluster proxy to virtual I/O server manager interface
US8370689B2 (en) * 2010-05-06 2013-02-05 Utc Fire & Security Americas Corporation, Inc. Methods and system for verifying memory device integrity
WO2013067375A1 (en) * 2011-11-02 2013-05-10 Huawei Technologies, Co., Ltd. Uncached static short address translation table in the cache coherent computer system
KR102014083B1 (ko) 2012-12-31 2019-08-27 삼성전자주식회사 단말기의 메모리 관리방법 및 장치
CN105701019A (zh) * 2014-11-25 2016-06-22 阿里巴巴集团控股有限公司 一种内存管理方法以及装置
KR101900569B1 (ko) * 2016-11-22 2018-09-19 이화여자대학교 산학협력단 입출력 특성에 따른 스토리지 할당 방법 및 장치
US11487581B2 (en) * 2020-02-14 2022-11-01 Dell Products L.P. Initialization data memory space allocation system

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US101324A (en) * 1870-03-29 Improvement in grain-separators
US46505A (en) * 1865-02-21 Tobacco-pipe stem
US91863A (en) * 1869-06-29 William owen
US169938A (en) * 1875-11-16 Improvement in burglar-proof vaults
US78308A (en) * 1868-05-26 Martin meyers
US172199A (en) * 1876-01-11 Improvement in bed-bottoms
US133676A (en) * 1872-12-03 Improvement in weaving pile-fabrics
JPS56134382A (en) 1980-03-21 1981-10-21 Fujitsu Ltd Memory control system of computer on virtual memory control system
JPS58102380A (ja) 1981-12-11 1983-06-17 Hitachi Ltd 仮想記憶管理方法
JPS6191744A (ja) 1984-10-11 1986-05-09 Nec Corp デ−タ制御方式
US5628023A (en) * 1993-04-19 1997-05-06 International Business Machines Corporation Virtual storage computer system having methods and apparatus for providing token-controlled access to protected pages of memory via a token-accessible view
JPH09171469A (ja) 1995-12-20 1997-06-30 Mitsubishi Electric Corp プログラム動作制御方法およびプログラム動作制御システム
US5659798A (en) * 1996-02-02 1997-08-19 Blumrich; Matthias Augustin Method and system for initiating and loading DMA controller registers by using user-level programs
US5860147A (en) 1996-09-16 1999-01-12 Intel Corporation Method and apparatus for replacement of entries in a translation look-aside buffer
US6804766B1 (en) * 1997-11-12 2004-10-12 Hewlett-Packard Development Company, L.P. Method for managing pages of a designated memory object according to selected memory management policies
WO1999026377A2 (en) 1997-11-17 1999-05-27 Mcmz Technology Innovations Llc A high performance interoperable network communications architecture (inca)
US6226725B1 (en) 1998-04-21 2001-05-01 Ibm Method and system in a data processing system for the dedication of memory storage locations
US6421711B1 (en) * 1998-06-29 2002-07-16 Emc Corporation Virtual ports for data transferring of a data storage system
US6304951B1 (en) 1998-10-01 2001-10-16 International Business Machines Corporation Data processing system and method for generating virtual memory descriptors including pretranslated physical addresses
US6564219B1 (en) * 1998-11-19 2003-05-13 Emc Corporation Method and apparatus for obtaining an identifier for a logical unit of data in a database
JP3444346B2 (ja) * 1999-01-04 2003-09-08 日本電気株式会社 仮想メモリ管理方式
US6324635B1 (en) * 1999-06-09 2001-11-27 Ati International Srl Method and apparatus for address paging emulation
JP2001022640A (ja) 1999-07-02 2001-01-26 Victor Co Of Japan Ltd メモリ管理方法
US6425058B1 (en) 1999-09-07 2002-07-23 International Business Machines Corporation Cache management mechanism to enable information-type dependent cache policies
US6421761B1 (en) 1999-11-09 2002-07-16 International Business Machines Corporation Partitioned cache and management method for selectively caching data by type
US6658522B1 (en) * 2000-06-16 2003-12-02 Emc Corporation Method to reduce overhead associated with system I/O in a multiprocessor computer system
US6925547B2 (en) 2000-12-14 2005-08-02 Silicon Graphics, Inc. Remote address translation in a multiprocessor system
US6779049B2 (en) 2000-12-14 2004-08-17 International Business Machines Corporation Symmetric multi-processing system with attached processing units being able to access a shared memory without being structurally configured with an address translation mechanism
US7356026B2 (en) 2000-12-14 2008-04-08 Silicon Graphics, Inc. Node translation and protection in a clustered multiprocessor system
US6745269B2 (en) * 2001-01-11 2004-06-01 International Business Machines Corporation Method and apparatus for preservation of data structures for hardware components discovery and initialization
US6772330B2 (en) * 2001-01-26 2004-08-03 Dell Products L.P. System and method for storing component information and a program in a hidden partition, and loading the component information to a reserved portion of the memory using the program
US6799254B2 (en) 2001-03-14 2004-09-28 Hewlett-Packard Development Company, L.P. Memory manager for a common memory
US6965989B1 (en) * 2001-08-14 2005-11-15 Network Appliance, Inc. System and method for fast reboot of a file server
US6834332B2 (en) 2001-08-30 2004-12-21 International Business Machines Corporation Apparatus and method for swapping-out real memory by inhibiting i/o operations to a memory region and setting a quiescent indicator, responsive to determining the current number of outstanding operations
US7093097B2 (en) 2001-11-27 2006-08-15 International Business Machines Corporation Dynamic self-tuning memory management method and system
JP4263919B2 (ja) 2002-02-25 2009-05-13 株式会社リコー 画像形成装置及びメモリ管理方法
US7127579B2 (en) * 2002-03-26 2006-10-24 Intel Corporation Hardened extended firmware interface framework
US7082509B2 (en) * 2003-02-06 2006-07-25 Intel Corporation Method and system for allocating memory during system boot to reduce operating system memory resource consumption at run-time
US7496690B2 (en) * 2003-10-09 2009-02-24 Intel Corporation Method, system, and program for managing memory for data transmission through a network
US20050144402A1 (en) * 2003-12-29 2005-06-30 Beverly Harlan T. Method, system, and program for managing virtual memory

Also Published As

Publication number Publication date
US7676645B2 (en) 2010-03-09
US20050154854A1 (en) 2005-07-14
US7302546B2 (en) 2007-11-27
CN1637725A (zh) 2005-07-13
CN1332320C (zh) 2007-08-15
JP2005196793A (ja) 2005-07-21
US20080040572A1 (en) 2008-02-14

Similar Documents

Publication Publication Date Title
JP4308152B2 (ja) メモリを予約するための方法、システム、および製品
JP6050262B2 (ja) 仮想ディスクストレージ技術
US6999913B2 (en) Emulated read-write disk drive using a protected medium
US9075541B2 (en) Virtualizing storage for WPAR clients using node port ID virtualization
JPS62165250A (ja) 仮想記憶方法
KR102443600B1 (ko) 하이브리드 메모리 시스템
JPH05289854A (ja) 外部記憶装置のアクセス装置
CN101101557A (zh) 在多引导***中控制存储访问
JPH03223945A (ja) 仮想記憶管理方法
WO2007039397A1 (en) Assigning a processor to a logical partition and replacing it by a different processor in case of a failure
US6591356B2 (en) Cluster buster
EP3769227A1 (en) Hybrid memory system
US7350042B1 (en) Method of optimizing the space and improving the write performance of volumes with multiple virtual copies
JP2000200219A (ja) 仮想メモリ管理方式
US6473655B1 (en) Data processing system and method for creating a virtual partition within an existing partition in a hard disk drive
US7676644B2 (en) Data processing system, storage apparatus and management console
KR102443593B1 (ko) 하이브리드 메모리 시스템
JP2006338345A (ja) 仮想テープライブラリ装置、仮想テープライブラリシステムおよび仮想テープ書き込み方法
JPH1063551A (ja) 情報処理装置
JP2000163291A (ja) コンピュ―タ読取り可能媒体を準備するためのコンピュ―タシステムおよび方法
US20050138263A1 (en) Method and apparatus to retain system control when a buffer overflow attack occurs
US10846023B2 (en) Storage device and storage area management method for reducing garbage collection processing
US12001329B2 (en) System and method for storage class memory tiering
US11023139B2 (en) System for speculative block IO aggregation to reduce uneven wearing of SCMs in virtualized compute node by offloading intensive block IOs
JP2000163255A (ja) コンピュ―タ読取り可能媒体にアクセスするためのコンピュ―タシステムおよび方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081001

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081014

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090114

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090206

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130515

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140515

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees