(57)【特許請求の範囲】
【請求項１】
ホストからのコマンドを受信して同一のインタフェースに接続された複数の記憶装置に対してデータの送受信を行うストレージ制御装置において、
前記複数の記憶装置のバースト転送長が各々登録されるバースト転送長管理テーブルを格納する記憶メモリと、
前記バースト転送長管理テーブルにおいてバースト転送長が異なる記憶装置がある場合に、前記バースト転送長管理テーブルにおける最小のバースト転送長を持つ記憶装置以外の他の記憶装置の少なくとも１つにおける入出力処理時のバースト転送長の調整を行うバースト転送長調整部と、
前記バースト転送長調整部により調整されたバースト転送長に基づいて、各記憶装置に対してコマンドを発行するデータ転送制御部とを備え、
前記データ転送制御部は、前記バースト転送長調整部による調整が行われた調整対象の記憶装置に対する１回のコマンドを、調整されたバースト転送長に対応した数に分割し、前記調整対象の記憶装置に対して複数の分割コマンドを発行することを特徴とするストレージ制御装置。
【請求項２】
各記憶装置の入出力処理時のバースト転送長を検出するバースト転送長検出回路を備え、
前記バースト転送長調整部は、前記バースト転送長管理テーブルに前記バースト転送長検出回路で検出されたバースト転送長を登録し、前記バースト転送長管理テーブルの中で最小のバースト転送長に他の記憶装置の入出力処理時のバースト転送長を一致させる請求項１記載のストレージ制御装置。
【請求項３】
前記バースト転送長調整部は、各記憶装置に所定の負荷をかけた場合の応答時間を予測し、応答時間が制限時間を越えている記憶装置がある場合は、最大のバースト転送長を持つ記憶装置の入出力処理時のバースト転送長を調整する請求項１または２記載のストレージ制御装置。
【請求項４】
前記バースト転送長調整部は、現状よりもバースト転送長を大きくしても問題がない予測が立てられた場合にはバースト転送長を予測した値になるまで大きく設定し直す請求項３記載のストレージ制御装置。
【請求項５】
ホストからのコマンドを受信してデータの送受信を行うストレージシステムにおいて、 同一のインタフェースに接続された複数の記憶装置と、
前記ホストからのコマンドを受信して前記複数の記憶装置に対してデータの送受信を行うストレージ制御装置を備え、
前記ストレージ制御装置は、
前記複数の記憶装置のバースト転送長が各々登録されるバースト転送長管理テーブルを格納する記憶メモリと、
前記バースト転送長管理テーブルにおいてバースト転送長が異なる記憶装置がある場合に、前記バースト転送長管理テーブルにおける最小のバースト転送長を持つ記憶装置以外の他の記憶装置の少なくとも１つにおける入出力処理時のバースト転送長の調整を行うバースト転送長調整部と、
前記バースト転送長調整部により調整されたバースト転送長に基づいて、各記憶装置に対してコマンドを発行するデータ転送制御部とを備え、
前記データ転送制御部は、前記バースト転送長調整部による調整が行われた調整対象の記憶装置に対する１回のコマンドを、調整されたバースト転送長に対応した数に分割し、前記調整対象の記憶装置に対して複数の分割コマンドを発行することを特徴とするストレージシステム。
【請求項６】
ホストからのコマンドを受信して同一のインタフェースに接続された複数の記憶装置に対してデータの送受信を行うストレージ制御方法において、
前記複数の記憶装置のバースト転送長を登録するバースト転送長管理テーブルにおいてバースト転送長が異なる記憶装置がある場合に、前記バースト転送長管理テーブルにおける最小のバースト転送長を持つ記憶装置以外の他の記憶装置の少なくとも１つにおける入出力処理時のバースト転送長の調整を行うバースト転送長調整工程と、
前記バースト転送長調整工程により調整されたバースト転送長に基づいて、各記憶装置に対してコマンドを発行するデータ転送制御工程とを備え、
前記データ転送制御工程は、前記バースト転送長調整工程による調整が行われた調整対象の記憶装置に対する１回のコマンドを、調整されたバースト転送長に対応した数に分割し、前記調整対象の記憶装置に対して複数の分割コマンドを発行することを特徴とするストレージ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は、ホストからのコマンドを受信して記憶装置に対してデータの送受信を行うストレージ制御装置、ストレージシステム及びストレージ制御方法に関する。
【背景技術】
【０００２】
図１５は、ストレージシステムを備えたコンピュータシステムの全体図である。コンピュータシステム１００は、サーバやコンピュータシステム等のホスト２００とストレージシステム３００を備える。
【０００３】
ストレージシステム３００は、磁気ディスク装置（ＨＤＤ）等の記憶装置に対しＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）を構成することにより、データの冗長性を高め、望ましい性能特性をホスト２００に提供する。
【０００４】
以下に、ストレージシステム３００の各モジュールについて記述する。ＣＭ（Ｃｏｎｔｒｏｌｌｅｒ  Ｍｏｄｕｌｅ）４００のホストインタフェース（ＨＯＳＴ  Ｉｎｔｅｒｆａｃｅ）４０１は、ホスト２００とのインタフェースの制御を行う。
【０００５】
ホストインタフェース４０１はホスト２００よりデータのＷｒｉｔｅ／Ｒｅａｄオペレーション要求を受領すると、ＣＰＵ４０２に対して処理要求を通知する。また、ホストインタフェース４０１は、ＣＭ４００上のキャッシュメモリにアクセスしてストレージシステム３００とホスト２００との間のデータ転送を行う。
【０００６】
ＣＭ４００は、ストレージシステム３００の全モジュールの中核となる制御モジュールである。また、ＣＭ４００はメモリ領域４０３を備え、メモリ領域４０３は割り当て管理や、制御全般のキャッシュメモリ管理に使用される。さらに、ＣＭ４００は、ソフトウェアを使用してＣＰＵ４０２を制御することにより各種サービスを提供する。
【０００７】
ドライブ群５００は、磁気ディスク装置（ＨＤＤ）１〜７及びＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）５１０を含む複数のドライブで構成される。（Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）４０５は、ドライブ群５００との通信を行うためのモジュールである。そして、ＤＩ４０５は、ドライブ群５００に対してファイバチャネル（ＦＣ）ケーブル４１０とインタフェース接続する。
【０００８】
ＣＭ４００は、ＤＩ４０５を搭載することで、ドライブ群５００と通信を行うファイバチャネルインタフェース等の制御、ドライブ群への入出力（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）制御、およびＲＡＩＤ制御等を行う。
【０００９】
イニシエータであるＤＩ４０５とドライブ群５００の各ＨＤＤ及びＳＳＤ５１０は、ファイバチャネル（ＦＣ）ポートを搭載しており、各ＦＣポートはＦＣケーブル４１０によってアービトレーテッドループ（Ａｒｂｉｔｒａｔｅｄ  Ｌｏｏｐ）を形成し接続される。
【００１０】
なお、アービトレーテッドループとは、ファイバチャネルの接続形態の一つで複数のＦＣポートをループ状に接続し、その中の一対のポート間で通信を行うことを可能とするものである。また、アービトレーテッドループは最大１２７個のデバイスを接続することが可能である。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０００−１８７５５９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
ＨＤＤ等の記憶装置のバースト転送を利用した入出力（Ｉ／Ｏ）処理について考える。ここで、バースト転送とは、データ転送を高速化する手法の一つである。連続したデータを転送する際に、アドレスの指定などの手順を一部省略することによって転送速度を上げる手段である。
【００１３】
また、バースト転送長とは、バースト転送の際に記憶装置（ドライブ）に対して一度に転送できるデータ量である。バースト転送長よりも転送したいデータサイズが大きい場合、記憶装置は複数回に分けてデータを転送する。一般的に、バースト転送長が大きいほど高速なデータ転送を期待できる。
【００１４】
図１６は、ＣＰＵのＨＤＤに対するコマンド処理を説明する図である。ＨＤＤ１〜４のバースト転送を利用したＩ／Ｏ処理を例に説明する。ＣＭ４００は、ホストからＲｅａｄコマンド１〜４を受信し、ＤＩ４０５を介してＨＤＤ１〜４にコマンドを転送する。図１５に示すように、複数のＨＤＤでシリアルバスを共有している為、１回のバス占有時間はＨＤＤ毎に予め設定されている。
【００１５】
バースト転送を利用したＩ／Ｏ処理は、バースト転送長単位でデータのアクセスを行うため、ＨＤＤ１〜４に対してのデータ量が多いほどデータ転送の回数が増える。
【００１６】
図１６に示すように、データ転送を複数回実施するときには、例えば、ＨＤＤ１のＲｅａｄデータ転送１−１と１−２の間に隙間が開くことになる。この隙間に他のＨＤＤ２〜４のＲｅａｄデータ転送２−１、３−１、４−１が入る。続いて、ＨＤＤ１のＲｅａｄデータ転送１−２が行われ、Ｒｅａｄデータ転送１−２と１−３の間に、ＨＤＤ２〜４のＲｅａｄデータ転送２−２、３−２、４−２が入る。
【００１７】
従って、複数のドライブがシリアルバスを共用してデータ転送を行う時に各ドライブが実行しようとしたＩ／Ｏ処理の続きが待たされるため、１台のドライブがシリアルバスを占有してデータ転送を行う時に比べてＩ／Ｏ処理の遅延が発生する。
【００１８】
図１７は、バースト転送長が同じドライブの場合のバス占有状態を示すタイムチャートである。ＣＰＵ４０２が同一量の１ＭＢのリード要求をＨＤＤ１〜４の各ドライブに対して行った場合、ＨＤＤ１〜４のＲｅａｄデータ１−１〜４−１が１２８ＫＢずつ転送される。その後、Ｒｅａｄデータ１−２〜４−２、１−３〜４−３、・・・、１−ｎ〜４−ｎと順に転送される。
【００１９】
そして、各ドライブのバス占有時間が均等の場合、各ドライブは均等にコマンド処理を終了できるので、ホスト２００からドライブ性能の差が見えない。従って、バースト転送長が全ドライブ同じであれば、バス占有時間は同一となりドライブ性能値も同一となる。
【００２０】
しかしながら、バースト転送長はＨＤＤやＳＳＤ等のドライブの種類によって異なる場合がある。図１８は、バースト転送長が異なるドライブがある場合のバス占有状態を示すタイムチャートである。ＳＳＤ５１０のバースト転送長を３２ＫＢとし、ＨＤＤ１〜３のバースト転送長を１２８ＫＢとする。従って、ＨＤＤ１〜３とＳＳＤ５１０のバス占有時間は異なる。
【００２１】
図１８に示すように、ＣＰＵ４０２が１ＭＢのリード要求をＨＤＤ１〜３及びＳＳＤ５１０の各ドライブに対して行った場合、ＨＤＤ１〜３、ＳＳＤ５１０のＲｅａｄデータ１−１、２−１、３−１、５−１が連続的に転送される。ＨＤＤ１〜３のＲｅａｄデータは１２８ＫＢずつ、ＳＳＤ５１０のＲｅａｄデータは３２ＫＢずつ転送される。
【００２２】
その後、Ｒｅａｄデータ１−２〜５−２、１−３〜５−３、・・・、１−ｍ〜５−ｍが順に転送され、続いてＳＳＤ５１０のＲｅａｄデータの残り５−ｍ＋１〜５−ｎがまとまって転送される。つまり、残り分の転送に時間がかかり、ＳＳＤだけコマンドを終了するのが遅くなり、ホスト２００から性能的に劣化しているように見える。
【００２３】
ゆえに、ＳＳＤ５１０はバースト転送長が短く、バスを占有する時間が短い為、他のＨＤＤ１〜３に比べて応答時間が遅くなる。また、応答時間によってはホスト側でコマンド処理がタイムアウトになってしまう。
【００２４】
また、記憶装置がバスを占有する時間は記憶装置が持っている一回の転送量の最大値すなわちバースト転送長の最大値で決定される。バースト転送長は記憶装置内の設定によって変更可能な場合もあるが、固有に決定されている場合は変更が困難である。
【００２５】
従って、同一のシリアルバスの経路を使用する場合、記憶装置のバースト転送長が不均一であると、バースト転送長の大きな記憶装置の影響でバースト転送長の小さな記憶装置の性能が劣化するという問題点があった。このことは、全体的なシステム性能を劣化させ、信頼性が低下する原因となる。
【００２６】
また、クラウド環境において、このような記憶装置の性能の劣化が生じても、ユーザからはストレージシステムの状況が把握できず、ストレージシステム全体の信頼性が低下することになる。
【００２７】
本開示の技術は上記の点に鑑みてなされたものであり、バースト転送長が異なる記憶装置が同一のバス上に混在した場合に、システム性能の劣化を防止することができるストレージ制御装置、ストレージシステム及びストレージ制御方法を提供することを目的とする。
【課題を解決するための手段】
【００２８】
上述した課題を解決し、目的を達成するために、ストレージ制御装置およびストレージシステムは、同一のインタフェースに接続された複数の記憶装置のバースト転送長が各々登録されるバースト転送長管理テーブルを格納する記憶メモリと、バースト転送長管理テーブルにおいてバースト転送長が異なる記憶装置がある場合に、バースト転送長管理テーブルにおける最小のバースト転送長を持つ記憶装置以外の他の記憶装置の少なくとも１つにおける入出力処理時のバースト転送長の調整を行うバースト転送長調整部と、バースト転送長調整部により調整されたバースト転送長に基づいて、各記憶装置に対してコマンドを発行するデータ転送制御部を備えてなる。
【００２９】
また、ホストからのコマンドを受信して同一のインタフェースに接続された複数の記憶装置に対してデータの送受信を行うストレージ制御方法は、複数の記憶装置のバースト転送長を登録するバースト転送長管理テーブルにおいてバースト転送長が異なる記憶装置がある場合に、バースト転送長管理テーブルにおける最小のバースト転送長を持つ記憶装置以外の他の記憶装置の少なくとも１つにおける入出力処理時のバースト転送長の調整を行うバースト転送長調整工程と、バースト転送長調整工程により調整されたバースト転送長に基づいて、各記憶装置に対してコマンドを発行するデータ転送制御工程を備える。
【発明の効果】
【００３０】
開示のストレージ制御装置、ストレージシステム及びストレージ制御方法によれば、バースト転送長が異なる記憶装置が同一のバス上に混在した場合に、バースト転送長管理テーブルにおける最小のバースト転送長を持つ記憶装置以外の他の記憶装置の少なくとも１つにおける入出力処理時のバースト転送長を調整することにより、システム性能の劣化を防止することが可能となる。従って、ストレージシステム全体の信頼性を向上させることが可能となる。
【図面の簡単な説明】
【００３１】
【図１】実施例１のストレージシステムを備えたコンピュータシステムの全体構成図である。
【図２】バースト転送長の検出方法を説明するフローチャートである。
【図３】バースト転送長管理テーブルを示す図である。
【図４】システム診断時のフローチャートを示す図である。
【図５】各ドライブのバス占有時間を説明するタイムチャートである。
【図６】性能最適化処理を実施するか否かの判断フローを示す図である。
【図７】実施例２のストレージシステムを備えたコンピュータシステムの全体構成図である。
【図８】バースト転送長管理テーブルを示す図である。
【図９】バースト転送長の調整方法の手順（その１）を示すフローチャートである。
【図１０】バースト転送長の調整方法を説明する図である。
【図１１】バースト転送長の調整方法の手順（その２）を示すフローチャートである。
【図１２】バースト転送長管理テーブルを示す図である。
【図１３】バースト転送長の調整方法の手順（その３）を示すフローチャートである。
【図１４】バースト転送長の調整方法の手順（その４）を示すフローチャートである。
【図１５】ストレージシステムを備えたコンピュータシステムの全体図である。
【図１６】ＣＰＵのＨＤＤに対するコマンド処理を説明する図である。
【図１７】バースト転送長が同じドライブの場合のバス占有状態を示すタイムチャートである。
【図１８】バースト転送長が異なるドライブがある場合のバス占有状態を示すタイムチャートである。
【発明を実施するための形態】
【００３２】
以下、本実施形態について図面を参照しながら説明する。
【実施例１】
【００３３】
図１は、ストレージシステムを備えたコンピュータシステムの全体構成図である。コンピュータシステム１０は、ホスト２０とストレージシステム３０を備える。ストレージシステム３０は、磁気ディスク装置（ＨＤＤ）等の記憶装置に対しＲＡＩＤを構成してデータの冗長性を高めたＲＡＩＤ装置である。
【００３４】
ＣＭ（Ｃｏｎｔｒｏｌｌｅｒ  Ｍｏｄｕｌｅ）４０のホストインタフェース（Ｈｏｓｔ  Ｉｎｔｅｒｆａｃｅ）４１は、ホスト２０とのインタフェースの制御を行う。ホストインタフェース４１はホスト２０よりデータのＷｒｉｔｅ／Ｒｅａｄオペレーション要求を受領すると、ＣＰＵ４２に対して処理要求を通知する。また、ホストインタフェース４１は、ＣＭ４０上のＤＲＡＭ等のキャッシュメモリ４４にアクセスしてストレージシステム３０とホスト２０との間のデータ転送を行う。
【００３５】
ＣＭ４０は、各モジュールの資源や、有効な制御管理等のリソース管理を行う。また、ＣＭ４０はメモリ４３を備え、メモリ４３は各種ソフトウェアや後述するバースト転送長管理テーブルを格納する。そして、ＣＭ４０は、ソフトウェアを使用してＣＰＵ４２を制御することにより各種サービスを提供する。
【００３６】
また、ＣＭ４０は、ＤＩ（Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）４５を搭載している。なお、冗長性を高める為にストレージシステム３０内に複数のＣＭを設けることもできる。また、記憶装置の数に応じてＣＭ４０内に複数のＤＩ４５を設けることもできる。
【００３７】
ドライブ群５０は、磁気ディスク装置（ＨＤＤ）５１〜５７及びＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）６０を含む複数の記憶装置で構成される。ＤＩ４５は、ドライブ群５０との通信を行うためのモジュールである。図１では、簡略化の為、記憶装置としてＨＤＤ５１〜５７とＳＳＤ６０のみを示す。
【００３８】
そして、ドライブ群５０は、ＦＣインタフェース４７によりＣＭ４０と接続される。ＣＭ４０は、ＤＩ４５を搭載することで、ドライブ群５０と通信を行うインタフェース制御、磁気ディスク装置のＩ／Ｏ制御、およびＲＡＩＤ制御等を行う。
【００３９】
ＤＩ４５とドライブ群５０のＨＤＤ及びＳＳＤは、ファイバチャネル（ＦＣ）ポートを搭載しており、各ＦＣポートはＦＣケーブルによってアービトレーテッドループを形成し接続される。
【００４０】
なお、本実施例では、ＦＣインタフェースとアービトレーテッドループ接続の例で説明するがこれに限定されない。また、インタフェースはＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ）やＳＡＴＡ（Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）等のシリアルインタフェースを使用することもできる。
【００４１】
また、ＤＩ４５の内部には、バースト転送長検出回路４８とデータ転送制御回路４９が設けられる。ＣＰＵ４２のバースト転送長調整部４６は、各記憶装置におけるＩ／Ｏ処理時のバースト転送長の設定を変更する。これにより、データ転送制御回路４９は、Ｉ／Ｏ処理時にバス上を１回に転送する各記憶装置のデータ転送量を調整する。
【００４２】
また、バースト転送長検出回路４８は、バスの占有状態を予想検出するバス占有状態検出手段として機能し、各記憶装置におけるＩ／Ｏ処理時のバースト転送長を検出する。この検出により、各記憶装置のバス占有状態（バス占有時間、バス占有率など）が予想検出できる。
【００４３】
バースト転送長検出回路４８は、バースト転送長調整部４６のシステム診断コマンドにより、同一バス上に接続される各記憶装置のＩ／Ｏ処理時のバースト転送長の検出を実行する。
【００４４】
図２は、バースト転送長の検出方法を説明するフローチャートである。バースト転送長調整部４６は、ＤＩ４５内のバースト転送長検出回路４８を起動する（Ｓ１０１）。ＤＩ４５は自分へのフレーム（転送）か否かを判断する（Ｓ１０２）。自分へのフレームである場合（Ｓ１０２、Ｙｅｓ）、ＤＩ４５はリードデータフレームであるか否かを判断する（Ｓ１０３）。
【００４５】
リードデータフレームである場合（Ｓ１０３、Ｙｅｓ）、バースト転送長検出回路４８はペイロード数（フレーム内の実データ数）をカウントする（Ｓ１０４）。転送終了か否かを判断し（Ｓ１０５）、転送終了である場合（Ｓ１０５、Ｙｅｓ）、バースト転送長検出回路４８は図３（Ａ）に示すバースト転送長管理テーブル１８２の該当ドライブ番号の格納先にカウントされたペイロード数をバースト転送長として格納する。
【００４６】
なお、図３（Ａ）、図３（Ｂ）においてドライブ１〜８は同一バスで接続される記憶装置であるＨＤＤ５１〜５７とＳＳＤ６０に対応する。
【００４７】
図４は、システム診断時のフローチャートを示す図である。システムのパワーオン処理時にシステム診断は実施される。図２において説明したバースト転送長の検出処理は、システム診断の際に実行する。
【００４８】
ストレージシステム３０において、ＣＰＵ４２は通常のパワーオン処理を実行する（Ｓ２０１）。ＣＰＵ４２のバースト転送長調整部４６はバースト転送長検出回路４８を起動し、図２において説明した処理を実行させ、バースト転送長検出回路４８は各ドライブのバースト転送長をバースト転送長管理テーブル１８２に登録する。
【００４９】
バースト転送長調整部４６はバースト転送長管理テーブル１８２に登録されている各ドライブのバースト転送長を調べ、その中で一番小さいバースト転送長（最小値）のドライブを見つける（Ｓ２０２）。その後、残りのパワーオン処理が続行される（Ｓ２０３）。
【００５０】
その他、パワーオン時に１度だけでなく毎回、もしくはＳＳＤが含まれている場合、記憶装置が追加された場合に、バースト転送長調整部４６はバースト転送長の検出を実施することもできる。また、バースト転送長調整部４６はバースト転送長の検出をシステムの負荷が高くコマンド処理がタイムアウトしてしまう場合に行っても良い。
【００５１】
図５は、各ドライブのバス占有時間を説明するタイムチャートである。ここでは、ＣＰＵ４２が１ＭＢのリード要求をＨＤＤ５１〜５３及びＳＳＤ６０の各ドライブに対して行った場合を想定する。
【００５２】
また、図３（Ａ）のバースト転送長管理テーブル１８２に示すように、ＨＤＤ５１〜５３のＩ／Ｏ処理時のバースト転送長が１２８ＫＢであり、ＳＳＤ６０が３２ＫＢである例を用いて説明する。つまり、ＨＤＤ５１〜５３がバス上に1回あたり転送できるデータ転送量が１２８ＫＢであり、ＳＳＤ６０のデータ転送量が３２ＫＢである。
【００５３】
従って、リード要求が発行されているＨＤＤ５１〜５３とＳＳＤ６０とでバースト転送長が異なるので、バス占有時間が異なる。従って、ＣＰＵ４２はデータ転送制御回路４９の性能最適化処理をオンにする。
【００５４】
バースト転送長調整部４６は、ドライブの中で最小値のＳＳＤ６０のバースト転送長に合わせてＨＤＤ５１〜５３のバースト転送長が同じ３２ＫＢになるように図３（Ｂ）に示すバースト転送長管理テーブル１８３を作成する。データ転送制御回路４９は、このバースト転送長管理テーブル１８３を参照してコマンドを発行する。
【００５５】
データ転送制御回路４９は、ＨＤＤ５１〜５３のバースト転送長が最小値のＳＳＤ６０のバースト転送長と同じになるように、ＣＰＵ４２からリードコマンドを調整する。
【００５６】
図５に示すように、ＣＰＵ４２から要求バイト数１ＭＢのリードコマンドがＳＳＤに対して発行された場合、ＳＳＤ６０のバースト転送長は３２ＫＢであるのでデータ転送が３２回なされる。
【００５７】
従って、データ転送制御回路４９は、ＨＤＤ５１〜５３に対しても同様に、バースト転送長が３２ＫＢでデータ転送が３２回になるように要求バイト数１ＭＢのリードコマンドを分割処理する。具体的には、図５に示すように、データ転送制御回路４９は、ＨＤＤ５１〜５３の各ドライブに対して要求バイト数３２ＫＢのコマンドを３２回連続発行する。この分割コマンドの発行により、ＨＤＤ５１〜５３のバースト転送長を３２ＫＢに変更して、ＨＤＤ５１〜５３及びＳＳＤ６０の各ドライブのバス占有時間を均等化する。
【００５８】
このようにすることで、図５に示すように、ＨＤＤ５１〜５３、ＳＳＤ６０のＲｅａｄデータが３２ＫＢずつ順に転送される。ＨＤＤ５１〜５３、ＳＳＤ６０のＲｅａｄデータ５１−１、５２−１、５３−１、６０−１が３２ＫＢずつ転送された後に、次のＲｅａｄデータ５１−２〜５３−２、・・・、５１−３２、５２−３２、５３−３２、６０−３２と順に転送される。
【００５９】
分割コマンドにより分割転送されたＲｅａｄデータは、キャッシュメモリ（ＤＲＡＭ）４４で結合され、所定のデータ量にした後にホスト２０への転送が行われる。なお、Ｗｒｉｔｅデータの場合はキャッシュメモリ４４から出力されるデータを、データ転送制御回路４９で所定のデータ量にしてＦＣインタフェース４７を介して各ドライブに転送される。
【００６０】
従って、各記憶装置のバス占有時間が均等になり、均等に終了することができるので、バースト転送長が小さい記憶装置の性能を底上げして、ホストから各記憶装置の性能差を見えなくすることができる。
【００６１】
図６は、性能最適化処理を実施するか否かの判断フローを示す図である。前述した性能最適化処理は、ＣＰＵ４２からのアクセス状況に応じてＣＰＵ４２の制御によりオン／オフされる。最初に、ＣＰＵ４２はバースト転送長が短いドライブに対してホスト２０からオペレーション要求コマンドが発行されているか否かをバースト転送長管理テーブル１８２に基づいて判断する（Ｓ３０１）。
【００６２】
要求コマンドが発行されている場合は、ＣＰＵ４２は当該コマンド発行に対してデータ転送制御回路の性能最適化処理をオンにしてコマンドの処理を実施する。つまり、データ転送制御回路４９は前述したコマンドの分割処理を実行する。（Ｓ３０２）。
【００６３】
要求コマンドが発行されていない場合は、ＣＰＵ４２は当該コマンドに対してデータ転送制御回路４９の性能最適化処理をオフにして通常のコマンド処理を実施する。つまり、データ転送制御回路４９は、前述したコマンドの分割処理を実行しない（Ｓ３０３）。
【００６４】
従って、各記憶装置へのアクセス状況に応じて、性能最適化処理を使い分けることでＣＰＵからのコマンド処理の効率化を図ることができる。
【００６５】
なお、この実施例ではＣＰＵ４２がバースト転送長の検出処理や性能最適化処理の実施判断を行う例としたがＤＩ４５にプロセッサ等を設けてＤＩ４５が実施することも可能である。また、バースト転送長管理テーブルはＤＩ４５やＤＲＡＭ４４等の記憶メモリに格納しても良い。
【実施例２】
【００６６】
実施例１では、同一バス上の複数の記憶装置の性能を均等にする例で示した。実施例２は、同一バス上の各記憶装置のバス占有状態をコマンドの応答時間から予想して、これらの記憶装置の中でバースト転送長が最大のものを調整する。この方法により、バースト転送長が最小の記憶装置の性能の最適化を図るものである。つまり、同一バス上の複数の記憶装置に対してバースト転送長を調整する必要がなくなり調整処理を簡略化できる。
【００６７】
図７は、実施例２のストレージシステムを備えたコンピュータシステムの全体構成図である。コンピュータシステム１１は、ホスト２１とストレージシステム３１を備える。ＣＭ７０にはＣＰＵ７２、メモリ７３、ホストインタフェース７１、ＤＩ７５、キャッシュメモリ（ＤＲＡＭ）７４が設けられている。ＣＭ７０のＤＩ７５には、データ転送制御回路７９とその内部にＩ／Ｏ数検出回路７８が設けられる。
【００６８】
ドライブ群１５０は、ＨＤＤ８１〜８７とＳＳＤ９０等の複数の記憶装置で構成される。ドライブ群１５０は、ＦＣインタフェース７７及びＤＩ７５を介してＣＭ７０と接続される。図７では、簡略化の為、記憶装置をＨＤＤ８１〜８７とＳＳＤ９０のみを示す。
【００６９】
ＣＰＵ７２には、バースト転送長調整部７６がプログラムにより構築されている。バースト転送長調整部７６は、各記憶装置において、Ｉ／Ｏ処理時のバースト転送長の設定を変更する。これにより、Ｉ／Ｏ処理時にバス上を１回に転送する各記憶装置のデータ転送量を調整する。
【００７０】
また、バースト転送長調整部７６は、バス占有状態を予想検出するバス占有状態検出手段の機能を備え、各記憶装置の応答予測時間を検出する。これにより、バス占有状態(バス占有時間、バス占有率など)を予想検出する。
【００７１】
図８は、バースト転送長管理テーブルを示す図である。メモリ７３はバースト転送長管理テーブルを保持する。バースト転送長管理テーブル１８４には、全ドライブのバースト転送長の最大値が予め登録されている。これらの最大値はシステム構築時に登録される。
【００７２】
図８に示すバースト転送長管理テーブル１８４には、簡略化の為に、ＨＤＤ８１〜８７とＳＳＤ９０に対応するドライブ１〜８のバースト転送長の最大値のみを示す。ドライブ１は１２８ＫＢ、ドライブ２〜７は６４ＫＢ、ドライブ８は３２ＫＢとして説明する。
【００７３】
図９は、バースト転送長の調整方法の手順（その１）を示すフローチャートである。まず、ＣＰＵ７２のバースト転送長調整部７６は、バースト転送長管理テーブル１８４から全ドライブのバースト転送長の最大値を調べる（Ｓ４０１）。バースト転送長調整部７６は、全ドライブに対して限界まで負荷をかけたと想定し、ドライブの応答時間を予測する（Ｓ４０２）。
【００７４】
ドライブの応答時間が制限時間内であれば（Ｓ４０３、Ｙｅｓ）、バースト転送長調整部７６はバースト転送長の調整は行わないと判断する（Ｓ４０４）。ドライブの応答時間が制限時間よりも長ければ（Ｓ４０３、Ｎｏ）、バースト転送長調整部７６は全ドライブのバースト転送長はバースト転送長管理テーブル１８４に登録されたバースト転送長の最大値の中で最も小さいバースト転送長（最小値）と同値か否かを判定する（Ｓ４０５）。
【００７５】
最小値であれば（Ｓ４０５、Ｙｅｓ）、バースト転送長調整部７６はバースト転送長の調整は行わないと判断する（Ｓ４０４）。最小値では無い場合（Ｓ４０５、Ｎｏ）、バースト転送長調整部７６は、バースト転送長管理テーブルに登録されたバースト転送長の最大値の中で最大のバースト転送長（最大バースト転送長）を持つドライブのバースト転送長をその次にバースト転送長の大きいドライブの値まで引き下げる。そして、バースト転送長調整部７６は全ドライブの応答時間を予測し（Ｓ４０６）、Ｓ４０３に戻る。この手順により、最大バースト転送長は段階的に調整される。
【００７６】
図１０は、バースト転送長の調整方法を説明する図である。バースト転送長管理テーブル１８５、１８６には、ドライブ種別、バースト転送長、ＣＰＵ７２によって検出された応答予測時間が登録されている。
【００７７】
バースト転送長管理テーブル１８５において、例えば、応答予測時間の制限時間を２．０秒とした場合、ドライブ８の応答時間は３．０秒であり、２．０秒を超えている。この場合は、バースト転送長管理テーブル１８５のバースト転送長の登録変更を行う。
【００７８】
バースト転送長管理テーブル１８６に示すように、バースト転送長調整部７６は、最大バースト転送長を持つドライブ１のバースト転送長１２８ＫＢをその次に大きい６４ＫＢに変更する。そして、全ドライブの応答時間を予測し、全ドライブの応答予測時間が制限時間内であれば、バースト転送長調整部７６はバースト転送長管理テーブルにその時の値を初期値として登録する。
【００７９】
この結果、最大バースト転送長を持つドライブ１の応答予測時間は０．７５秒から１．０秒に遅延するが、最小バースト転送長を持つドライブ８の応答予測時間は３．０秒から２．０秒に早めることができる。このようにすることで、全ドライブの応答予測時間を２．０秒以内に抑えることができる。
【００８０】
従って、バースト転送長が短く、応答速度が遅いと予想される記憶装置に対して性能の引き上げをすることができる。ゆえに、バースト転送長の最大値が最大の記憶装置と最小の記憶装置の性能差を小さくすることができ、システム全体の性能の劣化を防止できる。
【００８１】
データ転送制御回路７９は、性能最適化処理がオンしている場合に、この結果が反映されたバースト転送長管理テーブルのバースト転送長を初期値として、各記憶装置へのＩ／Ｏ処理を行うようにする。具体的には、ＤＩ７５からドライブ１へのコマンドは、実施例１で説明したものと同様に、データ転送制御回路７９によってバースト転送長が６４ＫＢになるように分割される。
【００８２】
例えば、ＣＰＵ７２から要求バイト数１ＭＢのリードコマンドがドライブ１（ＨＤＤ８１）に対して発行された場合、データ転送制御回路７９は１ＭＢのリードコマンドを分割して、要求バイト数が６４ＫＢのコマンドを１６回連続発行する。
【００８３】
また、コマンド分割により、分割転送されたＲｅａｄデータはキャッシュメモリ７４で結合されて所定のデータ量にしてホストインタフェース７１を介して送信される。ｗｒｉｔｅデータの場合は、キャッシュメモリ７４から出力されるデータを、データ転送制御回路７９で所定のデータ量にしてＦＣインタフェース７７を介してドライブに転送される。
【００８４】
次に、運用中のバースト転送長の調整方法について説明する。図１１は、バースト転送長の調整方法の手順（その２）を示すフローチャートである。図１２（Ａ）〜（Ｃ）はバースト転送長管理テーブルを示す図であり、図１２（Ａ）は現在のアクセス状況を示すバースト転送長管理テーブルである。
【００８５】
応答予測時間を計算するにあたり、Ｉ／Ｏ数、Ｉ／Ｏの種類（Ｗｒｉｔｅ／Ｒｅａｄ）、Ｉ／Ｏのアクセス方法（シーケンシャル／ランダム）、Ｉ／Ｏのデータ長、各記憶装置の性能、同一バス上に接続されたドライブの個数などの計算条件が必要となる。
【００８６】
時間帯によって記憶装置へのアクセス頻度が変化する運用状況を考慮すると、ある時間帯でアクセスが多くなればＩ／Ｏ数は増加し、逆にアクセス数が少なくなればＩ／Ｏ数は減少する。従って、上記計算条件の中で、システムが運用中に最も変動する要素はＩ／Ｏ数と考え、Ｉ／Ｏ数を計算条件として応答時間の予想を立てる。また、変動が少ない計算条件を定数とすることで応答時間の予想を立てやすくする。
【００８７】
まず、図１１において、バースト転送長調整部７６は、データ転送制御回路７９のＩ／Ｏ数検出回路７８に対して任意の時刻毎に経路上のアクセス状況である現在Ｉ／Ｏ数を採取させる（Ｓ５０１）。
【００８８】
そして、図１２（Ａ）に示すバースト転送長管理テーブル１９１には、ドライブ種別、現在のバースト転送長、Ｉ／Ｏ数検出回路７８で検出された現在のホストからのアクセス数（Ｉ／Ｏ数）が登録される。
【００８９】
バースト転送長調整部７６は、現在のＩ／Ｏ数と各ドライブの現在のバースト転送長から応答時間を計算し予想する（Ｓ５０２）。バースト転送長調整部７６は、各ドライブの応答時間が制限時間内であるか否かを判断する。制限時間内であれば（Ｓ５０３、Ｙｅｓ）、性能の引き上げが可能なドライブに対して最大性能に引き上げるバースト転送長に再設定する（Ｓ５０４）。
【００９０】
バースト転送長調整部７６は、応答時間が制限時間を超えているドライブがあれば、そのドライブの性能の底上げをするように、性能の引き下げ可能なドライブに対してバースト転送長を再設定する（Ｓ５０５）。本実施例では、制限時間を２．０秒とする例で説明する。
【００９１】
図１３は、バースト転送長の調整方法の手順（その３）を示すフローチャートである。バースト転送長調整部７６は、全ドライブのバースト転送長の最大値をそれぞれバースト転送長管理テーブルから調べる（Ｓ６０１）。
【００９２】
バースト転送長調整部７６は、各ドライブの現在のバースト転送長が最大値であるか否かを判定する。現在のバースト転送長が最大値でなければ（Ｓ６０２、Ｎｏ）、全ドライブに対して現状のアクセス状況と最大バースト転送長からドライブの応答時間を予測する（Ｓ６０３）。現在のバースト転送長が最大値であれば（Ｓ６０２、Ｙｅｓ）、終了する。
【００９３】
バースト転送長調整部７６は、予測したドライブの応答時間が制限時間内であれば（Ｓ６０４、Ｙｅｓ）、バースト転送長を決定する（Ｓ６０５）。バースト転送長調整部６６は、予測したドライブの応答時間が制限時間を超えていたら（Ｓ６０４、Ｎｏ）、全バースト転送長がバースト転送長管理テーブルに登録されたバースト転送長の中で最も小さい最小値と同値であるか否かを判断する（Ｓ６０６）。
【００９４】
同値であれば、バースト転送長調整部７６はバースト転送長を決定する（Ｓ６０５）。同値でなければ、バースト転送長調整部７６は、最大バースト転送長を持つドライブのバースト転送長をバースト転送長管理テーブルの中でその次にバースト転送長の大きいドライブの値まで引き下げる。そして、バースト転送長調整部７６は、応答時間を予測し（Ｓ６０７）、Ｓ６０４に戻る。
【００９５】
図１２（Ｂ）は、応答予測時間が登録されたバースト転送長管理テーブルを示す図である。バースト転送長調整部７６は、現在のＩ／Ｏ数と各ドライブのバースト転送長から応答時間を計算し予想する。ここで、ドライブ１〜４のＩ／Ｏ数は１００個、ドライブ５〜７のＩ／Ｏ数は１０個、ドライブ８のＩ／Ｏ数は５個とする。
【００９６】
バースト転送長調整部７６は、バースト転送長の変更により、処理時間を短縮（性能を向上）できるようであれば、対象ドライブのバースト転送長を変更する。もし、現状よりもバースト転送長を大きくしても問題がない予測が立てられた場合にはバースト転送長調整部７６は対象ドライブのバースト転送長を予測した値になるまで大きく設定し直す。
【００９７】
バースト転送長調整部７６は、バースト転送長管理テーブル１９２に示すように、ドライブ１の現在のバースト転送長を初期値の６４ＫＢから最大値の１２８ＫＢに内容を変更する。これにともなって、性能最適化処理がオフされ、通常処理に戻る。そして、データ転送制御回路７９は、ドライブ１のＩ／Ｏ処理時のバースト転送長が１２８ＫＢになるように、１回分のデータ転送量を１２８ＫＢにする。つまり、データ転送制御回路７９は分割コマンドの発行は行わない。
【００９８】
これにより、ドライブ１の応答予測時間は０．７５秒となる。また、ドライブ２〜４及び８は１．５秒となり、ドライブ５〜７は１．０秒となる。従って、他のドライブの応答予測時間に影響が無い範囲で、ドライブ１の性能を引き上げて、応答速度の高速化を図ることができる。
【００９９】
また、採取したアクセス状況で応答時間の予測が制限時間を超えてしまった場合にはバースト転送長の再調整が行われ、ドライブのアクセス応答時間が制限時間内になるようにする。つまり、バースト転送長が小さく、応答速度の遅いドライブの性能を向上させる。
【０１００】
図１４は、バースト転送長の調整方法の手順（その４）を示すフローチャートである。バースト転送長調整部７６は、現在のドライブのバースト転送長は全ドライブが等しいか否かを判断し、等しければ（Ｓ７０１、Ｙｅｓ）、バースト転送長の調整は行わない（Ｓ７０４）。
【０１０１】
全ドライブのバースト転送長が等しくなければ（Ｓ７０１、Ｎｏ）、バースト転送長調整部７６は、最大バースト転送長を持つドライブのバースト転送長をその次にバースト転送長の大きいドライブの値まで引き下げ、現在のアクセス状況を考慮に入れて応答時間を予測する（Ｓ７０２）。
【０１０２】
ドライブの応答時間が制限時間内であれば（Ｓ７０３、Ｙｅｓ）、バースト転送長調整部７６は処理を終了し、制限時間を超えていたら（Ｓ７０３、Ｎｏ）、Ｓ７０１に戻る。
【０１０３】
図１２（Ｃ）は、応答予測時間が登録されたバースト転送長管理テーブルを示す図である。バースト転送長調整部７６は、図１２（Ｃ）に示すバースト転送長管理テーブル１９３のようにドライブ１の現在のバースト転送長１２８ＫＢを６４ＫＢに小さく変更する。ここでは、ドライブ１〜８のＩ／Ｏ数は１００個とする。
【０１０４】
データ転送制御回路７９は、バースト転送長管理テーブル１９３を参照してドライブ１のＩ／Ｏ処理時の１回分のデータ転送量の変更を行う。これにより、ドライブ１の応答予測時間は１．０秒となる。また、ドライブ２〜７は１．０秒となり、ドライブ８は２．０秒となる。
【０１０５】
従って、バースト転送長が最小のドライブ８の性能の底上げを行って、応答速度を改善することでシステム性能の劣化を防止することができる。
【０１０６】
また、実施例２においても実施例１同様に、図６に示した性能最適化処理と通常処理を使い分けるようにすることもできる。つまり、ホスト２１からバースト転送長が短いドライブに対してオペレーション要求コマンドが発行されている場合は、ＣＰＵ７２は当該コマンドに対してデータ転送制御回路７９の性能最適化処理をオンにして分割コマンドを発行できるようにする。
【０１０７】
なお、この実施例ではＣＰＵ７２がバースト転送長の検出や性能調整処理の実施判断を行う例としたがＤＩ７５にプロセッサ等を設けてＤＩ７５が実施することも可能である。また、バースト転送長管理テーブルはＤＩ７５やＤＲＡＭ７４等の記憶メモリに格納しても良い。
（付記１）
ホストからのコマンドを受信して同一のインタフェースに接続された複数の記憶装置に対してデータの送受信を行うストレージ制御装置において、
前記複数の記憶装置のバースト転送長が各々登録されるバースト転送長管理テーブルを格納する記憶メモリと、
前記バースト転送長管理テーブルにおいてバースト転送長が異なる記憶装置がある場合に、前記バースト転送長管理テーブルにおける最小のバースト転送長を持つ記憶装置以外の他の記憶装置の少なくとも１つにおける入出力処理時のバースト転送長の調整を行うバースト転送長調整部と、
前記バースト転送長調整部により調整されたバースト転送長に基づいて、各記憶装置に対してコマンドを発行するデータ転送制御部と、
を備えてなるストレージ制御装置。
（付記２）
データ転送制御部は、前記バースト転送長調整部による調整が行われた調整対象の記憶装置に対する１回のコマンドを、調整されたバースト転送長に対応した数に分割し、前記調整対象の記憶装置に対して複数の分割コマンドを発行する付記１記載のストレージ制御装置。
（付記３）
各記憶装置の入出力処理時のバースト転送長を検出するバースト転送長検出回路を備え、
前記バースト転送長調整部は、前記バースト転送長管理テーブルに前記バースト転送長検出回路で検出されたバースト転送長を登録し、前記バースト転送長管理テーブルの中で最小のバースト転送長に他の記憶装置の入出力処理時のバースト転送長を一致させる付記１または２記載のストレージ制御装置。
（付記４）
前記バースト転送長調整部は、各記憶装置に所定の負荷をかけた場合の応答時間を予測し、応答時間が制限時間を越えている記憶装置がある場合は、最大のバースト転送長を持つ記憶装置の入出力処理時のバースト転送長を調整する付記１または２記載のストレージ制御装置。
（付記５）
前記バースト転送長調整部は、現状よりもバースト転送長を大きくしても問題がない予測が立てられた場合にはバースト転送長を予測した値になるまで大きく設定し直す付記４記載のストレージ制御装置。
（付記６）
ホストからのコマンドを受信してデータの送受信を行うストレージシステムにおいて、
同一のインタフェースに接続された複数の記憶装置と、
前記ホストからのコマンドを受信して前記複数の記憶装置に対してデータの送受信を行うストレージ制御装置を備え、
前記ストレージ制御装置は、
前記複数の記憶装置のバースト転送長が各々登録されるバースト転送長管理テーブルを格納する記憶メモリと、
前記バースト転送長管理テーブルにおいてバースト転送長が異なる記憶装置がある場合に、前記バースト転送長管理テーブルにおける最小のバースト転送長を持つ記憶装置以外の他の記憶装置の少なくとも１つにおける入出力処理時のバースト転送長の調整を行うバースト転送長調整部と、
前記バースト転送長調整部により調整されたバースト転送長に基づいて、各記憶装置に対してコマンドを発行するデータ転送制御部と、
を備えてなるストレージシステム。
（付記７）
データ転送制御部は、前記バースト転送長調整部による調整が行われた調整対象の記憶装置に対する１回のコマンドを、調整されたバースト転送長に対応した数に分割し、前記調整対象の記憶装置に対して複数の分割コマンドを発行する付記６記載のストレージシステム。
（付記８）
各記憶装置の入出力処理時のバースト転送長を検出するバースト転送長検出回路を備え、
前記バースト転送長調整部は、前記バースト転送長管理テーブルに前記バースト転送長検出回路で検出されたバースト転送長を登録し、前記バースト転送長管理テーブルの中で最小のバースト転送長に他の記憶装置の入出力処理時のバースト転送長を一致させる付記６または７記載のストレージシステム。
（付記９）
前記バースト転送長調整部は、各記憶装置に所定の負荷をかけた場合の応答時間を予測し、応答時間が制限時間を越えている記憶装置がある場合は、最大のバースト転送長を持つ記憶装置の入出力処理時のバースト転送長を調整する付記６または７記載のストレージシステム。
（付記１０）
前記バースト転送長調整部は、現状よりもバースト転送長を大きくしても問題がない予測が立てられた場合にはバースト転送長を予測した値になるまで大きく設定し直す付記９記載のストレージシステム。
（付記１１）
ホストからのコマンドを受信して同一のインタフェースに接続された複数の記憶装置に対してデータの送受信を行うストレージ制御方法において、
前記複数の記憶装置のバースト転送長を登録するバースト転送長管理テーブルにおいてバースト転送長が異なる記憶装置がある場合に、前記バースト転送長管理テーブルにおける最小のバースト転送長を持つ記憶装置以外の他の記憶装置の少なくとも１つにおける入出力処理時のバースト転送長の調整を行うバースト転送長調整工程と、
前記バースト転送長調整工程により調整されたバースト転送長に基づいて、各記憶装置に対してコマンドを発行するデータ転送制御工程と、
を備えるストレージ制御方法。
（付記１２）
データ転送制御部は、前記バースト転送長調整部による調整が行われた調整対象の記憶装置に対する１回のコマンドを、調整されたバースト転送長に対応した数に分割し、前記調整対象の記憶装置に対して複数の分割コマンドを発行する付記１１記載のストレージ制御方法。
（付記１３）
各記憶装置の入出力処理時のバースト転送長を検出するバースト転送長検出回路を備え、
前記バースト転送長調整部は、前記バースト転送長管理テーブルに前記バースト転送長検出回路で検出されたバースト転送長を登録し、前記バースト転送長管理テーブルの中で最小のバースト転送長に他の記憶装置の入出力処理時のバースト転送長を一致させる付記１１または１２記載のストレージ制御方法。
（付記１４）
前記バースト転送長調整部は、各記憶装置に所定の負荷をかけた場合の応答時間を予測し、応答時間が制限時間を越えている記憶装置がある場合は、最大のバースト転送長を持つ記憶装置の入出力処理時のバースト転送長を調整する付記１１または１２記載のストレージ制御方法。
（付記１５）
前記バースト転送長調整部は、現状よりもバースト転送長を大きくしても問題がない予測が立てられた場合にはバースト転送長を予測した値になるまで大きく設定し直す付記１４記載のストレージ制御方法。
【符号の説明】
【０１０８】
１０、１１      コンピュータシステム
２０、２１      ホスト
３０、３１      ストレージシステム
４０、７０      ＣＭ
４１、７１      ホストインタフェース
４２、７２      ＣＰＵ
４３、７３      メモリ
４５、７５      デバイスインタフェース（ＤＩ）
４６、７６      バースト転送長調整部
４７、７７      ＦＣインタフェース
４８            バースト転送長検出回路
４９、７９      データ転送制御回路
５０、１５０    ドライブ群
６０、９０      ＳＳＤ
７８            Ｉ／Ｏ数検出回路
１００          コンピュータシステム
２００          ホスト
４００          ＣＭ
４０２          ＣＰＵ
５００          ドライブ群
【図１】
0005585171.tif 000002
【図２】
0005585171.tif 000003
【図３】
0005585171.tif 000004
【図４】
0005585171.tif 000005
【図５】
0005585171.tif 000006
【図６】
0005585171.tif 000007
【図７】
0005585171.tif 000008
【図８】
0005585171.tif 000009
【図９】
0005585171.tif 000010
【図１０】
0005585171.tif 000011
【図１１】
0005585171.tif 000012
【図１２】
0005585171.tif 000013
【図１３】
0005585171.tif 000014
【図１４】
0005585171.tif 000015
【図１５】
0005585171.tif 000016
【図１６】
0005585171.tif 000017
【図１７】
0005585171.tif 000018
【図１８】
0005585171.tif 000019