データを不揮発に記憶するメモリセルを配列してなるメモリセルアレイと、第1方向に延びるように前記メモリセルアレイに配列され前記メモリセルに信号を供給し又は前記メモリセルからの信号を読み出すビット線と、前記ビット線に接続され前記メモリセルから読み出される信号を検知増幅するセンスアンプ回路と、前記センスアンプと第1のバスを介して接続された第1のデータラッチと、第2のバスに接続された第2のデータラッチと、データを外部に入出力するための入出力バッファとを備え、1つの前記センスアンプ回路及び1つの前記第1のデータラッチをそれぞれ含む複数の回路群が前記第1方向に沿って繰り返し設けられ、前記第2のデータラッチは、複数個の前記回路群と前記入出力バッファとの間に設けられていることを特徴とする半導体記憶装置。前記第2のバスは、複数個の前記回路群及び前記第2のデータラッチを接続するように配線されることを特徴とする請求項1記載の半導体記憶装置。前記メモリセルアレイは、複数のカラムを有し、前記回路群は、前記複数のカラムの1つ毎に、その1つのカラムに含まれるビット線の数jだけ繰り返し設けられ、前記第2のデータラッチは、1つのカラム当たりj個設けられることを特徴とする請求項1記載の半導体記憶装置。前記第1のデータラッチは、第1のインバータと、この第1のインバータと交差接続される第2のインバータとを含むラッチ回路と、前記第1のバスと前記第1のインバータの入力端子との間に接続される第1の転送トランジスタと、前記第1のバスと前記第2のインバータの入力端子との間に接続される第2の転送トランジスタとを備えたことを特徴とする請求項1記載の半導体記憶装置。前記センスアンプ回路は、センスノードの状態に基づき導通状態又は非導通状態となり前記第1のバスの電位を切り替える第1のトランジスタと、前記第1のバスにゲートを接続され導通状態と非導通状態との間で切り替えられる第2のトランジスタとを備えたことを特徴とする請求項4記載の半導体記憶装置。本実施形態は、消費電流を抑制することを目的とする。本実施形態の半導体記憶装置は、データを不揮発に記憶するメモリセルを配列してなるメモリセルアレイを備える。ビット線は、第1方向に延びるようにメモリセルアレイに配列されメモリセルに信号を供給し又はメモリセルからの信号を読み出す。センスアンプ回路は、ビット線に接続されメモリセルから読み出される信号を検知増幅する。第1のデータラッチは、センスアンプと第1のバスを介して接続される。第2のデータラッチは、第2のバスに接続される。入出力バッファは、データを外部に入出力するために設けられている。1つのセンスアンプ回路及び1つの第1のデータラッチをそれぞれ含む複数の回路群が第1方向に沿って繰り返し設けられる。また、第2のデータラッチは、複数個の回路群とデータを外部に対して入出力する周辺回路部との間に設けられている。次に、本発明の実施の形態を、図面を参照して詳細に説明する。図1は、本実施の形態によるNAND型フラッシュメモリ21の概略構成を示している。図1に示すように、このNAND型フラッシュメモリ21は、メモリセルアレイ1と、センスアンプ回路SAと、データラッチ回路DL1~DL3と、ロウデコーダ3と、コントローラ4と、入出力バッファ5と、ROMフューズ6と、電圧発生回路7から構成されている。コントローラ4は、メモリセルアレイ1に対する制御部を構成するものである。メモリセルアレイ1は、NANDセルユニットMU10がマトリクス配列されて構成されている。一つのNANDセルユニット10は、複数個直列に接続されたメモリセルMCと、その両端に接続される選択ゲートトランジスタS1、S2により構成されている。図示は省略するが、1つのメモリセルMCは、周知の通り、ドレインとソースとの間に形成されたゲート絶縁膜トンネル絶縁膜上に電荷蓄積層としてのフローティングゲート電極を有し、そのフローティングゲート電極上に、ゲート間絶縁膜を介してコントロールゲート電極を形成したものとすることができる。コントロールゲートは、ワード線の1つに接続される。選択ゲートトランジスタS1のソースは共通ソース線CELSRCに接続され、選択ゲートトランジスタS2のドレインはビット線BLに接続されている。NANDセルユニット10内のメモリセルMCの制御ゲートはそれぞれ異なるワード線WLWL0、WL1、...、WL31に接続されている。選択ゲートトランジスタS1、S2のゲートはワード線WLと並行する選択ゲート線SG1、SG2にそれぞれ接続されている。1ワード線を共有する複数のメモリセルの集合は、1ページ或いは2ページを構成する。ワード線WLと選択ゲート線SG1、SG2を共有する複数のNANDセルユニット10の集合は、データ消去の単位となるブロックBLKを構成する。図1に示すように、メモリセルアレイ1には、ビット線BL方向に複数のブロックBLKBLK0、BLK1、...、BLKnが構成される。これらの複数ブロックを含むメモリセルアレイ1は、シリコン基板の一つのセルウェル内に形成されている。メモリセルアレイ1のビット線BLには、読み出しデータをセンスし書き込みデータを保持するための複数のセンスアンプ回路SAが接続されている。ロウデコーダワード線ドライバを含む3は、ワード線WL及び選択ゲート線SG1、SG2を選択して駆動する。データ入出力バッファ5は、データラッチ回路LA2~LA3と外部入出力端子との間でデータ授受を行う他、コマンドデータやアドレスデータを受け取る。コントローラ4は、書き込みイネーブル信号WEn、読み出しイネーブル信号REn、アドレスラッチイネーブル信号ALE、コマンドラッチイネーブル信号CLE等の外部制御信号を受けて、メモリ動作の全般の制御を行う。具体的に、コントローラ4は、コマンドインタフェースやアドレス保持、転送回路を含み、供給されたデータが書き込みデータであるかアドレスデータであるかを判定する。この判定結果に応じて、書き込みデータはセンスアンプ回路SAに転送され、アドレスデータはロウデコーダ3やセンスアンプ回路SAに転送される。またコントローラ4は、外部制御信号に基づいて、読み出し、書き込み消去のシーケンス制御、印加電圧の制御等を行う。電圧発生回路7は、複数個の昇圧回路11と、パルス発生回路12とを備えている。昇圧回路11は、それぞれ周知のチャージポンプ回路から構成され得る。電圧発生回路7は、コントローラ4からの制御信号に基づいて、駆動される昇圧回路11の数を切替え、さらにパルス発生回路12を制御して、所望のパルス電圧を発生させる。メモリセルアレイ1中では、j本のビット線BL例えばj=16に沿ったメモリセルMCが1つのカラムを構成する。そして、1つのカラムには、そのビット線BLの本数jに応じた数のセンスアンプ回路SAが設けられている。1カラムの複数のビット線BL1~jが同時に読み出しの対象とされる読み出し方式ABLAllBitLine方式が採用される場合には、ビット線BLの数jに合わせてj個のセンスアンプ回路SAが設けられる。以下では、ABL方式が採用されている場合を例にして説明する。なお、センスアンプ回路SAは、演算回路を内蔵している。詳しくは後述する。本発明がABL方式に限定されるものではないことは言うまでもない。例えば、奇数ビット線と偶数ビット線を交互に読み出す奇数/偶数方式EvenOddmethodが採用される場合には、センスアンプ回路SAの数は、ビット線BLの数jの半分でもよく、この場合にも同様の方式が採用可能である。ABL方式が採用される場合、データラッチ回路DL1、及びDL2に関しても、この1カラム毎のビット線BLの数jに応じ、j個のデータラッチ回路DL1、j個のデータラッチ回路DL2が、1カラム毎に設けられる。この実施の形態では、1つのセンスアンプ回路SA、1つのデータラッチ回路DL1、及び1つのデータラッチ回路DL2からなる回路群Gii=1~jが、ビット線BLの長手方向カラム方向に沿って繰り返し形成される。1つの回路群Giは、1本のビット線BLi毎に設けられている。2つのデータラッチ回路DL1、DL2が1本のビットBLのために設けられているのは、1つのメモリセルMCに対し2ビットのデータが格納可能とするため2ビット/セルである。センスアンプ回路SAは、ローカルバスLBを介して、センスアンプ回路SAの一部としてのセンスラッチ回路SL、データラッチ回路DL1及びDL2に接続されている。なお、1つのメモリセルMCに1ビットのデータを記憶するのであれば、データラッチ回路DL2は省略しても構わない。また、1つのメモリセルMCに3ビットのデータを記憶するのであれば、データラッチ回路DL1、DL2に加えてさらにデータラッチ回路を有していても良い。また、ローカルバスLBにはp型の充電トランジスタPTの一端が接続されている。充電トランジスタPTの他端は高電位VDDSAに接続されている。この充電トランジスタPTをオンさせることにより、ローカルバスLBを充電することができる。また、データラッチ回路DL3は、いわゆるデータキャッシュとして用いられるデータラッチ回路であり、入出力バッファ5から供給されるデータを一時保持する機能を有している。ABL方式を実行する場合、データラッチ回路DL3は、1カラム中のビット線BLの数jに合わせて例えばj個設けられる。データラッチ回路DL3は、前述の回路群Giよりもメモリセルアレイ1からみて遠い位置に形成される。すなわち、回路群Giは、メモリセルアレイ1とデータラッチ回路DL3とに挟まれる位置に形成される。1つの回路群Gi中のセンスアンプ回路SA、データラッチ回路DL1、及びデータラッチ回路DL2は、ローカルバスLBにより互いに接続され、このローカルバスLBを介してデータのやり取りを行う。一方、複数の回路群Giと、データラッチ回路DL3は、ローカルバスLBとは別のグローバルバスGBによって接続され、このグローバルバスGBを介して回路群Giとデータラッチ回路CL3はデータのやり取りを行う。次に、本実施形態の効果を、図3、図4に示す比較例と比較しながら説明する。まず、図3に、第1の比較例を示す。この比較例では、メモリセルアレイ1のカラム方向の両側に、センスアンプ回路SA、演算回路、データラッチ回路DL1、データラッチ回路DL2、及びデータラッチ回路DL3を有している。この実施の形態では、例えば1カラム分に含まれるj個のビット線BLに対応して、メモリセルアレイ1の片側においてj/2個のセンスアンプ回路SAを繰り返し形成した後、これに隣接して演算回路、j/2個のデータラッチ回路DL1、j/2個のデータラッチ回路DL2、及びj/2個のデータラッチ回路DL3を設ける。そして、これらの回路は、互いにデータバスDBにより接続され、データのやり取りを行い、演算回路において書き込み及び読み出しに必要な各種演算を行う。データ書き込み、読み出しなどのためのデータの伝送はデータバスDBにより行われる。1カラムに含まれるビット線BLの数j=16の場合、メモリセルアレイ1の片側には、8個のセンスアンプ回路SA、演算回路、及びそれぞれ8個のデータラッチ回路DL1、DL2、DL3が形成される。この第1の比較例において、例えば1本のデータバスDBの容量がCであるとした場合、データバスDBでの消費電流は、8×C×2=16Cに比例して増加する。図4に第2の比較例を示す。この第2の比較例では、メモリセルアレイ1のカラム方向の片側にのみ、例えばj=16個のセンスアンプ回路SA、演算回路、16個のデータラッチ回路DL1、16個のデータラッチ回路DL2、及び16個のデータラッチ回路DL3が形成されている。この実施の形態では、例えば1カラム分例えばj=16個のセンスアンプ回路SAを繰り返し形成した後、これに隣接して16個のデータラッチ回路DL1、16個のデータラッチ回路DL2、及び16個のデータラッチ回路DL3を設ける。そして、これらの回路は、互いにデータバスDBによりデータのやり取りを行い、演算回路において必要な演算を実行させる。この第2の比較例の場合、メモリセルアレイ1の片側にのみセンスアンプ回路SA、及びデータラッチ回路DL1~3が配置されるため、周辺回路の回路構成は簡略化される。しかし、この第2の比較例において、1本のデータバスDBの容量は、第1の比較例の1本のデータバスDBの容量の2倍2Cとなる。従って、データバスDBでの消費電流は、16×2C=32Cに比例して増加する。すなわち、データバスDBでの消費電流は、単純計算で第1の比較例の2倍になる。一方、本実施の形態の場合には、図5に示すように、センスアンプ回路SA自体に演算回路が内蔵され、データ書き込み、データ読み出しのための演算は、ローカルバスLBを介して接続されるセンスアンプ回路SA、及びデータラッチ回路DL1、DL2回路群Giの中で完結する。グローバスバスGBが使用されるのは、最初に書き込みデータをデータラッチ回路DL3から回路群Giに転送する時、および演算の終了した読み出しデータを回路群Giからデータラッチ回路DL3に転送する時などごく限られた場合のみとなる。1本のローカルバスLBの容量は、第1の比較例のデータバスDBの容量をCとした場合、約1/8Cとなる。従って、ローカルバスLBのみにおける消費電流は、1/8C×16=2Cとなる。従って、消費電流は第1の比較例と比べても単純計算で約1/8にすることができる。図6は、本実施の形態のデータラッチ回路DL1、DL2の構成例を示す。このデータラッチ回路DL1、DL2は、交差接続されてラッチ回路を構成するインバータINV1及びINV2、並びに転送ゲートトランジスタQN1及びQN4を備えている。インバータINV1は、PMOSトランジスタQP1、QP2及びNMOSトランジスタQN2を直列接続して構成されている。また、インバータINV2は、PMOSトランジスタQP3、QP4及びNMOSトランジスタQN3を直列接続して構成されている。PMOSトランジスタQP2のゲート及びNMOSトランジスタQN2のゲートは共通接続されてインバータINV1の入力端子を構成する。また、共通接続されたPMOSトランジスタQP2のドレイン及びNMOSトランジスタQN2のドレインがインバータINV1の出力端子を構成する。また、PMOSトランジスタQP4のゲート及びNMOSトランジスタQN3のゲートは共通接続されてインバータINV2の入力端子を構成する。また、共通接続されたPMOSトランジスタQP4のドレイン及びNMOSトランジスタQN3のドレインがインバータINV2の出力端子を構成する。PMOSトランジスタQP1、QP3はそれぞれインバータINV1、INV2を活性化させるためのスイッチであり、それぞれ信号LAT_Bn、LAT_Anを与えられて導通状態に切り替わる。ローカルバスLBとインバータINV1の入力端子インバータINV2の出力端子との間には、転送ゲートトランジスタQN1が接続されている。転送ゲートトランジスタQN1のゲートには、信号TRS_Aが供給されている。また、ローカルバスLBとインバータINV1の出力端子インバータINV2の入力端子との間には、転送ゲートトランジスタQN4が接続されている。転送ゲートトランジスタQN4のゲートには、信号TRS_Bが供給されている。この図6のデータラッチ回路DL1、DL2は、8個のトランジスタのみで構成されている。転送トランジスタQN1、QN2はNMOSトランジスタである。このため、電源電圧VDDは転送ゲートトランジスタQN1を介してインバータINV1の入力端子ノードDATAに転送することはできない。その代わりに、ローカルバスLBから、転送ゲートトランジスタQN4を介してインバータINV2の入力端子ノードDATAnに接地電圧Vssを供給することにより、ノードDATAに電源電圧VDDを供給することができる。次に、ローカルバスLBからノードDATAにデータHを入力する場合の動作を、図7のタイミングチャートを参照して説明する。まず、初期状態が不定であるローカルバスLBを0Vに放電させる。十分に放電できたころに、信号LAT_BnをH電源電圧VDDに立ち上げてPMOSトランジスタQP1を非導通状態にする。その後制御信号TRS_BをHに立ち上げてNMOSトランジスタQN4を導通状態に切り換え、これによりノードDATAnをローカルバスLBに接続し、ノードDATAnを0Vまで放電させる。これにより、ノードDATAが、インバータINV2を介してHレベルまで充電される。次に、制御信号LAT_Bn、TRS_Bを順にL0Vに立ち下げる。その後、ローカルバスLBの電源電圧VDDへの充電が開始される。その後、データラッチ回路DL1又はDL2に与えるべきデータに従い、ローカルバスLBにデータ1またはデータ0が出力される。この状態で、時刻t2において制御信号LAT_An、TRS_Aを順にHに立ち上げ、これによりノードDATAにNMOSトランジスタQN1を介してローカルバスLBの電圧VDDまたは0Vを印加させる。ノードDATAnにも、ノードDATAを反転させた状態が与えられる。また、図6に示すデータラッチ回路DL1、DL2はインバータとしても用いることができるNOT演算ができる。例えば、ノードDATAがHレベルの場合は、ノードDATAnはLレベルになる。すなわち、ローカルバスLBから、トランジスタQN1を介してノードDATAにデータ0を入力した後、ノードDATAnに保持したデータ1を、トランジスタQN4を介してローカルバスLBに出力する。その結果、データラッチ回路DL1、DL2をインバータ回路として用いることが出来、回路面積を縮小化することができる。図8は、センスアンプ回路SAの構成例を示す。このセンスアンプ回路SAは、センス用キャパシタCs、NMOSトランジスタQN5~QN10を備えている。トランジスタQN9及びQN10は演算回路13を構成する。図8において、センスノードSENは、図示しないクランプトランジスタを介してビット線BLに接続されている。このセンスノードSENとローカルバスLBとの間を接続するよう、NMOSトランジスタQN5が接続されている。NMOSトランジスタQN5は、信号BLQにより導通制御され、演算の際に使用される。センスノードSENの状態によってローカルバスLBの電位を引き抜いたり、ローカルバスLBの状態によってセンスノードSENの電位を引き抜いたりという様に動作する。NMOSトランジスタQN6とQN8とは、ローカルバスLBと接地端子との間に直列接続されている。NMOSトランジスタQN6は、ストローブ信号STBに従って導通制御される。センス動作を行う場合、ストローブ信号STBはHレベルとされ、これによりNMOSトランジスタQN6は導通状態となる。この状態において、センスノードSENの電位が低下するか否かにより、メモリセルMCの保持データが判定される。メモリセルMCが導通しないためにセンスノードSENの電位がプリチャージ後の電圧のまま維持されると、NMOSトランジスタQN8は導通状態となり、これによりローカルバスLBの電位は低下する。逆に、メモリセルMCが導通してセンスノードSENの電位が低下すると、NMOSトランジスタQN8は非導通状態となり、これによりローカルバスLBの電位は高いままとなる。ローカルバスLBの電位の高低により、NMOSトランジスタQN10が導通するか否かが決まる。NMOSトランジスタQN9は、信号LSLにより導通制御される。NMOSトランジスタQN9が導通状態とされると、ローカルバスLBの保持データが適宜センスノードSENに転送される。このように、演算回路13は、例えば2ビット/セルの記憶方式を実行する場合における演算回路として機能する。次に、このセンスアンプ回路SAを使ってローカルバスLBに接続されているデータラッチ回路DL1のデータD1とデータラッチ回路DL2のデータD2の演算を行なう方法について説明する。まず、データD1とデータD2のOR演算に関して説明する。始めにローカルバスLBに接続されている充電トランジスタPTのゲートをオンさせてローカルバスLBを充電すると同時に信号BLQをHレベルにしてセンスノードSENをHレベルにプリチャージしておく。次にデータD1をローカルバスLB上に出力した後、信号LSLをHレベルにする。この時、ローカルバスLBがHであればセンスノードSENの電位を引き抜くので、センスノードSENはLレベルとなり、ローカルバスLBがLレベルであれば信号LSLをHレベルにしてもセンスノードSENの電位が引き抜かれる事は無いためセンスノードSENはHレベルのままとなる。その結果、データD1の反転データデータ/D1がセンスノードSENに記憶されることになる。次に、信号BLQをLレベルにした後、ローカルバスLBを充電トランジスタPTにより再度充電した後でデータD2をローカルバスLBに出力する。その後、信号LSLをHレベルにする。この時、ローカルバスLBがHレベルであればセンスノードSENの電位を引き抜きLレベルになる。一方、ローカルバスLBがLレベルであればセンスノードSENの電位は引き抜かれずHレベルの状態が保持される。なお、センスノードSENがLレベルの場合は、ローカルバスLBのレベルにかかわらずそのままLレベルが保持される。すなわちデータD1かデータD2のどちらかがHレベルであればセンスノードSENはLレベルとなる。すなわち、ローカルバスLBにはデータD1とデータD2のNOR演算の結果が出力される事になる。次に、信号LSLをLレベルにした後、信号STBをHレベルにすることよって、センスノードSENのデータがローカルバスLBに出力される事になる。ここで、センスノードSENがHレベルの時にローカルバスLBの電位を引き抜き、Lレベルの時には状態を保持するのでセンスノードSENとローカルバスLBに出てくるデータ論理は反転している。すなわち、ローカルバスLBに出力される結果はデータD1とデータD2のOR演算結果となっている。この結果をデータラッチ回路DL1、または、データラッチ回路DL2のいずれかに取り込む事によって所望の結果を得ることが出来る。次にデータD1とデータD2のAND演算を行なう方法について説明する。AND演算は、ドモルガンの定理[AB=NotNotANotB]によってOR演算で表現する事が出来る。すなわち、トランジスタQN4をオンすることにより、データD1の反転をローカルバスLBに出力し、信号LSLをHレベルにする。同様に、トランジスタQN4をオンすることにより、データD2の反転データをローカルバスLBに出力して信号LSLをHレベルにする。この時、データD1とデータD2どちらかのデータがLレベルであればローカルバスLBの状態は反転データのHレベルとなるので、センスノードSENの電位が引き抜かれてLレベルとなる。この結果はデータD1とデータD2のNAND演算結果と見る事ができるの。その後、ストローブ信号STBをHレベルにする事によってローカルバスLB上にはデータD1とデータD2のAND演算結果が出力される。この結果をデータラッチ回路DL1、または、データラッチ回路DL2のいずれかに取り込む事によって所望の結果を得ることが出来る。以上の様に、図6の様な反転機能付きデータラッチと図8の様なセンスアンプ回路を用いる事によって全ての論理演算を行なう事が可能である。その結果、演算回路を追加する必要が無くセンスアンプ回路の回路面積を縮小することができる。以上の様に、データ演算などの際に必要となるセンスアンプとデータラッチ間の転送を長さの短いローカルバスLBを介して行う事によって、演算時間の短縮を図ると共に、データバスの充放電電流を小さく抑える事が可能となる。また、データキャッシュDL3を、例えば、メモリセルアレイ1から見て入出力バッファ5側にまとめて配置する事により、外部とのシリアルデータ転送の速度を向上させることができる。また、このようにデータキャッシュDL3をまとめて配置しても、センスアンプとデータラッチ間の転送を長さの短いローカルバスLBを介して行う事によって、消費電力を抑制することができる。データキャッシュDL3と回路群Gi間のデータ転送はグローバルバスGBを介して行われるが、この回数は上記ローカルバス転送を導入する事により、限りなく少なく設計する事が可能となる。以上、本発明のいくつかの実施の形態を説明したが、これらの実施の形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施の形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。