(57)【要約】【課題】磁気ランダム・アクセス・メモリのデータ書込の信頼性を確保する。【解決手段】メモリセルへのデータ書込後、外部からの書込データとメモリセルの読出データの論理の一致／不一致を判定する（ステップＳ３）。この書込データとメモリセルの記憶データの論理値が不一致の場合、再度、書込対象のメモリセルへデータを書込む（ステップＳ４）。この後、再び、書込対象のメモリセルの記憶データを読出し、書込データと読出データの一致／不一致を判定する。この動作を、書込データおよび読出データが一致するまで繰返す。【選択図】図７
2010033620.tif 000002
【特許請求の範囲】
【請求項１】
行列状に配列され、各々が可変磁気抵抗素子を含み、前記可変磁気抵抗素子の抵抗値によりデータを記憶する複数のメモリセル、
書込データに従って、前記複数のメモリセルのうちの書込対象のメモリセルに前記書込データを書込む書込系回路、および
前記書込データの書込後に前記書込対象のメモリセルの記憶データと前記書込データとを比較し、該比較結果に従って前記書込系回路に前記書込対象のメモリセルに対して選択的に書込を実行させる書込制御回路を備え、前記書込対象のメモリセルは、再書込されるときは、書込前と同じ初期状態から再書込される、磁性体メモリ。
【請求項２】
前記磁性体メモリは、さらに、各メモリセル列に対応して配置され、各々に対応の列のメモリセルが接続される複数のビット線を備え、
前記書込系回路は、前記書込データの論理値にかかわらずデータ書込時には、前記書込対象のメモリセルが接続するビット線に同一方向に電流を流し、
前記書込制御回路は、さらに、前記書込データの前記書込対象のメモリセルへの１回目の書込前に前記書込対象のメモリセルの記憶データと前記書込データの論理値が一致しているかを判定し、一致判定時には、前記書込系回路による前記書込対象のメモリセルに対する書込を停止させる、請求項１記載の磁性体メモリ。
【請求項３】
各メモリセル列に対応して配列され、書込時各々が対応の列のメモリセルに前記書込系回路からの第１の書込電流に応じた磁界を印加する複数のビット線と、
各メモリセル行に対応して配列され、書込時、各々が対応の行のメモリセルに前記書込系回路から供給される第２の書込電流に応じた磁界を印加する複数のディジット線とをさらに備え、
前記書込系回路は、前記書込制御回路の不一致判定時、前記第１および第２の書込電流の供給タイミングの相対関係を前記書込時のタイミング関係と異ならせる、請求項２記載の磁性体メモリ。
【請求項４】
前記書込制御回路の判定回数および書込時間の少なくとも一方は、予め定められた規定値を有し、
前記書込系回路は、前記規定値に達するまで、前記書込制御回路の一致判定結果にかかわらず前記書込データの書込対象メモリセルへの書込シーケンスを繰返す、請求項１記載の磁性体メモリ。
【請求項５】
前記複数のメモリセルは、複数のメモリセルブロックに分割され、各メモリブロックにおいて前記書込対象のメモリセルがそれぞれ異なる書込データビットの書込対象として選択され、
前記書込制御回路は、各メモリブロックごとに前記一致判定の動作を行ない、
前記書込系回路は、各メモリブロックに対応して設けられて、対応の書込データビットを対応の書込対象メモリセルに書込む書込回路と、
前記書込制御回路の一致判定出力に従って対応のメモリブロックの書込対象のメモリセルへの書込を停止する回路とを備える、請求項４記載の磁性体メモリ。
【請求項６】
前記書込制御回路の不一致検出時、前記磁性体メモリ外部へ書込要求を発行する回路をさらに備える、請求項１記載の磁性体メモリ。
【請求項７】
前記書込制御回路の不一致検出に従って、外部からの書込指示に代えて内部で書込指示を発生して前記書込系回路へ供給する回路をさらに備える、請求項１記載の磁性体メモリ。
【請求項８】
前記書込制御回路は、前記磁性体メモリの外部からの書込指示の供給時、前記書込対象のメモリセルの記憶データと前記書込データとの一致判定を行ない、該判定結果に従って前記書込系回路に書込を実行させ、かつ前記書込指示の内部発生時、前記書込対象のメモリセルの記憶データと前記書込データとの比較を行なう操作を省いて前記書込系回路に書込を実行させる、請求項７記載の磁性体メモリ。
【請求項９】
前記メモリセルは、該可変抵抗素子を介して流れる電流によりデータの書込が行なわれ、
前記書込制御回路は、１回目のデータ書込時、前期比較結果を示す信号を強制的に書込不良を示す状態に設定する、請求項１記載の磁性体メモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、磁性体メモリに関し、特に、ＭＴＪ素子（磁気トンネル接合素子）またはＭＪＴ素子（スピントンネル接合素子）を記憶素子として利用するメモリに関する。より特定的には、この発明は、ＭＴＪ素子（ＭＪＴ素子）へのデータの書込の信頼性を確保するための構成に関する。
【背景技術】
【０００２】
データを不揮発的に記憶する半導体記憶装置として、従来からフラッシュメモリが知られている。このフラッシュメモリは、メモリセルが、コントロールゲートとフローティングゲートとを有する積層ゲート型トランジスタで構成される。フローティングゲートの蓄積電荷量に応じてメモリセルトランジスタのしきい値電圧が変化する。このメモリセルトランジスタのしきい値電圧を記憶データに対応付ける。データ読出時には、一定のレベルの電圧をコントロールゲートに与える。メモリセルトランジスタは、そのしきい値電圧に応じて流す電流量が異なる。このメモリセルトランジスタを流れる電流量を検出して、データの読出を行なう。
【０００３】
フラッシュメモリにおいては、データの書込は、以下のように行なわれる。書込データに応じて、フローティングゲートと基板領域（チャネル領域）またはフローティングゲートとソース／ドレイン領域の間で電荷を移動させて、フローティングゲートの蓄積電荷量を記憶データに応じて設定する。したがって、フラッシュメモリセルの場合、絶縁膜を介して電荷が移動するため、書込回数は、この絶縁膜の特性により制限される。また、この電荷の移動によりデータの書込を行うため、データ書込時間が長く、アクセス時間が長いという問題がある。
【０００４】
このようなフラッシュメモリの問題を解消するために、アクセス時間が短くかつ書換回数に制限がないという特徴を有するＭＲＡＭ（マグネト−レジスティブ・ランダム・アクセス・メモリ（Magneto-Resistive RAM）；磁気メモリ）が開発されている。このＭＲＡＭは、メモリセル素子として、可変磁気抵抗素子を利用する。可変磁気抵抗素子において、自由層および固定層と呼ばれる磁性体の積層構造を用いる。これらの磁性体の磁化の方向により抵抗値が異なり、この抵抗値に応じてデータを記憶する。
【０００５】
ＭＲＡＭとして、従来、電流磁場書込方式ＭＲＡＭにおいては、データの書込時に、互いに直交するディジット線およびビット線に電流を流す。これらのディジット線およびビット線を流れる電流が誘起する磁場の合成磁場により、可変磁気抵抗素子（ＭＴＪ素子（磁気トンネル接合素子））の自由層の磁化方向を設定する。固定層の磁化方向は、印加磁場に係らず一定の方向に固定される。
【０００６】
このような従来のＭＲＡＭにおいて、書換に必要な磁場を生成するために、一定の大きさの電流が要求される。したがって、メモリセルの微細化が進むにつれて、電源線の幅も小さくなり、応じて磁界発生に必要となる電流が増大する。また、微細化が進むと、メモリセルの可変磁気抵抗素子間の距離も小さくなる。選択メモリセルへ印加される磁界のリーク磁界により非選択メモリセルの記憶データが変化するという問題が生じる。
【０００７】
また、電流磁場書込方式のメモリセルにおいては、磁化容易軸がビット線またはディジット線と平行な方向に配置される。この場合、半選択状態（ディジット線またはビット線が選択されている状態）のメモリセルにおいて、ディジット線またはビット線を流れる電流による磁界により、その記憶データが反転するという１軸ディスターブの問題が生じる。
【０００８】
このような１軸ディスターブの問題を解消するＭＲＡＭとして、トグルＭＲＡＭおよびスピン注入磁化反転書込方式ＭＲＡＭ（スピン・トルク・トランスファーＲＡＭ；以下、スピン注入型ＭＲＡＭと称す）が開発されている。
【０００９】
トグルＭＲＡＭにおいては、メモリセルの記憶素子の磁化容易軸および磁化困難軸を、ディジット線およびビット線と４５°の角度をなすように配置する。また、自由層を、ＳＡＦ（シンセティック・アンチフェロマグネティック構造）構造で構成する。このＳＡＦ構造においては、２つの強磁性体層を反強磁性結合層を挟んで配置する。データ書込時においては、ディジット線およびビット線に電流を流すタイミングをずらせ、この自由層の磁化を回転させる。ディジット線およびビット線両者を用いて、自由層の磁化方向を回転させるため、１つの軸（ディジット線またはビット線）からのリーク磁界が印加されても、自由層の磁化方向の回転は生じず、１軸ディスターバンスの問題を解消することが可能となる。
【００１０】
スピン注入磁化反転書込方式ＭＲＡＭ（スピン注入型ＭＲＡＭ）においては、固定層の磁化方向により固定層想を通過する電子のスピン分極方向を設定する。このスピンの分極方向が決定される電子を、自由層に流し込むか自由層から引抜くことにより、自由層の電子のスピン分極方向を調整し、応じて自由層の磁化方向を設定する。
【００１１】
スピン・トルク・トランスファーＲＡＭと呼ばれるスピン注入型ＭＲＡＭにおいては、データ書込時には、メモリセルの可変磁気抵抗素子（ＭＴＪ素子）を介して電流を流す。したがって、電子スピンを利用しており、磁場は誘起されないため、１軸ディスターバンスの問題を解消することができる。
【００１２】
メモリ装置は、複数のメモリセルを有する。例えば記憶容量が１メガビットのメモリ装置では、約１００万個のメモリセルが設けられる。これらの複数のメモリセル間には、微妙な特性のばらつきが存在する。したがって、すべてのメモリセルに対し、同一の条件でデータの書換を行なう場合、複数のメモリセルの書換可能な範囲の重なり合う領域を書換条件として設定する必要がある。したがって、書換を行なうための書込条件が狭い範囲となり、書込不良が発生する確率が高くなる。
【００１３】
データ書込時に、正確にデータの書込が行なわれたかの判定を行なう書込ベリファイ操作が、従来から、フラッシュメモリ等において行なわれている。
【００１４】
たとえば、特許文献１（特開平１０−３０２４８７号公報）においては、また、書込ベリファイ動作を最初に実行し、書込データと書込対象のメモリセルの記憶データが一致している場合には、以後の書込を停止する。各書込ごとにベリファイ動作を行ない、書込対象のメモリセルの記憶データが書込データと一致するまで、この書込およびベリファイ操作を所定回数実行する。各書込ごとに、書込パルス幅を変更して、書込を行なう。ベリファイが所定回数に達しても、データの書込が正確に行なわれていない場合には、書込対象のメモリセルは不良であるとして、外部にエラーフラグを発行して、書込を終了する。
【００１５】
この特許文献１は、書込および書込ベリファイを交互に実行することにより、書込が不要なメモリセルに対する書込を停止し、メモリセルのしきい値電圧制御をビット毎に行なって、データの書換を安定に行なうことを図る。
【００１６】
特許文献２（特開２００５-４４４５４号公報）では、フラッシュメモリにおいて、書込後書込ベリファイを行ない、メモリセルトランジスタのしきい値が所定の範囲内にあるかを判定する。このベリファイ後の書込時においては、書込パルス電圧および／またはパルス幅を変更して、書込を実行する。
【００１７】
この特許文献２は、書込後のメモリセルのしきい値電圧分布幅を所定範囲に維持し、書込後のしきい値電圧および消去後のしきい値電圧の差を広く取り、メモリ装置の特性劣化を抑制することを図る。
【００１８】
特許文献３（特開２００４−２２１１２号公報）は、ページプログラムを高速に行なうことを目的とするフラッシュメモリを開示する。この特許文献３に示される構成においては、１ページのデータに対し、ページ単位での書込およびベリファイを実行し、各ベリファイごとに書込完了セルについては、以後の書込を停止する。
【００１９】
この特許文献３は、複数アドレス単位で書込およびベリファイを繰返す。書込およびベリファイ読出を各アドレスごとに行なう場合に比べて、プログラムに要する時間を短縮し、高速のページプログラムを実現することを図る。
【００２０】
また、特許文献４（特開２００３-３４６４８４号公報）も、書込ベリファイを行なう絶縁膜電荷トラップ型メモリを開示する。この特許文献４に示される構成においては、書込ベリファイ後、書込不良のメモリセルに対しては、書込電圧レベルを調整して再書込を実行する。書込ベリファイ回数に対しては、最大値が設定され、この最大値に達しても対象のセルが書込不良の場合には、このメモリセルは不良と判定される。この特許文献４は、書込およびベリファイを行なうことにより、書込パルスが印加される回数を低減し、書込パルスがメモリセルトランジスタ（ＮＲＯＭセルトランジスタ）の絶縁膜に過剰に印加されるのを防止し、信頼性を維持することを図る。
【００２１】
この特許文献４においては、また、再書き込み時に、段階的に書込を行なうことにより、過剰な電圧が、メモリセルトランジスタ（ＮＲＯＭトランジスタセル）に印加されるのを防止することを図る。
【００２２】
また、データプログラムに要する最大時間を可観測とすることを目的とするフラッシュメモリの構成が、特許文献５（特開平１１−８６５７５号公報）に示される。この特許文献５に示される構成においては、テストモード時、予め設定された最大ベリファイ回数、メモリセルに対する書込およびベリファイを実行する。この最大回数の書込／ベリファイ完了時に、外部にビジー信号ＢＵＳＹを発行する。ビジー信号を外部で観測することにより、最大プログラム時間を測定することを可能とする。これにより、最悪ケースのプログラム時間を仕様値として保証し、システム設計を容易化することを図る。
【００２３】
また、特許文献６（特開平１１−２６００８４号公報）は、データ書込時間を短縮することを図るフラッシュメモリを開示する。この特許文献６においては、書込動作時に流れる書込電流値が書込完了判定値よりも小さくなったかを判定する。この書込電流が判定値よりも小さくなったときに書込を停止させる。これにより、データ書込後に書込対象のメモリセルからデータを読出し、ベリファイ動作を行なう必要性をなくし、書込時間を短縮することを図る。
【００２４】
また、相変化メモリにおいて、書込および書込ベリファイを行なう構成が、特許文献７（特開２００５−１００６１７号公報）に示される。この特許文献７は、メモリセルを高抵抗状態のリセット状態に設定する際の書込を対象とする。すなわち相変化メモリセルへの書込時において、書込対象の相変化メモリセルの記憶値を読出し、書込データと比較する。この比較結果が、不一致を示している場合には、書込電流を供給する。この書込を繰返すごとに、書込電流量が増大される。
【００２５】
この特許文献７は、相変化メモリセルにおいて、下部電極と相変化素子の接触面積にばらつきがあり、不完全な非結晶化により抵抗値がばらついた場合においても、データの誤読出を防止することを図る。すなわち、この書込および書込ベリファイを繰返すことにより、リセット状態の相変化メモリセルの抵抗値を、その相変化素子と下部電極とのコンタクト面積の大きさにかかわらず所定値以上に設定して、抵抗値のばらつきを小さくする。
【００２６】
また、相変化メモリにおける書込およびベリファイを行なう構成が、特許文献８（特開２００４−３６２７６１号公報）に示される。この特許文献８は、相変化メモリセルの低抵抗のセット状態への書込時、セット状態のメモリセルの抵抗値がリセット状態時の抵抗値に依存するため、セット状態への誤書込が生じるのを防止することを図る。この特許文献８においては、セット状態への書込時、ビット線電圧をモニタし、このビット線電圧が所定の基準電圧に到達すれば、セット状態への書込は停止する。ビット線電圧が基準電圧よりも小さくなれば、書込対象のメモリセルが低抵抗のセット状態になったことが示される。これにより、メモリセルへの書込後のセット状態の抵抗値のばらつきを抑制する。
【特許文献１】特開平１０−３０２４８７号公報
【特許文献２】特開２００５−４４４５４号公報
【特許文献３】特開２００４−２２１１２号公報
【特許文献４】特開２００３−３４６４８４号公報
【特許文献５】特開平１１−８６５７５号公報
【特許文献６】特開平１１−２６００８４号公報
【特許文献７】特開２００５−１００６１７号公報
【特許文献８】特開２００４−３６２７６１号公報
【発明の開示】
【発明が解決しようとする課題】
【００２７】
上述の特許文献１から８は、フラッシュメモリ、ＮＲＯＭまたは相変化メモリの書込の安定化を図る構成を示す。すなわち、特許文献１においては、まずメモリセルに対する書込ベリファイを行ない、その後に、ベリファイ結果に従ってデータの書込を実行する。この書込ベリファイ後の再書込時においては、書込パルスの時間幅を調整して、フローティングゲートへの注入電荷量を制御する。しかしながら、特許文献１に示される構成は、フラッシュメモリを対象としており、書込を行なった場合、フローティング電荷（電子）が注入されており、そのしきい値電圧が異なる。このため、再書込を行なう場合、セルの状態が前回の書込時と異なるため、書込後のしきい値電圧のバラツキを小さくするためには、微妙に書込パルス幅を調整して書込を行なうことが要求される。一方、ＭＲＡＭの場合、書込不良の場合、書込後のメモリセルは、書込前と同じ状態であり、出発状態が同じである。したがって、この特許文献１のように、小刻みに書込パルス幅を調整して書込を繰返すと、却って書込／書込ベリファイの回数が増大し、書込時間が長くなる可能性がある。従って、この特許文献１の構成をＭＲＡＭにそのまま適用することはできない。
【００２８】
特許文献２に示される構成においては、書換可能なメモリセル（ＮＲＯＭセル）において、絶縁膜に電荷をトラップして、そのメモリセルトランジスタのしきい値電圧を調整する。したがって、書込時において、絶縁膜に電荷が蓄積されて、各書込ごとに、このメモリセルのしきい値電圧が変化する。したがって、この特許文献２も、ＭＲＡＭのように、書込不良が生じた場合メモリセルが書込前の状態に復帰するメモリ装置に対して、そのまま適用することはできない。
【００２９】
特許文献３においては、ページプログラムを示しているものの、フローティングゲートの電荷の蓄積によりメモリセルトランジスタのしきい値電圧を変化させてデータを記憶している。従って、特許文献１および２と同様、ＭＲＡＭのデータ書込の構成に対しては、そのまま適用することができない。
【００３０】
特許文献４は、フラッシュメモリにおける書込ベリファイを示す。しかしながら、この場合においても、各書込ごとにメモリセルトランジスタのしきい値電圧は変化している。従って、同様、特許文献４の構成は、ＭＲＡＭの書込の構成に対しては、そのまま適用することはできない。
【００３１】
特許文献５は、単に、テストモード時に最大プログラム時間の間、換およびベリファイを行なっている。また、テストモード時、書込時の最大プログラム時間を外部で観測可能としている。したがって、特許文献５に示される構成においても、メモリセルは、フラッシュメモリセルであり、書込ごとに、メモリセルのしきい値電圧が変化する。このため、特許文献５の構成も、書込不良時メモリセルが初期状態（元の状態）に復帰するＭＲＡＭの構成に対しては、そのまま適用することはできない。
【００３２】
また、特許文献６に示される構成においては、データ書込時、書込電流をモニタして、書込が完了したかを判定している。したがって、トグルＭＲＡＭのように、ビット線およびディジット線に書込データにかかわらず同じ大きさの電流が流れる構成には、この特許文献６に示される構成は適用することができない。また、スピン注入磁化反転書込方式のスピン・トルク・トランスファーＲＡＭなどのスピン注入型ＭＲＡＭにおいては、書込データの論理値に応じて、書込電流の流れる方向が変化する。したがって、この特許文献６に示される構成は、そのまま、ＭＲＡＭには適用することができない。
【００３３】
特許文献７においては、相変化メモリセルの書込およびベリファイが示される。この相変化メモリセルにおいては、高抵抗のリセット状態の抵抗値は、低抵抗状態のセット状態時の抵抗値に依存し、またセット状態のメモリセルの抵抗値は、リセット状態のメモリセルの抵抗値に依存する。ＭＲＡＭにおいては、データ書込前のメモリセルの抵抗値とデータ書込後のメモリセルの抵抗値の直接的な依存関係が存在しない。従って、ＭＲＡＭにおいて、書込ベリファイごとに、書込電流の大きさを変化させる構成を利用した場合、書込完了後にも、書込電流が供給され、不必要に書込が行なわれる状態が生じる。このため、特許文献７の書込シーケンスも、また、ＭＲＡＭにそのまま適用することはできない。
【００３４】
特許文献８に示される構成においては、相変化メモリセルのビット線電圧を所定の基準電圧と変化している。したがって、トグルＭＲＡＭのように書込状態にかかわらず一定の大きさの電流が流れる場合、この特許文献８に示される構成は適用することができない。同様、スピン注入型ＭＲＡＭにおいても、書込データごとに、ビット線を流れる電流の方向が異なり、一方方向にビット線電流が流れる相変化メモリの書込シーケンスを示す特許文献８の構成を、ＭＲＡＭに適用することはできない。
【００３５】
それゆえ、この発明の目的は、正確にデータの書込を行なうことのできるＭＲＡＭを提供することである。
【００３６】
この発明の他の目的は、安定にデータを書込むことのできるトグルＭＲＡＭまたはスピン注入型ＭＲＡＭなどの１軸ディスターブフリーＭＲＡＭを提供することである。
【課題を解決するための手段】
【００３７】
この発明に係る磁気メモリ（不揮発性磁気メモリ）は、要約すれば、データ書込時、データ書込およびベリファイを行なうものである。このベリファイ時にデータ書込不良が検出された場合、メモリセルは、書込前と同じ状態になり、同じ状態から再書込を行なう。
【００３８】
すなわち、この発明の一つの実施形態において、磁性体メモリは、複数のメモリセルと、これら複数のメモリセルのうちの書込対象のメモリセルに書込データを書込む書込系回路と、この書込対象の記憶データと書込データとを比較する書込制御回路を備える。複数のメモリセルの各々は、可変磁気抵抗素子を含み、この可変磁気抵抗素子の抵抗値によりデータを記憶する。書込制御回路は、書込対象のメモリセルへのデータの書込後に書込対象のメモリセルの記憶データと書込データとを比較する。この比較結果に従って、書込対象のメモリセルに対し、書込回路に選択的に書込を実行させる。書込対象のメモリセルは、再書込されるとき、書込前と同じ初期状態から再書込される。
【発明の効果】
【００３９】
本発明においては、書込が正確に行なわれたかのベリファイを行なっている。したがって、データ書込不良が発生するのを抑制することができ、信頼性の高いデータ書込を実現することができる。
【００４０】
また、書込不良のメモリセルは、前回の書込と同じ状態から再書込が行なわれる。したがって、一実施形態において、ベリファイ後の書込条件を書込ごとに調整することにより、メモリセルの特性のばらつきに応じて再書き込みを行うことができ、正確な再書込を実現することができる。
【発明を実施するための最良の形態】
【００４１】
［原理的構成］
メモリセルの可変磁気抵抗素子の構成１：
図１は、メモリセルに含まれる可変磁気抵抗素子ＶＲとして用いられるトグルＭＲＡＭセルのＭＴＪ（Magnet Tunneling Junction）素子の構造を概略的に示す図である。図１において、可変磁気抵抗素子ＶＲは、フリー層１と、ピン層２と、これらの自由層１およびピン層２の間に設けられるトンネルバリア層３を含む。フリー層１は、ほぼ同じ磁気モーメントを有する強磁性膜ＦＭ１およびＦ２と、これらの強磁性膜ＦＭ１およびＦＭ２の間に設けられる非磁性膜ＡＦを含む。
【００４２】
フリー層１は、２つの強磁性膜ＦＭ１およびＦ２が非磁性層ＡＦをサンドイッチする３層構造の反平行結合素子（ＳＡＦ）である。フリー層１においては、非磁性層ＡＦが反強磁性結合層として機能する。強磁性膜ＦＭ１およびＦＭ２は、磁場が印加されない状態においては、交換結合により磁化方向は反対方向である（反平行状態である）。
【００４３】
ピン層２は、たとえば強磁性膜および反強磁性膜で構成され、その反強磁性交換結合により、磁化方向は印加磁場の方向にかかわらず固定される。強磁性膜ＦＭ２およびピン層２の磁化方向が同一方向（平行状態）であるか反平行状態であるかに応じて、この可変磁気抵抗素子ＶＲ（ＭＪＴ素子：サブチェンコＭＪＴ素子）の抵抗値が異なる。この抵抗値を２値情報に対応させる。
【００４４】
磁場が印加されない状態においては、フリー層１およびピン層２の磁化方向は変化しない。また、単に磁化方向により情報を記憶する。従って、リーク電流などの影響は生じず、データを不揮発的に記憶することができる。
【００４５】
図２は、この可変磁気抵抗素子ＶＲのアレイ内における配置を概略的に示す図である。可変磁気抵抗素子ＶＲに対して、ビット線ＢＬおよびディジット線ＤＬが設けられる。このビット線ＢＬおよびディジット線ＤＬは互いに直交するように設けられる。可変磁気抵抗素子ＶＲの磁化容易軸ＸＥは、これらのビット線ＢＬおよびディジット線ＤＬと実質的に４５°の角度をなすように可変磁気抵抗素子ＶＲが配置される。通常、磁場が印加されない状態においては、可変磁気抵抗素子ＶＲの磁化方向は、容易軸ＸＥの方向に沿っている。この磁化容易軸ＸＥと直交する方向に、磁化困難軸ＸＨが存在する。
【００４６】
図３は、トグルＭＲＡＭセルのデータ書込時のＭＪＴ素子の磁化回転シーケンスを示す図である。以下、図３を参照して、メモリセルのデータ書込動作について説明する。
【００４７】
まず、期間♯０においては、ディジット線ＤＬおよびビット線ＢＬには電流は流れない。したがって、可変磁気抵抗素子ＶＲにおいて、磁化容易軸ＸＥに従ってフリー層の磁化方向が設定されて維持される。
【００４８】
期間♯１において、ディジット線ＤＬにのみ電流を流す。これにより、ビット線延在方向に沿って磁場Ｈ１が生成される。この磁場Ｈ１により、フリー層において交換結合が崩れ（スピンフロップ状態）、フリー層の２つの強磁性膜（ＦＭ１，ＦＭ２）の合成磁場が、この誘起磁場Ｈ１と同一方向となる。
【００４９】
期間♯２において、ディジット線ＤＬに電流を流した状態で、さらにビット線ＢＬに電流を流す。この場合、ビット線ＢＬの電流により、磁場Ｈ２が、ディジット線延在方向と平行な方向に生成される。これらの磁場Ｈ１およびＨ２の合成磁場とフリー層の合成磁場とが同一方向となるように、フリー層の２つの強磁性膜の磁化が回転する。
【００５０】
期間♯３において、ディジット線ＤＬの電流を遮断し、ビット線ＢＬにのみ電流を流す。この場合、磁場Ｈ２のみが、ディジット線ＤＬと平行な方向に生成される。したがって、フリー層の合成磁場が、ビット線電流の誘起磁場Ｈ２と同じ方向となり、フリー層の磁化がさらに回転する。
【００５１】
期間♯４において、ビット線ＢＬの電流の供給を遮断する。このとき、ディジット線ＤＬにも電流は供給されていない。この場合、フリー層において、交換結合が支配的となり、このフリー層の磁化が、磁化容易軸ＸＥ方向に配向されて反転する。
【００５２】
したがって、期間♯０および期間♯４において、フリー層の磁化方向が反転している。可変磁気抵抗素子ＶＲ（サブチェンコＭＪＴ素子）の抵抗値は、フリー層１の強磁性膜ＦＭ２とピン層２の磁化方向により設定される。したがって、期間♯０および期間♯４においては、可変磁気抵抗素子ＶＲの抵抗値は変化しており、２値データを記憶することができる。
【００５３】
上述のように、トグルＭＲＡＭにおいては、単極性の電流パルスで、磁化を回転することができ、応じてデータを書込むことができる。この書込シーケンスにおいては、可変磁気抵抗素子の初期状態に関係なく、１つの書込シーケンスでフリー層の磁化の方向が１８０°回転する。したがって、メモリセルへのデータ書込時、書込前に記憶データを読出して、記憶データと書込データとが異なる場合にのみ、メモリセルの可変磁気抵抗素子の磁化方向を反転させる。
【００５４】
また、可変磁気抵抗素子において、書込電流を流すビット線およびディジット線各々に対して磁化容易軸が４５°の角度を有している。したがって、１つの電流供給線だけでは、ビット反転を行なうことができないため、１軸ディスターブの問題は発生しない。ただし、外部磁場の強度が強い場合、フリー層の２つの強磁性膜の磁化がともに外部磁場方向に配向され、磁界強度を低減したとき、これらの磁化が元の方向に配向されるとは限らない。したがって、データ書込時において、最適書込磁場は、この書込に必要な磁場強度よりも大きく、かつフリー層の２つの強磁性膜の磁化が同一方向を向く磁場強度よりも小さい大きさを有する。
【００５５】
また、データ書込時においては、単極性の電流パルスが用いられており、書込電流を発生する部分の構成を簡略化することができる。
【００５６】
可変磁気抵抗素子の構成２：
図４は、可変磁気抵抗素子の他の構成を概略的に示す図である。この図４においては、可変磁気抵抗素子ＶＲとして、スピン注入磁化反転書込方式のＭＲＡＭセル（スピン注入型ＭＲＡＭ）の構造が示される。可変磁気抵抗素子ＶＲは、ＭＪＴ素子（Magnetic Junction Tunneling素子）で構成され、フリー層１１およびピン層１２と、フリー層１１およびピン層１２の間のトンネル絶縁膜１３を含む。
【００５７】
フリー層１１およびピン層１２は、強磁性体で構成される。この可変磁気抵抗素子ＶＲにおいては、ピン層１２からトンネル絶縁膜１３に電子が流れ込む際に、この電子のスピンの向きを揃える。このときの揃えられた電子のスピントルク作用を利用して、フリー層１１の電子のスピンの向きを揃え、磁化方向を設定する。このＭＪＴ素子においても、フリー層１１とピン層１２の磁化方向により抵抗値が異なり、この抵抗値によりデータを記憶する。
【００５８】
なお、以下の説明においては、電流磁場反転型の磁気抵抗素子をＭＴＪ素子と称し、スピン注入磁場反転型の磁気抵抗素子を、ＭＪＴ素子と称す。
【００５９】
図５（Ａ）および（Ｂ）は、図４に示すＭＪＴ素子のデータ書込時の電流の流れを模式的に示す図である。図５（Ａ）において、ピン層１２からフリー層１１に向かって書込電流Ｉｗを流す。この場合、電子ｅは、フリー層１１からピン層１２へ流れる。この電子ｅは、スピン方向がピン層１２のスピン偏極方向と異なる場合、トンネル絶縁膜１３で反射され、フリー層１１の電子のスピン方向をピン層１２と逆の方向に変化させる。ピン層１２のスピン偏極方向と同一のスピン偏極を有する電子ｅは、ピン層１２を通過する。したがって、フリー層１１においては、スピントルクの伝達により、ピン層１２の磁化方向と逆方向に磁化方向が設定される。
【００６０】
この状態においては、フリー層１１とピン層１２の磁化方向が反平行方向であり、高抵抗状態である。この状態は、たとえばデータ“Ｈ”（論理ハイレベル）が記憶された状態に対応付ける。
【００６１】
図５（Ｂ）において、フリー層１１からピン層１２に向かって書込電流Ｉｗ流す。この場合、電子ｅがピン層１２からフリー層１１へ流れる。この電子ｅは、ピン層１２のスピン偏極方向にそのスピン偏極方向が配向される。したがって、フリー層１１へトンネル絶縁膜１３を介して注入される電子ｅは、ピン層１２のスピン偏極方向と同一のスピン偏極方向を有する。したがって、フリー層１１は、このピン層１２の磁化方向と同一方向に磁化される。この状態は、低抵抗状態であり、たとえばデータ“Ｌ”（論理ローレベル）を記憶する状態に対応付ける。
【００６２】
データ読出時は、フリー層１１からピン層１２へ向かって読出電流を流す。この場合、読出電流によりフリー層１１の磁化方向が反転しないように、この読出電流は、書込電流よりも十分小さくされる。
【００６３】
この図４に示す可変磁気抵抗素子ＶＲの場合、データ書込時に電流誘起磁場は利用されない。すなわち、スピン注入磁化反転書込方式のＭＲＡＭセルにおいては、選択メモリセルに、電流が供給されるだけである。したがって、半選択状態のメモリセルにおいては、書込電流は流れず、また、リーク磁界も存在しないため１軸ディスターブの問題は十分に抑制される。
【００６４】
これらのＭＴＪ素子およびＭＪＴ素子は、ともに１軸ディスターブの生じさせないメモリを構成することができる。本発明においては、特に、このような１軸ディスターブフリーのＭＲＡＭにおいてデータ書込の安定化を図る。
【００６５】
図６は、この発明に従う磁気メモリの全体の原理的構成を示す図である。図６において、磁気メモリは、メモリセルＭＣが行列状に配列されるメモリセルアレイ２０を含む。このメモリセルＭＣは、図１および図４に示したＭＴＪ素子およびＭＪＴ素子のいずれを記憶素子として含む構成であってもよい。本発明は、図１に示すトグルＭＲＡＭセルおよび図４に示すスピン注入型ＭＲＡＭセルのいずれに対しても適用することができる。
【００６６】
磁気メモリは、さらに、メモリセルＭＣに対するデータの書込を行なう書込系回路２２と、メモリセルのデータの読出を行う読出系回路２３と、書込系回路２２の書込動作を制御する書込制御回路２４を含む。
【００６７】
書込系回路２２は、書込データＷＤに従って、書込対象のメモリセルに対するデータを書込むための書込電流を供給する。この書込系回路２２は、したがって、メモリセルＭＣが、トグルＭＲＡＭセルおよびスピン注入型ＭＲＡＭセルに応じて、その内部構成が異なる。ここでは、この書込系回路２２は、単に、書込対象のメモリセルＭＣに対して、書込電流を供給することにより、メモリセルＭＣの可変磁気抵抗素子の抵抗値を設定することを示す。この書込系回路２２の具体的構成については、後に説明する具体的な実施の形態において詳細に説明する。
【００６８】
読出系回路２３は、データ読出時、選択メモリセルに読出電流を供給し、この電流値に従ってメモリセルの記憶データを読出す。すなわち、メモリセルにおいては、可変磁気抵抗素子の抵抗値により流れる電流量が異なる。この電流量を読出系回路２３において検出して読出データＲＤを生成する。
【００６９】
書込制御回路２４は、書込対象のメモリセルＭＣから読出系回路２３を介して記憶データＲＤを読出し、この読出したデータＲＤと書込データＷＤの論理のレベルの一致／不一致を判定する。この判定結果が、書込不良を示すときに、書込データに従って書込対象のメモリセルに対して書込を行う。書込制御回路２４の構成についても、後に説明する各実施の形態において後に詳細に説明する。
【００７０】
図７は、図６に示す磁気メモリが、トグルＭＲＡＭの場合の書込動作を示すフロー図である。また、図８は、この図６に示す磁気メモリが、スピン注入型ＭＲＡＭの場合のデータ書込の動作を示すフロー図である。以下、図７および図８をそれぞれ参照して、図６に示す磁気メモリの書込動作シーケンスについて説明する。
【００７１】
まず、図７を参照して、図６に示す磁気メモリが、トグルＭＲＡＭの場合のデータ書込シーケンスについて説明する。
【００７２】
書込制御回路２４は、図示しない外部からのコマンドをモニタし、データ書込が指定されたかを判定する（ステップＳ１）。データ書込が指定されるまで、コマンドをモニタして、書込コマンドが与えられるのを待つ。
【００７３】
データ書込が指定されると、書込制御回路２４は、読出系回路２３を駆動し、メモリセルアレイ２０内の書込対象のメモリセルのデータＲＤを読出す（Ｓ２）。
【００７４】
次いで、この読出したデータＲＤと書込データＷＤの論理レベルが同じであるかの判定を行なう（ステップＳＳ３）。書込対象のメモリセルＭＣの記憶データＲＤが書込データＷＤの論理値と同じ場合には、この書込対象のメモリセルへの書込は行なわれない。
【００７５】
一方、この書込データＷＤと読出データＲＤの論理値が異なる場合、書込対象のメモリセルへデータを書込む（ステップＳ４）。データ書込時においては、書込制御回路２４が、判定結果に従って書込系回路２４を駆動する。
【００７６】
この書込系回路２２による書込対象のメモリセルＭＣへのデータ書込後、再び、書込制御回路２４が、この書込対象のメモリセルの記憶データを読出す（ステップＳ５）。このステップＳ５においては、ステップＳ２のプレリード（pre-read）と同じ動作が行なわれる。この後、再び、ステップＳ３に戻り、読出データＲＤと書込データＷＤの論理値の一致／不一致が判定される。書込データＷＤと読出データＲＤの論理値が一致するまで、これらのステップＳ３からステップＳ５の操作が繰返し実行される。
【００７７】
次に、図８を参照して、図６に示す磁気メモリが、スピン注入型ＲＡＭの場合のデータ書込シーケンスについて説明する。
【００７８】
書込制御回路２４が、外部からのコマンドをモニタし、書込を指示するコマンドが与えられたかを判定する（ステップＳ１０）。
【００７９】
データ書込が指示されると、書込系回路２２は、書込制御回路２４の制御の下に、メモリセルアレイ２０内の書込対象のメモリセルＭＣに対しデータの書込を行なう（ステップＳ１１）。この場合、書込データの論理値に応じて、メモリセルＭＣのＭＪＴ素子を流れる電流の方向が設定される。
【００８０】
書込完了後、読出系回路２３により、この書込対象のメモリセルの記憶データを書込制御回路２４の制御の下に読出す（ステップＳ１２）。
【００８１】
次いで、書込制御回路２４が、読出データＲＤと書込データＷＤの論理値が一致しているかの判定を行なう（ステップＳ１３）。
【００８２】
この判定結果が一致を示している場合には、この書込対象のメモリセルに対するデータの書込を終了する。一方、書込データと読出データの論理値が異なっている場合、再びステップＳ１１へ戻り、書込対象のメモリセルへのデータの書込が行なわれる。この書込対象のメモリセルの読出したデータＲＤと書込データＷＤの論理値が一致するまで、これらのステップＳ１１からステップＳ１３のベリファイ動作が繰返し実行される。
【００８３】
これらの図７および図８に示すように、データ書込時、書込対象のメモリセルの記憶データが、書込データの論理値に一致するのを検出した後に、この書込対象のメモリセルへの書込を停止する。したがって、書込対象のメモリセルに対して、確実にデータを書込むことができ、データ書込の信頼性を保証することができる。
【００８４】
図９（Ａ）から図９（Ｃ）は、ＭＲＡＭセルの書込特性と不良発生率とを示す図である。図９（Ａ）から図９（Ｃ）において、上側のグラフにおいて、メモリセルの書込特性を示し、下側に不良発生確率を示す。これらの書込特性および不良発生確率を示す図において、書込磁場の大きさを一致させて示している。また、図９（Ａ）から図９（Ｃ）においては、１ＦＩＴの不良発生確率のセルに対する書換の条件を示す。１ＦＩＴより大きな不良発生確率の書込条件は、斜線で示す。１ＦＩＴは、１０Ｅ５時間（１０万時間）に１回不良が発生することを示す。
【００８５】
ＭＲＡＭセルは、再書込時においては、前回の書込時と同様の状態にある（磁化方向が平行または反平行状態）。ＭＲＡＭセルは、基本的に、磁性体の磁気分極を利用する。この磁気分極の元となる電子のスピン分極において、熱の影響によりスピン歳差運動の方向は、確率論的に変化する。したがって、図９（Ａ）から図９（Ｃ）に示すように、同一の条件で書込を行なっても、この確率論により、書込回数を増加させることにより、書込不良が発生する確率が低下する可能性がある。
【００８６】
また、再書込ごとに、書込条件を変化させることにより、各ＭＲＡＭセル（ＭＪＴ素子およびＭＴＪ素子）の同一状態からの書込時において、メモリセルが確実に書込まれる条件を設定することが可能となり、確実に書込を行なうことができる。
【００８７】
この書込条件の変更時、メモリセルの可変磁気抵抗素子においては、磁化方向の反平行状態および平行状態の中間状態から書込が行なわれるのではなく、書込前の平行状態または反平行の状態から書込が行なわれる。したがって、再書込時の初期状態は、同じであり、フラッシュメモリセルのように、過書込の問題を考慮する必要がない。また、この過書込を解消するために小刻みに徐々にしきい値電圧を変化させるような書込は行なう必要がない。書込時の最適値から書込条件を順次変更することにより書込を行なうことができ、短時間で正確な書込を行なうことができる。
【００８８】
以上のように、この発明に従えば、データ書込時、書込データが正確に書込まれたかのベリファイ動作を行なっている。したがって、メモリセルの特性が変化する場合においても、正確な書込を保証することができる。
【００８９】
［実施の形態１］
図１０は、この発明の実施の形態１に従うトグルＭＲＡＭの全体の構成を概略的に示す図である。図１０において、メモリセルアレイ２０において、メモリセルＭＣが行列状に配列される。このメモリセルの列に対応してビット線ＢＬが配設され、メモリセルＭＣの行に対応してディジット線ＤＬおよびワード線ＷＬが設けられる。
【００９０】
メモリセルＭＣは、可変磁気抵抗素子ＶＲ（ＭＴＪ素子）と、この可変磁気抵抗素子ＶＲと直列に接続されるアクセストランジスタＴＲＳとを含む。このアクセストランジスタＴＲＳは、対応のワード線ＷＬの選択時導通し、可変磁気抵抗素子ＶＲをソース線（接地ノードで示す）に結合する。データ書込時においては、ワード線ＷＬは非選択状態であり、アクセストランジスタＴＲＳは、非導通状態にある。可変磁気抵抗素子ＶＲは、ディジット線ＤＬおよびビット線ＢＬの交差部に対応するように配置される。ディジット線ＤＬは、一端が、電源ノードに接続され、また、ビット線ＢＬも一端が、電源ノードに結合される。
【００９１】
書込制御回路２４は、パッドＰＡＤを介して与えられるコマンドをデコードし、書込指示信号Ｗｒｉｔｅおよび読出指示信号Ｒｅａｄを生成するコマンドデコーダ６２と、コマンドデコーダ６２からの動作モード指示信号に従って書込ビット線駆動信号Ｗ＿ＢＬおよび書込ディジット線駆動信号Ｗ＿ＤＬなどのタイミング制御信号を生成するタイミングジェネレータ６４と、このメモリセルアレイ２０の選択メモリセルからリードアンプ５８を介して読出されたデータと入力データラッチ６５から与えられるデータを比較する比較器６６を含む。
【００９２】
タイミングジェネレータ６４は、たとえばシーケンスコントローラで構成され、所定のシーケンスに従ってデータの書込、書込ベリファイおよびデータ読出動作を制御する。図１０においては、このタイミングジェネレータ６４においては書込に関連する制御信号を発生するように示す。
【００９３】
書込系回路２０は、ディジット線ＤＬおよびワード線ＷＬに対して設けられるＸデコーダ５０およびＤＬドライバ／ＷＬドライバ５２と、ビット線ＢＬに対して設けられるビット線ドライバ５６およびＹデコーダ５４を含む。
【００９４】
Ｘデコーダ５０は、アドレスラッチ６９からの内部アドレス信号ＡＤＤ（Ｘアドレス信号）をデコードし、アドレス指定されたメモリセル行を指定する信号を生成する。
【００９５】
ＤＬドライバ／ＷＬドライバ５２は、このＸデコーダ５０からのメモリセル行指定信号とタイミングジェネレータからの書込モード指示信号とに従って、ディジット線ＤＬおよびワード線ＷＬを駆動する。データ書込時においては、ＤＬドライバ／ＷＬドライバ５２は、選択メモリセル行に対応するディジット線ＤＬの放電経路を形成する。これにより、選択メモリセル行のディジット線ＤＬには電源ノードからＤＬドライバを介して接地ノードへ電流が流れる。ＷＬドライバは、データ読出時、アドレス指定されたメモリセル行に対応して配置されるワード線ＷＬを選択状態へ駆動する。応じて、選択メモリセルにおいてアクセストランジスタＴＲＳが導通し、対応のビット線ＢＬとソース線（接地ノード）の間に電流が流れる経路を形成する。
【００９６】
Ｙデコーダ５４は、アドレスラッチ６９からの内部アドレス信号ＡＤＤ（Ｙアドレス信号）を受け、メモリセルアレイ２０のアドレス指定されたメモリセル列を選択する信号を生成する。
【００９７】
ビット線ドライバ５６は、データ書込時、選択ビット線を放電する。ビット線ＢＬが非選択状態のときには、ビット線ドライバ５６は、この非選択ビット線ＢＬを電源電圧レベルに維持する。データ読出時においては、ビット線ドライバ５６は、出力ハイインピーダンス状態となる。
【００９８】
リードアンプ５８は、データ読出時、選択ビット線を流れる電流を基準値（電圧）と比較し、このメモリセルＭＣの記憶データを示す内部信号を生成する。リードアンプは、一例として、選択ビット線を流れる電流に対応する電圧を基準電圧と比較する。
【００９９】
リードアンプ５８における比較基準電圧、ビット線ドライバ５６の放電電流量を規定する基準電圧、およびＤＬドライバのディジット線ＤＬの放電電流量を規定する基準電圧は、各々、Ｖｒｅｆ発生回路６０から発生される。
【０１００】
なお、入力データラッチ６５は、パッドＰＡＤに与えられる入力データＤＩを取込んで内部書込データを生成する。出力データラッチ６７は、リードアンプ５８から読出されたデータを取り込んで対応のパッドを介して外部読出データＤＯとして出力する。アドレスラッチ６９は、外部からパッドを介して与えられるアドレス信号ＡＤをラッチして内部アドレス信号ＡＤ（ＸおよびＹアドレス信号）を生成する。これらのラッチのラッチタイミングは、タイミングジェネレータ６４により設定される。コマンドがアクセスモード（データ書込または読出モード）を指定するときに、これらのラッチ６５、６７および６９がタイミングジェネレータ６４の制御の下にラッチ状態となる。
【０１０１】
図１１は、図１０に示すトグルＭＲＡＭの要部の構成をより具体的に示す図である。図１１においては、メモリセルアレイ２０に設けられるビット線ＢＬおよびディジット線ＤＬに関連する部分の構成を代表的に示す。
【０１０２】
図１１において、Ｘデコーダ５０は、ディジット線ＤＬに対応して設けられるディジット線デコード回路７０を含む。このディジット線デコード回路７０は、書込時に活性化信号を生成するＡＮＤゲートＧ１と、Ｘアドレス信号ＸＡＤＤをデコードするＡＮＤゲートＧ２と、これらのＡＮＤゲートＧ１およびＧ２の出力信号に従って対応のディジット線を選択する信号を生成するＮＡＮＤゲートＮＧ１を含む。
【０１０３】
ＡＮＤゲートＧ１は、書込ディジット線駆動信号Ｗ＿ＤＬと比較器６６の出力信号Ｐ／Ｆと書込指示信号Ｗｒｉｔｅとを受ける。ＡＮＤゲートＧ２は、Ｘアドレス信号ＸＡＤＤを受け、このＸアドレス信号ＸＡＤＤが対応のディジット線アドレスを指定するときに活性状態の信号を生成する。
【０１０４】
ＮＡＮＤゲートＮＧ１は、これらのＡＮＤゲートＧ１およびＧ２の出力信号がともに活性状態（Ｈレベル）のときに、活性状態（Ｌレベル）の信号を生成する。
【０１０５】
ＤＬドライバ／ＷＬドライバ５２に含まれるＤＬドライバは、ディジット線ＤＬ各々に対して設けられるディジット線ドライブ回路７２を含む。このディジット線ドライブ回路７２は、対応のＸデコード回路７０の出力信号がＬレベルのときに、ディジット線ＤＬを放電する。すなわち、ディジット線ドライブ回路７２は、ＮＡＮＤゲートＮＧ１の出力信号をそれぞれ受けるインバータ回路ＩＶＫ１およびＩＶＫ２と、インバータ回路ＩＶＫ１の出力信号に従って対応のディジット線ＤＬを電源ノードに結合するｐチャネルＭＯＳトランジスタ（絶縁ゲート型電界効果トランジスタ）ＰＱ１と、インバータ回路ＩＶＫ２の出力信号に従ってディジット線ＤＬを接地ノードに結合するＮチャネルＭＯＳトランジスタＮＱ１を含む。
【０１０６】
インバータ回路ＩＶＫ１は、ハイ側電源ノード上の電圧とロー側電源ノード（接地ノード）上の電圧を動作電源電圧として受ける。インバータ回路ＩＶＫ２は、基準電圧Ｖｒｅｆをハイ側電源電圧として受ける。したがって、インバータ回路ＩＶＫ２の出力信号の振幅は、基準電圧Ｖｒｅｆである。このインバータ回路ＩＶＫ２に動作電源電圧として基準電圧Ｖｒｅｆを与えることにより、ＭＯＳトランジスタＮＱ１のゲート電圧のレベルを調節する。これにより、ＭＯＳトランジスタＮＱ１の電流駆動力が調整され、ディジット線ＤＬを流れる電流量が調整される。
【０１０７】
このディジット線ドライブ回路７２において、Ｘデコード回路７０の出力信号がＬレベルのときには、インバータ回路ＩＶＫ１およびインバータ回路ＩＶＫ２の出力信号がＨレベルとなる。この状態において、ＭＯＳトランジスタＰＱ１が非導通状態、ＭＯＳトランジスタＮＱ１が導通状態となる。ＭＯＳトランジスタＮＱ１は、そのゲートに基準電圧Ｖｒｅｆレベルの信号を受けており、この基準電圧Ｖｒｅｆにより規定される電流駆動力で、ディジット線ＤＬを放電する（ディジット線ＤＬの一端は電源ノードに結合されている）。このデジット線を流れる電流により磁界が誘起される。
【０１０８】
Ｘデコード回路７０の出力信号がＨレベルのときには、インバータ回路ＩＶＫ１およびＩＶＫ２の出力信号はともにＬレベルとなる。この状態においては、ＭＯＳトランジスタＰＱ１が導通状態、ＭＯＳトランジスタＮＱ１が非導通状態となる。したがって、ディジット線ＤＬは、両端が電源ノードに結合され、電源電圧（ＶＤＤ）レベルに維持される。この状態においてはディジット線ＤＬには電流は流れないため、磁界は誘起されない。
【０１０９】
Ｙデコーダ５４は、メモリセルアレイ２０のビット線に共通に設けられるデコード制御回路７３と、ビット線ＢＬそれぞれに対応して設けられるＹデコード回路７４を含む。デコード制御回路７３は、ベリファイリード活性化信号ＶＦＲＥＮと読出指示信号Ｒｅａｄを受けるＯＲゲートＧ５と、書込ビット線駆動信号Ｗ＿ＢＬと比較器６６の出力信号Ｐ／Ｆと書込指示信号Ｗｒｉｔｅとを受けるＡＮＤゲートＧ３を含む。
【０１１０】
ベリファイリード活性化信号ＶＦＲＥＮは、プレリード時および書込後のライトベリファイ時に活性化される。通常のデータ読出を指定されたときには、読出指示信号Ｒｅａｄが活性化され（Ｈレベルに駆動され）、書込時のベリファイ動作（プレリードを含む）を行なうときに、ベリファイリード活性化信号ＶＦＲＥＮが活性化される（Ｈレベルに駆動される）。したがって、ＯＲゲートＯＧ１からは、メモリセルＭＣのデータを読出すときに活性状態となる信号が生成される。
【０１１１】
ＡＮＤゲートＧ３は、与えられた信号がすべて活性状態（Ｈレベル）のときに、活性状態（Ｈレベル）の信号を生成する。したがって、ＡＮＤゲートＧ３からは、データ書込時、ビット線に書込電流を流す期間を規定する信号が生成される。
【０１１２】
Ｙデコード回路７４は、Ｙアドレス信号ＹＡＤＤを受けるＡＮＤゲートＧ４と、ＡＮＤゲートＧ３およびＧ４の出力信号を受けるＮＡＮＤゲートＮＧ２を含む。したがって、Ｙデコード回路７４からは、Ｙアドレス信号ＹＡＤＤが対応のビット線ＢＬを指定されたとき、対応のビット線に書込電流を流す期間活性状態となる信号が出力される。
【０１１３】
ビット線ドライバ５６は、ビット線ＢＬそれぞれに対応して設けられるビット線ドライブ回路７６を含む。ビット線ドライブ回路７６は、デコード制御回路７３のＯＲゲートＯＧ１の出力信号を反転するインバータＩＶ３と、インバータＩＶ３の出力信号とＮＡＮＤゲートＮＧ２の出力信号とを受けるＮＡＮＤ回路ＮＫ１と、ＯＲゲートＯＧ１の出力信号とＮＡＮＤゲートＮＧ２の出力信号を受けるＮＯＲ回路ＮＲＫ１を含む。ＮＡＮＤ回路ＮＫ１は、電源電圧および接地電圧をそれぞれハイ側およびロー側電源電圧として受ける。ＮＯＲ回路ＮＲＫ１は、基準電圧Ｖｒｅｆをハイ側電源電圧として受ける。したがって、ＮＡＮＤ回路ＮＫ１の出力信号の振幅は、電源電圧ＶＤＤレベルであり、一方、ＮＯＲ回路ＮＲＫ１の出力信号の振幅は、基準電圧Ｖｒｅｆレベルである。
【０１１４】
ビット線ドライブ回路７６は、さらに、ＮＡＮＤ回路ＮＫ１の出力信号に従ってビット線ＢＬを電源ノードに結合するＰチャネルＭＯＳトランジスタＰＱ２と、ＮＯＲ回路ＮＲＫ１の出力信号に従ってビット線ＢＬを接地ノードに結合するＮチャネルＭＯＳトランジスタＮＱ２を含む。
【０１１５】
データ書込時においては、ＯＲゲートＯＧ１の出力信号はＬレベルであり、応じて、インバータＩＶ３の出力信号がＨレベルである。選択ビット線ＢＬに書込電流を流す場合、ＮＡＮＤゲートＮＧ２の出力信号はＬレベルである。この状態においては、ＮＡＮＤ回路ＮＫ１の出力信号が電源電圧レベルのＨレベル、ＮＯＲ回路ＮＲＫ１の出力信号が基準電圧ＶｒｅｆレベルのＨレベルとなる。したがって、ＭＯＳトランジスタＰＱ２が非導通状態、ＭＯＳトランジスタＮＱ２が導通状態となる。応じて、ビット線ＢＬは、ＭＯＳトランジスタＮＱ２を介して放電される（ビット線ＢＬの一端は、電源ノードに結合されている）。このビット線ＢＬを介して電源ノードから接地ノードへ流れる電流量は、ＭＯＳトランジスタＮＱ２のゲートに与えられる電圧、すなわち基準電圧Ｖｒｅｆの電圧レベルにより設定される。
【０１１６】
なお、データ書込時において、非選択列のビット線ＢＬは、インバータＩＶ３の出力信号がＨレベルとなり、また、ＮＡＮＤゲートＮＧ２の出力信号もＨレベルとなるため、ＭＯＳトランジスタＰＱ２が導通し、ビット線ＢＬは両端が電源ノードに結合される。
【０１１７】
リードアンプ５８は、図１１に示す構成においては、ビット線ＢＬそれぞれに対応して設けられるセンスアンプ回路７８を含む。センスアンプ回路７８は、ビット線ＢＬの電圧と読出基準電圧ＶＲＥＦＲとを比較する比較回路ＣＭＰと、デコード制御回路７３に含まれるＯＲ回路ＯＧ１の出力信号とＹアドレスデコード回路７４に含まれるＡＮＤゲートＧ４の出力信号を受け、比較回路ＣＭＰを活性化するセンス活性化信号ＥＮを生成するＡＮＤゲートＧ５を含む。
【０１１８】
データ読出時においては、デコード回路７４のＮＡＮＤゲートＮＧ２の出力信号はＨレベルである。したがって、ビット線ドライブ回路７６において、ＮＯＲ回路ＮＲＫ１の出力信号はＬレベルとなり、ＭＯＳトランジスタＮＱ２が非導通状態となる。また、データ読出時、ＯＲゲートＯＧ１の出力信号はＨレベルとなり、インバータＩＶ３の出力信号がＬレベルとなる。応じて、ＮＡＮＤ回路ＮＫ１の出力信号がＨレベルとなり、ＭＯＳトランジスタＰＱ２が非導通状態となる。
【０１１９】
データ読出時においては、ビット線ＢＬは、その一端が電源ノードに結合されて、ビット線ドライブ回路７６が出力ハイインピーダンス状態となる。このビット線ＢＬを流れる電流量は、メモリセルＭＣの可変抵抗素子ＶＲおよび図示しないアクセストランジスタを介して放電される電流量により決定される。センスアンプ回路７８において、このビット線ＢＬの電圧を読出基準電圧ＶＲＥＦＲと比較することにより、この選択メモリセルＭＣの記憶データを読出すことができる。
【０１２０】
なお、センスアンプ回路７８は、比較回路ＣＭＰが非活性状態のとき、出力ハイインピーダンス状態とされ、選択列のビット線からのデータ読出には悪影響は及ぼさない。
【０１２１】
比較器６６は、センスアンプ回路７８の出力信号をラッチする出力データラッチ６７の出力信号と入力データラッチ６５にラッチされる入力データとを受けるＥＸＯＲゲートＥＧを含む。このＥＸＯＲゲートＥＧは、不一致検出ゲートであり、出力データラッチ６７および入力データラッチ６５のラッチデータの論理値が異なるとき、その出力信号Ｐ／ＦをＨレベルに設定する。
【０１２２】
なお、出力データラッチ６７は、外部へデータを読出す読出モード時においては、このセンスアンプ回路７８から読出されたデータを、外部読出データＤＯとして出力する。この出力データラッチ６７の内部読出および外部読出の経路切換は、その経路は明確に示していないが、タイミングジェネレータ６４により実行される。
【０１２３】
比較器６６の出力信号Ｐ／Ｆはまた、タイミングジェネレータ６４に与えられる。タイミングジェネレータ６４は、コマンドデコーダ６２からの動作モード指示信号とベリファイ結果指示信号Ｐ／Ｆとに従って、書込シーケンスを設定する。
【０１２４】
なお、コマンドデコーダ６２およびアドレスラッチ６９は、図１０に示す構成に対応するため、その詳細説明は繰返さない。
【０１２５】
図１２は、図１１に示すトグルＭＲＡＭのデータ書込時の動作を示すタイミング図である。以下、図１２を参照して、図１１に示すトグルＭＲＡＭのデータ書込動作について説明する。
【０１２６】
データ書込時、入力データラッチ６５へ書込データが与えられるとともに、コマンドデコーダ６２に書込指示（ライトコマンド）が与えられる。アドレスラッチ６９には、書込アドレスが与えられる。この書込指示に従ってコマンドデコーダ６２が書込指示信号Ｗｒｉｔｅを活性状態に設定する。読出指示信号Ｒｅａｄは、非活性状態（Ｌレベル）である。
【０１２７】
メモリ装置は、トグルＭＲＡＭであり、データ反転を防止して誤データの書込を防止するために、書込アドレスに従って、書込対象のメモリセルの記憶データの読出が一回目の書込前に実行される。タイミングジェネレータ６４は、このプレリード時、ベリファイリード活性化信号ＶＦＲＥＮを活性化する。応じて、デコード制御回路７３において、ＯＲゲートＯＧ１の出力信号がＨレベルとなる。この状態においては、ビット線ドライブ回路７２は、出力ハイインピーダンス状態である。図示しないワード線ドライブ回路により、アドレスラッチ６９から与えられるＸアドレス信号ＸＡＤＤに従ってワード線が選択状態へ駆動される。次いで、Ｙアドレス信号ＹＡＤＤに従って、Ｙデコード回路７４のＡＮＤゲートＧ４の出力信号がＨレベルとなる。応じて、センス活性化信号ＥＮが活性化され、センスアンプ回路７８が、ビット線ＢＬを流れる電流に応じた電圧と読出基準電圧ＶＲＥＦＲとを比較し、その比較結果に従って内部読出データを生成する。
【０１２８】
このセンスアンプ回路７８から読出された書込対象のメモリセルの記憶データと外部からの書込データの論理値が不一致の場合には、比較器６６の出力信号Ｐ／ＦはＨレベルである。応じて、デコード回路７０および７４において、ＮＡＮＤゲートＧ１およびＧ３がイネーブルされる。また、タイミングジェネレータ６４は、このＨレベルのベリファイ結果指示信号Ｐ／Ｆに従って、書込ディジット線駆動信号Ｗ＿ＤＬおよび書込ビット線駆動信号Ｗ＿ＢＬを順次活性化する。
【０１２９】
書込ディジット線駆動信号Ｗ＿ＤＬのＨレベル期間、Ｘデコード回路７０およびディジット線ドライブ回路７２により、対応のディジット線ＤＬに電源ノードから接地ノードへ電流が流れる。また、ビット線ＢＬに対しては、Ｙデコード回路７４およびビット線ドライブ回路７６により、書込ビット線駆動信号Ｗ＿ＢＬに従って放電が行なわれる。
【０１３０】
この書込が完了すると、再び、タイミングジェネレータ６４が、ベリファイリード活性化信号ＶＦＲＥＮを活性化する。この場合においても、メモリセルＭＣへの書込不良が生じ、書込データとメモリセルの記憶データの論理値が不一致の場合には、ベリファイ結果指示信号Ｐ／ＦはＨレベルである。したがって、再び、タイミングジェネレータ６４は、駆動信号Ｗ＿ＤＬおよびＷ＿ＢＬを順次活性化する。
【０１３１】
この２回目の書込完了後、再び、データが正確に書込まれたかの判定を行うライトベリファイ動作が行なわれる。メモリセルに正常に書込が行なわれた場合、出力データラッチ６７からの読出データおよび入力データラッチ６５からの入力データの論理値が一致し、比較器６６の出力するベリファイ結果指示信号Ｐ／ＦがＬレベルとなる。この場合には、タイミングジェネレータ６４は、書込を完了する。次いで、書込指示信号Ｗｒｉｔｅが非活性状態へ駆動される。
【０１３２】
一方、このライトベリファイ動作において書込が不良と判定されると、再度書込が実行される。この書込およびライトベリファイがデータが正常に書き込まれるかまたは所定の書込試行条件が満たされるまで、繰り返し実行される。書込試行条件については、後に詳細に説明する。
【０１３３】
なお、比較器６６において、ベリファイ結果指示信号Ｐ／Ｆは、初期状態（スタンバイ状態）において、Ｈレベルに維持される構成が用いられてもよい。出力データラッチ６７および入力データラッチ６５のリセット値が、初期論理値が異なる値に設定されていればよい。
【０１３４】
なお、図１２においては、１ビットデータの書込シーケンスを示している。たとえばバースト書込のように１つの書込指示に従って複数アドレスに順次データを書込む場合、アドレスラッチ６９が、最初に与えられたアドレスＡＤＤ（図１０参照）を取込み、その先頭アドレスから順次書込アドレスを更新して、データの書込が行なわれてもよい。この場合、各アドレスごとに、プレリードおよびライトベリファイを実行する。
【０１３５】
図１３は、１つのワード線ＷＬに関連する部分の構成の一例を示す図である。Ｘデコーダ５０は、ワード線ＷＬそれぞれに対して設けられるＸアドレスデコード回路８０を含む。Ｘアドレスデコード回路８０は、Ｘアドレス信号ＸＡＤＤを受けるＡＮＤゲートＧ６と、図１１に示すワード線制御回路に含まれるＯＲゲートＯＧ１の出力信号とＡＮＤゲートＧ６の出力信号を受けるＮＡＮＤゲートＮＧ３を含む。このＡＮＤゲートＧ６は、ＡＮＤ型デコード回路であり、Ｘアドレス信号ＸＡＤＤにより対応のワード線が指定されたときに、Ｈレベルの信号を出力する。ＮＡＮＤゲートＮＧ３は、したがって、データ読出時、選択時にＬレベルの信号を出力する。対応のワード線ＷＬが非選択状態のときには、このＸデコード回路８０の出力信号はＨレベルとなる。
【０１３６】
ＤＬドライバ／ＷＬドライバ５２においては、ワード線ＷＬそれぞれに対応してワード線ドライブ回路８２が設けられる。このワード線ドライブ回路８２は、ＮＡＮＤゲートＮＧ３の出力信号を各ゲートに受けるＰチャネルＭＯＳトランジスタＰＱ３およびＮチャネルＭＯＳトランジスタＮＱ３を含む。このワード線ＷＬには、対応の行のメモリセルＭＣのアクセストランジスタＴＲＳのゲートが接続される。図１３においては、１ビットのメモリセルを代表的に示す。
【０１３７】
ワード線ドライブ回路８２においては、Ｘアドレスデコード回路８０の出力信号がＬレベルのときに、ＰチャネルＭＯＳトランジスタＰＱ３が導通し、ワード線ＷＬを電源電圧レベルへ駆動する。応じて、メモリセルＭＣにおいてアクセストランジスタＴＲＳが導通し、ビット線ＢＬから可変抵抗素子ＶＲを介してソース線（接地ノード）に至る電流が流れる経路が形成される。
【０１３８】
非選択状態においては、Ｘアドレスデコード回路８０の出力信号はＨレベルであり、ワード線ＷＬは、ＭＯＳトランジスタＮＱ３により接地電圧レベルに維持される。この状態においては、メモリセルＭＣにおいてアクセストランジスタＴＲＳは非導通状態であり、可変磁気抵抗素子（ＭＴＪ素子）を介して電流が流れる経路は、遮断される。
【０１３９】
この図１３に示すような、ワード線ドライブ回路およびＸアドレスデコード回路を利用することにより、データ読出時、メモリセルＭＣを介して、可変抵抗値ＶＲの抵抗値に応じた電流を流すことができる。
【０１４０】
［変更例１］
図１４は、この発明の実施の形態１の変更例１に従うトグルＭＲＡＭの書込・読出部の構成を概略的に示す図である。図１４において、ビット線ＢＬ０−ＢＬｎそれぞれに対し、読出ゲートＲＧ０−ＲＧｎが設けられ、また、書込列選択ゲートＷＧ０−ＷＧｎが設けられる。読出列選択ゲートＲＧ０−ＲＧｎは、それぞれ、読出列選択信号ＲＣＳＬ０−ＲＣＳＬｎの活性化時導通状態となる。書込列選択ゲートＷＧ０−ＷＧｎは、それぞれ、書込列選択信号ＷＣＳＬ０−ＷＣＳＬｎの活性化時導通状態となる。
【０１４１】
読出列選択ゲートＲＣＳＬ０−ＲＣＳＬｎは共通に、内部読出データ線ＲＯＬに結合される。書込列選択ゲートＷＧ−ＷＧｎは共通に、内部書込データ線ＷＩＬに結合される。この読出列選択信号ＲＣＳＬ０−ＲＣＳＬｎは、データ読出時、Ｙアドレス信号ＹＡＤＤに従って生成される。書込列選択信号ＷＣＳＬ０は、データ書込時、Ｙアドレス信号ＹＡＤＤに従って生成される。
【０１４２】
内部読出データ線ＲＯＬに対してリードアンプ９０が設けられ、内部書込データ線ＷＩＬに対してライトドライバ９２が設けられる。
【０１４３】
リードアンプ９０は、図１１に示すセンスアンプ回路７８と同様の構成を備える。ライトドライバ９２も、図１１に示すビット線ドライブ回路と同様の構成を備える。これらのリードアンプ９０およびライトドライバ９２の動作は、図１１に示すデコード制御回路７３の出力信号に従って行なわれる（Ｙアドレス信号ＹＡＤＤを受けるゲートＧ４の出力信号が常時選択状態に設定されればよい）。
【０１４４】
この図１４に示す構成の場合、ビット線ＢＬ０−ＢＬｎそれぞれに対して、センスアンプ回路およびビット線ドライブ回路を設ける必要がなく、レイアウト面積が低減される。
【０１４５】
データの書込および読出動作は、図１１に示すトグルＭＲＡＭと同様に行なわれる。選択列に対応する読出列選択ゲートＲＣＳＬｉおよび書込列選択ゲートＷＣＳＬｉが読出時および書込時にＹアドレス信号に従って選択状態へ駆動される。
【０１４６】
なお、この図１４に示す構成において、リードアンプ９０が、ビット線ＢＬ０−ＢＬｎに共通に設けられ、ライトドライバ９２は、ビット線ＢＬ０−ＢＬｎそれぞれ対して１対１で設けられてもよい。内部書込データ線ＷＩＬの配線抵抗が、ビット線書込電流に及ぼす影響を回避することができ、正確にビット線書込電流を生成することができる。
【０１４７】
また、ディジット線に対しては、ワード線ドライブ回路と同様、ディジット線ドライブ回路が個々に設けられる。
【０１４８】
［変更例２］
図１５は、この発明の実施の形態１の変更例２に従うスピン注入型ＭＲＡＭの全体の構成を概略的に示す図である。図１５に示すスピン注入型ＭＲＡＭにおいて、メモリセルアレイ２２においては、メモリセルＭＣが行列状に配列され、メモリセル行それぞれに対応してワード線ＷＬおよびディジット線ＤＬが設けられる。また、メモリセルＭＣの各列に対応してビット線ＢＬおよびソース線ＳＬが設けられる。
【０１４９】
スピン注入型ＭＲＡＭにおいては、スピン注入によりメモリセルの磁化方向を設定するため、特にディジット線ＤＬは設けることは要求されない。しかしながら、このディジット線ＤＬの電流により、可変磁気抵抗素子（ＭＪＴ素子）ＶＲの磁化困難軸方向に磁場を印加することにより、磁場反転を補助する。スピン注入型ＭＲＡＭにおいては、可変磁気抵抗素子ＶＲの磁化容易軸および磁化困難軸は、それぞれビット線およびワード線と平行に配置される。
【０１５０】
このＭＲＡＭにおいては、ビット線ＢＬとソース線ＳＬの間に電流を流すため、書込系回路２０において、ソース線デコーダ１００およびソース線ドライバ１０２が設けられる。ソース線ドライバ１０２およびビット線ドライバ５６は、入力データの論理値に従って、ビット線ＢＬおよびソース線ＳＬの間を流れる電流の方向を決定する。
【０１５１】
この書込制御回路２４において、トグルＭＲＡＭと同様、コマンドデコーダ１１２、タイミングジェネレータ１１４および比較器１１６が設けられる。
【０１５２】
スピン注入型ＭＲＡＭにおいては、書込前のプレリードは必要ない。コマンドデコーダ１１２は、比較器１１６における判定結果を１回目の書込時に無効として書込を行なわせるため、比較無効化信号１ｓｔ＿Ｗｒｉｔｅをさらに生成する。この信号１ｓｔ＿Ｗｒｉｔｅにより、１回目のデータ書込期間中は、比較器１１６の比較結果は無効とされ、書込データおよび書込対象のメモリセルの記憶データの論理値にかかわらず、書込が行なわれる。しかしながら、スピン注入型ＭＲＡＭにおいても、プレリードを行なう場合には、この信号１ｓｔ＿Ｗｒｉｔｅを発生する必要はなく、トグルＭＲＡＭと同様の書込シーケンスを行なう。同一構成の書込制御回路をトグルＭＲＡＭおよびスピン注入型ＭＲＡＭにおいて適用することが可能となる。
【０１５３】
タイミングジェネレータ１１４は、書込ビット線駆動信号Ｗ＿ＢＬに限って、書込パルス信号Ｗ＿ＰＵＬＳＥを生成する。この書込パルス信号Ｗ＿ＰＵＬＳＥにより、書込時間が設定される。
【０１５４】
この図１５に示すＭＲＡＭの他の構成は、図１０に示すトグルＭＲＡＭの構成と同じであり、対応する部分には、同一参照番号を付し、その詳細説明は省略する。
【０１５５】
図１６は、図１５に示すスピン注入型ＭＲＡＭの１つのビット線ＢＬと１つのディジット線ＤＬと１つのソース線ＳＬに関連する部分の構成をより具体的に示す図である。スピン注入型ＭＲＡＭにおいては、書込データの論理値に従ってビット線ＢＬおよびソース線ＳＬの間に流れる電流の方向が異なる。１回目のデータ書込時において、プレリードを停止するために、比較器１１６においては、ＥＸＯＲゲートＥＧの出力信号と比較無効化信号１ｓｔ＿Ｗｒｉｔｅとを受けるＯＲゲートＯＧ２がさらに設けられる。ＯＲゲートＯＧ２からベリファイ結果指示信号Ｐ／Ｆが出力される。
【０１５６】
デコード制御回路７３においては、書込データの論理値に応じてビット線電流の方向を変化させるために、入力データラッチ６５からの入力データと比較器１１６からのベリファイ結果指示信号Ｐ／Ｆを受けるＡＮＤゲートＧ７が、さらに設けられる。このＡＮＤゲートＧ７の出力信号が、ＡＮＤゲートＧ３へ与えられる。ＡＮＤゲートＧ３は、書込ビット線駆動信号Ｗ＿ＢＬに代えて、書込パルス信号Ｗ＿ＰＵＬＳＥを受ける。ビット線ドライバ５６に設けられるビット線ドライブ回路７６およびＹデコーダ５４に設けられるＹアドレスデコード回路７４の構成は、先の図１０に示すトグルＭＲＡＭの構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【０１５７】
また、ディジット線ＤＬをドライブするディジット線ドライバに含まれるディジット線ドライブ回路７２およびＸデコーダ５０に含まれるディジット線デコード回路７０の構成も、図１０に示す構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【０１５８】
ソース線デコーダ１００は、ソース線ＳＬそれぞれに対応して設けられるソース線デコード回路１２２と、ソース線ＳＬに共通に設けられるソース線デコード制御回路１２０とを含む。ソース線デコード制御回路１２０は、入力データラッチ６５のラッチデータを反転するインバータＩＶ４と、書込ベリファイ結果指示信号Ｐ／ＦとインバータＩＶ４の出力信号とを受けるＡＮＤゲートＧ８を含む。書込データがＬレベルであり、かつ書込ベリファイ結果指示信号Ｐ／ＦがＨレベルであり書込不良が示されるときに、ＡＮＤゲートＧ８は、Ｈレベルの信号を生成する。
【０１５９】
ソースデコード制御回路１２０は、さらに、書込パルス信号Ｗ＿ＰＵＬＳＥとＡＮＤゲートＧ８の出力信号と書込指示信号Ｗｒｉｔｅを受けるＡＮＤゲートＧ９と、読出指示信号Ｒｅａｄとベリファイリード活性化信号ＶＦＲＥＮと受けるＯＲゲートＯＧ３と、これらのゲートＯＧ３およびＧ９の出力信号受けるＯＲゲートＯＧ４を含む。データ書込を行なうときに、書込パルス信号Ｗ＿ＰＬＵＳＥの活性化期間、ＡＮＤゲートＧ９は、Ｈレベルの信号を出力する。ＯＲゲートＯＧ３は、ビット線デコード制御回路７３に含まれるＯＲゲートＯＧ１と同じ機能を有し、データの読出を行なうときにＨレベルの信号を出力する。このＯＲゲートＯＧ３を利用することにより、データ読出時において、ソース線ＳＬを接地ノードに結合し、ビット線ＢＬからソース線ＳＬへ電流が流れる経路を形成する。
【０１６０】
ソース線デコード回路１２２は、Ｙアドレス信号ＹＡＤＤを受けるＡＮＤゲートＧ１０と、ＯＲゲートＯＧ４の出力信号とＡＮＤゲートＧ１０の出力信号とを受けるＮＡＮＤゲートＮＧ４を含む。ＡＮＤゲートＧ１０は、ＡＮＤ型デコード回路として機能し、Ｙアドレス信号ＹＡＤＤが対応の列を指定するときに、Ｈレベルの信号を出力する。
【０１６１】
ソース線ドライバ１０２は、ソース線ＳＬそれぞれに対応して設けられるソース線ドライブ回路１２４を含む。
【０１６２】
このソース線ドライブ回路１２４は、各々ＮＡＮＤゲートＮＧ４の出力信号を受けるインバータ回路ＩＶＫ３およびＩＶＫ４と、インバータ回路ＩＶＫ３の出力信号がＬレベルのときに対応のソース線ＳＬを電源ノードに結合するＰチャネルＭＯＳトランジスタＰＱ４と、インバータ回路ＩＶＫ４の出力信号がＨレベルのときに対応のソース線ＳＬを接地ノードに結合するＮチャネルＭＯＳトランジスタＮＱ４を含む。
【０１６３】
インバータ回路ＩＶＫ３は、電源電圧をハイ側電源電圧として受ける。インバータ回路ＩＶＫ４は、基準電圧Ｖｒｅｆをハイ側電源電圧として受ける。したがって、ＮチャネルＭＯＳトランジスタＮＱ４が導通するとき、ソース線ＳＬを介して接地ノードに流れる電流量が、基準電圧Ｖｒｅｆにより制御される。
【０１６４】
ソース線デコーダ１００およびソース線ドライバ１０２において、データ書込時には、以下の動作が行なわれる。まず、ベリファイ結果指示信号Ｐ／ＦがＬレベルであり、正常書込が示されたときには、ＡＮＤゲートＧ８の出力信号がＬレベルとなり、応じてＡＮＤゲートＧ９の出力信号もＬレベルとなる。データ書込時、読出指示信号Ｒｅａｄおよびベリファイリード活性化信号ＶＦＲＥＮもともにＬレベルである。この状態においては、ＯＲゲートＯＧ４の出力信号がＬレベルとなり、ＮＡＮＤゲートＮＧ４の出力信号がＨレベルとなる。したがって、ソース線ドライブ回路１２４において、ＭＯＳトランジスタＰＱ４が導通状態、ＭＯＳトランジスタＮＱ４が非導通状態となる。これにより、ソース線ＳＬは、電源ノードに結合される。
【０１６５】
このときには、ビット線デコーダにおいても、ＡＮＤゲートＧ７の出力信号がＬレベルであり、応じて、ＮＡＮＤゲートＮＧ２の出力信号がＨレベルとなる。ＯＲゲートＯＧ１の出力信号はＬレベルである。したがって、ＮＡＮＤ回路ＮＫ１の出力信号がＬレベル、ＮＯＲ回路ＮＲＫ１の出力信号がＬレベルとなる。これにより、ビット線ＢＬが、電源電圧レベルに維持される。
【０１６６】
スタンバイ状態または非選択状態のときには、Ｙアドレス信号ＹＡＤＤは、対応のビット線ＢＬおよびソース線ＳＬを指定しない。したがって、ビット線デコード回路７４において、ＮＡＮＤゲートＮＧ２の出力信号がＨレベルとなり、ＭＯＳトランジスタＮＱ２が非導通状態となる。また、ＯＲゲートＯＧ１の出力信号がＬレベルであり、したがって、インバータ回路ＩＶ３の出力信号がＨレベルである。応じて、ＮＡＮＤ回路ＮＫ１の出力信号がＬレベルとなり、ＭＯＳトランジスタＰＱ２が導通し、ビット線ＢＬは電源電圧レベルに維持される。ソース線についても同様、ＮＡＮＤゲートＮＧ４の出力信号がＨレベルとなり、ＭＯＳトランジスタＰＱ４が導通状態、ＭＯＳトランジスタＮＱ４が非導通状態となる。したがって、ソース線ＳＬも電源電圧レベルに維持される。
【０１６７】
ワード線選択のデコード回路およびワード線ドライブ回路の構成は、図１３に示す構成と、ワード線デコード回路８０が書込時および読出時にＸアドレスデコード動作を行うことを除いて同じ構成である。すなわち、図１３に示す構成においてＯＲゲートＯＧ１が、用いられない。
【０１６８】
データ書込時において、ベリファイ結果指示信号Ｐ／ＦはＨレベルである。この場合、ビット線ＢＬおよびソース線ＳＬの電位は、入力データラッチ６５からの書込データの論理レベルに応じて異なる。
【０１６９】
（１）  Ｈデータの書込：
この場合には、まずビット線については、ＡＮＤゲートＧ７の出力信号がＨレベルとなる。書込時、書込パルス信号Ｗ＿ＰＵＬＳＥに従ってＡＮＤゲートＧ３の出力信号がＨレベルとなり、応じて、ＮＡＮＤゲートＮＧ２の出力信号がＬレベルとなる。ここで、対応のビット線が選択される場合を想定する。応じて、ＮＡＮＤ回路ＮＫ１の出力信号がＨレベルとなり、ＭＯＳトランジスタＰＱ２が非導通状態となる。ＯＲゲートＯＧ１の出力信号は、データ書込時Ｌレベルであり、ＮＯＲ回路ＮＲＫ１の出力信号はＨレベルとなる。応じて、ＭＯＳトランジスタＮＱ２が導通し、ビット線ＢＬが、ＭＯＳトランジスタＮＱ２を介して接地ノードに結合される。
【０１７０】
一方、ソース線ＳＬについては、インバータＩＶ４の出力信号はＬレベルとなり、ＡＮＤゲートＧ８の出力信号がＬレベルとなる。したがって、この状態は、非選択状態またはスタンバイ状態と同じであり、ソース線ＳＬはソース線ドライブ回路１２４により電源ノードに結合される。
【０１７１】
また、ディジット線については、ディジット線ドライブ回路７２の出力信号がＬレベルとなり、ディジット線ＤＬに電源ノードから接地ノードに電流が流れる。
【０１７２】
また、図示しないワード線ドライブ回路に従って対応のワード線が選択状態に駆動され、アクセストランジスタＴＲＳが導通する。したがって、この場合には、ソース線ＳＬからビット線ＢＬへ、電流が流れる。このメモリセルＭＣに対する書込電流は、ビット線ドライブ回路７６に含まれるＭＯＳトランジスタＮＱ２のゲート電圧、すなわち基準電圧Ｖｒｅｆにより制御される。
【０１７３】
（２）  Ｌデータの書込：
この場合には、ビット線については、ＡＮＤゲートＧ７の出力信号がＬレベルとなり、応じてＮＡＮＤゲートＮＧ１の出力信号がＨレベルとなる。従って、スタンバイ状態と同様、ビット線ドライブ回路７６においてＭＯＳトランジスタＰＱ２が導通し、ビット線ＢＬが電源ノードに結合される。
【０１７４】
このＬデータ書込の場合においても、ワード線ＷＬがＨレベルに駆動され、また、ディジット線ＤＬが選択状態に駆動され、ディジット線電流が流れる。
【０１７５】
一方、ソース線については、インバータＩＶ４の出力信号がＨレベルとなり、応じて、ＡＮＤゲートＧ８の出力信号がＨレベルとなる。書込パルス指示信号Ｗ＿ＰＵＬＳＥがＨレベルとなると、ＮＡＮＤゲートＮＧ４の出力信号がＨレベルとなる。応じて、ソース線ドライブ回路１２４において、ＭＯＳトランジスタＮＱ４が導通状態、ＭＯＳトランジスタＰＱ４が非導通状態となる。したがって、この状態においては、ビット線ＢＬからソース線ＳＬに電流が流れる。このとき、メモリセルＭＣを介して流れる電流量は、ソース線ドライブ回路１２４のインバータＩＶＫ４のハイ側電源電圧、すなわち基準電圧Ｖｒｅｆにより制御される。
【０１７６】
データ読出時においては、ビット線について、ＯＲゲートＯＧ１の出力信号がＨレベルとなり、応じて、ＮＯＲ回路ＮＲＫ１の出力信号がＬレベルとなる。インバータＩＶ３の出力信号がＬレベルとなり、応じて、ＮＡＮＤ回路ＮＫ１の出力信号がＨレベルとなる。これにより、ＭＯＳトランジスタＰＱ２が非導通状態となる。すなわち、データ読出時、ビット線ドライブ回路７６は、出力ハイインピーダンス状態となる。
【０１７７】
一方、ソース線については、ソース線デコード制御回路１２０において、ＯＲゲートＯＧ３の出力信号がＨレベルとなる。応じて、ソース線デコード回路１２２において、ＯＲゲートＯＧ４の出力信号がＨレベルとなり、ＮＡＮＤゲートＮＧ４の出力信号がＬレベルとなる。応じて、ソース線ドライブ回路１２４において、ＭＯＳトランジスタＮＱ４が導通状態、ＭＯＳトランジスタＰＱ４が非導通状態となる。したがって、ソース線ＳＬが接地ノードに結合される。
【０１７８】
データ読出時、選択列のビット線を図示しない接続ゲートを用いて、電源ノードに結合することにより、ビット線ＢＬからソース線ＳＬに電流が流れ、その残りの電流が、センスアンプ回路７８へ与えられて、比較動作が行なわれる。この場合、センスアンプ回路７８が電流源を有し、リード活性化信号の活性化に従って、この電流源の電流を選択ビット線へ供給するように構成されてもよい。
【０１７９】
したがって、この図１６に示すようなスピン注入型ＭＲＡＭにおいても、比較器１１６を利用することにより、データ書込後、書込が正常に行なわれたかのベリファイ動作を行なうことができる。
【０１８０】
なお、選択列かつ非選択行のメモリセルにおいては、アクセストランジスタＴＲＳが非導通状態であり、ビット線ＢＬとソース線ＳＬの間の電流が流れる経路は遮断される。選択行かつ非選択列のメモリセルにおいては、ビット線ＢＬおよびソース線ＳＬが同じ電源電圧レベルに維持され、同様、電流は流れない。
【０１８１】
図１７は、この図１６に示すスピン注入型ＭＲＡＭのデータ書込時の動作を示すタイミング図である。以下、図１７を参照して、図１６に示すスピン注入型ＭＲＡＭのデータ書込時の動作について簡単に説明する。
【０１８２】
コマンドデコーダ１１２は、パッドＰＡＤを介して与えられる書込指示コマンドに従って書込指示信号Ｗｒｉｔｅを活性状態へ駆動する。このとき、また、コマンドデコーダ１１２は、比較無効化信号１ｓｔ＿Ｗｒｉｔｅを活性状態へ駆動する。
【０１８３】
タイミングジェネレータ１１４は、このコマンドデコーダ１１２からの書込指示に従って、所定のタイミングで、書込ディジット線駆動信号Ｗ＿ＤＬおよび書込パルス信号Ｗ＿ＰＵＬＳＥを活性状態へ駆動する。コマンドデコーダ１１２からの比較無効化信号１ｓｔ＿Ｗｒｉｔｅの活性化に従って、比較器１１６からのベリファイ結果指示信号Ｐ／ＦはＨレベルに固定される。
【０１８４】
したがって、ディジット線ＤＬにディジット線デコード回路７０およびディジット線ドライバ７２の出力信号により電流が流れ、補助磁場が生成される。また、ビット線については、ビット線デコード回路７４、ビット線デコード制御回路７３およびビット線ドライバ７６により、選択列に対応するビット線ＢＬが、書込データ（入力データラッチ６５から与えられる）の論理値に応じて電源ノードまたは接地ノードへ結合される。非選択列のビット線ＢＬは、電源電圧レベルに対応のビット線ドライブ回路７６により維持される。
【０１８５】
同様、ソース線ＳＬについても、選択列のソース線は、ソース線デコード回路１２２、ソース線デコード制御回路１２０およびソース線ドライブ回路１２４により、書込データの論理値に応じて、接地ノードまたは電源ノードに結合される。非選択列のソース線ＳＬは、ソース線ドライブ回路１２４により、電源ノードに結合される。
【０１８６】
この状態で、ビット線およびソース線ＳＬの間に、書込データの論理値に応じた方向に電流が流れ、選択メモリセルＭＣに対するデータの書込が実行される。
【０１８７】
所定期間が経過すると、書込ディジット線活性化信号Ｗ＿ＤＬおよび書込パルス信号Ｗ＿ＰＵＬＳＥが非活性状態（Ｌレベル）へ駆動される。この書込ディジット線活性化信号Ｗ＿ＤＬは、選択メモリセルＭＣの可変磁気抵抗素子ＶＲの磁化方向の変化を補助するだけであり、書込パルス信号Ｗ＿ＰＵＬＳＥよりも早いタイミングで非活性状態に駆動されてもよい。図１７においては、この書込ディジット線活性化信号Ｗ＿ＤＬの非活性化タイミングは、時間的にある幅を有しても良いように、両方向矢印でリセット期間を示す。
【０１８８】
この書込が完了すると（書込パルス信号Ｗ＿ＰＵＬＳＥが非活性化されると）、比較無効化信号１ｓｔ＿ＷｒｉｔｅがＬレベルに駆動される。また、タイミングジェネレータ１１４が、この書込後、ベリファイ活性化信号ＶＦＲＥＮを所定期間活性状態へ駆動する。このベリファイ活性化信号ＶＦＲＥＮが活性化されると、ビット線ドライブ回路７６において、ＰチャネルＭＯＳトランジスタおよびＮチャネルＭＯＳトランジスタＮＱ２がともに非導通状態となり、出力ハイインピーダンス状態となる。また、ソース線ドライブ回路１２４においても、選択列のソース線ＳＬは、ＮチャネルＭＯＳトランジスタＮＱ４を介して接地ノードに結合される。なお、図示しないワード線ドライブ回路により、ワード線ＷＬが選択状態へ駆動され、アクセストランジスタＴＲＳが導通する。これにより、ビット線ＢＬとソース線ＳＬの間に電流が流れる経路が形成される。
【０１８９】
センスアンプ回路７８からの供給電流（図示せず）または読出時にビット線ＢＬを電源ノードに接続するゲート回路を介してビット線に電流が流れる。このビット線電流は、メモリセルＭＣの記憶データに応じて変化する。ビット線ＢＬの電圧変化または電流変化をセンスアンプ回路７８でセンスする。ここで、センスアンプ回路７８は、そのセンス活性化信号ＥＮの活性化により活性化される（選択列についてのみ）。
【０１９０】
書込不良の場合には、比較器１１６からのベリファイ結果指示信号Ｐ／ＦはＨレベルである。したがって、このベリファイ結果信号ＶＲＦＥＮが非活性化されると、再び、タイミングジェネレータ１１４は、書込ディジット線活性化信号Ｗ＿ＤＬおよび書込パルス信号Ｗ＿ＰＵＬＳＥを所定のシーケンスで活性状態へ駆動し、再び、メモリセルＭＣに対する再書込を実行する。
【０１９１】
再び、書込後のベリファイ動作が実行される。このベリファイ活性化信号ＶＲＦＥＮによりベリファイ動作が行なわれたとき、書込が正常に行なわれたときには、比較器１１６からのベリファイ結果指示信号Ｐ／ＦはＬレベルとなる。これにより、タイミングジェネレータ１１４は、書込指示信号Ｗｒｉｔｅを非活性化する信号をコマンドデコーダ１１２へ与え、データの書込が完了する。この場合、スタンバイ状態であり、ビット線ＢＬおよびソース線ＳＬが電源電圧レベルにビット線ドライブ回路７６およびソース線ドライブ回路１２４により維持される。従って、ディジット線ＤＬも、ディジット線ドライブ回路７２により、電源電圧レベルに維持される。
【０１９２】
このスタンバイ状態峙において、比較器１１６からのベリファイ結果指示信号Ｐ／Ｆは、初期状態に設定されればよい。
【０１９３】
タイミングジェネレータ１１４は、たとえばシーケンスコントローラで構成され、コマンドデコーダ１１２からの書込指示信号または読出指示信号に従って所定のシーケンスで、書込パルス信号Ｗ＿ＰＵＬＳＥおよび書込ディジット線活性化信号Ｗ＿ＤＬおよびベリファイ活性化信号ＶＦＲＥＮを生成する（ベリファイ結果指示信号Ｐ／Ｆの論理レベルを考慮して）。
【０１９４】
コマンドデコーダ１１２は、外部からの与えられるコマンドに従ってパルス信号を生成し、そのパルス信号の非活性化タイミングをタイミングジェネレータ１１４により規定されることにより、書込指示信号Ｗｒｉｔｅおよび読出指示信号Ｒｅａｄを生成することができる。
【０１９５】
以上のように、この発明の実施の形態１に従えば、磁気メモリ（ＭＲＡＭ）において、データ書込後、書込が正常に行なわれたかのベリファイ動作を実行している。したがって、信頼性の高いデータ書込を実現することができる。
【０１９６】
また、ＭＲＡＭセルは、書込不良の場合には、書込前の初期状態に復帰している。したがって、同一書込条件で再書込を行なっても、熱の電子スピン状態への影響により、再書込の回数を繰返すことにより、書込不良が発生する確率が低下し、確実なデータ書込を保証することができる。このとき、また、後の実施の形態において説明するように、各書換ごとに、書込条件が変更されてもよい。
【０１９７】
［実施の形態２］
図１８は、この発明の実施の形態２に従うスピン注入型ＭＲＡＭの書込シーケンスを示すタイミング図である。以下、図１８を参照して、この発明の実施の形態２に従うＭＲＡＭの書込シーケンスについて説明する。ここで、ＭＲＡＭとしてトグルＭＲＡＭおよびスピン注入型ＭＲＡＭいずれにおいても、同様の動作が行なわれる（トグルＭＲＡＭについては後に説明する）。
【０１９８】
ＭＲＡＭは、クロック信号ＣＬＫに同期して、外部からのコマンドＣＭＤおよびアドレス信号ＡＤを取込む。また、内部の動作サイクルも、このクロック信号ＣＬＫにより規定される。
【０１９９】
時刻Ｔ０から始まるサイクルにおいて、コマンドＣＭＤとしてライトコマンドが与えられ、また外部からのアドレス信号ＡＤとしてアドレス信号ＡＤ０が与えられる。
【０２００】
このライトコマンドに従って、内部で書込モード指示信号φＷがワンショットパルスの形態で生成される。この書込モード指示信号φＷに従って書込指示信号Ｗｒｉｔｅが所定期間活性状態となる。この書込指示信号Ｗｒｉｔｅに従って、書込ディジット線駆動信号Ｗ＿ＤＬおよび書込パルス信号Ｗ＿ＰＵＬＳＥが活性化される。第1回目の書込時においては、比較無効化信号１ｓｔ＿Ｗｒｉｔｅが活性化される。
【０２０１】
この書込時、また、外部へはビジー／レディ信号Ｂ／ＲＺが発行され、書込中であることが示される。
【０２０２】
次いで、時刻Ｔ０から始まるサイクルにおいて、書込が完了すると、書込指示信号Ｗｒｉｔｅが非活性化され、また、比較無効化信号１ｓｔ＿Ｗｒｉｔｅが非活性化される。この書込指示信号Ｗｒｉｔｅの非活性化に応答して、ライトベリファイ活性化信号ＶＦＲＥＮが活性化され、書込対象のメモリセルからのデータの読出および書込データと内部読出データとの比較が行なわれる。書込不良の場合、ベリファイ結果指示信号Ｐ／Ｆは、Ｈレベルである。
【０２０３】
時刻Ｔ１から始まるサイクルにおいて、このＨレベルのベリファイ結果指示信号Ｐ／Ｆに従って再び書込モード指示信号φＷがワンショットのパルスの形態で与えられる。これにより、再び、同じアドレスについて書込が実行され、次いで、ライトベリファイ動作が実行される。この時刻Ｔ１から始まるサイクルにおいて、外部には、ビジー／レディ信号Ｂ／ＲＺは、Ｈレベルであり、このサイクルの間、外部からのアクセスは禁止される。
【０２０４】
ベリファイ結果により、書込が正常に行なわれたことが示されると、ベリファイ結果指示信号Ｐ／Ｆが、Ｌレベルとなる。応じて、ビジー／レディ信号Ｂ／ＲＺがＬレベルに設定され、アクセス許可状態に設定される。
【０２０５】
したがって、時刻Ｔ２から始まるサイクルにおいて、プロセッサ（またはコントローラ）が、このＭＲＡＭに対してアクセス（データの書込または読出）を行なうことができる。
【０２０６】
この図１８に示すように、クロック信号ＣＬＫに同期して動作する場合、外部へ内部書込期間中、ビジー／レディ信号Ｂ／ＲＺを発行することにより、外部のプロセッサ（またはコントローラ）が、ＭＲＡＭの内部状態を知ることができる。
【０２０７】
この書込不良のとき、内部で、書込モード指示信号φＷを生成し、等価的に、内部書込コマンドを発行することにより、同じシーケンスで、書込ベリファイ後の再書込時においても書込を実行することができる。
【０２０８】
図１９は、この発明の実施の形態２に従うスピン注入型ＭＲＡＭのコマンドデコーダ１１２およびタイミングジェネレータ１１４の構成を概略的に示す図である。このコマンドデコーダ１１２は、図１５に示すスピン注入型ＭＲＡＭのコマンドデコーダ１１２に対応する。
【０２０９】
図１９において、コマンドデコーダ１１２は、クロック信号ＣＬＫに同期して外部からのコマンドＣＭＤを取込み、ライトコマンドが与えられたかを検出するライトコマンド検出回路２０２と、ライトコマンド検出回路２０２の出力信号とタイミングジェネレータ１１４からの再書込指示信号φＷＩとを受けるＯＲ回路２０４と、ＯＲ回路２０４の出力する書込モード指示信号φＷに従って書込指示信号Ｗｒｉｔｅを生成する書込活性化回路２０６を含む。
【０２１０】
ライトコマンド検出回路２０２は、クロック信号ＣＬＫの立上がりで、コマンドＣＭＤがライトコマンドであるかを検出する。コマンドＣＭＤは、複数の信号の論理レベルの組合せで与えられてもよく、また、１つのデコードされた信号として与えられてもよい。このライトコマンド検出回路２０２は、ライトコマンドを検出すると、ワンショットのパルス信号を生成する。ＯＲ回路２０４は、したがって、外部からのライトコマンドが与えられたとき、またはタイミングジェネレータ２１０から再書込指示信号φＷＩが与えられたときに、書込指示信号φＷを活性化する。再書込指示信号φＷＩが、ライトコマンド検出回路２０２の生成するパルス信号と同程度のパルス幅を有し、この再書込指示信号φＷＩを、内部書込コマンドとして利用する。
【０２１１】
書込活性化回路２０６は、書込モード指示信号φＷの活性化に応答して、所定の時間幅を有するパルス信号を、書込指示信号Ｗｒｉｔｅとして生成する。
【０２１２】
コマンドデコーダ１１２は、さらに書込モード指示信号φＷに従って比較無効化信号１ｓｔ＿Ｗｒｉｔｅを生成するプレリード禁止回路２０８を含む。このプレリード禁止回路２０８は、書込モード指示信号φＷの活性化に従って、書込指示信号Ｗｒｉｔｅと同程度の時間幅を有するワンショットのパルス信号を生成して、１回目の書込時に書込対象のメモリセルからのデータの読出および比較動作を禁止して、書込を実行させる。
【０２１３】
タイミングジェネレータ１１４は、図１５に示すタイミングジェネレータ１１４に相当する。このタイミングジェネレータ１１４は、コマンドデコーダ２００からの書込モード指示信号φＷに従って書込制御信号Ｗ＿ＤＬおよびＷ＿ＰＵＬＳＥを生成する書込電流駆動活性化回路２１１を含む。ＭＲＡＭが、スピン注入型ＭＲＡＭであり、この書込電流駆動活性化回路２１１は、書込ディジット線駆動信号Ｗ＿ＤＬと書込パルス信号Ｗ＿ＰＵＬＳＥを、書込モード指示信号φＷに従って所定のタイミングで生成する。
【０２１４】
タイミングジェネレータ１１４は、さらに、コマンドデコーダ１１２からの書込指示信号Ｗｒｉｔｅの非活性化に応答して、ベリファイリード活性化信号ＶＦＲＥＮを生成するベリファイ活性化回路２１２と、ベリファイ結果指示信号Ｐ／Ｆに従ってビジー／レディ信号Ｂ／ＲＺを生成するビジー信号発生回路２１３を含む。
【０２１５】
ベリファイ活性化回路２１２は、たとえば、ワンショットのパルス信号を発生する回路で構成され、書込指示信号Ｗｒｉｔｅの非活性化への移行に応答して、所定期間、ベリファイリード活性化信号ＶＦＲＥＮを活性状態に維持する。
【０２１６】
ビジー信号発生回路２１３は、書込モード時、ベリファイ結果指示信号Ｐ／Ｆに従ってビジー／レディ信号Ｂ／ＲＺを生成する。ビジー／レディ信号Ｂ／ＲＺが、ビジー状態を示すときにＨレベルに設定される構成であれば、このビジー信号発生回路２１３は、バッファ回路で構成される。一方、このビジー／レディ信号Ｂ／ＲＺが、ビジー状態のときにＬレベルに設定される場合には、ビジー信号発生回路２１３は、反転回路で構成される。
【０２１７】
ベリファイ結果指示信号Ｐ／Ｆは、スタンバイ状態時、Ｌレベルに設定される。
タイミングジェネレータ１１２は、さらに、ベリファイリード活性化信号ＶＦＲＥＮの活性化時スルー状態となり、ベリファイ結果指示信号Ｐ／Ｆを通過させるラッチ２１４と、このラッチ２１４の出力信号とクロック信号ＣＬＫとに従って、再書込指示信号φＷＩを生成するパルス発生回路２１５を含む。
【０２１８】
ラッチ２１４は、ベリファイリード活性化信号ＶＦＲＥＮの非活性化時ラッチ状態になる。パルス発生回路２１５は、ラッチ２１４の出力信号がＨレベルであれば、クロック信号ＣＬＫの立上がりに同期して、ワンショットパルスの形態で内部ライトコマンドとして再書込指示信号φＷＩを生成する。ベリファイ時においても外部コマンド印加時と同様の動作制御で書込を実行することができる。この内部での書込指示信号の発行時、トグルＭＲＡＭにおいては、当然にプレリード動作は停止される。先の書込サイクルにおけるベリファイ動作が再書き込み時のプレリード動作に対応しており、書込サイクルの時間を短縮する。
【０２１９】
書込が正常に行なわれた場合には、ベリファイ結果指示信号Ｐ／ＦはＬレベルとなるため、パルス発生回路２１５は、パルスを発生しない。これにより、正常に書込が行なわれた次のサイクルで、内部ライトコマンドとして、再書込指示信号φＷＩが生成されるのを防止することができる。
【０２２０】
以上のように、内部で書込時、ベリファイ動作を行ない、書込不良のとき、内部でライトコマンドに対応する再書込指示信号を生成している。これにより、確実に、データの書込を行なうことができる。また、外部に、ビジー／レディ信号を発行し、このＭＲＡＭの内部状態を外部のプロセッサまたはコントローラに知らせている。これにより、ＭＲＡＭにおいてデータの再書込が行なわれている期間に、外部からのアクセスを確実に防止することができる。
【０２２１】
［変更例］
図２０は、この発明の実施の形態２の変更例のトグルＭＲＡＭのコマンドデコーダ６２およびタイミングジェネレータ６４の構成を概略的に示す図である。図２０において、コマンドデコーダ６２は、クロック信号ＣＬＫに同期して、外部からのコマンドＣＭＤを取込み書込指示検出信号φＷＦを生成するライトコマンド検出回路２２と、タイミングジェネレータ６４からの内部書込検出信号（再書込指示信号）φＷＩとクロック信号ＣＬＫに従って書込指示信号Ｗｒｉｔｅを生成する書込活性化回路２２４を含む。
【０２２２】
書込活性化回路２２４は、再書込指示信号φＷＩが活性化されると、クロック信号ＣＬＫの立下がりに同期して、所定の時間幅の書込指示信号Ｗｒｉｔｅを生成する。
【０２２３】
タイミングジェネレータ６４は、書込指示信号Ｗｒｉｔｅの活性化に従って所定のシーケンスで、書込ディジット線駆動信号Ｗ＿ＤＬおよび書込ビット線駆動信号Ｗ＿ＢＬを生成する書込電流駆動活性化回路２３１と、コマンドデコーダ６２からの書込検出信号φＷＦと書込活性化信号Ｗｒｉｔｅに従ってベリファイ活性化信号ＶＦＲＥＮを生成するベリファイ活性化回路２３２を含む。
【０２２４】
このベリファイ活性化回路２３２は、書込モード検出信号φＷＦの活性化または書込指示信号Ｗｒｉｔｅの非活性化に応答して、所定の時間幅を有するワンショットのパルス形態で、ベリファイリード活性化信号ＶＦＲＥＮを生成する。このベリファイリード活性化信号ＶＦＲＥＮのパルス幅は、内部でデータの読出および内部読出データと書込データの論理の一致判定に要する時間幅である。
【０２２５】
タイミングジェネレータ６４は、さらに、ベリファイ結果指示信号Ｐ／Ｆに従ってビジー／レディ信号Ｂ／ＲＺを生成するビジー信号発生回路２３３と、ベリファイリード活性化信号ＶＦＲＥＮの非活性化に応答して、ベリファイ結果指示信号Ｐ／Ｆをラッチするラッチ２３４と、このラッチ２３４の出力信号とベリファイリード活性化信号ＶＦＲＥＮとに従って内部書込指示信号（再書込指示信号）φＷＩを生成するパルス発生回路２３５を含む。
【０２２６】
ビジー信号発生回路２３３は、書込モード時、ベリファイ結果指示信号Ｐ／Ｆに従ってビジー／レディ信号Ｂ／ＲＺを生成する。このベリファイ結果指示信号Ｐ／Ｆが、スタンバイ状態時にＬレベルであれば、ビジー信号発生回路２３３は、常時、このベリファイ結果指示信号Ｐ／Ｆに従ってビジー／レディ信号Ｂ／ＲＺを生成する。
【０２２７】
ラッチ２３４は、ベリファイリード活性化信号ＶＦＲＥＮのＨレベルにあり、内部データ読出が行なわれるときにスルー状態となり、ベリファイリード活性化信号ＶＦＲＥＮがＬレベルとなり内部読出が完了すると、ラッチ状態となる。
【０２２８】
パルス発生回路２３５は、ベリファイリード活性化信号ＶＦＲＥＮの立下がり時においてこのラッチ２３４の出力信号がＨレベルのときに、ワンショットの形態で、内部書込指示信号（再書込指示信号）φＷＩを生成する。
【０２２９】
図２１は、図２０に示すコマンドデコーダ６２およびタイミングジェネレータ６４の動作を示すタイミング図である。以下、図２１を参照して、この図２０に示すコマンドデコーダ６２およびタイミングジェネレータ６４の動作について説明する。
【０２３０】
時刻Ｔ１０から始まるサイクルにおいてクロック信号ＣＬＫに同期して、コマンドＣＭＤとしてライトコマンドが与えられ、また、アドレス信号ＡＤとして、アドレス信号ＡＤ０が与えられる。このライトコマンドに従って、ライトコマンド検出回路２２２が、ワンショットパルスの形態で書込指示検出信号φＷＦを生成する。この書込指示検出信号φＷＦの活性化に従って、ベリファイ活性化回路２３２がベリファイリード活性化信号ＶＦＲＥＮを活性化する。このとき、また、書込指示信号Ｗｒｉｔｅは非活性状態である。内部で、プレリードが行なわれ、書込対象のメモリセルの記憶データと書込データとの論理値の一致／不一致が判定される。この判定結果が不一致の場合、ベリファイ結果指示信号Ｐ／ＦはＨレベルである。応じて、ラッチ２３４の出力信号はＨレベルであり、パルス発生回路２３５が、このベリファイリード活性化信号ＶＦＲＥＮの立下がりに同期してワンショットのパルス信号の形態で、再書込指示信号φＷＩを生成する。
【０２３１】
このとき、ビジー／レディ信号Ｂ／ＲＺは、ベリファイ結果指示信号Ｐ／Ｆに従って、Ｈレベルであり、ビジー状態を示す（ビジー信号発生回路２３３による）。
【０２３２】
このワンショットパルスの再書込指示信号φＷＩに従って書込活性化回路２２４が、クロック信号ＣＬＫの立下がりに同期して、書込指示信号Ｗｒｉｔｅを活性状態へ駆動する。この書込指示信号Ｗｒｉｔｅは、図２１においては、クロック信号ＣＬＫがＬレベルの期間に設定される。しかしながら、この書込指示信号Ｗｒｉｔｅの活性化期間は、クロック信号ＣＬＫのＬレベル期間よりも短くてもよい。
【０２３３】
この書込指示信号Ｗｒｉｔｅが活性化されると、書込電流駆動活性化回路２３１が活性化され、書込ディジット線駆動信号Ｗ＿ＤＬおよび書込ビット線駆動信号Ｗ＿ＢＬが、所定のシーケンスで順次活性化される。
【０２３４】
時刻Ｔ１１から始まるサイクルにおいて、この書込指示信号Ｗｒｉｔｅの非活性化に応答して、ベリファイ活性化回路２３２からのベリファイリード活性化信号ＶＦＲＥＮが活性化される。これにより、内部で書込データについてのベリファイが実行される。このベリファイ結果が、書込不良を示すとき、再び、内部で再書込指示信号φＷＩが活性化され、次いで、書込活性化回路２２４は、書込指示信号Ｗｒｉｔｅを活性化する。再び、書込ディジット線駆動信号Ｗ＿ＤＬおよび書込ビット線駆動信号Ｗ＿ＢＬが活性化され、データの再書込が実行される。
【０２３５】
時刻Ｔ１２から始まるサイクルにおいて、書込指示信号Ｗｒｉｔｅが非活性化されると、リードベリファイ活性化信号ＶＦＲＥＮが活性化され、判定動作が行なわれる。このとき、書込が正常に行なわれていれば、ベリファイ結果指示信号Ｐ／ＦがＬレベルに立下がる。ベリファイリード活性化信号ＶＦＲＥＮがＬレベルに立下がると、ラッチ２３４の出力信号はＬレベルでラッチ状態にある。したがって、パルス発生回路２３５は、パルスを生成せず、再書込指示信号φＷＩは発生されない。このベリファイ結果指示信号Ｐ／Ｆの非活性化に応答して、ビジー／レディ信号Ｂ／ＲＺが、クロック信号ＣＬＫの立上がりに同期してＬレベルに駆動される。
【０２３６】
なお、このビジー／レディ信号Ｂ／ＲＺが、ベリファイ結果指示信号Ｐ／Ｆに従って、クロック信号ＣＬＫと非同期で、Ｌレベルに設定されてもよい。
【０２３７】
この図２１に示すように、ベリファイ期間の時刻Ｔ１１から始まるサイクルおよび時刻Ｔ１２から始まるサイクルが費やされるものの、ビジー／レディ信号Ｂ／ＲＺを利用することにより、確実に、外部のプロセッサまたはコントローラからのアクセスを禁止することができる。外部アクセスは、したがって時刻Ｔ１２から始まるサイクルの後半のサイクルにおいて許可される。
【０２３８】
以上のように、この発明の実施の形態２に従えば、内部でライトベリファイ動作を行なっている期間、外部のプロセッサまたはコントローラは、この内部での内部ベリファイ期間中であることを確実に知ることができ、外部からのアクセスと内部ベリファイ動作の競合を防止することができる。
【０２３９】
［実施の形態３］
図２２は、この発明の実施の形態３に従うトグルＭＲＡＭのコマンドデコーダ６２およびタイミングジェネレータ６４の構成を概略的に示す図である。この図２２に示す構成においては、タイミングジェネレータ６４が、図２０に示すタイミングジェネレータ６４と構成が異なる。すなわち、タイミングジェネレータ６４において、パルス発生回路２３５からのパルス信号（再書込指示信号）φＷＩの伝達経路を、ベリファイリード活性化信号ＶＦＲＥＮの活性化ごとに切換える切換回路２４０と、この切換回路２４０から与えられるパルス信号に従って再書込要求ＷＲＥＱを発行する再書込要求発行回路２４２が設けられる。
【０２４０】
切換回路２４０は、ベリファイリード活性化信号ＶＦＲＥＮの１回目の活性化に応答して、パルス発生回路２３５からのパルス信号（再書込指示信号φＷＩ）を書込活性化回路２２４へ与える。ベリファイリード活性化信号ＶＦＲＥＮの２回目の活性化に応答して、この切換回路２４０は、パルス発生回路２３５からのパルス信号（再書込指示信号）φＷＩを再書込要求発行回路２４２へ与える。再書込要求発行回路２４２は、切換回路２４０から与えられるパルス信号の立上がりに応答して、再書込要求ＷＲＥＱを活性化する（発行する）。
【０２４１】
この図２２に示すコマンドデコーダ６２およびタイミングジェネレータ６４の他の構成は、図２０に示すタイミングジェネレータ６４およびコマンドデコーダ６２の構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【０２４２】
図２３は、図２２に示すコマンドデコーダ６２およびタイミングジェネレータ６４の動作を示すタイミング図である。以下、図２３を参照して、図２２に示すコマンドデコーダ６２およびタイミングジェネレータ６４の動作について説明する。
【０２４３】
時刻Ｔ２０から始まるクロックサイクルにおいて、ライトコマンドがアドレス信号ＡＤ０とともに与えられる。このライトコマンドに従って、ライトコマンド検出回路２２２から、書込指示検出信号φＷＦが発生される。応じて、ベリファイ活性化回路２３２が、ベリファイリード活性化信号ＶＦＲＥＮを活性化する。このベリファイリード活性化信号ＶＦＲＥＮに従って、書込対象のメモリセルのデータが読出される。この内部から読出されたメモリセルのデータと書込データとの論理レベルが不一致のときには、パルス発生回路２３５が、先の図２０に示す構成と同様にして、ワンショットのパルス信号の形態で、再書込指示信号φＷＩを生成する。
【０２４４】
切換回路２４０は、このベリファイリード活性化信号ＶＦＲＥＮの１回目の活性化に応答して、パルス発生回路２３５からのパルス信号φＷＩを書込活性化回路２２４へ与える。これにより、書込指示信号Ｗｒｉｔｅが活性化され、次いで書込電流駆動活性化回路２３１により、駆動信号Ｗ＿ＤＬおよびＷ＿ＢＬが順次活性化される。
【０２４５】
時刻Ｔ２１から始まるクロックサイクルにおいて、書込が完了すると、再び、ベリファイ活性化回路２３２が、ベリファイリード活性化信号ＶＦＲＥＮを活性化する。この２回目のベリファイリード活性化信号ＶＦＲＥＮの活性化に応答して、切換回路２４０は、その接続経路を切換え、パルス発生回路２３５の出力する再書込指示信号φＷＩを、再書込要求発行回路２４２へ与える。
【０２４６】
書込時のライトベリファイ時、書込不良が検出されると、ベリファイ結果指示信号Ｐ／ＦはＨレベルである。したがって、再び、パルス発生回路２３５が、再書込指示信号φＷＩを、ワンショットのパルスの形態で発生する。このとき、切換回路２４０は、パルス発生回路２３５の出力する再書込指示信号φＷＩを、再書込要求発行回路２４２へ与える。再書込要求発行回路２４２は、この与えられた再書込指示信号φＷＩに従って、再書込要求ＷＲＥＱを発行する。この再書込要求ＷＲＥＱにより、外部のプロセッサまたはコントローラが、再びライトコマンドを同じアドレスＡＤ０とともに与える。したがって時刻Ｔ２２から始まるサイクルにおいて、再び時刻Ｔ２０から始まるサイクルと同じ動作が実行される。
【０２４７】
内部で書込不良が生じたときに、外部のプロセッサまたはコントローラに書込要求を発行することにより、外部のプロセッサまたはコントローラは、確実に、この書込の状態を検出することができる。これにより、書込不良の発生回数などをモニタして、必要な処置をとることができる。
【０２４８】
なお、この再書込要求ＷＲＥＱは、クロック信号ＣＬＫの立上がりに同期して発行されてもよい。また、時刻Ｔ２０から時刻Ｔ２２の間が、外部のクロック信号の１クロックサイクル期間であってもよい。
【０２４９】
［変更例］
図２４は、この発明の実施の形態３の変更例に従うスピン注入型ＭＲＡＭのコマンドデコーダ１１２およびタイミングジェネレータ１１４の構成を概略的に示す図である。この図２４に示すコマンドデコーダ１１２およびタイミングジェネレータ１１４は、以下の点で、図１９に示すコマンドデコーダ１１２およびタイミングジェネレータ１１４とその構成が異なる。すなわち、コマンドデコーダ１１２においては、ライトコマンド検出回路２０２の出力信号φＷＦが、書込モード指示信号φＷとして、書込活性化回路２０６へ直接与えられる。
【０２５０】
タイミングジェネレータ１１４においては、パルス発生回路２１５からのパルス信号（再書込指示信号）φＷＩに従って再書込要求ＷＲＥＱを発行する再書込要求発行回路２１０が設けられる。
【０２５１】
このタイミングジェネレータ１１４およびコマンドデコーダ１１２の他の構成は、図１９に示すコマンドデコーダ１１２およびタイミングジェネレータ１１４の構成と同じであり、対応する部分には同一参照番号を付し、その詳細説明は省略する。
【０２５２】
図２５は、図２４に示すコマンドデコーダ１１２およびタイミングジェネレータ１１４のデータ書込時の動作を示すタイミング図である。以下、図２５を参照して、図２４に示すコマンドデコーダ１１２およびタイミングジェネレータ１１４の動作について説明する。
【０２５３】
時刻Ｔ３０から始まるサイクルにおいて、クロック信号ＣＬＫの立上がりに同期して、コマンドＣＭＤとしてライトコマンドが与えられ、また、同時にアドレス信号ＡＤとしてアドレス信号ＡＤ０が与えられる。このライトコマンドに従って、書込活性化回路２０６が、書込指示信号Ｗｒｉｔｅを活性化する。この書込指示信号Ｗｒｉｔｅの活性化に従って、書込電流駆動活性化回路２１１が、書込ディジット線駆動信号Ｗ＿ＤＬおよび書込パルス信号Ｗ＿ＰＬＳＥを活性化する。このときまた、プレリードを禁止する比較無効化信号１ｓｔ＿Ｗｒｉｔｅが活性化される。
【０２５４】
この書込動作が完了すると、次いで、ベリファイ活性化回路２１２により、ベリファイリード活性化信号ＶＦＲＥＮが活性化され、ライトベリファイが実行される。書込不良の場合には、先に図１８に示すタイミング図において説明したように、パルス発生回路２１５からの再書込指示信号（内部書込指示信号）φＷＩが活性化される。この再書込指示信号φＷＩの活性化に従って、再書込要求発行回路２５０が、書込要求ＷＲＥＱを発行する。
【０２５５】
この書込要求ＷＲＥＱに従って、外部のプロセッサまたはコントローラが、再びライトコマンドとともに、同一のアドレス信号ＡＤ０を発行する。これにより、時刻Ｔ３１から始まるサイクルにおいて、時刻Ｔ３０から始まるサイクルと同じ書込およびライトベリファイが実行される。
【０２５６】
この時刻Ｔ３１から始まる再書込のサイクルにおいて、書込が正常に行なわれると、ベリファイ結果指示信号Ｐ／Ｆが非活性状態となり、書込が正常に行なわれたことが示される。この場合、パルス発生回路２１５は、パルス信号を発生しないため、再書込要求発行回路２５０は、再書込要求ＷＲＥＱは発行しない。したがって、時刻Ｔ３２からのサイクルにおいて、次のアクセスを実行することができる。
【０２５７】
なお、この図２５に示すタイミング図においても、再書込要求ＷＲＥＱは、クロック信号ＣＬＫの立上がりに同期して発行されてもよい。この場合、時刻Ｔ３１から始まるサイクルは、ウエイトサイクルとなる。
【０２５８】
以上のように、この発明の実施の形態３に従えば、外部のコマンドに、書込不良時、書込を示すライトコマンドを発行するように、再書込要求を発行している。したがって、外部のコントローラまたはプロセッサは、データ書込の状態を把握することができ、書込不良時、必要な処理を実行することができる。
【０２５９】
なお、この実施の形態３において、実施の形態２と同様、ビジー／レディ信号が、併せて用いられてもよい。
【０２６０】
［実施の形態４］
図２６は、この発明の実施の形態４に従うＭＲＡＭの全体の構成を概略的に示す図である。この図２６に示すＭＲＡＭは、トグルＭＲＡＭおよびスピン注入型ＭＲＡＭのいずれであってもよい。
【０２６１】
図２６において、ＭＲＡＭは、メモリアレイ２０が、複数のメモリブロックＭＢ０−ＭＢｎに分割される。これらのメモリブロックＭＢ０−ＭＢｎそれぞれにおいて、メモリセルが行列状に配列される。ＭＲＡＭの構成に応じて、ワード線、ディジット線、ビット線およびソース線が各メモリセル行／列に応じて配置される。
【０２６２】
メモリブロックＭＢ０−ＭＢｎそれぞれに対応して、サブ書込系回路ＳＢＷ０−ＳＢＷｎが設けられる。これらのサブ書込系回路ＳＢＷ０−ＳＢＷｎの各々は、ディジット線ドライバおよびビット線ドライバを含む。スピン注入型ＭＲＡＭの場合には、さらに、ソース線ドライバおよびソース線デコーダが設けられる。サブ書込系回路ＳＢＷ０−ＳＢＷｎは、並列に動作し、多ビットデータを書込む。しかしながら、後に詳細に説明するように、これらのサブ書込系回路の再書込時の動作は、個々に制御が可能である。
【０２６３】
メモリブロックＭＢ０−ＭＢｎは、それぞれ、外部からの入力データＤＩ０−ＤＩｎおよびサブ出力データＤＯ０−ＤＯｎに対応して設けられ、それぞれが、対応のデータ入出力パッドとの間でデータの送受を行なう。
【０２６４】
メモリブロックＭＢ０−ＭＢｎそれぞれに対応して、さらに、読出列選択回路ＲＳＫ０−ＲＳＫｎが設けられる。この読出列選択回路ＲＳＫ０−ＲＳＫｎは、図１４に示すように、対応のメモリブロックの各ビット線に対して設けられる読出列選択ゲートおよび読出列選択デコーダを含む。データの読出時（ベリファイ動作を含む）に活性化され、図示しないアドレス信号に従って対応のメモリブロックにおいてアドレス指定された列に対応するビット線を選択する。
【０２６５】
これらの読出列選択回路ＲＳＫ０−ＲＳＫｎそれぞれに対応して、センスアンプ回路ＳＡＫ０−ＳＡＫｎが設けられる。それらのセンスアンプ回路ＳＡＫ０−ＳＡＫｎは、対応のセンス制御回路ＳＣＫ０−ＳＣＫｎからのセンス活性化信号ＥＮ０−ＥＮｎの活性化に応答して活性化され、ベリファイ基準電圧ＶＲＥＦＲと、対応の読出列選択回路ＲＳＫ０−ＲＳＫｎから読出されたデータとを比較する。
【０２６６】
これらのセンスアンプ回路ＳＡＫ０−ＳＡＫｎの出力信号は、それぞれ対応して設けられる出力データラッチＱＤＬ０−ＱＤＬｎに与えられる。
【０２６７】
出力データラッチＱＤＬ０−ＱＤＬｎそれぞれに対応して、比較器ＣＯＭ０−ＣＯＭｎが設けられる。この出力データラッチＱＤＬ０−ＱＤＬｎは、通常データ読出時、パッドを介して、外部読出データＤＯ０−ＤＯｎを生成し、ベリファイ動作時（内部読出時）、ラッチデータを対応の比較器ＣＯＭ０−ＣＯＭｎに与える。比較器ＣＯＭ０−ＣＯＭｎは、それぞれ、対応して設けられる入力データラッチＤＤＬ０−ＤＤＬｎのラッチデータと出力データラッチＱＤＬ０−ＱＤＬｎから与えられるデータを比較し、その比較結果を示す信号Ｐ／Ｆ０−Ｐ／Ｆｎを生成する。これらの比較器ＣＯＭ０−ＣＯＭｎの構成は、先の実施の形態１から３において示した構成と同じであり、トグルＭＲＡＭおよびスピン注入型ＭＲＡＭに応じてその構成が設定される。
【０２６８】
これらの比較器ＣＯＭ０−ＣＯＭｎからのベリファイ結果指示信号Ｐ／Ｆ０−Ｐ／Ｆｎは、それぞれ対応のセンス制御回路ＣＫ０−ＣＫｎで与えられ、またサブ書込系回路ＳＢＷ０−ＳＢＷｎへ与えられる。これにより、各メモリブロックごとに、ベリファイ結果に従って選択的に個々に再書込が実行される。
【０２６９】
比較器ＣＯＭ０−ＣＯＭｎの出力信号はまた、ＯＲ回路３０４へ与えられる。このＯＲ回路３０４から、メインベリファイ結果指示信号ＭＰ／Ｆが生成され、タイミングジェネレータ３０２へ与えられる。
【０２７０】
タイミングジェネレータ３０２が、コマンドデコーダ３００からの書込指示に従って、ディジット線駆動信号Ｗ＿ＤＬ、ベリファイリード活性化信号ＶＦＲＥＮ、書込ビット線駆動信号Ｗ＿ＢＬ（または書込パルス信号Ｗ＿ＰＬＳＥ）を生成する。このタイミングジェネレータ３０２の構成としては、先の実施の形態２または３において示した構成が用いられる。
【０２７１】
コマンドデコーダ３００は、外部からのコマンドＣＭＤをクロック信号ＣＬＫに同期して取込み、書込指示が与えられたときに、書込指示信号Ｗｒｉｔｅを生成する。読出指示が与えられた場合には、コマンドでコーダ３００は、読出指示信号Ｒｅａｄを生成する。これらのコマンドデコーダ３００およびタイミングジェネレータ３０２からの制御信号は、またセンス制御回路ＳＣＫ０−ＳＣＫｎおよびサブ書込回路ＳＢＷ０−ＳＢＷｎへ与えられる。また、読出列選択回路ＲＳＫ０−ＲＳＫｎに対しても、読出動作を活性化するために、ベリファイリード活性化信号ＶＦＲＥＮおよび読出指示信号Ｒｅａｄが与えられる。
【０２７２】
なお、図２６においては示していないが、アドレスラッチが設けられており、各メモリブロックそれぞれにおいてアドレスを指定する内部アドレス信号（ＡＤＤ）が生成される。
【０２７３】
センスアンプ回路ＳＡＫ０−ＳＡＫｎは、それぞれメモリブロックＭＢ０−ＭＢｎに対応して設けられており、選択列を指定するアドレス信号は、センスアンプを活性化するセンス制御回路ＳＣＫ０−ＳＣＫｎへは与えられない。すなわち、センスアンプ回路ＳＡＫ０−ＳＡＫｎは、対応のメモリブロックのビット線に対して共通に設けられる。センス制御回路ＳＣＫ０−ＳＣＫｎは、それぞれ、対応のベリファイ結果指示信号Ｐ／Ｆ０−Ｐ／Ｆｎの結果が不一致を示すとき、ベリファイリード活性化信号ＶＦＲＥＮに従って、対応のセンスアンプ回路ＳＡＫ０−ＳＡＫｎを活性化する。
【０２７４】
この図２６に示すＭＲＡＭの構成においては、データ書込時、外部からの入力データＤＩ０−ＤＩｎが並列に、メモリブロックＭＢ０−ＭＢｎの選択メモリセルへ書込まれる。ベリファイ動作時、センス制御回路ＳＣＫ０−ＳＣＫｎにより、センスアンプ回路ＳＡＫ０−ＳＡＫｎが活性化され、比較器ＣＯＭ０−ＣＯＭｎにより、並列に比較動作が行なわれる。
【０２７５】
再書込時においては、このベリファイ結果指示信号Ｐ／Ｆ０−Ｐ／Ｆｎに従って、書込不良が生じたメモリブロックに対してのみ再書込が行なわれる。残りの書込が正常に行なわれたメモリブロックに対しては、書込指示信号Ｗｒｉｔｅは与えられるものの、対応のサブ書込系回路は、ベリファイ結果指示信号により、ディスエーブル状態とされ、データの再書込は行なわれない。
【０２７６】
図２７は、この図２６に示すＭＲＡＭのデータ書込時の動作を示すフロー図である。以下、図２７を参照して、図２６に示すＭＲＡＭの書込シーケンスについて説明する。
【０２７７】
まず、コマンドデコーダ３００が、外部からのコマンドＣＭＤにより書込が指定されたかを判定する（ステップＳ２１）。書込コマンドが与えられるまで、外部からのコマンドをモニタし、書込コマンドが与えられるのを待つ。
【０２７８】
ライトコマンドが与えられ、書込が指示されると、まず、コマンドデコーダ３００およびタイミングジェネレータ３０２により、プレリードが行なわれる（ステップＳ２２）。メモリブロックＭＢ０−ＭＢｎそれぞれにおいて並列に、書込対象のメモリセルの記憶データが読出される。応じて、比較器ＣＯＭ０−ＣＯＭｎにおいて、入力データラッチＤＤＬ０−ＤＤＬｎから与えられた書込データＤＩ０−ＤＩｎと対応の内部読出データとの論理値の一致／不一致が判定される（ステップＳ２３）。
【０２７９】
このＯＲ回路３０４からのメインベリファイ結果指示信号ＭＰ／ＦがＨレベルにあるかまたはＬレベルにあるかに従って、書込データの全ビットについて、記憶データと書込データが一致しているかの判別が行なわれる。このメインベリファイ結果指示信号ＭＰ／Ｆが、Ｈレベルであり、少なくとも１ビットのメモリセルについて、記憶データと書込データとが不一致を示しているときには、再び、タイミングジェネレータ３０２およびコマンドデコーダ３００からの制御信号に従って、データの書込が行なわれる（ステップＳ２４）。このとき、比較器ＣＯＭ０−ＣＯＭｎからのベリファイ結果指示信号Ｐ／Ｆ０−Ｐ／Ｆｎに従って、書込が必要とされるメモリブロックに対してのみ、データの書込が実行される。書込の不要のメモリブロックはスタンバイ状態に維持される（ステップＳ２４）。
【０２８０】
次いで、ベリファイリードが実行される（Ｓ２５）。次に、センスアンプ回路ＳＡＫ０−ＳＡＫｎは、ベリファイ結果指示信号Ｐ／Ｆ０−Ｐ／Ｆｎに従って選択的に活性化され、書込が必要とされて書込が行なわれたメモリブロックに対してのみ、センス動作が行なわれて、ベリファイリードが行なわれる。
【０２８１】
スタンバイ状態時のメモリブロックに対しては、対応の出力データラッチＱＤＬ０−ＱＤＬｎが、ラッチ状態にあり、対応の比較器ＣＯＭｉの出力するベリファイ結果指示信号Ｐ／Ｆｉの論理レベルは変化しない。
【０２８２】
次いで、ＯＲ回路３０４からのメインベリファイ結果指示信号ＭＰ／ＦがＨレベルであるかに従って、全ビットの書込が完了したかの判定が行なわれる（ステップＳ２６）。全ビットの書込が完了している場合、このデータの書込が完了する。一方、少なくとも１ビットのメモリセルについて、書込不良が存在する場合には、再び、ステップＳ２４からの操作が繰返される。これにより、メモリブロックＭＢ０−ＭＢｎにおいて、書込が正常に完了するまで、繰返し再書込が実行され、書込が完了したメモリブロックはスタンバイ状態に維持される。
【０２８３】
なお、スピン注入型ＭＲＡＭにおいて、プレリードを行うステップＳ２２およびＳ２３は省略されてもよい。この場合には、書込時、ステップＳ２４からステップＳ２６の動作が実行される。
【０２８４】
図２８は、図２６に示すサブ書込系回路ＳＢＷ０−ＳＢＷｎに含まれるビット線デコード制御回路およびディジット線デコード回路の構成を概略的に示す図である。図２８においては、サブ書込系回路ＳＢＷｉのビット線デコード制御回路３７６ｉおよびビット線デコード回路３７０ｉを代表的に示す。
【０２８５】
図２８において、ビット線デコード制御回路３７６ｉは、書込ビット線駆動信号Ｗ＿ＢＬと書込指示信号Ｗｒｉｔｅとベリファイ結果指示信号Ｐ／Ｆｉとを受けるＡＮＤゲートＧ３ｉと、ベリファイリード活性化信号ＶＦＲＥＮと読出指示信号Ｒｅａｄとベリファイ結果指示信号Ｐ／Ｆｉに従ってセンス活性化信号ＥＮｉを生成するセンス制御回路ＳＣＫｉを含む。
【０２８６】
ＡＮＤゲートＧ３ｉは、図１６および図１１に示すＡＮＤゲートＧ３に対応する。
センス制御回路ＳＣＫｉは、ベリファイ結果指示信号Ｐ／Ｆｉとベリファイリード活性化信号ＶＦＲＥＮとを受けるＡＮＤゲート３８０と、ＡＮＤゲート３８０の出力信号と読出指示信号Ｒｅａｄとを受けて、センス活性化信号ＥＮｉを生成するＯＲゲートＯＧ１ｉを含む。このＯＲゲートＯＧ１ｉは、図１１および図１６に示すＯＲゲートＯＧ１に対応する。
【０２８７】
ディジット線デコード回路３７０ｉは、書込ディジット線駆動信号Ｗ＿ＤＬと書込指示信号ＷｒｉｔｅとＸアドレス信号ＸＡＤＤとを受け、次段のディジット線ドライブ回路７２へ、その出力信号を与える。このディジット線デコード回路３７０ｉの構成は、図１１および図１６に示すディジット線デコード回路の構成と同じであり、その詳細構成は示さない。
【０２８８】
この図２８に示すように、ベリファイ結果指示信号Ｐ／Ｆｉを、対応のビット線デコード制御回路３７６ｉおよびディジット線デコード回路３７０ｉへ与えることにより、サブ書込系回路ＳＢＷｉの書込の活性／非活性化をベリファイ結果に従って各メモリブロックごとに設定することができる。
【０２８９】
なお、スピン注入型ＭＲＡＭの場合、書込ビット線駆動信号Ｗ＿ＢＬに代えて、書込パルス信号Ｗ＿ＰＵＬＳＥが与えられる。
【０２９０】
次段のビット線デコード回路７２およびディジット線ドライブ回路７２の構成は、先の図１１または図１６に示す構成と同じである。
【０２９１】
少なくともベリファイ結果指示信号Ｐ／ＦｉがＬレベルであり、書込が不要であることを示している場合には、ＡＮＤゲートＧ３ｉおよび３８０の出力信号はＬレベルとなる。読出指示信号Ｒｅａｄはデータ書込時Ｌレベルである。したがって、次段のビット線デコード回路７４は非活性状態（ディスエーブル状態）に維持され、ビット線選択は行なわれない。また、センス活性化信号ＥＮｉも非活性状態にあり、センス動作は行なわれない。
【０２９２】
図２９は、実施の形態４のＭＲＡＭが、スピン注入型ＭＲＡＭの場合の、ソース線デコード制御回路３８０の構成を示す図である。この図２９に示すソース線デコード制御回路３８０は、図１６に示すソース線デコード制御１２０の構成に対応する。この図２９においても、サブ書込系回路ＳＢＷｉにおける回路を代表的に示す。
【０２９３】
図２９において、ソース線デコード制御回路３８０は、入力データを反転するインバータＩＶ４ｉと、インバータＩＶ４ｉの出力信号とベリファイ結果指示信号Ｐ／Ｆｉとを受けるＡＮＤゲートＧ８ｉを含む。これらのインバータＩＶ４ｉおよびＡＮＤゲートＧ８ｉは、図１６に示すデコード制御回路１２０のインバータＩＶ４およびＡＮＤゲートＧ８に対応する。
【０２９４】
ソース線デコード制御回路３８０はさらに、ベリファイ結果指示信号Ｐ／Ｆｉとベリファイリード活性化信号ＶＦＲＥＮとを受けるＡＮＤゲート３８２と、ＡＮＤゲート３８２の出力信号と読出指示信号Ｒｅａｄとを受けるＯＲゲートＯＧ３ｉを含む。このＯＲゲートＯＧ３ｉは、図１６に示すソース線デコード制御回路１２０に含まれるＯＲゲートＯＧ３に対応する。ＡＮＤゲート３８２により、ベリファイ結果指示信号Ｐ／Ｆｉに従って選択的に、ベリファイリード活性化信号ＶＦＲＥＮを有効／無効状態に設定する。
【０２９５】
ソース線デコード制御回路３８０は、さらに、書込パルス信号Ｗ＿ＰＵＬＳＥとＡＮＤゲートＧ８ｉの出力信号と書込活性化信号Ｗｒｉｔｅを受けるＡＮＤゲートＧ９ｉと、ＯＲゲートＧ９ｉの出力信号とＯＲゲートＯＧ３ｉの出力信号とを受け、次段のソース線デコーダへその出力信号を与えるＯＲゲートＯＧ４ｉを含む。ＡＮＤゲートＧ９ｉは、図１６に示すソース線デコード制御回路１２０に含まれるＡＮＤゲートＧ９に対応する。ＯＲゲートＯＧ４ｉは、図１６に示すソース線デコード制御回路１２４にＯＲゲートＯＧ４に対応する。ソース線デコーダの構成は、図１６に示すソース線デコーダ１２２の構成と同じである。
【０２９６】
この図２９に示すソース線デコード制御回路３８０の構成において、ベリファイ結果指示信号Ｐ／ＦｉがＬレベルのとき、ＡＮＤゲートＧ８ｉおよび３８２の出力信号はＬレベルとなる。書込モード時においては、読出指示信号Ｒｅｎｄは非活性状態のＬレベルである。したがって、ＯＲゲートＯＧｉからはＬレベルの信号が次段のソース線デコーダ（１２２）へ与えられて、ソース線デコーダはディスエーブル状態に維持される。
【０２９７】
メモリブロックそれぞれに対応して設けられる比較器ＣＯＭ０−ＣＯＭｎからのベリファイ結果指示信号Ｐ／Ｆ０−Ｐ／Ｆｎを、それぞれ対応のサブ書込系回路ＳＢＷ０−ＳＢＷｎおよびセンス制御回路ＳＣＫ０−ＳＣＫｎへ与えることにより、メモリブロックＭＢ０−ＭＢｎ個々に再書込を制御することができる。
【０２９８】
この再書込時においては、すべて同じ書込条件で再書込が行なわれてもよく、後に説明するように、その書込条件が変更されてもよい。この多ビットデータの書込時、書込の必要とするメモリセルに対する書込のみを実行し書込が正常に行なわれているビット（メモリセル）に対しては、不必要なメモリセルに対する書込を停止することができ、消費電流を低減することができる。
【０２９９】
以上のように、この発明の実施の形態４に従えば、メモリブロック単位で再書込みを行うように構成しており、タビットデータを確実に書込むことができる。また、書込が完了したメモリブロックにおいては書込動作は行われず、スタンバイ状態に維持されるため、不必要な書込は行なわれず、消費電力を低減することができる。
【０３００】
［実施の形態５］
図３０は、この発明の実施の形態５に従うＭＲＡＭのコマンドデコーダ４００の構成を概略的に示す図である。図３０において、コマンドデコーダ４００は、クロック信号ＣＬＫに同期して、外部からのコマンドＣＭＤに従ってライトコマンドが与えられたかを検出するライトコマンド検出回路４０２と、このライトコマンド検出回路４０２からのライトコマンド検出信号φＷＦに従って初期値に設定され、内部クロック信号ＣＬＫｉに同期してカウント動作を行なうカウント回路４０４を含む。このカウント回路４０４は、ライトコマンド検出信号φＷＦに従ってそのカウント値が初期値に設定されると、クロック信号ＣＬＫｉの立上がりまたは立下がりに同期してカウント動作を行ない所定値に到達するとカウント動作を停止する。
【０３０１】
コマンドデコーダ４００は、さらに、カウント回路４０４からのカウントアップ指示信号が非活性状態のとき、内部クロック信号ＣＬＫｉに同期してワンショットパルス信号を発生するパルス発生回路４０６と、ライトコマンド検出信号φＷＦとパルス発生回路４０６からのパルス信号とに従って書込指示信号φＷを生成するＯＲ回路４０８を含む。
【０３０２】
パルス発生回路４０６は、このカウント回路４０４が、そのカウント値が所定値に到達しカウントアップ信号φＥＵＰが活性化されると、そのパルス発生動作を停止する。したがってパルス発生回路４０６は、このカウント回路４０４に予め設定された所定のカウント値の回数、パルス信号を生成する。
【０３０３】
このＯＲ回路４０８からの書込指示信号φＷは、このコマンドデコーダ４００が用いられるＭＲＡＭの構成に応じて、次段の書込活性化回路に与えられるか、またはタイミングジェネレータへ与えられる。したがって、このコマンドデコーダ４００は、図２２に示す外部へ再書込要求を発行する構成以外のＭＲＡＭに適用することができる。
【０３０４】
図３１は、図３０に示すコマンドデコーダ４００の動作を示すフロー図である。以下、図３１を参照して、図３０に示すコマンドデコーダ４００の動作について説明する。
【０３０５】
ライトコマンド検出回路４０２は、クロック信号ＣＬＫに同期して、外部からのコマンドＣＭＤをモニタし、書込指示が与えられるのを待つ（ステップＳ４０）。外部からのコマンドＣＭＤが、ライトコマンドのとき、このライトコマンド検出回路４０２が、書込検出信号φＷＲを活性化する。続いて、カウント回路４０４が初期化されカウント動作を開始する。このとき、まだパルス発生回路４０６はパルス信号を発生しない。一方、ＯＲ回路４０８により、このライトコマンド検出信号φＷＦに従って書込指示信号φＷが発行される（ステップＳ４１）。この書込指示信号φＷに従って、内部で、データの書込および書込後のベリファイ動作が実行され、ベリファイ結果に従って、ベリファイ結果指示信号Ｐ／Ｆ（またはＰ／Ｆｉ）が、それぞれベリファイ結果に応じた論理レベルに設定される（ステップＳ４２）。このステップＳ４２において、トグルＭＲＡＭの場合、プレリードが１回目の書込時に実行される。２回目移行の再書込時においては、プレリードは実行されない（図１９参照）。
【０３０６】
次いで、カウント回路４０４のカウント値がまだ所定値に到達していないため、カウントアップ信号φＥＵＰは非活性状態である（ステップＳ４３）。したがって、この場合には、パルス発生回路４０６が、内部クロック信号ＣＬＫｉに同期して、ワンショットのパルス信号を生成し、再び書込指示信号φＷが発行される。一方ステップＳ４３において、このカウント回路４０４のカウント値が所定値に到達するとカウントアップ指示信号φＥＵＰが活性状態となり、パルス発生回路４０６は、以後のパルス発生動作を停止する。
【０３０７】
したがってこの図３０に示すコマンドデコーダ４００を利用する場合、内部で、書込が正常に行なわれた場合においても、書込指示が発行されて書込シーケンスが実行される。この場合、ベリファイ結果指示信号Ｐ／ＦまたはＰ／Ｆｉが正常書込を示しているときには、書込対象のメモリセルに対する実際のデータ書込は実行されない。いわゆる空書込シーケンスが実行されるだけである。
【０３０８】
この図３０に示すコマンドデコーダの場合、外部からライトコマンドが与えられると、所定回数内部で書込および書込ベリファイを実行する。これにより、このカウント回路４０４の設定される所定値が示す所定期間内に、メモリセルのデータの書込が確実に行なわれたことを期待する。また、外部のプロセッサまたはコントローラは、ライトコマンド発行後、所定期間内に、書込が完了することが保証され、システム設計が容易となる（ライトアクセス時間を所定値に設定することが可能となるため）。
【０３０９】
以上のように、この発明の実施の形態５に従えば、ライトコマンドが与えられたとき、内部で所定回数書込およびベリファイを実行しており、正確なデータの書込を行なうことができ、また書込アクセス時間を所定値に設定することができる。
【０３１０】
内部クロック信号ＣＬＫｉは、外部からのクロック信号ＣＬＫと同じクロック信号であってもよく、またこの外部クロック信号ＣＬＫを分周して生成される内部クロック信号であってもよい。内部でのデータ書込およびベリファイサイクルを規定する期間を保証する周期を有する内部クロック信号であればよい。
【０３１１】
［実施の形態６］
図３２は、この発明の実施の形態６に従うＭＲＡＭのタイムジェネレータ３０２の要部の構成を概略的に示す図である。この図３２に示す構成においては、タイミングジェネレータ３０２内において、ＯＲ回路３０４からのメインベリファイ結果指示信号ＭＰ／Ｆに従ってビジー／レディ信号Ｂ／ＲＺを生成するビジー信号発生回路４１０が設けられる。
【０３１２】
この図３２に示す構成においては、内部で多ビットデータの全ビットの書込が完了するまで、ビジー／レディ信号Ｂ／ＲＺは、ビジー状態に設定される。したがって、外部のプロセッサまたはコントローラは、多ビットデータの全ビットが確実に書込まれた期間を検出することができる。この書込期間中、ビジー／レディ信号Ｂ／ＲＺに従って、外部のプロセッサまたはコントローラはウエイト状態とされる。
【０３１３】
この図３２に示すタイミングジェネレータの構成は、先の図２０に示すビジー信号発生回路２３３を含むタイミングジェネレータの構成と同じである。１ビットのベリファイ結果指示信号Ｐ／Ｆに代えて、メインベリファイ結果指示信号ＭＰ／Ｆが用いられる。
【０３１４】
以上のように、この発明の実施の形態５に従えば、内部で書込が繰返し実行される間、外部でビジー／レディ信号を発行している。したがって、確実にデータの書込を完了時点を検出することができ、アクセス競合を回避して、正確なデータ書込を実現することができる。
【０３１５】
［実施の形態７］
図３３は、この発明の実施の形態７に従うタイミングジェネレータ３０２の要部の構成を概略的に示す図である。この図３３に示すタイミングジェネレータ３０２においては、メインベリファイ結果指示信号ＭＰ／Ｆとクロック信号ＣＬＫとに従って、外部へ再書込要求ＷＲＥＱが発行される。したがって、内部での書込不良が存在するビットが存在する期間、繰返し、再書込要求ＷＲＥＱが発行される。内部においては、書込が完了したビットについては、対応のベリファイ結果指示信号Ｐ／Ｆｉに従って、以後の書込は停止される。
【０３１６】
この図３３に示す構成の場合、外部で、データ書込が完了するまで確実に、ライトコマンドを繰返し発行することができ、正確なデータ書込を実現することができる。また、プロセッサまたはコントローラは、この再書込要求ＷＲＥＱにより、書込状況をモニタすることができ、所定回数この再書込要求ＷＲＥＱを受信した場合には、対応のビットは不良であると判定して必要なエラー処理を実行するように構成されてもよい。
【０３１７】
なお、この再書込要求発行回路４１２は、クロック信号ＣＬＫ（内部クロック信号であってもよい）に同期して再書込要求ＷＲＥＱを発生している。しかしながら、図２２に示すように、ベリファイリード活性化信号ＶＦＲＥＮとメインベリファイ結果指示信号ＭＰ／Ｆとに従って、クロック信号ＣＬＫと非同期で、再書込要求ＷＲＥＱを発行してもよい。
【０３１８】
以上のように、この発明の実施の形態７に従えば、多ビットデータの書込時においても、全ビットが確実に書込まれるまで繰返し再書込要求を発行することにより、確実に、多ビットデータの書込を行なうことができる。外部のプロセッサまたはコントローラは、この再書込要求により書込状況をモニタすることができ、書込の制御が容易となる。
【０３１９】
［実施の形態８］
図３４は、この発明の実施の形態８に従う基準電圧発生回路（Ｖｒｅｆ発生回路）４２０の構成の一例を示す図である。この図３４に示す基準電圧発生回路４２０は、先の図２または図１５に示すＶｒｅｆ発生回路、または、図２６に示すＶｒｅｆ発生回路３０６の構成に対応する。
【０３２０】
図３４において、基準電圧発生回路４２０は、電源ノードとノードＮＤａの間の直列に接続される抵抗素子Ｚ１−Ｚ４と、ノードＮＤａと接地ノードの間に接続される定電流源ＣＩＳを含む。ノードＮＤａから、基準電圧Ｖｒｅｆが生成される。この基準電圧Ｖｒｅｆは、ビット線ドライブ回路、ディジット線ドライブ回路へトグルＲＡＭの場合与えられる。これらのビット線ドライブ回路およびディジット線ドライブ回路へは、個々に、基準電圧発生回路４２０が設けられ、それぞれに応じて調整された基準電圧Ｖｒｅｆが与えられればよい。
【０３２１】
スピン注入型ＭＲＡＭの場合、さらに、ソース線ドライブ回路に対しても、この基準電圧Ｖｒｅｆが与えられる。この場合、ソース線ドライブ回路についても、ビット線ドライブ回路およびディジット線ドライブ回路と別に設けられた基準電圧発生回路からの基準電圧が与えられればよい。
【０３２２】
この基準電圧Ｖｒｅｆは、それぞれ、与えられる回路の特性に応じてその電圧レベルが設定される。これらのディジット線ドライブ回路、ビット線ドライブ回路およびソース線ドライブ回路に対して個々に基準電圧が発生されるものの、それらの電圧レベルは同一であってもよく、異なっていてもよい。
【０３２３】
基準電圧発生回路４２０は、さらに、抵抗素子Ｚ２−Ｚ４と並列に接続されるスイッチング素子ＴＸ１−ＴＸ３と、書込モード指示信号φＷに従って、選択信号を生成するセレクタ４２２と、セレクタ４２２の出力信号に従ってスイッチング素子ＴＸ１およびＴＸ２をそれぞれ導通状態へ駆動するＡＮＤゲートＧ１０およびＧ１１を含む。
【０３２４】
セレクタ４２２の出力信号は、また、スイッチング素子ＴＸ３のゲートへ与えられる。これらのスイッチング素子ＴＸ１−ＴＸ３は、それぞれＮチャネルＭＯＳトランジスタで構成される場合を一例として示す。しかしながら、制御電極に与えられる信号に従って選択的に導通／非導通状態とされるスイッチング素子であればよい。これらのスイッチング素子ＴＸ１−ＴＸ３は、それぞれ導通時、対応の抵抗素子Ｚ２−Ｚ４を短絡する。
【０３２５】
セレクタ４２２は、たとえばシフトレジスタで構成され、書込モード指示信号φＷに従って内部で電源電圧レベルの信号（Ｈレベルの信号）をシフトする。したがって、書込モード指示信号φＷが発生されるごとに、セレクタ４２２の出力信号においてＨレベルとなる信号の数が増大される。この場合、一例として、以下のシーケンスを考える。書込モード指示信号φＷが１回目発生されたとき、セレクタ４２２が初期状態に設定され、すべてのスイッチング素子ＴＸ１−ＴＸ３が非導通状態に設定される。次いで、この書込モード指示信号φＷが発行されるごとに、スイッチング素子ＴＸ３、ＴＸ２、およびＴＸ１が順次導通状態となる。この場合、基準電圧Ｖｒｅｆは、定電流源ＣＩＳが流す電流をＩとすると、以下の電圧レベルの間で順次変化する：
初期値：ＶＤＤ−Ｉ・（Ｚ１＋Ｚ２＋Ｚ３＋Ｚ４）、
最大値ＶＤＤ−Ｉ・Ｚ１。
【０３２６】
抵抗素子Ｚ１−Ｚ４の抵抗値がすべてＲで等しいとすると、ステップＩ・Ｒで、基準電圧Ｖｒｅｆの電圧レベルが調整される。
【０３２７】
図３５は、この基準電圧Ｖｒｅｆの変化シーケンスの一例を示す図である。基準電圧Ｖｒｅｆは、最小値Ｖｒｅｆ（ｍｉｎ）から、順次増大され、最大値Ｖｒｅｆ（ｍａｘ）に到達する。中間値において電圧Ｖ１、およびＶ２を取る。この最大値と最小値の間でステップＩ・Ｒで、中間状態の基準電圧が生成される。
【０３２８】
ＭＲＡＭにおいて、書込不良のときには、書込前の状態に復帰する。したがって書込不良の場合、順次書込電流を多く流し、誘起磁場または書込電流を増大させ、メモリセルの磁化状態を確実に変化させる。たとえばフラッシュメモリなどの様に、書込後にその状態が変化している場合、過書込などの問題が生じる可能性があるものの、ＭＲＡＭにおいて、このような過書込の問題は生じず、確実に書込を実行することができる。ただし、トグルＭＲＡＭの場合、この印加磁場が大きすぎると、フリー層の交換結合が破壊されるため、その最大値が制限される。従って、書込時の基準電圧Ｖｒｅｆは、書込許容最大値Ｖｒｅｆ（ｍａｘ）以下の値に設定する必要がある。
【０３２９】
この基準電圧Ｖｒｅｆは、先の実施の形態で示したように、ビット線ドライブ回路、ディジット線ドライブ回路および／またはソース線ドライブ回路における、ドライブ用のトランジスタのゲートへ与えられる。したがってこの基準電圧Ｖｒｅｆの電圧レベルを順次増大させることにより、ドライブトランジスタの駆動電流量を大きくすることができ、書込電流を大きくすることができる。
【０３３０】
なお、図３４に示す構成において、セレクタ４２２に対し、書込モード指示信号φＷが与えられ、セレクタ４２２が順次シフト動作を行なって、スイッチング素子ＴＸ１−ＴＸ３を選択的に導通状態へ駆動している。このセレクタ４２２へ与えられる書込モード指示信号φＷとしては、内部で生成される書込を示す信号であればよい。再書込指示信号φＷＩが用いられてもよい。対応のＭＲＡＭの構成に応じて、内部書込の回数を示す信号が、セレクタシフト用の信号として用いられればよい。
【０３３１】
また、セレクタ４２２は、３段階で、この発生する基準電圧Ｖｒｅｆのレベルを調整している。しかしながら、この基準電圧発生回路４２０の発生する基準電圧Ｖｒｅｆの再書込時の電圧変化量は、さらに多段階に分割されてもよい。この最小書込用の基準電圧Ｖｒｅｆ（ｍｉｎ）と最大基準電圧Ｖｒｅｆ（ｍａｘ）の間で、これらの作用の小さいステップで、順次基準電圧Ｖｒｅｆの電圧レベルが調整されればよい。また、再書込回数に応じて、このステップ数が変化されてもよい。
【０３３２】
［変更例１］
図３６は、この発明の実施の形態７の変更例１に従うドライブ回路４３０の構成を概略的に示す図である。図３６において、このドライブ回路４３０は、スピン注入型ＭＲＡＭのビット線ドライブ回路またはソース線ドライブ回路である。信号線ＳＧＬは、したがってスピン注入ＭＲＡＭにおけるビット線ＢＬまたはソース線ＳＬである。
【０３３３】
ドライブ回路４３０は、内部信号における前段回路４３２および４３４と、これらの前段回路４３２および４３４の出力信号に従って信号線ＳＧＬを駆動する駆動段４３６を含む。前段回路４３２および４３４は、電源電圧をそのハイ側動作電源電圧として受ける。ドライブ回路４３０が、ビット線ドライブ回路の場合、前段回路４３２および４３４は、図１６に示すそれぞれＮＡＮＤ回路およびＮＯＲ回路である。このドライブ回路４３０がソース線ドライブ回路の場合、前段回路４３２および４３４は、図１６に示すインバータ回路である。
【０３３４】
ドライブ段４３６は、前段回路４３２の出力信号に従って信号線ＳＧＬを基準電圧Ｖｒｅｆレベルに駆動するＰチャネルＭＯＳトランジスタＰＱ１０と、前段回路４３０の出力信号に従って信号線ＳＧＬを接地ノードに結合するＮチャネルＭＯＳトランジスタＮＱ１０を含む。
【０３３５】
このドライブ回路４３０により、信号線ＳＧＬは、基準電圧Ｖｒｅｆへ駆動され、他方端が、接地ノードに結合される。この信号線ＳＧＬを流れる書込電流は、基準電圧Ｖｒｅｆの電圧レベルにより調整することができる（配線抵抗が同じであり、電流量は、基準電圧Ｖｒｅｆと配線抵抗の比により与えられる）。
【０３３６】
なお、ディジット線ドライブ回路は、通常、ディジット線ＤＬを接地ノードに結合してディジット線電流を流す。ディジット線が、一端が接地ノードに結合され、選択行のディジット線が、ディジット線ドライブ回路の出力電圧に従って電流を流す構成の場合、この図３６に示すドライブ回路４３０を、ディジット線ドライブ回路として利用することができる。ディジット線電流量を基準電圧Ｖｒｅｆにより調整することができる。
【０３３７】
［変更例２］
図３７は、この発明の実施の形態８の変更例２の構成を概略的に示す図である。図３７においては、トグルＭＲＡＭにおいて、ビット線ＢＬに対し、ボルテージフォロア４３９が設けられる。このボルテージフォロア４３９は正入力に基準電圧Ｖｒｅｆを受け、負入力が、対応のビット線ＢＬに結合される。
【０３３８】
ビット線ＢＬの他方端には、ビット線ドライブ回路４３７が設けられる。このビット線ドライブ回路４３７は、ハイ側電源電圧が、電源電圧である。このビット線ドライブ回路４３７の構成は、先の図１１に示す構成と同じである（基準電圧Ｖｒｅｆに代えて電源電圧ＶＤＤが与えられる）。
【０３３９】
この図３７に示す構成においては、基準電圧Ｖｒｅｆは、再書込の回数に応じてその電圧レベルが調整される。ビット線ドライブ回路４３７は、選択時、対応のビット線ＢＬを電源ノードに結合する。したがって、基準電圧Ｖｒｅｆの電圧レベルを調整することにより、ビット線ＢＬの両端の電圧差が異なり、このビット線ＢＬを流れる電流量を調整することができる。
【０３４０】
この場合、再書込回数が増大するにつれて、基準電圧Ｖｒｅｆの電圧レベルを低下させる。これにより、再書込回数が増大するにつれて、ビット線書込電流量を大きくすることができ、応じてビット線電流誘起磁場を増大させることができる。
【０３４１】
したがって、この場合には、基準電圧発生回路において、図３４に示すセレクタ４２２を、導通するスイッチング素子ＴＸ１−ＴＸ３の数を順次増大させる。
【０３４２】
［変更例３］
図３８は、この発明の実施の形態８の変更例３の構成に従う書込電流駆動活性化回路２１１の構成を概略的に示す図である。この書込電流駆動活性化回路２１１は、スピン注入ＭＲＡＭにおいて、書込パルス信号Ｗ＿ＰＵＬＳＥを生成する（図２４参照）。
【０３４３】
図３８において、書込電流駆動活性化回路２１１は、書込指示検出信号φＷＦを固定時間遅延するタイミング調整回路４４２と、書込指示検出信号φＷＦにより初期値に設定され、書込モード時、ベリファイリード活性化信号ＶＦＲＥＮの非活性化ごとにカウント動作を行なうカウント回路４４４を含む。タイミング調整回路４４２は、この書込指示検出信号φＷＦを固定時間遅延して、内部での書込パルス信号Ｗ＿ＰＵＬＳＥの活性化タイミングを調整する。
【０３４４】
書込電流駆動活性化回路２１１は、さらに、タイミング調整回路４４２を遅延する可変遅延回路４４６と、タイミング調整回路４４２の出力信号に従ってセットされかつ可変遅延回路４４６の出力信号によりリセットされ、その出力Ｑから書込パルス信号Ｗ＿ＰＵＬＳＥを生成するセット／リセットフリップフロップ４４８を含む。
【０３４５】
可変遅延回路４４６は、その遅延量が、カウント回路４４４のカウント値により調整される。この場合、可変遅延回路４４６は、複数の縦続接続される遅延段を含み、カウント回路４４４の出力信号に従って、信号を出力する遅延段が設定されてもよい。これに代えて、可変遅延回路４４６は、複数段の遅延段で構成され、このカウント回路４４４のカウント値に従って、各遅延段の駆動動作電流がそれぞれ設定されて、各遅延段の遅延量が変更されてもよい。いずれの構成が用いられてもよい。
【０３４６】
図３９は、図３８に示す書込電流駆動活性化回路２１１の動作を示す信号波形図である。以下、図３９を参照して、この図３８に示す書込電流駆動活性化回路２１１の動作について説明する。
【０３４７】
データ書込時、外部からのライトコマンドに従って書込指示検出信号φＷＦが活性化される（コマンドデコーダ内のライトコマンド検出回路による）。カウント回路４４４は、そのカウント値が初期値に設定される。応じて、可変遅延回路４４６の遅延量が初期値に設定される。１回目の書込時においては、この初期値に従ってビット線書込パルス信号Ｗ＿ＰＵＬＳＥが生成される。
【０３４８】
カウント回路４４４は、ベリファイリード活性化信号ＶＦＲＥＮの非活性化への遷移に応答して、そのカウント値を更新する。応じて、可変遅延回路４４６は、その初期値の遅延量が更新され、所定値だけ、タイミング調整回路４４２の出力信号を遅延する。このタイミング調整回路４４２の出力信号に従って、セット／リセットフリップフロップ４４８がセットされ、書込パルス信号Ｗ＿ＰＵＬＳＥが活性化される。次いで、可変遅延回路４４６に要する遅延時間が経過後、フリップフロップ４４８がリセットされ、書込パルス信号Ｗ＿ＰＵＬＳＥが非活性化される。従って、２回目の書込以後においては、書込パルス信号Ｗ＿ＰＵＬＳＥのパルス幅が、順次更新される。
【０３４９】
前述のように、ＭＲＡＭにおいては、書込不良発生時、書込対象のメモリセルは、書込前の状態に復帰する。したがって、この場合、書込時間を順次長くすることにより、確実に、書込不良のメモリセルに書込データを書込むことができる。フラッシュメモリセルと異なり、この書込の初期状態が常に同じであるため、書込時間が長くされても、過書込の問題などは生じない。
【０３５０】
以上のように、この発明の実施の形態８に従えば、再書込回数に応じて書込条件を変更しており、確実に、書込対象のメモリセルに対しデータを書込むことができる。
【０３５１】
［実施の形態９］
図４０は、この発明の実施の形態９に従うトグルＭＲＡＭの書込電流駆動活性化回路４５０の構成を概略的に示す図である。この書込電流駆動活性化回路４５０から、ディジット線書込電流活性化信号Ｗ＿ＤＬおよびビット線書込電流活性化信号Ｗ＿ＢＬが生成される。この書込回路４５０は、先の図１９および図２３に示す回路２１１または２３１に対応する。
【０３５２】
この書込電流駆動活性化回路４５０は、縦続接続される遅延素子ＤＬＹ１−ＤＬＹ６と、遅延素子ＤＬＹ２−ＤＬＹ６の出力信号Ｄ２−Ｄ６を、それぞれ選択する選択回路ＳＬＴ１−ＳＫＴ５を含む。選択回路ＳＬＴ１−ＳＬＴ５の出力は共通に結合されて、書込ビット線駆動信号Ｗ＿ＢＬを生成する。
【０３５３】
この書込電流駆動活性化回路４５０に対し、セレクタ４５２が設けられる。このセレクタ４５２は、たとえば、タイミングジェネレータに設けられ、書込モード指示信号φＷに従って、順次選択回路ＳＬＴ１−ＳＬＴ５を択一的に選択状態へ駆動する。このセレクタ４５２は、したがって、書込モード指示信号φＷに従って初期値に設定されて、順次クロック信号またはベリファイリード活性化信号ＶＦＲＥＮに従ってシフト動作を行なうシフトレジスタで構成されてもよい。これに代えて、セレクタ４５２は、書込モード指示信号φＷをカウントし、そのカウント値をデコードするカウンタ／デコード回路で構成されてもよい。選択回路ＳＬＴ１−ＳＬＴ５が択一的に選択状態へ駆動されればよい。
【０３５４】
選択回路ＳＬＴ１−ＳＬＴ５は、選択時、対応の遅延素子の出力信号を通過させ、非選択時、出力ハイインピーダンス状態となる。したがって、書込ビット線駆動信号Ｗ＿ＢＬとして、遅延素子ＤＬＹ２−ＤＬＹ６の出力信号Ｄ２−Ｄ６のうちの１つが選択される。
【０３５５】
これらの遅延素子ＤＬＹ１−ＤＬＹ６の有する遅延時間は固定値である。書込クロック信号ＣＬＫｗは、書込モード時、所定の時間幅を有するパルス信号として生成される。またこれに代えて、書込クロック信号ＣＬＫｗは、常時発生される内部クロック信号ＣＬＫｉであってもよい。この場合、書込ディジット線駆動信号Ｗ＿ＤＬが、内部クロック信号ＣＬＫｉに従って変化するものの、対応のディジット線ドライブ回路はデータ書込時以外スタンバイ状態にあり、特に問題は生じない。
【０３５６】
図４１は、この図４０に示す書込電流駆動活性化回路４５０の動作を示すタイミング図である。以下、図４１を参照して、図４０に示す書込電流駆動活性化回路４５０の動作について説明する。
【０３５７】
データ書込時、書込クロック信号ＣＬＫｗが、所定の時間幅を有するパルス信号として生成される（またはクロック信号ＣＬＫｉとして常時与えられる）。遅延素子ＤＬＹ１−ＤＬＹ６ＡＨ、それぞれ遅延時間Δｔを有しており、与えられた信号を順次遅延して出力する。まず、初段の遅延素子ＤＬＹ１からの出力信号Ｄ１が、書込ディジット線駆動信号Ｗ＿ＤＬとして生成される。
【０３５８】
セレクタ４５２は、初回の書込時においては、初期状態に設定される。したがって、遅延素子ＤＬＹ２−ＤＬＹ６のいずれかの出力信号が選択される。図４１に示すように、遅延素子ＤＬＹ２の出力信号Ｄ２が選択された場合には、書込ビット線駆動信号Ｗ＿ＢＬは、時刻ｔａから時刻ｔｃの間Ｈレベルとなる。一方、最終段の遅延素子ＤＬＹ６の出力信号ＤＬ６を選択した場合、書込ビット線駆動信号Ｗ＿ＢＬは、時刻ｔｂから時刻ｔｄの間Ｈレベルとなる。
【０３５９】
この期間内において、再書込回数に応じて順次書込ビット線駆動信号Ｗ＿ＢＬが遅延される。メモリセルに対する書込は、書込ディジット線電流活性化信号Ｗ＿ＤＬと書込ビット線駆動信号Ｗ＿ＢＬが重なり合った期間において行なわれる（磁場の回転）。したがって、この合成磁場が生成される期間を長くすることにより、確実に、ディジット線電流およびビット線電流の誘起する磁場の合成磁場の方向に、メモリセルの可変磁気抵抗素子（ＭＴＪ素子）の磁化方向を設定することができ、確実に書込を実行することができる。
【０３６０】
書込ごとに、Ｗ＿ＤＬおよびＷ＿ＢＬの互いの相対的なタイミング関係を調整することにより、確実にデータの書込を実行することができる。書込不良原因が、磁場の分離不良（スピンフロップ状態が生成されない状態）の時には、ディジット線電流が流れる時間を長くする。磁場回転不良が、書込不良原因の場合には、ビット線電流とディジット線電流とがともに流れる時間を長くする。書込不良原因が、ビット線電流による容易軸の回転不良の場合には、ビット線電流が流れる時間を長くする。これらの書込不良の原因に応じて、遅延時間の変更シーケンスを設定する。テスト時に発生確率の高い不良原因を特定して、遅延変更シーケンスを設定する。
【０３６１】
［変更例］
図４２は、この発明の実施の形態９に従う書込電流駆動活性化回路４５０の変更例の構成を概略的に示す図である。この図４２に示す書込電流駆動活性化回路４５０においては、遅延素子ＤＬＹ１−ＤＬＹ３の出力に対応して、選択回路ＳＬＴ１０−ＳＬＴ１２がそれぞれ設けられる。選択回路ＳＬＴ１０−ＳＬＴ１２は、セレクタ４５２からの出力信号に従って択一的に導通状態となり、非選択時、出力ハイインピーダンス状態である。
【０３６２】
このセレクタ４５２は、先の図４０に示す構成と同様、書込モード指示信号φＷに従って初期値が設定されかつカウント動作を実行する。この書込モード指示信号φＷに代えて、セレクタ４５２は、たとえばベリファイリード活性化信号（ＶＦＲＥＮ）に従ってカウント動作を行なってもよい。内部での書込が行なわれる回数を示す信号をセレクタシフト制御信号として利用し、セレクタが、このシフト制御信号に従って、再書込回数をカウントし、そのカウント値に応じた選択信号が生成される構成であればよい。
【０３６３】
書込電流駆動活性化回路４５０は、さらに、選択回路ＳＬＴ１０−ＳＬＴ１２の出力信号を受ける２段の縦続接続される遅延素子ＤＬＹ１０およびＤＬＹ１１と、選択回路ＳＬＴ１０−ＳＬＴ１２のいずれかの出力信号と遅延素子ＤＬＹ１の出力信号Ｄ１とを受けるＯＲ回路４５４を含む。遅延素子ＤＬＹ１１から、書込ビット線駆動信号Ｗ＿ＢＬが生成され、ＯＲ回路４５４から、書込ディジット線駆動信号Ｗ＿ＤＬが生成される。
【０３６４】
図４３は、図４２に示す書込電流駆動活性化回路４５０の動作を示すタイミング図である。以下、図４３を参照して、図４２に示す書込電流駆動活性化回路４５０の動作について説明する。
【０３６５】
今、セレクタ４５２が、選択回路ＳＬＴ１２を選択している状態を考える。この場合、書込ディジット線駆動信号Ｗ＿ＤＬは、遅延素子ＤＬＹ１の出力信号Ｄ１の立上がりに同期して立上がり、次いで、遅延素子ＤＬＹ３の出力信号Ｄ３の立下がりに応答して立下がる。
【０３６６】
一方、書込ビット線駆動信号Ｗ＿ＢＬは、遅延素子ＤＬＹ３の出力信号Ｄ３に対し、遅延素子ＤＬＹ１０およびＤＬＹ１１の有する遅延時間遅れて変化する。
【０３６７】
したがって、この書込ディジット線駆動信号Ｗ＿ＤＬがＨレベルであり、書込ビット線駆動信号Ｗ＿ＢＬが非活性状態のときには、可変磁気抵抗素子（ＭＴＪ素子）において、スピンフロップ状態が確立される。次いで、この書込ディジット線駆動信号Ｗ＿ＤＬおよび書込ビット線駆動信号Ｗ＿ＢＬがともにＨレベルとなると、合成磁場によるメモリセルの可変磁気抵抗素子の磁化方向が回転する。
【０３６８】
さらに、ディジット線電流が停止された後、書込ビット線駆動信号Ｗ＿ＢＬが活性状態にある期間、さらに、メモリセルの可変磁気抵抗素子の磁化方向が回転し、容易軸方向がビット線電流誘起磁場と４５度をなす方向にその磁化方向が設定される。
【０３６９】
したがって、この場合においても、セレクタ４５２により、選択回路ＳＬＴ１０−ＳＬＴ１２を択一的に選択状態とすることにより、書込時間を調整することができ、確実にデータの書込を行なうことができる。
【０３７０】
この書込時間は、書込不良が、スピンフロップ状態が形成されない不良の場合には、書込時間を長くするように書込回数ごとに順次増大させる。一方、この合成磁場が弱い場合には、書込時間を長くするように選択回路ＳＬＴ１０−ＳＬＴ１２の選択シーケンスを設定する。したがって、この書込ビット線電流活性化信号Ｗ＿ＢＬは、図４３において矢印で示す範囲内で波形の移動をさせることができる。
【０３７１】
なお、この図４１に示す書込電流駆動活性化回路４１０においては、遅延素子ＤＬＹ４−ＤＬＹ６は用いられていない。これらの遅延素子ＤＬＹ４−ＤＬＹ６の出力信号Ｄ４−Ｄ６が、他の書込に関連する部分のファイルの信号を発生するために用いられても良い。たとえば、これらの遅延素子ＤＬＹ５およびＤＬＹ６の出力信号Ｄ５およびＤ６が、リードベリファイリード活性化信号ＶＦＲＥＮの活性化を設定するときに用いられてもよい。
【０３７２】
以上のように、この発明の実施の形態９に従えば、トグルＭＲＡＭにおいて、内部での再書込時に、ディジット線電流およびビット線電流が流れる期間を調整しており、正確に、書込を実行することができる。
【０３７３】
また、この実施の形態９は、他の実施の形態１から７に示されるトグルＭＲＡＭの構成と組合せて用いられてもよい。
【産業上の利用可能性】
【０３７４】
この発明は、ＭＴＪ素子およびＭＪＴ素子などの可変磁気抵抗素子を記憶素子として利用する磁性体メモリ（ＭＲＡＭ）に適用することができる。このＭＲＡＭとしては、単体のメモリであってもよく、マイクロコンピュータなどのように、プロセッサと同一チップ上に集積化されるメモリであってもよい。
【図面の簡単な説明】
【０３７５】
【図１】トグルＭＲＡＭセルの断面構造を概略的に示す図である。
【図２】トグルＭＲＡＭセルのメモリセルアレイ内配置を概略的に示す図である。
【図３】図２に示すトグルＭＲＡＭセルの書込シーケンスを概略的に示す図である。
【図４】スピン注入型ＲＡＭセルの断面構造を概略的に示す図である。
【図５】（Ａ）および（Ｂ）は、スピン注入型ＭＲＡＭセルのデータ書込時の磁化方向を書込電流の方向とともに示す図である。
【図６】この発明に従うＭＲＡＭの全体の構成を概略的に示す図である。
【図７】この発明に従うＭＲＡＭの書込シーケンスを示すフロー図である。
【図８】この発明に従うＭＲＡＭの他の書込シーケンスを示すフロー図である。
【図９】（Ａ）−（Ｃ）は、データ書込時の書込条件と発生不良率との関係を概略的に示す図である。
【図１０】この発明の実施の形態１に従うトグルＭＲＡＭの全体の構成を概略的に示す図である。
【図１１】図１０に示すトグルＭＲＡＭの要部の構成をより具体的に示す図である。
【図１２】図１１に示すトグルＭＲＡＭの書込動作を示す信号波形図である。
【図１３】図１０に示すＷＬドライバに含まれるワード線ドライバ回路の構成の一例を示す図である。
【図１４】この発明の実施の形態１の変更例の列選択部の構成を示す図である。
【図１５】この発明の実施の形態１の変更例に従うスピン注入型ＭＲＡＭの全体の構成を概略的に示す図である。
【図１６】図１５に示すスピン注入型ＭＲＡＭの要部の構成をより具体的に示す図である。
【図１７】図１６に示すＭＲＡＭのデータ書込シーケンスを示す信号波形図である。
【図１８】この発明の実施の形態２に従うＭＲＡＭの書込シーケンスを示すタイミング図である。
【図１９】この発明の実施の形態２に従うＭＲＡＭのコマンドデコーダおよびタイミングジェネレータの構成を概略的に示す図である。
【図２０】この発明の実施の形態２に従うＭＲＡＭのコマンドデコーダおよびタイミングジェネレータの変更例を概略的に示す図である。
【図２１】図２０に示すコマンドデコーダおよびタイミングジェネレータのデータ書込時の動作を示すタイミング図である。
【図２２】この発明の実施の形態３に従うＭＲＡＭの要部の構成を概略的に示す図である。
【図２３】図２２に示す構成のデータ書込時の動作を示すタイミング図である。
【図２４】この発明の実施の形態３の変更例に従うＭＲＡＭのコマンドデコーダおよびタイミングジェネレータの構成を概略的に示す図である。
【図２５】図２４に示すコマンドデコーダおよびタイミングジェネレータのデータ書込時の動作を示すタイミング図である。
【図２６】この発明の実施の形態４に従うＭＲＡＭの全体の構成を概略的に示す図である。
【図２７】図２６に示すＭＲＡＭのデータ書込シーケンスを示すフロー図である。
【図２８】図２６に示すサブ書込系回路の要部の構成を概略的に示す図である。
【図２９】図２６に示すサブ書込系回路のソース線デコード制御回路の構成を概略的に示す図である。
【図３０】この発明の実施の形態５に従うＭＲＡＭの要部の構成を概略的に示す図である。
【図３１】コマンドデコーダのデータ書込時の動作を示すフロー図である。
【図３２】この発明の実施の形態６に従うＭＲＡＭの要部の構成を概略的に示す図である。
【図３３】この発明の実施の形態７に従うＭＲＡＭの要部の構成を概略的に示す図である。
【図３４】この発明の実施の形態８に従うＭＲＡＭの基準電圧発生回路の構成の一例を示す図である。
【図３５】図３４に示す基準電圧発生回路の基準電圧のステップを示す図である。
【図３６】この発明の実施の形態８に従うＭＲＡＭの要部の変更例の構成を概略的に示す図である。
【図３７】この発明の実施の形態８のＭＲＡＭの要部の第２の変更例の構成を概略的に示す図である。
【図３８】この発明の実施の形態８に従うＭＲＡＭの要部の第３の変更例の構成を概略的に示す図である。
【図３９】図３８に示す回路の動作を示す信号波形図である。
【図４０】この発明の実施の形態９に従う書込電流駆動活性化回路の構成を概略的に示す図である。
【図４１】図４０に示す書込電流駆動活性化回路の動作を示すタイミング図である。
【図４２】この発明の実施の形態９に従う書込電流駆動活性化回路の変更例を示す図である。
【図４３】図４２に示す回路の動作を示すタイミング図である。
【符号の説明】
【０３７６】
１  フリー層、２  ピン層、３  バリア層、１１  フリー層、１２  ピン層、１３  バリア層、２０  メモリセルアレイ、２２  書込系回路、２３  読出系回路、２４  書込制御回路、５０  Ｘデコーダ、５２  ＤＬドライバ／ＷＬドライバ、５４  Ｙデコーダ、５６  ビット線ドライバ、５８  リードアンプ、６０  Ｖｒｅｆ発生回路、６２  コマンドデコーダ、６４  タイミングジェネレータ、６５  入力データラッチ、６６  比較器、６７  出力データラッチ、７０  ディジット線デコード回路、７２  ディジット線ドライバ回路、７３  ビット線デコード制御回路、７４  ビット線デコード回路、７６  ビット線ドライブ回路、７８  センスアンプ回路、ＥＧ  ＥＸＮＯＲ回路、８０  ワード線デコード回路、８２  ワード線ドライバ回路、９０  リードアンプ、９２  ライトドライバ、１００  ソース線デコーダ、１０２  ソース線ドライバ、１１２  コマンドデコーダ、１１４  タイミングジェネレータ、１２０  ソース線デコード制御回路、１２２  ソース線デコード回路、１２４  ソース線ドライブ回路、２０６  書込活性化回路、２０８  プレリード禁止回路、２１１  書込電流駆動活性化回路、２１２  ベリファイ活性化回路、２１３  ビジー信号発生回路、２１４  ラッチ、２１５  パルス発生回路、２０２  ライトコマンド検出回路、２２２  ライトコマンド検出回路、２２４  書込活性化回路、２３１  書込電流駆動活性化回路、２３２  ベリファイ活性化回路、２３３  ビジー信号発生回路、２３４  ラッチ、２３５  パルス発生回路、２４０  切換回路、２４２  再書込要求発行回路、２５０  再書込要求発行回路、ＤＤＬ０−ＤＤＬｎ  入力データラッチ、ＱＤＬ０−ＱＤＬｎ  出力データラッチ、ＣＯＭ０−ＣＯＭｎ  比較器、ＭＢ０−ＭＢｎ  メモリブロック、ＳＢＷ０−ＳＢＷｎ  サブ書込系回路、ＳＡＫ０−ＳＡＫｎ  センスアンプ回路、ＳＣＫ０−ＳＣＫｎ  センス制御回路、３００  コマンドデコーダ、３０２  タイミングジェネレータ、３０６  Ｖｒｅｆ発生回路、３０４  ＯＲ回路、３７０ｉ  ディジット線デコード制御回路、３７６ｉ  ビット線デコード制御回路、３８０  ソース線デコード制御回路、４００  コマンドデコーダ、４１０  ビジー信号発生回路、４１２  再書込要求発行回路、４２０  基準電圧発生回路、４３７  ビット線ドライブ回路、４３９  ボルテージフォロア、４４４  カウント回路、４４６  可変遅延回路、４４８  セット／リセットフリップフロップ、４５０  書込電流駆動活性化回路、ＤＬＹ１−ＤＬＹ６  遅延素子、ＳＬＴ１−ＳＬＴ５  選択回路、４５２，４５３  セレクタ、ＳＬＴ１０−ＳＬＴ１２  選択回路、ＤＬＹ１０，ＤＬＹ１１  遅延素子、４５４  ＯＲ回路。
【図１】
2010033620.tif 000003
【図２】
2010033620.tif 000004
【図３】
2010033620.tif 000005
【図４】
2010033620.tif 000006
【図５】
2010033620.tif 000007
【図６】
2010033620.tif 000008
【図７】
2010033620.tif 000009
【図８】
2010033620.tif 000010
【図９】
2010033620.tif 000011
【図１０】
2010033620.tif 000012
【図１１】
2010033620.tif 000013
【図１２】
2010033620.tif 000014
【図１３】
2010033620.tif 000015
【図１４】
2010033620.tif 000016
【図１５】
2010033620.tif 000017
【図１６】
2010033620.tif 000018
【図１７】
2010033620.tif 000019
【図１８】
2010033620.tif 000020
【図１９】
2010033620.tif 000021
【図２０】
2010033620.tif 000022
【図２１】
2010033620.tif 000023
【図２２】
2010033620.tif 000024
【図２３】
2010033620.tif 000025
【図２４】
2010033620.tif 000026
【図２５】
2010033620.tif 000027
【図２６】
2010033620.tif 000028
【図２７】
2010033620.tif 000029
【図２８】
2010033620.tif 000030
【図２９】
2010033620.tif 000031
【図３０】
2010033620.tif 000032
【図３１】
2010033620.tif 000033
【図３２】
2010033620.tif 000034
【図３３】
2010033620.tif 000035
【図３４】
2010033620.tif 000036
【図３５】
2010033620.tif 000037
【図３６】
2010033620.tif 000038
【図３７】
2010033620.tif 000039
【図３８】
2010033620.tif 000040
【図３９】
2010033620.tif 000041
【図４０】
2010033620.tif 000042
【図４１】
2010033620.tif 000043
【図４２】
2010033620.tif 000044
【図４３】
2010033620.tif 000045