(58)【調査した分野】(Int.Cl.,DB名)
前記ロードするステップは、並列に前記プログラムデータを前記第1のラッチに提供するステップを含み、前記第1のラッチと前記第2のラッチとがマスタ−スレーブフリップフロップ構成に配置される、請求項1に記載の方法。
前記読み取るステップは、センス増幅器を用いて前記データを検知するステップと、検知されたデータを前記第2のラッチに提供するステップとを含む、請求項4に記載の方法。
前記比較するステップは、前記1ビット出力を前段のローカルステータス信号と結合して前記ローカルステータス信号を提供するステップをさらに含み、前記前段のローカルステータス信号が前段のレジスタステージからの比較結果に対応する、請求項6に記載の方法。
前記比較するステップは、前記第1のラッチと前段のレジスタステージの別の第1のラッチとの前記データ状態を比較するステップをさらに含む、請求項1に記載の方法。
前記第1のラッチと前記前段のレジスタステージの別の第1のラッチとの前記データ状態を比較するステップは、前記第1のラッチと前記別の第1のラッチとが同一の所定のデータ状態を有する場合、別のローカルステータス信号を提供するステップを含み、前記同一の所定のデータ状態が反転した前記プログラムデータに対応する、請求項8に記載の方法。
前記第2のラッチがプログラムされたメモリセルに対応するデータ状態を保存する場合、前記第1のラッチに保存された前記プログラムデータを反転するステップをさらに含む、請求項1に記載の方法。
前記比較するステップは、前記第1のラッチに保存された前記プログラムデータの論理状態と前記第2のラッチに保存された前記データの論理状態とを比較して前記メモリセルのプログラミングの成否の指示を提供するステップをさらに含む、請求項1に記載の方法。
【背景技術】
【0002】
この出願は、両方共それらの全体が参照によってここに組み込まれる、2006年12月22日に出願された米国仮特許出願番号第60/871,519号、及び2006年12月22日に出願された米国仮特許出願番号第60/871,571号に対する優先権の利益を主張する。
【0003】
過去30年間にわたり、アンチヒューズ技術は、多くの発明者、IC設計者、及び製造業者の著しい注意を引き付けた。アンチヒューズは、導電状態に変更できる構造であるか、もしくは、言い換えれば非導電状態から導電状態に状態を変える電子デバイスである。同様に、2進状態は、プログラミング電圧またはプログラミング電流のような電気応力(electric stress)に応答した高い抵抗及び低い抵抗の内の1つであり得る。マイクロエレクトロニクス業界においてアンチヒューズを開発して適用する多くの試みがあったが、しかし、今までで最も成功したアンチヒューズアプリケーションは、アクテル社(Actel)及びクイックロジック社(Quicklogic)によって製造されたFGPAデバイス、そしてミクロン社(Micron)によってDRAMデバイスに使用された冗長性プログラミングまたはオプションプログラミングにおいて見られ得る。アンチヒューズ技術は、当該技術において良く知られていると共に、アンチヒューズトランジスタの例が、
図1〜
図5bにおいて示される。
【0004】
アンチヒューズメモリは、1度だけデバイスがデータによって永久に(電気的に)プログラムされ得るワンタイムプログラマブル(one-time programmable:OTP)メモリの一種である。このデータは、特定用途のためにエンドユーザによってプログラムされる。使用され得るいくつかの種類のOTPメモリセルがある。あらゆるデータがプログラムされ得るので、OTPメモリは、レベルの柔軟性をユーザに提供する。
【0005】
アンチヒューズメモリは、RF−IDタグを含む全てのワンタイムプログラマブルアプリケーションにおいて利用され得る。RF−IDタグ付けアプリケーションは、業界において、例えば特にセールス、セキュリティ、輸送、ロジスティクス、及び軍の用途において、更に多くの支持を獲得している。単純でかつ完全なCMOS互換アンチヒューズメモリは、集積回路製造及び試験工程に対するRF−IDタグ構想の応用を可能にする。従って、全てのウェハー上の、及び/またはウェハー上の全てのダイ上のRF通信インタフェースと組み合わせてアンチヒューズメモリを利用することによって、プリント回路基板アセンブリと同様に、IC製造及びパッケージング(packaging)の間に、チップに特有の情報もしくはウェハーに特有の情報の非接触式プログラミング及び読み取りを可能にし、IC製造の生産性が増加し得る。
【0006】
図1は、アンチヒューズメモリセルの基本概念を例証する回路図であり、一方、
図2及び
図3は、それぞれ、
図1に示されたアンチヒューズメモリセルの平面図及び横断面図を示す。
図1のメモリセルは、ビットラインBLをアンチヒューズデバイス12の下側プレート(bottom plate)に連結するためのパスまたはアクセストランジスタ10を備える。ワードラインWLは、アクセストランジスタ10をターンオンにするために、アクセストランジスタ10のゲートと連結されると共に、セルプレート電圧Vcpは、アンチヒューズデバイスをプログラミングするために、アンチヒューズデバイス12の上側プレート(top plate)に連結される。
【0007】
アクセストランジスタ10及びアンチヒューズデバイス12のレイアウトが非常に単純で簡単なことが、
図2及び
図3から分かり得る。アクセストランジスタ10のゲート14及びアンチヒューズデバイス12の上側プレート16は、アクティブ領域18を横断して伸びるポリシリコンの同じ層によって構成される。それぞれのポリシリコン層の下のアクティブ領域18には、下部のアクティブ領域からポリシリコンを電気的に分離するためのゲート誘電体として同じく知られている薄膜ゲート酸化膜20が形成される。ゲート14のそれぞれの側面は、拡散領域22及び拡散領域24であると共に、拡散領域24はビットラインに連結される。図示されないが、当業者は、側壁スペーサ形成(sidewall spacer formation)、低濃度ドープ拡散(lightly doped diffusions:LDD)、そして拡散及びゲートケイ素化(gate silicidation)のような標準のCMOSプロセスが適用され得ると理解することになる。古典的な1つのトランジスタ及びコンデンサのセル形状が広く使用されると同時に、トランジスタだけのアンチヒューズセルは、高密度応用に関して獲得され得る半導体アレイ領域の節約のために更に望ましい。そのようなトランジスタだけのアンチヒューズは、低コストCMOSプロセスによって製造するために簡単である一方、信頼できなければならない。
【0008】
図4aは、あらゆる標準のCMOSプロセスによって製造され得るアンチヒューズトランジスタの横断面図を示す。このアンチヒューズトランジスタの変形は、その内容が参照によって組み込まれる、2007年6月13日に出願された共同所有される米国特許出願番号第11/762,552号で開示される。現在示された例において、アンチヒューズトランジスタは、単純な厚膜ゲート酸化膜、または1つのフローティングした拡散端子を有する入出力MOSトランジスタとほとんど同じである。スプリットチャンネルコンデンサ(split-channel capacitor)またはハーフトランジスタ(half-transistor)とも称される開示されたアンチヒューズトランジスタは、ポリシリコンゲートと基板との間のヒューズリンクが予測どおりにデバイスの特定の領域に限定され得るように、確実にプログラムされ得る。
図4aの横断面図は、現在示された例ではp−チャンネルデバイスであるデバイスのチャンネル長さに沿って取得される。
【0009】
アンチヒューズトランジスタ26は、基板チャンネル領域30上に形成される変厚ゲート酸化膜(variable thickness gate oxide)28、ポリシリコンゲート32、側壁スペーサ34、フィールド酸化膜領域36、拡散領域38、及び拡散領域38におけるLDD領域40を備える。ビットライン接点42は、拡散領域38と電気的に接触しているように示される。変厚ゲート酸化膜28は、チャンネル長さの部分が厚膜ゲート酸化膜によって覆われると共に、チャンネル長さの残りの部分が薄膜ゲート酸化膜によって覆われるように、厚膜ゲート酸化膜と薄膜ゲート酸化膜とから構成される。一般的に、薄膜ゲート酸化膜は、酸化膜破壊(oxide breakdown)が発生し得る領域である。一方、拡散領域38に接触する厚膜ゲート酸化膜のエッジ(edge)は、ゲート酸化膜破壊が防止されるアクセスエッジを定義すると共に、ゲート32と拡散領域38との間の電流は、プログラムされたアンチヒューズトランジスタに関して流れることになる。厚膜酸化膜部分がチャンネル領域まで拡張する距離はマスクグレードによって決まると同時に、厚膜酸化膜部分は、好ましくは、同じチップ上に形成される高電圧トランジスタの最小長と少なくとも同じくらいの長さになるように形成される。
【0010】
この例において、拡散領域38は、ビットライン接点42を通してビットラインに接続されるか、またはポリシリコンゲート32が提供する電流を検知(センス)するための他のラインに接続されると共に、プログラミング電圧またはプログラミング電流に適応するように不純物が添加される。この拡散領域38は、変厚ゲート酸化膜28の厚膜酸化膜部分の最も近くに形成される。更に高電圧ダメージまたは漏電電流からアンチヒューズトランジスタ26のエッジを保護するために、製造工程の間に、サリサイド保護酸化膜(salicide protect oxide)としても知られている抵抗保護酸化膜(resistor protection oxide:RPO)が、側壁スペーサ34のエッジからの金属粒子の間隔をあけるために導入され得る。このRPOは、拡散領域38の部分及びポリシリコンゲート32の部分だけがサリサイド化されないようにするために、好ましくは、サリサイド化処理(salicidation process)の間に使用される。サリサイド化されたトランジスタが更に高い漏れ電流を有すると共に、それ故に、より低い破壊電圧を有するということが知られていることは有名である。従って、サリサイド化されない拡散領域38を有することは、漏れ電流を減少させることになる。拡散領域38は、低電圧トランジスタまたは高電圧トランジスタ、あるいは同じ拡散プロファイル(diffusion profile)もしくは異なる拡散プロファイルに帰着する2つの組み合わせになるように、不純物が添加され得る。
【0011】
アンチヒューズトランジスタ26の単純化された平面図が
図4bで示される。ビットライン接点42は、平面図を対応する
図4aの横断面図と適応させるための目視基準点として使用され得る。アクティブ領域44は、チャンネル領域30と拡散領域38とが形成されるデバイスの領域であると共に、それは、製造工程の間に、ODマスクによって定義される。破線の輪郭線46は、製造工程の間にOD2マスクによって厚膜ゲート酸化膜が形成されるべき領域を定義する。更に具体的には、破線の輪郭線46によって囲まれている領域は、厚膜酸化膜が形成されるべき領域を指定する。ODは、単に、酸化膜が形成されるべき基板上の領域を定義するためにCMOSプロセスの間に使用される(第1の)酸化膜定義マスクのことを指すと共に、OD2は、第1の酸化膜定義マスクとは異なる第2の酸化物定義マスクのことを指す。アンチヒューズトランジスタ26を製造するためのCMOSプロセスの手順の詳細は、後で論じられることになる。本発明の実施例によれば、アクティブ領域44のエッジとOD2マスクの最も右側のエッジとによって境界が示される薄膜ゲート酸化膜の領域は最小限にされる。現在示された実施例において、この領域は、最も右側のOD2マスクのエッジをアクティブ領域44の平行なエッジの方へシフトすることによって最小限にされ得る。前述の米国特許出願番号第11/762,552号は、不揮発性メモリデバイスアレイに使用され得る代替の単一トランジスタのアンチヒューズメモリセルについて説明する。2つのトランジスタのアンチヒューズメモリセルが、
図5a及び
図5bの例において示されたように、当該技術において知られている。
【0012】
図5bは、本発明の実施例による、あらゆる標準のCMOSプロセスによって製造され得る最小限にされた薄膜ゲート酸化膜領域を有する2つのトランジスタのアンチヒューズメモリセル48の平面図を示す。
図5aは、
図5bのメモリセル48の線B−Bに沿って取得された横断面図を示す。2つのトランジスタのアンチヒューズメモリセル48は、アンチヒューズトランジスタと直列に接続されたアクセストランジスタから構成される。アクセストランジスタは、厚膜ゲート酸化膜52の上に重なるポリシリコンゲート50を備えると共に、厚膜ゲート酸化膜52自身はチャンネル54の上に形成される。チャンネル54の左側は、ビットライン接点58に電気的に接続されている拡散領域56である。チャンネル54の右側は、アンチヒューズトランジスタによって共有される共通拡散領域60である。アンチヒューズトランジスタは、薄膜ゲート酸化膜64の上に重なるポリシリコンゲート62を備えると共に、薄膜ゲート酸化膜64自身はチャンネル66の上に形成される。破線の輪郭線68は、厚膜酸化膜が形成されるべきである領域を定義するOD2マスクを表す。厚膜ゲート酸化膜52は、高電圧トランジスタに対して使用されるものに対応し得ると共に、一方、薄膜ゲート酸化膜64は、低電圧トランジスタに対して使用されるものに対応し得る。ポリシリコンゲート50及びポリシリコンゲート62が独立して制御され得るか、または、その代わりに、
図5bで示されたように相互に接続され得ることは、有名である。
図5bの例において、ポリシリコンゲート50及びポリシリコンゲート62の両方は、同じポリシリコン構造の一部であると共に、ワードライン接点70を通してワードラインに接続されている。拡散領域56及び拡散領域60の両方は、LDD領域を有することができると共に、それは、使用されるべき所望の作動電圧に応じて、全く同じに不純物を添加され得るか、もしくは異なって不純物を添加され得る。2007年6月13日に出願された共同所有される米国特許出願番号第11の/762,552号は、不揮発性メモリアレイに使用され得る代替の2つのトランジスタのアンチヒューズメモリセルについて説明する。
【0013】
各プログラミングサイクルが幾らかの数のデータワードを同時にプログラムしようと試みるので、OTPメモリのプログラミングスピードは比較的遅い。各プログラミングサイクルに続くのが、データワードが首尾よくプログラムされたことを保証するためのプログラム検証サイクルである。プログラム検証ステップを通過しないあらゆるビットは、再プログラムされる。全てのメモリセル状態が首尾よくプログラムされるまで、このプロセスは続く。
図6aは、プログラムされない、アンチヒューズトランジスタ26のようなアンチヒューズメモリセルが、どのようにプログラムされるかを示す。アンチヒューズトランジスタ26は、ワードラインWLに接続されたそのゲート端子と、ビットラインBLに接続されたその単一の拡散領域とを有する。プログラミングは、ビットラインBLをVSSにバイアスすると共に、ワードラインWLを高電圧レベルVPPに駆動することによって達成される。VPPは、ポリシリコンゲートとチャンネル領域との間に導電性リンクを形成するのに十分であるように、薄膜ゲート酸化膜の製造技術及び厚さに基づいて選択される。
【0014】
首尾よくプログラムされたアンチヒューズトランジスタ26は、ポリシリコンゲートとチャンネル領域との間に導電性リンク72が形成される
図6bにおいて示される。導電性リンク72は、ワードラインとアンチヒューズトランジスタ26の薄膜ゲート酸化膜領域の下のチャンネル領域との間の抵抗性の接続として概略的に表される。その結果、導電性リンクを有するプログラムされたアンチヒューズトランジスタは、1ビットのデータの一方の論理状態を保存する。従って、プログラムされないアンチヒューズトランジスタは、デフォルト設定によって、1ビットのデータのもう一方の論理状態を保存することになる。アンチヒューズトランジスタ26のプログラミングを抑制するために、ワードラインがVPPに駆動される間、ビットラインはVDDにバイアスされる。これは、導電性リンクの成形を抑制するのに十分であろう。
【0015】
図7において示されたように、アンチヒューズトランジスタを読み取ることが、ワードラインを読み取り電圧VREADに駆動することによって、そしてビットラインをVSSにプリチャージすることによって達成される。もしアンチヒューズトランジスタ26が導電性リンク72を有しているならば、その場合に、ワードラインは導電性リンク72を介してビットラインをVREADの電圧レベルまで、そしてアンチヒューズトランジスタのプラスのゲート電圧まで引き上げることになる。このビットライン電圧は、センス増幅器回路によって検知されて、増幅され得る。その一方で、もしアンチヒューズトランジスタ26がプログラムされない、すなわち導電性リンク72を有していないならば、その場合に、ビットラインはおおよそVSSを維持することになる。
【0016】
フラッシュ(Flash)、EEPROM、もしくはアンチヒューズメモリのような、大部分の電気的にプログラム可能な不揮発性メモリは、メモリセルをプログラムするために高電圧の使用を必要とする。これらの高電圧は、チップ上で生成されると共に、プログラミング動作の間、ワードライン及び/またはビットラインに分配される。メモリの構造に応じて、あらゆる数のワードが同時にプログラムされ得ると共に、ここで各ワードは所定のビット数で構成される。メモリセルがプログラムされない状態、例えば論理0でスタートすると仮定すると、論理状態1を保存するためのメモリセルだけが実際にプログラミングを受ける。同時にプログラムされるべき論理状態1の数は、プログラムされるべきデータによって決まる。同時に多数のビットがプログラムされるかもしれないので、有限のオンチップ高電圧発生器は、全ての選択されたメモリセルをプログラムするための十分な電流を有していない可能性がある。従って、第1のプログラムサイクルの後で、プログラミングを受けたセルは、それらが首尾よくプログラムされたことを保証するために、検証(ベリファイ:verify)されなければならない。
【0017】
検証は、メモリセルを読み取ると共に、それらの保存された論理状態(論理0または論理1)を、所望のプログラムされた状態(例えば論理1)と比較することによって行われる。プログラム検証サイクルによって判定されたように、もし特定のビットが首尾よくプログラムされなかったならば、その場合に、プログラミングサイクルは繰り返される。しかしながら、首尾よくプログラムされたセルを再プログラムする必要性はない。これは、アンチヒューズトランジスタにとって解決することが難しい。プログラムされたアンチヒューズトランジスタは、そのワードラインとそのビットラインとの間に形成された導電性の経路を有すると共に、従ってそのようなセルにプログラムサイクルを繰り返すことは、プログラミングがまだ必要とされるセルから更に多くの電流を引き離すことになる。従って、それらのメモリセルは、次のプログラミングサイクルから除外されなければならない。この反復のプログラム−検証−プログラムシーケンスは、プログラムされるべき全てのメモリセルが首尾よくプログラムされたとみなされるまで続く。
【0018】
図8は、プログラム検証動作を実施するのに必要とされる論理回路を例証する、従来技術の単純化されたアンチヒューズメモリデバイスの構成図である。
図8のアンチヒューズメモリデバイスは、アンチヒューズメモリセルまたは他の不揮発性メモリセルから構成される、ワードライン及びビットラインに接続されたメモリアレイ80を備える。ワードラインドライバ82は、読み取り電圧レベル及びプログラム電圧レベルをワードラインに印加し、一方、列デコーダ及びセンス増幅器84は、データを検知すると共に、検知されたデータをデータレジスタ86に対して多重通信するために、ビットラインに接続される。データレジスタ86は、主としてプログラムされるべきデータを保存すると共に、読み取りデータを保存することに関与する。プログラム検証回路は、第2のデータレジスタ88であり得る追加のラッチ回路と、比較ロジック90とを備える。プログラムデータの使用において、プログラムデータP_DATAがデータレジスタ86によって受け取られると共に、それは第2のデータレジスタ88に同様に保存される。当業者は、図を単純化するために、メモリデバイスの適切な動作のために必要とされる他の回路が故意に省略されると理解することになる。
【0019】
一度プログラミングサイクルが完成されたならば、データは、プログラムされたメモリセルから読み取られると共に、データレジスタ86に保存される。比較ロジック90は、その場合に、データレジスタ86とデータレジスタ88の各ビット位置を相互に比較する。もし全てのビット位置が一致するならば、それは各ビット位置が首尾よくプログラムされたことを意味すると共に、その場合に、ステータス信号STATUSは、全てのビットがプログラムされたことを示す論理レベルを有することになる。他の場合には、もし単に1つのビット位置が首尾よくプログラムされなかったならば、その場合に、ステータス信号STATUSは、少なくとも1ビットが適切にプログラムされなかったことを示す別の論理レベルを有することになる。その場合に、更なるプログラムサイクルが実行され、一方、首尾よくプログラムされたビットは、マスクされるか、または更なるプログラミングが抑制される。
【発明を実施するための形態】
【0031】
本発明の実施例は、添付の図面を参照して、ここでほんの一例として説明されることになる。
【0032】
一般的に、本発明は、統合されたプログラム検証の機能性を有する二重機能直列及び並列データレジスタに対して方向付けられる。二重機能の直列及び並列動作は、2つの異なるデータのワードを同時に保存するためにデータレジスタのマスタ−スレーブラッチ回路を利用することによって、回路ロジックのオーバヘッドを削減するために、プログラム検証の機能性を統合する一方、ユーザに、単一の回路における直列データインタフェース接続または並列データインタフェース接続に関する選択権を与える。プログラム検証動作において、マスタラッチはプログラムデータを保存し、スレーブラッチは読み取りデータを受け取ると共に保存することになる。各レジスタステージにおける比較ロジックは、双方のラッチのデータを比較すると共に、比較結果を前段のレジスタステージの比較結果に統合することになる。最後の1ビットの結果は、プログラムされなかった少なくとも1ビットの存在を示すことになる。もし再プログラミングが必要であるならば、各ステージ内の自動プログラム抑制ロジックが、首尾よくプログラムされたビットがそれぞれ次の再プログラムサイクルにおいて再プログラムされることを防止することになる。2つのデータワードが本発明の実施例の二重機能データレジスタに同時に保存され得るので、クロック信号のロウ(low)またはハイ(high)のアクティブ状態の論理レベルのいずれかにおいて、選択的にシフト動作を開始することによって、いずれかのデータワードが連続してクロックに従い出力される。第2のデータレジスタが必要とされないので、かなりの回路領域が、従来技術のプログラム検証方式と比較して節約される。
【0033】
図9は、本発明の実施例による、二重機能直列及び並列データレジスタを備える不揮発性メモリデバイスの構成図である。不揮発性メモリデバイス100は、
図4a、
図4b、
図5a、及び
図5bに示されたアンチヒューズメモリセルのような、ワードライン及びビットラインに接続された不揮発性メモリセルから構成されるメモリアレイ102を備える。メモリアレイ102が、EEPROMまたはフラッシュメモリセルのような他の不揮発性メモリセルによって実施され得るということに注意が必要である。ワードラインドライバ104は、ワードラインを読み取り電圧またはプログラム電圧に駆動し、一方、列デコーダ及びセンス増幅器106は、データを検知すると共に、検知されたデータを二重機能直列及び並列データレジスタ108に対して多重通信するために、ビットラインに接続される。クロック制御器110は、二重機能直列及び並列データレジスタ108のシフト機能を制御するためのクロック信号を提供する。
【0034】
ここから以降は簡単に二重機能データレジスタ108と言われる二重機能直列及び並列データレジスタ108は、多くの有益な特徴の実行を容易にするように構成される。二重機能データレジスタ108は、並列フォーマット及び直列フォーマットの両方のデータを受け取って提供し得る。これは、メモリデバイス100が統合されているか、もしくは一緒に使用されているシステムに、同じ構造を有する並列インタフェースまたは直列インタフェースに関する柔軟性を提供することである。並列データインタフェースに関して、並列データP_DATAは、双方向バスを介して、二重機能データレジスタ108に、または二重機能データレジスタ108から、非同期的に連結され得る。その代わりに、個別の入力バス及び出力バスが、それぞれ並列入力データ及び並列出力データを伝送するために使用され得る。直列データインタフェースに関して、直列入力データは、入力ポートS_DATA_INで受け取られると共に、直列出力データは、出力ポートS_DATA_OUTにおいて提供される。直列データのシフトは、ソースクロックSCK及びシフトイネーブル信号SENによって制御される位相調整可能なクロック信号CK1及びCK2によって制御される。後述されるように、二重機能データレジスタ108に保存される2つのデータのワードは、SENがSCKに対してアクティブ状態の論理レベルに駆動される時間を制御することによって、同期的にシフト出力される。プログラムされたセルが自動的に更にプログラムされるのを抑制するためのロジック、及びプログラム検証ステータス信号STATUSを生成するための縦続接続されたロジックは、プログラム検証動作のための二重機能データレジスタ108に統合される。
【0035】
図10は、本発明の実施例による、二重機能データレジスタ108の更なる詳細を示す構成図である。二重機能データレジスタは、アンチヒューズメモリセルアレイにプログラムされるべきデータを提供するために、そしてメモリセルアレイから取り出されたデータを保存するために、2つの異なるデータワードための一時的なデータ保存のために使用され得る。それは、更に、プログラム検証の目的のために、プログラムされるべきデータをプログラムされたセルの内容と比較するために使用される。二重機能データレジスタ108は、n−ビット直列/並列シフトレジスタであり、ここで“n”は“0”より大きい整数値であって、個々のレジスタステージから構成される。
図10は、第1のレジスタステージ200、第2のレジスタステージ202、及び最後の(n番めの)レジスタステージ204を示す。各レジスタステージは、WRITE信号によって制御された並列入力P_IN、並列出力P_OUTを有していると共に、クロック信号CK1、及びクロック信号CK2を受け取る。WRITE信号は、レジスタに対する非同期並列書込みを可能にし、一方、CK1及びCK2は、レジスタ内容をソースクロックSCK(図示せず)に同期的にシフト入力及びシフト出力することを可能にする。各レジスタステージは、前段のレジスタステージが提供するデータを受け取るための直列入力端子、及び次段のレジスタステージにデータを提供するための直列出力端子を有する。例えば、レジスタステージ202は、レジスタステージ200が提供する直列出力データS1_OUTを受け取るための直列入力端子、及び次段のレジスタステージに直列出力データS2_OUTを提供するための直列出力端子を有する。第1のレジスタステージ200は、入力ポートS_INを通して直列入力データを受け取ると共に、出力ポートS_OUTを通して直列出力データを提供する。
【0036】
特にレジスタステージ202を参照すると、各レジスタステージは、プログラム動作の間、端子SA1_inを通してメモリセルにプログラムデータを提供することになり、一方、読み取り動作またはプログラム検証動作の間、端子SA_outを通してメモリセルが提供する読み取りデータを受け取ることになる。当業者は、プログラムデータが、直接選択されたビットラインに、またはセンス増幅器を通して選択されたビットラインに提供され得るということ、そして読み取りデータが、センス増幅器から提供されるということを理解することになる。各レジスタステージは、例えばレジスタステージ200に関してC1_a及びC1_bとして示された2つのプログラム検証信号を提供し得る。C1_aは、最初のプログラミング動作が全てのビットで成功したかどうかを示し、一方、C1_bは、再プログラミング動作が全てのビットで成功しているかどうかを示す。2つの異なる比較結果を得る理由は、更に詳細に後で論じられることになる。各レジスタステージが提供する2つの比較結果は、次段のレジスタステージに提供され、次段のレジスタステージは、その場合に、それらの比較結果をそれ自身の比較結果と結合する。そして、結合された結果は、次段のステージに提供される。ロジックの最終ステージ、プログラム検証ロジック206は、最後のレジスタステージ204から最後の2つの比較結果を受け取ると共に、1つのステータス信号STATUSを生成する。ステータス信号STATUSは、最初のプログラム動作が成功したかどうか、もしくは次の再プログラム動作が成功したかどうかを示すために使用されることになる。プログラム検証ロジック206は、二重機能データレジスタ108の外側で実施され得る。
【0037】
図11は、フォルデッド(folded)ビットラインアンチヒューズメモリアレイ102の一部分、及びその関連する
図9のビットラインセンス回路構成106の図である。図を簡略化するために、フォルデッドビットラインペアBL/BL
*、及び2つのワードラインだけが示される。複数のフォルデッドビットラインペアをビットラインセンス増幅器回路構成と選択的に連結するための列デコーダ回路構成は示されない。フォルデッドビットラインアンチヒューズメモリアレイ210は、n−チャンネルアンチヒューズトランジスタ212及び214のゲート端子に接続されたワードラインWL0及びWL1、信号ISOに応答してビットラインの上側の部分をビットラインの下側の部分に接続するためのn−チャンネル分離トランジスタ216及び218、及びビットラインセンス回路構成を備える。ビットラインセンス回路構成は、プリチャージ回路220、基準電荷回路222、及びビットラインセンス増幅器224を備える。
【0038】
プリチャージ回路220は、ビットラインBLとBL
*との間に直列に接続されると共に、プリチャージ信号BLPCHに接続されたそれらのゲート端子を有する2つのn−チャンネルプリチャージトランジスタ226及び228を備える。プリチャージトランジスタ226及び228の共有されたソース/ドレイン端子は、プリチャージ電圧VPCHを受け取る。動作中、両方のプリチャージトランジスタ226及び228は、読み取り動作の準備において、アクティブ状態のハイの論理レベル(active high logic level)のBLPCHに応答して、ビットラインBL及びBL
*をVPCHにプリチャージするために、ターンオンすることになる。
【0039】
基準電荷回路222は、ビットラインBLとBL
*との間に直列に接続されるn−チャンネルステアリングトランジスタ230及び232、n−チャンネルトランジスタ234として実装されるキャパシタンス回路、及びp−チャンネルプリチャージトランジスタ236を備える。ステアリングトランジスタ230は、偶数選択信号E_REFに接続されるそのゲート端子を有し、一方、ステアリングトランジスタ232は、奇数選択信号O_REFに接続されるそのゲート端子を有する。キャパシタンス回路234は、電源VCCに接続されたそのゲート端子を有していると共に、ステアリングトランジスタ230及び232の共有されたソース/ドレイン端子と電源VCCとの間に、プリチャージトランジスタ236と直列に接続される。プリチャージトランジスタ236は、プりチャージまたはイネーブル信号PCH
*に接続されたそのゲート端子を有している。一般的に、キャパシタンス回路234は、ロウの論理レベルのPCH
*パルスが受け取られる場合に、プリチャージされることになる。PCH
*パルスの継続期間は、トランジスタ234のサイズ及び提供されるべき所望の基準電荷に基づいてあらかじめ定められる。一度プリチャージされれば、キャパシタンス回路234の基準電荷を対応するビットラインに連結するために、ステアリングトランジスタ230または232のいずれかがターンオンにされる。例によれば、ビットラインに加えられる電荷は、約50ミリボルトであり得る。信号E_REF及びO_REFが、WL0またはWL1を選択するために使用される同じ偶数/奇数アドレス指定ビットによって制御され得るということに注意が必要である。一実施例において、WL0のアクティブ化によってE_REFはアクティブ状態にされることになり、それによって基準電荷を相補的ビットラインBL
*に連結する。
【0040】
ビットラインセンス増幅器224は、当該技術において有名である標準のクロスカップルインバータ回路(standard cross-coupled inverter circuit)から構成される。その回路は、両方がそれぞれのn−チャンネルトランジスタに直列に接続されるp−チャンネルトランジスタを備える。p−チャンネルトランジスタの共通のドレイン端子は、ハイの論理レベルのイネーブル信号H_ENを受け取り、一方、n−チャンネルトランジスタの共通のソース端子は、ロウの論理レベルのイネーブル信号L_ENを受け取る。H_ENは、引き下げられた内部のVCCレベルであり得ると共に、一方、L_ENは、VSSレベルであり得る。DRAM技術におけるビットラインセンス増幅器224の動作は良く知られている。イネーブル信号H_EN及びL_ENがアクティブ状態にされるとき、同じ時刻または異なる時刻のいずれかに、ビットラインセンス増幅器224は、BLとBL
*との間の小さな電圧差を検知すると共に、BLとBL
*との両方を、H_EN及びL_ENの完全な論理レベル状態に急速に駆動することになる。
【0041】
ビットラインセンス増幅器224が、両方のビットラインBL及びBL
*に接続されるので、メモリアレイにプログラムされるか、またはメモリアレイから読み取られる論理状態は、アクセスされるメモリセルによって決定されることになる。例えば、もしアンチヒューズトランジスタ212と214の両方が論理1を保存するならば、ビットラインセンス増幅器224は、どのアンチヒューズトランジスタがアクセスされるかに依存する2つの異なる論理状態をラッチすることになる。その結果、データ状態補正器238は、論理1及び論理0の状態に対応する電圧レベルが読み取られると共にプログラムされることを保証するために使用される。この例において、アンチヒューズトランジスタ214を読み取るために、もしWL0がアクティブ状態にされるならば、信号EVENは、BL
*をゲートトランジスタ242に連結するための論理状態になることになる。その代わりに、アンチヒューズトランジスタ212を読み取るために、もしWL1がアクティブ状態にされるならば、信号EVENは、BLをゲートトランジスタ242に連結するための論理状態になることになる。データ状態補正器238の動作は、プログラムデータがゲートトランジスタ240からBLかBL
*のいずれかに連結されるべきである場合と同様である。データ状態補正器238は、信号EVENによって制御される単純な双方向性のマルチプレクサとして実施され得ると共に、それは、ワードラインWL0及びWL1を選択するために使用されるアドレスと関係があり得る。信号EVENは、信号E_REF及び信号O_REFと同様に関係があり得る。ビットラインにプログラムされるべきデータは、SAi_inに連結されると共に、プログラム信号PGMによって制御されるn−チャンネルゲートトランジスタ240を通して提供される。ビットラインから読み取られるべきデータは、SAi_outに連結されると共に、読み取り信号READによって制御されるn−チャンネルゲートトランジスタ242を通して提供される。従って、ゲートトランジスタ240は、プログラム動作の間にターンオンにされ、一方、ゲートトランジスタ242は、読み取り動作の間にターンオンにされる。変数“i”は、“1”と最大値“n”との間の整数値であり、それは二重機能データレジスタ108の特定のレジスタステージを表す。端子SAi_in及びSAi_outは、二重機能データレジスタ108の内の1つのレジスタステージに接続されている。
【0042】
図12は、本発明の実施例による、
図10において示される二重機能データレジスタ108の内の1つのレジスタステージの回路図である。データレジスタステージ300は、2つの主なセクションを含む。第1のセクションは、データの入力、出力、及びラッチ動作に関与するデータ保存回路302である。第2のセクションは、ステータス回路304、及び自動プログラム抑制回路306を含む。
図10において示される二重機能データレジスタ108の全てのレジスタステージは、
図12において示された同じ回路構成を有することになる。データ保存回路302が、ここで説明されることになる。信号名における変数“i”は、それが関連付けられたレジスタステージを表示すると共に、ここで“i”は“0”より大きく“n”より小さいあらゆる整数値であり、“n”は二重機能データレジスタ108におけるレジスタステージの最大数であるということに注意が必要である。
【0043】
データ保存回路302は、マスタ−スレーブフリップフロップとして接続されたマスタラッチ310とスレーブラッチ312、直列入力ゲートデバイス314、転送ゲートデバイス318、及び並列入力ゲートデバイス320を備える。ラッチ310及び312は、その入力に対する非反転出力を有する単純なクロスカップルインバータ回路として実施され得るが、しかしスレーブラッチ312は、プログラム動作時にマスタラッチ310によって上書きされるように構成されることになる。当業者は、この望ましい結果を達成するようにトランジスタサイジング(transistor sizing:トランジスタのサイズ決定)が設定され得ると理解することになる。ゲートデバイス314及び318は、n−チャンネルトランジスタとして示されるが、しかし、伝送ゲート(transmission gate)またはp−チャンネルデバイスであり得る。ゲートデバイス314は、クロック信号CK1に接続されたそのゲート端子を有しており、一方、ゲートデバイス318は、クロック信号CK2に接続されたそのゲート端子を有している。CK1及びCK2は、制御されたクロック信号である。ゲートデバイス314及び318は、直列入力端子Si_inからマスタラッチ310に、またはマスタラッチ310からスレーブラッチ312に、またはスレーブラッチ312から直列出力端子Si_outに、データを順次にシフトするように、CK1及びCK2によって制御される。並列入力データP_IN_iは、信号WRITEがアクティブ状態の論理レベルにある場合に、ゲートデバイス320を通してマスタラッチ310の入力に提供されると共に、それはこの例ではハイの論理レベルである。並列出力データP_OUT_iは、スレーブラッチ312の出力から提供される。通常プログラムデータであるマスタラッチ310の出力は、端子SAi_inを通してセンス増幅器に連結され、一方、センス増幅器が提供する読み取りデータは、端子SAi_outから提供されると共に、スレーブラッチ312によって保存される。
【0044】
前述のように、プログラム検証方式は、2つの関連する回路、ステータス回路304及び自動プログラム抑制回路306を利用する。ステータス回路304は、XOR(排他的論理和)ロジックゲート330、AND(論理積)ロジックゲート332及び334、そしてインバータ336を備える。インバータ336、XORゲート330、及びANDゲート334はデータ照合回路を形成し、ANDゲート332は検証回路を形成する。XORゲート330は、スレーブラッチの出力に接続された第1の入力、及びインバータ336を介してマスタラッチ310の出力に連結された第2の入力を備える。XORゲート330の出力は、ANDゲート332の第1の反転入力に接続されると共に、ANDゲート332は、入力Ci−1_aに接続されたその第2の入力を有する。ANDゲート332の出力は、ローカルステータス信号Ci_aである。入力Ci−1_aは、前段のレジスタステージのローカルステータス信号であると共に、更に具体的には、前段のレジスタステージのANDゲート332の出力である。ローカルステータス信号Ci_aは、次段のレジスタステージのANDゲート332の第2の入力に接続されている。ANDゲート334は、マスタラッチ310の出力に接続された第1の入力、及び入力Ci−1_bに接続された第2の入力を有すると共に、入力Ci−1_bは、前段のレジスタステージが提供する別のローカルステータス信号である。ANDゲート334の出力は、第2のローカルステータス信号Ci_bである。入力Ci−1_bは、前段のレジスタステージのANDゲート334の出力に接続され、一方、Ci_bは、次段のレジスタステージのANDゲート334の第2の入力に接続される。ANDゲート334は、マスタラッチ310の論理状態を、前段のレジスタステージのマスタラッチ310の論理状態と単に結合する。
【0045】
XORゲート330は、スレーブラッチ312の論理状態を、反転したマスタラッチ310の論理状態と比較する。XORゲートの比較結果は、その場合に、ANDゲート332を使用して、前段のレジスタステージが提供する比較結果と比較されて結合される。回路のこの部分は、最初のプログラミング動作が成功したかどうかを検証すると共に、メモリテスト及び検証作業をスピードアップするために使用される。それは、同時に一行の全てのビットを比較すると共に、その結果は結合されて、
図14における1つの出力信号STATUSになる。比較動作において、STATUSは、もし全てのデータビットが一致するならば、COMPのアクティブ化によってハイになると共に、ハイ(HIGH)を維持し(論理1が全てのデータレジスタステージを通して伝搬する)、または、もし不一致が検出されるならば、ロウ(LOW)になる(いずれかのXORゲートの出力が0の代わりに1を出す場合に、それは反転したマスタラッチが提供するデータとスレーブラッチが提供するデータとの間の不一致を示す。)。STATUSは、COMPがハイに維持される限り、アクティブにされた状態を維持し、そしてCOMPがロウになるときに、デフォルトのロウ状態にリセットされる。COMP(比較)動作の前に、データレジスタのマスタラッチは、オリジナルの所望のデータによって再ロード(reload:再読み込み)されるべきであり、そしてスレーブラッチは、プログラミング後のメモリセルから読み取られた実際のデータを含むべきである。
【0046】
自動プログラム抑制回路306が初期プログラム動作の失敗の後で利用される場合に、自動プログラム抑制回路306は、再プログラミング動作が成功したかどうかを検証するために使用される。自動プログラム抑制回路306は、VDDのような電源とマスタラッチ310の入力との間に直列に接続されたプリチャージデバイス340及び結合デバイス342を備える。デバイス340とデバイス342の両方は、この実施例では、n−チャンネルトランジスタであるとして示される。プリチャージデバイス340のゲートは、プリチャージ信号PCHに接続されると共に、結合デバイス342のゲートは、スレーブラッチ312の出力に接続される。電源の選択は、プログラムされるべきメモリセルを選択するためのマスタラッチ310によって保存される論理状態によって変わる。例えば、もしマスタラッチ310が、そのビットラインに接続されたメモリセルのプログラミングを示す論理0(VSS)を保存するならば、その場合に、プリチャージデバイス340に接続される電源はVDDになるであろう。従って、VDDは、プログラムされるべきではないメモリセルのために、マスタラッチ310に保存される論理状態である。自動プログラム抑制回路306は、従って、もしメモリセルが首尾よくプログラムされたならば、マスタラッチ310の状態を変えることになる。この例において、首尾よくプログラムされたメモリセルは、プログラム動作の後に続くプログラム検証読み取り動作においてハイの論理状態を保存するスレーブラッチ312に帰着するであろう。その結果、PCHがハイの論理レベルに駆動されるとき、VDDは、マスタラッチ310の状態を入れ替えるために、マスタラッチ310の入力に連結される。
【0047】
データレジスタステージ300のデータシフト動作及び論理比較動作は、後の方で更に詳細に論じられることになる。そのような討論の前に、
図9のクロック制御器110の説明を以下に続ける。
図13は、本発明の実施例による、クロック制御器110の回路図である。クロック制御器110は、第1のANDロジックゲート350、及び第2のANDロジックゲート352を備える。ANDゲート350とANDゲート352の両方はシフトイネーブル信号SENを受け取るための第1の入力を有し、一方、ANDゲート352はソースクロック信号SCKを受け取るための第2の入力を有し、ANDゲート350はソースクロック信号SCKの相補信号を受け取るための第2の入力を有する。ANDゲート350の出力は、クロック信号CK2であると共に、ANDゲート352の出力は、クロック信号CK1である。その結果、SENが非アクティブ状態のロウの論理状態(inactive low logic state)にある間、ANDゲート350の出力及びCK1は、非アクティブ状態のロウの論理状態にあることになる。注目に値する特徴は、SCKがハイの論理レベルまたはロウの論理レベルのいずれかである場合に、いつSENをアクティブ状態のハイの論理レベル(active high logic level)に駆動するかを選択することによって、CK1及びCK2の開始位相を制御する能力である。従って、CK1及びCK2は、位相の調節可能なクロック信号である。
【0048】
以下のプログラム検証ロジック206の討論は、二重機能データレジスタ全体の動作の概要になるであろう。
図14は、本発明の実施例による、プログラム検証ロジック206の回路図である。プログラム検証ロジック206は、ANDロジックゲート360、362、及びORロジックゲート366を備える。ANDゲート360は、最後のレジスタステージが提供する第1のプログラム検証信号であるCn_a、及び比較イネーブル信号COMPを受け取る。ANDゲート360の出力は、ORゲート366の第1の入力に接続される。ANDゲート362は、その反転端子において最後のレジスタステージが提供する第2のプログラム検証信号であるCn_bを受け取ると共に、その非反転端子においてプリチャージ信号PCHを受け取る。ANDゲート362の出力は、ORゲート366の第2の入力に接続される。
【0049】
概して、プログラム検証ロジック206の動作が説明される。例えば、高速のプログラム検証動作において、プログラム動作の後、信号STATUSは、もし全てのデータビットが一致するならば、COMPのハイの論理状態へのアクティブ化によってハイの論理状態(例えば論理1)になると共に、ハイを維持し(論理1が全てのデータレジスタステージを通して伝搬する)、または、もし不一致が検出されるならば、ロウになる。いずれかのXORゲートの出力が0の代わりに1を出す場合に不一致が検出され、それは反転したマスタラッチ310が提供するデータとスレーブラッチ312が提供するデータとの間の不一致を示す。STATUS信号は、COMPがハイに維持される限り、アクティブにされた状態を維持し、そしてCOMPがロウになるときに、デフォルトのロウ状態にリセットされる。COMP(比較)動作の前に、データレジスタのマスタラッチは、オリジナルの所望のデータによってロード(load:読み込み)されるべきであり、そしてスレーブラッチは、プログラミング後のメモリセルから読み取られた実際のデータを含むべきである。この高速のプログラム検証動作の間、PCHは、ロウの論理レベルにおける非アクティブの状態に維持される。
【0050】
二重機能データレジスタ108のプログラム検証動作及びデータシフト動作が、
図10、
図12、
図13、及び
図14に示された回路を参照しながら、ここで説明されることになる。以下は、
図15のフローチャートを参照した、プログラム動作及びプログラム検証動作に関する二重機能データレジスタ108の動作の説明である。
【0051】
プログラム動作は、ステップ400において始まり、プログラムされるべきデータを二重機能データレジスタ108にロードする(読み込む)ことを始める。アンチヒューズメモリセルに保存されるべきプログラムデータは、
図10の第1のレジスタステージ200のP_IN_iポートを通して並列にロードされるか、もしくは
図10の第1のレジスタステージ200のS_INポートからビットをシフト入力することによって直列にロードされる。並列ロード動作において、信号WRITEは、データビットをマスタラッチ310にロードするために、アクティブ状態のハイの論理レベルに引き上げられる。直列ロード動作において、ビットは、各レジスタステージのマスタラッチ310にシフト入力されるべきである。
図13を参照すると、これは、SCKがハイの論理レベルにあるとき、SENをアクティブ状態のハイの論理レベルに駆動することによって行われる。従って、シフト動作は、ハイの論理レベルのCK1、及び非アクティブ状態のロウの論理レベルのCK2で始まる。従って、ハイの論理レベルで保持されたSENによって、SCKは、プログラムデータの全てのビットが全てのレジスタステージのマスタラッチ310にシフト入力されるまで、CK1及びCK2をアクティブ状態のハイの論理レベルに交互に駆動するために振動し続ける。メモリセルが
図4a、
図4b、
図5a、及び
図5bに示されたアンチヒューズトランジスタであるこの例において、論理0(VSS)を保存するあらゆるマスタラッチ310は、対応するビットラインに接続されたアンチヒューズトランジスタがプログラムされることをもたらすことになる。論理1(VDD)を保存するあらゆるマスタラッチ310は、対応するビットラインに接続されたアンチヒューズトランジスタがプログラムされることを抑制することになる。
【0052】
続くステップ402において、列デコーダは、特定の列アドレスに基づいてアクティブ状態にされると共に、ビットラインは、マスタラッチ310に保存される論理状態に対応する電圧レベルに駆動される。ビットラインが二重機能データレジスタ108に保存されるプログラムデータに基づいてバイアスされることによって、選択されたワードラインは、プログラミングを始めるために、ステップ404において、VPPのプログラミング電圧に駆動される。選択されたワードライン及びVSSにバイアスされたビットラインに接続されたアンチヒューズメモリセルのみがプログラムされるべきであり、それは、そのポリシリコンゲートとそのチャンネル領域との間に導電性のリンクが形成されるべきであることを意味している。ここで、プログラム検証動作が、ちょうどプログラミング動作を受けたアンチヒューズメモリセルの状態を読み取ることによって、ステップ406において始まる。これは、同じワードラインを読み取り電圧で駆動することによる通常の読み取り動作を実行することによって、行われる。データは、検知されて、各レジスタステージのスレーブラッチ312にロードされる。全てのゲートデバイス314及び318をターンオフにされた状態に保つために、SENが非アクティブ状態のロウの論理レベルにセットされるということに注意が必要である。ここで、マスタラッチ310は、選択されたメモリセルに関するプログラムデータを保存しており、そして、スレーブラッチ312は、同じ選択されたメモリセルからの読み取りデータを保存する。
【0053】
XORゲート330を使用して、各レジスタステージのマスタラッチ310に保存されたデータとスレーブラッチ312に保存されたデータとが、相互に比較される。もしメモリセルをマスタラッチ310がメモリセルをプログラムするための論理0を保存した場合、その場合に、首尾よくプログラムされたメモリセルに関する読み取り動作は、スレーブラッチ312に保存された論理1をもたらす。従って、インバータ336のおかげで、XORゲート330は、そのような場合に、ロウの論理レベルの出力を提供することになる。それとは反対に、マスタラッチ310がメモリセルのプログラミングを抑制するための1を保存した場合、その場合に、プログラムされないメモリセルに関する読み取り動作は、スレーブラッチ312に保存された論理0をもたらすことになる。従って、XORゲート330は、この場合もやはり、ロウの論理レベルの出力を提供することになる。これらの場合の両方が示すのは、プログラミングが成功したということである。一方、もしメモリセルが適切にプログラムされなかった場合、または不十分にプログラムされた場合、その場合に、読み取り動作は、スレーブラッチ312に保存された論理0をもたらすことになる。XORゲート330は、その場合に、ハイの論理レベルの出力を提供することになり、それによってメモリセルのプログラミングの不成功を示す。第1のレジスタステージが論理1(すなわちVDD)に拘束されたそのCi−1_a端子及びCi−1_b端子を有するであろうことに注意するべきである。各ステージが提供するこれらのプログラム検証結果は、最後のCi−1_aプログラム検証出力がプログラム検証ロジック206のANDゲート360に提供されるまで、順次に次段のレジスタステージに供給される。
【0054】
プログラム検証ロジック206において、初期プログラム動作について、各レジスタステージにおける全ての比較結果を評価するために、PCHは、ロウの論理レベルに維持されると共に、COMPは、ハイの論理レベルに駆動される。これは、
図15におけるデータ比較ステップ408に対応する。COMPがハイの論理レベルにあるときに、もしCn_aがハイの論理レベルにあるならば、ステータス信号STATUSは、ハイの論理レベルになるであろう。これは、全てのレジスタステージが、それらのそれぞれのメモリセルの首尾よいプログラミングを報告したことを意味する。その代わりに、もし少なくとも1つのレジスタステージが失敗したプログラミングを報告するならば、Cn_aは、ロウの論理レベルになるであろうと共に、STATUSは、失敗したプログラミングをシステムに伝えるために、ロウの論理レベルに駆動されることになる。ステップ410において、もし全てのビットの首尾よいプログラミングを示すためにSTATUSがハイの論理レベルになるならば、その場合に、ステップ412において、プログラム検証動作が終了する。もし失敗したプログラミングを示すためにSTATUSがロウの論理レベルになるならば、その場合に、方法は、初期プログラム動作の後で再プログラミングを始めるために、ステップ414に進行する。ステップ414において、首尾よくプログラムされたセルに対応するマスタラッチ310は、特定のメモリセルに対する更なるプログラミングを抑制する論理レベルにリセットされる。例えば、
図12において、これは、PCHをハイの論理レベルに駆動することによって行われ、それは、スレーブラッチ312が論理1を保存するならば、VDD(論理1)をマスタラッチ310に連結することになる。従って、各レジスタステージは、もしその対応するメモリセルが首尾よくプログラムされたならば、その対応するメモリセルの更なるプログラミングを自動的に抑制する。首尾よくプログラムされなかったメモリセルは、論理0を保存するそれらの対応するスレーブラッチを有すると共に、それにより、そのマスタラッチ310が論理0のデータを保持することを可能にする。
【0055】
方法は、その場合に、レジスタステージによって選択された首尾よくプログラムされなかったメモリセルのみのプログラミングを繰り返すために、ステップ404にループバックする。データは、ステップ406において、メモリセルからもう一度読み取られる。ここで、ステップ408において、全てのビットの首尾よいプログラミングを確認するために、レジスタステージによる異なるデータの比較動作が実行される。
【0056】
ステップ410において、全てのマスタラッチ310の出力がANDゲート334によって相互に比較されると共に、最後の出力Cn_bが、
図14のプログラム検証回路206によって受け取られる。プリチャージ信号PCHは、全てのレジスタステージの自動プログラム抑制回路306が、既にプログラムされた全てのビットを、それらの状態を反対の論理レベル、すなわち論理1に入れ替えることによって、マスタラッチから除去することを可能にすると共に、ビットの内のいくつかが更なるプログラミングを必要とするかどうかを示すSTATUS信号をアクティブ状態にする。PCHがハイの論理レベルに維持される限り、STATUS信号は、アクティブにされた状態を維持する。ハイの論理レベルのPCHは、プログラム検証回路206のANDゲート362が、Cn_b信号を通過させることを可能にする。例えば全てのマスタラッチ310が論理1を保存するとき、ハイの論理レベルのCn_bは、全てのビットの首尾よいプログラミングを示す。ハイの論理レベルCn_bは、STATUSを、全てのメモリセルの首尾よいプログラミングを示すロウの論理レベルに駆動するために、ANDゲート362の入力で反転される。一方、もしまさに1つのマスタラッチが論理0の状態をまだ保持するならば、その場合に、Cn_bは、ロウの論理レベルになるであろうと共に、STATUSは、少なくとも1つの首尾よくプログラムされなかったデータのビットの存在を示すために、ハイの論理レベルになることになる。もしSTATUSがハイならば、その場合に、方法は、更なる再プログラムの反復のために、ステップ404にループバックする。ステップ414が本来ステップ408において実行されると共に、従って、再プログラミングの反復に対して冗長であるということに注意が必要である。再プログラミングの反復の数は、監視され得ると共に、もしあるメモリセルがプログラム可能ではないように思われるならば、全体の作業は中止され得る。
【0057】
本実施例の二重機能データレジスタ108は、以前に示されたように、プログラム検証動作のアプリケーション以外のアプリケーションのために使用され得る。二重機能データレジスタ108は、他のアプリケーションに関して、2つの異なるデータのワードを一時的に保存するために使用され得る。例えば、プログラム動作の準備の際に、プログラムデータがレジスタステージに並列にロードされた並列動作モードにおいて、読み取り動作が実行される間、プログラミング動作は一時中断され得る。従って、プログラムデータがレジスタステージのマスタラッチに保存される一方、メモリアレイから読み取られたデータは、スレーブラッチに保存され得ると共に、並列に読み取られ得る。一度読み取り動作が完了されたならば、プログラム動作は再開し得る。前と同じように、並列動作モードにおいて、第1のデータワードは、並列入力ポートP_IN_iを通してマスタラッチ310にロードされ得ると共に、次に、SCKがロウの論理レベルにある間にSENをハイの論理レベルにパルス化することによって、スレーブラッチ312にシフトされる。そして、第2のデータワードが、マスタラッチ310にロードされ得る。第1のデータワードは、P_OUT_iポートを通して即座に読み取られ得ると共に、次に、第2のデータワードが、スレーブラッチ312にシフトされ、そしてP_OUT_iポートを通して読み取られる。もし第2のデータワードだけを目的とするならば、その場合に、第2のデータワードのビットがスレーブラッチ312にシフトされるので、第1のデータワードは上書きされる。以前に説明された動作には、各レジスタステージの中でシフトするデータだけが存在する。
【0058】
本発明の実施例によれば、二重機能データレジスタ108に保存される2つのデータワードの内の1つの直列出力が可能である。例えば、メモリシステムによって提供された1つのデータワードは、マスタラッチ310に順次にシフト入力されるか、もしくは、マスタラッチ310に並列に提供され得ると共に、一方、第2のデータワードは、メモリアレイから読み取られると共に、スレーブラッチ312に格納され得る。
図16は、各レジスタステージのスレーブラッチ312に保存されたデータが直列出力ポートS_OUTを通して読み取られる、二重機能データレジスタ108の直列シフト動作の例を例証する。
図16において、例における二重機能データレジスタは、3つのレジスタステージ500、502、及び504を備えると共に、各レジスタステージは、左側のボックスによって表されたマスタラッチと右側のボックスによって表されたスレーブラッチとを備える。各レジスタステージが、
図12において示された回路構成を有している仮定されている。シーケンス図は、信号SCK、SEN、CK1、及びCK2に関する信号トレースを示す。
【0059】
最初のステップ(1)において、二重機能データレジスタに保存された2つのデータワードが存在する。データビットA1、A2、及びA3は、マスタラッチ310に保存された第1のデータワードに対応し、一方、データビットB1、B2、及びB3は、スレーブラッチ312に保存された第2のデータワードに対応する。ステップ(1)において、データシフトは実行されず、従って信号SENは非アクティブ状態のロウの状態を維持する。その結果、CK1及びCK2は、非アクティブ状態のロウの状態にある。スレーブラッチ312が提供する第1のデータワードの直列出力は、SCKがハイの論理レベルにある間にシフトイネーブル信号SENをハイの論理レベルに駆動することによって開始される。
図16のシーケンス図において示されたように、SENがハイの論理レベルに上昇した後で、CK1はSCKを追随することになると共に、CK2は、CK1の補数になるであろう。ゲートデバイス314が開くことになり、それによって、スレーブラッチ312が提供するデータが、次段のレジスタステージに伝搬することを可能にする。
図16において、これは、A1がS_OUTにシフトされ、A2がレジスタステージ504のマスタラッチ310にシフトされ、そしてA3がレジスタステージ502のマスタラッチ310にシフトされるステップ(2)に示される。ステップ(3)において、CK1及びCK2は論理状態を変えると共に、それによって、マスタラッチ310からスレーブラッチ312に対するデータの内部のシフトを実行する。
【0060】
ソースクロックSCKが振動するので、全てのデータビットが出力ポートS_OUTを通して出力されるまで、第1のデータワードのデータビットがレジスタステージからレジスタステージにシフトされることになる。従って、マスタラッチ310に保存されたデータは、シフト動作のために上書きされる。“−”は、シフト動作の間にS_IN入力ポートから伝搬する無効データを示す。
【0061】
図17における上述のシフトシーケンスは、各レジスタステージのマスタラッチ310に保存されたデータが直列出力ポートS_OUTを通して読み取られる、二重機能データレジスタ108の直列シフト動作の例を例証する。
図17において、例における二重機能データレジスタは、
図16において示されたのと同じ3つのレジスタステージを備える。シーケンス図は、信号SCK、SEN、CK1、及びCK2に関する信号トレースを示す。
【0062】
最初のステップ(1)において、二重機能データレジスタに保存された2つのデータワードが存在する。データビットA1、A2、及びA3は、マスタラッチ310に保存された第1のデータワードに対応し、一方、データビットB1、B2、及びB3は、スレーブラッチ312に保存された第2のデータワードに対応する。ステップ(1)において、信号SENは非アクティブ状態のロウの状態を維持するので、データシフトは実行されない。その結果、CK1及びCK2は、非アクティブ状態のロウの状態にある。マスタラッチ310が提供する第2のデータワードの直列出力は、SCKがロウの論理レベルにある間にシフトイネーブル信号SENをハイの論理レベルに駆動することによって開始される。
図17のシーケンス図において示されたように、SENがハイの論理レベルに上昇した後で、CK2はSCKを追随することになると共に、CK1は、CK2の補数になるであろう。ゲートデバイス318が開くことになり、それによって、マスタラッチ310が提供するデータが、そのレジスタステージのスレーブラッチ312に伝搬することを可能にする。
図17において、これは、B1、B2、及びB3が、全て、それらのそれぞれのスレーブラッチ312にシフトされるステップ(2)に示される。すなわち、第1の動作は、マスタラッチ310からスレーブラッチ312に対するデータの内部のシフトである。ステップ(3)において、CK1及びCK2は論理状態を変えると共に、B1が出力ポー著S_OUTに出力される。それと同時に、B2は、次段のレジスタステージにシフトされ、そして、B3も、次段のレジスタステージにシフトされる。ステップ(4)において、ステップ(2)と同じデータの内部のシフトが実行される。
【0063】
従って、第1のシフト動作に関して、SENがソースクロックSCKに対してアクティブ状態になるべきときを選択することによって、CK1及びCK2の最初の開始位相は180度調節され得る。従って、いずれのデータワードも、二重機能データレジスタ108によって、順次に出力され得る。
【0064】
2つのデータワードを保存する二重機能データレジスタ108の能力は、電源投入検出アプリケーションのような他のアプリケーションに有利に使用され得る。電源投入検出動作の目的は、読み取り動作とプログラム動作が確実に実行され得るように、デバイスが電源投入された後で、電源が十分に安定したことを保証することである。
図18は、本発明の実施例による、電源投入検出回路を例証する構成図である。電源投入テストシステム600は、テストメモリアレイ602、ワードラインドライバ604、ビットラインセンス増幅器606、及び二重機能データレジスタ608を備える。テストメモリアレイ602は、スキュード(skewed)リードオンリメモリ(ROM)セルの2つの行を備えると共に、各メモリセルは、プログラムされたアンチヒューズメモリセルより高いしきい値電圧を有する。行当たりにあらゆる数のメモリセルが存在することができる。これらのスキュードROMセルの更なる詳細は、後で示されることになる。ワードラインドライバ604は、行のメモリセルを読み取るための読み取り電圧を印加すると共に、ここで、読み取り電圧は、例えば
図9のメモリアレイ102における通常のメモリセルを読み取るために使用されるVREADであり得る。ビットラインセンス増幅器606は、読み取り動作の間のビットラインの検知電圧レベルに関して、列の復号化が必要とされないので、直接メモリアレイのビットラインに接続される。
図11において示されたのと同じビットライン検知回路構成が、
図18において使用され得る。二重機能データレジスタ608は、各センス増幅器に連結されたレジスタステージを備えると共に、各レジスタステージは、
図12において示されたのと同じデータ保存回路を備えることになる。この実施例において、最後のレジスタステージの出力は、第1のレジスタステージの入力に接続される。
【0065】
電源投入検出アプリケーションの一般原則は、次のとおりである。テストメモリアレイは、第1の行及び第2の行が異なる所定のデータパターンを保存するように配線で接続された、ROMメモリセルの2つの行を有することになる。更に具体的には、第2の行は、第1の行と同じであるが、しかし右に1ビットシフトされた、所定のデータパターンを保存するであろう。
図19は、5つの異なるROMセルに保存された“0,1,1,0,1”の5ビットのデータパターンを有する第1の行Row1、及びシフトされた“1,0,1,1,0”のデータパターンを有する第2の行Row2を実例をあげて例証する。Row1の最後のビット“1”が、ここではRow2の第1のビット位置に現れるということに注意が必要である。第1の行は、二重機能データレジスタ608に読み取られると共に、その次に、1ビット位置だけ右にシフトされる。最後のレジスタステージと最初のレジスタステージとの間のループ接続のために、最も右のビットは、最初のステージにおける第2の行の最も左のビットにシフトされる。そして、第2の行が読み取られ、それによって、同時に両方のデータワードを保存する二重機能データレジスタ608に帰着する。Row1におけるデータのシフトされたバージョンが、Row2のデータと比較される。もしそれらが同じであるならば、その場合に、電源は、通常の使用準備が整っているとみなされる。
【0066】
従って、もし電源が安定していないならば、その場合に、高いしきい値のスキュードROMメモリセルを読むことは、多分、第1の行から、または第1及び第2の行から読み取られた不適切なデータをもたらすことになる。第2の行のデータが第1の行と比較して1ビットだけシフトされているので、二重機能データレジスタのシフトの機能性は、そのビット位置を第2の行のデータによって再編成するために、保存された第1の行のデータをシフトすることになる。一度再編成されれば、データワードが適切に読み取られたかどうかを判定するために、各ビット位置のデータ比較が実行され得る。
【0067】
スキュードROMメモリセルは、電源電圧が、安定していると共に、適切な電圧レベルであるときに、適切に読み取られるように設計されている。
図20a及び
図20bは、それぞれ、マスクプログラムされたROM、及びマスクプログラムされないROMの例を示す。
図20aは、一組のマスクプログラムされた単一トランジスタのスキュードROMセルの平面図である。左側のスキュードROMセルは、第1の拡散領域620、追加の拡散領域622、及びチャンネル領域の上に重なるポリシリコンライン624を備えている。追加の拡散領域620は、拡散ライン626に接続されており、第1の論理状態を保存するようにマスクプログラムされたメモリセルに帰着する。右側のスキュードROMセルは、拡散領域627だけで構成されるが、しかし、更に具体的には、製造中にポリシリコンライン624の下に形成されるチャンネル領域を持たないメモリセルである。従って、このメモリセルは、第1の論理状態とは反対の第2の論理状態を保存するようにマスクプログラムされる。この実施例において、OD2マスク628は、厚膜ゲート酸化膜が形成されるべき領域を定義する。OD2マスク628がポリシリコンライン624の下の全体のチャンネル領域に広がるので、ゲート酸化膜は、一定の厚さを有することになる。ポリシリコンライン624は、拡散ライン626を介して追加の拡散領域622に対する導電接続629を備えることになり、それによって、スキュードメモリセルを、
図6bに示された導電性のリンクを有するプログラムされたアンチヒューズトランジスタと同じになるように構成する。第1の拡散領域620は、ビットラインに連結されると共に、ポリシリコンラインがVREADに駆動されるとき、VREADに引き上げられる。
【0068】
スキュードROMセルは、ターンオンするために、最も弱くプログラムされたアンチヒューズメモリセルよりも、より安定した電源電圧を必要とするように設計される。更に具体的には、WLがVREADに駆動されるとき、もしWLを駆動する電源が十分に高いならば、そのビットラインBLは、VDDに対してプルアップされることになる。従って、BLの電圧は、少なくとも高められたしきい値電圧になるであろう。この所望の電気的特性を達成するために、スキュードROMセルは、チャンネルの注入によって高められたしきい値電圧を有する、高電圧で長いチャンネルのトランジスタであり得る。当業者は、所望の電気的特性を達成するために、スキュードROMセルが異なって構成され得ると理解することになる。
【0069】
図20aの右側におけるプログラムされないスキュードROMセルが、ポリシリコンライン624の下にチャンネル領域を持っていないので、WLが読み取り電圧レベルに駆動されるとき、ビットラインは、VSSのプリチャージされた電圧レベルにとどまることになる。
【0070】
図20bは、一組のマスクプログラムされた2つのトランジスタのスキュードROMセルの平面図である。
図20bの左側の2つのトランジスタのスキュードROMセルは、同じ第1の拡散領域620、追加の拡散領域622、及びチャンネル領域の上に重なると共に、ここではOTP_WLと言われるポリシリコンライン624を備える。これらの特徴は、
図20aの単一のトランジスタのスキュードROMセルに存在する。メモリセルが2つのトランジスタデバイスを備えるので、ワードラインと呼ばれる第2のポリシリコンライン621が存在すると共に、第2のポリシリコンライン621とポリシリコンライン624との間に共有された拡散領域623が存在する。この例において、左側の2つのトランジスタのスキュードROMセルは、それが拡散ライン626に連結される追加の拡散領域622を有するので、第1の論理レベルを保存するようにマスクプログラムされている。拡散ライン626は、導電接続629を介して、ポリシリコンライン624に連結される。従って、OTP_WLが正の電圧レベルにバイアスされると共に、WLが選択されるとき、拡散領域620は、OTP_WLに連結されることになり、それによって、その対応するビットラインを低いプリチャージレベルから正の電圧レベルに引き上げる。一方、
図20bの右側におけるプログラムされないスキュードROMセルは、ポリシリコンライン624の下のチャンネル領域を省略するので、WLが読み取り電圧レベルに駆動されるとき、それが連結されているビットラインは、VSSのプリチャージ電圧レベルにとどまることになる。OD2マスク628がポリシリコンライン624の下の全体のチャンネル領域に広がり、従って、それの下のゲート酸化膜は、ポリシリコンライン621の下のゲート酸化膜と同じ厚さを有することになるということに注意が必要である。
【0071】
図21aは、この実施例による、
図18のテストメモリアレイ602に使用され得るスキュードROMセルのアレイを示す図である。このアレイは、2つの行を含むと共に、各行は、
図20aで示された構成を有する3組の単一トランジスタのスキュードROMセルを含む。従って、同じ参照符号が、最初に
図20aで示された特徴を確認するために使用される。第1の行は、ワードラインWL1に接続されたそれらのゲートを有するスキュードROMセル630、632、及び634を備えるとともに、ここでセル630とセル634は、論理1の状態を保存するようにマスクプログラムされる。第2の行は、ワードラインWL2に接続されたそれらのゲートを有するスキュードROMセル636、638、及び640を備えるとともに、ここでセル636とセル638は、論理1の状態を保存するようにマスクプログラムされる。従って、WL1に対応する行のデータパターンは1,0,1であり、一方、WL2に対応する行のデータパターンは1,1,0である。WL2に対応する行のデータパターンは、WL1に対応する行と比較して1ビットだけ右にシフトされると共に、ここで、最も右のビットは最も左のビット位置にシフトされる。3つのテストビットラインT_BL1、T_BL2、及びT_BL3は、メモリセルのペア630/636、632/638、及び634/640によって共有された共通のビットライン接点に接続される。
【0072】
図21bは、別の実施例による、
図18のテストメモリアレイ602に使用され得るスキュードROMセルのアレイを示す図である。このアレイは、2つの行を含むと共に、各行は、
図20bで示された構成を有する3組の2つのトランジスタのスキュードROMセルを含む。従って、同じ参照符号が、
図20bで示された特徴を確認するために使用される。第1の行は、ワードラインWL1に接続されたそれらのゲートを有するスキュードROMセル631、633、及び635を備えるとともに、ここでセル631とセル635は、論理1の状態を保存するようにマスクプログラムされる。第2の行は、ワードラインWL2に接続されたそれらのゲートを有するスキュードROMセル637、639、及び641を備えるとともに、ここでセル637とセル639は、論理1の状態を保存するようにマスクプログラムされる。従って、WL1に対応する行のデータパターンは1,0,1であり、一方、WL2に対応する行のデータパターンは1,1,0である。WL2に対応する行のデータパターンは、WL1に対応する行と比較して1ビットだけ右にシフトされると共に、ここで、最も右のビットは最も左のビット位置にシフトされる。3つのテストビットラインT_BL1、T_BL2、及びT_BL3は、メモリセルのペア631/637、633/639、及び635/641によって共有された共通のビットライン接点に接続される。
【0073】
図21cは、
図21a及び
図21bで示されたメモリセル位置に対応するスキュードROMセルにマスクプログラムされた論理状態を示す実例である。
【0074】
図22は、この実施例による、二重機能データレジスタの内の1つのレジスタステージの回路図である。レジスタステージ650は、データ保存回路652と、XORゲート654及びANDゲート656から構成されるデータ比較回路とを備える。データ保存回路652は、
図12のデータ保存回路302と実質的に同じ構成要素を備えるが、しかし、並列にデータを受け取るか、または並列にデータを提供するための並列入力端子及び並列出力端子を備えない。データ保存回路652は、直列入力ゲートデバイス658、転送ゲートデバイス660、マスタラッチ662、及びスレーブラッチ664を備える。ゲートデバイス658のゲート端子は、クロック信号CK1を受け取ると共に、ゲートデバイス660のゲート端子は、クロック信号CK2を受け取る。クロック信号CK1及びCK2は、
図13において示されたのと同じクロック制御器によって生成され得る。従って、データ保存回路652のデータシフト動作は、
図12のデータ保存回路302に関して前述されたデータシフト動作と同じになるであろう。スレーブラッチ664の入力は、端子SAi_outから提供されたセンス増幅器が提供する読み取りデータを受け取る。
【0075】
データ比較回路は、2つの機能を遂行する。最初に、それは、マスタラッチ662に保存されたデータをスレーブラッチ664に保存されたデータと比較すると共に、比較に対応する出力を提供する。この第1の機能は、XORゲート654によって実行され、従って、マスタラッチ662とスレーブラッチ664の両方が同じ論理状態を保存している場合、ロウの論理レベルの出力が提供される。第2の機能は、XORゲートの出力を前段のレジスタステージからの同様の出力と結合することである。この第2の機能は、XORゲート654の出力に接続された第1の入力と、POWERi−1に接続された第2の入力とを有するANDゲート656によって実行されると共に、ここで“i”は“1”から“n”の間の“0”でないあらゆる整数であり、“n”は二重機能データレジスタ608の最後のレジスタステージに対応する。特に、POWERi−1は、前段のレジスタステージのANDゲート656から提供される。第1のレジスタステージにおいて、POWERi−1がVDDに対する接続に置き換えられるということに注意が必要である。ANDゲート656の出力は、次段のレジスタステージに、そして特に次段のレジスタステージのANDゲート656の第2の入力に提供される、信号POWERiである。従って、もし全てのレジスタステージが、それらのマスタラッチ及びスレーブラッチに保存された同じ論理レベルを有するならば、その場合に、最後のPOWERi信号は、データの第1の行の全てのデータビットとデータの第2の行の全てのデータビットが一致することを示しているロウの論理レベルになるであろう。これは、電源がメモリデバイスの通常動作に対して十分に安定していることを意味する。
【0076】
図23は、本発明の実施例による、
図18の電源投入テストシステムを使用した電源投入検出方法のフローチャートである。
図24は、電源投入検出方法の間のデータビットの伝播を例証すると共に、シーケンス図は、信号SCK、SEN、CK1、及びCK2に関する信号トレースを示す。その方法は、
図18において示された一例のテストメモリアレイを用いて説明されることになる。
図24において、二重機能データレジスタは、3つのレジスタステージ670、672、及び674を備えると共に、各レジスタステージは、
図22において示された回路構成を有する。方法は、ワードラインWL1をアクティブ状態にすることで第1のテストワードを読み取ることによって、ステップ700において始まる。データは、検知されて、各レジスタステージ650のスレーブラッチ664にラッチされる。SENをロウの論理レベルに維持することによって、データがスレーブラッチ664によってラッチされる間、CK1とCK2の両方がロウの論理レベルに維持されるということに注意が必要である。
図24のステップ(700)に示されたように、もし電源が適正レベルにあるならば、レジスタステージ670、672、及び674のスレーブラッチ664(右側のボックス)は、論理1,0,1を保存することになる。もし電源が安定していないならば、その場合に、レジスタステージ670、672、及び674に保存されるデータワードは、異なるであろう。レジスタステージ670、672、及び674のマスタラッチ662が、無効なデータまたは関係ないデータを保存するということに注意が必要である。
【0077】
ステップ702において、レジスタステージ670、672、及び674に保存される第1のテストワードは、1ビット位置だけ右にシフトされる。これは、SCKがハイの論理レベルにあるとき、SENをアクティブ状態のハイの論理レベルにパルス化することによって行われる。しかしながら、1ビットのシフト動作のみが必要とされるので、SENは、SCKのハイの論理レベルより長くない期間の間、ハイの論理レベルになることになる。従って、CK1は、各レジスタステージの直列入力ゲートデバイス658をターンオンするために、SENがハイの論理レベルであるのと同じ期間の間、ハイの論理レベルになることになる。
図24のステップ(702)に示されたように、スレーブラッチ664に保存された全てのビットは、レジスタステージ670のマスタラッチ662にシフトされるか、またはフィードバックされるレジスタステージ674の最後のビットを除き、次段のレジスタステージのマスタラッチ662にシフトされる。続くステップ704において、第2のテストワードが読み取られると共に、検知され、そして次に、レジスタステージ670、672、及び674のスレーブラッチ664にラッチされる。
図24のステップ(704)に示されたように、もし電源が安定しているならば、ここで、データパターン1,1,0が、レジスタステージのスレーブラッチ664にラッチされる。
【0078】
ここで第1のテストワードと第2のテストワードの両方が二重機能データレジスタ608に保存されるので、それらが同一であるかどうかを判定するために、ステップ706において、第1のテストワードのシフトされたバージョンが第2のテストワードと比較される。
図22において、各レジスタステージのXORゲート654は、マスタラッチ662の論理状態をスレーブラッチ664の論理状態と比較することになる。各XORゲート654の出力は、前段のステージの比較結果POWERi−1と結合されると共に、結合の結果であるPOWERiは、次段のレジスタステージのANDゲート656に供給される。第1のレジスタステージ670がANDゲート656を備えていないか、またはそのANDゲート656の入力がVDDに接続されるということに注意が必要である。ステップ708において、もし最終ステージのANDゲート656に起因するPOWERiがハイの論理レベルにあるならば、これは、ステップ710で示されたように、シフトされた第1のテストワードの全てのビットが第2のテストワードの全てのビットに一致し、電源投入テストを通過したことを示す。もしデータが一致しないならば、その場合に、そのシステムは、ステップ700において方法を繰り返す前に、ステップ712において、所定の期間の間、待つことになる。
【0079】
上述の
図23の電源投入検出方法は、
図18の電源投入テストシステム600を使用する。本発明の更なる実施例によれば、テストメモリアレイ602は、
図9のメモリアレイ102のような通常のメモリアレイに統合される。例えば、メモリアレイ102の一行におけるセルと同じ数のセルを有するスキュードROMセルの2つの行は、メモリアレイ102におけるどこにでも追加され得ると共に、同じビットラインに接続され得る。二重機能データレジスタ108は、更に
図23の方法において説明されたデータ照合動作を提供するために、僅かに変更され得る。この実施例は、通常動作のために使用中の多数の回路素子が電源投入検出のために使用され得るので、回路のオーバヘッドを最小限にすることになる。
【0080】
図25は、本発明の実施例による、
図10において示される二重機能データレジスタ108の代替のレジスタステージの回路図である。レジスタステージ800は、
図12のステータス回路304が
図25の実施例における変更されたステータス回路802と交換されるということを除けば、
図12において示されるレジスタステージ300と全く同じように構成される。従って、同じ回路素子は、同じ参照符号を有することになる。変更されたステータス回路802は、ステータス回路304の同じXORロジックゲート330、ANDロジックゲート332、ANDゲート334、及びインバータ336を備えるが、しかしここでは、XORロジックゲート330の入力に配置されるセレクタースイッチ804を備える。更に具体的には、セレクタースイッチ804は、インバータ336の出力に接続された第1の入力端子、インバータ336の入力に接続された第2の入力端子、及びXORロジックゲート330の入力に接続された出力を有する2対1(2入力1出力)のマルチプレクサ(MUX)として実施される。従って、MUX804は、選択信号P_TESTに応答して、反転したマスタラッチ310の出力か、または反転しないマスタラッチ310の出力のいずれかを、XORロジックゲート330に対して通過させるように制御される。
【0081】
通常の動作モードにおいて、すなわちプログラム検証動作モードにおいて、P_TESTは、インバータ336の出力をXORロジックゲート330に連結するための第1の論理状態になることになる。従って、レジスタステージ800の機能性及び動作は、
図12のレジスタステージ300の機能性及び動作と同じになるであろう。電源投入動作モードにおいて、P_TESTは、インバータ336の入力をXORロジックゲート330に連結するための第2の論理状態になることになる。その場合に、レジスタステージ800の機能性及び動作は、
図22のレジスタステージ650の機能性及び動作と同じになるであろう。最後の信号Cn_aは、各レジスタステージのマスタラッチ310に保存されたデータとスレーブラッチ312に保存されたデータとが同じであるかどうかを判定するために監視され得る。
【0082】
前述の説明では、説明の目的において、多数の詳細が本発明の実施例の完全な理解を提供するために説明される。しかしながら、本発明を実施するためにこれらの特定の詳細が必要とされないことは、当業者にとって明白であろう。他の例では、周知の電気的な構造及び回路は、本発明を不明瞭にしないために、ブロック図の形式で示される。例えば、ここで説明された本発明の実施例が、ソフトウェアルーチン、ハードウェア回路、ファームウェア、またはそれらの組み合わせとして実施されるかどうかに関して、特定の詳細は提供されない。
【0083】
本発明の上述の実施例は、一例であることだけが意図される。変更物、修正物、及び変化物が、添付された請求項によって唯一定義される本発明の範囲からはずれることなく、当業者によって特定の実施例にもたらされ得る。