(57)【要約】【課題】メモリ素子の信頼性と消費電流の抑制を両立させることができる半導体装置を提供する。【解決手段】半導体装置は、複数の磁気メモリセルＭＣと、複数のディジット線ＤＬと、ディジット線ドライブ回路２８Ｂと、ビット線ＢＬ［０：９５」とを備える。複数のビット線ＢＬ［０：９５」は、たとえば１２本ごとの複数の群に分割される。半導体装置は、複数のビット線の各々を少なくとも２段階の強度で駆動可能に構成されたビット線ドライブ回路２２Ｌ，２２Ｒとをさらに備える。ビット線ドライブ回路２２Ｌ，２２Ｒは、書込群に対しては、書込データに対応する極性の電流で２段階のうち強い強度でビット線を駆動し、非書込群に対しては、２段階のうち弱い強度で自分自身のデータに対応する極性のデータ保持電流を流す。【選択図】図１３
2012094201.tif 000002
【特許請求の範囲】
【請求項１】
行列状に配列された複数の磁気メモリセルと、
前記複数の磁気メモリセルの行に対応して設けられる複数のディジット線と、
アドレス信号に応じて書込選択行に対応するディジット線を駆動するディジット線ドライブ回路と、
前記複数の磁気メモリセルの列に対応して設けられる複数のビット線とを備え、
前記複数のビット線は、複数の群に分割され、
書込時の制御信号に応じて前記複数の群の各々を書込群と非書込群のいずれかに設定する書込制御回路と、
前記書込制御回路の制御下で前記複数のビット線の各々を少なくとも２段階の強度で駆動可能に構成されたビット線ドライブ回路とをさらに備え、
前記ビット線ドライブ回路は、前記書込群に対しては、書込データに対応する極性の電流で前記２段階のうち強い強度でビット線を駆動し、前記非書込群に対しては、前記２段階のうち弱い強度で自分自身のデータに対応する極性のデータ保持電流を流す、半導体装置。
【請求項２】
前記書込選択行のデータを読み出す読出回路をさらに備え、
前記書込制御回路は、前記書込データおよび前記読出回路が読み出した保持データを受け、前記制御信号に応じて、前記書込群には前記書込データを与え、前記非書込群には前記保持データを与える、請求項１に記載の半導体装置。
【請求項３】
前記書込制御回路は、
前記書込データおよび前記読出回路が読み出した保持データを受け、前記制御信号に応じて、前記書込群には前記書込データを与え、前記非書込群には前記保持データを与えるデータ選択部と、
前記制御信号に応じて、前記ビット線ドライブ回路に対してビット線の前記複数の群の各々に対して駆動強度を設定する信号を出力する信号発生部とを含む、請求項２に記載の半導体装置。
【請求項４】
前記書込制御回路は、前記ビット線ドライブ回路の前記書込群に対応する部分を複数に分割して１つの書込サイクル内でずらして前記２段階のうち強い強度で駆動するように制御する、請求項１に記載の半導体装置。
【請求項５】
前記書込群のうちの第１の群は、前記書込サイクル内の第１の期間に前記２段階のうち強い強度で駆動され、
前記書込サイクル内において、前記書込群のうちの第２の群は、前記第１の期間より後の第２の期間に前記２段階のうち強い強度で駆動され、
前記第２の期間では、前記第１の群は、前記２段階のうち弱い強度で駆動される、請求項４に記載の半導体装置。
【請求項６】
前記第１の期間では、前記第２の群は、駆動されず、
前記第１の群に属するビット線の数は、前記第２の群に属するビット線の数よりも多い、請求項５に記載の半導体装置。
【請求項７】
各々が、第１の書込電流と前記第１の書込電流と交差する方向に流れる第２の書込電流による誘起磁場によりデータの書込が行われる磁気抵抗素子を有し、行列状に配置された複数の磁気メモリセルと、
前記複数の磁気メモリセルの行に対応して設けられ、前記第１の書込電流を流す複数のディジット線と、
前記複数のディジット線に対応して設けられ、対応のディジット線に前記第１の書込電流を供給する複数のディジット線ドライバと
前記複数のディジット線の中からアドレス信号により選択された第１のディジット線への電流供給により半選択状態となるＮ個の磁気メモリセルに対応して配置され、前記第２の書込電流を流すＮ本のビット線と、
前記Ｎ本のビット線に対応して設けられ、対応のビット線に書込データに応じた極性の前記第２の書込電流を供給するＮ個のビット線ドライバと、
前記Ｎ個のビット線ドライバの各々は、第１の電流駆動能力と前記第１の電流駆動能力より小さい第２の電流駆動能力を有し、
前記Ｎ本のビット線と各対応の前記Ｎビット線ドライバは、Ｍ個（Ｍ≦Ｎ）のグループに分割され、
書込動作時に、分割されたグループ毎にデータ書込対象とデータ保持対象にグループ分けして、前記データ書込対象のグループのビット線ドライバは第１の電流駆動能力を選択し、前記データ保持対象のグループのビット線ドライバは前記第２の電流駆動能力を選択し、前記Ｎ個の磁気メモリセルに一括して前記第２の書込電流を供給する、書込制御回路を含む、半導体装置。
【請求項８】
各々が、第１の書込電流と前記第１の書込電流と交差する方向に流れる第２の書込電流による誘起磁場によりデータの書込が行われる磁気抵抗素子を有し、行列状に配置された複数の磁気メモリセルと、
前記複数の磁気メモリセルの行に対応して設けられ、前記第１の書込電流を流す複数のディジット線と、
前記複数のディジット線に対応して設けられ、対応のディジット線に前記第１の書込電流を供給する複数のディジット線ドライバと
前記複数のディジット線の中からアドレス信号により選択された第１のディジット線への電流供給により半選択状態となるＮ個の磁気メモリセルに対応して配置され、前記第２の書込電流を流すＮ本のビット線と、
前記Ｎ本のビット線に対応して設けられ、対応のビット線に書込データに応じた極性の前記第２の書込電流を供給するＮ個のビット線ドライバと、
前記Ｎ個のビット線ドライバの各々は、第１の電流駆動能力と前記第１の電流駆動能力より小さい第２の電流駆動能力を有し、
前記Ｎ本のビット線と各対応の前記Ｎビット線ドライバは、Ｍ個（Ｍ≦Ｎ）のグループに分割され、
前記第１のディジット線の選択中、Ｍ個のグループを時系列的に順次選択し前記Ｎ個のメモリセルにデータを書込む書込制御回路を含み、
前記書込制御回路は、書込動作時に、前記Ｍ個のグループの内第１のグループは、初めに第１の電流駆動力で前記第２の書込電流を流し、続いて実施される前記Ｍ個のグループの内の前記第１のグループと異なる第２のグループの選択に応じて、前記第１のグループへの書込電流供給を前記第１の電流駆動能力から前記第２の電流駆動能力に切り替え保持電流を流し、かつ前記第２のグループへの書込電流供給を前記第１の電流駆動能力に設定して前記第２の書込電流をも流す、半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体装置に関し、特に行列状に配列された複数の磁気メモリセルを含む半導体装置に関する。
【背景技術】
【０００２】
不揮発性半導体記憶装置は、電源電圧が遮断されても記憶データを保持することができ、待機状態時において電源電圧を供給する必要がない。このため、低消費電力であることが要求される携帯機器において広く用いられている。
【０００３】
このような不揮発性半導体記憶装置の１つに、磁気抵抗効果を利用してデータを記憶するＭＲＡＭ（Ｍａｇｎｅｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）がある。また、ＭＲＡＭの１つに、磁気トンネル接合（ＭＴＪ：Ｍａｇｎｅｔｉｃ  Ｔｕｎｎｅｌ  Ｊｕｎｃｔｉｏｎ）を有するトンネル磁気抵抗素子を用いたものがある（たとえば、非特許文献１参照）。
【０００４】
トンネル磁気抵抗素子は、トンネル絶縁膜と、その上下に積層された２つの強磁性体膜とを含む。トンネル磁気抵抗素子の抵抗値は、２つの強磁性体膜の磁気モーメントの向きが同じである場合に最小値になり、それらの向きが反対である場合に最大値になる。トンネル磁気抵抗素子の抵抗値が最小値および最小値である場合をそれぞれデータ信号“０”および“１”に対応付けることにより、データ信号“０”および“１”を記憶することができる。トンネル磁気抵抗素子の２つの強磁性体膜の磁気モーメントの向きは、しきい値レベルを超えるレベルの反対向きの磁界が印加されるまで永久に維持される。
【０００５】
ＭＲＡＭは、複数行複数列に配置された複数のトンネル磁気抵抗素子と、行に対応して設けられたディジット線と、列に対応して設けられたビット線とを備え、選択された行のディジット線に磁化電流を流すとともに、選択された列のビット線に書込データ信号に応じた方向の書込電流を流すことにより、行列により選択されたトンネル磁気抵抗素子にデータ信号を書込む。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−４０１２３号公報
【非特許文献】
【０００７】
【非特許文献１】辻  高晴、外７名、"A 1.2V 1Mbit Embedded MRAM Core with Folded Bit-Line Array Architecture"、2004 Symposium on VLSI Circuits Digest of Technical Papers、２００４年、ｐ．４５０‐４５３
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、従来のＭＲＡＭでは、行列により選択されたトンネル磁気抵抗素子だけでなく、選択された行のみまたは列のみに対応する他のトンネル磁気抵抗素子も磁界によってディスターブされ、記憶されていたデータ信号の誤反転が発生する可能性があった。データ信号の誤反転の可能性（誤反転確率）は、トンネル磁気抵抗素子が受けているディスターブ磁界の大きさに比例して高くなる。データ信号の誤反転確率が高くなるとメモリデバイスとしての使用時の故障率が高くなり、信頼性が低下する場合があった。
【０００９】
このため、特許文献１（特開２０１０−４０１２３号公報）に示されるように、選択された行のメモリセルが全て書込対象となるように、メモリアレイを構成することも検討されている。しかし、そのようなメモリアレイの構成では、メモリアレイの構成の自由度が減少し、ディジット線ドライバの面積が増加しチップ面積が増加してしまう可能性もある。また、選択行に対するすべてのメモリセルに書込時と同等の電流を流すので、消費電流が増加するという可能性もある。
【００１０】
本発明の目的は、メモリ素子の信頼性と消費電流の抑制を両立させることができる半導体装置を提供することである。
【課題を解決するための手段】
【００１１】
この発明は、要約すると、半導体装置であって、行列状に配列された複数の磁気メモリセルと、複数の磁気メモリセルの行に対応して設けられる複数のディジット線と、アドレス信号に応じて書込選択行に対応するディジット線を駆動するディジット線ドライブ回路と、複数の磁気メモリセルの列に対応して設けられる複数のビット線とを備える。複数のビット線は、複数の群に分割される。半導体装置は、書込時の制御信号に応じて複数の群の各々を書込群と非書込群のいずれかに設定する書込制御回路と、書込制御回路の制御下で複数のビット線の各々を少なくとも２段階の強度で駆動可能に構成されたビット線ドライブ回路とをさらに備える。ビット線ドライブ回路は、書込群に対しては、書込データに対応する極性の電流で２段階のうち強い強度でビット線を駆動し、非書込群に対しては、２段階のうち弱い強度で自分自身のデータに対応する極性のデータ保持電流を流す。
【発明の効果】
【００１２】
本発明によれば、半導体装置に内蔵されるメモリ素子の信頼性と消費電流の抑制を両立させることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の半導体装置１の構成を示したブロック図である。
【図２】図１におけるＭＲＡＭ回路４の構成を示したブロック図である。
【図３】図２におけるＭＲＡＭメモリアレイ５の構成を示したブロック図である。
【図４】図３における１６個の単位メモリアレイの構成を示す回路図である。
【図５】図３におけるメモリアレイの代表部３３を詳細に示した図である。
【図６】図５におけるメモリセルＭＣの構成を示した回路図である。
【図７】トンネル磁気抵抗素子ＴＭＲの磁化について説明するための図である。
【図８】ＴＭＲ素子の断面を概略的に示した図である。
【図９】データ書込時における磁化電流Ｉｍおよび書込電流Ｉｗの方向と磁界方向との関係を示す図である。
【図１０】図４、図５におけるビット線カレントソース／シンク２２Ｌ，２２Ｒの構成を概念的に示した回路図である。
【図１１】メモリアレイの検討例について説明するための回路図である。
【図１２】一部のメモリセルにデータを書込む必要がない場合でもすべてのメモリセルにデータを書込む場合と同等の書込電流を流す説明をするための図である。
【図１３】実施の形態１のメモリアレイの構成を説明するための図である。
【図１４】ビット線ドライバの構成を示す回路図である。
【図１５】書込電流について説明するための図である。
【図１６】実施の形態１のメモリアレイに制御信号を送るライト制御回路６の構成を示した回路図である。
【図１７】図１６のビットライトイネーブル制御回路６Ｄを詳細に示した回路図である。
【図１８】図１６に示したライト制御回路６の動作について説明するための第１の動作波形図である。
【図１９】図１６に示したライト制御回路６の動作について説明するための第２の動作波形図である。
【図２０】実施の形態２のメモリアレイ１００の構成を示した回路図である。
【図２１】図２０のライトイネーブル制御回路１３２の構成を示した回路図である。
【図２２】実施の形態２における書込サイクルを説明するための動作波形図である。
【図２３】図２１に示したライトイネーブル制御回路の変形例を示した回路図である。
【図２４】実施の形態２の変形例の動作を説明するための動作波形図である。
【図２５】合計電流の増加について説明するための図である。
【図２６】実施の形態３において用いられるライトイネーブル制御回路２３２の構成を示した回路図である。
【図２７】改善された合計電流について説明するための図である。
【発明を実施するための形態】
【００１４】
以下、本発明について図面を参照して詳しく説明する。なお、図中同一又は相当部分には同一の符号を付してその説明は繰り返さない。
【００１５】
［実施の形態１の半導体装置の全体構成］
図１は、本発明の半導体装置１の構成を示したブロック図である。図１に示される半導体装置１はＭＲＡＭの製品応用例である。
【００１６】
図１を参照して、半導体装置１は、ＣＰＵ２と、ＭＲＡＭ回路４と、基準電位発生回路・電源回路３とを実装したワンチップマイコンである。ＭＲＡＭ回路４は、ここでは、２５６ＫｂｉｔまたはＥＣＣ（エラー訂正回路）付の３８４Ｋｂｉｔの構成が想定されている。
【００１７】
ＣＰＵ２は、ＭＲＡＭ回路４へデータ書込または読出を行なう。ＣＰＵ２は、ＭＲＡＭ回路へのデータ書込／読出を行なうために、アドレス信号Ａ［１４：０］、リードイネーブル信号ＲＥ、センスイネーブル信号ＳＥおよびセンスイネーブル信号の逆論理信号ＳＥ＿Ｎ、プリチャージ信号ＰＣＧ、書込データ信号Ｄ［４７：０］、ライトイネーブル信号ＷＥ、書込モードを指定する制御信号ＢＷＬ０，ＢＷＬ１をＭＲＡＭ回路４へ入力する。またＭＲＡＭ回路４から読出されたデータはＤＯＵＴ［４７：０］としてＣＰＵ２へ出力される。
【００１８】
また基準電位発生回路・電源回路３から種々の基準電位・電源電位がＭＲＡＭ回路４に供給される。また、図示しないＭＲＡＭ回路４内のデコード回路により、リードイネーブル信号ＲＥがイネーブルすなわちＨ（ハイ）レベルのとき、アドレス信号Ａ［１４：２］によって選択される１対のワード線対ＷＬ０，ＷＬ１とコラム選択線ＣＳＬがイネーブルすなわちＨレベルとなる。
【００１９】
図２は、図１におけるＭＲＡＭ回路４の構成を示したブロック図である。
図２を参照して、ＭＲＡＭ回路４は、ＭＲＡＭメモリアレイ５と、ライト制御回路６と、リード回路７とを含む。
【００２０】
リード回路７は、クロック信号ＣＬＫの立上がりにおいてリードイネーブル信号ＭＲＥがイネーブルのときに、アドレス信号Ａ［１４：２］で選択された４８ビットのメモリセルに記憶されたデータを同時にＭＲＡＭメモリアレイから読出し、ＤＯＵＴ［４７：０］に出力する。なお、アドレス信号Ａ［１：０］は無効となる。また、信号ＤＯＵＴ［４７：０］は次のサイクルのクロック信号ＣＬＫの立上がりエッジまでに有効となり、次に読出動作が行なわれるまでリード回路７またはライト制御回路６によって保持される。
【００２１】
図３は、図２におけるＭＲＡＭメモリアレイ５の構成を示したブロック図である。
図３を参照して、２４Ｋｂｉｔの記憶容量を有したメモリアレイの構成が示される。ＭＲＡＭのメモリアレイ構成は種々想定され、１６Ｋｂｉｔ構成がとられる場合もあるが、以後２４Ｋｂｉｔの例を主として説明する。
【００２２】
ここでは、ＭＲＡＭメモリアレイ５は、２４Ｋｂｉｔのメモリセルから構成されるメモリアレイ１６個と、４８個のセンスアンプＳＡとから構成される。センスアンプＳＡには、ワード線ＷＬと、図示しないコラム選択線ＣＳＬとによって選択されるメモリセルの出力が、ビット線ＢＬとローカルＩＯ線対ＬＩＯ，ＬＩＯ＿Ｂとを介して入力される。また、センスアンプＳＡの出力がＭＲＡＭメモリアレイ５から出力される。
【００２３】
図４は、図３における１６個の単位メモリアレイの構成を示す回路図である。図４において、メモリセルとメモリアレイの構成は、非特許文献１と同様なフォールデッドビット線（Ｆｏｌｄｅｄ  ＢＬ）構成を用いるとする。このとき、１本のディジット線ＤＬに対してワード線ＷＬ０，ＷＬ１の２本が対応することになる。
【００２４】
図４を参照して、２４Ｋｂｉｔの単位メモリアレイは、ビット線カレントソース／シンク（Ｃｕｒｒｅｎｔ  Ｓｏｕｒｃｅ／Ｓｉｎｋ）２２Ｌ，２２Ｒと、コラムプリデコーダ２４Ｌ，２４Ｒと、ロウプリデコーダ２６と、ローカルデコーダ２９と、ワード線ドライバ２８Ａと、ディジット線ドライバ２８Ｂとを含む。
【００２５】
図４に示される単位メモリアレイは、さらに、行列状に磁気メモリセルが配置されたメモリアレイ部３０を含む。メモリアレイ部３０は、正規のメモリアレイ３２と、スペアロウ３４と、スペアコラム３６とを含む。
【００２６】
単位メモリアレイからのデータは選択ゲート３８を介してローカルＩＯ線対に読出されセンスアンプ４０，４２によって信号ＤＯＵＴ１，ＤＯＵＴ０として出力される。このメモリアレイ部３０のアレイの構成は、非特許文献１と同じフォールデッドビット線構成が用いられる。このとき、１本のディジット線ＤＬに対してワード線ＷＬ０，ＷＬ１の２本が対応することになる。
【００２７】
また、ビット線カレントソース／シンク２２Ｌと、ビット線カレントソース／シンク２２Ｒは、データの書込動作時に、選択されたビット線ＢＬに書込データに応じた双方向の電流を印加するビット線ドライバである。
【００２８】
図５は、図３におけるメモリアレイの代表部３３を詳細に示した図である。図５を参照して、ディジット線ＤＬ０に対してワード線ＷＬ０，ＷＬ１が対応する。メモリアレイの代表部３３は、ノーマルセルエリアとリファレンスセルエリアとを含む。ノーマルセルエリアにはノーマルメモリセルＭＣが配置される。リファレンスセルエリアにはリファレンスメモリセルＭＣＲが配置され、ノーマルメモリセルＭＣからのデータ読出し時のデータ判定の比較対象となる基準値生成に用いられる。リファレンスメモリセルＭＣＲはダミーワード線ＤＷ０，ＤＷ１の活性化に応じて選択される。図５では、代表的に１本のダミーディジット線ＤＤＬに対応してリファレンスメモリセルＭＣを設けている例を記載しているが、リファレンスメモリセルＭＣの数や配置は、これに限定される訳ではない。例えば、図４に示されるように、リファレンスロウ０と離間した領域にリファレンスロウ１を設設けることも可能である。
【００２９】
図６は、図５におけるメモリセルＭＣの構成を示した回路図である。なおリファレンスメモリセルＭＣＲの構成も同様であるので説明は繰返さない。
【００３０】
図６を参照して、各メモリセルＭＣは、トンネル磁気抵抗素子ＴＭＲおよびアクセストランジスタ（ＮチャネルＭＯＳトランジスタ）ＡＴＲを含む。トンネル磁気抵抗素子ＴＭＲおよびアクセストランジスタＡＴＲは対応のビット線ＢＬと接地電圧ＶＳＳのラインとの間に直列接続され、アクセストランジスタＡＴＲのゲートは対応のワード線ＷＬに接続される。
【００３１】
図７は、トンネル磁気抵抗素子ＴＭＲ（ＭＴＪ素子ともいう）の磁化について説明するための図である。
【００３２】
図７を参照して、トンネル磁気抵抗素子ＴＭＲは、対応のディジット線ＤＬと対応のビット線ＢＬとの平面状の交点に、ディジット線ＤＬとビット線ＢＬに上下に挟まれるように配置されている。トンネル磁気抵抗素子ＴＭＲの磁化容易軸はディジット線ＤＬの延在方向に向けられ、その磁化困難軸はビット線ＢＬの延在方向に向けられている。
【００３３】
ディジット線ＤＬに磁化電流Ｉｍを流すとともにビット線ＢＬに書込データ信号の論理に応じた方向の書込電流Ｉｗを流すと、図７に示すように、トンネル磁気抵抗素子ＴＭＲの磁化方向は、書込電流Ｉｗの方向に応じて、磁化容易軸の正方向または負方向に向く。トンネル磁気抵抗素子ＴＭＲは、その磁化方向に応じて高抵抗状態または低抵抗状態になる。
【００３４】
図８は、ＴＭＲ素子の断面を概略的に示した図である。
図８を参照して詳しく説明すると、トンネル磁気抵抗素子ＴＭＲは、電極ＥＬとビット線ＢＬの間に積層された固定磁化膜ＦＬと、トンネル絶縁膜ＴＢと、自由磁化膜ＶＬとを含む。固定磁化膜ＦＬおよび自由磁化膜ＶＬの各々は、強磁性体膜で構成されている。固定磁化膜ＦＬの磁化方向は一方方向に固定されている。自由磁化膜ＶＬの磁化方向は、一方方向および他方方向のうちのいずれかの方向に書込まれる。固定磁化膜ＦＬおよび自由磁化膜ＶＬの磁化方向が同一である場合は、トンネル磁気抵抗素子ＴＭＲの抵抗値は比較的小さな値になり、両者の磁化方向が逆である場合は、トンネル磁気抵抗素子ＴＭＲの電気抵抗値は比較的大きな値になる。トンネル磁気抵抗素子ＴＭＲの２段階の抵抗値は、たとえばデータ信号０，１にそれぞれ対応付けられる。
【００３５】
データ書込時は、図８に示すように、ワード線ＷＬが非選択レベルの「Ｌ」レベルにされてアクセストランジスタＡＴＲが非導通状態にされ、ディジット線ＤＬに磁化電流Ｉｍが流されるとともに、ビット線ＢＬに書込電流Ｉｗが流される。自由磁化膜ＶＬの磁化方
向は、磁化電流Ｉｍおよび書込電流Ｉｗの方向の組合せによって決定される。
【００３６】
図９は、データ書込時における磁化電流Ｉｍおよび書込電流Ｉｗの方向と磁界方向との関係を示す図である。
【００３７】
図９を参照して、横軸で示される磁界Ｈｘは、ディジット線ＤＬを流れる磁化電流Ｉｍによって生じる磁界Ｈ（ＤＬ）を示している。一方、縦軸に示される磁界Ｈｙは、ビット線ＢＬを流れる書込電流Ｉｗによって生じる磁界Ｈ（ＢＬ）を示している。
【００３８】
自由磁化膜ＶＬに記憶される磁界方向は、磁界Ｈ（ＤＬ）とＨ（ＢＬ）の和が図中に示されるアステロイド特性線の外側の領域に達する場合においてのみ、新たに書込まれる。すなわち、アステロイド特性線の内側の領域に相当する磁界が印加された場合においては、自由磁化膜ＶＬに記憶される磁界方向は更新されない。したがって、トンネル磁気抵抗素子ＴＭＲの記憶データを書込動作によって更新するためには、ディジット線ＤＬとビット線ＢＬとの両方に電流を流す必要がある。
【００３９】
ここでは、ディジット線ＤＬには一方方向の磁化電流Ｉｍを流し、ビット線ＢＬにはデータ信号の論理（０または１）に応じた方向の書込電流Ｉｗを流すものとする。トンネル磁気抵抗素子ＴＭＲに一旦記憶された磁界方向すなわち記憶データは、新たなデータ書込が実行されるまでの間不揮発的に保持される。
【００４０】
データ読出時は、ワード線ＷＬが選択レベルの「Ｈ」レベルにされてアクセストランジスタＡＴＲが導通し、ビット線ＢＬからトンネル磁気抵抗素子ＴＭＲおよびアクセストランジスタＡＴＲを介して接地電圧ＶＳＳのラインに電流Ｉｓが流れる。この電流Ｉｓの値は、トンネル磁気抵抗素子ＴＭＲの抵抗値に応じて変化する。したがって、この電流Ｉｓの値を検知することにより、トンネル磁気抵抗素子ＴＭＲの記憶データを読出すことができる。
【００４１】
図１０は、図４、図５におけるビット線カレントソース／シンク２２Ｌ，２２Ｒの構成を概念的に示した回路図である。
【００４２】
図１０を参照して、ビット線カレントソース／シンク２２Ｌは、データ信号Ｄ［９５：０］を受けるバッファ５２と、電源ノードと接地ノードとの間に電流源と直列に接続されたＰチャネルＭＯＳトランジスタ５４およびＮチャネルＭＯＳトランジスタ５６を含むドライバとを含む。ＰチャネルＭＯＳトランジスタ５４およびＮチャネルＭＯＳトランジスタ５６のゲートには、ともに、バッファ５２の出力が与えられる。
【００４３】
ビット線カレントソース／シンク２２Ｒは、信号Ｄ［９５：０］を受けるインバータ６２と、電源ノードと接地ノードとの間に電流源と直列に接続されたＰチャネルＭＯＳトランジスタ６４およびＮチャネルＭＯＳトランジスタ６６を含むドライバとを含む。
【００４４】
ＮチャネルＭＯＳトランジスタ５４のドレインおよびＰチャネルＭＯＳトランジスタ６４のドレインはそれぞれビット線ＢＬの一方端と他方端とに接続されている。これにより信号Ｄ［９５：０］がＨレベルであれば、ＰチャネルＭＯＳトランジスタ６４およびＮチャネルＭＯＳトランジスタ５６が導通しこの経路でビット線ＢＬに電流が流れる。この場合、ビット線カレントソース／シンクの２２Ｒがカレントソースとなり、２２Ｌがカレントシンクとなる。
【００４５】
信号Ｄ［９５：０］がＬレベルであれば、逆に、ＰチャネルＭＯＳトランジスタ５４およびＮチャネルＭＯＳトランジスタ６６が導通しこの経路でビット線ＢＬに電流が逆向きに流れる。ビット線カレントソース／シンクの２２Ｌがカレントソースとなり、２２Ｒがカレントシンクとなる。
【００４６】
［メモリアレイの検討例］
図１１は、メモリアレイの検討例について説明するための回路図である。
【００４７】
図１１には、特許文献１に示されるような、ＭＲＡＭアレイの構成が簡略的に示されている。このＭＲＡＭアレイでは、書込動作時に１本のディジット線ＤＬによって書込電流磁場が印加されるすべてのメモリセルＭＣ（ｎ，９５）〜（ｎ，０）に同時にデータの書込が行なわれる。各ビット線ドライバの構成および動作については、非特許文献１の図９と同等のものを想定している。なお、非特許文献１の図９のコラム選択線ＣＳＬに代えて図１１ではライトイネーブル信号ＷＥと記載されている。
【００４８】
一般に、１行１列により選択された１交点に配置されるメモリセルにのみ選択してデータの書込を実施するよう構成されたＭＲＡＭにおいては、対応のディジット線に電流が流れるが、書込を行なわれないメモリセルが存在する。このような半選択状態の場合、書込を行なわないはずのメモリセルに誤書込が起こる可能性が高くなる。すなわち、ディジット線に電流が流れると、図９に示したアステロイド特性線の外側の領域に近くなり、たとえばビット線に正規の書込時の電流が流れなくても、ノイズが載った場合に誤書込が発生しやすくなる。
【００４９】
これに対し、図１１に示された構成の場合には、１本のディジット線ＤＬ［ｎ］に書込電流を流す場合に、１本のディジット線ＤＬに対応する９６個のメモリセルＭＣ（ｎ，９５）〜ＭＣ（ｎ，０）に同時にデータの書込を行なう。このため、書込データを信号Ｄ［９５：０］として入力し、９６本のビット線ＢＬ［９５：０］に同時に電流を流す。
【００５０】
書込電流が流されるディジット線ＤＬ［ｎ］に対応するメモリセルには、すべて書込データが送られデータの書込が同様に行なわれるため、誤書込が起こる可能性が高くなるメモリセル（メモリセル中の磁気抵抗素子）が存在しない。つまりディジット線に電流が流れるが、書込が行なわれないメモリセルが存在しないことになる。
【００５１】
しかし、このような構成では、メモリセルＭＣ（ｎ，９５）〜（ｎ，４８）にのみデータの書込を行ない、メモリセルＭＣ（ｎ，４７）〜ＭＣ（ｎ，０）にはデータの書込を行なう必要がない場合または書込を行ないたくない場合においても、同様にデータの書込を行なわなければならない。すなわち、ビット線にデータ書込み用の書込電流を流さなくてはいけない。このような場合については、後に図１３で説明する。
【００５２】
このような場合には、書込動作前に、メモリセルＭＣ（ｎ，４７）〜ＭＣ（ｎ，０）のデータを予め読出しておき（プリリードして）、読出したデータと同じデータをメモリセルＭＣ（ｎ，９５）〜ＭＣ（ｎ，４８）の書込と同時にメモリセルＭＣ（ｎ，４７）〜ＭＣ（ｎ，０）に書込む必要がある。
【００５３】
図１２は、一部のメモリセルにデータを書込む必要がない場合でもすべてのメモリセルにデータを書込む場合と同等の書込電流を流す説明をするための図である。
【００５４】
図１２に示されるように、書込対象とするメモリセルＭＣ（ｎ，９５）〜ＭＣ（ｎ，４８）には電流ｉＢＬ［９５：４８］が流される。これと同じ大きさの電流ｉＢＬ［４７：０］がメモリセルＭＣ（ｎ，４７）〜ＭＣ（ｎ，０）に流される。このため流す電流ｉＢＬ［４７：０］は無駄に消費されているという問題が生じる。なお、図１２では、電流値の絶対値を波形の波高で示しているが、実際にはデータの極性によっては電流の方向が逆向きとなる。
【００５５】
［実施の形態１のメモリアレイの構成］
図１３は、実施の形態１のメモリアレイの構成を説明するための図である。
【００５６】
図１３に示したメモリアレイにおいてビット線ドライバ回路２２Ｌおよび２２Ｒは、図１０、図１１に示した構成と異なり、強弱２つのビット線電流を流すことができるようにドライバ部が分割されている。尚、図４、５におけるビット線カレントソース／シンクの２２Ｒ、２２Ｌの中で、具体的にビット線に書込電流を供給する部分のみのビット線ドライバの集合をビット線ドライバ回路２２Ｒ、２２Ｌとしている。
【００５７】
すなわちビット線ドライバ回路２２Ｌは、ビット線ドライバＢＬＤＫＬ［９５：０］と、ビット線ドライバＢＬＤＷＬ［９５：０］とを含む。ビット線ドライバＢＬＤＫＬ［９５：０］は、図１１の検討例と同様ライトイネーブル信号ＭＷＥに応じて活性化される。
【００５８】
図１４は、ビット線ドライバの構成を示す回路図である。図１４に示したビット線ドライバは、図１３のビット線ドライバＢＬＤＫＬ［９５：０］，ＢＬＤＷＬ［９５：０］，ＢＬＤＫＲ［９５：０］，ＢＬＤＷＲ［９５：０］として用いられる。なお、駆動段のクロックドインバータのトランジスタサイズは、全て同じでなくてもよく適宜調整しても良い。
【００５９】
図１４を参照して、ビット線ドライバは、制御信号ＭＷＥやＢＥ０〜ＢＲ７などである制御信号ＥＮを受けて反転するインバータと、そのインバータの出力および制御信号ＥＮによって活性化され入力ＩＮを反転し、信号ＯＵＴによってビット線を駆動するクロックドインバータとを含む。
【００６０】
再び図１３を参照して、データＭＤ［１１：０］を入力に受ける１２ビット幅のビット線ドライバＢＬＤＷＬ［１１：０］は、ライトイネーブル信号ＢＥ０およびライトイネーブル信号ＭＷＥに応じて活性化される。データＭＤ［２３：１２］を入力に受ける１２ビット幅のビット線ドライバＢＬＤＷＬ［２３：１２］は、ライトイネーブル信号ＢＥ１およびライトイネーブル信号ＭＷＥに応じて活性化される。
【００６１】
図示しないが、データＭＤ［３５：２４］を入力に受ける１２ビット幅のビット線ドライバＢＬＤＷＬ［３５：２４］は、ライトイネーブル信号ＢＥ２およびライトイネーブル信号ＭＷＥに応じて活性化される。データＭＤ［４７：３６］を入力に受ける１２ビット幅のビット線ドライバＢＬＤＷＬ［４７：３６］は、ライトイネーブル信号ＢＥ３およびライトイネーブル信号ＭＷＥに応じて活性化される。データＭＤ［５９：４８］を入力に受ける１２ビット幅のビット線ドライバＢＬＤＷＬ［５９：４８］は、ライトイネーブル信号ＢＥ４およびライトイネーブル信号ＭＷＥに応じて活性化される。データＭＤ［７１：６０］を入力に受ける１２ビット幅のビット線ドライバＢＬＤＷＬ［７１：６０］は、ライトイネーブル信号ＢＥ５およびライトイネーブル信号ＭＷＥに応じて活性化される。データＭＤ［８３：７２］を入力に受ける１２ビット幅のビット線ドライバＢＬＤＷＬ［８３：７２］は、ライトイネーブル信号ＢＥ６およびライトイネーブル信号ＭＷＥに応じて活性化される。
【００６２】
またデータＭＤ［９５：８４］を入力に受ける１２ビット幅のビット線ドライバＢＬＤＷＬ［９５：８４］はライトイネーブル信号ＢＥ７およびライトイネーブル信号ＭＷＥに応じて活性化される。
【００６３】
また、ビット線ドライバ回路２２Ｒは、ビット線ドライバＢＬＤＫＲ［９５：０］と、ビット線ドライバＢＬＤＷＲ［９５：０］とを含む。ビット線ドライバＢＬＤＫＲ［９５：０］は、図１１の検討例と同様ライトイネーブル信号ＭＷＥに応じて活性化される。
【００６４】
データＭＤ［１１：０］を入力に受ける１２ビット幅のビット線ドライバＢＬＤＷＲ［１１：０］は、ライトイネーブル信号ＢＥ０およびライトイネーブル信号ＭＷＥに応じて活性化される。データＭＤ［２３：１２］を入力に受ける１２ビット幅のビット線ドライバＢＬＤＷＲ［２３：１２］は、ライトイネーブル信号ＢＥ１およびライトイネーブル信号ＭＷＥに応じて活性化される。
【００６５】
図示しないが、データＭＤ［３５：２４］を入力に受ける１２ビット幅のビット線ドライバＢＬＤＷＲ［３５：２４］は、ライトイネーブル信号ＢＥ２およびライトイネーブル信号ＭＷＥに応じて活性化される。データＭＤ［４７：３６］を入力に受ける１２ビット幅のビット線ドライバＢＬＤＷＲ［４７：３６］は、ライトイネーブル信号ＢＥ３およびライトイネーブル信号ＭＷＥに応じて活性化される。データＭＤ［５９：４８］を入力に受ける１２ビット幅のビット線ドライバＢＬＤＷＲ［５９：４８］は、ライトイネーブル信号ＢＥ４およびライトイネーブル信号ＭＷＥに応じて活性化される。データＭＤ［７１：６０］を入力に受ける１２ビット幅のビット線ドライバＢＬＤＷＲ［７１：６０］は、ライトイネーブル信号ＢＥ５およびライトイネーブル信号ＭＷＥに応じて活性化される。データＭＤ［８３：７２］を入力に受ける１２ビット幅のビット線ドライバＢＬＤＷＲ［８３：７２］は、ライトイネーブル信号ＢＥ６およびライトイネーブル信号ＭＷＥに応じて活性化される。
【００６６】
またデータＭＤ［９５：８４］を入力に受ける１２ビット幅のビット線ドライバＢＬＤＷＲ［９５：８４］はライトイネーブル信号ＢＥ７およびライトイネーブル信号ＭＷＥに応じて活性化される。
【００６７】
以上の構成により、１２ビット幅のビット線群ごとにライトイネーブル信号ＢＥ０〜ＢＥ７を用いて、ビット線ドライバＢＬＤＫＲ，ＢＬＤＷＲの両方で駆動される強駆動状態（書込電流に相当）と、ビット線ドライバＢＬＤＫＲのみで駆動される弱駆動状態（保持電流に相当）とを選択することができる。また、書込電流を供給しない時は、非駆動状態とする。
【００６８】
図１５は、書込電流について説明するための図である。
図１３、図１５を参照して、メモリセルＭＣ（ｎ，９５）〜ＭＣ（ｎ，４８）にのみデータの書込を行ない、メモリセルＭＣ（ｎ，４７）〜ＭＣ（ｎ，０）にはデータの書込を行なわない場合の動作を考える。たとえばこれはアドレス信号Ａ［２］＝“１"の場合が相当する。これは図１８、図１９ではロングワードライトサイクルに相当する。このとき信号ＭＤ［９５：４８］には新規の書込データが入力され、信号ＭＤ［４７：０］にはメモリセルＭＣ（ｎ，２３）〜ＭＣ（ｎ，０）からプリリードされたデータＤＯＵＴが入力される。
【００６９】
このときビット線ドライバＢＬＤＷＬ［９５：２４］およびＢＬＤＷＲ［９５：２４］はイネーブル（ｅｎａｂｌｅ）となり、ビット線ドライバＢＬＤＷＬ［２３：０］およびＢＬＤＷＲ［２３：０］はディスエーブル（ｄｉｓａｂｌｅ）となる。またビット線ドライバＢＬＤＫＬ［９５：０］およびＢＬＤＫＲ［９５：０］はイネーブルとなる。
【００７０】
よってビット線ＢＬ［９５：２４］にはビット線ドライバＢＬＤＷＬ［９５：２４］およびＢＬＤＫＬ［９５：２４］の合計で定まる書込電流ｉＢＬが流れる。一方ビット線ＢＬ［２３：０］には、ビット線ドライバＢＬＤＫＬ［２３：０］のみによる小さい保持電流ｉＢＬＸが流れる。この保持電流ｉＢＬＸは、書込電流ｉＢＬに比べて小さい電流であり、たとえば２分の１または３分の１の程度の電流値に調整すればよい。
【００７１】
これにより一部のビット線に接続されるメモリセルのみを書換える場合（たとえば、コマンド等の制御信号で指定された書き換え単位がメモリアレイのビット線幅に満たなかった場合）の書換電流の合計値を小さくすることができる。
【００７２】
図１６は、実施の形態１のメモリアレイに制御信号を送るライト制御回路６の構成を示した回路図である。
【００７３】
図１６を参照して、ライト制御回路６は、アドレスおよびイネーブル信号発生部６Ａと、データ選択部６Ｂと、モードデコード回路６Ｃと、ビットライトイネーブル制御回路６Ｄとを含む。
【００７４】
データ選択部６Ｂは、プリリードされたメモリアレイからのデータＤＯＵＴ［４７：０］を保持する保持部６ＢＡと、プリリードされたデータとＣＰＵから入力されたデータＤ［４７：０］のいずれか一方を、アドレス信号Ａ［２］とビットライトイネーブル信号ＢＥ７〜ＢＥ０とに基づいて、メモリアレイへの出力データＭＤ［９５：０］に出力するセレクタ６ＢＢとを含む。
【００７５】
モードデコード回路６Ｃは、ＣＰＵ２から与えられる制御信号ＢＷＬ０，ＢＷＬ１をデコードしてバイト書込モードを示す信号ＢＹＴＥＷＥ、ワード書込モードを示す信号ＷＯＲＤＷＥおよびロングワード書込モードを示す信号ＬＯＮＧＷＯＲＤＷＥを出力する。
【００７６】
ビットライトイネーブル制御回路６Ｄは、信号ＢＹＴＥＷＥ，ＷＯＲＤＷＥ，ＬＯＮＧＷＯＲＤＷＥと、アドレスＡ［２：０］に基づいて、ビットライトイネーブル信号ＢＥ７〜ＢＥ０をセレクタ６ＢＢと図１３のビット線ドライバＢＬＤＷＬ［９５：０］，ＢＬＤＷＲ［９５：０］とに出力して、各書込モードに対応する必要ビット幅のビット線ドライバを強駆動状態に設定する。なお、ビットライトイネーブル制御回路６Ｄは、図１６では簡易的に記載されている。
【００７７】
図１７は図１６のビットライトイネーブル制御回路６Ｄを詳細に示した回路図である。
図１７を参照して、ビットライトイネーブル制御回路６Ｄは、それぞれビットライトイネーブル信号ＢＥ７〜ＢＥ０を出力する複合ゲート回路６Ｄ７〜６Ｄ０を含む。
【００７８】
複合ゲート回路６Ｄ０は、信号ＬＯＮＧＷＯＲＤＷＥとＡ＿Ｎ［２］とを受ける２ＡＮＤ回路と、信号ＷＯＲＤＷＥとＡ＿Ｎ［２］とＡ＿Ｎ［１］とを受ける３ＡＮＤ回路と、信号ＢＹＴＥＷＥとＡ＿Ｎ［２］とＡ＿Ｎ［１］とＡ＿Ｎ［０］とを受ける４ＡＮＤ回路と、２ＡＮＤ回路、３ＡＮＤ回路および４ＡＮＤ回路の各出力を受ける３ＮＯＲ回路とを含む。３ＮＯＲ回路は、ビットライトイネーブル信号ＢＥ０を出力する。
【００７９】
複合ゲート回路６Ｄ７〜６Ｄ１の各々は、複合ゲート回路６Ｄ０と同様な構成を有するが入力信号が複合ゲート回路６Ｄ０とは異なる。
【００８０】
すなわち、複合ゲート回路６Ｄ１には、Ａ＿Ｎ［２］とＡ＿Ｎ［１］とＡ＿Ｎ［０］とが入力される代わりに、Ａ＿Ｎ［２］とＡ＿Ｎ［１］とＡ［０］とが入力される。複合ゲート回路６Ｄ２には、Ａ＿Ｎ［２］とＡ＿Ｎ［１］とＡ＿Ｎ［０］とが入力される代わりに、Ａ＿Ｎ［２］とＡ［１］とＡ＿Ｎ［０］とが入力される。
【００８１】
また、複合ゲート回路６Ｄ３には、Ａ＿Ｎ［２］とＡ＿Ｎ［１］とＡ＿Ｎ［０］とが入力される代わりに、Ａ＿Ｎ［２］とＡ［１］とＡ［０］とが入力される。複合ゲート回路６Ｄ４には、Ａ＿Ｎ［２］とＡ＿Ｎ［１］とＡ＿Ｎ［０］とが入力される代わりに、Ａ［２］とＡ＿Ｎ［１］とＡ＿Ｎ［０］とが入力される。
【００８２】
また、複合ゲート回路６Ｄ５には、Ａ＿Ｎ［２］とＡ＿Ｎ［１］とＡ＿Ｎ［０］とが入力される代わりに、Ａ［２］とＡ＿Ｎ［１］とＡ［０］とが入力される。複合ゲート回路６Ｄ６には、Ａ＿Ｎ［２］とＡ＿Ｎ［１］とＡ＿Ｎ［０］とが入力される代わりに、Ａ［２］とＡ［１］とＡ＿Ｎ［０］とが入力される。複合ゲート回路６Ｄ７には、Ａ＿Ｎ［２］とＡ＿Ｎ［１］とＡ＿Ｎ［０］とが入力される代わりに、Ａ［２］とＡ［１］とＡ［０］とが入力される。
【００８３】
再び、図１６を参照して、図１のＣＰＵ２から書込データ信号Ｄ［４７：０］と、書込モードがバイト書込モード、ワード書込モードまたはロングワード書込モードかを指定する制御信号ＢＷＬ１，ＢＷＬ０が入力される。書込モードがバイト書込モードであるとは、たとえば１２ｂｉｔ（データ８ｂｉｔ、パリティ４ｂｉｔ）を１単位として入力される場合を示し、ワード書込モードであるとは、たとえば２４ｂｉｔを１単位として入力されることを示し、ロングワード書込モードとは、たとえば４８ｂｉｔを１単位として入力することを示す。このように各書込モードは、所謂書込データのビット幅・単位を規定している。
【００８４】
書込データがバイト単位のときは、（ＢＷＬ１，ＢＷＬ０）＝（０，１）、に設定される。書込データがワード単位のときは、（ＢＷＬ１，ＢＷＬ０）＝（１，０）に設定される。書込データがロングワード単位のときは、（ＢＷＬ１，ＢＷＬ０）＝（１，１）に設定される。なお、信号（ＢＷＬ１，ＢＷＬ０）＝（０，０）のときは、読出またはノンオペレーション（ＮＯＰ）動作とする。
【００８５】
書込データがバイト単位のときは、アドレス信号Ａ［１：０］で選択されるデータ信号Ｄ［３５：２４］のデータのみの書込が行なわれる。書込データがワード単位のときは、アドレス信号Ａ［１］で選択されるデータのみの書込が行なわれる。たとえば、（ＢＷＬ１，ＢＷＬ０）＝（０，１）かつＡ［１：０］＝２ならば、データ信号Ｄ［３５：２４］のデータが書込まれる。またライト制御回路６は、信号ＢＵＳＹを出力し、信号ＢＵＳＹを受けたＣＰＵ２は現在のサイクルを延長する。この場合アドレス信号Ａ［１４：０］，データ信号Ｄ［４７：０］などのＣＰＵ２の出力が維持される。
【００８６】
図１８、図１９は、図１６に示したライト制御回路６の動作について説明するための動作波形図である。図１８、図１９において、図１１，図１２で検討した検討例に比べて制御信号ＢＥ０〜ＢＥ７が加わっている点が特に異なる。
【００８７】
図１８、図１９では、時刻ｔ１〜ｔ４において書込データがワード単位の場合の書込動作（ワードライトサイクル）が示される。さらに引続いて時刻ｔ４〜ｔ７において書込データがロングワードの場合の書込動作（ロングワードライトサイクル）が示される。
【００８８】
なお、書込データがバイト単位の場合は、データ信号Ｄ［４７：０］の書込が行なわれるデータがバイト単位（１２ｂｉｔ）になる以外は、書込データがワード単位の場合と動作は同じである。
【００８９】
時刻ｔ１〜ｔ２の間においてまず波形Ｅ１に示すように（ＢＷＬ１，ＢＷＬ０）＝（１，０）なので、書込データがワード単位の書込が行なわれる。波形Ｅ２に示すようにワードライトイネーブルＷＯＲＤＷＥがイネーブル、すなわちＨレベルに変化する。書込データがバイト単位またはワード単位のとき、波形Ｅ３に示すように信号ＢＵＳＹ１がイネーブルとなる。波形Ｅ１と、波形Ｅ４のＡ［１：０］＝０１０（２進数）とから、波形Ｅ５でビットライトイネーブル信号ＢＥ３，ＢＥ２がイネーブルに変化する。そして波形Ｅ６でデータ信号Ｄ［４７：２４］がＭＲＡＭアレイへの書込データＭＤ［４７：２４］として出力される。
【００９０】
またこのとき書込データＭＤ［２３：０］としては、フリップフロップＦＦ［２３：０］の保持データが出力され、書込データＭＤ［９５：４８］としては、ＭＲＡＭからの読出データＤＯＵＴ［４７：０］が出力される。しかし、この時点では、対応するイネーブル信号ＢＥがイネーブルでないので、データは無効として扱われる。すなわちこれらのデータは、ＣＰＵからの書込データＭＤを書込まないメモリセルへのデータである。
【００９１】
次に、波形Ｅ７で、信号ＢＵＳＹ１，ＢＵＳＹ０を受けてＭＲＡＭのリードイネーブル信号ＭＲＥがイネーブルとなり、読出動作が行なわれる。そして波形Ｅ８で、アドレス信号Ａ［１４：３］，Ａ［２］＝０のデータＲ０［４７：０］がＤＯＵＴ［４７：０］として読出される。この信号は波形Ｅ９で図１６のフリップフロップＦＦ［４７：０］にラッチされる。
【００９２】
このときに波形Ｅ１０に示されるように、データ信号ＭＤ［４７：０］のすべてが有効となる。これによって、アドレスＡ［１４：２］のデータを書込まないバイト分のデータが用意される。
【００９３】
そして時刻ｔ３の波形Ｅ１１で、信号ＢＵＳＹ１がディスエーブル、信号ＢＵＳＹ０がイネーブルとなり、リードイネーブル信号ＭＲＥがイネーブルとなり、読出サイクルが行なわれる。
【００９４】
波形Ｅ１２に示すようにアドレスＡ［２］の反転（ＭＡ［２］＝１）部分のデータＲ１［４７：０］が信号ＤＯＵＴ［４７：０］として読出され、信号ＭＤ［９５：４８］に出力される。（波形Ｅ１３）。この時点で、ディジット線ＤＬ［ｎ］の１本分すべてのデータが信号ＭＤ［９５：０］として揃う。時刻ｔ４の波形Ｅ１４に示すようにライトイネーブル信号ＭＷＥがイネーブルとなり、波形Ｅ１５で書込電流ｉＢＬが印加される。
【００９５】
これによって、時刻ｔ４〜ｔ５の間には、データと書込みモードとに基づいてｉＢＬ［９５：０］の対応する部分に強い電流、弱い電流のいずれかが流れる。
【００９６】
時刻ｔ４以降のロングワードライトサイクルでは、波形Ｆ１で（ＢＷＬ１，ＢＷＬ０）＝（１，１）であるので、時刻ｔ１〜ｔ４で示されたようなワード（またはバイト）ライトサイクル時の波形Ｅ３，Ｅ７〜Ｅ１０に相当する動作は実行されない。基準となるクロック信号ＣＬＫや制御信号（ＢＷＬ１，ＢＷＬ０）をＭＲＡＭ回路４の外部から見た場合には、時刻ｔ４以降がロングワードライトサイクルとなるが、ＭＲＡＭ回路内で考えると、時刻ｔ４〜ｔ５の間に実際のメモリセルＭＣへの書込動作（ビット線への電流供給）が行われている。
【００９７】
そして波形Ｅ１１以降の処理と同様の処理が波形Ｆ１１以降で行なわれる。ここではＡ［２］＝１なので、波形Ｆ６において信号ＭＤ［９５：４８］として信号Ｄ［４７：０］が出力され、信号ＭＤ［４７：０］としては信号ＤＯＵＴ［４７：０］が出力される。続いて波形Ｆ１３において信号ＭＤ［４７：０］には、Ａ［２］の反転（ＭＡ［２］＝０）の読出データＲ２［４７：０］が出力され、波形Ｆ１５においてデータが書込まれる。
【００９８】
このように、実施の形態１においては、データ書込を行なう必要のないメモリセルには、データ書込電流よりも小さいデータ保持電流が流れるように制御が行なわれる。このデータ保持電流は、メモリセルに書込まれたデータと同じデータ（プリリードしたデータ）を書込む方向（書き込む極性）の電流である。
【００９９】
このようにするので、実施の形態１の半導体装置は、無駄な消費電流を抑えることができ、消費電流を低減させることができる。かつ、特許文献１の場合と同様に、ディジット線に流れる電流による誤書込を防止できる。
【０１００】
［実施の形態２］
特許文献１に示されるようなＭＲＡＭは、書込動作時に活性化される１本のディジット線によって書込電流磁場が印加されることになるすべてのメモリセルに同時にデータの書込を行なう。たとえば図１１で説明したように、メモリセルＭＣ（ｎ，９５）〜ＭＣ（ｎ，０）のビット線に同時に電流ｉＢＬが流れる。
【０１０１】
そのため、平均電流にくらべて大きなピーク電流が流れる。これは、ビット線当たりのピーク電流ｉＢＬｗのデータ書込電流パルス幅ｔＷが、ライトサイクル期間ｔＣに比べて短いからである。すなわちライトサイクル期間の一部分においてデータ書込電流が集中して流れる場合には、平均電流（（ｉＢＬｗ×９６×ｔＷ）÷ｔＣ）＜ピーク電流（ｉＢＬｗ×９６）となる。
【０１０２】
このピーク電流を考慮して電源配線を強化して（太くして）半導体装置を設計する必要がある。電源配線を強化は、必然的にレイアウト面積の増加という問題を引起す。
【０１０３】
実施の形態２においては、このピーク電流を低減させた例を説明する。
図２０は、実施の形態２のメモリアレイ１００の構成を示した回路図である。
【０１０４】
メモリアレイ１００は、ビット線ドライブ回路１２２Ｌ，１２２Ｒと、メモリアレイ部１３０に加えて、ライトイネーブル制御回路１３２を含む。ビット線ドライブ回路１２２Ｌは、ビット線ドライバＢＬＤＷ［９５：０］と、ビット線ドライバＢＬＤＫＬ［９５：０］とを含む。ビット線ドライブ回路１２２Ｒは、ビット線ドライバＢＬＤＫＲ［９５：０］と、ビット線ドライバＢＬＤＷＲ［９５：０］とを含む。
【０１０５】
実施の形態１では、ライト制御回路６によって、１２ビットごとのビットライトイネーブル信号ＢＥ７〜ＢＥ０がメモリアレイのビット線ドライバに送信された。これに対し、実施の形態２では、ライトイネーブル制御回路１３２によって、各ビットに別々のライトイネーブル信号ＷＥＷ［９５：０］が送信される。
【０１０６】
ライトイネーブル制御回路１３２は、ライトイネーブル信号ＷＥＷ［９５：０］，ＷＥＫ［９５：０］を出力する。ビット線ドライバＢＬＤＷ［９５：０］はライトイネーブル信号ＷＥＷ［９５：０］によって活性化され、ビット線ドライバＢＬＤＫＬ［９５：０］は、信号ＷＥＫ［９５：０］によって活性化される。
【０１０７】
ビット線ドライバＢＬＤＷＲ［９５：０］は同じくイネーブル信号ＷＥＷ［９５：０］で活性化され、ビット線ドライバＢＬＤＫＲ［９５：０］は同様にイネーブル信号ＷＥＫ［９５：０］によって活性化される。
【０１０８】
ビット線ドライブ回路は、強／弱２種類の電流を流せるように分割されている点は実施の形態１の場合と同様である。
【０１０９】
図２１は、図２０のライトイネーブル制御回路１３２の構成を示した回路図である。
図２１を参照して、ライトイネーブル信号ＭＷＥは、実施の形態１の場合と同様な信号である。クロック信号ＣＬＫ１は、ライトサイクル中に９６サイクル入力されるクロック信号であり、実施の形態１のような基準ＣＬＫを利用しても良いし、専用に基準ＣＬＫのＮ倍の周波数のクロックを生成して利用することも可能である。リセット信号ＲＳＴ＿Ｎは電源立上がりのときに、ＬレベルからＨレベルに変化する信号である。
【０１１０】
ライトイネーブル制御回路１３２は、ＤフリップフロップＤＦＦ０〜ＤＦＦ９５と、ゲートＧ１〜Ｇ９５と、ＡＮＤ回路Ａ１〜Ａ９５とを含む。ライトイネーブル信号ＭＷＥは、ＤＦＦ９５からＤＦＦ０に向けて順次伝達される。ゲートＧ１〜Ｇ９５は、対応するフリップフロップとその次段のフリップフロップの出力を受けて１クロック幅の書込みパルス幅のライトイネーブル信号を発生する。ＡＮＤ回路Ａ１〜Ａ９５は、ライトイネーブル信号ＭＷＥの立下りと同時にＷＥＫ［１］〜ＷＥＫ［９５］をマスクする。
【０１１１】
図２２は、実施の形態２における書込サイクルを説明するための動作波形図である。図２２の波形図は、図１７におけるイネーブル信号ＭＷＥがイネーブルすなわちＨレベルである波形Ｅ１４，Ｆ１４を複数サイクルにしたものに相当する。
【０１１２】
図２１、図２２を参照して、図示しない回路によって必要に応じてイネーブル信号ＭＷＥが生成され、ＣＰＵ２にサイクルの継続を要求する信号ＢＵＳＹが生成される。イネーブル信号ＭＷＥがイネーブル（Ｈレベル）となると、書込サイクルが開始される。
【０１１３】
図２２において、たとえばクロック信号ＣＬＫ１のｎサイクルでは、イネーブル信号ＷＥＷ［ｎ］，ＷＥＫ［ｎ］がイネーブル（Ｈレベル）となる。イネーブル信号ＷＥＷ［ｎ］はｎサイクルの終わりでディスエーブルとなるが、イネーブル信号ＷＥＫ［ｎ］はライトサイクルの最後までイネーブルを維持する。
【０１１４】
したがって、ビット線ＢＬ［ｎ］には、クロック信号ＣＬＫ１のｎサイクル目では、ビット線ドライバＢＬＤＷＬ，ＢＬＤＫＬおよびビット線ドライバＢＬＤＷＲ，ＢＬＤＫＲによって電流ｉＢＬ＝（ｉＢＬｗ＋ｉＢＬｋ）が流される。そしてｎサイクル目以降では、ビット線ドライバＢＬＤＫＬ，ＢＬＤＫＲによるデータ保持電流ｉＢＬｋのみがビット線ＢＬ［ｎ］に流されることになる。
【０１１５】
以上説明したように、実施の形態２においては、データ書込の電流パルスは各クロックサイクルでビット線１つ分である。データ書込の電流パルスによるトータルのピーク電流は、図２０に示されるように電流ｉＢＬｗとなる。これにより、実施の形態１においてはｉＢＬｗ×９６であったピーク電流が分散され削減される。
【０１１６】
また、データ書込電流パルスの印加後に、データ書込を行なう電流ｉＢＬより小さいデータ保持電流ｉＢＬｋを流すので、ディジット線電流による誤書込を防止できる。
【０１１７】
［実施の形態２の変形例］
実施の形態２では、クロックの１サイクルにデータ書込パルス電流を１つとしたが、複数を同時に印加するようにしてもよい。たとえば、図２１に示した回路を変更し、４８本のビット線の電流パルスを同時に印加するようにしてもよい。
【０１１８】
図２３は、図２１に示したライトイネーブル制御回路の変形例を示した回路図である。
図２３に示すライトイネーブル制御回路は、フリップフロップＤＦＦＡ，ＤＦＦＢとゲート回路ＧＡとＡＮＤ回路ＡＡとを含む。ライトイネーブル信号ＷＥは、図２１の信号ＭＷＥに相当する信号である。リセット信号ＲＳＴ＿ＮはフリップフロップＤＦＦＡ，ＤＦＦＢをロウレベルでリセットする信号である。クロック信号ＣＬＫ２は、ライトサイクル中に２サイクル入力されるクロック信号であり、実施の形態１のような基準ＣＬＫを利用しても良いし、専用に基準ＣＬＫのＮ倍の周波数のクロックを生成して利用することも可能である。
【０１１９】
図２４は、実施の形態２の変形例の動作を説明するための動作波形図である。
図２４に示すように、書込サイクルの前半ＷＣＡにおいては、メモリセルＭＣ（ｎ，９５）〜ＭＣ（ｎ，４８）に書込が実行され、後半の書込サイクルではこれらのメモリセルには保持電流ｉＢＬＸが流される。そして書込サイクルの後半ＷＣＢではメモリセルＭＣ（ｎ，４７）〜ＭＣ（ｎ，０）に対して書込電流ｉＢＬが流される。したがって、図２３において、ＷＥＷ［４７：０］とＷＥＫ［４７：０］は同じ信号になっている。
【０１２０】
実施の形態２の変形例にしても、ピーク電流をｉＢＬ×９６からｉＢＬ×４８＋保持電流に減らすことができる。図２１ではビット線の分割数が９６、図２３では分割数が２であったが、分割数を適宜中間値に変更してもよい。
【０１２１】
［実施の形態３］
図２５は、合計電流の増加について説明するための図である。
【０１２２】
たとえば、１２ｂｉｔ単位で書込を行なうようにすると、常に１２ｂｉｔ分の書込電流が流れ、これに累積的に保持電流が加算されていく。
【０１２３】
この場合、書込サイクルの最後の時点において合計電流はピークとなる。
しかしこのピーク値を平均化することで、電源ノイズの低減化や電源配線の面積低減に繋げることが可能となる。
【０１２４】
図２６は、実施の形態３において用いられるライトイネーブル制御回路２３２の構成を示した回路図である。
【０１２５】
図２７は、改善された合計電流について説明するための図である。
図２６、図２７を参照して、ライトイネーブル制御回路２３２は、ライトイネーブル信号が入力されると、まず１６ｂｉｔに対して１クロックサイクル分の書込パルスを出力し、続いて１４ｂｉｔに対して１クロックサイクル分の書込パルスを出力する。
【０１２６】
続いて書込パルスを１２ｂｉｔに対して３クロックサイクルにわたって順次出力し、最後に書込パルスを８ｂｉｔに対して３クロックサイクルにわたって順次出力する。なお、クロック信号ＣＬＫ３は、ライトサイクル中に８サイクル入力されるクロック信号であり、実施の形態１のような基準ＣＬＫを利用しても良いし、専用に基準ＣＬＫのＮ倍の周波数のクロックを生成して利用することも可能である。
【０１２７】
このようにすれば、図２５の波形ｉＴに示すように、合計電流値は、書込サイクル全体において平均化されることになる。
【０１２８】
すなわち、同時に書込むビット数を初めは１６ｂｉｔと多くし、続いて１４ｂｉｔ，１２ｂｉｔ、８ｂｉｔと徐々に減らすようにして、合計電流を平均化することができる。
【０１２９】
最後に、実施の形態１〜３について再び図面を参照して総括する。図１、図１３に示すように、半導体装置１は、行列状に配列された複数の磁気メモリセルＭＣと、複数の磁気メモリセルＭＣの行に対応して設けられる複数のディジット線ＤＬと、アドレス信号に応じて書込選択行に対応するディジット線ＤＬを駆動するディジット線ドライバ２８Ｂと、複数の磁気メモリセルの列に対応して設けられる複数のビット線ＢＬ［０：９５」とを備える。複数のビット線ＢＬ［０：９５」は、たとえば１２本ごとの複数の群に分割される。半導体装置１は、書込時の制御信号に応じて複数の群の各々を書込群と保持群（非書込群）のいずれかに設定するライト制御回路６と、ライト制御回路６の制御下で（信号ＢＥ０〜ＢＥ７に基づいて）複数のビット線の各々を少なくとも２段階の強度で駆動可能に構成されたビット線ドライブ回路２２Ｌ，２２Ｒとをさらに備える。ビット線ドライブ回路２２Ｌ，２２Ｒは、書込群に対しては、書込データに対応する極性の電流で２段階のうち強い強度でビット線を駆動し、保持群（非書込群）に対しては、２段階のうち弱い強度で自分自身のデータに対応する極性のデータ保持電流を流す。
【０１３０】
このようにすることで、誤書込を防止しつつ、消費電流の増加を抑制することができる。
【０１３１】
半導体装置１は、図２に示すように、書込選択行のデータを読み出すリード回路７をさらに備える。図１６に示すように、ライト制御回路６は、書込データＤ［４７：０］および読出回路が読み出した保持データＤＯＵＴ［４７：０］を受け、制御信号ＢＥ０〜ＢＥ７およびアドレスＡ［２］に応じて、書込群には書込データＤ［４７：０］を与え、保持群（非書込群）には保持データＤＯＵＴ［４７：０］を与える。
【０１３２】
図１６に示すように、ライト制御回路６は、書込データＤ［４７：０］および読出回路が読み出した保持データＤＯＵＴ［４７：０］を受け、制御信号ＢＥ０〜ＢＥ７およびアドレスＡ［２］に応じて、書込群には書込データＤ［４７：０］を与え、保持群（非書込群）には保持データＤＯＵＴ［４７：０］を与えるデータ選択部６Ｂと、制御信号ＢＷＬ０，ＢＷＬ１に応じて、ビット線ドライブ回路に対してビット線ＢＬの複数の群の各々に対して駆動強度を設定する制御信号ＢＥ０〜ＢＥ７を出力する信号発生部（ビットライトイネーブル制御回路６Ｄ）とを含む。
【０１３３】
実施の形態２においては、図２０〜図２２に示すように、ライトイネーブル制御回路１３２は、ビット線ドライブ回路１２２Ｌ，１２２Ｒの書込群に対応する部分を複数に分割して、複数の分割した部分を１つの書込サイクル内でずらして２段階のうち強い強度で駆動するように制御する。
【０１３４】
図２２に示すように、書込群のうちの第１の群ＢＬ［９５］は、書込サイクル内の第１の期間（ＣＬＫサイクル０）に２段階のうち強い強度ｉＢＬで駆動され、書込サイクル内において、書込群のうちの第２の群ＢＬ［９４］は、第１の期間より後の第２の期間（ＣＬＫサイクル１）に２段階のうち強い強度ｉＢＬで駆動され、第２の期間では、第１の群は、２段階のうち弱い強度ｉＢＬｋで駆動される。
【０１３５】
このようにすることで、誤書込を防止しつつ、消費電流のピーク値を減らすことができる。
【０１３６】
同様に、図２４に示すように、書込群のうちの第１の群ＢＬ［９５：４８］は、書込サイクル内の第１の期間（ＷＣＡ）に２段階のうち強い強度ｉＢＬで駆動され、書込サイクル内において、書込群のうちの第２の群ＢＬ［４７：０］は、第１の期間より後の第２の期間（ＷＣＢ）に２段階のうち強い強度ｉＢＬで駆動され、第２の期間では、第１の群は、２段階のうち弱い強度ｉＢＬＸで駆動される。
【０１３７】
このようにすることで、書込電流を分散させることができ、書込電流のピークを減らせるので、電源配線がその分細くてすむ。
【０１３８】
また、図２６、図２７で説明した例では、第１の期間では、第２の群は、駆動されず、第１の群に属するビット線の数（１６ｂｉｔ）は、第２の群に属するビット線の数（１４ｂｉｔ）よりも多い。
【０１３９】
このようにすることで、電流の合計値を平均化することができ、電源配線がその分細くてすむ。すなわち、ビット線ドライバに電源を供給する配線のピーク電流対策を緩和できる。
【０１４０】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１４１】
１  半導体装置、３  基準電位発生回路・電源回路、４  ＭＲＡＭ回路、５  ＭＲＡＭメモリアレイ、６  ライト制御回路、６Ａ  イネーブル信号発生部、６Ｂ  データ選択部、６ＢＡ  保持部、６ＢＢ  セレクタ、６Ｃ  デコード回路、６Ｄ７〜６Ｄ０  複合ゲート回路、６Ｄ  ビットライトイネーブル制御回路、７  リード回路、１００  メモリアレイ、２２Ｌ，２２Ｒ，１２２Ｌ，１２２Ｒ  ビット線ドライブ回路、２４Ｌ，２４Ｒ  コラムプリデコーダ、２６  ロウプリデコーダ、２８Ａ  ワード線ドライバ、２８Ｂ  ディジット線ドライバ、２９  ローカルデコーダ、３０，１３０  メモリアレイ部、３４  スペアロウ、３６  スペアコラム、３８  選択ゲート、４０，４２，ＳＡ  センスアンプ、５２  バッファ、５４，５６，６４，６６  トランジスタ、６２  インバータ、１３２，２３２  ライトイネーブル制御回路、Ａ１〜Ａ９５，ＡＡ  ＡＮＤ回路、ＡＴＲ  アクセストランジスタ、ＢＬ  ビット線、ＢＬＤＫＬ，ＢＬＤＫＲ，ＢＬＤＷＲ，ＢＬＤＷＬ  ビット線ドライバ、ＣＳＬ  コラム選択線、ＤＦＦ０〜ＤＦＦ９５，ＤＦＦＡ，ＤＦＦＢ，ＦＦ  フリップフロップ、ＤＬ，ＤＬ０  ディジット線、ＤＷ０，ＤＷ１  ダミーワード線、Ｇ１〜Ｇ９５，ＧＡ  ゲート回路、ＭＣ，ＭＣＲ  メモリセル、ＴＭＲ  トンネル磁気抵抗素子、ＶＬ  自由磁化膜、ＷＬ，ＷＬ０，ＷＬ１  ワード線。
【図１】
2012094201.tif 000003
【図２】
2012094201.tif 000004
【図３】
2012094201.tif 000005
【図４】
2012094201.tif 000006
【図５】
2012094201.tif 000007
【図６】
2012094201.tif 000008
【図７】
2012094201.tif 000009
【図８】
2012094201.tif 000010
【図９】
2012094201.tif 000011
【図１０】
2012094201.tif 000012
【図１１】
2012094201.tif 000013
【図１２】
2012094201.tif 000014
【図１３】
2012094201.tif 000015
【図１４】
2012094201.tif 000016
【図１５】
2012094201.tif 000017
【図１６】
2012094201.tif 000018
【図１７】
2012094201.tif 000019
【図１８】
2012094201.tif 000020
【図１９】
2012094201.tif 000021
【図２０】
2012094201.tif 000022
【図２１】
2012094201.tif 000023
【図２２】
2012094201.tif 000024
【図２３】
2012094201.tif 000025
【図２４】
2012094201.tif 000026
【図２５】
2012094201.tif 000027
【図２６】
2012094201.tif 000028
【図２７】
2012094201.tif 000029