JP5636023B2 - 補助記憶装置の電力を停止する方法およびコンピュータ - Google Patents

補助記憶装置の電力を停止する方法およびコンピュータ Download PDF

Info

Publication number
JP5636023B2
JP5636023B2 JP2012122956A JP2012122956A JP5636023B2 JP 5636023 B2 JP5636023 B2 JP 5636023B2 JP 2012122956 A JP2012122956 A JP 2012122956A JP 2012122956 A JP2012122956 A JP 2012122956A JP 5636023 B2 JP5636023 B2 JP 5636023B2
Authority
JP
Japan
Prior art keywords
power
storage device
auxiliary storage
interface
computer
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.)
Active
Application number
JP2012122956A
Other languages
English (en)
Other versions
JP2013250616A (ja
Inventor
泰通 塚本
泰通 塚本
佐々木 健
健 佐々木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Singapore Pte Ltd
Original Assignee
Lenovo Singapore Pte Ltd
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 Lenovo Singapore Pte Ltd filed Critical Lenovo Singapore Pte Ltd
Priority to JP2012122956A priority Critical patent/JP5636023B2/ja
Publication of JP2013250616A publication Critical patent/JP2013250616A/ja
Application granted granted Critical
Publication of JP5636023B2 publication Critical patent/JP5636023B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Power Sources (AREA)

Description

本発明は、予期しないタイミングで電力が停止した補助記憶装置を保護する技術に関し、さらに詳細には補助記憶装置に対する書き込みデータの消失および物理的な損傷を防止する技術に関する。
コンピュータは、主記憶装置(メイン・メモリ)に加えて、磁気ディスクを使用したハードディスク・ドライブ(HDD)またはフラッシュ・メモリを使用したソリッド・ステート・ドライブ(SSD)などの補助記憶装置を搭載する。コンピュータは揮発性のメイン・メモリ(RAM)や各種のキャッシュに記憶している作業中のデータの中で、保存の必要なデータをシャットダウンする前に補助記憶装置に書き込む。
オペレーティング・システム(OS)、BIOS、およびユーティリティ・プログラムなどのソフトウェアとそれを実行するCPU、RAMおよびチップセットなどのハードゥエアはコンピュータのシステムを構成する。ユーザがマウスまたはキーボードを通じてシャットダウンの操作をすると、システムがRAMやキャッシュなどが記憶するデータを補助記憶装置に書き込んでからDC/DCコンバータを停止する。このときシステムは事前に補助記憶装置に電源停止のコマンドを送る。コマンドを受け取った補助記憶装置は必要なデータを不揮発性の記憶媒体に書き込んで電源を停止できる状態になるとシステムに通知する。
ところでコンピュータは、システムが認識しない状態またはシステムが補助記憶装置に電源停止のコマンドを送れない状態でシャットダウンすることがある。以下、このような状態で電源が停止することをサプライズ・シャットダウンということにする。たとえばコンピュータのシステムは、ハードウェアまたはソフトウェアの不具合に起因してハングアップすることがある。
ハングアップの深刻さの程度によっては、回復するためにコンピュータを強制的にシャットダウンする必要がある。ハングアップしているシステムはシャットダウンの処理をすることができないため、ユーザはパワー・ボタンを4秒間以上継続的に押下するいわゆるパワー・ボタン・オーバーライドを実行したり、電源プラグを外したりしてコンピュータを強制的にシャットダウンする。また、コンピュータはハングアップしたときに自動的にシャットダウンすることもある。このようなシャットダウンは、サプライズ・シャットダウンになる。
さらにノートブック型パーソナル・コンピュータ(ノートPC)では、システム・デバイスや電源用デバイスなどの物理的な安全を確保するために、システムから独立した環境で動作するファームウェアおよびハードウェアで構成されたコントローラを搭載する。このようなコントローラは、安全を優先させる必要がある場合はシステムが認識しないところで突然コンピュータの電源を停止する。この場合もサプライズ・シャットダウンが発生する。
特許文献1は、ユーザの不注意やファイルの消失を伴うシャットダウンを回避するためのパワー・ボタン・オーバーライド・メカニズムについて記載する。同メカニズムはパワー・ボタンを4秒間以上持続的に押下することでロックしたコンピュータを無条件にシャットダウンする。
特許文献2は、コンピュータがハングアップしたときにメイン・メモリに記憶していたデータをシャットダウンの前にHDDに記憶して保護する発明を開示する。特許文献3は、HDDの電力が停止したときにスピンドル・モータの逆起電力を利用して磁気ヘッドを緊急退避させる発明を開示する。特許文献4は、HDDの電力が停止したときにコンデンサに蓄積した電力を利用してフレクシャをローディング位置に退避させる発明を開示する。
非特許文献1は、SATA(シリアルATA)が規定するデバイス・スリープ(DevSleep)について解説する。デバイス・スリープは、従来のSATAデバイスよりも一層の消費電力の低減を実現する。従来のSATAデバイスは、SATAインターフェースを通じてホストからコマンドを受け取ったときに省電力モードに移行して物理層の電力を低減する。デバイス・スリープ機能を備えるSATAデバイスは、SATAインターフェースの他にホスト装置からDEVSLP信号を受け取るインターフェースを備える。
DEVSLP信号がアサートされると、SATAデバイスは従来のようにコマンドを受け取って移行する省電力モードよりも一層少ない電力を消費する省電力モード(ディープ・スリープ状態)に移行する。ディープ・スリープ状態とパワー・オン状態の遷移は、ホスト装置がDEVSLP信号により制御する。ディープ・スリープ状態では磁気ディスクの回転が停止するため、HDDはディープ・スリープ状態に遷移する前にヘッド/スライダをランプに退避(アンロード)する。またディープ・スリープ状態では、キャッシュの電力が停止するためSSDはディープ・スリープ状態に遷移する前にキャッシュが記憶するデータをフラッシュ・メモリに書き込む。非特許文献1は、以下のURLで、インターネットから取得することができる。
http://www.sata-io.org/documents/SATA-DevSleep-and-RTD3-WP.pdf
米国特許第6587951号明細書 特開2012−8672号公報 特開2001−307408号公報 特開平5−205386号公報
Serial ATA Device Sleep(DevSleep) and Runtime D3(RTD3),December 2011,AWHIPAPER BY: Intel Corporation, SanDisk Corporation
サプライズ・シャットダウンが発生したときにシステムは事前に補助記憶装置に電力を停止するコマンドを送ることができない。HDDは、磁気ディスクが回転したことにより表面に発生した気流が、サスペンションに取り付けられたヘッド/スライダに浮力を与えることで、ヘッド/スライダと磁気ディスクとの間に微小な間隔を維持する。ヘッド/スライダが磁気ディスク上を浮上しているときに磁気ディスクの回転が停止するとヘッド/スライダはディスクの表面に接触する。
つぎに接触した状態で電力を供給して磁気ディスクを回転させると磁気ディスクまたはヘッド/スライダが損傷する可能性があるためHDDは磁気ディスクの回転を停止する前に、サスペンションを所定のパーキング位置に退避させる。HDDは事前にコマンドを受け取ったときには磁気ディスクの回転が停止する前にサスペンションを退避できるが、サプライズ・シャットダウンのときにはそれができない。特許文献3または特許文献4の技術を採用すれば、サプライズ・シャットダウンによるHDDの物理的な損傷を防止することができる。
しかし、このような機構を備えるHDDはコスト増をもたらすためホスト側で同様のことが実現できれば都合がよい。また、HDDのなかには書き込み時間を短縮するために書き込みデータをキャッシュに書き込んだ時点でホスト装置が書き込みの完了を認識するいわゆるライトバック方式を採用するものがある。ライトバック方式では、HDDの電力を停止する前にキャッシュに記憶した書き込みデータを磁気ディスクに書き込んでおく必要がある。
また、SSDは、NAND型のセルに対する書き込みの頻度を低下させて長寿命化を図るために内部にキャッシュを備える。SSDはホスト装置から事前にコマンドを受け取ったときには、電力が停止する前にキャッシュのデータをセルに書き込むことができるが、サプライズ・シャットダウンのときはキャッシュのデータが消失する。また、NAND型のセルには、書き換えの回数に制限があったり、上書きができなかったり、および書き込みをページ単位で行い消去を複数のページをまとめたブロック単位で行うといった制限がある。
そして、SSDは、セルの寿命を長くするためにシステムからのアクセスがないときに、書き込むセルの平準化を図るためのウェアレベリングという動作をする。ウェアレベリングをしているときにサプライズ・シャットダウンが発生すると記憶していたデータが消失してしまうため、SSDは電力が停止する前にホスト装置から電力停止のコマンドを受け取ってウェアレベリングを中断する処理をする必要がある。SSDおよびライトバック方式のHDDでは、ホスト装置はデータをキャッシュに書き込んだ時点で書き込みが完了したと認識するので、その後サプライズ・シャットダウンが発生すると、ホスト装置が書き込んだと認識するデータと補助記憶装置が実際に記憶するデータの間に齟齬が生ずる。
そこで本発明の目的は、サプライズ・シャットダウンにより補助記憶装置が損傷することを防止する方法を提供することにある。さらに本発明の目的はサプライズ・シャットダウンにより補助記憶装置から書き込みデータが消失することを防止する方法を提供することにある。さらに本発明の目的は、そのような方法を実現するコンピュータおよびホスト装置を提供することにある。
本発明は、補助記憶装置の電力を突然停止したときに、補助記憶装置に発生するトラブルを防止する方法を提供する。本発明では補助記憶装置に、コマンドおよびデータを転送する第1のインターフェースに加えて、補助記憶装置が少なくとも一部の電力を停止するための準備動作をするタイミングを知ることができる第2のインターフェースを設ける。ホスト装置はサプライズ・シャットダウンを示すイベントが生成されたときに一旦補助記憶装置の電力を停止する処理を保留して第2のインターフェースをアサートし、補助記憶装置における準備動作が完了したタイミングで電力を停止する。
本発明の第1の態様では、最初に第1のインターフェースを通じてホスト装置が補助記憶装置にデータを書き込む。つぎに、ホスト装置が補助記憶装置の電力を停止するイベントを生成する。つぎにイベントに応答してホスト装置が第2のインターフェースをアサートする。つぎに第2のインターフェースがアサートされたことに応答して補助記憶装置が電力を停止するための準備動作をする。つぎに第2のインターフェースをアサートしてから所定の時間が経過したときにホスト装置が補助記憶装置の電力を停止する。
上記の構成において、ホスト装置がハングアップしたり、システムとは異なる環境で動作するデバイスがイベントを生成したりして第1のインターフェースを通じて事前にコマンドを送ることができない場合でもホスト装置は第2のインターフェースをアサートして補助記憶装置に電力停止のための準備動作をさせる。ホスト装置は、第2のインターフェースをアサートしてから準備動作が完了するまでの所定の時間が経過したときに電力を停止すれば、補助記憶装置の物理的損傷またはデータ消失を防止することができる。
補助記憶装置は、HDDまたはSSDとすることができる。HDDの場合は、準備動作をヘッド/スライダの退避動作およびキャッシュのフラッシュ動作またはいずれかとすることができる。SSDの場合は、準備動作をキャッシュのフラッシュ動作とすることができる。なお準備動作は、このような例に限定する必要はなく、コマンドを受け取らないで突然電力が停止する場合のトラブルを防止するために必要なあらゆる処理とすることができる。
本発明の第2の態様は、第1のインターフェースと第2のインターフェースを備える補助記憶装置が接続されたコンピュータがシャットダウンする方法を提供する。最初に第1のインターフェースを経由して補助記憶装置にデータを書き込む。つぎに、システムが認識しない環境でシャットダウン・イベントを生成する。つぎに、シャットダウン・イベントに応答してコンピュータが第2のインターフェースをアサートする。つぎに、第2のインターフェースがアサートされたことに応答して補助記憶装置が電力を停止するための準備動作をする。つぎに、第2のインターフェースをアサートしてから所定の時間が経過したときにコンピュータがシャットダウンする。シャットダウンしたときのコンピュータのパワー・ステートは、ACPIに規定するS5ステートとすることができる。
準備動作においては、キャッシュの書き込みデータを不揮発性の記憶媒体に書き込むことができる。シャットダウン・イベントは、シャットダウンすることを示すコマンドをシステムが第1のインターフェースを通じて補助記憶装置に送ることができないときに生成することができる。具体的には、パワー・ボタンを一定の時間以上押下したときまたはシステムがハングアップしたときに生成することができる。シャットダウン・イベントは、デバイスの温度または電源を供給するデバイスの状態に異常が発生したときに生成するようにしてもよい。第2のインターフェースは、SATAが規定する省電力モードに移行するためのデバイス・スリープ(DevSleep)とすることができる。
本発明により、サプライズ・シャットダウンによる補助記憶装置の損傷を防止する方法を提供することができた。さらに本発明により、サプライズ・シャットダウンによる補助記憶装置に対する書き込みデータの消失を防止する方法を提供することができた。さらに本発明により、そのような方法を実現するコンピュータおよびホスト装置を提供することができた。
HDDの保護機能を備えたノートPCの構成を示す機能ブロック図である。 サプライズ・シャットダウンが発生したときにHDDを保護する手順を説明するフローチャートである。
図1は、HDDの保護機能を備えたノートPCの構成を示す機能ブロック図である。ノートPC100はACPIの規格に適合し、ワーキング・ステート(G0/S0)、スリーピング・ステート(G1/S3/S4)、およびソフト・オフ・ステート(G2/S5)のいずれかのパワー・ステートに遷移することができる。ただし、ノートPC100がスリーピング・ステートに遷移するか否かは、本発明の適用に直接影響しない。
S0ステートは、CPUを含むシステムが動作する状態でパワー・オンともいう。S3ステートはメイン・メモリの記憶を保持する省電力状態でサスペンドともいう。S4ステートはOSがコンテキストを不揮発性メモリに退避する省電力状態でハイバネーションともいう。S5ステートは最も消費電力の少ない状態でパワー・オフともいう。S5ステートでは、ノートPC100の電源を起動するために必要な最小限のデバイスにだけ電力が供給される。
ノートPCは、S0ステートのときにサプライズ・シャットダウンが発生するとS5ステートに遷移する。本実施の形態では、サプライズ・シャットダウンが発生したときにS5ステートに移行するようにしているが、サプライズ・シャットダウンしたときのパワー・ステートは厳密にS5ステートに一致させる必要はなくS5ステートとは別に定義してもよい。S0ステート以外のパワー・ステートではHDD121の電力は停止する。
システム101は、ハードウェア103およびソフトウェア105で構成されている。ハードウェア103は、CPU、RAM、チップセットおよびそれらを接続するバスなどで構成されている。ソフトウェア105は、OS、BIOS、デバイス・ドライバおよびアプリケーション・プログラムなどで構成されている。ユーザはOSにノートPC100の電力を制御するためのパワー・マネジメント・ポリシーを設定することができる。
ハードウェア論理回路107は、一例としてハードウェア103が含むチップセットの一部として構成されており論理回路、レジスタおよびタイマを含んでいる。ハードウェア論理回路107は、PWRBTN、SLP_S3、SLP_S4、SLP_S5の4本の信号ラインでエンベデッド・コントローラ(EC)115に接続されており、システム101とEC115のパワー・マネジメントに関するインターフェースとして機能する。システム101は、パワー・マネジメント・ポリシーに従ってハードウェア論理回路107に指示してノートPC100を、S0ステートからS3ステート、S4ステート、またはS5ステートのいずれかに遷移させることができる。
システム101がSLP_S5信号、SLP_S4信号、またはSLP_S3信号のいずれかをアサートすると、ノートPC10はS5ステート、S4ステートまたはS3ステートのいずれかに遷移する。たとえば、システム101は、S0ステートのときに電池パックの残容量が少なくなったときに自動的にSLP_S3信号をアサートしてS3ステートに遷移させ、さらに、残容量が少なくなったときにSLP_S4信号をアサートしてS4ステートに遷移させることができる。あるいはシステム101は、アイドル時間が一定時間以上継続したときに、自動的にS3ステートまたはS4ステートに遷移させることができる。さらに、システム101はユーザが画面を通じてシャットダウン操作をしたときに、ハードウェア論理回路107を通じてSLP_S5信号をアサートしてS5ステートに遷移させることができる。
EC115は一例としてSCI(Serial Communication Interface)バスでシステム101に接続されている。システム101とEC115はSCIバスを通じてデータおよびコマンドを転送する。EC115は、CPU、RAM、ROMおよびタイマなどを備えており、ROMに格納したファームウェアをシステム101から独立した環境で実行してノートPC100の電源および温度を制御する。さらに、EC115は、サプライズ・シャットダウンが発生したときにファームウェアを実行してHDD115を保護するための動作をする。
EC115には、パワー・ボタン109、サーマル・センサ111、および排熱ファン113が接続されている。パワー・ボタン109は、システム101が正常な状態のときにノートPC100のパワー・ステートを遷移させたり、システム101がハングアップしたときにパワー・ボタン・オーバーライドを実行してサプライズ・シャットダウンしたりする。パワー・ボタン109は、ユーザが押下できるようにノートPC100の筐体に取り付けられている。
ユーザはOSを通じてハードウェア論理回路107のレジスタに、S0ステートのときにパワー・ボタン109が押下されたときの遷移先のパワー・ステートを設定することができる。EC115は、パワー・ボタン109が押下されている間、ハードウェア論理回路107にPWRBTN信号を出力する。ハードウェア論理回路107は、受け取ったPWRBTN信号をシステム101に送る。PWRBTN信号を受け取ったシステム101は、パワー・マネジメント・ポリシーに基づいてSLP_S3信号またはSLP_S4信号のいずれかを出力するようにハードウェア論理回路107に指示する。
ハードウェア論理回路107は、パワー・ボタン109が連続して押下されている時間、すなわちPWRBTN信号を連続して受け取っている時間を計測する。ハードウェア論理回路107は、PWRBTN信号を連続して約4秒間受け取ると、パワー・ボタン・オーバーライドが発生したと判断して、SLP_S3信号〜SLP_S5信号をすべてアサートする。ハードウェア論理回路107は、システム101がハングアップしたときであってもPWRBTN信号を受け取っている時間を計測してSLP_S3信号〜SLP_S5信号をすべてアサートすることができる。
ハードウェア論理回路107はCPUの動作を監視して、システム101がハングアップしたと判断したときにSLP_S3信号〜SLP_S5信号をすべてアサートすることができる。SLP_S3信号〜SLP_S5信号がすべてアサートされたときは、システム101がハングアップしているか否かにかかわらず、EC115はサプライズ・シャットダウン・イベントを生成してノートPC100をサプライズ・シャットダウンさせる。
サーマル・センサ111は複数のサーミスタで構成され、ノートPC100の筐体内部の温度やデバイスの温度を測定する。排熱ファン113は、ヒートシンクを経由して筐体内部の温度の高い空気を排熱することでデバイスおよび筐体表面の温度上昇を抑制する。EC115は、サーマル・センサ111が検出する温度が上昇すると、排熱ファン113の回転速度を上昇させたり、CPUをスロットリング制御したりするが、さらに温度が上昇する場合はシステム101にS3ステートまたはS4ステートに遷移するように指示する。EC115はシステム101によるS3ステートまたはS4ステートへの遷移動作からは独立して動作して、サーマル・センサ111の検出温度が所定値を越えるとサプライズ・シャットダウン・イベントを生成し、ノートPC100をサプライズ・シャットダウンさせる。
電力源117は、AC/DCアダプタおよび電池パックなどで構成され、DC/DCコンバータ119に電力を供給する。DC/DCコンバータ119は、電力源117が供給する電圧をノートPC100が使用する所定の複数の電圧に変換する。DC/DCコンバータ119は、パワー・ステートに応じて動作するデバイスに電力を供給できるように、S5系統、S4系統、S3系統、およびS0系統に分割されている。
S5系統にはS5ステートで動作するデバイスが接続され、S4系統にはS4ステートで動作するデバイスが接続され、S3系統にはS3ステートで動作するデバイスが接続され、S0ステートにはその他のデバイスが接続されている。下位のパワー・ステートに対応する系統は、上位のパワー・ステートのときにも動作する。たとえば、S3ステートのときは、S3系統だけでなくS5系統およびS4系統も動作する。
S5系統のDC/DCコンバータ119は、軽負荷時の効率が優れているシリーズ・レギュレータで構成され、その他の系統のDC/DCコンバータ119は重負荷時の効率が優れているスイッチング・レギュレータで構成されている。DC/DCコンバータ119は、サプライズ・シャットダウンが発生すると、S5系統だけを動作させ、その他の系統の動作を停止させる。
EC115は、パワー・ステートに対応するデバイスだけに電力を供給するようにDC/DCコンバータ119を制御する。EC115は、DC/DCコンバータ119の電圧および電流の状態を監視して、異常を検出するとサプライズ・シャットダウン・イベントを生成してノートPC100をサプライズ・シャットダウンさせる。EC115は、電力源117の電池パックに収納された電池セルの温度が所定値に達したときにサプライズ・シャットダウン・イベントを生成してノートPC100をサプライズ・シャットダウンさせる。HDD121はSATAの規格に適合し、SATAインターフェースでシステム101のチップセットに接続され、さらに、DEVSLPラインでOR論理素子123の出力に接続されている。OR論理素子123の入力には、ハードウェア103、ハードウェア論理回路107およびEC115が接続されている。
ハードウェア103、ハードウェア論理回路107またはEC115がDEVSLPラインを通じてDEVSLP信号をアサートすると、HDD121はディープ・スリープ状態に遷移して消費電力が最小になる。SATAの規格では、DEVSLP信号がアサートされたときにHDDがどのような動作をするかをメーカが決めて良いことになっている。ディープ・スリープ状態では、HDD121の磁気ディスクの回転は停止し、キャッシュの電力も停止する。したがって、HDD121はDEVSLPがアサートされると、ヘッド/スライダを磁気ディスクの周辺に配置されたランプ機構に退避してから磁気ディスクの回転を停止する。
さらにHDD121がライトバック方式を採用するときは、ディープ・スリープ状態でキャッシュの電源を停止する前にキャッシュが記憶する書き込みデータを磁気ディスクに書き込む。HDD121には、DC/DCコンバータ119のS0系統から電力が供給される。これとは別にDC/DCコンバータ119はHDD121に対して専用の系統から電力を供給するようにしてもよい。
なお、図1は本実施の形態を説明するために、本実施の形態に関連する主要な構成および接続関係を簡略化して記載したに過ぎないものである。図で記載した複数のブロックを1個の集積回路もしくは装置としたり、逆に1個のブロックを複数の集積回路もしくは装置に分割して構成したりすることも、当業者が任意に選択することができる範囲においては本発明の範囲に含まれる。
特に、本実施の形態におけるハードウェア論理回路107およびEC115の役割は一例として説明したものであり、システム101から独立した環境で動作できる他のデバイスで実現することも可能である。また、各々のデバイスの間を接続するバスおよびインターフェースなどの種類はあくまで一例に過ぎず、それら以外の接続であっても当業者が任意に選択することができる範囲においては本発明の範囲に含まれる。
つぎに図2のフローチャートを参照して、サプライズ・シャットダウンが発生したときにHDDを保護する手順を説明する。ブロック201でノートPC100はS0ステートに遷移して正常に動作している。この間、システム101は、HDD121にデータを書き込む。システム101は、ユーザが画面を通じてシャットダウンの操作をしたときは、メイン・メモリやキャッシュが記憶するデータの中で必要なデータをHDD121に記憶する。
OSはアプリケーションやデバイス・ドライバなどからシャットダウンの準備が完了したことの通知を受け取ってから、EC115を通じてDC/DCコンバータ119のS0系統からS4系統までを停止する。このようにシステム101が処理する一連のシーケンスを実行してシャットダウンする場合は、HDD121にトラブルが発生することはない。以下の手順ではシステム101が認識しない状態で実行されるサプライズ・シャットダウンを処理する。ブロック203で、ユーザはノートPC100をスリーピング・ステートまたはソフト・オフ・ステートに遷移させるためにパワー・ボタン109を押下することができる。パワー・ボタン109が押下されたときはブロック221に移行する。
ブロック221でEC115は、ハードウェア論理回路107にPWRBTN信号を送る。ハードウェア論理回路107はシステム101にPWRBTN信号を送る。PWRBTN信号を受け取ったシステム101は、あらかじめ設定されているパワー・マネジメント・ポリシーに基づいて、スリーピング・ステートに遷移させるための処理を開始する。また、PWRBTN信号を受け取ったハードウェア論理回路107は、PWRBTN信号が継続する時間を計測する。
PWRBTN信号の継続時間が一例として4秒未満のときは、ブロック225でシステム101は、ノートPCをS4ステートまたはS3ステートに遷移させる。PWRBTN信号の継続時間が4秒以上のときは、ハードウェア論理回路107は、SLP_S3信号〜SLP_5信号をすべてアサートする。PWRBTN信号の継続時間が4秒以上のときもシステム101は、ブロック225の手順を開始するが、以下に説明するようにサプライズ・シャットダウンが発生するので完了することはできない。ブロック223でEC115はSLP_S3信号〜SLP_5信号がすべてアサートされたときに、サプライズ・シャットダウン・イベントを生成してブロック231に移行する。
ブロック231でEC115またはハードウェア論理回路107は、サプライズ・シャットダウン・イベントが生成されたことに応じてDEVSLP信号をアサートする。DEVSLP信号がアサートされたHDD121はブロック232でヘッド/スライダをパーキング位置に退避し、さらに、キャッシュに記憶している書き込みデータを磁気ディスクに書き込んでフラッシュする。ヘッド/スライダの退避とキャッシュのフラッシュが終了すると、HDD121はDEVSLP信号がネゲートされたときに復帰するために必要な部分の電力だけを残して、磁気ディスクを回転するスピンドル・モータやインターフェースおよびキャッシュなどの半導体回路で構成される物理層の電力を停止してディープ・スリープ状態に遷移する。HDD121は、DEVSLP信号がアサートされてから一例として10ミリ秒以内にディープ・スリープ状態に移行することができるように構成されている。
ブロック233でEC115は、DEVSLP信号をアサートしてからの経過時間またはサプライズ・シャットダウン・イベントを生成してからの経過時間が10ミリ秒に到達したときにブロック235でDC/DCコンバータ119のS0系統からS4系統までを停止して、ノートPC100をS5ステートに遷移させる。ブロック223、231、233、235のパワー・ボタン・オーバーライドの手順は、システム101から独立したハードウェア論理回路107およびEC115が処理するため、システム101がハングアップしても実行することができる。
ただし、パワー・ボタン・オーバーライドは、システム101が正常に動作しているときにパワー・ボタン109を4秒以上押下することでも実行することができる。その場合は、ブロック225でシステム101がS4ステートまたはS3ステートへ移行するための処理を終了する前にシャットダウンするため、メイン・メモリのデータは消失するが、それ以前にHDD121に書き込まれてキャッシュにだけ記憶されていたデータはブロック232の手順により消失しない。
ブロック203でパワー・ボタン109が押下されないときはブロック205でEC115が複数の温度センサ111のそれぞれの検出温度と基準値を比較し、排熱ファン113の回転速度を制御する。排熱ファン113の回転速度を最大にしても温度が上昇する場合は、EC115はCPUの動作周波数を下げるためスロットリング制御する。スロットリング制御をしても温度が上昇する場合は、EC115がシステム101に対してS3ステートに移行するように要求する。ノートPC100がS3ステートに移行すれば通常は温度が下がるが、S3ステートに移行して温度が下がる前に限界温度に到達する場合がある。このとき、EC115はサプライズ・シャットダウン・イベントを生成してブロック231に移行する。
ブロック205でサプライズ・シャットダウン・イベントが生成されないときはブロック207に移行する。ブロック207でEC115は、電力源117およびDC/DCコンバータ117の電圧、電流、および温度などを監視する。EC115は所定の監視項目に異常が発生したときにサプライズ・シャットダウン・イベントを生成してブロック231に移行する。ブロック207でサプライズ・シャットダウン・イベントが生成されないときはブロック209に移行する。ブロック209でハードウェア論理回路107は、システム101の状態を監視する。システム101にシャットダウンを必要とする程度のハングアップが発生したときは、ハードウェア論理回路107がサプライズ・シャットダウン・イベントを生成してブロック231に移行し、発生していないときはブロック203に戻る。
これまでの手順では、サプライズ・シャットダウン・イベントが生成されてからDC/DCコンバータ119のS0系統からS4系統の動作を停止するまでの間に、ブロック233で約10ミリ秒の遅れが生ずる。温度や電源の異常を原因とするサプライズ・シャットダウン・イベントが生成されたときには、この時間遅れが好ましくない場合もあり得る。この時間遅れは、HDD121がヘッド/スライダの退避やキャッシュのフラッシュに利用するためのものであり、HDD121以外のデバイスには必要がない。
DC/DCコンバータ119がHDD121に対して専用の系統で電力を供給する場合は、サプライズ・シャットダウン・イベントが発生したときに、HDD121の系統だけをブロック231〜235の経路で処理し、その他の系統はただちにシャットダウンすれば、シャットダウンの遅延時間による障害の可能性を低減することができる。なお、本実施の形態はHDDに代えてSATAインターフェースを備えるSSDに適用することもできる。
本実施の形態によれば、省電力を目的として設けたDEVSLPをEC115のファームウェアを書き換えるだけでサプライズ・シャットダウンに対する補助記憶装置の保護に利用することができるため、追加的なコストが発生しない利点がある。さらに、本発明は、データおよびコマンドを転送するインターフェースに加えて、電力停止に対する準備動作の開始を認識するためのインターフェースを備えるSATA以外の補助記憶装置に拡張することができる。
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
100 ノートPC
109 パワー・ボタン
111 サーマル・センサ
113 排熱ファン
115 エンベデッド・コントローラ
119 DC/DCコンバータ

Claims (18)

  1. 第1のインターフェースと第2のインターフェースを備える補助記憶装置の電力をホスト装置が停止する方法であって、
    前記第1のインターフェースを通じて前記ホスト装置が前記補助記憶装置にデータを書き込むステップと、
    前記ホスト装置が前記補助記憶装置の電力を停止するイベントを生成するステップと、
    前記第1のインターフェースを通じて前記補助記憶装置に電力を停止するコマンドを送る前に前記イベントに応答して前記ホスト装置が前記第2のインターフェースをアサートするステップと、
    前記第2のインターフェースがアサートされたことに応答して前記補助記憶装置が電力を停止するための準備動作をするステップと、
    前記第2のインターフェースをアサートしてから所定の時間が経過したときに前記ホスト装置が前記補助記憶装置の電力を停止するステップと
    を有する方法。
  2. 前記準備動作をするステップが、前記補助記憶装置が省電力動作をするステップを含む請求項1に記載の方法。
  3. 前記補助記憶装置がハードディスク・ドライブで、前記準備動作をするステップがヘッド/スライダを退避するステップを含む請求項1または請求項2に記載の方法。
  4. 前記補助記憶装置がライトバック方式を採用し、前記準備動作をするステップが、キャッシュが記憶するデータを磁気ディスクに書き込むステップを有する請求項3に記載の方法。
  5. 前記補助記憶装置がソリッド・ステート・ドライブで、前記準備動作をするステップが、キャッシュが記憶するデータを不揮発性の記憶セルに書き込むステップを有する請求項1または請求項2に記載の方法。
  6. 第1のインターフェースと第2のインターフェースを備える補助記憶装置が接続されたコンピュータがシャットダウンする方法であって、
    前記第1のインターフェースを経由して前記補助記憶装置にデータを書き込むステップと、
    システムが認識しない環境でシャットダウン・イベントを生成するステップと、
    前記システムが前記第1のインターフェースを通じて前記補助記憶装置にシャットダウンすることを示すコマンドを送る前に前記シャットダウン・イベントに応答して前記コンピュータが前記第2のインターフェースをアサートするステップと、
    前記第2のインターフェースがアサートされたことに応答して前記補助記憶装置が電力を停止するための準備動作をするステップと、
    前記第2のインターフェースをアサートしてから所定の時間が経過したときに前記コンピュータがシャットダウンするステップと
    を有する方法。
  7. 前記準備動作をするステップが、キャッシュが記憶するデータを不揮発性の記憶媒体に書き込むステップを含む請求項6に記載の方法。
  8. 前記シャットダウン・イベントが、シャットダウンすることを示すコマンドをシステムが前記第1のインターフェースを通じて前記補助記憶装置に送ることができないときに生成される請求項6または請求項7に記載の方法。
  9. 前記シャットダウン・イベントが、パワー・ボタンを所定の時間以上連続的に押下したときに生成される請求項8に記載の方法。
  10. 前記シャットダウン・イベントが前記コンピュータの中央演算処理装置が認識しない環境で動作するデバイスにより生成される請求項6から請求項9のいずれかに記載の方法。
  11. 前記シャットダウン・イベントが、デバイスの温度が異常を示すときに生成される請求項10に記載の方法。
  12. 前記シャットダウン・イベントが、前記コンピュータに電力を供給するデバイスが異常を示すときに生成される請求項10に記載の方法。
  13. 前記シャットダウン・イベントが、システムがハングアップしたときに生成される請求項10に記載の方法。
  14. プロセッサを含むシステムが所定のシーケンスを実行してシャットダウンすることが可能なコンピュータであって、
    前記システムから独立して動作してシャットダウン・イベントを生成することが可能な制御回路と、
    前記システムからコマンドを受け取る第1のインターフェースと前記制御回路から少なくとも一部の電力を停止することを示す信号を受け取る第2のインターフェースを備え、前記電力を停止することを示す信号を受け取ったときに電力を停止するための準備動作をすることが可能な補助記憶装置とを有し、
    前記制御回路は前記システムが前記第1のインターフェースを通じてシャットダウンするコマンドを送る前に前記シャットダウン・イベントを生成したときに前記第2のインターフェースに前記電力を停止することを示す信号を出力し、前記電力を停止することを示す信号を出力してから所定の時間が経過したときに前記コンピュータをシャットダウンすることが可能なコンピュータ。
  15. 前記制御回路は、前記電力を停止することを示す信号を出力してから所定の時間が経過したときに前記補助記憶装置の電力を停止し、前記シャットダウン・イベント生成したときにシャットダウンしたときに電力が停止する前記補助記憶装置以外のデバイスの電力を停止する請求項14に記載のコンピュータ。
  16. 前記補助記憶装置が前記電力を停止することを示す信号を受け取ったときに省電力モードに移行する請求項14または請求項15に記載のコンピュータ。
  17. 前記補助記憶装置がSATAの規格に適合し、前記電力を停止することを示す信号が前記補助記憶装置を省電力モードに移行させるためのDEVSLP信号である請求項14から請求項16のいずれかに記載のコンピュータ。
  18. 補助記憶装置の電力を停止することが可能なホスト装置であって、
    プロセッサと、
    前記プロセッサから独立して動作して補助記憶装置の少なくとも一部の電力を停止することを示す信号を出力することが可能な制御回路と
    前記プロセッサとの間でデータの転送をする第1のインターフェースと前記制御回路から前記電力を停止することを示す信号を受け取る第2のインターフェースとキャッシュと不揮発性の記憶媒体とを備え、前記電力を停止することを示す信号を受け取ったときに前記キャッシュが記憶するデータを前記不揮発性の記憶媒体に記録することが可能な補助記憶装置とを有し、
    前記制御回路は前記プロセッサが前記第1のインターフェースを通じて前記補助記憶装置に電力を停止するコマンドを送ることができないときに、前記電力を停止することを示す信号を前記第2のインターフェースに出力してから所定の時間が経過したときに前記補助記憶装置の電力を停止することが可能なホスト装置。
JP2012122956A 2012-05-30 2012-05-30 補助記憶装置の電力を停止する方法およびコンピュータ Active JP5636023B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012122956A JP5636023B2 (ja) 2012-05-30 2012-05-30 補助記憶装置の電力を停止する方法およびコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012122956A JP5636023B2 (ja) 2012-05-30 2012-05-30 補助記憶装置の電力を停止する方法およびコンピュータ

Publications (2)

Publication Number Publication Date
JP2013250616A JP2013250616A (ja) 2013-12-12
JP5636023B2 true JP5636023B2 (ja) 2014-12-03

Family

ID=49849286

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012122956A Active JP5636023B2 (ja) 2012-05-30 2012-05-30 補助記憶装置の電力を停止する方法およびコンピュータ

Country Status (1)

Country Link
JP (1) JP5636023B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6808507B2 (ja) * 2017-01-25 2021-01-06 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
KR102611634B1 (ko) 2018-01-22 2023-12-08 삼성전자주식회사 스토리지 장치, 스토리지 시스템 및 스토리지 장치의 동작 방법
JP7379020B2 (ja) * 2019-08-28 2023-11-14 キヤノン株式会社 情報処理装置
CN117348713A (zh) * 2022-06-28 2024-01-05 中兴通讯股份有限公司 关机控制方法、电子设备和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006276949A (ja) * 2005-03-28 2006-10-12 Seiko Epson Corp 情報処理装置および情報処理方法

Also Published As

Publication number Publication date
JP2013250616A (ja) 2013-12-12

Similar Documents

Publication Publication Date Title
US10599503B2 (en) Triggering power loss protection on solid-state storage devices
JP4262637B2 (ja) 持ち運び可能で蓋体を開いて使用される電子機器、電子機器の制御方法、およびプログラム
KR101485274B1 (ko) 저장 드라이브 관리
JP3994071B2 (ja) コンピュータ装置、システムの稼働状態の切り換え制御方法、およびプログラム
US20070219644A1 (en) Information processing apparatus and system state control method
US8453000B2 (en) Method and system for reducing power consumption in an emergency shut-down situation
US20080082845A1 (en) Information processing apparatus and system state control method
US20090019301A1 (en) Storage apparatus
JP3974510B2 (ja) コンピュータ装置、電力管理方法、およびプログラム
JP5885881B2 (ja) コンピューティングデバイスにおける電源オフ状態の実施
TW201516634A (zh) 磁碟陣列儲存裝置、伺服器系統及其電源管理方法
JP5681689B2 (ja) 省電力状態からの復帰時間を短縮する方法およびコンピュータ
JP2003514296A (ja) プロセッサの動作パラメータをその環境に従って動的に調節する方法
US20110266873A1 (en) Information processing apparatus and method of controlling an information processing apparatus
US20070150766A1 (en) Information processing apparatus including network controller, and method of controlling application of power supply voltage to the network controller
JP5636023B2 (ja) 補助記憶装置の電力を停止する方法およびコンピュータ
US10509458B2 (en) Information device with improved operating modes
TWI712048B (zh) 儲存裝置及其之控制方法
US8171320B2 (en) Information processing apparatus, operation control method and operation control program storage medium
TWI489296B (zh) 電腦
TWI736834B (zh) 傳輸介面電路
US8138929B2 (en) Method for protecting data in non-volatile storage device and computer thereof
JP5179454B2 (ja) コンピュータおよび電源装置
TWM520669U (zh) 儲存裝置
JP5795758B2 (ja) 不揮発性記憶装置のデータを保護する方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140304

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140509

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141017

R150 Certificate of patent or registration of utility model

Ref document number: 5636023

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250