JP4622770B2 - 通信システム、情報処理装置、周辺装置、及び通信方法 - Google Patents

通信システム、情報処理装置、周辺装置、及び通信方法 Download PDF

Info

Publication number
JP4622770B2
JP4622770B2 JP2005272379A JP2005272379A JP4622770B2 JP 4622770 B2 JP4622770 B2 JP 4622770B2 JP 2005272379 A JP2005272379 A JP 2005272379A JP 2005272379 A JP2005272379 A JP 2005272379A JP 4622770 B2 JP4622770 B2 JP 4622770B2
Authority
JP
Japan
Prior art keywords
data
communication
peripheral device
inquiry
information processing
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
JP2005272379A
Other languages
English (en)
Other versions
JP2007086905A (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.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2005272379A priority Critical patent/JP4622770B2/ja
Priority to US11/533,078 priority patent/US8051221B2/en
Priority to EP06254877A priority patent/EP1770538B1/en
Priority to DE602006003711T priority patent/DE602006003711D1/de
Priority to CNB2006101389544A priority patent/CN100447733C/zh
Priority to US11/691,273 priority patent/US7797398B2/en
Priority to US11/693,419 priority patent/US7869074B2/en
Publication of JP2007086905A publication Critical patent/JP2007086905A/ja
Application granted granted Critical
Publication of JP4622770B2 publication Critical patent/JP4622770B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、メモリーカードなどの記録メディアを挿入するスロットを備えた周辺装置と、該周辺装置が接続されるパーソナルコンピュータ(以下「PC」と略称する)等の情報処理装置との間で、SCSI(Small Computer System Interface)コマンドに基づいてデータ通信を行う通信システムに関する。
近年、フラッシュメモリなどの不揮発性メモリがカード型にパッケージングされた所謂メモリーカード(記録メディアの一例)が広く知られている。このメモリーカードは、デジタルカメラや携帯音楽プレーヤーなどのデジタル機器に用いられるデータの記憶媒体として急速に普及している。メモリーカードの仕様は統一されておらず、例えば、コンパクトフラッシュ(登録商標、以下「CF」と略称する)、スマートメディア(登録商標、以下「SM」と略称する)、メモリースティック(登録商標、以下「MS」と略称する)、SDメモリーカード(登録商標、以下「SD」と略称する)など、種々のものが市場に出回っている。
上記メモリーカードは、PCなどに接続されてメモリーカードの読み書きを行なうメモリーカードリーダライタ(周辺装置の一例、以下「リーダライタ」と略称する)を用いることで、PCから上記メモリーカードへのアクセスが可能となる。これにより、PCとメモリーカードとの間でデータ通信が行えるようになる。こうしたリーダライタには、メモリーカードを挿入するスロットを一つ備えたシングルスロットタイプと、複数のスロットを備えて複数のメモリーカードに対するデータの読み書きが可能なマルチスロットタイプなどがある(特許文献1乃至3参照)。
リーダライタを用いてメモリーカードに記憶されたデータの読み書きをPCから行うには、リーダライタの認識及び挿入されたメモリーカードへのアクセスを可能とするためのドライバソフトをPCにインストールする必要がある。一方、近年は、煩雑なインストール作業の負担を軽減するため、PCのオペレーションシステム(以下「OS」と略称する)に各種のリーダライタやメモリーカードに対応するドライバソフトが標準でプレインストールされている。他方、シングルスロットタイプよりも遅れて開発されたマルチスロットタイプが市場に出回るより以前の古いバージョンのWindows98や2000(Windowsは登録商標)などのOS(以下「下位OS」と称する)を備えたPCでは、マルチスロットタイプに対応する専用ドライバソフトがプレインストールされていない。そのため、従来通り、対応する専用ドライバソフトをユーザ自身でインストールする必要がある。仮に、上記専用ドライバをインストールしないままで、下位OSを備えたPCにマルチスロットタイプのリーダライタ(以下「マルチリーダライタ」と称する)を接続した場合は、予め定められた一つのスロットにしかアクセスすることができないようになっている。
ところで、PCとリーダライタとの間で行われるデータ通信、換言すれば、PCとメモリーカードとの間で行われるデータ通信に用いられる通信プロトコルは、該データ通信がSCSI規格で定義されたSCSIコマンドに基づいて行われるように設計されている例が多い。SCSI規格は、ANSI(American National Standard Institute;米規格協会)によって規格化され、国際的に広く準拠されている通信プロトコルであり、上記SCSIコマンドは該SCSI規格で定められているコマンド用語である。このような通信プロトコルは、PC及びリーダライタの汎用性を高めることができるため、広く用いられている。なお、以下の説明において、SCSI規格とは主としてSCSI−2を示すものとする。
以下に、図13を用いて、SCSIコマンドに基づいて、PC3と、USB−I/F78を介して該PC3とUSB接続されたリーダライタ77との間で行われるデータ通信について簡単に説明する。ここに、図13はPC3上で動作するOS70(ここではWindows2000とする)及び該OS70上で動作するアプリケーションを説明するための概念図である。OS70は、GUI(Graphical User Interface)71とファイルシステム72とOSカーネル73を備えてその基幹システムが構成されている。GUI71は、コンピュータグラフィックスとマウスなどのポインティングデバイスを用いてユーザの入力操作を実現するユーザインターフェースであり、ファイルシステム72は、コンピュータ内部でファイルやフォルダを用いてデータを管理する方式及びその管理システムである。また、OSカーネル73はアプリケーションや周辺機器を監視する等の基本機能を実装したソフトウェアである。なお、PC3には、リーダライタ77へのアクセスが可能なようにドライバソフト74が予めインストールされており、該ドライバソフト74はモジュール化された状態でOSカーネル73に実装されている。
図示するように、リーダライタ77へアクセスするためのアプリケーションの一例であるエクスプローラ75とR/Wアプリケーション76とがPC3上で起動されると仮定する。エクスプローラ75は周知の如く、ファイルやフォルダを管理するためのものである。エクスプローラ75はOS70のシステムに準拠して作成されており、一般には、OS70の一機能として認識されている。従って、エクスプローラ75はファイルシステム72を介してリーダライタ77と通信する。一方、R/Wアプリケーション76は、例えばリーダライタ77の製造メーカが開発した独自のアプリケーションソフトであって、リーダライタ77に挿入された記録メディアに対してデータを書き込む処理或いはデータを読み出す処理を行うものである。一般に、R/Wアプリケーション76は、ファイルシステム72の仕様が公開されていないため、OS70には準拠せずに作成される。
まず、エクスプローラ75からリーダライタ77にアクセスする場合について説明する。OS70が起動され、それと共にエクスプローラ75が起動されると、エクスプローラ75によって、Inquiryコマンド(SCSIコマンドの一例)がファイルシステム72を介してOSカーネル73に発行される。なお、Inquiryコマンドを含み全てのSCSIコマンドは、OSカーネル73において仮想的に設けられたSCSIコマンド処理入口79に対して発行されるようになっている。上記Inquiryコマンドが発行されると、リーダライタ77からその型式やデバイス名、SCSI−ID、LUNの有無、メモリーカードの種別などの構成情報が返信される。これにより、リーダライタ77が認識される。リーダライタ77が認識されると、GUI71によってエクスプローラ75上にリーダライタ77のドライブアイコンが生成される。そして、ユーザがマウスなどを用いて上記ドライブアイコンにアクセスするなどして、データの読出指示が入力されると、エクスプローラ75はファイルシステム72に働きかけて、OSカーネル73に対してReadコマンド(SCSIコマンドの一例)を発行させる。一方、同様に、書込指示を入力すると、OSカーネル73に対してWriteコマンド(SCSIコマンドの一例)を発行させる。これらのコマンドデータがUSBなどのI/Fを介してリーダライタ77に転送され、該コマンドに従った読み出し若しくは書き込みがリーダライタ77側で実行される。なお、上記InquiryコマンドはPC3にリーダライタ77が接続されたときや、リーダライタ77が接続された状態でPC3の電源がリセットされたときにも発行される。
次に、R/Wアプリケーション76からリーダライタ77にアクセスする場合について説明する。R/Wアプリケーション76が起動されると、OSカーネル73に対してR/Wアプリケーションにのみデータバスを開放する要求が出される。OSカーネル73はこの要求を受けてR/Wアプリケーション76にデータバスを占有させる。換言すれば、ファイル72からSCSIコマンド処理入口79に対して発行されたSCSIコマンドを該SCSIコマンド処理入口79で受け入れないようにする。従って、R/Wアプリケーション76の起動中は、ファイルシステム72はリーダライタ77へアクセスできなくなる。また、R/Wアプリケーション76が起動されると、GUI71によってR/Wアプリケーション76でプログラムされた入力画面(ユーザインターフェース画面)がディスプレイ上に表示される。また、ドライバソフト74によって、InquiryコマンドがOSカーネル73に発行されて、リーダライタ77の型式やデバイス名などの構成情報が取得される。これにより、リーダライタ77が認識される。その後、ドライバソフト74によってOSカーネル73に対して出されたReadコマンドやWriteコマンドに従って、リーダライタ77側でデータの読み出し若しくは書き込みが実行される。
なお、リーダライタ77の認識は次のようにして行われる。即ち、まず、OSカーネル73に対してInquiryコマンドを発行した際に生成されるInquiryデータをリーダライタ77に送信する。該Inquiryデータを受信したリーダライタ77側では、Inquiryデータに含まれる種々の情報を参照して、該情報に従った構成情報を生成し、該構成情報を含むStandard-InquiryデータをPCへ返信する。この返信されたStandard-Inquiryデータに基づき、リーダライタ77が認識される。
特開2005−18645号公報 特開2005−107875号公報
上述したように、R/Wアプリケーション76が起動されると、データバスがR/Wアプリケーション76に占有され、エクスプローラ75によるファイルシステム72を介するリーダライタ77との通信ができなくなる。このとき、リーダライタ77に挿入されていたメモリーカードが別のものに交換されると、交換されたことを示す情報がリーダライタ77の内部メモリに記憶される。実際には、所定のビットフラグがオンされる(つまり所定のビットが“0”から“1”に変えられる)。該ビットフラグがオンの場合は、R/Wアプリケーション76から発行されるSCSIコマンド(ReadコマンドやWriteコマンドなど)は、原則として受け入れられずに失敗させられる。ただし、例外として、Inquiryコマンド等の特別なコマンドは拒否されずに受け入れられる。
上記SCSIコマンドが失敗させられると、R/Wアプリケーション76からInquiryコマンドが発行されて、交換後のメモリーカードの情報が新たに取得される。そして、該Inquiryコマンドを受け入れたリーダライタ77側では、R/Wアプリケーション76によってメモリーカードの情報が取得されると、上記ビットフラグがオフされる(つまり所定のビットが“1”から“0”に変えられる)。これにより、メモリーカードのクラッシュなどを発生させることなく、R/Wアプリケーション76からリーダライタ77へのアクセスが可能となる。
一方、上記ビットフラグが下げられた後にR/Wアプリケーション76がダウンされると(閉じられると)、R/Wアプリケーション76によるデータバスの占有が解除される。即ち、エクスプローラ75によってファイルシステム72を介して発行されたSCSIコマンドがSCSIコマンド処理入口79で受け入れられるようになる。これにより、エクスプローラ75によるリーダライタ77へのアクセスが可能となる。しかしながら、エクスプローラ75やファイルシステム72は交換後のメモリーカードの情報を取得していないため、エクスプローラ75によってReadコマンドやWriteコマンド発行されて、これがリーダライタ77に受け入れられると、エクスプローラ75は交換前のメモリーカードの情報(メモリーカードの種別、データ構成、データ量などの情報)に基づき交換後のメモリーカードにアクセスすることになる。その際、メモリーカード内のデータが破壊され、或いはメモリーカードがクラッシュするといった問題が生じるおそれがある。従来は、新たにリーダライタ77の構成情報を取得させるべく強制的にリーダライタ77をリセットさせたり、メモリーカードをイジェクトさせるといった煩雑な手順を踏むことにより上記問題を回避していた。
また、上述したデータ通信は、リーダライタ77のスロットに装填されたメモリーカードとの間で行われるものである。従って、このデータ通信によれば、PC3とメモリカードとの間でデータの送受信が可能となる。しかしながら、上述のデータ通信では、メモリーカードを除くリーダライタ77の付属機器、例えば、リーダライタ77に設けられた液晶表示部やスイッチなどに対して、従来のOSの仕様の範囲内では、所望するデータの送受信をすることができないという問題があった。
そこで、従来から、R/Wアプリケーション76の起動中に上記ビットフラグをオンさせたままで、R/Wアプリケーション76からリーダライタ77へのデータの送受信を可能とする通信技術や、ドライブ認識されるメモリカードなどのストレージ以外の付属機器とのデータの送受信を可能とする通信技術の確立が強く望まれていた。
本発明は、上記事情に鑑みてなされたものであり、その目的とするところは、SCSI規格の範囲内で、リーダライタなどの周辺装置に対して発行されるSCSIコマンドが該周辺装置に原則拒否される状態を維持しつつ、周辺装置と情報処理装置との間でデータ通信を可能にする通信システムを提供することにある。
(1)本発明は、スロットに挿入された記録メディアに対し読み取り又は書き込みのいずれか一方又は双方を行う周辺装置と、該周辺装置と接続される情報処理装置との間で、SCSI規格で定義されるSCSIコマンドに基づいてデータ通信を行う通信システムであって、情報処理装置は、当該情報処理装置のOSカーネルに対してInquiryコマンドを発行することにより生成されるInquiryデータにおいて、上記Inquiryデータを構成するアロケーション長領域に予め確保された空き領域に通信データを付加する付加手段と、上記付加手段により上記通信データが付加されたInquiryデータを上記周辺装置に送信する送信手段と、を備え、周辺装置は、上記送信手段により送信されたInquiryデータを受信する受信する受信手段と、受信したInquiryデータに付加された通信データを抽出する抽出手段と、を備え、上記周辺装置において上記記録メディアに割り当てられるアロケーション長が上記アロケーション長領域に記述可能な最大バイト数未満に予め設定されてなる通信システムである。
SCSIコマンドに基づいてデータ通信を行う通信システムでは、情報処理装置に対して周辺装置が接続された場合や情報処理装置と周辺装置とが接続された状態において電源がリセットされた場合は、情報処理装置は周辺装置の構成情報(装置の型式、デバイス名、SCSI−ID、LUDなど)を取得するために、OSカーネルに対してInquiryコマンドを発行して、Inquiryデータを周辺装置に送信する。一方、Inquiryデータを受信した周辺装置は、Inquiryデータに含まれる種々の情報を参照して、該情報に従った構成情報を含むStandard-Inquiryを情報処理装置に返信する。
このInquiryデータに予め空き領域を確保しておき、この空き領域に任意の通信データを付加したうえで、Inquiryデータを上記周辺装置に送信する。そして、周辺装置において、受信したInquiryデータに付加された通信データが抽出される。これにより、情報処理装置から周辺装置へのデータの転送が実現される。
現在のSCSI規格では、アロケーション長領域は8ビット列又は16ビット列からなるものと定められている。この領域は、周辺装置に挿入された記録メディアにデータを記憶するためのメモリ領域のデータ長を記述するところであって、他の領域に較べるとビット幅も大きく、変更の可能な領域であるため、通信データを付加する領域として好適である。
例えば、アロケーション長領域が8ビット列である場合は、該領域に記述可能な最大の数値情報は、10進数表記で(255)10である。なお、16進数表記では(0xFF)16となる。
上記記録メディアに割り当てられるアロケーション長が(255)10よりも小さい数値であれば、該数値より大きい数値はアロケーション長を示す情報としては使用されないので、この使用されない領域を空き領域として好適に用いることが可能となる。
(2)また、本発明の通信システムにおいて、周辺装置は、上記Inquiryデータの受信に応じて生成される当該周辺装置のVPDに上記通信データに対応する返信データを書き込んだ後に、上記VPDを情報処理装置に返信する返信手段を備えてなるものである。
Inquiryデータを受信すると、Inquiryデータの内容如何によって、周辺装置から情報処理装置に対してVPD(Vital Product Data)を返信するようになっている。VPDを返信する際に、VPDの空き領域に周辺装置から情報処理装置への通信データを書き込んでおくことにより、周辺装置から情報処理装置へのデータの転送が実現される。
(3)上記付加手段が、Inquiryデータを構成する1ビット列からなるEVPD(Enable Vital Product Data)領域に“1”が設定されている場合に、上記空き領域に通信データを付加するものであることが望ましい。
現在のSCSI規格では、上記EVPD領域は1ビット列からなるものと定められている。また、SCSI規格では、Inquiryコマンドを発行させて、周辺装置の構成情報を取得する場合は、上記EVPD領域を“0”に設定するように定められている。一方、EVPD領域に“1”が設定されている場合は、VPD情報を周辺装置から情報処理装置へ転送するオプション機能が働く旨がSCSI規格書に記述されている。しかし、上記オプション機能は、実際にはほとんど活用されていないことが経験的に知得されている。そこで、本発明では、EVPD領域に“1”が設定された場合に、上記空き領域に通信データを付加するようにしている。これにより、Inquiryデータによる周辺装置の構成情報を取得する場合とInquiryデータによるデータの通信を行う場合とを区別している。
(4)ここで、上記アロケーション長領域がnビット列からなる場合に、上記周辺装置において上記記録メディアに割り当てられるアロケーション長が(n−1)ビット列以下で表現されるバイト数に予め設定されてなることが好ましい。
例えばアロケーション長領域が8ビット列であって、上記周辺装置におけるアロケーション長が10進数表記で(127)10に予め設定されている場合は、この(127)10という数値は7ビットで表現可能であるため、上記アロケーション長領域のうちの7ビットは(127)10を表現するために使用される。しかし、残りの1ビットは使用されないままとなる。この場合、残りの1ビットを有効に利用することにより、アロケーション長領域に最大7ビットの空き領域を確保することができる。
(5)情報処理装置が、周辺装置との間でSCSIコマンドに基づくデータ通信を占有して行うアプリケーションと、周辺装置に挿入された記録メディアに格納されるデータを管理するファイルシステムとが動作可能な環境にある場合に、上記付加手段が、上記ファイルシステムによる上記記録メディアに対するデータの管理処理中に、上記アプリケーションによってInquiryコマンドが発行された際に生成されるInquiryデータにおいて予め確保された上記空き領域に通信データを付加するものであることが考えられる。
一般に、ファイルシステムと記録メディアとのデータ通信、即ち、ファイルシステムと周辺装置との通信が継続している場合は、その通信が終了しない限り他のアプリケーションによる周辺装置との通信は禁止される。逆の場合も同様である。これは、先に成立された通信にエラーなどを生じさせないために、原則として、他のアプリケーションから発行されたコマンドを周辺装置が受け入れないようにシステム構成されているからである。ただし、この場合であっても、例外的に、Inquiryコマンドは周辺装置に受け入れられるようになっており、そのようにSCSI規格で定められている。従って、通信データが付加されたInquiryデータを周辺装置との間で送受信することにより、例えばファイルシステムと周辺装置との通信が継続している場合でも、他のアプリケーションによる周辺装置とのデータ通信を行うことが可能となる。
(6)また、上記周辺装置と上記情報処理装置とがUSB接続するものであれば、本発明の通信システムが好適に実現され得る。
(7)また、本発明は、上記通信システムを構成する情報処理装置として捉えることもできる。即ち、スロットに挿入された記録メディアに対し読み取り又は書き込みのいずれか一方又は双方を行う周辺装置と接続可能に構成され、該周辺装置との間でSCSI規格で定義されるSCSIコマンドに基づいてデータ通信を行う情報処理装置であって、当該情報処理装置のOSカーネルに対してInquiryコマンドを発行することにより生成されるInquiryデータにおいて、上記Inquiryデータを構成するアロケーション長領域に予め確保された空き領域に通信データを付加する付加手段と、上記付加手段により上記通信データが付加されたInquiryデータを上記周辺装置に送信する送信手段と、を具備してなるものであってもよい。
(8)また、本発明は、上記通信システムを構成する情報処理装置として捉えることもできる。即ち、スロットに挿入された記録メディアに対し読み取り又は書き込みのいずれか一方又は双方を行う周辺装置と、該周辺装置と接続される情報処理装置との間で、SCSI規格で定義されるSCSIコマンドに基づいてデータ通信を行う通信システムを構成する上記周辺装置であって、Inquiryデータにおいて予め確保された空き領域に通信データが付加された状態で上記情報処理装置から送信されたInquiryデータを受信する受信手段と、受信したInquiryデータに付加された通信データを抽出する抽出手段と、を具備し、上記記録メディアに割り当てられるアロケーション長が上記Inquiryデータを構成するアロケーション長領域に記述可能な最大バイト数未満に予め設定されてなるものであってもよい。
(9)この場合、上記Inquiryデータの受信に応じて生成される当該周辺装置のVPDに上記通信データに対応する返信データを書き込んだ後に、上記VPDを情報処理装置に返信する返信手段を備えてなることが望ましい。
(10)また、上記情報処理装置との効率の良い通信を実現するべく、本発明の周辺装置において、上記情報処理装置とUSB接続するUSB接続手段を備えてなることが好ましい形態である。
(11)また、スロットに挿入された記録メディアに対し読み取り又は書き込みのいずれか一方又は双方を行う周辺装置と、該周辺装置と接続される情報処理装置との間で、SCSI規格で定義されるSCSIコマンドに基づいてデータ通信を行う通信方法であって、情報処理装置のOSカーネルに対してInquiryコマンドを発行することにより生成されるInquiryデータにおいて、上記Inquiryデータを構成するアロケーション長領域に予め確保された空き領域に通信データを付加する付加工程と、上記通信データが付加されたInquiryデータを上記情報処理装置から上記周辺装置に送信する送信工程と、送信されたInquiryデータを受信する受信工程と、受信したInquiryデータに付加された通信データを抽出する抽出工程と、を具備し、上記周辺装置において上記記録メディアに割り当てられるアロケーション長が上記アロケーション長領域に記述可能な最大バイト数未満に予め設定されてなる通信方法として本発明を捉えてもよい。
SCSIコマンドに基づいてデータ通信を行う本通信システムによれば、Inquiryデータ中に予め空き領域を確保しておき、この空き領域に任意の通信データを付加したうえで、Inquiryデータを情報処理装置から周辺装置へ送信し、そして、周辺装置において、受信したInquiryデータに付加された通信データが抽出される。これにより、Inquiryコマンドを除くSCSIコマンドが該周辺装置に原則拒否される状態を維持したままで、換言すれば、記録メディアが交換されたことを示すフラグがオンされたままで情報処理装置と周辺装置とのデータ通信が実現される。また、特別なカーネルドライバ等のドライバソフトがインストールされていないアプリケーションから周辺装置へのデータ通信が可能となる。
〔第1の実施形態〕
以下、適宜図面を参照して本発明の第1の実施形態に係る通信システム1について説明する。図1は通信システム1に適用されるマルチリーダライタ2(周辺装置の一例)の斜視図、図2はマルチリーダライタ2の概略構成を示すブロック図、図3は通信システム1に適用されるPC3(情報処理装置の一例)の概略構成を示すブロック図である。なお、以下に説明する通信システム1の構成は、本発明を具現化するための単なる一例であり、本発明の要旨を変更しない範囲で構成を適宜変更できることは当然である。
図1(a)に示すように、マルチリーダライタ2は、その前面に、第1メモリーカード11(例えばCF)を挿入するための第1スロット16と、第2メモリーカード11(例えばSM)を挿入するための第2スロット17と、第3メモリーカード13(例えばMS)を挿入するための第3スロット18と、第4メモリーカード14(例えばSD)を挿入するための第4スロット19とを備えている。ここに、第1〜第4のメモリーカード11〜14はいずれも本発明の記憶メディアの一例である。なお、本実施形態では、周辺装置としてマルチリーダライタ2を例示して説明するが、シングルスロットタイプのリーダライタにも適用可能である。また、CFやSMなどのメモリーカードに代えてCD−ROM或いはDVD−ROMなどの磁気ディスクメディアを記録メディアとする場合は、該磁気ディスクメディアを単数或いは複数挿入可能な挿入部を備えてなる所謂チェンジャーCD−ROMドライブやチェンジャーDVD−ROMドライブが周辺装置となる。該周辺装置を備えて構成された通信システムにも本発明は適用可能である。
マルチリーダライタ2の上面には、所定の情報を表示する液晶表示部21が設けられている。該液晶表示部21はマルチリーダライタ2内に格納された文字情報を表示させるためのものである。なお、液晶表示部21に代えてLED表示器等を適用してもよい。本実施形態では、上記液晶表示部21への文字情報の表示出力は、PC3からの指示に従って行われる。
マルチリーダライタ2の側面には、内部の接点をA側或いはB側のいずれかに切り換えるための切換スイッチ22が設けられている。切換スイッチ22の突起部23が上下方向に移動されることにより、該突起部23の内部側に設けられた導電部がA側接点或いはB側接点のいずれかに接触して、接点が切り換えられる。切換スイッチ22は、液晶表示部21の表示内容を切り換えるためのものであり、本実施形態では、突起部23がA側に切り換えられると、液晶表示部21の表示内容が現在の時刻に変更され、B側に切り替えられると、所定のメッセージに切り換えられるものとする。もちろん、液晶表示部21の表示内容やその切換手法は適宜変更可能である。本実施形態では、上記切換スイッチ22がいずれに切り換えられているかの検出は、PC3からの指示に従って行われる。
マルチリーダライタ2の背面には、図1(b)及び図2に示すように、USBケーブル25(図2参照)を接続するためのUSB端子24が設けられている。USB端子24及びUSBケーブル25は、PC3とマルチリーダライタ2との間でSCSIコマンドに基づくデータ通信を可能にするためのものであり、SCSI規格に準拠する仕様となっている。従って、上記USB端子24に代えてIEEE1394コネクタ端子などを適用することも可能である。なお、本実施形態では、SCSI規格としてSCSI−2を取り上げて説明するが、言うまでもなく、所謂SCSI−1或いはSCSI−3と称される改訂規格についても本発明は適用され得る。
図2に示すように、マルチリーダライタ2は、その内部に、各構成部を制御するCPU27と、制御プログラムや種々のデータ等を格納するROM28と、液晶表示部21に表示される所定の情報に関するデジタルデータなどを一時的に記憶し或いはCPU27による演算の作業領域となるRAM29と、液晶LSI30と、入出力制御LSI31と、USBチップ32とを備え、これらがバス33を介して相互にデータ転送が可能なように接続されている。液晶LSI30は、液晶表示部21の表示内容が所定の情報となるように液晶を駆動させるドライバである。マルチリーダライタ2は、該マルチリーダライタ2が接続されるPC3との間でSCSIコマンドに基づくデータ通信を行うものである。従って、ROM28に格納された制御プログラムはSCSI規格で定められる通信プロトコルに基づいて作成されている。なお、本発明の受信手段、抽出手段、返信手段は、上記制御プログラムに従った所定の処理を行うCPU27によって具現化される。本実施形態では、RAM29に液晶表示部21に表示される情報が格納される例について説明するが、もちろん、液晶表示用として別にRAMなどの半導体メモリを設けてもかまわない。
液晶表示部21に表示される所定の情報は、メッセージ情報や時刻情報などを示す文字列情報である。文字列情報とは、複数の文字や数字、記号などが列なった情報である。RAM29には、上記文字列情報が格納される記憶領域が確保されている。この記憶領域は、128バイトごとに区分けされた複数の文字列記憶領域に分けられて管理されており、それぞれの文字列記憶領域には、該文字列記憶領域を識別するための識別番号(以下「文字列番号」と称する)が割り当てられているものとする。
入出力制御LSI31は、第1〜第4スロット16〜19のそれぞれに挿入される第1〜第4メモリーカード11〜14に対するデータの入出力を制御するためものである。USBチップ32は、USB規格に基づいてUSBケーブル25におけるデータ伝送を制御するコントローラである。なお、USB端子24に接続されたUSBケーブル25の他方端がPC3とデータ通信可能に接続されることにより、通信システム1が構築される。
ROM28には、PC3から送信されたデータを解析するために用いられる解析データがテーブルリスト化された状態で格納されている。なお、後段において説明する表6及び表7に上記解析データを示す。
マルチリーダライタ2では、挿入されたメモリーカードに対してデータの読み書きを行う場合は、該メモリーカードからデータを読み出すために使用するメモリ領域或いは該メモリーカードにデータを記憶するために使用するメモリ領域の割り当てが行われる。この割り当てられるメモリ領域のデータ長はアロケーション長と呼ばれている。一般に、該アロケーション長はマルチリーダライタ2にアクセスするPC3からの指定されたデータ長に設定されるが、本発明では、マルチリーダライタ2で設定可能なアロケーション長の最大値が、PC3側から指定し得る最大数値未満に設定されている。
PC3は、図3に示すように、各構成部を制御するCPU41と、ROM42と、RAM43と、各種ソフトウェアプログラムやデータが格納されたHDD44と、ビデオコントロールLSI45と、USBチップ46と、ビデオ端子47と、複数の入出力ポートを有するUSB端子48などを備え、これらがバス49を介して相互にデータ転送が可能なように接続されている。これら各部は所謂マザーボードと呼ばれるメイン制御基板に一体的に組み込まれている。ビデオ端子51にはビデオケーブルを介してディスプレイ51が接続されている。USB端子48はUSBハブ機能を有する。このUSB端子48には、キーボード52及びマウス53等の入力手段が接続されており、更に、マルチリーダライタ2が接続されている。本発明の受信手段、付加手段及び送信手段は、上記ソフトウェアプログラムに従った所定の処理を行うCPU41によって具現化される。
また、PC3は、時計機能を有する。該時計機能により計測された時刻は、デジタルデータ化されてRAM42に格納される。該RAM42には、キーボード52等を介してユーザにより入力されたメッセージがデジタルデータ化されて格納される。なお、これらの時刻データ及びメッセージデータは、マルチリーダライタ2へ送信されて、液晶表示部21に表示出力される。
ROM42には、マルチリーダライタ2へ送信されるデータであって、マルチリーダライタ2のCPU27に所定の処理を実行させる指示データが格納されている。該指示データはテーブルリスト化された状態でHDD44又はROM42に格納されている。なお、後段において説明する表6及び表7が上記指示データに相当する。
HDD44のプログラム格納領域には、PC3のオペレーションシステムであるWindows2000のSP3(以下「OS2000」と称する)や、マルチリーダライタ2へのデータの書き込み及び読み出しを可能とするためのR/Wアプリケーションなどのソフトウェアプログラムが格納されている。これらソフトウェアプログラムがCPU41によって読み出されて所定の演算処理がなされることにより、各アプリケーションがPC3において動作可能となる。また、上記プログラム格納領域には、マルチリーダライタ2との間でSCSIコマンドに基づくデータ通信を可能とするために、SCSI規格で定められる通信プロトコルに従った通信プログラムが格納されている。なお、本実施形態では、OS2000が搭載されたPC3を例示して説明するが、Linuxシリーズ、MacOSシリーズなどのOSが搭載されたものであってもよい。もちろん、Windows2000のSP3をSP4に代替することも可能である。
本通信システム1では、後段においてフローチャート(図4〜図10)を用いて説明するように、SCSI規格で定義されるSCSIコマンドに基づいて液晶表示部21に表示されるデータの通信が行われる。従って、本通信システム1で実現されるデータ通信はSCSI規格を逸脱するものではない。一般に、SCSIコマンドに基づくデータ通信においては、データバスが他のアプリケーションなどにより占有されている場合や、マルチリーダライタ2のドライバソフトがインストールされていない場合などのように、マルチリーダライタ2側がPC3のOSカーネルから発行されるSCSIコマンドを拒否して受け入れない状態(以下「ノット・レディ状態」と称す)では、データを通信することはできない。しかし、本通信システム1では、ノット・レディ状態であっても例外的にマルチリーダライタ2に受け入れられるInquiryコマンドを用いることにより、PC3及びマルチリーダライタ2間で通信データの受け渡しを実現している。詳しくは後述するが、Inquiryコマンドが発行されたときに生成されるInquiryデータ(表1参照)に予め空き領域を確保しておき、該空き領域に通信データを付加するようにしている。このように、通信データが付加されたInquiryデータがマルチリーダライタ2で受け入れられることにより、マルチリーダライタ2への通信データの転送が可能となる。また、Inquiryデータの受信によりマルチリーダライタ2側で生成され、返信されるVPD(表2参照)に返信データを書き込むようにしている。これにより、PC3への返信データの転送が可能となる。
Figure 0004622770
Figure 0004622770
以下、図4〜図10のフローチャートを参照しながら、本通信システム1において、Inquiryデータを用いたデータ通信処理の手順の一例について説明する。本実施形態では、PC3のRAM43に格納された前記時刻データ或いは前記メッセージデータがマルチリーダライタ2に送信され、前記時刻データ或いは前記メッセージデータのいずれかが液晶表示部21に表示出力されるまでの一連の処理手順について説明する。なお、各ステップにおける処理は、PC3のCPU41或いはマルチリーダライタ2のCPU27によって各構成部が制御されることにより行われる。図中のS1,S2,…は処理手順(ステップ)番号を示す。
図4は、本通信システム1において実行されるデータ通信処理の概略手順を説明するフローチャートである。PC3にマルチリーダライタ2が接続され、各装置に電源が投入されると、まず最初に、PC3に接続されている不明なデバイスに対してドライブを割り当てるドライブ割当処理(S1)が実行される。本実施形態では、デバイスとしてマルチリーダライタ2だけが接続されているため、これのみにドライブが割り当てられる。
次に、ユーザによって選択されたドライブを通信相手として設定するドライブ設定処理(S2)が行われる。ドライブが設定されると、設定されたドライブに対応するデバイス(本実施形態ではマルチリーダライタ2)が通信相手として認識される。その後、RAM43に格納された通信データがマルチリーダライタ2に送信され(送信処理)、マルチリーダライタ2で受信された通信データを液晶表示部21に転送して該液晶表示部に表示する送信表示処理(S3)が実行される。
そして、上記送信表示処理後にカウントが開始されたタイマなどの計時手段によって、送信表示処理後から時間T1(例えば1秒)が経過したかどうかが判定される(S4)。ステップS4で、時間T1が経過したと判定された場合は(S4のYes側)、PC3に対してシステムダウンさせるための終了指示が入力されたかどうかが判定される(S5)。更にステップS5で、上記終了指示の入力がないと判定された場合は(S5のNo側)、表示内容の変更が必要かどうかの判定処理(S6)が行われ、ここで、必要であると判定された場合は(S6のYes側)、ステップS3からの処理が繰り返し行われる。一方、表示内容の変更の必要がないと判定された場合は(S6のNo側)、ステップS4からの処理が繰り返し行われる。
ステップS5で、上記終了指示が入力されたと判定された場合は(S5のYes側)、液晶表示部21に表示された情報を消去する表示消去処理(S7)が実行され、その後に一連の処理が終了する。以下、上述したドライブ割当処理(S1)、ドライブ設定処理(S2)、送信表示処理(S3)、 表示内容の変更が必要かどうかの判定処理(S6)、表示消去処理(S7)についてそれぞれ詳細に説明する。
まず、図5のフローチャートを用いて、PC3においてCPU41により実行されるドライブ割当処理(S1)について説明する。処理はステップS101から開始される。
最初に、ステップS101では、参照されるドライブ(以下「参照ドライブ」と称する)がAドライブに初期設定される(S101)。該参照ドライブは、PC3側で割り当て可能なドライブのことを意味するものであって、該ドライブが複数存在する場合はドライブの割り当て処理時に昇順で参照される。参照ドライブは、PC3のOS2000のOSカーネルで管理されている。本実施形態では、割り当て可能なドライブ数をA〜Zの26個としている。
参照ドライブが設定されると、次に、CPU41によって、ドライブが割り当てられるデバイスからStandard-Inquiryデータ(以下「S/Iデータ」と略称する)を返信させるためのInquiryコマンド(以下「Inq(0)コマンド」と称する)が参照ドライブに対して発行される(S102)。実際には、CPU41によって該Inq(0)コマンドがOSカーネルに対して発行され、該OSカーネルにおいて該Inq(0)コマンドが参照ドライブに発行されたものとして取り扱われる。そして、OSカーネルにより、EVPD領域が“0”に設定されたInquiryデータ(以下「Inq(0)データ」と称する)が生成されて、参照ドライブに関連づけられた不明デバイスに送信される。SCSI規格では、EVPD領域が“0”に設定されている場合はS/Iデータを返信するよう定義されている。ここで、本実施形態において生成されるInq(0)データの具体例を表3に示す。なお、表3のデータ欄には、各データが16進数表記で示されている。本明細書において特に明示しない限り、データ欄はすべて16進数表記で示すものとする。
Figure 0004622770
参照ドライブに関連づけられたデバイスが存在する場合であって、該デバイスがSCSIコマンドを処理することができるデバイス(SCSIコマンド対応デバイス)である場合は、該デバイスからS/Iデータが返信される。一方、デバイスが存在しない場合、或いは存在していても該デバイスがSCSIコマンドを処理することができない場合(SCSIコマンド非対応デバイス)は、該デバイスからS/Iデータは返信されない。ステップS103では、S/Iデータの返信の有無に基づいてCPU41によってエラー判定が行われる(S102)。具体的には、S/Iデータの返信がない場合はエラーと判定される(S102のYes側)。この場合、その後の処理はステップS107に進む。また、S/Iデータの返信がある場合はエラーとは判定されない(S102のNo側)。即ち、当該参照ドライブに関連づけられたデバイスが存在すると判定される。この場合、その後の処理はステップS105に進む。
ステップS103においてエラーでないと判定されると、返信されたS/Iデータに基づいて、参照ドライブに関連づけられたデバイスが通信対象となり得るデバイスであるかどうか、即ち、通信可能なデバイスであるかどうかが判定される。本実施形態では、当該ステップは、参照ドライブに関連付けられたデバイスがマルチリーダライタ2であるかどうかを判定するために行われる。また、本実施形態では、マルチリーダライタ2から、表4に示すS/IデータがPC3へ返信されるようになっており、当該ステップにおける判定処理は、返信されたS/Iデータのバイト0の領域やバイト1の領域のデータ、或いは、バイト8〜15の領域のベンダIDや、バイト16〜31の領域のプロダクトIDなどが、PC3側で予め登録しておいたID情報等と一致しているかどうかによって行われる。当該ステップで、通信可能なデバイスであると判定されると(S104のYes側)、処理はステップS105に進み、通信可能なデバイスではないと判定されると(S104のNo側)、処理はステップS107に進む。なお、表4中のバイト0の領域のデータ「0x00」はダイレクトアクセスデバイスを示し、バイト1の領域のデータ「0x80」は可換記憶媒体を示すものである。上述の各バイト領域に記述される内容については、SCSI規格で定義されているため、詳細については、当該規格書を参照されたい。
Figure 0004622770
処理がステップS105に進むと、ここでは、返信されたS/Iデータに基づいて、当該参照ドライブのLUNが“0”であるかどうかがCPU41によって判定される。かかる判定は、S/Iデータにおけるベンダ固有領域のバイト54の領域のデータに基づいて行われる。本実施形態では、上述したように、マルチリーダライタ2から、表4に示すS/IデータがPC3へ返信されるようになっている。また、表4のバイト54の領域の備考欄にも記載しているように、マルチリーダライタ2では、S/Iデータを返信する際に、バイト54の領域の上位4ビットに該マルチリーダライタ2の物理的I/Fを示す情報(本実施形態ではUSBであることを示す情報)が格納され、下位4ビットにLUNの番号を格納するようにプログラミングされている。従って、CPU41は、バイト54の領域のデータを参照すれば、LUNの情報を取得することができる。これにより、当該ステップの判定処理を行うことができる。例えば、バイト54の領域に「0x10」が格納されている場合は、物理的I/FがUSB接続コネクタであって、LUNが0であることが取得され、「0x23」が格納されている場合は、物理的I/FがSCSI接続コネクタであって、LUNが3であることが取得される。
ステップS105で、LUNが“0”であると判定されると(S105のYes側)、処理はステップS106に進み、LUNが“0”でないと判定されると(S105のNo側)、処理はステップS107に進む。なお、OS2000がインストールされたPC3と接続されている場合は、マルチリーダライタ2側でバイト54の領域に、例えばLUN=1の情報を格納したとしても、PC3側ではLUN=0として認識するようになっている。そのため、当該ステップS105の処理は必ずYes側に進むことになる。この場合は、ステップS105の判定処理は意味を成さないため省略してもよい。
ステップS106では、現在の参照ドライブを対応ドライブリストに追加する処理が実行される。対応ドライブリストは、最終的にドライブが割り当てられる参照ドライブをリストアップしたものである。詳細には、該対応ドライブリストがRAM43の所定の記憶領域に展開されており、該当する参照ドライブが該記憶領域に書き込まれる。その後、処理はステップS107に進む。
ステップS107では、参照ドライブがZドライブであるかどうかがCPUS41によって判定される。例えば、カウンタメモリなどにドライブの参照順をカウントさせておき、そのカウンタ値をCPU41が監視することにより、現在の参照ドライブがZドライブであるかどうかの判定が可能である。かかる判定は、設定された参照ドライブが最後であるかどうかを判定するために行われる。ここで、参照ドライブがZドライブであると判定されると、参照可能なドライブが存在しないため、続く処理はステップS109に進む。参照ドライブがZドライブではないと判定されると、参照ドライブを次順のドライブに設定した後に(S108)、ステップS102からの処理がステップS107においてYesと判定されるまで繰り返し行われる。
処理がステップS109に進むと、ここでは、対応ドライブリストに基づいてドライブの割り当てがなされる。これにより、一連のドライブ割当処理(S1)が終了する。なお、本実施形態では、外部ストレージデバイスとしてマルチリーダライタ2のみが接続されているため、Aドライブに対してマルチリーダライタ2が割り当てられ、他のドライブには何ら割り当てられないものとする。
続いて、図6のフローチャートを用いて、PC3においてCPU41により実行されるドライブ設定処理(S2)について説明する。処理はステップS201から開始される。
ステップS201では、前記ドライブ割当処理(S1)によって割り当てられたドライブ(以下「対応ドライブ」と称する)が存在するかどうかが判定される(S201)。即ち、PC3で割当可能なドライブのいずれかに所定のデバイスが割り当てられたかどうかが判定される。本実施形態では、マルチリーダライタ2が割り当てられたAドライブが存在するため、対応ドライブがあると判定される。その後、対応ドライブが1つであるかどうかが判定される(S202)。一方、ステップS201で、対応ドライブが存在しないと判定されると(S201のNo側)、通信対象が存在しないため、処理が終了する。もちろん、この場合は、RAM43に格納された時刻データやメッセージデータは送信されない。
ステップS202で対応ドライブが1つであると判定されると(S202のYes側)、当該対応ドライブが通信対象として設定される(S205)。即ち、当該対応ドライブに関連付けられたデバイスが通信対象に設定される。なお、本実施形態では、Aドライブが通信対象として設定される。換言すれば、マルチリーダライタ2が通信対象のデバイスとして設定される。
一方、対応ドライブが複数存在すると判定された場合は(S202のNo側)、対応ドライブを示すアイコンをダイアログ表示させる(S203)。その後、ユーザからいずれかのアイコンが選択されることによって所望の対応ドライブが選択されると、選択された対応ドライブが通信対象として設定される。なお、いずれのアイコンも選択されない場合であっても、例えば、対応ドライブごとに優先度が設定されている場合は、最も優先度の高い対応ドライブが通信対象に自動的に設定される。これにより、一連のドライブ設定処理(S2)が終了する。
次に、図7のフローチャートを用いて、PC3においてCPU41により実行される送信表示処理(S3)について説明する。かかる送信表示処理(S3)は、上述のドライブ設定処理(S2)によって通信対象として設定されたマルチリーダライタ2とPC3との間で実行される。処理はステップS301から開始される。
まず、PC側において、マルチリーダライタ2から該マルチリーダライタ2のVPD(Vital Product Data)を返信させるためのInquiryコマンド(以下「Inq(1)コマンド」と称する)がAドライブに対して発行される(ステップS301)。実際には、該Inq(1)コマンドが、OSカーネルに対して発行され、該OSカーネルによってAドライブに対して発行されたものとして取り扱われる。上記Inq(1)コマンドが発行されると、OSカーネルによって、EVPD領域が“1”に設定されたInquiryデータ(以下「Inq(1)データ」と称する)が生成されて、Aドライブに関連づけられたマルチリーダライタ2にUSBケーブル25を介して送信される。このとき生成されるInq(1)データを表5に示す。表5に示すように、該Inq(1)データのバイト2の領域にはページコード「0xE0」が記述されている。なお、SCSI規格では、EVPD領域が“1”に設定されている場合はVPDを返信するよう定義されている。
Figure 0004622770
表5に示すように、Inq(1)データのバイト4の領域、即ちアロケーション長領域には「0x10」(2進数表記では「00010000」)が格納されている。本来、アロケーション長領域には、接続されたデバイスに要求するデータ長が格納される。本実施の形態では、マルチリーダライタ2のアロケーション長の最大値を予め15バイトの固定長に設定されている。この“15”という数は下位4ビットで表現できる。SCSI規格に従えば、マルチリーダライタ2において設定された上記最大値以上の数値がアロケーション長として指定されたとしても、マルチリーダライタ2のアロケーション長は上記最大値、即ち、15バイトに設定される。従って、アロケーション長領域に「0x10」が記述されていても、また、「0x11」以上が記述されていても、アロケーション長は15バイトに設定される。これは、アロケーション長領域のデータのうち、上位4ビットのいずれかのビットが「1」である場合は、該アロケーション長領域のデータを任意のデータとして自由に使用することができるということを意味する。即ち、上位4ビットのいずれかのビットを「1」とすることにより、アロケーション長領域における当該ビット以外のビットを空き領域として確保することができる。本発明では、このように確保された空き領域に任意の通信データを付加することで、PC3とマルチリーダライタ2とのデータ通信が行われる。
なお、上記アロケーション長は常に15バイトの固定長に設定されるのではなく、Inq(1)データのページコードに応じてその最大値が設定されるようにしてもよい。例えば、ページコード「0xE0」の場合は、アロケーション長の最大値が15バイトの固定長に設定され、ページコード「0xE2」の場合は、9バイトの固定長に設定される。かかる設定処理は、Inq(1)データを受信したマルチリーダライタ2のCPU27によってページコードの内容が読み取られ、読み取られた内容に応じて、予めROM28に格納しておいた固定長対応リストから該当する固定長を選定することにより行われる。もちろん、15バイト或いは9バイトと定めた上記アロケーション長は任意に設定することができる。
ここで、表6及び表7に、上記アロケーション長領域に確保された空き領域に付加される通信データを類別して示す。各表のデータ内容欄に示すように、各データには、それ自体が何を意味するものであるのかが定義づけられている。具体的には、データ内容欄の記載を参照されたい。なお、表6はページコードが「0xE0」の場合に送信される通信データであり、表7は、ページコードが「0xE2」の場合に送信される通信データである。
Figure 0004622770
Figure 0004622770
表6及び表7に示すように、左欄には、アロケーション長領域に記述されるデータそのものが、右欄にはそのデータの意味する内容が示されている。PC3側からマルチリーダライタ2に上記左欄のデータが送信されると、マルチリーダライタ2側では、CPU27により、受信したInq(1)データからアロケーション長領域のデータが抽出され、抽出されたデータの内容が解析され、そして、解析されたデータの内容に従った処理が実行される。なお、表6及び表7に示す内容は、テーブルリスト化されて、PC3のHDD44又はROM42と、マルチリーダライタ2のROM28に予め格納されている。
上記ステップS301でInq(1)コマンドが発行されて生成されたInq(1)データには、表5に示すように、アロケーション長領域に「0x10」が記述されている。従って、Inq(1)コマンドは、PC3からマルチリーダライタ2に対してスイッチ位置を読み出させるための命令であることを意味する。
一方、マルチリーダライタ2側では、送信されたInq(1)データが受信される。その後、CPU27によって、Inq(1)データ内のアロケーション長領域のデータ「0x10」が抽出され、そして、該データに従って、切換スイッチ22のスイッチ位置を検出する処理が行われる(S302)。
スイッチ位置の検出が終了すると、その検出結果がCPU27によってPC3へ返信される(S303)。該返信処理は、具体的には、Inq(1)データの受信後に生成されてPC3へ返信されるVPD(表8参照)に上記検出結果を書き込むことにより行われる。より詳細には、表8に示すように、バイト7の領域にスイッチ位置の検出結果が書き込まれる。本実施形態では、切換スイッチ22がA側にある場合は「0x00」が書き込まれ、B側にある場合は「0x01」が書き込まれる。なお、表8はスイッチ位置がB側にある場合のVPDを示す。
Figure 0004622770
続いて、PC3側では、マルチリーダライタ2から返信されるVPDを受信して、該VPDのバイト7の領域を参照することにより、スイッチ位置がどちらにあるかが判定される。ここで、切換スイッチ22がA側にあると判定されると(S304のA側)、現在の時刻データを生成して、生成された時刻データをRAM43に記憶する(S305)。B側にあると判定されると(S304のB側)、RAM43に格納された複数のメッセージデータから予めユーザにより指定されたメッセージデータが選択される(S306)。
その後、RAM43に記憶された時刻データ或いは選択されたメッセージデータが読み出されて、該データをマルチリーダライタ2へ送信する送信処理(S307)が実行される。かかる送信処理は、図8のフローチャートに示すステップS401以降の処理手順に従って行われる。即ち、まず最初に、Inq(1)コマンドが発行される(ステップS401)。このInq(1)コマンドが発行されることにより生成されたInq(1)データはマルチリーダライタ2へ送信される。なお、Inq(1)コマンドの発行によりマルチリーダライタ2からVPDが返信されてくるが、該VPDには返信データは付加されない。それ故、ここではVPDの返信処理の説明を省略する。
より詳細には、ステップS401では、ページコードとしてバイト2の領域に「0xE2」が、アローケーション長領域に「0x18」が記述されたInq(1)データが生成される。従って、該ステップで発行されるInq(1)コマンドは、表7に基づけば、「0x90」で示される文字列番号に対応する文字列記憶領域(RAM29内の記憶領域)の先頭にポインタをセットさせるための要求命令である。もちろん、この要求命令はマルチリーダライタ2に対してなされるものである。なお、上記ポインタとは、後述するステップS402によって切り出された文字を格納する位置を指示する指標を意味する。
続いてステップS402では、PC3のRAM43に格納された時刻又はメッセージを示す文字列データから、その先頭から順番に文字が切り出される。その後、ステップS403において、ステップS402で切り出された文字が終端文字であるかどうかがCPU41によって判定される(S403)。かかる処理は、切り出された文字を示すデータが「0x00」であるかどうかによって判定される。「0x00」は文字を示すものではないため、このステップで、「0x00」であると判定されると、終端文字であると判定される。切り出された文字が終端文字であると判定されると、処理はステップS406に進む。一方、切り出された文字が終端文字でないと判定されると、処理はステップS404に進む。
処理がステップS404に進むと、ここでは、Inq(1)コマンドが発行されて、ページコードとして「0xE2」が、アローケーション長領域に「出力文字」が記述されたInq(1)データが生成される。そして、生成されたInq(1)データがマルチリーダライタ2へ送信される。なお、上記出力文字とは、ステップS402で切り出された文字を示すデータのことを意味し、例えばASCIIコードで表現されたデータを意味する。
Inq(1)データの送信後は、文字データの切り出し位置が次の文字に設定され(S405)、その後に、ステップS402からの処理が繰り返し実行される。その後、処理がステップS406に進むと、Inq(1)コマンドが発行されて、ページコードとしてバイト2の領域に「0xE2」が、アローケーション長領域に「0x17」が記述されたInq(1)データが生成される。これは、現在の文字列記憶領域において、最後に格納された文字(即ち末文字)が格納された領域以降のすべてのビット領域を「0x00」で埋めるための要求命令である。換言すれば、マルチリーダライタ2に送信され、RAM29に格納されたデータの終端以降に「0x00」を付け加えて、格納されたデータを所定長さ(例えば128バイト)のビットデータに揃えさせるための要求命令である。該ステップS406の後に、上記送信処理(S307)が完了する。
図7に示す上記送信処理(S307)によりデータが送信されると、送信されたデータは、マルチリーダライタ2側で受信され、該受信されたデータがRAM29に格納される(S308)。実際には、上記ステップS406(図8参照)で切り出された文字が一つずつ送信される毎に、その文字データが順次RAM29に格納される。
上記送信処理(S307)の後、ステップS309では、再度、PC3側でInq(1)コマンドが発行され、これにより生成されたInq(1)データがマルチリーダライタ2へ送信される(S309)。このとき生成されるInq(1)データを表9に示す。表9に示すように、バイト2の領域に「0xE0」が、アロケーション長領域に「0x11」が記述されているため、表6に基づけば、このとき発行されたInq(1)コマンドは、次に送信されるデータが示す数に対応する文字列番号の文字列記憶領域(RAM29内の記憶領域)に格納されたデータをマルチリーダライタ2の液晶表示部21へ転送させる要求命令であることが理解できる。
Figure 0004622770
その後、もう一度Inq(1)コマンドが発行され、ページコードとしてバイト2の領域に「0xE0」が、アロケーション長領域に文字データが記憶されている文字列番号を示すデータ「0x90」が記述されたInq(1)データがマルチリーダライタ2へ送信される(S310)。従って、マルチリーダライタ2で該Inq(1)データが受信されると、CPU27によって、ステップS310で送信されてきた文字列番号に対応する文字列記憶領域に格納された受信データ(文字データ)が読み出されて、液晶表示部21へ転送される。これにより、PC3から送信されたデータが液晶表示部21で表示される。
次に、図9のフローチャートを用いて、表示内容の変更が必要かどうかを判定する判定処理(S6)について説明する。かかる判定処理はPC3においてCPU41により実行される。処理はステップS501から開始される。
ステップS501では、ステップS301と同様にInq(1)コマンドが発行され、これにより生成されたInq(1)データがマルチリーダライタ2に送信されて、切換スイッチ22の位置が検出される。そして、ステップS502では、スイッチ位置に変化があったかどうかが判定される。かかる判定は、ステップ301で検出されたスイッチ位置をRAM29に記憶させておき、記憶されたスイッチ位置情報とステップS501で検出されたスイッチ位置とを比較することにより行われる。ここで、スイッチ位置がユーザにより切り換えられることによって、そのスイッチ接点に変化があったと判定されると、表示内容の変更が必要であると判定される(S507)。一方、スイッチ位置に変化がないと判定された場合は、ステップS502では、RAM29内のスイッチ位置情報が読み出されて、現在のスイッチ位置の確認が行われる。
現在のスイッチ位置がA側、即ち時刻(Clock)側にある場合は、処理はステップS506に進む。ここでは、PC3の時計機能に基づいて、ステップS305で時刻データが生成され後から時刻が分単位で変化したかどうかが判定される。ここで、時刻に変化があると判定された場合は、表示内容の変更が必要であると判定され(S507)、変化がないと判定された場合は、表示内容の変更が不要であると判定される(S505)。
一方、現在のスイッチ位置がB側、即ちメッセージ(Message)側にある場合は、処理はステップS504に進む。ここで、メッセージの変更指示が入力されたかどうかが判定される。このとき、変更指示が入力されたと判定されると、表示内容の変更が必要であると判定され(S507)、変更指示の入力がないと判定された場合は、表示内容の変更が不要であると判定される(S505)。
次に、図10のフローチャートを用いて、表示消去処理(S7)について説明する。処理はステップS601から開始される。
ステップS5(図4参照)で終了指示が入力されたと判定された場合は、まず、ステップS601で、Inq(1)コマンドが発行され、これにより生成されたInq(1)データがマルチリーダライタ2へ送信される(S601)。このとき生成されるInq(1)データは、バイト2の領域に「0xE0」が、アロケーション長領域に「0x11」が記述されている。従って、表6に基づけば、このとき発行されたInq(1)コマンドは、次に送信されるデータが示す文字列番号の文字列記憶領域に格納されているデータをマルチリーダライタ2の液晶表示部21へ転送させる要求命令である。そして、ステップS602で、Inq(1)コマンドが発行され、2バイト領域に「0xE0」が、アロケーション長領域に「0x80」が記述されたInq(1)データが生成されて送信される。なお、「0x80」が示す文字列番号の文字列記憶領域は予め空データとしておく。これにより、マルチリーダライタ2のCPU27によって、「0x80」が示す文字列番号の文字列記憶領域の空データが液晶表示部に転送されて、表示内容が消去される。
本実施形態では、上述した処理手順に従ったデータ通信がなされるため、例えば、メモリーカードが交換された場合でも、マルチリーダライタ2にその交換情報を保持させた状態のままで、PC3からマルチリーダライタ2へ時刻データやメッセージデータを転送することが可能となる。また、マルチリーダライタ2からPC3へ切換スイッチ22のスイッチ位置情報を転送することが可能となる。更にまた、マルチリーダライタ2のドライバソフトをインストールしていないために、マルチリーダライタ2がPC3からのSCSIコマンドを拒否するノット・レディ状態となっている場合でも、PC3とマルチリーダライタ2とのデータ通信が実現される。なお、本実施形態では、通信されるデータとして、時刻データ、メッセージデータ、スイッチ位置情報を例示したが、本発明で通信されるデータが上記各データに限定されないのは言うまでもない。
〔第2の実施形態〕
上記第1の実施形態では、周辺装置の一例としてマルチリーダライタ2単体品を例示して説明したが、本実施形態では、周辺装置として、図11に示す多機能装置(MFD:Multi Function Device)を用いて場合の通信システムについて説明する。ここに、図11は、多機能装置80の外観構成を示す斜視図である。
図11に示すように、本多機能装置80は、下部に配設されたプリンタ部82と、その上部に配設されたスキャナ部83と、ADF84を備えた原稿カバー86と、装置上面の前方側に配置された操作パネル85と、装置前面にスロットが露出するように配設されたマルチリーダライタ部88とを一体的に備えてなり、プリンタ機能、スキャナ機能、コピー機能及びファクシミリ機能などを有する。
多機能装置80は、主に第1の実施形態で説明したPC3(図3参照)と接続されて、該PC3から送信された画像データや文書データを含む印刷データに基づいて、プリンタ部82において、画像や文書を記録用紙に記録する。また、プリンタ部82は、マルチリーダライタ部88によってメモリーカードから読み取られた上記印刷データに基づいても、画像や文書を記録用紙に記録する。更に、PC3と接続されて、PC3とマルチリーダライタ部88に挿入されたメモリーカードとの間でデータ通信を行うリーダライタ装置としても機能する。また、スキャナ部83により読み取られた画像データをPC3へ送信したり、スキャナ部83で読み取った画像をプリンタ部82において記録する所謂コピーを行うことも可能である。
多機能装置80のマルチリーダライタ部88は、図12に示すように、第1スロット16,第2スロット17,第3スロット18、第4スロット19を備えている。各スロットの構成・機能及び各スロットに挿入されるメモリーカードは、第3スロット18及び第4スロット19とが一体化されていることを除けば、第1の実施形態でマルチリーダライタ2が備える各スロットの構成・機能及びメモリーカードと同じものである。また、マルチリーダライタ部88は、上記各スロットが配置された前面に、液晶表示部21と切換スイッチ22が設けられている。これらも第1の実施形態で説明したものとその構成及び機能は同じである。それ故、第1の実施形態と同じの構成要素には第1の実施形態と同じ符号を付して、その詳細説明を省略する。
このように構成された多機能装置80とPC3とが接続されて、上述した第1の実施形態と同様の通信システムが構築されることにより、多機能装置80がPC3からのSCSIコマンドを拒否するノット・レディ状態であっても、PC3と多機能装置80とのデータ通信が実現される。
なお、上述した第1及び第2の実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、実施形態を適宜変更することができる。
通信システム1に適用されるマルチリーダライタ2(周辺装置の一例)の斜視図。 マルチリーダライタ2の概略構成を示すブロック図。 通信システム1に適用されるPC3の概略構成を示すブロック図。 本通信システム1において実行されるデータ通信処理の概略手順を説明するフローチャート。 ステップS1のドライブ割当処理の手順を説明するフローチャート。 ステップS2のドライブ設定処理の手順を説明するフローチャート。 ステップS3の送信表示処理の手順を説明するフローチャート。 ステップS307の送信処理の手順を説明するフローチャート。 ステップS6の判定処理の手順を説明するフローチャート。 ステップS7の表示消去処理の手順を説明するフローチャート。 多機能装置80の外観構成を示す斜視図。 マルチリーダライタ部88の部分拡大図。 PC3上で動作するOS70及びOS70上で動作するアプリケーションを説明するための概念図。
1・・・通信システム
2・・・マルチリーダライタ(周辺装置の一例)
3・・・PC(情報処理装置の一例)
11・・・第1メモリーカード(記録メディアの一例)
12・・・第2メモリーカード(記録メディアの一例)
13・・・第3メモリーカード(記録メディアの一例)
14・・・第4メモリーカード(記録メディアの一例)
16・・・第1スロット
17・・・第2スロット
18・・・第3スロット
19・・・第4スロット
21・・・液晶表示部
22・・・切換スイッチ
80・・・多機能装置(周辺装置の一例)
82・・・プリンタ部
83・・・スキャナ部
84・・・ADF
85・・・操作パネル
86・・・原稿カバー
88・・・マルチリーダライタ部88

Claims (11)

  1. スロットに挿入された記録メディアに対し読み取り又は書き込みのいずれか一方又は双方を行う周辺装置と、該周辺装置と接続される情報処理装置との間で、SCSI規格で定義されるSCSIコマンドに基づいてデータ通信を行う通信システムであって、
    情報処理装置は、
    当該情報処理装置のOSカーネルに対してInquiryコマンドを発行することにより生成されるInquiryデータにおいて、上記Inquiryデータを構成するアロケーション長領域に予め確保された空き領域に通信データを付加する付加手段と、
    上記付加手段により上記通信データが付加されたInquiryデータを上記周辺装置に送信する送信手段と、を備え、
    周辺装置は、
    上記送信手段により送信されたInquiryデータを受信する受信する受信手段と、
    受信したInquiryデータに付加された通信データを抽出する抽出手段と、を備え
    上記周辺装置において上記記録メディアに割り当てられるアロケーション長が上記アロケーション長領域に記述可能な最大バイト数未満に予め設定されてなる通信システム。
  2. 周辺装置は、
    上記Inquiryデータの受信に応じて生成される当該周辺装置のVPDに上記通信データに対応する返信データを書き込んだ後に、上記VPDを情報処理装置に返信する返信手段を備えてなる請求項1に記載の通信システム。
  3. 上記付加手段が、Inquiryデータを構成する1ビット列からなるEVPD領域に“1”が設定されている場合に、上記空き領域に通信データを付加するものである請求項1又は2に記載の通信システム。
  4. 上記アロケーション長領域がnビット列からなる場合に、上記周辺装置において上記記録メディアに割り当てられるアロケーション長が(n−1)ビット列以下で表現されるバイト数に予め設定されてなる請求項1から3のいずれかに記載の通信システム。
  5. 情報処理装置が、周辺装置との間でSCSIコマンドに基づくデータ通信を占有して行うアプリケーションと、周辺装置に挿入された記録メディアに格納されるデータを管理するファイルシステムとが動作可能な環境にある場合に、
    上記付加手段が、上記ファイルシステムによる上記記録メディアに対するデータの管理処理中に、上記アプリケーションによってInquiryコマンドが発行された際に生成されるInquiryデータにおいて予め確保された上記空き領域に通信データを付加するものである請求項1から4のいずれかに記載の通信システム。
  6. 上記周辺装置と上記情報処理装置とがUSB接続するものである請求項1から5のいずれかに記載の通信システム。
  7. スロットに挿入された記録メディアに対し読み取り又は書き込みのいずれか一方又は双方を行う周辺装置と接続可能に構成され、該周辺装置との間でSCSI規格で定義されるSCSIコマンドに基づいてデータ通信を行う情報処理装置であって、
    当該情報処理装置のOSカーネルに対してInquiryコマンドを発行することにより生成されるInquiryデータにおいて、上記Inquiryデータを構成するアロケーション長領域に予め確保された空き領域に通信データを付加する付加手段と、
    上記付加手段により上記通信データが付加されたInquiryデータを上記周辺装置に送信する送信手段と、を具備してなる情報処理装置。
  8. スロットに挿入された記録メディアに対し読み取り又は書き込みのいずれか一方又は双方を行う周辺装置と、該周辺装置と接続される情報処理装置との間で、SCSI規格で定義されるSCSIコマンドに基づいてデータ通信を行う通信システムを構成する上記周辺装置であって、
    Inquiryデータにおいて予め確保された空き領域に通信データが付加された状態で上記情報処理装置から送信されたInquiryデータを受信する受信手段と、
    受信したInquiryデータに付加された通信データを抽出する抽出手段と、を具備し
    上記記録メディアに割り当てられるアロケーション長が上記Inquiryデータを構成するアロケーション長領域に記述可能な最大バイト数未満に予め設定されてなる周辺装置。
  9. 上記Inquiryデータの受信に応じて生成される当該周辺装置のVPDに上記通信データに対応する返信データを書き込んだ後に、上記VPDを情報処理装置に返信する返信手段を備えてなる請求項8に記載の周辺装置。
  10. 上記情報処理装置とUSB接続するUSB接続手段を備えてなる請求項8又は9に記載の周辺装置。
  11. スロットに挿入された記録メディアに対し読み取り又は書き込みのいずれか一方又は双方を行う周辺装置と、該周辺装置と接続される情報処理装置との間で、SCSI規格で定義されるSCSIコマンドに基づいてデータ通信を行う通信方法であって、
    情報処理装置のOSカーネルに対してInquiryコマンドを発行することにより生成されるInquiryデータにおいて、上記Inquiryデータを構成するアロケーション長領域に予め確保された空き領域に通信データを付加する付加工程と、
    上記通信データが付加されたInquiryデータを上記情報処理装置から上記周辺装置に送信する送信工程と、
    送信されたInquiryデータを受信する受信工程と、
    受信したInquiryデータに付加された通信データを抽出する抽出工程と、を具備し
    上記周辺装置において上記記録メディアに割り当てられるアロケーション長が上記アロケーション長領域に記述可能な最大バイト数未満に予め設定されてなる通信方法。
JP2005272379A 2005-09-20 2005-09-20 通信システム、情報処理装置、周辺装置、及び通信方法 Expired - Fee Related JP4622770B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2005272379A JP4622770B2 (ja) 2005-09-20 2005-09-20 通信システム、情報処理装置、周辺装置、及び通信方法
US11/533,078 US8051221B2 (en) 2005-09-20 2006-09-19 Communication system, information processing device, peripheral device and communication method
DE602006003711T DE602006003711D1 (de) 2005-09-20 2006-09-20 SCSI-Kommunikationssystem, Informationsverarbeitungsvorrichtung, Peripheriegerät und Kommunikationsverfahren
CNB2006101389544A CN100447733C (zh) 2005-09-20 2006-09-20 通信***、信息处理设备、外设和通信方法
EP06254877A EP1770538B1 (en) 2005-09-20 2006-09-20 SCSI communication system, information processing device, peripheral device and communication method
US11/691,273 US7797398B2 (en) 2005-09-20 2007-03-26 Communication system, and peripheral device having trigger generating device and computer program product that monitors whether a trigger has been generated
US11/693,419 US7869074B2 (en) 2005-09-20 2007-03-29 Communication system, information processing device, peripheral device and communication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005272379A JP4622770B2 (ja) 2005-09-20 2005-09-20 通信システム、情報処理装置、周辺装置、及び通信方法

Publications (2)

Publication Number Publication Date
JP2007086905A JP2007086905A (ja) 2007-04-05
JP4622770B2 true JP4622770B2 (ja) 2011-02-02

Family

ID=37801646

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005272379A Expired - Fee Related JP4622770B2 (ja) 2005-09-20 2005-09-20 通信システム、情報処理装置、周辺装置、及び通信方法

Country Status (5)

Country Link
US (1) US8051221B2 (ja)
EP (1) EP1770538B1 (ja)
JP (1) JP4622770B2 (ja)
CN (1) CN100447733C (ja)
DE (1) DE602006003711D1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101751353A (zh) * 2009-12-24 2010-06-23 深圳华为通信技术有限公司 数据卡升级方法及装置
US8977879B2 (en) * 2012-03-30 2015-03-10 Motorola Solutions, Inc. Method and apparatus for enhancing a multi-stage hibernate and resume process
CN103605632B (zh) * 2013-11-18 2016-06-29 山东大学 一种axi总线与ahb总线的通信方法与装置
JP2018136803A (ja) * 2017-02-23 2018-08-30 株式会社日立製作所 画像認識システム
CN111611018A (zh) * 2020-05-28 2020-09-01 广州市金库物联科技有限公司 用于兼容多型号uhf读写器的方法、终端***及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5892955A (en) * 1996-09-20 1999-04-06 Emc Corporation Control of a multi-user disk storage system
JP2000227868A (ja) * 1998-12-04 2000-08-15 Hitachi Ltd バックアップ取得方法および計算機システム
JP2002049534A (ja) * 2000-07-31 2002-02-15 Rexas Inc バックアップ/リストアシステム、バックアップ装置およびバックアップ/リストア方法
JP2004215164A (ja) * 2003-01-08 2004-07-29 Seiko Epson Corp 外部機器制御装置、外部機器制御方法および外部機器制御プログラム

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05216592A (ja) * 1991-04-30 1993-08-27 Internatl Business Mach Corp <Ibm> 記憶装置識別方法及び遠隔記憶システム
JP2868001B1 (ja) 1997-09-01 1999-03-10 日本電気株式会社 ディスクアレイ装置制御方法およびディスクアレイ装置
JP3800903B2 (ja) * 2000-02-17 2006-07-26 株式会社日立製作所 記憶装置及びそのアクセス制御方法
JP2002077690A (ja) 2000-08-31 2002-03-15 Olympus Optical Co Ltd 電子カメラおよびコンピュータシステム
JP2002109528A (ja) 2000-09-26 2002-04-12 Funai Electric Co Ltd データ記憶装置
US7039727B2 (en) * 2000-10-17 2006-05-02 Microsoft Corporation System and method for controlling mass storage class digital imaging devices
US6895453B2 (en) * 2001-03-15 2005-05-17 International Business Machines Corporation System and method for improved handling of fiber channel remote devices
US7385635B2 (en) * 2001-04-24 2008-06-10 Nikon Corporation Electronic image processing device and system for image data transfer operation
JP4569032B2 (ja) 2001-04-24 2010-10-27 株式会社ニコン 電子機器および電子機器システム
WO2004023262A2 (en) * 2002-09-06 2004-03-18 Maxtor Corporation One button external backup
US7003589B2 (en) * 2002-10-01 2006-02-21 Hewlett-Packard Development Company, L.P. Method and arrangement for generating unique identifiers for logical units of SCSI devices
US7526580B2 (en) * 2003-06-27 2009-04-28 Brother Kogyo Kabushiki Kaisha Peripheral device
JP4062227B2 (ja) 2003-09-30 2008-03-19 ブラザー工業株式会社 周辺装置及び画像形成装置
JP4023402B2 (ja) 2003-06-27 2007-12-19 ブラザー工業株式会社 周辺装置
US7257573B2 (en) * 2003-07-29 2007-08-14 Matsushita Electric Industrial Co., Ltd. Information display apparatus
JP2005050192A (ja) 2003-07-30 2005-02-24 Matsushita Electric Ind Co Ltd 情報記録システム
US7085867B2 (en) * 2003-08-06 2006-08-01 Lsi Logic Corporation Methods and structure for SCSI2 to SCSI3 reservation protocol mapping
JP4033085B2 (ja) * 2003-09-02 2008-01-16 ブラザー工業株式会社 画像読取装置およびそれを備えた複合機
US7506078B2 (en) * 2004-10-29 2009-03-17 Intel Corporation Integrated circuit capable of assigning a unique identity to ATA/ATAPI devices
US7840755B2 (en) * 2005-05-24 2010-11-23 Lsi Corporation Methods and systems for automatically identifying a modification to a storage array

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5892955A (en) * 1996-09-20 1999-04-06 Emc Corporation Control of a multi-user disk storage system
JP2000227868A (ja) * 1998-12-04 2000-08-15 Hitachi Ltd バックアップ取得方法および計算機システム
JP2002049534A (ja) * 2000-07-31 2002-02-15 Rexas Inc バックアップ/リストアシステム、バックアップ装置およびバックアップ/リストア方法
JP2004215164A (ja) * 2003-01-08 2004-07-29 Seiko Epson Corp 外部機器制御装置、外部機器制御方法および外部機器制御プログラム

Also Published As

Publication number Publication date
DE602006003711D1 (de) 2009-01-02
US8051221B2 (en) 2011-11-01
EP1770538B1 (en) 2008-11-19
EP1770538A3 (en) 2007-05-02
CN1936821A (zh) 2007-03-28
US20070094424A1 (en) 2007-04-26
JP2007086905A (ja) 2007-04-05
CN100447733C (zh) 2008-12-31
EP1770538A2 (en) 2007-04-04

Similar Documents

Publication Publication Date Title
US7797398B2 (en) Communication system, and peripheral device having trigger generating device and computer program product that monitors whether a trigger has been generated
US7941579B2 (en) Communication system for authenticating authority of host device for accessing storage medium set to periphery device
US7412558B2 (en) Semiconductor storage device
US7007127B2 (en) Method and related apparatus for controlling transmission interface between an external device and a computer system
US6757783B2 (en) Portable storage medium based on universal serial bus standard and UFI standard
EP1304665A2 (en) Apparatus and method for controlling a card device
JP4544188B2 (ja) ドライブ構成設定プログラム
JPH06236316A (ja) 情報伝送システム
US7869074B2 (en) Communication system, information processing device, peripheral device and communication method
JP4622770B2 (ja) 通信システム、情報処理装置、周辺装置、及び通信方法
JP3914949B2 (ja) Usbストレージデバイス、その制御装置及びその制御装置に実行させるためのプログラム
EP1749268B1 (en) Method for managing the plug-in or removal of a memory card into or from a card reader and apparatus for use in said method
US6941397B2 (en) Quick save system and protocol, monitor program and smart button firmware of the same
JP2010511923A (ja) メモリカードを回復するためのメモリカード読取装置
JP4618560B2 (ja) 通信システム及びそれに使用する周辺装置
JP4807667B2 (ja) 通信システム及びそれに使用する周辺装置
JP2006350881A (ja) メモリーカード制御装置およびメモリーカード制御システム
JP2007265305A (ja) 通信システム及びそれに使用する周辺装置
JP2007265303A (ja) コンピュータプログラム
JP4618559B2 (ja) 通信システム及びそれに使用する周辺装置
JP2007265302A (ja) 通信システム及びそれに使用する周辺装置
JP2008033451A (ja) 着脱式記憶メディア
JP2004302870A (ja) メディアリーダ/ライタの書込禁止方法
JP2007265300A (ja) 通信システム及びそれに使用する周辺装置
JP2007265304A (ja) 通信システム及びそれに使用する周辺装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100304

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: 20101005

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101018

R150 Certificate of patent or registration of utility model

Ref document number: 4622770

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131112

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees