JP2005266934A - Usb storage device and controller therefor - Google Patents

Usb storage device and controller therefor Download PDF

Info

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
Application number
JP2004074762A
Other languages
Japanese (ja)
Inventor
Takahide Kitajima
貴秀 北島
Kaihei Ito
海平 伊藤
Tetsuo Tanigawa
哲夫 谷川
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.)
Hagiwara Sys Com Co Ltd
Original Assignee
Hagiwara Sys Com Co 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 Hagiwara Sys Com Co Ltd filed Critical Hagiwara Sys Com Co Ltd
Priority to JP2004074762A priority Critical patent/JP2005266934A/en
Publication of JP2005266934A publication Critical patent/JP2005266934A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a USB storage device having a reading-dedicated storage area wherein previously stored information is not erroneously deleted, and also having a storage area protected from illegal hacking of a computer virus or the like. <P>SOLUTION: In this USB storage device, a storage area of a semiconductor memory is defined in a state that the storage area is divided into at least a first area and a second area. The first area is set as an area wherein only reading of information accessable by a SCSI standard command corresponding to a logic unit number is executable. The second area is an area invisible from an operating system, and is accessable only by a dedicated command system. <P>COPYRIGHT: (C)2005,JPO&NCIPI

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領域に記憶させて頒布するような場合に好適である。
特開2004−54896号公報
With such a USB storage device, information stored in advance in the CD-ROM area is not accidentally or intentionally erased. Therefore, it is particularly suitable when commercial information or the like is stored in the CD-ROM area and distributed.
JP 2004-54896 A

ところで、このような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 claim 1, which has been made to solve the above problem, is controlled by a predetermined operating system including a disk drive driver, and also includes predetermined application software, a USB mass storage class driver, and a USB host controller. A USB storage device that is used by connecting to a host device comprising: a storage means that defines a storage area of a flash memory divided into at least a first region and a second region; a host device and a USB protocol And a control unit that executes reading, writing, or deletion of information with respect to the storage unit based on a command received via the communication unit. Then, the control unit uses the first storage as a unit that can execute only reading of information corresponding to one logical unit number defined in the SCSI command set of the USB mass storage class driver of the host device. The format information of the first area to be recognized by the class driver is stored, and the format information of the first area is supplied to the USB mass storage class driver in accordance with a command from the disk drive driver, and the USB mass storage class driver is supplied. The storage class driver is made to recognize the USB storage device as one SCSI device having a logical unit that can only read information, and for the first area, the standard command of the SCSI command set received from the host device is used. On the basis of Only the execution broadcast read, for the second region, accessible constructed based on a dedicated command for accessing the second area.

このような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 claim 1 is protected from the computer virus program and illegal hacking because the access is accepted only by a dedicated command and the first area from which information can be read by the application software of the operating system standard. A USB storage device having a second area can be provided.

なお、情報の読み出し、書き込み、削除が可能な領域を第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 claim 6, which has been made to solve the above-described problem, is a control device mounted on a USB storage device, and a USB mass storage class included in a host device to which the USB storage device is to be connected. In order for the USB mass storage class driver to recognize 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 driver as a unit that can only read information. In response to the issuance of the command by the disk drive driver of the host device, and the host device has a means for interpreting the vendor-specific command for accessing the second region of the storage device. For the USB mass storage class driver of the host device By supplying mat information, the USB mass storage class driver recognizes the USB storage device on which the control device is mounted as a SCSI device having a logical unit capable of only reading information, and receives the SCSI standard received from the host device. Data in the first area is read by a command, and access to the second area is executed by a dedicated command for accessing the second area received from the host device.

このような制御装置によれば、上位装置に対し、当該制御装置が搭載された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 USB storage device 17 of an embodiment.
1. Description of Configuration of Host 10 The host 10 is a generally known personal computer, and includes an operating system 11, first area reading software 12, second area access software 13, and USB mass storage class driver 14 as software. It includes at least a USB host controller 15 as hardware.

オペレーティングシステム11は、ホスト10を統括的に制御するソフトウェアであり、具体的には例えばWindows(登録商標)やMac(登録商標)OS X等のソフトウェアである。   The operating system 11 is software that comprehensively controls the host 10, and specifically, software such as Windows (registered trademark) and Mac (registered trademark) OS X, for example.

第1領域読み出し用ソフトウェア12は、オペレーティングシステム11によって提供されたアクセス手法によってUSBストレージデバイス17の後述する第1の領域(CD−ROM領域)に記憶されているイメージデータの読み出しを実行可能なソフトウェアである。   The first area reading software 12 is software that can execute reading of image data stored in a first area (CD-ROM area) described later of the USB storage device 17 by an access method provided by the operating system 11. It is.

第2領域アクセス用ソフトウェア13は、USBストレージデバイス17の後述する第2の領域に対し、その領域の性質に従って、そこに記憶されている情報の読み出しや書き込み、あるいは削除(これらを「アクセス」という)を行う専用のソフトウェアである。   The second area access software 13 reads, writes, or deletes information stored in a second area (described later) of the USB storage device 17 according to the nature of the area (referred to as “access”). ).

第1領域読み出し用ソフトウェア12と第2領域アクセス用ソフトウェア13は、特許請求範囲の「アプリケーションソフトウェア」に該当する。
USBマスストレージクラスドライバ14は、オペレーティングシステム11(オペレーティングシステムが有するディスクドライブドライバを含む)から受け取ったコマンドに基づいて、その対応するSCSIコマンドに変換し、USBホストコントローラ15を制御してそのSCSIコマンドをUSBストレージデバイス17に送信する。また、逆にUSBストレージデバイス17から受け取ったSCSIコマンドをオペレーティングシステム11(正確には、オペレーティングシステムが有するディスクドライブドライバ)が認識可能なコマンドに変換して当該オペレーティングシステム11に渡す。
The first area read software 12 and the second area access software 13 correspond to “application software” in the claims.
The USB mass storage class driver 14 converts the SCSI command into a corresponding SCSI command based on a command received from the operating system 11 (including a disk drive driver included in the operating system), and controls the USB host controller 15 to control the SCSI command. Is transmitted to the USB storage device 17. Conversely, the SCSI command received from the USB storage device 17 is converted into a command that can be recognized by the operating system 11 (more precisely, a disk drive driver included in the operating system) and passed to the operating system 11.

USBホストコントローラ15は、図示しないUSBコネクタを備え、他の装置のUSBコネクタとケーブルによって接続されることによって、USB規格に基づいた通信を行うことができるようになっている。なお、ホスト10は、USB規格に基づいた通信を行うことができる機器であれば、パーソナルコンピュータに限らずPDAや携帯電話等であってもよい。   The USB host controller 15 includes a USB connector (not shown), and is connected to a USB connector of another device through a cable so that communication based on the USB standard can be performed. The host 10 is not limited to a personal computer, but may be a PDA, a mobile phone, or the like as long as it can perform communication based on the USB standard.

2.USBストレージデバイス17の構成の説明
USBストレージデバイス17は、USBインターフェース19とコントローラ21とLED23とフラッシュメモリ25とを備える。
2. Description of Configuration of USB Storage Device 17 The USB storage device 17 includes a USB interface 19, a controller 21, an LED 23, and a flash memory 25.

(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) USB interface 19
The USB interface 19 corresponds to communication means described in the claims, and has a function of communicating with the host 10 via the USB bus 16. The USB interface 19 includes a packet transmission / reception unit 19a, a serial / parallel conversion unit 19b, a packet generation / decomposition unit 19c, and a USB bus power control unit 19d. The packet transmitting / receiving unit 19a is connected to a USB connector (not shown) and transmits / receives a packet based on the USB standard. The serial / parallel converter 19b mutually converts serial data and parallel data. The packet generation / decomposition unit 19c generates a packet for communicating with the host 10 and extracts the data by decomposing the packet. The USB bus power control unit 19 d performs management of power supplied from the host 10 and distribution of power to each part of the USB storage device 17.

(2)コントローラ21
コントローラ21は、特許請求の範囲に記載の制御手段若しくは制御装置に相当し、メモリ制御部21aとUSBインターフェース制御部21bとメモリ情報記憶部21cとLED制御部21dとを備える。メモリ制御部21aは、フラッシュメモリ25に対してデータの読み出し、書き込み及び削除を実行する。USBインターフェース制御部21bは、前述したUSBインターフェース19の各部を制御する。メモリ情報記憶部21cは、フラッシュメモリ25の領域に関する情報を記憶する。この情報について、図2のデータ表を用いて説明する。
(2) Controller 21
The controller 21 corresponds to the control means or control device described in the claims, and includes a memory control unit 21a, a USB interface control unit 21b, a memory information storage unit 21c, and an LED control unit 21d. The memory control unit 21 a executes data reading, writing, and deletion with respect to the flash memory 25. The USB interface control unit 21b controls each unit of the USB interface 19 described above. The memory information storage unit 21 c stores information regarding the area of the flash memory 25. This information will be described using the data table of FIG.

図2に示すように、メモリ情報記憶部21cは、論理ユニット番号、フォーマット、論理ブロック番号及び物理ブロック番号の対応関係を、領域(CD−ROM領域とディスク領域)毎に備えたものである。論理ユニット番号は、論理ユニットを識別するための番号であり、本実施例の場合、第1の領域であるCD−ROM領域についてのみ「0」として設定されており、第2の領域であるディスク領域については「設定なし」である。フォーマットは、その領域のフォーマットを表し、本実施例では、CD−ROM領域については「ISO9660」であり、ディスク領域については「ディスクフォーマット」である。また、論理ブロック番号というのは、ホスト10がアクセスする際にその領域に対応するファイル管理システムによって定まるブロック番号を意味し、物理ブロック番号というのは、フラッシュメモリ25の実ブロック番号を意味する(この「番号」というのはアドレスのことである。)この論理ブロック番号と物理ブロック番号の対応関係は領域毎に定義されている。   As shown in FIG. 2, the memory information storage unit 21c has a correspondence relationship between a logical unit number, a format, a logical block number, and a physical block number for each area (CD-ROM area and disk area). The logical unit number is a number for identifying a logical unit. In this embodiment, only the CD-ROM area which is the first area is set as “0” and the disk which is the second area. The area is “no setting”. The format represents the format of the area. In the present embodiment, the CD-ROM area is “ISO9660” and the disk area is “disk format”. The logical block number means a block number determined by the file management system corresponding to the area when the host 10 accesses, and the physical block number means an actual block number of the flash memory 25 ( The “number” is an address.) The correspondence between the logical block number and the physical block number is defined for each area.

なお、フラッシュメモリ25の物理ブロック番号と論理ブロック番号との対応付けは、メモリ情報記憶部21cが記憶する情報によって管理されている。このため、メモリ制御部21aが記憶する情報を変更することにより、物理ブロック番号と論理ブロック番号とは自由に対応付けを行うことができる。   The association between the physical block number and the logical block number of the flash memory 25 is managed by information stored in the memory information storage unit 21c. For this reason, the physical block number and the logical block number can be freely associated by changing the information stored in the memory control unit 21a.

なお、第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 USB storage device 17, not a format conforming to an international standard such as ISO or a widely known standard format such as FAT or HFS. Further, the disk area may be further increased so that it can be properly used depending on the command system (for example, flags described later are set to “10”, “11”,...).

(3)LED23
図1に戻り、LED23は、フラッシュメモリ25に対してデータの読み出し、書き込み又は削除が実行されている際に点灯する発光体である。フラッシュメモリ25に対してデータの読み出し、書き込み又は削除が実行中であることを利用者に示し、これらの実行中にホスト10からUSBストレージデバイス17が抜かれないようにするためのものである。
(3) LED23
Returning to FIG. 1, the LED 23 is a light emitter that is lit when data is being read from, written to, or deleted from the flash memory 25. This is to indicate to the user that data is being read from, written to, or deleted from the flash memory 25, and to prevent the USB storage device 17 from being removed from the host 10 during these operations.

(4)フラッシュメモリ25
フラッシュメモリ25は、不揮発性の半導体メモリであり、特許請求の範囲に記載の記憶手段に相当する。このフラッシュメモリ25について、図3の領域構成図を用いて説明する。なお、このような領域構成は、コントローラ21のメモリ情報記憶部21cが記憶する情報によって実現される。
(4) Flash memory 25
The flash memory 25 is a non-volatile semiconductor memory and corresponds to a storage unit described in the claims. The flash memory 25 will be described with reference to the area configuration diagram of FIG. Such a region configuration is realized by information stored in the memory information storage unit 21c of the controller 21.

図3に示すように、フラッシュメモリ25は、論理ユニット番号(LUN)が0でありオペレーティングシステム11から可視である第1の領域と、オペレーティングシステム11から不可視である第2の領域とに大きく分かれる。   As shown in FIG. 3, the flash memory 25 is largely divided into a first area that has a logical unit number (LUN) of 0 and is visible from the operating system 11, and a second area that is invisible from the operating system 11. .

このうち第1の領域は、CD−ROM領域としてオペレーティングシステム11に認識される。第2の領域は、論理ユニット番号が設定されないディスク領域、及び/または、この記憶手段の管理領域で構成し得る。なお、CD−ROM領域とディスク領域とについて、本実施例ではユーザー領域と呼ぶ。   Of these, the first area is recognized by the operating system 11 as a CD-ROM area. The second area can be constituted by a disk area in which no logical unit number is set and / or a management area of this storage means. Note that the CD-ROM area and the disk area are called user areas in this embodiment.

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 USB storage device 17 executed by the controller 21 of the USB storage device 17 when the USB storage device 17 is connected to the host 10 will be described with reference to the flowchart of FIG. explain. This process is executed based on a program stored in the controller 21. This process is started when the USB storage device 17 is connected to the host 10 so that power is supplied to the USB bus power control unit 19d and the enumeration process is executed on the host 10 side.

コントローラ21は本処理の実行が開始されると、ホスト10からの指令に応じて、ディスクリプタと呼ばれるデバイス情報(デフォルトパイプの最大パケットサイズ等)をホスト10に送信する(S110)。   When the execution of this process is started, the controller 21 transmits device information called a descriptor (such as the maximum packet size of the default pipe) to the host 10 in response to a command from the host 10 (S110).

次に、ホスト10からの指令に応じて、USBストレージデバイス17のアドレスを設定する(S115)。以降、このアドレス宛のフレームのみを当該USBストレージデバイス17は取得する。   Next, the address of the USB storage device 17 is set according to a command from the host 10 (S115). Thereafter, the USB storage device 17 acquires only the frame addressed to this address.

次に、より詳細なデバイス情報をホスト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 storage class driver 14 is activated in the host 10, and an access path for controlling the USB host controller 15 from the first area reading software 12 through the operating system 11 and the USB mass storage class driver 14 is created.

また、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 storage class driver 14 requests the number of logical unit numbers of this device by the Get Max Logical Unit Number command, the controller 21 has the number of logical units stored in the memory information storage unit 21c as 1 ( Information having only one logical unit) is read and transmitted to the host 10. Further, in order for the disk drive driver to issue an INQUIRY command, the controller 21 reads the format information stored in the memory information storage unit 21c and in which the logical unit number is set, and transmits it to the host 10. As a result, the host 10 recognizes the USB storage device 17 as a SCSI device having an area of the logical unit number “0” composed of the ISO9660 format.

ホスト10との通信が確立されると、フラッシュメモリ25を動作可能にし(S125)、デバイスの起動処理を終了する。
なお、Windows(登録商標)には、記憶媒体挿入時や記憶媒体接続時にその記憶媒体のルートディレクトリに記憶されたautorun.infという名称のファイル内で指定されたアプリケーションソフトウェアを実行する機能を有しているため、フラッシュメモリ25のCD−ROM領域にそのファイルを記憶させておけば、USBストレージデバイス17がホスト10に装着された際に上記ファイル内で指定されたアプリケーションソフトウェアを自動実行させることができる。
When communication with the host 10 is established, the flash memory 25 is enabled (S125), and the device activation process is terminated.
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 flash memory 25, the USB storage device 17 is attached to the host 10. When this happens, the application software specified in the file can be automatically executed.

このようになっていれば、利用者がホスト10の操作に不慣れであってもUSBストレージデバイス17を装着するだけで特定のアプリケーションソフトウェアが自動実行されるため、例えば販促品として広く一般に配布した場合に販促を担うアプリケーションソフトウェアを確実に実行させることができ、販促効果が高まる。   If this is the case, even if the user is unfamiliar with the operation of the host 10, the specific application software is automatically executed just by attaching the USB storage device 17. For example, when widely distributed as a promotional product Application software responsible for sales promotion can be executed reliably, and the sales promotion effect is enhanced.

(2)第1の領域へのアクセス処理
次に、ホスト10において動作する第1領域読み出し用ソフトウェア12が、USBストレージデバイス17に対してデータの読み出しコマンドを送ると、コントローラ21は、SCSI標準コマンドで指定された内容を実行する。なお、本処理は、コントローラ21に記憶されたプログラムに基づいて実行される。
(2) Access processing to the first area Next, when the first area reading software 12 operating in the host 10 sends a data read command to the USB storage device 17, the controller 21 executes the SCSI standard command. The content specified in is executed. This process is executed based on a program stored in the controller 21.

まず、第1領域読み出し用ソフトウェア12がCD−ROM領域へデータの読み込み要求を行ってデータを取得する流れについて説明する。ここで、ホスト10におけるドライブレターの対応状態は、ドライブレターAに対応するものがフレキシブルディスクドライブであり、ドライブレターBに対応するものがCD−ROMドライブ(実物としてのCD−ROMのドライブ)、ドライブレターCに対応するものがハードディスクであり、ドライブレターDに対応するものが、本USBストレージデバイス17のCD−ROM論理ユニットであるとする。   First, the flow in which the first area reading software 12 makes a data reading request to the CD-ROM area and acquires the data will be described. Here, the correspondence state of the drive letter in the host 10 is a flexible disk drive corresponding to the drive letter A, a CD-ROM drive (actual CD-ROM drive) corresponding to the drive letter B, Assume that the drive letter C corresponds to the hard disk, and the drive letter D corresponds to the CD-ROM logical unit of the USB storage device 17.

第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 area reading software 12 requests the operating system 11 to read the file specified by the user to the D drive, the operating system 11 refers to the file allocation table and the like so that the D drive has LUN = Recognize that it is a CD-ROM logical unit of 0 (recognized as separate from that of the B drive). Then, the operating system 11 designates LUN = 0 to the USB mass storage class driver 14 and makes a read request for data designated by the first area read software 12. Upon receiving this request, the USB mass storage class driver 14 controls the USB host controller 15 to transmit a standard command of the SCSI command set (for example, Read (10) command specifying LUN = 0) to the USB storage device 17.

USBホストコントローラ15がUSBストレージデバイス17から要求したデータを受け取ると、USBマスストレージクラスドライバ14に、その受け取ったデータを渡し、USBマスストレージクラスドライバ14は、受け取ったデータをさらにオペレーティングシステム11に渡す。USBマスストレージクラスドライバ14からデータを受け取ったオペレーティングシステム11は、受け取ったデータを第1領域読み出し用ソフトウェア12に渡す。こうして、ユーザーは、CD−ROM領域に記憶されている所望のデータを読み出すことができる。   When the USB host controller 15 receives the requested data from the USB storage device 17, the received data is passed to the USB mass storage class driver 14, and the USB mass storage class driver 14 further passes the received data to the operating system 11. . The operating system 11 that has received the data from the USB mass storage class driver 14 passes the received data to the first area reading software 12. In this way, the user can read out desired data stored in the CD-ROM area.

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 operating system 11 accepts a write command for the CD-ROM area because the area is only intended for data reading. Is configured to not. Therefore, if there is a disk area that is writable corresponding to a predetermined logical unit number (for example, LUN = 1) that does not exist in this embodiment, the Write (10) command, which is a SCSI standard command, is used. Information can be written to the disk area. As shown in FIG. 5B, the specific command format includes an operation code (2Ah) in the first 1 byte and the target logical unit number (LUN = 1) of this instruction in the next 1 byte. Is entered, the logical block number is entered in the next 4 bytes, and the transfer data length is entered in the next 2 bytes after 1 byte is left.

(3)第2の領域へのアクセス処理
次に、ホスト10において動作する第2領域アクセス用ソフトウェア13が、USBストレージデバイス17に対してデータの読み出しなどのアクセスコマンドを送ると、コントローラ21は、当該第2の領域にアクセスする専用のコマンド体系で指令された内容を実行する。なお、本処理は、コントローラ21に記憶されたプログラムに基づいて実行される。
(3) Second Area Access Processing Next, when the second area access software 13 operating in the host 10 sends an access command such as data read to the USB storage device 17, the controller 21 The contents instructed by a dedicated command system for accessing the second area are executed. This process is executed based on a program stored in the controller 21.

ここで、第2領域アクセス用ソフトウェア13がディスク領域へデータの読み込み要求を行ってデータを取得する流れについて説明する。なお、ディスク領域は、論理ユニット番号に対応せず、オペレーティングシステムからは読めないようになっているため、ドライブレターは発行されない。   Here, the flow in which the second area access software 13 makes a data read request to the disk area and acquires the data will be described. Since the disk area does not correspond to the logical unit number and cannot be read from the operating system, a drive letter is not issued.

第2領域アクセス用ソフトウェア13は、ユーザーの指令に従ったREAD要求を行い、そのコマンドを受け取ったオペレーティングシステム11はそのままUSBマスストレージクラスドライバ14に渡す。このコマンドを受けたUSBマスストレージクラスドライバ14は、USBホストコントローラ15を制御し、LUN=0を指定したV_Read(10)コマンドをUSBストレージデバイス17へ送信させる。   The second area access software 13 makes a READ request in accordance with a user command, and the operating system 11 that has received the command passes it to the USB mass storage class driver 14 as it is. Upon receiving this command, the USB mass storage class driver 14 controls the USB host controller 15 to transmit a V_Read (10) command designating LUN = 0 to the USB storage device 17.

そして、USBホストコントローラ15がUSBストレージデバイス17から要求したデータを受け取ると、USBマスストレージクラスドライバ14に受け取ったデータを渡し、USBマスストレージクラスドライバ14は受け取ったデータをさらにオペレーティングシステム11に渡す。USBマスストレージクラスドライバ14からデータを受け取ったオペレーティングシステム11は、受け取ったデータを第2領域アクセス用ソフトウェア13に渡す。   When the USB host controller 15 receives the requested data from the USB storage device 17, the received data is passed to the USB mass storage class driver 14, and the USB mass storage class driver 14 further passes the received data to the operating system 11. The operating system 11 that has received the data from the USB mass storage class driver 14 passes the received data to the second area access software 13.

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 USB storage device 17 to which this command is issued is entered, the logical block number is entered in the next 4 bytes, the transfer data length is entered in the next 2 bytes after 1 byte is left It is. Note that the operation code may be the same as the standard command, and a flag for functioning as a SCSI vendor command may be added to the second byte (FIG. 5E).

ところで、これらの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 USB storage device 17 with LUN = 0 even when accessing the area 2. At this time, the USB storage device interprets it as a command for itself, interprets the operation code of the command, and shifts to command processing for the flash memory 25. That is, if the command is a vendor command, the device controller 21 executes the command content for the disk area. The same applies when a flag is attached. If the USB mass storage class driver 14 of the host 10 transmits a vendor command for which no LUN is set without any problem, LUN = 0 in the vendor command is set when accessing the second area. It does not have to be. In the case where the operation code is configured by a vendor command (FIG. 5C), the controller 21 needs to have means for interpreting the meaning of the operation code, and the operation code is the same as the SCSI standard command. (FIG. 5E) needs to have means for interpreting the meaning of the flag.

なお上記では詳述していないが、上記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 USB storage device 17 is activated, the vendor unique information (253 bytes) stored in the manufacturing serial number storage area, which is the management area of the flash memory 25, is stored. A procedure for a general user to acquire (read) the above data (including the case of the above data) from the host 10 will be described.

(第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 controller 21 described above.

本方法の特徴は、(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 host 10 side. An API (Application Program Interface) is a program interface that is disclosed to the application by the operating system 11, and the second area access software 13 (which is naturally different from that of the above-described embodiment) is basically all. This process is performed via this API. Currently, an API of a general operating system takes the form of a function, and an API function is called from an application by specifying an appropriate parameter (argument).

そして、(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 controller 21 confirms that the manufacturing serial number data belonging to the response is less than 252 bytes (last response). When “Index” is “0”, the host 10 can confirm that the response is final. At this time, the final data of the manufacturing serial number in the response is assigned to “Data”.

こうして得られた情報より、ホスト10は、各応答で得られた製造シリアル番号が、その“Length”で指定した長さと一致するか(最終応答を除き)を確認し、“Index”「1」から「2」「3」・・「最終値(0)」までに得られた製造シリアル番号データ(“Data”の内容)をシリアルに接続する。これにより得られた結果が、オリジナルな製造シリアル番号(ベンダーユニーク情報)である。   From the information thus obtained, the host 10 confirms whether or not the manufacturing serial number obtained in each response matches the length designated by the “Length” (except for the final response), and “Index” “1”. Serial number data (contents of “Data”) obtained up to “2”, “3”,..., “Final value (0)”. The result thus obtained is the original manufacturing serial number (vendor unique information).

以下、ホスト10への応答例を説明する。
例えば、64Byteの製造シリアル番号を一度に応答する場合は、表1のようになる。
Hereinafter, a response example to the host 10 will be described.
For example, when responding to the manufacturing serial number of 64 bytes at a time, it becomes as shown in Table 1.

Figure 2005266934
Figure 2005266934

この表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 actual host 10 can be made in binary code.

次に、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.

Figure 2005266934
Figure 2005266934

この製造シリアル番号は、ベンダーが各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 device controller 21 uses the serial number as the ID number of the device (or its user). be able to. Therefore, the user of the USB storage device can use the manufacturing serial number (ID information) of the SCSI device as information for personal authentication.

また、この領域の容量は、ベンダーが自由に決定できるため、ベンダーである企業ユーザーが専用の書き込みソフトウェアを使用して、製造シリアル番号(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 controller 21 accesses the second area that does not correspond to the logical unit number of the SCSI standard command set and can read, write, and delete information with the dedicated command, the controller 21 uses the vendor unique information of the management area. The ID number is read from the storage area and authentication is performed (identification with the authentication information sent from the host device), and only when the authentication is successful, the information in the area can be accessed with a dedicated command. . That is, as the second area, there are provided an area where information can be read, written and deleted, and a vendor unique information storage area of the management area, which do not correspond to the logical unit number of the SCSI standard command set. These areas are configured to be accessible with a dedicated command system. In this way, a further security effect can be exerted against access to an area where information can be read, written and deleted, which does not correspond to the logical unit number of the SCSI standard command set.

(第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 operating system 11 and stored in the storage area using this Generic Read command. Information is read by the host 10. Normally, in this management area, normally meaningless data is written or does not physically exist, so an error status is returned in response to a normal read command of the host 10.

そこで、この管理領域の記憶アドレスとは異なる他のアドレスに、記憶アドレスを最終として以降順にアクセスすべき論理ブロックアドレスを暗号化して記憶しておき、それを復号化(暗号解読)し、これに順にアクセスして、記憶アドレスからそこに記憶されているベンダーユニーク情報を読み出すものである。尚、この記憶領域はストレージデバイスの論理領域に対して物理的に存在する必要はなく、デバイスプログラムの中に仮想的に存在してもよい。   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 operating system 11 is an LBA (logical block address) and is set from 0 to 10,000, data obtained by encrypting logical block addresses to be accessed in order is stored in the LBA 15000. The addresses are now 27000, 10001, 18888, and 43000 (in this example, encryption is not performed). Vendor unique information is stored in LBA 43000 which is the final address.
(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 controller 21 interprets and executes the generic read command, it goes without saying that its processing program is different from the first method described above.
The decryption program can be built in the controller 21. As a result, the controller 21 built in the USB storage device 17 is configured such that the vendor unique information (ID information) cannot be read unless the reading according to the architecture constructed by the vendor and the decryption are performed. Is.

本実施形態で述べた、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 storage class driver 14 of the host 10 as the CD-ROM area. You may be made to recognize as. In that case, as a format of the DVD-ROM area, for example, UDF (Universal Disk Format) can be used.

また、ホスト10として、パーソナルコンピュータを例に挙げて説明したが、本発明のUSBストレージデバイスは、産業機械のCPUで制御される基板に実装してもよい。この場合、その基板を制御するCPUが本発明の上位装置に該当する。   Although the personal computer has been described as an example of the host 10, the USB storage device of the present invention may be mounted on a board controlled by a CPU of an industrial machine. In this case, the CPU that controls the board corresponds to the host device of the present invention.

USBストレージデバイスの構成を示すブロック図である。It is a block diagram which shows the structure of a USB storage device. メモリ情報記憶部に記憶されているデータを説明するためのデータ表である。It is a data table for demonstrating the data memorize | stored in the memory information storage part. 記憶手段の領域構成を説明するための説明図である。It is explanatory drawing for demonstrating the area | region structure of a memory | storage means. 本USBストレージデバイスの起動処理を説明するためのフローチャートである。It is a flowchart for demonstrating the starting process of this USB storage device. コマンドフォーマットを説明するための説明図である。It is explanatory drawing for demonstrating a command format.

符号の説明Explanation of symbols

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 SYMBOLS 10 ... Host, 11 ... Operating system, 12 ... First area read software, 13 ... Second area access software, 14 ... USB mass storage class driver, 15 ... USB host controller, 16 ... USB bus, 17 ... USB storage Device 19 ... USB interface 19a ... Packet transmission / reception unit 19b ... Serial parallel conversion unit 19c ... Packet generation / decomposition unit 19d ... USB bus power control unit 21 ... Controller 21a ... Memory control unit 21b ... USB interface control Part, 21c ... memory information storage part, 21d ... LED control part, 23 ... LED, 25 ... flash memory.

Claims (9)

ディスクドライブドライバを含む所定のオペレーティングシステムによって制御されると共に、所定のアプリケーションソフトウェア、USBマスストレージクラスドライバ、及びUSBホストコントローラを具備する上位装置へ接続して用いられるUSBストレージデバイスであって、
フラッシュメモリの記憶領域を少なくとも第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.
情報の読み出し、書き込み、削除が可能な領域を第2の領域として有し、前記上位装置で発行された専用のコマンド体系でアクセス可能に構成したことを特徴とする、請求項1記載のUSBストレージデバイス。   2. The USB storage according to claim 1, wherein the second storage has an area from which information can be read, written and deleted, and is accessible by a dedicated command system issued by the host device. device. 管理領域のベンダーユニーク情報記憶領域を第2の領域として有し、前記上位装置で発行された専用のコマンド体系によって、当該第2の領域に記憶されている情報の読み出しが可能であることを特徴とする、請求項1または2記載のUSBストレージデバイス。   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. The USB storage device according to claim 1 or 2. 第2の領域として、ユーザーが情報の読み出し、書き込み、削除が可能な領域と管理領域のベンダーユニーク情報記憶領域をそれぞれ別個に有し、管理領域のベンダーユニーク情報記憶領域に記憶されているID情報を用いてその上位装置で使用可能か否かの認証を行い、これに成功したときに限り、前記専用のコマンド体系で前記情報の読み出し、書き込み削除が可能な第2の領域へのアクセスが可能に構成してなることを特徴とする、請求項2を引用する請求項3記載のUSBストレージデバイス。   ID information stored in the vendor unique information storage area of the management area as a second area, which has a separate area where the user can read, write, and delete information and a vendor unique information storage area of the management area It is possible to access the second area where the information can be read / written and deleted by the dedicated command system only when it is successfully used. The USB storage device according to claim 3, which is configured as follows. 本USBストレージデバイスを上位装置に接続した際、前記第1の領域に記憶されているソフトウェアを自動実行させるように構成してなることを特徴とする、請求項1乃至4いずれか1項記載のUSBストレージデバイス。   5. The system according to claim 1, wherein when the USB storage device is connected to a host device, the software stored in the first area is automatically executed. 6. USB storage device. USBストレージデバイスに搭載される制御装置であって、
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.
前記専用のコマンドは、USBマスストレージクラスドライバから発行されるSCSIベンダーコマンドであり、該コマンドで、データの読み出し、書き込み、削除が可能な前記第2の領域へのアクセスを実行することを特徴とする、請求項6記載の制御装置。   The dedicated command is a SCSI vendor command issued from a USB mass storage class driver, and the command executes access to the second area where data can be read, written, and deleted. The control device according to claim 6. 前記専用のコマンドは、上位装置でGet Device Serial Number APIがコールされてディスクドライブドライバから発行されるINQUIRYコマンドであり、該コマンドが複数回繰り返し発行されて、管理領域の製造シリアル番号を記憶した第2の領域に記憶されている253Byte以上の情報を252Byte以下の情報に分割して順に読み出すことを特徴とする、請求項6記載の制御装置。   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. 7. The control device according to claim 6, wherein information of 253 bytes or more stored in the area of 2 is divided into information of 252 bytes or less and sequentially read. 前記専用のコマンドは、Generic Readコマンドを用い、管理領域中のオペレーティングシステムが使用しない第2の領域の所定の論理ブロックアドレスに記憶されているベンダーユニーク情報を読み出すものであって、該コマンドが、はじめに、予め定められたセクターにアクセスして当該セクターに記憶されている以降順にアクセスすべき暗号化されている論理ブロックアドレスを読み出し、これが解読されて後、当該解読された論理ブロックアドレスに順にアクセスしたことを条件に、最終にアクセスした論理ブロックアドレスからベンダーユニーク情報を読み出すものであることを特徴とする、請求項6記載の制御装置。   The dedicated command uses a generic read command to read vendor unique information stored in a predetermined logical block address in a second area that is not used by the operating system in the management area. First, access to a predetermined sector, read the encrypted logical block address to be accessed in order after being stored in the sector, and after this is decoded, access the decoded logical block address in order 7. The control apparatus according to claim 6, wherein the vendor unique information is read out from the logical block address accessed last, on condition that it has been done.
JP2004074762A 2004-03-16 2004-03-16 Usb storage device and controller therefor Pending JP2005266934A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (21)

* Cited by examiner, † Cited by third party
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