(57)【要約】【課題】ＣＰＵが正常に動作できない場合、再起動、もしくは、強制的に電源をオフすると、ＨＤＤやＳＳＤ内のキャッシュの記憶内容が消失してしまう。【解決手段】情報処理装置であって、記憶媒体を有し、情報を記憶する記憶装置と、少なくとも前記記憶装置への電源供給を制御する電源制御手段とを有し、記憶装置の電源オフ時に記憶装置を制御するコマンドを記憶しておき、情報処理装置のＣＰＵが正常に動作していないことを検知したことに応じて、情報処理装置の電源をオフする前に、記憶手段に記憶しているコマンドを記憶装置に送信して、記憶装置の電源オフのための処理を実行させる。【選択図】  図２
2019159832.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であって、
記憶媒体を有し、情報を記憶する記憶装置と、
少なくとも前記記憶装置への電源供給を制御する電源制御手段と、
前記記憶装置の電源オフ時に前記記憶装置を制御するコマンドを記憶する記憶手段と、
前記情報処理装置のＣＰＵが正常に動作しているか否かを検知する検知手段と、
前記検知手段が前記ＣＰＵが正常に動作していないことを検知したことに応じて、前記情報処理装置の電源をオフする前に、前記記憶手段に記憶しているコマンドを前記記憶装置に送信するように制御する制御手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記コマンドは、前記記憶装置のキャッシュの内容を前記記憶媒体に書き込むように指示するコマンドを含むことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記コマンドは、前記記憶装置の電源状態をスタンバイ状態に移行させるコマンドを含むことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記検知手段は、ウオッチドッグタイマを含み、前記ＣＰＵが前記ウオッチドッグタイマを定期的に初期化しているかどうかに基づいて当該ＣＰＵが正常に動作しているかどうか検知することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記制御手段は、更に、前記記憶装置が前記コマンドをすべて実行したことに応じて、前記電源制御手段に対して電源をオフするように指示することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記記憶手段は、前記ＣＰＵが正常に動作しているときに当該ＣＰＵの制御により前記コマンドを記憶することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記制御手段は、前記検知手段が前記ＣＰＵが正常に動作していることを検知しているときは当該ＣＰＵに接続されたメインバスと前記記憶装置とを接続し、前記検知手段が前記ＣＰＵが正常に動作していないことを検知すると、前記記憶手段と前記記憶装置とを接続することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
記憶媒体を有し、情報を記憶する記憶装置を接続した情報処理装置における記憶装置の制御方法であって、
前記記憶装置の電源オフ時に前記記憶装置を制御するコマンドを記憶する記憶工程と、
前記情報処理装置のＣＰＵが正常に動作しているか否かを検知する検知工程と、
前記検知工程が前記ＣＰＵが正常に動作していないことを検知したことに応じて、前記情報処理装置の電源をオフする前に、前記記憶工程で記憶しているコマンドを前記記憶装置に送信するように制御する制御工程と、
を有することを特徴とする制御方法。
【請求項９】
請求項８に記載の制御方法の各工程を、コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置と、記憶装置の制御方法、及びプログラムに関するものである。
【背景技術】
【０００２】
従来、ＰＣなどの情報処理装置に接続された記憶装置の電源をオフする直前に、その情報処理装置のＣＰＵが、その記憶装置に所定のコマンドを発行することが提案されている。例えば、特許文献１では、ＨＤＤ（ハードディスクドライブ）の電源をオフする際、ＣＰＵが２つのコマンドを発行する。１つ目のコマンドは、ＨＤＤ内の揮発性の一時メモリ（キャッシュ）に記憶した記憶内容を不揮発性の記憶媒体（ディスク）に書き込むためのコマンドである。この処理で、ＨＤＤの電源オフ時の記憶内容の消失を防いでいる。２つ目のコマンドは、ＨＤＤのヘッドをアンロードするためのコマンドである。このアンロードのためのコマンドを受けたＨＤＤは、ヘッドをディスクの記憶領域以外の退避場所に退避させた後、ディスクの回転を停止する。この処理によって、ディスク及びヘッドの損傷を防止している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５２７９６３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら上記従来の技術では、例えば、ＣＰＵの暴走、ハングアップなどによりＣＰＵが正常に動作できない場合は、電源をオフする前の準備を行うためのコマンドを発行できなくなる。ＣＰＵが正常に動作できない場合は、その装置を再起動、もしくは、強制的に、その電源をオフすることが一般的である。しかし、再起動、もしくは、強制的に電源をオフする場合は、ＣＰＵが上述のコマンドを発行できないため、ディスク及びヘッドがダメージを受けて故障するおそれがある。
【０００５】
また、ＣＰＵが正常に動作できない場合、再起動、もしくは、強制的に電源をオフすると、ＨＤＤやＳＳＤ内のキャッシュの記憶内容が消失してしまう。一般的にＳＳＤ内部のキャッシュの記憶容量は、ＨＤＤ内部のキャッシュの記憶容量よりも大容量である。このため、上述のコマンドを発行できない場合、ＳＳＤの場合の方がデータ消失に伴うリスクが大きくなる。
【０００６】
本発明の目的は、上記従来技術の問題点を解決することにある。
【０００７】
本発明の目的は、ＣＰＵが正常に動作できない場合でも、記憶装置の電源を正常にオフするために必要なコマンドを発行できる技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
情報処理装置であって、
記憶媒体を有し、情報を記憶する記憶装置と、
少なくとも前記記憶装置への電源供給を制御する電源制御手段と、
前記記憶装置の電源オフ時に前記記憶装置を制御するコマンドを記憶する記憶手段と、
前記情報処理装置のＣＰＵが正常に動作しているか否かを検知する検知手段と、
前記検知手段が前記ＣＰＵが正常に動作していないことを検知したことに応じて、前記情報処理装置の電源をオフする前に、前記記憶手段に記憶しているコマンドを前記記憶装置に送信するように制御する制御手段と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ＣＰＵが正常に動作できない場合でも、記憶装置の電源を正常にオフするために必要なコマンドを発行できる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態１に係るＭＦＰを含むシステム構成を説明するブロック図。
【図２】実施形態１に係るＭＦＰのメインコントローラ及び記憶装置の電源制御を行う構成を説明するブロック図。
【図３】実施形態１に係る記憶装置ホスト制御部の構成を説明するブロック図。
【図４】実施形態１に係る電源制御部、記憶装置ホスト制御部、記憶装置の動作を説明するためのフローチャート。
【図５】実施形態１に係る記憶装置の一例であるＨＤＤ部の構成を説明する図。
【図６】実施形態１に係るＭＦＰの電源オフの前処理時に記憶装置ホスト制御部が発行するコマンドの一例を示す図。
【図７】本発明の実施形態２に係るＭＦＰを含むシステム構成を説明する図。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。以下、本発明の実施形態について説明する。ここでは説明のため、本発明に係る情報処理装置の一例として、複合機（ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ Ｐｅｒｉｐｈｅｒａｌ））を例に説明するが、本発明はこのような複合機に限定されない。
【００１２】
［実施形態１］
図１は、本発明の実施形態１に係るＭＦＰ１００を含むシステム構成を説明するブロック図である。
【００１３】
ＭＦＰ１００は、ネットワーク１０６を介して、ホストコンピュータ１０７と接続される。次に、ＭＦＰ１００の内部を説明する。
【００１４】
メインコントローラ１２０は、ＭＦＰ１００を制御するための制御部であり、メインコントローラ１２０の周囲の各部との通信及びＭＦＰ１００全体の制御を行う。メインＣＰＵ（以下、単にＣＰＵと呼ぶ）１０１は、ＭＦＰ全体の制御や各種演算処理を行う。メモリ制御部１０２は、各種メモリデバイスへの入出力制御やＤＭＡ（ダイレクト・メモリ・アクセス）制御等を行う。メモリ１０３は、書き換え可能な不揮発性メモリであり、ＭＦＰの制御プログラムや制御パラメータ等が格納される。ＤＲＡＭ（ダイナミック・ランダム・アクセス・メモリ）１０４は、ＤＤＲ（Ｄｏｕｂｌｅ−Ｄａｔａ−Ｒａｔｅ）メモリに代表される揮発性の書き換え可能なメモリである。プログラムの作業領域や印刷データの格納領域、各種テーブル情報の格納領域等の用途に用いられる。ここで、メモリ制御部１０２と各種メモリデバイスとの関係は、簡略化して表現したものであって、一般的には独立に制御される。
【００１５】
ＬＡＮ−ＩＦ制御部１０５は、ＭＦＰ１００に接続されるローカル・エリア・ネットワーク１０６との入出力制御を行う。一般的にはＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）プロトコルに対応する。ネットワークケーブルを介してホストコンピュータ１０７などのネットワーク対応機器と接続され、ネットワーク１０６経由で通信を行うことができる。
【００１６】
リーダＩＦ制御部１０８は、スキャナ装置１０９との通信制御を行う。スキャナ装置１０９が原稿をスキャンして得られた画像データをプリンタ部１１８で印刷することでコピー機能を実現する。画像処理部１１０は、ＬＡＮ−ＩＦ制御部１０５、リーダＩＦ制御部１０８を介して取り込んだ画像データに対して各種画像処理を行う。記憶装置ホスト制御部１１１は、ホストＩＦを有し、ＨＤＤ或いはＳＤＤなどの記憶装置１１３と接続され、データ入出力制御を行う。操作部ＩＦ１１５は、操作部１１６との通信制御を行う。ここでは図示しないがＵＩ（ユーザ・インターフェイス）として、操作部１１６への画面表示や、ユーザによるボタン等の操作を検知してＭＦＰ１００の各種設定及び状態の確認ができる。ビデオ出力ＩＦ部１１７は、プリンタ部１１８とのコマンド／ステータスの通信制御や印刷データの転送を行う。プリンタ部１１８は、ビデオ出力ＩＦ部１１７からのコマンド情報に従って、画像データに基づいて用紙に画像を印刷する。メインバス１１９は、バスコントローラを含み、制御バス、データバス及び任意ブロック間のローカルバスを便宜的にまとめて表現したものである。代表例としてＰＣＩｅ（ＰＣＩ Ｅｘｐｒｅｓｓ）やＡＳＩＣの内部バスなども含まれる。
【００１７】
ＣＰＵ監視部１３０は、ＣＰＵ１０１が正常動作しているかどうかを監視する。ＣＰＵ監視部１３０は、例えば、ウオッチドッグタイマを含み、ＣＰＵ１０１が、暴走或いはハングアップすると、定期的にウオッチドッグタイマを初期化できなくなる。よって、ＣＰＵ監視部１３０は、このウオッチドッグタイマを監視することにより、ＣＰＵ１０１が正常動作しているかどうかを検知できる。ＣＰＵ１０１が正常に動作していない場合、一般的にリセットをかけるか、或いは電源をオフする。しかし実施形態１では、ＣＰＵ１０１が正常に動作していない場合、電源オフ予告信号１３１を介して、記憶装置ホスト制御部１１１又は電源制御部１３２に、電源オフを予告するものとして説明する。
【００１８】
電源制御部１３２は、ＭＦＰ１００の電源供給を制御する。電源制御部１３２は、通常動作モード、低電力モード、電源オフなどの電力状態に応じて、電源オフ又は電源オンを電源装置１０７に指示する。実施形態１では、記憶装置ホスト制御部１１１から記憶装置１１３が電源オフの準備ができたことを受けてから、電源制御部１３２が電源装置１０７に電源オフを指示する。
【００１９】
次に、図２を参照して、実施形態１に係るメインコントローラ１２０及び記憶装置１１３の構成例の詳細を説明する。
【００２０】
図２は、実施形態１に係るＭＦＰ１００のメインコントローラ１２０及び記憶装置１１３の電源制御を行う構成を説明するブロック図である。図２において、図１と共通する部分は同じ参照番号で示している。
【００２１】
電源オフ予告信号１３１は、記憶装置１１３の電源をオフする前に、電源制御部１３２が記憶装置ホスト制御部１１１に通知する信号である。ここで、記憶装置１１３の電源をオフする前に、電源オフ予告信号１３１がハイレベルからロウレベルに変化するとして説明するが、これに限定するものではない。
【００２２】
電源オフ準備完了信号２２０は、記憶装置１１３の電源を切る準備が完了したことを記憶装置ホスト制御部１１１から電源制御部１３２に通知する信号である。ここでは、記憶装置１１３の電源を切る準備が完了したら、電源オフ準備完了信号２２０がハイレベルからロウレベルに変化するとして説明するが、これに限定するものではない。
【００２３】
電源オフ信号２５０は、電源制御部１３２が電源装置１０７に出力するディジタル信号である。説明のため、電源オフ信号２５０がロウレベルのときに記憶装置１１３の電源をオフするとして説明するが、これに限定するものではない。
【００２４】
次に記憶装置１１３の内部構成を説明する。
【００２５】
記憶装置コントローラ２３０は、記憶装置ホスト制御部１１１と通信し、記憶装置１１３を制御する。記憶装置キャッシュメモリ２３２は、記憶装置コントローラ２３０が制御する揮発性の記憶素子であり、記憶装置１１３の書き込みデータを一時的に記憶する。記憶装置１１３の電源をオフにすると、記憶装置キャッシュメモリ２３２の記憶内容が消失する。記憶媒体２３１は、不揮発性の記憶媒体で、例えば後述する図５のディスク３０に相当する。ここでは記憶装置１１３の電源をオフする前に、記憶装置キャッシュメモリ２３２に一時的に記憶した書き込みデータを記憶媒体２３１に書き込む。電源線２４０は、電源装置１０７がメインコントローラ１２０に電力を供給する電源線である。電源線２４０は、電源装置１０７がメインコントローラ１２０に電力を供給する電源線である。電源線１４０は、電源装置１０７が記憶装置１１３に電力を供給する電源線である。記憶装置Ｉ／Ｆ信号２６０は、記憶装置ホスト制御部１１１と記憶装置１１３とが通信するための信号線である。ここでは説明のため、記憶装置Ｉ／Ｆ信号２６０は、ＳＡＴＡ（Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）規格に準拠した信号として以下説明する。
【００２６】
ここで、電源オフ予告信号１３１は、前記の構成に限定されるものではなく、電源オフする前にメインバス１１９を介して、電源制御部１３２と記憶装置ホスト制御部１１１が通信する構成でも良い。また記憶装置Ｉ／Ｆ信号２６０は、ＳＡＴＡ規格に限定されるものではなく、メインコントローラ１２０と記憶装置１１３とが接続可能なバスであれば、ＳＡＳ、ＳＡＴＡ  Ｅｘｐｒｅｓｓ、ＰＣＩ  Ｅｘｐｒｅｓｓ、ＮＶＭ  Ｅｘｐｒｅｓｓ、Ｍ．２、ｅＭＭＣ、ＵＳＢなど、何でも良い。
【００２７】
次に図３を参照して、実施形態１に係る記憶装置ホスト制御部１１１の構成を説明する。
【００２８】
図３は、実施形態１に係る記憶装置ホスト制御部１１１の構成を説明するブロック図である。
【００２９】
前述のように、記憶装置ホスト制御部１１１は、メインコントローラ１２０に記憶装置１１３を接続するインターフェースであり、メインバス１１９に接続され、記憶装置Ｉ／Ｆ信号２６０をプロトコル変換する。次に記憶装置ホスト制御部１１１の内部ブロックを説明する。
【００３０】
メインバスＩ／Ｆ３０１は、メインバス１１９から記憶装置ホスト制御部１１１の内部バスとの間のバスブリッジであり、ＣＰＵ１０１が発行した記憶装置１１３へのコマンドをプロトコル変換する。コマンド選択部３０２は、メインバスＩ／Ｆ３０１、又は、後述の電源オフの前処理コマンド発行部（以下、前処理コマンド発行部）３０４からのコマンドを選択するセレクタである。コマンド選択部３０２は、電源オフ予告信号１３１がハイレベル（電源オフの予告でないとき）の場合、メインバスＩ／Ｆ３０１からのコマンドを選択する。コマンド選択部３０２は、電源オフ予告信号１３１がロウレベル（電源オフの予告のとき）の場合、前処理コマンド発行部３０４からのコマンドを選択する。
【００３１】
記憶装置インターフェース３０３は、記憶装置１１３を接続するホストインターフェースであり、コマンド選択部３０２からのコマンドを記憶装置Ｉ／Ｆ信号２６０のプロトコルに変換する。前処理コマンド発行部３０４は、電源オフ前にコマンドを発行する。電源オフ予告信号１３１がハイレベルの場合、後述の電源オフの前処理コマンド記憶部（以下、前処理コマンド記憶部）３０５に記憶したコマンドを読み出し、そのコマンドをコマンド選択部３０２に伝える。前処理コマンド記憶部３０５は、電源オフ時に発行する後述のコマンドを記憶する記憶部である。前処理コマンド記憶部３０５は、ＥＥＰＲＯＭ、ＲＯＭなど不揮発性の記憶素子で形成されても、ＳＲＡＭ、ＤＲＡＭなどの揮発性の記憶素子で形成されてもどちらでも良い。前処理コマンド記憶部３０５が揮発性の記憶素子の場合、例えば、起動時に、ＣＰＵ１０１が前処理コマンド記憶部３０５にコマンドを書き込む必要がある。
【００３２】
このように記憶装置ホスト制御部１１１は、通常は、メインバス１１９を経由してＣＰＵ１０１により制御され、記憶装置１１３にコマンドを送信する。実施形態１では、ＣＰＵ１０１が動作できない時でも、予め記憶したコマンドを記憶装置ホスト制御部１１１が生成して記憶装置１１３に送信することで、記憶装置１１３の故障と、データの消失を防止している。
【００３３】
ここで、前処理コマンド記憶部３０５は、ＲＯＭのように不揮発性の記憶素子であるとして説明した。しかし、前処理コマンド記憶部３０５はＲＯＭに限定するものではなく、ＲＡＭのように揮発性の記憶素子でも良い。その際、起動時など、ＣＰＵ１０１が正常動作可能な時に、予めＣＰＵ１０１から記憶装置ホスト制御１１１部に記憶するコマンドを転送してもよいことは言うまでもない。その際、ＡＴＡ／ＡＴＡＰＩで未定義のコマンドを利用して、コマンドを転送しても良い。
【００３４】
次に、図４を参照して、実施形態１に係るメインコントローラ１２０及び記憶装置１１３の動作を説明する。
【００３５】
図４は、実施形態１に係る電源制御部１３２、記憶装置ホスト制御部１１１、記憶装置１１３の動作を説明するためのフローチャートである。尚、このフローチャートのＳ４０１〜Ｓ４０４で示す処理は、電源制御部１３２の非図示のロジック回路又は電源制御部１３２内の非図示のＣＰＵの制御の下で実行される。またフローチャートのＳ４１１〜Ｓ４１４で示す処理は、記憶装置ホスト制御部１１１のロジック回路又はホスト制御部１１１の非図示のＣＰＵの制御の下で実行される。更に、フローチャートのＳ４２１〜Ｓ４２３で示す処理は、記憶装置１１３のロジック回路又は記憶装置１１３の非図示のＣＰＵの制御の下で実行される。
【００３６】
まず最初に、電源制御部１３２の動作を説明する。
【００３７】
Ｓ４０１は、記憶装置１１３の電源をオフに遷移することを待つ条件分岐である。例えば、ユーザが電源オフスイッチを操作したことを電源制御部１３２が検出すると、ＭＦＰ１００の電源をオフにするとＣＰＵ１０１が判定する。ＣＰＵ１０１が記憶装置１１３の電源オフに遷移すると判定したら、ＣＰＵ１０１から電源制御部１３２に信号やコマンド、レジスタ変更などで通知されてＳ４０２に処理が進む。又は、ＣＰＵ１０１が一定時間ハングアップしたことを電源制御部１３２が判定したときもＳ４０２に進む。又は、ＣＰＵ１０１の処理が遅く、ＭＦＰ１００のシャットダウン処理に一定時間かかったことを電源制御部１３２が判定したときもＳ４０２に進む。ここで記憶装置１１３の電源オフへ遷移しない場合はＳ４０１に戻り、記憶装置１１３の電源オフへの遷移の指示が来るまで待つ。
【００３８】
Ｓ４０２で、電源制御部１３２から記憶装置ホスト制御部１１１、記憶装置１１３に電源オフ予告信号１３１をロウレベルで出力して電源オフ前処理を行うように通知する。次にＳ４０３に進み、電源制御部１３２は記憶装置１１３から電源オフの前処理の完了待ちとなる。ここでは例えば、上述したように、記憶装置ホスト制御部１１１が出力する電源オフ準備完了信号２２０がハイレベルからロウレベルに変化したら、前処理が完了したと判定してＳ４０４に処理を進める。また前処理が完了していない場合はＳ４０３にとどまる。Ｓ４０４は記憶装置１１３の電源をオフする処理であり、例えば、前述のように、電源オフ信号２５０で通知する。
【００３９】
次に記憶装置ホスト制御部１１１の動作を説明する。
【００４０】
Ｓ４１１は、電源オフ予告信号１３１がロウレベルになるのを待つ。電源オフ予告信号１３１がハイレベル、即ち、電源オフの前処理の指示が来ない場合はＳ４１１に戻る。電源オフ予告信号１３１がロウレベルになって電源オフの前処理の指示が来たと判定するとＳ４１２に進む。Ｓ４１２で、記憶装置１１３に電源オフ前処理コマンドを発行する。前述のように、このとき記憶装置ホスト制御部１１１は、コマンド記憶部３０５に記憶したコマンドをコマンド発行部３０４が発行し、コマンド選択部３０２、記憶装置インターフェース３０３を介して、記憶装置１１３にコマンドを発行する。これは既に説明済なので、詳細説明を省略する。次にＳ４１３で、コマンド記憶部３０５に記憶したコマンドが全て発行され、そのコマンドの処理が全て完了したかどうかを判定し、コマンド処理が全て完了していない場合はＳ４１２に戻る。
【００４１】
Ｓ４１３で電源オフの前処理コマンドの処理が全て完了するとＳ４１４に進む。Ｓ４１４で、コマンド記憶部３０５に記憶したコマンドが全て発行され、そのコマンド処理が全て完了したことを電源制御部１３２に通知する。
【００４２】
ここで、電源オフの前処理中にメインバス１１９からのコマンドを処理すると、電源オフの前処理が正しく行われない。そうならないよう、電源オフの前処理の指示が来た場合、例えば、電源オフ予告信号１３１がロウレベルの場合、つまり、Ｓ４１２〜Ｓ４１４において、コマンド選択部３０２は、メインバス１１９からのコマンドを処理しないようにするのが望ましい。
【００４３】
次に記憶装置１１３の動作を説明する。
【００４４】
Ｓ４２１は、記憶装置ホスト制御部１１１からのコマンドを待つ。ここでコマンドを受信していない場合はＳ４２１に留まる。コマンドを受信するとＳ４２２に進む。Ｓ４２２では、その受信したコマンド処理を実行する。コマンドの詳細は後述する。そしてＳ４２３に進み、Ｓ４２２のコマンド処理の実行結果を通知する。コマンド処理が成功したら完了を返し、失敗したらエラーを返す。例えば、記憶装置Ｉ／Ｆ信号３０３がＳＡＴＡの場合、ＲｅｇＤＨ（Ｒｅｇｉｓｔｅｒ  Ｄｅｖｉｃｅ  ｔｏ  Ｈｏｓｔ）でコマンド処理の完了又はエラーを、記憶装置１１３から記憶装置ホスト制御部１１１に通知する。
【００４５】
図５は、実施形態１に係る記憶装置１１３の一例であるＨＤＤ部の構成を説明する図である。
【００４６】
ＨＤＤ部２０では、ディスク３０が回転し、ヘッド３１がディスク３０上を走査することにより、ディスク３０に記憶されたデータへのアクセス（読出又は書込）を実行することができる。また、ＨＤＤ部２０では、電源をオフする際に、ヘッド３１を、ヘッド退避領域（図５で網掛されたディスク３０の記憶領域以外の領域）に退避する。
【００４７】
図６は、実施形態１に係るＭＦＰ１００の電源オフの前処理時に記憶装置ホスト制御部１１１が発行するコマンドの一例を示す図である。ここでは説明のため、前処理コマンド記憶部３０５に記憶する例を説明するが、記憶装置１１３、メモリ１０３、ＤＲＡＭ１０４など、どこに記憶しても良い。図６では、ＡＴＡコマンドの例で示しており、コマンド６１１，６１２，６１３，６１４を順番に発行するとして説明する。
【００４８】
コマンド６１１は、記憶装置１１３のキャッシュの内容をディスク３０に書き込むように指示するコマンドである。コマンド６１２は、コマンド６１１と同様の処理なので、その説明を省略する。コマンド６１３は、記憶装置１１３の電源状態をスタンバイ状態に移行させるコマンドである。例えば、スタンバイ状態では、記憶装置１１３のヘッド３１がヘッド退避領域に退避され、ディスク３０の回転が停止している。コマンド６１４は、コマンド６１３と同様なので、その説明を省略する。
【００４９】
ここではＳＡＴＡで用いられるＡＴＡコマンドを例に説明したが、本発明はこれに限定するものではない。例えば、ＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ）で用いられるＳＣＳＩコマンド、例えば、SYNCHRONIZE CACHEコマンド、START  STOP UNITコマンドでも良い。同様に、ＳＤカードやｅＭＭＣなどで用いられるＳＤコマンド、例えば、SELECT/DESELECT_CARDコマンドでも良い。また、ＮＶＭ  ＥｘｐｒｅｓｓやＭ．２で用いられるNVMコマンド、例えば、Shutdown notificationコマンドでも良い。このように、このコマンドは、特定の規格に限定されるものではなく、どのような規格のコマンドでも良い。
【００５０】
以上説明したように実施形態１によれば、ＣＰＵ１０１が正常に動作できない場合でも、記憶装置１１３の電源オフの前処理が可能となり、安全に記憶装置１１３の電源をオフできる。その結果、電源オフ前処理無しに記憶装置１１３の電源をオフすることによる記憶装置１１３の故障及びデータの消失を防止できる。
【００５１】
ここではＭＦＰの例を説明してきたが、本発明はＭＦＰに限定するものではなく、記憶装置の電源を切る際、予め用意されたコマンドを記憶装置インターフェースから記憶装置に発行する装置であれば、何でも良い。
【００５２】
また実施形態１では、記憶装置ホスト制御部１１１が前処理コマンド記憶部３０５及び前処理コマンド発行部３０４を有するとして説明したが、本発明は、この構成に限定するものではなく、これらは記憶装置とメインコントローラ内のどこに存在しても良い。
【００５３】
［実施形態２］
本発明の実施形態２について図面を用いて説明する。
【００５４】
図７は、本発明の実施形態２に係るＭＦＰ１００を含むシステム構成を説明する図である。ここで前述の実施形態１に係る図１と共通する箇所は同じ参照番号で示し、それらの説明を省略する。
【００５５】
ＳＡＴＡブリッジ制御部１１２は、ＳＡＴＡホスト制御部１１１及び記憶装置１１３、後述の記憶装置１１４に接続され、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ Ｉｎｅｘｐｅｎｓｉｖｅ Ｄｉｓｋ）制御やデータ暗号化処理を実施するためのＳＡＴＡ−ＳＡＴＡバスブリッジである。記憶装置１１４は、記憶装置１１３と同様の記憶装置であり、記憶装置１１３，１１４でＲＡＩＤを構成する。
【００５６】
実施形態２では、ＳＡＴＡホスト制御部７０１が前処理コマンド記憶部３０５及び前処理コマンド発行部３０４を有しても良い。その場合、前処理コマンド記憶部３０５及び前処理コマンド発行部３０４が発行したコマンドをＳＡＴＡブリッジ制御部１１２が記憶装置１１３，１１４にそのまま転送する。その後、記憶装置１１３，１１４の電源オフ前処理が完了すると、ＳＡＴＡホスト制御部７０１又はＳＡＴＡブリッジ制御部１１２から電源制御部１３２に電源をオフして良いことを通知する。もしくは、ＳＡＴＡブリッジ制御部１１２が、前処理コマンド記憶部３０５及び前処理コマンド発行部３０４を有しても良いことは言うまでもない。
【符号の説明】
【００５７】
１０１…ＣＰＵ、１１１…記憶装置ホスト制御部、１０７…電源装置、１１３，１１４…記憶装置、１３１…電源オフ予告信号、１３２…電源制御部、３０２…コマンド選択部、３０３…記憶装置インターフェース、３０４…電源オフ前処理コマンド発行部、３０４…電源オフ前処理コマンド記憶部
【図１】
2019159832.tif 000003
【図２】
2019159832.tif 000004
【図３】
2019159832.tif 000005
【図４】
2019159832.tif 000006
【図５】
2019159832.tif 000007
【図６】
2019159832.tif 000008
【図７】
2019159832.tif 000009