複数の磁気メモリセルを有するメモリセルアレイと、一対のリファレンス磁気メモリセルを有するリファレンスセルアレイと、前記メモリセルアレイ及び前記リファレンスセルアレイにデータをプログラムするためのライトドライバと、前記ライトドライバに接続されるビットラインから前記一対のリファレンス磁気メモリセルを有するリファレンスセルアレイを経由して前記ライトドライバに接続されるソースラインで電流経路を形成したり、前記ライトドライバに接続されるソースラインから前記一対のリファレンス磁気メモリセルを有するリファレンスセルアレイを経由して前記ライトドライバに接続されるビットラインで電流経路を形成したりする第1スイッチング部とを備える磁気メモリ装置。前記第1スイッチング部が、前記ライトドライバに接続されるソースラインと前記リファレンスセルアレイの第1リファレンスビットラインとの間に接続される第1スイッチング素子と、前記ライトドライバに接続されるビットラインと前記リファレンスセルアレイの第2リファレンスビットラインとの間に接続される第2スイッチング素子と、前記リファレンスセルアレイの第1リファレンスソースラインと第2リファレンスソースラインとの間に接続される第3スイッチング素子とを備えることを特徴とする請求項1に記載の磁気メモリ装置。前記メモリセルアレイと前記ライトドライバとの間に電流経路を生成したり、遮断したりする第2スイッチング部をさらに備えることを特徴とする請求項1に記載の磁気メモリ装置。前記リファレンスセルアレイに対するプログラムモードの時、前記第1スイッチング部がオンされ、前記第2スイッチング部がオフになることを特徴とする請求項3に記載の磁気メモリ装置。既に設定された外部電圧と、前記リファレンスセルアレイに流れる電流量によって決定される基準電圧とを比較するセンスアンプをさらに備えることを特徴とする請求項1に記載の磁気メモリ装置。前記センスアンプが、ノーマルモードの時、前記メモリセルアレイに流れる電流量に対応する電圧を供給し、前記リファレンスセルアレイに対するプログラム検証モードの時、前記既に設定された外部電圧を供給するマルチプレクサを備えることを特徴とする請求項5に記載の磁気メモリ装置。既に設定された外部バイアス信号が印加されることによって、前記リファレンスセルアレイのビットラインに流れる電流量に対応する前記基準電圧を出力する基準電圧発生部をさらに備えることを特徴とする請求項5に記載の磁気メモリ装置。前記ライトドライバが、前記リファレンスセルアレイに対するプログラムモードの時、第1プログラム電流によって前記一対のリファレンス磁気メモリセルをプログラムして、前記センスアンプの出力信号に応答して前記第1プログラム電流より大きい第2プログラム電流によって前記一対のリファレンス磁気メモリセルを再プログラムすることを特徴とする請求項5に記載の磁気メモリ装置。前記一対のリファレンス磁気メモリセルが同時にプログラムされ、いずれか一つのリファレンス磁気メモリセルには論理ハイレベルのデータがプログラムされ、残り一つのリファレンス磁気メモリセルには論理ローレベルのデータがプログラムされることを特徴とする請求項1に記載の磁気メモリ装置。一対のリファレンス磁気メモリセルを有するリファレンスセルアレイと、前記リファレンスセルアレイにデータをプログラムするライトドライバと、前記ライトドライバに接続されるビットラインまたはソースラインから電流が供給されることによって、前記一対のリファレンス磁気メモリセルに各々論理ハイ状態及び論理ロー状態のデータが保存されるように電流経路を形成する第1スイッチング部とを備える磁気メモリ装置。複数の磁気メモリセルを有するメモリセルアレイと、前記メモリセルアレイと前記ライトドライバとの間に電流経路を形成したり、遮断したりする第2スイッチング部をさらに備えることを特徴とする請求項10に記載の磁気メモリ装置。前記リファレンスセルアレイに対するプログラムモードの時、前記第1スイッチング部がオンされ、前記第2スイッチング部がオフになることを特徴とする請求項11に記載の磁気メモリ装置。前記リファレンスセルアレイが、第1リファレンスビットラインと第1リファレンスソースラインとの間に接続される第1リファレンス磁気メモリセル、及び第2リファレンスビットラインと第2リファレンスソースラインとの間に接続される第2リファレンス磁気メモリセルを備え、前記第1スイッチング部が、前記ライトドライバに接続されるソースラインと前記第1リファレンスビットソースラインとの間に接続される第1スイッチング素子と、前記ライトドライバに接続されるビットラインと前記第2リファレンスビットラインとの間に接続される第2スイッチング素子と、前記第1リファレンスソースラインと前記第2リファレンスソースラインとの間に接続される第3スイッチング素子とを備えることを特徴とする請求項12に記載の磁気メモリ装置。既に設定された外部電圧と前記リファレンスセルアレイに流れる電流量によって決定される基準電圧とを比較するセンスアンプをさらに備えることを特徴とする、請求項10に記載の磁気メモリ装置。前記センスアンプが、ノーマルモードの時、前記メモリセルアレイに流れる電流量に対応する電圧を供給して、前記リファレンスセルアレイに対するプログラム検証モードの時、前記既に設定された外部電圧を供給するマルチプレクサを備えることを特徴とする請求項14に記載の磁気メモリ装置。外部バイアス電圧が印加されることによって、前記リファレンスセルアレイのビットラインに流れる電流量に対応する前記基準電圧を出力する基準電圧発生部をさらに備えることを特徴とする請求項14に記載の磁気メモリ装置。前記ライトドライバが、前記リファレンスセルアレイに対するプログラムモードの時、第1プログラム電流によって前記一対のリファレンス磁気メモリセルをプログラムして、前記センスアンプの出力信号に応答して前記第1プログラム電流より大きい第2プログラム電流によって前記一対のリファレンス磁気メモリセルを再プログラムすることを特徴とする請求項14に記載の磁気メモリ装置。複数の磁気メモリセルを有するメモリセルアレイとライトドライバとの間に接続される第1スイッチング部と、一対のリファレンス磁気メモリセルを有するリファレンスセルアレイと前記ライトドライバとの間に接続されて、前記リファレンスセルアレイと前記ライトドライバとの間の電流経路を形成したり、遮断したりする第2スイッチング部とを備える磁気メモリ装置のための前記リファレンスセルアレイのプログラム方法であって、前記第1スイッチング部をオフして、前記第2スイッチング部をオンさせる段階と、前記ライトドライバから前記一対のリファレンス磁気メモリセルを経由して前記ライトドライバに電流が流れるようにする電流供給段階と、前記第2スイッチング部をオフする段階とを含む磁気メモリ装置のためのリファレンスセルのプログラム方法。前記電流供給段階が、前記ライトドライバに接続されるビットラインまたはソースラインから、前記一対のリファレンス磁気メモリセルを経由して、前記ライトドライバに接続されるソースラインまたはビットラインに電流が流れるようにして、前記一対のリファレンス磁気メモリセルに論理ハイデータ及び論理ローデータを各々記録することを特徴とする請求項18に記載の磁気メモリ装置のためのリファレンスセルのプログラム方法。いずれか一つの前記リファレンス磁気メモリセルには論理ハイレベルがプログラムされ、異なる一つの前記リファレンス磁気メモリセルには論理ローレベルがプログラムされることを特徴とする請求項19に記載の磁気メモリ装置のためのリファレンスセルのプログラム方法。前記一対のリファレンス磁気メモリセルが、第1リファレンスビットラインと第1リファレンスソースラインとの間に接続される第1リファレンス磁気メモリセルと、第2リファレンスビットラインと第2リファレンスソースラインとの間に接続される第2リファレンス磁気メモリセルとを備え、前記電流供給段階は、前記ライトドライバの前記ビットラインから供給される電流が、前記第2リファレンスビットライン及び前記第2リファレンス磁気メモリセルを経由して前記第2リファレンスソースラインへ供給されるようにして、前記第2リファレンスソースラインの電流が前記第1リファレンスソースラインを通して前記第1リファレンス磁気メモリセル及び前記第1リファレンスビットラインに供給された後、前記ライトドライバの前記ソースラインへ供給されるようにする段階であることを特徴とする請求項19に記載の磁気メモリ装置のためのリファレンスセルのプログラム方法。前記一対のリファレンス磁気メモリセルが、第1リファレンスビットラインと第1リファレンスソースラインとの間に接続される第1リファレンス磁気メモリセルと、第2リファレンスビットラインと第2リファレンスソースラインとの間に接続される第2リファレンス磁気メモリセルとを備え、前記電流供給段階は、前記ライトドライバの前記ソースラインから供給される電流が、前記第1リファレンスビットライン及び前記第1リファレンス磁気メモリセルを経由して前記第1リファレンスソースラインへ供給されるようにして、前記第1リファレンスソースラインの電流が、前記第2リファレンスソースラインを通して前記第2リファレンス磁気メモリセル及び前記第2リファレンスビットラインで供給された後、前記ライトドライバの前記ビットラインへ供給されるようにする段階であることを特徴とする請求項19に記載の磁気メモリ装置のためのリファレンスセルのプログラム方法。複数の磁気メモリセルを有するメモリセルアレイとライトドライバとの間に接続される第1スイッチング部と、一対のリファレンス磁気メモリセルを有するリファレンスセルアレイと前記ライトドライバとの間に接続され、前記リファレンスセルアレイと前記ライトドライバとの間の電流経路を形成したり、遮断したりする第2スイッチング部とを備える磁気メモリ装置のための前記リファレンスセルアレイのプログラム検証方法であって、第1プログラム電流を印加して前記一対のリファレンス磁気メモリセルをプログラムする段階と、既に設定された外部電圧と前記一対のリファレンス磁気メモリセルに流れる電流量によって決定される基準電圧とを比較してセンシング信号を出力する段階と、前記センシング信号に応答して前記一対のリファレンス磁気メモリセルに対する再プログラムの可否を決定する段階とを含む磁気メモリ装置のためのリファレンスセルのプログラム検証方法。前記センシング信号を出力する段階が、前記外部電圧を既に設定された最高基準電圧に設定して前記基準電圧と比較して第1センシング信号を出力する段階と、前記第1センシング信号が論理ハイレベルである場合、前記外部電圧を既に設定された最低基準電圧に設定して前記基準電圧と比較して第2センシング信号を出力する段階とを含むことを特徴とする請求項23に記載の磁気メモリ装置のためのリファレンスセルのプログラム検証方法。前記第1センシング信号が論理ローレベルである場合、または前記第2センシング信号が論理ハイレベルである場合、前記一対のリファレンス磁気メモリセルを再プログラムする段階をさらに含むことを特徴とする請求項24に記載の磁気メモリ装置のためのリファレンスセルのプログラム検証方法。前記再プログラム段階が、前記第1プログラム電流より大きい第2プログラム電流を印加して前記一対のリファレンス磁気メモリセルをプログラムする段階であることを特徴とする請求項25に記載の磁気メモリ装置のためのリファレンスセルのプログラム検証方法。前記一対のリファレンス磁気メモリセルをプログラムする段階が、前記一対のリファレンス磁気メモリセルに論理ハイデータ及び論理ローデータを各々記録する段階であることを特徴とする請求項23に記載の磁気メモリ装置のためのリファレンスセルのプログラム検証方法。本発明の課題は、リファレンスセルを高速でプログラムできる磁気メモリ装置及びこのためのリファレンスセルのプログラム方法を提供することにある。本発明の異なる課題は、リファレンスセルに目的とするデータを正確に記録できる磁気メモリ装置及びこのためのリファレンスセルのプログラム検証方法を提供することにある。本発明の他のもう一つの課題は、リファレンスセルにデータを記録してこれを再び読み出し、リファレンスセルに正確なデータが記録されるようにすることができる磁気メモリ装置、このためのリファレンスセルのプログラム方法及び検証方法を提供することにある。上記課題を解決するために、本発明は以下の手段を採用する。本発明の一実施形態による磁気メモリ装置は、複数の磁気メモリセルを有するメモリセルアレイと、一対のリファレンス磁気メモリセルを有するリファレンスセルアレイと、前記メモリセルアレイ及び前記リファレンスセルアレイにデータをプログラムするためのライトドライバと、前記ライトドライバに接続されるビットラインから前記一対のリファレンス磁気メモリセルを有するリファレンスセルアレイを経由して前記ライトドライバに接続されるソースラインで電流経路を形成したり、前記ライトドライバに接続されるソースラインから前記一対のリファレンス磁気メモリセルを含むリファレンスセルアレイを経由して前記ライトドライバに接続されるビットラインで電流経路を形成したりする第1スイッチング部とを備える。本発明の異なる実施形態による磁気メモリ装置は、一対のリファレンス磁気メモリセルを有するリファレンスセルアレイと、前記リファレンスセルアレイにデータをプログラムするライトドライバと、前記ライトドライバに接続されるビットラインまたはソースラインから電流が供給されることによって、前記一対のリファレンス磁気メモリセルに各々論理ハイ及び論理ロー状態のデータが保存されるように電流経路を形成する第1スイッチング部とを備える。本発明の一実施形態による磁気メモリ装置のためのリファレンスセルのプログラム方法は、複数の磁気メモリセルを有するメモリセルアレイとライトドライバとの間に接続される第1スイッチング部と、一対のリファレンス磁気メモリセルを有するリファレンスセルアレイと前記ライトドライバとの間に接続されて、前記リファレンスセルアレイと前記ライトドライバとの間の電流経路を形成したり、遮断したりする第2スイッチング部とを備える磁気メモリ装置のための前記リファレンスセルアレイのプログラム方法であって、前記第1スイッチング部をオフして前記第2スイッチング部をオンさせる段階と、前記ライトドライバから前記一対のリファレンス磁気メモリセルを経由して前記ライトドライバに電流が流れるようにする電流供給段階と、前記第2スイッチング部をオフする段階とを含む。本発明の一実施形態による磁気メモリ装置のためのリファレンスセルのプログラム検証方法は、複数の磁気メモリセルを有するメモリセルアレイとライトドライバとの間に接続される第1スイッチング部と、一対のリファレンス磁気メモリセルを有するリファレンスセルアレイと前記ライトドライバとの間に接続され、前記リファレンスセルアレイと前記ライトドライバとの間の電流経路を形成したり、遮断したりする第2スイッチング部とを備える磁気メモリ装置のための前記リファレンスセルアレイのプログラム検証方法であって、第1プログラム電流を印加して前記一対のリファレンス磁気メモリセルをプログラムする段階と、既に設定された外部電圧と前記一対のリファレンス磁気メモリセルに流れる電流量によって決定される基準電圧とを比較してセンシング信号を出力する段階と、前記センシング信号に応答して前記一対のリファレンス磁気メモリセルに対する再プログラムの可否を決定する段階とを含む。本発明は、ライトドライバから一対のリファレンスセルを経由して、再びライトドライバでなされる電流経路を形成する。したがって、一対のリファレンスセルに同時にデータを記録することができる。リファレンスセルに対するプログラムが完了すると、既に設定された外部電圧とリファレンスセルに記録されたデータによって生成される基準電圧とを比較してリファレンスセルに対するプログラム検証を行う。そして、リファレンスセルに正確なデータが記録されない場合は、再プログラムを行うことによって、メモリセルアレイのデータ読み出しの時基準になるリファレンス電圧を正確に生成することができる。結果的に、磁気抵抗メモリ装置の動作速度を改善できることはもちろん、正確なリファレンス電圧の生成によって磁気メモリ装置の動作信頼性を向上させることができる。以下、図面を参照して本発明の実施形態をより具体的に説明する。図3は、本発明の一実施形態による磁気メモリ装置の構成図である。図3に示すように、磁気メモリ装置10は、メモリセルアレイ110及びリファレンスセルアレイ120を有する。メモリセルアレイ110は、ワードラインWL0~WLn、及び各々がワードラインWL0~WLnに対して垂直となるローカルビットラインLBL0~LBLm以下、LBLというとローカルソースラインLSL0~LSLm以下、LSLというとの間に接続される複数の磁気メモリセルを有する。そして、リファレンスセルアレイ120は、一対のリファレンス磁気メモリセルを具備する。より具体的には、リファレンスワードラインRWL、各々がリファレンスワードラインRWLに対して垂直となる第1リファレンスビットラインRBL0と第1リファレンスソースラインRSL0との間に接続される第1リファレンス磁気メモリセル、及びリファレンスワードラインRWLと各々がリファレンスワードラインRWLに対して垂直となる第2リファレンスビットラインRBL1と第2リファレンスソースラインRSL1との間に接続される第2リファレンス磁気メモリセルを具備する。ここで、各々の磁気メモリセルは、磁気トンネル接合素子MTJ及び選択トランジスタSTを有し、選択トランジスタSTのゲート端子はワードラインに接続される。磁気メモリ装置10は、ライトイネーブル信号WRENによって駆動される。そして、メモリセルアレイ110に記録するデータDATAを受信して、グローバルビットラインGBL0~GBLm以下、GBLという及びグローバルソースラインGSL0~GSLm以下、GSLというによってメモリセルアレイ110と接続されてデータDATAを記録するライトドライバ130を有する。また、磁気メモリ装置10は、センスアンプイネーブル信号SAENによって駆動され、リファレンスセルアレイ120に流れる電流量により決定される基準電圧VREFをセンスアンプ140へ供給する基準電圧発生部150を具備する。センスアンプ140は、センスアンプイネーブル信号SAENにより駆動され、グローバルビットラインGBL及びグローバルソースラインGSLを通してメモリセルアレイ110と接続される。そして、選択されたメモリセルのビットラインからソースライン、またはソースラインからビットラインに流れる電流量による電圧と、基準電圧発生部150から供給される基準電圧VREFとを比較してデータDATAを読み出し、出力する。これに加えて、磁気メモリ装置10は、メモリセルアレイ110とライトドライバ130との間に接続される第1スイッチング部160、ライトドライバ130を通してグローバルビットラインGBLまたはグローバルソースラインGSLに電流が供給されることによって、リファレンスセルアレイ120を構成する一対のリファレンスセルに各々論理レベルハイ状態及び論理レベルロー状態のデータを同時に記録するように電流経路を提供する第2ないし第4スイッチング部170、180、190を有する。さらに具体的には、第2スイッチング部170は、グローバルソースラインGSLと第1リファレンスビットラインRBL0との間に接続され、第3スイッチング部180は、グローバルビットラインGBLと第2リファレンスビットラインRBL1との間に接続され、第4スイッチング部190は、第1リファレンスソースラインRSL0と第2リファレンスソースラインRSL1との間に接続される。リファレンスセルアレイ120を構成する一対のリファレンスセルに、各々論理レベルハイ状態及び論理レベルロー状態のデータを記録するためのリファレンスセルのプログラムモードで、第1スイッチング部160はオフoffさせて、第2ないし第4スイッチング部170、180、190はオンonさせる。図4は、本発明の一実施形態による磁気メモリ装置でリファレンスセルに対するプログラムの原理を説明するための図であり、矢印は電流が流れる方向を示す。まず、リファレンスセルに対するプログラムのためにリファレンスワードラインRWLをイネーブルしてリファレンスセルの選択トランジスタをターンオンさせる。そして、第1スイッチング部160をオフさせる一方、第2ないし第4スイッチング部170、180、190をオンさせてライトドライバ130を制御して、例えばグローバルビットラインGBLからグローバルソースラインGSLに電流が流れるようにする。そうすると、グローバルビットラインGBLから第2スイッチング素子170を通して第2リファレンスビットラインRBL1へ電流が流れるようになる。次いで、第2リファレンスビットラインRBL1から第2リファレンスソースラインRSL1に電流が流れるようになる。結局、第2リファレンスセル124の第2磁気トンネル接合素子MTJ1には論理レベルロー状態のデータが記録される。引続き、電流が第2リファレンスソースラインRSL1から第4スイッチング部190を通して流れるようになる。第4スイッチング部190は、第2リファレンスソースラインRSL1と第1リファレンスソースラインRSL0との間に接続されている。したがって、電流は第1リファレンスソースラインRSL0から第1リファレンスビットラインRBL0に流れるようになって、第1リファレンスセル122の第1磁気トンネル接合素子MTJ0には論理レベルハイ状態のデータが記録されるようになる。そして、電流が、第1リファレンスビットラインRBL0及び第3スイッチング部180を経由してグローバルソースラインGSLを通して再びライトドライバ130へ流れるようになる。このようにして、リファレンスセルアレイ120を構成する一対のリファレンスセル122、124に論理レベルハイ状態及び論理レベルロー状態のデータを同時に記録することができるようになる。リファレンスセルアレイ120に論理レベルハイ状態及び論理ロー状態のデータを同時に記録するためのライトドライバ130は、例えば図5のように構成することができる。図5は、図3に示すライトドライバの例示図である。図5に示すように、ライトドライバ130は、データ駆動部132及びライト制御部134を具備している。まず、データ駆動部132は、ライトイネーブル信号WRENとデータ信号DATAとを受信して、入力信号がすべてハイレベルである場合に、ハイレベルの第1データ駆動信号DHを出力する第1論理素子ND11、IV11と、ライトイネーブル信号WRENとデータ信号DATAの反転信号とを受信して入力信号がすべてハイレベルである場合に、ハイレベルの第2データ駆動信号DLを出力する第2論理素子ND12、IV12とを有する。ここで、第1論理素子ND11、IV11は、第1ナンドゲートND11と第1インバータIV11とを直列に連結して構成することができる。そして、第2論理素子ND12、IV12は、第2ナンドゲートND12と第2インバータIV12とを直列に連結して構成することができる。次に、ライト制御部134は、電源電圧の供給端子VDDとグローバルソースラインGSLとの間に接続されて、第1データ駆動信号の反転信号DHbによって駆動される第1スイッチング素子P11と、グローバルソースラインGSLと接地端子VSSとの間に接続されて、第2データ駆動信号DLによって駆動される第2スイッチング素子N12と、電源電圧の供給端子VDDとグローバルビットラインGBLとの間に接続されて、第2データ駆動信号の反転信号DLbによって駆動される第3スイッチング素子P12と、グローバルビットラインGBLと接地端子VSSとの間に接続されて第1データ駆動信号DHによって駆動される第4スイッチング素子N11とを有する。このような構成を有するライトドライバ130の動作をみると、次の通りである。ライトイネーブル信号WRENがハイレベルにイネーブルされ、ローレベルのデータ信号DATAが入力される。そうすると、第1データ駆動信号DHはローレベルで出力されて、第2データ駆動信号DLはハイレベルで出力される。これにより、第1スイッチング素子P11及び第4スイッチング素子N11はターンオフされるが、第2スイッチング素子N12及び第3スイッチング素子P12はターンオンされる。結局、第3スイッチング素子P12を通してグローバルビットラインGBLへ電流が流れるようになる。そして、図4に示すように、第2リファレンスセル124の第1磁気トンネル接合素子MTJ1にハイレベルのデータが、第1リファレンスセル122の第2磁気トンネル接合素子MTJ0にローレベルのデータが記録されるようになる。同様に、ライトイネーブル信号WRENがハイレベルにイネーブルされる時、ハイレベルのデータが入力される。そうすると、第1及び第4スイッチング素子P11、N11はターンオンになり、第2及び第3スイッチング素子N12、P12はターンオフされる。したがって、第1スイッチング素子P11からグローバルソースラインGSLに電流が流れるようになる。この場合には、図4に示す第1リファレンスセル122の第1磁気トンネル接合素子MTJ0にハイレベルのデータが記録されて、第2リファレンスセル124の第2磁気トンネル接合素子MTJ1にはローレベルのデータが記録される。このように、一回のリファレンスセルのプログラム動作を通して一対のリファレンスセルにハイレベル及びローレベルのデータが各々記録される。そして、リファレンスセルに流れる電流量により生成される基準電圧VREFを用いて、メモリセルアレイ110の選択されたセルに保存されたデータを読み出すことができる。図6は、図3に示すセンスアンプの例示図である。センスアンプ140は、フリー増幅部142及びメイン増幅部144を具備する。フリー増幅部142は、グローバルビットラインGBL及びグローバルソースラインGSLに接続されて、メモリセルアレイ110の選択されたメモリセルに流れる電流量を電圧値で変換する。メイン増幅部144は、フリー増幅部142から出力される電圧値と基準電圧VREFとを比較して選択されたメモリセルのデータを読み出して出力する。フリー増幅部142は、例えば、図6に示すように、電源電圧の供給端子VDDとグローバルビットラインGBLとの間に直列に接続される第1スイッチング素子P21、第2スイッチング素子N21、第3スイッチング素子N22と、グローバルソースラインGSLと接地端子VSSとの間に接続される第4スイッチング素子N23とを有する。第1スイッチング素子P21は、バイアス信号PBIASにより駆動され、フリー増幅部142の電流源を動作する。第2スイッチング素子N21は、クランプ信号VCLAMPにより駆動され、グローバルビットラインGBLに一定のレベル以上の電圧が供給されないようにする電圧クランプの役割をする。第2スイッチング素子N21によって、リード動作の時、過度な電流が流れて磁気トンネル接合素子がスイッチングされる現象を防止することができる。第3スイッチング素子N22は、リードイネーブル信号RDENにより駆動され、グローバルビットラインGBLに印加された電流がフリーセンシング信号VPREOUTとして出力できるようにする。第4スイッチング素子N23は、グローバルソースラインGSLに流れる電流を接地端子でシンクさせる役割をする。第1スイッチング素子P21の出力信号、すなわち、フリーセンシング信号VPREOUTはメイン増幅部144に供給されて基準電圧VREFと比較できるようになる。メイン増幅部144は、例えば、クロス-カップル差動増幅器cross-coupleddifferentialamplifierで構成できる。図6を参照すると、メイン増幅部144は、電源電圧の供給端子VDDと第1ノードK1との間に接続されて出力ノードDOUTに印加される信号によって駆動される第5スイッチング素子P22、第1ノードK1に接続されて出力ノードDOUTに印加される信号によって駆動される第6スイッチング素子N24、第6スイッチング素子N24と第2ノードK2との間に接続されてフリーセンシング信号VPREOUTによって駆動される第7スイッチング素子N26、電源電圧の供給端子VDDと出力ノードDOUTとの間に接続されて第1ノードK1に印加される信号によって駆動される第8スイッチング素子P23、出力ノードDOUTに接続されて第1ノードK1に印加される信号によって駆動される第9スイッチング素子N25、第9スイッチング素子N25と第2ノードK2との間に接続されて基準電圧VREFによって駆動される第10スイッチング素子N27、及び第2ノードK2と接地端子VSSとの間に接続されてセンスアンプイネーブル信号SAENによって駆動される第11スイッチング素子N28を有する。メモリセルの抵抗状態がハイ状態であれば、第2スイッチング素子N21に流れる電流は第1スイッチング素子P21に流れる電流より小さくなり、フリーセンシング信号VPREOUTの電圧レベルは基準電圧VREFレベルより高くなる。フリーセンシング信号VPREOUT及び基準電圧VREFのレベルが安定化された後、センスアンプイネーブル信号SAENがイネーブルされると、メイン増幅部144が動作して、第8スイッチング素子P23と第6スイッチング素子N24とがターンオンされ、出力ノードDOUTではハイレベルの信号が出力される。反面、メモリセルの抵抗状態がロー状態であれば、フリーセンシング信号VPREOUTの電圧レベルは基準電圧VREFのレベルより低くなり、第5スイッチング素子P22及び第9スイッチング素子N25がターンオンされ、出力ノードDOUTではローレベルの信号が出力される。図7は、図3に示す基準電圧発生部の例示図である。基準電圧発生部150は、一対のリファレンスセルに流れる電流量によって基準電圧VREFを生成する。すなわち、一対のリファレンスセルには各々ハイレベル及びローレベルのデータが記録されており、各リファレンスセルに流れる電流量の半分に該当する電流量によって基準電圧VREFが決定される。図7を参照すれば、基準電圧発生部150は、電源電圧の供給端子VDDと第1リファレンスビットラインRBL0との間に直列に接続される第1スイッチング素子P31、第2スイッチング素子N31及び第3スイッチング素子N33と、電源電圧の供給端子VDDと第2リファレンスビットラインRBL1との間に直列に接続される第4スイッチング素子P32、第5スイッチング素子N32及び第6スイッチング素子N34と、第1リファレンスソースラインRSL0と接地端子VSSとの間に接続される第7スイッチング素子N35と、第2リファレンスソースラインRSL1と接地端子VSSとの間に接続される第8スイッチング素子N36とを有する。第1スイッチング素子P31はダイオード接続されており、第2スイッチング素子N31及び第5スイッチング素子N32はそれぞれのゲート端子にクランプ信号VCLAMPが印加され、ソース端子は共有されている。第3スイッチング素子N33、第6スイッチング素子N34、第7スイッチング素子N35及び第8スイッチング素子N36は、リードイネーブル信号RDENによって駆動され、第3スイッチング素子N33及び第6スイッチング素子N34は、各々第1リファレンスビットラインRBL0及び第2リファレンスビットラインRBL1に流れる電流の供給を受けて第2スイッチング素子N31及び第5スイッチング素子N32により基準電流が生成されるようにする。そして、第7スイッチング素子N35及び第8スイッチング素子N36は、第1リファレンスソースラインRSL0及び第2リファレンスソースラインRSL1に流れる電流を接地端子にシンクさせる。例えば、第1リファレンスビットラインRBL0に接続されるリファレンスセルに低抵抗状態のデータが記録されており、第2リファレンスビットラインRBL1に接続されるリファレンスセルに高低抗状態のデータが記録されてある状態を仮定する。この場合、第1リファレンスビットラインRBL0と接続される第3スイッチング素子N33を通しては高電流I_highが流れるようになり、第2リファレンスビットラインRBL1と接続される第6スイッチング素子N34には低電流I_lowが流れるようになる。第2スイッチング素子N31及び第5スイッチング素子N32はソース端子が共有されているので、第2スイッチング素子N31及び第5スイッチング素子N32にはI_highI_low/2の電流が流れるようになり、この時の電流が基準電流IREFとなる。結局、第1スイッチング素子P31及び第4スイッチング素子P32にも基準電流IREFが流れるようになって基準電流IREFに対応する基準電圧VREFが出力される。結局、基準電圧VREFのレベルはクランプ信号VCLAMPの電圧値により決定され、第1スイッチング素子P31及び第4スイッチング素子P32に電流が流れることによって生成されるバイアス信号PBIASは、センスアンプのフリー増幅部142にも供給されてフリー増幅部142の第1スイッチング素子P21にも基準電流IREFが流れるように電流ミラーリングがなされる。一方、リファレンスセルにデータを記録した後、正確なデータが記録されているのか検証する必要がある。STT-MRAMでのデータ検証はデータ読出過程と似ており、以下ではリファレンスセルのプログラム検証のための構成を説明する。リファレンスセルに対するプログラム検証の動作の時、第2ないし第4スイッチング部170、180、190はオフされることはもちろんである。図8は、図6に示す第2増幅部の異なる例示図である。一対のリファレンスセルに各々論理ハイレベル及び論理ローレベルのデータを記録した後、リファレンスセルのデータを読んで目的とするデータが記録されたのか確認するために、センスアンプのメイン増幅部144-1は図8のように構成することができる。図8に示すメイン増幅部144-1は、図6に示すメイン増幅部144とは異なり、第7スイッチング素子N26の駆動信号としてフリーセンシング信号VPREOUTまたは外部電圧VEXTが選択的に入力される。このために、メイン増幅部144-1は、図6に示すメイン増幅部144の構成に加え、第1マルチプレクサ1461を具備する。第1マルチプレクサ1461は、ノーマルモードではフリーセンシング信号VPREOUTを第7スイッチング素子N26へ供給して、リファレンスセルのプログラム検証モードでは外部電圧VEXTを第7スイッチング素子N26へ供給する。したがって、リファレンスセルに記録されたデータ値によって決定される基準電圧VREFと基準電圧VREFのレベルを判定するために供給される外部電圧VEXTとの比較によって、リファレンスセルに目的とするデータが記録されたのかを確認することができる。一方、リファレンスセルのプログラム検証のために基準電圧発生部は図9のように構成することができる。図9は、図3に示す基準電圧発生部の異なる例示図である。本実施形態による基準電圧発生部150-1は、図7に示す基準電圧発生部150の構成に加え、第2マルチプレクサ1501及び第5スイッチング部1503を具備する。第2マルチプレクサ1501は、ノーマルモードの時、第1スイッチング素子P31からバイアス信号PBIASが出力されるようにする。一方、リファレンスセルのプログラム検証モードの時、外部バイアス信号EXTPBIASを第1スイッチング素子P31へ供給する。第5スイッチング部1503は、第1スイッチング素子P31のゲート端子とドレイン端子との間に接続され、ノーマルモードの時、第1スイッチング素子P31がダイオード接続されるようにして、リファレンスセルのプログラム検証モードの時には第1スイッチング素子P31のゲート端子とドレイン端子とが分離されるようにする。したがって、外部バイアス信号EXTPBIAS及びクランプ信号VCLAMPと、リファレンスセルの第1リファレンスビットラインRBL0及び第2リファレンスビットラインRBL1に流れる電流量によりリファレンスセルの検証のための基準電圧VREFが生成される。すなわち、センスアンプ140は、図9に示す基準電圧発生部150-1によって生成された基準電圧VREFを外部電圧VEXTと比較してリファレンスセルに記録されたデータを読み出す。センスアンプ140のメイン増幅部144-1の出力ノードDOUTに印加される電圧レベルは、リファレンスセルに記録されたデータのレベルを表わす。そして、出力ノードDOUTの電位が既に設定された最低基準電圧VREFMINと最大基準電圧VREFMAXとの間に存在する場合リファレンスセルに目的とするデータが記録されたことに判断することができる。したがって、リファレンスセルに対するプログラムの検証の時、外部電圧VEXTレベルを最低基準電圧VREFMINに設定して基準電圧VREFと比較して、また外部電圧VEXTレベルを最大基準電圧VREFMAXに設定して基準電圧VREFと比較する過程を行うことによって、リファレンスセルのデータが基準電圧ウィンドウ内に含まれているのかを確認することができる。すなわち、外部電圧VEXTのレベルを最大基準電圧VREFMAXに設定した後、センスアンプイネーブル信号SAENをイネーブルさせてセンスアンプ140のメイン増幅部144-1から出力されるデータを確認する。その結果、ハイレベルのデータが出力されると基準電圧発生部150-1から生成された基準電圧VREFが最大基準電圧VREFMAXより低いことに判断することができる。この場合には、新たに外部電圧VEXTのレベルを最低基準電圧VREFMINに設定して、センスアンプイネーブル信号SAENをイネーブルしてメイン増幅部144-1の出力データを確認する。その結果、ローレベルのデータが出力されると基準電圧発生部150-1から生成された基準電圧VREFが最低基準電圧VREFMINより高いことを判断することができて、結局、リファレンスセルに目的とするデータが正確に記録されたことに確認することができる。図11は、リファレンスセルのプログラム検証のための基準電圧ウィンドウである。図11を参照すると、センスアンプ140の出力ノードDOUTの電位が最低基準電圧VREFMINと最大基準電圧VREFMAXとの間に存在する場合、リファレンスセルに目的とするデータが記録されたことを判断することができる。すなわち、一対のリファレンスセルが各々高低抗状態RHと低抵抗状態RLを有することを判断することである。反面、センスアンプ140の出力ノードDOUT電位が最低基準電圧VREFMIN未満である場合には、一対のリファレンスセルにすべて論理ローレベルのデータが記録されたことを判断することができるRL、RL。この場合には、スイッチング電流を増加させてリファレンスセルに対するプログラム過程を再遂行する。また、センスアンプ140の出力ノードDOUTの電位が最大基準電圧VREFMAXを超過する場合には、一対のリファレンスセルにすべて論理ハイレベルのデータが記録されたことを意味するRH、RHので、同じようにスイッチング電流を増加させてプログラム過程を再遂行する。リファレンスセルに対する再プログラムのために、本発明では図10に示すように、同じライト制御部134-1を採用する。図10は、図5に示すライト制御部の異なる例示図である。本実施形態によるライト制御部134-1は、図5に示すライト制御部134の構成に加え、第3マルチプレクサ1341をさらに具備する。第3マルチプレクサ1341は、ノーマルモードの時、第3スイッチング素子P12へ電源電圧を供給するが、リファレンスセルに対する再プログラムモードの時、第3スイッチング素子P12へ再プログラムの駆動電圧VWRDRVを供給する。再プログラムの駆動電圧VWDDRVは、電源電圧VDDより高いレベルであるため、リファレンスセルに対する再プログラム過程の時、グローバルビットラインGBLに印加されるスイッチング電流量が増加するようになる。再プログラム動作の時にはプログラム動作時と同じように、第1スイッチング部160をオフさせるが、第2ないし第4スイッチング部170、180、190はオンさせて図10に示すライト制御部134-1のグローバルビットラインGBLを通しスイッチング電流が増大されたプログラム電流がリファレンスセルに供給されるようになる。図12は、本発明の一実施形態によるリファレンスセルのプログラム方法を説明するためのフローチャートである。リファレンスセルに論理ハイ状態及び論理ロー状態のデータを各々同時に保存するために、メモリセルアレイ110とライトドライバ130との間の電流流れを防いで、ライトドライバ130とリファレンスセルアレイ130との間の電流流れを形成するために、第1スイッチング部160はオフするが、第2ないし第4スイッチング部170、180、190はオンさせるS101。以後、ライトイネーブル信号WRENをイネーブルしてデータ信号DATAが入力されることによってS103、第2スイッチング部170、第1リファレンスセル、第4スイッチング部190、第2リファレンスセル、第3スイッチング部180及びライトドライバ130に電流経路が形成されて、一対のリファレンスセルの各々に同時にデータが記録されるS105。リファレンスセルに対するプログラムが完了すれば、第2ないし第3スイッチング部170、180、190をオフするS107。このようにして、リファレンスセルに対するプログラムが完了すると、リファレンスセルに目的とするデータが記録されたのかを確認するプログラムの検証過程が遂行される。図13は本発明の一実施形態によるリファレンスセルのプログラム検証方法を説明するためのフローチャートである。まず、センスアンプ140のメイン増幅部144-1に供給される外部電源VEXTを最大基準電圧VREFMAXに設定するS201。センスアンプイネーブル信号SAENがイネーブルされることによってS203、最大基準電圧VREFMAXと基準電圧発生部150-1から生成された基準電圧VREFとを比較する過程を通してデータを読み出すS205。この時、基準電圧発生部150-1は外部バイアス信号EXTPBIASを供給することによって、リファレンスセルに流れる電流量に対応する基準電圧VREFを生成する。メイン増幅部144-1の出力ノードDOUTに印加される電位がハイレベルである場合にはS207、外部電圧VEXTを最低基準電圧VREFMINに設定してS209、基準電圧VREFとの比較によってデータを読み出すS211。段階S211で読み出されたデータがローレベルである場合には、リファレンスセルに目的とするデータが記録されたことを判断してプログラムの検証過程を終了する。一方、段階S207の確認した結果、メイン増幅部144-1の出力ノードDOUTにローレベルの電位が印加された場合、すなわち、リファレンスセルに流れる電流量が最大基準電圧VREFMAXより大きい場合には、一対のリファレンスセルがすべて高低抗状態にあることになるため、スイッチング電流を上昇させて再プログラムを行うS215。同様に、段階S213の確認した結果、メイン増幅部144-1の出力ノードDOUTにハイレベルの電位が印加されると、リファレンスセルに流れる電流量が最低基準電圧VREFMINより小さいことを意味し、これは一対のリファレンスセルがすべて高低抗状態を有することになるため、スイッチング電流を増加させて再プログラムする過程を行うS215。再プログラム過程S215は、図12で説明したことと類似の方式で進行することができることはもちろんである。このように、本発明では一対のリファレンスセルに各々論理ハイレベル及び論理ローレベルのデータを同時に記録する。そして、プログラムが完了すると既に設定された外部電圧とリファレンスセルに流れる電流量によって決定される基準電圧とを比較、及びリファレンスセルに目的とするデータが記録されたのかを検証する。その結果、リファレンスセルに正確なデータが記録されてない場合には、スイッチング電流を増加させてリファレンスセルに対するプログラム過程を再遂行することによって、リファレンスセルに正確なデータを記録する。このように、本発明の属する技術分野の当業者は、本発明がその技術的思想や必須的特徴を変更せずに、他の具体的な形態で実施され得るということが理解できる。したがって、以上で記述した実施形態は、あらゆる面で例示的なものであり、限定的なものではないものと理解されるべきである。本発明の範囲は、上記の詳細な説明よりは、後述する特許請求の範囲によって表わされ、特許請求の範囲の意味及び範囲、そして、その等価概念から導き出されるあらゆる変更または変形された形態が本発明の範囲に含まれるものと解釈されるべきである。