"電圧の印加によって抵抗値が変化する抵抗変化型メモリセルと、前記抵抗変化型メモリセルに接続されたソース線と、前記抵抗変化型メモリセルに接続されたビット線と、前記抵抗変化型メモリセルに書き込み電位を供給するドライバと、前記ドライバの出力を前記ソース線に接続する第1のスイッチ素子と、前記ドライバの出力を前記ビット線に接続する第2のスイッチ素子とを備え、外部から入力された書き込みデータに基づき、前記第1のスイッチ素子と前記第2のスイッチ素子とのオンオフを切り換えることを特徴とする半導体記憶装置。請求項1記載の半導体記憶装置において、前記ソース線と固定電位とを接続する第3のスイッチ素子と、前記ビット線と前記固定電位とを接続する第4のスイッチ素子とを更に備え、前記書き込みデータに基づき、前記第3のスイッチ素子と前記第4のスイッチ素子とのオンオフを切り換えることを特徴とする半導体記憶装置。請求項2記載の半導体記憶装置において、前記第1~第4のスイッチ素子としてMOSトランジスタを用いることを特徴とする半導体記憶装置。請求項1記載の半導体記憶装置において、前記書き込みデータを蓄える入力バッファを更に備えたことを特徴とする半導体記憶装置。請求項1記載の半導体記憶装置において、前記抵抗変化型メモリセルから読み出したデータと前記書き込みデータとを比較する比較器を更に備え、前記比較器における比較結果に基づいて前記ドライバを制御することを特徴とする半導体記憶装置。請求項5記載の半導体記憶装置において、前記比較において一致したときには前記抵抗変化型メモリセルへのデータ書き込みを行わず、不一致のときには前記抵抗変化型メモリセルへのデータ書き込みを行うことを特徴とする半導体記憶装置。請求項5記載の半導体記憶装置において、前記読み出したデータを蓄える出力バッファを更に備えたことを特徴とする半導体記憶装置。請求項5記載の半導体記憶装置において、前記比較器における比較結果を格納するフラグ回路を更に備えたことを特徴とする半導体記憶装置。互いに隣接し、かつ各々電圧の印加によって抵抗値が変化する第1及び第2の抵抗変化型メモリセルと、前記第1の抵抗変化型メモリセルに接続された第1のソース線と、前記第2の抵抗変化型メモリセルに接続された第2のソース線と、前記第1の抵抗変化型メモリセルと前記第2の抵抗変化型メモリセルとに共通接続されたビット線とを備えたことを特徴とする半導体記憶装置。請求項9記載の半導体記憶装置において、前記第1の抵抗変化型メモリセル又は前記第2の抵抗変化型メモリセルに書き込み電位を供給するドライバと、前記ドライバの出力を前記第1のソース線に接続する第1のスイッチ素子と、前記ドライバの出力を前記第2のソース線に接続する第2のスイッチ素子と、前記ドライバの出力を前記ビット線に接続する第3のスイッチ素子とを更に備え、外部から入力された書き込みデータに基づき、前記第1のスイッチ素子と前記第2のスイッチ素子と前記第3のスイッチ素子とのオンオフを切り換えることを特徴とする半導体記憶装置。請求項10記載の半導体記憶装置において、前記第1のソース線と固定電位とを接続する第4のスイッチ素子と、前記第2のソース線と前記固定電位とを接続する第5のスイッチ素子と、前記ビット線と前記固定電位とを接続する第6のスイッチ素子とを更に備え、前記書き込みデータに基づき、前記第4のスイッチ素子と前記第5のスイッチ素子と前記第6のスイッチ素子とのオンオフを切り換えることを特徴とする半導体記憶装置。請求項11記載の半導体記憶装置において、前記第1~第6のスイッチ素子としてMOSトランジスタを用いることを特徴とする半導体記憶装置。請求項10記載の半導体記憶装置において、前記書き込みデータを蓄える入力バッファを更に備えたことを特徴とする半導体記憶装置。請求項10記載の半導体記憶装置において、前記第1の抵抗変化型メモリセル又は前記第2の抵抗変化型メモリセルから読み出したデータと前記書き込みデータとを比較する比較器を更に備え、前記比較器における比較結果に基づいて前記ドライバを制御することを特徴とする半導体記憶装置。請求項14記載の半導体記憶装置において、前記比較において一致したときには前記第1及び第2の抵抗変化型メモリセルへのデータ書き込みを行わず、不一致のときには前記第1又は第2の抵抗変化型メモリセルへのデータ書き込みを行うことを特徴とする半導体記憶装置。請求項14記載の半導体記憶装置において、前記読み出したデータを蓄える出力バッファを更に備えたことを特徴とする半導体記憶装置。請求項14記載の半導体記憶装置において、前記比較器における比較結果を格納するフラグ回路を更に備えたことを特徴とする半導体記憶装置。上記従来例においては、高い電流能力が必要なため面積が大きいビット線ドライバとソース線ドライバとの2つが1つのメモリセルへの書き込みに必要であり、チップ面積増大によるコストの上昇を招いている。しかも、複数のメモリセルへのデータ0とデータ1との同時書き込みができないため、書き込み期間中に使用していないドライバが存在することになる。また、既にメモリセルに書き込まれているデータと入力された書き込みデータとが同一の場合、書き換える必要がないが、そのようなセルに対しても書き込みパルスが印加され、電力と時間を余分に消費するだけでなく、ディスターブ等の信頼性に悪影響を与えている。また、1つのメモリセルあたりソース線とビット線との2つの配線をメモリアレイの縦方向に設ける必要があり、チップ面積の増大を招いている。これらのことは、性能とコストの要求が厳しい半導体記憶装置の開発において重大な課題となっている。本発明は、書き込みに必要なドライバ数を削減して書き込み動作中に使用しないドライバの存在を無くし、1つのセルあたりに必要な配線本数を減らして、チップ面積を削減することで、コストパフォーマンスに優れ、かつ書き換え時間の短縮や消費電力の削減等の特性を向上させた半導体記憶装置を実現することを目的とする。前述の目的を達成するため、本発明の第1の半導体記憶装置は、電圧の印加によって抵抗値が変化する抵抗変化型メモリセルと、前記抵抗変化型メモリセルに接続されたソース線と、前記抵抗変化型メモリセルに接続されたビット線と、前記抵抗変化型メモリセルに書き込み電位を供給するドライバと、前記ドライバの出力を前記ソース線に接続する第1のスイッチ素子と、前記ドライバの出力を前記ビット線に接続する第2のスイッチ素子とを備え、外部から入力された書き込みデータに基づき、前記第1のスイッチ素子と前記第2のスイッチ素子とのオンオフを切り換えることを特徴とする。また、本発明の第2の半導体記憶装置は、互いに隣接し、かつ各々電圧の印加によって抵抗値が変化する第1及び第2の抵抗変化型メモリセルと、前記第1の抵抗変化型メモリセルに接続された第1のソース線と、前記第2の抵抗変化型メモリセルに接続された第2のソース線と、前記第1の抵抗変化型メモリセルと前記第2の抵抗変化型メモリセルとに共通接続されたビット線とを備えたことを特徴とする。本発明の第1の半導体記憶装置によれば、1つのメモリセルへの書き込みに必要なドライバはビット線ドライバの1つのみとなり、かつ複数のメモリセルへのデータ0とデータ1との同時書き込みを容易に実現できる。このことによって、低コストで書き換え時間の短い半導体記憶装置が実現できる。本発明の第2の半導体記憶装置によれば、ワード線方向に隣接する2つのメモリセルでビット線を共有することで、チップ面積の削減効果が得られる。以下、本発明の実施形態を図面に基づいて詳細に説明する。《第1の実施形態》図1は、本発明の抵抗変化型メモリの最も基本的な構成を示した図である。実際に半導体記憶装置として用いる際には他にも様々な構成要素が必要となるが、本発明に関する説明を容易にするため、記述を省略する。また、図10と同じ符号が付してあるものは同一の構成要素のため、説明は省略する。図10を使って説明した従来例との差分として、図1の構成は、ソース線SL1とグランドとを接続するスイッチ素子S1と、ビット線BL1とグランドとを接続するスイッチ素子S2と、ソース線SL1とビット線ドライバBD1とを接続するスイッチ素子S3と、ビット線BL1とビット線ドライバBD1とを接続するスイッチ素子S4とを有し、それらスイッチ素子S1~S4は個別に開閉が制御できるものとする。また、ソース線ドライバSD1が削除されている。初期状態においては、スイッチ素子S1~S4は開オープン状態であり、ワード線WL1やビット線BL1やソース線SL1等の各ノードはグランドレベルにあるものとする。データを書き込む際は、次のようにして抵抗素子R1に電圧パルスを印加する。例えば、データ0を書き込むためには、まず、スイッチ素子S4を閉じてビット線BL1とビット線ドライバBD1とを接続し、スイッチ素子S1を閉じてソース線SL1とグランドとを接続する。次にワード線WL1をハイレベルにしてトランジスタM1をオン状態にして、ソース線SL1を通じて抵抗素子R1のノードN2にグランドレベルが印加された状態で、ビット線ドライバBD1で発生した正の電圧パルスを抵抗素子R1のノードN1に印加する。データ1を書き込むためには、初期状態に戻した後、スイッチ素子S3を閉じてソース線SL1とビット線ドライバBD1とを接続し、スイッチ素子S2を閉じてビット線BL1とグランドとを接続する。次にワード線WL1をハイレベルにしてトランジスタM1をオン状態にして、ビット線BL1を通じて抵抗素子R1のノードN1にグランドレベルが印加された状態で、ビット線ドライバBD1で発生した正の電圧パルスを抵抗素子R1のノードN2に印加する。このようにすることで、データ0書き込みとデータ1書き込みとの両方を1つのドライバによって実現することが可能となる。なお、スイッチ素子S1及びS2の一方の端子の電位をグランドレベル以外の他の電位に固定しつつ、ビット線ドライバBD1から所要の書き込み電位を供給するようにしてもよい。図2は、図1の基本構成を用いた本発明の第1の実施形態に係る抵抗変化型メモリのブロック図である。実際に半導体記憶装置として用いる際には図2に示した構成要素他にも様々な構成要素が存在する場合があるが、本発明に関する説明を容易にするため、記述を省略する。図2の抵抗変化型メモリ10は、図1の前記メモリセルをアレイ状に並べたメモリアレイARY14と、前記ビット線ドライバBD1を有するライトドライバWD11と、前記スイッチ素子S1~S4に加えてデータの流れを切り換えるためのスイッチ素子SS1及びSS2を有するYマルチプレクサYMUX12と、メモリアレイ14のソース線及びビット線を選択するYデコーダYDEC13と、メモリアレイ14のワード線を選択するXデコーダXDEC15と、読み出したデータを表す信号を増幅するセンスアンプSA16と、センスアンプ16を使って読み出したデータを蓄える出力バッファOUTBUF17と、外部とのデータのやり取りを行う入出力端子I/O18と、外部から入力されたデータを蓄える入力バッファINBUF19と、入力バッファ19に蓄えられたデータに基づきフラグを立てるスワップフラグSFLG20と、全体制御を司る制御回路CONTROL21とを有する。なお、スイッチ素子SS1,SS2の一方の接続先はセンスアンプ16となっているが、読み出し電位や電流はビット線のみに発生させ、ソース線に発生させることがない場合は、ビット線と接続するスイッチ素子SS2のみセンスアンプ16に接続し、ソース線が接続されるスイッチ素子SS1は、必ずしもセンスアンプ16に接続する必要はない。また、読み出し時に必要な電位をライトドライバ11から供給してもよい。図3は、本発明の半導体記憶装置のデータ書き込み動作の流れを示した概略図であり、これまで説明した構成要素とデータの流れの関係を示したものである。これら図2と図3を使って、本発明をアレイに適用した場合を説明する。図2において、スイッチ素子S1~S4は図1で説明したように、書き込むデータによってビット線BL1とソース線SL1との接続先を切り換えるが、その制御は入力バッファ19に蓄えられたデータに基づき生成されるスワップフラグ20に基づいて行われる。入力バッファ19やスワップフラグ20には複数のビットが存在し、複数のデータやフラグを保持することができる。また、スイッチ素子S1~S4に関しても、図2では1グループしか表示していないが、実際には複数のスイッチ素子のグループが存在し、それぞれがスワップフラグ20のそれぞれのビットに対応して制御される。ここでは説明を容易にするため、入力バッファ19とスワップフラグ20とのビット数及びスイッチ素子のグループ数を4として、図3を使って書き込み動作を説明する。なお、BD1~BD4は4ビット分のビット線ドライバであり、101~104は4ビット分のメモリセルMCである。まず、入力バッファ19に書き込みデータ0110が入力されたものとする。その書き込みデータに基づいて、データ0書き込みのビットに対応するスワップフラグ20のビットには0をセットし、データ1書き込みのビットに対応するスワップフラグ20のビットには1をセットする。場合によって、入力バッファ19をスワップフラグ20として使用することも可能である。スワップフラグ20の出力は、Yマルチプレクサ12内のスイッチ素子S1~S4の各グループへそれぞれ送られ、図1で説明した本発明の接続制御が行われて、書き込み動作が実行される。このように、複数のメモリセル101~104を並べたメモリアレイ14において、スイッチ素子S1~S4を書き込みデータに応じて個別に制御することで、データ0の書き込みとデータ1の書き込みとを同時に行うことができる。《第2の実施形態》図4は、本発明の第2の実施形態に係る半導体記憶装置の全体構成のうち、説明に必要な部分を抜き出したブロック図であり、実際に半導体記憶装置として用いる際には他にも様々な構成要素が存在する場合があるが、本発明に関する説明を容易にするため、記述を省略する。また、図2と同じ符号が付してあるものは同一の構成要素のため、説明は省略する。図2と図4との差分としては、入力バッファ19に蓄えられたデータと出力バッファ17に蓄えられたデータとを比較し、不一致の場合にフラグを立てる書き込みフラグHLFLG22が存在する。この書き込みフラグ22も内部に複数のビットを持つが、その数は第1の実施形態と同様に4とする。書き込みフラグ22のそれぞれビット出力はライトドライバ11へ送られ、ビット線ドライバBD1~BD4の制御に使用される。図5は、本発明の半導体記憶装置のデータ書き込み動作の流れを示した概略図であり、これまで説明した構成要素とデータの流れの関係を示したものである。この図5を使って、本発明をアレイに適用した場合を説明する。まず、入力バッファ19に書き込みデータ0110が入力されたものとする。その書き込みデータに基づいて、データ0書き込みのビットに対応するスワップフラグ20のビットには0をセットし、データ1書き込みのビットに対応するスワップフラグ20のビットには1をセットする。ここまでは第1の実施形態と同様である。第2の実施形態では、書き込みパルスを印加する前に一旦メモリセル101~104に蓄えられているデータを出力バッファ17に読み出す。そのデータを入力バッファ19に蓄えられているデータの対応するビットと比較し、不一致の場合に1を、一致した場合に0をそれぞれ書き込みフラグ22の対応するビットにセットする。この方法は書き込みフラグ22を一旦リセット全て0状態にして、不一致のビットのみ1をセットする等n様々な方法があるが、基本的には一般的な比較回路とラッチ回路とで実現可能であり、その具体的な実現手段の詳細な説明は省略する。そして、書き込みフラグ22の各ビットの出力は、それぞれビット線ドライバBD1~BD4へ送られ、書き込みフラグ22に1がセットされているビットに対応するビット線ドライバのみパルスを出力するように制御する。その他の動作については第1の実施形態と同様である。このような構成/制御方法をとることによって、既に書き込まれているデータと、新たに書き込むデータとが一致して、書き換える必要がないビット図5ではビット3及びビット4に対して、書き換えパルスの発生や印加を止めることができ、パルス発生に必要な電力を削減できるだけでなく、メモリアレイ14への電圧パルス印加によるディスターブの発生を抑えることができる。《第3の実施形態》図6は、本発明の第3の実施形態に係る半導体記憶装置である抵抗変化型メモリの基本構成を示した図である。実際に半導体記憶装置として用いる際には他にも様々な構成要素が必要となるが、本発明に関する説明を容易にするため、記述を省略する。また、図1と同じ符号が付してあるものは同一の構成要素のため、説明は省略する。図1と異なる部分として、抵抗素子R1に隣接する他の抵抗素子R2の一方のノードN3はトランジスタM2を介して、抵抗素子R1のビット線でもあるビット線BL1に接続され、抵抗素子R2のもう片方のノードN4はソース線SL2に接続されていることと、ソース線SL2とグランドとを接続するスイッチ素子S5と、ソース線SL2とビット線ドライバBD1とを接続するスイッチ素子S6とが追加されていることとである。なお、追加されたスイッチ素子S5~S6は、個別に開閉が制御できるものとする。初期状態においては、スイッチ素子S1~S6は開オープン状態であり、ワード線WL1やビット線BL1やソース線SL1/SL2等の各ノードはグランドレベルにあるものとする。データを書き込む際は、次のようにして抵抗素子R1及びR2に電圧パルスを印加する。例えば、データ0を抵抗素子R1に書き込むためには、まず、スイッチ素子S4とS6を閉じてビット線BL1とソース線SL2をビット線ドライバBD1に接続し、スイッチ素子S1を閉じてソース線SL1とグランドとを接続する。次にワード線WL1をハイレベルにしてトランジスタM1及びM2をオン状態にして、ソース線SL1を通じて抵抗素子R1のノードN2にグランドレベルが印加された状態で、ビット線ドライバBD1で発生した正の電圧パルスを抵抗素子R1のノードN1に印加する。この時、ワード線WL1を共有している抵抗素子R2のノードN3に対してもビット線ドライバBD1からの電圧パルスが印加されるが、同時に抵抗素子R2のノードN4に対してもソース線SL2を通じてビット線ドライバBD1からの電圧パルスが印加されるため、抵抗素子R2に発生する電位差は0に保たれ、抵抗素子R2の抵抗値は変化せず、抵抗素子R2へのデータの書き込みは行われない。データ1を抵抗素子R1に書き込むためには、初期状態に戻した後、スイッチ素子S3を閉じてソース線SL1とビット線ドライバBD1とを接続し、スイッチ素子S2を閉じてビット線BL1とグランドとを接続する。この時、スイッチ素子S5は開状態のままにして、ソース線SL2をHi-z状態にする場合と、スイッチ素子S5を閉じてソース線SL2をグランド状態にする場合があるが、どちらを選択しても問題はない。次にワード線WL1をハイレベルにしてトランジスタM1及びM2をオン状態にして、ビット線BL1を通じて抵抗素子R1のノードN1にグランドレベルが印加された状態で、ビット線ドライバBD1で発生した正の電圧パルスを抵抗素子R1のノードN2に印加する。この時、ワード線WL1を共有している抵抗素子R2のノードN3及びN4の電位はグランドレベルに保たれるため、抵抗素子R2の抵抗値は変化せず、抵抗素子R2へのデータの書き込みは行われない。データ0を抵抗素子R2に書き込むためには、初期状態に戻した後、スイッチ素子S4とS3を閉じてビット線BL1とソース線SL1をビット線ドライバBD1に接続し、スイッチ素子S5を閉じてソース線SL2とグランドとを接続する。次にワード線WL1をハイレベルにしてトランジスタM1及びM2をオン状態にして、ソース線SL2を通じて抵抗素子R2のノードN4にグランドレベルが印加された状態で、ビット線ドライバBD1で発生した正の電圧パルスを抵抗素子R2のノードN3に印加する。この時、ワード線WL1を共有している抵抗素子R1のノードN1に対してもビット線ドライバBD1からの電圧パルスが印加されるが、同時に抵抗素子R1のノードN2に対してもソース線SL1を通じてビット線ドライバBD1からの電圧パルスが印加されるため、抵抗素子R1に発生する電位差は0に保たれ、抵抗素子R1の抵抗値は変化せず、抵抗素子R1へのデータの書き込みは行われない。データ1を抵抗素子R2に書き込むためには、初期状態に戻した後、スイッチ素子S6を閉じてソース線SL2とビット線ドライバBD1とを接続し、スイッチ素子S2を閉じてビット線BL1とグランドとを接続する。この時、スイッチ素子S1は開状態のままにして、ソース線SL1をHi-z状態にする場合と、スイッチ素子S1を閉じてソース線SL1をグランド状態にする場合があるが、どちらを選択しても問題はない。次にワード線WL1をハイレベルにしてトランジスタM1及びM2をオン状態にして、ビット線BL1を通じて抵抗素子R2のノードN3にグランドレベルが印加された状態で、ビット線ドライバBD1で発生した正の電圧パルスを抵抗素子R2のノードN4に印加する。この時、ワード線WL1を共有している抵抗素子R1のノードN1及びN2の電位はグランドレベルに保たれるため、抵抗素子R1の抵抗値は変化せず、抵抗素子R1へのデータの書き込みは行われない。このようにすることで、隣接する2つのメモリセルでビット線を共有しても書き込みを行うことが可能となり、ビット線の共有によるビット線本数の削減によって、チップ面積を削減できる。なお、スイッチ素子S1,S2及びS5の一方の端子の電位をグランドレベル以外の他の電位に固定しつつ、ビット線ドライバBD1から所要の書き込み電位を供給するようにしてもよい。図7及び図8は、図6で示した基本的な構成に、実際の半導体記憶装置に近づけるよう、メモリアレイとその周辺回路を構成する要素を追加したものである。メモリセル101~114,201~214,301~314がアレイ状に並んでおり、それぞれワード線WL1,WL2,WL3と、ビット線BL1,BL5,BL9,BL13と、ソース線SL1,SL2,SL5,SL6,SL9,SL10,SL13,SL14とに接続されてメモリアレイ14を構成している。それらのうち、ビット線BL1,BL5,BL9,BL13...は、ワード線方向に隣接するメモリセル例えば101と102により共有されている。例えば、ビット線BL1はメモリセル101及び102で共有されている。メモリアレイ14とライトドライバ11との間、又はライトドライバ11に並ぶ位置には、Yデコーダ13やYマルチプレクサ12やセンスアンプ16が存在する。Yデコーダ13は、Yデコード信号YD1~YD4を受け、選択用トランジスタ通常はNMOSトランジスタMS1~MS14及びMB1~MB13をオンオフさせ、センスアンプ16又はライトドライバ11に接続するソース線及びビット線を選択する。Yマルチプレクサ12は、外部からの制御信号によって、スイッチ素子通常はMOSトランジスタで構成されるSS1,SS2,SS3の接続先を切り換えて、ソース線及びビット線をセンスアンプ16かライトドライバ11かのいずれかに接続する。また、Yデコーダ13とYマルチプレクサ12とセンスアンプ16とライトドライバ11とには、記述されている構成要素以外にも省略されている構成要素が存在する。なお、図7では、ワード線WL4以降と、ビット線BL2~BL4,BL6~BL8,BL10~BL12,BL14以降と、ソース線SL3,SL4,SL7,SL8,SL10,SL12,SL14以降との記述がないが、それらは説明の都合で省略されているだけで、実際の半導体記憶装置には、それらに接続されているメモリセルも含めて存在する。また、複数のビット線やソース線がYデコーダ13を介してYマルチプレクサ12に接続されているが、この例で示したデコード方法はあくまでも一例であり、他にも様々なデコード方法があるが、説明は省略する。また、図8中のスイッチ素子SS1,SS2,SS3の一方の接続先はセンスアンプ16となっているが、読み出し電位や電流はビット線のみに発生させ、ソース線に発生させることがない場合は、ビット線と接続するスイッチ素子SS2のみセンスアンプ16に接続し、ソース線が接続されるスイッチ素子SS1やSS3は、必ずしもセンスアンプ16に接続する必要はない。また、読み出し時に必要な電位をライトドライバ11から供給してもよい。図9は、本発明の半導体記憶装置のデータ書き込み動作の流れを示した概略図であり、これまで説明した構成要素とデータの流れの関係を示したものである。この図9を使って、本発明をアレイに適用した場合を説明する。まず、入力バッファ19に書き込みデータ0110が入力されたものとする。その書き込みデータに基づいて、データ0書き込みのビットに対応するスワップフラグ20のビットには0をセットし、データ1書き込みのビットに対応するスワップフラグ20のビットには1をセットし、このスワップフラグ20のデータによって、前述したスイッチ素子S1~S6の制御を行う。また、書き込みパルスを印加する前に一旦メモリセル101~104に蓄えられているデータを出力バッファ17に読み出す。そのデータを入力バッファ19に蓄えられているデータの対応するビットと比較し、不一致の場合に1を、一致した場合に0を書き込みフラグ22の各ビットにセットする。ここまでは第2の実施形態と同様である。第3の実施形態では、書き込みフラグ22の各ビットの出力は、それぞれビット線ドライバBD1とBD3へ送られ、メモリセル101~104への書き込みが2回に分けて行われる。まず、ビット線ドライバBD1でメモリセル101に、ビット線ドライバBD3でメモリセル103に書き込みが行われるため、メモリセル101に対応する書き込みフラグ22の出力がビット線ドライバBD1に、メモリセル103に対応する書き込みフラグ22の出力がビット線ドライバBD3にそれぞれ送られ、書き込みフラグ22に1がセットされているビットに対応するビット線ドライバのみパルスを出力するように制御して、データの書き込みが実行される。次に、メモリセル102に対応する書き込みフラグ22の出力がビット線ドライバBD1に、メモリセル104に対応する書き込みフラグ22の出力がビット線ドライバBD3にそれぞれ送られ、書き込みが実行される。第3の実施形態においても第2の実施形態と同様に、このような構成/制御方法をとることによって、既に書き込まれているデータと、新たに書き込むデータとが一致して、書き換える必要がないビット図9ではビット3及びビット4に対して、書き換えパルスの発生や印加を止めることができ、パルス発生に必要な電力を削減できるだけでなく、メモリアレイ14への電圧パルス印加によるディスターブの発生を抑えることができる。《第3の実施形態の変形例》図6で説明した抵抗変化型メモリにおける前述とは異なるデータ書き込み方法を、図6を使って説明する。初期状態においては、スイッチ素子S1~S6は開オープン状態であり、ワード線WL1やビット線BL1やソース線SL1/SL2等の各ノードはグランドレベルにあるものとする。データを書き込む際は、まずビット線BL1とワード線WL1とを共有する隣接メモリセルの抵抗素子R1及びR2のデータの状態を同じにする。例えば、データ0を2つの抵抗素子R1及びR2に書き込むためには、まず、スイッチ素子S4を閉じてビット線BL1をビット線ドライバBD1に接続し、スイッチ素子S1とS5を閉じてソース線SL1とSL2をグランドに接続する。次にワード線WL1をハイレベルにしてトランジスタM1及びM2をオン状態にして、ソース線SL1を通じて抵抗素子R1のノードN2にグランドレベルが印加され、同時にソース線SL2を通じて抵抗素子R2のノードN4にグランドレベルが印加された状態で、ビット線ドライバBD1で発生した正の電圧パルスを抵抗素子R1のノードN1と抵抗素子R2のノードN3とに印加する。この時、抵抗素子R1へのデータ0の書き込みと同時に、抵抗素子R2へのデータ0の書き込みが実施される。抵抗素子R1及びR2への書き込みデータが0の場合は、新たな書き込みパルスの印加は必要なく、それらのメモリセルへの書き込み動作は終了する。一方、抵抗素子R1への書き込みデータが1の場合は、第3の実施形態のデータ1を抵抗素子R1に書き込む方法と同じ方法で、抵抗素子R2への書き込みデータが1の場合は、第3の実施形態のデータ1を抵抗素子R2に書き込む方法と同じ方法でそれぞれ行う。その際、書き込み対象でない抵抗素子の両端のノードはグランドレベルに保たれるため、データの書き込みは行われない。以上のように、抵抗素子R1及びR2を一旦データ0状態にした後に、所望の抵抗素子にデータ1を書き込むという、2段階の書き込み動作を行う書き込み方法の場合は、第3の実施形態において抵抗素子の両端に同時にパルスを印加することで、書き込み対象でない抵抗素子へのデータ書き込みを阻む方法に比べ、安定しており設計や製造が容易になる。すなわち、第3の実施形態のように同一パルスを印加するダイナミックな方法では、各ノードの付加容量/抵抗等の影響を考慮して、正確にパルスが印加できるように設計/製造を行う必要があるが、本変形例のようにスタティックな状態を保つ方法では、そのような制約がない。なお、本変形例で説明した方法をメモリアレイに適用する方法は第1及び第2の実施形態と同様であり、説明は省略する。"