JP2005266934A - Usb storage device and controller therefor - Google Patents
Usb storage device and controller therefor Download PDFInfo
- Publication number
- JP2005266934A JP2005266934A JP2004074762A JP2004074762A JP2005266934A JP 2005266934 A JP2005266934 A JP 2005266934A JP 2004074762 A JP2004074762 A JP 2004074762A JP 2004074762 A JP2004074762 A JP 2004074762A JP 2005266934 A JP2005266934 A JP 2005266934A
- Authority
- JP
- Japan
- Prior art keywords
- area
- command
- usb
- information
- read
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は、半導体メモリを用いて情報を記憶するUSBストレージデバイス及びその制御装置に関する。 The present invention relates to a USB storage device that stores information using a semiconductor memory and a control device thereof.
近年、USBポートを有するコンピュータに対して挿抜可能であり、様々な情報を記憶することができるUSBストレージデバイスが広く普及している。このようなUSBストレージデバイスに対して使用者は、フレキシブルディスク(FD)やハードディスク(HD)と同様に、情報の読み出し、書き込み及び削除を行うことが可能である。このため、USBストレージデバイスに記憶させておいた重要な情報を、使用者が誤って消去してしまうという可能性があった。 In recent years, USB storage devices that can be inserted into and removed from a computer having a USB port and that can store various types of information have become widespread. A user can read, write, and delete information in such a USB storage device, like a flexible disk (FD) or a hard disk (HD). For this reason, there is a possibility that the user accidentally erases important information stored in the USB storage device.
そこで、本出願人は先の出願(特許文献1参照)において、使用者が誤って、或いは故意に重要な情報を消去してしまうことを防止したUSBストレージデバイスを提案した。このUSBストレージデバイスは、記憶領域をCD−ROM領域とディスク領域という二種類の領域に分けて定義し、それらの領域のフォーマット情報を外部装置(例えばパーソナルコンピュータ)に送信することにより、外部装置のUSBマスストレージクラスドライバにCD−ROM領域を読み出し専用の領域として認識させ、ディスク領域を読み出し、書き込み及び削除が実行可能な領域として認識させる。なお、このUSBストレージデバイスは、CD−ROM領域及びディスク領域共に、外部装置のUSBマスストレージクラスドライバを介してSCSIコマンドによって外部装置からアクセス可能に構成されているが、特に、外部装置からCD−ROM領域に対する書き込み指令や削除指令を受け取った場合にはそれらの指令を実行しないように構成されている。 Therefore, the present applicant has proposed a USB storage device in the previous application (see Patent Document 1) that prevents the user from deleting important information by mistake or intentionally. This USB storage device defines a storage area divided into two types of areas, a CD-ROM area and a disk area, and sends format information of these areas to an external device (for example, a personal computer). The USB mass storage class driver is caused to recognize the CD-ROM area as a read-only area, and the disk area is read and recognized as an area where writing and deletion can be performed. This USB storage device is configured such that both the CD-ROM area and the disk area can be accessed from an external apparatus by a SCSI command via the USB mass storage class driver of the external apparatus. When a write command or a delete command for the ROM area is received, these commands are not executed.
このようなUSBストレージデバイスであれば、CD−ROM領域に予め記憶されている情報が誤って、あるいは故意に消去されることはない。したがって、特にコマーシャル情報などをCD−ROM領域に記憶させて頒布するような場合に好適である。
ところで、このようなUSBストレージデバイスは、ディスク領域に対してUSBマスストレージクラスドライバを介してSCSIコマンドによって自由にアクセスできるようになっているため、このディスク領域に記憶されている情報に対応したコマンドを用いれば、市販のアプリケーションソフトウェアによって、誰でもこのディスク領域にアクセス(情報の書き込み、読み出し、削除)できてしまうという問題がある。さらに違法なハッキングやコンピュータウィルスプログラムにより、ディスク領域に記憶された情報が不正に削除されたり改竄されたりしてしまうという問題がある。 By the way, since such a USB storage device can freely access the disk area by a SCSI command via the USB mass storage class driver, a command corresponding to the information stored in the disk area. , There is a problem that anyone can access (write, read, and delete information) this disk area by using commercially available application software. Furthermore, there is a problem that information stored in the disk area is illegally deleted or tampered with by illegal hacking or computer virus programs.
本発明はこのような問題に鑑みなされたものであり、オペレーティングシステムから不可視であって、違法なハッキングやコンピュータウィルスに容易に攻撃されない、セキュリティ性の高いUSBストレージデバイスを提供することを目的とする。 The present invention has been made in view of such problems, and an object thereof is to provide a highly secure USB storage device that is invisible from an operating system and is not easily attacked by illegal hacking or computer viruses. .
上記課題を解決するためになされた請求項1に記載のUSBストレージデバイスは、ディスクドライブドライバを含む所定のオペレーティングシステムによって制御されると共に、所定のアプリケーションソフトウェア、USBマスストレージクラスドライバ、及びUSBホストコントローラを具備する上位装置へ接続して用いられるUSBストレージデバイスであって、フラッシュメモリの記憶領域を少なくとも第1の領域と第2の領域に分けて定義してなる記憶手段と、上位装置とUSBプロトコルに基づいた通信を行う通信手段と、通信手段を介して受け取ったコマンドに基づいて、記憶手段に対して情報の読み出し、書き込み又は削除を実行する制御手段と、を備える。そして、制御手段は、第1の記憶を、上位装置が有するUSBマスストレージクラスドライバのSCSIコマンドセットに定義された一の論理ユニット番号に対応する情報の読み出しのみを実行可能なユニットとしてUSBマスストレージクラスドライバに認識させるための当該第1の領域のフォーマット情報を記憶しており、ディスクドライブドライバからの指令に従って、第1の領域のフォーマット情報をUSBマスストレージクラスドライバに供給して、そのUSBマスストレージクラスドライバに、当該USBストレージデバイスを情報の読み出しのみ可能な論理ユニットを有する一つのSCSIデバイスとして認識させると共に、第1の領域に対しては、上位装置から受け取ったSCSIコマンドセットの標準コマンドに基づいて情報の読み出しのみを実行し、第2の領域に対しては、当該第2の領域にアクセスするための専用のコマンドに基づきアクセス可能に構成される。
The USB storage device according to
このようなUSBストレージデバイスであれば、上位装置が有するオペレーティングシステムは、論理ユニット番号に対応付けされている領域を情報の読み出しのみを実行可能な論理ユニットとして認識し、論理ユニット番号に対応付けされていない領域、もしくは管理領域については認識しない。つまり、オペレーティングシステムは第1の領域を認識しSCSI標準コマンドでその情報を読み出し可能であるが、第2の領域は認識できないため、専用のコマンドを用いない限りその情報を読み出すことはできない。 With such a USB storage device, the operating system of the host device recognizes the area associated with the logical unit number as a logical unit that can only read information and associates it with the logical unit number. Unrecognized areas or management areas are not recognized. That is, the operating system can recognize the first area and read the information with the SCSI standard command, but cannot recognize the second area, and cannot read the information unless a dedicated command is used.
したがって、請求項1に記載のUSBストレージデバイスは、オペレーティングシステム標準のアプリケーションソフトウェアで情報の読み出し可能な第1の領域と、専用のコマンドでしかアクセスを受け付けずコンピュータウィルスプログラムや違法なハッキングから保護された第2の領域とを有するUSBストレージデバイスを提供できる。
Therefore, the USB storage device according to
なお、情報の読み出し、書き込み、削除が可能な領域を第2の領域として有し、上位装置で発行された専用のコマンド体系でアクセス可能にUSBストレージデバイスを構成してもよい(請求項2)。ここで言う「専用のコマンド体系」というのは、第2の領域にアクセスするために上位装置で発行される体系的な一連のコマンドを言う。 The USB storage device may be configured to have an area where information can be read, written, and deleted as the second area, and to be accessible with a dedicated command system issued by the host device. . The “dedicated command system” here refers to a systematic series of commands issued by the host device to access the second area.
また、管理領域のベンダーユニーク情報記憶領域を第2の領域として有し、上位装置で発行された専用のコマンド体系によって、当該第2の領域に記憶されている情報の読み出しが可能に構成してもよい(請求項3)。 In addition, the management area has a vendor unique information storage area as a second area, and the information stored in the second area can be read by a dedicated command system issued by the host device. (Claim 3).
さらに、第2の領域として、ユーザーが情報の読み出し、書き込み、削除が可能な領域と管理領域のベンダーユニーク情報記憶領域をそれぞれ別個に有し、管理領域のベンダーユニーク情報記憶領域に記憶されているID情報を用いてその上位装置で使用可能か否かの認証を行い、これに成功したときに限り、専用のコマンド体系で情報の読み出し、書き込み削除が可能な第2の領域へのアクセスが可能に構成してもよい(請求項4)。このようになっていれば、第2の領域のセキュリティ性がさらに向上する。 Further, as the second area, the user can read, write and delete information separately and the management area vendor unique information storage area are separately stored in the management area vendor unique information storage area. The ID information is used to authenticate whether or not it can be used by the host device, and only when this is successful, access to the second area where information can be read and written and deleted using a dedicated command system is possible. (Claim 4). If it becomes like this, the security property of a 2nd area | region will further improve.
また、本USBストレージデバイスを上位装置に接続した際、第1の領域に記憶されているソフトウェアを自動実行させるように構成してもよい(請求項5)。このようになっていれば、USBストレージデバイスが上位装置に装着された際に上位装置がソフトウェアを自動実行する。 Further, when the present USB storage device is connected to the host device, the software stored in the first area may be automatically executed (claim 5). If this is the case, when the USB storage device is attached to the host device, the host device automatically executes the software.
また、上記課題を解決するためになされた請求項6に記載の制御装置は、USBストレージデバイスに搭載される制御装置であって、USBストレージデバイスが接続されるべき上位装置が有するUSBマスストレージクラスドライバのSCSIコマンドセットに定義された論理ユニット番号に対応し、USBストレージデバイスに設けられた記憶装置の第1の領域を、情報の読み出しのみ実行可能なユニットとしてUSBマスストレージクラスドライバに認識させるための当該領域のフォーマット情報と、上位装置が記憶装置の第2の領域に対してアクセスするベンダー専用のコマンドを解釈する手段を有し、上位装置のディスクドライブドライバによるコマンドの発行に応答して、上位装置のUSBマスストレージクラスドライバにフォーマット情報を供給して、USBマスストレージクラスドライバに当該制御装置が搭載されたUSBストレージデバイスを情報の読み出しのみを実行可能な論理ユニットを有するSCSIデバイスとして認識させるともに、上位装置から受け取ったSCSI標準コマンドによって第1の領域のデータの読み出しを行い、上位装置から受け取った第2の領域アクセス用の専用のコマンドによって第2の領域へのアクセスを実行する。
The control device according to
このような制御装置によれば、上位装置に対し、当該制御装置が搭載されたUSBストレージデバイスを、情報の読み出しのみを実行可能な論理ユニットを有するSCSIデバイスとして認識させるとともに、記憶手段の第1の領域は、上位装置から受け取ったSCSI標準コマンドによってそのデータの読み出しを行うことができる。第2の領域はオペレーティングシステムから不可視の領域となり、かつ、上位装置から受け取った当該第2の領域アクセス用の専用のコマンドによってそのアクセスが可能となる。この第2の領域は、例えば、論理ユニット番号の設定されないディスク領域(情報の読み出し、書き込み、削除が可能な領域)、及び/又は、記憶手段の管理領域のベンダーユニーク情報記憶領域(情報の読み出しのみが可能な領域)で構成される。したがって、第2の領域は、コンピュータウィルスやハッキングなどの不正アクセスに有効に対応でき、セキュリティ機能の高いUSBストレージデバイスを提供できる。 According to such a control device, the host device is made to recognize the USB storage device in which the control device is mounted as a SCSI device having a logical unit that can only read information, and the first storage unit. This area can be read by a SCSI standard command received from the host device. The second area is invisible to the operating system, and can be accessed by a dedicated command for accessing the second area received from the host device. This second area is, for example, a disk area in which no logical unit number is set (an area where information can be read, written, or deleted) and / or a vendor unique information storage area (information read) in the management area of the storage means. Only possible area). Therefore, the second area can effectively cope with unauthorized access such as computer viruses and hacking, and can provide a USB storage device with a high security function.
ところで、専用のコマンドは、USBマスストレージクラスドライバから発行されるSCSIベンダーコマンドであり、該コマンドで、データの読み出し、書き込み、削除が可能な第2の領域へのアクセスを実行するものであるとよい(請求項7)。 By the way, the dedicated command is a SCSI vendor command issued from the USB mass storage class driver, and the command executes access to the second area where data can be read, written and deleted. Good (Claim 7).
また、専用のコマンドは、上位装置でGet Device Serial Number APIがコールされてディスクドライブドライバから発行されるINQUIRYコマンドであり、該コマンドが複数回繰り返し発行されて、管理領域の製造シリアル番号を記憶した第2の領域に記憶されている253Byte以上の情報を252Byte以下の情報に分割して順に読み出すものであるとよい(請求項8)。 The dedicated command is an INQUIRY command issued from the disk drive driver when the Get Device Serial Number API is called in the host device, and the command is repeatedly issued multiple times to store the manufacturing serial number of the management area. The information of 253 bytes or more stored in the second area may be divided into information of 252 bytes or less and read sequentially.
このような専用のコマンドを制御装置が実行可能であれば、例えばWindows(登録商標)2000やWindows(登録商標)XP等のオペレーティングシステムの一般ユーザーが第2の領域に記憶されている253Byteを超える大きさのデータを読み出すことができる。 If the control device can execute such a dedicated command, for example, a general user of an operating system such as Windows (registered trademark) 2000 or Windows (registered trademark) XP exceeds the 253 bytes stored in the second area. Large data can be read out.
また、専用のコマンドは、Generic Readコマンドを用い、管理領域中のオペレーティングシステムが使用しない第2の領域の所定の論理ブロックアドレスに記憶されているベンダーユニーク情報を読み出すものであって、該コマンドが、はじめに、予め定められたセクターにアクセスして当該セクターに記憶されている以降順にアクセスすべき暗号化されている論理ブロックアドレスを読み出し、これが解読されて後、当該解読された論理ブロックアドレスに順にアクセスしたことを条件に、最終にアクセスした論理ブロックアドレスからベンダーユニーク情報を読み出すものであるとよい(請求項9)。 The dedicated command uses the Generic Read command to read the vendor unique information stored in the predetermined logical block address in the second area that is not used by the operating system in the management area. First, access a predetermined sector, read the encrypted logical block address to be accessed in order after being stored in the sector, and after decrypting this, sequentially read the decoded logical block address It is preferable that the vendor unique information is read from the logical block address accessed last, on condition that the access has been made.
このような専用のコマンドを制御装置が実行可能であれば、ベンダーユニーク情報のセキュリティ性が向上する。 If such a dedicated command can be executed by the control device, the security of the vendor unique information is improved.
以下、本発明が適用された実施例について図面を用いて説明する。尚、本発明の実施の形態は、下記の実施例に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態を採りうる。 Embodiments to which the present invention is applied will be described below with reference to the drawings. The embodiments of the present invention are not limited to the following examples, and can take various forms as long as they belong to the technical scope of the present invention.
図1は、ホスト10(特許請求の範囲に記載の上位装置に相当する)と、実施例のUSBストレージデバイス17の概略構成を示すブロック図である。
1.ホスト10の構成の説明
ホスト10は、一般に広く知られたパーソナルコンピュータであり、ソフトウェアとして、オペレーティングシステム11、第1領域読み出し用ソフトウェア12、第2領域アクセス用ソフトウェア13、USBマスストレージクラスドライバ14を少なくとも備え、ハードウェアとしてUSBホストコントローラ15を少なくとも備える。
FIG. 1 is a block diagram illustrating a schematic configuration of a host 10 (corresponding to a host device described in claims) and a
1. Description of Configuration of
オペレーティングシステム11は、ホスト10を統括的に制御するソフトウェアであり、具体的には例えばWindows(登録商標)やMac(登録商標)OS X等のソフトウェアである。
The
第1領域読み出し用ソフトウェア12は、オペレーティングシステム11によって提供されたアクセス手法によってUSBストレージデバイス17の後述する第1の領域(CD−ROM領域)に記憶されているイメージデータの読み出しを実行可能なソフトウェアである。
The first
第2領域アクセス用ソフトウェア13は、USBストレージデバイス17の後述する第2の領域に対し、その領域の性質に従って、そこに記憶されている情報の読み出しや書き込み、あるいは削除(これらを「アクセス」という)を行う専用のソフトウェアである。
The second
第1領域読み出し用ソフトウェア12と第2領域アクセス用ソフトウェア13は、特許請求範囲の「アプリケーションソフトウェア」に該当する。
USBマスストレージクラスドライバ14は、オペレーティングシステム11(オペレーティングシステムが有するディスクドライブドライバを含む)から受け取ったコマンドに基づいて、その対応するSCSIコマンドに変換し、USBホストコントローラ15を制御してそのSCSIコマンドをUSBストレージデバイス17に送信する。また、逆にUSBストレージデバイス17から受け取ったSCSIコマンドをオペレーティングシステム11(正確には、オペレーティングシステムが有するディスクドライブドライバ)が認識可能なコマンドに変換して当該オペレーティングシステム11に渡す。
The first area read
The USB mass
USBホストコントローラ15は、図示しないUSBコネクタを備え、他の装置のUSBコネクタとケーブルによって接続されることによって、USB規格に基づいた通信を行うことができるようになっている。なお、ホスト10は、USB規格に基づいた通信を行うことができる機器であれば、パーソナルコンピュータに限らずPDAや携帯電話等であってもよい。
The
2.USBストレージデバイス17の構成の説明
USBストレージデバイス17は、USBインターフェース19とコントローラ21とLED23とフラッシュメモリ25とを備える。
2. Description of Configuration of
(1)USBインターフェース19
USBインターフェース19は、特許請求の範囲に記載の通信手段に相当し、USBバス16を介してホスト10と通信を行う機能を担う。USBインターフェース19は、パケット送受信部19aとシリアルパラレル変換部19bとパケット生成分解部19cとUSBバスパワー制御部19dとを備える。パケット送受信部19aは、図示しないUSBコネクタと接続され、USB規格に基づいたパケットを送受信する。シリアルパラレル変換部19bは、シリアルデータとパラレルデータとを相互に変換する。パケット生成分解部19cは、ホスト10と通信を行うためのパケットの生成及びパケットを分解してデータの取り出しを行う。USBバスパワー制御部19dは、ホスト10から供給される電力の管理及びUSBストレージデバイス17の各部位への電力の配分を行う。
(1)
The
(2)コントローラ21
コントローラ21は、特許請求の範囲に記載の制御手段若しくは制御装置に相当し、メモリ制御部21aとUSBインターフェース制御部21bとメモリ情報記憶部21cとLED制御部21dとを備える。メモリ制御部21aは、フラッシュメモリ25に対してデータの読み出し、書き込み及び削除を実行する。USBインターフェース制御部21bは、前述したUSBインターフェース19の各部を制御する。メモリ情報記憶部21cは、フラッシュメモリ25の領域に関する情報を記憶する。この情報について、図2のデータ表を用いて説明する。
(2)
The
図2に示すように、メモリ情報記憶部21cは、論理ユニット番号、フォーマット、論理ブロック番号及び物理ブロック番号の対応関係を、領域(CD−ROM領域とディスク領域)毎に備えたものである。論理ユニット番号は、論理ユニットを識別するための番号であり、本実施例の場合、第1の領域であるCD−ROM領域についてのみ「0」として設定されており、第2の領域であるディスク領域については「設定なし」である。フォーマットは、その領域のフォーマットを表し、本実施例では、CD−ROM領域については「ISO9660」であり、ディスク領域については「ディスクフォーマット」である。また、論理ブロック番号というのは、ホスト10がアクセスする際にその領域に対応するファイル管理システムによって定まるブロック番号を意味し、物理ブロック番号というのは、フラッシュメモリ25の実ブロック番号を意味する(この「番号」というのはアドレスのことである。)この論理ブロック番号と物理ブロック番号の対応関係は領域毎に定義されている。
As shown in FIG. 2, the memory
なお、フラッシュメモリ25の物理ブロック番号と論理ブロック番号との対応付けは、メモリ情報記憶部21cが記憶する情報によって管理されている。このため、メモリ制御部21aが記憶する情報を変更することにより、物理ブロック番号と論理ブロック番号とは自由に対応付けを行うことができる。
The association between the physical block number and the logical block number of the
なお、第2の領域のフォーマットを専用フォーマットにしてもよい。専用フォーマットとは、ISOなどの国際標準規格に準拠したものや、FATやHFSなどの広く知られた標準的なフォーマットではなく、USBストレージデバイス17のベンダー独自のフォーマットを意味する。また、さらにディスク領域を増やし、コマンド体系によって、使い分けられるようになっていてもよい(例えば、後述するフラグを「10」、「11」・・にする)。
The format of the second area may be a dedicated format. The dedicated format means a format unique to the vendor of the
(3)LED23
図1に戻り、LED23は、フラッシュメモリ25に対してデータの読み出し、書き込み又は削除が実行されている際に点灯する発光体である。フラッシュメモリ25に対してデータの読み出し、書き込み又は削除が実行中であることを利用者に示し、これらの実行中にホスト10からUSBストレージデバイス17が抜かれないようにするためのものである。
(3) LED23
Returning to FIG. 1, the
(4)フラッシュメモリ25
フラッシュメモリ25は、不揮発性の半導体メモリであり、特許請求の範囲に記載の記憶手段に相当する。このフラッシュメモリ25について、図3の領域構成図を用いて説明する。なお、このような領域構成は、コントローラ21のメモリ情報記憶部21cが記憶する情報によって実現される。
(4)
The
図3に示すように、フラッシュメモリ25は、論理ユニット番号(LUN)が0でありオペレーティングシステム11から可視である第1の領域と、オペレーティングシステム11から不可視である第2の領域とに大きく分かれる。
As shown in FIG. 3, the
このうち第1の領域は、CD−ROM領域としてオペレーティングシステム11に認識される。第2の領域は、論理ユニット番号が設定されないディスク領域、及び/または、この記憶手段の管理領域で構成し得る。なお、CD−ROM領域とディスク領域とについて、本実施例ではユーザー領域と呼ぶ。
Of these, the first area is recognized by the
3.各処理の説明
(1)起動処理
USBストレージデバイス17がホスト10に接続された際に、USBストレージデバイス17のコントローラ21において実行される本USBストレージデバイス17の起動処理について図4のフローチャートを用いて説明する。なお、本処理は、コントローラ21に記憶されたプログラムに基づいて実行される。また、本処理は、USBストレージデバイス17がホスト10に接続されることにより、USBバスパワー制御部19dに電力が供給され、さらにホスト10側でエニュメレーション処理が実行されると開始される。
3. Description of Each Process (1) Activation Process The activation process of the
コントローラ21は本処理の実行が開始されると、ホスト10からの指令に応じて、ディスクリプタと呼ばれるデバイス情報(デフォルトパイプの最大パケットサイズ等)をホスト10に送信する(S110)。
When the execution of this process is started, the
次に、ホスト10からの指令に応じて、USBストレージデバイス17のアドレスを設定する(S115)。以降、このアドレス宛のフレームのみを当該USBストレージデバイス17は取得する。
Next, the address of the
次に、より詳細なデバイス情報をホスト10に送信する(S120)。このデバイス情報としては、エンドポイントに関する情報、クラス、サブクラス、プロトコル等である。
その結果、ホスト10ではUSBマスストレージクラスドライバ14が起動され、第1領域読み込み用ソフトウェア12からオペレーティングシステム11及びUSBマスストレージクラスドライバ14を介してUSBホストコントローラ15を制御するアクセスパスができる。
Next, more detailed device information is transmitted to the host 10 (S120). The device information includes information regarding end points, classes, subclasses, protocols, and the like.
As a result, the USB mass
また、USBマスストレージクラスドライバ14が、Get Max Logical Unit Numberコマンドによって、このデバイスの論理ユニット番号数を要求するため、コントローラ21は、メモリ情報記憶部21cに記憶されている論理ユニット数が1(1つの論理ユニットのみ有する)という情報を読み出して、ホスト10に送信する。そしてさらに、ディスクドライブドライバがINQUIRYコマンドを発行するため、コントローラ21は、メモリ情報記憶部21cに記憶されている、論理ユニット番号が設定されている領域のフォーマット情報を読み出してホスト10に送信する。これらの結果、ホスト10は、USBストレージデバイス17を、ISO9660フォーマットから構成される論理ユニット番号「0」の領域を有するSCSIデバイスと認識する。
Further, since the USB mass
ホスト10との通信が確立されると、フラッシュメモリ25を動作可能にし(S125)、デバイスの起動処理を終了する。
なお、Windows(登録商標)には、記憶媒体挿入時や記憶媒体接続時にその記憶媒体のルートディレクトリに記憶されたautorun.infという名称のファイル内で指定されたアプリケーションソフトウェアを実行する機能を有しているため、フラッシュメモリ25のCD−ROM領域にそのファイルを記憶させておけば、USBストレージデバイス17がホスト10に装着された際に上記ファイル内で指定されたアプリケーションソフトウェアを自動実行させることができる。
When communication with the
In Windows (registered trademark), autorun.com stored in the root directory of a storage medium when the storage medium is inserted or when the storage medium is connected. Since it has a function of executing the application software specified in the file named “inf”, if the file is stored in the CD-ROM area of the
このようになっていれば、利用者がホスト10の操作に不慣れであってもUSBストレージデバイス17を装着するだけで特定のアプリケーションソフトウェアが自動実行されるため、例えば販促品として広く一般に配布した場合に販促を担うアプリケーションソフトウェアを確実に実行させることができ、販促効果が高まる。
If this is the case, even if the user is unfamiliar with the operation of the
(2)第1の領域へのアクセス処理
次に、ホスト10において動作する第1領域読み出し用ソフトウェア12が、USBストレージデバイス17に対してデータの読み出しコマンドを送ると、コントローラ21は、SCSI標準コマンドで指定された内容を実行する。なお、本処理は、コントローラ21に記憶されたプログラムに基づいて実行される。
(2) Access processing to the first area Next, when the first
まず、第1領域読み出し用ソフトウェア12がCD−ROM領域へデータの読み込み要求を行ってデータを取得する流れについて説明する。ここで、ホスト10におけるドライブレターの対応状態は、ドライブレターAに対応するものがフレキシブルディスクドライブであり、ドライブレターBに対応するものがCD−ROMドライブ(実物としてのCD−ROMのドライブ)、ドライブレターCに対応するものがハードディスクであり、ドライブレターDに対応するものが、本USBストレージデバイス17のCD−ROM論理ユニットであるとする。
First, the flow in which the first
第1領域読み出し用ソフトウェア12が、Dドライブに対して、ユーザーが指定したファイルの読み込み要求をオペレーティングシステム11に対して行うと、オペレーティングシステム11はファイルアロケーションテーブル等を参照してDドライブがLUN=0であるCD−ROM論理ユニットであることを認識する(上記Bドライブのものとは別個のものとして認識される)。そして、オペレーティングシステム11は、USBマスストレージクラスドライバ14に対してLUN=0を指定して第1領域読み出し用ソフトウェア12から指定されたデータの読み込み要求を行う。この要求を受けたUSBマスストレージクラスドライバ14は、USBホストコントローラ15を制御し、SCSIコマンドセットの標準コマンド(LUN=0を指定した例えばRead(10)コマンド)をUSBストレージデバイス17へ送信させる。
When the first
USBホストコントローラ15がUSBストレージデバイス17から要求したデータを受け取ると、USBマスストレージクラスドライバ14に、その受け取ったデータを渡し、USBマスストレージクラスドライバ14は、受け取ったデータをさらにオペレーティングシステム11に渡す。USBマスストレージクラスドライバ14からデータを受け取ったオペレーティングシステム11は、受け取ったデータを第1領域読み出し用ソフトウェア12に渡す。こうして、ユーザーは、CD−ROM領域に記憶されている所望のデータを読み出すことができる。
When the
SCSI標準コマンドとしては、例えば、上記Read(10)コマンドを使用できる。この具体的なコマンドフォーマットは、図5(a)に示すように、最初の1バイトにオペレーションコード(Read(10)コマンドの場合は28h)が入り、次の1バイトにこの命令の対象論理ユニット番号(LUN=0)が入り、次の4バイトに論理ブロック番号が入り、1バイト空けて次の2バイトに転送データ長が入るという構成である。 As the SCSI standard command, for example, the Read (10) command can be used. As shown in FIG. 5 (a), the specific command format includes an operation code (28h in the case of Read (10) command) in the first 1 byte, and the target logical unit of this instruction in the next 1 byte. A number (LUN = 0) is entered, a logical block number is entered in the next 4 bytes, and a transfer data length is entered in the next 2 bytes after 1 byte is left.
ここで、「論理ブロック番号」というのは、上位装置がCD−ROM領域からデータを読み出す際に指定する番号(アドレス)である。1回の当該コマンドで読み出されるデータ量は、「転送データ長」で決定される。そして、必要な全データが読み出されるまで、このコマンドが繰り返し発行される。 Here, the “logical block number” is a number (address) designated when the host device reads data from the CD-ROM area. The amount of data read by one command is determined by the “transfer data length”. This command is issued repeatedly until all necessary data is read out.
本実施例のようにSCSI標準コマンドでCD−ROM領域にのみアクセスする場合は、当該領域はデータの読み出しのみが予定されたものであるから、オペレーティングシステム11はCD−ROM領域に対する書き込み指令を受け付けないように構成されている。したがって、本実施例には存在しないが、所定の論理ユニット番号(例えばLUN=1)に対応する書き込みも可能なディスク領域が存在する場合、SCSI標準コマンドであるWrite(10)コマンドを使用して当該ディスク領域に情報の書き込みを実行できる。尚、その具体的なコマンドフォーマットは、図5(b)に示すように、最初の1バイトにオペレーションコード(2Ah)が入り、次の1バイトにこの命令の対象論理ユニット番号(LUN=1)が入り、次の4バイトに論理ブロック番号が入り、1バイト空けて次の2バイトに転送データ長が入るという構成である。
When accessing only the CD-ROM area with the SCSI standard command as in this embodiment, the
(3)第2の領域へのアクセス処理
次に、ホスト10において動作する第2領域アクセス用ソフトウェア13が、USBストレージデバイス17に対してデータの読み出しなどのアクセスコマンドを送ると、コントローラ21は、当該第2の領域にアクセスする専用のコマンド体系で指令された内容を実行する。なお、本処理は、コントローラ21に記憶されたプログラムに基づいて実行される。
(3) Second Area Access Processing Next, when the second
ここで、第2領域アクセス用ソフトウェア13がディスク領域へデータの読み込み要求を行ってデータを取得する流れについて説明する。なお、ディスク領域は、論理ユニット番号に対応せず、オペレーティングシステムからは読めないようになっているため、ドライブレターは発行されない。
Here, the flow in which the second
第2領域アクセス用ソフトウェア13は、ユーザーの指令に従ったREAD要求を行い、そのコマンドを受け取ったオペレーティングシステム11はそのままUSBマスストレージクラスドライバ14に渡す。このコマンドを受けたUSBマスストレージクラスドライバ14は、USBホストコントローラ15を制御し、LUN=0を指定したV_Read(10)コマンドをUSBストレージデバイス17へ送信させる。
The second
そして、USBホストコントローラ15がUSBストレージデバイス17から要求したデータを受け取ると、USBマスストレージクラスドライバ14に受け取ったデータを渡し、USBマスストレージクラスドライバ14は受け取ったデータをさらにオペレーティングシステム11に渡す。USBマスストレージクラスドライバ14からデータを受け取ったオペレーティングシステム11は、受け取ったデータを第2領域アクセス用ソフトウェア13に渡す。
When the
V_Read(10)の具体的なコマンドフォーマットは、図5(c)に示すように、最初の1バイトにオペレーションコード(V_Read(10)コマンドの場合は一例としてXXh)が入り、次の1バイトにこの命令が発行される本USBストレージデバイス17の論理ユニット番号(LUN=0)が入り、次の4バイトに論理ブロック番号が入り、1バイト空けて次の2バイトに転送データ長が入るという構成である。なお、オペレーションコードを標準コマンドと同じにし、SCSIベンダーコマンドとして機能するためのフラグを2バイト目に追加するようにしてもよい(図5(e))。
As shown in FIG. 5C, the specific command format of V_Read (10) is an operation code (XXh as an example in the case of the V_Read (10) command) in the first 1 byte, and the next 1 byte. The logical unit number (LUN = 0) of this
ところで、これらのSCSIベンダーコマンドは、SCSI標準コマンドと同様にLUN=0が設定されるようになっているが、これは、本実施例の場合、LUN=1の論理ユニットが存在せず、第2の領域にアクセスする場合も、LUN=0の本USBストレージデバイス17を指定してコマンドを発行する必要があるためである。このとき、本USBストレージデバイスは自己に対するコマンドとして解釈し、当該コマンドのオペレーションコードを解釈してフラッシュメモリ25に対するコマンド処理へ移行する。即ち、デバイスのコントローラ21は、コマンドがベンダーコマンドである場合は、ディスク領域に対してそのコマンド内容を実行する。フラグが付されている場合も同じである。なお、ホスト10のUSBマスストレージクラスドライバ14が、LUNの設定されていないベンダーコマンドも問題なく透過するのであれば、第2の領域にアクセスする際にはベンダーコマンド中のLUN=0は設定されていなくてもよい。またオペレーションコードをベンダーコマンド固有のもので構成する場合(図5(c))、コントローラ21はそのオペレーションコードの意味を解釈する手段を有する必要があり、オペレーションコードをSCSI標準コマンドと同じにする場合は(図5(e))、フラグの意味を解釈する手段を有する必要がある。
By the way, in these SCSI vendor commands, LUN = 0 is set similarly to the SCSI standard command. However, in this embodiment, there is no logical unit of LUN = 1, and This is because it is necessary to issue a command by designating the
なお上記では詳述していないが、上記SCSIベンダーコマンドは、上位装置において、ASPIマネージャーから所定のAPI(SendASPI32コマンド)をコールして発行される。 Although not described in detail above, the SCSI vendor command is issued by calling a predetermined API (SendASPI32 command) from the ASPI manager in the host device.
また、図5(d)に示すV_Write(10)コマンドで、第2の領域へ所定の情報を書き込むことができる(固有のオペレーションコードを有する)。さらにSCSIベンダーコマンドを、図5(f)に示すようにそのオペレーションコードをSCSI標準コマンドのWrite(10)と同じにし、図5(e)のV_Read(10)同様、ベンダーコマンドであることを示すフラグを2Byte目に追加して、書き込み用のベンダーコマンドとして使用するようにしてもよい。 Also, predetermined information can be written to the second area (having a unique operation code) by the V_Write (10) command shown in FIG. Further, the SCSI vendor command has the same operation code as the SCSI standard command Write (10) as shown in FIG. 5 (f), and indicates that it is a vendor command like V_Read (10) in FIG. 5 (e). A flag may be added to the 2nd byte and used as a vendor command for writing.
上記論理ユニット番号が設定されていないディスク領域からなる第2の領域にアクセスするコマンド(SCSIベンダーコマンド)は、特許請求範囲の「当該第2の領域にアクセスする専用のコマンド」に該当する。 The command (SCSI vendor command) for accessing the second area consisting of the disk area where the logical unit number is not set corresponds to “dedicated command for accessing the second area” in the claims.
なお、Windows(登録商標)2000,Windows(登録商標)XPでは、Administrator以外は、ベンダーコマンドを自由に発行することが出来ない。よって、上記方法による第2の領域の情報の読み出し、書き込み、削除は、Windows(登録商標)2000,Windows(登録商標)XP以降のオペレーティングシステムにおいては、Administratorのみが実行可能な方法である。 In Windows (registered trademark) 2000 and Windows (registered trademark) XP, vendor commands other than Administrator cannot be issued freely. Therefore, reading, writing, and deletion of information in the second area by the above method is a method that can be executed only by Administrator in an operating system after Windows (registered trademark) 2000, Windows (registered trademark) XP.
そこで、以下、Windows(登録商標)2000,Windows(登録商標)XP以降のオペレーティングシステムにおいて、Administrator以外の一般ユーザーが実行可能な、特定領域にアクセスするためのコマンド体系について説明する。 Therefore, a command system for accessing a specific area that can be executed by a general user other than Administrator in an operating system of Windows (registered trademark) 2000, Windows (registered trademark) XP or later will be described below.
(4) 第2の領域への一般ユーザーのアクセス方法
以下、USBストレージデバイス17の起動後、フラッシュメモリ25の管理領域である、製造シリアル番号記憶領域にベンダーが記憶させたベンダーユニーク情報(253バイト以上のデータの場合を含む)を、一般ユーザーが当該ホスト10で取得(読み出し)する手順について説明する。
(4) General user access method to the second area Hereinafter, after the
(第1の方法)
USBストレージデバイス17内の処理(ホスト10からのコマンドの解釈、およびその実行)は、前述したコントローラ21が行うものである。
(First method)
Processing in the USB storage device 17 (interpretation and execution of commands from the host 10) is performed by the
本方法の特徴は、(1)ホスト10側より「Get Device Serial Number API」を複数回コールすることにある。API(Application Program Interface)は、オペレーティングシステム11がアプリケーションに対して公開しているプログラムインターフェースで、第2領域アクセス用ソフトウェア13(前述した実施例のものとは当然異なる)は、基本的に、すべての処理をこのAPIを経由して行うものである。現在一般的なオペレーティングシステムのAPIは関数の形式をとっており、アプリケーションからは、適当なパラメータ(引数)を指定して、APIの関数を呼び出している。
The feature of this method is that (1) “Get Device Serial Number API” is called a plurality of times from the
そして、(2)APIコール毎にSCSI標準コマンドであるINQUIRYコマンド(ページコード80h)で製造シリアル番号の読み出し指令を発行する。
また、(3)当該コマンドの発行毎に、SCSIデバイスから製造シリアル番号として記憶されているデータを252Byte以下のデータに分割して順次応答させる。
(2) For each API call, a manufacturing serial number read command is issued with an INQUIRY command (page code 80h) which is a SCSI standard command.
(3) Each time the command is issued, the data stored as the manufacturing serial number from the SCSI device is divided into data of 252 bytes or less and sequentially responded.
(4)全応答が終了して後、分割して応答されたデータを応答された順にシリアルに接続し、253バイト以上のオリジナルデータを取得するものである。
より具体的には、APIコール毎に、INQUIRYコマンドで、SCSIデバイスから応答させるべき内容を、「応答順位」、「応答される製造シリアル番号のデータ長」、「実際の製造シリアル番号のデータ」の順に、それぞれそのバイト数とともに指定して読み出し指令を実行する。このことを下記に詳しく説明する。
(4) After all responses are completed, the divided and responded data are serially connected in the order in which they are responded to obtain original data of 253 bytes or more.
More specifically, for each API call, the contents to be responded from the SCSI device with the INQUIRY command are “response order”, “data length of the responding manufacturing serial number”, “data of actual manufacturing serial number”. In this order, the read command is executed with the number of bytes specified. This will be described in detail below.
今、デバイス内に記憶されている製造シリアル番号が253バイト以上であると仮定する。このSCSIデバイスに対して、ホストからAPIコール毎にINQUIRYコマンドで、“Index”(応答順位)、“Length”(応答される製造シリアル番号のデータ長)、“Data”(実際の製造シリアル番号データ)の順に、また、それぞれのデータ長を、“Index”は1Byte、“Length”は1Byte、
“Data”(実際の製造シリアル番号データ)は252Byte以内と定義し、これに準拠したフォーマットで返答するよう指令する。
Now, assume that the manufacturing serial number stored in the device is 253 bytes or more. For this SCSI device, an INQUIRY command is sent for each API call from the host, and “Index” (response order), “Length” (data length of the responding manufacturing serial number), “Data” (actual manufacturing serial number data) ) And the respective data lengths, “Index” is 1 Byte, “Length” is 1 Byte,
“Data” (actual manufacturing serial number data) is defined as being within 252 bytes, and commands to respond in a format compliant with this.
最初の“Index”は、製造シリアル番号が253バイト以上の場合、複数のAPIコール、即ち、複数回のINQUIRYコマンドの発行を行うため、いま返答されたベンダーユニーク情報が何番目の応答かを示すためのものである。この“Index”は、最初の応答を「1」とし、順に一つずつ値を加算させ、最後の応答である場合には“Index”で「0」を応答させる。これは、当該応答に属する製造シリアル番号のデータが252バイト未満(最後の応答)であることをコントローラ21が確認したときの応答である。“Index”が「0」であることにより、ホスト10は当該応答が最終であることを確認できる。このとき“Data”には、当該応答における製造シリアル番号の最終データが割り当てられる。
The first “Index” indicates the number of the response of the vendor unique information that has just been returned in order to issue a plurality of API calls, that is, a plurality of INQUIRY commands, when the manufacturing serial number is 253 bytes or more. Is for. In this “Index”, the first response is “1”, values are added one by one in order, and “0” is returned in “Index” when it is the last response. This is a response when the
こうして得られた情報より、ホスト10は、各応答で得られた製造シリアル番号が、その“Length”で指定した長さと一致するか(最終応答を除き)を確認し、“Index”「1」から「2」「3」・・「最終値(0)」までに得られた製造シリアル番号データ(“Data”の内容)をシリアルに接続する。これにより得られた結果が、オリジナルな製造シリアル番号(ベンダーユニーク情報)である。
From the information thus obtained, the
以下、ホスト10への応答例を説明する。
例えば、64Byteの製造シリアル番号を一度に応答する場合は、表1のようになる。
Hereinafter, a response example to the
For example, when responding to the manufacturing serial number of 64 bytes at a time, it becomes as shown in Table 1.
この表1で、Indexが「0」であることから、製造シリアル番号の読み出しがこれの1回のみで完結したことを示す。又、Lengthが64とあるのは、本応答に属する製造シリアル番号のデータが64Byteであることを示す。尚、実際のホスト10に対する返答は、バイナリーコードで行われ得る。
In Table 1, since Index is “0”, it indicates that the reading of the manufacturing serial number is completed only once. The length of 64 indicates that the manufacturing serial number data belonging to this response is 64 bytes. The response to the
次に、64Byteの製造シリアル番号を、16Byte毎に4回に分けて応答する場合は表2のようになる。 Next, when responding by dividing the manufacturing serial number of 64 bytes into 4 times every 16 bytes, it becomes as shown in Table 2.
この製造シリアル番号は、ベンダーが各SCSIデバイスにその製品固有の番号(ベンダーユニーク情報)に割り当てるため、デバイスのコントローラ21は当該シリアル番号を、当該デバイス(あるいはその使用者)のID番号として使用することができる。そのため、USBストレージデバイスのユーザーは、当該SCSIデバイスの製造シリアル番(ID情報)を個人認証用の情報として使用することができる。
Since this vendor serial number is assigned to each SCSI device by a product-specific number (vendor unique information), the
また、この領域の容量は、ベンダーが自由に決定できるため、ベンダーである企業ユーザーが専用の書き込みソフトウェアを使用して、製造シリアル番号(ID番号)の他、任意の情報、例えば、社員や会員のみが閲覧すべき文書やデータを記憶させておくことができる。 In addition, since the capacity of this area can be determined freely by the vendor, the company user who is the vendor uses the dedicated writing software, and in addition to the manufacturing serial number (ID number), any information such as employees and members Only documents and data that should be viewed can be stored.
上記管理領域の製造シリアル番号記憶領域である第2の領域にアクセスするコマンド(コントローラ21が直接受けるもの)は、特許請求範囲の「当該第2の領域にアクセスする専用のコマンド」に該当する。 The command for accessing the second area which is the manufacturing serial number storage area of the management area (directly received by the controller 21) corresponds to “a dedicated command for accessing the second area” in the claims.
また、上述した、SCSI標準コマンドセットの論理ユニット番号に対応しない、情報の読み出し、書き込み、削除が可能な第2の領域にその専用のコマンドでアクセスする際、コントローラ21で管理領域のベンダーユニーク情報記憶領域からID番号を読み出して認証を行なわせ(上位装置から送られる認証用情報との同定)、認証が成功した場合のみ、専用のコマンドで当該領域の情報にアクセス可能に構成してもよい。即ち、第2の領域として、SCSI標準コマンドセットの論理ユニット番号に対応しない、情報の読み出し、書き込み、削除が可能な領域と、管理領域のベンダーユニーク情報記憶領域の両者を設け、それそれ、その専用のコマンド体系でそれら領域にアクセス可能に構成するものである。こうすれば、SCSI標準コマンドセットの論理ユニット番号に対応しない、情報の読み出し、書き込み、削除が可能な領域へのアクセスに対し、一層のセキュリティ効果を発揮できる。
When the
(第2の方法)
次に、前述のWindows(登録商標)2000、Windows(登録商標)XPの他、Mac(登録商標)OS Xを含むOS環境下で使用されるSCSIデバイスから、ベンダーユニーク情報を取得する方法について説明する(一般ユーザーも可能)。
(Second method)
Next, a method for acquiring vendor unique information from a SCSI device used in an OS environment including Mac (registered trademark) OS X in addition to the above-described Windows (registered trademark) 2000 and Windows (registered trademark) XP will be described. Yes (can be a general user).
Mac(登録商標)OS Xからは、USBマスストレージデバイスのリムーバブルディスクに対して、アプリケーションから直接SCSIコマンドを発行できない。しかし、「Generic Readコマンド」は自由に使用できるため、オペレーティングシステム11が使用しないセクターの所定のアドレスにベンダーユニーク情報を記憶しておき、このGeneric Readコマンドを用い、当該記憶領域に記憶されている情報をホスト10で読み出すものである。通常は、この管理領域には、通常意味のないデータが書かれているか、または物理的に存在しないため、通常のホスト10の読み出し指令に対してはエラーステータスが返答されるものである。
From Mac (registered trademark) OS X, an SCSI command cannot be issued directly from an application to a removable disk of a USB mass storage device. However, since the “Generic Read command” can be used freely, vendor unique information is stored at a predetermined address of a sector not used by the
そこで、この管理領域の記憶アドレスとは異なる他のアドレスに、記憶アドレスを最終として以降順にアクセスすべき論理ブロックアドレスを暗号化して記憶しておき、それを復号化(暗号解読)し、これに順にアクセスして、記憶アドレスからそこに記憶されているベンダーユニーク情報を読み出すものである。尚、この記憶領域はストレージデバイスの論理領域に対して物理的に存在する必要はなく、デバイスプログラムの中に仮想的に存在してもよい。 Therefore, the logical block address to be accessed in the order of the storage address is encrypted and stored in another address different from the storage address of this management area, and it is decrypted (decrypted). The vendor unique information stored therein is read out from the storage address in order. Note that this storage area does not need to physically exist in the logical area of the storage device, and may exist virtually in the device program.
以下、具体例を示す。
今、オペレーティングシステム11がストレージとして使用する領域がLBA(論理ブロックアドレス)で、0から10000とした場合、LBA15000に、以降順にアクセスすべき論理ブロックアドレスを暗号化したデータを記憶しておく。今そのアドレスを、27000、10001、18888、43000とする(この例では暗号化はしていないものとする)。最終アドレスであるLBA43000にはベンダーユニーク情報を記憶しておく。
(正しい手順)
(1)LBA15000を読み出す。27000、10001、18888、43000の暗号化されたものが読み出される。
(2)暗号を解読する。
(3)LBA27000を読み出す。データは、ALL 0など意味のないものを返す。
(4)LBA10001を読み出す。データは、ALL 0など意味のないものを返す。
(5)LBA18888を読み出す。データは、ALL 0など意味のないものを返す。
(6)LBA43000を読み出す。ベンダーユニーク情報を返す。
(7)このアドレスがアクセスされた時点で、再び正規手順でなければ読み出しが不可能な状態にする。
Specific examples are shown below.
If the area used as storage by the
(Correct procedure)
(1) Read LBA15000. The encrypted data of 27000, 10001, 18888, and 43000 are read out.
(2) Decrypt the code.
(3) Read LBA 27000. The data returns meaningless data such as ALL 0.
(4) Read LBA10001. The data returns meaningless data such as ALL 0.
(5) Read LBA18888. The data returns meaningless data such as ALL 0.
(6) Read LBA43000. Returns the vendor unique information.
(7) When this address is accessed, it is set in a state where it cannot be read unless it is a regular procedure again.
尚、下記に誤った手順について説明すると、
先ず、LBA43000をいきなり読み出した場合には、エラーステータス Sector Not Foundを返し、ベンダーユニーク情報の取得ができない。
If you explain the wrong procedure below,
First, when the LBA 43000 is suddenly read, the error status Sector Not Found is returned, and the vendor unique information cannot be acquired.
又、LBA10001を読み出したときにも、エラーステータス Sector Not Foundを返す。以下、シーケンシャルに逐次読み出してもすべてエラーステータス Sector Not Foundを返す。 Also, when the LBA 10001 is read, the error status Sector Not Found is returned. After that, even if sequentially reading, all return error status Sector Not Found.
そして、LBA15000を読み出した段階で、27000、10001、18888、43000の暗号化されたものが読み出されるが、これを復号化できない限り、このデータは意味のないものになる。 When the LBA 15000 is read, the encrypted data of 27000, 10001, 18888, and 43000 are read, but this data is meaningless unless it can be decrypted.
また、LBA15001を読み出しても、エラーステータス Sector Not Foundを返す。以下、シーケンシャルに逐次読み出しても、すべてエラーステータス Sector Not Foundを返す。 Even if LBA 15001 is read, the error status Sector Not Found is returned. Thereafter, even if sequentially reading sequentially, all return the error status Sector Not Found.
なお、Generic Readコマンドの解釈及びその実行は、コントローラ21が行うが、前述した第1の方法とはその処理プログラムが異なっていることは言うまでもない。
そして復号化プログラムは、コントローラ21に内蔵することができる。これによって、USBストレージデバイス17内蔵してなるコントローラ21により、ベンダーが構築したアーキテクチャーに沿った読み出し、並びに暗号解読を行わない限り、ベンダーユニーク情報(ID情報)の読み取りは不可能な構成とするものである。
Although the
The decryption program can be built in the
本実施形態で述べた、i)SCSI標準コマンドセットの論理ユニット番号に対応しない、情報の読み出し、書き込み、削除が可能な領域、ii)管理領域のベンダーユニーク情報記憶領域(製造シリアル番号記憶領域)、iii)オペレーティングシステムが使用しない管理領域 (製造シリアル番号記憶領域とは異なるもの)の三者とも、特許請求範囲の「第2の領域」に相当する。どれか一つだけでも、あるいは、それらの任意のものを複合して用いてもよい。 As described in this embodiment, i) an area that does not correspond to the logical unit number of the SCSI standard command set and can read, write, and delete information, ii) a vendor unique information storage area (manufacturing serial number storage area) in the management area Iii) The three management areas not used by the operating system (different from the manufacturing serial number storage area) correspond to the “second area” in the claims. Any one of them or any combination thereof may be used.
上記管理領域のオペレーティングシステムが使用しない管理領域(製造シリアル番号記憶領域とは異なるもの)からなる第2の領域にアクセスするコマンド(コントローラ21が直接受けるもの)は、特許請求範囲の「当該第2の領域にアクセスする専用のコマンド」に該当する。 A command for accessing a second area consisting of a management area (different from the manufacturing serial number storage area) that is not used by the operating system of the management area (which is directly received by the controller 21) is “the second concerned”. Corresponds to “dedicated command to access the area”.
また、本願の各実施例で述べた第2の領域にアクセスするために上位装置で発行される一連のコマンドは、特許請求の範囲の「専用のコマンド体系」に該当する。
なお、上記実施例では、LUN=0として設定された領域(第1の領域)をホスト10のUSBマスストレージクラスドライバ14にCD−ROM領域として認識させるようになっていたが、DVD−ROM領域として認識させるようになっていてもよい。その際には、そのDVD−ROM領域のフォーマットとしては例えばUDF(Universal Disk Format)を用いることができる。
A series of commands issued by the host device to access the second area described in each embodiment of the present application corresponds to the “dedicated command system” in the claims.
In the above embodiment, the area (first area) set as LUN = 0 is recognized by the USB mass
また、ホスト10として、パーソナルコンピュータを例に挙げて説明したが、本発明のUSBストレージデバイスは、産業機械のCPUで制御される基板に実装してもよい。この場合、その基板を制御するCPUが本発明の上位装置に該当する。
Although the personal computer has been described as an example of the
10…ホスト、11…オペレーティングシステム、12…第1領域読み出し用ソフトウェア、13…第2領域アクセス用ソフトウェア、14…USBマスストレージクラスドライバ、15…USBホストコントローラ、16…USBバス、17…USBストレージデバイス、19…USBインターフェース、19a…パケット送受信部、19b…シリアルパラレル変換部、19c…パケット生成分解部、19d…USBバスパワー制御部、21…コントローラ、21a…メモリ制御部、21b…USBインターフェース制御部、21c…メモリ情報記憶部、21d…LED制御部、23…LED、25…フラッシュメモリ。
DESCRIPTION OF
Claims (9)
フラッシュメモリの記憶領域を少なくとも第1の領域と第2の領域に分けて定義してなる記憶手段と、
前記上位装置とUSBプロトコルに基づいた通信を行う通信手段と、
前記通信手段を介して受け取ったコマンドに基づいて、前記記憶手段に対して情報の読み出し、書き込み又は削除を実行する制御手段と、
を備え、
前記制御手段は、
前記第1の領域を、前記上位装置が有するUSBマスストレージクラスドライバのSCSIコマンドセットに定義された一の論理ユニット番号に対応する情報の読み出しのみを実行可能なユニットとして前記USBマスストレージクラスドライバに認識させるための当該第1の領域のフォーマット情報を記憶しており、
前記ディスクドライブドライバからの指令に従って、前記第1の領域のフォーマット情報を前記USBマスストレージクラスドライバに供給して、そのUSBマスストレージクラスドライバに、当該USBストレージデバイスを情報の読み出しのみ可能な論理ユニットを有する一つのSCSIデバイスとして認識させると共に、
前記第1の領域に対しては、前記上位装置から受け取った前記SCSIコマンドセットの標準コマンドに基づいて情報の読み出しのみを実行し、
前記第2の領域に対しては、当該第2の領域にアクセスするための専用のコマンドに基づきアクセス可能に構成されてなることを特徴とするUSBストレージデバイス。 A USB storage device that is controlled by a predetermined operating system including a disk drive driver and is used by being connected to a host device having predetermined application software, a USB mass storage class driver, and a USB host controller,
Storage means for defining the storage area of the flash memory divided into at least a first area and a second area;
Communication means for performing communication based on the USB protocol with the host device;
Control means for reading, writing, or deleting information from the storage means based on a command received via the communication means;
With
The control means includes
The first area is assigned to the USB mass storage class driver as a unit that can only read information corresponding to one logical unit number defined in the SCSI command set of the USB mass storage class driver of the host device. Storing the format information of the first area for recognition,
A logical unit that can supply format information of the first area to the USB mass storage class driver in accordance with a command from the disk drive driver, and can read only the information from the USB storage device to the USB mass storage class driver. As a single SCSI device with
For the first area, only read information based on the standard command of the SCSI command set received from the host device,
The USB storage device, wherein the second area is configured to be accessible based on a dedicated command for accessing the second area.
USBストレージデバイスが接続されるべき上位装置が有するUSBマスストレージクラスドライバのSCSIコマンドセットに定義された論理ユニット番号に対応し、USBストレージデバイスに設けられた記憶装置の第1の領域を、情報の読み出しのみ実行可能なユニットとして前記USBマスストレージクラスドライバに認識させるための当該領域のフォーマット情報と、上位装置が前記記憶装置の第2の領域に対してアクセスするベンダー専用のコマンドを解釈する手段を有し、
上位装置のディスクドライブドライバによるコマンドの発行に応答して、前記上位装置のUSBマスストレージクラスドライバに前記フォーマット情報を供給して、前記USBマスストレージクラスドライバに当該制御装置が搭載されたUSBストレージデバイスを前記情報の読み出しのみを実行可能な論理ユニットを有するSCSIデバイスとして認識させるともに、
前記上位装置から受け取ったSCSI標準コマンドによって前記第1の領域のデータの読み出しを行い、前記上位装置から受け取った前記第2の領域アクセス用の専用のコマンドによって前記第2の領域へのアクセスを実行することを特徴とする制御装置。 A control device mounted on a USB storage device,
The first area of the storage device provided in the USB storage device corresponding to the logical unit number defined in the SCSI command set of the USB mass storage class driver of the host device to which the USB storage device should be connected Means for interpreting the format information of the area to be recognized by the USB mass storage class driver as a unit that can only execute reading, and a vendor-specific command for the host device to access the second area of the storage device Have
In response to the command issued by the disk drive driver of the host device, the format information is supplied to the USB mass storage class driver of the host device, and the USB storage device in which the control device is mounted in the USB mass storage class driver Is recognized as a SCSI device having a logical unit capable of only reading the information,
The data in the first area is read by a SCSI standard command received from the host apparatus, and the second area is accessed by a dedicated command for accessing the second area received from the host apparatus. A control device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004074762A JP2005266934A (en) | 2004-03-16 | 2004-03-16 | Usb storage device and controller therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004074762A JP2005266934A (en) | 2004-03-16 | 2004-03-16 | Usb storage device and controller therefor |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005266934A true JP2005266934A (en) | 2005-09-29 |
Family
ID=35091455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004074762A Pending JP2005266934A (en) | 2004-03-16 | 2004-03-16 | Usb storage device and controller therefor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005266934A (en) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006201968A (en) * | 2005-01-19 | 2006-08-03 | Yamaha Corp | Recording/reproducing device for audio data |
WO2006121251A1 (en) * | 2005-05-06 | 2006-11-16 | Iocell Co., Ltd. | Data structure of flash memory having system area with variable size in which data can be updated, usb memory device having the flash memory, and method of controlling the system area |
JP2006344206A (en) * | 2005-06-08 | 2006-12-21 | Feitian Technologies Co Ltd | Universal serial bus data transmission method and device performing its method |
JP2009266112A (en) * | 2008-04-28 | 2009-11-12 | Brother Ind Ltd | Information processor |
JP2010157819A (en) * | 2008-12-26 | 2010-07-15 | Brother Ind Ltd | Encoding device of usb device |
US7797504B2 (en) | 2006-12-20 | 2010-09-14 | Lg Electronics Inc. | Device for processing information based on stored identifiers and a working method therof. |
US7930466B2 (en) | 2007-03-01 | 2011-04-19 | Seiko Epson Corporation | Storage terminal, information processing apparatus, and information processing system |
JP2012058832A (en) * | 2010-09-06 | 2012-03-22 | Ryoin Co Ltd | Setting method of storage device and network connection |
JP2013058179A (en) * | 2011-08-18 | 2013-03-28 | Yuji Oishi | External storage device and control method thereof |
US9225527B1 (en) | 2014-08-29 | 2015-12-29 | Coban Technologies, Inc. | Hidden plug-in storage drive for data integrity |
US9307317B2 (en) | 2014-08-29 | 2016-04-05 | Coban Technologies, Inc. | Wireless programmable microphone apparatus and system for integrated surveillance system devices |
US10152858B2 (en) | 2016-05-09 | 2018-12-11 | Coban Technologies, Inc. | Systems, apparatuses and methods for triggering actions based on data capture and characterization |
US10165171B2 (en) | 2016-01-22 | 2018-12-25 | Coban Technologies, Inc. | Systems, apparatuses, and methods for controlling audiovisual apparatuses |
US10370102B2 (en) | 2016-05-09 | 2019-08-06 | Coban Technologies, Inc. | Systems, apparatuses and methods for unmanned aerial vehicle |
US10789840B2 (en) | 2016-05-09 | 2020-09-29 | Coban Technologies, Inc. | Systems, apparatuses and methods for detecting driving behavior and triggering actions based on detected driving behavior |
CN112084524A (en) * | 2020-09-30 | 2020-12-15 | 北京智芯微电子科技有限公司 | USB flash disk access method and USB flash disk |
-
2004
- 2004-03-16 JP JP2004074762A patent/JP2005266934A/en active Pending
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006201968A (en) * | 2005-01-19 | 2006-08-03 | Yamaha Corp | Recording/reproducing device for audio data |
JP4525357B2 (en) * | 2005-01-19 | 2010-08-18 | ヤマハ株式会社 | Audio data recording / reproducing device |
WO2006121251A1 (en) * | 2005-05-06 | 2006-11-16 | Iocell Co., Ltd. | Data structure of flash memory having system area with variable size in which data can be updated, usb memory device having the flash memory, and method of controlling the system area |
JP2006344206A (en) * | 2005-06-08 | 2006-12-21 | Feitian Technologies Co Ltd | Universal serial bus data transmission method and device performing its method |
JP4663572B2 (en) * | 2005-06-08 | 2011-04-06 | フェイシャン・テクノロジーズ・カンパニー・リミテッド | Universal serial bus data transmission method and device implementing the method |
US7797504B2 (en) | 2006-12-20 | 2010-09-14 | Lg Electronics Inc. | Device for processing information based on stored identifiers and a working method therof. |
US8065500B2 (en) | 2006-12-20 | 2011-11-22 | Lg Electronics Inc. | Device for processing information and working method thereof |
US7930466B2 (en) | 2007-03-01 | 2011-04-19 | Seiko Epson Corporation | Storage terminal, information processing apparatus, and information processing system |
JP2009266112A (en) * | 2008-04-28 | 2009-11-12 | Brother Ind Ltd | Information processor |
JP2010157819A (en) * | 2008-12-26 | 2010-07-15 | Brother Ind Ltd | Encoding device of usb device |
JP2012058832A (en) * | 2010-09-06 | 2012-03-22 | Ryoin Co Ltd | Setting method of storage device and network connection |
JP2013058179A (en) * | 2011-08-18 | 2013-03-28 | Yuji Oishi | External storage device and control method thereof |
US9225527B1 (en) | 2014-08-29 | 2015-12-29 | Coban Technologies, Inc. | Hidden plug-in storage drive for data integrity |
US9307317B2 (en) | 2014-08-29 | 2016-04-05 | Coban Technologies, Inc. | Wireless programmable microphone apparatus and system for integrated surveillance system devices |
US10165171B2 (en) | 2016-01-22 | 2018-12-25 | Coban Technologies, Inc. | Systems, apparatuses, and methods for controlling audiovisual apparatuses |
US10152858B2 (en) | 2016-05-09 | 2018-12-11 | Coban Technologies, Inc. | Systems, apparatuses and methods for triggering actions based on data capture and characterization |
US10152859B2 (en) | 2016-05-09 | 2018-12-11 | Coban Technologies, Inc. | Systems, apparatuses and methods for multiplexing and synchronizing audio recordings |
US10370102B2 (en) | 2016-05-09 | 2019-08-06 | Coban Technologies, Inc. | Systems, apparatuses and methods for unmanned aerial vehicle |
US10789840B2 (en) | 2016-05-09 | 2020-09-29 | Coban Technologies, Inc. | Systems, apparatuses and methods for detecting driving behavior and triggering actions based on detected driving behavior |
CN112084524A (en) * | 2020-09-30 | 2020-12-15 | 北京智芯微电子科技有限公司 | USB flash disk access method and USB flash disk |
CN112084524B (en) * | 2020-09-30 | 2023-10-13 | 北京智芯微电子科技有限公司 | USB flash disk access method and USB flash disk |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7415571B1 (en) | Disk drive and method for using a mailbox file associated with a disk storage medium for performing a function characterized by contents of the mailbox file | |
JP4663572B2 (en) | Universal serial bus data transmission method and device implementing the method | |
US8745277B2 (en) | Command portal for securely communicating and executing non-standard storage subsystem commands | |
US9026683B1 (en) | Command portal for executing non-standard storage subsystem commands | |
JP2005266934A (en) | Usb storage device and controller therefor | |
US7370166B1 (en) | Secure portable storage device | |
US8356118B2 (en) | Storage device and storage device access control method | |
US20060253620A1 (en) | Data structure of flash memory having system area with variable size in which data can be updated, USB memory device having the flash memory, and method of controlling the system area | |
US7941579B2 (en) | Communication system for authenticating authority of host device for accessing storage medium set to periphery device | |
JP5349114B2 (en) | Storage device | |
US20120124380A1 (en) | Usb composite device and method therefor | |
US20030070099A1 (en) | System and methods for protection of data stored on a storage medium device | |
JP2003271429A (en) | Storage device resource managing method, storage resource managing program, recording medium recording the program, and storage resource managing device | |
US20130191636A1 (en) | Storage device, host device, and information processing method | |
WO2023143646A2 (en) | Data security protection method, device and system, security control framework and storage medium | |
US20160234185A1 (en) | Storage device, information processing system, authentication method, and non-transitory computer readable medium | |
JP3914949B2 (en) | USB storage device, control device thereof, and program for causing control device to execute | |
JP4767619B2 (en) | External storage device and SBC control method | |
JP2006079634A5 (en) | ||
JP3699717B2 (en) | USB storage device and control device thereof | |
JP4829126B2 (en) | Method for controlling a data processing device | |
JP2004171536A5 (en) | ||
JP2007220063A (en) | Usb storage device and method of controlling same | |
US8479300B2 (en) | Method for transmitting data and preventing unauthorized data duplication for human-machine interface device using mass storage class operating on universal serial bus | |
JP4807667B2 (en) | Communication system and peripheral device used therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060724 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090715 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090721 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090902 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20091006 |