(57)【要約】【課題】  事前のデータ転送速度特性の調査の必要なくデータ転送速度を最適に制御できる情報記憶装置を提供する。【解決手段】  ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）  ０を構成する複数のディスク装置と、ディスク装置のスピンドルモータの回転数と単位ストリップサイズに基づいて決定されたストリップサイズで転送データを分割し、各々のディスク装置に出力するＲＡＩＤ制御部とを含む情報記憶装置。【選択図】      図１
2015179343.tif 000002
【特許請求の範囲】
【請求項１】
ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）  ０を構成する複数のディスク装置と、
前記ディスク装置のスピンドルモータの回転数と単位ストリップサイズに基づいて決定されたストリップサイズで転送データを分割し、各々の前記ディスク装置に出力するＲＡＩＤ制御部と
を含む情報記憶装置。
【請求項２】
前記ＲＡＩＤ制御部が、前記複数のディスク装置の中で、最もスピンドルモータの回転数の小さいディスク装置のストリップサイズを単位ストリップサイズとし、その他のディスク装置のストリップサイズを、各々の前記ディスク装置のスピンドルモータの回転数と最もスピンドルモータの回転数の小さい前記ディスク装置の回転数との比を単位ストリップサイズに掛け合わせることにより算出する請求項１記載の情報記憶装置。
【請求項３】
ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）  ０を構成する複数のディスク装置のそれぞれのスピンドルモータの回転数と単位ストリップサイズに基づいて決定されたストリップサイズで転送データを分割し、各々の前記ディスク装置に出力する情報記憶方法。
【請求項４】
ＲＡＩＤ制御部が、
前記複数のディスク装置のスピンドルモータの回転数の情報と単位ストリップサイズの情報を取得し、
前記複数のディスク装置の中で最もスピンドルモータの回転数の小さいディスク装置のストリップサイズを単位ストリップサイズとし、
他のディスク装置のストリップサイズを、各々の前記ディスク装置のスピンドルモータの回転数と最もスピンドルモータの回転数の小さい前記ディスク装置の回転数の比を単位ストリップサイズに掛け合わせることにより算出する
請求項３記載の情報記憶方法。
【請求項５】
ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）  ０を構成する複数のディスク装置のそれぞれのスピンドルモータの回転数と単位ストリップサイズに基づいて決定されたストリップサイズで転送データを分割し、各々の前記ディスク装置に出力する処理をコンピュータに実行させるプログラム。
【請求項６】
前記複数のディスク装置のスピンドルモータの回転数の情報と単位ストリップサイズの情報を読み込み、
前記複数のディスク装置の中で最もスピンドルモータの回転数の小さいディスク装置のストリップサイズを単位ストリップサイズとし、
他のディスク装置のストリップサイズを、各々の前記ディスク装置のスピンドルモータの回転数と最もスピンドルモータの回転数の小さい前記ディスク装置の回転数の比を単位ストリップサイズに掛け合わせることにより算出する処理
を前記コンピュータに実行させる請求項５記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報記憶装置、情報記憶方法、及びそのためのプログラムに関する。
【背景技術】
【０００２】
情報記憶装置において、データ転送速度を最適に制御する装置が知られている。この情報記憶装置は、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）  ０（ストライピング）におけるストリップサイズを最適に制御する。
【０００３】
情報記憶装置の一例が特許文献１に記載されている。特許文献１に記載された情報記憶装置は、異なる複数のデータブロックサイズ（ストリップサイズ）でＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）に対して入出力を実行し、その際のデータ転送速度の計測結果に基づいてデータブロックサイズを設定する。
【０００４】
また、特許文献２に記載された情報記憶装置は、複数のストレージ装置のそれぞれの容量に応じて、ストライプデータのサイズを決定し、各ストレージ装置には同一サイズのストライプデータを格納するように制御する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−２５２４８５号公報
【特許文献２】特開２０１０−２８２２８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した特許文献１に記載されたデータブロックサイズの決定方法は、ＳＳＤ固有のデータ転送速度特性を調査し決定する。したがって、特許文献１に記載された技術は、調査完了するまではデータ転送速度を最適に制御できないという問題点がある。
【０００７】
また、特許文献２に記載された技術は、各ストライプのサイズは各ストレージ装置の容量によって決定される。したがって、各ストレージ装置で転送速度に差がある場合は、データ転送速度を最適に制御できないという問題点がある。
【０００８】
本発明の目的の一例は、上述した問題点を解決できる情報記憶装置、情報記憶方法およびプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明の一形態における情報記憶装置は、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）  ０を構成する複数のディスク装置と、前記ディスク装置のスピンドルモータの回転数と単位ストリップサイズに基づいて決定されたストリップサイズで転送データを分割し、各々の前記ディスク装置に出力するＲＡＩＤ制御部とを備える。
【００１０】
本発明の一形態における情報記憶方法は、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）  ０を構成する複数のディスク装置のそれぞれのスピンドルモータの回転数と単位ストリップサイズに基づいて決定されたストリップサイズで転送データを分割し、各々の前記ディスク装置に出力する。
【００１１】
本発明の一形態におけるプログラムは、コンピュータに、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）  ０を構成する複数のディスク装置のそれぞれのスピンドルモータの回転数と単位ストリップサイズに基づいて決定されたストリップサイズで転送データを分割し、各々の前記ディスク装置に出力する処理を実行させる。
【発明の効果】
【００１２】
本発明によれば、事前にデータ転送速度特性を調査せずにデータ転送速度を最適に制御できるという効果が得られる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明の第１の実施形態における情報記憶装置１０００の構成を示すブロック図である。
【図２】図２は、第１の実施の形態における情報記憶装置１０００をコンピュータ装置とその周辺装置で実現したハードウェア構成を示す図である。
【図３】図３は、第１の実施の形態における情報記憶装置１０００でのデータ記憶の動作の概要を示すフローチャートである。
【発明を実施するための形態】
【００１４】
次に、本発明の実施形態について図面を参照して詳細に説明する。
【００１５】
［第１の実施の形態］
図１は、本発明の第１の実施の形態における情報記憶装置１０００の構成を示すブロック図である。図１を参照すると、情報記憶装置１０００は、ＲＡＩＤ制御部１００と第１のディスク装置１１０と第２のディスク装置１２０と第３のディスク装置１３０と第４のディスク装置１４０と、を備える。
【００１６】
次に、第１の実施の形態における情報記憶装置１０００の構成について説明する。
【００１７】
ＲＡＩＤ制御部１００は、少なくとも接続する全てのディスク装置のスピンドルモータの回転数の情報と単位ストリップサイズの情報を取得する。次にＲＡＩＤ制御部１００は、情報記憶装置１０００と接続された図示しない情報処理装置から受信したデータを、各々のディスク装置のスピンドルモータの回転数と単位ストリップサイズに基づいて決定されたストリップサイズで分割し、分割されたデータを各々のディスク装置に送信する。ここで、単位ストリップサイズとは、ストリップサイズ決定の基準であり、言い換えると最もスピンドルモータの回転数の小さいディスク装置に適用されるストリップサイズである。また、スピンドルモータの回転数の情報はあらかじめ作業者によって入力され図示しない記憶部に記憶する方法でも、接続されたディスク装置から情報を自動的に検知し記憶する方法でもよい。単位ストリップサイズの情報はあらかじめ作業者によって入力され記憶される。
【００１８】
第１のディスク装置１１０、第２のディスク装置１２０、第３のディスク装置１３０、第４のディスク装置１４０は、ＲＡＩＤ制御部１００から受信したストリップサイズのデータを記憶する。図１では４台のディスク装置を用いてＲＡＩＤ  ０構成の情報記憶装置を構成しているが、複数台数であればディスク装置は何台で構成されていてもよい。
【００１９】
図２は、本発明の第１の実施の形態における情報記憶装置１０００をコンピュータおよびその周辺装置で実現したハードウェア構成を示す図である。図２に示されるように、情報記憶装置１０００は、それぞれ通信インタフェース１０、ＣＰＵ１１、主記憶装置１４、二次記憶装置１５、およびＲＯＭ１６を含む。ただし、情報記憶装置１０００の各部のハードウェア構成は、同一ではなく、異なる情報を記憶、異なるプログラムに基づいて制御できる構成であるものとする。
【００２０】
通信インタフェース１０は、周辺端末との通信のための入出力インタフェースを構成する。また通信インタフェース１０は、情報記憶装置１０００に接続する図示しないネットワークとの接続制御のためのインタフェースも含む。
【００２１】
ＣＰＵ１１は、オペレーティングシステムを動作させて本発明の第１の実施の形態に係る情報記憶装置１０００の全体を制御する。また、ＣＰＵ１１は、例えば二次記憶装置１５から主記憶装置１４にプログラムまたはデータを読み出す。具体的には、情報記憶装置１０００のＣＰＵ１１は、第１の実施の形態におけるＲＡＩＤ制御部１００の主制御部として、プログラム制御に基づいて各種の処理を実行する。
【００２２】
主記憶装置１４は、ＣＰＵ１１の制御に基づく作業用メモリである。
【００２３】
二次記憶装置１５は、例えば光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク、または半導体メモリ等である。ＲＯＭ１６は、コンピュータプログラムをコンピュータ読み取り可能に記録する。二次記憶装置１５は、ＲＯＭ１６に記憶されたコンピュータプログラムを一時的に記憶してもよい。また、コンピュータプログラムは、通信網に接続されている図示しない外部コンピュータまたはデータベースから二次記憶装置１５にダウンロードされてもよい。第１の実施の形態において、二次記憶装置１５は、第１のディスク装置１１０と第２のディスク装置１２０と第３のディスク装置１３０と第４のディスク装置１４０として機能する。
【００２４】
なお、第１の実施の形態の説明において利用されるブロック図（図１）には、機能単位のブロックが示されている。これらの機能ブロックは図２に示されるハードウェア構成によって実現される。ただし、情報記憶装置１０００が備える各部の実現手段は特に限定されない。すなわち、情報記憶装置１０００は、物理的に結合した１つの装置により実現されてもよいし、物理的に分離した２つ以上の装置を有線または無線で接続し、これら複数の装置により実現されてもよい。
【００２５】
また、ＣＰＵ１１は、ＲＯＭ１６または二次記憶装置１５に記録されているコンピュータプログラムを読み込み、そのプログラムにしたがって、ＲＡＩＤ制御部１００として動作してもよい。
【００２６】
また、前述のプログラムのコードを記録した記録媒体（または記憶媒体）が、情報記憶装置１０００の二次記憶装置１５に供給され、情報記憶装置１０００が記録媒体に格納されたプログラムのコードを読み出し実行してもよい。
【００２７】
以上のように構成された情報記憶装置１０００の動作について、図３のフローチャートを参照して説明する。
【００２８】
図３は、第１の実施の形態における情報記憶装置１０００でのデータ記憶の動作の概要を示すフローチャートである。尚、このフローチャートによる処理は、前述したＣＰＵによるプログラム制御に基づいて、実行されても良い。
【００２９】
図３に示すように、まず、ＲＡＩＤ制御部１００は、図示しない記憶部から接続する全てのディスク装置のスピンドルモータの回転数の情報と単位ストリップサイズの情報を読み込む（ステップＳ１０１）。なお、ここでは単位ストリップサイズをＳとする。また、ｉ（ｉ＝１、２、３、４）番目のディスク装置のストリップサイズをＳｉ、ｉ番目のディスク装置のスピンドルモータの回転数をｒｉとする。
【００３０】
次に、ＲＡＩＤ制御部１００は、接続する全てのディスク装置の中で最もスピンドルモータの回転数が小さいディスク装置（たとえば、ディスク装置１１０）のストリップサイズを単位ストリップサイズのＳに設定する（ステップＳ１０２）。なお、このディスク装置のスピンドルモータの回転数はｒとする。
【００３１】
次に、ＲＡＩＤ制御部１００は、他のディスク装置（たとえば、ディスク装置１２０、１３０、１４０）のストリップサイズを、各々のディスク装置のスピンドルモータの回転数ｒｉと最もスピンドルモータの回転数の小さいディスク装置の回転数ｒとの比を単位ストリップサイズＳに掛け合わせることにより算出する（ステップＳ１０３）。具体的には以下の式（１）によってｉ番目のディスク装置のストリップサイズＳｉを求める。
【００３２】
Ｓｉ＝Ｓ×（ｒｉ／ｒ）  ・・・（１）
ここで、ディスク装置のスピンドルモータの回転数とデータ転送速度は、一般に比例する。このため、各々のディスク装置のスピンドルモータの回転数と最もスピンドルモータの回転数の小さいディスク装置の回転数の比は、各々のディスク装置のデータ転送速度と最もデータ転送速度の遅いディスク装置のデータ転送速度との比に等しい。すなわち、上式によって求められる各々のディスク装置のストリップサイズは、各々のディスク装置の単位時間当たりのデータ転送量に等しい。
【００３３】
次に、ＲＡＩＤ制御部１００は、各々のディスク装置に、ステップＳ１０３で求めた各々のストリップサイズに基づいてデータを分割して記憶する（ステップＳ１０４）。
【００３４】
以上で、情報記憶装置１０００は、データ記憶の動作を終了する。
【００３５】
ここで、具体的に図１の情報記憶装置１０００において、ＲＡＩＤ制御部１００が各々のディスク装置のスピンドルモータの回転数に基づいてストリップサイズを決定する処理を説明する。なお、第１のディスク装置１１０と第２のディスク装置１２０のスピンドルモータの回転数を１０ｋｒｐｍ（ｋｉｌｏ  ｒｅｖｏｌｕｔｉｏｎ  ｐｅｒ  ｍｉｎｕｔｅ）、第３のディスク装置１３０と第４のディスク装置１４０のスピンドルモータの回転数を１５ｋｒｐｍとする。
【００３６】
ここで、ステップＳ１０３で説明した通り、スピンドルモータの回転数が１５ｋｒｐｍの第３のディスク装置１３０と第４のディスク装置１４０のデータ転送速度は、１０ｋｒｐｍの第１のディスク装置１１０と第２のディスク装置１２０のディスク装置のデータ転送速度の１．５倍となる。従って、第３のディスク装置１３０と第４のディスク装置１４０の単位時間当たりのデータ転送量は、第１のディスク装置１１０と第２のディスク装置１２０の単位時間当たりのデータ転送量の１．５倍となる。
【００３７】
このことを利用し、ＲＡＩＤ制御部１００は、第３のディスク装置１３０と第４のディスク装置１４０のストリップサイズを、第１のディスク装置１１０と第２のディスク装置１２０のストリップサイズの１．５倍となるよう設定する。ここでスピンドルモータの回転数が最も小さい第１のディスク装置１１０と第２のディスク装置１２０のそれぞれのストリップサイズを単位ストリップサイズＳとすると、第３のディスク装置１３０と第４のディスク装置１４０のそれぞれのストリップサイズは１．５Ｓとして設定される。これによって、１つのストライプ（全てのディスク装置に１ストリップ分データ転送すること）のデータ転送速度は、単位時間当たりＳ＋Ｓ＋１．５Ｓ＋１．５Ｓ＝５Ｓとなる。
【００３８】
一般にはＲＡＩＤ  ０の構成の情報記憶装置において、各ディスク装置のストリップサイズのデータサイズは統一する。しかし、ＲＡＩＤ  ０の構成に一つでも他のディスク装置に比べデータ転送速度の遅いディスク装置がある場合、情報記憶装置としてのデータ転送速度は、データ転送速度の遅いディスク装置、すなわち図１の情報記憶装置１０００においては第１のディスク装置１１０および第２のディスク装置１２０と同じ速度となる。このため、一般には図１の情報記憶装置１０００においては全てのディスク装置のストリップサイズがＳとなり、１つのストライプのデータ転送速度は、単位時間当たりＳ＋Ｓ＋Ｓ＋Ｓ＝４Ｓとなる。
【００３９】
次に、本発明の第１の実施の形態の効果について説明する。
【００４０】
上述した本実施形態における情報記憶装置１０００は、事前にデータ転送速度特性を調査せずにデータ転送速度を最適に制御できる。
【００４１】
その理由は、以下のような構成を含むからである。即ち、第１にＲＡＩＤ制御部１００は、接続する全てのディスク装置のスピンドルモータの回転数の情報と単位ストリップサイズの情報を受け取る。第２に、ＲＡＩＤ制御部１００は、全てのディスク装置のストリップサイズを、各々のディスク装置のスピンドルモータの回転数と最もスピンドルモータの回転数の小さいディスク装置の回転数の比を単位ストリップサイズに掛け合わせることにより算出する。これにより、ＲＡＩＤ制御部１００は、一意的に最適なストリップサイズを制御できるので、情報記憶装置１０００は、事前のデータ転送速度特性の調査の必要なくデータ転送速度を最適に制御できるという効果が得られる。
【００４２】
以上、各実施の形態を参照して本発明を説明したが、本発明は上記実施の形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しえる様々な変更をすることができる。
【符号の説明】
【００４３】
１０    通信インタフェース
１１    ＣＰＵ
１４    主記憶装置
１５    二次記憶装置
１６    ＲＯＭ
１００    ＲＡＩＤ制御部
１１０、１２０、１３０、１４０    ディスク装置
１０００    情報記憶装置
【図１】
2015179343.tif 000003
【図２】
2015179343.tif 000004
【図３】
2015179343.tif 000005