JP4405435B2 - 動的なホスト区画ページ割り当てのための方法および装置 - Google Patents

動的なホスト区画ページ割り当てのための方法および装置 Download PDF

Info

Publication number
JP4405435B2
JP4405435B2 JP2005169422A JP2005169422A JP4405435B2 JP 4405435 B2 JP4405435 B2 JP 4405435B2 JP 2005169422 A JP2005169422 A JP 2005169422A JP 2005169422 A JP2005169422 A JP 2005169422A JP 4405435 B2 JP4405435 B2 JP 4405435B2
Authority
JP
Japan
Prior art keywords
logical partition
partition
data
memory area
processing system
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.)
Active
Application number
JP2005169422A
Other languages
English (en)
Other versions
JP2005353070A (ja
JP2005353070A5 (ja
Inventor
ダイアン・ガルサ・フレミング
オクタヴィアン・フローリン・ヘレスキュー
Iii アグスティン・メナ
ディルク・ミシェル
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 JP2005353070A publication Critical patent/JP2005353070A/ja
Publication of JP2005353070A5 publication Critical patent/JP2005353070A5/ja
Application granted granted Critical
Publication of JP4405435B2 publication Critical patent/JP4405435B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、一般に、改良されたデータ処理システムに関し、具体的に言えば、データを転送するための改良された方法および装置に関する。さらに具体的に言えば、本発明は、論理的に区画されたデータ処理システムにおいて1つの区画から別の区画へデータを転送するための改良された方法、装置、およびコンピュータ命令に関する。
インターナショナル・ビジネス・マシンズ・コーポレーションから入手可能なIBM eServer(IBM Corporationの登録商標)P690、ヒューレット・パッカード社から入手可能なDHP9000 Superdome Enterprise Server、およびサン・マイクロシステムズ社から入手可能なSunfire 15Kサーバなどの、ますます大規模化される対称型マルチプロセッサ・データ処理システムは、単一の大規模データ処理システムとしては使用されていない。その代わりに、これらのタイプのデータ処理システムは区分され、より小規模なシステムとして使用されている。これらのシステムは論理区画(LPAR)を有するデータ処理システムとも呼ばれる。データ処理システム内での論理区画機能により、単一のオペレーティング・システムの複数のコピーまたは複数の異機種オペレーティング・システムを、単一のデータ処理システム・プラットフォーム上で同時に実行させることができる。オペレーティング・システム・イメージが実行される区画には、プラットフォーム・リソースの重複しないサブセットが割り当てられる。これらのプラットフォーム割り振り可能リソースには、割込み管理域、システム・メモリの領域、および入力/出力(I/O)アダプタ・バス・スロットを備えた、1つまたは複数のアーキテクチャ上別個のプロセッサが含まれる。区画のリソースは、プラットフォームのファームウェアによってオペレーティング・システム・イメージに提示される。
1つの論理区画上でのソフトウェア・エラーが任意の他の区画の正しいオペレーションに影響を与えることがないように、プラットフォーム内で実行中の各別個のオペレーション・システムまたはオペレーティング・システムのイメージは相互に保護される。この保護は、各オペレーティング・システム・イメージによって直接管理されることになるプラットフォーム・リソースの非結合セットを割り振ること、および様々なイメージがそのイメージに割り振られていないいかなるリソースをも制御できないことを保証するための機構を提供することによって、与えられる。その上、オペレーティング・システムの割り振られたリソースを制御する際のソフトウェア・エラーによって、任意の他のイメージのリソースが影響を受けるのを防止する。
したがって、オペレーティング・システムの各イメージまたは異なる各オペレーティング・システムは、プラットフォーム内の割り振り可能リソースの別個のセットを直接制御する。論理区画を有するデータ処理システム内のハードウェア・リソースに関して、これらのリソースは様々な区画間で非結合的に共有される。これらのリソースは、たとえば入力/出力(I/O)アダプタ、メモリDIMM、不揮発性ランダム・アクセス・メモリ(NVRAM)、およびハード・ディスク・ドライブを含むことができる。LPARデータ処理システム内の各区画は、データ処理システム全体の電源スイッチをオン/オフさせる(power−cycle)必要なしに、ブートおよびシャットダウンを何度も繰り返すことができる。
論理区画環境では、典型的には1つの区画が、この区画に関連付けられたネットワーク・アダプタから受信した要求などの入力/出力(I/O)要求をホストする。データは、ネットワーク・アダプタのピン固定(pinned)メモリ領域から、I/O要求をホストしている区画のローカル・メモリ領域へとコピーされる。通常、この区画はホスト区画と呼ばれる。データがホスト区画以外の区画によって要求されている場合、データはホスト区画のローカル・メモリ領域から要求側区画のローカル・メモリ領域へとコピーされる。
データを転送するために現在使用されているこのシステムは、非区分システムに比べると、追加のデータ・コピー・オペレーションが必要である。非区分システムでは、データはアダプタのメモリ領域から、アプリケーションが処理のためにデータを入手できるメイン・メモリにコピーされる。これに対して、論理区画を有するデータ処理システムでは、ホスト区画に関連付けられたメモリ領域からデータを要求している区画のメモリ領域へとデータを移動させるために、さらにコピー・オペレーションが必要である。
この追加のオペレーションは、追加のプロセッサのリソースおよび時間を必要とする。その結果、多数のデータ要求が実行されると、性能が低下する可能性がある。
したがって、要求側区画に論理区画を有するデータ処理システム内のデータへのアクセス権を与えるための、改良された方法、装置、およびコンピュータ命令を有することが有利となろう。
本発明は、データを転送するための方法、装置、およびコンピュータ命令を提供する。第1の区画内のデータは論理区画を有するデータ処理システム内の第1の区画に割り当てられたメモリ領域内で受信され、受信済みデータを形成する。受信済みデータが第2の区画用であるという決定に応答して、メモリ領域が第2の区画に割り当てられる。その後、第2の区画はメモリ領域内のデータにアクセスすることができる。
本発明の新規な機能と考えられる特徴は、添付の特許請求の範囲に記載される。しかしながら、本発明自体、ならびに好ましい使用法、さらにはその目的および利点は、添付の図面と共に例示的な実施形態の以下の詳細な説明を参照することによって、最も良く理解されるであろう。
次に図面を参照すると、具体的には図1を参照すると、本発明が実施可能なデータ処理システムのブロック図が示されている。データ処理システム100は、システム・バス106に接続された複数のプロセッサ101、102、103、および104を含む、対称型マルチプロセッサ(SMP)システムとすることができる。たとえばデータ処理システム100は、ニューヨーク州アーモンクにあるインターナショナル・ビジネス・マシンズ・コーポレーションの製品であり、ネットワーク内のサーバとして実施される、IBM eServerとすることができる。別の方法として、単一のプロセッサ・システムを採用することもできる。さらにシステム・バス106には、複数のローカル・メモリ160〜163へのインターフェースを提供するメモリ・コントローラ/キャッシュ108が接続される。I/Oバス・ブリッジ110がシステム・バス106に接続され、I/Oバス112へのインターフェースを提供する。図に示されるように、メモリ・コントローラ/キャッシュ108とI/Oバス・ブリッジ110とを一体化させることが可能である。
データ処理システム100は論理区画(LPAR)を有するデータ処理システムである。したがってデータ処理システム100は、同時に実行される複数の異機種オペレーティング・システム(または単一オペレーティング・システムの複数のインスタンス)を有することができる。これら複数のオペレーティング・システムは、それぞれその内部で実行される任意数のソフトウェア・プログラムを有することができる。データ処理システム100は、異なるPCI I/Oアダプタ120〜121、128〜129、および136、グラフィック・アダプタ148、ならびにハード・ディスク・アダプタ149を異なる論理区画に割り当てることができるように、論理的に区分される。この場合、グラフィック・アダプタ148はディスプレイ・デバイス(図示せず)向けの接続を提供し、ハード・ディスク・アダプタ149はハード・ディスク150を制御するための接続を提供する。
したがって、たとえばデータ処理システム100が3つの論理区画P1、P2、およびP3に分割されるものと仮定する。PCI I/Oアダプタ120〜121、128〜129、および136、グラフィック・アダプタ148、ハード・ディスク・アダプタ149、それぞれのホスト・プロセッサ101〜104、ならびにローカル・メモリ160〜163からのメモリは、それぞれ、この3つの区画それぞれに割り当てられる。これらの例では、メモリ160〜163はデュアル・インライン・メモリ・モジュール(DIMM)の形を取ることができる。一般にDIMMは、DIMMごとに区画に割り当てられる訳ではない。代わりに区画は、プラットフォームが見るメモリ全体の一部を獲得することになる。たとえば、プロセッサ101、ローカル・メモリ160〜163からのメモリの何らかの部分、ならびにI/Oアダプタ120、128、および129を論理区画P1に割り当て、プロセッサ102〜103、ローカル・メモリ160〜163からのメモリの何らかの部分、ならびにPCI I/Oアダプタ121および136を論理区画P2に割り当て、プロセッサ104、ローカル・メモリ160〜163からのメモリの何らかの部分、グラフィック・アダプタ148、ならびにハード・ディスク・アダプタ149を論理区画P3に割り当てることができる。
データ処理システム100内で実行される各オペレーティング・システムは、異なる論理区画に割り当てられる。したがって、データ処理システム100内で実行される各オペレーティング・システムは、その論理区画内にあるそれらのI/Oユニットにのみアクセスすることができる。したがって、たとえば拡張対話式エグゼクティブ(AIX)オペレーティング・システムの1つのインスタンスを区画P1内で実行し、AIXオペレーティング・システムの第2のインスタンス(イメージ)を区画P2内で実行し、LinuxまたはOS/400オペレーティング・システムを論理区画P3内で動作させることができる。
I/Oバス112に接続されたPeripheral component interconnect(PCI)ホスト・ブリッジ114は、PCIローカル・バス115へのインターフェースを提供する。PCI間ブリッジ116、PCIバス118、PCIバス119、I/Oスロット170、およびI/Oスロット171を介して、いくつかのPCI入力/出力アダプタ120〜121をPCIバス115に接続することができる。PCI間ブリッジ116は、PCIバス118およびPCIバス119へのインターフェースを提供する。PCI I/Oアダプタ120および121は、それぞれI/Oスロット170および171内に配置される。典型的なPCIバスの実施では、4つおよび8つのI/Oアダプタ(すなわちアドイン・コネクタ用の拡張スロット)間をサポートすることになる。各PCI I/Oアダプタ120〜121は、データ処理システム100と、たとえばデータ処理システム100に対するクライアントである他のネットワーク・コンピュータなどの入力/出力デバイスとの間に、インターフェースを提供する。
追加のPCIホスト・ブリッジ122は、追加のPCIバス123にインターフェースを提供する。PCIバス123は、複数のPCI I/Oアダプタ128〜129に接続される。PCI I/Oアダプタ128〜129は、PCI間ブリッジ124、PCIバス126、PCIバス127、I/Oスロット172、およびI/Oスロット173を介して、PCIバス123に接続することができる。PCI間ブリッジ124は、PCIバス126およびPCIバス127へのインターフェースを提供する。PCI I/Oアダプタ128および129は、それぞれI/Oスロット172および173内に配置される。この方式では、PCI I/Oアダプタ128〜129それぞれを介して、たとえばモデムまたはネットワーク・アダプタなどの追加のI/Oデバイスをサポートすることができる。この方式で、データ処理システム100は複数のネットワーク・コンピュータに接続することができる。
I/Oスロット174に挿入されたメモリ・マッピング済みのグラフィック・アダプタ148は、PCIバス144、PCI間ブリッジ142、PCIバス141、およびPCIホスト・ブリッジ140を介して、I/Oバス112に接続することができる。ハード・ディスク・アダプタ149は、PCIバス145に接続されたI/Oスロット175内に配置することができる。次にこのバスが、PCIバス141によってPCIホスト・ブリッジ140に接続されたPCI間ブリッジ142に接続される。
PCIホスト・ブリッジ130は、I/Oバス112に接続するためのインターフェースをPCIバス131に提供する。PCI I/Oアダプタ136は、PCIバス133によってPCI間ブリッジ132に接続されたI/Oスロット176に接続される。PCI間ブリッジ132はPCIバス131に接続される。このPCIバスは、PCIホスト・ブリッジ130をサービス・プロセッサ・メールボックス・インターフェースおよびISAバス・アクセス・パススルー論理194と、PCI間ブリッジ132にも接続する。サービス・プロセッサ・メールボックス・インターフェースおよびISAバス・アクセス・パススルー論理194は、PCI/ISAブリッジ193に向けてPCIアクセスを転送する。NVRAMストレージ192はISAバス196に接続される。サービス・プロセッサ135は、そのローカルPCIバス195を介してサービス・プロセッサ・メールボックス・インターフェースおよびISAバス・アクセス・パススルー論理194に結合される。サービス・プロセッサ135は、複数のJTAG/ICバス134を介してプロセッサ101〜104にも接続される。JTAG/ICバス134は、JTAG/スキャン・バス(IEEE 1149.1を参照のこと)およびPhillips ICバスの組合せである。しかしながら別の方法として、JTAG/ICバス134を単にPhillips ICバスと、または単にJTAG/スキャン・バスと置き換えることも可能である。ホスト・プロセッサ101、102、103、および104のすべてのSP−ATTN信号は、サービス・プロセッサの割り込み入力信号にまとめて接続される。サービス・プロセッサ135はそれ自体のローカル・メモリ191を有し、ハードウェアOPパネル190へのアクセス権を有する。
データ処理システム100が最初に電源投入された場合、サービス・プロセッサ135はJTAG/ICバス134を使用して、システム(ホスト)プロセッサ101〜104、メモリ・コントローラ/キャッシュ108、およびI/Oブリッジ110に問い合わせる。このステップが完了すると、サービス・プロセッサ135はデータ処理システム100のインベントリおよびトポロジを理解する。サービス・プロセッサ135は、ホスト・プロセッサ101〜104、メモリ・コントローラ/キャッシュ108、およびI/Oブリッジ110への問い合わせによって見つかったすべての要素で、組み込み自己テスト(BIST)、基本検証テスト(BAT)、およびメモリ・テストをも実行する。BIST、BAT、およびメモリ・テスト時に検出された障害に関するエラー情報は、サービス・プロセッサ135によって収集および報告される。
BIST、BAT、およびメモリ・テスト時に不良であることがわかった要素を取り除いた後に、依然としてシステム・リソースの有意味/有効な構成が可能である場合、データ処理システム100はローカル(ホスト)メモリ160〜163への実行可能コードのロードに移ることができる。その後、サービス・プロセッサ135は、ローカル・メモリ160〜163へコードをロードするためにホスト・プロセッサ101〜104を解放する。データ処理システム100内でホスト・プロセッサ101〜104がそれぞれのオペレーティング・システムからのコードを実行している間、サービス・プロセッサ135はエラーの監視および報告モードに入る。サービス・プロセッサ135によって監視されるアイテムのタイプには、たとえば冷却ファンの速度および動作、熱センサ、電源調整器、ならびに、プロセッサ101〜104、ローカル・メモリ160〜163、およびI/Oブリッジ110によって報告される回復可能および回復不能エラーが含まれる。
サービス・プロセッサ135は、データ処理システム100内で監視されるすべてのアイテムに関するエラー情報を保存および報告する責務を負う。サービス・プロセッサ135は、エラーのタイプおよび定義されたしきい値に基づいた処置も講じる。たとえばサービス・プロセッサ135は、プロセッサのキャッシュ・メモリ上での過度の回復可能エラーに気付き、これがハード障害の予兆であると決定する。サービス・プロセッサ135はこの決定に基づいて、現在実行中のセッションおよび今後の初期プログラム・ロード(IPL)時に再構成するリソースとしてマークすることができる。IPLは、時には「ブート」または「ブートストラップ」と呼ばれることもある。
データ処理システム100は、様々な市販のコンピュータ・システムを使用して実施することができる。たとえばデータ処理システム100は、インターナショナル・ビジネス・マシンズ・コーポレーションから入手可能なIBM eServer iSeries Model 840システムを使用して実施することができる。こうしたシステムは、同じくインターナショナル・ビジネス・マシンズ・コーポレーションから入手可能なOS/400オペレーティング・システムを使用して論理区画をサポートすることができる。
当業者であれば、図1に示されたハードウェアが変更可能であることを理解されよう。たとえば、図示されたハードウェアに加えて、あるいはこれらに代わって、光ディスク・ドライブおよびその他などの他の周辺デバイスも使用することができる。図示された例は、本発明に関してアーキテクチャ上の制限を示唆することを意味するものではない。
次に図2を参照すると、本発明が実施可能な例示的論理区画プラットフォームを示すブロック図が示されている。論理区画プラットフォーム200内のハードウェアは、たとえば図1のデータ処理システム100として実施することができる。論理区画プラットフォーム200は、区画ハードウェア230、オペレーティング・システム202、204、206、208、および区画管理ファームウェア210を含む。オペレーティング・システム202、204、206、および208は、単一のオペレーティング・システムまたは論理区画プラットフォーム200上で同時に実行される複数の異機種オペレーティング・システムの複数のコピーとすることができる。これらのオペレーティング・システムは、ハイパーバイザなどの区画管理ファームウェアとインターフェースするように設計されたOS/400を使用して実施することができる。OS/400は、これらの例示的実施形態において単なる一例として使用される。もちろん、特定の実施に依存して、AIX(IBM Corporationの商標)およびLinux(Linus Torvaldsの商標)などの他のタイプのオペレーティング・システムを使用することができる。オペレーティング・システム202、204、206、および208は、区画203、205、207、および209に配置される。ハイパーバイザ・ソフトウェアは、区画管理ファームウェア210を実施するための使用可能なソフトウェアの一例であり、インターナショナル・ビジネス・マシンズ・コーポレーションから入手可能である。ファームウェアとは、たとえば読み取り専用メモリ(ROM)、プログラマブルROM(PROM)、消去可能プログラマブルROM(EPROM)、電気的消去再書き込み可能ROM(EEPROM)、および不揮発性ランダム・アクセス・メモリ(不揮発性RAM)などの、電力なしにコンテンツを保持するメモリ・チップ内に格納された「ソフトウェア」のことである。
加えて、これらの区画には区画ファームウェア211、213、215、および217も含まれる。区画ファームウェア211、213、215、および217は、初期ブート・ストラップ・コード、IEEE−1275標準Open Firmware、およびインターナショナル・ビジネス・マシンズ・コーポレーションから入手可能なランタイム抽象化ソフトウェア(RTAS)を使用して実施することができる。区画203、205、207、および209がインスタンス化されると、プラットフォーム・ファームウェア210によってブート・ストラップ・コードのコピーが区画203、205、207、および209上にロードされる。その後、コントロールがブート・ストラップ・コードに転送され、次にブート・ストラップ・コードがオープン・ファームウェアおよびRTASにロードされる。その後区画に関連付けまたは割り当てられたプロセッサは、区画ファームウェアを実行するために区画のメモリにディスパッチされる。
区分ハードウェア230は複数のプロセッサ232〜238、複数のシステム・メモリ・ユニット240〜246、複数の入力/出力(I/O)アダプタ248〜262、およびストレージ・ユニット270を含む。プロセッサ232〜238、メモリ・ユニット240〜246、NVRAMストレージ298、およびI/Oアダプタ248〜262のそれぞれを、オペレーティング・システム202、204、206、および208のうちの1つにそれぞれ対応する、論理区画プラットフォーム200内の複数の区画のうちの1つに割り当てることができる。
区画管理ファームウェア210は、区画203、205、207、および209に対していくつかの機能およびサービスを実行し、論理区画プラットフォーム200の区分を作成および強制する。区画管理ファームウェア210は、基礎となるハードウェアと同一のファームウェア実施仮想マシンである。したがって区画管理ファームウェア210は、論理区画プラットフォーム200のすべてのハードウェア・リソースを仮想化することによって、独立したOSイメージ202、204、206、および208を同時に実行することができる。
サービス・プロセッサ290を使用して、区画内でのプラットフォーム・エラーの処理などの様々なサービスを提供することができる。これらのサービスは、インターナショナル・ビジネス・マシンズ・コーポレーションなどのベンダーにエラー報告を戻すためのサービス・エージェントとして働くこともできる。異なる区画のオペレーションは、ハードウェア管理コンソール280などのハードウェア管理コンソールを介して制御することができる。ハードウェア管理コンソール280は別個のデータ処理システムであり、ここからシステム管理者は異なる区画へのリソースの再割り振りを含む様々な機能を実行することができる。
本発明は、論理区画を有するデータ処理システムにおいて1つの区画から他の区画へデータを転送するための改良された方法、装置、およびコンピュータ命令を提供する。他の区画向けのデータがホスト区画に到達すると、ホスト区画は、ホスト区画からのローカル・メモリ領域から要求側区画のメモリ領域へとデータがコピーされる、現在使用されているコピー・ステップまたはオペレーションを回避する。この追加のコピー・ステップの回避は、ホスト区画のメモリ領域をデータの宛先である区画に再割り当てすることによって実施される。
次に図3を見ると、本発明の好ましい実施形態に従って、1つの区画から他の区画へとデータを渡す際に使用されるコンポーネントを示す図が示されている。この図示された例では区画300がホスト区画であり、I/Oオペレーションでデータを受信する。このデータは、たとえば区画300に割り当てられたネットワーク・アダプタを介して受信することができる。区画302は、区画300によって受信されたデータを必要とする要求側区画である。
これらの図示された例では、メモリ304は区画300および区画302に割り当てることが可能なメモリ領域を含む。メモリ304内のデータへのアクセスは、プラットフォーム・ファームウェア306を介して処理される。メモリ304内のメモリ領域の異なる領域への割り当ては、メモリ・マップ308を介して追跡することができる。
ページ310は、区画300によって受信されたデータを含むメモリ304内のメモリ領域である。ページ310は区画300に割り当てられ、区画302がアクセスすることはできない。区画302は、ページ310内のデータにアクセスする必要がある。通常、本発明の機構がなければ、このページのデータは区画302に割り当てられたメモリ領域にコピーされる。このコピー・ステップは、本発明の機構を使用して回避される。
ページ310内のデータを他のメモリ領域にコピーする代わりに、このメモリ領域が区画302に再割り当てされる。これらの例では、ページ310などの再割り当てされるメモリ領域は、図示された例のページ・サイズの増分で再割り当てされる。もちろん、特定の実施に応じて他のサイズを使用することができる。
ページ310は、要求されたデータと共にホスト区画内にいったん読み込まれる。その後、メモリ領域すなわちページ310は、プラットフォーム・ファームウェア306の呼び出しを通じて要求側区画である区画302に割り当てられ、その後ポインタ構造312が要求側区画である区画302に渡される。
このファームウェアは、たとえばインターナショナル・ビジネス・マシンズ・コーポレーションから入手可能なハイパーバイザとすることができる。
図示された例のポインタ構造312は、メモリ領域のアドレスおよびページ内のメモリ領域の長さを含む。この図示された例では、ポインタ構造312は、単一のページを示すために長さ1を備えたページ310のアドレスを含む。要求側区画内のアプリケーションがページ310内のデータを処理した後、区画302は、プラットフォーム・ファームウェア306への他のファームウェア呼び出しを介してページ310を含むメモリ領域を解放する。この第2の呼び出しの結果として、ページ310はホスト区画である区画300に戻って再度割り当てられることになる。この機構は、ポインタを渡すことによってデータのコピーを回避する。アクティビティは「隠れて」実行されるため、動的ページ再割り当てのためのファームウェア要求は要求側区画には課せられない。
再割り当てされるメモリ領域はホスト区画からであるため、本発明のこの機構は要求側区画の類縁性(affinity)ドメインに干渉しない。言い換えれば、ローカル要求側区画の類縁性ドメインは、そのローカル・メモリ領域からページを再割り当てしないことによって保持される。これらの図示された例では、ホスト区画からのページのみが再割り当ての資格を有する。
次に図4〜5を参照すると、本発明の好ましい実施形態に従った、1つの区画から他の区画へのページの再割り当てを示す図が示されている。図4では、論理区画を有するデータ処理システム内にホスト区画400、区画402、および区画404が存在する。データ406は、ホスト区画400内のメモリ領域に配置される。データ406は区画402向けであるか、または区画402によって要求されたものである。この再割り当ては、ホスト区画400からプラットフォーム・ファームウェア410への呼び出し408を通じて実行される。四角形412は、区画402にメモリ領域が割り当てられていることを示す。ホスト区画400内の破線の四角形414は、メモリ領域がホスト区画400からホスト区画402へと再割り当てされたことを示す。
図5では、データ406が処理された場合、メモリ領域は回復するかまたは区画402からホスト区画400へと戻って再割り当てされる。データ406がもはや必要でない場合、メモリ領域を解放するためにプラットフォーム・ファームウェア410への呼び出し420が実行される。この時点で、メモリ領域をホスト区画400に戻って再割り当てするために、呼び出し422が実行される。区画402内の破線の四角形416およびホスト区画400内の四角形418は、メモリ領域が区画402からホスト区画400へと再割り当てされたことを示す。メモリ領域は異なる区画内にあるように示されているが、実際にはメモリ領域は移動またはアドレス変更しない。破線の四角形および四角形を使用してメモリ領域を図示しているのは、メモリ領域の所有権または特定領域への割り当てを示すためである。
次に図6〜10を見ると、本発明の好ましい実施形態に従った動的なページの再割り当てを示す図が示されている。図6では、ホスト区画500および区画502が示されている。加えてメモリ504が存在し、ここでメモリ504は区画メモリ506および区画メモリ508を含む。区画メモリ506は、これらの例でホスト区画500に割り当てられるメモリの1セクションである。区画メモリ508は、区画502に割り当てられるメモリの1セクションである。これで、プラットフォーム・ファームウェア510を介したホスト区画500および区画502によるメモリ504への割り当ておよびアクセスが容易になる。
ホスト区画500にはI/Oデバイス512が割り当てられる。このI/Oデバイスは、たとえば物理ネットワーク・アダプタとすることができる。区画502には仮想デバイス514が割り当てられ、これはたとえば仮想ネットワーク・アダプタとすることができる。この例では、データ516がI/Oデバイス512を介して受信される。このデータは区画502向けである。区画502は物理I/Oデバイスを有していないので、この例ではデータを直接受信することはできない。
データ516は、メモリI/Oデバイス512に関連付けまたは割り当てられたメモリで受信される。図7では、ホスト区画500によって開始されたコピー・オペレーション520を通じて、データ516がメモリ領域518にコピーされる。このコピー・オペレーションは、プラットフォーム・ファームウェア510への呼び出しを介して容易になる。これらの例では、メモリ領域518は1つまたは複数のページのサイズまたは長さを有する。加えてプラットフォーム・ファームウェア510には、データ516が呼び出し522を介して区画502宛てに送られることが通知される。
次に図8を見ると、プラットフォーム・ファームウェア510からホスト区画500へと実行される呼び出し524を介して、メモリ領域518の再割り当てが実行される。呼出し524は、ホスト区画500に、ホスト区画500のアドレス可能スペースからメモリ領域518内の任意のページを除去させる。次に、プラットフォーム・ファームウェア510によって呼び出し526が実行され、メモリ領域518内のページが区画502のアドレス可能スペースに追加される。区画内のオペレーティング・システムは仮想アドレスを取り扱うが、区画ファームウェアはメモリ内のアドレス可能スペースにアクセスする際に物理アドレスを処理する。この時点で、メモリ領域518はホスト区画500から区画502へと再割り当てされている。
メモリ領域518を再割り当てすることによって、区画502は図9に示されるように、メモリ領域518内のデータ516にアクセスするために、データ・アクセス528を実行する。データ516を使用してホスト区画500が完了すると、図9に示されるように、区画502によって「完了」呼び出し530がプラットフォーム510に送信される。この呼び出しを使用して、メモリ領域518が解放される。図10では、プラットフォーム・ファームウェア510が区画502に対して呼び出し532を発行し、区画502向けのアドレス可能スペースからメモリ領域518内のページを除去する。次にホスト区画500に対して呼び出し534が発行され、この区画のアドレス可能スペースにメモリ領域518が追加される。この呼び出しによって、メモリ領域518がホスト区画500に戻って再割り当てされる。
この方式では、1つの区画から他の区画へデータを転送するためにデータをコピーする必要はない。代わりに、データを含むメモリ領域が適切な区画に再割り当てされる。
次に図11を参照すると、本発明の好ましい実施形態に従って、1つの区画から他の区画へとデータを転送するためのプロセスを示す流れ図が示されている。図11に示されたプロセスは、図6〜10のホスト区画500などの区画内で実施することができる。
プロセスはデータを受信することによって開始される(ステップ600)。このデータはI/Oオペレーションの一部として受信される。データは、区画に割り当てられたかまたは割り振られたI/Oデバイスで受信することができる。このI/Oデバイスは、たとえばネットワーク・アダプタとすることができる。次に、データはメモリ領域に格納される(ステップ602)。ステップ602には、I/Oデバイスのメモリから区画の受信側I/Oデバイスに割り当てられたメモリ領域への転送またはコピーが含まれる。
次に、データが他の区画宛てに送られるかどうかが判別される(ステップ604)。データが他の区画宛てに送られる場合、プラットフォーム・ファームウェアが呼び出されてターゲット区画にメモリ領域が再割り当てされ(ステップ606)、その後プロセスは終了する。この呼び出しに応答してプラットフォーム・ファームウェアは、データの受信側区画と、これらの図示された例ではデータを使用することになっている区画にデータを含むメモリ領域を再割り当てする方法でアドレス可能スペースを変更するためにデータを使用することになっている区画とを、呼び出す。再度ステップ604を参照すると、データが他の区画宛てに送られない場合、プロセスは終了する。
次に図12を参照すると、本発明の好ましい実施形態に従って、データ要求側(ホスト)区画によってデータへのアクセス権を取得するためのプロセスを示す流れ図が示されている。図12に示されたプロセスは、図6〜10の区画502などの区画内で実施することができる。
プロセスは、ポインタ・データ構造を受信することによって開始される(ステップ700)。これらの例では、ポインタ・データ構造を受信すると、結果として、アドレス可能スペースにページを追加することになり、これによって一時的にページ・フレーム・テーブルが変更される。ページ・フレーム・テーブルは、ポインタ・データ構造によって指示されたアドレス可能スペースによって更新される(ステップ702)。次に、データにアクセスする(ステップ704)。その後、区画が依然としてデータを必要としているかどうかが判別される(ステップ706)。区画内のアプリケーションは、処理のためにデータへのアクセス権を依然として必要とする場合がある。この場合、データは依然として必要とされている。これらの図示された例では、データの処理が完了するともはやデータは必要とされない。
データが必要でない場合、プラットフォーム・ファームウェアが呼び出されてメモリ領域を開放し(ステップ708)、その後プロセスは終了する。これらの例では、この呼び出しは、プラットフォーム・ファームウェアに対して実行される。再度ステップ706を参照すると、データが必要な場合、前述のようにプロセスはステップ704に戻る。
このようにして本発明は、1つの区画から他の区画へデータを転送するための改良された方法、装置、およびコンピュータ命令を提供する。割り振られたメモリ領域を1つの区画から他の区画へ再割り当てすることによって、コピー・ステップが削除される。この再割り振りによって、第2の区画がデータにアクセスできるようになる。
データ・コピーの数を削減すると、結果として仮想メモリ・マネージャの負荷が低減される。この仮想メモリ・マネージャの負荷の軽減は、システム上で実行中のすべての区画にとって、それら自体のI/O要求を処理するまで待機する必要がないことから重要である。加えてこの機能は、単一のI/O要求に関する全体の応答時間を削減する。応答時間の削減も、アプリケーションの見地から重要である。応答時間要件が厳しいアプリケーションは、データにアクセスするために必要なオペレーションの数を削減する本発明のような機構によって、より良い働きをする。
図示された実施形態の説明は、従来の論理区画を有するデータ処理環境の動作を対象とするものであるが、本発明の機構は共有リソース区分環境でも使用することができる。
共有プロセッサLPARは、インターナショナル・ビジネス・マシンズ・コーポレーションから入手可能なIBM pSeries(IBM Corporationの登録商標)のLPARマシンで実施可能な、メインフレームから発想を得た技術である。共有プロセッサの概念によって、論理区画は1つまたは複数の物理プロセッサの一部を使用することができる。
ファームウェアは、必要に応じて物理プロセッサ上で区画をディスパッチおよびタイムスライスすることによって、区画を管理する。この環境では、複数の共有プロセッサLPAR区画が同じ物理プロセッサを共有する。
共有プロセッサLPARをサポートすることは、物理リソースをより細密に区分できるだけでなく、より効率良く使用することができる。共有プロセッサLPARは、具体的には複数の区間間での物理プロセッサの共有を言い表すものであるが、リソースの「仮想化」の導入により、他の共有リソース区分セットに着想させるものである。この場合、仮想化されたホスト区画を作成することによって、ネットワーク・アダプタまたはストレージ・デバイスなどの単一の物理I/Oデバイスを複数の区画で共有することができる。
共有プロセッサLPARおよび仮想化されたホスト区画のどちらの環境も、共有リソース区分のカテゴリに入る。本発明の方法、装置、およびコンピュータ命令は、これらのタイプおよび他のタイプの論理区画を有するデータ処理システム環境に適用可能である。
以上、本発明について、完全に機能するデータ処理システムとの関連において説明してきたが、当業者であれば、本発明の諸プロセスが命令のコンピュータ読取り可能媒体の形および様々な形で配布可能であること、ならびに、本発明が配布を実際に実施するために使用される特定タイプの信号伝達媒体に関係なく等しく適用されることを理解するであろう、ということに留意されたい。コンピュータ読取り可能媒体の例には、フロッピィ・ディスク、ハード・ディスク・ドライブ、RAM、CD−ROM、DVD−ROMなどの書き込み可能タイプの媒体、ならびに、デジタルおよびアナログの通信リンク、たとえば無線周波および光通信などの伝送形式を使用する有線または無線の通信リンクなどの伝送タイプ媒体が含まれる。コンピュータ読取り可能媒体は、特定のデータ処理システムで実際に使用する場合に復号される、符号化フォーマットの形を取ることができる。
以上、本発明については例示および説明の目的で提示してきたのであって、網羅すること、または本発明の開示された形に限定することは意図していない。当業者であれば、多くの修正および変形形態が明らかとなろう。本実施形態は、本発明の原理、実際の応用例を最も良く説明するため、ならびに他の当業者が企図された特定の使用に好適な様々な修正形態を備えた様々な実施形態について本発明を理解できるようにするために、選択および説明したものである。
本発明が実施可能なデータ処理システムを示すブロック図である。 本発明が実施可能な例示的論理区画プラットフォームを示すブロック図である。 本発明の好ましい実施形態に従って、1つの区画から他の区画へとデータを渡す際に使用されるコンポーネントを示す図である。 本発明の好ましい実施形態に従った、1つの区画から他の区画へのページの再割り当てを示す図である。 本発明の好ましい実施形態に従った、1つの区画から他の区画へのページの再割り当てを示す図である。 本発明の好ましい実施形態に従った、動的なページの再割り当てを示す図である。 本発明の好ましい実施形態に従った、動的なページの再割り当てを示す図である。 本発明の好ましい実施形態に従った、動的なページの再割り当てを示す図である。 本発明の好ましい実施形態に従った、動的なページの再割り当てを示す図である。 本発明の好ましい実施形態に従った、動的なページの再割り当てを示す図である。 本発明の好ましい実施形態に従って、1つの区画から他の区画へとデータを転送するためのプロセスを示す流れ図である。 本発明の好ましい実施形態に従って、データへのアクセス権を取得するためのプロセスを示す流れ図である。
符号の説明
200 論理区画プラットフォーム
202 OS
203 区画
204 OS
205 区画
206 OS
207 区画
208 OS
209 区画
210 プラットフォーム・ファームウェア
211 区画ファームウェア
213 区画ファームウェア
215 区画ファームウェア
217 区画ファームウェア
230 区分ハードウェア
232 プロセッサ
234 プロセッサ
236 プロセッサ
238 プロセッサ
240 メモリ
242 メモリ
244 メモリ
246 メモリ
248 I/Oアダプタ
250 I/Oアダプタ
252 I/Oアダプタ
254 I/Oアダプタ
256 I/Oアダプタ
258 I/Oアダプタ
260 I/Oアダプタ
262 I/Oアダプタ
270 ストレージ
280 ハードウェア管理コンソール
290 サービス・プロセッサ
298 NVRAM

Claims (16)

  1. 第1の論理区画と第2の論理区画とを有するデータ処理システムにおいてデータを転送するための方法であって、前記第1の論理区画にはデータを受信することができるI/Oデバイスが割り当てられており、及び前記第2の論理区画には前記データを受信することができない仮想I/Oデバイスが割り当てられており、
    前記方法は、
    前記第1の論理区画用に割り当てられたメモリ領域内で当該第1の論理区画の前記I/Oデバイスを介して前記データを受信するステップと、
    前記受信したデータが前記第2の論理区画用であるという決定に応答して、前記第1の論理区画用に割り当てられたメモリ領域を第2の論理区画用に再割り当てするステップと、
    前記メモリ領域を前記第2の論理区画用に再割り当てした後に、前記第2の論理区画に、前記メモリ領域のアドレス及び前記メモリ領域の長さを含むポインタ構造を送信するステップと
    を含む、前記方法。
  2. 前記第1の論理区画がホスト区画である、請求項1に記載の方法。
  3. 前記メモリ領域がページである、請求項1に記載の方法。
  4. 前記再割り当てするステップが、前記第1の論理区画用に割り当てられたメモリ領域を前記第2の論理区画用に割り当てるために、プラットフォーム・ファームウェアに対する呼び出しを実行するステップを含み、
    前記論理区画を有するデータ処理システムは、複数のハードウェア・デバイスを含み、前記プラットフォーム・ファームウェアは、前記論理区画を有するデータ処理システムの前記複数のハードウェア・デバイスの仮想化による、複数の独立したオペレーティング・システムのイメージの同時実行を提供する場合に、前記複数のハードウェア・デバイスを管理するために利用可能な論理区画管理ファームウェアである、請求項1に記載の方法。
  5. 前記受信するステップおよび前記割り当てるステップが前記第1の論理区画によって実行される、請求項1に記載の方法。
  6. 前記データへのアクセスが不要である場合に、前記第2の論理区画用に再割り当てされたメモリ領域を前記第2の論理区画による使用から解放するステップをさらに含む、請求項1に記載の方法。
  7. 前記メモリ領域が前記第2の論理区画による使用から解放されることに応答して、前記解放されたメモリ領域を前記第1の論理区画用に再割り当てするステップと
    さらに含む、請求項6に記載の方法。
  8. 前記第1の論理区画のI/Oデバイスが、物理ネットワーク・アダプタである、請求項1に記載の方法。
  9. データを転送するための、第1の論理区画と第2の論理区画とを有するデータ処理システムであって、前記第1の論理区画にはデータを受信することができるI/Oデバイスが割り当てられており、及び前記第2の論理区画には前記データを受信することができない仮想I/Oデバイスが割り当てられており、
    前記データ処理システムは、
    前記第1の論理区画用に割り当てられたメモリ領域内で当該第1の論理区画の前記I/Oデバイスを介して前記データを受信するための受信手段と、
    前記受信したデータが前記第2の論理区画用であるという決定に応答して、前記第1の論理区画用に割り当てられたメモリ領域を第2の論理区画用に再割り当てするための割り当て手段と、
    前記メモリ領域を前記第2の論理区画用に再割り当てした後に、前記第2の論理区画に、前記メモリ領域のアドレス及び前記メモリ領域の長さを含むポインタ構造を送信するための送信手段と
    を含む、前記データ処理システム。
  10. 前記第1の論理区画がホスト区画である、請求項9に記載のデータ処理システム。
  11. 前記メモリ領域がページである、請求項9に記載のデータ処理システム。
  12. 前記再割り当て手段が、前記第1の論理区画用に割り当てられたメモリ領域を前記第2の論理区画用に割り当てるために、プラットフォーム・ファームウェアに対する呼び出しを実行するための実行手段を含み、
    前記論理区画を有するデータ処理システムは、複数のハードウェア・デバイスを含み、前記プラットフォーム・ファームウェアは、前記論理区画を有するデータ処理システムの前記複数のハードウェア・デバイスの仮想化による、複数の独立したオペレーティング・システムのイメージの同時実行を提供する場合に、前記複数のハードウェア・デバイスを管理するために利用可能な論理区画管理ファームウェアである、請求項9に記載のデータ処理システム。
  13. 前記受信手段および前記割り当て手段が前記第1の論理区画に位置する、請求項9に記載のデータ処理システム。
  14. 前記データへのアクセスが不要である場合に、前記第2の論理区画用に再割り当てされたメモリ領域を前記第2の論理区画による使用から解放するための解放手段をさらに含む、請求項9に記載のデータ処理システム
  15. 前記メモリ領域が前記第2の論理区画による使用から解放されることに応答して、前記解放されたメモリ領域を前記第1の論理区画用に再割り当てするための再割り当て手段をさらに含む、請求項14に記載のデータ処理システム
  16. 第1の論理区画と第2の論理区画とを有し、前記第1の論理区画にはデータを受信することができるI/Oデバイスが割り当てられており、及び前記第2の論理区画には前記データを受信することができない仮想I/Oデバイスが割り当てられているデータ処理システムにおいて実行される、データを転送するためのコンピュータ・プログラムであって、前記データ処理システムに、請求項1〜8のいずれか1項に記載の方法の各ステップを実行させる、前記コンピュータ・プログラム。
JP2005169422A 2004-06-10 2005-06-09 動的なホスト区画ページ割り当てのための方法および装置 Active JP4405435B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/865,702 US7318140B2 (en) 2004-06-10 2004-06-10 Method and apparatus for dynamic hosting partition page assignment

Publications (3)

Publication Number Publication Date
JP2005353070A JP2005353070A (ja) 2005-12-22
JP2005353070A5 JP2005353070A5 (ja) 2009-06-04
JP4405435B2 true JP4405435B2 (ja) 2010-01-27

Family

ID=35461847

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005169422A Active JP4405435B2 (ja) 2004-06-10 2005-06-09 動的なホスト区画ページ割り当てのための方法および装置

Country Status (4)

Country Link
US (1) US7318140B2 (ja)
JP (1) JP4405435B2 (ja)
CN (1) CN1707462B (ja)
TW (1) TW200609727A (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7689800B2 (en) * 2005-05-12 2010-03-30 Microsoft Corporation Partition bus
US7734843B2 (en) * 2006-05-25 2010-06-08 International Business Machines Corporation Computer-implemented method, apparatus, and computer program product for stalling DMA operations during memory migration
US7512621B2 (en) * 2006-06-14 2009-03-31 International Business Machines Corporation Moving records between partitions
US7899958B2 (en) * 2006-12-21 2011-03-01 Unisys Corporation Input/output completion system and method for a data processing platform
JP4792434B2 (ja) * 2007-08-31 2011-10-12 株式会社日立製作所 仮想計算機の制御方法
US8307188B2 (en) * 2009-11-10 2012-11-06 International Business Machines Corporation Information handling system memory management
US8954704B2 (en) * 2011-08-12 2015-02-10 International Business Machines Corporation Dynamic network adapter memory resizing and bounding for virtual function translation entry storage
US20130042238A1 (en) 2011-08-12 2013-02-14 International Business Machines Corporation Optimized Virtual Function Translation Entry Memory Caching
US9342342B2 (en) 2013-03-15 2016-05-17 International Business Machines Corporation Refreshing memory topology in virtual machine operating systems
JP2016115253A (ja) * 2014-12-17 2016-06-23 富士通株式会社 情報処理装置、メモリ管理方法およびメモリ管理プログラム
JP6579916B2 (ja) * 2015-10-28 2019-09-25 株式会社日立製作所 仮想計算機間の通信経路制御方法および計算機システム
US11086686B2 (en) * 2018-09-28 2021-08-10 International Business Machines Corporation Dynamic logical partition provisioning

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6775672B2 (en) * 2001-12-19 2004-08-10 Hewlett-Packard Development Company, L.P. Updating references to a migrated object in a partition-based distributed file system

Also Published As

Publication number Publication date
CN1707462B (zh) 2010-04-28
JP2005353070A (ja) 2005-12-22
CN1707462A (zh) 2005-12-14
US20050278488A1 (en) 2005-12-15
TW200609727A (en) 2006-03-16
US7318140B2 (en) 2008-01-08

Similar Documents

Publication Publication Date Title
JP4405435B2 (ja) 動的なホスト区画ページ割り当てのための方法および装置
US7480911B2 (en) Method and apparatus for dynamically allocating and deallocating processors in a logical partitioned data processing system
US8281306B2 (en) Managing assignment of partition services to virtual input/output adapters
JP4157710B2 (ja) Pci入出力スロットの論理分割を実施する方法および装置
US6941436B2 (en) Method and apparatus for managing memory blocks in a logical partitioned data processing system
US6725284B2 (en) Logical partition hosted virtual input/output using shared translation control entries
US8201167B2 (en) On-demand allocation of virtual asynchronous services interfaces
JP2005209198A (ja) 論理区画化データ処理システムでの電力消費を削減する方法および装置
JP2004318873A (ja) 異種分割システムにおけるグローバル・エラーを報告するための方法および装置
US20100100892A1 (en) Managing hosted virtualized operating system environments
US20030212883A1 (en) Method and apparatus for dynamically managing input/output slots in a logical partitioned data processing system
US8024544B2 (en) Free resource error/event log for autonomic data processing system
US7266631B2 (en) Isolation of input/output adapter traffic class/virtual channel and input/output ordering domains
US20060010277A1 (en) Isolation of input/output adapter interrupt domains
US20090182967A1 (en) Packet transfer in a virtual partitioned environment
US8930670B2 (en) Partition redispatching using page tracking

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080502

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080502

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090420

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20090420

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20090610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090623

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090709

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090709

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20090709

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091006

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20091006

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

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20091029

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20091029

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

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

Free format text: PAYMENT UNTIL: 20121113

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4405435

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131113

Year of fee payment: 4