"ホストコンピュータに接続されたストレージシステムであって、プロセッサ、複数のドライブ、及び前記複数のドライブにより提供され、前記ホストコンピュータからのIO要求のターゲットとなる論理ボリュームとを有し、前記複数のドライブは、それぞれが前記論理ボリュームに対する書き込みデータが分割された所定数のストライプデータとそのストライプデータに基づき生成される第1および第2の冗長データとで構成された複数のストライプ列を有し、前記プロセッサは、前記論理ボリュームの書き込みデータの更新に対応して、対応するストライプ列のストライプデータと前記第1の冗長データとを更新し、前記ストライプ列のストライプデータの更新とは異なるタイミングで、更新された前記ストライプデータと同じストライプ列に属する前記所定数のストライプデータに基づき、前記第2の冗長データを更新することを特徴とするストレージシステム。請求項1に記載のストレージシステムであって、前記複数のストライプ列の各々に対応したフラグ情報を格納するメモリを更に有し、前記プロセッサは、前記第2の冗長データを更新するまで、前記ストライプ列に対応するフラグをオンにすることを特徴とするストレージシステム。請求項2に記載のストレージシステムであって、前記プロセッサは、前記フラグがオンになっているストライプに含まれる前記第2の冗長データを更新し、その更新が完了したら前記フラグをオフにすることを特徴とするストレージシステム。請求項3に記載のストレージシステムであって、スペアドライブを更に有し、前記複数のドライブのいずれかが故障した場合、前記プロセッサは、前記フラグがオンになっている全てのストライプに含まれる前記第2の冗長データを更新し、その更新が完了したら、故障した前記ドライブに格納されていたデータを前記スペアドライブに復元することを特徴とするストレージシステム。ホストコンピュータに接続されたストレージシステムであって、プロセッサ、複数のドライブ、及び前記複数のドライブにより提供され、前記ホストコンピュータからのIO要求のターゲットとなる論理ボリュームとを有し、前記複数のドライブは、それぞれが前記論理ボリュームに対する書き込みデータが分割された所定数のストライプデータとそのストライプデータに基づき生成される第1および第2の冗長データとで構成された複数のストライプ列を有し、前記プロセッサは、前記論理ボリュームの書き込みデータの更新に対応して、対応するストライプ列のストライプデータと前記第1の冗長データとを更新し、前記論理ボリュームに対し、前記第2の冗長データの更新を前記ストライプ列のストライプデータの更新と非同期で行うことが可能なモードを設定できることを特徴とするストレージシステム。請求項5に記載のストレージシステムであって、前記複数のストライプ列の各々に対応したフラグ情報を格納するメモリを更に有し、前記プロセッサは、前記モードが設定されていて前記第2の冗長データの更新が前記ストライプデータの更新と非同期で行われる場合、前記第2の冗長データを更新するまで、前記第2の冗長データが属する前記ストライプ列に対応するフラグをオンにすることを特徴とするストレージシステム。請求項6に記載のストレージシステムであって、前記プロセッサは、前記フラグがオンになっているストライプに含まれる前記第2の冗長データを更新し、その更新が完了したら前記フラグをオフにすることを特徴とするストレージシステム。請求項7に記載のストレージシステムであって、スペアドライブを更に有し、前記複数のドライブのいずれかが故障した場合、前記プロセッサは、前記フラグがオンになっている全てのストライプに含まれる前記第2の冗長データを更新し、その更新が完了したら、故障した前記ドライブに格納されていたデータを前記スペアドライブに復元することを特徴とするストレージシステム。ホストコンピュータに接続されたストレージシステムであって、プロセッサ、複数のドライブ、及び前記複数のドライブにより提供され、前記ホストコンピュータからのIO要求のターゲットとなる論理ボリュームとを有し、前記複数のドライブは、それぞれが前記論理ボリュームに対する書き込みデータが分割された所定数のストライプデータとそのストライプデータに基づき生成される第1および第2の冗長データとで構成された複数のストライプ列を有し、前記プロセッサは、前記論理ボリュームの書き込みデータの更新に対応して、対応するストライプ列のストライプデータと前記第1の冗長データとを更新し、前記論理ボリュームの更新された領域に対するアクセス頻度に応じて、更新された前記ストライプデータと同じストライプ列に属する前記第2の冗長データの更新を前記ストライプデータの更新と同期又は非同期で行うかを選択することを特徴とするストレージシステム。請求項9に記載のストレージシステムであって、前記論理ボリュームの更新された領域に対するアクセス頻度が所定値よりも低い場合、更新された前記ブロックデータと同じストライプに属する前記第2の冗長データの更新を前記ブロックデータの更新と同期して行い、前記論理ボリュームの更新された領域に対するアクセス頻度が所定値よりも高い場合、更新された前記ブロックデータと同じストライプに属する前記第2の冗長データの更新を前記ストライプデータの更新と非同期で行うことを特徴とするストレージシステム。請求項9に記載のストレージシステムであって、更新された前記ストライプデータを含む前記ストライプ列にはアクセス可能だが、前記論理ボリュームを提供する複数のドライブのいずれかに障害が発生している場合には、前記アクセス頻度に関わらず、更新された前記ストライプデータと同じストライプ列に属する前記第2の冗長データの更新を前記ストライプデータの更新と同期して行うことを特徴とするストレージシステム。請求項9に記載のストレージシステムであって、前記ホストコンピュータからのIO要求がシーケンシャルアクセスの場合には、前記アクセス頻度に関わらず、更新された前記ストライプデータと同じストライプ列に属する前記第2の冗長データの更新を前記ストライプデータの更新と同期して行うことを特徴とするストレージシステム。請求項9に記載のストレージシステムであって、前記複数のストライプ列の各々に対応したフラグ情報を格納するメモリを更に有し、前記プロセッサは、前記第2の冗長データを更新するまで、前記ストライプ列に対応するフラグをオンにすることを特徴とするストレージシステム。請求項13に記載のストレージシステムであって、前記プロセッサは、前記フラグがオンになっているストライプに含まれる前記第2の冗長データ更新し、その更新が完了したら前記フラグをオフにすることを特徴とするストレージシステム。請求項14に記載のストレージシステムであって、前記論理ボリュームに対して、前記フラグがオンになっているストライプ列の容量の上限を設定できることを特徴とするストレージシステム。請求項15に記載のストレージシステムであって、スペアドライブを更に有し、前記複数のドライブのいずれかが故障した場合、前記プロセッサは、前記フラグがオンになっている全てのストライプに含まれる前記第2の冗長データを更新し、その更新が完了したら、故障した前記ドライブに格納されていたデータを前記スペアドライブに復元することを特徴とするストレージシステム。上述のとおり、RAID環境の構築をサポートするストレージシステムでは、ユーザデータに冗長データを付加して障害耐性を確保している。ここで、冗長データとはパリティデータを、RAID1ではミラーデータを意味する。ユーザデータに対し冗長データのオーバーヘッドが小さいこと、RAID3やRAID4のようにパリティ専用ドライブのボトルネックがないことからRAID5をサポートするストレージシステムが多い。しかし、RAID5では二重障害に対応できない。近年ドライブが大容量化しているが、これに伴い、ドライブに障害が発生した場合、その障害回復に要する時間も増加する。障害回復時間が増加すると二重障害発生のリスクも増える。障害耐性を高めるにはRAID6でストレージシステムを構築することが考えられる。しかし、RAID6では、更新前のデータと2つのパリティをドライブから読込んで新たな2つのパリティを生成し、更新後のデータと生成した2つのパリティとをドライブに書き込むため、更新データをドライブに反映するのに6回ドライブにアクセスする必要がある。以下、このドライブアクセス時間の長大化をライトペナルティと呼ぶ。そこで、本発明では、冗長化されたディスク構成をサポートするストレージシステムにおいて、障害耐性を確保する一方で、データ更新に伴い発生する冗長データの更新をドライブに反映する際に、ドライブアクセス時間が長くなり、IOのスループットが低下するのを防止する。前記目的を達成するために、本発明の一実施例では、ストレージシステムにおいて、論理ボリュームのストライプデータの更新に対応して、ディスクドライブの対応するデータストライプのストライプデータと第1の冗長データとを更新する。そして、そのストライプデータの更新とは異なるタイミングで、更新されたストライプデータと同じストライプ列に属する所定数のストライプデータに基づき、第2の冗長データを更新する。また、別の一実施例では、ストレージシステムにおいて、第2の冗長データの更新をストライプデータの更新と非同期で行うことが可能なモードを論理ボリュームに対して設定できるようにする。更に、別の一実施例では、ストレージシステムにおいて、論理ボリュームの更新された領域に対するアクセス頻度に応じて、更新されたストライプデータと同じストライプ列に属する第2の冗長データの更新をストライプデータの更新と同期又は非同期で行うかを選択する。本発明の他の特徴は後述の実施例で説明される。ただし、本発明の範囲を実施例に限定する意図ではない。本発明によれば、冗長化されたディスク構成をサポートするストレージシステムにおいて、障害耐性を確保する一方で、データ更新に伴い発生する冗長データの更新をドライブに反映する際に、ドライブアクセス時間が長くなりドライブ稼働率が上昇、IOのスループットが低下するのを防止することができる。以下、本発明の実施例を図面に基づいて説明する。尚、以下に説明する実施例は、特許請求の範囲に係る発明を限定するものではなく、また、実施例の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。第1実施例本実施例は、ドライブの正常時には、ホストIOに同期してパリティ生成を実施することなく、ホストIOとは非同期でパリティ生成を実施し、ドライブの障害時には、ホストIOに同期してパリティ生成を実施すると共に、障害ドライブのデータを復元するものである。図1は、本発明の第1実施例に係る計算機システムの構成図である。図1において、計算機システムは、ホスト101と、管理サーバ102と、ネットワーク103と、ストレージシステム104から構成される。ストレージシステム104は、ポート106と、保守I/FInterface107と、複数のプロセッサパッケージ109A、109Bと、キャッシュメモリ110と、共有メモリ111と、複数のドライブ113から構成される。ホスト101は、CPUCentralProcessingUnit、メモリ、入出力インタフェース等の情報処理資源を備えたコンピュータ装置であり、例えば、サーバ、パーソナルコンピュータ、ワークステーション、メインフレーム等として構成され、ネットワーク103を介して、ストレージシステム104のポート106に接続される。ホスト101は、ストレージシステム104に対して、データのリード命令やライト命令を発行し、ストレージシステム104は、ホスト101から発行されたリード命令又はライト命令に応じてデータの読み込み又は書き込みを実行する。即ち、ホスト101は、ストレージシステム104から提供される論理ボリュームを指定したアクセス命令アクセス要求、例えば、リード命令又はライト命令をストレージシステム104に発行することで、その論理ボリュームにアクセスすることができる。ネットワーク103は、例えば、SANStorageAreaNetworkや、イーサネット登録商標などから構成される。管理サーバ102は、CPU、メモリ、入出力インタフェース等の情報処理資源を備えたコンピュータ装置で構成され、ネットワーク103を介して、ストレージシステム104の保守I/F107またはポート106に接続される。管理サーバ102は、ストレージ管理者の操作を基に、ストレージシステム104を運用する上で必要な各種設定情報や管理のための命令をストレージシステム104に送信する。次に、ストレージシステム104の内部構成について説明する。ストレージシステム104は、ポート106と、保守I/F107と、複数のプロセッサパッケージ109A、109Bと、キャッシュメモリ110と、共有メモリ111と、複数のドライブ113から構成され、これらが、内部ネットワーク112を介して相互に接続され、ポート106と、保守I/F107がネットワーク103に接続される。各プロセッサパッケージ109A、109Bには、ローカルメモリ118と、プロセッサ119が収納される。プロセッサ119は、ストレージシステム104全体を統括制御するプロセッサであって、ホスト101からのリード命令やライト命令を処理するために、ドライブ113とキャッシュメモリ110間のデータの転送処理などを実行する。ローカルメモリ118は、プロセッサ119がリード命令やライト命令を処理するための情報や、ストレージシステム104の機能を実行する上で、必要な制御用の情報を格納するメモリであって、プロセッサ119が占有して使用できる領域である。ローカルメモリ118には、例えば、プロセッサ119が実行する各種プログラム等が格納される。キャッシュメモリ110は、ストレージシステム104のI/O処理のスループットやレスポンスを向上させるために、データを一時的なキャッシュデータとして格納するためのメモリであって、高速アクセスが可能なメモリである。共有メモリ111は、プロセッサ119がリード命令やライト命令を処理するための情報や、ストレージシステム104の機能例えば、ボリュームのコピー機能などを実行する上で、必要な制御用の情報を格納するメモリである。この共有メモリ111には、複数のプロセッサパッケージ109A、Bのプロセッサ119間で共有している情報も格納される。図では、共有メモリ111はキャッシュメモリ110とは別のメモリとして記載されているが、キャッシュメモリ110の一部の領域を共有メモリ111として使用してもよい。各ドライブ113は、例えば、FCFibreChannel、SASSerialAttachedSCSI、SATASerialAdvancedTechnologyAttachmentなどのインタフェースを有する記憶デバイスであって、ハードディスクドライブHDDや、SSDSolidStateDriveなどから構成される。記憶デバイスとしては、例えば、ハードディスクデバイス、半導体メモリデバイス、光ディスクデバイス、光磁気ディスクデバイス、磁気テープデバイス、フレキシブルディスクデバイス等が挙げられ、これらの記憶デバイスは、データを読み書き可能なデバイスである。また、各ドライブ113でRAIDRedundantArrayofInexpensiveDisksグループ、例えば、RAID4、RAID5、RAID6等を構成したり、各ドライブ113を複数のRAIDグループに分割したりすることもできる。この際、各ドライブ113の物理的記憶領域上に複数の論理ボリュームを形成することもできる。論理ボリュームは、ホスト101に、ホスト101のアクセス対象として提供される論理ユニットであって、通常ボリュームと仮想ボリュームとに分けられる。通常ボリュームは、ドライブ113上に形成された論理的記憶領域から構成される。それに対して、仮想ボリュームは、ThinProvisioning機能により提供され、ページと呼ばれる記憶領域の単位から構成される。仮想ボリューム作成当初のデータが書き込まれる前の段階では、ページには物理的記憶領域から形成される論理的記憶領域は、対応付けられていない。そして、ページに新規のデータの書込みが行われると、当該書込みが行われたページに、ドライブ113上に形成された論理的記憶領域の一部の記憶領域が割り当てられ、この割当てられた記憶領域にデータが格納される。通常ボリュームと仮想ボリュームには、識別子として、LUNLogicalUnitNumberが割り当てられ、各セグメントには、論理ブロックアドレスLBALogicalBlockAddressが割り当てられる。この際、ホスト101は、識別子LUNと論理ブロックアドレスLBAからなる論理アドレスをストレージシステム104に送信することにより、通常ボリュームまたは仮想ボリュームに対応した記憶領域に記憶されたデータにアクセスすることができる。図2は、本発明の第一実施例に係る計算機システムの論理構成図である。図2において、論理ボリューム200は、ホスト101からアクセスされる論理的な記憶デバイスを表わす。ホスト101は、論理ボリューム200に対してリードコマンドやライトコマンドを発行することにより、指定の記憶領域に、データの読み書きを実施する。この際、論理ボリューム200の実体となる記憶領域は、例えば、複数のドライブ113の中から選択された複数のドライブ113Aで構成される。データは、複数のドライブ113Aに形成されるストライプ列204のストライプデータ223の集合として、各ドライブ113Aに格納される。複数のドライブ113AでRAID6を構成した場合、複数のデータ部D1、D2、と、PパリティP1、P2、と、QパリティQ1、Q2、によって、複数のストライプ列204が構成される。例えば、6個のデータ部D1と、PパリティP1と、QパリティQ1によって、一つのストライプ列204が構成され、6個のデータ部D2と、PパリティP2と、QパリティQ2によって、一つのストライプ列204が構成される。一つのストライプ列204を構成する複数のデータのうち、一つのデータ、例えば、データ部D1が、一つのストライプデータ223として管理される。スペアドライブ113Bは、ドライブ113Aの故障時に、データの復元先として使用されるドライブである。なお、ストライプ列204の構成は、複数のドライブ113AでRAID6を構成した場合に限定されるものではない。例えば、8台のドライブ113Aでストライプ列204を構成する必要はなく、ストレージシステム104に実装される全てのドライブ113を使って、ストライプ列204を構成してもよいし、一部のドライブ113を使って、ストライプ列204を構成してもよい。スペアドライブ113Bにストライプ列204を構成する場合も同様である。図3は、本発明の第一実施例に係る計算機システムの記憶領域の構成図である。図3において、各ドライブ113に格納されるストライプデータ223は、複数のスロット301から構成される。各スロット301は、複数のサブブロック303から構成される。各サブブロック303のデータサイズは、一般的には、512バイトである。サブブロック303は、ドライブへのアクセスの最小単位である。各スロット301は、複数のサブブロック303を束ねた領域で構成され、キャッシュメモリ110の管理単位である。つまり、キャッシュメモリ110にドライブ113からデータを転送する場合、スロット301の大きさの単位でキャッシュメモリ110に、データ格納領域以下、キャッシュ格納領域と称することもある。が確保され、確保されたデータ格納領域にデータが転送される。図4は、本発明の第一実施例に係る計算機システムの共有メモリの構成図である。図4において、共有メモリ111には、論理物理アドレス変換テーブル401と、非同期中ビットマップbitmap402と、非同期中領域数カウンタテーブル403と、リビルド済みビットマップ404と、アクセス頻度テーブル405と、設定テーブル406が格納される。なお、非同期中ビットマップbitmap402と、リビルド済みビットマップ404は、テーブルとして管理される。また、後述するキャッシュメモリ管理テーブルを共有メモリ111に格納することもできる。これらのテーブルは、共有メモリ111に配置してもよいし、各テーブルの一部又は全体をキャッシュメモリ110、ローカルメモリ118又はドライブ113に配置してもよい。図5は、本発明の第一実施例に係る計算機システムのローカルメモリの構成図である。図5において、ローカルメモリ118には、ホストIO処理プログラム501と、デステージ処理プログラム502と、リビルド処理プログラム503と、ドライブコピー処理プログラム504が格納される。これらのプログラムは、プロセッサ119により実行される。これらのプログラムは、共有メモリ111に配置してもよいし、各プログラムの一部又は全体をキャッシュメモリ110、ローカルメモリ118又はドライブ113に配置してもよい。図6は、本発明の第一実施例に係る計算機システムの論理物理アドレス変換テーブルの構成図である。図6において、論理物理アドレス変換テーブル401は、複数の論理ボリュームと、各論理ボリュームを構成するドライブ113との関係を管理するためのテーブルであって、共有メモリ111に格納される。論理物理アドレス変換テーブル401は、論理ボリューム番号フィールド601と、種別フィールド602と、物理ドライブ番号フィールド603と、物理開始アドレスフィールド604と、ドライブ状態フィールド605から構成される。論理ボリューム番号は、各論理ボリュームを一意に識別するための識別子である。論理ボリューム番号フィールド601の各エントリには、各論理ボリュームを一意に識別するための識別子が格納される。例えば、2つの論理ボリュームを識別するための識別子として、第1のエントリには、201が格納され、第2のエントリには、202が格納される。種別は、各論理ボリュームのRAIDレベルを示す情報である。種別フィールド602の各エントリには、各論理ボリュームのRAIDレベルとして、例えば、RAID6が格納される。物理ドライブ番号は、各論理ボリュームを構成するドライブ113を一意に識別するための識別子である。物理ドライブ番号フィールド603の各エントリには、各論理ボリュームを構成するドライブ113を一意に識別するための識別子が格納される。例えば、論理ボリューム200論理ボリューム番号201の論理ボリュームが8台のドライブ113で構成され、各ドライブ113の物理ドライブ番号が、1001~1008である場合、物理ドライブ番号フィールド603の第1のエントリには、論理ボリューム200を構成するドライブ113の識別子として、1001~1008が格納される。物理開始アドレスは、各論理ボリュームを構成するドライブ113のアドレスの開始位置を示す情報である。物理開始アドレスフィールド604の各エントリには、各ドライブ113のアドレスの開始位置を示すアドレスとして、例えば、0x0000が格納される。ドライブ状態は、各ドライブ113の状態を示す情報である。ドライブ状態フィールド605の各エントリには、各ドライブ113の状態を示す情報として、例えば、ドライブ113が正常状態にある場合には、正常が格納され、ドライブ113が故障である場合には、故障中が格納される。例えば、プロセッサ119は、IO処理の実施中に、ドライブ113とキャッシュメモリ110間でデータを転送し、データ転送にエラーが生じた場合あるいは、データ転送に時間を要し、タイムアウトとなった場合に、データ転送の対象となったドライブ113を故障と判断し、故障と判断したドライブ113に対応するドライブ状態フィールド605のエントリに、故障中を格納する。また、プロセッサ119は、定期的にドライブ113の記憶領域をVerifyコマンド等により診断する場合、診断結果から、診断対象となったドライブ113を故障と判断し、故障と判断したドライブ113に対応するドライブ状態フィールド605のエントリに、故障中を格納する。図7は、本発明の第一実施例に係る計算機システムの非同期中ビットマップの構成図である。図7において、計算機システムの非同期中ビットマップ402は、論理ボリューム200ごとに保持されるテーブルであって、論理ボリューム200のストライプ列204に属するストライプデータ223のうち冗長データの作成の有無を管理するためのテーブルである。1個のビット701は、更新ビットとして管理され、論理ボリューム200内の1個のストライプ列204に対応する。論理ボリューム200内に、例えば、25個のストライプ列204が構成される場合、この論理ボリューム200に対応する非同期中ビットマップ402は、25個のビット701で構成される。この非同期中ビットマップ402において、ビット701がON=1の場合、このビット701に対応するストライプ列204の冗長データ、例えば、Qパリティは、I/O処理とは、非同期でプロセッサ119によって作成される以下、プロセッサ119が、I/O処理とは非同期で実行する処理を、非同期的な処理と称することがある。。この場合、冗長データは、古い状態であることを表わす。一方、ビット701がOFF=0の場合、このビット701に対応するストライプ列204の冗長データは、I/O処理と同期してプロセッサ119によって作成される以下、プロセッサ119が、I/O処理と同期して実行する処理を、同期的な処理と称することがある。。この場合、冗長データは、最新状態であることを表わす。図8は、本発明の第一実施例に係る計算機システムの非同期中領域数カウンタテーブルの構成図である。非同期中領域数カウンタテーブル403は、各論理ボリューム200に対応する非同期中ビットマップ402のビット701がONになっている個数更新ビットの個数を管理するためのテーブルである。この非同期中領域数カウンタテーブル403は、論理ボリューム番号フィールド801と、非同期中領域数カウンタフィールド802から構成される。論理ボリューム番号は、各論理ボリューム200を一意に識別するための識別子である。論理ボリューム番号フィールド801の各エントリには、各論理ボリューム200を一意に識別するための識別子として、例えば、201、202、203が格納される。非同期中領域数カウンタは、各論理ボリューム200に対応する非同期中ビットマップ402のビット701が、ONになっている個数を示す情報である。非同期中領域数カウンタフィールド802の各エントリには、各論理ボリューム200に対応する非同期中ビットマップ402のビット701がONになっている個数が格納される。例えば、論理ボリューム番号201の論理ボリューム200に対応する非同期中ビットマップ402のビット701がONになっている個数が、100である場合、論理ボリューム番号201に対応する、非同期中領域数カウンタフィールド802のエントリには、100が格納される。図9は、本発明の第一実施例に係る計算機システムのリビルド済みビットマップの構成図である。図9において、リビルド済みビットマップ404は、論理ボリューム200ごとに保持されるテーブルであって、論理ボリューム200のストライプ列204に割り当てられるドライブ113のうち、故障したドライブ113に格納されたストライプデータ223が、リビルド済み修復済みであるか否かを管理するためのテーブルである。リビルド済みビットマップ404は、複数のビット901から構成され、1個のビット901は、論理ボリューム200内の1個のストライプ列204に対応する。論理ボリューム200内に、例えば、25個のストライプ列が構成される場合、この論理ボリューム200に対応するリビルド済みビットマップ404は、25個のビット901で構成される。リビルド済みビットマップ404において、ビット901がON=1の場合、ストライプ列204内の故障したドライブ113に対応するストライプデータ223は、リビルド済みであって、データ修復済みとなっていることを表わす。一方、ビット901がOFF=0の場合、ストライプ列204内の故障したドライブ113に対応するストライプデータ223は、リビルドが未実施であって、データ未修復となっていることを表わす。リビルド済みビットマップ404は、故障中のドライブ113を含む、全ての論理ボリューム200について保持される。この際、あらかじめ全ての論理ボリューム200について、リビルド済みビットマップ404を保持する構成としてもよいし、共有メモリ111の容量削減のため、論理ボリューム200内のドライブ113が故障した際に、動的に、故障したドライブ113に対応する論理ボリューム200にリビルド済みビットマップ404を割り当ててもよい。また、リビルド済みビットマップ404は、ドライブの故障発生後、一連のリビルド処理を開始する際に、初期値OFF=0で初期化される。図10は、本発明の第一実施例に係る計算機システムのアクセス頻度テーブルの構成図である。図10において、アクセス頻度テーブル405は、各論理ボリューム200に対するアクセス頻度を管理するためのテーブルであって、論理ボリューム番号フィールド1001と、領域アドレスフィールド1002と、アクセス頻度カウンタフィールド1003から構成される。論理ボリューム番号は、各論理ボリューム200を一意に識別するための識別子である。論理ボリューム番号フィールド1001の各エントリには、各論理ボリューム200を一意に識別するための識別子として、例えば、201、202が格納される。領域アドレスは、各論理ボリューム200内の小領域のアドレスを示す情報である。領域アドレスフィールド1002の各エントリには、各論理ボリューム200内の小領域のアドレスが格納される。例えば、論理ボリューム番号201の論理ボリューム200内に複数の小領域が存在する場合、各小領域に対応するアドレスとして、0x00000000、0x00000010、0x00000020、が格納される。なお、小領域のアドレスは、例えば、論理ボリューム200内の1個のストライプ列204に対応するアドレスとしてもよいし、それよりも細かい粒度例えば、ストライプデータ203単位や、スロット301単位、サブブロック303単位でもよいし、大きな粒度複数のストライプ列204や、1個または複数の仮想ボリュームのページ単位でもよい。アクセス頻度カウンタは、各論理ボリューム200内の小領域に対するアクセス頻度を示す情報である。アクセス頻度カウンタフィールド1003の各エントリには、各論理ボリューム200内の小領域に対するアクセス頻度が格納される。例えば、論理ボリューム番号201の論理ボリューム200内の小領域に対するアクセス頻度であって、ホスト101からのIOによるアクセス頻度が、10である場合、論理ボリューム番号201の論理ボリューム200内の小領域に対応する、アクセス頻度カウンタフィールド1003のエントリには、10が格納される。なお、アクセス頻度カウンタは、プロセッサ119からドライブ113へのIO数としてもよいし、ホスト101からのIOによるアクアクセス回数キャッシュメモリ110へのヒットによりドライブ113へのアクセスが発生しない場合のアクセス回数を含むとしてもよい。図11は、本発明の第一実施例に係る計算機システムの設定テーブルの構成図である。図11において、設定テーブル406は、論理ボリューム200毎に保持されるテーブルであって、各論理ボリューム200に設定される設定項目と設定内容を管理するためのテーブルである。この設定テーブル406は、論理ボリューム番号フィールド1101と、設定項目フィールド1102と、設定内容フィールド1103から構成される。論理ボリューム番号は、各論理ボリューム200を一意に識別するための識別子である。論理ボリューム番号フィールド1101の各エントリには、各論理ボリューム200を一意に識別するための識別子として、例えば、201、202が格納される。設定項目は、各論理ボリューム200に設定される設定項目を示す情報である。設定項目フィールド1102の各エントリには、各論理ボリューム200に設定される設定項目を示す情報、例えば、リビルド動作モード、非同期冗長データ生成モード、許容非同期化量が格納される。リビルド動作モードは、リビルドの動作データの冗長度を回復するための動作の速度を設定するための項目である。非同期冗長データ生成モードは、論理ボリューム200で本発明の効果を得るために、冗長データの生成を実施しないようにするかどうかを選択する項目である。許容非同期化容量は、非同期の処理の対象となるストライプ列204の容量として許容される容量を設定する項目である。設定内容は、設定項目の内容を特定する情報である。設定内容フィールド1103の各エントリには、設定項目の内容を特定する情報が格納される。例えば、リビルド動作モードに対応する設定内容フィールド1103のエントリには、HighSpeed又はNormalが格納される。設定内容フィールド1103のエントリにHighSpeedが格納されて場合、ホストIOよりもリビルド処理を優先した動作が実行され、リビルド時間が短縮されることを意味する。なお、優先する方法については、後説する。設定内容フィールド1103のエントリにNormalが格納された場合、ホストIOを優先し、リビルド処理の影響を少なくする動作が実行されることを意味する。また、非同期冗長データ生成モードに対応する設定内容フィールド1103のエントリには、冗長データの生成を実施しない場合には、ONが格納され、冗長データの生成を実施する場合には、OFFが格納される。また、許容非同期化容量に対応する設定内容フィールド1103のエントリには、非同期的な処理の対象となるストライプ列204の容量として許容される容量であって、非同期時に処理されるストライプ列204の最大個数、例えば、1000が格納される。図12は、本発明の第一実施例に係る計算機システムのIO処理プログラムの処理を説明するためのフローチャートである。ホスト101から、ストレージシステム104内のプロセッサ119が、I/O処理要求を受けると、プロセッサ119は、ストレージシステム104内のホストI/O処理プログラム501を起動する。ホストI/O処理プログラム501は、論理ボリューム200へのデータのリード要求か、論理ボリューム200へのデータのライト要求かを判定するS1201。I/O処理要求がライトの場合、ホストI/O処理プログラム501は、キャッシュメモリ110に、I/O処理要求に対応する論理ボリューム上のアドレスに対応した領域以下、キャッシュメモリ領域と称することがある。が確保されているか否かを確認し、キャッシュメモリ領域が確保されている場合、もしくは確保されていなければ、キャッシュメモリ110にキャッシュメモリ領域を確保した後、ホスト101にライトデータの転送が可能であることを応答する。その後、ホストI/O処理プログラム501は、ホスト101から転送されてくるライトデータを、確保されているキャッシュメモリ領域に書き込み、キャッシュメモリ管理テーブル図示せずに、ライトデータを書き込んだキャッシュメモリ領域は、まだ、ドライブ113にライトデータを書き込んでいない領域であるとして、ダーティフラグを立てるS1207。ここで、ダーティフラグは、キャッシュメモリ110にのみデータがあり、ドライブ113にデータがない状態を示す情報であって、キャッシュメモリ110の領域を管理するキャッシュメモリ管理テーブルに保持される。あとで説明するデステージ処理プログラム502は、このダーティフラグが立っているか否かを参照し、ダーティフラグが立っている場合には、キャッシュメモリ110上にあるデータをドライブ113に書き込むためのデステージ処理を実行する。キャッシュメモリ管理テーブルに、ダーティフラグが立っている領域のデータが、ドライブ113に書き込まれた後は、ダーティフラグはキャッシュメモリ管理テーブルから削除される。なお、リード処理時に、ドライブ113から読み込んだデータがキャッシュメモリ110に格納された場合には、キャッシュメモリ管理テーブルには、クリーンフラグが立てられる。上記のように、キャッシュメモリ管理テーブルは、キャッシュメモリ110のアドレスに対応する論理ボリューム200のアドレスと、キャッシュメモリ110に存在するデータの状態を少なくとも保持して管理することができる。また、キャッシュメモリ110のアドレスに対応する論理ボリューム200のアドレスは、論理ボリューム200のデータを格納するために、キャッシュメモリ110にキャッシュメモリ領域が確保された場合にのみ、有効な値であるとして、キャッシュメモリ管理テーブルに保持される。さて、ホストI/O処理プログラム501は、ステップS1207の処理を実行した後、ホスト101にライトI/O処理が完了したことを応答するS1208。然る後、ホストI/O処理プログラム501は、このルーチンでの処理を終了する。一方、ステップS1201で、I/O処理要求がリード要求であると判定した場合、ホストI/O処理プログラム501は、リード要求で要求された論理ボリューム200に、故障中のドライブ113が有るかを確認するS1202。具体的には、ホストI/O処理プログラム501は、論理物理アドレス変換テーブル401のドライブ状態フィールド605を参照し、論理ボリューム200に対応するドライブ113の中に、故障中のドライブ113があるかを確認する。ステップS1202で肯定の判定結果を得た場合、即ち、リード要求で要求された論理ボリューム200に故障中のドライブ113が有る場合、ホストI/O処理プログラム501は、アクセス範囲に故障中のドライブ113があるかどうかをチェックするS1203。具体的には、アクセス範囲は、ホスト101からのリード要求に含まれるLBAで決定されるので、ホストI/O処理プログラム501は、リード要求に含まれるLBAから、アクセス先のストライプ列204を求め、求めたストライプ列204の中に、故障中のドライブ113のストライプデータ223が含まれるかどうかを、論理物理アドレス変換テーブル401のドライブ状態フィールド605をチェックして判断する。ステップS1203で肯定の判定結果を得た場合、即ち、アクセス範囲に故障中のドライブ113がある場合、ホストI/O処理プログラム501は、コレクションリード処理を実行するS1205。コレクションリード処理はデータを復元しながら、復元されたデータをリードする処理であるが、詳細については後述する。ステップS1203で否定の判定結果を得た場合、即ち、アクセス範囲に故障中のドライブ113がない場合、あるいは、ステップS1202で否定の判定結果を得た場合、即ち、リード要求で要求された論理ボリューム200に故障中のドライブ113が存在しない場合、ホストI/O処理プログラム501は、通常リード処理を実行するS1204。通常リード処理は、読みたいデータがキャッシュメモリ110にない場合キャッシュミスした場合、ドライブ113から、キャッシュメモリ110にデータを転送する処理であるが、詳細については後述する。通常リードド処理又はコレクションリード処理が終了した場合、ホストI/O処理プログラム501は、キャッシュメモリ110上のデータをホスト101に転送するS1206。ホストI/O処理プログラム501は、ホスト101が要求したデータを全てホスト101に転送した後、リード処理完了応答をホスト101に転送し、このルーチンでの処理を終了する。図13は、デステージ処理プログラムの処理を説明するためのフローチャートである。ホストI/O処理プログラム501は、ホスト101からのデータのライト要求書き込み要求に応じて、ホスト101からのライトデータをキャッシュメモリ110に書き込んだ後、キャッシュメモリ管理テーブルにダーティフラグを立てる。このため、プロセッサ119は、キャッシュメモリ110上に存在するライトデータをドライブ113に定期的に書き込むために、デステージ処理プログラム502を定期的に起動する。デステージ処理プログラム502は、キャッシュメモリ管理テーブルを参照し、キャッシュメモリ110のキャッシュ領域に、未反映データダーティフラグが立っているデータであって、ドライブ113への書き込みがなされていないデータが存在するか否かを定期的に判定するS1301。ステップS1301で肯定の判定結果を得た場合、即ち、キャッシュメモリ110上に、未反映データが存在する場合、デステージ処理プログラム502は、キャッシュ管理テーブルに登録された論理ボリューム番号の論理アドレスを基に、論理ボリューム200に故障中のドライブ113が有るかどうかを判定するS1302。この際、デステージ処理プログラム502は、図12のステップS1202と同様の処理を実行する。ステップS1302で肯定の判定結果を得た場合、即ち、論理ボリューム200に故障中のドライブ113が有る場合、デステージ処理プログラム502は、アクセス範囲に故障中のドライブ113が有るかどうかを判定するS1303。この際、デステージ処理プログラム502は、図12のステップS1203と同様の処理を実行する。ステップSで肯定の判定結果を得た場合、即ち、アクセス範囲に故障中のドライブ113がある場合は、デステージ処理プログラム502は、コレクションライト処理を実施するS1305。コレクションライト処理は、故障中のドライブ113を含む領域に対するライト処理であるが、詳細は後説する。コレクションライト処理を実施後、デステージ処理プログラム502は、再度S1301に戻り、未反映データの有無を判定するための処理を実施する。一方、ステップS1303で否定の判定結果を得た場合、即ち、アクセス範囲に故障中のドライブ113がない場合は、デステージ処理プログラム502は、通常ライト処理を実施するS1304。通常ライト処理の詳細は後説する。通常ライト処理を実施後、デステージ処理プログラム502は、再度S1301に戻り、未反映データの有無を判定するための処理を実施する。また、ステップS1302で否定の判定結果を得た場合、即ち、論理ボリューム200に故障中のドライブ113が無い場合、デステージ処理プログラム502は、非同期冗長データ生成判定処理を実施するS1306。非同期冗長データ生成判定処理の詳細は後説する。非同期冗長データ生成判定処理を実施した後、デステージ処理プログラム502は、非同期冗長データ生成判定処理の実施が必要か否かを判定するS1307。ステップS1307で肯定の判定結果を得た場合、即ち、非同期冗長データ生成判定処理を実施要の場合、デステージ処理プログラム502は、高速ライト処理を実施するS1308。高速ライト処理は、冗長データを生成しないことでドライブ負荷の低いライト処理を実現する処理であるが、詳細は後説する。高速ライト処理を実施後、デステージ処理プログラム502は、再度S1301に戻り、未反映データの有無を判定するための処理を実施する。一方、ステップS1307で否定の判定結果を得た場合、即ち、非同期冗長データ生成判定処理を実施不要の場合、デステージ処理プログラム502は、通常ライト処理を実施するS1304。通常ライト処理を実施後、デステージ処理プログラム502は、再度S1301に戻り、未反映データの有無を判定するための処理を実施する。また、S1301で否定の判定結果を得た場合、即ち、即ち、キャッシュメモリ110上に、未反映データが存在しない場合、デステージ処理プログラム502は、このルーチンでの処理を終了する。図14は、リビルド処理プログラムの処理を説明するためのフローチャートである。この処理は、プロセッサ119が、ドライブ113の故障発生時、又は、一定時間毎に、周期的にリビルド処理プログラム503を起動することによって開始される。リビルド処理プログラム503は、まず、全ての非同期中ビットマップ402のうち、ONの領域を、処理済みか否かを判定するS1401。これは具体的には、リビルド処理プログラム503が、ステップS1401とステップS1402で、全ての論理ボリューム200のストライプ列204について順番にチェックをしていき、全てのチェック処理が完了したことを想定している。この具体的な処理としては、リビルド処理プログラム503が、非同期中ビットマップ402の全てのビット701がOFFになっているか否かを判定しS1402、最終的に、非同期中領域数カウンタテーブル403の非同期中領域数カウンタフィールド802の全てのエントリが、0になっていれば、処理済みとして終了してもよい。ステップS1401で肯定の判定結果を得た場合、即ち、全ての非同期中ビットマップ402がONの領域を処理済みの場合、リビルド処理プログラム503は、処理Aに進む。この処理Aについては、図15で詳細に説明する。ステップS1401で否定の判定結果を得た場合、即ち、全ての非同期中ビットマップ402がONの領域を処理済みで無い場合、リビルド処理プログラム503は、その処理済みでない領域について、次の処理を進める。具体的には、リビルド処理プログラム503は、非同期中ビットマップ402の中に、非同期中ビットがONの領域が存在するか否かを判定しS1402、このステップS1402で否定の判定結果を得た場合、ステップS1401の処理に戻り、ステップS1402で肯定の判定結果を得た場合、即ち、非同期中ビットマップ402の中に、非同期中ビットがONの領域が存在する場合、コレクション先の領域があるか否かを判定するS1403。ステップS1403で肯定の判定結果を得た場合、即ち、未使用のスペアドライブ113Bの中に、コレクション先の領域がある場合、リビルド処理プログラム503は、コレクションコピー処理を実施するS1404。コレクションコピー処理は、コレクション先の領域に復元データをコピーする処理であるが、詳細については後説する。なお、未使用のスペアドライブ113Bが無い場合でも、故障中のドライブ113が、物理的にリプレースされた場合には、リプレースされたドライブ113の記憶領域をコレクション先の領域とすることもできる。ステップS1403で肯定の判定結果を得た場合、即ち、未使用のスペアドライブ113Bの中に、コレクション先の領域が存在しない場合、リビルド処理プログラム503は、非同期冗長データコレクション処理を実施するS1405。非同期冗長データコレクション処理は、冗長データの作成を非同期化以下、ホストIOとは非同期で処理することを、非同期化と称することがある。する領域について、冗長データを作成する処理であるが、詳細については後説する。コレクションコピー処理S1404又は非同期冗長データコレクション処理S1405が完了した場合、次の領域について、また、S1401に戻って処理を開始する。図15は、リビルド処理プログラムの処理を説明するためのフローチャートである。この処理は、図14のステップS1401で肯定の判定結果が得られた場合に実行される。リビルド処理プログラム503は、まず、全てのリビルド済みビットがOFFの領域を、処理済みか否かを判定するS1501。この判定処理は、前述のステップS1401と同様に、リビルド処理プログラム503が、ステップS1501とステップS1502で、全ての論理ボリューム200のストライプ列204について順番にチェックをしていき、全てのチェック処理が完了したことを想定している。ステップS1501で肯定の判定結果を得た場合、即ち、全てのリビルド済みビットマップ404がOFFの領域を処理済みの場合、リビルド処理プログラム503は、このルーチンでの処理を終了する。ステップS1501で否定の判定結果を得た場合、即ち、全てのリビルド済みビットマップ404がOFFの領域を処理済みで無い場合、リビルド処理プログラム503は、その処理済みでない領域について、次の処理を進める。具体的には、リビルド処理プログラム503は、リビルド済みビットマップ404の中に、ビット901がOFFの領域が存在するか否かを判定しS1502、このステップS1502で否定の判定結果を得た場合、ステップS1501の処理に戻り、ステップS1502で肯定の判定結果を得た場合、即ち、リビルド済みビットマップ404の中に、ビット901がOFFの領域が存在する場合、コレクション先の領域があるか否かを判定するS1503。ステップS1503で肯定の判定結果を得た場合、即ち、コレクション先の領域がある場合、リビルド処理プログラム503は、コレクションコピー処理を実行しS1504、その後、次の領域について、また、ステップS1501に戻って処理を開始する。以上に説明した、図14及び図15の処理では、ドライブ故障発生時に非同期中ビットマップ402がONの領域から先にデータの復元処理を実施し、その後、その他の領域ついてデータの復元処理を実施する。この理由は、非同期中ビットマップ402がONの領域はその他の領域よりも冗長度が低いため、冗長性の低い領域を早急にデータの復元処理を実施することによって、全体としての信頼性を向上させる効果を得ることができる。図16は、ドライブコピー処理プログラムの処理を説明するためのフローチャートである。この処理は、プロセッサ119が、ドライブ故障の兆候を事前に検出した場合などに、故障しそうなドライブ113から、スペアドライブ113Bへのコピー処理のために、ドライブコピー処理プログラム504を起動することによって開始される。以下、この事前コピー処理をダイナミックスペアリングと称することがある。プロセッサ119が、ドライブ故障の兆候を事前に検出する方法としては、例えば、SMART情報を用いた方法などがある。また、ダイナミックスペアリングの他にも、特定の論理ボリュームのデータを別の論理ボリュームのデータにコピーする際に、プロセッサ119が、ドライブコピー処理プログラム504を起動してもよい。まず、ドライブコピー処理プログラム504は、論理ボリューム200の全領域をコピー完了したか否かを判定するS1601。この判定処理は、前述のS1401と同様に、ドライブコピー処理プログラム504が、ステップS1601とステップS1602で全ての論理ボリューム200のストライプ列204について順番にチェックをしていき、全てのチェック処理が完了したことを想定している。ただし、故障中のドライブ113が無い場合は、処理済みとして、終了する。また、論理ボリューム200の一部の領域をコピーする場合は、その領域に含まれるストライプ列204について、コピーが完了済みかをS1601で判定することもできる。ステップS1601で否定の判定結果を得た場合、即ち、論理ボリューム200の全領域をコピー完了していない場合、ドライブコピー処理プログラム504は、そのコピー済みでない領域について、次の処理を進める。ドライブコピー処理プログラム504は、論理ボリューム200の領域のうち、コピーが完了していない領域が、非同期冗長データ領域であるか否かを判定するS1602。具体的には、ドライブコピー処理プログラム504は、設定テーブル406の各論理ボリューム200について、非同期冗長データ生成モードフィールド1102に対応した設定内容フィールド1103のエントリがONの場合、コピーが完了していない領域が、非同期冗長データ領域であると判定する。ステップS1602で肯定の判定結果を得た場場合、即ち、非同期冗長データ領域で有る場合、ドライブコピー処理プログラム504は、非同期中ビット701がONの領域か否かを判定するS1603。ステップS1603で肯定の判定結果を得た場合、即ち、非同期中ビット701がONの領域が存在する場合、ドライブコピー処理プログラム504は、コレクションコピー処理を実施しS1605、その後、次の領域について、またS1601に戻って処理を実行する。ステップS1602で否定の判定結果を得た場合、即ち、非同期冗長データ領域で無かった場合、又はステップS1603で否定の判定結果を得た場合、即ち、非同期中ビット701がONの領域で無かった場合、ドライブコピー処理プログラム504は、通常コピー処理を実行しS1604、その後、次の領域について、またS1601に戻って、処理を実行する。以上に説明したドライブコピー処理プログラム504の処理は、リビルド処理プログラム503で説明したように、ドライブ故障発生時に非同期中ビットマップ402がONの領域から先にデータの復元処理を実施し、その後、その他の領域ついてデータの復元処理を実施すれば、全体としての信頼性を向上させる効果を得ることができる。図17は、ホストIO処理プログラムのサブプログラムである、通常リード処理を説明するためのフローチャートである。まず、ホストI/O処理プログラム501は、キャッシュメモリ管理テーブルを参照し、キャッシュメモリ110に、リード命令で要求されたデータ当該データが有るか否かを判定するS1701。ステップS1701で否定の判定結果を得た場合、即ち、キャッシュメモリ110に当該データが無い場合、ホストI/O処理プログラム501は、ドライブ113からデータをリードしてキャッシュメモリ10に転送するS1702し、その後、アクセス頻度テーブル405を更新するS1703。具体的には、ホストI/O処理プログラム501は、アクセス頻度テーブル405のうち、領域アドレスフィールド1002の領域アドレスに対応するアクセス頻度カウンタフィールド1003のアクセス頻度カウンタを、ドライブ113へのコマンド発行回数分インクリメントする。ホストI/O処理プログラム501は、アクセス頻度テーブル405を更新した場合、又は、ステップS1701で肯定の判定結果を得た場合、このルーチンでの処理を終了する。図18は、ホストIO処理プログラムのサブプログラムである、コレクションリード処理を説明するためのフローチャートである。まず、ホストI/O処理プログラム501は、リード対象領域のうち、故障中のドライブ113を含まないリード対象領域について、通常リード処理を実行するS1801。具体的には、ホスト101からのリード要求に含まれるLBAに対応する1個または複数のストライプ列204、またはその一部について、ストライプ列204に属するドライブ113のうち、故障中のドライブ113以外のドライブ113のストライプデータ223の部分を読み込む。このリード処理は、図17で説明した、ホストIO処理プログラムのサブプログラムである、通常リード処理と同様である。なお、このリード処理は、このステップS1801で実施しなくても、コレクションリード処理の過程で、別のドライブ113へのリード処理が発生するタイミングに合わせて実施することができ。この場合、ホスト101は、リードコマンド発行回数を削減することできる。次に、ホストI/O処理プログラム501は、リード対象領域が、リビルド済みビット901がOFFの領域か否かを判定するS1802。具体的には、ホストI/O処理プログラム501は、リード対象のストライプ列224に対応するリビルド済みビットマップ404のビット901がOFFかどうかを判定する。ステップS1802で否定の判定結果を得た場合、即ち、リード対象のストライプ列204に対応するリビルド済みビットマップ404のビット901がONの場合は、既に、スペアドライブ113B等の復元先の領域に、データが復元済みであるため、ホストI/O処理プログラム501は、復元先の領域から直接リード処理を実行しS1803、このルーチンでの処理を終了する。このリード処理は、図17で説明した、IO処理プログラムのサブプログラムである、通常リード処理と同様である。ステップS1802で肯定の判定結果を得た場合、即ち、リード対象のストライプ列204に対応するリビルド済みビットマップ404のビット901がOFFの場合、ホストI/O処理プログラム501は、コレクション先の領域があるか否かを判定するS1804。この判定処理では、ホストI/O処理プログラム501は、前述のS1403と同様に、コレクション先の領域があるか否かを判定する。ステップS1804で肯定の判定結果を得た場合、即ち、コレクション先の領域がある場合、ホストI/O処理プログラム501は、IO同期リビルドの実行が必要か否かを判定するS1806。具体的には、ホストI/O処理プログラム501は、設定テーブル406の設定項目フィールド1102のリビルド動作モードに対応した設定内容フィールド1103のエントリをチェックする。この際、設定内容が、HighSpeedである場合、ホストI/O処理プログラム501は、IO同期リビルドの実行が必要であると判定する。一方、ホストI/O処理プログラム501は、設定内容が、Normalである場合、当該論理ボリューム200の負荷をチェックし、負荷に応じて、IO同期リビルドの実行が必要か、不要かを判定する。論理ボリューム200の負荷は、対応するドライブの稼働率を使用してもよいし、ライトペンド量キャッシュ上の未反映データの量から判断してもよい。例えば、負荷が低い場合には、レスポンス低下を防ぐためにIO同期リビルドの実行を不要と判定し、負荷が高い場合は、IO同期リビルドの効果が高いため、IO同期リビルドの実行を必要と判定する。なお、ホストI/O処理プログラム501は、論理ボリューム200の負荷量に応じて、IO同期リビルドの実行頻度を動的に変更してもよい。また、ホストI/Oがシーケンシャルアクセスの場合には、IO同期リビルドの実行が必要であると判定してもよい。ステップS1806で肯定の判定結果を得た場合、即ち、IO同期リビルドの実行が必要であると判定した場合、ホストI/O処理プログラム501は、コレクションコピー処理を実行しS1810、その後、このルーチンでの処理を終了する。ステップS1806で否定の判定結果を得た場合、即ち、IO同期リビルドの実行が不要であると判定した場合、ホストI/O処理プログラム501は、キャッシュメモリ管理テーブルを参照し、キャッシュメモリ10に、当該データ、即ち、リード対象のストライプ列204の全ての復元元データが有るか否かを判定するS1805。リード範囲のデータに対応するストライプデータ223が、故障中のドライブ113に存在する場合S1801で故障中のドライブ113以外のデータはリード済み、このときのリード対象データは、復元元のストライプデータ223内のリード領域に対応するデータとなる。具体的には、例えば、RAID6の場合、ストライプ列204に属するデータのうち、あるデータ部が故障した場合、それ以外のデータ部と、Pパリティ又はQパリティから復元するので、それらのデータが、リード対象データとなる。S1805で否定の判定結果を得た場合、即ち、キャッシュメモリ110に、当該データのストライプ列204の全ての復元元データが無い場合、ホストI/O処理プログラム501は、その足りない復元元データをドライブ113からリードしてキャッシュメモリ110に転送するS1807。ステップS1805で肯定の判定結果を得た場合、即ち、キャッシュメモリ110に、当該データのストライプ列204の全ての復元元データが有る場合、又は、ステップS1807の処理の後、ホストI/O処理プログラム501は、キャッシュメモリ110上の復元元データを基にデータコレクション処理S1808を実行する。このデータコレクション処理として、ホストI/O処理プログラム501は、例えば、RAID6の場合、復元元データと、PパリティデータとのXOR演算によりデータを復元する。ステップS1808の後、ホストI/O処理プログラム501は、アクセス頻度テーブル405を更新する処理を実行しS1809、その後、このルーチンでの処理を終了する。具体的には、ホストI/O処理プログラム501は、アクセス頻度テーブル405のうち、領域アドレスフィールド1002に対応するアクセス頻度カウンタフィールド1003のアクセス頻度カウンタを、ドライブ113へのコマンド発行回数分インクリメントし、アクセス頻度テーブル405を更新したら、処理を終了する。なお、ステップS1805~S1809は、既に実施済みなどの理由で、復元データがキャッシュメモリ110に有る場合、実行せずに処理を終了してもよい。図19は、ホストIO処理プログラムのサブプログラムである、通常ライト処理を説明するためのフローチャートである。まず、ホストI/O処理プログラム501は、冗長データを生成するS1901。例えば、RAID6の場合、ホストI/O処理プログラム501は、ライト先の領域の更新前データと、Pパリティの更新前データと、Qパリティの更新前データから、XOR演算およびガロア演算を実行し、更新後のデータに対応するPパリティのデータとQパリティのデータを算出する。この際、この算出処理に必要な更新前データが、キャッシュメモリ110上に無い場合、ホストI/O処理プログラム501は、ドライブ113から更新前データをキャッシュメモリ110に転送する。その後、ホストI/O処理プログラム501は、キャッシュメモリ110からドライブ113に更新後のデータを転送するS1902。その後、ホストI/O処理プログラム501は、アクセス頻度更新処理を実施するS1903。具体的には、ホストI/O処理プログラム501は、アクセス頻度テーブル405のうち、対応する領域のアクセス頻度カウンタフィールド1003のアクセス頻度カウンタをドライブ113へのコマンド発行回数分インクリメントし、アクセス頻度を更新した後、このルーチンでの処理を終了する。図20は、ホストIO処理プログラムのサブプログラムである、コレクションライト処理を説明するためのフローチャートである。まず、ホストI/O処理プログラム501は、ライト対象領域について、故障中のドライブ113を含まない領域の通常ライト処理を実行するS2001。具体的には、ホスト101からのリード要求に含まれるLBAに対応する1個または複数のストライプ列204、またはその一部について、ストライプ列204に属するドライブ113のうち、故障中のドライブ113以外のドライブ113のストライプデータ223の部分をドライブ113に書き込む。このライト処理は、図19で説明した、ホストIO処理プログラムのサブプログラムである、通常ライト処理と同様である。なお、このライト処理は、このステップS2001で実施しなくても、コレクションライト処理の過程で、別のドライブ113へのライト処理が発生するタイミングに合わせて実施することができ。この場合、ホスト101は、ライトコマンド発行回数を削減することできる。次に、ホストI/O処理プログラム501は、ライト対象領域が、リビルド済みビット901がOFFの領域か否かを判定するS2002。具体的には、ホストI/O処理プログラム501は、ライト対象のストライプ列204に対応するリビルド済みビットマップ404のビット901がOFFかどうかを判定する。ステップS2002で否定の判定結果を得た場合、即ち、ライト対象のストライプ列204に対応するリビルド済みビットマップ404のビット901がONの場合は、既に、スペアドライブ113B等の復元先の領域が、復元済みであるため、ホストI/O処理プログラム501は、復元先の領域から直接ライト処理を実行しS2003、このルーチンでの処理を終了する。このライト処理は、図19で説明した、ホストIO処理プログラムのサブプログラムである、通常リード処理と同様である。ステップS2002で肯定の判定結果を得た場合、即ち、ライト対象のストライプ列204に対応するリビルド済みビットマップ404のビット901がOFFの場合、ホストI/O処理プログラム501は、コレクション先の領域があるか否かを判定するS2004。この判定処理では、ホストI/O処理プログラム501は、前述のS1403と同様に、コレクション先の領域があるか否かを判定する。ステップS2004で肯定の判定結果を得た場合、即ち、コレクション先の領域がある場合、ホストI/O処理プログラム501は、IO同期リビルドの実行が必要か否かを判定するS2005。具体的には、ホストI/O処理プログラム501は、設定テーブル406の設定項目フィールド1102のリビルド動作モードに対応した設定内容フィールド1103のエントリをチェックする。この際、設定内容が、HighSpeedである場合、ホストI/O処理プログラム501は、IO同期リビルドの実行が必要であると判定する。一方、ホストI/O処理プログラム501は、設定内容が、Normalである場合、当該論理ボリューム200の負荷をチェックし、負荷が低い場合には、IO同期リビルドの実行が必要であると判定し、負荷が高い場合は、ホストIO処理を優先するために、IO同期リビルドの実行が不要であると判定する。なお、ホストI/O処理プログラム501は、論理ボリューム200の負荷量に応じて、動的にIO同期リビルドの実行頻度を変更することもでき、また、ホストI/Oがシーケンシャルアクセスの場合には、IO同期リビルドの実行が必要であると判定することもできる。ステップS2005で肯定の判定結果を得た場合、即ち、IO同期リビルドの実行が必要であると判定した場合、ホストI/O処理プログラム501は、コレクションコピー処理を実行しS2009、その後、このルーチンでの処理を終了する。ステップS2005で否定の判定結果を得た場合、即ち、IO同期リビルドの実行が不要であると判定した場合、又は、ステップS2004で否定の判定結果を得た場合、即ち、コレクション先の領域がない場合、ホストI/O処理プログラム501は、ホストI/O処理プログラム501は、冗長データを生成するS2006。例えば、RAID6の場合、ホストI/O処理プログラム501は、ライト先の領域の更新前データと、Pパリティの更新前データと、Qパリティの更新前データから、XOR演算およびガロア演算を実行し、更新後のデータに対応するPパリティのデータとQパリティのデータを算出する。この際、この算出処理に必要な更新前データが、キャッシュメモリ110上に無い場合、ホストI/O処理プログラム501は、ドライブ113から更新前データをキャッシュメモリ110に転送する。但し、図19のステップS1902と異なる点は、冗長データやデータの記憶先のドライブ113が、故障中の状態であるデータは、生成する必要がない点である。その後、ホストI/O処理プログラム501は、キャッシュメモリ110からドライブ113に更新後のデータを転送するS2007。その後、ホストI/O処理プログラム501は、アクセス頻度更新処理を実施するS2008。具体的には、ホストI/O処理プログラム501は、アクセス頻度テーブル405のうち、対応する領域のアクセス頻度カウンタフィールド1003のアクセス頻度カウンタをドライブ113へのコマンド発行回数分インクリメントし、アクセス頻度を更新した後、このルーチンでの処理を終了する。図21は、ホストIO処理プログラムのサブプログラムである、高速ライト処理を説明するためのフローチャートである。高速ライト処理は、特定の冗長データをドライブ113にライトしないことにより、1回のライト処理当たりのドライブ113へのコマンド発行回数を削減する効果を持つ。まず、ホストI/O処理プログラム501は、非同期化対象を除く冗長データの生成を実施するS2101。この際、2個以上の冗長データを持つRAIDレベルにおいて、N1個以下の種類の冗長データを非同期化対象として、冗長データを生成することが有効である。これは、全ての冗長データを非同期化すると、1台のドライブ113が故障した時点で、データを失う領域が発生するためである。例えば、RAID6の場合、Pパリティと、Qパリティの2個の冗長データのうち、Qパリティを非同期化対象とする場合は、Pパリティのみを更新することになる。また、例えば、パリティを3種類Pパリティ、Qパリティ、Rパリティ持つRAIDレベルにおいて、3種類の冗長データのうち、QパリティとRパリティ両方を非同期化対象としてもよいし、いずれか1つを非同期化対象としてもよい。一般に、N種類のパリティを持つ場合に、段階的に高負荷領域ほど非同期化パリティの種数を減らすことにより、システム全体の性能信頼性をさらに効率化することが可能である。その場合は、非同期化パリティの種数が多いページ=高負荷なページから順にリビルド処理を実行することで、信頼性MTTDLMeanTimeToDataLossを最大化する。例えば、3種類のパリティを持つ場合に、超高負荷領域超小容量はQパリティ、Rパリティを非同期化対象とし、高負荷領域小容量はRパリティを非同期化対象とし、低負荷領域大容量は全てのパリティを非同期化対象としない。障害発生時は超高負荷領域についてまずリビルドを完了させ、次に高負荷領域についてリビルドを完了させ、最後に低負荷領域についてリビルドを完了させるという順番で実施する。具体的な冗長データの生成は、図19のS1901と同様であるが、前述したとおり、非同期化対象の冗長データは、除いて処理を実施する。その後、ホストI/O処理プログラム501は、キャッシュメモリ110からドライブ113に更新後のデータを転送するS2102。その後、ホストI/O処理プログラム501は、アクセス頻度更新処理を実施するS2103。具体的には、ホストI/O処理プログラム501は、アクセス頻度テーブル405のうち、対応する領域のアクセス頻度カウンタフィールド1003のアクセス頻度カウンタをドライブ113へのコマンド発行回数分インクリメントし、アクセス頻度を更新する。次に、ホストI/O処理プログラム501は、非同期中ビットマップ402のビット701をONとしS2104、その後、このルーチンでの処理を終了する。なお、高速ライト処理では、高頻度領域について非同期化するパリティ分のキャッシュメモリ110を確保しないため、確保しない分のキャッシュメモリ110の領域を別のデータのキャッシュに活用でき、ストレージシステム104全体の処理効率を向上させることができる。図22は、ホストIO処理プログラムのサブプログラムである、非同期冗長データ生成判定処理を説明するためのフローチャートである。まず、ホストI/O処理プログラム501は、ホスト101からのI/O処理要求を基にシーケンシャルアクセスか否かを判定するS2201。この際、ホストI/O処理プログラム501は、ホスト101からのI/O処理要求のコマンドに含まれる転送長Transferlengthが一定長を超える場合や、複数のIO処理要求のLBAのアドレスの履歴から、連続的な領域にアクセスが来ているかどうかなどで、シーケンシャルアクセスか否かを判定する。ステップS2201で、肯定の判定結果を得た場合、即ち、シーケンシャルアクセスである場合、ホストI/O処理プログラム501は、当該領域は非同期化不要としS2205、このルーチンでの処理を終了する。この理由は、シーケンシャルアクセスだった場合は、キャッシュ上のライトデータだけで冗長データが生成できるので、ドライブにアクセス必要がないためである。ステップS2201で否定の判定結果を得た場合、即ち、シーケンシャルアクセスでは無かった場合、ホストI/O処理プログラム501は、対象の非同期中ビットマップ402のビット701がONか否かを判定するS2202。ステップS2202で否定の判定結果を得た場合、即ち、対象の非同期中ビットマップ402のビット701がOFFの場合、ホストI/O処理プログラム501は、対象が高アクセス頻度領域か否かを判定するS2203。この際、ホストI/O処理プログラム501は、例えば、アクセス頻度テーブル405のうち、対象領域のアクセス頻度カウンタフィールド1003の値が、アクセス頻度の閾値を超えたか否かで判定することができる。ステップS2203で否定の判定結果を得た場合、即ち、対象が高アクセス頻度領域ではなかった場合、ホストI/O処理プログラム501は、当該領域は非同期化不要としS2205、このルーチンでの処理を終了する。ステップS2203で肯定の判定結果を得た場合、即ち、対象が高アクセス頻度領域だった場合、ホストI/O処理プログラム501は、対象が、許容非同期化容量以内かどうかを判定するS2203。具体的には、ホストI/O処理プログラム501は、設定テーブル406のうち、対象となる論理ボリューム200に対応する設定項目フィールド1102の許容非同期化容量の設定内容フィールド1103の値と、非同期中領域数カウンタテーブル403のうち、対象となる論理ボリューム200に対応する非同期中領域数カウンタフィールド802の値とを比較し、次に、非同期中領域数カウンタフィールド802の値がインクリメントされた場合に、非同期中領域数カウンタフィールド802の値が、許容非同期化容量の設定内容フィールド1103の値を超える場合に、許容非同期化容量以内ではないと判定する。また、ホストI/O処理プログラム501は、非同期中領域数カウンタフィールド802の値が、許容非同期化容量の設定内容フィールド1103の値を超えない場合は、許容非同期化容量以内あると判定する。また、既に対象の領域の非同期中ビットマップ402のビット701がONの場合、ホストI/O処理プログラム501は、無条件で許容非同期化容量以内と判定する。ステップS2204で否定の判定結果を得た場合、即ち、許容非同期化容量以内ではないと判定された場合、ホストI/O処理プログラム501は、当該領域は非同期化不要としS2205、このルーチンでの処理を終了する。ステップS2204で肯定の判定結果を得た場合、即ち、許容非同期化容量以内であると判定された場合、又は、ステップS2202で肯定の判定結果を得た場合、即ち、対象の非同期中ビットマップ402のビット701がONである場合、ホストI/O処理プログラム501は、当該領域は非同期化要としS2206、このルーチンでの処理を終了する。なお、上記で述べたステップは、その一部の判定処理を省いてもよいし、全ての判定処理を実施してもよいものとする。図23は、ホストIO処理プログラムのサブプログラムである、非同期冗長データ生成判定処理を説明するためのフローチャートである。この処理は、図22で説明した方法とは異なり、アクセス頻度テーブル405を使用せずに、高頻度な領域を優先して非同期化する方法である。なお、この処理では、図22で説明したフローチャートと異なる点のみを説明する。ホストI/O処理プログラム501は、ステップS2301で、対象が、シーケンシャルアクセスでないと判定された場合、対象の非同期中ビットマップ402のビット701がONであるか否かを判定するS2302。ステップS2302で肯定の判定結果を得た場合、即ち、対象の非同期中ビットマップ402のビット701がONである場合、ホストI/O処理プログラム501は、ステップS2304に移行し、ステップS2204と同様の処理を実行する。ステップS2302で否定の判定結果を得た場合、即ち、対象の非同期中ビットマップ402のビット701がOFFである場合、ホストI/O処理プログラム501は、確率判定の結果を基に実施要か否かを判定するS2303。具体的には、ホストI/O処理プログラム501は、例えば、ローカルメモリ118上のカウンタを使用して、M回に1回だけ実施要と判定することができる。なお、この際、その他の頻度をコントロールする方法を使用してもよい。ホストI/O処理プログラム501は、ステップS2303で肯定の判定結果を得た場合、ステップS2304の処理に移行し、ステップS2204と同様の処理を実行する。また、ホストI/O処理プログラム501は、ステップS2303で否定の判定結果を得た場合、ステップS2305の処理に移行し、ステップS2205と同様の処理を実行する。以上の処理により、アクセス頻度テーブル405を使用しなくても、アクセス頻度の高い領域が、確率的に非同期化される可能性が高くなるため、図22で説明した方法と近い効果を得ることができる。また、以上の説明で述べた方法以外に、ドライブの稼働率やライトペンド量キャッシュ上の未反映データの量に応じて、非同期化不要か非同期化要を切り分ける条件判定を、例えばS2303の直前に加えてもよい。例えば、ドライブの稼働率が低い場合には、スループットやレスポンスの悪化影響が少ないと判断し、既に対象の非同期中bitがONの場合を除いて非同期化不要とすることを選択してもよい。また、ライトペンド量が少ない場合に、同様にスループットやレスポンスの悪化影響が少ないと判断し、既既に対象の非同期中bitがONの場合を除いて非同期化不要とすることを選択してもよい。これらの条件判定を追加することにより、非同期化対象の領域を不必要に広げることを抑止し、信頼性のさらなる向上効果を生むことができる。図24は、ドライブコピー処理プログラムのサブプログラムである、通常コピー処理を説明するためのフローチャートである。まず、ドライブコピー処理プログラム504は、対象の全てのコピー元のストライプデータ223がキャッシュメモリ110に有るか否かを判定するS2401。S2401で否定の判定結果を得た場合、即ち、対象の全てのコピー元のストライプデータ223がキャッシュメモリ110に無い場合、ドライブコピー処理プログラム504は、キャッシュメモリ110にない対象データをコピー元ドライブ113からリードし、リードした対象データをキャッシュメモリ110に転送するS2402。その後、ドライブコピー処理プログラム504は、キャッシュメモリ110からコピー先ドライブ113にデータを転送しS2403、このルーチンでの処理を終了する。また、ステップS2401で肯定の判定結果を得た場合、即ち、対象の全てのコピー元のストライプデータ223がキャッシュメモリ110にある場合、ドライブコピー処理プログラム504は、キャッシュメモリ110からコピー先ドライブ113にデータを転送しS2403、このルーチンでの処理を終了する。図25は、ドライブコピー処理プログラム、リビルド処理プログラム、およびホストIO処理プログラムのサブプログラムである、コレクションコピー処理を説明するためのフローチャートである。この処理は、ドライブコピー処理プログラム504、リビルド処理プログラム503、およびホストIO処理プログラム501のうち、いずれかのプログラムによって実行される。なお、この処理では、ホストIO処理プログラム501が実行する場合について説明する。ホストIO処理プログラム501は、対象の全ての復元元のストライプデータ223が、キャッシュメモリ110に有るか否かを判定するS2501。ステップS2501で否定の判定結果を得た場合、即ち、対象の全ての復元元のストライプデータ223がキャッシュメモリ110に無い場合、ホストIO処理プログラム501は、キャッシュメモリ110にない対象データを、復元元ドライブ13からリードし、リードした対象データをキャッシュメモリ110に転送するS2502。その後、ホストIO処理プログラム501は、対象のストライプデータ223の復元を実施しS2503、復元された復元データをキャッシュメモリ110から復元先ドライブ113に転送しS2504、ステップS2505に進む。一方、ステップS2401で肯定の判定結果を得た場合、即ち、対象の全ての復元元のストライプデータ223がキャッシュメモリ110にある場合、ホストIO処理プログラム501は、対象のストライプデータ223の復元を実施しS2503、復元された復元データをキャッシュメモリ110から復元先ドライブ113に転送しS2504、ステップS2505に進む。ステップS2505で、ホストIO処理プログラム501は、処理対象のストライプ列204に相当するリビルド済みビットをONにしS2505、その後、処理対象のストライプ列204に相当する非同期中ビットがONで有る場合S2506は、非同期中ビットをOFFにしS2507、その後、非同期中領域数カウンタフィールド802の個数をデクリメントしS2508、このルーチンを終了する。このデクリメント処理によって、リビルド処理プログラム503は、リビルド済みビットがONの領域数の管理が可能となる。一方、ステップS2506で処理対象のストライプ列204に相当する非同期中ビットがONでない場合は、このルーチンを終了する。図26は、リビルド処理プログラムのサブプログラムである、非同期冗長データコレクション処理を説明するためのフローチャートである。まず、リビルド処理プログラム503は、対象の全ての冗長データ生成元のデータがキャッシュメモリ110に有るか否かを判定するS2601。ステップS2601で否定の判定結果を得た場合、即ち、対象の全ての冗長データ生成元のストライプデータ223がキャッシュメモリ110に無い場合、リビルド処理プログラム503は、対象のストライプデータ223をドライブ113から読み出し、読み出したストライプデータ223をキャッシュメモリ110に転送するS2602。その後、リビルド処理プログラム503は、対象となる冗長データの復元を実施しS2603、復元された冗長データをキャッシュメモリ110から対象のドライブ113に転送しS2604、処理対象のストライプ列204に相当するリビルド済みビットをONにしS2605、その後、非同期中ビットをOFFにしS2606、その後、非同期中領域数カウンタフィールド802の個数をデクリメントしS2607、このルーチンでの処理を終了する。ステップS2401で肯定の判定結果を得た場合、即ち、対象の全ての復元元のストライプデータ223がキャッシュメモリ110にある場合、リビルド処理プログラム503は、対象となる冗長データの復元を実施しS2603、復元された冗長データをキャッシュメモリ110から対象のドライブ113に転送しS2604、処理対象のストライプ列204に相当するリビルド済みビットをONにしS2605、その後、非同期中ビットをOFFにしS2606、その後、非同期中領域数カウンタフィールド802の個数をデクリメントしS2607、このルーチンでの処理を終了する。図27は、論理ボリューム毎のパラメタの設定のためのGUIを表わす画面構成図である。図27において、設定画面2701は、設定対象の論理ボリューム200を特定できる論理ボリューム番号を表示する領域2702と、簡易設定を選択する領域2703と、詳細設定を行う領域2704,2705,2706で構成される。領域2704には、非同期冗長データ生成モードとして、高頻度アクセス領域のみ冗長データの更新を遅らせる場合、ONが設定され、常に冗長データの更新を実施する場合、OFFが設定される。領域2705には、リビルド動作モードとして、IO同期リビルドを常に実施する場合、HighSpeedが設定され、ホストIOに優先してリビルド処理を実行する場合、Normalが設定される。領域2706には、許容非同期化容量として、高頻度アクセス領域のみ冗長データの更新を遅らせる場合に、対象とする領域の最大サイズ、例えば、10MBが設定される。領域2704、2705、2706がそれぞれ設定された場合、プロセッサ119は、設定テーブル406のうち、領域2702で設定された論理ボリューム200のエントリを新規設定又は更新する。ただし、領域2706に設定される許容非同期化容量は、対象とする領域の容量MBを、ストライプ列204の個数に換算し、換算した個数を、設定テーブル406の設定項目フィールド1102のうち、許容非同期化容量に対応した設定内容フィールド1103の値として、設定テーブル406に格納する。なお、上記で述べた詳細設定の設定値をpreSet1のようなラベルで保存しておき、領域2703に、preSet1を簡便に設定するようにしてもよい。図28は、本発明の効果を説明するための説明図である。図28において、ライトアクセスの対象となる領域2800は、例えば、高頻度Writeアクセスが発生している領域2801と、低頻度Writeアクセスが発生している領域2802に分けることができる。この際、領域2801は、例えば、80のIO負荷が、領域2800全体の20の領域に集中している領域以下、ホットスポットと称することがある。である。領域2802は、例えば、20のIO負荷が、領域2800全体の80の領域に発生している領域以下、非アクティブ領域と称することがある。。上述のように、IOに偏りがあることを仮定した場合に、本発明の効果は、以下のテーブル2804で表される。テーブル2804では、本発明の方式により、高頻度Writeアクセスの領域2801のパリティライトを遅らすために、RAID6と比較して、ライトペナルティの影響をシステム全体として抑えることができ、RAID5と比較して、信頼性も向上させることができることを示している。具体的には、ホストアクセスがWriteのみのRandomアクセスであると仮定すると、RAID5の場合、1回のホストアクセスにより、4回のドライブアクセスが発生する。よって、ホストIOのスループット性能は、14となる。RAID6の場合、1回のホストアクセスにより、6回のドライブアクセスが発生する。よって、ホストIOのスループット性能は、16となる。これに対して、本方式では、ホットスポット2801に対する1回のホストアクセスは、4回のドライブアクセスとなり、非アクティブ領域2802に対する1回のホストアクセスは、6回のドライブアクセスとなる。よって、1回のホストアクセスに対する平均のドライブアクセス回数は、144となり、ホストIOのスループット性能は、144となる。ここで、RAID5のスループットを1としたときに、RAID6のスループットは、ライトペナルティの影響が大きく、066となるが、本方式のスループットは、09であり、RAID6ほどのライトペナルティの影響は受けず、スループット低下を抑えることができる。また、ホットスポット2801は、領域2800全体の20程度であるため、ドライブ故障時の冗長度の回復時間を20に削減することができる。これにより、論理ボリューム200の信頼性MTTDLMeanTimeToDataLossをRAID5と比較し、最大で5倍に向上させることができる。また、リビルド動作モードをHighSpeedに設定した場合、ホストIOが、高負荷な状態でも、IOに同期したリビルド処理を実施することにより、リビルド時間を削減する効果を持つため、さらに信頼性を向上させることができる。図29は、リビルド処理実行制御プログラムの処理を説明するためのフローチャートである。リビルド処理実行制御プログラム505は、リビルド処理プログラム503を実行する契機を制御するプログラムである。リビルド処理実行制御プログラム505は、ストレージシステムがホストからIOアクセスが可能になるまでに実行が開始され、非同期的に動作し続ける処理である。まず、リビルド処理実行制御プログラム505は、ドライブ故障が発生したか否かを判定するS2901。この際、リビルド処理実行制御プログラム505は、例えば、論理物理アドレス変換テーブル401のドライブ状態フィールド605を参照し、故障中のドライブ113が有るかどうかで判断する。ステップS2901で否定の判定結果を得た場合、即ち、ドライブ故障が発生していない場合、リビルド処理実行制御プログラム505は、対象のドライブ113が低負荷か否かを判定するS2902。この際、リビルド処理実行制御プログラム505は、例えば、アクセス頻度テーブル405の対象の論理ボリューム200のアクセス頻度カウンタフィールド1003のアクセス頻度カウンタの合計値が、一定の閾値を超えたかどうかで判断する。なお、アクセス頻度カウンタフィールド1003の値とは別の論理ボリューム番号ごとのアクセス頻度カウンタを保持し、保持した量が、一定の閾値を超えたかどうかで判断してもよい。ステップS2902で否定の判定結果を得た場合、即ち、対象のドライブ113が低負荷でない場合、リビルド処理を実行しS2903、その後、一定期間待ってからS2904、再度ステップS2901に戻り、ステップS2901の処理を実行する。なお、リビルド処理実行制御プログラム505は、ドライブ故障が発生した契機又は、対象のドライブ113が低負荷となった状態で、一定期間待つステップS2904の処理を中断し、ステップS2901の処理に移行することもできる。ステップS2902が肯定の判定結果を得た場合、即ち、対象のドライブ113が低負荷である場合、リビルド処理実行制御プログラム505は、リビルド処理を実行しS2905、その後、一定期間待ってからS2906、再度ステップS2901に戻り、ステップS2901の処理を実行する。なお、リビルド処理実行制御プログラム505は、ドライブ故障が発生した契機で、一定期間待つステップS2906の処理を中断し、ステップS2901の処理に移行することもできる。一方、ステップS2901で肯定の判定結果を得た場合、即ち、故障中のドライブ113が存在する場合、リビルド処理実行制御プログラム505は、リビルド処理を実行しS2907、その後、一定期間待ってからS2908、再度ステップS2901に戻り、ステップS2901の処理を実行する。上記のステップS2904、S2906、S2908における一定期間待つ期間の量t1、t2、t3については、それぞれの期間の量に差をつける例:t1t2t3ことにより、リビルド処理の頻度やリビルド処理によるドライブ113に対する負荷量を調整することができる。例えば、ドライブ故障時は、データロストの危険を回避すべく、他よりもリビルド処理時間を短くするため、短い待ち時間とすることができる。また、ドライブ113が低負荷の場合は、ホスト101によるドライブ113への負荷が低いため、よりリビルド処理を積極的に実施するため、短い待ち時間とすることができる。もちろん、上記の例のように高負荷、低負荷の2段階だけでなく、より段階的に待ち時間を調整してもよい。本実施例によれば、冗長化されたディスク構成をサポートするストレージシステムにおいて、障害耐性を確保する一方で、データ更新に伴い発生する冗長データの更新をドライブに反映する際に、ドライブアクセス時間が長くなり、IOのスループットが低下するのを防止することができる。第2実施例図30は、本発明の第2実施例に係る計算機システムの論理構成図である。以下、本発明の第2実施例に係る計算機システムの論理構成のうち、図2と異なる点についてのみ説明する。第1実施例の方法は、ドライブ113のどこにストライプデータ223を配置しているかは依存しない。例えば、図2のように8台のドライブ113Aでストライプ列204を構成する必要はなく、ストレージシステム104に実装される全てのドライブ113を使って、ストライプ列204を構成してもよいし、一部のドライブ113を使って、ストライプ列204を構成してもよい。スペアドライブ113Bの使用領域も同様である。これに対して、第2実施例では、図30に示すように、ストライプ列3001が、不規則にドライブ113から割り当てられている。ストライプ列3001を、不規則にドライブ113に割り当てる際には、同一のドライブ113に複数のストライプデータ3002を配置しないようにする。これは、冗長度が低くならないようにするためである。スペアドライブ113Bは、未使用のストライプデータ3002を割り当てて使用する。勿論、同一のドライブ113Bに複数のストライプデータ3002を配置しないようにスペアドライブ113Bを選択する。また、本実施例は、RAID6のようなデータ配置だけでなく、Triplicationにおいても適用できる。具体的には、通常のTriplicationの構成の場合、1個のデータに対して、2個の冗長データをドライブ113に作成し、3重に同期的に更新を実施する。本実施例によれば、高負荷の領域に対して、3個目のデータの更新を非同期に実施することで、ライトペナルティによる性能影響を低減するRAID1のような2重化の状態に近くすることが可能となる。また、上述の方法は、特許文献2に記載のようなパリティの容量を削減する技術と組み合わせることにより、ユーザの使用できる容量を物理的な容量により近づけ効率化することが可能である。"