"1つのメモリセル選択用トランジスタと1つの抵抗変化型素子を直列に接続した回路をメモリセルとして、2つのメモリセルを隣接させた基本ユニットを単位にするメモリセルアレイを有し、前記基本ユニットの2つのメモリセルのメモリセル選択用トランジスタのソース端子を共通のソース線に接続し、前記2つのメモリセルを2つのビット線に接続した抵抗変化型メモリであって、前記ソース線を第1のメタル層に配線し、前記ビット線を第2のメタル層に配線し、前記ソース線の配線パターンと前記ビット線の配線パターンを平行に走行させ、前記ソース線の配線パターンと前記ビット線の配線パターンの一部の領域を上下で重ねあわせて対向させたことを特徴とする不揮発性メモリ。請求項1記載の不揮発性メモリであって、行デコーダが前記メモリセルアレイに接続するワード線に1つのメモリセルの行を選択する行選択信号を出力し、書き込み電圧発生回路がメモリセルへ書き込むデータの値に応じて出力電圧を切り替える複数のデータ線を有し、前記ビット線及び前記ソース線が、列ゲート部における複数のカラムゲートのトランジスタを介して、前記複数のデータ線と接続が切り替えられ、前記データ線のうちの一部にセンスアンプが接続され、列デコーダから出力する列選択信号が前記カラムゲートを開閉して前記データ線を切り替えて前記ビット線及び前記ソース線に接続することで1つのメモリセルの列を選択して、メモリセルにデータを読み書きすることを特徴とする不揮発性メモリ。請求項2記載の不揮発性メモリであって、前記カラムゲートがCMOS回路で構成されていることを特徴とする不揮発性メモリ。請求項2又は3に記載の不揮発性メモリであって、前記基本ユニットの2つのメモリセルの2つのビット線が前記列ゲート部における2つのカラムゲートに接続され、該2つのカラムゲートが2つの前記データ線に接続され、前記ソース線がソース線用のカラムゲートを介してソース線用の前記データ線に接続され、前記2つのカラムゲートのトランジスタの開閉が列デコーダの2つの列選択信号で制御されていることを特徴とする不揮発性メモリ。請求項2乃至4の何れか一項に記載の不揮発性メモリであって、前記書き込み電圧発生回路が、書込制御回路からデータ入力信号と書き込み制御信号とカラムアドレス信号を受信し、前記カラムアドレス信号の値に応じて、前記基本ユニットの2つのメモリセルのうちの一方を選択してデータを読み書きする信号を前記データ線に出力することを特徴とする不揮発性メモリ。請求項1記載の不揮発性メモリであって、前記カラムゲートがCMOS回路で構成され、前記メモリセル選択用トランジスタがCMOS回路で構成され、行デコーダが前記メモリセルアレイに接続するワード線に1つのメモリセルの行を選択する行選択信号を出力し、書き込み電圧発生回路が書込制御回路から複数ビットのデータ入力信号と書き込み制御信号を受信し、前記複数ビットのデータ入力信号の値に応じた値を出力する複数の第1のデータ線とソース線専用のデータ線を有し、前記第1のデータ線の各々にセンスアンプが接続され、列デコーダが列選択信号を出力し、該列選択信号が、メモリセルアレイの一部分のメモリセル群の前記カラムゲートの開閉を切り替えて前記複数ビットのデータ入力信号を同時に前記メモリセル群に書き込むことを特徴とする不揮発性メモリ。請求項6記載の不揮発性メモリであって、前記メモリセルにデータを書き込む際に、前記ソース線専用のデータ線に、前記抵抗変化型素子の最低動作電圧を印加し、前記第1のデータ線に接地電圧か、又は、前記最低動作電圧の2倍の電圧を印加することで、前記抵抗変化型素子に前記第1のデータ線の電位と前記ソース線専用の電位の差の、最低動作電圧の逆符号の電圧か、又は、最低動作電圧を加えて前記抵抗変化型素子にデータを書き込むことを特徴とする不揮発性メモリ。上述した従来の抵抗変化型素子を利用した不揮発性メモリのメモリセルは、メモリセルに接続するビット線とソース線の配線がばらばらに配線されていたため、ビット線及びソース線の特性インピーダンスが変動する箇所で、メモリセルに送受するデータの信号が反射してノイズを発生させる問題があり、そのノイズがメモリセルへのデータの読み書きの信頼性を悪くする問題があった。また、従来の技術では、メモリセルのデータを読み書きする信号線として用いるビット線とソース線へ供給する電圧を自由に切り替えて、メモリセルへのデータの書き込みと読み出しの動作を切り替える、効率の良い回路の構成が開示されていなかった。そのため、本発明は、以上説明した事情に鑑みてなされたものであり、メモリセルへのデータの書き込みと読出しの信頼性を高くし、かつ、メモリセルへデータを読み書きする動作の切り替えのためのビット線とソース線へ供給する電圧を自由に切り替える効率の良い回路構成を提供することを目的とする。本発明は、上記の課題を解決するために、1つのメモリセル選択用トランジスタと1つの抵抗変化型素子を直列に接続した回路をメモリセルとして、2つのメモリセルを隣接させた基本ユニットを単位にするメモリセルアレイを有し、前記基本ユニットの2つのメモリセルのメモリセル選択用トランジスタのソース端子を共通のソース線に接続し、前記2つのメモリセルを2つのビット線に接続した抵抗変化型メモリであって、前記ソース線を第1のメタル層に配線し、前記ビット線を第2のメタル層に配線し、前記ソース線の配線パターンと前記ビット線の配線パターンを平行に走行させ、前記ソース線の配線パターンと前記ビット線の配線パターンの一部の領域を上下で重ねあわせて対向させたことを特徴とする不揮発性メモリである。かかる発明によれば、前記ソース線の配線パターンと前記ビット線の配線パターンを平行に走行させ、前記ソース線の配線パターンと前記ビット線の配線パターンの一部の領域を上下で重ねあわせて対向させることで、メモリセルに読み書きするデータを伝送するための信号線であるビット線とソース線の組が、特性インピーダンスが一定の安定した伝送線路を構成する効果がある。それにより、信号線の特性インピーダンスが一定で安定し、信号線を伝達する信号が信号線の途中で反射してノイズを発生することも無く、信号の伝送の信頼性が高い信号線を持つ回路ができる効果がある。また、本発明は、上記の不揮発性メモリであって、行デコーダが前記メモリセルアレイに接続するワード線に1つのメモリセルの行を選択する行選択信号を出力し、書き込み電圧発生回路がメモリセルへ書き込むデータの値に応じて出力電圧を切り替える複数のデータ線を有し、前記ビット線及び前記ソース線が、列ゲート部における複数のカラムゲートのトランジスタを介して、前記複数のデータ線と接続が切り替えられ、前記データ線のうちの一部にセンスアンプが接続され、列デコーダから出力する列選択信号が前記カラムゲートを開閉して前記データ線を切り替えて前記ビット線及び前記ソース線に接続することで1つのメモリセルの列を選択して、メモリセルにデータを読み書きすることを特徴とする不揮発性メモリである。このように構成することで、本発明は、読出しデータを増幅するセンスアンプが接続するデータ線を含むデータ線群の電圧を切り替え、ビット線及びソース線のデータ線との接続を切り替えることで、基本ユニットで隣接して、かつ、ソース端子を共有する2つのメモリセルから成る基本ユニットの一方のメモリセルを自由に選んでデータを読み書きできる効果がある。また、本発明は、上記の不揮発性メモリであって、前記カラムゲートがCMOS回路で構成されていることを特徴とする不揮発性メモリである。また、本発明は、上記の不揮発性メモリであって、前記基本ユニットの2つのメモリセルの2つのビット線が前記列ゲート部における2つのカラムゲートに接続され、該2つのカラムゲートが2つの前記データ線に接続され、前記ソース線がソース線用のカラムゲートを介してソース線用の前記データ線に接続され、前記2つのカラムゲートのトランジスタの開閉が列デコーダの2つの列選択信号で制御されていることを特徴とする不揮発性メモリである。また、本発明は、上記の不揮発性メモリであって、前記書き込み電圧発生回路が、書込制御回路からデータ入力信号と書き込み制御信号とカラムアドレス信号を受信し、前記カラムアドレス信号の値に応じて、前記基本ユニットの2つのメモリセルのうちの一方を選択してデータを読み書きする信号を前記データ線に出力することを特徴とする不揮発性メモリである。また、本発明は、上記の不揮発性メモリであって、前記カラムゲートがCMOS回路で構成され、前記メモリセル選択用トランジスタがCMOS回路で構成され、行デコーダが前記メモリセルアレイに接続するワード線に1つのメモリセルの行を選択する行選択信号を出力し、書き込み電圧発生回路が書込制御回路から複数ビットのデータ入力信号と書き込み制御信号を受信し、前記複数ビットのデータ入力信号の値に応じた値を出力する複数の第1のデータ線とソース線専用のデータ線を有し、前記第1のデータ線の各々にセンスアンプが接続され、列デコーダが列選択信号を出力し、該列選択信号が、メモリセルアレイの一部分のメモリセル群の前記カラムゲートの開閉を切り替えて前記複数ビットのデータ入力信号を同時に前記メモリセル群に書き込むことを特徴とする不揮発性メモリである。また、本発明は、上記の不揮発性メモリであって、前記メモリセルにデータを書き込む際に、前記ソース線専用のデータ線に、前記抵抗変化型素子の最低動作電圧を印加し、前記第1のデータ線に接地電圧か、又は、前記最低動作電圧の2倍の電圧を印加することで、前記抵抗変化型素子に前記第1のデータ線の電位と前記ソース線専用の電位の差の、最低動作電圧の逆符号の電圧か、又は、最低動作電圧を加えて前記抵抗変化型素子にデータを書き込むことを特徴とする不揮発性メモリである。本発明は、ソース線の配線パターンとビット線の配線パターンを平行に走行させ、ソース線の配線パターンとビット線の配線パターンの一部の領域を上下で重ねあわせて対向させることで、メモリセルに読み書きするデータを伝送するための信号線であるビット線とソース線の組が、特性インピーダンスが一定の安定した伝送線路を構成する効果がある。それにより、メモリセルにデータを読み書きする信号線の特性インピーダンスが一定で安定し、信号線を伝達するメモリセルのデータの信号が信号線の途中で反射してノイズを発生することも無く、信号の伝送の信頼性が高い回路にできる効果がある。以下、図面を参照し、この発明の実施形態について説明する。なお、以下の実施形態において、トランジスタはMOSFETMetalOxideSemiconductorFieldEffectTransistor;金属-酸化膜-半導体構造の電界効果トランジスタを指す。<第1の実施形態>図1は、第1の実施形態の不揮発性メモリの構成を示す回路図である。すなわち、メモリセルM00~Mmnの配列であるメモリセルアレイ100と、そのメモリセルアレイ100の1つのメモリセルを選択して駆動するためのデコーダ系回路とその他の制御回路から成る。デコーダ系回路は、行デコーダ200と列デコーダ300と列ゲート部400から成る。行デコーダ200は、ワード線WL0~WLmを選択する。列デコーダ300は、列アドレスが与えられて、その列アドレスに従ってメモリセルアレイ100の列を選択する列選択信号COL0~COLnを列ゲート部400に出力する回路である。この列選択信号COL0~COLnの各々は、図2のように、列選択信号COLと反転列選択信号COLBとのセットを、列ゲート部400のCMOSコンプリメンタリ型回路のカラムゲートCGに向けて出力する。以下の説明では、その列選択信号COLと反転列選択信号COLBのセットを列選択信号COLのみで代表させて記述する。列ゲート部400はカラムゲートCG00からCGn2で構成される。カラムゲートCG00からCGn2は、列選択信号COL0~COLnに従ってメモリセルアレイ100の列を駆動する信号を切り替えるMOSスイッチ群である。各々のカラムゲートCGは、図2のように、列選択信号COLをCMOS回路のNチャンネルMOSトランジスタのゲート端子に接続し、反転列選択信号COLBをCMOS回路のPチャンネルMOSトランジスタのゲート端子に接続し、それらのNチャンネルMOSトランジスタとPチャンネルMOSトランジスタは、データ線DL等とビット線BL等との間に並列に接続する。このように、カラムゲートCGはCMOS回路で構成するが、以下の説明では、そのCMOS回路の一方のゲート回路のNMOSトランジスタのみを表示して、そのNMOSトランジスタにCMOS回路を代表させる。その他の制御回路には、書き込み電圧発生回路WriteDriver500と、センスアンプ600と、センスアンプ600の後段に設けた出力回路700を有し、また、書込制御回路800を有する。図3は図1の回路のうち、メモリセルアレイ100の一部を示す回路図である。図1のように、メモリセルアレイ100は、メモリセルMkjをm1行n1列の行列状に配列してなるものである。一列をなすm1個のメモリセルMkjk=0~mの左右両側には列方向に走行するソース線SLおよびビット線BLを配置して、メモリセルMkjに接続する。これらの、ビット線BLとソース線SLは、メモリセルアレイ100の中のメモリセルMkjに対して読み書きするデータを伝送するための信号線である。一行をなすn1個のメモリセルMkjj=0~nには、行方向に走行するワード線WLkを接続する。ワード線WLkは、第k行のメモリセルMkjk=0~mのNチャネルのメモリセル選択用トランジスタTNに接続するワード線WLに行選択電圧を供給する配線である。ここで、同じワード線WLkに接続するメモリセル群Mkjj=0~nを、2つの隣接するメモリセルを1組にした基本ユニットに組み分けする。基本ユニットは、2つの隣接するメモリセルに1つのソース線SLを共有させ、そのソース線SLの左右に、その2つのメモリセルを配置する。そして、左側に配置したメモリセルMkjの左側にビット線BLjを配置してメモリセルMkjに接続し、右側に配置したメモリセルMkj1の右側にビット線BLj1を配置してメモリセルMkj1に接続する。こうして2つのメモリセルを1つの基本ユニットに構成するようにメモリセル群を組み分けする。図4は、その基本ユニットの中の2つのメモリセルの一方のメモリセルMkjの構成を示す回路図である。図4に示すように、本実施形態による不揮発性メモリセルMkjは、抵抗変化型素子Rをビット線BLに接続し、Nチャネルのメモリセル選択用トランジスタTNをソース線SLに直列接続してなるものである。ビット線BLおよびソース線SLはメモリセルMkjへ読み書きするデータを伝送するための信号線である。さらに詳述すると、本実施形態において、抵抗変化型素子Rに図5に示すMTJ素子を用い、図5の回路図のように、MTJ素子である抵抗変化型素子Rのフリー層がビット線BLに接続され、ピン層がNチャネルのメモリセル選択用トランジスタTNのドレイン端子に接続され、このNチャネルのメモリセル選択用トランジスタTNのソース端子はソース線SLに接続されている。なお、抵抗変化型素子Rに接続するトランジスタ回路は、Nチャネルのメモリセル選択用トランジスタTNで代表させて図5に表記したが、このトランジスタ回路はCMOS回路で構成することが望ましい。すなわち、MTJ素子とソース線SLの間にCMOS回路のNチャンネルMOSトランジスタとPチャンネルMOSトランジスタを並列に配置してMTJ素子に流す電流を制御することが望ましい。図5aおよびbは、図4の不揮発性メモリセルMkjの抵抗変化型素子RとしてMTJMagneticTunnelJunction;磁気トンネル接合素子を利用した場合のメモリセルの構成と動作を示す。図5aおよびbに示すように、MTJ素子は、磁気の方向が一定のピン層と、トンネルバリア膜と、磁気の方向が変化するフリー層とからなる。図5aに示すように、MTJ素子のフリー層からピン層に向かう方向の電流を流すと、フリー層の磁化方向がピン層と同一となり、MTJ素子は低抵抗となり、データ0を記憶した状態となる。逆に、図5bに示すように、ピン層からフリー層に向かう方向の電流を流すと、フリー層の磁化方向がピン層と反対になり、MTJ素子は高抵抗となり、データ1を記憶した状態になる。このようなMTJ素子によりメモリセルを構成する場合には、図5aおよびbに例示するように、MTJ素子を選択するためのスイッチとして、Nチャネルのメモリセル選択用トランジスタTNをMTJ素子に直列接続する。図6は本実施形態において、抵抗変化型素子RとしてMTJ素子MTJを用いた場合のメモリセルアレイ100のレイアウト例を示す平面図であり、図7は、その断面構造を示す断面図である。図6の平面図と図7の断面図によりメモリセルアレイ100立体構造を示す。図6及び図7に示すように、メモリセルMkjに読み書きするデータを伝送するための信号線であるビット線BLとソース線SLは互いに平行に配置し、そのソース線SLとビット線BLとの両方と直交する方向にワード線WLを配置する。また、Nチャネルのメモリセル選択用トランジスタTNが、データ読み出し時およびデータ書き込み時に抵抗変化型素子RMTJ素子MTJを選択する選択用スイッチとして機能し、そのゲート端子がワード線WLに接続され、ワード線WLから行選択電圧が加えられる。そして、列選択電圧がビット線BLとソース線SLに加えられてメモリセルの列を選択する。図7aの断面図は、ビット線BLに垂直な行方向に沿った断面図であり、半導体基板SUBに形成されるNチャネルのメモリセル選択用トランジスタTN1を含むメモリセルM22と、Nチャネルのメモリセル選択用トランジスタTN2を含むメモリセルM23を示す。Nチャネルのメモリセル選択用トランジスタTN1とTN2のゲートにはワード線WL2が接続されてメモリセルM22とM23の行が選択される。このメモリセルM22とM23は1つの基本ユニットを成し、メモリセルM22とM23のソース端子が共通のソース線SL23に接続されている。図7bの断面図は、ビット線BLに平行な列方向に沿った断面図であり、Nチャネルのメモリセル選択用トランジスタTN2を含むメモリセルM23と、Nチャネルのメモリセル選択用トランジスタTN3を含むメモリセルM33を示す。ワード線WL2がNチャネルのメモリセル選択用トランジスタTN2のゲートに接続されてメモリセルM23の行が選択され、ワード線WL3がトランジスタTN3のゲートに接続されてメモリセルM33の行が選択される。2つのメモリセルからなる基本ユニット以下では、メモリセルアレイ100の構成と動作を、図3に破線で示した2つのメモリセルM22とM23から成る基本ユニットの回路で代表して、メモリセルの構成と動作を説明する。メモリセルM22は抵抗変化型素子R1とメモリセル選択用トランジスタTN1が直列接続されて構成される。メモリセルM23の構成はM22と同一であり、抵抗変化型素子R2とメモリセル選択用トランジスタTN2が直列接続されて構成される。メモリセルM22のメモリセル選択用トランジスタTN1とメモリセルM23のメモリセル選択用トランジスタTN2のソース端子同士が、共通のソース線SL23に接続されている。メモリセルM22,M23の抵抗変化型素子R1とR2の端部は、それぞれのビット線BL2、BL3に接続される。この2つのメモリセルM22とM23が1つの基本ユニットを構成して、このような基本ユニットの集合でメモリセルアレイ100を構成する。メモリセルM22の動作図8には、2つのメモリセルM22とM23から成る1つの基本ユニットにおいてメモリセルM22が選択される場合における、メモリセルM22の抵抗変化型素子R1に対するデータ書き込みと読出しの動作条件を示す。書き込み動作0の書き込みまず、メモリセルM22の抵抗変化型素子R1に対するデータ書き込みについて説明する。抵抗変化型素子R1に0を書き込む場合、ビット線BL2を1V、ソース線SL23を0V、ビット線BL3を0Vとし、メモリセルM22の行を選択するワード線WL2の行選択電圧を1Vにする。そうすると、メモリセルM22には、図5aのように、MTJ素子のフリー層からピン層の方向に電流が流れるため、0書き込み状態となり、抵抗変化型素子R1は低抵抗になり、データ0を記憶した状態となる。この状態では、抵抗変化型素子R1の両端に約0.6Vの電圧が印加され、ビット線BL2からソース線SL23に約49μAの電流が流れる。一方、メモリセルM23では、メモリセルM23が接続するビット線BL3とソース線SL23の電位が0Vで同じため、メモリセルM23には電流が流れないため、状態は変化しない。すなわち、メモリセルM22にのみ、データの書き換えができる。1の書き込みメモリセルM22の抵抗変化型素子R1に0を書き込む場合、ビット線BL2を0V、ソース線SL23を1V、ビット線BL3を1Vとし、メモリセルM22の行を選択するワード線WL2の行選択電圧を1Vにする。そうすると、メモリセルM22には、図5bのように、MTJ素子のピン層からフリー層の方向に電流が流れるため、MTJ素子が高抵抗状態になり、データ1を記憶した状態に変化なる。この場合でも、メモリセルM23では、メモリセルM23が接続するビット線BL3とソース線SL23の電位が1Vで同じため、メモリセルM23には電流が流れないため、状態は変化しない。すなわち、メモリセルM22にのみ、データの書き換えが出来る。読出し動作次に、メモリセルM22の抵抗変化型素子R1からのデータ読み出しについて説明する。データ読み出しでは、誤書き込みを防ぐためにビット線BL2の電圧を0.2V程度に下げてビット線BL2のデータを読み出す。それ以外の回路ノードについては、ビット線BL3の電圧を0V、ソース線SL23を0V、ワード線WL2に供給する行選択電圧を1Vにする。ここで、抵抗変化型素子R1がデータ0を記憶しており、低抵抗である場合、ビット線BL2からソース線SL23に向けて15μAの電流が流れる。一方、抵抗変化型素子R1がデータ1を記憶しており、高抵抗である場合、ビット線BL2からソース線SL23に向けて10μAの電流が流れる。従って、データ0の読み出し時に流れる電流15μAと、データ1の読み出し時に流れる電流10μAとの間の閾値例えば12.5μAを発生し、データ読み出し時にビット線BLからソース線SLに向けて流れる電流をこの閾値と比較することにより、抵抗変化型素子R1に記憶されているデータが0か1を判定することができる。メモリセルアレイ中のメモリセルの行と列の選択動作以下では、図9の表と図1の回路図を参照して、メモリセルにデータを読み書きする際に、デコーダ系回路、すなわち、行デコーダ200と列デコーダ300が、メモリセルM22又はM23を選択してデータを読み書きする動作を例にして、メモリセルアレイ100からデータを読み書きする特定のメモリセルを選択する動作を説明する。図9の表には、メモリセルM22とM23から成る基本ユニットにおいて、列デコーダ300がメモリセルの選択をM22かM23かに切り替えてメモリセルを選択する動作の条件を示す。すなわち、メモリセルM22の抵抗変化型素子R1とメモリセルM23の抵抗変化型素子R2へのデータ書き込み動作及び読出し動作を行う際に回路の各ノードに与える電圧を示す。図1の回路図の行デコーダ200が、それに入力された行アドレスの指令に従って、メモリセルアレイ100の中の一行のメモリセルMkjj=0~nを選択する行選択信号をワード線WLkに出力する。詳しくは、行デコーダ200は、行アドレスが第k’行を指示するとき、第k’行に対応したワード線WLk’に対して1Vの行選択電圧を出力する。また、第k’行以外の各行に対応したワード線WLkk≠k’に供給する行選択電圧を0Vにして出力する。これにより第k’行のメモリセルMk’jj=0~nの各抵抗変化型素子Rがソース線SLjj=0~nに接続され、他の行のメモリセルMkjk≠k’、j=0~nの各抵抗変化型素子Rはソース線SLjj=0~nから切り離される。データの書き込みかデータ読み出しに応じて、書き込み電圧発生回路500がデータ線DLへ出力する電圧と連携して、列デコーダ300に入力された列アドレスの指令に従って列デコーダ300がメモリセルアレイ100の中の一列のメモリセルMkjk=0~mを選択する列選択信号COLを出力する。詳しくは、列デコーダ300は、列選択信号COL0~COLnを列ゲート部400に出力して、その信号により列ゲート部400のカラムゲートCGを選択する。そして、選択されたカラムゲートCGが、そのカラムゲートCGが接続する書き込み電圧発生回路500のデータ線DLあるいは反転データ線DLBを、ビット線BL及びソース線SLに接続する。列ゲート部400のカラムゲートCGは、図2のようにCMOS回路のカラムゲートCGを用いる。そして、カラムゲートCGのNチャンネルMOSトランジスタのゲートに、列デコーダ300の出力する列選択信号COLを接続し、PチャンネルMOSトランジスタのゲートに反転列選択信号COLBを接続してカラムゲートCGのスイッチを開閉させる制御を行う。そのカラムゲートCGのスイッチ動作をするCMOS回路を、NチャンネルMOSトランジスタとPチャンネルMOSトランジスタを並列にして、書き込み電圧発生回路500のデータ線DLあるいは反転データ線DLBと、ビット線BLあるいはソース線SLとの間に挿入する。図2のようなCMOS回路で構成するカラムゲートCGでは、トランジスタの閾値相当の電圧降下いわゆる閾値落ちを起こさず、書き込み電圧発生回路500のデータ線DLあるいは反転データ線DLBの電圧を、電圧降下させずに、ビット線BLあるいはソース線SLに加えることができる。それにより、トランジスタの閾値相当の電圧分だけ高い電圧をカラムゲートCGに加える必要が無くなり、カラムゲートCGを動作させる消費電力を低減できる効果がある。このカラムゲートCGをnMOS回路のみでカラムゲートCGを構成することも可能であるが、その場合は、書き込み電圧発生回路500のデータ線DLあるいは反転データ線DLBの電圧は、カラムゲートCGのトランジスタでおきる閾値分の電圧降下分だけ高い電圧を書き込み電圧発生回路500のデータ線DLあるいは反転データ線DLBから供給する。図1の回路図のビット線BL2には、書き込み電圧発生回路500のデータ線DLに接続するカラムゲートCG20と、反転データ線DLBに接続するカラムゲートCG30を接続する。それにより、カラムゲートCG20が選択されればデータ線DLをビット線BL2に接続し、カラムゲートCG30が選択されれば反転データ線DLBをビット線BL2に接続する。カラムゲートCG20のゲートには列選択信号COL2を接続し、カラムゲートCG30のゲートには列選択信号COL3を接続する。ソース線SL23には、書き込み電圧発生回路500の反転データ線DLBに接続するカラムゲートCG21と、同じく反転データ線DLBに接続するカラムゲートCG31を接続する。そのため、カラムゲートCG21かカラムゲートCG31かの何れのカラムゲートが選択されても、反転データ線DLBの電位をソース線SL23に伝達する。カラムゲートCG21のゲートには列選択信号COL2を接続し、カラムゲートCG31のゲートには列選択信号COL3を接続する。これにより、列デコーダ300から列選択信号COL2又は列選択信号COL3が出力される場合に、反転データ線DLBの電位がソース線SL23に伝達される。ビット線BL3には、反転データ線DLBに接続するカラムゲートCG22と、データ線DLに接続するカラムゲートCG32を接続する。それにより、カラムゲートCG22が選択されれば反転データ線DLBをビット線BL3に接続し、カラムゲートCG32が選択されればデータ線DLをビット線BL3に接続する。カラムゲートCG22のゲートには列選択信号COL2を接続し、カラムゲートCG32のゲートには列選択信号COL3を接続する。メモリセルM22の列を選択する場合には、列デコーダ300から1Vの電圧を列選択信号COL2に送信し反転列選択信号には0Vの電圧を送信、その列選択信号COL2をカラムゲートCG20,CG21、CG22のゲートに送信する。メモリセルM22を選択しない場合は0Vの電圧を列選択信号COL2に送信する反転列選択信号には1Vの電圧を送信する。列選択信号COL2に1Vの電圧を送信して、カラムゲートCG20,CG21、CG22のゲートにその信号を送信すると、ビット線BL2にはデータ線DLが接続され、ビット線BL3には反転データ線DLBが接続され、ソース線SL23には反転データ線DLBの電位が加わり、それにより、メモリセルM22が選択される。選択されたメモリセルM22にデータを書き込む場合は、書き込み電圧発生回路500がデータ線DLの電圧と反転データ線DLBの電圧を、書き込みデータの値が0であるか1であるかに応じて1Vか0Vかに変える。また、メモリセルM22のデータを読み出す場合は、書き込み電圧発生回路500は、データ線DLを駆動する3ステートバッファをフローティング状態にして、反転データ線DLBの電圧を0Vにする。そして、センスアンプ600が0.2Vの電圧をデータ線DLに印加する。それにより、データ線DL及び反転データ線DLBに接続されたビット線BL2とBL3とソース線SL23の電圧が図8の表のようになりデータがメモリセルM23に読み書きできる。メモリセルM23の列を選択する場合は、列デコーダ300から1Vの電圧を列選択信号COL3に送信し反転列選択信号には0Vの電圧を送信、その列選択信号COL3を、カラムゲートCG30,CG31、CG32のゲートに送信する。メモリセルM23を選択しない場合は0Vの電圧を列選択信号COL3に送信する反転列選択信号には1Vの電圧を送信する。列選択信号COL3に1Vの電圧を送信して、カラムゲートCG30,CG31、CG32のゲートにその信号を送信すると、ビット線BL2には反転データ線DLBが接続され、ビット線BL3にはデータ線DLが接続され、ソース線SL23には反転データ線DLBの電位が加わり、それにより、メモリセルM23が選択される。また、それ以外のメモリセルMkjの列を選択する場合は、列デコーダ300から、それらのメモリセルMkjの列を選択する列選択信号COLjに1Vの電圧を送信し、メモリセルMkjを選択しない場合は、列選択信号COLjに0Vの電圧を送信する。ここで、カラムゲートCG20、CG21、CG31、CG32は、電流を流すために、大きな寸法のトランジスタを用いる。一方、カラムゲートCG22、CG30については、電圧を与える動作のみをさせるようにし、デバイスの面積を節約するために小さな寸法のトランジスタを用いる。データの読み書きの制御図1の書込制御回路800は、書き込みデータ入力信号Dinを受信して書き込み電圧発生回路500に引き渡す回路である。すなわち、書き込み制御信号WEとともに書き込みデータ入力信号Dinが与えられたとき、その書き込みデータ入力信号Dinを書き込み電圧発生回路500に引き渡す回路である。また、書き込み電圧発生回路500は、データ線DLを駆動する3ステートバッファと、反転データ線DLBを駆動する3ステートバッファを有する。そして、書き込み電圧発生回路500のデータ線DLおよび反転データ線DLBは、メモリセルアレイ100に対して書き込むデータまたはメモリセルアレイ100から読み出したデータを伝送するための信号線である。データ書き込み時データ書き込み時、書き込み電圧発生回路500は、データ線DLおよび反転データ線DLBを駆動する2個の3ステートバッファを出力イネーブル状態とする。そして、書き込み電圧発生回路500は、書き込みデータ入力信号Dinが0である場合、データ線DLに1Vを、反転データ線DLBに0Vを出力する。なお、データ書き込み時に、アクセス対象であるメモリセルMkjの行アドレスおよび列アドレスが行デコーダ200および列デコーダ300に与えられ、行アドレスにより指定されたk行および列アドレスにより指定されたj列に属する1個のメモリセルMkjが選ばれる。詳しくは、メモリセルMkjの接続するビット線がデータ線DLに接続され、そのメモリセルMkjと同じ基本ユニットに属するもう1つのメモリセルの接続するビット線と、その基本ユニットの2つのメモリセルが共有するソース線とが反転データ線DLBに接続される。そして、書き込み電圧発生回路500からデータ線DLに1V、反転データ線DLBに0Vが出力されると、ビット線BLjから当該メモリセルMkjを介してソース線SLjに電流が流れる。この結果、当該メモリセルMkjの抵抗変化型素子R1が低抵抗となり、データ0を記憶した状態となる。また、書き込み電圧発生回路500は、書き込みデータ入力信号Dinが1である場合、データ線DLに0Vを、反転データ線DLBに1Vを出力する。この結果、書き込みデータ入力信号Dinが0の場合とは逆に、ソース線SLjから当該メモリセルMkjを介してビット線BLjに電流が流れる。これにより、当該メモリセルMkjの抵抗変化型素子R1が高抵抗となり、データ1を記憶した状態となる。データ読出し時データ読み出し時における行選択および列選択の動作はデータ書き込み時と同様である。すなわち、アクセス対象であるメモリセルMkjの行アドレスが行デコーダ200に与えられ、列アドレスが列デコーダ300に与えられ、行アドレスにより指定されたk行および列アドレスにより指定されたj列に属する1個のメモリセルMkjが選ばれる。詳しくは、メモリセルMkjの接続するビット線がデータ線DLに接続され、そのメモリセルMkjと同じ基本ユニットに属するもう1つのメモリセルの接続するビット線と、その基本ユニットの2つのメモリセルが共有するソース線とが反転データ線DLBに接続される。データ読み出しのための回路として、データ線DLにはセンスアンプ600が接続され、センスアンプ600の後段には出力回路700が設けられている。このセンスアンプ600および出力回路700と、その他に書き込み電圧発生回路500がデータ読み出しのための動作を行う。すなわち、データ読み出し時、書き込み電圧発生回路500は、データ線DLを駆動する3ステートバッファを出力ディセーブル状態フローティング状態とし、反転データ線DLBを駆動する3ステートバッファを出力イネーブル状態とし、後者の3ステートバッファから反転データ線DLBに0Vを出力する。そして、センスアンプ600は、0.2Vの電圧をデータ線DLに印加し、センスアンプ600からデータ線DLに流れ込む電流を検知して増幅する。ここで、アクセス対象であるメモリセルMkjがデータ0を記憶している場合、15μAの電流がセンスアンプ600→データ線DL→ビット線BLj→メモリセルMkjの抵抗変化型素子R1→ソース線SLj→反転データ線DLB→書き込み電圧発生回路500→基準電源GND=0Vという経路を辿って流れる。一方、アクセス対象であるメモリセルMkjがデータ1を記憶している場合、10μAの電流が同じ経路を辿って流れる。そこで、センスアンプ600は、データ線DLに流れ込む電流Iを10μAと15μAの中間の閾値Iref参照電流:Referenceと比較し、I>Irefならばデータ0を、I<Irefならばデータ1を出力する。出力回路700は、このセンスアンプ600の出力データを外部へ出力する。メモリセルに接続するソース線とビット線の立体構造図6の平面図と図7の断面図に示すように、本実施形態では、メモリセルMkjへ読み書きするデータを伝送するための信号線であるビット線BLjとソース線SLjj1は互いに平行に配置され、そのソース線SLjj1とビット線BLjとの両方と直交する方向にワード線WLが配置されている。図6では、メモリセルM23のNチャネルのメモリセル選択用トランジスタTN2のソース端子とメモリセルM23のNチャネルのメモリセル選択用トランジスタTN3のソース端子とを共通のスルーホールCSを介して第1メタル層Mt1に配線したソース線SL23に接続する。また、メモリセルM23のNチャネルのメモリセル選択用トランジスタTN2のドレイン端子は、スルーホールCSを介して抵抗変化型素子MTJ素子MTJのピン層に接続され、このMTJ素子MTJのフリー層はスルーホールV1を介して第2メタル層Mt2に配線したビット線BL3に接続する。図6の平面図のレイアウトにおいて、ソース線SL01,SL23、SL45は第1メタル層Mt1に配線し、ビット線BL0、BL1からBL4は第2メタル層Mt2に配線する。そして、図6の四角マークは、MTJ素子MTJの部分であり、図7の断面図のように、上層から順に、第2メタル層Mt2に配線したビット線BL1に接続するスルーホールV1と、MTJ素子と、そのMTJ素子の第1メタル層Mt1に接続するスルーホールCSと、半導体基板のNチャネルのメモリセル選択用トランジスタTNのドレインのnチャンネル拡散層とが重なっている。また、図6の円形マークは、Nチャネルのメモリセル選択用トランジスタTNのソース端子を第1メタル層Mt1に配線したソース線SLに接続するスルーホールCSの部分を示す。図7の断面図のように、上層から順に、第1メタル層Mt1に配線したソース線SLに接続するスルーホールCSと、半導体基板のNチャネルのメモリセル選択用トランジスタTNのソースのnチャンネル拡散層とが重なっている。図6の平面図と図7aの断面図のように、メモリセルM22のソース端子のスルーホールCSとメモリセルM23のソース端子のスルーホールCSとを接近させて、共通のソース線SL23に接続する。また、図7bの断面図のように、メモリセルM32とメモリセルM33はソース端子を共有し、すなわち共有するスルーホールCSを介してソース線SL23に接続する。本実施形態は、図7abの断面図のように、ソース線SL23を第1メタル層Mt1に配線し、ビット線BL2、BL3等を第2メタル層Mt2に配線し、ソース線SL23とビット線BL2及びBL3を平行に対向させて走行させ、上下で一部の領域を重ね合わせるように構成している点に第1の特徴がある。この構成により、メモリセルMkjに読み書きするデータを伝送するための信号線であるビット線BL2又はBL3とソース線SL23の組が、特性インピーダンスが一定の安定した伝送線路を構成する。そのように特性インピーダンスが一定で安定しているので、ビット線BL2及びBL3を伝送する信号が、その信号線の途中で信号が反射してノイズを発生することも無く、信号の伝送の信頼性が高い信号線を持つ回路ができる効果がある。また、本実施形態は、ビット線BL2、BL3等を第2メタル層Mt2に配線し、第1メタル層Mt1にソース線SL23を配線し、ビット線BL2及びBL3と、ソース線SL23とを、異なる層のメタル層に配線した点に第2の特徴がある。この構成により、レイアウト上でメタル層間のスペースに余裕が出来、メモリセルサイズを大きくすることなくソース線SLの幅を、1.5F~2FFは最小デザインルール程度に、最小幅より太く設定できる。また、メモリセルのソース端子を第1メタル層Mt1のソース線SLに接続するスルーホールCSは、第1メタル層Mt1のソース線SLの高さで止まり、更に上層の第2メタル層Mt2には達さず第2メタル層Mt2には干渉しない。そのため、ソース線SLを配線した第1メタル層Mt1より上層の第2メタル層Mt2にソース線SLに平行して配線するビット線BLの幅を、ソース線SLと同程度に1.5F~2F程度に太く設定できる。そのように、ソース線SLの幅とビット線BLの幅を太く設定することで、ソース線SLとビット線BLの配線抵抗を小さくできる効果がある。これにより、ソース線SL及びビット線BLに流れる電流を大きくしても、それらの配線での電圧降下を少なくすることができ、回路の配線の場所による電位の差を少なくできる効果がある。また、本実施形態は、第1メタル層の高さの位置にMTJ素子MTJを形成し、その高さの層の領域をソース線SL23とMTJ素子MTJとが使うようにした点に第3の特徴がある。このように、MTJ素子MTJとソース線SL23とが同じ高さの層の領域を共有することで第1メタル層Mt1の使用率が上がる。また、ビット線BL2、BL3をソース線SL23と異なる層である第2メタル層Mt2に配線することにより、第2メタル層Mt2でのビット線BL2,BL3の配線に余裕ができ、ビット線BL2とBL3の配線の幅を太く設定できる効果がある。このように、配線の総層数を変えないで、高さ方向の層数を最小の数になるように、高さ方向の領域の使用率を最適化した不揮発性メモリデバイスが得られる効果がある。こうして、図6の平面図のレイアウトでは、メモリセルの行方向横方向のピッチが3FここでFはFeatureSizeを示し、最小デザインルールに相当する値を持つにできる。また、列方向縦方向のピッチは約3.5Fのピッチにでき、この場合のメモリセルの面積は3F×3.5F=10.5F2まで小さくすることができる。変形例1変形例1として、図10に、さらにメモリセルの面積を小さくしたレイアウト方法を示す。破線で示したメモリセルM23を例にすると、そのメモリセルM23に隣接するメモリセルの行方向横方向のピッチは、ほぼ最小加工限界寸法の2倍の2Fにまで小さくすることができる。列方向縦方向のメモリセルのピッチは、約3.5Fまで小さくでき、この場合のメモリセルの面積は2F×3.5F=7F2まで小さくすることができる。こうすることで、DRAMのメモリセルの面積8F2よりも小さな面積のメモリセルが形成できる効果がある。変形例2変形例2として、図11に、さらにメモリセルの面積を小さくしたレイアウト方法を示す。ワード線WL1とWL2の間の素子の分離箇所に、ワード線と平行なゲート線を通して、そのゲート線の電圧をGNDに固定して素子分離を行う。この素子分離を行うGND電位のゲート線の下のnチャンネル拡散層の間の間隙は、Nチャネルのメモリセル選択用トランジスタTN2のゲート長と同様に、最小ゲート長の長さがあれば良いので、nチャンネル拡散層の分離領域を最小限に設定することが出来る。そのため、メモリセルの列方向縦方向のピッチは、3Fにできる。従って、メモリセルの面積は、行方向横方向の2Fに、列方向縦方向の3Fを掛け合せた面積の6F2という小さな面積に形成できる効果がある。この場合は、DRAMのメモリセルの面積8F2よりも十分小さな面積にでき、そのメモリセルの製造プロセスも単純なので、低コストで製造できる効果があり、書き換え可能な不揮発性RAMを提供することができる効果がある。<第2の実施形態>図12は、第2の実施形態を示す。第2の実施形態では、図12のように、列ゲート部400の回路は、メモリセルM00とM01との1組のメモリセルから成る基本ユニットに接続する回路の例では、第1の実施形態の回路からカラムゲートCG10とCG02を除去し、回路にCG03とCG04を追加した回路にする。そして、カラムゲートCG03は、ゲート端子を列選択信号COL0に接続して、ソース端子とドレイン端子をソース線SL01とビット線BL1に接続する。また、カラムゲートCG04は、ゲート端子を列選択信号COL1に接続して、ソース端子とドレイン端子をソース線SL01とビット線BL0に接続する。それにより、これらのカラムゲートと、書き込み電圧発生回路500のデータ線DL及び反転データ線DLBとを4本の配線で接続する。第2の実施形態では、メモリセルM20とM21から成る基本ユニットの中のメモリセルM20を選択する場合は、列デコーダ300から1Vの電圧を列選択信号COL0に送信し、その列選択信号COL0をカラムゲートCG00、CG01、CG03のゲートに送信する。そうすると、カラムゲートCG00によりビット線BL0にデータ線DLが接続され、カラムゲートCG01によりソース線SL01には反転データ線DLBが接続され、カラムゲートCG03により、ビット線BL1にそのソース線SL01、すなわち、反転データ線DLBの電位が接続される。ここで、メモリセルM20を選択しない場合は0Vの電圧を列選択信号COL0に送信する。メモリセルM20とM21から成る基本ユニットの中のメモリセルM21を選択する場合は、列デコーダ300から1Vの電圧を列選択信号COL1に送信し、その列選択信号COL1をカラムゲートCG12、CG11、CG04のゲートに送信する。そうすると、カラムゲートCG12によりビット線BL1にデータ線DLが接続され、カラムゲートCG11によりソース線SL01には反転データ線DLBが接続され、カラムゲートCG04により、ビット線BL0にそのソース線SL01、すなわち、反転データ線DLBの電位が接続される。ここで、メモリセルM21を選択しない場合は0Vの電圧を列選択信号COL1に送信する。第2の実施形態は、この回路構成により、第1の実施形態では、メモリセルM00とM01との1組のメモリセルから成る基本ユニットに接続する列ゲート部400の回路が、データ線DL及び反転データ線DLBと6本の配線で接続していたのを、4本の配線のみで接続するようにして、配線の数を減らした。これにより、第2の実施形態では、列ゲート部400の配線が容易になり、カラムゲートCGのレイアウトを簡略化でき、そのレイアウトの面積を縮小することができる効果がある。<第3の実施形態>図13は、第3の実施形態を示す。第3の実施形態では、書き込み電圧発生回路510が、書込制御回路800から書き込みデータ入力信号Dinと書き込み制御信号WEを受信するとともに、基本ユニットの2つのメモリセルのうち一方を選択するカラムアドレス信号AY0を書込制御回路800から受信する。そして、書き込み電圧発生回路510は、図14の回路図に示す回路から成り、図15の真理値表に従って、カラムアドレス信号AY0の値と書き込みデータ入力信号Dinの値に従って、データ線D1とD3へ出力する信号を切り替える。すなわち、データ線D2には、書き込みデータ入力信号Dinの値と同じ信号を出力し、データ線D1とD3には互いに反転した信号を出力する。データ線D3には、排他的論理和回路XORでカラムアドレス信号AY0とデータ入力信号Dinの排他的な論理和を取った信号が出力される。ここで、図14の書き込み電圧発生回路510におけるインバータINV2、3、4、5は、データ線D1,D2、D3への出力電流を多く取るためのバッファを兼ねており、論理的には省略できる。また、図13のように、列ゲート部400の回路は、第1の実施形態の回路からカラムゲートCG10とCG11とCG12を除去し、カラム選択信号COL1を除去した回路にする。そして、ビット線BL0,ソース線SL01,ビット線BL1は、それぞれ、ゲートにカラム選択信号COL0が入力されるカラムゲートCG00、CG01、CG02を介してデータ線D1、D2、D3と接続する。同じく、ビット線BL2、ソース線SL23,ビット線BL3、ビット線BLn、ソース線SLnn1、ビット線BLn1もそれぞれ、データ線D1、D2、D3に接続する。そして、カラム選択信号COL3、COL5、COL7を除去する。それにより、これらの各基本ユニット毎のカラムゲートと、書き込み電圧発生回路510のデータ線D1、D2、D3とを3本の配線で接続する。メモリセルへの書込み動作以下では、この回路のうち、メモリセルM20とM21から成る基本ユニットのメモリセルへのデータの書込み動作を説明する。この基本ユニットを動作させるため、列デコーダ300から1Vの電圧を列選択信号COL0に送信する。そうすると、その列選択信号COL0がカラムゲートCG00、CG01、CG02のゲートに接続しているので、0Vのデータ線D1がカラムゲートCG00によりビット線BL0に接続され、1Vのデータ線D2がカラムゲートCG01によりソース線SL01に接続され、1Vのデータ線D3がカラムゲートCG03によりビット線BL1に接続される。図13の回路のカラムアドレス信号AY0は、BL0、BL2、図13の左側メモリセルを選択するか、BL1、BL3,図13の右側メモリセルを選択するかを決める。カラムアドレス信号AY0の電位が0Vの場合は、図16の書込み状態表のように、データ入力信号Dinが1Vになるとデータ線D2が1Vになるとともにデータ線D1が0Vになる。そのため、カラムアドレス信号AY0の電位が0Vの場合は、図16の書込み状態表のように、電位差があるソース線SL01とビット線BL0により、メモリセルM20に1が書き込まれる。カラムアドレス信号AY0の電位が0Vの場合にデータ入力信号Dinが0Vになると、データ線D2とD3が0Vになるとともにデータ線D1が1Vになり、電位差があるソース線SL01とビット線BL0により、メモリセルM20に0が書き込まれる。他方、カラムアドレス信号AY0の電位が1Vの場合は、図16の書込み状態表のように、データ入力信号Dinが1Vになるとデータ線D1とD2が1Vになるとともにデータ線D3が0Vになる。そのため、電位差があるデータ線D2とD3が接続するソース線SL01とビット線BL1により、メモリセルM21に1が書き込まれる。また、カラムアドレス信号AY0の電位が1Vの場合にデータ入力信号Dinが0Vになると、データ線D1及びD2が0Vになるとともにデータ線D3が1Vになる。そのため、電位差があるデータ線D2とD3が接続するソース線SL01とビット線BL1により、メモリセルM21に0が書き込まれる。メモリセルからの読出し動作メモリセルからの読み出し時は、カラムアドレス信号AY0の電位が0Vの場合は、ソース線SL01との間に電位差があるビット線BL0、BL2、BLnのデータがデータ線D1に出力される。そのため、データ線D1の選択トランジスタTR1がカラムアドレス信号AY0により選択されて、センスアンプSA,出力回路OUTを通して出力信号Doutとして出力される。カラムアドレス信号AY0の電位が1Vの場合は、ソース線SL01との間に電位差があるビット線BL1、BL3、BLn1のデータがデータ線D3に出力される。そのため、データ線D3の選択トランジスタTR3が反転カラムアドレス信号AY0Bにより選択されて、センスアンプSA,出力回路OUTを通して出力信号Doutとして出力される。<第4の実施形態>図17と図18は、第4の実施形態を示す。第4の実施形態では、図17のように、隣接したメモリセルに同時にデータを読み書きする回路を構成する。図17には、16個のメモリセルに同時に書き込みを行う、16I/O×16を持つ例を示す。そして、図18のように、メモリセルアレイ100の回路を、同時にデータ読み書きする隣接したメモリセル群毎にメモリブロック100-0から100-nに分割する。また、列ゲート部400を、各メモリブロックに対応させて、各メモリブロックに接続する列ゲートブロック400-0、400-1~400-nに分割する。列ゲートブロック400-kとメモリブロック100-kとは一体にして、図18の回路図の横方向に順番にメモリブロックを配置するのが好適である。そして、列デコーダ300は、図18の回路図の横方向に配置した列ゲートブロック400-kに対応した位置の上方に、それぞれのデコード回路を配置するのが好適である。図17のように、メモリブロック100-0は列アドレス0に対応したメモリセル群であり、列ゲートブロック400-0のカラムゲートCG00、CG01、CG02、CG20、CG21、CG22~CG140、CG141、CG142のソース端子にビット線BL0、BL1、BL2、BL3~BL14、BL15を接続する。列選択信号COL0により列ゲートブロック400-0のカラムゲートCG00、CG01、CG02、CG20、CG21、CG22~CG140、CG141、CG142のゲートが同時に開かれ、それらのカラムゲートのドレイン端子が接続するデータ線DL0、DL1、DL2、DL3~DL14、DL15が、メモリブロック100-0のビット線BL0、BL1、BL2、BL3~BL14、BL15に接続される。また、メモリブロック100-0のソース線SL01、SL23~SL1415は、列デコーダ300の共通ソース線COMSLによってゲートを開かれるカラムゲートCG01、CG21~CG141のドレイン端子に接続する。同様にして、図18のメモリブロック100-1は列アドレス0に対応したメモリセル群であり、列選択信号COL1により列ゲートブロック400-1のカラムゲートが開かれ、データ線DL0~DL15が、メモリブロック100-1のビット線BL0、BL1、BL2、BL3~BL14、BL15に接続される。メモリブロック100-nは列アドレスnに対応したメモリセル群であり、列選択信号COLnにより列ゲートブロック400-nのカラムゲートが開かれ、データ線DL0~DL15が、メモリブロック100-nのビット線BL0、BL1、BL2、BL3~BL14、BL15に接続される。図17の回路のように、メモリブロック100-0は、各I/Oに繋がるビット線BL0~BL15及び、ソース線SL01~SL1415を含み、ビット線BL0とBL1はメモリセルM00とM01を介して共通のソース線SL01に繋げる。同様にして、ビット線BL14とBL15はメモリセルM014とM15を介して共通のソース線SL1415と接続する。図18のメモリブロック100-1から100-nについても同様に構成する。図19に、書き込み電圧発生回路510の具体回路を示す。書き込み時は、書き込み制御信号WE=1となり、書き込み状態に設定すると、データ入力信号Din0~Din15に従って、その反転電圧がデータ線DL0~DL15に出力される。また、共通ソース線COMSLの信号が、図示しない0.6Vを発生する電源回路より電圧VSLを供給され、0.6Vを出力する。これにより、書き込み電圧抵抗変化型素子に印加する電圧を0.6Vにする。ここで、非特許文献1のMTJ素子を用いた場合は、抵抗変化型素子に対する印加電圧を0.6VMTJ素子の最低動作電圧以上確保できればストアが可能であり、そのとき抵抗変化型素子に流れる電流は49μAとなる。なお、本実施例の回路では、カラムゲートCGはCMOS回路で構成し、また、メモリセルMkjのメモリセル選択用トランジスタTNもCMOS回路で構成する。CMOS回路で構成したメモリセル選択用トランジスタTNでは、トランジスタの閾値相当の電圧降下いわゆる閾値落ちを起こさないので、MTJ素子の抵抗変化型素子に加える印加電圧のみを、共通ソース線COMSLに加える電圧とデータ入力信号Din0~Din15との差の電圧にするだけで、メモリセルへデータを書き込める効果がある。一方、書き込み制御信号WE=0となり、読み出し状態になると、データ線DL0~DL15はオープンとなり、共通ソース線COMSLは0VGNDレベルとなる。回路の動作図20は、図17のメモリブロック100-0の一部の回路を抜粋した図である。この図20の回路を参照して、本実施例の動作を説明する。本実施形態では、同一のソース線SL23に接続しているメモリセルM12、M13に独立して、独立なビット線BL2、BL3の伝送されたデータを書き込む。図21にこの回路動作のバイアス条件を示す。以下では、この回路のメモリセルM12とM13への書き込みデータの組み合わせで、ケース1~ケース4を示す。ここで、メモリセルM12及びM13に用いるCMOS回路にはトランジスタの閾値の電圧降下が無いので、ビット線BL2又はビット線BL3の電圧とソース線SL23の電圧の差がそのまま、メモリセルM12及びM13の抵抗変化型素子に印加される。そのため、メモリセルM12とM13の最低動作電圧は、抵抗変化型素子MTJ素子の最低動作電圧の0.6Vと等しい。ケース1図22にケース1の場合の、メモリセルM00~M03の動作の状態を示す。ケース1は、メモリセルM12とM13の両方に0データを書き込む例である。ビット線BL2に、MTJ素子の最低動作電圧0.6Vの2倍の1.2Vを印加し、ソース線SL23に、MTJ素子の最低動作電圧0.6Vを印加し、ビット線BL3に、MTJ素子の最低動作電圧の2倍の1.2Vを印加する。このようなバイアスにすると、ビット線BL2及びBL3とソース線SL23の間に0.6Vの正電圧の電位差を生じ、メモリセルM12及びM13それぞれの抵抗変化型素子にその電位差の電圧が印加される。そのため、メモリセルM12及びM13の抵抗変化型素子は低抵抗となり、それぞれ0データが書き込まれる。ケース2図23にケース2の場合の、M00~M03のセル動作の状態を示す。ケース2では、ビット線BL2に、MTJ素子の最低動作電圧0.6Vの2倍の1.2Vを印加し、ソース線SL23にMTJ素子の最低動作電圧0.6Vを印加し、ビット線BL3に0Vの電圧を印加する。この状態では、メモリセルM12の抵抗変化型素子には、ビット線BL2の電圧とソース線SL23の差の0.6Vの正電圧が印加され、メモリセルM13の抵抗変化型素子には、ビット線BL3の電圧とソース線SL23の差の-0.6Vの負電圧が印加される。そのため、メモリセルM12の抵抗変化型素子は低抵抗に変化し、メモリセルM13の抵抗変化型素子は高抵抗に変化する。すなわち、メモリセルM12には0が書き込まれ、メモリセルM13には1が書き込まれる。ケース3同様にして、ケース3では、メモリセルM12が高抵抗となり1データが書き込まれ、メモリセルM13が低抵抗となり、0データが書き込まれる。ケース4ケース4では、メモリセルM12、M13共に1が書き込まれる。このように、本実施形態では、共通ソース線COMSLに0.6Vの電圧を供給し、その共通ソース線COMSLの電圧をメモリブロック100-kのソース線に接続することで、ソース線を共有する隣接したメモリセルM12、M13に、独立した任意のデータを書き込むことが出来る効果がある。読出し動作データ読み出し時は、書き込み電圧発生回路510は、データ線DL0~DL15を駆動する3ステートバッファを出力ディセーブル状態フローティング状態とし、共通ソース線COMSLに0Vを供給する。そして、各センスアンプ600は、0.2Vの電圧をデータ線DL0~DL15に印加し、各センスアンプ600からデータ線DL0~DL15に流れ込む電流を検知して増幅する。こうして、書き込まれたデータ抵抗値により、0データLowあるいは1データHighが読み出される。"