(57)【要約】【課題】  高速動作が可能な半導体記憶装置を提供する。【解決手段】  半導体記憶装置１は、メモリセルアレイを複数に分割して成るブロックＢ１〜Ｂ４と、メモリセルが備える可変抵抗素子を低抵抗化させるセット動作と、メモリセルが備える可変抵抗素子を高抵抗化させるリセット動作と、をブロックＢ１〜Ｂ４毎に独立して実行する動作実行回路Ｄ１〜Ｄ４と、動作実行回路Ｄ１〜Ｄ４によるセット動作及びリセット動作の実行を制御する制御回路２１と、を備える。制御回路２１は、セット動作が実行されるブロック以外のブロックから、不要なデータを記憶しているメモリセルから成る不要データ領域を検出し、セット動作と並行して当該不要データ領域を成すメモリセルの少なくとも１つにリセット動作が実行されるように、動作実行回路Ｄ１〜Ｄ４を制御する。【選択図】  図３
2014199698.tif 000002
【特許請求の範囲】
【請求項１】
電気的ストレスの印加に応じて電気抵抗が変化する可変抵抗素子を備えるとともに当該可変抵抗素子の電気抵抗の変化によってデータを記憶するメモリセルが、行方向及び列方向の少なくとも一方向に複数配列して成るメモリセルアレイと、
前記メモリセルアレイを複数に分割して成るブロック毎に、前記メモリセルが備える前記可変抵抗素子を低抵抗化させるセット動作と、前記メモリセルが備える前記可変抵抗素子を高抵抗化させるリセット動作と、を独立して実行する動作実行回路と、
前記動作実行回路による前記セット動作及び前記リセット動作の実行を制御する制御回路と、を備え、
前記制御回路が、
少なくとも１つの前記ブロックに対して前記セット動作が実行されるように、前記動作実行回路を制御しようとするとき、
前記セット動作が実行される前記ブロック以外の前記ブロックから、不要なデータを記憶している前記メモリセルから成る不要データ領域を検出し、
前記セット動作と並行して、検出した前記不要データ領域を成すメモリセルの少なくとも１つに対して前記リセット動作が実行されるように、前記動作実行回路を制御することを特徴とする半導体記憶装置。
【請求項２】
前記制御回路が、前記ブロックの所定の領域の前記メモリセルから読み出されるデータ、または、前記メモリセルアレイに記憶させるデータを管理する外部の管理装置から入力される信号に基づいて、前記不要データ領域を検出することを特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
前記制御回路が、
少なくとも１つの前記ブロックに対して前記セット動作が実行されるように、前記動作実行回路を制御しようとするとき、
前記セット動作が実行される前記ブロック以外の前記ブロックから、前記不要データ領域が検出されなければ、
ある１つの前記ブロックに対して実行予定であった前記セット動作の一部が分割されて、前記セット動作の実行が予定されていなかった他の前記ブロックに対して並行して実行されるように、前記動作実行回路を制御することを特徴とする請求項１または２に記載の半導体記憶装置。
【請求項４】
前記動作実行回路が、前記メモリセルが備える前記可変抵抗素子の電気抵抗を読み出すベリファイ動作を実行するものであるとともに、前記制御回路が、前記動作実行回路による前記ベリファイ動作の実行を制御するものであり、
前記制御回路が、
前記セット動作と並行して前記リセット動作が実行されるように、前記動作実行回路を制御するとき、
前記リセット動作が実行された前記メモリセルに対して前記ベリファイ動作が実行されるように、前記動作実行回路を制御し、
前記ベリファイ動作が実行された前記メモリセルの電気抵抗が所定の条件を満たさない場合は、当該メモリセルに対して前記リセット動作が再度実行されるように、前記動作実行回路を制御することを特徴とする請求項１〜３のいずれか１項に記載の半導体記憶装置。
【請求項５】
電気的ストレスの印加に応じて電気抵抗が変化する可変抵抗素子を備えるとともに当該可変抵抗素子の電気抵抗の変化によってデータを記憶するメモリセルが、行方向及び列方向の少なくとも一方向に複数配列して成るメモリセルアレイを備え、
前記メモリセルアレイを複数に分割して成るブロック毎に、前記メモリセルが備える前記可変抵抗素子を低抵抗化させるセット動作と、前記メモリセルが備える前記可変抵抗素子を高抵抗化させるリセット動作と、を独立して実行する半導体記憶装置の制御方法であって、
少なくとも１つの前記ブロックに対して前記セット動作を実行しようとするとき、
前記セット動作が実行される前記ブロック以外の前記ブロックから、不要なデータを記憶している前記メモリセルから成る不要データ領域を検出し、
前記セット動作と並行して、検出した前記不要データ領域を成すメモリセルの少なくとも１つに対して前記リセット動作を実行することを特徴とする半導体記憶装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、可変抵抗素子の電気抵抗の変化によってデータを記憶する不揮発性の半導体記憶装置と、当該半導体記憶装置の制御方法と、に関する。
【背景技術】
【０００２】
現在、不揮発性の半導体記憶装置としてフラッシュメモリが広く知られており、様々な電子機器に搭載されている。しかし、フラッシュメモリには、データの書込に要する時間が長いこと、書込可能回数が少ないこと、微細化が困難であることなど、様々な問題がある（特許文献１参照）。
【０００３】
そこで、フラッシュメモリにおけるこれらの問題点を解消するべく、電気的ストレス（例えば、電圧パルス）の印加によって可逆的に電気抵抗（例えば、抵抗値）を変化させることでデータを記録する可変抵抗素子をメモリセルに用いた不揮発性の半導体記憶装置（ＲＲＡＭ：Ｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、「ＲＲＡＭ」はシャープ株式会社の登録商標）が提案されている（特許文献２参照）。
【０００４】
可変抵抗素子は、可変抵抗体を２枚の電極で挟持した構造となっており、電極間に電気的ストレスが印加されることによって、可変抵抗体の電気抵抗が可逆的に変化する。具体的には、ある極性の電圧パルスが印加されることで可変抵抗体が低抵抗化するセット動作と、セット動作とは逆の極性の電圧パルスが印加されることで可変抵抗体が高抵抗化するリセット動作と、のそれぞれを実行すること（バイポーラスイッチング）によって、可変抵抗素子の電気抵抗が可逆的に変化する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３８５３８５０号
【特許文献２】特許第４１５７５８２号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、このような可変抵抗素子を用いたメモリセルでは、リセット動作後の電気抵抗が精度良く所望の状態にならず、信頼性が低くなるため、問題となる。この問題について、図１２を参照して具体的に説明する。図１２は、セット動作及びリセット動作を繰り返した場合における可変抵抗素子の抵抗値の変動を示すグラフである。なお、図１２に示すグラフは、ハフニウム酸化物を可変抵抗体として用いた可変抵抗素子の抵抗値の変化を示したものである。また、図１２に示すグラフの横軸は時間であり、縦軸は可変抵抗素子の抵抗値（対数表示）である。
【０００７】
図１２に示すように、セット動作（図中の「セット」）を実行して低抵抗化した場合の可変抵抗素子の抵抗値（図中の●）は、およそ１．０×１０４Ω及び１．０×１０５Ωの中間の値をとり、ばらつきが小さい。そのため、セット動作の信頼性は高いものとなる。一方、リセット動作（図中の「リセット」）を実行して高抵抗化した場合の可変抵抗素子の抵抗値（図中の×）は、１．０×１０５Ωから１．０×１０８Ωまでの広く分布した値をとり、ばらつきが大きい。そのため、リセット動作の信頼性は低いものとなる。
【０００８】
そこで、例えば、セット動作及びリセット動作後に可変抵抗素子の抵抗値を確認し（ベリファイ動作）、不適切な抵抗値の可変抵抗素子については再度セット動作及びリセット動作を実行して抵抗値を是正することで、信頼性を向上させることが考えられる。しかし、この方法では、ベリファイ動作とセット動作またはリセット動作（特に、信頼性が低いリセット動作）とを繰り返し実行することによって多大な時間を要するため、高速動作が困難になる。
【０００９】
また例えば、セット動作及びリセット動作の実行時に印加する電圧パルスの印加時間を長くすることで、信頼性を向上させることが考えられる。しかし、この方法も前述した方法と同様に、セット動作及びリセット動作（特に、信頼性が低いリセット動作）に多大な時間を要するため、高速動作が困難になる。
【００１０】
この点、上述した特許文献２では、対象領域のメモリセルの全体にリセット動作を実行した後、可変抵抗素子を高抵抗化させた当該メモリセルの中から選択的にセット動作を実行することで、メモリセルアレイにデータを書き込む半導体記憶装置が提案されている。確かに、この半導体記憶装置では、セット動作及びリセット動作の切替に要する時間（電圧印加条件の切替に要する時間）を短縮することが可能である。しかし、この半導体記憶装置では、対象領域のメモリセルの全体にリセット動作を実行する必要があり、上述のようにリセット動作には多大な時間を要するため、高速動作は困難である。
【００１１】
そこで、本発明は、高速動作が可能な半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、本発明は、電気的ストレスの印加に応じて電気抵抗が変化する可変抵抗素子を備えるとともに当該可変抵抗素子の電気抵抗の変化によってデータを記憶するメモリセルが、行方向及び列方向の少なくとも一方向に複数配列して成るメモリセルアレイと、前記メモリセルアレイを複数に分割して成るブロック毎に、前記メモリセルが備える前記可変抵抗素子を低抵抗化させるセット動作と、前記メモリセルが備える前記可変抵抗素子を高抵抗化させるリセット動作と、を独立して実行する動作実行回路と、前記動作実行回路による前記セット動作及び前記リセット動作の実行を制御する制御回路と、を備え、前記制御回路が、少なくとも１つの前記ブロックに対して前記セット動作が実行されるように、前記動作実行回路を制御しようとするとき、前記セット動作が実行される前記ブロック以外の前記ブロックから、不要なデータを記憶している前記メモリセルから成る不要データ領域を検出し、前記セット動作と並行して、検出した前記不要データ領域を成すメモリセルの少なくとも１つに対して前記リセット動作が実行されるように、前記動作実行回路を制御することを特徴とする半導体記憶装置を提供する。
【００１３】
この半導体記憶装置では、リセット動作の実行によって予め形成した書込可能領域に対して、セット動作を実行するのみでデータを書き込むため、セット動作及びリセット動作を切り替えながらデータを書き込むよりも、高速でデータを書き込むことが可能になる。そして、この半導体記憶装置では、あるブロックにセット動作を実行する際に、これと並行してセット動作が実行されない他のブロックの不要データ領域に対してリセット動作を実行するため、リセット動作を効率良く実行することが可能になる。
【００１４】
さらに、上記特徴の半導体記憶装置において、前記制御回路が、前記ブロックの所定の領域の前記メモリセルから読み出されるデータ、または、前記メモリセルアレイに記憶させるデータを管理する外部の管理装置から前記制御回路に入力される信号に基づいて、前記不要データ領域を検出すると、好ましい。
【００１５】
特に、上記特徴の半導体記憶装置において、前記ブロックが、所定の数のビットごとに冗長ビットを有するページ構造になっており、前記制御回路が、前記冗長ビットに書き込まれている少なくとも一部のデータに基づいて、前記不要データ領域を検出してもよい。
【００１６】
また特に、上記特徴の半導体記憶装置において、前記管理装置が、ＯＳ（Operating System）を実行するコンピュータ、メモリコントローラ、または、ＣＰＵ（Central Processing Unit）から成ってもよい。
【００１７】
これらの半導体記憶装置によれば、制御回路が、ブロック中の不要データ領域を容易に検出することが可能になる。
【００１８】
さらに、上記特徴の半導体記憶装置において、前記制御回路が、少なくとも１つの前記ブロックに対して前記セット動作が実行されるように、前記動作実行回路を制御しようとするとき、前記セット動作が実行される前記ブロック以外の前記ブロックから、前記不要データ領域が検出されなければ、ある１つの前記ブロックに対して実行予定であった前記セット動作の一部が分割されて、前記セット動作の実行が予定されていなかった他の前記ブロックに対して並行して実行されるように、前記動作実行回路を制御すると、好ましい。
【００１９】
この半導体記憶装置によれば、複数のブロックに対してセット動作を並行して実行するため、セット動作を効率良く実行することが可能になる。
【００２０】
さらに、上記特徴の半導体記憶装置において、前記動作実行回路が、前記メモリセルが備える前記可変抵抗素子の電気抵抗を読み出すベリファイ動作を実行するものであるとともに、前記制御回路が、前記動作実行回路による前記ベリファイ動作の実行を制御するものであり、前記制御回路が、前記セット動作と並行して前記リセット動作が実行されるように、前記動作実行回路を制御するとき、前記リセット動作が実行された前記メモリセルに対して前記ベリファイ動作が実行されるように、前記動作実行回路を制御し、前記ベリファイ動作が実行された前記メモリセルの電気抵抗が所定の条件を満たさない場合は、当該メモリセルに対して前記リセット動作が再度実行されるように、前記動作実行回路を制御すると、好ましい。
【００２１】
この半導体記憶装置によれば、ベリファイ動作を実行するとともに必要に応じてリセット動作を再度実行するため、リセット動作の信頼性を確実に向上させることが可能になる。
【００２２】
さらに、上記特徴の半導体記憶装置において、前記制御回路が、前記セット動作が実行された前記メモリセルについては、前記ベリファイ動作が実行されないように、前記動作実行回路を制御してもよい。
【００２３】
この半導体記憶装置によれば、信頼性が高いセット動作についてはベリファイ動作を不要にすることで、信頼性の低下を抑制しつつセット動作に要する時間を短縮することが可能になる。
【００２４】
さらに、上記特徴の半導体記憶装置において、前記制御回路が、１つの前記ブロック内の複数の前記メモリセルに対して前記リセット動作が実行されるように、前記動作実行回路を制御するとき、当該複数の前記メモリセルに対して一括して前記リセット動作が実行されるように、前記動作実行回路を制御すると、好ましい。
【００２５】
この半導体記憶装置によれば、リセット動作に要する時間を短縮することが可能になる。
【００２６】
さらに、上記特徴の半導体記憶装置において、前記制御回路が、前記不要データ領域を成す前記メモリセルの中で、前記可変抵抗素子が低抵抗化しているものに対して選択的に前記リセット動作が実行されるように、前記動作実行回路を制御すると、好ましい。
【００２７】
この半導体記憶装置によれば、リセット動作に要する時間を短縮することが可能になる。
【００２８】
さらに、上記特徴の半導体記憶装置において、前記メモリセルに対する動作が実行されないとき、前記制御回路が、前記不要データ領域を成す前記メモリセルの少なくとも１つに対して前記リセット動作が実行されるように、前記動作実行回路を制御すると、好ましい。
【００２９】
この半導体記憶装置によれば、メモリセルに対して書込動作も読出動作も実行されない待機状態であるときに、リセット動作を実行して予め書込可能領域を形成することが可能になる。そのため、リセット動作を効率良く実行することが可能になる。
【００３０】
さらに、上記特徴の半導体記憶装置において、前記制御回路が、前記動作実行回路を制御して前記メモリセルが備える前記可変抵抗素子の電気抵抗読み出すとともに当該電気抵抗に応じたデータを外部に出力する読出動作を実行するものであり、前記制御回路が、少なくとも１つの前記ブロックに対して前記読出動作を実行しようとするとき、前記読出動作を実行する前記ブロック以外の前記ブロックから、前記不要データ領域を検出し、前記読出動作と並行して、検出した前記不要データ領域を成すメモリセルの少なくとも１つに対して前記リセット動作が実行されるように、前記動作実行回路を制御すると、好ましい。
【００３１】
この半導体記憶装置によれば、あるブロックに対して読出動作を実行する際に、これと並行して、読出動作が実行されない他のブロックの不要データ領域に対してリセット動作を実行する。これにより、リセット動作を効率良く実行することが可能になる。
【００３２】
さらに、上記特徴の半導体記憶装置において、前記ブロックの１つである第１ブロックに含まれる前記メモリセルが備える前記可変抵抗素子の一端と、前記ブロックの１つである第２ブロックに含まれる前記メモリセルが備える前記可変抵抗素子の他端と、が電気的に接続され、前記第１ブロックの前記メモリセルに対して前記セット動作を実行する際の電気的ストレスを印加すると、前記第２ブロックの前記メモリセルに対して前記リセット動作を実行する際の電気的ストレスが印加されるとともに、前記第１ブロックの前記メモリセルに対して前記リセット動作を実行する際の電気的ストレスを印加すると、前記第２ブロックの前記メモリセルに対して前記セット動作を実行する際の電気的ストレスが印加されると、好ましい。
【００３３】
この半導体記憶装置によれば、メモリセルアレイの回路構成を簡略化するとともに、セット動作及びリセット動作を並行して実行する際における制御回路による動作制御を簡略化することが可能になる。
【００３４】
さらに、上記特徴の半導体記憶装置において、高抵抗化した前記可変抵抗素子を備えた前記メモリセルから成る書込可能領域を有する前記ブロックが存在しない場合、前記制御回路が、前記不要データ領域の前記メモリセルが備える前記可変抵抗素子の電気抵抗に応じて前記動作実行回路を制御することで、当該不要データ領域を成す前記メモリセルに対して前記セット動作及び前記リセット動作を実行してもよい。
【００３５】
この半導体記憶装置によれば、全てのブロックに書込可能領域が無く、セット動作によるデータの書込が不可能である場合でも、不要データ領域に対してセット動作及びリセット動作を適宜実行することで、データの書込を行うことが可能となる。
【００３６】
さらに、上記特徴の半導体記憶装置において、前記制御回路が、前記動作実行回路を制御することで前記不要データ領域の前記メモリセルが備える前記可変抵抗素子の電気抵抗を読み出し、その読出結果に基づいて前記動作実行回路を制御することで、当該不要データ領域を成す前記メモリセルに対して前記セット動作及び前記リセット動作を実行すると、好ましい。
【００３７】
この半導体記憶装置によれば、無用なセット動作及びリセット動作の実行を防止することが可能となる。
【００３８】
一方、上記特徴の半導体記憶装置において、高抵抗化した前記可変抵抗素子を備えた前記メモリセルから成る書込可能領域を有する前記ブロックが存在しない場合、前記制御回路が、前記動作実行回路を制御して、前記不要データ領域を成す前記メモリセルに対して前記リセット動作を実行してもよい。
【００３９】
この半導体記憶装置によれば、全てのブロックに書込可能領域が無く、セット動作によるデータの書込が不可能である場合に、不要データ領域に対してリセット動作を実行することで書込可能領域を確保することができるため、セット動作によるデータの書込が可能となる。
【００４０】
また、本発明は、電気的ストレスの印加に応じて電気抵抗が変化する可変抵抗素子を備えるとともに当該可変抵抗素子の電気抵抗の変化によってデータを記憶するメモリセルが、行方向及び列方向の少なくとも一方向に複数配列して成るメモリセルアレイを備え、前記メモリセルアレイを複数に分割して成るブロック毎に、前記メモリセルが備える前記可変抵抗素子を低抵抗化させるセット動作と、前記メモリセルが備える前記可変抵抗素子を高抵抗化させるリセット動作と、を独立して実行する半導体記憶装置の制御方法であって、少なくとも１つの前記ブロックに対して前記セット動作を実行しようとするとき、前記セット動作が実行される前記ブロック以外の前記ブロックから、不要なデータを記憶している前記メモリセルから成る不要データ領域を検出し、前記セット動作と並行して、検出した前記不要データ領域を成すメモリセルの少なくとも１つに対して前記リセット動作を実行することを特徴とする半導体記憶装置の制御方法を提供する。
【発明の効果】
【００４１】
上記特徴の半導体記憶装置によれば、セット動作と並行してリセット動作を実行することで、信頼性の向上のために時間を要するリセット動作を効率良く実行することができるため、高速動作が可能になる。
【図面の簡単な説明】
【００４２】
【図１】本発明の実施形態にかかる半導体記憶装置の構成の一例について示したブロック図。
【図２】メモリセルアレイの構成の一例について示した回路図。
【図３】メモリセルアレイを複数のブロックに分割した構成の一例について示したブロック図。
【図４】半導体記憶装置の書込動作の一例について示したフローチャート。
【図５】セット動作とリセット動作との並行実行の一例について示したタイミングチャート。
【図６】リマップを実行した場合の書込動作について説明する図。
【図７】メモリセルアレイの構成の第１の別例について示した回路図。
【図８】メモリセルアレイの構成の第２の別例について示した回路図。
【図９】メモリセルアレイの構成の第３の別例について示した回路図。
【図１０】図９に示すメモリセルアレイを備える半導体記憶装置のチップのレイアウト例について示したブロック図。
【図１１】半導体記憶装置の読出動作の一例について示したフローチャート。
【図１２】セット動作及びリセット動作を繰り返した場合における可変抵抗素子の抵抗値の変動を示すグラフ。
【発明を実施するための形態】
【００４３】
＜半導体記憶装置の構成＞
本発明の実施形態にかかる半導体記憶装置の構成の一例について、図面を参照して説明する。図１は、本発明の実施形態にかかる半導体記憶装置の構成の一例について示したブロック図である。図２は、メモリセルアレイの構成の一例について示した回路図である。
【００４４】
図１に示すように、本発明の実施形態にかかる半導体記憶装置１は、メモリセルアレイ２０と、制御回路２１と、電圧発生回路２２と、ワード線デコーダ２３と、ビット線デコーダ２４と、ソース線デコーダ２５と、を備える。
【００４５】
また、図２に示すように、メモリセルアレイ２０は、可変抵抗素子Ｒと選択トランジスタＳＴを直列に接続した、１対の入出力端子対を有するメモリセルＣを、行及び列方向に複数配列してなる。各メモリセルＣの入出力端子対の可変抵抗素子Ｒ側の端部は、列方向（図２の横方向）に延伸する複数のビット線ＢＬ１〜ＢＬｎに接続され（ｎは２以上の自然数）、各メモリセルＣの入出力端子対の選択トランジスタＳＴ側の端部が、同じく列方向に延伸するソース線ＳＬ１〜ＳＬｎに接続されている。一方、各メモリセルＣの選択トランジスタＳＴの制御端子が、行方向（図２の縦方向）に延伸する１または複数のワード線ＷＬ１〜ＷＬｍに接続されている（ｍは２以上の自然数）。
【００４６】
可変抵抗素子Ｒは、例えば、可変抵抗体を２枚の電極で挟持した構造であり、電極間に電圧パルス等の電気的ストレスを印加することによって、電気抵抗（例えば、抵抗値）が可逆的に変化する。例えば、ある極性の電圧パルスが印加されることで可変抵抗体が高抵抗化するセット動作と、セット動作とは逆の極性の電圧パルスが印加されることで可変抵抗体が低抵抗化するリセット動作と、のそれぞれを実行すること（バイポーラスイッチング）によって、可変抵抗素子Ｒの電気抵抗を可逆的に変化させることが可能である。
【００４７】
可変抵抗体の材料として、例えば、アルミニウム（Ａｌ）、ハフニウム（Ｈｆ）、ニッケル（Ｎｉ）、コバルト（Ｃｏ）、タンタル（Ｔａ）、ジルコニウム（Ｚｒ）、タングステン（Ｗ）、チタン（Ｔｉ）、銅（Ｃｕ）、バナジウム（Ｖ）、亜鉛（Ｚｎ）、ニオブ（Ｎｂ）、鉄（Ｆｅ）の中から選択される元素の酸化物や酸窒化物、チタン酸ストロンチウム（ＳｒＴｉＯｘ）等が挙げられるが、必ずしもこれらの材料に限定されるものではない。また、可変抵抗素子Ｒは、電気的ストレスの印加によって電気抵抗を変化させることができる素子であれば、どのような構造であってもよいし、どのような材料から成るものであってもよい。
【００４８】
金属酸化物または金属酸窒化物を可変抵抗体として用いて可変抵抗素子Ｒを構成する場合、製造直後の可変抵抗素子に対して、セット動作及びリセット動作に用いる電圧パルスよりも電圧振幅が大きく、かつパルス幅が長い電圧パルスを可変抵抗素子に印加することで、通電時における可変抵抗体内の電流密度が局所的に高くなるフィラメントパスを形成する（フォーミング）。また、可変抵抗体を挟持する一方の電極を仕事関数の大きな導電性材料で構成することで、当該電極と可変抵抗体とをショットキー接合させ、他方の電極を仕事関数の小さな導電性材料で構成することで、当該電極と可変抵抗体とをオーミック接合させると、可変抵抗素子Ｒの電気抵抗を安定してバイポーラスイッチングさせることができるため、好ましい。例えば、仕事関数の大きい一方の電極をＰｔ、ＴｉＮ、Ｒｕ、ＲｕＯ２、ＩＴＯ（Indium Tin Oxide）等の導電性材料で構成し、仕事関数の小さい他方の電極をＴｉ、Ｔａ、Ｈｆ、Ｚｒ等の導電性材料で構成すると、好ましい。
【００４９】
可変抵抗素子Ｒの具体的な構成例として、可変抵抗体であるハフニウム酸化物（ＨｆＯｘ）を、Ｔａ電極とＴｉＮ電極とで挟持した構成が挙げられる。この構成では、ＴｉＮ電極側の仕事関数差が、Ｔａ電極側の仕事関数差よりも大きくなる。そのため、ＴｉＮ電極側を基準としてＴａ電極側が負となる極性の電圧を印加することで、可変抵抗素子Ｒを高抵抗化することができる（リセット動作）。一方、ＴｉＮ電極側を基準としてＴａ電極側が正となる極性の電圧を印加することで、可変抵抗素子Ｒを低抵抗化することができる（セット動作）。
【００５０】
メモリセルＣに対してセット動作またはリセット動作を実行する場合、当該メモリセルＣに接続するワード線に所定の電圧を印加して選択トランジスタＳＴを導通状態にするとともに、当該メモリセルＣに接続するビット線及びソース線のそれぞれに所定の電圧を印加する。これにより、メモリセルＣの両端に、セット動作またはリセット動作に必要な上記の極性の電圧が印加される。
【００５１】
一方、メモリセルＣが備える可変抵抗素子Ｒの電気抵抗を読み出す場合、当該メモリセルＣに接続するワード線に所定の電圧を印加して選択トランジスタＳＴを導通状態にするとともに、当該メモリセルＣに接続するビット線及びワード線のそれぞれに所定の電圧を印加する。これにより、メモリセルＣの両端に、可変抵抗素子Ｒの電気抵抗の読み出しに必要な電圧が印加される。このとき、当該メモリセルＣに接続するビット線を流れる電流は、可変抵抗素子Ｒの電気抵抗に応じた大きさとなっているため、制御回路２１が当該電流の大きさを検出することによって、メモリセルＣの電気抵抗を読み出すことができる。なお、可変抵抗素子Ｒの電気抵抗を読み出す動作には、セット動作後またはリセット動作後に可変抵抗素子Ｒの電気抵抗を読み出して確認するためのベリファイ動作と、半導体記憶装置１が記憶しているデータを読み出して外部に出力するための読出動作と、がある。
【００５２】
制御回路２１は、フォーミング、セット動作、リセット動作、ベリファイ動作、読出動作などの各種動作の実行を制御する。具体的に例えば、制御回路２１は、実行すべき動作の内容を示す制御信号と、動作を実行するべきメモリセルのアドレスを示すアドレス信号と、に基づいて、電圧発生回路２２と、ワード線デコーダ２３と、ビット線デコーダ２４と、ソース線デコーダ２５と、の各回路（動作実行回路）の動作を制御することによって、上述した各種動作を実行させる。なお、メモリセルに書き込むべきデータは、入力データ信号として制御回路２１に入力される。また、読出動作によってメモリセルから読み出されたデータは、出力データ信号として制御回路２１から出力される。また、図１では特に図示していないが、制御回路２１は、信号やデータの処理に必要なバッファやレジスタなどの各種回路を、適宜備えるものとする。
【００５３】
上述した制御信号、アドレス信号及び入力データ信号のそれぞれは、ＯＳ（Operating System）を実行するコンピュータ、メモリコントローラ、または、ＣＰＵ（Central Processing Unit）等から成る管理装置１００から制御回路２１に対して入力される。一方、上述した出力データ信号は、制御回路２１から管理装置１００に対して入力される。
【００５４】
電圧発生回路２２は、上述した各種動作を実行する際に必要となる電圧を生成し、ワード線デコーダ２３、ビット線デコーダ２４及びソース線デコーダ２５のそれぞれに供給する。ワード線デコーダ２３は、制御回路２１による制御に従い、電圧発生回路２２から供給される電圧をワード線に対して印加する。また、ビット線デコーダ２４は、制御回路２１による制御に従い、電圧発生回路２２から供給される電圧をビット線に対して印加する。また、ソース線デコーダ２５は、制御回路２１による制御に従い、電圧発生回路２２から供給される電圧をソース線に対して印加する。
【００５５】
ところで、本発明の実施形態にかかる半導体記憶装置１では、上述したメモリセルアレイ２０が複数のブロックに分割されているとともに、上述した各種動作がブロック毎に独立して実行される構成となっている。この構成について、図面を参照して説明する。図３は、メモリセルアレイを複数のブロックに分割した構成の一例について示したブロック図である。
【００５６】
図３に示すように、メモリセルアレイ２０は、複数（図３の例では４つ）のブロックＢ１〜Ｂ４に分割されている。そして、ブロックＢ１〜Ｂ４のそれぞれに対して、デコーダＤ１〜Ｄ４が設けられている。なお、この図３に示すデコーダＤ１〜Ｄ４のそれぞれは、図１に示したワード線デコーダ２３、ビット線デコーダ２４及びソース線デコーダ２５をまとめて示したものである。
【００５７】
図３に示す構造の半導体記憶装置１は、ブロックＢ１〜Ｂ４毎に、セット動作とリセット動作とを独立して実行することが可能である。つまり、この半導体記憶装置１は、あるブロックでセット動作またはリセット動作を実行するとき、これとは独立して、他のブロックでセット動作またはリセット動作を実行すること可能である。例えば、半導体記憶装置１は、あるブロックでセット動作を実行する場合に、これと並行して他のブロックでリセット動作を実行することが可能である。また例えば、半導体記憶装置１は、複数のブロックでセット動作（またはリセット動作）を並行して実行することが可能である。
【００５８】
また、図３では、ブロックＢ１のアドレスをＡＣ１、ＡＣ１＋１、ＡＣ１＋２、・・・、ブロックＢ２のアドレスをＡＣ２、ＡＣ２＋１、ＡＣ２＋２、・・・、ブロックＢ３のアドレスをＡＣ３、ＡＣ３＋１、ＡＣ３＋２、・・・、ブロックＢ４のアドレスをＡＣ４、ＡＣ４＋１、ＡＣ４＋２、・・・、としている。また、図３では、制御回路２１がデコーダＤ１〜Ｄ４に入力する信号について、動作内容を示す信号ＲＷ、動作を行うべきデータ中のビットの位置を示す信号ＷＥ、動作対象となるデータのアドレスを示す信号ＡＤ、メモリセルに書き込むべきデータを示す信号ＤＷとして示している。さらに、図３では、デコーダＤ１〜Ｄ４（特に、ビット線デコーダ２４）が制御回路２１に入力する信号を、メモリセルから読み出したデータを示す信号ＤＲとして示している。
【００５９】
＜半導体記憶装置の動作＞
次に、上述した半導体記憶装置１の動作（特に、メモリセルアレイ２０にデータを書き込む書込動作）について、図面を参照して説明する。図４は、半導体記憶装置の書込動作の一例について示したフローチャートである。
【００６０】
本例の書込動作は、リセット動作の実行によって、可変抵抗素子を高抵抗化させたメモリセルから成る書込可能領域を予め形成しておき、当該書込可能領域に対して選択的にセット動作を実行することによって、データを書き込むものである。この書込動作では、セット動作を実行するのみでデータを書き込むことができるため、セット動作及びリセット動作を切り替えながらデータを書き込むよりも、高速でデータを書き込むことが可能になる。
【００６１】
また、本例の書込動作は、管理装置１００が、制御信号、アドレス信号及び入力データ信号を、制御回路２１に入力することで実行される。管理装置１００は、データの論理アドレスと物理アドレスとの関係や当該データの要否などを示す管理テーブルを、ＳＲＡＭ（Static Random Access Memory）等に記憶させており、当該管理テーブルを用いて制御回路２１に入力する信号を生成する。
【００６２】
管理装置１００は、例えば起動時に、制御回路２１を介してメモリセルアレイ２０内の所定の領域のメモリセルに記憶されたデータ（管理コード）を取得して、管理テーブルを作成する。このとき、例えばブロックは、所定数のビットごとに冗長ビットが付属するページ構造となっており、この冗長ビットの中に、当該所定数のビットのデータの状態（例えば、当該データの要否）等を示す管理コードが書き込まれている。
【００６３】
また、管理装置１００は、メモリセルアレイ２０に記憶させたデータが不要になる（不要データ領域が発生する）と、その旨をＳＲＡＭ等に記憶させている管理テーブルに反映する。さらに、管理装置１００は、不要データ領域が生じたことを、制御信号等を介して制御回路２１に伝える。そして、制御回路２１は、当該不要データ領域に対応する管理コードを更新する。
【００６４】
図４に示すように、最初に、メモリセルアレイ２０に書き込むべきデータが発生すると、管理装置１００は、上述した管理テーブルを用いて、当該データの論理アドレスを物理アドレスに変換する（ステップ＃１）。これにより、データを書き込むべきブロック（即ち、セット動作を実行すべきブロック）及び領域が設定される。
【００６５】
次に、制御回路２１は、ステップ＃１で設定されたセット動作を実行するブロック以外のブロックから、不要なデータを記憶しているメモリセルから成る不要データ領域を検出する（ステップ＃２）。
【００６６】
このとき、制御回路２１は、メモリセルから管理コードを読み出すことによって、不要データ領域を検出することが可能である。また、制御回路２１は、管理テーブルによって不要データ領域を把握している管理装置１００から、制御信号等を介して不要データ領域を通知されることによって、不要データ領域を検出することが可能である。なお、制御回路２１は、これらのいずれかの方法で不要データ領域を検出してもよいし、これ以外の方法で不要データ領域を検出してもよい。
【００６７】
制御回路２１が、セット動作を実行するブロック以外のブロックから不要データ領域を検出した場合（ステップ＃３、ＹＥＳ）、当該不要データ領域を成すメモリセルの中からリセット動作を行うべきメモリセルを選択する（ステップ＃４）。
【００６８】
このステップ＃４で選択されたメモリセルに対して、後述するステップ＃６でリセット動作が実行されることによって、書込可能領域が形成される。そのため、このステップ＃４において、制御回路２１が、不要データ領域中において、既に可変抵抗素子が高抵抗化しているメモリセルを選択せず、可変抵抗素子が低抵抗化しているメモリセルを選択すると、無用なリセット動作の実行を防止して、リセット動作に要する時間を短縮することができるため、好ましい。
【００６９】
また、不要データ領域が大きい場合、一度に多数のメモリセルに対してリセット動作を実行すると、リセット動作を効率良く実行する効果が減殺される。そのため、ステップ＃４において、例えば書き込むべきデータの大きさやセット動作を実行すべきメモリセルの数に対応した数のメモリセルを選択すると、好ましい。
【００７０】
次に、制御回路２１は、ステップ＃１で設定されたデータを書き込む領域（後述するステップ＃６のセット動作によってデータが書き込まれる領域）に対応する管理コードが、書き込むデータに対応するものとなるように更新する。また、制御回路２１は、ステップ＃４で選択したメモリセルを含む領域（後述するステップ＃６のリセット動作によって形成される書込可能領域）に対応する管理コードが、書込可能領域を示すものとなるように更新する。また、管理装置１００は、更新した管理コードに対応するように、ＳＲＡＭ等に記憶させている管理テーブルを更新する（ステップ＃５）。
【００７１】
次に、制御回路２１は、ステップ＃１で設定されたブロック内のメモリセルに対してセット動作を実行することで書込動作を実行する。さらに、制御回路２１は、このセット動作と並行して、ステップ＃４で選択したセット動作を実行しないブロック内における不要データ領域内のメモリセルに対して、リセット動作を実行する（ステップ＃６）。
【００７２】
このステップ＃６におけるセット動作とリセット動作との並行実行について、図面を参照して説明する。図５は、セット動作とリセット動作との並行実行の一例について示したタイミングチャートである。
【００７３】
図５に例示するタイミングチャートは、ブロックＢ１のアドレスＡＣ１〜ＡＣ１＋Ｘのメモリセルに対するセット動作の実行と並行して、ブロックＢ２のアドレスＡＣ２〜ＡＣ２＋Ｙのメモリセルに対してリセット動作を実行する場合のものである（Ｘ及びＹは自然数）。なお、このセット動作及びリセット動作は、クロックＴ１〜ＴＸ＋１の立ち上がりに同期して実行される。
【００７４】
具体的に、図５に例示するセット動作は、複数のメモリセルに対して逐次実行するものである。一方、図５に例示するリセット動作は、複数のメモリセルに対して一括して実行するものである。なお、セット動作及びリセット動作は、図５に例示するものには限られない。例えば、セット動作を複数のメモリセルに対して一括して実行してもよいし、リセット動作を複数のメモリセルに対して逐次実行してもよい。ただし、リセット動作を複数のメモリセルに対して一括して実行すると、リセット動作に要する時間を短縮することができるため、好ましい。
【００７５】
以上のように、あるブロックにセット動作を実行する際に、これと並行して、セット動作が実行されない他のブロックの不要データ領域に対してリセット動作を実行すると、リセット動作を効率良く実行することができるため、高速動作が可能になる。
【００７６】
なお、図５では、セット動作及びリセット動作の実行についてのみ示しているが、これらの動作の実行後に、変化した電気抵抗を確認するべく、上述したベリファイ動作を実行すると、好ましい。このとき、一括してセット動作またはリセット動作を実行する場合は、セット動作またはリセット動作の終了後にまとめてベリファイ動作を実行すればよい。また、セット動作またはリセット動作を逐次実行する場合は、１つのメモリセルに対してセット動作またはリセット動作を実行した後にベリファイ動作を実行してもよいし、全てのメモリセルに対してこれらの動作を実行した後にまとめてベリファイ動作を実行してもよい。
【００７７】
ベリファイ動作の実行後、電気抵抗が所定の条件を満たさない場合（具体的に例えば、セット動作後にもかかわらず抵抗値が所定の値よりも大きい場合や、リセット動作後にもかかわらず抵抗値が所定の値よりも小さい場合）は、再度セット動作またはリセット動作を実行すると、好ましい。またこの場合、セット動作またはリセット動作が実行された後に、再度ベリファイ動作を実行してもよいし、必要に応じてさらにセット動作またはリセット動作を実行してもよい。
【００７８】
このように、ベリファイ動作を実行するとともに必要に応じてセット動作及びリセット動作を再度実行すると、セット動作及びリセット動作の信頼性（特に、リセット動作の信頼性）を確実に向上させることが可能になる。
【００７９】
一方、制御回路２１が、セット動作を実行するブロック以外のブロックから不要データ領域を検出しない場合は（ステップ＃３、ＮＯ）、管理装置１００がリマップを行う（ステップ＃７）。リマップとは、管理装置１００が、ステップ＃１で設定したデータを書き込むべきブロック及び領域を、設定し直すことである。具体的に、管理装置１００は、あるブロックに対して実行予定であった書込動作の一部が分割されて、書込動作の実行が予定されていなかった他のブロックに並行して実行されるように、データを書き込むブロック及び領域を設定し直す。
【００８０】
次に、制御回路２１は、ステップ＃７で設定されたデータを書き込む領域（ステップ＃６のセット動作によってデータが書き込まれる領域）に対応する管理コードを更新する。また、管理装置１００は、更新した管理コードに対応するように、ＳＲＡＭ等に記憶させている管理テーブルを更新する（ステップ＃８）。
【００８１】
そして、制御回路２１は、ステップ＃７で設定された領域にデータを書き込むべく、当該領域のメモリセルに対してセット動作を実行する（ステップ＃９）。
【００８２】
上記のステップ＃７〜ステップ＃９における、リマップを実行した場合の書込動作について、図面を参照して説明する。図６は、リマップを実行した場合の書込動作について説明する図である。なお、図６（ａ）は、管理装置１００がリマップを実行しない場合にブロックＢ１，Ｂ２に書き込まれるデータを示した図であり、図６（ｂ）は、管理装置１００がリマップを実行した場合にブロックＢ１，Ｂ２に書き込まれるデータを示した図である。
【００８３】
図６（ａ）に示すように、管理装置１００がリマップを実行しない場合、データＤＡ１及びデータＤＡ２が、ともにブロックＢ１に書き込まれ、ブロックＢ２にはデータが書き込まれない。図６（ａ）に示す場合では、ブロックＢ１に対してデータＤＡ１及びデータＤＡ２をパイプライン処理によって順番に書き込む時間が、書込動作に要する時間となる。
【００８４】
これに対して、図６（ｂ）に示すように、管理装置１００がリマップを実行した場合、データＤＡ１はそのままブロックＢ１に書き込まれるが、データＤＡ２は図６（ａ）においてデータが書き込まれないブロックＢ２に書き込まれる。ただし、図６（ａ）及び図６（ｂ）では、データＤＡ２に関して論理アドレスと物理アドレスとの対応関係が異なるため、データＤＡ２に対応する管理コードＣＯ２，ＣＯ２１が異なっている。
【００８５】
図６（ｂ）に示す場合では、ブロックＢ１に対するデータＤＡ１の書込とブロックＢ２に対するデータＤＡ２１の書込とが並行して行われるため、これらの書込のうち時間の長い方が、書込動作に要する時間となる。したがって、図６（ａ）に示す場合よりも、書込動作に要する時間を短縮することが可能になる。このように、リマップを実行して、複数のブロックに対してセット動作を並行して実行すると、セット動作を効率良く実行することが可能になる。
【００８６】
＜変形等＞
［１］  メモリセルアレイ２０の構成は、図２に例示する限りではない。以下、メモリセルアレイの構成の第１の別例について、図７を参照して説明する。図７は、メモリセルアレイの構成の第１の別例について示した回路図である。
【００８７】
図７に示すように、本例のメモリセルアレイ２０Ａでは、ブロックＢ１とブロックＢ２におけるビット線ＢＬ１〜ＢＬｎが共通化されている。さらに、ブロックＢ１におけるメモリセルＣ１が備える可変抵抗素子Ｒ１と、ブロックＢ２におけるメモリセルＣ２が備える可変抵抗素子Ｒ２と、はビット線ＢＬ１〜ＢＬｎに接続する電極が逆になっている。また、これ以外の構成については、図２に示したメモリセルアレイ２０と同様である。
【００８８】
本例のメモリセルアレイ２０Ａでは、ブロックＢ１のメモリセルＣ１が備える可変抵抗素子Ｒ１と、ブロックＢ２のメモリセルＣ２が備える可変抵抗素子Ｒ２と、がビット線ＢＬ１〜ＢＬｎ及びソース線ＳＬ１１〜ＳＬ１ｎ，ＳＬ２１〜ＳＬ２ｎに対して接続する向きが逆になる。そのため、ブロックＢ１のメモリセルＣ１に対してセット動作が実行される極性の電圧パルスを印加すると、ブロックＢ２のメモリセルＣ２にはリセット動作が実行される極性の電圧パルスが印加される。また、ブロックＢ１のメモリセルＣ１に対してリセット動作が実行される極性の電圧パルスを印加すると、ブロックＢ２のメモリセルＣ２にはセット動作が実行される極性の電圧パルスが印加される。
【００８９】
このように構成すると、メモリセルアレイ２０Ａの回路構成を簡略化するとともに、セット動作及びリセット動作を並行して実行する際における制御回路２１による動作制御を簡略化することが可能になる。
【００９０】
なお、セット動作とリセット動作とでメモリセルＣ１，Ｃ２に印加する電圧振幅が異なる場合は、ソース線ＳＬ１１〜ＳＬ１ｎ，ＳＬ２１〜ＳＬ２ｎの電位をセット動作とリセット動作とで異ならせればよい。
【００９１】
また、図７では、２つのブロックＢ１，Ｂ２のビット線ＢＬ１〜ＢＬｎが共通化された構成について例示しているが、３つ以上のブロックのビット線ＢＬ１〜ＢＬｎが共通化された構成としてもよい。また、１つのメモリセルアレイについて、ビット線ＢＬ１〜ＢＬｎが共通化されたブロックの組を、いくつ設けてもよい。
【００９２】
［２］  次に、メモリセルアレイの構成の第２の別例について、図８を参照して説明する。図８は、メモリセルアレイの構成の第２の別例について示した回路図である。
【００９３】
図８に示すように、本例のメモリセルアレイ２０Ｂでは、ブロックＢ１とブロックＢ２におけるワード線ＷＬ１〜ＷＬｎが共通化されている。なお、これ以外の構成については、図２に示したメモリセルアレイ２０と同様である。
【００９４】
本例のメモリセルアレイ２０Ｂでは、例えば、ブロックＢ１中のメモリセルに対してセット動作を実行するために、当該メモリセルに接続されたワード線に所定の電圧を印加して選択トランジスタを導通状態にすると、ブロックＢ２内で当該ワード線に接続されたメモリセルの選択トランジスタも導通状態になる。そのため、ブロックＢ２において、当該ワード線に接続されたメモリセルの中でリセット動作を実行すべきメモリセルがあれば、当該メモリセルに接続されるソース線及びビット線に所定の電圧を印加することで、当該メモリセルに対してリセット動作を実行することができる。また、これとは反対に、ブロックＢ２内のメモリセルに対してセット動作を実行する際に、ブロックＢ１内のメモリセルに対してリセット動作を実行することも可能である。
【００９５】
このように構成すると、メモリセルアレイ２０Ｂの回路構成を簡略化するとともに、セット動作及びリセット動作を並行して実行する際における制御回路２１による動作制御を簡略化することが可能になる。
【００９６】
なお、図８では、２つのブロックＢ１，Ｂ２のワード線ＷＬ１〜ＷＬｎが共通化された回路構成について例示しているが、３つ以上のブロックのワード線ＷＬ１〜ＷＬｎが共通化された回路構成としてもよい。また、１つのメモリセルアレイについて、ワード線ＷＬ１〜ＷＬｎが共通化されたブロックの組を、いくつ設けてもよい。
【００９７】
［３］  次に、メモリセルアレイの構成の第３の別例について、図９及び図１０を参照して説明する。図９は、メモリセルアレイの構成の第３の別例について示した回路図である。図１０は、図９に示すメモリセルアレイを備える半導体記憶装置のチップのレイアウト例について示したブロック図である。
【００９８】
図９に示すように、本例のメモリセルアレイ２０Ｃでは、１つのブロック内の複数のメモリセルＣ（ｎ×ｍ個）に接続されるソース線が、電気的に接続されて１つのソースプレートＳＬＰを成している。なお、ソースプレートＳＬＰの大きさは、セット動作またはリセット動作でソースプレートＳＬＰをプリチャージする際に要する時間や電流等に基づいて、動作に支障がない範囲内で決定すると、好ましい。また、他の構成については、図２に示したメモリセルアレイ２０と同様である。
【００９９】
また、図１０に示すように、ブロックＢ１〜Ｂ４のそれぞれには、ソースプレートＳＬＰ１〜ＳＬＰｋが設けられている（ｋは２以上の自然数）。また、各ブロックＢ１〜Ｂ４に対して、ワード線デコーダ２３１〜２３４、ビット線デコーダ２４１〜２４４、ソースプレートデコーダ２５Ｐ１〜２５Ｐ４が、それぞれ独立して設けられている。
【０１００】
このように構成すると、メモリセルアレイ２０Ｃの回路構成を簡略化するとともに、セット動作及びリセット動作を並行して実行する際における制御回路２１による動作制御を簡略化することが可能になる。また、このようにソースプレートＳＬＰを設けることで回路を共有化すると、個々のメモリセルの制御の自由度は低下するが、ソースプレートデコーダ２５Ｐ１〜２５Ｐ４や制御回路２１の回路規模を縮小することが可能になる。また、ワード線デコーダ２３１〜２３４、ビット線デコーダ２４１〜２４４、ソースプレートデコーダ２５Ｐ１〜２５Ｐ４を、ブロックＢ１〜Ｂ４毎に独立して設けることで、異なる動作を並行して実行する際（例えば、上述したセット動作及びリセット動作を並行して実行する際や、後述する読出動作及びリセット動作を並行して実行する際）に発生するノイズを、低減することができる。
【０１０１】
なお、図１０に示すレイアウト例では、半導体記憶装置１Ｃが４つのブロックＢ１〜Ｂ４を備える場合について例示しているが、半導体記憶装置が５つ以上のブロックを備えていてもよい。さらにこの場合、図１０に示した構成を、一方向に複数整列させた構成としてもよいし、直交する二方向に複数整列させた構成としてもよい。
【０１０２】
［４］  図２、図７及び図８では、ソース線とビット線とが平行に設けられた回路構成について例示したが、ソース線とビット線とが垂直（ソース線とワード線とが平行）に設けられた回路構成であってもよい。
【０１０３】
また、図２、図７〜図９では、ソース線またはソースプレートが選択トランジスタ側の端部に接続され、ビット線が可変抵抗素子側の端部に接続される回路構成について例示したが、ソース線またはソースプレートが可変抵抗素子側の端部に接続され、ビット線が選択トランジスタ側の端部に接続される回路構成であってもよい。
【０１０４】
また、これらの回路構成に限られず、行方向及び列方向の少なくとも一方向に複数配列して成るメモリセルに対して、ソース線またはソースプレートとビット線とワード線とのそれぞれが接続される回路構成である限り、どのような回路構成であってもよい。
【０１０５】
［５］  上述の実施形態では、書込動作の実行時において、セット動作と並行してリセット動作を実行する動作について説明したが（図４参照）、読出動作と並行してリセット動作を実行することも可能である。この読出動作の一例について、図１１を参照して説明する。図１１は、半導体記憶装置の読出動作の一例について示したフローチャートである。
【０１０６】
図１１に示すように、最初に、メモリセルアレイ２０から読み出すべきデータが発生すると、管理装置１００は、上述した管理テーブルを用いて、当該データの論理アドレスを物理アドレスに変換する（ステップ＃１１）。これにより、データを読み出すべきブロック（即ち、読出動作を実行すべきブロック）及び領域が設定される。なお、例えば複数のブロックに対してデータを並行して書き込んでいる場合（図６（ｂ）参照）などでは、読み出すべきデータが複数のブロックにわたることもあり得る。
【０１０７】
次に、制御回路２１は、ステップ＃１１で設定された読出動作を実行するブロック以外のブロックから、不要データ領域を検出する（ステップ＃１２）。なお、当該動作は、上述した書込動作における不要データ領域の検出（図４のステップ＃２）と同様である。
【０１０８】
制御回路２１が、読出動作を実行するブロック以外のブロックから不要データ領域を検出した場合（ステップ＃１３、ＹＥＳ）、当該不要データ領域を成すメモリセルの中からリセット動作を行うべきメモリセルを選択する（ステップ＃１４）。なお、当該動作は、上述した書込動作における不要データ領域内のメモリセルの選択（図４のステップ＃４）と同様である。
【０１０９】
次に、制御回路２１は、ステップ＃１４で選択したメモリセルを含む領域（後述するステップ＃１６のリセット動作によって形成される書込可能領域）に対応する管理コードが、書込可能領域を示すものとなるように更新する。また、管理装置１００は、更新した管理コードに対応するように、ＳＲＡＭ等に記憶させている管理テーブルを更新する（ステップ＃１５）。
【０１１０】
次に、制御回路２１は、ステップ＃１１で設定されたブロック内のメモリセルに対して読出動作を実行する。さらに、制御回路２１は、この読出動作と並行して、ステップ＃１４で決定したセット動作を実行しないブロック内のメモリセルに対してリセット動作を実行する（ステップ＃１６）。なお、リセット動作に関しては、上述した書込動作におけるリセット動作（図４のステップ＃６）と同様である。
【０１１１】
このように、あるブロックに対して読出動作を実行する際に、これと並行して、読出動作が実行されない他のブロックの不要データ領域に対してリセット動作を実行しても、リセット動作を効率良く実行することが可能である。
【０１１２】
一方、制御回路２１が、読出動作を実行するブロック以外のブロックから不要データ領域を検出しない場合は（ステップ＃１３、ＮＯ）、ステップ＃１１で設定された領域からデータを読み出すべく、当該領域のメモリセルに対して読出動作を実行する（ステップ＃１７）。
【０１１３】
［６］  メモリセルアレイ２０に対して書込動作も読出動作も実行されない待機状態であるときに、リセット動作を実行して書込可能領域を形成してもよい。このように、待機状態であるときにリセット動作を実行して予め書込可能領域を形成しておくことでも、リセット動作を効率良く実行することが可能である。
【０１１４】
［７］  ベリファイ動作を、セット動作及びリセット動作の双方の実行後に行うとしたが、セット動作の実行後には行わず、リセット動作の実行後にのみ行なってもよい。この場合、信頼性が高いセット動作についてはベリファイ動作を不要とすることで、信頼性の低下を抑制しつつセット動作に要する時間を短縮することが可能になる。さらに、この場合、セット動作によって書き込まれたデータの誤りについては、データの読出時にＥＣＣ（Error Checking and Correcting）を実行することで補正してもよい。
【０１１５】
［８］  管理装置１００が、管理コードを取得して管理テーブルを作成し、ＳＲＡＭ等に記憶させるものとしたが、管理装置１００が不揮発性メモリを備えて当該不揮発性メモリに管理テーブルを記憶させる場合は、管理コードを取得しなくてもよい。さらにこの場合、管理装置１００が、制御回路２１に対して不要データ領域を通知するのであれば、メモリセルに管理コードを記憶させないようにしてもよい。
【０１１６】
［９］  図４及び図１１では、管理コードの更新（図４のステップ＃５及び＃８、図１１のステップ＃１５）と、その後のセット動作及びリセット動作（図４のステップ＃６及び＃９、図１１のステップ＃１６）と、を別々に実行するように例示しているが、これらを同時に実行することも可能である。このように、管理コードの更新とその後のセット動作及びリセット動作を並行して実行することで、さらなる高速動作が可能になる。
【０１１７】
例えば、書込可能領域であるか否かを示す管理コードを記憶するメモリセルが、高抵抗化された状態であれば書込可能領域であることを示し、低抵抗化された状態であれば書込可能領域ではないことを示すものとする。この場合、リセット動作を実行して書込可能領域を形成すると同時に、当該メモリセルに対してリセット動作を実行して高抵抗化することで、当該メモリセルが書込可能領域であることを示す状態となる。さらにこの場合、書込可能領域にセット動作を実行してデータを書き込むと同時に、当該メモリセルに対してセット動作を実行して低抵抗化することで、当該メモリセルが書込可能領域ではないことを示す状態となる。
【０１１８】
また例えば、不要データ領域であるか否かを示す管理コードを記憶するメモリセルが、高抵抗化された状態であれば不要データ領域ではないことを示し、低抵抗化された状態であれば不要データ領域であることを示すものとする。この場合、不要データ領域に対してリセット動作を実行して書込可能領域を形成すると同時に、当該メモリセルに対してリセット動作を実行して高抵抗化することで、当該メモリセルが不要データ領域ではないことを示す状態となる。
【０１１９】
［１０］  図４に示した書込動作は、少なくとも１つのブロックには書込可能領域が存在することを前提としたものであるが、全てのブロックに書込可能領域が存在しない場合も想定され得る。この場合、不要データ領域のメモリセルに対してセット動作及びリセット動作を実行することによって、データを書き込んでもよい。さらにこのとき、制御回路２１が、不要データ領域を成すメモリセルが備える可変抵抗素子の電気抵抗を読み出すことによって、不要データ領域中のどのメモリセルに対してセット動作を実行し、不要データ領域中のどのメモリセルに対してリセット動作を実行するべきであるのかを決定すると、無用なセット動作及びリセット動作の実行を防止することができるため、好ましい。
【０１２０】
一方、全てのブロックに書込可能領域が存在しない場合において、不要データ領域のメモリセルに対してリセット動作を実行することで、書込可能領域を確保してもよい。これにより、図４に示した書込動作（セット動作によるデータの書込）が可能となる。
【産業上の利用可能性】
【０１２１】
本発明は、半導体記憶装置に利用可能であり、特に電圧印加によって抵抗状態が遷移し、かかる遷移後の抵抗状態によってデータが記憶される可変抵抗素子を備えてなる不揮発性の半導体記憶装置に利用すると、好適である。
【符号の説明】
【０１２２】
１、１Ｃ  ：  半導体記憶装置
２０、２０Ａ〜２０Ｃ  ：  メモリセルアレイ
２１  ：  制御回路
２２  ：  電圧発生回路
２３、２３１〜２３４  ：  ワード線デコーダ
２４、２４１〜２４４  ：  ビット線デコーダ
２５  ：  ソース線デコーダ
２５Ｐ１〜２５Ｐ４  ：  ソースプレートデコーダ
Ｄ１〜Ｄ４  ：  デコーダ
１００  ：  管理装置
ＷＬ１〜ＷＬｍ、ＷＬ１１〜ＷＬ１ｍ、ＷＬ２１〜ＷＬ２ｍ  ：  ワード線
ＢＬ１〜ＢＬｎ、ＢＬ１１〜ＢＬ１ｎ、ＢＬ２１〜ＢＬ２ｎ  ：  ビット線
ＳＬ１〜ＳＬｎ、ＳＬ１１〜ＳＬ１ｎ、ＳＬ２１〜ＳＬ２ｎ  ：  ソース線
ＳＬＰ、ＳＬＰ１〜ＳＬＰｋ  ：  ソースプレート
Ｃ、Ｃ１、Ｃ２  ：  メモリセル
Ｒ、Ｒ１、Ｒ２  ：  可変抵抗素子
ＳＴ  ：  選択トランジスタ
Ｂ１〜Ｂ４  ：  ブロック
【図１】
2014199698.tif 000003
【図２】
2014199698.tif 000004
【図３】
2014199698.tif 000005
【図４】
2014199698.tif 000006
【図５】
2014199698.tif 000007
【図６】
2014199698.tif 000008
【図７】
2014199698.tif 000009
【図８】
2014199698.tif 000010
【図９】
2014199698.tif 000011
【図１０】
2014199698.tif 000012
【図１１】
2014199698.tif 000013
【図１２】
2014199698.tif 000014