(57)【要約】【課題】  ローカルＰＣとネットワークＰＣの両方から容易に、メモリカードを読み書き出来るメモリカードリーダ・ライタを提供する。【解決手段】  メモリカードを読み書きする記憶媒体読み書き手段と、ローカルＰＣと接続できるインターフェース手段と、ネットワークＰＣと接続できるネットワーク手段からなり、ネットワークプロトコルとファイル操作命令を相互に解析変換するネットワークプロトコル手段と、ファイル操作命令と、ストレージをセクタ単位で入出力を行う命令を、相互に解析変換できるファイルシステム手段をもつ構成とする。【選択図】  図１
2006331088.tif 000002
【特許請求の範囲】
【請求項１】
記憶媒体処理装置において、
所定の記憶媒体を読み書きする記憶媒体読み書き手段と
外部情報処理装置と接続できるインターフェース手段と
ネットワークを通して外部情報処理装置と接続できるネットワーク手段からなり
ネットワークプロトコルとファイル操作命令を相互に解析変換するネットワークプロトコル手段と、
ファイル操作命令と、ストレージをセクタ単位で入出力を行う命令を、相互に解析変換できるファイルシステム手段をもつことを特徴とする記憶媒体処理装置。
【請求項２】
請求項1に記載の記憶媒体処理装置において、
前記ファイル情報を前記記憶媒体に書き込む形式に変換した後で、前記インターフェース手段に接続された外部情報処理装置と、前記ネットワーク手段にネットワークを通して接続された外部情報処理装置の、両方からの前記記憶媒体への操作を排他処理することを特徴とする記憶媒体処理装置。
【請求項３】
請求項1又は、請求項２に記載の記憶媒体処理装置において、
前記インターフェース手段に接続された外部情報処理装置と、前記ネットワーク手段にネットワークを通して接続された外部情報処理装置の、両方からの前記記憶媒体への操作の排他処理を、前記ファイル情報と、前記ファイル情報を前記記憶媒体に書き込む形式に変換した後の両方で行うことを特徴とする記憶媒体処理装置。
【請求項４】
請求項1、請求項２又は、請求項３のいずれかに記載の記憶媒体処理装置において、
前記ネットワーク手段にネットワークを通して接続された複数の外部情報処理装置からの操作の排他処理を、前記ネットワーク手段内で行うことを特徴とする記憶媒体処理装置。
【請求項５】
請求項、請求項３又は、請求項４のいずれかに記載の記憶媒体処理装置において、
前記記憶媒体読み書き手段への操作を管理する記憶媒体管理手段をもち、
前記各排他処理を記憶媒体管理手段によって行うことを特徴とする記憶媒体処理装置。
【請求項６】
請求項２、請求項３、請求項４又は、請求項５のいずれかに記載の記憶媒体処理装置において、
複数の外部情報処理装置からの前記記憶媒体に対する操作の排他処理を、読み込み操作と書き込み操作、順序によった表を用いて、排他の有無を決定することを特徴とする記憶媒体処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶媒体処理装置、及びその制御方法に関する。
【背景技術】
【０００２】
近年デジタルカメラなどの記憶媒体として半導体メモリカードが注目を浴びている。それに伴いパーソナルコンピュータ（以下ＰＣ）で、メモリカードを読み書きすることが求められている。そこで各社メモリカードをＰＣで読み書きするためのメモリカードリーダ・ライタが開発されている。またプリンタ、コピー、ファクシミリなどにも、デジカメの画像を出力する要求があり、メモリカードリーダを持つものが増えている。
【０００３】
またプリンタは従来ＰＣに接続しローカルで利用されるが、近年のネットワークの普及によりネットワークで利用できるものが開発されている。プリンタにネットワーク機能を持たせＰＣの共有プリンタとしてではなく、直接ネットワークに接続できるものも増えてきている。
【０００４】
そのような背景により、メモリカードリーダ機能とプリンタ機能、そしてネットワークプリント機能を持つものも、少数ではあるが発売されてきている。しかしそれらは、せっかくメモリカードリーダを持っていて、ネットワーク機能も持つのに、メモリカードをネットワークからアクセスできるような機能は持たない。
【０００５】
又、別の従来例としては、特許文献１及び特許文献２をあげることが出来る。
【特許文献１】特開２００２−０１５１４７号公報
【特許文献２】特開２００３−１５０４５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
先述のような複合プリンタなどの機器で、ＰＣにローカルで接続する機能と、ネットワークにより複数のＰＣと接続する機能を同時に持つ機器の場合、メモリカードリーダをローカルとネットワークの両方からアクセスできることが望ましいが、ローカルとネットワーク同時に利用するには多くの問題がある。
【０００７】
ローカル接続のＰＣとネットワーク越しのＰＣとでは、メモリカードのアクセス方法がプロトコルだけでなく、概念が違っている。ローカル接続のＰＣの場合ＵＳＢで接続され、マス・ストレージクラスでＳＣＳＩコマンドを使われる場合が多い。このときＰＣ側にファイルシステムによってファイル単位の情報をＳＣＳＩコマンドのためにメモリカード内のセクタ単位の情報に変換した上で、メモリカード機器へはセクタ単位でアクセスする。ところがネットワーク越しのＰＣの場合、ネットワーク越しの記憶装置のアクセスには、ＳＭＢなどのプロトコルを用いるのが一般的である。これはファイル単位のアクセスとなり、メモリカードリーダなどのデバイス側に、ファイルシステムが必要となる。このようにアクセス方法が異なっている。
【０００８】
このため従来は、ローカルでメモリカードを操作する製品しか販売されていない。またネットワークを通してメモリカードをアクセスできるような製品はそもそも存在しない。
【課題を解決するための手段】
【０００９】
本発明でこれらの問題を解決するために、以下のような構成にして解決する。
【００１０】
装置内臓のメモリカードリーダはＳＣＳＩコマンドで制御できる構成にする。
【００１１】
ローカルのＰＣからＵＳＢで接続するために、ＵＳＢファンクションコントローラ、マス・ストレージクラスのプロトコルに対応し、ローカルＰＣからはＰＣ上ＯＳのファイルシステムを用いて、セクタ単位でメモリカードに書き込む。
【００１２】
次にネットワーク越しのＰＣではファイル単位でアクセスできるように、ＬＡＮコントローラ、それを制御するＴＣＰ／ＩＰプロトコル、ＮｅｔＢＩＯＳプロトコル、ＳＭＢプロトコルを実装する。そしてそのファイル単位のデータをファイルシステムでセクタ単位のデータとし、ＳＣＳＩコマンドを用いてメモリカードにアクセスさせる。
【００１３】
このような従来のメモリカードリーダ機器になかった、ローカルＰＣでも持っているファイルシステムを記憶媒体書き込み装置にも持ち、さらにＳＣＳＩコマンド変換部を持つ構成によって、ローカルだけでなく、ネットワークからもメモリカードをアクセスすることができるようになる。
【００１４】
また、ファイル単位でデータを扱っている場所と、ＳＣＳＩコマンド単位で扱っている場所の両方で排他処理をすることによって、ネットワークＰＣ、ローカルＰＣ、機器内の制御部それぞれからの操作に対して排他処理を行えるようにする。
【００１５】
またメモリカードの利用状況をひとつの場所で扱い、2箇所の排他処理部ではそれを参照して排他することで、ネットワークＰＣ、ローカルＰＣと機器内の制御部の排他処理を行うことができ、ネットワーク越しのＰＣ、ローカル接続のＰＣと機器内の制御部で同時に、安全に利用することができる。
【発明の効果】
【００１６】
請求項１記載の発明によれば、記憶媒体書込み装置の1台のメモリカードリーダを、装置内部の制御部と、外部ＵＳＢ接続ローカルＰＣ、複数の外部ネットワーク接続ＰＣのそれぞれから利用することができる。
【００１７】
請求項２〜６記載の発明によれば、記憶媒体書込み装置の1台のメモリカードリーダを、装置内部の制御部と、外部ＵＳＢ接続ローカルＰＣ、複数の外部ネットワーク接続ＰＣのそれぞれから同時に使うことができる。
【００１８】
またこれらの利用者だれかが使用中、ほかの誰かが使えなくなるようなことはく、同時に使うことができる。
【００１９】
そして、排他処理によって、これらの利用者の同時使用によってもデータ破損・矛盾などが起きずに、安全に利用することができる。
【発明を実施するための最良の形態】
【００２０】
次に、本発明の詳細を実施例の記述に従って説明する。
【００２１】
まず、記憶媒体書込システムを構成する記憶媒体書込装置１００の概略を詳細に説明する。
【００２２】
図１は、本発明の実施例である記憶媒体書込システムを構成する記憶媒体書込装置１００の概略構成を示すブロック図である。
【００２３】
記憶媒体書込装置１００において、ＣＰＵ１０１は、システム制御部であり、記憶媒体書込装置１００の全体を制御する。
【００２４】
ＲＯＭ１０２は、ＣＰＵ１０１が実行する制御プログラムや組み込みオペレーティングシステム（ＯＳ）プログラム等を格納する。上記実施例では、ＲＯＭ１０２に格納されている各制御プログラムは、ＲＯＭ１０２に格納されている組み込みＯＳの管理下で、スケジューリングやタスクスイッチ等のソフトウエア制御を行う。
【００２５】
ＲＡＭ１０３は、ＤＲＡＭ（ｄｙｎａｍｉｃ  ＲＡＭ）等で構成され、プログラム制御変数等を格納し、また、設定値や記憶媒体書込装置１００の管理データ等を格納し、各種ワーク用バッファ領域が設けられている。
【００２６】
ＬＡＮコントローラ１０４はＣＰＵ１０１とバスで接続され、記憶媒体書き込み装置１００のネットワーク機能のうち、ＯＳＩ参照モデルの物理層、データリンク層にあたる部分を担当する。
【００２７】
ネットワークインターフェース１０５はＬＡＮコントローラ１０４につながり、外部から１００Base-Tや１０Base-Tなどのケーブルを接続できるモジュラジャック型ソケットで、クロスケーブルやハブを通したネットワーク越しに外部情報処理装置２００と接続される。
【００２８】
表示部１０６は、ＬＥＤ（発光ダイオード）とＬＣＤ（液晶ディスプレイ）等によって構成され、記憶媒体書込装置１００の動作状況、ステータス状況の表示、そしてカードリーダの状態の表示を行う表示部である。
【００２９】
ＵＳＢホスト制御部１１０は、ＵＳＢ通信規格で定められたプロトコルで通信を行う為の制御部である。ＵＳＢ通信規格は、双方向のデータ通信を高速に行うことが出来る規格であり、１台のホスト（マスター）に対し、複数のハブまたはファンクション（スレーブ）を接続することが出来る。ＵＳＢホスト制御部１１０は、ＵＳＢ通信におけるホストの機能を有する。
【００３０】
ＵＳＢファンクション制御部１１１は、ＵＳＢインターフェースの通信制御を行うものであり、ＵＳＢ通信規格に従って、プロトコル制御を行い、ＣＰＵ１０１が実行するＵＳＢ制御タスクからのデータを、パケットに変換し、外部の情報処理端末に、ＵＳＢパケット送信を行ったり、逆に、外部の情報処理端末からのＵＳＢパケットを、データに変換してＣＰＵ１０１に対し送信を行ったりする。
【００３１】
ＵＳＢインターフェース１１２は、USBファンクション制御部１１１と接続される。シリーズBプラグ形状であり、ローカルで外部情報処理装置２００のUSBホストインターフェースと、USBケーブルによって接続される。
【００３２】
記録部１１３は、レーザビームプリンタやインクジェットプリンタ等からなる印刷装置であり、カラー画像データ、またはモノクロ画像データを印刷部材に印刷する。ＵＳＢホスト制御部１１０とは、ＵＳＢ通信規格で定められたプロトコルで通信を行い、この記録部１１３はファンクションの機能を有する。
【００３３】
カードリーダ部１１４は、各種メモリカードのインターフェースをもち、メモリカードを読み書きする。ＵＳＢホスト制御部１１０とは、ＵＳＢ通信規格で定められたプロトコルで通信を行い、このカードリーダ部１１４もファンクションの機能を有する。
【００３４】
上記構成要素１０２、１０３、１０４、１０６、１１０、１１１は、ＣＰＵ１０１が管理するＣＰＵバス１１０を介して、相互に接続されている。
【００３５】
続いて、記憶媒体書込装置にUSBやネットワークで接続される外部処理装置２００の概略を説明する。
【００３６】
図２は、本発明の実施例である記憶媒体書込システムを構成する外部処理装置２００の概略構成を示すブロック図である。
【００３７】
ＣＰＵ２０１は、ＲＯＭ２０２、ＲＡＭ２０３、または、内部記憶装置２０４、外部記憶装置（２０５）に記憶されたプログラムから読み出されたプログラムに従って、システムバスを介して外部処理装置２００全体の動作を制御するものである。
【００３８】
ＲＯＭ２０２は、ＣＰＵ２０１の制御プログラム等を格納している。
【００３９】
ＲＡＭ２０３は、一時的にプログラムや画像データを記憶し、外部処理装置２００の処理を高速に動作させるためのものである。
【００４０】
内部記憶装置２０４は、オペレーティングシステム、各種アプリケーションプログラムや画像データ等が格納されている。内部記憶装置２０４には、本実施例における文字データ処理工程を含む、記憶媒体書込装置１００に対する各種制御命令やデータの送受信を行うためのアプリケーションソフト、プリンタドライバソフト、スキャナドライバソフト、ファクシミリドライバソフト、機能毎のＵＳＢクラスドライバソフトおよびＵＳＢバスドライバソフト等がインストールされているものとする。通常、これらのアプリケーションソフトおよびドライバソフトは、これらが記憶された他のコンピュータ可読媒体から外部記憶ディスク２０６（フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭメディア）によりデータを受け取り、外部記憶装置２０５を制御することによりインストールを行う。また、通信回線によって通信部２０９（ネットワークやモデム）でアプリケーションソフトおよびドライバソフトを受け取り、内部記憶装置２０４にインストールすることも可能である。
【００４１】
操作部２０７は、オペレータからの指示入力手段としてのキーボードやマウス（不図示）を制御するものである。印刷の実行起動は通常、操作部２０７のキーボードやマウスが使用される。
【００４２】
表示部２０８は、オペレータに各種表示を行うものである。外部処理端末２００で印刷の実行起動をかける場合は、確認ダイヤログ等を表示部２０８に表示し、オペレータに入力を促す。また印刷動作の実行中は、印刷状況を示す情報をオペレータに提供する。
【００４３】
ＬＡＮコントローラ２０９は、ネットワークに接続する。ネットワークや通信回線への接続に関しては、公知の方法を使用するものとし、詳述しない。
【００４４】
ＵＳＢホストコントローラ２１０は、ＵＳＢインターフェースの通信制御を行うものであり、ＵＳＢ通信規格に従って、ＣＰＵ２０１からのデータを、パケットに変換し、USB機器を接続できる。
【００４５】
図３は記憶媒体書込装置のプロトコル構成図である。これらを実際の動作を用いて説明する。なお、３０１〜３０８のプロトコルおよび制御は、記憶媒体書込み装置のＲＯＭ１０２に記憶されＣＰＵ１０１によって実現される。またファイルシステム３３１は外部情報処理装置２００がＵＳＢファンクション制御部１１１を通してローカルＰＣとして接続された場合に、ローカルＰＣ内部のＯＳ等によって用意される。
【００４６】
まず、ローカル接続ＰＣ３３０から、記憶媒体書込装置１００のカードリーダ部１１４に挿入された、メモリカード３４０に記憶された内容を読み出す手順について説明する。まずローカル接続ＰＣ３３０から、メモリカード３４０に記録されたあるファイルを読み込もうとする。ファイルシステムはメモリカード３４０内のＦＡＴを格納されているブロックを読み出そうとする。ＯＳ付属のマス・ストレージクラスドライバがその指示をＳＣＳＩコマンドの読み出し命令にし、ストレージクラスのＣＢＷの形式にパックし、ローカルＰＣ３３０のＵＳＢホスト制御部２１０からＵＳＢパケットとして、記憶媒体書込装置１００に送る。記憶媒体書込み装置ではＵＳＢファンクション制御部１１１でＵＳＢパケットを受信し、マス・ストレージクラス層３０６で解析しＳＣＳＩコマンドを取り出す。
【００４７】
この動作はメモリカード管理手段３０８に記録される。記憶媒体書込み装置内部の機能や、ネットワーク接続ＰＣ３２０等から先にカードリーダ部１１４が先に使用中かどうかも、メモリカード管理手段３０８にすでに記録済みなので、これを読み込むことによって現在の利用状況を知ることができ、使用中の場合はここで1個目であり請求項２，３記載の排他処理を行う。排他処理規則については後述図５で説明する。排他されることがなかった場合、このＳＣＳＩコマンドはマス・ストレージクラス層３０７によって再ストレージクラス形式でパックされ、カードリーダ部１１４に送られ、カードリーダ部はその指示に従いメモリカードから該当ブロックを読み出す。このあと逆の順序で読み出したＦＡＴデータをローカル接続ＰＣに転送する。ファイルシステム３３１によってＦＡＴを解析し、あるファイルはメモリカード内のどこのセクタに記録されているか検索する。そしてまた先と同じ手順によりメモリカードからファイルのデータを読み出すことができる。
【００４８】
次にネットワーク接続ＰＣ３２０が、メモリカード３４０の内容を読み出す手順について説明する。同じくあるファイルを読み込もうとする。そしてＰＣ内部のＯＳに組み込まれているＳＭＢプロトコルによって、ファイルの読み出しを指示する。そのコマンドはＯＳのＮｅｔＢＩＯＳ、ＴＣＰ／ＩＰプロトコル層を通してＰＣのＬＡＮコントローラからパケットとして送信される。ネットワーク接続ＰＣ３２０により、パケットに記憶媒体書込装置１００のＩＰが指定され、ハブなどを通して記憶媒体書込装置１００のＬＡＮコントローラ１０４で受信される。パケットはＴＣＰ／ＩＰ層３０３、ＮｅｔＢＩＯＳ層３０２、ＳＭＢ層３０１を通して、ＳＭＢプロトコルのファイルに対する操作指示コマンドとして認識される。この記憶媒体書込装置にメモリカードの内容を読み出して印刷するなどの機能がある場合、この記憶媒体書込み装置自身もメモリカードにアクセスすることになり、それはファイル単位で行われる。そのためここで２個目のであり請求項２，３記載の排他処理を行う。排他処理規則については後述図５で説明するが、1個目同様メモリカード管理機能３０８を用いる。排他されることがなかった場合、このコマンドはメモリカードのＦＡＴ構造を認識しているファイルシステム層３０４によって、ブロック単位の読み出しコマンドに分割される。その読み出しコマンドはＳＣＳＩ層によってＳＣＳＩの読み出しコマンドに変換され、先ほど記載の1個目の排他処理を通し、マス・ストレージクラス層３０７を通してカードリーダ部に送られる。そのＳＣＳＩの読み出しコマンドの指示によりメモリカード３４０の内容が読み出され、逆の手順で読み出されたデータが転送される。ファイルシステム層３０４で読み出すべきデータがそろったら、ファイル単位の読み出しデータとして、逆の手順でネットワーク接続ＰＣ３２０へ転送されファイルは読み出されたことになる。
【００４９】
図４は記憶媒体書込み装置の接続形態図である。記憶媒体書込装置は複数の外部情報処理装置と接続される場合をあらわしている。
【００５０】
記憶媒体書込装置１００は、外部情報処理装置２００をUSBファンクション制御部１１１を用いて、ローカルPCとして接続する。
【００５１】
また、記憶媒体書込み装置１００は、別な複数の外部情報処理装置２００をＬＡＮコントローラ１０４を用いて、ネットワークPCとして接続する。
【００５２】
また、記憶媒体書込み装置１００は、カードリーダ部１１４に記憶媒体としてフラッシュメモリカードを接続することができる。
【００５３】
図５は排他処理規則の表である。これらは排他処理部分で行われ、利用者（本実施例では、ネットワーク越しのＰＣ、ローカル接続のＰＣ、装置自身のどれか）はメモリカードを用いる際に図3のメモリカード管理手段３０８に、利用する動作（読み込み/書き込みなど）ことと自身のＩＤを書き込み、また利用がすんだら自身の利用情報を消去する。そして利用者はこの情報を読み出すことによって、現在メモリカードが利用中かどうかを知ることができる。
【００５４】
それでは、表中の項目それぞれの理由を順に説明する。まず原則として、ある利用者が（たとえばローカルＰＣ）がメモリカードに対して操作中、同じ利用者の操作はどんな操作でも許可される。誰かが利用中に、別な利用者（たとえばネットワークＰＣ）が割り込んで利用しようとしたときに、図５が適用される
表は縦が先の利用者の動作で、メモリカードの読込／書込に分けられ、後の利用者の動作も同様である。
【００５５】
先の利用者が読込中に、別な利用者の読込はメモリカードに何ら変化がないので許可される。
【００５６】
先の利用者が読込中に、別な利用者の書き込みは、先の利用者の読み出しデータが保証されないので禁止となる。
【００５７】
先の利用者が書き込み中に、別な利用者が読込を行うのは、後の利用者のデータが変化する恐れがあるので原則禁止であるが、特にＵＳＢ接続のマス・ストレージクラス接続について、読み込みを禁止する方法がないため、その利用者に対してのみ読み込みを許可する。
【００５８】
先の利用者が書き込み中に、別な利用者が書き込みは、どちらの書き込み動作も保証できなくなるので禁止とする。
【図面の簡単な説明】
【００５９】
【図１】記憶媒体書込装置のブロック図。
【図２】外部処理装置のブロック図。
【図３】記憶媒体書込装置の構成図。
【図４】記憶媒体書込装置の接続形態図。
【図５】排他処理規則表。
【符号の説明】
【００６０】
１００  記憶媒体書込装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  ＬＡＮコントローラ
１０５  ネットワークインターフェース
１０６  表示部
１１０  ＵＳＢホスト制御部
１１１  ＵＳＢファンクション制御部
１１２  ＵＳＢインターフェース
１１３  記録部
１１４  カードリーダ部
１２０  ＣＰＵバス
２００  外部処理装置
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  ＲＡＭ
２０４  内部記憶装置
２０５  外部記憶装置
２０６  外部記憶ディスク
２０７  操作部
２０８  表示部
２０９  ＬＡＮコントローラ
２１０  ＵＳＢホスト制御部
２１１  ＣＰＵバス
２２１  ネットワーク
３０１  ＳＭＢ層
３０２  ＮｅｔＢＩＯＳ層
３０３  ＴＣＰ／ＩＰ層
３０４  ファイルシステム層
３０５  ＳＣＳＩ層
３０６  マス・ストレージクラス層
３０７  マス・ストレージクラス層
３０８  メモリカード管理手段
３２０  ネットワーク接続ＰＣ
３３０  ローカル接続ＰＣ
３３１  ファイルシステム３３１
３４０  メモリカード
【図１】
2006331088.tif 000003
【図２】
2006331088.tif 000004
【図３】
2006331088.tif 000005
【図４】
2006331088.tif 000006
【図５】
2006331088.tif 000007