(57)【要約】【課題】記憶データの反転を防止しつつ、データの書き込み時間を短縮する半導体装置を提供する。【解決手段】半導体装置は、それぞれが、第１及び第２端子間に接続され、第１の方向に第１電流を印加することにより第１抵抗状態に書き込まれ、第２の方向に第２電流を印加することにより第２抵抗状態に書き込まれる複数のメモリセルを、それぞれ含む第１及び第２メモリセルアレイと、通常情報に基づいて、エラー訂正情報を生成するエラー訂正回路と、メモリセルへのアクセスを制御する制御回路と、を備える。さらに、第１メモリセルアレイは、通常情報を記憶するように構成され、第２メモリセルアレイは、エラー訂正情報を記憶するように構成される。制御回路は、エラー訂正回路が通常情報に基づいてエラー訂正情報を生成する第１期間に、第２メモリセルアレイに含まれるメモリセルに対して、第１及び第２端子間の第１又は第２の方向に第３電流を印加する。【選択図】図１
2015036995.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが、第１及び第２端子間に接続され、前記第１及び第２端子間の第１の方向に第１電流を印加することにより第１抵抗状態に書き込まれ、前記第１及び第２端子間の前記第１の方向とは逆の第２の方向に第２電流を印加することにより第２抵抗状態に書き込まれる複数のメモリセルを、それぞれ含む第１及び第２メモリセルアレイと、
供給された通常情報に基づいて、エラー訂正情報を生成するエラー訂正回路と、
制御回路と、
を備え、
前記第１メモリセルアレイは、通常情報を記憶するように構成され、
前記第２メモリセルアレイは、エラー訂正情報を記憶するように構成され、
前記制御回路は、前記エラー訂正回路が通常情報に基づいてエラー訂正情報を生成する第１期間に、前記第２メモリセルアレイに含まれるメモリセルに対して、前記第１及び第２端子間の前記第１又は第２の方向に第３電流を印加する、半導体装置。
【請求項２】
前記制御回路は、前記第１期間の経過後に、前記生成されたエラー訂正情報を前記第２メモリセルアレイに含まれるメモリセルに書き込む、請求項１の半導体装置。
【請求項３】
前記生成されたエラー訂正情報の書き込みは、前記第１又は第２電流により行われる、請求項１又は２の半導体装置。
【請求項４】
前記制御回路は、前記エラー訂正回路によるエラー訂正情報の生成とは独立して、通常情報を、前記第１メモリセルアレイに含まれるメモリセルに書き込む、請求項１乃至３のいずれか一項に記載の半導体装置。
【請求項５】
前記第１メモリアレイに対応し、通常情報を、一時的に保持する複数の第１レジスタ回路と、
前記第２メモリアレイに対応し、エラー訂正情報を、一時的に保持する複数の第２レジスタ回路と、
をさらに備える請求項１乃至４のいずれか一項に記載の半導体装置。
【請求項６】
前記複数の第２レジスタ回路のそれぞれは、対応するメモリセルの第１及び第２端子間に印加する前記第３電流の方向を、前記第１及び第２の方向のいずれか一方に決定する情報を記憶する構成である、請求項５の半導体装置。
【請求項７】
前記エラー訂正回路は、前記複数の第１レジスタ回路が保持する通常情報に応じて、エラー訂正情報を生成する構成であり、
前記複数の第２レジスタ回路は、前記エラー訂正回路が生成するエラー訂正情報を保持する構成であり、
前記制御回路は、前記複数の第２レジスタ回路が保持するエラー訂正情報を、前記第２メモリセルアレイに含まれるメモリセルに書き込む構成である、請求項５の半導体装置。
【請求項８】
前記エラー訂正回路は、前記第１メモリセルアレイに含まれるメモリセルから読み出した第１読出通常情報を、前記第２メモリセルアレイに含まれるメモリセルから読み出したエラー訂正情報であって、前記第１読出通常情報に対応するエラー訂正情報に基づいて、エラー訂正を行い、前記エラー訂正によって第２読出通常情報を生成する構成であり、
前記複数の第１レジスタ回路は、前記第２読出通常情報を保持する構成であり、
前記制御回路は、前記複数の第１レジスタ回路が保持する前記第２読出通常情報を、前記第１メモリセルアレイに含まれるメモリセルに書き込む、請求項５の半導体装置。
【請求項９】
前記制御回路は、前記複数の第１レジスタ回路が保持するデータのうち、前記通常情報により更新されたデータを、前記第１メモリセルアレイに含まれるメモリセルに書き込む、請求項７又は８の半導体装置。
【請求項１０】
前記第１メモリアレイに対応し、通常情報を保持する第１ラッチ回路をさらに備え、
前記制御回路は、前記第１ラッチ回路が保持する通常情報と、供給された書込通常情報と、が異なる場合に、前記書込通常情報を前記第１メモリセルアレイに含まれるメモリセルに書き込む、請求項８又は９の半導体装置。
【請求項１１】
前記第２メモリアレイに対応し、前記第２メモリセルアレイに含まれるメモリセルから読み出したエラー訂正情報を保持する第２ラッチ回路をさらに備え、
前記制御回路は、前記第２ラッチ回路が保持するエラー訂正情報と、前記書込通常情報から新たに生成されたエラー訂正情報と、が異なる場合に、前記新たに生成されたエラー訂正情報を前記第２メモリセルアレイに含まれるメモリセルに書き込む、請求項１０の半導体装置。
【請求項１２】
前記メモリセルは抵抗変化型メモリセルである、請求項１乃至１１のいずれか一項に記載の半導体装置。
【請求項１３】
前記メモリセルは、ＳＴＴ−ＲＡＭ（Spin Transfer Torque-Random Access Memory）のセルである、請求項１乃至１１のいずれか一項に記載の半導体装置。
【請求項１４】
供給された情報に基づきエラー訂正情報を生成し、
前記エラー訂正情報を生成する訂正情報生成期間に、エラー訂正情報を記憶するように構成されたメモリセルアレイに含まれる複数のメモリセルのそれぞれに、アシスト電流を印加する、エラー訂正情報書き込み方法。
【請求項１５】
前記アシスト電流を印加した後に、前記生成したエラー訂正情報を、前記メモリセルアレイに含まれる複数のメモリセルに書き込む、請求項１４のエラー訂正情報書き込み方法。
【請求項１６】
前記複数のメモリセルのそれぞれは、ＳＴＴ−ＲＡＭ（Spin Transfer Torque-Random Access Memory）のセルである、請求項１４又は１５のエラー訂正情報書き込み方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置及びエラー訂正情報書き込み方法に関する。特に、オンチップＥＣＣ（Error Check and Correction）機能を搭載する半導体装置及びエラー訂正情報書き込み方法に関する。
【背景技術】
【０００２】
特許文献１は、スピン注入磁化反転型の磁気ランダムアクセスメモリ（ＳＴＴ−ＲＡＭ；Spin Torque Transfer-Random Access Memory）の書き込み時間を短縮する技術を開示する。特許文献１が開示する技術は、磁気ランダムアクセスメモリの書き込み時間を短縮するために、書き込みデータが確定する前から、書き込みに長い時間を要する第１の電流方向の書き込みを対象となるメモリセルに対して実行する。その後、書き込みデータが確定した段階で、第１の電流方向の書き込みを行うメモリセルに対しては第１方向の電流を流し続け、相対的に書き込み時間が短い第２の電流方向の書き込みを行うメモリセルに対しては書き込み電流を第２の方向に変化させる。なお、第１の電流方向の書き込みにより、例えば、磁気トンネル接合（Magnetic Tunnel Junction；ＭＴＪ）素子の固定層と自由層の磁化方向を平行状態から反平行状態に反転させる。第２の電流方向の書き込みにより、固定層と自由層の磁化方向を反平行状態から平行状態に反転させる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−３１０８７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
なお、上記先行技術文献の開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者らによってなされたものである。
【０００５】
特許文献１では、書き込み時間を短縮する対象としたメモリセル群は、書き込みデータを記憶するように構成されていて、エラー訂正情報を記憶するように構成されていない。ここで、該書き込みデータは、通常情報に含まれる情報であり、つまり、ユーザー使用時に外部からチップの端子に供給された情報である。該書き込みデータは、エラー訂正情報と異なる。
【０００６】
特許文献１では、エラー訂正（すなわち、EＣＣ：Error Check and Correction）に関する技術及びエラー訂正技術への応用について、全く言及されていない。
【０００７】
特許文献１では、通常情報を記憶するメモリセル群において、それらの初期状態に関係なく一律に第１の方向に書き込み電流を流す。そのため、例えば、初期状態の磁化方向が平行状態にあるメモリセルに対して、同じデータが書き込まれる場合であっても、反平行状態側に書き込み電流を流した後に、平行状態に電流を流す必要がある。その結果、特許文献１が開示する技術を適用すると、通常情報を記憶する磁気ランダムアクセスメモリの消費電流が増加する。
【課題を解決するための手段】
【０００８】
本発明の第１の視点によれば、それぞれが、第１及び第２端子間に接続され、前記第１及び第２端子間の第１の方向に第１電流を印加することにより第１抵抗状態に書き込まれ、前記第１及び第２端子間の前記第１の方向とは逆の第２の方向に第２電流を印加することにより第２抵抗状態に書き込まれる複数のメモリセルを、それぞれ含む第１及び第２メモリセルアレイと、供給された通常情報に基づいて、エラー訂正情報を生成するエラー訂正回路と、制御回路と、を備え、前記第１メモリセルアレイは、通常情報を記憶するように構成され、前記第２メモリセルアレイは、エラー訂正情報を記憶するように構成され、前記制御回路は、前記エラー訂正回路がデータ情報に基づいてエラー訂正情報を生成する第１期間に、前記第２メモリセルアレイに含まれるメモリセルに対して、前記第１及び第２端子間の前記第１の方向又は前記第２の方向に第３電流を印加する、半導体装置が提供される。
【０００９】
本発明の第２の視点によれば、供給された情報に基づきエラー訂正情報を生成し、前記エラー訂正情報を生成する訂正情報生成期間に、エラー訂正情報を記憶するように構成されたメモリセルアレイに含まれる複数のメモリセルのそれぞれに、アシスト電流を印加する、エラー訂正情報書き込み方法が提供される。
【発明の効果】
【００１０】
本発明の各視点によれば、記憶データの反転を防止しつつ、エラー訂正情報の書き込み処理時間の短縮に寄与する半導体装置及びエラー訂正情報書き込み方法が、提供される。
【図面の簡単な説明】
【００１１】
【図１】第１の実施形態に係るメモリセルアレイ２とその周辺回路のブロック図の一例である。
【図２】第１の実施形態に係る半導体装置１の全体構成を示すブロック図である。
【図３】プリチャージ回路６１、メモリセルアレイ６２、セレクタ６３の内部構成と接続形態の一例を示す図である。
【図４】ワード線ＷＬ０とローカルビット線ＬＢＬ０が選択された場合の各信号の動作波形の一例を示す図である。
【図５】データビットのリード・ライトに使用する主たる回路構成の一例を示す図である。
【図６】チェックビットのリード・ライトに使用する主たる回路構成の一例を示す図である。
【図７】アクティブコマンドを受け付けた後のＥＣＣ制御の一例を示すフローチャートである。
【図８】プリチャージコマンドを受け付けた後のＥＣＣ制御の一例を示すフローチャートである。
【図９】半導体装置１の動作波形の一例を示す図である。
【図１０】第２の実施形態に係る半導体装置１ａのデータビットのリード・ライトに使用する主たる回路構成の一例を示す図である。
【図１１】半導体装置１ａのチェックビットのリード・ライトに使用する主たる回路構成の一例を示す図である。
【図１２】半導体装置１ａの動作波形の一例を示す図である。
【図１３】第３の実施形態に係る情報処理システムの構成を示すブロック図である。
【発明を実施するための形態】
【００１２】
［第１の実施形態］
第１の実施形態について、図面を用いて説明する。
【００１３】
図１は、メモリセルアレイ２とその周辺回路のブロック図の一例である。
【００１４】
詳しくは、後述するが、第１乃至第３の各実施形態では、それぞれが、第１及び第２端子間（例えば、図３のＬＢＬ０とＶＣＳ）に接続され、第１及び第２端子間の第１の方向に第１電流を印加することにより第１抵抗状態に書き込まれ、第１及び第２端子間の第１の方向とは逆の第２の方向に第２電流を印加することにより第２抵抗状態に書き込まれる複数のメモリセル（図３の６２）を、それぞれ含む第１及び第２メモリセルアレイ（図１のデータビット用セルアレイ３５−１、チェックビット用セルアレイ３５−２）と、供給された通常情報に基づいて、エラー訂正情報を生成するエラー訂正回路（図１の回路５１−５３）と、制御回路（図１のチップ制御回路１３）と、を備え、第１メモリセルアレイ（図１のデータビット用セルアレイ３５−１）は、通常情報を記憶するように構成され、第２メモリセルアレイ（図１のチェックビット用セルアレイ３５−２）は、エラー訂正情報を記憶するように構成され、制御回路は、前記エラー訂正回路がデータ情報に基づいてエラー訂正情報を生成する第１期間に、前記第２メモリセルアレイに含まれるメモリセルに対して、第１及び第２端子間の前記第１の方向又は前記第２の方向に第３電流を印加する、半導体装置が提供される。
【００１５】
同様に、詳しくは、後述するが、第１乃至第３の実施形態では、供給された情報（図１のデータ入出力や図２のＤＱの情報）に基づきエラー訂正情報を生成し、エラー訂正情報を生成する訂正情報生成期間に、エラー訂正情報を記憶するように構成されたメモリセルアレイ（図１のチェックビット用セルアレイ３５−２）に含まれる複数のメモリセルのそれぞれに、アシスト電流を印加する、エラー訂正情報書き込み方法が提供される。
【００１６】
図２は、第１の実施形態に係る半導体装置１の全体構成を示すブロック図である。
【００１７】
図２に示す半導体装置１は、メモリセルアレイを備える。このメモリセルアレイは、抵抗変化型メモリセルとしてスピン注入磁化反転書き込みを行う磁気ランダムアクセスメモリ（ＳＴＴ−ＲＡＭ）を使用したメモリセルアレイ２ａ〜２ｈを備える。メモリセルアレイは、複数のバンク、例えば、バンク０から７、で構成される。なお、以降の説明において、メモリセルアレイ２ａ〜２ｈを区別する特段の理由がない場合には、単に「メモリセルアレイ２」と表記する。
【００１８】
半導体装置１は、ＥＣＣ回路（図２では図示省略）を備え、オンチップＥＣＣ機能を備える。ＥＣＣ機能では、メモリセルからデータを読み出す際に、予め記憶されたチェックビット（ＥＣＣ訂正符号、エラー訂正情報などと呼ぶ）と、読み出されたデータと、を演算することで、読み出しデータのエラーを訂正すること（誤り訂正）が可能である。
【００１９】
半導体装置１は、外部端子として外部クロック端子ＣＫ、／ＣＫ、クロックイネーブル端子ＣＫＥ、コマンド端子／ＣＳ、／ＲＡＳ、／ＣＡＳ、／ＷＥ、データ入出力端子ＤＱを備える。なお、本明細書において信号名の先頭に「／」が付されている信号は、対応する信号の反転信号又はロウアクティブな信号であることを意味している。従って、例えば、ＣＫ、／ＣＫは互いに相補の信号である。
【００２０】
クロック発生回路１１は、外部クロック信号ＣＫ、／ＣＫとクロックイネーブル信号ＣＫＥを入力する。クロック発生回路１１は、半導体装置１内部で必要とされる内部クロック信号を発生し、各部に供給する。
【００２１】
コマンド端子／ＣＳ、／ＲＡＳ、／ＣＡＳ、／ＷＥには、それぞれチップセレクト信号／ＣＳ、ロウアドレスストローブ信号／ＲＡＳ、カラムアドレスストローブ信号／ＣＡＳ、ライトイネーブル信号／ＷＥが供給される。これらのコマンド信号は、コマンドデコーダ１２に供給される。コマンドデコーダ１２は、入力したコマンド信号をデコードし、チップ制御回路１３に供給する。
【００２２】
モードレジスタ１４は、半導体装置１の動作モードが設定される。チップ制御回路１３は、コマンドデコーダ１２の出力及びモードレジスタ１４に設定された動作モードを入力し、それらに基づいて各種制御信号を生成する。チップ制御回路１３は、生成した各種制御信号を、アレイ制御回路１５、リードライトアンプ（ＲＷアンプ）１６、ラッチ回路１７、データ入出力バッファ１８、カラムアドレスバッファ１９、バンク及びロウアドレスバッファ２０に供給する。
【００２３】
アドレス信号ＡＤＤは、バンクを特定するバンクアドレスと、ワード線ＷＬを特定するロウアドレスと、ビット線（グローバルビット線ＧＢＬ、ローカルビット線ＬＢＬにより構成される）を特定するカラムアドレスと、を含む。アドレス信号ＡＤＤのうち、バンク及びロウアドレスは、バンク及びロウアドレスバッファ２０に供給され、カラムアドレスはカラムアドレスバッファ１９に供給される。
【００２４】
バンク及びロウアドレスバッファ２０は、バンク０〜７のいずれかを特定してロウアドレスを出力する。また、バンク及びロウアドレスバッファ２０が出力するロウアドレスは、ロウデコーダ２１によりデコードされ、このデコードに応じて、いずれかのワード線ＷＬが選択される。
【００２５】
カラムアドレスバッファ１９が出力するカラムアドレスは、カラムデコーダ２２によりデコードされ、このデコードに応じて、複数のビット線のうち、カラムアドレスに対応するビット線が選択される。選択されたビット線に対応するメモリセルアレイ内のラッチ回路（図示せず）は、Ｉ／Ｏ線対８９を介してリードライトアンプ１６に接続される。
【００２６】
リードライトアンプ１６は、ラッチ回路１７及びデータ入出力バッファ１８を介して、外部端子であるデータ入出力端子ＤＱと接続されているリードアンプ回路及びライトアンプ回路である。ラッチ回路１７及びデータ入出力バッファ１８には、クロック発生回路１１から内部クロック信号が供給されメモリセルアレイとデータ入出力端子ＤＱの間のデータの入出力のタイミングが制御される。
【００２７】
次に、メモリセルアレイ２とその周辺回路について説明する。
【００２８】
図１は、メモリセルアレイ２とその周辺回路のブロック図の一例である。
【００２９】
上述のＥＣＣ機能は、センスアンプ＆ＥＣＣ制御回路３４、シンドローム生成回路５１、判定回路５２、及びシンドロームデコーダ５３で構成されるＥＣＣ回路で実現される。ＥＣＣ回路、それに関連する回路、及びそれをつなぐ信号経路は、説明上、図１のように図示するが、これに限らず、適宜、変更可能である。
【００３０】
また、ライトやリード等の動作時に、チップ制御回路１３にはコマンドデコーダ１２が生成するコマンド信号が入力される。チップ制御回路１３は、コマンド信号に応じて、リードライトアンプ１６と、ロウデコーダ２１と、カラムデコーダ２２と、プリチャージ回路３１−１、３１−２、３１−３と、セレクタ３２、３３と、センスアンプ＆ＥＣＣ制御回路３４の各部を制御するための制御信号を生成する。
【００３１】
カラムアドレスバッファ１９、バンク＆ロウアドレスバッファ２０が出力するアドレス信号は、プリチャージ回路３１−１〜３１−３と、ロウデコーダ２１と、セレクタ３２及び３３と、カラムデコーダ２２と、に送られる。アドレス信号を入力するこれらの回路は、入力されたアドレス信号に従ってメモリセルアレイ２に含まれるメモリセルの選択を行う。
【００３２】
メモリセルアレイ２は、データビット用セルアレイ３５−１と、チェックビット用セルアレイ３５−２と、リファレンス用セルアレイ３５−３と、を含んで構成される。
【００３３】
データビット用セルアレイ３５−１は、半導体装置１の外部から供給されるデータを記憶するメモリセルを含む領域である。即ち、データビット用セルアレイ３５−１は、複数のメモリセルを含み、データ情報を記憶するように構成されている。
【００３４】
チェックビット用セルアレイ３５−２は、データビット用セルアレイ３５−１が記憶するデータに対するチェックビット（ＥＣＣ訂正ビット）を記憶するメモリセルを含む領域である。即ち、チェックビット用セルアレイ３５−２は、複数のメモリセルを含み、エラー訂正情報を記憶するように構成されている。
【００３５】
リファレンス用セルアレイ３５−３は、データビット用セルアレイ３５−１やチェックビット用セルアレイ３５−２に含まれるメモリセルからデータを読み出す際に、読み出し信号と大小が比較されるリファレンス信号を生成する際に使用されるメモリセルを含む領域である。具体的には、論理データの「０」と「１」に対応する抵抗値の中間の抵抗値を持つメモリセルがリファレンス用セルアレイ３５−３に含まれる。あるいは、論理データの「０」と「１」に対応する抵抗値を持つ２個のメモリセルがリファレンス用セルアレイ３５−３に含まれ、その抵抗値の中間値からリファレンス信号を生成してもよい。
【００３６】
なお、以降の説明において、データビット用セルアレイ３５−１に含まれるメモリセルをデータビット用セル、チェックビット用セルアレイ３５−２に含まれるメモリセルをチェックビット用セル、リファレンス用セルアレイ３５−３に含まれるメモリセルをリファレンス用セル、とそれぞれ表記する。また、データビット用セルアレイの１ページは、５１２ビットとする。さらに、１ページ分の５１２ビットに対するチェックビットは１０ビットとする。
【００３７】
メモリセルアレイ２に含まれる各領域は、外部から供給されたアクティブコマンド及びロウアドレスに応じてロウデコーダ２１により選択されたワード線ＷＬ（図示せず）により、複数のデータビット用セル、チェックビット用セル及びリファレンス用セルが選択される。これらのセルのうち、セレクタ３２により選択された５１２個のデータビット用セルがビット線（図示せず）を介してデータビット用センスアンプ（ＳＡＤ）３６−１〜３６−５１２の一方の入力端に接続される。同様に、セレクタ３３により選択された１０個のチェックビット用セルがチェックビット用センスアンプ（ＳＡＣ）３７−１〜３７−１０の一方の入力端に接続される。
【００３８】
なお、以降の説明において、データビット用センスアンプ３６−１〜３６−５１２を区別する特段の理由がない場合には、単に「データビット用センスアンプ３６」と表記する。同様に、チェックビット用センスアンプ３７−１〜３７−１０を区別する特段の理由がない場合には、単に「チェックビット用センスアンプ３７」と表記する。
【００３９】
リファレンス用セルは、リファレンス信号発生回路３８に接続されている。リファレンス信号発生回路３８は、リファレンス用セルから読み出した信号に基づいてリファレンス信号（参照信号）を生成する。リファレンス信号発生回路３８は、生成したリファレンス信号を、データビット用センスアンプ３６、チェックビット用センスアンプ３７の他方の入力端に供給する。
【００４０】
ここで、データビット用セルとチェックビット用セルから読み出される信号は、信号電圧又は信号電流の形式であって、リファレンス信号は、対応する参照電圧又は参照電流として、データビット用センスアンプ３６、チェックビット用センスアンプ３７に供給される。本実施形態では、信号電流の形式のリファレンス信号を用いるため、リファレンス信号発生回路３８が生成するリファレンス信号をリファレンス電流ＩＲＥＦと表記する。
【００４１】
また、本実施形態では、リファレンス電流ＩＲＥＦが、５２２個のセンスアンプ（データビット用センスアンプ３６、チェックビット用センスアンプ３７）により共有される場合について説明するが、リファレンス信号の供給形態を限定する趣旨ではない。例えば、５２２個のセンスアンプを複数のブロックに分割し、複数のリファレンス信号を生成し、各ブロックに供給する形態であってもよい。
【００４２】
データビット用センスアンプ３６によりセンス増幅された５１２ビットのデータビットは、データビット用レジスタ（ＲＧＤ）３９−１〜３９−５１２に書き込まれる。同様に、チェックビット用センスアンプ３７によりセンス増幅された１０ビットのチェックビットは、チェックビット用レジスタ（ＲＧＣ）４０−１〜４０−１０に書き込まれる。データビット用レジスタ３９−１〜３９−５１２は、データ情報を、一時的に保持する手段である。チェックビット用レジスタ４０−１〜４０−１０は、エラー訂正情報を、一時的に保持する手段である。
【００４３】
なお、以降の説明において、データビット用レジスタ３９−１〜３９−５１２を区別する特段の理由がない場合には、単に「データビット用レジスタ３９」と表記する。同様に、チェックビット用レジスタ４０−１〜４０−１０を区別する特段の理由がない場合には、単に「チェックビット用レジスタ４０」と表記する。
【００４４】
（エラー判定動作）
各レジスタに書き込まれたデータビットとチェックビットは、シンドローム生成回路５１に入力される。シンドローム生成回路５１は、受け付けたデータビットとチェックビットを用いて、１０ビットのシンドロームを計算する。なお、本実施形態に係るシンドローム生成回路５１は、１ビットのエラーを訂正する能力を備えるハミング符号を用いてシンドロームを生成するものとする。但し、シンドローム生成回路５１の生成するシンドロームを限定する趣旨ではない。
【００４５】
シンドローム生成回路５１は、計算結果を判定回路５２に出力する。判定回路５２に入力された１０ビットのシンドロームの全てのビットが「０」であれば、読み出した５１２ビットのデータビットと１０ビットのチェックビットに誤りは存在しないと判定される。一方、１０ビットのシンドロームのうち「１」が、１ビット以上存在する場合には、読み出した５１２ビットのデータビットと１０ビットのチェックビットに誤りが存在すると判定される。
【００４６】
この場合には、判定回路５２は、シンドロームデコーダ５３に対して、エラー訂正を指示する。具体的には、シンドロームデコーダ５３は、１０ビットのシンドロームをデコードし、誤りが存在するビットに対応するレジスタを特定する。
【００４７】
シンドロームデコーダ５３は、特定されたレジスタが記憶するデータを反転することで、エラー訂正を行う。具体的には、シンドロームデコーダ５３は、誤りの存在が特定されたデータビット用レジスタ３９に対して、反転制御信号ＩＮＶを供給することで、当該レジスタが保持するデータの反転を指示する。なお、反転制御信号ＩＮＶは、データビット用レジスタ３９ごとに供給される信号である。
【００４８】
なお、以降の説明において、シンドローム生成回路５１と、判定回路５２と、シンドロームデコーダ５３とからなる機能モジュールを、ＥＣＣ回路ブロック５０と表記する。ＥＣＣ回路ブロック５０は、メモリセルアレイから読み出したデータ情報、又は、外部から書き込まれるデータ情報に基づいて、エラー訂正を行う手段である。
【００４９】
センスアンプ＆ＥＣＣ制御回路３４は、データビット用センスアンプ３６、チェックビット用センスアンプ３７、ＥＣＣ回路ブロック５０に対する包括的な制御を実行する。具体的には、センスアンプ＆ＥＣＣ制御回路３４は、チップ制御回路１３から供給される制御信号に応じて、リードパルス信号ＲＰ、ライトパルス信号／ＷＰを生成する。これらの信号の詳細は後述する。
【００５０】
ＥＣＣ回路ブロック５０によるエラー訂正が終了すると、半導体装置１は、ページモードによるアクセス期間に遷移する。
【００５１】
（通常動作）
アクセス期間中の半導体装置１は、外部から供給されるリード・ライトコマンド、カラムアドレスに応答し、データビット用レジスタ３９−１〜３９−５１２のうち、アクセス対象となる少なくとも１以上のレジスタに対する読み出し・書き込みを行う。その後、外部から供給されるプリチャージコマンドに応答し、データビット用レジスタ３９−１〜３９−５１２が保持するデータが、データビット用セルに書き込まれる。
【００５２】
（エラー訂正情報の生成動作）
外部からライトコマンドが供給された場合（メモリセルにデータを書き込む場合）には、メモリセルへのアクセスと並行して、シンドローム生成回路５１によりチェックビットが生成され、生成されたチェックビットがチェックビット用レジスタ４０に書き込まれる。その後、チェックビット用レジスタ４０が保持するチェックビットは、後述するデータ書き込み方法に従い、チェックビット用セルに書き込まれる。なお、データビット用セルやチェックビット用セルへのデータの書き込みは、後述する書き込み制御回路７１、７３がグローバルビット線ＧＢＬを駆動することで行われる。
【００５３】
（通常情報の書き込み）
データビット用書き込み回路（ＷＤＤ）４１−１〜４１−５１２は、それぞれ、対応するレジスタが保持するデータをメモリセルに書き込むための手段である。データビット用書き込み回路（ＷＤＤ）４１−１〜４１−５１２は、外部から供給されるデータを、データビット用セルアレイ３５−１に書き込む。
【００５４】
（エラー訂正情報の書き込み）
チェックビット用書き込み回路（ＷＤＣ）４２−１〜４２−１０は、それぞれ、対応するレジスタが保持するデータをメモリセルに書き込むための手段である。チェックビット用書き込み回路（ＷＤＣ）４２−１〜４２−１０は、ＥＣＣ回路で生成されたエラー訂正情報を、チェックビット用セルアレイ３５−２に書き込み。
【００５５】
なお、以降の説明において、データビット用書き込み回路４１−１〜４１−５１２を区別する特段の理由がない場合には、単に「データビット用書き込み回路４１」と表記する。同様に、チェックビット用書き込み回路４２−１〜４２−１０を区別する特段の理由がない場合には、単に「チェックビット用書き込み回路４２」と表記する。データビット用書き込み回路４１及びチェックビット用書き込み回路４２の詳細は後述するが、これらの回路は、グローバルビット線ＧＢＬを駆動するドライバを含んで構成される。
【００５６】
次に、プリチャージ回路、メモリセルアレイ、セレクタの構成及び接続について説明する。
【００５７】
図３は、プリチャージ回路６１、メモリセルアレイ６２、セレクタ６３の内部構成と接続形態の一例を示す図である。
【００５８】
なお、プリチャージ回路６１は、プリチャージ回路３１−１又は３１−２の一部とする。同様に、メモリセルアレイ６２は、データビット用セルアレイ３５−１又はチェックビット用セルアレイ３５−２の一部とする。セレクタ６３は、セレクタ３２又は３３の一部とする。
【００５９】
図３を参照すると、メモリセルアレイ６２はｍ（ｍは正の整数、以下同じ）本のワード線ＷＬ０〜ＷＬｍ−１と、ｋ（ｋは正の整数、以下同じ）本のローカルビット線ＬＢＬ０〜ＬＢＬｋ−１と、それらの交点に配置されるｍ×ｋ個のメモリセル６４から構成される。メモリセル６４は、磁気トンネル接合素子６５と、選択トランジスタ６６と、から構成されている。
【００６０】
図３に示すように、メモリセル６４のそれぞれは、第１端子（例えば、コモンソース電圧ＶＣＳを供給する電源線との接続端）と第２端子（例えば、ローカルビット線ＬＢＬの配線との接続端）の間に接続されている。また、メモリセル６４のそれぞれは、第１及び第２端子間の第１の方向に第１電流を印加することにより第１抵抗状態（例えば、低抵抗状態）に書き込まれ、第１及び第２端子間の第１の方向とは逆の第２の方向に第２電流を印加することにより第２抵抗状態（例えば、高抵抗状態）に書き込まれる。
【００６１】
プリチャージ回路６１は、ｋ個のプリチャージトランジスタＰＣＦＥＴ０〜ＰＣＦＥＴｋ−１を含んで構成される。プリチャージ回路６１に含まれる各プリチャージトランジスタＰＣＦＥＴのそれぞれは、対応するプリチャージ信号ＰＣ０〜ＰＣｋ−１をゲートにて受け付ける。各プリチャージトランジスタＰＣＦＥＴは、ゲートに接続されたプリチャージ信号ＰＣがハイレベルに制御されると、ローカルビット線ＬＢＬをコモンソース電圧ＶＣＳにプリチャージする手段である。
【００６２】
１本のローカルビット線ＬＢＬが選択される場合には、選択される１本のローカルビット線ＬＢＬに対応するプリチャージ信号ＰＣに限りローレベルに制御されることで、選択されたローカルビット線ＬＢＬはコモンソース電圧ＶＣＳを供給する電源線から切り離される。
【００６３】
セレクタ６３は、ｋ個の接続トランジスタＳＷＦＥＴ０〜ＳＷＦＥＴｋ−１を含んで構成される。セレクタ６３に含まれる各接続トランジスタＳＷＦＥＴのそれぞれは、対応する接続信号ＳＷ０〜ＳＷｋ−１をゲートにて受け付ける。各接続トランジスタＳＷＦＥＴは、半導体装置１がプリチャージ状態の場合には、接続信号ＳＷがローレベルに制御され、各ローカルビット線ＬＢＬをグローバルビット線ＧＢＬから切り離す手段である。
【００６４】
１本のローカルビット線ＬＢＬが選択される場合には、選択される１本のローカルビット線ＬＢＬに対応する接続信号ＳＷに限りハイレベルに制御されることで、選択されたローカルビット線ＬＢＬがグローバルビット線ＧＢＬに接続される。１本のワード線ＷＬが選択され活性化された状態においては、選択された１本のローカルビット線ＬＢＬはコモンソース電圧ＶＣＳから切り離され、且つ、グローバルビット線ＧＢＬに接続される。なお、その際、残余の非選択なローカルビット線ＬＢＬはコモンソース電圧ＶＣＳにプリチャージされた状態が維持される。
【００６５】
選択されたワード線ＷＬと選択されたローカルビット線ＬＢＬに接続する１個のメモリセル６４は、選択トランジスタ６６の主端子（ソース又はドレイン）がコモンソース電圧ＶＣＳに接続され、磁気トンネル接合素子６５の一端がローカルビット線ＬＢＬ及びグローバルビット線ＧＢＬに接続される。一方、選択されたワード線ＷＬと非選択なローカルビット線ＬＢＬに接続する残余のｋ−１個のメモリセル６４は、両端がコモンソース電圧ＶＣＳに接続されるため、選択トランジスタ６６がオンしたとしても、磁気トンネル接合素子６５には電圧が印加されない。そのため、磁気トンネル接合素子６５に電流が流れることもないため、メモリセル６４が記憶するデータが破壊されることがない。
【００６６】
図４は、ワード線ＷＬ０とローカルビット線ＬＢＬ０が選択された場合の各信号の動作波形の一例を示す図である。
【００６７】
図４の時刻Ｔ０１〜Ｔ０２の期間において、後述するようにアクティブコマンドに応答して高抵抗状態に対応するデータ「０」が読み出され、その後ページアクセス期間を経て、プリチャージコマンドに応答して低抵抗状態に対応するデータ「１」が書き込まれる。
【００６８】
（データ「０」の読み出し動作）
プリチャージ期間では、プリチャージ信号ＰＣ０〜ＰＣｋ−１は電圧ＶＰＰに制御され、接続信号ＳＷ０〜ＳＷｋ−１とワード線ＷＬ０〜ＷＬｍ−１は電圧ＶＳＳに制御されている。また、ローカルビット線ＬＢＬは、コモンソース電圧ＶＣＳにプリチャージされており、グローバルビット線ＧＢＬは後述するＧＢＬドライバ７２、７４によりコモンソース電圧ＶＣＳにプリチャージされている。
【００６９】
その後のセル選択期間では、プリチャージ信号ＰＣ０が電圧ＶＳＳに、接続信号ＳＷ０及びワード線ＷＬ０が電圧ＶＰＰに、それぞれ制御されることで、ローカルビット線ＬＢＬ０がグローバルビット線ＧＢＬに接続される。その際、センスラッチ期間の開始に先立ち、グローバルビット線ＧＢＬとローカルビット線ＬＢＬ０の電位は、読み出し電圧ＶＲＥＡＤに設定・保持され、メモリセルに読み出し電流ＩＲＥＡＤ０が流れる。
【００７０】
読み出し電流ＩＲＥＡＤ０は、高抵抗状態にあるメモリセルに対応した小さな電流値であるので、リファレンス電流ＩＲＥＦの電流値よりも小さい。
【００７１】
その後のセンスラッチ期間では、読み出し電流ＩＲＥＡＤ０とリファレンス電流ＩＲＥＦの電流差が、センスアンプによりセンス増幅され、データビット用レジスタ３９にデータ「０」が保持される。なお、センスラッチ期間では、グローバルビット線ＧＢＬとローカルビット線ＬＢＬ０の電位は、実質的に読み出し電圧ＶＲＥＡＤに保持される。
【００７２】
センスラッチ期間の終了に伴い、グローバルビット線ＧＢＬとローカルビット線ＬＢＬ０の電位は、コモンソース電圧ＶＣＳとなる。その後、半導体装置１はページアクセス期間に移行する。
【００７３】
ページアクセス期間では、リードコマンドに対応してデータビット用レジスタ３９からデータが読み出される。あるいは、ライトコマンドに対応してデータビット用レジスタ３９にデータが書き込まれる。ページアクセスは、データビット用レジスタ３９に対して行われ、グローバルビット線ＧＢＬの電位はコモンソース電圧ＶＣＳに保持され、各種の制御信号の状態も変化しない。即ち、ページアクセス期間では、メモリセルへのアクセスは生じない。
【００７４】
本実施形態においては、後述するように、カラムアクセスにより書き込みが行われたデータビット用レジスタ３９のデータと全チェックビットのデータが、プリチャージコマンドに応じてメモリセルに書き込まれる。
【００７５】
（データ「１」の書き込み動作）
セル書き込み期間では、データ「１」の書き込みに対応して、データビット用書き込み回路４１が、グローバルビット線ＧＢＬとローカルビット線ＬＢＬ０の電位を電圧ＶＤＤに駆動し、データビット用セルにデータ「１」を書き込む。
【００７６】
その後の選択解除期間では、ワード線ＷＬ０と接続信号ＳＷ０は、電圧ＶＳＳに制御される。なお、チェックビットをチェックビット用セルに書き込む際の制御方法は後述する。
【００７７】
その後のプリチャージ期間では、プリチャージ信号ＰＣ０が電圧ＶＰＰに制御され、ローカルビット線ＬＢＬ０の電位はコモンソース電圧ＶＣＳにプリチャージされる。また、グローバルビット線ＧＢＬの電位は、データビット用書き込み回路４１、チェックビット用書き込み回路４２により、コモンソース電圧ＶＣＳにプリチャージされる。
【００７８】
図４の時刻Ｔ０２〜Ｔ０３の期間において、アクティブコマンドに応答して低抵抗状態に対応するデータ「１」が読み出され、その後ページアクセス期間を経て、プリチャージコマンドに応答して高抵抗状態に対応するデータ「０」が書き込まれる。図４の時刻Ｔ０２〜Ｔ０３の期間におけるプリチャージ期間からセル選択期間での動作は、データ「０」を読み出す際の動作と相違する点はないので、その説明を省略する。
【００７９】
（データ「１」の読み出し動作）
データ「１」を読み出す場合には、センスラッチ期間の開始に先立ち、グローバルビット線ＧＢＬとローカルビット線ＬＢＬ０の電位は、読み出し電圧ＶＲＥＡＤに設定・保持され、メモリセルに読み出し電流ＩＲＥＡＤ１が流れる。読み出し電流ＩＲＥＡＤ１は、低抵抗状態にあるメモリセルに対応した大きな電流値であるので、リファレンス電流ＩＲＥＦの電流値よりも大きい。
【００８０】
センスラッチ期間では、読み出し電流ＩＲＥＡＤ１とリファレンス電流ＩＲＥＦの電流差が、センスアンプによりセンス増幅され、データビット用レジスタ３９にデータ「１」が保持される。このセンスラッチ期間では、グローバルビット線ＧＢＬとローカルビット線ＬＢＬ０の電位は、実質的に読み出し電圧ＶＲＥＡＤに保持されている。センスラッチ期間の終了に伴い、グローバルビット線ＧＢＬとローカルビット線ＬＢＬ０の電位は、コモンソース電圧ＶＣＳとなる。
【００８１】
その後、半導体装置１はページアクセス期間に移行するが、その際の動作は、データ「０」を読み出す際の動作と相違する点は存在しないので、その説明を省略する。
【００８２】
（データ「０」の書き込み動作）
プリチャージコマンドに対応するセル書き込み期間では、データ「０」の書き込みに対応して、データビット用書き込み回路４１が、グローバルビット線ＧＢＬとローカルビット線ＬＢＬ０の電位を電圧ＶＳＳに駆動し、データビット用セルにデータ「０」を書き込む。その後の選択解除期間のプリチャージ期間の動作は、データ「０」を読み出す際の動作と相違する点は存在しないので、その説明を省略する。
【００８３】
図５は、データビットのリード・ライトに使用する主たる回路構成の一例を示す図である。
【００８４】
なお、図５におけるサフィックス「ｉ」は、図１に対応して１〜５１２のいずれかの値とする。
【００８５】
図５を参照すると、データビット用セルへのアクセスには、ＥＣＣ回路ブロック５０と、カラムデコーダ２２と、データビット用センスアンプ３６と、データビット用レジスタ３９と、書き込み制御回路７１と、ＧＢＬドライバ７２と、が使用される。なお、書き込み制御回路７１とＧＢＬドライバ７２は、データビット用書き込み回路４１に含まれる回路である。
【００８６】
図５に示すＥＣＣ回路ブロック５０は、図１に示すＥＣＣ回路、つまり、センスアンプ＆ＥＣＣ制御回路３４、シンドローム生成回路５１、判定回路５２、及びシンドロームデコーダ５３に対応する。特に、図５で示すデータビット用レジスタ（ＲＧＤ）３９と、ＥＣＣ回路ブロック５０との間に接続されるＩＮＶｉ線は、図１のデータビット用レジスタＲＧＤ３９とシンドロームデコーダ５３との間の信号線（５１２本のうちの1本）に対応する。図５で示すデータビット用レジスタ（ＲＧＤ）３９の／ＩＯＤと、ＥＣＣ回路ブロック５０との間に接続される信号線は、図１のデータビット用レジスタ（ＲＧＤ）とシンドローム生成回路５１との間をカラムデコーダ２２を通過して接続する信号線に対応する。
【００８７】
（データビット関連回路の動作説明）
ワード線ＷＬ及びローカルビット線ＬＢＬによりデータビット用セルが選択された状態にて、リードパルス信号ＲＰがハイレベルに制御されると、Ｎチャネル型ＭＯＳトランジスタ８１が導通する。その結果、グローバルビット線ＧＢＬとデータビット用センスアンプ３６が接続され、データビット用センスアンプ３６は、グローバルビット線ＧＢＬに流れる読み出し電流ＩＲＥＡＤと、リファレンス電流ＩＲＥＦの電流値を比較し、その大小関係に応じた読み出しデータを出力する。データビット用レジスタ３９は、出力された読み出しデータをラッチすると共に、入出力端子ＩＯＤと反転入出力端子／ＩＯＤにより外部とデータの授受を行う。
【００８８】
カラムデコーダ２２には、グローバルビット線ＧＢＬごとに対応してＮチャネル型ＭＯＳトランジスタＮ０１及びＮ０２が含まれている。Ｎチャネル型ＭＯＳトランジスタＮ０１及びＮ０２は、ゲートによりＹスイッチ選択信号ＹＳを受け付け、データビット用レジスタ３９の入出力端子ＩＯＤ及び反転入出力端子／ＩＯＤと、Ｉ／Ｏ線対８９と、を選択的に接続する。Ｙスイッチ選択信号ＹＳにより選択されたデータビット用レジスタ３９と外部との間で、データの入出力が行われる。なお、Ｙスイッチ選択信号ＹＳは、カラムデコーダ２２がカラムアドレスをデコードすることで得られる信号である。
【００８９】
また、データビット用レジスタ３９の反転入出力端子／ＩＯＤは、ＥＣＣ回路ブロック５０とも接続されている。ＥＣＣ回路ブロック５０は、反転入出力端子／ＩＯＤから供給されるデータに基づいて、シンドロームの計算、エラー判定、シンドロームデコードを行う。なお、エラーが検出されたデータビット用レジスタ３９は、対応する反転制御信号ＩＮＶにより記憶データの反転が行われる。
【００９０】
書き込み制御回路７１は、データビット用書き込み回路４１に含まれる回路であって、４つのＮチャネル型ＭＯＳトランジスタと、２つのＰチャネル型ＭＯＳトランジスタと、インバータ回路ＩＮＶ０１と、否定論理和回路ＮＯＲ０１と、を含んで構成される。
【００９１】
書き込み制御回路７１は、以下の２種のデータに限り、プリチャージコマンドに応答した書き込み期間においてデータビット用セルに書き込まれるように制御する。
【００９２】
第１のデータは、データビット用レジスタ３９が保持するデータであって、ＥＣＣ回路ブロック５０により訂正されたデータである。
【００９３】
第２のデータは、ページアクセス期間にＹスイッチ選択信号ＹＳにより選択され、且つ、書き込みが行われたデータビット用レジスタ３９が保持するデータである。
【００９４】
具体的には、エラー訂正のため、ＥＣＣ回路ブロック５０により反転制御信号ＩＮＶがハイレベルに制御された場合（第１のデータ）に、ノードＡ０１がローレベルに変化する。あるいは、ページアクセス期間中に書き込みコマンドが投入されることで、反転ライトイネーブル信号ＷＥがハイレベルに制御され、且つ、カラムアドレスにより選択されたＹスイッチ選択信号ＹＳがハイレベルに制御された場合（第２のデータ）に、ノードＡ０１がローレベルに変化する。なお、ノードＡ０１とは、図５に示すように、Ｐチャネル型ＭＯＳトランジスタＰ０１、Ｐ０２、Ｎチャネル型ＭＯＳトランジスタＮ０５、ＮＯ６の接続ノードである。
【００９５】
書き込み制御回路７１は、プリチャージコマンドに対応してセル書き込み期間に遷移すると、ライトパルス信号／ＷＰが、ローレベルに制御されることで、ＧＢＬドライバ７２を駆動する。ＧＢＬドライバ７２は、２つのＮチャネル型ＭＯＳトランジスタと、４つのＰチャネル型ＭＯＳトランジスタと、インバータ回路ＩＮＶ０２と、を含んで構成される。ＧＢＬドライバ７２は、反転入出力端子／ＩＯＤから出力されるデータに応じて、グローバルビット線ＧＢＬを電圧ＶＤＤ又はＶＳＳに駆動し、データビット用セルにデータを書き込む。即ち、ＥＣＣ回路ブロック５０によるチェックビットの生成とは独立して、データビットはデータビット用セルに書き込まれる。
【００９６】
このような制御により、１ページ分の５１２個のデータビット用レジスタ３９のうち、書き込みが行われたレジスタとエラー訂正が行われたレジスタがセル書き込み動作の対象となる。つまり、データビット用レジスタ３９−１〜３９−５１２が保持するデータのうち、外部から供給されたデータにより更新されたデータとＥＣＣ回路ブロック５０によりエラー訂正されたデータが、データビット用セルアレイ３５−１に含まれるメモリセルに書き込まれる。その結果、１ページ分の５１２個のデータビット用セルのうち、実際に書き込み状態に制御され、書き込み電流が流れるデータビット用セルの個数が削減され、半導体装置１の消費電力が減少する。
【００９７】
また、ページアクセス期間では、データビット用レジスタ３９が保持するデータに限り書き込みが行われるので、比較的書き込み時間の長いＳＴＴ−ＲＡＭのメモリセルを用いたとしても、カラムアクセスのサイクル時間が増加することはない。上記の制御を行うために必要な回路面積（図５に示す各回路の面積）は、例えば、ＤＲＡＭ（Dynamic Random Access Memory）のようなセンスアンプと比較すれば増加する。しかし、図３に示すように、グローバルビット線ＧＢＬの配線ピッチは、ローカルビット線ＬＢＬの配線ピッチの数倍〜数十倍に緩和されるため、これらのビット線に接続する回路の配線ピッチもＤＲＡＭと比較すると緩和される。そのため、図５に示す各回路のレイアウトは容易に行うことができると共に、ＤＲＡＭと比較すれば、必要な回路の数が減少するのでチップ面積の増加が抑制できる。
【００９８】
図６は、チェックビットのリード・ライトに使用する主たる回路構成の一例を示す図である。なお、図６におけるサフィックス「ｊ」は、図１に対応して１〜１０のいずれかの値とする。
【００９９】
図６を参照すると、チェックビット用セルへのアクセスには、ＥＣＣ回路ブロック５０と、チェックビット用センスアンプ３７と、チェックビット用レジスタ４０と、書き込み制御回路７３と、ＧＢＬドライバ７４と、が使用される。なお、書き込み制御回路７３とＧＢＬドライバ７４は、チェックビット用書き込み回路４２に含まれる回路である。
【０１００】
図６に示すＥＣＣ回路ブロック５０は、図１に示すＥＣＣ回路、つまり、センスアンプ＆ＥＣＣ制御回路３４、シンドローム生成回路５１、判定回路５２、及びシンドロームデコーダ５３に対応する。特に、図６で示すチェックビット用レジスタ（ＲＧＣ）４０と、ＥＣＣ回路ブロック５０との間に接続される信号線は、図１のチェックビット用レジスタ（ＲＧＣ）４０とシンドローム生成回路５１との間の信号線に対応する。
【０１０１】
（チェックビット関連回路の動作説明）
図６に示す回路において、チェックビット用セルからデータを読み出す際の動作は、図５を参照しつつ説明した内容と相違しないので、その説明を省略する。なお、チェックビットはチェックビット用セルに書き込む前に、再び計算されるため、データビット用レジスタ３９に対して行われるようなエラー訂正は行わない。そのため、ページアクセス期間中の図６に示す各回路は、読み出し状態を維持する。
【０１０２】
書き込み制御回路７３は、インバータ回路ＩＮＶ０３を含んで構成され、プリチャージコマンドに応答したセル書き込み期間にチェックビット用セルに対してチェックビットが書き込まれるように制御する。具体的には、プリチャージコマンドに対応してセル書き込み期間ではライトパルス信号／ＷＰがローレベルに制御されることに応じて、書き込み制御回路７３はＧＢＬドライバ７４を駆動する。
【０１０３】
ＧＢＬドライバ７４は、２つのＮチャネル型ＭＯＳトランジスタと、４つのＰチャネル型ＭＯＳトランジスタと、インバータ回路ＩＮＶ０２と、を含んで構成される。ＧＢＬドライバ７４は、反転入出力端子／ＩＯＣから出力されるデータに応じて、グローバルビット線ＧＢＬを電圧ＶＤＤ又はＶＳＳに駆動する。
【０１０４】
ここで、チェックビット用セルには、当該チェックビット用レジスタ（ＲＧＣ）４０が記憶しているデータに基づいて決まる方向に、熱アシスト電流が流れる。また、並行して、ＥＣＣ回路ブロック５０は、外部から供給された書き込みデータ（データビット用レジスタ３９が保持するデータ）に対応するチェックビットを生成し、新規のチェックビットを反転入出力端子／ＩＯＣに供給する。
【０１０５】
熱アシスト電流の方向は、（ｉ）すべてのメモリセルにおいて同一の方向、（ｉｉ）セル毎に異なる方向（つまり、あるセルＡでは、０書き込み方向、他のセルＢでは、１書き込み方向）、のいずれの方式であっても良い。これは、この電流によるジュール熱でＭＴＪ素子の温度が上昇すれば良いからであり、セル温度の上昇が発生すると後続するセル書き込み（スピン反転・非反転）が時短で行える特性があるからである。上述した実施例１では、制御がより簡単な上記（ｉｉ）の方式を採用している。例えば、チェックビット用レジスタ（ＲＧＣ）４０が論理値１を保持する場合は、ローカルビット線ＬＢＬが電圧ＶＤＤにバイアスされ、熱アシスト電流は、ローカルビット線ＬＢＬからコモンソースＶＣＳへ流れ、他方、チェックビット用レジスタＲＧＣ４０が論理値０を保持する場合は、ローカルビット線ＬＢＬが電圧ＶＳＳにバイアスされ、熱アシスト電流は、コモンソースＶＣＳからローカルビット線ＬＢＬに流れる。
【０１０６】
反転入出力端子／ＩＯＣにデータ（チェックビット）が供給されると、ＧＢＬドライバ７４が熱アシスト電流から書き込み電流の駆動に切り替わる。即ち、読み出したデータと書き込むデータが異なる場合、書き込み電流方向が反転する。チェックビットの反転書込みは、新規のチェックビットが生成された後になるため、データビットの書き込み開始よりも遅れたものとなるが、上述のように、予め熱アシストを行うことにより書き込み時間が短縮される。いずれの方向にアシスト電流を印加した場合であっても、実際のチェックビットを対応するセルへの書き込み動作を開始する前からアシスト電流を流す事ができる。そのため、チェックビットの書き込み処理時間の短縮が実現できる。
【０１０７】
半導体装置１が、アクティブコマンドを受け付けた後のＥＣＣ制御をまとめると、図７に示すフローチャートの通りとなる。
【０１０８】
図７は、アクティブコマンドを受け付けた後のＥＣＣ制御の一例を示すフローチャートである。
【０１０９】
ステップＳ１０１において、データビット用セル、チェックビット用セルから１ページ分の信号が読み出され、リファレンス用セルからリファレンス信号が読み出される。
【０１１０】
ステップＳ１０２において、リファレンス用セルから読み出した信号から生成されたリファレンス電流ＩＲＥＦを参照し、データビット用セル、チェックビット用セルから読み出した信号を対応するセンスアンプにてセンス増幅する。
【０１１１】
ステップＳ１０３において、１ページ分のデータビットとチェックビットが、対応するレジスタに保持されると共に、これらの情報を用いたシンドロームの計算が行われる。
【０１１２】
ステップＳ１０４において、計算されたシンドロームのビットが全て「０」であるか否か判定される。
【０１１３】
シンドロームの全ビットが「０」であれば（ステップＳ１０４、Ｙｅｓ分岐）、図７に示す処理を終了する。
【０１１４】
シンドロームのビットに「１」が存在すれば（ステップＳ１０４、Ｎｏ分岐）、ステップＳ１０５以降の処理が実行される。ステップＳ１０５において、シンドロームのデコードが行われる。ステップＳ１０６において、データビット用レジスタ３９に保持されたデータビットとチェックビットの誤りが訂正される。
【０１１５】
半導体装置１が、プリチャージコマンドを受け付けた後のＥＣＣ制御をまとめると、図８に示すフローチャートの通りとなる。
【０１１６】
図８は、プリチャージコマンドを受け付けた後のＥＣＣ制御の一例を示すフローチャートである。
【０１１７】
ステップＳ２０１において、データビットの書き込みが開始され、並行してチェックビット用セルに熱アシスト電流が印加される。
【０１１８】
ステップＳ２０２において、データビットからチェックビットが生成される。ステップＳ２０３において、チェックビットの書き込みを開始する。ステップＳ２０４において、データビットとチェックビットのそれぞれが対応するメモリセルへの書き込みが完了する。ステップＳ２０５において、ワード線ＷＬが非活性化され、ビット線がプリチャージされる。
【０１１９】
次に、第１の実施形態に係る半導体装置１の動作について説明する。
【０１２０】
図９は、半導体装置１の動作波形の一例を示す図である。
【０１２１】
時刻Ｔ０１において、アクティブコマンドＡＣＴとロウアドレスＸＡが入力されると、書き込み制御回路７１の反転プリチャージ信号／ＰＣがハイレベルに、ロウアドレスＸＡに対応した反転プリチャージ／ＰＣ信号（図示せず）がローレベルに制御される。その後、ロウアドレスＸＡにより選択されたワード線ＷＬがハイレベル（電圧ＶＰＰ）に制御される。
【０１２２】
さらにその後、リードパルス信号ＲＰが一定期間ハイレベルに制御されると、グローバルビット線ＧＢＬの電位が、コモンソース電圧ＶＣＳから読み出し電圧ＶＲＥＡＤに駆動され、グローバルビット線ＧＢＬに読み出し電流ＩＲＥＡＤが流れる。この読み出し電流ＩＲＥＡＤを、センスラッチすることで、入出力端子ＩＯＤ及び反転入出力端子／ＩＯＤのデータと、反転入出力端子／ＩＯＣのデータと、が読み出しデータに応じて更新される。
【０１２３】
また、ＥＣＣ回路ブロック５０によるエラー訂正が発生した場合には、反転制御信号ＩＮＶ（図示せず）が一定期間ハイレベルに制御され、対応するデータビット用レジスタ３９の入出力端子ＩＯＤ及び反転入出力端子／ＩＯＤのデータが反転する。
【０１２４】
時刻Ｔ０２において、ページアクセス期間となり、リードコマンドＲＤとカラムアドレスＹＡが入力されると、カラムアドレスＹＡに対応してＹスイッチ選択信号ＹＳｉが一定期間ハイレベルに制御され、入出力端子ＩＯＤ及び反転入出力端子／ＩＯＤのデータが、Ｉ／Ｏ線対８９に読み出される。
【０１２５】
時刻Ｔ０３において、ライトコマンドＷＴとカラムアドレスＹＡが入力されると、ライトイネーブル信号ＷＥが一定期間ハイレベルに制御されると共に、Ｙスイッチ選択信号ＹＳｉが一定期間ハイレベルに制御される。その結果、入出力端子ＩＯＤ及び反転入出力端子／ＩＯＤのデータが、Ｉ／Ｏ線対８９から反転書き込みされる。その際、Ｙスイッチ選択信号ＹＳｉがハイレベル、且つ、反転ライトイネーブル信号ＷＥがハイレベルの期間において、ノードＡ０１がローレベルに遷移する。
【０１２６】
時刻Ｔ０４において、プリチャージコマンドＰＲＥが入力されると、セル書き込み動作が開始され、その後ライトパルス信号／ＷＰが一定期間ローレベルに制御されると、グローバルビット線ＧＢＬｉがハイレベル又はローレベルに駆動され、データビット用セルに反転データが書き込まれる。また、チェックビットに対応するグローバルビット線ＧＢＬｊもチェックビット用セルに記憶されたデータに応じて、ハイレベル又はローレベルに駆動され、熱アシスト電流が流れる。即ち、制御回路（例えば、センスアンプ＆ＥＣＣ制御回路３４、書き込み制御回路７１、７３）により、ＥＣＣ回路ブロック５０がデータ情報に基づいてエラー訂正情報を生成している期間（訂正情報生成期間）に、チェックビット用セルアレイ３５−２に含まれるメモリセルが接続された第１及び第２端子間に第１及び第２電流とは異なる第３電流が印加される。
【０１２７】
チェックビットの生成が終了すると、当該データに応じて、グローバルビット線ＧＢＬｊは、現在の状態を維持するか、又は、反転駆動され、チェックビット用セルに新しいチェックビットのデータが書き込まれる。その後、ワード線ＷＬがローレベルに制御され、さらにその後、反転プリチャージ信号／ＰＣがローレベルに制御され、ノードＡ０１がハイレベルにプリチャージされることで、一連のページアクセス動作が完了する。
【０１２８】
なお、プリチャージコマンドは外部から印加される場合に加えて、プリチャージ動作を伴ったリード又はライトコマンドによりリード又はライト動作の終了後に自動的に発行されるようにしてもよい。このような場合であっても、半導体装置１は、外部からプリチャージコマンドが発行された場合と同様の動作を行う。
【０１２９】
以上のように、第１の実施形態に係る半導体装置１では、メモリセルに書き込むデータが確定する前に、書き込み対象となるメモリセルに対して、読み出したデータと同じデータを書き込む方向に、熱アシストのための電流（第３電流）を流し、書き込みデータが確定した段階で、書き込みデータに対応した方向の書き込み電流（第１電流又は第２電流）をメモリセルに流す。より詳細には、オンチップＥＣＣ機能を有するＳＴＴ−ＲＡＭ等において、チェックビットに係るデータをメモリセルに書き込む際に、チェックビットを生成する期間を利用し、書き込み対象のメモリセルに熱アシスト電流を流す。その結果、チェックビットをメモリセルに書き込み際の時間が短縮され、ＳＴＴ−ＲＡＭの高速化が実現できる。
【０１３０】
さらに、予熱のための熱アシスト電流を、既にメモリセルに記憶されているデータを書き込む方向と同じ方向に流すことで、例えば後述する第２の実施形態のように同じデータを書き込む場合に熱アシスト及びデータの書き込みを中断したとしても、メモリセルデータを破壊することがない。即ち、記憶データの反転を防止しつつ、データの書き込み時間の短縮に寄与する半導体装置１が提供できる。
【０１３１】
［第２の実施形態］
続いて、第２の実施形態について図面を参照して詳細に説明する。
【０１３２】
なお、第１の実施形態に係る半導体装置１と第２の実施形態に係る半導体装置１ａは、全体構成に相違する点は存在しないので、半導体装置１ａに関する図１〜図３に関する説明を省略する。
【０１３３】
半導体装置１ａと半導体装置１の相違点は、書き込み制御回路７１ａ及び書き込み制御回路７３ａの回路構成である。
【０１３４】
図１０は、半導体装置１ａのデータビットのリード・ライトに使用する主たる回路構成の一例を示す図である。
【０１３５】
図１０において図５と同一構成要素には、同一の符号を付し、その説明を省略する。図１０を参照すると、書き込み制御回路７１ａには、Ｎチャネル型ＭＯＳトランジスタＮ０３及びＮ０４が存在せず、排他的論理和回路ＥＸＯＲ０１と、ラッチ７５と、Ｎチャネル型ＭＯＳトランジスタＮ１１と、が含まれている。
【０１３６】
書き込み制御回路７１ａは、リードパルス信号ＲＰがハイレベルの期間において、データビット用セルから読み出したデータをラッチ７５に取り込む。ＥＣＣ回路ブロック５０によるエラー訂正や、ページモード動作時の書き込みにより、反転入出力端子／ＩＯＤに書き込まれるデータが、最初にラッチ７５に取り込んだデータビット用セルのデータと異なる場合に限り、ノードＡ０１がローレベルに制御される。
【０１３７】
その結果、データビット用セルに反転データを書き込む場合に限り、グローバルビット線ＧＢＬが駆動されるため、第１の実施形態に係る半導体装置１よりもさらに書き込み電流を削減できる。
【０１３８】
図１１は、半導体装置１ａのチェックビットのリード・ライトに使用する主たる回路構成の一例を示す図である。図１１において図６と同一構成要素には、同一の符号を表し、その説明を省略する。
【０１３９】
書き込み制御回路７３ａでは、その内部構成を書き込み制御回路７１ａと基本的に同一とする。即ち、書き込み制御回路７３ａは、書き込み制御回路７１ａと同様に、リードパルス信号ＲＰがハイレベルの期間において、チェックビット用セルから読み出したデータをラッチ７６に取り込む構成を備える。
【０１４０】
半導体装置１ａでは、チェックビットに対してはＥＣＣ回路ブロック５０によるエラー訂正を行わないので、プリチャージコマンドに応答してチェックビットを生成した結果、反転入出力端子／ＩＯＣに書かれるデータが最初にラッチ７６に取り込んだチェックビット用セルのデータと異なる場合に限り、ノードＡ０２がローレベルに制御される。なお、ノードＡ０２とは、図１１に示すように、Ｐチャネル型ＭＯＳトランジスタＰ１１、Ｐ１２、Ｎチャネル型ＭＯＳトランジスタＮ１２、Ｎ１３の接続ノードである。
【０１４１】
セレクタ７７は、ノードＡ０２がハイレベルの場合には、チェックビット用ライトパルス信号／ＷＰＰをＧＢＬドライバ７４に出力する。一方、セレクタ７７は、ノードＡ０２がローレベルの場合には、ライトパルス信号／ＷＰをＧＢＬドライバ７４に出力する。なお、チェックビット用ライトパルス信号／ＷＰＰは、センスアンプ＆ＥＣＣ制御回路３４が生成する信号である。
【０１４２】
ここで、チェックビット用ライトパルス信号／ＷＰＰのパルス幅は、データビット用書き込み回路４１に使用されるライトパルス信号／ＷＰのパルス幅よりも短く設定されている。但し、チェックビット用ライトパルス信号／ＷＰＰとライトパルス信号／ＷＰの駆動開始タイミングは、実質的に同時とする。その結果、反転書込みを行わない場合には、熱アシスト電流の供給は、チェックビット用ライトパルス信号／ＷＰＰがハイレベルになる時点で停止される。
【０１４３】
また、反転書込みが行われる場合には、データビットの書き込み時と等しい時間（ライトパルス信号／ＷＰのパルス幅）により反転書き込みを行う。そのため、第２の実施形態に係る半導体装置１ａでは、半導体装置１よりもさらに書き込み電流を削減できる。
【０１４４】
さらにまた、熱アシスト電流はチェックビット用セルに記憶されているデータを書き込む方向なので、途中で電流の供給を停止したとしても、チェックビット用セルのデータが反転することもない。
【０１４５】
図１２は、半導体装置１ａの動作波形の一例を示す図である。図１２に示す動作波形と図９に示す動作波形の相違点は、ライトコマンドＷＴが投入された後、入出力端子ＩＯＤ及び反転入出力端子／ＩＯＤが反転してからノードＡ０１がローレベルに遷移すると点と、プリチャージコマンドＰＲＥが投入された以降のチェックビットのセル書き込み時の動作である。そこで、これらの相違点に限り説明を行い、他の説明を省略する。
【０１４６】
書き込み制御回路７１ａでは、ライトコマンドＷＴと共に供給されるデータと、データビット用レジスタ３９が保持するデータが異なる場合に、外部から供給されたデータがレジスタに反映されたタイミングにて、ノードＡ０１の電位が電圧ＶＳＳとなる（時刻Ｔ０３−１）。
【０１４７】
また、上述のように、チェックビット用ライトパルス信号／ＷＰＰは、ライトパルス信号／ＷＰよりもパルス幅が短い。チェックビットが反転書込みされない場合は、ノードＡ０２は破線で示すように、ハイレベルを保持するため、その書き込み期間は、チェックビット用ライトパルス信号／ＷＰＰがハイレベルに遷移する時点で終了するので、グローバルビット線ＧＢＬｊの波形は破線で示す動作となる（時刻Ｔ０４−１）。
【０１４８】
一方、チェックビットの反転書込みを行う場合には、ノードＡ０２は実線で示すように、ローレベルに遷移するため、グローバルビット線ＧＢＬｊの波形は実線で示すように、第１の実施形態にて説明した動作と同様となる。
【０１４９】
以上のように、第２の実施形態に係る半導体装置１ａでは、メモリセルに書き込まれるデータと、メモリセルが記憶するデータとが異なる場合に、メモリセルへのデータ書き込みが行われるため、第１の実施形態に係る半導体装置１と比較し、さらに消費電力を低減できる。
【０１５０】
［第３の実施形態］
次に、図１３を参照しながら、第３の実施形態について説明する。
【０１５１】
図１３は、第３の実施形態に係る情報処理システムの構成を示すブロック図である。第３の実施形態は、前述の各実施形態に係る半導体装置１（半導体装置１ａを含む）と、マルチコアプロセッサ２３０を含む情報処理システムを構成している。マルチコアプロセッサ２３０は、図１３に示すように、コア＿１〜コア＿４（２３１ａ〜ｄ）、Ｉ／Ｏ２３２、外部記憶装置制御ブロック２３３、及びオンチップメモリ２３４を含んで構成される。外部記憶装置制御ブロック２３３は、半導体装置１とコマンド信号、アドレス信号、及びデータ信号をやり取りすることにより、半導体装置１を制御している。
【０１５２】
第３の実施形態に係る情報処理システムによれば、抵抗変化型メモリセルを用いた大容量で信頼性が高く消費電流の少ないメインメモリをマルチコアプロセッサ２３０に対して提供することができる。
【０１５３】
また、ＥＣＣ回路を搭載しつつ、カラムアクセスサイクル時間の増加を抑え、プリチャージ時間の増加も最小限にし、かつ消費電流も押さえてＤＲＡＭ相当の仕様を実現できる。
【０１５４】
なお、各実施形態で開示した半導体装置において、抵抗変化型素子としてスピン注入磁化反転書き込みを行うＳＴＴ−ＲＡＭを使用する場合について説明したが、それに限定されず、発明を逸脱しない範囲において、例えば、金属酸化物等を用いるＲｅ−ＲＡＭ（Resistive Random Access Memory）や、相変化メモリ（ＰＣＭ；Phase Change Memory）を使用した半導体装置に対しても、各実施形態の開示内容を適用することが可能である。
【０１５５】
なお、引用した上記の特許文献の開示は、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【０１５６】
１、１ａ  半導体装置
２、２ａ〜２ｈ  メモリセルアレイ
１１  クロック発生回路
１２  コマンドデコーダ
１３  チップ制御回路
１４  モードレジスタ
１５  アレイ制御回路
１６  リードライトアンプ
１７  ラッチ回路
１８  データ入出力バッファ
１９  カラムアドレスバッファ
２０  バンク及びロウアドレスバッファ
２１  ロウデコーダ
２２  カラムデコーダ
３１−１、３１−２、３１−３、６１  プリチャージ回路
３２、３３、６３、７７  セレクタ
３４  センスアンプ＆ＥＣＣ制御回路
３５−１  データビット用セルアレイ
３５−２  チェックビット用セルアレイ
３５−３  リファレンス用セルアレイ
３６、３６−１〜３６−５１２  データビット用センスアンプ
３７、３７−１〜３７−１０  チェックビット用センスアンプ
３８  リファレンス信号発生回路
３９、３９−１〜３９−５１２  データビット用レジスタ
４０、４０−１〜４０−１０  チェックビット用レジスタ
４１、４１−１〜４１−５１２  データビット用書き込み回路
４２、４２−１〜４２−１０  チェックビット用書き込み回路
５０  ＥＣＣ回路ブロック
５１  シンドローム生成回路
５２  判定回路
５３  シンドロームデコーダ
６２  メモリセルアレイ
６４  メモリセル
６５  磁気トンネル接合素子
６６  選択トランジスタ
７１、７１ａ、７３、７３ａ  書き込み制御回路
７２、７４  ＧＢＬドライバ
７５、７６  ラッチ
８１、８２、Ｎ０１〜Ｎ１４  Ｎチャネル型ＭＯＳトランジスタ
８９  Ｉ／Ｏ線対
２３０  マルチコアプロセッサ
２３１ａ〜２３１ｄ  コア
２３２  Ｉ／Ｏ
２３３  外部記憶装置制御ブロック
２３４  オンチップメモリ
ＥＸＯＲ０１、ＥＸＯＲ０２  排他的論理和回路
ＩＮＶ０１〜ＩＮＶ０５  インバータ回路
ＮＯＲ０１  否定論理和回路
Ｐ０１〜Ｐ１２  Ｐチャネル型ＭＯＳトランジスタ
ＰＣＦＥＴ０〜ＰＣＦＥＴｋ−１  プリチャージトランジスタ
ＳＷＦＥＴ０〜ＳＷＦＥＴｋ−１  接続トランジスタ
【図１】
2015036995.tif 000003
【図２】
2015036995.tif 000004
【図３】
2015036995.tif 000005
【図４】
2015036995.tif 000006
【図５】
2015036995.tif 000007
【図６】
2015036995.tif 000008
【図７】
2015036995.tif 000009
【図８】
2015036995.tif 000010
【図９】
2015036995.tif 000011
【図１０】
2015036995.tif 000012
【図１１】
2015036995.tif 000013
【図１２】
2015036995.tif 000014
【図１３】
2015036995.tif 000015