(57)【特許請求の範囲】
【請求項１】
容易軸及び困難軸を有する磁気抵抗効果素子に、単独では磁化反転を起こせない大きさを有する前記困難軸に平行な第１磁界を作用させ、その後、
前記磁気抵抗効果素子に、前記第１磁界よりも弱い前記困難軸に平行な第２磁界と、単独では前記磁化反転を起こせない大きさを有する前記容易軸に平行な第３磁界とを同時に作用させ、
前記第２及び第３磁界の合成磁界は、前記磁化反転を起こせる大きさを有することを特徴とする磁気ランダムアクセスメモリの書き込み方法。
【請求項２】
前記第１及び第２磁界は、時間的に連続して、前記磁気抵抗効果素子に作用することを特徴とする請求項１記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項３】
前記第１磁界から前記第２磁界への変化は、磁界の強さが連続的に変化するように行われることを特徴とする請求項１記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項４】
前記第１磁界から前記第２磁界への変化は、磁界の強さが複数段階で段階的に変化するように行われることを特徴とする請求項１記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項５】
前記第１及び第２磁界は、前記容易軸に平行な方向に流れる第１書き込み電流により発生し、前記第３磁界は、前記困難軸に平行な方向に流れる第２書き込み電流により発生することを特徴とする請求項１記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項６】
前記第１及び第２磁界は、前記第１書き込み電流の電流値を時間的に変化させることにより得られることを特徴とする請求項５記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項７】
前記第３磁界の向きは、前記磁気抵抗効果素子に対する書き込みデータの値により決定されることを特徴とする請求項１記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項８】
容易軸及び困難軸を有する磁気抵抗効果素子に、単独では磁化反転を起こせない大きさを有する前記困難軸に平行な第１磁界を作用させ、その後、
前記磁気抵抗効果素子に、前記第１磁界と、単独では前記磁化反転を起こせない大きさを有する前記容易軸に平行な第２磁界とを同時に作用させ、その後、
前記磁気抵抗効果素子に、前記第２磁界よりも強いが、単独では前記磁化反転を起こせない大きさを有する前記容易軸に平行な第３磁界を作用させ、
前記第１及び第２磁界の合成磁界は、前記磁化反転を起こせる大きさを有することを特徴とする磁気ランダムアクセスメモリの書き込み方法。
【請求項９】
前記第２及び第３磁界は、時間的に連続して、前記磁気抵抗効果素子に作用することを特徴とする請求項８記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項１０】
前記第２磁界から前記第３磁界への変化は、磁界の強さが連続的に変化するように行われることを特徴とする請求項８記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項１１】
前記第２磁界から前記第３磁界への変化は、磁界の強さが複数段階で段階的に変化するように行われることを特徴とする請求項８記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項１２】
前記第１磁界は、前記容易軸に平行な方向に流れる第１書き込み電流により発生し、前記第２及び第３磁界は、前記困難軸に平行な方向に流れる第２書き込み電流により発生することを特徴とする請求項８記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項１３】
前記第２及び第３磁界は、前記第２書き込み電流の電流値を時間的に変化させることにより得られることを特徴とする請求項１２記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項１４】
前記第２及び第３磁界の向きは、前記磁気抵抗効果素子に対する書き込みデータの値により決定されることを特徴とする請求項８記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項１５】
請求項１記載の磁気ランダムアクセスメモリの書き込み方法において、前記第２磁界と前記第３磁界とを同時に作用させた後、前記磁気抵抗効果素子に、単独では前記磁化反転を起こせない大きさを有する前記容易軸に平行な第４磁界のみを作用させることを特徴とする磁気ランダムアクセスメモリの書き込み方法。
【請求項１６】
容易軸及び困難軸を有する磁気抵抗効果素子に、単独では磁化反転を起こせない大きさを有する前記困難軸に平行な第１磁界を作用させ、その後、
前記磁気抵抗効果素子に、単独では前記磁化反転を起こせない大きさを有する前記困難軸に平行な第２磁界と、単独では前記磁化反転を起こせない大きさを有する前記容易軸に平行な第３磁界とを同時に作用させ、その後、
前記磁気抵抗効果素子に、前記第３磁界よりも強いが、単独では前記磁化反転を起こせない大きさを有する前記容易軸に平行な第４磁界のみを作用させ、
前記第２及び第３磁界の合成磁界は、前記磁化反転を起こせる大きさを有することを特徴とする磁気ランダムアクセスメモリの書き込み方法。
【請求項１７】
前記第１及び第２磁界は、時間的に連続して、前記磁気抵抗効果素子に作用することを特徴とする請求項１５記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項１８】
前記第１磁界から前記第２磁界への変化は、磁界の強さが連続的に変化するように行われることを特徴とする請求項１７記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項１９】
前記第１磁界から前記第２磁界への変化は、磁界の強さが複数段階で段階的に変化するように行われることを特徴とする請求項１７記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項２０】
前記第３及び第４磁界は、時間的に連続して、前記磁気抵抗効果素子に作用することを特徴とする請求項１６記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項２１】
前記第３磁界から前記第４磁界への変化は、磁界の強さが連続的に変化するように行われることを特徴とする請求項２０記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項２２】
前記第３磁界から前記第４磁界への変化は、磁界の強さが複数段階で段階的に変化するように行われることを特徴とする請求項２０記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項２３】
前記第１及び第２磁界は、前記容易軸に平行な方向に流れる第１書き込み電流により発生し、前記第３及び第４磁界は、前記困難軸に平行な方向に流れる第２書き込み電流により発生することを特徴とする請求項１５又は１６記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項２４】
前記第３及び第４磁界の向きは、前記磁気抵抗効果素子に対する書き込みデータの値により決定されることを特徴とする請求項１５又は１６記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項２５】
容易軸及び困難軸を有する磁気抵抗効果素子に、単独では磁化反転を起こせない大きさを有する前記困難軸に平行な第１磁界と、単独では前記磁化反転を起こせない大きさを有する前記容易軸に平行な第２磁界とを同時に作用させ、その後、
前記磁気抵抗効果素子に、前記第１及び第２磁界の代わりに、単独では前記磁化反転を起こせない大きさを有する前記困難軸に平行な第３磁界と、前記第２磁界よりも強いが、単独では前記磁化反転を起こせない大きさを有する前記容易軸に平行な第４磁界とを同時に作用させ、その後、
前記磁気抵抗効果素子に、前記第３及び第４磁界の代わりに、前記第３磁界よりも弱い前記困難軸に平行な第５磁界と、単独では前記磁化反転を起こせない大きさを有する前記容易軸に平行な第６磁界とを同時に作用させ、
前記第１及び第２磁界の合成磁界は、前記磁化反転を起こせる大きさを有し、前記第３及び第４磁界の合成磁界は、前記磁化反転を起こせる大きさを有し、前記第５及び第６磁界の合成磁界は、前記磁化反転を起こせる大きさを有し、
前記第５及び第６磁界の合成磁界の向きは、前記第１及び第２合成磁界の向きよりも前記容易軸よりである
ことを特徴とする磁気ランダムアクセスメモリの書き込み方法。
【請求項２６】
前記第１及び第３磁界は、同じ強さを有することを特徴とする請求項２５記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項２７】
前記第３磁界は、前記１磁界よりも弱いことを特徴とする請求項２５記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項２８】
前記第１磁界から前記第３磁界への変化及び前記第３磁界から前記第５磁界への変化は、磁界の強さが連続的に変化するように行われることを特徴とする請求項２７記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項２９】
前記第１磁界から前記第３磁界への変化及び前記第３磁界から前記第５磁界への変化は、磁界の強さが複数段階で段階的に変化するように行われることを特徴とする請求項２７記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項３０】
前記第１、第３及び第５磁界は、時間的に連続して、前記磁気抵抗効果素子に作用することを特徴とする請求項２５記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項３１】
前記第４及び第６磁界は、同じ強さを有することを特徴とする請求項２５記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項３２】
前記第６磁界は、前記４磁界よりも強いことを特徴とする請求項２５記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項３３】
前記第２磁界から前記第４磁界への変化及び前記第４磁界から前記第６磁界への変化は、磁界の強さが連続的に変化するように行われることを特徴とする請求項３２記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項３４】
前記第２磁界から前記第４磁界への変化及び前記第４磁界から前記第６磁界への変化は、磁界の強さが複数段階で段階的に変化するように行われることを特徴とする請求項３２記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項３５】
前記第２、第４及び第６磁界は、時間的に連続して、前記磁気抵抗効果素子に作用することを特徴とする請求項２５記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項３６】
前記第１、第３及び第５磁界は、前記容易軸に平行な方向に流れる第１書き込み電流により発生し、前記第２、第４及び第６磁界は、前記困難軸に平行な方向に流れる第２書き込み電流により発生することを特徴とする請求項２５記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項３７】
前記第２、第４及び第６磁界の向きは、前記磁気抵抗効果素子に対する書き込みデータの値により決定されることを特徴とする請求項２５記載の磁気ランダムアクセスメモリの書き込み方法。
【請求項３８】
容易軸及び困難軸を有する磁気抵抗効果素子と、前記容易軸に平行な方向に沿って延びる第１配線と、前記困難軸に平行な方向に沿って延びる第２配線とを具備する磁気ランダムアクセスメモリの書き込み方法において、
前記第１配線に、単独では前記磁気抵抗効果素子の磁化反転を起こせない大きさを有する前記困難軸に平行な第１磁界を発生させるための第１電流を供給し、その後、
前記第１配線に、前記第１磁界よりも弱い前記困難軸に平行な第２磁界を発生させるための第２電流を供給し、これと同時に、前記第２配線に、単独では前記磁気抵抗効果素子の磁化反転を起こせない大きさを有する前記容易軸に平行な第３磁界を発生させるための第３電流を供給し、
前記磁気抵抗効果素子は、前記第１及び第２配線の間に配置され、前記第２及び第３磁界の合成磁界は、前記磁気抵抗効果素子の磁化反転を起こせる大きさを有することを特徴とする磁気ランダムアクセスメモリの書き込み方法。
【請求項３９】
容易軸及び困難軸を有する磁気抵抗効果素子と、前記容易軸に平行な方向に沿って延びる第１配線と、前記困難軸に平行な方向に沿って延びる第２配線とを具備する磁気ランダムアクセスメモリの書き込み方法において、
前記第１配線に、単独では前記磁気抵抗効果素子の磁化反転を起こせない大きさを有する前記困難軸に平行な第１磁界を発生させるための第１電流を供給し、前記第１電流の供給を維持するか、減らすか、又は、停止するのと同時に、前記第２配線に、単独では前記磁気抵抗効果素子の磁化反転を起こせない大きさを有する前記容易軸に平行な第２磁界を発生させるための第２電流を供給し、その後、
前記第２配線に、前記第２電流の代わりに、前記第２磁界よりも強いが、単独では前記磁気抵抗効果素子の磁化反転を起こせない大きさを有する前記容易軸に平行な第３磁界を発生させるための第３電流を供給し、
前記磁気抵抗効果素子は、前記第１及び第２配線の間に配置され、前記第１及び第２磁界の合成磁界は、前記磁気抵抗効果素子の磁化反転を起こせる大きさを有することを特徴とする磁気ランダムアクセスメモリの書き込み方法。
【請求項４０】
容易軸及び困難軸を有する磁気抵抗効果素子と、前記容易軸に平行な方向に沿って延びる第１配線と、前記困難軸に平行な方向に沿って延びる第２配線とを具備する磁気ランダムアクセスメモリの書き込み方法において、
前記第１配線に、単独では前記磁気抵抗効果素子の磁化反転を起こせない大きさを有する前記困難軸に平行な第１磁界を発生させるための第１電流を供給し、その後、
前記第１配線に、前記第１電流の代わりに、前記第１磁界よりも弱い前記困難軸に平行な第２磁界を発生させるための第２電流を供給し、前記第２電流の供給を維持するか、減らすか、又は、停止するのと同時に、前記第２配線に、単独では前記磁気抵抗効果素子の磁化反転を起こせない大きさを有する前記容易軸に平行な第３磁界を発生させるための第３電流を供給し、その後、
前記第２配線に、前記第３電流の代わりに、単独では前記磁気抵抗効果素子の磁化反転を起こせない大きさを有する前記容易軸に平行な第４磁界を発生させるための第４電流を供給し、
前記磁気抵抗効果素子は、前記第１及び第２配線の間に配置され、前記第２及び第３磁界の合成磁界は、前記磁気抵抗効果素子の磁化反転を起こせる大きさを有することを特徴とする磁気ランダムアクセスメモリの書き込み方法。
【請求項４１】
容易軸及び困難軸を有する磁気抵抗効果素子と、前記容易軸に平行な方向に沿って延びる第１配線と、前記困難軸に平行な方向に沿って延びる第２配線とを具備する磁気ランダムアクセスメモリの書き込み方法において、
前記第１配線に、単独では前記磁気抵抗効果素子の磁化反転を起こせない大きさを有する前記困難軸に平行な第１磁界を発生させるための第１電流を供給し、その後、
前記第１配線に、前記第１電流の代わりに、単独では前記磁気抵抗効果素子の磁化反転を起こせない大きさを有する前記困難軸に平行な第２磁界を発生させるための第２電流を供給し、前記第２電流の供給を維持するか、減らすか、又は、停止するのと同時に、前記第２配線に、単独では前記磁気抵抗効果素子の磁化反転を起こせない大きさを有する前記容易軸に平行な第３磁界を発生させるための第３電流を供給し、その後、
前記第２配線に、前記第３電流の代わりに、前記第３磁界よりも強いが、単独では前記磁気抵抗効果素子の磁化反転を起こせない大きさを有する前記容易軸に平行な第４磁界を発生させるための第４電流を供給し、
前記磁気抵抗効果素子は、前記第１及び第２配線の間に配置され、前記第２及び第３磁界の合成磁界は、前記磁気抵抗効果素子の磁化反転を起こせる大きさを有することを特徴とする磁気ランダムアクセスメモリの書き込み方法。
【請求項４２】
容易軸及び困難軸を有する磁気抵抗効果素子と、前記容易軸に平行な方向に沿って延びる第１配線と、前記困難軸に平行な方向に沿って延びる第２配線とを具備する磁気ランダムアクセスメモリの書き込み方法において、
前記第１配線に、単独では前記磁気抵抗効果素子の磁化反転を起こせない大きさを有する前記困難軸に平行な第１磁界を発生させるための第１電流を供給し、これと同時に、前記第２配線に、単独では前記磁気抵抗効果素子の磁化反転を起こせない大きさを有する前記容易軸に平行な第２磁界を発生させるための第２電流を供給し、その後、
前記第１配線に、前記第１電流の代わりに、単独では前記磁気抵抗効果素子の磁化反転を起こせない大きさを有する前記困難軸に平行な第３磁界を発生させるための第３電流を供給し、これと同時に、前記第２配線に、前記第２電流の代わりに、前記第２磁界よりも強いが、単独では前記磁気抵抗効果素子の磁化反転を起こせない大きさを有する前記容易軸に平行な第４磁界を発生させるための第４電流を供給し、その後、
前記第１配線に、前記第３電流の代わりに、前記第３磁界よりも弱い前記困難軸に平行な第５磁界を発生させるための第５電流を供給し、これと同時に、前記第２配線に、前記第４電流の代わりに、単独では前記磁気抵抗効果素子の磁化反転を起こせない大きさを有する前記容易軸に平行な第６磁界を発生させるための第６電流を供給し、
前記磁気抵抗効果素子は、前記第１及び第２配線の間に配置され、前記第１及び第２磁界の合成磁界は、前記磁気抵抗効果素子の磁化反転を起こせる大きさを有し、前記第３及び第４磁界の合成磁界は、前記磁気抵抗効果素子の磁化反転を起こせる大きさを有し、前記第５及び第６磁界の合成磁界は、前記磁気抵抗効果素子の磁化反転を起こせる大きさを有することを特徴とする磁気ランダムアクセスメモリの書き込み方法。
【請求項４３】
互いに交差する第１及び第２書き込み線と、前記第１及び第２書き込み線の交差点に配置される磁気抵抗効果素子と、前記第１書き込み線に第１書き込み電流を供給するための第１ドライバと、前記第２書き込み線に第２書き込み電流を供給するための第２ドライバと、前記第１書き込み電流の大きさを決定する第１設定データ及び前記第２書き込み電流の大きさを決定する第２設定データを２値データとして半永久的に記憶する設定回路と、書き込み時に、前記第１設定データに依存して前記第１ドライバの電流供給量を制御することで前記第１書き込み電流の値を決定し、前記第２設定データに依存して前記第２ドライバの電流供給量を制御することで前記第２書き込み電流の値を決定する電流波形制御回路とを具備し、前記第１及び第２書き込み電流の値を変化させることにより請求項１乃至４２のいずれか１項に記載の磁気ランダムアクセスメモリの書き込み方法を実施することを特徴とする磁気ランダムアクセスメモリ。
【請求項４４】
請求項４３記載の磁気ランダムアクセスメモリにおいて、さらに、前記第１書き込み電流を吸収する第１シンカーと、前記第２書き込み電流を吸収する第２シンカーとを具備し、前記電流波形制御回路は、前記第１及び第２シンカーの動作を制御することを特徴とする磁気ランダムアクセスメモリ。
【請求項４５】
前記電流波形制御回路は、前記第１ドライバの動作を終了させた後に、前記第１シンカーの動作を終了させることを特徴とする請求項４４記載の磁気ランダムアクセスメモリ。
【請求項４６】
前記電流波形制御回路は、前記第２ドライバの動作を終了させた後に、前記第２シンカーの動作を終了させることを特徴とする請求項４４記載の磁気ランダムアクセスメモリ。
【請求項４７】
前記第１設定データは、前記第１書き込み線に対する前記第１書き込み電流の電流供給／遮断タイミングを決定するデータであることを特徴とする請求項４３記載の磁気ランダムアクセスメモリ。
【請求項４８】
前記電流波形制御回路は、異なる遅延時間を有する複数の遅延回路を有し、前記第１設定データに基づいて前記複数の遅延回路のうちの１つを選択し、書き込み動作の開始／終了を指示する書き込み信号を、選択された遅延回路により一定時間だけ遅らせることにより、前記第１書き込み電流の電流供給／遮断タイミングを決定することを特徴とする請求項４７記載の磁気ランダムアクセスメモリ。
【請求項４９】
前記第２設定データは、前記第２書き込み線に対する前記第２書き込み電流の電流供給／遮断タイミングを決定するデータであることを特徴とする請求項４３記載の磁気ランダムアクセスメモリ。
【請求項５０】
前記電流波形制御回路は、異なる遅延時間を有する複数の遅延回路を有し、前記第２設定データに基づいて前記複数の遅延回路のうちの１つを選択し、書き込み動作の開始／終了を指示する書き込み信号を、選択された遅延回路により一定時間だけ遅らせることにより、前記第２書き込み電流の電流供給／遮断タイミングを決定することを特徴とする請求項４９記載の磁気ランダムアクセスメモリ。
【請求項５１】
前記第２書き込み電流の向きは、書き込みデータの値に応じて変化し、前記第２書き込み電流の電流供給／遮断タイミングは、前記第２書き込み電流の向きに応じて変化することを特徴とする請求項４９記載の磁気ランダムアクセスメモリ。
【請求項５２】
前記第２書き込み電流の向きは、書き込みデータの値に応じて変化し、前記第２書き込み電流の電流供給／遮断タイミングは、前記第２書き込み電流の向きによらず一定であることを特徴とする請求項４９記載の磁気ランダムアクセスメモリ。
【請求項５３】
前記第１設定データは、前記第１書き込み線に対する前記第１書き込み電流の電流波形を決定するデータであることを特徴とする請求項４３記載の磁気ランダムアクセスメモリ。
【請求項５４】
前記第１ドライバは、複数の電流供給源を有し、前記電流波形制御回路は、前記第１設定データに基づいて前記複数の電流供給源の動作を制御することにより、前記第１書き込み電流の電流波形を決定することを特徴とする請求項５３記載の磁気ランダムアクセスメモリ。
【請求項５５】
前記電流波形制御回路は、前記複数の電流供給源に対応した複数の波形生成回路を有し、前記複数の波形生成回路は、前記第１設定データに基づいて、前記複数の電流供給源の動作を制御する複数のパルス信号を出力することを特徴とする請求項５４記載の磁気ランダムアクセスメモリ。
【請求項５６】
前記第１ドライバは、複数の電流供給源を有し、前記電流波形制御回路は、前記複数の電流供給源の動作のタイミングを決定し、前記第１設定データは、前記複数の電流供給源の動作の有無を決定することを特徴とする請求項５３記載の磁気ランダムアクセスメモリ。
【請求項５７】
前記電流波形制御回路は、前記複数の電流供給源に対応した複数の波形生成回路を有し、前記複数の波形生成回路は、前記複数の電流供給源の動作のタイミングを決定する複数のパルス信号を出力することを特徴とする請求項５６記載の磁気ランダムアクセスメモリ。
【請求項５８】
前記複数の電流供給源の電流供給能力は、互いに等しいことを特徴とする請求項５４又は５６記載の磁気ランダムアクセスメモリ。
【請求項５９】
前記複数の電流供給源の電流供給能力は、互いに異なることを特徴とする請求項５４又は５６記載の磁気ランダムアクセスメモリ。
【請求項６０】
前記第２設定データは、前記第２書き込み線に対する前記第２書き込み電流の電流波形を決定するデータであることを特徴とする請求項４３記載の磁気ランダムアクセスメモリ。
【請求項６１】
前記第２ドライバは、複数の電流供給源を有し、前記電流波形制御回路は、前記第２設定データに基づいて前記複数の電流供給源の動作を制御することにより、前記第２書き込み電流の電流波形を決定することを特徴とする請求項６０記載の磁気ランダムアクセスメモリ。
【請求項６２】
前記電流波形制御回路は、前記複数の電流供給源に対応した複数の波形生成回路を有し、前記複数の波形生成回路は、前記第２設定データに基づいて、前記複数の電流供給源の動作を制御する複数のパルス信号を出力することを特徴とする請求項６１記載の磁気ランダムアクセスメモリ。
【請求項６３】
前記第２ドライバは、複数の電流供給源を有し、前記電流波形制御回路は、前記複数の電流供給源の動作のタイミングを決定し、前記第２設定データは、前記複数の電流供給源の動作の有無を決定することを特徴とする請求項６０記載の磁気ランダムアクセスメモリ。
【請求項６４】
前記電流波形制御回路は、前記複数の電流供給源に対応した複数の波形生成回路を有し、前記複数の波形生成回路は、前記複数の電流供給源の動作のタイミングを決定する複数のパルス信号を出力することを特徴とする請求項６３記載の磁気ランダムアクセスメモリ。
【請求項６５】
前記複数の電流供給源の電流供給能力は、互いに等しいことを特徴とする請求項６１又は６３記載の磁気ランダムアクセスメモリ。
【請求項６６】
前記複数の電流供給源の電流供給能力は、互いに異なることを特徴とする請求項６１又は６３記載の磁気ランダムアクセスメモリ。
【請求項６７】
前記第２書き込み電流の向きは、書き込みデータの値に応じて変化し、前記第２書き込み電流の電流波形は、前記第２書き込み電流の向きに応じて変化することを特徴とする請求項６０記載の磁気ランダムアクセスメモリ。
【請求項６８】
前記第２書き込み電流の向きは、書き込みデータの値に応じて変化し、前記第２書き込み電流の電流波形は、前記第２書き込み電流の向きによらず同じであることを特徴とする請求項６０記載の磁気ランダムアクセスメモリ。
【請求項６９】
前記設定回路は、通常動作時に、前記第１及び第２設定データを出力する出力回路と、テスト動作時に、前記第１及び第２設定データに代えて、前記第１及び第２書き込み電流を制御する第１及び第２テストデータを転送する転送回路とを有することを特徴とする請求項４３記載の磁気ランダムアクセスメモリ。
【請求項７０】
前記設定回路は、前記第１及び第２設定データを半永久的に記憶するための記憶素子を有していることを特徴とする請求項４３記載の磁気ランダムアクセスメモリ。
【請求項７１】
前記記憶素子は、レーザ溶断型ヒューズであることを特徴とする請求項７０記載の磁気ランダムアクセスメモリ。
【請求項７２】
前記記憶素子は、磁気抵抗効果素子であることを特徴とする請求項７０記載の磁気ランダムアクセスメモリ。
【請求項７３】
前記記憶素子は、磁気抵抗効果素子のトンネルバリアの破壊の有無によりデータを記憶するアンチヒューズであることを特徴とする請求項７０記載の磁気ランダムアクセスメモリ。
【請求項７４】
前記第１及び第２設定データを前記アンチヒューズに電気的にプログラムする回路を有することを特徴とする請求項７３記載の磁気ランダムアクセスメモリ。
【請求項７５】
前記磁気抵抗効果素子は、容易軸と困難軸を有し、前記容易軸は、前記第１書き込み線が延びる方向に平行で、前記困難軸は、前記第２書き込み線が延びる方向に平行であることを特徴とする請求項４３記載の磁気ランダムアクセスメモリ。
【請求項７６】
前記第１書き込み線は、書き込みワード線であり、前記第２書き込み線は、書き込みビット線であることを特徴とする請求項４３記載の磁気ランダムアクセスメモリ。
【請求項７７】
前記磁気抵抗効果素子は、２つの強磁性層と、前記２つの強磁性層の間に配置されるトンネルバリア層とを有するトンネル磁気抵抗効果素子であることを特徴とする請求項４３記載の磁気ランダムアクセスメモリ。
【請求項７８】
複数の第１書き込み線と、前記複数の第１書き込み線に交差する複数の第２書き込み線と、前記複数の第１書き込み線と前記複数の第２書き込み線の交差点に配置される複数の磁気抵抗効果素子と、前記複数の第１書き込み線に対応した複数の第１ドライバと、前記複数の第２書き込み線に対応した複数の第２ドライバと、前記複数の第１書き込み線に流れる第１書き込み電流の大きさを決定する第１設定データ及び前記複数の第２書き込み線に流れる第２書き込み電流の大きさを決定する第２設定データを２値データとして半永久的に記憶する設定回路と、書き込み時に、前記第１設定データに依存して前記複数の第１ドライバの電流供給量を制御することで前記第１書き込み電流の値を決定し、前記第２設定データに依存して前記複数の第２ドライバの電流供給量を制御することで前記第２書き込み電流の値を決定する電流波形制御回路とを具備し、前記第１及び第２書き込み電流の値を変化させることにより請求項１乃至４２のいずれか１項に記載の磁気ランダムアクセスメモリの書き込み方法を実施することを特徴とする磁気ランダムアクセスメモリ。
【請求項７９】
前記第１設定データは、前記第１書き込み電流の電流供給／遮断タイミング又は電流波形を、前記複数の第１書き込み線単位で制御するデータであり、前記第２設定データは、前記第２書き込み電流の電流供給／遮断タイミング又は電流波形を、前記複数の第２書き込み線単位で制御するデータであることを特徴とする請求項７８記載の磁気ランダムアクセスメモリ。
【請求項８０】
前記第１設定データは、前記第１書き込み電流の電流供給／遮断タイミング又は電流波形を、前記複数の第１書き込み線の各々に対して個別に制御するデータであり、前記第２設定データは、前記第２書き込み電流の電流供給／遮断タイミング又は電流波形を、前記複数の第２書き込み線の各々に対して個別に制御するデータであることを特徴とする請求項７８記載の磁気ランダムアクセスメモリ。
【請求項８１】
前記第２書き込み電流の向きは、書き込みデータの値に応じて変化し、前記第２書き込み電流の電流供給／遮断タイミング又は電流波形は、前記第２書き込み電流の向きに応じて変化することを特徴とする請求項７８記載の磁気ランダムアクセスメモリ。
【請求項８２】
前記第２書き込み電流の向きは、書き込みデータの値に応じて変化し、前記第２書き込み電流の電流供給／遮断タイミング又は電流波形は、前記第２書き込み電流の向きによらず一定であることを特徴とする請求項７８記載の磁気ランダムアクセスメモリ。
【請求項８３】
前記複数の第１書き込み線、前記複数の第２書き込み線、前記複数の磁気抵抗効果素子、前記複数の第１ドライバ、及び、前記複数の第２ドライバにより、１つのセルアレイブロックが構成される場合に、複数のセルアレイブロックが半導体基板上に積み重ねられ、かつ、前記設定回路及び前記電流波形制御回路は、前記複数のセルアレイブロックに共有されることを特徴とする請求項７８記載の磁気ランダムアクセスメモリ。
【請求項８４】
前記複数の第１書き込み線、前記複数の第２書き込み線、前記複数の磁気抵抗効果素子、前記複数の第１ドライバ、前記複数の第２ドライバ、前記設定回路、及び、前記電流波形制御回路により、１つのセルアレイブロックが構成される場合に、複数のセルアレイブロックが半導体基板上に積み重ねられることを特徴とする請求項７８記載の磁気ランダムアクセスメモリ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、トンネル型磁気抵抗(Tunneling Magneto Resistive)効果により“１”，“０”−情報を記憶するＴＭＲ素子を利用してメモリセルを構成した磁気ランダムアクセスメモリ（MRAM: Magnetic Random Access Memory）に関する。
【０００２】
【従来の技術】
近年、新たな原理により情報を記憶するメモリが数多く提案されているが、そのうちの一つに、Roy Scheuerlein et.al.によって提案されたトンネル型磁気抵抗(Tunneling Magneto Resistive: 以後、TMRと表記する。) 効果を利用したメモリがある（例えば、ISSCC2000 Technical Digest p.128「A 10ns Read and Write Non-Volatile Memory Array Using a Magnetic Tunnel Junction and FET Switch in each Cell」を参照）。
【０００３】
磁気ランダムアクセスメモリは、ＴＭＲ素子により“１”，“０”−情報を記憶する。ＴＭＲ素子は、図１０９に示すように、２つの磁性層（強磁性層）により絶縁層（トンネルバリア）を挟んだ構造を有する。ＴＭＲ素子に記憶される情報は、２つの磁性層のスピンの向きが平行か又は反平行かによって判断される。
【０００４】
ここで、図１１０に示すように、平行とは、２つの磁性層のスピンの向き（磁化の方向）が同じであることを意味し、反平行とは、２つの磁性層のスピンの向きが逆向きであることを意味する（矢印の向きがスピンの向きを示している。）。
【０００５】
なお、通常、２つの磁性層の一方側には、反強磁性層が配置される。反強磁性層は、一方側の磁性層のスピンの向きを固定し、他方側のスピンの向きのみを変えることにより情報を容易に書き換えるための部材である。
【０００６】
スピンの向きが固定された磁性層は、固定層又はピン層と呼ばれる。また、書き込みデータに応じて、スピンの向きを自由に変えることができる磁性層は、自由層又は記憶層と呼ばれる。
【０００７】
図１１０に示すように、２つの磁性層のスピンの向きが平行となった場合、これら２つの磁性層に挟まれた絶縁層（トンネルバリア）のトンネル抵抗は、最も低くなる。この状態が“１”−状態である。また、２つの磁性層のスピンの向きが反平行となった場合、これら２つの磁性層に挟まれた絶縁層（トンネルバリア）のトンネル抵抗は、最も高くなる。この状態が“０”−状態である。
【０００８】
次に、図１１１を参照しつつ、ＴＭＲ素子に対する書き込み動作原理について簡単に説明する。
【０００９】
ＴＭＲ素子は、互いに交差する書き込みワード線とデータ選択線（読み出し／書き込みビット線）との交点に配置される。そして、書き込みは、書き込みワード線及びデータ選択線に電流を流し、両配線に流れる電流により作られる磁界を用いて、ＴＭＲ素子のスピンの向きを平行又は反平行にすることにより達成される。
【００１０】
例えば、ＴＭＲ素子の磁化容易軸がＸ方向であり、Ｘ方向に書き込みワード線が延び、Ｘ方向に直交するＹ方向にデータ選択線が延びている場合、書き込み時には、書き込みワード線に、一方向に向かう電流を流し、データ選択線に、書き込みデータに応じて、一方向又は他方向に向かう電流を流す。
【００１１】
データ選択線に一方向に向かう電流を流すとき、ＴＭＲ素子のスピンの向きは、平行（“１”−状態）となる。一方、データ選択線に他方向に向かう電流を流すとき、ＴＭＲ素子のスピンの向きは、反平行（“０”−状態）となる。
【００１２】
ＴＭＲ素子のスピンの向きが変わるしくみは、次の通りである。
【００１３】
図１１２のＴＭＲ曲線に示すように、ＴＭＲ素子の長辺（Easy-Axis）方向に磁界Ｈｙをかけると、ＴＭＲ素子の抵抗値は、例えば、１７％程度変化する。この変化率、即ち、変化の前後の抵抗値の比は、ＭＲ比と呼ばれる。
【００１４】
なお、ＭＲ比は、磁性層の性質により変化する。現在では、ＭＲ比が５０％程度のＴＭＲ素子も得られている。
【００１５】
ＴＭＲ素子には、Easy-Axis方向の磁界ＨｙとHard-Axis方向の磁界Ｈｘとの合成磁界がかかる。図１１３の実線に示すように、Hard-Axis方向の磁界Ｈｘの強さによって、ＴＭＲ素子の抵抗値を変えるために必要なEasy-Axis方向の磁界Ｈｙの強さも変化する。この現象を利用することにより、アレイ状に配置されるメモリセルのうち、選択された書き込みワード線及び選択されたデータ選択線の交点に存在するＴＭＲ素子のみにデータを書き込むことができる。
【００１６】
この様子をさらに図１１３のアステロイド曲線を用いて説明する。
ＴＭＲ素子のアステロイド曲線は、例えば、図１１３の実線で示すようになる。即ち、Easy-Axis方向の磁界ＨｙとHard-Axis方向の磁界Ｈｘとの合成磁界の強さがアステロイド曲線（実線）の外側（例えば、黒丸の位置）にあれば、磁性層のスピンの向きを反転させることができる。
【００１７】
逆に、Easy-Axis方向の磁界ＨｙとHard-Axis方向の磁界Ｈｘとの合成磁界の強さがアステロイド曲線（実線）の内側（例えば、白丸の位置）にある場合には、磁性層のスピンの向きを反転させることはできない。
【００１８】
従って、Easy-Axis方向の磁界Ｈｙの強さとHard-Axis方向の磁界Ｈｘの強さを変え、合成磁界の強さのＨｘ−Ｈｙ平面内における位置を変えることにより、ＴＭＲ素子に対するデータの書き込みを制御できる。
【００１９】
なお、読み出しは、選択されたＴＭＲ素子に電流を流し、そのＴＭＲ素子の抵抗値を検出することにより容易に行うことができる。
【００２０】
例えば、ＴＭＲ素子に直列にスイッチ素子を接続し、選択された読み出しワード線に接続されるスイッチ素子のみをオン状態として電流経路を作る。その結果、選択されたＴＭＲ素子のみに電流が流れるため、そのＴＭＲ素子のデータを読み出すことができる。
【００２１】
【発明が解決しようとする課題】
磁気ランダムアクセスメモリにおいては、上述ように、データ書き込みは、例えば、書き込みワード線とデータ選択線（読み出し／書き込みビット線）に，それぞれ、書き込み電流を流し、これにより発生する合成磁界をＴＭＲ素子に作用させることにより行う。
【００２２】
ここで、書き込み動作に関しては、ＴＭＲ素子に常に正確に書き込みデータを書き込むこと、即ち、書き込み特性の安定化が要求される。書き込み特性の安定化は、特に、ＴＭＲ素子に記憶されているデータ（ＴＭＲ素子の状態）と書き込みデータとが異なる場合に重要となる。つまり、このような場合には、ＴＭＲ素子の記憶層の磁化状態（スピンの向き）を安定して反転させなければならない。
【００２３】
従来、書き込み特性の安定化という観点から創出された書き込み方法としては、例えば、USP6,081,445 「Method to Write/Read MRAM Arrays」 に記載されている方法が知られている。
【００２４】
この方法は、図１１４に示すように、まず、Hard-Axis方向の磁界ＨｘをＴＭＲ素子に作用させ、ＴＭＲ層の記憶層の端部の磁化方向をHard-Axis方向に揃えた後（▲１▼）、Easy-Axis方向の磁界ＨｙをＴＭＲ素子に作用させる（▲２▼）、という方法である。
【００２５】
即ち、この方法では、書き込みワード線に書き込み電流が流れた後に、書き込みビット線に書き込みデータに応じた向きを有する書き込み電流が流れることになる。但し、ＴＭＲ素子の磁化容易軸（Easy-Axis）は、書き込みワード線が延びる方向を向いているものとする。
【００２６】
このように、Easy-Axis方向の磁界ＨｙをＴＭＲ素子に作用させる前に、Hard-Axis方向の磁界ＨｘをＴＭＲ素子に作用させ、ＴＭＲ素子の記憶層の端部の磁化方向をHard-Axis方向に揃えておく（不安定化しておく）のは、このようにすることで、ＴＭＲ素子の記憶層の磁化反転に必要とされるEasy-Axis方向の磁界Ｈｙを弱くできる、即ち、書き込みビット線に流す書き込み電流を小さくできるからである。
【００２７】
なお、ＴＭＲ素子の記憶層の端部の磁化方向をHard-Axis方向に不安定化しておくと、磁化反転に必要とされるEasy-Axis方向の磁界Ｈｙを弱くできる理由は、明らかではないが、図１１５に示すように、ＴＭＲ素子の記憶層の磁化反転が記憶層の端部から始まることによる、と考えられている。
【００２８】
ところで、USP6,081,445 には、Hard-Axis方向の磁界ＨｘをＴＭＲ素子に作用させた後に、Easy-Axis方向の磁界ＨｙをＴＭＲ素子に作用させる、といった点のみが開示される。この場合、ＴＭＲ素子の記憶層の磁化が十分に反転しなかったり、また、書き込み動作終了後にＴＭＲ素子の記憶層の端部の磁化方向がHard-Axis方向を向いたままであったりするなどの問題が生じる。
【００２９】
本発明は、このような問題を解決するためになされたもので、その目的は、磁気ランダムアクセスメモリにおいて、書き込み電流を書き込みワード／ビット線に供給するタイミングや、書き込み電流の電流値の時間的変化（パルス形状）などを工夫することにより、ＴＭＲ素子の記憶層の磁化反転を確実に行い、書き込み特性の向上を図ることにある。
【００３０】
【課題を解決するための手段】
(1) ▲１▼  本発明の磁気ランダムアクセスメモリの書き込み方法は、容易軸及び困難軸を有する磁気抵抗効果素子に、前記困難軸に平行な第１磁界を作用させ、その後、前記磁気抵抗効果素子に、前記第１磁界よりも弱い前記困難軸に平行な第２磁界と前記容易軸に平行な第３磁界とを同時に作用させる、というステップから構成される。
【００３１】
前記第１及び第２磁界は、時間的に連続して、前記磁気抵抗効果素子に作用する。
【００３２】
前記第１磁界から前記第２磁界への変化は、磁界の強さがアナログ的又はデジタル的に変化するように行われる。
【００３３】
前記第１及び第２磁界は、前記容易軸に平行な方向に流れる第１書き込み電流により発生し、前記第３磁界は、前記困難軸に平行な方向に流れる第２書き込み電流により発生する。
【００３４】
前記第１及び第２磁界は、前記第１書き込み電流の電流値を時間的に変化させることにより得られる。
【００３５】
前記第３磁界の向きは、前記磁気抵抗効果素子に対する書き込みデータの値を決定する。
【００３６】
▲２▼  本発明の磁気ランダムアクセスメモリの書き込み方法は、容易軸及び困難軸を有する磁気抵抗効果素子に、前記困難軸に平行な第１磁界と前記容易軸に平行な第２磁界とを同時に作用させ、その後、前記磁気抵抗効果素子に、前記第２磁界よりも強い前記容易軸に平行な第３磁界を作用させる、というステップから構成される。
【００３７】
前記第２及び第３磁界は、時間的に連続して、前記磁気抵抗効果素子に作用する。
【００３８】
前記第２磁界から前記第３磁界への変化は、磁界の強さがアナログ的又はデジタル的に変化するように行われる。
【００３９】
前記第１磁界は、前記容易軸に平行な方向に流れる第１書き込み電流により発生し、前記第２及び第３磁界は、前記困難軸に平行な方向に流れる第２書き込み電流により発生する。
【００４０】
前記第２及び第３磁界は、前記第２書き込み電流の電流値を時間的に変化させることにより得られる。
【００４１】
前記第２及び第３磁界の向きは、前記磁気抵抗効果素子に対する書き込みデータの値を決定する。
【００４２】
▲３▼  本発明の磁気ランダムアクセスメモリの書き込み方法は、容易軸及び困難軸を有する磁気抵抗効果素子に、前記困難軸に平行な第１磁界を作用させ、その後、前記磁気抵抗効果素子に、前記困難軸に平行な第２磁界と前記容易軸に平行な第３磁界とを同時に作用させ、その後、前記磁気抵抗効果素子に、前記容易軸に平行な第４磁界を作用させる、というステップから構成される。
【００４３】
前記第１及び第２磁界は、同じ強さを有し、時間的に連続して、前記磁気抵抗効果素子に作用する。
【００４４】
前記第３及び第４磁界は、同じ強さを有し、時間的に連続して、前記磁気抵抗効果素子に作用する。
【００４５】
前記第２磁界は、前記第１磁界よりも弱く、かつ、前記第１及び第２磁界は、時間的に連続して、前記磁気抵抗効果素子に作用する。
【００４６】
前記第１磁界から前記第２磁界への変化は、磁界の強さがアナログ的又はデジタル的に変化するように行われる。
【００４７】
前記第４磁界は、前記第３磁界よりも強く、かつ、前記第３及び第４磁界は、時間的に連続して、前記磁気抵抗効果素子に作用する。
【００４８】
前記第３磁界から前記第４磁界への変化は、磁界の強さがアナログ的又はデジタル的に変化するように行われる。
【００４９】
前記第１及び第２磁界は、前記容易軸に平行な方向に流れる第１書き込み電流により発生し、前記第３及び第４磁界は、前記困難軸に平行な方向に流れる第２書き込み電流により発生する。
【００５０】
前記第３及び第４磁界の向きは、前記磁気抵抗効果素子に対する書き込みデータの値を決定する。
【００５１】
▲４▼  本発明の磁気ランダムアクセスメモリの書き込み方法は、容易軸及び困難軸を有する磁気抵抗効果素子に、前記困難軸に平行な第１磁界と前記容易軸に平行な第２磁界とを同時に作用させ、その後、前記磁気抵抗効果素子に、前記困難軸に平行な第３磁界と前記第２磁界よりも強い前記容易軸に平行な第４磁界とを同時に作用させ、その後、前記磁気抵抗効果素子に、前記第３磁界よりも弱い前記困難軸に平行な第５磁界と前記容易軸に平行な第６磁界とを同時に作用させる、というステップから構成される。
【００５２】
前記第１及び第３磁界は、同じ強さを有する。
【００５３】
前記第３磁界は、前記１磁界よりも弱い。
【００５４】
前記第１磁界から前記第３磁界への変化及び前記第３磁界から前記第５磁界への変化は、磁界の強さがアナログ的又はデジタル的に変化するように行われる。
【００５５】
前記第１、第３及び第５磁界は、時間的に連続して、前記磁気抵抗効果素子に作用する。
【００５６】
前記第４及び第６磁界は、同じ強さを有する。
【００５７】
前記第６磁界は、前記４磁界よりも強い。
【００５８】
前記第２磁界から前記第４磁界への変化及び前記第４磁界から前記第６磁界への変化は、磁界の強さがアナログ的又はデジタル的に変化するように行われる。
【００５９】
前記第２、第４及び第６磁界は、時間的に連続して、前記磁気抵抗効果素子に作用する。
【００６０】
前記第１、第３及び第５磁界は、前記容易軸に平行な方向に流れる第１書き込み電流により発生し、前記第２、第４及び第６磁界は、前記困難軸に平行な方向に流れる第２書き込み電流により発生する。
【００６１】
前記第２、第４及び第６磁界の向きは、前記磁気抵抗効果素子に対する書き込みデータの値を決定する。
【００６２】
(2) ▲１▼  本発明の磁気ランダムアクセスメモリは、互いに交差する第１及び第２書き込み線と、前記第１及び第２書き込み線の交差点に配置される磁気抵抗効果素子と、前記第１書き込み線に第１書き込み電流を供給するための第１ドライバと、前記第２書き込み線に第２書き込み電流を供給するための第２ドライバと、前記第１書き込み電流を制御するための第１設定データ及び前記第２書き込み電流を制御するための第２設定データが登録される設定回路と、前記第１設定データに依存して前記第１ドライバの動作を制御し、前記第２設定データに依存して前記第２ドライバの動作を制御する電流波形制御回路とを備える。
【００６３】
本発明の磁気ランダムアクセスメモリは、さらに、前記第１書き込み電流を吸収する第１シンカーと、前記第２書き込み電流を吸収する第２シンカーとを備え、前記電流波形制御回路は、前記第１及び第２シンカーの動作を制御する。
【００６４】
前記電流波形制御回路は、前記第１ドライバの動作を終了させた後に、前記第１シンカーの動作を終了させる。
【００６５】
前記電流波形制御回路は、前記第２ドライバの動作を終了させた後に、前記第２シンカーの動作を終了させる。
【００６６】
前記第１設定データは、前記第１書き込み線に対する前記第１書き込み電流の電流供給／遮断タイミングを決定するデータである。
【００６７】
前記電流波形制御回路は、異なる遅延時間を有する複数の遅延回路を有し、前記第１設定データに基づいて前記複数の遅延回路のうちの１つを選択し、書き込み動作の開始／終了を指示する書き込み信号を、選択された遅延回路により一定時間だけ遅らせることにより、前記第１書き込み電流の電流供給／遮断タイミングを決定する。
【００６８】
前記第２設定データは、前記第２書き込み線に対する前記第２書き込み電流の電流供給／遮断タイミングを決定するデータである。
【００６９】
前記電流波形制御回路は、異なる遅延時間を有する複数の遅延回路を有し、前記第２設定データに基づいて前記複数の遅延回路のうちの１つを選択し、書き込み動作の開始／終了を指示する書き込み信号を、選択された遅延回路により一定時間だけ遅らせることにより、前記第２書き込み電流の電流供給／遮断タイミングを決定する。
【００７０】
前記第２書き込み電流の向きは、書き込みデータの値に応じて変化し、前記第２書き込み電流の電流供給／遮断タイミングは、前記第２書き込み電流の向きに応じて変化する。
【００７１】
前記第２書き込み電流の向きは、書き込みデータの値に応じて変化し、前記第２書き込み電流の電流供給／遮断タイミングは、前記第２書き込み電流の向きによらず一定である。
【００７２】
前記第１設定データは、前記第１書き込み線に対する前記第１書き込み電流の電流波形を決定するデータである。
【００７３】
前記第１ドライバは、複数の電流供給源を有し、前記電流波形制御回路は、前記第１設定データに基づいて前記複数の電流供給源の動作を制御することにより、前記第１書き込み電流の電流波形を決定する。
【００７４】
前記電流波形制御回路は、前記複数の電流供給源に対応した複数の波形生成回路を有し、前記複数の波形生成回路は、前記第１設定データに基づいて、前記複数の電流供給源の動作を制御する複数のパルス信号を出力する。
【００７５】
前記第１ドライバは、複数の電流供給源を有し、前記電流波形制御回路は、前記複数の電流供給源の動作のタイミングを決定し、前記第１設定データは、前記複数の電流供給源の動作の有無を決定する。
【００７６】
前記電流波形制御回路は、前記複数の電流供給源に対応した複数の波形生成回路を有し、前記複数の波形生成回路は、前記複数の電流供給源の動作のタイミングを決定する複数のパルス信号を出力する。
【００７７】
前記複数の電流供給源の電流供給能力は、互いに等しい。
【００７８】
前記複数の電流供給源の電流供給能力は、互いに異なる。
【００７９】
前記第２設定データは、前記第２書き込み線に対する前記第２書き込み電流の電流波形を決定するデータである。
【００８０】
前記第２ドライバは、複数の電流供給源を有し、前記電流波形制御回路は、前記第２設定データに基づいて前記複数の電流供給源の動作を制御することにより、前記第２書き込み電流の電流波形を決定する。
【００８１】
前記電流波形制御回路は、前記複数の電流供給源に対応した複数の波形生成回路を有し、前記複数の波形生成回路は、前記第２設定データに基づいて、前記複数の電流供給源の動作を制御する複数のパルス信号を出力する。
【００８２】
前記第２ドライバは、複数の電流供給源を有し、前記電流波形制御回路は、前記複数の電流供給源の動作のタイミングを決定し、前記第２設定データは、前記複数の電流供給源の動作の有無を決定する。
【００８３】
前記電流波形制御回路は、前記複数の電流供給源に対応した複数の波形生成回路を有し、前記複数の波形生成回路は、前記複数の電流供給源の動作のタイミングを決定する複数のパルス信号を出力する。
【００８４】
前記複数の電流供給源の電流供給能力は、互いに等しい。
【００８５】
前記複数の電流供給源の電流供給能力は、互いに異なる。
【００８６】
前記第２書き込み電流の向きは、書き込みデータの値に応じて変化し、前記第２書き込み電流の電流波形は、前記第２書き込み電流の向きに応じて変化する。
【００８７】
前記第２書き込み電流の向きは、書き込みデータの値に応じて変化し、前記第２書き込み電流の電流波形は、前記第２書き込み電流の向きによらず、同じである。
【００８８】
前記設定回路は、通常動作時に、前記第１及び第２設定データを出力する出力回路と、テスト動作時に、前記第１及び第２設定データに代えて、前記第１及び第２書き込み電流を制御する第１及び第２テストデータを転送する転送回路とを有する。
【００８９】
前記設定回路は、前記第１及び第２設定データを半永久的に記憶するための記憶素子を有している。
【００９０】
前記記憶素子は、レーザ溶断型ヒューズである。
【００９１】
前記記憶素子は、磁気抵抗効果素子である。
【００９２】
前記記憶素子は、磁気抵抗効果素子のトンネルバリアの破壊の有無によりデータを記憶するアンチヒューズである。
【００９３】
前記第１及び第２設定データを前記アンチヒューズに電気的にプログラムする回路を有する。
【００９４】
前記磁気抵抗効果素子は、容易軸と困難軸を有し、前記容易軸は、前記第１書き込み線が延びる方向に平行で、前記困難軸は、前記第２書き込み線が延びる方向に平行である。
【００９５】
前記第１書き込み線は、書き込みワード線であり、前記第２書き込み線は、書き込みビット線である。
【００９６】
前記磁気抵抗効果素子は、２つの強磁性層と、前記２つの強磁性層の間に配置されるトンネルバリア層とを有するトンネル磁気抵抗効果素子である。
【００９７】
▲２▼  本発明の磁気ランダムアクセスメモリは、複数の第１書き込み線と、前記複数の第１書き込み線に交差する複数の第２書き込み線と、前記複数の第１書き込み線と前記複数の第２書き込み線の交差点に配置される複数の磁気抵抗効果素子と、前記複数の第１書き込み線に対応した複数の第１ドライバと、前記複数の第２書き込み線に対応した複数の第２ドライバと、前記複数の第１書き込み線に流れる第１書き込み電流を制御するための第１設定データ及び前記複数の第２書き込み線に流れる第２書き込み電流を制御するための第２設定データが登録される設定回路と、前記第１設定データに依存して前記複数の第１ドライバの動作を制御し、前記第２設定データに依存して前記複数の第２ドライバの動作を制御する電流波形制御回路とを備える。
【００９８】
前記第１設定データは、前記第１書き込み電流の電流供給／遮断タイミング又は電流波形を、前記複数の第１書き込み線単位で制御するデータであり、前記第２設定データは、前記第２書き込み電流の電流供給／遮断タイミング又は電流波形を、前記複数の第２書き込み線単位で制御するデータである。
【００９９】
前記第１設定データは、前記第１書き込み電流の電流供給／遮断タイミング又は電流波形を、前記複数の第１書き込み線の各々に対して個別に制御するデータであり、前記第２設定データは、前記第２書き込み電流の電流供給／遮断タイミング又は電流波形を、前記複数の第２書き込み線の各々に対して個別に制御するデータである。
【０１００】
前記第２書き込み電流の向きは、書き込みデータの値に応じて変化し、前記第２書き込み電流の電流供給／遮断タイミング又は電流波形は、前記第２書き込み電流の向きに応じて変化する。
【０１０１】
前記第２書き込み電流の向きは、書き込みデータの値に応じて変化し、前記第２書き込み電流の電流供給／遮断タイミング又は電流波形は、前記第２書き込み電流の向きによらず一定である。
【０１０２】
前記複数の第１書き込み線、前記複数の第２書き込み線、前記複数の磁気抵抗効果素子、前記複数の第１ドライバ、及び、前記複数の第２ドライバにより、１つのセルアレイブロックが構成される場合に、複数のセルアレイブロックが半導体基板上に積み重ねられ、かつ、前記設定回路及び前記電流波形制御回路は、前記複数のセルアレイブロックに共有される。
【０１０３】
前記複数の第１書き込み線、前記複数の第２書き込み線、前記複数の磁気抵抗効果素子、前記複数の第１ドライバ、前記複数の第２ドライバ、前記設定回路、及び、前記電流波形制御回路により、１つのセルアレイブロックが構成される場合に、複数のセルアレイブロックが半導体基板上に積み重ねられる。
【０１０４】
【発明の実施の形態】
以下、図面を参照しながら、本発明の磁気ランダムアクセスメモリの例について詳細に説明する。
【０１０５】
１．  書き込み原理（ＴＭＲ素子に対する磁界の印加方法）
まず、本発明の磁気ランダムアクセスメモリの書き込み原理、即ち、ＴＭＲ素子（MTJ）に対する磁界Ｈｘ，Ｈｙの印加方法について説明する。
【０１０６】
本発明に関わる書き込み原理では、ＴＭＲ素子の磁化方向が反転し易くなるように、書き込み電流を供給するタイミング、即ち、磁界Ｈｘ，Ｈｙの印加タイミングや、書き込み電流の電流値の時間的変化、即ち、磁界Ｈｘ，Ｈｙの強さの時間的変化などについて検討している。
【０１０７】
(1)   実施例１
本例の書き込み原理では、Easy-Axis方向の磁界ＨｙをＴＭＲ素子に作用させる前に、ＴＭＲ素子の記憶層の端部の磁区の磁化方向をHard-Axis方向に揃えておくための手法、及び、Easy-Axis方向の磁界ＨｙをＴＭＲ素子に作用させた後においては、ＴＭＲ素子の記憶層の端部の磁区の磁化方向が完全にEasy-Axis方向を向くようにするための手法を提案する。
【０１０８】
これらの手法の共通のポイントは、Hard-Axis方向の磁界Ｈｘの強さを時間的に変化させる点にある。
【０１０９】
具体的には、まず、図１に示すように、Easy-Axis方向の磁界ＨｙをＴＭＲ素子に作用させる前に、ＴＭＲ素子の記憶層の端部の磁区の磁化方向をHard-Axis方向に揃えておくに十分な強さの磁界ＨｘをＴＭＲ素子に作用させ、ＴＭＲ層の記憶層の端部の磁区の磁化方向をHard-Axis方向に揃える（▲１▼）。
【０１１０】
この後、図２に示すように、書き込みデータに応じた向きを有するEasy-Axis方向の磁界ＨｙをＴＭＲ素子に作用させ、ＴＭＲ素子の磁化方向をEasy-Axis方向に向ける。この時、ＴＭＲ素子の記憶層の端部の磁区の磁化方向が完全にEasy-Axis方向を向くように、Hard-Axis方向の磁界Ｈｘは、磁界ＨｙをＴＭＲ素子に作用させる前の磁界Ｈｘよりも弱くなるように設定される（▲２▼）。
【０１１１】
図３は、実施例１の書き込み原理を実現するための磁気ランダムアクセスメモリの動作原理について簡単に示している。
【０１１２】
磁界Ｈｘ，Ｈｙの発生タイミングや強さは、互いに交差する書き込みワード線及び書き込みビット線に流す書き込み電流の電流供給タイミングや大きさによって決定される。例えば、Hard-Axis方向の磁界Ｈｘの強さを時間的に変化させるには、書き込みワード線に流す書き込み電流の大きさを時間的に変化させればよい。但し、ＴＭＲ素子の磁化容易軸（Easy-Axis）は、書き込みワード線が延びる方向を向いているものとする。
【０１１３】
まず、書き込みワード線に、一定方向の向きの書き込み電流Ｉｐ１を流す。書き込み電流Ｉｐ１により、Hard-Axis方向の磁界Ｈｘが発生し、ＴＭＲ層の記憶層の端部の磁区の磁化方向がHard-Axis方向に揃う（ステップＳＴ１）。
【０１１４】
この後、書き込みワード線に、一定方向の向きの書き込み電流Ｉｐ２（＜Ｉｐ１）を流し、書き込みビット線に、書き込みデータに応じた向きの書き込み電流Ｉｐ３を流す。書き込み電流Ｉｐ２，Ｉｐ３により、合成磁界Ｈｘ＋Ｈｙが発生し、ＴＭＲ層の記憶層の磁化方向が反転する（ステップＳＴ２）。
【０１１５】
なお、書き込み電流Ｉｐ１から書き込み電流Ｉｐ２への変化（磁界Ｈｘの変化▲１▼→▲２▼）は、磁界の強さがアナログ的に変化するように行っても、又は、デジタル的に変化するように行ってもよい。
【０１１６】
この動作原理を実行するための回路方式、即ち、書き込み電流を書き込みワード線及び書き込みビット線に供給するタイミングや、書き込み電流の大きさ（波形）などを決定する回路については、後に詳述する。
【０１１７】
このように、本例の書き込み原理では、Easy-Axis方向の磁界ＨｙをＴＭＲ素子に作用させる前に、ＴＭＲ素子の記憶層の端部の磁区の磁化方向をHard-Axis方向に揃えておくに十分な強さの磁界ＨｘをＴＭＲ素子に作用させている。また、Easy-Axis方向の磁界ＨｙをＴＭＲ素子に作用させるときには、Hard-Axis方向の磁界Ｈｘは、磁界Ｈｙを発生させる前の磁界Ｈｘよりも弱くなるように設定される。
【０１１８】
従って、Easy-Axis方向の磁界ＨｙをＴＭＲ素子に作用させた後においても、ＴＭＲ素子の記憶層の端部の磁区の磁化方向がHard-Axis方向を向いたままである、という事態が発生することがなく、かつ、ＴＭＲ素子の記憶層の磁化反転に関しては、それを確実に行うことができ、書き込み特性を向上できる。
【０１１９】
(2)   実施例２
書き込み動作終了後においても、ＴＭＲ素子の記憶層の端部の磁区の磁化方向が、図９５に示すように、Hard-Axis方向を向いていると、その端部の磁区の磁化方向は、ＴＭＲ素子の固定層の磁化方向と直交することになる。そして、この部分におけるＭＲ比は、ＴＭＲ素子の磁化状態（固定層の磁化方向と記憶層の磁化方向との関係）が平行又は反平行となったときのＭＲ比の約半分となり、結果として、ＴＭＲ素子のＭＲ比を悪化させる原因となる。
【０１２０】
そこで、本例の書き込み原理では、Hard-Axis方向の磁界Ｈｘにより、ＴＭＲ素子の記憶層の端部の磁区の磁化方向がHard-Axis方向に揃っていることを前提として、この後、Easy-Axis方向の磁界Ｈｙにより、ＴＭＲ素子の記憶層の端部の磁区の磁化方向を完全にEasy-Axis方向を向かせるための手法を提案する。
【０１２１】
この手法のポイントは、Hard-Axis方向の磁界Ｈｘを消滅させた後においても、Easy-Axis方向の磁界ＨｙをＴＭＲ素子に作用させ続ける点にある。
【０１２２】
具体的には、まず、図４に示すように、Hard-Axis方向の磁界ＨｘをＴＭＲ素子に作用させ、ＴＭＲ素子の記憶層の端部の磁区の磁化方向をHard-Axis方向に揃える（▲１▼）。
【０１２３】
次に、図５に示すように、書き込みデータに応じた向きを有するEasy-Axis方向の磁界ＨｙをＴＭＲ素子に作用させる。この時、Hard-Axis方向の磁界Ｈｘは、そのまま継続して発生しているため、ＴＭＲ素子には、合成磁界Ｈｘ＋Ｈｙが作用することになる（▲２▼）。
【０１２４】
この後、図６に示すように、Hard-Axis方向の磁界Ｈｘのみを消滅させる。つまり、ＴＭＲ素子には、Easy-Axis方向の磁界Ｈｙのみが作用することになるため、ＴＭＲ素子の記憶層の端部の磁区の磁化方向は、この磁界Ｈｙにより、完全にEasy-Axis方向を向く（▲３▼）。
【０１２５】
図７は、実施例２の書き込み原理を実現するための磁気ランダムアクセスメモリの動作原理について簡単に示している。
【０１２６】
磁界Ｈｘ，Ｈｙを発生させるタイミングや消滅させるタイミングは、互いに交差する書き込みワード線及び書き込みビット線に対して、書き込み電流を供給するタイミングや遮断するタイミングによって決定される。
【０１２７】
まず、書き込みワード線に、一定方向の向きの書き込み電流Ｉｐ１を流す。書き込み電流Ｉｐ１により、Hard-Axis方向の磁界Ｈｘが発生し、ＴＭＲ層の記憶層の端部の磁区の磁化方向がHard-Axis方向に揃う（ステップＳＴ１）。
【０１２８】
次に、書き込みワード線に、書き込み電流Ｉｐ１を流し続け、かつ、書き込みビット線に、書き込みデータに応じた向きの書き込み電流Ｉｐ２を流す。これら書き込み電流Ｉｐ１，Ｉｐ２によって、合成磁界Ｈｘ＋Ｈｙが発生する（ステップＳＴ２）。
【０１２９】
この後、書き込みワード線の書き込み電流Ｉｐ１を停止させ、書き込みビット線の書き込み電流Ｉｐ２のみを流し続ける。その結果、ＴＭＲ素子の記憶層の端部の磁区の磁化方向は、磁界Ｈｙにより、完全にEasy-Axis方向を向き、ＴＭＲ層の記憶層の磁化方向が反転する（ステップＳＴ３）。
【０１３０】
なお、この動作原理を実行するための回路方式、即ち、書き込み電流を書き込みワード線及び書き込みビット線に供給するタイミングや、書き込み電流の大きさ（波形）などを決定する回路については、後に詳述する。
【０１３１】
このように、本例の書き込み原理では、Hard-Axis方向の磁界Ｈｘを消滅させた後においても、Easy-Axis方向の磁界ＨｙをＴＭＲ素子に作用させ続けるようにしている。従って、Easy-Axis方向の磁界Ｈｙを消滅させた後に、未だ、ＴＭＲ素子の記憶層の端部の磁区の磁化方向がHard-Axis方向を向いたままである、という事態が発生することがなく、かつ、ＴＭＲ素子の記憶層の磁化反転に関しては、それを確実に行うことができ、書き込み特性を向上できる。
【０１３２】
(3)   実施例３
本例の書き込み原理では、Hard-Axis方向の磁界Ｈｘにより、ＴＭＲ素子の記憶層の端部の磁区の磁化方向がHard-Axis方向に揃っていることを前提として、この後、Easy-Axis方向の磁界Ｈｙにより、ＴＭＲ素子の記憶層の端部の磁区の磁化方向を完全にEasy-Axis方向を向かせるための手法を提案する。
【０１３３】
この手法のポイントは、Hard-Axis方向の磁界Ｈｘを消滅させた後に、Easy-Axis方向の磁界ＨｙをＴＭＲ素子に作用させ続けると共に、磁界Ｈｙの強さを磁界Ｈｘの消滅前の磁界Ｈｙよりも強くする点にある。
【０１３４】
具体的には、まず、図８に示すように、Hard-Axis方向の磁界ＨｘをＴＭＲ素子に作用させ、ＴＭＲ素子の記憶層の端部の磁区の磁化方向をHard-Axis方向に揃える（▲１▼）。
【０１３５】
次に、図９に示すように、書き込みデータに応じた向きを有するEasy-Axis方向の磁界ＨｙをＴＭＲ素子に作用させる。この時、Hard-Axis方向の磁界Ｈｘは、そのまま継続して発生しているため、ＴＭＲ素子には、合成磁界Ｈｘ＋Ｈｙが作用することになる（▲２▼）。
【０１３６】
この後、図１０に示すように、Hard-Axis方向の磁界Ｈｘのみを消滅させ、ＴＭＲ素子に、Easy-Axis方向の磁界Ｈｙのみを作用させる。また、この時、磁界Ｈｙの強さは、磁界Ｈｘの消滅前の磁界Ｈｙよりも強くする。この磁界Ｈｙによって、ＴＭＲ素子の記憶層の端部の磁区の磁化方向は、完全にEasy-Axis方向を向く（▲３▼）。
【０１３７】
図１１は、実施例３の書き込み原理を実現するための磁気ランダムアクセスメモリの動作原理について簡単に示している。
【０１３８】
磁界Ｈｘ，Ｈｙの発生／消滅のタイミングや強さは、互いに交差する書き込みワード線及び書き込みビット線に流す書き込み電流の供給／遮断のタイミングや大きさによって決定される。
【０１３９】
まず、書き込みワード線に、一定方向の向きの書き込み電流Ｉｐ１を流す。書き込み電流Ｉｐ１により、Hard-Axis方向の磁界Ｈｘが発生し、ＴＭＲ層の記憶層の端部の磁区の磁化方向がHard-Axis方向に揃う（ステップＳＴ１）。
【０１４０】
次に、書き込みワード線に、書き込み電流Ｉｐ１を流し続け、かつ、書き込みビット線に、書き込みデータに応じた向きの書き込み電流Ｉｐ２を流す。これら書き込み電流Ｉｐ１，Ｉｐ２によって、合成磁界Ｈｘ＋Ｈｙが発生する（ステップＳＴ２）。
【０１４１】
この後、書き込みワード線の書き込み電流Ｉｐ１を停止させ、書き込みビット線に、書き込み電流Ｉｐ３（＞Ｉｐ２）を流す。その結果、ＴＭＲ素子の記憶層の端部の磁区の磁化方向は、磁界Ｈｙにより、完全にEasy-Axis方向を向き、ＴＭＲ層の記憶層の磁化方向が反転する（ステップＳＴ３）。
【０１４２】
なお、書き込み電流Ｉｐ２から書き込み電流Ｉｐ３への変化（磁界Ｈｙの変化▲２▼→▲３▼）は、磁界の強さがアナログ的に変化するように行っても、又は、デジタル的に変化するように行ってもよい。
【０１４３】
この動作原理を実行するための回路方式、即ち、書き込み電流を書き込みワード線及び書き込みビット線に供給するタイミングや、書き込み電流の大きさ（波形）などを決定する回路については、後に詳述する。
【０１４４】
このように、本例の書き込み原理では、Hard-Axis方向の磁界Ｈｘを消滅させた後においても、Easy-Axis方向の磁界ＨｙをＴＭＲ素子に作用させ続けるようにしている。しかも、Hard-Axis方向の磁界Ｈｘを消滅させた後のEasy-Axis方向の磁界Ｈｙは、磁界Ｈｘの消滅前の磁界Ｈｙよりも強くなっている。
【０１４５】
従って、Easy-Axis方向の磁界Ｈｙを消滅させた後に、未だ、ＴＭＲ素子の記憶層の端部の磁区の磁化方向がHard-Axis方向を向いたままである、という事態が発生することがなく、かつ、ＴＭＲ素子の記憶層の磁化反転に関しては、それを確実に行うことができ、書き込み特性を向上できる。
【０１４６】
(4)   実施例４
本例の書き込み原理では、Easy-Axis方向の磁界ＨｙをＴＭＲ素子に作用させる前に、ＴＭＲ素子の記憶層の端部の磁区の磁化方向をHard-Axis方向に揃えておくための手法、及び、Easy-Axis方向の磁界ＨｙをＴＭＲ素子に作用させた後においては、ＴＭＲ素子の記憶層の端部の磁区の磁化方向が完全にEasy-Axis方向を向くようにするための手法を提案する。
【０１４７】
本例の書き込み原理は、実施例１の書き込み原理と実施例３の書き込み原理とを組み合わせたものである。そのポイントは、Hard-Axis方向の磁界Ｈｘの強さ及びEasy-Axis方向の磁界Ｈｙの強さを時間的に変化させる点、及び、Hard-Axis方向の磁界Ｈｘを消滅させた後に、Easy-Axis方向の磁界ＨｙをＴＭＲ素子に作用させ続ける点にある。
【０１４８】
具体的には、まず、図１２に示すように、Easy-Axis方向の磁界ＨｙをＴＭＲ素子に作用させる前に、ＴＭＲ素子の記憶層の端部の磁区の磁化方向をHard-Axis方向に揃えておくに十分な強さの磁界ＨｘをＴＭＲ素子に作用させ、ＴＭＲ層の記憶層の端部の磁区の磁化方向をHard-Axis方向に揃える（▲１▼）。
【０１４９】
次に、図１３に示すように、書き込みデータに応じた向きを有するEasy-Axis方向の磁界ＨｙをＴＭＲ素子に作用させ、ＴＭＲ素子の磁化方向をEasy-Axis方向に向ける。この時、ＴＭＲ素子の記憶層の端部の磁区の磁化方向が完全にEasy-Axis方向を向くように、Hard-Axis方向の磁界Ｈｘは、磁界ＨｙをＴＭＲ素子に作用させる前の磁界Ｈｘよりも弱くなるように設定される（▲２▼）。
【０１５０】
この後、図１４に示すように、Hard-Axis方向の磁界Ｈｘのみを消滅させ、ＴＭＲ素子に、Easy-Axis方向の磁界Ｈｙのみを作用させる。この時、磁界Ｈｙの強さは、ＴＭＲ素子の記憶層の端部の磁区の磁化方向が完全にEasy-Axis方向を向くように、磁界Ｈｘの消滅前の磁界Ｈｙよりも強くする（▲３▼）。
【０１５１】
図１５は、実施例４の書き込み原理を実現するための磁気ランダムアクセスメモリの動作原理について簡単に示している。
【０１５２】
まず、書き込みワード線に、一定方向の向きの書き込み電流Ｉｐ１を流す。書き込み電流Ｉｐ１により、Hard-Axis方向の磁界Ｈｘが発生し、ＴＭＲ層の記憶層の端部の磁区の磁化方向がHard-Axis方向に揃う（ステップＳＴ１）。
【０１５３】
次に、書き込みワード線に、一定方向の向きの書き込み電流Ｉｐ２（＜Ｉｐ１）を流し、書き込みビット線に、書き込みデータに応じた向きの書き込み電流Ｉｐ３を流す。書き込み電流Ｉｐ２，Ｉｐ３により、合成磁界Ｈｘ＋Ｈｙが発生する（ステップＳＴ２）。
【０１５４】
この後、書き込みワード線の書き込み電流Ｉｐ２を停止させ、書き込みビット線に、書き込み電流Ｉｐ４（＞Ｉｐ３）を流す。その結果、ＴＭＲ素子の記憶層の端部の磁区の磁化方向は、磁界Ｈｙにより、完全にEasy-Axis方向を向き、ＴＭＲ層の記憶層の磁化方向が反転する（ステップＳＴ３）。
【０１５５】
なお、書き込み電流Ｉｐ１から書き込み電流Ｉｐ２への変化（磁界Ｈｘの変化▲１▼→▲２▼）は、磁界の強さがアナログ的に変化するように行っても、又は、デジタル的に変化するように行ってもよい。
【０１５６】
また、書き込み電流Ｉｐ３から書き込み電流Ｉｐ４への変化（磁界Ｈｙの変化▲２▼→▲３▼）についても、磁界の強さがアナログ的に変化するように行っても、又は、デジタル的に変化するように行ってもよい。
【０１５７】
この動作原理を実行するための回路方式、即ち、書き込み電流を書き込みワード線及び書き込みビット線に供給するタイミングや、書き込み電流の大きさ（波形）などを決定する回路については、後に詳述する。
【０１５８】
このように、本例の書き込み原理では、Easy-Axis方向の磁界ＨｙをＴＭＲ素子に作用させる前に、ＴＭＲ素子の記憶層の端部の磁区の磁化方向をHard-Axis方向に揃えておくに十分な強さの磁界ＨｘをＴＭＲ素子に作用させている。また、Easy-Axis方向の磁界ＨｙをＴＭＲ素子に作用させるときには、Hard-Axis方向の磁界Ｈｘは、磁界Ｈｙを発生させる前の磁界Ｈｘよりも弱くなるように設定される。
【０１５９】
さらに、本例の書き込み原理では、Hard-Axis方向の磁界Ｈｘを消滅させた後においても、Easy-Axis方向の磁界ＨｙをＴＭＲ素子に作用させ続けるようにしている。しかも、Hard-Axis方向の磁界Ｈｘを消滅させた後のEasy-Axis方向の磁界Ｈｙは、磁界Ｈｘの消滅前の磁界Ｈｙよりも大きい。
【０１６０】
従って、Easy-Axis方向の磁界Ｈｙを消滅させた後に、未だ、ＴＭＲ素子の記憶層の端部の磁区の磁化方向がHard-Axis方向を向いたままである、という事態が発生することがなく、かつ、ＴＭＲ素子の記憶層の磁化反転に関しては、それを確実に行うことができ、書き込み特性を向上できる。
【０１６１】
(5)   実施例５
本例の書き込み原理では、Hard-Axis方向の磁界ＨｘとEasy-Axis方向の磁界Ｈｙとを同時に発生／消滅させると共に、Easy-Axis方向の磁界Ｈｙの強さを時間的に変化させる手法について提案する。
【０１６２】
本例の手法のポイントは、Hard-Axis方向の磁界Ｈｘの強さを常に一定とし、かつ、磁界Ｈｘ，Ｈｙの発生当初においては、Easy-Axis方向の磁界Ｈｙを小さな値に設定し、その後、Easy-Axis方向の磁界Ｈｙを大きな値に変化させる点にある。
【０１６３】
具体的には、まず、図１６に示すように、ＴＭＲ素子の記憶層の端部の磁区の磁化方向をHard-Axis方向に揃えるに十分な強さの磁界ＨｘをＴＭＲ素子に作用させると共に、書き込みデータに応じた向きを有するEasy-Axis方向の小さな磁界ＨｙをＴＭＲ素子に作用させる。この段階では、ＴＭＲ素子は、磁界Ｈｘによる影響を大きく受けるため、ＴＭＲ層の記憶層の端部の磁区の磁化方向は、Hard-Axis方向に揃う（▲１▼）。
【０１６４】
この後、図１７に示すように、Easy-Axis方向の磁界Ｈｙを十分に大きな値に変化させ、合成磁界Ｈｘ，Ｈｙにより、ＴＭＲ素子の記憶層の磁化方向を反転させる。このときの磁界Ｈｘの強さと磁界Ｈｙの強さは、同じであっても、又は、異なっていてもよい（▲２▼）。
【０１６５】
図１８は、実施例５の書き込み原理を実現するための磁気ランダムアクセスメモリの動作原理について簡単に示している。
【０１６６】
まず、書き込みワード線に、一定方向の向きの書き込み電流Ｉｐ１を流し、書き込みビット線に、書き込みデータに応じた向きの書き込み電流Ｉｐ２を流す。ここで、書き込み電流Ｉｐ２は、書き込み電流Ｉｐ１よりも十分に小さな値となっている。大きな値を有する書き込み電流Ｉｐ１により、Hard-Axis方向の磁界Ｈｘが発生し、ＴＭＲ層の記憶層の端部の磁区の磁化方向がHard-Axis方向に揃う（ステップＳＴ１）。
【０１６７】
この後、書き込みビット線に、十分に大きな値を有する書き込み電流Ｉｐ３（＞Ｉｐ２）を流すと、書き込み電流Ｉｐ１，Ｉｐ３により、合成磁界Ｈｘ＋Ｈｙが発生する。その結果、ＴＭＲ素子の記憶層の端部の磁区の磁化方向は、磁界Ｈｙにより、完全にEasy-Axis方向を向き、ＴＭＲ層の記憶層の磁化方向が反転する（ステップＳＴ２）。
【０１６８】
なお、書き込み電流Ｉｐ２から書き込み電流Ｉｐ３への変化（磁界Ｈｙの変化▲１▼→▲２▼）は、磁界の強さがアナログ的に変化するように行っても、又は、デジタル的に変化するように行ってもよい。
【０１６９】
この動作原理を実行するための回路方式、即ち、書き込み電流を書き込みワード線及び書き込みビット線に供給するタイミングや、書き込み電流の大きさ（波形）などを決定する回路については、後に詳述する。
【０１７０】
このように、本例の書き込み原理では、Easy-Axis方向の磁界Ｈｙを段階的に変化させているため、大きな磁界Ｈｙを発生させるために、急激に、書き込みビット線に大きな書き込み電流を流す必要がない。つまり、書き込みビット線に流れる書き込み電流（の大きさ）の急激な変化がないため、インダクタンス成分によるノイズを低減することができる。
【０１７１】
(6)   実施例６
本例の書き込み原理では、Hard-Axis方向の磁界ＨｘとEasy-Axis方向の磁界Ｈｙとを同時に発生／消滅させると共に、Hard-Axis方向の磁界Ｈｘの強さとEasy-Axis方向の磁界Ｈｙの強さを、共に、時間的に変化させる手法について提案する。
【０１７２】
本例の手法のポイントは、磁界Ｈｘ，Ｈｙの発生当初においては、Hard-Axis方向の磁界Ｈｘを大きな値とし、Easy-Axis方向の磁界Ｈｙを小さな値に設定すると共に、その後、Easy-Axis方向の磁界Ｈｙを大きな値に変化させ、さらに、その後、Hard-Axis方向の磁界Ｈｘを小さな値に変化させる点にある。
【０１７３】
具体的には、まず、図１９に示すように、ＴＭＲ素子の記憶層の端部の磁区の磁化方向をHard-Axis方向に揃えるに十分な強さの磁界ＨｘをＴＭＲ素子に作用させると共に、書き込みデータに応じた向きを有するEasy-Axis方向の小さな磁界ＨｙをＴＭＲ素子に作用させる。この段階では、ＴＭＲ素子は、磁界Ｈｘによる影響を大きく受けるため、ＴＭＲ層の記憶層の端部の磁区の磁化方向は、Hard-Axis方向に揃う（▲１▼）。
【０１７４】
次に、図２０に示すように、Easy-Axis方向の磁界Ｈｙを十分に大きな値に変化させ、合成磁界Ｈｘ，Ｈｙにより、ＴＭＲ素子の記憶層の磁化方向を反転させる。このときの磁界Ｈｘの強さと磁界Ｈｙの強さは、同じであっても、又は、異なっていてもよい（▲２▼）。
【０１７５】
この後、図２１に示すように、Hard-Axis方向の磁界Ｈｘを十分に小さな値に変化させ、合成磁界Ｈｘ，Ｈｙにより、ＴＭＲ層の記憶層の端部の磁区の磁化方向を完全にEasy-Axis方向に向ける（▲３▼）。
【０１７６】
図２２は、実施例６の書き込み原理を実現するための磁気ランダムアクセスメモリの動作原理について簡単に示している。
【０１７７】
まず、書き込みワード線に、一定方向の向きの書き込み電流Ｉｐ１を流し、書き込みビット線に、書き込みデータに応じた向きの書き込み電流Ｉｐ２を流す。ここで、書き込み電流Ｉｐ２は、書き込み電流Ｉｐ１よりも十分に小さな値となっている。大きな値を有する書き込み電流Ｉｐ１により、Hard-Axis方向の磁界Ｈｘが発生し、ＴＭＲ層の記憶層の端部の磁区の磁化方向がHard-Axis方向に揃う（ステップＳＴ１）。
【０１７８】
次に、書き込みビット線に、十分に大きな値を有する書き込み電流Ｉｐ３（＞Ｉｐ２）を流すと、書き込み電流Ｉｐ１，Ｉｐ３により、合成磁界Ｈｘ＋Ｈｙが発生する（ステップＳＴ２）。
【０１７９】
この後、書き込みワード線に、十分に小さな値を有する書き込み電流Ｉｐ４（＜Ｉｐ１）を流すと、書き込み電流Ｉｐ３，Ｉｐ４により、合成磁界Ｈｘ＋Ｈｙが発生する。その結果、ＴＭＲ素子の記憶層の端部の磁区の磁化方向は、磁界Ｈｙにより、完全にEasy-Axis方向を向き、ＴＭＲ層の記憶層の磁化方向が反転する（ステップＳＴ３）。
【０１８０】
なお、書き込み電流Ｉｐ２から書き込み電流Ｉｐ３への変化（磁界Ｈｙの変化▲１▼→▲２▼）は、磁界の強さがアナログ的に変化するように行っても、又は、デジタル的に変化するように行ってもよい。
【０１８１】
また、書き込み電流Ｉｐ１から書き込み電流Ｉｐ４への変化（磁界Ｈｘの変化▲２▼→▲３▼）についても、磁界の強さがアナログ的に変化するように行っても、又は、デジタル的に変化するように行ってもよい。
【０１８２】
この動作原理を実行するための回路方式、即ち、書き込み電流を書き込みワード線及び書き込みビット線に供給するタイミングや、書き込み電流の大きさ（波形）などを決定する回路については、後に詳述する。
【０１８３】
このように、本例の書き込み原理では、Hard-Axis方向の磁界Ｈｘを段階的に弱くし、Easy-Axis方向の磁界Ｈｙを段階的に強くしている。このため、大きな磁界Ｈｘ，Ｈｙを発生／消滅させるために、急激に、書き込みワード／ビット線に大きな書き込み電流を流したり、又は、それを遮断したりする必要がない。つまり、書き込みワード／ビット線に流れる書き込み電流（の大きさ）の急激な変化がないため、インダクタンス成分によるノイズを低減できる。
【０１８４】
(7)   実施例７
本例の書き込み原理では、Hard-Axis方向の磁界ＨｘとEasy-Axis方向の磁界Ｈｙとを同時に発生／消滅させると共に、Hard-Axis方向の磁界Ｈｘの強さとEasy-Axis方向の磁界Ｈｙの強さを、共に、時間的に変化させる手法について提案する。
【０１８５】
本例の手法のポイントは、磁界Ｈｘ，Ｈｙの発生当初においては、Hard-Axis方向の磁界Ｈｘを十分に大きな値とし、Easy-Axis方向の磁界Ｈｙを小さな値に設定し、その後、Hard-Axis方向の磁界Ｈｘを十分に大きな値から大きな値に変化させ、Easy-Axis方向の磁界Ｈｙを大きな値に変化させ、さらに、その後、Hard-Axis方向の磁界Ｈｘを小さな値に変化させる点にある。
【０１８６】
つまり、本例の書き込み原理では、Hard-Axis方向の磁界Ｈｘは、３段階で次第に弱くなっていき、Easy-Axis方向の磁界Ｈｙは、２段階で次第に強くなっていく。
【０１８７】
具体的には、まず、図２３に示すように、ＴＭＲ素子の記憶層の端部の磁区の磁化方向をHard-Axis方向に揃えるに十分な強さの磁界ＨｘをＴＭＲ素子に作用させると共に、書き込みデータに応じた向きを有するEasy-Axis方向の小さな磁界ＨｙをＴＭＲ素子に作用させる。この段階では、ＴＭＲ素子は、磁界Ｈｘによる影響を大きく受けるため、ＴＭＲ層の記憶層の端部の磁区の磁化方向は、Hard-Axis方向に揃う（▲１▼）。
【０１８８】
次に、図２４に示すように、Hard-Axis方向の磁界Ｈｘを十分に大きな値から大きな値に変化させる（磁界Ｈｘを少し弱くする）と共に、Easy-Axis方向の磁界Ｈｙを大きな値に変化させる。このときの磁界Ｈｘの強さと磁界Ｈｙの強さは、同じであっても、又は、異なっていてもよい（▲２▼）。
【０１８９】
この後、図２５に示すように、Hard-Axis方向の磁界Ｈｘを十分に小さな値に変化させる。そして、合成磁界Ｈｘ，Ｈｙにより、ＴＭＲ層の記憶層の端部の磁区の磁化方向を完全にEasy-Axis方向に向ける（▲３▼）。
【０１９０】
図２６は、実施例７の書き込み原理を実現するための磁気ランダムアクセスメモリの動作原理について簡単に示している。
【０１９１】
まず、書き込みワード線に、一定方向の向きの書き込み電流Ｉｐ１を流し、書き込みビット線に、書き込みデータに応じた向きの書き込み電流Ｉｐ２を流す。ここで、書き込み電流Ｉｐ２は、書き込み電流Ｉｐ１よりも十分に小さな値となっている。大きな値を有する書き込み電流Ｉｐ１により、Hard-Axis方向の磁界Ｈｘが発生し、ＴＭＲ層の記憶層の端部の磁区の磁化方向がHard-Axis方向に揃う（ステップＳＴ１）。
【０１９２】
次に、書き込みワード線に書き込み電流Ｉｐ３（＜Ｉｐ１）を流し、書き込みビット線に書き込み電流Ｉｐ４（＞Ｉｐ２）を流すと、書き込み電流Ｉｐ３，Ｉｐ４により、合成磁界Ｈｘ＋Ｈｙが発生する（ステップＳＴ２）。
【０１９３】
この後、書き込みワード線に、書き込み電流Ｉｐ５（＜Ｉｐ３）を流すと、書き込み電流Ｉｐ４，Ｉｐ５により、合成磁界Ｈｘ＋Ｈｙが発生する。その結果、ＴＭＲ素子の記憶層の端部の磁区の磁化方向は、磁界Ｈｙにより、Easy-Axis方向を向き、ＴＭＲ層の記憶層の磁化方向が反転する（ステップＳＴ３）。
【０１９４】
なお、書き込み電流Ｉｐ１から書き込み電流Ｉｐ３への変化及び書き込み電流Ｉｐ３から書き込み電流Ｉｐ５への変化（磁界Ｈｘの変化▲１▼→▲２▼→▲３▼）は、磁界の強さがアナログ的に変化するように行っても、又は、デジタル的に変化するように行ってもよい。
【０１９５】
また、書き込み電流Ｉｐ２から書き込み電流Ｉｐ４への変化（磁界Ｈｙの変化▲１▼→▲２▼）についても、磁界の強さがアナログ的に変化するように行っても、又は、デジタル的に変化するように行ってもよい。
【０１９６】
この動作原理を実行するための回路方式、即ち、書き込み電流を書き込みワード線及び書き込みビット線に供給するタイミングや、書き込み電流の大きさ（波形）などを決定する回路については、後に詳述する。
【０１９７】
このように、本例の書き込み原理では、Hard-Axis方向の磁界Ｈｘを、３段階で、次第に弱くし、Easy-Axis方向の磁界Ｈｙを、２段階で、次第に強くしている。このため、大きな磁界Ｈｘ，Ｈｙを発生／消滅させるために、急激に、書き込みワード／ビット線に大きな書き込み電流を流したり、又は、それを遮断したりする必要がない。つまり、書き込みワード／ビット線に流れる書き込み電流（の大きさ）の急激な変化がないため、インダクタンス成分によるノイズを低減できる。
【０１９８】
(8)   実施例８
本例の書き込み原理では、Hard-Axis方向の磁界ＨｘとEasy-Axis方向の磁界Ｈｙとを同時に発生／消滅させると共に、Hard-Axis方向の磁界Ｈｘの強さとEasy-Axis方向の磁界Ｈｙの強さを、共に、時間的に変化させる手法について提案する。
【０１９９】
本例の手法のポイントは、磁界Ｈｘ，Ｈｙの発生当初においては、Hard-Axis方向の磁界Ｈｘを十分に大きな値とし、Easy-Axis方向の磁界Ｈｙを小さな値に設定し、その後、Hard-Axis方向の磁界Ｈｘを十分に大きな値から大きな値に変化させ、Easy-Axis方向の磁界Ｈｙを大きな値に変化させ、さらに、その後、Hard-Axis方向の磁界Ｈｘを小さな値に変化させ、Easy-Axis方向の磁界Ｈｙを十分に大きな値に変化させる点にある。
【０２００】
つまり、本例の書き込み原理では、Hard-Axis方向の磁界Ｈｘについては、３段階で次第に弱くなっていき、Easy-Axis方向の磁界Ｈｙについては、３段階で次第に強くなっていく。
【０２０１】
具体的には、まず、図２７に示すように、ＴＭＲ素子の記憶層の端部の磁区の磁化方向をHard-Axis方向に揃えるに十分な強さの磁界ＨｘをＴＭＲ素子に作用させると共に、書き込みデータに応じた向きを有するEasy-Axis方向の小さな磁界ＨｙをＴＭＲ素子に作用させる。この段階では、ＴＭＲ素子は、磁界Ｈｘによる影響を大きく受けるため、ＴＭＲ層の記憶層の端部の磁区の磁化方向は、Hard-Axis方向に揃う（▲１▼）。
【０２０２】
次に、図２８に示すように、Hard-Axis方向の磁界Ｈｘを十分に大きな値から大きな値に変化させる（磁界Ｈｘを少し弱くする）と共に、Easy-Axis方向の磁界Ｈｙを大きな値に変化させる。このときの磁界Ｈｘの強さと磁界Ｈｙの強さは、同じであっても、又は、異なっていてもよい（▲２▼）。
【０２０３】
この後、図２９に示すように、Hard-Axis方向の磁界Ｈｘを十分に小さな値に変化させ、Easy-Axis方向の磁界Ｈｙを大きな値から十分に大きな値に変化させる（磁界Ｈｙをさらに強くする）。その結果、ＴＭＲ層の記憶層の端部の磁区の磁化方向は、合成磁界Ｈｘ，Ｈｙにより、Easy-Axis方向に向く（▲３▼）。
【０２０４】
図３０は、実施例８の書き込み原理を実現するための磁気ランダムアクセスメモリの動作原理について簡単に示している。
【０２０５】
まず、書き込みワード線に、一定方向の向きの書き込み電流Ｉｐ１を流し、書き込みビット線に、書き込みデータに応じた向きの書き込み電流Ｉｐ２を流す。ここで、書き込み電流Ｉｐ２は、書き込み電流Ｉｐ１よりも十分に小さな値となっている。大きな値を有する書き込み電流Ｉｐ１により、Hard-Axis方向の磁界Ｈｘが発生し、ＴＭＲ層の記憶層の端部の磁区の磁化方向がHard-Axis方向に揃う（ステップＳＴ１）。
【０２０６】
次に、書き込みワード線に書き込み電流Ｉｐ３（＜Ｉｐ１）を流し、書き込みビット線に書き込み電流Ｉｐ４（＞Ｉｐ２）を流すと、書き込み電流Ｉｐ３，Ｉｐ４により、合成磁界Ｈｘ＋Ｈｙが発生する（ステップＳＴ２）。
【０２０７】
この後、書き込みワード線に、書き込み電流Ｉｐ５（＜Ｉｐ３）を流し、書き込みビット線に、書き込み電流Ｉｐ６（＞Ｉｐ４）を流すと、書き込み電流Ｉｐ５，Ｉｐ６により、合成磁界Ｈｘ＋Ｈｙが発生する。その結果、ＴＭＲ素子の記憶層の端部の磁区の磁化方向は、磁界Ｈｙにより、Easy-Axis方向を向き、ＴＭＲ層の記憶層の磁化方向が反転する（ステップＳＴ３）。
【０２０８】
なお、書き込み電流Ｉｐ１から書き込み電流Ｉｐ３への変化及び書き込み電流Ｉｐ３から書き込み電流Ｉｐ５への変化（磁界Ｈｘの変化▲１▼→▲２▼→▲３▼）は、磁界の強さがアナログ的に変化するように行っても、又は、デジタル的に変化するように行ってもよい。
【０２０９】
また、書き込み電流Ｉｐ２から書き込み電流Ｉｐ４への変化及び書き込み電流Ｉｐ４から書き込み電流Ｉｐ６への変化（磁界Ｈｙの変化▲１▼→▲２▼→▲３▼）についても、磁界の強さがアナログ的に変化するように行っても、又は、デジタル的に変化するように行ってもよい。
【０２１０】
この動作原理を実行するための回路方式、即ち、書き込み電流を書き込みワード線及び書き込みビット線に供給するタイミングや、書き込み電流の大きさ（波形）などを決定する回路については、後に詳述する。
【０２１１】
このように、本例の書き込み原理では、Hard-Axis方向の磁界Ｈｘを、３段階で、次第に弱くし、Easy-Axis方向の磁界Ｈｙを、３段階で、次第に強くしている。このため、磁界Ｈｘ，Ｈｙを発生／消滅させるために、急激に、書き込みワード／ビット線に大きな書き込み電流を流したり、又は、それを遮断したりする必要がない。つまり、書き込みワード／ビット線に流れる書き込み電流（の大きさ）の急激な変化がないため、インダクタンス成分によるノイズを低減できる。
【０２１２】
(9)   実施例９
本例の書き込み原理では、合成磁界Ｈｘ＋Ｈｙの向き及び強さを、それぞれアナログ的に変化させる手法について提案する。
【０２１３】
本例の手法のポイントは、Hard-Axis方向の磁界Ｈｘを、十分に大きな値からアナログ的に次第に小さくしていく点、及び、Easy-Axis方向の磁界Ｈｙを、十分に大きな値までアナログ的に次第に大きくしていく点にある。
【０２１４】
つまり、本例の書き込み原理では、合成磁界Ｈｘ＋Ｈｙの向き及び強さは、アナログ的に変化する。
【０２１５】
具体的には、図３１及び図３２に示すように、まず、ＴＭＲ素子の記憶層の端部の磁区の磁化方向をHard-Axis方向に揃えるに十分な強さの磁界ＨｘをＴＭＲ素子に作用させる。そして、磁界Ｈｘの強さを一定に保ちつつ、書き込みデータに応じた向きを有するEasy-Axis方向の磁界ＨｙをＴＭＲ素子に作用させる。磁界Ｈｙは、磁界Ｈｘが一定の間（時刻ｔまで）、アナログ的に次第に大きくなっていく（▲１▼）。
【０２１６】
時刻ｔで、合成磁界Ｈｘ＋Ｈｙの強さは、最大となり、その値は、アステロイド曲線の外に存在することになるため、ＴＭＲ素子の記憶層の磁化が反転される状態となる。
【０２１７】
この後、図３１及び図３２に示すように、磁界Ｈｙの強さを一定に保ちつつ、磁界Ｈｘをアナログ的に次第に小さくしていく（▲２▼）。
【０２１８】
このような合成磁界Ｈｘ＋Ｈｙのアナログ的変化により、データ書き込みが実行される。
【０２１９】
図３３は、実施例９の書き込み原理を実現するための磁気ランダムアクセスメモリの動作原理について簡単に示している。
【０２２０】
まず、書き込みワード線に、一定方向の向きの書き込み電流Ｉｐ１を流し、書き込みビット線に、書き込みデータに応じた向きの書き込み電流Ｉｐ２を流す。ここで、書き込み電流Ｉｐ１の値は、一定を維持しており、かつ、書き込み電流Ｉｐ２の値は、アナログ的に次第に大きくなる（ステップＳＴ１）。
【０２２１】
次に、書き込み電流Ｉｐ２の値を一定にし、かつ、書き込み電流Ｉｐ１の値を、アナログ的に次第に小さくする（ステップＳＴ２）。
【０２２２】
これにより、合成磁界Ｈｘ＋Ｈｙの向き及び強さは、アナログ的に変化することになるため、書き込みを確実に行うことができる。
【０２２３】
なお、この動作原理を実行するための回路方式、即ち、書き込み電流を書き込みワード線及び書き込みビット線に供給するタイミングや、書き込み電流の大きさ（波形）などを決定する回路については、後に詳述する。
【０２２４】
(10)  実施例１０
本例の書き込み原理では、実施例９と同様に、合成磁界Ｈｘ＋Ｈｙの向き及び強さを、それぞれアナログ的に変化させる手法について提案する。
【０２２５】
本例の手法のポイントは、Hard-Axis方向の磁界Ｈｘ及びEasy-Axis方向の磁界Ｈｙを、合成磁界Ｈｘ＋Ｈｙの大きさが実質的に一定となるような条件の下で変化させ、合成磁界Ｈｘ＋Ｈｙの向きをアナログ的に変化させるようにした点にある。
【０２２６】
具体的には、図３４及び図３５に示すように、まず、ＴＭＲ素子の記憶層の端部の磁区の磁化方向をHard-Axis方向に揃えるに十分な強さの磁界ＨｘをＴＭＲ素子に作用させる。そして、磁界Ｈｘの強さを、アナログ的に次第に小さくしていくと共に、書き込みデータに応じた向きを有するEasy-Axis方向の磁界Ｈｙを、アナログ的に次第に大きくする（▲１▼）。
【０２２７】
この後、図３４及び図３５に示すように、さらに、磁界Ｈｘの強さを、アナログ的に次第に小さくしていくと共に、Easy-Axis方向の磁界Ｈｙを、アナログ的に次第に大きくする（▲２▼）。
【０２２８】
このような合成磁界Ｈｘ＋Ｈｙのアナログ的変化により、データ書き込みが実行される。
【０２２９】
図３６は、実施例１０の書き込み原理を実現するための磁気ランダムアクセスメモリの動作原理について簡単に示している。
【０２３０】
まず、書き込みワード線に、一定方向の向きの書き込み電流Ｉｐ１を流し、書き込みビット線に、書き込みデータに応じた向きの書き込み電流Ｉｐ２を流す。ここで、書き込み電流Ｉｐ１の値は、アナログ的に次第に小さくし、かつ、書き込み電流Ｉｐ２の値は、アナログ的に次第に大きくする（ステップＳＴ１）。
【０２３１】
ここで、書き込み動作中、例えば、合成磁界Ｈｘ＋Ｈｙの強さが、常に、実質的に一定となるように、書き込み電流Ｉｐ１，Ｉｐ２の値を変化させることも可能である。例えば、書き込み電流Ｉｐ１（磁界Ｈｘ）の値は、時間ｔに対して、α・ｃｏｓ  ｔ  で変化するように設定し、書き込み電流Ｉｐ２（磁界Ｈｙ）の値は、時間ｔに対して、β・ｓｉｎ  ｔ  で変化するように設定してもよい（α及びβは、定数）。
【０２３２】
これにより、合成磁界Ｈｘ＋Ｈｙの向きは、アナログ的に変化することになるため、書き込みを確実に行うことができる。
【０２３３】
なお、この動作原理を実行するための回路方式、即ち、書き込み電流を書き込みワード線及び書き込みビット線に供給するタイミングや、書き込み電流の大きさ（波形）などを決定する回路については、後に詳述する。
【０２３４】
(11)  その他
実施例１〜１０で説明した書き込み原理は、磁気ランダムアクセスメモリ（チップ又はブロック）内のハードウェアにより実現される。書き込み原理は、磁気ランダムアクセスメモリごとに特定されていてもよいし、また、プログラミングにより、書き込み原理や、書き込み電流の供給／遮断タイミング・大きさなどを設定できるようにしてもよい。
【０２３５】
プログラミングにより書き込み原理などを設定する場合には、例えば、プログラミング素子として、レーザ溶断型ヒューズ、ＴＭＲ素子（MTJ）や、ＴＭＲ素子のトンネルバリアを破壊するアンチヒューズなどを使用することができる。なお、磁気ランダムアクセスメモリのテストモードにおいて、本発明の書き込み原理をテストするための機能を設けてもよい。
【０２３６】
書き込み電流は、書き込みワード／ビット線の一端に接続されるドライバから供給され、その他端に接続されるシンカーに吸収される。ここで、書き込み電流の遮断に際して、ドライバの機能を停止させた後、一定期間後に、シンカーの機能を停止させれば、書き込みワード／ビット線の電位を完全に０Ｖにすることができる。
【０２３７】
これらプログラミング、テストモード、及び、ドライバ／シンカーの動作停止時期に関しては、次の回路方式の項目において詳述する。
【０２３８】
２．  回路方式
以下では、上述の実施例１〜１０に関わる書き込み原理を実現するための磁気ランダムアクセスメモリの回路方式の例について説明する。
【０２３９】
(1)   チップ毎又はセルアレイ毎に設定する場合
まず、磁気ランダムアクセスメモリのチップ毎又はメモリセルアレイ毎に、書き込み原理や、書き込み電流の供給／遮断タイミング・大きさなどを設定するための回路について説明する。
【０２４０】
▲１▼  回路例１
回路例１は、書き込みワード／ビット線に対する書き込み電流の電流供給／遮断タイミングをプログラミングにより設定できる機能を設けた磁気ランダムアクセスメモリに関する。
【０２４１】
i.  全体構成
図３７は、回路例１に関わる磁気ランダムアクセスメモリの主要部の構成を示している。
【０２４２】
磁気ランダムアクセスメモリ（ＭＲＡＭ）１１は、それ自体で１つのメモリチップを構成していてもよいし、また、特定機能を有するチップ内の１つのブロックであってもよい。メモリセルアレイ（データセル）１２は、実際に、データを記憶する機能を有し、レファレンスセルアレイ１３は、読み出し動作時に、読み出しデータの値を判定するための基準を決める機能を有する。
【０２４３】
メモリセルアレイ１２及びレファレンスセルアレイ１３からなるセルアレイのＸ方向の２つの端部のうちの１つには、ロウデコーダ＆ドライバ（ロウデコーダ＆書き込みワード線ドライバ，ロウデコーダ＆読み出しワード線ドライバ）１４が配置され、他の１つには、書き込みワード線シンカー１５が配置される。
【０２４４】
ロウデコーダ＆ドライバ１４は、書き込み動作時、例えば、ロウアドレス信号に基づいて、複数の書き込みワード線のうちの１つを選択し、かつ、選択された１つの書き込みワード線に、書き込み電流を供給する機能を有する。書き込みワード線シンカー１５は、書き込み動作時、例えば、選択された１つの書き込みワード線に供給された書き込み電流を吸収する機能を有する。
【０２４５】
ロウデコーダ＆ドライバ１４は、読み出し動作時、例えば、ロウアドレス信号に基づいて、複数の読み出しワード線（書き込みワード線と一体化されていてもよい）のうちの１つを選択し、かつ、選択された１つの読み出しワード線に、読み出し電流を流す機能を有する。センスアンプ２０は、例えば、この読み出し電流を検出して、読み出しデータを判定する。
【０２４６】
メモリセルアレイ１２のＹ方向の２つの端部のうちの１つには、カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａが配置され、他の１つには、カラムデコーダ＆書き込みビット線ドライバ／シンカー（カラムトランスファゲート、カラムデコーダを含む）１７Ａが配置される。
【０２４７】
カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａ，１７Ａは、書き込み動作時、例えば、カラムアドレス信号に基づいて、複数の書き込みビット線（又はデータ選択線）のうちの１つを選択し、かつ、選択された１つの書き込みビット線に、書き込みデータに応じた向きを有する書き込み電流を流す機能を有する。カラムトランスファゲート及びカラムデコーダは、読み出し動作時、カラムアドレス信号により選択されたデータ選択線をセンスアンプ２０に電気的に接続する機能を有する。
【０２４８】
レファレンスセルアレイ１３のＹ方向の２つの端部のうちの１つには、レファレンスセル用カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ｂが配置され、他の１つには、レファレンスセル用カラムデコーダ＆書き込みビット線ドライバ／シンカー（カラムトランスファゲート、カラムデコーダを含む）１７Ｂが配置される。
【０２４９】
レファレンスセル用カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ｂ，１７Ｂは、レファレンスセルアレイ１３にレファレンスデータを記憶させる機能を有する。カラムトランスファゲート及びカラムデコーダは、読み出し動作時、レファレンスデータを読み出し、これをセンスアンプ２０に転送する機能を有する。
【０２５０】
アドレスレシーバ１８は、アドレス信号を受け、例えば、ロウアドレス信号を、ロウデコーダ＆ドライバ１４に転送し、カラムアドレス信号を、カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａ，１７Ａに転送する。データ入力レシーバ１９は、書き込みデータを、カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａ，１７Ａに転送する。また、出力ドライバ２１は、センスアンプ２０で検出された読み出しデータを、磁気ランダムアクセスメモリ１１の外部へ出力する。
【０２５１】
制御回路２２は、／ＣＥ（Chip Enable）信号、／ＷＥ（Write Enable）信号及び／ＯＥ（Output Enable）信号を受け、磁気ランダムアクセスメモリ１１の動作を制御する。例えば、制御回路２２は、書き込み動作時、書き込み信号ＷＲＩＴＥを、書き込み電流波形制御回路２４に与える。書き込み電流波形制御回路２４は、書き込み信号ＷＲＩＴＥを受けると、例えば、設定回路２３に予めプログラムされた設定データに基づいて、書き込み電流の供給／遮断タイミング、大きさ（電流波形）などを決定する。
【０２５２】
具体的には、書き込み電流波形制御回路２４は、書き込み動作時、ロウデコーダ＆ドライバ１４に、書き込みワード線ドライブ信号ＷＷＬＤＲＶを与え、書き込みワード線シンカー１５に、書き込みワード線シンク信号ＷＷＬＳＮＫを与え、カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａ，１７Ａに、書き込みビット線ドライブ信号ＷＢＬＤＲＶ及び書き込みビット線シンク信号ＷＢＬＳＮＫを与える。
【０２５３】
書き込み動作時、例えば、ロウデコーダ＆ドライバ１４については、書き込みワード線ドライブ信号ＷＷＬＤＲＶが“Ｈ”のときに動作状態となり、同様に、書き込みワード線シンカー１５及びカラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａ，１７Ａについては、それぞれ、書き込みワード線シンク信号ＷＷＬＳＮＫ、書き込みビット線ドライブ信号ＷＢＬＤＲＶ及び書き込みビット線シンク信号ＷＢＬＳＮＫが“Ｈ”のときに動作状態となるようにする。
【０２５４】
このようにすれば、書き込みワード線ドライブ信号ＷＷＬＤＲＶ、書き込みワード線シンク信号ＷＷＬＳＮＫ、書き込みビット線ドライブ信号ＷＢＬＤＲＶ及び書き込みビット線シンク信号ＷＢＬＳＮＫが“Ｈ”になるタイミングを、書き込み電流波形制御回路２４で制御することにより、書き込み電流の供給／遮断タイミング（磁界Ｈｘ，Ｈｙの印加タイミング）を決定し、実施例１〜１０の書き込み原理を実現することができる。
【０２５５】
書き込み電流の電流吸収タイミングに関しては、例えば、シンク信号ＷＷＬＳＮＫ，ＷＢＬＳＮＫが“Ｈ”から“Ｌ”になるタイミングを、ドライブ信号ＷＷＬＤＲＶ，ＷＢＬＤＲＶが“Ｈ”から“Ｌ”になるタイミングよりも遅らせることにより、書き込みワード／ビット線の電位を完全に０Ｖにする、といったことも可能にできる。
【０２５６】
これらの信号ＷＷＬＤＲＶ，ＷＷＬＳＮＫ，ＷＢＬＤＲＶ，ＷＢＬＳＮＫが“Ｈ”になるタイミングは、設定回路２３に予めプログラムされた設定データに基づいて決定される。プログラミング素子としては、例えば、レーザ溶断型ヒューズ、ＴＭＲ素子（MTJ）や、ＴＭＲ素子のトンネルバリアを破壊するアンチヒューズなどを使用することができる。
【０２５７】
磁気ランダムアクセスメモリのテストモードにおいては、例えば、データ入出力端子から入力される設定データに基づいて、書き込み電流の供給／遮断タイミング、大きさ（電流波形）などを決定することもできる。設定データは、アドレス端子から入力させるようにしてもよい。
【０２５８】
なお、磁気ランダムアクセスメモリの回路例１に関しては、主として、設定回路２３及び書き込み電流波形制御回路２４に特徴を有する。
【０２５９】
そこで、以下では、設定回路２３、書き込み電流波形制御回路２４、及び、書き込み電流波形制御回路２４の出力信号を受けるドライバ／シンカー１４，１５１６Ａ，１７Ａの回路例について説明する。
【０２６０】
ii.  ロウデコーダ＆書き込みワード線ドライバ／シンカー
図３８は、ロウデコーダ＆書き込みワード線ドライバ／シンカーの回路例を示している。
【０２６１】
ロウデコーダ＆書き込みワード線ドライバ（１ロウ分）１４は、ＮＡＮＤゲート回路ＴＮＤ１及びＰチャネルＭＯＳトランジスタＴＰ１から構成される。ＰチャネルＭＯＳトランジスタＴＰ１のゲートは、ＮＡＮＤゲート回路ＴＮＤ１の出力端子に接続され、そのソースは、電源端子ＶＤＤに接続され、そのドレインは、書き込みワード線ＷＷＬｉ（ｉ＝１，・・・）の一端に接続される。
【０２６２】
書き込みワード線シンカー（１ロウ分）１５は、ＮチャネルＭＯＳトランジスタＴＮ１から構成される。ＮチャネルＭＯＳトランジスタＴＮ１のソースは、接地端子ＶＳＳに接続され、そのドレインは、書き込みワード線ＷＷＬｉ（ｉ＝１，・・・）の他端に接続される。
【０２６３】
ＮＡＮＤゲート回路ＴＮＤ１には、複数ビットから構成されるロウアドレス信号（ロウｉ毎に異なる）及び書き込みワード線ドライブ信号ＷＷＬＤＲＶが入力され、ＮチャネルＭＯＳトランジスタＴＮ１のゲートには、書き込みワード線シンク信号ＷＷＬＳＮＫが入力される。
【０２６４】
選択されたロウｉでは、ロウアドレス信号の全てのビットが“Ｈ”となる。このため、選択されたロウｉでは、書き込みワード線ドライブ信号ＷＷＬＤＲＶが“Ｈ”となったときに、ＰチャネルＭＯＳトランジスタＴＰ１がオン状態となる。また、書き込みワード線シンク信号ＷＷＬＳＮＫが“Ｈ”となると、ＮチャネルＭＯＳトランジスタＴＮ１がオン状態となる。
【０２６５】
ＰチャネルＭＯＳトランジスタＴＰ１とＮチャネルＭＯＳトランジスタＴＮ１が共にオン状態となると、書き込み電流は、ロウデコーダ＆書き込みワード線ドライバ１４から、書き込みワード線ＷＷＬｉを経由して、書き込みワード線シンカー１５に向かって流れる。
【０２６６】
このようなロウデコーダ＆書き込みワード線ドライバ／シンカーによれば、書き込みワード線ドライブ信号ＷＷＬＤＲＶ及び書き込みワード線シンク信号ＷＷＬＳＮＫが“Ｈ”又は“Ｌ”になるタイミングを制御することにより、選択されたロウｉ内の書き込みワード線ＷＷＬｉに書き込み電流を流すタイミング及びその書き込みワード線ＷＷＬｉに流れる書き込み電流を遮断するタイミングを制御することができる。
【０２６７】
また、書き込みワード線ドライブ信号ＷＷＬＤＲＶを“Ｌ”に設定した後、書き込みワード線シンク信号ＷＷＬＳＮＫを“Ｌ”に設定すれば、書き込み動作後の書き込みワード線ＷＷＬｉの電位を完全に０Ｖにすることができる。
【０２６８】
iii.  カラムデコーダ＆書き込みビット線ドライバ／シンカー
図３９は、カラムデコーダ＆書き込みビット線ドライバ／シンカーの回路例を示している。
【０２６９】
カラムデコーダ＆書き込みビット線ドライバ／シンカー（１カラム分）１６Ａは、ＮＡＮＤゲート回路ＱＮＤ１、ＡＮＤゲート回路ＱＡＤ１、ＰチャネルＭＯＳトランジスタＱＰ１及びＮチャネルＭＯＳトランジスタＱＮ１から構成される。
【０２７０】
ＰチャネルＭＯＳトランジスタＱＰ１のゲートは、ＮＡＮＤゲート回路ＱＮＤ１の出力端子に接続され、そのソースは、電源端子ＶＤＤに接続され、そのドレインは、書き込みビット線ＷＢＬｉ（ｉ＝１，・・・）の一端に接続される。ＮチャネルＭＯＳトランジスタＱＮ１のゲートは、ＡＮＤゲート回路ＱＡＤ１の出力端子に接続され、そのソースは、接地端子ＶＳＳに接続され、そのドレインは、書き込みビット線ＷＢＬｉの一端に接続される。
【０２７１】
カラムデコーダ＆書き込みビット線ドライバ／シンカー（１カラム分）１７Ａは、ＮＡＮＤゲート回路ＱＮＤ２、ＡＮＤゲート回路ＱＡＤ２、ＰチャネルＭＯＳトランジスタＱＰ２及びＮチャネルＭＯＳトランジスタＱＮ２から構成される。
【０２７２】
ＰチャネルＭＯＳトランジスタＱＰ２のゲートは、ＮＡＮＤゲート回路ＱＮＤ２の出力端子に接続され、そのソースは、電源端子ＶＤＤに接続され、そのドレインは、書き込みビット線ＷＢＬｉ（ｉ＝１，・・・）の他端に接続される。ＮチャネルＭＯＳトランジスタＱＮ２のゲートは、ＡＮＤゲート回路ＱＡＤ２の出力端子に接続され、そのソースは、接地端子ＶＳＳに接続され、そのドレインは、書き込みビット線ＷＢＬｉの他端に接続される。
【０２７３】
ＮＡＮＤゲート回路ＱＮＤ１，ＱＮＤ２には、複数ビットから構成されるカラムアドレス信号（カラムｉ毎に異なる）及び書き込みビット線ドライブ信号ＷＢＬＤＲＶが入力される。ＡＮＤゲート回路ＱＡＤ１，ＱＡＤ２には、複数ビットから構成されるカラムアドレス信号（カラムｉ毎に異なる）及び書き込みビット線シンク信号ＷＢＬＳＮＫが入力される。
【０２７４】
また、ＮＡＮＤゲート回路ＱＮＤ１及びＡＮＤゲート回路ＱＡＤ２には、書き込みデータＤＡＴＡ（“Ｈ”又は“Ｌ”）が入力され、ＮＡＮＤゲート回路ＱＮＤ２及びＡＮＤゲート回路ＱＡＤ１には、書き込みデータＤＡＴＡの反転信号ｂＤＡＴＡが入力される。
【０２７５】
選択されたカラムｉでは、カラムアドレス信号の全てのビットが“Ｈ”となる。このため、選択されたカラムｉでは、書き込みビット線ドライブ信号ＷＢＬＤＲＶ及び書き込みビット線シンク信号ＷＢＬＳＮＫが“Ｈ”になったとき、書き込みデータＤＡＴＡの値に応じた向きを有する書き込み電流が、書き込みビット線ＷＢＬｉに流れる。
【０２７６】
例えば、書き込みデータＤＡＴＡが“１”（＝“Ｈ”）のときには、ＰチャネルＭＯＳトランジスタＱＰ１及びＮチャネルＭＯＳトランジスタＱＮ２がオン状態となるため、カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａからカラムデコーダ＆書き込みビット線ドライバ／シンカー１７Ａに向かう書き込み電流が流れる。
【０２７７】
また、書き込みデータＤＡＴＡが“０”（＝“Ｌ”）のときには、ＰチャネルＭＯＳトランジスタＱＰ２及びＮチャネルＭＯＳトランジスタＱＮ１がオン状態となるため、カラムデコーダ＆書き込みビット線ドライバ／シンカー１７Ａからカラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａに向かう書き込み電流が流れる。
【０２７８】
このようなカラムデコーダ＆書き込みビット線ドライバ／シンカーによれば、書き込みビット線ドライブ信号ＷＢＬＤＲＶ及び書き込みビット線シンク信号ＷＢＬＳＮＫが“Ｈ”又は“Ｌ”になるタイミングを制御することにより、選択されたカラムｉ内の書き込みビット線ＷＢＬｉに書き込み電流を流すタイミング及びその書き込みビット線ＷＢＬｉに流れる書き込み電流を遮断するタイミングを制御することができる。
【０２７９】
また、書き込みビット線ドライブ信号ＷＢＬＤＲＶを“Ｌ”に設定した後、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｌ”に設定すれば、書き込み動作後の書き込みビット線ＷＢＬｉの電位を完全に０Ｖにすることができる。
【０２８０】
iv.  書き込み電流波形制御回路
次に、書き込みワード線ドライブ信号ＷＷＬＤＲＶ、書き込みワード線シンク信号ＷＷＬＳＮＫ、書き込みビット線ドライブ信号ＷＢＬＤＲＶ及び書き込みビット線シンク信号ＷＢＬＳＮＫを生成する書き込み電流波形制御回路の例について説明する。
【０２８１】
図４０は、書き込み電流波形制御回路の例を示している。
書き込み電流波形制御回路２４は、書き込みワード線ドライバ／シンカー・トリガ回路２５及び書き込みビット線ドライバ／シンカー・トリガ回路２６から構成される。
【０２８２】
書き込みワード線ドライバ／シンカー・トリガ回路２５は、書き込み信号ＷＲＩＴＥ及びタイミング制御信号ＷＳ＜０＞〜ＷＳ＜３＞，ｂＷＳ＜０＞〜ｂＷＳ＜３＞に基づいて、書き込みワード線ドライブ信号ＷＷＬＤＲＶ及び書き込みワード線シンク信号ＷＷＬＳＮＫを生成する。
【０２８３】
書き込みビット線ドライバ／シンカー・トリガ回路２６は、書き込み信号ＷＲＩＴＥ及びタイミング制御信号ＢＳ＜０＞〜ＢＳ＜３＞，ｂＢＳ＜０＞〜ｂＢＳ＜３＞に基づいて、書き込みビット線ドライブ信号ＷＢＬＤＲＶ及び書き込みビット線シンク信号ＷＢＬＳＮＫを生成する。
【０２８４】
書き込み信号ＷＲＩＴＥは、書き込み動作時に“Ｈ”となる信号である。
【０２８５】
書き込みワード線ＷＷＬｉに対する書き込み電流の供給／遮断のタイミング、即ち、書き込みワード線ドライブ信号ＷＷＬＤＲＶ及び書き込みワード線シンク信号ＷＷＬＳＮＫを“Ｈ”又は“Ｌ”にするタイミングは、タイミング制御信号ＷＳ＜０＞〜ＷＳ＜３＞，ｂＷＳ＜０＞〜ｂＷＳ＜３＞により決定される。
【０２８６】
書き込みビット線ＷＢＬｉに対する書き込み電流の供給／遮断のタイミング、即ち、書き込みビット線ドライブ信号ＷＢＬＤＲＶ及び書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｈ”又は“Ｌ”にするタイミングは、タイミング制御信号ＢＳ＜０＞〜ＢＳ＜３＞，ｂＢＳ＜０＞〜ｂＢＳ＜３＞により決定される。
【０２８７】
タイミング制御信号ＷＳ＜０＞〜ＷＳ＜３＞，ｂＷＳ＜０＞〜ｂＷＳ＜３＞，ＢＳ＜０＞〜ＢＳ＜３＞，ｂＢＳ＜０＞〜ｂＢＳ＜３＞は、後述する設定回路により生成される。
【０２８８】
v.  書き込みワード線ドライバ／シンカー・トリガ回路
図４１は、書き込みワード線ドライバ／シンカー・トリガ回路の例を示している。
【０２８９】
書き込みワード線ドライバ／シンカー・トリガ回路２５は、書き込み電流の電流供給／遮断タイミングを決定する電流供給／遮断タイミング決定回路２５Ｘと、書き込み電流の電流吸収タイミングを決定する電流吸収タイミング決定回路２５Ｙとから構成される。
【０２９０】
電流供給／遮断タイミング決定回路２５Ｘは、書き込み信号ＷＲＩＴＥが“Ｈ”になった後、書き込みワード線ドライブ信号ＷＷＬＤＲＶを“Ｈ”にするタイミングを決定し、かつ、書き込み信号ＷＲＩＴＥが“Ｌ”になった後、書き込みワード線ドライブ信号ＷＷＬＤＲＶを“Ｌ”にするタイミングを決定する。
【０２９１】
電流供給／遮断タイミング決定回路２５Ｘは、複数（本例では、４つ）の遅延回路ＤＷＳ＜０＞〜ＤＷＳ＜３＞、トランスファゲートＴＧＷＳ＜０＞〜ＴＧＷＳ＜３＞及びインバータＩ１，Ｉ２から構成される。
【０２９２】
遅延回路ＤＷＳ＜０＞〜ＤＷＳ＜３＞は、それぞれ、入力信号（書き込み信号ＷＲＩＴＥ）に対して異なる遅延量を有する。遅延回路ＤＷＳ＜０＞〜ＤＷＳ＜３＞の遅延量は、それぞれ、一定の差で又は規則的に異なっていてもよいし、また、ランダムに異なっていてもよい。
【０２９３】
トランスファゲートＴＧＷＳ＜０＞〜ＴＧＷＳ＜３＞は、複数の遅延回路ＤＷＳ＜０＞〜ＤＷＳ＜３＞のうちの１つを選択するために、電流供給／遮断タイミング決定回路２５Ｘ内に設けられる。即ち、書き込み動作時には、タイミング制御信号の複数の相補信号ペアＷＳ＜ｊ＞，ｂＷＳ＜ｊ＞（ｊ＝０，１，２，３）のうちの１ペアが選択される。
【０２９４】
選択された相補信号ペアは、ＷＳ＜ｊ＞＝“Ｈ”、ｂＷＳ＜ｊ＞＝“Ｌ”となり、他の相補信号ペアは、ＷＳ＜ｊ＞＝“Ｌ”、ｂＷＳ＜ｊ＞＝“Ｈ”となるため、書き込み信号ＷＲＩＴＥは、選択された１つの遅延回路ＤＷＳ＜ｊ＞のみを経由して、書き込みワード線ドライブ信号ＷＷＬＤＲＶとして、書き込みワード線ドライバ／シンカー・トリガ回路２５から出力される。
【０２９５】
このように、書き込み信号ＷＲＩＴＥが“Ｈ”又は“Ｌ”になるタイミングを、遅延回路ＤＷＳ＜０＞〜ＤＷＳ＜３＞のうちの１つにより一定期間だけ遅らせることで、書き込みワード線ドライブ信号ＷＷＬＤＲＶを“Ｈ”又は“Ｌ”にするタイミング、即ち、書き込み電流の電流供給／遮断タイミングを制御することができる。
【０２９６】
なお、本例では、遅延回路ＤＷＳ＜０＞〜ＤＷＳ＜３＞は、４つであるが、当然に、その数を多くすればするほど、選択できる遅延量の数が多くなり、書き込み電流の電流供給／遮断タイミングを細かく制御できる。但し、この場合、遅延回路を選択するためのタイミング制御信号の数も増える。
【０２９７】
電流吸収タイミング決定回路２５Ｙは、ＮＡＮＤゲート回路ＮＤ１及び遅延回路２７から構成される。
【０２９８】
電流吸収タイミング決定回路２５Ｙは、書き込みワード線ドライブ信号ＷＷＬＤＲＶが“Ｈ”になるとほぼ同時に、書き込みワード線シンク信号ＷＷＬＳＮＫを“Ｈ”にし、書き込みワード線ドライブ信号ＷＷＬＤＲＶが“Ｌ”になった後、遅延回路２７により決まる遅延時間後に、書き込みワード線シンク信号ＷＷＬＳＮＫを“Ｌ”にする。
【０２９９】
このように、書き込みワード線ドライブ信号ＷＷＬＤＲＶを“Ｌ”にした後、一定のインターバルを経た後に、書き込みワード線シンク信号ＷＷＬＳＮＫを“Ｌ”にすることにより、書き込み動作後に、書き込みワード線ＷＷＬｉを完全に０Ｖにすることができる。
【０３００】
vi.  書き込みビット線ドライバ／シンカー・トリガ回路
図４２は、書き込みビット線ドライバ／シンカー・トリガ回路の例を示している。
【０３０１】
書き込みビット線ドライバ／シンカー・トリガ回路２６は、書き込み電流の電流供給／遮断タイミングを決定する電流供給／遮断タイミング決定回路２６Ｘと、書き込み電流の電流吸収タイミングを決定する電流吸収タイミング決定回路２６Ｙとから構成される。
【０３０２】
電流供給／遮断タイミング決定回路２６Ｘは、書き込み信号ＷＲＩＴＥが“Ｈ”になった後、書き込みビット線ドライブ信号ＷＢＬＤＲＶを“Ｈ”にするタイミングを決定し、かつ、書き込み信号ＷＲＩＴＥが“Ｌ”になった後、書き込みビット線ドライブ信号ＷＢＬＤＲＶを“Ｌ”にするタイミングを決定する。
【０３０３】
電流供給／遮断タイミング決定回路２６Ｘは、複数（本例では、４つ）の遅延回路ＤＢＳ＜０＞〜ＤＢＳ＜３＞、トランスファゲートＴＧＢＳ＜０＞〜ＴＧＢＳ＜３＞及びインバータＩ３，Ｉ４から構成される。
【０３０４】
遅延回路ＤＢＳ＜０＞〜ＤＢＳ＜３＞は、それぞれ、入力信号（書き込み信号ＷＲＩＴＥ）に対して異なる遅延量を有する。遅延回路ＤＢＳ＜０＞〜ＤＢＳ＜３＞の遅延量は、それぞれ、一定の差で又は規則的に異なっていてもよいし、また、ランダムに異なっていてもよい。
【０３０５】
トランスファゲートＴＧＢＳ＜０＞〜ＴＧＢＳ＜３＞は、複数の遅延回路ＤＢＳ＜０＞〜ＤＢＳ＜３＞のうちの１つを選択するために、電流供給／遮断タイミング決定回路２６Ｘ内に設けられる。即ち、書き込み動作時には、タイミング制御信号の複数の相補信号ペアＢＳ＜ｊ＞，ｂＢＳ＜ｊ＞（ｊ＝０，１，２，３）のうちの１ペアが選択される。
【０３０６】
選択された相補信号ペアは、ＢＳ＜ｊ＞＝“Ｈ”、ｂＢＳ＜ｊ＞＝“Ｌ”となり、他の相補信号ペアは、ＢＳ＜ｊ＞＝“Ｌ”、ｂＢＳ＜ｊ＞＝“Ｈ”となるため、書き込み信号ＷＲＩＴＥは、選択された１つの遅延回路ＤＢＳ＜ｊ＞のみを経由して、書き込みビット線ドライブ信号ＷＢＬＤＲＶとして、書き込みビット線ドライバ／シンカー・トリガ回路２６から出力される。
【０３０７】
このように、書き込み信号ＷＲＩＴＥが“Ｈ”又は“Ｌ”になるタイミングを、遅延回路ＤＢＳ＜０＞〜ＤＢＳ＜３＞のうちの１つにより一定期間だけ遅らせることで、書き込みビット線ドライブ信号ＷＢＬＤＲＶを“Ｈ”又は“Ｌ”にするタイミング、即ち、書き込み電流の電流供給／遮断タイミングを制御することができる。
【０３０８】
なお、本例では、遅延回路ＤＢＳ＜０＞〜ＤＢＳ＜３＞は、４つであるが、当然に、その数を多くすればするほど、選択できる遅延量の数が多くなり、書き込み電流の電流供給／遮断タイミングを細かく制御できる。但し、この場合、遅延回路を選択するためのタイミング制御信号の数も増える。
【０３０９】
電流吸収タイミング決定回路２６Ｙは、ＮＡＮＤゲート回路ＮＤ２及び遅延回路２８から構成される。
【０３１０】
電流吸収タイミング決定回路２６Ｙは、書き込みビット線ドライブ信号ＷＢＬＤＲＶが“Ｈ”になるとほぼ同時に、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｈ”にし、書き込みビット線ドライブ信号ＷＢＬＤＲＶが“Ｌ”になった後、遅延回路２８により決まる遅延時間後に、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｌ”にする。
【０３１１】
このように、書き込みビット線ドライブ信号ＷＢＬＤＲＶを“Ｌ”にした後、一定のインターバルを経た後に、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｌ”にすることにより、書き込み動作後に、書き込みビット線ＷＢＬｉを完全に０Ｖにすることができる。
【０３１２】
vii.  設定回路
次に、図４０乃至図４２に示されるタイミング制御信号ＷＳ＜０＞〜ＷＳ＜３＞，ｂＷＳ＜０＞〜ｂＷＳ＜３＞，ＢＳ＜０＞〜ＢＳ＜３＞，ｂＢＳ＜０＞〜ｂＢＳ＜３＞を生成する設定回路について説明する。
【０３１３】
図４３は、設定回路の例を示している。
設定回路２３は、書き込み電流の電流供給／遮断タイミングを決定する設定データがプログラムされるレジスタ＜０＞〜＜３＞と、レジスタ＜０＞〜＜３＞の出力信号ＴＤ＜０＞〜ＴＤ＜３＞，ｂＴＤ＜０＞〜ｂＴＤ＜３＞をデコードして、タイミング制御信号ＷＳ＜０＞〜ＷＳ＜３＞，ｂＷＳ＜０＞〜ｂＷＳ＜３＞，ＢＳ＜０＞〜ＢＳ＜３＞，ｂＢＳ＜０＞〜ｂＢＳ＜３＞を出力するデコーダＷＳ＜０＞〜ＷＳ＜３＞，ＢＳ＜０＞〜ＢＳ＜３＞から構成される。
【０３１４】
レジスタ＜０＞，＜１＞には、書き込みワード線ＷＷＬｉに対する書き込み電流の電流供給／遮断タイミングを決定する設定データがプログラムされる。図４１に示すように、書き込みワード線ドライバ／シンカー・トリガ回路２５内の遅延回路（電流供給／遮断タイミング）ＤＷＳ＜０＞〜ＤＷＳ＜３＞が４つ存在する場合には、これらを選択するために、最低、２ビットの設定データが必要となる。
【０３１５】
そこで、本例では、書き込みワード線ＷＷＬｉに対する書き込み電流の電流供給／遮断タイミングを決定するために、２つのレジスタ＜０＞，＜１＞を用意し、レジスタ＜０＞，＜１＞に、それぞれ１ビットの設定データをプログラムする。
【０３１６】
なお、Ｄ＜０＞，Ｄ＜１＞は、テストモード時に、磁気ランダムアクセスメモリの外部から入力される設定データである。テストモード時には、この設定データに基づいて、書き込みワード線ＷＷＬｉに対する書き込み電流の電流供給／遮断タイミングを決定できる。
【０３１７】
レジスタ＜０＞，＜１＞は、２ビットの相補信号ペアＴＤ＜０＞，ｂＴＤ＜０＞，ＴＤ＜１＞，ｂＴＤ＜１＞を出力する。デコーダＷＳ＜０＞〜ＷＳ＜３＞は、２ビットの相補信号ペアＴＤ＜０＞，ｂＴＤ＜０＞，ＴＤ＜１＞，ｂＴＤ＜１＞をデコードし、タイミング制御信号ＷＳ＜０＞〜ＷＳ＜３＞，ｂＷＳ＜０＞〜ｂＷＳ＜３＞を出力する。
【０３１８】
例えば、デコーダＷＳ＜ｊ＞は、それぞれ、２つの入力信号が“Ｈ”のとき、出力信号ＷＳ＜ｊ＞を“Ｈ”にし、出力信号ｂＷＳ＜ｊ＞を“Ｌ”にする（ｊ＝０，１，２，３）。つまり、本例では、４つのデコーダＷＳ＜０＞〜ＷＳ＜３＞のうちの１つのみに関して、２つの入力信号が“Ｈ”となるため、タイミング制御信号の４つの相補信号ペアＷＳ＜ｊ＞，ｂＷＳ＜ｊ＞のうちの１ペアが、ＷＳ＜ｊ＞＝“Ｈ”、ｂＷＳ＜ｊ＞＝“Ｌ”となり、残りの３つの相補信号ペアは、ＷＳ＜ｊ＞＝“Ｌ”、ｂＷＳ＜ｊ＞＝“Ｈ”となる。
【０３１９】
同様に、レジスタ＜２＞，＜３＞には、書き込みビット線ＷＢＬｉに対する書き込み電流の電流供給／遮断タイミングを決定する設定データがプログラムされる。図４２に示すように、書き込みビット線ドライバ／シンカー・トリガ回路２６内の遅延回路（電流供給／遮断タイミング）ＤＢＳ＜０＞〜ＤＢＳ＜３＞が４つ存在する場合には、これらを選択するために、最低、２ビットの設定データが必要となる。
【０３２０】
そこで、本例では、書き込みビット線ＷＢＬｉに対する書き込み電流の電流供給／遮断タイミングを決定するために、２つのレジスタ＜２＞，＜３＞を用意し、レジスタ＜２＞，＜３＞に、それぞれ１ビットの設定データをプログラムする。
【０３２１】
なお、Ｄ＜２＞，Ｄ＜３＞は、テストモード時に、磁気ランダムアクセスメモリの外部から入力される設定データである。テストモード時には、この設定データに基づいて、書き込みビット線ＷＢＬｉに対する書き込み電流の電流供給／遮断タイミングを決定できる。
【０３２２】
レジスタ＜２＞，＜３＞は、２ビットの相補信号ペアＴＤ＜２＞，ｂＴＤ＜２＞，ＴＤ＜３＞，ｂＴＤ＜３＞を出力する。デコーダＢＳ＜０＞〜ＢＳ＜３＞は、２ビットの相補信号ペアＴＤ＜２＞，ｂＴＤ＜２＞，ＴＤ＜３＞，ｂＴＤ＜３＞をデコードし、タイミング制御信号ＢＳ＜０＞〜ＢＳ＜３＞，ｂＢＳ＜０＞〜ｂＢＳ＜３＞を出力する。
【０３２３】
例えば、デコーダＢＳ＜ｊ＞は、それぞれ、２つの入力信号が“Ｈ”のとき、出力信号ＢＳ＜ｊ＞を“Ｈ”にし、出力信号ｂＢＳ＜ｊ＞を“Ｌ”にする（ｊ＝０，１，２，３）。つまり、本例では、４つのデコーダＢＳ＜０＞〜ＢＳ＜３＞のうちの１つのみに関して、２つの入力信号が“Ｈ”となるため、タイミング制御信号の４つの相補信号ペアＢＳ＜ｊ＞，ｂＢＳ＜ｊ＞のうちの１ペアが、ＢＳ＜ｊ＞＝“Ｈ”、ｂＢＳ＜ｊ＞＝“Ｌ”となり、残りの３つの相補信号ペアは、ＢＳ＜ｊ＞＝“Ｌ”、ｂＢＳ＜ｊ＞＝“Ｈ”となる。
【０３２４】
viii. レジスタ＜ｊ＞
図４３の設定回路２３内のレジスタ＜ｊ＞の回路例について説明する。
【０３２５】
図４４は、レジスタの回路例を示している。
レジスタ＜ｊ＞（ｊ＝０，１，２，３）は、プログラムされた設定データを、出力信号ＴＤ＜ｊ＞，ｂＴＤ＜ｊ＞として出力するためのプログラムデータ出力回路２９と、磁気ランダムアクセスメモリの外部から入力された設定データを、出力信号ＴＤ＜ｊ＞，ｂＴＤ＜ｊ＞として出力するための入力データ転送回路３０とから構成される。
【０３２６】
プログラムデータ出力回路２９は、設定データを記憶するためのレーザ溶断ヒューズ（laser blow fuse）２９Ａを有している。レーザ溶断ヒューズ２９Ａの切断の有無により、１ビットデータを記憶する。ＰチャネルＭＯＳトランジスタＰ１とレーザ溶断ヒューズ２９Ａは、電源端子ＶＤＤと接地端子ＶＳＳの間に直列接続される。ＰチャネルＭＯＳトランジスタＰ１のゲートは、接地端子ＶＳＳに接続されるため、ＰチャネルＭＯＳトランジスタＰ１は、常に、オン状態となっている。
【０３２７】
ＰチャネルＭＯＳトランジスタＰ１とレーザ溶断ヒューズ２９Ａの接続点は、インバータＩ９及びトランスファゲートＴＧ４を経由して、インバータＩ７の入力端に接続される。インバータＩ７の出力信号は、ｂＴＤ＜ｊ＞となり、インバータＩ８の出力信号は、ＴＤ＜ｊ＞となる。
【０３２８】
入力データ転送回路３０は、トランスファゲートＴＧ１〜ＴＧ３及びインバータＩ５，Ｉ６から構成される。インバータＩ５，Ｉ６とトランスファゲートＴＧ３は、ラッチ回路を構成している。
【０３２９】
通常動作モードにおける書き込み動作時には、テスト信号ＶＣＴＥＳＴが“Ｌ”となり、テスト信号ｂＶＣＴＥＳＴが“Ｈ”となる。このため、トランスファゲートＴＧ４は、オン状態となり、トランスファゲートＴＧ１，ＴＧ２は、オフ状態となる。
【０３３０】
従って、レーザ溶断ヒューズ２９Ａにプログラムされた設定データが、トランスファゲートＴＧ４及びインバータＩ７〜Ｉ９を経由して、出力信号ＴＤ＜ｊ＞，ｂＴＤ＜ｊ＞として出力される。
【０３３１】
テストモードにおける書き込み動作時には、テスト信号ＶＣＴＥＳＴが“Ｈ”となり、テスト信号ｂＶＣＴＥＳＴが“Ｌ”となる。このため、トランスファゲートＴＧ１，ＴＧ２は、オン状態となり、トランスファゲートＴＧ３，ＴＧ４は、オフ状態となる。
【０３３２】
従って、外部端子（データ入力端子、アドレス端子など）から入力される設定データＤ＜ｊ＞が、トランスファゲートＴＧ１，ＴＧ２及びインバータＩ５〜Ｉ８を経由して、出力信号ＴＤ＜ｊ＞，ｂＴＤ＜ｊ＞として出力される。
【０３３３】
テストモードにおけるスタンバイ時には、テスト信号ＶＣＴＥＳＴが“Ｌ”となり、テスト信号ｂＶＣＴＥＳＴが“Ｈ”となる。このため、トランスファゲートＴＧ１，ＴＧ２は、オフ状態となり、トランスファゲートＴＧ３，ＴＧ４は、オン状態となる。
【０３３４】
従って、外部端子から入力された設定データＤ＜ｊ＞は、トランスファゲートＴＧ３及びインバータＩ５，Ｉ６からなるラッチ回路にラッチされる。この後は、ラッチ回路にラッチされた設定データに基づいて、書き込みテストを行うことができる。
【０３３５】
図４５は、レジスタの他の回路例を示している。
本例のレジスタ＜ｊ＞は、図４４のレジスタ＜ｊ＞と比較すると、プログラムデータ出力回路２９の構成に特徴を有する。即ち、図４４のレジスタ＜ｊ＞では、設定データを記憶するための素子として、レーザ溶断ヒューズ２９を使用したが、本例のレジスタ＜ｊ＞では、設定データを記憶するための素子として、ＴＭＲ素子（MTJ）を使用する。
【０３３６】
プログラムデータ出力回路２９は、設定データを記憶するためのＴＭＲ素子ＭＴＪを有している。ここで、ＴＭＲ素子ＭＴＪには、設定データを、ＴＭＲ素子の磁化状態、即ち、固定層の磁化方向と記憶層の磁化方向との関係（平行又は反平行）で記憶することができるが、本例では、そのような方法を用いない。
【０３３７】
なぜなら、設定データの値に関しては、一度、ＴＭＲ素子ＭＴＪに書き込んだ後に、再び、それを書き換えるということがない。
【０３３８】
また、ＴＭＲ素子ＭＴＪのＭＲ比が２０〜４０％であることを考慮すると、パワーオンと同時に、ＴＭＲ素子ＭＴＪのデータを出力する設定回路では、設定データの読み出し時に、ＴＭＲ素子ＭＴＪの両端に大きな電圧が印加され、ＴＭＲ素子ＭＴＪが破壊される可能性がある。
【０３３９】
従って、設定データを記憶するためのＴＭＲ素子ＭＴＪに対しては、固定層の磁化方向と記憶層の磁化方向との関係ではなく、トンネルバリアを絶縁破壊するか否かで、設定データをプログラムする。
【０３４０】
ＴＭＲ素子ＭＴＪの絶縁破壊を利用した設定データのプログラム方法では、半永久的に、設定データを記憶しておくことができる。
【０３４１】
ＴＭＲ素子ＭＴＪの一端は、ＰチャネルＭＯＳトランジスタＰ１及びＮチャネルＭＯＳトランジスタＮ１を経由して電源端子ＶＤＤに接続され、その他端は、ＮチャネルＭＯＳトランジスタＮ２を経由して接地端子ＶＳＳに接続される。
【０３４２】
ＰチャネルＭＯＳトランジスタＰ１のゲートは、接地端子ＶＳＳに接続され、ＮチャネルＭＯＳトランジスタＮ２のゲートは、電源端子ＶＤＤに接続されるため、これらＭＯＳトランジスタＰ１，Ｎ２は、常に、オン状態となっている。
【０３４３】
ＮチャネルＭＯＳトランジスタＮ１のゲートには、クランプ電位Ｖｃｌａｍｐが入力される。クランプ電位Ｖｃｌａｍｐを適切な値に設定することにより、設定データの読み出し時に、ＴＭＲ素子ＭＴＪの電極間に高電圧が印加されるのを防止することができる。
【０３４４】
なお、クランプ電位Ｖｃｌａｍｐを生成するＶｃｌａｍｐ生成回路の例を、図４６に示す。本例のＶｃｌａｍｐ生成回路３１では、クランプ電位Ｖｃｌａｍｐは、ＢＧＲ回路の出力電圧を抵抗分割することにより得ている。クランプ電位Ｖｃｌａｍｐは、０．３〜０．５Ｖとなる。
【０３４５】
ＮＡＮＤゲート回路ＮＤ４及びＰチャネルＭＯＳトランジスタＰ２は、ＴＭＲ素子ＭＴＪの絶縁破壊を利用した設定データのプログラム方法を採用する場合に必要となる要素である。
【０３４６】
設定データのプログラム時には、プログラム信号ＰＲＯＧが“Ｈ”となる。そして、例えば、ＴＭＲ素子ＭＴＪに設定データ“１”を書き込む場合には、外部端子（データ入力端子、アドレス端子、専用端子など）から、設定データＤ＜ｊ＞として、“１”（＝“Ｈ”）を入力する。
【０３４７】
この時、ＮＡＮＤゲート回路ＮＤ４の出力信号は、“Ｌ”となり、ＰチャネルＭＯＳトランジスタＰ２は、オン状態となる。従って、ＴＭＲ素子ＭＴＪの両端には、大きな電圧が印加され、ＴＭＲ素子ＭＴＪのトンネルバリアが破壊され、結果として、ＴＭＲ素子ＭＴＪに、設定データ“１”がプログラムされる。この場合、ＴＤ＜ｊ＞は、“Ｌ”、ｂＴＤ＜ｊ＞は、“Ｈ”となる。
【０３４８】
一方、例えば、ＴＭＲ素子ＭＴＪに設定データ“０”を書き込む場合には、外部端子（データ入力端子、アドレス端子、専用端子など）から、設定データＤ＜ｊ＞として、“０”（＝“Ｌ”）を入力する。
【０３４９】
この時、ＮＡＮＤゲート回路ＮＤ４の出力信号は、“Ｈ”となり、ＰチャネルＭＯＳトランジスタＰ２は、オフ状態となる。従って、ＴＭＲ素子ＭＴＪの両端には、大きな電圧が印加されることがないため、ＴＭＲ素子ＭＴＪのトンネルバリアが破壊されずに、結果として、ＴＭＲ素子ＭＴＪに、設定データ“０”がプログラムされる。この場合、ＴＤ＜ｊ＞は、“Ｈ”、ｂＴＤ＜ｊ＞は、“Ｌ”となる。
【０３５０】
ＰチャネルＭＯＳトランジスタＰ１とＮチャネルＭＯＳトランジスタＮ１の接続点は、インバータＩ９及びトランスファゲートＴＧ４を経由して、インバータＩ７の入力端に接続される。インバータＩ７の出力信号は、ｂＴＤ＜ｊ＞となり、インバータＩ８の出力信号は、ＴＤ＜ｊ＞となる。
【０３５１】
ix.  デコーダＷＳ＜ｊ＞，ＢＳ＜ｊ＞
図４３の設定回路２３内のデコーダＷＳ＜ｊ＞，ＢＳ＜ｊ＞の回路例について説明する。
【０３５２】
図４７は、デコーダの回路例を示している。
デコーダＷＳ＜ｊ＞，ＢＳ＜ｊ＞（ｊ＝０，１，２，３）は、ＮＡＮＤゲート回路ＮＤ３及びインバータＩ１０から構成される。
【０３５３】
ＮＡＮＤゲート回路ＮＤ３には、２つの入力信号Ａ，Ｂが入力され、その出力信号Ｄは、ｂＷＳ＜ｊ＞，ｂＢＳ＜ｊ＞となる。インバータＩ１０の出力信号Ｃは、ＷＳ＜ｊ＞，ＢＳ＜ｊ＞となる。
【０３５４】
デコーダＷＳ＜ｊ＞，ＢＳ＜ｊ＞のデコーディング表（入力信号と出力信号との関係）を、表１に示す。
【０３５５】
【表１】
0003808799.tif 000002
【０３５６】
x.  まとめ
以上、説明したように、磁気ランダムアクセスメモリの回路例１によれば、書き込みワード／ビット線に対する書き込み電流の電流供給／遮断タイミングを、チップ毎又はメモリセルアレイ毎に、プログラミングにより設定できる。これにより、例えば、実施例１〜１０の書き込み原理を実現可能にし、ＴＭＲ素子の記憶層の磁化反転を確実に行い、書き込み特性の向上を図ることができる。
【０３５７】
▲２▼  回路例２
回路例２は、書き込みワード／ビット線に対する書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を、プログラミングにより設定できる機能を設けた磁気ランダムアクセスメモリに関する。
【０３５８】
i.  全体構成
図４８は、回路例２に関わる磁気ランダムアクセスメモリの主要部の構成を示している。
【０３５９】
磁気ランダムアクセスメモリ（ＭＲＡＭ）１１は、それ自体で１つのメモリチップを構成していてもよいし、また、特定機能を有するチップ内の１つのブロックであってもよい。メモリセルアレイ（データセル）１２は、実際に、データを記憶する機能を有し、レファレンスセルアレイ１３は、読み出し動作時に、読み出しデータの値を判定するための基準を決める機能を有する。
【０３６０】
メモリセルアレイ１２及びレファレンスセルアレイ１３からなるセルアレイのＸ方向の２つの端部のうちの１つには、ロウデコーダ＆ドライバ（ロウデコーダ＆書き込みワード線ドライバ，ロウデコーダ＆読み出しワード線ドライバ）１４が配置され、他の１つには、書き込みワード線シンカー１５が配置される。
【０３６１】
ロウデコーダ＆ドライバ１４は、書き込み動作時、例えば、ロウアドレス信号に基づいて、複数の書き込みワード線のうちの１つを選択し、かつ、選択された１つの書き込みワード線に、書き込み電流を供給する機能を有する。書き込みワード線シンカー１５は、書き込み動作時、例えば、選択された１つの書き込みワード線に供給された書き込み電流を吸収する機能を有する。
【０３６２】
ロウデコーダ＆ドライバ１４は、読み出し動作時、例えば、ロウアドレス信号に基づいて、複数の読み出しワード線（書き込みワード線と一体化されていてもよい）のうちの１つを選択し、かつ、選択された１つの読み出しワード線に、読み出し電流を流す機能を有する。センスアンプ２０は、例えば、この読み出し電流を検出して、読み出しデータを判定する。
【０３６３】
メモリセルアレイ１２のＹ方向の２つの端部のうちの１つには、カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａが配置され、他の１つには、カラムデコーダ＆書き込みビット線ドライバ／シンカー（カラムトランスファゲート、カラムデコーダを含む）１７Ａが配置される。
【０３６４】
カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａ，１７Ａは、書き込み動作時、例えば、カラムアドレス信号に基づいて、複数の書き込みビット線（又はデータ選択線）のうちの１つを選択し、かつ、選択された１つの書き込みビット線に、書き込みデータに応じた向きを有する書き込み電流を流す機能を有する。カラムトランスファゲート及びカラムデコーダは、読み出し動作時、カラムアドレス信号により選択されたデータ選択線をセンスアンプ２０に電気的に接続する機能を有する。
【０３６５】
レファレンスセルアレイ１３のＹ方向の２つの端部のうちの１つには、レファレンスセル用カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ｂが配置され、他の１つには、レファレンスセル用カラムデコーダ＆書き込みビット線ドライバ／シンカー（カラムトランスファゲート、カラムデコーダを含む）１７Ｂが配置される。
【０３６６】
レファレンスセル用カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ｂ，１７Ｂは、レファレンスセルアレイ１３にレファレンスデータを記憶させる機能を有する。カラムトランスファゲート及びカラムデコーダは、読み出し動作時、レファレンスデータを読み出し、これをセンスアンプ２０に転送する機能を有する。
【０３６７】
アドレスレシーバ１８は、アドレス信号を受け、例えば、ロウアドレス信号を、ロウデコーダ＆ドライバ１４に転送し、カラムアドレス信号を、カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａ，１７Ａに転送する。データ入力レシーバ１９は、書き込みデータを、カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａ，１７Ａに転送する。また、出力ドライバ２１は、センスアンプ２０で検出された読み出しデータを、磁気ランダムアクセスメモリ１１の外部へ出力する。
【０３６８】
制御回路２２は、／ＣＥ（Chip Enable）信号、／ＷＥ（Write Enable）信号及び／ＯＥ（Output Enable）信号を受け、磁気ランダムアクセスメモリ１１の動作を制御する。例えば、制御回路２２は、書き込み動作時、書き込み信号ＷＲＩＴＥを、書き込み電流波形制御回路２４に与える。書き込み電流波形制御回路２４は、書き込み信号ＷＲＩＴＥを受けると、例えば、設定回路２３に予めプログラムされた設定データに基づいて、書き込み電流の供給／遮断タイミング、大きさ及びその時間的変化（電流波形）などを決定する。
【０３６９】
具体的には、書き込み電流波形制御回路２４は、書き込み動作時、ロウデコーダ＆ドライバ１４に、書き込みワード線ドライブ信号（電流波形生成信号）ＷＰ＜０＞〜ＷＰ＜３＞を与え、書き込みワード線シンカー１５に、書き込みワード線シンク信号ＷＷＬＳＮＫを与え、カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａ，１７Ａに、書き込みビット線ドライブ信号（電流波形生成信号）ＢＰ＜０＞〜ＢＰ＜７＞及び書き込みビット線シンク信号ＷＢＬＳＮＫを与える。
【０３７０】
書き込み動作時、例えば、ロウデコーダ＆ドライバ１４については、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞のうちの少なくとも１つが“Ｈ”のときに動作状態となり、同様に、書き込みワード線シンカー１５及びカラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａ，１７Ａについては、それぞれ、書き込みワード線シンク信号ＷＷＬＳＮＫ、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜７＞のうちの少なくとも１つ及び書き込みビット線シンク信号ＷＢＬＳＮＫが“Ｈ”のときに動作状態となるようにする。
【０３７１】
このようにすれば、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞、書き込みワード線シンク信号ＷＷＬＳＮＫ、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜７＞及び書き込みビット線シンク信号ＷＢＬＳＮＫが“Ｈ”になるタイミングを、書き込み電流波形制御回路２４で制御することにより、書き込み電流の供給／遮断タイミング（磁界Ｈｘ，Ｈｙの印加タイミング）、大きさ及びその時間的変化（電流波形）を決定し、実施例１〜１０の書き込み原理を実現することができる。
【０３７２】
書き込み電流の電流吸収タイミングに関しては、例えば、シンク信号ＷＷＬＳＮＫ，ＷＢＬＳＮＫが“Ｈ”から“Ｌ”になるタイミングを、ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞，ＢＰ＜０＞〜ＢＰ＜７＞が“Ｈ”から“Ｌ”になるタイミングよりも遅らせることにより、書き込みワード／ビット線の電位を完全に０Ｖにする、といったことも可能にできる。
【０３７３】
これらの信号ＷＰ＜０＞〜ＷＰ＜３＞，ＷＷＬＳＮＫ，ＢＰ＜０＞〜ＢＰ＜７＞，ＷＢＬＳＮＫが“Ｈ”になるタイミングは、設定回路２３に予めプログラムされた設定データに基づいて決定される。プログラミング素子としては、例えば、レーザ溶断型ヒューズ、ＴＭＲ素子（MTJ）や、ＴＭＲ素子のトンネルバリアを破壊するアンチヒューズなどを使用することができる。
【０３７４】
磁気ランダムアクセスメモリのテストモードにおいては、例えば、データ入出力端子から入力される設定データに基づいて、書き込み電流の供給／遮断タイミング、大きさ及びその時間的変化（電流波形）などを決定することもできる。設定データは、アドレス端子から入力させるようにしてもよい。
【０３７５】
なお、磁気ランダムアクセスメモリの回路例２に関しては、主として、設定回路２３及び書き込み電流波形制御回路２４に特徴を有する。
【０３７６】
そこで、以下では、設定回路２３、書き込み電流波形制御回路２４、及び、書き込み電流波形制御回路２４の出力信号を受けるドライバ／シンカー１４，１５１６Ａ，１７Ａの回路例について説明する。
【０３７７】
ii.  ロウデコーダ＆書き込みワード線ドライバ／シンカー
図４９は、ロウデコーダ＆書き込みワード線ドライバ／シンカーの回路例を示している。
【０３７８】
ロウデコーダ＆書き込みワード線ドライバ（１ロウ分）１４は、ＡＮＤゲート回路ＡＤ１、ＮＡＮＤゲート回路ＮＤＷＰ０〜ＮＤＷＰ３及びＰチャネルＭＯＳトランジスタＷＰ０〜ＷＰ３から構成される。ＰチャネルＭＯＳトランジスタＷＰｉ（ｉ＝０，１，２，３）のゲートは、ＮＡＮＤゲート回路ＮＤＷＰｉの出力端子に接続され、そのソースは、電源端子ＶＤＤに接続され、そのドレインは、書き込みワード線ＷＷＬｉ（ｉ＝１，・・・）の一端に接続される。
【０３７９】
ＮＡＮＤゲート回路ＮＤＷＰｉの２つの入力端子の一方には、書き込みワード線ドライブ信号（電流波形生成信号）ＷＰ＜ｉ＞が入力され、他方には、ＡＮＤゲート回路ＡＤ１の出力信号が入力される。ＡＮＤゲート回路ＡＤ１には、複数ビットから構成されるロウアドレス信号（ロウｉ毎に異なる）が入力される。
【０３８０】
書き込みワード線シンカー（１ロウ分）１５は、ＮチャネルＭＯＳトランジスタＴＮ１から構成される。ＮチャネルＭＯＳトランジスタＴＮ１のソースは、接地端子ＶＳＳに接続され、そのドレインは、書き込みワード線ＷＷＬｉの他端に接続される。ＮチャネルＭＯＳトランジスタＴＮ１のゲートには、書き込みワード線シンク信号ＷＷＬＳＮＫが入力される。
【０３８１】
選択されたロウｉでは、ロウアドレス信号の全てのビットが“Ｈ”となる。このため、選択されたロウｉでは、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞のうちの少なくとも１つが“Ｈ”となったときに、ＰチャネルＭＯＳトランジスタＷＰ０〜ＷＰ３のうちの少なくとも１つがオン状態となる。また、書き込みワード線シンク信号ＷＷＬＳＮＫが“Ｈ”となると、ＮチャネルＭＯＳトランジスタＴＮ１がオン状態となる。
【０３８２】
ＰチャネルＭＯＳトランジスタＷＰ０〜ＷＰ３のうちの少なくとも１つとＮチャネルＭＯＳトランジスタＴＮ１がオン状態となると、書き込み電流は、ロウデコーダ＆書き込みワード線ドライバ１４から、書き込みワード線ＷＷＬｉを経由して、書き込みワード線シンカー１５に向かって流れる。
【０３８３】
このようなロウデコーダ＆書き込みワード線ドライバ／シンカーによれば、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞及び書き込みワード線シンク信号ＷＷＬＳＮＫが“Ｈ”又は“Ｌ”になるタイミングを制御することで、選択されたロウｉ内の書き込みワード線ＷＷＬｉに対する書き込み電流の供給／遮断タイミング、大きさ及びその時間的変化（電流波形）などを決定することができる。
【０３８４】
また、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞の全てを“Ｌ”に設定した後、書き込みワード線シンク信号ＷＷＬＳＮＫを“Ｌ”に設定すれば、書き込み動作後の書き込みワード線ＷＷＬｉの電位を完全に０Ｖにすることができる。
【０３８５】
なお、書き込み電流の大きさ又はその時間的変化（電流波形）を制御するに当たっては、第一に、複数のＰチャネルＭＯＳトランジスタＷＰ０〜ＷＰ３のサイズ（チャネル幅）、即ち、駆動能力を、全て同じ値に設定し、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞を用いて、オン状態のＰチャネルＭＯＳトランジスタＷＰ０〜ＷＰ３の数を変える、という制御方法を使用できる。
【０３８６】
第二に、複数のＰチャネルＭＯＳトランジスタＷＰ０〜ＷＰ３のサイズ（チャネル幅）、即ち、駆動能力を、互いに異なる値に設定し、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞を用いて、複数のＰチャネルＭＯＳトランジスタＷＰ０〜ＷＰ３のうちの１つを選択的にオン状態にする、という制御方法を使用できる。
【０３８７】
第三に、これら第一及び第二の方法を組み合せた制御方法、即ち、ＰチャネルＭＯＳトランジスタＷＰ０〜ＷＰ３のサイズを変え、かつ、オン状態のＰチャネルＭＯＳトランジスタＷＰ０〜ＷＰ３の数を変えて、書き込み電流の大きさの時間的変化（電流波形）を制御する、という制御方法を使用できる。
【０３８８】
iii.  カラムデコーダ＆書き込みビット線ドライバ／シンカー
図５０は、カラムデコーダ＆書き込みビット線ドライバ／シンカーの回路例を示している。
【０３８９】
カラムデコーダ＆書き込みビット線ドライバ／シンカー（１カラム分）１６Ａは、ＮＡＮＤゲート回路ＮＤＢＰ０〜ＮＤＢＰ３、ＡＮＤゲート回路ＡＤ２，ＡＤ３、ＰチャネルＭＯＳトランジスタＢＰ０〜ＢＰ３及びＮチャネルＭＯＳトランジスタＢＮ０から構成される。
【０３９０】
ＰチャネルＭＯＳトランジスタＢＰｉ（ｉ＝０，１，２，３）のゲートは、ＮＡＮＤゲート回路ＮＤＢＰｉの出力端子に接続され、そのソースは、電源端子ＶＤＤに接続され、そのドレインは、共通に、書き込みビット線ＷＢＬｉ（ｉ＝１，・・・）の一端に接続される。
【０３９１】
ＮＡＮＤゲート回路ＮＤＢＰｉ（ｉ＝０，１，２，３）の２つの入力端子の一方には、書き込みワード線ドライブ信号（電流波形生成信号）ＢＰ＜ｉ＞が入力され、他方には、ＡＮＤゲート回路ＡＤ２の出力信号が入力される。ＡＮＤゲート回路ＡＤ２には、複数ビットから構成されるカラムアドレス信号（カラムｉ毎に異なる）及び書き込みデータＤＡＴＡが入力される。
【０３９２】
ＮチャネルＭＯＳトランジスタＢＮ０のゲートは、ＡＮＤゲート回路ＡＤ３の出力端子に接続され、そのソースは、接地端子ＶＳＳに接続され、そのドレインは、書き込みビット線ＷＢＬｉ（ｉ＝１，・・・）の一端に接続される。ＡＮＤゲート回路ＡＤ３には、複数ビットから構成されるカラムアドレス信号（カラムｉ毎に異なる）、書き込みビット線シンク信号ＷＢＬＳＮＫ及び書き込みデータの反転信号ｂＤＡＴＡが入力される。
【０３９３】
同様に、カラムデコーダ＆書き込みビット線ドライバ／シンカー（１カラム分）１７Ａは、ＮＡＮＤゲート回路ＮＤＢＰ４〜ＮＤＢＰ７、ＡＮＤゲート回路ＡＤ４，ＡＤ５、ＰチャネルＭＯＳトランジスタＢＰ４〜ＢＰ７及びＮチャネルＭＯＳトランジスタＢＮ１から構成される。
【０３９４】
ＰチャネルＭＯＳトランジスタＢＰｉ（ｉ＝４，５，６，７）のゲートは、ＮＡＮＤゲート回路ＮＤＢＰｉの出力端子に接続され、そのソースは、電源端子ＶＤＤに接続され、そのドレインは、共通に、書き込みビット線ＷＢＬｉ（ｉ＝１，・・・）の他端に接続される。
【０３９５】
ＮＡＮＤゲート回路ＮＤＢＰｉ（ｉ＝４，５，６，７）の２つの入力端子の一方には、書き込みワード線ドライブ信号（電流波形生成信号）ＢＰ＜ｉ＞が入力され、他方には、ＡＮＤゲート回路ＡＤ４の出力信号が入力される。ＡＮＤゲート回路ＡＤ４には、複数ビットから構成されるカラムアドレス信号（カラムｉ毎に異なる）及び書き込みデータの反転信号ｂＤＡＴＡが入力される。
【０３９６】
ＮチャネルＭＯＳトランジスタＢＮ１のゲートは、ＡＮＤゲート回路ＡＤ５の出力端子に接続され、そのソースは、接地端子ＶＳＳに接続され、そのドレインは、書き込みビット線ＷＢＬｉ（ｉ＝１，・・・）の他端に接続される。ＡＮＤゲート回路ＡＤ５には、複数ビットから構成されるカラムアドレス信号（カラムｉ毎に異なる）、書き込みビット線シンク信号ＷＢＬＳＮＫ及び書き込みデータＤＡＴＡが入力される。
【０３９７】
選択されたカラムｉでは、カラムアドレス信号の全てのビットが“Ｈ”となる。このため、選択されたカラムｉでは、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜７＞の少なくとも１つ及び書き込みビット線シンク信号ＷＢＬＳＮＫが“Ｈ”になったとき、書き込みデータＤＡＴＡの値に応じた向きを有する書き込み電流が、書き込みビット線ＷＢＬｉに流れる。
【０３９８】
例えば、書き込みデータＤＡＴＡが“１”（＝“Ｈ”）のときには、ＰチャネルＭＯＳトランジスタＢＰ０〜ＢＰ３の少なくとも１つ及びＮチャネルＭＯＳトランジスタＢＮ１がオン状態となるため、カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａからカラムデコーダ＆書き込みビット線ドライバ／シンカー１７Ａに向かう書き込み電流が流れる。
【０３９９】
また、書き込みデータＤＡＴＡが“０”（＝“Ｌ”）のときには、ＰチャネルＭＯＳトランジスタＢＰ４〜ＢＰ７の少なくとも１つ及びＮチャネルＭＯＳトランジスタＢＮ０がオン状態となるため、カラムデコーダ＆書き込みビット線ドライバ／シンカー１７Ａからカラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａに向かう書き込み電流が流れる。
【０４００】
このようなカラムデコーダ＆書き込みビット線ドライバ／シンカーによれば、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜７＞の少なくとも１つ及び書き込みビット線シンク信号ＷＢＬＳＮＫが“Ｈ”又は“Ｌ”になるタイミングを制御することで、選択されたカラムｉ内の書き込みビット線ＷＢＬｉに対する書き込み電流の供給／遮断タイミング、大きさ及びその時間的変化（電流波形）などを決定することができる。
【０４０１】
また、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜７＞の全てを“Ｌ”に設定した後、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｌ”に設定すれば、書き込み動作後の書き込みビット線ＷＢＬｉの電位を完全に０Ｖにすることができる。
【０４０２】
なお、書き込み電流の大きさ又はその時間的変化（電流波形）を制御するに当たっては、第一に、複数のＰチャネルＭＯＳトランジスタＢＰ０〜ＢＰ７のサイズ（チャネル幅）、即ち、駆動能力を、全て同じ値に設定し、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜７＞を用いて、オン状態のＰチャネルＭＯＳトランジスタＢＰ０〜ＢＰ７の数を変える、という制御方法を使用できる。
【０４０３】
第二に、複数のＰチャネルＭＯＳトランジスタＢＰ０〜ＢＰ７のサイズ（チャネル幅）、即ち、駆動能力を、互いに異なる値に設定し、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜７＞を用いて、複数のＰチャネルＭＯＳトランジスタＢＰ０〜ＢＰ７のうちの１つを選択的にオン状態にする、という制御方法を使用できる。
【０４０４】
第三に、これら第一及び第二の方法を組み合せた制御方法、即ち、ＰチャネルＭＯＳトランジスタＢＰ０〜ＢＰ７のサイズを変え、かつ、オン状態のＰチャネルＭＯＳトランジスタＢＰ０〜ＢＰ７の数を変えて、書き込み電流の大きさの時間的変化（電流波形）を制御する、という制御方法を使用できる。
【０４０５】
iv.  書き込み電流波形制御回路
次に、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞、書き込みワード線シンク信号ＷＷＬＳＮＫ、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜７＞及び書き込みビット線シンク信号ＷＢＬＳＮＫを生成する書き込み電流波形制御回路の例について説明する。
【０４０６】
図５１は、書き込み電流波形制御回路の例を示している。
書き込み電流波形制御回路２４は、書き込みワード線ドライバ／シンカー・トリガ回路２５及び書き込みビット線ドライバ／シンカー・トリガ回路２６から構成される。
【０４０７】
書き込みワード線ドライバ／シンカー・トリガ回路２５は、書き込み信号ＷＲＩＴＥ及び電流波形制御信号ＦＳ＜０＞〜ＦＳ＜７＞  FOR  Ｗｉ（ｉ＝０，１，２，３）に基づいて、書き込みワード線ドライブ信号（電流波形生成信号）ＷＰ＜０＞〜ＷＰ＜３＞及び書き込みワード線シンク信号ＷＷＬＳＮＫを生成する。
【０４０８】
書き込みビット線ドライバ／シンカー・トリガ回路２６は、書き込み信号ＷＲＩＴＥ及び電流波形制御信号ＦＳ＜０＞〜ＦＳ＜７＞  FOR  Ｂｊ（ｊ＝０，１，・・・７）に基づいて、書き込みビット線ドライブ信号（電流波形生成信号）ＢＰ＜０＞〜ＢＰ＜７＞及び書き込みビット線シンク信号ＷＢＬＳＮＫを生成する。
【０４０９】
ここで、電流波形制御信号ＦＳ＜０＞〜ＦＳ＜７＞  FOR  Ｗｉ，ＦＳ＜０＞〜ＦＳ＜７＞  FOR  Ｂｊにおける“FOR  Ｗｉ”及び“FOR  Ｂｊ”は、書き込みワード／ビット線ドライバ／シンカー・トリガ回路２５，２６内の後述する複数の波形生成回路Ｗｉ，Ｂｊごとに、電流波形制御信号ＦＳ＜０＞〜ＦＳ＜７＞の値が設定されることを意味している。
【０４１０】
書き込み信号ＷＲＩＴＥは、書き込み動作時に“Ｈ”となる信号である。
【０４１１】
書き込みワード線ＷＷＬｉに対する書き込み電流の供給／遮断のタイミング、大きさ及びその時間的変化（電流波形）、即ち、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞及び書き込みワード線シンク信号ＷＷＬＳＮＫを“Ｈ”又は“Ｌ”にするタイミングは、電流波形制御信号ＦＳ＜０＞〜ＦＳ＜７＞  FOR  Ｗｉにより決定される。
【０４１２】
書き込みビット線ＷＢＬｉに対する書き込み電流の供給／遮断のタイミング、大きさ及びその時間的変化（電流波形）、即ち、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜７＞及び書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｈ”又は“Ｌ”にするタイミングは、電流波形制御信号ＦＳ＜０＞〜ＦＳ＜７＞  FOR  Ｂｊにより決定される。
【０４１３】
電流波形制御信号ＦＳ＜０＞〜ＦＳ＜７＞  FOR  Ｗｉ，ＦＳ＜０＞〜ＦＳ＜７＞  FOR  Ｂｊは、後述する設定回路により生成される。
【０４１４】
v.  書き込みワード線ドライバ／シンカー・トリガ回路
図５２は、書き込みワード線ドライバ／シンカー・トリガ回路の例を示している。
【０４１５】
書き込みワード線ドライバ／シンカー・トリガ回路２５は、書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を決定する電流供給／遮断タイミング決定回路２５Ｘと、書き込み電流の電流吸収タイミングを決定する電流吸収タイミング決定回路２５Ｙとから構成される。
【０４１６】
電流供給／遮断タイミング決定回路２５Ｘは、書き込み信号ＷＲＩＴＥが“Ｈ”又は“Ｌ”になった後、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞を“Ｈ”又は“Ｌ”にするタイミングを決定する。電流供給／遮断タイミング決定回路２５Ｘは、複数（本例では、４つ）の波形生成回路Ｗ０〜Ｗ３及びインバータＩＶ１〜ＩＶ８から構成される。
【０４１７】
波形生成回路Ｗ０〜Ｗ３は、それぞれ、書き込み信号ＷＲＩＴＥ及び電流波形制御信号ＦＳ＜０＞〜ＦＳ＜７＞  FOR  Ｗｉに基づいて、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞を生成する。書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞は、図４９の書き込みワード線ドライバを駆動するため、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞の波形を合成した合成波形が、書き込みワード線ＷＷＬｉに供給される書き込み電流の波形にほぼ等しくなる。
【０４１８】
なお、本例では、波形生成回路Ｗ０〜Ｗ３は、４つであるが、当然に、その数を多くすればするほど、書き込みワード線ＷＷＬｉに流れる書き込み電流の電流波形を細かく制御できる。
【０４１９】
電流吸収タイミング決定回路２５Ｙは、インバータＩＶ０、ＮＡＮＤゲート回路ＮＤ１及び遅延回路２７から構成される。
【０４２０】
電流吸収タイミング決定回路２５Ｙは、書き込み信号ＷＲＩＴＥが“Ｈ”になるとほぼ同時に、書き込みワード線シンク信号ＷＷＬＳＮＫを“Ｈ”にし、書き込み信号ＷＲＩＴＥが“Ｌ”になった後、遅延回路２７により決まる遅延時間後に、書き込みワード線シンク信号ＷＷＬＳＮＫを“Ｌ”にする。
【０４２１】
このように、書き込み信号ＷＲＩＴＥを“Ｌ”にした後、一定のインターバルを経た後に、書き込みワード線シンク信号ＷＷＬＳＮＫを“Ｌ”にすることにより、書き込み動作後に、書き込みワード線ＷＷＬｉを完全に０Ｖにすることができる。
【０４２２】
vi.  書き込みビット線ドライバ／シンカー・トリガ回路
図５３は、書き込みビット線ドライバ／シンカー・トリガ回路の例を示している。
【０４２３】
書き込みビット線ドライバ／シンカー・トリガ回路２６は、書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を決定する電流供給／遮断タイミング決定回路２６Ｘと、書き込み電流の電流吸収タイミングを決定する電流吸収タイミング決定回路２６Ｙとから構成される。
【０４２４】
電流供給／遮断タイミング決定回路２６Ｘは、書き込み信号ＷＲＩＴＥが“Ｈ”又は“Ｌ”になった後、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜７＞を“Ｈ”又は“Ｌ”にするタイミングを決定する。
【０４２５】
電流供給／遮断タイミング決定回路２６Ｘは、複数（本例では、８つ）の波形生成回路Ｂ０〜Ｂ７及びインバータＩＶ９〜ＩＶ２４から構成される。
【０４２６】
波形生成回路Ｂ０〜Ｂ７は、それぞれ、書き込み信号ＷＲＩＴＥ及び電流波形制御信号ＦＳ＜０＞〜ＦＳ＜７＞  FOR  Ｂｉに基づいて、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜７＞を生成する。書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜７＞は、図５０の書き込みビット線ドライバを駆動する。
【０４２７】
書き込みデータＤＡＴＡが“１”（＝“Ｈ”）のとき、書き込み電流は、書き込みビット線ドライバ／シンカー１６Ａから書き込みビット線ドライバ／シンカー１７Ａに向かって流れ、その電流波形は、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞の波形を合成した合成波形にほぼ等しくなる。
【０４２８】
書き込みデータＤＡＴＡが“０”（＝“Ｌ”）のとき、書き込み電流は、書き込みビット線ドライバ／シンカー１７Ａから書き込みビット線ドライバ／シンカー１６Ａに向かって流れ、その電流波形は、書き込みビット線ドライブ信号ＢＰ＜４＞〜ＢＰ＜７＞の波形を合成した合成波形にほぼ等しくなる。
【０４２９】
なお、本例では、波形生成回路Ｂ０〜Ｂ７は、８つであるが、当然に、その数を多くすればするほど、書き込みワード線ＷＷＬｉに流れる書き込み電流の電流波形を細かく制御できる。
【０４３０】
また、本例では、書き込みビット線ドライバ／シンカー１６Ａを駆動する書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞と、書き込みビット線ドライバ／シンカー１７Ａを駆動する書き込みビット線ドライブ信号ＢＰ＜４＞〜ＢＰ＜７＞が異なるが、後述するように、書き込みビット線ドライバ／シンカー１６Ａ，１７Ａを、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞により共通に駆動してもよい。
【０４３１】
電流吸収タイミング決定回路２６Ｙは、インバータＩＶ０、ＮＡＮＤゲート回路ＮＤ２及び遅延回路２８から構成される。
【０４３２】
電流吸収タイミング決定回路２６Ｙは、書き込み信号ＷＲＩＴＥが“Ｈ”になるとほぼ同時に、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｈ”にし、書き込み信号ＷＲＩＴＥが“Ｌ”になった後、遅延回路２７により決まる遅延時間後に、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｌ”にする。
【０４３３】
このように、書き込み信号ＷＲＩＴＥを“Ｌ”にした後、一定のインターバルを経た後に、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｌ”にすることにより、書き込み動作後に、書き込みビット線ＷＢＬｉを完全に０Ｖにすることができる。
【０４３４】
vii.  波形生成回路
次に、図５２及び図５３の書き込みワード／ビット線ドライバ／シンカー・トリガ回路２５，２６内の波形生成回路Ｗｉ（ｉ＝０，１，２，３），Ｂｊ（ｊ＝０，１，・・・７）の例について説明する。
【０４３５】
図５４は、波形生成回路の例を示している。
波形生成回路Ｗ０〜Ｗ３，Ｂ０〜Ｂ７は、書き込みワード／ビット線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞，ＢＰ＜０＞〜ＢＰ＜７＞の立ち上がり時点（“Ｌ”から“Ｈ”になるタイミング）を決定する立ち上がりタイミング決定回路３２と、書き込みワード／ビット線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞，ＢＰ＜０＞〜ＢＰ＜７＞の立ち下がり時点（“Ｈ”から“Ｌ”になるタイミング）を決定する立ち下がりタイミング決定回路３３とを有している。
【０４３６】
また、波形生成回路Ｗ０〜Ｗ３，Ｂ０〜Ｂ７は、書き込みワード／ビット線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞，ＢＰ＜０＞〜ＢＰ＜７＞のレベル（“Ｌ”又は“Ｈ”）を保持するフリップフロップ回路ＦＦ１と、フリップフロップ回路ＦＦ１の出力信号を、書き込みワード／ビット線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞，ＢＰ＜０＞〜ＢＰ＜７＞として出力するインバータ回路Ｉ１３とを有している。
【０４３７】
立ち上がりタイミング決定回路３２は、直列接続された遅延回路Ｄ０，Ｄ１，Ｄ２、ＮＡＮＤゲート回路ＮＤ＜０＞〜ＮＤ＜３＞，ＮＤ６，ＮＤ８、インバータＩ１１及び遅延回路Ｄ７から構成される。立ち下がりタイミング決定回路３３は、直列接続された遅延回路Ｄ３，Ｄ４，Ｄ５，Ｄ６、ＮＡＮＤゲート回路ＮＤ＜４＞〜ＮＤ＜７＞，ＮＤ７，ＮＤ９、インバータＩ１２及び遅延回路Ｄ８から構成される。
【０４３８】
フリップフロップ回路ＦＦ１は、２つのＮＡＮＤゲート回路ＮＤ１０，ＮＤ１１から構成される。
【０４３９】
遅延回路Ｄ０〜Ｄ８は、同一の構成を有していても、又は、互いに異なる構成を有していてもよい。また、遅延回路Ｄ０〜Ｄ８の遅延量に関しても、同一であっても、又は、互いに異なっていてもよい。但し、遅延回路Ｄ０〜Ｄ６に関しては、互いに同一の構成を有し、かつ、同一の遅延量を有していれば、書き込み電流の波形制御が容易になる。
【０４４０】
なお、遅延回路Ｄ０〜Ｄ６の一例として、図５５及び図５６に、定電流源を使用した遅延回路を示す。定電流源回路３４は、遅延回路Ｄ０〜Ｄ６に定電流を供給する。定電流源回路３４は、ＢＧＲ回路から構成される。
【０４４１】
遅延回路Ｄ３の遅延量が遅延回路Ｄ０〜Ｄ２の遅延量の合計よりも大きい場合には、電流波形制御信号ＦＳ＜０＞〜ＦＳ＜３＞のうちの１つが“Ｈ”になることにより、書き込みワード／ビット線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞，ＢＰ＜０＞〜ＢＰ＜７＞の立ち上がり時点が決定され、電流波形制御信号ＦＳ＜４＞〜ＦＳ＜７＞のうちの１つが“Ｈ”になることにより、書き込みワード／ビット線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞，ＢＰ＜０＞〜ＢＰ＜７＞の立ち下がり時点が決定される。
【０４４２】
遅延回路Ｄ０〜Ｄ７の遅延量が全て同じ場合には、表２に示すような関係で、電流波形制御信号ＦＳ＜０＞〜ＦＳ＜３＞のうちの１つ、及び、電流波形制御信号ＦＳ＜４＞〜ＦＳ＜７＞のうちの１つが“Ｈ”になる。
【０４４３】
【表２】
0003808799.tif 000003
【０４４４】
そして、電流波形制御信号ＦＳ＜０＞〜ＦＳ＜３＞のうちの１つが“Ｈ”になることにより、書き込みワード／ビット線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞，ＢＰ＜０＞〜ＢＰ＜７＞の立ち上がり時点が決定され、電流波形制御信号ＦＳ＜４＞〜ＦＳ＜７＞のうちの１つが“Ｈ”になることにより、書き込みワード／ビット線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞，ＢＰ＜０＞〜ＢＰ＜７＞の立ち下がり時点が決定される。
【０４４５】
この波形生成回路の動作について具体的に説明する。
【表３】
0003808799.tif 000004
【０４４６】
まず、初期状態（状態▲１▼）としては、書き込み信号ＷＲＩＴＥは、“Ｌ”であり、出力信号ＷＰ＜ｉ＞又はＢＰ＜ｊ＞は、“Ｌ”となっている。
【０４４７】
この後、書き込み信号ＷＲＩＴＥが“Ｈ”になると（状態▲２▼）、電流波形制御信号ＦＳ＜０＞〜ＦＳ＜３＞によって決定される遅延時間が経過した後、ＮＡＮＤゲート回路ＮＤ６の出力ノードａ１が“Ｈ”になる。なお、この遅延時間が書き込みワード線／ビット線ドライブ信号ＷＰ＜ｉ＞又はＢＰ＜ｊ＞の立ち上がり時点を決定する。
【０４４８】
例えば、電流波形制御信号ＦＳ＜０＞が“Ｈ”、電流波形制御信号ＦＳ＜１＞〜ＦＳ＜３＞が“Ｌ”のときには、書き込み信号ＷＲＩＴＥが“Ｈ”になると、ＮＡＮＤゲート回路ＮＤ６の出力ノードａ１が直ちに“Ｈ”になる。電流波形制御信号ＦＳ＜１＞が“Ｈ”、電流波形制御信号ＦＳ＜０＞，ＦＳ＜２＞，ＦＳ＜３＞が“Ｌ”のときには、書き込み信号ＷＲＩＴＥが“Ｈ”になると、遅延回路Ｄ０が有する遅延時間が経過した後に、ＮＡＮＤゲート回路ＮＤ６の出力ノードａ１が“Ｈ”になる。
【０４４９】
ＮＡＮＤゲート回路ＮＤ６の出力ノードａ１が“Ｈ”になると、フリップフロップ回路ＦＦ１の入力ノードｃ１が“Ｈ”から“Ｌ”に変化するため、フリップフロップ回路ＦＦ１の出力ノードｃ２は、“Ｌ”となる。従って、波形生成回路Ｗｉ又はＢｊの出力信号ＷＰ＜ｉ＞又はＢＰ＜ｊ＞は、“Ｈ”となる。
【０４５０】
この後、遅延回路Ｄ７が有する遅延時間が経過すると（状態▲３▼）、ＮＡＮＤゲート回路ＮＤ８の入力ノードａ２が“Ｌ”になり、フリップフロップ回路ＦＦ１の入力ノードｃ１が“Ｈ”になるが、波形生成回路Ｗｉ又はＢｊの出力信号ＷＰ＜ｉ＞又はＢＰ＜ｊ＞は、“Ｈ”を維持する。
【０４５１】
次に、書き込み信号ＷＲＩＴＥが“Ｈ”になった後、さらに、電流波形制御信号ＦＳ＜４＞〜ＦＳ＜７＞によって決定される遅延時間が経過すると、ＮＡＮＤゲート回路ＮＤ７の出力ノードｂ１が“Ｈ”になる（状態▲４▼）。なお、この遅延時間が書き込みワード線／ビット線ドライブ信号ＷＰ＜ｉ＞又はＢＰ＜ｊ＞の立ち下がり時点を決定する。
【０４５２】
例えば、電流波形制御信号ＦＳ＜４＞が“Ｈ”、電流波形制御信号ＦＳ＜５＞〜ＦＳ＜７＞が“Ｌ”のときには、書き込み信号ＷＲＩＴＥが“Ｈ”になった後、さらに、遅延回路Ｄ３が有する遅延時間が経過すると、ＮＡＮＤゲート回路ＮＤ７の出力ノードｂ１が“Ｈ”になる。電流波形制御信号ＦＳ＜５＞が“Ｈ”、電流波形制御信号ＦＳ＜４＞，ＦＳ＜６＞，ＦＳ＜７＞が“Ｌ”のときには、書き込み信号ＷＲＩＴＥが“Ｈ”になった後、さらに、遅延回路Ｄ３，Ｄ４が有する遅延時間の合計時間が経過すると、ＮＡＮＤゲート回路ＮＤ７の出力ノードｂ１が“Ｈ”になる。
【０４５３】
ＮＡＮＤゲート回路ＮＤ７の出力ノードｂ１が“Ｈ”になると、フリップフロップ回路ＦＦ１の入力ノードｄ１が“Ｈ”から“Ｌ”に変化するため、フリップフロップ回路ＦＦ１の出力ノードｃ２は、“Ｈ”となる。従って、波形生成回路Ｗｉ又はＢｊの出力信号ＷＰ＜ｉ＞又はＢＰ＜ｊ＞は、“Ｌ”となる。
【０４５４】
この後、遅延回路Ｄ８が有する遅延時間が経過すると（状態▲５▼）、ＮＡＮＤゲート回路ＮＤ９の入力ノードｂ２が“Ｌ”になり、フリップフロップ回路ＦＦ１の入力ノードｄ１が“Ｈ”になるが、波形生成回路Ｗｉ又はＢｊの出力信号ＷＰ＜ｉ＞又はＢＰ＜ｊ＞は、“Ｌ”を維持する。
【０４５５】
最後に、書き込み信号ＷＲＩＴＥが“Ｈ”から“Ｌ”に変化すると（状態▲６▼）、ＮＡＮＤゲート回路ＮＤ８，ＮＤ９の入力ノードａ１、ａ２、ｂ１、ｂ２の値が変化し、再び、初期状態に戻る。
【０４５６】
viii. 電流波形例
図５７は、図５４の波形生成回路を用いて生成した書き込みワード／ビット線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞，ＢＰ＜０＞〜ＢＰ＜７＞及びそれにより得られる書き込みワード／ビット線電流の一例を示している。
【０４５７】
同図の波形は、後述する設定回路に登録される電流波形制御信号ＦＳ＜０＞〜ＦＳ＜７＞が以下の場合に得られるものであり、実施例８の書き込み原理を実現している。
【０４５８】
波形生成回路Ｗ０：  ＦＳ＜０＞＝“Ｈ”，ＦＳ＜７＞＝“Ｈ”
波形生成回路Ｗ１：  ＦＳ＜０＞＝“Ｈ”，ＦＳ＜６＞＝“Ｈ”
波形生成回路Ｗ２：  ＦＳ＜０＞＝“Ｈ”，ＦＳ＜６＞＝“Ｈ”
波形生成回路Ｗ３：  ＦＳ＜０＞＝“Ｈ”，ＦＳ＜４＞＝“Ｈ”
波形生成回路Ｂ０：  ＦＳ＜０＞＝“Ｈ”，ＦＳ＜７＞＝“Ｈ”
波形生成回路Ｂ１：  ＦＳ＜１＞＝“Ｈ”，ＦＳ＜７＞＝“Ｈ”
波形生成回路Ｂ２：  ＦＳ＜１＞＝“Ｈ”，ＦＳ＜７＞＝“Ｈ”
波形生成回路Ｂ３：  ＦＳ＜３＞＝“Ｈ”，ＦＳ＜７＞＝“Ｈ”
但し、残りのＦＳ＜ｉ＞は、全て、“Ｌ”である。また、書き込みデータＤＡＴＡは、“１”（＝“Ｈ”）と仮定しているため、波形生成回路Ｂ４〜Ｂ７の出力信号ＢＰ＜４＞〜ＢＰ＜７＞は、書き込みビット線電流に何ら影響を与えない。書き込みデータＤＡＴＡを“０”（＝“Ｌ”）と仮定したときには、波形生成回路Ｂ０〜Ｂ３の出力信号ＢＰ＜０＞〜ＢＰ＜３に代わり、波形生成回路Ｂ４〜Ｂ７の出力信号ＢＰ＜４＞〜ＢＰ＜７＞が有効となる（図５０参照）。
【０４５９】
この波形図から分かることは、書き込みワード線電流の供給／遮断タイミング、大きさ及びその時間的変化（電流波形）は、４つの書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞の“Ｈ”及び“Ｌ”の組み合せにより決定されるということである。同様に、書き込みビット線電流の供給／遮断タイミング、大きさ及びその時間的変化（電流波形）は、４つの書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞の“Ｈ”及び“Ｌ”の組み合せにより決定されるということである。
【０４６０】
これは、ロウデコーダ＆書き込みワード線ドライバ／シンカーが、図４９に示すような構成を有し、かつ、カラムデコーダ＆書き込みビット線ドライバ／シンカーが、図５０に示すような構成を有していることから明らかである。
【０４６１】
書き込みワード／ビット線シンク信号ＷＷＬＳＮＫ，ＷＢＬＳＮＫが“Ｈ”から“Ｌ”になるタイミングは、書き込みワード／ビット線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞，ＢＰ＜０＞〜ＢＰ＜７＞の全てが“Ｌ”になるタイミングよりも遅くなるように、図５２及び図５３の遅延回路２７，２８の遅延量及び図５４の遅延回路Ｄ０〜Ｄ６の遅延量が調整される。
【０４６２】
ix.  設定回路
次に、図５４に示される電流波形制御信号ＦＳ＜０＞〜ＦＳ＜７＞を生成する設定回路について説明する。
【０４６３】
図５８は、設定回路の例を示している。
設定回路２３は、書き込み電流の供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を決定する設定データがプログラムされるレジスタ＜０＞〜＜３＞と、レジスタ＜０＞〜＜３＞の出力信号ＴＤ＜０＞〜ＴＤ＜３＞，ｂＴＤ＜０＞〜ｂＴＤ＜３＞をデコードして、電流波形制御信号ＦＳ＜０＞〜ＦＳ＜７＞を出力するデコーダＦＳ＜０＞〜ＦＳ＜７＞から構成される。
【０４６４】
同図の設定回路２３は、１つの波形生成回路に対応して１つ設けられる。本例では、書き込みワード線ドライバ／シンカー・トリガ回路内に４つの波形生成回路Ｗ０〜Ｗ３が設けられ、書き込みビット線ドライバ／シンカー・トリガ回路内に８つの波形生成回路Ｂ０〜Ｂ７が設けられるため、これに対応して、図５８の設定回路２３は、１２個存在する。
【０４６５】
レジスタ＜０＞，＜１＞には、書き込みワード／ビット線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞，ＢＰ＜０＞〜ＢＰ＜７＞の立ち上がりタイミングを決定する設定データがプログラムされる。書き込みワード／ビット線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞，ＢＰ＜０＞〜ＢＰ＜７＞の立ち上がりタイミングは、レジスタ＜０＞，＜１＞に登録される２ビットの設定データにより、４通り（ＦＳ＜０＞〜ＦＳ＜３＞の１つが“Ｈ”）だけ存在する。
【０４６６】
なお、Ｄ＜０＞，Ｄ＜１＞は、テストモード時に、磁気ランダムアクセスメモリの外部から入力される設定データである。テストモード時には、この設定データに基づいて、書き込みワード／ビット線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞，ＢＰ＜０＞〜ＢＰ＜７＞の立ち上がりタイミングを決定できる。
【０４６７】
レジスタ＜２＞，＜３＞には、書き込みワード／ビット線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞，ＢＰ＜０＞〜ＢＰ＜７＞の立ち下がりタイミングを決定する設定データがプログラムされる。書き込みワード／ビット線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞，ＢＰ＜０＞〜ＢＰ＜７＞の立ち下がりタイミングは、レジスタ＜２＞，＜３＞に登録される２ビットの設定データにより、４通り（ＦＳ＜４＞〜ＦＳ＜７＞の１つが“Ｈ”）だけ存在する。
【０４６８】
なお、Ｄ＜２＞，Ｄ＜３＞は、テストモード時に、磁気ランダムアクセスメモリの外部から入力される設定データである。テストモード時には、この設定データに基づいて、書き込みワード／ビット線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞，ＢＰ＜０＞〜ＢＰ＜７＞の立ち下がりタイミングを決定できる。
【０４６９】
x.  レジスタ＜ｊ＞
図５８の設定回路２３内のレジスタ＜ｊ＞の回路例について説明する。
【０４７０】
図５９は、レジスタの回路例を示している。
レジスタ＜ｊ＞（ｊ＝０，１，２，３）は、プログラムされた設定データを、出力信号ＴＤ＜ｊ＞，ｂＴＤ＜ｊ＞として出力するためのプログラムデータ出力回路２９と、磁気ランダムアクセスメモリの外部から入力された設定データを、出力信号ＴＤ＜ｊ＞，ｂＴＤ＜ｊ＞として出力するための入力データ転送回路３０とから構成される。
【０４７１】
プログラムデータ出力回路２９は、設定データを記憶するためのレーザ溶断ヒューズ（laser blow fuse）２９Ａを有している。レーザ溶断ヒューズ２９Ａの切断の有無により、１ビットデータを記憶する。ＰチャネルＭＯＳトランジスタＰ１とレーザ溶断ヒューズ２９Ａは、電源端子ＶＤＤと接地端子ＶＳＳの間に直列接続される。ＰチャネルＭＯＳトランジスタＰ１のゲートは、接地端子ＶＳＳに接続されるため、ＰチャネルＭＯＳトランジスタＰ１は、常に、オン状態となっている。
【０４７２】
ＰチャネルＭＯＳトランジスタＰ１とレーザ溶断ヒューズ２９Ａの接続点は、インバータＩ９及びトランスファゲートＴＧ４を経由して、インバータＩ７の入力端に接続される。インバータＩ７の出力信号は、ｂＴＤ＜ｊ＞となり、インバータＩ８の出力信号は、ＴＤ＜ｊ＞となる。
【０４７３】
入力データ転送回路３０は、トランスファゲートＴＧ１〜ＴＧ３及びインバータＩ５，Ｉ６から構成される。インバータＩ５，Ｉ６とトランスファゲートＴＧ３は、ラッチ回路を構成している。
【０４７４】
通常動作モードにおける書き込み動作時には、テスト信号ＶＣＴＥＳＴが“Ｌ”となり、テスト信号ｂＶＣＴＥＳＴが“Ｈ”となる。このため、トランスファゲートＴＧ４は、オン状態となり、トランスファゲートＴＧ１，ＴＧ２は、オフ状態となる。
【０４７５】
従って、レーザ溶断ヒューズ２９Ａにプログラムされた設定データが、トランスファゲートＴＧ４及びインバータＩ７〜Ｉ９を経由して、出力信号ＴＤ＜ｊ＞，ｂＴＤ＜ｊ＞として出力される。
【０４７６】
テストモードにおける書き込み動作時には、テスト信号ＶＣＴＥＳＴが“Ｈ”となり、テスト信号ｂＶＣＴＥＳＴが“Ｌ”となる。このため、トランスファゲートＴＧ１，ＴＧ２は、オン状態となり、トランスファゲートＴＧ３，ＴＧ４は、オフ状態となる。
【０４７７】
従って、外部端子（データ入力端子、アドレス端子など）から入力される設定データＤ＜ｊ＞が、トランスファゲートＴＧ１，ＴＧ２及びインバータＩ５〜Ｉ８を経由して、出力信号ＴＤ＜ｊ＞，ｂＴＤ＜ｊ＞として出力される。
【０４７８】
テストモードにおけるスタンバイ時には、テスト信号ＶＣＴＥＳＴが“Ｌ”となり、テスト信号ｂＶＣＴＥＳＴが“Ｈ”となる。このため、トランスファゲートＴＧ１，ＴＧ２は、オフ状態となり、トランスファゲートＴＧ３，ＴＧ４は、オン状態となる。
【０４７９】
従って、外部端子から入力された設定データＤ＜ｊ＞は、トランスファゲートＴＧ３及びインバータＩ５，Ｉ６からなるラッチ回路にラッチされる。この後は、ラッチ回路にラッチされた設定データに基づいて、書き込みテストを行うことができる。
【０４８０】
なお、設定データを記憶するための記憶素子としては、レーザ溶断ヒューズの他に、例えば、磁化状態によりデータを記憶するＴＭＲ素子（MTJ）や、トンネルバリアを絶縁破壊するか否かでデータを記憶するＴＭＲ素子などを使用することができる（図４５参照）。
【０４８１】
xi.  デコーダＦＳ＜ｋ＞
図５８の設定回路２３内のデコーダＦＳ＜ｋ＞の回路例について説明する。
【０４８２】
図６０は、デコーダの回路例を示している。
デコーダＦＳ＜ｋ＞（ｊ＝０，１，・・・７）は、ＮＡＮＤゲート回路ＮＤ３及びインバータＩ１０から構成される。
【０４８３】
ＮＡＮＤゲート回路ＮＤ３には、２つの入力信号Ａ，Ｂが入力され、その出力信号は、インバータＩ１０に入力される。インバータＩ１０の出力信号Ｃは、ＦＳ＜ｋ＞となる。
【０４８４】
デコーダＦＳ＜ｋ＞のデコーディング表（入力信号と出力信号との関係）を、表４に示す。
【０４８５】
【表４】
0003808799.tif 000005
【０４８６】
xii.  まとめ
以上、説明したように、磁気ランダムアクセスメモリの回路例２によれば、書き込みワード／ビット線に対する書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を、チップ毎又はメモリセルアレイ毎に、プログラミングにより設定できる。これにより、例えば、実施例１〜１０の書き込み原理を実現可能にし、ＴＭＲ素子の記憶層の磁化反転を確実に行い、書き込み特性の向上を図ることができる。
【０４８７】
また、回路例２では、書き込みデータの値に応じて、書き込みビット線に流れる電流の向きが変化する。ここで、回路例２では、書き込みビット線電流の向きに対して、個別に、書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を設定できる。
【０４８８】
つまり、書き込みデータが“１”（＝“Ｈ”）のときは、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞により、書き込みビット線電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）が制御され、書き込みデータが“０”（＝“Ｌ”）のときは、書き込みビット線ドライブ信号ＢＰ＜４＞〜ＢＰ＜７＞により、書き込みビット線電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）が制御される。
【０４８９】
このように、回路例２では、ＴＭＲ素子の特性などを考慮し、書き込みビット線に流れる書き込み電流の向きに応じて、個別に、書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を設定できるため、ＴＭＲ素子の記憶層の磁化反転を確実に行い、書き込み特性の向上を図ることができる。
【０４９０】
▲３▼  回路例３
回路例３は、回路例２の一部を変形した変形例であり、書き込みワード／ビット線に対する書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を、プログラミングにより設定できる磁気ランダムアクセスメモリに関する。
【０４９１】
回路例３は、回路例２と比較すると、カラムデコーダ＆書き込みビット線ドライバ／シンカー及び書き込みビット線ドライバ／シンカー・トリガ回路の構成に特徴を有する。
【０４９２】
即ち、ロウデコーダ＆書き込みワード線ドライバ／シンカーについては、図４９に示す回路、書き込み電流波形制御回路内の書き込みワード線ドライバ／シンカー・トリガ回路については、図５１及び図５２に示す回路をそのまま使用することができる。
【０４９３】
また、書き込みビット線ドライバ／シンカー・トリガ回路内の波形生成回路については、図５４乃至図５６に示す回路、設定回路については、図５８乃至図６０に示す回路をそのまま使用することができる。
【０４９４】
回路例２では、書き込みビット線電流の向きに対して、個別に、書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を設定できる構成について提案した。これに対し、回路例３では、書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）に関しては、チップ毎又はメモリセルアレイ毎に設定されるのみで、書き込みビット線電流の向きに対して、それらは変わらないような構成について提案する。
【０４９５】
i.  全体構成
図６１は、回路例３に関わる磁気ランダムアクセスメモリの主要部の構成を示している。
【０４９６】
磁気ランダムアクセスメモリ（ＭＲＡＭ）１１は、それ自体で１つのメモリチップを構成していてもよいし、また、特定機能を有するチップ内の１つのブロックであってもよい。メモリセルアレイ（データセル）１２は、実際に、データを記憶する機能を有し、レファレンスセルアレイ１３は、読み出し動作時に、読み出しデータの値を判定するための基準を決める機能を有する。
【０４９７】
メモリセルアレイ１２及びレファレンスセルアレイ１３からなるセルアレイのＸ方向の２つの端部のうちの１つには、ロウデコーダ＆ドライバ（ロウデコーダ＆書き込みワード線ドライバ，ロウデコーダ＆読み出しワード線ドライバ）１４が配置され、他の１つには、書き込みワード線シンカー１５が配置される。
【０４９８】
ロウデコーダ＆ドライバ１４は、書き込み動作時、例えば、ロウアドレス信号に基づいて、複数の書き込みワード線のうちの１つを選択し、かつ、選択された１つの書き込みワード線に、書き込み電流を供給する機能を有する。書き込みワード線シンカー１５は、書き込み動作時、例えば、選択された１つの書き込みワード線に供給された書き込み電流を吸収する機能を有する。
【０４９９】
ロウデコーダ＆ドライバ１４は、読み出し動作時、例えば、ロウアドレス信号に基づいて、複数の読み出しワード線（書き込みワード線と一体化されていてもよい）のうちの１つを選択し、かつ、選択された１つの読み出しワード線に、読み出し電流を流す機能を有する。センスアンプ２０は、例えば、この読み出し電流を検出して、読み出しデータを判定する。
【０５００】
メモリセルアレイ１２のＹ方向の２つの端部のうちの１つには、カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａが配置され、他の１つには、カラムデコーダ＆書き込みビット線ドライバ／シンカー（カラムトランスファゲート、カラムデコーダを含む）１７Ａが配置される。
【０５０１】
カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａ，１７Ａは、書き込み動作時、例えば、カラムアドレス信号に基づいて、複数の書き込みビット線（又はデータ選択線）のうちの１つを選択し、かつ、選択された１つの書き込みビット線に、書き込みデータに応じた向きを有する書き込み電流を流す機能を有する。カラムトランスファゲート及びカラムデコーダは、読み出し動作時、カラムアドレス信号により選択されたデータ選択線をセンスアンプ２０に電気的に接続する機能を有する。
【０５０２】
レファレンスセルアレイ１３のＹ方向の２つの端部のうちの１つには、レファレンスセル用カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ｂが配置され、他の１つには、レファレンスセル用カラムデコーダ＆書き込みビット線ドライバ／シンカー（カラムトランスファゲート、カラムデコーダを含む）１７Ｂが配置される。
【０５０３】
レファレンスセル用カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ｂ，１７Ｂは、レファレンスセルアレイ１３にレファレンスデータを記憶させる機能を有する。カラムトランスファゲート及びカラムデコーダは、読み出し動作時、レファレンスデータを読み出し、これをセンスアンプ２０に転送する機能を有する。
【０５０４】
アドレスレシーバ１８は、アドレス信号を受け、例えば、ロウアドレス信号を、ロウデコーダ＆ドライバ１４に転送し、カラムアドレス信号を、カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａ，１７Ａに転送する。データ入力レシーバ１９は、書き込みデータを、カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａ，１７Ａに転送する。また、出力ドライバ２１は、センスアンプ２０で検出された読み出しデータを、磁気ランダムアクセスメモリ１１の外部へ出力する。
【０５０５】
制御回路２２は、／ＣＥ（Chip Enable）信号、／ＷＥ（Write Enable）信号及び／ＯＥ（Output Enable）信号を受け、磁気ランダムアクセスメモリ１１の動作を制御する。例えば、制御回路２２は、書き込み動作時、書き込み信号ＷＲＩＴＥを、書き込み電流波形制御回路２４に与える。書き込み電流波形制御回路２４は、書き込み信号ＷＲＩＴＥを受けると、例えば、設定回路２３に予めプログラムされた設定データに基づいて、書き込み電流の供給／遮断タイミング、大きさ及びその時間的変化（電流波形）などを決定する。
【０５０６】
具体的には、書き込み電流波形制御回路２４は、書き込み動作時、ロウデコーダ＆ドライバ１４に、書き込みワード線ドライブ信号（電流波形生成信号）ＷＰ＜０＞〜ＷＰ＜３＞を与え、書き込みワード線シンカー１５に、書き込みワード線シンク信号ＷＷＬＳＮＫを与える。
【０５０７】
また、カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａに、書き込みビット線ドライブ信号（電流波形生成信号）ＢＰ＜０＞〜ＢＰ＜３＞及び書き込みビット線シンク信号ＷＢＬＳＮＫを与え、かつ、カラムデコーダ＆書き込みビット線ドライバ／シンカー１７Ａに、書き込みビット線ドライブ信号（電流波形生成信号）ＢＰ＜０＞〜ＢＰ＜３＞及び書き込みビット線シンク信号ＷＢＬＳＮＫを与える。
【０５０８】
書き込み動作時、例えば、ロウデコーダ＆ドライバ１４については、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞のうちの少なくとも１つが“Ｈ”のときに動作状態となり、同様に、書き込みワード線シンカー１５及びカラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａ，１７Ａについては、それぞれ、書き込みワード線シンク信号ＷＷＬＳＮＫ、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞のうちの少なくとも１つ及び書き込みビット線シンク信号ＷＢＬＳＮＫが“Ｈ”のときに動作状態となるようにする。
【０５０９】
このようにすれば、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞、書き込みワード線シンク信号ＷＷＬＳＮＫ、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞及び書き込みビット線シンク信号ＷＢＬＳＮＫが“Ｈ”になるタイミングを、書き込み電流波形制御回路２４で制御することにより、書き込み電流の供給／遮断タイミング（磁界Ｈｘ，Ｈｙの印加タイミング）、大きさ及びその時間的変化（電流波形）を決定し、実施例１〜１０の書き込み原理を実現することができる。
【０５１０】
書き込み電流の電流吸収タイミングに関しては、例えば、シンク信号ＷＷＬＳＮＫ，ＷＢＬＳＮＫが“Ｈ”から“Ｌ”になるタイミングを、ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞，ＢＰ＜０＞〜ＢＰ＜３＞が“Ｈ”から“Ｌ”になるタイミングよりも遅らせることにより、書き込みワード／ビット線の電位を完全に０Ｖにする、といったことも可能にできる。
【０５１１】
これらの信号ＷＰ＜０＞〜ＷＰ＜３＞，ＷＷＬＳＮＫ，ＢＰ＜０＞〜ＢＰ＜３＞，ＷＢＬＳＮＫが“Ｈ”になるタイミングは、設定回路２３に予めプログラムされた設定データに基づいて決定される。プログラミング素子としては、例えば、レーザ溶断型ヒューズ、ＴＭＲ素子（MTJ）や、ＴＭＲ素子のトンネルバリアを破壊するアンチヒューズなどを使用することができる。
【０５１２】
磁気ランダムアクセスメモリのテストモードにおいては、例えば、データ入出力端子から入力される設定データに基づいて、書き込み電流の供給／遮断タイミング、大きさ及びその時間的変化（電流波形）などを決定することもできる。設定データは、アドレス端子から入力させるようにしてもよい。
【０５１３】
ii.  カラムデコーダ＆書き込みビット線ドライバ／シンカー
図６２は、カラムデコーダ＆書き込みビット線ドライバ／シンカーの回路例を示している。
【０５１４】
回路例３のカラムデコーダ＆書き込みビット線ドライバ／シンカーは、回路例２のカラムデコーダ＆書き込みビット線ドライバ／シンカー（図５０）と比べると、カラムデコーダ＆書き込みビット線ドライバ／シンカー（１カラム分）１７Ａ内のＮＡＮＤゲート回路ＮＤＢＰ４〜ＮＤＢＰ７に入力される書き込みビット線ドライブ信号が、ＢＰ＜０＞〜ＢＰ＜３＞である点に特徴を有する。
【０５１５】
即ち、回路例３では、カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａ内のＮＡＮＤゲート回路ＮＤＢＰ０〜ＮＤＢＰ３に入力される書き込みビット線ドライブ信号と、カラムデコーダ＆書き込みビット線ドライバ／シンカー１７Ａ内のＮＡＮＤゲート回路ＮＤＢＰ４〜ＮＤＢＰ７に入力される書き込みビット線ドライブ信号とが、同じとなっている。
【０５１６】
カラムデコーダ＆書き込みビット線ドライバ／シンカー（１カラム分）１６Ａは、ＮＡＮＤゲート回路ＮＤＢＰ０〜ＮＤＢＰ３、ＡＮＤゲート回路ＡＤ２，ＡＤ３、ＰチャネルＭＯＳトランジスタＢＰ０〜ＢＰ３及びＮチャネルＭＯＳトランジスタＢＮ０から構成される。
【０５１７】
ＰチャネルＭＯＳトランジスタＢＰｉ（ｉ＝０，１，２，３）のゲートは、ＮＡＮＤゲート回路ＮＤＢＰｉの出力端子に接続され、そのソースは、電源端子ＶＤＤに接続され、そのドレインは、共通に、書き込みビット線ＷＢＬｉ（ｉ＝１，・・・）の一端に接続される。
【０５１８】
ＮＡＮＤゲート回路ＮＤＢＰｉ（ｉ＝０，１，２，３）の２つの入力端子の一方には、書き込みワード線ドライブ信号（電流波形生成信号）ＢＰ＜ｉ＞（ｉ＝０，１，２，３）が入力され、他方には、ＡＮＤゲート回路ＡＤ２の出力信号が入力される。ＡＮＤゲート回路ＡＤ２には、複数ビットから構成されるカラムアドレス信号（カラムｉ毎に異なる）及び書き込みデータＤＡＴＡが入力される。
【０５１９】
ＮチャネルＭＯＳトランジスタＢＮ０のゲートは、ＡＮＤゲート回路ＡＤ３の出力端子に接続され、そのソースは、接地端子ＶＳＳに接続され、そのドレインは、書き込みビット線ＷＢＬｉ（ｉ＝１，・・・）の一端に接続される。ＡＮＤゲート回路ＡＤ３には、複数ビットから構成されるカラムアドレス信号（カラムｉ毎に異なる）、書き込みビット線シンク信号ＷＢＬＳＮＫ及び書き込みデータの反転信号ｂＤＡＴＡが入力される。
【０５２０】
カラムデコーダ＆書き込みビット線ドライバ／シンカー（１カラム分）１７Ａは、ＮＡＮＤゲート回路ＮＤＢＰ４〜ＮＤＢＰ７、ＡＮＤゲート回路ＡＤ４，ＡＤ５、ＰチャネルＭＯＳトランジスタＢＰ４〜ＢＰ７及びＮチャネルＭＯＳトランジスタＢＮ１から構成される。
【０５２１】
ＰチャネルＭＯＳトランジスタＢＰｉ（ｉ＝４，５，６，７）のゲートは、ＮＡＮＤゲート回路ＮＤＢＰｉの出力端子に接続され、そのソースは、電源端子ＶＤＤに接続され、そのドレインは、共通に、書き込みビット線ＷＢＬｉ（ｉ＝１，・・・）の他端に接続される。
【０５２２】
ＮＡＮＤゲート回路ＮＤＢＰｉ（ｉ＝４，５，６，７）の２つの入力端子の一方には、書き込みワード線ドライブ信号（電流波形生成信号）ＢＰ＜ｉ＞（ｉ＝０，１，２，３）が入力され、他方には、ＡＮＤゲート回路ＡＤ４の出力信号が入力される。ＡＮＤゲート回路ＡＤ４には、複数ビットから構成されるカラムアドレス信号（カラムｉ毎に異なる）及び書き込みデータの反転信号ｂＤＡＴＡが入力される。
【０５２３】
ＮチャネルＭＯＳトランジスタＢＮ１のゲートは、ＡＮＤゲート回路ＡＤ５の出力端子に接続され、そのソースは、接地端子ＶＳＳに接続され、そのドレインは、書き込みビット線ＷＢＬｉ（ｉ＝１，・・・）の他端に接続される。ＡＮＤゲート回路ＡＤ５には、複数ビットから構成されるカラムアドレス信号（カラムｉ毎に異なる）、書き込みビット線シンク信号ＷＢＬＳＮＫ及び書き込みデータＤＡＴＡが入力される。
【０５２４】
選択されたカラムｉでは、カラムアドレス信号の全てのビットが“Ｈ”となる。このため、選択されたカラムｉでは、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜７＞の少なくとも１つ及び書き込みビット線シンク信号ＷＢＬＳＮＫが“Ｈ”になったとき、書き込みデータＤＡＴＡの値に応じた向きを有する書き込み電流が、書き込みビット線ＷＢＬｉに流れる。
【０５２５】
例えば、書き込みデータＤＡＴＡが“１”（＝“Ｈ”）のときには、ＰチャネルＭＯＳトランジスタＢＰ０〜ＢＰ３の少なくとも１つ及びＮチャネルＭＯＳトランジスタＢＮ１がオン状態となるため、カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａからカラムデコーダ＆書き込みビット線ドライバ／シンカー１７Ａに向かう書き込み電流が流れる。
【０５２６】
また、書き込みデータＤＡＴＡが“０”（＝“Ｌ”）のときには、ＰチャネルＭＯＳトランジスタＢＰ４〜ＢＰ７の少なくとも１つ及びＮチャネルＭＯＳトランジスタＢＮ０がオン状態となるため、カラムデコーダ＆書き込みビット線ドライバ／シンカー１７Ａからカラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａに向かう書き込み電流が流れる。
【０５２７】
このようなカラムデコーダ＆書き込みビット線ドライバ／シンカーによれば、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞の少なくとも１つ及び書き込みビット線シンク信号ＷＢＬＳＮＫが“Ｈ”又は“Ｌ”になるタイミングを制御することで、選択されたカラムｉ内の書き込みビット線ＷＢＬｉに対する書き込み電流の供給／遮断タイミング、大きさ及びその時間的変化（電流波形）などを決定することができる。
【０５２８】
また、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞の全てを“Ｌ”に設定した後、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｌ”に設定すれば、書き込み動作後の書き込みビット線ＷＢＬｉの電位を完全に０Ｖにすることができる。
【０５２９】
なお、書き込み電流の大きさ又はその時間的変化（電流波形）を制御するに当たっては、第一に、複数のＰチャネルＭＯＳトランジスタＢＰ０〜ＢＰ７のサイズ（チャネル幅）、即ち、駆動能力を、全て同じ値に設定し、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞を用いて、オン状態のＰチャネルＭＯＳトランジスタＢＰ０〜ＢＰ７の数を変える、という制御方法を使用できる。
【０５３０】
第二に、複数のＰチャネルＭＯＳトランジスタＢＰ０〜ＢＰ７のサイズ（チャネル幅）、即ち、駆動能力を、互いに異なる値に設定し、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞を用いて、複数のＰチャネルＭＯＳトランジスタＢＰ０〜ＢＰ７のうちの１つを選択的にオン状態にする、という制御方法を使用できる。
【０５３１】
第三に、これら第一及び第二の方法を組み合せた制御方法、即ち、ＰチャネルＭＯＳトランジスタＢＰ０〜ＢＰ７のサイズを変え、かつ、オン状態のＰチャネルＭＯＳトランジスタＢＰ０〜ＢＰ７の数を変えて、書き込み電流の大きさの時間的変化（電流波形）を制御する、という制御方法を使用できる。
【０５３２】
iii.  書き込み電流波形制御回路
次に、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞、書き込みワード線シンク信号ＷＷＬＳＮＫ、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞及び書き込みビット線シンク信号ＷＢＬＳＮＫを生成する書き込み電流波形制御回路の例について説明する。
【０５３３】
図６３は、書き込み電流波形制御回路の例を示している。
書き込み電流波形制御回路２４は、書き込みワード線ドライバ／シンカー・トリガ回路２５及び書き込みビット線ドライバ／シンカー・トリガ回路２６から構成される。
【０５３４】
書き込みワード線ドライバ／シンカー・トリガ回路２５は、書き込み信号ＷＲＩＴＥ及び電流波形制御信号ＦＳ＜０＞〜ＦＳ＜７＞  FOR  Ｗｉ（ｉ＝０，１，２，３）に基づいて、書き込みワード線ドライブ信号（電流波形生成信号）ＷＰ＜０＞〜ＷＰ＜３＞及び書き込みワード線シンク信号ＷＷＬＳＮＫを生成する。
【０５３５】
書き込みビット線ドライバ／シンカー・トリガ回路２６は、書き込み信号ＷＲＩＴＥ及び電流波形制御信号ＦＳ＜０＞〜ＦＳ＜７＞  FOR  Ｂｊ（ｊ＝０，１，２，３）に基づいて、書き込みビット線ドライブ信号（電流波形生成信号）ＢＰ＜０＞〜ＢＰ＜３＞及び書き込みビット線シンク信号ＷＢＬＳＮＫを生成する。
【０５３６】
ここで、電流波形制御信号ＦＳ＜０＞〜ＦＳ＜７＞  FOR  Ｗｉ，ＦＳ＜０＞〜ＦＳ＜７＞  FOR  Ｂｊにおける“FOR  Ｗｉ”及び“FOR  Ｂｊ”は、書き込みワード／ビット線ドライバ／シンカー・トリガ回路２５，２６内の後述する複数の波形生成回路Ｗｉ，Ｂｊごとに、電流波形制御信号ＦＳ＜０＞〜ＦＳ＜７＞の値が設定されることを意味している。
【０５３７】
書き込み信号ＷＲＩＴＥは、書き込み動作時に“Ｈ”となる信号である。
【０５３８】
書き込みワード線ＷＷＬｉに対する書き込み電流の供給／遮断のタイミング、大きさ及びその時間的変化（電流波形）、即ち、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞及び書き込みワード線シンク信号ＷＷＬＳＮＫを“Ｈ”又は“Ｌ”にするタイミングは、電流波形制御信号ＦＳ＜０＞〜ＦＳ＜７＞  FOR  Ｗｉにより決定される。
【０５３９】
書き込みビット線ＷＢＬｉに対する書き込み電流の供給／遮断のタイミング、大きさ及びその時間的変化（電流波形）、即ち、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞及び書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｈ”又は“Ｌ”にするタイミングは、電流波形制御信号ＦＳ＜０＞〜ＦＳ＜７＞  FOR  Ｂｊにより決定される。
【０５４０】
電流波形制御信号ＦＳ＜０＞〜ＦＳ＜７＞  FOR  Ｗｉ，ＦＳ＜０＞〜ＦＳ＜７＞  FOR  Ｂｊは、図５８乃至図６０の設定回路により生成される。
【０５４１】
iv.  書き込みビット線ドライバ／シンカー・トリガ回路
図６４は、書き込みビット線ドライバ／シンカー・トリガ回路の例を示している。
【０５４２】
回路例３の書き込みビット線ドライバ／シンカー・トリガ回路は、回路例２の書き込みビット線ドライバ／シンカー・トリガ回路（図５３）と比べると、波形生成回路Ｂｉの数が減っている点に特徴を有する。
【０５４３】
即ち、回路例２では、図５３に示すように、８つの書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜７＞に対応して、８つの波形生成回路Ｂ０〜Ｂ７が必要であったが、回路例３では、４つの書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞に対応して、４つの波形生成回路Ｂ０〜Ｂ３のみを設ければよい。
【０５４４】
書き込みビット線ドライバ／シンカー・トリガ回路２６は、書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を決定する電流供給／遮断タイミング決定回路２６Ｘと、書き込み電流の電流吸収タイミングを決定する電流吸収タイミング決定回路２６Ｙとから構成される。
【０５４５】
電流供給／遮断タイミング決定回路２６Ｘは、書き込み信号ＷＲＩＴＥが“Ｈ”又は“Ｌ”になった後、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞を“Ｈ”又は“Ｌ”にするタイミングを決定する。電流供給／遮断タイミング決定回路２６Ｘは、複数（本例では、４つ）の波形生成回路Ｂ０〜Ｂ３及びインバータＩＶ９〜ＩＶ１６から構成される。
【０５４６】
波形生成回路Ｂ０〜Ｂ３は、それぞれ、書き込み信号ＷＲＩＴＥ及び電流波形制御信号ＦＳ＜０＞〜ＦＳ＜７＞  FOR  Ｂｉに基づいて、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞を生成する。書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞は、図６１の書き込みビット線ドライバを駆動する。
【０５４７】
書き込みデータＤＡＴＡが“１”（＝“Ｈ”）のとき、書き込み電流は、書き込みビット線ドライバ／シンカー１６Ａから書き込みビット線ドライバ／シンカー１７Ａに向かって流れ、その電流波形は、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞の波形を合成した合成波形にほぼ等しくなる。
【０５４８】
書き込みデータＤＡＴＡが“０”（＝“Ｌ”）のとき、書き込み電流は、書き込みビット線ドライバ／シンカー１７Ａから書き込みビット線ドライバ／シンカー１６Ａに向かって流れ、その電流波形も、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞の波形を合成した合成波形にほぼ等しくなる。
【０５４９】
なお、本例では、波形生成回路Ｂ０〜Ｂ３は、４つであるが、当然に、その数を多くすればするほど、書き込みワード線ＷＷＬｉに流れる書き込み電流の電流波形を細かく制御できる。
【０５５０】
電流吸収タイミング決定回路２６Ｙは、インバータＩＶ０、ＮＡＮＤゲート回路ＮＤ２及び遅延回路２８から構成される。
【０５５１】
電流吸収タイミング決定回路２６Ｙは、書き込み信号ＷＲＩＴＥが“Ｈ”になるとほぼ同時に、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｈ”にし、書き込み信号ＷＲＩＴＥが“Ｌ”になった後、遅延回路２７により決まる遅延時間後に、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｌ”にする。
【０５５２】
このように、書き込み信号ＷＲＩＴＥを“Ｌ”にした後、一定のインターバルを経た後に、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｌ”にすることにより、書き込み動作後に、書き込みビット線ＷＢＬｉを完全に０Ｖにすることができる。
【０５５３】
v.  まとめ
以上、説明したように、磁気ランダムアクセスメモリの回路例３によれば、書き込みワード／ビット線に対する書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を、チップ毎又はメモリセルアレイ毎に、プログラミングにより設定できる。これにより、例えば、実施例１〜１０の書き込み原理を実現可能にし、ＴＭＲ素子の記憶層の磁化反転を確実に行い、書き込み特性の向上を図ることができる。
【０５５４】
また、回路例３では、書き込みデータの値に応じて、書き込みビット線に流れる電流の向きが変化する。ここで、回路例３では、書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）は、チップ毎又はメモリセルアレイ毎に設定し、書き込みビット線電流の向き（書き込みデータの値）に対しては、それらが同じとなるようにしている。
【０５５５】
その結果、書き込みビット線ドライブ信号の数は、回路例２の場合に比べて、半分になる。つまり、書き込みビット線ドライバ／シンカー・トリガ回路内の波形生成回路の数が減るため、書き込み電流波形制御回路の大きさを縮小でき、チップサイズの縮小などに貢献できる。
【０５５６】
(2)   書き込みワード／ビット線毎に設定する場合
次に、磁気ランダムアクセスメモリのセルアレイ内の書き込みワード／ビット線毎に、書き込み原理や、書き込み電流の供給／遮断タイミング・大きさなどを設定するための回路について説明する。
【０５５７】
▲１▼  回路例１
回路例１は、書き込みワード／ビット線に対する書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を、プログラミングにより設定できる機能を設けた磁気ランダムアクセスメモリに関する。
【０５５８】
i.  全体構成
図６５は、回路例１に関わる磁気ランダムアクセスメモリの主要部の構成を示している。
【０５５９】
磁気ランダムアクセスメモリ（ＭＲＡＭ）１１は、それ自体で１つのメモリチップを構成していてもよいし、また、特定機能を有するチップ内の１つのブロックであってもよい。メモリセルアレイ（データセル）１２は、実際に、データを記憶する機能を有し、レファレンスセルアレイ１３は、読み出し動作時に、読み出しデータの値を判定するための基準を決める機能を有する。
【０５６０】
メモリセルアレイ１２及びレファレンスセルアレイ１３からなるセルアレイのＸ方向の２つの端部のうちの１つには、ロウデコーダ＆ドライバ（ロウデコーダ＆書き込みワード線ドライバ，ロウデコーダ＆読み出しワード線ドライバ）１４−１が配置され、他の１つには、書き込みワード線シンカー１５が配置される。
【０５６１】
ロウデコーダ＆ドライバ１４−１は、書き込み動作時、例えば、ロウアドレス信号に基づいて、複数の書き込みワード線のうちの１つを選択し、かつ、選択された１つの書き込みワード線に、書き込み電流を供給する機能を有する。書き込みワード線シンカー１５は、書き込み動作時、例えば、選択された１つの書き込みワード線に供給された書き込み電流を吸収する機能を有する。
【０５６２】
ロウデコーダ＆ドライバ１４−１は、読み出し動作時、例えば、ロウアドレス信号に基づいて、複数の読み出しワード線（書き込みワード線と一体化されていてもよい）のうちの１つを選択し、かつ、選択された１つの読み出しワード線に、読み出し電流を流す機能を有する。センスアンプ２０は、例えば、この読み出し電流を検出して、読み出しデータを判定する。
【０５６３】
メモリセルアレイ１２のＹ方向の２つの端部のうちの１つには、カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａ−１が配置され、他の１つには、カラムデコーダ＆書き込みビット線ドライバ／シンカー（カラムトランスファゲート、カラムデコーダを含む）１７Ａ−１が配置される。
【０５６４】
カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａ−１，１７Ａ−１は、書き込み動作時、例えば、カラムアドレス信号に基づいて、複数の書き込みビット線（又はデータ選択線）のうちの１つを選択し、かつ、選択された１つの書き込みビット線に、書き込みデータに応じた向きを有する書き込み電流を流す機能を有する。カラムトランスファゲート及びカラムデコーダは、読み出し動作時、カラムアドレス信号により選択されたデータ選択線をセンスアンプ２０に電気的に接続する機能を有する。
【０５６５】
レファレンスセルアレイ１３のＹ方向の２つの端部のうちの１つには、レファレンスセル用カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ｂが配置され、他の１つには、レファレンスセル用カラムデコーダ＆書き込みビット線ドライバ／シンカー（カラムトランスファゲート、カラムデコーダを含む）１７Ｂが配置される。
【０５６６】
レファレンスセル用カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ｂ，１７Ｂは、レファレンスセルアレイ１３にレファレンスデータを記憶させる機能を有する。カラムトランスファゲート及びカラムデコーダは、読み出し動作時、レファレンスデータを読み出し、これをセンスアンプ２０に転送する機能を有する。
【０５６７】
アドレスレシーバ１８は、アドレス信号を受け、例えば、ロウアドレス信号を、ロウデコーダ＆ドライバ１４−１に転送し、カラムアドレス信号を、カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａ−１，１７Ａ−１に転送する。データ入力レシーバ１９は、書き込みデータを、カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａ−１，１７Ａ−１に転送する。また、出力ドライバ２１は、センスアンプ２０で検出された読み出しデータを、磁気ランダムアクセスメモリ１１の外部へ出力する。
【０５６８】
制御回路２２は、／ＣＥ（Chip Enable）信号、／ＷＥ（Write Enable）信号及び／ＯＥ（Output Enable）信号を受け、磁気ランダムアクセスメモリ１１の動作を制御する。例えば、制御回路２２は、書き込み動作時、書き込み信号ＷＲＩＴＥを、書き込み電流波形制御回路・設定回路１４−２，１６Ａ−２，１７Ａ−２に与える。
【０５６９】
書き込み電流波形制御回路・設定回路１４−２，１６Ａ−２，１７Ａ−２は、書き込み信号ＷＲＩＴＥを受けると、書き込みワード／ビット線毎に、例えば、設定回路に予めプログラムされた設定データに基づいて、書き込み電流の供給／遮断タイミング、大きさ及びその時間的変化（電流波形）などを決定する。
【０５７０】
具体的には、書き込み電流波形制御回路・設定回路１４−２は、書き込み動作時、ロウデコーダ＆ドライバ１４−１に、書き込みワード線ドライブ信号（電流波形生成信号）ＷＰ＜０＞〜ＷＰ＜３＞，ＷＳ＜０＞〜ＷＳ＜３＞を与え、書き込みワード線シンカー１５に、書き込みワード線シンク信号ＷＷＬＳＮＫを与える。また、書き込み電流波形制御回路・設定回路１６Ａ−２，１７Ａ−２は、カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａ−１，１７Ａ−１に、書き込みビット線ドライブ信号（電流波形生成信号）ＢＰ＜０＞〜ＢＰ＜７＞，ＢＳ＜０＞〜ＢＳ＜７＞及び書き込みビット線シンク信号ＷＢＬＳＮＫを与える。
【０５７１】
書き込み動作時、回路例１では、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞，ＷＳ＜０＞〜ＷＳ＜３＞を用いて、ロウデコーダ＆ドライバ１４−１を駆動する。これにより、書き込みワード線毎に、書き込み電流の供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を制御できる。
【０５７２】
また、書き込み動作時、回路例１では、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜７＞，ＢＳ＜０＞〜ＢＳ＜７＞を用いて、書き込みビット線ドライバ／シンカー１６Ａ−１，１７Ａ−１を駆動する。これにより、書き込みビット線毎に、書き込み電流の供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を制御できる。また、回路例１では、書き込みビット線電流の向きに対して、それぞれ、個別に、書き込み電流の供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を制御できる。
【０５７３】
書き込み電流の電流吸収タイミングに関しては、例えば、シンク信号ＷＷＬＳＮＫ，ＷＢＬＳＮＫが“Ｈ”から“Ｌ”になるタイミングを、ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞，ＷＳ＜０＞〜ＷＳ＜３＞，ＢＰ＜０＞〜ＢＰ＜７＞，ＢＳ＜０＞〜ＢＳ＜７＞の全てが“Ｈ”から“Ｌ”になるタイミングよりも遅らせることにより、書き込みワード／ビット線の電位を完全に０Ｖにする、といったことも可能にできる。
【０５７４】
書き込みワード線ドライブ信号ＷＳ＜０＞〜ＷＳ＜３＞，ＢＳ＜０＞〜ＢＳ＜７＞の値は、例えば、設定回路に予めプログラムされた設定データに基づいて決定される。プログラミング素子としては、例えば、レーザ溶断型ヒューズ、ＴＭＲ素子（MTJ）や、ＴＭＲ素子のトンネルバリアを破壊するアンチヒューズなどを使用することができる。
【０５７５】
磁気ランダムアクセスメモリのテストモードにおいては、例えば、データ入出力端子から入力される設定データに基づいて、書き込み電流の供給／遮断タイミング、大きさ及びその時間的変化（電流波形）などを決定することもできる。設定データは、アドレス端子から入力させるようにしてもよい。
【０５７６】
ii.  ロウデコーダ＆書き込みワード線ドライバ／シンカー
図６６は、ロウデコーダ＆書き込みワード線ドライバ／シンカーの回路例を示している。
【０５７７】
ロウデコーダ＆書き込みワード線ドライバ（１ロウ分）１４−１は、ＡＮＤゲート回路ＡＤ１、ＮＡＮＤゲート回路ＮＤＷＰ０〜ＮＤＷＰ３及びＰチャネルＭＯＳトランジスタＷＰ０〜ＷＰ３から構成される。ＰチャネルＭＯＳトランジスタＷＰｉ（ｉ＝０，１，２，３）のゲートは、ＮＡＮＤゲート回路ＮＤＷＰｉの出力端子に接続され、そのソースは、電源端子ＶＤＤに接続され、そのドレインは、書き込みワード線ＷＷＬｉ（ｉ＝１，・・・）の一端に接続される。
【０５７８】
ＮＡＮＤゲート回路ＮＤＷＰｉは、３つの入力端子を有し、そのうちの２つには、書き込みワード線ドライブ信号（電流波形生成信号）ＷＰ＜ｉ＞，ＷＳ＜ｉ＞が入力され、残りの１つには、ＡＮＤゲート回路ＡＤ１の出力信号が入力される。ＡＮＤゲート回路ＡＤ１には、複数ビットから構成されるロウアドレス信号（ロウｉ毎に異なる）が入力される。
【０５７９】
書き込みワード線シンカー（１ロウ分）１５は、ＮチャネルＭＯＳトランジスタＴＮ１から構成される。ＮチャネルＭＯＳトランジスタＴＮ１のソースは、接地端子ＶＳＳに接続され、そのドレインは、書き込みワード線ＷＷＬｉの他端に接続される。ＮチャネルＭＯＳトランジスタＴＮ１のゲートには、書き込みワード線シンク信号ＷＷＬＳＮＫが入力される。
【０５８０】
選択されたロウｉでは、ロウアドレス信号の全てのビットが“Ｈ”となる。このため、選択されたロウｉでは、入力信号としての書き込みワード線ドライブ信号ＷＰ＜ｉ＞及びＷＳ＜ｉ＞が共に“Ｈ”であるＮＡＮＤゲート回路ＮＤＷＰｉの出力信号を受けるＰチャネルＭＯＳトランジスタＷＰｉがオン状態となる。また、書き込みワード線シンク信号ＷＷＬＳＮＫが“Ｈ”となると、ＮチャネルＭＯＳトランジスタＴＮ１がオン状態となる。
【０５８１】
ＰチャネルＭＯＳトランジスタＷＰ０〜ＷＰ３のうちの少なくとも１つとＮチャネルＭＯＳトランジスタＴＮ１がオン状態となると、例えば、書き込み電流は、ロウデコーダ＆書き込みワード線ドライバ１４−１から、書き込みワード線ＷＷＬ１を経由して、書き込みワード線シンカー１５に向かって流れる。
【０５８２】
このようなロウデコーダ＆書き込みワード線ドライバ／シンカーによれば、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞，ＷＳ＜０＞〜ＷＳ＜３＞及び書き込みワード線シンク信号ＷＷＬＳＮＫが“Ｈ”又は“Ｌ”になるタイミングを制御することで、選択されたロウｉ内の書き込みワード線ＷＷＬｉに対する書き込み電流の供給／遮断タイミング、大きさ及びその時間的変化（電流波形）などを決定することができる。
【０５８３】
また、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞，ＷＳ＜０＞〜ＷＳ＜３＞の全てを“Ｌ”に設定した後、書き込みワード線シンク信号ＷＷＬＳＮＫを“Ｌ”に設定すれば、書き込み動作後の書き込みワード線ＷＷＬｉの電位を完全に０Ｖにすることができる。
【０５８４】
なお、書き込み電流の大きさ又はその時間的変化（電流波形）を制御するに当たっては、第一に、複数のＰチャネルＭＯＳトランジスタＷＰ０〜ＷＰ３のサイズ（チャネル幅）、即ち、駆動能力を、全て同じ値に設定し、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞，ＷＳ＜０＞〜ＷＳ＜３＞を用いて、オン状態のＰチャネルＭＯＳトランジスタＷＰ０〜ＷＰ３の数を変える、という制御方法を使用できる。
【０５８５】
第二に、複数のＰチャネルＭＯＳトランジスタＷＰ０〜ＷＰ３のサイズ（チャネル幅）、即ち、駆動能力を、互いに異なる値に設定し、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞，ＷＳ＜０＞〜ＷＳ＜３＞を用いて、複数のＰチャネルＭＯＳトランジスタＷＰ０〜ＷＰ３のうちの１つを選択的にオン状態にする、という制御方法を使用できる。
【０５８６】
第三に、これら第一及び第二の方法を組み合せた制御方法、即ち、ＰチャネルＭＯＳトランジスタＷＰ０〜ＷＰ３のサイズを変え、かつ、オン状態のＰチャネルＭＯＳトランジスタＷＰ０〜ＷＰ３の数を変えて、書き込み電流の大きさの時間的変化（電流波形）を制御する、という制御方法を使用できる。
【０５８７】
iii.  カラムデコーダ＆書き込みビット線ドライバ／シンカー
図６７は、カラムデコーダ＆書き込みビット線ドライバ／シンカーの回路例を示している。
【０５８８】
カラムデコーダ＆書き込みビット線ドライバ／シンカー（１カラム分）１６Ａ−１は、ＮＡＮＤゲート回路ＮＤＢＰ０〜ＮＤＢＰ３、ＡＮＤゲート回路ＡＤ２，ＡＤ３、ＰチャネルＭＯＳトランジスタＢＰ０〜ＢＰ３及びＮチャネルＭＯＳトランジスタＢＮ０から構成される。
【０５８９】
ＰチャネルＭＯＳトランジスタＢＰｉ（ｉ＝０，１，２，３）のゲートは、ＮＡＮＤゲート回路ＮＤＢＰｉの出力端子に接続され、そのソースは、電源端子ＶＤＤに接続され、そのドレインは、共通に、書き込みビット線ＷＢＬｉ（ｉ＝１，・・・）の一端に接続される。
【０５９０】
ＮＡＮＤゲート回路ＮＤＢＰｉ（ｉ＝０，１，２，３）は、３つの入力端子を有し、そのうちの２つには、書き込みワード線ドライブ信号（電流波形生成信号）ＢＰ＜ｉ＞，ＢＳ＜ｉ＞が入力され、残りの１つには、ＡＮＤゲート回路ＡＤ２の出力信号が入力される。ＡＮＤゲート回路ＡＤ２には、複数ビットから構成されるカラムアドレス信号（カラムｉ毎に異なる）及び書き込みデータＤＡＴＡが入力される。
【０５９１】
ＮチャネルＭＯＳトランジスタＢＮ０のゲートは、ＡＮＤゲート回路ＡＤ３の出力端子に接続され、そのソースは、接地端子ＶＳＳに接続され、そのドレインは、書き込みビット線ＷＢＬｉ（ｉ＝１，・・・）の一端に接続される。ＡＮＤゲート回路ＡＤ３には、複数ビットから構成されるカラムアドレス信号（カラムｉ毎に異なる）、書き込みビット線シンク信号ＷＢＬＳＮＫ及び書き込みデータの反転信号ｂＤＡＴＡが入力される。
【０５９２】
同様に、カラムデコーダ＆書き込みビット線ドライバ／シンカー（１カラム分）１７Ａ−１は、ＮＡＮＤゲート回路ＮＤＢＰ４〜ＮＤＢＰ７、ＡＮＤゲート回路ＡＤ４，ＡＤ５、ＰチャネルＭＯＳトランジスタＢＰ４〜ＢＰ７及びＮチャネルＭＯＳトランジスタＢＮ１から構成される。
【０５９３】
ＰチャネルＭＯＳトランジスタＢＰｉ（ｉ＝４，５，６，７）のゲートは、ＮＡＮＤゲート回路ＮＤＢＰｉの出力端子に接続され、そのソースは、電源端子ＶＤＤに接続され、そのドレインは、共通に、書き込みビット線ＷＢＬｉ（ｉ＝１，・・・）の他端に接続される。
【０５９４】
ＮＡＮＤゲート回路ＮＤＢＰｉ（ｉ＝４，５，６，７）は、３つの入力端子を有し、そのうちの２つには、書き込みワード線ドライブ信号（電流波形生成信号）ＢＰ＜ｉ＞，ＢＳ＜ｉ＞が入力され、残りの１つには、ＡＮＤゲート回路ＡＤ４の出力信号が入力される。ＡＮＤゲート回路ＡＤ４には、複数ビットから構成されるカラムアドレス信号（カラムｉ毎に異なる）及び書き込みデータの反転信号ｂＤＡＴＡが入力される。
【０５９５】
ＮチャネルＭＯＳトランジスタＢＮ１のゲートは、ＡＮＤゲート回路ＡＤ５の出力端子に接続され、そのソースは、接地端子ＶＳＳに接続され、そのドレインは、書き込みビット線ＷＢＬｉ（ｉ＝１，・・・）の他端に接続される。ＡＮＤゲート回路ＡＤ５には、複数ビットから構成されるカラムアドレス信号（カラムｉ毎に異なる）、書き込みビット線シンク信号ＷＢＬＳＮＫ及び書き込みデータＤＡＴＡが入力される。
【０５９６】
選択されたカラムｉでは、カラムアドレス信号の全てのビットが“Ｈ”となる。また、選択されたカラムｉでは、書き込みビット線ドライブ信号ペアＢＰ＜ｉ＞，ＢＳ＜ｉ＞の少なくとも１つが“Ｈ”となり、書き込みビット線シンク信号ＷＢＬＳＮＫが“Ｈ”になる。このため、書き込みビット線ＷＢＬｉには、書き込みデータＤＡＴＡの値に応じた向きを有する書き込み電流が流れる。
【０５９７】
例えば、書き込みデータＤＡＴＡが“１”（＝“Ｈ”）のときには、ＰチャネルＭＯＳトランジスタＢＰ０〜ＢＰ３の少なくとも１つ及びＮチャネルＭＯＳトランジスタＢＮ１がオン状態となるため、カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａからカラムデコーダ＆書き込みビット線ドライバ／シンカー１７Ａに向かう書き込み電流が流れる。
【０５９８】
また、書き込みデータＤＡＴＡが“０”（＝“Ｌ”）のときには、ＰチャネルＭＯＳトランジスタＢＰ４〜ＢＰ７の少なくとも１つ及びＮチャネルＭＯＳトランジスタＢＮ０がオン状態となるため、カラムデコーダ＆書き込みビット線ドライバ／シンカー１７Ａからカラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａに向かう書き込み電流が流れる。
【０５９９】
このようなカラムデコーダ＆書き込みビット線ドライバ／シンカーによれば、書き込みビット線ドライブ信号ペアＢＰ＜ｉ＞，ＢＳ＜ｉ＞の少なくとも１つ及び書き込みビット線シンク信号ＷＢＬＳＮＫが“Ｈ”又は“Ｌ”になるタイミングを制御することで、選択されたカラムｉ内の書き込みビット線ＷＢＬｉに対する書き込み電流の供給／遮断タイミング、大きさ及びその時間的変化（電流波形）などを決定することができる。
【０６００】
また、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜７＞，ＢＳ＜０＞〜ＢＳ＜７＞の全てを“Ｌ”に設定した後、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｌ”に設定すれば、書き込み動作後の書き込みビット線ＷＢＬｉの電位を完全に０Ｖにすることができる。
【０６０１】
なお、書き込み電流の大きさ又はその時間的変化（電流波形）を制御するに当たっては、第一に、複数のＰチャネルＭＯＳトランジスタＢＰ０〜ＢＰ７のサイズ（チャネル幅）、即ち、駆動能力を、全て同じ値に設定し、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜７＞，ＢＳ＜０＞〜ＢＳ＜７＞を用いて、オン状態のＰチャネルＭＯＳトランジスタＢＰ０〜ＢＰ７の数を変える、という制御方法を使用できる。
【０６０２】
第二に、複数のＰチャネルＭＯＳトランジスタＢＰ０〜ＢＰ７のサイズ（チャネル幅）、即ち、駆動能力を、互いに異なる値に設定し、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜７＞，ＢＳ＜０＞〜ＢＳ＜７＞を用いて、複数のＰチャネルＭＯＳトランジスタＢＰ０〜ＢＰ７のうちの１つを選択的にオン状態にする、という制御方法を使用できる。
【０６０３】
第三に、これら第一及び第二の方法を組み合せた制御方法、即ち、ＰチャネルＭＯＳトランジスタＢＰ０〜ＢＰ７のサイズを変え、かつ、オン状態のＰチャネルＭＯＳトランジスタＢＰ０〜ＢＰ７の数を変えて、書き込み電流の大きさの時間的変化（電流波形）を制御する、という制御方法を使用できる。
【０６０４】
iv.  書き込み電流波形制御回路・設定回路
次に、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞，ＷＳ＜０＞〜ＷＳ＜３＞及び書き込みワード線シンク信号ＷＷＬＳＮＫを生成する書き込み電流波形制御回路・設定回路の例、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞，ＢＳ＜０＞〜ＢＳ＜３＞及び書き込みビット線シンク信号ＷＢＬＳＮＫを生成する書き込み電流波形制御回路・設定回路の例、並びに、書き込みビット線ドライブ信号ＢＰ＜４＞〜ＢＰ＜７＞，ＢＳ＜４＞〜ＢＳ＜７＞及び書き込みビット線シンク信号ＷＢＬＳＮＫを生成する書き込み電流波形制御回路・設定回路の例について説明する。
【０６０５】
図６８は、図６５における書き込み電流波形制御回路・設定回路１４−２の例を示している。
同図では、書き込み電流波形制御回路・設定回路１４−２の１ロウ分についてのみ示す。よって、実際は、図６８に示す要素（書き込みワード線ドライバ／シンカー・トリガ回路２５及び設定回路２３Ａ）が、ロウの数だけ存在する。
【０６０６】
書き込み電流波形制御回路・設定回路１４−２は、書き込みワード線ドライバ／シンカー・トリガ回路２５及び設定回路２３Ａから構成される。
【０６０７】
書き込みワード線ドライバ／シンカー・トリガ回路２５は、書き込み信号ＷＲＩＴＥに基づいて、書き込みワード線ドライブ信号（電流波形生成信号）ＷＰ＜０＞〜ＷＰ＜３＞及び書き込みワード線シンク信号ＷＷＬＳＮＫを生成する。
【０６０８】
設定回路２３Ａは、設定データに基づいて、書き込みワード線ドライブ信号（電流波形生成信号）ＷＳ＜０＞〜ＷＳ＜３＞を出力する。設定データは、プログラム信号ＰＲＯＧ、アドレス信号（ロウｉ）及び入力データＤ＜０＞〜Ｄ＜３＞に基づいて、予め、設定回路２３Ａ内の記憶素子（ヒューズ素子、ＴＭＲ素子など）にプログラムされる。
【０６０９】
なお、本例では、設定データのプログラムは、ウェハ状態、アセンブリ後の製品状態など、どのような時期に行ってもよい。アセンブリ後に、設定データのプログラムを行う場合には、入力データＤ＜０＞〜Ｄ＜３＞は、例えば、データ入力ピン、アドレスピンや、専用ピンなどから入力し、設定回路２３Ａに設定データを登録することができる。
【０６１０】
書き込み信号ＷＲＩＴＥは、書き込み動作時に“Ｈ”となる信号である。
【０６１１】
書き込みワード線ドライバ／シンカー・トリガ回路２５は、書き込み信号ＷＲＩＴＥが“Ｈ”になると、書き込みワード線シンク信号ＷＷＬＳＮＫを“Ｈ”にすると共に、例えば、所定のタイミングで、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞を“Ｈ”及び“Ｌ”に設定する。
【０６１２】
設定回路２３Ａは、常に、設定データに基づく書き込みワード線ドライブ信号ＷＳ＜０＞〜ＷＳ＜３＞を出力している。
【０６１３】
書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞は、書き込みワード線電流の電流波形の基となる信号である。これに対し、書き込みワード線ドライブ信号ＷＳ＜０＞〜ＷＳ＜３＞は、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞（電流波形の基となる信号）を選択する機能を持つ。
【０６１４】
即ち、図６６の書き込みワード線ドライバの構成から明らかなように、書き込みワード線ドライブ信号ＷＳ＜ｉ＞が“Ｈ”のとき、書き込みワード線ドライブ信号ＷＰ＜ｉ＞の波形にほぼ等しい波形を有する電流が、書き込みワード線ＷＷＬｉに供給される。
【０６１５】
図６９は、図６５における書き込み電流波形制御回路・設定回路１６Ａ−２の例を示している。
同図では、書き込み電流波形制御回路・設定回路１６Ａ−２の１カラム分についてのみ示す。よって、実際は、図６９に示す要素（書き込みビット線ドライバ／シンカー・トリガ回路２６及び設定回路２３Ｂ）が、カラムの数だけ存在する。
【０６１６】
書き込み電流波形制御回路・設定回路１６Ａ−２は、書き込みビット線ドライバ／シンカー・トリガ回路２６及び設定回路２３Ｂから構成される。
【０６１７】
書き込みビット線ドライバ／シンカー・トリガ回路２６は、書き込み信号ＷＲＩＴＥに基づいて、書き込みビット線ドライブ信号（電流波形生成信号）ＢＰ＜０＞〜ＢＰ＜３＞及び書き込みビット線シンク信号ＷＢＬＳＮＫを生成する。
【０６１８】
設定回路２３Ｂは、設定データに基づいて、書き込みビット線ドライブ信号（電流波形生成信号）ＢＳ＜０＞〜ＢＳ＜３＞を出力する。設定データは、プログラム信号ＰＲＯＧ、アドレス信号（カラムｉ）及び入力データＤ＜０＞〜Ｄ＜３＞に基づいて、予め、設定回路２３Ｂ内の記憶素子（ヒューズ素子、ＴＭＲ素子など）にプログラムされる。
【０６１９】
なお、本例では、設定データのプログラムは、ウェハ状態、アセンブリ後の製品状態など、どのような時期に行ってもよい。アセンブリ後に、設定データのプログラムを行う場合には、入力データＤ＜０＞〜Ｄ＜３＞は、例えば、データ入力ピン、アドレスピンや、専用ピンなどから入力し、設定回路２３Ｂに設定データを登録することができる。
【０６２０】
書き込み信号ＷＲＩＴＥは、書き込み動作時に“Ｈ”となる信号である。
【０６２１】
書き込みワード線ドライバ／シンカー・トリガ回路２６は、書き込み信号ＷＲＩＴＥが“Ｈ”になると、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｈ”にすると共に、例えば、所定のタイミングで、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞を“Ｈ”及び“Ｌ”に設定する。
【０６２２】
設定回路２３Ｂは、常に、書き込みビット線ドライブ信号ＢＳ＜０＞〜ＢＳ＜３＞を出力している。
【０６２３】
書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞は、書き込みビット線電流の電流波形の基となる信号である。これに対し、書き込みビット線ドライブ信号ＢＳ＜０＞〜ＢＳ＜３＞は、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞（電流波形の基となる信号）を選択する機能を持つ。
【０６２４】
即ち、図６７の書き込みビット線ドライバの構成から明らかなように、書き込みビット線ドライブ信号ＢＳ＜ｉ＞が“Ｈ”のとき、書き込みビット線ドライブ信号ＢＰ＜ｉ＞の波形にほぼ等しい波形を有する電流が、書き込みビット線ＷＢＬｉに供給される。
【０６２５】
図７０は、図６５における書き込み電流波形制御回路・設定回路１７Ａ−２の例を示している。
同図では、書き込み電流波形制御回路・設定回路１７Ａ−２の１カラム分についてのみ示す。よって、実際は、図７０に示す要素（書き込みビット線ドライバ／シンカー・トリガ回路２６及び設定回路２３Ｂ）が、カラムの数だけ存在する。
【０６２６】
書き込み電流波形制御回路・設定回路１７Ａ−２は、書き込みビット線ドライバ／シンカー・トリガ回路２６及び設定回路２３Ｂから構成される。
【０６２７】
書き込みビット線ドライバ／シンカー・トリガ回路２６は、書き込み信号ＷＲＩＴＥに基づいて、書き込みビット線ドライブ信号（電流波形生成信号）ＢＰ＜４＞〜ＢＰ＜７＞及び書き込みビット線シンク信号ＷＢＬＳＮＫを生成する。
【０６２８】
設定回路２３Ｂは、設定データに基づいて、書き込みビット線ドライブ信号（電流波形生成信号）ＢＳ＜４＞〜ＢＳ＜７＞を出力する。設定データは、プログラム信号ＰＲＯＧ、アドレス信号（カラムｉ）及び入力データＤ＜４＞〜Ｄ＜７＞に基づいて、予め、設定回路２３Ｂ内の記憶素子（ヒューズ素子、ＴＭＲ素子など）にプログラムされる。
【０６２９】
なお、本例では、設定データのプログラムは、ウェハ状態、アセンブリ後の製品状態など、どのような時期に行ってもよい。アセンブリ後に、設定データのプログラムを行う場合には、入力データＤ＜４＞〜Ｄ＜７＞は、例えば、データ入力ピン、アドレスピンや、専用ピンなどから入力し、設定回路２３Ｂに設定データを登録することができる。
【０６３０】
書き込み信号ＷＲＩＴＥは、書き込み動作時に“Ｈ”となる信号である。
【０６３１】
書き込みワード線ドライバ／シンカー・トリガ回路２６は、書き込み信号ＷＲＩＴＥが“Ｈ”になると、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｈ”にすると共に、例えば、所定のタイミングで、書き込みビット線ドライブ信号ＢＰ＜４＞〜ＢＰ＜７＞を“Ｈ”及び“Ｌ”に設定する。
【０６３２】
設定回路２３Ｂは、常に、書き込みビット線ドライブ信号ＢＳ＜４＞〜ＢＳ＜７＞を出力している。
【０６３３】
書き込みビット線ドライブ信号ＢＰ＜４＞〜ＢＰ＜７＞は、書き込みビット線電流の電流波形の基となる信号である。これに対し、書き込みビット線ドライブ信号ＢＳ＜４＞〜ＢＳ＜７＞は、書き込みビット線ドライブ信号ＢＰ＜４＞〜ＢＰ＜７＞（電流波形の基となる信号）を選択する機能を持つ。
【０６３４】
即ち、図６７の書き込みビット線ドライバの構成から明らかなように、書き込みビット線ドライブ信号ＢＳ＜ｉ＞が“Ｈ”のとき、書き込みビット線ドライブ信号ＢＰ＜ｉ＞の波形にほぼ等しい波形を有する電流が、書き込みビット線ＷＢＬｉに供給される。
【０６３５】
v.  書き込みワード線ドライバ／シンカー・トリガ回路
図７１は、書き込みワード線ドライバ／シンカー・トリガ回路の例を示している。
【０６３６】
書き込みワード線ドライバ／シンカー・トリガ回路２５は、書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を決める基となる書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞を生成する電流供給／遮断タイミング決定回路２５Ｘと、書き込み電流の電流吸収タイミングを決定する電流吸収タイミング決定回路２５Ｙとから構成される。
【０６３７】
電流供給／遮断タイミング決定回路２５Ｘは、書き込み信号ＷＲＩＴＥの“Ｈ”又は“Ｌ”のタイミングに応じて、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞の“Ｈ”又は“Ｌ”のタイミングを決定する。電流供給／遮断タイミング決定回路２５Ｘは、複数（本例では、４つ）の波形生成回路Ｗ０〜Ｗ３及びインバータＩＶ１〜ＩＶ８から構成される。
【０６３８】
波形生成回路Ｗ０〜Ｗ３は、それぞれ、書き込み信号ＷＲＩＴＥに基づいて、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞を生成する。波形生成回路Ｗ０〜Ｗ３は、それぞれ、異なる遅延量を有する。波形生成回路Ｗ０〜Ｗ３の遅延量の差は、一定であっても、又は、ランダムであってもよい。
【０６３９】
これにより、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞は、例えば、書き込み信号ＷＲＩＴＥが“Ｈ”になった後、互いに異なるタイミングで、“Ｈ”に変化する。
【０６４０】
なお、本例では、波形生成回路Ｗ０〜Ｗ３は、４つであるが、当然に、その数を多くすればするほど、書き込みワード線ＷＷＬｉに流れる書き込み電流の電流波形を細かく制御できる。
【０６４１】
電流吸収タイミング決定回路２５Ｙは、インバータＩＶ０、ＮＡＮＤゲート回路ＮＤ１及び遅延回路２７から構成される。
【０６４２】
電流吸収タイミング決定回路２５Ｙは、書き込み信号ＷＲＩＴＥが“Ｈ”になるとほぼ同時に、書き込みワード線シンク信号ＷＷＬＳＮＫを“Ｈ”にし、書き込み信号ＷＲＩＴＥが“Ｌ”になった後、遅延回路２７により決まる遅延時間後に、書き込みワード線シンク信号ＷＷＬＳＮＫを“Ｌ”にする。
【０６４３】
このように、書き込み信号ＷＲＩＴＥを“Ｌ”にした後、一定のインターバルを経た後に、書き込みワード線シンク信号ＷＷＬＳＮＫを“Ｌ”にすることにより、書き込み動作後に、書き込みワード線ＷＷＬｉを完全に０Ｖにすることができる。
【０６４４】
vi.  書き込みビット線ドライバ／シンカー・トリガ回路
図７２は、図６９の書き込みビット線ドライバ／シンカー・トリガ回路の例を示している。
【０６４５】
書き込みビット線ドライバ／シンカー・トリガ回路２６は、書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を決める基となる書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞を生成する電流供給／遮断タイミング決定回路２６Ｘと、書き込み電流の電流吸収タイミングを決定する電流吸収タイミング決定回路２６Ｙとから構成される。
【０６４６】
電流供給／遮断タイミング決定回路２６Ｘは、書き込み信号ＷＲＩＴＥの“Ｈ”又は“Ｌ”のタイミングに応じて、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞の“Ｈ”又は“Ｌ”のタイミングを決定する。電流供給／遮断タイミング決定回路２６Ｘは、複数（本例では、４つ）の波形生成回路Ｂ０〜Ｂ３及びインバータＩＶ９〜ＩＶ１６から構成される。
【０６４７】
波形生成回路Ｂ０〜Ｂ３は、それぞれ、書き込み信号ＷＲＩＴＥに基づいて、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞を生成する。波形生成回路Ｂ０〜Ｂ３は、それぞれ、異なる遅延量を有する。波形生成回路Ｂ０〜Ｂ３の遅延量の差は、一定であっても、又は、ランダムであってもよい。
【０６４８】
これにより、書き込みワード線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞は、例えば、書き込み信号ＷＲＩＴＥが“Ｈ”になった後、互いに異なるタイミングで、“Ｈ”に変化する。
【０６４９】
なお、本例では、波形生成回路Ｂ０〜Ｂ３は、４つであるが、当然に、その数を多くすればするほど、書き込みビット線ＷＢＬｉに流れる書き込み電流の電流波形を細かく制御できる。
【０６５０】
電流吸収タイミング決定回路２６Ｙは、インバータＩＶ０、ＮＡＮＤゲート回路ＮＤ２及び遅延回路２８から構成される。
【０６５１】
電流吸収タイミング決定回路２６Ｙは、書き込み信号ＷＲＩＴＥが“Ｈ”になるとほぼ同時に、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｈ”にし、書き込み信号ＷＲＩＴＥが“Ｌ”になった後、遅延回路２８により決まる遅延時間後に、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｌ”にする。
【０６５２】
このように、書き込み信号ＷＲＩＴＥを“Ｌ”にした後、一定のインターバルを経た後に、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｌ”にすることにより、書き込み動作後に、書き込みビット線ＷＢＬｉを完全に０Ｖにすることができる。
【０６５３】
図７３は、図７０の書き込みビット線ドライバ／シンカー・トリガ回路の例を示している。
【０６５４】
書き込みビット線ドライバ／シンカー・トリガ回路２６は、書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を決める基となる書き込みビット線ドライブ信号ＢＰ＜４＞〜ＢＰ＜７＞を生成する電流供給／遮断タイミング決定回路２６Ｘと、書き込み電流の電流吸収タイミングを決定する電流吸収タイミング決定回路２６Ｙとから構成される。
【０６５５】
電流供給／遮断タイミング決定回路２６Ｘは、書き込み信号ＷＲＩＴＥの“Ｈ”又は“Ｌ”のタイミングに応じて、書き込みビット線ドライブ信号ＢＰ＜４＞〜ＢＰ＜７＞の“Ｈ”又は“Ｌ”のタイミングを決定する。電流供給／遮断タイミング決定回路２６Ｘは、複数（本例では、４つ）の波形生成回路Ｂ４〜Ｂ７及びインバータＩＶ１７〜ＩＶ２４から構成される。
【０６５６】
波形生成回路Ｂ４〜Ｂ７は、それぞれ、書き込み信号ＷＲＩＴＥに基づいて、書き込みビット線ドライブ信号ＢＰ＜４＞〜ＢＰ＜７＞を生成する。波形生成回路Ｂ４〜Ｂ７は、それぞれ、異なる遅延量を有する。波形生成回路Ｂ４〜Ｂ７の遅延量の差は、一定であっても、又は、ランダムであってもよい。
【０６５７】
これにより、書き込みワード線ドライブ信号ＢＰ＜４＞〜ＢＰ＜７＞は、例えば、書き込み信号ＷＲＩＴＥが“Ｈ”になった後、互いに異なるタイミングで、“Ｈ”に変化する。
【０６５８】
なお、本例では、波形生成回路Ｂ４〜Ｂ７は、４つであるが、当然に、その数を多くすればするほど、書き込みビット線ＷＢＬｉに流れる書き込み電流の電流波形を細かく制御できる。
【０６５９】
電流吸収タイミング決定回路２６Ｙは、インバータＩＶ０、ＮＡＮＤゲート回路ＮＤ２及び遅延回路２８から構成される。
【０６６０】
電流吸収タイミング決定回路２６Ｙは、書き込み信号ＷＲＩＴＥが“Ｈ”になるとほぼ同時に、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｈ”にし、書き込み信号ＷＲＩＴＥが“Ｌ”になった後、遅延回路２８により決まる遅延時間後に、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｌ”にする。
【０６６１】
このように、書き込み信号ＷＲＩＴＥを“Ｌ”にした後、一定のインターバルを経た後に、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｌ”にすることにより、書き込み動作後に、書き込みビット線ＷＢＬｉを完全に０Ｖにすることができる。
【０６６２】
図７２の書き込みビット線ドライバ／シンカー・トリガ回路２６により生成された書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞及び書き込みビット線シンク信号ＷＢＬＳＮＫは、図６１の書き込みビット線ドライバ／シンカー１６Ａ−１を駆動する。
【０６６３】
また、図７３の書き込みビット線ドライバ／シンカー・トリガ回路２６により生成された書き込みビット線ドライブ信号ＢＰ＜４＞〜ＢＰ＜７＞及び書き込みビット線シンク信号ＷＢＬＳＮＫは、図６７の書き込みビット線ドライバ／シンカー１７Ａ−１を駆動する。
【０６６４】
なお、本例では、書き込みビット線ドライバ／シンカー１６Ａ−１を駆動する書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞と、書き込みビット線ドライバ／シンカー１７Ａ−１を駆動する書き込みビット線ドライブ信号ＢＰ＜４＞〜ＢＰ＜７＞が異なるが、書き込みビット線ドライバ／シンカー１６Ａ−１，１７Ａ−１を、共に、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞により駆動してもよい。
【０６６５】
vii.  設定回路
図７４は、図６８の設定回路２３Ａの例を示している。
設定回路２３Ａは、設定データを記憶するためのＴＭＲ素子ＭＴＪを有している。本例では、ＴＭＲ素子ＭＴＪのトンネルバリアの破壊の有無により、１ビットデータを記憶する。なお、ＴＭＲ素子ＭＴＪの磁化状態（平行又は反平行）により、１ビットデータを記憶するようにしてもよい。
【０６６６】
ＴＭＲ素子ＭＴＪの一端は、ＮチャネルＭＯＳトランジスタＮ２を経由して、接地点ＶＳＳに接続される。ＮチャネルＭＯＳトランジスタＮ２は、そのゲートに電源電位ＶＤＤが印加されているため、常に、オン状態である。
【０６６７】
ＴＭＲ素子ＭＴＪの他端は、ＮチャネルＭＯＳトランジスタＮ１及びＰチャネルＭＯＳトランジスタＰ１を経由して、電源電位ＶＤＤに接続される。ＰチャネルＭＯＳトランジスタＰ１は、そのゲートに接地電位ＶＳＳが印加されているため、常に、オン状態である。ＮチャネルＭＯＳトランジスタＮ１のゲートには、クランプ電位Ｖｃｌａｍｐが印加される。
【０６６８】
ゲートにクランプ電位Ｖｃｌａｍｐが入力されるＮチャネルＭＯＳトランジスタＮ１は、通常動作時、即ち、書き込みに際して設定回路２３Ａから書き込みワード線ドライブ信号ＷＳ＜０＞〜ＷＳ＜３＞を出力する時に、ＴＭＲ素子ＭＴＪに大きな電圧が印加されない（ＴＭＲ素子ＭＴＪが破壊されない）ようにする機能を有する。
【０６６９】
なお、クランプ電位Ｖｃｌａｍｐを生成するＶｃｌａｍｐ生成回路は、図４６に示すような回路により構成することができる。
【０６７０】
ＮＡＮＤゲート回路ＮＤ４及びＰチャネルＭＯＳトランジスタＰ２は、ＴＭＲ素子ＭＴＪに、書き込み電流の電流波形などを決めるための設定データを書き込むときに使用される。
【０６７１】
即ち、上述したように、本例では、設定データは、トンネルバリアの破壊の有無として、半永久的に、ＴＭＲ素子ＭＴＪに記憶される。ここで、ＴＭＲ素子ＭＴＪのトンネルバリアを破壊する際には、ＰチャネルＭＯＳトランジスタＰ２をオン状態にして、ＴＭＲ素子ＭＴＪの両端に大きな電圧を与えればよい。
【０６７２】
プログラム信号ＰＲＯＧは、設定データの書き込み時に、“Ｈ”となる信号である。例えば、プログラム信号ＰＲＯＧは、アセンブリ後に、データ入力ピンやアドレスピンなどから供給することができる。また、専用ピンから、プログラム信号ＰＲＯＧを与えてもよい。
【０６７３】
ロウｉ内の設定回路２３Ａに設定データを書き込む場合には、アドレス信号（ロウｉ）の全てのビットが“Ｈ”となる。
【０６７４】
このため、設定データの書き込み時、ロウｉ内の設定回路２３Ａでは、入力データＤ＜０＞〜Ｄ＜３＞の値に応じて、ＮＡＮＤゲート回路ＮＤ４の出力信号の値が変化する。
【０６７５】
例えば、入力データＤ＜０＞が“１”（＝“Ｈ”）のときは、ＮＡＮＤゲート回路ＮＤ４の出力信号は、“Ｌ”となる。このため、ＰチャネルＭＯＳトランジスタＰ２は、オン状態となり、ＴＭＲ素子ＭＴＪのトンネルバリアが破壊され、ＴＭＲ素子ＭＴＪに、“１”が記憶される。この場合、書き込みワード線ドライブ信号ＷＳ＜０＞は、“Ｈ”となる。
【０６７６】
また、入力データＤ＜０＞が“０”（＝“Ｌ”）のときは、ＮＡＮＤゲート回路ＮＤ４の出力信号は、“Ｈ”となる。このため、ＰチャネルＭＯＳトランジスタＰ２は、オフ状態となり、ＴＭＲ素子ＭＴＪのトンネルバリアは破壊されず、ＴＭＲ素子ＭＴＪに、“０”が記憶される。この場合、書き込みワード線ドライブ信号ＷＳ＜０＞は、“Ｌ”となる。
【０６７７】
このように、入力データＤ＜０＞〜Ｄ＜３＞により、設定回路２３Ａに、設定データを書き込むことができ、書き込みワード線ドライブ信号ＷＳ＜０＞〜ＷＳ＜３＞の値が決定される。
【０６７８】
図７５は、図６９の設定回路２３Ｂの例を示している。図７６は、図７０の設定回路２３Ｂの例を示している。
図７５及び図７６の設定回路２３Ｂの構成は、共に、上述した図７４の設定回路２３Ａと全く同じである。設定データは、ＴＭＲ素子ＭＴＪのトンネルバリアの破壊の有無により、半永久的に記憶される。
【０６７９】
プログラム信号ＰＲＯＧは、設定データの書き込み時に、“Ｈ”となる。カラムｉ内の設定回路２３Ｂに設定データを書き込む場合には、アドレス信号（カラムｉ）の全てのビットが“Ｈ”となる。
【０６８０】
このため、設定データの書き込み時、カラムｉ内の設定回路２３Ｂでは、入力データＤ＜０＞〜Ｄ＜３＞の値に応じて、ＮＡＮＤゲート回路ＮＤ４の出力信号の値が変化する。
【０６８１】
例えば、入力データＤ＜０＞が“１”（＝“Ｈ”）のときは、ＮＡＮＤゲート回路ＮＤ４の出力信号は、“Ｌ”となる。このため、ＰチャネルＭＯＳトランジスタＰ２は、オン状態となり、ＴＭＲ素子ＭＴＪのトンネルバリアが破壊され、ＴＭＲ素子ＭＴＪに、“１”が記憶される。
【０６８２】
この場合、書き込みビット線ドライブ信号ＢＳ＜０＞は、“Ｈ”となる。
【０６８３】
また、入力データＤ＜０＞が“０”（＝“Ｌ”）のときは、ＮＡＮＤゲート回路ＮＤ４の出力信号は、“Ｈ”となる。このため、ＰチャネルＭＯＳトランジスタＰ２は、オフ状態となり、ＴＭＲ素子ＭＴＪのトンネルバリアは破壊されず、ＴＭＲ素子ＭＴＪに、“０”が記憶される。
【０６８４】
この場合、書き込みビット線ドライブ信号ＢＳ＜０＞は、“Ｌ”となる。
【０６８５】
このように、入力データＤ＜０＞〜Ｄ＜３＞により、設定回路２３Ｂに、設定データを書き込むことができ、図７５の書き込みビット線ドライブ信号ＢＳ＜０＞〜ＢＳ＜３＞の値及び図７６の書き込みビット線ドライブ信号ＢＳ＜４＞〜ＢＳ＜７＞の値が決定される。
【０６８６】
図７５の設定回路２３Ｂにより生成された書き込みビット線ドライブ信号ＢＳ＜０＞〜ＢＳ＜３＞は、図６７の書き込みビット線ドライバ／シンカー１６Ａ−１を駆動する。
【０６８７】
また、図７６の設定回路２３Ｂにより生成された書き込みビット線ドライブ信号ＢＳ＜４＞〜ＢＳ＜７＞は、図６７の書き込みビット線ドライバ／シンカー１７Ａ−１を駆動する。
【０６８８】
なお、本例では、書き込みビット線ドライバ／シンカー１６Ａ−１を駆動する書き込みビット線ドライブ信号ＢＳ＜０＞〜ＢＳ＜３＞と、書き込みビット線ドライバ／シンカー１７Ａ−１を駆動する書き込みビット線ドライブ信号ＢＳ＜４＞〜ＢＳ＜７＞が異なるが、書き込みビット線ドライバ／シンカー１６Ａ−１，１７Ａ−１を、共に、書き込みビット線ドライブ信号ＢＳ＜０＞〜ＢＳ＜３＞により駆動してもよい。
【０６８９】
viii. 電流波形例
図７７は、図６５乃至図７６に示す回路例１により実現できる書き込みワード線電流の電流波形の一例を示している。
【０６９０】
この波形例は、図７１の書き込みワード線ドライバ／シンカー・トリガ回路２５内の遅延回路Ｗ０〜Ｗ３が、それぞれ異なる遅延時間を有し、かつ、図７４の設定回路２３Ａが、ＷＳ＜０＞，ＷＳ＜２＞，ＷＳ＜３＞＝“Ｌ”、ＷＳ＜１＞＝“Ｈ”を出力することを前提とする。
【０６９１】
この場合、書き込み信号ＷＲＩＴＥが“Ｌ”から“Ｈ”に変化した後、時刻Ｔ１の時点で、ＷＰ＜１＞＝“Ｈ”及びＷＳ＜１＞＝“Ｈ”となる。その結果、図６６のロウデコーダ＆書き込みワード線ドライバ１４−１内のＮＡＮＤゲート回路ＮＤＷＰ１の出力信号が“Ｌ”になり、書き込みワード線ＷＷＬｉに書き込み電流が流れる。
【０６９２】
この波形例では、書き込みワード線電流の供給／遮断タイミングが制御される形となっている。
【０６９３】
但し、後述するように、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞の波形（立ち上がり／立ち下がり時点、パルス幅など）を自由に設定できるようにすれば、設定データに基づく書き込みワード線ドライブ信号ＷＳ＜０＞〜ＷＳ＜３＞の値により、書き込みワード線電流の供給／遮断タイミング、大きさや、その時間的変化（電流波形）を、自由に変えることができる。
【０６９４】
図７８は、図６５乃至図７６に示す回路例１により実現できる書き込みビット線電流の電流波形の一例を示している。
【０６９５】
この波形例は、書き込みデータＤＡＴＡが“１”（＝“Ｈ”）であり、図７２の書き込みビット線ドライバ／シンカー・トリガ回路２６内の遅延回路Ｂ０〜Ｂ３が、それぞれ異なる遅延時間を有し、かつ、図７５の設定回路２３Ｂが、ＢＳ＜０＞，ＢＳ＜２＞，ＢＳ＜３＞＝“Ｌ”、ＢＳ＜１＞＝“Ｈ”を出力することを前提とする。
【０６９６】
なお、書き込みデータＤＡＴＡが“０”（＝“Ｌ”）のときには、図７３の書き込みビット線ドライバ／シンカー・トリガ回路２６及び図７０の設定回路２３Ｂが有効になる。
【０６９７】
この場合、書き込み信号ＷＲＩＴＥが“Ｌ”から“Ｈ”に変化した後、時刻Ｔ１の時点で、ＢＰ＜１＞＝“Ｈ”及びＢＳ＜１＞＝“Ｈ”となる。その結果、図６７のカラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａ−１内のＮＡＮＤゲート回路ＮＤＢＰ１の出力信号が“Ｌ”になり、書き込みビット線ＷＢＬｉに書き込み電流が流れる。
【０６９８】
この波形例では、書き込みビット線電流の供給／遮断タイミングが制御される形となっている。
【０６９９】
但し、後述するように、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞の波形（立ち上がり／立ち下がり時点、パルス幅など）を自由に設定できるようにすれば、設定データに基づく書き込みビット線ドライブ信号ＢＳ＜０＞〜ＢＳ＜３＞の値により、書き込みワード線電流の供給／遮断タイミング、大きさや、その時間的変化（電流波形）を、自由に変えることができる。
【０７００】
ix.  まとめ
以上、説明したように、磁気ランダムアクセスメモリの回路例1によれば、書き込みワード／ビット線に対する書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を、書き込みワード／ビット線毎に、プログラミングにより設定できる。これにより、例えば、実施例１〜１０の書き込み原理を実現可能にし、ＴＭＲ素子の記憶層の磁化反転を確実に行い、書き込み特性の向上を図ることができる。
【０７０１】
また、回路例１では、書き込みデータの値に応じて、書き込みビット線に流れる電流の向きが変化する。ここで、回路例１では、書き込みビット線電流の向き（書き込みデータに依存）に対して、個別に、書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を設定できる。
【０７０２】
つまり、書き込みデータが“１”（＝“Ｈ”）のときは、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞により、書き込みビット線電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）が制御され、書き込みデータが“０”（＝“Ｌ”）のときは、書き込みビット線ドライブ信号ＢＰ＜４＞〜ＢＰ＜７＞により、書き込みビット線電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）が制御される。
【０７０３】
このように、回路例１では、書き込みワード／ビット線毎に、書き込み電流の形状を設定できると共に、ＴＭＲ素子の特性などを考慮し、書き込みビット線に流れる書き込み電流の向きに応じて、個別に、書き込み電流の形状を設定できるため、ＴＭＲ素子の記憶層の磁化反転を確実に行い、書き込み特性の向上を図ることができる。
【０７０４】
▲２▼  回路例２
回路例２は、回路例１の一部を変形した変形例であり、書き込みワード／ビット線に対する書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を、書き込みワード／ビット線毎に、プログラミングにより設定できる磁気ランダムアクセスメモリに関する。
【０７０５】
回路例２は、回路例１と比較すると、書き込みワード線ドライバ／シンカー・トリガ回路及び書き込みビット線ドライバ／シンカー・トリガ回路の構成に特徴を有する。
【０７０６】
即ち、回路例２の全体構成は、回路例１と同様に、図６５に示すようになる。また、ロウデコーダ＆書き込みワード線ドライバ／シンカーについては、図６６に示す回路、書き込みワード線電流の電流波形を決定する書き込み電流波形制御回路・設定回路のブロック構成については、図６８に示す回路をそのまま使用することができる。
【０７０７】
カラムデコーダ＆書き込みビット線ドライバ／シンカーについては、図６７に示す回路、書き込みビット線電流の電流波形を決定する書き込み電流波形制御回路・設定回路のブロック構成については、図６９及び図７０に示す回路をそのまま使用することができる。
【０７０８】
また、書き込み電流波形制御回路・設定回路内の設定回路については、図７４乃至図７６に示す回路をそのまま使用できる。
【０７０９】
回路例２では、書き込みワード／ビット線電流の電流波形のパターンを多くするために、書き込みワード／ビット線ドライバ／シンカー・トリガ回路内に波形生成回路を設け、この波形生成回路により、書き込みワード／ビット線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞，ＢＰ＜０＞〜ＢＰ＜７＞を生成する。
【０７１０】
i.  書き込みワード線ドライバ／シンカー・トリガ回路
図７９は、書き込みワード線ドライバ／シンカー・トリガ回路の例を示している。
【０７１１】
書き込みワード線ドライバ／シンカー・トリガ回路２５は、書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を決める基となる書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞を生成する電流供給／遮断タイミング決定回路２５Ｘと、書き込み電流の電流吸収タイミングを決定する電流吸収タイミング決定回路２５Ｙとから構成される。
【０７１２】
電流供給／遮断タイミング決定回路２５Ｘは、書き込み信号ＷＲＩＴＥの“Ｈ”又は“Ｌ”のタイミングに応じて、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞の“Ｈ”又は“Ｌ”のタイミングを決定する。電流供給／遮断タイミング決定回路２５Ｘは、複数（本例では、４つ）の波形生成回路Ｗ０〜Ｗ３及びインバータＩＶ１〜ＩＶ８から構成される。
【０７１３】
波形生成回路Ｗ０〜Ｗ３は、それぞれ、書き込み信号ＷＲＩＴＥに基づいて、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞を生成する。
【０７１４】
波形生成回路Ｗ０〜Ｗ３は、図５４に示す回路から構成することができる。この場合、波形生成回路Ｗ０〜Ｗ３自体が、複数の波形のなかから１つの波形を選択することができるため、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞の波形を、数多くの波形パターンから選ぶことができ、結果として、書き込みワード線電流の電流波形を自由に設定できるようになる。
【０７１５】
また、波形生成回路Ｗ０〜Ｗ３の各々は、特定された１つの波形のみを出力するが、それぞれの波形、即ち、書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞の波形は、互いに異なるようにし、これらの波形を、書き込みワード線ドライブ信号ＷＳ＜０＞〜ＷＳ＜３＞により選択するようにしてもよい。
【０７１６】
この場合の波形生成回路Ｗ０〜Ｗ３の回路例については、後述する。
【０７１７】
なお、本例では、波形生成回路Ｗ０〜Ｗ３は、４つであるが、当然に、その数を多くすればするほど、書き込みワード線ＷＷＬｉに流れる書き込み電流の電流波形を細かく制御できる。
【０７１８】
電流吸収タイミング決定回路２５Ｙは、インバータＩＶ０、ＮＡＮＤゲート回路ＮＤ１及び遅延回路２７から構成される。
【０７１９】
電流吸収タイミング決定回路２５Ｙは、書き込み信号ＷＲＩＴＥが“Ｈ”になるとほぼ同時に、書き込みワード線シンク信号ＷＷＬＳＮＫを“Ｈ”にし、書き込み信号ＷＲＩＴＥが“Ｌ”になった後、遅延回路２７により決まる遅延時間後に、書き込みワード線シンク信号ＷＷＬＳＮＫを“Ｌ”にする。
【０７２０】
このように、書き込み信号ＷＲＩＴＥを“Ｌ”にした後、一定のインターバルを経た後に、書き込みワード線シンク信号ＷＷＬＳＮＫを“Ｌ”にすることにより、書き込み動作後に、書き込みワード線ＷＷＬｉを完全に０Ｖにすることができる。
【０７２１】
ii.  書き込みビット線ドライバ／シンカー・トリガ回路
図８０は、図６９の書き込みビット線ドライバ／シンカー・トリガ回路の例を示している。
【０７２２】
書き込みビット線ドライバ／シンカー・トリガ回路２６は、書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を決める基となる書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞を生成する電流供給／遮断タイミング決定回路２６Ｘと、書き込み電流の電流吸収タイミングを決定する電流吸収タイミング決定回路２６Ｙとから構成される。
【０７２３】
電流供給／遮断タイミング決定回路２６Ｘは、書き込み信号ＷＲＩＴＥの“Ｈ”又は“Ｌ”のタイミングに応じて、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞の“Ｈ”又は“Ｌ”のタイミングを決定する。電流供給／遮断タイミング決定回路２６Ｘは、複数（本例では、４つ）の遅延回路Ｂ０〜Ｂ３及びインバータＩＶ９〜ＩＶ１６から構成される。
【０７２４】
波形生成回路Ｂ０〜Ｂ３は、それぞれ、書き込み信号ＷＲＩＴＥに基づいて、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞を生成する。
【０７２５】
波形生成回路Ｂ０〜Ｂ３は、図５４に示す回路から構成することができる。この場合、波形生成回路Ｂ０〜Ｂ３自体が、複数の波形のなかから１つの波形を選択することができるため、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞の波形を、数多くの波形パターンから選ぶことができ、結果として、書き込みビット線電流の電流波形を自由に設定できるようになる。
【０７２６】
また、波形生成回路Ｂ０〜Ｂ３の各々は、特定された１つの波形のみを出力するが、それぞれの波形、即ち、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞の波形は、互いに異なるようにし、これらの波形を、書き込みビット線ドライブ信号ＢＳ＜０＞〜ＢＳ＜３＞により選択するようにしてもよい。
【０７２７】
この場合の波形生成回路Ｂ０〜Ｂ３の回路例については、後述する。
【０７２８】
なお、本例では、遅延回路Ｂ０〜Ｂ３は、４つであるが、当然に、その数を多くすればするほど、書き込みビット線ＷＢＬｉに流れる書き込み電流の電流波形を細かく制御できる。
【０７２９】
電流吸収タイミング決定回路２６Ｙは、インバータＩＶ０、ＮＡＮＤゲート回路ＮＤ２及び遅延回路２８から構成される。
【０７３０】
電流吸収タイミング決定回路２６Ｙは、書き込み信号ＷＲＩＴＥが“Ｈ”になるとほぼ同時に、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｈ”にし、書き込み信号ＷＲＩＴＥが“Ｌ”になった後、遅延回路２８により決まる遅延時間後に、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｌ”にする。
【０７３１】
このように、書き込み信号ＷＲＩＴＥを“Ｌ”にした後、一定のインターバルを経た後に、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｌ”にすることにより、書き込み動作後に、書き込みビット線ＷＢＬｉを完全に０Ｖにすることができる。
【０７３２】
図８１は、図７０の書き込みビット線ドライバ／シンカー・トリガ回路の例を示している。
【０７３３】
書き込みビット線ドライバ／シンカー・トリガ回路２６は、書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を決める基となる書き込みビット線ドライブ信号ＢＰ＜４＞〜ＢＰ＜７＞を生成する電流供給／遮断タイミング決定回路２６Ｘと、書き込み電流の電流吸収タイミングを決定する電流吸収タイミング決定回路２６Ｙとから構成される。
【０７３４】
電流供給／遮断タイミング決定回路２６Ｘは、書き込み信号ＷＲＩＴＥの“Ｈ”又は“Ｌ”のタイミングに応じて、書き込みビット線ドライブ信号ＢＰ＜４＞〜ＢＰ＜７＞の“Ｈ”又は“Ｌ”のタイミングを決定する。電流供給／遮断タイミング決定回路２６Ｘは、複数（本例では、４つ）の遅延回路Ｂ４〜Ｂ７及びインバータＩＶ１７〜ＩＶ２４から構成される。
【０７３５】
波形生成回路Ｂ４〜Ｂ７は、それぞれ、書き込み信号ＷＲＩＴＥに基づいて、書き込みビット線ドライブ信号ＢＰ＜４＞〜ＢＰ＜７＞を生成する。
【０７３６】
波形生成回路Ｂ４〜Ｂ７は、図５４に示す回路から構成することができる。この場合、波形生成回路Ｂ４〜Ｂ７自体が、複数の波形のなかから１つの波形を選択することができるため、書き込みビット線ドライブ信号ＢＰ＜４＞〜ＢＰ＜７＞の波形を、数多くの波形パターンから選ぶことができ、結果として、書き込みビット線電流の電流波形を自由に設定できるようになる。
【０７３７】
また、波形生成回路Ｂ４〜Ｂ７の各々は、特定された１つの波形のみを出力するが、それぞれの波形、即ち、書き込みビット線ドライブ信号ＢＰ＜４＞〜ＢＰ＜７＞の波形は、互いに異なるようにし、これらの波形を、書き込みビット線ドライブ信号ＢＳ＜４＞〜ＢＳ＜７＞により選択するようにしてもよい。
【０７３８】
この場合の波形生成回路Ｂ４〜Ｂ７の回路例については、後述する。
【０７３９】
なお、本例では、遅延回路Ｂ４〜Ｂ７は、４つであるが、当然に、その数を多くすればするほど、書き込みビット線ＷＢＬｉに流れる書き込み電流の電流波形を細かく制御できる。
【０７４０】
電流吸収タイミング決定回路２６Ｙは、インバータＩＶ０、ＮＡＮＤゲート回路ＮＤ２及び遅延回路２８から構成される。
【０７４１】
電流吸収タイミング決定回路２６Ｙは、書き込み信号ＷＲＩＴＥが“Ｈ”になるとほぼ同時に、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｈ”にし、書き込み信号ＷＲＩＴＥが“Ｌ”になった後、遅延回路２８により決まる遅延時間後に、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｌ”にする。
【０７４２】
このように、書き込み信号ＷＲＩＴＥを“Ｌ”にした後、一定のインターバルを経た後に、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｌ”にすることにより、書き込み動作後に、書き込みビット線ＷＢＬｉを完全に０Ｖにすることができる。
【０７４３】
図８０の書き込みビット線ドライバ／シンカー・トリガ回路２６により生成された書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞及び書き込みビット線シンク信号ＷＢＬＳＮＫは、図６７の書き込みビット線ドライバ／シンカー１６Ａ−１を駆動する。
【０７４４】
また、図８１の書き込みビット線ドライバ／シンカー・トリガ回路２６により生成された書き込みビット線ドライブ信号ＢＰ＜４＞〜ＢＰ＜７＞及び書き込みビット線シンク信号ＷＢＬＳＮＫは、図６７の書き込みビット線ドライバ／シンカー１７Ａ−１を駆動する。
【０７４５】
なお、本例では、書き込みビット線ドライバ／シンカー１６Ａ−１を駆動する書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞と、書き込みビット線ドライバ／シンカー１７Ａ−１を駆動する書き込みビット線ドライブ信号ＢＰ＜４＞〜ＢＰ＜７＞が異なるが、書き込みビット線ドライバ／シンカー１６Ａ−１，１７Ａ−１を、共に、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞により駆動してもよい。
【０７４６】
iii.  波形生成回路
次に、図７９乃至図８１の書き込みワード／ビット線ドライバ／シンカー・トリガ回路２５，２６内の波形生成回路Ｗｉ（ｉ＝０，１，２，３），Ｂｊ（ｊ＝０，１，・・・７）の例について説明する。
【０７４７】
図８２乃至図８９は、波形生成回路及びその動作波形を示している。
図８２の波形生成回路は、インバータＩ１１，Ｉ１２から構成される。この波形生成回路は、単なる遅延回路であり、書き込み信号ＷＲＩＴＥを一定時間だけ遅らせる。動作波形は、図８３に示すようになる。
【０７４８】
図８４の波形生成回路は、インバータＩ１１，Ｉ１２、ＮＡＮＤゲート回路ＮＡ１１及び遅延回路Ｄ１１から構成される。この波形生成回路は、入力信号ＩＮ、即ち、書き込み信号ＷＲＩＴＥが“Ｈ”になると、一定のパルス幅を有するパルス信号を生成し、これを、書き込みワード／ビット線ドライブ信号ＷＰ＜ｉ＞，ＢＰ＜ｊ＞として出力する。
【０７４９】
パルス信号のパルス幅は、遅延回路Ｄ１１の遅延時間により決定される。動作波形は、図８５に示すようになる。
【０７５０】
図８６の波形生成回路は、インバータＩ１２、ＮＡＮＤゲート回路ＮＡ１１及び遅延回路Ｄ１１から構成される。この波形生成回路は、入力信号ＩＮ、即ち、書き込み信号ＷＲＩＴＥが“Ｈ”になると、一定のパルス幅を有するパルス信号を生成し、これを、書き込みワード／ビット線ドライブ信号ＷＰ＜ｉ＞，ＢＰ＜ｊ＞として出力する。
【０７５１】
パルス信号のパルス幅は、遅延回路Ｄ１１の遅延時間により決定される。動作波形は、図８７に示すようになる。この波形生成回路は、例えば、図７１乃至図７３の波形生成回路Ｗｉ，Ｂｊとして使用することができる。この場合、図７７及び図７８の波形図を実現できる。
【０７５２】
図８８の波形生成回路は、インバータＩ１１，Ｉ１２、ＮＡＮＤゲート回路ＮＡ１１及び遅延回路Ｄ１１，Ｄ１２から構成される。この波形生成回路は、入力信号ＩＮ、即ち、書き込み信号ＷＲＩＴＥが“Ｈ”になると、それから一定期間が経過した後に、一定のパルス幅を有するパルス信号を生成する。このパルス信号は、書き込みワード／ビット線ドライブ信号ＷＰ＜ｉ＞，ＢＰ＜ｊ＞として出力される。
【０７５３】
パルス信号が生成される時期、即ち、書き込みワード／ビット線ドライブ信号ＷＰ＜ｉ＞，ＢＰ＜ｊ＞が“Ｈ”となる時期は、遅延回路Ｄ１２の遅延時間により決定される。また、パルス信号のパルス幅は、遅延回路Ｄ１１の遅延時間により決定される。動作波形は、図８９に示すようになる。
【０７５４】
このように、図８２、図８４、図８６及び図８８に示す波形生成回路Ｗｉ，Ｂｊを利用して、書き込みワード／ビット線ドライバを構成すれば、簡単に、書き込みワード／ビット線ドライブ信号ＷＰ＜ｉ＞，ＢＰ＜ｊ＞を生成することができる。
【０７５５】
iv.  電流波形例
図９０は、回路例２（図６５〜図７０、図７４〜図７６、図７９〜図８２、図８４、図８６及び図８８）により実現できる書き込みワード線電流の電流波形の一例を示している。
【０７５６】
この波形例は、図７９の書き込みワード線ドライバ／シンカー・トリガ回路２５内の波形生成回路Ｗ０〜Ｗ３が、それぞれ、図９０に示すような波形を有する書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞を出力することを前提とする。例えば、ＷＰ＜０＞及びＷＰ＜２＞は、図８４の波形生成回路により実現でき、ＷＰ＜１＞は、図８２の波形生成回路により実現でき、ＷＰ＜３＞は、図８８の波形生成回路により実現できる。
【０７５７】
また、図７４の設定回路２３Ａは、書き込みワード線ドライブ信号ＷＳ＜０＞，ＷＳ＜２＞を、“Ｈ”とし、書き込みワード線ドライブ信号ＷＳ＜１＞，ＷＳ＜３＞を、“Ｌ”とするような設定データを記憶しているものと仮定する。
【０７５８】
この場合、書き込み信号ＷＲＩＴＥが“Ｌ”から“Ｈ”に変化すると、まず、ＷＰ＜０＞＝“Ｈ”、ＷＳ＜０＞＝“Ｈ”、ＷＰ＜２＞＝“Ｈ”、ＷＳ＜２＞＝“Ｈ”となり、図６６のロウデコーダ＆書き込みワード線ドライバ１４−１内のＮＡＮＤゲート回路ＮＤＷＰ０，ＮＤＷＰ２の出力信号が“Ｌ”になる。
【０７５９】
この後、ＷＰ＜０＞が“Ｌ”となり、ＷＰ＜２＞＝“Ｈ”、ＷＳ＜２＞＝“Ｈ”となるため、図６６のロウデコーダ＆書き込みワード線ドライバ１４−１内のＮＡＮＤゲート回路ＮＤＷＰ２の出力信号のみが“Ｌ”になる。
【０７６０】
これにより、図９０に示すような書き込みワード線電流を、書き込みワード線ＷＷＬｉに流すことができる。
【０７６１】
図９１は、回路例２（図６５〜図７０、図７４〜図７６、図７９〜図８２、図８４）により実現できる書き込みビット線電流の電流波形の一例を示している。
【０７６２】
この波形例は、図８０の書き込みビット線ドライバ／シンカー・トリガ回路２６内の波形生成回路Ｂ０〜Ｂ３が、それぞれ、図９１に示すような波形を有する書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞を出力することを前提とする。例えば、ＢＰ＜０＞、ＢＰ＜２＞及びＢＰ＜３＞は、図８８の波形生成回路により実現でき、ＢＰ＜１＞は、図８２の波形生成回路により実現できる。
【０７６３】
また、図７５の設定回路２３Ｂは、書き込みビット線ドライブ信号ＢＳ＜０＞，ＢＳ＜２＞を、“Ｈ”とし、書き込みビット線ドライブ信号ＢＳ＜１＞，ＢＳ＜３＞を、“Ｌ”とするような設定データを記憶しているものと仮定する。
【０７６４】
さらに、ここでは、書き込みデータＤＡＴＡは、“１”（＝“Ｈ”）であると仮定する。書き込みデータＤＡＴＡが“０”（＝“Ｌ”）のときには、図８１の書き込みビット線ドライバ／シンカー・トリガ回路２６及び図７０の設定回路２３Ｂが有効となる。
【０７６５】
この場合、書き込み信号ＷＲＩＴＥが“Ｌ”から“Ｈ”に変化した後、一定期間が経過すると、ＢＰ＜２＞＝“Ｈ”、ＢＳ＜２＞＝“Ｈ”となり、図６７のカラムデコーダ＆書き込みビット線ドライバ１６Ａ−１内のＮＡＮＤゲート回路ＮＤＢＰ２の出力信号が“Ｌ”になる。
【０７６６】
この後、さらに、ＢＰ＜０＞＝“Ｈ”、ＢＳ＜０＞＝“Ｈ”となり、また、ＢＰ＜２＞＝“Ｈ”、ＢＳ＜２＞＝“Ｈ”は、そのまま維持されているため、図６７のカラムデコーダ＆書き込みワード線ドライバ１６Ａ−１内のＮＡＮＤゲート回路ＮＤＢＰ０，ＮＤＢＰ２の出力信号が“Ｌ”になる。
【０７６７】
これにより、図９１に示すような書き込みビット線電流を、書き込みビット線ＷＢＬｉに流すことができる。
【０７６８】
v.  まとめ
以上、説明したように、磁気ランダムアクセスメモリの回路例２によれば、書き込みワード／ビット線に対する書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を、書き込みワード／ビット線毎に、プログラミングにより設定できる。これにより、例えば、実施例１〜１０の書き込み原理を実現可能にし、ＴＭＲ素子の記憶層の磁化反転を確実に行い、書き込み特性の向上を図ることができる。
【０７６９】
また、回路例２では、書き込みワード／ビット線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞，ＢＰ＜０＞〜ＢＰ＜７＞は、書き込みワード／ビット線ドライバ／シンカー・トリガ回路内の波形生成回路により生成される。このため、書き込みワード／ビット線電流の電流波形を自由に設定できる。
【０７７０】
さらに、回路例２では、回路例１と同様に、書き込みビット線電流の向き（書き込みデータに依存）に対して、個別に、書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を設定できる。
【０７７１】
このように、回路例２では、書き込みワード／ビット線毎に、書き込み電流の形状を自由に設定できると共に、書き込みビット線に流れる書き込み電流の向きに応じて、個別に、書き込み電流の形状を設定できるため、ＴＭＲ素子の記憶層の磁化反転を確実に行い、書き込み特性の向上を図ることができる。
【０７７２】
▲３▼  回路例３
回路例３は、回路例１，２の一部を変形した変形例であり、書き込みワード／ビット線に対する書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を、書き込みワード／ビット線毎に、プログラミングにより設定できる磁気ランダムアクセスメモリに関する。
【０７７３】
回路例３は、回路例１，２と比較すると、カラムデコーダ＆書き込みビット線ドライバ／シンカー及び書き込みビット線ドライバ／シンカー・トリガ回路の構成に特徴を有する。
【０７７４】
即ち、磁気ランダムアクセスメモリの全体構成については、図６５に示すようになり、また、ロウデコーダ＆書き込みワード線ドライバ／シンカーについては、図６６に示す回路をそのまま使用することができる。
【０７７５】
また、書き込みワード線電流の生成に使用される書き込み電流波形制御回路・設定回路については、図６８、図７１及び図７４に示す回路、書き込みビット線電流の生成に使用される書き込み電流波形制御回路・設定回路内の設定回路については、図７５及び図７６に示す回路をそのまま使用することができる。
【０７７６】
回路例３では、回路例１，２と同様に、書き込みビット線電流の向きに対して、個別に、書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を設定できる。
【０７７７】
但し、回路例３では、書き込み電流波形を決定する際の基となる書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞を、カラムデコーダ＆書き込みビット線ドライバ／シンカー（１カラム分）１６Ａ−１，１７Ａ−１の双方に与え、回路を簡略化する。
【０７７８】
この場合においても、書き込みビット線ドライブ信号ＢＳ＜０＞〜ＢＳ＜３＞を用いて、一方向に向かう書き込みビット線電流の波形を決定でき、書き込みビット線ドライブ信号ＢＳ＜４＞〜ＢＳ＜７＞を用いて、他方向に向かう書き込みビット線電流の波形を決定できる。
【０７７９】
i.  カラムデコーダ＆書き込みビット線ドライバ／シンカー
図９２は、カラムデコーダ＆書き込みビット線ドライバ／シンカーの回路例を示している。
【０７８０】
カラムデコーダ＆書き込みビット線ドライバ／シンカー（１カラム分）１６Ａ−１は、ＮＡＮＤゲート回路ＮＤＢＰ０〜ＮＤＢＰ３、ＡＮＤゲート回路ＡＤ２，ＡＤ３、ＰチャネルＭＯＳトランジスタＢＰ０〜ＢＰ３及びＮチャネルＭＯＳトランジスタＢＮ０から構成される。
【０７８１】
ＰチャネルＭＯＳトランジスタＢＰｉ（ｉ＝０，１，２，３）のゲートは、ＮＡＮＤゲート回路ＮＤＢＰｉの出力端子に接続され、そのソースは、電源端子ＶＤＤに接続され、そのドレインは、共通に、書き込みビット線ＷＢＬｉ（ｉ＝１，・・・）の一端に接続される。
【０７８２】
ＮＡＮＤゲート回路ＮＤＢＰｉ（ｉ＝０，１，２，３）は、３つの入力端子を有し、そのうちの２つには、書き込みワード線ドライブ信号（電流波形生成信号）ＢＰ＜ｉ＞，ＢＳ＜ｉ＞が入力され、残りの１つには、ＡＮＤゲート回路ＡＤ２の出力信号が入力される。ＡＮＤゲート回路ＡＤ２には、複数ビットから構成されるカラムアドレス信号（カラムｉ毎に異なる）及び書き込みデータＤＡＴＡが入力される。
【０７８３】
ＮチャネルＭＯＳトランジスタＢＮ０のゲートは、ＡＮＤゲート回路ＡＤ３の出力端子に接続され、そのソースは、接地端子ＶＳＳに接続され、そのドレインは、書き込みビット線ＷＢＬｉ（ｉ＝１，・・・）の一端に接続される。ＡＮＤゲート回路ＡＤ３には、複数ビットから構成されるカラムアドレス信号（カラムｉ毎に異なる）、書き込みビット線シンク信号ＷＢＬＳＮＫ及び書き込みデータの反転信号ｂＤＡＴＡが入力される。
【０７８４】
同様に、カラムデコーダ＆書き込みビット線ドライバ／シンカー（１カラム分）１７Ａ−１は、ＮＡＮＤゲート回路ＮＤＢＰ４〜ＮＤＢＰ７、ＡＮＤゲート回路ＡＤ４，ＡＤ５、ＰチャネルＭＯＳトランジスタＢＰ４〜ＢＰ７及びＮチャネルＭＯＳトランジスタＢＮ１から構成される。
【０７８５】
ＰチャネルＭＯＳトランジスタＢＰｉ（ｉ＝４，５，６，７）のゲートは、ＮＡＮＤゲート回路ＮＤＢＰｉの出力端子に接続され、そのソースは、電源端子ＶＤＤに接続され、そのドレインは、共通に、書き込みビット線ＷＢＬｉ（ｉ＝１，・・・）の他端に接続される。
【０７８６】
ＮＡＮＤゲート回路ＮＤＢＰｉ（ｉ＝４，５，６，７）は、３つの入力端子を有し、そのうちの２つには、書き込みワード線ドライブ信号（電流波形生成信号）ＢＰ＜ｉ’＞（ｉ’＝０，１，２，３），ＢＳ＜ｉ＞が入力され、残りの１つには、ＡＮＤゲート回路ＡＤ４の出力信号が入力される。ＡＮＤゲート回路ＡＤ４には、複数ビットから構成されるカラムアドレス信号（カラムｉ毎に異なる）及び書き込みデータの反転信号ｂＤＡＴＡが入力される。
【０７８７】
ここで、本例では、ＮＡＮＤゲート回路ＮＤＢＰｉ（ｉ＝４，５，６，７）には、書き込みワード線ドライブ信号ＢＰ＜ｉ’＞（ｉ’＝０，１，２，３）が入力される。つまり、カラムデコーダ＆書き込みビット線ドライバ／シンカー（１カラム分）１６Ａ−１，１７Ａ−１は、共に、書き込みワード線ドライブ信号ＢＰ＜ｉ’＞により制御される。
【０７８８】
ＮチャネルＭＯＳトランジスタＢＮ１のゲートは、ＡＮＤゲート回路ＡＤ５の出力端子に接続され、そのソースは、接地端子ＶＳＳに接続され、そのドレインは、書き込みビット線ＷＢＬｉ（ｉ＝１，・・・）の他端に接続される。ＡＮＤゲート回路ＡＤ５には、複数ビットから構成されるカラムアドレス信号（カラムｉ毎に異なる）、書き込みビット線シンク信号ＷＢＬＳＮＫ及び書き込みデータＤＡＴＡが入力される。
【０７８９】
ii.  書き込み電流波形制御回路・設定回路
書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞，ＷＳ＜０＞〜ＷＳ＜３＞及び書き込みワード線シンク信号ＷＷＬＳＮＫを生成する書き込み電流波形制御回路・設定回路については、上述したように、図６８の回路をそのまま使用できる。ここでは、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞，ＢＳ＜０＞〜ＢＳ＜７＞及び書き込みビット線シンク信号ＷＢＬＳＮＫを生成する書き込み電流波形制御回路・設定回路の例について説明する。
【０７９０】
図９３は、図６５における書き込み電流波形制御回路・設定回路１６Ａ−２の例を示している。
同図では、書き込み電流波形制御回路・設定回路１６Ａ−２の１カラム分についてのみ示す。よって、実際は、図９３に示す要素（書き込みビット線ドライバ／シンカー・トリガ回路２６及び設定回路２３Ｂ）が、カラムの数だけ存在する。
【０７９１】
書き込み電流波形制御回路・設定回路１６Ａ−２は、書き込みビット線ドライバ／シンカー・トリガ回路２６及び設定回路２３Ｂから構成される。
【０７９２】
書き込みビット線ドライバ／シンカー・トリガ回路２６は、書き込み信号ＷＲＩＴＥに基づいて、書き込みビット線ドライブ信号（電流波形生成信号）ＢＰ＜０＞〜ＢＰ＜３＞及び書き込みビット線シンク信号ＷＢＬＳＮＫを生成する。
【０７９３】
設定回路２３Ｂは、設定データに基づいて、書き込みビット線ドライブ信号（電流波形生成信号）ＢＳ＜０＞〜ＢＳ＜３＞を出力する。設定データは、プログラム信号ＰＲＯＧ、アドレス信号（カラムｉ）及び入力データＤ＜０＞〜Ｄ＜３＞に基づいて、予め、設定回路２３Ｂ内の記憶素子（ヒューズ素子、ＴＭＲ素子など）にプログラムされる。
【０７９４】
設定データのプログラムは、ウェハ状態、アセンブリ後の製品状態など、どのような時期に行ってもよい。アセンブリ後に、設定データのプログラムを行う場合には、入力データＤ＜０＞〜Ｄ＜３＞は、例えば、データ入力ピン、アドレスピンや、専用ピンなどから入力し、設定回路２３Ｂに設定データを登録することができる。
【０７９５】
書き込み信号ＷＲＩＴＥは、書き込み動作時に“Ｈ”となる信号である。
【０７９６】
書き込みワード線ドライバ／シンカー・トリガ回路２６は、書き込み信号ＷＲＩＴＥが“Ｈ”になると、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｈ”にすると共に、例えば、所定のタイミングで、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞を“Ｈ”及び“Ｌ”に設定する。
【０７９７】
設定回路２３Ｂは、常に、書き込みビット線ドライブ信号ＢＳ＜０＞〜ＢＳ＜３＞を出力している。
【０７９８】
書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞は、書き込みビット線電流の電流波形の基となる信号である。これに対し、書き込みビット線ドライブ信号ＢＳ＜０＞〜ＢＳ＜３＞は、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞（電流波形の基となる信号）を選択する機能を持つ。
【０７９９】
即ち、図９２の書き込みビット線ドライバの構成から明らかなように、書き込みビット線ドライブ信号ＢＳ＜ｉ＞が“Ｈ”のとき、書き込みビット線ドライブ信号ＢＰ＜ｉ＞の波形にほぼ等しい波形を有する電流が、書き込みビット線ＷＢＬｉに供給される。
【０８００】
図９４は、図６５における書き込み電流波形制御回路・設定回路１７Ａ−２の例を示している。
同図では、書き込み電流波形制御回路・設定回路１７Ａ−２の１カラム分についてのみ示す。よって、実際は、図９４に示す要素（書き込みビット線ドライバ／シンカー・トリガ回路２６及び設定回路２３Ｂ）が、カラムの数だけ存在する。
【０８０１】
書き込み電流波形制御回路・設定回路１７Ａ−２は、書き込みビット線ドライバ／シンカー・トリガ回路２６及び設定回路２３Ｂから構成される。
【０８０２】
書き込みビット線ドライバ／シンカー・トリガ回路２６は、書き込み信号ＷＲＩＴＥに基づいて、書き込みビット線ドライブ信号（電流波形生成信号）ＢＰ＜０＞〜ＢＰ＜３＞及び書き込みビット線シンク信号ＷＢＬＳＮＫを生成する。
【０８０３】
設定回路２３Ｂは、設定データに基づいて、書き込みビット線ドライブ信号（電流波形生成信号）ＢＳ＜４＞〜ＢＳ＜７＞を出力する。設定データは、プログラム信号ＰＲＯＧ、アドレス信号（カラムｉ）及び入力データＤ＜４＞〜Ｄ＜７＞に基づいて、予め、設定回路２３Ｂ内の記憶素子（ヒューズ素子、ＴＭＲ素子など）にプログラムされる。
【０８０４】
設定データのプログラムは、ウェハ状態、アセンブリ後の製品状態など、どのような時期に行ってもよい。アセンブリ後に、設定データのプログラムを行う場合には、入力データＤ＜４＞〜Ｄ＜７＞は、例えば、データ入力ピン、アドレスピンや、専用ピンなどから入力し、設定回路２３Ｂに設定データを登録することができる。
【０８０５】
書き込み信号ＷＲＩＴＥは、書き込み動作時に“Ｈ”となる信号である。
【０８０６】
書き込みワード線ドライバ／シンカー・トリガ回路２６は、書き込み信号ＷＲＩＴＥが“Ｈ”になると、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｈ”にすると共に、例えば、所定のタイミングで、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞を“Ｈ”及び“Ｌ”に設定する。
【０８０７】
設定回路２３Ｂは、常に、書き込みビット線ドライブ信号ＢＳ＜４＞〜ＢＳ＜７＞を出力している。
【０８０８】
書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞は、書き込みビット線電流の電流波形の基となる信号である。
【０８０９】
ここで、図９３の書き込み電流波形制御回路・設定回路１６Ａ−２内の書き込みビット線ドライバ／シンカー・トリガ回路２６と、図９４の書き込み電流波形制御回路・設定回路１７Ａ−２内の書き込みビット線ドライバ／シンカー・トリガ回路２６は、共に、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞を出力している。
【０８１０】
つまり、書き込みビット線電流の電流波形を決定する基となる信号は、書き込みビット線電流の向き（書き込みデータ）によらず、同じとなる。これにより、書き込み電流波形制御回路・設定回路１６Ａ−２，１７Ａ−２の構成を簡略化できる。
【０８１１】
また、図９３の書き込み電流波形制御回路・設定回路１６Ａ−２内の書き込みビット線ドライバ／シンカー・トリガ回路２６の構成と、図９４の書き込み電流波形制御回路・設定回路１７Ａ−２内の書き込みビット線ドライバ／シンカー・トリガ回路２６の構成は、完全に、同一となる。例えば、図７２の回路を、ビット線ドライバ／シンカー・トリガ回路２６として使用できる。
【０８１２】
従って、レイアウト的に可能ならば、図９３の書き込み電流波形制御回路・設定回路１６Ａ−２内の書き込みビット線ドライバ／シンカー・トリガ回路２６と、図９４の書き込み電流波形制御回路・設定回路１７Ａ−２内の書き込みビット線ドライバ／シンカー・トリガ回路２６とを、１つにまとめても構わない。
【０８１３】
なお、書き込みビット線ドライブ信号ＢＳ＜４＞〜ＢＳ＜７＞は、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞（電流波形の基となる信号）を選択する機能を持つので、書き込みビット線電流の向きに応じて、異なる電流波形を実現することができる。
【０８１４】
iii. まとめ
以上、説明したように、磁気ランダムアクセスメモリの回路例３によれば、書き込みワード／ビット線に対する書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を、書き込みワード／ビット線毎に、プログラミングにより設定できる。これにより、例えば、実施例１〜１０の書き込み原理を実現可能にし、ＴＭＲ素子の記憶層の磁化反転を確実に行い、書き込み特性の向上を図ることができる。
【０８１５】
また、回路例３では、書き込みビット線ドライブ信号ＢＳ＜０＞〜ＢＳ＜７＞により、書き込みビット線電流の向き（書き込みデータに依存）に対して、個別に、書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を設定できると共に、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞を、書き込みビット線電流の向きによらず、共有化する。
【０８１６】
従って、回路例３では、書き込み電流波形制御回路・設定回路の構成を簡略化することができる。
【０８１７】
▲４▼  回路例４
回路例４は、回路例１，２の一部を変形した変形例であり、書き込みワード／ビット線に対する書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を、書き込みワード／ビット線毎に、プログラミングにより設定できる磁気ランダムアクセスメモリに関する。
【０８１８】
回路例４は、回路例１，２と比較すると、カラムデコーダ＆書き込みビット線ドライバ／シンカー、書き込みビット線ドライバ／シンカー・トリガ回路及び書き込みビット線電流に関する設定データを記憶する設定回路の構成に特徴を有する。
【０８１９】
即ち、磁気ランダムアクセスメモリの全体構成については、図６５に示すようになり、また、ロウデコーダ＆書き込みワード線ドライバ／シンカーについては、図６６に示す回路、書き込みワード線電流の生成に使用される書き込み電流波形制御回路・設定回路については、図６８、図７１及び図７４に示す回路をそのまま使用することができる。
【０８２０】
回路例１，２では、書き込みビット線電流の向きに対して、個別に、書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を設定できる構成について提案した。これに対し、回路例４では、書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）に関しては、書き込みワード／ビット線毎に設定できるが、書き込みビット線電流の向きに対しては、それらは変わらないような構成について提案する。
【０８２１】
i.  カラムデコーダ＆書き込みビット線ドライバ／シンカー
図９５は、カラムデコーダ＆書き込みビット線ドライバ／シンカーの回路例を示している。
【０８２２】
カラムデコーダ＆書き込みビット線ドライバ／シンカー（１カラム分）１６Ａ−１は、ＮＡＮＤゲート回路ＮＤＢＰ０〜ＮＤＢＰ３、ＡＮＤゲート回路ＡＤ２，ＡＤ３、ＰチャネルＭＯＳトランジスタＢＰ０〜ＢＰ３及びＮチャネルＭＯＳトランジスタＢＮ０から構成される。
【０８２３】
ＰチャネルＭＯＳトランジスタＢＰｉ（ｉ＝０，１，２，３）のゲートは、ＮＡＮＤゲート回路ＮＤＢＰｉの出力端子に接続され、そのソースは、電源端子ＶＤＤに接続され、そのドレインは、共通に、書き込みビット線ＷＢＬｉ（ｉ＝１，・・・）の一端に接続される。
【０８２４】
ＮＡＮＤゲート回路ＮＤＢＰｉ（ｉ＝０，１，２，３）は、３つの入力端子を有し、そのうちの２つには、書き込みワード線ドライブ信号（電流波形生成信号）ＢＰ＜ｉ＞，ＢＳ＜ｉ＞が入力され、残りの１つには、ＡＮＤゲート回路ＡＤ２の出力信号が入力される。ＡＮＤゲート回路ＡＤ２には、複数ビットから構成されるカラムアドレス信号（カラムｉ毎に異なる）及び書き込みデータＤＡＴＡが入力される。
【０８２５】
ＮチャネルＭＯＳトランジスタＢＮ０のゲートは、ＡＮＤゲート回路ＡＤ３の出力端子に接続され、そのソースは、接地端子ＶＳＳに接続され、そのドレインは、書き込みビット線ＷＢＬｉ（ｉ＝１，・・・）の一端に接続される。ＡＮＤゲート回路ＡＤ３には、複数ビットから構成されるカラムアドレス信号（カラムｉ毎に異なる）、書き込みビット線シンク信号ＷＢＬＳＮＫ及び書き込みデータの反転信号ｂＤＡＴＡが入力される。
【０８２６】
同様に、カラムデコーダ＆書き込みビット線ドライバ／シンカー（１カラム分）１７Ａ−１は、ＮＡＮＤゲート回路ＮＤＢＰ４〜ＮＤＢＰ７、ＡＮＤゲート回路ＡＤ４，ＡＤ５、ＰチャネルＭＯＳトランジスタＢＰ４〜ＢＰ７及びＮチャネルＭＯＳトランジスタＢＮ１から構成される。
【０８２７】
ＰチャネルＭＯＳトランジスタＢＰｉ（ｉ＝４，５，６，７）のゲートは、ＮＡＮＤゲート回路ＮＤＢＰｉの出力端子に接続され、そのソースは、電源端子ＶＤＤに接続され、そのドレインは、共通に、書き込みビット線ＷＢＬｉ（ｉ＝１，・・・）の他端に接続される。
【０８２８】
ＮＡＮＤゲート回路ＮＤＢＰｉ（ｉ＝４，５，６，７）は、３つの入力端子を有し、そのうちの２つには、書き込みワード線ドライブ信号（電流波形生成信号）ＢＰ＜ｉ’＞，ＢＳ＜ｉ’＞（ｉ’＝０，１，２，３）が入力され、残りの１つには、ＡＮＤゲート回路ＡＤ４の出力信号が入力される。ＡＮＤゲート回路ＡＤ４には、複数ビットから構成されるカラムアドレス信号（カラムｉ毎に異なる）及び書き込みデータの反転信号ｂＤＡＴＡが入力される。
【０８２９】
ここで、本例では、ＮＡＮＤゲート回路ＮＤＢＰｉ（ｉ＝４，５，６，７）には、書き込みワード線ドライブ信号ＢＰ＜ｉ’＞，ＢＳ＜ｉ’＞（ｉ’＝０，１，２，３）が入力される。つまり、カラムデコーダ＆書き込みビット線ドライバ／シンカー（１カラム分）１６Ａ−１，１７Ａ−１は、共に、書き込みワード線ドライブ信号ＢＰ＜ｉ’＞，ＢＳ＜ｉ’＞により制御される。
【０８３０】
ＮチャネルＭＯＳトランジスタＢＮ１のゲートは、ＡＮＤゲート回路ＡＤ５の出力端子に接続され、そのソースは、接地端子ＶＳＳに接続され、そのドレインは、書き込みビット線ＷＢＬｉ（ｉ＝１，・・・）の他端に接続される。ＡＮＤゲート回路ＡＤ５には、複数ビットから構成されるカラムアドレス信号（カラムｉ毎に異なる）、書き込みビット線シンク信号ＷＢＬＳＮＫ及び書き込みデータＤＡＴＡが入力される。
【０８３１】
ii.  書き込み電流波形制御回路・設定回路
書き込みワード線ドライブ信号ＷＰ＜０＞〜ＷＰ＜３＞，ＷＳ＜０＞〜ＷＳ＜３＞及び書き込みワード線シンク信号ＷＷＬＳＮＫを生成する書き込み電流波形制御回路・設定回路については、上述したように、図６８の回路をそのまま使用できる。ここでは、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞，ＢＳ＜０＞〜ＢＳ＜３＞及び書き込みビット線シンク信号ＷＢＬＳＮＫを生成する書き込み電流波形制御回路・設定回路の例について説明する。
【０８３２】
図９６は、図６５における書き込み電流波形制御回路・設定回路１６Ａ−２の例を示している。
同図では、書き込み電流波形制御回路・設定回路１６Ａ−２の１カラム分についてのみ示す。よって、実際は、図９６に示す要素（書き込みビット線ドライバ／シンカー・トリガ回路２６及び設定回路２３Ｂ）が、カラムの数だけ存在する。
【０８３３】
書き込み電流波形制御回路・設定回路１６Ａ−２は、書き込みビット線ドライバ／シンカー・トリガ回路２６及び設定回路２３Ｂから構成される。
【０８３４】
書き込みビット線ドライバ／シンカー・トリガ回路２６は、書き込み信号ＷＲＩＴＥに基づいて、書き込みビット線ドライブ信号（電流波形生成信号）ＢＰ＜０＞〜ＢＰ＜３＞及び書き込みビット線シンク信号ＷＢＬＳＮＫを生成する。
【０８３５】
設定回路２３Ｂは、設定データに基づいて、書き込みビット線ドライブ信号（電流波形生成信号）ＢＳ＜０＞〜ＢＳ＜３＞を出力する。設定データは、プログラム信号ＰＲＯＧ、アドレス信号（カラムｉ）及び入力データＤ＜０＞〜Ｄ＜３＞に基づいて、予め、設定回路２３Ｂ内の記憶素子（ヒューズ素子、ＴＭＲ素子など）にプログラムされる。
【０８３６】
設定データのプログラムは、ウェハ状態、アセンブリ後の製品状態など、どのような時期に行ってもよい。アセンブリ後に、設定データのプログラムを行う場合には、入力データＤ＜０＞〜Ｄ＜３＞は、例えば、データ入力ピン、アドレスピンや、専用ピンなどから入力し、設定回路２３Ｂに設定データを登録することができる。
【０８３７】
書き込み信号ＷＲＩＴＥは、書き込み動作時に“Ｈ”となる信号である。
【０８３８】
書き込みワード線ドライバ／シンカー・トリガ回路２６は、書き込み信号ＷＲＩＴＥが“Ｈ”になると、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｈ”にすると共に、例えば、所定のタイミングで、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞を“Ｈ”及び“Ｌ”に設定する。
【０８３９】
設定回路２３Ｂは、常に、書き込みビット線ドライブ信号ＢＳ＜０＞〜ＢＳ＜３＞を出力している。
【０８４０】
書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞は、書き込みビット線電流の電流波形の基となる信号である。これに対し、書き込みビット線ドライブ信号ＢＳ＜０＞〜ＢＳ＜３＞は、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞（電流波形の基となる信号）を選択する機能を持つ。
【０８４１】
即ち、図９５の書き込みビット線ドライバの構成から明らかなように、書き込みビット線ドライブ信号ＢＳ＜ｉ＞が“Ｈ”のとき、書き込みビット線ドライブ信号ＢＰ＜ｉ＞の波形にほぼ等しい波形を有する電流が、書き込みビット線ＷＢＬｉに供給される。
【０８４２】
図９７は、図６５における書き込み電流波形制御回路・設定回路１７Ａ−２の例を示している。
同図では、書き込み電流波形制御回路・設定回路１７Ａ−２の１カラム分についてのみ示す。よって、実際は、図９７に示す要素（書き込みビット線ドライバ／シンカー・トリガ回路２６及び設定回路２３Ｂ）が、カラムの数だけ存在する。
【０８４３】
書き込み電流波形制御回路・設定回路１７Ａ−２は、書き込みビット線ドライバ／シンカー・トリガ回路２６及び設定回路２３Ｂから構成される。
【０８４４】
書き込みビット線ドライバ／シンカー・トリガ回路２６は、書き込み信号ＷＲＩＴＥに基づいて、書き込みビット線ドライブ信号（電流波形生成信号）ＢＰ＜０＞〜ＢＰ＜３＞及び書き込みビット線シンク信号ＷＢＬＳＮＫを生成する。
【０８４５】
設定回路２３Ｂは、設定データに基づいて、書き込みビット線ドライブ信号（電流波形生成信号）ＢＳ＜０＞〜ＢＳ＜３＞を出力する。設定データは、プログラム信号ＰＲＯＧ、アドレス信号（カラムｉ）及び入力データＤ＜０＞〜Ｄ＜３＞に基づいて、予め、設定回路２３Ｂ内の記憶素子（ヒューズ素子、ＴＭＲ素子など）にプログラムされる。
【０８４６】
設定データのプログラムは、ウェハ状態、アセンブリ後の製品状態など、どのような時期に行ってもよい。アセンブリ後に、設定データのプログラムを行う場合には、入力データＤ＜０＞〜Ｄ＜３＞は、例えば、データ入力ピン、アドレスピンや、専用ピンなどから入力し、設定回路２３Ｂに設定データを登録することができる。
【０８４７】
書き込み信号ＷＲＩＴＥは、書き込み動作時に“Ｈ”となる信号である。
【０８４８】
書き込みワード線ドライバ／シンカー・トリガ回路２６は、書き込み信号ＷＲＩＴＥが“Ｈ”になると、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｈ”にすると共に、例えば、所定のタイミングで、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞を“Ｈ”及び“Ｌ”に設定する。
【０８４９】
設定回路２３Ｂは、常に、書き込みビット線ドライブ信号ＢＳ＜０＞〜ＢＳ＜３＞を出力している。
【０８５０】
書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞は、書き込みビット線電流の電流波形の基となる信号である。書き込みビット線ドライブ信号ＢＳ＜０＞〜ＢＳ＜３＞は、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞を選択する機能を持つ。
【０８５１】
ここで、図９６の書き込み電流波形制御回路・設定回路１６Ａ−２と、図９７の書き込み電流波形制御回路・設定回路１７Ａ−２は、共に、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞，ＢＳ＜０＞〜ＢＳ＜３＞及び書き込みビット線シンク信号ＷＢＬＳＮＫを出力している。つまり、書き込みビット線電流の電流波形は、書き込みビット線電流の向き（書き込みデータ）によらず、同じとなる。
【０８５２】
また、図９６の書き込み電流波形制御回路・設定回路１６Ａ−２の構成と、図９７の書き込み電流波形制御回路・設定回路１７Ａ−２の構成は、完全に、同一となる。例えば、図７２の回路を、ビット線ドライバ／シンカー・トリガ回路２６として、図７５の回路を、設定回路２３Ｂとして、それぞれ使用できる。
【０８５３】
従って、レイアウト的に可能ならば、図９６の書き込み電流波形制御回路・設定回路１６Ａ−２と、図９７の書き込み電流波形制御回路・設定回路１７Ａ−２とを、１つにまとめても構わない。
【０８５４】
iii. まとめ
以上、説明したように、磁気ランダムアクセスメモリの回路例４によれば、書き込みワード／ビット線に対する書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を、書き込みワード／ビット線毎に、プログラミングにより設定できる。これにより、例えば、実施例１〜１０の書き込み原理を実現可能にし、ＴＭＲ素子の記憶層の磁化反転を確実に行い、書き込み特性の向上を図ることができる。
【０８５５】
また、回路例４では、書き込みビット線ドライブ信号ＢＰ＜０＞〜ＢＰ＜３＞，ＢＳ＜０＞〜ＢＳ＜３＞を、書き込みビット線電流の向き（書き込みデータ）によらず、共有化しているため、書き込み電流波形制御回路・設定回路の構成を簡略化することができる。
【０８５６】
(3)   メモリセルアレイを積み重ねる場合
近年では、メモリセル（ＴＭＲ素子）の高集積化を実現するため、半導体基板（チップ）上にメモリセルアレイを複数段に積み重ねるセルアレイ構造が数多く提案されている。
【０８５７】
本発明に関わる書き込み原理及びこれを実現する回路方式については、上述した通りであるが、これらを、複数段に積み重ねられたメモリセルアレイを有する磁気ランダムアクセスメモリに適用することも可能である。
【０８５８】
i.  チップ毎又はセルアレイ毎に設定する場合
まず、書き込みワード／ビット線電流の電流波形をチップ毎又はセルアレイ毎に設定する場合の例について説明する。
【０８５９】
図９８は、複数段に積み重ねられたメモリセルアレイを有する磁気ランダムアクセスメモリの概略を示している。
【０８６０】
これは、上述の「 (1) チップ毎又はセルアレイ毎に設定する場合」の回路例１〜３を、複数段に積み重ねられたメモリセルアレイを有する磁気ランダムアクセスメモリに適用した場合に相当する。
【０８６１】
半導体基板（磁気ランダムアクセスメモリチップ）１１Ａ上には、ｎ（ｎは、複数）段に、メモリセルアレイ１２−１，１２−２，・・・１２−ｎが積み重ねられている。ここで、メモリセルアレイ１２−１，１２−２，・・・１２−ｎは、それぞれ、周辺回路の一部、例えば、ロウデコーダ＆書き込みワード線ドライバ／シンカー、カラムデコーダ＆書き込みビット線ドライバ／シンカーなどを含んでいるものとする。
【０８６２】
入力データは、データ入力レシーバ１９を経由して、セレクタ３４に入力される。セレクタ３４は、入力データを、選択されたメモリセルアレイ１２−ｉに転送する。なお、セレクタ３４の代わりに、デマルチプレクサを用いてもよい。
【０８６３】
出力データは、メモリセルアレイ１２−１，１２−２，・・・１２−ｎのセンスアンプ２０から、セレクタ３５を経由して、データ出力ドライバ２１に転送される。セレクタ３５は、選択されたメモリセルアレイ１２−ｉのセンスアンプ２０からの出力データを、データ出力ドライバ２１に転送する。なお、セレクタ３５の代わりに、マルチプレクサを用いてもよい。
【０８６４】
設定回路２３には、書き込みワード／ビット線電流の電流波形を決定する設定データが記憶される。また、書き込み電流波形制御回路２４は、制御回路２２からの書き込み信号ＷＲＩＴＥ及び設定回路２３からの設定データに基づいて、実際に、書き込みワード／ビット線電流の電流波形を決定する。
【０８６５】
電流波形は、全てのメモリセルアレイで共通であってもよいし（チップ毎の設定）、メモリセルアレイ毎に異なるようにしてもよい（メモリセルアレイ毎の設定）。後者の場合には、設定回路２３及び書き込み電流波形制御回路２４は、メモリセルアレイ毎に設けられる。
【０８６６】
書き込み電流波形制御回路２４は、書き込みワード／ビット線ドライブ信号をメモリセルアレイ１２−１，１２−２，・・・１２−ｎに出力する。
【０８６７】
ii.  書き込みワード／ビット線毎に設定する場合
次に、書き込みワード／ビット線電流の電流波形を書き込みワード／ビット線毎に設定する場合の例について説明する。
【０８６８】
図９９は、複数段に積み重ねられたメモリセルアレイを有する磁気ランダムアクセスメモリの概略を示している。
【０８６９】
これは、上述の「 (2) 書き込みワード／ビット線毎に設定する場合」の回路例１〜４を、複数段に積み重ねられたメモリセルアレイを有する磁気ランダムアクセスメモリに適用した場合に相当する。
【０８７０】
半導体基板（磁気ランダムアクセスメモリチップ）１１Ａ上には、ｎ（ｎは、複数）段に、メモリセルアレイ１２−１，１２−２，・・・１２−ｎが積み重ねられている。ここで、メモリセルアレイ１２−１，１２−２，・・・１２−ｎは、それぞれ、周辺回路の一部、例えば、ロウデコーダ＆書き込みワード線ドライバ／シンカー、カラムデコーダ＆書き込みビット線ドライバ／シンカーなどを含んでいるものとする。
【０８７１】
入力データは、データ入力レシーバ１９を経由して、セレクタ３４に入力される。セレクタ３４は、入力データを、選択されたメモリセルアレイ１２−ｉに転送する。なお、セレクタ３４の代わりに、デマルチプレクサを用いてもよい。
【０８７２】
出力データは、メモリセルアレイ１２−１，１２−２，・・・１２−ｎのセンスアンプ２０から、セレクタ３５を経由して、データ出力ドライバ２１に転送される。セレクタ３５は、選択されたメモリセルアレイ１２−ｉのセンスアンプ２０からの出力データを、データ出力ドライバ２１に転送する。なお、セレクタ３５の代わりに、マルチプレクサを用いてもよい。
【０８７３】
制御回路２２からの書き込み信号ＷＲＩＴＥは、メモリセルアレイ１２−１，１２−２，・・・１２−ｎに供給される。メモリセルアレイ１２−１，１２−２，・・・１２−ｎは、それぞれ、書き込み電流波形制御回路・設定回路を有している。
【０８７４】
書き込み電流波形制御回路・設定回路内の設定回路には、書き込みワード／ビット線電流の電流波形を決定する設定データが記憶される。また、書き込み電流波形制御回路・設定回路は、書き込み信号ＷＲＩＴＥ及び設定データに基づいて、書き込みワード／ビット線毎に、実際に、書き込みワード／ビット線電流の電流波形を決定する。
【０８７５】
iii. まとめ
以上、説明したように、本発明に関わる書き込み原理及びそれを実現する回路方式は、複数段に積み重ねられたメモリセルアレイを有する磁気ランダムアクセスメモリにも適用可能である。
【０８７６】
従って、このような複数段に積み重ねられたメモリセルアレイを有する磁気ランダムアクセスメモリにおいても、書き込みワード／ビット線に対する書き込み電流の電流供給／遮断タイミング、大きさ及びその時間的変化（電流波形）を、書き込みワード／ビット線毎に、プログラミングにより設定できる。これにより、ＴＭＲ素子の記憶層の磁化反転を確実に行い、書き込み特性の向上を図ることができる。
【０８７７】
(4)   実施例９のためのワード線／ビット線ドライバ／シンカー
実施例９は、書き込みワード線電流の大きさ及び書き込みビット線電流の大きさをアナログ的に変化させ、合成磁界Ｈｘ＋Ｈｙの向き及び強さをアナログ的に変化させる例である。
【０８７８】
これを実現するためのロウデコーダ＆書き込みワード線ドライバ／シンカーとカラムデコーダ＆書き込みビット線ドライバ／シンカーについて説明する。
【０８７９】
▲１▼  ロウデコーダ＆書き込みワード線ドライバ／シンカー
図１００は、ロウデコーダ＆書き込みワード線ドライバ／シンカーの回路例を示している。
【０８８０】
ロウデコーダ＆書き込みワード線ドライバ（１ロウ分）１４は、ＮＡＮＤゲート回路ＴＮＤ１、ＰチャネルＭＯＳトランジスタＴＰ１，ＴＰａ〜ＴＰｄ、ＮチャネルＭＯＳトランジスタＴＮａ〜ＴＮｃ及びキャパシタＣＰ１から構成される。
【０８８１】
ＰチャネルＭＯＳトランジスタＴＰ１のゲートは、ＮＡＮＤゲート回路ＴＮＤ１の出力端子に接続され、そのソースは、ＰチャネルＭＯＳトランジスタＴＰａを経由して電源端子ＶＤＤに接続され、そのドレインは、書き込みワード線ＷＷＬｉ（ｉ＝１，・・・）の一端に接続される。
【０８８２】
書き込みワード線シンカー（１ロウ分）１５は、ＮチャネルＭＯＳトランジスタＴＮ１から構成される。ＮチャネルＭＯＳトランジスタＴＮ１のソースは、接地端子ＶＳＳに接続され、そのドレインは、書き込みワード線ＷＷＬｉ（ｉ＝１，・・・）の他端に接続される。
【０８８３】
ＮＡＮＤゲート回路ＴＮＤ１には、複数ビットから構成されるロウアドレス信号（ロウｉ毎に異なる）及び書き込みワード線ドライブ信号ＷＷＬＤＲＶが入力され、ＮチャネルＭＯＳトランジスタＴＮ１のゲートには、書き込みワード線シンク信号ＷＷＬＳＮＫが入力される。
【０８８４】
選択されたロウｉでは、ロウアドレス信号の全てのビットが“Ｈ”となる。このため、選択されたロウｉでは、書き込みワード線ドライブ信号ＷＷＬＤＲＶが“Ｈ”となったときに、ＰチャネルＭＯＳトランジスタＴＰ１がオン状態となる。また、書き込みワード線シンク信号ＷＷＬＳＮＫが“Ｈ”となると、ＮチャネルＭＯＳトランジスタＴＮ１がオン状態となる。
【０８８５】
ＰチャネルＭＯＳトランジスタＴＰ１とＮチャネルＭＯＳトランジスタＴＮ１が共にオン状態となると、書き込みワード線電流は、ロウデコーダ＆書き込みワード線ドライバ１４から、書き込みワード線ＷＷＬｉを経由して、書き込みワード線シンカー１５に向かって流れる。
【０８８６】
ここで、本例では、書き込みワード線ＷＷＬｉに流れる書き込みワード線電流の大きさは、ＰチャネルＭＯＳトランジスタＴＰａのゲート電位ＶＰＧＷによって決定される。ＶＰＧＷは、キャパシタＣＰ１の一端の電位であるが、その電位は、制御信号ｂＷＷＬＣＴＲ及びリセット信号ＲＥＳＥＴが共に“Ｌ”になると、アナログ的に変化する。
【０８８７】
即ち、リセット信号ＲＥＳＥＴが“Ｌ”のとき、制御信号ｂＷＷＬＣＴＲが“Ｌ”になると、定電流ｉ１は、カレントミラー回路ＴＮａ，ＴＮｂ及びカレントミラー回路ＴＰｂ，ＴＰｃを経由して、キャパシタＣＰ１に供給される。その結果、キャパシタＣＰ１の一端の電位ＶＰＧＷは、次第に上昇し、書き込みワード線電流は、次第に小さくなる。
【０８８８】
このようなロウデコーダ＆書き込みワード線ドライバ／シンカーによれば、書き込みワード線ドライブ信号ＷＷＬＤＲＶ及び書き込みワード線シンク信号ＷＷＬＳＮＫが“Ｈ”又は“Ｌ”になるタイミングを制御することにより、選択されたロウｉ内の書き込みワード線ＷＷＬｉに書き込み電流を流すタイミング及びその書き込みワード線ＷＷＬｉに流れる書き込み電流を遮断するタイミングを制御することができる。
【０８８９】
また、書き込みワード線ＷＷＬｉに流れる書き込み電流の大きさは、ＰチャネルＭＯＳトランジスタＴＰａのゲート電位ＶＰＧＷを制御することにより、アナログ的に変化させることができる。なお、ＶＰＧＷの電位変化範囲を規定すれば、書き込みワード線ＷＷＬｉに流れる書き込み電流の大きさは、ＶＰＧＷの値に正確に比例した形で、変化させることができる。
【０８９０】
さらに、書き込みワード線ドライブ信号ＷＷＬＤＲＶを“Ｌ”に設定した後、書き込みワード線シンク信号ＷＷＬＳＮＫを“Ｌ”に設定すれば、書き込み動作後の書き込みワード線ＷＷＬｉの電位を完全に０Ｖにすることができる。
【０８９１】
なお、定電流ｉ１は、例えば、図１０２に示すような定電流回路により生成される。
【０８９２】
▲２▼  カラムデコーダ＆書き込みビット線ドライバ／シンカー
図１０１は、カラムデコーダ＆書き込みビット線ドライバ／シンカーの回路例を示している。
【０８９３】
カラムデコーダ＆書き込みビット線ドライバ／シンカー（１カラム分）１６Ａは、ＮＡＮＤゲート回路ＱＮＤ１、ＡＮＤゲート回路ＱＡＤ１、ＰチャネルＭＯＳトランジスタＱＰ１，ＴＰａ，ＴＰｂ、ＮチャネルＭＯＳトランジスタＱＮ１，ＴＮａ，ＴＮｂ，ＴＮｄ及びキャパシタＣＰ２から構成される。
【０８９４】
ＰチャネルＭＯＳトランジスタＱＰ１のゲートは、ＮＡＮＤゲート回路ＱＮＤ１の出力端子に接続され、そのソースは、ＰチャネルＭＯＳトランジスタＴＰａを経由して電源端子ＶＤＤに接続され、そのドレインは、書き込みビット線ＷＢＬｉ（ｉ＝１，・・・）の一端に接続される。ＮチャネルＭＯＳトランジスタＱＮ１のゲートは、ＡＮＤゲート回路ＱＡＤ１の出力端子に接続され、そのソースは、接地端子ＶＳＳに接続され、そのドレインは、書き込みビット線ＷＢＬｉの一端に接続される。
【０８９５】
カラムデコーダ＆書き込みビット線ドライバ／シンカー（１カラム分）１７Ａは、ＮＡＮＤゲート回路ＱＮＤ２、ＡＮＤゲート回路ＱＡＤ２、ＰチャネルＭＯＳトランジスタＱＰ２，ＴＰｅ及びＮチャネルＭＯＳトランジスタＱＮ２から構成される。
【０８９６】
ＰチャネルＭＯＳトランジスタＱＰ２のゲートは、ＮＡＮＤゲート回路ＱＮＤ２の出力端子に接続され、そのソースは、ＰチャネルＭＯＳトランジスタＴＰｅを経由して電源端子ＶＤＤに接続され、そのドレインは、書き込みビット線ＷＢＬｉ（ｉ＝１，・・・）の他端に接続される。ＮチャネルＭＯＳトランジスタＱＮ２のゲートは、ＡＮＤゲート回路ＱＡＤ２の出力端子に接続され、そのソースは、接地端子ＶＳＳに接続され、そのドレインは、書き込みビット線ＷＢＬｉの他端に接続される。
【０８９７】
ＮＡＮＤゲート回路ＱＮＤ１，ＱＮＤ２には、複数ビットから構成されるカラムアドレス信号（カラムｉ毎に異なる）及び書き込みビット線ドライブ信号ＷＢＬＤＲＶが入力される。ＡＮＤゲート回路ＱＡＤ１，ＱＡＤ２には、複数ビットから構成されるカラムアドレス信号（カラムｉ毎に異なる）及び書き込みビット線シンク信号ＷＢＬＳＮＫが入力される。
【０８９８】
また、ＮＡＮＤゲート回路ＱＮＤ１及びＡＮＤゲート回路ＱＡＤ２には、書き込みデータＤＡＴＡ（“Ｈ”又は“Ｌ”）が入力され、ＮＡＮＤゲート回路ＱＮＤ２及びＡＮＤゲート回路ＱＡＤ１には、書き込みデータＤＡＴＡの反転信号ｂＤＡＴＡが入力される。
【０８９９】
選択されたカラムｉでは、カラムアドレス信号の全てのビットが“Ｈ”となる。このため、選択されたカラムｉでは、書き込みビット線ドライブ信号ＷＢＬＤＲＶ及び書き込みビット線シンク信号ＷＢＬＳＮＫが“Ｈ”になったとき、書き込みデータＤＡＴＡの値に応じた向きを有する書き込みビット線電流が、書き込みビット線ＷＢＬｉに流れる。
【０９００】
例えば、書き込みデータＤＡＴＡが“１”（＝“Ｈ”）のときには、ＰチャネルＭＯＳトランジスタＱＰ１及びＮチャネルＭＯＳトランジスタＱＮ２がオン状態となるため、カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａからカラムデコーダ＆書き込みビット線ドライバ／シンカー１７Ａに向かう書き込みビット線電流が流れる。
【０９０１】
また、書き込みデータＤＡＴＡが“０”（＝“Ｌ”）のときには、ＰチャネルＭＯＳトランジスタＱＰ２及びＮチャネルＭＯＳトランジスタＱＮ１がオン状態となるため、カラムデコーダ＆書き込みビット線ドライバ／シンカー１７Ａからカラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａに向かう書き込みビット線電流が流れる。
【０９０２】
ここで、本例では、書き込みビット線ＷＢＬｉに流れる書き込み電流の大きさは、ＰチャネルＭＯＳトランジスタＴＰａ，ＴＰｅのゲート電位ＶＰＧＢによって決定される。ＶＰＧＢは、キャパシタＣＰ２の一端の電位であるが、その電位は、制御信号ＷＢＬＣＴＲが“Ｈ”、リセット信号ＲＥＳＥＴが“Ｌ”になると、アナログ的に変化する。
【０９０３】
即ち、リセット信号ＲＥＳＥＴの反転信号ｂＲＥＳＥＴが“Ｈ”のとき、制御信号ＷＢＬＣＴＲが“Ｈ”になると、定電流ｊ１は、カレントミラー回路ＴＮａ，ＴＮｂを経由して、ＮチャネルＭＯＳトランジスタＴＮｄに流れる。この電流は、キャパシタＣＰ２の一端の電荷を放電する。その結果、キャパシタＣＰ２の一端の電位ＶＰＧＢは、次第に低下し、書き込みビット線電流は、次第に大きくなる。
【０９０４】
このようなカラムデコーダ＆書き込みビット線ドライバ／シンカーによれば、書き込みビット線ドライブ信号ＷＢＬＤＲＶ及び書き込みビット線シンク信号ＷＢＬＳＮＫが“Ｈ”又は“Ｌ”になるタイミングを制御することにより、選択されたカラムｉ内の書き込みビット線ＷＢＬｉに書き込み電流を流すタイミング及びその書き込みビット線ＷＢＬｉに流れる書き込み電流を遮断するタイミングを制御することができる。
【０９０５】
また、書き込みビット線ＷＢＬｉに流れる書き込み電流の大きさは、ＰチャネルＭＯＳトランジスタＴＰａ，ＴＰｅのゲート電位ＶＰＧＢを制御することにより、アナログ的に変化させることができる。なお、ＶＰＧＢの電位変化範囲を規定すれば、書き込みビット線ＷＢＬｉに流れる書き込み電流の大きさは、ＶＰＧＢの値に正確に比例した形で、変化させることができる。
【０９０６】
さらに、書き込みビット線ドライブ信号ＷＢＬＤＲＶを“Ｌ”に設定した後、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｌ”に設定すれば、書き込み動作後の書き込みビット線ＷＢＬｉの電位を完全に０Ｖにすることができる。
【０９０７】
なお、定電流ｊ１は、例えば、図１０２に示すような定電流回路により生成される。
【０９０８】
▲３▼  動作波形例
図１０３は、図１００の書き込みワード線ドライバ／シンカー及び図１０１の書き込みビット線ドライバ／シンカーの動作波形例を示している。
【０９０９】
書き込みワード線ドライブ信号ＷＷＬＤＲＶ及び書き込みワード線シンク信号ＷＷＬＳＮＫが“Ｈ”になると、書き込みワード線電流が書き込みワード線ＷＷＬｉに流れる。
【０９１０】
リセット信号ＲＥＳＥＴが“Ｌ”及び制御信号ｂＷＷＬＣＴＲが“Ｌ”になると、図１００のキャパシタＣＰ１が次第に充電されるため、ＶＰＧＷの値は、次第に上昇していく。
【０９１１】
このＶＰＧＷの変化に対応して、書き込みワード線電流も、アナログ的に変化する。
【０９１２】
一方、書き込みビット線ドライブ信号ＷＢＬＤＲＶ及び書き込みビット線シンク信号ＷＢＬＳＮＫが“Ｈ”になると、書き込みビット線電流が書き込みビット線ＷＢＬｉに流れる。
【０９１３】
リセット信号ＲＥＳＥＴが“Ｌ”及び制御信号ＷＢＬＣＴＲが“Ｈ”になると、図１０１のキャパシタＣＰ２の電荷が次第に放電されるため、ＶＰＧＢの値は、次第に低下していく。
【０９１４】
このＶＰＧＢの変化に対応して、書き込みビット線電流も、アナログ的に変化する。
【０９１５】
(5)   実施例１０のためのワード線／ビット線ドライバ／シンカー
実施例１０は、書き込みワード線電流の大きさ及び書き込みビット線電流の大きさをアナログ的に変化させ、合成磁界Ｈｘ＋Ｈｙの強さを一定としつつ、その向きをアナログ的に変化させる例である。
【０９１６】
これを実現するためのロウデコーダ＆書き込みワード線ドライバ／シンカーとカラムデコーダ＆書き込みビット線ドライバ／シンカーについて説明する。
【０９１７】
▲１▼  ロウデコーダ＆書き込みワード線ドライバ／シンカー
図１０４は、ロウデコーダ＆書き込みワード線ドライバ／シンカーの回路例を示している。
【０９１８】
ロウデコーダ＆書き込みワード線ドライバ（１ロウ分）１４は、ＮＡＮＤゲート回路ＴＮＤ１及びＰチャネルＭＯＳトランジスタＴＰ１，ＴＰａから構成される。ＰチャネルＭＯＳトランジスタＴＰ１のゲートは、ＮＡＮＤゲート回路ＴＮＤ１の出力端子に接続され、そのソースは、ＰチャネルＭＯＳトランジスタＴＰａを経由して電源端子ＶＤＤに接続され、そのドレインは、書き込みワード線ＷＷＬｉ（ｉ＝１，・・・）の一端に接続される。
【０９１９】
書き込みワード線シンカー（１ロウ分）１５は、ＮチャネルＭＯＳトランジスタＴＮ１から構成される。ＮチャネルＭＯＳトランジスタＴＮ１のソースは、接地端子ＶＳＳに接続され、そのドレインは、書き込みワード線ＷＷＬｉ（ｉ＝１，・・・）の他端に接続される。
【０９２０】
ＮＡＮＤゲート回路ＴＮＤ１には、複数ビットから構成されるロウアドレス信号（ロウｉ毎に異なる）及び書き込みワード線ドライブ信号ＷＷＬＤＲＶが入力され、ＮチャネルＭＯＳトランジスタＴＮ１のゲートには、書き込みワード線シンク信号ＷＷＬＳＮＫが入力される。
【０９２１】
選択されたロウｉでは、ロウアドレス信号の全てのビットが“Ｈ”となる。このため、選択されたロウｉでは、書き込みワード線ドライブ信号ＷＷＬＤＲＶが“Ｈ”となったときに、ＰチャネルＭＯＳトランジスタＴＰ１がオン状態となる。また、書き込みワード線シンク信号ＷＷＬＳＮＫが“Ｈ”となると、ＮチャネルＭＯＳトランジスタＴＮ１がオン状態となる。
【０９２２】
ＰチャネルＭＯＳトランジスタＴＰ１とＮチャネルＭＯＳトランジスタＴＮ１が共にオン状態となると、書き込みワード線電流は、ロウデコーダ＆書き込みワード線ドライバ１４から、書き込みワード線ＷＷＬｉを経由して、書き込みワード線シンカー１５に向かって流れる。
【０９２３】
ここで、本例では、書き込みワード線ＷＷＬｉに流れる書き込みワード線電流の大きさは、ＰチャネルＭＯＳトランジスタＴＰａのゲート電位ＶＰＧＷによって決定される。ＶＰＧＷは、例えば、図１０６に示すようなＶＰＧＷ生成回路により生成される。
【０９２４】
リセット信号ＲＥＳＥＴが“Ｌ”のとき、制御信号ｂＷＣＴＲが“Ｌ”になると、定電流ｉ１は、カレントミラー回路ＴＮａ，ＴＮｂ及びカレントミラー回路ＴＰｂ，ＴＰｃを経由して、キャパシタＣＰ１に供給される。その結果、ＮチャネルＭＯＳトランジスタＴＮｇに多くの電流が流れ、ＶＰＧＢは、低下する。
【０９２５】
一方、制御信号ＷＣＴＲは、“Ｈ”であるため、定電流ｊ１は、ＮチャネルＭＭＯＳトランジスタＴＮｆ，ＴＮｇに流れる電流を決定する。つまり、上述のように、ＮチャネルＭＯＳトランジスタＴＮｇに多くの電流が流れ、ＶＰＧＢが低下すると、ＶＰＧＷは、上昇する。その結果、書き込みワード線電流は、次第に小さくなる。
【０９２６】
本例では、書き込みワード線電流と書き込みビット線電流の合計値は、定電流ｊ１により決定される。また、定電流ｉ１は、書き込みビット線電流の値を決定する。即ち、書き込みワード線電流の値は、書き込みワード線電流と書き込みビット線電流の合計値から書き込みビット線電流の値を引いた値となる。
【０９２７】
このようなロウデコーダ＆書き込みワード線ドライバ／シンカーによれば、書き込みワード線ドライブ信号ＷＷＬＤＲＶ及び書き込みワード線シンク信号ＷＷＬＳＮＫが“Ｈ”又は“Ｌ”になるタイミングを制御することにより、選択されたロウｉ内の書き込みワード線ＷＷＬｉに書き込み電流を流すタイミング及びその書き込みワード線ＷＷＬｉに流れる書き込み電流を遮断するタイミングを制御することができる。
【０９２８】
また、書き込みワード線ＷＷＬｉに流れる書き込み電流の大きさは、ＰチャネルＭＯＳトランジスタＴＰａのゲート電位ＶＰＧＷを制御することにより、アナログ的に変化させることができる。なお、ＶＰＧＷの電位変化範囲を規定すれば、書き込みワード線ＷＷＬｉに流れる書き込み電流の大きさは、ＶＰＧＷの値に正確に比例した形で、変化させることができる。
【０９２９】
さらに、書き込みワード線ドライブ信号ＷＷＬＤＲＶを“Ｌ”に設定した後、書き込みワード線シンク信号ＷＷＬＳＮＫを“Ｌ”に設定すれば、書き込み動作後の書き込みワード線ＷＷＬｉの電位を完全に０Ｖにすることができる。
【０９３０】
なお、定電流ｉ１は、例えば、図１０７に示すような定電流回路により生成される。
【０９３１】
▲２▼  カラムデコーダ＆書き込みビット線ドライバ／シンカー
図１０５は、カラムデコーダ＆書き込みビット線ドライバ／シンカーの回路例を示している。
【０９３２】
カラムデコーダ＆書き込みビット線ドライバ／シンカー（１カラム分）１６Ａは、ＮＡＮＤゲート回路ＱＮＤ１、ＡＮＤゲート回路ＱＡＤ１、ＰチャネルＭＯＳトランジスタＱＰ１，ＴＰａ及びＮチャネルＭＯＳトランジスタＱＮ１から構成される。
【０９３３】
ＰチャネルＭＯＳトランジスタＱＰ１のゲートは、ＮＡＮＤゲート回路ＱＮＤ１の出力端子に接続され、そのソースは、ＰチャネルＭＯＳトランジスタＴＰａを経由して電源端子ＶＤＤに接続され、そのドレインは、書き込みビット線ＷＢＬｉ（ｉ＝１，・・・）の一端に接続される。ＮチャネルＭＯＳトランジスタＱＮ１のゲートは、ＡＮＤゲート回路ＱＡＤ１の出力端子に接続され、そのソースは、接地端子ＶＳＳに接続され、そのドレインは、書き込みビット線ＷＢＬｉの一端に接続される。
【０９３４】
カラムデコーダ＆書き込みビット線ドライバ／シンカー（１カラム分）１７Ａは、ＮＡＮＤゲート回路ＱＮＤ２、ＡＮＤゲート回路ＱＡＤ２、ＰチャネルＭＯＳトランジスタＱＰ２，ＴＰｅ及びＮチャネルＭＯＳトランジスタＱＮ２から構成される。
【０９３５】
ＰチャネルＭＯＳトランジスタＱＰ２のゲートは、ＮＡＮＤゲート回路ＱＮＤ２の出力端子に接続され、そのソースは、ＰチャネルＭＯＳトランジスタＴＰｅを経由して電源端子ＶＤＤに接続され、そのドレインは、書き込みビット線ＷＢＬｉ（ｉ＝１，・・・）の他端に接続される。ＮチャネルＭＯＳトランジスタＱＮ２のゲートは、ＡＮＤゲート回路ＱＡＤ２の出力端子に接続され、そのソースは、接地端子ＶＳＳに接続され、そのドレインは、書き込みビット線ＷＢＬｉの他端に接続される。
【０９３６】
ＮＡＮＤゲート回路ＱＮＤ１，ＱＮＤ２には、複数ビットから構成されるカラムアドレス信号（カラムｉ毎に異なる）及び書き込みビット線ドライブ信号ＷＢＬＤＲＶが入力される。ＡＮＤゲート回路ＱＡＤ１，ＱＡＤ２には、複数ビットから構成されるカラムアドレス信号（カラムｉ毎に異なる）及び書き込みビット線シンク信号ＷＢＬＳＮＫが入力される。
【０９３７】
また、ＮＡＮＤゲート回路ＱＮＤ１及びＡＮＤゲート回路ＱＡＤ２には、書き込みデータＤＡＴＡ（“Ｈ”又は“Ｌ”）が入力され、ＮＡＮＤゲート回路ＱＮＤ２及びＡＮＤゲート回路ＱＡＤ１には、書き込みデータＤＡＴＡの反転信号ｂＤＡＴＡが入力される。
【０９３８】
選択されたカラムｉでは、カラムアドレス信号の全てのビットが“Ｈ”となる。このため、選択されたカラムｉでは、書き込みビット線ドライブ信号ＷＢＬＤＲＶ及び書き込みビット線シンク信号ＷＢＬＳＮＫが“Ｈ”になったとき、書き込みデータＤＡＴＡの値に応じた向きを有する書き込み電流が、書き込みビット線ＷＢＬｉに流れる。
【０９３９】
例えば、書き込みデータＤＡＴＡが“１”（＝“Ｈ”）のときには、ＰチャネルＭＯＳトランジスタＱＰ１及びＮチャネルＭＯＳトランジスタＱＮ２がオン状態となるため、カラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａからカラムデコーダ＆書き込みビット線ドライバ／シンカー１７Ａに向かう書き込み電流が流れる。
【０９４０】
また、書き込みデータＤＡＴＡが“０”（＝“Ｌ”）のときには、ＰチャネルＭＯＳトランジスタＱＰ２及びＮチャネルＭＯＳトランジスタＱＮ１がオン状態となるため、カラムデコーダ＆書き込みビット線ドライバ／シンカー１７Ａからカラムデコーダ＆書き込みビット線ドライバ／シンカー１６Ａに向かう書き込み電流が流れる。
【０９４１】
ここで、本例では、書き込みビット線ＷＢＬｉに流れる書き込みビット線電流の大きさは、ＰチャネルＭＯＳトランジスタＴＰａ，ＴＰｅのゲート電位ＶＰＧＢによって決定される。ＶＰＧＢは、例えば、図１０６に示すようなＶＰＧＢ生成回路により生成される。
【０９４２】
このようなカラムデコーダ＆書き込みビット線ドライバ／シンカーによれば、書き込みビット線ドライブ信号ＷＢＬＤＲＶ及び書き込みビット線シンク信号ＷＢＬＳＮＫが“Ｈ”又は“Ｌ”になるタイミングを制御することにより、選択されたカラムｉ内の書き込みビット線ＷＢＬｉに書き込み電流を流すタイミング及びその書き込みビット線ＷＢＬｉに流れる書き込み電流を遮断するタイミングを制御することができる。
【０９４３】
また、書き込みビット線ＷＢＬｉに流れる書き込み電流の大きさは、ＰチャネルＭＯＳトランジスタＴＰａ，ＴＰｅのゲート電位ＶＰＧＢを制御することにより、アナログ的に変化させることができる。なお、ＶＰＧＢの電位変化範囲を規定すれば、書き込みビット線ＷＢＬｉに流れる書き込み電流の大きさは、ＶＰＧＢの値に正確に比例した形で、変化させることができる。
【０９４４】
さらに、書き込みビット線ドライブ信号ＷＢＬＤＲＶを“Ｌ”に設定した後、書き込みビット線シンク信号ＷＢＬＳＮＫを“Ｌ”に設定すれば、書き込み動作後の書き込みビット線ＷＢＬｉの電位を完全に０Ｖにすることができる。
【０９４５】
なお、定電流ｊ１は、例えば、図１０７に示すような定電流回路により生成される。
【０９４６】
▲３▼  動作波形例
図１０８は、図１０４の書き込みワード線ドライバ／シンカー及び図１０５の書き込みビット線ドライバ／シンカーの動作波形例を示している。
【０９４７】
書き込みワード線ドライブ信号ＷＷＬＤＲＶ及び書き込みワード線シンク信号ＷＷＬＳＮＫが“Ｈ”になると、書き込みワード線電流が書き込みワード線ＷＷＬｉに流れる。
【０９４８】
リセット信号ＲＥＳＥＴが“Ｌ”及び制御信号ｂＷＣＴＲが“Ｌ”になると、図１０５のＶＰＧＢの値は、低下し、図１０４のＶＰＧＷの値は、上昇する。ＶＰＧＷの変化に対応して、書き込みワード線電流も、アナログ的に変化する。本例では、書き込みワード線電流の値は、書き込みワード線電流と書き込みビット線電流の合計値から書き込みビット線電流の値を引いた値となっている。
【０９４９】
一方、書き込みビット線ドライブ信号ＷＢＬＤＲＶ及び書き込みビット線シンク信号ＷＢＬＳＮＫが“Ｈ”になると、書き込みビット線電流が書き込みビット線ＷＢＬｉに流れる。
【０９５０】
リセット信号ＲＥＳＥＴが“Ｌ”及び制御信号ＷＣＴＲが“Ｈ”になると、図１０５のＶＰＧＢの値は、低下する。ＶＰＧＢの変化に対応して、書き込みビット線電流も、アナログ的に変化する。
【０９５１】
３．  その他
本発明の書き込み原理及びそれを実現する回路方式は、セルアレイ構造のタイプにかかわらず、いかなる磁気ランダムアクセスメモリにも適用できる。
【０９５２】
例えば、図１１１に示すようなクロスポイント型のセルアレイ構造を有する磁気ランダムアクセスメモリは、もちろんのこと、１つ又はそれ以上のＴＭＲ素子に１つの読み出し選択スイッチ（ＭＯＳトランジスタ）を接続したセルアレイ構造を有する磁気ランダムアクセスメモリにも、本発明の書き込み原理及びそれを実現する回路方式を適用できる。
【０９５３】
また、クロスポイント型ではないが、読み出し選択スイッチを有しない磁気ランダムアクセスメモリ、読み出しビット線と書き込みビットを別々に設けた磁気ランダムアクセスメモリや、１つのＴＭＲ素子に複数ビットを記憶させるようにした磁気ランダムアクセスメモリなどにも、本発明の書き込み原理及びそれを実現する回路方式を適用できる。
【０９５４】
【発明の効果】
以上、説明したように、本発明の磁気ランダムアクセスメモリによれば、書き込み電流を書き込みワード／ビット線に供給するタイミングや、書き込み電流の電流値の時間的変化（パルス形状）などを工夫することにより、ＴＭＲ素子の記憶層の磁化反転を確実に行い、書き込み特性の向上を図ることができる。
【図面の簡単な説明】
【図１】本発明に関わる書き込み原理の実施例１の一ステップを示す図。
【図２】本発明に関わる書き込み原理の実施例１の一ステップを示す図。
【図３】本発明に関わる書き込み原理の実施例１の全ステップを示す図。
【図４】本発明に関わる書き込み原理の実施例２の一ステップを示す図。
【図５】本発明に関わる書き込み原理の実施例２の一ステップを示す図。
【図６】本発明に関わる書き込み原理の実施例２の一ステップを示す図。
【図７】本発明に関わる書き込み原理の実施例２の全ステップを示す図。
【図８】本発明に関わる書き込み原理の実施例３の一ステップを示す図。
【図９】本発明に関わる書き込み原理の実施例３の一ステップを示す図。
【図１０】本発明に関わる書き込み原理の実施例３の一ステップを示す図。
【図１１】本発明に関わる書き込み原理の実施例３の全ステップを示す図。
【図１２】本発明に関わる書き込み原理の実施例４の一ステップを示す図。
【図１３】本発明に関わる書き込み原理の実施例４の一ステップを示す図。
【図１４】本発明に関わる書き込み原理の実施例４の一ステップを示す図。
【図１５】本発明に関わる書き込み原理の実施例４の全ステップを示す図。
【図１６】本発明に関わる書き込み原理の実施例５の一ステップを示す図。
【図１７】本発明に関わる書き込み原理の実施例５の一ステップを示す図。
【図１８】本発明に関わる書き込み原理の実施例５の全ステップを示す図。
【図１９】本発明に関わる書き込み原理の実施例６の一ステップを示す図。
【図２０】本発明に関わる書き込み原理の実施例６の一ステップを示す図。
【図２１】本発明に関わる書き込み原理の実施例６の一ステップを示す図。
【図２２】本発明に関わる書き込み原理の実施例６の全ステップを示す図。
【図２３】本発明に関わる書き込み原理の実施例７の一ステップを示す図。
【図２４】本発明に関わる書き込み原理の実施例７の一ステップを示す図。
【図２５】本発明に関わる書き込み原理の実施例７の一ステップを示す図。
【図２６】本発明に関わる書き込み原理の実施例７の全ステップを示す図。
【図２７】本発明に関わる書き込み原理の実施例８の一ステップを示す図。
【図２８】本発明に関わる書き込み原理の実施例８の一ステップを示す図。
【図２９】本発明に関わる書き込み原理の実施例８の一ステップを示す図。
【図３０】本発明に関わる書き込み原理の実施例８の全ステップを示す図。
【図３１】本発明に関わる書き込み原理の実施例９を示す図。
【図３２】実施例９に関して、磁界の強さの変化の様子を示す図。
【図３３】本発明に関わる書き込み原理の実施例９の全ステップを示す図。
【図３４】本発明に関わる書き込み原理の実施例１０を示す図。
【図３５】実施例１０に関して、磁界の強さの変化の様子を示す図。
【図３６】本発明に関わる書き込み原理の実施例１０の全ステップを示す図。
【図３７】実施例１〜１０をチップ毎又はセルアレイ毎に実現するＭＲＡＭの回路例１の全体構成を示す図。
【図３８】回路例１の書き込みワード線ドライバ／シンカーの例を示す図。
【図３９】回路例１の書き込みビット線ドライバ／シンカーの例を示す図。
【図４０】回路例１の書き込み電流波形制御回路の例を示す図。
【図４１】回路例１の書き込みワード線ドライバ／シンカー・トリガ回路の例を示す図。
【図４２】回路例１の書き込みビット線ドライバ／シンカー・トリガ回路の例を示す図。
【図４３】回路例１の設定回路の例を示す図。
【図４４】回路例１の設定回路内のレジスタの例を示す図。
【図４５】回路例１の設定回路内のレジスタの例を示す図。
【図４６】回路例１に使用されるＶｃｌａｍｐ生成回路の例を示す図。
【図４７】回路例１の設定回路内のデコーダの例を示す図。
【図４８】実施例１〜１０をチップ毎又はセルアレイ毎に実現するＭＲＡＭの回路例２の全体構成を示す図。
【図４９】回路例２の書き込みワード線ドライバ／シンカーの例を示す図。
【図５０】回路例２の書き込みビット線ドライバ／シンカーの例を示す図。
【図５１】回路例２の書き込み電流波形制御回路の例を示す図。
【図５２】回路例２の書き込みワード線ドライバ／シンカー・トリガ回路の例を示す図。
【図５３】回路例２の書き込みビット線ドライバ／シンカー・トリガ回路の例を示す図。
【図５４】回路例２に使用される波形生成回路の例を示す図。
【図５５】回路例２に使用される波形生成回路内の遅延回路の例を示す図。
【図５６】回路例２に使用される定電流源回路の例を示す図。
【図５７】回路例２に関わるＭＲＡＭの動作の例を示す波形図。
【図５８】回路例２の設定回路の例を示す図。
【図５９】回路例２の設定回路内のレジスタの例を示す図。
【図６０】回路例２の設定回路内のデコーダの例を示す図。
【図６１】実施例１〜１０をチップ毎又はセルアレイ毎に実現するＭＲＡＭの回路例３の全体構成を示す図。
【図６２】回路例３の書き込みビット線ドライバ／シンカーの例を示す図。
【図６３】回路例３の書き込みビット線ドライバ／シンカー・トリガ回路の例を示す図。
【図６４】回路例３の書き込みビット線ドライバ／シンカー・トリガ回路の例を示す図。
【図６５】実施例１〜１０を書き込みワード／ビット線毎に実現するＭＲＡＭの回路例１の全体構成を示す図。
【図６６】回路例１の書き込みワード線ドライバ／シンカーの例を示す図。
【図６７】回路例１の書き込みビット線ドライバ／シンカーの例を示す図。
【図６８】回路例１の書き込み電流波形制御回路・設定回路の例を示す図。
【図６９】回路例１の書き込み電流波形制御回路・設定回路の例を示す図。
【図７０】回路例１の書き込み電流波形制御回路・設定回路の例を示す図。
【図７１】回路例１の書き込みワード線ドライバ／シンカー・トリガ回路の例を示す図。
【図７２】回路例１の書き込みビット線ドライバ／シンカー・トリガ回路の例を示す図。
【図７３】回路例１の書き込みビット線ドライバ／シンカー・トリガ回路の例を示す図。
【図７４】回路例１の設定回路の例を示す図。
【図７５】回路例１の設定回路の例を示す図。
【図７６】回路例１の設定回路の例を示す図。
【図７７】回路例１に関わるＭＲＡＭの動作の例を示す波形図。
【図７８】回路例１に関わるＭＲＡＭの動作の例を示す波形図。
【図７９】回路例２の書き込みワード線ドライバ／シンカー・トリガ回路の例を示す図。
【図８０】回路例２の書き込みビット線ドライバ／シンカー・トリガ回路の例を示す図。
【図８１】回路例２の書き込みビット線ドライバ／シンカー・トリガ回路の例を示す図。
【図８２】回路例２に使用される波形生成回路の例を示す図。
【図８３】図８２の波形生成回路の動作波形を示す図。
【図８４】回路例２に使用される波形生成回路の例を示す図。
【図８５】図８４の波形生成回路の動作波形を示す図。
【図８６】回路例２に使用される波形生成回路の例を示す図。
【図８７】図８６の波形生成回路の動作波形を示す図。
【図８８】回路例２に使用される波形生成回路の例を示す図。
【図８９】図８８の波形生成回路の動作波形を示す図。
【図９０】回路例２に関わるＭＲＡＭの動作の例を示す波形図。
【図９１】回路例２に関わるＭＲＡＭの動作の例を示す波形図。
【図９２】回路例３の書き込みビット線ドライバ／シンカーの例を示す図。
【図９３】回路例３の書き込み電流波形制御回路・設定回路の例を示す図。
【図９４】回路例３の書き込み電流波形制御回路・設定回路の例を示す図。
【図９５】回路例４の書き込みビット線ドライバ／シンカーの例を示す図。
【図９６】回路例４の書き込み電流波形制御回路・設定回路の例を示す図。
【図９７】回路例４の書き込み電流波形制御回路・設定回路の例を示す図。
【図９８】本発明に関わる回路方式を複数段に積み重ねられたメモリセルアレイを有するＭＲＡＭに適用した場合の概略を示す図。
【図９９】本発明に関わる回路方式を複数段に積み重ねられたメモリセルアレイを有するＭＲＡＭに適用した場合の概略を示す図。
【図１００】実施例９に適用される書き込みワード線ドライバ／シンカーの例を示す図。
【図１０１】実施例９に適用される書き込みビット線ドライバ／シンカーの例を示す図。
【図１０２】定電流源回路の例を示す図。
【図１０３】図１００及び図１０１の回路の動作波形を示す図。
【図１０４】実施例１０に適用される書き込みワード線ドライバ／シンカーの例を示す図。
【図１０５】実施例１０に適用される書き込みビット線ドライバ／シンカーの例を示す図。
【図１０６】ＶＰＧＷ，ＶＰＧＢ生成回路の例を示す図。
【図１０７】定電流源回路の例を示す図。
【図１０８】図１０４及び図１０５の回路の動作波形を示す図。
【図１０９】ＴＭＲ素子の構造例を示す図。
【図１１０】ＴＭＲ素子の２つの状態を示す図。
【図１１１】磁気ランダムアクセスメモリの書き込み動作原理を示す図。
【図１１２】ＴＭＲ曲線を示す図。
【図１１３】アステロイド曲線を示す図。
【図１１４】ＴＭＲ素子の記憶層の磁化方向を示す図。
【図１１５】従来の書き込み原理の例を示す図。
【符号の説明】
１１                      ：磁気ランダムアクセスメモリ、
１２，１２−１〜１２−ｎ  ：メモリセルアレイ、
１３                      ：レファレンスセルアレイ、
１４，１４−１            ：ロウデコーダ＆書き込みワード線ドライバ、
１５                      ：書き込みワード線シンカー、
１６Ａ，１６Ａ−１，１７Ａ，１７Ａ−１  ：カラムデコーダ＆書き込みビット線ドライバ／シンカー、
１６Ｂ，１７Ｂ            ：レファレンスセル用カラムデコーダ＆書き込みビット線ドライバ／シンカー、
１８                      ：アドレスレシーバ、
１９                      ：データ入力レシーバ、
２０                      ：センスアンプ、
２１                      ：データ出力ドライバ、
２２                      ：制御回路、
２３                      ：設定回路、
２４                      ：書き込み電流波形制御回路、
２５                      ：書き込みワード線ドライバ／シンカー・トリガ回路、
２５Ｘ，２６Ｘ            ：電流供給／遮断タイミング決定回路、
２５Ｙ，２６Ｙ            ：電流吸収タイミング決定回路、
２６                      ：書き込みビット線ドライバ／シンカー・トリガ回路、
２７，２８                ：遅延回路、
２９                      ：プログラムデータ出力回路、
３０                      ：入力データ転送回路、
３１                      ：Ｖｃｌａｍｐ生成回路、
３２                      ：立ち上がりタイミング決定回路、
３３                      ：立ち下がりタイミング決定回路、
３４                      ：定電流源回路。
【図１】
0003808799.tif 000006
【図２】
0003808799.tif 000007
【図３】
0003808799.tif 000008
【図４】
0003808799.tif 000009
【図５】
0003808799.tif 000010
【図６】
0003808799.tif 000011
【図７】
0003808799.tif 000012
【図８】
0003808799.tif 000013
【図９】
0003808799.tif 000014
【図１０】
0003808799.tif 000015
【図１１】
0003808799.tif 000016
【図１２】
0003808799.tif 000017
【図１３】
0003808799.tif 000018
【図１４】
0003808799.tif 000019
【図１５】
0003808799.tif 000020
【図１６】
0003808799.tif 000021
【図１７】
0003808799.tif 000022
【図１８】
0003808799.tif 000023
【図１９】
0003808799.tif 000024
【図２０】
0003808799.tif 000025
【図２１】
0003808799.tif 000026
【図２２】
0003808799.tif 000027
【図２３】
0003808799.tif 000028
【図２４】
0003808799.tif 000029
【図２５】
0003808799.tif 000030
【図２６】
0003808799.tif 000031
【図２７】
0003808799.tif 000032
【図２８】
0003808799.tif 000033
【図２９】
0003808799.tif 000034
【図３０】
0003808799.tif 000035
【図３１】
0003808799.tif 000036
【図３２】
0003808799.tif 000037
【図３３】
0003808799.tif 000038
【図３４】
0003808799.tif 000039
【図３５】
0003808799.tif 000040
【図３６】
0003808799.tif 000041
【図３７】
0003808799.tif 000042
【図３８】
0003808799.tif 000043
【図３９】
0003808799.tif 000044
【図４０】
0003808799.tif 000045
【図４１】
0003808799.tif 000046
【図４２】
0003808799.tif 000047
【図４３】
0003808799.tif 000048
【図４４】
0003808799.tif 000049
【図４５】
0003808799.tif 000050
【図４６】
0003808799.tif 000051
【図４７】
0003808799.tif 000052
【図４８】
0003808799.tif 000053
【図４９】
0003808799.tif 000054
【図５０】
0003808799.tif 000055
【図５１】
0003808799.tif 000056
【図５２】
0003808799.tif 000057
【図５３】
0003808799.tif 000058
【図５４】
0003808799.tif 000059
【図５５】
0003808799.tif 000060
【図５６】
0003808799.tif 000061
【図５７】
0003808799.tif 000062
【図５８】
0003808799.tif 000063
【図５９】
0003808799.tif 000064
【図６０】
0003808799.tif 000065
【図６１】
0003808799.tif 000066
【図６２】
0003808799.tif 000067
【図６３】
0003808799.tif 000068
【図６４】
0003808799.tif 000069
【図６５】
0003808799.tif 000070
【図６６】
0003808799.tif 000071
【図６７】
0003808799.tif 000072
【図６８】
0003808799.tif 000073
【図６９】
0003808799.tif 000074
【図７０】
0003808799.tif 000075
【図７１】
0003808799.tif 000076
【図７２】
0003808799.tif 000077
【図７３】
0003808799.tif 000078
【図７４】
0003808799.tif 000079
【図７５】
0003808799.tif 000080
【図７６】
0003808799.tif 000081
【図７７】
0003808799.tif 000082
【図７８】
0003808799.tif 000083
【図７９】
0003808799.tif 000084
【図８０】
0003808799.tif 000085
【図８１】
0003808799.tif 000086
【図８２】
0003808799.tif 000087
【図８３】
0003808799.tif 000088
【図８４】
0003808799.tif 000089
【図８５】
0003808799.tif 000090
【図８６】
0003808799.tif 000091
【図８７】
0003808799.tif 000092
【図８８】
0003808799.tif 000093
【図８９】
0003808799.tif 000094
【図９０】
0003808799.tif 000095
【図９１】
0003808799.tif 000096
【図９２】
0003808799.tif 000097
【図９３】
0003808799.tif 000098
【図９４】
0003808799.tif 000099
【図９５】
0003808799.tif 000100
【図９６】
0003808799.tif 000101
【図９７】
0003808799.tif 000102
【図９８】
0003808799.tif 000103
【図９９】
0003808799.tif 000104
【図１００】
0003808799.tif 000105
【図１０１】
0003808799.tif 000106
【図１０２】
0003808799.tif 000107
【図１０３】
0003808799.tif 000108
【図１０４】
0003808799.tif 000109
【図１０５】
0003808799.tif 000110
【図１０６】
0003808799.tif 000111
【図１０７】
0003808799.tif 000112
【図１０８】
0003808799.tif 000113
【図１０９】
0003808799.tif 000114
【図１１０】
0003808799.tif 000115
【図１１１】
0003808799.tif 000116
【図１１２】
0003808799.tif 000117
【図１１３】
0003808799.tif 000118
【図１１４】
0003808799.tif 000119
【図１１５】
0003808799.tif 000120