(57)【要約】  ビット単位での書き換えを可能にしながらも、メモリセル寿命の延命化が可能な不揮発性半導体記憶装置を提供する。コマンド情報が書き込みを示す場合において、比較部３７が、対象メモリセルに書き込まれている既書き込みデータと書き込み対象データとを比較して比較結果を書き込み／読み出し制御部４０に与え、比較結果が同一の場合には、前記書き込み／読み出し制御部４０がデコーダ部（５１Ａ，５１Ｂ，５３）に対して前記対象メモリセルへの書き込み指示を与えず、前記比較結果が異なる場合には、前記書き込み／読み出し制御部４０が前記デコーダ部に対して対象メモリセルに前記書き込み対象データを書き込む指示を与える。
2010061760.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性のメモリセルの複数をマトリクス状に配列し、同一行の前記メモリセルの第１端子を共通のワード線に接続し、同一列の前記メモリセルの第２端子を共通のビット線に接続してなる第１サブバンク、及び、前記第１サブバンクと同じ構成の第２サブバンクを備えてなるメモリセルアレイと、
指定アドレスに対応する対象メモリセルへの書き込みまたは読み出しの制御を行う書き込み／読み出し制御部と、
前記書き込み／読み出し制御部からの指示に基づいて前記ビット線及び前記ワード線に電圧を印加することで、前記対象メモリセルに書き込み電圧または読み出し電圧を印加するデコーダ部と、
前記読み出し電圧の印加された前記対象メモリセルに書き込まれている既書き込みデータの読み出しを行う読み出し回路と、
入力される複数のデータの比較を行う比較部と、を備えてなり、
前記第１サブバンク内及び前記第２サブバンク内に位置する複数の前記対象メモリセルに対し、各個別に指定された書き込み対象データの書き込みを行う際、
前記デコーダ部が、
前記第１サブバンク内の第１対象メモリセルに対して読み出し電圧を印加する第１動作と、
前記第２サブバンク内の第２対象メモリセルの前記既書き込みデータと当該第２対象メモリセルへの前記書き込み対象データとの前記比較部による比較結果が異なる場合にのみ前記第２対象メモリセルに対して書き込み電圧を印加する第２動作と、を同一時間帯に実行することを特徴とする不揮発性半導体記憶装置。
【請求項２】
前記第１サブバンク内及び前記第２サブバンク内に位置する複数の前記対象メモリセルに対し、各個別に指定された前記書き込み対象データの書き込みを行う際、
前記デコーダ部は、前記第１動作と前記第２動作で構成された動作ステップを、前記第１対象メモリセル及び前記第２対象メモリセルを変化させながら複数回実行する構成であり、
前記各動作ステップにおける前記第２対象メモリセルは、当該動作ステップよりも前に既に実行された前記動作ステップ内における前記第１対象メモリセルであることを特徴とする請求項１に記載の不揮発性半導体記憶装置。
【請求項３】
前記デコーダ部は、
前記第１サブバンク及び前記第２サブバンクに共通して設けられると共に、前記第１サブバンク及び前記第２サブバンク夫々の対応する前記ワード線に同時に電圧を印加する行デコーダと、
前記第１サブバンクの前記ビット線に電圧を印加する第１列デコーダと、
前記第２サブバンクの前記ビット線に電圧を印加する第２列デコーダと、を備え、
前記第１動作は、前記行デコーダが前記第１対象メモリセルに接続された前記ワード線に電圧を印加した状態で、前記第１列デコーダが前記第１対象メモリセルに接続されたビット線に読み出し電圧を印加する動作であり、
前記第２動作は、前記第２対象メモリセルの前記既書き込みデータと当該第２対象メモリセルへの前記書き込み対象データとの比較結果が異なる場合にのみ、前記第２列デコータが前記第１対象メモリセルと同一行に位置する前記第２対象メモリセルに接続されたビット線に書き込み電圧を印加する動作であることを特徴とする請求項１または２に記載の不揮発性半導体記憶装置。
【請求項４】
前記メモリセルアレイが、前記第１サブバンク及び前記第２サブバンクからなるメモリユニットを複数備えて構成され、
前記デコーダ部が、前記各メモリユニット毎に設けられ、
複数の前記メモリユニットにまたがって配置された複数の前記対象メモリセルに対し、各個別に指定された前記書き込み対象データの書き込みを行う際、
前記対象メモリセルが存在する前記メモリユニットに備えられた前記各デコーダ部それぞれが、前記第１動作と前記第２動作とを同一時間帯に実行することを特徴とする請求項１または２に記載の不揮発性半導体記憶装置。
【請求項５】
前記メモリセルが、印加電圧に応じて抵抗値を可逆的に変化させる可変抵抗素子で構成されており、当該可変抵抗素子の抵抗値に応じて情報を記憶する構成であることを特徴とする請求項１または２に記載の不揮発性半導体記憶装置。
【請求項６】
不揮発性半導体記憶装置の駆動方法であって、
前記不揮発性半導体記憶装置は、不揮発性のメモリセルの複数をマトリクス状に配列し、同一行の前記メモリセルの第１端子を共通のワード線に接続し、同一列の前記メモリセルの第２端子を共通のビット線に接続してなる第１サブバンク、及び、前記第１サブバンクと同じ構成の第２サブバンクを備えてなるメモリセルアレイを備えており、
前記第１サブバンク内及び前記第２サブバンク内に位置する複数の対象メモリセルに対し、各個別に指定された前記書き込み対象データの書き込みを行う際、
前記第１サブバンク内の第１対象メモリセルに対して読み出し電圧を印加する第１動作と、
前記第２サブバンク内の第２対象メモリセルの前記既書き込みデータと当該第２対象メモリセルへの前記書き込み対象データとの比較結果が異なる場合にのみ前記第２対象メモリセルに対して書き込み電圧を印加する第２動作と、を同一時間帯に実行することを特徴とする不揮発性半導体記憶装置の駆動方法。
【請求項７】
前記第１動作と前記第２動作で構成された動作ステップを、前記第１対象メモリセル及び前記第２対象メモリセルを変化させながら複数回実行し、
前記各動作ステップにおける前記第２対象メモリセルは、当該動作ステップよりも前に既に実行された前記動作ステップ内における前記第１対象メモリセルであることを特徴とする請求項６に記載の不揮発性半導体記憶装置の駆動方法。
【請求項８】
前記メモリセルアレイが、前記第１サブバンク及び前記第２サブバンクからなるメモリユニットを複数備えて構成されており、
複数の前記メモリユニットにまたがって配置された複数の前記対象メモリセルに対し、各個別に指定された前記書き込み対象データの書き込みを行う際、
前記対象メモリセルが存在する前記メモリユニットのそれぞれにおいて、前記第１動作と前記第２動作とを同一時間帯に実行することを特徴とする請求項６または７に記載の不揮発性半導体記憶装置の駆動方法。
【請求項９】
電気抵抗の変化により情報を記憶する可変抵抗素子を有するメモリセルを行方向及び列方向にそれぞれ複数配列し、同一行の前記メモリセルの第１端子を共通のワード線に接続し、同一列の前記メモリセルの第２端子を共通のビット線に接続してなるメモリセルアレイを備えた不揮発性半導体記憶装置であって、
指定アドレスに対応する対象メモリセルへの書き込みまたは読み出しの制御を行う書き込み／読み出し制御部と、
前記書き込み／読み出し制御部からの指示に基づいて前記ビット線及び前記ワード線に電圧を印加することで、前記対象メモリセルに書き込み電圧または読み出し電圧を印加するデコーダ部と、
前記読み出し電圧の印加された前記対象メモリセルに書き込まれている既書き込みデータの読み出しを行う読み出し回路と、
入力される複数のデータの比較を行う比較部と、を備えてなり、
前記対象メモリセルに書き込み対象データの書き込みを行う際、
前記デコーダ部は、前記書き込み／読み出し制御部からの指示に基づき前記対象メモリセルに読み出し電圧を印加し、
前記比較部は、前記書き込み対象データと前記読み出し回路によって読み出された前記既書き込みデータとを比較して比較結果を前記書き込み／読み出し制御部に与え、
前記書き込み／読み出し制御部は、前記比較結果が異なる場合にのみ、前記デコーダ部に対し、前記対象メモリセルに前記書き込み対象データを書き込む指示を与えることを特徴とする不揮発性半導体記憶装置。
【請求項１０】
電気抵抗の変化により情報を記憶する可変抵抗素子を有するメモリセルを行方向及び列方向にそれぞれ複数配列し、同一行の前記メモリセルの第１端子を共通のワード線に接続し、同一列の前記メモリセルの第２端子を共通のビット線に接続してなるメモリセルアレイを備えた不揮発性半導体記憶装置の駆動方法であって、
指定アドレスに対応する対象メモリセルに対して書き込み対象データの書き込み動作を行うに際し、
まず、前記対象メモリセルに書き込まれている既書き込みデータの読み出しを行い、
次に、前記既書き込みデータと前記書き込み対象データの比較を行い、比較結果が同一の場合には前記対象メモリセルへの書き込みを行わず、前記比較結果が異なる場合には前記対象メモリセルに前記書き込み対象データの書き込みを行うことを特徴とする不揮発性半導体記憶装置の駆動方法。
【請求項１１】
メモリセルの複数をマトリクス状に配列し、同一行の前記メモリセルの第１端子を共通のワード線に接続し、同一列の前記メモリセルの第２端子を共通のビット線に接続してなる第１サブバンク、及び、前記第１サブバンクと同じ構成の第２サブバンクを備えてなるメモリセルアレイと、
指定アドレスに対応する対象メモリセルへの書き込みまたは読み出しの制御を行う書き込み／読み出し制御部と、
前記書き込み／読み出し制御部からの指示に基づいて、前記対象メモリセルに書き込み処理または読み出し処理を行うデコーダ部と、
前記対象メモリセルに書き込まれている既書き込みデータの読み出しを行う読み出し回路と、
入力される複数のデータの比較を行う比較部と、を備えてなり、
前記第１サブバンク内及び前記第２サブバンク内に位置する複数の前記対象メモリセルに対し、各個別に指定された書き込み対象データの書き込みを行う際、
前記デコーダ部が、
前記第１サブバンク内の第１対象メモリセルに対して読み出し処理を行う第１動作と、
前記第２サブバンク内の第２対象メモリセルの前記既書き込みデータと当該第２対象メモリセルへの前記書き込み対象データとの前記比較部による比較結果が異なる場合にのみ前記第２対象メモリセルに対して書き込み処理を行う第２動作と、を同一時間帯に実行することを特徴とする不揮発性半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性半導体記憶装置及びその駆動方法に関し、特に、書き換え回数に制限のある不揮発性半導体記憶装置及びその駆動方法に関するものである。
【背景技術】
【０００２】
近年、ポストフラッシュメモリというべき不揮発性メモリとして、電圧パルスを印加することによって可逆的に電気抵抗が変化する可変抵抗素子を用いた抵抗性不揮発性メモリＲＲＡＭ（Resistive Random Access Memory；ＲＲＡＭは本出願人であるシャープ株式会社の登録商標）が実用化されつつある。【０００３】
図１５にこのＲＲＡＭの概略構造図を示す。図１５に示されるＲＲＡＭ１００は、第２電極となる下部電極１０３と可変抵抗体１０２と、第１電極となる上部電極１０１とが順に積層された極めて単純な構造となっている。可変抵抗体１０２としては、例えば、遷移金属の酸化物である酸化チタン（ＴｉＯ２）膜、ニッケル酸化（ＮｉＯ）膜、酸化亜鉛（ＺｎＯ）膜、酸化ニオブ（Ｎｂ２Ｏ５）膜が利用可能である（下記特許文献１、非特許文献１参照）。そして、このＲＲＡＭ１００は、上部電極１０１及び下部電極１０３間に電圧パルスを印加することにより、可変抵抗体１０２の抵抗値を可逆的に変化させることができる。そして、この可逆的な抵抗変化動作における抵抗値を読み出すことによって、抵抗性不揮発性メモリが実現できるという構成である。【０００４】
ＲＲＡＭにおける書き込み（消去）特性は、フラッシュメモリのそれとは大きく異なる。例えばバイポーラスイッチングといわれるモードでは、抵抗増加、抵抗減少の２つの抵抗変化が共に、１．５Ｖから３Ｖの低電圧の電圧印加により数１０ナノ秒で実現できる。これによって、情報「１」の書き込み（消去動作）と、情報「０」の書き込み（書き込み動作）を同時に行うこと、すなわちデータの上書きが可能となり、高速でビット単位の書き換え動作が実現できる。このＲＲＡＭは、ＤＲＡＭ（Dynamic Random Access Memory）と同等の読み書き速度が実現できると目されている。【０００５】
従来のＤＲＡＭは、スイッチングＭＩＳＦＥＴと該スイッチングＭＩＳＦＥＴに直列に接続されたキャパシタにより構成されるメモリセルを有し、該キャパシタに電荷を蓄積することにより情報の記憶を行うものである。このため、キャパシタに電荷を蓄積することで情報を記憶するという特性上、書き換え回数にはほぼ制限がないという長所を有する。【０００６】
一方、ＲＲＡＭの場合、可変抵抗体の抵抗値を変化させることで、情報の書き換えを行う構成である。そして、この可変抵抗体の抵抗値の変化は、可変抵抗体を構成する金属酸化物中の酸素の挙動が抵抗変化に大きく寄与していると考えられている。すなわち、金属酸化物中に酸素欠損が生じると金属酸化物の抵抗が低抵抗化し、逆に、この酸素欠損が再び酸素で埋められることによって、高抵抗化すると考えられている。そして、具体的には、この酸素欠損の発生は、高抵抗状態の素子に高電界が加わることによって電界印加方向に酸素イオン（Ｏ２−）が移動し、この酸素イオンの移動によって酸素イオンが抜けた箇所において酸素欠損が発生し、この酸素欠損によって発生する局在順位間でキャリアが伝導していくホッピング伝導により電気抵抗が低くなると考えられている。また、低抵抗化した素子の高抵抗化については、低抵抗部に電流が流れることによってジュール熱で加熱され、ある閾値電流以上になると酸素欠損部が再び酸素で埋められ、再び高抵抗化すると考えられている。【０００７】
従って、ＲＲＡＭにおける情報の書き込みは、金属酸化物中の酸素イオンが移動するという物理的な変化に伴う抵抗変化によるものであるため、電荷の蓄積，移動によって情報が書き込まれるＤＲＡＭに比べ、情報記憶部（すなわち可変抵抗体）が受ける物理的なダメージが大きい。すなわち、ＲＲＡＭにおいて繰り返し書き換え動作が行われる（抵抗変化させる）ことで、酸素欠損の発生や酸素の再結合ができないメモリセルが発生することとなる。このようなメモリセルの場合、書き換えのために電圧を印加しても抵抗状態を変化させることができず、このことは情報の書き換えが正確に実行できないことを意味する。【０００８】
つまり、ＲＲＡＭの場合、ＤＲＡＭと比べて、書き換え回数には限りがあるという問題がある。これを受け、ＲＲＡＭにおいては、同一のメモリセルに対する書き換え回数を抑制し、各メモリセルの寿命を延ばすための方法が必要とされている。【０００９】
従来、不揮発性メモリの寿命を延ばす方法としては、メモリチップ内でメモリセルの使用回数を平均化するウェアレベリング法が用いられてきた。この方法は、書き換え回数や書き換え順序をブロック単位で管理することで、寿命を延ばすというものである。【００１０】
例えば、下記特許文献２には、ブロックに消去回数カウンタを設け、消去回数カウンタの値が小さいブロックから優先的に利用し、全てのブロックの消去回数を平均化することにより不揮発性メモリの寿命を延ばす方法が記載されている。また、下記特許文献３には、論理アドレスを物理アドレスに変換するテーブルの物理アドレス値を空き物理アドレス値が書き込んであるＦＩＬＯ（First in Least Out）から読み出した空き物理アドレス値と交換し、データの書き換えが行われる物理アドレスが偏ったものにならないようにすることで不揮発性メモリの寿命を延ばす方法が記載されている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特表２００２−５３７６２７号公報
【特許文献２】特開平９−９７２１８号公報
【特許文献３】特開２００１−６７２５８号公報
【非特許文献】
【００１２】
【非特許文献１】H.Pagniaほか、“Bistable Switching in Electroformed Metal-Insulator-MetalDevices”,Phys.Stat.Sol.(a),vol.108,pp.11-65,1988年
【発明の概要】
【発明が解決しようとする課題】
【００１３】
上述したように、従来、書き換え回数が限られているメモリの寿命延命方法としては、ウェアレベリング法が用いられてきた。しかしながら、このウェアレベリング法を用いるに際しては、書き換え回数を管理することが必要となる。【００１４】
フラッシュメモリのように、元来（ある程度大きな容量である）ブロック単位で書き換えを行うデバイスの場合には、ブロック単位での書き換え回数の管理も容易であり、ウェアレベリングも非常に有効な寿命延命方法として機能する。しかしながら、ＲＲＡＭのようにビット単位で自由に書き換えが可能な不揮発性メモリにおいて同様の手法を取った場合には、そのビット単位で書き換えが可能であるという特長が生かせないという問題が生じる。【００１５】
フラッシュメモリの場合、書き換えを行うに際しては、ブロック単位で消去を行った後、書き込みを行う構成である。すなわち、劣化原因となる書き換えに際しても、その書き換え回数をブロック毎に管理することで足りる。しかし、ＲＲＡＭのようにビット単位で自由に書き換えが可能なメモリの場合、その特性を生かそうとすれば、ビット単位（もしくはワード等の一括でアクセスする単位）で書き換え回数の管理を行う必要が生じる。この結果、書き換え回数を記録するだけで膨大な容量を費やしてしまうことになる。また、フラッシュメモリと同様にブロック単位でまとめて管理した場合には、実際のメモリセルの書き換え回数とブロック全体としての書き換え回数に不整合が発生してしまうことになる。【００１６】
本発明は、上記の問題点に鑑み、書き換え回数の管理を行うことなく、メモリセル寿命の延命化が可能な不揮発性半導体記憶装置を提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記目的を達成するための本発明に係る不揮発性半導体記憶装置は、不揮発性のメモリセルの複数をマトリクス状に配列し、同一行の前記メモリセルの第１端子を共通のワード線に接続し、同一列の前記メモリセルの第２端子を共通のビット線に接続してなる第１サブバンク、及び、前記第１サブバンクと同じ構成の第２サブバンクを備えてなるメモリセルアレイと、指定アドレスに対応する対象メモリセルへの書き込みまたは読み出しの制御を行う書き込み／読み出し制御部と、前記書き込み／読み出し制御部からの指示に基づいて前記ビット線及び前記ワード線に電圧を印加することで、前記対象メモリセルに書き込み電圧または読み出し電圧を印加するデコーダ部と、前記読み出し電圧の印加された前記対象メモリセルに書き込まれている既書き込みデータの読み出しを行う読み出し回路と、入力される複数のデータの比較を行う比較部と、を備えてなり、前記第１サブバンク内及び前記第２サブバンク内に位置する複数の前記対象メモリセルに対し、各個別に指定された書き込み対象データの書き込みを行う際、前記デコーダ部が、前記第１サブバンク内の第１対象メモリセルに対して読み出し電圧を印加する第１動作と、前記第２サブバンク内の第２対象メモリセルの前記既書き込みデータと当該第２対象メモリセルへの前記書き込み対象データとの前記比較部による比較結果が異なる場合にのみ前記第２対象メモリセルに対して書き込み電圧を印加する第２動作と、を同一時間帯に実行することを特徴とする。【００１８】
本発明に係る不揮発性半導体記憶装置の上記特徴によれば、書き込み処理時において、実際に書き込み処理が行われる前に、比較部によって、書き込み先アドレスに対応する選択メモリセルに既に書き込まれている既書き込みデータと書き込み対象データとの比較処理が実行される。そして、比較結果が異なる場合にのみ、同メモリセルに対して書き込み対象データを書き込むための書き込み電圧が印加され、比較結果が同一の場合には書き込み電圧が印加されない。【００１９】
従来のウェアレベリング法は、メモリセルの使用回数を平均することにより、メモリチップ全体としての寿命延命を図る方法であるため、同一データを上書きする場合にもメモリセルへの上書きは行われてしまい、この結果メモリセルの劣化進行が避けられない。しかし、本発明構成によれば、この従来方法と比較して、同一メモリセルに対して実際に書き込み用電圧が印加されて書き込み処理が行われる回数が減少する。これにより、各メモリセルを延命させることができる。【００２０】
そして、単純に書き込み処理時において、書き込み先アドレスに対応する選択メモリセルの既書き込みデータと書き込み対象データの比較を行うことのみでメモリセルの延命措置が可能となる。すなわち、従来のように、書き込み回数や書き込み順序を管理する必要がない。このため、例えば、ビット単位で書き込み（書き換え）が可能なＲＲＡＭに対しても容易に適用することができる。【００２１】
さらに、上記特徴によれば、一のサブバンクに対して既書き込みデータと書き込み対象データの比較を行っている間に、他のサブバンクに対して書き込み用電圧を印加して書き込み処理を行うことができる。このため、書き込み処理においてタイムラグが発生するということがない。すなわち、従来方法から書き込み処理に要する時間を長くすることなく、各サブバンク内のメモリセルを延命させることができる。【００２２】
なお、上記特徴において、一のサブバンク（第１サブバンク）に偶数アドレスを割り当て、他のサブバンク（第２サブバンク）に奇数アドレスを割り当てるものとすることができる。このようにした場合、連続するアドレスがサブバンク間で交互に割り当てられることとなる。従って、バースト書き込みを行う場合、一のサブバンク内の書き込み先アドレスに対応するメモリセルに対して書き込み対象データを書き込む時間内に、他のサブバンク内に存在する前記書き込み先アドレスの次のアドレスに対応するメモリセルの既書き込みデータの読み出しを行うことができる。【００２３】
また、本発明に係る不揮発性半導体記憶装置は、上記特徴に加えて、前記第１サブバンク内及び前記第２サブバンク内に位置する複数の前記対象メモリセルに対し、各個別に指定された前記書き込み対象データの書き込みを行う際、前記デコーダ部は、前記第１動作と前記第２動作で構成された動作ステップを、前記第１対象メモリセル及び前記第２対象メモリセルを変化させながら複数回実行する構成であり、前記各動作ステップにおける前記第２対象メモリセルは、当該動作ステップよりも前に既に実行された前記動作ステップ内における前記第１対象メモリセルであることを特徴とする。【００２４】
このような構成とするとき、第２動作の実行対象である第２対象メモリセルは、それ以前に行われた動作ステップ内において第１対象メモリセルとして既書き込みデータが読み出されているため、第２動作において、改めて第２対象メモリセルの既書き込みデータを読み出すことなく、書き込み対象データが既書き込みデータと異なる場合にのみ書き込むことができる。【００２５】
また、本発明に係る不揮発性半導体記憶装置は、上記特徴に加えて、前記デコーダ部は、前記第１サブバンク及び前記第２サブバンクに共通して設けられると共に、前記第１サブバンク及び前記第２サブバンク夫々の対応する前記ワード線に同時に電圧を印加する行デコーダと、前記第１サブバンクの前記ビット線に電圧を印加する第１列デコーダと、前記第２サブバンクの前記ビット線に電圧を印加する第２列デコーダと、を備え、前記第１動作は、前記行デコーダが前記第１対象メモリセルに接続された前記ワード線に電圧を印加した状態で、前記第１列デコーダが前記第１対象メモリセルに接続されたビット線に読み出し電圧を印加する動作であり、前記第２動作は、前記第２対象メモリセルの前記既書き込みデータと当該第２対象メモリセルへの前記書き込み対象データとの比較結果が異なる場合にのみ、前記第２列デコータが前記第１対象メモリセルと同一行に位置する前記第２対象メモリセルに接続されたビット線に書き込み電圧を印加する動作であることを特徴とする。【００２６】
また、上記特徴に加えて、本発明に係る不揮発性半導体記憶装置は、前記メモリセルアレイが、前記第１サブバンク及び前記第２サブバンクからなるメモリユニットを複数備えて構成され、前記デコーダ部が、前記各メモリユニット毎に設けられ、複数の前記メモリユニットにまたがって配置された複数の前記対象メモリセルに対し、各個別に指定された前記書き込み対象データの書き込みを行う際、前記対象メモリセルが存在する前記メモリユニットに備えられた前記各デコーダ部それぞれが、前記第１動作と前記第２動作とを同一時間帯に実行することを特徴とする。【００２７】
このように構成することで、多ビット構成の書き込み対象データの書き込み時においても、書き込みに要する時間の増大や、必要な管理量の増大を招くことなく、各メモリセルへの書き込み回数を減少させることができ、メモリセルの延命を図ることができる。【００２８】
なお、本発明に係る不揮発性半導体記憶装置は、上記いずれかの特徴に加えて、前記メモリセルが、印加電圧に応じて抵抗値を可逆的に変化させる可変抵抗素子で構成されており、当該可変抵抗素子の抵抗値に応じて情報を記憶する構成であることを特徴とする。【００２９】
また、本発明に係る不揮発性半導体記憶装置の駆動方法は、前記不揮発性半導体記憶装置が、不揮発性のメモリセルの複数をマトリクス状に配列し、同一行の前記メモリセルの第１端子を共通のワード線に接続し、同一列の前記メモリセルの第２端子を共通のビット線に接続してなる第１サブバンク、及び、前記第１サブバンクと同じ構成の第２サブバンクを備えてなるメモリセルアレイを備えており、前記第１サブバンク内及び前記第２サブバンク内に位置する複数の対象メモリセルに対し、各個別に指定された前記書き込み対象データの書き込みを行う際、前記第１サブバンク内の第１対象メモリセルに対して読み出し電圧を印加する第１動作と、前記第２サブバンク内の第２対象メモリセルの前記既書き込みデータと当該第２対象メモリセルへの前記書き込み対象データとの比較結果が異なる場合にのみ前記第２対象メモリセルに対して書き込み電圧を印加する第２動作と、を同一時間帯に実行することを特徴とする。【００３０】
また、本発明に係る不揮発性半導体記憶装置の駆動方法は、上記特徴に加えて、前記第１サブバンク内及び前記第２サブバンク内に位置する複数の前記対象メモリセルに対し、各個別に指定された前記書き込み対象データの書き込みを行う際、前記第１動作と前記第２動作で構成された動作ステップを、前記第１対象メモリセル及び前記第２対象メモリセルを変化させながら複数回実行し、前記各動作ステップにおける前記第２対象メモリセルは、当該動作ステップよりも前に既に実行された前記動作ステップ内における前記第１対象メモリセルであることを特徴とする。【００３１】
また、本発明に係る不揮発性半導体記憶装置の駆動方法は、上記特徴に加えて、前記メモリセルアレイが、前記第１サブバンク及び前記第２サブバンクからなるメモリユニットを複数備えて構成され、複数の前記メモリユニットにまたがって配置された複数の前記対象メモリセルに対し、各個別に指定された前記書き込み対象データの書き込みを行う際、前記対象メモリセルが存在する前記メモリユニットのそれぞれにおいて、前記第１動作と前記第２動作とを同一時間帯に実行することを特徴とする。【００３２】
また、本発明に係る不揮発性半導体記憶装置は、電気抵抗の変化により情報を記憶する可変抵抗素子を有するメモリセルを行方向及び列方向にそれぞれ複数配列し、同一行の前記メモリセルの第１端子を共通のワード線に接続し、同一列の前記メモリセルの第２端子を共通のビット線に接続してなるメモリセルアレイを備えた不揮発性半導体記憶装置であって、指定アドレスに対応する対象メモリセルへの書き込みまたは読み出しの制御を行う書き込み／読み出し制御部と、前記書き込み／読み出し制御部からの指示に基づいて前記ビット線及び前記ワード線に電圧を印加することで、前記対象メモリセルに書き込み電圧または読み出し電圧を印加するデコーダ部と、前記読み出し電圧の印加された前記対象メモリセルに書き込まれている既書き込みデータの読み出しを行う読み出し回路と、入力される複数のデータの比較を行う比較部と、を備えてなり、前記対象メモリセルに書き込み対象データの書き込みを行う際、前記デコーダ部は、前記書き込み／読み出し制御部からの指示に基づき前記対象メモリセルに読み出し電圧を印加し、前記比較部は、前記書き込み対象データと前記読み出し回路によって読み出された前記既書き込みデータとを比較して比較結果を前記書き込み／読み出し制御部に与え、前記書き込み／読み出し制御部は、前記比較結果が異なる場合にのみ、前記デコーダ部に対し、前記対象メモリセルに前記書き込み対象データを書き込む指示を与えることを特徴とする。【００３３】
本発明に係る不揮発性半導体記憶装置の上記特徴によれば、書き込み処理時において、実際に書き込み処理が行われる前に、比較部によって、書き込み先アドレスに対応する選択メモリセルに既に書き込まれている既書き込みデータと書き込み対象データとの比較処理が実行される。そして、比較結果が異なる場合にのみ、同メモリセルに対して書き込み対象データを書き込むための書き込み電圧が印加され、比較結果が同一の場合には書き込み電圧が印加されない。【００３４】
従来のウェアレベリング法は、メモリセルの使用回数を平均することにより、メモリチップ全体としての寿命延命を図る方法であるため、同一データを上書きする場合にもメモリセルへの上書きは行われてしまい、この結果メモリセルの劣化進行が避けられない。しかし、本発明構成によれば、この従来方法と比較して、同一メモリセルに対して実際に書き込み用電圧が印加されて書き込み処理が行われる回数が減少する。これにより、各メモリセルを延命させることができる。【００３５】
そして、単純に書き込み処理時において、書き込み先アドレスに対応する選択メモリセルの既書き込みデータと書き込み対象データの比較を行うことのみでメモリセルの延命措置が可能となる。すなわち、従来のように、書き込み回数や書き込み順序を管理する必要がないため、ビット単位で書き込み（書き換え）が可能なＲＲＡＭに適用することができる。【００３６】
また、本発明に係る不揮発性半導体記憶装置の駆動方法は、電気抵抗の変化により情報を記憶する可変抵抗素子を有するメモリセルを行方向及び列方向にそれぞれ複数配列し、同一行の前記メモリセルの第１端子を共通のワード線に接続し、同一列の前記メモリセルの第２端子を共通のビット線に接続してなるメモリセルアレイを備えた不揮発性半導体記憶装置の駆動方法であって、指定アドレスに対応する対象メモリセルに対して書き込み対象データの書き込み動作を行うに際し、まず、前記対象メモリセルに書き込まれている既書き込みデータの読み出しを行い、次に、前記既書き込みデータと前記書き込み対象データの比較を行い、比較結果が同一の場合には前記対象メモリセルへの書き込みを行わず、前記比較結果が異なる場合には前記対象メモリセルに前記書き込み対象データの書き込みを行うことを特徴とする。
【発明の効果】
【００３７】
本発明の構成によれば、書き換え回数の管理を行うことなく、メモリセル寿命の延命化が可能な不揮発性半導体記憶装置を実現することができる。
【図面の簡単な説明】
【００３８】
【図１】第１実施形態の不揮発性半導体記憶装置の概念的構造を示すブロック図
【図２】第１実施形態の不揮発性半導体記憶装置の別の概念的構造を示すブロック図
【図３】サブバンクの一構成例を示す回路図
【図４】第１実施形態の不揮発性半導体記憶装置に対してバースト書き込みが行われる場合のタイミングチャート
【図５】第１実施形態の不揮発性半導体記憶装置に対してバースト読み出しが行われる場合のタイミングチャート
【図６】メモリセルの一構成例を示す概略図
【図７】第２実施形態の不揮発性半導体記憶装置に対してバースト書き込みが行われる場合のタイミングチャート
【図８】第２実施形態の不揮発性半導体記憶装置に対してバースト読み出しが行われる場合のタイミングチャート
【図９】第３実施形態の不揮発性半導体記憶装置の概念的構造を示すブロック図
【図１０】第３実施形態の不揮発性半導体記憶装置の別の概念的構造を示すブロック図
【図１１】第３実施形態の不揮発性半導体記憶装置に対して書き込みが行われる場合のタイミングチャート
【図１２】第３実施形態の不揮発性半導体記憶装置に対して読み出しが行われる場合のタイミングチャート
【図１３】第３実施形態の不揮発性半導体記憶装置の別の概念的構造を示すブロック図
【図１４】第３実施形態の不揮発性半導体記憶装置の書き込み処理をソフトウェアによって実現する場合の処理手順を示すフローチャート
【図１５】ＲＲＡＭの概略構造図
【発明を実施するための形態】
【００３９】
本発明に係る不揮発性半導体記憶装置及びその駆動方法の各実施形態について図面を参照して説明する。
【００４０】
本実施形態では、メモリセルがＲＲＡＭ素子を備える構成であるものとして説明する。背景技術の項でも前述したように、ＲＲＡＭ素子は、電圧の印加によって抵抗値（または抵抗特性）を可逆的に変化させることで情報の記憶を行う構成である。従って、書き込み動作と消去動作は、変化後の各抵抗値がそれぞれ異なるという点を除けば動作原理は同一である。より具体的に言えば、ある第１抵抗値（第１抵抗特性）に変化させるために電圧条件を設定して電圧を印加することが「書き込み動作」であり、別の第２抵抗値（第２抵抗特性）に変化させるために電圧条件を設定して電圧を印加することが「消去動作」である。つまり、消去動作と書き込み動作とは電圧条件が異なることを除けば、実際にメモリセルに対して行われる動作は同一であると言える。このため、以下では、「消去動作」は「書き込み動作」の一態様であると考え、特に断りのない限り「書き込み動作」と「消去動作」とを文言上区別しないものとする。
【００４１】
これに対し、「読み出し動作」は、ＲＲＡＭ素子の抵抗値（または抵抗特性）を変化させることなく、単に現時点におけるＲＲＡＭ素子の抵抗値（または抵抗特性）を読み出す動作であるところ、抵抗値（または抵抗特性）を変化させる動作である書き込み動作とはその動作内容を異にする。このため、「読み出し動作」は「書き込み動作」と区別して表現する。
【００４２】
［第１実施形態］
本発明の第１実施形態（以下、適宜「本実施形態」という）につき、図１〜図６の各図を参照して説明を行う。
【００４３】
図１は、本実施形態における不揮発性半導体記憶装置の概念的構造を示すブロック図である。図１に示す不揮発性半導体記憶装置１は、メモリアクセス制御部２０、メモリ制御部３０、デコーダ部（行デコーダ５３，列デコーダ５１Ａ，５１Ｂ）、メモリセルアレイ（５２Ａ，５２Ｂ）を備える。本実施形態では、一つのメモリ制御部３０に対して２つのサブバンク５２Ａ，５２Ｂを備え、各サブバンクは、列デコーダ（５１Ａ，５１Ｂ）を個別に備える一方、行デコーダ（５３）は共有している。
【００４４】
なお、図１におけるデコーダ部（行デコーダ５３，列デコーダ５１Ａ，５１Ｂ）及びサブバンク５２Ａ、５２Ｂ（メモリユニット）は、説明の都合上、１アドレスに対し１ビットのデータを持つ形態を想定した図示となっている。多ビットのデータを扱う場合には、これらは図２に示されるような構成を取る。言い換えれば、図２にされる複数の各メモリユニットや各デコーダ部を、まとめて一つに図示したのが図１の構成である。
【００４５】
以下では、まず説明の簡単のために、１アドレスに１ビットのデータを持つ形態を想定して説明を行う。その後、図２を参照しながら１アドレスに対し多ビット（ｊビット）（ｊは２以上の自然数）のデータを持つ形態を取り扱う場合について説明する。
【００４６】
再び図１に戻って説明を行う。メモリ制御部３０は、命令解釈部３１，バッファ３２，出力制御部３３，バッファ３４，行アドレスバッファ３５，比較部３７，書き込み／読み出し制御部４０（読み出し制御部３６，バッファ３８，書き込み制御部３９），読み書き切換制御部４１，サブバンク入れ換え部４２，及び読み出し回路４３を備える。
【００４７】
なお、メモリアクセス制御部２０は、ＣＰＵ１０との間で信号の授受可能な構成である。ＣＰＵ１０は、中央演算装置（Central Processing Unit）であり、コマンド、アドレス、並びにデータを送ることが可能なバス（ＣＰＵバス１１）を介してメモリアクセス制御部２０と接続されている。このＣＰＵバス１１は、ＣＰＵ１０，メモリアクセス制御部２０以外にも、ネットワーク，ストレージ，グラフィック等の多数のハードウェアモジュール（不図示）に接続されているものとしても良い。
【００４８】
メモリアクセス制御部２０は、ＣＰＵ１０から与えられた各情報を認識し、メモリバス２１を介して各情報毎にメモリ制御部３０内の適切な要素に与える。より具体的には、メモリアクセス制御部２０は、コマンド情報を命令解釈部３１に与え、アドレス情報をバッファ３２に与え、データ（書き込み対象データ）をバッファ３４に与える。
【００４９】
メモリ制御部３０は、メモリアクセス制御部２０より与えられる各情報（コマンド，アドレス）を、サブバンク５２Ａ，５２Ｂに対するコマンド（書き込み，消去）やアドレス（行／列アドレス）に変換し、列デコーダ５１Ａ，５１Ｂ及び行デコーダ５３を制御する。
【００５０】
サブバンク５２Ａ，５２Ｂはメモリセルアレイであり、列デコーダ５１Ａ，５１Ｂ及び行デコーダ５３から、メモリセルアレイ内の各メモリセルに対して所定の電圧が印加されることで、読み出しまたは書き込み（消去）処理が行われる。
【００５１】
ここで、各サブバンク５２Ａ，５２Ｂは、共に、ＲＲＡＭ素子を有するメモリセルを行方向及び列方向にそれぞれ複数配列して構成される。また、行方向に延伸する複数のワード線、及び列方向に延伸する複数のビット線を備え、同一行に配置された前記メモリセルがそれぞれＲＲＡＭ素子の一端側を、選択トランジスタを介して同一の前記ワード線に接続し、同一列に配置された前記メモリセルがそれぞれＲＲＡＭ素子の他端側を同一の前記ビット線に接続する。サブバンク５２Ａ，５２Ｂの一例として、各メモリセルがＲＲＡＭ素子及び同素子に直列に選択トランジスタが接続されて構成される１Ｔ１Ｒ型構造を図３に示す。
【００５２】
図３は、サブバンク５２Ｂの一構成例を示す回路図であり、各メモリセルが１つの選択トランジスタと１つの可変抵抗素子Ｒとからなる、いわゆる１Ｔ１Ｒ構成である。図３において、各メモリセルの選択トランジスタのゲートはワード線（Ｗ１〜Ｗｎ）に接続されており、各ワード線は行デコーダ５３と接続される。また、各メモリセルの選択トランジスタのソースはソース線ＳＬを介して共通のソース線に接続されている。また、各メモリセル毎の可変抵抗素子Ｒの一方（上部電極側）はビット線（Ｂ１〜Ｂｍ）に接続されており、各ビット線は列デコーダ５１Ｂに接続される。ｎ及びｍは自然数である。また、サブバンク５２Ａも同様の構成である。
【００５３】
なお、本実施形態では、サブバンク５２Ａと５２Ｂとは、メモリアドレスがサブバンク間で交互に連続するようにアドレス割り当てがされているものとする。より具体的には、サブバンク５２Ａには偶数アドレスが割り当てられ、サブバンク５２Ｂには奇数アドレスが割り当てられている。
【００５４】
再び図１に戻り、命令解釈部３１は、入力されたコマンドを本実施形態に即した形に変換し、読み出し制御部３６，読み書き切換制御部４１，及び行アドレスバッファ３５に送る。具体的には、書き込み（消去）コマンド「Ｗ」が入力された場合には、命令解釈部３１は、読み出し制御部３６，及び読み書き切換制御部４１に対して、信号ＣｏｍＣによって読み出しコマンド「Ｒ」を与えるとともに、信号Ｒ／Ｗをアクティブ（Ｈｉｇｈ状態）にして出力制御部３３及び比較部３７に与える。また、読み出しコマンド「Ｒ」が入力された場合には、命令解釈部３１は、読み出し制御部３６，及び読み書き切換制御部４１に対して、信号ＣｏｍＣによって読み出しコマンド「Ｒ」を与える一方、信号Ｒ／Ｗはインアクティブ（Ｌｏｗ状態）にする。すなわち、命令解釈部３１は、書き込み（消去）コマンド「Ｗ」が与えられた場合であっても、読み出しコマンド「Ｒ」が与えられた場合であっても、行アドレスバッファ３５，読み出し制御部３６，及び読み書き切換制御部４１に対して、信号ＣｏｍＣによって読み出しコマンド「Ｒ」を与える構成である。また、命令解釈部３１には他に「行アドレス指定」コマンド（以下、「Ａ」コマンドという）が入力されることがある。この「Ａ」コマンドはバッファ３２に行アドレス値が入力される時にメモリアクセス制御部２０から入力されるものである。これが入力された時は、命令解釈部３１は行アドレスバッファ３５に対して、信号ＣｏｍＣによって「Ａ」コマンドを与える。
【００５５】
バッファ３２はＦＩＦＯ（FirstIn First Out）バッファであり、入力されたアドレス情報を一時的に格納する。そして、命令解釈部３１が信号ＣｏｍＣを出力するのに同期して、行アドレスバッファ３５及び読み出し制御部３６に対してアドレス情報を示す信号ＡｄｄＣを出力する。なお、このバッファ３２は、必ずしもＦＩＦＯである必要はなく、１アドレス分のバッファとして、コマンドが入力された時にのみアドレス値を取り込むようにしても良い。
【００５６】
なお、命令解釈部３１がコマンドを出力するタイミングと同期させるべく、命令解釈部３１とバッファ３２とが信号線（不図示）で接続されており、命令解釈部３１がコマンドを出力すると、当該信号線がアクティブになる構成としても良い。この場合、当該信号線の立ち上がりに起因して、バッファ３２はアドレス情報を示す信号ＡｄｄＣを出力すれば良い。
【００５７】
バッファ３４は、バッファ３２と同様にＦＩＦＯバッファである。本実施形態では、後述するように、書き込みコマンドが入力されてから、実際にサブバンク５２Ａ，５２Ｂへの書き込みが行われるまでに（一定の）時間を要する。バッファ３４は、書き込みコマンドが入力されてから、実際にサブバンク５２Ａ，５２Ｂへの書き込みが行われるまでに要する時間にわたって、書き込み対象データを保持する機能を表す。バッファ３４によって書き込み対象データが一定期間保持された後、バッファ３４から信号ＤａｔＯとして比較部３７及び書き込み制御部３９に出力される。
【００５８】
読み出し制御部３６は、信号ＣｏｍＣによって命令解釈部３１から与えられるコマンドが「Ｒ」である場合に、信号ＡｄｄＣによってバッファ３２から指定されたアドレスに基づき、データの読み出しアドレスＡｄｄＣｒを演算してサブバンク入れ換え部４２に出力する。メモリアクセスの設定が、バースト（複数のアドレスに連続してデータを読み書きする）になっている場合には、前記バッファ３２から指定された一のアドレスに対し、設定されたバースト長（連続してデータを読み書きする回数）分のアドレスを順次計算して出力を行う。なお、前記バースト長は、本メモリと接続されたＣＰＵ１０等のホストにより本メモリに対して設定される値である。また、このバースト長を設定する方法については、どのような方法を用いても良く、本件発明の主旨と外れるためその説明を割愛する。
【００５９】
読み出し制御部３６は、また、サブバンク入れ換え部４２に対して有効なアドレス値を出力している間には「Ｈｉｇｈ」、そうでない場合には「Ｌｏｗ」となる信号ＲＥをサブバンク入れ換え部４２に与える。
【００６０】
比較部３７は、命令解釈部３１から前記Ｒ／Ｗ信号を受け、これがアクティブであった場合に、バッファ３４から与えられるＤａｔＯと読み出し回路４３から与えられるＤａｔＣの比較を行い、その結果Ｃｏｍｐを書き込み制御部３９に与える。後述するようにＤａｔＣ及びＤａｔＯが多ビットであった場合には、比較はビット単位で行い、ビット単位での一致／不一致を書き込み制御部３９に与える。つまり、データのビット幅が８ビットであれば、Ｃｏｍｐのビット幅も８ビットになり、データのビット幅が３２ビットであれば、Ｃｏｍｐのビット幅も３２ビットになる。Ｒ／Ｗ信号がインアクティブであった場合には何もしない。
【００６１】
読み書き切換制御部４１は、信号ＣｏｍＣによって命令解釈部３１から与えられるコマンド「Ｒ」を受けると、サブバンク５２Ａとサブバンク５２Ｂの読み出しと書き込みを切り換えるための信号ＳＢＳｅｌを生成し、サブバンク入れ換え部４２と行デコーダ５３に供給する。前述したように、本実施形態においては、サブバンク５２Ａには偶数アドレスが割り当てられており、サブバンク５２Ｂには奇数アドレスが割り当てられている。つまり、連続するアドレスが、サブバンク５２Ａ，５２Ｂ間で交互に割り当てられている。
【００６２】
ここで、前記信号ＳＢＳｅｌは、サブバンク５２Ａから読み出しを行う際には信号レベルを「Ｌｏｗ」とし、サブバンク５２Ｂから読み出しを行う際には信号レベルを「Ｈｉｇｈ」とする。つまり、前記信号ＳＢＳｅｌが「Ｌｏｗ」である場合、読み出し対象となるサブバンク５２Ａに対し読み出し処理を行い、前記サブバンク５２Ａとは別のサブバンク５２Ｂに対して書き込み処理を行う。逆に、前記信号ＳＢＳｅｌが「Ｈｉｇｈ」である場合、読み出し対象となるサブバンク５２Ｂに対し読み出し処理を行い、前記サブバンク５２Ｂとは異なるサブバンク５２Ａに対して書き込み処理を行う。
【００６３】
行アドレスバッファ３５は、命令解釈部３１から「Ａ」コマンドが与えられると、バッファ３２から与えられるアドレス値を内部に保持する。そして、その直後に、読み出しコマンド「Ｒ」または書き込みコマンド「Ｗ」を受けとると、保持されたアドレス値を信号Ｒｏｗとして適切なタイミングで行デコーダ５３に出力する。なお、ここでの適切なタイミングとは、前記行アドレスによって示されるサブバンク５２Ａ、５２Ｂ中のメモリセルに対するアクセス時刻に間に合うタイミングである。
【００６４】
バッファ３８は、読み出し制御部３６から出力された信号ＡｄｄＣｒに示されるアドレス値を、信号ＡｄｄＣｄとして書き込み制御部３９に適切なタイミングで渡すためのＦＩＦＯバッファである。ここでの適切なタイミングとは、後述する比較部３７が比較結果を信号Ｃｏｍｐとして出力するタイミングと同期したタイミングである。
【００６５】
書き込み制御部３９は、比較部３７からの比較結果（信号Ｃｏｍｐ）を受け、サブバンク入れ換え部４２に対して、書き換えが必要なビットに対する書き込み指示（信号ＷＥ、ＡｄｄＯｗ、ＤａｔＯｗ）を出力する。信号ＤａｔＯｗは、書き込み対象データを示しており、バッファ３４から与えられるＤａｔＯと同様の内容を示すデータである。また、信号ＷＥは書き込みが必要か否かを示す信号である。また、信号ＡｄｄＯｗは列アドレス値を示し、バッファ３８から与えられるアドレス値ＡｄｄＣｄと同様の内容を示す信号であるが、出力タイミングを信号ＷＥと同期させたものである。
【００６６】
出力制御部３３は、読み出し回路４３から読み出されたデータ（信号ＤａｔＣ）を、メモリバス２１に出力するか否かを制御する手段である。より具体的には、命令解釈部３１から与えられた信号Ｒ／Ｗがアクティブ（Ｈｉｇｈ状態）である場合には、読み出し回路４３から与えられたデータをメモリバス２１に出力しない。逆に、命令解釈部３１から与えられた信号Ｒ／Ｗがインアクティブ（Ｌｏｗ状態）である場合には、読み出し回路４３から与えられたデータをメモリバス２１に出力する。言い換えれば、メモリアクセス制御部２０から与えられるコマンドが「Ｗ」である場合には、読み出し回路４３から与えられたデータをメモリバス２１に出力せず、コマンドが「Ｒ」である場合には、読み出し回路４３から与えられたデータをメモリバス２１に出力する。なお、読み出し回路４３からＤａｔＣにデータが出力されたことは、信号ＤＥがアクティブ（Ｈｉｇｈ）となることで示される。
【００６７】
サブバンク入れ換え部４２は、サブバンク５２Ａ，５２Ｂへの書き込みと読み出しの切り換えを行う。具体的には、サブバンク入れ換え部４２は、読み書き切換制御部４１から与えられる信号ＳＢＳｅｌが「Ｌｏｗ」である場合には、サブバンク５２Ａに読み出しを、サブバンク５２Ｂに書き込みを行う指示を与え、逆に信号ＳＢＳｅｌが「Ｈｉｇｈ」である場合には、サブバンク５２Ｂに読み出しを、サブバンク５２Ａに書き込みを行う指示を与える。その際、読み出しは、読み出し制御部３６からの信号ＲＥ、ＡｄｄＣｒに基づいて行われ、書き込みは書き込み制御部３９からの信号ＷＥ、ＡｄｄＯｗ、ＤａｔＯｗに基づいて行われる。
【００６８】
サブバンク入れ換え部４２は、読み出し制御部３６から与えられる信号ＲＥが「Ｈｉｇｈ」である場合にのみ読み出し指示を与える。そして、前記のように、読み書き切換制御部４１から与えられる信号ＳＢＳｅｌの値によって、サブバンク５２Ａとサブバンク５２Ｂのどちらから読み出しを行うかが決定される。つまり、信号ＳＢＳｅｌが「Ｌｏｗ」の場合には、列デコーダ５１Ａに対して読み出し指示を出すことにより、読み出し回路４３によってサブバンク５２Ａに記録されているデータが読み出され、逆に信号ＳＢＳｅｌが「Ｈｉｇｈ」の場合には、列デコーダ５１Ｂに対して読み出し指示を出すことにより、サブバンク５２Ｂに記録されているデータが読み出される。このとき、読み出し制御部３６から与えられる信号ＡｄｄＣｒによって指定されたアドレスに対応したメモリセルの読み出しが行われる。
【００６９】
また、サブバンク入れ換え部４２は、書き込み制御部３９から与えられる信号ＷＥのうち、「Ｈｉｇｈ」であるビットにのみ書き込み指示を与え、当該ビットに対する書き込み動作が実行される。そして、前記のように、読み書き切換制御部４１から与えられる信号ＳＢＳｅｌの値によって、サブバンク５２Ａとサブバンク５２Ｂのどちらに書き込みを行うかが決定される。つまり、信号ＳＢＳｅｌが「Ｌｏｗ」の場合には、列デコーダ５１Ｂに対して書き込み指示を出すことにより、サブバンク５２Ｂに対してデータの書き込みが行われ、逆に、信号ＳＢＳｅｌが「Ｈｉｇｈ」の場合には、列デコーダ５１Ａに対して書き込み指示を出すことにより、サブバンク５２Ａに対してデータの書き込みが行われる。このとき、書き込み制御部３９から与えられる信号ＡｄｄＯｗによって指定されたアドレスに対応したメモリセルに対して、書き込み制御部３９から与えられる信号ＤａｔＯｗによって指定された書き込み対象データが書き込まれる。
【００７０】
行デコーダ５３は、読み書き切換制御部４１から与えられる信号ＳＢＳｅｌの値によって、サブバンク５２Ａとサブバンク５２Ｂに対する制御を切り換える。即ち、信号ＳＢＳｅｌが「Ｌｏｗ」の場合には、サブバンク５２Ａに対して読み出し、サブバンク５２Ｂに対して書き込みのための制御を行い、「Ｈｉｇｈ」の場合には、サブバンク５２Ａに対して書き込み、サブバンク５２Ｂに対して読み出しのための制御を行う。
【００７１】
以下、図４のタイミングチャートを用いて、具体的な書き込み動作の手順を説明する。
【００７２】
図４は、本実施形態における不揮発性半導体記憶装置（メモリ）へのバースト書き込み処理の手順を示すタイミングチャートである。図４では、クロック同期式のメモリで、バースト長が４である場合が想定されている。図４の上部に記載されたｔ１〜ｔ２０の符号は、クロックの立ち上がりの時刻を示している。なお、コマンド入力からサブバンクへの読み書きまでのレイテンシについては設計事項であり、図４によって限定される要素ではない。
【００７３】
メモリ制御部３０に対し、行アドレス指定コマンド「Ａ」及び行アドレス「Ｒ１」が与えられると（時刻ｔ２）、コマンド「Ａ」を受けた命令解釈部３１は、適切なタイミング（例えばｔ３〜ｔ４間）で、信号ＣｏｍＣによって行アドレスバッファ３５に対してコマンド「Ａ」を送る。行アドレス「Ｒ１」は、一旦バッファ３２に取り込まれた後、信号ＣｏｍＣとしてコマンド「Ａ」が出力されるのと同期して信号ＡｄｄＣとして行アドレスバッファ３５及び読み出し制御部３６に対して出力される。行アドレスバッファ３５は、信号ＣｏｍＣとして入力されたコマンド「Ａ」をトリガとして、信号ＡｄｄＣとして入力された行アドレス「Ｒ１」を内部のバッファに保持する。
【００７４】
続いて、メモリ制御部３０に、書き込みコマンド「Ｗ」と指定アドレス「Ｃ１」が与えられると（時刻ｔ４）、コマンド「Ｗ」を受けた命令解釈部３１は、適切なタイミング（例えばｔ５〜ｔ６間）で、読み出し制御部３６、読み書き切換制御部４１に対して信号ＣｏｍＣとしてコマンド「Ｒ」を出力する。また、アドレス「Ｃ１」は、一旦バッファ３２に保持された後、信号ＣｏｍＣとして命令解釈部３１からコマンド「Ｒ」が出力されるのと同期して、信号ＡｄｄＣとして読み出し制御部３６に出力される。読み出し制御部３６は、信号ＣｏｍＣとして入力されるコマンド「Ｒ」をトリガとして、信号ＡｄｄＣとして入力されるアドレス「Ｃ１」を内部のバッファに保持する。また、命令解釈部３１は、適切なタイミングで信号Ｒ／Ｗを「Ｈｉｇｈ」レベルとする。図４では、命令解釈部３１がコマンド「Ｒ」を信号ＣｏｍＣに出力するタイミングをトリガとして、信号Ｒ／Ｗを「Ｈｉｇｈ」レベルとしている。
【００７５】
読み出し制御部３６は、コマンド「Ｒ」を１回受ける毎に、バースト長相当分の連続するアドレス値を信号ＡｄｄＣｒとしてサブバンク入れ換え部４２に対して出力する。ここでは、バースト長を４としているので、４回分の連続するアドレス値が信号ＡｄｄＣｒに読み出し制御部３６からサブバンク入れ換え部４２へと出力されることになる。すなわち、読み出し制御部３６は、前記ｔ５〜ｔ６間に「Ｒ」コマンドを受けた結果として、時刻ｔ６〜ｔ１０間に、読み出し制御部３６はアドレス「Ｃ１」、「Ｃ１＋１」、「Ｃ１＋２」、「Ｃ１＋３」を信号ＡｄｄＣｒとして出力するということになる。また、このアドレスを出力している間、読み出し制御部３６は「Ｈｉｇｈ」レベルの信号ＲＥを出力する。
【００７６】
また、メモリ制御部３０は、前記「Ｗ」コマンドが入力されると同時に（時刻ｔ４）、書き込み対象データの入力を受け付ける。本実施形態で説明する実施例では、バースト長が４であるので、１つの「Ｗ」コマンドに対し４つの書き込み対象データ（Ｄ０、Ｄ１、Ｄ２、Ｄ３）が入力される（時刻ｔ４〜ｔ７）。入力された書き込み対象データは、時刻ｔ８以後に、比較部３７においてサブバンク５２Ａまたは５２Ｂから読み出された既書き込みデータとの比較が行われるまで、バッファ３４で一時的に保持される。
【００７７】
図４のタイミングチャートでは、サブバンクへのアクセス開始を時刻ｔ７としているため、この時点で、行アドレスバッファ３５が行デコーダ５３に対して、行アドレス「Ｒ１」を示す信号Ｒｏｗを供給し、当該行アドレス線をアクティブ化している。もちろん、この時刻ｔ７よりも早いタイミングで当該行アドレス線をアクティブとしても良いが、同様のアクセスが連続する場合には、前記のタイミングがアクセス間隔を短くできて良い。
【００７８】
時刻ｔ７以後、読み出し制御部３６から与えられた信号ＲＥ（読み出しトリガ信号に相当）、及び信号ＡｄｄＣｒ（読み出し指定アドレス信号に相当）に基づき、サブバンク入れ換え部４２は、列デコーダ５１Ａ，５１Ｂを介して、サブバンク５２Ａ，５２Ｂへの読み出し処理を開始する。サブバンク入れ換え部４２は、読み書き切換制御部４１から入力される信号ＳＢＳｅｌの値（Ｈｉｇｈ／Ｌｏｗ）により、読み出し対象サブバンクをサブバンク５２Ａ，５２Ｂに振り分ける。このサブバンク入れ換え部４２の処理によって、各サブバンク５２Ａ，５２Ｂから交互に読み出し処理が行われる。すなわち、信号ＳＢＳｅｌが「Ｌｏｗ」の場合は、サブバンク入れ換え部４２は列デコーダ５１Ａに対して読み出し指示を行い、これによって読み出し回路４３がサブバンク５２Ａから既書き込みデータの読み出しを行う。また、信号ＳＢＳｅｌが「Ｈｉｇｈ」の場合は、サブバンク入れ換え部４２は列デコーダ５１Ｂに対して読み出し指示を行い、これによって読み出し回路４３がサブバンク５２Ｂから既書き込みデータの読み出しを行う。
【００７９】
本実施形態では、連続するアドレスが交互にサブバンク５２Ａとサブバンク５２Ｂに割り当ててられていることになるので、アドレスＣ１並びにＣ１＋２は同一のサブバンク内に存在し、アドレスＣ１＋１並びにＣ１＋３は別の同一のサブバンク内に存在することになる。ここでは、アドレスＣ１並びにＣ１＋２がサブバンク５２Ａに存在し、アドレスＣ１＋１並びにＣ１＋３がサブバンク５２Ｂ内に存在するものとして説明する。
【００８０】
サブバンク入れ換え部４２と列デコーダ５１Ａとの間では、信号ＲＷＡ，ＷＥＡ，ＡＤＡ，ＤＷＡ、ＤＲＡの各信号の授受が行われる。信号ＲＷＡは読み出しか書き込みかを示す信号であり、信号ＡＤＡは書き込みを行う列アドレスを示す信号であり、信号ＤＷＡは書き込みを行うデータ（書き込み対象データ）を示す信号であり、信号ＷＥＡはデータの書き込みを行うか否かを示す信号である。信号ＷＥＡに関しては、ここで説明しているように、１アドレスに対しデータが１ビットしかないような場合には無くても良いが、後述するように、データが多ビットである場合には、どのビットを書き込むかを示すという役割を担う。これらの４信号は、サブバンク入れ換え部４２から列デコーダ５１Ａに対して出力される。
【００８１】
また、信号ＤＲＡは、サブバンク５２Ａから読み出された既書き込みデータを示す信号であり、列デコーダ５１Ａからサブバンク入れ換え部４２に対して出力される。なお、この信号ＤＲＡは増幅前の微弱信号であり、その後、読み出し回路４３によって増幅されて、既書き込みデータＤａｔＣとして出力される構成である。
【００８２】
列デコーダ５１Ａは、信号ＲＷＡが「Ｒ」である場合、信号ＡＤＡによって指定されたアドレスに格納された既書き込みデータの読み出しを行うための電圧印加を行い、既書き込みデータは信号ＤＲＡとしてサブバンク入れ換え部４２に出力される。また、列デコーダ５１Ａは、信号ＲＷＡが「Ｗ」である場合、信号ＡＤＡによって指定されたアドレスに、信号ＤＷＡとして入力された書き込み対象データを書き込むべく電圧印加を行う。このとき、書き込みを行うか否かは信号ＷＥＡによって決定される。例えば、信号ＤＷＡ（書き込みデータ）が８ビット幅であった場合、信号ＷＥＡが「０００００００１」という値であれば、信号ＤＷＡの最下位ビットのみが書き込みを行うビットであり、残りの７ビットは書き込みを行わないビットということになる。
【００８３】
サブバンク入れ換え部４２と列デコーダ５１Ｂとの間においても、列デコーダ５１Ａとの間と同様、信号ＲＷＢ，ＷＥＢ，ＡＤＢ，ＤＷＢ，ＤＲＢの各信号の授受が行われる。信号ＲＷＢは読み出しか書き込みかを示す信号であり、信号ＡＤＢは書き込みを行う列アドレスを示す信号であり、信号ＤＷＢは書き込みを行うデータ（書き込み対象データ）を示す信号であり、信号ＷＥＢはデータの書き込みを行うか否かを示す信号である。信号ＷＥＢについても、信号ＷＥＡと同様、ここで説明しているように、１アドレスに対しデータが１ビットしかないような場合には無くても良いが、後述するように、データが多ビットである場合には、どのビットを書き込むかを示すという役割を担う。これらの４信号は、サブバンク入れ換え部４２から列デコーダ５１Ｂに対して出力される。なお、信号ＤＲＢは、サブバンク５２Ｂから読み出された既書き込みデータを示す信号であり、列デコーダ５１Ｂからサブバンク入れ換え部４２に対して出力される。なお、この信号ＤＲＢは増幅前の微弱信号であり、その後、読み出し回路４３によって増幅されて既書き込みデータＤａｔＣとして出力される構成である。
【００８４】
また、列デコーダ５１Ａと５１Ｂは、共に同一の機能を持つブロックである。
【００８５】
サブバンク入れ換え部４２は、信号ＲＥが「Ｈｉｇｈ」である間、読み出し指示を列デコーダ５１Ａまたは５１Ｂに与える。まず、時刻ｔ７〜ｔ８において、信号ＳＢＳｅｌが「Ｌｏｗ」であることより、列デコーダ５１Ａに対し、信号ＡｄｄＣｒによって指定されたアドレスＣ１に対応したメモリセルの既書き込みデータの読み出し指示を与える。このとき、行デコーダ５３によって指定された行アドレス（信号Ｒｏｗによって指定された行アドレスＲ１）がアクティブになっている。そして、時刻ｔ７〜ｔ８期間内に、列デコーダ５１Ａは、サブバンク５２ＡからアドレスＣ１に対応したメモリセルの既書き込みデータを信号ＤＲＡとしてサブバンク入れ換え部４２に送出する。
【００８６】
次に、時刻ｔ８〜ｔ９において、信号ＳＢＳｅｌが「Ｈｉｇｈ」であることより、サブバンク入れ換え部４２は、列デコーダ５１Ｂに対し、信号ＡｄｄＣｒによって指定されたアドレスＣ１＋１に対応したメモリセルの既書き込みデータの読み出し指示を与える。このとき、行デコーダ５３によって指定された行アドレス（信号Ｒｏｗによって指定された行アドレスＲ１）がアクティブになっている。そして、時刻ｔ８〜ｔ９期間内に、列デコーダ５１Ｂは、サブバンク５２ＢからアドレスＣ１＋１に対応したメモリセルの既書き込みデータを信号ＤＲＢとしてサブバンク入れ換え部４２に送出する。
【００８７】
以下同様の手順によって、時刻ｔ９〜ｔ１０に列デコーダ５１Ａはサブバンク５２ＡからアドレスＣ１＋２に対応したメモリセルの既書き込みデータを信号ＤＲＡとしてサブバンク入れ換え部４２に送出する。また、時刻ｔ１０〜ｔ１１に列デコーダ５１Ｂはサブバンク５２ＢからアドレスＣ１＋３に対応したメモリセルの既書き込みデータを信号ＤＲＢとしてサブバンク入れ換え部４２に送出する。
【００８８】
比較部３７は、命令解釈部３１から与えられる信号Ｒ／Ｗが「Ｈｉｇｈ」である場合に、読み出し回路４３から与えられる信号ＤａｔＣが示す既書き込みデータと、バッファ３４から与えられる信号ＤａｔＯが示す書き込み対象データとの比較を行い、比較結果を信号Ｃｏｍｐとして書き込み制御部３９に出力する。
【００８９】
図４では、時刻ｔ８〜ｔ１２にわたって、サブバンク入れ換え部４２によってマージされた読み出しデータ（Ｑ０〜Ｑ３）が、読み出し回路４３より信号ＤａｔＣとして比較部３７に出力される。なお、信号ＤａｔＣからデータが出力されている間、信号ＤＥがアクティブ（Ｈｉｇｈ）となっている。つまり、この信号ＤＥによって信号ＤａｔＣからデータが出力されていることを認識できる。また、この信号ＤＥは、バッファ３４に入力され、これにより、信号ＤａｔＣが比較部３７に入力されるタイミングと同期して、バッファ３４から書き込み対象データＤａｔＯが比較部３７に入力される（ｔ８〜ｔ１２）。信号ＤＥは比較部３７にも入力され、比較部３７は、この信号ＤＥがアクティブである時に、書き込み対象データＤａｔＯと既書き込みデータＤａｔＣとの比較演算を行い、比較結果を信号Ｃｏｍｐとして出力する。すなわち、時刻ｔ８〜ｔ９間には、既書き込みデータ「Ｑ０」と、書き込み対象データ「Ｄ０」とを比較し、その結果を示すデータ「Ｇ０」を書き込み制御部３９に出力する。
【００９０】
以下、アドレスを１ずつずらして読み出した既書き込みデータと、対応するアドレスの書き込み対象データとの比較を行う。すなわち、時刻ｔ９〜ｔ１０間には「Ｄ１」と「Ｑ１」を比較して比較結果を「Ｇ１」とし、時刻ｔ１０〜ｔ１１間には「Ｄ２」と「Ｑ２」を比較して比較結果を「Ｇ２」とし、時刻ｔ１１〜ｔ１２間には「Ｄ３」と「Ｑ３」を比較して比較結果を「Ｇ３」とする。すなわち、比較部３７は、時刻ｔ８〜ｔ１２にかけて、既書き込みデータＤａｔＣ（Ｑ０〜Ｑ３）と、書き込み対象データＤａｔＯ（Ｄ０〜Ｄ３）の比較結果を、信号Ｃｏｍｐ（Ｇ０〜Ｇ３）として書き込み制御部３９に出力する。
【００９１】
書き込み制御部３９は、比較部３７から入力された信号Ｃｏｍｐのデータに基づいてサブバンク入れ換え部４２に対してデータの書き込み制御を行う。具体的には、バッファ３８に保持されていたアドレスに、バッファ３４に保持されていた書き込み対象データのうち、比較部３７から指定されたビットを書き込むという指示を出す。このとき、書き込み制御部３９は、サブバンク入れ換え部４３に対し、信号ＡｄｄＯｗによってアドレスを指定し、信号ＷＥによって書き込みビットを指定し、信号ＤａｔＯｗによって書き込み対象データを指定する（時刻ｔ９〜ｔ１３間）。なお、書き込みビットを示す信号ＷＥは、比較部３７から与えられる信号Ｃｏｍｐに基づいて生成され、後述するようにデータが多ビットである場合には、既書き込みデータと書き込み対象データの比較結果が異なるビットのみが書き込みビットとして指定される。
【００９２】
サブバンク入れ換え部４２は、書き込み制御部３９から前記データ書き込み指示を受けると、列デコーダ５１Ａ，５１Ｂに対して書き込み指示を行う（時刻ｔ１０〜ｔ１４間）。このとき、一の列デコーダに対して読み出し処理が行われている間には、それとは別の列デコーダに対して書き込み指示を与える。より具体的には、例えば、時刻ｔ１０〜ｔ１１間には列デコーダ５１Ａに対して書き込み指示を与え、時刻ｔ１１〜ｔ１２間には列デコーダ５１Ｂに対して書き込み指示を与える。これにより、列デコーダ５１Ｂに対して読み出し指示が与えられている時刻ｔ１０〜ｔ１１間に、列デコーダ５１Ａに対して書き込み指示が与えられる構成となる。また、列デコーダ５１Ａに対して読み出し指示が与えられている時刻ｔ１１〜ｔ１２間に、列デコーダ５１Ｂに対して書き込み指示が与えられる構成となる。
【００９３】
このようにして、時刻ｔ４に入力された「Ｗ」コマンドに対応した書き込み対象データ（Ｄ０〜Ｄ３）は、時刻ｔ１０〜ｔ１４間において各サブバンク内に書き込みが完了する（もしくは同一の既書き込みデータがそのまま利用される）。時刻ｔ８に入力された「Ｗ」コマンドに対応した書き込み対象データ（Ｄ４〜Ｄ７）に対しても、前記と同様の処理を行う。このとき、図４を参照すれば、データＤ３の書き込みが完了した時刻ｔ１３〜ｔ１４間のタイミングに続いて、時刻ｔ１４〜ｔ１５間にデータＤ４のサブバンク５１Ａへの書き込みが行われる。すなわち、書き込みコマンド「Ｗ」が（バースト長の間隔で）連続してメモリ制御部３０に入力された場合であっても、書き込みにタイムラグが生じず、これによって書き込み速度が遅くなるということがない。
【００９４】
次に、図５のタイミングチャートを用いて、具体的な読み出し動作の手順を説明する。なお、図５の場合も、図４と同様、バースト長が４の場合を例示している。読み出し動作は、図４に示した書き込み動作手順において、比較部３７による比較処理、書き込み制御部３９及びサブバンク入れ換え部４２による書き込み指示、両列デコーダ５１Ａ，５１Ｂによる書き込み処理が行われないものと考えれば良い。
【００９５】
メモリ制御部３０に対し、行アドレス指定コマンド「Ａ」及び行アドレス「Ｒ１」が与えられると（時刻ｔ２）、書き込み動作の場合と同様、コマンド「Ａ」を受けた命令解釈部３１は、適切なタイミング（例えばｔ３〜ｔ４間）で、コマンド「Ａ」を信号ＣｏｍＣとして行アドレスバッファ３５に送る。行アドレス「Ｒ１」は、一旦バッファ３２に取り込まれた後、信号ＣｏｍＣとしてコマンド「Ａ」が出力されるのと同期して信号ＡｄｄＣとして行アドレスバッファ３５及び読み出し制御部３６に対して出力される。行アドレスバッファ３５は、信号ＣｏｍＣとして入力されたコマンド「Ａ」をトリガとして、信号ＡｄｄＣとして入力された行アドレス「Ｒ１」を内部のバッファに保持する。
【００９６】
続いて、メモリ制御部３０に、読み出しコマンド「Ｒ」と指定アドレス「Ｃ１」が与えられると（時刻ｔ４）、コマンド「Ｒ」を受けた命令解釈部３１は、適切なタイミング（例えばｔ５〜ｔ６間）で、読み出し制御部３６、読み書き切換制御部４１に対して信号ＣｏｍＣとしてコマンド「Ｒ」を出力する。また、アドレス「Ｃ１」は、一旦バッファ３２に保持された後、信号ＣｏｍＣとしてコマンド「Ｒ」が出力されるのと同期して、信号ＡｄｄＣとして読み出し制御部３６に出力される。読み出し制御部３６は、信号ＣｏｍＣとして入力されるコマンド「Ｒ」をトリガとして、信号ＡｄｄＣとして入力されるアドレス「Ｃ１」を内部のバッファに保持する。ただし、命令解釈部３１は、入力されたコマンドが読み出しコマンド「Ｒ」であるため、書き込み時と違って「Ｌｏｗ」レベルの信号Ｒ／Ｗを出力する。この信号Ｒ／Ｗは、例えば命令解釈部３１に対して書き込みコマンド「Ｗ」が入力されるまでの間、「Ｌｏｗ」レベルが維持されるものとしても構わない。
【００９７】
読み出し制御部３６は、書き込み時と同様、コマンド「Ｒ」を１回受ける毎に、バースト長相当分の連続するアドレス値を信号ＡｄｄＣｒとしてサブバンク入れ換え部４２に対して出力する。書き込み時と同様にバースト長を４とすると、前記ｔ５〜ｔ６間に受けた「Ｒ」コマンドに対し、時刻ｔ６〜ｔ１０間に、アドレス「Ｃ１」、「Ｃ１＋１」、「Ｃ１＋２」、「Ｃ１＋３」を出力する。このアドレスを出力している間、読み出し制御部３６は、「Ｈｉｇｈ」レベルの信号ＲＥを出力する。
【００９８】
そして時刻ｔ７以後、書き込み処理時の場合と同様に、読み出し制御部３６から与えられた信号ＲＥ（読み出しトリガ信号に相当）、及び信号ＡｄｄＣｒ（読み出し指定アドレス信号に相当）に基づき、サブバンク入れ換え部４２及び列デコーダ５１Ａ，５１Ｂを介して、サブバンク５２Ａ，５２Ｂへの読み出し処理が開始される。サブバンク入れ換え部４２は、読み書き切換制御部４１から入力される信号ＳＢＳｅｌの値（Ｈｉｇｈ／Ｌｏｗ）により、読み出し対象サブバンクをサブバンク５２Ａ，５２Ｂ間で振り分け、これによって、各サブバンク５２Ａ，５２Ｂから交互に読み出し処理が行われる。そして、読み出されたデータは、サブバンク入れ換え部４２を介して読み出し回路４３に与えられ、ここで増幅処理が施された後、信号ＤａｔＣとして出力制御部３３に送られる（時刻ｔ８〜ｔ１２）。信号ＤａｔＣからデータが出力されていることは信号ＤＥがアクティブ（Ｈｉｇｈ）となることで示される。出力制御部３３は、入力された信号Ｒ／Ｗが「Ｌｏｗ」レベルであることを認識し、入力された信号ＤａｔＣをメモリバス２１へと送出する。
【００９９】
一方、比較部３７は、入力された信号Ｒ／Ｗが「Ｌｏｗ」レベルであることを認識すると、比較処理を実行しない。なお、読み出し処理であるため、当然に書き込み対象データが入力されていない状態であるから、比較部３７に対して信号ＤａｔＯは入力されない構成である。
【０１００】
なお、時刻ｔ４に引き続き、時刻ｔ８において読み出しコマンド「Ｒ」、及び読み出し用行アドレス「Ｃ２」が入力された場合においても、時刻ｔ１１〜ｔ１５にかけて各サブバンクに対してアドレス「Ｃ２」、「Ｃ２＋１」、「Ｃ２＋２」、「Ｃ２＋３」に係るメモリセルの読み出し指示が行われ、これによって時刻ｔ１２〜ｔ１６にかけて当該アドレス位置のデータ読み出しが行われる。つまり、読み出しコマンド「Ｒ」が（バースト長の間隔で）連続してメモリ制御部３０に入力された場合であっても、読み出しにタイムラグが生じず、これによって読み出し速度が遅くなるということがない。同様に、読み出しコマンド「Ｒ」の後に書き込みコマンド「Ｗ」が入力された場合や、その反対の場合においても、タイムラグを生じることがない。
【０１０１】
上述したように、本実施形態のような構成とすることで、書き込みコマンド「Ｗ」が与えられた場合、実際にメモリセルに対する書き込み処理を行う前に書き込み対象のメモリセルから既書き込みデータの読み出しを行って書き込み対象データとの比較が行われる。そして、比較結果が異なる場合にのみ当該メモリセルに対して書き込み対象データの書き込み処理が行われ、比較結果が同一の場合には書き込み処理が行われない。従って、従来の書き込み処理と比較して、同一メモリセルに対して実際に書き込み用電圧が印加されて書き込み処理が行われる回数が減少する。これにより、各メモリセルを延命させることができる。
【０１０２】
そして、上述したように、一のサブバンクに対して既書き込みデータと書き込み対象データの比較を行っている間に、他のサブバンクに対して書き込み用電圧を印加して書き込み処理を行うことができる構成であるため、書き込み処理においてタイムラグが発生するということがない。従って、従来方法から書き込み処理に要する時間を長くすることなく、メモリセルを延命させることができるという効果がある。
【０１０３】
また、本実施形態の構成では、単純に書き込み処理時において、書き込み対象のアドレスに係るメモリセルの既書き込みデータと書き込み対象データの比較を行うことのみでメモリセルの延命措置が可能となる。すなわち、従来のように、書き込み回数や書き込み順序を管理する必要がないため、ビット単位で書き込み（書き換え）が可能なＲＲＡＭに対しても容易に適用することができる。
【０１０４】
上記本実施形態において、サブバンク５２Ａには偶数アドレスが、５２Ｂには奇数アドレスがそれぞれ割り当てられているものとしたが、奇偶が逆であっても良い。さらには、連続する１アドレス毎に、各サブバンク間で交互にアドレスを割り当てる必要はなく、２アドレス毎や４アドレス毎等、複数アドレス毎にサブバンク間で交互になるようにアドレスを割り当てるものとしても良い。この場合、前記複数アドレスの数はバースト長の約数であれば良い。以下の第２実施形態でも同様とする。
【０１０５】
上記本実施形態において、各信号レベルが「Ｈｉｇｈ」であるか「Ｌｏｗ」であるかは一例であり、このレベルが反転しても良い。例えば、信号ＳＢＳｅｌが「Ｌｏｗ」である場合に、サブバンク５２Ｂから読み出しを、サブバンク５２Ａに書き込みを行う指示を与え、逆に信号ＳＢＳｅｌが「Ｈｉｇｈ」である場合には、サブバンク５２Ａから読み出しを、サブバンク５２Ｂに書き込みを行う指示を与えるものとしても良い。他の信号についても同様である。
【０１０６】
なお、上述の実施形態では、図１に基づいて動作の概略を説明してきた。以下では、図２を参照し、ｊビットのデータを持つ場合の取り扱いについて説明する。
【０１０７】
図２に示す構成は、図１におけるデコーダ部（行デコーダ５３，列デコーダ５１Ａ，５１Ｂ）及びサブバンク５２Ａ、５２Ｂに代えて、行デコーダ、列デコーダＡ、列デコーダＢ、サブバンクＡ、サブバンクＢを１組としたユニット（以下メモリユニット）をｊ組備える。
【０１０８】
図２において、符号５２Ａ０、５２Ａ１、５２Ａ２、５２Ａ３、５２Ｂ０、５２Ｂ１、５２Ｂ２、５２Ｂ３はサブバンクを、符号５１Ａ０、５１Ａ１、５１Ａ２、５１Ａ３、５１Ｂ０、５１Ｂ１、５１Ｂ２、５１Ｂ２は列デコーダを、符号５３０、５３１、５３２、５３３は行デコーダをそれぞれ示している。また、各サブバンク５２Ａ０、５２Ａ１、５２Ａ２、５２Ａ３をサブバンクＡと称し、各サブバンク５２Ｂ０、５２Ｂ１、５２Ｂ２、５２Ｂ３をサブバンクＢと称する。同様に、列デコーダ５１Ａ０、５１Ａ１、５１Ａ２、５１Ａ３を列デコーダＡと称し、列デコーダ５１Ｂ０、５１Ｂ１、５１Ｂ２、５１Ｂ２を列デコーダＢと称する。なお、図２において、符号５０１、５０２、５０３、５０４は、サブバンクＡ及びＢを１組としたメモリユニットを表す。
【０１０９】
先ずは図２に示すようにｊ組のメモリユニットが搭載された装置において、図１のメモリ制御部３０内で多ビット化される信号について言及する。基本的にはデータバスのビット幅がｊビットに多ビット化されることになる。またその制御信号もｊビットに多ビット化される。具体的には、メモリバス２１と接続されるデータ、バッファ３４の出力信号ＤａｔＯ、読み出し回路４３から出力されるＤａｔＣ、ＤａｔＯとＤａｔＣを比較した結果である比較部３７の出力Ｃｏｍｐ、書き込み制御部３９の出力ＤａｔＯｗとその書き込みイネーブルＷＥ、サブバンク入れ換え部４２の出力（書き込み）データＤＷＡ、ＤＷＢと各々の書き込みイネーブルＷＥＡ、ＷＥＢ、サブバンク入れ換え部４２の入力（読み出し）データＤＲＡ、ＤＲＢが多ビット化される。Ｃｏｍｐ、ＷＥ、ＷＥＡ、ＷＥＢの各ビットは、対応するデータＤａｔＯとＤａｔＣ、ＤａｔＯｗ、ＤＷＡ、ＤＷＢの各ビットと対応している。つまり、ＤａｔＯとＤａｔＣの最下位ビット同士の比較結果をＣｏｍｐの最下位ビットが示し、ＤａｔＯｗの最上位ビットの書き込みイネーブルをＷＥＡの最上位ビットが示す。
【０１１０】
次に図２における各信号線の接続について説明する。１からｊ番目までの全ての行デコーダに対しては、信号線ＲｏｗとＳＢＳｅｌ（信号ＲｏｗとＳＢＳｅｌが流れる信号線）が接続される。これは、すなわち各メモリユニット間において、同一の信号に基づいて行アドレスと読み書きの切り換え制御が行われることを示している。また、ｋ（１からｊまでの自然数）番目の列デコーダＡに対しては、読み書きコマンドＲＷＡ、書き込みイネーブルＷＥＡ［ｋ］、列アドレスＡＤＡ、書き込みデータＤＷＡ［ｋ］、読み出しデータＤＲＡ［ｋ］の各データを流す信号線が接続される。これは、読み書きコマンドＲＷＡ、列アドレスＡＤＡに関しては全ての列デコーダＡに同じものが与えられ、読み書きコマンドＲＷＡが「Ｗ（書き込み）」を示している場合には、ＷＥＡ［ｋ］がアクティブとなっているメモリユニットにのみ書き込みデータＤＷＡ［ｋ］が書き込まれ、読み書きコマンドＲＷＡが「Ｒ（読み出し）」を示している場合には、ＷＥＡ［ｋ］がアクティブとなっているメモリユニットからのみ読み出しデータＤＲＡ［ｋ］が読み出される、ということを示している。列デコーダＢに関しても、列デコーダＡと同様である。つまり、１からｊ番目の各メモリユニットは、各データ及びデータ制御線の１からｊビット目に各々対応している。
【０１１１】
上述した図１の構成は、まさに図２におけるｊ＝１のみを図示したものであり、図４及び図５におけるタイミングチャートも、ｊ＝１の場合に関して図示したものである。逆に言えば、図２の構成では、図１におけるタイミングチャートに示されるような動作が各メモリユニット毎に実行される。
【０１１２】
以下、本実施形態における不揮発性半導体記憶装置に対する書き込み／読み出し動作の方法、並びに製造方法について簡単に説明する。なお、これらの方法は、以下の第２，第３実施形態においても同様であり、これらの実施形態内では説明を割愛する。
【０１１３】
また、以下では、一例として各サブバンクが図３に示す回路構成である場合について説明する。さらに、本実施形態における以下の説明内においては、「書き込み」を「消去」と区別して説明する。そして、可変抵抗素子Ｒが低抵抗状態にある場合を「書き込み状態」と定義し、高抵抗状態にある場合を「消去状態」と定義する。
【０１１４】
さらに、各メモリセルを構成するＲＲＡＭが図１５に示されるような構成であって、下部電極１０３から上部電極１０１に向かう極性で両端に電圧が印加されることで低抵抗状態に遷移し、逆極性の電圧が印加されることで高抵抗状態に遷移する性質を有しているものとする。そして、この上部電極１０１にビット線が接続し、下部電極１０３にソース線が接続する構成であるとする。
【０１１５】
まず、メモリセルに対する書き込み動作（可変抵抗素子の低抵抗化）について説明する。書き込み対象メモリセルが指定されると、行デコーダ５３は、当該メモリセル（選択メモリセル）に接続されるワード線（選択ワード線）に＋２Ｖを印加し、前記選択ワード線以外のワード線（非選択ワード線）に０Ｖを印加する。そして、ソース線Ｓに０Ｖを印加する。さらに、列デコーダ（５１Ａ，５２Ａ）は、選択メモリセルに接続されるビット線（選択ビット線）に＋２Ｖを印加し、前記選択ビット線以外のビット線（非選択ビット線）に０Ｖを印加する。このとき、書き込み時には、選択メモリセルを構成する可変抵抗素子Ｒの上部電極に正極性の電圧が印加される（一方下部電極は接地されている）ので、当該可変抵抗素子Ｒが低抵抗状態に遷移し、これによってデータが書き込まれる。一方、非選択セルの可変抵抗素子Ｒには電圧がかからないので、データの書き込みがなされない（データの変動がない）。
【０１１６】
なお、選択ワード線に印加する電圧は、上記説明では＋２Ｖとしたが、この値は一例であり、実際には選択トランジスタが導通するのに十分な電圧（いわゆるトランジスタの閾値電圧）以上であれば良い。また、選択ビット線に印加する電圧は、上記説明では＋２Ｖとしたが、この値は一例であり、実際には、ソース線に印加される電圧との電位差によって可変抵抗素子の抵抗状態を遷移させるのに十分な電圧（スイッチング動作の閾値電圧）以上であれば良い。
【０１１７】
なお、メモリセルの消去動作（可変抵抗素子の高抵抗化）時には、消去対象メモリセル内の可変抵抗素子の両端に印加される電圧の極性を、書き込み時に対して反転させれば良い。すなわち、書き込み時と同様、選択トランジスタを導通させるべく、行デコーダ（５１Ａ，５２Ａ）は、選択ビット線に０Ｖ，非選択ビット線に＋２Ｖを印加し、さらにソース線Ｓに＋２Ｖを印加する。これにより、選択メモリセルを構成する可変抵抗素子Ｒの下部電極に正極性の電圧が印加される（一方上部電極は接地されている）ので、当該可変抵抗素子Ｒが高抵抗状態に遷移し、これによってデータが消去される。一方、非選択セルの可変抵抗素子Ｒには電圧がかからないので、データの消去がなされない（データの変動がない）。
【０１１８】
次に、メモリセルの読み出し動作について説明する。読み出し対象メモリセルが指定されると、行デコーダ５３は、選択メモリセルに接続される選択ワード線に＋２Ｖを印加し、前記選択ワード線以外の非選択ワード線に０Ｖを印加する。そして、ソース線Ｓに０Ｖを印加する。さらに、列デコーダ（５１Ａ，５２Ａ）は、選択メモリセルに接続されるビット線（選択ビット線）に＋１Ｖを印加し、前記選択ビット線以外のビット線（非選択ビット線）に０Ｖを印加する。これにより、選択メモリセルに接続された選択トランジスタが導通した状態で、ビット線−ソース線間に読み出し用の電圧１Ｖが印加される。実際には、配線抵抗や選択トランジスタのオン抵抗が存在するため、これらの抵抗によって電圧降下が生じるため、選択メモリセル内の可変抵抗素子Ｒの両端には、１Ｖよりも低電圧（例えば０．７Ｖ程度）が印加される状態となる。
【０１１９】
この状態の下で、選択ビット線を流れる電流（読み出し電流）を検出し、読み出し回路４３によって増幅することで、電圧信号に変換し、信号ＤａｔＣとして比較部３７あるいは出力制御部３３に出力する。読み出し対象の選択メモリセルの可変抵抗素子が高抵抗状態である場合には読み出し電流が小さく、逆に低抵抗状態である場合には読み出し電流が大きいため、信号ＤａｔＣの大きさを判断することで読み出し対象メモリセル内の可変抵抗素子の抵抗状態を検出することができる。つまり、信号ＤａｔＣが小さい場合には、対象メモリセルが高抵抗状態、すなわち「消去状態」であり、逆に、信号ＤａｔＣが大きい場合には、対象メモリセルが低抵抗状態、すなわち「書き込み状態」であることが認識される。
【０１２０】
なお、読み出し動作時においても、選択ワード線に印加する電圧は、上記説明では＋２Ｖとしたが、この値は一例であり、実際には選択トランジスタが導通するのに十分な電圧（いわゆるトランジスタの閾値電圧）以上であれば良い。また、選択ビット線に印加する電圧は、上記説明では＋１Ｖとしたが、この値は一例であり、実際には、ソース線に印加される電圧との電位差によって可変抵抗素子の抵抗状態を検出可能で、且つ、同抵抗状態が変化しない範囲内（書き換え動作が起こらない範囲内）の電圧であれば良い。
【０１２１】
次に、図３に示すような１Ｔ１Ｒ型のメモリセルを備えた不揮発性半導体記憶装置の製造方法について簡単に説明する。図６は、このようなメモリセルの概略断面構造図である。なお、図６は、概念的に図示したものであり、図面上の寸法比と実際の寸法比は必ずしも一致するものではない。
【０１２２】
まず、半導体基板６０に選択トランジスタＴを形成する。即ち、素子分離領域６１を形成した半導体基板６０上にゲート絶縁膜６２、ゲート電極６３、及びドレイン拡散領域６４とソース拡散領域６５から構成される選択トランジスタＴを形成する。この際、図示はしていないが、メモリセル以外の周辺回路（前述のメモリ制御部３０等）を合わせて形成する。
【０１２３】
次に、ＢＰＳＧ（Boron Phosphorous Silicate Glass）からなる層間絶縁膜６６を形成した後、公知のフォトリソグラフィ法とドライエッチング法により選択トランジスタＴのドレイン領域６４に到達するコンタクトホール６７を開口する。そして、公知の手法で当該コンタクトホール６７内のみをＷ等の導電性の金属材料で埋め込んだコンタクトプラグを形成する。
【０１２４】
次に、コンタクトホール６７内に埋め込まれた導電性コンタクトプラグと可変抵抗素子Ｒを形成する下部電極６９との電気的接続を安定に確保するためのオーミックコンタクト層６８として、スパッタリング法によってＴｉＮ／Ｔｉ膜を厚さ１００ｎｍ／５０ｎｍの厚みで形成する。そしてオーミックコンタクト層６８上部に、ＴｉＮ膜を膜厚２００ｎｍで成膜することで下部電極６９を形成する。
【０１２５】
更に、この下部電極（ＴｉＮ膜）６９上に可変抵抗体膜７０となる酸化チタンを膜厚５〜５０ｎｍでＤＣマグネトロンスパッタリング法またはＣＶＤ法により形成する。次に、上部電極７１として厚さ１００ｎｍのＴｉＮ膜を形成する。その後、公知のフォトリソグラフィ法とドライエッチング法により上部電極７１、可変抵抗体膜７０、下部電極６９を順次加工し、可変抵抗素子Ｒを完成させる。
【０１２６】
なお、可変抵抗体膜７０は酸化チタン膜に限定されるものではなく、酸化コバルト、酸化ニッケル、酸化亜鉛、酸化ニオブ等の遷移金属元素の酸化物についても利用可能である。また、遷移金属を形成後、酸化処理を施すことで可変抵抗体膜７０を形成するものとしても良い。
【０１２７】
また、上部電極及び下部電極を、いずれもＴｉＮ（窒化チタン膜）で形成したが、電極材料は窒化チタンに限定されるものではなく、Ｔａ，Ｐｔ，Ｉｒ，Ｏｓ，Ｒｕ，Ｒｈ，Ｐｄ，Ａｌ，Ｗ等の他の金属材料を用いることもできる。
【０１２８】
このようにして可変抵抗素子Ｒが生成された後、当該可変抵抗素子Ｒ上に層間絶縁膜７２を膜厚５０〜６０ｎｍで成膜し、可変抵抗素子Ｒ（上部電極７１）に接続するコンタクトホール７４及び選択トランジスタＴのソース拡散領域６５に接続するコンタクトホール７３を開口する。
【０１２９】
次に、配線材料としてＴｉＮ／Ａｌ−Ｓｉ／ＴｉＮ／Ｔｉを成膜し、公知のフォトリソグラフィ法とドライエッチング法により加工することで配線７５及び配線７６を形成する。
【０１３０】
次に、層間絶縁膜７７を形成し、配線７５あるいは配線７６に到達するコンタクトホール（不図示）を形成した後、ＴｉＮ／Ａｌ−Ｓｉ／ＴｉＮ／Ｔｉを成膜し、公知のフォトリソグラフィ法とドライエッチング法により加工して配線７８（加工パターンは図示せず）を形成する。最後に、プラズマＣＶＤ法により表面保護膜７９としてＳｉＮ膜を形成し、メモリセル内に可変抵抗素子Ｒと選択トランジスタＴを有する半導体記憶装置が完成する。
【０１３１】
なお、上述した製造手順では、周辺回路のコンタクトホール形成、配線加工等は省略して記述しているが、それぞれメモリセル内の形成時に合わせて形成すれば良い。
【０１３２】
また、上記では、１Ｔ１Ｒ構成のメモリセルの場合における製造方法並びに駆動方法について説明をしたが、メモリセルの構成は１Ｔ１Ｒ型に限られるものではない。例えば、他の例としては、ビット線及びワード線を上部電極若しくは下部電極に夫々直接接続して、両電極間の交点（クロスポイント）にある可変抵抗体のデータを直接読み出すメモリセル構成、いわゆるクロスポイント型（１Ｒ型）のメモリセルとすることもできる。さらには、クロスポイント構成での寄生電流低減のため、可変抵抗素子Ｒとダイオードを直列に接続した１Ｄ１Ｒ構成のメモリセルとすることもできる。該ダイオードは、可変抵抗体に対して上部電極若しくは下部電極の外側に直列に接続する構造が一般的であるが、ダイオードを可変抵抗体と上部電極との間に、若しくは可変抵抗体と下部電極との間に配置する構造としても良い。ダイオードとしては、ＰＮダイオード特性又はショットキーダイオード特性を示す材料、又はＺｎＯやＢｉ２Ｏ３等のバリスタなどが用いられる。
【０１３３】
［第２実施形態］
本発明の第２実施形態（以下、適宜「本実施形態」という）につき、図７〜図８の各図を参照して説明する。
【０１３４】
本実施形態は、第１実施形態と比較して書き込み及び読み出しの処理手順が異なるのみであり、その構成要素は第１実施形態の場合（図１）と同一である。以下では、処理手順についてのみ、タイミングチャートを参照しながら説明し、各構成要素についての説明は割愛する。なお、本実施形態でも、データが１ビットの場合を想定して説明するが、図２を参照して説明したように、メモリ制御部３０に複数のメモリユニットが接続されている構成とみなすことで、多ビットのデータについても同様に扱うことができる。
【０１３５】
本実施形態は、書き込み及び読み出し処理時において、プリフェッチ技術を用いる点が第１実施形態と異なる。プリフェッチとは、近年の読み出し／書き込み速度の高速化の要求から、ＤＤＲ  ＳＤＲＡＭ（Double-Data-Rate Synchronous Dynamic Random Access Memory）等の高速なメモリで用いられている技術であり、読み出し時には、複数のメモリセルから並列に読み出したデータを一旦バッファに取り込み、１列に並べ直してメモリ外部へと出力することにより高速化を図り、逆に書き込み時には、メモリに入力されたデータ列を一旦バッファに取り込み、複数のメモリセルに並列に書き込むことにより高速化を図る技術である。
【０１３６】
図７は、本実施形態における不揮発性半導体記憶装置（メモリ）へのバースト書き込み処理の手順を示すタイミングチャートである。図７では、図４の場合と同様、クロック同期式のメモリでバースト長が４である場合が想定されている。一方で、図７では、図４の場合と違って２ビットプリフェッチが適用されている。
【０１３７】
メモリ制御部３０に対し、行アドレス指定コマンド「Ａ」及び行アドレス「Ｒ１」が与えられると（時刻ｔ２）、コマンド「Ａ」を受けた命令解釈部３１は、適切なタイミング（例えばｔ３〜ｔ４間）で、コマンド「Ａ」を信号ＣｏｍＣとして行アドレスバッファ３５に送る。行アドレス「Ｒ１」は、一旦バッファ３２に取り込まれた後、信号ＣｏｍＣとしてコマンド「Ａ」が出力されるのと同期して信号ＡｄｄＣとして行アドレスバッファ３５及び読み出し制御部３６に対して出力される。行アドレスバッファ３５は、信号ＣｏｍＣとして入力されたコマンド「Ａ」をトリガとして、信号ＡｄｄＣとして入力された行アドレス「Ｒ１」を内部のバッファに保持する。
【０１３８】
続いて、メモリ制御部３０に、書き込みコマンド「Ｗ」と指定アドレス「Ｃ１」が与えられると（時刻ｔ４）、コマンド「Ｗ」を受けた命令解釈部３１は、適切なタイミング（例えばｔ５〜ｔ６間）で、読み出し制御部３６、読み書き切換制御部４１に対して信号ＣｏｍＣとしてコマンド「Ｒ」を出力する。また、アドレス「Ｃ１」は、一旦バッファ３２に保持された後、信号ＣｏｍＣとしてコマンド「Ｒ」が出力されるのと同期して、信号ＡｄｄＣとして読み出し制御部３６に出力される。読み出し制御部３６は、信号ＣｏｍＣとして入力されるコマンド「Ｒ」をトリガとして、信号ＡｄｄＣとして入力されるアドレス「Ｃ１」を内部のバッファに保持する。また、命令解釈部３１は、適切なタイミングで信号Ｒ／Ｗを「Ｈｉｇｈ」レベルとする。
【０１３９】
読み出し制御部３６は、コマンド「Ｒ」を１回受ける毎に、バースト長相当分（ここでは４回分）の連続するアドレス値を信号ＡｄｄＣｒとしてサブバンク入れ換え部４２に対して出力する。なお、本実施形態では２ビットプリフェッチを採用しているため、２ビット毎にアドレスを指定して信号ＡｄｄＣｒを出力することになる。具体的には、前記ｔ５〜ｔ６間に受けたコマンド「Ｒ」に対しては、時刻ｔ６〜ｔ７間にアドレス「Ｃ１」を出力し、時刻ｔ８〜ｔ９間にアドレス「Ｃ１＋２」を出力する。そして、このアドレスを出力している間（時刻ｔ６〜ｔ７間、ｔ８〜ｔ９間）及びその直後の１サイクル間（時刻ｔ７〜ｔ８間、ｔ９〜ｔ１０間）にわたって、読み出し制御部３６は「Ｈｉｇｈ」レベルの信号ＲＥをサブバンク入れ換え部４２に出力する。これは、本実施形態では、サブバンクからのデータ読み出しに２サイクルを要すること（２ビットプリフェッチが適用されること）が前提となっているため、サブバンクへのアクセス自体を２サイクル周期とする必要があり、読み出し／書き込みの切り換えも２サイクル周期とする必要がある。そこで、読み出し／書き込みの切り換え制御のための信号ＲＥも、２サイクル周期で切り換わる信号としている。ちなみに、４ビットプリフェッチを適用した場合には、４サイクル周期とすれば良いことになる。
【０１４０】
また、第１実施形態の場合と同様、メモリ制御部３０は、前記「Ｗ」コマンドが入力されると同時に（時刻ｔ４）、書き込み対象データの入力も開始される。本実施形態で説明する実施例では、バースト長が４であるので、１つの「Ｗ」コマンドに対し４つの書き込み対象データ（Ｄ０、Ｄ１、Ｄ２、Ｄ３）が入力される（時刻ｔ４〜ｔ７）。入力された書き込み対象データは、時刻ｔ９以後に、比較部３７においてサブバンク５２Ａまたは５２Ｂから読み出された既書き込みデータとの比較が行われるまで、バッファ３４で一時的に蓄積される。
【０１４１】
図７のタイミングチャートでは、図４の場合と同様、サブバンクへのアクセス開始を時刻ｔ７としているため、この時点で、行アドレスバッファ３５が行デコーダ５３に対して行アドレス「Ｒ１」を示す信号Ｒｏｗを供給し、当該行アドレス線をアクティブ化している。もちろん、この時刻ｔ７よりも早いタイミングで当該行アドレス線をアクティブとしても良い。
【０１４２】
時刻ｔ７以後、読み出し制御部３６から与えられた信号ＲＥ（読み出しトリガ信号に相当）、及び信号ＡｄｄＣｒ（読み出し指定アドレス信号に相当）に基づき、サブバンク入れ換え部４２は、列デコーダ５１Ａ，５１Ｂを介して、サブバンク５２Ａ，５２Ｂへの読み出し処理を開始する。サブバンク入れ換え部４２は、読み書き切換制御部４１から入力される信号ＳＢＳｅｌが「Ｌｏｗ」の場合は、列デコーダ５１Ａに対して読み出し指示を行い、信号ＳＢＳｅｌが「Ｈｉｇｈ」の場合は、列デコーダ５１Ｂに対して読み出し指示を行う。すなわち、サブバンク入れ換え部４２は、信号ＳＢＳｅｌによって読み出し対象となるサブバンクを５２Ａと５２Ｂの間で入れ換える。このとき、前記のとおり、本実施形態の場合には、サブバンクへのアクセスを２サイクル周期とする必要があるため、信号ＳＢＳｅｌによる読み出し対象サブバンクの切り換えタイミングも２サイクル周期となる。
【０１４３】
そして、本実施形態では、連続する２アドレスが同一のサブバンク内に割り当てられ、２アドレス毎に異なるサブバンクに割り当てられる構成である。すなわち、アドレスＣ１及びＣ１＋１は同一のサブバンク内に存在する一方、アドレスＣ１＋２及びＣ１＋３は、別のサブバンク内に存在することになる。ここでは、アドレスＣ１及びＣ１＋１がサブバンク５２Ａに存在し、アドレスＣ１＋２及びＣ１＋３がサブバンク５２Ｂ内に存在するものとして説明する。
【０１４４】
サブバンク入れ換え部４２は、信号ＲＥが「Ｈｉｇｈ」である間、読み出し指示を列デコーダ５１Ａまたは５１Ｂに与える。まず、時刻ｔ７〜ｔ８において、信号ＳＢＳｅｌが「Ｌｏｗ」であることより、列デコーダ５１Ａに対し、信号ＡｄｄＣｒによって指定されたアドレスＣ１及び、このアドレスＣ１に連続するアドレス（すなわちアドレスＣ１＋１）に対応したメモリセルの既書き込みデータの読み出し指示を与える。このとき、行アドレスは、行デコーダ５３によって指定された行アドレス（信号Ｒｏｗによって指定された行アドレスＲ１）がアクティブとなっている。そして、時刻ｔ７〜ｔ９までの間に、列デコーダ５１Ａはサブバンク５２ＡからアドレスＣ１及びＣ１＋１に対応したメモリセルの既書き込みデータを信号ＤＲＡとしてサブバンク入れ換え部４２に送出する（データＱ０，Ｑ１）。
【０１４５】
第１実施形態の場合、時刻ｔ７〜ｔ８間に、読み出しコマンド「Ｒ」及び読み出し指定アドレス「Ｃ１」が与えられると、当該アドレスＣ１に対応したメモリセルの既書き込みデータが読み出された。これに対し、本実施形態の場合、完全に既書き込みデータの読み出しが完了するまでには時刻ｔ７〜ｔ９までの時間を要する一方、読み出し対象アドレスは「Ｃ１」及び「Ｃ１＋１」の２つのアドレスとなる。つまり、列デコーダ５１Ａへの読み出しコマンド入力から、読み出しデータＤＲＡの出力まで２サイクルの時間を要する反面、２アドレス分のデータが読み出される構成であるため、結果として、第１実施形態と同様に、１サイクル当たり１アドレス分のデータが得られることになる。
【０１４６】
次に、時刻ｔ９〜ｔ１０において、信号ＳＢＳｅｌが「Ｈｉｇｈ」であることより、サブバンク入れ換え部４２は、列デコーダ５１Ｂに対し、信号ＡｄｄＣｒによって指定されたアドレスＣ１＋２、及び、このアドレスＣ１＋２に連続するアドレス（すなわちアドレスＣ１＋３）に対応したメモリセルの既書き込みデータの読み出し指示を与える。このとき、行デコーダ５３によって指定された行アドレスがアクティブとなっている（信号Ｒｏｗによって指定された行アドレスＲ１）。そして、時刻ｔ９〜ｔ１１までの間に、列デコーダ５１Ｂはサブバンク５２ＢからアドレスＣ１＋２及びＣ１＋３に対応したメモリセルの既書き込みデータを信号ＤＲＢとしてサブバンク入れ換え部４２に送出する（データＱ２，Ｑ３）。
【０１４７】
そして、時刻ｔ９〜ｔ１０間に、サブバンク入れ換え部４２によってマージされた読み出しデータ（Ｑ０〜Ｑ１）が、読み出し回路４３において増幅された後、信号ＤａｔＣとして比較部３７に出力される。同様に、時刻ｔ１１〜ｔ１２間に、サブバンク入れ換え部４２によってマージされた読み出しデータ（Ｑ２〜Ｑ３）が、読み出し回路４３において増幅された後、信号ＤａｔＣとして比較部３７に出力される。信号ＤａｔＣからデータが出力されていることは、信号ＤＥがアクティブ（Ｈｉｇｈ）となることで示される。
【０１４８】
比較部３７は、命令解釈部３１から与えられる信号Ｒ／Ｗが「Ｈｉｇｈ」である場合に、信号ＤＥがアクティブであると比較演算を行う。このとき、信号ＤＥをトリガとして、前記信号ＤａｔＣと、バッファ３４から出力される書き込み対象データＤａｔＯとの比較を行う。具体的には、比較部３７は、時刻ｔ９〜ｔ１０間には書き込み対象データであるＤ０〜Ｄ１と、サブバンク５２Ａから読み出したＱ０〜Ｑ１を比較し、その結果をデータＧ０〜Ｇ１として書き込み制御部３９に出力する（信号Ｃｏｍｐ）。同様に、比較部３７は、時刻ｔ１１〜ｔ１２間には書き込み対象データであるＤ２〜Ｄ３と、サブバンク５２Ｂから読み出したＱ２〜Ｑ３を比較し、その結果をデータＧ２〜Ｇ３として書き込み制御部３９に出力する（信号Ｃｏｍｐ）。
【０１４９】
書き込み制御部３９は、比較部３７から入力された信号Ｃｏｍｐのデータに基づいてサブバンク入れ換え部４２に対してデータの書き込み制御を行う。具体的には、バッファ３８に保持されていたアドレスに、バッファ３４に保持されていた書き込み対象データのうち、比較部３７から指定されたビットを書き込むという指示を出す。このとき、書き込み制御部３９は、サブバンク入れ換え部４２に対し、信号ＡｄｄＯｗによってアドレスを指定し、信号ＷＥによって書き込みビットを指定し、信号ＤａｔＯｗによって書き込み対象データを指定する（時刻ｔ１０〜ｔ１１間、ｔ１２〜ｔ１３間）。なお、書き込みビットを示す信号ＷＥは、比較部３７から与えられる信号Ｃｏｍｐに基づいて生成され、既書き込みデータと書き込み対象データの比較結果が異なるビットのみが書き込みビットとして指定される。
【０１５０】
サブバンク入れ換え部４２は、書き込み制御部３９から前記データ書き込み指示を受けると、列デコーダ５１Ａ，５１Ｂに対して書き込み指示を行う（時刻ｔ１３〜ｔ１７間）。このとき、一の列デコーダに対して読み出し処理が行われている間には、それとは別の列デコーダに対して書き込み指示を与える。より具体的には、例えば、時刻ｔ１３〜ｔ１５間には列デコーダ５１Ａに対して書き込み指示を与え、時刻ｔ１５〜ｔ１７間には列デコーダ５１Ｂに対して書き込み指示を与える。これにより、列デコーダ５１Ｂに対して読み出し指示が与えられている時刻ｔ１３〜ｔ１５間に、列デコーダ５１Ａに対して書き込み指示が与えられる構成となる。また、列デコーダ５１Ａに対して読み出し指示が与えられている時刻ｔ１５〜ｔ１７間に、列デコーダ５１Ｂに対して書き込み指示が与えられる構成となる。
【０１５１】
なお、列デコーダ５１Ａに出力される信号ＷＥＡと、列デコーダ５１Ｂに出力される信号ＷＥＢは、前述した信号ＷＥによる書き込みビットの指定が反映されているため、前記比較部３７による比較結果が異なるビットのみが指定された信号となる。すなわち、各サブバンク５２Ａ，５２Ｂの双方とも、書き込み対象データが既書き込みデータと異なる値を取ったビットのみが書き込まれることになる。
【０１５２】
また、図７では、信号ＤＷＡ，ＤＷＢは一部破線で示されている。これは本実施形態が各メモリセルへの書き込みに２サイクルを要する方式であることから、一サイクル前から引き続いて書き込み処理が行われ、この２サイクル目に書き込み処理が完了することを示すものである。
【０１５３】
本実施形態においては、サブバンクに対するアクセスが、読み出しサイクル２サイクルと、書き込みサイクル２サイクルの繰り返しで行われるため、書き込み制御部３９が書き込み指示を出力した後、サブバンク入れ換え部４２が列デコーダ５１Ａ，５１Ｂに書き込み指示を出すまでに２サイクルのタイミング調整時間が必要となる（図７における信号ＲＷＡとＲＷＢのタイミングを参照）。このタイミング調整やこれに要するバッファリングも、サブバンク入れ換え部４２内で行われるものとして良い。
【０１５４】
このようにして、時刻ｔ４に入力された「Ｗ」コマンドに対応した書き込み対象データ（Ｄ０〜Ｄ３）は、時刻ｔ１３〜ｔ１７間において各サブバンク内に書き込みが完了する（もしくは同一の既書き込みデータがそのまま利用される）。時刻ｔ８に入力された「Ｗ」コマンドに対応した書き込み対象データ（Ｄ４〜Ｄ７）に対しても、前記と同様の処理を行う。このとき、図７を参照すれば、データＤ２及びＤ３の書き込みが完了した時刻ｔ１５〜ｔ１７間のタイミングに続いて、時刻ｔ１７〜ｔ１９間にデータＤ４及びＤ５のサブバンク５１Ａへの書き込みが行われる。すなわち、書き込みコマンド「Ｗ」が（バースト長の間隔で）連続してメモリ制御部３０に入力された場合であっても、書き込みにタイムラグが生じず、これによって書き込み速度が遅くなるということがない。そして、このように書き込みコマンド「Ｗ」が（バースト長の間隔で）連続して入力された場合であっても、書き込みに要する時間を確保することができており、書き込みエラーになることもない。
【０１５５】
次に、図８のタイミングチャートを用いて、具体的な読み出し動作の手順を説明する。なお、図８の場合も、図７と同様、バースト長が４の場合を例示している。読み出し動作は、図７に示した書き込み動作手順において、比較部３７による比較処理、書き込み制御部３９及びサブバンク入れ換え部４２による書き込み指示、両列デコーダ５１Ａ，５１Ｂによる書き込み処理が行われないものと考えれば良い。
【０１５６】
メモリ制御部３０に対し、行アドレス指定コマンド「Ａ」及び行アドレス「Ｒ１」が与えられると（時刻ｔ２）、書き込み動作の場合と同様、コマンド「Ａ」を受けた命令解釈部３１は、適切なタイミング（例えばｔ３〜ｔ４間）で、コマンド「Ａ」を信号ＣｏｍＣとして行アドレスバッファ３５に送る。行アドレス「Ｒ１」は、一旦バッファ３２に取り込まれた後、信号ＣｏｍＣとしてコマンド「Ａ」が出力されるのと同期して信号ＡｄｄＣとして行アドレスバッファ３５及び読み出し制御部３６に対して出力される。行アドレスバッファ３５は、信号ＣｏｍＣとして入力されたコマンド「Ａ」をトリガとして、信号ＡｄｄＣとして入力された行アドレス「Ｒ１」を内部のバッファに保持する。
【０１５７】
続いて、メモリ制御部３０に、読み出しコマンド「Ｒ」と指定アドレス「Ｃ１」が与えられると（時刻ｔ４）、コマンド「Ｒ」を受けた命令解釈部３１は、適切なタイミング（例えばｔ５〜ｔ６間）で、読み出し制御部３６、読み書き切換制御部４１に対して信号ＣｏｍＣとしてコマンド「Ｒ」を出力する。また、アドレス「Ｃ１」は、一旦バッファ３２に保持された後、信号ＣｏｍＣとしてコマンド「Ｒ」が出力されるのと同期して、信号ＡｄｄＣとして読み出し制御部３６に出力される。読み出し制御部３６は、信号ＣｏｍＣとして入力されるコマンド「Ｒ」をトリガとして、信号ＡｄｄＣとして入力されるアドレス「Ｃ１」を内部のバッファに保持する。ただし、命令解釈部３１は、入力されたコマンドが読み出しコマンド「Ｒ」であるため、書き込み時と違って「Ｌｏｗ」レベルの信号Ｒ／Ｗを出力する。この信号Ｒ／Ｗは、例えば命令解釈部３１に対して書き込みコマンド「Ｗ」が入力されるまでの間、「Ｌｏｗ」が維持されるものとしても構わない。
【０１５８】
読み出し制御部３６は、書き込み時と同様、コマンド「Ｒ」を１回受ける毎に、バースト長相当分の連続するアドレス値を信号ＡｄｄＣｒとしてサブバンク入れ換え部４２に対して出力する。ただし、本実施形態の場合、２ビットプリフェッチを採用しているため、２ビット毎にアドレスを指定して信号ＡｄｄＣｒを出力する。具体的には、前記ｔ５〜ｔ６間に受けた「Ｒ」コマンドに対し、時刻ｔ６〜ｔ７間にアドレス「Ｃ１」を出力し、時刻ｔ８〜ｔ９間にアドレス「Ｃ１＋２」を出力する。そして、このアドレスを出力している間（時刻ｔ６〜ｔ７間、ｔ８〜ｔ９間）及びその直後の１サイクル間（時刻ｔ７〜ｔ８間、ｔ９〜ｔ１０間）にわたって、読み出し制御部３６は「Ｈｉｇｈ」レベルの信号ＲＥをサブバンク入れ換え部４２に出力する。
【０１５９】
そして時刻ｔ７以後、書き込み処理時の場合と同様に、読み出し制御部３６から与えられた信号ＲＥ（読み出しトリガ信号に相当）、及び信号ＡｄｄＣｒ（読み出し指定アドレス信号に相当）に基づき、サブバンク入れ換え部４２及び列デコーダ５１Ａ，５２Ｂを介して、サブバンク５２Ａ，５２Ｂへの読み出し処理が開始される。サブバンク入れ換え部４２は、読み書き切換制御部４１から入力される信号ＳＢＳｅｌの値（Ｈｉｇｈ／Ｌｏｗ）により、読み出し対象サブバンクをサブバンク５２Ａ，５２Ｂ間で振り分け、これによって、各サブバンク５２Ａ，５２Ｂから交互に読み出し処理が行われる。そして、読み出されたデータ（Ｑ０〜Ｑ１）は、サブバンク入れ換え部４２を介して読み出し回路４３に与えられ、ここで増幅処理が施された後、信号ＤａｔＣとして出力制御部３３に送られる（時刻ｔ９〜ｔ１２）。信号ＤａｔＣからデータが出力されていることは、信号ＤＥがアクティブ（Ｈｉｇｈ）となることで示される。出力制御部３３は、入力された信号Ｒ／Ｗが「Ｌｏｗ」レベルであることを認識し、さらに信号ＤＥがアクティブである場合に、入力された信号ＤａｔＣをメモリバス２１へと送出する。
【０１６０】
なお、本実施形態では、２つのデータ（例えばＱ０とＱ１）が信号ＤａｔＣとして読み出し回路４３から出力制御部３３に送られる構成である。このため、２データを２サイクルの時間を用いて信号ＤａｔＣとして出力するものとして良いし、１サイクル毎に１データずつ順次読み出すものとしても良い（図８は後者）。後者の場合、例えば時刻ｔ９〜ｔ１０間にデータＱ０を信号ＤａｔＣとして出力し、時刻ｔ１０〜ｔ１１間にデータＱ０を信号ＤａｔＣとして出力する構成とすることができる。この場合、出力制御部３３は、信号ＤａｔＣが示すデータを１サイクル時間バッファリング可能な構成となる。
【０１６１】
このようにして、アドレスＣ１〜Ｃ１＋３に対応したメモリセルのデータ（Ｑ１〜Ｑ３）が、時刻ｔ１０〜ｔ１４にかけて読み出される。
【０１６２】
なお、時刻ｔ４に引き続き、時刻ｔ８において読み出しコマンド「Ｒ」、及び読み出し用行アドレス「Ｃ２」が入力された場合においても、時刻ｔ１１〜ｔ１５にかけて各サブバンクに対してアドレスＣ２〜Ｃ２＋３に係るメモリセルの読み出し指示が行われ、これによって時刻ｔ１４〜ｔ１８にかけて当該アドレス位置のデータがメモリ制御部のデータバスから出力される。つまり、読み出しコマンド「Ｒ」が（バースト長の間隔で）連続してメモリ制御部３０に入力された場合であっても、読み出しにタイムラグが生じず、これによって読み出し速度が遅くなるということがない。同様に、読み出しコマンド「Ｒ」の後に書き込みコマンド「Ｗ」が入力された場合や、その反対の場合においても、タイムラグを生じることがない。
【０１６３】
以上、本実施形態では、２ビットプリフェッチを適用した場合のメモリの動作内容について説明したが、それ以上の多ビットプリフェッチを適用したメモリにおいても同様の方法で書き込み／読み出しを実行することができる。そして、本実施形態も、第１実施形態の場合と同様、書き込みコマンド「Ｗ」が与えられた場合、実際にメモリセルに対する書き込み処理を行う前に書き込み対象のメモリセルから既書き込みデータの読み出しを行って書き込み対象データとの比較を行い、比較結果が異なる場合にみ当該メモリセルに対して書き込み対象データの書き込み処理を行う構成である。従って、従来の書き込み処理と比較して、同一メモリセルに対して実際に書き込み用電圧が印加されて書き込み処理が行われる回数が減少する。これにより、各メモリセルを延命させることができる。
【０１６４】
［第３実施形態］
本発明の第３実施形態（以下、適宜「本実施形態」という）につき、図９〜図１４の各図を参照して説明する。
【０１６５】
本実施形態は、第１及び第２実施形態と比較して、サブバンク（メモリセルアレイ）を一つ有する構成である。すなわち、第１及び第２実施形態のように、複数のサブバンク間で書き込みと読み出しを並列して実行するという処理が行えない構成である。
【０１６６】
すなわち、本実施形態は、既書き込みデータを読み出して書き込み対象データとの比較結果が異なっている場合に、対象となるメモリセルに対して書き込み対象データの書き込みを行っている間、別のメモリセルの既書き込みデータを読み出して、書き込み対象データと比較を行うという形態を採用することができない。このため、連続して書き込み対象データを入力されても、一の書き込み処理が完了するまで次の書き込み対象データと既書き込みデータとの比較処理が行えない。すなわち、本実施形態の場合には、一のアドレス毎にデータ読み出しまたは書き込みの処理を実行する必要があることから、メモリアクセスをバーストにする意味はない。従って、以下ではメモリアクセスの設定がバーストでないものとして説明を行う。
【０１６７】
図９は、本実施形態における不揮発性半導体記憶装置の概念的構造を示すブロック図であり、図１に示す構成図と比較して、サブバンク５２Ｂ、列デコーダ５１Ｂを備えない。すなわち、サブバンク（メモリセルアレイ）５２Ａを単独で備える構成であるため、読み出しと書き込みを切り換えながら実行するという制御が不要である。このため、図１における読み書き切換制御部４１を備えない。また、読み出しや書き込みのタイミングを制御する必要がないため、読み出し制御部３６や書き込み制御部３９も不要である。さらに、複数のサブバンクを入れ換えるという動作を伴わないため、当然にサブバンク入れ換え部４２を備えない。
【０１６８】
また、バースト読み出しやバースト書き込みを行わない構成であるため、入力される一のアドレスに基づいて、バースト長相当分連続するアドレスを演算して展開する必要がない。このため、読み出し制御部３６及びバッファ３８が不要である。
【０１６９】
このため、図９に示すように、本実施形態における不揮発性半導体記憶装置のメモリ制御部３０は、命令解釈部３１、バッファ３２、出力制御部３３、バッファ３４、行アドレスバッファ３５、比較部３７、読み出し／書き込み制御部４０、及び読み出し回路４３を備える構成である。なお、読み出し／書き込み制御部４０は、内部にアドレスバッファ４４を備える。
【０１７０】
なお、本実施形態においても、第１実施形態と同様、図９におけるデコーダ部（行デコーダ５３，列デコーダ５１Ａ）及びサブバンク５２Ａは、説明の都合上、１アドレスに対し１ビットのデータを持つ形態を想定した図示となっている。多ビットのデータを扱う場合には、これらは図１０に示されるような構成を取る。言い換えれば、図１０にされる複数の各メモリユニットや各デコーダ部を、まとめて一つに図示したのが図９の構成である。なお、図１０は、第１実施形態で説明した図２から、サブバンクＢ及び列デコーダＢを削除した構成であるため、説明の重複を避けるべく、各構成要素の接続関係等の説明を省略する。
【０１７１】
本実施形態における書き込み動作について図１１のタイミングチャートを参照して説明する。
【０１７２】
ＣＰＵ１０からメモリアクセス制御部２０に、ＣＰＵバスコマンド（書き込み）「ＣＷ」，ＣＰＵバスアドレス「ＣＡ１」，及びＣＰＵバスデータ（書き込み対象データ）「ＣＤ１」が送られると、メモリアクセス制御部２０はこれをメモリ制御部３０に適した形式に変換し、メモリバス２１を介して、メモリ制御部３０に送出する。具体的には、ＣＰＵバスアドレス「ＣＡ１」を上位部分「ＡＡ１（行アドレス）」と下位部分「ＷＡ１（列アドレス）」とに分割し、メモリバス２１のコマンドに「ＡＣ（行アドレス指定コマンド）」を出力した時に行アドレス「ＡＡ１」を、メモリバス２１のコマンドに「ＷＣ（書き込みコマンド）」を出力した時に列アドレス「ＷＡ１」を、メモリバス２１のアドレスに出力する。結果として、メモリバス２１のコマンドに出力された「ＡＣ」と「ＷＣ」は命令解釈部３１に与えられ、メモリバス２１のアドレスに出力された「ＡＡ１」と「ＷＡ１」はバッファ３２に与えられる。また、メモリバス２１のコマンドに「ＷＣ」を出力した際には、メモリバスデータ２１のデータに「ＷＤ１」が出力され、バッファ３４に供給される。尚、前記「ＷＤ１」は前記「ＣＤ１」と同一値である。
【０１７３】
命令解釈部３１は、入力されたコマンドが行アドレス指定コマンド「ＡＣ」であることを認識すると、これを信号ＣｏｍＣとして行アドレスバッファ３５に送る。それと同期して、バッファ３２から信号ＡｄｄＣとして行アドレス「ＡＡ１」が行アドレスバッファ３５に送られるので、行アドレスバッファ３５は行アドレス指定コマンド「ＡＣ」をトリガとして、行アドレス「ＡＡ１」を信号Ｒｏｗとして行デコーダ５３に送る。行デコーダ５３はサブバンク５２Ａのこの信号Ｒｏｗで指定された行アドレスをアクティブとする。
【０１７４】
また、命令解釈部３１は、入力されたコマンドが書き込みコマンド「ＷＣ」であることを認識すると、これを信号ＣｏｍＣとして読み出し／書き込み制御部４０に送る。これに同期して、バッファ３２から信号ＡｄｄＣとして列アドレス「ＷＡ１」が読み出し／書き込み制御部４０に送られるので、読み出し／書き込み制御部４０は、前記ＣｏｍＣとして送られてきた「ＷＣ」をトリガとして、内部のアドレスバッファ４４にこの「ＷＡ１」を記憶する。命令解釈部３１は、書き込みコマンド「ＷＣ」を受け取ると、第１実施形態と同様、信号Ｒ／Ｗをアクティブ（Ｈｉｇｈ状態）にして出力制御部３３及び比較部３７に与える。
【０１７５】
読み出し／書き込み制御部４０は、前記のように書き込みコマンド「ＷＣ」により、書き込み処理の指示を受けると、アドレスバッファ４４に書き込みアドレス「ＷＡ１」が書き込まれた後で、メモリバス２５を介して、列デコーダ５１Ａに対し読み出しコマンド「ＲＣ」と読み出しアドレスを出力する。なお、このときの読み出しアドレス値には、バッファ３２から信号ＡｄｄＣとして与えられ、アドレスバッファ４４に記憶されていた書き込みアドレス「ＷＡ１」を用いる。
【０１７６】
列デコーダ５１Ａは、前記読み出しコマンド「ＲＣ」及び読み出しアドレス「ＷＡ１」を受け取ると、同アドレスに対応したメモリセル（選択メモリセル）の両端に読み出し用電圧が印加されるよう、ビット線に所定電圧を印加する。なお、ワード線、ソース線は、行アドレスバッファ３５から信号Ｒｏｗとして行デコーダに行アドレス「ＡＡ１」が与えられた時点で選択メモリセルに所定電圧が印加（アクティブ化）されている。そして、前記選択メモリセルに接続される電圧線を流れる電流値を、読み出し／書き込み制御部４０を介して読み出し回路４３によって読み出す。これによって、前記選択メモリセルに格納されている既書き込みデータＲＤ１が読み出される。
【０１７７】
読み出し回路４３は、既書き込みデータＲＤ１を信号ＤａｔＣとして比較部３７に出力する。また、前記データＲＤ１の出力タイミングを示す信号ＤＥを比較部３７に出力する。比較部３７は、信号Ｒ／Ｗがアクティブ（Ｈｉｇｈ状態）であるため、前記信号ＤＥにより読み出しデータＲＤ１が出力されていることを検知すると、その読み出しデータＲＤ１と信号ＤａｔＯとしてバッファ３４から与えられる書き込み対象データＷＤ１との比較を行う。そして、比較した結果Ｃｏｍｐ（図１１上ではＣｍｐ１に相当）が不一致であった場合には、読み出し／書き込み制御部４０に書き込み処理の実行を指示し、読み出し／書き込み制御部４０によって同メモリセルに対して書き込み対象データＷＤ１の書き込み指示が与えられる。一方、前記比較結果Ｃｍｐ１が一致であった場合には何も行わない
【０１７８】
具体的には、読み出し／書き込み制御部４０は、前記書き込み処理の実行を指示されると、メモリバス２５を介して、列デコーダ５１Ａに対し、書き込みコマンドＷＣ１、書き込みアドレス、及び書き込み対象データを出力する。書き込みアドレスには、バッファ３２から信号ＡｄｄＣとして与えられ、アドレスバッファ４４に記憶されていたアドレスＷＡ１を用い、書き込み対象データには、バッファ３４から信号ＤａｔＯとして与えられるデータＷＤ１を用いる。なお、バッファ３４はＦＩＦＯバッファであり、入力された書き込み対象データを一定期間遅延させて出力するようになっている。本実施形態においては、図１１に示したように、バッファ３４にデータが入力されてから比較部３７で比較が行われるまでの時間間隔は一定であるので、ＦＩＦＯを用いて遅延させるだけで足りる。列デコーダ５１Ａは、前記書き込みコマンド、書き込みアドレス、及び書き込み対象データを受け取ると、同アドレスに対応したメモリセル（選択メモリセル）の両端に、前記書き込み対象データを書き込むための書き込み用電圧が印加されるようビット線に所定電圧を印加する。なおワード線、ソース線は、前記読み出し処理の時と同様に、行アドレスバッファ３５から信号Ｒｏｗとして行デコーダに「ＡＡ１」が与えられた時点で選択メモリセルに所定電圧が印加（アクティブ化）されている。以上のようにして、前記選択メモリセルに対して書き込み処理が実行される。
【０１７９】
ＣＰＵバスコマンドを発行してから一定時間経過すると、本実施形態の不揮発性半導体記憶装置は、新たなコマンド入力を受け付けるようになる。前記一定時間とは、直前のコマンド処理に影響を及ぼさない最短の時間のことである。これを図１１を例に説明する。ＣＰＵ１０から出されたアドレス「ＣＡ１」にデータ「ＣＤ１」を書き込むコマンドＣＷが正常に完了するためには、メモリバス２５のコマンドに「ＷＣ」が入力されるまで、行デコーダに信号Ｒｏｗとして入力される値が「ＡＡ１」であり続ける必要がある。従って、次のコマンドはそれを満たすような時間つまり、図１１中の「最小書き込み時間」だけ間を置いて入力されなければならないことになる。
【０１８０】
なお、同図における２回目の書き込み処理は、書き込み対象データＷＤ２（＝ＣＤ２）と書き込みアドレスＷＡ２の既書き込みデータが一致している場合（比較部３７における比較結果Ｃｍｐ２が一致を示している場合）を示している。この場合、比較処理完了後、実際には読み出し／書き込み制御部４０からメモリセルに対して書き込み処理の指示が与えられないため、図１１上では、コマンドＷＣ，アドレスＷＡ２，データＷＤ２を破線で表し、実際には書き込み処理が行われないことを示している。
【０１８１】
なお、書き込み処理時には、命令解釈部３１から出力制御部３３に「Ｈｉｇｈ」状態を示す信号Ｒ／Ｗが与えられるため、比較処理のために読み出し回路４３によって読み出された既書き込みデータはデータバス２１に出力されない。
【０１８２】
本実施形態では、メモリセルへの書き込み処理の際、１）メモリセルからの既書き込みデータの読み出し処理、２）既書き込みデータと書き込み対象データの比較処理、３）メモリに対する書き込み対象データの書き込み処理、という各手順を順次処理するため、メモリ書き込みに要する時間が従来のメモリよりも、読み出し並びに比較処理を行う分だけ長くなる。従って、ＣＰＵ１０は、前記メモリセルに対する書き込み処理に要する最大時間（すなわち比較結果が異なる場合における書き込み処理が完了するまでの時間）よりも長い時間を持ってから、各コマンドを出力する必要がある。これは、例えば、ＣＰＵ１０自身が書き込みコマンドの出力間隔を長くすることで対処可能である。
【０１８３】
次に、本実施形態における読み出し動作について図１２のタイミングチャートを参照して説明する。
【０１８４】
ＣＰＵ１０からメモリアクセス制御部２０に、ＣＰＵバスコマンド（読み出し）ＣＲ，及びＣＰＵバスアドレスＣＡ１が送られると、メモリアクセス制御部２０は、これをメモリ制御部３０に適した形式に変換し、メモリバス２１を介して、メモリ制御部３０に送出する。具体的には、ＣＰＵバスアドレス「ＣＡ１」を上位部分「ＡＡ１（行アドレス）」と下位部分「ＲＡ１（列アドレス）」とに分割し、メモリバス２１のコマンドに「ＡＣ（行アドレス指定コマンド）」を出力した時に「ＡＡ１」を、メモリバス２１のコマンドに「ＲＣ（読み出しコマンド）」を出力した時に「ＲＡ１」を、メモリバス２１のアドレスに出力する。結果として、メモリバス２１のコマンドに出力された「ＡＣ」と「ＲＣ」は命令解釈部３１に与えられ、メモリバス２１のアドレスに出力された「ＡＡ１」と「ＲＡ１」はバッファ３２に与えられる。
【０１８５】
命令解釈部３１は、入力されたコマンドが行アドレス指定コマンド「ＡＣ」であることを認識すると、これを信号ＣｏｍＣとして行アドレスバッファ３５に送る。それと同期して、バッファ３２から信号ＡｄｄＣとして行アドレス「ＡＡ１」が行アドレスバッファ３５に送られるので、行アドレスバッファ３５は行アドレス指定コマンド「ＡＣ」をトリガとして、行アドレス「ＡＡ１」を信号Ｒｏｗとして行デコーダ５３に送る。行デコーダ５３はサブバンク５２Ａのこの信号Ｒｏｗで指定された行アドレスをアクティブとする。
【０１８６】
また、命令解釈部３１は、入力されたコマンドが読み出しコマンド「ＲＣ」であることを認識すると、これをＣｏｍＣとして読み出し／書き込み制御部４０に送る。これに同期して、バッファ３２から信号ＡｄｄＣとして列アドレス「ＲＡ１」が読み出し／書き込み制御部４０に送られるので、読み出し／書き込み制御部４０は内部のアドレスバッファ４４にこの「ＲＡ１」を、前記ＣｏｍＣとして送られてきた「ＲＣ」をトリガとして記憶する。さらに、命令解釈部３１は、Ｒ／Ｗ信号をインアクティブ（「Ｌｏｗ」状態）として、出力制御部３３及び比較部３７に与える。
【０１８７】
読み出し／書き込み制御部４０は、メモリバス２５を介して列デコーダ５１Ａに対し、読み出しコマンドＲＣと読み出しアドレスを出力する。読み出しアドレス値としては、バッファ３２から信号ＡｄｄＣとして与えられ、アドレスバッファ４４に記憶されていた読み出しアドレス値ＲＡ１を用いる。列デコーダ５１Ａは、前記指示を受けると、読み出しアドレス値ＲＡ１に対応したメモリセル（選択メモリセル）の両端に読み出し用電圧が印加されるよう、ビット線に所定電圧を印加する。なお、ワード線、ソース線は、行アドレスバッファ３５から信号Ｒｏｗとして行デコーダに「ＡＡ１」が与えられた時点で選択メモリセルに所定電圧が印加（アクティブ化）されている。そして、前記選択メモリセルに接続される電圧線を流れる電流値を、読み出し／書き込み制御部４０を介して読み出し回路４３によって読み出す。これによって、前記選択メモリセルに格納されている既書き込みデータＲＤ１が読み出される。
【０１８８】
読み出し回路４３は、前記データＲＤ１の出力タイミングを示す信号ＤＥを出力する。出力制御部３３は、与えられる信号Ｒ／ＷがＬｏｗ状態であることから、前記信号ＤＥをトリガとして、信号ＤａｔＣとして読み出し回路４３から送られる既書き込みデータＲＤ１を、データバス２１を介してメモリアクセス制御部２０に出力する。メモリアクセス制御部２０は、この読み出しデータＲＤ１をＣＰＵバス１１を介してＣＰＵ１０に与える。なお、信号Ｒ／ＷがＬｏｗ状態であるため、比較部３７は、信号ＤａｔＣとして読み出し回路４３から送られる既書き込みデータＲＤ１を用いた比較処理を行わない。
【０１８９】
上述した本実施形態の不揮発性半導体記憶装置の処理は、ビット幅（ワード）単位で処理されることを前提としたものであるが、図１３に示す構成のように、メモリバス２５にデータのビットイネーブルを伝送する仕組みを追加すれば、書き込みの可否をビット毎の一致・不一致で行うことも可能である。この場合、メモリセルはビット単位での書き込み処理が可能であることが前提となる。ビット単位での書き込みは、図１０における、ＷＥＡ［１：ｊ］（ｊはワードのビット幅を示す）に、比較部３７の比較結果の信号Ｃｏｍｐを適用することにより実現できる。
【０１９０】
なお、図１１，図１２に示したタイミングチャートは、本実施例の原理を示すものであるが、バスの条件やシステム上の制約等によって、クロックの乗せ換えやアドレス値、データビット幅の変換等の処理が必要となる場合がある。しかし、これらの処理は、必要に応じて適宜選択して適用すればよく、本発明の主旨とは異なるため説明を割愛する。
【０１９１】
なお、本実施形態において、メモリ制御部３０で実現している処理は、ソフトウェアによって実現することも可能である。即ち、ＣＰＵ１０上で実行されるソフトウェア（あるいはファームウェア）が、図１４に示されたような手順でメモリへの書き込み処理を行うことにより、前記メモリ制御部３０により実現している処理と同等の処理が実現できる。
【０１９２】
図１４は、本実施形態における処理をソフトウェアによって実現する場合の処理手順を示すフローチャートである。
【０１９３】
まず、ＣＰＵ１０内部で実行されるプログラムにおいて、メモリセルへの書き込み要求が発生すると（ステップＳ１００）、前記要求の書き込み対象データを保存する（ステップＳ１０１）。前記書き込みデータの保存先としては、ＣＰＵ１０内部のレジスタやキャッシュ（図示なし）が望ましいが、外部にＳＲＡＭやＤＲＡＭが接続されている場合にはそれらを利用しても良い。
【０１９４】
なお、前記ステップＳ１００における書き込み要求時には、書き込み対象データの他、書き込み先アドレスも併せて与えられる。
【０１９５】
次に、ＣＰＵ１０は、ステップＳ１００の書き込み要求で指定された書き込み先アドレスに対し、既書き込みデータの読み出し処理を実行する（ステップＳ１０２）。そして、読み出された既書き込みデータ（データＲ）を受け取ったら（ステップＳ１０３）、ステップＳ１０１で保存しておいた書き込み対象データ（データＷ）を読み出して（ステップＳ１０４）、既書き込みデータとの比較を行う（ステップＳ１０５）。
【０１９６】
そして、前記ステップＳ１０５における比較処理において、既書き込みデータと書き込み対象データが一致した場合には（ステップＳ１０５においてＹｅｓ）、そのまま何もせずにステップＳ１００において発生した書き込み要求に対応する書き込み処理を終了する。一方、前記比較結果が不一致の場合には（ステップＳ１０５においてＮｏ）、書き込み対象データを書き込み先アドレスに書き込む処理を実行し（ステップＳ１０６）、ステップＳ１００において発生した書き込み要求に対応する書き込み処理を終了する。
【０１９７】
また、ＣＰＵ１０内部でメモリセルへの読み出し要求が発生した場合については、既存のＣＰＵの読み出し処理と同じ手順で処理が行われる。
【０１９８】
なお、以上の各実施形態では、メモリセルをＲＲＡＭで構成されるものとして説明を行ったが、ＲＲＡＭ以外の不揮発性記憶素子で構成されるものとしても構わない。
【符号の説明】
【０１９９】
１：    不揮発性半導体記憶装置
１０：    ＣＰＵ
１１：    ＣＰＵバス
２０：    メモリアクセス制御部
２１：    メモリバス
２５：    メモリバス
３０：    メモリ制御部
３１：    命令解釈部
３２：    バッファ
３３：    出力制御部
３４：    バッファ
３５：    行アドレスバッファ
３６：    読み出し制御部
３７：    比較部
３８：    バッファ
３９：    書き込み制御部
４０：    書き込み／読み出し制御部
４１：    読み書き切換制御部
４２：    サブバンク入れ換え部
４３：    読み出し回路
４４：    アドレスバッファ
４５：    データバッファ
５０：    メモリ
５１Ａ，５１Ｂ：    列デコーダ
５１Ａ０、５１Ａ１、５１Ａ２、５１Ａ３、５１Ｂ０、５１Ｂ１、５１Ｂ２、５１Ｂ２：列デコーダ
５２Ａ，５２Ｂ：    メモリセルアレイ（サブバンク）
５２Ａ０、５２Ａ１、５２Ａ２、５２Ａ３、５２Ｂ０、５２Ｂ１、５２Ｂ２、５２Ｂ３：サブバンク
５３：  行デコーダ
６０：    半導体基板
６１：    素子分離領域
６２：    ゲート絶縁膜
６３：    ゲート電極
６４：    ドレイン拡散領域
６５：    ソース拡散領域
６６：    層間絶縁膜
６７：    コンタクトホール
６８：    オーミックコンタクト層
６９：    下部電極
７０：    可変抵抗体
７１：    上部電極
７２：    層間絶縁膜
７３：    コンタクトホール
７４：    コンタクトホール
７５：    配線
７６：    配線
７７：    層間絶縁膜
７８：    配線
７９：    表面保護膜
１００：    可変抵抗素子
１０１：    上部電極（第１電極）
１０２：    可変抵抗体
１０３：    下部電極（第２電極）
５０１、５０２、５０３、５０４：メモリユニット
５３０、５３１、５３２、５３３：行デコーダ
【図１】
2010061760.tif 000003
【図２】
2010061760.tif 000004
【図３】
2010061760.tif 000005
【図４】
2010061760.tif 000006
【図５】
2010061760.tif 000007
【図６】
2010061760.tif 000008
【図７】
2010061760.tif 000009
【図８】
2010061760.tif 000010
【図９】
2010061760.tif 000011
【図１０】
2010061760.tif 000012
【図１１】
2010061760.tif 000013
【図１２】
2010061760.tif 000014
【図１３】
2010061760.tif 000015
【図１４】
2010061760.tif 000016
【図１５】
2010061760.tif 000017
【手続補正書】
【提出日】平成22年4月19日(2010.4.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
不揮発性のメモリセルの複数をマトリクス状に配列し、同一行の前記メモリセルの第１端子を共通のワード線に接続し、同一列の前記メモリセルの第２端子を共通のビット線に接続してなる第１サブバンク、及び、前記第１サブバンクと同じ構成の第２サブバンクを備えてなるメモリセルアレイと、
指定アドレスに対応する対象メモリセルへの書き込みまたは読み出しの制御を行う書き込み／読み出し制御部と、
前記書き込み／読み出し制御部からの指示に基づいて前記ビット線及び前記ワード線に電圧を印加することで、前記対象メモリセルに書き込み電圧または読み出し電圧を印加するデコーダ部と、
前記読み出し電圧の印加された前記対象メモリセルに書き込まれている既書き込みデータの読み出しを行う読み出し回路と、
入力される複数のデータの比較を行う比較部と、を備えてなり、
前記第１サブバンク内及び前記第２サブバンク内に位置する複数の前記対象メモリセルに対し、各個別に指定された書き込み対象データの書き込みを行う際、
前記デコーダ部が、
前記第１サブバンク内の第１対象メモリセルに対して読み出し電圧を印加する第１動作と、
前記第２サブバンク内の第２対象メモリセルの前記既書き込みデータと当該第２対象メモリセルへの前記書き込み対象データとの前記比較部による比較結果が異なる場合にのみ前記第２対象メモリセルに対して書き込み電圧を印加する第２動作と、を同一時間帯に実行することを特徴とする不揮発性半導体記憶装置。
【請求項２】
前記第１サブバンク内及び前記第２サブバンク内に位置する複数の前記対象メモリセルに対し、各個別に指定された前記書き込み対象データの書き込みを行う際、
前記デコーダ部は、前記第１動作と前記第２動作で構成された動作ステップを、前記第１対象メモリセル及び前記第２対象メモリセルを変化させながら複数回実行する構成であり、
前記各動作ステップにおける前記第２対象メモリセルは、当該動作ステップよりも前に既に実行された前記動作ステップ内における前記第１対象メモリセルであることを特徴とする請求項１に記載の不揮発性半導体記憶装置。
【請求項３】
前記デコーダ部は、
前記第１サブバンク及び前記第２サブバンクに共通して設けられると共に、前記第１サブバンク及び前記第２サブバンク夫々の対応する前記ワード線に同時に電圧を印加する行デコーダと、
前記第１サブバンクの前記ビット線に電圧を印加する第１列デコーダと、
前記第２サブバンクの前記ビット線に電圧を印加する第２列デコーダと、を備え、
前記第１動作は、前記行デコーダが前記第１対象メモリセルに接続された前記ワード線に電圧を印加した状態で、前記第１列デコーダが前記第１対象メモリセルに接続されたビット線に読み出し電圧を印加する動作であり、
前記第２動作は、前記第２対象メモリセルの前記既書き込みデータと当該第２対象メモリセルへの前記書き込み対象データとの比較結果が異なる場合にのみ、前記第２列デコータが前記第１対象メモリセルと同一行に位置する前記第２対象メモリセルに接続されたビット線に書き込み電圧を印加する動作であることを特徴とする請求項１または２に記載の不揮発性半導体記憶装置。
【請求項４】
前記メモリセルアレイが、前記第１サブバンク及び前記第２サブバンクからなるメモリユニットを複数備えて構成され、
前記デコーダ部が、前記各メモリユニット毎に設けられ、
複数の前記メモリユニットにまたがって配置された複数の前記対象メモリセルに対し、各個別に指定された前記書き込み対象データの書き込みを行う際、
前記対象メモリセルが存在する前記メモリユニットに備えられた前記各デコーダ部それぞれが、前記第１動作と前記第２動作とを同一時間帯に実行することを特徴とする請求項１または２に記載の不揮発性半導体記憶装置。
【請求項５】
前記メモリセルが、印加電圧に応じて抵抗値を可逆的に変化させる可変抵抗素子で構成されており、当該可変抵抗素子の抵抗値に応じて情報を記憶する構成であることを特徴とする請求項１または２に記載の不揮発性半導体記憶装置。
【請求項６】
不揮発性半導体記憶装置の駆動方法であって、
前記不揮発性半導体記憶装置は、不揮発性のメモリセルの複数をマトリクス状に配列し、同一行の前記メモリセルの第１端子を共通のワード線に接続し、同一列の前記メモリセルの第２端子を共通のビット線に接続してなる第１サブバンク、及び、前記第１サブバンクと同じ構成の第２サブバンクを備えてなるメモリセルアレイを備えており、
前記第１サブバンク内及び前記第２サブバンク内に位置する複数の対象メモリセルに対し、各個別に指定された前記書き込み対象データの書き込みを行う際、
前記第１サブバンク内の第１対象メモリセルに対して読み出し電圧を印加する第１動作と、
前記第２サブバンク内の第２対象メモリセルの前記既書き込みデータと当該第２対象メモリセルへの前記書き込み対象データとの比較結果が異なる場合にのみ前記第２対象メモリセルに対して書き込み電圧を印加する第２動作と、を同一時間帯に実行することを特徴とする不揮発性半導体記憶装置の駆動方法。
【請求項７】
前記第１動作と前記第２動作で構成された動作ステップを、前記第１対象メモリセル及び前記第２対象メモリセルを変化させながら複数回実行し、
前記各動作ステップにおける前記第２対象メモリセルは、当該動作ステップよりも前に既に実行された前記動作ステップ内における前記第１対象メモリセルであることを特徴とする請求項６に記載の不揮発性半導体記憶装置の駆動方法。
【請求項８】
前記メモリセルアレイが、前記第１サブバンク及び前記第２サブバンクからなるメモリユニットを複数備えて構成されており、
複数の前記メモリユニットにまたがって配置された複数の前記対象メモリセルに対し、各個別に指定された前記書き込み対象データの書き込みを行う際、
前記対象メモリセルが存在する前記メモリユニットのそれぞれにおいて、前記第１動作と前記第２動作とを同一時間帯に実行することを特徴とする請求項６または７に記載の不揮発性半導体記憶装置の駆動方法。
【請求項９】
（削除）
【請求項１０】
（削除）
【請求項１１】
メモリセルの複数をマトリクス状に配列し、同一行の前記メモリセルの第１端子を共通のワード線に接続し、同一列の前記メモリセルの第２端子を共通のビット線に接続してなる第１サブバンク、及び、前記第１サブバンクと同じ構成の第２サブバンクを備えてなるメモリセルアレイと、
指定アドレスに対応する対象メモリセルへの書き込みまたは読み出しの制御を行う書き込み／読み出し制御部と、
前記書き込み／読み出し制御部からの指示に基づいて、前記対象メモリセルに書き込み処理または読み出し処理を行うデコーダ部と、
前記対象メモリセルに書き込まれている既書き込みデータの読み出しを行う読み出し回路と、
入力される複数のデータの比較を行う比較部と、を備えてなり、
前記第１サブバンク内及び前記第２サブバンク内に位置する複数の前記対象メモリセルに対し、各個別に指定された書き込み対象データの書き込みを行う際、
前記デコーダ部が、
前記第１サブバンク内の第１対象メモリセルに対して読み出し処理を行う第１動作と、
前記第２サブバンク内の第２対象メモリセルの前記既書き込みデータと当該第２対象メモリセルへの前記書き込み対象データとの前記比較部による比較結果が異なる場合にのみ前記第２対象メモリセルに対して書き込み処理を行う第２動作と、を同一時間帯に実行することを特徴とする不揮発性半導体記憶装置。
【手続補正書】
【提出日】平成23年5月19日(2011.5.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項６
【補正方法】変更
【補正の内容】
【請求項６】
不揮発性半導体記憶装置の駆動方法であって、
前記不揮発性半導体記憶装置は、不揮発性のメモリセルの複数をマトリクス状に配列し、同一行の前記メモリセルの第１端子を共通のワード線に接続し、同一列の前記メモリセルの第２端子を共通のビット線に接続してなる第１サブバンク、及び、前記第１サブバンクと同じ構成の第２サブバンクを備えてなるメモリセルアレイを備えており、
前記第１サブバンク内及び前記第２サブバンク内に位置する複数の対象メモリセルに対し、各個別に指定された書き込み対象データの書き込みを行う際、
前記第１サブバンク内の第１対象メモリセルに対して読み出し電圧を印加する第１動作と、
前記第２サブバンク内の第２対象メモリセルの既書き込みデータと当該第２対象メモリセルへの前記書き込み対象データとの比較結果が異なる場合にのみ前記第２対象メモリセルに対して書き込み電圧を印加する第２動作と、を同一時間帯に実行することを特徴とする不揮発性半導体記憶装置の駆動方法。
【国際調査報告】
2010061760.tif 000018
2010061760.tif 000019