JP5963445B2 - 電子機器及びプログラム - Google Patents

電子機器及びプログラム Download PDF

Info

Publication number
JP5963445B2
JP5963445B2 JP2012001330A JP2012001330A JP5963445B2 JP 5963445 B2 JP5963445 B2 JP 5963445B2 JP 2012001330 A JP2012001330 A JP 2012001330A JP 2012001330 A JP2012001330 A JP 2012001330A JP 5963445 B2 JP5963445 B2 JP 5963445B2
Authority
JP
Japan
Prior art keywords
logical
unit
storage device
external storage
logical unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012001330A
Other languages
English (en)
Other versions
JP2013142909A (ja
Inventor
克哉 中野
克哉 中野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2012001330A priority Critical patent/JP5963445B2/ja
Publication of JP2013142909A publication Critical patent/JP2013142909A/ja
Application granted granted Critical
Publication of JP5963445B2 publication Critical patent/JP5963445B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、複数の論理的な記憶装置を有するデバイスと接続可能な電子機器に関する。
USB(Universal Serial Bus)規格に準拠したデバイスであるUSBデバイスと、USBホストとは、USBケーブルを介して接続される。
USBデバイスの1つに、複数の論理ユニット(Logical Unit)を有する外部記憶装置がある。論理ユニットは、外部記憶装置がUSBホストに提供することができる論理的な記憶装置である。これに対し、外部記憶装置は、1つの物理的な記憶装置である。例えば、外部記憶装置が2つの論理ユニットを有する場合、外部記憶装置は、2つの論理的な記憶装置をUSBホストに提供することができる。USBホストと2つの論理ユニットのすべてとの間で接続が確立した場合、USBホストはあたかも2つの外部記憶装置がUSBホストに接続されたように振る舞う。USBホストは、各論理ユニットに割り当てられたLUN(Logical Unit Number)によって各論理ユニットを識別することができる。例えば、外部記憶装置が2つの論理ユニットを有する場合、第1の論理ユニットのLUNは0であり、第2の論理ユニットのLUNは1である。特許文献1には、複数の論理ユニットを有するUSBストレージデバイスが記載されている。
特開2006−79634号公報
複数の論理ユニットを有する外部記憶装置がUSBホストに接続された場合に、USBホストが当該複数の論理ユニットのすべてと接続することは、多くのハードウェアのリソースが必要であるし、製造コストが上昇するため好ましくないという問題がある。このような問題は、USBホストとして動作することができる電子機器が携帯機器である場合に顕著になると予想される。そのため、複数の論理ユニットを有する外部記憶装置がUSBホストに接続された場合に、USBホストが当該複数の論理ユニットのなかから適切な論理ユニットを選択できるようにするための構成及び/又は方法が求められている。上述の問題は、USBホストとして動作することができる電子機器以外の電子機器にも生じる可能性がある。言い換えれば、上述の問題は、複数の論理的な記憶装置(複数の論理ユニットに相当)を有する外部記憶装置と接続可能な電子機器にも生じる可能性がある。
本発明は、上述の問題にかんがみてなされたものであり、外部記憶装置が有する複数の論理的な記憶装置(例えば、複数の論理ユニット)のなかから適切な記憶装置を選択することができる電子機器(例えば、USBホスト)を提供することを目的とする。
本発明に係る電子機器は、例えば、外部記憶装置と通信するための通信手段と、前記外部記憶装置が有する論理ユニットの数と、前記外部記憶装置が有する論理ユニットの属性とを前記外部記憶装置から取得する取得手段と、前記外部記憶装置が複数の論理ユニットを有する場合は、前記外部記憶装置が有する複数の論理ユニットの中から第1の条件及び第2の条件のいずれか一つを満たす一つの論理ユニットを選択し、選択された一つの論理ユニットとの接続を確立するための処理を行う制御手段とを有し、前記第1の条件は、記憶領域のサイズが最も大きい論理ユニットであって、論理ユニットの属性が書き込み可能であることとし、前記第2の条件は、最初に発見された論理ユニットであって、論理ユニットの属性が書き込み可能であることとすることを特徴とする電子機器である
本発明に係るプログラムは、例えば、外部記憶装置と通信するための通信手段と、前記外部記憶装置が有する論理ユニットの数と、前記外部記憶装置が有する論理ユニットの属性とを前記外部記憶装置から取得する取得手段と、前記外部記憶装置が複数の論理ユニットを有する場合は、前記外部記憶装置が有する複数の論理ユニットの中から第1の条件及び第2の条件のいずれか一つを満たす一つの論理ユニットを選択し、選択された一つの論理ユニットとの接続を確立するための処理を行う制御手段としてコンピュータを機能させるためのプログラムであって、前記第1の条件は、記憶領域のサイズが最も大きい論理ユニットであって、論理ユニットの属性が書き込み可能であることとし、前記第2の条件は、最初に発見された論理ユニットであって、論理ユニットの属性が書き込み可能であることとするプログラムである。
本発明によれば、外部記憶装置が有する複数の論理的な記憶装置(例えば、複数の論理ユニット)のなかから適切な記憶装置を選択することができる電子機器(例えば、USBホスト)を提供することができる。
本発明の実施形態1に係る通信システムの一例を示す図である。 本発明の実施形態1に係るホスト装置100に含まれる構成要素を説明するためのブロック図である。 本発明の実施形態1に係るホスト装置100で行われるデバイス接続処理PS1を説明するためのフローチャートである。 図3のステップS311で行われる論理ユニット選択処理PS2を説明するためのフローチャートである。 本発明の実施形態1に係るホスト装置100で生成される論理ユニット管理テーブルの一例を説明するための図である。
以下、図面を参照して本発明の実施形態を説明するが、本発明の実施形態は以下の実施形態に限定されるものではない。
[実施形態1]
図1は、本発明の実施形態1に係る通信システムの一例を示す図である。
図1に示す通信システムは、ホスト装置100と外部記憶装置200とを含む。ホスト装置100及び外部記憶装置200は、USB2.0、USB3.0などのUSB規格に準拠した通信装置である。ホスト装置100と外部記憶装置200とは、ケーブル300を介して接続されている。ケーブル300は、USB2.0、USB3.0などのUSB規格に準拠した通信ケーブルである。
ホスト装置100は、USBホストとして動作することができる電子機器である。ホスト装置100は、パーソナルコンピュータ、デジタルカメラ、デジタルビデオカメラ、スキャナ、プリンタなどの少なくとも1つを含むように構成してもよい。
ホスト装置100は、ホスト装置100の状態をパワーオン状態、省電力状態及びパワーオフ状態のいずれかにするためのパワースイッチPSW1を有する。ユーザは、パワースイッチPSW1を操作することによって、ホスト装置100の状態をパワーオン状態、省電力状態及びパワーオフ状態のいずれかにすることができる。
外部記憶装置200は、USBデバイスとして動作することができる電子機器である。外部記憶装置200のデバイスクラスは、マスストレージデバイスクラスである。外部記憶装置200は、バスパワードデバイス(bus powered device)、セルフパワードデバイス(self powered device)のうちのどれであってよい。外部記憶装置200がバスパワードデバイスである場合、外部記憶装置200は、ケーブル300のVBUSラインから供給される電力を用いて動作するように構成される。外部記憶装置200がセルフパワードデバイスである場合、外部記憶装置200は、ACアダプタまたはバッテリーから供給される電力を用いて動作するように構成される。外部記憶装置200は、例えば、半導体メモリ、固体メモリ、ハードディスク装置などのストレージデバイスを有する。外部記憶装置200はさらに、デジタルカメラ、デジタルビデオカメラ、スキャナ、プリンタなどの少なくとも1つを含むように構成してもよい。
外部記憶装置200は、2つ以上の論理ユニット(Logical Unit)を有する。論理ユニットは、外部記憶装置200がホスト装置100に提供することができる論理的な記憶装置である。これに対し、外部記憶装置200は、1つの物理的な記憶装置である。例えば、外部記憶装置200が5つの論理ユニットを有する場合、外部記憶装置200は、5つの論理的な記憶装置をホスト装置100に提供することができる。ホスト装置100と5つの論理ユニットのすべてとの間で接続が確立した場合、ホスト装置100はあたかも5つの外部記憶装置がホスト装置100に接続されたように振る舞う。ホスト装置100は、各論理ユニットに割り当てられたLUN(Logical Unit Number)によって各論理ユニットを識別することができる。また、ホスト装置100は、各論理ユニットに割り当てられたLUNを用いて、各論理ユニット管理することもできる。
ケーブル300は、Aコネクタ301と、Bコネクタ302とを有する。Aコネクタ301は、miniAプラグ、マイクロAプラグのうちのどれを有するものでもよい。Bコネクタ301は、miniBプラグ、マイクロBプラグのうちのどれを有するものでもよい。Aコネクタ301はホスト装置100のAコネクタ又はABコネクタに接続され、Bコネクタ302は外部記憶装置200のBコネクタに接続される。
図2は、本発明の実施形態1に係るホスト装置100に含まれる構成要素を説明するためのブロック図である。
ホスト装置100は、カメラ部101、ストレージインタフェース部102、表示部103、UI(ユーザインターフェース)部104、通信部105、電源部106及びコネクタ107を有する。ホスト装置100はさらに、制御部108、Pメモリ109、Sメモリ110及び内部バス111を有する。
カメラ部101、ストレージインタフェース部102、表示部103、UI(ユーザインターフェース)部104、通信部105、電源部106及び制御部108は、内部バス111に相互に通信可能に接続されている。
カメラ部101は、レンズ装置、撮像素子などを用いて、画像の撮影を行い、撮影された画像から生成された画像データ(ライブビュー画像に相当)を表示部103及び通信部105に供給する。カメラ部101は、ホスト装置100の動作モードが静止画撮影モード及び動画撮影モードのいずれであっても、ライブビュー画像を生成することができる。これにより、ホスト装置100は、カメラ部101で生成されたライブビュー画像を表示部103に表示することができ、当該ライブビュー画像を通信部105から外部記憶装置200などのUSBデバイスに送信することができる。
カメラ部101は、ホスト装置100の動作モードが静止画撮影モードである場合は、ユーザからの静止画撮影指示に従って静止画の撮影を行う。ユーザが静止画撮影指示をホスト装置100に入力した場合、カメラ部101は、カメラ部101によって取り込まれた光学像から静止画データを生成し、生成した静止画データをストレージインタフェース部102及び表示部103に供給する。これにより、ストレージインタフェース部102はカメラ部101で生成された静止画データを記憶媒体102aに記録することができ、表示部103はカメラ部101で生成された静止画データに対応する静止画を表示することができる。
カメラ部101は、ホスト装置100の動作モードが動画撮影モードである場合は、ユーザからの動画撮影指示に従って動画の撮影を行う。ユーザから動画撮影指示をホスト装置100に入力した場合、カメラ部101は、カメラ部101によって取り込まれた光学像から動画データを生成し、生成した動画データをストレージインタフェース部102に供給する。これにより、ストレージインタフェース部102はカメラ部101で生成された動画データを記憶媒体102aに記録することができる。
ストレージインタフェース部102は、ホスト装置100の動作モードが静止画撮影モードである場合は、カメラ部101から供給された静止画データを所定の静止画符号化方式に従ってエンコードする。エンコードされた静止画データは、ストレージインタフェース部102によって記憶媒体102aに記録される。ストレージインタフェース部102は、ホスト装置100の動作モードが動画撮影モードである場合は、カメラ部101から供給された動画データを所定の動画符号化方式に従ってエンコードする。エンコードされた動画データは、ストレージインタフェース部102によって記憶媒体102aに記録される。
ストレージインタフェース部102は、ホスト装置100の動作モードが静止画再生モードである場合は、ユーザによって指定された静止画データを記憶媒体102aから再生し、所定の静止画復号化方式に従ってデコードする。デコードされた静止画データは、ストレージインタフェース部102から表示部103及び通信部105に供給される。ストレージインタフェース部102は、ホスト装置100の動作モードが動画再生モードである場合は、ユーザによって指定された動画データを記憶媒体102aから再生し、所定の動画復号化方式に従ってデコードする。デコードされた動画データは、ストレージインタフェース部102から表示部103及び通信部105に供給される。
表示部103は、液晶表示装置などの表示装置を有する。表示部103は、ホスト装置100の動作モードが静止画撮影モードである場合は、カメラ部101で生成されたライブビュー画像を表示することができるし、カメラ部101で生成された静止画データに対応する静止画を表示することもできる。表示部103は、ホスト装置100の動作モードが動画撮影モードである場合は、カメラ部101で生成されたライブビュー画像を表示することができる。表示部103は、ホスト装置100の動作モードが静止画再生モードである場合は、ストレージインタフェース部102から供給された静止画データに対応する静止画を表示することができる。表示部103は、ホスト装置100の動作モードが動画再生モードである場合は、ストレージインタフェース部102から供給された動画データに対応する動画を表示することができる。表示部103は、所定のエラー情報を表示することもできる。
UI部104は、ホスト装置100及び外部記憶装置200を制御するためのユーザインターフェースを提供する。ユーザは、UI部104を操作することによって、ホスト装置100及び外部記憶装置200を制御することができる。パワースイッチPSW1を含む様々な操作部材は、UI部104に含まれる。ホスト装置100の動作モードを変更するためのスイッチも、UI部104に含まれる。静止画撮影指示をホスト装置100に入力するためのスイッチと、動画撮影指示をホスト装置100に入力するためのスイッチも、UI部104に含まれる。後述する論理ユニット選択モードを選択するためのスイッチも、UI部104に含まれる。UI部104が有する様々な操作部材は、グラフィカルユーザインターフェースによって構成してもよい。
通信部105は、USBホストコントローラを有し、ホスト装置100がUSBホストとして動作するための機能を外部記憶装置200などのUSBデバイスに提供する。通信部105は、コネクタ107及びケーブル300を介して外部記憶装置200などのUSBデバイスと通信することができる。通信部105は、USB2.0、USB3.0などのUSB規格に準拠する。
通信部105は、ホスト装置100の動作モードが静止画撮影モードである場合は、カメラ部101で生成されたライブビュー画像を外部記憶装置200などのUSBデバイスに送信することができる。通信部105は、ホスト装置100の動作モードが動画撮影モードである場合は、カメラ部101で生成されたライブビュー画像を外部記憶装置200などのUSBデバイスに送信することができる。
通信部105は、ホスト装置100の動作モードが静止画再生モードである場合は、ストレージインタフェース部102から供給された静止画データを外部記憶装置200などのUSBデバイスに送信することができる。通信部105は、ホスト装置100の動作モードが動画再生モードである場合は、ストレージインタフェース部102から供給された動画データを外部記憶装置200などのUSBデバイスに送信することができる。
電源部106は、AC電源又はバッテリーを用いて5V電圧を生成するための電圧生成装置として動作する。電源部106はさらに、コネクタ107及びケーブル300を介して5V電圧を外部記憶装置200などのUSBデバイスに供給するための電力供給装置として動作する。
コネクタ107は、ケーブル300を接続するためのコネクタである。ケーブル300のAコネクタ301は、コネクタ107に接続される。コネクタ107は、miniABレセプタクル、マイクロABレセプタクル、miniAレセプタクル、マイクロAレセプタクルのうちのどれかを含む。コネクタ107は、USB2.0、USB3.0などのUSB規格に準拠する。
制御部108は、Pメモリ109に格納されているプログラムに従ってホスト装置100を制御するように構成されたプロセッサを有する。後述するデバイス接続処理PS1及び論理ユニット選択処理PS2は、制御部108によって制御される。
Pメモリ109は、第1のメモリであり、ホスト装置100を制御するためのプログラムを格納したメモリである。後述する条件C1及びC2は、Pメモリ109に格納されている。Sメモリ110は、第2のメモリであり、ホスト装置100に関する様々な情報を格納するためのメモリである。Sメモリ110は、外部記憶装置200などのUSBデバイスに関する様々な情報を格納するためのメモリでもある。後述する管理テーブルTB1、Sメモリ110に格納される。
図5は、本発明の実施形態1に係る外部記憶装置200が有する2つ以上の論理ユニットの一例を説明するための図である。図5では、外部記憶装置200が5つの論理ユニットを有する場合を説明する。
図5に示す表の左から1番目の列は、各論理ユニットの名称を示す。図5に示す表の左から2番目の列は、各論理ユニットのLUN(Logical Unit Number)を示す。図5に示す表の左から3番目の列は、各論理ユニットのアクセス属性を示す。図5に示す表の左から4番目の列は、各論理ユニットの記憶領域のサイズ(Byte)を示す。
外部記憶装置200は、例えば図5に示すように、5つの論理ユニットLUN0〜LUN4を有する。
論理ユニットLUN0のLUNは「0」であり、論理ユニットLUN0のアクセス属性は「書き込み禁止」であり、論理ユニットLUN0の記憶領域のサイズは「10MB」である。論理ユニットLUN0のアクセス属性は「書き込み禁止」であるので、ホスト装置100と論理ユニットLUN0との間で接続が確立したとしても、ホスト装置100は画像ファイルなどのデータを論理ユニットLUN0に書き込むことはできない。ただし、ホスト装置100は、論理ユニットLUN0から画像ファイルなどのデータを読み出すことはできる。
論理ユニットLUN1のLUNは「1」であり、論理ユニットLUN1のアクセス属性は「書き込み可能」であり、論理ユニットLUN1の記憶領域のサイズは「100GB」である。論理ユニットLUN1のアクセス属性は「書き込み可能」であるので、ホスト装置100と論理ユニットLUN1との間で接続が確立した場合、ホスト装置100は画像ファイルなどのデータを論理ユニットLUN1に書き込むことができる。この場合、ホスト装置100は、論理ユニットLUN1から画像ファイルなどのデータを読み出すこともできる。
論理ユニットLUN2のLUNは「2」であり、論理ユニットLUN2のアクセス属性は「書き込み可能」であり、論理ユニットLUN2の記憶領域のサイズは「120GB」である。論理ユニットLUN2のアクセス属性は「書き込み可能」であるので、ホスト装置100と論理ユニットLUN2との間で接続が確立した場合、ホスト装置100は画像ファイルなどのデータを論理ユニットLUN2に書き込むことができる。この場合、ホスト装置100は、論理ユニットLUN2から画像ファイルなどのデータを読み出すこともできる。
論理ユニットLUN3のLUNは「3」であり、論理ユニットLUN3のアクセス属性は「書き込み禁止」であり、論理ユニットLUN3の記憶領域のサイズは「1GB」である。論理ユニットLUN3のアクセス属性は「書き込み禁止」であるので、ホスト装置100と論理ユニットLUN3との間で接続が確立したとしても、ホスト装置100は画像ファイルなどのデータを論理ユニットLUN3に書き込むことはできない。ただし、ホスト装置100は、論理ユニットLUN3から画像ファイルなどのデータを読み出すことはできる。
論理ユニットLUN4のLUNは「4」であり、論理ユニットLUN4のアクセス属性は「書き込み可能」であり、論理ユニットLUN4の記憶領域のサイズは「12GB」である。論理ユニットLUN4のアクセス属性は「書き込み可能」であるので、ホスト装置100と論理ユニットLUN4との間で接続が確立した場合、ホスト装置100は画像ファイルなどのデータを論理ユニットLUN4に書き込むことができる。この場合、ホスト装置100は、論理ユニットLUN4から画像ファイルなどのデータを読み出すこともできる。
図3は、本発明の実施形態1に係るホスト装置100で行われるデバイス接続処理PS1を説明するためのフローチャートである。デバイス接続処理PS1は、例えば、ユーザがパワースイッチPSW1を操作してホスト装置100をパワーオン状態した場合に開始される。デバイス接続処理PS1は、制御部108によって制御される。制御部108は、Pメモリ109に格納されたプログラムに従ってデバイス接続処理PS1を制御する。
ステップS301において、制御部108は、USBデバイスXがケーブル300を介してホスト装置100に接続されたか否かを判定する。USBデバイスXがケーブル300を介してホスト装置100に接続されたか否かの検出は、通信部105によって行われる。USBデバイスXがケーブル300を介してホスト装置100に接続されたか否かの検出の結果は、通信部105から制御部108に通知される。
USBデバイスXがケーブル300を介してホスト装置100に接続されたことが通信部105によって検出された場合、制御部108は、USBデバイスXがホスト装置100に接続されたと判定する。この場合、制御部108は、ステップS301からステップS302に進む(S301でYES)。
USBデバイスXがケーブル300を介してホスト装置100に接続されたことの検出に通信部105が失敗した場合、制御部108は、USBデバイスXがホスト装置100に接続されていないと判定する。この場合、制御部108は、ステップS301から再度ステップS301に進む(S301でNO)。
ステップS302において、制御部108は、所定の接続処理を開始することを通信部105に指示する。所定の接続処理の開始の指示を制御部108から受けた通信部105は、所定の接続処理を行う。通信部105は、所定の接続処理を行うことによって、USBデバイスXのデバイス情報をUSBデバイスXから取得することができる。USBデバイスXから取得されたデバイス情報は、通信部105から制御部108に供給される。
ステップS303において、制御部108は、USBデバイスXのデバイス情報を用いて、USBデバイスXのデバイスクラスがマスストレージデバイスクラスであるか否かを判定する。
USBデバイスXのデバイスクラスがマスストレージデバイスクラスである場合、制御部108は、ステップS303からステップS305に進む(S303でYES)。USBデバイスXが外部記憶装置200である場合、制御部108は、ステップS303からステップS305に進む。
USBデバイスXのデバイスクラスがマスストレージデバイスクラスでない場合、制御部108は、ステップS303からステップS304に進む(S303でNO)。USBデバイスXが外部記憶装置200でない場合、制御部108は、ステップS303からステップS304に進む(S303でNO)。
ステップS304において、制御部108は、USBデバイスXのデバイスクラスがマスストレージデバイスクラスでないことをユーザに警告するためのエラー情報ER1を表示部103に表示する。エラー情報ER1が表示部103に表示された後、制御部108は、デバイス接続処理PS1を終了する。
ステップS305において、制御部108は、Get Max LUNコマンドの送信を通信部105に指示する。Get Max LUNコマンドは、USBデバイスXがいくつの論理ユニットを有するかをUSBデバイスXに問い合わせるためのコマンドである。Get Max LUNコマンドの送信の指示を制御部108から受けた通信部105は、Get Max LUNコマンドをUSBデバイスXに送信する。
Get Max LUNコマンドを受信したUSBデバイスXは、Get Max LUNコマンドに対するレスポンスであるレスポンスRES1をホスト装置100に送信する。レスポンスRES1には、USBデバイスXが有するLUNの中で最も大きいLUNが含まれている。例えば、USBデバイスXが有する論理ユニットの数が1である場合、USBデバイスXは、「0」を含むレスポンスRES1をホスト装置100に送信する。「0」を含むレスポンスRES1を受信したホスト装置100は、USBデバイスXが有する論理ユニットの数が1であることを知ることができる。また例えば、USBデバイスXが有する論理ユニットの数が5である場合、USBデバイスXは、「4」を含むレスポンスRES1をホスト装置100に送信する。「4」を含むレスポンスRES1を受信したホスト装置100は、USBデバイスXが有する論理ユニットの数が5であることを知ることができる。USBデバイスXが外部記憶装置200である場合、USBデバイスXは、「4」を含むレスポンスRES1をホスト装置100に送信する。
レスポンスRES1を受信した通信部105は、レスポンスRES1を制御部108に供給する。レスポンスRES1を通信部105から取得した制御部108は、ステップS305からステップS306に進む。
ステップS306において、制御部108は、USBデバイスXが有する論理ユニットの数が1であるか否かを判定する。
USBデバイスXが有する論理ユニットの数が1である場合、制御部108は、ステップS306からステップS307に進む(S306でYES)。例えば、USBデバイスXが有する論理ユニットの数が1である場合、制御部108は、ステップS306からステップS307に進む。
USBデバイスXが有する論理ユニットの数が2以上である場合、制御部108は、ステップS306からステップS311に進む(S306でNO)。例えば、USBデバイスXが有する論理ユニットの数が5である場合、制御部108は、ステップS306からステップS311に進む。USBデバイスXが外部記憶装置200である場合、制御部108は、ステップS306からステップS311に進む(S306でNO)。なお、USBデバイスXが有する論理ユニットの数が0であることはないものとする。
ステップS307において、制御部108は、Mode Senseコマンドの送信を通信部105に指示する。Mode Senseコマンドは、当該Mode Senseコマンドによって指定された論理ユニットのアクセス属性をUSBデバイスXから取得するためのコマンドである。ステップS307において、Mode Senseコマンドは、USBデバイスXが有する1つの論理ユニットを指定する。Mode Senseコマンドの送信の指示を制御部108から受けた通信部105は、Mode SenseコマンドをUSBデバイスXに送信する。
Mode Senseコマンドを受信したUSBデバイスXは、Mode Senseコマンドに対するレスポンスであるレスポンスRES2をホスト装置100に送信する。レスポンスRES2には、WP(Write Protect)情報が含まれている。WP情報は、Mode Senseコマンドによって指定された論理ユニットのアクセス属性が「書き込み可能」及び「書き込み禁止」のいずれであるかを示す情報である。WP情報が「0」である場合、Mode Senseコマンドによって指定された論理ユニットのアクセス属性は「書き込み可能」である。WP情報が「1」である場合、Mode Senseコマンドによって指定された論理ユニットのアクセス属性は「書き込み禁止」である。
レスポンスRES2を受信した通信部105は、レスポンスRES2を制御部108に供給する。レスポンスRES2を通信部105から取得した制御部108は、ステップS307からステップS308に進む。
ステップS308において、制御部108は、WP情報を用いて、USBデバイスXが有する1つの論理ユニットのアクセス属性のタイプを判定する。
USBデバイスXが有する1つの論理ユニットのアクセス属性のタイプが「書き込み可能」である場合、制御部108は、ステップS308からステップS310に進む(S308でYES)。
USBデバイスXが有する1つの論理ユニットのアクセス属性のタイプが「書き込み禁止」である場合、制御部108は、ステップS308からステップS309に進む(S308でNO)。
ステップS309において、制御部108は、USBデバイスXが書き込み可能な外部記憶装置でないことをユーザに警告するためのエラー情報ER2を表示部103に表示する。エラー情報ER2が表示部103に表示された後、制御部108は、デバイス接続処理PS1を終了する。
ステップS310において、制御部108は、USBデバイスXが有する1つの論理ユニットとホスト装置100との間の接続を確立するための論理接続処理を開始する。これにより、USBデバイスXが有する1つの論理ユニットは、ホスト装置100の外部記憶装置として動作することになる。論理接続処理が開始された場合、制御部108は、デバイス接続処理PS1を終了する。
ステップS311において、制御部108は、論理ユニット選択処理PS2を開始する。論理ユニット選択処理PS2は、USBデバイスXが有する2以上の論理ユニットの中から条件C1又は条件C2を満たす1つの論理ユニットを選択するための処理である。論理ユニット選択処理PS2の詳細については、図4を用いて後述する。論理ユニット選択処理PS2が終了した場合、制御部108は、ステップS311からステップS312に進む。
ステップS312において、制御部108は、論理ユニット選択処理PS2において1つの論理ユニットが選択されたか否かを判定する。
論理ユニット選択処理PS2において1つの論理ユニットが選択された場合、制御部108は、ステップS312からステップS313に進む(S312でYES)。
論理ユニット選択処理PS2において1つの論理ユニットが選択されなかった場合、制御部108は、ステップS312からステップS309に進む(S312でNO)。
ステップS313において、制御部108は、論理ユニット選択処理PS2において選択された1つの論理ユニットのアクセス属性のタイプを判定する。
論理ユニット選択処理PS2において選択された1つの論理ユニットのアクセス属性のタイプが「書き込み可能」である場合、制御部108は、ステップS313からステップS314に進む(S313でYES)。
論理ユニット選択処理PS2において選択された1つの論理ユニットのアクセス属性のタイプが「書き込み禁止」である場合、制御部108は、ステップS313からステップS309に進む(S313でNO)。
ステップS314において、制御部108は、論理ユニット選択処理PS2において選択された1つの論理ユニットとホスト装置100との間の接続を確立するための論理接続処理を開始する。これにより、論理ユニット選択処理PS2において選択された1つの論理ユニットは、ホスト装置100の外部記憶装置として動作することになる。論理接続処理が開始された場合、制御部108は、デバイス接続処理PS1を終了する。
図4は、図3のステップS311で行われる論理ユニット選択処理PS2を説明するためのフローチャートである。論理ユニット選択処理PS2は、制御部108によって制御される。制御部108は、Pメモリ109に格納されたプログラムに従って論理ユニット選択処理PS2を制御する。
実施形態1では、ホスト装置100が複数の論理ユニット選択モードを有する場合を説明する。例えば、複数の論理ユニット選択モードは、モードM1及びM2を含む。ホスト装置100は、ユーザがUI部104を操作することによってモードM1及びM2のいずれかを選択することができるように構成されている。
モードM1は、条件C1を満たす論理ユニットを選択するための論理ユニット選択モードである。条件C1は、アクセス属性が「書き込み可能」であり、かつ、記憶領域のサイズが最も大きい論理ユニットである。
モードM2は、条件C2を満たす論理ユニットを選択するための論理ユニット選択モードである。条件C2は、アクセス属性が「書き込み可能」であり、かつ、最初に発見された論理ユニットである。
ステップS401において、制御部108は、現在選択されているモードがモードM1及びM2のうちのどれであるかを判定する。
現在選択されているモードがモードM1である場合、制御部108は、ステップS401からステップS402に進む(S401でM1)。
現在選択されているモードがモードM2である場合、制御部108は、ステップS401からステップS409に進む(S401でM2)。
ステップS402において、制御部108は、Nに0をセットする。Nに0をセットした場合、制御部108は、ステップS402からステップS403に進む。
ステップS403において、制御部108は、コマンドCMD1の送信を通信部105に指示する。コマンドCMD1は、N番目の論理ユニットに関する情報をUSBデバイスXに問い合わせるためのコマンドである。論理ユニットに関する情報は、アクセス属性、記憶領域のサイズ(Byte)などを含む。コマンドCMD1の送信の指示を制御部108から受けた通信部105は、コマンドCMD1をUSBデバイスXに送信する。
コマンドCMD1を受信したUSBデバイスXは、コマンドCMD1に対するレスポンスであるレスポンスRES3をホスト装置100に送信する。レスポンスRES3には、N番目の論理ユニットに関する情報が含まれている。
レスポンスRES3を受信した通信部105は、レスポンスRES3を制御部108に供給する。レスポンスRES3が通信部105から制御部108に供給されることによって、制御部108は、N番目の論理ユニットに関する情報を取得することができる。そして、制御部108は、N番目の論理ユニットに関する情報を管理テーブルTB1に追加する。
N番目の論理ユニットに関する情報を管理テーブルTB1に追加した場合、制御部108は、ステップS403からステップS404に進む。
ステップS404において、制御部108は、Nに1を加算する。Nに1を加算した場合、制御部108は、ステップS404からステップS405に進む。
ステップS405において、制御部108は、NがMを超えたか否かを判定する。ここで、Mは、USBデバイスXが有する論理ユニットの数を示す。USBデバイスXが外部記憶装置200である場合、USBデバイスXが有する論理ユニットの数は、5である。制御部108は、USBデバイスXが有する論理ユニットの数を、ステップS305で知ることができるように構成されている。NがMを超えるまでステップS403〜S405を繰り返すことによって、USBデバイスXが有する全ての論理ユニットに関する情報が管理テーブルTB1に格納される。
NがMを超えた場合、制御部108は、ステップS405からステップS406に進む(S405でYES)。
NがMを超えない場合、制御部108は、ステップS405からステップS403に進む(S405でNO)。
ステップS406において、制御部108は、管理テーブルTB1を参照し、アクセス属性が「書き込み可能」である論理ユニットが1つ以上存在するか否かを判定する。
アクセス属性が「書き込み可能」である論理ユニットが1つ以上存在する場合、制御部108は、ステップS406からステップS407に進む(S405でYES)。USBデバイスXが外部記憶装置200である場合、制御部108は、ステップS406からステップS407に進む(S405でYES)。
アクセス属性が「書き込み可能」である論理ユニットが1つ以上存在しない場合、制御部108は、ステップS406からステップS408に進む(S405でNO)。
ステップS407において、制御部108は、管理テーブルTB1を参照し、条件C1を満たす1つの論理ユニットを探し出す。条件C1は、アクセス属性が「書き込み可能」であり、かつ、記憶領域のサイズが最も大きい論理ユニットである。USBデバイスXが外部記憶装置200である場合、論理ユニットLUN2が制御部108によって探し出される(図5参照)。条件C1を満たす論理ユニットを論理ユニット選択処理PS2において選択された論理ユニットとし、論理ユニット選択処理PS2を終了する。USBデバイスXが外部記憶装置200である場合、論理ユニット選択処理PS2において選択される論理ユニットは、論理ユニットLUN2である。論理ユニット選択処理PS2が終了した後、制御部108は、ステップS312に進む。
ステップS408において、制御部108は、USBデバイスXが論理接続可能な論理ユニットを有しないUSBデバイスであると判定し、論理ユニット選択処理PS2を終了する。この場合、制御部108は、1つの論理ユニットも選択しないで論理ユニット選択処理PS2を終了する。論理ユニット選択処理PS2が終了した後、制御部108は、ステップS312に進む。
ステップS409において、制御部108は、Nに0をセットする。Nに0をセットした場合、制御部108は、ステップS409からステップS410に進む。
ステップS410において、制御部108は、コマンドCMD1の送信を通信部105に指示する。コマンドCMD1の送信の指示を制御部108から受けた通信部105は、コマンドCMD1をUSBデバイスXに送信する。
コマンドCMD1を受信したUSBデバイスXは、コマンドCMD1に対するレスポンスであるレスポンスRES3をホスト装置100に送信する。レスポンスRES3には、N番目の論理ユニットに関する情報が含まれている。
レスポンスRES3を受信した通信部105は、レスポンスRES3を制御部108に供給する。レスポンスRES3が通信部105から制御部108に供給されることによって、制御部108は、N番目の論理ユニットに関する情報を取得することができる。
制御部108がN番目の論理ユニットに関する情報を取得した場合、制御部108は、ステップS410からステップS411に進む。
ステップS411において、制御部108は、N番目の論理ユニットに関する情報を参照し、N番目の論理ユニットが条件C2を満たす論理ユニットであるか否かを判定する。条件C2は、アクセス属性が「書き込み可能」であり、かつ、最初に発見された論理ユニットである。
N番目の論理ユニットが条件C2を満たす論理ユニットである場合、制御部108は、N番目の論理ユニットを論理ユニット選択処理PS2において選択された論理ユニットとし、論理ユニット選択処理PS2を終了する(S411でYES)。USBデバイスXが外部記憶装置200である場合、論理ユニット選択処理PS2において選択される論理ユニットは、論理ユニットLUN1である。論理ユニット選択処理PS2が終了した後、制御部108は、ステップS312に進む。
N番目の論理ユニットが条件C2を満たす論理ユニットでない場合、制御部108は、ステップS411からステップS412に進む(S411でNO)。
ステップS412において、制御部108は、Nに1を加算する。Nに1を加算した場合、制御部108は、ステップS412からステップS413に進む。
ステップS413において、制御部108は、NがMを超えたか否かを判定する。ここで、Mは、USBデバイスXが有する論理ユニットの数を示す。USBデバイスXが外部記憶装置200である場合、USBデバイスXが有する論理ユニットの数は、5である。制御部108は、USBデバイスXが有する論理ユニットの数を、ステップS305で知ることができるように構成されている。
NがMを超えた場合、制御部108は、ステップS413からステップS408に進む(S413でYES)。
NがMを超えない場合、制御部108は、ステップS413からステップS410に進む(S413でNO)。
このように、ホスト装置100は、複数の論理ユニット(複数の論理的な記憶装置に相当)を有する外部記憶装置200がホスト装置100に接続された場合であっても、複数の論理ユニットのなかから1つの適切な論理ユニットを選択することができる。そして、ホスト装置100は、選択された論理ユニットをホスト装置100の外部記憶装置として使用することができる。
なお、実施形態1では、ホスト装置100及び外部記憶装置200がUSB規格に準拠した通信装置である場合を説明した。しかしながら、ホスト装置100及び外部記憶装置200は、USB規格以外の通信規格に準拠した通信装置であってもよい。例えば、ホスト装置100及び外部記憶装置200は、無線LANなどの無線通信規格に準拠した通信装置であってもよい。この場合、ケーブル300は省略できる。
また、実施形態1では、ホスト装置100がUSBホストとして動作することができる電子機器である場合を説明した。しかしながら、ホスト装置100は、USBホストとして動作することができる電子機器以外の電子機器であってもよい。この場合、外部記憶装置200は、USBデバイスとして動作することができる電子機器以外の電子機器である。
また、実施形態1では、ケーブル300がUSB規格に準拠した通信ケーブルである場合を説明した。しかしながら、ケーブル300は、USB規格以外の通信規格に準拠した通信ケーブルであってもよい。
また、実施形態1における条件C1及び条件C2は、ユーザが変更できるようにしてもよい。
また、実施形態1では、ホスト装置100が複数の論理ユニットのなかから所定の条件を満たす1つの適切な論理ユニットを選択する場合を説明した。しかしながら、ホスト装置100は、複数の論理ユニットのなかから条件C3を満たす2つ以上の論理ユニットを選択するように構成してもよい。この場合、条件C3は、外部記憶装置200が有する複数の論理ユニットのすべてが選択されないように設定するのが望ましい。そしてこの場合、ホスト装置100は、条件C3を満たす2つ以上の論理ユニットとホスト装置100との間で接続を確立するように動作する。
[実施形態2]
実施形態1で説明した様々な機能及び処理は、パーソナルコンピュータ、マイクロコンピュータ、CPU(Central Processing Unit)などがプログラムを用いて実現することもできる。以下、実施形態2では、パーソナルコンピュータ、マイクロコンピュータ、CPUなどを「コンピュータX」と呼ぶ。また、実施形態2では、コンピュータXを制御するためのプログラムであって、実施形態1で説明した様々な機能及び処理を実現するためのプログラムを「プログラムY」と呼ぶ。
実施形態1で説明した様々な機能及び処理は、コンピュータXがプログラムYを実行することによって実現される。この場合において、プログラムYは、コンピュータ読み取り可能な記憶媒体を介してコンピュータXに供給される。実施形態2におけるコンピュータ読み取り可能な記憶媒体は、ハードディスク装置、光ディスク、CD−ROM、CD−R、メモリカード、ROM、RAMなどの少なくとも一つを含む。また、実施形態2におけるコンピュータ読み取り可能な記憶媒体は、non−transitory(非一時的)な記憶媒体である。
100 ホスト装置(USBホスト)
200 外部記憶装置(USBデバイス)
300 ケーブル

Claims (12)

  1. 外部記憶装置と通信するための通信手段と、
    前記外部記憶装置が有する論理ユニットの数と、前記外部記憶装置が有する論理ユニットの属性とを前記外部記憶装置から取得する取得手段と、
    前記外部記憶装置が複数の論理ユニットを有する場合は、前記外部記憶装置が有する複数の論理ユニットの中から第1の条件及び第2の条件のいずれか一つを満たす一つの論理ユニットを選択し、選択された一つの論理ユニットとの接続を確立するための処理を行う制御手段と
    を有し、
    前記第1の条件は、記憶領域のサイズが最も大きい論理ユニットであって、論理ユニットの属性が書き込み可能であることとし、
    前記第2の条件は、最初に発見された論理ユニットであって、論理ユニットの属性が書き込み可能であることとすることを特徴とする電子機器。
  2. 前記取得手段は、Mode Senseコマンドを用いて、前記外部記憶装置が有する論理ユニットのアクセス属性を前記外部記憶装置から取得することを特徴とする請求項に記載の電子機器。
  3. 前記取得手段は、Get Max LUNコマンドを用いて、前記外部記憶装置が有する論理ユニットの数を前記外部記憶装置から取得することを特徴とする請求項1又は2に記載の電子機器。
  4. 前記第1の条件及び前記第2の条件のいずれか一つをユーザに選択させるための選択手段をさらに有することを特徴とする請求項1から3のいずれか1項に記載の電子機器。
  5. 前記選択された一つの論理ユニットは、論理的な記憶装置に相当することを特徴とする請求項1から4のいずれか1項に記載の電子機器。
  6. 前記電子機器は、USB(Universal Serial Bus)規格に準拠した通信装置であることを特徴とする請求項1から5のいずれか1項に記載の電子機器。
  7. 前記電子機器は、USBホストとして動作可能な電子機器であることを特徴とする請求項1から6のいずれか1項に記載の電子機器。
  8. 外部記憶装置と通信するための通信手段と、
    前記外部記憶装置が有する論理ユニットの数と、前記外部記憶装置が有する論理ユニットの属性とを前記外部記憶装置から取得する取得手段と、
    前記外部記憶装置が複数の論理ユニットを有する場合は、前記外部記憶装置が有する複数の論理ユニットの中から第1の条件及び第2の条件のいずれか一つを満たす一つの論理ユニットを選択し、選択された一つの論理ユニットとの接続を確立するための処理を行う制御手段
    としてコンピュータを機能させるためのプログラムであって、
    前記第1の条件は、記憶領域のサイズが最も大きい論理ユニットであって、論理ユニットの属性が書き込み可能であることとし、
    前記第2の条件は、最初に発見された論理ユニットであって、論理ユニットの属性が書き込み可能であることとするプログラム。
  9. 前記取得手段は、Mode Senseコマンドを用いて、前記外部記憶装置が有する論理ユニットのアクセス属性を前記外部記憶装置から取得することを特徴とする請求項8に記載のプログラム。
  10. 前記取得手段は、Get Max LUNコマンドを用いて、前記外部記憶装置が有する論理ユニットの数を前記外部記憶装置から取得することを特徴とする請求項8又は9に記載のプログラム。
  11. 請求項8から10のいずれか1項に記載のプログラムであって、
    前記コンピュータを、前記第1の条件及び前記第2の条件のいずれか一つをユーザに選択させるための選択手段として機能させるためのプログラム。
  12. 前記選択された一つの論理ユニットは、論理的な記憶装置に相当することを特徴とする請求項8から11のいずれか1項に記載のプログラム。
JP2012001330A 2012-01-06 2012-01-06 電子機器及びプログラム Expired - Fee Related JP5963445B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012001330A JP5963445B2 (ja) 2012-01-06 2012-01-06 電子機器及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012001330A JP5963445B2 (ja) 2012-01-06 2012-01-06 電子機器及びプログラム

Publications (2)

Publication Number Publication Date
JP2013142909A JP2013142909A (ja) 2013-07-22
JP5963445B2 true JP5963445B2 (ja) 2016-08-03

Family

ID=49039471

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012001330A Expired - Fee Related JP5963445B2 (ja) 2012-01-06 2012-01-06 電子機器及びプログラム

Country Status (1)

Country Link
JP (1) JP5963445B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6356970B2 (ja) * 2014-01-17 2018-07-11 キヤノン株式会社 記録装置、及び記録装置の制御方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004094493A (ja) * 2002-08-30 2004-03-25 Canon Inc 記憶媒体処理装置およびその制御方法
JP2005346456A (ja) * 2004-06-03 2005-12-15 Hitachi Ltd 計算機システム及び入出力装置の追加方法
JP2008090539A (ja) * 2006-09-29 2008-04-17 Toshiba Corp メモリカード、周辺装置及び主装置
CN101452369B (zh) * 2007-11-29 2012-01-25 国际商业机器公司 用于控制usb大容量存储设备的逻辑单元的方法和系统
JP2010039970A (ja) * 2008-08-08 2010-02-18 Canon Inc 周辺装置及び周辺装置接続方法
JP5129691B2 (ja) * 2008-08-22 2013-01-30 株式会社バッファロー メモリカード、並びにメモリカード制御装置およびメモリカード制御方法
JP2010262335A (ja) * 2009-04-30 2010-11-18 Y E Data Inc コンピュータウィルス感染防止機能付き外部メモリデータ読込装置及びコンピュータウィルス感染防止機能付き外部メモリデータ読込方法

Also Published As

Publication number Publication date
JP2013142909A (ja) 2013-07-22

Similar Documents

Publication Publication Date Title
JP4893130B2 (ja) 情報処理装置、データ処理方法およびプログラム
US9967473B2 (en) Information processing apparatus, information processing method, and program
US20150146019A1 (en) Communication control apparatus and method for controlling the same
US10204654B2 (en) Storage device, information processing system, authentication method, and non-transitory computer readable medium
CN102137255B (zh) 一种便携式解码器、用于解码器的显示方法以及显示系统
JP5963445B2 (ja) 電子機器及びプログラム
JP2016513301A (ja) 画像形成装置及び外部装置との接続方法
US11720624B2 (en) Storage device, electronic system including storage device, and control program for storage device
US20220279112A1 (en) Image capturing apparatus, control method of image capturing apparatus, device, and control method of device
EP1470471B1 (en) Storage apparatus and control method
US20130198417A1 (en) Electronic apparatus
JP5930778B2 (ja) 通信装置、その制御方法、プログラム
JP2018207421A (ja) 通信装置
JP2008141725A (ja) 撮影装置及びその撮影装置に用いるファイル管理方法
US10187468B2 (en) Information communication apparatus, information communication method and program storage medium
JP2012048292A (ja) 情報処理装置、その表示制御方法、及び表示制御プログラム
JP2016174221A (ja) 通信装置、通信システム及び通信方法
JP2008300946A (ja) 画像処理装置およびデータ処理プログラム
US11968469B2 (en) Computing apparatus, image capturing apparatus, control method, and storage medium
JP2010178360A (ja) 撮像装置
JP2013142937A (ja) 電子機器及び制御方法
JP2010141815A (ja) 通信装置及びその制御方法
JP2016174220A (ja) 通信装置、通信システム及び通信方法
JP2014115792A (ja) 電子機器、電子機器の制御方法、電子機器の制御プログラム
JP5574633B2 (ja) ファイル処理装置及びその制御方法、並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160112

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160531

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160628

R151 Written notification of patent or utility model registration

Ref document number: 5963445

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees