JPH11338640A - コンピュータシステムおよびデータ転送制御方法 - Google Patents
コンピュータシステムおよびデータ転送制御方法Info
- Publication number
- JPH11338640A JPH11338640A JP10145856A JP14585698A JPH11338640A JP H11338640 A JPH11338640 A JP H11338640A JP 10145856 A JP10145856 A JP 10145856A JP 14585698 A JP14585698 A JP 14585698A JP H11338640 A JPH11338640 A JP H11338640A
- Authority
- JP
- Japan
- Prior art keywords
- data transfer
- disk drive
- transfer mode
- mode
- drive device
- 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
Links
Landscapes
- Information Transfer Systems (AREA)
- Power Sources (AREA)
Abstract
(57)【要約】
【課題】使用中のハードディスクドライブの性能に合っ
たデータ転送モードを用いてそのハードディスクドライ
ブとの間のデータ転送を実行できるようにし、ハイバネ
ーション処理の高速化を図る。 【解決手段】ユーザによる電源スイッチオフなどのイベ
ントが発生すると、メモリ13の内容をHDD17にセ
ーブする処理に先立って、HDD17が有するデータ転
送モードの種類が自動判別され、そしてそのHDD17
がDMAモードを有する場合には、バスマスタIDEコ
ントローラ16のバスマスタ機能を使用することによ
り、DMAモードによってメモリデータセーブのための
データ転送が実行される。よって、使用中のHDD17
の性能を最大限引き出すことができ、ハイバネーション
処理の高速化を実現できる。
たデータ転送モードを用いてそのハードディスクドライ
ブとの間のデータ転送を実行できるようにし、ハイバネ
ーション処理の高速化を図る。 【解決手段】ユーザによる電源スイッチオフなどのイベ
ントが発生すると、メモリ13の内容をHDD17にセ
ーブする処理に先立って、HDD17が有するデータ転
送モードの種類が自動判別され、そしてそのHDD17
がDMAモードを有する場合には、バスマスタIDEコ
ントローラ16のバスマスタ機能を使用することによ
り、DMAモードによってメモリデータセーブのための
データ転送が実行される。よって、使用中のHDD17
の性能を最大限引き出すことができ、ハイバネーション
処理の高速化を実現できる。
Description
【0001】
【発明の属する技術分野】本発明はコンピュータシステ
ムおよび同システムで使用されるデータ転送制御方法に
関し、特に電源オフ時にメモリの内容をハードディスク
装置にセーブするハイバネーション機能を有するコンピ
ュータシステムおよびそのハイバネーション機能の高速
化のためのデータ転送制御方法に関する。
ムおよび同システムで使用されるデータ転送制御方法に
関し、特に電源オフ時にメモリの内容をハードディスク
装置にセーブするハイバネーション機能を有するコンピ
ュータシステムおよびそのハイバネーション機能の高速
化のためのデータ転送制御方法に関する。
【0002】
【従来の技術】近年、携帯可能なノートブックタイプま
たはサブノートタイプのパーソナルコンピュータや、携
帯情報端末などのポケットコンピュータが種々開発され
ている。
たはサブノートタイプのパーソナルコンピュータや、携
帯情報端末などのポケットコンピュータが種々開発され
ている。
【0003】この種のポータブルコンピュータは、バッ
テリ駆動可能な時間を延ばすために、コンピュータシス
テムの電力を節約するための種々のパワーセーブモード
(スリープモード)が設けられている。サスペンドモー
ドは、最も電力消費の少ないスリープモードの1つであ
る。すなわち、コンピュータシステムがサスペンドモー
ドの時は、オペレーティングシステムやユーザプログラ
ムなどの再スタートに必要なシステムデータが記憶され
ている主メモリを除く、システム内の他のほとんどのデ
バイスはパワーオフされる。
テリ駆動可能な時間を延ばすために、コンピュータシス
テムの電力を節約するための種々のパワーセーブモード
(スリープモード)が設けられている。サスペンドモー
ドは、最も電力消費の少ないスリープモードの1つであ
る。すなわち、コンピュータシステムがサスペンドモー
ドの時は、オペレーティングシステムやユーザプログラ
ムなどの再スタートに必要なシステムデータが記憶され
ている主メモリを除く、システム内の他のほとんどのデ
バイスはパワーオフされる。
【0004】主メモリにセーブされるシステムデータ
は、コンピュータシステムがサスペンドモードに設定さ
れる直前のCPUのステータスおよび各種周辺LSIの
ステータスである。また、この主メモリには、オペレー
ティングシステムおよびアプリケーションプログラムの
実行状態やそのアプリケーションプログラムによって作
成されたユーザデータも記憶されている。主メモリにセ
ーブされた情報は、サスペンドモード直前の作業状態の
復元のために用いられる。
は、コンピュータシステムがサスペンドモードに設定さ
れる直前のCPUのステータスおよび各種周辺LSIの
ステータスである。また、この主メモリには、オペレー
ティングシステムおよびアプリケーションプログラムの
実行状態やそのアプリケーションプログラムによって作
成されたユーザデータも記憶されている。主メモリにセ
ーブされた情報は、サスペンドモード直前の作業状態の
復元のために用いられる。
【0005】システムデータのセーブは、システムBI
OS(基本入出力プログラム)に組み込まれたサスペン
ドルーチンによって実行される。システムBIOSはオ
ペレーティングシステムからの要求にしたがってシステ
ム内のハードウェアを制御するためのものであり、シス
テム内の各種ハードウェアデバイスを制御するデバイス
ドライバ群を含んでいる。システムBIOSのサスペン
ドルーチンは、システムの電源オフ時などに起動され、
CPUのレジスタおよび各種周辺LSIのステータスを
メモリにセーブした後、システムをパワーオフする。
OS(基本入出力プログラム)に組み込まれたサスペン
ドルーチンによって実行される。システムBIOSはオ
ペレーティングシステムからの要求にしたがってシステ
ム内のハードウェアを制御するためのものであり、シス
テム内の各種ハードウェアデバイスを制御するデバイス
ドライバ群を含んでいる。システムBIOSのサスペン
ドルーチンは、システムの電源オフ時などに起動され、
CPUのレジスタおよび各種周辺LSIのステータスを
メモリにセーブした後、システムをパワーオフする。
【0006】主メモリへの電源供給は、システムがパワ
ーオフの期間中ずっとバッテリによって維持される。こ
のため、システムのステータスおよびユーザデータは消
失されることなく、サスペンド前の作業状態にシステム
を高速に戻すことができる。
ーオフの期間中ずっとバッテリによって維持される。こ
のため、システムのステータスおよびユーザデータは消
失されることなく、サスペンド前の作業状態にシステム
を高速に戻すことができる。
【0007】ところが、もしシステムがサスペンドモー
ド状態の時にバッテリの容量が低下してローバッテリ状
態となると、主メモリ内のデータは消失される。この場
合、サスペンド前の状態にシステムを戻すことができ無
くなるばかりか、主メモリに展開されているユーザデー
タも消失されてしまう。
ド状態の時にバッテリの容量が低下してローバッテリ状
態となると、主メモリ内のデータは消失される。この場
合、サスペンド前の状態にシステムを戻すことができ無
くなるばかりか、主メモリに展開されているユーザデー
タも消失されてしまう。
【0008】そこで、最近では、サスペンドモードに代
わる新たなスリープモードとして、ハイバネーションモ
ードが使用され始めている。ハイバネーションモード
は、システム電源オフ時にCPUおよび各種周辺LSI
のステータス、および主メモリの内容などをハードディ
スクにセーブした後に主メモリを含むシステム内のほと
んどすべてのデバイスをパワーダウンさせるモードであ
り、サスペンドモードよりも電力消費を低減できる。ま
た、バッテリ容量が低下してもハードディスクにセーブ
した情報は消失されないので、システム状態をハイバネ
ーションモード直前の状態に正常に復元することができ
る。したがって、ACアダプタを使用できない外出先で
の使用が多い携帯型コンピュータの多くは、ハイバネー
ションモードをスリープモードとして実装している。
わる新たなスリープモードとして、ハイバネーションモ
ードが使用され始めている。ハイバネーションモード
は、システム電源オフ時にCPUおよび各種周辺LSI
のステータス、および主メモリの内容などをハードディ
スクにセーブした後に主メモリを含むシステム内のほと
んどすべてのデバイスをパワーダウンさせるモードであ
り、サスペンドモードよりも電力消費を低減できる。ま
た、バッテリ容量が低下してもハードディスクにセーブ
した情報は消失されないので、システム状態をハイバネ
ーションモード直前の状態に正常に復元することができ
る。したがって、ACアダプタを使用できない外出先で
の使用が多い携帯型コンピュータの多くは、ハイバネー
ションモードをスリープモードとして実装している。
【0009】ところで、近年のオペレーティングシステ
ムおよびアプリケーションプログラムの機能向上に伴
い、携帯型コンピュータにおいても、その主メモリとし
て実装されるメモリ容量は増大する一途にある。主メモ
リの記憶容量が増えると、その分、主メモリの内容をハ
ードディスクにセーブするのに要する時間、およびハー
ドディスクの内容を主メモリにリストアするのに要する
時間も増大する。このため、ハイバネーションモードを
使用するシステムでは、ハイバネーション処理に要する
時間、つまりユーザが電源スイッチをオフしてからシス
テムが実際にパワーオフされるまでに要する時間、およ
びユーザが電源スイッチをオンしてからシステム状態が
復元されるまでに要する時間が非常に大きくなりつつあ
る。
ムおよびアプリケーションプログラムの機能向上に伴
い、携帯型コンピュータにおいても、その主メモリとし
て実装されるメモリ容量は増大する一途にある。主メモ
リの記憶容量が増えると、その分、主メモリの内容をハ
ードディスクにセーブするのに要する時間、およびハー
ドディスクの内容を主メモリにリストアするのに要する
時間も増大する。このため、ハイバネーションモードを
使用するシステムでは、ハイバネーション処理に要する
時間、つまりユーザが電源スイッチをオフしてからシス
テムが実際にパワーオフされるまでに要する時間、およ
びユーザが電源スイッチをオンしてからシステム状態が
復元されるまでに要する時間が非常に大きくなりつつあ
る。
【0010】また、従来では、ハイバネーションのため
のデータセーブおよびリストア時に行われるハードディ
スクとの間のデータ転送は、常にPIO(Progra
mI/O transfer)モードによって行われて
いた。
のデータセーブおよびリストア時に行われるハードディ
スクとの間のデータ転送は、常にPIO(Progra
mI/O transfer)モードによって行われて
いた。
【0011】すなわち、携帯型コンピュータでは、ハー
ドディスクドライブの接続に使用されるインターフェイ
スとして、ATA(Enhanced IDE)が使用
されている。このEnhanced IDEで用いられ
ている典型的な転送モードが前述のPIOモードであ
る。ATAでは、PIOモード0〜4まで定義されてお
り、それぞれ最大転送速度が異なっている。PIOモー
ドでは、CPUとハードディスクドライブとのハンドシ
ェイクを用いた転送モードであり、CPUが直接ハード
ディスクドライブのI/Oポートを繰り返しアクセスす
ることによってデータ転送を行う。よって、その転送速
度は決して高速ではないが、シーク動作やスピンドルの
回転といった機械的動作を必要とするハードディスクド
ライブ自体のデータ転送能力を考慮すると、この転送方
式で十分であったのである。
ドディスクドライブの接続に使用されるインターフェイ
スとして、ATA(Enhanced IDE)が使用
されている。このEnhanced IDEで用いられ
ている典型的な転送モードが前述のPIOモードであ
る。ATAでは、PIOモード0〜4まで定義されてお
り、それぞれ最大転送速度が異なっている。PIOモー
ドでは、CPUとハードディスクドライブとのハンドシ
ェイクを用いた転送モードであり、CPUが直接ハード
ディスクドライブのI/Oポートを繰り返しアクセスす
ることによってデータ転送を行う。よって、その転送速
度は決して高速ではないが、シーク動作やスピンドルの
回転といった機械的動作を必要とするハードディスクド
ライブ自体のデータ転送能力を考慮すると、この転送方
式で十分であったのである。
【0012】しかし、最近では、ハードディスクの高密
度化が急速に進み、これに伴ってハードディスク自体の
データ転送能力も大幅に向上しており、これまで主流で
あったPIOモード4に加え、DMAモード、さらには
UltraDMAモードに対応したハードディスクドラ
イブも製品化され始めている。ハードディスクドライブ
はユーザによって交換可能である。このため、常にPI
Oモードを使用してデータ転送を行うという従来のハイ
バネーション処理では、使用されているハードディスク
ドライブのタイプによってはその性能を十分に引き出す
ことが出来ないという問題が生じる。
度化が急速に進み、これに伴ってハードディスク自体の
データ転送能力も大幅に向上しており、これまで主流で
あったPIOモード4に加え、DMAモード、さらには
UltraDMAモードに対応したハードディスクドラ
イブも製品化され始めている。ハードディスクドライブ
はユーザによって交換可能である。このため、常にPI
Oモードを使用してデータ転送を行うという従来のハイ
バネーション処理では、使用されているハードディスク
ドライブのタイプによってはその性能を十分に引き出す
ことが出来ないという問題が生じる。
【0013】
【発明が解決しようする課題】上述したように、従来で
は、DMAモードなどの高速転送モードをサポートして
いるハードディスクドライブであっても、PIOモード
による転送が行われてしまい、使用中のハードディスク
ドライブによっては、その性能を十分に発揮させること
ができないという問題があった。このため、特に、大容
量のデータ転送を必要とするハイバネーション処理にお
いては多くの時間を要し、ユーザが電源スイッチをオフ
してからシステムが実際にパワーオフされるまでに要す
る時間、およびユーザが電源スイッチをオンしてからシ
ステム状態が復元されるまでに要する時間が非常に大き
くなってしまうという問題がある。
は、DMAモードなどの高速転送モードをサポートして
いるハードディスクドライブであっても、PIOモード
による転送が行われてしまい、使用中のハードディスク
ドライブによっては、その性能を十分に発揮させること
ができないという問題があった。このため、特に、大容
量のデータ転送を必要とするハイバネーション処理にお
いては多くの時間を要し、ユーザが電源スイッチをオフ
してからシステムが実際にパワーオフされるまでに要す
る時間、およびユーザが電源スイッチをオンしてからシ
ステム状態が復元されるまでに要する時間が非常に大き
くなってしまうという問題がある。
【0014】本発明は上述の事情に鑑みてなされたもの
であり、使用中のハードディスクドライブの性能に合っ
たデータ転送モードを用いてそのハードディスクドライ
ブとの間のデータ転送を実行できるようにし、ハイバネ
ーション処理の高速化を実現し得るコンピュータシステ
ムおよび同システムで使用されるデータ転送制御方法を
提供することを目的とする。
であり、使用中のハードディスクドライブの性能に合っ
たデータ転送モードを用いてそのハードディスクドライ
ブとの間のデータ転送を実行できるようにし、ハイバネ
ーション処理の高速化を実現し得るコンピュータシステ
ムおよび同システムで使用されるデータ転送制御方法を
提供することを目的とする。
【0015】
【課題を解決するための手段】上述の課題を解決するた
め、本発明は、ディスクドライブ装置が装着可能に構成
され、前記ディスクドライブ装置との間でデータ転送を
行うコンピュータシステムにおいて、前記ディスクドラ
イブ装置からそのドライブ装置のパラメタ情報を読み出
すことにより、前記ディスクドライブ装置が有するデー
タ転送モードの種類を判別する手段と、この判別結果に
基づいて前記ディスクドライブ装置が有するデータ転送
モードの中から一つのデータ転送モードを選択する転送
モード選択手段と、この転送モード選択手段によって選
択されたデータ転送モードを用いて、前記ディスクドラ
イブ装置との間のデータ転送の実行を制御するデータ転
送制御手段とを具備することを特徴とする。
め、本発明は、ディスクドライブ装置が装着可能に構成
され、前記ディスクドライブ装置との間でデータ転送を
行うコンピュータシステムにおいて、前記ディスクドラ
イブ装置からそのドライブ装置のパラメタ情報を読み出
すことにより、前記ディスクドライブ装置が有するデー
タ転送モードの種類を判別する手段と、この判別結果に
基づいて前記ディスクドライブ装置が有するデータ転送
モードの中から一つのデータ転送モードを選択する転送
モード選択手段と、この転送モード選択手段によって選
択されたデータ転送モードを用いて、前記ディスクドラ
イブ装置との間のデータ転送の実行を制御するデータ転
送制御手段とを具備することを特徴とする。
【0016】このコンピュータシステムにおいては、装
着されているディスクドライブ装置からドライブパラメ
タ情報を読み出すことにより、そのディスクドライブ装
置が有するデータ転送モードの種類が自動判別され、そ
してその判別結果に基づいて使用すべきデータ転送モー
ドが選択される。よって、どのようなタイプのディスク
ドライブ装置が使用されている場合であっても、その使
用中のハードディスクドライブの性能を最大限引き出す
ことが可能となり、データ転送速度の向上を図ることが
可能となる。
着されているディスクドライブ装置からドライブパラメ
タ情報を読み出すことにより、そのディスクドライブ装
置が有するデータ転送モードの種類が自動判別され、そ
してその判別結果に基づいて使用すべきデータ転送モー
ドが選択される。よって、どのようなタイプのディスク
ドライブ装置が使用されている場合であっても、その使
用中のハードディスクドライブの性能を最大限引き出す
ことが可能となり、データ転送速度の向上を図ることが
可能となる。
【0017】また、本発明は、バスマスタ機能を有する
ディスク制御装置がコンピュータシステムに設けられて
いるときは、前記転送モード選択手段は、前記ディスク
ドライブ装置がDMA転送モードを有しているか否か判
別し、前記ディスクドライブ装置がDMA転送モードを
有している場合は、そのDMA転送モードを選択し、D
MA転送モードを有して無い場合は、DMA転送モード
以外の他の転送モードの中で前記ディスクドライブ装置
が有している高速のデータ転送モードを選択することを
特徴とする。これにより、バスマスタ機能を有するディ
スク制御装置を有するコンピュータシステムにおいて、
DMA転送モードに対応したディスクドライブ装置を使
用する場合には、データ転送モードを自動的にDMA転
送モードに設定できるようになる。
ディスク制御装置がコンピュータシステムに設けられて
いるときは、前記転送モード選択手段は、前記ディスク
ドライブ装置がDMA転送モードを有しているか否か判
別し、前記ディスクドライブ装置がDMA転送モードを
有している場合は、そのDMA転送モードを選択し、D
MA転送モードを有して無い場合は、DMA転送モード
以外の他の転送モードの中で前記ディスクドライブ装置
が有している高速のデータ転送モードを選択することを
特徴とする。これにより、バスマスタ機能を有するディ
スク制御装置を有するコンピュータシステムにおいて、
DMA転送モードに対応したディスクドライブ装置を使
用する場合には、データ転送モードを自動的にDMA転
送モードに設定できるようになる。
【0018】また、本発明は、ディスクドライブ装置が
装着可能に構成され、電源オフ状態への移行時にメモリ
の内容をディスクドライブ装置にセーブする機能を有す
るコンピュータシステムにおいて、電源オフの要因とな
るイベント発生に応答して、前記ディスクドライブ装置
からパラメタ情報を読み出すことにより、前記ディスク
ドライブ装置が有するデータ転送モードの種類を判別す
る手段と、この判別結果に基づいて前記ディスクドライ
ブ装置が有するデータ転送モードの中から一つのデータ
転送モードを選択する転送モード選択手段と、この転送
モード選択手段によって選択されたデータ転送モードを
用いて、前記コンピュータシステムのメモリから前記デ
ィスクドライブ装置へのデータ転送を実行して、前記メ
モリの内容を前記ディスクドライブ装置にセーブするデ
ータ転送制御手段とを具備することを特徴とする。
装着可能に構成され、電源オフ状態への移行時にメモリ
の内容をディスクドライブ装置にセーブする機能を有す
るコンピュータシステムにおいて、電源オフの要因とな
るイベント発生に応答して、前記ディスクドライブ装置
からパラメタ情報を読み出すことにより、前記ディスク
ドライブ装置が有するデータ転送モードの種類を判別す
る手段と、この判別結果に基づいて前記ディスクドライ
ブ装置が有するデータ転送モードの中から一つのデータ
転送モードを選択する転送モード選択手段と、この転送
モード選択手段によって選択されたデータ転送モードを
用いて、前記コンピュータシステムのメモリから前記デ
ィスクドライブ装置へのデータ転送を実行して、前記メ
モリの内容を前記ディスクドライブ装置にセーブするデ
ータ転送制御手段とを具備することを特徴とする。
【0019】このコンピュータシステムにおいては、ユ
ーザによる電源スイッチオフなどのイベントが発生する
と、メモリの内容をディスクドライブ装置にセーブする
処理に先立って、ディスクドライブ装置が有するデータ
転送モードの種類が自動判別され、そしてそのディスク
ドライブ装置が有するデータ転送モードの中で最適なデ
ータ転送モードを用いて、メモリデータセーブのための
データ転送が実行される。よって、使用中のハードディ
スクドライブの性能に合ったデータ転送モードを用いて
そのハードディスクドライブとの間のデータ転送を実行
でき、ハイバネーション処理の高速化を実現できる。
ーザによる電源スイッチオフなどのイベントが発生する
と、メモリの内容をディスクドライブ装置にセーブする
処理に先立って、ディスクドライブ装置が有するデータ
転送モードの種類が自動判別され、そしてそのディスク
ドライブ装置が有するデータ転送モードの中で最適なデ
ータ転送モードを用いて、メモリデータセーブのための
データ転送が実行される。よって、使用中のハードディ
スクドライブの性能に合ったデータ転送モードを用いて
そのハードディスクドライブとの間のデータ転送を実行
でき、ハイバネーション処理の高速化を実現できる。
【0020】また、本発明は、ディスクドライブ装置が
装着可能に構成され、電源オフ状態への移行時にメモリ
の内容をディスクドライブ装置にセーブするデータセー
ブ処理を実行するコンピュータシステムにおいて、CP
Uと、バスマスタ機能を有し、前記ディスクドライブ装
置と前記メモリとの間のDMA転送を実行可能なディス
ク制御装置と、前記コンピュータシステムの電源オフの
要因となるイベント発生に応答して、前記CPUに、前
記ディスク制御装置を用いたDMA転送によるデータセ
ーブ処理と、前記コンピュータシステムに設けられた各
種デバイスのパワーダウン処理とを並列実行させる並列
制御手段とを具備することを特徴とする。
装着可能に構成され、電源オフ状態への移行時にメモリ
の内容をディスクドライブ装置にセーブするデータセー
ブ処理を実行するコンピュータシステムにおいて、CP
Uと、バスマスタ機能を有し、前記ディスクドライブ装
置と前記メモリとの間のDMA転送を実行可能なディス
ク制御装置と、前記コンピュータシステムの電源オフの
要因となるイベント発生に応答して、前記CPUに、前
記ディスク制御装置を用いたDMA転送によるデータセ
ーブ処理と、前記コンピュータシステムに設けられた各
種デバイスのパワーダウン処理とを並列実行させる並列
制御手段とを具備することを特徴とする。
【0021】このコンピュータシステムにおいては、ユ
ーザによる電源スイッチオフなどのイベントが発生する
と、DMA転送によるデータセーブ処理と、コンピュー
タシステムに設けられた各種デバイスのパワーダウン処
理とが、CPUによって並列実行される。この場合、デ
ィスク制御装置を用いてDMA転送を行っている間は、
CPUはそのデータ転送処理から解放されるので、CP
U資源を表示コントローラやディスプレイのオフといっ
たパワーダウン処理に割り当てることが出来、ユーザが
電源スイッチをオフしてからシステムが実際にパワーオ
フされるまでに要する時間を短縮することが可能とな
る。
ーザによる電源スイッチオフなどのイベントが発生する
と、DMA転送によるデータセーブ処理と、コンピュー
タシステムに設けられた各種デバイスのパワーダウン処
理とが、CPUによって並列実行される。この場合、デ
ィスク制御装置を用いてDMA転送を行っている間は、
CPUはそのデータ転送処理から解放されるので、CP
U資源を表示コントローラやディスプレイのオフといっ
たパワーダウン処理に割り当てることが出来、ユーザが
電源スイッチをオフしてからシステムが実際にパワーオ
フされるまでに要する時間を短縮することが可能とな
る。
【0022】このような並列制御は、例えば、ディスク
ドライブ装置を含む処理対象の複数のデバイス毎に処理
プログラムを用意すると共に、且つ現在のコマンド処理
から次のコマンド処理への移行までに要する時間を管理
する複数のカウンタそれぞれのカウンタ値を用いて、各
デバイス毎に次のコマンド処理に移行可能なタイミング
を検知する手段を用意し、次のコマンド処理に移行可能
であることが検知されたデバイスから順にそれに対応す
る制御処理プログラムを起動してその制御処理のための
次のコマンドを発行させ、且つコマンドが発行される度
に、コマンドが発行されたデバイスに対応するカウンタ
の値を再設定することによって実現できる。
ドライブ装置を含む処理対象の複数のデバイス毎に処理
プログラムを用意すると共に、且つ現在のコマンド処理
から次のコマンド処理への移行までに要する時間を管理
する複数のカウンタそれぞれのカウンタ値を用いて、各
デバイス毎に次のコマンド処理に移行可能なタイミング
を検知する手段を用意し、次のコマンド処理に移行可能
であることが検知されたデバイスから順にそれに対応す
る制御処理プログラムを起動してその制御処理のための
次のコマンドを発行させ、且つコマンドが発行される度
に、コマンドが発行されたデバイスに対応するカウンタ
の値を再設定することによって実現できる。
【0023】
【発明の実施の形態】以下、図面を参照して本発明の実
施形態を説明する。図1には、本発明の一実施形態に係
るコンピュータシステムの構成が示されている。このコ
ンピュータシステムは、ノートブックタイプまたはサブ
ノートタイプのポータブルパーソナルコンピュータであ
り、コンピュータ本体と、このコンピュータ本体に開閉
自在に取り付けられたLCDパネルユニットとから構成
されている。このコンピュータは、内蔵バッテリを有し
ており、その内蔵バッテリからの電力によって動作可能
に構成されている。また、ACアダプタを介してAC商
用電源などの外部電源から電力供給を受けることもでき
る。外部電源から電力供給を受けているときは、その外
部電源からの電力がコンピュータシステムの動作電源と
して用いられる。このとき、外部電源からの電力によっ
て内蔵バッテリの充電も自動的に行われる。ACアダプ
タが取り外されたり、あるいはAC商用電源のブレーカ
が落とされたときなどは、内蔵バッテリからの電力がコ
ンピュータシステムの動作電源として用いられる。
施形態を説明する。図1には、本発明の一実施形態に係
るコンピュータシステムの構成が示されている。このコ
ンピュータシステムは、ノートブックタイプまたはサブ
ノートタイプのポータブルパーソナルコンピュータであ
り、コンピュータ本体と、このコンピュータ本体に開閉
自在に取り付けられたLCDパネルユニットとから構成
されている。このコンピュータは、内蔵バッテリを有し
ており、その内蔵バッテリからの電力によって動作可能
に構成されている。また、ACアダプタを介してAC商
用電源などの外部電源から電力供給を受けることもでき
る。外部電源から電力供給を受けているときは、その外
部電源からの電力がコンピュータシステムの動作電源と
して用いられる。このとき、外部電源からの電力によっ
て内蔵バッテリの充電も自動的に行われる。ACアダプ
タが取り外されたり、あるいはAC商用電源のブレーカ
が落とされたときなどは、内蔵バッテリからの電力がコ
ンピュータシステムの動作電源として用いられる。
【0024】また、コンピュータ本体には、IDEイン
ターフェイスを有するハードディスクドライブ(HD
D)17が取り外し自在に装着されている。このHDD
17はコンピュータの二次記憶として使用されるもので
ある。
ターフェイスを有するハードディスクドライブ(HD
D)17が取り外し自在に装着されている。このHDD
17はコンピュータの二次記憶として使用されるもので
ある。
【0025】また、このコンピュータのシステムボード
上には、CPU11、CPUバス1とPCIバス2間を
つなぐホスト−PCIブリッジ12、主メモリ13、V
GAコントローラ14、PCI−ISAブリッジ15、
バスマスタIDEコントローラ16、BIOS−ROM
18、リアルタイムクロック(RTC)19、埋め込み
コントローラ(EC)20、電源コントローラ21など
が設けられている。
上には、CPU11、CPUバス1とPCIバス2間を
つなぐホスト−PCIブリッジ12、主メモリ13、V
GAコントローラ14、PCI−ISAブリッジ15、
バスマスタIDEコントローラ16、BIOS−ROM
18、リアルタイムクロック(RTC)19、埋め込み
コントローラ(EC)20、電源コントローラ21など
が設けられている。
【0026】CPU11は、このシステム全体の動作制
御およびデータ処理を実行する。このCPU11として
は、システム管理割り込みSMI(SMI;Syste
mManagement Interrupt)をサポ
ートするもの、例えば、米インテル社により製造販売さ
れているマイクロプロセッサ“Pentium”などが
使用される。この場合、CPU11は、次のようなシス
テム管理機能を持つ。
御およびデータ処理を実行する。このCPU11として
は、システム管理割り込みSMI(SMI;Syste
mManagement Interrupt)をサポ
ートするもの、例えば、米インテル社により製造販売さ
れているマイクロプロセッサ“Pentium”などが
使用される。この場合、CPU11は、次のようなシス
テム管理機能を持つ。
【0027】すなわち、CPU11は、アプリケーショ
ンプログラムやオペレーティングシステム(OS)など
のプログラムを実行するための動作モードとしてリアル
モード、プロテクトモード、仮想86モードを有する
他、システム管理モード(SMM;System Ma
nagement mode)と称されるシステム管理
機能を実現するための動作モードを有している。
ンプログラムやオペレーティングシステム(OS)など
のプログラムを実行するための動作モードとしてリアル
モード、プロテクトモード、仮想86モードを有する
他、システム管理モード(SMM;System Ma
nagement mode)と称されるシステム管理
機能を実現するための動作モードを有している。
【0028】リアルモードは、最大で1Mバイトのメモ
リ空間をアクセスできるモードであり、論理アドレスか
ら物理アドレスへの変換は、セグメントレジスタで表さ
れるベースアドレスからのオフセット値で物理アドレス
を決定するアドレス計算形式によって行われる。
リ空間をアクセスできるモードであり、論理アドレスか
ら物理アドレスへの変換は、セグメントレジスタで表さ
れるベースアドレスからのオフセット値で物理アドレス
を決定するアドレス計算形式によって行われる。
【0029】一方、プロテクトモードは1タスク当たり
最大4Gバイトのメモリ空間をアクセスできるモードで
あり、ディスクプリタテーブルと称されるアドレスマッ
ピングテーブルを用いてリニアアドレスが決定される。
このリニアアドレスは、ページングによって最終的に物
理アドレスに変換される。
最大4Gバイトのメモリ空間をアクセスできるモードで
あり、ディスクプリタテーブルと称されるアドレスマッ
ピングテーブルを用いてリニアアドレスが決定される。
このリニアアドレスは、ページングによって最終的に物
理アドレスに変換される。
【0030】このように、プロテクトモードとリアルモ
ードとでは、互いに異なるメモリアドレッシングが採用
されている。システム管理モード(SMM)は疑似リア
ルモードであり、このモードにおけるアドレス計算形式
はリアルモードのアドレス計算形式と同一であり、ディ
スクプリタテーブルは参照されず、ページングも実行さ
れない。しかし、SMMでは、プロテクトモードと同様
に、1Mバイトを越えるメモリ空間をアクセスすること
ができる。
ードとでは、互いに異なるメモリアドレッシングが採用
されている。システム管理モード(SMM)は疑似リア
ルモードであり、このモードにおけるアドレス計算形式
はリアルモードのアドレス計算形式と同一であり、ディ
スクプリタテーブルは参照されず、ページングも実行さ
れない。しかし、SMMでは、プロテクトモードと同様
に、1Mバイトを越えるメモリ空間をアクセスすること
ができる。
【0031】システム管理割込み(SMI;Syste
m Management Interrupt)がC
PU11に発行された時、CPU11の動作モードは、
その時の動作モードであるリアルモード、プロテクトモ
ード、または仮想86モードから、SMMにスイッチさ
れる。SMIによってSMMにスイッチした時、CPU
11はその時のCPUレジスタの内容であるCPUステ
ータスを主メモリ13上のオーバレイメモリであるSM
RAMにセーブする。また、SMMにおいて復帰命令
(RSM命令)が実行されると、CPU11はSMRA
MからCPUレジスタにCPUステータスをリストア
し、SMI発生前の動作モードに復帰する。本実施形態
においては、SMMにおいて、ハイバネーション処理な
どを行うためのシステム管理プログラムが実行される。
このハイバネーションルーチンは、システムステートを
サスペンド状態またはハイバネーション状態に設定する
ためのものであり、システムステートをハイバネーショ
ン状態に設定する場合には、CPU11および各種周辺
LSIのステート、主メモリ13およびVRAMの内容
などを、HDD17の記憶エリアに予め確保されている
ハイバネーションエリアにセーブした後にシステム全体
をパワーオフする。
m Management Interrupt)がC
PU11に発行された時、CPU11の動作モードは、
その時の動作モードであるリアルモード、プロテクトモ
ード、または仮想86モードから、SMMにスイッチさ
れる。SMIによってSMMにスイッチした時、CPU
11はその時のCPUレジスタの内容であるCPUステ
ータスを主メモリ13上のオーバレイメモリであるSM
RAMにセーブする。また、SMMにおいて復帰命令
(RSM命令)が実行されると、CPU11はSMRA
MからCPUレジスタにCPUステータスをリストア
し、SMI発生前の動作モードに復帰する。本実施形態
においては、SMMにおいて、ハイバネーション処理な
どを行うためのシステム管理プログラムが実行される。
このハイバネーションルーチンは、システムステートを
サスペンド状態またはハイバネーション状態に設定する
ためのものであり、システムステートをハイバネーショ
ン状態に設定する場合には、CPU11および各種周辺
LSIのステート、主メモリ13およびVRAMの内容
などを、HDD17の記憶エリアに予め確保されている
ハイバネーションエリアにセーブした後にシステム全体
をパワーオフする。
【0032】このハイバネーションルーチンは、システ
ム電源オフに起因するSMI、つまり、電源スイッチ2
2の押下、またはパネルスイッチ23によるLCDパネ
ルユニットのクローズ検出、あるいはサスペンドボタン
(スリープボタン)の押下などに起因して発生されるS
MIに応答して実行される。
ム電源オフに起因するSMI、つまり、電源スイッチ2
2の押下、またはパネルスイッチ23によるLCDパネ
ルユニットのクローズ検出、あるいはサスペンドボタン
(スリープボタン)の押下などに起因して発生されるS
MIに応答して実行される。
【0033】SMIはマスク不能割込みNMIの一種で
あるが、通常のNMIやマスク可能割込みINTRより
も優先度の高い、最優先度の割り込みである。このSM
Iを発行することによって、システム管理プログラム
を、実行中のアプリケーションプログラムやオペレーテ
ィングシステムの環境に依存せずに起動することができ
る。
あるが、通常のNMIやマスク可能割込みINTRより
も優先度の高い、最優先度の割り込みである。このSM
Iを発行することによって、システム管理プログラム
を、実行中のアプリケーションプログラムやオペレーテ
ィングシステムの環境に依存せずに起動することができ
る。
【0034】ホスト−PCIブリッジ12には、システ
ム内のメモリおよびI/O全体の制御を行うための回路
が内蔵されており、ここには、SMI発生制御のための
ハードウェアロジックも組み込まれている。このハード
ウェアロジックは、ハイバネーション処理を起動するた
めのSMI発生回路、ソフトウェアSMIやI/Oトラ
ップSMIなどの他の要因によるSMI発生回路、およ
びSMI発生要因を保持するステータスレジスタなどか
ら構成される。
ム内のメモリおよびI/O全体の制御を行うための回路
が内蔵されており、ここには、SMI発生制御のための
ハードウェアロジックも組み込まれている。このハード
ウェアロジックは、ハイバネーション処理を起動するた
めのSMI発生回路、ソフトウェアSMIやI/Oトラ
ップSMIなどの他の要因によるSMI発生回路、およ
びSMI発生要因を保持するステータスレジスタなどか
ら構成される。
【0035】SMI発生回路は、電源コントローラ21
およびEC20経由で電源スイッチ22のオフ、サスペ
ンドボタンの押下、またはパネル開閉検出スイッチ23
によるLCDパネルクローズなどのイベントが通知され
た時、ハイバネーション処理を起動するためのSMI信
号を発生する。また、SMI発生回路からのSMI信号
は、ハイバネーション状態からの復帰を指示するウェイ
クアップイベントの通知にも利用される。すなわち、電
源スイッチ22のオンやLCDパネルオープンによるウ
ェイクアップイベントが発生すると、ハイバネーション
状態から動作状態への復帰処理が行われる。
およびEC20経由で電源スイッチ22のオフ、サスペ
ンドボタンの押下、またはパネル開閉検出スイッチ23
によるLCDパネルクローズなどのイベントが通知され
た時、ハイバネーション処理を起動するためのSMI信
号を発生する。また、SMI発生回路からのSMI信号
は、ハイバネーション状態からの復帰を指示するウェイ
クアップイベントの通知にも利用される。すなわち、電
源スイッチ22のオンやLCDパネルオープンによるウ
ェイクアップイベントが発生すると、ハイバネーション
状態から動作状態への復帰処理が行われる。
【0036】主メモリ13はこのシステムの主記憶つま
りシステムメモリとして使用されるものであり、オペレ
ーティングシステム、処理対象のアプリケーションプロ
グラム、およびアプリケーションプログラムによって作
成されたユーザデータ等が格納される。この主メモリ1
3はDRAMなどの半導体メモリによって実現されてい
る。前述のSMRAM(System Managem
ent RAM)は、主メモリ13を構成する物理メモ
リの一部に割り当てられた記憶空間であり、SMI信号
がCPU11に入力された時だけメモリアドレスがマッ
ピングされてアクセス可能となる。ここで、SMRAM
がマッピングされるアドレス範囲は固定ではなく、SM
BASEと称されるレジスタによって4Gバイト空間の
任意の場所に変更することが可能である。SMBASE
レジスタは、SMM中でないとアクセスできない。
りシステムメモリとして使用されるものであり、オペレ
ーティングシステム、処理対象のアプリケーションプロ
グラム、およびアプリケーションプログラムによって作
成されたユーザデータ等が格納される。この主メモリ1
3はDRAMなどの半導体メモリによって実現されてい
る。前述のSMRAM(System Managem
ent RAM)は、主メモリ13を構成する物理メモ
リの一部に割り当てられた記憶空間であり、SMI信号
がCPU11に入力された時だけメモリアドレスがマッ
ピングされてアクセス可能となる。ここで、SMRAM
がマッピングされるアドレス範囲は固定ではなく、SM
BASEと称されるレジスタによって4Gバイト空間の
任意の場所に変更することが可能である。SMBASE
レジスタは、SMM中でないとアクセスできない。
【0037】CPU11がSMMに移行する時には、C
PUステータス、つまりSMIが発生された時のCPU
11のレジスタ等が、SMRAMにスタック形式でセー
ブされる。このSMRAMには、BIOS−ROM18
のシステム管理プログラムを呼び出すための命令が格納
されている。この命令は、CPU11がSMMに入った
時に最初に実行される命令であり、この命令実行によっ
てシステム管理プログラムに制御が移る。
PUステータス、つまりSMIが発生された時のCPU
11のレジスタ等が、SMRAMにスタック形式でセー
ブされる。このSMRAMには、BIOS−ROM18
のシステム管理プログラムを呼び出すための命令が格納
されている。この命令は、CPU11がSMMに入った
時に最初に実行される命令であり、この命令実行によっ
てシステム管理プログラムに制御が移る。
【0038】BIOS−ROM18は、システムBIO
S(Basic I/O System)を記憶するた
めのものであり、プログラム書き替えが可能なようにフ
ラッシュメモリによって構成されている。システムBI
OSは、このシステム内の各種ハードウェアをアクセス
するためのファンクション実行ルーチンを体系化したも
のであり、リアルモードで動作するように構成されてい
る。
S(Basic I/O System)を記憶するた
めのものであり、プログラム書き替えが可能なようにフ
ラッシュメモリによって構成されている。システムBI
OSは、このシステム内の各種ハードウェアをアクセス
するためのファンクション実行ルーチンを体系化したも
のであり、リアルモードで動作するように構成されてい
る。
【0039】このシステムBIOSには、システムのパ
ワーオン時に実行されるIRTルーチンと、各種ハード
ウェア制御のためのBIOSドライバ群などが含まれて
いる。各BIOSドライバは、ハードウェア制御のため
の複数の機能をオペレーティングシステムやアプリケー
ションプログラムに提供するためにそれら機能に対応す
る複数のファンクション実行ルーチン群を含んでいる。
ワーオン時に実行されるIRTルーチンと、各種ハード
ウェア制御のためのBIOSドライバ群などが含まれて
いる。各BIOSドライバは、ハードウェア制御のため
の複数の機能をオペレーティングシステムやアプリケー
ションプログラムに提供するためにそれら機能に対応す
る複数のファンクション実行ルーチン群を含んでいる。
【0040】また、BIOS−ROM18には、SMI
ハンドラおよび前述のハイバネーションルーチンなど、
SMMの中で実行されるシステム管理プログラムも格納
されている。SMIハンドラは、SMIの発生要因に応
じて各種SMIサービスルーチンを起動するためのもの
であり、電源オフ操作に起因するSMIが発生した場合
は、ハイバネーションルーチンを起動し、他の要因によ
るSMIが発生した場合にはその要因に対応するSMI
サービスルーチンを起動する。
ハンドラおよび前述のハイバネーションルーチンなど、
SMMの中で実行されるシステム管理プログラムも格納
されている。SMIハンドラは、SMIの発生要因に応
じて各種SMIサービスルーチンを起動するためのもの
であり、電源オフ操作に起因するSMIが発生した場合
は、ハイバネーションルーチンを起動し、他の要因によ
るSMIが発生した場合にはその要因に対応するSMI
サービスルーチンを起動する。
【0041】HDD17の記憶エリアの一部にはハイバ
ネーションエリアが確保されている。ハイバネーション
エリアはIRTによるHDD17の初期化およびテスト
時にシステムBIOSによって確保され、ハイバネーシ
ョンエリアを除く他の記憶領域がOSに解放される。ハ
イバネーションエリアには、物理的に連続した領域が割
り当てられる。
ネーションエリアが確保されている。ハイバネーション
エリアはIRTによるHDD17の初期化およびテスト
時にシステムBIOSによって確保され、ハイバネーシ
ョンエリアを除く他の記憶領域がOSに解放される。ハ
イバネーションエリアには、物理的に連続した領域が割
り当てられる。
【0042】RTC19は時計モジュールであり、独自
の電池によりバックアップされたCMOSメモリを有し
ている。CMOSメモリには、パワーアップモードを指
定する情報などを含む各種システムコンフィグレーショ
ン情報が設定される。
の電池によりバックアップされたCMOSメモリを有し
ている。CMOSメモリには、パワーアップモードを指
定する情報などを含む各種システムコンフィグレーショ
ン情報が設定される。
【0043】EC20は、システムが持つ付加機能を制
御するためのコントローラであり、CPU周辺温度など
に応じてクーリングファンの回転制御などを行うための
熱制御機能、システムの各種状態をLEDの点灯やビー
プオンによってユーザに通知するためのLED/ビープ
音制御機能、電源コントローラ21と共同してシステム
電源のオン/オフなどを制御する電源シーケンス制御機
能、および電源ステータス通知機能などを有している。
電源ステータス通知機能は、電源コントローラ21と共
同してシステムBIOSのハイバネーション処理やレジ
ューム処理の起動要因となるイベントの発生を監視し、
イベント発生時にそれをSMIなどを用いてシステムB
IOSに通知するという機能である。ハイバネーション
状態においても、EC20および電源コントローラ21
には動作電源が供給されており、EC20の各機能は有
効である。
御するためのコントローラであり、CPU周辺温度など
に応じてクーリングファンの回転制御などを行うための
熱制御機能、システムの各種状態をLEDの点灯やビー
プオンによってユーザに通知するためのLED/ビープ
音制御機能、電源コントローラ21と共同してシステム
電源のオン/オフなどを制御する電源シーケンス制御機
能、および電源ステータス通知機能などを有している。
電源ステータス通知機能は、電源コントローラ21と共
同してシステムBIOSのハイバネーション処理やレジ
ューム処理の起動要因となるイベントの発生を監視し、
イベント発生時にそれをSMIなどを用いてシステムB
IOSに通知するという機能である。ハイバネーション
状態においても、EC20および電源コントローラ21
には動作電源が供給されており、EC20の各機能は有
効である。
【0044】EC20は、システムBIOSとの通信の
ためのI/Oポートを有している。システムBIOS
は、このI/Oポートを介してEC20内のコンフィグ
レーションレジスタに対してリード/ライトを行うこと
により、監視および通知すべきイベントの種類の設定
や、発生したイベントを示すステータスのリードなどを
行うことができる。EC20と電源コントローラ21間
の通信はI2Cバスを介して行われる。
ためのI/Oポートを有している。システムBIOS
は、このI/Oポートを介してEC20内のコンフィグ
レーションレジスタに対してリード/ライトを行うこと
により、監視および通知すべきイベントの種類の設定
や、発生したイベントを示すステータスのリードなどを
行うことができる。EC20と電源コントローラ21間
の通信はI2Cバスを介して行われる。
【0045】例えば、バッテリ残量変化があった場合な
ど、電源コントローラ19はI2Cバス経由でEC18
のコンフィグレーションレジスタを直接書き換える。E
C18は、コンフィグレーションレジスタが書き換えら
れると、これをイベントとしてシステムBIOSに通知
する。
ど、電源コントローラ19はI2Cバス経由でEC18
のコンフィグレーションレジスタを直接書き換える。E
C18は、コンフィグレーションレジスタが書き換えら
れると、これをイベントとしてシステムBIOSに通知
する。
【0046】VGAコントローラ14は、このシステム
のディスプレイモニタとして使用されるLCDを制御す
るためのものであり、VRAMに描画された画面データ
をLCDパネルユニット内のLCDに表示する。
のディスプレイモニタとして使用されるLCDを制御す
るためのものであり、VRAMに描画された画面データ
をLCDパネルユニット内のLCDに表示する。
【0047】バスマスタIDEコントローラ16は、コ
ンピュータ本体に装着されたIDEデバイス(ここで
は、HDD17)を制御するためのものであり、IDE
デバイスと主メモリ13との間のDMA転送を実行可能
なバスマスタ機能に対応している。このバスマスタ機能
は、CPU11からのコマンドに応じて自らデータ転送
のためのバスサイクルを実行するものであり、PIOモ
ードよりもCPU負荷を低減した状態で、IDEデバイ
スと主メモリ13との間のデータ転送を高速実行する事
ができる。
ンピュータ本体に装着されたIDEデバイス(ここで
は、HDD17)を制御するためのものであり、IDE
デバイスと主メモリ13との間のDMA転送を実行可能
なバスマスタ機能に対応している。このバスマスタ機能
は、CPU11からのコマンドに応じて自らデータ転送
のためのバスサイクルを実行するものであり、PIOモ
ードよりもCPU負荷を低減した状態で、IDEデバイ
スと主メモリ13との間のデータ転送を高速実行する事
ができる。
【0048】本実施形態では、バスマスタ、つまりDM
A転送モードに対応したハードディスクドライブが装着
されている場合には、ハイバネーション処理のためのデ
ータ転送はバスマスタ機能を用いることによりDMA転
送モードによって実行される。また、DMA転送モード
に対応してないハードディスクドライブが装着されてい
る場合には、そのハードディスクドライブがサポートし
ている転送モードの中で最も高速の転送モードが自動選
択され、その転送モードにてデータ転送が行われる。ハ
ードディスクドライブがどのような転送モードに対応し
ているかは、ハードディスクドライブからそれを示すパ
ラメタ情報を読み出すことによって自動判別される。
A転送モードに対応したハードディスクドライブが装着
されている場合には、ハイバネーション処理のためのデ
ータ転送はバスマスタ機能を用いることによりDMA転
送モードによって実行される。また、DMA転送モード
に対応してないハードディスクドライブが装着されてい
る場合には、そのハードディスクドライブがサポートし
ている転送モードの中で最も高速の転送モードが自動選
択され、その転送モードにてデータ転送が行われる。ハ
ードディスクドライブがどのような転送モードに対応し
ているかは、ハードディスクドライブからそれを示すパ
ラメタ情報を読み出すことによって自動判別される。
【0049】次に、図2を参照して、SMIの発生から
ハイバネーションルーチンが起動されるまでの一連の動
作を説明する。システムの動作中にユーザによって電源
スイッチ22がオフされたり、またはユーザによってL
CDパネルユニットが閉じられたことがパネル開閉スイ
ッチ23によって検知されると、電源コントローラ21
は電源オフ要因が発生したことをEC20を介してSM
I発生回路に通知する。この通知に応答して、SMI発
生回路からSMI信号が発生され、それがCPU11に
供給される。
ハイバネーションルーチンが起動されるまでの一連の動
作を説明する。システムの動作中にユーザによって電源
スイッチ22がオフされたり、またはユーザによってL
CDパネルユニットが閉じられたことがパネル開閉スイ
ッチ23によって検知されると、電源コントローラ21
は電源オフ要因が発生したことをEC20を介してSM
I発生回路に通知する。この通知に応答して、SMI発
生回路からSMI信号が発生され、それがCPU11に
供給される。
【0050】CPU11にSMI信号が入力されると、
CPU11は、その時の動作モードからSMMにスイッ
チされる。SMMに入ると、CPU11は、まず、SM
RAMに所定のメモリアドレスをマッピングする。これ
により、SMRAMがアクセス可能となる。
CPU11は、その時の動作モードからSMMにスイッ
チされる。SMMに入ると、CPU11は、まず、SM
RAMに所定のメモリアドレスをマッピングする。これ
により、SMRAMがアクセス可能となる。
【0051】SMRAMには、CPUステート格納エリ
ア、CPU以外の他のハードウェアに関するステータス
を格納するハードウェアステータス(HWステータス)
格納エリアなどが設けられており、またBIOS−RO
M18のSMIハンドラを割り込み先として指定するジ
ャンプコードがセットされている。前述したように、B
IOS−ROM18には、IRTルーチン、SMIハン
ドラ、ハイバネーションルーチン、レジュームルーチ
ン、および複数のBIOSドライバ群を含むシステムB
IOSが格納されている。
ア、CPU以外の他のハードウェアに関するステータス
を格納するハードウェアステータス(HWステータス)
格納エリアなどが設けられており、またBIOS−RO
M18のSMIハンドラを割り込み先として指定するジ
ャンプコードがセットされている。前述したように、B
IOS−ROM18には、IRTルーチン、SMIハン
ドラ、ハイバネーションルーチン、レジュームルーチ
ン、および複数のBIOSドライバ群を含むシステムB
IOSが格納されている。
【0052】次いで、CPU11は、SMIが入力され
た時のCPU11の各種レジスタの内容であるCPUス
テータス(または、コンテキストと称される)をSMR
AMのCPUステート格納エリアにスタック形式でセー
ブする。そして、CPU11は、SMMのスタートアド
レスのコード、つまりSMRAMにセットされているジ
ャンプコードをフェッチし、そのジャンプコードで指定
されるBIOS−ROM18のSMIハンドラを実行す
る。ここまでの処理は、CPU11自体つまりCPU1
1のマイクロプログラムによって実行されるものであ
る。
た時のCPU11の各種レジスタの内容であるCPUス
テータス(または、コンテキストと称される)をSMR
AMのCPUステート格納エリアにスタック形式でセー
ブする。そして、CPU11は、SMMのスタートアド
レスのコード、つまりSMRAMにセットされているジ
ャンプコードをフェッチし、そのジャンプコードで指定
されるBIOS−ROM18のSMIハンドラを実行す
る。ここまでの処理は、CPU11自体つまりCPU1
1のマイクロプログラムによって実行されるものであ
る。
【0053】ジャンプコードの実行によって呼び出され
たSMIハンドラは、どのような要因でSMIが発生さ
れたかを決定するために、SMI発生要因をチェックす
る。この処理では、前述のSMIステータスレジスタに
セットされているSMIステータス情報が参照される。
サスペンド開始要因となる電源オフなどに起因するSM
Iであれば、SMIハンドラは、BIOS−ROM18
のハイバネーションルーチンの実行をリクエストする。
これにより、ハイバネーションルーチンがSMMの中で
実行され、ハイバネーション処理が開始される。
たSMIハンドラは、どのような要因でSMIが発生さ
れたかを決定するために、SMI発生要因をチェックす
る。この処理では、前述のSMIステータスレジスタに
セットされているSMIステータス情報が参照される。
サスペンド開始要因となる電源オフなどに起因するSM
Iであれば、SMIハンドラは、BIOS−ROM18
のハイバネーションルーチンの実行をリクエストする。
これにより、ハイバネーションルーチンがSMMの中で
実行され、ハイバネーション処理が開始される。
【0054】図3には、本実施形態のハイバネーション
処理の方法が示されている。電源スイッチオフ、パネル
クローズ、サスペンドボタンの押下などが行われると、
システムBIOSのハイバネーションルーチンが起動さ
れて、システムサスペンドのために以下の処理が行われ
る。
処理の方法が示されている。電源スイッチオフ、パネル
クローズ、サスペンドボタンの押下などが行われると、
システムBIOSのハイバネーションルーチンが起動さ
れて、システムサスペンドのために以下の処理が行われ
る。
【0055】すなわち、まず、ハイバネーションルーチ
ンは、CPU11のレジスタや各種周辺LSIのステー
タスなどのシステムステータスなどを主メモリ13にセ
ーブする(ステップS101)。次いで、HDD17と
の間のデータ転送モードを決定するためのHDD転送モ
ード決定処理が行われる(ステップS102)。このH
DD転送モード決定処理では、最初に、HDD17から
そこに保持されているドライブパラメタ情報が読み出さ
れ、HDD17がサポートしている転送モードの種類が
判別される。そして、HDD17がサポートしている転
送モードの中で、最も高速転送可能な最適な転送モード
が選択される。具体的には、図4の処理により使用する
転送モードが決定される。
ンは、CPU11のレジスタや各種周辺LSIのステー
タスなどのシステムステータスなどを主メモリ13にセ
ーブする(ステップS101)。次いで、HDD17と
の間のデータ転送モードを決定するためのHDD転送モ
ード決定処理が行われる(ステップS102)。このH
DD転送モード決定処理では、最初に、HDD17から
そこに保持されているドライブパラメタ情報が読み出さ
れ、HDD17がサポートしている転送モードの種類が
判別される。そして、HDD17がサポートしている転
送モードの中で、最も高速転送可能な最適な転送モード
が選択される。具体的には、図4の処理により使用する
転送モードが決定される。
【0056】図4に示されているように、まず、ドライ
ブパラメータ情報に基づいて、HDD17がRead/
Write Multipleコマンドをサポートして
いるかどうかを判断する(ステップS301)。Rea
d/Write Multipleコマンドは複数セク
タ分のリード/ライトをまとめて指定可能なコマンドで
あり、このRead/Write Multipleコ
マンドをサポートしていない場合は、HDDアクセスに
はセクタ単位でリード/ライトを指定するRead/W
rite Sectorコマンドを用いたデータ転送モ
ードが使用される。次に、先に読み出したHDDドライ
ブパラメータより、DMAをサポートしているかどうか
を判断する(ステップS302)。サポートしていない
場合は、HDDアクセスにはRead/Write M
ultipleコマンドを使用する。Read/Wri
te Sectorコマンド、Read/Write
MultipleコマンドのどちらもPIOモードで使
用されるコマンドである。
ブパラメータ情報に基づいて、HDD17がRead/
Write Multipleコマンドをサポートして
いるかどうかを判断する(ステップS301)。Rea
d/Write Multipleコマンドは複数セク
タ分のリード/ライトをまとめて指定可能なコマンドで
あり、このRead/Write Multipleコ
マンドをサポートしていない場合は、HDDアクセスに
はセクタ単位でリード/ライトを指定するRead/W
rite Sectorコマンドを用いたデータ転送モ
ードが使用される。次に、先に読み出したHDDドライ
ブパラメータより、DMAをサポートしているかどうか
を判断する(ステップS302)。サポートしていない
場合は、HDDアクセスにはRead/Write M
ultipleコマンドを使用する。Read/Wri
te Sectorコマンド、Read/Write
MultipleコマンドのどちらもPIOモードで使
用されるコマンドである。
【0057】次に、先に読み出したHDDドライブパラ
メータより、Ultra DMAをサポートしているか
どうかを判断する(ステップS303)。サポートして
いない場合は、HDDアクセスにはDMA Read/
Writeコマンドを使用する。サポートしている場合
は、Ultra DMA Read/Writeコマン
ドを使用する。このようにして、HDDアクセスに使用
する転送モード、具体的にはコマンドの種類が決定され
る。なお、IDEコントローラがバスマスタ対応のもの
でない場合には、ステップS301だけ行えば良く、ス
テップS302,S303によるDMAモードのサポー
トの有無およびサポートしているDMAモードの検出処
理は不要となる。
メータより、Ultra DMAをサポートしているか
どうかを判断する(ステップS303)。サポートして
いない場合は、HDDアクセスにはDMA Read/
Writeコマンドを使用する。サポートしている場合
は、Ultra DMA Read/Writeコマン
ドを使用する。このようにして、HDDアクセスに使用
する転送モード、具体的にはコマンドの種類が決定され
る。なお、IDEコントローラがバスマスタ対応のもの
でない場合には、ステップS301だけ行えば良く、ス
テップS302,S303によるDMAモードのサポー
トの有無およびサポートしているDMAモードの検出処
理は不要となる。
【0058】この後、ハイバネーションルーチンは、H
DDへのデータセーブ処理と、コンピュータシステムに
設けられた各種デバイスのパワーダウン処理などを並列
実行する。これら処理はデバイス毎にそれぞれ用意され
た複数のサーブルーチンによって実行され、ハイバネー
ションルーチン内のメインルーチンはそれらサーブルー
チンによるコマンド処理を切り替える処理を実行する。
すなわち、各デバイスの制御処理ではコマンドが順次発
行されるが、コマンド発行の度にI/O待ちが発生す
る。したがって、そのI/O待ちの間に別のデバイスに
対するコマンド発行処理が行えるようにサーブルーチン
の切り替えが行われる。
DDへのデータセーブ処理と、コンピュータシステムに
設けられた各種デバイスのパワーダウン処理などを並列
実行する。これら処理はデバイス毎にそれぞれ用意され
た複数のサーブルーチンによって実行され、ハイバネー
ションルーチン内のメインルーチンはそれらサーブルー
チンによるコマンド処理を切り替える処理を実行する。
すなわち、各デバイスの制御処理ではコマンドが順次発
行されるが、コマンド発行の度にI/O待ちが発生す
る。したがって、そのI/O待ちの間に別のデバイスに
対するコマンド発行処理が行えるようにサーブルーチン
の切り替えが行われる。
【0059】ここでは、HDDデータセーブ処理(ステ
ップS201)、I/O制御処理1(ステップS20
2)、I/O制御処理2(ステップS203)、…I/
O制御処理N(ステップS204)それぞれに対応して
サブルーチンが用意されており、メインルーチンは、デ
バイス毎に用意されたカウンタ値(タイマ値)を用い
て、次のコマンド処理に移行可能なデバイスに対応する
サブルーチンを起動して次のコマンド処理を実行させる
(ステップS103)。そして、HDDデータ転送処理
を含む全ての処理が完了すると(ステップS104)、
EC20に対してシステムパワーオフを指示するコマン
ドが発行される(ステップS105)。これにより、E
C20および電源コントローラ21を除く全てのデバイ
ス(主メモリを含む)がパワーオフされ、システムステ
ートはハイバネーション状態となる。
ップS201)、I/O制御処理1(ステップS20
2)、I/O制御処理2(ステップS203)、…I/
O制御処理N(ステップS204)それぞれに対応して
サブルーチンが用意されており、メインルーチンは、デ
バイス毎に用意されたカウンタ値(タイマ値)を用い
て、次のコマンド処理に移行可能なデバイスに対応する
サブルーチンを起動して次のコマンド処理を実行させる
(ステップS103)。そして、HDDデータ転送処理
を含む全ての処理が完了すると(ステップS104)、
EC20に対してシステムパワーオフを指示するコマン
ドが発行される(ステップS105)。これにより、E
C20および電源コントローラ21を除く全てのデバイ
ス(主メモリを含む)がパワーオフされ、システムステ
ートはハイバネーション状態となる。
【0060】HDDデータセーブ処理を実行するサブル
ーチンとしては、図5のように、Read/Write
Sectorコマンドを用いたデータ転送制御を行う
Read/WriteSector処理ルーチン#1
と、Read/Write Multipleコマンド
を用いたデータ転送制御を行うRead/WriteM
ultiple処理ルーチン#2と、DMA Read
/Writeコマンドを用いたデータ転送制御を行うD
MA Read/Write処理ルーチン#3と、Ul
tra DMA Read/Writeコマンドを用い
たデータ転送制御を行うUltraDMA処理ルーチン
#4とが用意されており、図3のステップS102で決
定された転送モードに対応する処理ルーチンが呼び出さ
れて実行される。
ーチンとしては、図5のように、Read/Write
Sectorコマンドを用いたデータ転送制御を行う
Read/WriteSector処理ルーチン#1
と、Read/Write Multipleコマンド
を用いたデータ転送制御を行うRead/WriteM
ultiple処理ルーチン#2と、DMA Read
/Writeコマンドを用いたデータ転送制御を行うD
MA Read/Write処理ルーチン#3と、Ul
tra DMA Read/Writeコマンドを用い
たデータ転送制御を行うUltraDMA処理ルーチン
#4とが用意されており、図3のステップS102で決
定された転送モードに対応する処理ルーチンが呼び出さ
れて実行される。
【0061】次に、図6および図7を参照して、デバイ
ス毎に用意されたカウンタ値とシステムカウンタのカウ
ンタ値との比較結果を用いて、ハイバネーションのため
の複数のデバイスの処理を並行して進める場合の動作に
ついて説明する。
ス毎に用意されたカウンタ値とシステムカウンタのカウ
ンタ値との比較結果を用いて、ハイバネーションのため
の複数のデバイスの処理を並行して進める場合の動作に
ついて説明する。
【0062】図6はハイバネーションルーチンのメイン
ルーチンとサブルーチンとの関係を示すフローチャート
である。ここでは、ハイバネーションルーチンは、メイ
ンルーチンと3つのサブルーチンA,B,Cから構成さ
れている場合を想定する。サブルーチンAは、例えばV
GAコントローラやLCDなどのI/Oデバイス#1を
パワーダウンするためのものであり、メインルーチンか
らのサブルーチンコールに応答して起動される。サブル
ーチンBは、HDD17にメモリデータをセーブするた
めのものであり、メインルーチンからのサブルーチンコ
ールに応答して起動される。サブルーチンCは、例えば
USBやモデムなどの通信系のI/Oデバイス#2のパ
ワーダウン処理を行うものであり、メインルーチンから
のサブルーチンコールに応答して起動される。
ルーチンとサブルーチンとの関係を示すフローチャート
である。ここでは、ハイバネーションルーチンは、メイ
ンルーチンと3つのサブルーチンA,B,Cから構成さ
れている場合を想定する。サブルーチンAは、例えばV
GAコントローラやLCDなどのI/Oデバイス#1を
パワーダウンするためのものであり、メインルーチンか
らのサブルーチンコールに応答して起動される。サブル
ーチンBは、HDD17にメモリデータをセーブするた
めのものであり、メインルーチンからのサブルーチンコ
ールに応答して起動される。サブルーチンCは、例えば
USBやモデムなどの通信系のI/Oデバイス#2のパ
ワーダウン処理を行うものであり、メインルーチンから
のサブルーチンコールに応答して起動される。
【0063】メインルーチンは、I/Oデバイス#1、
HDD、およびI/Oデバイス#2にそれぞれに対応し
て用意されたソフトウェアカウンタ(I/Oカウンタ
1、HDDカウンタ、I/Oカウンタ2)のカウンタ値
を順番にシステムカウンタによる現在のカウンタ値と比
較することにより、次のコマンド処理に移行可能なデバ
イスを決定する。そして、そのデバイスに対応するのサ
ブルーチンをコールする。
HDD、およびI/Oデバイス#2にそれぞれに対応し
て用意されたソフトウェアカウンタ(I/Oカウンタ
1、HDDカウンタ、I/Oカウンタ2)のカウンタ値
を順番にシステムカウンタによる現在のカウンタ値と比
較することにより、次のコマンド処理に移行可能なデバ
イスを決定する。そして、そのデバイスに対応するのサ
ブルーチンをコールする。
【0064】各ソフトウェアカウンタには、対応するデ
バイスが現在のコマンド処理の実行に要する時間、すな
わち次のコマンド処理を開始可能な時間が設定される。
各ソフトウェアカウンタに対するカウンタ値の設定は、
そのソフトウェアカウンタに対応するデバイスを制御す
るサブルーチンによって実行される。サブルーチンが起
動されるまでは、各ソフトウェアカウンタに対するカウ
ンタ値は0、つまりいつでもコマンド処理を開始できる
状態となっている。
バイスが現在のコマンド処理の実行に要する時間、すな
わち次のコマンド処理を開始可能な時間が設定される。
各ソフトウェアカウンタに対するカウンタ値の設定は、
そのソフトウェアカウンタに対応するデバイスを制御す
るサブルーチンによって実行される。サブルーチンが起
動されるまでは、各ソフトウェアカウンタに対するカウ
ンタ値は0、つまりいつでもコマンド処理を開始できる
状態となっている。
【0065】まず、システムカレント値がI/Oカウン
タ1の値以上であるか否かが調べられ(ステップS40
1)、システムカレント値がI/Oカウンタ1のカウン
タ値以上であればサブルーチンAがコールされ、一方シ
ステムカレント値がI/Oカウンタ1のカウンタ値より
も小さい場合にはHDDカウンタ値のチェックに移行さ
れる。
タ1の値以上であるか否かが調べられ(ステップS40
1)、システムカレント値がI/Oカウンタ1のカウン
タ値以上であればサブルーチンAがコールされ、一方シ
ステムカレント値がI/Oカウンタ1のカウンタ値より
も小さい場合にはHDDカウンタ値のチェックに移行さ
れる。
【0066】電源投入直後においては、I/Oカウンタ
1のカウンタ値は初期値0であるため、システムカレン
ト値はI/Oカウンタ1のカウンタ値よりも大きい。従
って、I/O制御処理1がサブルーチンAによって実行
される。
1のカウンタ値は初期値0であるため、システムカレン
ト値はI/Oカウンタ1のカウンタ値よりも大きい。従
って、I/O制御処理1がサブルーチンAによって実行
される。
【0067】サブルーチンAでは、まず、前回のサブル
ーチンAで発行されたI/Oコマンドに対するコマンド
処理のステータスチェックが行われた後、I/Oデバイ
ス1のパワーダウンのための次のコマンドの発行が行わ
れる。次いで、I/Oカウンタ1のカウンタ値の更新が
行われる。
ーチンAで発行されたI/Oコマンドに対するコマンド
処理のステータスチェックが行われた後、I/Oデバイ
ス1のパワーダウンのための次のコマンドの発行が行わ
れる。次いで、I/Oカウンタ1のカウンタ値の更新が
行われる。
【0068】ここでは、「現在のシステムカレント値
+ n 」がI/Oカウンタ1に設定される。「n」
は、今回発行したコマンドに対応する処理をI/Oデバ
イスが終了して次のコマンドを受付可能になるまでの最
小時間(インターバル値)を示す。この時間は、コマン
ド毎にあらかじめ決められている。
+ n 」がI/Oカウンタ1に設定される。「n」
は、今回発行したコマンドに対応する処理をI/Oデバ
イスが終了して次のコマンドを受付可能になるまでの最
小時間(インターバル値)を示す。この時間は、コマン
ド毎にあらかじめ決められている。
【0069】I/Oカウンタ1のカウンタ値の更新が終
わると、メインルーチンに復帰する。メインルーチンに
おいては、今度は、システムカレント値がHDDカウン
タ値以上であるか否かが調べられ(ステップS40
2)、システムカレント値がHDDカウンタ値以上であ
ればサブルーチンBがコールされ、前回の転送コマンド
処理のステータスチェック、次転送コマンドの発行、H
DDカウンタの再設定などのHDDデータ転送制御処理
が行われる。
わると、メインルーチンに復帰する。メインルーチンに
おいては、今度は、システムカレント値がHDDカウン
タ値以上であるか否かが調べられ(ステップS40
2)、システムカレント値がHDDカウンタ値以上であ
ればサブルーチンBがコールされ、前回の転送コマンド
処理のステータスチェック、次転送コマンドの発行、H
DDカウンタの再設定などのHDDデータ転送制御処理
が行われる。
【0070】サブルーチンBからメインルーチンに戻る
と、今度は、システムカレント値がI/Oカウンタ2の
カウンタ値以上であるか否かが調べられ(ステップS4
03)、システムカレント値がI/Oカウンタ2のカウ
ンタ値であればサブルーチンCがコールされ、前回のコ
マンド処理のステータスチェック、次コマンドの発行、
I/Oカウンタ2のカウンタ値の再設定などの処理が行
われる。
と、今度は、システムカレント値がI/Oカウンタ2の
カウンタ値以上であるか否かが調べられ(ステップS4
03)、システムカレント値がI/Oカウンタ2のカウ
ンタ値であればサブルーチンCがコールされ、前回のコ
マンド処理のステータスチェック、次コマンドの発行、
I/Oカウンタ2のカウンタ値の再設定などの処理が行
われる。
【0071】このようにして各デバイスのカウンタ値を
利用することにより、各デバイス毎に次のコマンド処理
に移行可能なタイミングが検知され、それに合わせて各
デバイスに対する処理が進められる。
利用することにより、各デバイス毎に次のコマンド処理
に移行可能なタイミングが検知され、それに合わせて各
デバイスに対する処理が進められる。
【0072】HDD転送モードとして、DMA Rea
d/WriteコマンドやUltra DMA Rea
d/Writeコマンドを使用したDMAモードを使用
した場合には、メモリ13からHDD17へのDMA転
送自体の制御はバスマスタIDEコントローラ16によ
って行われるため、サブルーチンBの各コマンド処理に
要する時間が短くなり、その間にサーブルーチンA、C
などによる他のI/Oデバイスのパワーダウン処理にC
PU資源を割り当てることが出来、ハイバネーション処
理全体の高速化を図ることができる。
d/WriteコマンドやUltra DMA Rea
d/Writeコマンドを使用したDMAモードを使用
した場合には、メモリ13からHDD17へのDMA転
送自体の制御はバスマスタIDEコントローラ16によ
って行われるため、サブルーチンBの各コマンド処理に
要する時間が短くなり、その間にサーブルーチンA、C
などによる他のI/Oデバイスのパワーダウン処理にC
PU資源を割り当てることが出来、ハイバネーション処
理全体の高速化を図ることができる。
【0073】以上のように、本実施形態においては、ユ
ーザによる電源スイッチオフなどのイベントが発生する
と、メモリ13の内容をHDD17にセーブする処理に
先立って、HDD17が有するデータ転送モードの種類
が自動判別され、そしてそのHDD17が有するデータ
転送モードの中で最適なデータ転送モードを用いて、メ
モリデータセーブのためのデータ転送が実行される。よ
って、使用中のHDD17の性能に合ったデータ転送モ
ードを用いてそのHDD17との間のデータ転送を実行
でき、ハイバネーション処理の高速化を実現できる。
ーザによる電源スイッチオフなどのイベントが発生する
と、メモリ13の内容をHDD17にセーブする処理に
先立って、HDD17が有するデータ転送モードの種類
が自動判別され、そしてそのHDD17が有するデータ
転送モードの中で最適なデータ転送モードを用いて、メ
モリデータセーブのためのデータ転送が実行される。よ
って、使用中のHDD17の性能に合ったデータ転送モ
ードを用いてそのHDD17との間のデータ転送を実行
でき、ハイバネーション処理の高速化を実現できる。
【0074】なお、ハイバネーション処理状態からの復
帰処理においても、同様の処理が行われ、最適な転送モ
ードでHDD17からメモリ13へのデータ転送が実行
される。また、システムBIOS経由でHDDアクセス
を行う場合には、アプリケーションやOSからの通常の
ファイルアクセス時においても、最適な転送モードでH
DD17との間のデータ転送を行うことが可能となる。
帰処理においても、同様の処理が行われ、最適な転送モ
ードでHDD17からメモリ13へのデータ転送が実行
される。また、システムBIOS経由でHDDアクセス
を行う場合には、アプリケーションやOSからの通常の
ファイルアクセス時においても、最適な転送モードでH
DD17との間のデータ転送を行うことが可能となる。
【0075】
【発明の効果】以上説明したように、本発明によれば、
使用中のハードディスクドライブの性能に合ったデータ
転送モードを用いてそのハードディスクドライブとの間
のデータ転送を実行できるようになり、使用中のハード
ディスクドライブの性能を最大限引き出すことが可能と
なる。特に、DMAモードを自動的に使用できるように
することにより、ハイバネーション処理の高速化を実現
できる。
使用中のハードディスクドライブの性能に合ったデータ
転送モードを用いてそのハードディスクドライブとの間
のデータ転送を実行できるようになり、使用中のハード
ディスクドライブの性能を最大限引き出すことが可能と
なる。特に、DMAモードを自動的に使用できるように
することにより、ハイバネーション処理の高速化を実現
できる。
【図1】本発明の一実施形態に係るコンピュータシステ
ムの構成を示すブロック図。
ムの構成を示すブロック図。
【図2】本実施形態におけるハイバネーションルーチン
起動処理動作を説明するための図。
起動処理動作を説明するための図。
【図3】本実施形態におけるハイバネーション処理の手
順を説明するフローチャート。
順を説明するフローチャート。
【図4】本実施形態のハイバネーション処理で実行され
るHDD転送モード決定処理の手順を示すフローチャー
ト。
るHDD転送モード決定処理の手順を示すフローチャー
ト。
【図5】本実施形態で使用されるハイバネーションルー
チンに含まれるHDDデータセーブ処理ルーチンの構成
を示す図。
チンに含まれるHDDデータセーブ処理ルーチンの構成
を示す図。
【図6】本実施形態で使用されるハイバネーションルー
チンによる並列制御処理の一例を示すフローチャート。
チンによる並列制御処理の一例を示すフローチャート。
11…CPU 12…ホスト−PCIブリッジ 13…主メモリ 16…バスマスタIDEコントローラ 17…HDD 18…BIOS−ROM 20…EC
Claims (7)
- 【請求項1】 ディスクドライブ装置が装着可能に構成
され、前記ディスクドライブ装置との間でデータ転送を
行うコンピュータシステムにおいて、 前記ディスクドライブ装置からそのドライブ装置のパラ
メタ情報を読み出すことにより、前記ディスクドライブ
装置が有するデータ転送モードの種類を判別する手段
と、 この判別結果に基づいて前記ディスクドライブ装置が有
するデータ転送モードの中から一つのデータ転送モード
を選択する転送モード選択手段と、 この転送モード選択手段によって選択されたデータ転送
モードを用いて、前記ディスクドライブ装置との間のデ
ータ転送の実行を制御するデータ転送制御手段とを具備
することを特徴とするコンピュータシステム。 - 【請求項2】 バスマスタ機能を有するディスク制御装
置が前記コンピュータシステムに設けられているとき、 前記転送モード選択手段は、 前記ディスクドライブ装置がDMA転送モードを有して
いるか否か判別し、前記ディスクドライブ装置がDMA
転送モードを有している場合は、そのDMA転送モード
を選択し、DMA転送モードを有して無い場合は、DM
A転送モード以外の他の転送モードの中で前記ディスク
ドライブ装置が有している高速のデータ転送モードを選
択することを特徴とする請求項1記載のコンピュータシ
ステム。 - 【請求項3】 前記データ転送制御手段は、 DMA転送モードを用いて前記ディスクドライブ装置と
前記コンピュータシステムのメモリとの間のデータ転送
の実行を制御する第1のデータ転送制御手段と、 DMA転送モード以外の他のデータ転送モードを用いて
前記ディスクドライブ装置との間のデータ転送の実行を
制御する第2のデータ転送制御手段とを含み、 前記第1および第2のデータ転送制御手段の中で、前記
転送モード選択手段によって選択されたデータ転送モー
ドに対応する一方のデータ転送制御手段が、前記データ
転送の実行のために使用されるように構成されているこ
とを特徴とする請求項1または2記載のコンピュータシ
ステム。 - 【請求項4】 ディスクドライブ装置が装着可能に構成
され、電源オフ状態への移行時にメモリの内容をディス
クドライブ装置にセーブする機能を有するコンピュータ
システムにおいて、 電源オフの要因となるイベント発生に応答して、前記デ
ィスクドライブ装置からそのドライブ装置のパラメタ情
報を読み出すことにより、前記ディスクドライブ装置が
有するデータ転送モードの種類を判別する手段と、 この判別結果に基づいて前記ディスクドライブ装置が有
するデータ転送モードの中から一つのデータ転送モード
を選択する転送モード選択手段と、 この転送モード選択手段によって選択されたデータ転送
モードを用いて、前記コンピュータシステムのメモリか
ら前記ディスクドライブ装置へのデータ転送を実行し
て、前記メモリの内容を前記ディスクドライブ装置にセ
ーブするデータ転送制御手段とを具備することを特徴と
するコンピュータシステム。 - 【請求項5】 ディスクドライブ装置が装着可能に構成
され、前記ディスクドライブ装置との間でデータ転送を
行うコンピュータシステムにおいて使用されるデータ転
送制御方法であって、 前記ディスクドライブ装置からそのドライブ装置のパラ
メタ情報を読み出すことにより、前記ディスクドライブ
装置が有するデータ転送モードの種類を判別し、 この判別結果に基づいて前記ディスクドライブ装置が有
するデータ転送モードの中から一つのデータ転送モード
を選択し、 この選択されたデータ転送モードを用いて、前記ディス
クドライブ装置との間のデータ転送の実行を制御するこ
とを特徴とするデータ転送制御方法。 - 【請求項6】 前記コンピュータシステムには、バスマ
スタ機能を有するディスク制御装置が設けられており、 前記ディスクドライブ装置がDMA転送モードを有して
いるか否か判別し、 前記ディスクドライブ装置がDMA転送モードを有して
いる場合は、そのDMAモードを用いて前記ディスクド
ライブ装置との間のデータ転送の実行を制御し、DMA
転送モードを有して無い場合は、DMA転送モード以外
の他の転送モードの中で高速のデータ転送モードを用い
て前記ディスクドライブ装置との間のデータ転送の実行
を制御することを特徴とする請求項5記載のデータ転送
制御方法。 - 【請求項7】 コンピュータシステムの電源オフ時にそ
のコンピュータシステムのメモリの内容をディスクドラ
イブ装置にセーブするために使用されるデータ転送制御
方法であって、 電源オフの要因となるイベント発生に応答して、前記デ
ィスクドライブ装置からそのドライブ装置のパラメタ情
報を読み出すことにより、前記ディスクドライブ装置が
有するデータ転送モードの種類を判別し、 この判別結果に基づいて前記ディスクドライブ装置が有
するデータ転送モードの中かせ一つのデータ転送モード
を選択しこの選択されたデータ転送モードを用いて、前
記コンピュータシステムのメモリから前記ディスクドラ
イブ装置へのデータ転送を実行して、前記メモリの内容
を前記ディスクドライブ装置にセーブすることを特徴と
するデータ転送制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14585698A JP3961669B2 (ja) | 1998-05-27 | 1998-05-27 | コンピュータシステムおよびデータ転送制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14585698A JP3961669B2 (ja) | 1998-05-27 | 1998-05-27 | コンピュータシステムおよびデータ転送制御方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003136015A Division JP2003345474A (ja) | 2003-05-14 | 2003-05-14 | コンピュータシステムおよびデータ転送制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11338640A true JPH11338640A (ja) | 1999-12-10 |
JP3961669B2 JP3961669B2 (ja) | 2007-08-22 |
Family
ID=15394674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14585698A Expired - Fee Related JP3961669B2 (ja) | 1998-05-27 | 1998-05-27 | コンピュータシステムおよびデータ転送制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3961669B2 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002215340A (ja) * | 2000-12-27 | 2002-08-02 | Internatl Business Mach Corp <Ibm> | データサーバシステム、コンピュータ装置、記憶媒体 |
JP2004086912A (ja) * | 2002-08-28 | 2004-03-18 | Samsung Electronics Co Ltd | ワーキングコンテキスト格納及び再格納装置、並びに方法 |
US7222172B2 (en) | 2002-04-26 | 2007-05-22 | Hitachi, Ltd. | Storage system having virtualized resource |
US7386598B2 (en) | 2002-04-24 | 2008-06-10 | Hitachi, Ltd. | Computer system with virtualization function |
US7685466B2 (en) | 2003-08-19 | 2010-03-23 | Intel Corporation | BIOS for saving and restoring operational state in the absence of AC power |
US8250406B2 (en) | 2003-08-19 | 2012-08-21 | Intel Corporation | Operational state preservation in the absence of AC power |
-
1998
- 1998-05-27 JP JP14585698A patent/JP3961669B2/ja not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002215340A (ja) * | 2000-12-27 | 2002-08-02 | Internatl Business Mach Corp <Ibm> | データサーバシステム、コンピュータ装置、記憶媒体 |
JP4523150B2 (ja) * | 2000-12-27 | 2010-08-11 | レノボ シンガポール プライヴェート リミテッド | データサーバシステム、コンピュータ装置、記憶媒体 |
US7386598B2 (en) | 2002-04-24 | 2008-06-10 | Hitachi, Ltd. | Computer system with virtualization function |
US7222172B2 (en) | 2002-04-26 | 2007-05-22 | Hitachi, Ltd. | Storage system having virtualized resource |
US7469289B2 (en) | 2002-04-26 | 2008-12-23 | Hitachi, Ltd. | Storage system having virtualized resource |
JP2004086912A (ja) * | 2002-08-28 | 2004-03-18 | Samsung Electronics Co Ltd | ワーキングコンテキスト格納及び再格納装置、並びに方法 |
US7685466B2 (en) | 2003-08-19 | 2010-03-23 | Intel Corporation | BIOS for saving and restoring operational state in the absence of AC power |
US8250406B2 (en) | 2003-08-19 | 2012-08-21 | Intel Corporation | Operational state preservation in the absence of AC power |
Also Published As
Publication number | Publication date |
---|---|
JP3961669B2 (ja) | 2007-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4580528B2 (ja) | コンピュータシステムおよびそのレジューム処理方法 | |
JP3943665B2 (ja) | スリープ制御方法、およびイベント通知方法 | |
KR100396460B1 (ko) | 하이버네이션 기능 지원 정보 처리 시스템, 그 제어 방법 및 기록 매체 | |
EP2380081B1 (en) | Method and system for hibernation or suspend using a non-volatile-memory device | |
JP3106401B2 (ja) | 情報処理システム | |
TWI407300B (zh) | 電源管理控制器與方法 | |
JPH11161385A (ja) | コンピュータシステムおよびそのシステムステート制御方法 | |
JPH11194846A (ja) | コンピュータシステムおよびそのシステムステート制御方法 | |
JPH0695769A (ja) | コンピュータシステムのシステムイメージをセーブする方法及びこの方法を実施するコンピュータシステム | |
JP4155545B2 (ja) | コンピュータシステムおよびデータ転送制御方法 | |
JPH07200112A (ja) | 情報処理システム | |
JPH086681A (ja) | 省電力制御システム | |
JPH06138987A (ja) | サスペンド制御方法およびシステム | |
JP3253881B2 (ja) | コンピュータシステムおよびそのシステムにおけるハイバネーション制御方法 | |
JP3102455B2 (ja) | 情報処理システム | |
JP2688164B2 (ja) | 情報処理システム | |
US7096299B2 (en) | Method and apparatus for transferring system context information between mobile computer and base station | |
EP1037133A1 (en) | Method and apparatus for alternation between instances of operating systems in computer systems | |
JP3943764B2 (ja) | コンピュータシステムおよびそのcpu性能制御方法 | |
JP3238097B2 (ja) | コンピュータシステムおよびそのシステムにおけるデータセーブ制御方法 | |
JP3961669B2 (ja) | コンピュータシステムおよびデータ転送制御方法 | |
JP2003345474A (ja) | コンピュータシステムおよびデータ転送制御方法 | |
JPH11102238A (ja) | コンピュータシステムおよびそのシステムにおけるサスペンド制御方法 | |
JP2001117663A (ja) | コンピュータシステムおよびその処理速度制御方法 | |
JP3227628B2 (ja) | 情報処理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060421 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070517 |
|
LAPS | Cancellation because of no payment of annual fees |