(57)【要約】【課題】ＭＲＡＭのライト動作は、ＭＴＪ素子の磁化反転に必要な電流をデータ線に流さなければならないため、消費電流が大きい。【解決手段】ライト動作の際にデータエンコーダＷＣにより、メモリセルアレイから読み出した読み出しデータＧＯと比較して、入力データＤＩをエンコードして書き込みデータＧＩとし、読み出しデータＧＯをデータデコーダＲＤによりデコードして出力データＤＯとする。【効果】データ線に電流を流すことによりメモリセルにデータを書き込む不揮発性半導体メモリにおいて、ライト動作の際に書き込みを行うビット数を低減することにより、消費電流を低減できる。それにより、低電力で高集積なメモリを有するＭＲＡＭが実現できる。【選択図】　図１
2004086986.tif 000002
【特許請求の範囲】
【請求項１】
半導体装置であって、
複数のメモリセルを含むメモリアレイと、
前記複数のメモリセルから選択された複数のメモリセルの読み出しデータと比較して、入力データをエンコードして書き込みデータとするデータエンコーダと、
前記読み出しデータをデコードするデータデコーダとを有する半導体装置。
【請求項２】
請求項１に記載の半導体装置において、前記データエンコーダは、前記選択された複数のメモリセルの内、データが反転するメモリセルが半数以下となるようにエンコードする半導体装置。
【請求項３】
請求項２に記載の半導体装置において、
前記データエンコーダは、前記読み出しデータと前記入力データが一致しているビット数が、前記入力データのビット数の半数よりも多いか否かを判定する判定回路を有する半導体装置。
【請求項４】
請求項１に記載の半導体装置において、前記データエンコーダを複数有する半導体装置。
【請求項５】
請求項４に記載の半導体装置は、前記メモリアレイを複数個有し、
前記複数のデータエンコーダは、前記複数のメモリアレイの各々に対応して設けられる半導体装置。
【請求項６】
請求項１に記載の半導体装置において、前記書き込みデータは、前記入力データよりもビット数が多い半導体装置。
【請求項７】
請求項６に記載の半導体装置において、前記データデコーダは、前記読み出しデータの内、特定のビットに応じて他のビットを制御する半導体装置。
【請求項８】
請求項１に記載の半導体装置において、前記選択された複数のメモリセルの内、データが反転するメモリセルにのみ書き込み動作が行われる半導体装置。
【請求項９】
請求項１に記載の半導体装置において、
前記メモリアレイは複数のワード線と交差する複数のデータ線を有し、
前記複数のメモリセルは前記複数のワード線と前記複数のデータ線との所望の交点に配置され、
前記複数のメモリセルの内、前記選択された複数のメモリセルからデータを読み出す際に、前記選択された複数のメモリセルと同じ前記ワード線に接続された非選択のメモリセルは、情報が破壊されない半導体装置。
【請求項１０】
請求項９に記載の半導体装置において、
前記複数のメモリセルの各々は、磁気抵抗素子とトランジスタとを含む半導体装置。
【請求項１１】
請求項１０に記載の半導体装置において、
前記データ線の両端を駆動し書き込み電流を流す第１のライトバッファ及び第２のライトバッファを有する半導体装置。
【請求項１２】
請求項１１に記載の半導体装置において、
前記第１のライトバッファ及び前記第２のライトバッファは、該データ線上の前記メモリセルを反転書き込みする場合のみ、該データ線を駆動する半導体装置。
【請求項１３】
請求項９に記載の半導体装置において、
前記複数のメモリセルの各々は、相変化抵抗素子とトランジスタとを含む半導体装置。
【請求項１４】
半導体装置であって、
複数のワード線と複数のデータ線との所望の交点に配置された複数のメモリセルを含むメモリアレイと、
前記データ線の両端を駆動し書き込み電流を流す第１のライトバッファ及び第２のライトバッファとを有し、
前記複数のメモリセルの各々は、磁気抵抗素子とトランジスタとを含み、
前記第１のライトバッファ及び前記第２のライトバッファは、該データ線上の前記メモリセルを反転書き込みする場合のみ、前記書き込み電流を流す半導体装置。
【請求項１５】
請求項１４に記載の半導体装置は、前記複数のデータ線に前記メモリセルから読み出された信号を検出するセンスアンプを更に有し、
前記第１のライトバッファは、前記センスアンプの出力に応じて該データ線を駆動し、
前記第２のライトバッファは、入力データに応じて該データ線を駆動する半導体装置。
【請求項１６】
半導体装置であって、
複数のワード線と複数のデータ線との所望の交点に配置された複数のメモリセルとを含むメモリアレイと、
前記データ線の両端を駆動し書き込み電流を流すライトバッファとを有し、
前記複数のメモリセルの各々は、相変化抵抗素子とトランジスタとを含み、
前記ライトバッファは、該データ線上の前記メモリセルを反転書き込みする場合のみ、該データ線を駆動する半導体装置。
【請求項１７】
請求項１６に記載の半導体装置は、
前記複数のデータ線に前記メモリセルから読み出された信号を検出するセンスアンプと、
前記センスアンプの出力と入力データを比較する比較回路とを更に有し、
前記比較回路により前記ライトバッファを制御する半導体装置。
【請求項１８】
請求項１７に記載の半導体装置において、前記比較回路は、排他的ＯＲゲートである半導体装置。
【請求項１９】
半導体装置であって、
複数のメモリセルを含むメモリアレイを有し、
前記複数のメモリセルから選択された複数のメモリセルに対して書き込みを行う際に、前記選択された複数のメモリセルからの読み出しデータと外部から入力された書き込みデータとを比較する動作と、前記比較結果に基づいて前記読み出しデータのうち反転するビット数が少なくなるように前記書き込みデータの論理をフラグビットとして決定する動作と、前記フラグビットの論理に対応してデコードされた前記書き込みデータ及び前記フラグビットを前記選択された複数のメモリセルに書き込む動作とを持つ半導体装置。
【請求項２０】
請求項１９に記載の半導体装置は、前記複数のメモリセルから選択された複数のメモリセルから読み出す際に、前記選択された複数のメモリセルの一つに記憶された前記フラグビットに応じて読み出されたデータをデコードして出力する動作を有する半導体装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は半導体装置に関し、特に、磁気抵抗あるいは相変化抵抗を利用して情報を記憶するメモリセルを用いた低電力、高速、高集積な不揮発性メモリを含む半導体装置に関する。
【０００２】
【従来の技術】
不揮発性メモリでありながら、読み書き回数に制限がないメモリとして、マグネトレジスティブ・ランダム・アクセス・メモリ（ＭＲＡＭ）の開発がなされている。ＭＲＡＭは、メモリセル中の強磁性体の磁化の向きで素子の抵抗が異なる磁気抵抗効果を利用して情報を記憶する。近年、マグネト・レジスタンス（ＭＲ）と呼ばれる磁気抵抗変化率が従来の素子よりも大きいマグネティック・トンネル・ジャンクション（ＭＴＪ）素子の開発と、そのＭＲＡＭへの応用が進められ、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）並みの高速読み書き動作が可能で、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）並みの高集積度が実現できる可能性が示された。このことは、例えば、文献１：シンポジウム・オン・ＶＬＳＩ・サーキッツ、ダイジェスト・オブ・テクニカル・ペーパーズ、第１６０頁から第１６３頁（２００２年）（２００２　Ｓｙｍｐｏｓｉｕｍ　Ｏｎ　ＶＬＳＩ　Ｃｉｒｃｕｉｔｓ　Ｄｉｇｅｓｔ　ｏｆ　Ｔｅｃｈｎｉｃａｌ　Ｐａｐｅｒｓ，　ｐｐ．　１６０−１６３．）で述べられている。
【０００３】
図１１は、ＭＲＡＭのメモリセルの基本構成を示している。１個のＭＴＪ素子ＭＴＪと１個のトランジスタＭＴからなり、書き込みワード線ＷＷ及び読み出しワード線ＷＲと、データ線ＤＬに接続される。ＭＴＪ素子ＭＴＪは、通常の動作において磁化の向きが固定された強磁性体の固定層と、書き込み動作により磁化の向きが反転可能な強磁性体の自由層との間に、トンネル絶縁膜が挟まれた構造である。このＭＴＪ素子の２端子間の抵抗は、二つの強磁性体層における磁化の向きによって変化し、同じ向きの時は低抵抗状態、互いに逆向きの時は高抵抗状態となる。
【０００４】
読み出し動作は、図１２に示すように行う。すなわち、読み出しワード線ＷＲを選択することにより、トランジスタＭＭＣを導通させ、ＭＴＪ素子ＭＴＪの端子間に電圧を印加し、データ線ＤＬを介してＭＴＪ素子ＭＴＪの磁気抵抗に応じて流れる電流ＩＤＬを検出することにより、記憶情報を読み出す。一方、書き込み動作は、図１３に示すように行う。すなわち、選択された書き込みワード線ＷＷの電流ＩＷＷを、書き込みワード線電流ＩＷＳとし、データ線ＤＬに書き込みデータに応じた書き込み電流ＩＤ１あるいはＩＤ０を流すことにより行う。この時、ＭＴＪ素子の低抵抗状態に対する高抵抗状態の抵抗増加分の比率である磁化抵抗変化ＭＲは、図１４に示すようなヒステリシス特性を示す。書き込みワード線電流ＩＷＳで生じるハードアクシス磁界により、ＭＴＪ素子の磁化反転が起こりやすくなり、イージーアクシス磁界を生じさせるデータ線電流ＩＤＬに対して狭いヒステリシス特性となる。これにより、書き込みワード線ＷＷにより選択したメモリセルのみ磁化反転させて記憶情報を書き込むことができる。なお、図１２から図１４では、ＭＴＪ素子の低抵抗状態を’１’，高抵抗状態を’０’としているが、逆であっても構わない。
【０００５】
ＭＲＡＭと同様に、高速で高集積な不揮発性メモリを目指して、相変化メモリも開発が進められている。例えば、文献２：アイ・イー・イー・イー、インターナショナル・ソリッドステート・サーキッツ・コンファレンス、ダイジェスト・オブ・テクニカル・ペーパーズ、第２０２頁から第２０３頁（２００２年）（２００２　ＩＥＥＥ　Ｉｎｔｅｒｎａｔｉｏｎａｌ　Ｓｏｌｉｄ−Ｓｔａｔｅ　Ｃｉｒｃｕｉｔｓ　Ｃｏｎｆｅｒｅｎｃｅ，　Ｄｉｇｅｓｔ　ｏｆ　Ｔｅｃｈｎｉｃａｌ　Ｐａｐｅｒｓ，ｐｐ．　２０２−２０３．）で述べられている。相変化メモリは、相変化材料の状態により抵抗が異なることを利用して情報を記憶する。相変化抵抗の書き換えは、電流を流して発熱させることにより行う。
【０００６】
【発明が解決しようとする課題】
本願発明者等は、本願に先立って、ＭＲＡＭを高集積化した場合の書きこみ動作での消費電流について検討を行った。現状、図１３に示した書き込みワード線電流ＩＷＳ及びた書き込み電流ＩＤ１あるいはＩＤ０は、十分大きな磁界を発生させるために、２ｍＡから８ｍＡ程度の大きさが必要である。文献１では、ワード線及びデータ線が発生する磁界をＭＴＪ素子側に集中させるクラッディングという技術を提案しているが、４ｍＡ程度の電流を用いている。同時に書き込むビット数が大きくなると、それと同数のデータ線に書き込み電流を流すため、合計の書き込み電流が大きくなることを本願発明者等は見いだした。また、一般に、強磁性体の面積を小さくすると、磁化反転に必要な磁界が大きくなり、さらに大きな電流が必要となることを本願発明者等は見いだした。
【０００７】
また、相変化メモリも、相変化抵抗に十分な温度上昇を起こすために書き込みに要する電流が大きい。しかも、読み出しと書き込みが同じ電流経路であり、読み出しによるディスターブを防止するためには、読み出し電流と書き込み電流とに所望の比率で差をつけなければならない。そのため、高速な読み出し動作のために読み出し電流を大きくしようとすると、書き込み電流も大きくしなければならないことを本願発明者等は見いだした。
【０００８】
そこで本願発明の目的は、書き込み時の消費電流が小さく低電力で、高集積な高速不揮発性メモリを実現することにある。
【０００９】
【課題を解決するための手段】
上記目的を達成するための本発明の代表的な手段の一つを示せば以下の通りである。即ち、データ線に電流を流すことによりメモリセルにデータを書き込む不揮発性半導体メモリにおいて、ライト動作の際に、選択メモリセルの読み出しを行い、外部から入力された入力データと不一致のビットのみ、反転書き込みを行うことにある。さらに望ましくは、選択された複数のメモリセルのデータを反転させる個数が少なくなるよう、エンコードして該複数のメモリセルの書き込みデータとするエンコーダと、選択された複数のメモリセルからの読み出しデータをデコードして、外部へ出力する出力データとするデコーダとを有することにある。
【００１０】
【発明の実施の形態】
以下、本発明の実施例について図面を用いて詳細に説明する。実施例の各機能ブロックを構成する回路素子は、特に制限されないが、公知のＣＭＯＳ（相補型ＭＯＳトランジスタ）等の集積回路技術によって、単結晶シリコンのような半導体基板上に形成される。図面で、ＰＭＯＳトランジスタにはボディに矢印の記号を付すことで、ＮＭＯＳトランジスタと区別することとする。図面にはＭＯＳトランジスタの基板電位の接続は特に明記していないが、ＭＯＳトランジスタが正常動作可能な範囲であれば、その接続方法は特に限定しない。また、特に断りの無い場合、信号のロウレベルを’０’，ハイレベルを’１’とする。
（第１の実施例）
図１は、本発明によるメモリの要部ブロック図である。データエンコーダＷＣとデータデコーダＲＤを設けていることが特長である。ここでは、同期式メモリの構成例を示している。クロックバッファＣＬＫＢ，　コマンドバッファＣＢ，　コマンドデコーダＣＤ，　アドレスバッファＡＢ，　アドレスカウンタＡＣＴ，　入力バッファＤＩＢ，　出力バッファＤＯＢを有し、さらにメモリアレイＭＡＲを含んだセクタＳＣＴ０，　ＳＣＴ１，　…が設けられている。セクタはバンクに対応している設けられるが、バンクあたり複数個のセクタとしてもよい。セクタはさらに、ロウプリデコーダＸＰＤ，　カラムプリデコーダＹＰＤ，　データエンコーダＷＣ，データデコーダＲＤなどを有する。
【００１１】
各回路ブロックは、以下のような役割を果たす。クロックバッファＣＬＫＢは、外部クロックＣＬＫを内部クロックＣＬＫＩとして、コマンドデコーダＣＤなどに分配する。コマンドデコーダＣＤは、コマンドバッファＣＢが取り込む外部からの制御信号ＣＭＤに応じて、アドレスバッファＡＢ、カラムアドレスカウンタＹＣＴ、入力バッファＤＩＢ、出力バッファＤＯＢなどを制御する制御信号ＣＰを発生する。アドレスバッファＡＢは、外部クロックＣＬＫに応じた所望のタイミングで、外部からのアドレスＡＤＲを取り込み、アドレスカウンタＡＣＴへ送る。アドレスカウンタＡＣＴはそのアドレスを初期値として、バースト動作を行うアドレスを発生し、ロウアドレスＢＸをロウアドレスプリデコーダＸＰＤへ、カラムアドレスＢＹをカラムアドレスプリデコーダＹＰＤへ送る。ロウアドレスプリデコーダＸＰＤは、ロウアドレスＢＸをプリデコードし、ロウプリデコードアドレスＣＸをメモリアレイＭＡＲへ出力する。カラムアドレスプリデコーダＹＰＤによりプリデコードして、カラムプリデコードアドレスＣＹをメモリアレイＭＡＲへ出力する。入力バッファＤＩＢは、外部との入出力データＤＱのデータを所望のタイミングで取り込む。データエンコーダＷＣは、メモリアレイＭＡＲからの読み出しデータＧＯと比較して、入力データＤＩをエンコードし、書き込みデータＧＩをメモリアレイＭＡＲへ出力する。一方、データデコーダＲＤは、読み出しデータＧＯをデコードし、出力データＤＯを出力バッファＤＯＢへ送る。出力バッファＤＯＢは、入出力データＤＱへ所望のタイミングで、出力データＤＯを出力する。
【００１２】
ここで、メモリアレイＭＡＲは、後で示すように、ＭＴＪ素子とトランジスタを含んだメモリセルを配置して構成される。また、データエンコーダＷＣとデータデコーダＲＤにより、通常のバイナリの入出力データＤＱに対し、メモリアレイＭＡＲに書き込むデータを、反転するビット数が少なくなるコードにする。このコーディングは、バス・インバート・コーディング（Ｂｕｓ−Ｉｎｖｅｒｔ　Ｃｏｄｉｎｇ）と呼ばれ、文献３：アイ・イー・イー・イー　トランズアクションズ・オン・ベリー・ラージ・スケール・インテグレーション（ＶＬＳＩ）システムズ、第３巻１号、第４９頁から第５８頁、１９９５年３月（ＩＥＥＥ　Ｔｒａｎｓａｃｔｉｏｎｓ　ｏｎ　Ｖｅｒｙ　Ｌａｒｇｅ　Ｓｃａｌｅ　Ｉｎｔｅｇｒａｔｉｏｎ　（ＶＬＳＩ）　Ｓｙｓｔｅｍｓ，　Ｖｏｌ．　３，　Ｎｏ．　１，　ｐｐ．　４９−５８．　Ｍａｒｃｈ　１９９５．）に示されているコーディングと同様なコーディングである。文献３では、バス・インバート・コーディングにより、チップ間のバスのデータについて、反転するビット数の最大値を半減でき、平均的な個数を低減できることが述べられている。このようなコーディングを用いることにより、メモリアレイＭＡＲ中で反転書き込みするメモリセル数の最大値を半減できる。それにより、書き込み時のメモリアレイＭＡＲの合計の消費電流の最大値を低減できる。また、消費電流の平均値も低減される。
【００１３】
データエンコーダＷＣをセクタ毎に設けることにより、データをエンコードする際に、メモリアレイＭＡＲから読み出した読み出しデータＧＯをデータエンコーダＷＣまで伝達するパスを短くしている。それにより、読み出しデータＧＯの伝達に伴う遅延時間と消費電力を小さくしている。ここでは、データデコーダＲＤも、データエンコーダＷＣに合わせて、セクタ毎に設けている。
【００１４】
以下に、データエンコーダＷＣとデータデコーダＲＤの構成と動作を説明する。以下では、８ビットのバイナリの入力データＤＩを、データエンコードＷＣにより、フラグとして１ビットを加えた９ビットの書き込みデータＧＩにエンコードする場合を示す。逆に、９ビットの読み出しデータＧＯを、データデコーダＲＤにより、フラグを取り除いた８ビットの出力データＤＯにデコードする。ここで、８ビットのバイナリの入力データＤＩは、相補信号ＤＩ０ｔ〜ＤＩ７ｔ，ＤＩ０ｂ〜ＤＩ７ｂで伝達される。また、９ビットの書き込みデータＧＩも、相補信号ＧＩ０ｔ〜ＧＩ８ｔ，ＧＩ０ｂ〜ＧＩ８ｂで伝達される。同様に、９ビットの読み出しデータＧＯも、相補信号ＧＯ０ｔ〜ＧＯ８ｔ，ＧＯ０ｂ〜ＧＯ８ｂで伝達される。一方、８ビットの出力データＤＯは、トゥルー信号ＤＯ０〜ＤＯ７で伝達される。本発明は、このデータ伝達方法に限定されないことはもちろん、このビット数に限定されず、他のビット数でも適用可能である。ただし、ビット数が大きいとデータエンコーダＷＣ及びデータデコーダＲＤの回路規模が大きくなり、ビット数が小さいとフラグの分のメモリセル数が増加する。そのため、８ビットを９ビットにするコーディング程度が適当である。１６ビット構成のメモリの場合、上位８ビットと下位８ビットに分けて、それぞれコーディングすることが望ましい。
【００１５】
図２は、データエンコーダＷＣの構成例を示している。８ビットの入力データＤＩ０ｔ〜ＤＩ７ｔ，ＤＩ０ｂ〜ＤＩ７ｂに対応した８個のデータ制御回路ＧＩＣと、フラグ制御回路ＧＦＣと、判定回路ＩＦＤにより構成される。データ制御回路ＧＩＣは、入力データＤＩ０ｔ〜ＤＩ７ｔ，ＤＩ０ｂ〜ＤＩ７ｂと読み出しデータＧＯ０ｔ〜ＧＯ７ｔ，ＧＯ０ｂ〜ＧＯ７ｂを比較し、判定回路ＩＦＤが出力する制御信号ＤＩＦｔ，　ＤＩＦｂにより制御されて、書き込みデータＧＩ０ｔ〜ＧＩ７ｔ，ＧＩ０ｂ〜ＧＩ７ｂを出力する。フラグ制御回路ＧＦＣは、フラグの読み出しデータＧＯ８ｔ，ＧＯ８ｂを受け、制御信号ＤＩＦｔ，　ＤＩＦｂにより制御されて、フラグの書き込みデータＧＩ８ｔ，ＧＩ８ｂを出力する。判定回路ＩＦＤは、８個のデータ制御回路ＧＩＣのデータ比較結果ＤＨ０〜ＤＨ７及びフラグの読み出しデータＧＯ８ｔに応じて、制御信号ＤＩＦｔ，　ＤＩＦｂを出力する。この制御信号ＤＩＦｔ，　ＤＩＦｂは、データを反転させるか否かを示し、反転させる場合にはＤＩＦｔが’０’，ＤＩＦｂが’１’となる。
【００１６】
図３は、図２中の判定回路ＩＦＤの構成例を示している。この回路は、データ比較結果ＤＨ０〜ＤＨ７及びフラグの読み出しデータＧＯ８ｔの９個の入力に対し、’１’が５個以上であるか否かを判定する。２個の論理回路ＩＣ４と、論理回路ＩＣ４Ｄからなる。論理回路ＩＣ４は、３個の２入力ＮＡＮＤゲートと、３個の２入力ＮＯＲゲートと、２入力ずつのＯＲをとってＮＡＮＤをとる４入力複合ゲートと、２入力のＯＲをとって他の２入力とＮＡＮＤをとる複合ゲートで構成されている。この論理回路ＩＣ４は、４入力の’１’の個数に応じた出力を得る回路である。例えば、データ比較結果ＤＨ０〜ＤＨ３が入力される論理回路ＩＣ４の出力ＤＨＬ１〜ＤＨＬ４は以下のようになる。ＤＨＬ１は、ＤＨ０〜ＤＨ３のいずれかが’１’で、’１’が１個以上の時に、’１’となる。ＤＨＬ２は、ＤＨ０〜ＤＨ３中に’１’が２個以上の時に’１’となる。ＤＨＬ３は、ＤＨ０〜ＤＨ３中に’１’が３個以上の時に’１’となる。ＤＨＬ４は、ＤＨ０〜ＤＨ３がすべて’１’で、’１’の個数が４個の時、’１’となる。論理回路ＩＣ４の以上のような出力ＤＨＬ１〜ＤＨＬ４及びＤＨＵ１〜ＤＨＵ４と、読み出しデータＧＯ８ｔが、論理回路ＩＣ４Ｄに入力される。論理回路ＩＣ４Ｄは、２個の２入力ＮＯＲゲートと、７個の２入力ＮＡＮＤゲートと、４入力のＯＲをとって他の入力とＮＡＮＤをとる複合ゲートと、４入力ＮＡＮＤゲートと、インバータから構成される。この論理回路ＩＣ４Ｄにより、データ比較結果ＤＨ０〜ＤＨ７及びフラグの読み出しデータＧＯ８ｔの９個の入力に対し、’１’が５個以上の時、判定結果ＤＩＦｔが’１’，ＤＩＦｂが’０’となる。
【００１７】
この判定回路は、スタティックなＣＭＯＳ論理ゲートで構成されており、タイミングを制御する信号を用いていない。そのため、コーディングによる書き込みデータの遅延を小さくできる。この判定回路は、複合ゲートを用いることにより、ゲート段数を少なくして遅延時間を小さくすると共に、回路規模を小さくしている。このようなＣＭＯＳ論理ゲートではなく、多入力の差動アンプを用いて判定回路を構成することもできる。その場合、図３に示した判定回路に比べて、動作タイミングの設定などＳ／Ｎ確保に向けた工夫が必要であるが、素子数が低減できる。
【００１８】
図４は、図２中のデータ制御回路ＧＩＣの構成例を示している。図の記号中のｉが、０〜７のいずれかであることにより、図２に対応する。４個のＰＭＯＳトランジスタと４個のＮＭＯＳトランジスタからなる論理ゲートＸＯＲを２個と、インバータＩＮＶと、２個の２入力ＮＡＮＤゲートＮＤ２と、２入力ずつのＯＲをとってＮＡＮＤをとる４入力複合ゲートＯＮＡ２を２個と、２入力ＮＡＮＤゲートとインバータからなる２個の書き込みデータドライバＧＩＤで構成される。書き込みデータドライバＧＩＤは、エネーブル信号ＧＩＥにより制御され、書き込みデータＧＩｉｔ，　ＧＩｉｂを出力する。論理ゲートＸＯＲにより、相補信号の入力データＤＩｉｔ，　ＤＩｉｂと読み出しデータＧＯｉｔ，　ＧＯｉｂとの排他的ＮＯＲをとり、データ比較結果ＤＨｉを出力する。また、インバータＩＮＶと論理ゲートＸＯＲにより、データ比較結果ＤＨｉと相補信号の判定結果ＤＩＦｔ，　ＤＩＦｂとの排他的ＯＲを取り、制御信号ＧＩｉＥを発生する。この制御信号ＧＩｉＥは、反転書き込みが必要か否かを示す信号である。制御信号がＧＩｉＥが’０’ならば、書き込みデータＧＩｉｔ，　ＧＩｉｂを両方’０’とする。制御信号がＧＩｉＥが’１’ならば、制御信号ＤＩＦｔが’０’，ＤＩＦｂが’１’の場合には、入力データＤＩｉｔ，　ＤＩｉｂのトゥルー信号とバー信号を入れ替えて書き込みデータＧＩｉｔ，　ＧＩｉｂとして出力し、ＤＩＦｔが’１’でＤＩＦｂが’０’の場合には、入力データＤＩｉｔ，　ＤＩｉｂをそのまま書き込みデータＧＩｉｔ，　ＧＩｉｂとして出力する。個の構成では、複合ゲートを用いることにより、少ないゲート段数で所望の論理を実現している。特に、入力データＤＩｉｔ，　ＤＩｉｂ及び読み出しデータＧＯｉｔ，　ＧＯｉｂと判定結果ＤＩＦｔ，　ＤＩＦｂを相補信号とすることにより、排他的ＮＯＲ及び排他的ＯＲを１段のゲートで構成し、遅延時間の低減を小さくしている。
【００１９】
図５は、図２中のフラグ制御回路ＧＦＣの構成例を示している。４個のＰＭＯＳトランジスタと４個のＮＭＯＳトランジスタからなる論理ゲートＸＯＲと、２個の２入力ＮＡＮＤゲートＮＤ２と、２個のインバータＩＮＶと、２入力ＮＡＮＤゲートとインバータからなる２個の書き込みデータドライバＧＩＤで構成される。図４のデータ制御回路ＧＩＣと同様に、書き込みデータドライバＧＩＤは、エネーブル信号ＧＩＥにより制御され、書き込みデータＧＩ８ｔ，　ＧＩ８ｂを出力する。論理ゲートＸＯＲにより、相補信号のフラグの読み出しデータＧＯ８ｔ，　ＧＯ８ｂと判定結果ＤＩＦｔ，　ＤＩＦｂとの排他的ＮＯＲを取り、制御信号ＧＩ８Ｅを発生する。この制御信号ＧＩ８Ｅは、図４中の制御信号と同様ＧＩｉＥと同様に、反転書き込みが必要か否かを示す信号である。制御信号がＧＩ８Ｅが’０’ならば、書き込みデータＧＩ８ｔ，　ＧＩ８ｂを両方’０’とする。制御信号がＧＩ８Ｅが’１’ならば、判定結果ＤＩＦｔ，　ＤＩＦｂをそのまま書き込みデータＧＩ８ｔ，　ＧＩ８ｂとして出力する。判定結果ＤＩＦｔ，　ＤＩＦｂに対して、この書き込みデータＧＩ８ｔ，　ＧＩ８ｂを出力するパスは、図４のデータ制御回路ＧＩＣが書き込みデータＧＩｉｔ，　ＧＩｉｂを出力するパスと同じ段数となっており、遅延時間をほぼ揃えることができる。
【００２０】
図６は、データデコーダＲＤの構成例を示している。８ビットの出力データＤＯ０〜ＤＯ７に対応して設けられ、フラグの読み出しデータＧＯ８ｔ，　ＧＯ８ｂにより制御される８個のデータ制御回路ＤＯＤにより構成されている。なお、フラグの読み出しデータＧＯ８ｔ，　ＧＯ８ｂについて、８個のデータ制御回路ＤＯＤに入力することにより、負荷容量が過大になる場合には、偶数段のインバータ列によるバッファを設ければ良い。
【００２１】
図７は、図６中のデータ制御回路ＤＯＤの構成例を示している。図の記号中のｉが、０〜７のいずれかであることにより、図６に対応する。２入力ずつのＡＮＤをとってＮＯＲをとる４入力複合ゲートＮＡＯ２と、２個のＰＭＯＳトランジスタと２個のＮＭＯＳトランジスタからなるトライステートインバータＴＩＶで構成される。４入力複合ゲートＮＡＯ２は、相補信号であるフラグの読み出しデータＧＯ８ｔ，　ＧＯ８ｂにより、読み出しデータＧＯｉｔ，　ＧＯｉｂのいずれかを選択する。トライステートインバータＴＩＶは、エネーブル信号ＤＯＥｂがロウ，ＤＯＥｔがハイになることにより、出力データＤＯｉを出力する。このようにトライステートインバータを用いているのは、出力データＤＯｉは、図１に示しているように、複数のセクタＳＣＴ０，　ＳＣＴ１，　…から駆動されるバスであるためである。このように、簡単な回路構成で読み出しデータのエンコードは実現できる。遅延時間は小さく、リードのアクセス時間への影響は小さい。
【００２２】
図８は、図１中のメモリアレイＭＡＲの構成例を示している。メモリセルアレイＭＣＡ、ロウデコーダＸＤＥＣ、ワードドライバ群ＷＤＰ、データ線制御回路ＣＣＮ，　ＣＣＦを有する。ここでは、簡単のため、参照信号発生用のダミーセルなどは省略している。また、メモリ容量によっては、このような構成を繰り返して図１のメモリアレイＭＡＲとしても良い。メモリセルアレイＭＣＡは、書き込みワード線ＷＷ０，　ＷＷ１，　ＷＷ２，ＷＷ３，　…及び読み出しワード線ＷＲ０，　ＷＲ１，　ＷＲ２，　ＷＲ３，　…と、データ線ＤＬ０，　ＤＬ１，　ＤＬ２，　ＤＬ３，　…の交点に、メモリセルＭＣが設けられる。メモリセルＭＣは、両端を接地されたソース線ＳＬ０１，　ＳＬ２３，　…にも接続される。書き込みワード線ＷＷ０，　ＷＷ１，　ＷＷ２，　ＷＷ３，　…及び読み出しワード線ＷＲ０，　ＷＲ１，　ＷＲ２，　ＷＲ３，　…は、駆動回路を含むワードドライバ群ＷＤＰにより制御される。データ線ＤＬ０，　ＤＬ１，　ＤＬ２，　ＤＬ３，　…は、センスアンプ及びライトバッファを含むデータ線制御回路ＣＣＮ，　ＣＣＦにより両端を制御される。
【００２３】
各メモリセルＭＣは、１個のＭＴＪ素子ＭＴＪと１個のトランジスタＭＴからなる。ＭＴＪ素子ＭＴＪは、通常の動作において磁化の向きが固定された強磁性体の固定層と、書き込み動作により磁化の向きが反転可能な強磁性体の自由層との間に、トンネル絶縁膜が挟まれた構造である。このＭＴＪ素子の２端子間の抵抗は、二つの強磁性体層における磁化の向きによって変化し、同じ向きの時は低抵抗状態、互いに逆向きの時は高抵抗状態となる。メモリセルＭＣの読み出し動作は、図１２に示すように行う。すなわち、ＷＲ０，　ＷＲ１，　ＷＲ２，　ＷＲ３，　…中で選択した読み出しワード線ＷＲをハイレベルにすることにより、該ワード線に接続されたメモリセル中でトランジスタＭＴを導通させてＭＴＪ素子ＭＴＪの端子間に電圧を印加し、ＭＴＪ素子ＭＴＪの磁気抵抗に応じて、ＤＬ０，　ＤＬ１，　ＤＬ２，　ＤＬ３，　…中の所望のデータ線を介して流れる電流ＩＤＬを検出することにより、記憶情報を読み出す。一方、書き込み動作は、図１３に示すように行う。すなわち、ＷＷ０，　ＷＷ１，　ＷＷ２，　ＷＷ３，　…中で選択された書き込みワード線の電流ＩＷＷを、書き込みワード線電流ＩＷＳとし、ＤＬ０，ＤＬ１，　ＤＬ２，　ＤＬ３，　…中で選択したデータ線の電流を、書き込みデータに応じて正の書き込み電流ＩＤ１あるいは負のＩＤ０とすることにより磁界を発生させて行う。
【００２４】
ロウデコーダＸＤＥＣは、ロウプリデコードアドレスＣＸをデコードし、ロウデコード信号ＸＡ０，　ＸＡ１，　ＸＡ２，　ＸＡ３，　…をワードドライバ群ＷＤＰへ出力する。ワードドライバ群ＷＤＰは、書き込みワード線ＷＷ０，　ＷＷ１，　ＷＷ２，　ＷＷ３，　…及び読み出しワード線ＷＲ０，　ＷＲ１，　ＷＲ２，　ＷＲ３，　…に対応して、それぞれ２入力ＮＡＮＤゲートとインバータからなるワードドライバＷＷＤ及びＷＲＤが設けられて構成される。ワードドライバＷＷＤは、書き込みワード線駆動のエネーブル信号ＷＷＥが’１’の時、ロウデコード信号ＸＡ０，　ＸＡ１，　ＸＡ２，　ＸＡ３，　…により選択されて、書き込みワード線ＷＷ０，　ＷＷ１，　ＷＷ２，　ＷＷ３，　…のいずれかを駆動する。書き込みワード線ＷＷ０，　ＷＷ１，　ＷＷ２，　ＷＷ３，　…は、ワードドライバ群ＷＤＰとアレイを挟んだ反対側が接地されており、選択された書き込みワード線に書き込みワード線電流が流れる。ワードドライバＷＲＤは、読み出しワード線駆動のエネーブル信号ＷＲＥが’１’の時、ロウデコード信号ＸＡ０，　ＸＡ１，　ＸＡ２，　ＸＡ３，　…により選択されて、読み出しワード線ＷＲ０，　ＷＲ１，　ＷＲ２，　ＷＲ３，　…のいずれかを駆動する。
【００２５】
図９は、図８中のデータ線制御回路ＣＣＮの構成例を示している。ここでは、９ビットずつの読み出しあるいは書き込みを、１４４本のデータ線ＤＬ０〜ＤＬ１４３に対して行う例を示しており、３ビット分ずつ３分割された構成としている。３個のカラムデコーダＹＤ１６と、９個のライトバッファＷＢＮと、９個のセンスアンプＳＡと、３個のカラムセレクタＹＳＮ３からなる。カラムデコーダＹＤ１６は、カラムプリデコードアドレスＣＹをデコードし、相補信号のカラム選択信号ＹＮ０ｔ〜ＹＮ１５ｔとＹＮ０ｂ〜ＹＮ１５ｂ，ＹＮ１６ｔ〜ＹＮ３１ｔとＹＮ１６ｂ〜ＹＮ３１ｂ，ＹＮ３２ｔ〜ＹＮ４７ｔとＹＮ３２ｂ〜ＹＮ４７ｂの１６対から１対ずつを選択する。ライトバッファＷＢＮは、インバータとＰＭＯＳトランジスタとＮＭＯＳトランジスタとで構成され、書き込みデータＧＩ０ｔ〜ＧＩ８ｔ，ＧＩ０ｂ〜ＧＩ８ｂを受け、共通データ線ＤＮ０〜ＤＮ８を駆動する。例えば、書き込みデータＧＩ０ｔがハイであれば共通データ線ＤＮ０をハイに駆動し、ＧＩ０ｂがロウであればＤＮ０をロウに駆動する。ここで、書き込みデータＧＩ０ｔ，　ＧＩ０ｂが両方ロウである場合には、ハイインピーダンス状態となる。センスアンプＳＡは、メモリセルの読み出し動作の際、共通データ線ＤＮ０〜ＤＮ８の信号を検出して、読み出しデータＧＯ０ｔ〜ＧＯ８ｔ，ＧＯ０ｂ〜ＧＯ８ｂを出力する。カラムセレクタＹＳＮ３は、それぞれ４８本のデータ線ＤＬ０〜ＤＬ４７，　ＤＬ４８〜ＤＬ９５，　ＤＬ９６〜ＤＬ１４３の各々に、カラム選択信号ＹＮ０ｔ〜ＹＮ１５ｔとＹＮ０ｂ〜ＹＮ１５ｂ，ＹＮ１６ｔ〜ＹＮ３１ｔとＹＮ１６ｂ〜ＹＮ３１ｂ，ＹＮ３２ｔ〜ＹＮ４７ｔとＹＮ３２ｂ〜ＹＮ４７ｂにより制御される１個のＰＭＯＳトランジスタと２個のＮＭＯＳが接続されてなり、４８本のデータ線から３本を共通データ線ＤＮ０〜ＤＮ２，　ＤＮ３〜ＤＮ５，　ＤＮ６〜ＤＮ８に接続する。非選択のデータ線は、接地電圧ＶＳＳに保つ。例えば、カラム選択信号ＹＮ０ｔがハイ、ＹＮ０ｂがロウになると、データ線ＤＬ０〜ＤＬ２を共通データ線ＤＮ０〜ＤＮ２に接続し、データ線ＤＬ３〜ＤＬ４７をＶＳＳに保つ。
【００２６】
図１０は、図８中のデータ線制御回路ＣＣＦの構成例を示している。図９のデータ線制御回路ＣＣＮがメモリセルの読み出しと書き込みの両方に寄与するのに対し、このデータ線制御回路ＣＣＦは書き込みのみに用いられる。図９のデータ線制御回路ＣＣＮに対応し、９ビットずつの書き込みを、１４４本のデータ線ＤＬ０〜ＤＬ１４３に対して行う例を示しており、３ビット分ずつ３分割された構成としている。３個のカラムデコーダＹＤ１６と、９個のライトバッファＷＢＦと、３個のカラムセレクタＹＳＦ３からなる。カラムデコーダＹＤ１６は、カラムプリデコードアドレスＣＹをデコードし、相補信号のカラム選択信号ＹＦ０ｔ〜ＹＦ１５ｔとＹＦ０ｂ〜ＹＦ１５ｂ，ＹＦ１６ｔ〜ＹＦ３１ｔとＹＦ１６ｂ〜ＹＦ３１ｂ，ＹＦ３２ｔ〜ＹＦ４７ｔとＹＦ３２ｂ〜ＹＦ４７ｂの１６対から１対ずつを選択する。ライトバッファＷＢＦは、図９中のライトバッファＷＢＮと同様に、インバータとＰＭＯＳトランジスタとＮＭＯＳトランジスタとで構成され、書き込みデータＧＩ０ｔ〜ＧＩ８ｔ，ＧＩ０ｂ〜ＧＩ８ｂを受け、共通データ線ＤＦ０〜ＤＦ８を駆動する。ここで、図９中のライトバッファＷＢＮとは、書き込みデータＧＩ０ｔ〜ＧＩ８ｔ，ＧＩ０ｂ〜ＧＩ８ｂが逆に接続されている。例えば、書き込みデータＧＩ０ｔがハイであれば共通データ線ＤＦ０をロウに駆動し、ＧＩ０ｂがロウであればＤＦ０をハイに駆動する。書き込みデータＧＩ０ｔ，　ＧＩ０ｂが両方ロウである場合には、ハイインピーダンス状態となる。カラムセレクタＹＳＮ３は、それぞれ４８本のデータ線ＤＬ０〜ＤＬ４７，　ＤＬ４８〜ＤＬ９５，　ＤＬ９６〜ＤＬ１４３の各々に、カラム選択信号ＹＦ０ｔ〜ＹＦ１５ｔとＹＦ０ｂ〜ＹＦ１５ｂ，ＹＦ１６ｔ〜ＹＦ３１ｔとＹＦ１６ｂ〜ＹＦ３１ｂ，ＹＦ３２ｔ〜ＹＦ４７ｔとＹＦ３２ｂ〜ＹＦ４７ｂにより制御される１個のＰＭＯＳトランジスタと１個のＮＭＯＳが接続されてなり、４８本のデータ線から３本を共通データ線ＤＦ０〜ＤＦ２，　ＤＦ３〜ＤＦ５，　ＤＦ６〜ＤＦ８に接続する。例えば、カラム選択信号ＹＦ０ｔがハイ、ＹＦ０ｂがロウになると、データ線ＤＬ０〜ＤＬ２を共通データ線ＤＦ０〜ＤＦ２に接続する。
【００２７】
このようにライトバッファＷＢＮ，　ＷＢＦを構成することにより、書き込みデータの信号が両方ロウである場合に、ライトバッファが両方ハイインピーダンス状態となり、データ線に電流を流さないように制御できる。すなわち、不要な書き込み電流を防止できる。
【００２８】
本実施例のようにデータをコーディングすると、フラグを付加することにより、同時に選択するメモリセル数が２のべき乗ではなくなってしまう。８ビットを９ビットにコーディングする場合、このようにデータ線制御回路ＣＣＮ，　ＣＣＦを構成し、３ビットずつに３分割することにより、データパスを揃えることができ、センスアンプなどのタイミング制御が容易になる。
【００２９】
図１５は、以上に説明してきた同期式ＭＲＡＭのリード動作のタイミングの例を示している。このタイミングチャートに従い、動作を説明する。外部クロックＣＬＫの立ち上がり毎に、コマンドデコーダＣＤが制御信号ＣＭＤを判断する。リードコマンドＲが与えられることにより、アドレスＡＤＲからロウアドレス及びカラムアドレスをアドレスバッファＡＢに取り込む。アドレスバッファＡＢに取り込んだカラムアドレスを初期値として、アドレスカウンタＡＣＴがクロックサイクル毎に動作し、ロウアドレスＢＸとカラムアドレスＢＹを出力する。これを受けて、ロウアドレスプリデコーダＸＰＤがロウプリデコードアドレスＣＸを、カラムアドレスプリデコーダＹＰＤがカラムプリデコードアドレスＣＸを出力し、メモリアレイＭＡＲ内で、読み出し用ワード線ＷＲとカラム選択信号ＹＳが選択される。それにより選択されたデータ線に、データ線電流ＩＤＬが流れる。これをセンスアンプＳＡが検出して読み出しデータＧＯを出力する。データデコーダＲＤにより読み出しデータＧＯをデコードして、出力データＤＯを出力バッファＤＯＢへ送る。さらに出力バッファＤＯＢが外部クロックＣＬＫに応じたタイミングでデータを入出力データＤＱへ出力する。ここでは、リードコマンドＲに対してクロックＣＬＫの２サイクル後の立ち上りに応じて、入出力データＤＱへ出力しており、リードレイテンシが３の場合を示している。クロックＣＬＫのサイクル毎に、以上の動作が繰り返される。
【００３０】
図１６は、ライト動作のタイミングの例を示している。リードコマンドＷが与えられることにより、アドレスＡＤＲからロウアドレス及びカラムアドレスをアドレスバッファＡＢに取り込む。アドレスバッファＡＢに取り込んだカラムアドレスを初期値として、アドレスカウンタＡＣＴがクロックＣＬＫの２サイクル毎に動作し、ロウアドレスＢＸとカラムアドレスＢＹを出力する。これを受けて、ロウアドレスプリデコーダＸＰＤがロウプリデコードアドレスＣＸを、カラムアドレスプリデコーダＹＰＤがカラムプリデコードアドレスＣＸを出力する。メモリアレイＭＡＲ内で、まず読み出し用ワード線ＷＲとカラム選択信号ＹＳが選択される。それにより選択されたデータ線に、データ線電流ＩＤＬが流れる。これをセンスアンプＳＡが検出して読み出しデータＧＯを出力する。一方、ライトコマンドが入力された次のクロックサイクルで、入力バッファＤＩＢが入出力データＤＱを取り込み、入力データＤＩを出力する。データエンコーダＷＤにより、読み出しデータＧＯと比較して入力データＤＩをエンコードし、書き込みデータＧＩとする。読み出しワード線ＷＲをリセットし、書き込みワード線電流ＩＷＷに所望の電流を流す。また、ライトバッファによりデータ線を書き込みデータＧＩに応じて電流を流す。その結果、所望のメモリセルに反転書き込みが行われる。クロックＣＬＫの２サイクル毎に、以上の動作が繰り返される。
【００３１】
このように、同期式メモリとすることで、外部クロックＣＬＫと同期してコマンドやアドレスの取り込み及びデータの入出力を行う同期式メモリとすることにより、高い周波数での動作が可能であり、高データレートが実現できる。本発明によるＭＲＡＭは、ＳＲＡＭやＤＲＡＭについて開発されている各種の高速メモリ方式が応用できる。
【００３２】
この例では、図１５のリード動作がクロックＣＬＫと同じサイクルで行われるのに対し、ライト動作をクロックＣＬＫの２サイクル毎としている。これは、ライト動作ではメモリセルからの読み出し動作後に反転書き込みを行うため、ライト動作よりもサイクル時間が長くなるためである。このようにライト動作を２サイクル毎とすることにより、リードのサイクルとなるクロックサイクル時間を短くできる。場合によっては、ライト動作もクロックサイクル毎に行うようにすることもできる。その方が、クロックサイクル時間が長くなるが、リード動作とライト動作のサイクルが揃うため、制御は容易となる。
【００３３】
また、図１６のライト動作では、入力データをライトコマンドに対してクロックＣＬＫの１サイクル後に取り込み、ライトレイテンシを１としている。このようにしても、メモリセルの書き込み動作は読み出し動作後に行うため、入力データがクリティカルパスとはならない。ライトレイテンシを１とすることにより、リードレイテンシとの差が小さくなり、入出力データＤＱのバスの使用効率を向上できる。
【００３４】
図１５及び図１６では、リードコマンドＲあるいはライトコマンドＷで、ロウアドレスとカラムアドレスを同時に取り込んでいる。これにより、ＤＲＡＭでは一般に必要とされているロウアドレス取り込みからカラムアドレス取り込みまでの遅延時間がなく、選択されたデータ線の情報のみを検出できる。ＤＲＡＭと異なり、ＭＲＡＭは非破壊読み出しが可能であり、ワード線上の全メモリセルのデータを検出する必要はないため、このような動作が可能である。選択されたデータ線の情報のみを検出することにより、消費電力が低減できる。
【００３５】
図８では、各メモリセルＭＣが、１個のＭＴＪ素子ＭＴＪと１個のトランジスタＭＴからなる構成を示したが、文献４：アイ・イー・イー・イー、インターナショナル・ソリッドステート・サーキッツ・コンファレンス、ダイジェスト・オブ・テクニカル・ペーパーズ、第１２８頁から第１２９頁（２０００年）（２０００　ＩＥＥＥ　Ｉｎｔｅｒｎａｔｉｏｎａｌ　Ｓｏｌｉｄ−Ｓｔａｔｅ　Ｃｉｒｃｕｉｔｓ　Ｃｏｎｆｅｒｅｎｃｅ，　Ｄｉｇｅｓｔ　ｏｆ　Ｔｅｃｈｎｉｃａｌ　Ｐａｐｅｒｓ，　ｐｐ．　１２８−１２９．）に示されているように、メモリセルを２個のＭＴＪ素子と２個のトランジスタで構成するメモリアレイにも本発明は適用でき、同様に書き込み時の消費電流を低減する効果が得られる。そのようなメモリアレイでは、書き込み時のデータ線電流をループ状に流すため、片側で制御でき、データ線制御回路の構成を簡単化できる。
（第２の実施例）
第１の実施例で説明したような、書き込むビット数を減らす手法は、ＭＲＡＭだけでなく、相変化メモリでも有効である。本発明を適用した相変化メモリは、ＭＲＡＭと同様に図１のように構成でき、図２〜図７に示したデータエンコーダ及びデータデコーダを使用できる。図１７は、メモリアレイの構成例を示しており、図１中のメモリアレイＭＡＲとして用いられる。メモリセルアレイＯＣＡ、ロウデコーダＸＤＥＣ、ワードドライバ群ＷＤ、データ線制御回路ＣＣＯからなる。ここでも図８と同様に、簡単のため、参照信号発生用のダミーセルなどは省略している。また、メモリ容量によっては、このような構成を繰り返して図１のメモリアレイＭＡＲとしても良い。メモリセルアレイＯＣＡは、ワード線ＷＬ０，　ＷＬ１，　ＷＬ２，　ＷＬ３，　…と、データ線ＯＬ０，　ＯＬ１，　ＯＬ２，　ＯＬ３，　…の交点に、メモリセルＯＣが設けられる。メモリセルＯＣは、両端を接地されたソース線ＳＬ０１，　ＳＬ２３，　…にも接続される。各メモリセルは、１個の相変化抵抗ＣＲと１個のトランジスタＭＴからなる。相変化抵抗ＣＲは、カルコゲナイド材料でなり、状態により低抵抗状態と高抵抗状態になる。ワード線ＷＬ０，　ＷＬ１，　ＷＬ２，　ＷＬ３，　…は、ワードドライバ群ＷＤにより駆動される。ロウデコーダＸＤＥＣは、ロウプリデコードアドレスＣＸをデコードし、ロウデコード信号ＸＡ０，　ＸＡ１，　ＸＡ２，　ＸＡ３，　…をワードドライバ群ＷＤへ出力し、それに応じてワードドライバ群ＷＤが選択的にワード線ＷＬ０，　ＷＬ１，　ＷＬ２，　ＷＬ３，　…を駆動する。データ線ＯＬ０，ＯＬ１，　ＯＬ２，　ＯＬ３，　…は、センスアンプ及びライトバッファを含むデータ線制御回路ＣＣＯにより制御される。
【００３６】
図１８は、図１７中のデータ線制御回路ＣＣＯの構成例を示している。ここでも図９と同様に、９ビットずつの読み出しあるいは書き込みを、１４４本のデータ線ＤＬ０〜ＤＬ１４３に対して行う例を示しており、３ビット分ずつ３分割された構成としている。３個のカラムデコーダＹＤ１６と、書き込みパルス発生回路ＷＰＧと、９個のライトバッファＷＢＯと、９個のセンスアンプＳＡＯと、３個のカラムセレクタＹＳＯ３からなる。図９に示したＭＲＡＭのデータ線制御回路ＣＣＮと同様に、カラムデコーダＹＤ１６は、カラムプリデコードアドレスＣＹをデコードし、相補信号のカラム選択信号ＹＯ０ｔ〜ＹＯ１５ｔとＹＯ０ｂ〜ＹＯ１５ｂ，ＹＯ１６ｔ〜ＹＯ３１ｔとＹＯ１６ｂ〜ＹＯ３１ｂ，ＹＯ３２ｔ〜ＹＯ４７ｔとＹＯ３２ｂ〜ＹＯ４７ｂの１６対から１対ずつを選択する。カラムセレクタＹＳＯ３は、図９中のカラムセレクタＹＳＮ３と同じ構成であり、それぞれ４８本のデータ線ＯＬ０〜ＯＬ４７，　ＯＬ４８〜ＯＬ９５，ＯＬ９６〜ＯＬ１４３の各々に、カラム選択信号対により制御される１個のＰＭＯＳトランジスタと２個のＮＭＯＳが接続されてなり、４８本のデータ線から３本を共通データ線ＣＤ０〜ＣＤ２，　ＣＤ３〜ＣＤ５，　ＣＤ６〜ＣＤ８に接続し、非選択のデータ線を接地電圧ＶＳＳに保つ。ライトパルス発生回路ＷＰＧは、’１’及び’０’の書き込み用のパルスを、書き込みパルス線ＷＰ１，　ＷＰ０に出力する。ライトバッファＷＢＮは、２個のインバータと２個のＰＭＯＳトランジスタとで構成され、書き込みデータＧＩ０ｔ〜ＧＩ８ｔ，ＧＩ０ｂ〜ＧＩ８ｂを受け、書き込みパルス線ＷＰ１，　ＷＰ０に共通データ線ＤＮ０〜ＤＮ８を接続する。例えば、書き込みデータＧＩ０ｔがハイであれば共通データ線ＣＤ０を書き込みパルス線ＷＰ１に接続し、ＧＩ０ｂがロウであればＣＤ０をＷＰ０に接続する。ここで、書き込みデータＧＩ０ｔ，　ＧＩ０ｂが両方ロウである場合には、図９中のライトバッファＷＢＮと同様に、ハイインピーダンス状態となる。センスアンプＳＡＯは、メモリセルの読み出し動作の際、共通データ線ＣＤ０〜ＣＤ８の信号を検出して、読み出しデータＧＯ０ｔ〜ＧＯ８ｔ，ＧＯ０ｂ〜ＧＯ８ｂを出力する。
【００３７】
リード動作は、図１９に示すように行う。すなわち、ＷＬ０，　ＷＬ１，　ＷＬ２，　ＷＬ３，　…中で選択したワード線ＷＬをハイレベルとし、該ワード線に接続されたメモリセル中でトランジスタＭＴを導通させ、所望のカラム選択信号対ＹＯｔ，　ＹＯｂを選択することにより、センスアンプＳＡＯからカラムセレクタ及びデータ線を介して、相変化抵抗ＣＲの端子間に電圧を印加する。相変化抵抗ＣＲの状態に応じてデータ線に流れる電流ＩＯＬにより、メモリセルＯＣから記憶情報を読み出し、センスアンプＳＡＯで検出し、読み出しデータＧＯを出力する。ここで、データ線電流ＩＯＬの流れる期間は、センスアンプＳＡＯにより定める。
【００３８】
一方、ライト動作は、図２０に示すように行う。まず、リード動作と同様にメモリセルＯＣからの読み出し動作を行う。ここで、ワード線ＷＬとカラム選択信号対ＹＯｔ，　ＹＯｂをそのまま保つ。読み出しデータに応じて書き込みデータが定まる。それに応じて、メモリセルＯＣへの書き込みを、データ線電流が流れることによる発熱によって、相変化抵抗ＣＲの状態を変化させて行う。反転書き込みを行う場合には、データ線制御回路ＣＣＯ内のライトパルス発生回路ＷＰＧとライトバッファＷＢＮにより、データ線に書き込み電流を流す。’１’の書き込み（’１’ＷＲＩＴＥ）では、小さな電流ＩＤ１を長いパルス幅で印加し、相変化抵抗ＣＲをアニールして低抵抗化する。’１’の書き込み（’１’ＷＲＩＴＥ）では、大きな電流ＩＤ０を短いパルス幅で印加し、相変化抵抗ＣＲをアモルファス化して高抵抗化する。反転書き込みが不要（ＷＲＩＴＥ＿ＶＯＩＤ）な場合には、データ線電流ＩＯＬを０に保つ。
【００３９】
このようにして、相変化メモリでも、第１の実施例と同様に、書き込みを行うビット数を低減して消費電流を低減できる。相変化メモリでは特に、温度上昇を抑制して動作を安定させる効果が得られる。多数のメモリセルＯＣに同時に書き込むと、メモリセルアレイ全体の温度が上昇し、データ線電流ＩＯＬのパルス印加後の温度下降が遅くなる。そのため、’０’書き込み（’０’ＷＲＩＴＥ）を短いパルスで行っても、低抵抗状態となってしまう恐れがある。本発明により、書き込みを行う最大のビット数を半減することによって、この問題を回避できる。
【００４０】
また、相変化メモリでは、書き込み動作を繰り返すことによる相変化抵抗の劣化が懸念される。本発明により、メモリセル毎の書き込み回数を、平均的には低減できるため、相変化抵抗の劣化を低減し、高信頼化できる。
【００４１】
図１２及び図１３を用いて説明したＭＲＡＭの動作と異なり、相変化メモリでは、読み出し動作と書き込み動作の両方でワード線ＷＬをハイレベルとする。そのため、ライト動作でワード線ＷＬをハイレベルとしたまま、読み出し動作に続けて書き込み動作を行える。したがって、周辺回路の消費電流や遅延時間について、書き込み動作の前に読み出し動作を行うことによるペナルティは小さい。
（第３の実施例）
コーディングを用いない実施例を、ＭＲＡＭについて次に説明する。図２１は、ＭＲＡＭのメモリアレイの、図８とは別な構成例を示している。ＭＲＡＭ全体は、例えば、図１からデータエンコーダＷＣ，データデコーダＲＤを削除した構成される。このメモリアレイ構成は、メモリセルアレイＭＣＡ、ロウデコーダＸＤＥＣ、ワードドライバ群ＷＤＰ、データ線制御回路ＣＣＮ２，　ＣＣＦ２を有する。メモリセルアレイＭＣＡは、データ線数が異なるが、図８に示したように構成される。ロウデコーダＸＤＥＣ、ワードドライバ群ＷＤＰは、図８と同様に動作する。
【００４２】
データ線制御回路ＣＣＮ２は、カラムセレクタＹＳＮと、読み出しデータＧＯ０，　ＧＯ１，　…に対応した複数の読み出し書き込み回路ＲＷＮを含む。ここでは、簡単のため、カラムデコーダなどは省略している。カラムセレクタＹＳＮは、図９中のカラムセレクタＹＳＮ３と同様に構成され、所望のデータ線を共通データ線ＤＮ０，　ＤＮ１，　…に接続する。読み出し書き込み回路ＲＷＮは、センスアンプＳＡとライトバッファＷＢにより構成される。リード動作では、メモリセルアレイから読み出した共通データ線ＤＮ０，　ＤＮ１，　…の信号を、センスアンプＳＡにより検出し、読み出しデータＧＯ０，　ＧＯ１，　…として出力する。ライト動作でも、まず、メモリセルアレイから読み出した共通データ線ＤＮ０，　ＤＮ１，　…の信号を、センスアンプＳＡにより検出する。その結果に応じて、ライトバッファＷＢにより、共通データ線ＤＮ０，　ＤＮ１，　…を介してデータ線を駆動する。すなわち、’１’を読み出した場合には、ハイレベルに駆動し、’０’を読み出した場合にはロウレベルに駆動する。
【００４３】
データ線制御回路ＣＣＦ２は、カラムセレクタＹＳＦと、書き込みデータＧＩ０，　ＧＩ１，　…に対応した複数の書き込み回路ＷＦを含む。ここでは、簡単のため、カラムデコーダなどは省略している。カラムセレクタＹＳＦは、図１０中のカラムセレクタＹＳＦ３と同様に構成され、所望のデータ線を共通データ線ＤＦ０，　ＤＦ１，　…に接続する。書き込み回路ＷＦは、ライトバッファＷＢとインバータＩＮＶにより構成される。ライト動作において、入力された書き込みデータＧＩ０，　ＧＩ１，　…を反転して、共通データ線ＤＦ０，　ＤＦ１，　…を介してデータ線を駆動する。すなわち、’１’が入力された場合には、ハイレベルに駆動し、’０’が入力された場合にはロウレベルに駆動する。
【００４４】
ライト動作において、以上のようにデータ線を駆動することにより、読み出しデータと書き込みデータが一致している場合には、データ線の両側が同じレベルに駆動され、電流が流れない。不一致の場合には、書き込みデータに応じて、データ線制御回路ＣＣＮ２，　ＣＣＦ２間でデータ線に流れる。これにより、反転させるビットのみメモリセルへの書き込みを行うことが実現できる。反転書き込み不要なビットについては、データ線電流を流さないため、ライト動作の平均電流を低減できる。
【００４５】
第１の実施例では、コーディングによりフラグビットを付加するコーディングを用いて、反転書き込みのビット数を低減し、書き込むビット数の最大値と平均値を同時に低減していのに対し、本実施例では反転書き込みを行わないことにより、平均値を低減している。第１の実施例に比べ簡便な手法であり、フラグビットを付加することによるメモリセル数の増加はない。また、両側のデータ線制御回路の一方のみに書き込みデータを入力すれば良いため、従来の構成よりも配線数が少なくて済み、回路構成も簡単になる。
（第４の実施例）
相変化メモリで、コーディングを用いない実施例を、次に説明する。図２２は、相変化メモリのメモリアレイの、図１７とは別な構成例を示している。相変化メモリ全体は、第３の実施例と同様に、例えば、図１からデータエンコーダＷＣ，データデコーダＲＤを削除した構成される。このメモリアレイ構成は、メモリセルアレイＯＣＡ、ロウデコーダＸＤＥＣ、ワードドライバ群ＷＤ、データ線制御回路ＣＣＯ２を有する。メモリセルアレイＯＣＡは、データ線数が異なるが、図１７に示したように構成される。ロウデコーダＸＤＥＣ、ワードドライバ群ＷＤは、図１７と同様に動作する。
【００４６】
データ線制御回路ＣＣＯ２は、カラムセレクタＹＳＯと、書き込みデータＧＩ０，　ＧＩ１，　…及び読み出しデータＧＯ０，　ＧＯ１，　…に対応した複数の読み出し書き込み回路ＲＷＯと、書き込みパルス発生回路ＷＰＧを含む。ここでも、簡単のため、カラムデコーダなどは省略している。カラムセレクタＹＳＯは、図１８中のカラムセレクタＹＳＯ３と同様に構成され、所望のデータ線を共通データ線ＣＤ０，　ＣＤ１，　…に接続する。読み出し書き込み回路ＲＷＯは、センスアンプＳＡと、排他的ＯＲゲートＸＯＲ２と、インバータと、２個のＮＡＮＤゲートと、２個のＰＭＯＳトランジスタにより構成される。リード動作では、メモリセルアレイから読み出した共通データ線ＣＤ０，　ＣＤ１，　…の信号を、センスアンプＳＡにより検出し、読み出しデータＧＯ０，　ＧＯ１，　…として出力する。ライト動作でも、まず、メモリセルアレイから読み出した信号を、センスアンプＳＡにより検出する。その結果を、排他的ＯＲゲートＸＯＲ２により、書き込みデータＧＩ０，　ＧＩ１，　…と比較する。不一致の場合、排他的ＯＲゲートＸＯＲ２が’１’を出力し、ＰＭＯＳトランジスタにより書き込みパルス線ＷＰ１，　ＷＰ０を共通データ線に接続する。その結果、ライトパルス発生回路ＷＰＧが書き込みパルス線ＷＰ１，　ＷＰ０に出力する’１’及び’０’の書き込み用のパルスがデータ線に伝えられる。これにより、反転させるビットのみメモリセルへの書き込みを行うことが実現できる。
【００４７】
本実施例でも、第３の実施例と同様に、反転書き込み不要なビットについては、データ線電流を流さないため、ライト動作の平均電流を低減できる。なお、文献５：特開平７−２２０４７９に、スタティックＲＡＭに関して、排他的ＯＲゲートを用いてセンスアンプ出力と書き込みデータを比較し、反転書き込みのみを行い、書き込みの消費電流を低減する手法が開示されている。本発明は、その手法を相変化メモリに応用しているが、消費電流低減の効果に加え、第２の実施例について述べたような、メモリセルアレイ全体の温度上昇を抑制し書き込みを安定化する効果や、相変化抵抗の書き込み回数を低減して劣化を抑制し高信頼化する効果が得られる。また、文献６：特開平９−６３２８６には、ＥＥＰＲＯＭについて、読み出しデータと入力データを比較して消去回路及び書き込み回路を制御し、不必要な消去動作をなくして寿命を延ばす手法が開示されている。文献６の手法では、同時に動作させるデータ毎に比較を行って制御しているのに対し、本実施例では、ビット毎に比較して書き込み動作を行うか否かを判定している。そのため、本実施例の方が、不要な書き込みを行わない効果が大きく、特に同時に動作させるビット数が大きい場合に有効である。
【００４８】
なお、ＭＲＡＭでも本実施例のように、排他的ＯＲゲートを用いてセンスアンプ出力と書き込みデータを比較し、反転書き込みのみを行う構成とすることもできる。
【００４９】
以上の実施例で説明してきた本発明は、単体のＭＲＡＭや相変化メモリだけでなく、ＭＲＡＭあるいは相変化メモリを混載したシステムＬＳＩなど半導体装置一般に適用できることは言うまでもない。その場合にも、ＭＲＡＭあるいは相変化メモリについて、実施例毎に説明したような効果が得られる。
【００５０】
【発明の効果】
本願発明によれば、データ線に電流を流すことによりメモリセルにデータを書き込む不揮発性半導体メモリにおいては、ライト動作の際に書き込みを行うビット数を低減することにより、消費電流を低減できる。それにより、低電力で高集積なメモリを有する半導体装置が実現できる。
【図面の簡単な説明】
【図１】本発明による同期式メモリの構成例を示すブロック図。
【図２】データエンコーダの構成例を示すブロック図。
【図３】図２中の判定回路の構成例を示す回路図。
【図４】図２中のデータ制御回路の構成例を示す回路図。
【図５】図２中のフラグ制御回路の構成例を示す回路図。
【図６】データデコーダの構成例を示すブロック図。
【図７】図６中のデータ制御回路の構成例を示す回路図。
【図８】ＭＲＡＭのメモリアレイの構成例を示す図。
【図９】図８中のデータ線制御回路の構成例を示す図。
【図１０】図８中の他端のデータ線制御回路の構成例を示す図。
【図１１】ＭＲＡＭセルの構成例を示す図。
【図１２】ＭＲＡＭセルの読み出し動作を示す図。
【図１３】ＭＲＡＭセルの書き込み動作を示す図。
【図１４】ＭＴＪ素子の書き込み特性を示す図。
【図１５】本発明による同期式ＭＲＡＭのリード動作のタイミングチャート。
【図１６】本発明による同期式ＭＲＡＭのライト動作のタイミングチャート。
【図１７】相変化メモリのメモリアレイの構成例を示す図。
【図１８】図１７中のデータ線制御回路の構成例を示す図。
【図１９】相変化メモリのメモリセルの読み出し動作を示す図。
【図２０】相変化メモリのメモリセルの書き込み動作を示す図。
【図２１】ＭＲＡＭのメモリアレイの別な構成例を示す図。
【図２２】相変化メモリのメモリアレイの別な構成例を示す図。
【符号の説明】
ＡＢ…アドレスバッファ、
ＡＣＴ…アドレスカウンタ、
ＡＤＤ…外部からのアドレス信号、
ＢＸ…ロウアドレス、
ＢＹ…カラムアドレス、
ＣＢ…制御信号バッファ、
ＣＣＦ，　ＣＣＮ，　ＣＣＯ，　ＣＣＦ２，　ＣＣＮ２，　ＣＣＯ２…データ線制御回路、
ＣＤ…コマンドデコーダ、
ＣＬＫ…外部クロック、
ＣＫＢ…クロックバッファ、
ＣＬＫＩ…内部クロック、
ＣＭＤ…外部からの制御コマンド信号、
ＣＰ…制御信号、
ＣＸ…ロウプリデコードアドレス、
ＣＹ…カラムプリデコードアドレス、
ＤＩ…入力データ、
ＤＩＢ…入力バッファ、
ＤＬ０〜ＤＬ３…データ線、
ＤＯ…出力データ、
ＤＯＢ…出力バッファ、
ＤＯＤ…データ制御回路、
ＤＱ…外部との入出力データ、
ＧＩ…書き込みデータ、
ＧＦＣ…フラグ制御回路、
ＧＩＣ…データ制御回路、
ＧＩＤ…書き込みデータドライバ、
ＧＯ…読み出しデータ、
ＩＦＤ…データエンコード用判定回路、
ＭＡ…メインアンプ、
ＭＡＲ…メモリアレイ、
ＭＣ…ＭＲＡＭのメモリセル、
ＭＣＡ，　ＭＣＡ２…ＭＲＡＭのメモリセルアレイ、
ＭＩＯ…メイン入出力線、
ＯＣ…相変化メモリのメモリセル、
ＯＣＡ，　ＯＣＡ２…相変化メモリのメモリセルアレイ、
ＲＤ…データデコーダ、
ＳＡ，　ＳＡＯ…センスアンプ、
ＷＢＦ，　ＷＢＮ…ライトバッファ、
ＳＣＴ０，　ＳＣＴ１…セクタ、
ＷＢ，　ＷＢＦ，　ＷＢＮ…ライトバッファ、
ＷＣ…データエンコーダ、
ＷＤ，　ＷＤＰ…ワードドライバ群、
ＷＬ，　ＷＬ０〜ＷＬ３…ワード線、
ＷＰＧ…書き込みパルス発生回路Ｗ、
ＷＲ，　ＷＲ０〜ＷＲ３…読み出しワード線、
ＷＲＤ，　ＷＷＤ…ワードドライバ、
ＷＷ，　ＷＷ０〜ＷＷ３…書き込みワード線、
ＸＤＥＣ…ロウデコーダ、
ＸＰＤ…ロウアドレスプリデコーダ、
ＹＤ１６…カラムデコーダ、
ＹＰＤ…カラムアドレスプリデコーダ、
ＹＳＦ，　ＹＳＮ，　ＹＳＯ，　ＹＳＦ３，　ＹＳＮ３，　ＹＳＯ３…カラムセレクタ。
【図１】
2004086986.tif 000003
【図２】
2004086986.tif 000004
【図３】
2004086986.tif 000005
【図４】
2004086986.tif 000006
【図５】
2004086986.tif 000007
【図６】
2004086986.tif 000008
【図７】
2004086986.tif 000009
【図８】
2004086986.tif 000010
【図９】
2004086986.tif 000011
【図１０】
2004086986.tif 000012
【図１１】
2004086986.tif 000013
【図１２】
2004086986.tif 000014
【図１３】
2004086986.tif 000015
【図１４】
2004086986.tif 000016
【図１５】
2004086986.tif 000017
【図１６】
2004086986.tif 000018
【図１７】
2004086986.tif 000019
【図１８】
2004086986.tif 000020
【図１９】
2004086986.tif 000021
【図２０】
2004086986.tif 000022
【図２１】
2004086986.tif 000023
【図２２】
2004086986.tif 000024