(57)【特許請求の範囲】
【請求項１】
プログラム可能かつ消去可能な複数のメモリ・セルと、
前記複数のメモリ・セルを対象とした少なくとも読出しコマンド、プログラム・コマンド、および消去コマンドを含む複数のコマンドに応答するように形成された制御回路と、
読出しコマンド、プログラム・コマンド、および消去コマンドを外部コマンド・ソースから前記制御回路に与えるように前記制御回路に通信可能に結合された通信バス・インタフェースと
を備えた物理ＮＡＮＤフラッシュ・メモリ論理ユニットであって、
前記制御回路は、
内部データ・レジスタと、内部アドレス・レジスタと、外部データ・レジスタと、外部アドレス・レジスタと、補助データ・レジスタと、補助アドレス・レジスタとを有する複数のレジスタと、
前記複数のレジスタを制御することによって前記複数のコマンドに応答するためのコマンド回路とを備え、
前記内部データ・レジスタは、第１の内部データ・レジスタであり、
前記内部アドレス・レジスタは、第１の内部アドレス・レジスタであり、
前記第１の内部データ・レジスタ及び前記第１の内部アドレス・レジスタは、専ら非読出しコマンドに使用され、
前記補助データ・レジスタは、第２の内部データ・レジスタであり、
前記補助アドレス・レジスタは、第２の内部アドレス・レジスタであり、
前記第２の内部データ・レジスタ及び前記第２の内部アドレス・レジスタは、専ら読出しコマンドに使用される、物理ＮＡＮＤフラッシュ・メモリ論理ユニット。
【請求項２】
前記非読出しコマンドは、プログラム・コマンド及び消去コマンドを含む、請求項１に記載の物理ＮＡＮＤフラッシュ・メモリ論理ユニット。
【請求項３】
前記複数のメモリ・セル上でコマンドを実行するときに、前記第２の内部データ・レジスタ及び前記第２の内部アドレス・レジスタは、少なくとも幾つかの環境下において、前記第１の内部データ・レジスタ及び前記第１の内部アドレス・レジスタよりも高い処理する優先順位を有する、請求項２に記載の物理ＮＡＮＤフラッシュ・メモリ論理ユニット。
【請求項４】
前記コマンド回路は、
前記外部アドレス・レジスタ内のアドレスに関連付けられたコマンドのタイプを検出し、
前記コマンドのタイプが、プログラム・コマンド・タイプである場合には、利用可能となった前記第１の内部データ・レジスタに前記外部データ・レジスタからデータを転送し、及び利用可能となった前記第１の内部アドレス・レジスタに前記外部アドレス・レジスタ内の前記アドレスを転送し、
前記コマンドのタイプが、消去コマンド・タイプである場合には、利用可能となった前記第１の内部アドレス・レジスタに前記外部アドレス・レジスタ内の前記アドレスを転送し、
前記コマンドのタイプが、読出しコマンド・タイプである場合には、前記第２の内部アドレス・レジスタに前記外部アドレス・レジスタ内の前記アドレスを転送する、
ように形成されている、請求項３に記載の物理ＮＡＮＤフラッシュ・メモリ論理ユニット。
【請求項５】
プログラム可能かつ消去可能な複数のメモリ・セルと、
前記複数のメモリ・セルを対象とした少なくとも読出しコマンド、プログラム・コマンド、および消去コマンドを含む複数のコマンドに応答するように形成された制御回路と、
読出しコマンド、プログラム・コマンド、および消去コマンドを外部コマンド・ソースから前記制御回路に与えるように前記制御回路に通信可能に結合された通信バス・インタフェースと
を備えた物理ＮＡＮＤフラッシュ・メモリ論理ユニットであって、
前記制御回路は、
内部データ・レジスタと、内部アドレス・レジスタと、外部データ・レジスタと、外部アドレス・レジスタと、補助データ・レジスタと、補助アドレス・レジスタとを有する複数のレジスタと、
前記複数のレジスタを制御することによって前記複数のコマンドに応答するためのコマンド回路とを備え、
前記内部データ・レジスタ及び前記内部アドレス・レジスタは、読出しコマンド及び非読出しコマンドに使用され、
前記補助データ・レジスタは、バックアップ・データ・レジスタであり、
前記補助アドレス・レジスタは、バックアップ・アドレス・レジスタであり、
前記コマンド回路は、
ａ）前記コマンド回路が、読出しコマンドが処理中のプログラム・コマンドに割り込むと決定したとき、前記処理中のプログラム・コマンドのデータ及びアドレスの状態を前記内部データ・レジスタ及び前記内部アドレス・レジスタから前記バックアップ・データ・レジスタ及び前記バックアップ・アドレス・レジスタにバックアップし、
ｂ）前記複数のメモリセルに関し、割り込んだ前記読出しコマンドによって指定された読出しを前記複数のメモリ・セル上で実行するために、前記割り込んだ読出しコマンドのアドレスを前記内部アドレス・レジスタに与え、
ｃ）前記割り込んだ読出しコマンドが完了した後の何らかの時点に、前記プログラム・コマンドをさらに処理するために、前記処理中のプログラム・コマンドの前記データ及びアドレスを前記内部データ・レジスタ及び前記内部アドレス・レジスタに復元する、
ように形成されている、物理ＮＡＮＤフラッシュ・メモリ論理ユニット。
【請求項６】
前記読出しコマンドは、第１の読出しコマンドであり、
前記コマンド回路は、
ｄ）前記コマンド回路が、第２の読出しコマンドが処理中の消去コマンドに割り込むことを決定したとき、前記処理中の消去コマンドの状態を少なくとも前記バックアップ・アドレス・レジスタにバックアップし、
ｅ）割り込んだ前記第２の読出しコマンドによって指定された読出しを前記複数のメモリ・セル上で実行するために、前記割り込んだ第２の読出しコマンドのアドレスを前記内部アドレス・レジスタに与え、
ｆ）前記割り込んだ第２の読出しコマンドが完了した後の何らかの時点に、前記消去コマンドをさらに処理するために、前記処理中の消去コマンドの前記状態を少なくとも前記内部アドレス・レジスタに復元する、
ようにさらに形成されている、請求項５に記載の物理ＮＡＮＤフラッシュ・メモリ論理ユニット。
【請求項７】
プログラム可能かつ消去可能な複数のメモリ・セルと、
前記複数のメモリ・セルを対象とした少なくとも読出しコマンド、プログラム・コマンド、および消去コマンドを含む複数のコマンドに応答するように形成された制御回路と、
読出しコマンド、プログラム・コマンド、および消去コマンドを外部コマンド・ソースから前記制御回路に与えるように前記制御回路に通信可能に結合された通信バス・インタフェースと
を備えた物理ＮＡＮＤフラッシュ・メモリ論理ユニットであって、
前記制御回路は、
内部データ・レジスタと、内部アドレス・レジスタと、外部データ・レジスタと、外部アドレス・レジスタと、補助データ・レジスタと、補助アドレス・レジスタとを有する複数のレジスタと、
前記複数のレジスタを制御することによって前記複数のコマンドに応答するためのコマンド回路とを備え、
前記内部データ・レジスタ及び前記内部アドレス・レジスタは、読出しコマンド及び非読出しコマンドに使用され、
前記補助データ・レジスタは、バックアップ・データ・レジスタであり、
前記補助アドレス・レジスタは、バックアップ・アドレス・レジスタであり、
前記コマンド回路は、
ａ）前記コマンド回路が読出しコマンドが処理中の消去コマンドに割り込むと決定したとき、前記処理中の消去コマンドの状態を少なくとも前記バックアップ・アドレス・レジスタにバックアップし、
ｂ）割り込んだ前記読出しコマンドによって指定された読出しを前記複数のメモリ・セル上で実行するために、前記割り込んだ読出しコマンドのアドレスを前記内部アドレス・レジスタに送信し、
ｃ）前記割り込んだ読出しコマンドが完了した後の何らかの時点に、前記消去コマンドをさらに処理するために、前記処理中の消去コマンドの前記状態を少なくとも前記内部アドレス・レジスタに復元する、
ように形成されている、物理ＮＡＮＤフラッシュ・メモリ論理ユニット。
【請求項８】
前記コマンド回路は、処理中のプログラム・コマンドに対応する前記プログラム動作の検証段階の最中に前記読出しコマンドが前記処理中のプログラム・コマンドに割り込むように、読出しコマンドが前記処理中のプログラム・コマンドに割り込むことを決定する、請求項１、５又は７に記載の物理ＮＡＮＤフラッシュ・メモリ論理ユニット。
【請求項９】
前記コマンド回路は、処理中のプログラム・コマンドに対応する前記プログラム動作において所定の時間より多くの時間が残っている場合に、読出しコマンドが前記処理中のプログラム・コマンドに割り込むと決定する、請求項１、５又は７に記載の物理ＮＡＮＤフラッシュ・メモリ論理ユニット。
【請求項１０】
前記複数のメモリ・セルの各々は、複数ビットのメモリ・セルである、請求項１−９の何れか１項に記載の物理ＮＡＮＤフラッシュ・メモリ論理ユニット。
【請求項１１】
前記複数のコマンドは、ＯＮＦＩプロトコル及び互換の複数のコマンドを排他的に含む、請求項１−１０の何れか１項に記載の物理ＮＡＮＤフラッシュ・メモリ論理ユニット。
【請求項１２】
物理ＮＡＮＤフラッシュ・メモリ論理ユニットの制御回路を動作させるための方法であって、
プログラム・コマンドに関連するデータを外部データ・レジスタ内に配置し、前記プログラム・コマンドに関連するアドレスを外部アドレス・レジスタ内に配置することによってプログラム・コマンドを受信するステップと、
内部データ・レジスタ及び内部アドレス・レジスタが前記プログラム・コマンドを受信する準備ができていることを決定する決定ステップと、
前記決定ステップに応答して、前記プログラム・コマンドに関連する前記データを内部データ・レジスタに与え、前記プログラム・コマンドに関連する前記アドレスを内部アドレス・レジスタに与えることによって、前記プログラム・コマンドを前記内部データ・レジスタ及び前記内部アドレス・レジスタに与えるステップと、
前記プログラム・コマンドを前記内部データ・レジスタ及び前記内部アドレス・レジスタに与えた後に、前記プログラム・コマンドの処理を、前記プログラム・コマンドに関連する前記アドレスによってアドレス指定された複数のメモリ・セルの一部で開始するステップと、
引き続き前記プログラム・コマンドを処理している間に、前記外部アドレス・レジスタで受信した読出しコマンドが前記プログラム・コマンドの処理に割り込むことを決定するステップと、
補助データ・レジスタ及び補助アドレス・レジスタを用いて前記プログラム・コマンドの処理に割り込むステップと、
前記複数のメモリ・セルについて前記読出しコマンドを処理するステップと、
前記読出しコマンドを処理した後に、前記プログラム・コマンドの処理を再開するステップと
を有し、前記補助データ・レジスタ及び前記補助アドレス・レジスタを用いて前記プログラム・コマンドの処理に割り込む前記ステップが、
前記プログラム・コマンドに関連する前記データを前記内部データ・レジスタから前記補助データ・レジスタにバックアップするステップと、
前記プログラム・コマンドに関連する前記アドレスを前記内部アドレス・レジスタから前記補助アドレス・レジスタにバックアップするステップと、
前記バックアップするステップの後に、前記読出しコマンドに関連する前記アドレスを前記外部アドレス・レジスタから前記内部アドレス・レジスタに送信するステップとを有し、
前記読出しコマンドを処理する前記ステップが、
前記読出しコマンドに関連する前記アドレスによってアドレス指定される前記複数のメモリ・セルの一部の内容を前記内部データ・レジスタに読み出すステップと、
読み出した前記データを前記内部データ・レジスタから前記外部データ・レジスタに送信するステップと有し、
前記プログラム・コマンドの処理を再開する前記ステップが、
前記プログラム・コマンドに関連する前記データを前記補助データ・レジスタから前記内部データ・レジスタに送信するステップと、
前記プログラム・コマンドに関連する前記アドレスを前記補助アドレス・レジスタから前記内部アドレス・レジスタに送信するステップとを有する、方法。
【請求項１３】
物理ＮＡＮＤフラッシュ・メモリ論理ユニットの制御回路を動作させるための方法であって、
プログラム・コマンドに関連するデータを外部データ・レジスタ内に配置し、前記プログラム・コマンドに関連するアドレスを外部アドレス・レジスタ内に配置することによってプログラム・コマンドを受信するステップと、
内部データ・レジスタ及び内部アドレス・レジスタが前記プログラム・コマンドを受信する準備ができていることを決定する決定ステップと、
前記決定ステップに応答して、前記プログラム・コマンドに関連する前記データを内部データ・レジスタに与え、前記プログラム・コマンドに関連する前記アドレスを内部アドレス・レジスタに与えることによって、前記プログラム・コマンドを前記内部データ・レジスタ及び前記内部アドレス・レジスタに与えるステップと、
前記プログラム・コマンドを前記内部データ・レジスタ及び前記内部アドレス・レジスタに与えた後に、前記プログラム・コマンドの処理を、前記プログラム・コマンドに関連する前記アドレスによってアドレス指定された複数のメモリ・セルの一部で開始するステップと、
引き続き前記プログラム・コマンドを処理している間に、前記外部アドレス・レジスタで受信した読出しコマンドが前記プログラム・コマンドの処理に割り込むことを決定するステップと、
補助データ・レジスタ及び補助アドレス・レジスタを用いて前記プログラム・コマンドの処理に割り込むステップと、
前記複数のメモリ・セルについて前記読出しコマンドを処理するステップと、
前記読出しコマンドを処理した後に、前記プログラム・コマンドの処理を再開するステップと
を有し、前記補助データ・レジスタ及び前記補助アドレス・レジスタを用いて前記プログラム・コマンドの処理に割り込む前記ステップが、
前記読出しコマンドに関連するアドレスを前記外部アドレス・レジスタから前記補助アドレス・レジスタに送信するステップと、
前記プログラム動作が一時停止するように前記内部データ・レジスタ及び前記内部アドレス・レジスタを無効にするステップとを有し、
前記読出しコマンドを処理する前記ステップが、
前記読出しコマンドに関連する前記アドレスによってアドレス指定される前記複数のメモリ・セルの一部の内容が前記補助データ・レジスタに読み出されるように、前記補助データ・レジスタ及び前記補助アドレス・レジスタを有効にするステップと、
読み出した前記データを前記補助データ・レジスタから前記外部データ・レジスタに送信するステップとを有し、
前記プログラム・コマンドの処理を再開する前記ステップが、
前記補助データ・レジスタ及び前記補助アドレス・レジスタを無効にするステップと、
前記プログラム・コマンドが再開するように、前記内部データ・レジスタ及び前記内部アドレス・レジスタを有効にするステップとを有する、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
[背景技術]
フラッシュ・メモリは、大きなセクションで消去されるソリッドステートの不揮発性メモリであり、多種の電化製品で普及している。フラッシュ・メモリは、各々が浮遊ゲート・トランジスタを含むメモリ・セルから成る。メモリ・セルの状態は、対応する浮遊ゲート上の電荷の量で制御される。メモリ・セルの状態を変化させるために、電子を（プログラミングを通じて）浮遊ゲートに追加し、または、（消去により）浮遊ゲートから除去することができる。従来は、各メモリ・セルは、各状態が浮遊ゲート上の相違なる電荷範囲に対応する２つの相違なる状態のみを有することで１ビットの情報を含む。より新規なフラッシュ・メモリ・セルは、より多数の相違なる状態（例えば、２ビットの情報に対して４つの状態）を有することによって、各々が複数ビットの情報を含むことができる。
【０００２】
２種類のフラッシュ・メモリ、すなわち、ＮＯＲフラッシュとＮＡＮＤフラッシュが存在する。ＮＯＲフラッシュと比較すると、ＮＡＮＤフラッシュ・メモリは消去時間がより短く、１秒あたりより多くのデータをプログラムし、メモリ・セルあたりに必要な空間も少ない。ＮＡＮＤフラッシュ・メモリの編成を定義する従来の仕様の１つ、ならびに、ＮＡＮＤフラッシュ・メモリと通信するための通信プロトコルは、ＯＮＦＩ（Ｏｐｅｎ  ＮＡＮＤ  Ｆｌａｓｈ  Ｉｎｔｅｒｆａｃｅ）標準と呼ばれている。
【０００３】
ＯＮＦＩ標準によれば、ＮＡＮＤフラッシュ・メモリは複数の論理ユニットに編成される。各論理ユニットは、メモリ・セル・アレイと、メモリ・アレイの部分を読書きするためのコマンドに応答するための対応する制御回路とを備える。ＯＮＦＩ標準では、これらの論理ユニットを「論理ユニット番号」または「ＬＵＮ」と称する。ＯＮＦＩ標準によれば、各ＮＡＮＤフラッシュ・メモリのＬＵＮは複数のブロックに編成され、各ＬＵＮは複数のブロックを含む。さらに、各ブロックは複数のページを含み、各ページは複数のメモリ・セルを含む。
【発明の概要】
【０００４】
本明細書に記載の実施形態は、ＮＡＮＤフラッシュ・メモリ論理ユニットとその動作に関する。ＮＡＮＤフラッシュ・メモリ論理ユニットは論理回路を備える。当該論理回路は、コマンドに応答し、読出しコマンドがプログラム・コマンドおよび／または消去コマンドに割り込むことができるようにする。当該制御回路は１組の内部レジスタを備える。当該１組の内部レジスタは、現在アクティブな処理中のコマンドを実行するために直接利用可能なメモリ・セルである。当該制御回路はまた、外部のコマンド・ソースと通信するための１組の外部レジスタを備える。当該制御回路はまた、１組の補助レジスタを備える。当該１組の補助レジスタにより、ＮＡＮＤフラッシュ・メモリ論理ユニットは、より高優先度の割込みが通常の作業レジスタを使用し続ける間に、割り込まれたプログラム・コマンドまたは消去コマンドの状態を正確に保持することができる。割り込まれたプログラム・コマンドまたは消去コマンドを再開するとき、ＮＡＮＤフラッシュ・メモリ論理ユニットは、一時停止されたプログラム動作または消去動作を補助レジスタの内容で迅速に再開することができる。
【０００５】
これにより、ＮＡＮＤフラッシュ・メモリ論理ユニットのコンテキストにおいて読出し応答時間を大幅に改善することができる。したがって、外部コマンド回路が過去にプログラム・コマンドまたは消去コマンドを制御回路に送信した場合であっても、制御回路は、プログラム動作または消去動作を保留することによって、外部コマンド・ソースからの後続の読出しコマンドに迅速に応答することができる。
【０００６】
本要約は、クレーム主題の主要な特徴または本質的な特徴を特定しようとするものではなく、クレーム主題の範囲を決定する際の支援として使用しようとするものでもない。
【０００７】
上述および他の利点および特徴を得ることができる方法を説明するために、添付図面を参照して様々な実施形態のより具体的な説明を行う。これらの図面は例示的な実施形態を描いたものにすぎず、したがって、本発明の範囲を限定するものと考えるべきではないことを理解して、添付図面を用いて諸実施形態をさらに具体的かつ詳細に記載し、説明することとする。
【図面の簡単な説明】
【０００８】
【図１】先行技術に従う、一連のＮＡＮＤフラッシュ・メモリ・セルの例を示す図である。
【図２】消去コマンドまたはプログラム・コマンドに読出しコマンドで割込み可能な制御回路を含む２つのＮＡＮＤフラッシュ・メモリ論理ユニットを含む、ＮＡＮＤフラッシュ・メモリ・モジュールのブロック図である。
【図３】消去コマンドまたはプログラム・コマンドに割込み可能なＮＡＮＤフラッシュ・メモリ論理ユニットの制御回路の例のブロック図である。
【図４】補助レジスタが読出しコマンドに対する専用の内部レジスタとして動作する、本明細書に記載の一実施形態に従って図３の制御回路がコマンドに応答する方法の流れ図である。
【図５】補助レジスタが割り込まれた処理中のコマンドに対するバックアップ・レジスタとして動作する、本明細書に記載の別の実施形態に従って図３の制御回路がコマンドに応答する方法の流れ図である。
【図６】外部コマンド・ソースが図３の制御回路と通信する方法の流れ図である。
【発明を実施するための形態】
【０００９】
本明細書に記載の諸実施形態に従って、ＮＡＮＤフラッシュ・メモリ技術を説明する。本技術では、より迅速に読出しコマンドを実行するために処理中の非読出しコマンドの割込みを可能とし、それにより高優先度の読出し回数を改善する。先ず、図１を参照して、ＮＡＮＤフラッシュ・メモリの基本的なメモリ・セルを説明する。次に、図２を参照して、ＮＡＮＤフラッシュ・メモリのモジュールを例示し、説明する。次に、図３を参照して、ＮＡＮＤメモリ論理ユニットを制御する制御回路を例示し、説明する。最後に、図４乃至図６を参照して、当該制御回路の動作原理を例示し、説明する。
【００１０】
図１は、３つのＮＡＮＤフラッシュ・メモリ・セル１０１、１０２、１０３の列１００の断面図を示す。図１は、先行技術のＮＡＮＤフラッシュ・メモリ・セルを示し、参照のためのみに提供したものである。ＮＡＮＤフラッシュ・メモリ・セルの構造または設計と無関係に、本明細書に記載の原理を、ＮＡＮＤフラッシュ・メモリ・セルの任意のアレイに適用することができる。図１は正しい縮尺で描かれてはおらず、主要な構造のみを含み、ＮＡＮＤフラッシュ・メモリ・セルの動作を一般的に説明するためにのみ提供したものである。明確さのため、図１では３つのＮＡＮＤフラッシュ・メモリ・セルのみを示してあるが、多数の市販のＮＡＮＤフラッシュ・メモリ・アレイは無数のメモリ・セルを含む。
【００１１】
各ＮＡＮＤフラッシュ・メモリ・セル１０１、１０２、１０３はそれぞれ、対応する導電性の浮遊ゲート１１１、１２１、１３１を有する。浮遊ゲート１１１、１２１、１３１は、一般には多結晶シリコンまたはアモルファス・シリコンを用いた様々な導電性物質から作製することができる。これらのゲートは、それらの全ての方向が窒化ケイ素または二酸化ケイ素のような高効率な高純度絶縁体１０４で包囲されているため、「浮遊」と呼ばれる。この絶縁体は十分に良質であるので、浮遊ゲート上に存在しうる過剰電子は、通常の電圧および温度では絶縁体から漏出するには平均して何年もかかる。
【００１２】
この浮遊ゲートは、セルのメモリ部分である。メモリ・セルが記憶する値は、対応する浮遊ゲート上の電荷量（すなわち、電子数）に依存する。従来は、各メモリ・セルは、可能な２つの状態のうち１つを記憶することによって、１ビットの情報しか保持しなかった。この場合、回路は、浮遊ゲート上の２つの可能な電荷範囲しか認識できず、それぞれの可能な範囲が、当該ビットに対する２つの可能な値のうち１つに対応する。しかし、より近代的なＮＡＮＤフラッシュ・メモリ・セルは、３つ以上、おそらく４つ以上を識別およびプログラムできる回路によって読み出され、それにより、各メモリ・セルは、さらに多くの情報、おそらくメモリ・セルごとに３ビット以上を格納することができる。
【００１３】
メモリ・セル１０１、１０２、１０３は絶縁性のまたは弱半導電性（ｗｅａｋｌｙ  ｓｅｍｉｃｏｎｄｕｃｔｉｎｇ）の基盤１０５上に実装される。例えば、基板１０５はシリコン結晶、または、二酸化ケイ素のような絶縁体上のシリコンであってもよい。回路要素は、基板にインプラントされ、エッチングされ、または積層される。導電性チャネル１０６を、インプラントまたはエッチングしてドーピング原子を加えることにより作成する。各メモリ・セル１０１、１０２、１０３はまた、それぞれ一般にはアルミニウムまたはアモルファス・シリコンである導電性材料から作製された、制御ゲート１１２、１２２、１３２を有する。
【００１４】
導電性チャネル１０６を通る電流は、近傍の制御ゲートおよび浮遊ゲート上の電荷により調整され、メモリの状態検出の基礎となる。ＮＡＮＤフラッシュ・メモリでは、数個のゲートが同一のチャネルを共有し、回路の密度を高める。例えば、図１では、メモリ・セル１０１、１０２、１０３が夫々、導電性チャネル１０６を共有する。これにより、許容可能なメモリ・セル密度が増大するが、任意の１つのゲートの状態を検出する作業が複雑にもなる。これは、信号が微弱であり、したがって当該信号を増幅し、長時間にわたってサンプリングして当該信号を雑音から分離しなければならないからである。
【００１５】
制御ゲートは２つの機能を果たす。第１に、制御ゲートは対応する浮遊ゲートを消去またはプログラムすることができる。例えば、制御ゲート１１２が対応する浮遊ゲート１１１を消去またはプログラムし、制御ゲート１２２が対応する浮遊ゲート１２１を消去またはプログラムし、制御ゲート１３２が対応する浮遊ゲート１３１を消去またはプログラムすることができる。これは、十分な電圧を制御ゲートに印加して、制御ゲートと浮遊ゲートの間の差動電圧が、浮動ゲートを包囲する絶縁体を電子が通過するのに十分な強電界を生じさせるようにすることによって行われる。絶縁体はほぼ完全であるが、制御ゲートと浮遊ゲートの間の極薄でナノメートル規模の絶縁層を電子が通過する量子トンネリングが依然として生じうる。差動電圧の大きさが十分である場合は、浮遊ゲートを消去（過剰電子を浮遊ゲートから除去）するか、または、プログラム（過剰電子を浮遊ゲートに注入）することができる。各電子は独立に、ジャンプを開始するとフェムト秒の単位でジャンプし、消去またはプログラムするのに必要な全ての電子の移動には、より多くの時間（例えば、従来の消去およびプログラム技術によれば、数ミリ秒）かかる。なぜならば、各電子は別々の時点にジャンプをするからである。
【００１６】
その他、制御ゲートは、数個のメモリ・セルのうちどれを共有の導電性チャネルに取り付けた検出回路によって測定すべきかを選択するために使用される。浮遊ゲート上の電荷の不存在または存在によって、チャネル内の電流を制御ゲートが調整することが許可または禁止され、それにより、検出回路が対応するメモリ・セルの状態を検出することができ
る。
【００１７】
図２は、ＮＡＮＤフラッシュ・メモリ・モジュール２００のブロック図を示す。従来のＮＡＮＤフラッシュ・メモリ・モジュールは図２に示すように構成されるかもしれないが、本明細書に記載の原理に従うＮＡＮＤフラッシュ・メモリ・モジュールをそれと同様に構成してもよい。しかし、本明細書に記載の原理は、読出し動作がプログラムおよび消去動作のような非読出し動作に割り込むことができ、結果として読出し動作に関連する平均待ち時間を大幅に削減することができる、非常に異なる制御回路を提供するものである。
【００１８】
図２のＮＡＮＤフラッシュ・メモリ・モジュール２００は、単一の通信バス・インタフェース２０３を介して外部コマンド・ソース２０４と通信可能に接続される２つのＮＡＮＤフラッシュ・メモリ論理ユニット２０１および２０２を備える。かかる外部コマンド・ソース２０４の性質は本発明の原理には重要でないが、外部コマンド・ソース２０４は、従来型であろうと将来開発されるものであろうと、ＮＡＮＤフラッシュ・メモリのような不揮発性のメモリとの通信に利用されうる任意の装置またはシステムであってもよい。外部コマンド・ソース２０４には「外部」とラベルが付されているが、その唯一の理由は、外部コマンド・ソース２０４がＮＡＮＤフラッシュ・メモリ・モジュール２００と通信するために通信バス・インタフェース２０３を介して通信するためである。「外部」という用語があるからといって、必ずしも外部コマンド・ソース２０４がＮＡＮＤフラッシュ・メモリ・モジュール２００と異なるチップ上にある必要はない。
【００１９】
ＮＡＮＤフラッシュ・メモリ論理ユニットと通信するバスが、ＯＮＦＩプロトコル、例えば、そのプロトコルのバージョン１．０、２．０、もしくは２．１、もしくはそのプロトコルの後継バージョン、または交換プロトコル（ｒｅｐｌａｃｅｍｅｎｔ  ｐｒｏｔｏｃｏｌ）、またはＮＡＮＤフラッシュ・メモリと通信するための他の任意のプロトコルを用いて通信してもよい。以降、ＯＮＦＩプロトコルのバージョン１．０、２．０、２．１、およびその後継バージョンを特許請求の範囲では集合的に「ＯＮＦＩプロトコル」と称する。しかし、本明細書に記載の原理はどのバス通信プロトコルにも限定されない。将来は、現時点では開発さえもされていないＮＡＮＤフラッシュ・メモリの通信プロトコルに適用されると、本明細書に記載の原理は有利になるであろう。
【００２０】
各ＮＡＮＤフラッシュ・メモリ・モジュールが任意数の論理ユニットを有してもよい。しかし、ＮＡＮＤフラッシュ・メモリ・モジュールが、唯一の論理ユニットを含んでもよく、図２の場合は２つの論理ユニットを含んでもよく、または３つ以上の論理ユニットを含んでもよい。ＮＡＮＤフラッシュ・メモリ・チップが複数のバスを利用する場合は、各バスとそのバスに接続された対応する論理ユニットとを別々のモジュールとみなしてもよい。したがって、単一のＮＡＮＤフラッシュ・メモリ・チップが（別個のバスと同数の）複数のＮＡＮＤフラッシュ・メモリ・モジュールを有してもよい。図２では、１つのバス２０３しか存在しないので、１つのＮＡＮＤフラッシュ・メモリ・モジュール２００のみを示している。ＮＡＮＤフラッシュ・メモリ・チップが複数のＮＡＮＤフラッシュ・メモリ・モジュールを備えてもよく、その逆も成り立つ。すなわち、単一のＮＡＮＤフラッシュ・メモリ・モジュールを複数のチップで構成してもよい。さらに、ＮＡＮＤフラッシュ・メモリ・チップが１つのＮＡＮＤフラッシュ・メモリ・モジュールのみを備える場合もあろう。
【００２１】
各ＮＡＮＤフラッシュ・メモリ論理ユニット２０１および２０２はそれぞれ、対応する制御回路２１１と２２１を有する。各制御回路は、メモリ・セルの対応するアレイを対象とするコマンドに応答する。例えば、制御回路２１１は、メモリ・アレイ２１２のメモリ・セルを読み出し、消去し、またはプログラムするためのコマンドに応答する。制御回路２２１は、メモリ・アレイ２２２のメモリ・セルを読み出し、消去し、またはプログラムするためのコマンドに応答する。各メモリ・アレイ２１２および２２２はＮＡＮＤメモリ・セルから構成され、その一例が図１のＮＡＮＤメモリ・セル１０１、１０２、１０３である。
【００２２】
各ＮＡＮＤフラッシュ・メモリ論理ユニット２０１および２０２は、まだ処理の準備ができていないコマンドを保持するための待ち行列（図示せず）を備えてもよい。代替または追加として、待ち行列を、ＮＡＮＤフラッシュ・メモリ論理ユニット２００と通信するコマンド・ソース２０４に実装してもよい。典型的なデータ記憶システムが、データを読書きするために利用できる複数のＮＡＮＤフラッシュ・メモリ・モジュールを有してもよい。データをＮＡＮＤフラッシュ・メモリに書き込むには、最初にメモリ・アレイの部分を、ＯＮＦＩに従って一度に１つのメモリ・ブロックで消去し、次にメモリ・アレイを一般的には一度に１ページでプログラムする。したがって、書込み動作では、１回のブロック消去動作に続いて、ブロックを再度読込む複数のプログラム動作を行ってもよい。とは言っても、本明細書に記載の原理は、１回の消去、書込み、読出しコマンドに対応するデータのサイズには限定されない。消去は重要である。なぜならば、プログラム動作の結果として浮遊ゲートに蓄積する電荷量を予測可能とするために、電子がほぼ除去された状態で、浮遊ゲートがプログラム動作をほぼ同一の状態で開始すべきであるからである。消去動作により、プログラムされないメモリ・セルが適切な状態にあることも保証される。
【００２３】
消去動作とプログラム動作は、読出し動作と比較すると比較的低速な動作である。また、汎用目的の記憶システムでは、読出し動作の量は一般に書込み動作の量よりもかなり多い。したがって、従来の設計では、システムは一般に、書込みを待機しているデータをバッファするように設計され、低速な消去動作とプログラム動作をどの時点においても小規模な論理ユニットのサブセットに限定してそれらの動作が読出しになるたけ干渉しないように設計される。
【００２４】
残念ながら、依然として干渉がかなりの割合で生じ、それがシステムの応答時間を悪化させる。１つの論理ユニット２０１だけが消去動作またはプログラム動作によって占有されている状況を考える。その低速な動作は、論理ユニット２０１に対する動作の待ち行列の先頭にある。ストライピングと呼ばれるプロセスに起因して、１回のファイル・レベルの読み出しを行うと複数のフラグメント読出し（ｆｒａｇｍｅｎｔ  ｒｅａｄ）が生じ、その各々の読出しでは読出し動作を異なる論理ユニットで行う必要がある。ストライピングのパターンにより、論理ユニットが平均的な読出し要求に関与する比率が増大し、したがって、ある論理ユニット上の少なくとも１つの読出し動作が低速の消去コマンドまたはプログラム・コマンドより遅延する可能性が高まる。全体のファイル読出し要求は、その全てのフラグメント読出しが完了するまで完了せず、したがって、全体のファイル読出し要求は、当該全体のファイル読出し要求の一部として読み出されているフラグメントを有する最も低速な論理ユニットと同じくらい低速である。
【００２５】
このように、低速な消去動作およびプログラム動作が多数の論理ユニットのうち１つの論理ユニットにあるだけでも、依然として読出し待ち時間が長くなりシステム速度が悪化する主な要因として寄与するおそれがある。平均的なストライピングにより１つのファイルのデータがデータ記憶システムの論理ユニットのうち２５パーセントに分散されると仮定する。次に、消去動作が読出し動作より５０倍低速であるとする。この場合、消去動作がたった１つの論理ユニットに存在するだけで、当該消去動作中に発生する読出し要求が平均して６．２５倍遅くなる。例えば、所与の読出し要求に対して、読出し動作の１つが、現在消去動作を実行している論理ユニットに存在する可能性は２５％ある。それが発生する２５パーセントの可能性のうち、平均して消去動作が半分終了しており、消去が完了するのに読出し動作の２５倍の時間がかかる。したがって、読出し要求に対する全体のシステム応答は適切に６．２５倍（消去動作が行われている場合の２５倍に、全体の読出し要求の一部として読み出す必要がある消去動作が論理ユニットで行われる可能性である２５％を乗じたもの）遅くなる。先行技術に関するこれらおよび他の問題を発明者が認識しても、決して、対応する問題が一般的に認識されることを認めたことにも、対応する問題が当業者に認識されることを認めたことにもならないことに留意されたい。
【００２６】
いずれにせよ、本明細書に記載の原理により、ＮＡＮＤフラッシュ・メモリ論理ユニットに対して大幅に改善された制御回路を提供される。図３は、当該改善された制御回路の一実施形態を表す制御回路３００のブロック図を示す。制御回路３００は、図２の制御回路２０１または制御回路２０２の一例である。制御回路３００はレジスタ３１０とコマンド回路３２０を備える。レジスタ３１０は内部データ・レジスタ３１１Ａ、内部アドレス・レジスタ３１１Ｂ、外部データ・レジスタ３１２Ａ、外部アドレス・レジスタ３１２Ｂ、補助データ・レジスタ３１３Ａ、補助アドレス・レジスタ３１３Ｂを備える。制御回路３００は、センスアンプアレイ３０４と書込み増幅器アレイ３０５も備える。センスアンプアレイ３０４から、メモリ・セルからの読出し情報を内部データ・レジスタ３１１Ａに適用することができ、書込み増幅器アレイ３０５を介してプログラム・データが書き込まれる。以下では、レジスタ３１１Ａと３１１Ｂの組合せを「レジスタ３１１」と称し、レジスタ３１２Ａと３１２Ｂの組合せを「レジスタ３１２」と称し、レジスタ３１３Ａと３１３Ｂの組合せを「レジスタ３１３」と称することがある。
【００２７】
内部データ・レジスタ３１１Ａは、アクティブな読出しコマンドに関するデータをセンスアンプアレイ３０４を介して受信し、アクティブなプログラム・コマンドのデータを書込み増幅器アレイ３０５を介してアサートするためのものである。内部アドレス・レジスタ３１１Ｂは、適切な回路を駆動して、コマンドの対象である適切なメモリ・セルをアドレス指定する。例えば、読出しコマンドがある場合は、アドレス・レジスタ３１１Ｂ内のアドレスにより、対応するメモリ・セルからの値がセンスアンプアレイ３０４を当該対応する値で駆動して、当該値を内部データ・レジスタ３１１Ａに格納させる。同様に、プログラム・コマンドがある場合は、内部アドレス・レジスタ３１１Ｂ内のアドレスにより、書込み増幅器アレイ３０５と対応するアドレス指定されたメモリ・セルを接続させる。これにより、内部データ・レジスタ３１１Ａ内のデータが、書込み増幅器アレイ３０５を介して、アドレス・メモリ・セルに書き込まれる。消去コマンドがある場合は、対応する回路が内部アドレス・レジスタ３１１Ｂ内のアドレスで指定されたメモリ・セグメントをアドレス指定し、当該セグメント内の全てのメモリ・セルの値を再設定する。
【００２８】
外部データ・レジスタ３１２Ａは、通信バス・インタフェース２０３からのコマンドに関連付けられたデータを受信し、既に実行したコマンドの結果であるデータを通信バス・インタフェース２０３を介して外部コマンド・ソース２０４に送信するためのものである。外部アドレス・レジスタ３１２Ｂは、通信バス・インタフェース２０３からのコマンドに関連付けられたアドレスを受信するためのものである。
【００２９】
補助データ・レジスタ３１３Ａと補助アドレス・レジスタ３１３Ｂは、アクティブな処理中コマンドを、後に詳述するように一時停止し再開することを容易にする。以下では、２つの具体的な実施形態を説明する。補助レジスタ３１３Ａと３１３Ｂの振舞いと機能は実施形態に応じて異なる。
【００３０】
第１の実施形態―専用の内部レジスタ 
ここで説明する制御回路３００の動作の第１の実施形態では、補助データ・レジスタ３１３Ａと補助アドレス・レジスタ３１３Ｂが１組の追加の内部レジスタであってもよい。これにより、内部データ・レジスタ３１１Ａと内部アドレス・レジスタ３１１Ｂを、非読出し動作（例えば、プログラム動作および消去動作）で利用するために予約することができる。一方、補助データ・レジスタ３１３Ａと補助アドレス・レジスタ３１３Ｂが、読出し動作に専用の内部レジスタであってもよい。
【００３１】
読出しコマンドを補助レジスタ３１３にロードすると、レジスタ３１３には、読出しコマンドが優先すべきとコマンド・ロジック３２０が判定した場合に処理優先度が与えられる。このように、レジスタ３１１Ａと３１１Ｂが潜在的に割込み可能なコマンドに対して使用され、レジスタ３１３Ａと３１３Ｂが、レジスタ３１１Ａと３１１Ｂに存在するコマンドに割り込みうるコマンドに対して使用される。図３のレジスタの大きさは正しい縮尺で描かれていない。一般に、データ・レジスタは、それがどれくらい大きかろうとも、単一のコマンドでプログラムおよび／または読出しが可能なメモリの大きさと同じであろう。この大きさを本明細書では「ページ」と称している。アドレス・レジスタの大きさは、プログラムされているメモリ部分および／または読み出されているメモリ部分を一意に特定するのに必要な程度であってもよい。
【００３２】
図４は、図３の制御回路が、補助レジスタを専用レジスタとして用いる場合の、コマンドを処理する方法４００の流れ図を示す。方法４００は、コマンドを外部レジスタ３１２で受信したときに開始する（動作４０１）。当該コマンドがプログラム・コマンドである場合は、プログラム・データ（即ち、書き込まれるデータ）が外部データ・レジスタ３１２Ａにロードされ、プログラムされるメモリ・セルに対応するアドレスが外部アドレス・レジスタ３１２Ｂにロードされる。コマンドが消去コマンドである場合は、これは、消去されるメモリ・セルに対応する消去アドレスが外部アドレス・レジスタ３１２Ｂにロードされることを意味する。コマンドが読出しコマンドである場合は、これは、読み出されるメモリ・セルに対応する読出しアドレスが外部アドレス・レジスタ３１２Ｂにロードされることを意味する。
【００３３】
コマンド回路３２０は、ちょうど外部レジスタ３１２にロードされたコマンドに関連付けられたコマンドのタイプを検出する（判定ブロック４０２）。例えば、コマンドのタイプがプログラム・コマンド・タイプであるかもしれないし（判定ブロック４０２で「プログラム」）、消去コマンド・タイプであるかもしれないし（判定ブロック４０２で「消去」）、読出しコマンド・タイプであるかもしれない（判定ブロック４０２で「読出し」）。
【００３４】
コマンドのタイプがプログラム・コマンド・タイプである場合は（判定ブロック４０２で「プログラム」）、コマンド回路３２０は専用の非読出し内部レジスタ３１１が利用可能であるかどうかを判定する（判定ブロック４１１）。専用の非読出し内部レジスタ３１１がまだ利用可能でない場合は（判定ブロック４１１で、いいえ）、コマンド回路は当該専用の非読出し内部レジスタ３１１が利用可能となる（判定ブロック４１１で、はい）まで待機する。（動作４１２）専用の非読出し内部レジスタ３１１が利用可能である場合は（判定ブロック４１１で、はい）、プログラム・データが外部データ・レジスタ３１２Ａから専用の非読出し内部データ・レジスタ３１１Ａに転送され（動作４１３）、プログラム・アドレスが外部アドレス・レジスタ３１２Ｂから専用の非読出し内部アドレス・レジスタに転送される（動作４１４）。次に、プログラム動作が、読出し内部レジスタ３１３がクリアされるのを待機する（動作４１５）。実行すべき読出し動作がなくなると、プログラム動作が開始する（動作４１６）。読出し動作が読出し内部レジスタ３１３内に存在しない場合は、プログラム動作を即座に開始してもよい。
【００３５】
コマンドのタイプが消去コマンド・タイプである場合は（判定ブロック４０２で「消去」）、コマンド回路３２０はまた、専用の非読出し内部レジスタ３１１が利用可能であるかどうかを判定する（判定ブロック４２１）。専用の非読出し内部レジスタ３１１がまだ利用可能でない場合は（判定ブロック４２１で、いいえ）、コマンド回路は当該専用の非読出し内部レジスタ３１１が利用可能となる（判定ブロック４２１で、はい）まで待機する。（動作４２２）専用の非読出し内部レジスタ３１１が利用可能である場合は（判定ブロック４２１で、はい）、消去アドレスが外部アドレス・レジスタ３１２Ｂから利用可能となったときに当該専用の非読出し内部アドレス・レジスタに転送される（動作４２３）。次に、プログラム動作が、読出し内部レジスタ３１３がクリアされるのを待機する（動作４２４）。実行すべき読出し動作がなくなると、消去動作が開始する（動作４２５）。読出し動作が読出し内部レジスタ３１３内に存在しない場合は、消去動作を即座に開始してもよい。
【００３６】
コマンドのタイプが読出しコマンド・タイプである場合は（判定ブロック４０２で「読出し」）、コマンド回路は専用の読出し内部レジスタ３１３が利用可能であるかどうかを判定する（判定ブロック４３１）。レジスタ３１３がまだ利用可能でない場合は（判定ブロック４３１で、いいえ）、コマンド回路は当該レジスタ３１３が利用可能となる（判定ブロック４３１で、はい）まで待機する。専用の読出し内部レジスタ３１３が利用可能である場合は（判定ブロック４３１で、はい）、読出しアドレスが外部アドレス・レジスタ３１２Ｂから当該専用の読出し内部アドレス・レジスタ３１３Ｂに転送される（動作４３３）。アクティブな処理中の非読出しコマンドがある場合は（判定ブロック４３４で、はい）、非読出し内部データ・レジスタ３１１Ａと非読出し内部アドレス・レジスタ３１１Ｂは無効とされ（動作４３５）、それにより、プログラム動作または消去動作が一時停止する。この無効化には、処理中の非読出しコマンドへ割り込むことが適当であるとコマンド回路が判定することが条件となる。コマンド回路が処理中の非読出しコマンドへ割り込むこととする場合は、読出し動作が開始する（動作４３６）。これを、アドレス指定したメモリ・セルの内容が専用の読出し内部データ・レジスタ３１３Ａに読み出されるように読出し内部レジスタ３１３を有効化することによって、実現してもよい。読出し動作が完了すると（動作４３６の後）、割り込まれたコマンドが再開する（動作４３７）。例えば、読出し内部レジスタ３１３を無効化し、一方で、プログラム・コマンドまたは消去コマンドが再開するように非読出し内部レジスタ３１１を有効化してもよい。
【００３７】
一実施形態では、非読出しコマンドを自動的に無効化するのではなく（動作４３５）、コマンド回路が非読出しコマンドに割り込むのに適切な時間だけ待機してもよい。この適切な時間は、非読出しコマンドの状態把握が容易な期間内であってもよい。例えば、一連の検証段階を用いてプログラム・コマンドまたは消去コマンドを行う場合は、短時間だけセルの中身の測定に切り替えることによってプログラム・コマンドまたは消去コマンドの進捗がチェックされるが、割込みが次の検証段階を待機してもよく、検証段階中に、検証段階の直前に、かつ／または検証段階の直後に、割込みを行ってもよい。プログラム動作または消去動作がタイマで動作する場合は、コマンド回路は非読出し動作が割り込まれたときにタイマを一時停止して、非読出し動作が再開したときにタイマを再開してもよい。これらのポイントにより、一時停止した動作の状態を保存することが容易であること、および、割り込まれた動作の安全な再開を支援するための新たな回路またはロジックの必要性が最小化されることにおいて、特に有利である。
【００３８】
第２の実施形態―バックアップ・レジスタ 
制御回路３００の動作の第２の実施形態では、補助内部データ・レジスタ３１３Ａはバックアップ・データ・レジスタであり、補助内部アドレス・レジスタ３１３Ｂはバックアップ・アドレス・レジスタである。この場合、内部レジスタ３１１は、読出しコマンド、プログラム・コマンド、消去コマンドを含めて全ての種類のコマンドに使用される。この場合、コマンド回路３２０は、読出しコマンドが処理中の非読出しコマンドに割り込むとコマンド回路３２０が判定したときに、処理中のプログラム・コマンドまたは消去コマンドのデータおよびアドレスの状態を内部レジスタ３１１からバックアップ・レジスタ３１３にバックアップするように構成される。次いで、読出しコマンドに割り込むためのデータとアドレスが内部レジスタ３１１に送信され、それにより読出しコマンドが実行される。読出しコマンドへの割込みが完了した後、プログラム・コマンドまたは消去コマンドをさらに処理するために、割り込まれた非読出しコマンドのデータとアドレスがバックアップ・レジスタ３１３から内部レジスタ３１１に復元される。さらに割り込むことなくプログラム・コマンドまたは消去コマンドを完了してもよいが、プログラム・コマンドまたは消去コマンドが完了する前に、プログラム・コマンドまたは消去コマンドは複数回割り込まれるであろう。
【００３９】
図５は、制御回路が、補助レジスタ３１３をバックアップ・レジスタとして用いる場合の、コマンドを処理する方法５００の流れ図を示す。方法５００を、制御回路３００がコマンドを外部レジスタ３１２で受信するたびに開始してもよい（動作５０１）。この動作が、図４の動作４０１に関して説明したものと同様であってもよい。次いで、コマンド回路３２０はコマンドのタイプを判定する（判定ブロック５０２）。この判定を、図４の判定ブロック４０２に対して行ったのと同様な方法で行ってもよい。
【００４０】
第２の実施形態におけるプログラム・コマンドと消去コマンドの応答は、図４の第１の実施形態と同様である。すなわち、プログラム・コマンドを外部レジスタ３１２で受信した場合は（判定ブロック５０２で「プログラム」）、コマンド回路３２０は内部レジスタ３１１が利用可能であるかどうかを判定する（判定ブロック５１１）。内部レジスタ３１１がまだ利用可能でない場合は（判定ブロック５１１で、いいえ）、コマンド回路は当該内部レジスタ３１１が利用可能となる（判定ブロック５１１で、はい）まで待機する（動作５１２）。内部レジスタ３１１が利用可能である場合は（判定ブロック５１１で、はい）、プログラム・データが外部データ・レジスタ３１２Ａから内部データ・レジスタ３１１Ａに転送され（動作５１３）、プログラム・アドレスが外部アドレス・レジスタ３１２Ｂから内部アドレス・レジスタ３１１Ｂに転送される（動作５１４）。次に、プログラム動作を開始する（動作５１５）。
【００４１】
コマンドのタイプが消去コマンド・タイプである場合は（判定ブロック５０２で「消去」）、コマンド回路３２０はまた、内部レジスタ３１１が利用可能であるかどうかを判定する（判定ブロック５２１）。内部レジスタ３１１がまだ利用可能でない場合は（判定ブロック５２１で、いいえ）、コマンド回路は当該内部レジスタ３１１が利用可能となる（判定ブロック５２１で、はい）まで待機する（動作５２２）。一旦利用可能となった際に、消去アドレスが外部アドレス・レジスタ３１２Ｂから内部アドレス・レジスタ３１１Ｂに転送される（動作５２３）。次に、消去動作を開始する（動作５２４）。
【００４２】
コマンドのタイプが読出しコマンド・タイプである場合は（判定ブロック５０２で「読出し」）、コマンド回路は内部レジスタ３１１が利用可能であるかどうかを判定する（判定ブロック５３１）。内部レジスタ３１１が利用可能でない場合は（判定プロック５３１で、いいえ）、コマンド回路は、内部レジスタ３１１内の処理中のコマンドに割り込むべきかどうかを判定する（判定ブロック５３２）。この割込みを行うべきか否かをいつ判定するかを検討するための多種多様な情報があるかもしれないが、幾つかの例示的なケースを説明することとする。プログラム動作または消去動作が検証段階を有する場合は、読出し動作が、次の検証段階の最中、前、または後にプログラム動作または消去動作に割り込むであろう。検証段階で、残りのプログラム動作または消去動作に大量の時間がかかることが想定されないように、プログラム動作または消去動作のうち十分に大部分が既に完了していることが検証された（例えば、メモリ・セルの９８％が正しくプログラムまたは消去されていることが検証された）かどうかが、追加の基準となろう。この場合、完了を待機している読出し動作があっても、コマンド回路は、割込みを先行し単にプログラム動作または消去動作を完了できるようにするであろう。あるいは、プログラム動作と消去動作がタイマで制御され、処理中のプログラム動作または消去動作が割込みを許可する十分な時間が残っていないことを当該タイマが示すであろう。
【００４３】
処理中のコマンドに今は割り込むべきではない場合は（ブロック５３２で、いいえ）、コマンド回路は待機する（動作５３３）。待機中に内部レジスタ３１１が利用可能となった場合は（判定ブロック５３１で、はい）、読出しアドレスが内部レジスタ３１１に送信される（動作５３４）。処理中のコマンドが依然として処理されている任意の時点で、処理中のコマンドに割り込むべきとコマンド回路が判定した場合は（判定ブロック５３２で、はい）、コマンド回路が処理中のコマンドを一時停止する（動作５３５）。処理中のコマンドがタイマで処理される場合は、タイマをこの段階で一時停止してもよい。次いで、処理中のコマンドに対するデータとアドレスの情報を補助データ・レジスタ３１３Ａにバックアップし（動作５３６）、補助アドレス・レジスタ３１３Ｂにバックアップする（動作５３７）。消去動作に割り込む場合は、必ずしもデータをバックアップする必要はないが、プログラム動作に割り込む場合はバックアップすべきデータがあるはずである。この段階で、読出しアドレスを外部アドレス・レジスタ３１２Ａから内部アドレス・レジスタ３１１Ａに送信してもよい（動作５３４）。次いで、読出しコマンドを開始する（動作５３８）。
【００４４】
読出し動作を完了した後、または換言すれば、内部アドレス・レジスタ３１１Ｂ内の読出しアドレスによってアドレス指定されたメモリ・セルの内容が内部データ・レジスタ３１１Ａに読み出された後、読出しデータを内部データ・レジスタ３１１Ａから外部データ・レジスタ３１２Ａに転送する（動作５３９）。この時点で、読出し動作に関連付けられたデータを通信バス２０３上で読み出してもよい。一方で、（割り込まれるコマンドに優先する読出し動作がもう存在しないことを仮定して）割り込まれた処理中の動作を、データをバックアップ・データ・レジスタ３１１Ａから内部データ・レジスタ３１１Ａに転送し（動作５４０）、アドレスをバックアップ・アドレス・レジスタ３１３Ｂから内部アドレス・レジスタ３１１Ｂに転送する（動作５４１）ことによって、再開する。この時点で、割り込まれた動作を再開してもよい（動作５４２）。
【００４５】
処理中のコマンドを再開する前に、一旦読出し動作が完了すると、割込み動作を再開する前に実行する必要がある１つまたは複数の他の読出し動作があるかもしれない。その場合は、読出し動作ごとに、読出しアドレスを外部アドレス・レジスタ３１２Ｂから内部アドレス・レジスタに送信し（動作５３４）、読出し動作を開始し（動作５３８）、一旦完了した後に読出しデータを内部データ・レジスタ３１１Ａから外部データ・レジスタ３１２Ａに送信する（動作５３９）ことによって、動作５３４、５３８、５３９が順に実施されるはずである。１つの処理中の非読出しコマンドが完了前に１回または任意の回数割り込まれることがあり、任意の所与の割込みの結果、非読出しコマンドが再開する前に１つまたは複数の読出し動作が行われるかもしれない。
【００４６】
図２を参照すると、外部コマンド・ソース２０４が通信バス・インタフェース２０３を介してコマンドをＮＡＮＤフラッシュ・メモリ・モジュール２００に送信する。図６は、制御回路を介して制御されるＮＡＮＤフラッシュ・メモリ論理ユニットにコマンドを送信する外部コマンド・ソースを動作させるための方法６００の流れ図を示す。例えば、外部コマンド・ソースが図２の外部コマンド・ソース２０４であってもよい。ＮＡＮＤフラッシュ・メモリ論理ユニットは、例えば、図２の論理ユニット２０１または論理ユニット２０２であってもよい。
【００４７】
外部コマンド・ソースは、少なくとも１つのプログラム・コマンドと（動作６０１）少なくとも１つの消去コマンド（動作６０２）を制御回路に送信する。例えば、制御回路は、ＮＡＮＤフラッシュ・メモリ論理ユニット２０１と通信する場合は制御回路２１１であってもよく、または、ＮＡＮＤフラッシュ・メモリ論理ユニット２０２と通信する場合は制御回路２２１であってもよい。何れの場合でも、外部コマンド・ソース２０４は、通信バス２０３を介してコマンドを夫々の制御回路に通信してもよい。
【００４８】
プログラム動作と消去動作をＮＡＮＤフラッシュ・メモリ論理ユニットに送信した後、後続の読出し動作を制御回路に送信する（動作６０３）。この読出し動作が、ＮＡＮＤフラッシュ・メモリ論理ユニットで処理中の以前のプログラム動作または消去動作に、動作がプログラム動作であると消去動作であるとに関わらず、割り込んでもよい。何れの場合でも、制御回路は補助レジスタを用いてプログラム・コマンドまたは消去コマンドに割り込むことができる。例えば、補助レジスタが、上述の第１の実施形態の場合は専用の読出し内部レジスタの役割を果たしてもよく、または、補助レジスタが、上述の第２の実施形態の場合はバックアップ・レジスタの役割を果たしてもよい。読出し動作が割り込まれる動作に割り込んだ後、読み出したデータを外部コマンド・ソース２０４に戻す（動作６０４）。割り込まれたコマンドを実行する際、データはバラバラに読み出されることに留意されたい。例えば、コマンド・ソース２０４が同じ論理ユニットに対して、プログラム・コマンドを発行し、次いで読出しコマンドを発行してもよい。しかし、論理ユニットでプログラム・コマンドが完了する前でも、コマンド・ソース２０４がデータを読み出してもよい。同様に、コマンド・ソース２０４が同じ論理ユニットに対して、消去コマンドを発行し、次いで読出しコマンドを発行してもよい。しかし、論理ユニットで消去コマンドが完了する前でも、コマンド・ソース２０４がデータを読み出してもよい。
【００４９】
割り込まれた消去動作と割り込まれたプログラム動作の具体的な実装形態を、ＯＮＦＩ仕様と関連して説明する。消去から説明する。ＮＡＮＤフラッシュ・メモリでは、消去とは、図１に関して説明したように絶縁体で完全に包囲され、近傍の半導体チャネルの電流を調整するように配置された導電体（普通は多結晶シリコンであるが他の材料であることもある）の一部である浮遊ゲートに蓄えられた電子を除去することである。一般にこれは、電子を引き付けて浮遊ゲートから絶縁体を通って量子トンネリングさせるのに十分な大きさの電界を生じさせることによって実現される。トンネリングのプロセスは比較的低速である。なぜならば、この作業を迅速に行うのに十分な強度の電界は、絶縁体を恒久的に損傷させるのに十分な大きさの電界でもあるからである。トンネリング速度は、絶縁体の厚さのばらつきに対して非常に敏感である指数方程式に支配される。絶縁体の厚さのばらつきは、チップ上にある何十億ものセルの処理のばらつきに起因して不可避的に存在するものである。実際、ゲート電子を２ミリ秒乃至５ミリ秒で任意のセルの厚みが最大の絶縁部を通って流出させるのに十分な大きさの電界はまた、当該絶縁部のいかなるセルも損傷させないのに十分な弱さでもある。
【００５０】
本明細書で説明した原理を用いた消去動作の例を説明する。この消去動作は、本明細書で説明した広い原理によって可能となる多種多様な実装形態の１つにすぎない。したがって、この消去動作に関して説明したどの具体的な特徴も、本明細書に記載の広い実施形態に何ら限定を課すものと解釈すべきではない。
【００５１】
この具体的な例では、消去をブロック単位で行う。ブロックが複数のページの集合体であり、ページが複数のメモリ・セルの集合体であることを思い出されたい。消去動作の最終結果は既知である。具体的には、消去されているブロック内部の全てのメモリ・セルでは、受容できる許容度において電荷が空のはずである。どの検証段階でも、データの値を比較する必要はない。このように、消去動作で検証を行う場合は、ブロックのメモリ・セルの内容が既知の所望の結果と比較される。しかし、消去動作が検証段階を有しなくともよい。なぜならば、検証にはより多くの時間がかかり、より複雑であるし、消去動作のタイミングを取る方がより簡単であるからである。ブロック内の全てのメモリ・セルが空になる受容可能な可能性が保証されるのに統計的に十分な長さの消去時間が選ばれる。大部分のセルは、消去時間が過ぎる大分前に空であるが、既に空のセルに消去動作を適用し続けても害はない。したがって、最終的には、消去が最も遅いメモリ・セルでさえも空になる。
【００５２】
この具体的な例では、消去の手続きの完了には数ミリ秒かかるかもしれない。しかし、消去プロセスは量子トンネリングと呼ばれるプロセスを使用する。この量子トンネリングでは、一旦トンネリングが開始されると各電子は浮遊ゲートからピコ秒の単位で除去される。とは言うものの、トンネリングは電子ごとに異なる時点で開始する。したがって、ほぼ任意の所与の時点で、移動すべき各電子は既にトンネルされているか、まだトンネルし始めていないかの何れかである。したがって、効率を大幅に失うことなく、消去プロセスに割り込み、消去プロセスを再開することができる。消去プロセスに費やされる総時間が目標消去時間の全持続時間内にある限り、要求された、完全な消去の可能性が保証される。
【００５３】
消去プロセスの間は、消去プロセスが割り込まれ再開される場合にはピコ秒のスケールよりも長い何らかのコストがシステムに存在する。例えば、特殊な電源を（消去動作が割り込まれたときは）解放し、（消去動作を再開するときは）再充電する必要があるかもしれない。さらに、（図４の動作４３５および４３７、図５の動作５３５、５３６、５３７、５４０、５４１、および５４２と同様に）正しい消去状態を保存し再びアサートすることに関連する時間があるかもしれない。依然として、これらの時間的コストは、総消去処理時間のうちの極僅かである。これらの時間的コストは、読出し動作に関する大幅な干渉遅延を回避するには十分に短いが、消去動作が割込みおよび再開のオーバヘッドにより大幅に長くならないことを保証するには十分に長い。これらの時間的コストを、制御回路３２０が消去動作に割り込むか否かを判定するか、または、消去動作を完了させるかそれとも後続の段階に進ませるかを判定するときに、考慮してもよい。
【００５４】
消去動作に割り込む場合、制御回路の内部状態により、消去動作が読出し動作で割り込まれたときに消去動作と読出し動作の両方の状態を見ることができるべきである。本発明の原理はＯＮＦＩプロトコルを通信バス上で使用することに限定されないが、どのようにこの状態を通知できるかの一例を、ＯＮＦＩ標準が提供するピン、信号、コマンド、および状態レジスタに関して説明する。
【００５５】
ＯＮＦＩ互換のチップでは、状態レジスタＳＲのビット（６）を用いて状態を記録する。このビットは「ＳＲ（６）」と呼ばれる。ＯＮＦＩプロトコルでは、前提として、状態ＳＲ（６）がポーリングされる。ＳＲ（６）の状態を反映する出力ピンがあるが、チップが複数の論理ユニットを含む場合は、このポーリング方法に頼ることはできない。なぜならば、論理ユニットのうち任意の１つがビジーである場合にＳＲ（６）がビジーを示すからである。
【００５６】
以下のプロセスは、（例えば）状態機械を用いて実装してもよいものであり、どのようにこれをＯＮＦＩ仕様に準拠して行いうるかを説明するものである。そうは言うものの、当業者は、この説明を読んだ後には、特にチップがＯＮＦＩと異なる接続およびコマンドの標準に従う場合には、読出し動作で消去動作に割り込むプロセスを様々なシグナリング手法で管理できることを理解するであろう。
【００５７】
先ず、一旦消去動作が指令されＮＡＮＤフラッシュ・メモリ・モジュールによって受け入れられると、消去されるブロックを含む論理ユニットが「準備未完了」とアサートする。当該論理ユニットに対するＳＲ（６）が「準備未完了」と把握された後の任意の時点で、読出し動作を指令することができる。読出しアドレスが消去されるブロック内の場所に対するものである場合は、チップの振舞いは未定義であろうが、当該読出しコマンドが拒否されてエラーが表示される可能性が極めて高い。これが、コマンド回路３２０が読出し動作で消去動作に割り込まないことを選択する１つの理由かもしれない（判定ブロック５３２でのいいえを参照）。同様な判定を、図４の判定ブロック４３４でのはいと動作４３５の間で行ってもよい。例えば、読出し内部レジスタ内の読出しコマンドが、非読出し内部レジスタ内の消去コマンドで消去されているブロック内のアドレスに対するものである場合は、読出し動作は失敗するかもしれない。読出し動作が論理ユニットの制御回路によって受け入れられた場合は、消去動作に対するレジスタのブロック・アドレスは依然として影響を受けず、読出し動作が待ち行列に入れられる。
【００５８】
論理ユニットは依然として準備未完了である。この例示的なプロセスでは、当該論理ユニットの典型的な読出し待ち時間よりも短いかまたは当該待ち時間と比較可能な何らかの間隔で、消去動作が定期的に一時停止される。状態は依然として準備未完了のままである。かかる一時停止のうち何れかの一時停止の期間中に、読出し動作が自身の読出しアドレスを用いて進行してもよい。次いで、セルの値がセンスアンプによって決定され、結果の値が内部データ・レジスタに置かれ、次いで外部データ・レジスタに転送される。この時点で、ＳＲ（６）ビットは読出しオプションが完了しデータを通信バスに読み出す準備ができたときに「準備完了」となる。ＯＮＦＩのインタリーブ式読出し（ｉｎｔｅｒｌｅａｖｅｄ  Ｒｅａｄｉｎｇ）（読出しキャッシュ（Ｒｅａｄ  Ｃａｃｈｅ））を場合によっては使用して別の読出しを開始してもよい。
【００５９】
読出しデータは外部データ・バス上で収集される。インタリーブ式読出しキャッシュが未完了である場合は、ＳＲ（６）は現在のページが収集されたときに準備未完了となり、インタリーブ式（未完了）読出しキャッシュが完了したときに準備完了となる。インタリーブ式読出しが未完了の場合は、ＳＲ（６）は次の読出し動作が完了したときに準備完了をアサートする。
【００６０】
未完了であるインタリーブ式読出しがなかった場合は、全ての読出しデータが収集されている。消去動作が完了していない場合は、ＳＲ（６）は「準備未完了」となり、消去が再開され、するとすぐに、別の読出し動作が割り込む場合に備えて上述のように消去が定期的に一時停止する。
【００６１】
消去動作が完了すると、ＳＲ（６）は依然として「準備完了」のままであり、論理ユニットはアイドル状態となって任意のコマンドを待機する。
【００６２】
次に、ＯＮＦＩ仕様を用いてプログラムの非常に具体的な例を説明する。ブロックを消去した後、データをページ単位にプログラムする。ＮＡＮＤフラッシュで、トンネリングによりプログラム動作を実現するが（消去動作と同じ原理）、電子は反対方向に流れて浮遊ゲートに蓄積する。このプロセスのタイミングは可変であるが、このプロセスが完了するには一般に何百マイクロ秒もかかる。
【００６３】
プログラムするためには、バイアス電圧を制御ゲートに十分な時間印加して、各メモリ・セルの浮遊ゲートに書き込まれる電子の正確な数を取得する。これを正確に行うために、ＮＡＮＤフラッシュ・メモリ論理ユニットが一時停止して、ページ内の各セルの状態を検証してもよい。これは、浮遊ゲート内の電子を検出して、意図したパターンと比較することによって行われる。このプロセスは「検証」と呼ばれ、一般に、各論理ユニット内のコマンド回路３２０によって管理される。これにより、電荷が正確に制御され、最後のセルがその所望の状態に達したときにプロセスを完了することができる。これは、一般に、消去プロセスの期間を決定するのに用いる最悪のケースのタイミングよりもかなり短い。
【００６４】
幾つかの設計においては、検証を使用しなくともよい。その他、特にマルチレベルのセル設計では、検証が数回行われる。目標データ値によっては、セルに印加するバイアスは決まらず、その代り、どれくらい長くバイアスを印加するかが変わる。各検証の後、依然としてその意図した状態に達していないセル（浮遊ゲート上により多くの電子を必要とするセル）にのみバイアスが印加される。したがって、一般にプログラム・プロセスではより多くの電子を必要とするセルのサブセットにバイアスを印加し、プログラム・データ・ページ・レジスタ内に保持される参照値を検証することが繰り返される。このプロセスにより、統計的変動があっても出来るだけ早くプログラミングを完了することができ、空と満杯の間の複数の状態を正確に実現することができる。したがって、複数の情報ビットを含むようにメモリ・セルをプログラムすることができる。
【００６５】
プログラム・プロセスは、典型的な読出し待ち時間よりもほぼ１桁低速である可能性がある。プログラム動作が進行中で、かつ、同一の論理ユニットから読出し動作を行いたい場合は、読出し動作による遅延は、プログラミングが処理中でない場合の遅延よりもかなり大きい。処理中のプログラム動作に起因する待ち時間を減らすために、１つまたは複数の読出しコマンドがプログラム動作に割り込んでもよい。消去動作と全く同様に、電荷はピコ秒のスケールで行われる量子トンネリングで転送され、殆ど効率を変化させることなく当該電荷の転送を一時停止することができる。待機中の読出しコマンドがもうないと外部制御で判定されたとき、または、プログラム動作が高い優先度を有すると外部制御で判定された場合は、プログラム動作は継続する。これにより、プログラム動作が読出し動作を遅延させることに起因する待ち時間の大部分が削減される。このように読出し待ち時間が短いことは、通常は、プログラムの遅延コストよりも重要である。実際、重要な読出し動作には、あまり緊急でないプログラム動作に割り込む優先度が与えられる。
【００６６】
この具体的な例では、読出し動作が、プログラム動作の検証段階の直前または直後に、処理中のプログラム動作に割り込んでもよい。コマンド回路３２０がこれを、これから説明しようとするプロセスを用いてＯＮＦＩ標準により提供されるピン、信号、コマンド、および状態レジスタで実現してもよい。当業者は、この説明を読んだ後には、このプロセスを、特にチップがＯＮＦＩと異なる接続およびコマンドの標準に従う場合には、様々なシグナリング手法で管理できることを理解するであろう。本例では、プログラム・データ向けのレジスタは読出しデータを保持するために用いられるレジスタとは異なり、したがって、補助レジスタが第２の内部レジスタとして動作する上述の第１の開示した実施形態を使用する。したがって、プログラミング用のアドレスは読出しに使用されるアドレスとは別個にラッチされる。
【００６７】
プログラム動作を、論理ユニットの設計で許容される任意の時点で開始してもよい。プログラム動作の最中は、ＳＲ（６）状態ビットは「準備未完了」を示している。プログラム動作は、装置の典型的なページ読出し応答時間と比較可能な何らかの短い間隔（例えば、１０マイクロ秒の間隔）で定期的に一時停止される。この一時停止により完全に読出し動作が割り込むことができてもよく、または、この一時停止が検証への移行の前置きであってもよい。状態ＳＲ（６）は依然として「準備未完了」である。
【００６８】
この時点で、任意の未完了の読出し動作が自身の読出しアドレスを用いて進行してもよく、セルの値がセンスアンプによって決定され、結果の値が読出しのためにページ・レジスタに置かれる。アレイ読出しが完了したときにＬＵＮに対するＳＲ（６）が「準備完了」になり、データを読出しページ・レジスタから読み出す準備ができている。
【００６９】
ＯＮＦＩのインタリーブ式読出し（読出しキャッシュ）を場合によっては使用して別の読出し動作を開始してもよい。読出しデータは外部データ・バス上で収集される。インタリーブ式読出しキャッシュが未完了である場合は、ＳＲ（６）は現在のページが収集されたときに準備未完了となり、インタリーブ式（未完了）読出しキャッシュが完了したときに準備完了となる。インタリーブ式読出し動作が未完了である場合は、読出し動作が実行され、ＳＲ（６）が「準備完了」になって次の読出し動作が完了したことを示すのを待機する。
【００７０】
最後の読出し動作のデータが読み出され、未完了のインタリーブ式読出しがなくなると、チップは割り込まれたプログラム動作を再開する。「準備未完了」の状態ＳＲ（６）が再びアサートされる。一時停止を専ら読出し動作を可能とするために行った場合には、プログラム動作がデータ・アレイで再開する。一時停止が検証の前置きであった場合には、この時点でプログラム動作の検証段階が開始する。全てのビットがその所望の状態にあるわけではない場合は、検証の結果、書き込みが再開されるかもしれない。このプロセスは、全てのメモリ・セルが所望の値に正しく完了したことが検証によって確認されるまで繰り返される。この段階で、ＬＵＮはアイドル状態であり、何らかのコマンドを待機する。
【００７１】
この状態シーケンスは、読出し動作が検証段階の前に入り込める場合に適用されるが、ステップの順序を変更して読出し動作が検証の後に入り込めるようにしてもよく、または、実際に、その読出し動作が有効に検証段階の前後両方に入り込んでもよい。なぜならば、検証段階自体が期間において読出し動作と同様なステップであるからである。読出し動作が入り込むときは常に、状態を保存して、プログラム検証サイクルによりその状態が割り込む読出し動作によって妨害されないようにすることが重要である。これにより、プログラム検証サイクルが、入り込む読出し動作が完了した状況で再開することができる。
【００７２】
幾つかの状況ではプログラム検証ループが読出し待ち時間より少々長くてもよいが、１つ示唆されることは、当該ループをより頻繁に停止させることが重要でありうるということである。これにより、読出し動作が割り込む機会がより頻繁にある可能性があるので平均的な読出し待ち時間が短縮され、より頻繁な検証に起因してプログラミングがより正確になり、各プログラム検証サイクルで期待される電荷変更の粒度がより細かくなる。プログラム検証サイクルに割り込めない場合は、かかるトレードオフはあまり魅力的ではない。なぜならば、検証を追加することによりプログラム時間が増えるからである。プログラムに割込み可能とすることで、チップの設計者は、割込み可能なプログラミングなしには不可能である方法で全体的なシステム性能目標を依然として満たしつつ、信頼性と正確な信号の様々なバランスをもたらすことができる。逆説的ではあるが、低速だが割込み可能なプログラム動作により、システムがより高速になり、システムの信頼度が上がり、装置の耐久性が良くなり、セルごとの電圧レベルが高くなる。
【００７３】
このトレードオフは、セル当たり２つ、３つ、またはそれより多くのビットを有するマルチレベル電荷（ｍｕｌｔｉ−ｌｅｖｅｌ  ｃｈａｒｇｅ）のチップを高性能チップとして受け入れるために、特に重要である場合がある。今日では、フラッシュ・チップが新しいデータを格納するスループットが、多くのアプリケーションに必要な平均的な速度を大幅に超過している。しかし、プログラム動作が読出し動作に入り込み、これらの同一のアプリケーションで一般に短い待ち時間が必要である限り、消去動作とプログラム動作をより高速にするという要求が存在する。消去動作とプログラム動作に割込み可能とすることによって、全体のシステム性能を失わずに、セル当たりビットの密度を高めることと多くのサイクルおよび多くの年数を通じた装置の耐久性を向上させることとのトレードを検討することから装置の設計者を解放できる、良好なシステム・レベルのトレードオフが存在することとなる。
【００７４】
さらなる利点として、プログラム・サイクルと消去サイクルに割込み可能とされうるので、プログラム電圧と消去電圧を下げることができる。これはプログラム動作と消去動作に必要な時間を増大させる効果があるが、高電圧差動が長時間にわたり装置コンポーネントで続く傾向があるためチップの寿命を改善させる。しかし、プログラム動作と消去動作に必要な時間が増大することは、それらの動作に割込み可能であることを考慮すれば許容可能であろう。このように、チップの寿命を改善することができる。
【００７５】
本発明を、その趣旨または本質的な特徴から逸脱しない他の具体的な形態で具体化してもよい。説明した実施形態は、全ての点で、例示的にすぎず限定的ではないと考えるべきである。したがって、本発明の範囲は、以上の説明によってではなく特許請求の範囲によって示される。特許請求の範囲の意味およびその均等性の範囲に入る全ての変更は、特許請求の範囲に含まれる。
【図１】
0005529275.tif 000002
【図２】
0005529275.tif 000003
【図３】
0005529275.tif 000004
【図４】
0005529275.tif 000005
【図５】
0005529275.tif 000006
【図６】
0005529275.tif 000007