(57)【要約】【課題】データの読み出しとプログラムの連続動作を高速化する。【解決手段】メモリセルアレイ１は、複数のメモリセルが行及び列に配置され、前記メモリセルに接続される複数のワード線及び複数のビット線を有する。第１、第２のデータキャッシュＳＤＣ、ＰＤＣは、メモリセルアレイの選択されたメモリセルから読み出されたデータ、及びメモリセルアレイの選択されたメモリセルに書き込まれるデータを保持する。制御回路７は、読み出し動作時に、第１、第２のデータキャッシュを用いて第１のデータキャッシュに保持されたデータを演算して選択されたメモリセルに書き込むデータを生成する。【選択図】図５
2011222089.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルが行及び列に配置され、前記メモリセルに接続される複数のワード線及び複数のビット線を有するメモリセルアレイと、
前記メモリセルアレイの選択されたメモリセルから読み出されたデータ、及び前記メモリセルアレイの選択されたメモリセルに書き込まれるデータを保持する第１、第２のデータキャッシュと、
前記第１、第２のデータキャッシュを用いて、前記メモリセルアレイの選択されたメモリセルからデータを読み出す読み出し動作と、前記メモリセルアレイの選択されたメモリセルにデータを書き込む書き込み動作を制御する制御回路とを有し、
前記制御回路は、前記読み出し動作時に、前記第１、第２のデータキャッシュを用いて前記第１のデータキャッシュに保持されたデータを演算して前記選択されたメモリセルに書き込むデータを生成することを特徴とする半導体記憶装置。
【請求項２】
前記制御回路は、前記読み出し動作において、選択されたビット線の放電中に前記第１、第２のデータキャッシュを用いて前記選択されたメモリセルに書き込むデータを演算することを特徴とする請求項１記載の半導体記憶装置。
【請求項３】
前記制御回路は、前記第１のデータキャッシュに保持された書き込みデータを反転して前記第２のデータキャッシュに保持させることを特徴とする請求項１又は２記載の半導体記憶装置。
【請求項４】
前記制御回路は、前記メモリセルアレイの第１のアドレスから読み出されたデータを前記メモリセルアレイの第２のアドレスに書き込むコピー動作において、前記第１のアドレスに対応してメモリセルアレイの選択されたメモリセルからデータを読み出すとき、前記第１、第２のデータキャッシュを用いて、前記第１のアドレスより前に入力された第３のアドレスに書き込むデータを演算することを特徴とする請求項１乃至３のいずれかに記載の半導体記憶装置。
【請求項５】
前記第１、第２のデータキャッシュに接続された第３のデータキャッシュをさらに具備し、
前記制御回路は、前記読み出し動作時に、前記第１、第２、第３のデータキャッシュを用いて前記第１のデータキャッシュに保持されたデータを演算して前記選択されたメモリセルに書き込むデータを生成することを特徴とする請求項１乃至４のいずれかに記載の半導体記憶装置。
【請求項６】
メモリセルアレイの第１のメモリセルに書き込むデータを第１のデータキャッシュに保持し、
前記メモリセルアレイの第２のメモリセルのデータの読み出し動作時に、前記第１のデータキャッシュ、及び第２のデータキャッシュを用いて前記第１のデータキャッシュに保持されたデータを演算し、前記第１のメモリセルに書き込むデータを生成することを特徴とする半導体記憶装置の制御方法。
【請求項７】
前記読み出し動作において、前記第２のメモリセルに接続されたビット線の放電中に前記第１、第２のデータキャッシュを用いて前記第１のメモリセルに書き込むデータを演算することを特徴とする請求項６記載の半導体記憶装置の制御方法。
【請求項８】
前記演算は、前記第１のデータキャッシュに保持されたデータを反転して前記第２のデータキャッシュに保持させることを特徴とする請求項６又７は記載の半導体記憶装置の制御方法。
【請求項９】
前記演算は、前記メモリセルアレイの第２のメモリセルから読み出されたデータを前記メモリセルアレイの第１のメモリセルに書き込むコピー動作において、前記第２のメモリセルからデータを読み出すとき、前記第１、第２のデータキャッシュを用いて行われることを特徴とする請求項６乃至８のいずれかに記載の半導体記憶装置の制御方法。
【請求項１０】
前記第１、第２のデータキャッシュに接続された第３のデータキャッシュをさらに具備し、
前記演算は、前記第２のメモリセルからデータを読み出す読み出し動作時に、前記第１、第２、第３のデータキャッシュを用いて前記第１のデータキャッシュに保持されたデータを反転して前記第１のメモリセルに書き込むデータを生成することを特徴とする請求項６乃至９のいずれかに記載の半導体記憶装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、半導体記憶装置とその制御方法に関する。
【背景技術】
【０００２】
近時、ＮＡＮＤ型フラッシュメモリが多くの電子機器に使用されている。このＮＡＮＤ型フラッシュメモリは、例えば複数のブロックにより構成され、各ブロックは複数のページにより構成されている。各ページは複数のメモリセルにより構成されている。ＮＡＮＤ型フラッシュメモリにおいて、データの書き込み、及び読み出しはページ単位で行われる。
【０００３】
ところで、１つのブロック内において、あるページのデータをそのブロックの他のページにコピーすることが可能とされている（以下、ページコピーと称す）。ページコピー動作において、例えばあるページアドレスのデータが読み出され、この読み出されたデータが外部に転送される。
【０００４】
次いで、別のページアドレス、及び別のページアドレスに書き込むデータ（先のページアドレスから読み出されたデータ）が外部から入力される。このデータはＮＡＮＤ型フラッシュメモリ内において反転され、書き込みデータに変換される。この変換されたデータが別のページアドレスに書き込まれる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−２４３２０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記データの読み出しとプログラムの連続動作は長時間を要するため、この動作を高速化することが望まれている。
【課題を解決するための手段】
【０００７】
実施形態に係る半導体記憶装置において、メモリセルアレイは、複数のメモリセルが行及び列に配置され、前記メモリセルに接続される複数のワード線及び複数のビット線を有している。第１、第２のデータキャッシュは、メモリセルアレイの選択されたメモリセルから読み出されたデータ、及びメモリセルアレイの選択されたメモリセルに書き込まれるデータを保持する。制御回路は、第１、第２のデータキャッシュを用いて、メモリセルアレイの選択されたメモリセルからデータを読み出す読み出し動作と、メモリセルアレイの選択されたメモリセルにデータを書き込む書き込み動作を制御する。制御回路は、読み出し動作時に、第１、第２のデータキャッシュを用いて第１のデータキャッシュに保持されたデータを演算して選択されたメモリセルに書き込むデータを生成する。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態に係る半導体記憶装置を概略的に示す構成図。
【図２】図１の一部を示す回路図。
【図３】図２の一部を示す回路図。
【図４】一般的なページコピー動作を示す図。
【図５】第１の実施形態に係るページコピー動作を示す図。
【図６】図５の一部の動作を示すタイミング図。
【図７】第１の実施形態に係るページコピー動作を具体的に示す図。
【図８】図７に続くページコピー動作を具体的に示す図。
【図９】図８に続くページコピー動作を具体的に示す図。
【図１０】第２の実施形態を示すものであり、図３を変形した回路図。
【図１１】第２の実施形態に係るページコピー動作を具体的に示す図。
【図１２】図１１に続くページコピー動作を具体的に示す図。
【図１３】図１２に続くページコピー動作を具体的に示す図。
【発明を実施するための形態】
【０００９】
以下、実施の形態について、図面を参照して説明する。
【００１０】
（第１の実施形態）
図１は、メモリセルに例えば２値（１ビット）を記憶する半導体記憶装置としてのＮＡＮＤ型フラッシュメモリの構成を示している。
【００１１】
メモリセルアレイ１は、複数のビット線と複数のワード線と共通ソース線を含み、例えばＥＥＰＲＯＭセルからなる電気的にデータを書き換え可能なメモリセルがマトリクス状に配置されている。このメモリセルアレイ１には、ビット線を制御するためのビット制御回路２とワード線制御回路６が接続されている。
【００１２】
ビット線制御回路２は、ビット線を介してメモリセルアレイ１中のメモリセルのデータを読み出したり、ビット線を介してメモリセルアレイ１中のメモリセルの状態を検出したり、ビット線を介してメモリセルアレイ１中のメモリセルに書き込み制御電圧を印加してメモリセルにデータを書き込むなどの動作を行う。
【００１３】
ビット線制御回路２には、カラムデコーダ３、データ入出力バッファ４が接続されている。ビット線制御回路２内の後述するデータ記憶回路はカラムデコーダ３によって選択される。データ記憶回路に読み出されたメモリセルのデータは、前記データ入出力バッファ４を介してデータ入出力端子５から外部へ出力される。
【００１４】
また、データ入出力端子５は、メモリチップ外部から供給された各種コマンドＣＭＤ、アドレスＡＤＤ、及びデータＤＴを受ける。データ入出力端子５に入力された書き込みデータは、データ入出力バッファ４を介して、カラムデコーダ３によって選択されたデータ記憶回路に供給され、コマンド及びアドレスは制御信号及び制御電圧発生回路７に供給される。
【００１５】
ワード線制御回路６は、メモリセルアレイ１に接続されている。このワード線制御回路６は、メモリセルアレイ１中のワード線を選択し、選択されたワード線に読み出し、書き込みあるいは消去に必要な電圧を印加する。
【００１６】
メモリセルアレイ１、ビット線制御回路２、カラムデコーダ３、データ入出力バッファ４、及びワード線制御回路６は、制御信号及び制御電圧発生回路７に接続され、この制御信号及び制御電圧発生回路７によって制御される。制御信号及び制御電圧発生回路７は、制御信号入力端子８に接続され、ホストから制御信号入力端子８を介して入力される制御信号ＡＬＥ（アドレス・ラッチ・イネーブル）、ＣＬＥ（コマンド・ラッチ・イネーブル）、／ＷＥ（ライト・イネーブル）、／ＲＥ（リード・イネーブル）、Ｒ／Ｂ（レディ／ビジー）によって制御される。この制御信号及び制御電圧発生回路７は、例えばチャージポンプ回路のような昇圧回路を含み、データの書き込み時にワード線やビット線の電圧、及びデータ記憶回路を制御する制御信号などを発生する。
【００１７】
前記ビット線制御回路２、カラムデコーダ３、ワード線制御回路６、制御信号及び制御電圧発生回路７は書き込み回路、及び読み出し回路を構成している。
【００１８】
図２は、図１に示すメモリセルアレイ１及びビット線制御回路２の構成の一例を示している。メモリセルアレイ１には複数のＮＡＮＤユニットが配置されている。１つのＮＡＮＤユニットは、例えば直列接続された例えば６４個のＥＥＰＲＯＭからなるメモリセルＭＣと、選択ゲートＳ１、Ｓ２とにより構成されている。選択ゲートＳ２はビット線ＢＬ０ｅに接続され、選択ゲートＳ１はソース線ＳＲＣに接続されている。各ロウに配置されたメモリセルＭＣの制御ゲートはワード線ＷＬ０〜ＷＬ６３に共通接続されている。また、選択ゲートＳ２はセレクト線ＳＧＤに共通接続され、選択ゲートＳ１はセレクト線ＳＧＳに共通接続されている。
【００１９】
ビット線制御回路２は複数のデータ記憶回路１０を有している。各データ記憶回路１０には、一対のビット線（ＢＬ０ｅ、ＢＬ０ｏ）、（ＢＬ１ｅ、ＢＬ１ｏ）…（ＢＬｉｅ、ＢＬｉｏ）、（ＢＬｎｅ、ＢＬｎｏ）が接続されている。
【００２０】
メモリセルアレイ１は、破線で示すように、複数のブロックを含んでいる。各ブロックは、複数のＮＡＮＤユニットにより構成され、例えばこのブロック単位でデータが消去される。また、消去動作は、データ記憶回路１０に接続されている２本のビット線について同時に行なわれる。
【００２１】
また、ビット線の１つおきに配置され、１つのワード線に接続された複数のメモリセル（破線で囲まれた範囲のメモリセル）は、１ページを構成する。このページ毎にデータが書き込まれ、読み出される。すなわち、ロウ方向に配置された複数のメモリセルのうち半数のメモリセルが対応するビット線に接続される。このため、ロウ方向に配置された複数のメモリセルの半数ずつに対して書き込み又は読み出し動作が実行される。
【００２２】
データの読み出し動作、プログラムベリファイ動作及びプログラム動作時において、データ記憶回路１０に接続されている２本のビット線（ＢＬｉｅ、ＢＬｉｏ）のうち外部より供給されるアドレス信号（ＹＡ０、ＹＡ１…ＹＡｉ…ＹＡｎ）に応じて１本のビット線が選択される。さらに、外部アドレスに応じて、１本のワード線が選択され、破線で示す、１ページが選択される。
【００２３】
図３は、図１、図２に示すデータ記憶回路１０の一例を示す回路図である。
【００２４】
このデータ記憶回路１０は、例えばプライマリデータキャッシュ（ＰＤＣ）、セコンダリデータキャッシュ（ＳＤＣ）、テンポラリデータキャッシュ（ＴＤＣ）を有している。ＳＤＣ、ＰＤＣは、例えば書き込み時に入力データを保持し、読み出し時に読み出しデータを保持し、さらに、書き込みデータの変換演算など、内部データの操作に使用される。ＴＤＣは、データの読み出し時にビット線のデータを増幅し、一時的に保持するとともに、内部データの操作に使用される。
【００２５】
ＳＤＣは、ラッチ回路を構成するクロックドインバータ回路６１ａ、６１ｂ、及びトランジスタ６１ｃ、６１ｄにより構成されている。トランジスタ６１ｃはクロックドインバータ回路６１ａの入力端と、クロックドインバータ回路６１ｂの入力端の間に接続されている。このトランジスタ６１ｃのゲートには信号ＥＱ２が供給されている。トランジスタ６１ｄはクロックドインバータ回路６１ｂの出力端と接地間に接続されている。このトランジスタ６１ｄのゲートには信号ＰＲＳＴが供給されている。
【００２６】
ＳＤＣのノードＮ２ａは、カラム選択トランジスタ６１ｅを介して入出力データ線ＩＯに接続され、ノードＮ２ｂは、カラム選択トランジスタ６１ｆを介して入出力データ線ＩＯｎに接続されている。これらトランジスタ６１ｅ、６１ｆのゲートにはカラム選択信号ＣＳＬｉが供給されている。
【００２７】
ＳＤＣのノードＮ２ａは、トランジスタ６１ｇ、６１ｈを介してＰＤＣのノードＮ１ａに接続されている。トランジスタ６１ｇのゲートには信号ＢＬＣ２が供給され、トランジスタ６１ｈのゲートには信号ＢＬＣ１が供給されている。
【００２８】
ＰＤＣは、クロックドインバータ回路６１ｉ、６１ｊ及びトランジスタ６１ｋにより構成されている。トランジスタ６１ｋは、クロックドインバータ回路６１ｉの入力端とクロックドインバータ回路６１ｊの入力端の相互間に接続されている。このトランジスタ６１ｋのゲートには信号ＥＱ１が供給されている。
【００２９】
ＰＤＣのノードＮ１ｂはトランジスタ６１ｌのゲートに接続されている。このトランジスタ６１ｌの電流通路の一端はトランジスタ６１ｍを介して接地されている。このトランジスタ６１ｍのゲートには信号ＣＨＫ１が供給されている。また、トランジスタ６１ｌの電流通路の他端はトランスファーゲートを構成するトランジスタ６１ｎ、６１ｏの電流通路の一端に接続されている。このトランジスタ６１ｎのゲートには信号ＣＨＫ２ｎが供給されている。また、トランジスタ６１ｏのゲートは前記クロックドインバータ回路６１ａの出力端に接続されている。
【００３０】
トランジスタ６１ｎ、６１ｏの電流通路の他端には、配線ＣＯＭｉが接続されている。この配線ＣＯＭｉは全データ記憶回路１０に共通の配線であり、全データ記憶回路１０のベリファイが完了した場合、配線ＣＯＭｉの電位はハイレベルとなる。すなわち、ベリファイが完了すると、ＰＤＣのノードＮ１ｂがローレベルとなる。この状態において、信号ＣＨＫ１、ＣＨＫ２ｎをハイレベルとすると、ベリファイが完了している場合、配線ＣＯＭｉの電位はハイレベルとなる。
【００３１】
さらに、ＰＤＣのノードＮ１ｂは、トランジスタ６１ｖを介してＳＤＣのノードＮ２ｂに接続されている。このトランジスタ６１ｖのゲートには、信号Ｐ２ＳＧＡＴＥが供給されている。このトランジスタ６１ｖは、後述するように、ＰＤＣのデータとＳＤＣのデータの入れ換え動作に使用される。
【００３２】
一方、ＴＤＣは、例えばＭＯＳキャパシタ６１ｐにより構成されている。このキャパシタ６１ｐは、一端がトランジスタ６１ｇ、６１ｈの接続ノードＮ３に接続され、他端に信号ＢＯＯＳＴが供給される。
【００３３】
また、接続ノードＮ３には、トランジスタ６１ｑを介してトランジスタ６１ｒの一端が接続されている。トランジスタ６１ｑのゲートには、信号ＲＥＧが供給され、トランジスタ６１ｒの電流通路の他端には信号ＶＰＲＥが供給される。このトランジスタ６１ｒのゲートは、ＰＤＣのノードＮ１ａに接続されている。
【００３４】
さらに、接続ノードＮ３にはトランジスタ６１ｔ、６１ｕの電流通路の一端が接続されている。トランジスタ６１ｕの電流通路の他端には信号ＶＰＲＥが供給され、ゲートにはＢＬＰＲＥが供給されている。トランジスタ６１ｔのゲートには信号ＢＬＣＬＡＭＰが供給されている。このトランジスタ６１ｔの電流通路の他端はトランジスタ６１ｗを介してビット線ＢＬｏの一端に接続され、トランジスタ６１ｘを介してビット線ＢＬｅの一端に接続されている。
【００３５】
また、ビット線ＢＬｏの一端はトランジスタ６１ｙの電流通路の一端に接続されている。このトランジスタ６１ｙのゲートには信号ＢＩＡＳｏが供給されている。ビット線ＢＬｅの一端はトランジスタ６１ｚの電流通路の一端に接続されている。このトランジスタ６１ｚのゲートには信号ＢＩＡＳｅが供給されている。これらトランジスタ６１ｙ、６１ｚの電流通路の他端には、信号ＢＬＣＲＬが供給されている。トランジスタ６１ｙ、６１ｚは、信号ＢＩＡＳｏ、ＢＩＡＳｅに応じてトランジスタ６１ｗ、６１ｘと相補的にオンとされ、非選択のビット線に信号ＢＬＣＲＬの電位を供給する。
【００３６】
図３に示す各信号及び電圧は、図１に示す制御信号及び制御電圧発生回路７により生成され、この制御信号及び制御電圧発生回路７の制御に基づき、データ記憶回路１０の動作が制御される。
【００３７】
（一般的なページコピー動作）
図４を参照して、先ず、一般的なページコピー動作について説明する。図４では、例えば、ページアドレスＰＡ０、１、…のデータをそれぞれ、ページアドレスＰＡ１６、１７…にコピーする場合のデータの読み出しとプログラムの連続動作について示している。
【００３８】
図４（ａ）のコマンドＣＭＤの意味は、次の通りである。尚、“ｈ”は１６進数を示している。
【００３９】
“００ｈ−３０ｈ”は、リードコマンドであり、コマンド“００”と“３０”の間にリードアドレスが入力される。
【００４０】
“８Ｃｈ−１５ｈ”は、ページコピー中のデータキャッシュの操作を伴うオートプログラムコマンドであり、コマンド“８Ｃｈ”と“１５ｈ”との間にアドレスとデータが入力される。
【００４１】
“００ｈ−３Ａｈ”は、ページコピー中のデータ出力を伴うリードコマンドであり、コマンド“００”と“３Ａ”との間にリードアドレスが入力され、読み出されたデータが外部に出力される。
【００４２】
“８Ｃｈ−１０ｈ”は、ページコピー中の最後のページのオートプログラムコマンドであり、コマンド“８Ｃｈ”と“１５ｈ”との間にアドレスとデータが入力される。
【００４３】
図４（ａ）は、ページコピー動作のタイミングを示し、図４（ｂ）〜図４（ｇ）は、メモリセルアレイＭＣＡ、ページバッファＰＢ、データキャッシュＤＣの動作を示している。
【００４４】
図４（ａ）において、コマンドＣＭＤは、メモリチップ外部から供給されるコマンドを示し、状態Ｓｔａｔｅは、データ記憶回路１０内部の動作状態を示している。アドレスＡｄｄは、メモリセルアレイのアドレスを示し、Ｒ／Ｂはレディ／ビジー信号を示し、この信号がローレベルの場合ビジーであることを示している。ＲＥ／ＷＥは、リード・イネーブル／ライト・イネーブルのトグルされる期間を示している。
【００４５】
図４（ｂ）〜図４（ｇ）において、ページバッファＰＢは、１ページ分のデータ記憶回路１０のＰＤＣにより構成され、データキャッシュＤＣは、１ページ分のデータ記憶回路１０のＳＤＣにより構成されている。
【００４６】
図４（ａ）（ｂ）に示すように、ページコピーにおいて、先ず、リードコマンド“００ｈ−３０ｈ”に基づき、Ｒ／Ｂがローレベル（ビジー）となると、メモリセルアレイＭＣＡからページアドレスＰＡ０のデータが読み出される。この読み出されたデータは、ページバッファＰＢを介してデータキャッシュＤＣに転送される。この後、Ｒ／Ｂがハイレベル（レディ）となると、データキャッシュＤＣのデータが外部に転送される（図４（ｃ））。
【００４７】
次に、コマンド“８Ｃｈ−１５ｈ”に基づき、ページアドレスＰＡ１６及びページアドレスＰＡ１６に書き込むデータＤｉｎ１６が供給され、このデータＤｉｎ１６はデータキャッシュＤＣに入力される（図４（ｄ））。このデータＤｉｎ１６は、例えば、ページアドレスＰＡ０から外部に読み出されたデータＤｏｕｔ０である。ＮＡＮＤ型フラッシュメモリ外部のコントローラ等に搭載されたＥＣＣ（Error Checking and Correcting）回路でデータＤｏｕｔ０の誤り訂正が行われる場合、誤り訂正後のデータをデータＤｉｎ１６として入力しても良い。
【００４８】
次いで、Ｒ／Ｂがローレベルとなると、データキャッシュＤＣのデータＤｉｎ１６が反転されてページバッファＰＢに転送される（図４（ｅ））。すなわち、入力データの反転演算が行われ、書き込みデータ／Ｄｉｎ１６が生成される。データＤｉｎ１６が反転されてページバッファＰＢに転送されると、Ｒ／Ｂがハイレベルになる。
【００４９】
この後、コマンド“００ｈ−３Ａｈ”に基づき、メモリセルアレイＭＣＡからページアドレスＰＡ１のデータＤｏｕｔ１がページバッファＰＢに読み出される。具体的には、ページバッファＰＢの書き込みデータ／Ｄｉｎ１６がデータキャッシュＤＣに転送され、メモリセルアレイＭＣＡから読み出されたデータＤｏｕｔ１がページバッファＰＢに保持される。
【００５０】
さらに、ページバッファＰＢのデータＤｏｕｔ１とデータキャッシュＤＣの書き込みデータ／Ｄｉｎ１６が入れ替えられ、ページバッファＰＢの書き込みデータ／Ｄｉｎ１６がメモリセルアレイＭＣＡに書き込まれる。この書き込みデータ／Ｄｉｎ１６がメモリセルアレイＭＣＡに書き込まれている間に、データキャッシュＤＣのデータＤｏｕｔ１が出力される（図４（ｆ））。
【００５１】
次いで、コマンド“８Ｃｈ−１５ｈ”に基づき、アドレスＰＡ１７に書き込むデータＤｉｎ１７がデータキャッシュＤＣに入力される（図４（ｇ））。このデータＤｉｎ１７は、例えばページアドレスＰＡ１から外部に読み出されたデータＤｏｕｔ１である。ＮＡＮＤ型フラッシュメモリ外部のコントローラ等に搭載されたＥＣＣ（Error Checking and Correcting）回路でデータＤｏｕｔ１の誤り訂正が行われる場合、誤り訂正後のデータをデータＤｉｎ１７として入力しても良い。
【００５２】
以下、上記と同様にして、ページコピー動作が実行される。
【００５３】
図４に示すページコピー動作の場合、図４（ｄ）（ｅ）に示す入力データＤｉｎ１６を書き込みデータ／Ｄｉｎ１６に変換するための演算の後、次のページアドレスＰＡ１に対する読み出し動作が行われ、次いで、書き込みデータ／Ｄｉｎ１６のプログラムが実行されている。すなわち、図４に示すページコピー動作の場合、「演算−読み出し−プログラム」とういう動作が繰り返される。このため、データの読み出し、プログラムを繰り返すページコピー動作において、入力データを書き込みデータに変換するための演算時間が余計にかかっている。
【００５４】
（第１の実施形態のページコピー動作）
そこで、第１の実施形態のページコピー動作は、入力データを書き込みデータに変換するための演算をデータの読み出し動作の間に、読み出し動作と同時に行うことにより、ページコピー動作の時間を短縮可能としている。
【００５５】
図５は、第１の実施形態のページコピー動作を示している。図５では、図４と同様に、例えば、ページアドレスＰＡ０、１、…のデータをそれぞれ、ページアドレスＰＡ１６、１７…にコピーする場合のデータの読み出しとプログラムの連続動作について示している。
【００５６】
図５（ａ）（ｂ）に示すように、ページコピーにおいて、先ず、リードコマンド“００ｈ−３０ｈ”に基づき、Ｒ／Ｂがローレベル（ビジー）となると、メモリセルアレイＭＣＡからページアドレスＰＡ０のデータが読み出される。この読み出されたデータは、ページバッファＰＢを介してデータキャッシュＤＣに転送される。この後、Ｒ／Ｂがハイレベル（レディ）となると、データキャッシュＤＣのデータが外部に転送される（図５（ｃ））。
【００５７】
次に、コマンド“８Ｃｈ−１５ｈ”に基づき、ページアドレスＰＡ１６及びページアドレスＰＡ１６に書き込むデータＤｉｎ１６が供給され、このデータＤｉｎ１６はデータキャッシュＤＣに入力される（図５（ｄ））。このデータＤｉｎ１６は、例えばページアドレスＰＡ０から外部に読み出されたデータＤｏｕｔ０である。ＮＡＮＤ型フラッシュメモリ外部のコントローラ等に搭載されたＥＣＣ（Error Checking and Correcting）回路でデータＤｏｕｔ０の誤り訂正が行われる場合、誤り訂正後のデータをデータＤｉｎ１６として入力しても良い。
【００５８】
次いで、Ｒ／Ｂが一端ローレベルとされた後、ハイレベルとされ、プリセットが実行される。具体的には、Ｒ／Ｂがローレベルの期間中に、ページアドレスＰＡ１６をＮＡＮＤ型フラッシュメモリ内部のアドレスレジスタに取り込む動作が行われる。この後、コマンド“００ｈ−３Ａｈ”に基づき、ページアドレスＰＡ１のデータＤｏｕｔ１の読み出しが開始されると、データキャッシュＤＣのデータＤｉｎ１６が反転されて、ページバッファＰＢに転送される（図５（ｅ））。すなわち、入力データの反転演算が、データの読み出し動作と同時に行われ、書き込みデータ／Ｄｉｎ１６が生成される。次に、ページバッファＰＢの書き込みデータ／Ｄｉｎ１６がデータキャッシュＤＣに転送されるとともに、メモリセルアレイＭＣＡから読み出されたデータＤｏｕｔ１がページバッファＰＢに保持される。
【００５９】
この後、ページバッファＰＢのデータＤｏｕｔ１とデータキャッシュＤＣの書き込みデータ／Ｄｉｎ１６が入れ替えられ、ページバッファＰＢの書き込みデータ／Ｄｉｎ１６がメモリセルアレイＭＣＡに書き込まれる。この書き込みデータ／Ｄｉｎ１６がメモリセルアレイＭＣＡに書き込まれている間に、データキャッシュＤＣのデータＤｏｕｔ１が出力される（図５（ｆ））。
【００６０】
次いで、コマンド“８Ｃｈ−１５ｈ”に基づき、アドレスＰＡ１７に書き込むデータＤｉｎ１７がデータキャッシュＤＣに入力される（図５（ｇ））。このデータＤｉｎ１７は、例えばページアドレスＰＡ１から外部に読み出されたデータＤｏｕｔ１である。ＮＡＮＤ型フラッシュメモリ外部のコントローラ等に搭載されたＥＣＣ（Error Checking and Correcting）回路でデータＤｏｕｔ１の誤り訂正が行われる場合、誤り訂正後のデータをデータＤｉｎ１７として入力しても良い。
【００６１】
以下、上記と同様にして、ページコピー動作が実行される。
【００６２】
図５に示すページコピー動作の場合、図５（ｄ）（ｅ）に示す入力データＤｉｎ１６を書き込みデータ／Ｄｉｎ１６に変換するための演算を、ページアドレスＰＡ１の読み出し動作中に行っている。すなわち、図５に示すページコピー動作の場合、「読み出し（演算）−プログラム」という動作が繰り返される。このため、入力データを書き込みデータに変換するための演算時間（図４でコマンド“８Ｃｈ−１５ｈ”入力後のＳｔａｔｅ「ＥＸ」期間）を省略することができる。したがって、ページコピー動作の時間を短縮することが可能である。
【００６３】
図６は、ページコピー動作におけるデータ読み出し動作を示すものであり、ビット線の充電／放電と、データ記憶回路１０の各部の電位を示し、図７、図８は、データ読み出し時におけるデータ記憶回路１０の演算動作を概略的に示している。
【００６４】
図６、図７（ａ）に示すように、データの読み出し時、メモリセルアレイの選択ゲートＳ２のセレクト線ＳＧＤの電位は、ＶＳＧに設定され、選択ゲートＳ１のセレクト線ＳＧＳはＶＳＳ（接地電位）に設定される。選択ワード線は、リードレベルＶＣＧに設定され、非選択ワード線は、ＶＲＥＡＤ（最も閾値電圧が高いセルをオンとすることができる電位）に設定される。
【００６５】
一方、データキャッシュＤＣを構成するＳＤＣにはデータＤｉｎ１６が保持されている。
【００６６】
この状態において、トランジスタ６１ｕの電流経路の他端に供給される信号ＶＰＲＥが例えばＶＤＤに設定され、トランジスタ６１ｕ、６１ｔ、６１ｘ、６１ｙのゲートに供給される信号ＢＬＰＲＥ、ＢＬＣＬＡＭＰ、ＢＬＳＥ、ＢＩＡＳＯがそれぞれＶＣＬＡＭＰ、例えばＶＤＤ＋Ｖｔｈ（ＮチャネルＭＯＳトランジスタの閾値電圧）に設定され、トランジスタ６１ｇのゲートに供給される信号ＢＬＣ２、トランジスタ６１ｈのゲートに供給される信号ＢＬＣ１、トランジスタ６１ｑのゲートに供給される信号ＲＥＧ、トランジスタ６１Ｗのゲートに供給される信号ＢＬＳ０、トランジスタ６１ｚのゲートに供給される信号ＢＩＡＳＥ、トランジスタ６１ｖのゲートに供給される信号Ｐ２ＳＧＡＴＥが、それぞれローレベル（例えばＶＳＳ）に設定される。このため、トランジスタ６１ｕ、６１ｔ、６１ｘ以外のトランジスタはオフしている。しがたって、トランジスタ６１ｕ、６１ｔ、６１ｘを介してビット線ＢＬｅがＶＤＤに充電される。
【００６７】
次いで、図６、図７（ｂ）に示すように、セレクト線ＳＧＳがＶＳＧに設定され、信号ＶＰＲＥ、ＢＬＰＲＥ、ＢＬＣＬＡＭＰがそれぞれＶＳＳに設定される。このため、トランジスタ６１ｕ、６１ｔがオフとされてビット線とＴＤＣが切り離される。これとともに、選択ゲートＳ１にＶＡＧが供給され、選択ゲートＳ１がオンとされてビット線の放電経路が形成される。この状態において、選択セルの閾値電圧がリードレベルＶＣＧより高い場合、セルはオフし、ビット線の電位が保持される。また、選択セルの閾値電圧がリードレベルＶＣＧより低い場合セルがオンし、ビット線の電荷が選択ゲートＳ１を介してソース線に放電される。
【００６８】
図６、図７（ｃ）に示すように、ビット線の放電中に、信号ＢＬＣ１、ＢＬＣ２が例えばＶＤＤに設定され、ＳＤＣに保持されたデータＤｉｎ１６がＰＤＣに転送される。
【００６９】
次に、図８（ａ）に示すように、信号ＢＬＣ２がＶＳＳ、信号ＶＰＲＥがＶＤＤ、信号ＢＬＰＲＥがＶＤＤ＋Ｖｔｈに設定され、トランジスタ６１ｕを介してＴＤＣがＶＤＤに充電される。
【００７０】
次いで、図８（ｂ）に示すように、信号ＶＰＲＥ、信号ＢＬＰＲＥがＶＳＳに設定され、信号ＲＥＧがＶＤＤに設定され、トランジスタ６１ｒに供給される信号ＶＰＲＥがＶＳＳに設定される。この状態において、ＰＤＣがハイレベル（例えばＶＤＤ）の場合、トランジスタ６１ｒがオンするため、ＰＤＣ、ＴＤＣの電荷がトランジスタ６１ｈ、６１ｑ、６１ｒを介して抜かれる。したがって、ＰＤＣはローレベルに反転される。また、ＰＤＣがローレベルの場合、トランジスタ６１ｒがオフするため、トランジスタ６１ｈを介してＴＤＣの電荷がＰＤＣに転送され、ＰＤＣはハイレベルに反転される。
【００７１】
この後、図８（ｃ）に示すように、信号ＢＬＣ２がＶＤＤに設定され、トランジスタ６１ｈ、６１ｇを介してＰＤＣのデータがＳＤＣに転送される。
【００７２】
このように、データの読み出し時、ビット線の放電中にＳＤＣのデータをＰＤＣに転送し、ＰＤＣのデータを反転してＳＤＣに転送することができる。
【００７３】
次いで、信号ＢＬＣ２がＶＳＳに設定され、信号ＢＬＣＬＡＭＰがＶＤＤ＋Ｖｔｈに設定されてビット線の電位がＴＤＣに取り込まれる。このＴＤＣの電位がトランジスタ６１ｈを介してＰＤＣに転送される。このようにして、メモリセルから読み出されたデータＤｏｕｔ１はＰＤＣに保持される。
【００７４】
図９は、図５（ａ）に示すプログラム前にＳＤＣのデータとＰＤＣのデータを入れ換え、ＳＤＣにデータＤｏｕｔ１を設定し、ＰＤＣに書き込みデータ／Ｄｉｎ１６を設定する動作を示している。
【００７５】
図９（ａ）に示すように、先ず、トランジスタ６１ｇのゲートに供給される信号ＢＬＣ２が例えばＶＤＤに設定される。このため、トランジスタ６１ｇがオンとされ、ＳＤＣに保持されたデータ／Ｄｉｎ１６がトランジスタ６１ｇを介してＴＤＣに転送される。このとき、トランジスタ６１ｈ、６１ｑ、６１ｔ、６１ｕ、６１ｖは、オフ状態とされている。
【００７６】
次に、図９（ｂ）に示すように、トランジスタ６１ｇのゲートに供給される信号ＢＬＣ２が例えばＶＳＳに設定され、トランジスタ６１ｖのゲートに供給される信号Ｐ２ＳＧＡＴＥが例えばＶＤＤに設定される。このため、トランジスタ６１ｇがオフとされ、トランジスタ６１ｖがオンとされる。この状態において、ＰＤＣに保持されたデータＤｏｕｔ１がＳＤＣに転送される。
【００７７】
この後、トランジスタ６１ｖのゲートに供給される信号Ｐ２ＳＧＡＴＥがＶＳＳに設定され、トランジスタ６１ｈのゲートに供給される信号ＢＬＣ１がＶＤＤに設定される。このため、トランジスタ６１ｖがオフとされ、トランジスタ６１ｈがオンとされる。この状態において、ＴＤＣに保持された書き込みデータ／Ｄｉｎ１６がトランジスタ６１ｈを介してＰＤＣに転送される。このような動作により、ＰＤＣに書き込みデータ／Ｄｉｎ１６が設定され、ＳＤＣにデータＤｏｕｔ１が設定される。
【００７８】
上記第１の実施形態によれば、データの読み出し動作中で、ビット線の放電実行中に、入力データを反転して書き込みデータを生成する演算動作を行っている。このため、書き込みデータを演算に要する時間を別途必要としない。したがって、データの読み出し及びプログラムが繰り返されるページコピー動作の時間を短縮することができる。
【００７９】
また、ビット線の放電中に書き込みデータを演算してＳＤＣに保持させている。このため、ビット線の放電後、メモリセルから読み出されたデータを、ＰＤＣに即保持させることができる。このため、読み出し動作自体の時間が長くなることを防止でき、ページコピー動作の時間を短縮することが可能である。
【００８０】
（第２の実施形態）
図１０は、第２の実施形態に適用されるデータ記憶回路１０の一例を示している。第２の実施形態は、１つのセルに例えば２ビット（４値）のデータを記憶する場合を示しており、図１０において、図３と同一部分には同一符合を付している。
【００８１】
図１０において、図３と異なるのは、ＰＤＣとトランジスタ６１ｑの間にダイナミックデータラッチ回路（ＤＤＣ）が設けられていることである。このＤＤＣは、トランジスタ６１ｒ、６１ｓにより構成されている。トランジスタ６１ｒの電流通路の一端には信号ＶＰＲＥが供給され、他端は前記トランジスタ６１ｑの電流通路に接続されている。トランジスタ６１ｒのゲートはトランジスタ６１ｓを介して前記ＰＤＣのノードＮ１ａに接続されている。このトランジスタ６１ｓのゲートには信号ＤＴＧ０が供給されている。ＤＤＣは、例えばベリファイ時に一時的にデータを保持し、多値データを記憶する際に内部データの操作に使用される。
【００８２】
図１１、図１２は、図９に示すデータ記憶回路を用いた入力データを書き込みデータに変換するための変換動作を示している。この変換動作は、基本的に図７、図８の動作と同様である。
【００８３】
先ず、図１１（ａ）に示すように、信号ＢＬＣ２、ＢＬＣ１、ＲＥＧ、ＤＴＧ、ＢＬＳＯ，ＢＩＡＳＥがＶＳＳとされてトランジスタ６１ｇ、６１ｈ、６１ｑ、６１ｓ、６１ｗ、６１ｚがオフされた状態において、信号ＢＬＰＲＥ、ＢＬＣＬＡＭＰ、ＢＬＳＥ、ＢＩＡＳＯが例えばＶＤＤ＋Ｖｔｈに設定されてトランジスタ６１ｕ、６１ｔ、６１ｘ、６１ｙがオンとされ、ビット線がＶＤＤに充電される。また、信号ＢＩＡＳＯが例えばＶＤＤ＋Ｖｔｈに設定され、トランジスタ６１ｙがオンとされて非選択ビット線に信号ＢＬＣＲＬ（ＶＤＤ）が供給される。
【００８４】
次いで、図１１（ｂ）に示すように、トランジスタ６１ｔ、６１ｕがオフとされてＴＤＣがビット線から切り離され、選択ゲートＳ２がオンとされてビット線の電位がソース線に放電される。
【００８５】
図１１（ｃ）に示すように、ビット線の放電中に信号ＢＬＣ２、ＢＬＣ１がＶＤＤとされ、トランジスタ６１ｇ、６１ｈがオンとされる。このため、ＳＤＣに保持された入力データＤｉｎ１６がＰＤＣに転送される。
【００８６】
この後、図１２（ａ）に示すように、信号ＢＬＣ２がＶＳＳとされてトランジスタ６１ｇがオフとされる。また、信号ＢＬＰＲＥがＶＤＤ＋Ｖｔｈ、信号ＶＰＲＥがＶＤＤとされて、トランジスタ６１ｕを介してＴＤＣがＶＤＤに設定される。
【００８７】
次いで、図１２（ｂ）に示すように、信号ＢＬＰＲＥ、及びＶＰＲＥがＶＳＳとされ、トランジスタ６１ｕがオフとされる。また、信号ＲＥＧ、ＤＴＧが例えばＶＤＤとされ、トランジスタ６１ｑ、６１ｓがオンとされる。
【００８８】
ＰＤＣのデータがハイレベルの場合、トランジスタ６１ｒのゲートはトランジスタ６１ｓを介してハイレベルとなる。このため、トランジスタ６１ｒがオンする。したがって、ＴＤＣ及びＰＤＣの電荷がトランジスタ６１ｑ、６１ｒ、６１ｈを介してＶＰＲＥ＝ＶＳＳに放電される。このため、ＰＤＣのデータがローレベル反転される（／Ｄｉｎ１６）。
【００８９】
また、ＰＤＣのデータがローレベルの場合、トランジスタ６１ｒのゲートはトランジスタ６１ｓを介してローレベルとなる。このためトランジスタ６１ｒはオフしている。したがって、ＴＤＣの電荷がトランジスタ６１ｈを介してＰＤＣに供給され、ＰＤＣはハイレベルに反転される（／Ｄｉｎ１６）。
【００９０】
この後、信号ＲＥＧ、ＤＴＧがＶＳＳに設定され、トランジスタ６１ｑ、６１ｓがオフとされ、信号ＢＬＣ２がＶＤＤに設定される。このため、ＰＤＣのデータがトランジスタ６１ｈ、６１ｇを介してＳＤＣに転送される。
【００９１】
このように、データの読み出し時、ビット線の放電中にＳＤＣのデータをＰＤＣに転送し、ＰＤＣのデータを反転してＳＤＣに転送することができる。
【００９２】
次いで、信号ＢＬＣ２がＶＳＳに設定され、信号ＢＬＣＬＡＭＰがＶＤＤ＋Ｖｔｈに設定されてビット線の電位がＴＤＣに取り込まれる。このＴＤＣの電位がトランジスタ６１ｈを介してＰＤＣに転送される。このようにして、メモリセルから読み出されたデータＤｏｕｔ１はＰＤＣに保持される。
【００９３】
図１３は、図５（ａ）に示すプログラム前にＳＤＣのデータとＰＤＣのデータを入れ換え、ＳＤＣにデータＤｏｕｔ１を設定し、ＰＤＣに書き込みデータ／Ｄｉｎ１６を設定する動作を示している。
【００９４】
図１３（ａ）に示すように、先ず、トランジスタ６１ｓのゲートに供給される信号ＤＴＧが例えばＶＤＤに設定される。このため、トランジスタ６１ｓがオンとされ、ＰＤＳに保持されたデータＤｏｕｔ１がトランジスタ６１ｓを介してＤＤＣを構成するトランジスタ６１ｒのゲートに転送される。このとき、トランジスタ６１ｇ，６１ｈ、６１ｑ、６１ｔ、６１ｕは、オフ状態とされている。また、トランジスタ６１ｒの電流経路の他端は例えばＶＳＳに設定されている。
【００９５】
次に、図１３（ｂ）に示すように、トランジスタ６１ｓのゲートに供給される信号ＤＴＧが例えばＶＳＳに設定され、トランジスタ６１ｇのゲートに供給される信号ＢＬＣ２、及びトランジスタ６１ｈのゲートに供給される信号ＢＬＣ１が例えばＶＤＤに設定される。このため、トランジスタ６１ｓがオフとされ、トランジスタ６１ｇ、６１ｈがオンとされる。この状態において、ＳＤＣに保持されたデータＤｉｎ１６がＰＤＣに転送される。
【００９６】
この後、図１３（ｃ）に示すように、トランジスタ６１ｈのゲートに供給される信号ＢＬＣ１がＶＳＳに設定され、トランジスタ６１ｈがオフとされる。次いで、トランジスタ６１ｕのゲートに供給されるＢＬＰＲＥが例えばＶＤＤに設定され、このトランジスタ６１ｕの電流経路の他端に供給される信号ＶＰＲＥがＶＳＳに設定される。このため、トランジスタ６１ｕがオンしてＴＤＣがＶＳＳに設定される。
【００９７】
次いで、図１３（ｄ）に示すように、トランジスタ６１ｕのゲートに供給される信号ＢＬＰＲＥがＶＳＳに設定されてトランジスタ６１ｕがオフとされる。この後、トランジスタ６１ｒの電流経路の他端に供給される信号ＶＰＲＥがＶＤＤに設定され、トランジスタ６１ｑのゲートに供給される信号ＲＥＧがＶＤＤ＋Ｖｔｈに設定される。このため、トランジスタ６１ｑがオンとされる。この状態において、トランジスタ６１ｒのゲート（ＤＤＣ）がハイレベル（Ｄｏｕｔ１）である場合、トランジスタ６１ｒがオンする。このため、トランジスタ６１ｒ、６１ｑ、ＴＤＣ、６１ｇを介してＳＤＣがハイレベル（Ｄｏｕｔ１）に設定される。一方、トランジスタ６１ｒのゲート（ＤＤＣ）がローレベル（Ｄｏｕｔ１）である場合、トランジスタ６１ｒがオフする。このため、ＴＤＣの電位ＶＳＳがＳＤＣにＤｏｕｔ１として設定される。このような動作により、ＰＤＣに書き込みデータ／Ｄｉｎ１６が設定され、ＳＤＣにデータＤｏｕｔ１が設定される。
【００９８】
上記第２の実施形態によれば、データの読み出し動作中で、ビット線の放電実行中に、入力データを反転して書き込みデータを生成する演算動作を行っている。このため、書き込みデータを演算に要する時間を別途必要としない。したがって、多値データを記憶する半導体記憶装置においても、データの読み出し及びプログラムが繰り返されるページコピー動作の時間を短縮することができる。
【００９９】
尚、本発明は、上記第１、第２の実施形態は、ページコピー動作について説明した。しかし、これに限定されるものではなく、読み出しとプログラム動作が連続する動作に適用可能することが可能である。
【０１００】
その他、本発明の要旨を変えない範囲において、種々変形実施可能なことは勿論である。
【符号の説明】
【０１０１】
１…メモリセルアレイ、２…ビット線制御回路、７…制御信号及び制御電圧発生回路、１０…データ記憶回路、ＰＤＣ（ＰＢ）…ページバッファ、ＳＤＣ（ＤＣ）…データキャッシュ、ＢＬｅ、ＢＬｏ…ビット線。
【図１】
2011222089.tif 000003
【図２】
2011222089.tif 000004
【図３】
2011222089.tif 000005
【図４】
2011222089.tif 000006
【図５】
2011222089.tif 000007
【図６】
2011222089.tif 000008
【図７】
2011222089.tif 000009
【図８】
2011222089.tif 000010
【図９】
2011222089.tif 000011
【図１０】
2011222089.tif 000012
【図１１】
2011222089.tif 000013
【図１２】
2011222089.tif 000014
【図１３】
2011222089.tif 000015