(57)【要約】【課題】マイクロコントローラーによって制御される不揮発性記憶装置を提供する。【解決手段】NVMアレイと関係付けられた周辺回路を制御するようになっているマイクロコントローラーを含む不揮発性記憶(NVM)装置を操作するためのシステム及び方法が開示されている。本方法は、少なくとも１つのオペレーションコマンドを、NVM装置のマイクロコントローラーに提供する段階と、操作信号をNVM装置の周辺回路に適用して、少なくとも１つのオペレーションコマンドに基づいてNVMアレイを操作する段階と、を含んでいる。【選択図】          図２
2006059355.tif 000002
【特許請求の範囲】
【請求項１】
ＮＶＭアレイに関係付けられた周辺回路を制御するようになっているマイクロコントローラーを備えている不揮発性記憶（ＮＶＭ）装置。
【請求項２】
少なくとも１つのコマンドを受信し、前記コマンドを前記マイクロコントローラーに挿入するためのユーザーコマンドインタフェースを更に備えている、請求項１に記載のＮＶＭ装置。
【請求項３】
前記マイクロコントローラーによって実行されることになる少なくとも１つのコマンドを記憶するよう構成されている第２ＮＶＭアレイを更に備えている、請求項１に記載のＮＶＭ装置。
【請求項４】
前記第２ＮＶＭアレイは、プログラムファイル読み取り専用メモリ（ＰＦＲＯＭ）である、請求項３に記載のＮＶＭ装置。
【請求項５】
前記少なくとも１つのコマンドは、起動プロセスの間に実行されるときに、前記ＮＶＭ装置を構成する、請求項３に記載のＮＶＭ装置。
【請求項６】
前記少なくとも１つのコマンドは、起動プロセスの間に実行されるときに、前記ＮＶＭ装置が所定の閾値電圧レベルにあることを確認する、請求項３に記載のＮＶＭ装置。
【請求項７】
前記少なくとも１つのコマンドは、起動プロセスの間に実行されるときに、前記ＮＶＭアレイの欠損領域を、前記ＮＶＭアレイの未使用領域と取り替える、請求項３に記載のＮＶＭ装置。
【請求項８】
前記マイクロコントローラーは、前記第２ＮＶＭアレイをポーリングすることによって、コマンドを実行するようになっている、請求項３に記載のＮＶＭ装置。
【請求項９】
前記マイクロコントローラーは、前記周辺回路が第１コマンドを操作している間に、第２コマンドを受信し、前記第１コマンドの実行を中断して、前記周辺回路を制御して前記第２コマンドを操作させるようになっている、請求項１に記載のＮＶＭ装置。
【請求項１０】
前記マイクロコントローラーは、外部装置から前記少なくとも１つのコマンドを受信するようになっている、請求項２に記載のＮＶＭ装置。
【請求項１１】
前記外部装置は携帯情報端末（ＰＤＡ）である、請求項１０に記載のＮＶＭ装置。
【請求項１２】
前記外部装置は携帯装置である、請求項１０に記載のＮＶＭ装置。
【請求項１３】
前記外部装置はプログラム可能な論理装置（ＰＬＤ）である、請求項１０に記載のＮＶＭ装置。
【請求項１４】
前記外部装置はメモリカードである、請求項１０に記載のＮＶＭ装置。
【請求項１５】
前記外部装置はマルチメデイアカードである、請求項１０に記載のＮＶＭ装置。
【請求項１６】
前記マイクロコントローラーは、少なくとも第２ＮＶＭ装置のオペレーションを制御するようになっている、請求項１に記載のＮＶＭ装置。
【請求項１７】
データとコマンドを記憶するようになっているＮＶＭアレイと、前記ＮＶＭアレイを操作するようになっている周辺回路と、前記周辺回路を制御するようになっているマイクロコントローラーとを含むＮＶＭ装置と、
少なくとも１つの前記コマンドを、前記ＮＶＭ装置の前記マイクロコントローラーに提供する外部装置と、を備えているシステム。
【請求項１８】
前記ＮＶＭ装置は、少なくとも１つのコマンドを受信し、前記少なくとも１つのコマンドを前記マイクロコントローラーに提供するユーザーコマンドインタフェースを含んでいる、請求項１７に記載のシステム。
【請求項１９】
前記外部装置は携帯情報端末（ＰＤＡ）である、請求項１８に記載のシステム。
【請求項２０】
前記外部装置は携帯装置である、請求項１８に記載のシステム。
【請求項２１】
前記外部装置はプログラム可能な論理装置（ＰＬＤ）である、請求項１８に記載のシステム。
【請求項２２】
前記外部装置はメモリカードである、請求項１８に記載のシステム。
【請求項２３】
前記外部装置はマルチメデイアカードである、請求項１８に記載のシステム。
【請求項２４】
不揮発性記憶（ＮＶＭ）装置を操作するための方法において、
少なくとも１つのオペレーションコマンドを、前記ＮＶＭ装置のマイクロコントローラーに提供する段階と、
操作信号を前記ＮＶＭ装置の周辺回路に適用して、前記少なくとも１つのオペレーションコマンドに基づいてＮＶＭアレイを操作する段階と、から成る方法。
【請求項２５】
前記少なくとも１つのオペレーションコマンドを提供する段階は、前記ＮＶＭ装置の開発の間に実施される、請求項２４に記載の方法。
【請求項２６】
前記少なくとも１つのオペレーションコマンドを提供する段階は、前記ＮＶＭ装置の製造の間に実施される、請求項２４に記載の方法。
【請求項２７】
前記少なくとも１つのオペレーションコマンドを提供する段階は、前記ＮＶＭ装置の生産の間に実施される、請求項２４に記載の方法。
【請求項２８】
前記少なくとも１つのオペレーションコマンドを提供する段階は、前記ＮＶＭ装置の試験の間に実施される、請求項２４に記載の方法。
【請求項２９】
前記少なくとも１つのオペレーションコマンドを提供する段階は、前記ＮＶＭ装置の起動の間に実施される、請求項２４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概括的には不揮発性記憶装置に、より具体的には、そのような記憶装置の製造及び開発の改良に関する。
【背景技術】
【０００２】
新世代の集積回路（ＩＣ）の製造及び開発のプロセスは、通常１８から２１ヶ月続く。このプロセスは、通常１００を超える段階で構成されており、その間に１つのウェーハ上に数百のＩＣのコピーが形成される。このプロセスは、通常、システム、ロジック、回路及びポリゴンの設計の様な設計段階で始まる。一般的に、設計段階は１２ヶ月続き、設計されたＩＣはテープで出力される。続いて、出力されたテープは製造部門に引き渡されるが、通常このテープはＩＣの製造のベースになる。ＩＣの製造は、６−９ヶ月続き、最初と最後のステージを含んでいる。最初のステージは、通常、ウェーハ製作段階を含んでおり、３ヶ月続くのに対して、最後の工程は、通常３−６ヶ月続き、これには通常、パッケージアッセンブリと、バーンイン及び環境試験、電気的試験及び生産の試験の様な各種試験が含まれる。
【０００３】
図１に、典型的なＩＣ装置の単純化したブロック図を示す。概括的には、ＩＣ装置１０は、システム接続／ユーザーコマンドインタフェース１２、制御ロジックユニット及びコマンドデコーダー１４、周辺ブロックＡ１からＡｎ、及び主不揮発性メモリ（ＮＶＭ）アレイ１６を含んでいる。
【０００４】
通常、プログラム及び消去の様なユーザーコマンドは、システム接続／ユーザーコマンドインタフェース１２を通してＩＣ装置１０に導入され、埋め込み型オペレーションとして実行される。普通は、制御ロジックユニット及びコマンドデコーダー１４は、埋め込み型オペレーションを制御する。例えばプログラム、消去及び読み取りコマンドのような埋め込み型オペレーションは、通常は事前に定義されており、電気的パルスを組み合わせて、オペレーションを確認する。電気的パルスは、ユーザーコマンドとデータに従って主ＮＶＭアレイ１６内に記憶されているデータを変更し、確認オペレーションは、コマンドの実行の進行を制御する。
【０００５】
制御ロジックユニット及びコマンドデコーダー１４は、通常、同期ロジック設計ブロックである。これは、周辺ブロックＡ１からＡｎを制御し、このことは埋め込み型オペレーションを実行するのに不可欠である。周辺ブロックＡ１からＡｎは、例えば、ＩＣ装置１０の内部給電回路、行列デコーダー、データバッファ、及びＩＣ装置１０のオペレーションに必要な他の内部回路を含んでいる。
【０００６】
通常、制御ロジックユニット及びコマンドデコーダー１４は、状態マシン、カウンター及びレジスターで作られている。従って、例えばプログラムのプロセス又は消去プロセスのような埋め込み型オペレーションの定義を変更するには、ＩＣ装置１０のレイアウト設計を変更する必要がある。
【０００７】
チップの設計変更に繋がるメモリチップ内の追加的変更は、周辺ブロックＡ１からＡｎの内の１つの定義を変更することである。
一般的に、埋め込み型オペレーションの定義の変更、即ち周辺ブロックＡ１からＡｎの変更は、ＩＣ装置１０の開発及び製造のプロセスに相当な影響を及ぼす。主には、埋め込み型オペレーションと周辺ブロックの定義は、通常は設計段階の間に決められるので、必要な変更が設計プロセス内で明らかになるのが遅くなるほど、開発及び製造のプロセスへの影響が深刻になる。従って、テープ出力後に変更が出ると、完全に新しいテープ出力が必要となり、時間と資源の無駄になる。
【特許文献１】米国特許第５，９６３，４６５号
【特許文献２】米国特許出願第１０／８２６，３７５号
【発明の開示】
【課題を解決するための手段】
【０００８】
本発明の実施形態によれば、ＮＶＭアレイに関係付けられた周辺回路を制御するようになっているマイクロコントローラーを備えている不揮発性記憶（ＮＶＭ）装置が提供されている。
【０００９】
本発明の実施形態によれば、更に、データとコマンドを記憶するようになっているＮＶＭアレイ、前記ＮＶＭアレイを操作するようになっている周辺回路、及び前記周辺回路を制御するようになっているマイクロコントローラーを含むＮＶＭ装置と、前記ＮＶＭ装置のマイクロコントローラーに少なくとも１つのコマンドを送る外部装置と、を備えたシステムが提供されている。
【００１０】
本発明の実施形態によれば、更に、不揮発性記憶（ＮＶＭ）装置を操作するための方法であって、ＮＶＭ装置のマイクロコントローラーに少なくとも１つのオペレーションコマンドを提供する段階と、ＮＶＭ装置の周辺回路に操作信号を出して、少なくとも１つのオペレーションコマンドに基づいてＮＶＭアレイを操作する段階と、から成る方法が提供されている。
【発明を実施するための最良の形態】
【００１１】
本発明の主題は、明細書の結論部分に具体的に指摘し、明白に請求している。しかしながら、本発明は、添付図面を参照しながら以下の詳細な説明を読めば、構成及び操作の方法の両方について、その目的、特徴及び利点と共に良く理解頂けるであろう。なお、以下の詳細な説明及び図面は、本発明を何ら限定するものではない。
【００１２】
なお、各図面において、簡単で分かり易くするため、図中の要素は必ずしも縮尺通りに描いてはいない旨理解頂きたい。例えば、幾つかの要素の寸法は、分かり易くするため他の要素に比べて誇張している。また適当と思われる場合、参照番号は、対応する又は類似する要素を示すために、各図に亘って繰り返し使用している。
【００１３】
本発明の実施形態によれば、ＮＶＭ装置内の、又はＮＶＭ装置と関係付けられたマイクロコントローラーを導入すれば、記憶装置の開発及び製造のプロセスが改良される。本発明の実施形態では、ＮＶＭ装置の開発及び製造の間に、プログラム及び消去の様なユーザーコマンドを含むＮＶＭの操作手順に対する変更の様な変更が必要になった場合、マイクロコントローラーは、例えばユーザーコマンドインタフェースを介して、マイクロコントローラーから新しいユーザーコマンドを受信する。すると、ＮＶＭ装置は、そのような新しいコマンドに従って、実質的に殆ど開発及び製造のプロセスにおける遅延無しに、操作される。本発明の或る実施形態では、記憶装置がすでに生産されているときは、ユーザーコマンドは、変更され、そしてＮＶＭ装置に挿入され、生産プロセスに実質的に影響を及ぼすことはない。
【００１４】
本発明の実施形態によるＮＶＭ装置内のマイクロコントローラーを使用すれば、記憶装置がプログラム可能及び操作可能ではなく、装置が開発又は製造のステージにあるときには、例えば起動プロセスの様な装置を使用可能にするプロセスを強化することができる。本発明によるマイクロコントローラーの或る実施形態は、記憶装置へのコマンドの挿入、又はＮＶＭ装置の自己試験の様なＮＶＭ装置の他のオペレーションも強化する。
【００１５】
次に図２は、本発明の実施形態による、マイクロコントローラー２４によって制御される不揮発性記憶（ＮＶＭ）装置２０の単純化したブロック図である。ＮＶＭ装置２０は、例えば、ユーザーコマンドインタフェース２２、マイクロコントローラー２４、プログラムファイルＲＯＭ（ＰＦＲＯＭ）２６、周辺ブロックＰ１からＰｎ及びＮＶＭアレイ２８を含んでいる。
【００１６】
ＮＶＭ装置２０は、例えば、ユーザーコマンドインタフェース２２を通して、ＰＤＡ、携帯装置、プログラム可能な論理装置（ＰＬＤ）、メモリカード、マルチメディアカードなどの外部装置と通信することができる。ユーザーコマンドインタフェース２２は、通信バスＡを通して、マイクロコントローラー２４と、コマンド及びデータ信号を送受信することができる。マイクロコントローラー２４は、ＮＶＭ装置２０のオペレーションを制御し、例えば、ユーザーコマンドインタフェース２２からコマンドシーケンス及びデータ信号を受信し、コマンドシーケンスを復号し、復号済みのコマンドを周辺ブロックＰ１からＰｎに送り、そこからＮＶＭ２０に送る。
【００１７】
マイクロコントローラー２４は、通信バスＢ及びＣ１−Ｃｎを通して、それぞれＰＦＲＯＭ２６及び周辺ブロックＰ１からＰｎと通信する。通信バスＢは、例えば、コマンドシーケンス又はインストラクションコードを、ＰＦＲＯＭ２６からマイクロコントローラー２４へ送るのに用いられる。本発明の或る実施形態では、通信バスＢは、マイクロコントローラー２４のプログラムカウンターへの通信線として働く。マイクロコントローラーのプログラムカウンター（ＰＣ）は、ＰＦＲＯＭ２６の一部に関係付けられている。プログラムカウンター（ＰＣ）は、通常は、次に実行すべきコマンド又はインストラクションの場所又はアドレスを保持するレジスターである。ＰＣは、通常、インストラクションが取り出される度に逐増される。ＮＶＭ装置２０の能力を強化するために、ＰＦＲＯＭ２６からマイクロコントローラー２４までの第２通信バス（図示せず）を、マイクロコントローラー２４の専用ＰＣ線として使用してもよい。
【００１８】
通信バスＣ１−Ｃｎは、マイクロコントローラー２４が、周辺ブロックＰ１からＰｎと通信して埋め込み式オペレーションを操作できるようにする。周辺ブロックＰ１からＰｎは、例えば、ＮＶＭ装置２０の内部給電回路、行列デコーダー、データバッファ、及びＮＶＭ装置２０のオペレーションに必要な他の内部回路を含んでいる。
【００１９】
ＮＶＭ装置２０は、プログラムファイルＲＯＭ（ＰＦＲＯＭ）２６を含んでいる。ＰＦＲＯＭ２６は、例えば本発明と同じ譲受人に譲渡された米国特許第５，９６３，４６５号に記載のＮＶＭアレイの様なＮＶＭアレイでもよいし、例えば本発明と同じ譲受人に譲渡された２００４年４月１９日出願の米国特許出願第１０／８２６，３７５号に記載の方法の様な方法で操作することができ、上記両出願の全体を参考文献としてここに援用する。
【００２０】
ＰＦＲＯＭ２６は、例えば、主要なプログラムと消去のフローを記憶する。ＰＦＲＯＭ２６は、記憶装置の開発及び製造の異なるフェーズの間に、主要なプログラムと消去のフローを記憶するようにプログラムされている。例えば、ＰＦＲＯＭ２６は、記憶装置を検査し試験する段階、例えばＳＯＲＴフェーズの間に、主要なプログラムと消去のフローを記憶するようプログラムされている。ＳＯＲＴフェーズは、通常、限定するわけではないが、内部供給検証、メモリアレイセルの欠陥検出、メモリアレイ基準セルの欠陥検出、プログラムと消去のフローの試験などの様な基本的な検査と試験を含んでいる。通常、ＳＯＲＴフェーズは、集積回路製造の最終ステージの一部として実施される。
【００２１】
本発明の実施形態によれば、例えばＳＯＲＴフェーズの前のようなＰＦＲＯＭ２６がプログラムされていないときに、ＮＶＭ装置２０を操作して、例えばＮＶＭ装置２０の電圧の読み取りオペレーションやＰＦＲＯＭ２６の最初のプログラムオペレーションの様な様々なオペレーションを実行できるようにする。ＰＦＲＯＭ２６にプログラムして記憶させるソフトウェアには、例えば、ＮＶＭ装置２０の完全な起動処理のためのプロセスが含まれる。ＰＦＲＯＭ２６をプログラムした後は、ＮＶＭ装置２０をオンにすると何時でも起動プロセスを使用することができる。
【００２２】
本発明の或る実施形態によれば、起動プロセスは、ＮＶＭ２０の特定のオペレーション用のパラメータを構成するのに適合させることができる。起動プロセスを、例えば、読み取りオペレーションに必要なパラメータを構成するのに使用することもできる。これらのパラメータには、例えば、ＮＶＭ装置２０内の内部電圧のトリミングオプション、アレイデータの感知時間のような時間要素の遅延、及び／又は他のパラメータが含まれる。
【００２３】
本発明の或る実施形態によれば、起動プロセスは、ＮＶＭ装置２０が消去オペレーションに使用する内部アルゴリズム用のパラメータを構成するのに適合させることができる。例えば、消去パルス幅は、プログラムと消去のアルゴリズムに影響を与えるパラメータである。マイクロコントローラー２４は、起動プロセスの間にこのパラメータ又は別の内部パラメータをダウンロードし、そのようなパラメータをＮＶＭアレイ２８のプログラム可能な区画に記憶する。本発明の或る代表的な実施形態によれば、ＮＶＭアレイ２８のこのプログラム可能な区画は、一度だけプログラム可能である（ＯＴＰ）。ＮＶＭアレイ２８の中のそのようなＯＴＰ区画の部分は、例えば、ＰＤＡ、携帯装置、プログラム可能な論理装置（ＰＬＤ）、メモリカード、マルチメディアカードなどの様な外部装置でアクセスすることができる。加えて、又は代わりに、プログラム可能な区画の部分は、内部使用のため、マイクロコントローラー２４でアクセスすることができる。例えば、起動プロセスの間にプログラム可能な区画に記憶される内部パラメータは、内部アルゴリズムの実行の間に使用されるパラメータである。
【００２４】
本発明の或る実施形態によれば、ＮＶＭメモリアレイ２８のＯＴＰ区画は、例えば、冗長データを記憶するのに使用される。冗長データは、ＮＶＭ装置２０のオペレーションの間は使用されないＮＶＭメモリアレイ２８内の専用記憶領域をマップするデータである。冗長データは、例えばＮＶＭメモリアレイ２８の生産の間に、例えばＮＶＭメモリアレイ２８内の記憶領域が欠損した場合に用いられる。起動プロセスの間に、ＯＴＰからマイクロコントローラー２４へ冗長データがダウンロードされ、マイクロコントローラーは、ＮＶＭ装置２０のオペレーションを通して、ＮＶＭメモリアレイ２８の欠損記憶領域を専用の未使用記憶領域と取替える制御をする。
【００２５】
本発明の或る代表的な実施形態によれば、例えば起動プロセスの間に実施される追加のプロセスは、ＮＶＭ装置２０への電圧供給の妥当性検証である。ＮＶＭ装置２０の電圧が所定の閾値レベルを下回っている場合、起動プロセスは、電圧が所定の閾値レベルに達するまで停止される。所定の閾値電圧レベルは、例えばＮＶＭメモリアレイ２８のＯＴＰ区画に記憶され、起動プロセスの間に、マイクロコントローラー２４は、閾値電圧レベルを検索し、それをＮＶＭ装置２０の実際の電圧レベルと比較する。本発明の第２の代表的な実施形態によれば、所定の閾値電圧レベルは、例えばＰＦＲＯＭ２６内に記憶され、マイクロコントローラー２４は、そこからその閾値電圧レベルを検索する。
【００２６】
次に図３は、インタフェースユニットの単純化したブロック図である。図示の実施形態では、マイクロコントローラー２４は、コマンドデコーダー（ＣＭＤ）３０を含んでいるか、又はこれと通信している。ＣＭＤ３０は、例えば状態マシンである。ＣＭＤ３０は、ＮＶＭ装置２０内の一体の装置又は独立した装置として設計してもよいし、図３の実施形態に示しているように、マイクロコントローラー２４の内部要素であってもよい。本発明の或る実施形態では、ＣＭＤ３０は、全くの独立した装置である。ＣＭＤ３０は、１つ又は複数の入力線を通してコマンドを受信し、そのような受信したコマンドを復号し、例えば実行すべきコマンドの出力線を始動することによって、出力信号を生成する。実施形態の中には、ＣＭＤ３０は、ＮＶＭ装置２０の状態に関係なく、入力で受信したコマンドを復号し、例えばＮＶＭ装置２０が別のコマンドを実行している間に実行するためのコマンドを復号するものもある。
【００２７】
本発明の或る代表的な実施形態では、ＣＭＤ３０は、例えばクロック線３１とコマンド入力線３２を含んでいる。入力線３２は、例えばユーザーコマンドインタフェース２２を介して、通信線Ａを通して外部装置からコマンドの信号を受信する。ＣＭＤ３０に入ったコマンドは、例えば１６ビットフォーマットである。ＣＭＤ３０は、ＣＭＤ３０によって復号されるコマンドの出力線、例えばプログラムコマンド用のＣＭＤｐｒｏｇｒａｍ線３４、バッファへのプログラミング用のＣＭＤｂｕｆｆｅｒ-ｐｒｏｇｒａｍ線３５、バッファ強化ファクトリプログラミングコマンド用のＣＭＤｐｒｏｇｒａｍ−ｂｅｈｐ線３６、消去コマンド用のＣＭＤｅｒａｓｅ線３７、中断コマンド用のＣＭＤｓｕｓｐｅｎｄ線３８、及び再開コマンド用のＣＭＤｒｅｓｕｍｅ線３９を含んでいる。
【００２８】
法定のコマンドシーケンスがＣＭＤ３０に入力されると、入力されたコマンドに関係する出力線が始動する。例えば法定の「ワードプログラム」シーケンスが入力されると、ＣＭＤｐｒｏｇｒａｍ出力信号３４が、外部装置が異なるコマンドシーケンスの書き込みを試みるまで、例えば終了又はエラーのようなプログラムオペレーションの状況に関係なく始動する。ＣＭＤｐｒｏｇｒａｍ出力信号３４が始動すると、ＮＶＭ装置２０が「ワードプログラム」コマンドを完了するのに使用されている間に外部装置によって要求される別の埋め込み式コマンドは無視される。ＣＭＤ３０のオペレーションの間に始動する追加信号は、例えば、バッファに書き込まれたコマンドが復号されたときに始動するＣＭＤｂｕｆｆｅｒ−ｐｒｏｇｒａｍ３５；バッファ強化ファクトリプログラミングコマンドが復号されたときに始動するＣＭＤｐｒｏｇｒａｍ−ｂｅｈｐ３６；法定消去コマンドが復号されたときに始動するＣＭＤｅｒａｓｅ３７；法定の中断コマンドが復号されたときに始動するＣＭＤｓｕｓｐｅｎｄ３８；法定の再開コマンドが復号されたときに始動するＣＭＤｒｅｓｕｍｅ３９である。
【００２９】
次に図４は、本発明の或る実施形態による、マイクロコントローラー２４によって制御されるコマンド実行のフローチャートである。図４に示している代表的な実施形態では、プログラムコマンドの実行について記載している。消去の様な他のコマンドが幾つあっても、必要に応じて少し変更するだけで同様に実行できるものと理解頂きたい。プログラムコマンドの実行は、プログラムコマンドのユーザーコマンドシーケンスをＣＭＤ３０に入力することによって始まる（ブロック１００）。先に述べたように、プログラムコマンドシーケンスが復号されると、復号されたコマンドの信号が始動し（ブロック２００）、例えばプログラムコマンドが復号されると、ＣＭＤｐｒｏｇｒａｍ線が始動する。ＣＭＤからの信号は、以下に説明するように、信号を同期装置ブロックに進ませることによって、同期化される（ブロック３００）。コマンドは、マイクロコントローラーがコマンドの実行を制御するときに、コマンドがマイクロコントローラーに確実に挿入されるようにするために同期化される。コマンドを同期化した後、マイクロコントローラーが、コマンドを実行していない場合は、復号され同期化されたコマンドは、マイクロコントローラーによってポーリングされる（ブロック４００及び５００）。マイクロコントローラーがコマンドを実行している場合は、復号され同期化されたコマンドは、バッファに置かれる（ブロック７００）。バッファから、コマンドは、マイクロコントローラーが先のコマンドの実行を完了し、バッファされたコマンドを実行できるようになるまで、再度同期化される。マイクロコントローラーがポーリングされたコマンドのオペレーションを完了すると、同期装置は、追加のコマンドをポーリングできるようにリセットされる（ブロック６００）。
【００３０】
次に図５は、本発明の或る実施形態によるコマンド同期化ブロックの単純化したブロック図である。同期化ブロック５０は、ＮＶＭ装置２０内の独立した装置又はマイクロコントローラー２４内の内部要素として設計されている。同期化ブロック５０は、分かり易くするために、マイクロコントローラー２４内の内部要素として説明するが、同期化ブロック５０は、ＮＶＭ装置２０内に独立した装置として配置してもよい。同期化ブロック５０は、ＣＭＤ３０から信号を受信し、信号をマイクロコントローラー２４へ送る。或る代表的な実施形態では、同期化ブロック５０が送る信号には、コマンドが有効であり同期化されていることを知らせる信号と、マイクロコントローラー２４がコマンドを吸収できるようにする信号との、少なくとも２つの種類がある。以下の代表的な実施形態では、プログラムのコマンドの同期化について説明する。
【００３１】
本発明の或る実施形態によれば、同期化ブロック５０は、例えば、正エッジ検出器５２、Ｋ埋め込み式コマンド用のＫラッチ、及び同期装置５４を含んでいる。図５に示している代表的なラッチは、プログラムコマンドを同期化するのに用いられる。各Ｋラッチは、例えば、セットとリセットの２つの安定した状態を有するＳ−Ｒラッチである。各ラッチの状態は、コマンドのパルス信号が正エッジ検出器５２からラッチへ送られるときに設定されたように判断される。正エッジ検出器５２は、コマンド信号をＣＭＤ３０から受信すると、コマンドパルス信号を各ラッチに送る。例えば、正エッジ検出器がＣＭＤｐｒｏｇｒａｍ信号を受け取ると、プログラムパルスｐｒｇ ｐｕｌｓｅが各ラッチに送られる。Ｋラッチからの全てのＫ出力信号は、論理「ＮＯＲ」トランジスタを通して同期装置５４に送られる。更に、図５にｐｓ ｕｃ ｃｌｋ線で示しているように、マイクロコントローラーのクロックも、信号を同期装置５４に送る。従って、同期装置５４が、使用可能なラッチを通して、例えばマイクロコントローラーのクロックからの信号と正エッジ検出器５２からの信号を受信すると、コマンドが同期化される。埋め込み式オペレーションの実行は、マイクロコントローラーによって、ラッチが設定された後５００ｎｓ未満で実施される。
【００３２】
本発明の或る代表的な実施形態によれば、埋め込み式コマンドの実行が完了すると、マイクロコントローラー２４は、使用可能なラッチのリセット線の信号を始動することによって、同じコマンドを繰り返し実行することがないようにラッチをリセットする（図４に示しているｃｂ ｐｒｇ ｅｒｓ ｅｎｄ線）。このステージでは、他の全てのＫ−１のラッチも、別のコマンドが実行されているときに外部装置によって書き込まれるコマンドを実行しないように、リセットモードにある。説明している構造は、各コマンドが一度に一つのラッチを設定することを保証する。従って、先のコマンドが実行された実質的に直後に新しいコマンドが復号され同期化されると、ＮＶＭ装置２０は、コマンドのラッチがリセットモードであるので、コマンドを実行するか、又は無視するが、ＮＶＭ装置は、例えばコマンドを実行も無視もしない、未定義状態にはない。
【００３３】
次に図６は、マイクロコントローラーがコマンドを実行しているときに別のコマンドを実行する方法のフローチャートである。マイクロコントローラーが他のコマンドを実行しているときでも、幾つかのコマンドは、マイクロコントローラー２４によって実行されなければならず、例えば、コマンドＡが実行されている（ブロック１００）間に、コマンドＢも実行されなければならない（ブロック２００）。ポーリング手順によれば、数マイクロ秒毎に、マイクロコントローラー２４は、コマンドの実行を停止して新しいコマンドを確認しなければならないので、別のコマンドＢを実行している間にコマンドＡをポーリングしようとするのは時間の浪費である。代わりに、マイクロコントローラーが、他のコマンドを実行しているときでも、実行しなければならない幾つかのコマンドを、割り込みとしてマイクロコントローラー２４に接続してもよい。割り込みは、通常、現在計画され又は同期化されているコマンドを中断し、割り込みハンドラルーチンを通してマイクロコントローラーの制御の流れを一時的に逸らす非同期的事象である。割り込みは、例えばＩ／Ｏ、タイマー、マシンチェックの様なハードウェアと、例えば監視プログラム、システム呼出又はトラップインストラクションの様なソフトウェアの両方によって発生する。
【００３４】
異なる目的のために幾つかの割り込みチャネル又はアドレスがある。例えば、中断コマンドをマイクロコントローラー２４への割り込みとして接続することもでき、中断コマンドが必要なときは、その割り込みチャネル又はアドレスを使って、中断コマンドを割り込みとしてマイクロコントローラー２４に挿入する。従って、例えばコマンドＢを実行しなければならないときは、コマンドＢが割り込みとしてマイクロコントローラー２４に接続される（ブロック３００）。すると、コマンドＢが割り込みとしてマイクロコントローラー２４に接続されている間は、マイクロコントローラー２４によって実行されなければならないコマンド、例えばコマンドＡは、例えばマイクロコントローラー２４のレジスターに保持される（ブロック４００）。その結果、コマンドＢは、先に実行されたコマンドを損なうこと無くマイクロコントローラー２４によって実行される（ブロック５００）。コマンドの実行が完了すると、マイクロコントローラーは、この例ではマイクロコントローラー２４のレジスターに記憶されているデータに従って、先のコマンド、例えばコマンドＡの実行を再開する（ブロック６００）。コマンドを割り込みとしてマイクロコントローラーに接続することによってコマンドを実行する本説明のプロセスは、実質的にハードウェアのオーバーヘッドを伴わずに実施される。
【００３５】
この実施形態によれば、例えば高電圧切替の間のような或る状況の下では、実行されるコマンドは、別のコマンドに割り込まれること無くその実行を完了しなければならない。その場合、マイクロコントローラーは、敏感なコマンドが実行されている間は、例えば非割り込み信号を始動させることによって割り込みを阻止する。
【００３６】
以下は、マイクロコントローラーにコマンドを操作させるのに用いられる割り込み機構の例である。中断コマンドは、例えば、割り込みとしてマイクロコントローラー２４に接続してもよいし、本発明のこの実施形態に従って実行してもよい。他のコマンドが実行されているときに外部装置が中断コマンドを入力し、マイクロコントローラーによって割り込みが阻止されない場合は、現在のコマンドの状態がマイクロコントローラー２４のレジスターの中に保持され、中断コマンドが実行される。中断コマンドの実行が完了すると、現在のコマンドの実行が、マイクロコントローラー２４のレジスターに記憶されているデータに従って再開される。
【００３７】
次に図７は、本発明の或る代表的な実施形態による、（図２に示す）周辺ブロックＰ１からＰｎの内の１つのデータ出力オペレーションに関わる各種信号のシミュレーションの単純化したグラフである。図２に簡単に示している通信バスＣ１−Ｃｎは、マイクロコントローラー２４をそれぞれ周辺ブロックＰ１からＰｎに接続している。従って、マイクロコントローラー２４は、周辺ブロックＰ１からＰｎを操作し、それらからデータを受け取ることができる。周辺ブロックＰ１からＰｎは、それぞれサブブロックを有しており、以後「クライアント」（図２に図示せず）と呼ぶことにする。クライアントは、例えば８つまでのフリップフロップを含んでおり、それらの値は、通信バスＣ１−Ｃｎが受信する信号によって設定される。マイクロコントローラー２４は、例えば、レジスターのバンク（「ポートブロック」）にアクセスすることによって、通信バスＣ１−Ｃｎを通して信号を送り、そのそれぞれは、通信バスＣ１−Ｃｎ内では８ビット幅である。ポートブロックは、例えば１６個のレジスターを含んでおり、マイクロコントローラー２４は、各レジスター毎に固有のコマンドを備えた読み取り及び書き込みコマンドによって、レジスターにアクセスする。
【００３８】
通信バスＣ１−Ｃｎは、周辺ブロックＰ１からＰｎを操作する各種信号を含んでいる。例えば、データ出力信号は、ポートブロックへ送られ、クライアントにデータを書き込む。同様に、データ入力信号は、例えばポートブロックへ送られ、クライアントから通信バスＣ１−Ｃｎが受け取ったデータをサンプリングする。ＮＶＭ装置２０の正しいオペレーションは、或るクライアントがそのデータを全てのクロックエッジに送るときに得られる。追加の信号が、クライアントを選択するのに用いられる。この代表的な実施形態によれば、クライアントは、その選択信号がハイのときに書き込まれる。大域使用可能信号も伝送することができ、この信号が送られると、全てのクライアントが書き込まれる。
【００３９】
図７に戻るが、クライアントのデータを変更するために、データ出力オペレーションが適用される。従って、クライアントは、選択されたクライアントの選択信号、例えば図７のｐｏｒｔ ｓｅｌｅｃｔ＜ｉ＞をオンにすることによって選択される。更に、例えば８ビットの信号ｐｏｒｔ ｃｂ ｄａｔａ ｏｕｔであるデータ出力信号がオンにされ、従って、ポートブロックは大域使用可能信号をオンにする。同じクライアントに異なる値を連続的に書き込みしなければならない場合、大域使用可能信号はオンのままになる。その後クライアントは解放されるので、次のデータ出力が、２つ以上のクライアントに書き込まれることはない。図７で分かるように、データは、クライアントが選択されたときにそのクライアントに書き込まれ、大域使用可能信号は、ＮＶＭ装置２０のクロックが下降エッジにあるときにオンにされる。
【００４０】
本発明の或る代表的な実施形態によれば、データ制御の型式は、通信バスＣ１−Ｃｎを通してマイクロコントローラー２４に対して送受信するためのクライアントを選択するために選択される。データ制御の型式は、例えば、クライアント選択信号の上位３つのビットによって定義される。表１は、データ制御を定義するための上位３つのビットの代表的な構成を示している。
【００４１】
【表１】
2006059355.tif 000003
【００４２】
正規のアクセスデータ制御モードでは、例えばビット５、６、７は「０」にリセットされる。このモードは、データを修正することなくポートブロックに送るのに用いられる。
ワンショットアクセスデータ制御モードでは、例えばビット５が「１」に設定される。このモードは、クライアントを、ＮＶＭ装置２０の１クロック期間、構成するのに用いられる。
【００４３】
クリアアクセスデータ制御モードでは、例えばビット６が「１」に設定される。クリアアクセスモードは、データ値が「０」に等しい制御ビットがクリアされるときに用いられ、一方データ値が「１」に等しい制御ビットは、その値が変わらない。例えば、マイクロコントローラーは、通信バスＣ１−Ｃｎを通してクライアントにアクセスし、クライアントのビット番号４だけをクリアする。データ出力信号に必要なデータは、例えば、１１１０１１１１Ｂである。従って、先ず、引き数０１０００００１Ｂが選択信号に書き込まれ、次に必要なデータ１１１０１１１１Ｂが、データ出力信号を介して送信される。２つ以上のビットが「０」であれば、全ての「０」ビットがクリアされる。
【００４４】
セットアクセスデータ制御モードでは、ビット７が設定される。このモードは、クリアアクセスデータ制御モードのミラーモードである。セットアクセスモードは、データ値が「１」に等しい制御ビットが設定されるときに用いられ、一方データ値が「０」に等しい制御ビットは、値が変わらない。例えば、マイクロコントローラーは、通信バスＣ１−Ｃｎを通してクライアントにアクセスし、クライアントのビット番号４だけを設定する。データ出力信号に必要なデータは、例えば０００１００００Ｂである。従って、先ず、引き数１００００００１Ｂが選択信号に書き込まれ、次に必要なデータ０００１００００Ｂが、データ出力信号を介して送られる。２つ以上のビットが「１」であれば、全ての「１」ビットがクリアされる。
【００４５】
本発明の或る代表的な実施形態によれば、マイクロコントローラー２４を使って、実質的にハードウェアのオーバーヘッド無しに、ＮＶＭ装置２０に組み込み型自己試験（ＢＩＳＴ）オプションが追加される。ＢＩＳＴは、一般的には、ＮＶＭ装置がその機能性を実証するのに必要な内部試験のシーケンスを内部的に生成する能力である。通常、新世代の記憶装置のメモリとロジックは、ＳＯＲＴフェーズの間、又は記憶装置の特性が決められるときに試験される。一般的に、メモリ試験ロジックの試験は、互いに異なる幾つかの構成要素を有する。メモリ試験は、例えば、リフレッシュのタイミングが最悪で作動温度が極端な状態の下でメモリアレイパターン感度の欠陥とデータ保存測定値を検出するために、機能試験パターンの様な特殊な試験を必要とする。これらの幾つかの構成要素は、その機能性を支持するため、装置内に追加のハードウェアを必要とする。本発明のこの代表的な実施形態によれば、マイクロコントローラー２４を使って、実質的にハードウェアのオーバーヘッド無しに、ＢＩＳＴオプションが制御される。ＢＩＳＴオプションは、ＰＦＲＯＭ２６に書き込まれ、ＳＯＲＴステージの間、又はＮＶＭ装置２０が成熟状態にあるときに実行される。この実施形態によれば、ＢＩＳＴオプションは、ＮＶＭ装置２０の開発の間に変更され、変更はＰＦＲＯＭ２６に書き込まれたコマンドを適合させることによって実施されるので、開発及び製造の時間に実質的な影響は無い。更に、この実施形態によれば、ＢＩＳＴオプションは、ＮＶＭ装置２０のＳＯＲＴ又は特性付けフェーズの後に実行される。
【００４６】
本発明の或る実施形態によれば、マイクロコントローラー２４は、ＮＶＭ装置２０と外部装置のオペレーション、又は２つ以上のＮＶＭ装置のオペレーションを制御するようになっている。２つ以上のＮＶＭ装置又は外部装置のオペレーションは、通信線Ａ（図２参照）とユーザーコマンドインタフェース２２を使用して、ＮＶＭ装置又は外部装置の周辺ブロックを操作する信号を送ることによって実現される。
【００４７】
当業者には理解頂けるように、本発明は、ここでこれまで具体的に図示し説明してきたものに限定されるわけではない。例えば、具体的なコマンド及びオペレーションのフローについて説明してきたが、本発明の範囲内で別のコマンド及びオペレーションのフローも採用することができ、本発明はこの点に限定されないことも理解頂けるであろう。
【図面の簡単な説明】
【００４８】
【図１】典型的なＩＣ装置の単純化したブロック図である。
【図２】本発明の或る実施形態による、マイクロコントローラーによって制御される不揮発性記憶（ＮＶＭ）装置の単純化したブロック図である。
【図３】本発明の或る実施形態による、コマンドデコーダー（ＣＭＤ）の基本的インタフェースの単純化したブロック図である。
【図４】本発明の或る実施形態による、マイクロコントローラーによって制御されるコマンドの実行のフローチャートである。
【図５】本発明の或る実施形態による、コマンド同期化ブロックの単純化したブロック図である。
【図６】本発明の或る実施形態による、マイクロコントローラーが異なるコマンドを実行するときの、コマンドの実行のフローチャートである。
【図７】本発明の或る実施形態による、周辺ブロックの内の１つのデータ出力オペレーションに関わる各種信号のシミュレーションの単純化したグラフである。
【図１】
2006059355.tif 000004
【図２】
2006059355.tif 000005
【図３】
2006059355.tif 000006
【図４】
2006059355.tif 000007
【図５】
2006059355.tif 000008
【図６】
2006059355.tif 000009
【図７】
2006059355.tif 000010
【外国語明細書】
2006059355000001.pdf