閾値レベルの相違によって少なくとも4つのデータ状態が定義され、複数のデータ状態の各々に、複数ビットで構成される値を割り当てて多値記憶を行うメモルセルが複数配置されるメモリ部と、前記メモリ部の書込読出制御を行うコントローラとを有し、前記コントローラは、前記メモリセルの各々が記憶する複数ビットのうち、少なくとも1つのビットを、正常及び異常のいずれかの状態を表すエラー訂正ビットとし、他のビットを、データを記憶するためのデータビットとし、前記複数のデータ状態を、閾値レベルの大きさの順番に並べたとき、連続する4つのデータ状態のうち、閾値レベルが最小及び最大のデータ状態のエラー訂正ビットに正常を割り当て、閾値レベルが中間の2つのデータ状態のエラー訂正ビットに異常を割り当て、周期的に前記メモリセルのエラー訂正ビットのデータを読み出し、読み出された値が正常であるか異常であるかを判定し、異常であると判定された場合には、当該メモリセルの当該エラー訂正ビットを正常に再設定する不揮発性半導体記憶装置。前記メモリ部は、読み出しの単位となるメモリセル群を複数含み、該メモリセル群の各々は、複数のメモリセルを含み、メモリセル群の各々に少なくとも2つのページアドレスが割り当てられており、1つの第1ページアドレスは、前記データビットを指定し、他の1つの第2ページアドレスは、前記エラー訂正ビットを指定するNAND型フラッシュメモリであり、前記コントローラは、検査対象のメモリセル群の前記第2ページアドレスのデータを読み出し、読み出された第2ページアドレスのメモリセルのうち少なくとも1つのメモリセルの値が異常であると判定された場合には、前記検査対象のメモリセル群の第1ページアドレスのデータを読み出し、データを書き込むための新たなメモリセル群を取得し、新たに取得されたメモリセル群の第1ページアドレスに、前記検査対象のメモリセル群の第1ページアドレスのデータを書き込み、新たに取得されたメモリセル群の第2ページアドレスの全メモリセルの値を正常に設定する請求項1に記載の不揮発性半導体記憶装置。さらに、外部から与えられる論理アドレスと、メモリセル群に割り当てられた前記第1ページアドレスとを対応付けるアドレステーブルを有し、データ書き込み時に、前記コントローラは、データを書き込む論理アドレスに対応する第1ページアドレスを、前記アドレステーブルから取得し、取得された第1ページアドレスにデータを書き込み、取得された第1ページアドレスで指定されるメモリセル群に割り当てられた第2ページアドレスのメモリセルを正常に設定する請求項2に記載の不揮発性半導体記憶装置。データ読み出し時に、前記コントローラは、データを読み出す論理アドレスに対応する第1ページアドレスを、前記アドレステーブルから取得し、取得された第1ページアドレスからデータを読み出す請求項3に記載の不揮発性半導体記憶装置。前記メモリセルの各々はフローティングゲート型トランジスタを含み、フローティングゲートに蓄積される電荷量に応じて、当該メモリセルのデータ状態が決定される請求項1乃至4のいずれか1項に記載の不揮発性半導体記憶装置。不揮発性半導体記憶装置の信頼性を、より向上させる技術が望まれている。以下に説明する実施例では、閾値レベルの相違によって少なくとも4つのデータ状態が定義され、複数のデータ状態の各々に、複数ビットで構成される値を割り当てて多値記憶を行うメモルセルが複数配置されるメモリ部と、前記メモリ部の書込読出制御を行うコントローラとを有し、前記コントローラは、前記メモリセルの各々が記憶する複数ビットのうち、少なくとも1つのビットを、正常及び異常のいずれかの状態を表すエラー訂正ビットとし、他のビットを、データを記憶するためのデータビットとし、前記複数のデータ状態を、閾値レベルの大きさの順番に並べたとき、連続する4つのデータ状態のうち、閾値レベルが最小及び最大のデータ状態のエラー訂正ビットに正常を割り当て、閾値レベルが中間の2つのデータ状態のエラー訂正ビットに異常を割り当て、周期的に前記メモリセルのエラー訂正ビットのデータを読み出し、読み出された値が正常であるか異常であるかを判定し、異常であると判定された場合には、当該メモリセルの当該エラー訂正ビットを正常に再設定する不揮発性半導体記憶装置が提供される。エラー訂正ビットが異常であると判定されると、データビットにおいてビットエラーが発生する前に、エラー訂正ビットが正常に再設定される。これにより、データビットにおけるビットエラーの発生を抑制することができる。[実施例1]図1A~図1Dを参照して、実施例1による不揮発性半導体記憶装置について説明する。実施例1による不揮発性半導体記憶装置のメモリセルは、フローティングゲート型FETを含む。以下、1つのメモリセルが4値のデータを記憶する例について説明する。図1Aに示すように、半導体基板20の上に、ゲート絶縁膜23、フローティングゲート24、中間絶縁膜25、コントロールゲート26がこの順番に積層されている。この積層構造の両側の基板表層部に、ソース21及びドレイン22が形成されている。フローティングゲート型FETがオンとなる閾値電圧以下、閾値と称する。は、フローティングゲート24に蓄積される電荷量に依存する。図1Aに示す不揮発性半導体記憶装置では、蓄積電荷量または閾値レベルの異なる4つの状態を、それぞれ4値のデータのいずれかの値に対応付けることにより、4値記憶を行うことができる。図1Aは、フローティングゲート23に電荷が蓄積されていない状態消去状態を示す。図1B、図1C、図1Dは、それぞれフローティングゲート23に蓄積された電荷量が少ない状態、中間の状態、及び多い状態を示す。以下、図1A、図1B、図1C、及び図1Dの状態を、それぞれデータ状態A、データ状態B、データ状態C、及びデータ状態Dということとする。データ状態Aの閾値レベルが最も低く、データ状態Dの閾値レベルが最も高い。例えば、データ状態Aの閾値は、第1レベル第1レベルの大きさをVaとする。よりも低い。データ状態Bの閾値は、第1レベルVaと、それよりも高い第2レベル第2レベルの大きさをVbとする。との間である。データ状態Cの閾値は、第2レベルVbと、それよりも高い第3レベル第3レベルの大きさをVcとするとの間である。データ状態Dの閾値は、第3レベルVcよりも高い。実施例1による不揮発性半導体記憶装置では、データ状態A、B、C、Dに、それぞれ2ビットのデータ1/1、0/1、0/0、1/0を割り当てる。2ビットのデータb1/b0のうちビットb0をデータビットとして用い、ビットb1をエラー訂正ビットとして用いる。すなわち、4つのデータ状態のうち、閾値レベルが最小及び最大のデータ状態A及びDのエラー訂正ビットb1に1を割り当て、閾値レベルが中間の2つのデータ状態B及びCのエラー訂正ビットb1に0を割り当てる。通常のECCによるエラー訂正ビットは、データビットにエラーが発生したことを検出し、データビットを正常の値に再設定するために用いられる。これに対し、実施例1におけるエラー訂正ビットは、データビットにエラーが発生する前に、メモリトランジスタの状態を、エラーが発生し難い状態に再設定するために用いられる。データ書込み時には、エラー訂正ビットb1に常に1を書き込む。このため、ビットエラーが生じていないとき、すなわち正常時には、エラー訂正ビットb1は1に設定されている。エラー訂正ビットb1が1の状態を正常状態といい、エラー訂正ビットb1が0の状態を異常状態ということとする。エラー訂正ビットb1は、正常及び異常の2値のうちいずれかの値をとる。図1A~図1Dでは、データ状態A及びDのエラー訂正ビットb1に1を割り当て、データ状態B及びCのエラー訂正ビットb1に0を割り当てたが、その逆に、データ状態A及びDのエラー訂正ビットb1に0を割り当て、データ状態B及びCのエラー訂正ビットb1に1を割り当ててもよい。この場合には、エラー訂正ビットb1が0の状態が正常状態に対応し、エラー訂正ビットb1が1の状態が異常状態に対応する。データ状態Dのメモリセルにおいては、データリテンションにより、フローティングゲート24内の電荷が基板等にリークし、閾値が低下する。閾値が、データ状態CとDとを区別する第3レベルVc以下になると、データ状態がDからCに遷移してしまう。逆に、データ状態Aのメモリセルにおいては、リードディスターブ及びプログラムディスターブによって、フローティングゲート24内に予期せぬ電荷が注入される。これにより、フローティングゲート型FETの閾値が上昇する。閾値が、データ状態AとBとを区別する第1レベルVa以上になると、データ状態がAからBに遷移してしまう。実施例1による不揮発性半導体記憶装置では、メモリセルと共にパッケージングされたコントローラが、定期的にエラー訂正ビットb1の値を読み出す。読み出された値が0異常である場合には、そのエラー訂正ビットb1の値を1正常に再設定本明細書において、この再設定処理をリフレッシュということとする。する。これにより、読み出されたメモリセルがデータ状態Bである場合には、データ状態Aに戻され、読み出されたメモリセルがデータ状態Cである場合には、データ状態Dに戻される。すなわち、異常状態が、当該異常状態のデータビットb0の値を変化させることなく、正常状態に戻される。図2に、データ状態Dのメモリセルの閾値電荷蓄積量に依存の時間変動の一例を示す。横軸は経過時間を表し、縦軸は閾値レベルを表す。閾値が第1レベルVaよりも低い領域が、データ状態A、すなわちb1/b0=1正常/1に対応する。閾値が第1レベルVaよりも高く、かつ第2レベルVbより低い領域が、データ状態B、すなわちb1/b0=0異常/1に対応する。閾値が第2レベルVbよりも高く、かつ第3レベルVcより低い領域が、データ状態C、すなわちb1/b0=値0異常/0に対応する。閾値が第3レベルVcよりも高い領域が、データ状態D、すなわちb1/b0=1正常/0に対応する。初期状態では、データ状態Dのメモリセルの閾値はVdに設定される。メモリセルの閾値は、データリテンションによって、時間の経過とともに低下する。時刻t1において、メモリセルの閾値が第3レベルVcまで低下する。時刻t1以降は、メモリセルの閾値が第3レベルVcを下回るため、メモリセルがデータ状態Cになる。時刻tr1において、リフレッシュ処理が起動されると、メモリセルのエラー訂正ビットb1の値が、0異常から1正常に再設定される。このとき、データビットb0は書き換わらない。これにより、メモリセルの値がb1/b0=1正常/0に再設定され、閾値が初期値Vdに戻る。その後、周期Tiで定期的にリフレッシュ処理が実行されることにより、メモリセルの閾値が初期値Vdに再設定される。これにより、データビットb0のビットエラーの発生を防止することができる。一方、時刻tr1でリフレッシュ処理を行うことなく、時刻t2に至ると、メモリセルの閾値が第2レベルVbまで低下する。時刻t2を過ぎると、メモリセルの閾値が第2レベルVbを下回り、メモリセルがデータ状態B、すなわち記憶されている値がb1/b0=0異常/1になってしまう。この状態でリフレッシュ処理を実行すると、メモリセルの値が、b1/b0=1正常/1に再設定される。このように、データビットb0の値が書き換えられてしまう。データビットb0のビットエラー発生を防止するために、データ状態Dのメモリセルの閾値が、初期値Vdから第2レベルVbまで低下する時間よりも、リフレッシュ周期Tiを短くすることが好ましい。記憶されている値b1/b0=0異常/1のメモリセルのリフレッシュは、本来、記憶されている値がb1/b0=1正常/1のメモリセルのエラー訂正ビットb1が0異常になったときに、メモリセルの値を元の値に戻すために行われる。ところが、図2において、時刻t2以降にリフレッシュを行うと、メモリセルの値が、元の値に戻らず、データビットb0にエラーが発生してしまう。図3に、データ状態Aのメモリセルの閾値の時間変動の一例を示す。図3の横軸は経過時間を表し、縦軸は閾値レベルを表す。データ状態Aのメモリセルの閾値は、初期値Voに設定されている。リードディスターブまたはプログラムディスターブが発生する度に、メモリセルの閾値が上昇する。閾値の上昇が繰り返され、時刻t2において、閾値が第1レベルVaに達する。時刻t2以降は、メモリセルがデータ状態B、すなわちメモリセルの値がb1/b0=0異常/1になる。時刻tr1においてリフレッシュ処理が実行されると、メモリセルのエラー訂正ビットb1が0異常から1正常に再設定される。これにより、メモリセルの閾値が、初期値Voに戻る。メモリセルの閾値が第2レベルVbを超える前にリフレッシュ処理を実行することにより、データビットb0のビットエラー発生を防止することができる。上記実施例1では、1つのメモリセルが4値記憶、すなわち2ビットのデータの記憶を行う場合を示した。上記実施例1は、4値以外の多値記憶、すなわち、3ビット、4ビット等の記憶を行う不揮発性半導体記憶装置にも適用可能である。例えば、図1A~図1Dに示したように、複数のデータ状態を閾値レベルの順番に配列したとき、連続する4つのデータ状態A~Dのうち、閾値レベルが最小及び最大のデータ状態A、Dのエラー訂正ビットに正常を割り当て、両者の間の2つのデータ状態B、Cのエラー訂正ビットに異常を割り当てる。これにより、データ状態の閾値が変動して異常状態になったとき、そのデータ状態を、最も近い正常なデータ状態に戻すことができる。また、上記実施例1では、フローティングゲート型FETでメモリセルを構成したが、何らかの外乱によって閾値が変動する特性を持つ素子でメモリセルを構成してもよい。例えば、SONOS型FETでメモリセルを構成してもよいし、相変化メモリPRAMでメモリセルを構成してもよい。上記実施例1による不揮発性反相対記憶装置は、記憶容量の点では、シングルレベルセルSLCと変わりはない。ところが、従来のSLCでは、データビットの1/0判定を1つの判定閾値で行う。このため、メモリセルの閾値が変動して、この判定閾値に近接しても、その状態を検出することができない。このまま放置すると、ビットエラーが発生してしまう。実施例1においては、修復不可能な閾値変動が生じる前に、閾値を初期の値まで戻すことができる。このため、ビットエラーの発生を未然に防止することができる。[実施例2]図4に、実施例2によるNAND型フラッシュメモリを用いたソリッドステートドライブSSDのブロック図を示す。SSD30は、メモリ部31、入出力インタフェース32、SSDコントローラ33、及びアドレステーブル34を含む。メモリ部31は、NAND型フラッシュメモリで構成される。SSD30は、入出力インタフェース32を介して、ホストコンピュータ35に接続される。ホストコンピュータ35から、論理アドレスを指定して、データ書込みまたはデータ読出しコマンドがSSD30に送信される。アドレステーブル34に、論理アドレスと、ページアドレス物理アドレスとの対応関係が記憶されている。SSDコントローラ33は、ホストコンピュータ35からのコマンドに基づいて、アドレステーブル34を参照し、論理アドレスからページアドレスを取得する。SSDコントローラ33は、取得されたページアドレスに基づいて、メモリ部31にアクセスする。図5に、NAND型フラッシュメモリで構成されたメモリ部31の等価回路図を示す。図5の列方向に配置された複数のメモリセル41が直列接続されて、NANDセルユニット40を構成する。メモリセル41の各々は、図1A~図1Dに示したフローティングゲート型FETで構成される。また、図5の例では、複数のNANDセルユニット40が、行方向に配列している。これにより、メモリセル41が行列状に配置される。メモリセル41の各行に対応して、ワード線WLが配置されている。メモリセル41のコントロールゲートが、対応する行のワード線WLに接続される。NANDセルユニット40に対応して、ビット線BLが配置される。NANDセルユニット40の一端が、第1選択トランジスタ42を介して、対応するビット線BLに接続される。複数の第1選択トランジスタ42のゲートが、1本の第1選択ゲート線SG1に接続される。複数のNANDセルユニット40の他端が、第2選択トランジスタ43を介して、1本のソース線SLに接続される。複数の第2選択トランジスタ43のゲートは、1本の第2選択ゲート線SG2に接続される。行デコーダ50によって、複数のワード線WLから1本のワード線WLが選択される。また、各ビット線BLがページバッファ51に接続されている。選択されたワード線に接続されたメモリセル41から読み出されたデータが、ビット線BLを介してページバッファ51に一時的に記憶される。同一のワード線WLに接続された1行分のメモリセル41メモリセル群45に、2つのページアドレス物理アドレスが割り当てられる。例えば、図5において、第1行目のメモリセルセル群45にはページアドレスPA1及びPA11が割り当てられ、第i行目のメモリセル群45にはページアドレスPA12i-1及びPA12i-1が割り当てられる。図5では、1つのメモリセル群45に、連続する2つのページアドレスを割り当てたが、1つのメモリセル群45に割り当てられる2つのページアドレスは、必ずしも連続する必要はない。図6Aに、アドレステーブル34図4に格納される論理アドレスとページアドレスとの対応関係の一例を示す。通常は、複数例えば8個の論理アドレスをまとめて、論理アドレスとページアドレスとの対応関係がアドレステーブル34に記憶される。従来は、論理アドレスとページアドレスとの対応は1対1であったが、実施例2においては、論理アドレスとページアドレスとが1対2の対応関係を有する。例えば、図6Aの例では、論理アドレスLA1~LA17が、ページアドレスPA1~PA115に対応付けられる。図6Bに、論理アドレスLA1~LA17と、ページアドレスPA1~PA115との詳細な対応関係を示す。実施例2では、1つの論理アドレスに、第1ページアドレス及び第2ページアドレスの2つのページアドレスが対応付けられる。1つの論理アドレスに対応付けられた第1ページアドレス及び第2ページアドレスは、同一のメモリセル群45に割り当てられたものである。例えば、論理アドレスLA1に、第1ページアドレスPA11及び第2ページアドレスPA1が対応付けられる。第1ページアドレス及び第2ページアドレスは、それぞれメモリセル41のデータビットb0及びエラー訂正ビットb1図1A~図1Dを指定する。図7を参照して、データ書込み方法について説明する。ホストコンピュータ35からSSDコントローラ33に、書込み論理アドレスとして、LA1~LA17を指定し、書込みデータとしてデータDを指定する書込みコマンドが送信されるXA1。SSDコントローラ33は、アドレステーブル34を参照しXA2、書き込み可能なページアドレスを取得するXA3。論理アドレスLA1~LA17を、新しく取得されたページアドレスPA1~PA115に対応付ける。論理アドレスLA1~LA17に対応付けられていた旧ページアドレスは開放する。SSDコントローラ33は、メモリ部31のページアドレスPA1~PA115のうち、第1ページアドレス、すなわちPA12i1iは、0~7の整数で指定されるメモリセル群45に、ホストコンピュータ35から書込み指令されたデータDを書き込むXA4。さらに、SSDコントローラ33は、ページアドレスPA1~PA115のうち、第2ページアドレス、すなわちPA12iiは、0~7の整数で指定されるメモリセル群45に、1正常を書き込むXA5。データDが書き込まれるメモリセル群45と、1正常が書き込まれるメモリセル群45とは、同一のメモリセル群である。SSDコントローラ33は、メモリ部31から書込み完了の応答XA6を受信すると、ホストコンピュータ35に、書込み完了の応答信号を送信するXA7。書込み完了時点で、各メモリセル41は、図1Aに示したデータ状態Aまたは図1Dに示したデータ状態Dに設定される。図8を参照して、データ読出し方法について説明する。ホストコンピュータ35からSSDコントローラ33に、読出し論理アドレスとして、LA1~LA17を指定する読出しコマンドが送信されるXB1。SSDコントローラ33は、アドレステーブル34を参照しXB2、論理アドレスLA1~LA17に対応するページアドレスPA1~PA115を取得するXB3。SSDコントローラ33は、メモリ部31のページアドレスPA1~PA115のうち、第1ページアドレス、すなわちPA12i1iは、0~7の整数のメモリセル群45にアクセスしXB4、データDを読み出すXB5。SSDコントローラ33は、ホストコンピュータ35に、読み出されたデータDを含む応答信号を送信するXB6。データ読出し時には、ページアドレスPA1~PA115のうち、第2ページアドレスへのアクセスは行われない。また、ECCに基づくエラー訂正も行われない。このため、高速な読出しを行うことができる。図9を参照して、リフレッシュ動作について説明する。リフレッシュ動作は、ホストコンピュータ35図4からの指令を受けることなく、SSDコントローラ33が自律的に行う。例えば、一定の周期で、定期的にリフレッシュ動作が実行される。リフレッシュ動作が起動されると、SSDコントローラ33は、アドレステーブル34を参照してXC1、有効データが記憶されているページアドレスを取得するXC2。ここでは、ページアドレスPA1~PA115が、アドレステーブル34から取得された場合について説明する。SSDコントローラ33は、取得されたページアドレスPA1~PA115のうち、第2ページアドレス、すなわちPA12iiは0~7の整数にアクセスしXC3、メモリ部31からデータを読み出すXC4。メモリ部31からSSDコントローラ33に読み出されたデータCが正常か否かの判定を行うXC5。データCのすべてのビット、すなわち、読出し対象のメモリセル群45図5に属するすべてのメモリセル41の各々から読み出されたビットの値が1正常であれば正常と判定され、少なくとも1つのビットが0異常であれば、異常と判定される。判定結果が正常でれば、SSDコントローラ33は、リフレッシュ動作の終了判定を行うXC14。判定結果が異常であれば、SSDコントローラ33は、メモリ部31のページアドレスPA1~PA115のうち第1ページアドレスにアクセスしXC6、データを読み出すXC7。読み出されたデータを、データDとする。ここで、データDは、読出し対象のメモリセル群45図5に属するすべてのメモリセル41の各々から読み出されたビットを含む。SSDコントローラ33は、アドレステーブル34にアクセスしXC8、新たに書込みを行うことができる新しいページアドレスを取得するXC9。取得された新しいページアドレスをPA2~PA215とする。これに伴い、旧ページアドレスPA1~PA115を開放する。新しいページアドレスPA2~PA215のうち、第1ページアドレス、すなわちページアドレスPA22i1iは0~7の整数にデータDを書き込むXC10。SSDコントローラ33がメモリ部31から書き込み完了のメッセージを受信するとXC11、新しいページアドレスPA2~PA215のうち、第2ページアドレス、すなわちページアドレスPA22iiは0~7の整数に、1正常を書き込むXC12。SSDコントローラ33は、メモリ部31から書き込み完了メッセージを受信するとXC13、リフレッシュ動作の終了判定を行うXC14。有効データが記憶されているすべてのページアドレスについて、上述の処理が終了すると、今周期のリフレッシュ動作を終了する。リフレッシュ処理が終了していないページアドレスが存在する場合には、すべての有効なページアドレスについてリフレッシュ処理が終了するまで、上記リフレッシュ処理を繰り返す。これにより、有効データが記憶されているページアドレスのメモリセル41が、データ状態A図1Aまたはデータ状態D図1Dの状態に設定される。すなわち、リフレッシュ動作時にデータ状態B図1Bまたはデータ状態C図1Cの状態のメモリセル41が検出された場合に、それらのメモリセルが、データ状態Aまたはデータ状態Dに再設定される。これにより、データビットb0のビットエラー発生を未然に防止することができる。さらに、本実施例では、ECC回路を準備する必要がないため、チップ面積の増大、及びECC復号化及び符号化による遅延時間の増大を抑制することができる。なお、実施例2において、ECCによるエラー訂正を併用してもよい。この場合、実施例2による方法である程度高い信頼性が確保されるため、ECCの冗長度を小さくすることができる。[実施例3]図10に、実施例3による不揮発性半導体記憶装置の概略ブロック図を示す。以下の説明では、実施例2との相違点に着目して説明を行い、同一の構成については説明を省略する。実施例2では、メモリ部にNAND型フラッシュメモリを用いたが、実施例3では、メモリ部31にNOR型フラッシュメモリが用いられる。実施例3においても、実施例2の場合と同様に、入出力インタフェース32、コントローラ33、及びアドレステーブル34が準備される。メモリ部31は、行デコーダ61、入出力バッファ63、読出書込回路64、及び行列状に配置されたメモリセル65を含む。メモリセル65の各々は、図1A~図1Dに示したフローティングゲート型FETで構成される。例えば、1行分のメモリセルからなるメモリセル群66に、2つの物理アドレスが割り当てられる。アドレステーブル34は、1つの論理アドレスに対して、1つのメモリセル群66に割り当てられた2つの物理アドレスを対応付ける。2つの物理アドレスのうち、一方の第1物理アドレスは、図1A~図1Dのデータビットb0を指定し、他方の第2物理アドレスは、図1A~図1Dのエラー訂正ビットb1を指定する。以下、実施例3の不揮発性半導体記憶装置の書込み動作について説明する。SSDコントローラ33が、書込み指令のあった論理アドレスに対応する第1及び第2物理アドレスを取得する。SSDコントローラ33は、取得された第1及び第2物理アドレスが指定するメモリセル群66内のメモリセル65を消去状態にする。その後、SSDコントローラ33は、第1物理アドレスに、書き込むべきデータを書き込み、第2物理アドレスの全エラー訂正ビットに正常を設定する。次に、読出し動作について説明する。SSDコントローラ33が、読出し指令のあった論理アドレスに対応する第1物理アドレスを取得する。SSDコントローラ33は、第1物理アドレスが指定するメモリセル群66内のメモリセル65からデータを読み出す。読み出されたデータを、SSDコントローラ33が、ホストコンピュータ35に送信する。次に、リフレッシュ動作について説明する。コントローラ33は、定期的に、各メモリセル群66の第2物理アドレスで指定されるエラー訂正ビットb1のデータを読み出す。あるメモリセル群66から読み出されたエラー訂正ビットb1の少なくとも1つが異常であれば、SSDコントローラ33は、当該メモリセル群66の第1物理アドレスのデータを読出し、SSDコントローラ33内の一時記憶領域に記憶する。その後、SSDコントローラ33は、当該メモリセル群66内のメモリセル65を消去状態にする。その後、SSDコントローラ33は、第1物理アドレスに、一時記憶領域に記憶されているデータを書き込み、第2物理アドレスの全エラー訂正ビットに、正常を設定する。NOR型フラッシュメモリで構成されたメモリ部31では、メモリセル1行ごとに消去することが可能である。従って、リフレッシュ動作時に異常状態のメモリセルが検出された場合に、新たに物理アドレスを取得することなく、異常状態のメモリセルが検出された物理アドレスのデータを書き換えればよい。実施例3においても、データビットのビットエラー発生を未然に防止することができる。以上実施例に沿って本発明を説明したが、本発明はこれらに制限されるものではない。例えば、種々の変更、改良、組み合わせ等が可能なことは当業者に自明であろう。