(57)【要約】【課題】トランザクション性能を改善すること。【解決手段】ホストコンピュータ２０からリードコマンドおよびライトコマンを受信するディスク制御装置１０と、ディスク制御装置１０とデータの授受を行う外部ディスク制御装置および内部ディスク装置４０を備え、外部ディスク制御装置３０または内部ディスク制御装置４０の記憶デバイスは、ディスク制御装置１０からのアクセスを物理サブブロック単位で処理し、ディスク制御装置１０は、ユーザデータに保証コードを含む付加コードを加えた論理サブブロック単位で外部ディスク制御装置３０または内部ディスク装置４０の記憶デバイスに対してアクセスするときに、論理サブブロックと物理サブブロックとの最小公倍数単位でアクセスするとともに、保証コード長を変化させる。【選択図】図１
2008269363.tif 000002
【特許請求の範囲】
【請求項１】
上位装置からリードコマンド及びライトコマンドを受信するコントローラと、
前記コントローラに接続されて、当該コントローラの制御に基づいてデータが読み出され、又はデータが書き込まれる複数の記憶デバイスと、
を有する記憶制御装置であって、
前記コントローラは、ユーザデータに保証コードを含む付加コードを加えた論理サブブロック単位を設定する論理サブブロック単位設定部と、
前記付加コードのコード長を変更可能な付加コード長設定部と、
を有し、当該付加コード長設定部で設定されたコード長の付加コードを含む前記論理サブブロック単位で前記記憶デバイスにアクセスし、
前記記憶デバイスは、前記コントローラからのアクセスを物理サブブロック単位で処理し、
前記論理サブブロック単位と前記物理サブブロック単位とはブロックサイズが異なっており、
前記コントローラは、前記論理サブブロックと前記物理サブブロックとの公倍数からなる特定ブロックサイズで前記記憶デバイスとの間のアクセスを処理する、ことを特徴とする記憶制御装置。
【請求項２】
前記記憶デバイスは外部接続された記憶デバイスを含み、前記コントローラは、前記外部接続された記憶デバイスをアクセス対象とする、ことを特徴とする請求項１に記載の記憶制御装置。
【請求項３】
前記論理サブブロック単位を構成する保証コードは複数個である、ことを特徴とする請求項１に記載の記憶制御装置。
【請求項４】
前記コントローラは、前記上位装置または前記記憶デバイスとの間で入出力処理するデータを暗号化する暗号化部と、前記上位装置または前記記憶デバイスからのデータのうち暗号化されたデータを復号化する復号化部と、前記暗号化部で暗号化されたデータまたは前記復号化部で復号化されたデータの信頼性を前記保証コードに従ってチェックするデータチェック部と、を備えてなる、ことを特徴とする請求項１に記載の記憶制御装置。
【請求項５】
前記付加コード長設定部は、前記上位装置の業務アプリケーションプログラムの特性に応じて付加コード長を変更する、ことを特徴とする請求項１に記載の記憶制御装置。
【請求項６】
前記付加コード長設定部は、トランザクション性能が要求されるときには、前記付加コードを短くし、シーケンシャル性能が要求されるときには、前記付加コードを長くする、ことを特徴とする請求項１に記載の記憶制御装置。
【請求項７】
前記付加コードは、論理アドレスを含む、ことを特徴とする請求項１に記載の記憶制御装置。
【請求項８】
前記付加コードは、ユーザ指定の情報を付与するためのパッドデータを含む、ことを特徴とする請求項１に記載の記憶制御装置。
【請求項９】
上位装置からリードコマンド及びライトコマンドを受信するコントローラと、前記コントローラに接続されて、当該コントローラの制御に基づいてデータが読み出され、又はデータが書き込まれる複数の記憶デバイスとの間でのデータの入出力を制御する、記憶制御方法であって、
前記記憶デバイスは、
前記コントローラからのアクセスを物理サブブロック単位で処理する工程を実行し、
前記コントローラは、
ユーザデータに保証コードを含むコードであって、コード長を変更可能な付加コードを加えた論理サブブロック単位を設定する第１工程と、
前記設定されたコード長の付加コードを含む前記論理サブブロック単位で前記記憶デバイスにアクセスする第２工程と、
前記物理サブブロック単位とはブロックサイズが異なる前記論理サブブロックと前記物理サブブロックとの公倍数からなる特定ブロックサイズで前記記憶デバイスとの間のアクセスを処理する第３工程と、
を実行する、ことを特徴とする記憶制御方法。
【請求項１０】
前記コントローラは、前記上位装置または前記記憶デバイスとの間で入出力処理するデータを暗号化する第４工程と、前記上位装置または前記記憶デバイスからのデータのうち暗号化されたデータを復号化する第５工程と、前記暗号化部で暗号化されたデータまたは前記復号化部で復号化されたデータの信頼性を前記保証コードに従ってチェックする第６工程と、を実行する、ことを特徴とする請求項９に記載の記憶制御方法。
【請求項１１】
前記第１工程は、前記上位装置の業務アプリケーションプログラムの特性に応じて付加コード長を変更する工程を含む、ことを特徴とする請求項９に記載の記憶制御方法。
【請求項１２】
前記第１工程は、トランザクション性能が要求されるときには、前記付加コードを短くし、シーケンシャル性能が要求されるときには、前記付加コードを長くする工程を含む、ことを特徴とする請求項９に記載の記憶制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上位装置が使用するデータの入出力を制御する記憶制御装置に関し、特に、コントローラとコントローラのアクセス対象となる記憶デバイスとを有する記憶制御装置において、コントローラと記憶デバイスが互いに異なるサイズのデータを扱う技術に関する。
【背景技術】
【０００２】
記憶制御装置（ストレージ装置）として、複数の記憶デバイスと上位装置（ホスト）からのコマンドを処理して複数の記憶デバイスに対する入出力を処理するコントローラとを備えているものがある。コントローラは、上位装置からのデータに保証コードを付けて処理し、データの信頼性を向上させている。コントローラは、記憶デバイスにアクセスする際、論理サブブロック単位でデータを入出力する。一方、記憶デバイスは、コントローラに対して物理サブブロック単位で処理する。記憶デバイスがＡＴＡ（ＡＴ  Ａｔｔａｃｈｍｅｎｔ）をプロトコルとするハードディスクドライブの場合、論理サブブロック単位（第１のブロック単位）と物理サブブロック（第２のブロック単位）とが異なるために、論理サブブロック単位と物理サブブロック単位の各単位の公倍数分のサイズを有する第３のブロック単位で記憶デバイスにデータの書込みを指示するようにしたものが提案されている（特許文献１参照）。
【０００３】
【特許文献１】特開２００６−１９５８５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来技術においては、コントローラがライトコマンドにしたがってデータの入出力処理を実行する際に、論理サブブロック単位と物理サブブロック単位のサイズが異なることを考慮し、両者のサイズの公倍数分のサイズを有する第３のブロック単位で記憶デバイスに対するデータの書込みを指示しているが、データのアクセス単位が大きくなり、ランダムアクセス時のオーバーヘッドが増加するとともに、キャッシュヒット率が低下し、トランザクション性能が劣化することが危惧される。
【０００５】
そこで、本発明の第１の目的は、トランザクション性能を改善することにある。また、本発明の第２の目的は、外部接続記憶デバイスに対するアクセスを改善することにある。
【課題を解決するための手段】
【０００６】
前記第１の目的を達成するために、本発明は、ユーザコードに保証コードを付加した論理サブブロックと物理サブブロックとの最小公倍数単位でアクセスする際に、保証コード長を変化させることによってデータ信頼性を確保しながらトランザクション性能とデータ利用率のバランスを調整することを特徴とする。
【０００７】
前記第２の目的を達成するために、本発明は、外部接続記憶デバイス（外部接続ドライブ）にアクセスする際に、サイドファイルに格納したデータ保証コードを使ってデータの信頼性を向上させ、外部接続ドライバに対するアクセスを改善することを特徴とする。
【０００８】
すなわち、本発明は、上位装置からリードコマンド及びライトコマンドを受信するコントローラと、前記コントローラに接続されて、当該コントローラの制御に基づいてデータが読み出され、又はデータが書き込まれる複数の記憶デバイスと、を有する記憶制御装置であって、前記コントローラは、ユーザデータに保証コードを含む付加コードを加えた論理サブブロック単位を設定する論理サブブロック単位設定部と、前記付加コードのコード長を変更可能な付加コード長設定部と、を有し、当該付加コード長設定部で設定されたコード長の付加コードを含む前記論理サブブロック単位で前記記憶デバイスにアクセスし、前記記憶デバイスは、前記コントローラからのアクセスを物理サブブロック単位で処理し、前記論理サブブロック単位と前記物理サブブロック単位とはブロックサイズが異なっており、前記コントローラは、前記論理サブブロックと前記物理サブブロックとの公倍数からなる特定ブロックサイズで前記記憶デバイスとの間のアクセスを処理する、ことを特徴とする。
【０００９】
本発明の好適な形態は、さらに以下の特徴を備える。前記記憶デバイスは、外部接続された記憶デバイスを含み、前記コントローラは、前記外部接続された記憶デバイスをアクセス対象としてなる。前記論理サブブロック単位を構成する保証コードは複数個である。前記コントローラは、前記上位装置または前記記憶デバイスとの間で入出力処理するデータを暗号化する暗号化部と、前記上位装置または前記記憶デバイスからのデータのうち暗号化されたデータを復号化する復号化部と、前記暗号化部で暗号化されたデータまたは前記復号化部で復号化されたデータの信頼性を前記保証コードに従ってチェックするデータチェック部と、を備えてなる。前記付加コード長設定部は、前記上位装置の業務アプリケーションプログラムの特性に応じて付加コード長を変更する。前記付加コード長設定部は、トランザクション性能が要求されるときには、前記付加コードを短くし、シーケンシャル性能が要求されるときには、前記付加コードを長くする。前記付加コードは、ユーザ指定の情報を付与するためのパッドデータを含む。
【００１０】
また、他の発明は、上位装置からリードコマンド及びライトコマンドを受信するコントローラと、前記コントローラに接続されて、当該コントローラの制御に基づいてデータが読み出され、又はデータが書き込まれる複数の記憶デバイスとの間でのデータの入出力を制御する、記憶制御方法であって、前記記憶デバイスは、前記コントローラからのアクセスを物理サブブロック単位で処理する工程を実行し、前記コントローラは、ユーザデータに保証コードを含むコードであって、コード長を変更可能な付加コードを加えた論理サブブロック単位を設定する第１工程と、前記設定されたコード長の付加コードを含む前記論理サブブロック単位で前記記憶デバイスにアクセスする第２工程と、前記物理サブブロック単位とはブロックサイズが異なる前記論理サブブロックと前記物理サブブロックとの公倍数からなる特定ブロックサイズで前記記憶デバイスとの間のアクセスを処理する第３工程と、を実行する、ことを特徴とする。
【００１１】
本発明の好適な形態においては、前記コントローラは、前記上位装置または前記記憶デバイスとの間で入出力処理するデータを暗号化する第４工程と、前記上位装置または前記記憶デバイスからのデータのうち暗号化されたデータを復号化する第５工程と、前記暗号化部で暗号化されたデータまたは前記復号化部で復号化されたデータの信頼性を前記保証コードに従ってチェックする第６工程と、を実行する。前記第１工程は、前記上位装置の業務アプリケーションプログラムの特性に応じて付加コード長を変更する工程を含む。前記第１工程は、トランザクション性能が要求されるときには、前記付加コードを短くし、シーケンシャル性能が要求されるときには、前記付加コードを長くする工程を含む。
【発明の効果】
【００１２】
本発明によれば、データの信頼を確保しながらトランザクション性能を改善することができる。また、外部接続ドライブに対するアクセスを改善することができる。
【発明を実施するための最良の形態】
【００１３】
次に、本発明の実施形態は、図面を用いて説明する。図１は、本発明の実施形態が適用された記憶制御装置（ストレージ制御装置）のブロック構成を示した図である。図1において、記憶制御装置は、ディスク制御装置１０、内部ディスク装置４０を備え、ディスク制御装置１０は、ファイバチャネルなどの通信ネットワークを介して、上位装置（上位計算機）としての、２台のホストコンピュータ２０に接続されているとともに、内部ディスク装置４０に接続され、またＬＡＮ１２を介して管理端末１４に接続されているとともに、外部ディスク制御装置３０に接続されている。
【００１４】
内部ディスク装置４０は、複数の記憶デバイス４０ａを有し、外部ディスク制御装置３０は、複数の記憶デバイス３０ａを有し、ディスク制御装置１０は、各ホストコンピュータ２０からリードコマンドおよびライトコマンドを受信するコントローラとして構成され、内部ディスク装置４０の記憶デバイス４０ａまたは外部ディスク制御装置３０の記憶デバイス３０ａに対するデータの入出力を制御するようになっている。この際、ディスク制御装置１０は、コントローラとして、ユーザデータに保証コードを付加した論理サブブロックと物理サブブロックとの最小公倍数単位で各記憶デバイス４０ａ、３０ａにアクセスする際に、保証コード長を変化させることによって、データの信頼性を確保しながらトランザクション性能（単位時間当たりに処理できるＩＯ（Ｉｎｐｕｔ  Ｏｕｔｐｕｔ）数）とデータ利用率のバランスを調整し、外部ディスク制御装置３０の記憶デバイス３０ａにアクセスする際には、サイドファイルに格納したデータ保証コードを使ってデータの信頼性を向上させて、記憶デバイス３０ａに対するアクセスを改善することとしている。
【００１５】
具体的には、ディスク制御装置１０は、２台のフロントエンドパッケージ１００、１台のフロントエンドパッケージ１０２、１台のバックエンドパッケージ２００、２台のマイクロプロセッサパッケージ３００、２台のキャッシュメモリパッケージ４００、２台のスイッチパッケージ５００を備えており、各フロントエンドパッケージ１００は、それぞれホストコンピュータ２０に接続され、フロントエンドパッケージ１０２は、外部ディスク制御装置３０に接続され、バックエンドパッケージ２００は、内部ディスク装置４０に接続されている。
【００１６】
各フロントエンドパッケージ１００は、ローカルルータ（ＬＲ）１１０、ホストメモリ（ＨＭ）１２０、複数のプロトコルエンジン（ＰＥ）１３０を備えて構成され、フロントエンジンパッケージ１０２は、ローカルルータ２１０、ホストメモリ２２０、複数のプロトコルエンジン２３０を備えて構成され、バックエンドパッケージ２００は、ローカルルータ２１０、ホストメモリ２２０、複数のプロトコルエンジン２３０を備えて構成されている。
【００１７】
各マイクロプロセッサパッケージ３００は、メモリコントローラ（ＭＣ）３１０、ローカルルータ（ＬＭ）３２０、複数のマイクロプロセッサ（ＭＰ）３３０を備えて構成され、キャッシュメモリパッケージ４００は、キャッシュメモリコントローラ（ＣＭＣ）４１０、キャッシュメモリ（ＣＭ）４２０を備えて構成されている。各スイッチパッケージ５００は、それぞれスイッチ（ＳＷ）５１０を備えて構成され、各スイッチ５１０は、ローカルルータ１１０と、ローカルルータ２１０と、メモリコントローラ３１０およびキャッシュメモリコントローラ４１０を互いに接続する通信路を開閉するようになっている。
【００１８】
バックエンドパッケージ２００は、図２に示すように、キャッシュメモリ４２０と内部ディスク装置４０との間でのデータの入出力を制御するようになっている。この際、キャッシュメモリ４２０は、データ本体ＤＴと論理アドレスＬＡを含む論理ブロック５０００を格納し、キャッシュメモリ４２０に格納された論理ブロック５０００は、保証コード生成部４１１０で保証コードＣＣ１が付加された論理ブロック５０１０としてバックエンドパッケージ２００に出力される。論理ブロック５０１０は、データチェック部２０１０で保証コードＣＣ１に関するチェックが行われる。データチェック部２０１０の出力による論理ブロックは、暗号化部２０３０で暗号化されたデータＥＤＴが付加され、論理ブロック５０２０として出力される。この論理ブロック５０２０には、保証コード生成部２４１０で保証コードＣＣ２が付加され、論理ブロック５０３２としてホストメモリ２２０に格納される。ホストメモリ２２０に格納された論理ブロック５０３２はデータチェック部２３１０で保証コードＣＣ２についてチェックされ、チェックされた論理ブロックは論理ブロック５０４２として内部ディスク装置４０に格納される。
【００１９】
一方、内部ディスク装置４０に格納された論理ブロック５０４２は、ＦＣ（Ｆｉｂｅｒ  Ｃｈａｎｅｌ）プロトコルでカプセル化され、保証コード生成部２３２０で保証コードＣＣ２が付加された後、ホストメモリ２２０に格納される。ホストメモリ２２０に格納された論理ブロック５０３７は、データチェック部２５２０で保証コードＣＣ２についてのチェックが行われ、復号化部２０４０に出力される。復号化部２０４０ではデータの復号化が行われ、複合化された論理ブロック５０２５はデータチェック部２０２０で保証コードＣＣ１についてのチェックが行われ、チェックされた論理ブロック５０１５は、キャッシュメモリパッケージ４００の保証コードチェック部４１２０で保証コードＣＣ１についてのチェックが行われ、チェック後の論理ブロック５００５はキャッシュメモリ４２０に格納される。
【００２０】
一方、フロントエンドパッケージ１０２は、図３に示すように、キャッシュメモリ４２０と外部ディスク制御装置３０との間のデータの入出力を制御するために、データチェック部１１１０、１１２０、暗号化部１１３０、復号化部１１４０、保証コード生成部１５１０、データチェック部１５２０、論理アクセスブロック生成・分解論理部１５００、保証コード生成部１５３０、データチェック部１５４０、ホストメモリ２２０、データチェック部２３１０、保証コード生成部２３２０を備えて構成されている。
【００２１】
すなわち、フロントエンドパッケージ１０２は、保証コード生成部１５１０および保証コードチェック部１５２０と、ホストメモリ２２０との間に、論理アクセスブロック生成・分解論理部１５００、保証コード生成部１５３０、データチェック部１５４０を設け、論理アクセスブロック生成・分解論理部１５００で論理アクセスブロック５０３０を生成または論理アクセスブロック５０３５に分解し、ダイレクトメモリアクセスコントローラ（ＤＭＡＣ）１５０とプロトコルエンジン２３０との間で、ホストメモリ２２０を介して論理アクセスブロック５０４０または論理アクセスブロック５０４５の授受を行い、プロトコルエンジン２３０と外部ディスク制御装置３０との間で、論理アクセスブロック５０５０または論理アクセルブロック５０５５の授受を行うようにしたものであり、他の構成はバックエンドパッケージ２００と同様である。またフロントパッケージ１００も、フロントエンドパッケージ１０２と同様の機能を備え、プロトコルエンジン１３０がそれぞれホストコンピュータ２０に接続されている。
【００２２】
具体的には、ダイレクトメモリアクセスコントローラ（ＤＭＡＣ）１５０は、図４に示すように、保証コードＣＣ２を生成する保証コード生成部１５１０、保証コードＣＣ２をチェックするためのデータチェック部１５２０、保証コードＣＣ２の冗長度を設定する冗長度設定部１５０４、論理アクセスブロックを生成する論理アクセスブロック生成論理部１５０１、論理アクセスブロックを分解する論理アクセスブロック分解論理部１５０２、論理サブブロック長を設定する論理サブブロック長設定部１５０５、アクセスブロック長を設定するアクセスブロック長設定部１５０６、アクセスブロックバッファ１５０３、保証コードＣＣ３を生成する保証コード生成部１５３０、保証コードＣＣ３をチェックするチェック部１５４０、保証コードＣＣ３の生成に関する数をカウントするカウンタ１５０７、保証コードＣＣ３のチェック数をカウントするカウンタ１５０８を備えて構成されている。
【００２３】
次に、論理アクセスブロック生成論理部１５０１の処理を図５（ａ）のフローチャートにしたがって説明する。まず、論理アクセスブロック生成論理部１５０１は、パラメータとして、例えば、論理サブブロック長、論理アクセスブロック長、アクセスブロックフォーマットを各設定部１５０５、１５０６から取得し、論理アクセスブロックフォーマットを分析し（Ｓ２）、論理サブブロックを取得し（Ｓ３）、保証コード、例えばＣＣ３を生成し（Ｓ４）、論理アクセスブロック長を長くするか否かを判定し（Ｓ５）、シーケンシャル性能が要求されるときには保証コード長を長くし、トランザクション性能が要求されるときには保証コード長を短くするために、論理アクセスブロック長が長くないときにはステップＳ３の処理に戻り、論理アクセスブロック長が長いときには論理アクセスブロックを生成し、このルーチンでの処理を終了する。論理アクセスブロックの生成例を図６と図７および図８に示す。
【００２４】
図６（ａ）は、保証コード長（ＬＡ+ＣＣ１+ＣＣ２）が８Ｂ（ビット）の場合であって、外部ディスク制御装置の記憶デバイス（外部接続ドライブ）３０ａにおける物理サブブロックｂ１は５１２Ｂで構成され、ディスク制御装置１０における論理サブブロックｂ２は、データが５１２Ｂで保証コードが８Ｂで構成され、論理アクセルブロックｂ３は、３３２８０Ｂで構成されている例を示す。図６（ｂ）は、保証コード長（ＬＡ+ＣＣ１+ＣＣ２）が１２８Ｂ（ビット）の場合であって、外部ディスク制御装置の記憶デバイス（外部接続ドライブ）３０ａにおける物理サブブロックｂ１は５１２Ｂで構成され、ディスク制御装置１０における論理サブブロックｂ２は、データが５１２Ｂで、保証コードが１２８Ｂで構成され、論理アクセルブロックｂ３は、２５６０Ｂで構成されている例を示す。
【００２５】
図７（Ａ）は、データ本体ＤＡＴＡにハミング符号Ｄ、Ｃ２と保証コードＬＡ、Ｃ１を付加したディスク制御装置１０における論理ブロックの構成を示し、図７（Ｂ）は、（Ａ）の論理ブロックに対して、さらにハミング符号Ｄ、Ｃ２と保証コードＬＡ、Ｃ１、Ｃ２を付加した、ディスク制御装置１０における論理サブブロックｂ２の構成を示し、図７（Ｃ）は、外部ディスク制御装置の記憶デバイス（外部接続ドライブ）３０ａにおける物理サブブロックｂ１の構成を示し、図７（Ｄ）は、外部ディスク制御装置の記憶デバイス（外部接続ドライブ）３０ａにおける物理サブブロックｂ１に保証コードＣ３を付加したときの物理サブブロックｂ１の構成を示す。
【００２６】
図８（Ａ）は、データ本体ＤＡＴＡに保証コードＬＡ、Ｃ１を付加したときの論理ブロックの構成を示し、図８（Ｂ）は、暗号化されたデータ本体ＤＡＴＡに保証コードＬＡ、Ｃ１、Ｃ２（暗号化された保証コード）、アクセル履歴Ａｃ１、アクセス権限Ａｃ２が付加された、ディスク制御装置１０における論理サブブロックｂ２の構成を示し、図８（Ｃ）は、外部ディスク制御装置の記憶デバイス（外部接続ドライブ）３０ａにおける物理サブブロックｂ１の構成を示す。
【００２７】
次に、論理アクセスブロック分解論理部１５０２の処理を図５（ｂ）のフローチャートにしたがって説明する。論理アクセスブロック分解論理部１５０２は、論理アクセスブロックを分解するに際して、パラメータとして、例えば論理ブロック長、論理アクセスブロック長、アクセスブロックフォーマットを取得し（Ｓ１１）、論理アクセスフォーマットを分析し（Ｓ１２）、各設定部１５０５，１５０６から論理アクセスブロックを取得し（Ｓ１３）、論理アクセスブロックを論理サブブロックに分解し（Ｓ１４）、次に保証コードを分解し、検証を行う（Ｓ１５）。次に、論理アクセスブロック分解論理部１５０２は、論理アクセスブロックが長いか否かを判定し（Ｓ１６）、論理アクセスブロックが長すぎるときにはステップＳ１４の処理に戻り、論理アクセスブロックが長くないときにはこのルーチンでの処理を終了し、論理アクセスブロックの分解処理を終了する。
【００２８】
本実施形態によれば、ディスク制御装置１０から内部ディスク装置４０または外部ディスク制御装置３０に対してアクセスする際に、ユーザコードに保証コードを付加した論理サブブロックｂ２と物理サブブロックｂ１との最小公倍数単位でアクセスするとともに、保証コード長、例えば、保証コードＣＣ２の長さを変化させるようにしたため、データの信頼性を確保しながら、トランザクション性能とデータ利用率のバランスを調整することができる。
【００２９】
具体的には、図９（ａ)に示すように、保証コード長を０、６４、１２８に選択することで、それぞれデータ利用率大・中・小となり、要求トランザクション性能は小・中・大となる。またデータ変換種別としては、図９（ｂ）に示すように、平文では保証コード長８に対して、暗号では保証コード長は１６、圧縮では保証コード長は１６、圧縮＋暗号では、保証コード長は３２となる。また１ビットエラー訂正が可能な情報ブロック長に選択すると、１ビット訂正可能情報ブロック２４７、１２０、５７、２６、１１、４に対して、保証コード長はそれぞれ８、１６、３２、６４、２５６、５１２となる。
【００３０】
図１０に、本実施形態にあるディスク制御装置の効果例を示す。このとき用いるハミングコードの内容を図１１に示す。図１１において、符号化率は、情報ビット／符号長である。
【００３１】
次に、本発明の第２実施形態を図１２にしたがって説明する。本実施形態は、ダイレクトメモリアクセスコントローラ１５０の代わりに、ダイレクトメモリアクセスコントローラ（ＤＭＡＣ）１６０を用いたものであり、他の構成は図３に示す実施形態と同様である。
【００３２】
すなわち、ダイレクトメモリアクセスコントローラ１６０は保証コードＣＣ１を再構成するためのＣＣ１再構成論理部１６００と、保証コードＣＣ２を生成する保証コード生成部１６３０と、保証コードＣＣ２をチェックするためのチェック部１６４０を備えて構成されており、プロトコルエンジン２３０に対して論理ブロック５０５０２と保証コードＣＣ２を付加して論理ブロック５０６０をホストメモリ２２０を介して転送し、プロトコルエンジン２３０からの論理ブロック５０７５をホームメモリ２２０を介して論理ブロック５０６５として入力し、論理ブロック５０６５の保証コードＣＣ２をチェックし、チェック後の論理ブロック５０５５をＣＣ１再構成論理部１６００で再構成して論理ブロック５０２５として復号化部１１４０に出力するようにしたものである。
【００３３】
この際、ローカルルータ２１０におけるホストメモリ１２０は、図１３に示すように、ライトアクセスに応答してプロトコルエンジン２３０を介して外部接続ドライブ３０ａにデータを格納し、リードアクセスに応答して、外部接続ドライブ３０ａに格納されたデータをプロトコロルエンジン２３０を介して取り込み、保証コード格納領域１２１０に保証コードＣＣ２を格納するようになっている。このとき、ホストメモリ１２０とマイクロプロセッサパッケージ３００のローカルルータ３２０との間でデータの授受が行われるとともに、ローカルルータ３２０は、キャッシュメモリ４２０とデータの授受を行い、キャッシュメモリ４２０には保証コードＣＣ１が格納されたドライブ３５のデータが格納されるようになっている。
【００３４】
具体的には、ホームメモリ１２０には、図１４に示すように、ホームメモリ１２０上のパラメータリスト１２０ａに格納された「Ｆｒｏｍアドレス」、「ＴＯアドレス」、「転送長」、「ステータス返送アドレス」、「保証コード格納アドレス」、「転送コマンド」・・・「パラメータリンクアドレス」・・・がホストメモリ１２０の保証コード格納領域１２１０に格納される。そして外部接続ドライブ３０ａに対するリード時には保証コード期待値を保証コード格納領域１２０にロードし、外部接続ドライブ３０ａへのライト時には保証コードをセーブする。この際、キャッシュメモリ４２０は必要に応じて保証コードをキャッシュメモリ上に展開し、外部接続ドライブ３０ａから得られたデータを保証コード用ドライブ３０ａに格納する。
【００３５】
論理アクセスブロックフォーマットを管理する際には、図１５に示すように、管理端末１４の画面上にテーブルＴ１の内容が論理アクセスブロックフォーマットとして表示される。この際、パリティ（ＲＡＩＤ）グループなどの構成が定まった論理ボリューム単位で、サイズ、論理サブブロック長、論理アクセスブロック長、保証コードフォーマットなどでの指定を行うことでデータ変換が行われる。この場合、その方法、例えば、暗号、圧縮などの方法を指定すれば、適切な論理サブブロック長、論理アクセスブロック長、保証コードフォーマットを設定するような構成サポートツールを利用することも可能である。
【００３６】
本実施形態によれば、外部ディスク制御装置３０または内部ディスク制御装置４０の記憶デバイスは、ディスク制御装置１０からのアクセスを物理サブブロック単位で処理し、ディスク制御装置１０は、ユーザデータに保証コードを含む付加コードを加えた論理サブブロック単位で外部ディスク制御装置３０または内部ディスク装置４０の記憶デバイスに対してアクセスするときに、論理サブブロックと物理サブブロックとの最小公倍数単位でアクセスするとともに、保証コード長を変化させるようにしたため、データ信頼性を確保しながらトランザクション性能の改善を図ることができる。
【００３７】
また、本実施形態によれば、ディスク制御装置１０から外部接続ドライバにアクセスするときに、サイドファイルに格納したデータ保証コードを用いるようにしたため、データ信頼性を向上させることができる。
【図面の簡単な説明】
【００３８】
【図１】本発明の第１実施形態を示す記憶制御装置のブロック構成図である。
【図２】内部接続ドライブに対する処理を説明するためのディスク制御装置の機能とデータの構成を示す図である。
【図３】外部接続ドライブに対するディスク制御装置の処理を説明するための構成とデータの変化を示す図である。
【図４】ダイレクトメモリアクセスコントローラの構成とデータの構成を説明するための図である。
【図５】（ａ）は、論理アクセスブロック生成処理を説明するためのフローチャート、（ｂ）は、論理アクセスブロック分解処理を説明するためのフローチャートである。
【図６】論理アクセスブロックの構成説明図である。
【図７】論理アクセスブロックの構成説明図である。
【図８】論理アクセスブロックの構成説明図である。
【図９】保証コード長の選択ポリシーを説明するための図であって、（ａ）は、データ利用率、トランザクション性能による選択を説明するための図、（ｂ）は、データ変換種別による選択を説明するための図、（ｃ）は、１ビットエラー訂正が可能な情報ブロック長による選択を説明するための図である。
【図１０】本発明に係るディスク制御装置の効果を示すための図である。
【図１１】ハミングコードの構成説明図である。
【図１２】本発明の第２実施形態を示すディスク制御装置の要部構成とデータの構成を示す図である。
【図１３】ローカルルータと外部接続ドライブとの関係を説明するための構成図である。
【図１４】ディスク制御装置で用いられるＤＭＡパラメータリストの構成を説明するための図である。
【図１５】論理アクセスブロックフォーマット管理画面を説明するための図である。
【符号の説明】
【００３９】
１０  ディスク制御装置、１４  管理端末、２０  ホストコンピュータ、３０  外部ディスク制御装置、４０  内部ディスク装置、１００、１０２  フロントエンドパッケージ、２００  バックエンドパッケージ、３０  マイクロプロセッサパッケージ、４００  キャッシュメモリパッケージ、５００  スイッチパッケージ、１５０、１６０、２５０  ダイレクトメモリアクセスコントローラ、１５００  論理アクセスブロック生成・分解論理部、１５０１  論理アクセスブロック生成論理部、１５０２  論理アクセスブロック分解論理部、１５０３  アクセスブロックバッファ
【図１】
2008269363.tif 000003
【図２】
2008269363.tif 000004
【図３】
2008269363.tif 000005
【図４】
2008269363.tif 000006
【図５】
2008269363.tif 000007
【図６】
2008269363.tif 000008
【図７】
2008269363.tif 000009
【図８】
2008269363.tif 000010
【図９】
2008269363.tif 000011
【図１０】
2008269363.tif 000012
【図１１】
2008269363.tif 000013
【図１２】
2008269363.tif 000014
【図１３】
2008269363.tif 000015
【図１４】
2008269363.tif 000016
【図１５】
2008269363.tif 000017