JP2010108497A - Disk array controller and storage device - Google Patents
Disk array controller and storage device Download PDFInfo
- 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
Links
Images
Abstract
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”の場合には、ディスクアレイコントローラは、システム装置が各ディスクドライブを単体のディスクドライブとしてアクセスすることを可能にする。
しかし、特許文献1のディスクアレイコントローラにおいては、上述のフラグが“0”の場合には、アレイ制御のための処理は一切行われず、データリード/ライトコマンドを含む、システムからの全てのコマンドが、あるディスクドライブに直接送られる。したがって、複数のディスクドライブがアレイ制御されているシステム稼働中に、もしフラグを“0”に設定すると、アレイディスク上に構築されたデータ構造が破壊されてしまう可能性がある。よって、システム稼働中にファームウェアのアップデートを行うことは実際上困難である。
However, in the disk array controller of
したがって、オペレーティングシステムが動作している状態であっても各ドライブの保守に関する処理を実行することができる新たな機能の実現が必要である。 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を参照して、本発明の一実施形態に係る記憶装置の構成例を説明する。この記憶装置は、例えば、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
ストレージデバイス12は、RAIDコントローラ201と、複数のドライブ210ととから構成されている。RAIDコントローラ201は、複数のドライブ210を一つの論理ドライブとして扱うためのディスクアレイコントローラである。本実施形態では、RAIDコントローラ201と、n台のドライブ210とがストレージデバイス12の筐体内に設けられている。ここでnは2以上の整数である。
The
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
各ドライブ210は、ATA規格に準拠したドライブであるATAデバイスとして機能する。各ドライブ210は、例えば、ハードディスクドライブ(HDD)、またはソリッドステートドライブ(SSD)から構成されている。SSDは、MAND型フラッシュメモリのような不揮発性半導体メモリにデータを格納する半導体ディスクドライブである。
Each
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コントローラ201は、RAIDコントローラ201配下のn台のドライブ210を個々にホスト11から直接的にアクセスできるようにするためのコマンドパススルー制御機能を有している。このコマンドパススルー制御機能は、例えば、ドライブの保守に関するホスト11からの所定のコマンドのみをn台のドライブ210内の任意のドライブに直接的に送出する(パススルー)ことができる。このコマンドパススルー制御機能を実現するために、RAIDコントローラ201はパススルー制御レジスタ300を備えている。パススルー制御レジスタ300は、ホスト11がATA規格で規定されたコマンドを用いてアクセス可能なレジスタである。パススルー制御レジスタ300は、例えば、ホスト11によって指定されるアクセス対象ドライブ番号を保持するために使用される。
The
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
上述の所定のコマンドとしては、ダウンロードマイクロコードコマンド(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
また、上述の所定のコマンドとして、スマートコマンド(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
このように、本実施形態のコマンドパススルー制御機能は、ホスト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
さらに、本実施形態のコマンドパススルー制御機能は、ホスト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
パススルー制御レジスタ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
パススルー制御レジスタ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
ドライブ選択レジスタ301はホスト11によって指定されるアクセス対象ドライブ番号を保持するためのレジスタである。パススルーモード(PTM)レジスタ302は、ホスト11によって指定される動作モードを保持するレジスタである。動作モードには、ホスト11からの全ての種類のコマンドを、アクセス対象ドライブ番号によって指定されるドライブに送出するための上述のパススルーモードがある。さらに、動作モードには、ログページモード、およびスマートリードデータ(SMART READ DATA)モードがある。
The
ログページモードは、ログページ構造に割り当てられたログアドレス範囲内に属する、ベンダー固有の第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
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
図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
ページA0hに対応する512バイトのデータ領域の内、バイト1のデータ領域はページ選択レジスタ303として使用される。バイト2の1バイトデータの値は、アクセス対象ログアドレス(アクセス対象ログページ)を示す。
Of the 512-byte data area corresponding to page A0h, the data area of
ページ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
制御モジュール400は、ホスト11から受信したコマンドが、ログページA0hに対するログデータのライトを指定するスマートコマンドである場合、アクセス対象ドライブ番号、アクセス対象ログアドレス、または動作モード(ログページモード、SMART READ DATAモード、パススルーモード)をパススルー制御レジスタ300にセットするために、ホスト11からのデータ(512バイトのログデータ)をパススルー制御レジスタ300にライトする。
When the command received from the
パススルーモード以外の動作モードにおいては、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
このように、本実施形態のRAIDコントローラ201は、DOWNLOAD MICROCODEコマンド(以下DLMCコマンドと称する)による直接アクセス、SMARTコマンドによる直接アクセス、および、パススルーモードによる直接アクセスの3種類の直接アクセス方式を提供することができる。
As described above, the
RAIDコントローラ201にはドライブ選択レジスタ301、ページ選択レジスタ303、パススルーモードレジスタ(PTMレジスタ)302が設けられており、これらレジスタの値の組み合わせでRAIDコントローラ201の動作を変えることができる。
The
パススルー制御レジスタ300(ドライブ選択レジスタ301、ページ選択レジスタ303、およびPTMレジスタ302)は、電源投入時、および、ソフトウェアリセットでクリアされる。パススルー制御レジスタ300のデフォルト値はオール零である。
The pass-through control register 300 (
パススルー制御レジスタ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
以下、RAIDコントローラ201によって実行されるパススルー制御動作を具体的に説明する。
Hereinafter, the pass-through control operation executed by the
<DLMCコマンドに対するパススルー制御>
PTMレジスタ302がFFh以外のときは、図5に示すように、ドライブ選択レジスタ301の値に応じて、DLMCコマンドに対するパススルー制御動作が変わる。
<Pass-through control for DLMC command>
When the
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レジスタ302がFFhの場合においては、ドライブ選択レジスタ301のbit7の値は使用されず、ホスト11かせの全てのコマンドが、ドライブ選択レジスタ301のbit6−0が示すATAドライブにパススルーされる。
When the
<スマートコマンドに対するパススルー制御>
PTMレジスタ302がFFh以外のときは、図6に示すように、ページA1hに対するスマートコマンドは、ドライブ選択レジスタ301のbit6−0が示すATAドライブにパススルーされる。一方、ページA1h以外のページに対するスマートコマンドのパススルー先(アクセス先)はRAIDコントローラ201自身となる。
<Pass-through control for smart commands>
When the
スマートコマンドには、ログページ構造内のあるページのログをリード/ライトアクセスするためのコマンド(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
まず、ログページに対するアクセスについて説明する。 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
ページ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
次に、スマートデータに対するアクセスについて説明する。 Next, access to smart data will be described.
PTMレジスタが01hのときは、ホスト11は、ページA1hを通して、ATAドライブのSMART READ DATAにアクセスすることができる。
When the PTM register is 01h, the
ページ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
<パススルーモードにおけるパススルー制御>
PTMレジスタ302がFFhのとき、すべてのコマンドはドライブ選択レジスタのbit6−0が示すATAドライブにパススルーされる。
<Pass-through control in pass-through mode>
When the
パススルーモードの解除には、ソフトウェアリセットが使用される。動作モードが一旦パススルーモードに設定された後は、ページ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
次に、図7のフローチャートを参照して、制御モジュール400によって実行されるパススルー制御レジスタ300に対するアクセス処理について説明する。
Next, an access process for the pass-through control register 300 executed by the
制御モジュール400は、ホスト11から送信されるコマンドを受信する(ステップS21)。制御モジュール400は、受信したコマンドがページA0hに対するログデータのライトを指定するスマートコマンドであるか否かを判定する(ステップS22)。受信したコマンドがページA0hに対するログデータのライトを指定するスマートコマンドであれば、制御モジュール400は、パススルー制御レジスタ300をライトアクセスして、ホスト11からのログデータをパススルー制御レジスタ300にライトする(ステップS23)。受信したコマンドがページA0hに対するログデータのライトを指定するスマートコマンドではないならば、制御モジュール400は、他の処理(コマンド処理)を実行する(ステップS24)。
The
次に、図8のフローチャートを参照して、制御モジュール400によって実行されるDLMCコマンドに対するパススルー制御処理について説明する。
Next, the pass-through control process for the DLMC command executed by the
制御モジュール400は、PTMレジスタ302の値がFFhであるか否かを判定する(ステップS31)。PTMレジスタ302の値がFFhの場合、つまりRAIDコントローラ201の動作モードがパススルーモードである場合には、制御モジュール400は、ホスト11からの全てのコマンドを、ドライブ選択レジスタ301のbit6−0が示すATAドライブにパススルーする(ステップS32)。
The
一方、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
次に、図9のフローチャートを参照して、制御モジュール400によって実行されるスマートコマンドに対するパススルー制御処理について説明する。
Next, a pass-through control process for a smart command executed by the
制御モジュール400は、PTMレジスタ302の値がFFhであるか否かを判定する(ステップS41)。PTMレジスタ302の値がFFhの場合、つまりRAIDコントローラ201の動作モードがパススルーモードである場合には、制御モジュール400は、ホスト11からの全てのコマンドを、ドライブ選択レジスタ301のbit6−0が示すATAドライブにパススルーする(ステップS42)。
The
一方、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
受信したコマンドがページ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
図10は、ストレージデバイス12の実装例を示している。
FIG. 10 shows an implementation example of the
図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
各SSD210は、コントローラ601と、DRAM602と、複数の不揮発性半導体メモリ607から構成されている。各不揮発性半導体メモリ607は、例えば、NAND型フラッシュEEPROMから構成されている。なお、RAIDコントローラ201と2台のSSD210とを、同一の回路基板上に実装することも出来る。
Each
図10に示すような構造のストレージデバイス12においては、各SSD210を筐体500から取り外すことは実際上困難である。本実施形態のパススルー制御機能は、DLMCコマンド、スマートコマンドといったドライブの保守に関するコマンドのみを対象にパススルー処理を実行することができるので、オペレーティングシステムが動作している状態であっても、2台のSSD210に跨って記録されたユーザデータに影響を与えることなく、また各SSD210を筐体500から取り外すことなく、任意のSSD210に対してその保守のための処理(スマート情報の収集、ファームウェアの更新)をお個なうことができる。
In the
次に、図11を参照して、ストレージデバイス12を内蔵した情報処理装置1の構成例を説明する。
Next, a configuration example of the
情報処理装置1は、例えば、ノートブック型のポータブルコンピュータとして実現し得る。図11は、ポータブルコンピュータとして実現された情報処理装置1の外観を示す斜視図である。
The
この情報処理装置1は、情報処理装置本体2と、ディスプレイユニット3とから構成されている。ディスプレイユニット3には、LCD(Liquid Crystal Display)4で構成される表示装置が組み込まれている。
The
ディスプレイユニット3は、情報処理装置本体2に対し、この本体2の上面が露出される開放位置と本体2の上面を覆う閉塞位置との間を回動自由に取り付けられている。本体2は薄い箱形の筐体を有しており、その上面には、電源スイッチ5、キーボード6、タッチパッド7等が配置されている。
The display unit 3 is attached to the information processing apparatus
また、本体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
図12は、図11の情報処理装置1のシステム構成を示すブロック図である。
FIG. 12 is a block diagram showing a system configuration of the
情報処理装置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
CPU100は、情報処理装置1の動作を制御するプロセッサであり、ストレージデバイス12からメインメモリ103にロードされる、オペレーティングシステムや、ユーティリティを含む各種アプリケーションプログラムを実行する。また、CPU100は、フラッシュメモリ106に格納されたBIOS(Basic Input/Output System)も実行する。BIOSは、ハードウェア制御のためのプログラムである。
The
ノースブリッジ102は、CPU100のローカルバスとサウスブリッジ105との間を接続するブリッジデバイスである。ノースブリッジ102は、バスを介してGPU104との通信を実行する機能を有しており、また、メインメモリ103をアクセス制御するメモリコントローラも内蔵されている。GPU104は、情報処理装置1の表示装置として使用されるLCD4を制御する。
The
サウスブリッジ105は、ストレージデバイス12、ODD9、PCカードスロット10に収容されたPCカード、フラッシュメモリ106等の各種デバイスを制御するコントローラである。
The
EC/KBC107は、電力管理のための組み込みコントローラと、キーボード6およびタッチパッド7を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。EC/KBC107は、LED8および冷却用のファン108の制御も実行する。
The EC /
以上説明したように、本実施形態のコマンドパススルー制御機能によれば、以下の効果が得られる。 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
また、パススルーモード(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
また、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。 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
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.
前記筐体内に設けられた複数のドライブと、
前記筐体内に設けられ、前記複数のドライブを一つの論理ドライブとして管理するディスクアレイ制御装置であって、ホストからコマンドを受信し、前記受信したコマンドがデータリードコマンドまたはデータライトコマンドである場合、前記複数のドライブに跨ったデータのリードまたはライトを実行するための処理を実行し、前記受信したコマンドが前記各ドライブに直接アクセスするための所定のコマンドである場合、前記受信したコマンドを、前記ホストによって指定されるアクセス対象ドライブに送出するパススルー処理を実行するディスクアレイ制御装置とを具備することを特徴とする記憶装置。 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.
前記本体内に設けられた記憶装置であって、筐体と、前記筐体内に設けられた複数のドライブと、前記筐体内に設けられ、前記複数のドライブを一つの論理ドライブとして管理するディスクアレイ制御装置であって、ホストからコマンドを受信し、前記受信したコマンドがデータリードコマンドまたはデータライトコマンドである場合、前記複数のドライブに跨ったデータのリードまたはライトを実行するための処理を実行し、前記受信したコマンドが前記各ドライブに直接アクセスするための所定のコマンドである場合、前記受信したコマンドを、前記ホストによって指定されるアクセス対象ドライブに送出するパススルー処理を実行するディスクアレイ制御装置とを含む記憶装置とを具備することを特徴とする情報処理装置。 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.
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)
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)
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 |
-
2009
- 2009-10-22 JP JP2009243592A patent/JP2010108497A/en active Pending
Patent Citations (4)
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)
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 |