可変抵抗体の両端に電極を担持し、当該両端の間に電気的ストレスを与えることにより、当該両端間の抵抗特性で規定される抵抗状態が二以上の異なる抵抗状態間で遷移し、当該遷移後の一の抵抗状態を情報の記憶に用いる可変抵抗素子と、前記可変抵抗素子の一端の電極と接続する電流制限素子を備えてなるメモリセルを、行方向及び列方向に夫々複数配列してなるメモリセルアレイを有し、複数の情報ビットに対して誤り訂正符号化を施し、前記情報ビットよりビット長の長い符号化データを生成する符号化動作、前記符号化データの前記第1の論理値のビットに対応する選択された前記メモリセルの前記可変抵抗素子の両端の電極に第1極性の書き換え電圧パルスを印加し、前記可変抵抗素子を第1抵抗状態に遷移させる第1の書き換え動作、前記符号化データの前記第2の論理値のビットに対応する選択された前記メモリセルの前記可変抵抗素子の両端の電極に前記第1極性とは極性が逆の第2極性の書き換え電圧パルスを印加し、前記可変抵抗素子を第2抵抗状態に遷移させる第2の書き換え動作、前記第1極性の読み出し電圧パルスを前記符号化データに対応する複数の選択された前記メモリセルの前記可変抵抗素子の両端の電極に印加して、当該選択された前記メモリセルの前記抵抗状態を読み出し、前記符号化データとして読み出す読み出し動作、及び、前記読み出し動作により読み出された前記符号化データの誤りを検出し、訂正して復号化する復号化動作を制御する制御回路を備える半導体記憶装置であって、前記制御回路は、前記復号化動作において読み出された符号化データの誤りが検出された場合、当該誤りの誤り位置に対応する前記メモリセルを選択し、当該誤り位置に対応する全ての前記メモリセルに対して前記第2の書き換え動作を実行して、前記メモリセルアレイに記憶されている前記符号化データに対する訂正動作を制御することを特徴とする半導体記憶装置。前記訂正動作において、前記第2の書き換え動作を実行する前に、前記誤り位置に対応する全ての前記メモリセルに対して前記第1の書き換え動作を実行することを特徴とする請求項1に記載の半導体記憶装置。前記制御回路は、前記復号化動作において読み出された符号化データの誤りが検出された場合、当該誤りの誤り位置に対応する全ての前記メモリセルの前記可変抵抗素子の抵抗状態を前記第2抵抗状態に設定して、前記訂正動作の実行と並行して、誤り訂正後の復号化されたデータを出力する読み出し出力動作の実行を制御することを特徴とする請求項1または2に記載の半導体記憶装置。前記読み出し出力動作の実行が、前記訂正動作における前記第2の書き換え動作と同一の動作サイクルで開始されることを特徴とする請求項3に記載の半導体記憶装置。前記制御回路は、前記復号化動作において読み出された符号化データの誤りが検出された場合、当該誤りの誤り位置に対応する全ての前記メモリセルの前記可変抵抗素子の抵抗状態を前記第2抵抗状態に設定して、誤り訂正後の復号化されたデータを出力する読み出し出力動作が実行され、前記読み出し出力動作の実行が、前記訂正動作における前記第1の書き換え動作と同一の動作サイクルで開始されるように制御することを特徴とする請求項2に記載の半導体記憶装置。前記メモリセルアレイが、複数のバンクに分割されてなり、前記制御回路は、異なる2つの前記バンクに対し、一方の前記バンク内の前記メモリセルに対する前記訂正動作の実行中または実行の開始と同時に他方の前記バンク内の前記メモリセルに対する前記読み出し動作の実行を開始する動作サイクル、或いは、一方の前記バンク内の前記メモリセルに対する前記訂正動作の実行中または実行の終了と同時に他方の前記バンク内の前記メモリセルに対する前記読み出し動作の実行を終了する動作サイクルで、前記訂正動作、及び、前記読み出し動作を実行するように制御することを特徴とする請求項1~5の何れか一項に記載の半導体記憶装置。前記制御回路は、複数の選択された前記メモリセルの夫々に対して前記第1の書き換え動作または前記第2の書き換え動作の何れかを実行することで、当該選択された前記メモリセルに前記符号化データを書き込む符号化書き込み動作を制御し、複数の選択された前記メモリセルに対し、前記読み出し動作が前記符号化書き込み動作直後に実行され、その後の前記復号化動作において読み出された符号化データの誤りが検出された場合、当該誤りの前記誤り位置に対応する前記メモリセルの夫々につき、当該メモリセルの前記可変抵抗素子の抵抗状態が前記第1抵抗状態の場合に前記第2の書き換え動作を、当該メモリセルの前記可変抵抗素子の抵抗状態が前記第2抵抗状態の場合に前記第1の書き換え動作を実行する第2の訂正動作を制御することを特徴とする請求項1~6の何れか一項に記載の半導体記憶装置。前記可変抵抗体が、Al、Hf、Ni、Co、Ta、Zr、W、Ti、Cu、V、Zn、Nbの少なくとも何れかの金属の酸化物もしくは酸窒化物を含んでなることを特徴とする請求項1~7の何れか一項に記載の半導体記憶装置。半導体記憶装置をメモリとして用いるためには、書き込まれたデータに対する読み出し動作が必須である。例えば論理値0或いは論理値1の何れかが書き込まれたデータを情報として用いるためには、当該データが書き換えられない限り常に正しく論理値0或いは論理値1の何れかを読み出されなければならない。一方、金属酸化物を有する可変抵抗素子を用いたメモリでは、データは二端子の可変抵抗素子の抵抗状態として記憶される。このため当該可変抵抗素子の抵抗状態を変化させる書き込み、消去、及び、抵抗状態の読み出しは、上記二端子間に印加する電圧の大小のみで制御しなければならず、読み出し動作によるデータの誤書き込みを防ぐため、書き込み、消去の電圧と、読み出しの電圧との間に十分に差があることが望ましい。しかし、素子の微細化集積化とともに、書き込み、消去に用いられる電圧、電流を低減することが要求される一方、高速な読み出し速度を実現するためには読み出し電流を大幅に低減することは困難なため、書き込み電圧および消去電圧と読み出し電圧との間に充分な差をつけるのは困難になりつつある。更に、メモリの大容量化により搭載される素子数は増大し、読み出しによるデータの誤書き込みの可能性は増大する。更に、特定のメモリセルに対して途中の書き換えなしにデータを読み出し続けると徐々に或いはあるタイミングで抵抗値が変化し、次の読み出しを行ったときに誤ったデータを出力してしまい、情報として誤ったものが出力されるという現象が起きることもある。尚、以降において、この現象を読み出しディスターブと称する。上記の誤書き込み対策として、データの読み出しを行うにあたり、信頼性を向上させるためにECCErrorCheckingandCorrectingといった手法を用いてデータ誤りを検出し、誤りが検出されたデータを反転して訂正し出力する方法が広くフラッシュメモリやストレージディスクで使用されている。しかしながら、上述したように読み出しによりデータに誤書き込みが生じる場合、読み出しの出力のみを訂正しても読み出しを続けるうちに誤書き込みされたビットが累積して増大し、ECCで検知訂正できる限界を超えてしまうという課題がある。そこで、例えば特許文献2のようなデータ誤りが検出された際に出力を訂正するだけでなくメモリセルのデータを訂正する方法が提案されている。しかし誤りが検出される度、メモリセルに書き込まれたデータの書き換え訂正を行う場合、フラッシュメモリのように読み出しに比べ書き込み消去が何桁も遅い場合、メモリシステムのデータ読み出し速度に大きく影響を与え性能を低下させることになる。更に、読み出し出力を訂正するのには、読み出したデータを反転するだけでよいが、メモリセルのデータの訂正を行う場合、可変抵抗素子の書き込み動作が必要でありその工程は複雑になる。すなわち、誤りが検出された場合において、メモリセルに書き込まれたデータを訂正しようとすると、誤りデータがどういった誤りなのかを判断する必要がある。例えば論理値1例えば高抵抗状態に相当と論理値0例えば低抵抗状態に相当を書き込むことができるメモリセルの場合、データの誤りについて、元々論理値1が書き込まれていたデータが論理値0に変化してしまった誤りなのか、元々論理値0が書き込まれていたデータが論理値1に変化してしまった誤りなのかを判断する必要があるため、データを訂正するためには当該誤りがどちらなのかを判断するための時間が必要となる。更に、論理値0を1に書き換える時の書き込み条件と論理値1を0に書き換えるときの、回路上の電圧の印加条件は大きく異なるため、状態を判断した後に、書き換え対象のメモリセルへの所望の書き込みのための電圧印加状態に設定するまでにさらに時間を要する。尚、上記では論理値1を高抵抗状態、論理値0を低抵抗状態として説明したが、論理値1及び0を夫々低抵抗状態および高抵抗状態としても同様である。本発明は、上述した従来の問題を鑑み、連続して読み出しを行った際に発生する可能性のあるデータの誤りを検出、及び訂正するに当たり、効率よくデータ訂正を行うことのできる半導体記憶装置を提供することを目的とする。本発明では、以下に示す金属酸化物を有する可変抵抗素子の特性を利用することで、メモリセルのデータ誤りを訂正する書き込み工程を簡略化するものである。上部電極Taと下部電極TiNの間にHf酸化物膜3nmで構成される可変抵抗体を挟持した可変抵抗素子を作製し、高抵抗状態から低抵抗状態に書き換える書き換え電圧パルス1.8V、50nsecと同一極性の読み出し電圧パルス0.7V、100nsecを連続して印加して読み出し動作を行った場合の、5ビットの可変抵抗素子夫々の低抵抗状態、及び、高抵抗状態の読み出しディスターブ特性を図8、図9に示す。即ち、図8は可変抵抗素子が低抵抗状態にある場合に、書き換え電圧パルスを印加することなく連続して当該読み出し電圧パルスを印加した場合の読み出し電圧パルス印加回数と可変抵抗素子の抵抗値の変化を示したグラフである。また、図9は可変抵抗素子が高抵抗状態にある場合に、書き換え電圧パルスを印加することなく連続して当該読み出し電圧パルスを印加した場合の読み出し電圧パルス印加回数と可変抵抗素子の抵抗値の変化を示したグラフである。図8に示すように、可変抵抗素子が低抵抗状態にある場合、読み出しを連続して行っても大きな抵抗変化は生じない。ところが、図9に示すように、可変抵抗素子が高抵抗状態にある場合、連続して読み出しを実行していくうちにあるタイミングで抵抗が大きく変化し、高抵抗状態から低抵抗状態へ変化してしまう読み出しディスターブが発生する。同様に、低抵抗状態から高抵抗状態に書き換える書き換え電圧パルス-1.6V、50nsecと同一極性の読み出し電圧パルス-0.7V、100nsecを連続して印加する第2読み出し動作の場合の、5ビットの可変抵抗素子夫々の低抵抗状態、及び、高抵抗状態の読み出しディスターブ特性を図10、図11に示す。図10は可変抵抗素子が低抵抗状態にある場合に、書き換え電圧パルスを印加することなく連続して当該読み出し電圧パルスを印加した場合の読み出し電圧パルス印加回数と可変抵抗素子の抵抗値の変化を示したグラフであり、図11は可変抵抗素子が高抵抗状態にある場合に、書き換え電圧パルスを印加することなく連続して当該読み出し電圧パルスを印加した場合の読み出し電圧パルス印加回数と可変抵抗素子の抵抗値の変化を示したグラフである。図10に示すように、可変抵抗素子が低抵抗状態にある場合、連続して読み出しを実行していくうちに抵抗値が徐々に上昇していき、低抵抗状態から高抵抗状態へ変化してしまう読み出しディスターブが発生している。しかし、図11に示すように、可変抵抗素子が高抵抗状態にある場合、読み出しを連続して行っても大きな抵抗変化は生じない。図12aに、図8及び図9に対応して、第1読み出し動作を100000回行った後の高抵抗状態と低抵抗状態で発生した不良ビット数を、図12bに、図10及び図11に対応して、第2読み出し動作を100000回行った後の高抵抗状態と低抵抗状態で発生した不良ビット数を、夫々示す。以上より、高抵抗状態から低抵抗状態に書き換える書き換え電圧パルスと同一極性の読み出し電圧パルスを用いると、低抵抗状態へ変化してしまう読み出しディスターブが発生する。しかしながら、高抵抗状態へ変化してしまうことはなく、読み出したデータに誤りがあるとすれば、それは高抵抗状態であるべきビットが低抵抗状態になっている場合に限られる。同様に、低抵抗状態から高抵抗状態に書き換える書き換え電圧パルスと同一極性の読み出し電圧パルスを用いると、高抵抗状態へ変化してしまう読み出しディスターブが発生する。しかしながら、低抵抗状態へ変化してしまうことはなく、読み出したデータに誤りがあるとすれば、それは低抵抗状態であるべきビットが高抵抗状態になっている場合に限られる。これは即ち、読み出し動作により発生する誤書き込みは、読み出しと同一極性の書き換え電圧パルスの印加による書き込みに限られるということを意味する。本発明では、この特性を利用し、ECCの誤り検出において誤りが発見された場合は、その抵抗状態を判断する工程を省略すると共に、誤りが発見された全てのメモリセルの可変抵抗素子の訂正動作を、何れか一方の極性の同一の書き換え電圧パルスの印加で行うことにより、訂正動作に要する時間を大幅に短縮することが可能となる。即ち、上記目的を達成するための本発明に係る半導体記憶装置は、可変抵抗体の両端に電極を担持し、当該両端の間に電気的ストレスを与えることにより、当該両端間の抵抗特性で規定される抵抗状態が二以上の異なる抵抗状態間で遷移し、当該遷移後の一の抵抗状態を情報の記憶に用いる可変抵抗素子と、前記可変抵抗素子の一端の電極と接続する電流制限素子を備えてなるメモリセルを、行方向及び列方向に夫々複数配列してなるメモリセルアレイを有し、複数の情報ビットに対して誤り訂正符号化を施し、前記情報ビットよりビット長の長い符号化データを生成する符号化動作、前記符号化データの前記第1の論理値のビットに対応する選択された前記メモリセルの前記可変抵抗素子の両端の電極に第1極性の書き換え電圧パルスを印加し、前記可変抵抗素子を第1抵抗状態に遷移させる第1の書き換え動作、前記符号化データの前記第2の論理値のビットに対応する選択された前記メモリセルの前記可変抵抗素子の両端の電極に前記第1極性とは極性が逆の第2極性の書き換え電圧パルスを印加し、前記可変抵抗素子を第2抵抗状態に遷移させる第2の書き換え動作、前記第1極性の読み出し電圧パルスを前記符号化データに対応する複数の選択された前記メモリセルの前記可変抵抗素子の両端の電極に印加して、当該選択された前記メモリセルの前記抵抗状態を読み出し、前記符号化データとして読み出す読み出し動作、及び、前記読み出し動作により読み出された前記符号化データの誤りを検出し、訂正して復号化する復号化動作を制御する制御回路を備える半導体記憶装置であって、前記制御回路は、前記復号化動作において読み出された符号化データの誤りが検出された場合、当該誤りの誤り位置に対応する前記メモリセルを選択し、当該誤り位置に対応する全ての前記メモリセルに対して前記第2の書き換え動作を実行して、前記メモリセルアレイに記憶されている前記符号化データに対する訂正動作を制御することを第1の特徴とする。尚、以降の説明において、第1の論理値を0、第2の論理値を1とする。尚、可変抵抗素子の高抵抗状態を論理値0、低抵抗状態を論理値1に割り当てても、可変抵抗素子の低抵抗状態を論理値0、高抵抗状態を論理値1に割り当てても、どちらでも構わない。以降、論理値0に対応する可変抵抗素子の抵抗状態を0状態と、論理値1に対応する可変抵抗素子の抵抗状態を1状態と、適宜称する。本発明では、読み出し動作において、当該第1の論理値0にメモリセルを書き換えるための書き換え電圧パルスと同一極性の読み出し電圧パルスを印加して、符号化されたデータを読み出す。この場合、上述した通り、論理値1であるべきビットに0が書き込まれるという誤書き込みは発生しうるが、論理値0であるべきビットに1が書き込まれるという誤書き込みは発生しない。従って、符号化データの復号化後の誤り検出動作において誤りが検出されたとすれば、それは論理値1であるべきビットが0になっている場合に限られる。従って、誤りが検出された場合、当該誤りデータについて、論理値0であるべきビットが1になったのか、論理値1であるべきビットが0になったのかを判断することなく、常に論理値1であるべきビットが0になったものと推定し、誤りが検出された全てのメモリセルの可変抵抗素子に対して、常に、読み出し電圧パルスと逆極性の、論理値1に書き込むための書き換え電圧パルスを印加する第2の書き換え動作を実行することで、訂正動作を行うことができる。この結果、符号化データの訂正に要する時間を短縮することができる。更に、上記第1の特徴の本発明に係る半導体記憶装置は、前記訂正動作において、前記第2の書き換え動作を実行する前に、誤りが検出された全ての前記メモリセルに対して前記第1の書き換え動作を実行することが好ましい。誤りが検出された全てのメモリセルの可変抵抗素子に対し、論理値1に書き込むための書き換え電圧パルスを印加する前に、論理値0に書き込むための書き換え電圧パルスを印加する第1の書き換え動作を実行することで、可変抵抗素子の抵抗状態を0状態第1抵抗状態に遷移させてから1状態第2抵抗状態への書き換えを行い、より精確に可変抵抗素子を1状態へ書き換えることができる。更に、上記第1の特徴の本発明に係る半導体記憶装置は、前記制御回路は、前記復号化動作において読み出された符号化データの誤りが検出された場合、当該誤りの誤り位置に対応する全ての前記メモリセルの前記可変抵抗素子の抵抗状態を前記第2抵抗状態に設定して、前記訂正動作の実行と並行して、誤り訂正後の復号化されたデータを出力する読み出し出力動作の実行を制御することを第2の特徴とする。上記第2の特徴の半導体記憶装置に依れば、符号化データの誤りが検出された場合、当該符号化データを訂正して再度読み出すのではなく、誤りデータが訂正された復号化データを出力するように制御することでデータを出力するまでの時間を短縮することができ、高速でデータ出力及びエラー訂正を行うことができる。ここで、発生しうる誤りは、上述の通り、論理値1であるべきビットが0になっている場合に限られるため、読み出し出力動作において、誤りデータに対しては常に論理値1第2抵抗状態に対応する論理値が出力される。また、可変抵抗素子の書き込み、消去、および読み出しに要する時間がいずれも数10n秒~100n秒程度とほぼ同程度であることを利用し、読み出し出力動作と、訂正動作を同時並行して実行することができる。また、メモリ使用者にメモリセルの訂正にかかる時間を意識させないで済む。更に、上記第2の特徴の本発明に係る半導体記憶装置は、前記読み出し出力動作の実行が、前記訂正動作における前記第2の書き換え動作と同一の動作サイクルで開始されることが好ましい。或いは、上記第1の特徴の本発明に係る半導体記憶装置は、前記制御回路は、前記復号化動作において読み出された符号化データの誤りが検出された場合、当該誤りの誤り位置に対応する全ての前記メモリセルの前記可変抵抗素子の抵抗状態を前記第2抵抗状態に設定して、誤り訂正後の復号化されたデータを出力する読み出し出力動作が実行され、前記読み出し出力動作の実行が、前記訂正動作における前記第1の書き換え動作と同一の動作サイクルで開始されるように制御することが好ましい。即ち、読み出し出力動作、及び、訂正動作が、同一の制御クロックに基づく動作サイクルでその動作シークエンスが制御されるものとしたとき、読み出し出力動作の実行が、訂正動作の第2の書き換え動作、或いは訂正動作の第1の書き換え動作と同時のタイミングで開始されることが好ましい。更に、上記第1又は第2の特徴の本発明に係る半導体記憶装置は、前記メモリセルアレイが、複数のバンクに分割されてなり、前記制御回路は、異なる2つの前記バンクに対し、一方の前記バンク内の前記メモリセルに対する前記訂正動作の実行中または実行の開始と同時に他方の前記バンク内の前記メモリセルに対する前記読み出し動作の実行を開始する動作サイクル、或いは、一方の前記バンク内の前記メモリセルに対する前記訂正動作の実行中または実行の終了と同時に他方の前記バンク内の前記メモリセルに対する前記読み出し動作の実行を終了する動作サイクルで、前記訂正動作、及び、前記読み出し動作を実行するように制御することを第3の特徴とする。上記第3の特徴の半導体記憶装置では、可変抵抗素子の書き込み、消去、および読み出しに要する時間がいずれも数10n秒~100n秒程度とほぼ同程度であることを利用し、読み出し動作と、別のバンクに属するメモリセルの訂正動作を同時並行して実行することができ、メモリ使用者にメモリセルの訂正にかかる時間を意識させないで済む読み出し方法を実現できる。更に、上記第1乃至第3の何れかの特徴の本発明に係る半導体記憶装置は、前記制御回路は、複数の選択された前記メモリセルの夫々に対して前記第1の書き換え動作または前記第2の書き換え動作の何れかを実行することで、当該選択された前記メモリセルに前記符号化データを書き込む符号化書き込み動作を制御し、複数の選択された前記メモリセルに対し、前記読み出し動作が前記符号化書き込み動作直後に実行され、その後の前記復号化動作において読み出された符号化データの誤りが検出された場合、当該誤りの前記誤り位置に対応する前記メモリセルの夫々につき、当該メモリセルの前記可変抵抗素子の抵抗状態が前記第1抵抗状態の場合に前記第2の書き換え動作を、当該メモリセルの前記可変抵抗素子の抵抗状態が前記第2抵抗状態の場合に前記第1の書き換え動作を実行する第2の訂正動作を制御することが好ましい。上述の通り、本発明では、読み出しにおいて誤りが検出された場合、常に論理値1であるべきビットが0になったものと推定して、読み出し電圧パルスと逆極性の、論理値1に書き込むための書き換え電圧パルスを印加して訂正動作を行う。しかしながら、メモリセルのデータの書き換え直後の読み出し動作ベリファイ動作では、誤りが検出された場合、それが読み出しディスターブによる場合と、書き込みに失敗した場合が考えられる。書き込みに失敗した場合は、論理値1に書き込まれるべきビットが0になっている場合と、論理値0に書き込まれるべきビットが1になっている場合の両方が考えられるため、論理値1であるべきビットが0になったものと推定して訂正動作を簡略化することはできない。このため、読み出されたデータに応じて、誤りデータが1の場合0に書き込み、誤りデータが0の場合1に書き込む訂正動作第2の訂正動作が必要となる。更に、上記第1乃至第3の何れかの特徴の本発明に係る半導体記憶装置は、前記可変抵抗体が、Al、Hf、Ni、Co、Ta、Zr、W、Ti、Cu、V、Zn、Nbの少なくとも何れかの金属の酸化物もしくは酸窒化物を含んでなることが好ましい。従って、本発明に依れば、連続して読み出しを行う際に発生する可能性のあるデータの誤りの検出、及び誤りデータの訂正を効率よく行うことのできる半導体記憶装置を実現することができる。第1実施形態本発明の一実施形態に係る半導体記憶装置以降、適宜本発明装置1と称すの概略の回路構成を図1に示す。本発明装置1は、大きく分けて、メモリセルアレイ部101とメモリコントローラ部102で構成される。メモリコントローラ部102は、入力データである複数の情報ビットに対して誤り訂正用の検査ビットを付加する誤り訂正符号化を施し、情報ビットよりビット長の長い符号化データを生成するエンコーダ回路103、入力アドレスで特定されるメモリセルアレイ部101内のメモリセルアレイのメモリセルに対し、当該符号化データの書き込み、および読み出し動作を制御するコントローラ104、コントローラ104を介して読み出された符号化データ情報ビット検査ビットを復号化するとともに、復号化されたデータ内に誤りがないか検出し、誤りを訂正するデコーダ回路105を備えてなる。デコーダ回路105は、復号化されたデータ内の誤りが検出された場合に当該誤りのビット位置を特定するECC回路106、及び、正常なビットはそのまま出力し誤ったビットに対してはデータを反転させて出力する出力制御回路107を、その内部に備える。尚、コントローラ104は、書き込みおよび読み出し動作の制御のほか、エンコーダ回路103、デコーダ回路105、ECC回路106、及び、出力制御回路107の各動作の制御を行う。尚、図1には示されていないが、メモリセルアレイ部101は、書き込みおよび読み出し動作の際に、当該動作対象の特定のメモリセルを選択する列選択回路行選択回路、及び、書き込みおよび読み出し動作のための動作電圧を供給し、当該動作電圧を選択された特定のメモリセルに印加する回路を備えている。メモリセルアレイ部101は、メモリセルアレイ110を備えてなるが、当該メモリセルアレイ110は複数例えば、4つのバンク110a~110dに分割されている。図2にメモリセルアレイを構成する各バンクの構成例を示す。各バンクは、1つのトランジスタTと1つの可変抵抗素子Rを備え、トランジスタTのソース或いはドレインの一端と可変抵抗素子Rの一端が接続されてなるメモリセルMを複数備えて構成されている。各バンク110a~110dは、m×n個のメモリセルMが、行方向図2の横方向および列方向図2の縦方向にマトリクス状に配置され、個々のメモリセルMにおいて、同一列に配列されるメモリセルの可変抵抗素子の他端は、夫々、列方向に延伸するビット線BLii=1~mに接続され、同一行に配列されるメモリセルのトランジスタのゲートには、夫々、行方向に延伸するワード線WLjj=1~nが接続されている。一方、同一列に配列されるメモリセルのトランジスタのソース或いはドレインの他端は、夫々、列方向に延伸するソース線SLkk=1~nに接続されている。尚、ソース線SLkについては、夫々が行方向に延伸する構成としてもよいし、メモリセルアレイ内の全てのソース線を共通としてもよく、その構成は特に限定しない。本実施形態において、各バンク110a~110dは、トランジスタTのゲート電圧の印加状態によって、メモリセルMの選択非選択を切り替え、可変抵抗素子Rの一端、及び、トランジスタTのソース或いはドレインの他端への電圧印加状態によってメモリセルMの動作を切り替えるように構成されている。各ビット線BLiは夫々ビット線選択回路列選択回路111に接続され、各ワード線WLjは夫々ワード線選択回路行選択回路112に接続され、各ソース線SLkは夫々ソース線選択回路113に接続されている。メモリコントローラ部102は、動作対象のメモリセルのアドレスが入力されると、当該動作対象のメモリセルの属するバンクを特定し、各選択回路111~113が、メモリコントローラ部102からの指示に基づき、当該特定されたバンクのビット線、ワード線及びソース線をアドレス入力に応じて選択し、選択された、或いは非選択のビット線、ワード線及びソース線に、夫々、メモリ動作に必要な電圧を各別に印加する。各バンク110a~110dは、夫々においてビット線およびワード線が別々で、ワード線選択回路112とビット線選択回路111によりメモリセルが独立して選択されるものとしてもよいし、少なくとも何れかのバンク間においてワード線を共有し、共通のワード線選択回路112によりメモリセルが選択されるものとしてもよい。このような構成とすることで、各バンク毎に、選択されたメモリセルのメモリ動作を独立して行うことができる。尚、バンク間でワード線が共有されている場合には、当該バンク同士でワード線が異なるメモリセルを選択して、メモリ動作を独立して行うことはできないが、当該バンク同士で同一のワード線に接続するメモリセルに対しては、メモリ動作を独立して行うことができる。可変抵抗素子Rは、金属酸化物で構成される可変抵抗体の両端に電極を担持してなる素子であり、当該可変抵抗体の材料としてはAl、Hf、Ni、Co、Ta、Zr、W、Ti、Cu、V、Zn、Nbの各酸化物もしくは酸窒化物が挙げられる。ここで、当該可変抵抗体を担持する電極の材料としては、一方の電極には仕事関数の大きなもの例えば、TiN、Pt、Irなどを用いて第1電極とし、他方の電極には金属酸化物の酸素欠損による不純物準位と同程度の仕事関数を有するもの例えば、Ta、Alなどを用いて第2電極とする。より好ましくは、仕事関数が4.5eV以上のものを第1電極として、仕事関数が4.5V以下のものを第2電極として用いるとよい。このとき、電極と金属酸化物との界面は、第2電極側ではオーミック接合となり、第1電極側では非オーミック接合ショットキー接合となる。上記の可変抵抗素子Rを高抵抗状態から低抵抗状態に遷移させるには、例えば、1.8V、50nsecの電圧パルスをメモリセルのビット線とソース線間に印加する。一方、可変抵抗素子Rを低抵抗状態から高抵抗状態に遷移させるには、低抵抗化時とは極性が逆の、例えば、-1.6V、50nsecの電圧パルスをメモリセルのビット線とソース線間に印加する。ここで、可変抵抗素子Rの低抵抗状態を論理値0、高抵抗状態を論理値1とする。また、便宜上、論理値0に対応する可変抵抗素子の抵抗状態高抵抗状態を0状態消去状態と、論理値1に対応する可変抵抗素子の抵抗状態低抵抗状態を1状態書き込み状態と称することにする。そして、選択されたメモリセルの可変抵抗素子Rに対し、0状態を書き込む動作を第1の書き換え動作、1状態を書き込む動作を第2の書き換え動作と、夫々称する。この場合、ソース線に0Vを印加した状態で、選択ビット線側から1.8V、50nsecの電圧パルスを印加して第1の書き換え動作を実行し、選択ビット線に1.6Vを印加した状態で、ソース線側から0V、50nsecの電圧パルスを印加して第2の書き換え動作を実行する構成とすることができる。このとき、可変抵抗素子Rの抵抗状態の書き換えは、印加する電圧或いは電流を制御することで行うことができ、異なる情報を記憶する毎に、可変抵抗素子に印加する電圧パルスの回数や印加時間を調整する必要がないため、複雑なアルゴリズムを必要としない。尚、本発明装置1で用いられる誤り訂正に係る符号化方法については、種々の公知の構成が利用可能である。例えば、リードソロモン符号ReedSolomonCodingやBCHBoseChaudhuriHocquenghem符号化等の巡回符号、ハミング符号、又は、低密度パリティ検査符号LowDensityParityCheckcodeLDPCを利用することができるが、これに限られるものではない。本発明装置1では、メモリセルアレイ110に記憶されるべきデータは、エンコーダ回路103によって、複数の情報ビット毎に誤り訂正符号化がされ、検査ビットが付加された符号化データがメモリセルアレイに記憶されるため、メモリセルアレイに記憶されるデータを読み出すにあたっては、当該符号化データ単位で、複数のメモリセルの情報をまとめて読み出す必要がある。本発明装置1のデータの符号化データの読み出し時の動作について、図3のフローチャートを参照して説明する。先ず、メモリコントローラ部102に、読み出し対象のメモリセルのアドレスが入力されるステップ200。すると、メモリコントローラ部102内のコントローラ104が、入力アドレスに対応する複数のメモリセルを特定し、当該複数のメモリセルに対して可変抵抗素子の抵抗状態を読み出し、符号化データの読み出しを行うステップ201:読み出し動作。好適には、当該入力アドレスを開始アドレスとして、同一のワード線に接続する複数のメモリセルを、符号化データのビット数に相当する数だけ選択し、当該複数のメモリセルに接続する複数のビット線に同時に読み出し電圧を印加する。このときの読み出し電圧としては第1の書き換え動作における書き換え電圧パルスよりも低い電圧例えば、0.3Vとし、第1の書き換え動作における書き換え電圧パルスと同一極性の読み出し電圧パルスとする。即ち、可変抵抗素子Rに0状態を書き込む場合と同一の極性の読み出し電圧パルスとする。この場合、上述したように、デコーダ回路105により検出される誤りは、1状態であるべき素子が0状態になっている場合に限られる。尚、当該読み出し電圧パルスの電圧振幅は、第1の書き換え電圧動作における書き換え電圧パルスよりも絶対値が低く、読み出しディスターブの影響以外の要因で可変抵抗素子の抵抗値が大きく変動しない電圧であればどのような電圧を用いてもよい。次に、デコーダ回路105が、読み出された符号化データを復号化するステップ202:復号化動作。次に、デコーダ回路105が、誤り訂正符号に基づき、復号化されたデータ内に誤りがあるかどうかを検出するステップ203:誤り検出動作。誤りが検出された場合、誤り訂正符号に基づいて、ECC回路104が、データ誤りのあったアドレスを特定する。ステップ203でデータの誤りが検出された場合、誤りが検出されたアドレスのメモリセルの可変抵抗素子に書き換え電圧パルスを印加し、符号化データの誤りを訂正するステップ204:訂正動作。このとき、誤りは1であるべきビットが0になっている場合に限られるため、誤りが検出された全てのメモリセルに対して、可変抵抗素子を1状態に書き換えるための書き換え電圧パルスを印加すればよい。即ち、誤りが検出された全てのメモリセルに対して、第2の書き換え動作を行うだけでよい。尚、このとき第2の書き換え動作を実行する前に第1の書き換え動作を実行し、誤りが検出されたメモリセルの可変抵抗素子の抵抗状態を、一旦0状態に遷移させてから1状態への書き換えを行うことで、より精確に可変抵抗素子の誤り訂正を行うことができる。誤り訂正符号に基づいて誤りが検出された場合の訂正動作について、現在一般に不揮発性メモリとして用いられているフラッシュメモリの場合、消去動作で数msec、書き込み動作でも数μsecの時間を要し、且つ、訂正するためには誤りデータ、即ち抵抗変化した素子を含む複数の素子からなるあるブロックを一度一括して消去した後にブロック内にある全ての素子を改めて書き戻す必要があるため、誤りデータの訂正には時間を要する。また、誤りデータを含むブロックを書き戻している間はそのブロックをアクセスしてデータを読み出すことはできないため読み出し速度が低下する。一方、本発明装置1の場合、ランダムアクセス性に優れ、また書き込み読み出しともにフラッシュメモリと比べて非常に高速100ns以下で行うことができるため、可変抵抗素子単位で誤り訂正を行うことができ、読み出し速度の低下を防ぐことができる。第2実施形態上述したように、本発明装置1は、読み出したデータを復号化し誤りデータが検出された場合、誤り訂正符号に基づき、メモリセルアレイ内の当該誤りデータに対して第2書き換え動作を実行することにより、高速で誤りを訂正することができる。しかしながら、誤りデータを検出後に真のデータを出力するにあたっては、当該真のデータが出力されるのは、メモリセルアレイ内の当該誤りデータを正しいデータに書き換えた後再び読み出しを行い、誤りデータがなくなるまで読み出し動作、復号化動作、誤り訂正動作を繰り返した後であるため、誤りが検出されてから実際にデータが出力されるまでに時間を要する。しかしながら、誤りデータが検出された場合、誤り訂正符号に基づいて読み出したデータのうち誤りビットを特定し、出力制御回路107が、読み出したデータの誤りビットのデータを反転させ、真のデータを出力することで、高速なデータの読み出しを実現することができる。この場合の本発明装置1のデータの読み出し時の動作について、図4のフローチャートを参照して説明する。ステップ201読み出し動作、ステップ202復号化動作、ステップ203誤り検出動作については、前述した図3と同様であるので、説明を割愛する。ステップ203でデータの誤りが検出された場合、次のステップ205では、誤りが検出されたアドレスのメモリセルの可変抵抗素子に第2の書き換え電圧パルスを印加し、データの誤りを訂正する訂正動作を行うとともに、当該訂正動作と並行して、出力制御回路107が、読み出したデータの誤りビットのデータを反転させ、真のデータを出力する。このとき、データの誤りは1であるべきビットが0になっている場合に限られるため、出力制御回路107は、全ての誤りビットに対して1を出力する動作を行う読み出し出力動作。読み出し出力動作の実行中は、少なくとも同一バンク内のメモリセルに対して新たな読み出し動作を行わないため、当該読み出し出力動作の実行中の時間に誤り訂正動作を実行させることで、更に高速なデータの読み出しを実現することができる。第3実施形態図5に複数のバンクを備える本発明装置1における読み出し動作のタイミングチャートを示す。図5では、メモリセルアレイ110に記憶されたデータを出力する際に、制御クロックの動作サイクルにおいて、アドレス入力A、読み出し動作R、復号化動作D、誤り検出動作E、及び、訂正と読み出し出力動作W/Oの5つの動作シークエンスを、夫々1サイクルで行う。尚、夫々の動作シークエンスは上述の図4におけるステップ200~203、及び205の各動作に対応する。尚、図5において、各動作サイクルt1~t16は、制御クロックの一クロックで各動作が完了するものとなっているが、各動作に制御クロックの複数クロックを要する場合がある。その場合、図5の各動作サイクルt1~t16は、各動作に要する最多の制御クロック数により定まる、同一の時間間隔とする。また、図5では、図面が煩雑になるのを避けるため、各動作サイクルに含まれる複数の制御クロックをまとめて一クロックとして説明している。図5において、各動作サイクルt1~t16は、夫々、図に示すクロックの立ち上がりタイミングで開始するものとし、各動作サイクルtii=1~16の開始時刻を、夫々、時刻tiと称する。これは、以降の図6と図7に示されるタイミングチャートについても同様とする。動作サイクルt2において、バンク1に対する読み出しアドレスが指定されると、動作サイクルt3において、当該読み出しアドレスに基づき特定される複数のメモリセルに対して、読み出し動作ステップ201を行い、符号化データを読み出す。一方、動作サイクルt3において、バンク2に対する読み出しアドレスが指定されると、動作サイクルt4において、当該読み出しアドレスに基づき特定される複数のメモリセルに対して、読み出し動作ステップ201を行い、符号化データを読み出す。このとき、バンク1における読み出したデータの復号化動作ステップ202が、バンク2における読み出し動作と並行して実行されている。一方、動作サイクルt4において、バンク3に対する読み出しアドレスが指定されると、動作サイクルt5において、当該読み出しアドレスに基づき特定される複数のメモリセルに対して、読み出し動作ステップ201を行い、符号化データを読み出す。このとき、バンク1における誤り検出動作ステップ203、及び、バンク2における読み出したデータの復号化動作ステップ202が、バンク3における読み出し動作と並行して実行されている。一方、動作サイクルt5において、バンク4に対する読み出しアドレスが指定されると、動作サイクルt6において、当該読み出しアドレスに基づき特定される複数のメモリセルに対して、読み出し動作ステップ201を行い、符号化データを読み出す。このとき、バンク1における訂正と読み出し出力動作ステップ205、バンク2における誤り検出動作ステップ203、及び、バンク3における読み出したデータの復号化動作ステップ202が、バンク4における読み出し動作と並行して実行されている。このとき、バンク1における訂正動作とバンク4における読み出し動作は、夫々異なるバンクの動作であるため同時に実行することが可能であり、各動作を並列に処理することで複数バンクに格納されたデータを効率よく読み出すことができる。これは以降の動作サイクルについても同様であり、動作サイクルt8においてバンク1における読み出し動作とバンク3における訂正動作が同時に実行され、動作サイクルt9においてバンク2における読み出し動作とバンク4における訂正動作が同時に実行され、動作サイクルt11においてバンク4における読み出し動作とバンク1における訂正動作が同時に実行されることができる。尚、図5では、アドレス入力A、読み出し動作R、復号化動作D、誤り検出動作E、及び、訂正と読み出し出力動作W/Oの5つの動作シークエンスで動作させているが、同一サイクル内でバンク同士の動作が重複しない範囲内において、シーケンスを追加することができる。図6は本発明装置1における読み出し動作のタイミングチャートの別の例であり、符号化データのビット数が多いため、符号化データの読み出しを完了するのに二サイクル分の動作サイクルを必要とする場合の例である。尚、この場合であっても、訂正動作Wは、誤りが検出された高々数ビットのメモリセルに対し第2書き換え動作を行えばよいため、一動作サイクルで完了することが可能である。動作サイクルt7、t9、t11、t13、t15、及びt17において、異なるバンクにおける読み出し動作Rと訂正動作Wが、並列して実行されている。図7は本発明装置1における読み出し動作のタイミングチャートの更に別の例であり、訂正動作Wにおいて、第2書き換え動作W2の前に第1書き換え動作W1を実行し、夫々の書き換え動作の実行に一動作サイクルを必要とする場合の例である。尚、この場合、第1書き換えパルスの印加W1と第2書き換えパルスの印加W2は、書き換え対象のバンクが異なる場合、同時に実行することが可能である。従って、図7の動作サイクルt9では、バンク1における読み出し動作、バンク3における訂正動作のうち第2の書き換えパルスの印加W2、及び、バンク4における訂正動作のうち第1の書き換えパルスの印加W1が、同時に、並列して実行されている。また、図7では、読み出し出力動作Oは、訂正動作の第1の書き換えパルスの印加W1と同時に実行しているが、訂正動作の第2の書き換えパルスの印加W2と同時に実行しても構わない。以下に、別実施形態について説明する。1上記実施形態では、メモリセルアレイ110が4つのバンク110a~110dのからなる場合について説明したが、本発明はこれに限られるものではない。目的や必要とされる性能に応じてバンク数は適宜増減させることができる。2また、各バンク110a~110dのメモリセルアレイの構成については、図2に示した回路構成に限定されるわけではなく、可変抵抗素子と電流制御素子を備えたメモリセルをビット線とワード線を用いて夫々接続し、メモリセルアレイを成していれば、特にその回路構成について本発明が限定されるものではない。尚、図2では電流制限素子としてトランジスタを用いているが、可変抵抗素子に流れる電流を制限できるものであればトランジスタ以外のもの例えば、ダイオードを用いることができる。また、本実施形態では、可変抵抗素子のトランジスタと接続しない一端をビット線に接続しているが、可変抵抗素子のトランジスタと接続しない一端をソース線に接続する構成であっても構わない。本発明は、金属酸化物で構成される可変抵抗素子をメモリセルに備え、所望のメモリセル数を有する任意のメモリセルアレイに適用可能である。3上記実施形態では、可変抵抗素子を低抵抗状態に遷移させる書き換え電圧パルスと同一極性のパルスを印加して読み出し動作を行う場合に、誤り訂正動作において、誤りが検出された全てのメモリセルの可変抵抗素子に対し、1高抵抗状態であるべきビットが0低抵抗状態になっているとして、読み出し電圧パルスとは逆極性の、高抵抗状態に遷移させる書き換え電圧パルスを印加する構成である。一方、可変抵抗素子を高抵抗状態に遷移させる書き換え電圧パルスと同一極性のパルスを印加して読み出し動作を行う場合には、検出される誤りは0低抵抗状態であるべきビットが1高抵抗状態になっているものに限られるため、誤り訂正動作において、誤りが検出された全てのメモリセルの可変抵抗素子に対し、読み出し電圧パルスとは逆極性の、低抵抗状態に遷移させる書き換え電圧パルスを印加する。4上記実施形態において、読み出し動作、第1の書き換え動作、第2の書き換え動作の説明で用いた電圧パルスの電圧値やパルス幅は本発明を説明するための具体例であり、可変抵抗素子の特性を限定するものではない。5上記実施形態では、メモリコントローラ部102が、図5~図7に示すタイミングチャートに従ってバンク毎に読み出しを制御する場合を詳細に説明したが、本発明の動作制御方法は上述のタイミングチャートで示す動作に限られるものではない。