(57)【要約】【課題】リファレンスメモリセルの信頼性を向上させることに寄与する半導体装置を提供する。【解決手段】半導体装置は、ユーザデータを記憶するように構成される第１通常メモリセルと、第１通常メモリセルを読み出す参照信号を生成するように構成される第１参照メモリセルと、第１参照メモリセルが不良か否かを検知する不良検知動作を前記第１参照メモリセルから読み出したデータに対して実行し、不良と検知した第１参照メモリセルが記憶するデータを訂正する不良訂正動作を実行する、制御回路と、を備える。【選択図】図１
2015210837.tif 000002
【特許請求の範囲】
【請求項１】
ユーザデータを記憶するように構成される第１通常メモリセルと、
前記第１通常メモリセルを読み出す参照信号を生成するように構成される第１参照メモリセルと、
前記第１参照メモリセルが不良か否かを検知する不良検知動作を前記第１参照メモリセルから読み出したデータに対して実行し、不良と検知した前記第１参照メモリセルが記憶するデータを訂正する不良訂正動作を実行する、制御回路と、
を備える半導体装置。
【請求項２】
前記制御回路は、良と検知した前記第１参照メモリセルに対しては、データの上書きを行わず、不良と検知した前記第１参照メモリセルに対してデータの上書きを行うことによって、前記不良訂正動作を実行する、請求項１の半導体装置。
【請求項３】
前記不良検知動作及び不良訂正動作に利用される訂正コードデータを記憶するように構成される第２通常メモリセルと、
前記第２通常メモリセルを読み出す参照信号を生成するように構成される第２参照メモリセルと、をさらに備え、
前記制御回路は、
前記第２参照メモリセルが不良か否かを検知する不良検知動作を前記第２参照メモリセルから読み出したデータに対して実行し、不良と検知した前記第２参照メモリセルが記憶するデータを訂正する不良訂正動作を実行する、請求項１又は２の半導体装置。
【請求項４】
前記制御回路は、外部から供給されたスクラブコマンド命令に応じて、前記不良検知動作及び不良訂正動作を実行する、請求項１乃至３のいずれか一項に記載の半導体装置。
【請求項５】
前記第１参照メモリセルは、
スイッチを介して、互いに並列に接続された複数の参照メモリセルで構成される、請求項１乃至４のいずれか一項に記載の半導体装置。
【請求項６】
前記第１通常メモリセルに接続されるように構成される第１入力端と、前記第１参照メモリセルに接続されるように構成される第２入力端と、を有する第１センスアンプと、
前記第２通常メモリセルに接続されるように構成される第３入力端と、前記第２参照メモリセルに接続されるように構成される第４入力端と、を有する第２センスアンプと、
を備える、請求項５の半導体装置。
【請求項７】
前記制御回路は、前記第１センスアンプが第１通常メモリセルからユーザデータを読み出す際に、前記スイッチを導通することで、複数の参照メモリセルが並列接続された前記第１参照メモリセルを形成する、請求項５又は６の半導体装置。
【請求項８】
前記第１センスアンプに対応し、読み出した前記ユーザデータを保持する第１レジスタと、
前記第２センスアンプに対応し、読み出した前記訂正コードデータを保持する第２レジスタと、
前記第１レジスタが保持するデータを、前記第１通常メモリセル又は前記第１参照メモリセルに書き込む、第１のドライバと、
前記第２レジスタが保持するデータを、前記第２通常メモリセル又は前記第２参照メモリに書き込む、第２のドライバと、
をさらに備える請求項６又は７の半導体装置。
【請求項９】
前記第１のドライバは、前記第１レジスタが保持したデータが反転した場合、反転されたデータを前記第１参照メモリセルに書き込み、前記第１レジスタが保持したデータが反転しなかった場合、データを前記第１参照メモリセルに書き込まない、請求項８の半導体装置。
【請求項１０】
前記制御回路は、参照メモリへの書き込みデータから生成された訂正コードデータに基づいて、前記不良検知動作を実行する、請求項１乃至９のいずれか一項に記載の半導体装置。
【請求項１１】
前記制御回路は、前記第１参照メモリセルから読み出したデータに基づいて生成される信号と、所定の信号レベルを示す比較信号と、を比較することによって、前記不良検知動作を実行する、請求項１乃至１０のいずれか一項に記載の半導体装置。
【請求項１２】
前記第１通常メモリセル及び第１参照メモリセルは、ＳＴＴ−ＲＡＭ（Spin Transfer Torque-Random Access Memory）のメモリセルである、請求項１乃至１１のいずれか一項に記載の半導体装置。
【請求項１３】
ユーザデータを読み出す際に利用されるリファレンスデータを参照メモリセルから読み出すステップと、
前記読み出したリファレンスデータの良否を判定するステップと、
前記読み出したリファレンスデータが不良の場合に、前記読み出したリファレンスデータを訂正するステップと、
前記訂正されたリファレンスデータを、前記読み出されたリファレンスデータを記憶するメモリセルに書き戻すステップと、
を含む、データ訂正方法。
【請求項１４】
前記読み出したリファレンスデータの良否を判定するステップ及び前記読み出したリファレンスデータを訂正するステップは、前記参照メモリセルへの書き込みデータに基づいて生成されるエラー訂正コードを用いる、請求項１３のデータ訂正方法。
【請求項１５】
前記読み出したリファレンスデータの良否を判定するステップは、前記読み出したリファレンスデータと、前記読み出したリファレンスデータに対応して設定されるデータと、を比較することで、前記読み出したリファレンスデータの良否を判定する、請求項１３のデータ訂正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置及びデータ訂正方法に関する。特に、記憶素子を備える半導体装置及びデータ訂正方法に関する。
【背景技術】
【０００２】
抵抗変化型の不揮発性メモリセルとして、ＳＴＴ−ＲＡＭ（Spin Transfer Torque-Random Access Memory）、ＰＣＲＡＭ（Phase Change Random Access Memory）、ＲｅＲＡＭ（Resistance Random Access Memory）等が知られている。抵抗変化型の不揮発性メモリセルにおいて、メモリセルが記憶するデータを読み出す際に参照信号（リファレンス信号、リファレンス電圧、参照電圧、リファレンス電流、又は参照電流）が使われる。
【０００３】
この参照信号を生成する手段の一例として、リファレンス用のメモリセル（以降、リファレンスメモリセル又は参照メモリセルと呼ぶ）が用いられる。一般的に、リファレンスメモリセルは、通常のメモリセルと同じ構造を持ち、メモリセルアレイ内に配置されることが多い。
【０００４】
リファレンスメモリセルを２つのメモリセルで構成し、それらによって生成される中間値（中間電圧又は中間電流）を参照信号として使う例が知られている。この例では、データ「０」を記憶するリファレンスメモリセルとデータ「１」を記憶するリファレンスメモリセルがそれぞれ１つ使用される。
【０００５】
センスアンプは、メモリセルからの出力信号とリファレンス信号を比較し、その大小によりデータ判別を行う。
【０００６】
特許文献１は、ＳＴＴ−ＲＡＭに関する技術であって、リファレンスメモリセルを用いて、記憶装置内のデータビットが記憶するデータを読み出すことを開示する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特表２０１３−５１６７２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記先行技術文献の開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者らによってなされたものである。
【０００９】
上述のようなＳＴＴ−ＲＡＭ等の半導体メモリにおいて、通常メモリセルからデータを読み出すたびにリファレンスメモリセルからもデータを読み出す必要があり、度重なってデータを読み出すことにより、通常メモリセル及びリファレンスメモリセルの抵抗状態が変化するリードディスターブ（Read Disturb）現象が生じる可能性があることが知られている。また、メモリ材料や構造に起因する熱的安定性の不足や、ノイズ電圧やノイズ電流等の影響により、通常メモリセル及びリファレンスメモリセルが記憶するデータが反転する可能性もある。特に、リファレンスメモリセルが記憶するデータが、このような理由により、意図せずに反転すると、通常メモリセルの読み出しがエラーになる。そのため、一般的に、リファレンスメモリセルが記憶するデータの信頼性を担保することが重要である。ここで、特許文献１で開示される技術について、次のように考察できる。
【００１０】
特許文献１は、読み出し動作の度に、リファレンス・セルが記憶するデータを、初期の記憶状態（データ「０」又は「１」）に上書きすることを開示する。
【００１１】
しかし、一般的に、ＳＴＴ−ＲＡＭ等の半導体メモリにおいて、メモリセルへの書き込み回数（読み書きのサイクリング回数）が増大すると、メモリセルの劣化が加速し、記憶するデータの信頼性の担保が困難になる問題が知られている。特許文献１の技術では、リファレンス・セルへの上書きが読み出しの度に発生するため、この問題が生じる懸念がある。
【００１２】
特許文献１は、記憶装置内のデータワードから読み出されたデータに対して、エラー検出を行っている。読み出しデータは、データワード及びリファレンス・セルのそれぞれが記憶するデータに基づいて生成されるため、それがエラーと検知された場合、データワードのみにエラーがあるのか、該データワードに対応するリファレンス・セルのみにエラーがあるのか、データワード及びリファレンス・セルの両方にエラーがあるのか、特許文献１で開示される技術では、検知できない。
【００１３】
特許文献１では、記憶装置内のデータワード用のエラー訂正コード（ＥＣＣ；Error Check and Correction）を有するが、リファレンス・セル用のエラー訂正コードを有さない。そのため、特許文献１では、リファレンス・セルに対して直接エラー検知及び訂正を実行してない。つまり、特許文献１は、リファレンス・セルへの書き込みデータに基づいて生成したエラー訂正コードを用いて、リファレンス・セルが記憶するデータが不良か否かを検出し、訂正することについて、開示しない。また、特許文献１は、リファレンス・セルから読み出したデータを当初記憶したデータと比較することによって、リファレンス・セルが記憶するデータが不良か否かを検出し、訂正することについて、開示しない。
【００１４】
特許文献１の記憶装置は、データワードの１つの通常メモリセルに対して、データ「０」を記憶するリファレンス・セルが複数個とデータ「１」を記憶するリファレンス・セルが複数個とを備える構成ではない。なお、１つの通常メモリセルに対して、データ「０」を記憶するリファレンス・セルが複数個とデータ「１」を記憶するリファレンス・セルが複数個とを備える半導体装置を想定した場合において、リファレンス・セルに対して直接エラー検知及び訂正を実行しない場合、該１つの通常メモリセルから読み出したデータにエラーが検知されても、複数のリファレンス・セルのうちのどのリファレンス・セルが不良であるかを一義的に特定できない。
【００１５】
特許文献１は、リファレンス・セルへの初期の記憶状態（データ「０」又は「１」）の上書きを開示するが、これは、読み出し動作のシーケンスであり、読み出しコマンドに応じて行う動作であると考察される。特許文献１は、リファレンス・セルに対するエラー検知やエラー訂正を命令する専用コマンドについて何ら言及していない。
【課題を解決するための手段】
【００１６】
本発明の第１の視点によれば、ユーザデータを記憶するように構成される第１通常メモリセルと、前記第１通常メモリセルを読み出す参照信号を生成するように構成される第１参照メモリセルと、前記第１参照メモリセルが不良か否かを検知する不良検知動作を前記第１参照メモリセルから読み出したデータに対して実行し、不良と検知した前記第１参照メモリセルが記憶するデータを訂正する不良訂正動作を実行する、制御回路と、を備える半導体装置が提供される。
【００１７】
本発明の第２の視点によれば、ユーザデータを読み出す際に利用されるリファレンスデータを参照メモリセルから読み出すステップと、前記読み出したリファレンスデータの良否を判定するステップと、前記読み出したリファレンスデータが不良の場合に、前記読み出したリファレンスデータを訂正するステップと、前記訂正されたリファレンスデータを、前記読み出されたリファレンスデータを記憶するメモリセルに書き戻すステップと、を含む、データ訂正方法が提供される。
【発明の効果】
【００１８】
本発明の各視点によれば、リファレンスメモリセルの信頼性を向上させることに寄与する半導体装置及びデータ訂正方法が提供される。
【図面の簡単な説明】
【００１９】
【図１】センスアンプに関係する制御回路の一例を模式的に示す図である。
【図２】第１の実施形態に係る半導体装置の全体構成を示すブロック図である。
【図３】メモリセルアレイの構成の一例を示す模式図である。
【図４】リファレンス制御回路２２の入出力を説明するための図である。
【図５】メモリセルからのデータ読み出しに用いられる制御回路の一部を示す模式図の一例である。
【図６】通常セルからのリード動作の一例を説明するための図である。
【図７】左側のリファレンスメモリセルからのリード動作の一例を説明するための図である。
【図８】右側のリファレンスメモリセルからのリード動作の一例を説明するための図である。
【図９】リードライト＆ＥＣＣ部の構成とその周辺の一例を示す図である。
【図１０】第２の実施形態に係るセンスアンプに関係する制御回路の一例を模式的に示す図である。
【図１１】リードライト＆リファレンスメモリセル検査部の構成とその周辺の一例を示す図である。
【図１２】データ「１」が設定されたコンペア回路の回路構成の一例を示す図である。
【図１３】スイッチの回路構成の一例を示す図である。
【図１４】データ「０」が設定されたコンペア回路の回路構成の一例を示す図である。
【図１５】第３の実施形態に係るコンペア回路の回路構成の一例を示す図である。
【図１６】第４の実施形態に係るコンペア回路の回路構成の一例を示す図である。
【図１７】選択回路の動作を説明するための図である。
【図１８】第５の実施形態に係る情報処理システムの構成を示すブロック図である。
【発明を実施するための形態】
【００２０】
一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。
【００２１】
図１は、一実施形態に係る半導体装置を示す。
【００２２】
一実施形態に係る半導体装置は、図１に示すように、ユーザデータを記憶するように構成される第１通常メモリセル（例えば、白丸で示す通常セル）と、第１通常メモリセルを読み出す参照信号を生成するように構成される第１参照メモリセル（例えば、黒丸で示すリファレンスメモリセル）と、第１参照メモリセルが不良か否かを検知する不良検知動作を前記第１参照メモリセルから読み出したデータに対して実行し、不良を検知した第１参照メモリセルが記憶するデータを訂正する不良訂正動作を実行する、制御回路（例えば、リードライト＆ＥＣＣ部２５）と、を備える。
【００２３】
上記半導体装置の例によれば、第１参照メモリセルに対して直接エラー検出及び訂正を実行するため、リファレンスメモリセルの信頼性を向上させることができる。
【００２４】
半導体装置は、第１参照セルが誤ったデータを記憶しているか否かを検出し、誤ったデータを記憶している場合には、当該誤りデータを訂正する。その際、誤ったデータを記憶する第１参照セルに限り訂正データを書き込むように構成することで、定期的に第１参照セルを上書きする方式と比較して、第１参照セルへの書き込み頻度が減少する。第１参照セルに対する書き込み頻度が減少すれば、その信頼性を向上させることができる。
【００２５】
本書において、外部から供給されるユーザデータを記憶するメモリセルを「通常セル」と表記する。また、参照信号を生成するためのデータを「リファレンスデータ」、リファレンスデータを記憶するメモリセルを「リファレンスメモリセル」と表記する。さらに、読み出しデータのエラーを検出し、訂正するためのデータを「チェックデータ」、チェックデータを記憶するメモリセルを「チェックセル」と表記する。
【００２６】
［第１の実施形態］
図２は、第１の実施形態に係る半導体装置１の全体構成を示すブロック図である。
【００２７】
図２に示す半導体装置１は、複数のメモリセルを含むメモリセルアレイを備える。メモリセルに特に制限はないが、本実施形態では、ＳＴＴ−ＲＡＭ、ＰＣＲＡＭ又はＲｅＲＡＭといった、抵抗値の変化によりデータを記憶するメモリセルを前提に説明する。
【００２８】
半導体装置１のメモリセルアレイは、複数のメモリセルアレイ２ａ〜２ｈからなり、複数のバンク（例えば、バンク０〜７の８バンク構成）により構成される。なお、以降の説明において、メモリセルアレイ２ａ〜２ｈを区別する特段の理由がない場合には、単に「メモリセルアレイ２」と表記する。また、他の構成要素においても同様の表記を行い、アルファベットやハイフン「−」の前に表記された符号にて、当該構成要素を代表するものとする。
【００２９】
半導体装置１は、外部端子として外部クロック端子ＣＫ、／ＣＫ、クロックイネーブル端子ＣＫＥ、コマンド端子／ＣＳ、／ＲＡＳ、／ＣＡＳ、／ＷＥ、８ビットのデータ入出力端子ＤＱを備える。なお、本明細書において信号名の先頭に「／」が付されている信号は、対応する信号の反転信号又はロウアクティブな信号であることを意味している。従って、例えば、ＣＫ、／ＣＫは互いに相補の信号である。
【００３０】
クロック発生回路１１は、外部クロック信号ＣＫ、／ＣＫとクロックイネーブル信号ＣＫＥを入力する。クロック発生回路１１は、半導体装置１内部で必要とされる内部クロック信号を発生し、各部に供給する。
【００３１】
コマンド端子／ＣＳ、／ＲＡＳ、／ＣＡＳ、／ＷＥは、それぞれチップセレクト信号／ＣＳ、ロウアドレスストローブ信号／ＲＡＳ、カラムアドレスストローブ信号／ＣＡＳ、ライトイネーブル信号／ＷＥを受ける。これらのコマンド信号は、コマンドデコーダ１２に供給される。コマンドデコーダ１２は、入力したコマンド信号をデコードし、チップ制御回路１３に供給する。
【００３２】
モードレジスタ１４は、半導体装置１の動作モードが設定される。チップ制御回路１３は、コマンドデコーダ１２の出力及びモードレジスタ１４に設定された動作モードを入力し、それらに基づいて各種制御信号を生成する。
【００３３】
チップ制御回路１３は、生成した各種制御信号を、バンク制御回路１５、リードライトアンプ（ＲＷアンプ）１６、パラレルシリアル変換回路１７、カラムアドレスバッファ１９、ロウアドレスバッファ２０、バンクアドレスバッファ２１、リファレンス制御回路２２に供給する。
【００３４】
アドレス信号ＡＤＤは、バンクを特定するバンクアドレスと、ワード線を特定するロウアドレスと、ビット線を特定するカラムアドレスと、を含む。ロウアドレス及びカラムアドレスは、アドレス端子からアドレスマルチプレクサ形式にて入力される。但し、アドレス信号の入力形式を制限する趣旨ではない。
【００３５】
アドレス信号ＡＤＤのうち、カラムアドレスはカラムアドレスバッファ１９に、ロウアドレスはロウアドレスバッファ２０に、バンクアドレスはバンクアドレスバッファ２１にそれぞれ供給される。
【００３６】
カラムアドレスバッファ１９が出力するカラムアドレスは、カラムデコーダ２３によりデコードされ、このデコードに応じて、複数のビット線のうち、カラムアドレスに対応するビット線が選択される。
【００３７】
ロウアドレスバッファ２０が出力するロウアドレスは、ロウデコーダ２４によりデコードされ、このデコードに応じて、いずれかのワード線が選択される。また、ロウアドレスには、後述するセレクタ制御回路５３がｎ本のビット線から１本の通常ビット線を選択するためのアドレス情報が含まれる。
【００３８】
バンクアドレスバッファ２１は、バンク０〜７のいずれかを特定するバンク選択信号を出力する。バンク制御回路１５は、バンク選択信号に応じてバンク０〜７を切り替える。
【００３９】
リードライトアンプ１６は、パラレルシリアル変換回路１７及びデータ入出力バッファ１８を介して、外部端子であるデータ入出力端子ＤＱと接続されているリードアンプ回路及びライトアンプ回路である。パラレルシリアル変換回路１７及びデータ入出力バッファ１８には、クロック発生回路１１から内部クロック信号が供給されメモリセルアレイとデータ入出力端子ＤＱの間のデータの入出力のタイミングが制御される。
【００４０】
リファレンス制御回路２２は、メモリセルアレイ２に含まれるメモリセルのうち、ユーザデータを記憶する通常セルをアクセスの対象とするか、リファレンスデータを記憶するリファレンスメモリセルをアクセスの対象とするか、を制御する回路である。リファレンス制御回路２２の詳細は後述する。
【００４１】
メモリセルからデータを読み出す際に使用するセンスアンプや、メモリセルにデータを書き込む際に使用する書き込みドライバ等は、リードライト＆ＥＣＣ部２５に含まれる。リードライト＆ＥＣＣ部２５の詳細は後述する。
【００４２】
＜リファレンスメモリセルのスクラビング＞
チップ制御回路１３は、リファレンス制御回路２２に制御信号を出力することで、リファレンスメモリセルのスクラビングを実行する。なお、スクラビングを実行する前に、リファレンスメモリセルへの書き込みデータに基づいて訂正コード（チェックデータ、又はECC）を生成することが前提になる。
【００４３】
リファレンスメモリセルのスクラビングは以下の処理から構成される。
【００４４】
（１）リファレンスメモリセルをアクセスの対象として選択し、リファレンスメモリセルが記憶するリファレンスデータを読み出す。
【００４５】
（２）読み出したリファレンスデータに対してエラー検出を行い、エラーが検出された場合にはＥＣＣを用いてエラーを訂正する。
【００４６】
（３）エラーが検出されたリファレンスデータを記憶しているリファレンスメモリセルに対し、ＥＣＣを用いて訂正されたデータ（記憶データの反転値）を書き込む。
【００４７】
リファレンスメモリセルのスクラビングは、半導体装置１に接続されたメモリコントローラが発するコマンドを契機に実行される。あるいは、通常セルに対するスクラビング、例えば、ＤＲＡＭ（Dynamic Random Access Memory）のリフレッシュ動作に対応するようなオートスクラビングやセルフスクラビングの実行と合わせて、リファレンスメモリセルのスクラビングが実行されてもよい。
【００４８】
図３は、メモリセルアレイ２の構成の一例を示す模式図である。
【００４９】
メモリセルアレイ２は、ユーザデータを記憶する複数の通常セルを含むデータビット用セルアレイ３１ａ、３１ｂを備える。
【００５０】
メモリセルアレイ２は、外部から書き込みデータが供給された際に生成される、書き込みデータ訂正用の訂正コード（チェックデータ）を記憶する複数のチェックセルを含むチェックビット用セルアレイ３２ａ、３２ｂを備える。
【００５１】
詳細は後述するが、データビット用セルアレイ３１ａ、３１ｂには、通常セルとリファレンスメモリセルが含まれる。チェックビット用セルアレイ３２ａ、３２ｂにも、チェックセルとリファレンスメモリセルが含まれる。
【００５２】
リードライト＆ＥＣＣ部２５はメモリセルアレイ２の中心に配置され、メモリセルへのアクセスに使用するリードライト回路と、メモリセルから読み出したデータのエラー訂正を行うＥＣＣ回路と、を含む。
【００５３】
リードライト回路には、メモリセルとビット線を介して接続されるセンスアンプが含まれ、センスアンプにより読み出されたデータはＩ／Ｏ線８９を介して外部に送出される。あるいは、Ｉ／Ｏ線８９を介して外部から入力された書き込みデータは、リードライト回路に含まれる書き込みドライバにより各メモリセルに書き込まれる。
【００５４】
データビット用セルアレイ３１ａ、３１ｂと、チェックビット用セルアレイ３２ａ、３２ｂは、リードライト＆ＥＣＣ部２５を中心にして左右対称に配置されている。
【００５５】
リードライト＆ＥＣＣ部２５に含まれる各センスアンプは、カラムデコーダ２３により選択されるビット線を介して、左右に配置されたそれぞれのセルアレイに含まれるメモリセルと接続される。
【００５６】
メモリセルへのアクセスにはロウデコーダ２４が選択するワード線が用いられる。ロウデコーダ２４は、左側のセルアレイを延伸するワード線と、右側のセルアレイを延伸するワード線を選択する必要があるため、図３では、左側用のロウデコーダ２４ａと右側用のロウデコーダ２４ｂと表記している。
【００５７】
図４は、リファレンス制御回路２２の入出力を説明するための図である。
【００５８】
図４（ａ）を参照すると、リファレンス制御回路２２は、ロウアドレスＸｉ（ｉは正の整数、以下同じ）と、ロウアドレスＸｉの反転信号／Ｘｉと、リファレンスメモリセル選択信号ＲＳＬ及びＲＳＲと、を入力する。
【００５９】
ロウアドレスＸｉとは、ロウアドレスバッファ２０から供給されるロウアドレスの最上位ビットであり、センスアンプを含むリードライト＆ＥＣＣ部２５の左右に配置されたメモリセルアレイのいずれかを選択するロウアドレスである。
【００６０】
図４（ｂ）は、リファレンス制御回路２２の入出力信号の関係を示す。
【００６１】
ロウアドレスＸｉがＬレベルの場合には、左側のメモリセルアレイ（データビット用セルアレイ３１ａ、チェックビット用セルアレイ３２ａ）に含まれる通常セルがアクセスの対象となる。
【００６２】
ロウアドレスＸｉがＨレベルの場合には、右側のメモリセルアレイ（データビット用セルアレイ３１ｂ、チェックビット用セルアレイ３２ｂ）に含まれる通常セルがアクセスの対象となる。
【００６３】
リファレンスメモリセルをアクセス対象とする場合には、リファレンス制御回路２２は、ロウアドレスＸｉの値を考慮しない。
【００６４】
リファレンスメモリセル選択信号ＲＳＬは、左側のメモリセルアレイ（データビット用セルアレイ３１ａ、チェックビット用セルアレイ３２ａ）に含まれるリファレンスメモリセルがアクセスの対象である場合に、チップ制御回路１３によりＨレベルに制御される。
【００６５】
リファレンスメモリセル選択信号ＲＳＲは、右側のメモリセルアレイ（データビット用セルアレイ３１ｂ、チェックビット用セルアレイ３２ｂ）に含まれるリファレンスメモリセルがアクセスの対象である場合に、チップ制御回路１３によりＨレベルに制御される。
【００６６】
リファレンス制御回路２２は、入力信号（ロウアドレスＸｉ、／Ｘｉとリファレンスメモリセル選択信号ＲＳＬ、ＲＳＲ）に応じて、リファレンス制御信号ＳＷＬ、ＳＷＲ、ＲＥＬ、ＲＥＲを生成する。
【００６７】
左側のメモリセルアレイに含まれる通常セルがアクセスの対象となる場合には、制御信号ＳＷＬはＬレベル、制御信号ＳＷＲはＨレベル、制御信号ＲＥＬはＬレベル、制御信号ＲＥＲはＨレベルに制御される。
【００６８】
右側のメモリセルアレイに含まれる通常セルがアクセスの対象となる場合には、制御信号ＳＷＬはＨレベル、制御信号ＳＷＲはＬレベル、制御信号ＲＥＬはＨレベル、制御信号ＲＥＲはＬレベルに制御される。
【００６９】
左側のメモリセルアレイに含まれるリファレンスメモリセルがアクセスの対象となる場合には、制御信号ＳＷＬはＬレベル、制御信号ＳＷＲはＨレベル、制御信号ＲＥＬはＨレベル、制御信号ＲＥＲはＨレベルに制御される。
【００７０】
右側のメモリセルアレイに含まれるリファレンスメモリセルがアクセスの対象となる場合には、制御信号ＳＷＬはＨレベル、制御信号ＳＷＲはＬレベル、制御信号ＲＥＬはＨレベル、制御信号ＲＥＲはＨレベルに制御される。
【００７１】
なお、図４（ｂ）では、リファレンスメモリセルを選択する際のロウアドレスＸｉ、／Ｘｉには、ドントケアを示す「×」を表記している。
【００７２】
図５は、通常メモリセルからのデータ読み出しに用いられる制御回路の一部を示す。
【００７３】
メモリセルからデータを読み出す際には、複数のセンスアンプ（ＳＡ；Sense Amplifier）４１−１〜４１−８と、スイッチ４２−１〜４２−７と、スイッチ４３−１〜４３−７が用いられる。
【００７４】
センスアンプ４１は、差動型のアンプであり、一方の差動入力端子には左側のメモリセルアレイを延伸する選択ビット線が接続され、他方の差動入力端子には、右側のメモリセルアレイを延伸する選択ビット線が接続される。
【００７５】
詳細は後述するが、選択ビット線はｎ本の通常ビット線と１本のリファレンスビット線を１組とするビット線の集合から、１本の通常ビット線又はリファレンスビット線がセレクタ回路（図示せず）により選択されたビット線が相当する。
【００７６】
スイッチ４２は、隣接するセンスアンプ４１の差動入力端子であって、左側のメモリセルアレイを延伸する選択ビット線と接続された差動入力端子の間に接続される。
【００７７】
スイッチ４２は、リファレンス制御回路２２が出力するリファレンス制御信号ＳＷＬにより、導通・非導通が制御される。具体的には、スイッチ４２は、リファレンス制御信号ＳＷＬがＨレベルの場合に導通する。
【００７８】
スイッチ４２と同様に、スイッチ４３も隣接するセンスアンプ４１の差動入力端子であって、右側のメモリセルアレイを延伸する選択ビット線と接続された差動入力端子の間に接続される。スイッチ４３は、リファレンス制御信号ＳＷＲがＨレベルの場合に導通する。
【００７９】
ロウデコーダ２４ａ、２４ｂには、ロウアドレスＸｉ−１〜Ｘ０が供給される。ロウデコーダ２４ａは、ロウアドレスＸｉ−１〜Ｘ０をデコードすることで、左側のメモリセルアレイを延伸するワード線のなかから、活性化するワード線を決定する（選択ワード線を定める）。
【００８０】
ロウデコーダ２４ｂは、ロウアドレスＸｉ−１〜Ｘ０をデコードすることで、右側のメモリセルアレイを延伸するワード線のなかから、活性化するワード線を決定する。
【００８１】
ロウデコーダ２４ａとロウデコーダ２４ｂが選択するワード線には相補の関係がある。具体的には、ロウデコーダ２４ａが選択するワード線のセンスアンプ４１からの距離と、ロウデコーダ２４ｂが選択するワード線のセンスアンプ４１からの距離と、が一致する。
【００８２】
ロウデコーダ２４ａが１本のワード線を選択すると、ロウデコーダ２４ｂはセンスアンプ４１を中心にした対称の位置にある１本のワード線を選択する。センスアンプ４１を中心にしたワード線を選択することにより、センスアンプからみた通常セルとリファレンスメモリセルが同じ寄生抵抗、寄生容量を持つことになるので、差動型のセンスアンプのセンスマージンが上昇する。
【００８３】
＜通常セルのリード動作＞
図６は、左側の通常セルからのリード動作の一例を説明するための図である。なお、図６を含む以降の図面において、ビット線とワード線の交点に位置する白丸を通常セル、黒丸をリファレンスメモリセルとする。
【００８４】
左側のロウデコーダ２４ａが１本のワード線を選択すると、左側のメモリセルアレイを延伸する選択ビット線には８個の通常セルが接続される。右側のロウデコーダ２４ｂは、センスアンプ４１を中心にした対称の位置にある一本のワード線を選択する。
【００８５】
左側のメモリセルアレイに含まれる通常セルからデータを読み出す場合、リファレンス制御回路２２が出力するリファレンス制御信号は、図４（ｂ）の１段目のように制御される。詳細は後述するが、リファレンス制御信号ＲＥＲがＨレベルに制御されるため、右側のメモリセルアレイを延伸する選択ビット線には８個のリファレンスメモリセルが接続される。
【００８６】
リファレンス制御信号ＳＷＬはＬレベルに制御されるため、スイッチ４２はオンしない。一方、リファレンス制御信号ＳＷＲはＨレベルに制御されるため、スイッチ４３がオンし、隣接する選択ビット線間が短絡する。
【００８７】
その結果、センスアンプ４１には右側のリファレンスメモリセルによりリファレンス電圧又はリファレンス電流が生成される。
【００８８】
右側のメモリセルアレイに含まれる通常セルをアクセスの対象とする場合には、リファレンス制御回路２２が出力するリファレンス制御信号は、図４（ｂ）の２段目のように制御される。その結果、上記の動作において、左右を入れ替えた動作が実行される。
【００８９】
＜左側のリファレンスメモリセルのリード動作＞
図７は、左側のリファレンスメモリセルからのリード動作の一例を説明するための図である。
【００９０】
左側のメモリセルアレイに含まれるリファレンスメモリセルからデータを読み出す場合、リファレンス制御回路２２が出力するリファレンス制御信号は、図４（ｂ）の３段目のように制御される。詳細は後述するが、リファレンス制御信号ＲＥＬがＨレベルに制御されるため、左側の選択ビット線にはアクセス対象となる８個のリファレンスメモリセルが接続される。
【００９１】
また、リファレンス制御信号ＲＥＲもＨレベルに制御されるため、右側の選択ビット線には８個のリファレンスメモリセルが接続される。
【００９２】
リファレンス制御信号ＳＷＬがＬレベル、リファレンス制御信号ＳＷＲがＨレベルにそれぞれ制御されるため、図６を用いて説明した通常セルのリード動作と同様に、左側のリファレンスメモリセルが記憶しているリファレンスデータを読み出すことができる。
【００９３】
＜右側のリファレンスメモリセルのリード動作＞
図８は、右側のリファレンスメモリセルからのリード動作の一例を説明するための図である。
【００９４】
右側のリファレンスメモリセルのリード動作の場合には、リファレンス制御回路２２が出力するリファレンス制御信号は、図４（ｂ）の４段目のように制御される。リファレンス制御信号ＲＥＲがＨレベルに制御されるため、右側の選択ビット線にはアクセス対象となる８個のリファレンスメモリセルが接続される。
【００９５】
リファレンス制御信号ＲＥＬもＨレベルに制御されるため、左側の選択ビット線には８個のリファレンスメモリセルが接続される。
【００９６】
その際、リファレンス制御信号ＳＷＬがＨレベル、リファレンス制御信号ＳＷＲがＬレベルであるので、右側のアクセス対象となるリファレンスメモリセルから、通常セルと同様にデータを読み出すことができる。
【００９７】
＜メモリマットの構成＞
図１に戻り、図５に示すセンスアンプ４１−１、４１−２に関係する制御回路の一例が説明される。
【００９８】
図３を用いて説明した、データビット用セルアレイ３１、チェックビット用セルアレイ３２のそれぞれは、複数のメモリマットから構成される。具体的には、ｍ×（ｎ＋１）個のメモリセルが行列状に配置されたメモリマットを一単位として、データビット用セルアレイ３１、チェックビット用セルアレイ３２が構成される。なお、ｍ、ｎは共に正の整数であって、以降の説明でも同様とする。
【００９９】
具体的には、データビット用セルアレイ３１は、５１２個のメモリマット５１を含む。また、チェックビット用セルアレイ３２は、１０個のメモリマット５１を含む。なお、データビット用セルアレイ３１やチェックビット用セルアレイ３２の容量を限定する趣旨ではなく、セルアレイに含まれるメモリマットの数は適宜変更される。
【０１００】
図１には、データビット用セルアレイ３１ａの一部としてのメモリマット５１−１ａ、５１−２ａと、データビット用セルアレイ３１ｂの一部としてのメモリマット５１−１ｂ、５１−２ｂを図示している。
【０１０１】
各メモリマット５１は、ユーザデータを記憶する通常セルと、リファレンスデータを記憶するリファレンスメモリセルと、を含む。具体的には、各メモリマット５１は、ｎ×ｍ個の通常セルと、ｍ個のリファレンスメモリセルと、を含む。
【０１０２】
ｍ本のワード線とｎ＋１本のビット線は、各メモリマット５１に含まれるメモリセルのアクセスに用いられる。
【０１０３】
ｎ＋１本のビット線のうち、ｎ本のビット線は通常セルにアクセスするための通常ビット線として使用される。ｎ＋１本のビット線のうち、１本のビット線はリファレンスメモリセルにアクセスするためのリファレンスビット線として使用される。
【０１０４】
セレクタ（ＳＥＬ；Selector）５２−１ａ、５２−１ｂ、５２−２ａ、５２−２ｂは、メモリマット５１ごとに配置される。セレクタ５２は、各メモリマット５１を延伸するｎ＋１本から１本のビット線を選択して、リードライト＆ＥＣＣ部２５に接続する。
【０１０５】
セレクタ制御回路（ＢＬＤＬ）５３ａは、左側のセレクタ５２−１ａ、５２−２ａ等によるビット線の選択動作を制御する回路である。
【０１０６】
セレクタ制御回路５３ａは、ロウアドレスと、リファレンス制御信号ＲＥＬと、を入力する。
【０１０７】
セレクタ制御回路５３ａは、ロウアドレスに基づいて、ｎ本の通常ビット線から１本の通常ビット線を各セレクタ５２−１ａ、５２−２ａ等に選択させる。
【０１０８】
セレクタ制御回路５３ａは、リファレンス制御信号ＲＥＬに基づいて、１本のリファレンスビット線を、各セレクタ５２−１ａ、５２−２ａ等に選択させる。セレクタ制御回路５３ａは、リファレンス制御信号ＲＥＬがＨレベルの場合には、ロウアドレスの値によらず、リファレンスビット線を各セレクタ５２−１ａ等を介してリードライト＆ＥＣＣ部２５に接続する。
【０１０９】
セレクタ制御回路（ＢＬＤＲ）５３ｂも、セレクタ制御回路５３ａと同様の機能を備える。セレクタ制御回路５３ｂは、ロウアドレスと、リファレンス制御信号ＲＥＲと、に基づいて、右側の各セレクタ５２−１ｂ、５２−２ｂ等を制御する。
【０１１０】
なお、第１の実施形態では、セレクタ制御回路５３はロウアドレスに基づいてビット線を選択する場合について説明したが、セレクタ制御回路５３に供給するアドレスをロウアドレスに限定する趣旨ではない。カラムアドレスにｎ本のビット線から１本の通常ビット線を選択するためのアドレス情報を含ませる場合には、セレクタ制御回路５３はカラムアドレスに基づいて各セレクタを制御することになる。
【０１１１】
ロウデコーダ２４ａは、ロウアドレスＸｉ−１〜Ｘ０に基づいて、左側のメモリマット５１−１ａ、５１−２ａ等を延伸するｍ本のワード線から１本のワード線を選択する。
【０１１２】
同様に、ロウデコーダ２４ｂは、ロウアドレスＸｉ−１〜Ｘ０に基づいて、右側のメモリマット５１−１ｂ、５１−２ｂ等を延伸するｍ本のワード線から１本のワード線を選択する。
【０１１３】
リードライト＆ＥＣＣ部２５にはセンスアンプが含まれ、上述のように、隣接するセンスアンプの入力端子はスイッチ４２とスイッチ４３により接続される構成となっている。
【０１１４】
＜リードライト＆ＥＣＣ部＞
図９は、リードライト＆ＥＣＣ部２５の構成とその周辺の一例を示す図である。なお、図９では、スイッチ４２及び４３の図示を省略している。
【０１１５】
上述のように、リードライト＆ＥＣＣ部２５の左右には、データビット用セルアレイ３１とチェックビット用セルアレイ３２が配置される。
【０１１６】
本実施形態では、データビット用セルアレイ３１から５１２ビットのデータ（以下、データビットと表記する）が出力され、チェックビット用セルアレイ３２から１０ビットの訂正コード（以下、チェックビットと表記する）が出力されるものとして説明する。但し、各セルアレイからの出力数を限定する趣旨ではなく、半導体装置１の仕様等に応じて適宜変更される。
【０１１７】
リードライト＆ＥＣＣ部２５は、メモリセルからのデータ読み出し及びデータ書き込みを処理するリードライト回路と、ＥＣＣ機能を実現するＥＣＣ回路と、を含む。
【０１１８】
リードライト＆ＥＣＣ部２５に含まれるリードライト回路は、データビット用セルアレイ３１とチェックビット用セルアレイ３２から選択される選択ビット線ごとに存在する。
【０１１９】
具体的には、データビット用セルアレイ３１からの選択ビット線に対応する５１２個のリードライト回路と、チェックビット用セルアレイ３２からの選択ビット線に対応する１０個のリードライト回路と、がリードライト＆ＥＣＣ部２５には含まれる。
【０１２０】
各リードライト回路は、センスアンプ、書き込みドライバ、レジスタから構成される。
【０１２１】
なお、図９では、データビット用セルアレイ３１に対応するセンスアンプを「ＳＡＤ」と表記し、チェックビット用セルアレイ３２に対応するセンスアンプを「ＳＡＣ」と表記し、両者を区別している。
【０１２２】
同様に、データビット用セルアレイ３１に対応する書き込みドライバを「ＷＤＤ」と表記し、チェックビット用セルアレイ３２に対応する書き込みドライバを「ＷＤＣ」と表記する。データビット用セルアレイ３１に対応するレジスタを「ＲＧＤ」と表記し、チェックビット用セルアレイ３２に対応するレジスタを「ＲＧＣ」と表記する。
【０１２３】
データビット用センスアンプ６１−１〜６１−５１２の差動入力端子には、左右に位置する各セレクタ５２（図１参照）の入出力端子が接続される。各データビット用センスアンプ６１の出力端子は、対応するデータビット用レジスタ６３の入力端子と接続されている。
【０１２４】
同様に、チェックビット用センスアンプ６２−１〜６２−１０の差動入力端子には、左右に位置する各セレクタ５２の入出力端子が接続される。各チェックビット用センスアンプ６２の出力端子は、対応するチェックビット用レジスタ６４の入力端子と接続されている。
【０１２５】
データビット用書き込みドライバ６５−１〜６５−５１２の入力端子は、対応するデータビット用レジスタ６３−１〜６３−５１２の出力端子と接続されている。また、データビット用書き込みドライバ６５の出力端子は、左右の各セレクタ５２の入出力端子に接続される。
【０１２６】
図示しないが、データビット用書き込みドライバ６５にはリファレンス制御回路２２から制御信号ＳＷＬ及びＳＷＲが入力されており、左右のデータビット用セルアレイ３１のうちアクセス対象とされた方に対して書き込みが行われるように制御される。例えば、エラー訂正時のデータ書き戻しの際に、データビット用書き込みドライバ６５がデータを書き込む先は、先行する読み出し動作で、読み出し対象となったセルとなる。
【０１２７】
同様に、チェックビット用書き込みドライバ６６−１〜６６−１０の入力端子は、チェックビット用レジスタ６４−１〜６４−１０の出力端子と接続されている。チェックビット用書き込みドライバ６６の出力端子は、左右の各セレクタ５２の入出力端子に接続される。なお図示しないが、チェックビット用書き込みドライバ６６にはリファレンス制御回路２２から制御信号ＳＷＬ及びＳＷＲが入力されており、左右のチェックビット用セルアレイ３２のうちアクセス対象とされた方に対して書き込みが行われるように制御される。
【０１２８】
データビット用レジスタ６３の出力端子は、シンドローム生成回路６７の入力端子と、カラムスイッチ７０の入出力端子と、データビット用書き込みドライバ６５の入力端子に接続されている。
【０１２９】
チェックビット用レジスタ６４の出力端子は、シンドローム生成回路６７の入力端子と、チェックビット用書き込みドライバ６６の入力端子に接続されている。
【０１３０】
リードライト＆ＥＣＣ部２５には、シンドローム生成回路６７と、判定回路６８と、シンドロームデコーダ６９と、からなるＥＣＣ回路が含まれる。
【０１３１】
なお、本実施形態では、ＥＣＣ機能は、シンドローム生成回路６７、判定回路６８及びシンドロームデコーダ６９で構成されるＥＣＣ回路にて実現されるが、回路構成を限定する趣旨ではない。ＥＣＣ回路、それに関連する回路及びそれらを接続する信号経路は、適宜変更可能である。
【０１３２】
シンドローム生成回路６７は、データビット用レジスタ６３から入力した５１２ビットのデータビットと、チェックビット用レジスタ６４から入力した１０ビットのチェックビットから１０ビットのシンドロームを生成する。シンドローム生成回路６７は、生成したシンドロームを判定回路６８出力する。
【０１３３】
シンドローム生成回路６７は、１ビットエラー訂正能力を備えたハミング符号を用いてシンドロームを生成する。但し、生成するシンドロームの訂正能力や方式を限定する趣旨ではない。
【０１３４】
判定回路６８は、入力したシンドロームから、データビットとチェックビットにエラーが発生しているか否かを判定する。
【０１３５】
判定回路６８は、シンドロームの全てのビットが０であれば、読み出した５１２ビットのデータビットと、１０ビットのチェックビットには誤りがないと判定する。
【０１３６】
判定回路６８は、シンドロームの全てのビットが０でなければ、読み出した５１２ビットのデータビットと１０ビットのチェックビットに誤りが存在すると判定する。誤りが存在する場合には、判定回路６８は、１０ビットのシンドロームをシンドロームデコーダ６９に出力する。
【０１３７】
シンドロームデコーダ６９は、１０ビットのシンドロームをデコードし、誤りが存在するビットに対応したレジスタ（データビット用レジスタ又はチェックビット用レジスタ）を特定する。シンドロームデコーダ６９は、特定したレジスタが保持する値を反転することで、エラー訂正を行う。
【０１３８】
＜ユーザデータへのアクセス＞
図９を参照しつつ、左側のデータビット用セルアレイ３１ａに含まれる通常セルへのアクセスを説明する。
【０１３９】
メモリコントローラからアクティブコマンドが発行されると、メモリコントローラから選択されたページがオープンする。
【０１４０】
この場合、例えば左側のデータビット用セルアレイ３１ａに含まれる通常セルがアクセス対象とされた場合はロウデコーダ２４ａ及びセレクタ制御回路５３ａにより選択されたワード線とビット線により、データビット用セルアレイ３１ａから５１２個の通常セルが選択され、チェックビット用セルアレイ３２ａから１０個のチェックセルが選択される。
【０１４１】
また、ロウデコーダ２４ｂ及びセレクタ制御回路５３ｂにより選択されたワード線とビット線により、データビット用セルアレイ３１ｂとチェックビット用セルアレイ３２ｂから、５２２（５１２＋１０）個のリファレンスメモリセルが選択される。
【０１４２】
通常セルから読み出されたデータは、ビット線を介して、データビット用センスアンプ６１−１〜６１−５１２の一方の差動入力端子に入力される。また、データビット用セルアレイ３１ｂのリファレンスメモリセルから読み出されたデータは、スイッチ４３により平均化され、リファレンス信号としてデータビット用センスアンプ６１−１〜６１−５１２の他の差動入力端子に入力される。
【０１４３】
チェックビット用セルアレイ３２ａのチェックセルから読み出されたデータは、ビット線を介して、チェックビット用センスアンプ６２−１〜６２−１０の一方の差動入力端子に入力される。また、チェックビット用セルアレイ３２ｂのリファレンスメモリセルから読み出されたデータは、スイッチ４３により平均化され、リファレンス信号としてチェックビット用センスアンプ６２−１〜６２−１０の他の差動入力端子に入力される。
【０１４４】
データビット用センスアンプ６１−１〜６１−５１２にてセンス増幅された５１２ビットのデータビットはデータビット用レジスタ６３−１〜６３−５１２に書き込まれる。
【０１４５】
チェックビット用センスアンプ６２−１〜６２−１０にてセンス増幅された１０ビットのチェックビットは、チェックビット用レジスタ６４−１〜６４−１０に書き込まれる。
【０１４６】
＜エラー検知及び訂正＞
データビット用レジスタ６３−１〜６３−５１２が保持する５１２ビットのデータビットとチェックビット用レジスタ６４−１〜６４−１０が保持する１０ビットのチェックビットは、シンドローム生成回路６７に入力され、シンドロームの生成が行われる。シンドローム生成回路６７が生成されたシンドロームは判定回路６８に入力される。
【０１４７】
判定回路６８に入力されたシンドロームの全てのビットが０であれば、読み出した５１２ビットのデータビットと１０ビットのチェックビットに誤りはないとエラー検知されるので、シンドロームデコーダ６９によるエラー訂正は行われない。
【０１４８】
他方、判定回路６８に入力されたシンドロームの全てのビットが０でなければ、判定回路６８は、エラーが含まれていることを検知されるので、シンドロームデコーダ６９によるエラー訂正は行われる。そのため、判定回路６８は、シンドローム生成回路６７から受け取ったシンドロームをシンドロームデコーダ６９に出力する。
【０１４９】
シンドロームデコーダ６９は、受け取ったシンドロームからエラーの生じているビットを保持しているレジスタ（データビット用レジスタ又はチェックビット用レジスタ）を特定する。シンドロームデコーダ６９は、特定したレジスタが保持している値を反転させ、エラーを訂正する。
【０１５０】
＜データの読み出し＞
アクティブコマンドの発行に続き、読み出しコマンドが投入されると、カラムデコーダ２３によりアクセス対象のカラムアドレスに応じて、カラムスイッチ７０が制御される。
【０１５１】
カラムスイッチ７０は、５１２個のデータビット用レジスタ６３−１〜６３−５１２のうち、６４個のデータビット用レジスタを選択して、Ｉ／Ｏ線８９に接続する。
【０１５２】
選択されたデータビット用レジスタが保持するデータは、リードライトアンプ１６に送られ、パラレルシリアル変換回路１７を介して８個のデータ入出力バッファ１８から８バースト長さの読み出しデータとして送出される。
【０１５３】
＜データの書き込み＞
アクティブコマンドの発行に続き、書き込みコマンドが投入されると、８ビット幅、８バースト長の書き込みデータが、データ入出力バッファ１８に入力される。
【０１５４】
書き込みデータがデータ入出力バッファ１８に入力されると、カラムデコーダ２３によりアクセス対象のカラムアドレスに応じて、カラムスイッチ７０が制御される。
【０１５５】
カラムスイッチ７０は、５１２個のデータビット用レジスタ６３−１〜６３−５１２のうち、６４個のデータビット用レジスタを選択して、Ｉ／Ｏ線８９と接続する。
【０１５６】
６４個のデータビット用レジスタが選択されると、パラレルシリアル変換回路１７を介した書き込みデータが、リードライトアンプ１６から選択されたデータビット用レジスタ６３に書き込まれる。
【０１５７】
その後、書き込みデータに対応するシンドロームがシンドローム生成回路６７により生成され、チェックビット用レジスタ６４−１〜６４−１０に書き込まれる。
【０１５８】
＜ページのクローズ＞
アクティブコマンドの発行に続き、プリチャージコマンドが投入されると、データビット用書き込みドライバ６５又はチェックビット用書き込みドライバ６６は、対応する各レジスタにて変化のあったデータをメモリセルに書き込む。
【０１５９】
各レジスタに変化のあったデータとは、データビット用レジスタ６３及びチェックビット用レジスタ６４が保持しているデータのうち、エラー訂正、新たに生成されたシンドローム又は外部から書き込まれたデータである。
【０１６０】
メモリセルへのデータ書き込みの後は、ロウデコーダ２４ａ、２４ｂにより選択されていたワード線が非選択となり、オープンしていたページがクローズする。
【０１６１】
＜通常セルのスクラブ＞
図９を参照しつつ、左側のデータビット用セルアレイ３１ａ及びチェックビット用セルアレイ３２ａに含まれる通常セルに対するスクラブを説明する。
【０１６２】
メモリコントローラから通常セルに対するスクラブコマンドが発行されると、上記の通常セルへのアクセスのうち、ページオープン、エラー訂正、訂正データのメモリセルへの書き込み、ページクローズの一連の動作が実行される。
【０１６３】
メモリコントローラからスクラブコマンドが発行されると、メモリコントローラから選択されたページがオープンする。
【０１６４】
この場合、上記と同様に、データビット用センスアンプ６１−１〜６１−５１２にてセンス増幅された５１２ビットのデータビットはデータビット用レジスタ６３−１〜６３−５１２に書き込まれる。チェックビット用センスアンプ６２−１〜６１−１０にてセンス増幅された１０ビットのチェックビットは、チェックビット用レジスタ６４−１〜６４−１０に書き込まれる。
【０１６５】
その後、データビット用レジスタ６３−１〜６３−５１２が保持する５１２ビットのデータビットとチェックビット用レジスタ６４−１〜６４−１０が保持する１０ビットのチェックビットは、シンドローム生成回路６７に入力され、シンドロームの生成が行われる。シンドローム生成回路６７にて生成されたシンドロームは、判定回路６８に入力される。
【０１６６】
シンドロームデコーダ６９は、判定回路６８の判定結果に応じて、必要があれば、誤ったデータを保持しているレジスタ（データビット用レジスタ又はチェックビット用レジスタ）を特定し、保持しているデータの値を反転し、エラー訂正を行う。
【０１６７】
その後、データビット用書き込みドライバ６５−１〜６５−５１２は、訂正されたデータを保持するデータビット用レジスタ６３が存在すれば、当該訂正データをデータビット用セルアレイ３１ａの通常セルに書き込む。あるいは、チェックビット用書き込みドライバ６６−１〜６６−１０は、訂正されたデータを保持するチェックビット用レジスタ６４が存在すれば、当該訂正データをチェックビット用セルアレイ３２ａのチェックセルに書き込む。
【０１６８】
その後、ロウデコーダ２４ａ、２４ｂにより選択されていたワード線が非選択となり、オープンしていたページがクローズする。
【０１６９】
このように、スクラブコマンドが発行された場合には、オープンしたページのデータに対するエラー訂正（スクラブ）が行われ、訂正データがメモリセルに書き込まれる。
【０１７０】
＜リファレンスメモリセルのスクラブ＞
図９を参照しつつ、左側のデータビット用セルアレイ３１ａ及びチェックビット用セルアレイ３２ａに含まれるリファレンスメモリセルに対するスクラブを説明する。
【０１７１】
メモリコントローラからリファレンスメモリセルに対するスクラブコマンドが発行されると、ページオープン、エラー訂正、訂正データのメモリセルへの書き込み、ページクローズの一連の動作が実行される。
【０１７２】
メモリコントローラからリファレンスメモリセルに対するスクラブコマンドが発行されると、メモリコントローラから選択されたページがオープンする。
【０１７３】
この場合、ロウデコーダ２４ａ及びセレクタ制御回路５３ａにより選択されたワード線とビット線により、データビット用セルアレイ３１ａから５１２個のリファレンスメモリセルが選択され、チェックビット用セルアレイ３２ａから１０個のリファレンスメモリセルが選択される。
【０１７４】
また、ロウデコーダ２４ｂ及びセレクタ制御回路５３ｂにより選択されたワード線とビット線により、データビット用セルアレイ３１ｂとチェックビット用セルアレイ３２ｂから、５２２（５１２＋１０）個のリファレンスメモリセルが選択される。
【０１７５】
データビット用センスアンプ６１−１〜６１−５１２にてセンス増幅された５１２ビットのリファレンスビットはデータビット用レジスタ６３−１〜６３−５１２に書き込まれる。チェックビット用センスアンプ６２−１〜６２−１０にてセンス増幅された１０ビットのリファレンスビットは、チェックビット用レジスタ６４−１〜６４−１０に書き込まれる。
【０１７６】
その後、データビット用レジスタ６３−１〜６３−５１２が保持する５１２ビットのリファレンスビットとチェックビット用レジスタ６４−１〜６４−１０が保持する１０ビットのリファレンスビットは、シンドローム生成回路６７に入力され、シンドロームの生成が行われる。
【０１７７】
なお、シンドロームの作成には、入力された５２２ビットのリファレンスビットに対応するチェックビットが必要となる。
【０１７８】
ここで、データビット用セルアレイ３１に存在するリファレンスメモリセルは、データ「０」とデータ「１」を交互に記憶するように配置され、読み出されるデータ列はデータ「０」とデータ「１」の繰り返しとなる。また、チェックビット用セルアレイ３２に関しても同様であり、チェックビット用セルアレイ３２から読み出されるデータ列には、５個のデータ「０」と５個のデータ「１」が交互に現れる。従って、シンドローム生成回路６７にて用いる検査行列（Ｈマトリクス）を適切に選択することで、チェックビット用セルアレイ３２のリファレンスメモリセルから読み出したデータを、データビット用セルアレイ３１から読み出したリファレンスビットに対応するチェックビットとみなすことができる。即ち、チェックビット用セルアレイ３２に含まれるリファレンスメモリセルは、リファレンスメモリセルとしてもチェックセルとしても使用される。
【０１７９】
シンドローム生成回路６７は、生成したシンドロームを、判定回路６８に出力する。
【０１８０】
判定回路６８は、リファレンスメモリセルから読み出したデータにエラーが生じているか否かを判定する。即ち、判定回路６８は、リファレンスメモリセルのデータがエラーか否かを検知するエラー検知動作を実行する。
【０１８１】
シンドロームデコーダ６９は、判定回路６８の判定結果に応じて、必要があれば、誤ったデータを保持しているレジスタ（データビット用レジスタ又はチェックビット用レジスタ）を特定し、保持しているデータの値を反転し、エラー訂正を行う。即ち、シンドロームデコーダ６９は、判定回路６８が検知したエラーに対応するリファレンスメモリセルが記憶するデータを訂正するエラー訂正動作を実行する。
【０１８２】
その後、データビット用書き込みドライバ６５−１〜６５−５１２は、訂正されたデータが存在すれば、当該訂正データをデータビット用セルアレイ３１ａのリファレンスメモリセルに書き込む。あるいは、チェックビット用書き込みドライバ６６−１〜６６−１０は、訂正されたデータが存在すれば、当該訂正データをチェックビット用セルアレイ３２ａのリファレンスメモリセルに書き込む。
【０１８３】
その後、ロウデコーダ２４ａ、２４ｂにより選択されていたワード線が非選択となり、オープンしていたページがクローズし、リファレンスメモリセルに対するスクラブが終了する。
【０１８４】
なお、特許文献１が開示する記憶装置は、通常セルにエラーがあった場合に、リファレンスデータを上書きすることで、リファレンス・セルの不良を防止している。つまり、特許文献１では、通常セルの読み出し時に、対となるリファレンス・セルの存在が前提である。従って、第１の実施形態にて説明したように、並列化された複数のリファレンスメモリセルを用いてリファレンス信号を生成する場合には、特許文献１の技術を適用することはできない。一方、第１の実施形態に係る半導体装置１では、リファレンスメモリセルが記憶するリファレンスデータ自体に対して、ＥＣＣによるエラー訂正を実施するので、並列化された複数のリファレンスメモリセルのデータを個別に訂正できる。
【０１８５】
以上のように、本実施形態に係る半導体装置１では、リファレンスメモリセルが誤ったデータを記憶している場合に、ＥＣＣ機能を用いて当該エラーデータを訂正し、訂正データをリファレンスメモリセルに書き戻す。その際、誤ったデータを記憶するリファレンスメモリセルに限り訂正データが書き込まれるので、定期的にリファレンスメモリセルを上書きする方式と比較して、リファレンスメモリセルに対する書き込み頻度が減少する。リファレンスメモリセルに対する書き込み頻度が減少することで、リファレンスメモリセルの信頼性が向上する。
【０１８６】
［第２の実施形態］
第１の実施形態では、ＥＣＣ回路を用いてリファレンスデータに関するエラーの検出とその訂正を行った。第２の実施形態に係る半導体装置１では、ＥＣＣ回路が存在しない場合について説明する。
【０１８７】
図１０は、第２の実施形態に係るセンスアンプ４１−１、４１−２に関係する制御回路の一例を模式的に示す図である。図１０において図１と同一構成要素には、同一の符号を付し、その説明を省略する。
【０１８８】
図１に示す構成と図１０に示す構成の相違点は、リードライト＆ＥＣＣ部２５に代えてリードライト＆リファレンスメモリセル検査部２６を備える点である。
【０１８９】
また、チップ制御回路１３（図２参照）は、コンペアモード設定信号ＣＰを生成し、リードライト＆リファレンスメモリセル検査部２６に供給する。あるいは、チップ制御回路１３が出力する制御信号に応じて、リファレンス制御回路２２がコンペアモード設定信号ＣＰを生成してもよい。
【０１９０】
チップ制御回路１３は、リファレンスメモリセルに対するスクラブを実行する場合に、コンペアモード設定信号ＣＰを活性化レベルであるＨレベルに設定する。
【０１９１】
図１１は、リードライト＆リファレンスメモリセル検査部２６の構成とその周辺の一例を示す図である。図１１において図９と同一構成要素には、同一の符号を付し、その説明を省略する。
【０１９２】
ＥＣＣ機能を用いたエラー訂正を行わないため、第２の実施形態に係る半導体装置１のメモリセルアレイ２にはチェックビット用セルアレイ３２ａ、３２ｂが存在しない。また、ＥＣＣ回路ブロック（シンドローム生成回路６７、判定回路６８、シンドロームデコーダ６９）も存在しない。
【０１９３】
リードライト＆リファレンスメモリセル検査部２６は、コンペア回路７１−１〜７１−５１２を備える。なお、データビット用センスアンプ６１ａは、第１の実施形態にて説明したデータビット用センスアンプ６１の機能とデータビット用レジスタ６３の機能を有するものとする。但し、リードライト＆リファレンスメモリセル検査部２６の構成を限定する趣旨ではなく、第１の実施形態と同様に、データビット用センスアンプ、データビット用レジスタを有する構成であってもよい。
【０１９４】
コンペア回路７１は、読み出されたリファレンスデータと、データ「１」又は「０」に予め設定されたデータと、を比較し、比較した結果が不一致であればエラー信号を生成する回路である。なお、図１１では、コンペア回路を「ＣＭＰ」と表記し、予め設定されているデータを括弧書きにて併記している。
【０１９５】
データ「０」が設定されているコンペア回路７１と、データ「１」が設定されているコンペア回路７１は、交互に配置されている。
【０１９６】
各コンペア回路７１は、コンペアモード設定信号ＣＰを受け付ける。また、各コンペア回路７１は、データビット用センスアンプ６１ａ、データビット用書き込みドライバ６５、カラムスイッチ７０、と接続されている。
【０１９７】
コンペア回路７１は、コンペアモード設定信号ＣＰがＬレベルの場合には、通常動作（通常セルからのデータ読み出し、通常セルへのデータ書き込み）を行う。
【０１９８】
コンペア回路７１は、コンペアモード設定信号ＣＰがＬレベルの場合には、通常セルからの読み出しデータをカラムスイッチ７０に出力する。あるいは、コンペア回路７１は、コンペアモード設定信号ＣＰがＬレベルの場合には、カラムスイッチ７０とデータビット用書き込みドライバ６５を接続する。
【０１９９】
コンペア回路７１は、コンペアモード設定信号ＣＰがＨレベルの場合には、コンペア動作を行う。
【０２００】
コンペア回路７１は、コンペアモード設定信号ＣＰがＨレベルの場合には、予め設定されたデータと、データビット用センスアンプ６１ａからの読み出しデータを比較し、不一致の場合には、エラー信号と訂正データをデータビット用書き込みドライバ６５に出力する。
【０２０１】
図１２は、データ「１」が設定されたコンペア回路７１の回路構成の一例を示す図である。
【０２０２】
図１２を参照すると、データ「１」が設定されるコンペア回路７１は、否定論理積回路８０と、インバータ回路８１ａ〜８１ｃと、スイッチ８２ａ及び８２ｂと、から構成される。
【０２０３】
否定論理積回路８０は、コンペアモード設定信号ＣＰと、データビット用センスアンプ６１ａからの読み出しデータをインバータ回路８１ｂにて反転した信号と、を受け付ける。
【０２０４】
否定論理積回路８０の出力は、インバータ回路８１ａにより反転され、エラー信号としてデータビット用書き込みドライバ６５に出力される。
【０２０５】
データビット用センスアンプ６１ａからの読み出しデータはインバータ回路８１ｂに供給されると共に、カラムスイッチ７０にも供給される。
【０２０６】
スイッチ８２ａ及び８２ｂは、制御信号に応じて両端を導通、非導通に設定するスイッチである。スイッチ８２ａ及び８２ｂには、いずれも、ＰＭＯＳトランジスタとＮＭＯＳトランジスタにより構成されるトランスファーゲート（図１３参照）を用いることができる。
【０２０７】
スイッチ８２ａは、インバータ回路８１ｂとデータビット用書き込みドライバ６５の間に接続されている。スイッチ８２ａは、コンペアモード設定信号ＣＰを制御信号として受け付ける。
【０２０８】
スイッチ８２ｂは、データビット用センスアンプ６１ａ及びカラムスイッチ７０と、データビット用書き込みドライバ６５と、の間に接続されている。スイッチ８２ｂは、コンペアモード設定信号ＣＰがインバータ回路８１ｃにより反転された信号を制御信号として受け付ける。
【０２０９】
図１４は、データ「０」が設定されたコンペア回路７１の回路構成の一例を示す図である。
【０２１０】
データ「０」が設定されるコンペア回路７１も、データ「１」が設定されるコンペア回路７１と同様の構成要素を含んでいる。
【０２１１】
データ「０」が設定されるコンペア回路７１とデータ「１」が設定されるコンペア回路７１の相違点は、否定論理積回路８０がデータビット用センスアンプ６１ａの反転信号を受け付けるか、データビット用センスアンプ６１ａの出力信号を受け付けるかの点である。
【０２１２】
＜通常動作＞
通常動作では、コンペアモード設定信号ＣＰがＬレベルである。図１２、図１４を参照しつつ、コンペアモード設定信号ＣＰがＬレベルの場合のコンペア回路７１の動作について説明する。
【０２１３】
コンペアモード設定信号ＣＰがＬレベルの場合、スイッチ８２ａは非導通、スイッチ８２ｂは導通する。従って、データビット用センスアンプ６１ａからの読み出しデータはカラムスイッチ７０に供給される。あるいは、カラムスイッチ７０からの書き込みデータはデータビット用書き込みドライバ６５に供給される。
【０２１４】
なお、コンペアモード設定信号ＣＰがＬレベルであるので、データビット用センスアンプ６１ａの出力によらず、否定論理積回路８０の出力はＨレベルであり、インバータ回路８１ａによる反転信号（エラー信号）はＬレベルとなる。従って、コンペアモード設定信号ＣＰがＬレベルの場合には、コンペア回路７１からエラー信号が生成されることはない。
【０２１５】
＜コンペア動作＞
コンペア動作では、コンペアモード設定信号ＣＰがＨレベルである。図１２、図１４を参照しつつ、コンペアモード設定信号ＣＰがＨレベルの場合のコンペア回路７１の動作について説明する。
【０２１６】
コンペアモード設定信号ＣＰがＨレベルの場合、スイッチ８２ａは導通、スイッチ８２ｂは非導通となる。スイッチ８２ｂが非導通のため、カラムスイッチ７０からの書き込みデータがデータビット用書き込みドライバ６５に供給されることはない。
【０２１７】
図１２において、データ「１」が設定されたコンペア回路７１に対してデータビット用センスアンプ６１ａから、データ「１」のリファレンスデータが読み出されたとする。
【０２１８】
この場合、否定論理積回路８０には、Ｈレベルのコンペアモード設定信号ＣＰと、インバータ回路８１ｂにより反転されたＬレベルの信号と、が入力されるので、インバータ回路８１ａの出力はＬレベルとなる。従って、この場合には、コンペア回路７１はエラー信号を生成しない。
【０２１９】
他方、データ「１」が設定されたコンペア回路７１に対してデータビット用センスアンプ６１ａから、データ「０」のリファレンスデータが読み出されたとする。
【０２２０】
この場合、否定論理積回路８０には、Ｈレベルのコンペアモード設定信号ＣＰと、インバータ回路８１ｂにより反転されたＨレベルの信号と、が入力されるので、インバータ回路８１ａの出力はＨレベルとなる。従って、この場合には、コンペア回路７１からデータビット用書き込みドライバ６５に対するエラー信号が生成される。
【０２２１】
さらに、コンペアモード設定信号ＣＰにより、スイッチ８２ａが導通しているため、データビット用センスアンプ６１ａから読み出したデータ「０」を反転した信号（Ｈレベルの信号）がデータビット用書き込みドライバ６５に供給される。
【０２２２】
エラー信号がＨレベルであるので、データビット用書き込みドライバ６５は、コンペア回路７１から供給される訂正データ（この場合は、データ「１」）をリファレンスメモリセルに書き込む。
【０２２３】
図１４において、データ「０」が設定されたコンペア回路７１に対してデータビット用センスアンプ６１ａから、データ「０」のリファレンスデータが読み出されたとする。
【０２２４】
この場合、否定論理積回路８０には、Ｈレベルのコンペアモード設定信号ＣＰと、Ｌレベルのデータビット用センスアンプ６１ａからの読み出しデータと、が入力されるので、インバータ回路８１ａの出力はＬレベルとなる。即ち、この場合には、コンペア回路７１は、エラー信号を生成しない。
【０２２５】
他方、データ「０」が設定されたコンペア回路７１に対してデータビット用センスアンプ６１ａから、データ「１」のリファレンスデータが読み出されたとする。
【０２２６】
この場合、否定論理積回路８０には、Ｈレベルのコンペアモード設定信号ＣＰと、Ｈレベルのデータビット用センスアンプ６１ａからの読み出しデータと、が入力されるので、インバータ回路８１ａの出力はＨレベルとなる。従って、この場合には、コンペア回路７１からデータビット用書き込みドライバ６５に対するエラー信号が生成される。
【０２２７】
さらに、コンペアモード設定信号ＣＰにより、スイッチ８２ａが導通しているため、データビット用センスアンプ６１ａから読み出したデータ「１」を反転した信号（Ｌレベルの信号）がデータビット用書き込みドライバ６５に供給される。
【０２２８】
エラー信号がＨレベルであるので、データビット用書き込みドライバ６５は、コンペア回路７１から供給される訂正データ（この場合は、データ「０」）をリファレンスメモリセルに書き込む。
【０２２９】
なお図１１には図示しないが、データビット用書き込みドライバ６５にはリファレンス制御回路２２から制御信号ＳＷＬ及びＳＷＲが入力されており、左右のデータビット用セルアレイ３１のうちアクセス対象とされた方に対して書き込みが行われるように制御される。
【０２３０】
第２の実施形態に係る半導体装置１のように、ＥＣＣ機能を有さない場合であっても、アクセスの対象とされたリファレンスメモリセルから読み出されたデータと、コンペア回路７１に予め設定されたデータと、を比較し、不一致のビットに対応するメモリセルに限り正しいデータを上書きすることができる。即ち、ページ単位にてＥＣＣを実行しない半導体装置１であっても、リファレンスメモリセルから読み出したデータと予め設定したデータを比較することで、リファレンスデータのエラー検出及びその訂正が可能となる。従って、第１の実施形態と同様に、リファレンスメモリセルに対する書き込み頻度が減少し、リファレンスメモリセルの信頼性が向上する。
【０２３１】
［第３の実施形態］
第２の実施形態において説明したコンペア回路７１は例示である。本実施形態では、第２の実施形態にて説明したコンペア回路７１とは異なる回路構成のコンペア回路について説明する。
【０２３２】
図１５は、第３の実施形態に係るコンペア回路７２の回路構成の一例を示す図である。図１５において図１２と同一構成要素には、同一の符号を付し、その説明を省略する。
【０２３３】
図１５に示すコンペア回路７２は、データ「１」が予め設定されている。データ「０」が予め設定されるコンペア回路については、第２の実施形態にて図１４を参照しつつ説明した回路構成と相違する点はないので説明を省略する。
【０２３４】
図１５に示すコンペア回路７２と図１２に示すコンペア回路７１の相違点は、インバータ回路８１ｄをさらに備える点と、否定論理積回路８０に代えて論理和回路８３を備える点である。
【０２３５】
論理和回路８３は、一方の入力においてコンペアモード設定信号ＣＰがインバータ回路８１ｄにて反転された信号を受け付ける。論理和回路８３は、他の入力においてデータビット用センスアンプ６１ａが出力する信号を受け付ける。
【０２３６】
＜通常動作＞
図１５を参照しつつ、コンペアモード設定信号ＣＰがＬレベルの場合のコンペア回路７２の動作について説明する。
【０２３７】
コンペアモード設定信号ＣＰがＬレベルの場合、スイッチ８２ａは非導通、スイッチ８２ｂは導通する。従って、データビット用センスアンプ６１ａからの読み出しデータはカラムスイッチ７０に供給される。あるいは、カラムスイッチ７０からの書き込みデータはデータビット用書き込みドライバ６５に供給される。
【０２３８】
なお、コンペアモード設定信号ＣＰがＬレベルであるので、データビット用センスアンプ６１ａの出力によらず、論理和回路８３の出力はＨレベルであり、インバータ回路８１ａによる反転信号（エラー信号）はＬレベルとなる。従って、コンペアモード設定信号ＣＰがＬレベルの場合には、コンペア回路７２からエラー信号が生成されることはない。
【０２３９】
＜コンペア動作＞
図１５を参照しつつ、コンペアモード設定信号ＣＰがＨレベルの場合のコンペア回路７２の動作について説明する。
【０２４０】
コンペアモード設定信号ＣＰがＨレベルの場合、スイッチ８２ａは導通、スイッチ８２ｂは非導通となる。スイッチ８２ｂが非導通のため、カラムスイッチ７０からの書き込みデータがデータビット用書き込みドライバ６５に供給されることはない。
【０２４１】
図１５において、データ「１」が設定されたコンペア回路７２に対してデータビット用センスアンプ６１ａから、データ「１」のリファレンスデータが読み出されたとする。
【０２４２】
この場合、論理和回路８３には、Ｌレベルの反転コンペアモード設定信号ＣＰと、Ｈレベルのデータビット用センスアンプ６１ａの出力信号と、が入力されるので、インバータ回路８１ａの出力はＬレベルとなる。従って、この場合には、コンペア回路７２はエラー信号を生成しない。
【０２４３】
一方、データ「１」が設定されたコンペア回路７２に対してデータビット用センスアンプ６１から、データ「０」のリファレンスデータが読み出されたとする。
【０２４４】
この場合、論理和回路８３には、Ｌレベルの反転コンペアモード設定信号ＣＰと、Ｌレベルのデータビット用センスアンプ６１ａの出力信号と、が入力されるので、インバータ回路８１ａの出力はＨレベルとなる。従って、この場合には、コンペア回路７２からエラー信号が生成される。
【０２４５】
Ｈレベルのコンペアモード設定信号ＣＰにより、スイッチ８２ａが導通しているため、データビット用センスアンプ６１ａから読み出したデータ「０」を反転した信号（Ｈレベルの信号）がデータビット用書き込みドライバ６５に供給される。
【０２４６】
エラー信号がＨレベルであるので、データビット用書き込みドライバ６５は、コンペア回路７２から供給される訂正データ（この場合は、データ「１」）をリファレンスメモリセルに書き込む。
【０２４７】
第３の実施形態に係る半導体装置においても、第１及び第２の実施形態と同様に、リファレンスメモリセルに対する書き込み頻度が減少し、リファレンスメモリセルの信頼性が向上する。
【０２４８】
［第４の実施形態］
第１乃至第３の実施形態にて説明した半導体装置１では、各リファレンスメモリセルが記憶するリファレンスデータ（データ「０」、データ「１」）を変更することは想定されていない。しかし、種々の要因により、半導体装置１を製造した後に各リファレンスメモリセルが記憶するデータを変更する場合が考えられる。
【０２４９】
例えば、データ「０」を記憶するリファレンスメモリセルの個数とデータ「１」を記憶するリファレンスメモリセルの個数を等しくすれば、データ「０」に対応する信号値とデータ「１」に対応する信号値の中間がリファレンス電圧又はリファレンス電流となる。しかし、必ずしも中間値が最適とは限らず、半導体装置１のテスト工程やチップの出荷後に、リファレンス信号を変更できるのが望ましい。即ち、データ「０」を記憶するリファレンスメモリセルの個数とデータ「１」を記憶するリファレンスメモリセルの個数を可変にする半導体装置１が望まれる。
【０２５０】
第４の実施形態に係る半導体装置１は、半導体装置１の製造後に各リファレンスメモリセルが記憶するデータを変更したとしても、当該変更に柔軟に対応できるコンペア回路７３備える。
【０２５１】
図１６は、第４の実施形態に係るコンペア回路７３の回路構成の一例を示す図である。図１６において図１２と同一構成要素には、同一の符号を付し、その説明を省略する。
【０２５２】
コンペア回路７３は、選択回路８４を備える。選択回路８４は２入力１出力の回路である。選択回路８４の入力端子は、インバータ回路８１ｂの前後に接続されている。選択回路８４の出力端子は、否定論理積回路８０に接続されている。
【０２５３】
選択回路８４は、図示しない制御線により、いずれの入力端子を出力端子に接続するか切り替え可能に構成される。
【０２５４】
選択回路８４により、インバータ回路８１ｂの出力信号が否定論理積回路８０に供給される場合には、図１７（ａ）に示す回路構成となる。一方、選択回路８４により、データビット用センスアンプ６１ａの出力信号が否定論理積回路８０に供給される場合には、図１７（ｂ）に示す回路構成となる。
【０２５５】
図１７（ａ）に示す回路構成は、実質的に図１２に示すコンペア回路７１と同等である。従って、図１７（ａ）に示すコンペア回路７３は図１２に示すコンペア回路７１と同様に動作する。また、図１７（ｂ）に示すコンペア回路７３は図１４に示すコンペア回路７１と実質的に同じであり、同様の動作を行う。そのため、コンペア回路７３の動作に関する説明を省略する。
【０２５６】
選択回路８４の接続切り替えはチップ制御回路１３が行う。チップ制御回路１３は、外部から供給されるコマンド等により、各選択回路８４に設定するデータを受け取り、当該データに応じて選択回路８４の設定を切り替える。あるいは、リファレンスデータからなるデータパターンが、「０１０１・・・」のように０から始まるパターンか、「１０１０・・・」のように１から始まるパターンの２通りが選択可能な場合には、外部の機器と接続されたポートの電圧に応じて選択回路８４の設定を切り替えてもよい。
【０２５７】
第４の実施形態に係る半導体装置１は、チップの製造後であっても、各リファレンスメモリセルが記憶するデータの変更に対し、柔軟に対応できる。また、第２の実施形態と同様に、ＥＣＣ機能を有さない場合であっても、リファレンスメモリセルに対する書き込み頻度が減少し、リファレンスメモリセルの信頼性が向上する。
【０２５８】
［第５の実施形態］
図１８は、第５の実施形態に係る情報処理システムの構成を示すブロック図である。第５の実施形態は、前述の各実施形態に係る半導体装置１を含むメモリサブシステム２３０と、マルチコアプロセッサ２３１を含む情報処理システムを構成している。
【０２５９】
マルチコアプロセッサ２３１は、図１８に示すように、ｋ個のコア（コア＿１〜コア＿Ｋ；ｋは正の整数、以下同じ）２３２ａ〜２３２ｋ、Ｉ／Ｏ２３３、メモリサブシステム制御ブロック２３４、及びオンチップメモリ２３５を含んで構成される。各コアや制御ブロックは、内部バス２３６を介して相互接続されている。
【０２６０】
メモリサブシステム制御ブロック２３４は、ｋ個のコア２３２ａ〜２３２ｋからのアクセス要求を制御し、メモリサブシステム２３０に対してクロック信号、コマンド信号、アドレス信号を送出する。
【０２６１】
メモリサブシステム制御ブロック２３４は、一例として、リファレンスメモリセルのエラー検出・訂正を行う際に、上述したスクラブコマンドをメモリサブシステム２３０に対して発行する構成である。
【０２６２】
また、メモリサブシステム制御ブロック２３４は、送出したコマンドに対応してメモリサブシステム２３０に対して書き込みデータを送出し、あるいは、読み出しデータを受け取る。
【０２６３】
メモリサブシステム２３０は、特に制限されないが６４ビットのデータバス幅に対応して、例えば、データバス幅が８ビットのメモリチップ（例えば、第１の実施形態に係る半導体装置１）を８個並列に搭載し同時に動作させるモジュール等の形態であってもよい。また、８個のメモリチップはモジュール上に並べて配置されてもよいし、積層形態で配置されてもよい。さらにこれらのモジュール等を複数個搭載する形態であってもよい。
【０２６４】
各実施形態で開示した半導体装置において、メモリセルとしてスピン注入磁化反転書き込みを行うＳＴＴ−ＲＡＭを使用する場合について説明したが、それに限定されず、発明を逸脱しない範囲において、例えば、ＲｅＲＡＭやＰＣＲＡＭを使用した半導体装置に対しても、各実施形態の開示内容を適用することが可能である。
【０２６５】
なお、引用した上記の特許文献の開示は、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【０２６６】
１  半導体装置
２、２ａ〜２ｈ  メモリセルアレイ
１１  クロック発生回路
１２  コマンドデコーダ
１３  チップ制御回路
１４  モードレジスタ
１５  バンク制御回路
１６  リードライトアンプ
１７  パラレルシリアル変換回路
１８  データ入出力バッファ
１９  カラムアドレスバッファ
２０  ロウアドレスバッファ
２１  バンクアドレスバッファ
２２  リファレンス制御回路
２３  カラムデコーダ
２４、２４ａ、２４ｂ  ロウデコーダ
２５  リードライト＆ＥＣＣ部
２６  リードライト＆リファレンスメモリセル検査部
３１、３１ａ、３１ｂ  データビット用セルアレイ
３２、３２ａ、３２ｂ  チェックビット用セルアレイ
４１、４１−１〜４１−８  センスアンプ
４２、４２−１〜４２−７、４３、４３−１〜４３−７  スイッチ
５１、５１−１ａ〜５１−２ｂ  メモリマット
５２、５２−１ａ〜５２−２ｂ  セレクタ
５３、５３ａ、５３ｂ  セレクタ制御回路
６１、６１−１〜６１−５１２、６１ａ、６１ａ−１〜６１ａ−５１２  データビット用センスアンプ
６２、６２−１〜６１−１０  チェックビット用センスアンプ
６３、６３−１〜６３−５１２  データビット用レジスタ
６４、６４−１〜６４−１０  チェックビット用レジスタ
６５、６５−１〜６５−５１２  データビット用書き込みドライバ
６６、６６−１〜６６−１０  チェックビット用書き込みドライバ
６７  シンドローム生成回路
６８  判定回路
６９  シンドロームデコーダ
７０  カラムスイッチ
７１、７１−１〜７１−５１２、７２、７３  コンペア回路
８０  否定論理積回路
８１、８１ａ〜８１ｄ  インバータ回路
８２、８２ａ、８２ｂ  スイッチ
８３  論理和回路
８４  選択回路
８９  Ｉ／Ｏ線
２３０  メモリサブシステム
２３１  マルチコアプロセッサ
２３２ａ〜２３２ｋ  コア
２３３  Ｉ／Ｏ
２３４  メモリサブシステム制御ブロック
２３５  オンチップメモリ
２３６  内部バス
【図１】
2015210837.tif 000003
【図２】
2015210837.tif 000004
【図３】
2015210837.tif 000005
【図４】
2015210837.tif 000006
【図５】
2015210837.tif 000007
【図６】
2015210837.tif 000008
【図７】
2015210837.tif 000009
【図８】
2015210837.tif 000010
【図９】
2015210837.tif 000011
【図１０】
2015210837.tif 000012
【図１１】
2015210837.tif 000013
【図１２】
2015210837.tif 000014
【図１３】
2015210837.tif 000015
【図１４】
2015210837.tif 000016
【図１５】
2015210837.tif 000017
【図１６】
2015210837.tif 000018
【図１７】
2015210837.tif 000019
【図１８】
2015210837.tif 000020