(57)【特許請求の範囲】
【請求項１】
それぞれ複数の不揮発性メモリを含んで成る複数のメモリモジュールと、
外部からのアクセス要求に応じて上記複数のメモリモジュールの動作を制御するためのコントローラと、
上記コントローラから出力された選択信号をデコードすることによって、上記メモリモジュールを選択的にイネーブル状態とするためのモジュールイネーブル信号を得るモジュール選択デコーダと、を含み、上記メモリモジュールが着脱自在に装着され、
上記コントローラからの指示に従って上記複数のメモリモジュールを、上記メモリモジュール毎に互いに異なるタイミングで順次リセット可能なリセット制御部を含む、不揮発性メモリ装置。
【請求項２】
それぞれ複数の不揮発性メモリを含んで成る複数のメモリモジュールと、
外部からのアクセス要求に応じて上記複数のメモリモジュールの動作を制御するためのコントローラと、
上記コントローラからの指示に従って上記複数のメモリモジュールを、上記不揮発性メモリ毎に互いに異なるタイミングで順次リセット可能なリセット制御部を含む、不揮発性メモリ装置。
【請求項３】
複数の不揮発性メモリを有し、上記コントローラは、上記複数の不揮発性メモリの一部の不揮発性メモリによる書込み動作に並行して、別の不揮発性メモリに書き込みデータを転送制御することでライトインターリブを可能とするメモリ制御部と、
上記コントローラ全体の動作を制御するためのマイクロ・プロセッシング・ユニットと、を含む請求項１もしくは２の何れかに記載の不揮発性メモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリ装置に関し、例えば電気的に消去及び書込み可能なフラッシュメモリを備えたフラッシュメモリシステムに適用して有効な技術に関する。
【背景技術】
【０００２】
浮遊ゲートに対する電子の注入や電子の引き抜きによって情報を記憶させることができる不揮発性半導体メモリとして、フラッシュメモリを挙げることができる。フラッシュメモリはフローティングゲート（浮遊ゲート）、コントロールゲート、ソース及びドレインを持つメモリセルトランジスタを有する。このメモリセルトランジスタは、上記フローティングゲートに電子が注入されると閾値電圧が上昇し、また、上記フローティングゲートから電子を引き抜くと閾値電圧が低下する。上記メモリセルトランジスタは、データ読み出しのためのワード線電圧（コントロールゲート印加電圧）に対する閾値電圧の高低に応じた情報を記憶することになる。特に制限されないが、本明細書においてメモリセルトランジスタの閾値電圧が低い状態を消去状態、高い状態を書き込み状態と称する。
【０００３】
このようなフラッシュメモリを複数個設け、データバス及びアドレスバスを共通化したメモリモジュールとして、特開平１１−２７３３７０号公報に記載されたＩＣメモリがある。このＩＣメモリにおいては、データ制御部でデータバスと各メモリチップとの間のコマンドや各種データの入出力を行い、コマンド制御部で、外部からのコマンドに従って外部より入力されたチップイネーブル信号からメモリチップに対するチップイネーブルを生成し、シリアルクロック発生器でメモリチップに対する内部シリアルクロック信号を生成して出力し、メモリチップの同一セクタアドレスに対して、連続したデータの読み出し、データの書き込み又はデータの消去を１回のコマンド及びセクタアドレスの入力で行うようにしている。
【０００４】
【特許文献１】特開平１１−２７３３７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
フラッシュメモリなどの不揮発性メモリを使用したメモリシステムは、そこに搭載されるメモリチップ数が固定的であり、例えば６４ＭＢ製品や１２８ＭＢ製品などのように、記憶容量別に製品化されている。ユーザシステムにおいては、ユーザシステムの構成に応じて必要な記憶容量を備えたメモリシステムが装着される。
【０００６】
しかしながら、ひとつの基板に複数の不揮発性メモリチップを直接実装することにより、記憶容量別にメモリシステムを製造する場合には、メモリシステムにおいて記憶容量を変更することはできないから、製造メーカは、記憶容量毎に在庫を抱えるおそれがある。また、メモリシステムにおいて基板に搭載された複数のメモリチップのうちのひとつに異常があれば、そのようなチップを含むメモリシステムは不良品扱いとされる。
【０００７】
さらに、ハードディスクの代わりに使用されるようなメモリシステムが適用される場合等には、当該メモリシステムの記憶容量は大容量であることが望まれる。そしてその場合には多数のメモリチップが搭載されるようなメモリシステムについて本願発明者が検討したところ、ひとつのボードに複数の不揮発性メモリが搭載されている場合において、そこに搭載されている複数の不揮発性メモリが一斉にリセットされた場合には、当該リセットに起因して瞬間的に大電流が流れ、電源回路の供給電圧の低下によりリセット期間が長期化したり、リセット処理が十分に行われなかったり、さらには電源回路の損傷を招くおそれがあることが見いだされた。
【０００８】
本発明の目的は、記憶容量の変更を容易に行い得る不揮発性メモリ装置を提供することにある。
【０００９】
本発明の別の目的は、不揮発性メモリのリセット動作に起因する大電流を緩和するための技術を提供することにある。
【００１０】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１１】
本願において開示される発明のうち代表的なものについて簡単に説明すれば下記のとおりである。
【００１２】
すなわち、それぞれ複数の不揮発性メモリを含んで成る複数のメモリモジュールと、外部からのアクセス要求に応じて上記複数のメモリモジュールの動作を制御するためのコントローラと、上記コントローラから出力された選択信号をデコードすることによって、上記メモリモジュールを選択的にイネーブル状態とするためのモジュールイネーブル信号を得るモジュール選択デコーダとを含み、上記メモリモジュールが着脱自在に装着されて成る。
【００１３】
上記の手段によれば、モジュール選択デコーダは、上記コントローラから出力された選択信号をデコードすることによって、上記メモリモジュールを選択的にイネーブル状態とするためのモジュールイネーブル信号を形成する。このモジュールイネーブル信号によって、メモリモジュールの選択が行われる。メモリモジュールは着脱自在であるため、メモリモジュールの増減によって、不揮発性メモリ装置全体の記憶容量の変更が可能とされる。
【００１４】
このとき、上記複数のメモリモジュールは、上記コントローラから出力された選択信号をデコードすることによって、上記不揮発性メモリを選択するためのチップ選択デコーダと、上記モジュール選択デコーダの出力信号と、上記チップ選択デコーダの出力信号とに基づいて、上記不揮発性メモリを選択するためのチップ選択信号を形成する第１制御論理とをそれぞれ含んで容易に構成することができる。
【００１５】
また、上記複数のメモリモジュールは、上記コントローラから出力された選択信号をデコードすることによって、上記不揮発性メモリを選択するためのチップ選択デコーダと、上記モジュール選択デコーダの出力信号と、上記チップ選択デコーダの出力信号とに基づいて、上記不揮発性メモリを選択するためのチップ選択信号を形成する第１制御論理と、上記モジュール選択デコーダの出力信号によって非選択状態とされているメモリモジュールにおける上記複数の不揮発性メモリに対して上記コントローラからの制御信号伝達を阻止するための第２制御論理とをそれぞれ含んで容易に構成することができる。
【００１６】
上記のように上記モジュール選択デコーダの出力信号によって非選択状態とされているメモリモジュールにおける上記複数の不揮発性メモリには、上記コントローラから出力された制御信号の伝達が阻止されるため、メモリモジュール数が増加された場合でも、上記コントローラの出力部から見た負荷が不所望に増大するのを回避することができ、大容量化によりメモリモジュール数が増加された場合でも、上記コントローラの出力部の駆動能力を上げる必要はないので、コントローラの設計変更を伴わずに済む。
【００１７】
上記コントローラからの指示に従って上記複数のメモリモジュールを、上記メモリモジュール毎に互いに異なるタイミングで順次リセット可能なリセット制御部を設けることができる。このリセット制御部によれば、上記メモリモジュール毎に互いに異なるタイミングで順次リセットされることから、リセットに起因する電流が経時的に分散され、各メモリモジュール毎のリセットに起因する電流が集中するのを回避することができる。
【００１８】
上記コントローラからの指示に従って上記複数のメモリモジュールを、上記不揮発性メモリ毎に互いに異なるタイミングで順次リセット可能なリセット制御部を設けることもでき、その場合においても、上記複数のメモリモジュールは、上記不揮発性メモリ毎に互いに異なるタイミングで順次リセットされることから、リセットに起因する電流が経時的に分散され、各不揮発性メモリ毎のリセットに起因する電流が集中するのを回避することができる。
【００１９】
上記リセット制御部は、上記メモリモジュール毎のリセット信号の入力端子に対応する出力端子を有する情報保持手段を備えることで容易に形成することができ、その場合において上記コントローラによって上記情報保持手段の保持情報を更新することで上記リセット信号が順次ネゲートされる。このとき、上記情報保持手段は、フリップフロップ回路やシフトレジスタによって容易に形成することができる。
【００２０】
また、複数の不揮発性メモリを有するとき、上記コントローラは、上記複数の不揮発性メモリの一部の不揮発性メモリに対する書き込み動作に並行して別の不揮発性メモリに書き込みデータを転送制御することでライトインターリブを可能とするメモリ制御部と、上記コントローラ全体の動作を制御するためのマイクロ・プロセッシング・ユニットとを含んで構成することができる。
【００２１】
上記インターリブによれば、例えば第１不揮発性メモリに対して書き込みデータを転送制御し、上記第１不揮発性メモリにおいて上記書き込みデータの書き込み処理が行われている期間に、次の書き込みデータを、上記第１不揮発性メモリとは異なる第２不揮発性メモリに転送制御することができるので、データ書き込みのパフォーマンスの向上を達成することができる。このとき、インターリブは、同一のメモリモジュールにおける不揮発性メモリを利用して行うこともできるし、互いに異なるメモリモジュールに設けられている不揮発性メモリを利用して行うこともできる。また、第１不揮発性メモリ、第２不揮発性メモリが共に書き込み処理している期間に、上記第１不揮発性メモリ、第２不揮発性メモリとは異なる第３不揮発性メモリに転送制御することによってパフォーマンスをさらに向上させることも可能である。同様に第４不揮発性メモリ、第５不揮発性メモリ、さらに多数個の不揮発性メモリを含めて、同様の手順で転送制御することによって、さらなるパフォーマンスの向上を達成することも可能である。
【発明の効果】
【００２２】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００２３】
すなわち、すなわち、モジュール選択デコーダは、コントローラから出力された選択信号をデコードすることによって、メモリモジュールを選択的にイネーブル状態とするためのモジュールイネーブル信号を形成し、このモジュールイネーブル信号によって、メモリモジュールの選択が行われる。メモリモジュールは着脱自在であるため、メモリモジュールの増減によって、不揮発性メモリ装置全体の記憶容量の変更が可能とされる。
【００２４】
このとき、上記複数のメモリモジュールは、上記コントローラから出力された選択信号をデコードすることによって、上記不揮発性メモリを選択するための信号を得るチップ選択デコーダと、上記モジュール選択デコーダの出力信号と、上記チップ選択デコーダの出力信号とに基づいて、上記不揮発性メモリを選択するためのチップ選択信号を形成する第１制御論理とをそれぞれ含んで容易に構成することができる。
【００２５】
モジュール選択デコーダの出力信号によって非選択状態とされているメモリモジュールにおける複数の不揮発性メモリには、コントローラから出力された制御信号の伝達が阻止されるため、メモリモジュール数が増加された場合でも、コントローラの出力部から見た負荷が不所望に増大するのを回避することができ、大容量化によりメモリモジュール数が増加された場合でも、上記コントローラの出力部の駆動能力を上げる必要はないので、コントローラの設計変更を伴わずに済む。
【００２６】
コントローラからの指示に従って複数のメモリモジュールを、メモリモジュール毎に互いに異なるタイミングで順次リセット可能なリセット制御部を設けることにより、それにより上記メモリモジュール毎又は不揮発性メモリ毎に互いに異なるタイミングで順次リセットされることから、リセットに起因する電流が経時的に分散され、各メモリモジュール毎のリセットに起因する電流が集中するのを回避することができるから、不揮発性メモリのリセット動作に起因する大電流を緩和することができる。
【００２７】
また、上記複数の不揮発性メモリにおける第１不揮発性メモリに対して書き込みデータを転送制御し、上記第１不揮発性メモリにおいて上記書き込みデータの書き込み処理が行われている期間に、次の書き込みデータを、上記第１不揮発性メモリとは異なる第２不揮発性メモリに転送制御することでライトインターリブを可能とするメモリ制御部が設けられることにより、データ書き込みのパフォーマンスの向上を図ることができる。
【発明を実施するための最良の形態】
【００２８】
図１には、本発明にかかる不揮発性メモリ装置の一例であるフラッシュメモリシステムが示される。図１に示されるフラッシュメモリシステム２００は、特に制限されないが、８個のメモリモジュールＭＯＤ０〜ＭＯＤ７、モジュール選択デコーダ２２０、リセット制御部２３０、及びコントローラ２１０が親基板２４０に搭載されて成り、例えばコンピュータシステムなどのホストシステム１００によってアクセス可能とされる。すなわち、ホストシステム１００からの書き込み要求によって書き込み用データをメモリモジュールＭＯＤ０〜ＭＯＤ７に書き込むことができ、また、ホストシステム１００からの読み出し要求により、メモリモジュールＭＯＤ０〜ＭＯＤ７の記憶情報を読み出すことができる。メモリモジュールＭＯＤ０〜ＭＯＤ７は、特に制限されないが、それぞれ複数のフラッシュメモリが搭載されて成り、親基板２４０に設けられたソケットを介して親基板２４０に装着される。コントローラ２１０は、フラッシュメモリシステム２００の外部からのアクセス要求に応じて上記複数のメモリモジュールの動作を制御する。モジュール選択デコーダ２２０は、上記コントローラ２１０から出力された複数ビット構成の選択信号の一部をデコードすることによって、上記複数のメモリモジュールＭＯＤ０〜ＭＯＤ７からひとつのメモリモジュールを選択的にイネーブル状態とするためのモジュールイネーブル信号を得る。リセット制御部２３０は、上記コントローラからの指示に従って上記複数のメモリモジュールＭＯＤ０〜ＭＯＤ７を、上記メモリモジュール毎に互いに異なるタイミングで順次リセット可能なリセット信号を生成する。
【００２９】
図２には、上記フラッシュメモリシステム２００のさらに詳細な構成例が示される。
【００３０】
コントローラ２１０からは、７ビット構成の選択信号ＣＳが出力される。この７ビット構成の選択信号のうち、上位３ビットはモジュール選択デコーダ２２０に伝達され、下位４ビットは各メモリモジュールＭＯＤ０〜ＭＯＤ７に伝達される。モジュール選択デコーダ２２０は、モジュールイネーブル信号ＭＥ＿Ｎ００〜ＭＥ＿Ｎ０７を生成し、上記コントローラ２１０から出力された７ビット構成の選択信号のうち、上位３ビットをデコードすることによってモジュールイネーブル信号ＭＥ＿Ｎ００〜ＭＥ＿Ｎ０７の中のひとつを選択レベルにする。このモジュールイネーブル信号ＭＥ＿Ｎ００〜ＭＥ＿Ｎ０７は、メモリモジュールＭＯＤ０〜ＭＯＤ７を個別的にイネーブル状態とするための信号として、それぞれ対応するメモリモジュールＭＯＤ０〜ＭＯＤ７に伝達される。また、コントローラ２１０には、８ビット構成のデータ入出力端子が設けられ、このデータ入力端子はＩ／Ｏバスを介して上記複数のメモリモジュールＭＯＤ０〜ＭＯＤ７に結合されるとともに、リセット制御部２３０に結合される。さらに、コントローラ２１０からは、コマンドデータイネーブル信号ＣＤＥ＿Ｎ、アウトプットイネーブル信号ＯＥ＿Ｎ、ライトイネーブル信号ＷＥ＿Ｎ、及びシリアルクロック信号ＳＣが出力され、それらは上記複数のメモリモジュールＭＯＤ０〜ＭＯＤ７に伝達される。そしてコントローラ２１０からは、リセット書き込みイネーブル信号ＲＳＴ＿ＣＴＲＬ＿ＷＥ、及びリセット信号ＲＳＴ＿Ｎが出力され、それらはリセット制御部２３０に伝達される。リセット制御部２３０は、特に制限されないが、上記メモリモジュール毎のリセット信号の入力端子に対応する出力端子を有するフリップフロップ回路ＦＦによって構成される。フリップフロップ回路ＦＦの保持情報の更新は、コントローラ２１０によって行われる。すなわち、コントローラ２１０によってリセット書き込みイネーブル信号ＲＳＴ＿ＣＴＲＬ＿ＷＥが立ち上がった際に、Ｉ／Ｏバスを介して伝達された情報がフリップフロップ回路ＦＦに書き込まれる。このフリップフロップ回路ＦＦの保持情報がコントローラ２１０によって更新されることによって、メモリモジュールＭＯＤ０〜ＭＯＤ７のリセットが互いに異なるタイミングで行われるように、メモリモジュール毎のリセット信号ＲＥＳ＿Ｎ＿Ｍ０〜ＲＥＳ＿Ｎ＿Ｍ７のネゲートタイミングが制御される。
【００３１】
次に、メモリモジュールＭＯＤ０〜ＭＯＤ７の詳細な構成について説明する。尚、メモリモジュールＭＯＤ０〜ＭＯＤ７は互いに同一構成とされるため、代表的に示されるメモリモジュールＭＯＤ０についてのみ詳細に説明する。
【００３２】
メモリモジュールＭＯＤ０は、特に制限されないが、１６個のフラッシュメモリＦＭ００〜ＦＭ１５、チップ選択デコーダ５１、ゲートＧ００〜Ｇ１５、トランシーバ５２、及び制御信号マスク部５３を含む。
【００３３】
フラッシュメモリＦＭ００〜ＦＭ１５は、互いに同一構成とされ、それぞれ独立してデータの読み出し及び書き込みが可能とされる。例えばフラッシュメモリＦＭ００は、次のように構成される。
【００３４】
図９にはフラッシュメモリＦＭ００の全体的な回路ブロック図が示される。同図に示されるフラッシュメモリＦＭ００は、特に制限されないが、一つのメモリセルに２ビットの情報を記憶する４値フラッシュメモリとされる。
【００３５】
同図においてメモリアレイ３は、メモリマット、データラッチ回路及びセンスラッチ回路を有する。このメモリマットは電気的に消去及び書き込み可能な不揮発性のメモリセルトランジスタを多数有する。メモリセルトランジスタ（フラッシュメモリセルとも記す）は、例えば半導体基板若しくはウェル内に形成されたソース及びドレインと、ソースとドレインとの間のチャンネル領域にトンネル酸化膜を介して形成されたフローティングゲート、そしてフローティングゲートに層間絶縁膜を介して重ねられたコントロールゲートによって構成される。コントロールゲートはワード線６に、ドレインはビット線５に、ソースは図示を省略するソース線に接続される。
【００３６】
フラッシュメモリＦＭ００の外部入出力端子Ｉ／Ｏ０００は８ビット構成であり、この外部入出力端子Ｉ／Ｏ０００は、アドレス入力端子、データ入力端子、データ出力端子、コマンド入力端子に兼用される。外部入出力端子Ｉ／Ｏ０００から入力されたＸアドレス信号はマルチプレクサ７を介してＸアドレスバッファ８に供給される。Ｘアドレスデコーダ９はＸアドレスバッファ８から出力される内部相補アドレス信号をデコードしてワード線を駆動する。
【００３７】
上記ビット線５の一端側には、センスラッチ回路が設けられ、他端にはデータラッチ回路が設けられている。ビット線５はＹアドレスデコーダ１１から出力される選択信号に基づいてＹゲートアレイ回路１３で選択される。外部入出力端子Ｉ／Ｏ０００から入力されたＹアドレス信号はＹアドレスカウンタ１２にプリセットされ、プリセット値を起点に順次インクリメントされたアドレス信号が上記Ｙアドレスデコーダ１１に与えられる。
【００３８】
Ｙゲートアレイ回路１３で選択されたビット線は、データ出力動作時には出力バッファ１５の入力端子に導通され、データ入力動作時には入力バッファ１７を介してデータ制御回路１６の出力端子に導通される。出力バッファ１５、入力バッファ１７と上記入出力端子Ｉ／Ｏ０００との接続は上記マルチプレクサ７で制御される。入出力端子Ｉ／Ｏ０００から供給されるコマンドはマルチプレクサ７及び入力バッファ１７を介してモード制御回路１８に与えられる。
【００３９】
制御信号バッファ回路１９には、アクセス制御信号としてチップイネーブル信号ＣＥ＿Ｎ００の入力端子ＣＥ＿Ｎ０００、アウトプットイネーブル信号ＯＥ＿Ｎの入力端子ＯＥ＿Ｎ０００、ライトイネーブル信号ＷＥ＿Ｎの入力端子ＷＥ＿Ｎ０００、シリアルクロック信号ＳＣの入力端子ＳＣ０００、リセット信号ＲＥＳ＿Ｎ＿Ｍ０の入力端子ＲＥＳ＿Ｎ００及びコマンドデータイネーブル信号ＣＤＥ＿Ｎの入力端子ＣＤＥ＿Ｎ０００が結合される。モード制御回路１８は、それら信号の状態に応じて外部との信号インタフェース機能などを制御し、また、入力されたコマンドに従って内部動作を制御する。入出力端子Ｉ／Ｏ０００に対するコマンド入力又はデータ入力の場合、上記端子ＣＤＥ＿Ｎ０００から入力されたコマンドデータイネーブル信号ががアサートされ、コマンド入力であれば更に端子ＷＥ＿Ｎ０００の信号がアサートされ、データ入力であれば端子ＷＥ＿Ｎ０００の信号がネゲートされる。アドレス入力であれば、上記端子ＣＤＥ＿Ｎ０００の信号がネゲートされ、端子ＷＥ＿Ｎ０００の信号がアサートされる。これにより、モード制御回路１８は、外部入出力端子Ｉ／Ｏ０００からマルチプレクスされて入力されるコマンド、データ及びアドレスを区別できる。尚、図示されてはいないが、消去や書込み動作中にレディー（ＲＤＹ）信号、ビジー（ＢＳＹ）信号をアサートしてその状態を外部に知らせることができる。
【００４０】
内部電源回路（内部電圧発生回路）２０は、書込み、消去、ベリファイ、読み出しなどのための各種内部電圧とされる動作電源２１を生成して、上記Ｘアドレスデコーダ９やメモリセルアレイ３に供給する。
【００４１】
上記モード制御回路１８は、入力コマンドに従ってフラッシュメモリＦＭ００を全体的に制御する。フラッシュメモリＦＭ００の動作は、基本的にコマンドによって決定される。フラッシュメモリのコマンドには、例えば読み出し、消去、書込み、及び追加書込みの各コマンドがある。コマンドコードは１６進数表記される。１６進数であることは記号「ｈ」で示される。
【００４２】
フラッシュメモリＦＭ００はその内部状態を示すためにステータスレジスタ１８０を有し、その内容は、信号ＯＥ＿Ｎ０００をアサートすることによって入出力端子Ｉ／Ｏ０００から読み出すことができる。
【００４３】
フラッシュメモリＦＭ００が実現しようとする多値情報記憶技術において、一つのメモリセルの情報記憶状態は、消去状態（“１１”）、第１の書込み状態（“１０”）、第２の書込み状態（“００”）、第３の書込み状態（“０１”）の中から選ばれた一つの状態とされる。全部で４通りの情報記憶状態は、２ビットのデータによって決定される状態とされる。すなわち、２ビットのデータを一つのメモリセルで記憶する。
【００４４】
例えば消去の後の書込み動作時にワード線に印加する書込みベリファイ電圧を相互に異なる３種類の電圧に設定し、これらの３種類の電圧を順次切り替えて、３回に分けて書込み動作を行なう。書込み選択のビット線には０Ｖ、非選択のビット線には６Ｖを印加する。特に制限されないが、ワード線は例えば１７Ｖとされる。上記書き込み高電圧印加時間を多くするにしたがってメモリセルの閾値電圧が上昇される。３種類の書き込み閾値電圧制御は、そのような高電圧状態の時間制御、更にはワード線に印加する高電圧のレベル制御によって行うことができる。
【００４５】
ビット線に０Ｖを印加するか、６Ｖを印加するかは、センスラッチ回路にラッチさせる書込み制御情報の論理値で決定される。書込み動作選択メモリマット側においてセンスラッチのラッチデータが論理値“１”で書込み非選択、論理値“０”で書き込み選択となるように制御される。その制御の詳細は後述する。尚、セクタ一括消去時には、選択ワード線が−１６Ｖとされ、非選択ワード線が０Ｖとされ、選択ビット線は２Ｖとされる。
【００４６】
さらに、図２においてチップ選択デコーダ５１は、上記コントローラ２１０から出力された７ビット構成の選択信号ＣＳにおける下位４ビット（第２選択信号）を取り込み、それをデコードすることによって、上記複数のフラッシュメモリＦＭ００〜ＦＭ１５からひとつのフラッシュメモリを選択するための信号を得る。１６個の論理ゲートＧ００〜Ｇ１５は、上記チップ選択デコーダ５１の出力信号と、メモリモジュール選択デコーダ２２０からのモジュールイネーブル信号ＭＥ＿Ｎ００とのオア論理を得ることによって、フラッシュメモリＦＭ００〜ＦＭ１５を選択的にイネーブル状態とするためのチップイネーブル信号ＣＥ＿Ｎ００〜ＣＥ＿１５が形成される。例えばチップイネーブル信号ＣＥ＿Ｎ００がローレベルにアサートされることによってフラッシュメモリＦＭ００がイネーブル状態にされ、チップイネーブル信号ＣＥ＿Ｎ１５がローレベルにアサートされることによってフラッシュメモリＦＭ１５がイネーブル状態にされる。
【００４７】
トランシーバ５２は、データの転送方向を決定するもので、互いに逆方向に並列接続されたトライステートバッファＢ１，Ｂ２と、このトライステートバッファＢ１，Ｂ２を選択的に導通状態とするための論理ゲート５２１，５２２とを含む。論理ゲート５２１，５２２の一方の入力端子には、モジュール選択デコーダ２２０からのモジュールイネーブ信号ＭＥ＿Ｎ００が伝達され、論理ゲート５２１，５２２の他方の入力端子には、コントローラ２１０からのアウトプットイネーブル信号ＯＥ＿Ｎが、ＤＩＲ信号として伝達される。モジュール選択デコーダ２２０からのモジュールイネーブ信号ＭＥ＿Ｎ００がローレベルにアサートされた状態で、アウトプットイネーブル信号ＯＥ＿Ｎ（ＤＩＲ）がハイレベルの場合には、論理ゲート５２２の出力信号がハイレベルにされることでトライステートバッファＢ１が導通状態とされる。このとき、論理ゲート５２１の出力信号はローレベルとされるため、トライステートバッファＢ２は非導通状態とされる。トライステートバッファＢ１が導通状態とされた場合には、コントローラ２１０からＩ／Ｏバスを介して伝達されたデータがフラッシュメモリＦＭ００〜ＦＭ１５に伝達される。また、モジュール選択デコーダ２２０からのモジュールイネーブ信号ＭＥ＿Ｎ００がローレベルにアサートされた状態で、アウトプットイネーブル信号ＯＥ＿Ｎ（ＤＩＲ）がローレベルの場合には、論理ゲート５２１の出力信号がハイレベルにされることで、トライステートバッファＢ２が導通状態とされる。このとき、論理ゲート５２２の出力信号はローレベルとされるため、トライステートバッファＢ１は非導通状態とされる。トライステートバッファＢ２が導通状態とされた場合には、フラッシュメモリＦＭ００〜ＦＭ１５から読み出されたデータがトライステートバッファＢ２を介してコントローラ２１０や別のメモリモジュールＭＯＤ１〜ＭＯＤ７に伝達される。
【００４８】
制御信号マスク部５３は、入力信号のオア論理を得る４個の論理ゲート５３１〜５３４を含む。モジュール選択デコーダ２２０からのモジュールイネーブル信号ＭＥ＿Ｎ００がローレベルにアサートされている期間において、コントローラ２１０から出力された各種信号ＣＤＥ＿Ｎ、ＯＥ＿Ｎ、ＷＥ＿Ｎ、ＳＣが、対応する論理ゲート５３１〜５３４を介してフラッシュメモリＦＭ００〜ＦＭ１５に伝達される。モジュール選択デコーダ２２０からのモジュールイネーブル信号ＭＥ＿Ｎ００がハイレベルにネゲートされている期間において、コントローラ２１０から出力された各種信号ＣＤＥ＿Ｎ、ＯＥ＿Ｎ、ＷＥ＿Ｎ、ＳＣは、論理ゲート５３１〜５３４でマスクされるため、フラッシュメモリＦＭ００〜ＦＭ１５には伝達されない。
【００４９】
図６には、上記コントローラ２１０の構成例が示される。
【００５０】
上記コントローラ２１０は、特に制限されないが、マイクロプロセッシングユニット（ＭＰＵ）２１１、このＭＰＵ２１１とコントローラの内部ブロックとのデータ転送を仲介するためのＭＰＵインタフェース２１２、データ転送におけるエラー訂正を行うためのエラー訂正部２１５、ホストシステム１００との間のデータ転送を仲介するためのホストインタフェース２１３、メモリモジュールＭＯＤ０〜ＭＯＤ７の動作制御のためメモリ制御部２１６、及びデータ転送速度差を緩衝するためのバッファ２１４とを含んで成る。上記バッファ２１４は、ホストシステム１００とホストインタフェース２１３との間のデータ転送速度と、メモリモジュールＭＯＤ０〜ＭＯＤ７とメモリ制御部２１６との間のデータ転送速度との差を緩衝させるために配置される。上記ホストインタフェース２１３は、特に制限されないが、ＡＴＡ規格あるいはＰＣＭＣＩＡ規格などによるインタフェースとされる。
【００５１】
ここで、図２に示される各種信号ＣＳ、ＣＤＥ＿Ｎ、ＯＥ＿Ｎ、ＷＥ＿Ｎ、ＳＣ、ＲＳＴ＿ＣＴＲＬ＿ＷＥ、ＲＳＴ＿Ｎ、及びＩ／Ｏバスに出力されるデータ等は、全てコントローラ２１０内のメモリ制御部２１６から出力される。
【００５２】
図３には、メモリモジュールＭＯＤ０におけるフラッシュメモリＦＭ１５からのリード時の動作タイミングが示される。
【００５３】
コントローラ２１０から出力された７ビット構成の選択信号ＣＳ〔６：０〕が「０Ｆｈ」の場合、それの上位３ビットがモジュール選択デコーダ２２０でデコードされ、モジュールイネーブル信号ＭＥ＿Ｎ００がローレベルにアサートされることによって、メモリモジュールＭＯＤ０が選択される。このとき、他のメモリモジュールＭＯＤ１〜ＭＯＤ７は非選択状態とされる。また、上記選択信号ＣＳ〔６：０〕の下位４ビットがチップ選択デコーダ５１でデコードされ、そのデコード出力信号と、上記モジュール選択デコーダ２２０のデコード出力信号とに基づいて、論理ゲートＧ１５の出力信号であるチップイネーブル信号ＣＥ＿Ｎ１５がローレベルにアサートされることで、メモリモジュールＭＯＤ０におけるフラッシュメモリＦＭ１５が選択される。このとき、メモリモジュールＭＯＤ０における他のフラッシュメモリＦＭ００〜ＦＭ１４は非選択状態とされる。
【００５４】
モジュール選択デコーダ２２０によってモジュールイネーブル信号ＭＥ＿Ｎ００がローレベルにアサートされているため、メモリモジュールＭＯＤ０においては、制御信号マスク部５３でのマスクが解除され、コントローラ２１０から出力された各種信号ＣＤＥ＿Ｎ，ＯＥ＿Ｎ，ＷＥ＿Ｎ，ＳＣが、メモリモジュールＭＯＤ０における制御信号マスク部５３を介してフラッシュメモリＦＭ１５に伝達される。尚、このとき、他のメモリモジュールＭＯＤ１〜ＭＯＤ７においては、モジュール選択デコーダ２２０からのモジュールイネーブル信号ＭＥ＿Ｎ０１〜ＭＥ＿Ｎ０７がハイレベルにネゲートされていることから、コントローラ２１０から出力された各種信号ＣＤＥ＿Ｎ，ＯＥ＿Ｎ，ＷＥ＿Ｎ，ＳＣは、各メモリモジュールＭＯＤ１〜ＭＯＤ７における制御信号マスク部５３においてマスクされるため、フラッシュメモリＦＭ００〜ＦＭ１５には伝達されない。このように非選択状態のメモリモジュールにおいては、コントローラ２１０から出力された各種信号ＣＤＥ＿Ｎ，ＯＥ＿Ｎ，ＷＥ＿Ｎ，ＳＣがマスクされるため、コントローラ２１０における各種信号ＣＤＥ＿Ｎ，ＯＥ＿Ｎ，ＷＥ＿Ｎ，ＳＣの出力バッファから見た負荷の軽減を図ることができる。
【００５５】
また、アウトプットイネーブル信号ＯＥ＿Ｎの論理によって、トランシーバ５２が制御されることにより、バスの転送方向性が決定される。すなわち、アウトプットイネーブル信号ＯＥ＿Ｎがハイレベルにネゲートされている期間では、トライステートバッファＢ１が導通されることによって、コントローラ２１０からフラッシュメモリＦＭ００〜ＦＭ１５へ向かうデータ転送が可能とされる。また、アウトプットイネーブル信号ＯＥ＿Ｎがローレベルにアサートされている期間では、トライステートバッファＢ２が導通されることによってフラッシュメモリＦＭ００〜ＦＭ１５から、コントローラ２１０へ向かうデータ転送が可能とされる。
【００５６】
モジュールイネーブル信号ＭＥ＿Ｎ００がローレベルにアサートされている期間において、先ず、「００ｈ」のコマンド受信が行われ、「ＳＡ１」のアドレス受信，「ＳＡ２」のアドレス受信が行われた後、アウトプットイネーブル信号ＯＥ＿Ｎがローレベルにネゲートされた期間では、トライステートバッファＢ２が導通されることによって、フラッシュメモリＦＭ００〜ＦＭ１５からコントローラ２１０へ向かうデータ転送が可能とされ、フラッシュメモリＦＭ１５から読み出されたデータＤ１〜Ｄ２１１１がトライステートバッファＢ２を介してコントローラ２１０に伝達される。
【００５７】
そして、コントローラ２１０から出力された７ビット構成の選択信号ＣＳ〔６：０〕が「７Ｆｈ」になり、そしてモジュールイネーブル信号ＭＥ＿Ｎ００がハイレベルにネゲートされることによって、メモリモジュールＭＯＤ０における制御信号マスク部５３の作用によってコントローラ２１０から出力されたコントローラ２１０から出力された各種信号ＣＤＥ＿Ｎ，ＯＥ＿Ｎ，ＷＥ＿Ｎ，ＳＣがマスクされる。
【００５８】
尚、他のメモリモジュールＭＯＤ１などは、非選択状態とされ、そこへ入力される各種信号などもハイレベルにネゲートされている。
【００５９】
図４には、メモリモジュールＭＯＤ０におけるフラッシュメモリＦＭ１５へのライトを行う場合の動作タイミングが示される。
【００６０】
コントローラ２１０から出力された７ビット構成の選択信号ＣＳ〔６：０〕が「０Ｆｈ」の場合、それの上位３ビットがモジュール選択デコーダ２２０でデコードされ、モジュールイネーブル信号ＭＥ＿Ｎ００がローレベルにアサートされることによって、メモリモジュールＭＯＤ０が選択される。また、上記選択信号ＣＳ〔６：０〕の下位４ビットがチップ選択デコーダ５１でデコードされ、そのデコード出力信号と、上記モジュール選択デコーダ２２０のデコード出力信号とに基づいて、論理ゲートＧ１５の出力信号であるチップイネーブル信号ＣＥ＿Ｎ１５がローレベルにアサートされることで、メモリモジュールＭＯＤ０におけるフラッシュメモリＦＭ１５が選択される。
【００６１】
モジュールイネーブル信号ＭＥ＿Ｎ００がローレベルにアサートされている期間において、先ず、「１Ｆｈ」のコマンド受信が行われ、「ＳＡ１」のアドレス受信，「ＳＡ２」のアドレス受信、書き込みデータ（プログラムデータ）の受信、及びデータ書き込み（プログラム）が行われる。尚、プログラムの場合には、ステータスレジスタ１８０の値が読み出されることにより、プログラム（書き込み）が終了されたか否かの判別が行われる。
【００６２】
アウトプットイネーブル信号ＯＥ＿Ｎはハイレベルにネゲートされており、この期間においてトライステートバッファＢ１が導通されることによって、コントローラ２１０からフラッシュメモリＦＭ００〜ＦＭ１５へ向かうデータ転送が可能とされる。書き込みデータは、ＰＤ０〜ＰＤ２１１１で示される。「４０ｈ」のコマンド受信により、メモリセルへのプログラム（書き込み）が開始される。
【００６３】
図５には、リセット時の動作タイミングが示される。
【００６４】
コントローラ２１０によってリセット信号ＲＳＴ＿Ｎがローレベルにアサートされると、リセット制御部２３０内のフリップフロップ回路ＦＦは、「００ｈ」で初期化される。フリップフロップ回路ＦＦ出力は８ビット構成であり、この８ビット構成の各ビットは、各メモリモジュールＭＯＤ０〜ＭＯＤ７毎のリセット入力端子に接続されている。これにより、フリップフロップ回路ＦＦに、論理値“１”が書き込まれたビットに対応するメモリモジュールはリセット解除される。コントローラ２１０によってリセット書き込みイネーブル信号ＲＳＴ＿ＣＴＲＬ＿ＷＥがハイレベルにアサートされる毎に、Ｉ／Ｏバスの値の取り込みが行われることで、フリップフロップ回路ＦＦの保持情報が順次更新される。図５に示される例では、フリップフロップ回路ＦＦの保持情報が「００ｈ」「０１ｈ」「０３ｈ」「０７ｈ」のように更新されることによって、フリップフロップ回路ＦＦの出力ビットは、最下位ビットから順次論理値“１”に反転される。図５に示される例では、フリップフロップ回路ＦＦの出力が「００ｈ」の場合、メモリモジュールＭＯＤ０〜ＭＯＤ７が全てリセット状態にある。フリップフロップ回路ＦＦの出力が「０１ｈ」の場合に、メモリモジュールＭＯＤ０におけるリセット信号ＲＥＳ＿Ｎ＿Ｍ０がハイレベルにされることで、メモリモジュールＭＯＤ０における全てのフラッシュメモリＦＭ００〜ＦＭ１５についてのリセットが解除される。また、フリップフロップ回路ＦＦの出力が「０３ｈ」の場合に、メモリモジュールＭＯＤ１におけるリセット信号ＲＥＳ＿Ｎ＿Ｍ１がハイレベルにされることで、メモリモジュールＭＯＤ１における全てのフラッシュメモリＦＭ００〜ＦＭ１５についてのリセットが解除される。メモリモジュールは、リセットが解除された直後に多くの電流が流れるため、上記のようにメモリモジュール毎のリセット解除のタイミングがずれることで、リセットに起因する電流を経時的に分散することができるので、各メモリモジュール毎のリセットに起因する電流が集中することを回避することができる。また、同様の機能を実現するためには、フリップフロップ回路ＦＦの入力側に、Ｉ／Ｏバスに代えてシフトレジスタを接続しても実現可能であり、さらにはフリップフロップ回路でなくても、各モジュールに供給するリセット信号供給タイミングをずらすことが可能であれば良い。
【００６５】
上記コントローラ２１０での制御によりライトインターリブを行うことができる。
【００６６】
フラッシュメモリＦＭ００〜ＦＭ１５は、書き込み用データが転送された後、内部の書き込み処理（プログラム）に多大な時間を必要とする。フラッシュメモリはこのプログラム中には、コントローラ２１０から次のコマンドを受け付けることができない。そこで、ライトインターリブでは、ひとつのフラッシュメモリのプログラム中に、次のフラッシュメモリへの書き込みデータ転送を開始する。プログラムが完了するまでの待ち時間に次の書き込みデータの転送を行うことで、フラッシュメモリへの書き込みデータの転送を行うことにより、書き込みのパフォーマンスを上げることができる。
【００６７】
図７には、ライトインターリブの基本動作が示される。
【００６８】
同一のメモリブロックＭＯＤ０におけるフラッシュメモリＦＭ００とフラッシュメモリＦＭ０１（図示されない）とを使ってライトインターリブが行われる場合が示される。
【００６９】
先ず、フラッシュメモリＦＭ００が選択され、その状態でコマンド発行及びセクタアドレスの指定が行われる（ａ）。次に、フラッシュメモリＦＭ００への書き込みデータが転送され（ｂ）、コマンド（ＰＳ）によりフラッシュメモリＦＭ００へのプログラム（書き込み）開始が指示され（ｃ）、それに従ってフラッシュメモリＦＭ００ではプログラムが行われる。
【００７０】
上記フラッシュメモリＦＭ００へのプログラム中に、今度は、フラッシュメモリＦＭ０１が選択され、その状態でコマンド発行及びセクタアドレスの指定が行われる（ｄ）。次に、フラッシュメモリＦＭ０１への書き込みデータが転送され（ｅ）、コマンド（ＰＳ）によりフラッシュメモリＦＭ０１へのプログラム（書き込み）開始が指示され（ｆ）、それに従ってフラッシュメモリＦＭ０１でのプログラムが行われる。
【００７１】
次に、フラッシュメモリＦＭ００が選択されてこのフラッシュメモリＦＭ００のステータス（ＲＳ）が読み出される（ｇ）。ビジー（ＢＳＹ）が返された場合、それは、フラッシュメモリＦＭ００はプログラム継続中であることを示している。ビジー（ＢＳＹ）が返された場合には、引き続きステータス読み出しが繰り返される。そしてこのステータス読み出しにおいてレディ（ＲＤＹ）が返された場合には、それは、フラッシュメモリＦＭ００はプログラムが完了されたことを示している。
【００７２】
同様に、フラッシュメモリＦＭ０１が選択されてこのフラッシュメモリＦＭ０１のステータス（ＲＳ）が読み出され（ｈ）、フラッシュメモリＦＭ０１でのプログラムが完了されたか否かの判別が行われる。
【００７３】
図８にはライトインターリブにおける各部の動作タイミングが示される。
【００７４】
図８においては、同一のメモリブロックＭＯＤ０におけるフラッシュメモリＦＭ００とフラッシュメモリＦＭ０１（図示されない）とを使ってライトインターリブが行われる場合が示される。
【００７５】
先ず、期間Ｔ１ではフラッシュメモリＦＭ００は、コマンド受信、「ＳＡ１」のアドレス受信、「ＳＡ２」のアドレス受信、書き込みデータ（プログラムデータ）の受信が行われる。すなわち、コントローラ２１０から出力された７ビット構成の選択信号ＣＳ〔６：０〕が「００ｈ」の場合、それの上位３ビットがモジュール選択デコーダ２２０でデコードされ、モジュールイネーブル信号ＭＥ＿Ｎ００がローレベルにアサートされることによって、メモリモジュールＭＯＤ０が選択される。また、上記選択信号ＣＳ〔６：０〕の下位４ビットがチップ選択デコーダ５１でデコードされ、そのデコード出力信号と、上記モジュール選択デコーダ２２０のデコード出力信号とに基づいて、論理ゲートＧ００の出力信号であるチップイネーブル信号ＣＥ＿Ｎ００がローレベルにアサートされることで、メモリモジュールＭＯＤ０におけるフラッシュメモリＦＭ００が選択される。
【００７６】
モジュール選択デコーダ２２０によってモジュールイネーブル信号ＭＥ＿Ｎ００がローレベルにアサートされているため、メモリモジュールＭＯＤ０においては、制御信号マスク部５３でのマスクが解除され、コントローラ２１０から出力された各種信号ＣＤＥ＿Ｎ，ＯＥ＿Ｎ，ＷＥ＿Ｎ，ＳＣが、メモリモジュールＭＯＤ０における制御信号マスク部５３を介してフラッシュメモリＦＭ００に伝達される。
【００７７】
アウトプットイネーブル信号ＯＥ＿Ｎがハイレベルにネゲートされていることから、トランシーバ５２では、トライステートバッファＢ１が導通されることによって、コントローラ２１０からフラッシュメモリＦＭ００へ向かうデータ転送が可能とされる。
【００７８】
チップイネーブル信号ＣＥ＿Ｎ００がローレベルにアサートされている期間において、先ず、「１Ｆｈ」のコマンド受信が行われ、「ＳＡ１」のアドレス受信，「ＳＡ２」のアドレス受信が行われた後、コントローラ２１０から伝達されたシリアルクロック信号ＳＣに基づくシリアルクロック信号に同期して、書き込みデータＰＤ０0〜ＰＤ２１１１0の取り込みが行われる。尚、書き込みデータの取り込みは、期間Ｔ２にまで及ぶ。
【００７９】
期間Ｔ２において、「４０ｈ」のコマンド受信が行われることにより、フラッシュメモリＦＭ００では、上記書き込みデータＰＤ０0〜ＰＤ２１１１0のプログラム（書き込み）が開始される。上記書き込みデータＰＤ０0〜ＰＤ２１１１0のプログラム（書き込み）が開始された後、コントローラ２１０から出力された７ビット構成の選択信号ＣＳ〔６：０〕が「００ｈ」から「０１ｈ」に変更される。この選択信号の変更により、論理ゲートＧ０１の出力信号であるチップイネーブル信号ＣＥ＿Ｎ０１がローレベルにアサートされることで、メモリモジュールＭＯＤ０におけるフラッシュメモリＦＭ０１が選択される。
【００８０】
チップイネーブル信号ＣＥ＿Ｎ０１がローレベルにアサートされている期間において、先ず、「１Ｆｈ」のコマンド受信が行われ、「ＳＡ１」のアドレス受信，「ＳＡ２」のアドレス受信が行われた後、コントローラ２１０から伝達されたシリアルクロック信号ＳＣに基づくシリアルクロック信号に同期して、書き込みデータＰＤ０1〜ＰＤ２１１１1の取り込みが行われる。尚、書き込みデータの取り込みは、期間Ｔ３にまで及ぶ。
【００８１】
期間Ｔ３において、「４０ｈ」のコマンド受信が行われることにより、フラッシュメモリＦＭ０１では、上記書き込みデータＰＤ０1〜ＰＤ２１１１1のプログラム（書き込み）が開始される。
【００８２】
上記書き込みデータＰＤ０1〜ＰＤ２１１１1のプログラム（書き込み）が開始された後、コントローラ２１０から出力された７ビット構成の選択信号ＣＳ〔６：０〕が「０１ｈ」から「００ｈ」に変更される。この選択信号の変更により、論理ゲートＧ００の出力信号であるチップイネーブル信号ＣＥ＿Ｎ００がローレベルにアサートされることで、メモリモジュールＭＯＤ０におけるフラッシュメモリＦＭ００が選択され、コントローラ２１０によってフラッシュメモリＦＭ００のステータス読み出しが行われる（Ｔ４）。このステータス読み出しにおいて、レディ（ＲＤＹ）が返された場合には、それはプログラムの完了を示しているから、７ビット構成の選択信号ＣＳ〔６：０〕が「００ｈ」から「０１ｈ」に変更され、フラッシュメモリＦＭ０１のステータス読み出しが行われる（Ｔ５）。
【００８３】
このようにライトインターリブにおいては、フラッシュメモリＦＭ００のプログラム中に、別のフラッシュメモリＦＭ０１への書き込みデータ転送を開始するようにしているため、書き込みのパフォーマンスを上げることができる。
【００８４】
上記の例によれば、以下の作用効果を得ることができる。
（１）複数のメモリモジュールＭＯＤ０〜ＭＯＤ７と、外部からのアクセス要求に応じて上記複数のメモリモジュールの動作を制御するためのコントローラ２１０と、このコントローラから出力された選択信号をデコードすることによって、上記複数のメモリモジュールからひとつのメモリモジュールを選択的にイネーブル状態とするためのモジュールイネーブル信号を得るモジュール選択デコーダ２２０とが設けられ、上記メモリモジュールが着脱自在に装着されることにより、メモリモジュールの増減によってフラッシュメモリシステムの記憶容量の変更を容易に行うことができる。このようにフラッシュメモリシステムの記憶容量の変更を容易に行うことができるため、容量毎にフラッシュメモリシステムの在庫を抱えることを回避することができる。また、メモリモジュールの増減によって、不揮発性メモリ装置全体の記憶容量の変更が可能とされるから、不揮発性メモリあるいメモリモジュールが破損した場合においても、メモリモジュールの交換によって修復可能となる。
（２）上記複数のメモリモジュールＭＯＤ０〜ＭＯＤ７は、コントローラ２１０から出力された７ビット構成の選択信号のうちの上位３ビットをデコードすることによって、上記複数のフラッシュメモリからひとつのフラッシュメモリを選択するための信号を得るチップ選択デコーダ５１と、モジュール選択デコーダ２２０の出力信号と、上記チップ選択デコーダ５１の出力信号とに基づいて、上記複数の不揮発性メモリからひとつの不揮発性メモリを選択するためのチップ選択信号を形成する論理ゲートＧ００〜Ｇ１５とをそれぞれ含むことにより、メモリモジュールＭＯＤ０〜ＭＯＤ７毎のチップ選択信号ＣＥ＿Ｎ００〜ＣＥ＿Ｎ１５を簡単に生成することができる。
（３）モジュール選択デコーダ２２０の出力信号によって非選択状態とされているメモリモジュールにおける上記複数の不揮発性メモリには、上記コントローラから出力された制御信号の伝達を阻止するための制御信号マスク部５３が設けられることにより、メモリモジュール数が増加された場合でも、上記コントローラ２１０の出力部から見た負荷が不所望に増大するのを回避することができるため、大容量化によりメモリモジュール数が増加された場合でも、上記コントローラ２１０の出力部の駆動能力を上げる必要はないので、コントローラ２１０の設計変更を伴わずに済む。
（４）コントローラ２１０からの指示に従って複数のメモリモジュールＭＯＤ０〜ＭＯＤ７を、当該メモリモジュール毎に互いに異なるタイミングで順次リセット可能なリセット制御部２３０を設けることにより、メモリモジュール毎に互いに異なるタイミングで順次リセットされることから、リセットに起因する電流が経時的に分散され、各メモリモジュール毎のリセットに起因する電流が集中するのを回避することができる。
（５）リセット制御部２３０は、メモリモジュール毎のリセット信号の入力端子に対応する出力端子を有するフリップフロップ回路ＦＦを備えることで容易に形成することができ、その場合において上記コントローラ２１０によって上記フリップフロップ回路ＦＦの保持情報を更新することで上記リセット信号を順次ネゲートすることができる。
（６）コントローラ２１０は、複数のフラッシュメモリＦＭ００〜ＦＭ１５のうちの所定のフラッシュメモリＦＭ００に対して書き込みデータを転送制御し、上記フラッシュメモリＦＭ００において上記書き込みデータの書き込み処理が行われている期間に、次の書き込みデータを、例えばフラッシュメモリＦＭ０１に転送制御することでライトインターリブを行うようにしているので、データ書き込みのパフォーマンスの向上を図ることができる。
【００８５】
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００８６】
例えば、メモリモジュールＭＯＤ０〜ＭＯＤ７は少なくとも１個のフラッシュメモリを含んで構成することができる。また、フラッシュメモリシステム２００は、少なくとも１個のメモリモジュールを含んで構成することができる。
【００８７】
上記の例では、フラッシュメモリＦＭ００〜ＦＭ１５を多値メモリとし、一つのメモリセルの情報記憶状態は、消去状態（“１１”）、第１の書込み状態（“１０”）、第２の書込み状態（“００”）、第３の書込み状態（“０１”）の中から選ばれた一つの状態とされ、全部で４通りの情報記憶状態を２ビットのデータによって決定するようにしたが、これに代えて、１ビットのデータを一つのメモリセルで記憶する、いわゆる２値メモリによってフラッシュメモリＦＭ００〜ＦＭ１５を構成しても良い。
【００８８】
リセット制御部２３０の機能としては、複数の出力ビットにおける特定の論理値を順次変更できれば良いから、リセット制御部２３０は、フリップフロップ回路ＦＦに代えてシフトレジスタによって構成することもできる。
【００８９】
フラッシュメモリシステムのリセットは、上記の例ではメモリモジュール毎に互いに異なるタイミングで行うようにしたが、リセット制御部２３０の制御により、フラッシュメモリ毎に互いに異なるタイミングでリセットを行うようにしても、リセットに起因する電流の集中化を回避することができる。この場合、リセット制御部２３０においては、各フラッシュメモリＦＭ００〜ＦＭ１５に入力されるリセット信号のネゲートタイミングが互いに異なるようにリセット信号が形成される。
【００９０】
上記の例では、図６に示されるようにコントローラ２１０内にバッファ２１４を含む構成について説明したが、この内蔵バッファ２１４に代えて、当該コントローラ２１０の外部に配置されたバッファを使用するようにしても良い。
【００９１】
上記の例ではチップ選択デコーダ５１のデコード出力信号に基づいて、複数のフラッシュメモリＦＭ００〜ＦＭ１５のうちからひとつのフラッシュメモリが選択される場合について説明したが、チップ選択デコーダ５１によって複数のフラッシュメモリが同時に選択されるようにしても良い。例えばチップ選択デコーダ５１のデコード出力によって、チップイネーブル信号ＣＥ＿Ｎ００，ＣＥ０１＿Ｎ０１のふたつが同時にローレベルにアサートされることによって、フラッシュメモリＦＭ００，ＦＭ０１の双方が同時に選択され、フラッシュメモリＦＭ００，ＦＭ０１への同時アクセスが可能となる。複数のフラッシュメモリへの同時アクセスを可能とするには、同時アクセスされるフラッシュメモリの数に応じてＩ／Ｏバスのバス幅が広げられる。例えばひとつのフラッシュメモリへのデータ書き込みやデータ読み出しのために８ビットのバス幅が必要とされる場合であって、ふたつのフラッシュメモリへの同時アクセスを可能とするには、Ｉ／Ｏバスのバス幅を１６ビット構成とし、上位８ビットをひとつのフラッシュメモリに割り当て、下位８ビットを別のフラッシュメモリに割り当てるようにする。
【００９２】
上記の例では、２個のフラッシュメモリ間でライトインターリブを行う場合について説明したが、ライトインターリブは３個以上のフラッシュメモリ間で行うことができる。例えば３個のフラッシュメモリ間でのライトインタリーブは次のように行うことができる。
【００９３】
先ず、フラッシュメモリＦＭ００が選択され、その状態でコマンド発行及びセクタアドレスの指定が行われ、次いでフラッシュメモリＦＭ００への書き込みデータが転送され、コマンドによりフラッシュメモリＦＭ００へプログラム（書き込み）開始が指示され、それに従ってフラッシュメモリＦＭ００へのプログラムが行われる。
【００９４】
そして上記フラッシュメモリＦＭ００のプログラム中に、今度は、フラッシュメモリＦＭ０１が選択され、その状態でコマンド発行及びセクタアドレスの指定が行われる。次に、フラッシュメモリＦＭ０１への書き込みデータが転送され、コマンドによりフラッシュメモリＦＭ０１へプログラム（書き込み）開始が指示され、それに従ってフラッシュメモリＦＭ０１のプログラムが行われる。
【００９５】
次に、上記フラッシュメモリＦＭ００及びＦＭ０１へのプログラム中に、今度は、フラッシュメモリＦＭ０２が選択され、その状態でコマンド発行及びセクタアドレスの指定が行われる。そしてこのフラッシュメモリＦＭ０２への書き込みデータが転送され、コマンドによりフラッシュメモリＦＭ０２へプログラム（書き込み）開始が指示され、それに従ってフラッシュメモリＦＭ０２のプログラムが行われる。
【００９６】
このようにフラッシュメモリのプログラム中に、別のフラッシュメモリへのコマンド発行及びセクタアドレスの指定、そして書き込みデータの転送が行われることで、３個以上のフラッシュメモリ間のライトインターリブが可能とされる。
【００９７】
尚、ライトインターリブによる書き込みは、互いに異なるメモリモジュールＭＯＤ０〜ＭＯＤ７間で行うこともできる。
【００９８】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるフラッシュメモリシステムに適用した場合について説明したが、本発明はそれに限定されるものではなく、各種不揮発性メモリを含んで成る不揮発性メモリ装置に適用することができる。
【００９９】
本発明は、少なくとも不揮発性メモリを含むことを条件に適用することができる。
【図面の簡単な説明】
【０１００】
【図１】本発明にかかる不揮発性メモリ装置の一例であるフラッシュメモリシステムの構成例ブロック図である。
【図２】上記フラッシュメモリシステムのさらに詳細な構成例ブロック図である。
【図３】上記フラッシュメモリシステムにおけるリード時の主要部の動作タイミング図である。
【図４】上記フラッシュメモリシステムにおけるライト時の主要部の動作タイミング図である。
【図５】上記フラッシュメモリシステムにおけるリセット時の動作タイミング図である。
【図６】上記フラッシュメモリシステムに含まれるコントローラの構成例ブロック図である。
【図７】上記フラッシュメモリシステムにおけるライトインターリブの基本動作説明図である。
【図８】上記フラッシュメモリシステムにおけるライトインターリブが行われる場合の動作タイミング図である。
【図９】上記フラッシュメモリシステムに含まれるフラッシュメモリの構成例ブロック図である。
【符号の説明】
【０１０１】
５１  チップ選択デコーダ
５２  トランシーバ
５３  制御信号マスク部
１００  ホストシステム
２００  フラッシュメモリシステム
２１０  コントローラ
２１１  ＭＰＵ
２１２  ＭＰＵインタフェース
２１３  ホストインタフェース
２１４  バッファ
２１５  エラー訂正部
２１６  メモリ制御部
２２０  モジュール選択デコーダ
２３０  リセット制御部
２４０  親基板
ＭＯＤ０〜ＭＯＤ７  メモリモジュール
ＦＭ０〜ＦＭ１５  フラッシュメモリ
ＦＦ  フリップフロップ回路
【図１】
0004521618.tif 000002
【図２】
0004521618.tif 000003
【図３】
0004521618.tif 000004
【図４】
0004521618.tif 000005
【図５】
0004521618.tif 000006
【図６】
0004521618.tif 000007
【図７】
0004521618.tif 000008
【図８】
0004521618.tif 000009
【図９】
0004521618.tif 000010