(57)【要約】【課題】ユーザがメモリカードを抜きたいと思ったときに、メモリカードを抜く操作が自然で理解し易く、しかも、メモリカードを安全に抜くことができる記憶媒体処理装置を提供することを目的とするものである。【解決手段】所定の記憶媒体を読み書きする記憶媒体読み書き手段と、記憶媒体処理装置の電源オンと電源断とを、利用者が指示する電源スイッチ手段と、この電源スイッチ手段を介して、電源断の指示を受けたときおよびそれ以降に、所定の条件を満たしている間は、上記電源断の指示を保留し、上記所定の条件を満たさなければ、上記記憶媒体処理装置の電源を断する電源制御手段とを有する記憶媒体処理装置である。【選択図】　図１
2004094494.tif 000002
【特許請求の範囲】
【請求項１】
記憶媒体処理装置において、
所定の記憶媒体を読み書きする記憶媒体読み書き手段と；
上記記憶媒体処理装置の電源オンと電源断とを、利用者が指示する電源スイッチ手段と；
上記電源スイッチ手段を介して、電源断の指示を受けたときおよびそれ以降に、所定の条件を満たしている間は、上記電源断の指示を保留し、上記所定の条件を満たさなければ、上記記憶媒体処理装置の電源を断する電源制御手段と；
を有することを特徴とする記憶媒体処理装置。
【請求項２】
請求項１において、
上記電源スイッチ手段によって電源断の指示を受けていても、上記所定の条件を満たしている間は、その指示を無視し、上記所定の条件を満たさないときに電源断の指示を受けたときにだけ、上記電源制御手段によって装置の電源を落とすことを特徴とする記憶媒体処理装置。
【請求項３】
請求項１または請求項２において、
上記所定の条件は、外部情報処理装置と上記制御手段とを接続するインタフェースを介して、上記外部情報処理装置から、データが送受信されているという条件であることを特徴とする記憶媒体処理装置。
【請求項４】
請求項１〜請求項３のいずれか１項において、
上記所定の条件は、外部情報処理装置と上記制御手段とを接続するインタフェースを介して、上記外部情報処理装置から、一連のシーケンスの最中であるという条件であることを特徴とする記憶媒体処理装置。
【請求項５】
請求項１〜請求項４のいずれか１項において、
上記所定の条件は、上記インタフェース手段のうちでバルク転送のエンドポイントを介して、上記外部情報処理装置から、最後に受け取ったデータがマス・ストレージクラスのＣＳＷでない状態であることを特徴とする記憶媒体処理装置。
【請求項６】
請求項１〜請求項５のいずれか１項において、
上記所定の条件は、外部情報処理装置と上記制御手段とを接続するインタフェースを介して、上記外部情報処理装置から、上記記憶媒体へ書き込み中であるという条件であることを特徴とする記憶媒体処理装置。
【請求項７】
請求項１〜請求項５のいずれか１項において、
上記所定の条件は、外部情報処理装置と上記制御手段とを接続するインタフェースを介して、上記外部情報処理装置から、上記記憶媒体へ書き込み中であるという条件、または、上記記憶媒体へ書き込みが終了してから所定期間内であるという条件であることを特徴とする記憶媒体処理装置。
【請求項８】
請求項１〜請求項７のいずれか１項において、
上記所定の条件は、上記記憶媒体処理装置内部で、上記記憶媒体を処理中であるという条件であることを特徴とする記憶媒体処理装置。
【請求項９】
請求項１〜請求項８のいずれか１項において、
上記電源制御手段によって行われる電源断は、上記記憶媒体処理装置全体への電源の供給の停止であることを特徴とする記憶媒体処理装置。
【請求項１０】
請求項１〜請求項９のいずれか１項において、
上記電源制御手段によって行われる電源断は、上記記憶媒体処理装置の一部への電源の供給の停止であるが、見かけ上は電源が切れているように利用者から見える電源断であることを特徴とする記憶媒体処理装置。
【請求項１１】
記憶媒体処理装置の制御方法において、
所定の記憶媒体を読み書きする記憶媒体読み書き段階と；
上記記憶媒体処理装置の電源オンと電源断とを、利用者が指示する電源スイッチ手段を介して、電源断の指示を受けたときおよびそれ以降に、所定の条件を満たしている間は、上記電源断の指示を保留し、上記所定の条件を満たさなければ、上記記憶媒体処理装置の電源を断する電源制御段階と；
を有することを特徴とする記憶媒体処理装置の制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体メモリカード等の記憶媒体を処理する記憶媒体処理装置およびその制御方法に関する。
【０００２】
【従来の技術】
近年デジタルカメラ等の記憶媒体として半導体メモリカードが注目を浴び、これに伴い、ＰＣ（パーソナルコンピュータ）によって、メモリカードを読み書きすることが求められている。これを背景に、メモリカードをＰＣで読み書きするためのメモリカードリーダ・ライタを、各社が開発している。
【０００３】
また、プリンタ、コピー、ファクシミリ等にも、デジカメの画像を出力する要求があり、メモリカードリーダを具備するプリンタ、コピー、ファクシミリ等が増えつつある。
【０００４】
メモリカードリーダを用いて、ＰＣから、メモリカードにデータを書き込む場合、ＰＣの処理速度に比べると、メモリカードに内蔵されている不揮発性のメモリの処理速度が低速である。そこで、最近のオペレーティングシステム（以下ＯＳ）では、メモリカードへの書き込みを、所定のアプリケーションに代行させ、時間が経ってから書き込み、実際にメモリカードへの書き込みが終了する前に終了したものとして、ＯＳがアプリケーションに通知する。
【０００５】
このようにすることによって、上記アプリケーションは、低速な記憶媒体に足を引っ張られることなく、高速に動作することが可能である。
【０００６】
上記の場合、ユーザから見れば、書き込みが既に終了したように見えるが、実際にはＯＳがまだ書き込んでいない。したがって、上記のように、ユーザから見て、書き込みが既に終了したように見えたときに、メモリカードを抜いたり、カードリーダの電源を切ると、書き込みが完了していない場合がある。
【０００７】
この場合、ＰＣからメモリカードへ、「ファイルの移動」を行うと、移動元からファイルが削除され、移動先にはファイルが書き込まれず、したがって、ファイルが消失する。
【０００８】
また、書き込み途中で、メモリカードをＰＣから抜くと、書き込み内容とファイルアロケーションテーブルとが矛盾し、メモリカード全体のデータが、ソフトウェア的に破壊される。
【０００９】
さらに、給電中に、メモリカードをＰＣから抜くと、最悪の場合、物理的に破壊されることがある。
【００１０】
そこで、従来の製品では、添付の説明書等で、ＰＣ上のＯＳからメモリカードを安全に抜く手順を踏むことによって、ＯＳでの遅延書き込みが完了することを待ち、その後に、メモリカードへの給電を中止し、この後に、メモリカードを抜くことを義務付けている。
【００１１】
【発明が解決しようとする課題】
しかし、上記のように、ＰＣ上のＯＳでメモリカードを安全に抜く手順は、そもそも余り知られていない手順であり、また、分かり難い操作でもある。さらに、ＯＳによって、その操作方法が異なり、将来のＯＳがどう対応するかは不明である。
【００１２】
従来は、ＰＣで所定の作業を実行中に、メモリカードを抜く必要が生じると、デバイスに注意が向き、ＰＣで終了処理を実行し、デバイスでメモリカードを抜くというように、行ったり来たりする作業が必要であり、この作業が煩雑であるという問題がある。
【００１３】
また、初心者が起こしやすい問題であるにもかかわらず、メモリカードがソフトウェア的、またはハードウェア的に壊れ、この結果、読み出すことができず、初心者に解決できない状態になるという問題がある。
【００１４】
本発明は、ユーザがメモリカードを抜きたいと思ったときに、メモリカードを抜く操作が自然で理解し易く、しかも、メモリカードを安全に抜くことができる記憶媒体処理装置を提供することを目的とするものである。
【００１５】
【課題を解決するための手段】
本発明は、所定の記憶媒体を読み書きする記憶媒体読み書き手段と、記憶媒体処理装置の電源オンと電源断とを、利用者が指示する電源スイッチ手段と、この電源スイッチ手段を介して、電源断の指示を受けたときおよびそれ以降に、所定の条件を満たしている間は、上記電源断の指示を保留し、上記所定の条件を満たさなければ、上記記憶媒体処理装置の電源を断する電源制御手段とを有する記憶媒体処理装置である。
【００１６】
【発明の実施の形態および実施例】
図１は、本発明の一実施例である記憶媒体処理装置１０の概略構成を示すブロック図である。
【００１７】
記憶媒体処理装置１０は、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、電源制御部１４と、電源スイッチ１５と、表示部１６と、カードリーダ部１７と、ＵＳＢファンクション制御部１８と、ＣＰＵバス１９とを有する。
【００１８】
ＣＰＵ１１は、システム制御部であり、記憶媒体処理装置１０の全体を制御する。
【００１９】
ＲＯＭ１２は、ＣＰＵ１１が実行する制御プログラムや組み込みオペレーティングシステム（ＯＳ）プログラム等を格納する。上記実施例では、ＲＯＭ１２に格納されている各制御プログラムは、ＲＯＭ１２に格納されている組み込みＯＳの管理下で、スケジューリングやタスクスイッチ等のソフトウェア制御を行う。
【００２０】
ＲＡＭ１３は、ＤＲＡＭ（ｄｙｎａｍｉｃ　ＲＡＭ）等で構成され、プログラム制御変数等を格納し、また、設定値や記憶媒体処理装置１０の管理データ等を格納し、各種ワーク用バッファ領域が設けられている。
【００２１】
電源制御部１４は、電源Ｂが各部に電力を供給することを制御する。
【００２２】
電源スイッチ１５は、単純なスイッチであり、ユーザにスイッチが押されたことを、電源制御部１４に通知するだけで、電源Ｂを直接制御するものではない。電源を切ることをユーザが望む場合、ＣＰＵ１１が後述の各条件を判断した後、電源制御部１４を介して、電源Ｂを制御し、記憶媒体処理装置１０の全体の電源を切る。
【００２３】
つまり、電源スイッチ１５は、記憶媒体処理装置の電源オンと電源断とを、利用者が指示する電源スイッチ手段の例である。
電源制御部１４は、電源スイッチ手段を介して、電源断の指示を受けたときおよびそれ以降に、所定の条件を満たしている間は、上記電源断の指示を保留し、上記所定の条件を満たさなければ、上記記憶媒体処理装置の電源を断する電源制御手段の例である。
【００２４】
表示部１６は、ＬＥＤ（発光ダイオード）、ＬＣＤ（液晶ディスプレイ）等によって構成され、記憶媒体処理装置１０の電源オン、電源断を含む動作状況、ステータス状況、カードリーダの状態を表示する。
【００２５】
カードリーダ部１７は、各種メモリカードのインタフェースを有し、それぞれのメモリカードの規格に沿ったデータ入出力制御を実行する。
【００２６】
つまり、カードリーダ部１７は、所定の記憶媒体を読み書きする記憶媒体読み書き手段の例である。
【００２７】
ＵＳＢファンクション制御部１８は、ＵＳＢインタフェース５０の通信制御を行い、ＵＳＢ通信規格に従って、プロトコル制御を行い、ＣＰＵ１１が実行するＵＳＢ制御タスクからのデータを、パケットに変換し、後述の外部処理装置２０に、ＵＳＢパケット送信を行い、逆に、外部処理装置２０からのＵＳＢパケットを、データに変換し、ＣＰＵ１１に送信する。
【００２８】
電源Ｂは、家庭用電源等を、本システム内各機器に合う電圧に変換し、供給する。電源Ｂは、各部分に個別に電力を供給することができ、また、その供給を停止することができる。
【００２９】
ただし、ＲＯＭ１２〜ＵＳＢファンクション制御部１８は、ＣＰＵバス１９に接続され、省電力モードにおいて、ＣＰＵだけ停止状態で、その他の部分は電源が供給されていない。
【００３０】
上記ＲＯＭ１２〜ＵＳＢファンクション制御部１８は、ＣＰＵ１１が管理するＣＰＵバス１９を介して、相互に接続されている。
【００３１】
次に、外部処理装置２０について、詳細に説明する。
【００３２】
図２は、外部処理装置２０の概略構成を示すブロック図である。
【００３３】
外部処理装置２０は、ＰＣで構成され、カードリーダを介して、メモリカードに接続され、メモリカードを読み書きする．また、外部処理装置に０は、ＣＰＵ２１と、ＲＯＭ２２と、ＲＡＭ２３と、内部記憶装置２４と、外部記憶装置２５と、外部記憶ディスク２６と、操作部２７と、表示部２８と、通信部２９と、ＵＳＢホスト制御部３０と、ＣＰＵバス３１とを有する。
【００３４】
ＣＰＵ２１は、ＲＯＭ２２、ＲＡＭ２３、または、内部記憶装置２４、外部記憶装置２５に記憶されているプログラムから読み出されたプログラムに従って、システムバス３１を介して、外部処理装置２０の全体の動作を制御する。
【００３５】
ＲＯＭ２２は、ＣＰＵ２１の制御プログラム等を格納している。
【００３６】
ＲＡＭ２３は、プログラムや画像データを一時的に記憶し、外部処理装置２０の処理を高速に動作させるためのものである。
【００３７】
内部記憶装置２４は、オペレーティングシステム、各種アプリケーションプログラム、画像データ等を格納するメモリである。内部記憶装置２４には、記憶媒体処理装置１０に対する各種制御命令や、データの送受信を行うためのアプリケーションソフト、プリンタドライバソフト、スキャナドライバソフト、ファクシミリドライバソフト、各機能毎のＵＳＢクラスドライバソフト、ＵＳＢバスドライバソフト等がインストールされている。
【００３８】
通常、上記アプリケーションソフト、ドライバソフトが記憶されている外部記憶ディスク２６（フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭメディア）から、外部記憶装置２５を制御することによって、上記アプリケーションソフト、ドライバソフトがインストールされる。
【００３９】
また、通信回線Ｌによって通信部２９（ネットワークやモデム）でアプリケーションソフトとドライバソフトとを受け取り、内部記憶装置２４にインストールするようにしてもよい。
【００４０】
操作部２７は、オペレータが指示入力するキーボードやマウス（不図示）を制御するものである。印刷を実行起動する場合、通常、操作部２７のキーボードやマウスが使用される。
【００４１】
表示部２８は、オペレータに各種表示を行うものである。外部処理端末２０で印刷の実行起動をかける場合は、確認ダイヤログ等を表示部２８に表示し、オペレータに入力を促す。また印刷動作の実行中は、印刷状況を示す情報をオペレータに提供する。
【００４２】
通信部２９は、図示しないネットワークに接続し、通信回線を介して、インターネットプロバイダへ接続し、相手通信装置との間で、データや、画像情報等を通信する。
【００４３】
ネットワークや通信回線への接続に関しては、公知の方法を使用し、詳述はしない。
【００４４】
ＵＳＢホスト制御部３０は、ＵＳＢインタフェース５０の通信制御を行うものであり、ＵＳＢ通信規格に従って、ＣＰＵ２１からのデータを、パケットに変換し、記憶媒体処理装置１０に、ＵＳＢパケットを送信し、逆に、記憶媒体処理装置１０からのＵＳＢパケットを、データに変換し、ＣＰＵ２１に送信する。通信制御方法に関しては、公知の方法を使用し、詳述はしない。
【００４５】
次に、上記実施例の動作について説明する。
【００４６】
上記実施例において、記憶媒体処理装置１０をカードリーダとし、ＰＣからメモリカードをアクセスする手順として、マス・ストレージクラスに準じた公知の方法を使用するので、以下では、電源断の手順に必要な電源断不可フラグの処理についてのみ説明する。
【００４７】
本実施例では、マス・ストレージクラスで、Ｐｒｏｔｏｃｏｌ　ＣｏｄｅをＢｕｌｋ−Ｏｎｌｙ　Ｔｒｎｓｐｏｒｔとし、Ｓｕｂｃｌａｓｓ　ＣｏｄｅをＳＣＳＩ　ｔｒａｎｓｐａｒｅｎｔ　ｃｏｍｍａｎｎｄ　ｓｅｔに指定している。
【００４８】
マス・ストレージクラスのコマンドは、ＣＢＷという命令がＰＣからカードリーダに送信され、コマンドに応じた書き込み命令であれば、この後に書き込むべきデータが、ＰＣからカードリーダ（記憶媒体処理装置１０）に送られる。また、読み込み命令やステータスを問い合わせるコマンドであれば、要求されたデータを、カードリーダ（記憶媒体処理装置１０）からＰＣへ送信する。またＴｅｓｔ　Ｕｎｉｔ　Ｒｅａｄｙ等の状態を問い合わせるだけのコマンドであれば、データのやりとりはない。これらの処理の後に、コマンドが正常に終了したか否かを示すエラーフラグを持つＣＳＷ命令を、カードリーダ（記憶媒体処理装置１０）からＰＣへ送信する。
【００４９】
これらの手続の中で、ＣＢＷ命令を、ＰＣから受信した時点で、電源断不可フラグを立てる。そして、ＣＳＷ命令を、ＵＳＢファンクション制御部１８に転送し、ＵＳＢファンクション制御部１８の割り込み等を利用して、ＰＣへの送信が完了した時点で、電源断不可フラグを落とす。
【００５０】
次に、上記実施例における書き込みについて説明する。
【００５１】
Ｓｕｂｃｌａｓｓ　Ｃｏｄｅ宣言によって、ＳＣＳＩのコマンドがＰＣから用いられるので、書き込みに際しては、ｗｒｉｔｅ（６）がｗｒｉｔｅ（１０）が用いられる。なお、ｗｒｉｔｅ（６）、ｗｒｉｔｅ（１０）は、ｓｃｓｉで規定されているコマンドの中に存在するものである（　ＨＹＰＥＲＬＩＮＫ　”ｈｔｔｐ：／／ｗｗｗ．ｔ１０．ｏｒｇ／ｓｃｓｉ−３．ｈｔｍ”　ｈｔｔｐ：／／ｗｗｗ．ｔ１０．ｏｒｇ／ｓｃｓｉ−３．ｈｔｍ　参照）。
【００５２】
これらのコマンドが発行されると、電源断不可のフラグを立て、本実施例では、１０秒のタイマを起動する。上記電源断不可のフラグについては、後述する。タイマは、定期的な割込などを利用し、１０秒を減算する。途中でｗｒｉｔｅコマンドが再発行されれば、タイマの値を１０秒に戻す。タイマの値が０になると、電源断不可のフラグを落とし、書き込みを許可する。
【００５３】
次に、上記実施例において、記憶媒体処理装置１０から、メモリカードを抜く手順について説明する。
【００５４】
利用者が、電源スイッチ１５をオフすることによって、電源断を指示すると、電源断不可フラグを参照する。この電源断不可フラグが立っていれば、電源スイッチ１５による電源断を示すキー入力を無視し、処理中である旨を、表示部１６に表示する。電源断不可フラグが落ちていれば、メモリカード内の各種終了処理を行い、電源制御部１４を介して、電源Ｂによる給電を停止し、記憶媒体処理装置１０の電源を落とす。
【００５５】
つまり、上記実施例において、カードリーダ部１７からメモリカードを抜く操作が簡素であるので、ユーザがメモリカードを抜く場合、カードリーダの電源スイッチ１５を押し、電源をオフしてから、メモリカードを抜く。
【００５６】
電源スイッチ１５は、ソフトウェア的なもので、以下に挙げるいくつかの条件を満たしたときに、カードリーダ本体の電源Ｂを落とすか、または、省電力なモードに入り休止状態とする。
【００５７】
電源オフの条件の１つ目の条件は、ＵＳＢ接続でマス・ストレージクラスを満たすメモリカードの場合、コマンドは、ＰＣからＣＢＷ、どちらかから、ＤＡＴＡ、メモリカードからＣＳＷを送るシーケンスで行われるが、この１組のコマンドが終了するまでは、電源を切ることができないようにする。これは、コマンドと中の状態で通信できなくなると、次回接続したときにＰＣ側のドライバがエラーになることが多いからである。
【００５８】
また、ＰＣからの書き込みは、データをいくつかに分けて書き込んだ後、ＦＡＴを書き込んで終了する。その一連の書き込みの最中に電源を落とすと、メモリカードのデータが不完全に消失する。
【００５９】
そこで、２つ目の条件は、ＣＢＷ命令が、メモリカードへの書き込みコマンドである場合、最後の書き込みコマンドから一定期間内であるという条件であり、この条件下では、電源を切れないものとする。
【００６０】
上記実施例によれば、ユーザがメモリカードを抜きたいと思ったときには、電源スイッチ１５を押し、電源が落ちてからメモリカードを抜くようにし、このように自然で理解し易い操作をすれば、メモリカードを安全に抜くことができる。
【００６１】
また、上記実施例によれば、メモリカード抜く操作、処理が、ＰＣデバイス側で完結し、ＰＣ側のＯＳに依存しないので、どのＯＳでも安全にカードを抜くことができ、将来ＯＳの仕様変更を考慮する必要がない。
【００６２】
上記実施例において、電源が落ちていれば、ＰＣからの書き込みが完全に終了しているので、書き込みの途中で、メモリカードを抜き取ることによるデータの破壊が発生する可能性がなく、またメモリカードへの給電を停止しているので、電気的に破壊する可能性もない。
【００６３】
さらに、上記実施例によれば、遅延書き込みが安全に行われるので、ＯＳのデフォルトが遅延書き込みでない場合でも、遅延書き込みを利用することによって、ＰＣのパフォーマンスが向上する。
【００６４】
【発明の効果】
本願発明によれば、ユーザがメモリカードを抜きたいと思ったときには、電源スイッチを押し、電源が落ちてからメモリカードを抜くようにするので、メモリカードを抜く操作が自然で理解し易く、しかも、メモリカードを安全に抜くことができるという効果を奏する。
【図面の簡単な説明】
【図１】本発明の一実施例である記憶媒体処理装置１０の概略構成を示すブロック図である。
【図２】外部処理装置２０の概略構成を示すブロック図である。
【符号の説明】
１０…記憶媒体処理装置、
１１…ＣＰＵ、
１２…ＲＯＭ、
１３…ＲＡＭ、
１４…電源制御部、
１５…電源スイッチ、
１７…カードリーダ部、
１８…ＵＳＢファンクション制御部、
２０…外部処理装置、
２１…ＣＰＵ、
２２…ＲＯＭ、
２３…ＲＡＭ、
２４…内部記憶装置、
２５…外部記憶装置、
２７…操作部、
３０…ＵＳＢホスト制御部、
５０…ＵＳＢインタフェース、
Ｂ…電源。
【図１】
2004094494.tif 000003
【図２】
2004094494.tif 000004