(57)【要約】【課題】半導体メモリの動作の簡素化を図るアーキテクチャを提案する。【解決手段】本実施形態の半導体メモリは、メモリセルアレイに対するデータの入出力のためのバッファ回路１２と、データバスＩＯＢＵＳを介してバッファ回路１２に接続され、第１又は第２のビット幅のデータを転送するデータ転送回路１７と、データバスＩＯＢＵＳに接続され、第２のビット幅のデータにＥＣＣ処理を行うＥＣＣ回路２０と、を含む。バッファ回路１２は、第１のビット幅のデータを入出力するパイプ回路１２５を、含む。データ転送回路１７は、第１のビット幅のデータを保持する複数のラッチ回路７１Ａ，７１Ｂとラッチ回路７１Ａ，７１Ｂのうち１つを選択する選択回路とを有するデータ格納部１７１と、ＥＣＣ回路２０に接続され、第２のビット幅のデータを保持するデータ格納部１７２とを、含む。【選択図】図４
2013232263.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する複数のメモリセルを含む第１のメモリセルアレイと、
第１のメモリセルアレイに対するデータの入出力のための第１のバッファ回路と、
第１のデータバスを介して前記第１のバッファ回路に接続され、第１のビット幅のデータを転送する第１のモード及び前記第１のビット幅と異なる第２のビット幅のデータを転送する第２のモードのいずれか一方に基づいてデータ転送を制御するデータ転送回路と、
前記データ転送回路を介して前記第１のデータバスに接続され、前記第２のビット幅のデータに対してＥＣＣ処理を行うＥＣＣ回路と、
を具備し、
前記第１のバッファ回路は、
前記第１のビット幅のデータを入出力する複数のパイプ回路を、含み、
前記データ転送回路は、
前記第１のデータバスに接続され、前記パイプ回路のそれぞれから転送された複数の第１のビット幅のデータをそれぞれ保持する複数の第１のラッチ回路と、選択信号に基づいて前記複数の第１のラッチ回路のうち１つを第２のデータバスに接続する選択回路とを有する第１のデータ格納部と、
前記第１のデータバスと前記ＥＣＣ回路との間に接続され、複数の前記第１のビット幅のデータから形成される前記第２のビット幅のデータを保持する第２のデータ格納部とを、含む、
ことを特徴とする半導体メモリ。
【請求項２】
前記データ転送回路は、ＦＩＦＯ方式に基づいて、前記第１及び前記第２のデータバス間のデータ転送を制御する、
ことを特徴とする請求項１に記載の半導体メモリ。
【請求項３】
前記第１のバッファ回路は、第１の内部クロックに基づいて、制御され、
前記ＥＣＣ回路は、前記外部クロックから、又は、前記第１の内部クロックから生成された第２の内部クロックに基づいて、制御される、
ことを特徴とする請求項１又は２に記載の半導体メモリ。
【請求項４】
前記データ転送回路は、リバッファされた前記外部クロックから生成された第２の内部クロックに基づいて、制御される、
ことを特徴とする請求項３に記載の半導体メモリ。
【請求項５】
前記第１のメモリセルアレイのロウを制御し、前記第１のメモリセルアレイのロウ方向における一端及び他端に隣接する第１のロウ制御回路と、
データを記憶する複数のメモリセルを含み、前記第１のロウ制御回路を挟んで前記第１のメモリセルアレイに隣接する第２のメモリセルアレイと、
前記第２のメモリセルアレイに対するデータの入出力のための第２のバッファ回路と、
前記第２のメモリセルアレイのロウを制御し、前記第２のメモリセルアレイのロウ方向における一端及び他端に隣接する第２のロウ制御回路と、
前記第１及び第２のメモリセルアレイが設けられたチップの端部に設けられるパッド領域と、をさらに具備し、
前記ＥＣＣ回路は、前記ロウ方向において前記第１のロウ制御回路とパッド領域との間の領域に、設けられている、
ことを特徴とする請求項１乃至４のいずれか１項に記載の半導体メモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、半導体メモリに関する。
【背景技術】
【０００２】
近年、フラッシュメモリは、ＨＤＤ、ＣＤ／ＤＶＤなどとともに、主要なストレージデバイスとして、様々な電子機器に用いられている。  
例えば、データの入出力の高速化、動作の信頼性の向上、製造コストの低減などが、フラッシュメモリには求められている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−２５９３２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
半導体メモリの動作の簡素化を図るアーキテクチャを提案する。
【課題を解決するための手段】
【０００５】
本実施形態の半導体メモリは、データを記憶する複数のメモリセルを含む第１のメモリセルアレイと、第１のメモリセルアレイに対するデータの入出力のための第１のバッファ回路と、第１のデータバスを介して前記第１のバッファ回路に接続され、第１のビット幅のデータを転送する第１のモード及び前記第１のビット幅と異なる第２のビット幅のデータを転送する第２のモードのいずれか一方に基づいてデータ転送を制御するデータ転送回路と、前記データ転送回路を介して前記第１のデータバスに接続され、前記第２のビット幅のデータに対してＥＣＣ処理を行うＥＣＣ回路と、を具備し、前記第１のバッファ回路は、前記第１のビット幅のデータを入出力する複数のパイプ回路を、含み、前記データ転送回路は、前記第１のデータバスに接続され、前記パイプ回路のそれぞれから転送された複数の第１のビット幅のデータをそれぞれ保持する複数の第１のラッチ回路と、選択信号に基づいて前記複数の第１のラッチ回路のうち１つを第２のデータバスに接続する選択回路とを有する第１のデータ格納部と、前記第１のデータバスと前記ＥＣＣ回路との間に接続され、複数の前記第１のビット幅のデータから形成される前記第２のビット幅のデータを保持する第２のデータ格納部とを、含む。
【図面の簡単な説明】
【０００６】
【図１】実施形態の半導体メモリの回路構成の一例を示すブロック図。
【図２】実施形態の半導体メモリのチップ内のレイアウトの一例を示す図。
【図３】メモリセルアレイの内部構成の一例を示す模式図。
【図４】ページバッファ及びデータ転送回路の構成例を示す模式図。
【図５】ページバッファの内部構成の一例を示す模式図。
【図６】ページバッファの内部構成の一例を示す模式図。
【図７】実施形態の半導体メモリの動作例を説明するための図。
【図８】実施形態の半導体メモリの動作例を示すタイミングチャート。
【図９】実施形態の半導体メモリの動作例を示すタイミングチャート。
【図１０】実施形態の半導体メモリの動作例を示すタイミングチャート。
【図１１】実施形態の半導体メモリの動作例を示すタイミングチャート。
【図１２】実施形態の半導体メモリの応用例を説明するための図。
【図１３】実施形態の半導体メモリの応用例を説明するための図。
【発明を実施するための形態】
【０００７】
［実施形態］  
以下、図１乃至図１３を参照しながら、本実施形態に係る半導体メモリについて詳細に説明する。以下において、同一の機能及び構成を有する要素については、同一符号を付し、重複する説明は必要に応じて行う。
【０００８】
（ａ）  構成  
図１乃至図６を用いて、本実施形態の半導体メモリの構成及び機能について、説明する。
【０００９】
図１は、本実施形態の半導体メモリの構成の主要部を示すブロック図である。図２は、本実施形態の半導体メモリのチップレイアウトの一例を示す図である。
【００１０】
本実施形態の半導体メモリは、例えば、不揮発性半導体メモリであって、より具体的な一例としては、フラッシュメモリである。
【００１１】
本実施形態のフラッシュメモリ１は、フラッシュメモリ１のチップの外部に設けられたメモリコントローラ２又はホストデバイス２などの外部装置から供給される信号を受信し、メモリコントローラ２又はホストデバイス２に対して信号を送信する。
【００１２】
本実施形態のフラッシュメモリ１とメモリコントローラ／ホストデバイス２とによって、メモリシステムが、形成される。
【００１３】
図１及び図２に示されるように、フラッシュメモリ１は、メモリセルアレイ１０、ロウデコーダ（ロウ制御回路）１１及びページバッファ（カラム制御回路）１２を含んでいる。ロウデコーダ１１及びページバッファ１２は、メモリセルアレイ１０と同じチップ（半導体基板）８内に形成され、メモリセルアレイ１０の近傍に配置されている。
【００１４】
図３は、メモリセルアレイ１０の等価回路図である。図３において、ＮＡＮＤ型フラッシュメモリのメモリセルアレイ１０の回路構成が示されている。
【００１５】
メモリセルアレイ１０は、複数のメモリセルを含んでいる。複数（ｐ個）のメモリセルＭＣ１〜ＭＣｐと２個の選択トランジスタＳＴＤ，ＳＴＳとによって、複数のメモリセルユニットＭＵが形成されている。複数のメモリセルユニットＭＵが、メモリセルアレイ１０内に設けられている。
【００１６】
以下では、メモリセルＭＣ１〜ＭＣｐを区別しない場合には、メモリセルＭＣと表記し、選択トランジスタＳＴＤ，ＳＴＳを区別しない場合には、選択トランジスタＳＴと表記する。
【００１７】
メモリセルＭＣは、半導体基板上のゲート絶縁膜を介して設けられた電荷蓄積層（例えば、浮遊ゲート電極）と、電荷蓄積層上に中間絶縁膜を介して積層された制御ゲート電極とを有する積層ゲート構造の電界効果トランジスタである。メモリセルＭＣは、電荷蓄積層としての窒化膜（例えば、シリコン窒化膜）内に電子をトラップさせる方式を用いたＭＯＮＯＳ（Metal Oxide Nitride Oxide Silicon）構造であってもよい。
【００１８】
メモリセルユニットＭＵ内において、トランジスタのチャネル長方向に隣接するメモリセルＭＣ同士の電流経路は、直列接続されている。電流経路が直列接続されたメモリセルＭＣの構成のことを、メモリセルストリングとよぶ。メモリセルストリングの一端（ドレイン）は選択トランジスタＳＴＤのソースに接続され、メモリセルストリングの他端（ソース）は選択トランジスタＳＴＳのドレインに接続されている。
【００１９】
メモリセルユニットＭＵ内のメモリセルＭＣの各制御ゲート電極は、ワード線ＷＬ１〜ＷＬｑのいずれか１つに接続されている。選択トランジスタＳＴＤ，ＳＴＳの各ゲートは、選択ゲート線ＳＧＤＬ，ＳＧＳＬにそれぞれ接続されている。選択トランジスタＳＴＤのドレインは、ビット線ＢＬ１〜ＢＬｑのいずれか１つに接続されている。選択トランジスタＳＴＳのソースはソース線ＳＬに共通接続されている。
【００２０】
以下では、各ワード線ＷＬ１〜ＷＬｐを区別しない場合には、ワード線ＷＬと表記し、ビット線ＢＬ１〜ＢＬｑを区別しない場合には、ワード線ＢＬと表記する。また、選択ゲート線ＳＧＤＬ，ＳＧＳＬを区別しない場合には、選択ゲート線ＳＧＬと表記する。
【００２１】
同一のワード線ＷＬに接続された複数のメモリセルＭＣは、ページとよばれる制御単位を形成する。データの書き込み及び読み出しは、１つのページ内のメモリセルＭＣに対して一括して行なわれる。複数のページのデータが一括して消去されるように形成されており、この消去の単位は、ブロックとよばれる。図３において、１個のブロックのみ図示しているが、メモリセルアレイ１０は、複数のブロックを、含んでいる。
【００２２】
各メモリセルＭＣは、例えば、電荷蓄積層内の電子の量によるトランジスタのしきい値電圧の変化に対応づけられた１ビットのデータを記憶できる。フラッシュメモリは、しきい値電圧の制御を細分化することによって、各メモリセルＭＣに２ビット以上のデータを記憶することもできる。
【００２３】
ロウデコーダ１１は、データの書き込み、読み出し及び消去の際に、ワード線ＷＬ及び選択ゲート線ＳＧＤ，ＳＧＳを選択する。そして、ロウデコーダ１１は、各動作を実行するための電圧を、ワード線ＷＬ及び選択ゲート線ＳＧＬに印加する。
【００２４】
ページバッファ１２は、メモリセルアレイ１０のページと同じ大きさのデータを保持することができる。ページバッファ１２は、データの読み出し時、メモリセルアレイ１０から出力された１ページ分のデータを一時的に格納し、データの書き込み時、メモリセルアレイ１０に書き込むべき１ページ分のデータを一時的に格納する。
【００２５】
図２に示されるように、フラッシュメモリ１のチップ８内において、メモリセルアレイ１０のロウ方向に隣接するように、ロウデコーダ１１が、設けられている。メモリセルアレイ１０のカラム方向に隣接するように、ページバッファ１２がチップ内に設けられている。
【００２６】
本実施形態において、メモリセルアレイ１０、及び、メモリセルアレイ１０に隣接するロウデコーダ１１及びページバッファ１２のことを、メモリコア部（または、ＮＡＮＤコア部）ともよぶ。
【００２７】
図１に示されるように、フラッシュメモリ１は、メモリセルアレイ１０及びメモリセルアレイ１０近傍の回路１１，１２に加えて、電位生成回路１３、シーケンサ１４、オシレータ（ＯＳＣ）１５，１６、データ転送回路１７、ＥＣＣ（（Error Checking and Correcting））回路２０及びインターフェイス回路４０を含んでいる。これらの回路１３，１４，１５，１６，１７，２０，４０は、図２に示されるように、メモリセルアレイ１（メモリコア部）と同じチップ内の周辺回路領域８１及びＲＴＬ（Register Transfer Level）回路領域８２内に、設けられている。
【００２８】
電位生成回路１３は、データの書き込み、読み出し及び消去に用いられる電圧を生成し、生成した電圧を、ロウデコーダ１１などのフラッシュメモリ内の回路に印加する。
【００２９】
電位生成回路１３のうち比較的低い電圧（例えば、ページバッファ１２の駆動電圧）を生成する回路（以下では、低電圧発生部とよぶ）は、周辺回路領域８１内に設けられている。電位生成回路１３のうち比較的高い電圧（例えば、書き込み電圧や読み出し電圧）を生成する回路（以下では、高電圧発生部とよぶ）１３０は、図２に示されるように、チップ８の領域内の隅に位置する部分に設けられている。例えば、高電圧発生部１３０は、メモリセルアレイ１のロウ方向において、ロウデコーダ１１とチップ８の端部との間の領域（以下では、高電圧発生部領域１３０とよぶ）内に設けられている。
【００３０】
シーケンサ（内部制御回路）１４は、フラッシュメモリ１全体の動作を司る。シーケンサ１４は、メモリコントローラ／ホストデバイス２から各種の命令（コマンド）を受けると、そのコマンドに基づいて、データの書き込み、読み出し及び消去などのシーケンスを実行する。シーケンサ１４は、このシーケンスに基づいて内部制御信号を生成し、電位生成回路１３やページバッファ１２の動作を制御する。シーケンサ１４は、ＥＣＣ動作時のＥＣＣ回路２０の動作も制御する。シーケンサ１４は、フラッシュメモリ１の内部の動作状況を、メモリコントローラ／ホストデバイス２に、通知する。
【００３１】
オシレータ１５は、内部クロックＩＣＬＫを生成し、この内部クロックＩＣＬＫをシーケンサ１４に供給する。オシレータ１５が生成した内部クロックＩＣＬＫに同期して、シーケンサ１４は、動作する。シーケンサ１４は、内部クロックＩＣＬＫから幾つかのクロック信号を生成し、このクロックを、フラッシュメモリ１の内部の回路に供給する。
【００３２】
オシレータ１６は、フラッシュメモリ１の動作モードに応じて、内部クロックＡＣＬＫを生成し、生成した内部クロックＡＣＬＫをインターフェイス回路４０へ供給する。内部クロックＡＣＬＫは、例えば、後述の動作モードにおけるフラッシュメモリ１及びメモリコントローラ／ホストデバイス２の動作を制御するための基準クロック（制御クロック）として用いられる。  
オシレータ１６は、内部クロックＡＣＬＫ＿ＢＮを生成し、生成した内部クロックＡＣＬＫ＿ＢＮをシーケンサ１４に供給する。  
以下では、区別化のため、内部クロックＡＣＬＫを生成するオシレータ１６のことを、ＡＣＬＫジェネレータ１６ともよぶ。
【００３３】
例えば、シーケンサ１４は、ＲＴＬ回路領域８２内に設けられ、ＡＣＬＫジェネレータ１６は、周辺回路領域８１内に設けられている。オシレータ１５は、周辺回路領域８１内に設けられる場合もあるし、ＲＴＬ回路領域８２内に設けられる場合もある。
【００３４】
データ転送回路１７は、回路間及びデータバス間のデータ転送を制御する。データ転送回路１７は、ページバッファ１２とＥＣＣ回路２０との間のデータ転送、及び、ページバッファ１２とインターフェイス回路４０との間のデータ転送を制御する。データ転送回路１７は、複数のデータ格納部（例えば、ラッチ回路）１７１，１７２を含む。データ転送回路１７は、複数のバス（データ線）ＩＯＢＵＳ，ＥＣＣ＿ＲＷＤ，ＤＯＵＴを制御する。
【００３５】
データ転送回路１７は、シーケンサ１４からの制御信号（及びクロック）を受け、シーケンサによって制御される。データ転送回路１７は、ページバッファ１２からの内部クロック（制御クロック）ＣＬＫＰ＿ＦＢ（＝ＣＬＫＰ＿ＦＢ＜１：０＞）を受ける。
【００３６】
例えば、データ転送回路１７は、周辺回路領域８１内に設けられている。データ転送回路１７は、データの入出力経路（データ転送経路）の近傍の領域、具体的には、ページバッファ１２の近傍の領域に設けられていることが好ましい。
【００３７】
インターフェイス回路４０は、フラッシュメモリ１とメモリコントローラ／ホストデバイス２との間における制御信号（コマンド又はステータス）及びデータの入出力に用いられる。
【００３８】
インターフェイス回路４０は、インターフェイス（Ｉ／Ｆ）１４１を含んでいる。インターフェイス１４１は、フラッシュメモリ１外部のメモリコントローラ／ホストデバイス２との間で、データ、制御信号、クロックＣＬＫ、コマンド及びアドレスＡＤＲ等の様々な信号の受け渡しを行なう。制御信号の一例は、フラッシュメモリ１及びメモリシステム全体をイネーブルにするチップイネーブル信号／ＣＥ、アドレスＡＤＲをラッチさせるためのアドレスラッチイネーブル信号ＡＬＥ、コマンドをラッチさせるためのコマンドラッチイネーブル信号ＣＬＥ、データの書き込みをイネーブルにするためのライトイネーブル信号／ＷＥ、及びデータの読み出しをイネーブルにするためのリードイネーブル信号／ＲＥなどである。
【００３９】
インターフェイス１４１は、メモリコントローラ／ホストデバイス２からのコマンドをシーケンサ１４へ送る。インターフェイス１４１は、内部クロック（制御クロック）ＣＬＫＰ（＝ＣＬＫＰ＜１：０＞）をページバッファ１２に供給する。インターフェイス１４１は、制御信号（選択信号）ＲＥＯＳＥＬｎをデータ転送回路１７へ送る。
【００４０】
インターフェイス１４１は、シーケンサ１４からの信号ＴＲＡＮＳ＿ＯＮＥを受ける。インターフェイス１４１は、オシレータ１６からの内部クロックＡＣＬＫを受ける。
【００４１】
インターフェイス１４１は、データ転送回路１７とメモリコントローラ／ホストデバイス２との間のデータ転送を、仲介する。
【００４２】
インターフェイス回路４０は、バス（信号線）及びラッチ／バッファのほかに、フラッシュメモリと外部装置との接続端子としての複数のパッドを含んでいる。例えば、図２に示されるように、パッド９０の配置領域（以下では、パッド領域とよぶ）８０が、チップ８の端部に設けられている。パッド９０は、チップ８の辺に沿うように、設けられている。
【００４３】
ＥＣＣ回路２０は、データに対するＥＣＣ処理を行う。データの読み出し時において、ＥＣＣ回路２０は、メモリセルアレイ１０から読み出されたデータについてエラーの検出及び訂正を行う。データの書き込み時において、ＥＣＣ回路２０は、プログラムすべきデータについてのパリティ（以下では、パリティデータ又はパリティビットとよぶ）を生成する。ＥＣＣ回路２０は、シーケンサ１４からの内部クロック（制御クロック）ＡＣＬＫ＿ＥＣＣを受ける。
【００４４】
ＥＣＣ回路２０は、ＥＣＣバッファ２０１及びＥＣＣエンジン２０２を、含んでいる。ＥＣＣバッファ２０１は、データバスＥＣＣ＿ＲＷＤを介してデータ転送回路１７に接続される。ＥＣＣバッファ２０１は、ＥＣＣ処理（誤りの検出／訂正及びパリティ生成）のために、一時的にデータを格納する。ＥＣＣバッファ２０１は、例えば、３２ビット幅のデータバスでデータ転送回路１７と接続されている。例えば、ＥＣＣバッファ２０１は、クロックをインターフェイス回路４０に供給する。
【００４５】
ＥＣＣエンジン２０２は、ＥＣＣバッファ２０１に保持されるデータを用いてＥＣＣ処理を行う。ＥＣＣエンジン２０２は、ＥＣＣバッファ２０１に入力されたデータの誤り訂正し、訂正したデータ（Correct）を、再びＥＣＣバッファ２０１に出力する。ＥＣＣエンジン２０２は、ＥＣＣバッファ２０１に入力されたデータのパリティを生成し、生成されたパリティが付加されたデータを、再びＥＣＣバッファ２０１に出力する。
【００４６】
例えば、ＥＣＣ回路２０は、１セクタ（＝５１２バイト）に対してｎビット（例えば、４ビット）以上のパリティデータを付加する訂正能力を有する。
【００４７】
図２に示されるように、フラッシュメモリ１のチップ８内において、メモリコア部１０，１１，１２とパッド領域８０との間に、周辺回路領域８１及びＲＴＬ回路領域８２は、レイアウトされている。ＲＴＬ回路領域８２は、ロウデコーダ１１とパッド領域８０との間の領域に設けられている。例えば、周辺回路領域８１は、ページバッファ１２とパッド領域８０との間の領域に設けられている。  
本実施形態のフラッシュメモリ１において、ＥＣＣ回路２０は、メモリセルアレイ１０（メモリコア部）と同じチップ８内に設けられている（組み込まれている）。
【００４８】
本実施形態のＥＣＣ回路搭載型のフラッシュメモリ１（例えば、ＢＥＮＡＮＤ（登録商標））において、ＥＣＣ回路２０は、パッド領域８０とページバッファ１２との間のデータ転送経路から離れた位置に設けられている。  
例えば、ＥＣＣ回路２０は、ロウデコーダ１１と高電圧発生部領域１３０との間の領域に設けられている。ＥＣＣ回路２０は、ロウデコーダ１１、高電圧発生部領域１３０及びＲＴＬ回路領域８２に囲まれている。ＥＣＣ回路２０と周辺回路領域８１との間には、ＲＴＬ回路領域８２がレイアウトされている。
【００４９】
高電圧発生部領域１３０は、パッド領域８０、ＲＴＬ回路領域８２及びロウデコーダ１０に囲まれた領域に設けられている。高電圧発生部領域１３０及びロウデコーダ１１の近傍領域の面積密度（集積度）は、ページバッファ１２及び周辺回路領域８１の面積密度に比較して、疎である（低い）。
【００５０】
メモリセルの微細化にともなって、ＥＣＣ回路２０は、訂正能力の向上のために、面積（回路規模）が大きくなる傾向がある。図２に示されるように、チップ８内の面積密度が比較的低い領域内に、ＥＣＣ回路２０がレイアウトされることによって、ＥＣＣ回路２０に起因したチップサイズの増大又は他の回路領域の圧迫を抑制でき、周辺回路の配置の効率を改善できる。この結果として、チップ内のレイアウトの制限を緩和でき、訂正能力の高いＥＣＣ回路２０を、フラッシュメモリ１のメモリセルアレイ１０と同じチップ内に形成できる。
【００５１】
また、ＥＣＣ回路２０が、ページバッファ１２とパッド領域８０との間のデータの転送経路から離れた位置に設けられることによって、データ及びクロックの転送のための配線（データバス及びクロックバス）の引き回しを簡素化できる。
【００５２】
本実施形態のフラッシュメモリ１は、ユーザーの仕様に応じて、ＥＣＣ回路２０を利用しない動作モード又はＥＣＣ回路２０を利用する動作モードのいずれか一方が選択され、駆動される。以下では、ＥＣＣ回路２０を利用しない動作モードのことを、ＮＡＮＤモード（又はＮＡＮＤ動作）とよび、ＥＣＣ回路２０を利用する動作モードのことを、組込みＥＣＣ（Built-in ECC）モード（又は組込みＥＣＣ動作）とよぶ。
【００５３】
フラッシュメモリ１が、ＮＡＮＤモードで駆動されるか、組込みＥＣＣモードで駆動されるかは、チップの製造工程（チップの出荷前）においていずれか一方のモードを示すデータがチップのＲＯＭ内に書き込まれることによって、設定される。ユーザーは、いずれか一方のモードで駆動されるフラッシュメモリを用いて、メモリシステムを構築する。
【００５４】
そして、シーケンサ１４が、メモリコントローラ／ホストデバイス２からの信号に基づいて、ＮＡＮＤモード及び組込みＥＣＣモードのいずれ一方で、フラッシュメモリ１の内部動作を制御する。
【００５５】
本実施形態のフラッシュメモリにおいて、データの読み出し時におけるページバッファ１２からチップの外部へのデータの転送は、ページバッファ１２とデータ転送回路１７との間の１段のバッファ回路（パイプ回路）及びデータバスＩＯＢＵＳを介して、ＦＩＦＯ（First-In First-Out）方式によって、実行される。
【００５６】
組込みＥＣＣモード時におけるページバッファ１２とＥＣＣ回路２０との間のデータ転送は、データ転送回路１７、ＮＡＮＤモード時と共通の１段のバッファ回路及びデータバスＩＯＢＵＳを介して、実行される。
【００５７】
図４乃至図６を用いて、本実施形態のフラッシュメモリ１が含むページバッファ１２、データ転送回路１７及びデータバスの構成について、説明する。  
図４は、本実施形態のフラッシュメモリ１のページバッファ１２、データ転送回路１７及びその近傍の回路構成を模式的に示す図である。
【００５８】
図４に示される例において、ページバッファ１２は、データ転送の制御単位に対応するように、複数のセンス回路１２１及び複数のバッファ回路１２５を含んでいる。
【００５９】
センス回路１２１は、データの読み出し時、メモリセルアレイ１に記憶されたデータを検知し、一時的に保持する。
【００６０】
例えば、１ページが２ＫＢ（２０４８バイト）のデータサイズに設定されている場合、３２Ｂ（２５６ビット）のデータが、各センス回路１２１におけるデータの読み出し又は書き込みのための制御単位として扱われる。ページバッファ１２内の複数のセンス回路１２１に関して、１つのセンス回路１２１が、３２Ｂのデータサイズに対応するように、設けられている。
【００６１】
例えば、複数（ここでは、１６本）のデータバスＸＢＵＳ＜１５：０＞が、１つのセンス回路１２１と１つのバッファ回路１２５とを接続する。バッファ回路１２５は、センス回路１２１からのデータをバッファリングし、出力する。以下では、センス回路１２１に直接接続されるデータバスのことを、ローカルＩ／Ｏ線ＸＢＵＳ＜１５：０＞とよび、各ローカルＩ／Ｏ線ＸＢＵＳ＜１５：０＞を区別しない場合には、ローカルＩ／Ｏ線ＸＢＵＳと表記する。
【００６２】
ページバッファ１２は、複数のデータバスＩＯＢＵＳ＜３１：０＞を介して、データ転送回路１７に接続されている。  
例えば、３２本のデータバスＩＯＢＵＳ＜３１：０＞が、ページバッファ１２とデータ転送回路１７との間のデータ転送のために、用いられている。以下では、各データバス（データ線）ＩＯＢＵＳ＜３１：０＞を区別しない場合には、データバスＩＯＢＵＳと表記する。
【００６３】
データバスＩＯＢＵＳは、バッファ回路１２５を介して、センス回路１２１に接続されたローカルＩ／Ｏ線ＸＢＵＳに、接続されている。  
３２本のデータバス＜３１：０＞のうち、１６本のデータバスＩＯＢＵＳ＜１５：０＞が、１つのバッファ回路（ＰＩＰＥ１）１２５に接続されている。残りの１６本のデータバスＩＯＢＵＳ＜３１：１６＞は、１６本のデータバスＩＯＢＵＳ＜１５：０＞が接続されたバッファ回路（ＰＩＰＥ１）と異なる他のバッファ回路（ＰＩＰＥ２）１２５に、接続されている。以下では、データバスＩＯＢＵＳとローカルＩ／Ｏ線ＸＢＵＳとの間のバッファ回路１２５のことを、パイプ回路（又はパイプ）１２５ともよぶ。
【００６４】
上述のように、本実施形態のフラッシュメモリは、２つの異なる動作モードで駆動される。ＮＡＮＤモードの場合、１つのセンス回路１２１及び１つのパイプ回路１２５が、データの読み出しのための制御単位として、選択及び駆動される。組込みＥＣＣモードの場合、２つのセンス回路１２１及び２つのパイプ回路１２５が、データの読み出しのための制御単位として、同時に選択及び駆動される。以下では、説明の明確化のため、組込みＥＣＣモードで駆動されるときに、１つの制御単位として扱われる２つのセンス回路１２１及び２つのパイプ回路１２５のことを、回路ブロックＰＰとよぶ。尚、図４において、互いに隣り合う２つのセンス回路１２１及び２つのパイプ回路１２５が、１つの回路ブロックＰＰとして示されているが、異なるデータバス＜３１：１６＞，＜１５：０＞の組にそれぞれ接続されているセンス回路１２１及びパイプ回路１２５であれば、回路ブロックＰＰの構成はこれに限定されない。
【００６５】
２つのセンス回路１２１及び２つのパイプ回路１２５から形成される複数の回路ブロックＰＰが、３２本のデータバスＩＯＢＵＳに対して、割り付けられている。３２本のデータバスＩＯＢＵＳが、複数の回路ブロックＰＰによって、共有されている。
【００６６】
ページバッファ１２とデータ転送回路１７（データバスＩＯＢＵＳ）とが、ワイヤードＯＲ（Wired OR） Ｉ／Ｏ線方式且つグローバルに、接続されている。例えば、回路ブロックＰＰを形成する一方のパイプ回路（ＰＩＰＥ１）の１番目のパイプユニットＰＵ＜０＞のそれぞれが、１番目のデータバスＩＯＢＵＳに共通に接続される。このように、複数のパイプユニットＰＵが、ワイヤードＯＲ方式で、１本のデータバスＩＯＢＵＳに接続され、ページバッファ１２とデータ転送回路１７（データバスＩＯＢＵＳ）とが、データバスＩＯＢＵＳを介してグローバルに接続される。これによって、ページバッファ１２とデータ転送回路１７（データバスＩＯＢＵＳ）との間のデータ線（Ｉ／Ｏ線）の本数を削減できる。
【００６７】
また、ローカルＩ／Ｏ線方式を用いてローカルＩ／Ｏ線ＸＢＵＳとパイプ回路１２５とが接続されることによって、ページバッファ１２とデータバスＩＯＢＵＳとの間に接続される回路及び素子の個数を削減できる。
【００６８】
これらの回路間（データバス間）の接続方式を用いる結果として、フラッシュメモリの動作時におけるデータ線の負荷が軽減され、フラッシュメモリの動作の高速化及び低消費電力化を実現できる。
【００６９】
データ転送回路１７は、３２本のデータバスＩＯＢＵＳ＜３１：０＞を介して、ページバッファ１２に接続されている。  
データ転送回路１７は、データ格納部としてのＦＩＦＯ回路１７１を含む。ＦＩＦＯ回路１７１は、ページバッファ１２からのデータを一時的に格納し、格納したあるデータサイズのデータを、ＦＩＦＯ方式で、複数（例えば、１６本）のデータバスＤＯＵＴ＜１５：０＞に出力する。データ転送回路１７から出力されたデータは、データバスＤＯＵＴ及びインターフェイス回路４０を経由して、フラッシュメモリ１のチップの外部（例えば、メモリコントローラ／ホストデバイス２）に転送される。
【００７０】
以下では、データバスＤＯＵＴ＜１５：０＞のことを、出力バスＤＯＵＴ＜１５：０＞とよび、各出力バス（データ線）ＤＯＵＴ＜１５：０＞を区別しない場合には、出力バスＤＯＵＴと表記する。
【００７１】
ＦＩＦＯ回路１７１は、２つのラッチ回路７１Ａ，７１Ｂ、選択回路（セレクタ）７１Ｃ及びＭＵＸ回路（マルチプレクサ）７１Ｄを含んでいる。２つのラッチ回路７１Ａ，７１Ｂは、２つのステージにそれぞれ対応するように、設けられている。各ラッチ回路７１Ａ，７１Ｂは、１６ビットのデータを一時的に格納する。
【００７２】
ＦＩＦＯ回路１７１内の２つのラッチ回路７１Ａ，７１Ｂは、ＭＵＸ回路７１Ｄを介して、３２本のデータバスＩＯＢＵＳ＜３１：０＞に接続されている。各ラッチ回路７１Ａ，７１Ｂは、ＭＵＸ回路７１Ｄを介して、１６本ずつに分割されたデータバスＩＯＢＵＳ＜３１：１６＞，ＩＯＢＵＳ＜１５：０＞の組の両方に接続されている。
【００７３】
ＭＵＸ回路７１Ｄは、内部クロックＣＬＫＰ＿ＦＢ＜１：０＞に基づいて、ラッチ回路７１Ａ，７１Ｂのデータ保持状態に応じて、１６本のデータバスＩＯＢＵＳ＜３１：１６＞を、２つのラッチ回路７１Ａ，７１Ｂのうちいずれか一方と接続し、残りの１６本のデータバスＩＯＢＵＳ＜１５：０＞を、２つのラッチ回路７１Ａ，７１Ｂのうちいずれか他方と接続する。
【００７４】
一方（ここでは、第１ステージ）のラッチ回路７１Ａは、１６本のデータバスｆｉｆｏｌ１ｎを介して、セレクタ７１Ｃに接続される。他方（ここでは、第２ステージ）のラッチ回路７１Ｂは、１６本のデータバスｆｉｆｏｌ２ｎを介して、セレクタ７１Ｃに接続される。
【００７５】
１６本のデータバスｆｉｆｏｌ１ｎには、ラッチ回路７１Ａからの１６ビットのデータが出力され、１６本のデータバスｆｉｆｏｌ２ｎには、ラッチ回路７１Ｂからの１６ビットのデータが出力される。各ラッチ回路７１Ａ，７１Ｂから出力された１６ビットのデータが、１ステージ分のデータとして扱われる。
【００７６】
セレクタ７１Ｃの制御端子に、インターフェイス回路４０からの制御信号ＲＥＯＳＥＬｎが供給される。セレクタ７１Ｃは、この制御信号ＲＥＯＳＥＬｎを選択信号として、２つのラッチ回路７１Ａ，７１Ｂのうちいずれか一方を選択し、出力バスＤＯＵＴに接続する。これによって、１ステージ分の１６ビットのデータが、１６本の出力バスＤＯＵＴ＜１５：０＞を経由して、ＦＩＦＯ回路１７１からインターフェイス回路４０に出力される。
【００７７】
インターフェイス回路４０に入力されたデータは、データの入出力用のパッド（ＩＯｘ）９０Ａを介して、メモリコントローラ／ホストデバイス２へ出力される。
【００７８】
ＦＩＦＯ方式によって、ページバッファ１２からのデータがフラッシュメモリ１の外部へ転送されることによって、ページバッファ１２とデータ転送回路１７との間のバッファ回路（パイプ回路）の段数を削減できる。ＦＩＦＯ方式によるデータ転送によって、ページバッファ１２とデータ転送回路１７との間のデータの転送経路の構成を簡素化できる。これらの結果として、バッファ回路の面積が削減され、データ転送の動作及び制御が、簡素化される。また、バッファ回路に起因した消費電力も削減できる。
【００７９】
尚、ＦＩＦＯ回路１７１は、３つ以上のラッチ回路を含んでいてもよい。
【００８０】
データ転送回路１７は、ＦＩＦＯ回路１７１とは別途のデータ格納部としてのラッチ回路１７２を含んでいる。ラッチ回路１７２は、３２本のデータバスＩＯＢＵＳ＜３１：０＞に接続され、３２ビットのデータを一時的に格納する。
【００８１】
ラッチ回路１７２は、３２本のデータバスＥＣＣ＿ＲＷＤ＜３１：０＞を介して、ＥＣＣ回路２０に接続される。ラッチ回路１７２は、格納したデータを３２ビット単位で、ＥＣＣ回路２０へ出力する。ラッチ回路１７２は、ＥＣＣ回路２０に対するデータ転送のためのリバッファ（又はリドライバー）としての機能を有する。
【００８２】
このように、ＥＣＣ回路２０は、データ転送回路１７内のラッチ回路１７２を介して、ページバッファ１２が接続されたデータバスＩＯＢＵＳに接続され、データバスＩＯＢＵＳに出力された３２ビットのデータを受ける。
【００８３】
以下では、説明の明確化のため、ＥＣＣ回路２０に接続されるデータバスＥＣＣ＿ＲＷＤ＜３１：０＞のことを、ＥＣＣバスＥＣＣ＿ＲＷＤ＜３１：０＞とよび、各ＥＣＣバス（データ線）ＥＣＣ＿ＲＷＤ＜３１：０＞を区別しない場合には、各ＥＣＣバスＥＣＣ＿ＲＷＤと表記する。
【００８４】
ＡＣＬＫジェネレータ（オシレータ）１６は、生成した内部クロックＡＣＬＫを、インターフェイス回路４０に供給する。ＡＣＬＫジェネレータ１６が生成した内部クロックＡＣＬＫは、バッファ９１Ｂによってリバッファされる。リバッファされた内部クロックＡＣＬＫ＿ＢＮが、シーケンサ（ＲＴＬ回路）１４に供給される。
【００８５】
インターフェイス回路４０は、外部クロックＲＥｎｘに基づいて、或いは、内部クロックＡＣＬＫ，ＷＥｎ＿ＢＮに基づいて、内部クロックＣＬＫＰ＜１：０＞を生成する。例えば、内部クロックＣＬＫＰ＜１：０＞は、外部クロックＲＥｎｘがインターフェイス回路４０内でリバッファされることによって生成される。内部クロックＣＬＫＰ＜１：０＞は、ページバッファ１２の複数のパイプ回路１２５に、それぞれ供給される。インターフェイス回路４０からの内部クロックＣＬＫＰ＜１：０＞は、バッファ９１Ａによってリバッファされる。リバッファされた内部クロックＣＬＫＰ＿ＦＢ＜１：０＞は、データ転送回路１７内のラッチ回路７１Ａ，７１Ｂ，１７２に供給される。
【００８６】
シーケンサ１４は、クロックＡＣＬＫ＿ＢＮに基づいて、内部クロックＡＣＬＫ＿ＥＣＣを生成する。シーケンサ１４は、内部クロックＡＣＬＫ＿ＥＣＣを、ＥＣＣ回路２０に供給する。シーケンサ１４は、制御信号ＴＲＡＮＳ＿ＯＮＥをインターフェイス回路４０に供給する。制御信号ＴＲＡＮＳ＿ＯＮＥがインターフェイス回路４０に供給された場合、インターフェイス回路４０は、内部クロックＡＣＬＫから他の内部クロック（例えば、クロックＣＬＫＰ＜１：０＞）を生成する。
【００８７】
尚、データバスＩＯＢＵＳに、ｐチャネル型の電界効果トランジスタ（以下、ｐ型トランジスタと表記する）９９が接続されている。ｐ型トランジスタ９９の電流経路の一端は、データバスＩＯＢＵＳに接続され、ｐ型トランジスタ９９の電流経路の他端は、電源端子Ｖｄｄに接続されている。ｐ型トランジスタ９９のゲートには、制御信号ＰＣ１が供給される。ｐ型トランジスタ９９によって、データバスＩＯＢＵＳが充電される。尚、データバスＩＯＢＵＳを放電させるためのスイッチ（例えば、ｎチャネル型の電界効果トランジスタ）が、データバスＩＯＢＵＳに接続されてもよい。
【００８８】
図５を用いて、ページバッファ１２とデータバスＩＯＢＵＳとの接続関係について、説明する。  
図５は、本実施形態のフラッシュメモリ１のページバッファ１２の内部構成例を模式的に示す図である。
【００８９】
上述のように、１つのセンス回路１２１は、３２Ｂのデータの読み出し／書き込みを制御する。３２Ｂのデータに対応するセンス回路１２１に対して、１６本のローカルＩ／Ｏ線ＸＢＵＳ＜１５：０＞が、それぞれ設けられている。
【００９０】
３２Ｂのデータは、２Ｂ（１６ビット）単位にさらに分割され、制御される。  
この場合、センス回路１２１は、２Ｂのデータサイズに対する制御（書き込み／読み出し）を行うための回路を含んでいる。各センス回路１２１は、２Ｂのデータサイズに対応する複数のセンス／ラッチユニット３０を含んでいる。
【００９１】
１つのセンス回路１２１は、１６個のセンス／ラッチユニット３０を含む。１個のセンス／ラッチユニット３０が、２Ｂのデータの書き込み／読み出しの制御に、用いられる。各センス／ラッチユニット３０は、１本のローカルＩ／Ｏ線ＸＢＵＳに接続されている。
【００９２】
図６は、センス／ラッチユニット３０の内部構成を示す模式図である。
【００９３】
センス／ラッチユニット３０は、複数のセンスアンプ３０１及び複数のデータラッチ３０２を含む。センス／ラッチユニット３０が、２Ｂ（１６ビット）のデータに対する制御を行う場合、１６個のセンスアンプ３０１及び１６個のデータラッチ３０２が、センス／ラッチユニット３０内に設けられている。１つのセンス／ラッチユニット３０に対して、１６本のビット線ＢＬ＜０＞〜ＢＬ＜１５＞が割り付けられている。
【００９４】
各センスアンプ３０１は、１本のビット線ＢＬに接続されている。センスアンプ３０１は、シーケンサ１４の制御に基づいて、ビット線ＢＬの電位変動を、検知及び増幅する。センスアンプ３０１は、シーケンサ１４の制御に基づいて、ビット線ＢＬを充電又は放電させる。
【００９５】
センスアンプ３０１は、１本のビット線ＢＬにそれぞれ接続されている。但し、ビット線ＢＬのセンス方式に応じて、１つのセンスアンプ３０１は、互いに隣接する偶数番目及び奇数番目の２本のビット線ＢＬに接続されてもよい。このように、センスアンプ３０１が２つのビット線で共有される場合、センスアンプ３０１を共有する偶数及び奇数ビット線は、動作に応じて異なるタイミングで、センスアンプ３０１に接続される。
【００９６】
１つのデータラッチ３０２が、１つのセンスアンプ３０１に対応するように、設けられている。データラッチ３０２は、１ビットの信号を保持する。  
図６において、１つのデータラッチ３０２が、１つのセンスアンプ３０１に対して設けられた例が示されている。１つのメモリセルが、１ビットのデータを記憶するか、２ビット以上のデータを記憶するかに応じて、複数のデータラッチ３０２が、１つのセンスアンプ３０１に対して設けられてもよい。また、フラグデータやベリファイ結果を一時的に記憶するラッチが、センスアンプ３０１に接続されてもよい。
【００９７】
センスアンプ３０１及びデータラッチ３０２は、共通線（図示せず）によって互いに接続されている。複数のセンスアンプ３０１及び複数のデータラッチ３０２は、共通線及びスイッチとしてトランスファゲート（カラム選択スイッチとよぶ）９５を介して、ローカルＩ／Ｏ線ＸＢＵＳに共通に接続されている。例えば、トランスファゲート９５は、ｐチャネル型電界効果トランジスタとｎチャネル型電界効果トランジスタからなるＭＯＳスイッチである。データの読み出し時において、トランスファゲート９５を形成するｎ型トランジスタのみが、オン状態にされる。データの書き込み時において、トランスファゲート９５を形成するｎ型及びｐ型トランジスタの両方が、オン状態にされる。
【００９８】
センスアンプ３０１及びデータラッチ３０２は、電界効果トランジスタ９５によって、ローカルＩ／Ｏ線ＸＢＵＳとの導通状態が制御される。センスアンプ３０１は、シングルエンド方式で、ローカルＩ／Ｏ線ＸＢＵＳに接続されている。
【００９９】
例えば、１６個のセンスアンプ３０１及び１６個のデータラッチ３０２が、１本のローカルＩ／Ｏ線ＸＢＵＳに、共通に接続されている。
【０１００】
データの読み出し時又は書き込み時、共通のローカルＩ／Ｏ線ＸＢＵＳに接続された１６個のセンスアンプ３０１及びデータラッチ３０２において、電界効果トランジスタ９５のオン／オフが制御されることによって、所定のタイミングで、１つずつ順次アクセスされ、１個のセンスアンプ３１０／データラッチ３０２がローカルＩ／Ｏ線ＸＢＵＳと導通状態になる。
【０１０１】
各ローカルＩ／Ｏ線ＸＢＵＳに、電界効果トランジスタ９８及びバスホールド回路９７が接続されている。
【０１０２】
ｐチャネル型の電界効果トランジスタ（ｐ型トランジスタ）９８の電流経路の一端が、ローカルＩ／Ｏ線ＸＢＵＳに接続され、ｐチャネル型の電界効果トランジスタ９８の電流経路の他端は、電源電圧Ｖｄｄに接続されている。ｐチャネル型の電界効果トランジスタ９８のゲートには、制御信号ＰＣ２が入力される。制御信号ＰＣ２に基づいて、トランジスタ９８がオンされ、ローカルＩ／Ｏ線ＸＢＵＳが充電される。
【０１０３】
バスホールド回路９７は、ローカルＩ／Ｏ線ＸＢＵＳの電位の安定化を図るために、ローカルＩ／Ｏ線ＸＢＵＳに接続されている。
【０１０４】
例えば、データの読み出し時、センス／ラッチユニット３０（各センスアンプ／データラッチ）からのデータは、トランスファゲート９５のｎ型トランジスタがオンされ、ローカルＩ／Ｏ線ＸＢＵＳに転送される。“１”データ（“Ｈ”レベル）が転送される場合、バスホールド回路９７は、ｎ型トランジスタ９５のしきい値Ｖｔｈに応じてローカルＩ／Ｏ線ＸＢＵＳに“１”データが転送されない可能性（データに対応した電位に変動しない可能性）を防ぐ。
【０１０５】
また、データの書き込み時において、データバスＩＯＢＵＳからローカルＩ／Ｏ線ＸＢＵＳへのデータ転送及びローカルＩ／Ｏ線ＸＢＵＳからセンス／ラッチユニット３０へのデータ転送は、各バス（データ線）間のトランスファゲート（ｎ型／ｐ型トランジスタからなるＭＯＳスイッチ）を介して、実質的に同時に行われる。この際、仮に、データバスＩＯＢＵＳとローカルＩ／Ｏ線ＸＢＵＳとの間のトランスファゲート（図示せず）が、ローカルＩ／Ｏ線ＸＢＵＳとセンス／ラッチユニット３０とを接続するトランスファゲート９５よりも先にオフされた場合であっても、バスホールド回路９７が、ローカルＩ／Ｏ線ＸＢＵＳの電位を安定化させることによって、センス／ラッチユニット３０に、データが転送される。
【０１０６】
尚、各データバスＩＢＵＳ＜３１：０＞に、プリチャージ用のｐ型トランジスタ９９が接続されるとともに、データバスＩＯＢＵＳの電位の安定化のためのバスホールド回路９６が接続される。
【０１０７】
フラッシュメモリ１の動作に応じて、所定の本数（例えば、１６本又は３２本）のローカルＩ／ＯバスＸＢＵＳが、パイプ回路１２５を介して、データバスＩＯＢＵＳに対して導通状態にされる。
【０１０８】
各パイプ回路１２５は、複数のパイプユニット（バッファ）ＰＵ＜１５＞（＝ＰＵ＜３１＞）〜＜０＞（＝ＰＵ＜１６＞）を含む。各パイプユニット＜１５＞〜＜０＞を区別しない場合には、パイプユニットＰＵと表記する。
【０１０９】
１つのパイプユニットＰＵは、１つのローカルＩ／Ｏ線ＸＢＵＳに接続されている。  
１つのセンス回路１２１と１つのパイプ回路１２５とが、１６本のローカルＩ／Ｏ線ＸＢＵＳ＜１５：０＞によって接続されている場合、１６本のローカルＩ／Ｏ線ＸＢＵＳ＜１５：０＞にそれぞれ対応するように、１６個のパイプユニットＰＵが、１つのパイプ回路１２５内に設けられている。各パイプ回路１２５は、１６ビット単位のデータをバッファリングする。
【０１１０】
１つのパイプユニットＰＵが、１本のローカルＩ／Ｏ線ＸＢＵＳと１本のデータバスＩＯＢＵＳとの間に設けられている。１つのパイプユニットＰＵは、１本のデータバスＩＯＢＵＳに接続されている。各パイプユニットＰＵは、データバスＩＯＢＵＳを介して、データ転送回路１７内のＦＩＦＯ回路１７５に接続されている。パイプユニットＰＵは、データバスＩＯＢＵＳ及びラッチ回路１７５を介して、ＥＣＣ回路２０に接続されている。
【０１１１】
１つのパイプユニットＰＵが、１本のローカルＩ／Ｏ線ＸＢＵＳを介して、１６個のセンスアンプ３０１及び１６個のデータラッチ３０２に共通に接続される。パイプユニットＰＵが駆動される場合、パイプユニットＰＵは、複数のセンスアンプ３０１及び複数のデータラッチ３０２のうちアクティブにされた対をなす１個のセンスアンプ３０１及び１個のデータラッチ３０２と、導通状態にされる。
【０１１２】
各パイプユニットＰＵは、バッファ５００と電界効果トランジスタ５４とによって形成され、データバスＩＯＢＵＳにワイヤードＯＲ方式で接続されている。
【０１１３】
図５に示される例において、パイプユニットＰＵ＜０＞のバッファ５００は、ＡＮＤゲート５１、ＮＯＲゲート５２及びＮＡＮＤゲート５３によって、形成されている。
【０１１４】
ＡＮＤゲート５１の一方の入力端子は、１本のローカルＩ／Ｏ線ＸＢＵＳに接続される。ＡＮＤゲート５１の他方の入力端子は、ＮＡＮＤゲート５３の出力端子に接続されている。ＡＮＤゲート５１の出力端子は、ＮＯＲゲート５２の一方の入力端子に接続されている。ローカルＩ／Ｏ線ＸＢＵＳに接続された入力端子が、バッファ５００の一方の入力ノードとして用いられる。
【０１１５】
ＮＯＲゲート５２の出力端子ＯＢＵＳｎは、ＮＡＮＤゲート５３の一方の入力端子に接続されている。ＮＯＲゲートの出力端子ＯＢＵＳｎは、バッファ５００の出力ノードとして用いられる。ＮＯＲゲート５２の他方の入力端子には、実行中の動作が書き込みであるか読み出しであるか示す制御信号ＣＮＴが供給される。ＮＡＮＤゲート５３の他方の入力端子には、内部クロックＣＬＫｎ（又はクロックＣＬＫＰ＜１：０＞）が供給される。内部クロックＣＬＫｎは、内部クロックＣＬＫＰ＜１：０＞と実質的に同じ信号である。
【０１１６】
このように、パイプユニットＰＵのバッファ５００は、論理ゲート回路５１，５２，５３によって、形成されている。
【０１１７】
尚、以下では、各パイプユニットＰＵにおけるバッファ５００の出力ノードＯＢＵＳｎ＜１５：０＞を区別しない場合には、出力ノードＯＢＵＳｎと表記する。
【０１１８】
バッファ５００の出力ノードとしてのＮＯＲゲート５２の出力端子ＯＢＵＳｎは、ｎチャネル型の電界効果トランジスタ（ｎ型トランジスタ）５４のゲートに接続されている。ｎ型トランジスタ５４の電流経路の一端は、Ｉ／Ｏ線ＩＯＢＵＳに接続されている。ｎ型トランジスタ５４の電流経路の他端は、グランド端子に接続されている。バッファ５００は、ｎ型トランジスタ５４を介して、データバスＩＯＢＵＳにワイヤードＯＲ接続されている。
【０１１９】
例えば、内部クロックＣＬＫＰが“Ｌ”レベルの期間において、データバスＩＯＢＵＳに、ｐ型トランジスタ９９を介して電圧Ｖｄｄが印加され、データバスＩＯＢＵＳは、“Ｈ”レベル（Ｖｄｄレベル）にプリチャージされている。
【０１２０】
ｎ型トランジスタ５４は、バッファ５００の出力が“Ｈ（１）”レベルである場合にオンする。ｎ型トランジスタ５４がオンした場合、データバスＩＯＢＵＳがグランド端子と導通する。データバスＩＯＢＵＳが充電状態の場合、データバスＩＯＢＵＳの信号レベルは、“Ｈ”レベルから“Ｌ”レベルに変化する。
【０１２１】
ｎ型トランジスタ５４は、バッファ５００の出力が“Ｌ（０）”レベルである場合にオフする。ｎ型トランジスタ５４がオフする場合、データバスＩＯＢＵＳはグランド端子から電気的に分離され、データバスＩＯＢＵＳの信号レベルは、“Ｈ”レベルに維持される。
【０１２２】
パイプユニットＰＵは、内部クロックＣＬＫｎ＜１：０＞，ＣＬＫＰ＜１：０＞に同期して駆動する。
【０１２３】
１つの回路ブロックＰＰ内において、例えば、３２個のパイプユニットＰＵが設けられている。フラッシュメモリの動作モードに応じて、動作対象として同時に選択及び駆動されるパイプユニットの個数が異なる。
【０１２４】
ＮＡＮＤモードにおいて、１つの回路ブロックＰＰを形成する３２個のパイプユニットＰＵは２組に分割され、１６個のパイプユニット＜１５：０＞が独立した制御単位（駆動単位）として、それぞれ制御及び駆動される。これによって、ページバッファ１２１からのデータが、１６ビットずつ、データバスＩＯＢＵＳを介してデータ転送回路１７のＦＩＦＯ回路１７１に転送される。
【０１２５】
組込みＥＣＣモードにおいて、３２個のパイプユニットＰＵ＜１５：０＞，ＰＵ＜３１：１６＞が、制御単位（駆動単位）として、実質的に同時に制御される。これによって、ページバッファ１２１からのデータが、３２ビットずつ、データバスＩＯＢＵＳ及びデータ転送回路１７を経由して、ＥＣＣ回路２０に転送される。
【０１２６】
例えば、パイプユニットＰＵ及びＦＩＦＯ回路１７１を用いたデータ転送は、メモリセルアレイ１から外部へのデータの読み出しに用いられ、メモリセルアレイ１に対するデータの書き込み時におけるデータ転送は、ローカルＩ／Ｏ線ＸＢＵＳ及びデータバスＩＯＢＵＳ間に接続されたトランスファゲート（図示せず）を用いて、実行される。
【０１２７】
尚、図５に示されるパイプユニットＰＵのバッファ５００の構成は一例であって、バッファに供給される制御信号に応じて、他の回路構成のバッファがパイプユニット（バッファ回路）に用いられてもよい。
【０１２８】
以上のように、本実施形態のフラッシュメモリは、ページバッファ回路１２とデータ転送回路１７とがグローバルに接続されたワイヤードＯＲ Ｉ／Ｏ線方式、及び、ＦＩＦＯ方式を用いて、データの転送を実行することによって、フラッシュメモリの動作を簡素化及び高速化できる。これに伴って、本実施形態のフラッシュメモリは、消費電力を低減できる。さらに、本実施形態のフラッシュメモリは、回路設計及びチップ内のレイアウト設計を効率化できる。
【０１２９】
（ｂ）  動作  
図７乃至図１１を参照して、図１乃至図６に示される第１の実施形態のフラッシュメモリの動作について、説明する。以下では、図７乃至図１１に加えて、図１乃至図６も適宜用いて、本実施形態のフラッシュメモリの動作について説明する。
【０１３０】
上述のように、本実施形態のフラッシュメモリ１は、チップ内のＲＯＭデータに基づいて、チップ内のＥＣＣ回路２０を用いない動作モード（ＮＡＮＤモード）とＥＣＣ回路２０を用いた動作モード（組込みＥＣＣモード）とのいずれか一方で駆動されるように、設定されている。
【０１３１】
図７は、各動作モードで駆動されたフラッシュメモリの動作時におけるチップ内での信号の流れを示す模式図である。図７において、チップ内のデータの流れは実線で示され、チップ内のクロック（及び制御信号）の流れは点線で示されている。  
図８及び図９は、ＮＡＮＤモードにおける本実施形態のフラッシュメモリの動作のタイミングチャートを示している。  
図１０及び図１１は、組込みＥＣＣモードにおける本実施形態のフラッシュメモリの動作のタイミングチャートを示している。
【０１３２】
＜動作例１＞  
図７乃至図９を用いて、本実施形態のフラッシュメモリにおけるＮＡＮＤモードについて説明する。  
ＮＡＮＤモードにおける本実施形態のフラッシュメモリにおけるデータの読み出しについて、説明する。
【０１３３】
例えば、図１のフラッシュメモリ１において、メモリコントローラ／ホストデバイス２からの制御信号（コマンド）が、インターフェイス回路４０を介して、フラッシュメモリ１の内部に入力される。メモリコントローラ／ホストデバイス２によって指定されたアドレスＡＤＲが、インターフェイス回路４０を介して、フラッシュメモリ１の内部に入力される。データの読み出し時、読み出しコマンドが、メモリコントローラ／ホストデバイス２からフラッシュメモリ１へ送信される。
【０１３４】
読み出しコマンド及びアドレスＡＤＲに基づいた制御信号が、インターフェイス回路４０からシーケンサ（ＲＴＬ回路）１４に転送される（図１参照）。シーケンサ１４は、コマンド、制御信号及び制御クロック（内部クロック）に基づいて、フラッシュメモリ１の内部動作を制御する。
【０１３５】
図４、図７及び図８に示されるように、外部クロックＲＥｎｘが、パッド９０Ａを介して、インターフェイス回路４０に供給される。ＮＡＮＤモードにおいて、インターフェイス回路４０によって、外部クロックＲＥｎｘから内部クロックＣＬＫＰ（＝ＣＬＫＰ＜１：０＞）が、生成される。外部クロックＲＥｎｘと内部クロックＣＬＫＰ＜１：０＞とは、互いに反対の位相を有している。
【０１３６】
コマンドに対応した動作を実行するために、シーケンサ１４からの制御信号に基づいて、チップ内の各回路に印加される電位（例えば、駆動電圧又はプリチャージ電圧）、及び、ワード線に印加される電位（例えば、読み出し電圧、非選択電圧又は書き込み電圧）が、電位生成回路１３によって、生成される。
【０１３７】
例えば、コマンドがインターフェイス回路４０及びシーケンサ１４に入力されたとき、データバスＩＯＢＵＳ及びローカルＩ／Ｏ線ＸＢＵＳは、制御信号ＰＣ１，ＰＣ２が供給されるトランジスタ９８，９９がオンされることによって、プリチャージされ、“Ｈ”レベルになっている。インターフェイス回路４０からの内部クロックＣＬＫＰが、ページバッファ１２に供給される。
【０１３８】
データの読み出し時、電位生成回路１３からの電位が、ロウデコーダ１１によって、選択ワード線及び非選択ワード線に転送される。選択ワード線に対応するページに記憶された１ページ分のデータが、ページバッファ１２に出力される。
【０１３９】
ＮＡＮＤモードにおけるデータの読み出し動作時、周知の動作によって、ページバッファ１２内の各センス回路１２１及び各センスアンプ３０１によって、選択されたページに属する各ビット線の電位変動が検知及び増幅される。検知された電位変動の大きさに基づいて、各メモリセルのデータが判別される。１ビットのデータが、各センスアンプ３０１及びデータラッチ３０２内に、格納される。２Ｂのデータサイズ毎に、センス回路１２１内の各センス／ラッチユニット３１に、格納される。各センス回路１２１内に、３２Ｂのデータが、それぞれ格納される。これによって、例えば、２ＫＢのデータが、メモリセルアレイ１０からページバッファ１２へ出力される。
【０１４０】
図８に示されるように、外部クロックＲＥｎｘ及び内部クロックＣＬＫＰ＜１：０＞に同期して、ページバッファ１２からデータバスＩＯＢＵＳへのデータ転送が、開始される。そして、データバスＩＯＢＵＳに対するデータの出力に連続して、外部クロックＲＥｎｘが“Ｌ”レベルの期間（内部クロックＣＬＫＰ＜１：０＞，ＣＬＫＰ＿ＦＢ＜１：０＞が“Ｈ”レベルの期間）において、バッファ回路（パイプ）１２５を経由してデータバスＩＯＢＵＳに出力されたデータが、データ転送回路１７に格納される。
【０１４１】
ＮＡＮＤモードにおいて、１６ビット単位のデータが、ページバッファ１２からデータ転送回路１７へ、順次選択される１つのパイプ回路１２５を経由して、転送される。
【０１４２】
ここで、図８に加えて、図９を用いて、ＮＡＮＤモードにおけるパイプユニットＰＵを経由したローカルＩ／Ｏ線ＸＢＵＳからデータバスＩＯＢＵＳへのデータ転送について、具体的に説明する。図９は、ローカルＩ／Ｏ線ＸＢＵＳからデータバスＩＯＢＵＳへのデータ転送のタイミングチャートを示している。
【０１４３】
図８及び図９に示されるように、ページバッファ１２からデータバスＩＯＢＵＳへのデータ転送は、所定のデータサイズ（ビット幅）毎に、外部クロックＲＥｎｘが“Ｌ”レベルの期間及び内部クロックＣＬＫＰ＜１：０＞が“Ｈ”レベルの期間（データバスＩＯＢＵＳからデータ転送回路１７内のデータ線ｆｉｆｏｌ１ｎ，ｆｉｆｏｌ２ｎへのデータ転送が開始される前の期間）において、実行される。
【０１４４】
内部クロックＣＬＫＰ，ＣＬＫｎ＜１：０＞は、ページバッファ１２内の各バッファ回路（パイプユニット）１２１内に、入力される。対をなす１組のセンス回路１２１及びバッファ回路１２５がアクティブにされ、シーケンサ１４による制御によって、データバスＩＯＢＵＳに接続される。１組のセンス回路１２１及びバッファ回路１２５がアクティブにされている間、残りのセンス回路１２１及びバッファ回路１２５は、シーケンサ１４による制御によって、データバスＩＯＢＵＳから電気的に分離されている。
【０１４５】
図９に示されるように、外部クロックＲＥｎｘに同期したタイミング、具体的には、外部クロックＲＥｎｘに対応した内部クロックＣＬＫｎ＜１：０＞の立ち下がりに同期したタイミングにおいて、ローカルＩ／Ｏ線ＸＢＵＳに、データが出力される。
【０１４６】
例えば、ＮＡＮＤモードにおいて、１６ビットのデータが、１つのデータの集まり（データユニット又はデータブロック）として、選択されたセンスアンプ／データラッチ３０１．３０２から選択された１６本のローカルＩ／Ｏ線ＸＢＵＳ＜１５：０＞に転送される。１本のローカルＩ／Ｏ線ＸＢＵＳに、１ビットのデータが出力される。  
本実施形態において、図６に示したように、各ローカルＩ／Ｏ線ＸＢＵＳにおいて、１つのトランスファゲート（ｎ型トランジスタ）９５がオン状態にされ、１つのセンスアンプ３０１及びデータラッチ３０２がアクティブにされる。これによって、１ビットのデータが、各ローカルＩ／Ｏ線ＸＢＵＳに出力される。１６本のローカルＩ／Ｏ線ＸＢＵＳ＜１５：０＞における１ビットずつデータによって、１６ビット単位のデータ（データユニット）が形成される。
【０１４７】
ローカルＩ／Ｏ線ＸＢＵＳがプリチャージされている場合、センスアンプ３０１及びデータラッチ３０２から出力されたデータに応じて、ローカルＩ／Ｏ線ＸＢＵＳは、充電状態（“Ｈ”レベル）が維持される、又は、放電状態（“Ｌ”レベル）になる。プリチャージされたローカルＩ／Ｏ線ＸＢＵＳの電位レベルの変化が、センスアンプ３０１及びデータラッチ３０２から出力されたデータと関連付けられている。
【０１４８】
プリチャージされたローカルＩ／Ｏ線ＸＢＵＳの信号レベルが“Ｈ”レベルから“Ｌ”レベルに遷移する場合、本実施形態のフラッシュメモリにおいて、センス／ラッチユニット３０とパイプユニットＰＵとの接続にローカルＩ／Ｏ線方式が用いられていることによって、データ線に生じる負荷（寄生抵抗及び寄生容量）が低減されるため、比較的早い速度で、ローカルＩ／Ｏ線ＸＢＵＳの電位レベルが、“Ｈ”レベルから“Ｌ”レベルへ遷移する。
【０１４９】
選択された１６本のローカルＩ／Ｏ線ＸＢＵＳに接続されたパイプ回路（バッファ回路）１２５がシーケンサ１４によって活性化される。活性化された１つのパイプ回路１２５において、各ローカルＩ／Ｏ線ＸＢＵＳに対応するパイプユニットＰＵに、センスアンプ３０１及びデータラッチ３０２からデータが、それぞれ供給される。同時に出力された１６ビットのデータにおいて、１ビットのデータが、データバスＩＯＢＵＳに対してワイヤードＯＲ化された１つのパイプユニットＰＵに、それぞれ供給される。
【０１５０】
ローカルＩ／Ｏ線ＸＢＵＳからパイプ回路１２５へのデータ出力時、図５のパイプユニットＰＵのバッファ５００のＮＡＮＤゲート５３の入力端子に対して、クロックＲＥｎｘ（ＣＬＫｎ＜１：０＞）に対応する“０（Ｌ）”レベルの信号が入力されている。
【０１５１】
ＮＡＮＤゲート５３の一方の入力端子に、“０”レベルの信号が入力されている場合、ＮＡＮＤゲート５３の他方の入力端子、換言すると、バッファ５００の出力ノード（ＮＯＲゲートの出力端子）ＯＢＵＳｎの信号レベルに依存せずに、ＮＡＮＤゲート５３の出力は“１（Ｈ）”レベルの信号となる。尚、図９に示される例において、バッファ５００のノードＯＢＵＳｎの電位レベルの初期状態は、“０（Ｌ）”レベルにされている。
【０１５２】
パイプユニットＰＵのバッファ５００の入力ノードとなるＡＮＤゲート５１の出力端子から出力される信号は、ローカルＩ／Ｏ線ＸＢＵＳに出力された１ビットのデータ（“１”又は“０”の信号レベル）とＮＡＮＤゲート５３からの“１”レベルとのＡＮＤ演算の結果となる。  
ローカルＩ／Ｏ線ＸＢＵＳに出力されたデータが“１”である場合、ＡＮＤゲート５１の出力は、“１”となる。ローカルＩ／Ｏ線ＸＢＵＳに出力されたデータが“０”である場合、ＡＮＤゲート５１の出力は、“０”となる。このように、パイプユニットＰＵによるバッファリング時、ローカルＩ／Ｏ線ＸＢＵＳに出力されたデータと同じ信号レベルが、ＡＮＤゲート５１の出力となる。
【０１５３】
データの読み出し時、パイプユニットＰＵのバッファ５００のＮＯＲゲート５２の入力端子に、読み出しを示す“０（Ｌ）”レベルの制御信号ＣＮＴが入力されている。
【０１５４】
バッファ５００の出力ノードＯＢＵＳｎに対応するＮＯＲゲート５２の出力端子から出力される信号は、ＡＮＤゲート５１の出力（ローカルＩ／Ｏ線ＸＢＵＳに出力された“１”又は“０”のデータ）と“０”レベルの制御信号ＣＮＴとのＮＯＲ演算の結果となる。
【０１５５】
データの読み出し時において、ＡＮＤゲート５１の出力が“１”レベルである場合（ローカルＩ／Ｏ線に出力されたデータが“１”である場合）、ＮＯＲゲート５２によるＮＯＲ演算の結果は“０”である。この場合、バッファ５００の出力ノードＯＢＵＳｎの電位は、“Ｌ”レベルとなる。
【０１５６】
この一方、データの読み出し時において、ＡＮＤゲート５１の出力が“０”レベルである場合（ローカルＩ／Ｏ線に出力されたデータが“０”である場合）、ＮＯＲゲート５２によるＮＯＲ演算の結果は“１”である。この場合、バッファ５００の出力ノードＯＢＵＳｎの電位は、“Ｈ”レベルとなる。
【０１５７】
このように、パイプユニットＰＵによるバッファリング時、ローカルＩ／Ｏ線ＸＢＵＳに出力されたデータと反対の信号レベルが、バッファ５００の出力ノードＯＢＵＳｎの電位レベル（ＮＯＲゲート５２の出力）となる。
【０１５８】
バッファ５００の出力ノードＯＢＵＳｎの電位レベルに応じて、出力ノードＯＢＵＳｎにゲートが接続されたｎ型トランジスタ５４が、オン又はオフする。
【０１５９】
バッファ５００の出力が、“Ｌ（０）”レベルである場合、ｎ型トランジスタ５４はオフし、データバスＩＯＢＵＳは、オフ状態のｎ型トランジスタ５４によって、グランド端子から電気的に分離される。この結果として、電位Ｖｄｄが印加されたデータバスＩＯＢＵＳの電位は、“１（Ｈ）”レベルになり、このデータバスＩＯＢＵＳに対応するローカルＩ／Ｏ線ＸＢＵＳに出力された“１”データと同じ信号レベルになる。
【０１６０】
この一方で、バッファ５００の出力が、“１（Ｈ）”レベルである場合、ｎ型トランジスタ５４がオンし、データバスＩＯＢＵＳは、オン状態のｎ型トランジスタ５４によって、グランド端子と導通する。この結果として、データバスＩＯＢＵＳの電位は、“Ｌ（０）”レベルになり、このデータバスＩＯＢＵＳに対応するローカルＩ／Ｏ線ＸＢＵＳに出力された“０”データと同じ信号レベルになる。
【０１６１】
これによって、３２本のＩＯＢＵＳ＜３１：０＞のうち、選択された１６本のローカルＩ／Ｏ線ＸＢＵＳ＜１５：０＞に対応する１６本のＩＯＢＵＳ＜３１：１６＞に、パイプ回路（ＰＩＰＥ１）１２５を経由して、１６ビットのデータが出力される。
【０１６２】
このように、センス回路１２１からのデータが、１段のパイプ回路１２５のパイプユニット１６を介して、データバスＩＯＢＵＳへ転送される。
【０１６３】
例えば、データバスＩＯＢＵＳにデータが出力された後、パイプユニットＰＵのバッファ５００の出力ノードＯＢＵＳｎの信号レベルは、“Ｈ”レベルにされる。尚、バッファ５００の出力ノードＯＢＵＳｎの信号レベル（電位レベル）は、制御信号ＣＮＴの信号レベルを制御することによって、“Ｌ（０）”にすることができる。
【０１６４】
このように、ワイヤードＯＲ方式でデータバスＩＯＢＵＳに接続されたパイプユニットＰＵを経由して、ページバッファ１２からデータバスＩＯＢＵＳ＜３１：１６＞に、１６ビットのデータが転送される。
【０１６５】
ローカルＩ／Ｏ線ＸＢＵＳからデータバスＩＯＢＵＳに、データが出力されるのと平行して、図７に示されるように、インターフェイス回路４０からの内部クロックＣＬＫＰは、ページバッファ１２内のクロックの伝送経路（クロックバス、クロック線）内に設けられたバッファ９１Ａによって、リバッファされる。リバッファされた内部クロックＣＬＫＰ＿ＦＢ（＝ＣＬＫＰ＿ＦＢ＜１：０＞）は、データ転送回路１７内のＦＩＦＯ回路１７１に供給される。リバッファされた内部クロックＣＬＫＰ＿ＦＢによって、ＦＩＦＯ回路１７１が駆動及び制御される。リバッファされた内部クロックＣＬＫＰ＿ＦＢに同期して、ＦＩＦＯ回路１７１は、データバスＩＯＢＵＳに出力されたデータを取り込み、制御信号（選択信号）ＲＥＯＳＥＬｎに同期して、出力バスＤＯＵＴにデータを送る。
【０１６６】
このように、内部クロックＣＬＫＰ，ＣＬＫＰ＿ＦＢは、メモリセルアレイ１０から出力されたデータが流れる方向と同じ方向（図７におけるＰＩＰＥ１２５→ＦＩＦＯ１７１，ＬＴＣ１７２）に、チップ内を伝送する。また、クロック線の長さは、データ線の長さに追従して変化する。その結果として、フラッシュメモリ１のタイミング設計は、比較的容易になる。
【０１６７】
図８に示されるように、内部クロックＣＬＫＰ＿ＦＢ＜１：０＞に同期したタイミングにおいて、データバスＩＯＢＵＳ＜３１：１６＞に出力されたデータは、ＦＩＦＯ回路１７１のラッチ回路７１Ａ内に、ＭＵＸ回路７１Ｄを経由して格納される。
【０１６８】
例えば、データバスＩＯＢＵＳ＜３１：１６＞に出力されたデータは、内部クロックＣＬＫＰ＿ＦＢ＜１：０＞が“Ｈ”レベルの期間において（又は、“Ｌ”レベルから“Ｈ”レベルへの遷移に同期して）、ラッチ回路７１Ａに、格納される。そして、格納された１６ビットのデータは、ラッチ回路７１Ａとセレクタ７１Ｃとの間の信号線ｆｉｆｏｌ１ｎ＜１５：０＞上に、１ステージ分のデータ（１番目のデータ）として、保持される。
【０１６９】
尚、１番目のデータが、２つのラッチ回路７１Ａ，７１Ｂのうちどちらに格納されるかは、シーケンサ１４及びＭＵＸ回路７１Ｄによって、制御され、１番目のデータが、ラッチ回路７１Ｂに格納される場合もある。
【０１７０】
インターフェイス回路４０からの制御信号（選択信号）ＲＥＯＳＥＬｎが、“Ｈ”レベルから“Ｌ”レベルになるタイミングで、ＦＩＦＯ回路１７１のラッチ回路７１Ａに格納された１６ビットのデータが、データ線ｆｉｆｏｌ１ｎ＜１５：０＞及びセレクタ７１Ｃを経由して、ＦＩＦＯ回路１７１から出力バスＤＯＵＴ＜１５：０＞に、出力される。例えば、制御信号ＲＥＯＳＥＬｎの１サイクルの期間において、１ステージに対応する１６ビットのデータが、出力バスＤＯＵＴ＜１５：０＞に出力されている。
【０１７１】
１６本のデータバスＩＯＢＵＳを介してページバッファ１２とＦＩＦＯ回路１７１との間でデータが転送され、クロックＲＥｎｘ（ＣＬＫｎ＜１：０＞），ＣＬＫＰ＜１：０＞が“Ｈ”レベルから“Ｌ”レベルに遷移するタイミングにおいて、ＦＩＦＯ回路１７１に格納されたデータとは異なる１６ビットのデータ（２番目のデータ）が、図９に示される上述の動作と同様に、出力バスＤＯＵＴ＜１５：０＞に出力される。  
ローカルＩ／Ｏ線ＸＢＵＳからの１６ビットのデータは、パイプユニットＰＵによってバッファリングされ、クロックＲＥｎｘ（ＣＬＫｎ＜１：０＞，ＣＬＫＰ＜１：０＞）が“Ｌ”から“Ｈ”に遷移するタイミングで、パイプ回路（ＰＩＰＥ２）１２５を経由してデータバスＩＯＢＵＳ＜１５：０＞に出力される。
【０１７２】
２番目の１６ビット単位のデータは、ＦＩＦＯ回路１７１内に格納された１番目の１６ビット単位のデータが出力バスＤＯＵＴに出力される動作とパラレルな動作で、ＭＵＸ回路７１Ｄを経由してＦＩＦＯ回路１７１のラッチ回路７１Ｂに、出力される。２番目のデータは、データバスＩＯＢＵＳ＜１５：０＞に接続されたラッチ回路７１Ｂに、内部クロックＣＬＫＰ＿ＦＢ＜１：０＞が“Ｌ”レベルの期間において、第２のステージのデータとして格納される。そして、セレクタ７１Ｃによる制御によって、ラッチ回路７１Ｂ内の格納された第２のステージのデータ（データ線ｆｉｆｏｌ２ｎ＜１５：０＞のデータ）は、データ線ｆｉｆｏｌ１ｎ＜１５：０＞の第１のステージのデータの出力が完了するまで、出力されず、保持される。
【０１７３】
そして、データ線ｆｉｆｏｌ１ｎ＜１５：０＞のデータの出力が完了した後、制御信号ＲＥＯＳＥＬｎの信号レベルが、“Ｌ”レベルの期間（又は“Ｈ”レベルから“Ｌ”レベルに遷移するタイミング）において、第２のステージ分のデータが、データ線ｆｉｆｏｌ２ｎ＜１５：０＞及びセレクタ７１Ｃを経由して、出力バスＤＯＵＴへ出力される。
【０１７４】
上述のページバッファ１２からデータ転送回路１７への１６ビット単位のデータの転送が、１つずつ選択される（活性化される）パイプ回路１２５を経由して、順次実行される。そして、ＦＩＦＯ方式で、１６ビット単位のデータが、Ｉ／Ｏパッド９０Ｂに接続された出力バスＤＯＵＴへ、連続して出力される。
【０１７５】
これによって、ＮＡＮＤモードのデータ読み出しにおいて、フラッシュメモリ１に記憶された１ページ分のデータが、フラッシュメモリ１の外部のメモリコントローラ／ホストデバイス２に、転送される。
【０１７６】
尚、ＮＡＮＤモードにおいて、データバスＩＯＢＵＳに出力されたデータは、ＥＣＣ回路２０に接続されたラッチ回路１７２内に、格納されない。
【０１７７】
本実施形態において、ＦＩＦＯ方式を用いて、データ転送することによって、データバス内のバッファ回路の段数を削減でき、動作のタイミング設計が容易になる。
【０１７８】
本実施形態において、ＮＡＮＤモードにおいて、３２本のデータバス＜３１：０＞が２組に分割されて、制御される。分割された１６本のデータバス＜３１：１６＞，＜１５：０＞毎に、交互にデータが出力される。このように、データバスＩＯＢＵＳが分散されて、駆動されることによって、フラッシュメモリのチップ内にＮＡＮＤモードと組込みＥＣＣモードとを共存できる。
【０１７９】
以上のように、本実施形態のフラッシュメモリがＮＡＮＤモードにおけるデータの読み出し動作が実行される。
【０１８０】
ＮＡＮＤモードにおける本実施形態のフラッシュメモリにおけるデータの書き込みは、以下のように実行される。尚、データの書き込みの動作に関して、データの読み出しと実質的に同じ動作については、必要に応じて説明する。
【０１８１】
データの書き込み時、書き込みコマンド、アドレス及び書き込むべきデータ（例えば、１ページ分のデータ）が、メモリコントローラ/ホストデバイス２からフラッシュメモリ１のインターフェイス回路４０に、入力される（図１参照）。
【０１８２】
書き込みコマンドに基づいて、ＮＡＮＤモードにおけるデータの書き込みのための制御信号（書き込みクロック）が、シーケンサ（ＲＴＬ回路）１４によって、生成される。
【０１８３】
書き込むべきデータは、コマンド及び制御信号に基づいて、インターフェイス回路４０からデータ転送回路１７へ転送され、データ転送回路１７内に格納される。
【０１８４】
データ転送回路１７に格納されたデータは、データバスＩＯＢＵＳを介して、ページバッファ１２に転送される。例えば、データバスＩＯＢＵＳからローカルＩ／Ｏ線ＸＢＵＳへのデータの転送は、トランスファーゲート（図示せず）を介して、行われる。
【０１８５】
各ローカルＩ／Ｏ線ＸＢＵＳに出力された１ビットのデータは、センス／ラッチユニット３０のセンスアンプ３０１及びデータラッチ３０２に、それぞれ格納される。ＮＡＮＤモードのデータ書き込み時において、データ転送回路１７からデータバスＩＯＢＵＳへのデータの出力は、１６ビット単位で実行されてもよいし、３２ビット単位で実行されてもよい。
【０１８６】
ページバッファ１２に対する１ページ分のデータの転送が完了するまで、所定のデータサイズのデータ転送が、順次繰り返される。
【０１８７】
シーケンサ１４の制御によって、書き込むべきデータに対応するように、ビット線ＢＬの電位が制御され、選択されたページに対応するワード線に、書き込み電圧が印加される。これによって、データに対応するページバッファ１２内に格納された１ページ分のデータが、メモリセルアレイ１０内の選択ページに、周知の動作（書き込み方法）によって、書き込まれる。
【０１８８】
以上のように、本実施形態のフラッシュメモリがＮＡＮＤモードにおけるデータの書き込み動作が実行される。
【０１８９】
以上の各動作によって、ＮＡＮＤモードにおいて、本実施形態のフラッシュメモリ１が駆動される。
【０１９０】
＜動作例２＞  
図１０及び図１１を用いて、本実施形態のフラッシュメモリにおける組込みＥＣＣモードについて説明する。ここでは、図１乃至図７を適宜用いて、組込みＥＣＣモードにおけるフラッシュメモリの動作について、説明する。尚、上述のＮＡＮＤモードと組込みＥＣＣモードとで共通の動作に関する説明は、必要に応じて行う。
【０１９１】
図４、図７及び図１０に示されるように、組込みＥＣＣモードにおいて、メモリコントローラ／ホストデバイス２からの制御信号に基づいて、内部クロックＡＣＬＫが、ＡＣＬＫジェネレータ（オシレータ）１６によって、フラッシュメモリ１のチップ８内部で生成される。
【０１９２】
生成された内部クロックＡＣＬＫは、インターフェイス回路４０及びページバッファ１２に供給される。  
内部クロックＡＣＬＫは、ＡＣＬＫジェネレータ１６からシーケンサ１４までのクロック線において、パージバッファ１２内のバッファ９１Ｂによってリバッファされる。リバッファされた内部クロックＡＣＬＫ＿ＢＮが、シーケンサ１４に供給される。
【０１９３】
内部クロックＣＬＫＰは、インターフェイス回路４０によって、内部クロックＡＣＬＫを用いて、生成される。内部クロックＣＬＫＰは、ページバッファ１２に供給される。
【０１９４】
内部クロックＡＣＬＫ，ＡＣＬＫ＿ＢＮに基づいて、ＥＣＣ回路２０に対する内部クロックＡＣＬＫ＿ＥＣＣが、シーケンサ１４によって生成される。  
組込みＥＣＣモードにおいて、制御信号ＴＲＡＮＳ＿ＯＮＥが、供給された内部クロックＡＣＬＫ＿ＢＮに基づいて、シーケンサ１４によって生成される。例えば、制御信号ＴＲＡＮＳ＿ＯＮＥは、内部クロックＡＣＬＫ＿ＢＮが入力され、内部クロックＡＣＬＫ＿ＢＮが“Ｈ”レベルに遷移するタイミングに応じて、生成される。制御信号ＴＲＡＮＳ＿ＯＮＥは、インターフェイス回路４０に入力される。
【０１９５】
制御信号ＴＲＡＮＳ＿ＯＮＥは、内部クロックＡＣＬＫの２回目の立ち上がり（“Ｌ”レベルから“Ｈ”レベルへの遷移）前のタイミングにおいて、最初の信号の立ち上がり（“Ｌ”レベルから“Ｈ”レベルへの遷移）を有している。
【０１９６】
内部クロックＡＣＬＫと制御信号ＴＲＡＮＳ＿ＯＮＥにおける信号の立ち上がり（“Ｈ”レベルへの遷移）が、ＥＣＣ回路２０の動作開始（ＥＣＣ処理の可能状態）の律速要因となる。それゆえ、動作の高速化のために、制御信号ＴＲＡＮＳ＿ＯＮＥの１回目の立ち上がりが、内部クロックＡＣＬＫの２回目の立ち上がりより先に設定されていることが好ましい。このような動作を律速するクロックの信号の遷移タイミングを考慮して、配線長の寄生抵抗及び寄生容量による遅延の影響を受けない範囲内において、ＥＣＣ回路２０が、データの転送経路から離れるように、メモリセルアレイ１と同じチップ８内にレイアウトされることが好ましい。
【０１９７】
図１１は、組込みＥＣＣモードにおけるローカルＩ／Ｏ線ＸＢＵＳからデータバスＩＯＢＵＳへのデータ転送のタイミングチャートを示している。
【０１９８】
図１１に示されるように、ＥＣＣモードにおいて、１つの回路ブロックＰＰを形成する２つのパイプ回路（バッファ回路）１２５（３２個のパイプユニットＰＵ）が同時に駆動され、３２ビットのデータが、各パイプユニットＰＵを経由して、３２本のローカルＩ／Ｏ線ＸＢＵＳ＜３１：０＞から３２本のデータバスＩＯＢＵＳ＜３１：０＞に転送される。
【０１９９】
３２組のローカルＩ／Ｏ線ＸＢＵＳ＜３１：０＞及びデータバスＩＯＢＵＳ＜３１：０＞に関して、各ローカルＩ／Ｏ線ＸＢＵＳに出力された１ビットのデータが、１つのパイプユニットＰＵを介して、各データバスＩＯＢＵＳに転送される。これによって、データバスＩＯＢＵＳに対する３２ビット単位のデータの転送が、実行される。
【０２００】
尚、ローカルＩ／Ｏ線ＸＢＵＳからデータバスＩＯＢＵＳへのデータを転送するための各パイプユニットＰＵの動作は、同時に駆動されるパイプユニットの個数が異なるのみで、上述のＮＡＮＤモードと同じであるため、ここでの説明は省略する。
【０２０１】
データバスＩＯＢＵＳ＜３１：０＞に出力された３２ビットのデータは、クロックＣＬＫＰ＿ＦＢ＜１：０＞に同期して、データ転送回路１７内のＥＣＣ回路２０用のラッチ回路１７２に格納される。
【０２０２】
例えば、内部クロックＣＬＫＰ＿ＦＢ＜１：０＞が、“Ｈ”レベルから“Ｌ”レベルに遷移するタイミングで、３２ビットのデータが、ラッチ回路１７２に格納され、データ転送回路１７とＥＣＣ回路２０との間のデータバス（ＥＣＣバス）ＥＣＣ＿ＲＷＢ＜３１：０＞に出力される。尚、ラッチ回路１７２からＥＣＣバスＥＣＣ＿ＲＷＢに対するデータ出力時、１本のデータバスＥＣＣ＿ＲＷＢ内に対して１ビットのデータが、それぞれ並列に出力される。
【０２０３】
上述のＮＡＮＤモードと同様に、組込みＥＣＣモードにおいても、チップ内部におけるクロックの流れ（伝送方向）とデータの流れとが、揃っている（図１３におけるＰＩＰＥ１２５→ＦＩＦＯ１７１，ＬＴＣ１７２）。
【０２０４】
ＥＣＣバスＥＣＣ＿ＲＷＢに順次出力された３２ビットのデータによって、１セクタ（５１２バイト）のデータが形成される。形成された１セクタのデータが、データの書き込み時に作成されたパリティデータに基づいて、ＥＣＣ回路２０によって誤りを含むか否か、検証される。
【０２０５】
ＥＣＣ回路２０に３２ビット単位で転送された１セクタのデータ内に、誤りが存在する場合、ＥＣＣ回路２０は、データ内の誤りを訂正する。誤りが訂正されたデータは、例えば、ＥＣＣバスＥＣＣ＿ＲＷＢ＜３１：０＞及びデータバスＩＯＢＵＳ＜３１：０＞を経由して、ＥＣＣ回路２０からページバッファ１２へ転送される。尚、１セクタのデータ内に誤りが存在しない場合、訂正処理は実行されない。
【０２０６】
ＥＣＣ回路２０によってＥＣＣ処理されたデータは、ページバッファ１２からデータ転送回路１７へ１６ビット単位で転送される。そして、上述のＮＡＮＤモードと同様に、ＦＩＦＯ方式によって、出力バスＤＯＵＴへ出力される。
【０２０７】
このように、本実施形態のフラッシュメモリが組込みＥＣＣモードで駆動される場合において、３２ビット単位のデータが、ＮＡＮＤモードで用いられるデータバスＩＯＢＵＳと共通のデータバスＩＯＢＵＳを経由して、ページバッファ１２からＥＣＣ回路２０へ転送される。
【０２０８】
尚、ＥＣＣ回路２０によってＥＣＣ処理されたデータは、ページバッファ１２又はデータ転送回路１７を経由せずに、ＥＣＣ回路２０から直接インターフェイス回路４０へ転送されてもよい。
【０２０９】
以上のように、本実施形態のフラッシュメモリが組込みＥＣＣモードにおけるデータの読み出し動作が実行される。
【０２１０】
組込みＥＣＣモードにおける本実施形態のフラッシュメモリにおけるデータの書き込みは、以下のように実行される。尚、組込みＥＣＣモードにおける書き込み動作において、上述の各動作を実質的に同じ動作に関する説明は、必要に応じて行う。
【０２１１】
データの書き込み時、コマンド、アドレス及び書き込むべきデータ（例えば、１ページ分のデータ）が、メモリコントローラ/ホストデバイス２からフラッシュメモリ１のインターフェイス回路４０に、入力される。
【０２１２】
組込みＥＣＣモードにおけるデータ読み出しと同様に、内部クロックＡＣＬＫが、ＡＣＬＫジェネレータ１６によって生成される。
【０２１３】
図７に示されるように、コマンドに基づいて、組み込みＥＣＣモードによるデータ書き込みのための制御信号（書き込みクロック）ＷＥｎ＿ＢＮが、シーケンサ（ＲＴＬ回路）１４によって、生成される。制御信号ＷＥｎ＿ＢＮは、インターフェイス回路４０に供給される。制御信号ＷＥｎ＿ＢＮは、インターフェイス回路４０によって、内部クロックＣＬＫＰに変換される。  
このように、組込みＥＣＣモードにおいて、データの書き込みのための制御信号（内部クロック）は、データの読み出しのための制御信号から独立する信号として、生成される。これによって、クロックバスの長さを、データバスの長さに対応するように、変化（調整）できる。
【０２１４】
書き込むべきデータは、コマンド、クロックＡＣＬＫ，ＣＬＫＰ（ＣＬＫＰ＿ＦＢ）及び制御信号ＷＥｎ＿ＢＮに基づいて、インターフェイス回路４０からページバッファ１２へ、データバスＩＯＢＵＳ及びデータ転送回路１７を介して、転送される。そして、３２ビット単位のデータが、ページバッファ１２からアクティブにされたラッチ回路１７２に転送され、ラッチ回路１７２内に格納される。尚、インターフェイス回路４０からＥＣＣ回路２０へのデータ転送は、データ転送回路１７からＥＣＣ回路２０へ、直接転送されてもよい。
【０２１５】
そして、内部クロックＡＣＬＫ＿ＥＣＣが、ＥＣＣ回路２０に供給されることによって、クロックＡＣＬＫ＿ＥＣＣに基づいて、ＥＣＣ回路２０がアクティブにされる。組み込みＥＣＣモードにおけるデータ書き込み時においても、組み込みＥＣＣモードにおけるデータ読み出しと同様に、データ転送回路１７のラッチ回路１７２とＥＣＣ回路２０と間において、３２ビット単位のデータが、転送される。
【０２１６】
ＥＣＣ回路２０は、データバスＥＣＣ＿ＲＷＤから供給されたデータに対して、パリティデータ（パリティビット）を生成する。例えば、５１２Ｂのデータに対して、４ビットのパリティビットが付加される。１つのページが、２ＫＢである場合、例えば、１ページ分のデータが４つのセクタに分割されて、ＥＣＣ処理（例えば、パリティデータの作成、又は、誤りの訂正）が制御される。
【０２１７】
書き込むべきデータ及びパリティデータは、データバスＩＯＢＵＳ及びデータ転送回路１７を経由してＥＣＣ回路２０からページバッファ１２へ転送される。書き込み時におけるデータ転送回路１７からページバッファ１２へのデータ転送において、例えば、３２ビット単位のデータが、トランスファゲート（図示せず）を経由してデータバスＩＯＢＵＳからローカルＩ／Ｏ線ＸＢＵＳへ出力される。ローカルＩ／Ｏ線ＸＢＵＳに出力されたデータが、センス／ラッチユニット３１内のセンスアンプ３０１及びデータラッチ３０２に格納される。
【０２１８】
３２ビット単位のデータが、ＥＣＣ回路２０に順次転送され、書き込まれるべきデータに対するパリティデータの作成が、所定のデータサイズ毎に、繰り返し実行される。  
そして、１ページ分のデータに対するパリティデータが作成され、１ページ分のデータがページバッファ１２に揃った後、メモリセルアレイ１０内の選択ページに、１ページ分のデータが、周知の動作によって、書き込まれる。
【０２１９】
以上のように、本実施形態のフラッシュメモリが組込みＥＣＣモードにおけるデータの書き込み動作が実行される。
【０２２０】
以上の各動作によって、組込みＥＣＣモードにおいて、本実施形態のフラッシュメモリ１が駆動される。
【０２２１】
（ｃ）  効果  
上述のように、本実施形態のフラッシュメモリは、２つの動作モードで駆動される。  
本実施形態のフラッシュメモリ及びその動作（制御方法／データ転送方法）において、ページバッファ１２からデータバスＩＯＢＵＳへ出力されるデータサイズが各動作モードで異なるが、ページバッファ１２からデータバスＩＯＢＵＳへデータを転送する動作は、実質的に同じであり、データ転送に用いられるデータバスＩＯＢＵＳは、各動作モードで共通である。
【０２２２】
本実施形態のフラッシュメモリ１のデータ読み出し時において、データバスＩＯＢＵＳを介したページバッファ１２とデータ転送回路１７との間のデータ転送は、送信側（出力側）となるページバッファ１２の１段のバッファ回路（パイプ）１２５，ＰＵと受信側（入力側）となるデータ転送回路１７の１段のラッチ回路７１Ａ，７１Ｂ，１７２によって、実行される。
【０２２３】
本実施形態のフラッシュメモリ１がＮＡＮＤモードで駆動されている場合、ページバッファ１２は、あるデータサイズのデータ、例えば、１６ビット単位のデータを、１６ビットに対応したパイプ回路（バッファ回路）１２５を介してデータバスＩＯＢＵＳに出力する。フラッシュメモリ１がＥＣＣモードで駆動されている場合、ページバッファ１２は、３２ビット単位のデータを、複数のパイプ回路１２５を介してデータバスＩＯＢＵＳに出力する。
【０２２４】
これによって、本実施形態のフラッシュメモリは、フラッシュメモリの内部構成及びその動作の制御が、複雑化するのを抑制できる。
【０２２５】
相補のＩ／Ｏ線（データ線）を用いるグローバルＩ／Ｏ線方式が用いられた場合、相補の関係の２本のＩ／Ｏ線が、各センス／ラッチユニット及びその内部のセンスアンプ／データラッチに接続される。  
グローバルＩ／Ｏ線方式が用いられる場合、相補のグローバルＩ／Ｏ線とデータバス（データ転送回路）との間に、カレントミラー型の差動センスアンプが、接続される場合がある。さらに、動作の制御及びタイミング調整のために、カレントミラー型の差動アンプに、タイマー、ラッチ及びトライステートバッファが接続される場合がある。
【０２２６】
さらに、パイプライン処理がデータ転送に用いられた場合、複数のバッファ回路が、グローバルＩ／Ｏ線に接続される。パイプライン処理のタイミング調整のために、各バッファ回路に、遅延回路が接続される。
【０２２７】
グローバルＩ／Ｏ線は配線長が比較的長く、相補のグローバルＩ／Ｏ線に接続される回路及び素子が比較的多いため、Ｉ／Ｏ線に生じる負荷（例えば、寄生容量及び寄生抵抗）も大きくなる傾向がある。
【０２２８】
Ｉ／Ｏ線に生じる負荷に起因した動作の遅延を緩和するために、インターリーブ動作又は同時選択動作（並列動作）を実行することによって、所定のスペックを満たすデータ転送速度でメモリを駆動させる場合がある。インターリーブ動作及び同時選択動作を実行するために、メモリに対して、配線、回路及び制御信号が追加される。この結果として、インターリーブ動作及び同時選択動作のための配線及び回路の占有面積が増大し、フラッシュメモリの動作の制御が複雑になる傾向がある。
【０２２９】
一方、本実施形態のフラッシュメモリ１において、ページバッファ１２とデータ転送回路１７とを接続するデータバスＩＯＢＵＳ，ＸＢＵＳにおいて、ワイヤードＯＲ Ｉ／Ｏ線方式が用いられている。
【０２３０】
本実施形態のフラッシュメモリにおいて、ワイヤードＯＲ Ｉ／Ｏ線方式を用いた場合、ページバッファ１２内の各センス／ラッチユニット３０に対して、１本のローカルＩ／Ｏ線ＸＢＵＳが接続される。そして、１本のローカルＩ／Ｏ線ＸＢＵＳとデータバスＩＯＢＵＳ（データ転送回路１７）との間に、１個のパイプユニット（バッファ）が、接続されている。
【０２３１】
本実施形態のように、ページバッファ１２のセンス回路１２１とパイプ回路１２５（パイプユニット）との接続にローカルＩ／Ｏ線方式が用いられ、パイプ回路１２５とデータバスＩＯＢＵＳとの接続にワイヤードＯＲ Ｉ／Ｏ線方式が用いられることによって、Ｉ／Ｏ線（データ線）の本数を削減できる。これによって、本実施形態のフラッシュメモリ１は、Ｉ／Ｏ線に接続される素子及び回路の個数を、削減でき、Ｉ／Ｏ線に生じる負荷を軽減できる。
【０２３２】
その結果として、本実施形態のフラッシュメモリ１は、Ｉ／Ｏ線の充電及び放電期間（信号レベルが遷移する期間）を短縮でき、フラッシュメモリの動作を高速化できる。
【０２３３】
本実施形態のフラッシュメモリ１は、動作の高速化に伴って、インターリーブ動作や同時選択動作を実行せずともよくなる。それゆえ、インターリーブ動作及び同時選択動作に用いられる配線（Ａｄｄ線）及び回路及び制御信号（Ａｄｄ信号）を、削減できる。
【０２３４】
したがって、本実施形態のフラッシュメモリは、Ｉ／Ｏ線に接続される回路／素子の個数、信号線の本数及び信号の個数を削減できるため、チップ８内における周辺回路領域８１及びＲＴＬ回路領域８２の面積及び密度の増大を抑制できる。周辺領域８１，８２の面積を小さくできることによって、メモリセルアレイ１０の面積を大きくできる、又は、チップサイズを小さくできる。
【０２３５】
配線の本数の削減、及び、配線に接続される回路／素子数の削減に伴って、本実施形態のフラッシュメモリ１は、電流の発生を抑制でき、フラッシュメモリの消費電力を低減できる。本実施形態のフラッシュメモリ１は、インターリーブ動作及び同時選択動作を実行せずともよくなるため、消費電力を低減できる。
【０２３６】
本実施形態のフラッシュメモリ１において、１段のパイプ回路１２５（及びパイプユニットＰＵ）を経由してデータバスＩＯＢＵＳに転送されたデータは、ＦＩＦＯ方式によって、データ転送回路１７からフラッシュメモリ１の外部へ転送される。
【０２３７】
本実施形態のフラッシュメモリ１のように、１段のパイプ回路１２５を介して供給されたデータが、ＦＩＦＯ方式で受信及び送信されることによって、動作のタイミング設計が比較的容易になる。ＦＩＦＯ方式を用いることによって、パイプ回路の段数を削減できる。そのため、本実施形態のフラッシュメモリ１は、チップ内の周辺回路の占有面積を小さくできる。本実施形態のように、ローカルＩ／Ｏ線ＸＢＵＳとデータバスＩＯＢＵＳとの間のパイプユニットＰＵが、データバスＩＯＢＵＳに対してワイヤードＯＲ化されていることも、回路面積の削減に貢献する。
【０２３８】
本実施形態のフラッシュメモリは、１段のパイプ回路１２５によるバッファリングとＦＩＦＯ方式によるデータ転送によって、多段のバッファを用いたデータ転送に比較して、消費電力を低減できる。
【０２３９】
チップ内におけるデータの流れ（進行方向）とクロックの流れが反対なる場合、タイミング設計が困難になる可能性がある。また、この場合、チップ内におけるＥＣＣ回路のレイアウトに制約が生じ、ＥＣＣ回路をデータの転送経路の近傍領域に設けるレイアウトになる。ＥＣＣ回路がデータの転送経路の近傍に設けられた場合、チップサイズの縮小を阻害する可能性がある。
【０２４０】
本実施形態において、ＥＣＣ回路２０が、メモリセルアレイ（メモリコア部）と同じチップ内に設けられている。組込みＥＣＣモードにおける制御信号及びクロックが、データの読み出しとデータの書き込み時とで互いに独立している。
【０２４１】
これによって、本実施形態のフラッシュメモリ１において、ＥＣＣ回路２０は、チップ内において、データの転送経路から離れた領域内に配置され、回路の面積密度が比較的低い領域内に配置できる。この結果として、訂正能力が比較的高い（面積が大きい）ＥＣＣ回路を、メモリセルアレイ１０と同じチップ内に設けることができる。訂正能力が高いＥＣＣ回路を含むフラッシュメモリを提供できることによって、フラッシュメモリの歩留まりを向上できる。
【０２４２】
本実施形態のフラッシュメモリ１のチップ内におけるＥＣＣ回路２０のレイアウトに関して、ＥＣＣ回路がデータの転送経路から離れた領域に設けられていることによって、チップ内におけるデータの流れ及び動作の基準となるクロックの流れを、同じ方向に進行させることができる。これによって、本実施形態において、フラッシュメモリ１の各回路間のタイミング設計を容易化でき、チップ内におけるＥＣＣ回路２０のレイアウトの自由度を向上できる。
【０２４３】
以上のように、本実施形態のフラッシュメモリは、比較的簡素な回路構成で、転送されるデータサイズの異なる２つの動作モードを、共通の回路及びデータバスを用いて、実行できる。
【０２４４】
本実施形態によれば、フラッシュメモリの特性／性能を向上できる。また、本実施形態によれば、フラッシュメモリの製造コストを低減できる。
【０２４５】
（ｄ）  応用例  
図１２及び図１３を参照して、本実施形態の半導体メモリ（例えば、フラッシュメモリ）について、説明する。
【０２４６】
図１２は、本実施形態のフラッシュメモリの応用例を示すフラッシュメモリのチップレイアウトの一例を示す図である。
【０２４７】
図１２に示されるように、フラッシュメモリ１Ｘの記憶容量が大きくされる場合、１つのチップ８に複数のメモリセルアレイ１０１，１０２が、設けられる。また、チップ内のメモリセルアレイの個数を増加させない場合、メモリセルアレイのページサイズ、ブロックサイズ又はブロックの個数を増加させることによって、フラッシュメモリ１Ｘの記憶容量を大きくできる。
【０２４８】
例えば、１つのメモリセルアレイが１ＧＢ（ギガバイト）の記憶容量を有する場合、図１２に示されるように、２つのメモリセルアレイ１０１，１０２が、１つのチップ８Ｘ内に形成されることによって、２ＧＢの記憶容量のフラッシュメモリ１Ｘが、提供される。
【０２４９】
複数のメモリセルアレイ１０１，１０２が１つのチップ内の設けられる場合、本実施形態において、複数のメモリセルアレイ１０１，１０２は、ロウ方向に互いに隣接するように、チップ８Ｘ内にレイアウトされる。
【０２５０】
メモリセルアレイ１０１，１０２毎に、ロウデコーダ１１１，１１２が、それぞれ設けられている。また、メモリセルアレイ１０１，１０２毎に、ページバッファ１２１，１２２が、それぞれ設けられている。
【０２５１】
このように、１つのチップ８Ｘ内に、２つのメモリコア（ＮＡＮＤコア）１０１，１１１，１２１，１０２，１１２，１２２が設けられ、２つのメモリコア１０１，１１１，１２１，１０２，１１２，１２２が、シーケンサ１４及びＥＣＣ回路２０などの各回路を共有する。
【０２５２】
パッド領域１４１が設けられたチップの辺とパッド領域に対向する辺との間に、２つのＮＡＮＤコアが設けられている。２つのメモリコア１０１，１１１，１２１，１０２，１１２，１２２は、ロウ方向に隣接するように、チップ８Ｘ内にレイアウトされる。ＥＣＣ回路２０は、パッド領域８０側のメモリコア１０１，１１１，１２１とパッド領域８０との間の領域内に、設けられている。
【０２５３】
１つのフラッシュメモリ１Ｘが複数のメモリコア１０１，１１１，１２１，１０２，１１２，１２２を有する場合においても、図２に示されるレイアウト例と同様に、ＥＣＣ回路２０は、データの転送経路（ページバッファ１２１，１２２とパッド領域８０との間の領域）から離れた領域に設けられ、ロウデコーダ１０１とパッド領域８０との間にレイアウトされている。ＥＣＣ回路２０は、チップ８Ｘ内の面積密度の低い領域、例えば、高電圧発生部領域１３０の近傍にレイアウトされている。
【０２５４】
図１３は、複数のメモリコアを含むフラッシュメモリ１Ｘにおけるデータ及び制御信号（クロック）の流れを模式的に示す図である。尚、図１３において、図９に示される構成と共通する構成に関する説明は、必要に応じて行う。
【０２５５】
図１３に示されるように、クロックバスＡＣＬＫ，ＣＬＫＰは、２つのメモリセルアレイ１０１，１０２にそれぞれ対応する２つのページバッファ１２１，１２２のうち、パッド領域８０とは反対側のページバッファ１２２を経由して、パッド領域８０側（データの出力側）のページバッファ１２１に、引き回されている。
【０２５６】
データバスＩＯＢＵＳは、２つのページバッファ１２１，１２２で共通化され、ページバッファ１２１を経由して、ページバッファ１２２からデータ転送回路１７へ延在する。
【０２５７】
本応用例のフラッシュメモリ１Ｘにおいて、各ページバッファ１２Ａ，１２Ｂからデータ転送回路１７へのデータの転送は、１段階のバッファ回路を介して実行され、ＦＩＦＯ方式によってデータが転送される。本応用例のフラッシュメモリ１Ｘにおいて、ＥＣＣ回路２０が、データ及びクロックの伝送経路から離れた位置に設けられている。そして、本応用例のフラッシュメモリ１Ｘにおいて、データの読み出しに用いられるクロック及びデータの書き込みに用いられるクロックが、互いに独立している。
【０２５８】
本応用例のフラッシュメモリ１Ｘのように、１つのチップ８Ｘ内に複数のメモリコア１０１，１１１，１２１，１０２，１１２，１２２が設けられている場合においても、ページバッファ１２１，１２２からデータ転送回路１７へ向かうように、データ転送時におけるデータの流れる方向とクロックの流れる方向が揃っている。それゆえ、データ転送時（データの読み出し時）、データと内部クロックＡＣＬＫ，ＣＬＫＰの両方が、ページバッファ１２１，１２２からデータ転送回路１７へ進行する。
【０２５９】
フラッシュメモリ１Ｘの記憶容量を大きくするために、１つのチップ内に複数のメモリコア（メモリセルアレイ１０１，１０２）が設けられている場合を考える。この場合、設計の効率化のために、図２に示されるような１つのチップ８内に１つのメモリコアが設けられた回路レイアウトに基づいて、図１２及び図１３に示されるように、複数のメモリコアを含むチップ８Ｘ内の回路レイアウトが設計されることが好ましい。
【０２６０】
フラッシュメモリの記憶容量が増大した場合において、データバスの配線長とクロックバスの配線長とは、相関関係を有して変化する。すなわち、複数のメモリセルアレイ（メモリコア）の搭載によってチップサイズが変更された場合において、チップサイズの変更に起因したデータバスの配線長の増大に追従して、クロックバスの配線長も長くなる。
【０２６１】
例えば、チップ内におけるデータの流れ（進行方向）とクロックの流れが反対なる場合、配線長の増大に起因する各回路間のタイミングの再設計が困難になる可能性がある。
【０２６２】
本応用例のフラッシュメモリ１Ｘのチップ８Ｘ内におけるレイアウトに関して、チップ内におけるデータの流れ及び動作の基準となるクロックの流れが同じ方向に進行するように、チップ内のレイアウトが設計されている。すなわち、フラッシュメモリ１Ｘはフラッシュメモリのパッド領域と反対側に複数のメモリコア１０２，１１２，１２２を配置したレイアウトになる。その結果として、クロックの配線（クロックバス）も、単にメモリコア１０２，１１２，１２２側に延長すればよい。
【０２６３】
それゆえ、本実施形態のフラッシュメモリは、図１２及び図１３に示されるようにフラッシュメモリの記憶容量の増大及びチップサイズの変更が生じたとしても、例えば、バッファ回路間のタイミング設計のような、複雑な再設計はほとんど行わなくともよくなる。また、本実施形態のフラッシュメモリは、メモリセルアレイ及び周辺回路のレイアウトの自由度も向上できる。
【０２６４】
したがって、本実施形態のフラッシュメモリは、本実施形態のフラッシュメモリの応用例に示されるように、上述の実施形態で述べた効果と同様の効果が得られるとともに、フラッシュメモリの設計効率を改善できるアーキテクチャを提供できる。
【０２６５】
［その他］  
本実施形態において、半導体メモリとして、フラッシュメモリを例示したが、本実施形態は、ＭＲＡＭ（Magnetoresistive RAM）、ＲｅＲＡＭ（Resistive RAM）及びＰＣＲＡＭ（Phase Change RAM）のようなメモリにも適用できる。
【０２６６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０２６７】
１：メモリセルアレイ、１１：ロウ制御回路、１２：ページバッファ、１４：シーケンサ、１５，１６：オシレータ、１７：データ転送回路、ＰＵ：バッファ（パイプユニット）、ＸＢＵＳ，ＩＯＢＵＳ，ＤＯＵＴ：データバス。
【図１】
2013232263.tif 000003
【図２】
2013232263.tif 000004
【図３】
2013232263.tif 000005
【図４】
2013232263.tif 000006
【図５】
2013232263.tif 000007
【図６】
2013232263.tif 000008
【図７】
2013232263.tif 000009
【図８】
2013232263.tif 000010
【図９】
2013232263.tif 000011
【図１０】
2013232263.tif 000012
【図１１】
2013232263.tif 000013
【図１２】
2013232263.tif 000014
【図１３】
2013232263.tif 000015