JP2017134584A - 制御装置 - Google Patents

制御装置 Download PDF

Info

Publication number
JP2017134584A
JP2017134584A JP2016013402A JP2016013402A JP2017134584A JP 2017134584 A JP2017134584 A JP 2017134584A JP 2016013402 A JP2016013402 A JP 2016013402A JP 2016013402 A JP2016013402 A JP 2016013402A JP 2017134584 A JP2017134584 A JP 2017134584A
Authority
JP
Japan
Prior art keywords
data
interface
host
logical
controller
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.)
Granted
Application number
JP2016013402A
Other languages
English (en)
Other versions
JP6734058B2 (ja
Inventor
清明 松村
Kiyoaki Matsumura
清明 松村
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.)
BAIOSU KK
Melco Holdings Inc
Original Assignee
BAIOSU KK
Melco Holdings Inc
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 BAIOSU KK, Melco Holdings Inc filed Critical BAIOSU KK
Priority to JP2016013402A priority Critical patent/JP6734058B2/ja
Priority to US15/414,440 priority patent/US10628042B2/en
Publication of JP2017134584A publication Critical patent/JP2017134584A/ja
Application granted granted Critical
Publication of JP6734058B2 publication Critical patent/JP6734058B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】デバイスの構成を柔軟にできる管理装置を提供する。【解決手段】少なくとも一つのRAIDセットを含むディスクデバイスと、ホストとに接続される制御装置であって、ホストに対して一つのインタフェースを介して接続され、ポートごとに一つの論理デバイスを接続可能なプロトコルにて、ホストとの間でデータの授受を行い、上記プロトコルで規定される複数のポートを仮想的に設定する。ディスクデバイスに含まれるRAIDセットに複数の論理デバイスを設定し、複数の論理デバイスのそれぞれを、仮想的に設定された複数のポートのそれぞれに接続する。【選択図】図1

Description

本発明は、RAID(Redundant Arrays of Inexpensive Disks)セットに接続される制御装置に関する。
近年では多くのオペレーティングシステムがAHCI(Advanced Host Controller Interface)に対応している。ACHIは、インテル社が中心となって策定した、SATA(Serial Advanced Technology Attachment)ホストバスアダプタのインタフェース仕様であり、SATAのポートごとに一つの論理デバイスを接続可能な仕様になっている機器が多い。
また従来より、一つのホストバスアダプタに対して複数のドライブを接続したい要望があり、この要望に応えるため、ポートマルチプライヤと呼ばれる規格が考えられてきた。ポートマルチプライヤでは、1つのポートに複数のデバイスを接続し、各デバイスに対して、スイッチングを行いつつコマンドを発行する。このようなポートマルチプライヤに対応したチップセットとして、非特許文献1に開示のものが知られている。
"Marvell 88SE92xx-Product-Brief"(Marvell 88SE9220/9230/9235のデータシート),Marvellセミコンダクタ・インク
しかしながら、ポートマルチプライヤでは、ポートに接続される個々のハードディスクドライブ等をRAIDに構成したものとすることはできるものの、一つのRAIDセットを複数の論理デバイス(それぞれが互いに異なるLUN(Logical Unit Number)で識別されるデバイス)に分割して、個々のディスクとしてホストに認識させることができない。このため、上記従来例では、2TiB超の容量を有するRAIDセットを2TiB以下の論理デバイスに分割して、2TiB以下のデバイスのみを識別可能なシステムに接続することができない。また従来例では、RAIDセットを複数の論理デバイスに分割して、一つの論理デバイスにOS等システムを格納し、他の論理デバイスにユーザデータを格納する、といったようにシステム領域とユーザ領域とを異なる論理デバイスに分けて管理することができない。また従来のポートマルチプライヤを用いる方法では、複数の論理デバイスに分割して個々のディスクとしてホストに認識させつつ、全体としてはRAIDシステムとなっていることで信頼性を向上する、ということもできなかった。つまり、ホスト側が認識できるデバイスの構成を柔軟に設定できないという問題点があった。
本発明は上記実情に鑑みて為されたもので、ホスト側から認識されるデバイスの構成を柔軟に設定できる管理装置を提供することをその目的の一つとする。
上記従来例の問題点を解決する本発明は、少なくとも一つのRAIDセットを含むディスクデバイスと、ホストとに接続される制御装置であって、前記ホストに対して一つのインタフェースを介して接続され、ポートごとに一つの論理デバイスを接続可能なプロトコルにて、前記ホストとの間でデータの授受を行う手段と、前記プロトコルで規定される複数のポートを仮想的に設定する手段と、前記ディスクデバイスに含まれるRAIDセットに複数の論理デバイスを設定する手段と、複数の論理デバイスのそれぞれを、前記仮想的に設定された複数のポートのそれぞれに接続する手段と、を備えることとしたものである。
このように構成したことで、ホストからは複数の論理デバイスが物理的に接続されているかのような状態をエミュレートでき、デバイスの構成を柔軟にできる。
またここで前記プロトコルは、AHCIプロトコルであってもよい。さらに、前記RAIDセットに複数の論理デバイスを設定する手段は、少なくともシステムデータを格納する領域に対応した論理デバイスと、ユーザデータを格納する領域に対応した論理デバイスとを設定してもよい。また、前記RAIDセットに複数の論理デバイスを設定する手段は、少なくとも一つの論理デバイスが2TiB以下となるようRAIDセットを設定してもよい。
本発明によると、デバイスの構成を柔軟にできる。
本発明の実施の形態に係る制御装置を含むストレージシステムの構成例を表すブロック図である。 本発明の実施の形態に係る制御装置のコントローラの構成例を表すブロック図である。 本発明の実施の形態に係る制御装置のコントローラのもう一つの構成例を表すブロック図である。 本発明の実施の形態に係る制御装置に接続される論理デバイスの構成例を表す説明図である。
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る制御装置10は、図1に例示するように、例えばパーソナルコンピュータ(PC)等のホスト側装置1と、記憶装置2とに接続されている。
記憶装置2は、インタフェース部21と、デバイスコントローラ22と、複数のストレージディスクデバイス23-1,23-2…(以下、それぞれを区別する必要がないときには、単にストレージディスクデバイス23と呼ぶ)とを含んで構成されている。ここでストレージディスクデバイス23は、ハードディスクドライブ(HDD)等である。
また制御装置10は、図2に例示するように、AHCI(Advanced Host Controller Interface)コントローラ11、第1インタフェース部14、及び第2インタフェース部15を含んで構成される。このAHCIコントローラ11はFPGA(Field Programmable Gate Array)等のプログラム可能なデバイスにより実現される。このAHCIコントローラ11は、機能的には、データ処理部31と、バスマスタ部32と、複数の仮想ポート部33a,33b…とを含んで構成される。この制御装置10の各部の動作は後に述べる。
記憶装置2のインタフェース部21は、複数のインタフェース210a,210b…(以下、それぞれを区別する必要がないときには、単にインタフェース210と呼ぶ)を含んで構成される。これら複数のインタフェース210a,210b…は、制御装置10の第2インタフェース部15に接続される。
このインタフェース部21の各インタフェース210は、制御装置10からコマンドを受け入れる。また、このインタフェース210は、ストレージディスクデバイス23にデータを書き込むべき旨の指示(データ書き込み指示、すなわちライトコマンド)を受け入れたときには、書き込みの対象となるデータ(書き込み対象データ)を、制御装置10から取得してデバイスコントローラ22に出力する。
またインタフェース210は、データを読み出すべき旨の指示(データ読み出し指示、すなわちリードコマンド)を受けたときには、デバイスコントローラ22から出力の対象となるデータを受け入れて、制御装置10に対して当該データを出力する。
デバイスコントローラ22は、キャッシュメモリを備え、インタフェース部21を介してストレージディスクデバイス23に書き込むべき書き込み対象データとライトコマンドとを受け入れて、このキャッシュメモリに記録し、以下、当該書き込み対象データをストレージディスクデバイス23に記録する動作を行う。またこのデバイスコントローラ22は、インタフェース部21を介して読み出しのコマンドを受け入れたときには、ストレージディスクデバイス23側から読み出しの対象となるデータを読み出して、インタフェース部21に出力する。
本実施の形態のある例では、このデバイスコントローラ22がRAID(Redundant Arrays of Inexpensive Disks)コントローラとして機能する。この例では複数のHDDで構成されるストレージディスクデバイス23がRAIDアレイとして動作する。図では、複数台のHDDでRAIDアレイを構成するストレージディスクデバイス23を一つのディスクとして図示している。本実施の形態の以下の説明ではデバイスコントローラ22がRAIDコントローラとして機能するものとして説明するが、本実施の形態は、ストレージディスクデバイス23をRAIDアレイとする場合に限られない。
また、本実施の形態では、このデバイスコントローラ22は、例えばバスを介してインタフェース部21に接続されており、また、デバイスコントローラ22は、ホスト側装置1から制御装置10を介して論理デバイス設定用の設定値の入力を受けて、当該入力された設定値に従い、RAIDアレイに、複数の論理デバイス24a,24b…(以下、それぞれを区別する必要がないときには、単に論理デバイス24と呼ぶ)を設定する。そしてデバイスコントローラ22は、RAIDアレイに設定した各論理デバイス24a,24bをそれぞれ、いずれかのインタフェース210a,210b…に論理的に接続する。ここで論理デバイス設定用の設定値には、例えば、論理デバイス24の数などの値が含まれている。
具体的にこの論理デバイス24の設定のように、ホスト側装置1からのシステム全体に関する設定は、次の例のように行うことができる。ホスト側装置1の指示に従い、AHCIコントローラ11で保持する論理デバイス設定用のレジスタの値が書き換えられると、AHCIコントローラ11は、制御装置10の任意の(例えば「0」番の)仮想ポートを通じて論理デバイス設定用の設定値を送出する。記憶装置2側では、受け入れた指示がシステム全体に関する設定であり、論理デバイス設定の指示であることから、当該指示に従ってRAIDアレイが論理デバイスに分割される。
また、この設定は、記憶装置2が備える、管理用の通信ポート(イーサネット(登録商標)ポート等、不図示)や、操作パネル(不図示)等からの指示により行われてもよい。
これにより各論理デバイス24は、対応するインタフェース210を介してデータの書き込み/読み出しが可能となる。このようなデバイスコントローラ22の動作については、広く知られた方法が採用できるので、ここでの詳しい説明を省略する。
制御装置10の第1インタフェース部14は、例えばPCIe(Peripheral Component Interconnect express)インタフェースであり、ホスト側装置1に接続されている。また第2インタフェース部15は、複数のインタフェースユニット150a,150b…を有してなる。この第2インタフェース部15の各インタフェースユニット150a,150b…は、それぞれFIFO(First-In First-Out)メモリを備え、記憶装置2のインタフェース部21の複数のインタフェース210a,210b…にそれぞれ接続されている。ここではインタフェースユニット150aが、インタフェース210aに接続され、インタフェースユニット150bが、インタフェース210bに接続され…というように、末尾の符号が一致するインタフェースユニット150とインタフェース210とが互いに接続されているものとする。
本実施の形態では、このインタフェースユニット150は、AHCIコントローラ11から受け入れたコマンドを、記憶装置2の、インタフェースユニット150に接続されたインタフェース210に出力する。また、このインタフェースユニット150は、AHCIコントローラ11から書き込み対象データを受け入れると、この書き込み対象データをFIFOメモリ内に格納する。インタフェースユニット150に接続されたインタフェース210は、書き込み対象データを取得する際には、このFIFOメモリから読み出して取得することとなる。
またこのインタフェースユニット150は、記憶装置2のインタフェース210から読み出し対象データを受け入れると、FIFOメモリに格納する。AHCIコントローラ11はFIFOメモリから当該データを取得することとなる。
制御装置10のAHCIコントローラ11は、既に述べたように、機能的にはデータ処理部31と、バスマスタ部32と、複数の仮想ポート部33a,33b…とを含んで構成され、ポートごとに一つの論理デバイスを接続可能なプロトコル(ここではAHCIプロトコルとする)にて、ホスト側装置1との間でデータを授受する。
またこのAHCIコントローラ11は、プロトコルで規定されるポートを仮想的に、第2インタフェース部15のインタフェースユニット150の数だけ複数設定する。つまり、このAHCIコントローラ11は、第2インタフェース部15のインタフェースユニット150のそれぞれに対応する、複数のポートのハードウェアを具備している状態をエミュレートする。これによりAHCIコントローラ11は、機能的に、複数の仮想的なポート部(以下、ポート部33a,33b…とする)を備えているように動作することとなる。
これによりAHCIコントローラ11は、仮想ポート部33a,33b…がそれぞれ、第2インタフェース部15のインタフェースユニット150a,150b…を介して記憶装置2のインタフェース210a,210b…のいずれかに接続されている状態となるようエミュレートする。
ここでは仮想ポート部33aは、インタフェースユニット150aを介してインタフェース210aに接続され、仮想ポート部33bは、インタフェースユニット150bを介してインタフェース210bに接続され…というように、末尾の符号が一致する仮想ポート部33とインタフェース210とが接続されているものとする。
データ処理部31は、初期化時(電源投入時等)に、仮想ポート部33a,33b…のそれぞれを介して接続された論理デバイス24に対して、互いに異なるLUN(Logical Unit Number)を割り当てる。これによりホスト側装置1では、制御装置10のAHCIコントローラ11内にある仮想ポート部33a,33b…を、それぞれ一つずつのデバイスと認識することとなる。
またこのデータ処理部31は、データの書き込み指示(ライトコマンド)と、書き込みの対象となるデータとを、第1インタフェース部14を介してホスト側装置1から受け入れる。
具体的に、本実施の形態の例でホスト側装置1がデータの書き込みを指示する場合、ホスト側装置1でホスト側装置1のメモリ(以下、区別のためホストメモリと呼ぶ)に書き込み指示(ライトコマンド)と、書き込み対象データとを格納する。
そこでホスト側装置1にて書き込み先として選択されたデバイスに対応する仮想ポート部33にライトコマンドがある旨の設定を行う。この設定は、ホスト側装置1が仮想ポート部33が備えるレジスタの所定のビットをセットするとともに、ライトコマンドと、書き込み対象データとが格納されているホストメモリ上のアドレスを特定する情報を書き込むことにより実行される。
バスマスタ部32は、いずれかの仮想ポート部33にライトコマンドがある旨の設定が行われると、当該設定に関連付けられたホストメモリ上のアドレスを用いて、ホストメモリから読み出したライトコマンドと書き込み対象データとを、当該設定が行われた仮想ポート部33を介して対応するインタフェースユニット150へ出力する。
このライトコマンドには、書き込みの対象となるデータを格納するべき対象論理デバイス内の、書き込みの対象となるデータを格納するべき論理セクタを特定する情報が含まれる。
また、このデータ処理部31は、データの読み出し指示(リードコマンド)を、第1インタフェース部14を介してホスト側装置1から受け入れる。この場合もホスト側装置1でホストメモリにリードコマンドを格納し、読み出しの対象となるデータを格納している論理デバイスに対応する仮想ポート部33にリードコマンドがある旨の設定(具体的には仮想ポート部33が備えるレジスタの所定のビットをセットする動作)を行う。
そしてバスマスタ部32が、いずれかの仮想ポート部33にリードコマンドがある旨の設定が行われると、当該設定に従って(当該設定として書き込まれたホストメモリ上のアドレスを特定する情報を用いて)、ホストメモリからリードコマンドを読み出し、当該設定が行われた仮想ポート部33を介して対応するインタフェースユニット150へ出力する。
このリードコマンドには、読み出しの対象となるデータを格納している対象論理デバイス内で、読み出しの対象となるデータが格納されている論理セクタを特定する情報を含む。
つまりここではリードコマンドが、当該リードコマンドがある旨の設定がされた仮想ポート部33に接続されているインタフェースユニット150を介して出力される。そしてデータ処理部31は、リードコマンドの出力先となった論理デバイス24から読み出されたデータを、対応するインタフェースユニット150を介して受け入れ、AHCIプロトコルにて、ホスト側装置1に対して当該データを出力する。なお、ここまでの説明では、AHCIコントローラ11が、書き込み対象データや、読み出されたデータを、仮想ポート部33を介して授受することとしていたが、書き込み対象データや、読み出されたデータについては、AHCIコントローラ11のバスマスタ部32が、コマンドの出力先となった仮想ポート33に対応するインタフェースユニット150のFIFOメモリとの間で直接読み書きするようにしてもよい。
このように本実施の形態の制御装置10は、ホスト側装置1に対しては一つのインタフェースである第1インタフェース部14(PCIeインタフェース)を介して接続される。そしてこの制御装置10はAHCIプロトコルによるデータの授受を行うが、内部的に複数のポートをエミュレートしている。エミュレートされた各ポートは、それぞれFIFOメモリを介して記憶装置2が備える複数のインタフェースユニット210に接続され、各インタフェース210を介して互いに異なる論理デバイスが接続された状態となっている。
これによりホスト側装置1は、AHCIプロトコルが動作する装置間であれば、特殊なドライバソフトウエア等を用いることなく、記憶装置2がたとえ1つのストレージディスクデバイスを複数の論理デバイスに分割したものであった場合でも、複数の物理デバイスが接続された状態として認識することとなる。
[動作]
本実施の形態の制御装置10は、以上の構成を備えており、次のように動作する。以下の例では、記憶装置2のストレージディスクデバイス23がRAIDアレイとして構成されているものとし、図4に例示するように、当該RAIDアレイが、2つの論理デバイス24a,24bに分割されているものとする。またここで、論理デバイス24aのディスクサイズは2TiB以下とする。
またこの例では記憶装置2のデバイスコントローラ22は、インタフェース部21に対してバスを介して接続されており、論理的に、論理デバイス24aがインタフェース210aに接続されているものとし、論理デバイス24bがインタフェース210bに接続されているものとして動作する。
本実施の形態の一例では、制御装置10の各部と、記憶装置2のインタフェース部21と、デバイスコントローラ22とが同一の基板上に形成される。そして制御装置10の第2インタフェース部15のインタフェースユニット150a,150bは、それぞれ対応する記憶装置2のインタフェース210a,210bに対して配線等により接続される。
また制御部10のAHCIコントローラ11は、FPGA等のプログラム可能なデバイスであり、データ処理部31、バスマスタ部32としての動作を行うとともに、複数の仮想ポートのハードウェアを具備している状態をエミュレートする。以下では、インタフェースユニット150a,150bに対応して、2つの仮想ポート部33a,33bを有している状態をエミュレートするものとする。
AHCIコントローラ11は、初期化時(電源投入時等)に、データ処理部31の機能として、仮想ポート部33a,33bのそれぞれを介して接続された論理デバイス24a,24bに対して、互いに異なるLUNを割り当てる。
この後、AHCIコントローラ11は、ライトコマンドと書き込みの対象となるデータとがある旨の設定が仮想ポート部33に、ホスト側装置1から行われると、当該ライトコマンドと書き込みの対象となるデータとを、第1インタフェース部14を介してホスト側装置1から取り込む。そしてAHCIコントローラ11は、このライトコマンドを、当該ライトコマンドがある旨の設定がされていた仮想ポート部33を介して出力する。
またデータ処理部31は、データの読み出し指示であるリードコマンドを、第1インタフェース部14を介してホスト側装置1から受け入れると、このリードコマンドを、当該リードコマンドがある旨の設定がされていた仮想ポート部33を介して出力する。
つまり本実施の形態では、ホスト側装置1は、AHCIプロトコルを用いたデータの授受を制御装置10との間で行う。そしてホスト側装置1は、制御装置10を介して、2つの異なるLUNで識別される論理デバイス24a,24bが、ハードウェア的に接続されていると認識することとなる。
ここで、ホスト側装置1上で動作するオペレーティングシステムが、2TiB以下の起動ボリューム(オペレーティングシステムを格納したボリューム)でなければ起動できないとしても、論理デバイス24aのディスクサイズが2TiB以下に設定されているので、論理デバイス24aにオペレーティングシステムの起動イメージ等のシステムデータを格納しておけば、RAIDアレイ全体のディスクサイズが2TiBを超えていても、当該オペレーティングシステムを起動できるようになる。
またこのとき、システムデータを記録した論理デバイス24aとは異なる論理デバイス24bにユーザデータを格納するようにしておけば、オペレーティングシステムの移行等がユーザデータに関わりなく行うことができるようになり、利便性が向上する。
このように本実施の形態の制御装置10と記憶装置2によれば、ホスト側装置1は、AHCIプロトコルが動作する装置間であれば、特殊なドライバソフトウエア等を用いることなく、記憶装置2がたとえ1つのストレージディスクデバイスを複数の論理デバイスに分割したものであった場合でも、複数の物理デバイスが接続された状態として認識することとなる。また、記憶装置2のストレージディスクデバイス23はRAIDアレイに限定されないが、RAIDアレイとすれば、RAIDアレイとしない場合に比べ、論理デバイスの信頼性(対障害性等)を向上できる。
[変形例]
また本実施の形態の別の例では、制御装置10が、図3に例示するように、AHCIコントローラ11、第1インタフェース部14、及び第2インタフェース部15′を含んで構成され、また記憶装置2のインタフェース210が、メモリと、FIFOメモリとを含んで構成される。
この例では、第2インタフェース部15′に含まれる各インタフェースユニット150′がそれぞれメモリを備える。またこの例でも、AHCIコントローラ11のバスマスタ部32が、いずれかの仮想ポート部33にライトコマンドがある旨の設定が行われると、当該設定に関連付けられたホストメモリ上のアドレスを用いて、ホストメモリからライトコマンドと書き込み対象データとを読み出し、当該設定が行われた仮想ポート部33を介して対応するインタフェースユニット150′へ出力する。
このようにインタフェースユニット150′は、バスマスタ部32から仮想ポート部33を介してライトコマンドと書き込み対象データとを受け入れると、これらライトコマンドと書き込み対象データとをメモリに格納し、インタフェース210に対して出力する。
インタフェースユニット150′に接続されたインタフェース210は、インタフェースユニット150′からライトコマンドと書き込み対象データとを受け入れると、ライトコマンドをメモリに、書き込み対象データをFIFOメモリに格納する。
以下、デバイスコントローラ22は、インタフェース部21を介してストレージディスクデバイス23に書き込むための書き込み対象データとライトコマンドとを受け入れて、当該書き込み対象データをストレージディスクデバイス23に記録する動作を行う。
同様に、AHCIコントローラ11のバスマスタ部32が、いずれかの仮想ポート部33にリードコマンドがある旨の設定が行われると、当該設定に関連付けられたホストメモリ上のアドレスを用いて、ホストメモリからリードコマンドを読み出し、当該設定が行われた仮想ポート部33を介して対応するインタフェースユニット150′へ出力する。
そしてバスマスタ部32からリードコマンドを受け入れたインタフェースユニット150′は、当該リードコマンドをメモリに格納し、インタフェース210に対して出力する。
インタフェースユニット150′に接続されたインタフェース210は、インタフェースユニット150′からリードコマンドを受け入れると、当該リードコマンドをメモリに格納する。デバイスコントローラ22は、インタフェース部21を介してリードコマンドを受け入れ、ストレージディスクデバイス23側から読み出しの対象となるデータを読み出して、インタフェース部21に出力する。
読み出されたデータを受け入れたインタフェース部21のインタフェース210は、当該データをFIFOメモリに格納し、接続されているインタフェースユニット150′に出力する。この場合、インタフェースユニット150′は、当該データをAHCIコントローラ11に出力し、AHCIコントローラ11のバスマスタ部32が、リードコマンドの出力先となった論理デバイス24から読み出されたデータを受け入れて、AHCIプロトコルにて、ホスト側装置1に対して当該データを出力する。
この例において、インタフェースユニット150′と、インタフェース210との間でのデータやコマンドの授受の方式は、特に限定されない。一例としては、インタフェースユニット150′がSATAホストコントローラとしての動作をエミュレートし、インタフェース210がSATAデバイスコントローラとしての動作をエミュレートすることとしてもよい。この場合、インタフェース210は、制御装置10から受け入れた、SATAデバイスコントローラ宛のデータである書き込み対象データやコマンドを、SATAデバイスコントローラの出力データとしてデバイスコントローラ22に出力することとしてもよい。このときには、インタフェース210は、デバイスコントローラ22から出力の対象となるデータをSATAデバイスコントローラ宛のデータとして受け入れて、制御装置10に対して当該データを出力することとなる。
また本実施の形態で、インタフェースユニット150′とインタフェース210とがそれぞれSATAホストコントローラ、SATAデバイスコントローラとしての機能をエミュレートする必要は必ずしもなく、より軽量な処理にてコマンドやデータの授受を行ってもよい。
この例のように、制御装置10の第2インタフェース部15のインタフェースユニット150′と、記憶装置2のインタフェース部21のインタフェース210とがそれぞれSATAホストコントローラ、SATAデバイスコントローラとしての機能をエミュレートしない場合には、データ自体はSATAのプロトコル変換がされないため、データの授受の効率はSATAプロトコルへ変換する場合に比べて向上する。
さらに図2の例のように、FIFOメモリを用いたインタフェースユニット150による例では、コマンドやデータの授受においてプロトコル変換が行われず、更に図3の例に比べてメモリへの保存処理の回数が削減されるので、データの授受の効率はより向上される。
また本実施の形態の制御装置10と記憶装置2によれば、ホスト側装置1は、AHCIプロトコルが動作する装置間であれば、特殊なドライバソフトウエア等を用いることなく、記憶装置2がたとえ1つのストレージディスクデバイスを複数の論理デバイスに分割したものであった場合でも、複数の物理デバイスが接続された状態として認識することとなる。また、記憶装置2のストレージディスクデバイス23はRAIDアレイに限定されないが、RAIDアレイとすれば、RAIDアレイとしない場合に比べ、論理デバイスの信頼性(対障害性等)を向上できる。
1 ホスト側装置、2 記憶装置、10 制御装置、11 AHCIコントローラ、14 第1インタフェース部、15 第2インタフェース部、21 インタフェース部、22 デバイスコントローラ、23 ストレージディスクデバイス、24 論理デバイス、31 データ処理部、32 バスマスタ部、33 仮想ポート部、150,150′ インタフェースユニット、210 インタフェース。

Claims (4)

  1. 少なくとも一つのRAIDセットを含むディスクデバイスと、ホストとに接続される制御装置であって、
    前記ホストに対して一つのインタフェースを介して接続され、ポートごとに一つの論理デバイスを接続可能なプロトコルにて、前記ホストとの間でデータの授受を行う手段と、
    前記プロトコルで規定される複数のポートを仮想的に設定する手段と、
    前記ディスクデバイスに含まれるRAIDセットに複数の論理デバイスを設定する手段と、
    前記複数の論理デバイスのそれぞれを、前記仮想的に設定された複数のポートのそれぞれに接続する手段と、
    を備える制御装置。
  2. 請求項1記載の制御装置であって、
    前記プロトコルは、AHCIプロトコルである。
  3. 請求項1または2に記載の制御装置であって、
    前記RAIDセットに複数の論理デバイスを設定する手段は、少なくともシステムデータを格納する領域に対応した論理デバイスと、ユーザデータを格納する領域に対応した論理デバイスとを設定する。
  4. 請求項1から3のいずれか一項に記載の制御装置であって、
    前記RAIDセットに複数の論理デバイスを設定する手段は、少なくとも一つの論理デバイスが2TiB以下となるようRAIDセットを設定する。
JP2016013402A 2016-01-27 2016-01-27 制御装置 Active JP6734058B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016013402A JP6734058B2 (ja) 2016-01-27 2016-01-27 制御装置
US15/414,440 US10628042B2 (en) 2016-01-27 2017-01-24 Control device for connecting a host to a storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016013402A JP6734058B2 (ja) 2016-01-27 2016-01-27 制御装置

Publications (2)

Publication Number Publication Date
JP2017134584A true JP2017134584A (ja) 2017-08-03
JP6734058B2 JP6734058B2 (ja) 2020-08-05

Family

ID=59360595

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016013402A Active JP6734058B2 (ja) 2016-01-27 2016-01-27 制御装置

Country Status (2)

Country Link
US (1) US10628042B2 (ja)
JP (1) JP6734058B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116568228A (zh) * 2020-12-07 2023-08-08 Mvrx公司 用于重塑心脏瓣膜环的装置、方法和系统

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090259817A1 (en) 2001-12-26 2009-10-15 Cisco Technology, Inc. Mirror Consistency Checking Techniques For Storage Area Networks And Network Based Virtualization
US20070094464A1 (en) 2001-12-26 2007-04-26 Cisco Technology, Inc. A Corporation Of California Mirror consistency checking techniques for storage area networks and network based virtualization
US7499410B2 (en) 2001-12-26 2009-03-03 Cisco Technology, Inc. Fibre channel switch that enables end devices in different fabrics to communicate with one another while retaining their unique fibre channel domain—IDs
US20090259816A1 (en) 2001-12-26 2009-10-15 Cisco Technology, Inc. Techniques for Improving Mirroring Operations Implemented In Storage Area Networks and Network Based Virtualization
US7433948B2 (en) 2002-01-23 2008-10-07 Cisco Technology, Inc. Methods and apparatus for implementing virtualization of storage within a storage area network
US7548975B2 (en) 2002-01-09 2009-06-16 Cisco Technology, Inc. Methods and apparatus for implementing virtualization of storage within a storage area network through a virtual enclosure
US9009427B2 (en) 2001-12-26 2015-04-14 Cisco Technology, Inc. Mirroring mechanisms for storage area networks and network based virtualization
US20070094466A1 (en) 2001-12-26 2007-04-26 Cisco Technology, Inc., A Corporation Of California Techniques for improving mirroring operations implemented in storage area networks and network based virtualization
US7599360B2 (en) 2001-12-26 2009-10-06 Cisco Technology, Inc. Methods and apparatus for encapsulating a frame for transmission in a storage area network
JP4314461B2 (ja) 2003-05-20 2009-08-19 ソニー株式会社 情報処理装置、撮像装置および情報処理方法
JP2006133989A (ja) * 2004-11-04 2006-05-25 Hitachi Ltd ストレージシステムの管理方法、及び装置
TWI329811B (en) 2006-08-03 2010-09-01 Via Tech Inc Core logic unit having raid control function and raidcontrol method
US7958343B2 (en) * 2006-09-08 2011-06-07 Hewlett-Packard Development Company, L.P. BIOS bootable RAID support
JP4809413B2 (ja) * 2008-10-08 2011-11-09 株式会社日立製作所 ストレージシステム
US8677064B2 (en) * 2010-11-30 2014-03-18 Lsi Corporation Virtual port mapped RAID volumes
US9076528B2 (en) * 2011-05-31 2015-07-07 Micron Technology, Inc. Apparatus including memory management control circuitry and related methods for allocation of a write block cluster
CN102918509B (zh) * 2011-05-31 2014-06-04 华为技术有限公司 数据读写方法、装置和存储系统
US9195409B2 (en) * 2012-05-01 2015-11-24 Enmotus, Inc. Storage system with load balancing mechanism and method of operation thereof
US9424205B2 (en) * 2013-01-16 2016-08-23 Applied Micro Circuits Corporation System and method for SATA virtualization and domain protection
US9122589B1 (en) * 2013-06-28 2015-09-01 Emc Corporation Data storage system with unified system cache
WO2015012199A1 (ja) 2013-07-22 2015-01-29 富士フイルム株式会社 タッチパネル、導電性フィルム
US20150262632A1 (en) * 2014-03-12 2015-09-17 Fusion-Io, Inc. Grouping storage ports based on distance
US11188229B2 (en) * 2015-09-25 2021-11-30 Hitachi Vantara Llc Adaptive storage reclamation
US9965184B2 (en) * 2015-10-19 2018-05-08 International Business Machines Corporation Multiple storage subpools of a virtual storage pool in a multiple processor environment

Also Published As

Publication number Publication date
US10628042B2 (en) 2020-04-21
US20170212685A1 (en) 2017-07-27
JP6734058B2 (ja) 2020-08-05

Similar Documents

Publication Publication Date Title
US9298648B2 (en) Method and system for I/O flow management using RAID controller with DMA capabilitiy to directly send data to PCI-E devices connected to PCI-E switch
JP6273353B2 (ja) 計算機システム
US10498645B2 (en) Live migration of virtual machines using virtual bridges in a multi-root input-output virtualization blade chassis
KR101340176B1 (ko) 스마트 스케일러블 스토리지 스위치 아키텍처
US8966172B2 (en) Processor agnostic data storage in a PCIE based shared storage enviroment
US9195483B2 (en) Systems and methods for mirroring virtual functions in a chassis configured to receive a plurality of modular information handling systems and a plurality of modular information handling resources
US7849260B2 (en) Storage controller and control method thereof
US9652182B2 (en) Shareable virtual non-volatile storage device for a server
US20070294459A1 (en) Apparatus for bridging a host to a SAN
WO2017133483A1 (zh) 存储系统
US9600185B2 (en) Computer realizing high-speed access and data protection of storage device, computer system, and I/O request processing method
EP3201753B1 (en) Shared virtualized local storage
US8332593B2 (en) Memory space management and mapping for memory area network
US9870162B2 (en) Method to virtualize PCIe controllers to support boot/hibernation/crash-dump from a spanned virtual disk
US11093175B1 (en) Raid data storage device direct communication system
JP6734058B2 (ja) 制御装置
US8489808B2 (en) Systems and methods of presenting virtual tape products to a client
US9092583B2 (en) Systems and methods for communication between modular information handling systems in a chassis
US9710170B2 (en) Processing data storage commands for enclosure services
CN115185450A (zh) 用于迁移、复制和备份的基于阵列的拷贝机制

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180926

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190730

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190926

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200423

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200512

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200512

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20200612

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200630

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200709

R150 Certificate of patent or registration of utility model

Ref document number: 6734058

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250