説明

ディスクアレイ装置及びその制御方法

【課題】本発明は、アクセス性能を向上させ得るディスクアレイ装置を提案する。
【解決手段】ホスト装置から受信した書き込み対象のデータを格納するための第1の半導体メモリ及び第2の半導体メモリと、前記書き込み対象のデータを格納するためのディスク装置と、前記第1の半導体メモリと前記ディスク装置とをRAID1により冗長構成し、前記第1の半導体メモリ又は前記ディスク装置への前記書き込み対象のデータの書き込みを制御する制御部と、を備え、前記制御部は、前記書き込み対象のデータを前記第1の半導体メモリ及び前記第2の半導体メモリに書き込み、前記第1の半導体メモリ及び前記第2の半導体メモリへの前記書き込み対象のデータの書き込みが完了すると、前記書き込み対象のデータの書き込みが完了した旨を前記ホスト装置に送信することを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ディスクアレイ装置及びその制御方法に関する。
【背景技術】
【0002】
従来、ディスクアレイ装置は、一般に、高性能化/高信頼性などの観点から、ディスクドライブによりRAIDを構成する。例えば、RAID−1と呼ばれるRAID構成では、信頼性の向上を図るために、複数のディスクドライブに同一データを書き込むミラーリング(2重化)が行われる。そして、ディスクアレイ装置は、このミラーリング構成された複数のディスクドライブに同一内容のデータを書き込み、いずれかのディスクドライブから必要なデータの読み出しを行う。
【0003】
ディスクドライブはHDD(Hard Disk Drive)で構成されていたが、近年、SSD(Solid State Drive)と呼ばれるフラッシュメモリベースのディスクドライブが世の中に登場している。SSDはフラッシュメモリベースのため、HDDのように内部で動作する部品を持たないため、ランダムアクセスが高速であるという特徴がある。そのため、データ記憶装置の性能がデータアクセス速度に対するボトルネックになっている問題を解決するために、データ記憶装置で一般的に使用されているHDDよりも、ランダムアクセスが高速なSSDを使用する方法が考えられる。
【0004】
しかしながら、SSDはHDDと比較して単価が高く、SSDのみでRAIDを構成すると、コストが増大する。そこで、SSDとHDDを混在させてRAIDを構成することで、コストを低下させる方法がある。
【0005】
SSDを用いたディスクアレイ装置として、例えば、特許文献1の制御システムが開示されている。特許文献1の制御システムは、コンピュータシステムからの書き込みのアクセス要求に対しては、ハードディスクとシリコンディスクにミラーリングの書き込みを行う。
【0006】
また、HDDとSSDとを併用するディスクアレイ装置として、例えば、特許文献2のディスクサブシステムが開示されている。特許文献2のディスクサブシステムは、制御部が、ホストシステムから論理HDDに格納されたデータの読み出しを要求された際、読み出し対象のデータがSSDに格納されている場合、このSSDに格納されているデータを読み出してホストシステムに転送する。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2009−223355号公報
【特許文献2】特開2010−191672号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
特許文献1の制御システムは、データ読み出しをSSDから読み出すことによって、SSDのみのRAID構成と同等の読み出し性能とすることができる。しかしながら、特許文献1の制御システムは、書き込み時には、データ冗長性維持のため、SSDとHDDにデータ書き込みを行うため、SSDのみのRAID構成と比較して書き込み性能が低下する。
【0009】
また、特許文献2のディスクサブシステムも、書き込み時には、論理HDDにデータ書き込みを行うため、SSDのみのRAID構成と比較して書き込み性能が低下する。
【0010】
本発明は以上の点を考慮してなされたものであり、アクセス性能を向上させ得るディスクアレイ装置及びその制御方法を提案するものである。
【課題を解決するための手段】
【0011】
かかる課題を解決するために本発明のディスクアレイ装置の一態様は、ホスト装置から受信した書き込み対象のデータを格納するための第1の半導体メモリ及び第2の半導体メモリと、前記書き込み対象のデータを格納するためのディスク装置と、前記第1の半導体メモリと前記ディスク装置とをRAID1により冗長構成し、前記第1の半導体メモリ又は前記ディスク装置への前記書き込み対象のデータの書き込みを制御する制御部と、を備え、前記制御部は、前記書き込み対象のデータを前記第1の半導体メモリ及び前記第2の半導体メモリに書き込み、前記第1の半導体メモリ及び前記第2の半導体メモリへの前記書き込み対象のデータの書き込みが完了すると、前記書き込み対象のデータの書き込みが完了した旨を前記ホスト装置に送信することを特徴とする。
【0012】
また、本発明のディスクアレイ装置の制御方法の一態様は、ホスト装置から受信した書き込み対象のデータを格納するための第1の半導体メモリ及び第2の半導体メモリと、前記書き込み対象のデータを格納するためのディスク装置と、前記第1の半導体メモリと前記ディスク装置とをRAID1により冗長構成し、前記第1の半導体メモリ又は前記ディスク装置への前記書き込み対象のデータの書き込みを制御する制御部と、を備えるディスクアレイ装置の制御方法であって、前記制御部が、前記書き込み対象のデータを前記第1の半導体メモリ及び前記第2の半導体メモリに書き込む第1のステップと、前記制御部が、前記第1の半導体メモリ及び前記第2の半導体メモリへの前記書き込み対象のデータの書き込みが完了すると、前記書き込み対象のデータの書き込みが完了した旨を前記ホスト装置に送信する第2のステップと、を備えることを特徴とする。
【0013】
従って、第1の半導体メモリのみでRAIDを構成した場合と比較して、ディスク装置と第1の半導体メモリと混在してRAIDを構成することで、第1の半導体メモリの使用台数を削減し、コストを低下させることができると共に、ディスク装置の代わりに第2の半導体メモリに書き込みを行うことで、第1の半導体メモリのみのRAID構成と同等の書き込み性能とすることができる。
【発明の効果】
【0014】
本発明によれば、アクセス性能を向上させ得るディスクアレイ装置及びその制御方法を実現することができる。
【図面の簡単な説明】
【0015】
【図1】ストレージシステムの構成の一例を示す図である。
【図2】キャッシュメモリの説明に供する概念図の一例を示す図である。
【図3】データ書き込み処理手順を示すフローチャートである。
【図4】データ書き込み監視処理手順を示すフローチャートである。
【図5】データ読み出し処理手順を示すフローチャートである。
【図6】他実施例のストレージシステムの構成の一例を示す図である。
【図7】他実施例のキャッシュメモリの説明に供する概念図の一例を示す図である。
【発明を実施するための形態】
【0016】
以下、本発明の一実施形態を、図面を参照して詳細に説明する。なお、これにより本発明が限定されるものではない。
【0017】
(構成)
図1は、本実施形態のストレージシステム1の構成の一例を示す図である。ストレージシステム1は、例えば、ホスト装置2とディスクアレイ装置3とを備える。ホスト装置2及びディスクアレイ装置3は、例えば、所定のネックワークを介して接続される。
【0018】
ホスト装置2は、例えば、CPU(Central Processing Unit)やメモリ等の情報処理資源、情報入力装置、情報出力装置を備えたコンピュータ装置である。ホスト装置2は、例えば、書き込み要求をディスクアレイ装置3に送信して、対応するデータをディスクアレイ装置3に書き込む。また、ホスト装置2は、例えば、読み出し要求をディスクアレイ装置3に送信し、対応するデータをディスクアレイ装置3から読み出す。
【0019】
所定のネットワークは、例えば、LAN(Local Area Network)、SAN(Storage Area Network)、インターネット、専用回線、公衆回線等を場合に応じて適宜用いることができる。
【0020】
ディスクアレイ装置3は、例えば、コントローラ4とディスク部5とを備える。ディスクアレイ装置3は、コントローラ4を最低1つ備えている。コントローラ4は、当該ディスクアレイ装置3全体を制御する。ディスク部5は、ホスト装置2から受信したデータを格納する。
【0021】
コントローラ4は、例えば、ホスト制御部11とキャッシュメモリ12とディスク制御部13と未書き込み監視部14とを備える。
【0022】
ホスト制御部11は、ホスト装置2とネットワークを介して接続され、ホスト装置2から受信した各種要求やデータの送受信を制御する。ホスト制御部11は、ネットワークの種類に応じた種々のインタフェースを用いることができる。
【0023】
キャッシュメモリ12は、ホスト装置2から受信したデータを一時的に保持する。キャッシュメモリ12は、コントローラ4内部で使用する各種プログラムや、各種テーブルを保持する。
【0024】
ディスク制御部13は、ディスク部5と接続され、ホスト装置2から受信したデータのディスク部5に対する読み書きを制御する。ディスク制御部13は、ファイバチャネル、SAS(Serial Attached SCSI)、SATA(Serial ATA)等の種類に応じた種々のインタフェースを用いることができる。
【0025】
未書き込み監視部14は、ディスク部5のHDD16(後述)への未書き込みのデータを監視する。なお、詳細については、後述する。
【0026】
ディスク部5は、例えば、1又は複数のRAID−1(Redundant Arrays of Independent Disks)のRAID15を備える。RAID15は、例えば、HDD(Hard Disk Drive)16とSSD(Solid State Drive)17とを備える。すなわち、HDD16及びSSD17は、ミラーリングされている。また、ディスク部5は、RAID15のHDD16に書き込むデータを一時的に保持する共用SSD18を備える。なお、HDDは、その他同様の機能を有するディスク装置であっても良く、SSDは、その他同様の機能を有する半導体メモリであっても良い。
【0027】
図2は、キャッシュメモリ12の説明に供する概念図の一例を示す図である。
【0028】
キャッシュメモリ12には、ユーザデータ21とディスクアレイ制御情報22と共用SSD管理テーブル23が格納されている。
【0029】
ユーザデータ21は、ホスト装置2及びディスク部5間で送受信されるデータである。ユーザデータ21はある容量単位で管理されており、その管理単位はキャッシュページ24と呼ばれる。ディスクアレイ制御情報22は、ディスクアレイ装置3の制御に関する種々の情報である。
【0030】
共用SSD管理テーブル23は、例えば、共用SSDアドレス23A、書き込み先HDD番号23B、書き込み先HDDアドレス23C及び未書き込みフラグ23Dを対応づけて備える。共用SSDアドレス23Aは、共用SSD18のアドレスである。書き込み先HDD番号23Bは、共用SSD18のアドレスのデータが書き込まれるHDD16の番号である。書き込み先HDDアドレス23Cは、共用SSD18のアドレスのデータが書き込まれるHDD16の書き込み先アドレスである。未書き込みフラグ23Dは、HDD16の書き込み先アドレスに共用SSD18のアドレスのデータが書き込まれたか否かを管理する。
【0031】
(データ書き込み処理手順)
次に、本実施形態のストレージシステム1の動作について詳細に説明する。図3は、本実施形態のディスクアレイ装置3のデータ書き込み処理手順を示すフローチャートである。
【0032】
ディスク制御部13は、所定のタイミングで図3に示すデータ書き込み処理手順を実行し、キャッシュメモリ12に格納されているデータが書き込み対象のRAID15のSSD17に未書き込みであるか否かをチェックする(ステップSP1)。そして、ディスク制御部13は、当該データが書き込み対象のRAID15のSSD17に未書き込みでない、すなわち、書き込み済みである場合(ステップSP1:NO)には、その後、図3に示すデータ書き込み処理手順を終了する(ステップSP5)。
【0033】
これに対して、ディスク制御部13は、当該データが書き込み対象のRAID15のSSD17に未書き込みである場合(ステップSP1:YES)には、書き込み対象のRAID15のSSD17に当該データを書き込む(ステップSP2)。
【0034】
続いて、ディスク制御部13は、共用SSD18に当該データを書き込む(ステップSP3)。続いて、ディスク制御部13は、共用SSD管理テーブル23に情報を登録する(ステップSP4)。すなわち、ディスク制御部13は、共用SSD管理テーブル23に、当該データが格納されている共用SSD18のアドレス、共用SSD18のアドレスのデータが書き込まれるHDD16の番号及び共用SSD18のアドレスのデータが書き込まれるHDD16の書き込み先アドレスを登録し、当該データの未書き込みフラグを有効化する。
【0035】
続いて、ディスク制御部13は、共用SSD管理テーブル23に情報を登録すると、書き込み完了通知をホスト制御部11に送信する。続いて、ホスト制御部11は、書き込み完了通知を受信すると、書き込み完了通知をホスト装置2に送信する。やがて、ディスク制御部13は、その後、図3に示すデータ書き込み処理手順を終了する(ステップSP5)。
【0036】
このようにして、ディスクアレイ装置3では、ディスク制御部13が、キャッシュメモリ12からディスク部5にデータを書き込む場合に、書き込み対象のRAID15のSSD17及び共用SSD18にデータを書き込み、RAID15のSSD17及び共用SSD18へのデータの書き込みが完了すると、書き込み完了通知をホスト装置2に送信することによって、RAID15をSSD17のみのRAID構成と同等の書き込み性能とすることができる。
【0037】
(データ書き込み監視処理手順)
図4は、本実施形態のディスクアレイ装置3のデータ書き込み監視処理手順を示すフローチャートである。
【0038】
未書き込み監視部14は、所定のタイミングで図4に示すデータ書き込み監視処理手順を実行し、定期的に共用SSD管理テーブル23の書き込みフラグ23Dを確認する(ステップSP11)。続いて、未書き込み監視部14は、書き込みフラグが有効化されているデータが存在するか否かをチェックする(ステップSP12)。そして、未書き込み監視部14は、書き込みフラグが有効化されているデータが存在しない場合(ステップSP12:NO)には、その後、ステップSP11に戻り、定期的に共用SSD管理テーブル23の書き込みフラグ23Dを確認する。
【0039】
これに対して、未書き込み監視部14は、書き込みフラグが有効化されているデータが存在する場合(ステップSP12:YES)には、該当するデータが格納されている共用SSD18のアドレス、共用SSD18のアドレスのデータが書き込まれるHDD16の番号及び共用SSD18のアドレスのデータが書き込まれるHDD16の書き込み先アドレスを抽出し、共用SSD18のアドレスのデータを書き込み対象のRAID15のHDD16に書き込む(ステップSP13)。
【0040】
続いて、未書き込み監視部14は、書き込み対象のRAID15のHDD16に書き込んだデータの未書き込みフラグを無効化する(ステップSP14)。やがて、未書き込み監視部14は、その後、ステップSP11に戻り、定期的に共用SSD管理テーブル23の書き込みフラグ23Dを確認する。
【0041】
このようにして、ディスクアレイ装置3では、HDD16とSSD17とを混在してRAID15を構築する構成において、SSD17の使用台数を削減しコストを低下させながら、共用SSD18を使用することで、RAID15をSSD17のみのRAID構成と同等の書き込み性能とすることができる。
【0042】
(データ読み出し処理手順)
図5は、本実施形態のディスクアレイ装置3のデータ読み出し処理手順を示すフローチャートである。
【0043】
ホスト制御部11は、ホスト装置2から読み出し要求を受信すると、図5に示すデータ読み出し処理手順を実行し、読み出し対象のデータがキャッシュメモリ12に存在するか否かをチェックする(ステップSP21)。
【0044】
そして、ホスト制御部11は、読み出し対象のデータがキャッシュメモリ12に存在する場合(ステップSP21:YES)には、ステップSP28に進む。これに対して、ホスト制御部11は、読み出し対象のデータがキャッシュメモリ12に存在しない場合(ステップSP21:NO)には、読み出し要求をディスク制御部13に送信する。続いて、ディスク制御部13は、読み出し要求を受信すると、読み出し対象のデータが格納されているRAID15のSSD17が故障しているか否かをチェックする(ステップSP22)。
【0045】
そして、ディスク制御部13は、読み出し対象のデータが格納されているRAID15のSSD17が故障していない場合(ステップSP22:NO)には、当該RAID15のSSD17から読み出し対象のデータを読み出す(ステップSP23)。これに対して、ディスク制御部13は、読み出し対象のデータが格納されているRAID15のSSD17が故障している場合(ステップSP22:YES)には、共用SSD18に読み出し対象のデータが格納されているか否かをチェックする(ステップSP24)。
【0046】
そして、ディスク制御部13は、共用SSD18に読み出し対象のデータが格納されている場合(ステップSP24:YES)には、共用SSD18から読み出し対象のデータを読み出す(ステップSP25)。これに対して、ディスク制御部13は、共用SSD18に読み出し対象のデータが格納されていない場合(ステップSP24:NO)には、読み出し対象のデータが格納されているRAID15のHDD16から読み出し対象のデータを読み出す(ステップSP26)。
【0047】
やがて、ディスク制御部13は、読み出し対象のデータをキャッシュメモリ12に格納し(ステップSP27)、読み出し完了通知をホスト制御部11に送信する。
【0048】
やがて、ホスト制御部11は、読み出し完了通知を受信すると、ホスト装置2への応答処理を実行する(ステップSP27)。すなわち、ホスト制御部11は、読み出し完了通知を受信すると、キャッシュメモリ12から読み出し対象のデータを読み出して、読み出し対象のデータ及び読み出し完了通知をホスト装置2に送信する。そして、ホスト制御部11は、その後、図5に示すデータ読み出し処理手順を終了する。
【0049】
このようにして、ディスクアレイ装置3では、ディスク制御部13が、読み出し対象のデータが格納されているRAID15のSSD17が故障している場合であっても、読み出し対象のデータが共用SSD18に格納されている場合には、読み出し対象のデータが格納されているRAID15のHDD16の代わりに、共用SSD18から読み出し対象のデータを読み出すことで、読み出し性能を高性能化することができる。
【0050】
(動作及び効果)
このようにして、本実施形態のディスクアレイ装置3では、ディスク制御部13が、ディスク制御部13が、キャッシュメモリ12からディスク部5にデータを書き込む場合に、書き込み対象のRAID15のSSD17及び共用SSD18にデータを書き込み、RAID15のSSD17及び共用SSD18へのデータの書き込みが完了すると、書き込み完了通知をホスト装置2に送信する。
【0051】
従って、SSD17のみでRAID15を構成した場合と比較して、HDD16とSSD17と混在してRAID15を構成することで、SSD17の使用台数を削減し、コストを低下させることができると共に、HDD16の代わりに共用SSD18に書き込みを行うことで、SSD17のみのRAID構成と同等の書き込み性能とすることができる。
【0052】
また、読み出し対象のデータは全てSSD17に存在しているため、SSD17を2次キャッシュとして利用する方法と比較して、読み出し性能を向上することができる。
【0053】
なお、本実施形態においては、共用SSD18が1つの場合について述べたが、本発明はこれに限らず、例えば、図6に示すように、共用SSD18が複数であっても良い。このような構成の場合には、ディスクアレイ装置3は、図7に示すように、共用SSD管理テーブル23に、共用SSD18の番号である共用SSD番号23Eを追加で対応づけて管理することにより、本実施形態と同様の動作を行うことができる。
【0054】
また、本実施形態においては、HDD16とSSD17とによりRAID15を構成した場合について述べたが、本発明はこれに限らず、例えば、性能差の異なるHDD同士やHDDと他のデバイス、SSDと他のデバイス、他のデバイス同士等、この他種々の形態に関しても同様に適用することが可能である。
【0055】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0056】
(付記1)ホスト装置から受信した書き込み対象のデータを格納するための第1の半導体メモリ及び第2の半導体メモリと、前記書き込み対象のデータを格納するためのディスク装置と、前記第1の半導体メモリと前記ディスク装置とをRAID1により冗長構成し、前記第1の半導体メモリ又は前記ディスク装置への前記書き込み対象のデータの書き込みを制御する制御部と、を備え、前記制御部は、前記書き込み対象のデータを前記第1の半導体メモリ及び前記第2の半導体メモリに書き込み、前記第1の半導体メモリ及び前記第2の半導体メモリへの前記書き込み対象のデータの書き込みが完了すると、前記書き込み対象のデータの書き込みが完了した旨を前記ホスト装置に送信することを特徴とするディスクアレイ装置である。
【0057】
(付記2)前記制御部は、前記ホスト装置から受信した読み出し要求に基づく読み出し対象のデータの前記第1の半導体メモリ又は前記ディスク装置からの読み出しを制御し、前記読み出し対象のデータが格納されている前記第1の半導体メモリが故障している場合であって、前記読み出し対象のデータが前記第2の半導体メモリに格納されている場合に、前記第2の半導体メモリから前記読み出し対象のデータを読み出して前記ホスト装置に送信することを特徴とする付記1に記載のディスクアレイ装置である。
【0058】
(付記3)ホスト装置から受信した書き込み対象のデータを格納するための第1の半導体メモリ及び第2の半導体メモリと、前記書き込み対象のデータを格納するためのディスク装置と、前記第1の半導体メモリと前記ディスク装置とをRAID1により冗長構成し、前記第1の半導体メモリ又は前記ディスク装置への前記書き込み対象のデータの書き込みを制御する制御部と、を備えるディスクアレイ装置の制御方法であって、前記制御部が、前記書き込み対象のデータを前記第1の半導体メモリ及び前記第2の半導体メモリに書き込む第1のステップと、前記制御部が、前記第1の半導体メモリ及び前記第2の半導体メモリへの前記書き込み対象のデータの書き込みが完了すると、前記書き込み対象のデータの書き込みが完了した旨を前記ホスト装置に送信する第2のステップと、を備えることを特徴とするディスクアレイ装置の制御方法。
【符号の説明】
【0059】
1……ストレージシステム、2……ホスト装置、3……ディスクアレイ装置、4……コントローラ、5……ディスク部、11……ホスト制御部、12……キャッシュメモリ、13……ディスク制御部、14……未書き込み監視部、15……RAID、16……HDD、17……SSD、18……共用SSD、21……ユーザデータ、22……ディスクアレイ制御情報、23……共用SSD管理テーブル、24……キャッシュページ

【特許請求の範囲】
【請求項1】
ホスト装置から受信した書き込み対象のデータを格納するための第1の半導体メモリ及び第2の半導体メモリと、
前記書き込み対象のデータを格納するためのディスク装置と、
前記第1の半導体メモリと前記ディスク装置とをRAID1により冗長構成し、前記第1の半導体メモリ又は前記ディスク装置への前記書き込み対象のデータの書き込みを制御する制御部と、
を備え、
前記制御部は、
前記書き込み対象のデータを前記第1の半導体メモリ及び前記第2の半導体メモリに書き込み、前記第1の半導体メモリ及び前記第2の半導体メモリへの前記書き込み対象のデータの書き込みが完了すると、前記書き込み対象のデータの書き込みが完了した旨を前記ホスト装置に送信する
ことを特徴とするディスクアレイ装置。
【請求項2】
前記制御部は、
前記ホスト装置から受信した読み出し要求に基づく読み出し対象のデータの前記第1の半導体メモリ又は前記ディスク装置からの読み出しを制御し、
前記読み出し対象のデータが格納されている前記第1の半導体メモリが故障している場合であって、前記読み出し対象のデータが前記第2の半導体メモリに格納されている場合に、前記第2の半導体メモリから前記読み出し対象のデータを読み出して前記ホスト装置に送信する
ことを特徴とする請求項1に記載のディスクアレイ装置。
【請求項3】
ホスト装置から受信した書き込み対象のデータを格納するための第1の半導体メモリ及び第2の半導体メモリと、
前記書き込み対象のデータを格納するためのディスク装置と、
前記第1の半導体メモリと前記ディスク装置とをRAID1により冗長構成し、前記第1の半導体メモリ又は前記ディスク装置への前記書き込み対象のデータの書き込みを制御する制御部と、
を備えるディスクアレイ装置の制御方法であって、
前記制御部が、前記書き込み対象のデータを前記第1の半導体メモリ及び前記第2の半導体メモリに書き込む第1のステップと、
前記制御部が、前記第1の半導体メモリ及び前記第2の半導体メモリへの前記書き込み対象のデータの書き込みが完了すると、前記書き込み対象のデータの書き込みが完了した旨を前記ホスト装置に送信する第2のステップと、
を備えることを特徴とするディスクアレイ装置の制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2012−174038(P2012−174038A)
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願番号】特願2011−35996(P2011−35996)
【出願日】平成23年2月22日(2011.2.22)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】