JP2002099502A - Computer system and control method for data transfer - Google Patents

Computer system and control method for data transfer

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
Japanese (ja)
Other versions
JP4155545B2 (en
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/en
Publication of JP2002099502A publication Critical patent/JP2002099502A/en
Application granted granted Critical
Publication of JP4155545B2 publication Critical patent/JP4155545B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a computer system and a control method for data transfer capable of practicing data transfer with a hard disk drive and speeding up the reconversion from boot processing/hibernation. SOLUTION: A disk driver (INT 13 h) of BIOS checks the operation mode of a CPU 11 on which upper program was operating and judges as if it is virtual address mode or real mode (STEP S101, S102). In case of virtual address mode (V86 mode), BIOS practices data transfer with HDD by PIO transfer mode (STEP S103). And, in case of real mode, BOIS calculates physical memory address with a segment that is set in a CPU register and offset, and sets it as transfer address to a by master IDE controller 16, and practices data transfer with HDD by in a DMA transfer mode (STEP S104).

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明はコンピュータシステ
ムおよび同システムで使用されるデータ転送制御方法に
関し、特にディスク装置との間のデータ転送を効率よく
実行できるように改良されたコンピュータシステムおよ
びデータ転送制御方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a computer system and a data transfer control method used in the computer system, and more particularly to a computer system and a data transfer control improved so that data transfer with a disk device can be efficiently performed. About the method.

【0002】[0002]

【従来の技術】近年、携帯可能なノートブックタイプま
たはサブノートタイプの携帯型パーソナルコンピュータ
や、携帯情報端末などのポケットコンピュータが種々開
発されている。
2. Description of the Related Art In recent years, various portable personal computers of notebook type or sub-note type, and pocket computers such as portable information terminals have been developed.

【0003】この種の携帯型コンピュータは、バッテリ
駆動可能な時間を延ばすために、コンピュータシステム
の電力を節約するための種々のパワーセーブモードが設
けられている。サスペンドモードは、最も電力消費の少
ないパワーセーブモードの1つである。すなわち、コン
ピュータシステムがサスペンドモードの時は、オペレー
ティングシステムやユーザプログラムなどの再スタート
に必要なシステムデータが記憶されている主メモリを除
く、システム内の他のほとんどのデバイスはパワーオフ
される。
Such a portable computer is provided with various power save modes for saving the power of the computer system in order to extend the time during which the battery can be driven. The suspend mode is one of the power save modes that consumes the least power. That is, when the computer system is in the suspend mode, most other devices in the system are powered off, except for the main memory in which system data necessary for restarting such as the operating system and user programs is stored.

【0004】主メモリにセーブされるシステムデータ
は、コンピュータシステムがサスペンドモードに設定さ
れる直前のCPUのステータスおよび各種周辺LSIの
ステータスである。また、この主メモリには、オペレー
ティングシステムおよびアプリケーションプログラムの
実行状態やそのアプリケーションプログラムによって作
成されたユーザデータも記憶されている。主メモリにセ
ーブされた情報は、サスペンドモード直前の作業状態を
復元するために用いられる。
The system data saved in the main memory is the status of the CPU and the status of various peripheral LSIs immediately before the computer system is set to the suspend mode. The main memory also stores the execution state of the operating system and application programs and user data created by the application programs. The information saved in the main memory is used to restore the work state immediately before the suspend mode.

【0005】システムデータのセーブは、システムBI
OS(基本入出力プログラム)に組み込まれたサスペン
ドルーチンによって実行される。システムBIOSはオ
ペレーティングシステムからの要求にしたがってシステ
ム内のハードウェアを制御するためのものであり、シス
テム内の各種ハードウェアデバイスを制御するデバイス
ドライバ群を含んでいる。システムBIOSのサスペン
ドルーチンは、システムの電源オフ時などに起動され、
CPUのレジスタおよび各種周辺LSIのステータスを
メモリにセーブした後、システムをパワーオフする。
The saving of the system data is performed by the system BI
It is executed by a suspend routine incorporated in an OS (basic input / output program). The system BIOS is for controlling hardware in the system according to a request from the operating system, and includes a device driver group for controlling various hardware devices in the system. The suspend routine of the system BIOS is started when the power of the system is turned off.
After saving the status of the CPU registers and various peripheral LSIs in the memory, the system is powered off.

【0006】主メモリへの電源供給は、システムがパワ
ーオフの期間中ずっとバッテリによって維持される。こ
のため、システムのステータスおよびユーザデータは消
失されることなく、サスペンド前の作業状態にシステム
を高速に戻すことができる。
[0006] Power to the main memory is maintained by a battery throughout the period when the system is powered off. Therefore, the system can be returned to the work state before the suspension at a high speed without losing the status and user data of the system.

【0007】ところが、もしシステムがサスペンドモー
ド状態の時にバッテリの容量が低下してローバッテリ状
態となると、主メモリ内のデータは消失される。この場
合、サスペンド前の状態にシステムを戻すことができ無
くなるばかりか、主メモリに展開されているユーザデー
タも消失されてしまう。
However, if the battery capacity is reduced to a low battery state when the system is in the suspend mode, data in the main memory is lost. In this case, not only cannot the system be returned to the state before the suspension, but also the user data developed in the main memory is lost.

【0008】そこで、最近では、サスペンドモードに代
わる新たなパワーセーブモードとして、ハイバネーショ
ンが使用され始めている。ハイバネーションは、システ
ム電源オフ時にCPUおよび各種周辺LSIのステータ
ス、および主メモリの内容などをハードディスクにセー
ブした後に主メモリを含むシステム内のほとんどすべて
のデバイスをパワーダウンさせるモードであり、サスペ
ンドモードよりも電力消費を低減できる。また、バッテ
リ容量が低下してもハードディスクにセーブした情報は
消失されないので、システム状態をハイバネーション処
理直前の状態に正常に復元することができる。したがっ
て、ACアダプタを使用できない外出先での使用が多い
携帯型コンピュータの多くは、ハイバネーションをパワ
ーセーブモードとして実装している。
Accordingly, hibernation has recently begun to be used as a new power save mode instead of the suspend mode. Hibernation is a mode in which the status of the CPU and various peripheral LSIs, the contents of the main memory, etc. are saved to the hard disk when the system power is turned off, and then almost all devices in the system including the main memory are powered down. Power consumption can be reduced. Further, even if the battery capacity decreases, the information saved on the hard disk is not lost, so that the system state can be restored to the state immediately before the hibernation process. Therefore, many portable computers that are frequently used on the go, where the AC adapter cannot be used, implement hibernation as a power save mode.

【0009】ところで、近年のオペレーティングシステ
ムおよびアプリケーションプログラムの機能向上に伴
い、携帯型コンピュータにおいても、その主メモリとし
て実装されるメモリ容量は増大する一途にある。主メモ
リの記憶容量が増えると、その分、主メモリの内容をハ
ードディスクにセーブするのに要する時間、およびハー
ドディスクの内容を主メモリにリストアするのに要する
時間も増大する。このため、ハイバネーションモードを
使用するシステムでは、ハイバネーション処理に要する
時間、つまりユーザが電源スイッチをオフしてからシス
テムが実際にパワーオフされるまでに要する時間、およ
びユーザが電源スイッチをオンしてからシステム状態が
復元されるまでに要する時間が非常に大きくなりつつあ
る。
[0009] With the recent improvement in the functions of operating systems and application programs, the memory capacity of a portable computer as a main memory is constantly increasing. As the storage capacity of the main memory increases, the time required to save the contents of the main memory to the hard disk and the time required to restore the contents of the hard disk to the main memory also increase. For this reason, in a system that uses the hibernation mode, the time required for the hibernation process, that is, the time required from the time the user turns off the power switch to the time the system is actually turned off, and the time required after the user turns on the power switch. The time required for the system state to be restored is becoming very large.

【0010】また、従来では、BIOSを介したハード
ディスク装置との間のデータ入出力動作は常にPIO
(Programmed Input/Output)モードによって行われて
いた。
Conventionally, a data input / output operation with a hard disk drive via a BIOS is always performed by a PIO.
(Programmed Input / Output) mode.

【0011】すなわち、携帯型コンピュータでは、ハー
ドディスクドライブの接続に使用されるインターフェイ
スとして、ATA(Enhanced IDE)が使用
されている。このEnhanced IDEで用いられ
ている典型的な転送モードが前述のPIOモードであ
る。ATAでは、PIOモード0〜4まで定義されてお
り、それぞれ最大転送速度が異なっている。PIOモー
ドとは、CPUとハードディスクドライブとのハンドシ
ェイクを用いた転送モードであり、CPUが直接ハード
ディスクドライブのI/Oポートを繰り返しアクセスす
ることによってデータ転送を行う。よって、その転送速
度は決して高速ではないが、シーク動作やスピンドルの
回転といった機械的動作を必要とするハードディスクド
ライブ自体のデータ転送能力を考慮すると、この転送方
式で十分であったのである。
That is, in a portable computer, ATA (Enhanced IDE) is used as an interface used to connect a hard disk drive. A typical transfer mode used in the Enhanced IDE is the above-described PIO mode. In ATA, PIO modes 0 to 4 are defined, and the maximum transfer rates are different from each other. The PIO mode is a transfer mode using handshaking between the CPU and the hard disk drive, and the CPU transfers data by repeatedly accessing the I / O port of the hard disk drive directly. Therefore, the transfer rate is not high, but this transfer method is sufficient in consideration of the data transfer capability of the hard disk drive itself that requires mechanical operations such as seek operation and spindle rotation.

【0012】しかし、最近では、ハードディスクの高密
度化が急速に進み、これに伴ってハードディスク自体の
データ転送能力も大幅に向上しており、PIOモード4
に加え、現在ではDMAモード、さらにはUltraD
MAモードに対応したディスクインターフェースを持つ
ものが主流となっている。このため、常にPIOモード
のみを使用してディスク装置との間のデータ入出力を行
うという従来のBIOSによるデータ転送方法では、デ
ィスク装置の性能を十分に引き出すことが出来ないとい
う問題が生じる。
However, in recent years, the density of hard disks has been rapidly increasing, and the data transfer capability of the hard disks themselves has been greatly improved.
In addition to the current DMA mode, and UltraD
Those having a disk interface compatible with the MA mode have become mainstream. Therefore, the conventional BIOS data transfer method of always performing data input / output with the disk device using only the PIO mode has a problem in that the performance of the disk device cannot be sufficiently brought out.

【0013】[0013]

【発明が解決しようとする課題】しかし、オペレーティ
ングシステムなどの上位プログラムからBIOSのディ
スクアクセスルーチン(INT13h)がコールされた
時に、常にDMA転送を用いてデータ転送を行うように
すると、その時のCPUの動作モードによっては重大な
エラーが引き起こされる危険がある。
However, if the data transfer is always performed by using the DMA transfer when the disk access routine (INT13h) of the BIOS is called from the host program such as the operating system, the CPU of the CPU at that time is required. Depending on the operating mode, there is a risk of causing a serious error.

【0014】すなわち、DMA転送(DMAモードまた
はUltraDMA)を実行する場合には、CPUのア
ドレス変換機構を用いるのではなく、BIOS自体が転
送先/転送元となる物理メモリアドレスを算出して、そ
れを転送元/転送先メモリアドレスとしてバスマスタI
DEコントローラなどのDMA制御ロジックに設定する
ことが必要となる。DMA転送では、メモリアクセスは
CPUではなく、バスマスタIDEコントローラなどの
DMA制御ロジックによって実行されるからである。と
ころが、実際には物理メモリアドレスの算出方法はCP
Uの動作モード(リアルモード、仮想アドレスモード)
によって異なる。
That is, when performing a DMA transfer (DMA mode or UltraDMA), the BIOS itself calculates a physical memory address to be a transfer destination / transfer source instead of using the address conversion mechanism of the CPU, and executes the calculation. The bus master I as the source / destination memory address
It is necessary to set in the DMA control logic such as the DE controller. This is because, in the DMA transfer, the memory access is executed not by the CPU but by the DMA control logic such as the bus master IDE controller. However, the physical memory address calculation method is actually CP
U operation mode (real mode, virtual address mode)
Depends on

【0015】すなわち、リアルモードでは、セグメント
×16+オフセット=物理メモリアドレスという計算に
よってセグメントおよびオフセットから物理アドレスへ
の変換が行われるが、V86モードやプロテクトモード
などの仮想アドレスモードでは、ディスクプリタテーブ
ルと称される仮想アドレス変換テーブルを参照すること
が必要となる。ディスクプリタテーブルの参照には特権
レベルが必要であり、通常は、オペレーティングシステ
ム以外の他のプログラム(BIOSを含む)はそれをア
クセスすることはできない。
That is, in the real mode, the segment and the offset are converted into the physical address by the calculation of segment × 16 + offset = physical memory address. In the virtual address mode such as the V86 mode or the protect mode, the descriptor table and the address are converted. It is necessary to refer to the so-called virtual address translation table. A privilege level is required to refer to the descriptor table, and normally, programs (including the BIOS) other than the operating system cannot access it.

【0016】したがって、もしBIOSがCPUの動作
モードに関係なく常にセグメント×16+オフセット=
物理メモリアドレスという計算によって物理メモリアド
レスを計算して、それを用いてDMA転送のための処理
を開始すると、CPUが仮想アドレスモード(例えばV
86モード)であった場合には誤った物理メモリアドレ
スが算出されてしまい、結果的に誤動作を引き起こすこ
とになる。
Therefore, if the BIOS always performs the segment × 16 + offset = regardless of the operation mode of the CPU.
When the physical memory address is calculated by the calculation of the physical memory address and the process for the DMA transfer is started using the calculated physical memory address, the CPU sets the virtual address mode (for example, V
86 mode), an incorrect physical memory address is calculated, resulting in a malfunction.

【0017】本発明は上述の事情に鑑みてなされたもの
であり、CPUの動作モードを考慮してDMA転送モー
ドの実行条件を決定できるようにし、動作の信頼性が高
く、しかも十分にディスク装置との間のデータ転送効率
の向上を図ることが可能なコンピュータシステムおよび
データ転送制御方法を提供することを目的とする。
SUMMARY OF THE INVENTION The present invention has been made in view of the above circumstances, and enables the execution conditions of the DMA transfer mode to be determined in consideration of the operation mode of the CPU. It is an object of the present invention to provide a computer system and a data transfer control method capable of improving the data transfer efficiency between the computer system and the system.

【0018】[0018]

【課題を解決するための手段】上述の課題を解決するた
め、本発明は、セグメントおよびオフセットから物理メ
モリアドレスを計算する第1動作モードと、前記セグメ
ントおよびオフセットを含む仮想アドレスと仮想アドレ
ス変換テーブルとを用いて物理メモリアドレスを計算す
る第2動作モードとを有するCPUを備えたコンピュー
タシステムにおいて、前記コンピュータシステムに設け
られたディスク装置に対するアクセスが上位プログラム
から要求された場合、前記CPUの現在の動作モードが
前記第1動作モードおよび前記第2動作モードのいずれ
であるかを判別する動作モード判別手段と、前記動作モ
ード判別手段によって前記CPUの現在の動作モードが
前記第1動作モードであると判別された場合、前記CP
Uのレジスタにセットされている前記セグメントおよび
オフセットから物理メモリアドレスを算出し、その算出
した物理メモリアドレスおよび前記CPUの別のレジス
タにセットされているディスクアドレスを用いて、前記
上位プログラムから要求された前記ディスク装置との間
のデータ転送をDMA転送によって実行するディスクア
クセス制御手段とを具備することを特徴とする。
In order to solve the above-mentioned problems, the present invention provides a first operation mode for calculating a physical memory address from a segment and an offset, and a virtual address and virtual address conversion table including the segment and the offset. In a computer system having a CPU having a second operation mode for calculating a physical memory address by using a CPU, when an upper program requests access to a disk device provided in the computer system, Operating mode determining means for determining whether the operating mode is the first operating mode or the second operating mode; and determining that the current operating mode of the CPU is the first operating mode by the operating mode determining means. If determined, the CP
A physical memory address is calculated from the segment and offset set in the U register, and a request is issued from the higher-level program using the calculated physical memory address and the disk address set in another register of the CPU. Disk access control means for executing data transfer to and from the disk device by DMA transfer.

【0019】このコンピュータシステムにおいては、デ
ィスク装置に対するアクセスが上位プログラムから要求
された場合、そのときのCPUの動作モードが判別さ
れ、セグメントおよびオフセットから物理メモリアドレ
スを直接的に計算できる第1動作モードであることこと
を条件に、DMA転送のための処理が実行される。よっ
て、誤った物理メモリアドレスの算出などの不具合を招
くことなく、ディスク装置とメモリとの間のデータ転送
を効率よく実行することが可能となり、通常のディスク
入出力動作のみならず、オペレーティングシステムのブ
ートストラップ処理、およびハイバネーションからの復
帰処理の高速化を図ることが可能となる。
In this computer system, when an access to the disk device is requested from a host program, an operation mode of the CPU at that time is determined, and a first operation mode in which a physical memory address can be directly calculated from a segment and an offset. Is performed, a process for the DMA transfer is executed. Therefore, it is possible to efficiently execute the data transfer between the disk device and the memory without causing a trouble such as calculation of an erroneous physical memory address. It is possible to speed up the bootstrap processing and the recovery processing from hibernation.

【0020】前記ディスクアクセス制御手段は、前記動
作モード判別手段によって前記CPUの現在の動作モー
ドが前記第2動作モードであると判別された場合には、
前記CPUに前記ディスク装置に対するアクセスを繰り
返し実行させるPIO転送モードによって、前記上位プ
ログラムから要求された前記ディスク装置との間のデー
タ転送を実行するように構成することが好ましい。これ
により、CPUの現在の動作モードに応じてDMA転送
モードとPIO転送モードを選択的に実行することが可
能となり、常に最適な転送モードを利用することができ
る。
The disk access control means, if the current operation mode of the CPU is determined to be the second operation mode by the operation mode determination means,
It is preferable that a data transfer to and from the disk device requested by the host program is executed by a PIO transfer mode in which the CPU repeatedly executes access to the disk device. This makes it possible to selectively execute the DMA transfer mode and the PIO transfer mode according to the current operation mode of the CPU, and to always use the optimum transfer mode.

【0021】[0021]

【発明の実施の形態】以下、図面を参照して本発明の実
施形態を説明する。図1には、本発明の一実施形態に係
るコンピュータシステムの構成が示されている。このコ
ンピュータシステムは、ノートブックタイプまたはサブ
ノートタイプのポータブルパーソナルコンピュータであ
り、コンピュータ本体と、このコンピュータ本体に開閉
自在に取り付けられたLCDパネルユニットとから構成
されている。このコンピュータは、内蔵バッテリを有し
ており、その内蔵バッテリからの電力によって動作可能
に構成されている。また、ACアダプタを介してAC商
用電源などの外部電源から電力供給を受けることもでき
る。外部電源から電力供給を受けているときは、その外
部電源からの電力がコンピュータシステムの動作電源と
して用いられる。このとき、外部電源からの電力によっ
て内蔵バッテリの充電も自動的に行われる。ACアダプ
タが取り外されたり、あるいはAC商用電源のブレーカ
が落とされたときなどは、内蔵バッテリからの電力がコ
ンピュータシステムの動作電源として用いられる。
Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 shows a configuration of a computer system according to an embodiment of the present invention. This computer system is a portable personal computer of a notebook type or a sub-note type, and is composed of a computer main body and an LCD panel unit which is openably and closably attached to the computer main body. This computer has a built-in battery, and is configured to be operable with power from the built-in battery. Further, power can be supplied from an external power supply such as an AC commercial power supply via an AC adapter. When power is supplied from an external power source, the power from the external power source is used as an operating power source for the computer system. At this time, the built-in battery is automatically charged by the power from the external power supply. When the AC adapter is removed or the breaker of the AC commercial power supply is turned off, the power from the built-in battery is used as the operation power supply of the computer system.

【0022】また、コンピュータ本体には、IDEイン
ターフェイスを有するハードディスクドライブ(HD
D)17が取り外し自在に装着されている。このHDD
17はコンピュータの二次記憶として使用されるもので
ある。
Also, a hard disk drive (HD) having an IDE interface is provided in the computer main body.
D) 17 is detachably mounted. This HDD
Reference numeral 17 is used as secondary storage of a computer.

【0023】また、このコンピュータのシステムボード
上には、図示のように、CPU11、ホスト−PCIブ
リッジ12、主メモリ13、VGAコントローラ14、
PCI−ISAブリッジ15、バスマスタIDEコント
ローラ16、BIOS−ROM18、埋め込みコントロ
ーラ(EC)20、電源コントローラ(PSC)21な
どが設けられている。
On the system board of the computer, a CPU 11, a host-PCI bridge 12, a main memory 13, a VGA controller 14,
A PCI-ISA bridge 15, a bus master IDE controller 16, a BIOS-ROM 18, an embedded controller (EC) 20, a power supply controller (PSC) 21, and the like are provided.

【0024】CPU11は、このシステム全体の動作制
御およびデータ処理を実行する。このCPU11として
は、メモリセグメンテーション機構および仮想アドレッ
シング機構をサポートするもの、例えば、米インテル社
により製造販売されているマイクロプロセッサ“Pen
tium”などが使用される。この場合、CPU11
は、次のような動作を持つ。
The CPU 11 controls the operation of the entire system and executes data processing. The CPU 11 supports a memory segmentation mechanism and a virtual addressing mechanism, such as a microprocessor “Pen” manufactured and sold by Intel Corporation.
for example. In this case, the CPU 11
Has the following operation.

【0025】すなわち、CPU11は、アプリケーショ
ンプログラムやオペレーティングシステム(OS)など
のプログラムを実行するための動作モードとしてリアル
モード、プロテクトモード、仮想8086モード(V8
6モード)を有している。リアルモードはメモリセグメ
ンテーションを利用した実アドレスモードであり、プロ
テクトモードおよび仮想86モードは仮想アドレスモー
ドである。
That is, the CPU 11 operates as a real mode, a protect mode, and a virtual 8086 mode (V8) as operation modes for executing programs such as an application program and an operating system (OS).
6 modes). The real mode is a real address mode using memory segmentation, and the protect mode and the virtual 86 mode are virtual address modes.

【0026】すなわち、リアルモードは、最大で1Mバ
イトのメモリ空間をアクセスできるモードであり、論理
アドレスから物理アドレスへの変換は、セグメントレジ
スタで表されるベースアドレスからのオフセット値で物
理アドレスを決定するアドレス計算形式によって行われ
る。つまり、図2に示すように、セグメントはメモリ・
セグメントを仮想的に表す16ビットの値(セレクタと
称する場合もある)であり、物理メモリアドレスは、セ
グメントの値を4ビット左にシフトした(16倍)値を
ベースアドレスとし、それに16ビットで表されるオフ
セット値を加えることによって算出される。
That is, the real mode is a mode in which a memory space of a maximum of 1 Mbyte can be accessed, and the conversion from the logical address to the physical address is determined by the offset value from the base address represented by the segment register. This is done according to the address calculation format. In other words, as shown in FIG.
A 16-bit value (sometimes referred to as a selector) that virtually represents a segment. The physical memory address is a base address obtained by shifting the value of the segment to the left by 4 bits (16 times), and the 16-bit value. It is calculated by adding the represented offset value.

【0027】一方、プロテクトモードは1タスク当たり
最大4Gバイトのメモリ空間をアクセスできるモードで
あり、ディスクプリタテーブルと称される仮想アドレス
変換テーブルを用いてリニアアドレスが決定される。こ
のリニアアドレスは、ページングによって最終的に物理
アドレスに変換される。つまり、図3に示すように、セ
グメントの値はディスクプリタテーブルを参照するため
のポインタとして使用され、そのディスクプリタテーブ
ルから得られた値をベースアドレスとし、それに16ビ
ットで表されるオフセット値を加えることによってリニ
アアドレスが算出される。V86モードはプロテクトモ
ード環境下でリアルモードをエミュレーションするため
の動作モードであり、プロテクトモードと同じ仮想アド
レス計算方式が用いられる。
On the other hand, the protect mode is a mode in which a memory space of a maximum of 4 GB can be accessed per task, and a linear address is determined using a virtual address conversion table called a descriptor table. This linear address is finally converted to a physical address by paging. That is, as shown in FIG. 3, the segment value is used as a pointer for referring to the descriptor table, the value obtained from the descriptor table is used as the base address, and the offset value represented by 16 bits is used as the base address. The linear address is calculated by the addition. The V86 mode is an operation mode for emulating the real mode in a protected mode environment, and uses the same virtual address calculation method as the protected mode.

【0028】CPU11の初期化時の動作モードはリア
ルモードであり、オペレーティングシステム等のソフト
ウェア制御の下に、プロテクトモード、V86モードに
スイッチされる。
The operation mode at the time of initialization of the CPU 11 is a real mode, and is switched to a protect mode and a V86 mode under software control of an operating system or the like.

【0029】ホスト−PCIブリッジ12はCPUバス
1とPCIバス2間を双方向でつなぐブリッジであり、
ここには主メモリ13を制御するためのメモリコントロ
ーラも内蔵されている。主メモリ13はこのシステムの
主記憶つまりシステムメモリとして使用されるものであ
り、オペレーティングシステム、処理対象のアプリケー
ションプログラム、およびアプリケーションプログラム
によって作成されたユーザデータ等が格納される。この
主メモリ13はDRAMなどの半導体メモリによって実
現されている。
The host-PCI bridge 12 is a bridge for connecting the CPU bus 1 and the PCI bus 2 in two directions.
Here, a memory controller for controlling the main memory 13 is also incorporated. The main memory 13 is used as a main memory of the system, that is, a system memory, and stores an operating system, an application program to be processed, user data created by the application program, and the like. The main memory 13 is realized by a semiconductor memory such as a DRAM.

【0030】BIOS−ROM18は、システムBIO
S(Basic I/O System)を記憶するた
めのものであり、プログラム書き替えが可能なようにフ
ラッシュメモリによって構成されている。システムBI
OSは、このシステム内の各種ハードウェアをアクセス
するためのファンクション実行ルーチンを体系化したも
のであり、リアルモードで動作するように構成されてい
る。このシステムBIOSには、システムのパワーオン
時にオペレーティングシステムをブートストラップする
ための処理ルーチンと、各種ハードウェア制御のための
BIOSドライバ群などが含まれている。各BIOSド
ライバは、ハードウェア制御のための複数の機能をオペ
レーティングシステムやアプリケーションプログラムに
提供するためにそれら機能に対応する複数のファンクシ
ョン実行ルーチン群を含んでいる。上位プログラムから
INT13hがコールされると、BIOSのハードディ
スクドライバが実行される。このドライバ(INT13
h)には、HDD17との間のデータ転送をDMA転送
によって行うための機能とPIO転送によって行う機能
とが含まれている。
The BIOS-ROM 18 stores a system BIOS.
This is for storing S (Basic I / O System), and is constituted by a flash memory so that a program can be rewritten. System BI
The OS is a systematized function execution routine for accessing various hardware in the system, and is configured to operate in a real mode. The system BIOS includes a processing routine for bootstrapping the operating system when the system is powered on, and a group of BIOS drivers for controlling various hardware. Each BIOS driver includes a plurality of function execution routine groups corresponding to the functions for providing a plurality of functions for hardware control to an operating system or an application program. When the upper program calls INT13h, the hard disk driver of the BIOS is executed. This driver (INT13
h) includes a function for performing data transfer with the HDD 17 by DMA transfer and a function for performing data transfer by PIO transfer.

【0031】EC20は、システムが持つ付加機能を制
御するためのコントローラであり、CPU周辺温度など
に応じてクーリングファンの回転制御などを行うための
熱制御機能、システムの各種状態をLEDの点灯やビー
プ音によってユーザに通知するためのLED/ビープ音
制御機能、電源コントローラ21と共同してシステム電
源のオン/オフなどを制御する電源シーケンス制御機
能、および電源ステータス通知機能などを有している。
ハイバネーション状態においても、EC20および電源
コントローラ21には動作電源が供給されており、電源
スイッチ22およびパネルスイッチ23のオン・オフが
監視される。
The EC 20 is a controller for controlling additional functions of the system. The EC 20 has a heat control function for controlling the rotation of a cooling fan according to the temperature around the CPU and the like. It has an LED / beep sound control function for notifying a user with a beep sound, a power supply sequence control function for controlling on / off of the system power supply in cooperation with the power supply controller 21, a power supply status notification function, and the like.
Even in the hibernation state, the operating power is supplied to the EC 20 and the power controller 21, and the on / off of the power switch 22 and the panel switch 23 is monitored.

【0032】ハイバネーションはシステム電源オフなど
のパワーセーブモードへの移行イベントの発生時にCP
U11および各種周辺LSIのステータス、および主メ
モリ13の内容などをハードディスク17にセーブした
後に主メモリ17を含むシステム内のほとんどすべての
デバイスをパワーダウンさせるモードである。ハイバネ
ーション状態においてシステム電源オフなどのウェイク
アップイベントが発生すると、ハードディスク17にセ
ーブされているメモリイメージが主メモリ13にリスト
アされ、ハイバネーション前の作業状態に復元される。
ハイバネーションの実行および復帰処理の制御はACP
I(Advanced Configuration and PowerInterface)対
応のOSの管理下で実行される。
Hibernation occurs when a transition event to the power save mode such as system power off occurs.
In this mode, almost all devices in the system including the main memory 17 are powered down after the status of the U11 and various peripheral LSIs, the contents of the main memory 13, and the like are saved in the hard disk 17. When a wake-up event such as a system power-off occurs in the hibernation state, the memory image saved on the hard disk 17 is restored to the main memory 13, and the work state before the hibernation is restored.
The control of hibernation execution and return processing is ACP
It is executed under the management of an OS compatible with I (Advanced Configuration and Power Interface).

【0033】VGAコントローラ14は、このシステム
のディスプレイモニタとして使用されるLCDおよび外
部CRTを制御するためのものであり、VRAMに描画
された画面データをLCDおよび外部CRTの一方また
は双方に表示する。
The VGA controller 14 controls an LCD and an external CRT used as a display monitor of the system, and displays screen data drawn on the VRAM on one or both of the LCD and the external CRT.

【0034】バスマスタIDEコントローラ16は、コ
ンピュータ本体に装着されたIDEデバイス(ここで
は、HDD17)を制御するためのものであり、IDE
デバイスと主メモリ13との間のDMA転送を実行可能
なバスマスタ機能(DMAコントローラ)を有してい
る。このバスマスタ機能は、CPU11からのコマンド
に応じて自らデータ転送のためのバスサイクル(DMA
転送)を実行するものであり、PIOモードよりもCP
U負荷を低減した状態で、IDEデバイスと主メモリ1
3との間のデータ転送を高速実行する事ができる。
The bus master IDE controller 16 controls an IDE device (here, the HDD 17) mounted on the computer main body.
It has a bus master function (DMA controller) capable of executing DMA transfer between the device and the main memory 13. This bus master function performs a bus cycle (DMA) for data transfer by itself in response to a command from the CPU 11.
Transfer), and the CP is higher than in the PIO mode.
With the U load reduced, the IDE device and main memory 1
3 can be performed at high speed.

【0035】次に、図4を参照して、BIOSのディス
クアクセス動作について説明する。
Next, the disk access operation of the BIOS will be described with reference to FIG.

【0036】ここでは、オペレーティングシステムなど
の上位プログラムからBIOSのディスクドライバ(I
NT13h)がコールされた場合を想定する。INT1
3hのBIOSコールはCPU11のソフトウェア割り
込み機能を用いて実現されている。この場合、上位プロ
グラムからBIOSのディスクドライバ(INT13
h)には、CPU11のレジスタを通じて以下のI/O
パラメタが通知される。
In this case, a host computer such as an operating system sends a BIOS disk driver (I
NT13h) is assumed to be called. INT1
The BIOS call of 3h is realized by using a software interrupt function of the CPU 11. In this case, the upper level program sends the BIOS disk driver (INT13
h), the following I / O through the register of the CPU 11
The parameter is notified.

【0037】 R/Wファンクション:ディスクリードまたはディスクライトを示す 転送セクタ数: ディスク装置との間でデータ転送すべきセクタ数 セグメント: 上述の16ビットのセグメント値 オフセット: 上述の16ビットのオフセット値 HDDアドレス:ディスクアクセスを行うべき開始アドレス ドライブ番号: アクセス対象のディスク装置のドライブ番号 上位プログラムは、これらR/Wファンクション、転送
セクタ数、セグメント、オフセット、HDDアドレス、
ドライブ番号をそれぞれCPU11のAHレジスタ、A
Lレジスタ、ESレジスタ、BXレジスタ、CX/DH
レジスタ、DLレジスタなどにセットした後に、INT
13hをコールする。これにより、BIOSのディスク
ドライバ(INT13h)に制御が移る。
R / W Function: Number of transfer sectors indicating disk read or disk write: Number of sectors to transfer data to / from disk device Segment: 16-bit segment value described above Offset: 16-bit offset value described above HDD Address: Start address at which disk access is to be performed Drive number: Drive number of the disk device to be accessed The upper program includes these R / W functions, number of transfer sectors, segments, offset, HDD address
Set the drive numbers to the AH register and A
L register, ES register, BX register, CX / DH
After setting to the register, DL register, etc., INT
Call 13h. As a result, control is transferred to the BIOS disk driver (INT13h).

【0038】BIOSのディスクドライバ(INT13
h)は、まず、上位プログラムが動作していたCPU1
1の動作モード、つまり現在のCPU11の動作モード
をチェックし、仮想アドレスモードであるか、リアルモ
ードであるかを判別する(ステップS101,S10
2)。上述したようにBIOSはリアルモードで動作す
るように構成されているので、上位プログラムからのB
IOSコールは、リアルモード又はV86モードで行わ
れる。したがって、CPU11内のステータスレジスタ
のV86フラグがオンであるか否かを調べることによ
り、仮想アドレスモードであるか、リアルモードである
かを判別することができる。
The BIOS disk driver (INT13
h) First, the CPU 1 on which the host program was running
1 is checked, that is, the current operation mode of the CPU 11 is determined, and it is determined whether the operation mode is the virtual address mode or the real mode (steps S101 and S10).
2). As described above, the BIOS is configured to operate in the real mode.
IOS calls are made in real mode or V86 mode. Therefore, by checking whether or not the V86 flag of the status register in the CPU 11 is on, it is possible to determine whether the mode is the virtual address mode or the real mode.

【0039】仮想アドレスモード、つまりV86モード
である場合、BIOSのディスクドライバ(INT13
h)は、CPU11にHDD17に対するアクセスを繰
り返し実行させるというPIO転送モードによってHD
D17との間のデータ転送を実行する(ステップS10
3)。
In the virtual address mode, that is, in the V86 mode, the BIOS disk driver (INT13
h) shows the case in which the CPU 11 repeatedly accesses the HDD 17 by using the PIO transfer mode.
Data transfer with D17 is executed (step 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のメモリ番地から順
に書き込むバスサイクルを実行する。
On the other hand, if the mode is the real mode, the BIOS disk driver (INT13h) executes data transfer with the HDD 17 in the DMA transfer mode (step S104). In this case, the BIOS disk driver (INT13h) first calculates the physical memory address from the value of the offset of the BX register and the segment of the ES register (segment × 16 + offset =
Physical memory address), and calculate the physical memory address. Then, the BIOS disk driver (I
NT13h) has its physical memory address and CX / D
The HDD address set to H is set to the bus master IDE controller 16 as the initial value of the transfer source / destination address, and the number of transfer sectors of the AL register is set to the bus master IDE controller 16 as the data transfer width. Thereby, the bus master ID
The E controller 16 starts the DMA transfer. For example, in the case of a disk read from the disk to the main memory 13, the bus master IDE controller 16 reads data in order from the sector data at the position specified by the HDD address, and specifies the read data by the physical memory address. A bus cycle for writing data from the memory addresses of the main memory 13 is sequentially executed.

【0041】図5は、仮想アドレスモードであるか否か
だけではなく、HDD17がサポートする転送モードも
考慮してデータ転送モードを決定する場合の処理例であ
る。
FIG. 5 shows an example of processing when the data transfer mode is determined in consideration of not only the virtual address mode but also the transfer mode supported by the HDD 17.

【0042】即ち、BIOSのディスクドライバ(IN
T13h)は、まず、上位プログラムが動作していたC
PU11の動作モード、つまり現在のCPU11の動作
モードをチェックし、仮想アドレスモードであるか、リ
アルモードであるかを判別する(ステップS101,S
102)。ここまでは、図4と同じである。
That is, the BIOS disk driver (IN
T13h) First, C in which the upper-level program was operating
The operation mode of the PU 11, that is, the current operation mode of the CPU 11 is checked, and it is determined whether the operation mode is the virtual address mode or the real mode (steps S101 and S101).
102). Up to this point, it is the same as FIG.

【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転送モードである。
In the virtual address mode, that is, the V86 mode, the BIOS disk driver (INT13
h) indicates that the HDD 17 reads / writes based on the drive parameter information read from the HDD 17.
It is determined whether a Multiple command is supported (step S201), and based on the result,
The data transfer using the Read / Write Multiple command or the Read / Write Sector command is executed (step S202). Re
ad / Write Multiple is a command that can collectively specify read / write for a plurality of sectors.
If the Read / Write Multiple command is not supported, the Read / Write command specifying read / write in a single sector unit is used for HDD access.
A data transfer mode using a Write Sector command is used. Read / Write Multi
iple and Read / Write Sector
Are the PIO transfer modes.

【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転送のためのコマンドであ
る。
In the real mode, the disk driver (INT 13 h) of the BIOS reads the HDD 17 based on the drive parameter information read from the HDD 17.
It is determined whether or not 17 supports DMA (step S204). H if not supported
For DD access, the aforementioned Read / Write Mul
Use the tiple command. If DMA is supported, it is next determined whether Ultra DMA is supported (step S205). If not supported, DMA access
Use the read / write command (step S2)
07). If supported, Ultra DMA
A Read / Write command is used (step S208). DMA Read / Write command,
Both the Ultra DMA Read / Write command and the Ultra DMA Read / Write command are commands for the aforementioned DMA transfer.

【0045】多くのHDDはRead/Write M
ultipleおよびUltraDMA Read/W
riteをサポートしているので、転送セクター数が2
以上であれは、実際には、仮想アドレスモードではRe
ad/Write MultipleコマンドによるP
IO転送が実行され、リアルモードではUltraDM
A Read/Writeコマンドを用いたDMA転送
が実行されることになる。
Many HDDs are Read / Write M
multiple and UltraDMA Read / W
support write, the number of transfer sectors is 2
Above, actually, in virtual address mode, Re
P by ad / Write Multiple command
IO transfer is executed, and in real mode, UltraDM
A DMA transfer using the A Read / Write command is executed.

【0046】データ転送レートは、Ultra DMA
Read/Writeが最も高く、次いで、DMA
Read/Write、Read/Write Mul
tiple、Read/Write Sectorの順
となる。
The data transfer rate is Ultra DMA
Read / Write is highest, then DMA
Read / Write, Read / Write Mul
type, then Read / Write Sector.

【0047】次に、図6を参照して、システム起動時、
つまりオペレーティングシステム(OS)をブートスト
ラップするときの動作について説明する。
Next, referring to FIG.
That is, the operation when bootstrapping the operating system (OS) will be described.

【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)をコ
ールする。
When the system is powered on by turning on the power switch 22, the BIOS uses the disk driver (INT 13h) to read the contents of the MBR (Master Boot Record) of the HDD 17 into the main memory 13. Perform disk access. The MBR includes a master boot code for reading a boot code (OS loader) from the active partition, and control is passed to the master boot code.
The master boot code stores the OS in a register of the CPU 11.
After setting the parameters required for loading the loader,
Call the disk driver (INT13h) of the IOS. The disk driver (INT13h) executes the disk read specified from the master boot code, and
The OS loader is read into the main memory 13. Thereafter, control is passed to the OS loader. The OS loader sets parameters necessary for reading the kernel in the register of the CPU 11, and then calls the disk driver (INT13h) of the BIOS.

【0049】ディスクドライバ(INT13h)は、O
Sローダから指定されたディスクリードを実行して、カ
ーネルを主メモリ13に読み込む。この後、OSローダ
からカーネルに制御が渡される。カーネルは各種ドライ
バの読み込みをBIOSのディスクドライバ(INT1
3h)を用いて行うが、その途中で、リアルモードから
プロテクトモードへの切り換えが行われる。BIOSの
ディスクドライバ(INT13h)をコールする場合に
は、V86モードが用いられる。ディスクドライバ(I
NT13h)がコールされる環境がリアルモードからV
86モードに切り替えられるまでは、ディスクドライバ
(INT13h)によるディスク装置とメモリとの間の
データ転送は全てDMA転送によって行われる。そし
て、V86モードに切り替えられた後は、PIOモード
によるディスクアクセスが行われる。これにより、ディ
スクドライバ(INT13h)が常にPIOモードによ
ってディスクアクセスを行う場合に比べ、OSのブート
ストラップシーケンスの高速化を図ることが可能とな
る。
The disk driver (INT13h)
The disk read specified by the S loader is executed to read the kernel into the main memory 13. Thereafter, control is passed from the OS loader to the kernel. The kernel reads the various drivers by using the BIOS disk driver (INT1).
3h), the switching from the real mode to the protect mode is performed in the middle. When calling the disk driver (INT13h) of the BIOS, the V86 mode is used. Disk driver (I
NT13h) is called from real mode to V
Until switching to the 86 mode, all data transfer between the disk device and the memory by the disk driver (INT13h) is performed by DMA transfer. After switching to the V86 mode, disk access in the PIO mode is performed. This makes it possible to speed up the bootstrap sequence of the OS as compared with the case where the disk driver (INT13h) always accesses the disk in the PIO mode.

【0050】次に、図7を参照して、ハイバネーション
状態からの復帰時の動作について説明する。
Next, with reference to FIG. 7, an operation when returning from the hibernation state will be described.

【0051】電源スイッチ22のオンなどのウェイクア
ップイベントが発生すると、BIOSはそのディスクド
ライバ(INT13h)を用いて、HDD17のMBR
(Master Boot Record)の内容を主メモリ13に読み込
むためのディスクアクセスを行う。MBRにはアクティ
ブパーティションからブートコード(OSローダ)を読
み出してくるためのマスターブートコードが含まれてお
り、マスターブートコードに制御が渡される。マスター
ブートコードは、CPU11のレジスタにOSローダの
読み込みに必要なパラメータを設定した後、BIOSの
ディスクドライバ(INT13h)をコールする。ディ
スクドライバ(INT13h)は、マスターブートコー
ドから指定されたディスクリードを実行して、OSロー
ダを主メモリ13に読み込む。この後、OSローダに制
御が渡される。OSローダは、ハイバネーションからの
復帰であるか通常のブートストラップであるかを判定す
る。この判定は、例えばハイバネーション状態への移行
時にそれを示すフラグをOS内部やEC20のレジスタ
などに記憶しておき、OSローダの実行時にそれを参照
すること等によって行うことができる。
When a wake-up event such as turning on of the power switch 22 occurs, the BIOS uses the disk driver (INT 13h) to execute the MBR operation of the HDD 17.
A disk access for reading the contents of (Master Boot Record) into the main memory 13 is performed. The MBR includes a master boot code for reading a boot code (OS loader) from the active partition, and control is passed to the master boot code. The master boot code sets parameters necessary for reading the OS loader in the register of the CPU 11, and then calls the BIOS disk driver (INT13h). The disk driver (INT13h) reads the OS loader into the main memory 13 by executing a disk read specified by the master boot code. Thereafter, control is passed to the OS loader. The OS loader determines whether the process is a return from hibernation or a normal bootstrap. This determination can be made, for example, by storing a flag indicating the shift to the hibernation state in the OS or a register of the EC 20 and referring to the flag when executing the OS loader.

【0052】ハイバネーションからの復帰である場合に
は、OSローダは、CPU11のレジスタに、HDD1
7にセーブされているメモリイメージの読み込みに必要
なパラメータを設定した後、BIOSのディスクドライ
バ(INT13h)をコールする。ディスクドライバ
(INT13h)は、OSローダから指定されたディス
クリードを実行して、メモリイメージを主メモリ13に
読み込む。この時、CPU11はまだリアルモードであ
るので、HDD17から主メモリ13へのメモリイメー
ジの転送はDMA転送によって高速実行される。この
後、OSによって各主デバイスの状態復元に必要な処理
等が実行されることにより、ハイバネーション移行前の
作業環境が復元される。
In the case of returning from hibernation, the OS loader stores the HDD 1 in the register of the CPU 11.
After setting the parameters necessary for reading the memory image saved in step 7, the disk driver (INT13h) of the BIOS is called. The disk driver (INT13h) reads the memory image into the main memory 13 by executing the disk read specified by the OS loader. At this time, since the CPU 11 is still in the real mode, the transfer of the memory image from the HDD 17 to the main memory 13 is executed at high speed by DMA transfer. Thereafter, the OS executes processing necessary for restoring the state of each main device, thereby restoring the work environment before the transition to hibernation.

【0053】以上のように、本実施形態によれば、上位
プログラムからディスク入出力動作が要求された時のC
PU11の動作モードに応じてDMA転送とPIO転送
を選択的に切り替えて実行することにより、誤った物理
メモリアドレスの算出などの不具合を招くことなく、デ
ィスク装置とメモリとの間のデータ転送を効率よく実行
することが可能となる。特に、ハイバネーションからの
復帰時には大量のメモリイメージデータを高速データ転
送可能なUltra DMA Read/Writeコ
マンドを用いることにより、PIOを用いる場合比べ、
メモリイメージデータの読み込みに要する時間を大幅に
短縮することができる。
As described above, according to the present embodiment, when the disk I / O operation is requested from the higher-level program, C
By selectively switching and executing the DMA transfer and the PIO transfer according to the operation mode of the PU 11, the data transfer between the disk device and the memory can be efficiently performed without causing a trouble such as calculation of an incorrect physical memory address. It is possible to execute well. In particular, when returning from hibernation, by using the Ultra DMA Read / Write command capable of transferring a large amount of memory image data at high speed, compared with the case using PIO,
The time required to read the memory image data can be greatly reduced.

【0054】[0054]

【発明の効果】以上説明したように、本発明によれば、
動作の信頼性を損なうことなく、ディスク装置との間の
データ転送効率を十分に向上させることが可能となる。
As described above, according to the present invention,
It is possible to sufficiently improve the data transfer efficiency with the disk device without impairing the reliability of the operation.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の一実施形態に係るコンピュータシステ
ムの構成を示すブロック図。
FIG. 1 is a block diagram showing a configuration of a computer system according to an embodiment of the present invention.

【図2】同実施形態においてCPUがリアルモード時に
おける物理アドレス計算方式を説明するための図。
FIG. 2 is an exemplary view for explaining a physical address calculation method when the CPU is in a real mode in the embodiment.

【図3】同実施形態においてCPUがプロテクトモード
時における物理アドレス計算方式を説明するための図。
FIG. 3 is an exemplary view for explaining a physical address calculation method when the CPU is in a protect mode in the embodiment;

【図4】同実施形態で実行されるディスクアクセス動作
を説明するためのフローチャート。
FIG. 4 is an exemplary flowchart for explaining a disk access operation executed in the embodiment.

【図5】同実施形態で実行されるディスクアクセス動作
の第2の例を説明するためのフローチャート。
FIG. 5 is an exemplary flowchart for explaining a second example of the disk access operation executed in the embodiment;

【図6】同実施形態におけるオペレーティングシステム
のブートストラップ動作を説明するためのフローチャー
ト。
FIG. 6 is an exemplary flowchart for explaining a bootstrap operation of the operating system in the embodiment.

【図7】同実施形態におけるハイバネーションからの復
帰動作を説明するためのフローチャート。
FIG. 7 is an exemplary flowchart for explaining a return operation from hibernation in the embodiment.

【符号の説明】[Explanation of symbols]

11…CPU 12…ホスト−PCIブリッジ 13…主メモリ 16…バスマスタIDEコントローラ 17…HDD 18…BIOS−ROM DESCRIPTION OF SYMBOLS 11 ... CPU 12 ... Host-PCI bridge 13 ... Main memory 16 ... Bus master IDE controller 17 ... HDD 18 ... BIOS-ROM

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】 セグメントおよびオフセットから物理メ
モリアドレスを計算する第1動作モードと、前記セグメ
ントおよびオフセットを含む仮想アドレスと仮想アドレ
ス変換テーブルとを用いて物理メモリアドレスを計算す
る第2動作モードとを有するCPUを備えたコンピュー
タシステムにおいて、 前記コンピュータシステムに設けられたディスク装置に
対するアクセスが上位プログラムから要求された場合、
前記CPUの現在の動作モードが前記第1動作モードお
よび前記第2動作モードのいずれであるかを判別する動
作モード判別手段と、 前記動作モード判別手段によって前記CPUの現在の動
作モードが前記第1動作モードであると判別された場
合、前記CPUのレジスタにセットされている前記セグ
メントおよびオフセットから物理メモリアドレスを算出
し、その算出した物理メモリアドレスおよび前記CPU
の別のレジスタにセットされているディスクアドレスを
用いて、前記上位プログラムから要求された前記ディス
ク装置との間のデータ転送をDMA転送によって実行す
るディスクアクセス制御手段とを具備することを特徴と
するコンピュータシステム。
1. A first operation mode for calculating a physical memory address from a segment and an offset, and a second operation mode for calculating a physical memory address using a virtual address including the segment and an offset and a virtual address conversion table. In a computer system having a CPU having, when access to a disk device provided in the computer system is requested from a higher-level program,
Operating mode determining means for determining whether the current operating mode of the CPU is the first operating mode or the second operating mode; and determining whether the current operating mode of the CPU is the first operating mode by the operating mode determining means. When it is determined that the operation mode is set, the physical memory address is calculated from the segment and the offset set in the register of the CPU, and the calculated physical memory address and the CPU are calculated.
Disk access control means for executing, by DMA transfer, data transfer to and from the disk device requested by the higher-level program using a disk address set in another register of Computer system.
【請求項2】 前記ディスクアクセス制御手段は、 前記動作モード判別手段によって前記CPUの現在の動
作モードが前記第2動作モードであると判別された場
合、前記CPUに前記ディスク装置に対するアクセスを
繰り返し実行させるPIO転送モードによって、前記上
位プログラムから要求された前記ディスク装置との間の
データ転送を実行する手段をさらに含むことを特徴とす
る請求項1記載のコンピュータシステム。
2. The disk access control means, when the operation mode determination means determines that the current operation mode of the CPU is the second operation mode, repeatedly executes the access to the disk device by the CPU. 2. The computer system according to claim 1, further comprising means for executing data transfer to and from said disk device requested by said higher-level program according to the PIO transfer mode to be performed.
【請求項3】 前記ディスク装置と前記コンピュータシ
ステムのメモリとの間でDMA転送を実行するDMA転
送手段をさらに具備し、 前記ディスクアクセス制御手段は、前記算出した物理メ
モリアドレスおよび前記CPUの別のレジスタにセット
されているディスクアドレスを前記DMA転送手段にセ
ットすることにより、前記上位プログラムから要求され
た前記ディスク装置との間のデータ転送を前記DMA転
送手段に実行させることを特徴とする請求項1記載のコ
ンピュータシステム。
3. The system according to claim 1, further comprising a DMA transfer unit for performing a DMA transfer between the disk device and a memory of the computer system, wherein the disk access control unit is configured to calculate the physical memory address and another of the CPU. The method according to claim 1, wherein a disk address set in a register is set in the DMA transfer means, thereby causing the DMA transfer means to execute data transfer with the disk device requested by the upper-level program. 2. The computer system according to 1.
【請求項4】 前記DMA転送手段はバスマスタ機能を
有するディスク制御装置であり、前記ディスク制御装置
を介して前記ディスク装置と前記メモリとの間のDMA
転送が実行されるように構成されていることを特徴とす
る請求項3記載のコンピュータシステム。
4. The DMA transfer means is a disk control device having a bus master function, and a DMA transfer between the disk device and the memory via the disk control device.
The computer system according to claim 3, wherein the transfer is performed.
【請求項5】 前記上位プログラムはオペレーティング
システムであり、前記オペレーティングシステムが、そ
のブートストラップシーケンスの途中で前記CPUの動
作モードを前記第1動作モードから前記第2動作モード
に切り替えるまでは、前記ディスクアクセス制御手段
は、前記ブートストラップシーケンス中の前記オペレー
ティングシステムからの要求に応じて、前記オペレーテ
ィングシステムを構成するファイル群を前記ディスク装
置からリードするためのデータ転送をDMA転送によっ
て実行することを特徴とする請求項1記載のコンピュー
タシステム。
5. The disk drive according to claim 1, wherein the host program is an operating system, and the operating system switches the operation mode of the CPU from the first operation mode to the second operation mode during the bootstrap sequence. The access control means executes, by DMA transfer, data transfer for reading a group of files constituting the operating system from the disk device in response to a request from the operating system during the bootstrap sequence. The computer system of claim 1, wherein
【請求項6】 パワーセーブモード時にコンピュータシ
ステムの主メモリの内容をそのシステムのディスク装置
にセーブし、前記パワーセーブモードからのウェイクア
ップ時に前記ディスク装置にセーブされているメモリイ
メージを前記主メモリにリストアするハイバネーション
機能を有するコンピュータシステムにおいて、 セグメントおよびオフセットから物理メモリアドレスを
計算する第1動作モードと、前記セグメントおよびオフ
セットを含む仮想アドレスと仮想アドレス変換テーブル
とを用いて物理メモリアドレスを計算する第2動作モー
ドとを有するCPUと、 上位プログラムから前記メモリイメージのリストアが要
求された場合、前記CPUの現在の動作モードが前記第
1動作モードおよび前記第2動作モードのいずれである
かを判別する動作モード判別手段と、 前記動作モード判別手段によって前記CPUの現在の動
作モードが前記第1動作モードであると判別された場
合、前記CPUのレジスタにセットされている前記セグ
メントおよびオフセットから物理メモリアドレスを算出
し、その算出した物理メモリアドレスおよび前記CPU
の別のレジスタにセットされているディスクアドレスを
用いて、前記上位プログラムから要求されたメモリイメ
ージのリストアをDMA転送によって実行するディスク
アクセス制御手段とを具備することを特徴とするコンピ
ュータシステム。
6. The contents of the main memory of the computer system are saved in a disk device of the system in the power save mode, and the memory image saved in the disk device is written in the main memory at the time of waking up from the power save mode. In a computer system having a hibernation function for restoring, a first operation mode for calculating a physical memory address from a segment and an offset, and a second operation mode for calculating a physical memory address using a virtual address and a virtual address conversion table including the segment and the offset. A CPU having two operation modes, and when a higher-level program requests restoration of the memory image, which of the first operation mode and the second operation mode is the current operation mode of the CPU? Operating mode determining means for determining, and when the current operating mode of the CPU is determined to be the first operating mode by the operating mode determining means, a physical value is obtained from the segment and offset set in a register of the CPU. Calculating a memory address, and calculating the calculated physical memory address and the CPU
And a disk access control means for executing a restore of the memory image requested by the upper-level program by DMA transfer using a disk address set in another register of the computer system.
【請求項7】 前記ディスク装置と前記コンピュータシ
ステムのメモリとの間でDMA転送を実行するDMA転
送手段をさらに具備し、 前記ディスクアクセス制御手段は、前記算出した物理メ
モリアドレスおよび前記CPUの別のレジスタにセット
されているディスクアドレスを前記DMA転送手段にセ
ットすることにより、前記上位プログラムから要求され
た前記メモリイメージのリストアを前記DMA転送手段
に実行させることを特徴とする請求項6記載のコンピュ
ータシステム。
7. The system according to claim 1, further comprising a DMA transfer unit configured to execute a DMA transfer between the disk device and a memory of the computer system, wherein the disk access control unit is configured to determine the calculated physical memory address and another of the CPU. 7. The computer according to claim 6, wherein a disk address set in a register is set in said DMA transfer means, thereby causing said DMA transfer means to execute restoration of said memory image requested by said higher-level program. system.
【請求項8】 セグメントおよびオフセットから物理メ
モリアドレスを計算する第1動作モードと、前記セグメ
ントおよびオフセットを含む仮想アドレスと仮想アドレ
ス変換テーブルとを用いて物理メモリアドレスを計算す
る第2動作モードとを有するCPUを備えたコンピュー
タシステムに適用されるデータ転送制御方法であって、 前記コンピュータシステムに設けられたディスク装置に
対するアクセスが上位プログラムから要求された場合、
前記CPUの現在の動作モードが前記第1動作モードお
よび前記第2動作モードのいずれであるかを判別する動
作モード判別ステップと、 前記動作モード判別ステップによって前記CPUの現在
の動作モードが前記第1動作モードであると判別された
場合、前記CPUのレジスタにセットされている前記セ
グメントおよびオフセットから物理メモリアドレスを算
出し、その算出した物理メモリアドレスおよび前記CP
Uの別のレジスタにセットされているディスクアドレス
を用いて、前記ディスク装置との間のデータ転送をDM
A転送によって実行するステップとを具備することを特
徴とするデータ転送制御方法。
8. A first operation mode for calculating a physical memory address from a segment and an offset, and a second operation mode for calculating a physical memory address using a virtual address including the segment and an offset and a virtual address conversion table. A data transfer control method applied to a computer system having a CPU having the above method, wherein an access to a disk device provided in the computer system is requested from a higher-level program,
An operation mode determining step of determining whether the current operation mode of the CPU is the first operation mode or the second operation mode; and the operation mode determination step determines that the current operation mode of the CPU is the first operation mode. When it is determined that the operation mode is set, the physical memory address is calculated from the segment and the offset set in the register of the CPU, and the calculated physical memory address and the CP are calculated.
U using the disk address set in another register of U to transfer data to and from the disk device
Executing the data transfer by A-transfer.
【請求項9】 セグメントおよびオフセットから物理メ
モリアドレスを計算する第1動作モードと、前記セグメ
ントおよびオフセットを含む仮想アドレスと仮想アドレ
ス変換テーブルとを用いて物理メモリアドレスを計算す
る第2動作モードとを有するCPUを有し、パワーセー
ブモード時にディスク装置にセーブした主メモリの内容
を、前記パワーセーブモードからのウェイクアップ時に
前記ディスク装置から前記主メモリにリストアするため
のデータ転送制御方法であって、 上位プログラムからディスク装置にセーブされているメ
モリイメージのリストアが要求された場合、前記CPU
の現在の動作モードが前記第1動作モードおよび前記第
2動作モードのいずれであるかを判別する動作モード判
別ステップと、 前記動作モード判別ステップによって前記CPUの現在
の動作モードが前記第1動作モードであると判別された
場合、前記CPUのレジスタにセットされている前記セ
グメントおよびオフセットから物理メモリアドレスを算
出し、その算出した物理メモリアドレスおよび前記CP
Uの別のレジスタにセットされているディスクアドレス
を用いて、前記上位プログラムから要求された前記メモ
リイメージのリストアをDMA転送によって実行するス
テップとを具備することを特徴とするデータ転送制御方
法。
9. A first operation mode for calculating a physical memory address from a segment and an offset, and a second operation mode for calculating a physical memory address using a virtual address including the segment and an offset and a virtual address conversion table. A data transfer control method for restoring the contents of the main memory saved in the disk device during the power save mode from the disk device to the main memory when waking up from the power save mode, comprising: When a higher-level program requests restoration of a memory image saved in a disk device, the CPU
An operation mode determining step of determining whether a current operation mode of the CPU is the first operation mode or the second operation mode; and the current operation mode of the CPU is determined to be the first operation mode by the operation mode determination step. Is determined, a physical memory address is calculated from the segment and the offset set in the register of the CPU, and the calculated physical memory address and the CP are calculated.
Using the disk address set in another register of U to restore the memory image requested by the host program by DMA transfer.
JP2000290939A 2000-09-25 2000-09-25 Computer system and data transfer control method Expired - Fee Related JP4155545B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000290939A JP4155545B2 (en) 2000-09-25 2000-09-25 Computer system and data transfer control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000290939A JP4155545B2 (en) 2000-09-25 2000-09-25 Computer system and data transfer control method

Publications (2)

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

Family

ID=18774095

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000290939A Expired - Fee Related JP4155545B2 (en) 2000-09-25 2000-09-25 Computer system and data transfer control method

Country Status (1)

Country Link
JP (1) JP4155545B2 (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006260372A (en) * 2005-03-18 2006-09-28 Fujitsu Ltd Information processing device, high speed starting method, and program
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 (en) * 2010-08-30 2012-04-12 Vmware Inc System software interface for space-optimized block device
JP2012514787A (en) * 2009-01-05 2012-06-28 マーベル ワールド トレード リミテッド Hibernate or suspend method and system utilizing non-volatile memory device
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 (en) * 2005-03-18 2006-09-28 Fujitsu Ltd Information processing device, high speed starting method, and program
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
US9253175B1 (en) 2007-04-12 2016-02-02 Marvell International Ltd. Authentication of computing devices using augmented credentials to enable actions-per-group
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
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
US9652249B1 (en) 2008-09-18 2017-05-16 Marvell World Trade Ltd. Preloading an application while an operating system loads
US8688968B2 (en) 2008-09-18 2014-04-01 Marvell World Trade Ltd. Preloading an application while an operating system loads
US8443211B2 (en) 2009-01-05 2013-05-14 Marvell World Trade Ltd. Hibernation or suspend using a non-volatile-memory device
JP2012514787A (en) * 2009-01-05 2012-06-28 マーベル ワールド トレード リミテッド Hibernate or suspend method and system utilizing 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 (en) * 2010-08-30 2014-02-13 Vmware Inc System software interface for space-optimized block device
JP2012074020A (en) * 2010-08-30 2012-04-12 Vmware Inc System software interface for space-optimized block device
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 (en) 2008-09-24

Similar Documents

Publication Publication Date Title
JP4155545B2 (en) Computer system and data transfer control method
TWI407300B (en) Method and controller for power management
US7340580B2 (en) Storage device and information processing system
KR100352045B1 (en) Methods and apparatus for reducing power consumption in computer systems
JP4580528B2 (en) Computer system and its resume processing method
JP2880863B2 (en) Suspend control method and system
US20150058540A1 (en) Hybrid-device storage based on environmental state
EP2254022A1 (en) Dual media storage device
CN101443726B (en) Comprise the adaptive memory system of the hard disk drive with flash interface
KR20010033687A (en) Information handling system with suspend/resume operation
JPH05289854A (en) Access device for external storage device
JPH07200112A (en) Information processing system
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
US8751760B2 (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 (en) Disc cache system
JP3238097B2 (en) Computer system and data save control method in the system
JP3961669B2 (en) Computer system and data transfer control method
KR100534613B1 (en) apparatus and method for booting system using flash memory
JP2003122644A (en) Computer and its storage device
US7937577B2 (en) Information processing apparatus and operating system determination method
JP2003345474A (en) Computer system and data transfer control method
TWI823253B (en) A computing system, a computer-implemented method and a computer-program product

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