不揮発性メモリを使用した半導体記憶装置であって、前記不揮発性メモリ内に記憶されたユーザデータを読み出す際に外部から当該ユーザデータの記録位置を指定する第1アドレス情報を受け付けるインタフェース部と、前記不揮発性メモリに対するデータの入出力を制御する入出力制御部と、前記第1アドレス情報と前記不揮発性メモリ内での実際の記録位置を示す第2アドレス情報との対応づけるアドレス変換テーブルと、前記アドレス変換テーブルに従って前記第1アドレス情報を前記第2アドレス情報に変換する変換部と、前記ユーザデータと前記第1アドレス情報とを1つのデータとして当該データに誤りがあるか否かを検査するための冗長データを生成する検査符号生成部と、を備え、前記入出力制御部は、前記ユーザデータと前記第1アドレスと前記冗長データとを1つのデータセットとして前記不揮発性メモリにおける前記第2アドレス情報で示される記録位置に記録することを特徴とする半導体記憶装置。前記アドレス変換テーブルを格納する揮発性メモリをさらに備え、前記アドレス変換テーブルは、複数の第2アドレス情報によって構成されるマトリクス状のビット配列における、ビット線方向のビット列に対して付与された第1パリティ符号と、ワード線方向のビット列に対して付与された第2パリティ符号とを備えることを特徴とする請求項1に記載の半導体記憶装置。前記揮発性メモリ内の前記アドレス変換テーブルを構成する前記ビット列を前記第1パリティ符号または前記第2パリティ符号を用いて訂正するパリティ処理部をさらに備え、前記変換部は、前記揮発性メモリ内の前記アドレス変換テーブルの一部または全部を前記不揮発性メモリ内に転記し、前記パリティ処理部は、前記変換部が前記揮発性メモリ内の前記アドレス変換テーブルの一部または全部を前記不揮発性メモリ内に転記する際、前記アドレス変換テーブルを構成する前記ビット列を前記第1パリティ符号または前記第2パリティ符号を用いて検査し、前記変換部は、前記パリティ処理部によって誤りが検出された前記ビット列を前記第1および第2パリティ符号を用いて訂正することで前記揮発性メモリ内の前記アドレス変換テーブルを修復することを特徴とする請求項2に記載の半導体記憶装置。前記揮発性メモリ内の前記アドレス変換テーブルを構成する前記ビット列を前記第1パリティ符号または前記第2パリティ符号を用いて訂正するパリティ処理部をさらに備え、前記パリティ処理部は、前記第1アドレス情報が指定する記録位置に記録された前記ユーザデータの読み出しを前記インタフェース部が受け付けた際、前記第1アドレス情報に対応づけられた前記第2アドレス情報を含むビット線方向のビット列を当該ビット列に付与された前記第1パリティ符号を用いて検査し、前記変換部は、前記パリティ処理部によって誤りが検出された前記ビット列を前記第1および第2パリティ符号を用いて訂正することで前記揮発性メモリ内の前記第2アドレスを修復することを特徴とする請求項2に記載の半導体記憶装置。前記変換部は、前記パリティ処理部によって前記第1パリティ符号と前記第2パリティ符号との両方で誤りが検出された前記揮発性メモリ中のビットの値を反転することで、前記アドレス変換テーブルを修復することを特徴とする請求項3または4に記載の半導体記憶装置。前記第1アドレス情報が指定する記録位置に記録された前記ユーザデータの読み出しを前記インタフェース部が受け付けた際、前記不揮発性メモリ内に記録されていた前記冗長データを用いて、前記不揮発性メモリ内に記録されていた前記ユーザデータと前記インタフェース部が受け付けた前記第1アドレスとに誤りがあるか否かを検査する検査部をさらに備え、前記入出力制御部は、前記不揮発性メモリ内に記録されていた前記ユーザデータと前記インタフェース部が受け付けた前記第1アドレスとに誤りが無いことが前記検査部によって検出された場合、前記ユーザデータを前記インタフェース部を介して出力することを特徴とする請求項1または2に記載の半導体記憶装置。前記検査部は、前記不揮発性メモリ内に記録されていた前記ユーザデータと前記インタフェース部が受け付けた前記第1アドレスとに誤りがあると検出した場合、前記不揮発性メモリ内に記録されていた前記ユーザデータおよび前記第1アドレスに誤りがあるか否かを再度検査し、前記不揮発性メモリ内に記録されていた前記ユーザデータおよび前記第1アドレスに誤りがあると判断した場合、前記アドレス変換テーブルに誤りがあると判断することを特徴とする請求項6に記載の半導体記憶装置。前記アドレス変換テーブルを格納する揮発性メモリをさらに備え、前記変換部は、前記揮発性メモリに格納された前記アドレス変換テーブルを前記不揮発性メモリ内に転記し、前記揮発性メモリ内の前記アドレス変換テーブルに誤りがある場合、前記不揮発性メモリ内の前記アドレス変換テーブルを用いて前記揮発性メモリ内の前記アドレス変換テーブルを修復することを特徴とする請求項7に記載の半導体記憶装置。ところで近年では、半導体製造プロセスの微細化に伴い、SRAMやDRAM等にソフトエラーなどの誤りが生じることが増加している。この結果、アドレス変換テーブル自体に誤りが生じてしまう場合がある。そこで本発明の実施形態では、アドレス変換テーブル自体の誤りに対応可能な半導体記憶装置を開示する。実施の形態による半導体記憶装置は、不揮発性メモリを使用した半導体記憶装置であって、前記不揮発性メモリ内に記憶されたユーザデータを読み出す際に外部から当該ユーザデータの記録位置を指定する第1アドレス情報を受け付けるインタフェース部と、前記不揮発性メモリに対するデータの入出力を制御する入出力制御部と、前記第1アドレス情報と前記不揮発性メモリ内での実際の記録位置を示す第2アドレス情報との対応づけるアドレス変換テーブルと、前記アドレス変換テーブルに従って前記第1アドレス情報を前記第2アドレス情報に変換する変換部と、前記ユーザデータと前記第1アドレス情報とを1つのデータとして当該データに誤りがあるか否かを検査するための冗長データを生成する検査符号生成部と、を備える。前記入出力制御部は、前記ユーザデータと前記第1アドレスと前記冗長データとを1つのデータセットとして前記不揮発性メモリにおける前記第2アドレス情報で示される記録位置に記録する。第1の実施形態以下、第1の実施形態にかかる半導体記憶装置について、図面を参照して詳細に説明する。図1に示すように、第1の実施形態による半導体記憶装置1は、コントローラ100と、インタフェース部20と、NAND型フラッシュメモリ以下、単にフラッシュメモリという160とを備える。ホストコンピュータ以下、単にホストという10は、仮想メモリ空間に基づいて、半導体記憶装置1に対するデータの書き込みや読み出しを行う。フラッシュメモリ160は、実メモリ空間にデータを格納する。コントローラ100は、仮想メモリ空間と実メモリ空間との対応関係を示すアドレス体系を管理する。ホスト10から出力されたデータの書込要求および読出要求は、インタフェース部20で受け付けられる。書込要求には、書込対象のユーザデータMと、ユーザデータMの仮想メモリ空間上の書込位置を指定する論理アドレスLとが含まれる。読出要求には、読出対象のユーザデータMが格納された仮想メモリ空間上の位置を示す論理アドレスLが含まれる。受け付けられた書込要求および読出要求は、内部バス30を介してコントローラ100に入力される。コントローラ100は、ホスト10からのデータの書込要求および読出要求等に応じて、フラッシュメモリ160へのユーザデータの書き込みや、フラッシュメモリ160からのユーザデータの読み出し等を制御する。このコントローラ100は、入出力制御部110と、変換部120と、DRAMDynamicRandomAccessMemory130と、検査符号生成部140と、検査部150と、訂正符号生成部170と、訂正部180とを備える。なお、DRAM130は、SRAMStaticRAMなどの他の揮発性メモリに置き換えてもよい。検査符号生成部140は、たとえば入出力制御部110からユーザデータMおよび論理アドレスL以下、検査対象データMLというを入力し、このユーザデータMおよび論理アドレスLに対する誤り検査符号A1を生成する。また、検査符号生成部140は、生成した誤り検査符号A1をたとえば入出力制御部110に出力する。検査部150は、たとえば入力制御部110から検査対象データMLとこれの誤り検査符号A1とを入力し、誤り訂正符号A1を用いて検査対象データMLに誤りがあるか否かを検査する。また、検査部150は、この検査結果をたとえば入力制御部110に出力する。訂正符号生成部170は、たとえば入出力制御部110からユーザデータM、論理アドレスLおよび誤り検査符号A1以下、訂正対象データMLA1というを入力し、このユーザデータM、論理アドレスLおよび誤り検査符号A1、すなわち訂正対象データMLA1に対する誤り訂正符号A2を生成する。また、訂正符号生成部170は、生成した誤り訂正符号A2をたとえば入出力制御部110に出力する。訂正部180は、たとえば入力制御部110から訂正対象データMLA1とこれの誤り訂正符号A2とを入力し、誤り訂正符号A2を用いて訂正対象データMLA1の誤りを訂正する。また、訂正部180は、この訂正結果をたとえば入力制御部110に出力する。変換部120は、入出力制御部110を介して入力されたホスト10からの要求に含まれる論理アドレスLを、実メモリ空間上の物理アドレスPに変換する。このアドレス変換には、DRAM130に格納されたアドレス変換テーブル131が用いられる。すなわち、アドレス変換テーブル131には、仮想メモリ空間上の論理アドレスLと実メモリ空間上の物理アドレスPとの対応関係が登録されている。この変換部120は、論理アドレスLを用いてアドレス変換テーブル131を参照することで、この論理アドレスLに対応づけられた物理アドレスPを取得する。また、変換部120は、取得した物理アドレスPを入出力制御部110に出力する。フラッシュメモリ160は、入出力制御部110からデータの書き込みが命令されると、書込対象のデータセット161たとえば図3参照と実メモリ空間上の書込位置を示す物理アドレスPとを入出力制御部110から受け付ける。つづいて、フラッシュメモリ160は、この受け付けたデータセット161を、物理アドレスPの記録位置に書き込む。また、フラッシュメモリ160は、入出力制御部110からデータの読み出しが命令されると、読出対象のデータが記録された実メモリ空間上の位置を示す物理アドレスPを入出力制御部110から受け付ける。つづいて、フラッシュメモリ160は、この受け付けた物理アドレスPの記録位置に記憶されているデータセット161を読み出し、この読み出したデータセット161を入出力制御部110に出力する。入出力制御部110は、ホスト10から書込要求または読出要求があった際に、各部に対するデータの入出力を制御する。また、入出力制御部110は、フラッシュメモリ160に対するデータの書込および読出も制御する。ここで、第1の実施形態による書込制御および読出制御について、図面を参照して説明する。まず、書込制御について説明する。図2は、第1の実施形態による書込制御の流れを示すフローチャートである。図3は、図2に示すフローチャートを模式化した図である。図2および図3に示すように、入出力制御部110は、ホスト10からの書込要求を待機するステップS101;NO。入出力制御部110は、ホスト10からの書込要求をインタフェース部20を介して受け付けるとステップS101;YES、書込要求に含まれるユーザデータMと論理アドレスLとを特定するステップS102。つづいて、入出力制御部110は、特定した論理アドレスLを変換部120に入力する。変換部120は、DRAM130内のアドレス変換テーブル131を参照することで、入力された論理アドレスLに対応する物理アドレスPを読み出すステップS103。読み出された物理アドレスPは、入出力制御部110に入力される。また、入出力制御部110は、ステップS102で特定したユーザデータMおよび論理アドレスLを検査符号生成部140に入力する。検査符号生成部140は、入力されたユーザデータMおよび論理アドレスLを1つのデータとして、これに対する誤り検査用の誤り検査符号A1を生成する。また、入出力制御部110は、ステップS102で特定したユーザデータM、論理アドレスLおよび誤り検査符号A1を訂正符号生成部170に入力する。訂正符号生成部170は、入力されたユーザデータM、論理アドレスLおよび誤り検査符号A1を1つのデータ訂正対象データMLA1として、これに対する誤り訂正用の誤り訂正符号A2を生成する。さらに、訂正符号生成部170は、誤り検査符号A1および誤り訂正符号A2をひとまとめにした冗長データAを生成するステップS104。この生成された冗長データAは、入出力制御部110に入力される。以上のようにして物理アドレスPと冗長データAとを取得すると、入出力制御部110は、図3に示すように、ユーザデータMと論理アドレスLと冗長データAとを1つのデータセット161として、フラッシュメモリ160内の物理アドレスPが指している記録位置に記録するステップS105。その後、ステップS101に帰還して、次の書込要求を待機する。なお、この書込動作は、たとえば外部からの割込み終了によって終了する。つぎに、読出制御について説明するにあたり、近年生じ得る読み出し時の不具合について説明する。近年では、半導体製造プロセスの微細化に伴い、DRAMやSRAMなどにソフトエラー等の誤りが生じることが増加してきている。このため、アドレス変換テーブル自体に誤りが生じることがある。たとえば図4に示すように、アドレス変換テーブル131において論理アドレスL2が正しく物理アドレスP2に対応付けられている場合、論理アドレスL2を指定した読出要求に対しては、フラッシュメモリ160内の物理アドレスP2で示される記録位置からデータが読み出される。一方で、たとえば図5に示すように、アドレス変換テーブル131に誤りが生じた結果、論理アドレスL2に誤った物理アドレスP4が対応付けられている場合、論理アドレスL2を指定した読出要求に対しては、フラッシュメモリ160内の物理アドレスP4で示される記録位置からデータが読み出されてしまう。アドレス変換テーブルに生じた誤りの検査や訂正には、ECCErrorCorrectingCodeやCRCCyclicRedundancyCode等のEDCErrorDetectingCodeを付与することも考えられる。ただし、アドレス変換テーブルは、小さな単位でアクセスされる。このため、十分な検査能力や訂正能力を得るためには、たとえば32bitのデータに対して6bitの冗長符号が必要になる。一方で、NAND型フラッシュメモリを使用したSSDSolidStateDrive等の半導体記憶装置は、アドレス変換テーブルで管理する単位記憶領域を小さくすることでその性能が増加する。なお、1つの単位記憶領域には、1つの物理アドレスが割り当てられるものとする。ここで、単位記憶領域を小さくすると管理すべきアドレスの数も増加する。このため、各アドレスに冗長符号を付与すると、管理するデータ量が大幅に増加してしまう。このようなことから、アドレス変換テーブルで管理する単位記憶領域を小さくすることが困難な場合がある。そこで第1の実施形態では、以下のような読出制御を実行する。図6は、第1の実施形態による読出制御の流れを示すフローチャートである。図7は、図6に示すフローチャートを模式化した図である。図6および図7に示すように、入出力制御部110は、ホスト10からの読出要求を待機するステップS111;NO。入出力制御部110は、ホスト10からの読出要求をインタフェース部20を介して受け付けるとステップS111;YES、読出要求に含まれる論理アドレスLrを特定するステップS112。つづいて、入出力制御部110は、特定した論理アドレスLrを変換部120に入力する。変換部120は、DRAM130内の変換テーブル131を参照することで、入力された論理アドレスLrに対応する物理アドレスPを読み出すステップS113。読み出された物理アドレスPは、入出力制御部110に入力される。つぎに、入出力制御部110は、フラッシュメモリ160中の物理アドレスPで示される記録位置に記憶されているデータセット161ユーザデータM、論理アドレスLsおよび冗長データAを読み出すステップS114。つづいて、入出力制御部110は、読み出したユーザデータMおよび冗長データAと、読出要求に含まれていた論理アドレスLrとを検査部150に入力する。検査部150は、ユーザデータMと論理アドレスLrとを1つのデータとして、これに誤りがあるか否かを冗長データAを用いて検査するステップS115。この検査結果は、入出力制御部110に入力される。ステップS115の結果、誤りが検出されなかった場合ステップS116;NO、入出力制御部110は、読み出したユーザデータMを、インタフェース部20を介してホスト10に出力するステップS117。その後、コントローラ100は、ステップS111に帰還する。なお、この読出動作は、たとえば外部からの割込み終了によって終了する。一方、ステップS115の結果、誤りが検出された場合ステップS116;YES、入出力制御部110は、今度は、読み出したデータセット161ユーザデータM、論理アドレスLsおよび冗長データAを検査部150に入力する。検査部150は、ユーザデータMと論理アドレスLsとを1つのデータとして、これに誤りがあるか否かを冗長データAを用いて検査するステップS118。この検査結果は、入出力制御部110に入力される。ステップS118の結果、誤りが検出された場合ステップS119;YES、コントローラ100は、読み出したユーザデータM、論理アドレスLsまたは冗長データAに誤りがあると判断しステップS120、所定のエラー処理を実行するステップS121。なお、所定のエラー処理とは、たとえばフラッシュメモリ160上のデータを誤り訂正符号A2を用いて訂正することをであってもよい。その後、コントローラ100は、ステップS124において、エラー処理後の論理アドレスLsと論理アドレスLrとを比較する。論理アドレスLsと論理アドレスLrとが異なる場合ステップS125;NO、コントローラ100は、ステップS122へ移行する。一方、論理アドレスLsと論理アドレスLrとが等しい場合ステップS125;YES、コントローラ100は、ステップS111に帰還する。また、ステップS118の結果、誤りが検出されなかった場合ステップS119;NO、コントローラ100は、アドレス変換テーブル131から取得した物理アドレスP、すなわちアドレス変換テーブル131自体に誤りがあると判断しステップS122、アドレス変換テーブル131を格納しているDRAM130を修復する処理を実行するステップS123。その後、コントローラ100は、ステップS113へ帰還し、修復後のアドレス変換テーブル131に基づいて、以降の動作を実行する。なお、DRAM修復処理では、たとえばフラッシュメモリ160に記憶されている論理アドレスLsが、これを格納している記録位置の物理アドレスPとともに読み出される。その後、アドレス変換テーブル131において、読み出された論理アドレスLsに対応する物理アドレスPの値が更新される。これにより、アドレス変換テーブル131が修復される。もしくは、たとえばフラッシュメモリ160に、アドレス変換テーブル160のコピーを格納しておいてもよい。この場合、このコピーされたアドレス変換テーブルを参照することで、容易にDRAMの修復が可能となるため、修復処理に要する時間を短縮することが可能となる。ただし、この方法は一例にすぎない。DRAMを修復することが可能な方法であれば如何様にも変形することが可能であることは言うまでもない。以上のように、第1の実施形態では、ユーザデータMおよび論理アドレスLを1つのデータとして冗長データAを生成し、この冗長データAをユーザデータMおよび論理アドレスLとともに1つのデータセット161としてフラッシュメモリ160内に格納しておく。これにより、アドレス変換テーブル131自体に誤りが生じた場合でも、これを特定することが可能となる。この結果、アドレス変換テーブル131自体の誤りに対しても対応が可能となる。第2の実施形態つぎに、第2の実施形態にかかる半導体記憶装置について、図面を参照して詳細に説明する。ただし、以下の説明において、第1の実施形態と同様の構成については、同一の符号を付し、重複する説明を省略する。第2の実施形態では、アドレス変換テーブルを直接的に誤り訂正可能にする。これにより、アドレス変換テーブル自体の誤りに対して簡素な構成で対処することができる。また、アドレス変換テーブル自体に誤りが生じたときの処理を高速にすることができる。図8に示すように、第2の実施形態による半導体記憶装置2は、図1に示す半導体記憶装置1と同様の構成において、コントローラ100がコントローラ200に置き換えられている。コントローラ200は、入出力制御部210と、変換部220と、DRAM130に格納されたアドレス変換テーブル231と、検査符号生成部140と、検査部150と、訂正符号生成部170と、訂正部180とを備える。また、コントローラ200は、アドレス変換テーブル231の誤りを訂正するための構成として、パリティ符号生成部240と、パリティ処理部250とを備える。ここで図9に、第2の実施形態によるアドレス変換テーブル231の一例を示す。図9に示すように、本実施の形態によるアドレス変換テーブル231は、アドレス変換テーブル231中の誤りを訂正するための水平パリティ符号E1および垂直パリティ符号E2を備える。水平パリティ符号E1は、たとえばDRAM130におけるビット線方向のビット列に生じた誤りを検査する際に用いられる。垂直パリティ符号E2は、たとえばDRAM130におけるワード線方向のビット列に生じた誤りを検査する際に用いられる。アドレス変換テーブル231は、たとえば物理アドレスPをワード線方向に配列したデータ構造である。したがって、水平パリティ符号E1は、物理アドレスP毎に生じた誤りを検査する際に用いられる。なお、図9では、1ビットの水平パリティ符号E1および垂直パリティ符号E2を例示するが、これに限るものではない。変換部220は、第1の実施形態における変換部120と同様の機能を備える。加えて、変換部220は、たとえば論理アドレスLと物理アドレスPとの対応関係を追加または更新する際に、DRAM130の値をワード線毎またはビット線毎に読み出し、この読み出したビット列をパリティ符号生成部240に入力する。パリティ符号生成部240は、入力されたビット列に対する水平パリティ符号E1または垂直パリティ符号E2を生成し、これを変換部220に返す。このように生成された水平パリティ符号E1および垂直パリティ符号E2は、変換部220によってDRAM130中のアドレス変換テーブル231に付与される。また、変換部220は、DRAM130中のビット値をワード線毎またはビット線毎に読み出し、この読み出したビット列をパリティ処理部250に入力する。パリティ処理部250は、入力されたビット列における水平パリティ符号E1または垂直パリティ符号E2を特定し、この水平パリティ符号E1または垂直パリティ符号E2を用いてビット列中の誤りを訂正する。このように訂正されたビット列は、変換部220によってDRAM130中のアドレス変換テーブル231に格納される。つづいて、第2の実施形態による動作について、図面を参照して説明する。第2の実施形態による書込動作は、第1の実施形態による書込動作と同様である。第2の実施形態による読出動作は、図6に示す読出動作において、ステップS112とステップS113との間に、図10に示す動作が挿入される。図6のステップS111~S112に示すように、ホスト10からの読出要求に含まれる論理アドレスLrを特定するとステップS112、入出力制御部210は、特定した論理アドレスLrを変換部220に入力する。図10に示すように、変換部220は、入力された論理アドレスLrに対応付けられた物理アドレスPに対するパリティチェックを実行するステップS211。具体的には、たとえば、変換部220は、入力された論理アドレスLrに対応する物理アドレスPを読み出し、この読み出した物理アドレスPを水平パリティ符号E1を用いてチェックする。このチェック結果は、変換部220に入力される。ステップS211のパリティチェックの結果、誤りがない場合ステップS212;NO、変換部220は、そのまま図6のステップS113へ移行する。一方、ステップS211のパリティチェックの結果、誤りがある場合ステップS212;YES、変換部220は、誤りを訂正することが可能か否かを判断しステップS213、可能である場合ステップS213;YES、水平パリティ符号E1および垂直パリティ符号E2を用いてDRAM130中のビット列の誤りを訂正するステップS214。具体的には、たとえばDRAM130中のマトリクス状のビット配列のうち、水平パリティ符号E1および垂直パリティ符号E2の両方で誤りが検出された位置のビットの値を反転する。これにより、アドレス変換テーブル231に登録された物理アドレスPが修復される。なお、誤りの訂正が可能か否かの判断は、たとえば誤りビット数が1であるかどうかによって判定することができる。また、DRAM130を修復後、変換部220は、図6のステップS112へ帰還して、再度、修復後のアドレス変換テーブル231から論理アドレスLrに対応づけられた物理アドレスPを取得する。一方、ステップS213の結果、誤りを訂正することができないと判断された場合ステップS213;NO、コントローラ200は、図6のステップS123と同様のDRAM修復処理を実行しステップS215、その後、図6のステップS112へ帰還して、再度、修復後のアドレス変換テーブル231から論理アドレスLrに対応づけられた物理アドレスPを取得する。また、第2の実施形態では、たとえば論理アドレスLと物理アドレスPとの対応関係を追加または更新する際に、アドレス変換テーブル231に付与する水平パリティ符号E1および垂直パリティ符号E2を生成するパリティ生成動作を実行する。図11は、第2の実施形態によるパリティ生成動作を示すフローチャートである。図11に示すように、変換部220は、DRAM130中のアドレス変換テーブル231の変更があるか否かを判断するステップS221。アドレス変換テーブル231の変更がなければステップS221;NO、変換部220は、ステップS222へ移行しない。一方、アドレス変換テーブル231の変更がある場合ステップS221;YES、変換部220は、DRAM130から変更対象のビットに対応する垂直パリティ符号E2を読み出しステップS222、読み出した垂直パリティ符号E2と変更対象の物理アドレスPとをパリティ符号生成部240に入力する。パリティ符号生成部240は、入力された物理アドレスPに対する水平パリティ符号E1と、該当する垂直パリティ行の垂直パリティ符号E2とを生成するステップS223。生成された水平パリティ符号E1および垂直パリティ符号E2とは、変換部220に入力される。変換部220は、入力された水平パリティ符号E1および垂直パリティ符号E2でDRAM130中のアドレス変換テーブル231を更新するステップS224。その後、変換部220は、ステップS221へ帰還する。なお、このパリティ生成動作は、たとえば外部からの割込み終了によって終了する。以上のように、第2の実施形態では、第1の実施の形態と同様の構成に加えて、アドレス変換テーブル231の誤りを訂正するための構成水平パリティ符号E1、垂直パリティ符号E2、パリティ符号生成部240およびパリティ処理部250を備える。その結果、アドレス変換テーブル231自体に生じた誤りを迅速に修正することが可能となる。その他の構成および動作は、第1の実施形態と同様であるため、ここでは重複する説明を省略する。なお、第2の実施形態では、アドレス変換テーブル231自体の誤りを検査または訂正するための冗長データとしてパリティ符号を用いた。ただし、これに限るものではなく、種々の冗長データを用いることができる。なお、第2の実施形態のように、第1の実施形態による誤り検査訂正機能のような比較的大きな誤り検査訂正能力を備えている場合には、アドレス変換テーブル231自体の誤りを検査訂正するための構成には、パリティ符号のような比較的軽微な誤り検査訂正能力を用いるとよい。これにより、書込時や読出時の動作にかかる負荷を低減できる。第3の実施形態つぎに、第3の実施形態にかかる半導体記憶装置について、図面を参照して詳細に説明する。ただし、以下の説明において、第1または第2の実施形態と同様の構成については、同一の符号を付し、重複する説明を省略する。第3の実施形態では、コントローラ内のDRAMに格納されたアドレス変換テーブルの一部または全部を、フラッシュメモリ内に保存しておく。これにより、アドレス変換テーブル自体の誤りに対処する構成を簡素な構成とすることができる。また、アドレス変換テーブル自体に誤りが生じたときの処理を高速にすることができる。以下の説明では、第2の実施形態を引用して説明する。ただし、これに限らず、第1の実施形態に第3の実施形態を適用することも可能である。図12に示すように、第3の実施形態による半導体記憶装置3は、図8に示す半導体記憶装置2と同様の構成において、コントローラ200がコントローラ300に置き換えられている。コントローラ300は、図8に示すコントローラ200と同様の構成を備える。ただし、変換部220が変換部320に、それぞれ置き換えられている。また、第3の実施形態では、フラッシュメモリ160に、DRAM130に格納されているアドレス変換テーブル231の一部または全部のコピーであるアドレス変換テーブル361が格納されている。DRAM130のアドレス変換テーブル231は、定期的または必要に応じて、フラッシュメモリ160内に転記される。ここで、フラッシュメモリ160へアドレス変換テーブル231の転記動作について、図面を参照して詳細に説明する。図13は、第3の実施形態による転記動作を示すフローチャートである。図13に示すように、変換部320は、DRAM130中のアドレス変換テーブル231の変更を常時または定期的に監視するステップS321;NO。アドレス変換テーブル231に変更があるとステップS321;YES、変換部320は、DRAM130からアドレス変換テーブル231を読み出すステップS322。つづいて、変換部320は、読み出したアドレス変換テーブル361に対するパリティチェックを実行するステップS323。具体的には、たとえば、変換部320は、アドレス変換テーブル231を構成するマトリクス状のビット配列における、ビット線方向のビット列およびワード線方向のビット列をそれぞれ読み出し、この読み出したビット列を水平パリティ符号E1または垂直パリティ符号E2を用いてチェックする。このチェック結果は、変換部320に入力される。ステップS323のパリティチェックの結果、誤りがない場合ステップS324;NO、変換部320は、読み出したアドレス変換テーブル231をフラッシュメモリ160内の所定の記憶領域に転記するステップS328。一方、ステップS323のパリティチェックの結果、誤りがある場合ステップS324;YES、変換部320は、誤りを訂正することが可能か否かを判断しステップS325、可能である場合ステップS325;YES、水平パリティ符号E1または垂直パリティ符号E2を用いてビット列中の誤りを訂正するステップS326。具体的には、たとえばDRAM130中のマトリクス状のビット配列のうち、水平パリティ符号E1および垂直パリティ符号E2の両方で誤りが検出された位置のビットの値を反転する。これにより、アドレス変換テーブル231に登録された物理アドレスPが修復される。また、DRAM130を修復後、変換部320は、ステップS328に進む。一方、ステップS325の結果、誤りを訂正することができないと判断された場合ステップS325;NO、コントローラ300は、図6のステップS123と同様のDRAM修復処理を実行しステップS327、その後、ステップS328に進む。以降の動作を実行する。なお、この転記動作は、たとえば外部からの割込み終了によって終了する。つづいて、第3の実施形態による動作について、図面を参照して説明する。第3の実施形態による書込動作は、第1の実施形態による書込動作と同様である。第3の実施形態による読出動作は、図6に示す読出動作において、ステップS123に示すDRAM修復処理が、図14に示す動作となる。図14に示すように、第3の実施形態によるDRAM修復処理では、変換部320は、図6のステップS118の結果として、ステップS113で読み出した物理アドレスP、すなわちDRAM130中のアドレス変換テーブル131に誤りがあると判断するステップS311。すると、変換部320は、読出要求の論理アドレスLrに対応する物理アドレスPfをフラッシュメモリ160に保存されたアドレス変換テーブル361から取得するステップS312。この際、変換部320は、読み出す物理アドレスPfに対応づけられた誤り訂正符号A2も読み出す。つづいて、変換部320は、読み出した物理アドレスPfおよび誤り訂正符号A2をテーブル誤り訂正部350に入力して誤り訂正を実行するステップS313。なお、ステップS313では、誤り訂正の必要がなければ、物理アドレスPfは、誤り訂正されない。つぎに、変換部320は、誤り訂正された物理アドレスPfで、DRAM130中のアドレス変換テーブル131における物理アドレスPを修正するステップS314。これにより、DRAM130中のアドレス変換テーブル131が修正される。その後、動作が図6に示す読出動作へリターンされる。以上のように、第3の実施形態では、第1の実施の形態と同様の構成に加えて、DRAM130中のアドレス変換テーブル131をフラッシュメモリ160中にバックアップしておく構成を備える。この結果、アドレス変換テーブル231自体に生じた誤りを迅速に修正することが可能となる。その他の構成および動作は、第1または第2の実施形態と同様であるため、ここでは重複する説明を省略する。本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。