(57)【要約】【課題】記憶媒体へのデータ転送速度を改善する技術を提供する。【解決手段】RAIDコントローラ２（記憶制御装置）は、複数のSSD制御ユニット４（記憶媒体制御ユニット）と、論理ドライブ制御部５（ユニット統括部）と、を備えている。SSD制御ユニット４は、サイズ記憶部６（データブロックサイズ記憶部）とデバイスアクセス処理部７（入出力実行部）、最適アクセス方法評価部８（データブロックサイズ設定部）を有している。最適アクセス方法評価部８は、異なる複数のデータブロックサイズにてSSD３に対して入出力を実行すると共にその際のデータ転送速度を計測し、その計測結果に基づいてサイズ記憶部６のデータブロックサイズを設定する。【選択図】図２
2012252485.tif 000002
【特許請求の範囲】
【請求項１】
夫々が記憶媒体に接続可能な複数の記憶媒体制御ユニットと、前記複数の記憶媒体制御ユニットを統括するユニット統括部と、を備えた記憶制御装置であって、
前記記憶媒体制御ユニット自身に接続される前記記憶媒体に対する入出力の際のデータブロックサイズを記憶するデータブロックサイズ記憶部と、
前記データブロックサイズ記憶部に記憶されているデータブロックサイズにて、前記記憶媒体に対する入出力を実行する入出力実行部と、
前記データブロックサイズ記憶部のデータブロックサイズを設定するデータブロックサイズ設定部と、
を有し、
前記データブロックサイズ設定部は、異なる複数のデータブロックサイズにて前記記憶媒体に対して入出力を実行すると共にその際のデータ転送速度を計測し、その計測結果に基づいて、前記データブロックサイズ記憶部のデータブロックサイズを設定する、
記憶制御装置。
【請求項２】
請求項１に記載の記憶制御装置であって、
前記データブロックサイズ設定部は、前記計測結果において最も高いデータ転送速度となったデータブロックサイズを選択し、選択したそのデータブロックサイズを前記データブロックサイズ記憶部に出力する、
記憶制御装置。
【請求項３】
請求項１又は２に記載の記憶制御装置であって、
前記複数の記憶媒体は、SSD(Solid State Drive)である、
記憶制御装置。
【請求項４】
請求項１〜３の何れかに記載の記憶制御装置であって、
前記ユニット統括部は、前記複数の記憶媒体制御ユニットをRAID(Redundant Arrays of Independent Disks)制御する、
記憶制御装置。
【請求項５】
複数の記憶媒体を個別に制御すると共に、各記憶媒体の制御を統括する記憶制御方法であって、
各記憶媒体に対する入出力の際のデータブロックサイズは、異なる複数のデータブロックサイズにて前記記憶媒体に対して入出力を実行すると共にその際のデータ転送速度を計測し、その計測結果に基づいて設定する、
記憶制御方法。
【請求項６】
請求項５に記載の記憶制御方法であって、
各記憶媒体に対する入出力の際のデータブロックサイズは、前記計測結果において最も高いデータ転送速度となったデータブロックサイズとする、
記憶制御方法。
【請求項７】
請求項５又は６に記載の記憶制御方法であって、
前記複数の記憶媒体は、SSD(Solid State Drive)である、
記憶制御方法。
【請求項８】
請求項５〜７の何れかに記載の記憶制御方法であって、
RAID(Redundant Arrays of Independent Disks)制御によって、前記複数の記憶媒体の制御を統括する、
記憶制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶制御装置、及び、記憶制御方法に関する。
【背景技術】
【０００２】
この種の技術として、特許文献１は、複数の記憶媒体に同じデータを書き込むことで冗長性を高め、データの二重化を行う二重化機能を備えた二重化処理装置を開示している。この二重化処理装置では、ホストコンピュータから転送されたデータを１つの記憶媒体に優先的に書き込んだ時点で、書き込み要求の完了通知をホストコンピュータに送信し、その後に、実際の二重化処理を行うようになっている。優先的にデータを書き込む記憶媒体を選択する判断基準の一例として、特許文献１は、予め計測しておいた各記憶媒体の書き込み速度や読み込み速度を挙げている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−３０９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上記の二重化処理装置には、記憶媒体に対するデータ転送速度に関して改善の余地が残されていた。
【０００５】
本願発明の目的は、記憶媒体へのデータ転送速度を改善する技術を提供することにある。
【課題を解決するための手段】
【０００６】
本願発明の第１の観点によれば、夫々が記憶媒体に接続可能な複数の記憶媒体制御ユニットと、前記複数の記憶媒体制御ユニットを統括するユニット統括部と、を備えた記憶制御装置は、以下のように構成されている。即ち、前記記憶媒体制御ユニットは、前記記憶媒体制御ユニット自身に接続される前記記憶媒体に対する入出力の際のデータブロックサイズを記憶するデータブロックサイズ記憶部と、前記データブロックサイズ記憶部に記憶されているデータブロックサイズにて、前記記憶媒体に対する入出力を実行する入出力実行部と、前記データブロックサイズ記憶部のデータブロックサイズを設定するデータブロックサイズ設定部と、を有する。前記データブロックサイズ設定部は、異なる複数のデータブロックサイズにて前記記憶媒体に対して入出力を実行すると共にその際のデータ転送速度を計測し、その計測結果に基づいて、前記データブロックサイズ記憶部のデータブロックサイズを設定する。
【０００７】
また、本願発明の第２の観点によれば、複数の記憶媒体を個別に制御すると共に、各記憶媒体の制御を統括する記憶制御は、以下のような方法で行われる。即ち、各記憶媒体に対する入出力の際のデータブロックサイズは、異なる複数のデータブロックサイズにて前記記憶媒体に対して入出力を実行すると共にその際のデータ転送速度を計測し、その計測結果に基づいて設定する。
【発明の効果】
【０００８】
本願発明によれば、前記複数の記憶媒体に対するデータ転送速度を最適化することができる。特に、前記複数の記憶媒体が相互に種類が異なる場合、上記の構成は特に有益である。
【図面の簡単な説明】
【０００９】
【図１】図１は、RAID装置のブロック図である。（第1実施形態）
【図２】図２は、RAID装置のブロック図である。（第2実施形態）
【図３】図３は、最適アクセス方法評価部の詳細ブロック図である。（第２実施形態）
【図４】図４は、データテーブルの記憶内容である。（第２実施形態）
【図５】図５は、最適アクセス方法評価部のフローである。（第２実施形態）
【図６】図６は、データテーブルの記憶内容である。（第２実施形態）
【発明を実施するための形態】
【００１０】
（第１実施形態：図１）
以下、図１を参照しつつ、本願発明の第１実施形態を説明する。図１に示すように、本実施形態においてRAID装置１（記憶装置）は、RAIDコントローラ２（記憶制御装置：Redundant Arrays of Independent Disks）と複数のSSD３（記憶媒体：Solid State Drive）によって構成されている。
【００１１】
RAIDコントローラ２は、複数のSSD制御ユニット４（記憶媒体制御ユニット）と論理ドライブ制御部５（ユニット統括部）によって構成されている。
【００１２】
各SSD制御ユニット４は、各SSD３に接続可能である。論理ドライブ制御部５は、複数のSSD制御ユニット４を所望のRAIDレベルにて統括する。
【００１３】
SSD制御ユニット４は、サイズ記憶部６（データブロックサイズ記憶部）と、デバイスアクセス処理部７（入出力実行部）と、最適アクセス方法評価部８（データブロックサイズ設定部）と、によって構成されている。
【００１４】
サイズ記憶部６は、SSD制御ユニット４自身に接続されるSSD３に対する入出力の際のデータブロックサイズを記憶する。
【００１５】
デバイスアクセス処理部７は、サイズ記憶部６に記憶されているデータブロックサイズにて、SSD３に対する入出力を実行する。
【００１６】
最適アクセス方法評価部８は、デバイスアクセス処理部７とSSD３との間のデータ転送速度が良好となるように（好ましくは、最高になるように）、サイズ記憶部６のデータブロックサイズを設定する。具体的には、最適アクセス方法評価部８は、異なる複数のデータブロックサイズにてSSD３に対して入出力を実行すると共にその際のデータ転送速度を計測し、その計測結果に基づいて、サイズ記憶部６のデータブロックサイズを設定する。具体的には、最適アクセス方法評価部８は、その計測結果において最も高いデータ転送速度となったデータブロックサイズを選択し、選択したそのデータブロックサイズをサイズ記憶部６に出力する。
【００１７】
論理ドライブ制御部５は、複数のSSD制御ユニット４を所望のRAIDレベルにて統括する。例えば、RAIDレベルがRAID0の場合は、論理ドライブ制御部５は、複数のSSD制御ユニット４をストライピング制御で統括する。また、例えば、RAIDレベルがRAID1の場合は、論理ドライブ制御部５は、複数のSSD制御ユニット４をミラーリング制御で統括する。
【００１８】
本実施形態においてRAIDコントローラ２は、ソフトウェア的に構成されている。即ち、RAIDコントローラ２は、CPU（Central Proccesing Unit）とRAM（Random Access Memory）、ROM（Read Only Memory）を有する。ROMには、制御プログラムが記憶されている。制御プログラムはCPUによってロードされ、CPU上で実行される。これにより、制御プログラムは、CPU等のハードウェアを、SSD制御ユニット４や論理ドライブ制御部５等として機能させる。これに代えて、RAIDコントローラ２は、ハードウェアで実現してもよい。
【００１９】
以上にRAIDコントローラ２を説明したが、RAIDコントローラ２は、要するに、以下の特長を有している。
【００２０】
即ち、RAIDコントローラ２（記憶制御装置）は、複数のSSD制御ユニット４（記憶媒体制御ユニット）と、論理ドライブ制御部５（ユニット統括部）と、を備えている。SSD制御ユニット４は、サイズ記憶部６（データブロックサイズ記憶部）とデバイスアクセス処理部７（入出力実行部）、最適アクセス方法評価部８（データブロックサイズ設定部）を有している。最適アクセス方法評価部８は、異なる複数のデータブロックサイズにてSSD３に対して入出力を実行すると共にその際のデータ転送速度を計測し、その計測結果に基づいてサイズ記憶部６のデータブロックサイズを設定する。以上の構成によれば、複数のSSD３に対するデータ転送速度を最適化することができる。特に、複数のSSD３が相互に種類が異なる場合、上記の構成は特に有益である。というのは、SSD３は、種類（製造メーカーや型番等）の違いにより、最高のデータ転送速度を発揮できるデータブロックサイズが僅かながらも異なるからである。
【００２１】
以上に本願発明の第１実施形態を説明したが、上記第１実施形態の技術は、SSD３に代えてHDD（Hard Disk Drive）を採用した場合であっても、同様の技術的意義を奏するものと考えられる。
【００２２】
（第２実施形態：図２〜６）
次に、図２〜６を参照しつつ、本願発明の第２実施形態を説明する。ここでは、本実施形態が上記第１実施形態と異なる点を中心に説明し、重複する説明は適宜省略する。また、上記第１実施形態の各構成要素に対応する構成要素には原則として同一の符号を付すこととする。
【００２３】
図２に示すように、RAID装置１は、対向サーバ９に接続して用いられる。対向サーバ９は、CPUやRAM、ROM等から構成されるパーソナルコンピュータ又はサーバである。
【００２４】
図３に示すように、最適アクセス方法評価部８は、データテーブル１０と入出力部１１、計測部１２、選択部１３によって構成されている。
【００２５】
データテーブル１０は、異なる複数のデータブロックサイズとデータ転送速度を関連付けて記憶する記憶手段である。データテーブル１０の記憶内容を図４に例示する。図４に示すように、データテーブル１０には、1.0kb〜4.8kbの範囲で0.2kbずつインクリメントされた異なる複数のデータブロックサイズが記憶されている。データテーブル１０には、各データブロックサイズに対して、データ転送速度の初期値（即ち、ゼロ）が関連付けられて記憶されている。なお、「データ転送速度」とは、「書き込み時のデータ転送速度」と「読み込み時のデータ転送速度」の総括名称である。以下、説明の便宜上、「データ転送速度」とは、「書き込み時のデータ転送速度」を意味するものとする。
【００２６】
入出力部１１は、データテーブル１０に記憶されている異なる複数のデータブロックサイズを逐次読み込み、読み込んだデータブロックサイズにて、SSD３に対して入出力を実行する。例えば、入出力部１１は、図４のデータテーブル１０の５番目のデータブロックサイズ（1.8kb）を読み込み、所定のサイズのデータ（例えば、15MB）をそのデータブロックサイズにてSSD３に書き込む。
【００２７】
計測部１２は、入出力部１１による入出力の際のデータ転送速度を計測し、計測したデータ転送速度を図４のデータテーブル１０に記憶する。このとき、計測部１２は、計測したデータ転送速度をそのときのデータブロックサイズと関連付けてデータテーブル１０に格納する。図６に、計測部１２による計測が一通り完了したときのデータテーブル１０の記録内容を例示する。
【００２８】
選択部１３は、データテーブル１０から、最も高いデータ転送速度を発揮したデータブロックサイズを選択し、選択したそのデータブロックサイズをサイズ記憶部６に出力する。図６の例では、データブロックサイズが2.2kbのとき、最も高いデータ転送速度（613Mbps）を発揮できているので、選択部１３は、このデータブロックサイズ（2.2kb）を選択し、サイズ記憶部６に出力する。
【００２９】
（作動）
次に、図５のフローを参照しつつ、RAID装置１の作動を説明する。先ず、図２に示すようにRAID装置１に複数のSSD３を搭載する（S300）。各SSD３は、RAIDコントローラ２の各SSD制御ユニット４に対して接続する。すると、各SSD制御ユニット４の最適アクセス方法評価部８は、個別に、最適アクセス評価を開始する（S310〜S380）。
【００３０】
先ず、入出力部１１は、図４のデータテーブル１０の１番目の行のデータブロックサイズを読み込む（S310）。そして、入出力部１１は、そのデータブロックサイズにて、SSD３に対して入出力を実行する（S320）。
【００３１】
計測部１２は、入出力部１１による入出力のデータ転送速度を計測する（S330）。そして、計測部１２は、計測したデータ転送速度（ここでは、520kbps）を図６に示すようにデータテーブル１０の１番目の行に格納する（S340）。
【００３２】
そして、入出力部１１は、前回データテーブル１０から読み込んだデータブロックサイズがデータテーブル１０のテーブル末尾のデータであったか否かを判定し（S350）、テーブル末尾であった場合（S350:YES）はS360へ処理を進める。一方、前回データテーブル１０から読み込んだデータブロックサイズがデータテーブル１０のテーブル末尾のデータでなかった場合（S350:NO）、データテーブル１０の次の行のデータブロックサイズを読み込み（S370）、処理をS320へと戻す。
【００３３】
S310〜S370の処理により図６に示すようなデータテーブル１０が完成したら、計測部１２は、データテーブル１０に記憶されているデータ転送速度のうち最も高いデータ転送速度を発揮したデータブロックサイズを選択し、選択したデータブロックサイズをサイズ記憶部６に出力する（S360）。
【００３４】
以上により、最適アクセス方法評価部８による最適アクセス方法評価は完了する（S380）。
【００３５】
以降は、図２に示すように、対向サーバ９からのアクセス要求に対し論理ドライブ制御部５は、所定のRAIDレベルに応じた処理（ストライピング処理や冗長処理）を行う。各SSD制御ユニット４において、デバイスアクセス処理部７は、最適アクセス方法評価部８によって設定されたデータブロックサイズをサイズ記憶部６から読み込み、そのデータブロックサイズにてSSD３にアクセスすることになる。
【符号の説明】
【００３６】
１  RAID装置
２  RAIDコントローラ
３  SSD
４  SSD制御ユニット
５  論理ドライブ制御部
６  サイズ記憶部
７  デバイスアクセス処理部
８  最適アクセス方法評価部
【図１】
2012252485.tif 000003
【図２】
2012252485.tif 000004
【図３】
2012252485.tif 000005
【図４】
2012252485.tif 000006
【図５】
2012252485.tif 000007
【図６】
2012252485.tif 000008