(57)【要約】【課題】小さなデータサイズのホストからの書き込みに伴う性能の低下を抑制しつつ、処理単位の異なるホストおよび記憶デバイスの混載環境でも運用することができる記憶デバイスの制御装置等を提供する。【解決手段】第１セクタサイズより小さい第２セクタサイズのデータを扱う第２ホストから、該第２セクタサイズの対象データを記憶する指示が成されるのに応じて、該第２セクタサイズの対象データを、ブロック毎のデータ内容を保証する保証データを付加した第３セクタサイズで区画するとともに整列した変換データに変換し、その変換データの前記一次記憶デバイス２における格納場所を表す情報と、その格納場所に対応する前記二次記憶デバイス３の格納場所を表す情報とを関連付けたテーブル５を記憶すると共に、前記一次記憶デバイス２に、前記変換データを記憶すると共に、前記テーブル５を基に、前記一次記憶デバイス２から、前記二次記憶デバイス３にデータを書き込む。【選択図】      図１
2013205913.tif 000002
【特許請求の範囲】
【請求項１】
第１ホスト装置が扱うデータの第１セクタサイズに対応するセクタサイズのデータを一時記憶する一次記憶デバイスと、該一次記憶デバイスより応答速度が遅く、該第１セクタサイズのデータを記憶する二次記憶デバイスとの書き込み動作を制御する制御部を備え、前記制御部は、前記第１セクタサイズより小さい第２セクタサイズのデータを扱う第２ホストから、該第２セクタサイズの対象データを記憶する指示が成されるのに応じて、該第２セクタサイズの対象データを、ブロック毎のデータ内容を保証する保証データを付加した第３セクタサイズで区画するとともに整列した変換データに変換し、その変換データの前記一次記憶デバイスにおける格納場所を表す情報と、その格納場所に対応する前記二次記憶デバイスの格納場所を表す情報とを関連付けたテーブルを記憶すると共に、前記一次記憶デバイスに、前記変換データを記憶すると共に、前記テーブルを基に、前記一次記憶デバイスから、前記二次記憶デバイスにデータを書き込むことを特徴とする記憶デバイスの制御装置。
【請求項２】
前記制御部は、前記変換データを構成する際に格納場所を生成並びに更新する前記テーブルを参照することにより、前記一次記憶デバイスに格納した前記変換データを前記二次記憶デバイスに転送する際に、該二次記憶デバイスのセクタサイズが前記第１セクタサイズより小さいサイズを扱う場合には、前記テーブルの転送対象の変換データの格納場所と、サイズに基づいてデータを格納することを特徴とする請求項１に記載の記憶デバイスの制御装置。
【請求項３】
前記制御部は、何れかの前記ホストからのデータ読み出し動作に応じて、前記変換データを格納した何れかの前記二次記憶デバイスのデータを、何れかのホストに転送する際に、前記テーブルの転送対象の変換データの格納場所とサイズに基づいて、前記二次記憶デバイスにおける対象変換データを読み出すと共に、読み出した変換データが有する保証データを削除したセクタデータを読み出し元のホストに格納することを特徴とする請求項１に記載の記憶デバイスの制御装置。
【請求項４】
前記制御部は、何れかの前記ホストからのデータ読み出し動作に応じて、前記変換データを格納した前記一次記憶デバイスのデータを、何れかのホストに転送する際に、前記テーブルの転送対象の変換データの格納場所とサイズに基づいて、前記一次記憶デバイスにおける対象変換データを読み出すと共に、読み出した変換データが有する保証データを削除したセクタデータを読み出し元のホストに格納することを特徴とする請求項１に記載の記憶デバイスの制御装置。
【請求項５】
前記何れかのホストから前記キャッシュメモリであるキャッシュ部へデータを書き込む際に、前記チェックビット付加部は、前記何れかのホストが有する小さいセクタサイズであるブロック単位に分割した該ブロック毎にチェックビットを付加すると共に、該ブロックを再度結合することにより変換データに変換した後に、前記ホストの書き込みデータが前記ブロックサイズより大きなセクタである場合、前記ＰＳＮ・ＳＳＮ変換部において、ＰＳＮをＳＳＮに変換した後に前記セクタ管理テーブルのキャッシュページに前記ＰＳＮおよび前記ＳＳＮを登録すると共に、前記ＰＳＮ情報に基づきキャッシュ部へデータを書き込み、前記ホストの書き込みデータがブロックサイズと同じサイズの小さなセクタである場合、前記ＰＳＮ・ＳＳＮ変換部において、前記書き込みデータのＰＳＮを前記ホストのセクタサイズのＰＳＮに変換すると共に、元々のＰＳＮをＳＳＮと見なし、前記セクタ管理テーブルに前記ＰＳＮおよび前記ＳＳＮを登録した後、前記ＳＳＮ情報に基づきキャッシュ部へデータを書き込むＦｉｒｓｔ  Ｗｒｉｔｅ処理を行うことを特徴とする請求項１に記載の記憶デバイスの制御装置。
【請求項６】
前記何れかのホストから前記何れかのＨＤＤへデータを書き込む際に、前記チェックビット付加部は、前記何れかのホストが有する小さいセクタサイズであるブロック単位に分割した該ブロック毎にチェックビットを付加すると共に、該ブロックを再度結合することにより変換データに変換した後に、書き込み対象の前記ＨＤＤのセクタサイズが前記ブロックサイズより大きくかつ、前記ホストのデータ書込みサイズが前記ブロックサイズより大きい場合、前記ＰＳＮ情報に基づいて大きなセクタの前記ＨＤＤへ書き込み、書き込み対象の前記ＨＤＤのセクタサイズが前記ブロックサイズより大きくかつ、前記ホストの書き込みデータが前記ブロックサイズと同じ小さなセクタである場合、前記ＰＳＮ・ＳＳＮ変換部にて、前記書き込みデータの前記ＰＳＮを前記ホストのセクタサイズであるＰＳＮに変換し、該ＰＳＮ情報に基づいて大きなセクタのＨＤＤへ書き込み、書き込み対象のＨＤＤが小さなセクタでかつ、前記ホストのデータ書込みのセクタサイズがブロックサイズより大きいセクタである場合、前記ＰＳＮ・ＳＳＮ変換部にて前記書き込みデータの前記ＰＳＮを前記ＳＳＮに変換し、書き込み対象ＨＤＤが小さなセクタでかつ、前記ホストが小さなセクタである場合、前記小さなセクタのホストからの前記ＰＳＮを前記ＳＳＮとして扱い、該ＳＳＮ情報に基づいて前記小さなセクタのＨＤＤへデータを書き込むＷｒｉｔｅ  Ｔｈｒｏｕｇｈ処理を行うことを特徴とする請求項１に記載の記憶デバイスの制御装置。
【請求項７】
前記キャッシュ部から前記ホストへのデータ読み出しの際、前記ホストが小さいセクタの場合は、読み出し要求のＰＳＮをＳＳＮとして扱い、セクタ管理テーブルを参照することにより、読み出し要求のＳＳＮから該当読み出しデータを決定すると共に前記キャッシュ部から該当データを読み出し、前記ホストが大きいセクタの場合は、セクタ管理テーブルを参照することにより、前記読み出すＰＳＮ情報から、該当読み出しデータを決定すると共に前記キャッシュ部から該当データを読み出した後、前記読み出しデータをチェックビット付加部にて、前記ホストが読み出すデータをブロックに分割した後に、該分割したブロック単位毎に前記チェックビットをチェックした後に該チェックビットを削除してから、分割したブロックを再度結合することにより読み出すデータを成して、該読み出しデータをホストに転送するＨｉｔ  Ｒｅａｄ処理を行うことを特徴とする請求項１に記載の記憶デバイスの制御装置。
【請求項８】
前記何れかのＨＤＤから前記何れかのホストへのデータ読み出しの際、読み出す対象の前記ＨＤＤが大きなセクタの場合でかつ、前記データを読み出すホストが小さなセクタの場合には、前記ＰＳＮ・ＳＳＮ変換部にて、前記読み出しデータのＰＳＮを、前記大きなセクタのホストのＰＳＮに変換すると共に、該ＰＳＮ情報に基づいて前記大きなセクタのＨＤＤから該当ＰＳＮデータを読み出すと共に、読み出す対象の前記ＨＤＤが大きなセクタの場合でかつ、前記ホストが大きなセクタの場合には、前記大きなセクタのＨＤＤから該当ＰＳＮのデータを読み出し、前記読み出し対象のＨＤＤが小さなセクタの場合でかつ、前記データを読み出すホストが大きなセクタの場合には、前記ＰＳＮ・ＳＳＮ変換部にて、前記読み出すＰＳＮをＳＳＮに変換し、該ＳＳＮ情報に基づき小さなセクタのＨＤＤから該当データを読み出し、前記読み出し対象のＨＤＤが小さなセクタの場合でかつ、前記データを読み出すホストが小さいセクタの場合には、前記ＰＳＮをＳＳＮとして扱い、該ＳＳＮ情報に基づき小さいセクタのＨＤＤから該当データを読み出した後、前記読み出しデータに対して前記チェックビット付加部にて、前記ホストが読み出すデータをブロックに分割した後に、該分割したブロック単位毎に前記チェックビットをチェックした後に該チェックビットを削除してから、分割したブロックを再度結合することにより読み出すデータを成して、該読み出しデータをホストに転送するＭｉｓｓ  Ｒｅａｄ処理を行うことを特徴とする請求項１に記載の記憶デバイスの制御装置。
【請求項９】
第１ホスト装置が扱うデータの第１セクタサイズに対応するセクタサイズのデータを一時記憶する一次記憶デバイスと、該一次記憶デバイスより応答速度が遅く、該第１セクタサイズのデータを記憶する二次記憶デバイスとの書き込み動作を制御する制御部を備え、
前記制御部は、前記第１セクタサイズより小さい第２セクタサイズのデータを扱う第２ホストから、該第２セクタサイズの対象データを記憶する指示が成されるのに応じて、該第２セクタサイズの対象データを、ブロック毎のデータ内容を保証する保証データを付加した第３セクタサイズで区画するとともに整列した変換データに変換し、
その変換データの前記一次記憶デバイスにおける格納場所を表す情報と、その格納場所に対応する前記二次記憶デバイスの格納場所を表す情報とを関連付けたテーブルを記憶すると共に、前記一次記憶デバイスに、前記変換データを記憶すると共に、前記テーブルを基に、前記一次記憶デバイスから、前記二次記憶デバイスにデータを書き込む
ことを特徴とする記憶デバイスの制御方法。
【請求項１０】
記憶デバイスの制御装置を制御するコンピュータ・プログラムであって、そのコンピュータ・プログラムにより、
第１ホスト装置が扱うデータの第１セクタサイズに対応するセクタサイズのデータを一時記憶する一次記憶デバイスと、該一次記憶デバイスより応答速度が遅く、該第１セクタサイズのデータを記憶する二次記憶デバイスとの書き込み動作を制御する制御部を備え、前記制御部は、前記第１セクタサイズより小さい第２セクタサイズのデータを扱う第２ホストから、該第２セクタサイズの対象データを記憶する指示が成されるのに応じて、該第２セクタサイズの対象データを、ブロック毎のデータ内容を保証する保証データを付加した第３セクタサイズで区画するとともに整列した変換データに変換し、その変換データの前記一次記憶デバイスにおける格納場所を表す情報と、その格納場所に対応する前記二次記憶デバイスの格納場所を表す情報とを関連付けたテーブルを記憶すると共に、前記一次記憶デバイスに、前記変換データを記憶すると共に、前記テーブルを基に、前記一次記憶デバイスから、前記二次記憶デバイスにデータを書き込む
制御をコンピュータに実現させることを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば異なるセクタサイズを有するホストおよび記憶デバイスを制御する記憶装置の技術分野に関する。
【背景技術】
【０００２】
近年、記憶デバイスであるハードディスクドライブ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ；以下、「ＨＤＤ」と略称する）の大容量化に伴い、そのデータを格納する際の処理単位であるセクタのサイズは、４キロバイト（Ｋｉｌｏ  Ｂｙｔｅ。以下、「ＫＢ」と略称する）のＨＤＤが主流になりつつある。
【０００３】
また、情報処理装置であるホストが有するＯｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（オペレーティングシステム。以下、「ＯＳ」と略称する）も、上述のＨＤＤのセクタサイズである４ＫＢに対応しつつある。
【０００４】
しかし、ＨＤＤのセクタサイズは５１２バイト（Ｂｙｔｅ。以下、「Ｂ」と略称する）セクタから、４ＫＢセクタのＨＤＤへ置き換えられつつあるのに対して、古いＯＳで動作するホストなどにより、依然として５１２Ｂセクタのままで使用され続けるケースがある。
【０００５】
係る異なるセクタサイズを有するホストとＨＤＤとの組み合わせが生ずる状況において、４ＫＢセクタのＨＤＤにより構成する複数のストレージを組み合わせる４ＫＢセクタを前提とした記憶装置であるたとえばディスクアレイ装置に対して、５１２Ｂセクタのホストを接続する場合がある。
【０００６】
係る組み合わせの場合には、ホストから記憶装置にデータを書き込む際の記憶装置が有するデータの一時保管場所であるキャッシュメモリへのデータ書込みであるライト処理（以下、「Ｆｉｒｓｔ  Ｗｒｉｔｅ処理」と称する）において、データ長が４ＫＢに満たない場合や、４ＫＢの境界を跨いで格納する状況が生じる。
【０００７】
この様なケースでは、リード・モディファイ・ライト（すなわち、ＨＤＤの内容を更新するためにＨＤＤから書き込み対象セクタを読み出したのち、その読み出したデータの変更箇所のみを更新してから再びその書き込み対象セクタに書き込む）処理をする必要が生じるので、ディスクアレイ装置内でセクタ毎にトレーラと呼ぶ記憶措置内のデータの完全性を保証するデータの誤り検出並びに誤り訂正および適切な格納場所に保管していることを示す識別子を計算すると共にセクタの末尾に付加し直す必要が生じる。
【０００８】
つまり、４ＫＢセクタ単位のホストからアクセスする場合は、ディスクアレイ装置が有するホストと接続するインタフェース制御チップによってトレーラの計算および付加の処理を行うことができるのに対して、５１２Ｂセクタ単位のホストからのアクセスの場合には、ディスクアレイ装置が備える制御プログラムを用いて個別にトレーラの計算および付加をする必要があるため、ディスクアレイ装置の制御にとって負荷となる。
【０００９】
また、そのリード・モディファイ・ライト処理の実行に伴って、ディスクアレイ装置としてのターンアラウンドタイム（つまり、応答時間。以下、「ＴＡＴ」と略称する）が延びることになる。
【００１０】
さらに、上述した４ＫＢセクタのＨＤＤを用いることを前提とした記憶装置においては、セクタサイズがそれより小さいたとえば５１２ＢセクタのＨＤＤを使用することができないという問題がある。
【００１１】
ここで、特許文献１に記載の技術は、ホストから記憶装置が有するＨＤＤへデータを格納する際に、ホストから記憶装置に格納するセクタサイズより小さいサブセクタサイズに分割すると共に、格納する際に必要なサイズのセクタになるように結合するので、ホストやＨＤＤが大きなサイズのセクタを有していてもデータを授受することができるとともに、そのデータの途中経路において小さなセクタに分割しているので、その経路に設けた一時記憶のためのメモリ容量を抑制することができることを開示している。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２０１０−２６７１６４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
上述した特許文献１に記載の技術は、大きいサイズのセクタを有するホストからの書き込みや、大きいサイズのセクタを有するＨＤＤからの読出しの際に、検査部によりデータの誤り検知並びに誤り訂正可能な誤り訂正符号（以下、同様）を付加する際に、一旦小さいサイズのセクタへの分割を行い、その小さいセクタサイズごとに誤り訂正符号を付加することにより、データを相手先に転送する際の誤りの有無を確認しつつセクタ単位のデータを転送する相手先に必要なサイズのセクタに再び結合してから転送している。
【００１４】
しかしながら、セクタサイズが小さいホストが接続された場合、大きいセクタサイズのＨＤＤへの記録の際に、データ長が４ＫＢに満たない場合や、４ＫＢの境界を跨いで格納する場合に、リード・モディファイ処理を実施したあとに、誤り訂正符号付与することになり、ＴＡＴ時間が延びて処理性能が低下するという課題に対する処置は開示されていない。
【００１５】
また、大小のセクタサイズを有する複数のホストおよび複数のＨＤＤが、それぞれ異なるセクタサイズの組合せで混在する装置環境に対する処置は開示されていない。
【００１６】
本発明の主たる目的は、上述した課題を解決するために、現在の処理単位のデータに加えて、その処理単位より小さいサイズの処理単位のデータを併せて持つことにより、小さなセクタサイズのホストからの書き込みに伴う追加処理による性能の低下を抑制しつつ、処理単位の異なるホストおよび記憶デバイスが組み合わさった混載環境でも運用することができる記憶デバイスの制御装置等を提供することである。
【課題を解決するための手段】
【００１７】
本発明は、上述した課題の解決を目的としてなされた。即ち、本発明に係る記憶デバイスの制御装置は、第１ホスト装置が扱うデータの第１セクタサイズに対応するセクタサイズのデータを一時記憶する一次記憶デバイスと、該一次記憶デバイスより応答速度が遅く、該第１セクタサイズのデータを記憶する二次記憶デバイスとの書き込み動作を制御する制御部を備え、前記制御部は、前記第１セクタサイズより小さい第２セクタサイズのデータを扱う第２ホストから、該第２セクタサイズの対象データを記憶する指示が成されるのに応じて、該第２セクタサイズの対象データを、ブロック毎のデータ内容を保証する保証データを付加した第３セクタサイズで区画するとともに整列した変換データに変換し、その変換データの前記一次記憶デバイスにおける格納場所を表す情報と、その格納場所に対応する前記二次記憶デバイスの格納場所を表す情報とを関連付けたテーブルを記憶すると共に、前記一次記憶デバイスに、前記変換データを記憶すると共に、前記テーブルを基に、前記一次記憶デバイスから、前記二次記憶デバイスにデータを書き込む。
【００１８】
なお、同目的は、上記構成を有する上述した記憶デバイスの制御装置のほか、及びその制御方法、並びにコンピュータ・プログラム、およびそのコンピュータ・プログラムが格納されている、コンピュータ読取り可能な記憶媒体によっても達成される。
【発明の効果】
【００１９】
本発明によれば、記憶デバイスの制御装置等において、現在の処理単位のデータに加えて、その処理単位より小さいサイズの処理単位のデータを併せて持つことにより、小さなセクタサイズのホストからの書き込みに伴う追加処理による性能の低下を抑制しつつ、処理単位の異なるホストおよび記憶デバイスが組み合わさった混載環境でも運用することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施形態に係る記憶デバイスの制御装置の概要を示すブロック図である。
【図２】本発明の第２の実施形態に係る記憶デバイスの制御装置の詳細を示すブロック図である。
【図３】本発明の第２の実施形態に係る記憶デバイスの制御装置におけるチェックビット付加部のホスト計算機からの受信動作を説明する図である。
【図４】本発明の第２の実施形態に係る記憶デバイスの制御装置におけるチェックビット付加部のキャッシュセクタ管理部からの受信動作を説明する図である。
【図５】本発明の第２の実施形態に係る記憶デバイスの制御装置におけるＰＳＮ・ＳＳＮ変換部の動作を説明する図である。
【図６】本発明の第２の実施形態に係る記憶デバイスの制御装置におけるセクタ管理テーブルを説明する図である。
【図７】本発明の第２の実施形態に係る記憶デバイスの制御装置におけるＦｉｒｓｔ  Ｗｒｉｔｅ処理の動作を説明するフローチャートである。
【図８】本発明の第２の実施形態に係る記憶デバイスの制御装置におけるＷｒｉｔｅ  Ｔｈｒｏｕｇｈ処理の動作を説明するフローチャートである。
【図９】本発明の第２の実施形態に係る記憶デバイスの制御装置におけるＨｉｔ  Ｒｅａｄ処理の動作を説明するフローチャートである。
【図１０】本発明の第２の実施形態に係る記憶デバイスの制御装置におけるＭｉｓｓ  Ｒｅａｄ処理の動作を説明するフローチャートである。
【図１１】本発明の第３の実施形態に係る記憶デバイスの制御装置を実現するコンピュータ・ソフトウェアの動作を説明する図である。
【発明を実施するための形態】
【００２１】
以下、本発明を実施する形態について図面を参照して詳細に説明する。
【００２２】
＜第１の実施形態＞
本発明の第１の実施形態の構成について説明する。図１は、本発明の第１の実施形態に係る記憶デバイスの制御装置の概要を示すブロック図である。
【００２３】
本実施形態の記憶デバイスの制御装置は、ホスト４と、記憶装置６とからなり、記憶装置６は、制御部１と、一次記憶デバイス２と、二次記憶デバイス３と、テーブル５とからなる。また、記憶デバイス７は、一次記憶デバイス２と、二次記憶デバイス３とからなる。
【００２４】
ここで、セクタとは、ホスト４と記憶装置６との間、あるいは制御部１と記憶デバイス７との間でデータを格納する際に転送するデータの処理単位である。
【００２５】
また、ホスト４との間でデータをやりとりする記憶デバイス７を構成する、一次記憶デバイス２は一時的に記憶する記憶デバイスであり、二次記憶デバイス３は一次記憶デバイス２より応答速度が遅い記憶デバイスである。
【００２６】
また、ホスト４および、二次記憶デバイス３はそれぞれ複数種類のセクタサイズのホストおよび、二次記憶デバイスを接続可能である。
【００２７】
ここで、本実施形態の動作と効果を判りやすく説明するために、本来予定されている一次記憶デバイス２と、二次記憶デバイス３および、これらに接続するホスト４との間でデータを転送するセクタサイズと比べて、ホストのセクタサイズが小さい場合で、そのホストから書き込みをする場合の本記憶装置６の動作を中心に説明する。
【００２８】
本記憶装置６は、複数種類の接続可能なホストのうちの本来予定している第１ホスト装置４が扱うデータの第１セクタサイズに対応するセクタサイズのデータを一時的に記憶する一次記憶デバイス２と、その一次記憶デバイス２より応答速度が遅く、第１セクタサイズのデータを記憶する二次記憶デバイス３との書き込み動作を制御する制御部１を備えている。
【００２９】
そして、制御部１は、第１セクタサイズより小さい第２セクタサイズのデータを扱う図示していない第２ホスト装置から、その第２セクタサイズの対象データを記憶する指示が成されるのに応じて、第２セクタサイズの対象データを、ブロック毎のデータ内容を保証する保証データを付加した第３セクタサイズで区画するとともに整列した変換データに変換する。
【００３０】
そして、その変換データの一次記憶デバイス２における格納場所を表す情報と、その格納場所に対応する二次記憶デバイス３の格納場所を表す情報とを関連付けたテーブル５において記憶すると共に、一次記憶デバイス２に変換データを記憶すると共に、テーブル５を基に、一次記憶デバイス２から、二次記憶デバイス３にデータを書き込む。
【００３１】
なお、ホスト４と記憶装置６との間で転送するデータサイズは、ホスト４がその内部で扱うセクタサイズであってもよいし、ホスト４が記憶装置６にデータを格納する際の転送するデータの処理単位であってもよい。
【００３２】
すなわち本実施形態によれば、以下の効果を奏することができる。
【００３３】
第１の効果は、制御部１により、ホスト４との間で小さいセクタサイズ単位に分割することによって、現在の処理単位のデータに加えて、その処理単位より小さいサイズの処理単位によるデータを併せ持つことにより、小さなセクタサイズのホスト４からのデータの
書き込みに際して、記憶装置６が備える一次記憶デバイス２の大きいセクタサイズに小さいセクタサイズの区画を整列して収めることができる。
【００３４】
そのため、大きいセクタサイズの一部もしくは大きいセクタサイズの境界に跨ってデータを書き込むことが無くなるので、追加の処理である二次記憶デバイス３から一旦大きいセクタサイズのデータを一次記憶デバイス２に読み込んで、必要な箇所のみを更新したあとに再度二次記憶デバイス３に書き込むという処理が不要となり、それに伴って制御部１に処理負荷がかからなくなる。
【００３５】
また、それにより記憶装置６としての応答性能であるＴＡＴ性能の低下を抑制することができるという効果を奏することができる。
【００３６】
第２の効果は、小さいセクタサイズを用いることによって、セクタサイズが異なるホスト４および二次記憶デバイス３の混在環境における制御ができるという効果を奏することができる。
【００３７】
つまり、本実施形態によれば、記憶デバイスの制御装置等において、現在の処理単位のデータに加えて、その処理単位より小さいサイズの処理単位のデータを併せて持つことにより、小さなセクタサイズのホストからの書き込みに伴う追加処理による性能の低下を抑制しつつ、処理単位の異なるホストおよび記憶デバイスが組み合わさった混載環境でも運用することができる。
【００３８】
以上、本発明の第１の実施形態として、上述した構成および動作を例に説明したが、本発明は、必ずしも係る構成や動作には限定されない。
【００３９】
＜第２の実施形態＞
次に、第１の実施形態を基本とする本発明の第２の実施形態について図２乃至図１０を参照して詳細に説明する。図２は本発明の第２の実施形態に係る記憶デバイスの制御装置であるディスクアレイ装置の詳細を示すブロック図である。
【００４０】
本実施形態のディスクアレイ装置４００は、制御部１００およびディスク部２００とで構成される。
【００４１】
制御部１００は、チェックビット付加部１０１と、キャッシュセクタ管理部１０２と、キャッシュ１０３とを備える。
【００４２】
ここで、チェックビットとは、ディスクアレイ装置４００内のデータの転送の際に、誤りが発生しているか否かを検出すると共に、誤りが発生していた場合は、自らの訂正符号を基に訂正することが可能な誤り訂正符号であり、かつ適切な格納場所に格納されていることを保証する保証データであり、上述した識別子であるトレーラに対応しており、以下の説明においてはチェックビットと称する。
【００４３】
キャッシュセクタ管理部１０２は、セクタ管理テーブル１１２とＰＳＮ・ＳＳＮ変換部１２２とを備える。ここで、ＰＳＮ（Ｐｈｙｓｉｃａｌ  Ｓｅｃｔｏｒ  Ｎｕｍｂｅｒ）とは物理セクタ番号であり、ＳＳＮ（Ｓｍａｌｌ  Ｓｅｃｔｏｒ  Ｎｕｍｂｅｒ）
とは小セクタ番号である。
【００４４】
ディスク部２００は複数台のハードディスクドライブを有しており、たとえばＨＤＤ２０１と、ＨＤＤ２０２とを備える。ＨＤＤ２０１のセクタサイズはＨＤＤ２０２のセクタサイズより大きく、例えばＨＤＤ２０２のセクタサイズの整数倍である。
【００４５】
ホスト計算機Ａ３００およびホスト計算機Ｂ３０１は、チェックビット付加部１０１を介してディスクアレイ装置４００と接続される。ホスト計算機Ａ３００のセクタサイズはホスト計算機Ｂ３０１のセクタサイズより大きく、ホスト計算機Ｂのセクタサイズの整数倍である。
【００４６】
たとえば、ディスクアレイ装置４００にセクタサイズが４ＫＢのホスト計算機Ａ３００と、セクタサイズが５１２Ｂのホスト計算機Ｂ３０１、およびセクタサイズが４ＫＢのＨＤＤ２０１と、セクタサイズが５１２ＢのＨＤＤ２０２とが接続されている。
【００４７】
説明の都合上、上述のセクタサイズを一例としたが、上述したサイズおよび組み合わせに限定しているわけではない。
【００４８】
また、ＨＤＤ２０１、ＨＤＤ２０２の個々のセクタには、上述したチェックビットを付加した状態で格納することとする。
【００４９】
図２に示すように、ディスクアレイ装置４００が有する制御部１００は、チェックビット付加部１０１、キャッシュセクタ管理部１０２、キャッシュ１０３およびディスク部２００を制御する。
【００５０】
図２を参照すると、チェックビット付加部１０１はホスト計算機Ａ３００もしくはホスト計算機Ｂ３０１からのデータを受信すると共に、受信したデータを小さいセクタサイズを有するホスト計算機Ｂ３０１のセクタサイズであるブロック毎に分割する。
【００５１】
その後、図３に示すように、チェックビット付加部１０１は、何れかのホスト計算機からデータを受信する際に、分割したブロックごとにチェックビットを付加したのちに、チェックビットを付加したまま大きいサイズのデータに再結合する。そして再結合した大きいサイズのデータをキャッシュセクタ管理部１０２に送る。
【００５２】
図３は、本実施形態に係る記憶デバイスの制御装置におけるチェックビット付加部のホスト計算機からの受信動作を説明する図である。
【００５３】
そして、図４に示すように、チェックビット付加部１０１は、チェックビットを付加したままブロック毎に分割すると共にブロック毎にチェックビットにおける誤りをチェックした際に、誤りが無ければそのままチェックビットを削除する。その際にもし誤りがあれば自らの符号を用いて訂正したのちにチェックビットを削除する。
【００５４】
図４は、実施形態に係る記憶デバイスの制御装置におけるチェックビット付加部のキャッシュセクタ管理部からの受信動作を説明する図である。
【００５５】
そして、チェックビット付加部１０１は、チェックビットを削除したブロックを再結合するとともに、ホスト計算機Ａ３００もしくはホスト計算機Ｂ３０１へ送る。
【００５６】
ここで図５に示す、本実施形態に係る記憶デバイスの制御装置における物理セクタ番号と小セクタ番号とを変換する、ＰＳＮ・ＳＳＮ変換部１２２の動作を説明する図を参照すると、キャッシュセクタ管理部１０２はキャッシュ１０３に対して、ホスト計算機Ａ３００のセクタサイズのブロックであるＰＳＮ１１３と、ＰＳＮ１１３をホスト計算機Ｂ３０１の小さいセクタサイズで分割したブロックであるＳＳＮ１２３とで管理する。
【００５７】
ここで、ＰＳＮ１１３は、ホスト計算機Ａ３００の大きいセクタをチェックビット付加部１０１にて分割すると共に、分割した個々のブロックにチェックビットを付加したのち、チェックビットを付加したままで再結合した大きいセクタサイズのブロックである。
【００５８】
そして、キャッシュセクタ管理部１０２は、ＰＳＮとＳＳＮとを、ＰＳＮ・ＳＳＮ変換部１２２で相互に変換するとともに、それぞれの情報は、図６に示すセクタ管理テーブル１１２に保存する。図６は、本実施形態に係る記憶デバイスの制御装置におけるセクタ管理テーブルを説明する図である。
【００５９】
図６に示すセクタ管理テーブルの図を参照すると、セクタ管理テーブル１１２は、キャッシュ１０３に記録するデータをキャッシュページ毎に、データの先頭アドレス（図６の表のＡｄｄｒｅｓｓ）とその長さ（図６の表のＬｅｎｇｔｈ）とをＰＳＮとそれに対応するＳＳＮの両方で対応付けて保存している。
【００６０】
続いて本実施形態の動作について、Ｆｉｒｓｔ  Ｗｒｉｔｅ処理（つまり、ホスト計算機からキャッシュへのライト）、Ｗｒｉｔｅ  Ｔｈｒｏｕｇｈ処理（つまり、ホスト計算機からＨＤＤへのライト）、Ｈｉｔ  Ｒｅａｄ処理（つまり、キャッシュからホスト計算機へのリード）、Ｍｉｓｓ  Ｒｅａｄ処理（つまり、ＨＤＤからホスト計算機へのリード）のそれぞれの動作について、図２に示すブロック図および、図７乃至図１０に示すフローチャートを用いて説明する。
【００６１】
まず、Ｆｉｒｓｔ  Ｗｒｉｔｅ処理について、図７に示すフローチャートを用いて説明する。図７は、本実施形態に係る記憶デバイスの制御装置におけるＦｉｒｓｔ  Ｗｒｉｔｅ処理の動作を説明するフローチャートである。
【００６２】
始めに、図２に示したホスト計算機Ａ３００またはホスト計算機Ｂ３０１からの書き込み要求をディスクアレイ装置４００が有する制御部１００が受信した場合に、チェックビット付加部１０１において、書き込みデータをセクタサイズが小さい方のホスト計算機Ｂ３０１のセクタサイズのブロックに分割する（ステップＳ１＿４）。
【００６３】
次に、分割したブロック単位にチェックビットを付加する（ステップＳ２＿４）。そしてチェックビット付加部１０１は、チェックビットを付加したままのブロックを再結合すると共に、キャッシュセクタ管理部１０２へ送信する（ステップＳ３＿４）。
【００６４】
制御部１００は、書き込み要求を送信したホスト計算機がホスト計算機Ａ３００であった場合（ＹＥＳ：ステップＳ４＿４）、キャッシュセクタ管理部１０２のＰＳＮ・ＳＳＮ変換部１２２にてＰＳＮをＳＳＮに変換（つまり、分割）する（ステップＳ５＿４）と共に、セクタ管理テーブル１１２にＰＳＮとＳＳＮの情報(すなわち、アドレスおよびレングス情報）を登録する（ステップＳ６＿４）。
【００６５】
そして、セクタ管理テーブル１１２のうちのＰＳＮ情報に基づきキャッシュ１０３へ書き込みを実施する（ステップＳ７＿４）。
【００６６】
一方、ステップＳ４＿４において、書き込み要求をしたホスト計算機がホスト計算機Ｂ３０１であった場合（ＮＯ：ステップＳ４＿４）は、キャッシュセクタ管理部１０２のＰＳＮ・ＳＳＮ変換部１２２にて、書き込みデータのＰＳＮ（たとえば、５１２Ｂ）をホスト計算機Ａ３００のＰＳＮ（たとえば、４ＫＢ）に変換し、元々のＰＳＮはＳＳＮと見なす（ステップＳ８＿４）。
【００６７】
そして、セクタ管理テーブル１１２にＰＳＮとＳＳＮの情報を登録する（ステップＳ９＿４）。
【００６８】
そして、制御部１００は、セクタ管理テーブル１１２のうちのＳＳＮ情報に基づきキャッシュ１０３へ書き込みを実施する（ステップＳ１０＿４）。
【００６９】
つづいてＷｒｉｔｅ  Ｔｈｒｏｕｇｈ処理について、図８のフローチャートを用いて説明する。図８は、本実施形態に係る記憶デバイスの制御装置におけるＷｒｉｔｅ  Ｔｈｒｏｕｇｈ処理の動作を説明するフローチャートである。
【００７０】
図８に示すステップＳ１_５からステップＳ３＿５までは、Ｆｉｒｓｔ  Ｗｒｉｔｅ処理のステップＳ１＿４からステップＳ３＿４までと同様のブロックへの分割と、チェックビットの付加と、ブロックの再結合と、キャッシュセクタ管理部１０２への送信であるので説明を省略する。
【００７１】
始めに、図２に示したホスト計算機Ａ３００またはホスト計算機Ｂ３０１からの何れかのＨＤＤへの書き込み要求をディスクアレイ装置４００が有する制御部１００が受信する。
【００７２】
そして制御部１００は、書き込み対象のＨＤＤがＨＤＤ２０１で（ＹＥＳ：ステップＳ４＿５）、かつ書き込み要求をしたホスト計算機がホスト計算機Ａ３００であった場合（ＹＥＳ：ステップＳ５＿５）は、書き込み要求のＰＳＮ情報に従ってディスク部２００のＨＤＤ２０１へデータの書き込みを実施する（ステップＳ７＿５）。
【００７３】
また、書き込み対象のＨＤＤがＨＤＤ２０１（ＹＥＳ：ステップＳ４＿５）で、かつ書き込み要求をしたホスト計算機がホスト計算機Ｂ３０１であった場合（ＮＯ：ステップＳ５＿５）は、キャッシュセクタ管理部１０２のＰＳＮ・ＳＳＮ変換部１２２にて、書き込みデータのＰＳＮをホスト計算機Ａ３００のセクタサイズであるＰＳＮに変換する（ステップＳ６＿５）。
【００７４】
それと共に書き込み要求のＰＳＮ情報に従ってディスク部２００のＨＤＤ２０１へ書き込みを実施する（ステップＳ７＿５）。
【００７５】
一方、制御部１００は、書き込み対象ＨＤＤがＨＤＤ２０１でなかった場合（ＮＯ：ステップＳ４＿５。つまり、ＨＤＤがＨＤＤ２０２だった場合）で、かつ書き込み要求をしたホスト計算機がホスト計算機Ａ３００であった場合（ＹＥＳ：ステップＳ８＿５）は、キャッシュセクタ管理部１０２のＰＳＮ・ＳＳＮ変換部１２２にて、書き込み要求のＰＳＮをＳＳＮに変換する（ステップＳ９＿５）する。
【００７６】
それと共に、書き込み要求のＳＳＮ情報に基づいてディスク部２００のＨＤＤ２０２へ書き込む（ステップＳ１１＿５）。
【００７７】
書き込み対象ＨＤＤがＨＤＤ２０１でなかった場合（ＮＯ：ステップＳ４＿５。つまり、ＨＤＤがＨＤＤ２０２だった場合）で、かつ書き込み要求をしたホスト計算機がホスト計算機Ｂ３０１であった場合（ＮＯ：ステップＳ５＿５）は、キャッシュセクタ管理部１０２のＰＳＮ・ＳＳＮ変換部１２２において、書き込み要求のＰＳＮをＳＳＮとして扱い（ステップＳ１０＿５）、ＳＳＮ情報に基づいてディスク部２００のＨＤＤ２０２へ書き込む（ステップＳ１１＿５）。
【００７８】
次に、Ｈｉｔ  Ｒｅａｄ処理について、図９に示す、フローチャートを用いて説明する。図９は、本実施形態に係る記憶デバイスの制御装置におけるＨｉｔ  Ｒｅａｄ処理の動作を説明するフローチャートである。
【００７９】
始めに、制御部１００は、読み出し要求をしたホスト計算機が、ホスト計算機Ｂ３０１の場合（ＮＯ：ステップＳ１＿６）は、キャッシュセクタ管理部１０２にて、読み出し要求のＰＳＮをＳＳＮとして扱う（ステップＳ２＿６）。
【００８０】
そしてセクタ管理テーブル１１２を参照することにより、読み出し要求のＳＳＮ情報から該当するデータを決定する（ステップＳ３＿６）。そして、キャッシュ１０３から該当データの読み出しをする（ステップＳ５＿６）。
【００８１】
一方、ホスト計算機Ａ３００の場合（ＹＥＳ：ステップＳ１＿６）は、セクタ管理テーブル１１２を参照し、読み出し要求のＰＳＮ情報から、該当データを決定する（ステップＳ４＿６）。そしてキャッシュ１０３から該当データの読み出しを実施する（ステップＳ５＿６）。
【００８２】
次にチェックビット付加部１０１にて、読み出しデータを、セクタサイズの小さい方のホスト計算機Ｂ３０１のセクタサイズに分割する。（ステップＳ６＿６）。分割したブロック単位にチェックビットをチェックするとともに、誤りがなければそのチェックビットを削除する（ステップＳ７＿６）。チェックビット付加部１０１は分割したブロックを再結合し、読み出し要求をしたホストへ送信する（ステップＳ８_６）。
【００８３】
そして、Ｍｉｓｓ  Ｒｅａｄ処理について、図１０に示す、フローチャートを用いて説明する。図１０は、本実施形態に係る記憶デバイスの制御装置におけるＭｉｓｓ  Ｒｅａｄ処理の動作を説明するフローチャートである。
【００８４】
まず、制御部１００は、読み出し対象ＨＤＤがＨＤＤ２０１の場合（ＹＥＳ：ステップＳ１＿７）で、かつ読み出し要求をしたホスト計算機が、ホスト計算機Ｂ３０１の場合（ＮＯ：ステップＳ２＿７）は、キャッシュセクタ管理部１０２のＰＳＮ・ＳＳＮ変換部１２２にて、読み出し要求のＰＳＮをホスト計算機Ａ３００のＰＳＮに変換する（ステップＳ４＿７）。
【００８５】
そして、変換後のＰＳＮ情報に基づいてディスク部２００のＨＤＤ２０１から該当ＰＳＮのデータの読み出しを実施する（ステップＳ３＿７）。
【００８６】
読み出し対象のＨＤＤがＨＤＤ２０１の場合（ＹＥＳ：ステップＳ１＿７）で、かつホスト計算機Ａ３００の場合（ＹＥＳ：ステップＳ２＿７）は、読み出し要求のＰＳＮ情報に基づいてディスク部２００のＨＤＤ２０１から該当ＰＳＮのデータの読み出しを実施する（ステップＳ３＿７）。
【００８７】
制御部１００は、読み出し対象のＨＤＤがＨＤＤ２０２の場合（ＮＯ：ステップＳ１＿７）で、かつ読み込み要求をしたホスト計算機が、ホスト計算機Ａ３００の場合（ＹＥＳ：ステップＳ８＿７）は、キャッシュセクタ管理部１０２のＰＳＮ・ＳＳＮ変換部１２２にて、読み出し要求のＰＳＮをＳＳＮに変換する（ステップS９＿７）と共に、ＳＳＮ情報に基づきディスク部２００のＨＤＤ２０２から該当データを読み出す（ステップＳ１１＿７）。
【００８８】
読み出し対象のＨＤＤがＨＤＤ２０２の場合（ＮＯ：ステップＳ１＿７）で、かつ読み出し要求をしたホスト計算機が、ホスト計算機Ｂ３０１の場合（ＮＯ：ステップＳ８＿７）は、キャッシュセクタ管理部１０２にて読み出し要求のＰＳＮをＳＳＮとして扱う（ステップＳ１０＿７）と共に、ＳＳＮ情報に基づきディスク部２００のＨＤＤ２０２から該当データを読み出す（ステップＳ１１＿７）。
【００８９】
以降の処理（ステップＳ５＿７、Ｓ６＿７、Ｓ７＿７）は、Ｈｉｔ  Ｒｅａｄ処理のステップＳ６＿６、Ｓ７_６、Ｓ８＿６と同様の処理となるので、説明は省略する。
【００９０】
ここで一例として、たとえば４ＫＢセクタのＨＤＤの場合は、一般的な技術であれば４０９６Ｂでフォーマットをするのに対して、本実施形態では４１６０Ｂでフォーマットする。また、たとえば５１２ＢセクタのＨＤＤの場合は、５２０Ｂでフォーマットする。
【００９１】
そして、ホストのデータ転送サイズが５１２Ｂセクタの場合には、ホストから転送するデータを分割する際にディスクアレイ装置が備える図示していないインタフェース制御チップによって５１２Ｂにチェックビットとして８Ｂを付加することにより、５２０Ｂとして管理する。
【００９２】
また、ホストのデータ転送サイズが４０９６Ｂセクタの場合には、５１２Ｂ毎に分割したブロックにチェックビットである８Ｂのチェックビットを加えて５２０Ｂセクタ単位で、その８個分である４１６０Ｂのキャッシュサイズで管理するので、４１６０Ｂセクタに端数なくそのまま収まると共に、ホストが５１２Ｂセクタでも、上述したチェックビットを加えた５２０Ｂセクタ単位で整列して収まるので、データの不足や境界にまたがることはなくなる。
【００９３】
つまり、本実施形態に係る記憶デバイスの制御装置によれば、リード・モディファイ処理を行う必要が無くなるので、ディスクアレイ装置が備える制御部１００のプログラムやＦＷなどに追加の制御が不要となるため、応答時間であるＴＡＴ時間の長期化を抑制することができる。
【００９４】
以上、本実施形態ではセクタサイズが大きい環境（つまり、セクタサイズが４ＫＢ）を前提として説明した。ここで、さらに変形例として、セクタサイズが小さい環境を前提とした場合でも実施可能である。
【００９５】
その場合は、キャッシュセクタ管理部１０２にてＰＳＮをセクタサイズが異なるホスト（つまり、セクタサイズが大きいホスト）のセクタサイズに合わせて結合したブロックを新しい管理単位として追加することによって実現することができる。
【００９６】
上述したように、本実施形態においては以下のような効果を奏することができる。
【００９７】
第１の効果はチェックビット付加部１０１により、小さいセクタサイズ単位に分割すると共にチェックビットの付加およびチェック・削除を実施することと、キャッシュセクタ管理部１０２により、現在のセクタ単位であるＰＳＮの管理に加えて、小さいセクタサイズであるＳＳＮによる管理単位を用いることにより、小さいセクタサイズのホストを用いた場合のホストからキャッシュへの書き込みであるＦｉｒｓｔ Ｗｒｉｔｅ処理において、ＨＤＤとの間でリード・モディファイ処理を行う必要がなくなることによって、キャッシュへの書き込みが完了し次第、ホストに対して書き込み完了した旨を通知できるので、記憶装置であるディスクアレイ装置４００の処理負荷を抑えると共にＴＡＴ時間の長期化を抑制することができることである。
【００９８】
第２の効果は小さいセクタサイズであるＳＳＮを用いることによって、セクタサイズが異なるホストおよびＨＤＤの混在環境における動作が可能となることである。
【００９９】
つまり、本実施形態によれば、記憶デバイスの制御装置等において、現在の処理単位のデータに加えて、その処理単位より小さいサイズの処理単位のデータを併せて持つことにより、小さなセクタサイズのホストからの書き込みに伴う追加処理による性能の低下を抑制しつつ、処理単位の異なるホストおよび記憶デバイスが組み合わさった混載環境でも運用することができる。
【０１００】
以上、本発明の第２の実施形態として、上述した構成および動作を例に説明したが、本発明は、必ずしも係る構成や動作には限定されない。
【０１０１】
＜第３の実施形態＞
次に、第１の実施形態および第２の実施形態を基本とする、第３の実施形態について図１１を参照して説明する。図１１は、本実施形態に係る記憶デバイスの制御装置を実現するコンピュータ・ソフトウェアの動作を説明する図である。
【０１０２】
図１１に示す、本実施形態の記憶装置５００は、情報処理装置が有するＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（以下、「ＣＰＵ」と略称する）および、そのＣＰＵと協働するＯＳならびにアプリケーションソフトウェア（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｏｆｔ  Ｗｅａｒｅ；以下、「ＡＰ」と略称する）が動作するＣＰＵ５０１と、ＡＰの一部であるプログラム５０３を読み込むメモリ５０２とを有する。
【０１０３】
なお、プログラム５０３は、情報処理装置である本記憶装置５００が備える記憶デバイスである後述するキャッシュ５０４や、ＨＤＤ５０５および５０６を制御する本記憶装置５００のＦｉｒｍ  Ｗａｒｅ（ファームウェア：以下、「ＦＷ」と略称する）と見なすこともできる。
【０１０４】
また、本記憶装置５００は、たとえば通信インタフェース５０９や、高速データバス５１０を介して接続する図示していない外部装置であるホストとの間でデータを読み書きする。そしてデータを記憶装置５００に格納する際に、その格納するデータをセクタ単位で一時保存するキャッシュ５０４をメモリ５０２に有する。
【０１０５】
ここで、通信インタフェース５０９は、たとえば有線や、無線を用いた企業のイントラネットや、インターネットなどに接続することが可能な通信機能である。そして通信インタフェース５０９によって、図示していないホストから遠隔地にある本記憶装置５００へデータを格納するようにしてもよい。
【０１０６】
また、高速データバス５１０は、たとえばファイバーチャネル（Ｆｉｂｅｒ  Ｃｈａｎｎｅｌ；以下、「ＦＣ」と称する）などの高速なデータインタフェースを用いて複数のセクタサイズを有する複数のホストを接続することを可能にすればよい。
【０１０７】
また、ホストとの間でデータを格納する、たとえば４１６０ＢでフォーマットされたＨＤＤ（４１６０Ｂ）５０５と、たとえば５２０ＢでフォーマットされたＨＤＤ（５２０Ｂ）５０６とを有する。なお、上述したＨＤＤの数や、フォーマットのサイズは一例であり、これらに限定しているわけではない。
【０１０８】
また、ＯＳやプログラム５０３の元であるＡＰを格納する読み書き可能な不揮発性記憶媒体であるストレージ５０７と、そのプログラムを初期に本情報処理装置５００に読み込む際に用いる記録媒体５０８とを有する。
【０１０９】
また、プログラム５０３の動作状況を操作者に向けて表示するモニタである出力装置５１１および、操作者が起動ならびに動作状況を監視する際にＡＰのユーザインタフェースを用いて操作するキーボード（Ｋｅｙ  Ｂｏａｒｄ；以下、「ＫＢ」と略称する）、マウスとからなる入力装置５１２とを用いる。
【０１１０】
なお、出力装置５１１、入力装置５１２は、図示していないホストから通信インタフェース５０９や高速データバス５１０を通して操作することも可能であるので、取り外すこともできる。
【０１１１】
また、メモリ５０２が有するプログラム５０３は、Ｆｉｒｓｔ  Ｗｒｉｔｅ処理５２１と、Ｗｒｉｔｅ  Ｔｈｒｏｕｇｈ処理５２２と、Ｈｉｔ  Ｒｅａｄ処理５２３と、Ｍｉｓｓ  Ｒｅａｄ処理５２４と、セクタ管理テーブル５２５と、ＰＳＮ・ＳＳＮ変換処理５２６と、チェックビット付加処理５２７およびその他の制御を含む本プログラム自身を制御する全体制御処理５２８とからなる。
【０１１２】
なお、上述したプログラムが有する各処理を制御する全体制御処理５２８を含む各処理の動作は、上述した第２の実施形態の動作説明において、一例として説明しているので、本実施形態での説明は省略する。
【０１１３】
以上を用いる点が、図２に示す第２の実施形態と異なる。
【０１１４】
そして、図１１に示すＣＰＵ５０１と、メモリ５０２と、ＨＤＤ（４１６０Ｂ）５０５と、ＨＤＤ（５２０Ｂ）５０６およびその他のデバイスとからなる記憶装置５００を実現するために、上述した図３乃至図１０に示す各機能ブロックの動作説明図と、管理テーブルと、各機能のフローチャートの動作とを、実現可能なＡＰつまりコンピュータ・プログラムとして供給する。
【０１１５】
そして、そのコンピュータ・プログラムをプログラム５０３による本記憶装置５００の制御方法として、用意した上記ＣＰＵ５０１および協働するＯＳならびにＡＰの一部であるプログラム５０３をメモリ５０２に読み出して実行することによって達成する。
【０１１６】
なお、上述したプログラム５０３において実現する機能の何れかは、ハードウェアによって実現するとともに残りの部分をソフトウェアで実現するようにしてもよい。たとえば、高速に処理するチェックビット付加処理５２７はハードウェアで実現するようにしてもよい。
【０１１７】
さらに、キャッシュ５０４はメモリ５０２の一部ではなく、本記憶装置５００の図示していない別の箇所に高速なメモリとして設けるようにしてもよい。
【０１１８】
すなわち、本実施形態において、以下に記載するような効果を奏する。
【０１１９】
第１の効果はチェックビット付加処理５２７により、小さいセクタサイズ単位に分割すると共にチェックビットの付加およびチェック・削除を実施することと、セクタ管理テーブル５２５により現在のセクタ単位であるＰＳＮの管理に加えて、小さいセクタサイズであるＳＳＮによる管理単位を用いることにより、小さいセクタサイズのホストを用いた場合のホストからキャッシュへの書き込みであるＦｉｒｓｔ Ｗｒｉｔｅ処理５２１において、ＨＤＤとの間でリード・モディファイ処理を行う必要がなくなることによって、キャッシュへの書き込みが完了し次第、ホストに対して書き込み完了した旨を通知できるので、記憶装置５００の処理負荷を抑えると共にＴＡＴ時間の長期化を抑制することができることである。
【０１２０】
第２の効果は小さいセクタサイズであるＳＳＮを用いることによって、セクタサイズが異なるホストおよびＨＤＤの混在環境における動作を可能とすることができることである。
【０１２１】
加えて、本記憶デバイスの制御装置の処理をコンピュータ・プログラムによって情報処理装置に供給することにより、その情報処理装置を記憶装置として利用することができると共に、そのコンピュータ・プログラムを変更することにより、多様なセクタサイズのホストおよび多様なセクタサイズの記憶デバイスの組み合わせに柔軟に対応することができるという効果を奏することができる。
【０１２２】
つまり、本実施形態によれば、記憶デバイスの制御装置等において、現在の処理単位のデータに加えて、その処理単位より小さいサイズの処理単位のデータを併せて持つことにより、小さなセクタサイズのホストからの書き込みに伴う追加処理による性能の低下を抑制しつつ、処理単位の異なるホストおよび記憶デバイスが組み合わさった混載環境でも運用することができる。
【０１２３】
以上、本発明の第３の実施形態として、上述した構成および動作を例に説明したが、本発明は、必ずしも係る構成や動作には限定されない。
【０１２４】
なお、上述した実施形態及びその変形例の一部又は全部は、以下の付記のようにも記載されうる。しかしながら、上述した実施形態及びその変形例により例示的に説明した本発明は、以下には限らない。即ち、
（付記１）
第１ホスト装置が扱うデータの第１セクタサイズに対応するセクタサイズのデータを一時記憶する一次記憶デバイスと、該一次記憶デバイスより応答速度が遅く、該第１セクタサイズのデータを記憶する二次記憶デバイスとの書き込み動作を制御する制御部を備え、前記制御部は、前記第１セクタサイズより小さい第２セクタサイズのデータを扱う第２ホストから、該第２セクタサイズの対象データを記憶する指示が成されるのに応じて、該第２セクタサイズの対象データを、ブロック毎のデータ内容を保証する保証データを付加した第３セクタサイズで区画するとともに整列した変換データに変換し、その変換データの前記一次記憶デバイスにおける格納場所を表す情報と、その格納場所に対応する前記二次記憶デバイスの格納場所を表す情報とを関連付けたテーブルを記憶すると共に、前記一次記憶デバイスに、前記変換データを記憶すると共に、前記テーブルを基に、前記一次記憶デバイスから、前記二次記憶デバイスにデータを書き込むことを特徴とする記憶デバイスの制御装置。
（付記２）
前記制御部は、前記変換データを構成する際に格納場所を生成並びに更新する前記テーブルを参照することにより、前記一次記憶デバイスに格納した前記変換データを前記二次記憶デバイスに転送する際に、該二次記憶デバイスのセクタサイズが前記第１セクタサイズより小さいサイズを扱う場合には、前記テーブルの転送対象の変換データの格納場所と、サイズに基づいてデータを格納することを特徴とする付記１に記載の記憶デバイスの制御装置。
（付記３）
前記制御部は、何れかの前記ホストからのデータ読み出し動作に応じて、前記変換データを格納した何れかの前記二次記憶デバイスのデータを、何れかのホストに転送する際に、前記テーブルの転送対象の変換データの格納場所とサイズに基づいて、前記二次記憶デバイスにおける対象変換データを読み出すと共に、読み出した変換データが有する保証データを削除したセクタデータを読み出し元のホストに格納することを特徴とする付記１に記載の記憶デバイスの制御装置。
（付記４）
前記制御部は、何れかの前記ホストからのデータ読み出し動作に応じて、前記変換データを格納した前記一次記憶デバイスのデータを、何れかのホストに転送する際に、前記テーブルの転送対象の変換データの格納場所とサイズに基づいて、前記一次記憶デバイスにおける対象変換データを読み出すと共に、読み出した変換データが有する保証データを削除したセクタデータを読み出し元のホストに格納することを特徴とする付記１に記載の記憶デバイスの制御装置。
（付記５）
前記一次記憶デバイスにおける格納場所を表す情報と、その格納場所に対応する前記二次記憶デバイスの格納場所並びにデータサイズを表す情報とを関連付けた前記テーブルは、前記一次記憶デバイスであるキャッシュメモリのページ番号に対応する前記二次記憶デバイスである不揮発性記録装置の論理先頭アドレス並びにそのデータサイズとを関連づけると共に、前記ページ番号毎に前記第１ホスト装置が扱う前記第１セクタサイズのデータに対応する前記変換データに付与する物理セクタ番号に加え、該物理セクタ番号を前記第３セクタサイズ毎に分割した小セクタ番号との２種類のセクタ番号を用いて格納データを管理するセクタ管理テーブルであることを特徴とする付記１に記載の記憶デバイスの制御装置。
（付記６）
前記セクタ管理テーブルが有する前記キャッシュメモリのページ番号毎に備える前記２種類のセクタ番号は、前記第１ホスト装置が扱うデータの前記第１セクタサイズに対応するサイズの前記変換データ毎に付与する物理セクタ番号であるＰＳＮ（Ｐｈｙｓｉｃａｌ  Ｓｅｃｔｏｒ  Ｎｕｍｂｅｒ）と、該ＰＳＮを前記変換データの最小単位である前記第３セクタサイズ毎に区画した個々の区画を連番で表した前記小セクタ番号であるＳＳＮ（Ｓｍａｌｌ  Ｓｅｃｔｏｒ  Ｎｕｍｂｅｒ）であり、前記制御部は前記何れかのホストから格納するデータのサイズと、前記キャッシュメモリ並びに不揮発性記録装置に格納するデータのサイズとの間でサイズ変換を行うＰＳＮ・ＳＳＮ変換部を備えることを特徴とする付記１もしくは付記５に記載の記憶デバイスの制御装置。
（付記７）
前記ブロック毎に付加する該ブロックのデータ内容を保証する保証データは、前記制御部が前記ブロック毎に誤りを検知すると共に誤りがあれば該誤りを訂正し、かつ前記ブロックが適切な格納場所に格納されていることを確認するチェックビットであるチェックビット付加部を備えることを特徴とする付記１に記載の記憶デバイスの制御装置。
（付記８）
前記制御部は、前記キャッシュメモリへは書き込みであるＦｉｒｓｔ  Ｗｒｉｔｅ処理および、読み出しであるＨｉｔ  Ｒｅａｄ処理を実行すると共に、前記不揮発性記録装置であるＨＤＤへは書き込みであるＷｒｉｔｅ  Ｔｈｒｏｕｇｈ処理および、読み出しであるＭｉｓｓ  Ｒｅａｄの処理とを実行することを特徴とする付記１乃至付記４に記載の記憶デバイスの制御装置。
（付記９）
前記何れかのホストから前記キャッシュメモリであるキャッシュ部へデータを書き込む際に、前記チェックビット付加部は、前記何れかのホストが有する小さいセクタサイズであるブロック単位に分割した該ブロック毎にチェックビットを付加すると共に、該ブロックを再度結合することにより変換データに変換した後に、前記ホストの書き込みデータが前記ブロックサイズより大きなセクタである場合、前記ＰＳＮ・ＳＳＮ変換部において、ＰＳＮをＳＳＮに変換した後に前記セクタ管理テーブルのキャッシュページに前記ＰＳＮおよび前記ＳＳＮを登録すると共に、前記ＰＳＮ情報に基づきキャッシュ部へデータを書き込み、前記ホストの書き込みデータがブロックサイズと同じサイズの小さなセクタである場合、前記ＰＳＮ・ＳＳＮ変換部において、前記書き込みデータのＰＳＮを前記ホストのセクタサイズのＰＳＮに変換すると共に、元々のＰＳＮをＳＳＮと見なし、前記セクタ管理テーブルに前記ＰＳＮおよび前記ＳＳＮを登録した後、前記ＳＳＮ情報に基づきキャッシュ部へデータを書き込むＦｉｒｓｔ  Ｗｒｉｔｅ処理を行うことを特徴とする付記１もしくは付記８に記載の記憶デバイスの制御装置。
（付記１０）
前記何れかのホストから前記何れかのＨＤＤへデータを書き込む際に、前記チェックビット付加部は、前記何れかのホストが有する小さいセクタサイズであるブロック単位に分割した該ブロック毎にチェックビットを付加すると共に、該ブロックを再度結合することにより変換データに変換した後に、書き込み対象の前記ＨＤＤのセクタサイズが前記ブロックサイズより大きくかつ、前記ホストのデータ書込みサイズが前記ブロックサイズより大きい場合、前記ＰＳＮ情報に基づいて大きなセクタの前記ＨＤＤへ書き込み、書き込み対象の前記ＨＤＤのセクタサイズが前記ブロックサイズより大きくかつ、前記ホストの書き込みデータが前記ブロックサイズと同じ小さなセクタである場合、前記ＰＳＮ・ＳＳＮ変換部にて、前記書き込みデータの前記ＰＳＮを前記ホストのセクタサイズであるＰＳＮに変換し、該ＰＳＮ情報に基づいて大きなセクタのＨＤＤへ書き込み、書き込み対象のＨＤＤが小さなセクタでかつ、前記ホストのデータ書込みのセクタサイズがブロックサイズより大きいセクタである場合、前記ＰＳＮ・ＳＳＮ変換部にて前記書き込みデータの前記ＰＳＮを前記ＳＳＮに変換し、書き込み対象ＨＤＤが小さなセクタでかつ、前記ホストが小さなセクタである場合、前記小さなセクタのホストからの前記ＰＳＮを前記ＳＳＮとして扱い、該ＳＳＮ情報に基づいて前記小さなセクタのＨＤＤへデータを書き込むＷｒｉｔｅ  Ｔｈｒｏｕｇｈ処理を行うことを特徴とする付記１に記載の記憶デバイスの制御装置。
（付記１１）
前記キャッシュ部から前記ホストへのデータ読み出しの際、前記ホストが小さいセクタの場合は、読み出し要求のＰＳＮをＳＳＮとして扱い、セクタ管理テーブルを参照することにより、読み出し要求のＳＳＮから該当読み出しデータを決定すると共に前記キャッシュ部から該当データを読み出し、前記ホストが大きいセクタの場合は、セクタ管理テーブルを参照することにより、前記読み出すＰＳＮ情報から、該当読み出しデータを決定すると共に前記キャッシュ部から該当データを読み出した後、前記読み出しデータをチェックビット付加部にて、前記ホストが読み出すデータをブロックに分割した後に、該分割したブロック単位毎に前記チェックビットをチェックした後に該チェックビットを削除してから、分割したブロックを再度結合することにより読み出すデータを成して、該読み出しデータをホストに転送するＨｉｔ  Ｒｅａｄ処理を行うことを特徴とする付記１に記載の記憶デバイスの制御装置。
（付記１２）
前記何れかのＨＤＤから前記何れかのホストへのデータ読み出しの際、読み出す対象の前記ＨＤＤが大きなセクタの場合でかつ、前記データを読み出すホストが小さなセクタの場合には、前記ＰＳＮ・ＳＳＮ変換部にて、前記読み出しデータのＰＳＮを、前記大きなセクタのホストのＰＳＮに変換すると共に、該ＰＳＮ情報に基づいて前記大きなセクタのＨＤＤから該当ＰＳＮデータを読み出すと共に、読み出す対象の前記ＨＤＤが大きなセクタの場合でかつ、前記ホストが大きなセクタの場合には、前記大きなセクタのＨＤＤから該当ＰＳＮのデータを読み出し、前記読み出し対象のＨＤＤが小さなセクタの場合でかつ、前記データを読み出すホストが大きなセクタの場合には、前記ＰＳＮ・ＳＳＮ変換部にて、前記読み出すＰＳＮをＳＳＮに変換し、該ＳＳＮ情報に基づき小さなセクタのＨＤＤから該当データを読み出し、前記読み出し対象のＨＤＤが小さなセクタの場合でかつ、前記データを読み出すホストが小さいセクタの場合には、前記ＰＳＮをＳＳＮとして扱い、該ＳＳＮ情報に基づき小さいセクタのＨＤＤから該当データを読み出した後、前記読み出しデータに対して前記チェックビット付加部にて、前記ホストが読み出すデータをブロックに分割した後に、該分割したブロック単位毎に前記チェックビットをチェックした後に該チェックビットを削除してから、分割したブロックを再度結合することにより読み出すデータを成して、該読み出しデータをホストに転送するＭｉｓｓ  Ｒｅａｄ処理を行うことを特徴とする付記１に記載の記憶デバイスの制御装置。
（付記１３）
第１ホスト装置が扱うデータの第１セクタサイズに対応するセクタサイズのデータを一時記憶する一次記憶デバイスと、該一次記憶デバイスより応答速度が遅く、該第１セクタサイズのデータを記憶する二次記憶デバイスとの書き込み動作を制御する制御部を備え、
前記制御部は、前記第１セクタサイズより小さい第２セクタサイズのデータを扱う第２ホストから、該第２セクタサイズの対象データを記憶する指示が成されるのに応じて、該第２セクタサイズの対象データを、ブロック毎のデータ内容を保証する保証データを付加した第３セクタサイズで区画するとともに整列した変換データに変換し、
その変換データの前記一次記憶デバイスにおける格納場所を表す情報と、その格納場所に対応する前記二次記憶デバイスの格納場所を表す情報とを関連付けたテーブルを記憶すると共に、前記一次記憶デバイスに、前記変換データを記憶すると共に、前記テーブルを基に、前記一次記憶デバイスから、前記二次記憶デバイスにデータを書き込む
ことを特徴とする記憶デバイスの制御方法。
（付記１４）
記憶デバイスの制御装置を制御するコンピュータ・プログラムであって、そのコンピュータ・プログラムにより、
第１ホスト装置が扱うデータの第１セクタサイズに対応するセクタサイズのデータを一時記憶する一次記憶デバイスと、該一次記憶デバイスより応答速度が遅く、該第１セクタサイズのデータを記憶する二次記憶デバイスとの書き込み動作を制御する制御部を備え、前記制御部は、前記第１セクタサイズより小さい第２セクタサイズのデータを扱う第２ホストから、該第２セクタサイズの対象データを記憶する指示が成されるのに応じて、該第２セクタサイズの対象データを、ブロック毎のデータ内容を保証する保証データを付加した第３セクタサイズで区画するとともに整列した変換データに変換し、その変換データの前記一次記憶デバイスにおける格納場所を表す情報と、その格納場所に対応する前記二次記憶デバイスの格納場所を表す情報とを関連付けたテーブルを記憶すると共に、前記一次記憶デバイスに、前記変換データを記憶すると共に、前記テーブルを基に、前記一次記憶デバイスから、前記二次記憶デバイスにデータを書き込む
制御をコンピュータに実現させることを特徴とするコンピュータ・プログラム。
【産業上の利用可能性】
【０１２５】
本発明は、上述した各実施形態には限定されず、記憶デバイスへデータを格納するディスクアレイ装置などの記憶デバイスを備える情報処理装置に適用可能である。
【符号の説明】
【０１２６】
１    制御部
２    一次記憶デバイス
３    二次記憶デバイス
４    ホスト
５    テーブル
６    記憶装置
７    記憶デバイス
１００    制御部
１０１    チェックビット付加部
１０２    キャッシュセクタ管理部
１０３    キャッシュ
１１２    セクタ管理テーブル
１２２    ＰＳＮ・ＳＳＮ変換部
２００    ディスク部
２０１    ＨＤＤ
２０２    ＨＤＤ
３００    ホスト計算機Ａ
３０１    ホスト計算機Ｂ
４００    ディスクアレイ装置
５００    記憶装置
５０１    ＣＰＵ
５０２    メモリ
５０３    プログラム
５０４    キャッシュ
５０５    ＨＤＤ（４１６０Ｂ）
５０６    ＨＤＤ（５２０Ｂ）
５０７    ストレージ
５０８    記録媒体
５０９    通信インタフェース
５１０    高速データバス
５１１    出力装置
５１２    入力装置
５２１    Ｆｉｒｓｔ  Ｗｒｉｔｅ処理
５２２    Ｗｒｉｔｅ  Ｔｈｒｏｕｇｈ処理
５２３    Ｈｉｔ  Ｒｅａｄ処理
５２４    Ｍｉｓｓ  Ｒｅａｄ処理
５２５    セクタ管理テーブル
５２６    ＰＳＮ・ＳＳＮ変換処理
５２７    チェックビット付加処理
５２８    全体制御処理
【図１】
2013205913.tif 000003
【図２】
2013205913.tif 000004
【図３】
2013205913.tif 000005
【図４】
2013205913.tif 000006
【図５】
2013205913.tif 000007
【図６】
2013205913.tif 000008
【図７】
2013205913.tif 000009
【図８】
2013205913.tif 000010
【図９】
2013205913.tif 000011
【図１０】
2013205913.tif 000012
【図１１】
2013205913.tif 000013