(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024175428
(43)【公開日】2024-12-18
(54)【発明の名称】記憶制御装置
(51)【国際特許分類】
G06F 3/06 20060101AFI20241211BHJP
G06F 3/08 20060101ALI20241211BHJP
【FI】
G06F3/06 306Z
G06F3/06 305C
G06F3/06 305Z
G06F3/06 540
G06F3/08 H
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023093218
(22)【出願日】2023-06-06
(71)【出願人】
【識別番号】518133201
【氏名又は名称】富士通クライアントコンピューティング株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】佐久間 繁夫
(57)【要約】
【課題】SSD(Solid State Drive)を用いて構成されたRAID(Redundant Array of Independent Disk)におけるマルチデッドの発生を抑制すること。
【解決手段】本実施形態に係る記憶制御装置は、接続インタフェース(I/F)、ホストI/F及び少なくとも1つのプロセッサを備える。接続I/Fは、RAIDを構成する、同一の最大容量を有する2つ以上のSSDを含む3つ以上の複数の物理ドライブのそれぞれに接続される。ホストI/Fは、ホストに接続される。少なくとも1つのプロセッサは、ホストから受信した書き込みデータのRAIDへの書き込みを制御する。少なくとも1つのプロセッサは、複数の物理ドライブのそれぞれへの書き込み量を制御することにより、2つ以上のSSDのうちの第1のSSDと第2のSSDとの間において累積の書き込みデータの容量である総書き込み容量を異ならせる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
RAID(Redundant Array of Independent Disk)を構成する、同一の最大容量を有する2つ以上のSSD(Solid State Drive)を含む3つ以上の複数の物理ドライブのそれぞれに接続される接続インタフェースと、
ホストに接続されるホストインタフェースと、
前記ホストから受信した書き込みデータの前記RAIDへの書き込みを制御する少なくとも1つのプロセッサと、を備え、
前記少なくとも1つのプロセッサは、前記複数の物理ドライブのそれぞれへの書き込み量を制御することにより、前記2つ以上のSSDのうちの第1のSSDと第2のSSDとの間において累積の書き込みデータの容量である総書き込み容量を異ならせる、
記憶制御装置。
【請求項2】
前記少なくとも1つのプロセッサは、前記書き込みデータに関し、前記第1のSSD及び前記第2のSSDの一方に全体を書き込むとともに、前記2つ以上のSSDのうちの前記第1のSSD及び前記第2のSSDの他方を含む2つ以上のSSDに分割して書き込む、
請求項1に記載の記憶制御装置。
【請求項3】
前記少なくとも1つのプロセッサは、前記書き込みデータを奇数セクタと偶数セクタとに分割して書き込む、
請求項2に記載の記憶制御装置。
【請求項4】
前記少なくとも1つのプロセッサは、前記書き込みデータに関し、前記複数の物理ドライブのうちのマスタ領域用の物理ドライブに全体を書き込むとともに、前記2つ以上のSSDのうちの前記第1のSSD及び前記第2のSSDを含む2つ以上のSSDに分割して書き込む、
請求項1に記載の記憶制御装置。
【請求項5】
前記少なくとも1つのプロセッサは、前記書き込みデータを3の倍数のセクタと3の倍数の他のセクタとに分割して書き込む、
請求項4に記載の記憶制御装置。
【請求項6】
前記少なくとも1つのプロセッサは、前記書き込みデータの全体を、マスタ領域用の物理ドライブである前記2つ以上のSSDのうちの前記第1のSSD及び前記第2のSSDの他の1つのSSDに書き込む、
請求項4又は請求項5に記載の記憶制御装置。
【請求項7】
前記少なくとも1つのプロセッサは、前記書き込みデータの全体を、マスタ領域用の物理ドライブである前記2つ以上のSSDのうちの前記第1のSSD及び前記第2のSSDの他の2つ以上のSSDにより構成されたRAIDに書き込む、
請求項4又は請求項5に記載の記憶制御装置。
【請求項8】
前記少なくとも1つのプロセッサは、前記書き込みデータの全体を書き込むRAIDを構成するSSDの総書き込み容量を、前記第1のSSD及び前記第2のSSDと異ならせる、
請求項7に記載の記憶制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、記憶制御装置に関する。
【背景技術】
【0002】
従来、RAID(Redundant Array of Independent Disk)を構成することにより複数の物理ドライブを仮想的に1つのディスクとして取り扱う技術が知られている。RAIDレベルが1以上のディスクは冗長性を有しており、RAIDレベルに応じた個数までの物理ドライブが故障しても他の物理ドライブからデータを復元することができる。
【0003】
RAIDは、RAIDレベルに応じた個数以上の物理ドライブが故障した状態、いわゆるマルチデッドとなると、データを復元することができなくなる。これに対して、SMART(Self-Monitoring Analysis and Reporting Technology)情報を用いて経年劣化による故障(寿命)予測を行う故障予測機能に係る技術が知られている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、構成する機構部品に起因する機械的故障も多いHDD(Hard Disk Drive)とは異なり、多くのSSD(Solid State Drive)の寿命は、ディスクの全体に対する総書き込み容量に依存し、また、個体寿命のばらつきが少ない。このため、RAIDを構成する物理ドライブとしてSSDを用いる場合には、マルチデッドが発生し易いという問題があった。
【0006】
本発明の課題の一つは、上記に鑑みてなされたものであって、SSDを用いて構成されたRAIDにおけるマルチデッドの発生を抑制することである。
【課題を解決するための手段】
【0007】
本発明の一態様に係る記憶制御装置は、接続インタフェースと、ホストインタフェースと、少なくとも1つのプロセッサと、を備える。接続インタフェースと、ホストインタフェースと、少なくとも1つのプロセッサと、を備える。前記接続インタフェースは、3つ以上の複数の物理ドライブのそれぞれに接続される。前記3つ以上の複数の物理ドライブは、RAIDを構成する。前記3つ以上の複数の物理ドライブは、同一の最大容量を有する2つ以上のSSDを含む。前記ホストインタフェースは、ホストに接続される。前記少なくとも1つのプロセッサは、前記ホストから受信した書き込みデータの前記RAIDへの書き込みを制御する。前記少なくとも1つのプロセッサは、前記複数の物理ドライブのそれぞれへの書き込み量を制御することにより、前記2つ以上のSSDのうちの第1のSSDと第2のSSDとの間において累積の書き込みデータの容量である総書き込み容量を異ならせる。
【発明の効果】
【0008】
本発明の上記態様によれば、SSDを用いて構成されたRAIDにおけるマルチデッドの発生を抑制することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施形態に係る情報処理システムのハードウェア構成の一例を示す図である。
【
図2】
図2は、実施形態に係るRAID(Redundant Array of Independent Disk)コントローラの機能構成の一例を示す図である。
【
図3】
図3は、実施形態に係る書込み制御の一例について説明するための図である。
【
図4】
図4は、実施形態に係る書込み制御の別の一例について説明するための図である。
【
図5】
図5は、実施形態に係るRAIDコントローラにおいて実行される書込み処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下に添付図面を参照して、本開示に係る記憶制御装置、メモリシステム、情報処理システム、記憶制御方法、プログラム及び記憶媒体の実施形態を詳細に説明する。
【0011】
図1は、実施形態に係る情報処理システム1のハードウェア構成の一例を示す図である。実施形態に係る情報処理システム1は、
図1に示すように、ホスト2及びメモリシステム3を有する。
【0012】
ホスト2及びメモリシステム3は、有線又は無線により通信可能に接続される。なお、ホスト2及びメモリシステム3の間は、直接接続されてもよいし、インターネットやLAN(Local Area Network)などの電気通信回線を介して接続されてもよい。
【0013】
ホスト2は、メモリシステム3を記憶領域として利用可能な情報処理装置である。ホスト2は、メモリシステム3へ記憶させる書込み用データをメモリシステム3へ出力する。ホスト2は、例えば読出し指示をメモリシステム3へ出力することにより、メモリシステム3に記憶されたデータをメモリシステム3から取得する。ホスト2としては、クラムシェルPC(Personal Computer)やコンバーチブルPC、デスクトップPC、電子ペーパなどの種々のモバイル端末、情報処理端末が適宜利用可能である。
【0014】
メモリシステム3は、SSD(Solid State Drive)を含む複数のディスク(複数の物理ドライブ7)を用いて構成されたRAID(Redundant Array of Independent Disk)を有する。メモリシステム3の複数の物理ドライブ7は、ホスト2により仮想的に1つのディスクとして取り扱うことができる。
【0015】
なお、メモリシステム3は、SMART(Self-Monitoring Analysis and Reporting Technology)情報を用いて、経年劣化に伴う故障予測を行う故障予測機能を搭載していてもよい。
【0016】
メモリシステム3は、
図1に示すように、RAIDコントローラ5及び複数の物理ドライブ7を有する。
【0017】
RAIDコントローラ5は、ホスト2から受信した書き込みデータの複数の物理ドライブ7への書き込みを制御する。具体的には、RAIDコントローラ5は、同じ容量の3つ以上のディスク(例えば、第1の物理ドライブ7a、第2の物理ドライブ7b及び第3の物理ドライブ7c)にデータを書き込む際、SSDごとの書き込みデータの容量に差を付けるように構成されている。ここで、実施形態に係るRAIDコントローラ5は、記憶制御装置の一例である。
【0018】
RAIDコントローラ5は、
図1に示すように、ホストI/F(インタフェース)51、CPU(Central Processing Unit)52、RAM(Random Access Memory)53、ROM(Read Only Memory)54及びドライブI/F55を有する。ホストI/F51、CPU52、RAM53、ROM54及びドライブI/F55は、例えばバス59などを介して通信可能に接続される。
【0019】
ホストI/F51は、ホスト2に接続するためのインタフェースである。
【0020】
CPU52は、RAIDコントローラ5の全体を制御するように構成されたプロセッサである。CPU52は、不揮発性メモリ(例えばROM54)から読み出して揮発性メモリ(例えばRAM53)にロードした各種プログラムを実行することにより、RAIDコントローラ5の有する各機能を実現する。
【0021】
なお、RAIDコントローラ5は、CPUに代えて、あるいは加えて、MPU(Micro Processing Unit)、DSP、ASIC、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などの各種の少なくとも1つのプロセッサが適宜利用可能である。
【0022】
RAM53は、RAIDコントローラ5の揮発性メモリの一例である。
【0023】
ROM54は、RAIDコントローラ5の不揮発性メモリの一例である。ROM54は、例えば予め定められた書込み規則を記憶する。
【0024】
ドライブI/F55は、複数の物理ドライブ7のそれぞれに接続するためのインタフェースである。ここで、ドライブI/F55は、接続インタフェースの一例である。
【0025】
複数の物理ドライブ7は、RAIDを構成する。複数の物理ドライブ7は、同一の最大容量を有する2つ以上のSSDを含む、3つ以上の物理ドライブである。
図1は、複数の物理ドライブ7として、第1の物理ドライブ7a、第2の物理ドライブ7b及び第3の物理ドライブ7cを例示する。なお、複数の物理ドライブ7は、4つ以上の物理ドライブを有していてもよい。
【0026】
一例として、第1の物理ドライブ7a、第2の物理ドライブ7b及び第3の物理ドライブ7cは、同一の最大容量を有するSSDである。
【0027】
なお、RAIDコントローラ5は、外部I/Oインタフェースとして、キーボードやタッチパネル、マウスなどの各種の入力装置やディスプレイなどの各種の表示装置に接続するためのコネクタなどをさらに有していてもよい。
【0028】
ここで、図面を参照しつつ、RAIDコントローラ5の機能構成について説明する。
図2は、実施形態に係るRAIDコントローラ5の機能構成の一例を示す図である。
【0029】
一例として、CPU52は、ROM54などに格納された制御プログラムをRAM53にロードし、ロードされた制御プログラムを実行することにより、
図2に示すように、RAID設定部501、書込制御部502及び読出制御部503としての機能を実現する。
【0030】
RAID設定部501は、設定された書込み規則を保持する。ここで、書込み規則とは、ホスト2からの書き込みデータの全体に対する、複数の物理ドライブ7のそれぞれに書き込むデータ容量の割合、あるいは分割方法を規定する情報である。書込み規則は、複数の物理ドライブ7のうちの同一の最大容量を有する2つのSSDの間において累積の書き込みデータの容量である総書き込み容量が異なるように規定される。書込み規則については、後述する(
図3及び
図4参照)。
【0031】
書込制御部502は、ホスト2からホストI/F51を介して書き込み指示及び書き込みデータを受信する。書込制御部502は、ホスト2から受信した書き込みデータの複数の物理ドライブ7への書き込みを制御する。
【0032】
一例として、書込制御部502は、複数の物理ドライブ7のそれぞれへの書き込み量を制御することにより、複数の物理ドライブ7のうちの同一の最大容量を有する2つのSSDの間において累積の書き込みデータの容量である総書き込み容量を異ならせる。
【0033】
一例として、書込制御部502は、RAID設定部501により保持されている書き込み規則に従い、第1の物理ドライブ7aには、ホスト2から受信した書き込みデータの全体をそのまま書き込む。一方、書込制御部502は、RAID設定部501により保持されている書き込み規則に従い、第2の物理ドライブ7b及び第3の物理ドライブ7cには、ホスト2から受信した書き込みデータを分割して書き込む。
【0034】
読出制御部503は、ホスト2からの読み出し指示に応じて、ドライブI/F55を介して複数の物理ドライブ7からデータを読み出す。また、読出制御部503は、読み出したデータをホストI/F51を介してホスト2へ出力する。
【0035】
ここで、図面を参照しつつ、実施形態に係るRAIDコントローラ5による書込み制御について説明する。
【0036】
図3は、実施形態に係る書込み制御の一例について説明するための図である。例えば、書込制御部502は、
図3に示すように、ホスト2から受信した書き込みデータのうちの奇数セクタのデータを、第2の物理ドライブ7bに書き込む。同様に、書込制御部502は、ホスト2から受信した書き込みデータのうちの偶数セクタのデータを、第3の物理ドライブ7cに書き込む。このように、書込制御部502は、RAID設定部501により保持されている書き込み規則に従い、第1の物理ドライブ7a、第2の物理ドライブ7b及び第3の物理ドライブ7cに対して、1:1/2:1/2の書き込み容量の比率でホスト2から受信した書き込みデータを書き込む。なお、この書き込み容量の比率は、書き込みあたりのデータ容量の割合であり、各SSDの最大容量に占める割合とは異なる。一方、書込み規則に従う書込み制御によって各SSDの総書き込み容量が異なることは、各SSDの最大容量に占める使用されている容量の割合が異なることに対応すると表現することができる。
【0037】
ここで、
図3の例において第1の物理ドライブ7aは、マスタ領域用の物理ドライブの一例であり、第1のSSD及び第2のSSDの一方の一例である。また、第2の物理ドライブ7b及び第3の物理ドライブ7cは、第1のSSD及び第2のSSDの他方を含む2つ以上のSSDの一例である。
【0038】
なお、
図3に例示する書込み規則は、あくまでも一例であり、適宜変更することができる。
図4は、実施形態に係る書込み制御の別の一例について説明するための図である。例えば、書込制御部502は、
図4に示すように、ホスト2から受信した書き込みデータのうちの3の倍数以外のセクタのデータを、第2の物理ドライブ7bに書き込む。同様に、書込制御部502は、ホスト2から受信した書き込みデータのうちの3の倍数のセクタのデータを、第3の物理ドライブ7cに書き込む。このように、書込制御部502は、RAID設定部501により保持されている書き込み規則に従い、第1の物理ドライブ7a、第2の物理ドライブ7b及び第3の物理ドライブ7cに対して、1:2/3:1/3の書き込み容量の比率でホスト2から受信した書き込みデータを書き込む。
【0039】
ここで、
図4の例において第1の物理ドライブ7aは、マスタ領域用の物理ドライブの一例であり、第1のSSD及び第2のSSDの他の1つのSSDの一例である。また、第2の物理ドライブ7b及び第3の物理ドライブ7cは、第1のSSD及び第2のSSDを含む2つ以上のSSDの一例である。
【0040】
ここで、図面を参照しつつ、上記構成の情報処理システム1の動作例について説明する。
図5は、実施形態に係るRAIDコントローラ5において実行される書込み処理の一例を示すフローチャートである。
【0041】
ホスト2からの書き込みデータを受信していない場合(S101:No)、書込制御部502は、書き込みデータを受信するまで待機する。
【0042】
一方、ホスト2からの書き込みデータを受信した場合(S101:Yes)、書込制御部502は、RAID設定、すなわちRAID設定部501により保持されている書込み規則を参照して複数の物理ドライブ7に対する書込み比率を特定する(S102)。
【0043】
その後、書込制御部502は、特定した書込み比率に沿って、ホスト2からの書き込みデータを複数の物理ドライブ7の各ドライブへ書き込む(S103)。
【0044】
このように、実施形態に係るRAIDコントローラ5は、RAIDを構成するSSDに関し、ディスクごとの書き込みデータの容量に差をつけることができる。
【0045】
なお、上述の実施形態では、第1の物理ドライブ7a、第2の物理ドライブ7b及び第3の物理ドライブ7cが同一の最大容量を有するSSDである場合を例示したが、これに限らない。RAIDを構成する複数のSSDは、同一の最大容量を有することが好ましいが、異なる最大容量のSSDが含まれていてもよい。また、異なる最大容量のSSDが含まれる場合、RAIDを構成する複数のSSDのそれぞれの最大容量を考慮して、各ドライブの総書き込み容量を異ならせるように書込み規則を設定してもよい。
【0046】
なお、上述の実施形態では、書込み規則が予め定められてROM54などのRAIDコントローラ5のメモリに記憶されている場合を例示したが、これに限らない。例えば、RAIDコントローラ5は、ユーザ操作に応じて書込み規則を設定可能に構成されていてもよい。つまり、RAID設定部501は、ユーザ操作に応じた入力インタフェースの出力に基づいて書込み規則を設定してもよい。あるいは、RAID設定部501は、ユーザ操作に応じた入力インタフェースの出力に基づいて書込み制御で参照する書込み規則を切り替えてもよい。一例として、RAID設定部501は、
図3に例示する書込み制御と、
図4に例示する書込み制御とを切り替えることもできる。なお、書込み制御の切り替えは、ユーザの指示に限らず、例えばSMART情報に基づいて2つ以上のSSDのマルチデッドが予測された場合に行われてもよい。これらの書込み規則の設定や変更によれば、例えば複数の物理ドライブ7として使用する複数のSSDが同一の最大容量ではない場合、あるいは異なるRAID方式へRAID構成が変更された場合などであっても、SSDのマルチデッドを抑制することができる。
【0047】
なお、上述の実施形態では、マスタ領域を第1の物理ドライブ7a、すなわち1つのSSDにより実現する場合を例示したが、これに限らない。
【0048】
一例として、複数の物理ドライブ7によるRAIDのマスタ領域は、1つのHDD(Hard Disk Drive)により実現されてもよい。あるいは、マスタ領域用の第1の物理ドライブ7aとして、2つ以上のHDDを用いて構成されたRAIDにより実現されてもよい。
【0049】
一例として、複数の物理ドライブ7によるRAIDのマスタ領域は、2つ以上のSSDを用いて構成されたRAIDにより実現されてもよい。このマスタ領域を実現するRAIDの各SSDは、少なくとも当該RAID内で同一の最大容量であることが好ましいが、異なる最大容量のSSDが用いられてもよい。
【0050】
なお、上述の複数の物理ドライブ7によるRAIDと同様にして、マスタ領域を実現するRAIDにおいてさらにマルチデッド抑制を図ることもできる。例えば、RAIDコントローラ5は、ホスト2からの書き込みデータの全体を書き込むRAID、すなわちマスタ領域を実現するRAIDを構成する2つ以上のSSDに関し、総書き込み容量を異ならせることもできる。
【0051】
また、マスタ領域を実現するRAIDの各SSDは、複数の物理ドライブ7によるRAIDの各SSDと同一の最大容量であることが好ましいが、異なっていてもよい。マスタ領域を実現するRAIDの各SSDが、複数の物理ドライブ7によるRAIDの各SSDと同一の最大容量である場合、RAIDコントローラ5は、マスタ領域を実現するRAIDの各SSDの総書き込み容量を、複数の物理ドライブ7によるRAIDの各SSDの総書き込み容量と異ならせることもできる。
【0052】
以上説明したように、実施形態に係るRAIDコントローラ5は、ドライブI/F55と、ホストI/F51と、少なくとも1つのプロセッサ(例えばCPU52)と、を備える。ドライブI/F55は、RAIDを構成する、同一の最大容量を有する2つ以上のSSDを含む3つ以上の複数の物理ドライブ7のそれぞれに接続される。ホストI/F51は、ホスト2に接続される。少なくとも1つのプロセッサは、ホスト2から受信した書き込みデータのRAIDへの書き込みを制御する。少なくとも1つのプロセッサは、複数の物理ドライブ7のそれぞれへの書き込み量を制御する。これにより、少なくとも1つのプロセッサは、2つ以上のSSDのうちの第1のSSDと第2のSSDとの間(
図3の例では第1の物理ドライブ7aと第2の物理ドライブ7b又は第3の物理ドライブ7cとの間、
図4の例では第2の物理ドライブ7bと第3の物理ドライブ7cとの間)において累積の書き込みデータの容量である総書き込み容量を異ならせる。
【0053】
RAIDは、構成する複数の物理ドライブ(ディスク)が同時に故障したり、故障したディスクの交換中、あるは交換後の復旧中に別のディスクの故障が発生したりするなど、RAID方式に応じた数以上のマルチデッドが発生するとデータ復旧できない場合がある。従来のHDDにより構成されたRAIDにおいては、各HDDの機械的故障に起因するマルチデッド抑制の観点から、例えば各HDDの駆動時間の低減を図るために、RAIDを構成する複数のHDDの間で書き込むデータ容量を均一化することが好ましい場合があった。
【0054】
しかしながら、SSDは、HDDに比べて機構部品が少ないため個体寿命のばらつきも少なく、その寿命は、フラッシュメモリの書き込み寿命、すなわち総書き込み容量に大きく依存する。具体的には、多くのSSDでは、書き込みデータを、使用していないセクタがあった場合には、その使用していないセクタに書き込むように構成されている。このため、多くのSSDのフラッシュメモリ寿命は、1つのセクタにどれだけ書き込んだかではなく、ディスク全体にどれだけ書き込んだか(総書き込み容量)に依存する。
【0055】
このことから、従来のHDDにより構成されたRAIDと同様に複数のSSDの間で書き込むデータ容量を均一化すると、マルチデッドが発生し易いという問題があった。また、復旧中の総書き込み容量の増加に伴い、復旧中に別のディスクが故障して復旧できなくなる可能性があった。また、1つのディスクに故障が発生した場合に他のすべてのディスクを交換すると、コストがかかるという問題があった。さらには、例えばSMART情報などを用いて寿命に達する前に予防交換を行う場合であっても、書き込み容量が等しい構成では同時の交換が必要となるという問題があった。
【0056】
このような中、実施形態に係るRAIDコントローラ5は、同じ容量の3台以上のSSDにデータを書き込む際、ディスクごとの書き込みデータの容量に差をつけることができる。つまり、実施形態に係るRAIDコントローラ5によれば、複数のディスクの総書き込み容量に差をつけることができるため、SSDの故障発生時時期に差をつける事が可能になる。つまり、実施形態に係るRAIDコントローラ5によれば、SSDを用いて構成されたRAIDにおけるマルチデッドの発生を抑制することができる。これにより、復旧時の安全性の向上と、交換に必要なディスクの削減、すなわち交換コストを低減とを図ることができる。
【0057】
また、実施形態に係るRAIDコントローラ5において、少なくとも1つのプロセッサは、書き込みデータに関し、第1のSSD及び第2のSSDの一方(第1の物理ドライブ7a)に全体を書き込むとともに、2つ以上のSSDのうちの第1のSSD及び第2のSSDの他方を含む2つ以上のSSD(第2の物理ドライブ7b又は第3の物理ドライブ7c)に分割して書き込む。
【0058】
また、実施形態に係るRAIDコントローラ5において、少なくとも1つのプロセッサは、書き込みデータを奇数セクタと偶数セクタとに分割して書き込む。
【0059】
これらの構成によれば、RAIDを構成する複数のディスクのうち、マスタ領域を構成するディスクと、他のディスクとのいずれか一方を交換すればよい。例えば、実施形態に係るRAIDコントローラ5によれば、
図3の例では、第1の物理ドライブ7aが故障した、あるいは故障が予測される場合には、第1の物理ドライブ7aのみ交換すればよい。また、第2の物理ドライブ7b又は第3の物理ドライブ7cが故障した、あるいは故障が予測される場合には、第2の物理ドライブ7b及び第3の物理ドライブ7cのみ交換すればよい。このため、復旧時の安全性の向上と、交換に必要なディスクの削減、すなわち交換コストを低減とを図ることができる。
【0060】
また、実施形態に係るRAIDコントローラ5において、少なくとも1つのプロセッサは、書き込みデータに関し、複数の物理ドライブ7のうちのマスタ領域用の第1の物理ドライブ7aに全体を書き込むとともに、2つ以上のSSDのうちの第1のSSD及び第2のSSDを含む2つ以上のSSD(第2の物理ドライブ7b又は第3の物理ドライブ7c)に分割して書き込む。
【0061】
また、実施形態に係るRAIDコントローラ5において、少なくとも1つのプロセッサは、書き込みデータを3の倍数のセクタと3の倍数の他のセクタとに分割して書き込む。
【0062】
また、実施形態に係るRAIDコントローラ5において、少なくとも1つのプロセッサは、書き込みデータの全体を、マスタ領域用の第1の物理ドライブ7aである2つ以上のSSDのうちの第1のSSD及び第2のSSDの他の1つのSSDに書き込む。
【0063】
これらの構成によれば、RAIDを構成する複数のディスクのうち、マスタ領域を構成するディスクと、他のディスクとのいずれか一方を交換すればよい。例えば、実施形態に係るRAIDコントローラ5によれば、
図4の例では、故障した、あるいは故障が予測される物理ドライブのみ交換すればよい。このため、復旧時の安全性の向上と、交換に必要なディスクの削減、すなわち交換コストを低減とを図ることができる。
【0064】
また、実施形態に係るRAIDコントローラ5において、少なくとも1つのプロセッサは、書き込みデータの全体を、マスタ領域用の物理ドライブである2つ以上のSSDのうちの第1のSSD及び第2のSSDの他の2つ以上のSSDにより構成されたRAIDに書き込む。この構成によれば、マスタ領域をさらにRAID化することができるため、復旧時の安全性をさらに向上させることができる。
【0065】
また、実施形態に係るRAIDコントローラ5において、少なくとも1つのプロセッサは、書き込みデータの全体を書き込むRAIDを構成するSSDの総書き込み容量を、第1のSSD及び第2のSSDと異ならせる。この構成によれば、マスタ領域を実現するRAIDにおけるマルチデッドの発生を抑制し、SSDを用いて構成されたRAIDにおけるマルチデッドの発生をさらに抑制することができる。
【0066】
なお、本実施形態のRAIDコントローラ5で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、フレキシブルディスク(FD)、CD-R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【0067】
さらに、本実施形態のRAIDコントローラ5で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態のRAIDコントローラ5で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【0068】
以上説明した少なくとも一つの実施形態によれば、SSDを用いて構成されたRAIDにおけるマルチデッドの発生を抑制することができる。
【0069】
本発明の実施形態及び変形例を説明したが、この実施形態及び変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態及び変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【0070】
(付記)
(1)
RAID(Redundant Array of Independent Disk)を構成する、同一の最大容量を有する2つ以上のSSD(Solid State Drive)を含む3つ以上の複数の物理ドライブのそれぞれに接続される接続インタフェースと、
ホストに接続されるホストインタフェースと、
前記ホストから受信した書き込みデータの前記RAIDへの書き込みを制御する少なくとも1つのプロセッサと、を備え、
前記少なくとも1つのプロセッサは、前記複数の物理ドライブのそれぞれへの書き込み量を制御することにより、前記2つ以上のSSDのうちの第1のSSDと第2のSSDとの間において累積の書き込みデータの容量である総書き込み容量を異ならせる、
記憶制御装置。
(2)
前記少なくとも1つのプロセッサは、前記書き込みデータに関し、前記第1のSSD及び前記第2のSSDの一方に全体を書き込むとともに、前記2つ以上のSSDのうちの前記第1のSSD及び前記第2のSSDの他方を含む2つ以上のSSDに分割して書き込む、
上記(1)に記載の記憶制御装置。
(3)
前記少なくとも1つのプロセッサは、前記書き込みデータを奇数セクタと偶数セクタとに分割して書き込む、
上記(2)に記載の記憶制御装置。
(4)
前記少なくとも1つのプロセッサは、前記書き込みデータに関し、前記複数の物理ドライブのうちのマスタ領域用の物理ドライブに全体を書き込むとともに、前記2つ以上のSSDのうちの前記第1のSSD及び前記第2のSSDを含む2つ以上のSSDに分割して書き込む、
上記(1)から上記(3)のうちのいずれか一項に記載の記憶制御装置。
(5)
前記少なくとも1つのプロセッサは、前記書き込みデータを3の倍数のセクタと3の倍数の他のセクタとに分割して書き込む、
上記(4)に記載の記憶制御装置。
(6)
前記少なくとも1つのプロセッサは、前記書き込みデータの全体を、マスタ領域用の物理ドライブである前記2つ以上のSSDのうちの前記第1のSSD及び前記第2のSSDの他の1つのSSDに書き込む、
上記(4)又は上記(5)に記載の記憶制御装置。
(7)
前記少なくとも1つのプロセッサは、前記書き込みデータの全体を、マスタ領域用の物理ドライブである前記2つ以上のSSDのうちの前記第1のSSD及び前記第2のSSDの他の2つ以上のSSDにより構成されたRAIDに書き込む、
上記(4)又は上記(5)に記載の記憶制御装置。
(8)
前記少なくとも1つのプロセッサは、前記書き込みデータの全体を書き込むRAIDを構成するSSDの総書き込み容量を、前記第1のSSD及び前記第2のSSDと異ならせる、
上記(7)に記載の記憶制御装置。
(9)
RAID(Redundant Array of Independent Disk)を構成する、同一の最大容量を有する2つ以上のSSD(Solid State Drive)を含む3つ以上の複数の物理ドライブのそれぞれと、ホストと、に接続される記憶制御装置(コンピュータ)において、
前記ホストから書き込みデータを受信し、
前記ホストから受信した書き込みデータの前記RAIDへの書き込みにおいて、前記複数の物理ドライブのそれぞれへの書き込み量を制御することにより、前記2つ以上のSSDのうちの第1のSSDと第2のSSDとの間において累積の書き込みデータの容量である総書き込み容量を異ならせる、
記憶制御方法。
(10)
前記記憶制御方法を前記記憶制御装置(コンピュータ)に実行させるためのプログラム。
(11)
コンピュータにより実行可能なプログラムであって、前記プログラムが記録された記録媒体(Computer Program Product)。
【符号の説明】
【0071】
1 情報処理システム
2 ホスト
3 メモリシステム
5 RAIDコントローラ(記憶制御装置)
501 RAID設定部
502 書込制御部
503 読出制御部
51 ホストI/F
52 CPU
53 RAM
54 ROM
55 ドライブI/F
59 バス
7 複数の物理ドライブ