"書き換え可能な第1の数の不揮発性メモリと、ホスト計算機からのアクセス要求に基づいて、前記第1の数の不揮発性メモリのうち対応する論理ディスクを構成する不揮発性メモリへのアクセスを制御するストレージコントローラとを具備し、前記ストレージコントローラは、前記論理ディスクの生成に用いられるプールを生成するプール生成手段と、前記論理ディスクを生成する論理ディスク生成手段とを具備し、前記プール生成手段は、前記第1の数の不揮発性メモリのうちの第2の数の不揮発性メモリをグループ化して、前記第2の数の不揮発性メモリから構成されるプールを生成するグループ化手段と、前記プールを構成する前記第2の数の不揮発性メモリの記憶領域を一定サイズのブロックに分割するブロック分割手段と、前記ブロックに分割された前記第2の数の不揮発性メモリを対象に、前記第2の数未満の第3の数のブロックであって、前記第2の数の不揮発性メモリのうちの異なる不揮発性メモリのブロックを単位に、当該第3の数のブロックを結合することにより、前記第3の数のブロックから構成される複数のチャンクを生成するチャンク生成手段とを具備し、前記論理ディスク生成手段は、前記複数のチャンクが生成された前記第2の数の不揮発性メモリのチャンクを割り当てることにより前記論理ディスクを生成するストレージ装置。前記第3の数が、前記第2の数未満であるだけでなく、前記第1の数と互いに素である請求項1記載のストレージ装置。前記論理ディスク生成手段は、前記複数のチャンクが生成された前記第2の数の不揮発性メモリのうちの前記第3の数の不揮発性メモリのチャンクを割り当てることにより前記論理ディスクを生成する請求項1または2に記載のストレージ装置。前記論理ディスク生成手段は、前記複数のチャンクが生成された前記第2の数の不揮発性メモリに均等にまたがるように、前記第3の数に一致する数の異なる組み合わせの不揮発性メモリのチャンクを割り当てることにより前記論理ディスクを生成する請求項1または2に記載のストレージ装置。前記第2の数の不揮発性メモリの配列は前記プールを生成する際に定められており、前記論理ディスク生成手段は、前記第3の数に一致する数の不揮発性メモリにまたがる第1のチャンクを割り当てた場合、前記第1のチャンクの最終ブロックが存在する不揮発性メモリの次の不揮発性メモリから始まる前記第3の数に一致する数の不揮発性メモリにまたがる第2のチャンクを割り当てる請求項4記載のストレージ装置。前記プール生成手段は、同一構成の2つのプールを生成し、前記ストレージ装置は、データ書き込みが要求された場合、前記2つのプールの一方をマスタープール、前記2つのプールの他方をスレーブプールとして、前記マスタープールへのデータの書き込みの後、前記スレーブプールの対応するブロックへデータを書き込むアドレス処理手段を更に具備する請求項1または2に記載のストレージ装置。前記論理ディスク生成手段は、前記論理ブロックに割り当てられるチャンク毎に、当該チャンクを構成する前記第3の数のブロックの1つを、他のブロックに格納されるデータの冗長データを保持する冗長ブロックに割り当てる請求項1または2に記載のストレージ装置。書き換え可能な第1の数の不揮発性メモリと接続され、ホスト計算機からのアクセス要求に基づいて、前記第1の数の不揮発性メモリのうち対応する論理ディスクを構成する不揮発性メモリへのアクセスを制御するストレージコントローラにおいて、前記論理ディスクの生成に用いられるプールを生成するプール生成手段と、前記論理ディスクを生成する論理ディスク生成手段とを具備し、前記プール生成手段は、前記第1の数の不揮発性メモリのうちの第2の数の不揮発性メモリをグループ化して、前記第2の数の不揮発性メモリから構成されるプールを生成するグループ化手段と、前記プールを構成する前記第2の数の不揮発性メモリの記憶領域を一定サイズのブロックに分割するブロック分割手段と、前記ブロックに分割された前記第2の数の不揮発性メモリを対象に、前記第2の数未満の第3の数のブロックであって、前記第2の数の不揮発性メモリのうちの異なる不揮発性メモリのブロックを単位に、当該第3の数のブロックを結合することにより、前記第3の数のブロックから構成される複数のチャンクを生成するチャンク生成手段とを具備し、前記論理ディスク生成手段は、前記複数のチャンクが生成された前記第2の数の不揮発性メモリのチャンクを割り当てることにより前記論理ディスクを生成するストレージコントローラ。グループ化手段、ブロック分割手段及びチャンク生成手段を含むプール生成手段と、論理ディスク生成手段とを備え、ホスト計算機からのアクセス要求に基づいて、書き換え可能な第1の数の不揮発性メモリのうち対応する論理ディスクを構成する不揮発性メモリへのアクセスを制御するストレージコントローラに適用される論理ディスク生成方法であって、前記グループ化手段が、前記第1の数の不揮発性メモリのうちの第2の数の不揮発性メモリをグループ化して、前記第2の数の不揮発性メモリから構成されるプールを生成するステップと、前記ブロック分割手段が、前記プールを構成する前記第2の数の不揮発性メモリの記憶領域を一定サイズのブロックに分割するステップと、前記チャンク生成手段が、前記ブロックに分割された前記第2の数の不揮発性メモリを対象に、前記第2の数未満の第3の数のブロックであって、前記第2の数の不揮発性メモリのうちの異なる不揮発性メモリのブロックを単位に、当該第3の数のブロックを結合することにより、前記第3の数のブロックから構成される複数のチャンクを生成するステップと、前記論理ディスク生成手段が、前記複数のチャンクが生成された前記第2の数の不揮発性メモリのチャンクを割り当てることにより前記論理ディスクを生成するステップとを具備する論理ディスク生成方法。上述したように、従来技術では、RAIDを構成する複数の不揮発性メモリの同時故障の確率を低減するために、ストライプブロック毎の書き込み回数に基づいて、ストライプグループ内でストライプブロックが入れ替えられる。つまり、不揮発性メモリ間でデータが移動される。このデータの移動は、ストレージ装置の処理性能の低下を招く。本発明が解決しようとする課題は、処理性能を低下させることなく、複数の不揮発性メモリの同時不良の発生を抑制することができる、複数の不揮発性メモリを備えたストレージ装置、ストレージコントローラ及び論理ディスク生成方法を提供することにある。実施形態によれば、ストレージ装置は、書き換え可能な第1の数の不揮発性メモリと、ホスト計算機からのアクセス要求に基づいて、前記第1の数の不揮発性メモリのうち対応する論理ディスクを構成する不揮発性メモリへのアクセスを制御するストレージコントローラとを具備する。前記ストレージコントローラは、前記論理ディスクの生成に用いられるプールを生成するプール生成手段と、前記論理ディスクを生成する論理ディスク生成手段とを具備する。前記プール生成手段は、グループ化手段と、ブロック分割手段と、チャンク生成手段とを具備する。前記グループ化手段は、前記第1の数の不揮発性メモリのうちの第2の数の不揮発性メモリをグループ化して、前記第2の数の不揮発性メモリから構成されるプールを生成する。前記ブロック分割手段は、前記プールを構成する前記第2の数の不揮発性メモリの記憶領域を一定サイズのブロックに分割する。前記チャンク生成手段は、前記ブロックに分割された前記第2の数の不揮発性メモリを対象に、前記第2の数未満の第3の数のブロックであって、前記第2の数の不揮発性メモリのうちの異なる不揮発性メモリのブロックを単位に、当該第3の数のブロックを結合することにより、前記第3の数のブロックから構成される複数のチャンクを生成する。前記論理ディスク生成手段は、前記複数のチャンクが生成された前記第2の数の不揮発性メモリのチャンクを割り当てることにより前記論理ディスクを生成する。以下、実施の形態につき図面を参照して説明する。図1は実施形態に係るストレージシステムの構成を示すブロック図である。図1に示すストレージシステムは、ホスト計算機100及びストレージ装置200から構成される。ホスト計算機100及びストレージ装置200は、例えば、FCFibreChannel等によりSCSISmallComputerSystemInterface規格に準拠して接続されている。ホスト計算機100は、設定ツール101及びホストI/Fインターフェイス102を備えている。設定ツール101は、論理ディスクつまり論理的なボリュームの生成等のためにユーザが入力した情報を、ホストI/F102を介してストレージ装置200に伝える。そのため設定ツール101は、例えば論理ディスクのサイズやタイプなどのパラメータをユーザがホスト計算機100の入力装置図示せずを用いて入力するためのインターフェイスを備える。ホストI/F102は、ストレージ装置200に実装されたコントローラストレージコントローラ210と通信する。ホストI/F102は、例えば設定ツール101を用いてユーザによって入力された情報をストレージ装置200のコントローラ210に伝える。コントローラ210は、このユーザによって入力された情報が、論理ディスクのサイズやタイプなどのパラメータである場合、当該パラメータに基づいて論理ディスクを生成する。ホスト計算機100は、ストレージ装置200に構築された論理ディスクに対して読み出し/書き込みが可能である。これはストレージ装置200が生成する論理ディスクをホスト計算機100のオペレーティングシステムOSがSCSI規格に準拠したディスクとして検出し、ホスト計算機100で動作するプログラムが当該ディスクに対して読み出し/書き込みできることを指す。ストレージ装置200は、コントローラ210と、複数のフラッシュメモリ、例えば5つのフラッシュメモリ2200~2204とを備えている。コントローラ210はホスト計算機100からの読み出し/書き込み要求に基づいて、対応する論理ディスクを構成するフラッシュメモリ220ii=0~4に対してデータの読み出し/書き込みを行う。コントローラ210はまた、ホスト計算機100設定ツール101からの要求に応じて論理ディスクを生成し、且つ生成された論理ディスクを管理する。フラッシュメモリ220iは、SSDやフラッシュメモリモジュール例えばNAND型フラッシュメモリモジュールのような、書き換え可能な不揮発性記憶素子から構成される記憶媒体不揮発性記憶媒体、つまり書き換え可能な不揮発性メモリである。フラッシュメモリ220iは、書き換え可能な不揮発性半導体記憶素子と当該半導体記憶素子を制御するFWFirmwareとを含む。このFWは、半導体記憶素子への書き込みの回数を平準化する周知のウェアレベリング処理を行う。また、フラッシュメモリ220iは、外部インターフェイスを含む。フラッシュメモリ220iが例えばSSDである場合、外部インターフェイスとしてSASSerialAttachedSCSIを適用するのが一般的である。なお、SSDは一例であり、フラッシュメモリ220iがSSDである必要はない。また、ストレージ装置200が備える記憶媒体不揮発性メモリがフラッシュメモリである必要もなく、書き換えが可能な不揮発性記憶素子から構成される記憶媒体不揮発性メモリであればよい。ストレージ装置200が備える全てのフラッシュメモリ220iには、例えば0番からの通し番号以下、メディア番号と称するが付与されているものとする。このメディア番号は、フラッシュメモリ220iがストレージ装置200に初めて実装されたときに、コントローラ210によって付与される。メディア番号は、管理情報の一部として管理情報記憶部230に記憶され、一度番号が付与されると変更できないものとする。また、以降の説明を簡単にするために全てのフラッシュメモリ220iのサイズメモリ容量は同一であるものとする。次に、ストレージ装置200のコントローラ210によって生成管理される、フラッシュメモリプールについて説明する。フラッシュメモリプールは、複数のフラッシュメモリ220iをグループ化することにより構成される。つまり、フラッシュメモリプールをフラッシュメモリ220iの集合と見なすこともできる。図2は、フラッシュメモリプールの構成の一例を示す。図2の例では、フラッシュメモリプールは、5つのフラッシュメモリ2200~2204の集合を1グループとして備えている。つまり、図2に示すフラッシュメモリプールは、ストレージ装置200が有する全てのフラッシュメモリ2200~2204から構成されている。しかし、フラッシュメモリプールが、フラッシュメモリ2200~2204のうちの3つ以上のフラッシュメモリから構成されていてもよい。フラッシュメモリ2200~2204には、それぞれメディア番号0~5が付与されている。フラッシュメモリプールには、メディア番号0~5の順番でフラッシュメモリ2200~2204が配置論理的に配置されている。フラッシュメモリプール内の各フラッシュメモリ220iの記憶領域は一定サイズのブロック物理ブロック0,1,2,...に分割して管理される。ブロック0,1,2,...には、それぞれ、ブロック番号0,1,2,...が付与される。ここで、フラッシュメモリプール内で隣接するフラッシュメモリ220iのブロックをある一定の個数でグループ化した集合をチャンクchunkと定義する。フラッシュメモリ2204及び2200も互いに隣接しているものとする。図2の例では、チャンクを構成するブロックの数以下、チャンク数と称するは4であり、A0,B0,C0,D0,E0,A1...のようにチャンクチャンク領域が構成されている。本実施形態において、チャンク数は、フラッシュメモリプールを構成するフラッシュメモリの数より小さく且つフラッシュメモリの数と互いに素な数であるとする。本実施形態のように、フラッシュメモリプールを構成するフラッシュメモリの数が5の場合、適用可能なチャンク数は、2、3または4のいずれかである。図2に示すフラッシュメモリプールにおいて、チャンクをメディア番号が0のフラッシュメモリ2200から順に割り当てるものとする。この場合、全フラッシュメモリ2200~2204がチャンク数に一致する数のブロックを消費すると、次のチャンクが再びメディア番号が0のフラッシュメモリ2200から割り当てられることになる。図2の例ではフラッシュメモリの数がフラッシュメモリ2200~2204の5で、チャンク数が4である。この場合、先頭ブロック0から4ブロック単位でチャンクA0~E0が割り当てられ、後続の4ブロック単位でチャンクA1~E1が割り当てられるというように、先頭のフラッシュメモリ2200の先頭ブロック0から順に4ブロック単位でチャンクが割り当てられる。つまり、フラッシュメモリ2200,2201,2202,2203のそれぞれブロック0にチャンクA0が割り当てられ、フラッシュメモリ2204のブロック0及びフラッシュメモリ2200,2201,2202のそれぞれブロック1にチャンクB0が割り当てられる。次に、フラッシュメモリ2203,2204のそれぞれブロック1及びフラッシュメモリ2200,2201のそれぞれブロック2にチャンクC0が割り当てられ、フラッシュメモリ2202,2203,2204のそれぞれブロック2及びフラッシュメモリ2200のブロック3にチャンクD0が割り当てられる。次に、フラッシュメモリ2201,2202,2203,2204のそれぞれブロック3にチャンクE0が割り当てられる。以下、同様に、フラッシュメモリ2200~2204のそれぞれブロック4~7の合計20ブロックに、4ブロック単位で、チャンクA1~E1が割り当てられる。ここで、フラッシュメモリ2200~2204の各々に注目すると、当該フラッシュメモリ2200~2204にそれぞれ割り当てられるチャンクの集合におけるチャンクの組み合わせは、フラッシュメモリ毎に全て異なるという特徴があることが分かる。例えば、フラッシュメモリ2200に割り当てられるチャンクの集合はA0,B0,C0,D0,A1...の組み合わせ、フラッシュメモリ2201に割り当てられるチャンクの集合はA0,B0,C0,E0,A1...の組み合わせ、フラッシュメモリ2202に割り当てられるチャンクの集合はA0,B0,D0,E0,A1...の組み合わせ、というように全てのフラッシュメモリでチャンクの組み合わせが異なる。この特徴は、それぞれのチャンクへの書き込み回数が異なれば、全てのフラッシュメモリ2200~2204への書き込み回数が異なる可能性が高いということを表す。本実施形態では、この特徴を利用して論理ディスクが生成構成される。本実施形態で適用される論理ディスクは、タイプ1の論理ディスクとタイプ2の論理ディスクとに分類される。図3は、タイプ1の論理ディスクの例を2つの論理ディスクについて示す。図3aは論理ディスク221aの例を示し、図3bは論理ディスク221bの例を示す。図3aに示す論理ディスク221aは、フラッシュメモリプール内のフラッシュメモリ2200~2204のうち、フラッシュメモリ2200~2203のチャンク、つまりチャンクA0,A1,A2...のブロックを論理ブロック論理ディスク221aの論理ブロックに割り当てることにより構成される。図3bに示す論理ディスク221bは、フラッシュメモリプール内のフラッシュメモリ2200~2204のうち、フラッシュメモリ2204,2200~2202のチャンク、つまりチャンクB0,B1,B2...のブロックを論理ブロックに割り当てることにより構成される。このように、タイプ1の論理ディスクは、フラッシュメモリプール内のフラッシュメモリ2200~2204のうち、チャンク数に一致する数の予め定められたフラッシュメモリのチャンクを割り当てることによって構成される。このタイプ1の論理ディスクは、同一論理ディスクの記憶領域内で書き込み回数の偏りが少ないが、論理ディスク毎に書き込み回数が異なる場合に、各フラッシュメモリに書き込みを分散させることができる、つまり各フラッシュメモリの書き込み回数が均一化するのを抑制できるという特徴がある。このタイプ1の論理ディスクは、論理ディスク毎に用途が異なるようなシステムへの適用が想定される。例えば、データベース用、バックアップ用、或いはファイルサーバ用等の論理ディスクを混在させる場合のように、各論理ディスクの書き込み回数が異なることが想定される場合に効果が高い。図4は、タイプ2の論理ディスクの例を2つの論理ディスクについて示す。図4aは論理ディスク222aの例を示し、図4bは論理ディスク222bの例を示す。図4aに示す論理ディスク222aは、フラッシュメモリプール内の全てのフラッシュメモリ2200~2204に均等にまたがるように、チャンクA0,B1,C2...のブロックを論理ブロック論理ディスク222aの論理ブロックに割り当てることにより構成される。図4bに示す論理ディスク222bは、フラッシュメモリプール内の全てのフラッシュメモリ2200~2204に均等にまたがるように、つまりチャンクB0,C1,D2...のブロックを論理ブロックに割り当てることにより構成される。このように、タイプ2の論理ディスクは、フラッシュメモリプール内の全フラッシュメモリ2200~2204にまたがってチャンクを割り当てることによって構成される。このタイプ2の論理ディスクは、各論理ディスクの書き込み回数は殆ど同じであるが、同一論理ディスクの記憶領域内で書き込み回数の偏りがある場合に、各フラッシュメモリに書き込みを分散させることができる、つまり各フラッシュメモリの書き込み回数が均一化するのを抑制できるという特徴がある。このタイプ2の論理ディスクは、例えば、ランダムアクセスが多くデータ書き込みが局所化しているようなデータベースに適用される論理ディスクを複数生成する場合に効果が高い。以上、各フラッシュメモリの書き込み回数が均一化するのを抑制するための論理ディスクの構成について説明した。次に、図1に示されるストレージ装置200のコントローラ210の構成について説明する。図5は、ストレージ装置200の主としてコントローラ210の構成を示すブロック図である。コントローラ210は、ホストI/F処理部211、コマンド処理部212、I/O処理部213、アドレス処理部214、フラッシュメモリI/F処理部215、ディスク管理部216、初期化処理部217及び管理情報記憶部230を備えている。ホストI/F処理部211は、ホスト計算機100のホストI/F102と通信するためのインターフェイスである。本実施形態では、このインターフェイスとしてSCSIインターフェイスを想定している。コマンド処理部212は、ホスト計算機100のホストI/F102によって転送されるコマンをホストI/F処理部211を介して受信する。本実施形態において、このコマンドはSCSIコマンドである。SCSI規格では、SCSIコマンドを用いてホスト計算機とストレージ装置間でデータ転送が行われる。SCSIコマンドはI/O系のSCSIコマンドI/O系コマンドと制御系のSCSIコマンド制御系コマンドに分類される。I/O系コマンドは、ホスト計算機上で動作するプログラムがストレージ装置の論理ディスクに対して読み出し/書き込みを要求した場合に、ホスト計算機のオペレーティングシステムによって当該読み出し/書き込み要求から変換されてストレージ装置に発行されるSCSIコマンドである。制御系コマンドは、ストレージ装置に関する情報を取得し、或いはストレージ装置に当該ストレージ装置に関する情報を設定するためのSCSIコマンドである。ストレージ装置ベンダーは当該ストレージ装置ベンダー固有のSCSI拡張コマンドを定義することができる。そこでホスト計算機100上で動作する設定ツール101は、ユーザが入力した情報パラメータに応じてSCSI拡張コマンドを生成し、当該生成したSCSI拡張コマンドをコントローラ210に発行することで、ストレージ装置200に対する情報の参照或いは情報の設定を行う。コマンド処理部212は受信したSCSIコマンドがI/O系コマンドであるか、或いは制御系コマンドであるかを判別する。I/O系コマンドの場合、コマンド処理部212は受信したSCSIコマンドをI/O処理部213に渡す。I/O処理部213は、アドレス処理部214を用いて論理ディスクに対する読み出し/書き込み処理を行う。一方、制御系コマンドの場合、コマンド処理部212は受信したSCSIコマンドをディスク管理部216または初期化処理部217に渡してユーザの要求に応じた処理を行わせる。管理情報記憶部230は不揮発記憶領域を備えており、当該不揮発性記憶領域に各種の管理情報を格納する。本実施形態において管理情報記憶部230は、フラッシュメモリプールテーブル231図8参照とブロック割り当てテーブル232図9参照を含むブロック割り当てテーブル群とを、管理情報として格納する。管理情報記憶部230はまた、生成された論理ディスクの数に対応するマッピングテーブル群、例えばマッピングテーブル233図10参照を含むマッピングテーブル群を管理情報として格納する。ディスク管理部216は、論理ディスクの生成、生成された論理ディスクの管理など、ユーザの要求に応じた処理を、管理情報記憶部230を用いて行う。そのためディスク管理部216は、管理情報記憶部230に対する情報の参照及び情報の書き換えが可能なように構成されている。より詳細に述べるならば、ディスク管理部216は、論理ディスクの生成のために、フラッシュメモリプールテーブルの参照、ブロック割り当てテーブルの更新、マッピングテーブルの生成等を行う。初期化処理部217は、フラッシュメモリプールテーブルの生成、及びブロック割り当てテーブルの生成等の初期化処理を行う。図6はディスク管理部216の構成を示すブロック図である。ディスク管理部216は、論理ディスク生成部2160を含む。論理ディスク生成部2160は、論理ディスクの生成のために、フラッシュメモリプールからチャンクチャンク領域の群を選択する。論理ディスク生成部2160は、選択されたチャンク領域の群を結合することにより、選択されたチャンク領域の群から構成される論理ディスクを生成する。この論理ディスクの生成は、後述するように、当該論理ディスクに対応するマッピングテーブルを生成することにより実現される。図7は初期化処理部217の構成を示すブロック図である。初期化処理部217は、フラッシュメモリプールを生成するためのフラッシュメモリプール生成部2170を含む。フラッシュメモリプール生成部2170は、グループ化部2171、ブロック分割部2172、チャンク生成部2173及び論理ディスクタイプ設定部2174から構成される。初期化処理部217は更に、ブロック割り当てテーブルを生成するためのブロック割り当てテーブル生成部2175を含む。グループ化部2171は、複数のフラッシュメモリをグループ化することにより。当該グループ化されたフラッシュメモリの集合からなるフラッシュメモリプールを生成する。ブロック分割部2172は、グループ化されたフラッシュメモリの各々の記憶領域を一定サイズのブロックに分割する。チャンク生成部2173は、グループ化されたフラッシュメモリの集合に基づき、グループ化されたフラッシュメモリの個数未満のブロックであって且つ異なるフラッシュメモリのブロックを結合することによってチャンクチャンク領域を生成する。論理ディスクタイプ設定部2174は、フラッシュメモリプールを用いて生成することが可能な論理ディスクのタイプを設定する。次に、本実施形態で適用される論理ディスクを生成するための処理について説明する。本実施形態において論理ディスクを生成するためには、論理ディスク生成処理300図13参照に加えて、論理ディスクの生成に用いられるフラッシュメモリの集合から構成されるフラッシュメモリプールを生成するための初期化処理120図12参照が必要となる。まず、初期化処理120について説明する。ユーザは、ホスト計算機100の設定ツール101を用いて、フラッシュメモリプールを生成するための入力操作を行う。フラッシュメモリプールの生成のためにユーザが最低限入力する必要があるパラメータは、フラッシュメモリプールのサイズとフラッシュメモリ群から生成される論理ディスクのタイプである。論理ディスクのタイプは、2つのタイプタイプ1またはタイプ2の中からユーザによって選択される。設定ツール101は、ユーザによる上記サイズ及びタイプの入力操作に従い、フラッシュメモリプールの生成を要求するための第1のSCSI拡張コマンド制御系コマンドを生成する。第1のSCSI拡張コマンドは、ユーザが入力したパラメータ、つまりサイズフラッシュメモリプールサイズ及びタイプ論理ディスクタイプを含む。設定ツール101は、第1のSCSI拡張コマンドを、ホストI/F102を介してストレージ装置200のコントローラ210に転送することで、当該コントローラ210に対してフラッシュメモリプールの生成を要求する。コントローラ210に転送された第1のSCSI拡張コマンドは、ホストI/F処理部211を介してコマンド処理部212で受信される。コマンド処理部212は、第1のSCSI拡張コマンドつまりフラッシュメモリプールの生成を要求するSCSI拡張コマンドを受信した場合、当該第1のSCSI拡張コマンドを初期化処理部217に渡す。すると初期化処理部217は、図12のフローチャートに従って、フラッシュメモリプールの生成を含む初期化処理120を実行する。以下、初期化処理120の手順について、図12のフローチャートを参照して説明する。初期化処理120において、初期化処理部217のフラッシュメモリプール生成部2170は、第1のSCSI拡張コマンドに含まれているパラメータフラッシュメモリプールサイズ及び論理ディスクタイプとコントローラ210に接続されているフラッシュメモリここではフラッシュメモリ2200~2204に関する情報とに基づき、図8に示すフラッシュメモリプールテーブル231を生成する。フラッシュメモリプールテーブル231は、フラッシュメモリプールを管理するためのフラッシュメモリプール管理情報を保持する。このフラッシュメモリプール管理情報は、図8に示すように、開始メディア番号、メディア数、ブロックサイズ、チャンク数及び論理ディスクタイプから構成される。フラッシュメモリプール生成部2170は、フラッシュメモリプールテーブル231を次のように生成する。まずフラッシュメモリプール生成部2170のグループ化部2171は、コントローラ210に接続されているフラッシュメモリを検索するステップ121。ここでは、5つのフラッシュメモリ2200~2204が検索される。グループ化部2171はまた、管理情報記憶部230からブロック割り当てテーブル検索されたフラッシュメモリ2200~2204にそれぞれ対応するブロック割り当てテーブルを検索するステップ122。本実施形態において、図9に示すブロック割り当てテーブル232のようなブロック割り当てテーブルは、フラッシュメモリプールに所属する全てのフラッシュメモリにそれぞれ対応付けて生成されて、管理情報記憶部230に格納される。フラッシュメモリプールに所属しないフラッシュメモリ対応するブロック割り当てテーブルは存在しない。図9に示すブロック割り当てテーブル232は、対応するフラッシュメモリのブロック物理ブロック毎に、当該ブロックが論理ディスクのブロック論理ブロックに割り当てられているか、つまり使用されているか、或いは割り当てられていないか、つまり使用されていないかを示す情報を保持する。本実施形態において、この情報はフラグであり、0で対応するブロックが使用されていないことを、1で対応するブロックが使用されていることを示す。本実施形態では、グループ化部2171がブロック割り当てテーブルを検索した時点では、管理情報記憶部230にブロック割り当てテーブルはひとつも格納されていないものとする。グループ化部2171は、ブロック割り当てテーブル検索の結果に基づき、対応するブロック割り当てテーブルが存在しないフラッシュメモリのメディア番号のうち、最も小さいメディア番号を、図8に示すフラッシュメモリプールテーブル231に開始メディア番号として登録するステップ123。ここでは、フラッシュメモリ2200~2204のメディア番号0~4のうちのメディア番号0が、図8に示すように開始メディア番号として登録される。次にグループ化部2171は、フラッシュメモリサイズと第1のSCSI拡張コマンドに含まれているフラッシュメモリプールサイズとに基づき、フラッシュメモリプールを構成するのに必要なフラッシュメモリの数を求め、この数をフラッシュメモリプールテーブル231にメディア数として登録するステップ124。このメディア数は、フラッシュメモリプールサイズをフラッシュメモリサイズで除することにより求められる。ここでは図8に示すように、メディア数として5が登録されたものとする。この場合、コントローラ210に接続されている全てのフラッシュメモリ2200~2204がフラッシュメモリプールを構成することになる。つまりグループ化部2171は、フラッシュメモリ2200~2204をグループ化し、当該グループ化されたフラッシュメモリ2200~2204によりフラッシュメモリプールを構成する。すると、フラッシュメモリプール生成部2170のブロック分割部2172が起動される。ブロック分割部2172は、フラッシュメモリプールテーブル231に、ブロックサイズとして、デフォルトの値、例えば1MBメガバイトを登録するステップ125。このブロックサイズの登録により、ブロック分割部2172は等価的に、グループ化部2171によってグループ化されたフラッシュメモリの各々の記憶領域を当該ブロックサイズのブロックに分割したことになる。なお、ブロックサイズの登録のために、設定ツール101のオプションとしてユーザが別の値を指定することも可能とする。次にフラッシュメモリプール生成部2170のチャンク生成部2173が起動される。チャンク生成部2173は、グループ化部2171によってステップ124で求められたメディア数より小さな数で且つ当該メディア数と互いに素な数を求め、この数をフラッシュメモリプールテーブル231にチャンク数として登録するステップ126。このような条件を満たす数チャンク数を取得するためには、メディア数が3以上であればよい。つまりフラッシュメモリプールを構成するフラッシュメモリの数が3以上であればよい。チャンク数の登録により、チャンク生成部2173は等価的に、チャンク数に一致するブロックであって且つ異なるフラッシュメモリのブロックを結合することによってチャンクチャンク領域を生成したことになる。チャンク数は、上述の説明から明らかなように、メディア数グループ化されたフラッシュメモリの個数未満の数であり、より詳細には、メディア数より小さな数で且つ当該メディア数と互いに素な数である。チャンク数として複数の候補がある場合、初期化処理部217は、例えば最大の数を選択する。本実施形態のようにメディア数が5の場合、2、3または4が候補となるので、最大値4が選択される。なお、複数の候補のうちの最大の数以外例えば中間の数が選択される構成であっても構わない。また、設定ツール101のオプションとして複数の候補からユーザにチャンク数を選択させることも可能である。次にグループ化部2171の論理ディスクタイプ設定部2174が起動される。論理ディスクタイプ設定部2174は、第1のSCSI拡張コマンドに含まれている論理ディスクタイプを、フラッシュメモリプールテーブル231に登録するステップ127。次に初期化処理部217のブロック割り当てテーブル生成部2175が起動される。ブロック割り当てテーブル生成部2175は、フラッシュメモリプールテーブル231によって示されるフラッシュメモリプールに所属するフラッシュメモリここではフラッシュメモリ2200~2204にそれぞれ対応付けられるブロック割り当てテーブル初期ブロック割り当てテーブルを生成するステップ128。このブロック割り当てテーブルのエントリ数は、対応するフラッシュメモリのブロック数に一致し、各エントリには、対応するブロックが未使用であることを示すフラグ0が登録される。フラッシュメモリプール生成部2170及びブロック割り当てテーブル生成部2175は、それぞれ、生成されたフラッシュメモリプールテーブル231及びブロック割り当てテーブルの群を管理情報記憶部230に格納するステップ129。これにより、論理ディスク生成のための初期化処理120は終了し、フラッシュメモリプールテーブル231によって示されるフラッシュメモリプールが生成されたことになる。なお、コントローラ210に接続されるフラッシュメモリの数が本実施形態と異なって5を超えている場合、例えば8の場合、フラッシュメモリ2200~2204から構成されるフラッシュメモリプール以外に、残りの3つのフラッシュメモリから構成されるフラッシュメモリプールを生成することも可能である。フラッシュメモリテーブルが生成されると、ユーザは当該フラッシュメモリテーブルによって示されるフラッシュメモリプールから領域を切り出して論理ディスクを生成することを、設定ツール101を操作することによってコントローラ210に要求することができる。具体的には、ユーザは設定ツール101を操作することによって、生成されるべき論理ディスクのサイズと、論理ディスクの生成の要求とを入力する。また、フラッシュメモリプールが複数存在する場合、ユーザは、例えば生成されるべき論理ディスクのサイズを入力する前に、論理ディスク生成の対象となるフラッシュメモリプールを選択する。設定ツール101は、上述したユーザの入力操作に従い、論理ディスクの生成を要求するための第2のSCSI拡張コマンド制御系コマンドを生成する。第2のSCSI拡張コマンドは、ユーザが入力した論理ディスクのサイズ、更にはユーザが選択したフラッシュメモリプールを示すパラメータを含む。設定ツール101は、第2のSCSI拡張コマンドを、ホストI/F102を介してストレージ装置200のコントローラ210に転送することで、当該コントローラ210に対して論理ディスクの生成を要求する。コントローラ210に転送された第2のSCSI拡張コマンドは、ホストI/F処理部211を介してコマンド処理部212で受信される。コマンド処理部212は、第2のSCSI拡張コマンドつまり論理ディスクの生成を要求するSCSI拡張コマンドを受信した場合、当該第2のSCSI拡張コマンドをディスク管理部216に渡す。するとディスク管理部216の論理ディスク生成部2160は、図13のフローチャートに従って、第2のSCSI拡張コマンドによって要求された論理ディスクを生成するための論理ディスク生成処理300を実行する。以下、論理ディスク生成処理300の手順について、図13のフローチャートを参照して説明する。まず論理ディスク生成部2160は、第2のSCSI拡張コマンドに基づき、生成すべき論理ディスク及び対象となるフラッシュメモリプール対象フラッシュメモリプールに関する情報を取得するステップ310。ステップ310において論理ディスク生成部2160は、取得した情報に基づいて、変数SIZE、CHUNK、BLK_SIZE及びN_MEDIAの値を設定する。具体的には、論理ディスク生成部2160は、生成すべき論理ディスクに関する情報として、当該論理ディスクのサイズを、第2のSCSI拡張コマンドから取得する。論理ディスク生成部2160は、取得した論理ディスクのサイズを変数SIZEとして設定する。また論理ディスク生成部2160は、対象フラッシュメモリプールに関する情報管理情報を、第2のSCSI拡張コマンドに含まれているフラッシュメモリプールを示すパラメータに基づいて、管理情報記憶部230に格納されている対応するフラッシュメモリプールテーブルを参照することにより取得する。ここでは、フラッシュメモリプールテーブル231が参照されたものとする。この場合、論理ディスク生成部2160は、フラッシュメモリプールテーブル231から、対象フラッシュメモリプールに関する情報として、当該フラッシュメモリプールのチャンク数、ブロックサイズ及びメディア数図8参照を取得する。論理ディスク生成部2160は、取得したチャンク数、ブロックサイズ及びメディア数を、それぞれ変数CHUNK、BLK_SIZE及びN_MEDIAとして設定する。次に論理ディスク生成部2160は、対象フラッシュメモリプールに所属する全てのフラッシュメモリメディアにそれぞれ対応するブロック割り当てテーブルを参照することにより、未使用ブロックのブロック番号のうちの最小のブロック番号最小未使用ブロック番号と、当該最小のブロック番号のブロックを含むフラッシュメモリのメディア番号とを取得するステップ320。具体的には、論理ディスク生成部2160は上記対応するブロック割り当てテーブル毎に、未使用ブロックのブロック番号のうちの最小のブロック番号を取得し、それらの最小のブロック番号の中で最も小さなブロック番号を目的のブロック番号とする。もし、該当する未使用ブロックが複数ある場合、論理ディスク生成部2160は、該当する未使用ブロックを含む同数のフラッシュメモリのうち、最もメディア番号の小さなフラッシュメモリの当該メディア番号を目的のメディア番号とする。ステップ320において論理ディスク生成部2160は、取得したメディア番号及びブロック番号を、それぞれ最初のメディア番号を表す変数NM_FIRST及び最初のブロック番号を表す変数NB_FIRSTとして設定する。論理ディスク生成部2160はまた、変数NM_FIRST及びNB_FIRSTを、それぞれメディア番号を表す変数NM及びブロック番号を表す変数NBとして設定する。次に論理ディスク生成部2160は、フラッシュメモリプールテーブル231に保持されている論理ディスクタイプを判別するステップ330。もし、論理ディスクタイプがタイプ1であるならば、論理ディスク生成部2160は、当該タイプ1の論理ディスクに対応するマッピングテーブルを生成するための論理ディスクタイプ1マッピングテーブル生成処理を行うステップ340。これに対し、論理ディスクタイプがタイプ2であるならば、論理ディスク生成部2160は、当該タイプ2の論理ディスクに対応するマッピングテーブルを生成するための論理ディスクタイプ2マッピングテーブル生成処理を行うステップ340。マッピングテーブルは、対応する論理ディスクの構成を管理定義するためのテーブルである。そのためマッピングテーブルは、対応する論理ディスクのそれぞれの論理アドレスのデータ領域論理ブロックに、いずれのフラッシュメモリメディアのいずれのブロックがマッピングされているかを登録したエントリ群を有する。図10は、図3aに示されるタイプ1の論理ディスク221aに対応するマッピングテーブル233の例を示し、図11は、図4aに示されるタイプ2の論理ディスク222aに対応するマッピングテーブル234の例を示す。マッピングテーブル233及び234の各エントリは、論理アドレス、メディア番号及びブロック番号がそれぞれ登録されるフィールドを有する。次に、論理ディスク生成部2160によって実行される論理ディスクタイプ1マッピングテーブル生成処理ステップ340の詳細な手順について、図14のフローチャートを参照して説明する。まず論理ディスク生成部2160は、論理アドレスを示す変数ADDRを0より詳細には00000000Hに、ブロック数より詳細にはブロック数のカウント値を示す変数COUNTを0に、それぞれ初期設定するステップ3401。末尾のHは、周知のように16進表現であることを示す。このステップ3401において、ADDR=000000000Hは、マッピングテーブルの先頭エントリの論理アドレスフィールドに登録される。次に論理ディスク生成部2160は、所定のループAステップ3402を、終了条件が成立するまで繰り返す。この終了条件は、ADDR≧SIZEを満足することである。論理ディスク生成部2160はループAにおいて、まず、ADDR=0が登録されたマッピングテーブルのエントリADDRエントリのメディア番号フィールド及びブロック番号フィールドに、それぞれNM及びNBを登録するステップ3403。ステップ3403において論理ディスク生成部2160は更に、メディア番号がNMのフラッシュメモリに対応するブロック割り当てテーブル232のブロック番号がNBのエントリに11のフラグを登録する。次に論理ディスク生成部2160は、COUNTがCHUNK未満であるかを判定するステップ3404。もし、COUNTがCHUNK未満であるならばステップ3404のYes、つまりカウントしたブロック数がチャンク数未満であるならば、論理ディスク生成部2160は、1つのチャンクチャンク領域についての処理論理ディスクの対応する領域への割り当てが終了していないものと判断する。この場合、論理ディスク生成部2160は、現在処理中のチャンクにおける次のブロックについての処理対応する論理ブロックへの割り当てのためにCOUNTを1インクリメントするステップ3405。これに対し、COUNTがCHUNK未満でないならばステップ3404のNo、つまりカウントしたブロック数がチャンク数未満でないならば、論理ディスク生成部2160は、1つのチャンクについての処理が終了したものと判断する。この場合、論理ディスク生成部2160は、次のチャンクチャンク領域の先頭のブロックについての処理のために、NMをNM_FIRSTに、NBをNBCHUNKに、そしてCOUNTを0に、それぞれ更新するステップ3406。ここで、NM_FIRSTが0、CHUNKが4、対象フラッシュメモリプールがフラッシュメモリ2200~2204から構成される図2に示すフラッシュメモリプールであるものとする。この場合、上述のように1つのチャンクについての処理が終了する毎に、NMをNM_FIRSTに戻すことによりステップ3406、論理ディスク生成部2160は、フラッシュメモリ2200~2204のうちのCHUNKに一致する数のフラッシュメモリ2200~2203のチャンクを割り当てることになる。論理ディスク生成部2160はステップ3405または3406のいずれかを実行すると、NM1がN_MEDIANM_FIRSTに一致するかを判定するステップ3407。N_MEDIANM_FIRSTは、対応するフラッシュメモリプールを構成するフラッシュメモリ群のメモリ番号のうちの最大メモリ番号1を示す。最大メモリ番号1のフラッシュメモリは、対応するフラッシュメモリプールに存在しない。したがって、NM1がN_MEDIANM_FIRSTに一致する場合、NMの次のメディア番号をNM_FIRST最小メディア番号とする必要がある。一方、NM1がN_MEDIANM_FIRSTに一致しない場合、NMの次のメディア番号はNM1となる。そこで、NM1がN_MEDIAに一致しないならばステップ3407のNo、論理ディスク生成部2160はNMを1インクリメントするステップ3408。このインクリメント後のNMは、次に処理されるべきブロックブロック番号がNBのブロックが存在するフラッシュメモリのメディア番号を示す。これに対し、NM1がN_MEDIAに一致するならばステップ3407のYes、論理ディスク生成部2160はNMをNM_FIRSTに戻すステップ3409。このNM_FIRSTに戻された後のNMは、次に処理されるべきブロックブロック番号がNBのブロックが存在するフラッシュメモリのメディア番号を示す。論理ディスク生成部2160はステップ3408または3409のいずれかを実行すると、ADDRをBLK_SIZEだけインクリメントするステップ3410。このとき、ADDR=00000000H、BLK_SIZE=1MB=00100000Hであるとするならば、ADDRは00000000Hから00100000Hに更新される。このステップ3410において、ADDR=00100000Hは、マッピングテーブルの次のエントリここでは2番目のエントリの論理アドレスフィールドに登録される。これにより、1回のループAが完了し、1つのチャンクチャンク領域を構成する、チャンク数=CHUNKに一致する数のブロックのうち、COUNT番目のブロックの対応する論理ブロックへの割り当てが完了する。このとき、COUNT<CHUNKでなければステップ3404のNo、1つのチャンクを構成する全ブロックの割り当てが完了したことになり、次のチャンクの処理のために、上述のようにステップ3406が行われる。ADDR=00100000Hは、SIZEつまり、生成されるべき論理ディスクのサイズ未満であり、ループAステップ3402の終了条件を満たさない。この場合、当該ループAが再び実行される。明らかなように、ループAがCHUNKチャンク数で示される回数繰り返されることにより、1つのチャンクチャンク領域を構成する、チャンク数に一致する数のブロックの対応する論理ブロックへの割り当てが完了する。やがて、ADDRがBLK_SIZE以上となったならば、論理ディスク生成部2160はループAから抜けて、論理ディスクタイプ1マッピングテーブル生成処理を終了する。これにより、例えば図10に示すタイプ1の論理ディスクのマッピングテーブル233が生成される。本実施形態において、マッピングテーブルの生成は、論理ディスク生成部2160の作業領域図示せず用いて行われる。この作業領域上で生成されたマッピングテーブル、つまりタイプ1の論理ディスクに対応するマッピングテーブルは、マッピングテーブル生成処理の終了時に、管理情報記憶部230に格納される。マッピングテーブルの生成が、管理情報記憶部230内で行われても構わない。次に、論理ディスク生成部2160によって実行される論理ディスクタイプ2マッピングテーブル生成処理ステップ350の詳細な手順について、図15のフローチャートを参照して説明する。まず論理ディスク生成部2160は、論理ディスクタイプ1マッピングテーブル生成処理におけるステップ3401と同様のステップ3501を実行する。次に論理ディスク生成部2160は、所定のループBステップ3502を、終了条件が成立するまで繰り返す。この終了条件は、ADDR≧SIZEを満足することである。論理ディスク生成部2160はループBにおいて、まず上記ステップ3403と同様のステップ3503を実行し、しかる後に上記ステップ3404と同様に、COUNTがCHUNK未満であるかを判定するステップ3504。もし、COUNTがCHUNK未満であるならばステップ3504のYes、論理ディスク生成部2160は、現在処理中のチャンクにおける次のブロックについての処理対応する論理ブロックへの割り当てのためにCOUNTを1インクリメントするステップ3505。これに対し、COUNTがCHUNK未満でないならばステップ3504のNo、論理ディスク生成部2160は、次のチャンクチャンク領域の先頭のブロックについての処理のために、NBをNBCHUNKに、そしてCOUNTを0に、それぞれ更新するステップ3506。このステップ3506では、前述したタイプ1の論理ディスクを作成する場合のステップ3406と異なり、NMがNM_FIRSTに戻されることはない。ここで、NM_FIRSTが0、CHUNKが4、対象フラッシュメモリプールがフラッシュメモリ2200~2204から構成される図2に示すフラッシュメモリプールであるものとする。この場合、上述のように1つのチャンクについての処理が終了しても、NMをNM_FIRSTに戻さないことによりステップ3506、論理ディスク生成部2160は、フラッシュメモリ2200~2204に均等にまたがるように、CHUNKに一致する数の異なる組み合わせのフラッシュメモリつまりフラッシュメモリ2200,2201,2202,2203、フラッシュメモリ2204,2200,2201,2202、フラッシュメモリ2203,2204,2200,2201、フラッシュメモリ2202,2203,2204,2200、フラッシュメモリ2201,2202,2203,2204のチャンクを割り当てることになる。論理ディスク生成部2160はステップ3505または3506のいずれかを実行すると、上記ステップ3407と同様に、NM1がN_MEDIANM_FIRSTに一致するかを判定するステップ3507。もし、NM1がN_MEDIANM_FIRSTに一致しないならばステップ3507のNo、論理ディスク生成部2160はNMを1インクリメントするステップ3508。これに対し、NM1がN_MEDIANM_FIRSTに一致するならばステップ3507のYes、論理ディスク生成部2160はNMをNM_FIRSTに戻すステップ3509。論理ディスク生成部2160はステップ3508または3509のいずれかを実行すると、ステップ3410と同様に、ADDRをBLK_SIZEだけインクリメントするステップ3510。このステップ3510において論理ディスク生成部2160は、インクリメント後のADDRをマッピングテーブルの次のエントリの論理アドレスフィールドに登録する。これにより、1回のループBが完了する。論理ディスク生成部2160は、終了条件ADDR≧BLK_SIZEが成立するまでループBを繰り返す。やがて、終了条件が成立したならば、論理ディスク生成部2160はループBから抜けて、論理ディスクタイプ2マッピングテーブル生成処理を終了する。これにより、例えば図11に示すタイプ2の論理ディスクのマッピングテーブル234が生成される。生成されたタイプ2の論理ディスクに対応するマッピングテーブルは、タイプ1の論理ディスクに対応するマッピングテーブルと同様に、管理情報記憶部230に格納される。マッピングテーブルが生成されたことは、当該マッピングテーブルによって管理定義される論理ディスクが生成されたことと等価である。コントローラ210が論理ディスクを生成した後、ユーザがホスト計算機100を再起動する。するとホスト計算機100のオペレーティングシステムは、ストレージ装置200に構築されている論理ディスクに関する情報等、ストレージ装置200に関する情報を検出取得するために、例えば、SCSI規格に準拠した問い合わせINQUIRYコマンドをホストI/F102を介してコントローラ210に発行する。コントローラ210は、ホスト計算機100からのINQUIRYコマンドに応答することで、論理ディスクがストレージ装置200内に生成されたことを当該ホスト計算機100通知する。ホスト計算機100のオペレーティングシステムは、この通知に基づき、生成された論理ディスクを読み出し/書き込みが可能なディスクとして検出する。これによりホスト計算機100上のプログラムは、検出された論理ディスクに対して読み出し/書き込みできるようになる。次に、ストレージ装置200のコントローラ210におけるアドレス処理部214の動作について説明する。前述したようにコントローラ210のコマンド処理部212がホスト計算機100によって発行されるI/O系のSCSIコマンドを受信した場合、I/O処理部213は、アドレス処理部214を用いて論理ディスクに対する読み出し/書き込み処理を行う。ホスト計算機100によって発行されるI/O系のSCSIコマンド、例えばホスト計算機100のオペレーティングシステムによって発行される読み出し/書き込み要求は、読み出し/書き込みデータの位置を示すセクタアドレスを含む。本実施形態において、セクタアドレスで指定されるセクタは、512バイトで構成されるものとする。この場合、アドレス処理部214は、セクタアドレスに512を乗ずることにより、セクタアドレスをバイトアドレスに変換する。アドレス処理部214は、変換されたバイトアドレスからブロックサイズ-1に対応するビット部分を切り捨てる補数の論理積ことで、読み出し/書き込みされるべき論理ディスク目的論理ディスク内のブロックの論理アドレスを取得する。アドレス処理部214は、取得した論理アドレスが登録された、目的論理ディスクに対応するマッピングテーブルのエントリを検索する。アドレス処理部214は、検索されたマッピングテーブルのエントリに登録されているメディア番号及びブロック番号に基づき、読み出し/書き込みされるべき論理ディスク内のブロックを特定する。アドレス処理部214は更に、切り捨て前のバイトアドレスにブロックサイズ-1でマスク論理積することにより、読み出し/書き込みが開始されるべきブロック内の位置オフセットを取得する。アドレス処理部214は、読み出し/書き込みが開始されるべきブロック内の位置を特定したならば、フラッシュメモリI/F処理部215に対して、該当するフラッシュメモリを対象にデータを読み出し/書き込みするための読み出し/書き込み要求を発行することにより、データの読み出し/書き込みを行う。アドレス処理部214によるデータの読み出し/書き込みが完了すると、ホストI/F処理部211は、その旨を、ホスト計算機100に対して例えば割り込みにより通知する。ホスト計算機100のオペレーティングシステムはコントローラ210からの割り込みを検出すると、その旨を対応するプログラムに返して終了する。以上に述べた論理ディスクの構成図3及び図4参照はRAID0RAIDレベル0のRAIDに相当する。このような構成の論理ディスクでは、フラッシュメモリへの並列な読み書きが行われるので、RAID0と同様の高速化が見込める。次に、本実施形態で適用されるRAID1相当の冗長化について説明する。RAID1と同様のミラーは、フラッシュメモリプールの複製を生成することで構成できる。例えば論理ディスク生成部2160は、全く同一サイズの2つのフラッシュメモリプールの一方をマスター、他方をスレーブとして、マスターのフラッシュメモリプールを用いて前述したような論理ディスクを生成する。アドレス処理部214は、論理ディスクへの書き込み時に、マスター側のフラッシュメモリにデータを書き込んだ後、スレーブ側のフラッシュメモリプールの同一位置にもデータを書き込む。またアドレス処理部214は、データの読み込みはマスター側のみから行う。マスター側に対する読み出し/書き込みでエラーが発生した場合、アドレス処理部214は、エラーが発生したフラッシュメモリのブロック割り当てテーブルの該当ブロックにエラーを示すフラグ例えば値が2のフラグを書き込む。この場合、アドレス処理部214は、スレーブ側のフラッシュメモリを対象に読み出し/書き込みを行う。次に、本実施形態で適用されるRAID5相当の冗長化について説明する。論理ディスク生成部2160は、チャンクの中の1つのブロックをパリティ専用のブロック、つまり当該チャンクの他のブロックに格納されるデータの冗長データとしてのパリティデータを保持するパリティブロック冗長ブロックに割り当てる。これにより、RAID5と同等の冗長化を実現することができる。例えば、チャンクを構成する複数のブロックのうち最後の1個のブロックをパリティブロックとすることで、RAID5と同様の冗長化を実現できる。但し、パリティブロックを導入する場合、マッピングテーブルの生成アルゴリズム及び読み出し/書き込み処理は次のように変更される必要がある。チャンクの最後のブロックの場合、論理ディスク生成部2160は、当該ブロックをマッピングテーブルに登録せず、論理アドレスの加算ステップ3410または3510も抑止する。一方、アドレス処理部214は、書き込み処理においてチャンクの最後のブロックにパリティを書き込み、読み出し処理においてパリティチェックする。読み出し/書き込みでエラーが発生した場合、アドレス処理部214は、エラーが発生したフラッシュメモリのブロック割り当てテーブルの該当ブロックにエラーを示すフラグ例えば値が2のフラグを書き込む。また、エラーが発生したブロックからデータを読むことができない場合、アドレス処理部214はパリティを利用してデータを復元する。また、論理ディスクを構成するフラッシュメモリに不良が発生した場合、論理ディスク生成部2160は当該不良が発生したフラッシュメモリのブロック割り当てテーブルを参照して、ホスト計算機100の設定ツール101を通して、フラッシュメモリが故障したことをユーザに通知する。以上、フラッシュメモリプールの生成、論理ディスクの生成及び論理ディスクに対する読み出し/書き込みについて説明した。本実施形態によれば、論理ディスクを構成するフラッシュメモリ群に書き込みを分散させることが、ブロックの入れ替えを行うことなくできる。つまりフラッシュメモリ群への書き込みの回数が均一になるのを、ブロックの入れ替えを行うことなく抑制できる。このため、フラッシュメモリ群への書き込みの回数の上限値を同時に越えることが、簡単に回避できる。つまり、フラッシュメモリが同時に故障することによる障害を、処理性能を低下させることなく減らすことができる。特に本実施形態においては、チャンクを構成するブロック数を、フラッシュメモリプールを構成するフラッシュメモリの数と互いに素にすることにより、フラッシュメモリ群への書き込みの回数が均一になることを、より効果的に抑制できる。また、本実施形態によれば、上述のフラッシュメモリプールを利用してタイプ1の論理ディスクを生成することにより、論理ディスク毎に書き込み回数頻度が異なる場合に、各フラッシュメモリの書き込み回数が均一化するのを効果的に抑制できる。また、本実施形態によれば、上述のフラッシュメモリプールを利用してタイプ2の論理ディスクを生成することにより、各論理ディスクの書き込み回数頻度は同程度だが、同一論理ディスクの記憶領域内で書き込み回数の偏りがある場合に、各フラッシュメモリの書き込み回数が均一化するのを効果的に抑制できる。以上説明した少なくとも1つの実施形態によれば、処理性能を低下させることなく、複数の不揮発性メモリの同時不良の発生を抑制することができる、複数の不揮発性メモリを備えたストレージ装置、ストレージコントローラ及び論理ディスク生成方法を提供することができる。本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。"