(57)【要約】【課題】リファレンス用セルの情報に誤りがあり訂正能力を超える誤りが生じた場合であっても、以降の読み出しにおいて誤りを生じる可能性を低減させる。【解決手段】複数の第１及び第２メモリセル、及び１又は複数の第３メモリセルを含むメモリセルアレイと、選択された複数の第１及び第２メモリセルが保持する複数のデータの値を選択された第３メモリセルが保持するリファレンスデータに対応したリファレンス電位を参照して判定する判定回路と、判定された複数の第１及び第２メモリセルのデータの値を誤り訂正符号として、判定された複数の第１及び／又は第２メモリセルのデータの値に誤りがあるか否かを検出する誤り検出訂正回路とを備える。誤り検出訂正回路は判定された上記データの値に誤り訂正能力以上の誤りがあることを検出した時に、選択された第３メモリセルに対してリファレンスデータを書き込む制御を行う。【選択図】図１
2015053096.tif 000002
【特許請求の範囲】
【請求項１】
複数の第１メモリセル、複数の第２メモリセル、及び１又は複数の第３メモリセルを含むメモリセルアレイと、
選択された前記複数の第１メモリセル及び選択された前記複数の第２メモリセルが保持する複数のデータの値を、選択された少なくとも１つの前記第３メモリセルが保持するリファレンスデータに対応したリファレンス信号を参照して判定する判定回路と、
前記判定された複数の第１及び第２メモリセルのデータの値を誤り訂正符号として、前記判定された複数の第１及び／又は第２メモリセルのデータの値に誤りがあるか否かを検出する誤り検出訂正回路と、
を備え、
前記誤り検出訂正回路は、前記判定された複数の第１及び／又は第２メモリセルのデータの値に誤り訂正能力以上の誤りがあることを検出した時に、前記選択された少なくとも１つの第３メモリセルに対して前記リファレンスデータを書き込む制御を行う、ことを特徴とする半導体装置。
【請求項２】
前記誤り検出訂正回路は、
前記判定された複数の第１及び第２メモリセルのデータの値からシンドロームを生成するシンドローム生成手段と、
前記生成されたシンドロームから前記判定された複数の第１及び第２メモリセルのデータの値のうちで誤りが生じているデータの位置を特定するシンドロームデコード手段と、
前記シンドロームデコード手段が特定した位置のデータに対して該データの値を反転させる反転制御信号を出力する誤り訂正手段と、
を備え、
前記誤り検出訂正回路は、
前記誤り訂正手段が出力した反転制御信号に基づいて誤り訂正を行った後に、前記シンドローム生成手段により生成されたシンドロームが誤りの存在を示している場合を、誤り訂正能力以上の誤りがあると検出する、ことを特徴とする請求項１に記載の半導体装置。
【請求項３】
前記選択された少なくとも１つの第３メモリセルに保持された前記リファレンスデータを読み出し、前記リファレンスデータに対応したリファレンス信号を出力するリファレンス読出回路と、
前記選択された少なくとも１つの第３メモリセルに前記リファレンスデータを書き込むリファレンス書込回路と、
を含むリファレンス読出書込部をさらに備えた、ことを特徴とする請求項１または２に記載の半導体装置。
【請求項４】
前記第３メモリセルは、第１論理値のデータを保持するメモリセルと、第２論理値のデータを保持するメモリセルとを含み、
前記リファレンス読出回路は、選択された前記少なくとも１つの第３メモリセルに対応した前記第１及び第２論理値のデータを保持するメモリセルをそれぞれ読み出した２つの信号の中間レベルの信号を、前記リファレンスデータに対応したリファレンス信号として出力し、
前記リファレンス書込回路は、選択された前記少なくとも１つの第３メモリセルに対応した前記第１及び第２論理値のデータを保持するメモリセルに、夫々第１及び第２論理値のデータを書き込む、ことを特徴とする請求項３に記載の半導体装置。
【請求項５】
前記リファレンス読出書込部は、
前記第３メモリセルのうち前記第１論理値のデータを保持するメモリセルに接続された第１リファレンスビット線と、
前記第３メモリセルのうち前記第２論理値のデータを保持するメモリセルに接続された第２リファレンスビット線と、
前記第１リファレンスビット線と前記第２リファレンスビット線との間に、直列に接続された第１及び第２トランジスタと、を備え、
前記第１トランジスタ及び第２トランジスタの接続節点から前記リファレンス信号が出力されることを特徴とする請求項４に記載の半導体装置。
【請求項６】
前記複数の第１及び第２メモリセルの制御電極と、前記第３メモリセルの制御電極とに接続されるワード線を備え、
前記ワード線により、前記リファレンス信号を出力する前記第３メモリセルが選択されるように構成されている、ことを特徴とする請求項１乃至５のいずれか一に記載の半導体装置。
【請求項７】
前記複数の第１メモリセルが保持するデータは外部入出力を行うデータビットであり、
前記複数の第２メモリセルが保持するデータは、前記データビットを誤り訂正するために付加されたチェックビットである、ことを特徴とする請求項１乃至６のいずれか一に記載の半導体装置。
【請求項８】
前記データビットを外部出力する出力バッファをさらに備え、
前記誤り検出訂正回路は、誤り訂正能力以上の誤りがあると検出した場合にエラー信号を出力し、
前記出力バッファは前記エラー信号を受けて前記複数の第１メモリセルが保持するデータビットを外部出力しないように制御する、ことを特徴とする請求項７に記載の半導体装置。
【請求項９】
前記複数の第１及び第２メモリセルに対する書き込み制御を行う書込制御回路をさらに備え、
前記書込制御回路は、
前記選択された複数の第１メモリセルのうち、前記反転制御信号に基づいて誤り訂正が行われたデータに対応するメモリセルに対して、前記誤り訂正されたデータの値を所定の書き込み期間に書き込み、
前記選択された複数の第２メモリセルのデータの値を前記所定の書き込み期間に書き込む制御を行う、ことを特徴とする請求項３乃至８のいずれか一に記載の半導体装置。
【請求項１０】
前記複数の第１及び第２メモリセルに対して書き込み制御を行う書込制御回路をさらに備え、
前記書込制御回路は、
前記選択された複数の第１及び第２メモリセルのうち、前記反転制御信号に基づいて誤り訂正が行われたデータに対応するメモリセルに対して、前記誤り訂正されたデータの値を所定の書き込み期間に書き込む制御を行う、ことを特徴とする請求項３乃至８のいずれか一に記載の半導体装置。
【請求項１１】
前記書込制御回路は、
リライトノードと、
前記リライトノードを所定の電位にプリチャージするプリチャージ回路と、
ゲートが前記反転制御信号を受け、ソース及びドレインの一方が前記リライトノードと接続され、ソース及びドレインの他方が第１の電源と接続された第３トランジスタと、を備え、
前記書込制御回路は、前記リライトノードの電位に基づいて、前記誤り訂正されたデータの値を所定の書き込み期間に書き込む制御を行う、ことを特徴とする請求項９または１０に記載の半導体装置。
【請求項１２】
前記第１メモリセル、前記第２メモリセル、及び前記第３メモリセルは、抵抗状態により情報を記憶する抵抗変化型メモリ素子を備えたメモリセルである、ことを特徴とする請求項１乃至１１のいずれか一に記載の半導体装置。
【請求項１３】
複数の第１メモリセル、複数の第２メモリセル、及びリファレンスデータを保持する１又は複数の第３メモリセルを含むメモリセルアレイに対する誤り訂正方法であって、
選択された前記複数の第１メモリセル及び選択された前記複数の第２メモリセルが保持する複数のデータの値を、選択された少なくとも１つの前記第３メモリセルが保持するリファレンスデータに対応したリファレンス信号を参照して判定する判定ステップと、
前記判定された複数の第１及び第２メモリセルのデータの値を誤り訂正符号として、前記判定された複数の第１及び／又は第２メモリセルのデータの値に誤り訂正能力以上の誤りがあるか否かを検出する検出ステップと、
前記判定された複数の第１及び／又は第２メモリセルのデータの値に誤り訂正能力以上の誤りがあると検出された場合に、前記選択された少なくとも１つの第３メモリセルに対して前記リファレンスデータを書き込むリファレンスデータ書込みステップと、
を含む、ことを特徴とする誤り訂正方法。
【請求項１４】
前記検出ステップは、
前記判定された複数の第１及び第２メモリセルのデータの値を誤り訂正符号として、前記判定された複数の第１及び／又は第２メモリセルのデータの値に誤りがあるか否かを検出する第１の誤り検出ステップと、
前記第１の誤り検出ステップにおいて検出された前記複数の第１及び／又は第２メモリセルのデータの値の誤りを訂正する誤り訂正ステップと、
前記誤り訂正ステップ後の前記複数の第１及び／又は第２メモリセルのデータの値に誤りがあるか否かを再度検出する第２の誤り検出ステップと、
を含み、
前記第２の誤り検出ステップにおいて誤りが検出された場合を、前記複数の第１及び／又は第２メモリセルのデータの値に誤り訂正能力以上の誤りがあると検出する、ことを特徴とする請求項１３に記載の誤り訂正方法。
【請求項１５】
前記第１及び第２の誤り検出ステップは、前記判定された複数の第１及び第２メモリセルのデータの値からシンドロームを生成し、前記シンドロームの全ビットのうち、０でないビットが存在する場合を誤りがあると検出し、
前記誤り訂正ステップは、前記生成されたシンドロームから前記判定された複数の第１及び第２メモリセルのデータの値のうちで誤りが生じているデータの位置を特定し、前記特定された位置のデータを反転させる、ことを特徴とする請求項１４に記載の誤り訂正方法。
【請求項１６】
前記検出ステップにおいて前記複数の第１及び／又は第２メモリセルのデータの値に誤り訂正能力以上の誤りがあると検出された場合に、前記第１メモリセルのデータの値を外部に読み出す動作を行わないことを特徴とする請求項１３乃至１５のいずれか一に記載の誤り訂正方法。
【請求項１７】
前記リファレンスデータ書込みステップを行った後、
前記判定ステップ、及び前記検出ステップを再度行うことを特徴とする請求項１３乃至１６のいずれか一に記載の誤り訂正方法。
【請求項１８】
前記複数の第１メモリセルが保持するデータは外部入出力を行うデータビットであり、
前記複数の第２メモリセルが保持するデータは、前記データビットを誤り訂正するために付加されたチェックビットである、ことを特徴とする請求項１３乃至１７のいずれか一に記載の誤り訂正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリセルから読み出したデータの誤りを訂正する半導体装置と、その誤り訂正方法に関する。
【背景技術】
【０００２】
現在、フラッシュメモリは、不揮発性の半導体記憶装置として広く用いられているが、このフラッシュメモリを置き換える目的のもと、様々な半導体記憶装置の開発が進んでいる。中でも、抵抗変化型素子を用いて、その抵抗状態の大小により論理０と論理１の情報を記憶する抵抗変化型メモリセルが知られている。抵抗変化型素子の代表的なものとして、磁気トンネル接合（ＭＴＪ；Ｍａｇｎｅｔｉｃ  Ｔｕｎｎｅｌ  Ｊｕｎｃｔｉｏｎ）素子を用いてスピン注入磁化反転書き込みを行うＳＴＴ−ＲＡＭ（Ｓｐｉｎ  Ｔｒａｎｓｆｅｒ  Ｔｏｒｑｕｅ−Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）や、金属酸化物等を用いるＲｅ−ＲＡＭ（Ｒｅｓｉｓｔｉｖｅ−Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などがある。
【０００３】
これらの抵抗変化型メモリセルから読み出した信号をセンス増幅するためには、リファレンス用セルを用いる方式が一般的に使用される。リファレンス用セルの方式としては、論理０と論理１にそれぞれ対応する２つの抵抗値の中間の抵抗値を有するメモリセルを用いて参照信号（参照電圧又は参照電流）を生成する方式や、論理０及び論理１にそれぞれ対応する抵抗値を有する２つのメモリセルを使用してその中間の抵抗値に相当する参照信号を生成する方式が用いられる。
【０００４】
特許文献１は、不揮発性メモリから読み出したデータにデータ誤り訂正能力を超える誤りがある場合、さらなる誤りを付加することを防止することが可能な誤り訂正装置および誤り訂正方法を開示している。
【０００５】
また、特許文献２は、ＤＲＡＭのセンスアンプに対応してＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ）を用いた誤り訂正回路を設けた半導体記憶装置を開示している。該半導体記憶装置では、ページをオープンした段階でセンス増幅したデータに誤りがある場合にその誤りを訂正する。そして、ページをクローズする段階でチェックビットの情報を生成して、データビットと共に再書き込みしている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２１１７４２号公報
【特許文献２】特開２００６−２４４５４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
以下の分析は、本発明の観点から与えられる。
【０００８】
半導体記憶装置においてリファレンス用セル方式を用いる場合、小型化、低コスト化を図るために、リファレンス用セルの個数を削減して、１つのリファレンス用セルを複数のセンスアンプで共用することが行われる場合がある。この場合、リファレンス用セルに設定された情報に誤りがあると、センス増幅された複数のデータに誤りが生じる虞がある。そのため、ＥＣＣを用いた誤り訂正を適用する場合、ＥＣＣのエラー訂正能力を超える誤りとなってしまう問題がある。
【０００９】
特許文献１に開示された方法では、誤り訂正能力を超える誤りがあると判定した場合に、誤り訂正を行わないようにすることで、更なる誤りを付加することを防止することが可能である。しかしながら、リファレンス用セル方式を用いた半導体記憶装置においてリファレンス用セルの情報に誤りがある場合は、以降の読み出しにおいても誤りを生じる可能性は高いままである。
【００１０】
特許文献２に開示された方法では、メモリセルから読み出したデータの誤りを訂正してメモリセルに再書き込みすることで、次回の読み出し時に誤りが生じる可能性を低減することができる。しかしながら、リファレンス用セル方式を用いた半導体記憶装置においてリファレンス用セルの情報に誤りがある場合は、以降の読み出しにおいても誤りを生じる可能性は高いままである。
【課題を解決するための手段】
【００１１】
本発明の第１の視点による半導体装置は、複数の第１メモリセル、複数の第２メモリセル、及び１又は複数の第３メモリセルを含むメモリセルアレイと、選択された前記複数の第１メモリセル及び選択された前記複数の第２メモリセルが保持する複数のデータの値を、選択された少なくとも１つの前記第３メモリセルが保持するリファレンスデータに対応したリファレンス信号を参照して判定する判定回路と、前記判定された複数の第１及び第２メモリセルのデータの値を誤り訂正符号として、前記判定された複数の第１及び／又は第２メモリセルのデータの値に誤りがあるか否かを検出する誤り検出訂正回路と、を備える。ここで、前記誤り検出訂正回路は、前記判定された複数の第１及び／又は第２メモリセルのデータの値に誤り訂正能力以上の誤りがあることを検出した時に、前記選択された少なくとも１つの第３メモリセルに対して前記リファレンスデータを書き込む制御を行う。
【００１２】
本発明の第２の視点による誤り訂正方法は、複数の第１メモリセル、複数の第２メモリセル、及びリファレンスデータを保持する１又は複数の第３メモリセルを含むメモリセルアレイに対する誤り訂正方法であって、以下のステップを含む。即ち、該誤り訂正方法は、選択された前記複数の第１メモリセル及び選択された前記複数の第２メモリセルが保持する複数のデータの値を、選択された少なくとも１つの前記第３メモリセルが保持するリファレンスデータに対応したリファレンス信号を参照して判定する判定ステップを含む。また、該誤り訂正方法は、前記判定された複数の第１及び第２メモリセルのデータの値を誤り訂正符号として、前記判定された複数の第１及び／又は第２メモリセルのデータの値に誤り訂正能力以上の誤りがあるか否かを検出する検出ステップを含む。さらに、該誤り訂正方法は、前記判定された複数の第１及び／又は第２メモリセルのデータの値に誤り訂正能力以上の誤りがあると検出された場合に、前記選択された少なくとも１つの第３メモリセルに対して前記リファレンスデータを書き込むリファレンスデータ書込みステップを含む。
【発明の効果】
【００１３】
本発明の半導体装置によれば、リファレンス用セルの情報の誤りに起因して、訂正能力を超える誤りが生じた場合であっても、以降の読み出しにおいて誤りを生じる可能性を低減させることに貢献しうる半導体装置を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】一実施形態に係る半導体装置の構成を示すブロック図である。
【図２】第１の実施形態に係る半導体装置の構成を示すブロック図である。
【図３】第１の実施形態に係る半導体装置のデータビット用セルアレイ及びその周辺の回路図である。
【図４】第１の実施形態に係る半導体装置のリファレンス用セルアレイ及びリファレンス読出書込部の回路図である。
【図５】第１の実施形態に係る半導体装置の読出書込部（データビット用）の回路図である。
【図６】第１の実施形態に係る半導体装置の読出書込部（チェックビット用）の回路図である。
【図７】第１の実施形態に係る半導体装置の動作を示すフローチャートである。
【図８】第１の実施形態の変形例１に係る半導体装置の動作を示すフローチャートである。
【図９】第１の実施形態の変形例２に係る半導体装置の読出書込部（チェックビット用）の回路図である。
【図１０】第２の実施形態に係る情報処理システムの構成を示すブロック図である。
【発明を実施するための形態】
【００１５】
まず、本発明の一実施形態の概要について説明する。なお、一実施形態の概要の説明において付記した図面参照符号は専ら理解を助けるための例示であり、図示の態様に限定することを意図するものではない。
【００１６】
一実施形態における半導体装置１は、図１に示すように、複数の第１メモリセル１１、複数の第２メモリセル１２、及び１又は複数の第３メモリセル１３を含むメモリセルアレイ１０と、選択された複数の第１メモリセル１１及び選択された複数の第２メモリセル１２が保持する複数のデータの値を、選択された第３メモリセル１３が保持するリファレンスデータに対応したリファレンス信号（図２、図４のＶＲＥＦに相当）を参照して判定する判定回路３、４と、判定された複数の第１及び第２メモリセルのデータの値を誤り訂正符号として、判定された複数の第１及び／又は第２メモリセルのデータの値（判定回路３及び／又は判定回路４の出力）に誤りがあるか否かを検出する誤り検出訂正回路２と、を備える。ここで、誤り検出訂正回路２は、判定された複数の第１及び／又は第２メモリセルのデータの値に誤り訂正能力以上の誤りがあることを検出した時に、選択された第３メモリセル１３に対してリファレンスデータを書き込む制御を行う。
【００１７】
上記の構成によれば、第３メモリセルが保持する情報に誤りがあった場合、誤り検出訂正回路２は、第１及び／又は第２メモリセルのデータの値の誤りを誤り訂正能力以上の誤りとして検出することができる。その場合、第３メモリセルにリファレンスデータを再書き込みすることにより、第３メモリセルが保持する情報の誤りに起因する誤りが解消され、以降の読み出しにおいて誤りを生じる可能性を低減させることが可能になる。
【００１８】
上記半導体装置において、上記誤り検出訂正回路２は、判定された複数の第１及び第２メモリセルのデータの値（図１の判定回路３、４の出力）からシンドロームを生成するシンドローム生成手段と、生成されたシンドロームから判定された複数の第１及び第２メモリセルのデータの値（図１の判定回路３、４の出力）のうちで誤りが生じているデータの位置を特定するシンドロームデコード手段と、シンドロームデコード手段が特定した位置のデータに対して該データの値を反転させる反転制御信号（図５のＩＮＶｉ；図６、図９のＩＮＶｊ）を出力する誤り訂正手段と、を備えるようにしてもよい。ここで、誤り検出訂正回路２は、誤り訂正手段が出力した反転制御信号に基づいて誤り訂正を行った後に、シンドローム生成手段により生成されたシンドロームが誤りの存在を示している場合を、誤り訂正能力以上の誤りがあると検出するようにしてもよい。
【００１９】
上記半導体装置において、図４に示すように、選択された第３メモリセル（図４の４７ａ〜ｃ、５７ａ〜ｃのうちで選択されたもの。例えば、ワード線ＷＬ０がアクティブの場合は、４７ａ、５７ａが選択される）に保持されたリファレンスデータを読み出し、リファレンスデータに対応したリファレンス信号（例えば、リファレンス電位ＶＲＥＦ）を出力するリファレンス読出回路３５と、選択された第３メモリセルに前記リファレンスデータを書き込むリファレンス書込回路（３６ａ、３６ｂ）と、を含むリファレンス読出書込部３３をさらに備えることが好ましい。
【００２０】
上記半導体装置において、図４に示すように、第３メモリセルは、第１論理値のデータを保持するメモリセル（図４のデータ１領域のメモリセル４７ａ〜ｃ）と、第２論理値のデータを保持するメモリセル（図４のデータ０領域のメモリセル５７ａ〜ｃ）とを含むようにしてもよい。リファレンス読出回路３５は、選択された第３メモリセルに対応した第１及び第２論理値のデータを保持するメモリセル（例えば、ワード線ＷＬ０がアクティブの場合は、４７ａ、５７ａ）をそれぞれ読み出した２つの信号の中間レベルの信号を、リファレンスデータに対応したリファレンス信号（例えば、リファレンス電位ＶＲＥＦ）として出力するようにしてもよい。また、リファレンス書込回路（３６ａ、３６ｂ）は、選択された第３メモリセルに対応した第１及び第２論理値のデータを保持するメモリセル（例えば、ワード線ＷＬ０がアクティブの場合は、４７ａ、５７ａ）に、夫々第１及び第２論理値のデータ（例えば、第１論理値のデータはデータ１、第２論理値のデータはデータ０）を書き込むようにしてもよい。
【００２１】
リファレンス読出書込部３３は、図４に示すように、第３メモリセルのうち第１論理値のデータを保持するメモリセル（４７ａ〜ｃ）に接続された第１リファレンスビット線ＢＬ１と、第３メモリセルのうち第２論理値のデータを保持するメモリセル（５７ａ〜ｃ）に接続された第２リファレンスビット線ＢＬ２と、第１リファレンスビット線ＢＬ１と第２リファレンスビット線ＢＬ２との間に、直列に接続された第１及び第２トランジスタ（６２ａ、６２ｂ）と、を備え、第１トランジスタ６２ａ及び第２トランジスタ６２ｂの接続節点Ｎｒｅｆからリファレンス信号（例えば、リファレンス電位ＶＲＥＦ）が出力されるようにしてもよい。
【００２２】
上記半導体装置において、複数の第１及び第２メモリセルの制御電極（第１メモリセルの制御電極は、図３のセルトランジスタ７６ａ〜ｆのゲート；第２メモリセルの制御電極は、不図示）と、第３メモリセルの制御電極（図４のセルトランジスタ４６ａ〜ｃ、５６ａ〜ｃのゲート）とに接続されるワード線（ＷＬ０〜ＷＬｍ−１）を備え、図４に示すように、ワード線により、リファレンス信号（例えば、リファレンス電位ＶＲＥＦ）を出力する第３メモリセル（図４では、４７ａ〜ｃ、５７ａ〜ｃから、夫々１つずつ）が選択されるように構成してもよい。
【００２３】
上記半導体装置において、複数の第１メモリセル（図１の１１、図２のデータビット用セルアレイ２１に含まれるメモリセル等）が保持するデータは外部入出力を行うデータビットであり、複数の第２メモリセル（図１の１２、図２のチェックビット用セルアレイ２２に含まれるメモリセル等）が保持するデータは、データビットを誤り訂正するために付加されたチェックビットであるようにしてもよい。
【００２４】
上記半導体装置において、図２に示すように、データビットを外部出力する出力バッファ（図２のバッファ１９に相当）をさらに備え、誤り検出訂正回路（図１の２、図２のＥＣＣ制御ブロック１５）は、誤り訂正能力以上の誤りがあると検出した場合にエラー信号（図２のエラーフラグ）を出力し、上記出力バッファはエラー信号を受けて複数の第１メモリセルが保持するデータビットを外部出力しないように制御することが好ましい。
【００２５】
上記半導体装置において、図５、図６のいずれかに示すように、複数の第１及び第２メモリセル（図１の１１、１２；図２の２１、２２に含まれるメモリセル）に対する書き込み制御を行う書込制御回路（８５、１８５）をさらに備えることが好ましい。ここで、書込制御回路８５は、選択された複数の第１メモリセルのうち、反転制御信号（図５のＩＮＶｉ）に基づいて誤り訂正が行われたデータに対応するメモリセルに対して、誤り訂正されたデータの値を所定の書き込み期間に書き込み、書込制御回路１８５は、選択された複数の第２メモリセルのデータの値を所定の書き込み期間に書き込む制御を行うようにしてもよい。
【００２６】
或いは、図５、図９のいずれかに示すように、複数の第１及び第２メモリセルに対して書き込み制御を行う書込制御回路（８５、２８５）をさらに備えることが好ましい。ここで、書込制御回路（８５、２８５）は、選択された複数の第１及び第２メモリセルのうち、反転制御信号（ＩＮＶｉ、ＩＮＶｊ）に基づいて誤り訂正が行われたデータに対応するメモリセルに対して、誤り訂正されたデータの値を所定の書き込み期間に書き込む制御を行うようにしてもよい。
【００２７】
上記書込制御回路（図５の８５、図９の２８５）は、図５、図９のいずれかに示すように、リライトノード（Ｎ０ｉ、Ｎ１ｊ）と、リライトノードを所定の電位にプリチャージするプリチャージ回路（１６２、２６２）と、ゲートが反転制御信号（ＩＮＶｉ、ＩＮＶｊ）を受け、ソース及びドレインの一方がリライトノード（Ｎ０ｉ、Ｎ１ｊ）と接続され、ソース及びドレインの他方が第１の電源（接地）と接続された第３トランジスタ（図５の１６３、図９の２６３）と、を備え、書込制御回路（８５、２８５）は、リライトノード（Ｎ０ｉ、Ｎ１ｊ）の電位に基づいて、誤り訂正されたデータの値を所定の書き込み期間に書き込む制御を行うようにしてもよい。
【００２８】
上記半導体装置において、第１メモリセル（図１の１１、図２の２１に含まれるメモリセル等）、第２メモリセル（図１の１２、図２の２２に含まれるメモリセル等）、及び第３メモリセル（図１の１３、図２の２３に含まれるメモリセル等）は、抵抗状態により情報を記憶する抵抗変化型メモリ素子を備えたメモリセルであってもよい。
【００２９】
一実施形態における誤り訂正方法は、図１、図７のいずれかに示すように、複数の第１メモリセル１１、複数の第２メモリセル１２、及びリファレンスデータを保持する１又は複数の第３メモリセル１３を含むメモリセルアレイ１０に対する誤り訂正方法であって、以下のステップを含む。即ち、該誤り訂正方法は、選択された複数の第１メモリセル１１及び選択された複数の第２メモリセル１２が保持する複数のデータの値を、選択された第３メモリセル１３が保持するリファレンスデータに対応したリファレンス信号（図２、図４のＶＲＥＦに相当）を参照して判定する判定ステップ（図７のＳ１２）を含む。また、該誤り訂正方法は、判定された複数の第１及び第２メモリセルのデータの値（判定回路３及び／又は判定回路４の出力）を誤り訂正符号として、判定された複数の第１及び／又は第２メモリセルのデータの値に誤り訂正能力以上の誤りがあるか否かを検出する検出ステップを含む（図７のＳ１３〜Ｓ１８）。さらに、該誤り訂正方法は、判定された複数の第１及び／又は第２メモリセルのデータの値に誤り訂正能力以上の誤りがあると検出された場合に、選択された第３メモリセルに対してリファレンスデータを書き込むリファレンスデータ書込みステップ（図７のＳ２０）を含む。
【００３０】
上記誤り訂正方法において、上記検出ステップは、図１、図７のいずれかに示すように、判定された複数の第１及び第２メモリセルのデータの値（図１の判定回路３、４の出力）を誤り訂正符号として、判定された複数の第１及び／又は第２メモリセルのデータの値（図１の判定回路３及び／判定回路４の出力）に誤りがあるか否かを検出する第１の誤り検出ステップ（Ｓ１３、Ｓ１４）と、第１の誤り検出ステップにおいて検出された複数の第１及び／又は第２メモリセルのデータの値の誤りを訂正する誤り訂正ステップ（Ｓ１５、Ｓ１６）と、誤り訂正ステップ後の複数の第１及び／又は第２メモリセルのデータの値に誤りがあるか否かを再度検出する第２の誤り検出ステップ（Ｓ１７、Ｓ１８）と、を含み、第２の誤り検出ステップにおいて誤りが検出された場合（Ｓ１８でＮｏの場合）を、複数の第１及び／又は第２メモリセルのデータの値に誤り訂正能力以上の誤りがあると検出するようにしてもよい。
【００３１】
上記の第１及び第２の誤り検出ステップは、図７に示すように、判定された複数の第１及び第２メモリセルのデータの値からシンドロームを生成し（Ｓ１３、Ｓ１７）、シンドロームの全ビットのうち、０でないビットが存在する場合（Ｓ１４、Ｓ１８でＮｏの場合）を誤りがあると検出し、誤り訂正ステップは、生成されたシンドロームから判定された複数の第１及び第２メモリセルのデータの値のうちで誤りが生じているデータの位置を特定し（Ｓ１５）、特定された位置のデータを反転させる（Ｓ１６）ようにしてもよい。
【００３２】
上記の検出ステップにおいて複数の第１及び／又は第２メモリセルのデータの値（図１の判定回路３及び／判定回路４の出力）に誤り訂正能力以上の誤りがあると検出された場合に、第１メモリセルのデータの値を外部に読み出す動作を行わないことが好ましい（図７に示すように、Ｓ１８でＮｏの場合には、Ｓ２３に相当する動作を行わない）。
【００３３】
上記の誤り訂正方法において、図８に示すように、リファレンスデータ書込みステップ（図７のＳ２０）を行った後、判定ステップ（Ｓ２６）、及び検出ステップ（Ｓ２７〜Ｓ３２）を再度行うようにしてもよい。
【００３４】
上記の誤り訂正方法において、複数の第１メモリセル（図１の１１、図２のデータビット用セルアレイ２１に含まれるメモリセル等）が保持するデータは外部入出力を行うデータビットであり、複数の第２メモリセル（図１の１２、図２のチェックビット用セルアレイ２２に含まれるメモリセル等）が保持するデータは、データビットを誤り訂正するために付加されたチェックビットであるようにしてもよい。
【００３５】
以下、本発明の各実施形態について、図面を参照して詳しく説明する。
【００３６】
［第１の実施形態］
（第１の実施形態の構成）
第１の実施形態の構成について、図２〜図６を参照しながら説明する。図２は、第１の実施形態に係る半導体装置１００の構成を示すブロック図である。図２において、半導体装置１００は複数のメモリセルを含むメモリセルアレイ２０を有する半導体装置であり、読み出しデータ又は書き込みデータを外部から入出力するデータ入出力端子７と、半導体装置１００を制御するコマンド信号を受けるコマンド入力端子６と、選択すべき複数のメモリセルを指定するアドレスを受けるアドレス入力端子５とを備えている。
【００３７】
メモリセルアレイ２０は、図２に示すように、データビット用セルアレイ２１、チェックビット用セルアレイ２２、及びリファレンス用セルアレイ２３から構成される。以降、データビット用セルアレイ２１、チェックビット用セルアレイ２２、及びリファレンス用セルアレイ２３に含まれるメモリセルを、それぞれ、データビット用セル、チェックビット用セル、及びリファレンス用セルという（それぞれ図１の１１、１２、１３に対応する）。また、データビット用セル、チェックビット用セルをセンスアンプでセンス増幅したデータを、それぞれデータビット、チェックビットという。また、メモリセルアレイ２０に隣接してロウデコーダ１６が配置され、ロウデコーダ１６は、アドレス入力端子５から入力されたアドレス信号に含まれる行アドレスをデコートし、１本のワード線（図３のＷＬ０〜ＷＬｍ−１）を選択し活性化する。
【００３８】
また、データビット用セルアレイ２１、チェックビット用セルアレイ２２に隣接して、それぞれ、セレクタ２４、セレクタ２５が配置される。ビット線は、グローバルビット線ＧＢＬとローカルビット線ＬＢＬによる階層構造となっている。データビット用セルアレイ２１、チェックビット用セルアレイ２２内部のローカルビット線ＬＢＬの選択は、セレクタ２４、２５に供給される接続信号（図３のＳＷ０〜ＳＷｋ−１）によって行われる。１つの接続信号が活性化することにより、１本のローカルビット線ＬＢＬが選択され、対応するグローバルビット線ＧＢＬと電気的に接続される。
【００３９】
以上のようにして、選択されたワード線と、選択されたローカルビット線ＬＢＬとに接続された複数のメモリセルが、それぞれ対応するグローバルビット線ＧＢＬと電気的に接続される。ここで、データビット用セルアレイ２１に対するグローバルビット線ＧＢＬは５１２本であり、以降、このグローバルビット線をＧＢＬｉと表記する（ｉ＝０〜５１１）。また、チェックビット用セルアレイ２２に対するグローバルビット線ＧＢＬは１０本であり、以降、このグローバルビット線をＧＢＬｊと表記する（ｊ＝０〜９）。
【００４０】
各グローバルビット線ＧＢＬｉに対して、それぞれ読出書込部（データビット用）３１が接続される。また、各グローバルビット線ＧＢＬｊに対して、それぞれ読出書込部（チェックビット用）３２が接続される。読出書込部（データビット用）３１は、センスアンプＳＡＤｉ、レジスタ回路ＲＧＤｉ、及び書込ドライバＷＤにより構成される。また、読出書込部（チェックビット用）３２は、センスアンプＳＡＣｊ、レジスタ回路ＲＧＣｊ、及び書込ドライバＷＤＣにより構成される。
【００４１】
読出書込部（データビット用）３１において、グローバルビット線ＧＢＬｉはセンスアンプＳＡＤｉの一方の入力端に接続される。同様に、読出書込部（チェックビット用）３２において、グローバルビット線ＧＢＬｊはセンスアンプＳＡＣｊの一方の入力端に接続される。
【００４２】
また、データビット用セルアレイ２１に隣接してグローバルビット線ＧＢＬｉ、ローカルビット線ＬＢＬを所定の電位にプリチャージするプリチャージ回路２６が配置される。同様に、チェックビット用セルアレイ２２に隣接してグローバルビット線ＧＢＬｊ、ローカルビット線ＬＢＬを所定の電位にプリチャージするプリチャージ回路２７が配置される。
【００４３】
また、リファレンス用セルアレイ２３に隣接してリファレンス用セルに対する読み出し・書き込みを行うリファレンス読出書込部３３が配置される。リファレンス読出書込部３３によって読み出されたリファレンス用セルの信号は、リファレンス信号に変換され、センスアンプＳＡＤｉ、ＳＡＣｊの他方の入力端に供給される。一般に、読み出されるデータビット及びチェックビットが信号電圧の場合には、リファレンス信号をリファレンス電位として供給し、読み出されるデータビット及びチェックビットが信号電流の場合には、リファレンス信号をリファレンス電流として供給する。本実施形態では、データビット及びチェックビットを信号電圧として読み出すので、レファレンス信号としてリファレンス電位ＶＲＥＦを使用している。
【００４４】
各センスアンプＳＡＤｉ、ＳＡＣｊは、入力されたグローバルビット線の電位を、センス増幅し、リファレンス電位ＶＲＥＦを基準に、ＨｉｇｈレベルとＬｏｗレベルのいずれであるかの判定が行われる。そして、判定結果は、それぞれレジスタ回路ＲＧＤｉ、ＲＧＣｊに保持される。センスアンプＳＡＤｉ、ＳＡＣｊは、図１における判定回路３、判定回路４にそれぞれ対応している。
【００４５】
図２において、半導体装置１００は、さらに、チップ制御回路１４と、ＥＣＣ制御ブロック１５と、カラム選択回路１７と、バッファ１９とを備えている。チップ制御回路１４は、コマンド入力端子６から入力されたコマンド信号を受け、該コマンド信号に応じて、ロウデコーダ１６、セレクタ２４、２５、プリチャージ回路２６、２７、センスアンプ（ＳＡＤｉ、ＳＡＣｊ）、ＥＣＣ制御ブロック１５、カラム選択回路１７、及びバッファ１９の動作を制御する。
【００４６】
ＥＣＣ制御ブロック１５は、ＥＣＣを用いた誤り検出・訂正を実行する機能を有する。読み出し時には、５１２個のデータビットと、１０個のチェックビットとの組み合わせから誤りの有無を検出し、訂正可能である場合に訂正を実行する。また、書き込み時には、データ入出力端子７から受けるデータに応じてチェックビットを生成する。本実施形態のＥＣＣ制御ブロック１５では、１ビットエラー訂正能力を備えたハミング符号を用いるＥＣＣの方式を採用している。但し、この方式に限定されるものではなく、その他の誤り検出・訂正の方式を適用することも可能である。
【００４７】
次に、図３を参照しながら、データビット用セルアレイ２１の詳細な構成について説明する。図３は、データビット用セルアレイ２１のうち、１本のグローバルビット線ＧＢＬｉと接続されるメモリセルを含む部分（データビット用セルアレイ７１）と、その周辺を含む回路図である。その周辺部として、プリチャージ回路７２（図２のプリチャージ回路２６の一部）、及びセレクタ７４（図２のセレクタ２４の一部）が、データビット用セルアレイ７１に隣接して配置される。データビット用セルアレイ７１は、ｍ本のワード線ＷＬ０〜ＷＬｍ−１と、ｋ本ローカルビット線ＬＢＬ０〜ＬＢＬｋ−１との交点に二次元配置されるｍ×ｋ個のメモリセル（６７ａ〜ｆ）を含んでいる。各メモリセル（６７ａ〜ｆ）は、抵抗変化型素子（７５ａ〜ｆ）とセルトランジスタ（７６ａ〜ｆ）の直列接続により構成され、各セルトランジスタのゲートにワード線ＷＬ０〜ＷＬｍ−１が接続される。各セルトランジスタのソースは、ソースプレートに接続され、電源ＶＣＳが供給される。
【００４８】
抵抗変化型素子（７５ａ〜ｆ）は、例えば、スピン注入磁化反転書き込みを行うＳＴＴ−ＲＡＭに用いられる磁気トンネル接合（ＭＴＪ）素子である。磁気トンネル接合（ＭＴＪ）素子はトンネルバリア層を強磁性体層で挟んだ構成とされており、例えばトンネルバリア層としてＭｇＯが、強磁性体層としてＣｏＦｅやそれを含んだ合金が用いられている。また、抵抗変化型素子（７５ａ〜ｆ）は、バイポーラ型であり、データ「１」を書き込んで低抵抗状態にする場合と、データ「０」を書き込んで高抵抗状態にする場合とで、抵抗変化型素子（７５ａ〜ｆ）の両端に印加する電圧の向きを逆に設定する。具体的には、データ「１」、データ「０」を書き込むときに、それぞれローカルビット線ＬＢＬに印加する電圧Ｖ１、Ｖ０は、Ｖ１＝ＶＤＤ、Ｖ０＝ＶＳＳ、Ｖ０＜ＶＣＳ＜Ｖ１となるようにする。
【００４９】
プリチャージ回路７２は、ｋ本のローカルビット線ＬＢＬをプリチャージするｋ個のプリチャージＮＭＯＳトランジスタ７９ａ〜ｃから構成される。ここで、ｋ本のプリチャージ信号ＰＣ０〜ＰＣｋ−１は、それぞれ、プリチャージＮＭＯＳトランジスタ７９ａ〜ｃのゲートに接続される。各プリチャージ信号ＰＣ０〜ＰＣｋ−１がＨｉｇｈレベルに制御されるとＬＢＬ０〜ＬＢＬｋ−１は、それぞれ電源ＶＣＳと電気的に接続され、電位ＶＣＳにプリチャージされる。
【００５０】
セレクタ７４は、ｋ本のＬＢＬに対応したｋ個の接続ＮＭＯＳトランジスタ８０ａ〜ｃから構成される。ここで、ｋ本の接続信号ＳＷ０〜ＳＷｋ−１は、それぞれ接続ＮＭＯＳトランジスタ８０ａ〜ｃのゲートに接続される。選択された１本のＬＢＬに対応する接続信号のみがＨｉｇｈレベルに制御され、対応する接続ＮＭＯＳトランジスタのみが導通し、選択されたＬＢＬがＧＢＬｉと電気的に接続される。一方、選択されない（ｋ−１）本のＬＢＬは、プリチャージ信号の活性化によりＶＣＳの電位に保持されるので、選択されたワード線に接続されたメモリセルであっても、電流は流れない。
【００５１】
尚、上記したプリチャージ回路７２、データビット用セルアレイ７１、及びセレクタ７４の制御信号であるＰＣ０〜ＰＣｋ−１、ＷＬ０〜ＷＬｍ−１、ＳＷ０〜ＳＷｋ−１は、Ｈｉｇｈレベルが電位ＶＰＰ（ＶＰＰ＞ＶＤＤ）、Ｌｏｗレベルが電位ＶＳＳである。
【００５２】
選択されたワード線ＷＬと選択されたＬＢＬに接続する１個のメモリセル（例えば、６７ｅとする）は、書き込み時には、端子６９ｅがＬＢＬ０とＧＢＬｉを経由して対応する書込ドライバＷＤと電気的に接続される。また、読み出し時には、端子６９ｅがＬＢＬ０とＧＢＬｉを経由して対応するセンスアンプＳＡＤｉと電気的に接続される。
【００５３】
尚、チェックビット用セルアレイ２２のうち、１本のＧＢＬｊと接続される部分、及びその周辺（プリチャージ回路２７の一部、セレクタ２５の一部）の構成は、図示しないが、図３と同様である。
【００５４】
次に、図４を参照しながらリファレンス用セルアレイ２３及びリファレンス読出書込部３３について説明する。図４に示すように、リファレンス用セルアレイ２３は、データ１領域とデータ０領域とにより構成される。ここで、データ１領域内のリファレンス用セルにはデータ「１」に対応するリファレンスデータが記憶され、データ０用領域内のリファレンス用セルにはデータ「０」に対応するリファレンスデータが記憶される。ここで、データ「１」、データ「０」は、データビット用セル及びチェックビット用セルが記憶する２つの抵抗状態に対応したデータである。
【００５５】
データ１領域及びデータ０領域は、それぞれｍ個のメモリセル（４７ａ〜ｃ、５７ａ〜ｃ）を含み、各メモリセルのセルトランジスタ（４６ａ〜ｃ、５６ａ〜ｃ）のゲートは、ワード線（ＷＬ０〜ＷＬｍ−１）のいずれかと接続される。リファレンス用セルアレイ２３のメモリセル（４７ａ〜ｃ、５７ａ〜ｃ）は、データビット用セル、チェックビット用セルと同様に、ＳＴＴ−ＲＡＭの抵抗変化型素子（磁気トンネル接合素子）を使用する。
【００５６】
各セルトランジスタ（４６ａ〜ｃ、５６ａ〜ｃ）のソースはソースプレートに接続され、電源ＶＣＳが供給される。また、データ１領域の各抵抗変化型素子４５ａ〜ｃの一端はリファレンスビット線ＢＬ１と接続され、データ０領域の各抵抗変化型素子５５ａ〜ｃの一端はリファレンスビット線ＢＬ２と接続される。
【００５７】
データビット用セル、チェックビット用セルの場合と同様に、リファレンス用セルアレイのセルトランジスタのゲートはワード線（ＷＬ０〜ＷＬｍ−１）と接続され、ワード線によりリファレンス用セルを選択する構成としている。これにより、データ１領域、データ０領域の中から選択ワード線に対応したリファレンス用セルを１つずつ選択する。例えば、ワード線ＷＬ０が選択されている場合、リファレンス用セル４７ａ、５７ａが選択される。
【００５８】
次に、リファレンス読出書込部３３について説明する。リファレンス読出書込部３３は、選択されたリファレンス用セルを読み出し、リファレンス信号として出力するリファレンス読出回路３５と、リファレンスデータを選択されたリファレンス用セルに書き込むリファレンス書込回路（３６ａ、３６ｂ）とにより構成される。
【００５９】
リファレンス読出回路３５は、ＰＭＯＳトランジスタ（６３ａ、６３ｂ）、ＮＭＯＳトランジスタ（６２ａ、６２ｂ）を含んで構成される。リファレンス読出回路３５は、ＩＡＣＴ端子５２を介して、アクティブコマンドに対応して活性化される制御信号ＩＡＣＴを受ける。また、リファレンス読出回路３５は、ＢＩＡＳＡＣＴ端子５１を介して、ＰＭＯＳトランジスタ（６３ａ、６３ｂ）にバイアスレベルを供給する信号ＢＩＡＳＡＣＴを受ける。ＰＭＯＳトランジスタ（６３ａ、６３ｂ）のゲートには信号ＢＩＡＳＡＣＴが供給され、ＰＭＯＳトランジスタ（６３ａ、６３ｂ）は定電流源として機能する。ＰＭＯＳトランジスタ（６３ａ、６３ｂ）のドレインは、それぞれリファレンスビット線ＢＬ１、ＢＬ２と接続される。ＰＭＯＳトランジスタ（６３ａ、６３ｂ）が供給する定電流は、それぞれリファレンスビット線ＢＬ１、ＢＬ２を介して、選択されたリファレンス用セル（例えば、ＷＬ０が選択ワード線の場合、４７ａと５７ａ）に流れる。定電流の電流値は、リファレンス用セルが保持する情報を書き替えない程度になるように、信号ＢＩＡＳＡＣＴのレベルを設定しておく。
【００６０】
ＮＭＯＳトランジスタ６２ａ、６２ｂは、リファレンスビット線ＢＬ１とリファレンスビット線ＢＬ２の間に直列に接続され、２つのリファレンスビット線ＢＬ１、ＢＬ２の電圧をイコライズする機能を有している。ＩＡＣＴ端子５２の制御信号ＩＡＣＴがＨｉｇｈレベルの時に、その接続節点Ｎｒｅｆから、イコライズされた中間の電位がリファレンス電位ＶＲＥＦとして出力される。このように、データ「１」を保持するリファレンス用セルと、データ「０」を保持するリファレンス用セルの読み出しデータの中間レベルをセンスアンプＳＡＤｉ、ＳＡＣｊに供給することによって、読み出しマージンを確保することができる。
【００６１】
次に、リファレンス書込回路３６ａ、３６ｂは、ＥＲＲＯＲ端子５４を介してＥＣＣ制御ブロック１５が発生したエラーフラグを受けると、再度データ１、データ０を選択されているリファレンス用セルに書き込むように制御する。ここで、エラーフラグは、訂正能力を超える誤りが生じた場合に活性化される（Ｈｉｇｈレベルになる）信号である。リファレンス書込回路３６ａは、ＰＭＯＳトランジスタ６１ａとバイアス電圧出力回路（データ１）３８ａとにより構成される。同様に、リファレンス書込回路３６ｂは、ＮＭＯＳトランジスタ６１ｂとバイアス電圧出力回路（データ０）３８ｂとにより構成される。バイアス電圧出力回路（データ１）３８ａは、ＥＲＲＯＲ端子５４のエラーフラグを受けて、データ「１」を書き込むのに必要なバイアス電圧をＰＭＯＳトランジスタ６１ａのゲートに供給するものである。同様に、バイアス電圧出力回路（データ０）３８ｂは、ＥＲＲＯＲ端子５４のエラーフラグを受けて、データ「０」を書き込むのに必要なバイアス電圧をＮＭＯＳトランジスタ６１ｂのゲートに供給するものである。
【００６２】
抵抗変化型素子はバイポーラ型であるため、データ「１」を書き込んで抵抗変化型素子を低抵抗状態にする場合は、リファレンスビット線ＢＬ１の電圧を電源ＶＣＳよりも高く設定し、データ「０」を書き込んで抵抗変化型素子を高抵抗状態にする場合は、リファレンスビット線ＢＬ２の電圧を電源ＶＣＳよりも低く設定する。
【００６３】
また、本実施形態では、複数のワード線（ＷＬ０〜ＷＬｍ−１）に対応して複数のリファレンス用セルを設けて、データビット用セル及びチェックビット用セルの選択と同様に、ワード線によりリファレンス用セルを選択するようにしている。このようにすることで、データビット用セル及びチェックビット用セルからセンスアンプまでのビット線の配線長（グローバルビット線ＧＢＬｉとローカルビット線ＬＢＬを含む）と、リファレンスビット線ＢＬ１、ＢＬ２の配線長の差が小さくなり、配線抵抗の影響が抑制され、読み出しマージンを確保する上で有利になる。但し、リファレンス用セルアレイは、上記の構成に限定されず、他の構成も可能である。例えば、ワード線毎にリファレンス用セルを設けるのではなく、ワード線を幾つかのグループに分けて、グループ単位でリファレンス用セルを設けるようにしてもよい。或いは、１組のリファレンス用セルで共通化してもよい。
【００６４】
また、本実施形態では、データ１とデータ０に対応したリファレンス用セルを設けているが、その代わりに、データ１とデータ０に対応する抵抗値の中間の抵抗値を有するリファレンス用セルを用いて、レファレンス電位ＶＲＥＦを出力するように構成してもよい。
【００６５】
次に、図５を参照しながら、読出書込部（データビット用）３１について説明する。図５は、読出書込部（データビット用）３１の回路図である。図２において、読出書込部（データビット用）３１は、１本のＧＢＬｉに対応して設けられたセンスアンプＳＡＤｉ、レジスタ回路ＲＧＤｉ、書込ドライバＷＤを含んでいる。図５では、書込ドライバＷＤを、書込制御回路８５とＧＢＬドライバ８２に分離し、それぞれの回路の詳細を示している。また、図５では、センスアンプＳＡＤｉと、データレジスタＲＧＤｉとを含む部分をセンスラッチ回路８４としている。
【００６６】
まず、書込制御回路８５について説明する。書込制御回路８５は、カラム選択信号・反転制御信号検出回路１６９とＮＯＲ論理回路１７５とにより構成される。
【００６７】
カラム選択信号・反転制御信号検出回路１６９は、データレジスタＲＧＤｉ（ｉ＝０〜５１１）のうちで、カラム選択回路１７を介して書き込みがあったものと、ＥＣＣ制御ブロック１５により誤り訂正が行われたものとを選択する。そして、カラム選択信号・反転制御検出回路１６９は、そのいずれかに該当するデータレジスタＲＧＤｉに限定して、データビット用セルに書き込みを行うように制御する。
【００６８】
カラム選択信号・反転制御検出回路１６９は、リライトノードＮ０ｉと、リライトノードＮ０ｉにドレインが接続されたＰＭＯＳトランジスタ１６２を有している。所定のプリチャージ期間にプリチャージ信号／ＰＣがＬｏｗレベルに活性化すると、ＰＭＯＳトランジスタ１６２を介してリライトノードＮ０ｉを予め電位ＶＤＤにプリチャージする。即ち、ＰＭＯＳトランジスタ１６２はプリチャージ回路として機能する。また、カラム選択信号・反転制御検出回路１６９は、リライトノードＮ０ｉと接地の間に直列に接続されたＮＭＯＳトランジスタ１６４、１６５と、リライトノードＮ０ｉと接地の間に接続されたＮＭＯＳトランジスタ１６３を有している。ＮＭＯＳトランジスタ（１６３、１６４、１６５）のゲートには、それぞれ反転制御信号ＩＮＶｉ、カラム選択信号ＹＳｉ、ライトイネーブル信号ＷＥが供給される。
【００６９】
上記の構成により、予め電位ＶＤＤにプリチャージされたリライトノードＮ０ｉは、ライトイネーブル信号ＷＥがＨｉｇｈレベル（カラム選択回路１７を介してデータレジスタＲＧＤｉにデータ書き込み行うライトコマンドＷｔの実行時にＷＥはＨｉｇｈレベルになる）、且つカラム選択信号ＹＳ＿ｉがＨｉｇｈレベル（選択時）の場合に、Ｌｏｗレベルに遷移するように制御される。また、ＥＣＣ制御ブロック１５から反転制御信号ＩＮＶｉが出力された場合にも、Ｌｏｗレベルに遷移するように制御される。
【００７０】
また、ＰＭＯＳトランジスタ１６０とＮＭＯＳトランジスタ１６１は、電源ＶＤＤと接地の間に直列に接続され、１つのインバータ回路を構成している。該インバータ回路は、インバータ回路１７８と接続される。これにより、ラッチ回路を構成する。ＰＭＯＳトランジスタ１６０のドレイン、ＮＭＯＳトランジスタ１６１のドレイン、及びインバータ回路１７８の入力端子は共に、リライトノードＮ０ｉと接続される。上記の構成により、／ＰＣ、ＹＳｉ、ＷＥ、ＩＮＶｉによって制御されたノードＮ０ｉの電位が、該ラッチ回路により保持される。
【００７１】
ＮＯＲ論理回路１７５の一方の入力端は、リライトノードＮ０ｉと接続され、他方の入力端には書込パルス信号／ＷＰが供給される。これにより、書込パルス信号／ＷＰがＬｏｗレベルで、且つ、リライトノードＮ０ｉがＬｏｗレベルの場合に、制御信号Ｃ２（ＮＯＲ論理回路１７５の出力）は、Ｈｉｇｈレベルに活性化される。
【００７２】
次に、ＧＢＬドライバ８２は、上記の制御信号Ｃ２を受けて、それぞれグローバルビット線ＧＢＬｉを駆動する機能を果たしている。ＧＢＬドライバ８２は、ＰＭＯＳトランジスタ（１０２、１０３）、ＮＭＯＳトランジスタ（１０４、１０５）、及びインバータ回路２９８により構成される。ＰＭＯＳトランジスタ（１０２、１０３）は電源ＶＤＤとノードＮｏｕｔの間に直列に接続され、ＮＭＯＳトランジスタ（１０４、１０５）は、ノードＮｏｕｔと接地の間に直列に接続される。
【００７３】
ＮＭＯＳトランジスタ１０４のゲートがノードＮｉｎ２と接続され、ＰＭＯＳトランジスタ１０３のゲートがインバータ回路２９８を介してノードＮｉｎ２と接続される。
【００７４】
また、ＧＢＬドライバ８２では、電源ＶＣＳとＧＢＬｉの間に、２つのＰＭＯＳトランジスタ２１２、２１３が直列に接続される。ここで、ＰＭＯＳトランジスタ２１２のゲートには読み出しパルス信号ＲＰが供給され、ＰＭＯＳトランジスタ２１３のゲートはノードＮｉｎ２と接続される。ノードＮｉｎ２は、書き込み制御回路８５のＮＯＲ論理回路１７５の出力端と接続され、制御信号Ｃ２が供給される。
【００７５】
上記の構成により、ＲＰがＨｉｇｈレベルのときには、ＧＢＬｉが電源ＶＣＳと遮断されるようにしている。また、ＲＰがＬｏｗレベルで且つ制御信号Ｃ２がＬｏｗレベルの場合には、ＧＢＬｉは、電位ＶＣＳに設定される。一方、ＲＰがＬｏｗレベルで且つ制御信号Ｃ２がＨｉｇｈレベルの場合には、ＧＢＬｉはレジスタ回路ＲＧＤｉ（８８）の／ＤＱに基づいて駆動される。これにより、／ＤＱがＨｉｇｈレベル（データ０）の場合、ＧＢＬｉはＬｏｗレベル（ＶＳＳ）に駆動され、／ＤＱがＬｏｗレベル（データ１）の場合、ＧＢＬｉはＨｉｇｈレベル（ＶＤＤ）に駆動される。
【００７６】
次に、センスラッチ回路８４について説明する。センスラッチ回路８４は、図５に示すように、センスアンプＳＡＤｉ（８７）、レジスタ回路ＲＧＤｉ（８８）、及びＮＭＯＳトランジスタ１０１を含んで構成される。ＮＭＯＳトランジスタ１０１のゲートには読出パルス信号ＲＰが供給され、ＮＭＯＳトランジスタ１０１のソース／ドレインの一方はグローバルビット線ＧＢＬｉと接続される。また、ＮＭＯＳトランジスタ１０１のソース／ドレインの他方はセンスアンプＳＡＤｉ（８７）の入力端と接続される。また、センスアンプＳＡＤｉには、制御信号ＩＡＣＴが供給される。
【００７７】
上記の構成により、センスラッチ回路８４では、読出パルス信号ＲＰがＨｉｇｈレベルに制御され、且つ、制御信号ＩＡＣＴが活性化されると、ＮＭＯＳトランジスタ１０１が導通し、センスアンプＳＡＤｉ（８７）の入力端とグローバルビット線ＧＢＬｉが電気的に接続される状態となる。このとき、センスアンプＳＡＤｉは、前述したセンス増幅の動作を行う。
【００７８】
カラム選択回路１７において、５１２個の読出書込部（データビット用）３１のレジスタ回路ＲＧＤｉのＤＱ、／ＤＱ端子とＩ／Ｏ線対８９間に、それぞれ入出回路８６が接続される。
【００７９】
入出力回路８６は、２つのＮＭＯＳトランジスタ１０６、１０７から構成される。ＮＭＯＳトランジスタ１０６のゲートとＮＭＯＳトランジスタ１０７のゲートは接続され、その接続ノードはカラム選択信号ＹＳｉと接続される。図５に示すように、ＮＭＯＳトランジスタ１０６、１０７のソース及びドレインの一方は、それぞれレジスタ回路ＲＧＤｉの出力端子ＤＱ、／ＤＱと接続され、ＮＭＯＳトランジスタ１０６、１０７のソース及びドレインの他方は、Ｉ／Ｏ線対８９のそれぞれと接続される。
【００８０】
上記の構成により、リードコマンドＲｄ時には、レジスタ回路ＲＧＤｉに保持されたデータのうち、カラム選択信号ＹＳｉで選択されたデータがＩ／Ｏ線対８９を経由してバッファ１９に出力され、バッファ１９を介してデータ入出力端子７からデータが出力される。一方、ライトコマンドＷｔ時には、データがデータ入出力端子７から入力され、バッファ１９、及びＩ／Ｏ線対８９を介して、カラム選択信号ＹＳｉで選択されたレジスタ回路ＲＧＤｉに、データが書き込まれる。
【００８１】
次に、図６を参照しながら、読出書込部（チェックビット用）３２について説明する。図６は、読出書込部（チェックビット用）３２の回路図である。チェックビットは外部入出力する必要のないデータであるため、読出書込部（チェックビット用）３２は、Ｉ／Ｏ線対８９と接続する機能を有していない。また、書込制御回路１８５は、インバータ回路７６のみで構成され、書込パルス信号／ＷＰがＬｏｗレベルに活性化される時には、必ず制御信号Ｃ３（インバータ回路１７６の出力）を活性化し、ＧＢＬドライバ８２を駆動する。そして、レジスタ回路ＲＧＣｊの／ＤＱＣ端子の信号によりＧＢＬｊを制御し、チェックビットの書き込みを行う。
【００８２】
次に、図５、図６におけるレジスタ回路ＲＧＤｉ、ＲＧＣｊとＥＣＣ制御ブロック１５間の接続について説明する。レジスタ回路ＲＧＤｉの／ＤＱ端子、レジスタ回路ＲＧＣｊの／ＤＱＣ端子の信号は、ＥＣＣ制御ブロック１５に入力され、データビット及びチェックビットが、ＥＣＣ制御ブロック１５に供給される。また、ＥＣＣ制御ブロック１５は、誤りを検出すると、誤りの位置を特定し、その位置に対応したレジスタ回路ＲＧＤｉ、ＲＧＣｊに対し、反転制御信号ＩＮＶｉ、ＩＮＶｊを出力する。反転制御信号ＩＮＶｉ、ＩＮＶｊを受けたレジスタ回路ＲＧＤｉ、ＲＧＣｊは、保持しているデータを反転する。
【００８３】
（第１の実施形態の動作）
次に、図７を参照しながら、第１の実施形態の動作について説明する。図７は、第１の実施形態に係る半導体装置の動作を示すフローチャートである。図７では、半導体装置１００が、ＤＲＡＭのようにページモード機能を備えている場合を想定している。１ページ分のデータは、５１２個の読出書込部（データビット用）３１で読み出したデータビットで構成される。即ち、１ページは、選択ワード線と、１つの接続信号によって選択され、各グローバルビット線ＧＢＬｉと接続された５１２個のメモリセルから同時に読み出されたデータビットにより構成される。尚、１ページを構成するビット数は、５１２に限定されるものではなく、任意に設定することができる。また、チェックビットのビット数は、データビットのビット数に応じて適宜設定するものである。
【００８４】
また、５１２ビットのデータビットに対応してＥＣＣ制御ブロック１５により書き込まれている１０ビットのチェックビットも同時に読み出す。１ページ分（５１２ビット）のデータビットと１０ビットのチェックビットは、読み出された後、それぞれレジスタ回路ＲＧＤｉ、ＲＧＣｊに保持され、ＥＣＣ制御ブロック１５は、５１２ビットのデータビットと１０ビットのチェックビットによりＥＣＣを用いた誤り検出・訂正を実行する。
【００８５】
図７において、まず、アクティブコマンドを受け付けると（Ｓ１０）、データビット用セル、チェックビット用セル、リファレンス用セルから１ページ分の信号を読み出す（Ｓ１１）。ここで、データビット用セルからは５１２ビット、チェックビット用セルからは１０ビット、リファレンス用セルからは１つのリファレンス電位ＶＲＥＦが得られる。
【００８６】
続いて、リファレンス用セルから読み出した信号（リファレンス電位ＶＲＥＦ）を参照して、データビット用セル、チェックビット用セルから読み出した信号をセンスアンプＳＡＤｉ、ＳＡＣｊでそれぞれセンス増幅する（Ｓ１２）。その後、読み出した１ページ分のデータビットとチェックビットの情報をレジスタ回路ＲＧＤｉ、ＲＧＣｊに保持し、これらを用いて、ＥＣＣ制御ブロック１５が有するシンドローム生成手段がシンドロームを計算する（Ｓ１３）。シンドロームのビット数は、チェックビットのビット数と同じ１０ビットである。そして、シンドロームの全てのビットが０であるか否かを判定する（Ｓ１４）。
【００８７】
シンドロームの全てのビットが０であれば（Ｓ１４でＹｅｓの場合）、読み出したデータビット及びチェックビットには誤りはないと判定され、Ｓ２２に進む。そして、ページリードコマンドＲｄを受け付けて（Ｓ２２）、レジスタ回路ＲＧＤｉからデータビットの情報をカラム選択回路１７で選択してＩ／Ｏ線対８９、バッファ１９を介してデータ入出力端子７に読み出す（Ｓ２３）。ここでは、図２に示すように、１ページ分の５１２ビットのデータビットから、カラム選択信号ＹＳｉにより８ビットを選択して、データ入出力端子７から読み出している。ここで、選択するビット数は８に限定されず、例えば、５１２ビット全てを選択するようにしてもよい。また、選択したデータをバースト型式で出力するようにしてもよい。
【００８８】
次に、プリチャージコマンドを受け付けると書込パルス信号／ＷＰを活性化し、必要に応じて、レジスタ回路ＲＤＧｉ、ＲＤＣｊの情報を対応するメモリセルに再書き込みしてページをクローズする（Ｓ２４）。但し、Ｓ１４でＹｅｓの場合には、ＥＣＣ制御ブロック１５による誤り訂正を行っておらず（反転制御信号ＩＮＶｉは発生しない）、また、ライトコマンドによるレジスタ回路ＲＤＧｉへの書き込み動作も発生していないため（リライトノードＮ０ｉはＨｉｇｈレベルを保持したままである）、Ｓ２４では、データビットの再書き込みは行われず、チェックビットの再書き込みだけが行われる。
【００８９】
また、シンドロームの全てのビットのうち、１つ以上の１が存在する場合は、シンドロームはデータビット、チェックビットのいずれかに誤りがあることを示しているので、データビット及びチェックビットに対する誤り訂正を行う。具体的には、ＥＣＣ制御ブロック１５が有するシンドロームデコード手段により、シンドロームをデコードして、誤りが生じているデータの位置を特定する（Ｓ１５）。そして、特定された位置に対応するレジスタ回路（ＲＧＤｉ、ＲＧＣｊ）に反転制御信号（ＩＮＶｉ、ＩＮＶｊ）を出力し、該レジスタ回路が保持しているデータを反転させることで誤りを訂正する（Ｓ１６）。
【００９０】
次に、誤りを訂正したデータビットとチェックビットを用いて、ＥＣＣ制御ブロック１５のシンドローム生成手段により再度シンドロームを計算する（Ｓ１７）。そして、再度計算したシンドロームの全てのビットが０であるか否かを判定する（Ｓ１８）。シンドロームの全てのビットが０の場合（Ｓ１８でＹｅｓの場合）は、Ｓ２２に進み、ページリードコマンドを受け付けて（Ｓ２２）、レジスタ回路ＲＧＤｉからデータビットの情報をカラム選択回路１７で選択してＩ／Ｏ線対８９、バッファ１９を介してデータ入出力端子７に読み出す（Ｓ２３）。そして、プリチャージコマンドを受け付けると書込パルス信号／ＷＰを活性化し、必要に応じて、レジスタ回路ＲＤＧｉ、ＲＤＣｊの情報を対応するメモリセルに再書き込みしてページをクローズする（Ｓ２４）。このＳ２４では、ＥＣＣ制御ブロック１５による誤り訂正がデータビットに対して行われたものであった場合には（反転制御信号ＩＮＶｉが発生）、誤り訂正が行われたレジスタ回路ＲＧＤｉに対応するメモリセルにデータビットの再書き込みが行われる。また、チェックビットの再書き込みも行われる。
【００９１】
再度計算したシンドロームの全てのビットのうち１つ以上の１が存在する場合（Ｓ１８でＮｏの場合）は、ＥＣＣ制御ブロック１５は、誤り訂正能力を超えるエラーであると判定し、エラーフラグを出力する（Ｓ１９）。その後、リファレンス読出書込部３３は、ＥＣＣ制御ブロック１５からのエラーフラグを受けると、選択されているデータ１領域のリファレンス用セルと、データ０領域のリファレンス用セルに対して、それぞれ、データ１及びデータ０の再書き込みを行う（Ｓ２０）。そして、データビット用セル及びチェックビット用セルに対して再書き込みをせずに終了する（Ｓ２１）。また、この場合には、Ｓ２３の動作（レジスタ回路ＲＧＤｉからデータビットの情報をデータ入出力端子７に読み出す動作）は実行しない。
【００９２】
以上が、図７のフローチャートに示す動作である。リファレンス用セルの情報に誤りがあり、読み出しマージンが狭くなっている場合には、５２２ビットの読み出しデータ（データビット及びチェックビット）に共通のリファレンス電位ＶＲＥＦを用いているため、複数のビットに誤りが発生しやすい。このような場合、ＥＣＣを用いた誤り訂正の能力以上の誤りになることが多い。そこで、第１の実施形態では、ＥＣＣを用いた誤り訂正の能力以上の誤りがあると検出された場合に、リファレンス用セルの再書き込みをするように制御している。これにより、リファレンス用セルの情報が正常な状態になり、以降の読み出し処理で誤りが生じる可能性を低減させることができる。
【００９３】
以上説明したように、第１の実施形態によれば以下に示す効果が得られる。まず、上記したように、リファレンス用セルの情報の誤りに起因してＥＣＣの訂正能力を超える誤りが生じた場合に、リファレンス用セルの情報を再書き込みするようにしたので、以降の読み出しにおいて誤りを生じる可能性を低減できるという効果がある。
【００９４】
また、読み出した情報（データビット及びチェックビット）の誤りを訂正して再書き込みを行うことができるため、情報保持期間にメモリセルの情報が反転してしまう場合でもその誤りを訂正して再書き込みすることができる。それにより、半導体装置の信頼性を向上することができるという効果が得られる。
【００９５】
また、ＤＲＡＭと同じページモード動作ができるため、同一ページ内のデータを連続して高速に読み出すことができるという効果が得られる。
【００９６】
また、データビットの情報をメモリセルに書き戻すときに、誤り訂正を行ったデータビット、及び外部からレジスタ回路に書き込んだデータビットの場合に限定して書き戻しをするようにしたので、書き戻し動作が発生する頻度を少なくし、書き戻しの際の消費電力を抑制することができるという効果が得られる。
【００９７】
［第１の実施形態の変形例１］
次に、図８を参照しながら、第１の実施形態の変形例１について説明する。図８は、第１の実施形態の変形例１に係る半導体装置の動作を示すフローチャートである。第１の実施形態の変形例１では、第１の実施形態の図７のステップＳ２０の後に、図８のステップＳ２５以降の動作を追加している。
【００９８】
図８において、図７の処理を実行し、図７のＳ２０でリファレンス用セルの再書き込みを行った後、図８のＳ２５以降の処理に進む。図８のＳ２５〜Ｓ３８の処理の内容は、図７のＳ１１〜Ｓ２４の処理の内容と同じであるため、重複する説明を省略する。
【００９９】
図７において、リファレンス用セルの情報の誤りに起因して誤り訂正能力を超えるエラーが生じていた場合（図７のＳ１８でＮｏの場合）には、リファレンス用セルの再書き込み（図７のＳ２０）後には、Ｓ２８の判定でＹｅｓに判定される可能性がある。また、Ｓ２８でＮｏと判定された場合であっても、リファレンス用セルの情報が正常な状態になっているので、データビット及びチェックビットの中に複数の誤りが発生する可能性が低くなる。そのため、Ｓ２９及びＳ３０による誤り訂正により、ステップＳ３２の判定では、Ｙｅｓになる可能性がある。
【０１００】
以上説明したように、第１の実施形態の変形例１によれば、リファレンス用セルの情報を再書き込みした後に、引き続いて自動で読み出し動作を再実行することができるので、発生した誤りによる読み出し時間の遅延を最小限に抑えて正しい情報を読み出す動作を簡便に実施することができるという効果が得られる。
【０１０１】
［第１の実施形態の変形例２］
次に、図９を参照しながら第１の実施形態の変形例２について説明する。図９は、第１の実施形態の変形例２に係る半導体装置の読出書込部（チェックビット用）１３２の回路図である。図９を図６（第１の実施形態）と比較すると分かるように、図９では、チェックビット用書込ドライバＷＤＣの書込制御回路２８５が図６の書込制御回路８５と相違し、反転制御信号検出回路２６９を有している。
【０１０２】
図９の反転制御信号検出回路２６９は、図５のカラム選択信号・反転制御信号検出回路１６９から、カラム選択信号による制御部分をなくし、反転制御信号ＩＮＶｊのみで制御する構成となっている。図９の反転制御信号検出回路２６９は、予めリライトノードＮ１ｊをＶＤＤにプリチャージしておき、反転制御信号ＩＮＶｊを受けた場合に、リライトノードＮ１ｊがＬｏｗレベルに遷移するように制御される。
【０１０３】
上記の構成の読出書込部（チェックビット用）１３２を用いることにより、チェックビットの情報をメモリセルに書き戻す場合においても、誤り訂正を行ったチェックビットの場合に限定して書き戻しをするようにすることができる。これにより、第１の実施形態の変形例２によれば、第１の実施形態に比べてさらに、書き戻し動作が発生する頻度を少なくし、書き戻しの際の消費電力を抑制することができるという効果が得られる。
【０１０４】
［第２の実施形態］
図１０は、第２の実施形態に係る情報処理システムの構成を示すブロック図である。第２の実施形態は、前述した実施形態（第１の実施形態、及びその変形例１、２）による半導体装置１００と、マルチコアプロセッサ２３０と、を含む情報処理システムを示している。マルチコアプロセッサ２３０は、図１０に示すように、コア＿１〜コア＿４（２３１ａ〜ｄ）、Ｉ／Ｏ２３２、外部記憶装置制御ブロック２３３、及びオンチップメモリ２３４を含んで構成される。外部記憶装置制御ブロック２３３は、半導体装置１００とコマンド信号、アドレス信号、及びデータ信号をやり取りすることにより、半導体装置１００を制御している。
【０１０５】
半導体装置１００は、書き込み時間が比較的長い抵抗変化型メモリセルを用いた場合であっても、ＤＲＡＭの場合と同様に効率的なページモードを実現することができる。そのため、マルチコアプロセッサ２３０の性能を維持できるだけのメインメモリバスのデータバンド幅を確保することができる。
【０１０６】
また、半導体装置１００は、誤り訂正機能を有し、リファレンス用セルの情報の誤りに起因して訂正能力を超える誤りが生じた場合であっても、以降の読み出しにおいて誤りを生じる可能性を低減させることができる。これにより、図１０に示す情報処理システムによれば、データの信頼性が向上し、訂正能力を超える誤りが生じた場合であっても、正常状態に早く復帰させることができる情報処理システムを提供することができる。さらに図２に示すエラーフラグを外部記憶装置制御ブロック２３３が受け取る構成として、マルチコアプロセッサ２３０がエラーフラグに対応したリカバリー動作を適宜行えるようにしても良い。
【０１０７】
尚、各実施形態で開示した半導体装置において、抵抗変化型素子として磁気トンネル接合（ＭＴＪ）素子を用いてスピン注入磁化反転書き込みを行うＳＴＴ−ＲＡＭを使用する場合について説明したが、それに限定されず、例えば、ＡｌＯｘやＨｆＯｘ等の金属酸化物等をＷやＴｉ、Ｔａを含む電極等で挟んだ構成用いるＲｅ−ＲＡＭ（Ｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）や、相変化メモリ（ＰＣＭ：Ｐｈａｓｅ  Ｃｈａｎｇｅ  Ｍｅｍｏｒｙ）を使用した半導体装置に対しても、各実施形態の開示内容を適用することが可能である。
【０１０８】
さらに、抵抗変化型素子以外のメモリセルを使用する半導体装置においても、リファレンス用セルの方式による読み出しを行う場合には、本発明の各実施形態の開示内容を適用することが可能である。
【０１０９】
尚、各実施形態で開示したＥＣＣを用いたＥＣＣ制御ブロック１５は、データビットとチェックビットの両方の誤りを検出し、訂正する機能を有しているが、それに限定されず、データビットとチェックビットのいずれか一方の誤りを検出し、訂正するものであってもよい。
【０１１０】
なお、本発明の全開示（請求の範囲及び図面を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む）の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲及び図面を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【０１１１】
１、１００：半導体装置
２：誤り検出訂正回路
３、４：判定回路
５：アドレス入力端子
６：コマンド入力端子
７：データ入出力端子
８：エラーフラグ端子
１０、２０：メモリセルアレイ
１１：第１メモリセル
１２：第２メモリセル
１３：第３メモリセル
１４：チップ制御回路
１５：ＥＣＣ制御ブロック
１６：ロウデコーダ
１７：カラム選択回路
１９：バッファ
２１、７１：データビット用セルアレイ
２２：チェックビット用セルアレイ
２３：リファレンス用セルアレイ
２４、２５、７４：セレクタ
２６、２７、７２：プリチャージ回路
３１：読出書込部（データビット用）
３２、１３２：読出書込部（チェックビット用）
３３：リファレンス読出書込部
３５：リファレンス読出回路
３６ａ、３６ｂ：リファレンス書込回路
３８ａ：バイアス電圧出力回路（データ１）
３８ｂ：バイアス電圧出力回路（データ０）
４５ａ〜ｃ、５５ａ〜ｃ、７５ａ〜ｆ：抵抗変化型素子
４６ａ〜ｃ、５６ａ〜ｃ、７６ａ〜ｆ：セルトランジスタ
４７ａ〜ｃ、５７ａ〜ｃ：メモリセル（第３のメモリセル）
５１：ＢＩＡＳＡＣＴ端子
５２：ＩＡＣＴ端子
５３：ＶＲＥＦ端子
５４：ＥＲＲＯＲ端子
６１ａ、６３ａ、６３ｂ、１０２、１０３、１６０、１６２、２１２、２１３、２６０、２６２：ＰＭＯＳトランジスタ
６１ｂ、６２ａ、６２ｂ、１０１、１０４、１０５、１０６、１０７、１６１、１６３、１６４、１６５、２６１、２６３：ＮＭＯＳトランジスタ
６７ａ〜ｆ：メモリセル（第１のメモリセル）
７９ａ〜ｃ：プリチャージＮＭＯＳトランジスタ
８０ａ〜ｃ：接続ＮＭＯＳトランジスタ
８２：ＧＢＬドライバ
８４、１８４：センスラッチ回路
８５、１８５、２８５：書込制御回路
８６：入出力回路
８７：センスアンプ（ＳＡＤｉ）
８８：データレジスタ（ＲＧＤｉ）
８９：Ｉ／Ｏ線対
１６９：カラム選択信号・反転制御信号検出回路
１７５、２７５：ＮＯＲ論理回路
１７６、１７８、２７８、２９８：インバータ回路
１８７：センスアンプ（ＳＡＣｊ）
１８８：データレジスタ（ＲＧＣｊ）
２３０：マルチコアプロセッサ
２３１ａ〜ｄ：コア＿１〜４
２３２：Ｉ／Ｏ
２３３：外部記憶装置制御ブロック
２３４：オンチップメモリ
２６９：反転制御信号検出回路
ＳＡＤ０〜５１１、ＳＡＣ０〜９：センスアンプ
ＲＧＤ０〜５１１、ＲＧＣ０〜９：レジスタ回路
ＷＤ、ＷＤＣ：書込ドライバ
ＧＢＬｉ、ＧＢＬｊ：グローバルビット線
ＬＢＬ０〜ＬＢＬｋ−１：ローカルビット線
ＷＬ０〜ＷＬｋ−１：ワード線
ＢＬ１、ＢＬ２：リファレンスビット線
ＳＬ：リファレンスソース線
Ｎｉｎ２、Ｎｉｎ３、Ｎｏｕｔ、Ｎｒｅｆ：ノード
Ｎ０ｉ、Ｎ１ｊ：リライトノード
ＰＣ０〜ＰＣｋ−１：プリチャージ信号
ＳＷ０〜ＳＷｋ−１：接続信号
ＲＰ：読出パルス信号
／ＷＰ：書込パルス信号
ＷＥ：ライトイネーブル信号
／ＰＣ：ノードＮ０ｉ（Ｎ１ｊ）のプリチャージ信号
ＩＮＶｉ、ＩＮＶｊ：反転制御信号
ＹＳｉ：カラム選択信号
Ｃ１、Ｃ２、Ｃ３、Ｃ４、ＩＡＣＴ：制御信号
ＶＲＥＦ：リファレンス電位
ＶＤＤ、ＶＣＳ：電源
【図１】
2015053096.tif 000003
【図２】
2015053096.tif 000004
【図３】
2015053096.tif 000005
【図４】
2015053096.tif 000006
【図５】
2015053096.tif 000007
【図６】
2015053096.tif 000008
【図７】
2015053096.tif 000009
【図８】
2015053096.tif 000010
【図９】
2015053096.tif 000011
【図１０】
2015053096.tif 000012