JP2002099502A - コンピュータシステムおよびデータ転送制御方法 - Google Patents

コンピュータシステムおよびデータ転送制御方法

Info

Publication number
JP2002099502A
JP2002099502A JP2000290939A JP2000290939A JP2002099502A JP 2002099502 A JP2002099502 A JP 2002099502A JP 2000290939 A JP2000290939 A JP 2000290939A JP 2000290939 A JP2000290939 A JP 2000290939A JP 2002099502 A JP2002099502 A JP 2002099502A
Authority
JP
Japan
Prior art keywords
operation mode
cpu
mode
disk
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2000290939A
Other languages
English (en)
Other versions
JP4155545B2 (ja
Inventor
Shunichi Morisawa
俊一 森沢
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 JP2000290939A priority Critical patent/JP4155545B2/ja
Publication of JP2002099502A publication Critical patent/JP2002099502A/ja
Application granted granted Critical
Publication of JP4155545B2 publication Critical patent/JP4155545B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】ハードディスクドライブとの間のデータ転送を
実行できるようにし、ブート処理/ハイバネーションか
らの復帰処理の高速化を図る。 【解決手段】BIOSのディスクドライバ(INT13
h)は、上位プログラムが動作していたCPU11の動
作モードをチェックし、仮想アドレスモードであるか、
リアルモードであるかを判別する(ステップS101,
S102)。仮想アドレスモード(V86モード)であ
る場合、BIOSはPIO転送モードによってHDDと
の間のデータ転送を実行する(ステップS103)。一
方、リアルモードであれば、BIOSは、CPUレジス
タにセットされているセグメントとオフセットとから物
理メモリアドレスを計算し、それを転送アドレスとして
バスマスタIDEコントローラ16にセットすることに
より、DMA転送モードによってHDDとの間のデータ
転送を実行する(ステップS104)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はコンピュータシステ
ムおよび同システムで使用されるデータ転送制御方法に
関し、特にディスク装置との間のデータ転送を効率よく
実行できるように改良されたコンピュータシステムおよ
びデータ転送制御方法に関する。
【0002】
【従来の技術】近年、携帯可能なノートブックタイプま
たはサブノートタイプの携帯型パーソナルコンピュータ
や、携帯情報端末などのポケットコンピュータが種々開
発されている。
【0003】この種の携帯型コンピュータは、バッテリ
駆動可能な時間を延ばすために、コンピュータシステム
の電力を節約するための種々のパワーセーブモードが設
けられている。サスペンドモードは、最も電力消費の少
ないパワーセーブモードの1つである。すなわち、コン
ピュータシステムがサスペンドモードの時は、オペレー
ティングシステムやユーザプログラムなどの再スタート
に必要なシステムデータが記憶されている主メモリを除
く、システム内の他のほとんどのデバイスはパワーオフ
される。
【0004】主メモリにセーブされるシステムデータ
は、コンピュータシステムがサスペンドモードに設定さ
れる直前のCPUのステータスおよび各種周辺LSIの
ステータスである。また、この主メモリには、オペレー
ティングシステムおよびアプリケーションプログラムの
実行状態やそのアプリケーションプログラムによって作
成されたユーザデータも記憶されている。主メモリにセ
ーブされた情報は、サスペンドモード直前の作業状態を
復元するために用いられる。
【0005】システムデータのセーブは、システムBI
OS(基本入出力プログラム)に組み込まれたサスペン
ドルーチンによって実行される。システムBIOSはオ
ペレーティングシステムからの要求にしたがってシステ
ム内のハードウェアを制御するためのものであり、シス
テム内の各種ハードウェアデバイスを制御するデバイス
ドライバ群を含んでいる。システムBIOSのサスペン
ドルーチンは、システムの電源オフ時などに起動され、
CPUのレジスタおよび各種周辺LSIのステータスを
メモリにセーブした後、システムをパワーオフする。
【0006】主メモリへの電源供給は、システムがパワ
ーオフの期間中ずっとバッテリによって維持される。こ
のため、システムのステータスおよびユーザデータは消
失されることなく、サスペンド前の作業状態にシステム
を高速に戻すことができる。
【0007】ところが、もしシステムがサスペンドモー
ド状態の時にバッテリの容量が低下してローバッテリ状
態となると、主メモリ内のデータは消失される。この場
合、サスペンド前の状態にシステムを戻すことができ無
くなるばかりか、主メモリに展開されているユーザデー
タも消失されてしまう。
【0008】そこで、最近では、サスペンドモードに代
わる新たなパワーセーブモードとして、ハイバネーショ
ンが使用され始めている。ハイバネーションは、システ
ム電源オフ時にCPUおよび各種周辺LSIのステータ
ス、および主メモリの内容などをハードディスクにセー
ブした後に主メモリを含むシステム内のほとんどすべて
のデバイスをパワーダウンさせるモードであり、サスペ
ンドモードよりも電力消費を低減できる。また、バッテ
リ容量が低下してもハードディスクにセーブした情報は
消失されないので、システム状態をハイバネーション処
理直前の状態に正常に復元することができる。したがっ
て、ACアダプタを使用できない外出先での使用が多い
携帯型コンピュータの多くは、ハイバネーションをパワ
ーセーブモードとして実装している。
【0009】ところで、近年のオペレーティングシステ
ムおよびアプリケーションプログラムの機能向上に伴
い、携帯型コンピュータにおいても、その主メモリとし
て実装されるメモリ容量は増大する一途にある。主メモ
リの記憶容量が増えると、その分、主メモリの内容をハ
ードディスクにセーブするのに要する時間、およびハー
ドディスクの内容を主メモリにリストアするのに要する
時間も増大する。このため、ハイバネーションモードを
使用するシステムでは、ハイバネーション処理に要する
時間、つまりユーザが電源スイッチをオフしてからシス
テムが実際にパワーオフされるまでに要する時間、およ
びユーザが電源スイッチをオンしてからシステム状態が
復元されるまでに要する時間が非常に大きくなりつつあ
る。
【0010】また、従来では、BIOSを介したハード
ディスク装置との間のデータ入出力動作は常にPIO
(Programmed Input/Output)モードによって行われて
いた。
【0011】すなわち、携帯型コンピュータでは、ハー
ドディスクドライブの接続に使用されるインターフェイ
スとして、ATA(Enhanced IDE)が使用
されている。このEnhanced IDEで用いられ
ている典型的な転送モードが前述のPIOモードであ
る。ATAでは、PIOモード0〜4まで定義されてお
り、それぞれ最大転送速度が異なっている。PIOモー
ドとは、CPUとハードディスクドライブとのハンドシ
ェイクを用いた転送モードであり、CPUが直接ハード
ディスクドライブのI/Oポートを繰り返しアクセスす
ることによってデータ転送を行う。よって、その転送速
度は決して高速ではないが、シーク動作やスピンドルの
回転といった機械的動作を必要とするハードディスクド
ライブ自体のデータ転送能力を考慮すると、この転送方
式で十分であったのである。
【0012】しかし、最近では、ハードディスクの高密
度化が急速に進み、これに伴ってハードディスク自体の
データ転送能力も大幅に向上しており、PIOモード4
に加え、現在ではDMAモード、さらにはUltraD
MAモードに対応したディスクインターフェースを持つ
ものが主流となっている。このため、常にPIOモード
のみを使用してディスク装置との間のデータ入出力を行
うという従来のBIOSによるデータ転送方法では、デ
ィスク装置の性能を十分に引き出すことが出来ないとい
う問題が生じる。
【0013】
【発明が解決しようとする課題】しかし、オペレーティ
ングシステムなどの上位プログラムからBIOSのディ
スクアクセスルーチン(INT13h)がコールされた
時に、常にDMA転送を用いてデータ転送を行うように
すると、その時のCPUの動作モードによっては重大な
エラーが引き起こされる危険がある。
【0014】すなわち、DMA転送(DMAモードまた
はUltraDMA)を実行する場合には、CPUのア
ドレス変換機構を用いるのではなく、BIOS自体が転
送先/転送元となる物理メモリアドレスを算出して、そ
れを転送元/転送先メモリアドレスとしてバスマスタI
DEコントローラなどのDMA制御ロジックに設定する
ことが必要となる。DMA転送では、メモリアクセスは
CPUではなく、バスマスタIDEコントローラなどの
DMA制御ロジックによって実行されるからである。と
ころが、実際には物理メモリアドレスの算出方法はCP
Uの動作モード(リアルモード、仮想アドレスモード)
によって異なる。
【0015】すなわち、リアルモードでは、セグメント
×16+オフセット=物理メモリアドレスという計算に
よってセグメントおよびオフセットから物理アドレスへ
の変換が行われるが、V86モードやプロテクトモード
などの仮想アドレスモードでは、ディスクプリタテーブ
ルと称される仮想アドレス変換テーブルを参照すること
が必要となる。ディスクプリタテーブルの参照には特権
レベルが必要であり、通常は、オペレーティングシステ
ム以外の他のプログラム(BIOSを含む)はそれをア
クセスすることはできない。
【0016】したがって、もしBIOSがCPUの動作
モードに関係なく常にセグメント×16+オフセット=
物理メモリアドレスという計算によって物理メモリアド
レスを計算して、それを用いてDMA転送のための処理
を開始すると、CPUが仮想アドレスモード(例えばV
86モード)であった場合には誤った物理メモリアドレ
スが算出されてしまい、結果的に誤動作を引き起こすこ
とになる。
【0017】本発明は上述の事情に鑑みてなされたもの
であり、CPUの動作モードを考慮してDMA転送モー
ドの実行条件を決定できるようにし、動作の信頼性が高
く、しかも十分にディスク装置との間のデータ転送効率
の向上を図ることが可能なコンピュータシステムおよび
データ転送制御方法を提供することを目的とする。
【0018】
【課題を解決するための手段】上述の課題を解決するた
め、本発明は、セグメントおよびオフセットから物理メ
モリアドレスを計算する第1動作モードと、前記セグメ
ントおよびオフセットを含む仮想アドレスと仮想アドレ
ス変換テーブルとを用いて物理メモリアドレスを計算す
る第2動作モードとを有するCPUを備えたコンピュー
タシステムにおいて、前記コンピュータシステムに設け
られたディスク装置に対するアクセスが上位プログラム
から要求された場合、前記CPUの現在の動作モードが
前記第1動作モードおよび前記第2動作モードのいずれ
であるかを判別する動作モード判別手段と、前記動作モ
ード判別手段によって前記CPUの現在の動作モードが
前記第1動作モードであると判別された場合、前記CP
Uのレジスタにセットされている前記セグメントおよび
オフセットから物理メモリアドレスを算出し、その算出
した物理メモリアドレスおよび前記CPUの別のレジス
タにセットされているディスクアドレスを用いて、前記
上位プログラムから要求された前記ディスク装置との間
のデータ転送をDMA転送によって実行するディスクア
クセス制御手段とを具備することを特徴とする。
【0019】このコンピュータシステムにおいては、デ
ィスク装置に対するアクセスが上位プログラムから要求
された場合、そのときのCPUの動作モードが判別さ
れ、セグメントおよびオフセットから物理メモリアドレ
スを直接的に計算できる第1動作モードであることこと
を条件に、DMA転送のための処理が実行される。よっ
て、誤った物理メモリアドレスの算出などの不具合を招
くことなく、ディスク装置とメモリとの間のデータ転送
を効率よく実行することが可能となり、通常のディスク
入出力動作のみならず、オペレーティングシステムのブ
ートストラップ処理、およびハイバネーションからの復
帰処理の高速化を図ることが可能となる。
【0020】前記ディスクアクセス制御手段は、前記動
作モード判別手段によって前記CPUの現在の動作モー
ドが前記第2動作モードであると判別された場合には、
前記CPUに前記ディスク装置に対するアクセスを繰り
返し実行させるPIO転送モードによって、前記上位プ
ログラムから要求された前記ディスク装置との間のデー
タ転送を実行するように構成することが好ましい。これ
により、CPUの現在の動作モードに応じてDMA転送
モードとPIO転送モードを選択的に実行することが可
能となり、常に最適な転送モードを利用することができ
る。
【0021】
【発明の実施の形態】以下、図面を参照して本発明の実
施形態を説明する。図1には、本発明の一実施形態に係
るコンピュータシステムの構成が示されている。このコ
ンピュータシステムは、ノートブックタイプまたはサブ
ノートタイプのポータブルパーソナルコンピュータであ
り、コンピュータ本体と、このコンピュータ本体に開閉
自在に取り付けられたLCDパネルユニットとから構成
されている。このコンピュータは、内蔵バッテリを有し
ており、その内蔵バッテリからの電力によって動作可能
に構成されている。また、ACアダプタを介してAC商
用電源などの外部電源から電力供給を受けることもでき
る。外部電源から電力供給を受けているときは、その外
部電源からの電力がコンピュータシステムの動作電源と
して用いられる。このとき、外部電源からの電力によっ
て内蔵バッテリの充電も自動的に行われる。ACアダプ
タが取り外されたり、あるいはAC商用電源のブレーカ
が落とされたときなどは、内蔵バッテリからの電力がコ
ンピュータシステムの動作電源として用いられる。
【0022】また、コンピュータ本体には、IDEイン
ターフェイスを有するハードディスクドライブ(HD
D)17が取り外し自在に装着されている。このHDD
17はコンピュータの二次記憶として使用されるもので
ある。
【0023】また、このコンピュータのシステムボード
上には、図示のように、CPU11、ホスト−PCIブ
リッジ12、主メモリ13、VGAコントローラ14、
PCI−ISAブリッジ15、バスマスタIDEコント
ローラ16、BIOS−ROM18、埋め込みコントロ
ーラ(EC)20、電源コントローラ(PSC)21な
どが設けられている。
【0024】CPU11は、このシステム全体の動作制
御およびデータ処理を実行する。このCPU11として
は、メモリセグメンテーション機構および仮想アドレッ
シング機構をサポートするもの、例えば、米インテル社
により製造販売されているマイクロプロセッサ“Pen
tium”などが使用される。この場合、CPU11
は、次のような動作を持つ。
【0025】すなわち、CPU11は、アプリケーショ
ンプログラムやオペレーティングシステム(OS)など
のプログラムを実行するための動作モードとしてリアル
モード、プロテクトモード、仮想8086モード(V8
6モード)を有している。リアルモードはメモリセグメ
ンテーションを利用した実アドレスモードであり、プロ
テクトモードおよび仮想86モードは仮想アドレスモー
ドである。
【0026】すなわち、リアルモードは、最大で1Mバ
イトのメモリ空間をアクセスできるモードであり、論理
アドレスから物理アドレスへの変換は、セグメントレジ
スタで表されるベースアドレスからのオフセット値で物
理アドレスを決定するアドレス計算形式によって行われ
る。つまり、図2に示すように、セグメントはメモリ・
セグメントを仮想的に表す16ビットの値(セレクタと
称する場合もある)であり、物理メモリアドレスは、セ
グメントの値を4ビット左にシフトした(16倍)値を
ベースアドレスとし、それに16ビットで表されるオフ
セット値を加えることによって算出される。
【0027】一方、プロテクトモードは1タスク当たり
最大4Gバイトのメモリ空間をアクセスできるモードで
あり、ディスクプリタテーブルと称される仮想アドレス
変換テーブルを用いてリニアアドレスが決定される。こ
のリニアアドレスは、ページングによって最終的に物理
アドレスに変換される。つまり、図3に示すように、セ
グメントの値はディスクプリタテーブルを参照するため
のポインタとして使用され、そのディスクプリタテーブ
ルから得られた値をベースアドレスとし、それに16ビ
ットで表されるオフセット値を加えることによってリニ
アアドレスが算出される。V86モードはプロテクトモ
ード環境下でリアルモードをエミュレーションするため
の動作モードであり、プロテクトモードと同じ仮想アド
レス計算方式が用いられる。
【0028】CPU11の初期化時の動作モードはリア
ルモードであり、オペレーティングシステム等のソフト
ウェア制御の下に、プロテクトモード、V86モードに
スイッチされる。
【0029】ホスト−PCIブリッジ12はCPUバス
1とPCIバス2間を双方向でつなぐブリッジであり、
ここには主メモリ13を制御するためのメモリコントロ
ーラも内蔵されている。主メモリ13はこのシステムの
主記憶つまりシステムメモリとして使用されるものであ
り、オペレーティングシステム、処理対象のアプリケー
ションプログラム、およびアプリケーションプログラム
によって作成されたユーザデータ等が格納される。この
主メモリ13はDRAMなどの半導体メモリによって実
現されている。
【0030】BIOS−ROM18は、システムBIO
S(Basic I/O System)を記憶するた
めのものであり、プログラム書き替えが可能なようにフ
ラッシュメモリによって構成されている。システムBI
OSは、このシステム内の各種ハードウェアをアクセス
するためのファンクション実行ルーチンを体系化したも
のであり、リアルモードで動作するように構成されてい
る。このシステムBIOSには、システムのパワーオン
時にオペレーティングシステムをブートストラップする
ための処理ルーチンと、各種ハードウェア制御のための
BIOSドライバ群などが含まれている。各BIOSド
ライバは、ハードウェア制御のための複数の機能をオペ
レーティングシステムやアプリケーションプログラムに
提供するためにそれら機能に対応する複数のファンクシ
ョン実行ルーチン群を含んでいる。上位プログラムから
INT13hがコールされると、BIOSのハードディ
スクドライバが実行される。このドライバ(INT13
h)には、HDD17との間のデータ転送をDMA転送
によって行うための機能とPIO転送によって行う機能
とが含まれている。
【0031】EC20は、システムが持つ付加機能を制
御するためのコントローラであり、CPU周辺温度など
に応じてクーリングファンの回転制御などを行うための
熱制御機能、システムの各種状態をLEDの点灯やビー
プ音によってユーザに通知するためのLED/ビープ音
制御機能、電源コントローラ21と共同してシステム電
源のオン/オフなどを制御する電源シーケンス制御機
能、および電源ステータス通知機能などを有している。
ハイバネーション状態においても、EC20および電源
コントローラ21には動作電源が供給されており、電源
スイッチ22およびパネルスイッチ23のオン・オフが
監視される。
【0032】ハイバネーションはシステム電源オフなど
のパワーセーブモードへの移行イベントの発生時にCP
U11および各種周辺LSIのステータス、および主メ
モリ13の内容などをハードディスク17にセーブした
後に主メモリ17を含むシステム内のほとんどすべての
デバイスをパワーダウンさせるモードである。ハイバネ
ーション状態においてシステム電源オフなどのウェイク
アップイベントが発生すると、ハードディスク17にセ
ーブされているメモリイメージが主メモリ13にリスト
アされ、ハイバネーション前の作業状態に復元される。
ハイバネーションの実行および復帰処理の制御はACP
I(Advanced Configuration and PowerInterface)対
応のOSの管理下で実行される。
【0033】VGAコントローラ14は、このシステム
のディスプレイモニタとして使用されるLCDおよび外
部CRTを制御するためのものであり、VRAMに描画
された画面データをLCDおよび外部CRTの一方また
は双方に表示する。
【0034】バスマスタIDEコントローラ16は、コ
ンピュータ本体に装着されたIDEデバイス(ここで
は、HDD17)を制御するためのものであり、IDE
デバイスと主メモリ13との間のDMA転送を実行可能
なバスマスタ機能(DMAコントローラ)を有してい
る。このバスマスタ機能は、CPU11からのコマンド
に応じて自らデータ転送のためのバスサイクル(DMA
転送)を実行するものであり、PIOモードよりもCP
U負荷を低減した状態で、IDEデバイスと主メモリ1
3との間のデータ転送を高速実行する事ができる。
【0035】次に、図4を参照して、BIOSのディス
クアクセス動作について説明する。
【0036】ここでは、オペレーティングシステムなど
の上位プログラムからBIOSのディスクドライバ(I
NT13h)がコールされた場合を想定する。INT1
3hのBIOSコールはCPU11のソフトウェア割り
込み機能を用いて実現されている。この場合、上位プロ
グラムからBIOSのディスクドライバ(INT13
h)には、CPU11のレジスタを通じて以下のI/O
パラメタが通知される。
【0037】 R/Wファンクション:ディスクリードまたはディスクライトを示す 転送セクタ数: ディスク装置との間でデータ転送すべきセクタ数 セグメント: 上述の16ビットのセグメント値 オフセット: 上述の16ビットのオフセット値 HDDアドレス:ディスクアクセスを行うべき開始アドレス ドライブ番号: アクセス対象のディスク装置のドライブ番号 上位プログラムは、これらR/Wファンクション、転送
セクタ数、セグメント、オフセット、HDDアドレス、
ドライブ番号をそれぞれCPU11のAHレジスタ、A
Lレジスタ、ESレジスタ、BXレジスタ、CX/DH
レジスタ、DLレジスタなどにセットした後に、INT
13hをコールする。これにより、BIOSのディスク
ドライバ(INT13h)に制御が移る。
【0038】BIOSのディスクドライバ(INT13
h)は、まず、上位プログラムが動作していたCPU1
1の動作モード、つまり現在のCPU11の動作モード
をチェックし、仮想アドレスモードであるか、リアルモ
ードであるかを判別する(ステップS101,S10
2)。上述したようにBIOSはリアルモードで動作す
るように構成されているので、上位プログラムからのB
IOSコールは、リアルモード又はV86モードで行わ
れる。したがって、CPU11内のステータスレジスタ
のV86フラグがオンであるか否かを調べることによ
り、仮想アドレスモードであるか、リアルモードである
かを判別することができる。
【0039】仮想アドレスモード、つまりV86モード
である場合、BIOSのディスクドライバ(INT13
h)は、CPU11にHDD17に対するアクセスを繰
り返し実行させるというPIO転送モードによってHD
D17との間のデータ転送を実行する(ステップS10
3)。
【0040】一方、リアルモードであれば、BIOSの
ディスクドライバ(INT13h)は、DMA転送モー
ドによってHDD17との間のデータ転送を実行する
(ステップS104)。この場合、BIOSのディスク
ドライバ(INT13h)は、まず、ESレジスタのセ
グメントとBXレジスタのオフセットの値から物理メモ
リアドレスを計算し(セグメント×16+オフセット=
物理メモリアドレス)、そしてその物理メモリアドレス
を計算する。そして、BIOSのディスクドライバ(I
NT13h)は、その物理メモリアドレスと、CX/D
HにセットされているHDDアドレスをそれぞれ転送元
/転送先アドレスの初期値としてバスマスタIDEコン
トローラ16にセットすると共に、ALレジスタの転送
セクタ数をデータ転送幅としてバスマスタIDEコント
ローラ16にセットする。これにより、バスマスタID
Eコントローラ16は、DMA転送を開始する。例え
ば、ディスクから主メモリ13のディスクリードの場合
には、バスマスタIDEコントローラ16は、HDDア
ドレスで指定された位置のセクタデータから順にデータ
を読み出すと共に、その読み出したデータを物理メモリ
アドレスで指定される主メモリ13のメモリ番地から順
に書き込むバスサイクルを実行する。
【0041】図5は、仮想アドレスモードであるか否か
だけではなく、HDD17がサポートする転送モードも
考慮してデータ転送モードを決定する場合の処理例であ
る。
【0042】即ち、BIOSのディスクドライバ(IN
T13h)は、まず、上位プログラムが動作していたC
PU11の動作モード、つまり現在のCPU11の動作
モードをチェックし、仮想アドレスモードであるか、リ
アルモードであるかを判別する(ステップS101,S
102)。ここまでは、図4と同じである。
【0043】仮想アドレスモード、つまりV86モード
である場合、BIOSのディスクドライバ(INT13
h)は、HDD17からリードしたドライブパラメータ
情報に基づいて、HDD17がRead/Write
Multipleコマンドをサポートしているかどうか
を判断し(ステップS201)、その結果に基づいて、
Read/Write Multipleコマンド、ま
たはRead/Write Sectorコマンドを用
いたデータ転送を実行する(ステップS202)。Re
ad/Write Multipleは複数セクタ分の
リード/ライトをまとめて指定可能なコマンドであり、
このRead/Write Multipleコマンド
をサポートしていない場合には、HDDアクセスには単
一のセクタ単位でリード/ライトを指定するRead/
Write Sectorコマンドを用いたデータ転送
モードが使用される。Read/Write Mult
iple、およびRead/Write Sector
のどちらも、PIO転送モードである。
【0044】リアルモードである場合には、BIOSの
ディスクドライバ(INT13h)は、HDD17から
リードしたドライブパラメータ情報に基づいて、HDD
17がDMAをサポートしているかどうかを判断する
(ステップS204)。サポートしていない場合は、H
DDアクセスには前述のRead/Write Mul
tipleコマンドを使用する。DMAをサポートして
いる場合には、次に、Ultra DMAをサポートし
ているかどうかを判断する(ステップS205)。サポ
ートしていない場合は、HDDアクセスにはDMA R
ead/Writeコマンドを使用する(ステップS2
07)。サポートしている場合は、Ultra DMA
Read/Writeコマンドを使用する(ステップ
S208)。DMA Read/Writeコマンド、
およびUltra DMA Read/Writeコマ
ンドのどちらも前述のDMA転送のためのコマンドであ
る。
【0045】多くのHDDはRead/Write M
ultipleおよびUltraDMA Read/W
riteをサポートしているので、転送セクター数が2
以上であれは、実際には、仮想アドレスモードではRe
ad/Write MultipleコマンドによるP
IO転送が実行され、リアルモードではUltraDM
A Read/Writeコマンドを用いたDMA転送
が実行されることになる。
【0046】データ転送レートは、Ultra DMA
Read/Writeが最も高く、次いで、DMA
Read/Write、Read/Write Mul
tiple、Read/Write Sectorの順
となる。
【0047】次に、図6を参照して、システム起動時、
つまりオペレーティングシステム(OS)をブートスト
ラップするときの動作について説明する。
【0048】電源スイッチ22がオンされることによっ
てシステムがパワーオンされると、BIOSはそのディ
スクドライバ(INT13h)を用いて、HDD17の
MBR(Master Boot Record)の内容を主メモリ13に
読み込むためのディスクアクセスを行う。MBRにはア
クティブパーティションからブートコード(OSロー
ダ)を読み出してくるためのマスターブートコードが含
まれており、マスターブートコードに制御が渡される。
マスターブートコードは、CPU11のレジスタにOS
ローダの読み込みに必要なパラメータを設定した後、B
IOSのディスクドライバ(INT13h)をコールす
る。ディスクドライバ(INT13h)は、マスターブ
ートコードから指定されたディスクリードを実行して、
OSローダを主メモリ13に読み込む。この後、OSロ
ーダに制御が渡され、OSローダはCPU11のレジス
タにカーネルの読み込みに必要なパラメータを設定した
後、BIOSのディスクドライバ(INT13h)をコ
ールする。
【0049】ディスクドライバ(INT13h)は、O
Sローダから指定されたディスクリードを実行して、カ
ーネルを主メモリ13に読み込む。この後、OSローダ
からカーネルに制御が渡される。カーネルは各種ドライ
バの読み込みをBIOSのディスクドライバ(INT1
3h)を用いて行うが、その途中で、リアルモードから
プロテクトモードへの切り換えが行われる。BIOSの
ディスクドライバ(INT13h)をコールする場合に
は、V86モードが用いられる。ディスクドライバ(I
NT13h)がコールされる環境がリアルモードからV
86モードに切り替えられるまでは、ディスクドライバ
(INT13h)によるディスク装置とメモリとの間の
データ転送は全てDMA転送によって行われる。そし
て、V86モードに切り替えられた後は、PIOモード
によるディスクアクセスが行われる。これにより、ディ
スクドライバ(INT13h)が常にPIOモードによ
ってディスクアクセスを行う場合に比べ、OSのブート
ストラップシーケンスの高速化を図ることが可能とな
る。
【0050】次に、図7を参照して、ハイバネーション
状態からの復帰時の動作について説明する。
【0051】電源スイッチ22のオンなどのウェイクア
ップイベントが発生すると、BIOSはそのディスクド
ライバ(INT13h)を用いて、HDD17のMBR
(Master Boot Record)の内容を主メモリ13に読み込
むためのディスクアクセスを行う。MBRにはアクティ
ブパーティションからブートコード(OSローダ)を読
み出してくるためのマスターブートコードが含まれてお
り、マスターブートコードに制御が渡される。マスター
ブートコードは、CPU11のレジスタにOSローダの
読み込みに必要なパラメータを設定した後、BIOSの
ディスクドライバ(INT13h)をコールする。ディ
スクドライバ(INT13h)は、マスターブートコー
ドから指定されたディスクリードを実行して、OSロー
ダを主メモリ13に読み込む。この後、OSローダに制
御が渡される。OSローダは、ハイバネーションからの
復帰であるか通常のブートストラップであるかを判定す
る。この判定は、例えばハイバネーション状態への移行
時にそれを示すフラグをOS内部やEC20のレジスタ
などに記憶しておき、OSローダの実行時にそれを参照
すること等によって行うことができる。
【0052】ハイバネーションからの復帰である場合に
は、OSローダは、CPU11のレジスタに、HDD1
7にセーブされているメモリイメージの読み込みに必要
なパラメータを設定した後、BIOSのディスクドライ
バ(INT13h)をコールする。ディスクドライバ
(INT13h)は、OSローダから指定されたディス
クリードを実行して、メモリイメージを主メモリ13に
読み込む。この時、CPU11はまだリアルモードであ
るので、HDD17から主メモリ13へのメモリイメー
ジの転送はDMA転送によって高速実行される。この
後、OSによって各主デバイスの状態復元に必要な処理
等が実行されることにより、ハイバネーション移行前の
作業環境が復元される。
【0053】以上のように、本実施形態によれば、上位
プログラムからディスク入出力動作が要求された時のC
PU11の動作モードに応じてDMA転送とPIO転送
を選択的に切り替えて実行することにより、誤った物理
メモリアドレスの算出などの不具合を招くことなく、デ
ィスク装置とメモリとの間のデータ転送を効率よく実行
することが可能となる。特に、ハイバネーションからの
復帰時には大量のメモリイメージデータを高速データ転
送可能なUltra DMA Read/Writeコ
マンドを用いることにより、PIOを用いる場合比べ、
メモリイメージデータの読み込みに要する時間を大幅に
短縮することができる。
【0054】
【発明の効果】以上説明したように、本発明によれば、
動作の信頼性を損なうことなく、ディスク装置との間の
データ転送効率を十分に向上させることが可能となる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るコンピュータシステ
ムの構成を示すブロック図。
【図2】同実施形態においてCPUがリアルモード時に
おける物理アドレス計算方式を説明するための図。
【図3】同実施形態においてCPUがプロテクトモード
時における物理アドレス計算方式を説明するための図。
【図4】同実施形態で実行されるディスクアクセス動作
を説明するためのフローチャート。
【図5】同実施形態で実行されるディスクアクセス動作
の第2の例を説明するためのフローチャート。
【図6】同実施形態におけるオペレーティングシステム
のブートストラップ動作を説明するためのフローチャー
ト。
【図7】同実施形態におけるハイバネーションからの復
帰動作を説明するためのフローチャート。
【符号の説明】
11…CPU 12…ホスト−PCIブリッジ 13…主メモリ 16…バスマスタIDEコントローラ 17…HDD 18…BIOS−ROM

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 セグメントおよびオフセットから物理メ
    モリアドレスを計算する第1動作モードと、前記セグメ
    ントおよびオフセットを含む仮想アドレスと仮想アドレ
    ス変換テーブルとを用いて物理メモリアドレスを計算す
    る第2動作モードとを有するCPUを備えたコンピュー
    タシステムにおいて、 前記コンピュータシステムに設けられたディスク装置に
    対するアクセスが上位プログラムから要求された場合、
    前記CPUの現在の動作モードが前記第1動作モードお
    よび前記第2動作モードのいずれであるかを判別する動
    作モード判別手段と、 前記動作モード判別手段によって前記CPUの現在の動
    作モードが前記第1動作モードであると判別された場
    合、前記CPUのレジスタにセットされている前記セグ
    メントおよびオフセットから物理メモリアドレスを算出
    し、その算出した物理メモリアドレスおよび前記CPU
    の別のレジスタにセットされているディスクアドレスを
    用いて、前記上位プログラムから要求された前記ディス
    ク装置との間のデータ転送をDMA転送によって実行す
    るディスクアクセス制御手段とを具備することを特徴と
    するコンピュータシステム。
  2. 【請求項2】 前記ディスクアクセス制御手段は、 前記動作モード判別手段によって前記CPUの現在の動
    作モードが前記第2動作モードであると判別された場
    合、前記CPUに前記ディスク装置に対するアクセスを
    繰り返し実行させるPIO転送モードによって、前記上
    位プログラムから要求された前記ディスク装置との間の
    データ転送を実行する手段をさらに含むことを特徴とす
    る請求項1記載のコンピュータシステム。
  3. 【請求項3】 前記ディスク装置と前記コンピュータシ
    ステムのメモリとの間でDMA転送を実行するDMA転
    送手段をさらに具備し、 前記ディスクアクセス制御手段は、前記算出した物理メ
    モリアドレスおよび前記CPUの別のレジスタにセット
    されているディスクアドレスを前記DMA転送手段にセ
    ットすることにより、前記上位プログラムから要求され
    た前記ディスク装置との間のデータ転送を前記DMA転
    送手段に実行させることを特徴とする請求項1記載のコ
    ンピュータシステム。
  4. 【請求項4】 前記DMA転送手段はバスマスタ機能を
    有するディスク制御装置であり、前記ディスク制御装置
    を介して前記ディスク装置と前記メモリとの間のDMA
    転送が実行されるように構成されていることを特徴とす
    る請求項3記載のコンピュータシステム。
  5. 【請求項5】 前記上位プログラムはオペレーティング
    システムであり、前記オペレーティングシステムが、そ
    のブートストラップシーケンスの途中で前記CPUの動
    作モードを前記第1動作モードから前記第2動作モード
    に切り替えるまでは、前記ディスクアクセス制御手段
    は、前記ブートストラップシーケンス中の前記オペレー
    ティングシステムからの要求に応じて、前記オペレーテ
    ィングシステムを構成するファイル群を前記ディスク装
    置からリードするためのデータ転送をDMA転送によっ
    て実行することを特徴とする請求項1記載のコンピュー
    タシステム。
  6. 【請求項6】 パワーセーブモード時にコンピュータシ
    ステムの主メモリの内容をそのシステムのディスク装置
    にセーブし、前記パワーセーブモードからのウェイクア
    ップ時に前記ディスク装置にセーブされているメモリイ
    メージを前記主メモリにリストアするハイバネーション
    機能を有するコンピュータシステムにおいて、 セグメントおよびオフセットから物理メモリアドレスを
    計算する第1動作モードと、前記セグメントおよびオフ
    セットを含む仮想アドレスと仮想アドレス変換テーブル
    とを用いて物理メモリアドレスを計算する第2動作モー
    ドとを有するCPUと、 上位プログラムから前記メモリイメージのリストアが要
    求された場合、前記CPUの現在の動作モードが前記第
    1動作モードおよび前記第2動作モードのいずれである
    かを判別する動作モード判別手段と、 前記動作モード判別手段によって前記CPUの現在の動
    作モードが前記第1動作モードであると判別された場
    合、前記CPUのレジスタにセットされている前記セグ
    メントおよびオフセットから物理メモリアドレスを算出
    し、その算出した物理メモリアドレスおよび前記CPU
    の別のレジスタにセットされているディスクアドレスを
    用いて、前記上位プログラムから要求されたメモリイメ
    ージのリストアをDMA転送によって実行するディスク
    アクセス制御手段とを具備することを特徴とするコンピ
    ュータシステム。
  7. 【請求項7】 前記ディスク装置と前記コンピュータシ
    ステムのメモリとの間でDMA転送を実行するDMA転
    送手段をさらに具備し、 前記ディスクアクセス制御手段は、前記算出した物理メ
    モリアドレスおよび前記CPUの別のレジスタにセット
    されているディスクアドレスを前記DMA転送手段にセ
    ットすることにより、前記上位プログラムから要求され
    た前記メモリイメージのリストアを前記DMA転送手段
    に実行させることを特徴とする請求項6記載のコンピュ
    ータシステム。
  8. 【請求項8】 セグメントおよびオフセットから物理メ
    モリアドレスを計算する第1動作モードと、前記セグメ
    ントおよびオフセットを含む仮想アドレスと仮想アドレ
    ス変換テーブルとを用いて物理メモリアドレスを計算す
    る第2動作モードとを有するCPUを備えたコンピュー
    タシステムに適用されるデータ転送制御方法であって、 前記コンピュータシステムに設けられたディスク装置に
    対するアクセスが上位プログラムから要求された場合、
    前記CPUの現在の動作モードが前記第1動作モードお
    よび前記第2動作モードのいずれであるかを判別する動
    作モード判別ステップと、 前記動作モード判別ステップによって前記CPUの現在
    の動作モードが前記第1動作モードであると判別された
    場合、前記CPUのレジスタにセットされている前記セ
    グメントおよびオフセットから物理メモリアドレスを算
    出し、その算出した物理メモリアドレスおよび前記CP
    Uの別のレジスタにセットされているディスクアドレス
    を用いて、前記ディスク装置との間のデータ転送をDM
    A転送によって実行するステップとを具備することを特
    徴とするデータ転送制御方法。
  9. 【請求項9】 セグメントおよびオフセットから物理メ
    モリアドレスを計算する第1動作モードと、前記セグメ
    ントおよびオフセットを含む仮想アドレスと仮想アドレ
    ス変換テーブルとを用いて物理メモリアドレスを計算す
    る第2動作モードとを有するCPUを有し、パワーセー
    ブモード時にディスク装置にセーブした主メモリの内容
    を、前記パワーセーブモードからのウェイクアップ時に
    前記ディスク装置から前記主メモリにリストアするため
    のデータ転送制御方法であって、 上位プログラムからディスク装置にセーブされているメ
    モリイメージのリストアが要求された場合、前記CPU
    の現在の動作モードが前記第1動作モードおよび前記第
    2動作モードのいずれであるかを判別する動作モード判
    別ステップと、 前記動作モード判別ステップによって前記CPUの現在
    の動作モードが前記第1動作モードであると判別された
    場合、前記CPUのレジスタにセットされている前記セ
    グメントおよびオフセットから物理メモリアドレスを算
    出し、その算出した物理メモリアドレスおよび前記CP
    Uの別のレジスタにセットされているディスクアドレス
    を用いて、前記上位プログラムから要求された前記メモ
    リイメージのリストアをDMA転送によって実行するス
    テップとを具備することを特徴とするデータ転送制御方
    法。
JP2000290939A 2000-09-25 2000-09-25 コンピュータシステムおよびデータ転送制御方法 Expired - Fee Related JP4155545B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000290939A JP4155545B2 (ja) 2000-09-25 2000-09-25 コンピュータシステムおよびデータ転送制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000290939A JP4155545B2 (ja) 2000-09-25 2000-09-25 コンピュータシステムおよびデータ転送制御方法

Publications (2)

Publication Number Publication Date
JP2002099502A true JP2002099502A (ja) 2002-04-05
JP4155545B2 JP4155545B2 (ja) 2008-09-24

Family

ID=18774095

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000290939A Expired - Fee Related JP4155545B2 (ja) 2000-09-25 2000-09-25 コンピュータシステムおよびデータ転送制御方法

Country Status (1)

Country Link
JP (1) JP4155545B2 (ja)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006260372A (ja) * 2005-03-18 2006-09-28 Fujitsu Ltd 情報処理装置、高速起動方法、及びプログラム
US7681058B2 (en) 2004-09-10 2010-03-16 Fujitsu Limited Information processing apparatus and power supply control method
US7739419B2 (en) 2007-05-23 2010-06-15 Seiko Epson Corporation Data transfer control device and electronic instrument
JP2012074020A (ja) * 2010-08-30 2012-04-12 Vmware Inc 空間最適化ブロックデバイスのためのシステムソフトウェアインタフェース
JP2012514787A (ja) * 2009-01-05 2012-06-28 マーベル ワールド トレード リミテッド 不揮発性メモリデバイスを利用するハイバネートまたはサスペンド方法およびシステム
US8443187B1 (en) 2007-04-12 2013-05-14 Marvell International Ltd. Authentication of computing devices in server based on mapping between port identifier and MAC address that allows actions-per-group instead of just actions-per-single device
US8510560B1 (en) 2008-08-20 2013-08-13 Marvell International Ltd. Efficient key establishment for wireless networks
US8688968B2 (en) 2008-09-18 2014-04-01 Marvell World Trade Ltd. Preloading an application while an operating system loads
US8839016B2 (en) 2007-07-23 2014-09-16 Marvell World Trade Ltd. USB self-idling techniques
US8843686B1 (en) 2007-04-05 2014-09-23 Marvell International Ltd. Processor management using a buffer
US9075604B2 (en) 2010-08-04 2015-07-07 Sony Corporation Device and method for determining whether to hold data in a memory area before transitioning to a power saving state
US9141394B2 (en) 2011-07-29 2015-09-22 Marvell World Trade Ltd. Switching between processor cache and random-access memory
US9436629B2 (en) 2011-11-15 2016-09-06 Marvell World Trade Ltd. Dynamic boot image streaming
US9575768B1 (en) 2013-01-08 2017-02-21 Marvell International Ltd. Loading boot code from multiple memories
US9736801B1 (en) 2013-05-20 2017-08-15 Marvell International Ltd. Methods and apparatus for synchronizing devices in a wireless data communication system
US9836306B2 (en) 2013-07-31 2017-12-05 Marvell World Trade Ltd. Parallelizing boot operations
US9860862B1 (en) 2013-05-21 2018-01-02 Marvell International Ltd. Methods and apparatus for selecting a device to perform shared functionality in a deterministic and fair manner in a wireless data communication system
US10979412B2 (en) 2016-03-08 2021-04-13 Nxp Usa, Inc. Methods and apparatus for secure device authentication

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7681058B2 (en) 2004-09-10 2010-03-16 Fujitsu Limited Information processing apparatus and power supply control method
US9459690B2 (en) 2004-09-10 2016-10-04 Fujitsu Limited Information processing apparatus and power supply control method
JP2006260372A (ja) * 2005-03-18 2006-09-28 Fujitsu Ltd 情報処理装置、高速起動方法、及びプログラム
US7644292B2 (en) 2005-03-18 2010-01-05 Fujitsu Limited Information processing apparatus, quick activation method, and storage medium
US8843686B1 (en) 2007-04-05 2014-09-23 Marvell International Ltd. Processor management using a buffer
US8443187B1 (en) 2007-04-12 2013-05-14 Marvell International Ltd. Authentication of computing devices in server based on mapping between port identifier and MAC address that allows actions-per-group instead of just actions-per-single device
US9253175B1 (en) 2007-04-12 2016-02-02 Marvell International Ltd. Authentication of computing devices using augmented credentials to enable actions-per-group
US7739419B2 (en) 2007-05-23 2010-06-15 Seiko Epson Corporation Data transfer control device and electronic instrument
US8839016B2 (en) 2007-07-23 2014-09-16 Marvell World Trade Ltd. USB self-idling techniques
US9769653B1 (en) 2008-08-20 2017-09-19 Marvell International Ltd. Efficient key establishment for wireless networks
US8510560B1 (en) 2008-08-20 2013-08-13 Marvell International Ltd. Efficient key establishment for wireless networks
US8688968B2 (en) 2008-09-18 2014-04-01 Marvell World Trade Ltd. Preloading an application while an operating system loads
US9652249B1 (en) 2008-09-18 2017-05-16 Marvell World Trade Ltd. Preloading an application while an operating system loads
JP2012514787A (ja) * 2009-01-05 2012-06-28 マーベル ワールド トレード リミテッド 不揮発性メモリデバイスを利用するハイバネートまたはサスペンド方法およびシステム
US8443211B2 (en) 2009-01-05 2013-05-14 Marvell World Trade Ltd. Hibernation or suspend using a non-volatile-memory device
US9075604B2 (en) 2010-08-04 2015-07-07 Sony Corporation Device and method for determining whether to hold data in a memory area before transitioning to a power saving state
JP2014029700A (ja) * 2010-08-30 2014-02-13 Vmware Inc 空間最適化ブロックデバイスのためのシステムソフトウェアインタフェース
JP2012074020A (ja) * 2010-08-30 2012-04-12 Vmware Inc 空間最適化ブロックデバイスのためのシステムソフトウェアインタフェース
US9141394B2 (en) 2011-07-29 2015-09-22 Marvell World Trade Ltd. Switching between processor cache and random-access memory
US9436629B2 (en) 2011-11-15 2016-09-06 Marvell World Trade Ltd. Dynamic boot image streaming
US10275377B2 (en) 2011-11-15 2019-04-30 Marvell World Trade Ltd. Dynamic boot image streaming
US9575768B1 (en) 2013-01-08 2017-02-21 Marvell International Ltd. Loading boot code from multiple memories
US9736801B1 (en) 2013-05-20 2017-08-15 Marvell International Ltd. Methods and apparatus for synchronizing devices in a wireless data communication system
US9860862B1 (en) 2013-05-21 2018-01-02 Marvell International Ltd. Methods and apparatus for selecting a device to perform shared functionality in a deterministic and fair manner in a wireless data communication system
US9836306B2 (en) 2013-07-31 2017-12-05 Marvell World Trade Ltd. Parallelizing boot operations
US10979412B2 (en) 2016-03-08 2021-04-13 Nxp Usa, Inc. Methods and apparatus for secure device authentication

Also Published As

Publication number Publication date
JP4155545B2 (ja) 2008-09-24

Similar Documents

Publication Publication Date Title
JP4155545B2 (ja) コンピュータシステムおよびデータ転送制御方法
TWI407300B (zh) 電源管理控制器與方法
US7340580B2 (en) Storage device and information processing system
KR100352045B1 (ko) 컴퓨터시스템에서전력소모를감소시키기위한방법및장치
JP4580528B2 (ja) コンピュータシステムおよびそのレジューム処理方法
JP2880863B2 (ja) サスペンド制御方法およびシステム
US20150058540A1 (en) Hybrid-device storage based on environmental state
CN101443726B (zh) 包括具有闪存接口的硬盘驱动器的自适应存储***
KR20010033687A (ko) 하이버네이션 기능 지원 정보 처리 시스템 및 그를제어하는 방법
JPH07200112A (ja) 情報処理システム
US6154846A (en) System for controlling a power saving mode in a computer system
US7096299B2 (en) Method and apparatus for transferring system context information between mobile computer and base station
US5963738A (en) Computer system for reading/writing system configuration using I/O instruction
US20110082987A1 (en) Systems and Methods for Power State Transitioning in an Information Handling System
US6282645B1 (en) Computer system for reading/writing system configuration using I/O instruction
JP2003085041A (ja) ディスクキャッシュシステム
JP3961669B2 (ja) コンピュータシステムおよびデータ転送制御方法
JPH10333997A (ja) コンピュータシステムおよびそのシステムにおけるデータセーブ制御方法
TWI823253B (zh) 計算系統、由電腦執行的方法以及電腦程式產品
KR100534613B1 (ko) 플래쉬 메모리를 이용한 시스템 부팅 장치 및 그 방법
JP5894044B2 (ja) ハイブリッド・ディスク・ドライブにデータを記憶する方法および携帯式コンピュータ
JP2003122644A (ja) 計算機及びその記憶装置
US7937577B2 (en) Information processing apparatus and operating system determination method
JP2003345474A (ja) コンピュータシステムおよびデータ転送制御方法
JPH11102238A (ja) コンピュータシステムおよびそのシステムにおけるサスペンド制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040301

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060808

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061010

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070417

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070613

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070620

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

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

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

Free format text: PAYMENT UNTIL: 20110718

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110718

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120718

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees