Nothing Special   »   [go: up one dir, main page]

JP2010108497A - Disk array controller and storage device - Google Patents

Disk array controller and storage device Download PDF

Info

Publication number
JP2010108497A
JP2010108497A JP2009243592A JP2009243592A JP2010108497A JP 2010108497 A JP2010108497 A JP 2010108497A JP 2009243592 A JP2009243592 A JP 2009243592A JP 2009243592 A JP2009243592 A JP 2009243592A JP 2010108497 A JP2010108497 A JP 2010108497A
Authority
JP
Japan
Prior art keywords
command
drive
host
drives
pass
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
JP2009243592A
Other languages
Japanese (ja)
Inventor
Takehiko Kurashige
剛彦 蔵重
Junji Yano
純二 矢野
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2009243592A priority Critical patent/JP2010108497A/en
Publication of JP2010108497A publication Critical patent/JP2010108497A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a disk array controller executing processing related to maintenance of each drive even in a state that an operating system operates. <P>SOLUTION: A control module 400 inside a RAID controller 201 receives a command transmitted from a host 11. The control module 400 decides whether or not the received command is a prescribed command used for the maintenance of the drive. When the received command is the prescribed command, the control command 400 executes pass-through processing of sending the received command to the drive 210 designated by an access target drive number set in a pass-through control register 300 by the host 11. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は複数のドライブを一つの論理ドライブとして管理するディスクアレイ制御装置、および同ディスクアレイ制御装置を備えた記憶装置に関する。   The present invention relates to a disk array control device that manages a plurality of drives as one logical drive, and a storage device including the disk array control device.

近年、サーバ、パーソナルコンピュータといった情報処理装置においては、RAIDのようなディスクアレイ制御システムが使用されている。   In recent years, disk array control systems such as RAID have been used in information processing apparatuses such as servers and personal computers.

ディスクアレイ制御システムは、ハードディスクドライブのような複数のドライブを一つの論理ドライブとして扱うシステムである。ディスクアレイ制御システムにおいては、データはデータブロック単位で複数のドライブに分散してライトされる。したがって、データのライトおよびリードそれぞれの性能の向上を図ることができる。   The disk array control system is a system that handles a plurality of drives such as hard disk drives as one logical drive. In the disk array control system, data is distributed and written to a plurality of drives in units of data blocks. Therefore, the performance of data writing and reading can be improved.

特許文献1には、複数のディスクドライブから構成されるアレイディスクを制御するディスクアレイコントローラが開示されている。このディスクアレイコントローラは、各ディスクドライブのファームウェアをアップデートできるようにするために、複数のディスクドライブをアレイディスクとして使用するか、単体のディスクドライブとして使用するかを指定するフラグが格納される記憶部を備えている。ディスクアレイコントローラは、上述のフラグが“1”の場合は、複数のディスクドライブをアレイ制御するための処理を実行する。一方、上述のフラグが“0”の場合には、ディスクアレイコントローラは、システム装置が各ディスクドライブを単体のディスクドライブとしてアクセスすることを可能にする。   Patent Document 1 discloses a disk array controller that controls an array disk composed of a plurality of disk drives. This disk array controller stores a flag that specifies whether to use multiple disk drives as an array disk or as a single disk drive so that the firmware of each disk drive can be updated. It has. When the above-mentioned flag is “1”, the disk array controller executes processing for array control of a plurality of disk drives. On the other hand, when the above flag is “0”, the disk array controller enables the system apparatus to access each disk drive as a single disk drive.

特開2007−188372号公報JP 2007-188372 A

しかし、特許文献1のディスクアレイコントローラにおいては、上述のフラグが“0”の場合には、アレイ制御のための処理は一切行われず、データリード/ライトコマンドを含む、システムからの全てのコマンドが、あるディスクドライブに直接送られる。したがって、複数のディスクドライブがアレイ制御されているシステム稼働中に、もしフラグを“0”に設定すると、アレイディスク上に構築されたデータ構造が破壊されてしまう可能性がある。よって、システム稼働中にファームウェアのアップデートを行うことは実際上困難である。   However, in the disk array controller of Patent Document 1, when the above flag is “0”, no processing for array control is performed, and all commands from the system including data read / write commands are not performed. Sent directly to a disk drive. Therefore, if the flag is set to “0” during operation of a system in which a plurality of disk drives are array controlled, the data structure constructed on the array disk may be destroyed. Therefore, it is practically difficult to update the firmware while the system is operating.

したがって、オペレーティングシステムが動作している状態であっても各ドライブの保守に関する処理を実行することができる新たな機能の実現が必要である。   Therefore, it is necessary to realize a new function capable of executing processing related to maintenance of each drive even when the operating system is operating.

本発明は上述の事情を考慮してなされたものであり、オペレーティングシステムが動作している状態であってもホストから各ドライブを直接的にアクセスすることができるディスクアレイ制御装置および記憶装置を提供することを目的とする。   The present invention has been made in view of the above circumstances, and provides a disk array control device and a storage device that can directly access each drive from a host even when an operating system is operating. The purpose is to do.

上述の課題を解決するため、本発明の一観点によれば、複数のドライブを一つの論理ドライブとして管理するディスクアレイ制御装置であって、ホストからコマンドを受信する受信手段と、前記受信したコマンドがデータリードコマンドまたはデータライトコマンドである場合、前記複数のドライブに跨ったデータのリードまたはライトを実行するための処理を実行し、前記受信したコマンドが前記各ドライブに直接アクセスするための所定のコマンドである場合、前記受信したコマンドを、前記ホストによって指定されるアクセス対象ドライブに送出するパススルー処理を実行する制御手段とを具備することを特徴とするディスクアレイ制御装置が提供される。   In order to solve the above-described problem, according to one aspect of the present invention, a disk array control apparatus that manages a plurality of drives as one logical drive, the receiving means for receiving a command from a host, and the received command Is a data read command or a data write command, a process for executing read or write of data across the plurality of drives is executed, and the received command directly accesses each of the drives In this case, there is provided a disk array control device comprising control means for executing pass-through processing for sending the received command to an access target drive designated by the host.

また、本発明の別の観点によれば、筐体と、前記筐体内に設けられた複数のドライブと、前記筐体内に設けられ、前記複数のドライブを一つの論理ドライブとして管理するディスクアレイ制御装置であって、ホストからコマンドを受信し、前記受信したコマンドがデータリードコマンドまたはデータライトコマンドである場合、前記複数のドライブに跨ったデータのリードまたはライトを実行するための処理を実行し、前記受信したコマンドが前記各ドライブに直接アクセスするための所定のコマンドである場合、前記受信したコマンドを、前記ホストによって指定されるアクセス対象ドライブに送出するパススルー処理を実行するディスクアレイ制御装置とを具備することを特徴とする記憶装置が提供される。   According to another aspect of the present invention, a disk array control that manages a plurality of drives provided in the casing, the plurality of drives provided in the casing, and manages the plurality of drives as one logical drive. When the command is received from the host and the received command is a data read command or a data write command, a process for reading or writing data across the plurality of drives is executed. A disk array control device that executes a pass-through process for sending the received command to an access target drive designated by the host when the received command is a predetermined command for directly accessing each drive; A storage device is provided.

さらに本発明のまた別の観点によれば、情報処理装置本体と、前記本体内に設けられた記憶装置であって、筐体と、前記筐体内に設けられた複数のドライブと、前記筐体内に設けられ、前記複数のドライブを一つの論理ドライブとして管理するディスクアレイ制御装置であって、ホストからコマンドを受信し、前記受信したコマンドがデータリードコマンドまたはデータライトコマンドである場合、前記複数のドライブに跨ったデータのリードまたはライトを実行するための処理を実行し、前記受信したコマンドが前記各ドライブに直接アクセスするための所定のコマンドである場合、前記受信したコマンドを、前記ホストによって指定されるアクセス対象ドライブに送出するパススルー処理を実行するディスクアレイ制御装置とを含む記憶装置とを具備することを特徴とする情報処理装置が提供される。   According to still another aspect of the present invention, there is provided an information processing device main body, a storage device provided in the main body, a housing, a plurality of drives provided in the housing, A disk array control apparatus that manages the plurality of drives as one logical drive, and receives a command from a host, and the received command is a data read command or a data write command, When processing for reading or writing data across drives is executed, and the received command is a predetermined command for directly accessing each drive, the received command is designated by the host. Including a disk array control device that executes pass-through processing to be sent to the drive to be accessed The information processing apparatus is provided which is characterized by comprising a location.

本発明によれば、オペレーティングシステムが動作している状態であってもホストから各ドライブを直接的にアクセスすることができる。   According to the present invention, each drive can be directly accessed from the host even when the operating system is operating.

本発明の一実施形態に係る記憶装置の構成例を示すブロック図。1 is a block diagram illustrating a configuration example of a storage device according to an embodiment of the present invention. 同実施形態の記憶装置内に設けられたディスクアレイコントローラによって実行されるコマンドパススルー制御処理の手順の例を示すフローチャート。3 is an exemplary flowchart illustrating an example of a procedure of command pass-through control processing which is executed by a disk array controller provided in the storage device of the embodiment. 同実施形態の記憶装置内に設けられた複数のドライブの各々に保持されるログページ構造の例を示す図。2 is an exemplary view showing an example of a log page structure held in each of a plurality of drives provided in the storage device of the embodiment. 同実施形態の記憶装置内に設けられたパススルー制御レジスタの構成例を示す図。2 is an exemplary diagram showing a configuration example of a pass-through control register provided in the storage device of the embodiment. FIG. 同実施形態の記憶装置内に設けられたディスクアレイコントローラによって実行される、ダウンロードマイクロコードコマンドに対するパススルー制御動作を説明するための図。FIG. 3 is an exemplary view for explaining a pass-through control operation for a download microcode command, which is executed by a disk array controller provided in the storage device of the embodiment. 同実施形態の記憶装置内に設けられたディスクアレイコントローラによって実行される、スマートコマンドに対するパススルー制御動作を説明するための図。4 is an exemplary view for explaining a pass-through control operation for a smart command, which is executed by a disk array controller provided in the storage device of the embodiment. FIG. 同実施形態の記憶装置内に設けられたディスクアレイコントローラによって実行される、記憶装置内のパススルー制御レジスタに対するアクセス処理の手順の例を説明するためのフローチャート。4 is an exemplary flowchart for explaining an example of an access processing procedure for a pass-through control register in the storage device, which is executed by the disk array controller provided in the storage device of the embodiment; 同実施形態の記憶装置内に設けられたディスクアレイコントローラによって実行される、ダウンロードマイクロコードコマンドに対するパススルー制御処理の手順の例を説明するためのフローチャート。6 is an exemplary flowchart for explaining an example of a pass-through control processing procedure for a download microcode command, which is executed by a disk array controller provided in the storage device of the embodiment. 同実施形態の記憶装置内に設けられたディスクアレイコントローラによって実行される、スマートコマンドに対するパススルー制御処理の手順の例を説明するためのフローチャート。6 is an exemplary flowchart for explaining an example of a procedure of a pass-through control process for a smart command, which is executed by a disk array controller provided in the storage device of the embodiment. 同実施形態の記憶装置の実装例を示す図。The figure which shows the example of mounting of the memory | storage device of the embodiment. 同実施形態の記憶装置が収容される本体を含む情報処理装置の外観を示す斜視図。The perspective view which shows the external appearance of the information processing apparatus containing the main body in which the memory | storage device of the embodiment is accommodated. 図11に示す情報処理装置の構成を示すブロック図。FIG. 12 is a block diagram illustrating a configuration of the information processing apparatus illustrated in FIG. 11.

以下、図面を参照して、本発明の実施形態を説明する。
まず、図1を参照して、本発明の一実施形態に係る記憶装置の構成例を説明する。この記憶装置は、例えば、ATA規格に準拠したストレージデバイスとして実現されている。このストレージデバイス12は、サーバ、パーソナルコンピュータといった情報処理装置1の外部記憶装置として機能するドライブ装置である。情報処理装置1の情報処理装置本体内には、ホスト11とストレージデバイス12とが設けられる。ホスト11は情報処理装置1のコアユニットであり、各種プログラムを実行するCPU、およびメモリ等から構成される。ストレージデバイス12は、シリアルATAのようなATAインタフェースを介してホスト11に接続される。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
First, a configuration example of a storage device according to an embodiment of the present invention will be described with reference to FIG. This storage device is realized as a storage device compliant with the ATA standard, for example. The storage device 12 is a drive device that functions as an external storage device of the information processing apparatus 1 such as a server or a personal computer. A host 11 and a storage device 12 are provided in the information processing apparatus main body of the information processing apparatus 1. The host 11 is a core unit of the information processing apparatus 1 and includes a CPU that executes various programs, a memory, and the like. The storage device 12 is connected to the host 11 via an ATA interface such as serial ATA.

ストレージデバイス12は、RAIDコントローラ201と、複数のドライブ210ととから構成されている。RAIDコントローラ201は、複数のドライブ210を一つの論理ドライブとして扱うためのディスクアレイコントローラである。本実施形態では、RAIDコントローラ201と、n台のドライブ210とがストレージデバイス12の筐体内に設けられている。ここでnは2以上の整数である。   The storage device 12 includes a RAID controller 201 and a plurality of drives 210. The RAID controller 201 is a disk array controller for handling a plurality of drives 210 as one logical drive. In the present embodiment, a RAID controller 201 and n drives 210 are provided in the housing of the storage device 12. Here, n is an integer of 2 or more.

RAIDコントローラ201は、ホスト11とn台のドライブ210との間に介在している。RAIDコントローラ201は、ホスト側ATAインタフェース101と、n個のドライブ側ATAインタフェース111とを有している。RAIDコントローラ201はホスト側ATAインタフェース101を介してホスト11に接続されている。また、RAIDコントローラ201のn個のドライブ側ATAインタフェース111には、n台のドライブ210がそれぞれ接続されている。   The RAID controller 201 is interposed between the host 11 and the n drives 210. The RAID controller 201 has a host-side ATA interface 101 and n drive-side ATA interfaces 111. The RAID controller 201 is connected to the host 11 via the host side ATA interface 101. In addition, n drives 210 are connected to the n drive side ATA interfaces 111 of the RAID controller 201.

各ドライブ210は、ATA規格に準拠したドライブであるATAデバイスとして機能する。各ドライブ210は、例えば、ハードディスクドライブ(HDD)、またはソリッドステートドライブ(SSD)から構成されている。SSDは、MAND型フラッシュメモリのような不揮発性半導体メモリにデータを格納する半導体ディスクドライブである。   Each drive 210 functions as an ATA device that is a drive compliant with the ATA standard. Each drive 210 is composed of, for example, a hard disk drive (HDD) or a solid state drive (SSD). The SSD is a semiconductor disk drive that stores data in a nonvolatile semiconductor memory such as a MAND type flash memory.

RAIDコントローラ201は、n台のドライブ210をホスト11に一つのドライブとして見せるためのコントローラである。RAIDコントローラ201およびn台のドライブ210内に内蔵されているので、ストレージデバイス12は、ホスト11からは一つのATAデバイスとしてアクセスされる。RAIDコントローラ201はデータのリードおよびライト性能の向上を図るために、データをn台のドライブ210に跨って分散する。RAIDコントローラ201には、RAID0、RAID3、RAID5のような様々なRAIDレベルを適用可能である。本実施形態では、RAIDコントローラ201が、例えばRAID0に対応するディススクアレイコントローラとして実現されている場合を想定する。   The RAID controller 201 is a controller for making the n drives 210 appear to the host 11 as one drive. Since it is built in the RAID controller 201 and the n drives 210, the storage device 12 is accessed from the host 11 as one ATA device. The RAID controller 201 distributes data across n drives 210 in order to improve data read and write performance. Various RAID levels such as RAID 0, RAID 3, and RAID 5 can be applied to the RAID controller 201. In the present embodiment, it is assumed that the RAID controller 201 is realized as a disk array controller corresponding to RAID0, for example.

RAIDコントローラ201は、RAIDコントローラ201配下のn台のドライブ210を個々にホスト11から直接的にアクセスできるようにするためのコマンドパススルー制御機能を有している。このコマンドパススルー制御機能は、例えば、ドライブの保守に関するホスト11からの所定のコマンドのみをn台のドライブ210内の任意のドライブに直接的に送出する(パススルー)ことができる。このコマンドパススルー制御機能を実現するために、RAIDコントローラ201はパススルー制御レジスタ300を備えている。パススルー制御レジスタ300は、ホスト11がATA規格で規定されたコマンドを用いてアクセス可能なレジスタである。パススルー制御レジスタ300は、例えば、ホスト11によって指定されるアクセス対象ドライブ番号を保持するために使用される。   The RAID controller 201 has a command pass-through control function for allowing the n drives 210 under the RAID controller 201 to be directly accessed from the host 11 individually. This command pass-through control function can directly send (pass-through) only a predetermined command from the host 11 relating to drive maintenance to any drive in the n drives 210, for example. In order to realize this command pass-through control function, the RAID controller 201 includes a pass-through control register 300. The pass-through control register 300 is a register that can be accessed by the host 11 using a command defined by the ATA standard. The pass-through control register 300 is used to hold an access target drive number specified by the host 11, for example.

RAIDコントローラ201内の制御モジュール400は、RAIDコントローラ201の動作を制御するプロセッサである。制御モジュール400は、図2のフローチャートに示されているように、ホスト11から送信されるコマンドを受信する(ステップS11)。そして、制御モジュール400は、受信したコマンドがドライブの保守に使用される所定のコマンドであるか否かを判定する(ステップS12)。受信したコマンドが所定のコマンドである場合、制御モジュール400は、受信したコマンドを、ホスト11によってパススルー制御レジスタ300に設定されたアクセス対象ドライブ番号によって指定されるドライブに送出するパススルー処理を実行する(ステップS13)。例えば、ドライブ番号0を指定するアクセス対象ドライブ番号がパススルー制御レジスタ300にセットされている状態で、ホスト11が上述の所定のコマンドをストレージデバイス12に送信したならば、RAIDコントローラ201の制御モジュール400は、ホスト11から受信したコマンドを、ドライブ番号0に対応するドライブ(ATAドライブ0)に送出する。一方、受信したコマンドが所定のコマンドではない場合、例えば、受信したコマンドがデータリード/ライトコマンドであるならば、制御モジュール400は、n台のドライブ210に跨ったデータのリード/ライトを実行するためのRAID制御処理を実行する(ステップS14)。   The control module 400 in the RAID controller 201 is a processor that controls the operation of the RAID controller 201. As shown in the flowchart of FIG. 2, the control module 400 receives a command transmitted from the host 11 (step S11). Then, the control module 400 determines whether or not the received command is a predetermined command used for drive maintenance (step S12). When the received command is a predetermined command, the control module 400 executes a pass-through process in which the received command is sent to the drive specified by the access target drive number set in the pass-through control register 300 by the host 11 ( Step S13). For example, if the host 11 transmits the above-mentioned predetermined command to the storage device 12 in a state where the access target drive number specifying the drive number 0 is set in the pass-through control register 300, the control module 400 of the RAID controller 201 is used. Sends the command received from the host 11 to the drive corresponding to drive number 0 (ATA drive 0). On the other hand, if the received command is not a predetermined command, for example, if the received command is a data read / write command, the control module 400 reads / writes data across the n drives 210. RAID control processing is executed (step S14).

上述の所定のコマンドとしては、ダウンロードマイクロコードコマンド(DOWNLOAD MICROCODE コマンド)を使用することができる。DOWNLOAD MICROCODE コマンドは、ホスト11がドライブのマイクロコード(ファームウェア)を変更するために使用するATAコマンドである。   A download microcode command (DOWNLOAD MICROCODE command) can be used as the predetermined command. The DOWNLOAD MICROCODE command is an ATA command used by the host 11 to change the microcode (firmware) of the drive.

また、上述の所定のコマンドとして、スマートコマンド(SMARTコマンド)を使用することもできる。SMARTコマンドは、ドライブ210内に格納されるログページ構造(SMART情報)をリードまたはライトするためのATAコマンドである。   In addition, a smart command (SMART command) can be used as the predetermined command. The SMART command is an ATA command for reading or writing a log page structure (SMART information) stored in the drive 210.

このように、本実施形態のコマンドパススルー制御機能は、ホスト11からのコマンドの内、DOWNLOAD MICROCODEコマンド、SMARTコマンドのような、ある限られた所定のコマンドに対応する動作にしか影響を与えない。よって、ホスト11上でオペレーティングシステムが実行されている期間中においても、コマンドパススルー制御機能を利用することが出来る。つまり、オペレーティングシステムが動作している状態であっても、n台のドライブ210に跨って記録されたデータ構造に影響を与えることなく、各ドライブの保守に関する処理(マイクロコードの変更、ログデータのリード/ライト、等)を実行することができる。   As described above, the command pass-through control function according to the present embodiment only affects operations corresponding to certain predetermined commands such as the DOWNLOAD MICROCODE command and the SMART command among the commands from the host 11. Therefore, the command pass-through control function can be used even while the operating system is being executed on the host 11. In other words, even when the operating system is operating, the processing related to the maintenance of each drive (change of microcode, log data, etc.) is performed without affecting the data structure recorded across the n drives 210. Read / write, etc.).

さらに、本実施形態のコマンドパススルー制御機能は、ホスト11からの全ての種類のコマンドを、パススルー制御レジスタ300に設定されたアクセス対象ドライブ番号によって指定されるドライブに送出するパススルーモードも有している。このパススルーモードは、例えば、ストレージデバイス12の出荷時などにおいて、各ドライブ210の動作を評価するために使用することが出来る。   Furthermore, the command pass-through control function of the present embodiment also has a pass-through mode in which all types of commands from the host 11 are sent to the drive specified by the access target drive number set in the pass-through control register 300. . This pass-through mode can be used, for example, to evaluate the operation of each drive 210 when the storage device 12 is shipped.

パススルー制御レジスタ300は、ドライブ選択レジスタ301、パススルーモード(PTM)レジスタ302、およびページ選択レジスタ303を含んでいる。これらドライブ選択レジスタ301、パススルーモード(PTM)レジスタ302、およびページ選択レジスタ303に対するアクセスには、セルアテストの結果等の各種ログ情報を格納するためのログページ構造(SMARTログページ構造)に割り当てられたログアドレス範囲内に属する、ベンダー固有の第1の所定のログアドレスに対するログデータのライトを指定するスマートコマンド(第1の所定のログアドレスに対するSMART WRITE LOGコマンド、または第1の所定のログアドレスに対するWRITE LOG EXTコマンド)を使用し得る。すなわち、各ドライブに格納されるログページ構造には、図3に示すように、ログアドレス範囲(00h〜FFh)が割り当てられており、ログページ構造は256ページから構成されている。ログアドレス範囲(00h〜FFh)の内、A0h〜BFhはベンダー固有(VENDOR SPECIFIC)のアドレス群(ページ群)である。VENDOR SPECIFICのアドレスは、ストレージデバイス12の製造元(ベンダー)の固有の目的のために予約されたアドレスである。本実施形態では、例えば、ログアドレスA0h(ページA0hとも云う)に対するスマートライトコマンドがパススルー制御レジスタ300のアクセスに使用される。   The pass-through control register 300 includes a drive selection register 301, a pass-through mode (PTM) register 302, and a page selection register 303. Access to these drive selection register 301, pass-through mode (PTM) register 302, and page selection register 303 is assigned to a log page structure (SMART log page structure) for storing various log information such as the results of the cell test. A smart command (SMART WRITE LOG command for the first predetermined log address or the first predetermined log address for specifying the writing of log data to the vendor-specific first predetermined log address belonging to the log address range. WRITE LOG EXT command). That is, as shown in FIG. 3, a log address range (00h to FFh) is assigned to the log page structure stored in each drive, and the log page structure is composed of 256 pages. In the log address range (00h to FFh), A0h to BFh are vendor specific (VENDOR SPECIFIC) address groups (page groups). The VENDOR SPECIFIC address is an address reserved for a specific purpose of the manufacturer (vendor) of the storage device 12. In this embodiment, for example, a smart write command for the log address A0h (also referred to as page A0h) is used to access the pass-through control register 300.

パススルー制御レジスタ300に対するアクセスはベンダー固有コマンド(VENDOR SPECIFICコマンド)を用いても実現し得る。しかし、ホスト11によって実行されるドライバソフトウェアやホスト11内のブリッジによっては、コマンドプロトコルが定義されていないベンダー固有コマンドをサポートしていないものがある。本実施形態では、プロトコルが定義されているスマートコマンドをパススルー制御レジスタ300に対するアクセスに使用しているため、高い互換性を得ることができる。   Access to the pass-through control register 300 can also be realized by using a vendor-specific command (VENDOR SPECIFIC command). However, some driver software executed by the host 11 and bridges in the host 11 do not support vendor-specific commands for which no command protocol is defined. In this embodiment, since the smart command in which the protocol is defined is used for accessing the pass-through control register 300, high compatibility can be obtained.

ドライブ選択レジスタ301はホスト11によって指定されるアクセス対象ドライブ番号を保持するためのレジスタである。パススルーモード(PTM)レジスタ302は、ホスト11によって指定される動作モードを保持するレジスタである。動作モードには、ホスト11からの全ての種類のコマンドを、アクセス対象ドライブ番号によって指定されるドライブに送出するための上述のパススルーモードがある。さらに、動作モードには、ログページモード、およびスマートリードデータ(SMART READ DATA)モードがある。   The drive selection register 301 is a register for holding an access target drive number designated by the host 11. The pass-through mode (PTM) register 302 is a register that holds an operation mode specified by the host 11. The operation mode includes the above-described pass-through mode for sending all types of commands from the host 11 to the drive designated by the access target drive number. Further, the operation modes include a log page mode and a smart read data (SMART READ DATA) mode.

ログページモードは、ログページ構造に割り当てられたログアドレス範囲内に属する、ベンダー固有の第2の所定のログアドレスに対するスマートコマンド(第2の所定のログアドレスに対するSMART READ LOGコマンド、または第2の所定のログアドレスに対するSMART WRITE LOGコマンド)を用いて、ログページ構造(SMART情報)をリード/ライトするためのモードである。この場合、ログページ構造内のアクセス対象のページ(ログアドレス)は、ページ選択レジスタ303に保持されているアクセス対象ログアドレスによって指定される。第2の所定のログアドレスとしては、例えば、ログアドレスA1h(ページA1hとも云う)が使用される。つまり、ページA1hは、ログページ構造をアクセスするためのウィンドウとして使用される。   The log page mode is a smart command (second SMART READ LOG command for the second predetermined log address or the second predetermined log address) belonging to the log address range assigned to the log page structure. This is a mode for reading / writing the log page structure (SMART information) using the SMART WRITE LOG command for a predetermined log address. In this case, the access target page (log address) in the log page structure is specified by the access target log address held in the page selection register 303. As the second predetermined log address, for example, a log address A1h (also referred to as page A1h) is used. That is, the page A1h is used as a window for accessing the log page structure.

SMART READ DATAモードは、ログページ構造に割り当てられたログアドレス範囲内に属する、ベンダー固有の第2の所定のログアドレスに対するスマートコマンド(第2の所定のログアドレスに対するSMART READ LOGコマンド、または第2の所定のログアドレスに対するSMART WRITE LOGコマンド)を用いて、上述のログページ構造とは別のスマート情報であるスマートデータ構造をリードするためのモードである。SMART READ DATAモードにおいては、ページ選択レジスタ303は使用されず、スマートデータ構造全体がホスト11にリターンされる。   SMART READ DATA mode is a smart command (second SMART READ LOG command for the second predetermined log address, or second) for the vendor specific second predetermined log address belonging to the log address range assigned to the log page structure. This is a mode for reading a smart data structure, which is smart information different from the log page structure described above, using a SMART WRITE LOG command for a predetermined log address. In the SMART READ DATA mode, the page selection register 303 is not used, and the entire smart data structure is returned to the host 11.

図4は、ページA0hに割り当てられたパススルー制御レジスタ300の構成例を示している。   FIG. 4 shows a configuration example of the pass-through control register 300 assigned to the page A0h.

ページA0hに対応する512バイトのデータ記憶領域の内、バイト0に対応するデータ記憶領域はドライブ選択レジスタ301として使用される。バイト0のbit7=0は、RAIDコントローラ201を示し、bit7=1は、ATAドライブを示す。バイト0のbit6−0は、アクセス対象ドライブ番号(アクセス対象ATAドライブ番号)を示す。bit7=1の時、bit6−0によって指定されるドライブ210がアクセス対象となる。   Of the 512-byte data storage area corresponding to page A0h, the data storage area corresponding to byte 0 is used as drive selection register 301. Bit 7 = 0 of byte 0 indicates the RAID controller 201, and bit 7 = 1 indicates the ATA drive. Bits 6-0 of byte 0 indicate an access target drive number (access target ATA drive number). When bit7 = 1, the drive 210 specified by bit6-0 becomes an access target.

ページA0hに対応する512バイトのデータ領域の内、バイト1のデータ領域はページ選択レジスタ303として使用される。バイト2の1バイトデータの値は、アクセス対象ログアドレス(アクセス対象ログページ)を示す。   Of the 512-byte data area corresponding to page A0h, the data area of byte 1 is used as page selection register 303. The value of 1-byte data in byte 2 indicates an access target log address (access target log page).

ページA0hに対応する512バイトのデータ領域の内、バイト2のデータ領域はPTMレジスタ302として使用される。バイト2の1バイトデータ=00hは、ログページモードを示す。バイト2の1バイトデータ=01hは、SMART READ DATAモードを示す。バイト2の1バイトデータ=FFhは、パススルーモードを示す。   Of the 512-byte data area corresponding to page A0h, the data area of byte 2 is used as the PTM register 302. 1 byte data of byte 2 = 00h indicates a log page mode. 1 byte data of byte 2 = 01h indicates the SMART READ DATA mode. 1 byte data of byte 2 = FFh indicates a pass-through mode.

制御モジュール400は、ホスト11から受信したコマンドが、ログページA0hに対するログデータのライトを指定するスマートコマンドである場合、アクセス対象ドライブ番号、アクセス対象ログアドレス、または動作モード(ログページモード、SMART READ DATAモード、パススルーモード)をパススルー制御レジスタ300にセットするために、ホスト11からのデータ(512バイトのログデータ)をパススルー制御レジスタ300にライトする。   When the command received from the host 11 is a smart command that specifies writing of log data to the log page A0h, the control module 400 accesses the access target drive number, the access target log address, or the operation mode (log page mode, SMART READ In order to set (DATA mode, pass-through mode) in the pass-through control register 300, data (512-byte log data) from the host 11 is written to the pass-through control register 300.

パススルーモード以外の動作モードにおいては、DOWNLOAD MICROCODEコマンドと、ログページA1hに対するスマートコマンドがドライブ210にパススルーされる所定のコマンドとなる。   In operation modes other than the pass-through mode, the DOWNLOAD MICROCODE command and the smart command for the log page A1h are predetermined commands that are passed through to the drive 210.

このように、本実施形態のRAIDコントローラ201は、DOWNLOAD MICROCODEコマンド(以下DLMCコマンドと称する)による直接アクセス、SMARTコマンドによる直接アクセス、および、パススルーモードによる直接アクセスの3種類の直接アクセス方式を提供することができる。   As described above, the RAID controller 201 of the present embodiment can provide three types of direct access methods: direct access using the DOWNLOAD MICROCODE command (hereinafter referred to as DLMC command), direct access using the SMART command, and direct access using the pass-through mode.

RAIDコントローラ201にはドライブ選択レジスタ301、ページ選択レジスタ303、パススルーモードレジスタ(PTMレジスタ)302が設けられており、これらレジスタの値の組み合わせでRAIDコントローラ201の動作を変えることができる。   The RAID controller 201 is provided with a drive selection register 301, a page selection register 303, and a pass-through mode register (PTM register) 302. The operation of the RAID controller 201 can be changed by a combination of these register values.

パススルー制御レジスタ300(ドライブ選択レジスタ301、ページ選択レジスタ303、およびPTMレジスタ302)は、電源投入時、および、ソフトウェアリセットでクリアされる。パススルー制御レジスタ300のデフォルト値はオール零である。   The pass-through control register 300 (drive selection register 301, page selection register 303, and PTM register 302) is cleared when the power is turned on and by software reset. The default value of the pass-through control register 300 is all zeros.

パススルー制御レジスタ300の値は、ホスト11からのページA0hに対するSMART WRITE LOGコマンド、またはホスト11からのページA0hに対するWRITE LOG EXTコマンドで変更できる。   The value of the pass-through control register 300 can be changed by the SMART WRITE LOG command for the page A0h from the host 11 or the WRITE LOG EXT command for the page A0h from the host 11.

以下、RAIDコントローラ201によって実行されるパススルー制御動作を具体的に説明する。   Hereinafter, the pass-through control operation executed by the RAID controller 201 will be specifically described.

<DLMCコマンドに対するパススルー制御>
PTMレジスタ302がFFh以外のときは、図5に示すように、ドライブ選択レジスタ301の値に応じて、DLMCコマンドに対するパススルー制御動作が変わる。
<Pass-through control for DLMC command>
When the PTM register 302 is other than FFh, the pass-through control operation for the DLMC command changes according to the value of the drive selection register 301 as shown in FIG.

PTMレジスタ302がFFh以外の場合において、ドライブ選択レジスタ301のbit7が0のときは、DLMCコマンドのパススルー先(アクセス先)はRAIDコントローラ201自身となる。つまり、RAIDコントローラ201のマイクロコードの変更が行われる。ドライブ選択レジスタ301のbit7が1のときは、DLMCコマンドのパススルー先は、ドライブ選択レジスタ301のbit6−0が示すATAドライブにパススルーされる。例えば、bit6−0が示すATAドライブ番号がkならば、ドライブ番号kのドライブにDLMCコマンドがパススルーされる。   When the PTM register 302 is other than FFh and the bit 7 of the drive selection register 301 is 0, the pass-through destination (access destination) of the DLMC command is the RAID controller 201 itself. That is, the microcode of the RAID controller 201 is changed. When bit 7 of the drive selection register 301 is 1, the pass-through destination of the DLMC command is passed through to the ATA drive indicated by bits 6-0 of the drive selection register 301. For example, if the ATA drive number indicated by bits 6-0 is k, the DLMC command is passed through to the drive of drive number k.

PTMレジスタ302がFFhの場合においては、ドライブ選択レジスタ301のbit7の値は使用されず、ホスト11かせの全てのコマンドが、ドライブ選択レジスタ301のbit6−0が示すATAドライブにパススルーされる。   When the PTM register 302 is FFh, the value of bit 7 of the drive selection register 301 is not used, and all commands of the host 11 are passed through to the ATA drive indicated by bits 6-0 of the drive selection register 301.

<スマートコマンドに対するパススルー制御>
PTMレジスタ302がFFh以外のときは、図6に示すように、ページA1hに対するスマートコマンドは、ドライブ選択レジスタ301のbit6−0が示すATAドライブにパススルーされる。一方、ページA1h以外のページに対するスマートコマンドのパススルー先(アクセス先)はRAIDコントローラ201自身となる。
<Pass-through control for smart commands>
When the PTM register 302 is other than FFh, the smart command for the page A1h is passed through to the ATA drive indicated by bits 6-0 of the drive selection register 301 as shown in FIG. On the other hand, the pass-through destination (access destination) of the smart command for the pages other than the page A1h is the RAID controller 201 itself.

スマートコマンドには、ログページ構造内のあるページのログをリード/ライトアクセスするためのコマンド(SMART READ LOGコマンド,SMART WRITE LOGコマンド,READ LOG EXTコマンド,WRITE LOG EXTコマンド)と、スマートデータ構造をリードするためのコマンド(SMART READ DATAコマンド)とがある。本実施形態では、ログページ構造またはスマートデータ構造のどちらをアクセスする場合であっても、ホスト11は、ページA1hに対するスマートコマンドを使用する。   Smart commands include commands for reading / writing the log of a page in the log page structure (SMART READ LOG command, SMART WRITE LOG command, READ LOG EXT command, WRITE LOG EXT command) and smart data structures. There is a command for reading (SMART READ DATA command). In this embodiment, the host 11 uses the smart command for the page A1h regardless of whether the log page structure or the smart data structure is accessed.

まず、ログページに対するアクセスについて説明する。   First, access to the log page will be described.

PTMレジスタ302が00hのときは、ホスト11は、ページA1hを通して、ATAドライブのLogページにアクセスすることができる。ページA1hに対するSMART READ LOGコマンドまたはページA1hに対するSMART WRITE LOGコマンドは、ドライブ選択レジスタ301のbit6−0が示すATAドライブの、ページ選択レジスタ303が示すページ番号へのSMART READ/WRITE LOGコマンドとしてパススルーされる。例えば、ドライブ選択レジスタ301のbit6−0が示すATAドライブ番号がkであり、ページ選択レジスタ303が示すページ番号がjであれば、ページ番号jに対するSMART READ LOGコマンドまたはページ番号jに対するSMART WRITE LOGコマンドが、ドライブ番号kのドライブに送信される。   When the PTM register 302 is 00h, the host 11 can access the Log page of the ATA drive through page A1h. The SMART READ LOG command for page A1h or the SMART WRITE LOG command for page A1h is passed through as a SMART READ / WRITE LOG command to the page number indicated by page selection register 303 of the ATA drive indicated by bits 6-0 of drive selection register 301. The For example, if the ATA drive number indicated by bits 6-0 of the drive selection register 301 is k and the page number indicated by the page selection register 303 is j, a SMART READ LOG command for page number j or a SMART WRITE LOG for page number j The command is transmitted to the drive of drive number k.

ページA1hに対するREAD LOG EXTコマンドまたはページA1hに対するWRITE LOG EXTコマンドは、ドライブ選択レジスタ301のbit6−0が示すATAドライブの、ページ選択レジスタ303が示すページ番号へのREAD/WRITE LOG EXTコマンドとしてパススルーされる。例えば、ドライブ選択レジスタ301のbit6−0が示すATAドライブ番号がkであり、ページ選択レジスタ303が示すページ番号がjであれば、ページ番号jに対するREAD LOG EXTコマンドまたはページ番号jに対するWRITE LOG EXTコマンドが、ドライブ番号kのドライブに送信される。   The READ LOG EXT command for page A1h or the WRITE LOG EXT command for page A1h is passed through as a READ / WRITE LOG EXT command to the page number indicated by page selection register 303 of the ATA drive indicated by bits 6-0 of drive selection register 301. The For example, if the ATA drive number indicated by bits 6-0 of the drive selection register 301 is k and the page number indicated by the page selection register 303 is j, the READ LOG EXT command for page number j or the WRITE LOG EXT for page number j The command is transmitted to the drive of drive number k.

次に、スマートデータに対するアクセスについて説明する。   Next, access to smart data will be described.

PTMレジスタが01hのときは、ホスト11は、ページA1hを通して、ATAドライブのSMART READ DATAにアクセスすることができる。   When the PTM register is 01h, the host 11 can access SMART READ DATA of the ATA drive through page A1h.

ページA1hに対するSMART READ LOGコマンドまたはページA1hに対するREAD LOG EXTコマンドは、ドライブ選択レジスタ301のbit6−0が示すATAドライブへのSMART READ DATAコマンドとしてパススルーされる。つまり、ページA1hに対するSMART READ LOGコマンドまたはページA1hに対するREAD LOG EXTコマンドはRAIDコントローラ201によってSMART READ DATAコマンドに変換される。もしドライブ選択レジスタ301のbit6−0が示すATAドライブ番号がkであれば、SMART READ DATAコマンドは、ドライブ番号kのドライブに送信される。   The SMART READ LOG command for page A1h or the READ LOG EXT command for page A1h is passed through as a SMART READ DATA command to the ATA drive indicated by bits 6-0 of the drive selection register 301. That is, the SMART READ LOG command for page A1h or the READ LOG EXT command for page A1h is converted into a SMART READ DATA command by RAID controller 201. If the ATA drive number indicated by bits 6-0 of the drive selection register 301 is k, the SMART READ DATA command is transmitted to the drive of drive number k.

<パススルーモードにおけるパススルー制御>
PTMレジスタ302がFFhのとき、すべてのコマンドはドライブ選択レジスタのbit6−0が示すATAドライブにパススルーされる。
<Pass-through control in pass-through mode>
When the PTM register 302 is FFh, all commands are passed through to the ATA drive indicated by bit 6-0 of the drive selection register.

パススルーモードの解除には、ソフトウェアリセットが使用される。動作モードが一旦パススルーモードに設定された後は、ページA0hに対するスマートコマンドを含む全てのコマンドがパススルーされてしまうため、ホスト11からのコマンドによってパススルー制御レジスタ300の内容を更新することができないからである。   Software reset is used to cancel the pass-through mode. This is because once the operation mode is set to the pass-through mode, all the commands including the smart command for the page A0h are passed through, so the contents of the pass-through control register 300 cannot be updated by the command from the host 11. is there.

次に、図7のフローチャートを参照して、制御モジュール400によって実行されるパススルー制御レジスタ300に対するアクセス処理について説明する。   Next, an access process for the pass-through control register 300 executed by the control module 400 will be described with reference to the flowchart of FIG.

制御モジュール400は、ホスト11から送信されるコマンドを受信する(ステップS21)。制御モジュール400は、受信したコマンドがページA0hに対するログデータのライトを指定するスマートコマンドであるか否かを判定する(ステップS22)。受信したコマンドがページA0hに対するログデータのライトを指定するスマートコマンドであれば、制御モジュール400は、パススルー制御レジスタ300をライトアクセスして、ホスト11からのログデータをパススルー制御レジスタ300にライトする(ステップS23)。受信したコマンドがページA0hに対するログデータのライトを指定するスマートコマンドではないならば、制御モジュール400は、他の処理(コマンド処理)を実行する(ステップS24)。   The control module 400 receives a command transmitted from the host 11 (step S21). The control module 400 determines whether or not the received command is a smart command that designates writing of log data to the page A0h (step S22). If the received command is a smart command that designates writing of log data to page A0h, the control module 400 performs write access to the pass-through control register 300 and writes log data from the host 11 to the pass-through control register 300 ( Step S23). If the received command is not a smart command that designates writing of log data for page A0h, the control module 400 executes another process (command process) (step S24).

次に、図8のフローチャートを参照して、制御モジュール400によって実行されるDLMCコマンドに対するパススルー制御処理について説明する。   Next, the pass-through control process for the DLMC command executed by the control module 400 will be described with reference to the flowchart of FIG.

制御モジュール400は、PTMレジスタ302の値がFFhであるか否かを判定する(ステップS31)。PTMレジスタ302の値がFFhの場合、つまりRAIDコントローラ201の動作モードがパススルーモードである場合には、制御モジュール400は、ホスト11からの全てのコマンドを、ドライブ選択レジスタ301のbit6−0が示すATAドライブにパススルーする(ステップS32)。   The control module 400 determines whether or not the value of the PTM register 302 is FFh (step S31). When the value of the PTM register 302 is FFh, that is, when the operation mode of the RAID controller 201 is the pass-through mode, the control module 400 indicates all commands from the host 11 by bits 6-0 of the drive selection register 301. Pass through to the ATA drive (step S32).

一方、PTMレジスタ302の値がFFh以外であるならば、制御モジュール400は、ホスト11からコマンドを受信する度に、その受信したコマンドがDLMCコマンドであるか否かを判定する(ステップS33,S34)。受信したコマンドがDLMCコマンドであるならば、制御モジュール400は、受信したコマンドを、ドライブ選択レジスタ301のbit6−0が示すATAドライブにパススルーする(ステップS35)。一方、受信したコマンドがDLMCコマンド以外のコマンドであるならば、制御モジュール400は、他の処理を実行する(ステップS36)。   On the other hand, if the value of the PTM register 302 is other than FFh, the control module 400 determines whether or not the received command is a DLMC command each time a command is received from the host 11 (steps S33 and S34). ). If the received command is a DLMC command, the control module 400 passes through the received command to the ATA drive indicated by bits 6-0 of the drive selection register 301 (step S35). On the other hand, if the received command is a command other than the DLMC command, the control module 400 executes other processing (step S36).

次に、図9のフローチャートを参照して、制御モジュール400によって実行されるスマートコマンドに対するパススルー制御処理について説明する。   Next, a pass-through control process for a smart command executed by the control module 400 will be described with reference to a flowchart of FIG.

制御モジュール400は、PTMレジスタ302の値がFFhであるか否かを判定する(ステップS41)。PTMレジスタ302の値がFFhの場合、つまりRAIDコントローラ201の動作モードがパススルーモードである場合には、制御モジュール400は、ホスト11からの全てのコマンドを、ドライブ選択レジスタ301のbit6−0が示すATAドライブにパススルーする(ステップS42)。   The control module 400 determines whether or not the value of the PTM register 302 is FFh (step S41). When the value of the PTM register 302 is FFh, that is, when the operation mode of the RAID controller 201 is the pass-through mode, the control module 400 indicates all commands from the host 11 by bits 6-0 of the drive selection register 301. Pass through to the ATA drive (step S42).

一方、PTMレジスタ302の値がFFh以外であるならば、制御モジュール400は、ホスト11からコマンドを受信する度に、その受信したコマンドがページA1hに対するスマートコマンド(ページA1hに対するSMART READ LOGコマンド、ページA1hに対するSMART WRITE LOGコマンド、ページA1hに対するREAD LOG EXTコマンド、またはページA1hに対するWRITE LOG EXTコマンド)であるか否かを判定する(ステップS44,S45)。   On the other hand, if the value of the PTM register 302 is other than FFh, the control module 400 receives the command from the host 11 and the received command is a smart command for the page A1h (SMART READ LOG command for page A1h, page It is determined whether it is a SMART WRITE LOG command for A1h, a READ LOG EXT command for page A1h, or a WRITE LOG EXT command for page A1h (steps S44 and S45).

受信したコマンドがページA1hに対するスマートコマンドであるならば、制御モジュール400は、ログページ構造又はスマートデータ構造をアクセスするためのスマートコマンドを、ドライブ選択レジスタ301のbit6−0が示すATAドライブにパススルーする(ステップS47−S49)。具体的には、ステップS47−S49においては、例えば、制御モジュール400は、動作モードがログページモードまたはSMART READ DATAモードのいずれであるかを判定する(ステップS47)。動作モードがログページモードであるならば、制御モジュール400は、ページ選択レジスタ303が示すページ番号jに対するスマートコマンド(ページjに対するSMART READ LOGコマンド、ページjに対するSMART WRITE LOGコマンド、ページjに対するREAD LOG EXTコマンド、またはページjに対するWRITE LOG EXTコマンド)を、ドライブ選択レジスタ301のbit6−0が示すドライブ番号kのドライブに送信する(ステップS48)。動作モードがSMART DATA READモードである場合には、制御モジュール400は、ページA1hに対するSMART READ LOGコマンドまたはページA1hに対するREAD LOG EXTコマンドを、SMART READ DATAコマンドに変換する処理を実行する(ステップS49)。すなわち、受信コマンドがページA1hに対するSMART READ LOGコマンドまたはページA1hに対するREAD LOG EXTコマンドであり、且つ動作モードがSMART DATA READモードである場合には、制御モジュール400は、SMART READ DATAコマンドを、ドライブ選択レジスタ301のbit6−0が示すドライブ番号kのドライブに送信する。   If the received command is a smart command for the page A1h, the control module 400 passes through the smart command for accessing the log page structure or the smart data structure to the ATA drive indicated by bits 6-0 of the drive selection register 301. (Steps S47-S49). Specifically, in steps S47 to S49, for example, the control module 400 determines whether the operation mode is the log page mode or the SMART READ DATA mode (step S47). If the operation mode is the log page mode, the control module 400 uses the smart command for the page number j indicated by the page selection register 303 (SMART READ LOG command for page j, SMART WRITE LOG command for page j, READ LOG for page j). EXT command or WRITE LOG EXT command for page j) is transmitted to the drive of drive number k indicated by bits 6-0 of the drive selection register 301 (step S48). When the operation mode is the SMART DATA READ mode, the control module 400 executes processing for converting the SMART READ LOG command for the page A1h or the READ LOG EXT command for the page A1h into a SMART READ DATA command (step S49). . That is, when the received command is the SMART READ LOG command for page A1h or the READ LOG EXT command for page A1h and the operation mode is the SMART DATA READ mode, the control module 400 selects the SMART READ DATA command as the drive. The data is transmitted to the drive of drive number k indicated by bits 6-0 of the register 301.

図10は、ストレージデバイス12の実装例を示している。   FIG. 10 shows an implementation example of the storage device 12.

図10においては、ストレージデバイス12が複数のSSD、例えば2つのSSDを内蔵する半導体ディスクドライブとして実現されている場合を想定する。ストレージデバイス12は、例えば、2.5インチ型HDDと同じ外形寸法を有する筐体500を備えている。この筐体500内には、RAIDコントローラ201が実装された回路基板503と、2台のSSD210それぞれが実装される2つの回路基板501,502とが設けられている。RAIDコントローラ201は、2台のSSD210を、例えばRAIDレベル0のディスクアレイとして制御する。各SSD210の記憶容量が128GBである場合、RAIDコントローラ201は、2台のSSD210を、記憶容量が256GBの1台のSSDとして扱うことが出来る。ホスト11は、ストレージデバイス12を記憶容量が256GBの1台のSSD(ATAドライブ)として認識する。   In FIG. 10, it is assumed that the storage device 12 is realized as a semiconductor disk drive incorporating a plurality of SSDs, for example, two SSDs. The storage device 12 includes a housing 500 having the same outer dimensions as, for example, a 2.5-inch HDD. In the housing 500, a circuit board 503 on which the RAID controller 201 is mounted and two circuit boards 501 and 502 on which two SSDs 210 are mounted are provided. The RAID controller 201 controls the two SSDs 210 as, for example, a RAID 0 disk array. When the storage capacity of each SSD 210 is 128 GB, the RAID controller 201 can handle two SSDs 210 as one SSD having a storage capacity of 256 GB. The host 11 recognizes the storage device 12 as one SSD (ATA drive) having a storage capacity of 256 GB.

各SSD210は、コントローラ601と、DRAM602と、複数の不揮発性半導体メモリ607から構成されている。各不揮発性半導体メモリ607は、例えば、NAND型フラッシュEEPROMから構成されている。なお、RAIDコントローラ201と2台のSSD210とを、同一の回路基板上に実装することも出来る。   Each SSD 210 includes a controller 601, a DRAM 602, and a plurality of nonvolatile semiconductor memories 607. Each nonvolatile semiconductor memory 607 is composed of, for example, a NAND flash EEPROM. Note that the RAID controller 201 and the two SSDs 210 may be mounted on the same circuit board.

図10に示すような構造のストレージデバイス12においては、各SSD210を筐体500から取り外すことは実際上困難である。本実施形態のパススルー制御機能は、DLMCコマンド、スマートコマンドといったドライブの保守に関するコマンドのみを対象にパススルー処理を実行することができるので、オペレーティングシステムが動作している状態であっても、2台のSSD210に跨って記録されたユーザデータに影響を与えることなく、また各SSD210を筐体500から取り外すことなく、任意のSSD210に対してその保守のための処理(スマート情報の収集、ファームウェアの更新)をお個なうことができる。   In the storage device 12 having the structure shown in FIG. 10, it is practically difficult to remove each SSD 210 from the housing 500. The pass-through control function of the present embodiment can execute pass-through processing only for commands related to drive maintenance such as DLMC commands and smart commands. Therefore, even when the operating system is operating, Processing for maintenance of any SSD 210 (collection of smart information, firmware update) without affecting user data recorded across the SSDs 210 and without removing each SSD 210 from the housing 500 Can be personalized.

次に、図11を参照して、ストレージデバイス12を内蔵した情報処理装置1の構成例を説明する。   Next, a configuration example of the information processing apparatus 1 including the storage device 12 will be described with reference to FIG.

情報処理装置1は、例えば、ノートブック型のポータブルコンピュータとして実現し得る。図11は、ポータブルコンピュータとして実現された情報処理装置1の外観を示す斜視図である。   The information processing apparatus 1 can be realized as a notebook portable computer, for example. FIG. 11 is a perspective view showing an appearance of the information processing apparatus 1 realized as a portable computer.

この情報処理装置1は、情報処理装置本体2と、ディスプレイユニット3とから構成されている。ディスプレイユニット3には、LCD(Liquid Crystal Display)4で構成される表示装置が組み込まれている。   The information processing apparatus 1 includes an information processing apparatus main body 2 and a display unit 3. The display unit 3 incorporates a display device composed of an LCD (Liquid Crystal Display) 4.

ディスプレイユニット3は、情報処理装置本体2に対し、この本体2の上面が露出される開放位置と本体2の上面を覆う閉塞位置との間を回動自由に取り付けられている。本体2は薄い箱形の筐体を有しており、その上面には、電源スイッチ5、キーボード6、タッチパッド7等が配置されている。   The display unit 3 is attached to the information processing apparatus main body 2 so as to freely rotate between an open position where the upper surface of the main body 2 is exposed and a closed position covering the upper surface of the main body 2. The main body 2 has a thin box-shaped casing, and a power switch 5, a keyboard 6, a touch pad 7 and the like are arranged on the upper surface thereof.

また、本体2の前面には、LED(Light Emitting Diode)8が配置され、その右側面には、DVD(Digital Versatile Disc)の光ディスクメディアに対するデータの書き込みおよび読み出しが可能な光ディスクドライブ(ODD)9、PCカードを取り外し自在に収容するPCカードスロット10等が配置されている。そして、本情報処理装置1では、起動ドライブとして機能する外部記憶装置として、本体2の内部に、本実施形態のストレージデバイス12が収容されている。このストレージデバイス12は、例えば、図10で説明したような構造を有する半導体ディスクドライブとして実現されている。情報処理装置本体2が、上述のホスト11として機能する。   Further, an LED (Light Emitting Diode) 8 is disposed on the front surface of the main body 2, and an optical disk drive (ODD) 9 capable of writing and reading data on an optical disk medium of a DVD (Digital Versatile Disc) on the right side surface thereof. A PC card slot 10 for detachably storing the PC card is disposed. In the information processing apparatus 1, the storage device 12 of the present embodiment is accommodated inside the main body 2 as an external storage device that functions as a startup drive. The storage device 12 is realized, for example, as a semiconductor disk drive having the structure described with reference to FIG. The information processing apparatus main body 2 functions as the host 11 described above.

図12は、図11の情報処理装置1のシステム構成を示すブロック図である。   FIG. 12 is a block diagram showing a system configuration of the information processing apparatus 1 of FIG.

情報処理装置1は、図12に示すように、前述のLCD4、電源スイッチ5、キーボード6、タッチパッド7、LED8、ODD9、PCカードスロット10、およびストレージデバイス12のほかに、CPU100、ノースブリッジ102、メインメモリ103、GPU(Graphic Processing Unit)104、サウスブリッジ105、フラッシュメモリ106、EC/KBC(Embedded Controller/Keyboard Controller)107、ファン108等を備えている。   As shown in FIG. 12, the information processing apparatus 1 includes a CPU 100, a north bridge 102, in addition to the LCD 4, the power switch 5, the keyboard 6, the touch pad 7, the LED 8, the ODD 9, the PC card slot 10, and the storage device 12. A main memory 103, a GPU (Graphic Processing Unit) 104, a south bridge 105, a flash memory 106, an EC / KBC (Embedded Controller / Keyboard Controller) 107, a fan 108, and the like.

CPU100は、情報処理装置1の動作を制御するプロセッサであり、ストレージデバイス12からメインメモリ103にロードされる、オペレーティングシステムや、ユーティリティを含む各種アプリケーションプログラムを実行する。また、CPU100は、フラッシュメモリ106に格納されたBIOS(Basic Input/Output System)も実行する。BIOSは、ハードウェア制御のためのプログラムである。   The CPU 100 is a processor that controls the operation of the information processing apparatus 1 and executes various application programs including an operating system and utilities that are loaded from the storage device 12 to the main memory 103. The CPU 100 also executes a basic input / output system (BIOS) stored in the flash memory 106. The BIOS is a program for hardware control.

ノースブリッジ102は、CPU100のローカルバスとサウスブリッジ105との間を接続するブリッジデバイスである。ノースブリッジ102は、バスを介してGPU104との通信を実行する機能を有しており、また、メインメモリ103をアクセス制御するメモリコントローラも内蔵されている。GPU104は、情報処理装置1の表示装置として使用されるLCD4を制御する。   The north bridge 102 is a bridge device that connects the local bus of the CPU 100 and the south bridge 105. The north bridge 102 has a function of executing communication with the GPU 104 via a bus, and also includes a memory controller that controls access to the main memory 103. The GPU 104 controls the LCD 4 that is used as a display device of the information processing apparatus 1.

サウスブリッジ105は、ストレージデバイス12、ODD9、PCカードスロット10に収容されたPCカード、フラッシュメモリ106等の各種デバイスを制御するコントローラである。   The south bridge 105 is a controller that controls various devices such as the storage device 12, the ODD 9, the PC card accommodated in the PC card slot 10, and the flash memory 106.

EC/KBC107は、電力管理のための組み込みコントローラと、キーボード6およびタッチパッド7を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。EC/KBC107は、LED8および冷却用のファン108の制御も実行する。   The EC / KBC 107 is a one-chip microcomputer in which an embedded controller for power management and a keyboard controller for controlling the keyboard 6 and the touch pad 7 are integrated. The EC / KBC 107 also executes control of the LED 8 and the cooling fan 108.

以上説明したように、本実施形態のコマンドパススルー制御機能によれば、以下の効果が得られる。   As described above, according to the command pass-through control function of this embodiment, the following effects can be obtained.

すなわち、一般的なRAIDシステムでは、個々のドライブに直接アクセスすることができないが、本実施形態では、フィールドにおいて、個々のドライブに対するファームウェアの更新やSMART情報の収集といった保守機能を実現することができる。この場合、本実施形態のコマンドパススルー制御機能は、パススルーモード(PTMレジスタ=FFh)以外においては、DLMCコマンド、および、ページA1hに対するSMART READ/WRITE LOGコマンド、ページA1hに対するREAD/WRITE LOG EXTコマンドの動作にしか影響を与えない。したがって、オペレーティングシステムが動作している期間中であって、個々のドライブに対するファームウェアの更新やSMART情報の収集といった保守処理を容易に実行することができる。   That is, in a general RAID system, individual drives cannot be accessed directly, but in this embodiment, maintenance functions such as firmware update and collection of SMART information for individual drives can be realized in the field. In this case, in the command pass-through control function of this embodiment, in the modes other than the pass-through mode (PTM register = FFh), the DLMC command, the SMART READ / WRITE LOG command for page A1h, and the READ / WRITE LOG EXT command for page A1h It only affects the operation. Therefore, it is possible to easily perform maintenance processing such as firmware update for individual drives and collection of SMART information during a period in which the operating system is operating.

また、プロトコルが定義されているスマートコマンドをパススルー制御レジスタ300のアクセスのために使用しているので、様々なホストとの高い互換性を実現することができる。   Further, since the smart command for which the protocol is defined is used for accessing the pass-through control register 300, high compatibility with various hosts can be realized.

また、パススルーモード(PTMレジスタ=FFh)の実装はオプションとすることもできる。   Also, the implementation of the pass-through mode (PTM register = FFh) can be optional.

なお、本実施形態に示したページ番号や、データの並び、値の意味づけは一例であって、別の定義を行っても本発明の範疇である。   Note that the page numbers, the arrangement of data, and the meaning of values shown in the present embodiment are merely examples, and other definitions are within the scope of the present invention.

また、ストレージデバイス12は、例えば、NAS(network-attached storage)デバイスのような記憶装置として実現することもできる。   The storage device 12 can also be realized as a storage device such as a NAS (network-attached storage) device.

また、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。   Further, the present invention is not limited to the above-described embodiments as they are, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of components disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, you may combine a component suitably in different embodiment.

1…情報処理装置、11…ホスト、12…ストレージデバイス(記憶装置)、201…RSIDコントローラ、210…ドライブ、300…パススルー制御レジスタ、400…制御モジュール。   DESCRIPTION OF SYMBOLS 1 ... Information processing apparatus, 11 ... Host, 12 ... Storage device (storage device), 201 ... RSID controller, 210 ... Drive, 300 ... Pass-through control register, 400 ... Control module.

Claims (7)

複数のドライブを一つの論理ドライブとして管理するディスクアレイ制御装置であって、
ホストからコマンドを受信する受信手段と、
前記受信したコマンドがデータリードコマンドまたはデータライトコマンドである場合、前記複数のドライブに跨ったデータのリードまたはライトを実行するための処理を実行し、前記受信したコマンドが前記各ドライブに直接アクセスするための所定のコマンドである場合、前記受信したコマンドを、前記ホストによって指定されるアクセス対象ドライブに送出するパススルー処理を実行する制御手段とを具備することを特徴とするディスクアレイ制御装置。
A disk array control device that manages a plurality of drives as one logical drive,
Receiving means for receiving commands from the host;
When the received command is a data read command or a data write command, a process for executing a data read or write across the plurality of drives is executed, and the received command directly accesses each drive. And a control means for executing pass-through processing for sending the received command to the access target drive designated by the host.
前記所定のコマンドは、前記ホストがドライブのマイクロコードを変更するために使用するダウンロードマイクロコードコマンドであることを特徴とする請求項1記載のディスクアレイ制御装置。   2. The disk array control apparatus according to claim 1, wherein the predetermined command is a download microcode command used by the host to change a microcode of the drive. 前記各ドライブはログページ構造を格納しており、前記所定のコマンドは、前記ログページ構造をリードまたはライトするためのスマートコマンドであることを特徴とする請求項1記載のディスクアレイ制御装置。   2. The disk array control apparatus according to claim 1, wherein each of the drives stores a log page structure, and the predetermined command is a smart command for reading or writing the log page structure. 筐体と、
前記筐体内に設けられた複数のドライブと、
前記筐体内に設けられ、前記複数のドライブを一つの論理ドライブとして管理するディスクアレイ制御装置であって、ホストからコマンドを受信し、前記受信したコマンドがデータリードコマンドまたはデータライトコマンドである場合、前記複数のドライブに跨ったデータのリードまたはライトを実行するための処理を実行し、前記受信したコマンドが前記各ドライブに直接アクセスするための所定のコマンドである場合、前記受信したコマンドを、前記ホストによって指定されるアクセス対象ドライブに送出するパススルー処理を実行するディスクアレイ制御装置とを具備することを特徴とする記憶装置。
A housing,
A plurality of drives provided in the housing;
A disk array control device provided in the housing and managing the plurality of drives as one logical drive, when receiving a command from a host, and the received command is a data read command or a data write command, When processing for reading or writing data across the plurality of drives is executed, and the received command is a predetermined command for directly accessing each of the drives, the received command is sent to the host And a disk array control device that executes pass-through processing to be sent to the access target drive specified by the storage device.
前記所定のコマンドは、前記ホストがドライブのマイクロコードを変更するために使用するダウンロードマイクロコードコマンドであることを特徴とする請求項4記載の記憶装置。   5. The storage device according to claim 4, wherein the predetermined command is a download microcode command used by the host to change a microcode of the drive. 前記各ドライブはログページ構造を格納しており、前記所定のコマンドは、前記ログページ構造をリードまたはライトするためのスマートコマンドであることを特徴とする請求項4記載の記憶装置。   5. The storage device according to claim 4, wherein each of the drives stores a log page structure, and the predetermined command is a smart command for reading or writing the log page structure. 情報処理装置本体と、
前記本体内に設けられた記憶装置であって、筐体と、前記筐体内に設けられた複数のドライブと、前記筐体内に設けられ、前記複数のドライブを一つの論理ドライブとして管理するディスクアレイ制御装置であって、ホストからコマンドを受信し、前記受信したコマンドがデータリードコマンドまたはデータライトコマンドである場合、前記複数のドライブに跨ったデータのリードまたはライトを実行するための処理を実行し、前記受信したコマンドが前記各ドライブに直接アクセスするための所定のコマンドである場合、前記受信したコマンドを、前記ホストによって指定されるアクセス対象ドライブに送出するパススルー処理を実行するディスクアレイ制御装置とを含む記憶装置とを具備することを特徴とする情報処理装置。
An information processing apparatus main body;
A storage device provided in the main body, a housing, a plurality of drives provided in the housing, and a disk array provided in the housing and managing the plurality of drives as one logical drive A control device that receives a command from a host and, when the received command is a data read command or a data write command, executes a process for reading or writing data across the plurality of drives; When the received command is a predetermined command for directly accessing each of the drives, a disk array control device that executes a pass-through process for sending the received command to an access target drive designated by the host; An information processing apparatus comprising the storage device.
JP2009243592A 2009-10-22 2009-10-22 Disk array controller and storage device Pending JP2010108497A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009243592A JP2010108497A (en) 2009-10-22 2009-10-22 Disk array controller and storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009243592A JP2010108497A (en) 2009-10-22 2009-10-22 Disk array controller and storage device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2008278646A Division JP4399021B1 (en) 2008-10-29 2008-10-29 Disk array control device and storage device

Publications (1)

Publication Number Publication Date
JP2010108497A true JP2010108497A (en) 2010-05-13

Family

ID=42297819

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009243592A Pending JP2010108497A (en) 2009-10-22 2009-10-22 Disk array controller and storage device

Country Status (1)

Country Link
JP (1) JP2010108497A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10545548B2 (en) 2016-03-07 2020-01-28 Toshiba Memory Corporation Memory device and host device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005235384A (en) * 2004-02-19 2005-09-02 Samsung Electronics Co Ltd Method of controlling idle operation mode of hard disk drive, method of controlling hard disk, hard disk drive, and computer readable recording medium
JP2007501987A (en) * 2003-06-23 2007-02-01 シエラ・ロジック、インコーポレイテッド Storage shelf router interface tunneling system and method
WO2007024740A2 (en) * 2005-08-25 2007-03-01 Silicon Image, Inc. Smart scalable storage switch architecture

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007501987A (en) * 2003-06-23 2007-02-01 シエラ・ロジック、インコーポレイテッド Storage shelf router interface tunneling system and method
JP2005235384A (en) * 2004-02-19 2005-09-02 Samsung Electronics Co Ltd Method of controlling idle operation mode of hard disk drive, method of controlling hard disk, hard disk drive, and computer readable recording medium
WO2007024740A2 (en) * 2005-08-25 2007-03-01 Silicon Image, Inc. Smart scalable storage switch architecture
JP2009508192A (en) * 2005-08-25 2009-02-26 シリコン イメージ,インコーポレイテッド Smart scalable memory switch architecture

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10545548B2 (en) 2016-03-07 2020-01-28 Toshiba Memory Corporation Memory device and host device

Similar Documents

Publication Publication Date Title
JP4399021B1 (en) Disk array control device and storage device
JP6253614B2 (en) Storage device virtualization
EP2538337B1 (en) Command resequencing in memory operations
US8135902B2 (en) Nonvolatile semiconductor memory drive, information processing apparatus and management method of storage area in nonvolatile semiconductor memory drive
KR101395778B1 (en) Memory card and memory system including the same and operating method thereof
US20110022786A1 (en) Flash memory storage apparatus, flash memory controller, and switching method thereof
JP2010160809A (en) Multifunctional semiconductor storage device
JP4791286B2 (en) Disk device and electronic device
US9361987B2 (en) Managing data writing to memories
US8433847B2 (en) Memory drive that can be operated like optical disk drive and method for virtualizing memory drive as optical disk drive
JP2005190187A (en) Storage device
US20060069848A1 (en) Flash emulation using hard disk
US20090222613A1 (en) Information processing apparatus and nonvolatile semiconductor memory drive
US8775721B1 (en) Controlling memory operations using a driver and flash memory type tables
US20090222615A1 (en) Information Processing Apparatus and Nonvolatile Semiconductor Memory Drive
US20090307389A1 (en) Switchable access states for non-volatile storage devices
US20090222614A1 (en) Information processing apparatus and nonvolatile semiconductor memory drive
JP2010108497A (en) Disk array controller and storage device
JP2008071189A (en) Disk array device, raid controller, and disk array construction method of disk array device
TWI390399B (en) External device having a virtual storage device
US8595417B2 (en) Memory configuring method, memory controller and memory storage apparatus
JP4875148B2 (en) Information processing apparatus and storage media drive
JP2010513993A (en) Information processing apparatus and nonvolatile semiconductor memory drive
JP2010511208A (en) Information processing apparatus and nonvolatile semiconductor memory drive
JP2010518463A (en) Information processing apparatus and nonvolatile semiconductor memory drive

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111025

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111214

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120124