(57)【要約】【課題】書き込み速度を向上出来る半導体記憶装置、半導体装置、及びデータ書き込み方法を提供すること。【解決手段】メモリセルアレイ２０と、外部メモリ装置３を動作可能とさせるイネーブル信号／ＣＥ２を出力する出力バッファ２９と、前記外部メモリ装置３においてデータが保持されるアドレスＡＤＤintを発生するアドレスバッファ３３と、前記外部メモリ装置３から、前記アドレスＡＤＤintに保持される前記データを受信する入力バッファ２７と、前記入力バッファ２７で受信した前記データを保持し、複数の前記メモリセルに対して一括して該データを書き込む書き込みデータバッファ２５とを具備し、前記入力バッファ２７は、前記書き込みデータバッファ２５がデータを書き込む度に、前記メモリセルＭＣに一括して書き込まれるサイズの前記データを前記外部メモリ３から受信する。【選択図】図２
2008047244.tif 000002
【特許請求の範囲】
【請求項１】
外部メモリ装置に接続可能な半導体記憶装置であって、
電荷蓄積層と、前記電荷蓄積層上に形成された制御ゲートとを備えた複数のメモリセルがマトリクス状に配置されたメモリセルアレイと、
前記メモリセルアレイ中において、同一行にある前記メモリセルの前記制御ゲートを共通接続するワード線と、
前記外部メモリ装置を動作可能とさせるイネーブル信号を前記外部メモリ装置に出力する出力バッファと、
前記外部メモリ装置における読み出すべきデータのアドレスを、前記外部メモリ装置に出力するアドレスバッファと、
前記イネーブル信号によって動作可能とされた前記外部メモリ装置から、前記アドレスバッファから出力された前記アドレスに保持される前記データを受信する入力バッファと、
前記入力バッファで受信した前記データを保持し、同一の前記ワード線に接続された複数の前記メモリセルに対して一括して該データを書き込む書き込みデータバッファと
を具備し、前記入力バッファは、前記書き込みデータバッファが前記メモリセルに対してデータを書き込む度に、前記メモリセルに一括して書き込まれるサイズの前記データを前記外部メモリから受信する
ことを特徴とする半導体記憶装置。
【請求項２】
前記書き込みデータバッファは、前記入力バッファで受信された前記データを一時的に保持する第１バッファ回路と、
前記第１バッファ回路に保持される前記データを受信し、該データを前記メモリセルに書き込む第２バッファ回路と
を備え、前記第２バッファ回路に保持される前記データが前記メモリセルに書き込まれている期間に、前記アドレスバッファは、前記外部メモリ装置において次に前記メモリセルに書き込むべき前記データが保持されるアドレスを前記外部メモリ装置に出力し、前記入力バッファは、前記次に書き込むべき前記データを受信して、該データを前記第１バッファ回路に保持させる
ことを特徴とする請求項１記載の半導体記憶装置。
【請求項３】
同一のパッケージ内に第１、第２半導体チップを備えた半導体装置であって、
第１イネーブル信号によって動作可能とされ、データ保持可能な第１半導体記憶装置を備える第１半導体チップと、
第２イネーブル信号によって動作可能とされ、且つ電荷蓄積層と該電荷蓄積層上に形成された制御ゲートとを有するメモリセルを含む第２半導体記憶装置を備えた第２半導体チップと、
前記第１、第２半導体チップを通信可能に接続するデータバスと、
前記データバスに電気的に接続され、外部から前記第１イネーブル信号が入力可能とされた第１外部ピンと、
前記データバスに電気的に接続され、外部から前記第２イネーブル信号が入力可能とされた第２外部ピンと、
前記データバスに電気的に接続され、且つ前記第１、第２半導体チップに共通に用いられ、外部から前記データが入力可能とされた第３外部ピンと、
前記第１、第２半導体チップに共通に用いられ、外部からアドレス信号が入力可能とされた第４外部ピンと
を具備し、前記第１半導体記憶装置に前記データが書き込まれる際には、前記第１半導体チップは前記第１外部ピンに入力された前記第１イネーブル信号によって動作可能とされ、前記第３外部ピンに入力された前記データ、及び前記第４外部ピンに入力された前記アドレス信号に応じて動作し、
前記第２半導体記憶装置は、前記第２半導体チップの発生した前記第１イネーブル信号によって前記第１半導体チップが動作可能とされ、且つ前記第２半導体チップの発生した前記アドレス信号が前記第１半導体チップに与えられることにより、前記第１半導体記憶装置に保持される前記データを前記メモリセルに書き込む
ことを特徴とする半導体装置。
【請求項４】
外部メモリ装置に接続可能とされ、電荷蓄積層と該電荷蓄積層上に形成された制御ゲートとを備えた複数のメモリセルを有する半導体記憶装置のデータ書き込み方法であって、
前記外部メモリ装置に第１データサイズのデータが書き込まれるステップと、
前記外部メモリ装置への前記書き込みが終了した後、前記半導体記憶装置が書き込み動作中を示す実行中フラグを発生するステップと、
前記実行中フラグを発生した後、前記半導体記憶装置が前記外部メモリ装置を動作可能とするステップと、
前記半導体記憶装置の備える電圧発生回路が、書き込み用の第１内部電圧を発生するステップと、
前記半導体記憶装置が、前記外部メモリ装置から前記データを、前記第１データサイズより小さい第２データサイズ単位で読み出すステップと、
前記第１内部電圧を用いて、前記メモリセルに前記データを前記第２データサイズ単位で書き込むステップと、
前記データの全てにつき前記メモリセルへの前記データの書き込みが終了した後、前記電圧発生回路が、ベリファイ用の第２内部電圧を発生するステップと、
前記半導体記憶装置が、前記外部メモリ装置から前記データを第２データサイズ単位で再び読み出すステップと、
前記第２内部電圧及び前記外部メモリ装置から再び読み出した前記データを用いて、前記メモリセルに書き込んだ前記データにつきベリファイを行うステップと、
前記データの全てにつき前記ベリファイが終了した後、前記実行中フラグの発生を停止するステップと
を具備することを特徴とするデータ書き込み方法。
【請求項５】
前記半導体記憶装置は、データサイズが少なくとも前記第２データサイズである前記データを保持可能な第１、第２バッファ回路を備え、
前記第１バッファ回路に保持される前記データが前記メモリセルに書き込まれ、
前記データが前記メモリセルに書き込まれている間に、次に書き込むべき前記データが前記外部メモリ装置から読み出されて前記第２バッファ回路に格納された後、前記第１バッファ回路に転送される
ことを特徴とする請求項４記載のデータ書き込み方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体記憶装置、半導体装置、及びデータ書き込み方法に関する。例えば、フローティングゲートとコントロールゲートとを有するＭＯＳトランジスタを含む半導体メモリに関する。
【背景技術】
【０００２】
従来から、電気的にデータの書き換えが可能な不揮発性半導体メモリとしてＥＥＰＲＯＭ（Electrically Erasable and Programmable ROM）が知られている。アプリケーションシステムにおいては、ＥＥＰＲＯＭはアプリケーションが動作するためのプログラムを格納する目的で使用されることがある。この場合、システム製造時にプログラムがＥＥＰＲＯＭに書き込まれる。
【０００３】
この際、書き込まれるデータ量は例えば１２８Ｍビット等、比較的大容量であるが、ＥＥＰＲＯＭにおいて一度の書き込みコマンドで書き込み可能なデータ量は例えば８ワード（＝１２８ビット）程度である。従って、ＥＥＰＲＯＭに対して書き込みコマンドを繰り返し入力する必要がある（例えば特許文献１、２参照）。従って、データの書き込みに非常に時間がかかるという問題があった。
【特許文献１】特開２００５−１８２９８３号公報
【特許文献２】特開平５−８１１４５公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この発明は、書き込み速度を向上出来る半導体記憶装置、半導体装置、及びデータ書き込み方法を提供する。
【課題を解決するための手段】
【０００５】
この発明の一態様に係る半導体記憶装置は、外部メモリ装置に接続可能な半導体記憶装置であって、電荷蓄積層と、前記電荷蓄積層上に形成された制御ゲートとを備えた複数のメモリセルがマトリクス状に配置されたメモリセルアレイと、前記メモリセルアレイ中において、同一行にある前記メモリセルの前記制御ゲートを共通接続するワード線と、前記外部メモリ装置を動作可能とさせるイネーブル信号を前記外部メモリ装置に出力する出力バッファと、  前記外部メモリ装置における読み出すべきデータのアドレスを、前記外部メモリ装置に出力するアドレスバッファと、前記イネーブル信号によって動作可能とされた前記外部メモリ装置から、前記アドレスバッファから出力された前記アドレスに保持される前記データを受信する入力バッファと、前記入力バッファで受信した前記データを保持し、同一の前記ワード線に接続された複数の前記メモリセルに対して一括して該データを書き込む書き込みデータバッファとを具備し、前記入力バッファは、前記書き込みデータバッファが前記メモリセルに対してデータを書き込む度に、前記メモリセルに一括して書き込まれるサイズの前記データを前記外部メモリから受信する。
【０００６】
またこの発明の一態様に係る半導体装置は、同一のパッケージ内に第１、第２半導体チップを備えた半導体装置であって、第１イネーブル信号によって動作可能とされ、データ保持可能な第１半導体記憶装置を備える第１半導体チップと、第２イネーブル信号によって動作可能とされ、且つ電荷蓄積層と該電荷蓄積層上に形成された制御ゲートとを有するメモリセルを含む第２半導体記憶装置を備えた第２半導体チップと、前記第１、第２半導体チップを通信可能に接続するデータバスと、前記データバスに電気的に接続され、外部から前記第１イネーブル信号が入力可能とされた第１外部ピンと、前記データバスに電気的に接続され、外部から前記第２イネーブル信号が入力可能とされた第２外部ピンと、前記データバスに電気的に接続され、且つ前記第１、第２半導体チップに共通に用いられ、外部から前記データが入力可能とされた第３外部ピンと、前記第１、第２半導体チップに共通に用いられ、外部からアドレス信号が入力可能とされた第４外部ピンとを具備し、前記第１半導体記憶装置に前記データが書き込まれる際には、前記第１半導体チップは前記第１外部ピンに入力された前記第１イネーブル信号によって動作可能とされ、前記第３外部ピンに入力された前記データ、及び前記第４外部ピンに入力された前記アドレス信号に応じて動作し、前記第２半導体記憶装置は、前記第２半導体チップの発生した前記第１イネーブル信号によって前記第１半導体チップが動作可能とされ、且つ前記第２半導体チップの発生した前記アドレス信号が前記第１半導体チップに与えられることにより、前記第１半導体記憶装置に保持される前記データを前記メモリセルに書き込む。
【０００７】
更にこの発明の一態様に係るデータ書き込み方法は、外部メモリ装置に接続可能とされ、電荷蓄積層と該電荷蓄積層上に形成された制御ゲートとを備えた複数のメモリセルを有する半導体記憶装置のデータ書き込み方法であって、前記外部メモリ装置に第１データサイズのデータが書き込まれるステップと、前記外部メモリ装置への前記書き込みが終了した後、前記半導体記憶装置が書き込み動作中を示す実行中フラグを発生するステップと、前記実行中フラグを発生した後、前記半導体記憶装置が前記外部メモリ装置を動作可能とするステップと、前記半導体記憶装置の備える電圧発生回路が、書き込み用の第１内部電圧を発生するステップと、前記半導体記憶装置が、前記外部メモリ装置から前記データを、前記第１データサイズより小さい第２データサイズ単位で読み出すステップと、前記第１内部電圧を用いて、前記メモリセルに前記データを前記第２データサイズ単位で書き込むステップと、前記データの全てにつき前記メモリセルへの前記データの書き込みが終了した後、前記電圧発生回路が、ベリファイ用の第２内部電圧を発生するステップと、前記半導体記憶装置が、前記外部メモリ装置から前記データを第２データサイズ単位で再び読み出すステップと、前記第２内部電圧及び前記外部メモリ装置から再び読み出した前記データを用いて、前記メモリセルに書き込んだ前記データにつきベリファイを行うステップと、前記データの全てにつき前記ベリファイが終了した後、前記実行中フラグの発生を停止するステップとを具備する。
【発明の効果】
【０００８】
本発明によれば、書き込み速度を向上出来る半導体記憶装置、半導体装置、及びデータ書き込み方法を提供出来る。
【発明を実施するための最良の形態】
【０００９】
以下、この発明の実施形態につき図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【００１０】
［第１の実施形態］  
この発明の第１の実施形態に係る半導体記憶装置、半導体装置、及びデータ書き込み方法について説明する。図１は、本実施形態に係るメモリシステムのブロック図である。
【００１１】
図示するようにメモリシステム１は、ＥＥＰＲＯＭ２、ＲＡＭ３、ＣＰＵ４、レギュレータ回路５、電源回路６、入力装置７、入力インターフェース（Ｉ／Ｆ）コントローラ８、表示装置９、表示装置コントローラ１０、データバス１１、アドレスバス１２を備えている。図中において、白抜き矢印はアドレス信号の流れを示し、黒塗り矢印はデータの流れを示し、破線矢印は制御信号の流れを示し、実線矢印は電源電圧の流れを示す。
【００１２】
ＥＥＰＲＯＭ２は、例えばＮＯＲ型フラッシュメモリであり、システム１が動作するために必要なプログラム等を保持する。ＥＥＰＲＯＭの詳細な構成については後述する。  
ＲＡＭ３は、例えばＳＲＡＭやＰＳＲＡＭ（Pseudo SRAM）等である。ＤＲＡＭ等であっても良い。  
ＣＰＵ４は、ＥＥＰＲＯＭ２に保持されたプログラムを用い、またＲＡＭ３をその作業領域として用いて、各種の演算処理を行う。またＣＰＵ４は、ＥＥＰＲＯＭ２及びＲＡＭ３をセレクトすると共に、システム１内の各ブロックの動作を制御する。
【００１３】
電源回路６は、例えば電池やバッテリ等であって、所定の電圧を発生する。  
レギュレータ回路５は、電源回路６で発生された電圧を、システム１内の各ブロックが動作するために最適な電圧に変換する。  
入力装置７は、例えばキーボード等であって、システム１を使用するユーザからの入力を受け付ける。  
入力Ｉ／Ｆコントローラ８は、ＣＰＵ４の制御に従って入力装置７の動作を制御する。そして、入力装置７から入力されたデータをＣＰＵ４へ転送する。
【００１４】
表示装置９は、例えば液晶パネル等であって、ＣＰＵ２における演算結果等を表示する。  
表示装置コントローラ１０は、ＣＰＵ４の制御に従って表示装置９の動作を制御する。そして、表示すべきデータを表示装置９へ出力する。
【００１５】
データバス１１及びアドレスバス１２は、ＥＥＰＲＯＭ２、ＲＡＭ３、ＣＰＵ４、及び表示装置コントローラ１０間を相互に接続する。そしてデータバス１１及びアドレスバス１２はそれぞれ、相互間でデータ及びアドレス信号を転送する。
【００１６】
上記構成において、ＣＰＵ４がＥＥＰＲＯＭ２及びＲＡＭ３のホスト機器として機能し、ＣＰＵ４の要求に従って、ＥＥＰＲＯＭ２及びＲＡＭ３にデータが書き込まれ、またＥＥＰＲＯＭ２及びＲＡＭ３からデータが読み出される。またＥＥＰＲＯＭ２及びＲＡＭ３は、例えばそれぞれ異なるパッケージにパッケージングされた半導体装置であり、それぞれ外部との接続ピンを有している。すなわち各半導体装置は、データバス１１に接続されデータの入出力用に用いられるデータピン、アドレスバス１２に接続されアドレス信号の入出力用に用いられるアドレスピン、ライトイネーブル信号やアウトプットイネーブル信号等の制御信号が入力される制御ピン、及び制御信号のうちのチップセレクト用のチップイネーブル信号が入力されるチップセレクトピンを有している。なお、ＥＥＰＲＯＭ２はＲＡＭ３のチップイネーブル信号を生成可能であり、ＲＡＭ３のチップセレクトピンにはこのチップイネーブル信号が入力可能とされている。
【００１７】
次に図２を用いてＥＥＰＲＯＭ２の構成について説明する。図２はＥＥＰＲＯＭ２のブロック図である。図示するようにＥＥＰＲＯＭ２は、メモリセルアレイ２０、ロウデコーダ２１、カラムデコーダ２２、カラムセレクタ２３、ソース線ドライバ２４、書き込みデータバッファ２５、センスアンプ２６、データ入出力バッファ２７、コマンドレジスタ２８、出力バッファ２９、入出力バッファ３０、入力バッファ３１、アドレスレジスタ３２、アドレス入出力バッファ３３、電圧発生回路３４、ベリファイ回路３５、及び制御回路３６を備えている。
【００１８】
メモリセルアレイ２０は、マトリクス状に配置された複数のＮＯＲ型フラッシュメモリセルを備えている。各メモリセルは、ビット線、ワード線、及びソース線に接続されている。ロウデコーダ２１は、メモリセルアレイ２０のロウ方向を選択する。すなわち、ワード線を選択する。カラムデコーダ２２は、メモリセルアレイ２０のカラム方向を選択する。カラムセレクタ２３は、カラムデコーダ２２の選択動作に基づいてビット線を選択し、ビット線を書き込みデータバッファ２５またはセンスアンプ２６に接続する。ソース線ドライバ２４はソース線に電圧を与える。センスアンプ２６は、ロウデコーダ２１及びカラムデコーダ２２によって選択されたメモリセルから読み出されたデータをセンスして増幅する。書き込みデータバッファ２５は、メモリセルに対して書き込むべきデータを保持し、所定のメモリセル単位で、一括してデータをメモリセルに書き込む。
【００１９】
入力バッファ３１は、ＣＰＵ４からチップセレクトピンに入力されたチップイネーブル信号／ＣＥ１を受信する。そして、チップイネーブル信号／ＣＥ１をコマンドレジスタ２８に入力する。チップイネーブル信号／ＣＥ１は、ＥＥＰＲＯＭ２を動作可能とする信号である。
【００２０】
入出力バッファ３０は、ＣＰＵ４から制御ピンに入力されたライトイネーブル信号／ＷＥ及びアウトプットイネーブル信号／ＯＥを受信して、コマンドレジスタ２８に入力する。ライトイネーブル信号／ＷＥは書き込み動作を許可する信号であり、アウトプットイネーブル信号／ＯＥはデータの出力を許可する信号である。また入出力バッファ３０は、ライトイネーブル信号／ＷＥ及びアウトプットイネーブル信号／ＯＥをＲＡＭ３に出力する。
【００２１】
出力バッファ２９は、ＲＡＭ３に対してチップイネーブル信号／ＣＥ２を出力する。チップイネーブル信号／ＣＥ２は、ＲＡＭ３の動作を許可する信号である。
【００２２】
データ入出力バッファ２７は、ＲＡＭ３等からデータピンに入力されたデータを受け取り、書き込みデータバッファに転送する。またセンスアンプ２６で増幅されたデータを、データピンから外部へ出力する。
【００２３】
コマンドレジスタ２８は、入力バッファ３１で受信したチップイネーブル信号／ＣＥ１、入出力バッファ３０で受信したライトイネーブル信号／ＷＥ、アウトプットイネーブル信号／ＯＥを保持する。また出力バッファ２９に対してチップイネーブル信号／ＣＥ２の出力を命令し、入出力バッファ３０に対してライトイネーブル信号／ＷＥ、アウトプットイネーブル信号／ＯＥの出力を命令する。
【００２４】
アドレスレジスタ３２は、カラムデコーダ２２に対してカラムアドレスＣＡを出力し、ロウデコーダ２１に対してロウアドレスＲＡを出力する。カラムデコーダ２２及びロウデコーダ２１はそれぞれ、カラムアドレスＣＡ及びロウアドレスＲＡに基づいて、ビット線及びワード線の選択動作を行う。またアドレスレジスタ３２はアドレスを生成して、生成したアドレスをアドレス入出力バッファ３３へ出力する。アドレス入出力バッファ３３は、アドレスレジスタ３２で生成されたアドレスを、ＲＡＭ３へ出力する。
【００２５】
電圧発生回路３４は電圧を発生する。ベリファイ回路３５は、書き込みデータバッファ内のデータと、センスアンプで増幅された読み出しデータとを用いてベリファイ動作を行う。制御回路３６は、上記回路の動作を制御する。
【００２６】
次に図３を用いてメモリセルアレイ２０及び書き込みデータバッファ２５の構成について説明する。図３は、メモリセルアレイ及び書き込みデータバッファ２５の構成を示す回路図である。
【００２７】
まずメモリセルアレイ２０について説明する。図示するように、メモリセルアレイ２０は（（ｍ＋１）×（ｎ＋１））個（ｍ、ｎは自然数）のメモリセルＭＣを備えている。メモリセルＭＣは、電荷蓄積層（例えばフローティングゲート）と制御ゲートとを含む積層ゲートを備えたＭＯＳトランジスタである。そして、同一行にあるメモリセルＭＣの制御ゲートは、同一のワード線ＷＬ０〜ＷＬｍのいずれかに共通接続される。また同一列にあるメモリセルＭＣのドレインは、同一のビット線ＢＬ０〜ＢＬｎのいずれかに共通接続される。更にメモリセルＭＣのソースは、同一のソース線ＳＬに共通接続される。なお以下では説明の便宜上、ワード線ＷＬ０〜ＷＬｍをワード線ＷＬ、ビット線ＢＬ０〜ＢＬｎをビット線ＢＬと一括して呼ぶことがある。また、同一のワード線に接続された（ｎ＋１）個のメモリセルＭＣの集合を、以下「ページ」と呼ぶことにする。なお「ページ」とは、同一のワード線に接続された複数のメモリセルの集合でありさえすれば良いが、本実施形態では説明の簡単化のために（ｎ＋１）個のメモリセルの集合を「ページ」とし、１ページのデータサイズが１２８ビットである場合を用いて説明する。
【００２８】
書き込みデータバッファ２５は、メモリセルに対して書き込むべきデータを、最大で１ページ分（１２８ビット）保持する。そして、複数のメモリセルＭＣに対して一括してデータを書き込む。この一括して書き込むデータ単位は例えば１ワード（例えば１６ビット）である。すなわち、カラムセレクタ２３によって選択された１ワード分のビット線に対して同時にデータを出力する。よって、１ページ分のデータを書き込むには１ワード分の書き込み動作を８回繰り返す必要がある。
【００２９】
次にメモリセルＭＣの断面構成について図４を用いて説明する。図４はメモリセルアレイ２０の一部領域の断面図である。図示するように、ｐ型半導体基板４０の表面領域内にｎ型ウェル領域４１が形成され、ｎ型ウェル領域４１の表面領域内にはｐ型ウェル領域４２が形成されている。ｐ型ウェル領域４２上にはゲート絶縁膜４３が形成され、ゲート絶縁膜４３上に、メモリセルＭＣのゲート電極が形成されている。メモリセルＭＣのゲート電極は、ゲート絶縁膜４３上に形成された多結晶シリコン層４４、多結晶シリコン層４４上にゲート間絶縁膜４５を介在して形成された多結晶シリコン層４６を有している。ゲート間絶縁膜４３は、例えばシリコン酸化膜、またはシリコン酸化膜とシリコン窒化膜との積層構造であるＯＮ膜、ＮＯ膜、またはＯＮＯ膜で形成される。多結晶シリコン層４４はフローティングゲート（ＦＧ）として機能し、メモリセルＭＣ毎に分離されている。他方、多結晶シリコン層４６はビット線に直交する方向で隣接するもの同士で共通接続されており、コントロールゲート（ワード線ＷＬ）として機能する。隣接するゲート電極間に位置するｐ型ウェル領域４２表面内には、ｎ＋型不純物拡散層４７が形成されている。不純物拡散層４７は隣接するトランジスタ同士で共用されており、ソース領域またはドレイン領域として機能する。そして、メモリセルＭＣのソース領域はソース線ＳＬに接続され、ドレインはビット線ＢＬに接続される。更にｐ型ウェル領域４２の表面領域内にはｐ＋型不純物拡散層４８が形成され、ｎ型ウェル領域４１の表面領域内にはｎ＋型不純物拡散層４９が形成されている。ｐ型ウェル領域４２に対しては、不純物拡散層４８を介してソース線ＳＬと同じ電位が与えられ、ｎ型ウェル領域４１に対しては、不純物拡散層４９を介してウェル電圧ＶＮＷが与えられる。
【００３０】
次に、上記構成のメモリシステム１において、ＥＥＰＲＯＭ２へのデータ書き込み方法について説明する。本実施形態に係るメモリシステム１では、ＥＥＰＲＯＭ２へデータを書き込む際、ＲＡＭ３をデータバッファとして使用する。すなわち、まずＲＡＭ３へデータを一時的に書き込み、次にＲＡＭ３からＥＥＰＲＯＭ２へデータを書き込む。本書き込み動作について、まずＥＥＰＲＯＭ２、ＲＡＭ３、及びＣＰＵ４の相互間の動作について図５を用いて説明し、次にＥＥＰＲＯＭ２内の動作について図６を用いて説明する。
【００３１】
図５はＥＥＰＲＯＭ２、ＲＡＭ３、ＣＰＵ４相互間の動作の流れを示すフローチャートである。図示するように、まずＲＡＭ３へのデータの書き込みが開始される（ステップＳ１０）。ＲＡＭ３へのデータの書き込みにあたって、ＣＰＵ４はチップイネーブル信号／ＣＥ２をＲＡＭ３に対して出力してＲＡＭ３を動作可能状態とし、ＲＡＭ３を初期化する（ステップＳ１１）。次にＣＰＵ４はＲＡＭ３に対して、データの書き込みアドレスとしてＲＡＭ３のアドレス空間における先頭アドレスを入力する（ステップＳ１２）。この際、チップイネーブル信号／ＣＥ１はネゲート（“Ｈ”レベル）されているため、ＥＥＰＲＯＭ２は非動作状態であり、アドレス信号はアドレスバス１２を介してＲＡＭ３へと入力される。そして、データバス１１を介してデータがＲＡＭ３へ入力され、ＲＡＭ３にデータが書き込まれる（ステップＳ１３）。ＲＡＭ３への書き込みは、通常、１アドレスあたり１ライトサイクルで終了するため、非常に高速である。ＲＡＭ３への全データの書き込みが終了すると（ステップＳ１４、ＹＥＳ）、これによりＲＡＭ３への書き込み動作は完了する（ステップＳ１５）。
【００３２】
次にＲＡＭ３からＥＥＰＲＯＭ２へのデータの書き込み動作が開始される（ステップＳ１６）。まずＥＥＰＲＯＭ２に対してデータの書き込みコマンドが入力される（ステップＳ１７）。書き込みコマンドは、ＲＡＭ３またはＣＰＵ４から与えられる。また、チップイネーブル信号／ＣＥ１がアサート（“Ｌ”レベルと）され、ＥＥＰＲＯＭ２が動作状態となる。次にＥＥＰＲＯＭ２内において、書き込み先頭アドレスが設定される（ステップＳ１８）。その後、チップイネーブル信号／ＣＥ２、及びＥＥＰＲＯＭ２におけるアドレス信号、ライトイネーブル信号／ＷＥ、アウトプットイネーブル信号／ＯＥの外部からのドライブが禁止される（ステップＳ１９）。つまりＥＥＰＲＯＭ２は、ＣＰＵ４からのこれらの信号を以後受け付けない。
【００３３】
そして、ＲＡＭ３に保持されるデータがＥＥＰＲＯＭ２へと書き込まれる（ステップＳ２０）。全てのデータにつき書き込みが終了したか否かは、ＥＥＰＲＯＭ２の出力する実行中フラグによって判定出来る。従ってＣＰＵ４はＥＥＰＲＯＭ２の実行中フラグを読み出して（ステップＳ２１）、全データの書き込みが終了していれば（ステップＳ２２、ＹＥＳ）、ＥＥＰＲＯＭ２への書き込み動作は完了する。完了すると、チップイネーブル信号／ＣＥ２及び、ＥＥＰＲＯＭ２におけるアドレス信号、ライトイネーブル信号／ＷＥ、アウトプットイネーブル信号／ＯＥの外部からのドライブが許可される（ステップＳ２３）。
【００３４】
次に、ＥＥＰＲＯＭ２内部における動作について図６を用いて説明する。図６はＥＥＰＲＯＭ２内部における処理の流れを示すフローチャートであり、図６におけるステップＳ２０の処理に対応する。ＥＥＰＲＯＭ２におけるデータの書き込み動作は、おおまかには２つのステップを含む。すなわち、メモリセルＭＣへのデータの書き込みステップと、メモリセルＭＣへの書き込みが正常に行われたか否かを検証するステップである。以後、前者をプログラム（program）動作と呼び、後者をベリファイ（verify）動作と呼ぶ。
【００３５】
まずＥＥＰＲＯＭ２は実行中フラグをＣＰＵ４に対して出力する（ステップＳ３０）。実行中フラグとは、上記の通りＥＥＰＲＯＭ２への書き込み動作中であることを示すフラグである。次に制御回路３６は、書き込みコマンドを受信したことに応答して、コマンドレジスタ２８に対してチップイネーブル信号／ＣＥ２を出力するよう命令する。すると、コマンドレジスタ２８は出力バッファ２９からチップイネーブル信号／ＣＥ２を出力する（ステップＳ３１）。これにより、ＲＡＭ３が動作可能状態となる。すなわち、この時点においてメモリシステム１にふくまれるＥＥＰＲＯＭ２とＲＡＭ３の両方が動作可能状態となる。
【００３６】
そして、プログラム動作が開始される（ステップＳ３２）。プログラム動作の開始にあたって、制御回路３６はまずデータの書き込み先頭アドレスを設定する（ステップＳ３３）。この情報が、制御回路３６からアドレスレジスタ３２に与えられる。そしてアドレスレジスタ３２は、設定された書き込み先頭アドレスに従って、ロウアドレスＲＡ及びカラムアドレスＣＡを生成する。次に、制御回路３６の命令に従って電圧発生回路３４は、プログラム用の内部電圧を発生する（ステップＳ３４）。この内部電圧は、例えばロウデコーダ２１や書き込みデータバッファ２５等に与えられる。
【００３７】
また、ＥＥＰＲＯＭ２はＲＡＭ３から１ワード分のデータを読み出す（ステップＳ３５）。そして、読み出した１ワード分のデータが、メモリセルＭＣへプログラムされる（ステップＳ３６）。このステップＳ３５、Ｓ３６の様子につき図７を用いて詳細に説明する。図７はＥＥＰＲＯＭ２のブロック図である。図示するようにステップＳ３５においてアドレスレジスタ３２が、制御回路３６のアドレス発生命令に応答して内部アドレスＡＤＤintを発生する。内部アドレスＡＤＤintとは、ＲＡＭ３から読み出すべきデータの、ＲＡＭ３におけるアドレス信号である。ＲＡＭ３からのデータの読み出しは１ワード単位で行われるので、１ワード分のデータをＲＡＭ３から読み出す度に、アドレスレジスタ３２は内部アドレスＡＤＤintを更新する。最初にＲＡＭ３からデータを読み出す際の内部アドレスＡＤＤintは、ＲＡＭ３のアドレス空間における先頭アドレスに相当する。この情報は、例えば予めＣＰＵ４からＥＥＰＲＯＭに与えられおり、ＥＥＰＲＯＭ２自身が把握している。アドレスレジスタ３２で発生されたアドレスは、アドレス入出力バッファ３３からＲＡＭ３へ与えられる。更に入出力バッファ３０は、制御回路３６及びコマンドレジスタ２８のアウトプットイネーブル信号出力命令に従って、アウトプットイネーブル信号／ＯＥをＲＡＭ３に対して出力する。この処理は予めステップＳ３１において行っていても良い。するとＲＡＭ３は、チップイネーブル信号／ＣＥ２及びアウトプットイネーブル信号／ＯＥがアサート（assert）され、アドレス信号が入力されるため、当該アドレス信号に対応する領域に保持する１ワード分のデータを、ＥＥＰＲＯＭ２に出力する。
【００３８】
ＥＥＰＲＯＭ２は、ＲＡＭ３から出力された１ワード分のデータを、データ入出力バッファ２７で受信し、書き込みデータバッファ２５へ転送する。すると書き込みデータバッファ２５は、カラムデコーダ２２によって選択されたビット線と、ロウデコーダ２１によって選択されたワード線とに接続された１ワード分のメモリセルに対して、転送されたデータをプログラムする（ステップＳ３６）。
【００３９】
そして、全アドレスにつきプログラムが終了していなければ（ステップＳ３７、ＮＯ）、アドレスレジスタ３２は制御回路３６の命令に従って、内部アドレスＡＤＤintを１ワード分進める（ステップＳ３８）。すなわちアドレスレジスタ３２は、メモリセルＭＣへの書き込み済みの１ワード分のデータの次の１ワード分のデータに相当する内部アドレスＡＤＤintを発生する。つまり内部アドレスＡＤＤintが次のデータに対応するように更新される。そして、更新された内部アドレスＡＤＤintを用いてステップＳ３５〜Ｓ３６が繰り返される。
【００４０】
全アドレスにつきプログラムが終了すると（ステップＳ３７、ＹＥＳ）、以上によりプログラム動作は完了する（ステップＳ３９）。次にベリファイ動作が開始される（ステップＳ４０）。
【００４１】
ベリファイ動作の開始にあたって、制御回路３６はまずベリファイすべきデータが保持されるベリファイアドレスを設定する（ステップＳ４１）。最初に設定されるベリファイアドレスとしては、書き込み先頭アドレスが設定される。この情報が、制御回路３６からアドレスレジスタ３２に与えられる。そしてアドレスレジスタ３２は、設定されたベリファイアドレスに従って、ロウアドレスＲＡ及びカラムアドレスＣＡを生成する。次に、制御回路３６の命令に従って電圧発生回路３４は、ベリファイ用の内部電圧を発生する（ステップＳ４２）。この内部電圧は、例えばロウデコーダ２１や書き込みデータバッファ２５等に与えられる。
【００４２】
また、ＥＥＰＲＯＭ２はＲＡＭ３から１ワード分のベリファイデータを読み出す（ステップＳ４３）。そして、読み出した１ワード分のベリファイデータを用いて、既に書き込んだ１ワード分のデータについてベリファイが行われる（ステップＳ４４）。このステップＳ４３、Ｓ４４につき詳細に説明する。ステップＳ４３においてアドレスレジスタ３２が、制御回路３６のアドレス発生命令に応答して内部アドレスＡＤＤintを発生する。最初にＲＡＭ３からデータを読み出す際の内部アドレスＡＤＤintは、ＲＡＭ３のアドレス空間における先頭アドレスに相当する。アドレスレジスタ３２で発生されたアドレスは、アドレス入出力バッファ３３からＲＡＭ３へ与えられる。これにより、ＲＡＭ３は当該内部アドレスＡＤＤintに対応する領域に保持する１ワード分のデータを、ＥＥＰＲＯＭ２に出力する。この処理はプログラム時のステップＳ３５と同様である。
【００４３】
ＥＥＰＲＯＭ２は、ＲＡＭ３から出力された１ワード分のデータを、データ入出力バッファ２７で受信し、書き込みデータバッファ２５へ転送する。また、カラムデコーダ２２によって選択されたビット線と、ロウデコーダ２１によって選択されたワード線とに接続された１ワード分のメモリセルから、１ワード分の書き込み済みデータが読み出され、センスアンプでセンス・増幅される。そしてベリファイ回路３５が、増幅された読み出しデータについて、書き込みデータバッファ２５へ転送されたデータを用いてベリファイを行う。すなわち、メモリセルＭＣから読み出されたデータが、ＲＡＭ３から読み出された本来の正しいデータと一致するか否かを検証する。
【００４４】
ベリファイの結果、データが正しく書き込まれていなければ（ステップＳ４５、ＮＯ）、電圧発生回路３４はステップＳ３４と同様にプログラム用の内部電圧を発生する（ステップＳ４６）。引き続き、ステップＳ３５と同様に当該アドレスに対応する１ワード分のデータがＲＡＭ３から読み出され（ステップＳ４７）、プログラムされる（ステップＳ４８）。なお、ステップＳ４３においてベリファイデータが読み出されているので、このデータをメモリセルＭＣに書き込んでも良い。この場合にはステップＳ４７を省略出来る。
【００４５】
ステップＳ４５においてデータが正しく書き込まれており（ステップＳ４５、ＹＥＳ）、全アドレスにつきベリファイが終了していなければ（ステップＳ４９、ＮＯ）、アドレスレジスタ３２は制御回路３６の命令に従って、内部アドレスＡＤＤintを１ワード分進める（ステップＳ５０）。すなわちアドレスレジスタ３２は、ベリファイ済みの１ワード分のデータの次の１ワード分のデータに相当する内部アドレスＡＤＤintを発生する。そして、更新された内部アドレスＡＤＤintを用いてステップＳ４３〜Ｓ４８が繰り返される。
【００４６】
全アドレスにつきベリファイが終了すると（ステップＳ４９、ＹＥＳ）、以上によりベリファイ動作は完了する（ステップＳ５１）。そして制御回路３６は内部電源３４を初期化してスタンバイ（stand-by）状態として、実行中フラグの出力を停止する。  
以上によってＥＥＰＲＯＭ２における書き込み動作が終了する。
【００４７】
上記のように、この発明のメモリシステムであると、下記（１）の効果が得られる。  
（１）データの書き込みを高速化出来る（その１）。  
本実施形態に係るメモリシステムであると、ＥＥＰＲＯＭ２へのデータの書き込みの際に、ＲＡＭ３をバッファメモリとして使用している。すなわち、書き込みデータをまず一時的にＲＡＭ３に書き込む。その後、ＥＥＰＲＯＭ２がＲＡＭ３のデータを読み出して、該データをメモリセルに書き込む。従って、ＥＥＰＲＯＭ２の書き込みデータバッファのサイズを大きくすることなく、ＥＥＰＲＯＭ２へのデータの書き込み速度を向上出来る。
【００４８】
本効果について、以下、ＲＡＭ３をバッファメモリとして使用しない場合と比較しつつ説明する。図８は、ＲＡＭ３をバッファメモリとして使用しない場合における、ＥＥＰＲＯＭ２への書き込み動作のフローチャートである。
【００４９】
図示するように、まず書き込みコマンドがＥＥＰＲＯＭ２に入力されると（ステップＳ８０）、電圧発生回路がプログラム用の内部電圧を発生する（ステップＳ８１）。次に、書き込みデータバッファの書き込みデータが更新される（ステップＳ８２）。書き込みデータバッファは、例えば１ページ分のデータを保持可能であり、１回の書き込みコマンドによって１ページ分のデータをメモリセルに自動的に書き込むことが出来る。そこでステップＳ８２では、１ページ分のデータのうち、書き込むべき１ワード分のデータが選択される。そして、ステップＳ８２で選択された１ワード分のデータにつきプログラムを行う（ステップＳ８３）。次に、１ページ分のデータのプログラムが完了していなければ（ステップＳ８４、ＮＯ）、アドレスを書き込みデータバッファにおける次の１ワード分のデータに相当するように更新して（ステップＳ８５）、ステップＳ８２、Ｓ８３の処理を行う。
【００５０】
１ページ分のデータのプログラムが終了すると（ステップＳ８４、ＹＥＳ）、次にベリファイ動作を行う。すなわち、電圧発生回路がベリファイ用の内部電圧を発生する（ステップＳ８６）。次に、書き込みデータバッファのベリファイデータが更新される（ステップＳ８７）。すなわち、１ページ分のデータのうち、ベリファイすべき１ワード分のデータが選択される。そして、メモリセルＭＣから１ワード分のデータが読み出され、該読み出しデータにつきベリファイが行われる（ステップＳ８８）。次に、１ページ分のデータのベリファイが完了していなければ（ステップＳ８９、ＮＯ）、アドレスを書き込みデータバッファにおける次の１ワード分のデータに相当するように更新して（ステップＳ９０）、ステップＳ８７、Ｓ８８の処理を行う。
【００５１】
１ページ分のデータのベリファイが終了すると（ステップＳ８９、ＹＥＳ）、フラグ判定が行われる。全ページにつきプログラム及びベリファイが終了していれば（ステップＳ９２、ＹＥＳ）、実行中フラグの出力は停止されているので書き込み動作は完了する。終了していなければ(ステップＳ９２、ＮＯ)、ステップＳ８０に戻り、一連の処理を繰り返す。
【００５２】
上記の処理を図９にタイミングチャートとして示す。図９は、書き込み動作におけるチップイネーブル信号／ＣＥ１、／ＣＥ２、ライトイネーブル信号／ＷＥ、アウトプットイネーブル信号／ＯＥ、及びメモリシステムにおける動作内容を示すタイミングチャートである。なお、１ページサイズ（書き込みデータバッファのサイズ）が１２８ビット、メモリセルに一括して書き込まれるデータのサイズが１ワード（１６ビット）、書き込むべき全データサイズが１２８Ｍビットである場合を例に説明する。
【００５３】
図示するように、チップイネーブル信号／ＣＥ２は常時ネゲート（“Ｈ”レベルと）されている。時刻ｔ１０で書き込みコマンドが入力されると、次の時刻ｔ１１でプログラム用の内部電圧が発生され、時刻ｔ１２、ｔ１３でそれぞれデータの更新（ステップＳ８２）と１ワードプログラム（ステップＳ８３）が行われる。このデータ更新と１ワードプログラムは（１ページサイズ：１２８ビット／１ワードサイズ：１６ビット）＝８回繰り返される。
【００５４】
８回のプログラムが終了すると、時刻ｔ１４においてベリファイ用の内部電圧が発生され、時刻ｔ１５、ｔ１６においてそれぞれデータ更新（ステップＳ８７）と１ワードベリファイ（ステップＳ８８）が行われる。このデータ更新と１ワードベリファイも同じく８回繰り返される。
【００５５】
８回のベリファイが終了すると、時刻ｔ１７においてフラグ判定が行われる。以上の時刻ｔ１０からｔ１８までの処理が、全ページについて繰り返される。すなわち、１度のコマンド入力によって（１６ビット×８回）＝１２８ビットの書き込みが行われるから、全データサイズが１２８Ｍビットであるとすると、上記処理を１０６回繰り返す。従って、全データを書き込むためには、書き込みコマンド入力を１０６回、電圧発生をプログラム及びベリファイそれぞれについて１０６回、フラグ判定を１０６回行う必要がある。特に電圧発生に必要な時間は３〜４μｓと比較的長く、上記方法では書き込みに長時間を要する。
【００５６】
これは、１度のコマンド入力で書き込み可能なデータサイズが、書き込みデータバッファ２５に保持可能なデータサイズに制限されるからである。つまり、書き込みデータバッファ２５の保持可能なデータサイズが大きければ、それだけ書き込みコマンド入力、電圧発生、及びフラグ判定回数を減らすことが出来る。しかし、書き込みデータバッファ２５の保持可能なデータサイズを大きくすると、書き込みデータバッファ２５のサイズも大きくなり、バッファ２５のチップ内に占める割合が増大し、チップサイズが大きくなり、ひいてはコストが上昇するという問題がある。
【００５７】
これに比較して本実施形態に係る方法について説明する。図１０は本実施形態に係るＥＥＰＲＯＭ２への書き込み動作のフローチャートであり、図６を簡略化して示したものである。
【００５８】
図示するように、まず書き込みコマンドがＥＥＰＲＯＭ２に入力されると（ステップＳ６０）、電圧発生回路３４がプログラム用の内部電圧を発生する（ステップＳ６１）。次に、ＲＡＭ３から１ワード分の書き込みデータが書き込みデータバッファ２５に読み出される（ステップＳ６２）。そして、ステップＳ６２で読み出された１ワード分のデータにつきプログラムを行う（ステップＳ６３）。次に、全アドレス、すなわち全データのプログラムが完了していなければ（ステップＳ６４、ＮＯ）、アドレスをＲＡＭ３における次の１ワード分のデータに相当するように更新して（ステップＳ６５）、ステップＳ６２、Ｓ６３の処理を行う。
【００５９】
全データのプログラムが終了すると（ステップＳ６４、ＹＥＳ）、次にベリファイ動作を行う。すなわち、電圧発生回路３４がベリファイ用の内部電圧を発生する（ステップＳ６６）。次に、ＲＡＭ３から書き込みデータバッファに１ワード分のベリファイデータを読み出す（ステップＳ６７）。そして、メモリセルＭＣから１ワード分のデータが読み出され、該読み出しデータにつきベリファイが行われる（ステップＳ６８）。全データのベリファイが完了していなければ（ステップＳ６９、ＮＯ）、アドレスをＲＡＭ３における次の１ワード分のデータに相当するように更新して（ステップＳ７０）、ステップＳ６７、Ｓ６８の処理を行う。全データのベリファイが終了すると（ステップＳ６９、ＹＥＳ）、フラグ判定が行われて、書き込み動作は完了する。
【００６０】
上記の処理を図１１にタイミングチャートとして示す。図１１は、本実施形態に係る書き込み動作におけるチップイネーブル信号／ＣＥ１、／ＣＥ２、ライトイネーブル信号／ＷＥ、アウトプットイネーブル信号／ＯＥ、及びメモリシステム１における動作内容を示すタイミングチャートである。なお、図９と同様に１ページサイズが１２８ビット、メモリセルに一括して書き込まれるデータのサイズが１ワード（１６ビット）、書き込むべき全データサイズが１２８Ｍビットである場合を例に説明する。
【００６１】
なお、各制御信号をイネーブルにするタイミングは例えば次のようである。チップイネーブル信号／ＣＥ１、／ＣＥ２は、それぞれのチップアクセス時にイネーブル（“Ｌ”レベル）とされる。すなわちチップイネーブル信号／ＣＥ１は、コマンド入力時及びフラグ判定時に“Ｌ”レベルとされる。チップイネーブル信号／ＣＥ２は、ＲＡＭ３からのデータ読み出し時に“Ｌ”レベルとされる。アウトプットイネーブル信号／ＯＥは、データやフラグの読み出し時に“Ｌ”レベルとされる。またライトイネーブル信号ＷＥは、コマンド入力時にのみ“Ｌ”レベルとされる。
【００６２】
図示するように、時刻ｔ０で書き込みコマンドが入力されると、チップイネーブル信号／ＣＥ１、／ＣＥ２がアサートされて、ＥＥＰＲＯＭ２及びＲＡＭ３が動作可能状態とされる。次の時刻ｔ１でプログラム用の内部電圧が発生され、時刻ｔ２、ｔ３でそれぞれＲＡＭ３からのデータの読み出し（ステップＳ６２）と１ワードプログラム（ステップＳ６３）が行われる。データの読み出し時には、アウトプットイネーブル信号／ＯＥ及びチップイネーブル信号／ＣＥ２がアサートされる。このデータ読み出しと１ワードプログラムは（全データサイズ：１２８Ｍビット／１ワードサイズ：１６ビット）＝８×１０６回繰り返される。
【００６３】
（８×１０６）回のプログラムが終了すると、時刻ｔ４においてベリファイ用の内部電圧が発生され、時刻ｔ５、ｔ６においてそれぞれＲＡＭ３からのデータの読み出し（ステップＳ６７）と１ワードベリファイ（ステップＳ６８）が行われる。データの読み出し時には、やはりアウトプットイネーブル信号／ＯＥ及びチップイネーブル信号／ＣＥ２がアサートされる。このデータ読み出し更新と１ワードベリファイも同じく（８×１０６）回繰り返される。
【００６４】
（８×１０６）回のベリファイが終了すると、時刻ｔ７においてチップイネーブル信号／ＣＥ１及びアウトプットイネーブル信号／ＯＥがアサートされて、フラグ判定が行われ、書き込み動作は終了する。本実施形態に係る方法であると、１度のコマンド入力によって全データ（１２８Ｍビット）についてのプログラム及びベリファイが行われる。従って、全データを書き込むためには、コマンド入力を１回、電圧発生をプログラム及びベリファイそれぞれについて１回、フラグ判定を１回行えば良い。
【００６５】
以上のように、本実施形態に係るメモリシステムであると、書き込み時に必要な書き込みコマンド入力、電圧発生、フラグ判定の回数を大幅に削減出来る。従って、書き込み速度を向上出来る。このように１回の書き込みコマンド入力、電圧発生、及びフラグ判定で全データの書き込みを実現するために、本実施形態では、ＲＡＭ３をＥＥＰＲＯＭ２のバッファメモリとして用いている。これにより、全データを連続して書き込むことが出来、書き込みコマンド入力回数、電圧発生回数、及びフラグ判定回数を１回ですませることが出来る。また、ＥＥＰＲＯＭ２がチップイネーブル信号／ＣＥ２及びアウトプットイネーブル信号／ＯＥを発生している。これにより、ＥＥＰＲＯＭ２とＲＡＭ３とを同時に動作可能となり、ＲＡＭ３をバッファメモリとして使用することが出来る。
【００６６】
また、ＲＡＭ３をバッファメモリとして使用することで、書き込みデータバッファ２５の保持可能なデータサイズを大きくする必要がない。すなわち、書き込みデータバッファ２５のサイズを変更することなく、上記効果が得られる。
【００６７】
なお、図６のフローチャートにおいては、ステップＳ４５でベリファイＮＧと判定された場合にはステップＳ４６の処理を行っているが、例えばステップＳ３４に戻っても良い。この場合、ベリファイＯＫと判定されたメモリセルをレジスタに記憶しておき、これらのセルについてのステップＳ３６、Ｓ４４は、ロウデコーダ２１を非動作状態とすることにより省略しても良い。
【００６８】
［第２の実施形態］  
次に、この発明の第２の実施形態に係る半導体記憶装置、半導体装置、及びデータ書き込み方法について説明する。本実施形態は、上記第１の実施形態の書き込みデータバッファ２５に２段バッファを用いたものである。メモリシステム１の構成は、上記第１の実施形態で説明した図１の構成と同様であるので説明は省略する。図１２は、本実施形態に係るＥＥＰＲＯＭ２のブロック図である。
【００６９】
図示するようにＥＥＰＲＯＭ２は、上記第１の実施形態において図２を用いて説明した構成において、書き込みデータバッファ２５を、第１書き込みデータバッファ３７及び第２書き込みデータバッファ３８に置き換えた構成を有している。その他の構成は図２と同様である。第１書き込みデータバッファ３７は、データ入出力バッファ２７からデータを受信して保持する。第２書き込みデータバッファ３８は、第１書き込みデータバッファ３７からデータを受信し、受信したデータをメモリセルアレイ２０に１ワード単位で書き込む。
【００７０】
次に、上記構成のメモリシステム１において、ＥＥＰＲＯＭ２へのデータ書き込み方法について説明する。ＥＥＰＲＯＭ２、ＲＡＭ３、及びＣＰＵ４の相互間の動作については、第１の実施形態で説明した図５と同様であるので、図１３を用いてＥＥＰＲＯＭ２内の動作について説明する。図１３はＥＥＰＲＯＭ２の処理の流れを示すフローチャートである。
【００７１】
図示するように、ステップＳ３６までは第１の実施形態と同様である。但し、ステップＳ３５においてＲＡＭ３から読み出された１ワード分の書き込みデータは、第１書き込みデータバッファ３７に転送された後、直ぐに第２書き込みデータバッファ３８へ転送される。次にステップＳ３６において１ワード分の書き込みデータのプログラムが行われる。この際、プログラムと同時にＥＥＰＲＯＭ２は、次の１ワード分の書き込みデータをＲＡＭ３から読み出す（ステップＳ１００）。この様子を図１４に示す。図１４はＥＥＰＲＯＭ２の一部構成を示すブロック図である。なお、ステップＳ３６、Ｓ３７においてメモリセルＭＣにプログラムされるデータを第１データと呼び、ＲＡＭ３から読み出される次の１ワード分の書き込みデータを第２データと呼ぶことにする。
【００７２】
図示するように、第２書き込みデータバッファ３８に保持されるデータをメモリセルＭＣにプログラムしている間、第１書き込みデータバッファ３７は空である。従って第１データのプログラムをしている期間に、アドレス入出力バッファ３３が次の１ワードに対応する内部アドレスＡＤＤintを発生して、第２データを第１書き込みデータバッファ３７に読み出す。つまり第１データのプログラムとＲＡＭからの第２データの読み出しとを並行して行う。
【００７３】
そして、全アドレスにつきプログラムが終了していない（ステップＳ３７、ＮＯ）間は、書き込みアドレスを１ワード分進めて（ステップＳ３８）、ステップＳ３６に戻る。
【００７４】
ベリファイ動作も同様である。図１３に示すように、ステップＳ４４までは第１の実施形態と同様である。但し、ステップＳ４３においてＲＡＭ３から読み出された１ワード分のベリファイデータは、第１書き込みデータバッファ３７に転送された後、直ぐに第２書き込みデータバッファ３８へ転送される。次にステップＳ４４において１ワード分のデータのベリファイが行われる。この際、ベリファイと同時にＥＥＰＲＯＭ２は次の１ワード分のベリファイデータをＲＡＭ３から読み出す（ステップＳ１０１）。つまり、第１データ（ベリファイデータ）を用いたベリファイと、ＲＡＭからの第２データ（ベリファイデータ）の読み出しとを並行して行う。そして、全アドレスにつきベリファイが終了していない（ステップＳ４９、ＮＯ）間は、ベリファイアドレスを１ワード分進めて（ステップＳ５０）、ステップＳ４４に戻る。その他の動作は第１の実施形態と同様である。
【００７５】
以上のように、本実施形態に係るメモリシステムであると、上記第１の実施形態で説明した（１）の効果に加えて、下記（２）の効果が併せて得られる。  
（２）データの書き込みを高速化出来る（その２）。  
本実施形態に係るＥＥＰＲＯＭは、直列に接続された２つの書き込みデータバッファ３７、３８を有している。従って、プログラムの際、及びベリファイの際のデータ読みだしに必要な時間を大幅に短縮出来、データの書き込み速度を飛躍的に向上させることが出来る。本効果について図１５を用いて説明する。図１５は、本実施形態に係る書き込み動作におけるチップイネーブル信号／ＣＥ１、／ＣＥ２、ライトイネーブル信号／ＷＥ、アウトプットイネーブル信号／ＯＥ、及びメモリシステム１における動作内容を示すタイミングチャートである。なお、第１の実施形態で説明した図１１と同様に１ページサイズが１２８ビット、メモリセルに一括して書き込まれるデータのサイズが１ワード（１６ビット）、書き込むべき全データサイズが１２８Ｍビットである場合を例に説明する。
【００７６】
図示するように、時刻ｔ３までは第１の実施形態と同様の流れによりプログラム動作が行われる。時刻ｔ３において、時刻ｔ２でＲＡＭ３から読み出された１ワード分のデータがメモリセルＭＣにプログラムされる。この際、同時に次の１ワード分のデータがＲＡＭ３からＥＥＰＲＯＭ２に読み出される。１ワードプログラムに必要な時間は通常、１μｓ程度であるが、この期間は１ワード分のデータを読み出すのに十分な長さである。従って、時刻ｔ３で開始したプログラムが終了する時刻ｔ４には、既に次の書き込みデータが読み出されているので、時刻ｔ４では、時刻ｔ３〜ｔ４で読み出した書き込みデータのプログラムを行う。上記処理を全データについて繰り返す（８×１０６回／１２８Ｍビット）。
【００７７】
ベリファイ動作時も同様である。時刻ｔ７において、時刻ｔ６でＲＡＭ３から読み出された１ワード分のデータを用いてベリファイが行われる。この際、同時に次の１ワード分のデータがＲＡＭ３からＥＥＰＲＯＭ２に読み出される。１ワードベリファイに必要な時間は通常、０．５μｓ程度であるが、この期間も１ワード分のデータを読み出すのに十分な長さである。従って、時刻ｔ７で開始したベリファイが終了する時刻ｔ８には、既に次のベリファイデータが読み出されているので、時刻ｔ８では、時刻ｔ７〜ｔ８で読み出したベリファイデータを用いたベリファイを行う。上記処理を全データについて繰り返す（８×１０６回／１２８Ｍビット）。
【００７８】
以上のように、ＲＡＭ３から読み出すべきデータのうち、メモリセルに書き込むべき最初の１ワード分のデータ、及びベリファイすべき最初の１ワード分のデータ以外のデータは、プログラム中またはベリファイ中にＲＡＭ３から読み出される。従って、これらのデータを読み出すために必要な時間は、ＥＥＰＲＯＭ２の外部から見た場合、ゼロである。言い換えれば、上記第１の実施形態で説明した方法に比べて、プログラム時におけるＲＡＭ３からのデータの読み出し時間、及びベリファイ時におけるＲＡＭ３からのデータの読み出し時間を、それぞれ１／（８×１０６）にすることが出来る。そのため、データの書き込み速度を向上出来る。従って、書き込みデータバッファのサイズを、ＲＡＭ３と同一サイズにした場合と同じ速度で、ＥＥＰＲＯＭ２へのデータの書き込みを行うことが出来る。
【００７９】
［第３の実施形態］  
次に、この発明の第３の実施形態に係る半導体記憶装置、半導体装置、及びデータ書き込み方法について説明する。本実施形態は、上記第１、第２の実施形態において、ＥＥＰＲＯＭ２とＲＡＭ３とを一つのパッケージに纏めたマルチチップパッケージ（Multi-chip package）に関するものである。その他の構成は上記第１、第２の実施形態と同様であるので説明は省略する。図１６は、本実施形態に係るメモリシステム１の備える半導体装置５０のブロック図である。
【００８０】
図示するように半導体装置５０は、ＥＥＰＲＯＭを備えた半導体チップ５１、及びＲＡＭを備えた半導体チップ５２、データバス５３、アドレスバス５４、制御用バス５５、電源ピン５６、５７、チップセレクトピン５８、５９、コントロールピン６０、アドレスピン６１、及びデータピン６２を備えている。これらは同一の半導体パッケージ内にパッケージングされている。
【００８１】
半導体チップ５１及び半導体チップ５２の構成は、上記第１、第２の実施形態で説明したＥＥＰＲＯＭ２及びＲＡＭ３と同様である。データバス５３、アドレスバス５４、及び制御用バス５５は、半導体チップ５１及び半導体チップ５２間を相互に接続する。そしてデータバス５３、アドレスバス５４、及び制御用バス５５はそれぞれ、相互間でデータ、アドレス信号、及び制御信号を転送する。
【００８２】
電源ピン５６、５７は、それぞれ外部から電圧を印加され、印加された電圧をそれぞれ半導体チップ５１、５２に与える。チップセレクトピン５８、５９はそれぞれ外部からイネーブル信号／ＣＥ１、／ＣＥ２が与えられ、これらをそれぞれ半導体チップ５１、５２に与える。コントロールピン６０、アドレスピン６１、及びデータピン６２は、半導体チップ５１、５２に共通に使用される。外部からコントロールピン６０に与えられた制御信号（／ＷＥ、／ＯＥ等）は、制御用バス５５を介して半導体チップ５１または５２に与えられる。外部からアドレスピン６１に与えられたアドレス信号は、アドレスバスを介して半導体チップ５１または５２に与えられる。データピン６２に与えられたデータは、データバス５３を介して半導体チップ５１または５２に与えられる。コントロールピン６０、アドレスピン６１、及びデータピン６２に与えられた各信号は、イネーブル信号／ＣＥ１、／ＣＥ２によって動作可能とされている半導体チップ５１または５２に与えられる。
【００８３】
なお、第１、第２の実施形態で説明したとおり、半導体チップ５１は、半導体チップ５２に対してイネーブル信号／ＣＥ２及びライトイネーブル信号／ＷＥを出力可能とされている。
【００８４】
図１７は、半導体装置５０の断面図である。図示するように半導体装置５０は、上記半導体チップ５１、５２を含む３つの半導体チップを３次元的に実装したＢＧＡ（Ball Grid Array）である。図示するように半導体装置５０は、実装基板７０、銅配線７１、半導体チップ５１、５２、７２、ボンディングワイヤ７３、スペーサ７４、ハンダバンプ７５、及び封止樹脂７６を備えている。
【００８５】
実装基板７０の表面上には、ダイアタッチ材７７により半導体チップ５１がボンディングパッド面を上にして接着される。半導体チップ５１上には、ダイアタッチ材７８によりスペーサ７４が接着される。スペーサ７４は半導体チップ５１よりも小さく、半導体チップ５１のボンディングパッドはスペーサ７４によって被覆されないようにされる。スペーサ７４上には、ダイアタッチ材７９により半導体チップ５２がボンディングパッド面を上にして接着される。更に半導体チップ５２上には、ダイアタッチ材９０によって半導体チップ７２がボンディングパッド面を上にして接着される。半導体チップ７２は半導体チップ５２よりも小さく、半導体チップ５２のボンディングパッドは半導体チップ７２によって被覆されないようにされる。
【００８６】
実装基板７０の表面上には、半導体チップ５１、５２、７２毎に設けられた銅配線７１が設けられ、半導体チップ５１、５２、７２のボンディングパッドと銅配線７１とがボンディングワイヤ７３によって接続されている。そして実装基板７０の表面上には、半導体チップ５１、５２、７２、銅配線７１、及びボンディングワイヤ７３を被覆するように封止樹脂７６が設けられている。
【００８７】
実装基板７０の裏面には、複数のハンダバンプ７５が設けられている。ハンダバンプ７５は外部とのコネクタとして機能するものである。実装基板７０内部には多層の金属配線層が設けられており、該配線層を介してハンダバンプ７５と銅配線７１とが接続される。そしてハンダバンプ７５のいずれかが、図１６で説明した各ピン５６〜６２に相当する。
【００８８】
以上のように、ＥＥＰＲＯＭがＲＡＭを制御可能であれば、ＥＥＰＲＯＭとＲＡＭとを同一パッケージ内に設けても良い。
【００８９】
上記のように、この発明の第１乃至第３の実施形態に係るメモリシステムであると、ＥＥＰＲＯＭ２はＲＡＭ３を動作状態とするためのイネーブル信号／ＣＥ２、／ＯＥを出力可能とされ、またＲＡＭ３に対するアドレス信号を出力可能とされている。これにより、ＥＥＰＲＯＭ２の外部に設けられたＲＡＭ３をバッファメモリとして用いて、ＥＥＰＲＯＭ２へデータを書き込んでいる。従って、ＥＥＰＲＯＭ２の備える書き込みデータバッファのサイズを大きくすることなく、ＥＥＰＲＯＭ２への書き込み速度を向上出来る。
【００９０】
なお、ＲＡＭ３から読み出したデータをＥＥＰＲＯＭ２がどの領域に書き込むかは、ＥＥＰＲＯＭ２自身が決定出来る。この様子を図１８に示す。図１８はＥＥＰＲＯＭ２のメモリ空間を示す概念図である。例えばＥＥＰＲＯＭ２が１２８ＭビットでＲＡＭが３２Ｍビットであったと仮定する。すると、例えばＥＥＰＲＯＭ２のメモリ空間を各々３２Ｍビットの第１乃至第４領域に分割したとすると、ＲＡＭ３の保持する３２Ｍビットのデータを、第１乃至第４領域のいずれに書き込むかは、ＥＥＰＲＯＭ２が決定出来る。勿論、ＣＰＵ４から命令があっても良い。
【００９１】
また、上記実施形態ではＥＥＰＲＯＭ２としてＮＯＲ型フラッシュメモリの場合を例に説明したが、ＮＡＮＤ型フラッシュメモリであっても良い。図１９はＮＡＮＤ型フラッシュメモリの備えるメモリセルアレイの回路図である。
【００９２】
図示するようにメモリセルアレイは、複数のＮＡＮＤセルを有している。図１９では１行のＮＡＮＤセルのみを示しているが複数あっても良い。ＮＡＮＤセルの各々は、３２個のメモリセルトランジスタＭＴ０〜ＭＴ３１と、選択トランジスタＳＴ１、ＳＴ２とを含んでいる。以下では、説明の簡潔化のために、メモリセルトランジスタＭＴ０〜ＭＴ３１を単にメモリセルトランジスタＭＴと呼ぶことがある。メモリセルトランジスタＭＴは、半導体基板上にゲート絶縁膜を介在して形成されたフローティングゲートと、フローティングゲート上にゲート間絶縁膜を介在して形成されたコントロールゲートとを有する積層ゲート構造を備えている。なお、メモリセルトランジスタＭＴの個数は３２個に限られず、８個や１６個であってもよく、その数は限定されるものではない。メモリセルトランジスタＭＴは、隣接するもの同士でソース、ドレインを共有している。そして、選択トランジスタＳＴ１、ＳＴ２間に、その電流経路が直列接続されるようにして配置されている。直列接続されたメモリセルトランジスタＭＴの一端側のドレイン領域は選択トランジスタＳＴ１のソース領域に接続され、他端側のソース領域は選択トランジスタＳＴ２のドレイン領域に接続されている。
【００９３】
同一行にあるメモリセルトランジスタＭＴのコントロールゲートはワード線ＷＬ０〜ＷＬ３１のいずれかに共通接続され、同一行にあるメモリセルの選択トランジスタＳＴ１、ＳＴ２のゲートは、それぞれセレクトゲート線ＳＧＤ、ＳＧＳに共通接続されている。また、メモリセルアレイにおいて同一列にある選択トランジスタＳＴ１のドレインはビット線ＢＬ０〜ＢＬｎ（ｎは自然数）のいずれかに共通接続される。選択トランジスタＳＴ２のソースはソース線ＳＬに共通接続される。なお、選択トランジスタＳＴ１、ＳＴ２は必ずしも両方必要ではなく、ＮＡＮＤセルを選択出来るのであればいずれか一方のみが設けられていても良い。
【００９４】
上記のようなＮＡＮＤ型フラッシュメモリであっても、上記実施形態は適用出来る。また、フラッシュメモリに限らず、書き込みデータバッファを用いて複数のメモリセルに対して同時にデータを書き込む半導体メモリ全般に適用可能である。また、同時に書き込まれるデータサイズは１ワード単位に限らず、複数のデータでありさえすれば十分である。
【００９５】
また上記実施形態は、アプリケーションシステムにおけるプログラム保持の目的で使用される半導体メモリに適用することで、顕著な効果が得られる。アプリケーションシステムでは、製品の出荷時にＲＯＭライタを用いてプログラムをＥＥＰＲＯＭに書き込む。この場合、大容量のプログラムデータが一括してＥＥＰＲＯＭに書き込まれる。従ってこのような場合、ＲＯＭライタをホスト機器として用いて、上記第１、第２の実施形態の方法を適用することが望ましい。
【００９６】
更に上記実施形態では、書き込みデータバッファのサイズが１ページ分である場合について説明した。しかし、書き込みデータバッファのサイズは、メモリセルに同時に書き込み可能なデータサイズ（上記実施形態では１ワード）分だけあれば十分である。しかし、半導体チップの使い方によってはＥＥＰＲＯＭ２をＲＡＭ３と共に使用できない場合を考慮すると、書き込みデータバッファのサイズは１ワード分よりも大きいことが望ましい。
【００９７】
なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。
【図面の簡単な説明】
【００９８】
【図１】この発明の第１の実施形態に係るメモリシステムのブロック図。
【図２】この発明の第１の実施形態に係るＥＥＰＲＯＭのブロック図。
【図３】この発明の第１の実施形態に係るＥＥＰＲＯＭの備えるメモリセルアレイの回路図。
【図４】この発明の第１の実施形態に係るＥＥＰＲＯＭの備えるメモリセルアレイの断面図。
【図５】この発明の第１の実施形態に係るメモリシステムにおける、ＥＥＰＲＯＭへのデータ書き込み方法を示すフローチャート。
【図６】この発明の第１の実施形態に係るＥＥＰＲＯＭにおけるデータ書き込み方法を示すフローチャート。
【図７】この発明の第１の実施形態に係るＥＥＰＲＯＭのブロック図であり、データの書き込み時の様子を示す図。
【図８】ＥＥＰＲＯＭへのデータ書き込み方法を示すフローチャート。
【図９】図８に示す書き込み方法における動作内容を示すタイミングチャート。
【図１０】この発明の第１の実施形態に係るＥＥＰＲＯＭにおけるデータ書き込み方法を示すフローチャート。
【図１１】図１０に示す書き込み方法における動作内容を示すタイミングチャート。
【図１２】この発明の第２の実施形態に係るＥＥＰＲＯＭのブロック図。
【図１３】この発明の第２の実施形態に係るＥＥＰＲＯＭにおけるデータ書き込み方法を示すフローチャート。
【図１４】この発明の第２の実施形態に係るＥＥＰＲＯＭのブロック図であり、データの書き込み時の様子を示す図。
【図１５】この発明の第２の実施形態に係るＥＥＰＲＯＭにおけるデータ書き込み時の、動作内容を示すタイミングチャート。
【図１６】この発明の第３の実施形態に係るマルチチップパッケージのブロック図。
【図１７】この発明の第３の実施形態に係るマルチチップパッケージの断面図。
【図１８】この発明の第１乃至第３の実施形態の第１変形例に係るＥＥＰＲＯＭのメモリ空間の概念図であり、ＲＡＭ３からＥＥＰＲＯＭへデータを書き込む様子を示す図。
【図１９】この発明の第１乃至第３の実施形態の第２変形例に係るＥＥＰＲＯＭの備えるメモリセルアレイの回路図。
【符号の説明】
【００９９】
１…メモリシステム、２…ＥＥＰＲＯＭ、３…ＲＡＭ、４…ＣＰＵ、５…レギュレータ回路、６…電源回路、７…入力装置、８…入力Ｉ／Ｆコントローラ、９…表示装置、１０…表示装置コントローラ、１１、５３…データバス、１２、５４…アドレスバス、２０…メモリセルアレイ、２１…ロウデコーダ、２２…カラムデコーダ、２３…カラムセレクタ、２４…ソース線ドライバ、２５、３７、３８…書き込みデータバッファ、２６…センスアンプ、２７…データ入出力バッファ、２８…コマンドレジスタ、２９…出力バッファ、３０…入出力バッファ、３１…入力バッファ、３２…アドレスレジスタ、３３…アドレス入出力バッファ、３４…電圧発生回路、３５…ベリファイ回路、３６…制御回路、５０…マルチチップパッケージ、５１、５２…半導体チップ、５５…制御用バス、５６、５７…電源ピン、５８、５９…チップセレクトピン、６０…コントロールピン、６１…アドレスピン、６２…データピン、７０…実装基板、７１…銅配線、７３…ボンディングワイヤ、７４…スペーサ、７５…ハンダバンプ、７６…封止樹脂、７７〜８０…ダイアタッチ材
【図１】
2008047244.tif 000003
【図２】
2008047244.tif 000004
【図３】
2008047244.tif 000005
【図４】
2008047244.tif 000006
【図５】
2008047244.tif 000007
【図６】
2008047244.tif 000008
【図７】
2008047244.tif 000009
【図８】
2008047244.tif 000010
【図９】
2008047244.tif 000011
【図１０】
2008047244.tif 000012
【図１１】
2008047244.tif 000013
【図１２】
2008047244.tif 000014
【図１３】
2008047244.tif 000015
【図１４】
2008047244.tif 000016
【図１５】
2008047244.tif 000017
【図１６】
2008047244.tif 000018
【図１７】
2008047244.tif 000019
【図１８】
2008047244.tif 000020
【図１９】
2008047244.tif 000021