(57)【要約】【課題】データの確実なＵＳＢストレージへの記憶を低処理負荷で行える「データ処理装置及びコンピュータプログラム」を提供する。【解決手段】ＵＳＢストレージへのファイルの書き込み後にデータ処理装置１の再起動が行われない場合には、ファイルの書き込みが完了したならば（３０２）、そのまま処理を終了する（ａ）。ＵＳＢストレージへのファイルの書き込み後にデータ処理装置１の再起動が行われる場合には、ＵＳＢストレージを取り外し可能な状態に設定した上（３０３、３９４、３１３、３１４）で、再起動シーケンス（３３１）を実行する（ｂ）。【選択図】図３
2017045208.tif 000002
【特許請求の範囲】
【請求項１】
リムーバブルなストレージが選択的に接続されるデータ処理装置であって、
接続された前記ストレージにデータを書き込むデータ書込手段と、
前記データ処理装置の電源をオフする電源制御手段とを有し、
前記データ書込手段は、
前記ストレージにデータを書き込んだ後に、前記電源制御手段による当該データ処理装置の電源のオフが予定されている場合に、当該データの書き込み後、前記電源制御手段による電源オフ発生前に、前記ストレージを当該データ処理装置から取り外し可能な状態に設定し、
前記ストレージにデータを書き込んだ後に、前記電源制御手段による当該データ処理装置の電源のオフが予定されていない場合に、当該データの書き込み後の、前記ストレージの当該データ処理装置から取り外し可能な状態への設定を行わないことを特徴とするデータ処理装置。
【請求項２】
リムーバブルなストレージが選択的に接続されるデータ処理装置であって、
接続された前記ストレージにデータを書き込むデータ書込手段と、
前記データ処理装置の電源をオフした後に電源をオンする、当該データ処理装置の再起動シーケンスを実行する電源制御手段とを有し、
前記データ書込手段は、
前記ストレージにデータを書き込んだ後に、前記電源制御手段による当該データ処理装置の前記再起動シーケンスの実行が予定されている場合に、当該データの書き込み後、前記電源制御手段による記再起動シーケンスの実行前に、前記ストレージを当該データ処理装置から取り外し可能な状態に設定し、
前記ストレージにデータを書き込んだ後に、前記電源制御手段による当該データ処理装置の前記再起動シーケンスの実行が予定されていない場合に、当該データの書き込み後の、前記ストレージの当該データ処理装置から取り外し可能な状態への設定を行わないことを特徴とするデータ処理装置。
【請求項３】
請求項１または２記載のデータ処理装置であって、
前記ストレージは、ＵＳＢストレージであり、前記データ書込手段による前記ストレージの当該データ処理装置から取り外し可能な状態への設定は、前記ストレージにPREVENT ALLOW MEDIUM REMOVALコマンドを送信することにより当該ストレージを当該データ処理装置から取り外し可能な状態に制御すると共に、前記ストレージからの当該PREVENT ALLOW MEDIUM REMOVALコマンドによる制御の成功を示す応答を確認することにより行うことを特徴とするデータ処理装置。
【請求項４】
リムーバブルなストレージが選択的に接続されるコンピュータによって読み取られ実行されるコンピュータプログラムであって、
前記コンピュータに、
接続された前記ストレージにデータを書き込むステップと、
前記ストレージにデータを書き込んだ後に、当該データ処理装置の電源のオフまたは再起動が予定されているかどうかを判定するステップと、
前記ストレージにデータを書き込んだ後に、当該データ処理装置の電源のオフまたは再起動が予定されている場合に、当該データの書き込み後、前記電源オフ発生前に、前記ストレージを当該データ処理装置から取り外し可能な状態に設定し、前記ストレージにデータを書き込んだ後に、前記電源のオフまたは再起動が予定されていない場合に、当該データの書き込み後の、前記ストレージの当該データ処理装置から取り外し可能な状態への設定を行わないステップとを実行させることを特徴とするコンピュータプログラム。
【請求項５】
リムーバブルなストレージが選択的に接続されるコンピュータによって読み取られ実行されるコンピュータプログラムであって、
前記コンピュータに、
接続された前記ストレージにデータを書き込むステップと、
前記ストレージにデータを書き込んだ後に、当該データ処理装置の電源のオフまたは再起動を行う場合に、当該データの書き込み後、前記電源オフ発生前に、前記ストレージを当該データ処理装置から取り外し可能な状態に設定した上で、当該データ処理装置の電源のオフまたは再起動を行い、前記ストレージにデータを書き込んだ後に、前記電源のオフまたは再起動を行わない場合に、当該データの書き込み後の、前記ストレージの当該データ処理装置から取り外し可能な状態への設定を行わないステップとを実行させることを特徴とするコンピュータプログラム。
【請求項６】
請求項４または５記載のコンピュータプログラムであって、
前記ストレージは、ＵＳＢストレージであり、前記ストレージの当該データ処理装置から取り外し可能な状態への設定は、前記ストレージにPREVENT ALLOW MEDIUM REMOVALコマンドを送信することにより当該ストレージを当該データ処理装置から取り外し可能な状態に制御すると共に、前記ストレージからの当該PREVENT ALLOW MEDIUM REMOVALコマンドによる制御の成功を示す応答を確認することにより行うことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主として、データ処理装置において、当該データ処理装置に接続された装置に対して行うデータアクセスの処理の負荷を軽減する技術に関するものである。
【背景技術】
【０００２】
データ処理装置において、当該データ処理装置に接続された装置に対して行うデータアクセスの処理の負荷を軽減する技術としては、データ処理装置が当該データ処理装置にＵＳＢ接続された装置からデータを読み出す前に、ＵＳＢ接続された装置に読み出すデータのデータサイズの通知を行わせ、通知されたデータサイズが０である場合には、データの読み出しを中止する技術が知られている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2005-18496号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
データ処理装置において、ＵＳＢ接続されたＵＳＢストレージにデータを書き込んだ後に、データ処理装置の電源をオフしたりデータ処理装置を再起動する処理を行う場合に、ＵＳＢストレージの内部においてデータ処理装置から転送されたデータを一時格納するバッファから内部の不揮発性の記憶媒体へデータを書き込む処理が完了する前に、データ処理装置の電源及びデータ処理装置からＵＳＢストレージへの電源供給がオフしてしまい、ＵＳＢストレージに正常にデータが記憶されないという問題が生じることがある。
【０００５】
一方で、データ処理装置は、接続されているＵＳＢストレージをデータ処理装置から取り外し可能な状態に設定することができ、取り外し可能な状態にあるＵＳＢストレージにおいては、バッファから内部の不揮発性の記憶媒体へのデータの書込は完了している。
【０００６】
そこで、データ処理装置において、接続されたＵＳＢストレージへデータを書き込む度に、一旦、ＵＳＢストレージをデータ処理装置から取り外し可能な状態に設定するようにすれば、上述した問題は解消されるが、ＵＳＢストレージへデータを書き込む度に、ＵＳＢストレージをデータ処理装置から取り外し可能な状態に設定する処理が必要となるため、データ処理装置におけるＵＳＢストレージに対して行う書込アクセスの処理の負荷が増大してしまうこととなる。
【０００７】
そこで、本発明は、データ処理装置において、ＵＳＢ接続されたＵＳＢストレージにデータを書き込んだ後に、データ処理装置の電源をオフしたりデータ処理装置を再起動する処理を行う場合における、データの確実なＵＳＢストレージへの記憶を、ＵＳＢストレージに対して行う書込アクセスの処理の負荷の増大を抑えつつ実現することを課題とする。
【０００８】
ことを課題とする。
【課題を解決するための手段】
【０００９】
前記課題達成のために、本発明は、リムーバブルなストレージが選択的に接続されるデータ処理装置に、接続された前記ストレージにデータを書き込むデータ書込手段と、前記データ処理装置の電源をオフする電源制御手段とを備えたものである。ここで、前記データ書込手段は、前記ストレージにデータを書き込んだ後に、前記電源制御手段による当該データ処理装置の電源のオフが予定されている場合に、当該データの書き込み後、前記電源制御手段による電源オフ発生前に、前記ストレージを当該データ処理装置から取り外し可能な状態に設定し、
前記ストレージにデータを書き込んだ後に、前記電源制御手段による当該データ処理装置の電源のオフが予定されていない場合に、当該データの書き込み後の、前記ストレージの当該データ処理装置から取り外し可能な状態への設定を行わない。
【００１０】
また、本発明は、前記課題達成のために、リムーバブルなストレージが選択的に接続されるデータ処理装置に、接続された前記ストレージにデータを書き込むデータ書込手段と、前記データ処理装置の電源をオフした後に電源をオンする、当該データ処理装置の再起動シーケンスを実行する電源制御手段とを備えたものである。ここで、前記データ書込手段は、前記ストレージにデータを書き込んだ後に、前記電源制御手段による当該データ処理装置の前記再起動シーケンスの実行が予定されている場合に、当該データの書き込み後、前記電源制御手段による記再起動シーケンスの実行前に、前記ストレージを当該データ処理装置から取り外し可能な状態に設定し、前記ストレージにデータを書き込んだ後に、前記電源制御手段による当該データ処理装置の前記再起動シーケンスの実行が予定されていない場合に、当該データの書き込み後の、前記ストレージの当該データ処理装置から取り外し可能な状態への設定を行わない。
【００１１】
ここで、以上のデータ処理装置において、前記ストレージは、たとえば、ＵＳＢストレージであり、前記データ書込手段による前記ストレージの当該データ処理装置から取り外し可能な状態への設定は、たとえば、前記ストレージにPREVENT ALLOW MEDIUM REMOVALコマンドを送信することにより当該ストレージを当該データ処理装置から取り外し可能な状態に制御すると共に、前記ストレージからの当該PREVENT ALLOW MEDIUM REMOVALコマンドによる制御の成功を示す応答を確認することにより行う。
【００１２】
以上のように、本発明に係るデータ処理装置によれば、リムーバブルなストレージのデータ書込後に、当該データ処理装置の電源オフや再起動が行われる場合には、ストレージのデータ処理装置から取り外し可能な状態への設定を行う。よって、ストレージの内部においてデータ処理装置から転送されたデータを不揮発性の記憶媒体へ書き込む処理が完了する前に、データ処理装置の電源及びデータ処理装置からＵＳＢストレージへの電源供給がオフしてしまうことを抑止して、データを確実にストレージに記憶できるようになる。
【００１３】
また、リムーバブルなストレージのデータ書込後に、当該データ処理装置の電源オフや再起動が行われない場合には、ストレージのデータ処理装置から取り外し可能な状態への設定は行わない。よって、ストレージに対して行う書込アクセスの処理の負荷が大きく増大してしまうこともない。
【発明の効果】
【００１４】
以上のように、本発明によれば、データ処理装置において、ＵＳＢ接続されたＵＳＢストレージにデータを書き込んだ後に、データ処理装置の電源をオフしたりデータ処理装置を再起動する処理を行う場合における、データの確実なＵＳＢストレージへの記憶を、ＵＳＢストレージに対して行う書込アクセスの処理の負荷の増大を抑えつつ実現することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態に係るデータ処理装置の構成を示すブロック図である。
【図２】本発明の実施形態に係る電源制御処理を示すフローチャートである。
【図３】本発明の実施形態に係る電源制御処理の処理例を示す図である。
【図４】本発明の実施形態に係る電源制御処理を処理例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態について説明する。
図１に、本実施形態に係るデータ処理装置の構成を示す。
図示するように、データ処理装置１は、ＵＳＢストレージ(USB Mass Storage Device Class)などのＵＳＢデバイス２が選択的に接続されるＵＳＢポート１１、ＵＳＢポート１１に接続されたＵＳＢデバイス２とＵＳＢ(Universal Serial Bus)を介してデータ転送を行うＵＳＢコントローラ１２、その他の入力装置や表示装置や外部記憶装置などの各種の周辺装置１３、オペレーティングシステム１４、オペレーティングシステム１４上で稼働する各種アプリケーション１５を備えている。
【００１７】
また、オペレーティングシステム１４は、ＵＳＢコントローラ１２を制御するＵＳＢドライバ１４１、その他の周辺装置１３を制御する周辺装置ドライバ１４２、各種ファイルの入出力を担うファイルシステム１４３、データ処理装置１の電源のオン/オフや再起動シーケンスを実行する電源制御部１４４を備えている。
【００１８】
ここで、データ処理装置１は、ハードウエア構成としては、ＣＰＵやメモリや、上述したＵＳＢポート１１やＵＳＢコントローラ１２や周辺装置１３を備えたコンピュータとしての構成を備えている。そして、オペレーティングシステム１４やアプリケーションは、所定のプログラムをＣＰＵが実行することにより実現されるものである。
【００１９】
さて、このようなデータ処理装置１において、アプリケーションがＵＳＢポート１１に接続されたＵＳＢストレージにファイルを書き込む際に行うファイル書込処理について説明する。
【００２０】
図２ａに、このファイル書込処理の手順を示す。図示するように、この処理ではＵＳＢポート１１に接続されたＵＳＢストレージにファイルを書き込んだならば（ステップ２０２）、オペレーティングシステム１４に対する電源オフまたは再起動の要求が発生しているかどうかを調べ（ステップ２０４）、発生していなければ処理を終了する。
【００２１】
ここで、オペレーティングシステム１４は、いずれかのアプリケーションからの、電源オフの要求が発生したならば、起動中の各アプリケーションに終了を指示し、各アプリケーションからの終了許可の発行を待って各アプリケーションを終了し、電源制御部１４４にデータ処理装置１の電源をオフさせる。そして、いずれかのアプリケーションからの電源オフの要求が発生してから、電源オフの要求の発生時に起動中であった全てのアプリケーションからの終了許可を受信するまでの間の状態が、オペレーティングシステム１４に対する電源オフの要求が発生している状態となる。
【００２２】
また、オペレーティングシステム１４は、いずれかのアプリケーションからの、再起動の要求が発生したならば、起動中の各アプリケーションに終了を指示し、各アプリケーションからの終了許可の発行を待って各アプリケーションを終了し、データ処理装置１の電源をオフした後に電源を再度オンする再起動シーケンスを電源制御部１４４に実行させる。そして、いずれかのアプリケーションからの再起動の要求が発生してから、再起動の要求の発生時に起動中であった全てのアプリケーションからの終了許可を受信するまでの間の状態が、オペレーティングシステム１４に対する再起動の要求が発生している状態となる。
【００２３】
一方、各アプリケーションは、オペレーティングシステム１４から、終了を指示されたならば、実行中の処理を完了しだい、所要の後処理を行って、終了許可を電源制御部１４４に発行する。
さて、ステップ２０４で、電源オフまたは再起動の要求が発生していると判定された場合には、ＵＳＢドライバ１４１を介してＵＳＢストレージを取り外し可能状態に制御する（ステップ２０６）。そして、ＵＳＢストレージが取り外し可能状態となったならば（ステップ２０８）、処理を終了する。
【００２４】
ここで、このファイル書込処理を行っていたアプリケーションは、オペレーティングシステム１４からアプリケーションの終了を指示されている場合には、このファイル書込処理の終了を含む実行中の各処理の終了を待って、終了許可を電源制御部１４４に発行する。
【００２５】
よって、アプリケーションがファイル書込を行った後に、データ処理装置１の電源オフや再起動が発生する場合には、データ処理装置１の電源オフの前に、必ず、ＵＳＢストレージは取り外し可能状態に制御されることとなる。
【００２６】
そして、取り外し可能な状態にあるＵＳＢストレージにおいては、データ処理装置１から書き込まれたファイルの、（内部の不揮発性の記憶媒体への）データの記憶は必ず完了している。
【００２７】
よって、以上のようなファイル書込処理によれば、ＵＳＢポート１１に接続されたＵＳＢストレージにデータを書き込んだ後に、データ処理装置１の電源をオフしたりデータ処理装置１を再起動する処理が行われる場合でも、データの確実なＵＳＢストレージへの記憶が行われることとなる。また、ＵＳＢストレージをデータ処理装置１から取り外し可能な状態に設定する処理は、ファイル書込を行った後に、データ処理装置１の電源オフや再起動が発生する場合にのみ行われるので、ＵＳＢストレージに対して行う書込アクセスの処理の負荷が大きく増大することはない。
【００２８】
ここで、ＵＳＢポート１１に接続されたＵＳＢストレージにファイルを書き込んだ上で、データ処理装置１の電源オフまたは再起動の要求を行うアプリケーションにおいては、ファイル書込処理として、図２ａに示すファイル書込処理に代えて図２ｂに示すファイル書込処理を行うようにする。
【００２９】
すなわち、この処理では、ＵＳＢポート１１に接続されたＵＳＢストレージにファイルを書き込んだならば（ステップ２５２）、ＵＳＢドライバ１４１を介してＵＳＢストレージを取り外し可能状態に制御する（ステップ２５４）。そして、ＵＳＢストレージが取り外し可能状態となったならば（ステップ２５６）、オペレーティングシステム１４に対して電源オフまたは再起動の要求を発行する（ステップ２５８）。
【００３０】
このようなファイル書込処理によれば、アプリケーションがファイル書込を行った後に、データ処理装置１の電源オフや再起動を要求する場合に、データ処理装置１の電源オフの前に、必ず、ＵＳＢストレージは取り外し可能状態に制御されることとなる。
【００３１】
そして、取り外し可能な状態にあるＵＳＢストレージにおいては、データ処理装置１から書き込まれたファイルの、（内部の不揮発性の記憶媒体への）データの記憶は必ず完了している。
【００３２】
よって、このようなファイル書込処理によれば、ＵＳＢポート１１に接続されたＵＳＢストレージにデータを書き込んだ後に、データ処理装置１の電源をオフしたりデータ処理装置１を再起動する処理を行う場合でも、データの確実なＵＳＢストレージへの記憶が行われることとなる。
【００３３】
以下、以上のようなファイル書込処理による動作例を図３に示す。
アプリケーションがファイル書込を行った後に、データ処理装置１の電源オフや再起動が行われない場合は、図３ａ示すように、アプリケーションがオペレーティングシステム１４のファイルシステム１４３にファイルの書き込みを要求すると（３０１）、ＵＳＢドライバ１４１からＵＳＢストレージへのファイルのデータDATAの送信（３１１）が、ＵＳＢストレージからＵＳＢドライバ１４１へのデータの受信成功を示す応答ACKの受信（３１２）を確認しながら行われる。そして、ＵＳＢドライバ１４１において、ファイルの最後のデータDATAの送信に対する応答ACKの受信を受信したならば、ファイルシステム１４３からファイルの書き込み成功（３０２）がアプリケーションに通知され、アプリケーションのＵＳＢストレージへのファイル書込シーケンスは終了する。
【００３４】
一方アプリケーションがファイル書込を行った後に、データ処理装置１の電源オフや再起動が行われる場合は、図３ｂにファイル書込を行った後に再起動が行われる場合について示したように、アプリケーションがオペレーティングシステム１４のファイルシステム１４３にファイルの書き込みを要求すると（３０１）、ＵＳＢドライバ１４１からＵＳＢストレージへのファイルのデータDATAの送信（３１１）が、ＵＳＢストレージからＵＳＢドライバ１４１へのデータの受信成功を示す応答ACKの受信（３１２）を確認しながら行われる。そして、ＵＳＢドライバ１４１において、ファイルの最後のデータDATAの送信に対する応答ACKの受信を受信したならば、ファイルシステム１４３からファイルの書き込み成功（３０２）がアプリケーションに通知される。
【００３５】
ファイルの書き込み成功（３０２）を通知されたアプリケーションは、データ処理装置１の再起動要求（３２１）が発生している場合や、ファイルの書き込み後にデータ処理装置１の再起動要求（３２２）を発行する場合には、オペレーティングシステム１４にＵＳＢストレージの取り外し可能状態への制御を要求する（３０２）。
【００３６】
ＵＳＢストレージの取り外し可能状態への制御を要求されたオペレーティングシステム１４はＵＳＢドライバ１４１からＵＳＢストレージに、取り外し可能状態化を要求する(prevent bitを0に設定した)"PREVENT ALLOW MEDIUM REMOVAL" コマンド（３１３）を応答"passed"（３１４）を受信するまで繰り返し送信する。一方、取り外し可能状態化を要求する"PREVENT ALLOW MEDIUM REMOVAL" コマンド（３１３）を受信したＵＳＢストレージは、データ処理装置１から受信したデータの内部の不揮発性記憶装置への記憶を完了している場合には"passed"（３１４）をＵＳＢドライバ１４１に応答する。
【００３７】
ＵＳＢドライバ１４１で"passed"（３１４）を受信したオペレーティングシステム１４は取り外し可能状態化成功（３１４）をアプリケーションに応答し、発生している再起動要求（３２１）、または、その後アプリケーションから発行される再起動要求（３２２）に従って、各アプリケーションの終了後に、データ処理装置及びＵＳＢストレージへの供給電源をオフし、その後、データ処理装置及びＵＳＢストレージへの供給電源をオンする再起動シーケンス（３３１）を実行する。
【００３８】
以上のように、本実施形態によれば、図４に、ファイルの書き込みが成功（３０２）してすぐに、再起動シーケンス（３３１）を実行した場合について示したように、ＵＳＢストレージにおいて、データ処理装置１から受信したデータの内部の不揮発性記憶装置への記憶を完了する前に、ＵＳＢストレージへの電源供給が絶たれ、データ処理装置１から受信したデータのＵＳＢストレージにおける記憶が正常に実行されなくなることを抑止できる。
また、ファイル書込を行った後に電源オフが行われる場合についても同様であり、データ処理装置１から受信したデータのＵＳＢストレージにおける記憶が正常に実行されなくなることを抑止できる。なお、ファイル書込を行った後に電源オフが行われる場合のシーケンスは、図３ｂ、図４の再起動シーケンスを電源オフ動作に置換したシーケンスとなる。
【００３９】
また、図３ａに示したように、電源オフまたは再起動が、ファイルの書き込み後に予定されていない場合には、ファイルの書き込み後のＵＳＢストレージの取り外し可能状態への制御は行われないので、ＵＳＢストレージの書込アクセスの処理負荷が大きく増大することもない。
【００４０】
なお、以上の実施形態は、ＵＳＢストレージに書き込みを行う場合について示したが、本実施形態は、ＵＳＢストレージ以外のリムーバブルなストレージに適用するようにしてもよい。
【符号の説明】
【００４１】
１…データ処理装置、２…ＵＳＢデバイス、１１…ＵＳＢポート、１２…ＵＳＢコントローラ、１３…周辺装置、１４…オペレーティングシステム、１５…種アプリケーション、１４１…ＵＳＢドライバ、１４２…周辺装置ドライバ、１４３…ファイルシステム、１４４…電源制御部。
【図１】
2017045208.tif 000003
【図２】
2017045208.tif 000004
【図３】
2017045208.tif 000005
【図４】
2017045208.tif 000006