JP3702233B2 - Information processing system and program execution mode control method - Google Patents

Information processing system and program execution mode control method Download PDF

Info

Publication number
JP3702233B2
JP3702233B2 JP2002044951A JP2002044951A JP3702233B2 JP 3702233 B2 JP3702233 B2 JP 3702233B2 JP 2002044951 A JP2002044951 A JP 2002044951A JP 2002044951 A JP2002044951 A JP 2002044951A JP 3702233 B2 JP3702233 B2 JP 3702233B2
Authority
JP
Japan
Prior art keywords
bios
memory
system management
cpu
mode
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 - Lifetime
Application number
JP2002044951A
Other languages
Japanese (ja)
Other versions
JP2003242026A (en
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2002044951A priority Critical patent/JP3702233B2/en
Publication of JP2003242026A publication Critical patent/JP2003242026A/en
Application granted granted Critical
Publication of JP3702233B2 publication Critical patent/JP3702233B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明はパーソナルコンピュータなどの情報処理システムおよびプログラム実行モード制御方法に関する。
【0002】
【従来の技術】
近年、パーソナルコンピュータ等の情報処理システムにおいては、そのシステム性能を高めるために、いわゆる“高速ROM”機能が用いられている。“高速ROM”機能は、低速なROMデバイスの内容を高速アクセス可能なRAMデバイスから読み出させるようにする機能である。
【0003】
具体的には、システムの電源投入時に、システムBIOS(Basic Input Output System)をそれが記憶されているROMから、主メモリを構成するRAM上にコピーし、その後はRAM上のシステムBIOSを実行するというものである。この機能は、ROMからの読み出しに比しRAMからの読み出しの方が高速であり、且つROMとRAMのどちらを用いてもシステムの信頼性・安定性には差がないことを前提としたものである。
【0004】
【発明が解決しようとする課題】
しかし、使用するチップセットの機能制限等により、システムBIOSをコピーしたRAM上のシステム領域を完全にはプロテクトすることが出来ない場合がある。この場合、例えばシステム環境の変更等を行う場合などのように、他のソフトウェアを全て終了して専用のシステムユーティリティプログラムのみを実行させるような時には問題はないが、様々なソフトウェアが実行される通常動作中においては、悪意を持つソフトウェアや、不当な振る舞いを行うソフトウェアが動作する可能性があるので、それらソフトウェアによってRAM上のシステム領域が破壊されてしまう危険がある。
【0005】
一方、システムBIOSを常にROMから読み出す方式では、システム性能の低下を招くと共に、オペレーティングシステムの動作中に、BIOS更新のためのROM書き換え動作を実行することができなくなるという問題も生じる。
【0006】
本発明は上述の事情を考慮してなされたものであり、システム性能とシステムの信頼性・安定性とをバランス良く確保することが可能な情報処理システムおよびプログラム実行モード制御方法を提供することを目的とする。
【0007】
【課題を解決するための手段】
上述の課題を解決するため、本発明の情報処理システムは、CPUと、BIOSドライバ群とシステム管理プログラムとを含むシステムBIOSが記憶された不揮発性メモリと、オペレーティングシステムの動作時にオペレーティングシステムが一時記憶されるメモリと、電源投入時に、前記不揮発性メモリから前記BIOSドライバ群を前記主メモリにコピーする手段と、前記オペレーティングシステムの動作中に前記不揮発性メモリの書き換え動作を実行する場合、前記BIOSドライバ群を前記主メモリ上で実行するとともに前記CPUにシステム管理割り込み信号が入力された場合にシステム管理プログラムを前記不揮発性メモリから読み込んで実行する第1のモードから、前記主メモリへ前記システム管理プログラムをコピーし、前記CPUにシステム管理割り込み信号が入力された場合に前記システム管理プログラムを前記主メモリから読み込んで実行する第2のモードへの切り替えを実行する切り替え手段とを具備することを特徴とする。
【0008】
この情報処理システムにおいては、システムBIOSを実行するための実行モードとして第1および第2の2つのモードが用意されている。第1のモードではBIOSドライバ群は主メモリ上で実行され、システム管理プログラムは前記不揮発性メモリから読み込みながら実行され、また第2のモードではシステム管理プログラムがメモリ上にコピーされ、システム管理プログラムはメモリ上のコピー領域から読み込みながら実行される。第1のモードから第2のモードへの切り替えは、オペレーティングシステムの動作中に不揮発性メモリの書き換えを行う場合に実行される。このようにシステムBIOSの実行モードをオペレーティングシステムの動作中に切り替える仕組みを用意することにより、システム動作環境に応じてシステムBIOSの実行モードを動的に切り替えることができるので、システム性能とシステムの信頼性・安定性とをバランス良く確保することが可能となる。
【0009】
また特にCPUとしては、当該CPUがアクセス可能なメモリアドレス空間の内、キャッシュイネーブルに設定されたメモリアドレス範囲内のコードまたはデータを対象にキャッシュ動作を行うキャッシュメモリを有するものを使用し、前記第1のモードにおいて前記不揮発性メモリの内容が前記キャッシュメモリにキャッシュされるように、前記第1の実行モードを使用する場合に、前記CPUのメモリアドレス空間の内で前記不揮発性メモリが割り当てられるメモリアドレス範囲をキャッシュイネーブルに設定することが好ましい。このように不揮発性メモリの内容をキャッシュ対象とすることにより、第1のモードにおいても十分なシステム性能を確保することが可能となる。
【0010】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を説明する。
図1には、本発明の一実施形態に係わる情報処理システムの構成が示されている。この情報処理システムは例えばバッテリ駆動可能なノートブックタイプのパーソナルコンピュータであり、このコンピュータ本体には、図示のように、プロセッサバス1、PCIバス2、ISAバス3、CPU11、ホストブリッジ12、主メモリ13、表示コントローラ14、PCI−ISAブリッジ15、I/Oコントローラ16、ハードディスクドライブ(HDD)17、フラッシュBIOS−ROM18などが設けられている。
【0011】
CPU11は本PC全体の動作を制御するためのものであり、主メモリ13にロードされるオペレーティングシステム(OS)、各種アプリケーションプログラム、及びBIOS更新ユーティリティなどを実行する。主メモリ13はDRAMから構成されている。BIOS更新ユーティリティはフラッシュBIOS−ROM18を書き換えるためのソフトウェアである。このBIOS更新ユーティリティはOSの動作環境下で動作するように構成された一種のアプリケーションプログラムであり、BIOS更新は、OSの動作環境下で実行することができる。
【0012】
CPU11としては、システム管理割り込みSMI(SMI;System Management Interrupt)をサポートするものが利用される。即ち、CPU11はオペレーティングシステムやアプリケーション等を実行するための通常動作モードに加え、システム管理モード(SMM;System Management Mode)と称されるシステム管理機能を実現するための動作モードを有している。
【0013】
システム管理割込み(SMI;System Management Interrupt)がCPU11に発行された時、CPU11の動作モードは、通常動作モード(リアルモード、プロテクトモード、または仮想86モード)から、SMMにスイッチされる。SMMでは、システム管理プログラムが実行される。システム管理プログラム、システムBIOSの一つ(SM−BIOS)としてフラッシュBIOS−ROM18に予め記憶されているものである。
【0014】
本実施形態においては、フラッシュBIOS−ROM18のプログラム実行モードとして、フラッシュBIOS−ROM18に予め格納されているシステムBIOSをフラッシュBIOS−ROM18から、必要に応じて読み込みながら実行する“ROM動作”モードと、システムBIOSを主メモリ13上の特定領域にコピーし、その主メモリ13上の特定領域から読み込みながら実行する“RAM動作”モードとが用意されている。“ROM動作”と“RAM動作”はOS動作中にその時のシステム動作環境に応じて動的に切り替えることが出来る。
【0015】
ホストブリッジ12は、CPUバス1とPCIバス2を双方向で接続するブリッジ装置であり、ここには主メモリ13をアクセス制御するためのメモリコントロール機能も内蔵されている。表示コントローラ14は本PCのディスプレイモニタとして使用されるLCDや外部CRTを制御する。
【0016】
PCI−ISAブリッジ15は、PCIバス2とISAバス3とをつなぐブリッジであり、PCIバス2のバスマスタとして動作することができる。このPCI−ISAブリッジ15には、フラッシュBIOS−ROM18の書き換えに必要な動作を実行するための回路の他、および前述のSMIを発生するためのSMI発生回路151も含まれている。SMI発生回路151は、PCI−ISAブリッジ15内の特定のレジスタがソフトウェアによってアクセスされたときなどSMI信号を発生する。BIOS更新ユーティリティによってBIOS更新を開始する際には、その旨がSMI信号によってBIOS更新ユーティリティからシステムBIOSに通知される。
【0017】
I/Oコントローラ16は、2次記憶として用いられるHDD17などのIDEデバイスを制御するためのバスマスタIDEコントローラを内蔵している。バスマスタIDEコントローラは、HDD17と主メモリ13との間のデータ転送のためにバスマスタとして動作することができる。また、I/Oコントローラ16は、DVDドライブやCD−ROMドライブを制御することもできる。
【0018】
フラッシュBIOS−ROM18は、前述したようにシステムBIOSを記憶するためのものであり、ソフトウェアによるBIOS更新を可能とするために電気的に書き換え可能な不揮発性メモリであるフラッシュメモリ(フラッシュEEPROM)によって実現されている。システムBIOSは、PCのパワーオン時や再起動時に実行されるPOST(PowerON Self Test)ルーチン、各種I/Oデバイスを制御するためのBIOSドライバ群、システム環境を設定するためのBIOSセットアップルーチンなどを体系化したものであり、コンピュータ内のハードウェアを直接制御するために用いられる。
【0019】
また、このフラッシュBIOS−ROM18には、SM−BIOSおよびSMIハンドラも含まれている。SMIハンドラはSMI発生時にCPU11によって実行される割り込みハンドラであり、SMI発生要因に対応したSM−BIOSを起動するため等に用いられる。
【0020】
次に、図2を参照して、本実施形態における“ROM動作”と“RAM動作”について説明する。
使用するCPUやチップセットの仕様・制限により、システムBIOS(特にSM−BIOS)を実行させる方法にはいくつかの選択肢がある。以下はその一部である。
【0021】
I: フラッシュBIOS−ROM18上でキャッシュオンで動作する。
II: 主メモリ13上でSMIに連動して開閉する領域をキャッシュオフで使用する。
III: 主メモリ13上で常時開いている領域をキャッシュオンで使用する。
【0022】
性能が高いのは、III、I、IIの順となる(IIIとIはユーザの体感速度としては違和感が無いが、IIは問題となり得る)。信頼性が高いのは、IまたはII(両者は同等)、IIIの順となる(IIIは一般のOSやソフトウェアから隠されていないので、不用心または悪意のあるものに容易に破壊されうる)。特定機能(OS動作中のBIOS−ROM18の書き換えなど、ROMでの動作があると機能を実現できないもの)を実現できるのは、IIとIII。実現できないのはIである。
【0023】
よって、本実施形態では通常動作中(ユーザがOS上で任意のソフトウェアを実行できる状態)は性能と信頼性共に優れたIを使う。特定機能が動作するトリガを受けた時点で、BIOS−ROM18上のプログラムをIIIの領域にコピーし、その特定機能が終了するまではIII上で動作する。以下では、Iを“ROM動作”モード、IIIを“RAM動作”モードと称することにする。
【0024】
“ROM動作”モードにおいては、図2に示されているように、BIOS−ROM18はCPU11のメモリアドレス空間内の一部のメモリアドレス範囲に割り当てられ、システムBIOSはBIOS−ROM18から読み込まれながら実行される。この場合、BIOS−ROM18が割り当てられたメモリアドレス範囲はキャッシュイネーブルに設定される。すなわち、CPU11は、当該CPU11がアクセス可能なメモリアドレス空間の内、キャッシュイネーブルに設定されたメモリアドレス範囲内のコードまたはデータを対象にキャッシュ動作を行うキャッシュメモリを有しており、“ROM動作”モードでは、BIOS−ROM18が割り当てられたメモリアドレス範囲はキャッシュイネーブルに設定される。
【0025】
このように、本実施形態では、“ROM動作”モードをキャッシュONで実行する構成であり、これにより“ROM動作”モードにおいては一定のシステム性能を得ることが出来る。CPU11のどのメモリアドレス範囲をキャッシュイネーブルに設定するかは、CPU11内のレジスタを用いて制御することが出来る。
【0026】
“RAM動作”モードにおいては、BIOS−ROM18の内容は主メモリ13上の特定領域にコピーされ、システムBIOSはその特定領域から読み込まれながら実行される。特定領域に対応するメモリアドレス範囲はキャッシュイネーブルに設定される。
【0027】
次に、図3を参照して、“ROM動作”と“RAM動作”の切り替えについて説明する。
【0028】
前述したように、通常動作中においてはシステムBIOSは“ROM動作”モードで実行される。そして、“ROM動作”から“RAM動作”への切換を示すイベントが発生すると、それに応答して、BIOS−ROM18の内容が主メモリ13上の特定領域にコピーされ、“ROM動作”から“RAM動作”に切り替えられる。“ROM動作”から“RAM動作”への切換イベントの発生は、SMIによってシステムBIOSに通知される。
【0029】
なお、通常動作中においても、BIOS−ROM18内の全てのシステムBIOSをROMから実行する必要はなく、一部のシステムBIOSについては主メモリ13上で実行することが出来る。以下では、通常動作中においてSM−BIOSのみを“ROM動作”モードで実行し、“ROM動作”から“RAM動作”への切換を示すイベントが発生した時に、SM−BIOSを主メモリ13上にコピーして、SM−BIOSの実行モードを“ROM動作”モードから“RAM動作”モードに切り替える場合を想定することとする。
【0030】
次に、図4のフローチャートを参照して、システムBIOSによって実行される処理の流れについて説明する。
【0031】
本コンピュータの電源投入時には、まず、システムBIOSによってPOST処理が実行され、各種ハードウェアの初期化およびテストが行われる(ステップS101)。このPOST処理においては、さらに、システムBIOSは、SMIハンドラおよびBIOSドライバ群をそれぞれ主メモリ13上にコピーする(SM−BIOSはコピーせず、“ROM動作”モードで実行する)。この場合、システムBIOSは、BIOS−ROM18の少なくともSM−BIOSに対応するメモリアドレス範囲をキャッシュイネーブルに設定する。またシステムBIOSは、SMIハンドラおよびBIOSドライバ群それぞれに対応する主メモリ13上のメモリアドレス範囲もキャッシュイネーブルに設定する。
【0032】
この後、OSを起動するためのOSブート処理が実行される(ステップS102)。OS起動後の通常動作中においては、SM−BIOSは“ROM動作”モードで実行される。すなわち、SMIが発生されると、CPU11によって割り込み処理が実行され、その割り込み処理の中でSM−BIOSが“ROM動作”モードで実行される。この場合、割り込み処理では最初にSMIハンドラが実行され、そのSMIハンドラによって割り込み要因が調べられる。そしてその割り込み要因によって要求されたシステム管理サービスに対応するBIOS−ROM18内のSM−BIOSがSMIハンドラによってコールされ、SM−BIOSがBIOS−ROM18から読み込まれて実行される。
【0033】
一方、割り込み要因がROM/RAM切換イベントであった場合には(ステップS103のYES)、SMIハンドラは、SM−BIOSをBIOS−ROM18から主メモリ13上の特定領域にコピーし、その特定領域をキャッシュイネーブルに設定する。以降は、SMIハンドラは、システム管理サービスが要求されると、それに対応する主メモリ13上のSM−BIOSをコールする。
【0034】
すなわち、図5のフローチャートに示すように、SM−BIOSはシステム管理サービスが要求される度にSM−BIOSが“ROM動作”モードであるか、主メモリ13にコピーした後の“RAM動作”であるかを判別し(ステップS111)、“ROM動作”モードにおいてはBIOS−ROM18から、また“RAM動作”においては主メモリ13上から該当するSM−BIOSが読み込まれるように、“ROM動作”モードであるか、“RAM動作”モードであるかに応じて、SM−BIOSを読み込むためのメモリアドレスを切り替える(ステップS112,S113)。
【0035】
次に、図6を参照して、BIOS更新を行う場合の一連の処理の流れを説明する。
【0036】
前述したように、通常動作中においてはシステムBIOS(SM−BIOS)は“ROM動作”モードで実行される。そして、ユーザがOS動作中にBIOS更新ユーティリティを起動すると、BIOS更新ユーティリティはPCI−ISAブリッジ15内のレジスタを通じて、システムBIOSに対してBIOS更新の開始を通知する。この場合、BIOS更新ユーティリティによるレジスタアクセスに応答して、CPU11にはSMIが入力される。これにより、SMIハンドラが実行される。
【0037】
SMIハンドラはSMI発生要因がBIOS更新開始通知のイベントであることを検知すると、SM−BIOSをBIOS−ROM18から主メモリ13にコピーしてSM−BIOSの実行モードを“RAM動作”モードに切り替えた後、BIOS更新ユーティリティからのBIOS更新開始通知で指示された場所から新BIOSイメージを読み込み、それをBIOS−ROM18に書き込むというBIOS更新処理を開始する。BIOS更新処理が終了すると、システムBIOSからBIOS更新ユーティリティに対して終了通知が送られる。
【0038】
BIOS更新ユーティリティはOSに対してシャットダウン要求またはシャッタダウンおよびリブート要求を発行し、OSにシャットダウン処理またはシャッタダウンおよびリブート処理を実行させる。SM−BIOSの実行モードが“RAM動作”モードに切り替えられてからOSがシャットダウンする間での間に、例えば拡張ユニットとコンピュータ本体とのドッキングなどのイベントが発生した場合などのように、SMIによってシステム管理サービスが要求された場合には、SM−BIOSは主メモリ13から読み込まれて実行されることになる。
【0039】
次に、図7のフローチャートを参照して、BIOS更新時にシステムBIOSによって実行される処理の流れについて説明する。
【0040】
上述したように、本コンピュータの電源投入時には、まず、システムBIOSによってPOST処理が実行され、各種ハードウェアの初期化およびテストが行われる(ステップS201)。このPOST処理においては、さらに、システムBIOSは、SMIハンドラおよびBIOSドライバ群をそれぞれ主メモリ13上にコピーする(SM−BIOSはコピーせず、“ROM動作”モードで実行する)。この場合、システムBIOSは、BIOS−ROM18の少なくともSM−BIOSに対応するメモリアドレス範囲をキャッシュイネーブルに設定する。
またシステムBIOSは、SMIハンドラおよびBIOSドライバ群それぞれに対応する主メモリ13上のメモリアドレス範囲もキャッシュイネーブルに設定する。
【0041】
この後、OSを起動するためのOSブート処理が実行される(ステップS202)。OS起動後の通常動作中においては、SM−BIOSは“ROM動作”モードで実行される。通常動作中に、BIOS更新開始イベントによるSMIが発生すると(ステップS203のYES)、SMIハンドラは、SM−BIOSをBIOS−ROM18から主メモリ13上の特定領域にコピーし、その特定領域をキャッシュイネーブルに設定する(ステップS204)。以降は、SMIハンドラは、システム管理サービスが要求されると、それに対応する主メモリ13上のSM−BIOSをコールする。
【0042】
次いで、SMIハンドラは、BIOS更新ユーティリティからのBIOS更新開始通知で指示された場所から新BIOSイメージを読み込み、それをBIOS−ROM18に書き込むというBIOS更新処理を開始する(ステップS205)。BIOS更新処理が終了すると、SMIハンドラは、BIOS更新ユーティリティに対して終了通知を送る(ステップS206)。
【0043】
以上のように、本実施形態においては、通常動作中においては性能と信頼性共に優れたキャッシュONの“ROM動作”モードを使用し、特定機能が動作するトリガを受けた時点で、システムBIOSをBIOS−ROM18から主メモリ13上にコピーして“RAM動作”モードに切り替えるという処理が実行される。これにより、システム性能とシステムの信頼性・安定性とをバランス良く確保することが可能となる。
【0044】
また、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【0045】
【発明の効果】
以上説明したように、本発明によれば、システムプログラムの実行モードをシステム動作環境に応じて動的に切り替えることにより、システム性能とシステムの信頼性・安定性とをバランス良く確保することが可能となる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るコンピュータシステムの構成を示すブロック図。
【図2】同実施形態のシステムにおける“ROM動作”と“RAM動作”を説明するための図。
【図3】同実施形態のシステムにおける“ROM動作”と“RAM動作”の切り替えを説明するための図。
【図4】同実施形態のシステムで用いられるシステムBIOSによって実行される処理の流れを示すフローチャート。
【図5】同実施形態のシステムで使用されるSM−BIOSの処理手順を示すフローチャート。
【図6】同実施形態のシステムにおいてBIOS更新を行う場合の一連の処理の流れを説明するための図。
【図7】同実施形態のシステムにおいてBIOS更新時にシステムBIOSによって実行される処理の流れを示すフローチャート。
【符号の説明】
11…CPU
12…ホストブリッジ
13…主メモリ
15…PCI−ISAブリッジ
16…I/Oコントローラ
18…フラッシュBIOS−ROM
151…SMI発生回路
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an information processing system such as a personal computer and a program execution mode control method.
[0002]
[Prior art]
In recent years, so-called “high-speed ROM” functions are used in information processing systems such as personal computers in order to improve system performance. The “high-speed ROM” function is a function for reading the contents of a low-speed ROM device from a RAM device that can be accessed at high speed.
[0003]
Specifically, when the system is powered on, the system BIOS (Basic Input Output System) is copied from the ROM in which it is stored onto the RAM constituting the main memory, and then the system BIOS on the RAM is executed. That's it. This function is based on the assumption that reading from RAM is faster than reading from ROM, and that there is no difference in system reliability and stability using either ROM or RAM. It is.
[0004]
[Problems to be solved by the invention]
However, there are cases where the system area on the RAM where the system BIOS is copied cannot be completely protected due to the function restriction of the chip set to be used. In this case, there is no problem when all other software is terminated and only the dedicated system utility program is executed, for example, when the system environment is changed. During operation, there is a possibility that malicious software or software with improper behavior may operate, and there is a risk that the system area on the RAM is destroyed by the software.
[0005]
On the other hand, the method of always reading the system BIOS from the ROM causes a problem that the system performance is deteriorated and the ROM rewriting operation for updating the BIOS cannot be executed during the operation of the operating system.
[0006]
The present invention has been made in view of the above circumstances, and provides an information processing system and a program execution mode control method capable of ensuring a good balance between system performance and system reliability and stability. Objective.
[0007]
[Means for Solving the Problems]
In order to solve the above-described problems, an information processing system according to the present invention includes a CPU, a non-volatile memory in which a system BIOS including a BIOS driver group and a system management program is stored, and an operating system temporarily stored during operation of the operating system. a main memory that is, at power up means for copying from the nonvolatile memory the BIOS drivers in the main memory, to perform a rewrite operation of the non-volatile memory during operation of the operating system, the BIOS the system management program from the first mode to be executed is read from the nonvolatile memory when the system management interrupt signal is inputted to the CPU and executes the drivers on the main memory, the system management to the main memory Copy the program And a switching means for switching to a second mode for reading and executing the system management program from the main memory when a system management interrupt signal is input to the CPU .
[0008]
In this information processing system, first and second modes are prepared as execution modes for executing the system BIOS . In the first mode BIOS drivers runs in the main memory, the system management program the runs while reading from the nonvolatile memory, also in the second mode is copied system management program on the main memory, the system management program Is executed while reading from the copy area on the main memory. Switching from the first mode to the second mode is performed when the nonvolatile memory is rewritten during the operation of the operating system. By preparing a mechanism for switching the execution mode of the system BIOS during the operation of the operating system in this way, the execution mode of the system BIOS can be dynamically switched according to the system operating environment. It is possible to ensure a good balance between stability and stability.
[0009]
Further, in particular, as the CPU, a memory having a cache memory that performs a cache operation on a code or data within a memory address range set to cache enable in a memory address space accessible by the CPU is used. A memory to which the non-volatile memory is allocated within the memory address space of the CPU when the first execution mode is used so that the contents of the non-volatile memory are cached in the cache memory in the first mode It is preferable to set the address range to cache enable. Thus, by setting the contents of the nonvolatile memory as a cache target, it is possible to ensure sufficient system performance even in the first mode.
[0010]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 shows the configuration of an information processing system according to an embodiment of the present invention. This information processing system is, for example, a notebook-type personal computer that can be driven by a battery. The computer main body includes a processor bus 1, a PCI bus 2, an ISA bus 3, a CPU 11, a host bridge 12, and a main memory as shown in the figure. 13, a display controller 14, a PCI-ISA bridge 15, an I / O controller 16, a hard disk drive (HDD) 17, a flash BIOS-ROM 18, and the like are provided.
[0011]
The CPU 11 is for controlling the operation of the entire PC, and executes an operating system (OS), various application programs, a BIOS update utility, and the like loaded into the main memory 13. The main memory 13 is composed of DRAM. The BIOS update utility is software for rewriting the flash BIOS-ROM 18. This BIOS update utility is a kind of application program configured to operate under the operating environment of the OS, and the BIOS update can be executed under the operating environment of the OS.
[0012]
As the CPU 11, one that supports a system management interrupt SMI (SMI) is used. That is, the CPU 11 has an operation mode for realizing a system management function called a system management mode (SMM) in addition to a normal operation mode for executing an operating system, applications, and the like.
[0013]
When a system management interrupt (SMI) is issued to the CPU 11, the operation mode of the CPU 11 is switched from the normal operation mode (real mode, protect mode, or virtual 86 mode) to SMM. In SMM, a system management program is executed. The system management program is stored in advance in the flash BIOS-ROM 18 as one of the system BIOS (SM-BIOS).
[0014]
In the present embodiment, as a program execution mode of the flash BIOS-ROM 18, a “ROM operation” mode in which a system BIOS stored in advance in the flash BIOS-ROM 18 is executed while being read from the flash BIOS-ROM 18 as necessary, A “RAM operation” mode is prepared in which the system BIOS is copied to a specific area on the main memory 13 and executed while reading from the specific area on the main memory 13. “ROM operation” and “RAM operation” can be dynamically switched during the OS operation according to the system operating environment at that time.
[0015]
The host bridge 12 is a bridge device that bi-directionally connects the CPU bus 1 and the PCI bus 2, and has a built-in memory control function for controlling access to the main memory 13. The display controller 14 controls an LCD and an external CRT used as a display monitor of this PC.
[0016]
The PCI-ISA bridge 15 is a bridge that connects the PCI bus 2 and the ISA bus 3, and can operate as a bus master of the PCI bus 2. The PCI-ISA bridge 15 includes an SMI generation circuit 151 for generating the above-mentioned SMI in addition to a circuit for executing an operation necessary for rewriting the flash BIOS-ROM 18. The SMI generation circuit 151 generates an SMI signal when a specific register in the PCI-ISA bridge 15 is accessed by software. When BIOS update is started by the BIOS update utility, the BIOS update utility notifies the system BIOS of that fact by an SMI signal.
[0017]
The I / O controller 16 incorporates a bus master IDE controller for controlling IDE devices such as the HDD 17 used as secondary storage. The bus master IDE controller can operate as a bus master for data transfer between the HDD 17 and the main memory 13. The I / O controller 16 can also control a DVD drive or a CD-ROM drive.
[0018]
The flash BIOS-ROM 18 is for storing the system BIOS as described above, and is realized by a flash memory (flash EEPROM) that is an electrically rewritable non-volatile memory so that the BIOS can be updated by software. Has been. The system BIOS includes a POST (PowerON Self Test) routine executed when the PC is powered on or restarted, a BIOS driver group for controlling various I / O devices, a BIOS setup routine for setting the system environment, and the like. It is structured and used to directly control the hardware in the computer.
[0019]
The flash BIOS-ROM 18 also includes an SM-BIOS and an SMI handler. The SMI handler is an interrupt handler that is executed by the CPU 11 when an SMI occurs, and is used to activate the SM-BIOS corresponding to the SMI occurrence factor.
[0020]
Next, the “ROM operation” and “RAM operation” in the present embodiment will be described with reference to FIG.
There are several options for the method of executing the system BIOS (especially SM-BIOS) depending on the specifications and restrictions of the CPU and chipset to be used. The following are some of them.
[0021]
I: Operates with the cache on on the flash BIOS-ROM 18.
II: The area that opens and closes in synchronization with the SMI on the main memory 13 is used with the cache off.
III: The area that is always open on the main memory 13 is used with the cache on.
[0022]
The performance is higher in the order of III, I, and II (III and I have no sense of incongruity as the user's experience speed, but II can be a problem). Reliability is high in the order of I or II (both are equivalent) and III (III is not hidden from general OS and software, and can be easily destroyed by carelessness or malicious). II and III can realize specific functions (functions that cannot be realized if there is an operation in ROM, such as rewriting BIOS-ROM 18 during OS operation). It is I that cannot be realized.
[0023]
Therefore, in this embodiment, I is used for both performance and reliability during normal operation (when the user can execute arbitrary software on the OS). When the trigger for operating the specific function is received, the program on the BIOS-ROM 18 is copied to the area III, and the program operates on the III until the specific function is completed. Hereinafter, I is referred to as “ROM operation” mode and III is referred to as “RAM operation” mode.
[0024]
In the “ROM operation” mode, as shown in FIG. 2, the BIOS-ROM 18 is assigned to a part of the memory address range in the memory address space of the CPU 11, and the system BIOS is executed while being read from the BIOS-ROM 18. Is done. In this case, the memory address range to which the BIOS-ROM 18 is assigned is set to cache enable. That is, the CPU 11 has a cache memory that performs a cache operation on a code or data within a memory address range set to cache enable in a memory address space accessible by the CPU 11. In the mode, the memory address range to which the BIOS-ROM 18 is allocated is set to cache enable.
[0025]
As described above, the present embodiment is configured to execute the “ROM operation” mode with the cache ON, and in this way, a certain system performance can be obtained in the “ROM operation” mode. Which memory address range of the CPU 11 is set to cache enable can be controlled using a register in the CPU 11.
[0026]
In the “RAM operation” mode, the contents of the BIOS-ROM 18 are copied to a specific area on the main memory 13, and the system BIOS is executed while being read from the specific area. The memory address range corresponding to the specific area is set to cache enable.
[0027]
Next, switching between “ROM operation” and “RAM operation” will be described with reference to FIG.
[0028]
As described above, the system BIOS is executed in the “ROM operation” mode during the normal operation. When an event indicating switching from “ROM operation” to “RAM operation” occurs, the content of the BIOS-ROM 18 is copied to a specific area on the main memory 13 in response to the event, and from “ROM operation” to “RAM operation”. Is switched to “operation”. The occurrence of a switching event from “ROM operation” to “RAM operation” is notified to the system BIOS by the SMI.
[0029]
Even during normal operation, it is not necessary to execute all the system BIOS in the BIOS-ROM 18 from the ROM, and some system BIOS can be executed on the main memory 13. In the following, during normal operation, only SM-BIOS is executed in the “ROM operation” mode, and when an event indicating switching from “ROM operation” to “RAM operation” occurs, SM-BIOS is stored in the main memory 13. It is assumed that the SM-BIOS execution mode is switched from the “ROM operation” mode to the “RAM operation” mode.
[0030]
Next, the flow of processing executed by the system BIOS will be described with reference to the flowchart of FIG.
[0031]
When the computer is turned on, first, a POST process is executed by the system BIOS, and various hardware are initialized and tested (step S101). In the POST process, the system BIOS further copies the SMI handler and the BIOS driver group to the main memory 13 (SM-BIOS is not copied and is executed in the “ROM operation” mode). In this case, the system BIOS sets the memory address range corresponding to at least the SM-BIOS in the BIOS-ROM 18 to cache enable. The system BIOS also sets the memory address range on the main memory 13 corresponding to the SMI handler and the BIOS driver group to cache enable.
[0032]
Thereafter, an OS boot process for starting the OS is executed (step S102). During normal operation after OS startup, the SM-BIOS is executed in the “ROM operation” mode. That is, when the SMI is generated, the CPU 11 executes an interrupt process, and the SM-BIOS is executed in the “ROM operation” mode in the interrupt process. In this case, in the interrupt process, the SMI handler is first executed, and the cause of the interrupt is examined by the SMI handler. Then, the SM-BIOS in the BIOS-ROM 18 corresponding to the system management service requested by the interrupt factor is called by the SMI handler, and the SM-BIOS is read from the BIOS-ROM 18 and executed.
[0033]
On the other hand, when the interrupt factor is a ROM / RAM switching event (YES in step S103), the SMI handler copies the SM-BIOS from the BIOS-ROM 18 to a specific area on the main memory 13, and stores the specific area. Set cache enable. Thereafter, when the system management service is requested, the SMI handler calls the SM-BIOS on the main memory 13 corresponding thereto.
[0034]
That is, as shown in the flowchart of FIG. 5, the SM-BIOS is in the “ROM operation” mode every time a system management service is requested, or in “RAM operation” after copying to the main memory 13. In the “ROM operation” mode, the “ROM operation” mode is set so that the corresponding SM-BIOS is read from the BIOS-ROM 18 and in the “RAM operation” from the main memory 13. Or the “RAM operation” mode, the memory address for reading the SM-BIOS is switched (steps S112 and S113).
[0035]
Next, with reference to FIG. 6, a flow of a series of processes when performing BIOS update will be described.
[0036]
As described above, during normal operation, the system BIOS (SM-BIOS) is executed in the “ROM operation” mode. When the user activates the BIOS update utility during the OS operation, the BIOS update utility notifies the system BIOS of the start of BIOS update through a register in the PCI-ISA bridge 15. In this case, SMI is input to the CPU 11 in response to register access by the BIOS update utility. Thereby, the SMI handler is executed.
[0037]
When the SMI handler detects that the SMI occurrence factor is a BIOS update start notification event, the SM-BIOS is copied from the BIOS-ROM 18 to the main memory 13 and the execution mode of the SM-BIOS is switched to the “RAM operation” mode. Thereafter, a BIOS update process is started in which a new BIOS image is read from the location designated by the BIOS update start notification from the BIOS update utility and written into the BIOS-ROM 18. When the BIOS update process ends, an end notification is sent from the system BIOS to the BIOS update utility.
[0038]
The BIOS update utility issues a shutdown request or shutter down and reboot request to the OS, and causes the OS to execute shutdown processing or shutter down and reboot processing. By the SMI, for example, when an event such as docking between the expansion unit and the computer main body occurs between the time when the execution mode of the SM-BIOS is switched to the “RAM operation” mode and the OS is shut down. When the system management service is requested, the SM-BIOS is read from the main memory 13 and executed.
[0039]
Next, the flow of processing executed by the system BIOS when updating the BIOS will be described with reference to the flowchart of FIG.
[0040]
As described above, when the computer is turned on, first, the POST process is executed by the system BIOS, and various types of hardware are initialized and tested (step S201). In the POST process, the system BIOS further copies the SMI handler and the BIOS driver group to the main memory 13 (SM-BIOS is not copied and is executed in the “ROM operation” mode). In this case, the system BIOS sets the memory address range corresponding to at least the SM-BIOS in the BIOS-ROM 18 to cache enable.
The system BIOS also sets the memory address range on the main memory 13 corresponding to the SMI handler and the BIOS driver group to cache enable.
[0041]
Thereafter, an OS boot process for starting the OS is executed (step S202). During normal operation after OS startup, the SM-BIOS is executed in the “ROM operation” mode. If an SMI due to a BIOS update start event occurs during normal operation (YES in step S203), the SMI handler copies the SM-BIOS from the BIOS-ROM 18 to a specific area on the main memory 13, and cache-enables the specific area. (Step S204). Thereafter, when the system management service is requested, the SMI handler calls the SM-BIOS on the main memory 13 corresponding thereto.
[0042]
Next, the SMI handler starts a BIOS update process of reading a new BIOS image from a location instructed by the BIOS update start notification from the BIOS update utility and writing it into the BIOS-ROM 18 (step S205). When the BIOS update process ends, the SMI handler sends an end notification to the BIOS update utility (step S206).
[0043]
As described above, in the present embodiment, during normal operation, the cache-on “ROM operation” mode, which is excellent in performance and reliability, is used, and when a trigger for operating a specific function is received, the system BIOS is A process of copying from the BIOS-ROM 18 onto the main memory 13 and switching to the “RAM operation” mode is executed. As a result, it is possible to ensure a good balance between system performance and system reliability and stability.
[0044]
Further, the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the invention in the implementation stage. Further, the above embodiments include inventions at various stages, and various inventions can be extracted by appropriately combining a plurality of disclosed constituent elements. For example, even if some constituent requirements are deleted from all the constituent requirements shown in the embodiment, the problem described in the column of the problem to be solved by the invention can be solved, and the effect described in the column of the effect of the invention Can be obtained as an invention.
[0045]
【The invention's effect】
As described above, according to the present invention, it is possible to ensure a good balance between system performance and system reliability and stability by dynamically switching the execution mode of the system program according to the system operating environment. It becomes.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a computer system according to an embodiment of the present invention.
FIG. 2 is a view for explaining “ROM operation” and “RAM operation” in the system according to the embodiment;
FIG. 3 is a view for explaining switching between “ROM operation” and “RAM operation” in the system of the embodiment;
FIG. 4 is an exemplary flowchart showing a flow of processing executed by a system BIOS used in the system according to the embodiment;
FIG. 5 is an exemplary flowchart illustrating a processing procedure of SM-BIOS used in the system according to the embodiment;
FIG. 6 is an exemplary view for explaining a flow of a series of processes when BIOS update is performed in the system according to the embodiment;
FIG. 7 is an exemplary flowchart showing the flow of processing executed by the system BIOS when updating the BIOS in the system according to the embodiment;
[Explanation of symbols]
11 ... CPU
12 ... Host bridge 13 ... Main memory 15 ... PCI-ISA bridge 16 ... I / O controller 18 ... Flash BIOS-ROM
151. SMI generation circuit

Claims (5)

CPUと、
BIOSドライバ群とシステム管理プログラムとを含むシステムBIOSが記憶された不揮発性メモリと、
オペレーティングシステムの動作時にオペレーティングシステムが一時記憶されるメモリと、
電源投入時に、前記不揮発性メモリから前記BIOSドライバ群を前記主メモリにコピーする手段と、
前記オペレーティングシステムの動作中に前記不揮発性メモリの書き換え動作を実行する場合、前記BIOSドライバ群を前記主メモリ上で実行するとともに前記CPUにシステム管理割り込み信号が入力された場合にシステム管理プログラムを前記不揮発性メモリから読み込んで実行する第1のモードから、前記主メモリへ前記システム管理プログラムをコピーし、前記CPUにシステム管理割り込み信号が入力された場合に前記システム管理プログラムを前記主メモリから読み込んで実行する第2のモードへの切り替えを実行する切り替え手段とを具備することを特徴とする情報処理システム。
CPU,
A nonvolatile memory storing a system BIOS including a BIOS driver group and a system management program ;
Main memory in which the operating system is temporarily stored during operation of the operating system;
Means for copying the BIOS driver group from the non-volatile memory to the main memory at power-on;
When executing the rewriting operation of the nonvolatile memory during the operation of the operating system , the system management program is executed when the BIOS driver group is executed on the main memory and a system management interrupt signal is input to the CPU. The system management program is copied to the main memory from the first mode that is read from the nonvolatile memory and executed, and the system management program is read from the main memory when a system management interrupt signal is input to the CPU. the information processing system characterized by comprising a switching means for performing switching to a second mode for executing.
前記CPUは、当該CPUがアクセス可能なメモリアドレス空間の内、キャッシュイネーブルに設定されたメモリアドレス範囲内のコードまたはデータを対象にキャッシュ動作を行うキャッシュメモリを有しており、
前記第1のモードにおいて前記CPUのメモリアドレス空間の内で前記不揮発性メモリの前記システム管理プログラムに対応するメモリアドレス範囲をキャッシュイネーブルに設定する手段をさらに具備することを特徴とする請求項1記載の情報処理システム。
The CPU includes a cache memory that performs a cache operation on a code or data within a memory address range set to cache enable in a memory address space accessible by the CPU,
2. The apparatus according to claim 1, further comprising means for setting a memory address range corresponding to the system management program in the nonvolatile memory in a cache enable in the memory address space of the CPU in the first mode. Information processing system.
前記第1のモードにおいて前記BIOSドライバ群がコピーされた前記主メモリ上の領域に対応するメモリアドレス範囲をキャッシュイネーブルに設定する手段をさらに具備することを特徴とする請求項2記載の情報処理システム。3. The information processing system according to claim 2, further comprising means for setting a memory address range corresponding to an area on the main memory to which the BIOS driver group is copied in the first mode to cache enable. . 前記切り替え手段は、
前記システム管理割り込み信号が前記CPUに入力されたときに前記CPUによって起動され、前記システム管理プログラムの現在の実行モードが前記第1および第2のどちらのモードであるかを判別し、その判別結果に基づいて前記システム管理プログラムを読み込むためのメモリアドレスを切り替える手段を含むことを特徴とする請求項1記載の情報処理システム。
The switching means is
When the system management interrupt signal is input to the CPU, it is activated by the CPU to determine whether the current execution mode of the system management program is the first mode or the second mode, and the determination result 2. The information processing system according to claim 1, further comprising means for switching a memory address for reading the system management program based on the information.
BIOSドライバ群とシステム管理プログラムとを含むシステムBIOSが記憶された不揮発性メモリと、キャッシュイネーブルに設定されたメモリアドレス範囲内のコードまたはデータを対象にキャッシュメモリを用いたキャッシュ動作を行うことが可能なCPUと、主メモリとを有する情報処理システムに適用されるプログラム実行モード制御方法であって、A non-volatile memory in which a system BIOS including a BIOS driver group and a system management program is stored, and a cache operation using a cache memory can be performed on a code or data within a memory address range set to cache enable. A program execution mode control method applied to an information processing system having a CPU and a main memory,
電源投入時に、前記不揮発性メモリから前記BIOSドライバ群を前記主メモリにコピーし、When the power is turned on, the BIOS driver group is copied from the nonvolatile memory to the main memory,
前記オペレーティングシステムの動作中に前記不揮発性メモリの書き換え動作を実行する場合、前記BIOSドライバ群を前記主メモリ上で実行するとともに前記CPUにシステム管理割り込み信号が入力された場合にシステム管理プログラムを前記不揮発性メモリから読み込んで実行する第1のモードから、前記主メモリへ前記システム管理プログラムをコピーし、前記CPUにシステム管理割り込み信号が入力された場合に前記システム管理プログラムを前記主メモリから読み込んで実行する第2のモードへの切り替えを実行することを特徴とするプログラム実行モード制御方法。When executing the rewriting operation of the non-volatile memory during the operation of the operating system, the system management program is executed when the BIOS driver group is executed on the main memory and a system management interrupt signal is input to the CPU. The system management program is copied to the main memory from the first mode that is read from the nonvolatile memory and executed, and when the system management interrupt signal is input to the CPU, the system management program is read from the main memory. A program execution mode control method characterized by executing switching to a second mode to be executed.
JP2002044951A 2002-02-21 2002-02-21 Information processing system and program execution mode control method Expired - Lifetime JP3702233B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002044951A JP3702233B2 (en) 2002-02-21 2002-02-21 Information processing system and program execution mode control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002044951A JP3702233B2 (en) 2002-02-21 2002-02-21 Information processing system and program execution mode control method

Publications (2)

Publication Number Publication Date
JP2003242026A JP2003242026A (en) 2003-08-29
JP3702233B2 true JP3702233B2 (en) 2005-10-05

Family

ID=27784121

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002044951A Expired - Lifetime JP3702233B2 (en) 2002-02-21 2002-02-21 Information processing system and program execution mode control method

Country Status (1)

Country Link
JP (1) JP3702233B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5061438B2 (en) * 2005-08-29 2012-10-31 富士通株式会社 Information processing apparatus, activation method, and activation program
JP2010079778A (en) * 2008-09-29 2010-04-08 Nec Personal Products Co Ltd Information processor, and method for displaying bios setting screen
US8428929B2 (en) * 2010-09-30 2013-04-23 Intel Corporation Demand based USB proxy for data stores in service processor complex
JP7067270B2 (en) 2018-05-25 2022-05-16 富士通株式会社 Information processing device, load program and load method

Also Published As

Publication number Publication date
JP2003242026A (en) 2003-08-29

Similar Documents

Publication Publication Date Title
TWI407300B (en) Method and controller for power management
JP5021190B2 (en) Memory dump generation with fast restart
US6073206A (en) Method for flashing ESCD and variables into a ROM
KR101602360B1 (en) System fast booting apparatus and method
JP5783809B2 (en) Information processing apparatus, activation method, and program
US20060242398A1 (en) Booting from non-volatile memory
US20040015941A1 (en) Information-processing apparatus equipped with nonvolatile memory device and firmware-updating method for use in the apparatus
US8694794B2 (en) Method for protecting a privilege level of system management mode of a computer system
JPH1091519A (en) Hard disk cache control method
KR20040034540A (en) Reliable and secure updating and recovery of firmware from a mass storage device
KR20010006749A (en) Storing system-level mass storage configuration data in non-volatile memory on each mass storage device to allow for reboot/power-on reconfiguration of all installed mass storage devices to the same configuration as last use
JP2006510995A (en) A method of changing the basic computer software to boot from a protected medium and run.
TW201239759A (en) BIOS update method and computer system for using the same
TW201525869A (en) System and method for dual OS memory switching
JP2013520744A (en) Method and apparatus for generating minimum boot image
JP2008276555A (en) Information processor and firmware update method
JP4155545B2 (en) Computer system and data transfer control method
US6543008B1 (en) Computer system and program rewriting method
JP3702233B2 (en) Information processing system and program execution mode control method
KR20080057688A (en) Method for booting operating system using of non volatile memory
CN110825421B (en) Firmware upgrading method, system and readable storage medium
KR101582919B1 (en) Electronic apparatus and booting method of the same
JP2000357093A (en) Computer system and reloading method for non-volatile memory
US20040068632A1 (en) Method and apparatus for using an ACPI NVS memory region as an alternative CMOS information area
WO2008048581A1 (en) A processing device operation initialization system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050412

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050613

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050715

R151 Written notification of patent or utility model registration

Ref document number: 3702233

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20090722

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090722

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100722

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110722

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120722

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130722

Year of fee payment: 8

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

Free format text: JAPANESE INTERMEDIATE CODE: R313121

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term