JP4711191B2 - オンライン増設メモリの使用方法、プログラム及び情報処理装置 - Google Patents

オンライン増設メモリの使用方法、プログラム及び情報処理装置 Download PDF

Info

Publication number
JP4711191B2
JP4711191B2 JP2006245689A JP2006245689A JP4711191B2 JP 4711191 B2 JP4711191 B2 JP 4711191B2 JP 2006245689 A JP2006245689 A JP 2006245689A JP 2006245689 A JP2006245689 A JP 2006245689A JP 4711191 B2 JP4711191 B2 JP 4711191B2
Authority
JP
Japan
Prior art keywords
physical memory
added
page
memory
area
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
JP2006245689A
Other languages
English (en)
Other versions
JP2008065766A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2006245689A priority Critical patent/JP4711191B2/ja
Publication of JP2008065766A publication Critical patent/JP2008065766A/ja
Application granted granted Critical
Publication of JP4711191B2 publication Critical patent/JP4711191B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、オンライン増設メモリの使用方法、プログラム及び情報処理装置に関する。
仮想記憶をサポートするOSでは、物理メモリの空き容量が不足すると、スワップ領域を利用することにより、物理メモリの空き容量を確保する。ところが、スワップ領域には、通常、メモリと比較して低速なデバイスが使用されているため、メモリ使用量が増加しスワップ領域が使用されるようになると、処理性能の低下が発生する。
このような処理性能の低下を防ぐためには物理メモリの増設が必要になるが、通常OSは、起動時の初期化処理において、搭載されている物理メモリ量の取得・管理を行うため、OS起動後にメモリをオンライン増設した場合であっても、増設したメモリを使用するためにはOSの再起動が必要になってしまう。
また、OSの再起動を行うことなくオンライン増設したメモリを使用する場合には、OSのメモリ管理機構の中核に対し大幅な変更が必要となる。OSでは、物理メモリの領域と仮想メモリの領域とを対応づけるマッピングテーブルの管理を行っており、オンライン増設したメモリを通常の仮想メモリ空間として使用する場合には、このマッピングテーブルの更新が必要になる。図1は、物理メモリの増設について説明する図である。図1において、情報処理装置100には、OS104の起動前からXメガバイトの物理メモリ101が搭載されている。OS104では、仮想メモリの領域と、起動前搭載メモリ101の領域とを対応づけるマッピングテーブル105を管理している。ここで、OS起動後、Yメガバイトの物理メモリ102が増設されたとする(A)。すると、メモリコントローラ103は、物理メモリ102の増設を検知することにより、搭載物理メモリ容量の値を更新できる(B)。OS104は、搭載されている全てのメモリ容量(X+Y)の取得が可能である(C)。しかし、物理メモリ102を増設しても、マッピングテーブル105の変更は行わない。マッピングテーブル105はOS104の核となる部分であり、このマッピングテーブル105を動的に更新するのは大きな危険を伴うからである。
特にミッションクリティカルなシステムにおいては、「OSの再起動が容易に行えない」、「メモリ管理機構の中核に対し大幅な変更を行うことにより信頼性が低下する」といった理由から空きメモリ容量の不足による処理性能の低下は深刻な問題となる。
メモリ増設に関する従来技術としては、特開平5−342092号公報(特許文献1参照)、特開平11−272547号公報(特許文献2参照)に記載された発明が知られる。
特許文献1には、CPUを搭載した制御部とメモリ部とを有し、メモリ部は常設の主メモリ部とシステム規模に応じて増設される増設メモリパッケージの実装部とからなる情報処理システムにおける増設メモリパッケージ実装状態認識方式の発明が記載されている。この発明において、メモリ容量表示信号生成部は、前記増設メモリパッケージの実装部に設けられシステムリセット信号がアクティブになったときに前記増設メモリパッケージの実装状態およびメモリ容量を表す信号を出力する。増設メモリ容量表示レジスタは、前記主メモリ部に設けられ前記メモリ容量表示信号生成部から出力された信号を取り込む。増設メモリページアドレス格納レジスタは、前記増設メモリパッケージに設けられ該増設メモリパッケージのマッピングページアドレスを格納する。増設メモリ選択信号生成回路は、前記増設メモリパッケージに設けられ前記増設メモリページアドレス格納レジスタのマッピングページアドレスと前記制御部が出力するアドレス信号とから増設メモリ選択信号を生成する。制御部は、前記システムリセット信号がインアクティブになったときに前記増設メモリ容量表示レジスタの内容を読み出して前記増設メモリパッケージの実装状態を認識し、前記増設メモリパッケージが実装されている場合にはメモリ容量に従って前記増設メモリパッケージを前記CPUのアドレス空間にマッピングして前記増設メモリパッケージのマッピングページアドレスを前記増設メモリページアドレス格納レジスタに設定する。この特許文献1の発明は、システムリセット信号がアクティブになったときに動作するので、増設したメモリを使用するためにはOSの再起動が必要になる。
特許文献2には、第1のメモリと、該第1のメモリ内の情報を処理するプロセッサとを有し、電源が投入された状態で第2のメモリを増設することができる情報処理装置におけるメモリ管理方法の発明が記載されている。この発明は、前記プロセッサと前記第1及び第2のメモリの少なくともいずれかとを接続し、前記プロセッサに接続された前記第1及び第2のメモリの容量を記憶し、前記プロセッサと前記第1及び第2のメモリ各々が接続されているか否かに関する情報を記憶する。この特許文献2の発明は、電源が投入された状態で第2のメモリを物理的に接続したときのノイズの問題を解消するものである。
特開平5−342092号公報 特開平11−272547号公報
本発明の目的は、OS起動後に物理メモリのオンライン増設があった場合に、その物理メモリを有効利用する方法を提供することである。
以下に、[発明を実施するための最良の形態]で使用される番号・符号を用いて、[課題を解決するための手段]を説明する。これらの番号・符号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
本発明によるオンライン増設メモリの使用方法は、OS起動後に増設される物理メモリ(14)を検出するステップと、OS起動後に増設される物理メモリ(14)が検出されている場合には、当該物理メモリ(14)をスワップ領域として、ページングを行うステップとを有する。
また、本発明によるオンライン増設メモリの使用方法は、OS起動後に増設される物理メモリ(14)を検出するステップと、OS起動後に増設される物理メモリ(14)が検出されていない場合には、外部記憶装置(12)をスワップ領域として、ページングを行うステップと、OS起動後に増設される物理メモリ(14)が検出されている場合には、当該物理メモリ(14)と外部記憶装置(12)とをスワップ領域として、ページングを行うステップとを有する。
また、本発明によるオンライン増設メモリの使用方法は、複数のエントリを有するメモリ・スワップ管理テーブル(17)を作成するステップと、前記複数のエントリの各々は、OS起動後に増設される物理メモリ(14)におけるある領域が使用中か未使用かを示す情報を保持し、ページアウトを行う場合には、その領域が未使用を示している前記エントリを検索するステップと、その領域が未使用を示しているエントリが検索されたときには、前記物理メモリ(14)へページアウトを行うステップと、その領域が未使用を示しているエントリが検索されなかったときには、外部記憶装置(12)へページアウトを行うステップとを具備する。
また、本発明によるオンライン増設メモリの使用方法は、複数のエントリを有するメモリ・スワップ管理テーブル(17)を作成するステップと、前記複数のエントリの各々は、OS起動後に増設される物理メモリ(14)におけるある領域が使用中か未使用かを示す情報を保持し、ページアウトを行う場合には、その領域が未使用を示している前記エントリを検索するステップと、その領域が未使用を示しているエントリが検索されたときには、前記物理メモリ(14)へページアウトを行うステップと、その領域が未使用を示しているエントリが検索されなかったときには、いずれかのエントリについて、その領域の内容を外部記憶装置(12)に掃き出し、前記物理メモリ(14)へページアウトを行うステップとを具備する。
また、本発明によるオンライン増設メモリの使用方法は、OS起動後に増設された物理メモリ(14)の使用率が一定の水準を超えたときに、バックグラウンドで、いずれかのページについて、その領域の内容を外部記憶装置(12)に掃き出し、OS起動後に増設された前記物理メモリ(14)に空き領域を確保するステップと、ページアウトを行う場合には、前記物理メモリ(14)へページアウトを行うステップとを具備する。
また、本発明によるオンライン増設メモリの使用方法は、ページアウト対象のページが、優先順位の低いプロセス又は実行頻度の低いプロセスによって使用されるものか否かを判断するステップと、(甲)優先順位の低いプロセス又は実行頻度の低いプロセスによって使用されるものであると判断された場合には、ページアウトを行う場合に、外部記憶装置(12)へページアウトを行うステップと、(乙)優先順位の低いプロセス又は実行頻度の低いプロセスによって使用されるものでは無いと判断された場合には、複数のエントリを有するメモリ・スワップ管理テーブル(17)を作成するステップと、前記複数のエントリの各々は、OS起動後に増設される物理メモリ(14)におけるある領域が使用中か未使用かを示す情報を保持し、ページアウトを行う場合に、その領域が未使用を示している前記エントリを検索するステップと、その領域が未使用を示しているエントリが検索されたときには、前記物理メモリ(14)へページアウトを行うステップと、その領域が未使用を示しているエントリが検索されなかったときには、いずれかのエントリについて、その領域の内容を外部記憶装置(12)に掃き出し、前記物理メモリ(14)へページアウトを行うステップとを具備する。
また、本発明によるオンライン増設メモリの使用方法は、OS起動後に増設された物理メモリ(14)の使用率が一定の水準を超えたときに、バックグラウンドで、いずれかのページについて、その領域の内容を外部記憶装置(12)に掃き出し、OS起動後に増設された前記物理メモリ(14)に空き領域を確保するステップと、ページアウト対象のページが、優先順位の低いプロセス又は実行頻度の低いプロセスによって使用されるものか否かを判断するステップと、(甲)優先順位の低いプロセス又は実行頻度の低いプロセスによって使用されるものであると判断された場合には、ページアウトを行う場合に、外部記憶装置(12)へページアウトを行うステップと、(乙)優先順位の低いプロセス又は実行頻度の低いプロセスによって使用されるものでは無いと判断された場合には、ページアウトを行う場合に、OS起動後に増設された前記物理メモリ(14)へページアウトを行うステップとを具備する。
また、本発明によるオンライン増設メモリの使用方法は、複数のエントリを有するメモリ・スワップ管理テーブル(17)を作成するステップと、前記複数のエントリの各々は、OS起動後に増設される物理メモリ(14)における物理アドレスと、仮想アドレスとの対応関係を示す情報を保持すると共に、その物理メモリ(14)の領域が使用中か未使用かを識別する情報を保持し、ページインを行う場合には、仮想アドレスが一致する前記エントリを検索するステップと、仮想アドレスが一致するエントリが検索されたときには、前記物理メモリ(14)からページインを行うステップと、仮想アドレスが一致するエントリが検索されなかったときには、前記外部記憶装置(12)からページインを行うステップとを具備する。
また、本発明によるプログラムは、OS起動後に増設される物理メモリ(14)を検出する手順と、OS起動後に増設される物理メモリ(14)が検出されている場合には、当該物理メモリ(14)をスワップ領域として、ページングを行う手順とをコンピュータに実行させる。前記プログラムは、OSの一部とすることができる。
また、本発明によるプログラムは、OS起動後に増設される物理メモリ(14)を検出する手順と、OS起動後に増設される物理メモリ(14)が検出されていない場合には、外部記憶装置(12)をスワップ領域として、ページングを行う手順と、OS起動後に増設される物理メモリ(14)が検出されている場合には、当該物理メモリ(14)と外部記憶装置(12)とをスワップ領域として、ページングを行う手順とをコンピュータに実行させる。前記プログラムは、OSの一部とすることができる。
また、本発明による情報処理装置(10)は、OS起動後に増設される物理メモリ(14)を検出する検出部と、OS起動後に増設される物理メモリ(14)が検出されている場合には、当該物理メモリ(14)をスワップ領域として、ページングを行うページング機構とを有する。
また、本発明による情報処理装置(10)は、OS起動後に増設される物理メモリ(14)を検出する検出部と、OS起動後に増設される物理メモリ(14)が検出されていない場合には、外部記憶装置(12)をスワップ領域として、ページングを行うと共に、OS起動後に増設される物理メモリ(14)が検出されている場合には、当該物理メモリ(14)と外部記憶装置(12)とをスワップ領域として、ページングを行うページング機構とを有する。
本発明によれば、小規模なシステム変更により、オンライン増設された物理メモリを有効利用することができる。物理メモリの増設後に、その物理メモリ量に応じた再初期化処理を実行することなく、スワップデバイスとしての外部記憶装置よりも高速な物理メモリの利用が可能になる。
当実施の形態では、電源をオンにしたまま物理メモリの増設が可能な情報処理装置において、OSは、オンラインで増設した物理メモリを、仮想メモリとのマッピング領域としては使用しない。当実施の形態では、オンラインで増設した物理メモリを、仮想メモリとのマッピング領域としてではなく、スワップ領域として使用する。これにより、OSを再起動することなく、オンライン増設した物理メモリを有効利用する。
従来は、オンラインで物理メモリを増設した場合であっても、再起動を行わない限り増設した物理メモリをメインメモリとして使用することができなかった。当実施の形態では、オンライン増設した物理メモリを高速なスワップデバイスとして使用することで、再起動を行うことなしにオンライン増設した物理メモリを有効利用することを可能にする。また、当実施の形態によりスワップデバイスとして使用される増設メモリは、再起動することによりOSに認識され、メインメモリとして使用することが可能になる。
図2に、本発明に係る情報処理装置の説明図を示す。図2において、情報処理装置10は、起動前搭載メモリ11と、外部記憶装置12と、メモリ増設検出部13とを有し、電源をオンにしたまま物理メモリ14を増設することができる。起動前搭載メモリ11は、OS起動前から搭載されている物理メモリであり、メインメモリとして利用される。外部記憶装置12は、磁気ディスクで成り、スワップデバイスとして使用される。メモリ増設検出部13は、増設される物理メモリ14を検出する。
メモリ増設検出部13は、物理メモリの増設を検出すると、増設メモリ情報テーブル16を作成する。図3に、増設メモリ情報テーブルの一例を示す。図示するように、増設メモリ情報テーブル16は、増設された物理メモリの開始物理アドレスと終了物理アドレスとを含む。開始物理アドレスは、増設メモリの先頭アドレスを示し、終了物理アドレスは、増設メモリの最後尾のアドレスを示す。この増設メモリ情報テーブル16は、メモリ増設検出部13によって、OS15に通知される。
OS15は、情報処理装置10を動作させる基本ソフトであり、当実施の形態では、メモリ・スワップ管理テーブル17を有している。メモリ・スワップ管理テーブル17は、メモリ増設検出部13によって通知される増設メモリ情報テーブル16に基づいて作成され、増設された物理メモリに関する情報を保持する。図4に、メモリ・スワップ管理テーブルの一例を示す。図示するように、メモリ・スワップ管理テーブル17は、メモリ・スワップ領域上の物理アドレスと仮想アドレスとの対応関係を示す。メモリ・スワップ領域上の物理アドレスは、増設された物理メモリをページ単位に区切った場合における各ページの先頭を示す物理アドレスである。すなわち、メモリ・スワップ管理テーブル17の各エントリは、ページごとのデータを格納している。
図4において、使用中情報の欄は、そのエントリが使用中か未使用かを示す。使用中情報がオンの場合、そのエントリに対応する増設メモリのページは使用中であり、仮想アドレスで示されるデータが格納されている。使用中情報がオフの場合、そのエントリに対応する増設メモリのページは未使用であり、仮想アドレスの欄にはデータが格納されていない。仮想アドレスの欄は、仮想アドレス空間上のアドレスを示している。
図5は、メモリ・スワップ管理テーブル53と、ディスク・スワップ管理テーブル52との関係について説明する図である。図5において、スワップ管理テーブル51は、スワップメモリデバイスを管理するメモリ・スワップ管理テーブル53や、スワップディスクデバイスを管理するディスク・スワップ管理テーブル52にリンクする。オンライン増設される物理メモリが無い場合、スワップ管理テーブル51は、ディスクスワップ管理テーブル52にリンクしている。物理メモリがオンライン増設された場合、上図に示するように、メモリ・スワップ管理テーブル53が作成される。このとき、オンライン増設されたスワップメモリデバイスをスワップディスクデバイスに優先させて使用する。そのため、メモリ・スワップ管理テーブル53は、下図に示するように、ディスク・スワップ管理テーブル52より前にリンクする。なお、更に物理メモリが追加されると、それに応じてメモリ・スワップ管理テーブルが作成されるが、新たに作成されるメモリ・スワップ管理テーブルは、既にリンクされているメモリ・スワップ管理テーブル53の次にリンクされる。
図2において、物理メモリ14の増設が検出されていない場合、外部記憶装置12がスワップデバイスとして使用され、ページングは、ディスク・スワップ領域に対して行われる。情報処理装置10に、物理メモリ14が増設されると、物理メモリ14もスワップデバイスとして使用され、ページングは、メモリ・スワップ領域と、ディスク・スワップ領域とに対して行われる。増設メモリ検出部13は、物理メモリ14の増設を検出すると、情報処理装置10上で動作するOS15に対して増設メモリ情報テーブル16を送信し、物理メモリ14の増設を通知する。情報処理装置10上で動作するOS15は、増設メモリ情報テーブル16を受信すると、増設メモリ情報テーブル16の開始物理アドレス及び終了物理アドレスの値を基に、メモリ・スワップ管理テーブル17を作成する。
図6及び図7は、ページアウトの動作を説明する図である。今、情報処理装置10では、メモリ増設検出部13によって、物理メモリ14の増設が検出されているとする。従って、スワップデバイスとしては、スワップディスクデバイスの他、スワップメモリデバイスも使用することができる。すなわち、スワップ領域としては、ディスク・スワップ領域の他、メモリ・スワップ領域も使用することができる。
さて、起動前搭載メモリ11に空き領域がなくなると、空き領域を確保するために、起動前搭載メモリ11上のページをスワップ領域に退避する処理が行われる。このとき、最初にメモリ・スワップ管理テーブル17を参照する(S10)。メモリ・スワップ管理テーブル17は、図4に例示したように、メモリ・スワップ領域上の物理アドレスの欄、使用中情報の欄、仮想アドレスの欄とを含む。すなわち、増設された物理メモリ14における物理アドレスと、仮想アドレスとの対応関係を示すと共に、そのページが使用中か未使用かを識別するエントリを有している。
メモリ・スワップ管理テーブル17を参照したら、未使用ページを検索する(S11)。メモリ・スワップ管理テーブル17における使用中情報の欄を読み出し、使用中情報がオフのエントリを探す。使用中情報がオフのエントリは、未使用のページであるから、使用中情報がオフのエントリを見つけて、未使用ページを取得する(S12)。さて、未使用ページのエントリには、その未使用ページに対応するメモリ・スワップ領域上の物理アドレスが格納されている。よって、メモリ・スワップ領域上の物理アドレスの欄を参照して、物理アドレスを取得する(S13)。
取得された物理アドレスで示されるメモリ・スワップ領域上のページは未使用である。そこで、ここに、起動前搭載メモリ11に保持されている退避ページを書き出す(S14)。この書き出しにより、起動前搭載メモリ11には空き領域が確保される。続いて、メモリ・スワップ管理テーブルを更新する(S15)。書き出しを行ったページに対応するエントリについて、使用中情報の欄をオフからオンに書き換える。同時に、仮想アドレスの欄に、書き出した退避ページの仮想アドレスを格納する。
上記のように、図6,7で説明されるページアウトの動作においては、スワップデバイスとして、スワップディスクデバイスではなくスワップメモリデバイスが利用される。このように、スワップ領域として、ディスク・スワップ領域ではなく、メモリ・スワップ領域を利用することで、高速なスワップ処理が行われ、情報処理装置の性能低下を防ぐことが可能になる。
従来手法では、OS起動時から使用中の物理メモリをメインメモリとして使用し、OS起動後に増設したメモリは未使用状態としている。メインメモリの空き領域がなくなった場合には、メインメモリ中の最も長い時間使用されていない領域(ページ)をスワップディスクデバイスに掃き出すことにより、メインメモリに空き領域を確保していた。当実施の形態では、OS起動時から使用中の物理メモリをメインメモリとして使用し、さらに起動後に増設した物理メモリをスワップメモリデバイスとして使用している。そして、メインメモリの空き領域がなくなった場合には、メインメモリ中の最も長い時間使用されていない領域(ページ)をスワップメモリデバイスに掃き出すことにより、メインメモリに空き領域を確保している。
図8は、スワップメモリデバイスに空き領域が無い場合におけるページアウトの動作を説明する図である。図示するように、スワップメモリデバイスの全てのページは使用中である。よって、メモリ・スワップ領域の未使用ページを検索しても(S11)、未使用ページを取得することができない(S12)。起動前搭載メモリに空き領域が無くなり、退避ページを掃き出すことになったとしても、スワップメモリデバイスには空き領域が無い。この場合には、図示するように、スワップディスクデバイスを利用してページアウトを行うことができる。すなわち、ディスク・スワップ領域の未使用ページを検索し、ディスク・スワップ領域における未使用ページを取得する。そして、このディスク・スワップ領域における未使用ページに対して、起動前搭載メモリの退避ページを書き出す。
図9は、スワップメモリデバイスに空き領域が無い場合におけるページアウトの動作を説明する他の図である。図示するように、スワップメモリデバイスの全てのページは使用中である。よって、メモリ・スワップ領域の未使用ページを検索しても(S11)、未使用ページを取得することができない(S12)。起動前搭載メモリに空き領域が無くなり、退避ページを掃き出すことになったとしても、スワップメモリデバイスには空き領域が無い。この場合には、図8に示したように、スワップディスクデバイスに対して、直接起動前搭載メモリの退避ページを書き出しても良い。
しかし、使用される確率の高いページは、スワップディスクデバイス側ではなく、スワップメモリデバイス側に保持しておくのが便宜である。よって、図9の例では、まず、スワップメモリデバイス上で最も長い間使用されていないページを検索する。そして、最も長い間使用されていないページの内容をスワップディスクデバイス上の空き領域に書き出す(A)。スワップディスクデバイスへの掃き出しが完了後、起動前搭載メモリにおける退避ページをメモリスワップデバイス上の空き領域となったページに書き出す(B)。
メモリスワップデバイスに書き出された退避ページは、長い間使用されていないページに比べると、再び起動前搭載メモリに読み込まれる可能性が高いと言える。従って、当該退避ページを高速なメモリスワップデバイスに保持しておくことにより、ページングを行うことによる情報処理装置の性能低下を抑制することが可能になる。
ページアウトを行う際に、スワップメモリデバイスが一杯であった場合においては、上記のように、スワップメモリデバイスに長時間滞留しているページなどをスワップディスクデバイスへ移送することができる(グレードダウン)。しかしながら、図10に説明するように、スワップディスクデバイス63へのグレードダウンは、バックグラウンドで行うこともできる。OSは、スワップメモリデバイス62の使用率が高くなると、CPUの空き時間を利用して、スワップメモリデバイス62から使用頻度が低いページをスワップディスクデバイス63へ書き出す。これにより、スワップメモリデバイス62に十分な空き領域を確保し、ページアウトの際には、その空き領域を利用して、起動前搭載メモリ61から退避ページを書き出す。
前述したとおり、好適なページアウト動作の例としては、起動前搭載メモリからページアウトする先をスワップメモリデバイスとするものである。まずは、スワップメモリデバイスにページアウトを行い、スワップメモリデバイスの使用率が高くなったら、LRUアルゴリズムなどで、古いページをスワップディスクデバイスに移す。これにより、近々使いそうなページは高速なスワップメモリデバイス側に、あまり使わないページは比較的低速なスワップディスクデバイス側に、それぞれ階層的に格納することが可能となる。一方、図11に説明するように、ページアウト先としてスワップディスクデバイス63を選択することもできる。例えば、ページアウト対象のページが優先順位の低いプロセス(タスク)の場合や、実行頻度の低いプロセス(タスク)の場合には、低速なスワップディスクデバイス63にはじめからページアウトすることで、グレードダウンの負荷を低減することが可能となる。
図12及び図13は、ページインの動作を説明する図である。今、情報処理装置10では、メモリ増設検出部13によって、物理メモリ14の増設が検出されているとする。従って、スワップデバイスとして、スワップディスクデバイスの他、スワップメモリデバイスも使用されている。すなわち、スワップ領域として、ディスク・スワップ領域の他、メモリ・スワップ領域も使用されている。
さて、起動前搭載メモリ11に処理に必要なページが無く、ページフォールトが発生すると、スワップ領域から必要なページを読み出し、当該ページを起動前搭載メモリ11上の空きページに書き込む処理が行われる。このとき、最初にメモリ・スワップ管理テーブル17を参照する(S20)。メモリ・スワップ管理テーブル17には、メモリ・スワップ領域上の物理アドレスの欄、使用中情報の欄、仮想アドレスの欄とがある。ここで、ページフォールトを発生させたページの仮想アドレスを検索する(S21)。すなわち、メモリ・スワップ管理テーブル17の仮想アドレスの欄を参照し、仮想アドレスが一致するエントリを探す。
そして、起動前搭載メモリ11に読み込むページを取得する(S22)。読み込みページのエントリには、そのページに対応するメモリ・スワップ領域上の物理アドレスが格納されている。よって、メモリ・スワップ領域上の物理アドレスの欄を参照して、物理アドレスを取得する(S23)。
取得された物理アドレスで示されるメモリ・スワップ領域上のページには処理に必要なページが格納されている。そこで、このページを読み出し、起動前搭載メモリ11の空きページへ書き込む(S24)。この読み込み動作により、起動前搭載メモリ11には処理に必要なページが確保される。続いて、メモリ・スワップ管理テーブルを更新する(S25)。読み込みを行ったページに対応するエントリについて、使用中情報の欄をオンからオフに書き換える。同時に、仮想アドレスの欄のデータを削除する。
上記のように、図12,13で説明されるページインの動作においては、スワップデバイスとして、スワップディスクデバイスではなくスワップメモリデバイスが利用される。このように、スワップ領域として、ディスク・スワップ領域ではなく、メモリ・スワップ領域を利用することで、高速なスワップ処理が行われ、情報処理装置の性能低下を防ぐことが可能になる。
ページインの動作において、メモリ・スワップ管理テーブル17を参照し(S20)、ページフォールトを発生させたページの仮想アドレスを検索しても(S21)、該当する仮想アドレスが見つからなかった場合には、読み込みページを取得することができない(S22)。この場合には、スワップディスクデバイスを利用してページインを行うことができる。すなわち、ディスク・スワップ領域に格納されているページの仮想アドレスを検索し、ディスク・スワップ領域における読み込みページを取得する。そして、このディスク・スワップ領域における読み込みページを、起動前搭載メモリへ読み込む。
当実施の形態では、増設された物理メモリを仮想メモリとのマッピングに使用するのではなく、スワップ領域として使用する。この方法によって、仮想メモリとのマッピングを行う場合に必要となる、搭載されている全てのメモリに対する再初期化処理が不要となり、OSの中核である仮想記憶機構への変更を削減することが可能になる。
図1は、物理メモリの増設について説明する図である。 図2は、本発明に係る情報処理装置の一例を示す図である。 図3は、増設メモリ情報テーブルの一例を示す図である。 図4は、メモリ・スワップ管理テーブルの一例を示す図である。 図5は、スワップ管理テーブルのリンクについて説明する図である。 図6は、ページアウトの動作を説明する図である。 図7は、ページアウトの動作を説明する流れ図である。 図8は、ページアウトの動作を説明する他の図である。 図9は、ページアウトの動作を説明するその他の図である。 図10は、バックグラウンドで行うグレードダウンについて説明する図である。 図11は、ページアウト先としてスワップディスクデバイスを選択することを説明する図である。 図12は、ページインの動作を説明する図である。 図13は、ページインの動作を説明する流れ図である。
符号の説明
10,100 情報処理装置
11,61,101 起動前搭載メモリ
14,102 物理メモリ
12 外部記憶装置
13 メモリ増設検出部
15,104 OS
16 増設メモリ情報テーブル
17,53 メモリ・スワップ管理テーブル
51 スワップ管理テーブル
52 ディスク・スワップ管理テーブル
62 スワップメモリデバイス
63 スワップディスクデバイス
103 メモリコントローラ
105 マッピングテーブル

Claims (15)

  1. 情報処理装置により実行されるオンライン増設メモリの使用方法であり、
    OS起動後に増設される物理メモリを検出するステップと、
    OS起動後に増設される物理メモリが検出されていない場合には、外部記憶装置をスワップ領域として、ページングを行うステップと、
    OS起動後に増設される物理メモリが検出されている場合には、当該物理メモリと外部記憶装置とをスワップ領域として、ページングを行うステップと、
    複数のエントリを有するメモリ・スワップ管理テーブルを作成するステップと、
    前記複数のエントリの各々は、OS起動後に増設される物理メモリにおけるある領域が使用中か未使用かを示す情報を保持し、
    ページアウトを行う場合には、その領域が未使用を示している前記エントリを検索するステップと、
    その領域が未使用を示しているエントリが検索されたときには、前記物理メモリへページアウトを行うステップと、
    その領域が未使用を示しているエントリが検索されなかったときには、いずれかのエントリについて、その領域の内容を外部記憶装置に掃き出し、前記物理メモリへページアウトを行うステップと
    を具備するオンライン増設メモリの使用方法。
  2. 情報処理装置により実行されるオンライン増設メモリの使用方法であり、
    OS起動後に増設される物理メモリを検出するステップと、
    OS起動後に増設される物理メモリが検出されていない場合には、外部記憶装置をスワップ領域として、ページングを行うステップと、
    OS起動後に増設される物理メモリが検出されている場合には、当該物理メモリと外部記憶装置とをスワップ領域として、ページングを行うステップと、
    OS起動後に増設された物理メモリの使用率が一定の水準を超えたときに、バックグラウンドで、いずれかのページについて、その領域の内容を外部記憶装置に掃き出し、OS起動後に増設された前記物理メモリに空き領域を確保するステップと、
    ページアウトを行う場合には、前記物理メモリへページアウトを行うステップと
    を具備するオンライン増設メモリの使用方法。
  3. 情報処理装置により実行されるオンライン増設メモリの使用方法であり、
    OS起動後に増設される物理メモリを検出するステップと、
    OS起動後に増設される物理メモリが検出されていない場合には、外部記憶装置をスワップ領域として、ページングを行うステップと、
    OS起動後に増設される物理メモリが検出されている場合には、当該物理メモリと外部記憶装置とをスワップ領域として、ページングを行うステップと、
    ページアウト対象のページが、優先順位の低いプロセス又は実行頻度の低いプロセスによって使用されるものか否かを判断するステップと、
    (甲)優先順位の低いプロセス又は実行頻度の低いプロセスによって使用されるものであると判断された場合には、ページアウトを行う場合に、外部記憶装置へページアウトを行うステップと、
    (乙)優先順位の低いプロセス又は実行頻度の低いプロセスによって使用されるものでは無いと判断された場合には、複数のエントリを有するメモリ・スワップ管理テーブルを作成するステップと、
    前記複数のエントリの各々は、OS起動後に増設される物理メモリにおけるある領域が使用中か未使用かを示す情報を保持し、
    ページアウトを行う場合に、その領域が未使用を示している前記エントリを検索するステップと、
    その領域が未使用を示しているエントリが検索されたときには、前記物理メモリへページアウトを行うステップと、
    その領域が未使用を示しているエントリが検索されなかったときには、いずれかのエントリについて、その領域の内容を外部記憶装置に掃き出し、前記物理メモリへページアウトを行うステップと
    を具備するオンライン増設メモリの使用方法。
  4. 情報処理装置により実行されるオンライン増設メモリの使用方法であり、
    OS起動後に増設される物理メモリを検出するステップと、
    OS起動後に増設される物理メモリが検出されていない場合には、外部記憶装置をスワップ領域として、ページングを行うステップと、
    OS起動後に増設される物理メモリが検出されている場合には、当該物理メモリと外部記憶装置とをスワップ領域として、ページングを行うステップと、
    OS起動後に増設された物理メモリの使用率が一定の水準を超えたときに、バックグラウンドで、いずれかのページについて、その領域の内容を外部記憶装置に掃き出し、OS起動後に増設された前記物理メモリに空き領域を確保するステップと、
    ページアウト対象のページが、優先順位の低いプロセス又は実行頻度の低いプロセスによって使用されるものか否かを判断するステップと、
    (甲)優先順位の低いプロセス又は実行頻度の低いプロセスによって使用されるものであると判断された場合には、ページアウトを行う場合に、外部記憶装置へページアウトを行うステップと、
    (乙)優先順位の低いプロセス又は実行頻度の低いプロセスによって使用されるものでは無いと判断された場合には、ページアウトを行う場合に、OS起動後に増設された前記物理メモリへページアウトを行うステップと
    を具備するオンライン増設メモリの使用方法。
  5. 情報処理装置により実行されるオンライン増設メモリの使用方法であり、
    OS起動後に増設される物理メモリを検出するステップと、
    OS起動後に増設される物理メモリが検出されていない場合には、外部記憶装置をスワップ領域として、ページングを行うステップと、
    OS起動後に増設される物理メモリが検出されている場合には、当該物理メモリと外部記憶装置とをスワップ領域として、ページングを行うステップと、
    複数のエントリを有するメモリ・スワップ管理テーブルを作成するステップと、
    前記複数のエントリの各々は、OS起動後に増設される物理メモリにおける物理アドレスと、仮想アドレスとの対応関係を示す情報を保持すると共に、その物理メモリの領域が使用中か未使用かを識別する情報を保持し、
    ページインを行う場合には、仮想アドレスが一致する前記エントリを検索するステップと、
    仮想アドレスが一致するエントリが検索されたときには、前記物理メモリからページインを行うステップと、
    仮想アドレスが一致するエントリが検索されなかったときには、前記外部記憶装置からページインを行うステップと
    を具備するオンライン増設メモリの使用方法
  6. OS起動後に増設される物理メモリを検出する手順と、
    OS起動後に増設される物理メモリが検出されていない場合には、外部記憶装置をスワップ領域として、ページングを行う手順と、
    OS起動後に増設される物理メモリが検出されている場合には、当該物理メモリと外部記憶装置とをスワップ領域として、ページングを行う手順と
    複数のエントリを有するメモリ・スワップ管理テーブルを作成する手順と、
    前記複数のエントリの各々は、OS起動後に増設される物理メモリにおけるある領域が使用中か未使用かを示す情報を保持し、
    ページアウトを行う場合には、その領域が未使用を示している前記エントリを検索する手順と、
    その領域が未使用を示しているエントリが検索されたときには、前記物理メモリへページアウトを行う手順と、
    その領域が未使用を示しているエントリが検索されなかったときには、いずれかのエントリについて、その領域の内容を外部記憶装置に掃き出し、前記物理メモリへページアウトを行う手順と
    をコンピュータに実行させるためのプログラム。
  7. OS起動後に増設される物理メモリを検出する手順と、
    OS起動後に増設される物理メモリが検出されていない場合には、外部記憶装置をスワップ領域として、ページングを行う手順と、
    OS起動後に増設される物理メモリが検出されている場合には、当該物理メモリと外部記憶装置とをスワップ領域として、ページングを行う手順と、
    OS起動後に増設された物理メモリの使用率が一定の水準を超えたときに、バックグラウンドで、いずれかのページについて、その領域の内容を外部記憶装置に掃き出し、OS起動後に増設された前記物理メモリに空き領域を確保する手順と、
    ページアウトを行う場合には、前記物理メモリへページアウトを行う手順と
    をコンピュータに実行させるためのプログラム。
  8. OS起動後に増設される物理メモリを検出する手順と、
    OS起動後に増設される物理メモリが検出されていない場合には、外部記憶装置をスワップ領域として、ページングを行う手順と、
    OS起動後に増設される物理メモリが検出されている場合には、当該物理メモリと外部記憶装置とをスワップ領域として、ページングを行う手順と、
    ページアウト対象のページが、優先順位の低いプロセス又は実行頻度の低いプロセスによって使用されるものか否かを判断する手順と、
    (甲)優先順位の低いプロセス又は実行頻度の低いプロセスによって使用されるものであると判断された場合には、ページアウトを行う場合に、外部記憶装置へページアウトを行う手順と、
    (乙)優先順位の低いプロセス又は実行頻度の低いプロセスによって使用されるものでは無いと判断された場合には、複数のエントリを有するメモリ・スワップ管理テーブルを作成する手順と、
    前記複数のエントリの各々は、OS起動後に増設される物理メモリにおけるある領域が使用中か未使用かを示す情報を保持し、
    ページアウトを行う場合に、その領域が未使用を示している前記エントリを検索する手順と、
    その領域が未使用を示しているエントリが検索されたときには、前記物理メモリへページアウトを行う手順と、
    その領域が未使用を示しているエントリが検索されなかったときには、いずれかのエントリについて、その領域の内容を外部記憶装置に掃き出し、前記物理メモリへページアウトを行う手順と
    をコンピュータに実行させるためのプログラム。
  9. OS起動後に増設される物理メモリを検出する手順と、
    OS起動後に増設される物理メモリが検出されていない場合には、外部記憶装置をスワップ領域として、ページングを行う手順と、
    OS起動後に増設される物理メモリが検出されている場合には、当該物理メモリと外部記憶装置とをスワップ領域として、ページングを行う手順と、
    OS起動後に増設された物理メモリの使用率が一定の水準を超えたときに、バックグラウンドで、いずれかのページについて、その領域の内容を外部記憶装置に掃き出し、OS起動後に増設された前記物理メモリに空き領域を確保する手順と、
    ページアウト対象のページが、優先順位の低いプロセス又は実行頻度の低いプロセスによって使用されるものか否かを判断する手順と、
    (甲)優先順位の低いプロセス又は実行頻度の低いプロセスによって使用されるものであると判断された場合には、ページアウトを行う場合に、外部記憶装置へページアウトを行う手順と、
    (乙)優先順位の低いプロセス又は実行頻度の低いプロセスによって使用されるものでは無いと判断された場合には、ページアウトを行う場合に、OS起動後に増設された前記物理メモリへページアウトを行う手順と
    をコンピュータに実行させるためのプログラム。
  10. OS起動後に増設される物理メモリを検出する手順と、
    OS起動後に増設される物理メモリが検出されていない場合には、外部記憶装置をスワップ領域として、ページングを行う手順と、
    OS起動後に増設される物理メモリが検出されている場合には、当該物理メモリと外部記憶装置とをスワップ領域として、ページングを行う手順と、
    複数のエントリを有するメモリ・スワップ管理テーブルを作成する手順と、
    前記複数のエントリの各々は、OS起動後に増設される物理メモリにおける物理アドレスと、仮想アドレスとの対応関係を示す情報を保持すると共に、その物理メモリの領域が使用中か未使用かを識別する情報を保持し、
    ページインを行う場合には、仮想アドレスが一致する前記エントリを検索する手順と、
    仮想アドレスが一致するエントリが検索されたときには、前記物理メモリからページインを行う手順と、
    仮想アドレスが一致するエントリが検索されなかったときには、前記外部記憶装置からページインを行う手順と
    をコンピュータに実行させるためのプログラム。
  11. OS起動後に増設される物理メモリを検出する検出部と、
    OS起動後に増設される物理メモリが検出されていない場合には、外部記憶装置をスワップ領域として、ページングを行うと共に、
    OS起動後に増設される物理メモリが検出されている場合には、当該物理メモリと外部記憶装置とをスワップ領域として、ページングを行うページング機構と
    複数のエントリを有するメモリ・スワップ管理テーブルを作成する機構と、
    前記複数のエントリの各々は、OS起動後に増設される物理メモリにおけるある領域が使用中か未使用かを示す情報を保持し、
    ページアウトを行う場合には、その領域が未使用を示している前記エントリを検索する機構と、
    その領域が未使用を示しているエントリが検索されたときには、前記物理メモリへページアウトを行う機構と、
    その領域が未使用を示しているエントリが検索されなかったときには、いずれかのエントリについて、その領域の内容を外部記憶装置に掃き出し、前記物理メモリへページアウトを行う機構と
    を有する情報処理装置。
  12. OS起動後に増設される物理メモリを検出する検出部と、
    OS起動後に増設される物理メモリが検出されていない場合には、外部記憶装置をスワップ領域として、ページングを行うと共に、
    OS起動後に増設される物理メモリが検出されている場合には、当該物理メモリと外部記憶装置とをスワップ領域として、ページングを行うページング機構と、
    OS起動後に増設された物理メモリの使用率が一定の水準を超えたときに、バックグラウンドで、いずれかのページについて、その領域の内容を外部記憶装置に掃き出し、OS起動後に増設された前記物理メモリに空き領域を確保する機構と、
    ページアウトを行う場合には、前記物理メモリへページアウトを行う機構と
    を有する情報処理装置。
  13. OS起動後に増設される物理メモリを検出する検出部と、
    OS起動後に増設される物理メモリが検出されていない場合には、外部記憶装置をスワップ領域として、ページングを行うと共に、
    OS起動後に増設される物理メモリが検出されている場合には、当該物理メモリと外部記憶装置とをスワップ領域として、ページングを行うページング機構と、
    ページアウト対象のページが、優先順位の低いプロセス又は実行頻度の低いプロセスによって使用されるものか否かを判断する機構と、
    (甲)優先順位の低いプロセス又は実行頻度の低いプロセスによって使用されるものであると判断された場合には、ページアウトを行う場合に、外部記憶装置へページアウトを行う機構と、
    (乙)優先順位の低いプロセス又は実行頻度の低いプロセスによって使用されるものでは無いと判断された場合には、複数のエントリを有するメモリ・スワップ管理テーブルを作成する機構と、
    前記複数のエントリの各々は、OS起動後に増設される物理メモリにおけるある領域が使用中か未使用かを示す情報を保持し、
    ページアウトを行う場合に、その領域が未使用を示している前記エントリを検索する機構と、
    その領域が未使用を示しているエントリが検索されたときには、前記物理メモリへページアウトを行う機構と、
    その領域が未使用を示しているエントリが検索されなかったときには、いずれかのエントリについて、その領域の内容を外部記憶装置に掃き出し、前記物理メモリへページアウトを行う機構と
    を有する情報処理装置。
  14. OS起動後に増設される物理メモリを検出する検出部と、
    OS起動後に増設される物理メモリが検出されていない場合には、外部記憶装置をスワップ領域として、ページングを行うと共に、
    OS起動後に増設される物理メモリが検出されている場合には、当該物理メモリと外部記憶装置とをスワップ領域として、ページングを行うページング機構と、
    OS起動後に増設された物理メモリの使用率が一定の水準を超えたときに、バックグラウンドで、いずれかのページについて、その領域の内容を外部記憶装置に掃き出し、OS起動後に増設された前記物理メモリに空き領域を確保する機構と、
    ページアウト対象のページが、優先順位の低いプロセス又は実行頻度の低いプロセスによって使用されるものか否かを判断する機構と、
    (甲)優先順位の低いプロセス又は実行頻度の低いプロセスによって使用されるものであると判断された場合には、ページアウトを行う場合に、外部記憶装置へページアウトを行う機構と、
    (乙)優先順位の低いプロセス又は実行頻度の低いプロセスによって使用されるものでは無いと判断された場合には、ページアウトを行う場合に、OS起動後に増設された前記物理メモリへページアウトを行う機構と
    を有する情報処理装置。
  15. OS起動後に増設される物理メモリを検出する検出部と、
    OS起動後に増設される物理メモリが検出されていない場合には、外部記憶装置をスワップ領域として、ページングを行うと共に、
    OS起動後に増設される物理メモリが検出されている場合には、当該物理メモリと外部記憶装置とをスワップ領域として、ページングを行うページング機構と、
    複数のエントリを有するメモリ・スワップ管理テーブルを作成する機構と、
    前記複数のエントリの各々は、OS起動後に増設される物理メモリにおける物理アドレスと、仮想アドレスとの対応関係を示す情報を保持すると共に、その物理メモリの領域が使用中か未使用かを識別する情報を保持し、
    ページインを行う場合には、仮想アドレスが一致する前記エントリを検索する機構と、
    仮想アドレスが一致するエントリが検索されたときには、前記物理メモリからページインを行う機構と、
    仮想アドレスが一致するエントリが検索されなかったときには、前記外部記憶装置からページインを行う機構と
    を有する情報処理装置。
JP2006245689A 2006-09-11 2006-09-11 オンライン増設メモリの使用方法、プログラム及び情報処理装置 Expired - Fee Related JP4711191B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006245689A JP4711191B2 (ja) 2006-09-11 2006-09-11 オンライン増設メモリの使用方法、プログラム及び情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006245689A JP4711191B2 (ja) 2006-09-11 2006-09-11 オンライン増設メモリの使用方法、プログラム及び情報処理装置

Publications (2)

Publication Number Publication Date
JP2008065766A JP2008065766A (ja) 2008-03-21
JP4711191B2 true JP4711191B2 (ja) 2011-06-29

Family

ID=39288408

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006245689A Expired - Fee Related JP4711191B2 (ja) 2006-09-11 2006-09-11 オンライン増設メモリの使用方法、プログラム及び情報処理装置

Country Status (1)

Country Link
JP (1) JP4711191B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6157158B2 (ja) * 2013-03-08 2017-07-05 キヤノン株式会社 情報処理装置、その制御方法及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0340150A (ja) * 1989-07-07 1991-02-20 Nec Corp ジョブのプライオリティに応じたスワップ領域確保制御方式
JPH0756800A (ja) * 1993-08-12 1995-03-03 Toshiba Corp メモリ領域の動的管理装置
JP2701817B2 (ja) * 1995-12-05 1998-01-21 日本電気株式会社 スワッピング装置
JPH10307753A (ja) * 1997-05-08 1998-11-17 Canon Inc 情報処理装置及びその制御方法

Also Published As

Publication number Publication date
JP2008065766A (ja) 2008-03-21

Similar Documents

Publication Publication Date Title
KR101110490B1 (ko) 정보 처리 장치, 프로세서 및 메모리 관리 방법
KR100843543B1 (ko) 플래시 메모리 장치를 포함하는 시스템 및 그것의 데이터복구 방법
US8166326B2 (en) Managing power consumption in a computer
JP5255348B2 (ja) クラッシュダンプ用のメモリアロケーション
US8347141B2 (en) Method and apparatus to maintain data integrity in disk cache memory during and after periods of cache inaccessibility
US7130962B2 (en) Writing cache lines on a disk drive
US20100205363A1 (en) Memory device and wear leveling method thereof
US8516298B2 (en) Data protection method for damaged memory cells
JP5786955B2 (ja) メモリ縮退方法及び情報処理装置
JP2007183961A (ja) ハードディスクドライブキャッシュメモリ及び再生デバイス
JP2010186341A (ja) メモリシステム
KR20140147017A (ko) 라이트 백 캐싱 환경에서 예상하지 못한 셧다운으로부터 복구하기 위한 시스템 및 방법
JP5166211B2 (ja) 不揮発性メモリを主記憶に用いた装置
JPH0944418A (ja) 情報処理システム及びその制御方法
JP5286796B2 (ja) メモリ制御装置
US8417903B2 (en) Preselect list using hidden pages
US10346234B2 (en) Information processing system including physical memory, flag storage unit, recording device and saving device, information processing apparatus, information processing method, and computer-readable non-transitory storage medium
CN113127263B (zh) 一种内核崩溃恢复方法、装置、设备及存储介质
JP4711191B2 (ja) オンライン増設メモリの使用方法、プログラム及び情報処理装置
JP2003085041A (ja) ディスクキャッシュシステム
EP1103898A2 (en) Microprocessor and memory
KR20150058092A (ko) 네트워크 부트 시스템
JP4735765B2 (ja) Linuxプログラム起動システム
JP2010176306A (ja) 情報処理装置およびデータ記憶装置
CN113515405A (zh) 地址管理方法和装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110127

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110225

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110310

LAPS Cancellation because of no payment of annual fees