(57)【要約】【課題】回路規模の増大を抑制しつつ、ネットワーク内に転送レートが異なるストレージを混在させること。【解決手段】制御部２２０は、入出力部２１０に受信されたデータやＨＤ装置４００−１〜４００−３から出力されたデータが適切な転送先へ転送されるように制御する。レート設定検出部５１０は、ＨＤ装置４００−２、４００−３が増設される際に、それぞれのＨＤ装置４００−２、４００−３の転送レートを検出する。レート変換部５２０は、ＨＤ装置４００−２、４００−３の転送レートが固定レート未満である場合、ＨＤ装置４００−２、４００−３から読み出されるデータ、およびＨＤ装置４００−２、４００−３へ書き込まれるデータを一時的に蓄積し、ＰＢＣ３００における見かけ上の転送レートを固定レートに等しくなるように変換する。【選択図】        図２
2008084206.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する複数のストレージにおけるデータの読み書きに際してデータを転送するストレージ装置であって、
前記複数のストレージに読み書きされるデータの転送先を制御する制御手段と、
前記制御手段による制御に従ってデータを転送先のストレージへ固定レートで転送する転送手段と、
前記転送手段によってデータが転送される転送先のストレージの転送レートを検出する検出手段と、
前記検出手段によって検出された転送レートと前記転送手段がデータを転送する固定レートとを読み書きされるデータを蓄積することにより相互に変換する変換手段と
を有することを特徴とするストレージ装置。
【請求項２】
前記制御手段は、
前記変換手段に蓄積されたデータが所定量に達した場合に、転送レートが固定レート未満のストレージに書き込むべきデータを転送レートが固定レートに等しいストレージへ退避させることを特徴とする請求項１記載のストレージ装置。
【請求項３】
前記転送手段は、
前記複数のストレージの転送レートのうち最大のレートを固定レートとして適用することを特徴とする請求項１記載のストレージ装置。
【請求項４】
データを記憶する複数のストレージにおけるデータの読み出しに際してデータを転送するデータ転送方法であって、
データの読み出し対象のストレージの転送レートを検出する検出工程と、
前記検出工程にて検出された転送レートで前記ストレージからデータを読み出す読出工程と、
前記読出工程にて読み出されたデータを蓄積することにより転送レートをデータの転送に用いられる固定レートに変換する変換工程と、
前記変換工程にて変換された固定レートを適用してストレージから読み出されたデータを転送する転送工程と
を有することを特徴とするデータ転送方法。
【請求項５】
データを記憶する複数のストレージにおけるデータの書き込みに際してデータを転送するデータ転送方法であって、
データの書き込み対象のストレージの転送レートを検出する検出工程と、
前記検出工程にて転送レートが検出されたストレージに対するデータを固定レートで転送する転送工程と、
前記転送工程において固定レートで転送されるデータを蓄積しつつ、蓄積されたデータを前記検出工程にて検出された転送レートで書き込み対象のストレージに書き込む書込工程と
を有することを特徴とするデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを記憶する複数のストレージにおけるデータの読み書きを管理するストレージ装置およびデータ転送方法に関し、特に、回路規模の増大を抑制しつつ、ネットワーク内に転送レートが異なるストレージを混在させることができるストレージ装置およびデータ転送方法に関する。
【背景技術】
【０００２】
近年、コンピュータや通信に関する情報技術の発展は目覚しく、取り扱われるデータの量も膨大となっている。そして、この膨大なデータを記憶するために、複数のハードディスク装置や磁気テープ装置などのストレージを接続することが行われている。また、これらのストレージとサーバなどを接続して、ＳＡＮ（Storage Area Network）と呼ばれるシステムが構築され、膨大なデータの保存・管理が効率的に行われるようになっている。
【０００３】
ＳＡＮにおいては、ファイバーチャネル（Fibre Channel）などのプロトコルにより、ギガビットオーダーの転送レートでデータが転送される。また、ネットワークのトポロジーとしては、例えばＦＣ−ＡＬ（Fibre Channel-Arbitrated Loop）のように各ストレージがループ状に接続されるものなどがある。このようなループにおいては、各ストレージの転送レートを一致させる必要があり、例えば転送レートが４Ｇｂｐｓ（Giga bit per second）のハードディスク装置から成っているループに転送レートが２Ｇｂｐｓのハードディスク装置をそのまま増設することはできない。
【０００４】
したがって、転送レートが４Ｇｂｐｓのハードディスク装置から構成されるループには、転送レートが４Ｇｂｐｓのハードディスク装置のみを増設するか、転送レートが４Ｇｂｐｓのハードディスク装置の転送レートを２Ｇｂｐｓに低下させる設定をしたうえで転送レートが２Ｇｂｐｓのハードディスクを増設することが考えられる。しかし、前者の場合は、増設するハードディスク装置が転送レートによって限定されて選択の自由度が小さくなり、後者の場合は、各ハードディスク装置の転送レートを低下させることによりスループットの低下を招いてしまう。
【０００５】
そこで、例えば特許文献１には、ループ内を通過する信号を所定の回路によって整形し、通信路内の信号の周波数を一致させることにより、転送レートが異なる複数のストレージを同一ループに混在させることが記載されている。
【０００６】
【特許文献１】特開２００４−３４８４６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、ループ内の信号を整形するには、信号の位相を比較するなどの様々な処理が必要となり、これに伴って、回路規模が増大するという問題がある。すなわち、転送レートが異なるストレージは、転送レートの相違によって送受信する信号の周波数が異なっているが、この周波数を一致させるためには、それぞれのストレージが送受信する信号の位相差を求め、これを０に近づける必要がある。このため、信号の整形には、位相比較回路や発振回路など多くの回路が必要となり、回路規模が増大する。
【０００８】
また、信号の整形には処理時間を要するため、ループ内に転送レートが異なるストレージを増設した場合、実際にループ全体の運用が可能となるまでにはタイムラグがある。
【０００９】
本発明はかかる点に鑑みてなされたものであり、回路規模の増大を抑制しつつ、ネットワーク内に転送レートが異なるストレージを混在させることができるストレージ装置およびデータ転送方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明は、データを記憶する複数のストレージにおけるデータの読み書きに際してデータを転送するストレージ装置であって、前記複数のストレージに読み書きされるデータの転送先を制御する制御手段と、前記制御手段による制御に従ってデータを転送先のストレージへ固定レートで転送する転送手段と、前記転送手段によってデータが転送される転送先のストレージの転送レートを検出する検出手段と、前記検出手段によって検出された転送レートと前記転送手段がデータを転送する固定レートとを読み書きされるデータを蓄積することにより相互に変換する変換手段とを有することを特徴とする。
【００１１】
また、本発明は、上記発明において、前記検出手段は、ストレージに設けられたハードピンの状態によってこのストレージの転送レートを検出することを特徴とする。
【００１２】
また、本発明は、上記発明において、前記検出手段は、ストレージの内部情報を読み取ってこのストレージの転送レートを検出することを特徴とする。
【００１３】
また、本発明は、上記発明において、前記変換手段は、前記検出手段によって検出された転送レートでストレージから読み出されたデータを蓄積し、前記転送手段がデータを転送する固定レートに対応するデータ量が蓄積されると、蓄積されたデータを一度に出力することを特徴とする。
【００１４】
また、本発明は、上記発明において、前記変換手段は、前記転送手段によって固定レートで入力されるデータを蓄積し、蓄積されたデータを前記検出手段によって検出された転送レートで順次ストレージに書き込むことを特徴とする。
【００１５】
また、本発明は、上記発明において、前記制御手段は、前記変換手段に蓄積されたデータが所定量に達した場合に、転送レートが固定レート未満のストレージに書き込むべきデータを転送レートが固定レートに等しいストレージへ退避させることを特徴とする。
【００１６】
また、本発明は、上記発明において、退避先のストレージと正規の書き込み先のストレージとの組み合わせを記憶する記憶手段をさらに有し、前記制御手段は、正規の書き込み先のストレージに対する書き込みの処理負荷が所定値未満になると、前記記憶手段からストレージの組み合わせを読み出し、退避先のストレージに退避されたデータを正規の書き込み先のストレージへ転送させることを特徴とする。
【００１７】
また、本発明は、上記発明において、前記転送手段は、前記複数のストレージの転送レートのうち最大のレートを固定レートとして適用することを特徴とする。
【００１８】
また、本発明は、データを記憶する複数のストレージにおけるデータの読み出しに際してデータを転送するデータ転送方法であって、データの読み出し対象のストレージの転送レートを検出する検出工程と、前記検出工程にて検出された転送レートで前記ストレージからデータを読み出す読出工程と、前記読出工程にて読み出されたデータを蓄積することにより転送レートをデータの転送に用いられる固定レートに変換する変換工程と、前記変換工程にて変換された固定レートを適用してストレージから読み出されたデータを転送する転送工程とを有することを特徴とする。
【００１９】
また、本発明は、データを記憶する複数のストレージにおけるデータの書き込みに際してデータを転送するデータ転送方法であって、データの書き込み対象のストレージの転送レートを検出する検出工程と、前記検出工程にて転送レートが検出されたストレージに対するデータを固定レートで転送する転送工程と、前記転送工程において固定レートで転送されるデータを蓄積しつつ、蓄積されたデータを前記検出工程にて検出された転送レートで書き込み対象のストレージに書き込む書込工程とを有することを特徴とする。
【発明の効果】
【００２０】
本発明によれば、複数のストレージに読み書きされるデータの転送先を制御し、制御に従ってデータを転送先のストレージへ固定レートで転送し、データが転送される転送先のストレージの転送レートを検出し、検出された転送レートとデータを転送する固定レートとを読み書きされるデータを蓄積することにより相互に変換する。このため、データを蓄積するのみの比較的容易な回路構成で、各ストレージの転送レートの違いを無視した読み書きの制御が可能となる。結果として、回路規模の増大を抑制しつつ、ネットワーク内に転送レートが異なるストレージを混在させることができる。
【００２１】
また、本発明によれば、ストレージに設けられたハードピンの状態によってこのストレージの転送レートを検出するため、ハードディスク装置に一般的に設けられたハードピンを転送レートの検出に使用することができ、従来のハードディスク装置を改変する必要がない。
【００２２】
また、本発明によれば、ストレージの内部情報を読み取ってこのストレージの転送レートを検出するため、ハードピンなどの物理的な構成がないハードディスク装置についても、例えば転送レートそのものや型番などの内部情報から転送レートを検出することができる。
【００２３】
また、本発明によれば、検出された転送レートでストレージから読み出されたデータを蓄積し、データを転送する固定レートに対応するデータ量が蓄積されると、蓄積されたデータを一度に出力する。このため、固定レートより小さい転送レートで読み出されたデータを、見かけ上固定レートに等しいレートで出力することができ、ストレージごとのデータの読み出し時の転送レートの違いを無視することができる。
【００２４】
また、本発明によれば、固定レートで入力されるデータを蓄積し、蓄積されたデータを検出された転送レートで順次ストレージに書き込むため、見かけ上固定レートで入力されたデータを、固定レートより小さい転送レートで書き込むことができ、ストレージごとのデータの書き込み時の転送レートの違いを無視することができる。
【００２５】
また、本発明によれば、蓄積されたデータが所定量に達した場合に、転送レートが固定レート未満のストレージに書き込むべきデータを転送レートが固定レートに等しいストレージへ退避させる。このため、蓄積されるデータが過大となって溢れることを防止することができる。
【００２６】
また、本発明によれば、退避先のストレージと正規の書き込み先のストレージとの組み合わせを記憶し、正規の書き込み先のストレージに対する書き込みの処理負荷が所定値未満になると、記憶されたストレージの組み合わせを読み出し、退避先のストレージに退避されたデータを正規の書き込み先のストレージへ転送させる。このため、蓄積されるデータが過大となって溢れることを防止するとともに、最終的には正しい書き込み先のストレージにデータを書き込むことができる。
【００２７】
また、本発明によれば、複数のストレージの転送レートのうち最大のレートを固定レートとして適用するため、すべてのストレージが最大限の転送レートでデータの読み書きを実行することになり、スループットを最大化することができる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００２９】
（実施の形態１）
図１は、本発明の実施の形態１に係るストレージ装置の全体構成を示す図である。同図に示すストレージ装置は、サーバ装置１００−１、１００−２に接続されており、コントロールマネージャ２００、ＰＢＣ（Port Bypass Circuit：ポートバイパス回路）３００−１、３００−２、およびハードディスク装置４００−１〜４００−Ｎ（Ｎは２以上の整数）を有している。なお、ストレージ装置に接続されるサーバ装置の数やコントロールマネージャ２００に接続されるＰＢＣの数は、２つに限定されず１つや３つ以上でも良い。また、図１では省略したが、ＰＢＣ３００−２にも１以上のハードディスク装置が接続されている。以下では、サーバ装置１００−１、１００−２を代表して「サーバ装置１００」といい、ＰＢＣ３００−１、３００−２を代表して「ＰＢＣ３００」という。
【００３０】
サーバ装置１００は、種々のプログラムを実行し、ハードディスク装置４００−１〜４００−Ｎからデータを読み出して加工したり、加工したデータをハードディスク装置４００−１〜４００−Ｎに書き込んだりする。
【００３１】
コントロールマネージャ２００は、サーバ装置１００とハードディスク装置４００−１〜４００−Ｎの間、またはハードディスク装置４００−１〜４００−Ｎそれぞれの間のデータの移動を管理する。具体的には、コントロールマネージャ２００は、プログラムの実行に伴ってサーバ装置１００が必要とするデータを記憶するハードディスク装置４００−１〜４００−Ｎにリードアクセスし、所望のデータを読み出してサーバ装置１００へ転送する。また、コントロールマネージャ２００は、サーバ装置１００からデータが転送されると、ハードディスク装置４００−１〜４００−Ｎへライトアクセスし、サーバ装置１００から転送されたデータを書き込む。さらに、コントロールマネージャ２００は、ハードディスク装置４００−１〜４００−Ｎそれぞれの間で、例えばバックアップコピーなどが行われる場合に、データの読み出しと書き込みを実行する。
【００３２】
ＰＢＣ３００は、コントロールマネージャ２００と複数のハードディスク装置４００−１〜４００−Ｎとの間のデータの受け渡しを中継する。すなわち、ＰＢＣ３００は、コントロールマネージャ２００の制御に従ったスイッチとして機能し、データが書き込まれたり読み出されたりするハードディスク装置４００−１〜４００−Ｎとコントロールマネージャ２００とを接続する。
【００３３】
なお、ＰＢＣ３００は、すべてのハードディスク装置４００−１〜４００−Ｎに対して同一の転送レートでのみデータのやり取りを行う。しかし、ハードディスク装置４００−１〜４００−Ｎのデータの転送レートは同一でないことがあるため、ＰＢＣ３００は、後から増設されるハードディスク装置４００−１〜４００−Ｎに関しては、転送レートを変換する変換チップを介してハードディスク装置４００−１〜４００−Ｎに接続する。変換チップによる転送レートの変換については、後に詳述する。
【００３４】
ハードディスク装置４００−１〜４００−Ｎは、それぞれ大容量の磁気ディスクであり、コントロールマネージャ２００およびＰＢＣ３００に接続されることにより、コントロールマネージャ２００およびＰＢＣ３００を介したループ状に接続されている。そして、ハードディスク装置４００−１〜４００−Ｎは、コントロールマネージャ２００からのリードアクセスおよびライトアクセスに応じてデータを出力したり記憶したりする。
【００３５】
図２は、本実施の形態に係るストレージ装置の要部構成を示すブロック図である。図２に示すストレージ装置は、大きく分けてコントロールマネージャ２００、ＰＢＣ３００、ハードディスク装置（以下「ＨＤ装置」と略記する）４００−１〜４００−３、および変換チップ５００を有している。ＨＤ装置４００−１、４００−２の転送レートは４Ｇｂｐｓである一方、ＨＤ装置４００−３の転送レートは２Ｇｂｐｓであるものとする。なお、図２に示した３つのＨＤ装置４００−１〜４００−３以外のＨＤ装置がＰＢＣ３００に接続されていても良い。
【００３６】
より詳細には、コントロールマネージャ２００は、入出力部２１０、制御部２２０、およびディスクインタフェース部（以下「ディスクＩ／Ｆ部」と略記する）２３０を有している。入出力部２１０は、サーバ装置１００との間でデータを授受する。すなわち、入出力部２１０は、サーバ装置１００からのデータを受信したり、サーバ装置１００へデータを出力したりする。
【００３７】
制御部２２０は、サーバ装置１００から入出力部２１０に受信されたデータやＨＤ装置４００−１〜４００−３から出力されたデータが適切な転送先へ転送されるように制御し、データを入出力部２１０またはディスクＩ／Ｆ部２３０へ出力する。すなわち、制御部２２０は、サーバ装置１００へ転送すべきデータを入出力部２１０へ出力し、ＨＤ装置４００−１〜４００−３へ転送すべきデータをディスクＩ／Ｆ部２３０へ出力する。
【００３８】
ディスクＩ／Ｆ部２３０は、ＰＢＣ３００を介してＨＤ装置４００−１〜４００−３と接続されるインタフェースであり、ＨＤ装置４００−１〜４００−３との間でデータを授受する。すなわち、ディスクＩ／Ｆ部２３０は、ＨＤ装置４００−１〜４００−３からのデータを受信したり、ＨＤ装置４００−１〜４００−３へデータを出力したりする。
【００３９】
また、ＰＢＣ３００は、スイッチ部３１０および接続部３２０、３３０−１、３３０−２を有している。スイッチ部３１０は、コントロールマネージャ２００から出力されるデータが制御部２２０の制御に従ったＨＤ装置４００−１〜４００−３へ転送されるように、データの転送先を切り替える。
【００４０】
接続部３２０は、ＨＤ装置４００−１と接続され、ＨＤ装置４００−１との間でデータを授受する。接続部３２０には、転送レートが４ＧｂｐｓのＨＤ装置４００−１が接続されることがあらかじめ決定されており、増設されるＨＤ装置が接続されることは無い。接続部３２０に接続されるＨＤ装置４００−１の転送レートは４Ｇｂｐｓとあらかじめ決定されているということは、このＰＢＣ３００は、すべてのＨＤ装置４００−１〜４００−３と固定の転送レート（以下「固定レート」という）４Ｇｂｐｓでデータをやり取りすることになる。
【００４１】
接続部３３０−１、３３０−２は、それぞれＨＤ装置４００−２、４００−３と接続され、データを授受する。接続部３３０−１、３３０−２には、ＨＤ装置が接続されるか否かはあらかじめ決定されておらず、増設されるＨＤ装置が接続されている。したがって、接続部３３０−１、３３０−２については、ＨＤ装置が増設されるまでは接続されるＨＤ装置の転送レートが不明である。ここでは、接続部３３０−１に転送レート４ＧｂｐｓのＨＤ装置４００−２が増設され、接続部３３０−２に転送レート２ＧｂｐｓのＨＤ装置４００−３が増設されている。そして、これらのＨＤ装置４００−２、４００−３は、転送レートを変換する変換チップ５００を介して接続部３３０−１、３３０−２に接続されている。
【００４２】
図２では、ＨＤ装置４００−１〜４００−３に対応して３つの接続部３２０、３３０−１、３３０−２のみを示したが、ＰＢＣ３００には４つ以上の接続部が備えられていても良い。この場合、あらかじめＨＤ装置が接続される接続部は、接続部３２０と同様の接続部であり、ＨＤ装置の増設用の接続部は、接続部３３０−１、３３０−２と同様の接続部である。
【００４３】
変換チップ５００は、レート設定検出部５１０およびレート変換部５２０を有している。レート設定検出部５１０は、ＨＤ装置４００−２、４００−３が増設される際に、それぞれのＨＤ装置４００−２、４００−３の転送レートがどのように設定されているかを検出し、検出された転送レートをレート変換部５２０へ通知する。
【００４４】
具体的には、ＨＤ装置に一般的に設けられているハードピンの状態によってＨＤ装置の転送レートを識別可能にしておき、レート設定検出部５１０は、変換チップ５００を介してＰＢＣ３００とＨＤ装置４００−２、４００−３とが接続されると、それぞれＨＤ装置４００−２、４００−３のハードピンの状態を検出して、ＨＤ装置４００−２の転送レートが４Ｇｂｐｓであり、ＨＤ装置４００−３の転送レートが２Ｇｂｐｓであることを検出する。
【００４５】
また、レート設定検出部５１０は、ハードピンの代わりにＨＤ装置の内部情報を読み取って転送レートを検出しても良い。すなわち、レート設定検出部５１０は、ＨＤ装置４００−２、４００−３の内部情報を読み取り、内部情報としてＨＤ装置４００−２、４００−３に保持されている転送レートを検出する。なお、ＨＤ装置４００−２、４００−３の転送レートが内部情報として保持されていない場合は、レート設定検出部５１０は、例えばＨＤ装置４００−２、４００−３の型番などの内部情報を読み取り、あらかじめ記憶している型番と転送レートの対応表から転送レートを把握する。
【００４６】
レート変換部５２０は、レート設定検出部５１０によって検出されたＨＤ装置４００−２、４００−３の転送レートが固定レートと異なる場合、ＨＤ装置４００−２、４００−３から読み出されるデータ、およびＨＤ装置４００−２、４００−３へ書き込まれるデータを一時的に蓄積し、ＰＢＣ３００における見かけ上の転送レートが固定レートに等しくなるように変換する。すなわち、ＨＤ装置４００−２の転送レートは４Ｇｂｐｓで固定レートに等しいため、ＨＤ装置４００−２に接続される変換チップ５００のレート変換部５２０は、データを一時的に蓄積することなく、ＨＤ装置４００−２とＰＢＣ３００の間でデータをそのまま通過させる。一方、ＨＤ装置４００−３の転送レートは２Ｇｂｐｓで固定レートの２分の１であるため、ＨＤ装置４００−３に接続される変換チップ５００のレート変換部５２０は、ＨＤ装置４００−３から２Ｇｂｐｓの転送レートで読み出されたデータを蓄積し、４Ｇｂｐｓの転送レートでＰＢＣ３００へ出力する。また、このレート変換部５２０は、ＰＢＣ３００から４Ｇｂｐｓの転送レートで出力されるデータを蓄積し、２Ｇｂｐｓの転送レートでＨＤ装置４００−３へデータを転送する。
【００４７】
つまり、例えばＨＤ装置４００−３に接続される変換チップ５００のレート変換部５２０は、ＨＤ装置４００−３から２秒間で２Ｇｂずつ読み出された合計４Ｇｂのデータを１秒間でＰＢＣ３００へ出力し、ＰＢＣ３００から１秒間で出力された４Ｇｂのデータを２秒間に分けて２ＧｂずつＨＤ装置４００−３へ出力する。これにより、ＰＢＣ３００においては、ＨＤ装置４００−１〜４００−３の転送レートの違いを無視することができ、すべてのＨＤ装置が固定レートでデータを転送するものとしてデータの移動を制御することができる。
【００４８】
次いで、上記のように構成されたストレージ装置におけるＨＤ装置へのリードアクセス時の動作について、図３に示すフロー図を参照しながら説明する。ここでは、ＨＤ装置が増設され、増設されたＨＤ装置からデータを読み出すリードアクセス時の動作について説明する。
【００４９】
まず、ＨＤ装置が増設され、ＰＢＣ３００に接続される（ステップＳ１０１）。このとき、ＨＤ装置は、増設用の接続部３３０−１または接続部３３０−２に変換チップ５００を介して接続されることになる。以下では、増設されたＨＤ装置が接続される接続部を単に「接続部３３０」という。
【００５０】
増設されるＨＤ装置が変換チップ５００を介して接続部３３０に接続されると、変換チップ５００のレート設定検出部５１０によって、ＨＤ装置の転送レートが検出される。具体的には、レート設定検出部５１０によって、ＨＤ装置のハードピンの状態が検出されたり、ＨＤ装置の内部情報が読み取られたりすることにより、ＨＤ装置の転送レートが検出される。検出された転送レートは、レート変換部５２０へ通知される。
【００５１】
そして、レート変換部５２０によって、転送レートが固定レートに等しいか否かが判定される（ステップＳ１０２）。すなわち、増設されたＨＤ装置の転送レートが、ＰＢＣ３００が運用される固定レートに等しいか、固定レートと異なるかが判定される。この結果、転送レートが固定レートに等しければ（ステップＳ１０２Ｙｅｓ）、ＨＤ装置からデータが読み出されると（ステップＳ１０３）、ＨＤ装置から固定レートで転送されるデータは、レート変換部５２０をそのまま通過してＰＢＣ３００へ出力され、ＰＢＣ３００からコントロールマネージャ２００へ出力され、制御部２２０の制御によりサーバ装置１００または他のＨＤ装置などへ転送される（ステップＳ１０４）。
【００５２】
一方、増設されたＨＤ装置の転送レートが固定レートと異なれば（ステップＳ１０２Ｎｏ）、ＨＤ装置からデータが読み出されると（ステップＳ１０５）、ＨＤ装置から固定レートと異なる転送レートで転送されるデータは、レート変換部５２０に蓄積される。そして、レート変換部５２０によって、データの蓄積量が固定レートに対応する分となっているか否かが監視される（ステップＳ１０６）。ここでは、増設されたＨＤ装置の転送レートが固定レートより小さく、まだ固定レート分のデータが蓄積されていないものとすると（ステップＳ１０６Ｎｏ）、引き続きＨＤ装置から転送されるデータがレート変換部５２０に蓄積される。
【００５３】
そして、レート変換部５２０に固定レート分のデータが蓄積されると（ステップＳ１０６Ｙｅｓ）、蓄積されたデータが一度にＰＢＣ３００へ出力され、ＰＢＣ３００からコントロールマネージャ２００へ出力され、制御部２２０の制御によりサーバ装置１００または他のＨＤ装置などへ転送される（ステップＳ１０７）。このとき、レート変換部５２０からＰＢＣ３００へは、データが出力される間隔が長くなるものの、見かけ上固定レートでデータが出力されるため、ＰＢＣ３００は、接続されるすべてのＨＤ装置の転送レートが固定レートに等しいものとしてデータを読み出すことができる。
【００５４】
このようなリードアクセスの具体例を模式的に示したのが図４である。すなわち、図４においては、転送レートが固定レートに等しい（４Ｇｂｐｓ）ＨＤ装置４００−２からのリードアクセスを上段に示し、転送レートが固定レートより小さい（２Ｇｂｐｓ）ＨＤ装置４００−３からのリードアクセスを下段に示している。図中、ＨＤ装置４００−２、４００−３から読み出されたデータを斜線で示している。
【００５５】
図４上段に示すように、ＨＤ装置４００−２から固定レートで読み出されたデータは、レート変換部５２０に蓄積されることなく、そのまま出力される。一方、図４下段に示すように、ＨＤ装置４００−３から固定レートより小さい転送レートで読み出されたデータは、レート変換部５２０に蓄積され、固定レートに対応する分だけ蓄積されてから出力される。ここでは、ＨＤ装置４００−３の転送レートが固定レートの半分であることから、単位時間当たりにＨＤ装置４００−３から読み出されるデータ量はＨＤ装置４００−２から読み出されるデータ量の半分であり、レート変換部５２０に２単位時間分のデータが蓄積されてから出力されることになる。
【００５６】
これにより、ＨＤ装置４００−３に接続される変換チップ５００のレート変換部５２０からデータが出力される間隔は、ＨＤ装置４００−２に接続される変換チップ５００のレート変換部５２０からデータが出力される間隔の２倍になるものの、双方のレート変換部５２０から一度に出力されるデータ量は同等になる。このため、転送レートが異なるＨＤ装置からのリードアクセス時に、転送レートの違いを無視して制御することが可能となる。換言すれば、ストレージ装置内に転送レートが異なるＨＤ装置を混在させることができる。
【００５７】
なお、上記の説明では、レート変換部５２０に固定レート分のデータが蓄積されるまでＰＢＣ３００へ出力されないものとしたが、ＨＤ装置から読み出されるデータが少量の場合には、ＨＤ装置から読み出された後にレート変換部５２０に所定時間蓄積されたデータは、順次固定レートでＰＢＣ３００へ出力されるようにしても良い。このとき、レート変換部５２０には、固定レート分未満のデータしか蓄積されていないが、情報を含まないアイドルデータによって不足分を補うことにより、レート変換部５２０からＰＢＣ３００へは固定レートでデータが出力されるようになる。
【００５８】
次に、本実施の形態に係るストレージ装置におけるＨＤ装置へのライトアクセス時の動作について、図５に示すフロー図を参照しながら説明する。ここでは、ＨＤ装置が増設され、増設されたＨＤ装置にデータを書き込むライトアクセス時の動作について説明する。
【００５９】
まず、ＨＤ装置が増設され、ＰＢＣ３００に接続される（ステップＳ２０１）。このとき、ＨＤ装置は、増設用の接続部３３０−１または接続部３３０−２に変換チップ５００を介して接続されることになる。以下では、増設されたＨＤ装置が接続される接続部を単に「接続部３３０」という。
【００６０】
増設されるＨＤ装置が変換チップ５００を介して接続部３３０に接続されると、変換チップ５００のレート設定検出部５１０によって、ＨＤ装置の転送レートが検出される。具体的には、レート設定検出部５１０によって、ＨＤ装置のハードピンの状態が検出されたり、ＨＤ装置の内部情報が読み取られたりすることにより、ＨＤ装置の転送レートが検出される。検出された転送レートは、レート変換部５２０へ通知される。
【００６１】
そして、レート変換部５２０によって、転送レートが固定レートに等しいか否かが判定される（ステップＳ２０２）。すなわち、増設されたＨＤ装置の転送レートが、ＰＢＣ３００が運用される固定レートに等しいか、固定レートと異なるかが判定される。この結果、転送レートが固定レートに等しければ（ステップＳ２０２Ｙｅｓ）、ＨＤ装置に書き込まれるデータがサーバ装置１００または他のＨＤ装置からコントロールマネージャ２００を経由してＰＢＣ３００へ転送され（ステップＳ２０３）、このデータは、変換チップ５００のレート変換部５２０をそのまま通過し、ＨＤ装置に書き込まれる（ステップＳ２０４）。
【００６２】
一方、増設されたＨＤ装置の転送レートが固定レートと異なれば（ステップＳ２０２Ｎｏ）、ＨＤ装置に書き込まれるデータがサーバ装置１００または他のＨＤ装置からコントロールマネージャ２００を経由してＰＢＣ３００へ転送され（ステップＳ２０５）、このデータは、変換チップ５００のレート変換部５２０に蓄積される（ステップＳ２０６）。そして、レート変換部５２０に蓄積されたデータは、固定レートより小さい転送レートで順次ＨＤ装置に書き込まれる（ステップＳ２０７）。このとき、ＰＢＣ３００からは固定レートでデータが出力されるため、ＰＢＣ３００は、接続されるすべてのＨＤ装置の転送レートが固定レートに等しいものとしてデータを書き込むことができる。
【００６３】
このようなライトアクセスの具体例を模式的に示したのが図６である。すなわち、図６においては、転送レートが固定レートに等しい（４Ｇｂｐｓ）ＨＤ装置４００−２へのライトアクセスを上段に示し、転送レートが固定レートより小さい（２Ｇｂｐｓ）ＨＤ装置４００−３へのライトアクセスを下段に示している。図中、ＨＤ装置４００−２、４００−３へ書き込まれるデータを斜線で示している。
【００６４】
図６上段に示すように、ＨＤ装置４００−２へ書き込まれるデータは、ＰＢＣ３００から固定レートで出力されると、レート変換部５２０に蓄積されることなく、そのまま固定レートでＨＤ装置４００−２へ転送される。一方、図６下段に示すように、ＨＤ装置４００−３へ書き込まれるデータは、ＰＢＣ３００から固定レートで出力されると、固定レートより小さい転送レートでＨＤ装置４００−３へ転送されるとともに、転送しきれないデータはレート変換部５２０に蓄積される。ここでは、ＨＤ装置４００−３の転送レートが固定レートの半分であることから、単位時間当たりにＨＤ装置４００−３へ書き込まれるデータ量はＨＤ装置４００−２に書き込まれるデータ量の半分であり、１単位時間でＰＢＣ３００から出力されるデータは、半分がレート変換部５２０に蓄積されることにより、２単位時間に分けてＨＤ装置４００−３へ転送されることになる。
【００６５】
これにより、ＨＤ装置４００−３に接続される変換チップ５００のレート変換部５２０にデータが一時的に蓄積されるものの、ＰＢＣ３００から出力されるデータ量は同等になる。このため、転送レートが異なるＨＤ装置へのライトアクセス時に、転送レートの違いを無視して制御することが可能となる。換言すれば、ストレージ装置内に転送レートが異なるＨＤ装置を混在させることができる。そして、転送レートが異なるＨＤ装置を混在させる場合、変換チップ５００によって転送レートが変換されているため、ＰＢＣ３００においてはＨＤ装置の転送レートの違いを意識する必要がなく、一旦電源を切ってＰＢＣ３００の固定レートを切り替えるなどの処理が必要ない。また、リードアクセス時もライトアクセス時も、データを一時的にバッファリングするのみの比較的容易な回路構成で見かけ上のレートを変換することができるため、回路規模の増大を最低限に抑制することができる。
【００６６】
以上のように、本実施の形態によれば、増設されるＨＤ装置の転送レートを検出し、検出された転送レートがＰＢＣが運用される固定レートと異なる場合は、増設されたＨＤ装置に読み書きされるデータを一時的に蓄積してから実際の転送の制御を行う。このため、データの転送制御時には、速度を固定レートに合わせることができ、ＨＤ装置の転送レートの違いを無視することができる。結果として、回路規模の増大を抑制しつつ、ネットワーク内に転送レートが異なるストレージを混在させることができる。
【００６７】
（実施の形態２）
本発明の実施の形態２の特徴は、転送レートが固定レートより小さいＨＤ装置へのライトアクセス時に、書き込むデータ量が多い場合は、データを一時的に転送レートが固定レートに等しいＨＤ装置へ退避させる点である。
【００６８】
図７は、本実施の形態に係るストレージ装置の要部構成を示すブロック図である。同図において、図２と同じ部分には同じ符号を付し、その説明を省略する。図７に示すストレージ装置は、図２に示すコントロールマネージャ２００の制御部２２０を制御部６１０に代え、退避先記憶部６２０を追加した構成を有している。
【００６９】
制御部６１０は、サーバ装置１００から入出力部２１０に受信されたデータやＨＤ装置４００−１〜４００−３から出力されたデータが適切な転送先へ転送されるように制御し、データを入出力部２１０またはディスクＩ／Ｆ部２３０へ出力する。また、制御部６１０は、ＰＢＣ３００とＨＤ装置４００−２、４００−３との間に接続された変換チップ５００のレート変換部５２０に蓄積されたデータ量を監視し、所定量以上のデータが蓄積されており、書き込みの処理負荷が大きければ、ＨＤ装置４００−２、４００−３に書き込むべきデータを転送レートが固定レートのＨＤ装置（例えばＨＤ装置４００−１）へ一時的に退避させる。具体的には、制御部６１０は、データをＰＢＣ３００を介して例えばＨＤ装置４００−１に記憶させ、記憶させたＨＤ装置４００-１をデータの退避先として退避先記憶部６２０に記憶させる。そして、制御部６１０は、書き込みの処理負荷が低下すると、退避先記憶部６２０からデータの退避先を読み取り、退避させたデータをＨＤ装置４００−２、４００−３へ転送させる。
【００７０】
退避先記憶部６２０は、制御部６１０によって一時的なデータの退避先とされたＨＤ装置を記憶する。そして、退避先記憶部６２０は、退避されたデータが正規の書き込み先のＨＤ装置へ転送されると、記憶した退避先のＨＤ装置を削除する。
【００７１】
実施の形態１においては、転送レートが固定レートより小さいＨＤ装置（例えばＨＤ装置４００−３）へのライトアクセス時に、レート変換部５２０にデータを蓄積しておくことにより、ＰＢＣ３００からは固定レートでデータを出力したが、書き込みの処理負荷が大きく、レート変換部５２０へ多くのデータが出力され続けると、データが蓄積しきれなくなる。そこで、本実施の形態においては、レート変換部５２０におけるデータの蓄積量が所定量に達すると、レート変換部５２０に蓄積すべきデータを転送レートが固定レートに等しいＨＤ装置に退避させ、書き込みの処理負荷が低下する夜間などに、退避させたデータを正規の書き込み先のＨＤ装置へ転送する。
【００７２】
次いで、上記のように構成されたストレージ装置におけるＨＤ装置へのライトアクセス時の動作について、図８に示すフロー図を参照しながら説明する。ここでは、転送レートが固定レートより小さいＨＤ装置へデータを書き込むライトアクセス時の動作について説明する。なお、以下では、転送レートが固定レートより小さいＨＤ装置が接続される接続部を単に「接続部３３０」という。
【００７３】
まず、ＨＤ装置に書き込まれるデータがサーバ装置１００または他のＨＤ装置からコントロールマネージャ２００へ転送されると（ステップＳ３０１）、このデータは制御部６１０へ入力される。そして、データは、転送レートが固定レートより小さいＨＤ装置４００−３へ書き込まれるため、ＰＢＣ３００を介して変換チップ５００のレート変換部５２０へ蓄積されることになるが、本実施の形態においては、制御部６１０によって、レート変換部５２０に蓄積されたデータ量が監視されており、所定量以上のデータが蓄積されているか否かが判定される（ステップＳ３０２）。この判定の結果、レート変換部５２０に蓄積されたデータ量が所定量未満であれば（ステップＳ３０２Ｎｏ）、まだレート変換部５２０に余裕があるものとして、実施の形態１と同様にレート変換部５２０にデータが蓄積され、蓄積されたデータが順次ＨＤ装置に転送されて書き込まれる（ステップＳ３０７）。
【００７４】
一方、レート変換部５２０に蓄積されたデータ量が所定量以上であれば（ステップＳ３０２Ｙｅｓ）、書き込みの処理負荷がレート変換部５２０の容量を超えていると判断され、制御部６１０によって、転送レートが固定レートに等しいＨＤ装置（例えばＨＤ装置４００−１）へデータが退避される（ステップＳ３０３）。同時に、制御部６１０によって、データの退避先が正規の書き込み先のＨＤ装置（例えばＨＤ装置４００−３）に対応付けられて退避先記憶部６２０に記憶される（ステップＳ３０４）。データの退避先としては、転送レートが固定レートに等しければどのＨＤ装置でも良く、あらかじめ接続されることが決定されているＨＤ装置４００−１でも増設されたＨＤ装置４００−２でも良い。増設されたＨＤ装置４００−２に関しては、レート設定検出部５１０によって検出されたレートがレート変換部５２０およびＰＢＣ３００経由で制御部６１０によって参照され、転送レートが固定レートに等しいことが判明すると、データの退避先の候補となる。
【００７５】
このように、転送レートが固定レートより小さいＨＤ装置へ書き込まれるデータが他のＨＤ装置へ退避されることにより、レート変換部５２０からデータが溢れることがなく、ストレージ装置全体の処理が円滑に実行される。データが退避された後、レート変換部５２０に蓄積されたデータが減少し、転送レートが固定レートより小さいＨＤ装置へのデータの書き込みの処理負荷が所定値以下になったか否かが制御部６１０によって常に監視される（ステップＳ３０５）。この処理負荷の監視は、レート変換部５２０に蓄積されたデータ量のみではなく、制御部６１０において一定期間内に発生したＨＤ装置へのデータの書き込み要求の頻度などについても考慮される。そして、処理負荷が低下したと判断されなければ（ステップＳ３０５Ｎｏ）、引き続き制御部６１０によって処理負荷が監視される。
【００７６】
そして、制御部６１０によって書き込みの処理負荷が低下したと判断されると（ステップＳ３０５Ｙｅｓ）、制御部６１０によって、退避先記憶部６２０が参照され、データの退避先とデータの正規の書き込み先との組み合わせが読み出される。そして、制御部６１０によって、各退避先に退避されたデータが再び読み出されて、ＰＢＣ３００経由でコントロールマネージャ２００へ転送される（ステップＳ３０６）。すなわち、例えば退避先となっているＨＤ装置４００−１からデータがコントロールマネージャ２００の制御部６１０へ入力される。
【００７７】
制御部６１０に入力されたデータは、正規の書き込み先へ書き込まれるように、ＰＢＣ３００のスイッチ部３１０を経由して、変換チップ５００のレート変換部５２０へ出力される。このとき、データは、ＰＢＣ３００から固定レートでレート変換部５２０へ出力されるが、この時点では書き込みの処理負荷が低下しており、レート変換部５２０に蓄積されたデータは所定量未満であるため、レート変換部５２０が溢れることはない。このため、ＰＢＣ３００から出力されたデータは、レート変換部５２０に蓄積され、蓄積されたデータが順次正規の書き込み先であるＨＤ装置へ転送されて書き込まれる（ステップＳ３０７）。
【００７８】
以上のように、本実施の形態によれば、転送レートが固定レートより小さいＨＤ装置へのデータ書き込みの処理負荷が大きくなった場合に、このＨＤ装置へ書き込むべきデータを一時的に転送レートが固定レートに等しいＨＤ装置へ退避させ、データ書き込みの処理負荷が低下した後に、退避させたデータを正規の書き込み先のＨＤ装置へ転送する。このため、転送レートが固定レートより小さいＨＤ装置へデータを書き込む際に、一時的に蓄積されるデータが過大になることがなく、ストレージ装置全体の処理を円滑に進行させることができる。
【００７９】
なお、上記各実施の形態においては、ストレージ装置に含まれるストレージをＨＤ装置４００−１〜４００−３のみとしたが、例えば磁気テープ装置などの他のストレージが含まれていても良い。これらのストレージがコントロールマネージャ２００およびＰＢＣ３００を介してループを形成している場合には、本発明によって、各ストレージの見かけ上の転送レートを一致させることができ、ネットワーク内に転送レートが異なるストレージを混在させることができる。ただし、ストレージがループを形成していない場合でも、本発明によって、各ストレージの見かけ上の転送レートを一致させ、データの移動制御を単純化することができ、容易に転送レートが異なるストレージを混在させることができる。
【００８０】
また、上記各実施の形態においては、ＨＤ装置４００−１〜４００−３の転送レートのうち最大の転送レートが固定レートとなっているが、必ずしも最大の転送レートが固定レートに等しくなくても良い。例えば、固定レートより転送レートが大きいＨＤ装置がストレージ装置に含まれる場合でも、このＨＤ装置に関するデータが変換チップ５００のレート変換部５２０に蓄積されることにより、転送レートが見かけ上固定レートに等しく変換される。ただし、固定レートを最大の転送レートに等しくすることにより、ストレージ装置全体のスループットは最大化される。
【００８１】
さらに、上記各実施の形態においては、変換チップ５００内のレート設定検出部５１０によってＨＤ装置の転送レートが検出されるものとしたが、レート設定検出部を例えばＰＢＣ３００内に設け、ＰＢＣ３００内のレート設定検出部によって検出されたＨＤ装置の転送レートが変換チップ５００内のレート変換部５２０へ通知されるようにしても良い。こうすることにより、ＰＢＣ３００およびコントロールマネージャ２００において容易にＨＤ装置の転送レートを把握することが可能となる。
【００８２】
（付記１）データを記憶する複数のストレージにおけるデータの読み書きに際してデータを転送するストレージ装置であって、
前記複数のストレージに読み書きされるデータの転送先を制御する制御手段と、
前記制御手段による制御に従ってデータを転送先のストレージへ固定レートで転送する転送手段と、
前記転送手段によってデータが転送される転送先のストレージの転送レートを検出する検出手段と、
前記検出手段によって検出された転送レートと前記転送手段がデータを転送する固定レートとを読み書きされるデータを蓄積することにより相互に変換する変換手段と
を有することを特徴とするストレージ装置。
【００８３】
（付記２）前記検出手段は、
ストレージに設けられたハードピンの状態によってこのストレージの転送レートを検出することを特徴とする付記１記載のストレージ装置。
【００８４】
（付記３）前記検出手段は、
ストレージの内部情報を読み取ってこのストレージの転送レートを検出することを特徴とする付記１記載のストレージ装置。
【００８５】
（付記４）前記変換手段は、
前記検出手段によって検出された転送レートでストレージから読み出されたデータを蓄積し、前記転送手段がデータを転送する固定レートに対応するデータ量が蓄積されると、蓄積されたデータを一度に出力することを特徴とする付記１記載のストレージ装置。
【００８６】
（付記５）前記変換手段は、
前記転送手段によって固定レートで入力されるデータを蓄積し、蓄積されたデータを前記検出手段によって検出された転送レートで順次ストレージに書き込むことを特徴とする付記１記載のストレージ装置。
【００８７】
（付記６）前記制御手段は、
前記変換手段に蓄積されたデータが所定量に達した場合に、転送レートが固定レート未満のストレージに書き込むべきデータを転送レートが固定レートに等しいストレージへ退避させることを特徴とする付記１記載のストレージ装置。
【００８８】
（付記７）退避先のストレージと正規の書き込み先のストレージとの組み合わせを記憶する記憶手段をさらに有し、
前記制御手段は、
正規の書き込み先のストレージに対する書き込みの処理負荷が所定値未満になると、前記記憶手段からストレージの組み合わせを読み出し、退避先のストレージに退避されたデータを正規の書き込み先のストレージへ転送させることを特徴とする付記６記載のストレージ装置。
【００８９】
（付記８）前記転送手段は、
前記複数のストレージの転送レートのうち最大のレートを固定レートとして適用することを特徴とする付記１記載のストレージ装置。
【００９０】
（付記９）データを記憶する複数のストレージにおけるデータの読み出しに際してデータを転送するデータ転送方法であって、
データの読み出し対象のストレージの転送レートを検出する検出工程と、
前記検出工程にて検出された転送レートで前記ストレージからデータを読み出す読出工程と、
前記読出工程にて読み出されたデータを蓄積することにより転送レートをデータの転送に用いられる固定レートに変換する変換工程と、
前記変換工程にて変換された固定レートを適用してストレージから読み出されたデータを転送する転送工程と
を有することを特徴とするデータ転送方法。
【００９１】
（付記１０）データを記憶する複数のストレージにおけるデータの書き込みに際してデータを転送するデータ転送方法であって、
データの書き込み対象のストレージの転送レートを検出する検出工程と、
前記検出工程にて転送レートが検出されたストレージに対するデータを固定レートで転送する転送工程と、
前記転送工程において固定レートで転送されるデータを蓄積しつつ、蓄積されたデータを前記検出工程にて検出された転送レートで書き込み対象のストレージに書き込む書込工程と
を有することを特徴とするデータ転送方法。
【産業上の利用可能性】
【００９２】
本発明は、回路規模の増大を抑制しつつ、ネットワーク内に転送レートが異なるストレージを混在させる場合に適用することができる。
【図面の簡単な説明】
【００９３】
【図１】実施の形態１に係るストレージ装置の全体構成を示す図である。
【図２】実施の形態１に係るストレージ装置の要部構成を示すブロック図である。
【図３】実施の形態１に係るリードアクセスの動作を示すフロー図である。
【図４】実施の形態１に係るリードアクセスの具体例を示す図である。
【図５】実施の形態１に係るライトアクセスの動作を示すフロー図である。
【図６】実施の形態１に係るライトアクセスの具体例を示す図である。
【図７】実施の形態２に係るストレージ装置の要部構成を示すブロック図である。
【図８】実施の形態２に係るライトアクセスの動作を示すフロー図である。
【符号の説明】
【００９４】
２１０  入出力部
２２０、６１０  制御部
２３０  ディスクＩ／Ｆ部
３１０  スイッチ部
３２０、３３０−１、３３０−２  接続部
５１０  レート設定検出部
５２０  レート変換部
６２０  退避先記憶部
【図１】
2008084206.tif 000003
【図２】
2008084206.tif 000004
【図３】
2008084206.tif 000005
【図４】
2008084206.tif 000006
【図５】
2008084206.tif 000007
【図６】
2008084206.tif 000008
【図７】
2008084206.tif 000009
【図８】
2008084206.tif 000010