(57)【要約】【課題】ストレージ装置の書込み特性に対応した書込みを行うことができる書込み制御装置を提供する。【解決手段】外部から受信した受信データから、設定された書込み長の書込みデータを切り出して、書込みデータを外部の記憶装置へ書込む書込み手段と、記憶装置への書込みデータの書込みの開始から書込みの完了までに要する書込み時間を計測する計測手段と、書込み手段への書込み長の設定を変更して、異なる複数の書込み長毎に書込みデータについての計測結果を取得し、計測結果に基づいて求めた、書込み速度が最も速くなる書込み長である最適書込み長を書込み長として設定する制御手段とを備えることを特徴とする。【選択図】      図１
2015184855.tif 000002
【特許請求の範囲】
【請求項１】
外部から受信した受信データから、設定された書込み長の書込みデータを切出して、前記書込みデータを外部の記憶装置へ書込む書込み手段と、
前記記憶装置への前記書込みデータの書込みの開始から前記書込みの完了までに要する書込み時間を計測する計測手段と、
前記書込み手段への前記書込み長の設定を変更して、異なる複数の前記書込み長毎に前記書込みデータについての前記計測結果を取得し、前記計測結果に基づいて求めた、書込み速度が最も速くなる書込み長である最適書込み長を前記書込み長として設定する制御手段と
を備えることを特徴とする書込み制御装置。
【請求項２】
前記計測手段は、前記記憶装置からの応答に基づいて前記書込みの完了を検知する
ことを特徴とする請求項１に記載の書込み制御装置。
【請求項３】
前記受信データを一時記憶する一時記憶手段をさらに備え、
前記書込み手段は、前記一時記憶手段に記憶された前記受信データから前記書込み長の前記書込みデータを切出して、前記記憶装置へ書込む
ことを特徴とする請求項１または２に記載の書込み制御装置。
【請求項４】
前記制御手段は、前記書込み長毎に取得された前記計測結果から求められた前記書込み速度が、前記書込み長に対して単調増加しているとき前記書込み長を長くして前記書込み手段に設定し、前記書込み長に対して単調減少しているとき前記書込み長を短くして前記書込み手段に設定して、前記計測結果を取得し、前記計測結果に基づいて前記最適書込み長を求める
ことを特徴とする請求項１から３のいずれか１項に記載の書込み制御装置。
【請求項５】
前記制御手段は、長さの異なる複数の前記書込み長が記録された表に基づいて決定された前記書込み長を前記書込み手段に設定する
ことを特徴とする請求項１から４のいずれか１項に記載の書込み制御装置。
【請求項６】
前記記憶装置の前記最適書込み長の記録と前記記録を行った記録時期、または、前記記憶装置の記憶媒体に関する増設もしくは更新の実施記録と前記実施の記録を行った実施時期を含む履歴情報を、前記記憶装置に対応させて記憶する履歴記憶手段をさらに備え、
前記制御手段は、前記記憶装置へ前記書込みデータを書込むときに、前記記憶装置に対応する前記履歴情報に基づいて前記最適書込み長を求める、または、前記最適書込み長を求めることを保留する
ことを特徴とする請求項１から５のいずれか１項に記載の書込み制御装置。
【請求項７】
前記受信データを前記書込み手段へ送信する送信手段を備える情報処理装置と、
請求項１から６のいずれか１項に記載の書込み制御装置と、
前記書込みデータを記憶する記憶手段を備えるストレージ装置と
を含むことを特徴とするストレージシステム。
【請求項８】
前記ストレージ装置の前記記憶手段が、フラッシュメモリを含む
ことを特徴とする請求項７に記載のストレージシステム。
【請求項９】
外部から受信した受信データから、設定された書込み長の書込みデータを切出して、前記書込みデータを外部の記憶装置へ書込み、
前記記憶装置への前記書込みデータの書込みの開始から前記書込みの完了までに要する書込み時間を計測し、
前記書込み長の設定を変更して、異なる複数の前記書込み長毎に前記書込みデータについての前記計測結果を取得し、前記計測結果に基づいて求めた、書込み速度が最も速くなる書込み長である最適書込み長を前記書込み長として設定する
ことを特徴とする書込み制御方法。
【請求項１０】
外部からのデータを受信データとして受信し、書込みデータを外部の記憶装置へ書込む書込み手段を備える書込み制御装置が備えるコンピュータを、
前記受信データから、設定された書込み長の前記書込みデータを切出す切出し手段と、
前記記憶装置への前記書込みデータの書込みの開始から前記書込みの完了までに要する書込み時間を計測する計測手段と、
前記書込み手段への前記書込み長の設定を変更して、異なる複数の前記書込み長毎に前記書込みデータについての前記計測結果を取得し、前記計測結果に基づいて求めた、書込み速度が最も速くなる書込み長である最適書込み長を前記書込み長として設定する制御手段、
として動作させるための書込み制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置の書込み特性に対応した書込みを行うことができる書込み制御装置、書込み制御方法および書込み制御プログラムに関する。
【背景技術】
【０００２】
近年のＩＴ（Information Technology）化の進展にともない、各種の情報を記憶するストレージ装置の記憶容量は増大している。そのため、ストレージ装置への書込み速度の高速化が重要となってきている。
【０００３】
ストレージ装置へのデータの書込みには、所定の時間を要する。
【０００４】
図６は、ストレージ装置に書込まれるデータの長さ（以降、「書込み長」という。）に対する、書込み速度の特性（以降、「書込み特性」という。）が異なる２つのストレージ装置の例を示す。書込み特性Ａで示されたストレージ装置Ａの書込み速度は、書込み長Ｌａにおいて最大となる。また、書込み特性Ｂで示されたストレージ装置Ｂの書込み速度は、書込み長Ｌｂにおいて最大となる。図６で、書込み長をＬａとした場合、ストレージ装置Ｂの書込み速度は、ストレージ装置Ａより遅い。この場合、同じデータ量のデータを書込む場合、ストレージ装置Ｂへの書込み時間は、ストレージ装置Ａより長い。そのため、書込み長Ｌａでデータを書込む場合、情報処理装置はストレージ装置Ｂに書込みを迅速に行うことができない。
【０００５】
このような問題は、情報処理装置がストレージ装置へデータを書込む際の書込み長が固定されている場合にのみ発生するのではない。この問題は、ストレージ装置の書込み特性が変更された場合、例えばストレージ装置の記憶媒体が増設や更新されたりした場合にも発生することがある。また、この問題は、ストレージ装置の記憶媒体の書込み特性が経時的に変化した場合にも発生することが知られている。
【０００６】
特許文献１には、メモリＡに保持されたデータ（以降、「保持データ」という。）をメモリＢに書込むときのデータ制御方法とシステムが開示されている。特許文献１の技術では、保持データから誤り確認用のデータ（以降、「確認用データ」という。）を生成する。保持データと確認用データは、ともにメモリＢの指定された記憶領域に書込まれる。
【０００７】
特許文献１の技術では、メモリＢにデータを書込むときには、メモリＢへの書込み長、書込み速度は確認されない。特許文献１の技術では、メモリＢに保持データと確認用データが書込まれる際に書込みエラーが発生したとき、保持データとして書込まれたデータから保持データが復元できるか否かが確認される。特許文献１の技術では、保持データを復元できなければ、メモリＢの該当記憶領域にエラーがあることを記録し、メモリＢの他の記憶領域に再度書込みを行う。このように、特許文献１は保持データの書込みを保証する技術である。
【０００８】
特許文献２には、情報記憶装置へのデータの書込み時間を短縮する情報処理装置が開示されている。特許文献２の情報処理装置は、データを書込む対象の情報記憶装置への書込み速度が最も速い、最適書込み単位が登録されていれば、最適書込み単位でデータを書込む。また、特許文献２の情報処理装置は、最適書込み単位が登録されていなければ、予め用意された複数のデータ長のデータを情報記憶装置に書込む。そして、特許文献２の情報処理装置は、例えば、各データの書込み時間の測定結果から求められた最適書込み単位を登録する。このように、特許文献２は、情報記憶装置に対する最適書込み単位でデータの書込みを行う技術である。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１３−０３３５０７号公報（第５−１１頁、図１１）
【特許文献２】特開２０１１−１４１６４５号公報（第７−１１頁、図２、４）
【発明の概要】
【発明が解決しようとする課題】
【００１０】
特許文献１の技術は、メモリＡからメモリＢに保持データの書込みを保証するものである。しかし、特許文献１の技術では、メモリＢへデータを書込むときには、メモリＢの書込み特性は確認されない。すなわち、特許文献１の技術では、メモリＢの書込み特性が確認されることなく書込みが行われる。したがって、メモリＢが増設や更新されたことによって書込み特性が変わったとしても、その変化に対応した書込みができないという課題がある。
【００１１】
特許文献２の技術では、対象となる情報記憶装置がシステムに初めて接続されたときに、予め用意された複数のデータ長のデータを書込んでデータの書込み時間を実測し、その結果に基づいて最適書込み単位を決定する。そのため、特許文献２の技術では、情報記憶装置の記憶媒体の増設、更新があったり、時間が経過したりしたことによって情報記憶装置の書込み特性が変わったとしても、その変化に対応できないという問題がある。
【００１２】
そのため、特許文献２の技術には、情報記憶装置の書込み特性が変化した場合に、その変化に対応することができないという課題がある。
【００１３】
本発明の目的は、ストレージ装置の書込み特性に対応した書込みを行うことができる書込み制御装置、書込み制御プログラムおよび書込み制御方法を提供することにある。
【課題を解決するための手段】
【００１４】
本発明にかかる書込み制御装置は、外部から受信した受信データから、設定された書込み長の書込みデータを切り出して、書込みデータを外部の記憶装置へ書込む書込み手段と、記憶装置への書込みデータの書込みの開始から書込みの完了までに要する書込み時間を計測する計測手段と、書込み手段への書込み長の設定を変更して、異なる複数の書込み長毎に書込みデータについての計測結果を取得し、計測結果に基づいて求めた、書込み速度が最も速くなる書込み長である最適書込み長を書込み長として設定する制御手段とを備えることを特徴とする。
【００１５】
本発明にかかる書込み制御方法は、外部から受信した受信データから、設定された書込み長の書込みデータを切出して、書込みデータを外部の記憶装置へ書込み、記憶装置への書込みデータの書込みの開始から書込みの完了までに要する書込み時間を計測し、書込み長の設定を変更して、異なる複数の書込み長毎に書込みデータについての計測結果を取得し、計測結果に基づいて求めた、書込み速度が最も速くなる書込み長である最適書込み長を書込み長として設定することを特徴とする。
【００１６】
本発明にかかる書込み制御プログラムは、外部からのデータを受信データとして受信し、書込みデータを外部の記憶装置へ書込む書込み手段を備える書込み制御装置が備えるコンピュータを、受信データから、設定された書込み長の書込みデータを切出す切出し手段と、記憶装置への書込みデータの書込みの開始から書込みの完了までに要する書込み時間を計測する計測手段と、書込み手段への書込み長の設定を変更して、異なる複数の書込み長毎に書込みデータについての計測結果を取得し、計測結果に基づいて求めた、書込み速度が最も速くなる書込み長である最適書込み長を書込み長として設定する制御手段として動作させることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、ストレージ装置の書込み特性に対応した書込みを行うことができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の最小構成の書込み制御装置の構成を示す、第１の実施形態の書込み制御装置のブロック図である。
【図２】本発明の第１の実施形態の書込み制御装置の動作例を示すフローチャートである。
【図３】本発明の第２の実施形態の書込み制御装置の動作例を示すフローチャートである。
【図４】本発明の第３の実施形態のストレージシステムの構成例を示すブロック図である。
【図５】本発明の第３の実施形態の書込み制御装置の動作例を示すフローチャートである。
【図６】書込み長に対する書込み速度を示した書込み特性を説明する図である。
【発明を実施するための形態】
【００１９】
以下に、本発明の実施形態について図面を参照して詳細に説明する。
（第１の実施形態）
図１は、本発明の最小の構成の書込み制御装置１０の構成を示すブロック図である。図１を参照して、本実施形態の書込み制御装置１０の構成と動作について説明する。
【００２０】
書込み制御装置１０は、外部の情報処理装置２０とストレージ制御装置３０に接続される。
【００２１】
書込み制御装置１０は、制御手段１１、書込み手段１２と計測手段１３を備える。
【００２２】
制御手段１１は、後述する最適書込み長のサーチを行うための書込み長の初期値を書込み手段１２に通知する。そして、以降、書込み手段１２によるストレージ装置３０への書込みが完了するごとに、書込み長を変化させ、書込み手段１２に通知する。なお、書込みの完了は、ストレージ装置３０から書込み完了の応答などを取得して確認される。また、制御手段１１は、計測手段１３から通知される、各書込み長に対応する書込み時間と書込み長とから、各書込み長に対応する書込み速度を計算する。そして、制御手段１１は、書込み速度の計算結果から、最も速い書込み速度（以降、「最速書込み速度」という。）を求め、最速書込み速度が得られる書込み長（以降、「最適書込み長」という。）を判断する。最適書込み長が得られた後は、制御手段１１は、書込み手段１２に対して、最適書込み長での書込みを指示する。
【００２３】
書込み手段１２は、情報処理装置２０からストレージ装置３０への書込みデータを受信（以降、「受信データ」という。）する。そして、書込み手段１２は、制御手段１１から通知された書込み長のデータを、ストレージ装置３０へ書込む。具体的には、書込み手段１２は、受信データから、通知された書込み長のデータを切出す。そして、書込み手段１２は、切出したデータをストレージ装置３０に書込む。以降、書込み手段１２は、制御手段１１から通知される書込み長のデータを受信データから切出し、ストレージ装置３０へ書込む、という動作を繰り返す。
【００２４】
計測手段１３は、各書込み長のデータがストレージ装置３０に書込まれるときの、書込み時間の計測を行なう。そして、計測手段１３は、書込み長ごとのデータの書込み時間を制御手段１１に通知する。
【００２５】
図２は、本実施形態の書込み制御装置１０の動作例を示すフローチャートである。図２を参照して、書込み制御装置１０が最適書込み長をサーチするときの動作について説明する。
【００２６】
初めに、制御手段１１は、データ書込み回数Ｎの初期値を１に設定する（Ｓ１０１）。制御手段１１は、所定の書込み長Ｌ（Ｌは自然数）を書込み手段１２に通知する。ここで、書込み長Ｌは、書込み長をサーチする範囲に基づいて設定される。そして、データ書込み回数Ｎ（Ｎは自然数）の上限の回数は、書込み長をサーチする範囲と書込み長Ｌを変える時の変更幅のデータ長に基づいて設定される。
【００２７】
書込み手段１２は、情報処理装置２０からの受信データから、通知された書込み長Ｌのデータを切出す（Ｓ１０２）。そして、書込み手段４１は、切出された書込み長Ｌのデータをストレージ装置３０に書込む（Ｓ１０３）。このとき、計測手段１３は、書込み長Ｌのデータの書込み時間を計測して計測結果を制御手段１１に通知する。
【００２８】
制御手段１１は、書込み長Ｌのデータの書込み時間の計測結果を、計測手段１３から受信する（Ｓ１０４）。そして、制御手段１１は、書込み長Ｌのデータ量と計測された書込み時間から書込み速度を計算し（Ｓ１０５）、書込み長Ｌと計算した書込み速度を記憶する（Ｓ１０６）。
【００２９】
制御手段１１は、データ書込み回数Ｎが所定の回数Ｍ（Ｍは、データ書込み回数Ｎの上限の回数を示す自然数）となったか否かを確認する（Ｓ１０７）。制御手段１１は、データ書込み回数Ｎが回数Ｍとなっていなければ（Ｓ１０７：Ｎｏ）、データ書込み回数Ｎのカウントを１つ繰り上げる。そして、制御手段１１は、書込み長Ｌに所定のデータ長ａ（ａは、前述の書込み長の変更幅のデータ長を示す自然数）を加えた新たな書込み長Ｌを、書込み手段１２に通知する（Ｓ１０８）。そして、制御手段１１は、ステップ１０２の処理に戻る。
【００３０】
一方、制御手段１１は、データ書込み回数Ｎが回数Ｍとなっていれば（Ｓ１０７：Ｙｅｓ）、これまで記憶された各書込み速度の中から、書込み速度が最も速くなるときの書込み長、すなわち最適書込み長を判断する。そして、最適書込み長をストレージ装置３０への書込みデータ長に決定する（Ｓ１０９）。そして、制御手段１１は、決定された書込みデータ長を書込み長として書込み手段１２に通知する。書込み手段１２は、書込み長を書込み単位として、受信データをストレージ装置３０に書込む（Ｓ１１０）。
【００３１】
このように、本実施形態の書込み制御装置は、外部の情報処理装置から外部のストレージ装置へデータを書込むときの、書込み速度が最も速い最適書込み長を求める。そして、書込み制御装置は、最適書込み長を書込み単位として、ストレージ装置にデータを書込む。そのため、ストレージ装置の書込み特性に対応した最適な書込み長で書込みを行うことができる。
【００３２】
さらに、本実施形態は、情報処理装置およびストレージ装置に何ら変更を加えることはないので、既存のストレージシステムに適用できる効果がある。
【００３３】
また、本実施形態では、書込み時間の計測には受信データそのものが使われるので、計測用のデータを事前に用意しておくことは必要ない。そして、本実施形態では、計測に使われるデータが受信データから切出された書込みデータとしてストレージ装置に書込まれるので、計測に使われるデータも計測に要する時間も有効に使われる。したがって、本実施形態は、情報処理装置からストレージ装置への最適書込み長のサーチを有効に行うことができる。
【００３４】
また、本実施形態では、次の書込み長を決める際に、現在の書込み長に所定のデータ長ａ加えて、次の書込み長とすると説明した。しかし、次の書込み長は、所定のデータ長ａという固定値にもとづいて決めなくてもよい。例えば、長さが異なる複数の書込み長が予め記録された表に基づいて、次の書込み長が決定されてもよい。
【００３５】
また、図２に示した書込み制御装置１０のフローチャートは、本発明に関わる書込み制御装置１０の動作例として示したものであって、本発明の書込み制御装置の動作はこのフローチャートで示されたものに限定されない。
（第２の実施形態）
本発明の第２の実施形態の書込み制御装置４０について説明する。
【００３６】
書込み制御装置４０（図示なし）は、図１で示したと同様に、外部の情報処理装置２０（図示なし）とストレージ装置３０（図示なし）に接続される。そして、書込み制御装置４０は、制御手段１１が制御手段４１（図示なし）に変更される点が図１で説明した書込み制御装置１０と相違している。したがって、図１で説明した構成と同一の構成には、同一の名称と同一の番号を付けて説明を省略し、相違点について説明する。
【００３７】
制御手段４１は、最適書込み長のサーチを行うための書込み長を変更する処理が前述の制御手段１１と相違する。そこで、図３を参照して、書込み制御装置４０が最適書込み長をサーチする処理の動作での、制御手段１１との相違点を説明する。
【００３８】
図３は、本実施形態の書込み制御装置４０の動作例を示すフローチャートである。図３において、ステップＳ２０１、Ｓ２０２、Ｓ２０３の処理が追加されている点が、図２で説明した書込み制御装置１０のフローチャートと相違している。したがって、図２で説明したステップの処理と同一の処理については、同一の番号を付記して説明を省略する。
【００３９】
ここでは、制御手段４１が前述の制御手段１１と相違している処理、すなわち、ステップＳ１０７からステップＳ２０１、Ｓ２０２およびＳ２０３での処理について説明する。
【００４０】
制御手段４１は、データ転送回数Ｎが回数Ｍとなっていれば（Ｓ１０７：Ｙｅｓ）、これまで記憶された各書込み速度が書込み長に対して単調増加（あるいは単調減少）しているか否かを確認する（Ｓ２０１）。
【００４１】
制御手段４１は、各書込み速度が書込み長に対して単調増加していれば（Ｓ２０１：単調増加）、現在の書込み長Ｌより長くした新たな書込み長Ｌ、例えば書込み長ＬをＬ＋ａとした長さの書込み長を書込み手段１２に通知する（Ｓ２０２）。ここで、ａは、書込み長の変更幅を示すデータの長さを示す。そして、制御手段４１は、ステップＳ１０１に戻る。
【００４２】
制御手段４１は、各書込み速度が書込み長に対して単調減少していれば（Ｓ２０１：単調減少）、現在の書込み長Ｌより短くした新たな書込み長Ｌ、例えば書込み長ＬをＬ−ｂとした書込み長を書込み手段１２に通知する（Ｓ２０３）。ここで、ｂ（ｂは自然数）は、書込み長を短くするときのデータの長さを示す。ｂは、データ書込み回数Ｎの上限値Ｍと、書込み長の変更幅ａに基づいて設定される。そして、制御手段４１は、ステップＳ１０１に戻る。
【００４３】
一方、各書込み速度が書込み長に対して単調増加も単調減少もしていなければ（Ｓ２０１：Ｎｏ）、制御手段４１は、これまで記憶された各書込み速度の中から、最適書込み長を判断する。そして、最適書込み長をストレージ装置３０への書込みデータ長に決定する（Ｓ１０９）。そして、制御手段４１は、決定された書込みデータ長を書込み長として書込み手段１２に通知する。書込み手段１２は、書込み長を書込み単位として、受信データをストレージ装置３０に書込む（Ｓ１１０）。
【００４４】
このように、本実施形態の書込み制御装置は、外部の情報処理装置から外部のストレージ装置へデータを書込むときの、書込み速度が最も速い最適書込み長を求める。そして、書込み制御装置は、最適書込み長を書込み単位として、ストレージ装置にデータを書込む。そのため、ストレージ装置の書込み特性に対応した最適な書込み長で書込みを行うことができる。
【００４５】
さらに、本実施形態の書込み制御装置は、最適書込み長をサーチするときに得られた、各書込み長に対する各書込み速度の傾向、例えば単調増加（あるいは単調減少）の傾向に基づいて、書込み長の変更範囲を拡げることができる。すなわち、本実施形態の書込み制御装置は、当初のサーチ範囲で最適書込み長を求められないときには、自律的にサーチ範囲を拡げて最適書込み長を求めることができる。
【００４６】
なお、本実施形態では、次の書込み長を決める際に、現在の書込み長に所定のデータ長ａ加えて（あるいは所定のデータ長ｂを減じて）、次の書込み長とすると説明した。しかし、次の書込み長は、所定のデータ長ａ（あるいはデータ長ｂ）という固定値にもとづいて決めなくてもよい。例えば、長さが異なる複数の書込み長が予め記録された表に基づいて、次の書込み長が決定されてもよい。
【００４７】
また、図３に示した書込み制御装置４０のフローチャートは、本発明に関わる書込み制御装置４０の動作例として示したものであって、本発明の書込み制御装置の動作はこのフローチャートで示されたものに限定されない。
（第３の実施形態）
本発明の第３の実施形態について説明する。図４は、本実施形態のストレージシステム１の構成例を示すブロック図である。
【００４８】
図４を参照して、本実施形態のストレージシステム１の構成と動作について説明する。ストレージシステム１は、書込み制御装置５０と情報処理装置２０とストレージ装置３０＃１から３０＃ｎ（ｎは、１以上の整数）を備える。
【００４９】
書込み制御装置５０は、制御手段５１、書込み手段５２、計測手段５３と一時記憶手段５４を備える。書込み制御装置５０は、制御手段１１が制御手段５１に、書込み手段１２が書込み手段５２に、計測手段１３が計測手段５３に変更されて、一時記憶手段５４が追加されている点が、図１で説明した書込み制御装置１０と相違している。したがって、図１で説明した書込み制御装置１０との相違点について説明する。
【００５０】
制御手段５１は、最適書込み長のサーチを行うため、長さの異なる複数の書込み長を書込み手段５２に通知する。そして、書込み手段５２によるストレージ装置３０＃ｍ（ｍは、１以上、ｎ以下の整数）への書込みが完了するごとに、計測された書込み時間が計測手段１３から制御手段５１に通知される。制御手段５１は通知された複数の書込み長に対する各書込み時間から書込み速度を計算する。そして、制御手段５１は、各書込み速度の計算結果から最適書込み長を判断する。最適書込み長が得られた後は、制御手段５１は、書込み手段５２に対して、最適書込み長での書込みを指示する。一方、最適書込み長が得られないときは、制御手段５１は、新たに、長さの異なる複数の書込み長を書込み手段５２に通知して、最適書込み長のサーチを継続する。
【００５１】
書込み手段５２は、情報処理装置２０からストレージ装置３０＃ｍへの書込みデータを受信して、受信データとして一時記憶手段５４に記憶する。そして、書込み手段５２は、制御手段５１から通知された長さの異なる複数の書込み長に基づいて、各書込み長のデータを一時記憶手段５４に記憶された受信データから切出してストレージ装置３０＃ｍ（ｍは、１以上、ｎ以下の整数）に順次書込む。
【００５２】
計測手段５３は、各書込み長のデータがストレージ装置３０＃ｍに書込まれるのに要する書込み時間を、ストレージ装置３０＃ｍからの書込み完了の応答を受信して計測する。そして、計測手段５３は、計測された各書込み時間を制御手段５１に順次通知する。
【００５３】
一時記憶手段５４は、情報処理装置２０からストレージ装置３０＃ｍへの書込みデータ、すなわち受信データを一時記憶する。
【００５４】
情報処理装置２０は、送信手段２１と記憶手段２２を備える。送信手段２１は、記憶手段２２に記憶されたデータを送信する。記憶手段２２は、情報処理装置２０のデータ、例えば情報処理に関するデータを記憶する。
【００５５】
ストレージ装置３０＃１は、通信手段３１と記憶手段３２を備える。ストレージ装置３０＃ｍおよびストレージ装置３０＃ｎは、ストレージ装置３０＃１と同一の構成を備える。ここでは、ストレージ装置３０＃１の構成と動作について説明する。
【００５６】
ストレージ装置３０＃１は、通信手段３１により、書込み制御装置５０と通信する。記憶手段３２は、書込み制御装置５０からの書込みデータを記憶する。
【００５７】
図５は、本実施形態の書込み制御装置５０の動作例を示すフローチャートである。図４と図５を参照して、書込み制御装置５０の動作について説明する。
【００５８】
書込み手段５２は、情報処理装置２０の記憶手段１２からストレージ装置３０＃１への書込みデータを受信して、受信データとして一時記憶手段５４に記憶する（Ｓ３０１）。書込み手段５２は、制御手段５１から通知された長さの異なる複数の書込み長のデータを一時記憶手段５４の受信データから切出す（Ｓ３０２）。書込み手段５２は、各書込み長のデータをストレージ装置３０＃ｍに書込む（Ｓ３０３）。このとき、計測手段５３は、各書込み長のデータに対する各書込み時間を計測し、計測結果を制御手段５１に通知する（Ｓ３０４）。
【００５９】
制御手段５１は、各書込み長に対して計測された各書込み時間から各書込み速度を計算する（Ｓ３０５）。制御手段５１は、各書込み長と各書込み速度を記憶する（Ｓ３０６）。そして、制御手段５１は、これまで記憶された各書込み速度が書込み長に対して単調増加（あるいは単調減少）しているか否かを確認する（Ｓ３０７）。
【００６０】
制御手段５１は、各書込み速度が書込み長に対して単調増加していれば（Ｓ３０７：単調増加）、書込み長を長くした、長さの異なる複数の書込み長を書込み手段５２に通知して（Ｓ３０８）、ステップＳ３０２の処理に戻る。
【００６１】
制御手段５１は、各書込み速度が書込み長に対して単調減少していれば（Ｓ３０７：単調減少）、書込み長を短くした、長さの異なる複数の書込み長を書込み手段５２に通知して（Ｓ３０９）、ステップＳ３０２の処理に戻る。
【００６２】
一方、各書込み速度が書込み長に対して単調増加も単調減少もしていなければ（Ｓ３０７：Ｎｏ）、制御手段５１は、これまで記憶された各書込み速度の中から最適書込み長を判断し、最適書込み長をストレージ装置３０＃ｍへの書込みデータ長に決定する。そして、制御手段５１は、書込みデータ長を書込み長として書込み手段５２に通知する（Ｓ３１０）。書込み手段５２は、書込み長を書込み単位として、一時記憶手段５４の受信データをストレージ装置３０＃ｍに書込む（Ｓ３１１）。
【００６３】
このように、本実施形態のストレージシステム１の書込み制御装置は、情報処理装置からストレージ装置へデータを書込むとき、一時記憶された受信データから、長さの異なる複数の書込み長のデータをそれぞれ切出す。書込み制御装置は、各書込み長のデータをストレージ装置に書込んで、各書込み長での書込み時間を計測する。そして、書込み制御装置は、計測結果に基づいて、ストレージ装置の最適書込み長を求める。そして、書込み制御装置は、最適書込み長を書込み単位として、ストレージ装置に受信データを書込む。そのため、本実施形態は、ストレージ装置の書込み特性に対応した最適書込み長で書込みを行うことができる。
【００６４】
さらに、本実施形態の書込み制御装置は、情報処理装置からの受信データを一時記憶手段に記憶する。そのため、本実施形態では、一時記憶手段に記憶された受信データから逐次書込みデータを切出して、最適書込み長のサーチおよび受信データの書込み行うことができる。そのため、本実施形態では、情報処理装置からのデータの受信を待たされる可能性が低いので、ストレージ装置への受信データの書込みを安定に行うことができる。
【００６５】
また、本実施形態の書込み制御装置は、長さの異なる複数の書込み長によって最適書込み長のサーチを行う。そのため、本実施形態の書込み制御装置は、最適書込み長があると想定される範囲に予め絞られた複数の書込み長を書込み手段に通知することで、最適書込み長のサーチを効率的に求めることができる。そして、最適書込み長が求められないときには、本実施形態の書込み制御装置は、第２の実施形態と同様に、サーチ範囲を拡大して最適書込み長を求めることができる。
【００６６】
また、本実施形態の書込み制御装置では、計測手段がストレージ装置にデータの書込みが完了したことを、ストレージ装置から書込み完了の応答を受信することによって知ると説明した。しかし、計測手段がストレージ装置にデータの書込みが完了したか否かを知る方法は、上記の応答による方法に限定されない。例えば、計測手段は、ストレージ装置に書込みデータが送信されてから、ストレージ装置の状態が書込み可能状態となったか否かをモニタリングすればよい。この場合、計測手段は、ストレージ装置が書込み不可状態から書込み可能状態に遷移したことを検知することによって、ストレージ装置にデータの書込みが完了したことを知ることができる。
【００６７】
また、図５に示した書込み制御装置５０のフローチャートは、本発明に関わる書込み制御装置５０の動作例として示したものであって、本発明の書込み制御装置の動作はこのフローチャートで示されたものに限定されない。
【００６８】
なお、本願発明は、上述の各実施形態に限定されるものではなく、本願発明の要旨を逸脱しない範囲で種々変更、変形して実施することができる。
【００６９】
例えば、本発明の書込み制御装置は、各手段の履歴情報を記憶するために、さらに履歴記憶手段を備えてもよい。履歴記憶手段には、制御手段によって、各ストレージ装置の書込みデータ長の記録と記録時期を含む履歴情報が各ストレージ装置に対応して記憶される。この場合、制御手段は、ストレージ装置にデータを書込むときに、対象のストレージ装置の履歴情報、すなわち書込みデータ長の記録の有無と記録時期に基づいて、最適書込み長のサーチを行うか否かを判断する。例えば、制御手段は、書込みデータ長が記憶されていれば、記録時期を確認し、記録時期が所定の期間内であれば、書込み特性が変わっている可能性は低いと判断する。そして、制御手段は、記憶されている書込みデータ長を書込み手段に設定し、最適書込み長のサーチを保留する。所定の期間とは、ストレージ装置の書込み特性が経時的に変わるとされる期間に基づいて設定されればよい。また、制御手段は、記録時期が所定の期間を経過していれば、書込み特性が変わっている可能性が高いと判断する。そして、制御手段は、記憶されている書込みデータ長を含む複数の書込み長を書込み手段に設定して、最適書込み長のサーチを行う。一方、書込みデータ長が記憶されていなければ、制御手段は、予め設定された初期値としての複数の書込み長を書込み手段に設定して、最適書込み長のサーチを行う。そして、制御手段は、求められた最適書込み長を、対象のストレージ装置の書込みデータ長として履歴記憶手段に記憶させ、書込み手段に設定する。
【００７０】
また、履歴記憶手段には、さらに各ストレージ装置の記憶手段に対する増設または更新の実施記録と実施時期を含んだ履歴情報が記憶されてもよい。この場合、制御手段は、対象のストレージ装置の履歴情報、すなわちストレージ装置の記憶手段に対する増設または更新の実施記録の有無と実施時期、書込みデータ長の記録の有無と記録時期に基づいて、最適書込み長のサーチを行うか否かを判断する。例えば、制御手段は、書込みデータ長が記憶された後にストレージ装置に対する増設または更新の実施記録が記憶されていれば、書込み特性が変わっている可能性が高いと判断する。そして、制御手段は、記憶されている書込みデータ長を含む複数の書込み長を書込み手段に設定して、最適書込み長のサーチを行う。また、制御手段は、ストレージ装置への増設または更新が実施された後に書込みデータ長が記憶され、記録時期が所定の期間を経過していなければ、書込み特性が変わっている可能性が低いと判断する。そして、制御手段は、記憶されている書込みデータ長を書込み手段に設定し、最適書込み長のサーチを保留する。
【００７１】
このように、本発明の書込み制御装置は、履歴記憶手段を備えることにより、対象のストレージ装置の記憶手段に対する増設または更新の実施記録の有無と実施時期、書込みデータ長の記録の有無と記録時期に基づいて、最適書込み長のサーチの実施を判断できる。そのため、本発明の書込み制御装置は、最適書込み長のサーチを行うか否かの判断を行うことができるので、最適書込み長のサーチの保留を含む的確な対応ができる。
【００７２】
また、本発明のストレージシステムは、情報処理装置の記憶手段をＤＩＭＭ（Dual Inline Memory Module）に実装されたＳＤＲＡＭ（Synchronous Dynamic Random Access Memory、以降、単にＳＲＡＭという。）とし、ストレージ装置の記憶手段をＮＡＮＤ  Ｆｌａｓｈ（NAND-type Flash Memory、以降、フラッシュメモリという。）として、書込み制御装置をＣＰＵ（Central Processing Unit）とした構成にも適用される。この場合、ＳＲＡＭに記憶された、例えばキャッシュデータは、ＣＰＵによって、適宜、フラッシュメモリに書込まれる。この場合、本ストレージシステムでは、フラッシュメモリに対する書込み時間を最短とする最適書込み長が求められて、最適書込み長を書込み単位としてキャッシュデータがフラッシュメモリに書込まれる。そのため、キャッシュデータがフラッシュメモリの書込み特性に対応した最適な書込みデータ長で書込まれるので、本ストレージシステムは、キャッシュデータの書込み仕様として規定される書込み時間を満足させられる可能性を高めることができる。
【００７３】
また、本発明の書込み制御装置が行うストレージ装置の最適書込み長を判断するサーチの実施タイミングは限定されない。本発明の書込み制御装置は、情報処理装置からストレージ装置へデータを書込むタイミングであれば、いずれのタイミングで最適書込み長のサーチを行ってもよい。例えば、書込み制御装置は、最適書込み長のサーチを、対象となるストレージ装置へデータを送信するときの最初のシーケンスで常に行ってもよいし、適宜、適切な周期で行ってもよい。
【００７４】
また、本発明では、情報処理装置と書込み制御装置、書込み制御装置とストレージ装置のそれぞれの装置間で通信すると説明したが、それぞれの装置間での通信方式は限定されない。本発明に関わる装置間の通信方式は、移動体通信や衛星通信を含む一般の各種の無線通信であってもよいし、有線通信であってもよい。すなわち、本発明に関わる装置間の通信方式は、情報処理装置からストレージ装置へデータが送信されて、送信されたデータがストレージ装置に記憶されるものであればよく、それぞれの装置間の通信方式は限定されない。
【００７５】
なお、上述の各実施形態の書込み制御に関わる処理は、本発明の書込み制御装置、ストレージ装置あるいは情報処理装置が備えるコンピュータを用いたソフトウェアによって実行されてもよい。すなわち、書込み制御処理を行うコンピュータプログラムが、ＣＰＵ（図示なし）によって読み込まれ、実行されることによって、書込み制御処理の制御が行われてもよい。プログラムを用いて書込み制御処理の制御を行っても、上述の実施形態の書込み制御処理と同内容の処理を行うことができる。
【００７６】
なお、プログラムは、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、フラッシュメモリ等の半導体記憶装置、光ディスク、磁気ディスク、光磁気ディスク等、非一時的な媒体に格納されてもよい。
【符号の説明】
【００７７】
１    ストレージシステム
１０、４０、５０    書込み制御装置
１１、４１、５１    制御手段
１２、５２    書込み手段
１３、５３    計測手段
５４    一時記憶手段
２０    情報処理装置
２１    送信手段
２２、３２    記憶手段
３０、３０＃１、３０＃ｍ、３０＃ｎ    ストレージ装置
３１    通信手段
【図１】
2015184855.tif 000003
【図２】
2015184855.tif 000004
【図３】
2015184855.tif 000005
【図４】
2015184855.tif 000006
【図５】
2015184855.tif 000007
【図６】
2015184855.tif 000008