複数のブロックをそれぞれが有する複数の半導体メモリと、前記複数の半導体メモリの各々が有する前記複数のブロックの各々と1対1に対応付けられた複数の記憶領域がマトリクス状に配列され、列ごとに、何れか1つの前記半導体メモリが有する前記複数のブロックの各々に対応する前記記憶領域が並べられ、各記憶領域には、当該記憶領域に対応する前記ブロックの欠陥の有無を示す欠陥情報が記憶される第1テーブルと、データの書き込みを要求する書き込みコマンドを受信する受信部と、前記第1テーブルの複数の行と1対1に対応する複数のインデックス番号のうちの何れかを選択し、その選択した前記インデックス番号と、前記第1テーブルとに基づいて、前記半導体メモリごとに、データの書き込みが行われる前記ブロックを1つずつ選択して前記ブロックの組を作成する作成部と、複数の前記データの各々に対して個別に割り当てられた論理アドレスごとに、前記インデックス番号、および、前記複数の半導体メモリと1対1に対応する複数のチャネル番号のうちの何れか1つの前記チャネル番号を対応付けて記憶する第2テーブルと、前記受信部で前記書き込みコマンドを受信した場合、前記複数のチャネル番号のうちの何れかを選択し、前記組を構成する複数の前記ブロックのうち、その選択した前記チャネル番号に対応する前記ブロックに対して、書き込みが要求された前記データを書き込むとともに、当該データに割り当てられた前記論理アドレスと、前記組に対応する前記インデックス番号と、選択した前記チャネル番号とを対応付けて前記第2テーブルに書き込む書き込み部と、を備え、前記作成部は、前記複数の半導体メモリの各々が有する前記複数のブロックの各々に欠陥が無い場合は、前記半導体メモリごとに、前記インデックス番号が示す行に属する前記記憶領域に対応するブロックを1つずつ選択する、ことを特徴とするメモリシステム。前記受信部が、読み出しを要求する読み出しコマンドを受信した場合、読み出しが要求された前記データに割り当てられた前記論理アドレスに対応する前記インデックス番号および前記チャネル番号を前記第2テーブルから読み出し、その読み出した前記インデックス番号および前記チャネル番号と、前記第1テーブルとに基づいて、読み出しが要求された前記データが格納された前記ブロックを特定する特定部と、前記特定部で特定された前記ブロックに格納された前記データを読み出す読み出し部と、を備える、ことを特徴とする請求項1に記載のメモリシステム。前記作成部は、選択した前記インデックス番号と、前記第1テーブルの前記欠陥情報とに基づいて、前記組を作成する、ことを特徴とする請求項1に記載のメモリシステム。前記作成部は、前記第1テーブルの列ごとに、当該列内の欠陥が無い前記ブロックのうち、上から数えて、選択した前記インデックス番号に対応する行の数だけ下に位置する前記ブロックを選択して前記組を作成する、ことを特徴とする請求項3に記載のメモリシステム。前記特定部は、前記第2テーブルから読み出した前記インデックス番号および前記チャネル番号と、前記第1テーブルのうち、当該チャネル番号に対応する列における前記欠陥情報とに基づいて、読み出しが要求された前記データが格納された前記ブロックを特定する、ことを特徴とする請求項2に記載のメモリシステム。前記特定部は、前記第1テーブルのうち、前記チャネル番号に対応する列内の欠陥が無い前記ブロックのうち、上から数えて、前記インデックス番号に対応する行の数だけ下に位置する前記ブロックを、読み出しが要求された前記データが格納された前記ブロックとして特定する、ことを特徴とする請求項5に記載のメモリシステム。前記欠陥情報は1ビットの情報である、ことを特徴とする請求項1に記載のメモリシステム。データの書き込みを要求する書き込みコマンドを受信する第1ステップと、複数の半導体メモリの各々が有する複数のブロックの各々と1対1に対応付けられた複数の記憶領域がマトリクス状に配列され、列ごとに、何れか1つの前記半導体メモリが有する前記複数のブロックの各々に対応する前記記憶領域が並べられ、各記憶領域には、当該記憶領域に対応する前記ブロックの欠陥の有無を示す欠陥情報が記憶される第1テーブルの複数の行と1対1に対応する複数のインデックス番号のうちの何れかを選択する第2ステップと、前記第2ステップで選択した前記インデックス番号と、前記第1テーブルとに基づいて、前記半導体メモリごとに、データの書き込みが行われる前記ブロックを1つずつ選択して前記ブロックの組を作成する第3ステップと、前記書き込みコマンドを受信した場合、前記複数の半導体メモリと1対1に対応する複数のチャネル番号のうちの何れかを選択する第4ステップと、前記組を構成する複数の前記ブロックのうち、前記第4ステップで選択した前記チャネル番号に対応する前記ブロックに対して、書き込みが要求された前記データを書き込むとともに、当該データに割り当てられた論理アドレスと、前記組に対応する前記インデックス番号と、前記チャネル番号とを対応付けて第2テーブルに書き込む第5ステップと、をコンピュータに実行させるためのプログラム。複数のブロックで誤り訂正の組を構成する場合、訂正を行うためにはどのブロックを組にしているかを参照するためのテーブル論物変換テーブルが必須となるが、コスト低減の観点から、論物変換テーブルのサイズを小さくすることが求められている。本発明が解決しようとする課題は、ブロックを組にした誤り訂正において、組にしたブロックの情報を記録する論物変換テーブルのサイズを低減可能なメモリシステムを提供することである。実施形態のメモリシステムは、複数のブロックをそれぞれが有する複数の半導体メモリと、第1テーブルと、受信部と、作成部と、第2テーブルと、書き込み部とを備える。第1テーブルは、各ブロックにそれぞれ対応するとともに欠陥情報が記憶される複数の記憶領域を有する。作成部は、第1テーブルの複数の行のうちの何れかを示すインデックス番号と、第1テーブルとに基づいて、半導体メモリごとに、データの書き込みが行われるブロックを1つずつ選択してブロックの組を作成する。第2テーブルは、論理アドレスごとに、インデックス番号と、チャネル番号とを対応付けて記憶する。書き込み部は、受信部で書き込みコマンドを受信した場合、組を構成する複数のブロックのうち、選択したチャネル番号に対応するブロックに対して、データを書き込む。図1は、本実施形態のメモリシステム100の概略構成の一例を示すブロック図である。図1に示すように、メモリシステム100は、制御部10と、I/F部20と、複数12個の半導体メモリ30A~30Lと、記憶部40と、を備える。制御部10は、メモリシステム100の各部を制御する手段であり、例えばCPUCentralProcessingUnitなどで構成される。I/F部20は、制御部10の制御の下、メモリシステム100の上位装置であるホスト装置50との通信を制御する。I/F部20は、例えばSAS/SATAインタフェースなどで構成される。ホスト装置50は、メモリシステム100に対して、データの書き込みを要求する書き込みコマンド、および、データの読み出しを要求する読み出しコマンドなどの信号を送信する。半導体メモリ30A~30Lは、半導体チップからなる記憶素子であり、例えばNAND型のフラッシュメモリで構成される。以下では、半導体メモリ30A~30Lの各々を区別する必要がない場合は、単に半導体メモリ30と表記する。半導体メモリ30は、ページと呼ばれる単位で読み書きが可能であり、複数ページがまとまってブロックと呼ばれる単位の記憶領域を構成する。ここでは、1ページのサイズが4KBであり、64ページで1ブロックが構成される。1つの半導体メモリ30は、複数のブロックで構成される。図1に示すように、半導体メモリ30A~30Lの各々に対してチャネルが1つずつ割り当てられる。複数のチャネルCH0~CH11のうちの1つのチャネルは、冗長情報を書き込むためのチャネルとして設定され、残りのチャネルは、ホスト装置50から書き込みが要求されたデータを書き込むためのチャネルとして設定される。そして、チャネルCH0~CH11の各ページを1つの組として誤り訂正符号が構成される。なお、後述するように、制御部10は、ホスト装置50から書き込みが要求されたデータがページのサイズより大きい場合にはこれを複数に分割し、分割したページ単位のデータ分割データを各チャネルCH0~CH10に割り当てて、書き込みを行う。ここで、半導体メモリ30への書き込み方式について説明する。NAND型のフラッシュメモリでは、追記方式が採用される。この追記方式では、ブロック単位でデータの消去を行い、消去済みのブロックに対してページ単位で書き込みを行う。すなわち、NAND型の半導体メモリにおいては、消去済みのブロックのうち書き込みがまだ行われていないページに対して書き込みが可能であり、既に書き込みが行なわれたページに対する上書きは不可能である。また、ホスト装置50からの要求により書き込みが行われるデータには、論理アドレスLogicalBlockAddressLBAが割り当てられ、ホスト装置50から送信される書き込みコマンドには、書き込みが要求されるデータと、当該データに割り当てられた論理アドレスとが含まれる。本実施形態では、半導体メモリ30において、書き込みが要求されたデータが書き込まれるブロックは、後述の論物変換テーブルに基づいて、当該データに割り当てられた論理アドレスとは無関係に決定され、ページの昇順で書き込みが行われる。そして、新たなデータの書き込みがホストから要求されると、制御部10は、消去済みのブロックのうち書き込みがまだ行なわれていないページに対して新たなデータの書き込みを行う。このとき、前回書き込みが行われたページを無効にして、新たなデータの書き込みが行われたページを有効にする。またこのとき、制御部10は、上述した誤り訂正符号を構成しながら新たなデータや冗長情報の書き込みを行なう。上述の追記方式において、書き込みを続けることにより、無効にされたページが増えてくると、半導体メモリ30において書き込みを実現可能な容量実現容量というが少なくなってくる。そして、書き込みが可能な新規の消去済みのブロック、即ち、消去後に書き込みがまだ行なわれていないブロックフリーブロックというが少なくなり、誤り訂正符号を構成するブロックの組論理ブロックの確保が不可能になった時点で書き込み不能となってしまう。これを防ぐために、制御部10は、適当なタイミングでガベージコレクションを行なう。NAND型の半導体メモリにおいて行なうガベージコレクションは、特にコンパクションという。図2は、コンパクションを説明するための概念図である。制御部10は、無効にされたページを含むブロックのうち、無効にされていないページに書き込まれたデータ有効データというを集めて新たにフリーブロックに書き直すことにより、有効データを移動させる。その後、制御部10は、当該ブロックに対して消去を行うことにより、新たなフリーブロックを生成する。制御部10は、このようなコンパクションを行なうことにより、書き込みが不能になったブロックが新たに書き込み可能になって、フリーブロックを確保することが可能になる。また、移動により有効データが書き込まれたブロックにおいても、書き込みがまだ行なわれていないページがあればそのページに新たに書き込みが可能である。なお、コンパクションを行うためには少なくとも一つのフリーブロックが必要になるが、これは、半導体メモリ30において実装された容量実装容量というより、書き込みを実際に実現可能な容量実現容量が少ないことを意味している。ここでは、実装容量と実現容量との差を余裕容量と呼んでいる。余裕容量が小さい時は、制御部10は、コンパクションを頻繁に行わなければならず、その性能に与えるインパクトが大きい。再び図1に戻って説明を続ける。記憶部40は、各種データや各種プログラムを記憶する。本実施形態では、記憶部40は、論物変換テーブルを記憶する。図3は、論物変換テーブル60の一例を示す図である。図3に示すように、論物変換テーブル60は、第1テーブル62と、第2テーブル64とを有する。第1テーブル62は、半導体メモリ30A~30LCH0~CH11の各々が有する複数のブロックの各々と1対1に対応付けられた記憶領域Mがマトリクス状に配列され、列ごとに、何れか1つの半導体メモリ30が有する複数のブロックの各々に対応する記憶領域Mが順番に並べられる。図3の例では、第1テーブル62の第1列目は半導体メモリ30AチャネルCH0に対応し、第2列目は半導体メモリ30BチャネルCH1に対応し、第3列目は半導体メモリ30CチャネルCH2に対応し、第4列目は半導体メモリ30DチャネルCH3に対応し、第5列目は半導体メモリ30EチャネルCH4に対応し、第6列目は半導体メモリ30FチャネルCH5に対応する。また、第7列目は半導体メモリ30GチャネルCH6に対応し、第8列目は半導体メモリ30HチャネルCH7に対応し、第9列目は半導体メモリ30IチャネルCH8に対応し、第10列目は半導体メモリ30JチャネルCH9に対応し、第11列目は半導体メモリ30KチャネルCH10に対応し、第12列目は半導体メモリ30LチャネルCH11に対応する。ここでは、一例として半導体メモリ30の合計容量は192GBであり、192GBを12チャネルで実現するので、1ブロックを1MBとすると、総ブロック数は、192000個となる。そうすると、1チャネル当たりのブロック数は、192000÷12=16000個となる。つまり、複数の記憶領域Mは、16000行×12列のマトリクス状に配列される。説明の便宜上、以下では、第1テーブル62において、第i行1≦i≦16000の第j列目1≦j≦12に位置する記憶領域MをMijと表記する。なお、各記憶領域を区別する必要が無い場合は、単に記憶領域Mと表記する。本実施形態では、第1テーブル62の第j列目は、チャネルCHj-1に対応する。例えば第1テーブルの第1列目はチャネルCH0に対応し、第2列目はチャネルCH1に対応する。ここで、第1テーブル62の第1列目に着目すると、第i行目の記憶領域Mi1は、16000個のブロックが列方向に沿って順番に配列されるチャネルCH0の第i行目第i番目のブロックに対応する。例えば記憶領域M11は、チャネルCH0の第1行目のブロックに対応し、記憶領域M21は、チャネルCH1の第2行目のブロックに対応する。他の列についても同様である。また、本実施形態では、各記憶領域Mには、当該記憶領域Mに対応するブロックの欠陥の有無を示す欠陥情報が格納される。本実施形態では、欠陥情報は、1ビットの情報で表される。そして、ブロックに欠陥がある場合は、当該ブロックに対応する記憶領域Mに格納される欠陥情報は1に設定される一方、ブロックに欠陥が無い場合は、当該ブロックに対応する記憶領域Mに格納される欠陥情報は0に設定される。なお、これに限らず、ブロックに欠陥がある場合は、当該ブロックに対応する記憶領域Mに格納される欠陥情報は0に設定される一方、ブロックに欠陥が無い場合は、当該ブロックに対応する記憶領域Mに格納される欠陥情報は1に設定されてもよい。さらに、第1テーブル62の各行には、インデックス番号が個別に割り当てられる。本実施形態では、第1テーブル62の第i行には、インデックス番号iが割り当てられる。例えば第1テーブル62の第1行には、インデックス番号1が割り当てられ、第2行には、インデックス番号2が割り当てられるといった具合である。なお、インデックス番号の割り当て方法は任意であり、例えば第1テーブル62の第1行に、インデックス番号3が割り当てられてもよい。要するに、第1テーブル62の各行に対して、当該行を識別するためのインデックス番号が個別に割り当てられるものであればよい。一方、図3に示すように、第2テーブル64は、論理アドレスごとに、上述のインデックス番号と、チャネルの番号を示すチャネル番号と、ページの番号を示すページ番号とを対応付けて記憶する。ここでは、第2テーブル64の各エントリデータを格納する領域は、論理アドレスをインデックスとして、上述のインデックス番号と、チャネル番号と、ページ番号とを格納する。本実施形態では、192GBの容量を4KB1ページ当たりのサイズで管理するので、第2テーブル64のエントリ数は48Mとなり、26ビットで表現される。また、1ページは、512バイトごとのセクタで区分され、各セクタは、3ビットで表現される。本実施形態では、図4に示すように、論理アドレスは29ビットで構成され、上位26ビットは、第2テーブル64の各エントリのインデックスとなり、下位3ビットはページ内のセクタの位置を示す。再び図1に戻って説明を続ける。制御部10は、記憶部40に記憶された制御プログラムを実行することにより、作成部12、書き込み部14、特定部16、読み出し部18の各機能を実現する。ここで、データの書き込みには、当該データを書き込むブロックの選択と、ブロック内のページの選択が必要になる。ここでは、データを書き込むブロックの選択について説明する。作成部12は、書き込みが開始される前に、各チャネルCH0~CH11から1つずつフリーブロックを選択してブロックの組論理ブロックを作成する。本実施形態では、作成部12は、フリーブロックのみで作られた論理ブロック、すなわちフリー論理ブロックに対応するインデックス番号を選択し、その選択したインデックス番号と、第1テーブル62とに基づいて、チャネルCHごとに半導体メモリ30ごとに、データの書き込みが行われるブロックを1つずつ選択してブロックの組論理ブロックを作成する。ここでは、インデックス番号は、論理ブロックを識別するための番号論理ブロック番号とみなすこともできる。なお、インデックス番号論理ブロック番号の選択においては、各ブロックの書き換え回数を均等化するために、選択回数の少ないフリー論理ブロックが優先的に選択される。いま、半導体メモリ30に対するデータの書き込みが全く行われていない初期状態を想定する。この場合、作成部12は、1~16000のインデックス番号の中から任意の1つのインデックス番号を選択することができる。図3の例において、作成部12がインデックス番号5を選択した場合を想定する。仮に、各ブロックに欠陥が存在せずに、各記憶領域Mに格納される欠陥情報が全て0であれば、作成部12は、チャネルごとに、インデックス番号5に対応する第1テーブル62の行に属する記憶領域Mに対応するブロックを1つずつ選択して論理ブロックを作成する。ここでは、インデックス番号5に対応する第1テーブル62の行は第5行目なので、作成部12は、各チャネルCH0~CH11の第5行目に属するブロック第5番目のブロックを選択して論理ブロックを作成する。しかしながら、実際には図3に示すように、欠陥情報が1である記憶領域Mも存在するので欠陥があるブロックも存在するので、作成部12は、選択したインデックス番号と、第1テーブル62の欠陥情報とに基づいて、論理ブロックを作成する。より具体的には、特定部16は、第1テーブル62の列ごとに、当該列内の欠陥が無いブロックのうち、上から数えて、選択したインデックス番号5に対応する行の数だけ下に位置するブロックを選択して論理ブロックを作成する。ここでは、作成部12は、第1テーブル62の列ごとに、当該列内の0の欠陥情報が格納された記憶領域Mのうち、上から順番に数えて、5番目に位置する記憶領域Mに対応するブロックを選択する。例えば第1テーブル62の第1列目に着目すると、作成部12は、当該第1列目内の欠陥情報が0の記憶領域Mのうち、第1行に属する記憶領域M11から数えて5だけ下に位置する記憶領域M51に対応するブロックCH0の第5番目のブロックを選択する。また、例えば第1テーブル62の第2列目に着目すると、第1行および第2行の各々の記憶領域MM12、M22に格納される欠陥情報は1なので、作成部12は、第3行に属する記憶領域M31から数えて5だけ下に位置する記憶領域M72に対応するブロックCH1の第7番目のブロックを選択する。他の列についても同様である。つまり、図3の例では、選択したインデックス番号が5の場合、作成部12は、CH0、CH2~CH4およびCH6~CH11の各々の第5番目のブロックと、CH1の第7番目のブロックと、CH5の第10番目のブロックとを選択して論理ブロックを作成する。図1に戻って説明を続ける。書き込み部14は、ホスト装置50からの書き込みコマンドをI/F部20で受信した場合、作成部12で予め作成された論理ブロックを構成する複数12個のブロックのうち、書き込みが要求されたデータ書き込み対象データと呼ぶを書き込むブロックを決定し、その決定したブロックに当該データを書き込む。本実施形態では、書き込み部14は、冗長情報を書き込むチャネルここではCH11以外のチャネルで、4KB1ページ分のサイズごとにラウンドロビンにより書き込みを行うようにし、ラウンドロビンの順番に応じて、書き込み対象のチャネルを決定する。この書き込みにおいて、書き込み部14は、決定したブロックの中の未だ書き込みが行われていないページに追記ポインタを設定し、その追記ポインタで示される位置のページに書き込み対象データを書き込む。そして、追記ポイントが、書き込みを行なったページに続く次のページであって書き込みがまだ行われていないページの位置を示すように更新する。したがって、追記ポインタの値は、次の書き込み位置を示すように、順次に変化する。ここで、書き込み対象データ及び冗長情報のデータ構成について説明する。書き込み部14は、書き込み対象データ自体の誤りを検出して訂正するための誤り訂正符号ページECCという、および、当該書き込み対象データに割り当てられた論理アドレスを当該書き込み対象データに付加する。尚、ページECCには、データの誤りを検出するCRC符号等の符号と、データの誤りを訂正するECC符号等の符号とが含まれるものとする。ページECCにCRC符号も含む理由は、ECC符号によりデータの誤りを訂正できない場合は誤訂正の可能性もあるからである。図5は、冗長情報が付加された書き込み対象データを例示する図である。書き込み部14は、このようなページECC及び論理アドレスを付加した書き込み対象データを、上述のように決定されたブロック内の追記ポインタにより示されるページに書き込む。尚、書き込み対象データはページ単位の大きさであるが、ブロック内のページサイズは、書き込み対象データにページECC及び論理アドレスが付加された全体の大きさに相当するものとする。また、書き込み部14は、書き込み対象データがページのサイズより大きい場合には、これを複数の分割データに分割し、当該書き込み対象データに割り当てられた論理アドレスに基づいて、各分割アドレスの論理アドレスをそれぞれ算出する。一方、書き込み部14は、誤り訂正符号を構成するために計算された冗長情報自体の誤りを検出して訂正するためのページECCを当該冗長情報に付加する。そして、ページECCを付加した当該冗長情報を、追記ポインタにより示されるチャネルCH11内のページに書き込む。次に、複数の書き込み対象データが、ラウンドロビンによりチャネルCH0~CH11に書き込まれる様子について説明する。図6は、ラウンドロビンにより行う書き込みを説明するための図である。尚、図の簡略化のため、データに対して付加された論理アドレスの図示を省略している。同図に示されるように、時刻T1でチャネルCH0に対して最初のデータD1の書き込みが行われ、時刻T2でチャネルCH1に対して次のデータD2の書き込みが行われるというように、チャネルCH0~CH10まではラウンドロビンにより順番にデータの書き込みが行われる。なお、時刻T11で、チャネルCH10へのデータD11の書き込みが行われる際には、時刻T1でチャネルCH0に書き込まれたデータD1、時刻T2でチャネルCH1に書き込まれたデータD2、時刻T3でチャネルCH2に書き込まれたデータD3、時刻T4でチャネルCH3に書き込まれたデータD4、時刻T5でチャネルCH4に書き込まれたデータD5、時刻T6でチャネルCH5に書き込まれたデータD6、時刻T7でチャネルCH6に書き込まれたデータD7、時刻T8でチャネルCH7に書き込まれたデータD8、時刻T9でチャネルCH8に書き込まれたデータD9、時刻T10でチャネルCH9に書き込まれたデータD10、時刻T11でチャネルCH10に書き込まれたデータD11のパリティPが冗長情報として計算され、当該冗長情報Pの書き込みがチャネルCH11に対して行われる。更なるデータの書き込みの際には、チャネルCH0から順にラウンドロビンで書き込みが行われる。このように、ラウンドロビンによりデータの書き込みが行われることにより、書き込みがチャネル間で均等になる。なお、同図の例では、時刻の経過と共に各チャネルに順に書き込みを行う様子が図示されているが、これに限らず、2つ以上のチャネルに同時に書き込みを行うようにしてもよい。次に、誤り訂正符号の構成について図7を用いて説明する。尚、説明の便宜上、同図においては、チャネルCH0~CH11に各々書き込まれる分割データに付加される論理アドレスの図示を省略している。同図に示されるように、チャネルCH0~CH11の各書き込み対象データに対して、書き込み部14は、オフセットが等しい位置のバイト同士で排他的論理和を計算し、この値を冗長情報として、チャネルCH11の半導体メモリ30Lにおいて上述のオフセットが等しい位置に書き込む。すなわち、チャネルCH0~CH11においてオフセットが等しい位置のバイト同士によって誤り訂正符号が構成される。再び図1に戻って説明を続ける。特定部16は、ホスト装置50からの読み出しコマンドをI/F部20で受信した場合、読み出しが要求されたデータ読み出し対象データと呼ぶが格納されたブロックを特定する。ホスト装置50から送信される読み出しコマンドには、読み出し対象データに割り当てられた論理アドレスが含まれる。特定部16は、当該論理アドレスに対応するインデックス番号およびチャネル番号を第2テーブル64から読み出し、その読み出したインデックス番号およびチャネル番号と、第1テーブル62とに基づいて、読み出し対象データが格納されたブロックを特定する。詳細な内容については後述する。読み出し部18は、特定部16で特定されたブロックに格納されたデータを読み出す。次に、制御部10が実行する処理の手順について説明する。まず、制御部10が、ホスト装置50からの書き込みコマンドに応じて、書き込み対象データの書き込みを行う処理書き込み処理と呼ぶの手順について説明する。なお、作成部12は、前述した方法で、予めフリーの論理ブロックを作成しておく。そして、書き込み部14は、作成部12により作成されたフリーの論理ブロックを構成する複数のブロックの各々の書き込み先のページを示す追記ポインタをチャネル毎に設定する。書き込みを始める前には、書き込み部14は、作成部12により作成された論理ブロックを構成する複数のブロックの各々の先頭のページを示すように各チャネルの追記ポインタを設定する。追記ポインタが全てのチャネルでブロックの最後に達して、論理ブロックにこれ以上追記できなくなったら、作成部12は、フリーの論理ブロックを新たに作成する。図8は、書き込み処理の一例を示すフローチャートである。図8に示すように、書き込み部14は、ホスト装置50からの書き込みコマンドをI/F部20で受信するとステップS1、書き込みが要求されたデータ書き込み対象データと、当該書き込み対象データに割り当てられた論理アドレスとを書き込みコマンドから取り出して記憶部40内のバッファ領域に書き込むステップS2。次に、書き込み部14は、書き込み対象データのサイズが1ページ分のサイズここでは一例として4KB以下であるか否かを判定するステップS3。書き込み対象データのサイズが1ページ分のサイズより大きいと判定した場合ステップS3:NO、書き込み部14は、書き込み対象データをページ単位で分割しステップS4、そのうちの先頭の分割データをバッファ領域から取り出すステップS5。次に、書き込み部14は、ステップS5で取り出した分割データのサイズが1ページ分のサイズ未満であるか否かを判定するステップS6。分割データのサイズが1ページ分のサイズ未満ではない、つまりは1ページ分のサイズであると判定した場合ステップS6:NO、書き込み部14は、ページサイズのデータをブロックに書き込む処理ページサイズ書き込み処理を実行するステップS7。ページサイズ書き込み処理の詳細な内容については後述する。上述のステップS6において、分割データが1ページ分のサイズ未満であると判定した場合ステップS6:YES、書き込み部14は、ページサイズ未満のデータをブロックに書き込む処理マージ書き込み処理を実行するステップS8。マージ書き込み処理の詳細な内容については後述する。ステップS7またはステップS8の後、書き込み部14は、バッファ領域に分割データが残存しているか否かを判定するステップS9。分割データが残存していないと判定した場合ステップS9:NO、書き込み処理は終了する。分割データが残存していると判定した場合ステップS9:YES、処理は上述のステップS5に戻される。一方、上述のステップS3において、書き込み対象データのサイズが1ページ分のサイズ以下であると判定した場合ステップS3:YES、書き込み部14は、当該書き込み対象データのサイズが1ページ分のサイズ未満であるか否かを判定するステップS10。書き込み対象データのサイズが1ページ分のサイズ未満ではない、つまりは1ページ分のサイズであると判定した場合ステップS10:NO、書き込み部14は、後述のページサイズ書き込み処理を実行するステップS11。一方、書き込み対象データのサイズが1ページ分のサイズ未満であると判定した場合ステップS10:YES、書き込み部14は、後述のマージ書き込み処理を実行するステップS12。次に、書き込み部14制御部10が実行するページサイズ書き込み処理の手順について説明する。図9は、ページサイズ書き込み処理の一例を示すフローチャートである。まず書き込み部14は、データ分割データ含むを書き込むチャネルをラウンドロビンにより決定するステップS20。次に、書き込み部14は、今回の書き込みに用いられるフリーの論理ブロックを構成する複数のブロックのうち、ステップS20で決定したチャネルに対応するブロックの、追記ポインタで示されるページにデータを書き込むステップS21。次に、書き込み部14は、当該データに割り当てられた論理アドレスでインデックスされる第2テーブル64のエントリに、今回の書き込みに用いられたフリーの論理ブロックに対応するインデックス番号論理ブロック番号と、ステップS20で決定したチャネル番号と、追記ポインタで示されるページ番号とを対応付けて書き込むステップS22。次に、書き込み部14は、データを書き込んだチャネルが最終段のチャネルここではチャネルCH11で、かつ、追記ポインタが示しているページはブロック内の最後のページであるか否かを判定するステップS23。データを書き込んだチャネルが最終段のチャネルで、かつ、追記ポインタが示しているページはブロック内の最後のページではないと判定した場合ステップS23の結果:NO、書き込み部14は、追記ポインタが次のページを示すように追記ポインタの値を1つだけインクリメントするステップS24。一方、データを書き込んだチャネルが最終段のチャネルで、かつ、追記ポインタが示しているページはブロック内の最後のページであると判定した場合ステップS23の結果:YES、作成部12は、新たにフリーの論理ブロックを作成するステップS25。そして、書き込み部14は、新たに作成されたフリーの論理ブロックを構成する複数のブロックの各々の先頭のページを示すように各チャネルの追記ポインタを設定する。以上で、ページサイズ書き込み処理は終了する。次に、制御部10が実行するマージ書き込み処理の手順について説明する。図10は、マージ書き込み処理の一例を示すフローチャートである。まず書き込み部14は、書き込みを行うデータに割り当てられた論理アドレス書き込み論理アドレスと呼ぶに対応するインデックス番号、チャネル番号およびページ番号が第2テーブル64に既に格納されているか否かを判定するステップS30。書き込み論理アドレスに対応するインデックス番号、チャネル番号およびページ番号が第2テーブル64に既に格納されていると判定した場合ステップS30:YES、制御部10特定部16は、当該書き込み論理アドレスに対応するインデックス番号、チャネル番号およびページ番号を第2テーブル64から読み出す。そして、特定部16は、読み出したインデックス番号およびチャネル番号と、第1テーブル62とに基づいて、半導体メモリ30のブロックを特定する。この特定方法については、後述の読み出し処理で詳細に説明する。また、特定部16は、当該書き込み論理アドレスに対応するページ番号を第2テーブル64から読み出す。以上のようにして、当該書き込み論理アドレスに対応するブロックと、当該ブロック内のページ番号とが特定されるステップS31。次に、読み出し部18は、ステップS31で特定されたブロック内のページ番号が示すページに格納されたデータページデータを、記憶部40のバッファ領域へ読み出すステップS32。次に、特定部16は、書き込み論理アドレスの下位3ビットを参照して、対応するセクタを特定するステップS33。次に、書き込み部14は、バッファ領域上のページデータのうちステップS32で特定されたセクタに対応する位置に、データを書き込むステップS34。そして、書き込み部14は、バッファ領域上のページデータを、新しいページ追記ポインタで示されたページに書き込む。すなわち、書き込み部14は、上述のページサイズ書き込み処理を実行するステップS35。以上で、マージ書き込み処理が終了する。一方、上述のステップS30において、書き込み論理アドレスに対応するインデックス番号、チャネル番号およびページ番号が第2テーブル64に格納されていないと判定した場合ステップS30:NO、書き込み部14は、上述したページサイズ書き込み処理と同じ方法で、データの書き込みを行うステップS36。この内容は、図9に例示した内容と同じであるので、詳細な説明は省略する。以上で、マージ書き込み処理は終了する。次に、制御部10が、ホスト装置50からの読み出しコマンドに応じて、読み出しが要求されたデータ読み出し対象データの読み出しを行う処理読み出し処理と呼ぶの手順について説明する。図11は、読み出し処理の一例を示すフローチャートである。図11に示すように、制御部10特定部16は、ホスト装置50からの読み出しコマンドをI/F部20で受信するとステップS41、読み出し対象データのサイズが1ページ分のサイズ以下であるか否かを判定するステップS42。読み出し対象データのサイズが1ページ分のサイズページサイズより大きいと判定した場合ステップS42:NO、制御部10は、読み出し対象データをページサイズに分割しステップS43、そのうちの先頭の分割データを読み出すステップS44。次に、制御部16は、ステップS44で読み出した分割データのサイズが1ページ分のサイズ未満であるか否かを判定するステップS45。分割データのサイズが1ページ未満ではない、つまりは1ページ分のサイズであると判定した場合ステップS45:NO、制御部10は、ページサイズのデータを読み出す処理ページサイズ読み出し処理を実行する。ページサイズ読み出し処理の詳細な内容については後述する。上述のステップS45において、分割データのサイズがページサイズ未満であると判定した場合ステップS45:YES、制御部10は、ページサイズ未満のデータを読み出す処理ページ未満読み出し処理を実行するステップS47。ページ未満読み出し処理の詳細な内容については後述する。ステップS46またはステップS47の後、制御部10は、分割データが残存しているか否かを判定するステップS48。分割データが残存していないと判定した場合ステップS48:NO、読み出し処理は終了する。分割データが残存していると判定した場合ステップS48:YES、処理は上述のステップS44に戻される。一方、上述のステップS42において、読み出し対象データのサイズがページサイズ以下であると判定した場合ステップS42:YES、制御部10は、当該読み出し対象データのサイズがページサイズ未満であるか否かを判定するステップS49。読み出し対象データのサイズがページサイズ未満ではない、つまりは1ページ分のサイズであると判定した場合ステップS49:NO、制御部10は、後述のページサイズ読み出し処理を実行するステップS50。一方、読み出し対象データのサイズがページサイズ未満であると判定した場合ステップS49:YES、制御部10は、後述のページ未満読み出し処理を実行するステップS51。次に、制御部10が実行するページサイズ読み出し処理の手順について説明する。図12は、ページサイズ読み出し処理の一例を示すフローチャートである。まず制御部10特定16は、読み出し対象データ分割データ含むに割り当てられる論理アドレス読み出し論理アドレスと呼ぶを特定するステップS61。次に、特定部16は、当該読み出し論理アドレスに対応するインデックス番号、チャネル番号およびページ番号の各々を第2テーブル64から読み出すステップS62。次に、特定部16は、ステップS62で読み出したインデックス番号およびチャネル番号と、第1テーブル62とから、読み出し対象データが格納されたブロックを特定するステップS63。より具体的には、特定部16は、ステップS63で読み出したインデックス番号およびチャネル番号と、第1テーブル62のうち、当該チャネル番号に対応する列内の欠陥情報とに基づいて、読み出し対象データが格納されたブロックを特定する。さらに詳述すると、以下のとおりである。いま、ステップS62で読み出されたインデックス番号が5、チャネル番号がCH1の場合を想定する。図3の例において、各ブロックに欠陥が存在しない場合、つまりは、各記憶領域Mに格納された欠陥情報が全て0の場合、インデックス番号5に対応する論理ブロックは、各チャネルCH0~CH11の第5行目に属するブロックで構成される。そして、読み出されたチャネル番号はCH1第1テーブル62の第2列目に対応なので、各ブロックに欠陥が存在しない場合は、第1テーブル62の第5行の第2列目に位置する記憶領域M52に対応するブロックが、読み出し対象データが格納されたブロックとして特定される。しかしながら、実際には、図3に示すように、第1テーブル62の第2列目においては、第1行に属する記憶領域M12、および、第2行に属する記憶領域M22の各々に格納された欠陥情報が1である。つまりは、欠陥があるブロックが存在するので、特定部16は、第2列目内の欠陥が無いブロックのうち、上から数えて、読み出したインデックス番号5に対応する第1テーブル62の行の数だけ下に位置するブロックを、読み出し対象データが格納されたブロックとして特定する。ここでは、特定部16は、第1テーブル62の第2列目において、第3行目に属する記憶領域M32から数えて、5だけ下に位置する記憶領域M第7行目の記憶領域M72に対応するブロックを、読み出し対象データが格納されたブロックとして特定する。以上のように、特定部16は、ステップS62で読み出したインデックス番号およびチャネル番号と、第1テーブル62のうち、当該チャネル番号に対応する列における欠陥情報とに基づいて、読み出し対象データが格納されたブロックを特定する。次に、読み出し部18は、ステップS63で特定されたブロック内のページのうち、ステップS62で第2テーブル64から読み出されたページ番号が示すページに格納されたデータを記憶部40のバッファ領域に読み出すステップS64。次に、制御部10は、バッファ領域に読み出したデータをホスト装置50へ転送するようにI/F部20を制御するステップS65。以上で、ページサイズ読み出し処理は終了する。次に、制御部10が実行するページ未満読み出し処理の手順について説明する。図13は、ページ未満読み出し処理の一例を示すフローチャートである。まず制御部10特定16は、読み出し対象データに割り当てられる読み出し論理アドレスを特定するステップS71。次に、特定部16は、当該読み出し論理アドレスに対応するインデックス番号、チャネル番号およびページ番号の各々を第2テーブル64から読み出すステップS72。次に、特定部16は、ステップS72で読み出したインデックス番号およびチャネル番号と、第1テーブル62とから、読み出し対象データが格納されたブロックを特定するステップS73。この内容は、図12のステップS63の内容と同様であるので、詳細な説明は省略する。次に、読み出し部18は、ステップS73で特定されたブロック内のページのうち、ステップS72で第2テーブル64から読み出されたページ番号が示すページに格納されたデータを記憶部40のバッファ領域に読み出すステップS74。次に、制御部10は、バッファ領域に読み出したデータのうち、読み出し論理アドレスの下位3ビットで特定されるセクタに対応するデータを、ホスト装置50へ転送するようにI/F部20を制御するステップS75。以上で、ページ未満読み出し処理は終了する。以上に説明したように、本実施形態では、第1テーブル62の各記憶領域Mには、1ビットの情報が格納されるだけで済むので、結果として、論物変換テーブル60のサイズを低減できるという有利な効果が得られる。ここで、第1テーブル62の各記憶領域Mに、当該記憶領域Mに対応するブロックの位置情報物理アドレスを格納する場合を想定すると、1チャネル当たり16000個のブロックを表現するのに必要なビット数は14ビットであるので、この場合の第1テーブル62の容量は、14×12チャネル数×16000行数÷8=336Kバイトとなる。これに対して、本実施形態では、第1テーブル62の各行において欠陥ブロックの有無を表現するのに必要なビット数は12ビットであるので、第1テーブル62の容量は、12×16000行数÷8=24Kバイトとなる。したがって、本実施形態によれば、論物変換テーブル60のサイズを大幅に低減できる。以上、本発明の実施形態を説明したが、この実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。例えば上述の実施形態では、論理ブロックの作成時に、作成部12は、第1テーブル62内の0の欠陥情報が格納された記憶領域Mを用いて、各チャネルのブロックを選択しているが、これに限らず、作成部12は、第1テーブル62内の1の欠陥情報が格納された記憶領域Mを用いて、各チャネルのブロックを選択することもできる。例えば論理ブロックの作成時に、作成部12がインデックス番号5を選択した場合を例に挙げて説明すると以下のとおりである。図3の例で、第1テーブル62の第2列目に着目すると、作成部12は、第1行目から、選択したインデックス番号5に対応する行第5行目までの各々に属する記憶領域MM12、M22、M32、M42、M52のうち、欠陥情報1が格納された記憶領域Mの数をカウントする。欠陥情報1が格納された記憶領域Mが存在しない場合は、作成部12は、第5行目に属する記憶領域M52に対応するブロックを選択する。ここでは、図3に示すように、第1行目および第2行目の各々に属する記憶領域MM12、M22に欠陥情報1が格納されているので、このときのカウント値は2となる。そして、作成部12は、選択したインデックス番号5に対応する第5行目から、カウント値2だけ下に位置する第7行目までの各々に属する記憶領域MM52、M62、M72のうち、欠陥情報1が格納された記憶領域Mの数をカウントする。欠陥情報1が格納された記憶領域Mが存在しない場合は、作成部12は、第7行目に属する記憶領域M72に対応するブロックを選択する。一方、欠陥情報1が格納された記憶領域Mが存在する場合は、作成部12は、第7行目から、今回のカウント値だけ下にシフトした行までの各々に属する記憶領域Mのうち、欠陥情報1が格納された記憶領域Mの数をカウントする。図3の例では、第5行目から第7行目においては、欠陥情報1が格納された記憶領域Mが存在しないので、作成部12は、第7行目に属する記憶領域M72に対応するブロックを選択する。他の列についても同様である。要するに、作成部12は、選択したインデックス番号と、第1テーブル62の欠陥情報とに基づいて、ブロックの組論理ブロックを作成するものであればよく、欠陥情報1が格納された記憶領域Mのカウント値を用いてブロックを選択することもできるし、欠陥情報0が格納された記憶領域Mのカウント値を用いてブロックを選択することもできる。また、カウント値は上から順番にカウントした値を用いてもよいし、下から順番にカウントした値を用いてもよく、その種類は任意に変更可能である。なお、読み出し処理についても同様であり、特定部16は、第2テーブル64から読み出したインデックス番号およびチャネル番号と、第1テーブル62のうち、当該チャネル番号に対応する列における欠陥情報とに基づいて、読み出しが要求されたデータが格納されたブロックを特定するものであればよい。また、上述の実施形態では、半導体メモリ30の数チャネルの数が12個であるが、これに限らず、半導体メモリ30の数は任意に変更可能である。また、ページのサイズ、ブロックのサイズ、および、半導体メモリ30のサイズも任意に変更可能である。また、上述のメモリシステム100は、新たにブロックに欠陥が発生するたびに、第1テーブル62を更新する更新部を備えることもできる。これにより、書き込み処理時において、欠陥のあるブロックにデータを書き込むことはない。また、例えばデータが書き込まれたブロックに後発的な欠陥が発生した場合は、論理ブロックを用いた誤り訂正を行うことで、データを回復させることができる。また、上述の実施形態では、論物変換テーブル60は、記憶部40に記憶されているが、これに限らず、メモリシステム100において、論物変換テーブル60が記憶される場所は任意である。例えば論物変換テーブル60の少なくとも一部が半導体メモリ30に記憶されてもよい。例えば論物変換テーブル60の全部が半導体メモリ30に記憶されてもよいし、論物変換テーブル60の一部が半導体メモリ30に記憶され、論物変換テーブル60のその他の部分が記憶部40に記憶されてもよい。また、記憶部40の種類も任意である。例えば記憶部40は、SRAMStaticRandomAccessMemoryで構成されてもよいし、DRAMDynamicRandomAccessMemoryで構成されてもよい。