可変抵抗素子を含むメモリセルが複数の第1配線及び複数の第2配線の交差部に配置されたメモリセルアレイと、選択された前記第1配線及び選択された前記第2配線に所定の電圧を印加することにより、選択された前記第1配線及び選択された前記第2配線の交差部に配置された前記メモリセルに電圧を印加する制御回路とを備え、前記制御回路は、セットパルスを前記可変抵抗素子に印加し、前記可変抵抗素子を高抵抗状態から低抵抗状態に変化させるセット動作と、前記セットパルスの極性と逆の極性を有するリセットパルスを前記可変抵抗素子に印加し、前記可変抵抗素子を低抵抗状態から高抵抗状態に変化させるリセット動作と、前記セットパルス及び前記リセットパルスを連続的に前記可変抵抗素子に印加するトレーニング動作とを実行し、前記トレーニング動作は、前記セットパルス、及び前記リセットパルスを交互に前記可変抵抗素子に印加し、前記制御回路は、前記セット動作及び前記リセット動作が失敗したときに前記トレーニング動作を実行することを特徴とする半導体記憶装置。可変抵抗素子を含むメモリセルが複数の第1配線及び複数の第2配線の交差部に配置されたメモリセルアレイと、選択された前記第1配線及び選択された前記第2配線に所定の電圧を印加することにより、選択された前記第1配線及び選択された前記第2配線の交差部に配置された前記メモリセルに電圧を印加する制御回路とを備え、前記制御回路は、セットパルスを前記可変抵抗素子に印加し、前記可変抵抗素子を高抵抗状態から低抵抗状態に変化させるセット動作と、前記セットパルスの極性と逆の極性を有するリセットパルスを前記可変抵抗素子に印加し、前記可変抵抗素子を低抵抗状態から高抵抗状態に変化させるリセット動作と、前記セットパルス及び前記リセットパルスを連続的に前記可変抵抗素子に印加するトレーニング動作とを実行することを特徴とする半導体記憶装置。前記トレーニング動作は、前記セットパルス、及び前記リセットパルスを交互に前記可変抵抗素子に印加することを特徴とする請求項2記載の半導体記憶装置。前記トレーニング動作は、前記可変抵抗素子の抵抗値が第1抵抗値以下に変化したか否かを判定する第1ベリファイ動作と、前記可変抵抗素子の抵抗値が第2抵抗値以上に変化したか否かを判定する第2ベリファイ動作とを含み、前記トレーニング動作は、前記第1ベリファイ動作にて前記可変抵抗素子の抵抗値が前記第1抵抗値以下であると判定された後に前記可変抵抗素子に前記リセットパルスを印加し、前記第2ベリファイ動作にて前記可変抵抗素子の抵抗値が前記第2抵抗値以上であると判定された後に前記可変抵抗素子に前記セットパルスを印加することを特徴とする請求項2記載の半導体記憶装置。前記セット動作は、前記可変抵抗素子が第3抵抗値以下の低抵抗状態に変化したか否かを判定するセットベリファイ動作を含み、前記リセット動作は、前記可変抵抗素子が第4抵抗値以上の高抵抗状態に変化したか否かを判定するリセットベリファイ動作を含み、前記第3抵抗値は、前記第1抵抗値よりも低く、前記第4抵抗値は、前記第2抵抗値よりも高いことを特徴とする請求項4記載の半導体記憶装置。前記制御回路は、前記セット動作及び前記リセット動作のコマンドを受け付けていないスタンバイ状態において、前記トレーニング動作を実行することを特徴とする請求項2乃至請求項5記載の半導体記憶装置。前記制御回路は、前記セット動作及び前記リセット動作が失敗したときに前記トレーニング動作を実行することを特徴とする請求項2乃至請求項5記載の半導体記憶装置。本実施の形態は、可変抵抗素子を高抵抗状態及び低抵抗状態に安定して遷移可能な状態とする半導体記憶装置を提供することを目的とする。一態様に係る半導体記憶装置は、メモリセルアレイ、及び制御回路を有する。メモリセルアレイにおいては、可変抵抗素子を含むメモリセルが複数の第1配線及び複数の第2配線の交差部に配置される。制御回路は、選択された第1配線及び選択された第2配線に所定の電圧を印加することにより、選択された第1配線及び選択された第2配線の交差部に配置されたメモリセルに電圧を印加する。制御回路は、セット動作、リセット動作、及びトレーニング動作を実行する。セット動作は、セットパルスを可変抵抗素子に印加し、可変抵抗素子を高抵抗状態から低抵抗状態に変化させる。リセット動作は、セットパルスの極性と逆の極性を有するリセットパルスを可変抵抗素子に印加し、可変抵抗素子を低抵抗状態から高抵抗状態に変化させる。トレーニング動作は、セットパルス及びリセットパルスを連続的に可変抵抗素子に印加する。以下、図面を参照して実施の形態に係る半導体記憶装置を説明する。[第1の実施の形態]図1は第1の実施の形態に係る半導体記憶装置のブロック図である。第1の実施の形態に係る半導体記憶装置は、図1に示すように、メモリセルアレイ11、ロウデコーダ12、カラムデコーダ13、キャッシュメモリ14、及び制御回路15を備える。メモリセルアレイ11は、複数本のワード線WL、ワード線WLと交差する複数本のビット線BL、及びビット線BLとワード線WLの各交差部に配置されたメモリセルMCを有する。ロウデコーダ12は、ロウアドレスに基づきワード線WLを選択し、ワード線WLに各種動作に必要な電圧を印加する。カラムデコーダ13は、カラムアドレスに基づきビット線BLを選択し、ビット線BLに各種動作に必要な電圧を印加する。また、カラムデコーダ13は、ビット線BLに現れた信号を検知増幅してメモリセルMCに保持されているデータを判定する。キャッシュメモリ14は、後述するトレーニング動作を必要とするメモリセルMCのアドレスを記憶する。制御回路15は、外部から入力されるアドレス及びデータに基づきロウデコーダ12及びカラムデコーダ13にそれぞれロウアドレス、カラムアドレス及びデータを与える。これにより、制御回路15は、選択ワード線WL及び選択ビット線BLに所定電圧を印加し、それらの間のメモリセルMCに電圧を印加する。また、制御回路15は、キャッシュメモリ14からトレーニング動作の対象となるメモリセルMCのアドレスを読み出し、そのアドレスに位置するメモリセルMCに対してトレーニング動作を実行する。図2はメモリセルアレイ11の一部を示す斜視図である。ワード線WLは、半導体基板Baと平行なX方向に所定ピッチをもって配置され、Y方向に延びる。ビット線BLは、ワード線WLと交差するように、Y方向に所定ピッチをもって配置され、X方向に延びる。メモリセルMCは、ワード線WLとビット線BLが交差する部分のワード線WLとビット線BLの間に接続される。メモリセルMCは、直列接続されたダイオードD、及び可変抵抗素子VRを有する。ダイオードDの順方向は、例えば、ビット線BLからワード線WLに向かう方向となる。可変抵抗素子VRは、バイポーラ型動作モードで、低抵抗状態セット状態と高抵抗状態に抵抗状態を遷移させる。可変抵抗素子VRは、セットパルスを印加されると高抵抗状態から低抵抗状態へ遷移し得る。また、可変抵抗素子Rは、セット動作と逆の極性のリセットパルスを印加されると低抵抗状態から高抵抗状態へ遷移し得る。可変抵抗素子VRとしては、以下に示す、PCRAM、CBRAM、及びReRAM等を用いることができる。PCRAMは、カルコゲナイド等のように結晶状態と非晶質状態の相転移により抵抗値を変化させる。CBRAMは、金属陽イオンを析出させて電極間に架橋コンタクティングブリッジを形成したり、析出した金属をイオン化して架橋を破壊したりすることで抵抗値を変化させる。ReRAMは、電圧あるいは電流印加により抵抗値を変化させる。このReRAMは、電極界面に存在する電荷トラップにトラップされた電荷の存在の有無により抵抗変化が起きるものと、酸素欠損等に起因する伝導パスの存在の有無により抵抗変化が起きるものとに大別される。ReRAMの場合、その材料にZnMn2O4、NiO、TiO2、SrZrO3、Pr0.7Ca0.3MnO3等を用いることができる。図3及び図4は、図2に示したメモリセルアレイ11の等価回路図であり、図3はセットパルス印加動作、図4はリセットパルス印加動作をそれぞれ示す。先ず、図3を参照して、メモリセルMCに対して実行されるセットパルス印加動作について説明する。セットパルス印加動作は、選択メモリセルMC内の可変抵抗素子VRを高抵抗状態から低抵抗状態に変化させるために実行される。セットパルス印加動作において、制御回路15は選択メモリセルMCにセットパルスを印加する。図3に示すように、セットパルス印加動作において、選択ワード線WLの電圧は8Vに設定され、非選択ワード線WLの電圧は4Vに設定される。選択ビット線BLの電圧は0Vに設定され、非選択ビット線BLの電圧は4Vに設定される。したがって、選択メモリセルMCにはダイオードDの逆バイアス方向にダイオードDの降伏電圧に達する8Vのセットパルスが印加される。このセットパルスによって、選択メモリセルMC内の可変抵抗素子VRは高抵抗状態から低抵抗状態に遷移し得る。次に、図4を参照して、メモリセルMCに対して実行されるリセットパルス印加動作について説明する。リセットパルス印加動作は、選択メモリセルMC内の可変抵抗素子VRを低抵抗状態から高抵抗状態に変化させるために実行される。リセットパルス印加動作においては、制御回路15は選択メモリセルMCにリセットパルスを印加する。図4に示すように、リセットパルス印加動作において、選択ワード線WLの電圧は0Vに設定され、非選択ワード線WLの電圧は4Vに設定される。選択ビット線BLの電圧は4Vに設定され、非選択ビット線BLの電圧は0Vに設定される。したがって、選択メモリセルMCにはダイオードDの順バイアス方向に4Vのリセットパルスが印加される。このリセットパルスによって、選択メモリセルMC内の可変抵抗素子VRは低抵抗状態から高抵抗状態に遷移し得る。次に、メモリセルMCに対して実行されるセット動作、リセット動作、及びトレーニング動作について説明する。セット動作は、上記セットパルス印加動作を含み、可変抵抗素子VRを高抵抗状態リセット状態から低抵抗状態へ遷移させる動作である。リセット動作は、上記リセットパルス印加動作を含み、可変抵抗素子VRを低抵抗状態セット状態から高抵抗状態リセット状態へ遷移させる動作である。トレーニング動作は、セット動作、又はリセット動作の後に実行される。トレーニング動作は、セット動作又はリセット動作により抵抗値を所定値まで変化させない可変抵抗素子VRに対して、セットパルス、及びリセットパルスをそれぞれ印加する動作である。図5を参照して、セット動作S101a~103aが実行される場合を説明する。セット動作においては、先ず、選択メモリセルMCにセットパルスが印加されるセットパルス印加動作と共に、セットパルス印加回数naが計数されるS101a。次に、セットベリファイ動作が実行されるS102a。セットベリファイ動作においては、選択メモリセルMC内の可変抵抗素子VRがセット状態になったか否かが判断される。セットベリファイ動作は、可変抵抗素子VRの抵抗値が抵抗値LL以下となったか否かでセット状態を判断する。このセットベリファイ動作において、可変抵抗素子VRがセット状態になったと判定されるとS102a、Y、リセット動作S101b~103bが実行可能となる。一方、可変抵抗素子VRがセット状態になっていないと判定されるとS102a、N、セットパルス印加回数naが最大回数MAXaであるか否かが判定されるS103a。ステップS103aにおいて、セットパルス印加回数naが最大回数MAXaでなければS103a、N、再びステップS101aが実行される。一方、セットパルス印加回数naが最大回数MAXaであればS103a、Y、セット動作は終了して、ステップS104aが実行される。ステップS104aにおいては、トレーニング動作が実行済みであるか否かが判定される。ステップS104aにおいて、トレーニング動作が実行済みであると判定されるとS104a、Y、セット動作の対象となった選択メモリセルMCは不良であると判定されるFail。一方、トレーニング動作が実行済みでないと判定されるとS104a、N、トレーニング動作が実行されるS105a。続いて、第1トレーニングベリファイ動作が実行されるS106a。第1トレーニングベリファイ動作においては、選択メモリセルMC内の可変抵抗素子VRに対する第1トレーニング動作が正常に終了したか否かが判定される。第1トレーニングベリファイ動作において、可変抵抗素子VRに対する第1トレーニング動作が正常に終了したと判定されるとS106a、Y、再びステップS101aが実行される。一方、可変抵抗素子VRに対する第1トレーニング動作が正常に終了していないと判定されるとS106a、N、セット動作の対象となった選択メモリセルMCは不良であると判定されるFail。次に、図5を参照して、リセット動作S101b~103bが実行される場合を説明する。リセット動作においては、先ず、図5に示すように選択メモリセルMCにリセットパルスが印加されるリセットパルス印加動作と共に、リセットパルス印加回数nbが計数されるS101b。次に、リセットベリファイ動作が実行されるS102b。リセットベリファイ動作においては、選択メモリセルMC内の可変抵抗素子VRがセット状態になったか否かが判断される。リセットベリファイ動作は、可変抵抗素子VRの抵抗値が抵抗値LH以上となったか否かでリセット状態を判断する。リセットベリファイ動作において、可変抵抗素子VRがリセット状態になったと判定されるとS102b、Y、セット動作S101a~103aが実行可能となる。一方、可変抵抗素子VRがリセット状態になっていないと判定されるとS102b、N、リセットパルス印加回数nbが最大回数MAXbであるか否かが判定されるS103b。ステップS103bにおいて、リセットパルス印加回数nbが最大回数MAXbでなければS103b、N、再びステップS101bが実行される。一方、セットパルス印加回数nbが最大回数MAXbであればS103b、Y、リセット動作は終了して、ステップS104bが実行される。ステップS104bにおいては、トレーニング動作が実行済みであるか否かが判定される。ステップS104bにおいて、トレーニング動作が実行済みであると判定されるとS104b、Y、リセット動作の対象となった選択メモリセルMCは不良であると判定されるFail。一方、トレーニング動作が実行済みでないと判定されるとS104b、N、トレーニング動作が実行されるS105b。続いて、第2トレーニングベリファイ動作が実行されるS106b。第2トレーニングベリファイ動作においては、選択メモリセルMC内の可変抵抗素子VRに対する第2トレーニング動作が正常に終了したか否かが判定される。第2トレーニングベリファイ動作において、可変抵抗素子VRに対する第2トレーニング動作が正常に終了したと判定されるとS106b、Y、再びステップS101bが実行される。一方、可変抵抗素子VRに対する第2トレーニング動作が正常に終了していないと判定されるとS106b、N、リセット動作の対象となった選択メモリセルMCは不良であると判定されるFail。次に図6を参照して、トレーニング動作について具体的に説明する。図6に示すようにトレーニング動作においては、先ず、回数Nが0に設定されるS201。回数Nはセットパルスを印加した回数であり、可変抵抗素子VRの特性に応じ、5~20回ぐらいに設定される。この例では、N=9に設定される。次に、選択メモリセルMCにセットパルスが印加されS202、回数Nに1が加算されるS203。続いて、回数Nが9より大きいか否かが判定されるS204。ここで、回数Nが9以下であると判定されるとS204、N、選択メモリセルMCにリセットパルスが印加されS205、その後に再びステップS202が実行される。一方、ステップS204において回数Nが9より大きいと判定されるとS204、Y、トレーニング動作は終了する。これにより、可変抵抗素子VRにはセットパルスとリセットパルスが交互に9回印加される。なお、第1トレーニング動作及び第2トレーニング動作が正常に終了したか否かの判定は、セット及びベリファイレベルLL、LHよりも緩いベリファイレベルLL’、LH’に達したか否かを基準に行なって良い。次に、図7を参照してトレーニング動作による可変抵抗素子VRの抵抗値の変化について説明する。図7に示す例では、時間T1において、可変抵抗素子VRは、1回又は数回のセットパルス又はリセットパルスで抵抗値LL以下の低抵抗状態セット状態、又は抵抗値LH以上の高抵抗状態リセット状態に遷移する正常状態を維持している。しかし、時間T1において、セット動作とリセット動作を繰り返すと、時間T2において、可変抵抗素子VRは低抵抗状態又は高抵抗状態に容易に変化しない異常状態となることがある。図7に示す例は、時間T2で最終的に高抵抗状態リセット状態に可変抵抗素子VRが遷移しない状態を示している。このような状態でも、セットパルスとリセットパルスを交互に複数回印加することで、可変抵抗素子VRは再度正常状態に復帰することがある。そこで、本実施の形態では、時間T3において、上述したトレーニング動作を行なう。これにより、トレーニング動作において、可変抵抗素子VRには、交互に所定回数のセットパルス及びリセットパルスが印加される。時間T4において、可変抵抗素子VRは高抵抗状態及び低抵抗状態に遷移可能な状態となる可能性がある。なお、トレーニング動作において印加される電圧は、セットパルス及びリセットパルスであり、トレーニング動作には新たなパルスは必要とされない。[第2の実施の形態]次に、図8を参照して第2の実施の形態に係る半導体記憶装置のトレーニング動作について説明する。第2の実施の形態は、トレーニング動作のみが第1の実施の形態と異なる。第2の実施の形態において、第1の実施の形態と同様の構成は、その説明を省略する。第2の実施の形態に係るトレーニング動作においては、第1、第2トレーニングベリファイ動作がトレーニング動作内で実行される。第1、第2トレーニングベリファイ動作では、セットベリファイレベルLLよりも高く、リセットベリファイレベルLHよりも低い抵抗値のベリファイレベルLH’、LL’を判定レベルとする。図8に示すように、第2の実施の形態に係るトレーニング動作では、先ず回数Na、Nrが0に設定されるS301。回数Naは、第1トレーニングベリファイ動作でパスと判定された回数である。回数Nrは、リセットパルスを間に挟まず連続して印加されたセットパルスの回数又は、セットパルスを挟まず連続して印加されたリセットパルスの回数である。ステップS301の後、セットパルスが選択メモリセルMCに印加されるS302a。続いて、選択メモリセルMCに対して第1トレーニングベリファイ動作が実行されるS303a。ステップS303aにおいて、可変抵抗素子VRの抵抗値が抵抗値LL’以下になっていないと判定されるとS303a、N、回数Nrに1が加算されS304a、その後に回数Nrが9より大きいか否かが判定されるS305a。ステップS305aにおいて、回数Nrが9より大きいと判定されるとS305a、Y、選択メモリセルMCは不良であると判定されるFail。一方、回数Nrが9以下と判定されるとS305a、N、再びステップS302aが実行される。ステップS303aにおいて、可変抵抗素子VRの抵抗値が抵抗値LL’以下になっていると判定されるとS303a、Y、回数Naに1を加算し、回数Nrを0に設定するS306a。続いて、回数Naが9より大きいか否かが判定されるS307a。ステップS307aにおいて、回数Naが9より大きいと判定されるとS307、Y、トレーニング動作は正常に実行されたと判定されて終了するPass。一方、回数Naが9以下であると判定されるとS307、N、以下に示すステップS302bが実行される。ステップS302bにおいて、リセットパルスが選択メモリセルMCに印加される。次に、第2トレーニングベリファイ動作が実行されるS303b。ステップS303bにおいて、可変抵抗素子VRの抵抗値が抵抗値LH’以上になっていないと判定されるとS303b、N、回数Nrに1が加算されS304b、その後に回数Nrが9より大きいか否かが判定されるS305b。ステップS305bにおいて、回数Nrが9より大きいと判定されるとS305b、Y、選択メモリセルMCは不良であると判定されるFail。一方、回数Nrが9以下と判定されるとS305b、N、再びステップS302bが実行される。ステップS303bにおいて、可変抵抗素子VRの抵抗値が抵抗値LH’以上になっていると判定されるとS303b、Y、回数Nrを0に設定しS306b、その後に再びステップS302aが実行される。次に、図9を参照してトレーニング動作による可変抵抗素子VRの抵抗値の変化について説明する。図9に示す例では、時間T1において、可変抵抗素子VRは、1回又は複数回のセットパルス又はリセットパルスで抵抗値LL以下の低抵抗状態セット状態、又は抵抗値LH以上の高抵抗状態リセット状態に遷移する。しかし、時間T1において、セット動作とリセット動作を繰り返すと、時間T2において、可変抵抗素子VRは低抵抗状態又は高抵抗状態に容易に変化しない異常状態となることがある。図9に示す例は、時間T2で最終的に高抵抗状態リセット状態に可変抵抗素子VRが遷移しない状態を示している。そこで、本実施の形態では、時間T3において、上述したトレーニング動作を行なう。これにより、トレーニング動作において、可変抵抗素子VRには、セットパルス及びリセットパルスが印加されると共に第1及び第2トレーニングベリファイ動作LL’、LH’がなされる。そして、所定回数の第1トレーニングベリファイ動作にて、可変抵抗素子VRの抵抗値が抵抗値LL’以下と判定されると、続く時間T4において、可変抵抗素子VRは高抵抗状態及び低抵抗状態に遷移可能な状態となる。第2の実施の形態は、第1、第2トレーニングベリファイ動作を繰り返し実行するため、第1の実施の形態よりもトレーニング動作の実行に時間を要する。しかしながら、第2の実施の形態は、第1の実施形態よりも確実に、可変抵抗素子VRの状態を通常の状態に戻すことができる。[その他]本発明のいくつかの実施の形態を説明したが、これらの実施の形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施の形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。例えば、第1及び第2の実施の形態において、トレーニング動作は、セット不良又はリセット不良が発生したときに、セット動作又はリセット動作に連続して実行される。しかしながら、トレーニング動作は、セット動作及びリセット動作のコマンドを受けていないスタンバイ状態においてキャッシュメモリ14の情報に基づき実行されるものであってもよい。更には、セット不良、リセット不良に拘わりなく、セット動作又はリセット動作に付随して、トレーニング動作を実行するようにしても良い。