(57)【要約】【課題】電源切断処理時にＨＤＤのヘッドを退避することができる情報処理装置を提供すること。【解決手段】メインＣＰＵ１０から電源切断指示の入力を受けて電源切断の処理を実行する電源制御部５０を備える情報処理装置が提供される。まず、メインＣＰＵ１０と同一の内部バス３１に接続されるサブＣＰＵ２０から、メインＣＰＵ１０に電源切断要求を出力する。そして、メインＣＰＵ１０から電源切断要求に対する応答がない場合、サブＣＰＵ２０から電源制御部５０に電源切断指示を出力する。次に、電源制御部５０に電源切断を指示する場合に、サブＣＰＵ２０からハードディスクドライブ３６にヘッド退避コマンドを出力する。【選択図】        図１
2006276949.tif 000002
【特許請求の範囲】
【請求項１】
電源切断指示の入力を受けて電源切断の処理を実行する電源切断手段と、
前記電源切断手段に前記電源切断指示を出力するメインＣＰＵと、
前記メインＣＰＵに電源切断要求を出力し、前記メインＣＰＵから該電源切断要求に対する応答がない場合、前記電源切断手段に前記電源切断指示を出力するサブＣＰＵと、
前記メインＣＰＵおよび前記サブＣＰＵと同一のバスに接続されるハードディスクドライブを備え、
前記サブＣＰＵは、前記電源切断手段に電源切断を指示する場合に、前記ハードディスクドライブにヘッドを退避させることを特徴とする情報処理装置。
【請求項２】
前記サブＣＰＵは、内部に電源切断に関する情報を格納するレジスタを備え、
前記メインＣＰＵは、前記レジスタにアクセスして前記電源切断に関する情報を読み出し、前記電源切断に関する情報が電源切断を要求する情報の場合、前記電源切断手段に前記電源切断指示を出力することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記サブＣＰＵは、前記メインＣＰＵの処理に対する割り込み要求を前記メインＣＰＵに出力し、前記メインＣＰＵは、該割り込み要求に応答して前記レジスタにアクセスすることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記サブＣＰＵは、前記メインＣＰＵに電源切断要求を出力した後にタイマーのカウントを開始し、該タイマーが所定のカウント値をカウントするまでに、前記メインＣＰＵが前記レジスタへのアクセスを開始しない場合に、前記電源切断手段に前記電源切断指示を出力することを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
前記メインＣＰＵおよび前記サブＣＰＵによるアクセスを調停する調停手段をさらに備え、該調停手段は、前記サブＣＰＵによる前記ハードディスクドライブへのアクセスを、前記メインＣＰＵによる前記ハードディスクドライブへのアクセスよりも優先させることを特徴とする請求項１〜４のいずれか一つに記載の情報処理装置。
【請求項６】
メインＣＰＵから電源切断指示の入力を受けて電源切断の処理を実行する電源切断部を備える情報処理装置の情報処理方法であって、
前記メインＣＰＵと同一のバスに接続されるサブＣＰＵから、前記メインＣＰＵに電源切断要求を出力する工程と、
前記メインＣＰＵから該電源切断要求に対する応答がない場合、前記サブＣＰＵから前記電源切断部に電源切断指示を出力する工程と、
前記電源切断部に電源切断を指示する場合に、前記サブＣＰＵからハードディスクドライブにヘッド退避コマンドを出力する工程と、
を含むことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報処理端末の電源を制御する情報処理装置および情報処理方法に関し、特にメインＣＰＵから応答がない場合に電源切断を制御する情報処理装置および情報処理方法に関する。
【背景技術】
【０００２】
マルチメディア処理を行う情報処理端末は、メインＣＰＵとサブＣＰＵからなる複数のＣＰＵにより構成されている場合がある。ここで、電源切断処理を実行する場合、メインＣＰＵにより電源切断に関する処理を実行し、サブＣＰＵには電源を切断することを通知して、電源切断部で電源を切断するものがある。
【０００３】
しかしメインＣＰＵは、負荷の高い処理を実行する場合、暴走してしまう可能性がある。この場合、サブＣＰＵからメインＣＰＵに問い合わせし、暴走している場合にサブＣＰＵから電源切断に関連する一連の処理を実行する。
【０００４】
メインＣＰＵとサブＣＰＵとの間で通信を行い、サブＣＰＵが異常であるかどうかの検出を行い、異常であった場合には、ホストＣＰＵが外部へ連絡するとともに、サブＣＰＵにリセットをかける技術が開示されている（たとえば、特許文献１参照。）。しかし、これは情報処理端末の異常時に外部に対して連絡するだけであり、強制的に電源をオフにして、情報処理端末の安全を保つものではない。
【０００５】
【特許文献１】特開平７−８４６０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
メインＣＰＵが暴走しているときには、サブＣＰＵから電源切断処理を実行するが、このときハードディスクドライブ（ＨＤＤ）はメインＣＰＵによって制御されているので、ハードディスクドライブには電源切断が通知されない。したがって、電源切断処理時にＨＤＤのヘッドを退避させられないという問題が挙げられる。ＨＤＤのヘッドを退避させずに突然ＨＤＤへの電源供給を切断した場合、ＨＤＤに記録されたデータを破壊したり、ＨＤＤのヘッドおよびＨＤＤ自体の耐久性を低下させていくことになる。
【０００７】
この発明は、上述した従来技術による問題点を解消するため、電源切断処理時にＨＤＤのヘッドを退避することができる情報処理装置および情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決するため、本発明にかかる情報処理装置は、電源切断指示の入力を受けて電源切断の処理を実行する電源切断手段と、前記電源切断手段に前記電源切断指示を出力するメインＣＰＵと、前記メインＣＰＵに電源切断要求を出力し、前記メインＣＰＵから該電源切断要求に対する応答がない場合、前記電源切断手段に前記電源切断指示を出力するサブＣＰＵと、前記メインＣＰＵおよび前記サブＣＰＵと同一のバスに接続されるハードディスクドライブを備え、前記サブＣＰＵは、前記電源切断手段に電源切断を指示する場合に、前記ハードディスクドライブにヘッドを退避させることを特徴とする。
【０００９】
また、前記サブＣＰＵは、内部に電源切断に関する情報を格納するレジスタを備え、前記メインＣＰＵは、前記レジスタにアクセスして前記電源切断に関する情報を読み出し、前記電源切断に関する情報が電源切断を要求する情報の場合、前記電源切断手段に前記電源切断指示を出力してもよい。
【００１０】
また、前記サブＣＰＵは、前記メインＣＰＵの処理に対する割り込み要求を前記メインＣＰＵに出力し、前記メインＣＰＵは、該割り込み要求に応答して前記レジスタにアクセスしてもよい。
【００１１】
また、前記サブＣＰＵは、前記メインＣＰＵに電源切断要求を出力した後にタイマーのカウントを開始し、該タイマーが所定のカウント値をカウントするまでに、前記メインＣＰＵが前記レジスタへのアクセスを開始しない場合に、前記電源切断手段に前記電源切断指示を出力してもよい。
【００１２】
また、前記メインＣＰＵおよび前記サブＣＰＵによるアクセスを調停する調停手段をさらに備え、該調停手段は、前記サブＣＰＵによる前記ハードディスクドライブへのアクセスを、前記メインＣＰＵによる前記ハードディスクドライブへのアクセスよりも優先させてもよい。
【００１３】
また、本発明にかかる情報処理方法は、メインＣＰＵから電源切断指示の入力を受けて電源切断の処理を実行する電源切断部を備える情報処理装置の情報処理方法であって、前記メインＣＰＵと同一のバスに接続されるサブＣＰＵから、前記メインＣＰＵに電源切断要求を出力する工程と、前記メインＣＰＵから該電源切断要求に対する応答がない場合、前記サブＣＰＵから前記電源切断部に電源切断指示を出力する工程と、前記電源切断部に電源切断を指示する場合に、前記サブＣＰＵからハードディスクドライブにヘッド退避コマンドを出力する工程と、を含むことを特徴とする。
【発明を実施するための最良の形態】
【００１４】
以下に添付図面を参照して、この発明にかかる情報処理装置および情報処理方法の好適な実施の形態を詳細に説明する。
【００１５】
図１は、情報処理端末の構成を説明するブロック図である。この図１に示すように、本実施の形態に係る情報処理端末は、メインＣＰＵ１０とサブＣＰＵ２０の、２つの中央演算処理装置を備えている。
【００１６】
メインＣＰＵ１０は、内部バス３１を介して、ＲＡＭ３２と、ＲＯＭ３４と、ＨＤＤ（ハードディスクドライブ）３６と、外部記憶装置装着部３８とに接続されている。外部記憶装置装着部３８には、例えば、メモリカードなどの外部記憶装置が装着される。メインＣＰＵ１０は、内部バス３１を介して接続される各部にアクセスすることによりデータを読み出し、演算処理を実行し、各部への演算結果の書き込みを実行する。電源切断時には、メインＣＰＵ１０が、電源制御部５０に指示信号を出力することにより、電源切断処理を実行する。
【００１７】
サブＣＰＵ２０には、電源ＳＷ（スイッチ）４４から制御信号が入力されている。また、本体温度検出部４０と電池温度検出部４２からの電源切断信号が入力される。サブＣＰＵ２０の主要な処理はＩ／Ｏの管理であり、たとえばキー入力がされた場合、キー入力がされたことをメインＣＰＵ１０に通知する。また、サブＣＰＵ２０は、内部バス３１を介して、ＲＡＭ３２と、ＲＯＭ３４と、ＨＤＤ（ハードディスクドライブ）３６と、外部記憶装置装着部３８とに接続されている。内部バス３１を介した各部への処理はサブＣＰＵ２０の主要な動作ではないが、特定の条件が満たされた場合に処理を実行する。
【００１８】
サブＣＰＵ２０には、レジスタ２２が内蔵されている。レジスタ２２には、電源を切断するか否かの判定に用いるデータが格納されている。電源を切断する場合にはサブＣＰＵ２０がメインＣＰＵ１０に割り込み要求を入力し、メインＣＰＵ１０がレジスタ２２のデータを読み出すことによって電源の切断処理を実行する。ここでメインＣＰＵ１０が暴走などによって電源の切断処理が実行できない場合、サブＣＰＵ２０がレジスタ２２のデータを読み出すことによって電源の切断処理を実行する。このとき、ＨＤＤ３６にヘッド退避コマンドを出力することにより、ＨＤＤ３６のヘッドを退避させる。
【００１９】
ＨＤＤ３６は、データを記憶する磁気メディアと、この磁気メディアにデータの読み書きをする磁気ヘッドをもつ。磁気ヘッドはＨＤＤ３６に備えられたアームによって動かされ、磁気ヘッドは、アームにより磁気メディアの目的の位置に移動する。ＨＤＤ３６を使用しない間は、磁気ヘッドを保護すべく、退避させておく必要がある。ヘッド退避の必要がある場合、ヘッド退避コマンドの入力を受けることにより磁気ヘッドを退避させる。
【００２０】
また、ＨＤＤ３６への電源が直に切られる場合に自動的にヘッドを退避させる構成を採用する場合には、安全性優先で高速でヘッドを退避させることになる。その場合、ヘッドに対する衝撃も大きくなる。そこで、ＨＤＤ３６への電源供給が止まる前にヘッド退避コマンドを出力することにより、ヘッドをゆっくり退避させることができる。その結果、ヘッドに対する衝撃を減らすことができ、また衝撃が減る結果、ヘッドの許容退避回数を必要以上に減らさなくて済み、ハードディスクの耐久性を向上させることができる。
【００２１】
調停回路３９は、アクセス権を調停する回路であり、内部バス３１に接続されている。メインＣＰＵ１０とサブＣＰＵ２０はともに同一の内部バス３１に接続されており、たとえばＨＤＤ３６にアクセスする場合、メインＣＰＵ１０とサブＣＰＵ２０のどちらかに、ＨＤＤ３６へのアクセスを制限しなければならない。そこで、調停回路３９は、メインＣＰＵ１０がアクセスする場合には、メインＣＰＵ１０にアクセス権を確保し、サブＣＰＵ２０がアクセスする場合には、サブＣＰＵ２０にアクセス権を確保する。調停回路３９は、ＨＤＤ３６についてだけではなく、ＲＡＭ３２、ＲＯＭ３４および外部記憶装着部３８へのアクセス権も調停する。
【００２２】
また、調停回路３９は、メインＣＰＵ１０とサブＣＰＵ２０がＨＤＤ３６へのアクセスに関して競合する場合には、サブＣＰＵ２０によるアクセスを優先させることができる。それにより、メインＣＰＵ１０がＨＤＤ３６を拘束してしまってＨＤＤ３６のヘッド退避ができない場合でも、調停回路３９は、サブＣＰＵ２０によるＨＤＤ３６へのアクセスを優先させる。そして、電源切断処理にあたって、サブＣＰＵ２０は、メインＣＰＵ１０の状態によらずにＨＤＤ３６のヘッドを退避させることができる。
【００２３】
本体温度検出部４０は、この情報処理端末本体の温度を検出し、温度が電源を切断すべき水準を超えた場合に、電源切断信号をサブＣＰＵ２０に出力する。電池温度検出部４２は、電池５２の温度を検出し、温度が電源を切断すべき水準を超えた場合に、電源切断信号をサブＣＰＵ２０に出力する。
【００２４】
本体温度検出部４０と電池温度検出部４２は、それぞれ、サーミスタにより構成することができる。本体温度検出部４０および電池温度検出部４２においては、それぞれ本体の温度異常であると判断する温度、および電池の温度異常であると判断する温度が設定されている。
【００２５】
すなわち、本体温度検出部４０は、検出された温度が設定範囲（例えば、５℃〜４５℃）を超えた場合には、本体の温度異常であると判断し、電源切断信号を出力する。同様に、電池温度検出部４２は、検出された温度が設定範囲（例えば、５℃〜５５℃）を超えた場合には、電池５２の温度異常であると判断し、電源切断信号を出力する。本体温度検出部４０および電池温度検出部４２からの電源切断信号の出力により、サブＣＰＵ２０を介して電源切断処理が実行される。
【００２６】
電源ＳＷ４４は、この情報処理端末に設けられている、ユーザが操作するためのスイッチである。ユーザは、この情報処理端末の電源のオン／オフ操作をする場合には、この電源ＳＷ４４を切り替える。電源ＳＷ４４の出力はサブＣＰＵ２０に入力され、電源の切断が指示された場合に、サブＣＰＵ２０を介して電源切断処理が実行される。
【００２７】
電源制御部５０は、電池５２から、この情報処理端末の各部に電源を供給するか、それとも遮断するかを、切り替える制御部である。この電源制御部５０がオンになると、この情報処理端末の各部に電源が供給されるが、電源制御部５０がオフになると、すべての電源が遮断され、この情報処理端末自体がオフになる。
【００２８】
この電源制御部５０は、例えば、ＦＥＴなどのスイッチにより構成されており、このＦＥＴのゲートに制御信号を印加することにより、オン／オフが切り替わるように構成されている。すなわち、メインＣＰＵ１０又はサブＣＰＵ２０から、電源オフ実行要求を受信した場合には、ＦＥＴをオンにして、電源ラインをグランドに落とすことにより、電源をオフにする。
【００２９】
図２は、サブＣＰＵに内蔵されるレジスタの構成を説明する説明図である。図２（ａ）〜（ｃ）に示されるように、レジスタ２２は、８ビットずつの格納領域を３つ備えている。図２（ａ）は、レジスタ２２の格納領域のうち、Ｄ００〜Ｄ０７を示す。このうち、Ｄ０７がＭＳＢ（most significant bit）であり、Ｄ００がＬＳＢ（least significant bit）である。図２（ｂ）は、レジスタ２２の格納領域のうち、Ｄ２０〜Ｄ２７を示す。このうち、Ｄ２７がＭＳＢ（most significant bit）であり、Ｄ２０がＬＳＢ（least significant bit）である。図２（ｃ）は、レジスタ２２の格納領域のうち、Ｄ４０〜Ｄ４７を示す。このうち、Ｄ４７がＭＳＢ（most significant bit）であり、Ｄ４０がＬＳＢ（least significant bit）である。
【００３０】
図３は、レジスタに格納されるデータの概要を説明する説明図である。Ｄ００〜Ｄ０７は、図２（ａ）で示される領域のデータである。Ｄ００は、キー入力があったか否かを示す。１の場合はキー入力があり、０の場合はキー入力がなかった場合を示す。Ｄ０１〜Ｄ０４は予約済みの領域である。Ｄ０５は、本体温度の状態を示し、１の場合は本体温度に異常があり、０の場合は電源温度に異常がない場合を示す。Ｄ０６は、電源温度の状態を示し、１の場合は電源温度に異常があり、０の場合は電源温度に異常がない場合を示す。Ｄ０７は、電源ＯＦＦ要求を示し、１の場合は電源ＯＦＦの要求があり、０の場合は電源ＯＦＦの要求がない場合を示す。Ｄ２０〜Ｄ２７は、図２（ｂ）で示される領域のデータであり、これらの各データはキーコードを示している。
【００３１】
Ｄ４０〜Ｄ４７は、図２（ｃ）で示される領域のデータである。Ｄ４０〜Ｄ４３は本体温度を示すデータである。Ｄ４０〜Ｄ４３によって４ビットのデータが構成されるので、１６進数で０〜Ｆ（１０進数で０〜１５）のデータを示すことができる。ここで、本体温度が正常な場合、このデータは０〜７（１６進数）で示され、０がこの中で最も温度が低い状態で、７がこの中でもっとも温度が高い状態である。本体温度が異常な場合、このデータは８〜Ｆ（１６進数）で示され、８がこの中で最も温度が低い状態で、Ｆがこの中でもっとも温度が高い状態である。
【００３２】
Ｄ４４〜Ｄ４７は電池温度を示すデータである。Ｄ４４〜Ｄ４７によって４ビットのデータが構成されるので、１６進数で０〜Ｆ（１０進数で０〜１５）のデータを示すことができる。ここで、電池温度が正常な場合、このデータは０〜７（１６進数）で示され、０がこの中で最も温度が低い状態で、７がこの中でもっとも温度が高い状態である。電池温度が異常な場合、このデータは８〜Ｆ（１６進数）で示され、８がこの中で最も温度が低い状態で、Ｆがこの中でもっとも温度が高い状態である。
【００３３】
図４は、ＨＤＤヘッド退避の処理を説明するフローチャートである。まず、サブＣＰＵ２０は、メインＣＰＵ１０に電源オフを要求する（ステップＳ４０１）。すなわち、メインＣＰＵ１０の処理に割り込みを入れることにより、メインＣＰＵ１０が電源切断処理に移行するように要求する。
【００３４】
次に、サブＣＰＵ２０は、メインＣＰＵ１０からＡＣＫ信号の返答があったか否かを判定する（ステップＳ４０２）。ＡＣＫ信号がなかった場合（ステップＳ４０２：Ｎｏ）、その時点でメインＣＰＵ１０が暴走状態であると判断されるので、ステップＳ４０６に進む。ＡＣＫ信号があった場合（ステップＳ４０２：Ｙｅｓ）、サブＣＰＵ２０は、タイマーをスタートさせる（ステップＳ４０３）。タイマーで時間を計測することにより、メインＣＰＵ１０への割り込み処理から経過した時間を計測することができる。
【００３５】
次に、サブＣＰＵ２０は、メインＣＰＵ１０からのレジスタ２２のアクセスがあったかどうかを判定する（ステップＳ４０４）。アクセスがあった場合（ステップＳ４０４：Ｙｅｓ）、メインＣＰＵ１０は正常に動作していると判断されるので、一連の処理を終了する。アクセスがなかった場合（ステップＳ４０４：Ｎｏ）、タイムアウトしたか否かを判定する（ステップＳ４０５）。タイムアウトしていない場合（ステップＳ４０５：Ｎｏ）、ステップＳ４０４に戻り、タイムアウトするまで一連の処理を繰り返す。
【００３６】
タイムアウトした場合（ステップＳ４０５：Ｙｅｓ）、ＡＣＫ信号の返答はあってもメインＣＰＵ１０は暴走していると判断されるので、次にＨＤＤ３６のヘッド退避処理を実行する（ステップＳ４０６）。ＨＤＤ３６の退避処理が終了したのち、電源を切断し（ステップＳ４０７）、一連の処理を終了する。
【００３７】
メインＣＰＵ１０の暴走としてはいくつか挙げられる。たとえばメインＣＰＵ１０が内部での演算を終了させることができないなど、暴走が内部的なものが挙げられる。この場合、ＡＣＫ信号を出力させることができないので、ステップＳ４０２でＮｏ判定がなされ、電源切断処理に移行することができる。
【００３８】
一方で、暴走が内部的なものにとどまらず、ＡＣＫ信号を返信するなどの外部への出力を伴う場合もある。この場合、ステップＳ４０２でＹｅｓ判定がされる。しかし、ＡＣＫ信号を返してもその後レジスタ２２へのアクセスに移行しないので、タイマーによる時間の経過を待って、その間にアクセスがない場合は、暴走しているものと判定して電源切断処理に移行することができる。
【００３９】
以上説明したように、メインＣＰＵが暴走しているときであっても、サブＣＰＵによって電源の切断処理に移行することができる。その場合に突然電源を落としてしまうのではなく、サブＣＰＵからＨＤＤに対して、電源切断時にヘッド退避コマンドを送る。したがって、ＨＤＤのヘッドを退避させた上で電源を切断することができる。その結果、メインＣＰＵの暴走により電源を切断する場合でも、ＨＤＤのヘッドを保護した上で電源切断処理に移行することができる。
【図面の簡単な説明】
【００４０】
【図１】情報処理端末の構成を説明するブロック図。
【図２】サブＣＰＵに内蔵されるレジスタの構成を説明する説明図。
【図３】レジスタに格納されるデータの概要を説明する説明図。
【図４】ＨＤＤヘッド退避の処理を説明するフローチャート。
【符号の説明】
【００４１】
１０  メインＣＰＵ、２０  サブＣＰＵ、２２  レジスタ、３１  内部バス、３２  ＲＡＭ、３４  ＲＯＭ、３６  ＨＤＤ、３８  外部記憶装着部、３９  調停回路、４０  本体温度検出部、４２  電池温度検出部、４４  電源ＳＷ、５０  電源制御部、５２  電池
【図１】
2006276949.tif 000003
【図２】
2006276949.tif 000004
【図３】
2006276949.tif 000005
【図４】
2006276949.tif 000006