"NAND型フラッシュメモリと、前記NAND型フラッシュメモリに入力されるデータ、または前記NAND型フラッシュメモリから出力されるデータについてECC処理を行うECC部を有し、前記NAND型フラッシュメモリと外部との間のデータの入出力を司る入出力部と、前記入出力部から出力されるデータ、または前記入出力部に入力されるデータを保持する入出力バッファ部と、前記NAND型フラッシュメモリと前記入出力部との間、および前記NAND型フラッシュメモリと前記入出力バッファ部との間に設けられた複数のデータバスと、入力される選択信号に基づいて、所望の前記データバスを選択するスイッチと、前記NAND型フラッシュメモリ、前記入出力部、及び前記スイッチを制御して、前記入出力バッファ部から前記NAND型フラッシュメモリにデータを書き込むとき、または前記NAND型フラッシュメモリから前記入出力バッファ部にデータを読み出すとき、選択された前記データバスを介して、前記NAND型フラッシュメモリと前記入出力バッファ部との間を接続し、残りのデータバスを介して、前記NAND型フラッシュメモリと前記入出力バッファ部との間を接続しない前記選択信号を前記スイッチに出力する制御部とを具備することを特徴とするメモリシステム。前記スイッチは、前記NAND型フラッシュメモリと前記ECC部と間に接続されるとともに、前記NAND型フラッシュメモリと前記入出力バッファ部との間に接続されることを特徴とする請求項1記載のメモリシステム。前記NAND型フラッシュメモリは、メモリセルアレイをさらに含み、前記スイッチは、前記メモリセルアレイのカラムごとに対応するバッファ回路群を有し、前記カラムごとに対応するバッファ回路群に、選択信号を入力することを特徴とする請求項1又は請求項2記載のメモリシステム。前記カラムごとに対応するバッファ回路群は、選択信号が入力される第1クロックドインバータを有するバッファ回路を含むことを特徴とする請求項3記載のメモリシステム。前記カラムごとに対応するバッファ回路群は、前記第1クロックドインバータと接続された第1インバータと、第1入力端に前記第1インバータの出力端が接続され、第2入力端にプログラム信号が入力される第1NANDゲートと、第1入力端に前記第1インバータの出力端が接続され、第2入力端にリード信号が入力される第1NORゲートと、ゲートに前記第1NANDゲートの出力端が接続され、電源経路の一端が電源に接続される第1Pチャネル型MOSトランジスタと、ゲートに前記NORゲートの出力端が接続され、電源経路の一端が接地されて、電源経路の他端が前記Pチャネル型MOSトランジスタの電源経路の他端に接続されるNチャネル型MOSトランジスタとをさらに備えることを特徴とする請求項4記載のメモリシステム。実施形態は、消費電流を低減可能なメモリシステムを提供する。本実施形態のメモリシステムによれば、NAND型フラッシュメモリと、前記NAND型フラッシュメモリに入力されるデータ、または前記NAND型フラッシュメモリから出力されるデータについてECC処理を行うECC部を有し、前記NAND型フラッシュメモリと外部との間のデータの入出力を司る入出力部と、前記入出力部から出力されるデータ、または前記入出力部に入力されるデータを保持する入出力バッファ部と、前記NAND型フラッシュメモリと前記入出力部との間、および前記NAND型フラッシュメモリと前記入出力バッファ部との間に設けられた複数のデータバスと、入力される選択信号に基づいて、所望の前記データバスを選択するスイッチと、前記NAND型フラッシュメモリ、前記入出力部、及び前記スイッチを制御して、前記入出力バッファ部から前記NAND型フラッシュメモリにデータを書き込むとき、または前記NAND型フラッシュメモリから前記入出力バッファ部にデータを読み出すとき、選択された前記データバスを介して、前記NAND型フラッシュメモリと前記入出力バッファ部との間を接続し、残りのデータバスを介して、前記NAND型フラッシュメモリと前記入出力バッファ部との間を接続しない前記選択信号を前記スイッチに出力する制御部とを具備することを特徴とする。第1の実施形態次に、第1の実施形態について図面を参照しながら説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。また、図面の寸法比率は、図示の比率に限定されるものではない。[メモリシステムの構成]第1の実施形態に係るメモリシステムについて、図1のブロック図を用いて説明する。図1に示すように、メモリシステム100は、NAND型フラッシュメモリ10、入出力部20、制御部30を備える。例えば、メモリシステム100では、NAND型フラッシュメモリ10、入出力部20、及び制御部30は、同一の半導体基板上に形成され、1つのチップに集積される。<NAND型フラッシュメモリ>まず、NAND型フラッシュメモリ10について、図1及び図2の回路図を用いて説明する。NAND型フラッシュメモリ10は、メモリシステム100の主記憶部として機能する。図1に示すように、NAND型フラッシュメモリ10は、メモリセルアレイ11、ロウデコーダ12、センスアンプ及びページバッファ13、カラムデコーダ14、電圧発生回路15、シーケンサ16、入力バッファ回路17、及びオシレータ18、19を備えている。<<メモリセルアレイ>>図2に示すように、メモリセルアレイ11は、複数の不揮発性のメモリセルMTを含んだブロックBLK0乃至BLKsを備えるsは自然数。ブロックBLK0乃至BLKsの各々は、複数のNANDストリングNSを備える。このNANDストリングNSは、複数の不揮発性のメモリセルMT0~MTnnは自然数と、選択トランジスタST1、ST2を含む。図2に示すように、n1個のメモリセルは、選択トランジスタST1、ST2間に、その電流経路が直列接続されるようにして配置される。直列接続されたメモリセルMTの一端側メモリセルMTnのドレイン領域は選択トランジスタST1のソース領域に接続され、他端側メモリセルMT0のソース領域は選択トランジスタST2のドレイン領域に接続されている。またメモリセルMTは、隣接するもの同士でソース、ドレインを共有している。メモリセルMTは、2値以上のデータを保持可能とする。このメモリセルMTの構造は、例えば、p型半導体基板上にゲート絶縁膜を介在して形成された浮遊ゲート電荷導電層と、浮遊ゲート上にゲート間絶縁膜を介在して形成された制御ゲートとを含んだ構造である。なお、メモリセルMTの構造は、半導体基板上にゲート絶縁膜を介在して形成された電荷蓄積層例えば絶縁膜と、電荷蓄積層上に形成された絶縁膜電荷蓄積層より誘電率の高い絶縁膜と、この絶縁膜上に形成された制御ゲートとを有するMONOS構造あってもよい。メモリセルMTの制御ゲートはワード線WLに電気的に接続され、ドレインはビット線BLに電気的に接続され、ソースはソース線に電気的に接続されている。同一行にあるメモリセルMTの制御ゲートはワード線WL0~WLnのいずれかに共通接続され、同一行にあるメモリセルMTの選択トランジスタST1、ST2のゲート電極は、それぞれセレクトゲート線SGD、SGSに共通接続されている。すわなち、セレクトゲート線SGS,SGDは、複数のワード線WL0~WLnを挟むように、ワード線WL0とワード線WLnの両端に隣接して、それぞれ平行に配置されている。また、メモリセルアレイ11において同一列にある選択トランジスタST1のドレインは、いずれかのビット線BL0~BLjjは自然数に共通接続される。選択トランジスタST2のソースはソース線SLに共通接続される。また、同一のワード線WLに接続された複数のメモリセルMTには一括してデータが書き込まれ、または読み出され、この単位をページと呼ぶ。更に、複数のメモリセルMTはブロックBLK単位で一括してデータが消去される。また、メモリセルアレイ11は、通常データが保存される第1領域と、第1領域のスペア領域として用いられデータが保存される第2領域を含む。第2領域には、例えばエラーを訂正するパリティを保存する。<<センスアンプ及びページバッファ>>図1に戻って説明を続ける。センスアンプ及びページバッファ13は、ページサイズのデータを保持可能なバッファメモリであり、NAND型フラッシュメモリ10における1次データキャッシュ及び2次データキャッシュとしてそれぞれ機能する。センスアンプは、データの読み出し時には、メモリセルアレイ11から読み出されたデータをセンス増幅して一時的に保持し、ページバッファに転送する。また書き込み時には、ページバッファから転送されたデータをビット線BLに転送して、データのプログラムを実行する。ページバッファは、NANDデータバスを介して入出力部20に接続される。そしてデータの読み出し時には、センスアンプから転送されたデータを入出力部20へ出力する。また書き込み時には、入出力部20から入力されたデータを一時的に保持し、これをセンスアンプに転送する。センスアンプ及びページバッファ13は、例えばビット線BL毎に設けられたラッチ回路を備え、これにより1ページ分のデータを保持出来る。従って、一部の領域がメインデータ保持用として使用され、残りがパリティ等のECCデータ保持用として使用される。なお、例えばラッチ回路は1ページ分だけあれば良い。<<ロウデコーダ及びカラムデコーダ>>ロウデコーダ12は、メモリセルアレイ11におけるいずれかのページすなわちワード線WLを選択する。カラムデコーダ14は、メモリセルアレイ11におけるいずれかのカラムすなわちビット線BLを選択する。<<電圧発生回路>>電圧発生回路15は、外部から与えられる電圧を昇圧または降圧することにより、データのプログラム、読み出し、及び消去に必要な電圧を発生する。そして発生した電圧を、例えばロウデコーダ12に供給する。電圧発生回路15で発生された電圧が、ワード線WLに印加される。<<シーケンサ>>シーケンサ16は、NAND型フラッシュメモリ10全体の動作を司る。すなわち、制御部30から命令NANDIFCommandを受けると、これに応答して、データのプログラム、読み出し、及び消去を実行するためのシーケンスを実行する。そして、このシーケンスに従って、電圧発生回路15、センスアンプ及びページバッファ13等の動作を制御する。<<入出力バッファ回路>>入出力バッファ回路17は、後述するアクセスコントローラ24を介して外部から入力されたデータ、またはNAND型フラッシュメモリ10から読み出されたデータを一時的に保持するバッファとしての機能を有する。<<オシレータ>>オシレータ18は内部クロックICLKを生成する。すなわち、クロック生成器として機能する。そしてオシレータ18は、生成した内部クロックICLKをシーケンサ16に供給する。シーケンサ16は、この内部クロックICLKに同期して動作する。オシレータ19は内部クロックACLKを生成する。すなわち、クロック生成器として機能する。そしてオシレータ19は、生成した内部クロックACLKを、制御部30や入出力部20へ供給する。内部クロックACLKは、制御部30や入出力部40の動作の基準となるクロックである。<入出力部>次に、入出力部20について、図1を用いて説明する。入出力部20は、バッファ部21、バーストバッファburstbuffer22、ユーザインターフェース23、アクセスコントローラ24、及びECC部25を備えている。なお、本実施形態に係るメモリシステム100では、NAND型フラッシュメモリ10が主記憶部として機能し、NAND型フラッシュメモリ10に対するデータの入出力を、入出力部20が司る。従って、NAND型フラッシュメモリ10からデータを外部に読み出す場合、まずNAND型フラッシュメモリ10のメモリセルアレイ11から読み出されたデータが、ページバッファに格納される。その後、ユーザの要求に応じて、ページバッファ内のデータがユーザインターフェース23を介して外部に出力される。他方、データをNAND型フラッシュメモリ10に記憶させる際には、まず外部から与えられたデータが、ユーザインターフェース23を介してページバッファに格納される。その後、ページバッファ内のデータがメモリセルアレイ11に書き込まれる。以下では、データがメモリセルアレイ11からページバッファに読み出されるまでの動作を、データのロードloadと呼ぶ。また、ページバッファ内のデータが、ユーザインターフェース23に転送されるまでの動作を、データのリードreadと呼ぶ。更に、NAND型フラッシュメモリ10に記憶させるべきデータが、ユーザインターフェース23からページバッファに転送されるまでの動作を、データのライトwriteと呼ぶ。また、ページバッファ内のデータがメモリセルアレイ11に書き込まれるまでの動作を、データのプログラムprogramと呼ぶ。入出力部20の説明に戻る。<<バッファ部>>バッファ部21は、NAND型フラッシュメモリ10における1次データキャッシュとしての機能を担う。バッファ部21は、複数のデータバッファ21a例えば、2Kバイトと、ブートバッファ21b例えば、1Kバイトと、SRAMバッファ21cを有する。バッファ部21は、ECCデータバス及びRAMレジスタデータバスと接続される。そしてデータライト時には、バーストバッファ22から転送されるデータを一時的に保持する。そして、NANDデータバスを介して、データをページバッファに書き込む。また、データリード時には、NANDデータバス6を介して、ページバッファからデータを読み出し、これをバーストバッファ22に転送する。図1に示すように、複数のデータバッファ21a及びブートバッファ21bは、それぞれ、メモリセルアレイ、センスアンプ、及びロウデコーダを備える。複数のデータバッファ21aのメモリセルアレイは、データ保持可能な複数のSRAMセルを備える。SRAMセルはそれぞれ、ワード線及びビット線に接続される。このデータバッファ21aのメモリセルアレイも、メモリセルアレイ11と同様に、メインデータを保持する領域と、パリティ等を保持する領域とを備えている。このデータバッファ21aのセンスアンプは、SRAMセルからビット線に読み出したデータをセンス増幅する。またこのデータバッファ21aのセンスアンプは、SRAMバッファ21c内のデータをSRAMセルに書き込む際の負荷としても機能する。このデータバッファ21aのロウデコーダは、このデータバッファ21aのメモリセルアレイにおけるワード線を選択する。ブートバッファ21bは、例えばメモリシステム100を起動するためのブートコードbootcodeを一時的に保持する。SRAMバッファ21cは、データバッファ21aまたはブートバッファ21bにデータを書き込む、または読み出す際に、一時的にデータを保持する。<<バーストバッファ>>バーストバッファ22は、RAMレジスタデータバスにより、バッファ部21及び制御部30とデータ転送可能である。そして、ホスト機器からユーザインターフェース23を介して与えられるデータ、またはバッファ部21から与えられるデータを、一時的に保持する。<<ユーザインターフェース>>次に、ユーザインターフェース23について説明する。ユーザインターフェース23は、メモリシステム100外部のホスト機器ユーザと接続可能とされ、ホスト機器との間でデータ、制御信号、及びアドレスAdd等、種々の信号の入出力を司る。制御信号の一例は、メモリシステム100全体をイネーブルにするチップイネーブル信号/CE、アドレスをラッチさせるためのアドレスバリッド信号/AVD、バーストリードburstread用のクロックCLK、書き込み動作をイネーブルにするライトイネーブル信号/WE、データの外部への出力をイネーブルにするアウトプットイネーブル信号/OE、などである。ユーザインターフェース23は、データ入出力バスによりバーストバッファ22と接続されている。データ入出力バスは、例えば2バイトである。そしてユーザインターフェース23は、ホスト機器からのデータのリード要求、ロード要求、及びプログラム要求等に係る制御信号をアクセスコントローラ24に転送する。そしてデータリード時には、バーストバッファ22内のデータをホスト機器へ出力する。またデータライト時には、ホスト機器から与えられるデータをバーストバッファ22へ転送する。<<アクセスコントローラ>>次に、アクセスコントローラ24について説明する。アクセスコントローラ24は、ユーザインターフェース23から制御信号及びアドレスを受け取る。そして、ホスト機器の要求を満たす動作を実行するよう、バッファ部21、バーストバッファ22、及び制御部30、スイッチ後述40などを制御する。例えば、ホスト機器の要求に応じてアクセスコントローラ24は、制御部30における後述するレジスタ33をアクティブ状態として、レジスタにコマンドWriteReadをセットする。また、アクセスコントローラ24は、バッファ部21をキャッシュとして用いる場合には、バッファ部21に対して、ページバッファまたはバーストバッファ22からデータを読み出すよう命令する。バッファ部21をキャッシュとして用いない場合には、ユーザインターフェース23内のPureNANDUSERI/Fからデータを例えばアクセスコントローラ24内のRAMなどに読み出して、このデータを入力バッファ回路17に対して出力するよう命令する。<ECC部>次にECC部25について、図1を用いて説明する。ECC部25は、NAND型フラッシュメモリ10に対する入出力データについてのエラー検出及びエラー訂正、並びにパリティの生成以下、これらをまとめてECC処理と呼ぶことがあるを実行する。ECC部25は、ECCバッファ25a、ECCエンジン25bを備える。このECCエンジン25bは、デコーダ図1のErrorPositionDecと、パリティシンドロームと、ECC制御部とを有する。ECCバッファ25aは、ECCデータバスに接続される。そして、NANDデータバスを介して、NAND型フラッシュメモリ10のページバッファと接続される。そして、ページバッファからNANDデータバスを介してデータを読み出し、これをECCエンジン25bに転送する。またECCバッファ25aは、ECCエンジン25b内のデコーダによってエラー訂正されたデータ、及びパリティシンドロームで発生されたパリティを一時的に保持し、NANDデータバスを介して、これをページバッファに書き込む。ECCバッファ25aのサイズは、例えばECCデータバスのバス幅と同じサイズであり、例えば4バイトである。しかし、ECCデータバスのバス幅より大きくても良い。パリティシンドロームは、データのロード時には、ECCバッファ25aから転送されたデータを用いてECC処理を行い、このデータにおけるエラーの有無を判断する。またデータのプログラム時には、ECCバッファ25aから転送されたデータに基づいて、パリティを生成する。デコーダは、データのロード時には、パリティシンドロームにおいてエラーが有ると判断された場合、その位置を特定すると共に、対応するデータをページバッファからECCバッファ25aに読み出し、データを訂正する。またデータのプログラム時には、パリティシンドロームで生成されたパリティをECCバッファ25aに保持させ、これをページバッファに転送させる。また、ECC制御部は、パリティシンドロームを制御する。<制御部>次に、引き続き図1を参照しつつ、制御部30について説明する。制御部30は、NAND型フラッシュメモリ10及び入出力部20の動作を制御する。すなわち、メモリシステム100全体としての動作を統括する機能を有する。図示するように制御部30は、NANDアドレス/コマンド発生回路31、ステートマシンstatemachine32、レジスタ33、コマンドユーザインターフェースcommanduserinterface34、及びSRAMアドレス/タイミング発生回路35を備えている。<<NANDアドレス/コマンド発生回路>>NANDアドレス/コマンド発生回路31は、ステートマシン32の制御に基づいてNAND型フラッシュメモリ10の動作を制御する。より具体的には、アドレスや、NANDインターフェースにサポートされたコマンドProgramLoad等を生成し、NAND型フラッシュメモリ10へ出力する。<<ステートマシン>>ステートマシン32は、コマンドユーザインターフェース34から与えられる内部コマンド信号に基づいて、メモリシステム100内部におけるシーケンス動作を制御する。ステートマシン32がサポートするファンクションは、ロード、プログラム、及び消去等、多数あり、これらのファンクションを実行するよう、NAND型フラッシュメモリ10及び入出力部20の動作を制御する。ステートマシン32は、オシレータ19の生成する内部クロックACLKに同期しつつ、これらの制御を行う。またステートマシン32は、NANDシーケンサ16から与えられるレディ信号及びエラー信号により、NAND型フラッシュメモリ10の動作状態を把握出来る。<<レジスタ>>レジスタ33は、ファンクションの動作状態を設定するためのレジスタである。すなわちレジスタ33は、アクセスコントローラ24から与えられるコマンドに応じて、ファンクションの動作状態を設定する。より具体的には、レジスタ33には、例えばデータロード時にはロードコマンドが設定され、データプログラム時にはプログラムコマンドが設定される。<<コマンドユーザインターフェース>>コマンドユーザインターフェース34は、所定のコマンドがレジスタ33に設定されることで、メモリシステム100に対してファンクション実行コマンドが与えられたことを認識する。そして、内部コマンド信号Commandを発行し、ステートマシン32に出力する。<<SRAMアドレス/タイミング発生回路>>SRAMアドレス/タイミング発生回路35は、ステートマシン32の制御に基づいて入出力部20の動作を制御する。より具体的には、入出力部20において必要なアドレスやコマンドを発行して、アクセスコントローラ24及びパリティシンドロームに出力する。<スイッチ>次に、スイッチ40について、図1、図3のブロック図を用いて説明する。図1に示すように、スイッチ40は、NAND型フラッシュメモリ10のセンスアンプ及びページバッファ13と、入出力部20のECC部25または入出力バッファ回路17との間に設けられており、スイッチ40は、NAND型フラッシュメモリ10のシーケンサ16で制御される。具体的な構成について、図3を用いて説明する。なお、図3に示すラッチ回路群A0~A1、B0~B3、D0~D7は、説明の便宜上、図1では省略した。スイッチ40は、複数のバッファ回路群BFABFA0~BFA7と、複数のラッチ回路群C0~C7と、複数のバッファ回路群BFBBFB0~BFB7とを有する。ここで、複数のバッファ回路群BFAのうち例えばBFA0は、8個のバッファ回路を含む構成となっているが、図面の関係上、8個のバッファ回路を1個のボックスで示した。ラッチ回路群C、バッファ回路群BFBについても、バッファ回路群BFAと同様に、8個のラッチ回路、8個のバッファ回路を有する。すなわち、スイッチ40は、例えばそれぞれ8個のバッファ回路を含むバッファ回路群BFAを8個と、8個のラッチ回路を含むラッチ回路群Cを8個と、8個のバッファ回路を含むバッファ回路群BFBを8個とを有する。ここで、列方向に対応するバッファ回路群BFAのバッファ回路、ラッチ回路C、バッファ回路群BFBのバッファ回路が1本データバス図2では、便宜上、バッファ回路群BFA、ラッチ回路群C、バッファ回路群BFBを1本のデータバスで示しているが、前述したとおり、図3のバッファ回路群BFAは8個のバッファ回路をあり、8本のデータバスが存在する。図3で示した1本のデータバスは、8本のデータバスをまとめて表示したものである。で接続される。以下、例として、列方向に対応するバッファ回路群BFA0のうち1のバッファ回路BFA0-1、ラッチ回路群C0のうち1のラッチ回路C0-1、バッファ回路群BFBFB0のうち1のバッファ回路BFB0-1を用いて説明する。図4に示すように、バッファ回路BFA0-1は、ラッチ回路群A0に接続される第1クロックドインバータ60と、ラッチ回路群B0に接続される第2クロックドインバータ61と、第1インバータ62と、第1NANDゲート63と、第2NANDゲート64と、第1NORゲート65と、Pチャネル型MOSトランジスタP1と、Nチャネル型MOSトランジスタN1とを有する。図4に示すように、第1及び第2クロックドインバータ60,61の出力端は、共通に接続されて、第1インバータ62の入力端に接続される。第1インバータ62の出力端は、第1NANDゲート63の第1入力端と接続される。第1NANDゲート63の第2入力端には、PROGRAM信号が供給される。このPROGRAM信号は、ライト時にHレベルとなるパルス信号である。第1NANDゲート63の出力端は、第1及び第2クロックドインバータ60,61の出力端と共通に接続されて、第1インバータ62の入力端に接続される。第1インバータ62の出力端は、第2NANDゲート64及び第1NORゲート65それぞれの入力端と接続される。第2NANDゲート64の他の入力端には、PROGRAM信号が供給され、第1NORゲート65の他の入力端には、READ信号が供給される。このREAD信号は、リード時Hレベルとなるパルス信号であり、PROGRAM信号の反転信号である。第2NANDゲート64の出力端には、Pチャネル型MOSトランジスタP1以下、トランジスタP1ともいうのゲートが接続される。トランジスタP1の電源経路の一端は、電源VDDに接続されており、他端はNチャネル型MOSトランジスタの一端に接続される。第1NORゲート65の出力端には、Nチャネル型MOSトランジスタN1以下、トランジスタN1ともいうのゲートが接続される。トランジスタN1の他端は、接地Vssされている。トランジスタP1の他端とトランジスタN1の一端との共通接続点は、ラッチ回路C0-1に接続される。第1及び第2クロックドインバータ60,61には、CSLENN_PURE信号と、/CSLENN_PURE信号CSLENN_PURE信号の反転信号が入力される。制御されたCSLENN_PURE信号らの信号がバッファ回路群BFAに入力されることで、ラッチ回路群Aとラッチ回路群Cを接続したり、ラッチ回路群Aとラッチ回路群Cの接続を切断したりする機能を有する。CSLENN_PURE信号らの信号の生成回路について、図5を用いて説明する。図5aに示すように、ライト時に、バッファ部21をキャッシュとして用いない場合には、PURE信号がHレベルとなり、第2インバータ70は、LレベルのONE信号を出力する。ライト時に、バッファ部21をキャッシュとして用いる場合には、PURE信号がLレベルとなり、第2インバータ70は、HレベルのONE信号を出力する。図5bに示すように、生成回路は、第3NANDゲート71、第3NANDゲート71の出力端と接続された第3インバータ72、第4NANDゲート73、第4NANDゲート73の出力端と接続された第4インバータ74を有する。第3NANDゲート71には、第2インバータ70に入力されるPURE信号とCSLENN信号が入力されて、第3インバータ72からCSLENN_PURE信号が出力される。第4NANDゲート73には、第2インバータ70から出力されるONE信号とCSLENN信号が入力されて、第4インバータ74からCSLENN_ONE信号が出力される。ここで、CSLENN信号は、ステートマシン32を用いて例えば複数のバッファ回路群BFAのうち所望のバッファ回路群BFAを選択するための機能を有し、選択されたバッファ回路群BFAには、CSLENN信号としてHレベルと入力し、非選択のバッファ回路群BFAには、CSLENN信号としてLレベルと入力する。次に、バッファ回路BFB0-1について、図6を用いて説明する。図6に示すように、バッファ回路BFB0-1は、ラッチ回路C0に接続される第1クロックドインバータ80と、第5インバータ81と、第4NANDゲート82と、第5NANDゲート83と、第2NORゲート84と、Pチャネル型MOSトランジスタP2と、Nチャネル型MOSトランジスタN2とを有する。詳細は、バッファ回路BFA0-1と同様であるため、省略する。[スイッチの動作方法]次に、本実施形態のスイッチ40の動作方法について、図4を用いて説明する。図4におけるバッファ回路BFA0-1が選択されている場合には、第3クロックドインバータ80に第1クロックドインバータ60と同一の信号が入力されるため、バッファ回路BFB0-1も選択される。したがって、本明細書では、1ライト時に、バッファ部21をキャッシュとして用いない場合で、図4に示すバッファ回路BFA0-1が選択されているときのスイッチ40の動作方法と、2ライト時に、バッファ部21をキャッシュとして用いる場合で、図4に示すバッファ回路BFA0-1が選択されているときのスイッチ40の動作方法と、3ライト時に、図4に示すバッファ回路BFA0-1が選択されていないときのスイッチ40の動作方法、の3種類の動作方法を説明する。なお、ライト時に、バッファ部21をキャッシュとして用いる場合には、全てのバッファ回路群BFA,及びBFBは選択される。<1の動作方法>ライト時に、バッファ部21をキャッシュとして用いない場合で、図4に示すバッファ回路BFA0-1が選択されているとき、PROGRAM信号がHレベル、PURE信号がHレベル、ONE信号がLレベル、CSLENN信号がHレベルである。このため、第1クロックドインバータ60はオン状態となり、ラッチ回路A0のデータが転送される。例えばラッチ回路A0のデータがHレベルのときには、第1クロックドインバータ60からLレベルが出力される。一方で、第2クロックドインバータ61はオフ状態となる。PROGRAM信号がHレベルであるため、第1インバータ62の出力がHレベルとなる。したがって、第2NANDゲート64の出力がLレベルとなり、トランジスタP1がオン状態となる。第1NORゲートの出力がLレベルとなり、トランジスタN1がオフ状態となる。トランジスタP1とトランジスタN1の共通接続点が、電源VDDによりチャージされ、Hレベルの信号がラッチ回路C0-1に出力される。同様に、バッファ回路BFB0-1も導通するため、ラッチ回路C0-1のデータがラッチ回路D0-1に転送される。<2の動作方法>ライト時に、バッファ部21をキャッシュとして用いる場合で、図4に示すバッファ回路BFA0-1が選択されているとき、PROGRAM信号がHレベル、PURE信号がLレベル、ONE信号がHレベル、CSLENN信号がHレベルである。このため、第1クロックドインバータ60はオフ状態となり、第2クロックドインバータ61はオン状態となる。ラッチ回路B0のデータが転送される。例えばラッチ回路B0のデータがHレベルのときには、第2クロックドインバータ61からLレベルが出力される。PROGRAM信号がHレベルであるため、第1インバータ62の出力がHレベルとなる。したがって、第2NANDゲートの出力がLレベルとなり、トランジスタP1がオン状態となる。第1NORゲートの出力がLレベルとなり、トランジスタN1がオフ状態となる。トランジスタP1とトランジスタN1の共通接続点が、電源VDDによりチャージされ、Hレベルの信号がラッチ回路C0-1に出力される。同様に、バッファ回路BFB0-1も導通するため、ラッチ回路C0-1のデータがラッチ回路D0-1に転送される。<3の動作方法>ライト時に、図4に示すバッファ回路BFA0-1が選択されていないとき、PROGRAM信号がHレベル、CSLENN信号がLレベルである。この場合、図5bの生成回路に示すように、第3NANDゲート71及び第4NANDゲート73の出力がいずれもHレベルとなる。したがって、CSLENN_PURE信号及びCSLENN_ONE信号いずれもLレベルとなり、第1及び第2クロックドインバータ60、61のいずれもオフ状態となる。その結果、ラッチ回路A0、ラッチ回路B0のいずれのデータも転送されない。[本実施形態の効果]以上より、本実施形態は、消費電流を低減可能なメモリシステムを提供できる。本実施形態のメモリシステムでは、制御されたCSLENN_PURE信号らの信号がバッファ回路群BFAに入力されることで、選択されたラッチ回路群Aとラッチ回路群Cを接続し、非選択のラッチ回路群Aとラッチ回路群Cの接続を切断できる。本実施形態のスイッチ40から第1及び第2クロックドインバータ60,61、第1インバータ62、第1NANDゲート63を設けずに、CSLENN0~7が入力しない比較例1と比べた場合、本実施形態は、消費電流を低減可能なメモリシステムを提供できる。以下、具体的に効果を説明する。本実施形態では、図3に示すように、入出力バッファ回路17は、2個のラッチ回路A0,A1と接続される。ラッチ回路A0は、複数のバッファ回路群BFAのうち、バッファ回路群BFA0~BFA3に共通に接続されている。ラッチ回路A1は、複数のバッファ回路群BFAのうち、バッファ回路群BFA4~BFA7に共通に接続されている。したがって、バッファ回路群BFA0~BFA3には、共通のデータが転送される。バッファ回路群BFA4~BFA7も同様である。比較例1の場合には、ページバッファ13で、例えば16ビットごとにメモリセルに書き込む場合には、ページバッファ内の0~3のうちから1を選択し、4~7のうち1を選択する必要があり、入力バッファ回路17からデータを転送する際に、全てのバッファ回路群BFA、全てのラッチ回路群C、全てのバッファ回路群BFB、全てのラッチ回路群Dを動作状態にしなければならず、消費電流がかかる。しかし、本実施形態のメモリシステムでは、例えば16ビットごとにメモリセルに書き込む場合、予め選択されるカラムに対応したページバッファ13例えば0と4、バッファ回路群BFA0,BFA4、ラッチ回路群C0,C4、バッファ回路群BFB0,BFB4を動作状態にし、残りの非選択のカラムに対応したページバッファ131~3、5~7などを動作状態にせずに、オフ状態とできる。その結果、本実施形態のメモリシステムは、比較例1と比べて、消費電流を低減できる。また、本実施形態のメモリシステムでは、複数のバッファ回路群BFAが、入出力バッファ回路17に対応したバッファ回路群として設けられるだけでなく、ECC部25に対応したバッファ回路群としても設けられている。したがって、入力バッファ回路17に対応したバッファ回路群と、ECC部25に対応したバッファ回路群とを別々に設ける比較例2と比較して、本実施形態のメモリシステムは、回路面積を縮小できる。また、本実施形態のメモリシステムは、比較例2を改良して2個の別々のバッファ回路群に対して制御されたCSLENN信号を入力する場合と比較しても、消費電流の低減ができる。データバスを短くすることで、データバスの容量の低減ができ、その結果、データのやりとりを高速化できる。なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。"