JP2007207089A - External storage device controller and program - Google Patents

External storage device controller and program Download PDF

Info

Publication number
JP2007207089A
JP2007207089A JP2006027076A JP2006027076A JP2007207089A JP 2007207089 A JP2007207089 A JP 2007207089A JP 2006027076 A JP2006027076 A JP 2006027076A JP 2006027076 A JP2006027076 A JP 2006027076A JP 2007207089 A JP2007207089 A JP 2007207089A
Authority
JP
Japan
Prior art keywords
flag
computer device
supplied
storage
capacity
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
JP2006027076A
Other languages
Japanese (ja)
Inventor
Shinichiro Fujita
信一郎 藤田
Hiroshi Yakushiji
浩 薬師寺
Koji Nakao
浩二 中尾
Shinya Torii
慎也 鳥井
Kenkyu Yana
賢九 梁
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2006027076A priority Critical patent/JP2007207089A/en
Publication of JP2007207089A publication Critical patent/JP2007207089A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To prevent hang-up while connecting a large-capacity external storage device to a PC (Personal Computer) in power supply. <P>SOLUTION: This external equipment controller 100 has: a flag storage means 102 storing a flag showing that a predetermined specific instruction is supplied from the computer device; an error message output means 103 outputting an error message to the computer device when a capacity request instruction requesting supply of a value showing storage capacity is supplied from the computer device when the flag is stored in the flag storage means 102; a detection means 104 detecting that a reset instruction instructing a reset of a bus is supplied from the computer device; and a flag erasure means 105 erasing the flag stored in the flag storage means 102 when it is detected that the reset instruction is supplied by the detection means 104. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、いわゆる外付けの記憶装置のファームウェアに関する。   The present invention relates to firmware for a so-called external storage device.

PC(Personal Computer)の、いわゆる外付け記憶装置としてHDD(Hard Disk Drive)などの非リムーバブル記憶装置が広く用いられている。ブロードバンドなど情報通信技術の発達により、送受信されるデータの量は飛躍的に増大している。このため、外付け記憶装置に要求される記憶容量も、日々増大している。記憶容量を増大させるため、複数のHDDを接続可能なHDDコントローラが開発されている。このHDDコントローラを用いると、複数のHDDは、PCにより1台のドライブとして認識される。例えば、HDDコントローラに250GBのHDDを4台接続すると、PCは、これらのHDDを、1TBの容量を有する1台の外付けドライブとして認識する。   Non-removable storage devices such as HDDs (Hard Disk Drives) are widely used as so-called external storage devices of PCs (Personal Computers). With the development of information communication technology such as broadband, the amount of data transmitted and received has increased dramatically. For this reason, the storage capacity required for the external storage device is increasing day by day. In order to increase the storage capacity, an HDD controller capable of connecting a plurality of HDDs has been developed. When this HDD controller is used, a plurality of HDDs are recognized as one drive by the PC. For example, when four 250 GB HDDs are connected to the HDD controller, the PC recognizes these HDDs as one external drive having a capacity of 1 TB.

HDDコントローラとPCを接続するインターフェースとしては、USB(Universal Serial Bus)が広く用いられている。しかし、PCの中には、このUSBデバイス(HDDコントローラ)を接続したまま電源を投入すると、BIOS(Basic Input/Output System)による認識中に動作を停止してしまうものがある。これは次のような理由による。PCの中には、BIOSによってUSBデバイスを認識できるものがある。PCの中には、接続されているUSBデバイスがFDD(Floppy(登録商標) Disk Drive)などのリムーバブル記憶装置であれば、そのリムーバブル記憶装置からシステムを起動できるものがある。リムーバブル記憶装置からシステムを起動するために、BIOSは、USBデバイスを検出すると、その記憶容量を取得するようにプログラムされている。ここで、検出されたUSBデバイスが大容量のHDDコントローラであった場合、BIOSはその記憶容量を認識することができず、動作を停止してしまう。すなわち、PCはハングアップしてしまう。   A USB (Universal Serial Bus) is widely used as an interface for connecting the HDD controller and the PC. However, in some PCs, when the power is turned on while the USB device (HDD controller) is connected, the operation stops during recognition by the BIOS (Basic Input / Output System). This is due to the following reason. Some PCs can recognize USB devices by BIOS. In some PCs, if the connected USB device is a removable storage device such as FDD (Floppy (registered trademark) Disk Drive), the system can be started from the removable storage device. In order to boot the system from a removable storage device, the BIOS is programmed to acquire its storage capacity when it detects a USB device. Here, if the detected USB device is a large-capacity HDD controller, the BIOS cannot recognize the storage capacity and stops the operation. That is, the PC hangs up.

しかし、PCは、大容量のHDDコントローラを、BIOSにより認識することはできなくても、OS(Operating System)により認識することはできる。PCは、OSが起動した後であれば、大容量のHDDコントローラをデータドライブとして用いることができる。   However, even if the PC cannot recognize the large-capacity HDD controller by the BIOS, it can recognize it by the OS (Operating System). The PC can use a large-capacity HDD controller as a data drive after the OS is started.

HDDコントローラと複数台のHDDにより形成される大容量外付け記憶装置をデータドライブとして用いるには、ユーザは、OSが起動したことを確認してから、USBコネクタをPCに接続する必要がある。しかし、ユーザは、PCの電源を投入するたびにUSBコネクタを抜き差ししなければならない。これはユーザにとって大変不便である。なお、ここで「大容量」とは、BIOSの認識限度を超えた記憶容量をいう。   In order to use a large-capacity external storage device formed by an HDD controller and a plurality of HDDs as a data drive, the user needs to connect the USB connector to the PC after confirming that the OS has started. However, the user must insert and remove the USB connector each time the PC is turned on. This is very inconvenient for the user. Here, “large capacity” refers to a storage capacity that exceeds the BIOS recognition limit.

本発明は上述の事情に鑑みてなされたものであり、複数の記憶装置に接続される外部記憶装置コントローラにおいて、電源投入時(初期化時)にコンピュータ装置に接続したままでも、コンピュータ装置の処理が停止しない技術を提供する。   The present invention has been made in view of the above-described circumstances. In an external storage device controller connected to a plurality of storage devices, processing of the computer device can be performed even when the computer device remains connected to the computer device when the power is turned on (initialization). Provide technology that does not stop.

上述の課題を解決するため、本発明は、複数の記憶装置に接続される記憶装置接続手段と、コンピュータ装置に接続されるコンピュータ装置接続手段と、前記コンピュータ装置接続手段を介して接続されたコンピュータ装置からあらかじめ決められた特定命令が供給された場合、特定命令が供給されたことを示すフラグを記憶するフラグ記憶手段と、前記フラグ記憶手段にフラグが記憶されているときに、前記コンピュータ装置から、記憶容量を示す値の供給を要求する容量要求命令が供給された場合、前記コンピュータ装置に、前記コンピュータ装置の処理を停止させないエラーメッセージを出力するエラーメッセージ出力手段と、前記フラグ記憶手段にフラグが記憶されていないときに、前記コンピュータ装置から前記容量要求命令が供給された場合、前記コンピュータ装置に、前記複数の記憶装置の記憶容量の合計値を出力する容量出力手段と、前記コンピュータ装置から、前記記憶装置コントローラの初期化を指示するリセット命令が供給されたことを検出する検出手段と、前記検出手段により、リセット命令が供給されたことが検出されると、前記フラグ記憶手段に記憶されたフラグを消去するフラグ消去手段とを有する外部記憶装置コントローラを提供する。
この外部記憶装置コントローラは、特定命令が供給された後はBIOSが動作中であるとして、容量要求命令に対しエラーメッセージを出力する。一方リセット後に特定命令が供給されずに容量要求命令が供給された場合、この外部記憶装置コントローラは、記憶装置の記憶容量の合計値を出力する。したがって、この外部記憶装置コントローラは、BIOSの動作中にコンピュータ装置の処理を停止させない。
In order to solve the above-described problems, the present invention provides a storage device connection means connected to a plurality of storage devices, a computer device connection means connected to a computer device, and a computer connected via the computer device connection means. When a predetermined specific instruction is supplied from the apparatus, a flag storage means for storing a flag indicating that the specific instruction is supplied; and when the flag is stored in the flag storage means, the computer apparatus An error message output means for outputting an error message that does not stop the processing of the computer device to the computer device when a capacity request command for requesting supply of a value indicating the storage capacity is supplied; and a flag for the flag storage device Is not stored, the capacity request command is supplied from the computer device. In this case, a capacity output means for outputting a total value of the storage capacities of the plurality of storage devices to the computer device, and a reset command for instructing initialization of the storage device controller are supplied from the computer device. And an external storage device controller that deletes a flag stored in the flag storage means when the detection means detects that a reset command has been supplied. .
The external storage device controller outputs an error message in response to the capacity request command, assuming that the BIOS is operating after the specific command is supplied. On the other hand, when a capacity request command is supplied without a specific command being supplied after reset, this external storage device controller outputs the total storage capacity of the storage device. Therefore, the external storage device controller does not stop the processing of the computer device during the operation of the BIOS.

また、本発明は、外部記憶装置コントローラに上記の機能を実現させるプログラムを提供する。   The present invention also provides a program for causing an external storage device controller to realize the above functions.

以下、図面を参照して本発明の実施形態について説明する。
図1は、本発明の一実施形態に係るコンピュータシステム1の構成を示す図である。PC200は、汎用のコンピュータ装置である。PC200は、BIOS、OS、およびアプリケーションソフトを実行する機能を有する。BIOSは、コンピュータに接続されたディスクドライブ、キーボード、ビデオカードなどの周辺機器を制御するプログラム群である。BIOSは、周辺機器に対する基本的な入出力手段をOSやアプリケーションソフトに対して提供する。BIOSは、PC200のマザーボード上に装着されたフラッシュメモリなどの不揮発メモリ(図示略)に記録されている。OSは、キーボード入力や画面出力といった入出力機能やディスクやメモリの管理など、多くのアプリケーションソフトから共通して利用される基本的な機能を提供する。OSは、コンピュータシステム全体を管理するソフトウェアである。OSおよびアプリケーションソフトはPC200の内臓HDD(図示略)に記憶されている。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 is a diagram showing a configuration of a computer system 1 according to an embodiment of the present invention. The PC 200 is a general-purpose computer device. The PC 200 has a function of executing a BIOS, an OS, and application software. The BIOS is a group of programs that control peripheral devices such as a disk drive, keyboard, and video card connected to the computer. The BIOS provides basic input / output means for peripheral devices to the OS and application software. The BIOS is recorded in a non-volatile memory (not shown) such as a flash memory mounted on the motherboard of the PC 200. The OS provides basic functions commonly used by many application software, such as input / output functions such as keyboard input and screen output, and disk and memory management. The OS is software that manages the entire computer system. The OS and application software are stored in an internal HDD (not shown) of the PC 200.

PC200には、HDDコントローラ100を介してHDD301〜304の4台のハードディスクドライブが接続されている。HDDコントローラ100は、HDD301〜304の4台のハードディスクドライブを制御する外部機器コントローラである。HDD301〜304は、それぞれ、ある記憶容量を有する外部記憶装置である。本実施形態において、HDD301〜304の記憶容量は、いずれも250GB(ギガバイト)である。なお、HDD301〜304の記憶容量は、それぞれ異なっていてもよい。HDDコントローラ100は、PC200に対し、HDD301〜304の4台のハードディスクドライブ群が、250GB×4=1TB(テラバイト)の記憶容量を有する1台のハードディスクドライブであるように認識させる機能を有する。この機能により、PC200のユーザは、4台のハードディスクドライブ群を、あたかも大容量の1台のハードディスクドライブが接続されているように扱うことができる。なお、図面が煩雑となるのを避けるため図示を省略したが、PC200には、HDDコントローラ100以外にも他の外部機器が接続されていてもよい。   Four hard disk drives HDDs 301 to 304 are connected to the PC 200 via the HDD controller 100. The HDD controller 100 is an external device controller that controls the four hard disk drives of the HDDs 301 to 304. Each of the HDDs 301 to 304 is an external storage device having a certain storage capacity. In the present embodiment, the storage capacities of the HDDs 301 to 304 are all 250 GB (gigabytes). Note that the storage capacities of the HDDs 301 to 304 may be different from one another. The HDD controller 100 has a function of causing the PC 200 to recognize that the four hard disk drive groups of the HDDs 301 to 304 are one hard disk drive having a storage capacity of 250 GB × 4 = 1 TB (terabyte). With this function, the user of the PC 200 can handle a group of four hard disk drives as if one large-capacity hard disk drive is connected. In addition, although illustration was abbreviate | omitted in order to avoid drawing becoming complicated, other external apparatuses other than HDD controller 100 may be connected to PC200.

図2は、HDDコントローラ100の機能構成を示すブロック図である。コンピュータ装置接続部101は、PC200との間で制御命令やデータの送受信を行う機能を有する。フラグ記憶部102は、PC200から特定命令が供給されたことを示すフラグを記憶する。特定命令については後述する。エラーメッセージ出力部103は、フラグ記憶部102にフラグが記憶されているときに、PC200から、記憶容量値の供給を要求する容量要求命令が供給された場合、PC200にエラーメッセージを出力する。検出部104は、PC200からバスのリセット命令が供給されたことを検出する。フラグ消去部105は、検出部104によりリセット命令が供給されたことが検出されると、フラグ記憶部102に記憶されたフラグを消去する。記憶装置接続部107は、複数の外部記憶装置(HDD301〜304)との間で制御命令やデータの送受信を行う機能を有する。容量出力部106は、フラグ記憶部102にフラグが記憶されていないときに、PC200から容量要求命令が供給された場合、HDD301〜304の記憶容量の合計値を、記憶容量(容量要求命令に対する応答)としてPC200に出力する。   FIG. 2 is a block diagram showing a functional configuration of the HDD controller 100. The computer apparatus connection unit 101 has a function of transmitting / receiving control commands and data to / from the PC 200. The flag storage unit 102 stores a flag indicating that a specific command has been supplied from the PC 200. Specific instructions will be described later. The error message output unit 103 outputs an error message to the PC 200 when a capacity request command for requesting supply of a storage capacity value is supplied from the PC 200 when the flag is stored in the flag storage unit 102. The detection unit 104 detects that a bus reset command is supplied from the PC 200. When the detection unit 104 detects that a reset command has been supplied, the flag deletion unit 105 deletes the flag stored in the flag storage unit 102. The storage device connection unit 107 has a function of transmitting / receiving control commands and data to / from a plurality of external storage devices (HDDs 301 to 304). When a capacity request command is supplied from the PC 200 when no flag is stored in the flag storage unit 102, the capacity output unit 106 displays the total storage capacity of the HDDs 301 to 304 as the storage capacity (response to the capacity request command). ) To the PC 200.

図3は、HDDコントローラ100のハードウェア構成を示す図である。CPU(Central Processing Unit)110は、HDDコントローラ100の各構成要素を制御する制御装置である。ROM(Read Only Memory)130は、HDDコントローラ100の動作を規定するプログラム(ファームウェア)や、HDDコントローラ100の起動に必要なデータなどを記憶したメモリである。ROM130は、EEPROM(Electronically Erasable and Programmable Read Only Memory)などの書き換え可能なメモリを有してもよい。RAM(Random Access Memory)120は、CPU110がプログラムを実行する際の作業領域として機能するメモリである。USB−IF140は、USB方式のインターフェースである。HDDコントローラ100は、USB−IF140を介して、PC200との間で制御命令やデータの入出力を行う。IDE−IF150は、IDE方式のインターフェースである。HDDコントローラ100は、IDE−IF150を介して、HDD301〜304との間で制御命令やデータの入出力を行う。以上の各構成要素は、バス190を介して接続されている。本実施形態において、CPU110がROM130に記憶されたファームウェアを実行することにより、HDDコントローラ100は、図2に示される機能構成を具備する。   FIG. 3 is a diagram illustrating a hardware configuration of the HDD controller 100. A CPU (Central Processing Unit) 110 is a control device that controls each component of the HDD controller 100. A ROM (Read Only Memory) 130 is a memory that stores a program (firmware) that defines the operation of the HDD controller 100, data necessary for starting the HDD controller 100, and the like. The ROM 130 may include a rewritable memory such as an EEPROM (Electronically Erasable and Programmable Read Only Memory). A RAM (Random Access Memory) 120 is a memory that functions as a work area when the CPU 110 executes a program. The USB-IF 140 is a USB interface. The HDD controller 100 inputs / outputs control commands and data to / from the PC 200 via the USB-IF 140. The IDE-IF 150 is an IDE interface. The HDD controller 100 inputs and outputs control commands and data to and from the HDDs 301 to 304 via the IDE-IF 150. The above components are connected via a bus 190. In the present embodiment, when the CPU 110 executes the firmware stored in the ROM 130, the HDD controller 100 has the functional configuration shown in FIG.

HDDコントローラ100の動作を説明する前に、まずPC200の動作の概要を説明する。PC200において、電源(図示略)が投入されると、まずBIOSが実行される。BIOSは(すなわち、BIOSを実行しているPC200は)、USB接続された外部記憶装置を検索する。USB接続された外部記憶装置を検出すると、BIOSは、この外部記憶装置に対し容量供給命令を出力する。こうしてBIOSは、USB接続された外部記憶装置に対し記憶容量の問い合わせを行う。ここで、PC200に、従来技術に係るHDDコントローラが接続されていた場合、従来技術に係るHDDコントローラは、容量供給命令に対する回答として、4台のハードディスクドライブの記憶容量の合計値「1TB」をPC200に出力する。BIOSが認識できるハードディスクドライブの記憶容量には上限がある。1TBという記憶容量値は、この上限値を超えた大容量であるため、BIOSは従来技術に係るHDDコントローラを認識することができずハングアップしてしまう。ハングアップを避けるため、PC200のユーザは、PC200の電源を投入する前に、PC200と従来技術に係るHDDコントローラを接続するUSBケーブルを抜いておく必要がある。   Before describing the operation of the HDD controller 100, an outline of the operation of the PC 200 will be described first. In the PC 200, when the power (not shown) is turned on, the BIOS is first executed. The BIOS (that is, the PC 200 executing the BIOS) searches for an external storage device connected by USB. When the external storage device connected by USB is detected, the BIOS outputs a capacity supply command to the external storage device. In this way, the BIOS makes an inquiry about the storage capacity to the USB-connected external storage device. Here, when the HDD controller according to the prior art is connected to the PC 200, the HDD controller according to the prior art sets the total value “1TB” of the storage capacities of the four hard disk drives as the response to the capacity supply command. Output to. There is an upper limit to the storage capacity of the hard disk drive that can be recognized by the BIOS. Since the storage capacity value of 1 TB is a large capacity exceeding this upper limit value, the BIOS cannot recognize the HDD controller according to the prior art and hangs up. In order to avoid a hang-up, the user of the PC 200 needs to disconnect the USB cable connecting the PC 200 and the HDD controller according to the prior art before turning on the power of the PC 200.

BIOSによる周辺機器の認識等の処理が完了すると、PC200はOSを実行する。こうして、PC200の処理主体はBIOSからOSに移行する。OSは、USB接続された外部記憶装置を検索する。USB接続された外部記憶装置を検出すると、OSは、この外部記憶装置に対し容量供給命令を出力する。こうしてBIOSは、USB接続された外部記憶装置に対し記憶容量の問い合わせを行う。ここで、PC200にHDDコントローラがUSB接続されていると、上述のように、HDDコントローラは、容量供給命令に対する回答として、4台のハードディスクドライブの記憶容量の合計値「1TB」をPC200に出力する。BIOSと異なり、OSは記憶容量値を認識することができる。したがって、従来技術によれば、ユーザは、OSが起動した後にUSBケーブルをPC200に接続すれば、HDDコントローラに接続された4台のハードディスクドライブ群を、1TBの記憶容量を有する1台のハードディスクドライブとして利用することができた。しかし、このようにPC200を起動するたびにUSBケーブルの抜き差しを行うことは、ユーザにとって煩雑な作業である。   When the processing such as recognition of peripheral devices by the BIOS is completed, the PC 200 executes the OS. Thus, the processing subject of the PC 200 shifts from the BIOS to the OS. The OS searches for an external storage device connected via USB. When the external storage device connected by USB is detected, the OS outputs a capacity supply command to the external storage device. In this way, the BIOS makes an inquiry about the storage capacity to the USB-connected external storage device. Here, when the HDD controller is connected to the PC 200 via USB, as described above, the HDD controller outputs the total storage capacity “1 TB” of the four hard disk drives to the PC 200 as a response to the capacity supply command. . Unlike the BIOS, the OS can recognize the storage capacity value. Therefore, according to the prior art, if the user connects the USB cable to the PC 200 after the OS is started, the group of four hard disk drives connected to the HDD controller is replaced with one hard disk drive having a storage capacity of 1 TB. Could be used as. However, it is troublesome for the user to connect and disconnect the USB cable each time the PC 200 is started in this way.

本実施形態に係るHDDコントローラ100は、このような問題に対する解を提供するものである。本願の発明者がBIOSの挙動を調査したところ、外部記憶装置の容量取得を行う前に、BIOSが「ModeSense」という特定の命令(コマンド)で、「Page5」という特定のページ情報の供給を必ず要求することを発見した。「Page5」というページ情報は、フロッピー(登録商標)ディスクドライブ等のリムーバブル記憶装置に必要な情報であるが、ハードディスクドライブ等の固定記憶装置(非リムーバブル記憶装置)には必要ない情報である。さらに本願の発明者がOSの挙動を調査したところ、OSは、ハードディスクドライブに対してこのような情報を要求しないことを発見した。また、BIOSの起動時(PC200の起動時)およびOSの起動時には、PC200は、HDDコントローラの初期化を要求する。そのため、HDDコントローラにおいて、バスのリセットが行われる。以上のことから、「ModeSense」という命令で「Page5」という情報を要求してきた場合、PC200において、OSは起動されておらず、BIOSがPC200の起動処理を実行していると判断することができる。   The HDD controller 100 according to the present embodiment provides a solution to such a problem. When the inventor of the present application investigated the behavior of the BIOS, before the capacity acquisition of the external storage device is performed, the BIOS must supply the specific page information “Page5” with the specific command (command) “ModeSense”. I found that I requested. The page information “Page 5” is information necessary for a removable storage device such as a floppy (registered trademark) disk drive, but is not necessary for a fixed storage device (non-removable storage device) such as a hard disk drive. Furthermore, when the inventor of the present application investigated the behavior of the OS, it was found that the OS does not request such information from the hard disk drive. In addition, when the BIOS is activated (when the PC 200 is activated) and when the OS is activated, the PC 200 requests initialization of the HDD controller. Therefore, the bus is reset in the HDD controller. From the above, when the information “Page5” is requested by the command “ModeSense”, it can be determined that the OS is not activated in the PC 200 and the BIOS is executing the activation process of the PC 200. .

本実施形態に係るHDDコントローラ100は、以上で説明した事情に基づいて、概ね次のような動作を行う。「ModeSense」という特定の命令で「Page5」という特定の情報が要求された場合、HDDコントローラ100はフラグを立てる。このフラグは、BIOSがPC200の起動処理中であることを示す。フラグが立っている間に容量供給命令が供給された場合、HDDコントローラ100は、この容量供給命令に対しエラーメッセージを返す。ここで、正直に記憶容量値「1TB」を返すと、BIOSがハングアップしてしまうからである。エラーメッセージは、BIOSをハングアップさせない。この状態でUSBコントローラの初期化命令(バスのリセット命令)が供給されると、HDDコントローラ100はフラグを下げる。フラグが立っていない間に容量供給命令が供給された場合、HDDコントローラ100は、記憶容量値「1TB」を返す。このときPC200の処理の主体はBIOSからOSに移行しているからである。以下、HDDコントローラ100の動作をより詳細に説明する。   The HDD controller 100 according to the present embodiment generally performs the following operation based on the circumstances described above. When specific information “Page5” is requested by a specific command “ModeSense”, the HDD controller 100 sets a flag. This flag indicates that the BIOS is in the process of starting the PC 200. If a capacity supply command is supplied while the flag is set, the HDD controller 100 returns an error message in response to this capacity supply command. This is because if the storage capacity value “1TB” is honestly returned, the BIOS hangs up. Error messages do not hang up the BIOS. When an initialization command (bus reset command) of the USB controller is supplied in this state, the HDD controller 100 lowers the flag. When the capacity supply command is supplied while the flag is not set, the HDD controller 100 returns the storage capacity value “1TB”. This is because the subject of processing of the PC 200 has shifted from the BIOS to the OS at this time. Hereinafter, the operation of the HDD controller 100 will be described in more detail.

図4は、HDDコントローラ100の動作を示すフローチャートである。ステップS100において、CPU110は、PC200からバス190のリセット命令が供給されたか判断する。PC200からバス190のリセット命令が供給されたと判断した場合(ステップS100:YES)、ステップS110において、CPU110は、RAM120に記憶されているフラグを消去する。なお、「フラグを消去する」とは、リセット後に特定命令が供給されていないことを示すフラグをRAM120に記憶することも含む。   FIG. 4 is a flowchart showing the operation of the HDD controller 100. In step S <b> 100, the CPU 110 determines whether a reset command for the bus 190 is supplied from the PC 200. When it is determined that a reset command for the bus 190 is supplied from the PC 200 (step S100: YES), the CPU 110 erases the flag stored in the RAM 120 in step S110. Note that “erasing the flag” includes storing in the RAM 120 a flag indicating that the specific command is not supplied after the reset.

次に、ステップS120において、CPU110は、PC200から特定命令(「Page5」という情報を要求する「ModeSense」という命令)が供給されたか判断する。特定命令が供給された場合(ステップS120:YES)、ステップS130において、CPU110は、特定命令が供給されたことを示すフラグ、すなわち、BIOSがPC200を起動処理中であることを示すフラグを、RAM120に記憶する。あるいは、リセット後に特定命令が供給されていないことを示すフラグがRAM120に記憶されている場合、CPU110は、記憶されているフラグの内容を特定命令が供給されたことを示すものに書き換える。   Next, in step S <b> 120, the CPU 110 determines whether a specific command (a command “ModeSense” requesting information “Page5”) is supplied from the PC 200. When the specific command is supplied (step S120: YES), in step S130, the CPU 110 displays a flag indicating that the specific command is supplied, that is, a flag indicating that the BIOS is starting up the PC 200 in the RAM 120. To remember. Alternatively, when a flag indicating that the specific command is not supplied after the reset is stored in the RAM 120, the CPU 110 rewrites the content of the stored flag to indicate that the specific command is supplied.

次に、ステップS140において、CPU110は、PC200から容量供給命令が供給されたか判断する。容量供給命令は、HDDコントローラ100に接続されているハードディスクドライブの記憶容量値の出力を要求する命令である。   Next, in step S140, the CPU 110 determines whether a capacity supply command is supplied from the PC 200. The capacity supply command is a command for requesting output of the storage capacity value of the hard disk drive connected to the HDD controller 100.

PC200から容量供給命令が供給されたと判断すると(ステップS140:YES)、CPU110は、ステップS150において、RAM120にフラグが記憶されているか判断する。フラグが記憶されていると判断した場合(ステップS150:YES)、ステップS160において、CPU110は、容量供給命令に対するエラーメッセージをPC200に出力する。フラグが記憶されていないと判断した場合(ステップS150:NO)、ステップS170において、CPU110は、HDD301〜304の記憶容量の合計値「1TB」を、容量供給命令に対する回答として出力する。   If it is determined that a capacity supply command is supplied from the PC 200 (step S140: YES), the CPU 110 determines whether a flag is stored in the RAM 120 in step S150. If it is determined that the flag is stored (step S150: YES), in step S160, the CPU 110 outputs an error message for the capacity supply command to the PC 200. When it is determined that the flag is not stored (step S150: NO), in step S170, the CPU 110 outputs the total storage capacity “1TB” of the HDDs 301 to 304 as an answer to the capacity supply command.

図5は、HDDコントローラ100の動作を説明する図である。横軸は時間軸を示している。時間軸の上側に記載されているのがPC200の処理、時間軸の下側に記載されているのがHDDコントローラ100の処理である。PC200の電源が投入されると、HDDコントローラ100に対しリセット命令が出力される。リセット命令が供給されると、HDDコントローラ100はフラグを消去する(フラグを下げる)。PC200からHDDコントローラ100に特定命令が出力されると、HDDコントローラ100は、フラグを記憶する(フラグを立てる)。フラグが記憶されている間に、PC200から容量供給命令が出力されると、HDDコントローラ100は、PC200にエラーメッセージを出力する。以下、PC200は、BIOSの制御下で、起動処理を継続する。PC200の起動処理が完了し、処理の主体がOSに移行すると、PC200は、リセット命令を出力する。リセット命令が供給されると、HDDコントローラ100はフラグを消去する(フラグを下げる)。PC200は、OSの制御下では特定命令を出力しない。したがって、PC200がOSの制御下にある間は、フラグが立たない。この状態で、PC200から容量供給命令が出力されると、HDDコントローラ100は、PC200に対しHDD301〜304の記憶容量の合計値を出力する。こうして、PC200は、OSの制御下で、HDD301〜304の4台のハードディスクドライブ群を、1台のハードディスクドライブとして認識することができる。   FIG. 5 is a diagram for explaining the operation of the HDD controller 100. The horizontal axis represents the time axis. What is written on the upper side of the time axis is the processing of the PC 200, and what is written on the lower side of the time axis is the processing of the HDD controller 100. When the PC 200 is turned on, a reset command is output to the HDD controller 100. When the reset command is supplied, the HDD controller 100 deletes the flag (lowers the flag). When a specific command is output from the PC 200 to the HDD controller 100, the HDD controller 100 stores a flag (sets a flag). If a capacity supply command is output from the PC 200 while the flag is stored, the HDD controller 100 outputs an error message to the PC 200. Hereinafter, the PC 200 continues the startup process under the control of the BIOS. When the startup process of the PC 200 is completed and the subject of the process shifts to the OS, the PC 200 outputs a reset command. When the reset command is supplied, the HDD controller 100 deletes the flag (lowers the flag). The PC 200 does not output a specific command under the control of the OS. Therefore, the flag is not raised while the PC 200 is under the control of the OS. In this state, when a capacity supply command is output from the PC 200, the HDD controller 100 outputs the total storage capacity of the HDDs 301 to 304 to the PC 200. Thus, the PC 200 can recognize the four hard disk drive groups of the HDDs 301 to 304 as one hard disk drive under the control of the OS.

以上で説明したようにHDDコントローラ100によれば、コネクタをPC200に接続したままでも、BIOSの処理中にハングアップすることなくPC200を起動することができる。また、HDDコントローラ100によれば、BIOSの動作は従来のままで、HDD301〜304を1台の記憶装置としてPC200に認識させることができる。HDDコントローラ100の機能はファームウェアにより実現されるので、古い型のBIOSを搭載したPCであっても、BIOSのアップデートをすることなく、HDD301〜304を1台の記憶装置として認識することができる。   As described above, according to the HDD controller 100, the PC 200 can be activated without being hung up during the BIOS processing even when the connector is connected to the PC 200. Also, the HDD controller 100 allows the PC 200 to recognize the HDDs 301 to 304 as a single storage device while maintaining the conventional BIOS operation. Since the functions of the HDD controller 100 are realized by firmware, even a PC equipped with an old BIOS can recognize the HDDs 301 to 304 as one storage device without updating the BIOS.

本発明の一実施形態に係るコンピュータシステム1の構成を示す図である。It is a figure which shows the structure of the computer system 1 which concerns on one Embodiment of this invention. HDDコントローラ100の機能構成を示すブロック図である。2 is a block diagram showing a functional configuration of an HDD controller 100. FIG. HDDコントローラ100のハードウェア構成を示す図である。2 is a diagram illustrating a hardware configuration of an HDD controller 100. FIG. HDDコントローラ100の動作を示すフローチャートである。3 is a flowchart showing the operation of the HDD controller 100. HDDコントローラ100の動作を説明する図である。FIG. 6 is a diagram for explaining the operation of the HDD controller 100.

符号の説明Explanation of symbols

1…コンピュータシステム、100…HDDコントローラ、101…コンピュータ装置接続部、102…フラグ記憶部、103…エラーメッセージ出力部、104…検出部、105…フラグ消去部、106…容量出力部、107…記憶装置接続部、110…CPU、120…RAM、130…ROM、140…USB−IF、150…IDE−IF、190…バス、200…PC、301〜304…HDD DESCRIPTION OF SYMBOLS 1 ... Computer system, 100 ... HDD controller, 101 ... Computer apparatus connection part, 102 ... Flag memory | storage part, 103 ... Error message output part, 104 ... Detection part, 105 ... Flag deletion part, 106 ... Capacity output part, 107 ... Memory | storage Device connection unit, 110 ... CPU, 120 ... RAM, 130 ... ROM, 140 ... USB-IF, 150 ... IDE-IF, 190 ... bus, 200 ... PC, 301-304 ... HDD

Claims (2)

外部記憶装置コントローラであって、
複数の記憶装置に接続される記憶装置接続手段と、
コンピュータ装置に接続されるコンピュータ装置接続手段と、
前記コンピュータ装置接続手段を介して接続されたコンピュータ装置からあらかじめ決められた特定命令が供給された場合、特定命令が供給されたことを示すフラグを記憶するフラグ記憶手段と、
前記フラグ記憶手段にフラグが記憶されているときに、前記コンピュータ装置から、記憶容量を示す値の供給を要求する容量要求命令が供給された場合、前記コンピュータ装置に、前記コンピュータ装置の処理を停止させないエラーメッセージを出力するエラーメッセージ出力手段と、
前記フラグ記憶手段にフラグが記憶されていないときに、前記コンピュータ装置から前記容量要求命令が供給された場合、前記コンピュータ装置に、前記複数の記憶装置の記憶容量の合計値を出力する容量出力手段と、
前記コンピュータ装置から、前記記憶装置コントローラの初期化を指示するリセット命令が供給されたことを検出する検出手段と、
前記検出手段により、リセット命令が供給されたことが検出されると、前記フラグ記憶手段に記憶されたフラグを消去するフラグ消去手段と
を有することを特徴とする外部記憶装置コントローラ。
An external storage controller,
Storage device connection means connected to a plurality of storage devices;
Computer device connection means connected to the computer device;
Flag storage means for storing a flag indicating that the specific command is supplied when a predetermined specific command is supplied from the computer device connected via the computer device connection means;
When a flag is stored in the flag storage means, if a capacity request command for requesting a supply of a value indicating a storage capacity is supplied from the computer device, processing of the computer device is stopped to the computer device An error message output means for outputting an error message that is not allowed,
Capacity output means for outputting a total value of storage capacities of the plurality of storage devices to the computer device when the capacity request command is supplied from the computer device when no flag is stored in the flag storage device When,
Detecting means for detecting that a reset command for instructing initialization of the storage device controller is supplied from the computer device;
An external storage device controller comprising: a flag erasing unit for erasing a flag stored in the flag storage unit when the detection unit detects that a reset command is supplied.
外部記憶装置コントローラを、
複数の記憶装置に接続される記憶装置接続手段と、
コンピュータ装置に接続されるコンピュータ装置接続手段と、
前記コンピュータ装置接続手段を介して接続されたコンピュータ装置からあらかじめ決められた特定命令が供給された場合、特定命令が供給されたことを示すフラグを記憶するフラグ記憶手段と、
前記フラグ記憶手段にフラグが記憶されているときに、前記コンピュータ装置から、記憶容量を示す値の供給を要求する容量要求命令が供給された場合、前記コンピュータ装置に、前記コンピュータ装置の処理を停止させないエラーメッセージを出力するエラーメッセージ出力手段と、
前記フラグ記憶手段にフラグが記憶されていないときに、前記コンピュータ装置から前記容量要求命令が供給された場合、前記コンピュータ装置に、前記複数の記憶装置の記憶容量の合計値を出力する容量出力手段と、
前記コンピュータ装置から、前記記憶装置コントローラの初期化を指示するリセット命令が供給されたことを検出する検出手段と、
前記検出手段により、リセット命令が供給されたことが検出されると、前記フラグ記憶手段に記憶されたフラグを消去するフラグ消去手段と
して機能させるプログラム。
An external storage controller
Storage device connection means connected to a plurality of storage devices;
Computer device connection means connected to the computer device;
Flag storage means for storing a flag indicating that the specific command is supplied when a predetermined specific command is supplied from the computer device connected via the computer device connection means;
When a flag is stored in the flag storage means, if a capacity request command for requesting a supply of a value indicating a storage capacity is supplied from the computer device, processing of the computer device is stopped to the computer device An error message output means for outputting an error message that is not allowed,
Capacity output means for outputting a total value of storage capacities of the plurality of storage devices to the computer device when the capacity request command is supplied from the computer device when no flag is stored in the flag storage device When,
Detecting means for detecting that a reset command for instructing initialization of the storage device controller is supplied from the computer device;
A program that functions as a flag erasing unit that erases the flag stored in the flag storing unit when the detecting unit detects that a reset command is supplied.
JP2006027076A 2006-02-03 2006-02-03 External storage device controller and program Pending JP2007207089A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006027076A JP2007207089A (en) 2006-02-03 2006-02-03 External storage device controller and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006027076A JP2007207089A (en) 2006-02-03 2006-02-03 External storage device controller and program

Publications (1)

Publication Number Publication Date
JP2007207089A true JP2007207089A (en) 2007-08-16

Family

ID=38486486

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006027076A Pending JP2007207089A (en) 2006-02-03 2006-02-03 External storage device controller and program

Country Status (1)

Country Link
JP (1) JP2007207089A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009276966A (en) * 2008-05-14 2009-11-26 Buffalo Inc Control device and method for controlling external storage device incorporating two or more storage device, computer program, and recording medium
JP2010140299A (en) * 2008-12-12 2010-06-24 Sharp Corp Program supply device, program supply method and optical drive including the program supply device
JP2013058018A (en) * 2011-09-07 2013-03-28 Toshiba Corp Remote access system, electronic equipment and remote access processing method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009276966A (en) * 2008-05-14 2009-11-26 Buffalo Inc Control device and method for controlling external storage device incorporating two or more storage device, computer program, and recording medium
US8307132B2 (en) 2008-05-14 2012-11-06 Buffalo Inc. Control of an external storage device with a plurality of storage units
JP2010140299A (en) * 2008-12-12 2010-06-24 Sharp Corp Program supply device, program supply method and optical drive including the program supply device
JP2013058018A (en) * 2011-09-07 2013-03-28 Toshiba Corp Remote access system, electronic equipment and remote access processing method
US9037629B2 (en) 2011-09-07 2015-05-19 Kabushiki Kaisha Toshiba Remote access system, electronic apparatus and method of processing remote access

Similar Documents

Publication Publication Date Title
JP3330569B2 (en) Computer control method, computer, and recording medium
TWI407300B (en) Method and controller for power management
US8250247B2 (en) Storage device for mounting to a host
US8266611B2 (en) Hard disk drive with disk embedded DOS boot image and firmware download method
WO2020062887A1 (en) Firmware upgrading method and system based on flash micro-controller, and flash micro-controller
US8799631B2 (en) Dynamically select operating system (OS) to boot based on hardware states
JP2009205411A (en) Memory controller and memory system
US9448808B2 (en) BIOS update with service processor without serial peripheral interface (SPI) access
US20120060023A1 (en) Methods for booting an operating system using non-volatile memory
JP2004295865A (en) Automatic booting system and automatic booting method
CN101354659A (en) Method, controller and control system for controlling BIOS start-up of electronic apparatus
KR101026321B1 (en) Portable device with user interface
CN1779858A (en) Rewriting a non-volatile memory, electronic device, storage medium and rewriting method
JP3707410B2 (en) Computer apparatus, expansion device management method, and computer program
JP2007207089A (en) External storage device controller and program
TW201447758A (en) Method, apparatus, and computer program product for booting an information handling system
CN110825421B (en) Firmware upgrading method, system and readable storage medium
US7966433B2 (en) Method for enhancing performance of data access between a personal computer and a USB Mass Storage, associated personal computer, and storage medium storing an associated USB Mass Storage driver
JP2007310447A (en) Data storage device and initializing method thereof
TW201801093A (en) Data storage device and operating method
TW202044034A (en) Disabling software persistence
US8209452B2 (en) External device having a virtual storage device
JP2009205410A (en) Memory controller and memory system
JP2012174031A (en) Information processor, method for starting information processor and program
JP2009064301A (en) Removable memory unit