(57)【特許請求の範囲】
【請求項１】
第１電極と第２電極の間に可変抵抗体を挟持してなり、前記第１電極と前記第２電極の間に電圧パルスを印加することにより前記可変抵抗体の電気抵抗を複数の状態間で遷移させて情報を記憶する可変抵抗素子を備えるメモリセルを複数備えてなるメモリセルアレイと、
予め設定されたビット数単位で書き込みデータを受け付け、前記メモリセルアレイから読み出した読み出しデータを出力する入出力バッファと、
前記メモリセルアレイに対する書き込み処理の制御を行う書き込み制御部、前記メモリセルアレイに対する読み出し処理の制御を行う読み出し制御部、並びに、所定方式の誤り訂正符号を生成する誤り訂正符号生成処理及び誤り訂正処理を実行するＥＣＣ制御部を備えるメモリ制御部と、を備え、
前記メモリセルアレイが、データを格納するための所定数のデータバンクと、前記誤り訂正符号生成処理で生成された前記誤り訂正符号の内の検査データを格納するＥＣＣバンクを備えて構成される不揮発性半導体記憶装置であって、
前記メモリセルアレイに対する書き込み要求を受け付けると、
前記入出力バッファが、受け付けた前記書き込みデータを前記書き込み制御部及び前記ＥＣＣ制御部に出力し、
前記書き込み制御部が、前記書き込みデータを前記所定数に分割して分割データを生成し、前記書き込み要求で指定された書き込みアドレスに基づいて、前記データバンクの夫々に前記分割データを書き込むデータ書き込み処理を行い、
前記ＥＣＣ制御部が、前記書き込み制御部における前記データ書き込み処理と並行して、前記書き込みデータまたは前記分割データの夫々に対する前記誤り訂正符号生成処理を実行して第１誤り訂正符号を生成し、前記第１誤り訂正符号の内の第１検査データを前記書き込み制御部に転送し、
前記書き込み制御部が、前記ＥＣＣ制御部から前記第１検査データを受け付けて、前記データ書き込み処理に続いて、前記ＥＣＣバンクに前記第１検査データを書き込む符号書き込み処理を実行することを特徴とする不揮発性半導体記憶装置。
【請求項２】
前記書き込み制御部が、前記誤り訂正符号生成処理を前記書き込みデータに対して実行した場合は、前記書き込みデータに対する前記第１誤り訂正符号の内の前記検査データを前記ＥＣＣバンクに書き込む第１符号書き込み処理を前記符号書き込み処理として実行し、前記誤り訂正符号生成処理を前記分割データの夫々に対して実行した場合は、前記分割データ別に生成された前記第１誤り訂正符号夫々の前記検査データを前記ＥＣＣバンクに書き込む第２符号書き込み処理を前記符号書き込み処理として実行することを特徴とする請求項１に記載の不揮発性半導体記憶装置。
【請求項３】
前記書き込み制御部が、複数の前記書き込み要求を連続的に実行するように構成され、所定の前記書き込み要求に対する前記データ書き込み処理及び前記符号書き込み処理の終了前に、次の前記書き込み要求に対する前記データ書き込み処理及び前記符号書き込み処理が可能になった時点で、次の前記書き込み要求に対する前記データ書き込み処理及び前記符号書き込み処理の実行を開始することを特徴とする請求項１または２に記載の不揮発性半導体記憶装置。
【請求項４】
前記メモリセルアレイに対する読み出し要求を受け付けると、
前記読み出し制御部が、前記読み出し要求で指定された読み出しアドレスに基づいて、前記データバンク夫々から前記分割データを夫々読み出して前記ＥＣＣ制御部に転送するデータ読み出し処理を実行し、前記データ読み出し処理の実行後、前記データ読み出し処理で読み出された前記分割データからなる読み出しデータまたは前記分割データの夫々に対応する前記第１検査データを前記ＥＣＣバンクから読み出す符号読み出し処理を実行し、
前記ＥＣＣ制御部が、前記データ読み出し処理によって読み出された前記読み出しデータまたは前記分割データの夫々に対する前記誤り訂正符号生成処理を実行して第２誤り訂正符号を生成し、前記読み出し制御部が読み出した前記第１検査データと前記第２誤り訂正符号の内の第２検査データを比較する符号比較処理を行い、前記符号比較処理の比較結果が不一致の場合に、前記読み出しデータまたは前記分割データの夫々に対する前記誤り訂正処理を実行し、
前記入出力バッファが、前記ＥＣＣ制御部における前記符号比較処理の比較結果が一致の場合は、前記読み出し制御部が読み出した前記読み出しデータを出力し、前記ＥＣＣ制御部における前記符号比較処理の比較結果が不一致の場合は、前記ＥＣＣ制御部による前記誤り訂正処理の実行後の前記読み出しデータを出力することを特徴とする請求項１または２に記載の不揮発性半導体記憶装置。
【請求項５】
前記ＥＣＣ制御部が、前記誤り訂正符号生成処理を前記書き込みデータに対して実行した場合は、前記読み出しデータに対する前記誤り訂正符号生成処理を実行して前記第２誤り訂正符号を生成し、前記第１検査データと前記第２誤り訂正符号の内の前記第２検査データを比較する第１符号比較処理を前記符号比較処理として実行し、前記第１符号比較処理の比較結果が不一致の場合に、前記読み出しデータに対して前記誤り訂正処理を実行し、
前記誤り訂正符号生成処理を前記分割データの夫々に対して実行した場合は、前記分割データの夫々に対する前記誤り訂正符号生成処理を実行して前記第２誤り訂正符号を生成し、前記分割データ別に、前記第１検査データと前記第２誤り訂正符号の内の前記第２検査データを比較する第２符号比較処理を前記符号比較処理として実行し、前記分割データの夫々に対して前記誤り訂正処理を実行することを特徴とする請求項４に記載の不揮発性半導体記憶装置。
【請求項６】
前記読み出し制御部が、複数の前記読み出し要求を連続的に実行するように構成され、所定の前記読み出し要求に対する前記データ読み出し処理及び前記符号読み出し処理の終了前に、次の前記読み出し要求に対する前記データ読み出し処理及び前記符号読み出し処理が可能になった時点で、次の前記読み出し要求に対する前記データ読み出し処理及び前記符号読み出し処理の実行を開始することを特徴とする請求項４または５に記載の不揮発性半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第１電極と第２電極の間に電圧パルスを印加することにより、第１電極と第２電極の間に挟持された可変抵抗体の電気抵抗を複数の状態間で遷移させて情報を記憶する可変抵抗素子を備えるメモリセルを複数備えてなるメモリセルアレイを備える不揮発性半導体記憶装置に関する。
【背景技術】
【０００２】
携帯可能な電子機器やモバイル機器等では、ＣＰＵ（中央処理装置）が直接書き込み処理及び読み出し処理を実行できる主記憶メモリとして、例えば、部品点数が少なく安価なＤＲＡＭ等の揮発性メモリや、大容量で安価なフラッシュメモリ等の不揮発性メモリが使用されている。ＣＰＵが直接書き込み処理及び読み出し処理を行う主記憶メモリには、その用途から、処理時間の短縮のために高速な書き込み処理及び読み出し処理を実現できること、誤書き込み及び誤読み出しが少なく信頼性が高いこと等が求められている。また、主記憶メモリには、電子機器の使用時間を延ばすために消費電力が低いこと、電子機器やモバイル機器等の小型化に伴い、高集積化が求められている。
【０００３】
尚、ＤＲＡＭ等の揮発性メモリは、リフレッシュ動作が必要となるため、消費電力の低減が難しく、電子機器の使用時間が制限される。また、フラッシュメモリ等の不揮発性メモリでは、微細化限界により高集積化に課題がある。このため、ＭＲＡＭ（磁気抵抗変化メモリ）やＰＣＲＡＭ（相変化メモリ）、ＣＢＲＡＭ（固定電解質メモリ）、可変抵抗素子を用いたＲＲＡＭ（抵抗性不揮発性メモリ、ＲＲＡＭは本出願人であるシャープ株式会社の登録商標）等の開発が行われている。
【０００４】
ここで、ＲＲＡＭは、大きな抵抗変化と高速な書き込み処理が可能であること、メモリセルアレイに対するランダムアクセスが可能であること、構成材料がＣＭＯＳプロセスとの親和性が高い二元系材料であること、及び、メモリ構造が単純であり高集積化が可能であることから、主記憶メモリとして有望視されている。
【０００５】
ＲＲＡＭは、第１電極と第２電極の間に可変抵抗体を挟持してなる可変抵抗素子を備え、第１電極と第２電極の間に電圧パルスを印加することにより、可変抵抗体の電気抵抗を複数の状態間で遷移させて情報を記憶する。ＲＲＡＭの書き込み処理及び読み出し処理は、電圧パルスの電圧値の大小によって制御されることから、誤書き込み及び誤読み出しを防ぐためには、書き込み処理で用いる電圧パルスの電圧値と読み出し処理で用いる電圧パルスの電圧値の差が十分にあることが望ましい。
【０００６】
しかし、半導体プロセスの微細化及び集積化に伴い、電源電圧の電圧値が小さくなる傾向にあり、書き込み処理に用いられる書き込み電圧及び書き込み電流についても低減することが求められている。更に、高速な読み出し処理を実現するためには、読み出し処理に用いられる読み出し電流を低減することが困難であることから、書き込み電圧と読み出し電圧の間に十分な差を確保することが困難になってきている。即ち、素子の微細化及び集積化に伴い、書き込み電圧と読み出し電圧の間に十分な差を確保することができないと、誤書き込み及び誤読み出しが生じる可能性が高くなるという問題があった。
【０００７】
更に、大容量化に伴い、搭載される可変抵抗素子の数が増大することにより、回り込み電流等の意図しない負荷を受ける回路が増加し、誤書き込みが生じる可能性が高くなるという問題があった。また、特定のメモリセルに対し、連続して相当回数の読み出し処理を実行すると、読み出し処理において印加した読み出し電圧により、可変抵抗体の抵抗状態が変化し、誤読み出しが生じる可能性がある。即ち、ＲＲＡＭにおいても、他のメモリと同様に、誤書き込み及び誤読み出しを防止する技術が求められている。
【０００８】
主記憶メモリにおいて、誤書き込み及び誤読み出しを防止して信頼性を確保するために、従来、誤り検出訂正処理を実行している（例えば、特許文献１参照）。
【０００９】
尚、上記特許文献１では、同一メモリ装置内に、データを格納するデータバンクと、誤り訂正符号を格納するＥＣＣバンクの両方を構成することにより、データバンクとＥＣＣバンクを異なるメモリ装置内に構築する場合に比べ、処理時間の短縮を図っている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００８−２７２９６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ここで、ＲＲＡＭをＣＰＵが直接データの読み書きを行う主記憶メモリとして用いる場合、信頼性が非常に重要であることから、例えば、リードソロモン符号等、精度の高い誤り検出訂正処理を実行することが望ましい。しかしながら、リードソロモン符号のような精度の高い誤り検出訂正処理ほど、誤り検出訂正処理にかかる時間が長くなる傾向にあり、書き込み処理及び読み出し処理にかかる時間を増大させる可能性がある。
【００１２】
特に、ＲＲＡＭでは、他のメモリに比べてデータ書き込み処理の速度が速いため、誤り訂正検出処理にかかる時間が、書き込み処理全体の処理速度、読み出し処理全体の処理速度に与える影響が大きい。このため、誤り訂正検出処理にかかる時間の短縮がより望まれている。
【００１３】
上記特許文献１のメモリ装置では、メモリ装置へのアクセス時間の短縮の観点から、データバンクとＥＣＣバンクの両方を同一メモリ装置内に構成して、処理時間の短縮を図っているが、更なる処理時間の短縮が求められている。
【００１４】
本発明は上記の問題に鑑みてなされたものであり、その目的は、書き込み処理と読み出し処理に対する誤り検出訂正処理の実行タイミングを最適化し、処理時間の更なる短縮を図ることができる不揮発性半導体記憶装置を提供する点にある。
【課題を解決するための手段】
【００１５】
上記目的を達成するための本発明に係る不揮発性半導体記憶装置は、第１電極と第２電極の間に可変抵抗体を挟持してなり、前記第１電極と前記第２電極の間に電圧パルスを印加することにより前記可変抵抗体の電気抵抗を複数の状態間で遷移させて情報を記憶する可変抵抗素子を備えるメモリセルを複数備えてなるメモリセルアレイと、予め設定されたビット数単位で書き込みデータを受け付け、前記メモリセルアレイから読み出した読み出しデータを出力する入出力バッファと、前記メモリセルアレイに対する書き込み処理の制御を行う書き込み制御部、前記メモリセルアレイに対する読み出し処理の制御を行う読み出し制御部、並びに、所定方式の誤り訂正符号を生成する誤り訂正符号生成処理、及び、誤り訂正処理を実行可能なＥＣＣ制御部を備えるメモリ制御部と、を備え、前記メモリセルアレイが、データを格納するための所定数のデータバンクと、前記誤り訂正符号生成処理で生成された前記誤り訂正符号の内の検査データを格納するＥＣＣバンクを備えて構成される不揮発性半導体記憶装置であって、前記メモリセルアレイに対する書き込み要求を受け付けると、前記入出力バッファが、受け付けた前記書き込みデータを前記書き込み制御部及び前記ＥＣＣ制御部に出力し、前記書き込み制御部が、前記書き込みデータを前記所定数に分割して分割データを生成し、前記書き込み要求で指定された書き込みアドレスに基づいて、前記データバンクの夫々に前記分割データを書き込むデータ書き込み処理を行い、前記ＥＣＣ制御部が、前記書き込み制御部における前記データ書き込み処理と並行して、前記書き込みデータまたは前記分割データの夫々に対する前記誤り訂正符号生成処理を実行して第１誤り訂正符号を生成し、前記第１誤り訂正符号の内の第１検査データを前記書き込み制御部に転送し、前記書き込み制御部が、前記ＥＣＣ制御部から前記第１検査データを受け付けて、前記データ書き込み処理に続いて、前記ＥＣＣバンクに前記第１検査データを書き込む符号書き込み処理を実行することを特徴とする。
【００１６】
更に好ましくは、前記書き込み制御部が、前記誤り訂正符号生成処理を前記書き込みデータに対して実行した場合は、前記書き込みデータに対する前記第１誤り訂正符号の内の前記検査データを前記ＥＣＣバンクに書き込む第１符号書き込み処理を前記符号書き込み処理として実行し、前記誤り訂正符号生成処理を前記分割データの夫々に対して実行した場合は、前記分割データ別に生成された前記第１誤り訂正符号夫々の前記検査データを前記ＥＣＣバンクに書き込む第２符号書き込み処理を前記符号書き込み処理として実行する。
【００１７】
更に好ましくは、前記書き込み制御部が、複数の前記書き込み要求を連続的に実行するように構成され、所定の前記書き込み要求に対する前記データ書き込み処理及び前記符号書き込み処理の終了前に、次の前記書き込み要求に対する前記データ書き込み処理及び前記符号書き込み処理が可能になった時点で、次の前記書き込み要求に対する前記データ書き込み処理及び前記符号書き込み処理の実行を開始する。
【００１８】
更に好ましくは、前記メモリセルアレイに対する読み出し要求を受け付けると、前記読み出し制御部が、前記読み出し要求で指定された読み出しアドレスに基づいて、前記データバンク夫々から前記分割データを夫々読み出して前記ＥＣＣ制御部に転送するデータ読み出し処理を実行し、前記データ読み出し処理の実行後、前記データ読み出し処理で読み出された前記分割データからなる読み出しデータまたは前記分割データの夫々に対応する前記第１検査データを前記ＥＣＣバンクから読み出す符号読み出し処理を実行し、前記ＥＣＣ制御部が、前記データ読み出し処理によって読み出された前記読み出しデータまたは前記分割データの夫々に対する前記誤り訂正符号生成処理を実行して第２誤り訂正符号を生成し、前記読み出し制御部が読み出した前記第１検査データと前記第２誤り訂正符号の内の第２検査データを比較する符号比較処理を行い、前記符号比較処理の比較結果が不一致の場合に、前記読み出しデータまたは前記分割データの夫々に対する前記誤り訂正処理を実行し、前記入出力バッファが、前記ＥＣＣ制御部における前記符号比較処理の比較結果が一致の場合は、前記読み出し制御部が読み出した前記読み出しデータを出力し、前記ＥＣＣ制御部における前記符号比較処理の比較結果が不一致の場合は、前記ＥＣＣ制御部による前記誤り訂正処理の実行後の前記読み出しデータを出力する。
【００１９】
更に好ましくは、前記ＥＣＣ制御部が、前記誤り訂正符号生成処理を前記書き込みデータに対して実行した場合は、前記読み出しデータに対する前記誤り訂正符号生成処理を実行して前記第２誤り訂正符号を生成し、前記第１検査データと前記第２誤り訂正符号の内の前記第２検査データを比較する第１符号比較処理を前記符号比較処理として実行し、前記第１符号比較処理の比較結果が不一致の場合に、前記読み出しデータに対して前記誤り訂正処理を実行し、前記誤り訂正符号生成処理を前記分割データの夫々に対して実行した場合は、前記分割データの夫々に対する前記誤り訂正符号生成処理を実行して前記第２誤り訂正符号を生成し、前記分割データ別に、前記第１検査データと前記第２誤り訂正符号の内の前記第２検査データを比較する第２符号比較処理を前記符号比較処理として実行し、前記分割データの夫々に対して前記誤り訂正処理を実行する。
【００２０】
更に好ましくは、前記読み出し制御部が、複数の前記読み出し要求を連続的に実行するように構成され、所定の前記読み出し要求に対する前記データ読み出し処理及び前記符号読み出し処理の終了前に、次の前記読み出し要求に対する前記データ読み出し処理及び前記符号読み出し処理が可能になった時点で、次の前記読み出し要求に対する前記データ読み出し処理及び前記符号読み出し処理の実行を開始する。
【発明の効果】
【００２１】
上記特徴の不揮発性半導体記憶装置によれば、データバンクとＥＣＣバンクを同一メモリセルアレイ内に構成し、入力された書き込みデータを書き込み制御部とＥＣＣ制御部の両方に転送し、データ書き込み処理と並行して誤り訂正符号生成処理を行うので、書き込み処理にかかる時間を、“データ書き込み処理の処理時間”＋“符号書き込み処理の処理時間”とすることができる。尚、上記特許文献１の場合は、書き込み処理にかかる時間は、“データ書き込み処理の処理時間”＋“誤り訂正符号生成処理の処理時間”＋“符号書き込み処理の処理時間”となることから、上記特徴の不揮発性半導体記憶装置では、誤り訂正符号生成処理にかかる時間を短縮できることになる。
【００２２】
特に、ＲＲＡＭでは、上述したように、他のメモリに比べてデータ書き込み処理の速度が速く、誤り訂正符号生成処理にかかる時間が書き込み処理全体の処理時間に与える影響が大きい。即ち、上記特徴の不揮発性半導体記憶装置では、書き込み処理全体の処理速度に与える影響が大きい誤り訂正符号生成処理の時間を短縮できる。
【００２３】
また、上記特徴の不揮発性半導体記憶装置における読み出し処理において、通常の誤り検出処理を行う代わりに、読み出しデータまたは分割データの夫々に対する誤り訂正符号生成処理を行って第２誤り訂正符号を生成し、書き込み処理時に生成された第１検査データと第２誤り訂正符号の内の第２検査データを比較する符号比較処理を行い、符号比較処理の結果が一致の場合に誤り検出されなかったものと判定し、符号比較処理の結果が不一致の場合に誤り検出されたものと判定するように構成する、即ち、非常に処理時間の長い誤り検出処理または誤り検出訂正処理に代えて、比較的処理時間の短い符号化処理と符号比較処理を実行するように構成すれば、高い信頼性を維持しながら、読み出し処理にかかる時間を全体で短縮することが可能になる。
【００２４】
より具体的には、読み出しデータまたは分割データに誤りがない場合は、従来の不揮発性半導体記憶装置では、処理時間が長い誤り検出処理または誤り検出訂正処理が実行されるのに対し、上記特徴の不揮発性半導体記憶装置では、処理時間の短い２つの処理、符号化処理と符号比較処理を実行するものであり、処理時間の大幅な時間短縮が期待できる。これに対し、読み出しデータまたは分割データに誤りがある場合は、従来の不揮発性半導体記憶装置では、誤り検出処理と誤り訂正処理が実行されるのに対し、上記特徴の不揮発性半導体記憶装置では、誤り訂正符号生成処理、符号比較処理、誤り検出処理及び誤り訂正処理または誤り検出訂正処理を実行することとなり、符号化処理と符号比較処理にかかる時間、処理時間が長くなる。このため、エラーが頻発する場合には、全体で処理時間の短縮は期待できないが、ＲＲＡＭにおける通常のエラー発生率を考慮した場合、上記特徴の不揮発性半導体記憶装置において、非常に処理時間の長い符号語の計算（誤り検出処理）の代わりに、処理時間の短い符号化処理＋符号比較処理を実行することにより、全体では、処理時間の短縮が期待できる。
【図面の簡単な説明】
【００２５】
【図１】本発明に係る不揮発性半導体記憶装置の概略構成例を示す概略ブロック図である。
【図２】本発明に係る不揮発性半導体記憶装置に構成されるデータバンクの概略構成例を示す概略ブロック図である。
【図３】本発明に係る不揮発性半導体記憶装置の書き込み処理の流れを示すタイミングチャートである。
【図４】本発明に係る不揮発性半導体記憶装置の読み出し処理の流れを示すタイミングチャートである。
【発明を実施するための形態】
【００２６】
以下、本発明に係る不揮発性半導体記憶装置（以下、適宜「本発明装置」と略称する）の実施形態を図面に基づいて説明する。
【００２７】
〈第１実施形態〉
本発明装置の第１実施形態について、図１〜図４を基に説明する。
【００２８】
先ず、本発明装置１の構成について、図１及び図２を基に説明する。尚、本実施形態では、本発明装置１は、ＣＰＵ（図示せず）から書き込み要求を受け付けて書き込み処理ＳＷを実行し、読み出し要求を受け付けて読み出し処理ＳＲを実行するように構成され、更に、複数の書き込み要求または読み出し要求を連続的に実行するバースト機能を備えている。
【００２９】
本発明装置１は、図１に示すように、データを格納するためのデータバンクＢＤ１〜ＢＤｘ（ｘは２以上の整数）と誤り訂正符号を格納するＥＣＣバンクＢＥを備えたメモリセルアレイと、メモリセルアレイに対する各種制御を行うメモリ制御部２を備えて構成されている。
【００３０】
メモリセルアレイは、図２に示すように、１つのトランジスタＴと１つの可変抵抗素子Ｒを備え、トランジスタＴのドレイン端子に可変抵抗素子Ｒの一端が接続されてなるメモリセルＭＲを複数備えて構成されている。メモリセルＭＲは、第１電極と第２電極の間に可変抵抗体を挟持してなり、第１電極と第２電極の間に電圧パルスを印加することにより可変抵抗体の電気抵抗を複数の状態間で遷移させて情報を記憶する（図示せず）。
【００３１】
メモリセルアレイを構成する各バンクＢ、データバンクＢＤ１〜ＢＤｘ及びＥＣＣバンクＢＥは、本実施形態では同じ構成となっている。バンクＢは、図２に示すように、ｍ×ｎ個のメモリセルＭＲがマトリクス状に配置され、同一行のメモリセルＭＲを構成するトランジスタＴのゲート端子が同一のワード線ＷＬｉ（ｉ＝１〜ｍ）に、同一列のメモリセルＭＲを構成する可変抵抗素子Ｒの他端が同一のビット線ＢＬｌｊ（ｌ＝１〜ｘ、ｊ＝１〜ｎ）に、バンクＢの全てのメモリセルＭＲを構成するトランジスタＴのソース端子が共通のソース線ＳＬ１に、夫々接続されている。尚、ソース線は、ビット線ＢＬｌｊ毎に構成しても良い。また、バンクＢ毎に、バンク制御部９からの制御によりワード線ＷＬｉ（ｉ＝１〜ｍ）に電圧を印加する行デコーダと、バンク制御部９からの制御によりビット線ＢＬｌｊ（ｌ＝１〜ｘ、ｊ＝１〜ｎ）に電圧を印加する列デコーダが設けられている。
【００３２】
本実施形態のバンクＢは、トランジスタＴのゲート端子への電圧印加状態によって、メモリセルＭＲの選択・非選択を切り替え、可変抵抗素子Ｒの他端への電圧印加状態によってメモリセルＭＲの動作（書き込み動作、読み出し動作、消去動作）を切り替えるように構成されている。尚、書き込み動作及び消去動作の切り替えは、極性の異なる電圧パルスを印加する方法、パルス幅の異なる電圧パルスを印加する方法、負荷回路の負荷抵抗特性を切り替える方法等があるが、何れの方法を利用するかは任意である。
【００３３】
尚、本実施形態では、データバンクＢＤｌには、アドレス（ＡＣｌ＋（ｌ−１）、ＡＣ２＋（ｌ−１）、・・・）が割り当てられている場合を想定しているが、アドレスの割り当ては、これに限るものではない。
【００３４】
メモリ制御部２は、書き込みアドレス及び読み出しアドレスを受け付けるアドレスバッファ４と、予め設定されたビット数単位で書き込みデータを受け付け、メモリセルアレイから読み出した読み出しデータを出力する入出力バッファ５と、バンク制御部９を介してメモリセルアレイに対する読み出し処理ＳＲの制御を行う読み出し制御部７と、バンク制御部９を介してメモリセルアレイに対する書き込み処理ＳＷの制御を行う書き込み制御部８と、所定方式の誤り訂正符号を生成する符号化処理（誤り訂正符号生成処理）ＳＥ及び誤り訂正処理を実行するＥＣＣ制御部６と、書き込み要求及び読み出し要求を受け付けて、読み出し制御部７、書き込み制御部８及びＥＣＣ制御部６の制御を行う命令制御部３を備えて構成されている。
【００３５】
尚、入出力バッファ５は、例えば、入力バッファ等からなるデータ入力部と、出力バッファ等からなるデータ出力部で構成されていても良い。
【００３６】
〈書き込み処理〉
本発明装置１の書き込み処理ＳＷについて、図３を基に説明する。ここで、本実施形態では、誤り訂正符号を生成する符号化処理ＳＷを書き込みデータＤＷに対して実行する場合について説明する。また、ここでは、バースト機能により複数の書き込み要求ＣＷ１〜ＣＷｈを連続して実行する場合について説明する。
【００３７】
命令制御部３は、ＣＰＵから発行されたメモリセルアレイに対する書き込み要求ＣＷ１〜ＣＷｈを受け付けると、先ず、書き込み要求ＣＷ１に基づき、書き込み制御部８及びＥＣＣ制御部６を制御して、書き込み処理ＳＷ１の実行を開始する。
【００３８】
入出力バッファ５に書き込みデータＤＷ１が入力されると、入出力バッファ５から書き込み制御部８とＥＣＣ制御部６のＥＣＣ部６２に書き込みデータＤＷ１が転送される。また、アドレスバッファ４に書き込みアドレスが入力されると、アドレスバッファ４から書き込み制御部８に書き込みアドレスが転送される。
【００３９】
書き込み制御部８は、図３に示すように、書き込み処理ＳＷ１において、入出力バッファ５から転送された書き込みデータＤＷ１を所定数に分割して分割データＤ１１〜Ｄ１ｘを生成するデータ分割処理を実行し、生成した分割データＤ１１〜Ｄ１ｘをバンク制御部９に転送する。尚、図３では、データ分割処理にかかる時間は、データ書き込み処理ＷＤ及び符号書き込み処理ＷＥに比べて非常に短いことから、図示していない。書き込み制御部８は、図３に示すように、バンク制御部９を介して、書き込み要求で指定された書き込みアドレスに基づいて、データバンクＢＤ１〜ＢＤｘに分割データＤ１１〜Ｄ１ｘを順次書き込むデータ書き込み処理ＷＤ１１〜ＷＤ１ｘを実行する。
【００４０】
ＥＣＣ制御部６では、図３に示すように、書き込み制御部８によるバンク制御部９を介したデータ書き込み処理ＷＤ１１〜ＷＤ１ｘと並行して、ＥＣＣ部６２が、書き込みデータＤＷ１に対する符号化処理ＳＥ１を実行して第１誤り訂正符号を生成し、第１誤り訂正符号の内の第１検査データＤｅ１を書き込み制御部８に転送する。ここで、本実施形態では、ＥＣＣ制御部６は、ＢＣＨ（ＢＯＳＥ−Ｃｈａｕｄｈｕｒｉ−Ｈｏｃｑｕｅｎｇｈｅｍ）符号による符号化処理ＳＥを行うが、符号化処理ＳＥとしては、リードソロモン符号やＬＤＰＣ（Ｌｏｗ  Ｄｅｎｓｉｔｙ  Ｐａｒｉｔｙ  Ｃｈｅｃｋ）符号を利用しても良い。
【００４１】
書き込み制御部８は、ＥＣＣ制御部６から第１検査データＤｅ１を受け付けると、バンク制御部９を介して、データ書き込み処理ＷＤ１１〜ＷＤ１ｘに続いて、ＥＣＣバンクＢＥに第１検査データＤｅ１を書き込む符号書き込み処理ＷＥ１を実行する。命令制御部３は、符号書き込み処理が終了すると、書き込み処理ＳＷ１を終了する。
【００４２】
命令制御部３は、本実施形態では、図３に示すように、書き込み処理ＳＷ１の終了を待たずに、次の書き込み要求ＣＷ２の書き込み対象である書き込みデータＤＷ２の分割データＤ２１〜Ｄ２ｘのデータ書き込み処理ＷＤ２１〜ＷＤ２ｘが可能になった時点で、分割データＤ２１〜Ｄ２ｘのデータ書き込み処理ＷＤ２１〜ＷＤ２ｘ及び符号化処理ＳＥ２の実行を開始する。同様にして、書き込み処理ＳＷ３〜ＳＷｈを実行する。
【００４３】
尚、書き込み制御部８において、書き込みデータＤＷ１〜ＤＷｈに対するデータ分割処理を連続して、他の処理と並行して実行するようにしても良い。また、ＥＣＣ制御部６は、図３では、符号化処理ＳＥｋ（ｋ＝１〜ｈ）をデータ書き込み処理ＷＤｋ１と同時に開始しているが、符号化処理ＳＥ１〜ＳＥｈを連続して、他の処理と並行して実行するようにしても良い。
【００４４】
〈読み出し処理〉
本発明装置１の読み出し処理ＳＲについて、図４を基に説明する。尚、読み出し処理ＳＲについても書き込み処理ＳＷの場合と同様に、読み出し要求ＣＲ１〜ＣＲｈを連続して実行する場合について説明する。
【００４５】
命令制御部３は、ＣＰＵから発行されたメモリセルアレイに対する読み出し要求ＣＲ１〜ＣＲｈを受け付けると、先ず、読み出し要求ＣＲ１に基づき、読み出し制御部７及びＥＣＣ制御部６を制御して、読み出し処理ＳＲ１の実行を開始する。
【００４６】
アドレスバッファ４に読み出しアドレスが入力されると、アドレスバッファ４から読み出し制御部７に読み出しアドレスが転送される。
【００４７】
読み出し制御部７は、図４に示すように、読み出し処理ＳＲ１において、アドレスバッファ４から転送された読み出しアドレスに基づき、バンク制御部９を介して、データバンク夫々から分割データを夫々読み出してＥＣＣ制御部６及び入出力バッファ５に転送するデータ読み出し処理ＲＤ１１〜ＲＤ１ｘを実行する。更に、読み出し制御部７は、データ読み出し処理ＲＤ１１〜ＲＤ１ｘの実行後、データ読み出し処理ＲＤ１１〜ＲＤ１ｘで読み出された分割データＤ１１〜１ｘからなる読み出しデータＲＤ１に対応する第１検査データＤｅ１を、バンク制御部９を介してＥＣＣバンクＢＥから読み出す符号読み出し処理ＲＥ１を実行する。
【００４８】
ＥＣＣ制御部６は、データ読み出し処理ＲＤ１１〜ＲＤ１ｘによって読み出された読み出しデータＲＤ１に対する符号化処理ＳＥ１を実行して第２誤り訂正符号を生成する。ＥＣＣ制御部６の比較部６３は、読み出し制御部７が読み出した第１検査データＤｅ１と第２誤り訂正符号の内の第２検査データＤｅ１’を比較する符号比較処理ＳＣ１（第１符号比較処理）を行う。
【００４９】
ここで、ＥＣＣ制御部６は、比較部６３における符号比較処理ＳＣ１の比較結果が不一致の場合、読み出しデータＲＤ１及び第１検査データＤｅ１からなる符号語を用いて、読み出しデータＲＤ１に対する誤り検出処理及び誤り訂正処理を実行する。
【００５０】
ＥＣＣ制御部６は、出力制御部６１が、符号比較処理ＳＣ１の比較結果が不一致の場合は、誤り訂正処理の実行後の読み出しデータＲＤ１’を入出力バッファ５に転送して、読み出しデータＲＤ１を読み出しデータＲＤ１’に置き換える。命令制御部３は、符号比較処理ＳＣ１の比較結果が一致する場合、或いは、符号比較処理ＳＣ１の比較結果が不一致でＥＣＣ制御部６における入出力バッファ５への読み出しデータの転送が終了した場合に、読み出し処理ＳＲ１を終了する。
【００５１】
命令制御部３は、本実施形態では、図４に示すように、読み出し処理ＳＲ１の終了を待たずに、次の読み出し要求ＣＲ２の読み出し対象である読み出しデータＤＲ２の分割データＤ２１〜Ｄ２ｘのデータ読み出し処理ＲＤ２１〜ＲＤ２ｘが可能になった時点で、分割データＤ２１〜Ｄ２ｘのデータ読み出し処理ＲＤ２１〜ＲＤ２ｘ及び符号化処理ＳＥ２の実行を開始する。同様にして、読み出し処理ＳＲ３〜ＳＲｈを実行する。
【００５２】
〈第２実施形態〉
本発明装置１の第２実施形態について、図１〜図４を基に説明する。尚、上記第１実施形態では、書き込みデータＤＷに対して符号化処理ＳＷを実行する場合について説明したが、本実施形態では、分割データＤｋ１〜Ｄｋｘ（ｋ＝１〜ｈ）に対して符号化処理ＳＷを実行する場合について説明する。
【００５３】
〈書き込み処理〉
本実施形態における書き込み処理ＳＷについて、図３を基に説明する。尚、本実施形態では、第１実施形態と同様に、バースト機能により複数の書き込み要求ＣＷ１〜ＣＷｈを連続して実行する場合について説明する。
【００５４】
命令制御部３は、上記第１実施形態と同様に、ＣＰＵから発行されたメモリセルアレイに対する書き込み要求ＣＷ１〜ＣＷｈを受け付けると、先ず、書き込み要求ＣＷ１に基づき、書き込み制御部８及びＥＣＣ制御部６を制御して、書き込み処理ＳＷ１の実行を開始する。
【００５５】
入出力バッファ５に書き込みデータＤＷ１が入力されると、上記第１実施形態と同様に、入出力バッファ５から書き込み制御部８とＥＣＣ制御部６のＥＣＣ部６２に書き込みデータＤＷ１が転送される。また、アドレスバッファ４に書き込みアドレスが入力されると、アドレスバッファ４から書き込み制御部８に書き込みアドレスが転送される。
【００５６】
書き込み制御部８は、上記第１実施形態と同様に、図３に示すように、書き込み処理ＳＷ１において、入出力バッファ５から転送された書き込みデータＤＷ１を所定数に分割して分割データＤ１１〜Ｄ１ｘを生成するデータ分割処理を実行し、生成した分割データＤ１１〜Ｄ１ｘをバンク制御部９に転送し、バンク制御部９を介して、書き込み要求で指定された書き込みアドレスに基づいて、データバンクＢＤ１〜ＢＤｘに分割データＤ１１〜Ｄ１ｘを順次書き込むデータ書き込み処理ＷＤ１１〜ＷＤ１ｘを実行する。
【００５７】
ＥＣＣ制御部６は、本実施形態では、データ書き込み処理ＷＤ１１〜ＷＤ１ｘと並行して、ＥＣＣ部６２が、分割データＤ１１〜Ｄ１ｘの夫々に対する符号化処理ＳＥ１１〜ＳＥ１ｘを実行して第１誤り訂正符号を生成し、第１誤り訂正符号の内の第１検査データＤｅ１１〜Ｄｅ１ｘからなる第１検査データ群Ｄｅ１”を書き込み制御部８に転送する。
【００５８】
書き込み制御部８は、ＥＣＣ制御部６から第１検査データ群Ｄｅ１”を受け付けると、バンク制御部９を介して、データ書き込み処理ＷＤ１１〜ＷＤ１ｘに続いて、ＥＣＣバンクＢＥに第１検査データ群Ｄｅ１”を書き込む符号書き込み処理ＷＥ１を実行する。命令制御部３は、符号書き込み処理が終了すると、書き込み処理ＳＷ１を終了する。
【００５９】
命令制御部３は、上記第１実施形態と同様に、書き込み処理ＳＷ１の終了を待たずに、次の書き込み要求ＣＷ２の書き込み対象である書き込みデータＤＷ２の分割データＤ２１〜Ｄ２ｘのデータ書き込み処理ＷＤ２１〜ＷＤ２ｘが可能になった時点で、分割データＤ２１〜Ｄ２ｘのデータ書き込み処理ＷＤ２１〜ＷＤ２ｘ及び符号化処理ＳＥ２１〜ＳＥ２ｘの実行を開始する。同様にして、書き込み処理ＳＷ３〜ＳＷｈを実行する。
【００６０】
〈読み出し処理〉
本実施形態における読み出し処理ＳＲについて、図４を基に説明する。尚、読み出し処理ＳＲについても書き込み処理ＳＷの場合と同様に、読み出し要求ＣＲ１〜ＣＲｈを連続して実行する場合について説明する。
【００６１】
命令制御部３は、上記第１実施形態と同様に、ＣＰＵから発行されたメモリセルアレイに対する読み出し要求ＣＲ１〜ＣＲｈを受け付けると、先ず、読み出し要求ＣＲ１に基づき、読み出し制御部７及びＥＣＣ制御部６を制御して、読み出し処理ＳＲ１の実行を開始する。
【００６２】
アドレスバッファ４に読み出しアドレスが入力されると、アドレスバッファ４から読み出し制御部７に読み出しアドレスが転送される。
【００６３】
読み出し制御部７は、上記第１実施形態と同様に、図４に示すように、読み出し処理ＳＲ１において、アドレスバッファ４から転送された読み出しアドレスに基づき、バンク制御部９を介して、データバンク夫々から分割データを夫々読み出してＥＣＣ制御部６及び入出力バッファ５に転送するデータ読み出し処理ＲＤ１１〜ＲＤ１ｘを実行する。
【００６４】
更に、本実施形態の読み出し制御部７は、データ読み出し処理ＲＤ１１〜ＲＤ１ｘの実行後、分割データＤ１１〜１ｘの夫々に対応する第１検査データ群Ｄｅ１”を、バンク制御部９を介してＥＣＣバンクＢＥから読み出す符号読み出し処理ＲＥ１を実行する。
【００６５】
ＥＣＣ制御部６は、読み出し制御部７から分割データＤ１１〜１ｘを順次受け付け、分割データＤ１１〜１ｘを受け付ける毎に、分割データＤ１１〜１ｘに対する符号化処理ＳＥ１１〜ＳＥ１ｘを実行して第２誤り訂正符号を生成する。ＥＣＣ制御部６の比較部６３は、読み出し制御部７が読み出した第１検査データ群Ｄｅ１”の第１検査データＤｅ１ｌ（ｌ＝１〜ｘ）と、対応する第２誤り訂正符号の内の第２検査データＤｅ１ｌ’を夫々比較する符号比較処理ＳＣ１ｌ（第２符号比較処理）を行う。
【００６６】
ここで、ＥＣＣ制御部６は、比較部６３における符号比較処理ＳＣ１ｌの比較結果が不一致の場合、分割データＤ１ｌ及び第１検査データＤｅ１ｌ’からなる符号語を用いて、分割データＤ１ｌに対する誤り検出処理及び誤り訂正処理を実行する。
【００６７】
ＥＣＣ制御部６は、出力制御部６１が、符号比較処理ＳＣ１ｌの比較結果が不一致の場合は、誤り訂正処理の実行後の分割データＤ１ｌ’を入出力バッファ５に転送して、読み出しデータＲＤ１の内の分割データＤ１ｌを分割データＤ１ｌ’に置き換える。命令制御部３は、最後の分割データＤ１ｘに対する符号比較処理ＳＣ１ｘの比較結果が一致の場合、或いは、最後の分割データＤ１ｘに対する符号比較処理ＳＣ１ｘの比較結果が不一致で入出力バッファ５への分割データＤ１ｘ’の転送が終了した場合に、読み出し処理ＳＲ１を終了する。
【００６８】
命令制御部３は、上記第１実施形態と同様に、図４に示すように、読み出し処理ＳＲ１の終了を待たずに、次の読み出し要求ＣＲ２の読み出し対象である読み出しデータＤＲ２の分割データＤ２１〜Ｄ２ｘのデータ読み出し処理ＲＤ２１〜ＲＤ２ｘが可能になった時点で、分割データＤ２１〜Ｄ２ｘのデータ読み出し処理ＲＤ２１〜ＲＤ２ｘ及び符号化処理ＳＥ２の実行を開始する。同様にして、読み出し処理ＳＲ３〜ＳＲｈを実行する。
【００６９】
〈別実施形態〉
〈１〉上記第１及び第２実施形態では、データバンクＢＤ１〜ＢＤｘ及びＥＣＣバンクＢＥに対し共通のバンク制御部９を設けたが、データバンクＢＤ１〜ＢＤｘに対してデータバンク制御部９を、ＥＣＣバンクＢＥに対してＥＣＣバンクＢＥ制御部を設けるように構成しても良い。
【００７０】
この場合には、データバンクＢＤ１〜ＢＤｘに対するデータ書き込み処理ＷＤ１１〜ＷＤ１ｘとＥＣＣバンクＢＥに対する符号書き込み処理ＤＥ１を並行して実行できるので、第１検査データＤｅｋをＥＣＣバンクＢＥに書き込む符号書き込み処理ＷＥｋを、符号化処理ＳＥｋ後、データ書き込み処理ＷＤｋ１〜ＷＤｋｘの終了前の任意の時点で開始可能になる。
【００７１】
また、データバンク制御部９についても、複数設けても良い。この場合には、データバンク制御部９の数に応じた数の書き込み処理ＷＥまたは読み出し処理ＲＥが同時に実行可能になる。
【００７２】
〈２〉上記第１実施形態及び第２実施形態では、メモリセルアレイが、１つのトランジスタＴと１つの可変抵抗素子Ｒを備える１Ｔ１Ｒ構造のメモリセルＭＲで構成されている場合について説明したが、これに限られるものではない。メモリセルは、例えば、クロスポイント型のメモリセルや、可変抵抗素子とダイオードを直列接続した１Ｄ１Ｒ構造のメモリセル等であっても良い。
【符号の説明】
【００７３】
１    本発明に係る不揮発性半導体記憶装置
２    メモリ制御部
３    命令制御部
４    アドレスバッファ
５    入出力バッファ
６    ＥＣＣ制御部
７    読み出し制御部
８    書き込み制御部
９    バンク制御部
６１  出力制御部
６２  ＥＣＣ部
６３  比較部
ＢＤ  データバンク
ＢＥ  ＥＣＣバンク
【図１】
0005346354.tif 000002
【図２】
0005346354.tif 000003
【図３】
0005346354.tif 000004
【図４】
0005346354.tif 000005