(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023044428
(43)【公開日】2023-03-30
(54)【発明の名称】RAID装置
(51)【国際特許分類】
G06F 3/06 20060101AFI20230323BHJP
G06F 11/10 20060101ALI20230323BHJP
【FI】
G06F3/06 304R
G06F3/06 304P
G06F3/06 540
G06F11/10 676
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2021152455
(22)【出願日】2021-09-17
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(71)【出願人】
【識別番号】598076591
【氏名又は名称】東芝インフラシステムズ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】寺戸 智浩
(57)【要約】
【課題】RAIDを構成する記憶装置の読み書きの応答に関する性能の低下を抑制することができる。
【解決手段】実施形態に係るRAID装置は、データサイズに応じた複数の実行状態記憶領域を有する複数の記憶装置にアクセスする場合にコマンドを発行してから完了するまでの応答時間および発行回数を実行状態記憶領域に記憶させ、所定回数未満であるか第1判定を行い、いずれかが所定回数以上である場合、最小のデータサイズの実行状態記憶領域を特定し、応答時間が最短の実行状態記憶領域の第1記憶装置を特定し、応答時間が最長の実行状態記憶領域の第2記憶装置を特定し、所定回数未満であるか第2判定を行い、所定回数以上と判定した発行回数の実行状態記憶領域で、第1記憶装置の応答時間の、第2記憶装置の応答時間に対する割合が基準値未満であるか第3判定を行い、基準値未満である場合または所定回数未満である場合、第2記憶装置の交換の通知を行う。
【選択図】
図3
【特許請求の範囲】
【請求項1】
RAIDを構成する複数の記憶装置であって、データサイズに応じて設定された複数の実行状態記憶領域をそれぞれ有する該複数の記憶装置に対して情報処理装置がアクセスする場合に、前記記憶装置に対してデータの読み出しまたは書き込みを行うためのコマンドを発行してから、前記読み出しまたは前記書き込みが完了した旨の応答を受信するまでの応答時間を計測し、前記コマンドで処理されるデータサイズに対応する前記実行状態記憶領域に前記応答時間を更新し、前記応答を受信した場合に、該コマンドの発行回数を、該コマンドで処理されるデータサイズに対応する前記実行状態記憶領域に記憶させ、
予め設定された性能測定間隔ごとに、前記実行状態記憶領域ごとの前記発行回数が、所定回数未満であるか否かの第1判定を行い、
前記第1判定の結果、前記実行状態記憶領域の前記発行回数のうち少なくともいずれかが前記所定回数以上である場合、前記記憶装置ごとに、前記発行回数が前記所定回数以上の前記実行状態記憶領域のうち、最小のデータサイズに対応する前記実行状態記憶領域を特定し、
特定した前記実行状態記憶領域のうち、前記応答時間が最も短い前記実行状態記憶領域を有する前記記憶装置を第1記憶装置として特定し、前記応答時間が最も長い前記実行状態記憶領域を有する前記記憶装置を第2記憶装置として特定し、
前記第1記憶装置および前記第2記憶装置において、前記各実行状態記憶領域に記憶された前記発行回数が前記所定回数未満であるか否かの第2判定を行い、
前記第2判定の結果、前記所定回数以上と判定した前記発行回数を記憶している前記実行状態記憶領域について、前記第1記憶装置の前記応答時間の、前記第2記憶装置の前記応答時間に対する割合が所定の基準値未満であるか否かの第3判定を行い、
前記第3判定により前記割合が前記基準値未満である場合、または、前記第2判定により前記発行回数が前記所定回数未満である場合、前記情報処理装置に対して、前記第2記憶装置を交換すべき旨の通知を行うRAID装置。
【請求項2】
前記第1記憶装置および前記第2記憶装置の前記各実行状態記憶領域のうち少なくともいずれかの前記実行状態記憶領域について、前記第3判定で前記割合が前記基準値以上であると判定した場合、前記各記憶装置のすべての前記実行状態記憶領域に記憶された前記応答時間および前記発行回数をリセットする請求項1に記載のRAID装置。
【請求項3】
前記応答時間は、前記コマンドを発行してから前記応答を受信するまでの時間の平均値、最小値、最大値または中央値のうちいずれかの値である請求項1または2に記載のRAID装置。
【請求項4】
前記第1記憶装置および前記第2記憶装置の前記各実行状態記憶領域について、前記第2判定により前記発行回数が前記所定回数未満である場合、または、前記第3判定により前記割合が前記基準値未満である場合、該第2記憶装置に対してデータの読み書きを不可にし、前記RAIDを構成する前記記憶装置とは別の記憶装置を、該RAIDを構成する新たな記憶装置としてデータの読み書きの対象とする請求項1~3のいずれか一項に記載のRAID装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、RAID装置に関する。
【背景技術】
【0002】
HDD(Hard Disk Drive)は、大容量データを保管するコンピュータやその他装置の記憶装置として使用されている。HDDは、大容量のデータを保存できる一方、機械駆動部分を含むため、他の記憶装置に比べて故障または欠陥セクタによるデータ損失の可能性が高い。このため、HDDのデータ損失を防ぐために、HDDを複数実装し、冗長性を確保することによってHDD単体の障害発生時においてもデータを保証するRAID(Redundant Arrays of Inexpensive Disks)という技術が存在し、コンピュータの内蔵HDD、および外部ストレージ装置等で広く使用されている。RAIDは、冗長性を確保するため、データを保存する際に複数のHDDに同時にアクセスする制御を行う。例えばRAID1では、2台のHDDに同じデータを書き込むことにより冗長性を確保している。なお、上述のデータ損失の問題は、HDDだけでなく、SSD(Solid State Drive)等の記憶装置においても同様のものであり、SSD等の記憶装置に対してもRAIDは適用が可能である。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、HDD等の記憶装置は、経年劣化等により故障に至る前に、代替処理、内部リトライ増加等により応答に時間がかかり、性能が劣化する不調な状態に至る場合があり、RAIDを構成する記憶装置の一部の不調な記憶装置によって全体の性能が悪化してしまうという点において改善の余地がある。
【0005】
そこで、本発明の実施形態の課題は、RAIDを構成する記憶装置の読み書きの応答に関する性能の低下を抑制することができるRAID装置を提供することである。
【課題を解決するための手段】
【0006】
実施形態に係るRAID装置は、RAIDを構成する複数の記憶装置であって、データサイズに応じて設定された複数の実行状態記憶領域をそれぞれ有する該複数の記憶装置に対して情報処理装置がアクセスする場合に、前記記憶装置に対してデータの読み出しまたは書き込みを行うためのコマンドを発行してから、前記読み出しまたは前記書き込みが完了した旨の応答を受信するまでの応答時間を計測し、前記コマンドで処理されるデータサイズに対応する前記実行状態記憶領域に前記応答時間を更新し、前記応答を受信した場合に、該コマンドの発行回数を、該コマンドで処理されるデータサイズに対応する前記実行状態記憶領域に記憶させ、予め設定された性能測定間隔ごとに、前記実行状態記憶領域ごとの前記発行回数が、所定回数未満であるか否かの第1判定を行い、前記第1判定の結果、前記実行状態記憶領域の前記発行回数のうち少なくともいずれかが前記所定回数以上である場合、前記記憶装置ごとに、前記発行回数が前記所定回数以上の前記実行状態記憶領域のうち、最小のデータサイズに対応する前記実行状態記憶領域を特定し、特定した前記実行状態記憶領域のうち、前記応答時間が最も短い前記実行状態記憶領域を有する前記記憶装置を第1記憶装置として特定し、前記応答時間が最も長い前記実行状態記憶領域を有する前記記憶装置を第2記憶装置として特定し、前記第1記憶装置および前記第2記憶装置において、前記各実行状態記憶領域に記憶された前記発行回数が前記所定回数未満であるか否かの第2判定を行い、前記第2判定の結果、前記所定回数以上と判定した前記発行回数を記憶している前記実行状態記憶領域について、前記第1記憶装置の前記応答時間の、前記第2記憶装置の前記応答時間に対する割合が所定の基準値未満であるか否かの第3判定を行い、前記第3判定により前記割合が前記基準値未満である場合、または、前記第2判定により前記発行回数が前記所定回数未満である場合、前記情報処理装置に対して、前記第2記憶装置を交換すべき旨の通知を行うことを特徴とする。
【図面の簡単な説明】
【0007】
【
図1】
図1は、実施形態に係るRAID搭載機器の全体構成の一例を示す図である。
【
図2】
図2は、実施形態に係るRAIDコントローラによって管理されるHDDの記憶領域の構成の一例を示す図である。
【
図3】
図3は、実施形態に係るRAIDコントローラの機能ブロックの構成の一例を示す図である。
【
図4】
図4は、実施形態に係るRAIDコントローラの性能判定処理フローの流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0008】
以下、本発明の例示的な実施形態を開示する。以下に示される実施形態の構成、および当該構成によってもたらされる作用および効果は、一例である。本発明は、以下の実施形態に開示される構成以外によっても実現可能である。また、本発明によれば、構成によって得られる種々の効果(派生的な効果も含む)のうち少なくとも一つを得ることが可能である。
【0009】
図1は、実施形態に係るRAID搭載機器の全体構成の一例を示す図である。
図1を参照しながら、本実施形態に係るRAID搭載機器1の全体構成について説明する。
【0010】
図1に示すRAID搭載機器1は、RAIDを構成する複数のHDDを搭載したコンピュータ、産業用コンピュータ、ストレージ装置またはストリーミング装置等の情報処理装置である。RAID搭載機器1は、
図1に示すように、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、ネットワークI/F14と、入力装置15と、ディスプレイ16と、RAIDコントローラ10(RAID装置)と、複数のHDD20(記憶装置の一例)と、1以上の予備HDD30と、を備えている。
【0011】
CPU11は、RAID搭載機器1の全体の動作を制御し、各種の情報処理を行う演算装置である。CPU11は、ROM12またはHDD20に記憶されたプログラムを実行して、各種処理を制御する。
【0012】
ROM12は、各種プログラムおよび主要な制御パラメータ等を記憶している不揮発性記憶装置である。RAM13は、CPU11のワークエリアとして使用される揮発性記憶装置である。
【0013】
ネットワークI/F14は、ネットワークを介して外部装置とデータを通信するためのインターフェースである。ネットワークI/F14は、例えば、Ethernet(登録商標)に対応し、TCP(Transmission Control Protocol)/IP(Internet Protocol)等に準拠した通信が可能なNIC(Network Interface Card)等である。
【0014】
入力装置15は、各種指示の選択および実行、処理対象の選択、ならびにカーソルの移動等を行うためのキーボード、マウス等である。
【0015】
ディスプレイ16は、例えば、RAIDコントローラ10からの通知内容等を表示する液晶ディスプレイ(LCD:Liquid Crystal Display)または有機EL(Electro-Luminescence)等の表示装置である。
【0016】
RAIDコントローラ10は、自身が備えるROM等に記憶されたファームウェアを実行することにより、RAIDを構成する複数のHDD20の管理、これらのHDD20に対するデータの読み出しおよび書き込み処理、当該読み書きを行うためのコマンドを発行してから応答を受けるまでの時間の計測、ならびにHDD20の交換を促すメッセージ等の通知等を行うコントローラである。RAIDコントローラ10は、
図1に示すように、バスライン19に接続するためのインターフェース10aと、HDD20および予備HDD30にデータを読み書きするためのインターフェース10bと、を備えている。
【0017】
複数のHDD20は、RAIDコントローラ10により管理されるRAIDを構成するHDDである。また、RAIDを構成するこれらのHDD20は、冗長性を確保するため、RAIDコントローラ10によって、インターフェース10bを介してデータの読み書きのために同時にアクセスされる。HDD20は、後述の
図2に示すように、RAIDの性能判定処理で用いる管理情報が記憶された構成情報領域、コマンド発行回数および応答時間が記憶された実行状態記憶領域、ならびにコマンドにより読み書きされるデータが記憶されたデータ記憶領域を有するほか、RAID搭載機器1の動作に必要なOS(Operating System)、各種のプログラム、データおよびファイル等を記憶する。なお、複数のHDD20のうち一部または全部が、SSD等の他の記憶装置に置換された構成でRAIDが構成されていてもよい。本実施形態では、RAIDを構成する記憶装置がHDD(HDD20)であるものとして説明する。
【0018】
1以上の予備HDD30は、RAIDを構成するHDD20のうちいずれかに交換の必要が生じた場合に、交換対象となるHDD20からデータをコピーして当該HDD20と交換するための予備的なHDDである。本実施形態では、予備HDD30は、RAID搭載機器1に予め搭載され、インターフェース10bに接続されているものとする。なお、1以上の予備HDD30のうち一部または全部が、SSD等の他の記憶装置であるものとしてもよい。
【0019】
上述のCPU11、ROM12、RAM13、ネットワークI/F14、入力装置15、ディスプレイ16およびRAIDコントローラ10は、アドレスバスおよびデータバス等のバスライン19によって互いに通信可能に接続されている。
【0020】
なお、
図1に示すRAID搭載機器1の構成は一例であり、例えばこれ以外の装置(例えば、スピーカ等の音響装置、DVD(Digital Versatile Disc)ドライブ装置等)が備えられるものとしてもよい。
【0021】
図2は、実施形態に係るRAIDコントローラによって管理されるHDDの記憶領域の構成の一例を示す図である。
図2を参照しながら、本実施形態に係るRAIDコントローラ10によって管理されるHDD20の記憶領域の構成について説明する。
【0022】
図2に示すように、HDD20は、構成情報領域21と、実行状態記憶領域22と、データ記憶領域23と、を含む。
【0023】
構成情報領域21は、RAIDコントローラ10により実行される性能判定処理で用いられる管理情報を記憶する領域である。管理情報としては、性能判定処理を実行する間隔を指定するパラメータである性能測定間隔と、RAIDを構成するHDD20のうち、応答時間が最短のHDD20および最長のHDD20についての応答時間の割合に対する判定の基準を示すパラメータである所定の基準値と、を含む。性能測定間隔は、例えば日単位で予め設定されている。所定の基準値は、例えば10[%]刻みで予め規定されており、デフォルトで例えば50[%]に規定されているものとする。
【0024】
なお、RAIDを構成するすべてのHDD20が、構成情報領域21を有する必要は必ずしもなく、少なくともいずれかのHDD20が構成情報領域21を有するものとし、当該構成情報領域21に記憶された管理情報が性能判定処理の際に読み出されて、利用されるものとしてもよい。また、構成情報領域21は、HDD20に含まれていることに限定されるものではなく、例えばRAIDコントローラ10が有するROMに含まれるものとしてもよい。
【0025】
実行状態記憶領域22は、当該実行状態記憶領域22を有するHDD20に対してCPU11がアクセスする場合に、RAIDコントローラ10が発行したReadコマンドおよびWriteコマンドそれぞれの発行回数(コマンド発行回数)、ならびに、それぞれのコマンドが発行されてから読み出しまたは書き込み処理が完了した旨の応答を受信するまでの応答時間を記憶する記憶領域である。実行状態記憶領域22は、
図2に示すように、発行されたコマンドで処理されるデータのサイズに応じて、複数の領域に分けられている。実行状態記憶領域22は、例えば、16KB未満のデータサイズに対応する実行状態記憶領域22a、16KB以上128KB未満のデータサイズに対応する実行状態記憶領域22b、128KB以上256KB未満のデータサイズに対応する実行状態記憶領域22c、256KB以上512KB未満のデータサイズに対応する実行状態記憶領域22d、512KB以上1MB未満のデータサイズに対応する実行状態記憶領域22e、および1MB以上のデータサイズに対応する実行状態記憶領域22fに分けられている。このうち、例えば、実行状態記憶領域22aは、16KB未満のデータを処理するReadコマンドおよびWriteコマンドそれぞれのコマンド発行回数、ならびに、当該ReadコマンドおよびWriteコマンドで処理される場合の応答時間を記憶する。なお、以降の説明では、実行状態記憶領域22a~22fのうち、任意の実行状態記憶領域を示す場合、または総称する場合、「実行状態記憶領域22」と称するものとする。なお、実行状態記憶領域22は、コマンドで処理されるデータのサイズに応じて複数存在するものとしているが、これに限定されるものではなく、データのサイズにかかわらず、ReadコマンドおよびWriteコマンドそれぞれのコマンド発行回数、ならびに、当該ReadコマンドおよびWriteコマンドで処理される場合の応答時間を記憶する単一の記憶領域であってもよい。
【0026】
なお、
図2に示した実行状態記憶領域22に対する複数の領域の分け方は一例であり、
図2に示すものとは異なるデータ範囲で領域を分けてもよく、異なる個数の領域に分けてもよい。また、実行状態記憶領域22において応答時間を記憶するものとしているが、応答時間としては、例えば、RAIDコントローラ10によりコマンドが発行されてから読み出しまたは書き込み処理が完了した旨の応答が受信されるまでの時間の平均値、最大値、最小値、または中央値等であればよい。
【0027】
データ記憶領域23は、RAIDコントローラ10が発行したReadコマンドに従って読み出されるデータが記憶された領域、およびWriteコマンドに従ってデータを書き込む領域である。
【0028】
図3は、実施形態に係るRAIDコントローラの機能ブロックの構成の一例を示す図である。
図3を参照しながら、本実施形態に係るRAIDコントローラ10の機能ブロックの構成について説明する。
【0029】
図3に示すように、RAIDコントローラ10は、読み書き部101(アクセス処理)と、応答時間計測部102(計測部)と、性能判定部103と、通知部104と、を有する。
【0030】
読み書き部101は、CPU11がRAIDを構成する各HDD20に対してアクセスする場合に、ReadコマンドまたはWriteコマンドを発行し、各HDD20に対してデータの読み出し、または書き込みのアクセス処理を実行する機能部である。例えば、読み書き部101は、CPU11から書き込み対象となるデータを受け取った場合、Writeコマンドを発行し、各HDD20に対して同時にまたは分散して当該データの書き込みを行う。そして、読み書き部101は、各HDD20の実行状態記憶領域22のうち、当該Writeコマンドが処理するデータのサイズに応じた実行状態記憶領域22に記憶されているWriteコマンドのコマンド発行回数に1を加算して更新する。また、読み書き部101は、CPU11から各HDD20から読み出しを行う場合、Readコマンドを発行し、各HDD20からデータ読み出しを行う。そして、読み書き部101は、各HDD20の実行状態記憶領域22のうち、当該Readコマンドが処理するデータのサイズに応じた実行状態記憶領域22に記憶されているReadコマンドのコマンド発行回数に1を加算して更新する。
【0031】
応答時間計測部102は、読み書き部101がコマンドを発行してから、当該コマンドにより各HDD20に対する読み出しまたは書き込みが完了した旨の応答を受信するまでの応答時間をそれぞれ計測する機能部である。例えば、応答時間計測部102は、読み書き部101がWriteコマンドを発行してから、当該Writeコマンドにより対象となるデータの各HDD20への書き込み処理を完了した旨の応答を受信するまでの応答時間をそれぞれ計測する。そして、応答時間計測部102は、各HDD20の実行状態記憶領域22のうち、当該Writeコマンドが処理するデータのサイズに応じた実行状態記憶領域22に記憶されているWriteコマンドの応答時間と、当該計測した応答時間とから、新たな応答時間(例えば平均値等)を算出して更新する。また、応答時間計測部102は、読み書き部101がReadコマンドを発行してから、当該Readコマンドにより対象となるデータの各HDD20からの読み出し処理を完了した旨の応答を受信するまでの応答時間をそれぞれ計測する。そして、応答時間計測部102は、各HDD20の実行状態記憶領域22のうち、当該Readコマンドが処理するデータのサイズに応じた実行状態記憶領域22に記憶されているReadコマンドの応答時間と、当該計測した応答時間とから、新たな応答時間(例えば平均値等)を算出して更新する。
【0032】
性能判定部103は、HDD20の構成情報領域21に記憶された性能測定間隔および所定の基準値を用いて、後述する性能判定処理における各種の判定処理等を実行する機能部である。性能判定部103の処理の具体的内容については、後述する
図4に示す性能判定処理において詳述する。
【0033】
通知部104は、後述する性能判定処理において、性能判定部103によりHDD20を交換すべきと判定された場合に、HDD20の交換を促すメッセージをCPU11に通知する機能部である。CPU11は、例えば、通知部104から通知を受けた場合、ディスプレイ16に当該通知の内容を表示させる。なお、通知の内容を示す方法、ディスプレイ16での表示に限定されるものではなく、例えば、スピーカにより通知の内容を音声出力させる方法等であってもよい。
【0034】
上述の読み書き部101、応答時間計測部102、性能判定部103および通知部104は、例えば、RAIDコントローラ10が備えるCPUによりファームウェアが実行されることによって実現される。なお、読み書き部101、応答時間計測部102、性能判定部103および通知部104のうち一部または全部は、ファームウェアではなく、FPGA(Field-Programmable Gate Array)またはASIC(Application Specific Integrated Circuit)等のハードウェア回路によって実現されてもよい。
【0035】
なお、
図3に示した読み書き部101、応答時間計測部102、性能判定部103および通知部104は、機能を概念的に示したものであって、このような構成に限定されるものではない。例えば、
図3で示した複数の機能部を、1つの機能部として構成してもよい。一方、
図3で示した1つの機能部が有する機能を複数に分割し、複数の機能部として構成するものとしてもよい。
【0036】
図4は、実施形態に係るRAIDコントローラの性能判定処理フローの流れの一例を示すフローチャートである。
図4を参照しながら、本実施形態に係るRAIDコントローラ10の性能判定処理の流れについて説明する。
【0037】
RAIDコントローラ10の性能判定部103は、HDD20の構成情報領域21に記憶された性能測定間隔および所定の基準値を読み出し、当該性能測定間隔ごとに、以下のステップS11~S23に示す性能判定処理を開始させる。
【0038】
(ステップS11)
性能判定部103は、RAIDを構成するHDD20それぞれの実行状態記憶領域22に記憶されているReadコマンドおよびWriteコマンドのコマンド発行回数を読み出して確認する。そして、ステップS12へ移行する。
【0039】
(ステップS12)
性能判定部103は、読み出したすべてのコマンド発行回数が所定回数(例えば30回)未満か否かの判定(第1判定)を行う。判定の結果、すべてのコマンド発行回数が所定回数未満である場合(ステップS12:Yes)、統計的な意義を有するコマンド発行回数に至っていないものと判断し、後述する第2判定、第3判定、およびHDD20の交換を促すメッセージの通知を行わずに、当該性能判定処理を終了する。一方、読み出されたコマンド発行回数のうちいずれかが所定回数以上である場合(ステップS12:No)、ステップS13へ移行する。
【0040】
(ステップS13)
性能判定部103は、HDD20ごとに、読み出したコマンド発行回数が所定回数以上である実行状態記憶領域22のうち、最小のデータサイズに対応する実行状態記憶領域22を特定する。これによって、当該実行状態記憶領域22に記憶されている応答時間が特定される。すなわち、RAIDを構成するHDD20ごとに、応答時間が特定される。なお、例えば、最小のデータサイズに対応する実行状態記憶領域22に記憶されたReadコマンドに対応する応答時間、およびWriteコマンドに対応する応答時間のうち、対応するコマンド発行回数がいずれも所定回数以上であれば、いずれかの応答時間を特定してもよく、Writeコマンドの応答時間を特定するものとしてもよい。そして、ステップS14へ移行する。
【0041】
(ステップS14)
性能判定部103は、特定した実行状態記憶領域22のうち、応答時間が最も短い実行状態記憶領域22を有するHDD20をP(第1記憶装置)として特定し、応答時間が最も長い実行状態記憶領域22を有するHDD20をQ(第2記憶装置)として特定する。そして、ステップS15へ移行する。
【0042】
(ステップS15)
性能判定部103は、PおよびQにおいて、データサイズが16KB未満のそれぞれの実行状態記憶領域22aに記憶されているReadコマンドのコマンド発行回数の少なくともいずれかが所定回数未満であるか否かの判定(第2判定)を行う。判定の結果、PおよびQの実行状態記憶領域22aに記憶されているReadコマンドのコマンド発行回数の少なくともいずれかが所定回数未満である場合(ステップS15:Yes)、性能判定部103は、統計的な意義を有するコマンド発行回数に至っていないものと判断し、ステップS16の判定処理を実行せず、ステップS17へ移行する。一方、PおよびQの実行状態記憶領域22aに記憶されているReadコマンドのコマンド発行回数が所定回数以上である場合(ステップS15:No)、ステップS16へ移行する。
【0043】
(ステップS16)
性能判定部103は、Pの実行状態記憶領域22aのReadコマンドの応答時間の、Qの実行状態記憶領域22aのReadコマンドの応答時間に対する割合が所定の基準値(例えばX%)未満であるか否かの判定(第3判定)を行う。判定の結果、基準値未満である場合(ステップS16:Yes)、ステップS17へ移行し、基準値以上である場合(ステップS16:No)、Qは交換対象でないと判断され、ステップS22へ移行する。ここで、性能判定部103による判定のために、基準値との比較対象となる割合は、例えば、以下の式(1)による性能比較値として算出される。性能比較値の算出については、以降も同様である。
【0044】
性能比較値=(Pの応答時間)/(Qの応答時間) ・・・(1)
【0045】
(ステップS17)
性能判定部103は、PおよびQにおいて、データサイズが16KB未満のそれぞれの実行状態記憶領域22aに記憶されているWriteコマンドのコマンド発行回数の少なくともいずれかが所定回数未満であるか否かの判定(第2判定)を行う。判定の結果、PおよびQの実行状態記憶領域22aに記憶されているWriteコマンドのコマンド発行回数の少なくともいずれかが所定回数未満である場合(ステップS17:Yes)、性能判定部103は、統計的な意義を有するコマンド発行回数に至っていないものと判断し、ステップS18の判定処理を実行せず、次のステップへ移行する。一方、PおよびQの実行状態記憶領域22aに記憶されているWriteコマンドのコマンド発行回数が所定回数以上である場合(ステップS17:No)、ステップS18へ移行する。
【0046】
(ステップS18)
性能判定部103は、Pの実行状態記憶領域22aのWriteコマンドの応答時間の、Qの実行状態記憶領域22aのWriteコマンドの応答時間に対する割合が所定の基準値(例えばX%)未満であるか否かの判定(第3判定)を行う。判定の結果、基準値未満である場合(ステップS18:Yes)、次のステップへ移行し、基準値以上である場合(ステップS18:No)、Qは交換対象でないと判断され、ステップS22へ移行する。
【0047】
以降、ステップS15~S18と同様の処理を、PおよびQの実行状態記憶領域22b~22eについても同様に実行する。その後、PおよびQの実行状態記憶領域22fのReadコマンドの応答時間について、ステップS15およびS16と同様の処理の実行後、ステップS19へ移行する。
【0048】
(ステップS19)
性能判定部103は、PおよびQにおいて、データサイズが1MB以上のそれぞれの実行状態記憶領域22fに記憶されているWriteコマンドのコマンド発行回数の少なくともいずれかが所定回数未満であるか否かの判定(第2判定)を行う。判定の結果、PおよびQの実行状態記憶領域22fに記憶されているWriteコマンドのコマンド発行回数の少なくともいずれかが所定回数未満である場合(ステップS19:Yes)、性能判定部103は、統計的な意義を有するコマンド発行回数に至っていないものと判断し、ステップS20の判定処理を実行せず、ステップS21へ移行する。一方、PおよびQの実行状態記憶領域22fに記憶されているWriteコマンドのコマンド発行回数が所定回数以上である場合(ステップS19:No)、ステップS20へ移行する。
【0049】
(ステップS20)
性能判定部103は、Pの実行状態記憶領域22fのWriteコマンドの応答時間の、Qの実行状態記憶領域22fのWriteコマンドの応答時間に対する割合が所定の基準値(例えばX%)未満であるか否かの判定(第3判定)を行う。判定の結果、基準値未満である場合(ステップS20:Yes)、ステップS21へ移行し、基準値以上である場合(ステップS20:No)、Qは交換対象でないと判断され、ステップS22へ移行する。
【0050】
(ステップS21)
性能判定部103は、PおよびQの応答時間に基づく性能判定の結果、QのHDD20を交換するべきと判定する。そして、通知部104は、PおよびQの各実行状態記憶領域22について、上述の第2判定でコマンド発行回数が所定回数未満と判定された場合、または、上述の第3判定で割合が基準値未満と判定された場合、CPU11に対して、QのHDD20の交換を促すメッセージの通知を行う。そして、ステップS22へ移行する。
【0051】
(ステップS22)
読み書き部101は、RAIDを構成する各HDD20のすべての実行状態記憶領域22に記憶されたReadコマンドおよびWriteコマンドのそれぞれのコマンド発行回数を0にリセットする。また、応答時間計測部102は、RAIDを構成する各HDD20のすべての実行状態記憶領域22に記憶されたReadコマンドおよびWriteコマンドのそれぞれの応答時間を0にリセットする。
【0052】
以上のステップS11~S22の流れで、RAIDコントローラ10の性能判定処理が実行される。当該性能判定処理の実行後、性能測定間隔が示す間隔の経過後、再び性能判定処理の実行が繰り返される。すなわち、RAIDコントローラ10は、RAIDを構成し、RAID搭載機器1がアクセスする複数のHDD20のうち、データの読み出しまたは書き込みの応答時間が最も短いHDD20をPとして特定し、応答時間が最も長いHDD20をQとして特定し、Qの応答時間がPの応答時間よりも所定の条件を満たすほど長いか否かを判定し、当該所定の条件を満たす場合、RAID搭載機器1に対して、QであるHDD20を交換すべき旨の通知を行っている。ここで、所定の条件とは、例えば、上述のステップS16~S20の第2判定および第3判定における条件に対応する。なお、ステップS15~S20において、16KB未満の実行状態記憶領域22aからデータサイズが大きくなる順に判定処理が行われているが、これに限定されるものではなく、異なる順序で判定処理が実行されるものとしてもよい。
【0053】
また、性能判定部103は、ステップS15~S20の判定処理の結果、QのHDD20を交換するべきと判定した場合、交換対象となるQのHDD20に記憶されたデータを予備HDD30にコピーした後、当該HDD20に対してデータの読み書きを不可にし、当該予備HDD30を、RAIDを構成する新たなHDD20としてデータの読み書きの対象とするものとすればよい。なお、予備HDD30は、予めRAID搭載機器1に搭載されていることに限定されるものではなく、通知部104による通知が行われた後、管理者によって、QのHDD20に対して交換対象となる予備HDD30を、RAID搭載機器1に搭載させるものとしてもよい。
【0054】
以上のように、本実施形態に係るRAIDコントローラ10は、RAIDを構成し、RAID搭載機器1がアクセスする複数のHDD20のうち、データの読み出しまたは書き込みの応答時間が最も短いHDD20をPとして特定し、応答時間が最も長いHDD20をQとして特定し、Qの応答時間がPの応答時間よりも所定の条件を満たすほど長いか否かを判定し、所定の条件を満たす場合、RAID搭載機器1に対して、Qを交換すべき旨の通知を行うものとしている。具体的には、RAIDコントローラ10では、複数のHDD20は、読み書きのデータサイズに対応した複数の実行状態記憶領域22をそれぞれ有し、各HDD20に対してRAID搭載機器1がアクセスする場合に、各HDD20に対してデータの読み出しまたは書き込みを行うためコマンドを発行してから、読み出しまたは書き込みが完了した旨の応答を受信するまでの応答時間を計測し、コマンドのデータサイズに対応する実行状態記憶領域22に応答時間を記憶させ、コマンドに基づく読み出しまたは書き込みが完了した旨の応答を受信した場合に、当該コマンドの発行回数を、当該コマンドのデータサイズに対応する実行状態記憶領域22に記憶させ、複数のHDD20における各実行状態記憶領域22の発行回数が、所定回数未満であるか否かの第1判定を行い、第1判定の結果、実行状態記憶領域22の発行回数のうち少なくともいずれかが所定回数以上である場合、HDD20ごとに、発行回数が所定回数以上の実行状態記憶領域22のうち、最小のデータサイズに対応する実行状態記憶領域22を特定し、特定した実行状態記憶領域22のうち、応答時間が最も短い実行状態記憶領域22を有するHDD20をPとして特定し、応答時間が最も長い実行状態記憶領域22を有するHDD20をQとして特定し、PおよびQにおいて、各実行状態記憶領域22の発行回数が所定回数未満であるか否かの第2判定を行い、第2判定の結果、所定回数以上と判定した発行回数を記憶している実行状態記憶領域22について、Pの応答時間の、Qの応答時間に対する割合が所定の基準値未満であるか否かの第3判定を行い、PおよびQの各実行状態記憶領域22について、第2判定で発行回数が所定回数未満と判定した場合、または、第3判定で割合が基準値未満と判定した場合、RAID搭載機器1に対して、Qを交換すべき旨の通知を行うものとしている。これによって、RAIDを構成するすべてのHDD20の読み書きの応答に関する性能について一部のHDD20に一定の性能低下が発生した際に、管理者に対して性能低下があったことを通知することができ、当該管理者に性能低下に係るHDD20の交換を促すことにより、RAIDを構成する記憶装置の読み書きの応答に関する性能の低下を抑制することができる。
【0055】
また、本実施形態に係るRAIDコントローラ10では、PおよびQの各実行状態記憶領域22のうち少なくともいずれかの実行状態記憶領域22について、第3判定で割合が基準値以上であると判定した場合、各HDD20のすべての実行状態記憶領域22に記憶された応答時間および発行回数をリセットする。これによって、応答時間および発行回数についてリセットした初期状態から性能判定処理を改めて実行することができる。
【0056】
また、本実施形態に係るRAIDコントローラ10では、第1判定の結果、すべての実行状態記憶領域22の発行回数が所定回数未満である場合、第2判定、第3判定およびHDD20を交換すべき旨の通知を行わないものとしている。これによって、統計的な意義を有するコマンド発行回数に至っていない状態での、HDD20を交換すべきか否かの判定処理の実行を回避することができる。
【0057】
また、本実施形態に係るRAIDコントローラ10では、PおよびQの各実行状態記憶領域22について、第2判定で発行回数が所定回数未満と判定した場合、または、第3判定で割合が基準値未満と判定した場合、Qに対してデータの読み書きを不可にし、RAIDを構成するHDD20とは別の記憶装置である予備HDD30を、RAIDを構成する新たな記憶装置としてデータの読み書きの対象としている。これによって、読み書きの応答に関する性能が低下したHDD20から予備HDD30へ自動的に交換することができ、RAID搭載機器1の稼働を停止せずに継続させることができる。
【0058】
なお、本実施形態に係るRAIDコントローラ10で実行されるプログラム(ファームウェア)は、インストール可能な形式または実行可能な形式のファイルでCD-ROM、フレキシブルディスク(FD)、CD-R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【0059】
また、当該プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、当該プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、当該プログラムを、ROM等に予め組み込んで提供するように構成してもよい。
【0060】
また、当該プログラムは、上述した各機能部を含むモジュール構成となっており、実際のハードウェアとしてはプロセッサが上記記憶媒体からプログラムを読み出して実行することにより上記各機能部が主記憶装置上にロードされ、上記各部が主記憶装置上に生成されるようになっている。
【0061】
以上、本発明の実施形態が例示されたが、上述の実施形態は一例であって、発明の範囲を限定することは意図していない。上述の実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、組み合わせ、変更を行うことができる。また、各構成、形状等のスペック(構造、種類、方向、形式、大きさ、長さ、幅、厚さ、高さ、数、配置、位置、材質等)は、適宜に変更して実施することができる。
【符号の説明】
【0062】
1 RAID搭載機器
10 RAIDコントローラ
10a、10b インターフェース
11 CPU
12 ROM
13 RAM
14 ネットワークI/F
15 入力装置
16 ディスプレイ
19 バスライン
20 HDD
21 構成情報領域
22、22a~22f 実行状態記憶領域
30 予備HDD
101 読み書き部
102 応答時間計測部
103 性能判定部
104 通知部