半導体回路の未使用状態を検知するための方法と装置
半導体回路の未使用状態を検知する未使用状態検知回路が開示されている。半導体回路は、未使用状態検知回路が永久的に抹消されていない場合は「未使用」である。半導体回路が初めて始動されるとき、未使用状態検知回路は、半導体回路がこれまで「使用されて」いないことを検知して、起動手続き又は試験実施手続き(或いは両方)を自動的に作動させることになる。半導体回路が使用された後は、未使用状態検知回路は、当該半導体回路がもはや未使用状態ではないということを表示する。未使用状態検知回路は、半導体回路がこれまで未使用であったか否かを検知するのに、半導体回路の専用の不揮発性メモリアレイ又は汎用不揮発性メモリ部分の専用領域の状態を使用する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概括的には、セキュアな集積回路の様な半導体回路を初期化し、試験するための方法と装置に関し、より厳密には、未使用の半導体回路を初期化し、試験するための方法と装置に関する。
【背景技術】
【0002】
本出願は、本出願と同時に出願し本出願と同一の譲受人に譲渡された「半導体回路を外部インターフェースから初期化するための方法と装置」という名称の米国特許出願第10/339,223号(弁理士事件整理番号ATM−633)に関連しており、上記出願を参考文献として本願に援用する。
【0003】
半導体回路、特にシステム・オン・チップ型の半導体回路には、通常、求められる機能を実行するためにマイクロプロセッサと不揮発性メモリアレイが含まれている。半導体回路を初めて始動する際、マイクロプロセッサは、機能できるようになるためのインストラクションの供給源を必要とする。通常、半導体回路は、読み出し専用メモリ(ROM)のアレイを含んでおり、これは「ブートROM」と呼ばれることもあるが、初めて始動される際に、マイクロプロセッサが半導体回路を起動し初期化できるようにする適切なプログラムコードを含むように、製造時にマスクされている。しかしながら、ブートROMは、半導体回路の必要な表面積を増し、マイクロプロセッサの初期化処理も複雑にする。製造工程の一環としてROMを作成する場合、このプログラムコードを変えてしまうようなエラーは非常に費用が掛かり時間を浪費する。更に、ブートROM内の各セルは、例えば顕微鏡を使って検査して、ブートROMに搭載されているプログラムコードを識別することができるので、ブートROMは、半導体回路のセキュリティを損なうことになる。セキュリティが損なわれるという問題は、半導体回路が、銀行取引や個人情報又は所有権情報の記録の様なセキュアな用途に使用される場合は、特に問題が懸念される。
【0004】
また、半導体回路は、通常は最初に起動される時に試験と微調整が行われる。一般に、新しい半導体回路は、半導体回路が規定の許容誤差内で作動することを保証するために、半導体回路の各種機構と機能を試験する試験ステーションに接続される。また、試験ステーションでは、通常、所望の設定で作動させるために調整を必要とする半導体上の他の素子を微調整する。
【0005】
この様に、半導体回路が未使用で、従って初期化又は試験或いはその両方を行うことができることを判定するための方法と装置が必要とされている。
【0006】
【特許文献1】米国特許出願第10/339,223号
【特許文献2】米国特許第6,219,291号
【発明の開示】
【課題を解決するための手段】
【0007】
概括的には、半導体回路の未使用状態を検知するための方法と装置が開示されている。半導体回路が未使用であるか否かを検知する未使用状態検知回路が開示されている。半導体回路が初めて始動される場合、未使用状態検知回路は、半導体回路がこれまで使用されていないことを検知して、起動手続き又は試験手続き(或いは両方)を自動的に作動させる。未使用状態検知回路が永久的に抹消されていない場合は、半導体回路は「未使用」ということである。
【0008】
未使用状態検知回路は、いつ半導体回路が始めて始動され初期化されたかを検知し、以後、当該半導体回路は未使用ではなくなったことを表示する。この様にして、本発明は、試験実施又は初期化(或いは両方)の様な特別な処理が未使用の半導体回路で行えるようにし、次いで未使用状態を永久的に抹消して半導体回路のセキュリティが危うくなることのないようにする。一般的に、未使用状態検知回路は、半導体回路がこれまで未使用であったか否かを検知するのに、不揮発性メモリアレイの状態を使用する。未使用状態検知回路は、(i)専用ミニアレイ型不揮発性メモリセル、又は(ii)半導体回路の汎用不揮発性メモリ部分の専用領域を使用することにより、半導体回路が未使用であるか否か検知する。
【0009】
専用ミニアレイ型不揮発性メモリセルを採用している或る実施形態では、プログラムする及び消去する、のそれぞれに対応して、少なくとも2つのアクティブビットライン、blprgとbler、が採用されている。第1のビットライン、blprgは、プログラム可能なだけで消去はできない。第2のビットライン、blerは、消去可能なだけでプログラムすることははできない。一般的に、専用の不揮発性メモリアレイのビットは全て、最初は略同一状態にあるが、消去できるか、プログラムできるか、或いはその中間、である。このビットラインの一方にオフセット電流を加え、オフセットビットラインをオフセットされていないビットラインと比較すると、差を検知することができる。電流差を使用して、例えばいつビットラインが消去されたかを表示することができる。この様に、専用の不揮発性メモリアレイの全てのビットが、初期に略同一状態にある場合、これを、例えば、未使用状態であるとみなす。その後、オフセットされたビットラインのビットがプログラムされ、オフセットされなかったビットラインのビットは消去される。この点について、同一のビットラインは、消去されたビットとプログラムされたビットの間の電流差が、印加されたオフセット電流よりも大きいので、プログラム済み又は使用済みと分かる。
【0010】
通常の不揮発性メモリアレイ内に1つ又は複数の専用バイトを採用している或る実施形態では、専用バイトは、基準電流を用いて、事前に設定されたパターンを検出することによって比較される。或る実施例では、未使用状態の1つ又は複数の専用バイト内の全てのビットは、ニュートラル状態にある。ニュートラル状態は、予想電流準位を提供するもので、この予想電流準位を基準電圧と比較して、全て「1」又は全て「0」のパターンを検知することによって、ニュートラルセルをプログラムされたか又は消去されたセルと区別することができる。或る事前設定パターンの実施例では、未使用状態にある1つ又は複数の専用バイト内の全てのビットは充電済み状態又は未充電状態にあるが、全てが同様の状態又は少なくとも一様なパターンにある。感知時、それらバイトは、比較のために選択されたランダムパターンに一致せず、未使用状態であることを表示する。その後、バイトは消去され、特定のパターンにプログラムされ、比較器が真と読み取って、使用済み状態であることを表示する。未使用状態は、単純に消去し、特定のパターンをバイトにプログラムすることにより取り除かれる。
【0011】
以下の詳細な説明と添付図面を参照すれば、本発明並びにその特徴と利点への理解が深まるであろう。
【発明を実施するための最良の形態】
【0012】
図1は、従来の半導体回路100の概略ブロック図である。図1に示すように、従来の半導体回路100は、ブートROM110、プロセッサ120、外部インターフェース130、及び不揮発性メモリ140を含んでおり、それらはバス150上で連絡している。先に示したように、従来の半導体回路100では、初めての始動時に、プロセッサ120がブートROM110にアクセスして、起動処理用の適切なプログラムコードを得る。
【0013】
図2は、本発明の特徴を組み込んだ半導体回路200の概略ブロック図である。図2に示すように、半導体回路200は、詳しくは図4に関係付けて後で述べる未使用状態検知回路400、プロセッサ220、外部インターフェース230、及び不揮発性メモリ240を含んでおり、それらはバス250上で連絡している。プロセッサ220、インターフェース230、及び不揮発性メモリ240は、従来の方式で作動する。外部インターフェース230は、多様な形態で具現化できるが、通常は、例えばシリアルインターフェース、パラレルインターフェース、又はユニバーサルシリアルバス(USB)のような認識されている標準的な形態をとる。本発明の或る態様によれば、半導体回路200が初めて始動されたとき、未使用状態検知回路400は、半導体回路200がこれまでに使用されていないこと、例えば試験も初期化もされていないことを検知して、その未使用状態を抹消する。或る実施例では、未使用状態検知回路400は、特別な起動手続き又は試験手続き(又は両方)を自動的に使用可能にする。ここでは、半導体回路は、未使用状態検知回路400が永久的に抹消されていない場合には「未使用である」とみなされる。ここに説明している本発明の各種実施形態では、未使用状態検知回路は、詳しくは図4及び図10に関連付けて説明するが、専用ミニアレイの不揮発性メモリ(図4)又は半導体回路の汎用不揮発性メモリ部分の専用領域(図10)を採用することにより、半導体回路が未使用であるか否かを検知する。
【0014】
後で述べるが、外部インターフェース230は、試験ステーション260に、又は、例えば適切なインストラクションを表示する事前に設定された値を有するバイトの流れの様なプロセッサ220によって実行されるインストラクションの流れを提供する別のコンピュータ処理装置に、随意的に接続してもよい。試験テーション260は、図3に関連付けて後に詳しく説明するやり方で、外部インターフェース230を使って半導体回路200と通信する。一般的に、試験ステーション260は、実施しなければならない特定のインストラクションを示すコマンドを、外部インターフェース230を通して半導体回路200に発行する。この様にして、半導体回路200は初期化され、不揮発性メモリ240にアプリケーションソフトウェアがロードされる。プロセッサ220は、初期化が完了するまで外部インターフェース230からインストラクションを継続的に入手するが、この初期化完了は、例えば、試験ステーション260により発行される或る予め規定されたインストラクション又はパターンにより、又は半導体回路200から電力を取り去る様な他の方法により、表示されるようにしてもよい。
【0015】
図3は、試験ステーション260によって実施される、初回使用時初期化プロセス300の代表的な実施例を説明するフローチャートである。図3に示すように、試験ステーション260は、ステップ310で、先ず試験対象の半導体回路に電力を供給して既知の状態にリセットする。その後、ステップ315で試験が行われ、半導体回路220が未使用状態にあるか否か判定される。試験ステーション260は、例えば、外部インターフェース230上で半導体回路200と通信することにより、半導体回路200が未使用状態にあるか否か判定することができる。半導体回路200から有効な回答を受信した場合、試験ステーション260は、半導体回路200が未使用状態であり、試験ステーション260から初期化のためのインストラクションを入手しているものと想定することができる。変形例としては、未使用状態検知回路400が、試験ステーション260がアクセスできるフラグ又は他のインジケータを設定して、半導体回路200が未使用状態であるという表示を提供するようにしてもよい。
【0016】
ステップ315で、半導体回路200が未使用状態にないと判定された場合、プログラム制御は終了するか、又はステップ318で別のフローに分岐し、例えば使用済みの半導体回路の試験を実行する。しかしながら、ステップ315で、半導体回路が未使用状態であると判定された場合、プログラム制御は、未使用の半導体回路200を初期化又は試験(或いは両方)するためにステップ320に進む。
【0017】
ここで、初回使用時初期化プロセス300は、ステップ320で、半導体回路200を初期化するために外部インターフェース230でプロセッサ220にインストラクションの流れを送る。その後、初回使用時初期化プロセス300は、ステップ325で、例えば半導体回路200の各種特徴と機能を試験することを含め、初期化手続きを行う。
【0018】
次いで、ステップ330で、不揮発性メモリに以降の実行のための適切なコードがロードされる(これまでのコードはパターン試験プロセスの間に上書きされているため)。最後に、試験ステーション260は、ここに説明したやり方で、エミュレートされたEEPROMメモリアレイ200の未使用状態が永久的に抹消されていることを保証する。その後、ステップ340でプログラム制御は終了する。
【0019】
なお、代表的な初回使用時初期化処理300は、外部試験ステーション260により実行される試験実施機能を組み込んでいるが、当業者には自明のように、半導体回路200の試験の幾つか又は全ては、実際には半導体回路200に内蔵されている試験実施機能で実行してもよい。
【0020】
未使用状態検知
これまでに示したように、未使用状態検知回路400は、いつ半導体回路200が初めて始動されて初期化されたかを検知し、その後、半導体回路200がもはや未使用ではなくなったという表示を提供する。後で詳しく論じるが、一般的に、未使用状態検知回路400は、半導体回路200がこれまで未使用であったか否かを検知するため、不揮発性メモリアレイの状態を使用する。本発明は、不揮発性メモリセルの特定の状態が未知であること、即ちセルが充電済みか未充電であるか未知であることを認識している。本発明は、不揮発性メモリセルが充電済みか未充電であるかとは関係なく、半導体回路200がこれまで未使用であったか否かを判定する方法を提供する。
【0021】
或る代表的な実施形態では、後に図4及び図5に関連付けて詳しく説明するが、本発明は、不揮発性メモリセルの専用ミニアレイ500を使って、半導体回路200がこれまで未使用であるか否かを判定する。不揮発性メモリセルのアレイ500は、プログラムする及び消去する、のそれぞれに対応する2つのアクティブビットライン、blprgとbler、を含んでいる。第1のビットラインblprgは、プログラム可能なだけで、消去はできない。第2のビットラインblerは、消去可能なだけで、プログラムはできない。
【0022】
一般的に、不揮発性メモリアレイ500の全てのビットは、初期には略同一状態にあり、消去することも、プログラムすることも、或いはその中間とすることもできる。ビットラインの1つにオフセット電流を加え、オフセットされたビットラインをオフセットされていないビットラインと比較すると、差を検知することができる。電流差を利用して、例えば、ビットランがいつ消去されたかを表示することができる。オフセット電流は、概略、プログラムされた素子と消去された素子の間の電流準位に設定すればよい。例えば、プログラムされた状態のセルが5μAを引き、消去された状態のセルが50μAを引く場合には、オフセット電流は、図5に示すようにビットライン当たり2つのセルを使用している実施形態の場合、約45μAとすればよい(2つのセルの100μAから2つのセルの10μAを引いて2で割る)。また、本技術及び他の情報によれば、オフセット電流は、プログラム済みの状態又は消去済みの状態の何れかに有利に斜行させることもできる。
【0023】
不揮発性メモリアレイ500のビット全てが初期に略同一状態にある場合、これは未使用状態とみなされる。その後、オフセットされたビットラインのビットがプログラムされ、オフセットされなかったビットラインのビットが消去されることになる。この点について、同一ビットラインは、消去されたビットとプログラムされたビットの間の電流差は印加されるオフセット電流よりも大きいので、プログラム済又は使用済みと感知されることになる。不揮発性メモリ500の消去及びプログラムのオペレーションは、通常の不揮発性メモリアレイ240のタイミング及び電圧と同じタイミングと電圧を使用する。
【0024】
図4は、図2の未使用状態検知回路400の1つの考えられる実施形態を示す概略ブロック図である。図4に示すように、未使用状態検知回路400は、後で図5に関連付けて詳しく説明する不揮発性メモリアレイ500と、後で図6に関連付けて詳しく説明する未使用状態評価回路600と、後で図7に関連付けて詳しく説明するプログラムバイアス回路700と、後で図8に関連付けて詳しく説明するワードライン/ソースラインドライバ800と、後で図9に関連付けて詳しく説明する制御信号発生器900を含んでいる。未使用状態検知回路400は、半導体回路200が初めて始動されて、未使用状態検出が永久的に抹消されるまで、未使用フラグ表示を生成する。その後、未使用状態検知回路400は、半導体回路200がもはや未使用ではないという表示を提供する。
【0025】
図5は、本発明の特徴を組み込んだ代表的不揮発性メモリアレイ500の回路図である。なお、ここに使用している符号は1つの考えられる不揮発性メモリ技術の場合であり、当業者には自明のように、実際にはどの様な不揮発性メモリ技術を使用してもよい。図5に示すように、不揮発性メモリアレイ500は、2つのアクティブビットライン、blprogとblerase、を含んでいる。不揮発性メモリアレイ500は、複数のトランジスタを含んでいる。第1トランジスタ対510は、プログラムしかできず、消去はできない。第2トランジスタ対520は、消去しかできず、プログラムはできない。不揮発性メモリアレイ500のプログラムトランジスタと消去トンランジスタ510、520は、それぞれ、ドレインにビットライン入力blprg及びblerを介してアクセスし、ゲートにワードライン入力wlprgを介してアクセスし、ソースにソースライン入力srcprgとsrcerを介してアクセスするように、構成されている。プログラムトランジスタ510は、未使用状態を取り除くようにプログラムされる。同様に、消去トランジスタ520は、未使用状態を取り除くために消去される。なお、両トランジスタ510、520は、この代表的な実施形態では、製造時に生じ得る奇数/偶数効果を平均するために、プログラム及び消去のオペレーションそれぞれについて使用される。しかしながら、個別トランジスタ又はトランジスタのセットも採用することができるが、この点は当業者には自明であろう。
【0026】
作動時、半導体回路200が始めて始動され初期化される前(即ち、半導体回路200が未使用であるとき)には、2つのプログラムトランジスタ510と2つの消去トランジスタ520は、略同一状態にあって、消去することも、プログラムすることも、又はその中間とすることもでき、また、感知時の電流量は等しくなっている。プログラムトランジスタ510は、ソースプログラムラインsrcprgに高電圧(例えば10V)、ワードラインプログラムwlprgに選択電圧(例えば1.5V)、及びビットラインプログラムblprgに低電流シンク(例えば2μA)を印加することによりプログラムすることができる。一旦プログラムされると、プログラムトランジスタ510は、感知の間は電流を供給しない。
【0027】
消去トランジスタ520は、ワードライン消去wlerに高電圧(例えば13V)を印加し、ソースライン消去srcerとビットライン消去blerに接地電流を印加することにより消去される。一旦消去されると、消去トランジスタ520は、感知の間に、例えばそれぞれ35μA程度の有効電流を供給する。
【0028】
エッジ効果を防ぐために、不揮発性メモリアレイ500は、随意的に、複数の追加トランジスタとこれらに付帯するビットライン(図示せず)を備えており、2つのアクティブなトランジスタ及びビットライン、BLprogとBlerase、が、既知のやり方で、一様になるようにしてもよい。別の変形例では、プログラムビットラインのトランジスタ540のビットラインは、それらのビットライン接点がプログラムトランジスタ510に影響しないように、それら接点を取り除いている。同じように、消去ビットラインのトランジスタ530のビットラインは、それらのビットライン接点が消去トランジスタ520に影響しないように、それら接点を取り除いている。
【0029】
図6は、本発明の特徴を組み込んだ代表的な未使用状態評価回路600の回路図である。図6に示すように、未使用状態評価回路600は、差動対630の入力MN10 620を供給する第1カスコード増幅器構造610を含んでいる。第2カスコード増幅器構造640は、差動対630の入力MN11 650を供給する。
【0030】
先に示した様に、一方のビットラインにオフセット電流を追加し、オフセットされたビットラインをオフセットされていないビットラインと比較したときに、差が検知できるようにする。オフセット電流は、一組のトランジスタ660により発生する。第1カスコード増幅器構造610は、ビットライン消去入力blerの電流を電圧に変換する。第2カスコード増幅器構造640は、ビットラインプログラム入力blprgの電流とオフセット電流の和を電圧に変換する。この様にして、カスコード増幅器構造610、640は、差動対630と共に、ビットラインプログラム入力及びビットライン消去入力の電流を比較する。
【0031】
バイアス入力sabiasは、2段階の未使用状態評価回路600にバイアスを掛けるアナログ電圧準位を提供する。感知入力snsは、不揮発性メモリセル500内部のセルの状態を感知できるようにする制御信号である。例えば、不揮発性メモリアレイ500は、半導体回路200がリセット又は始動されるといつでも使用可能にすることができる。
【0032】
メモリセルを感知するための適した技法のもっと詳細な説明は、例えば、本願の譲受人に譲渡され本願に参考文献として援用している、Soward他に発行された米国特許第6,219,291号を参照されたい。概説すれば、メモリセルを感知するための開示されている技法は、対応する電流消費量に基づいてロジックレベルを感知する感知増幅器を含んでいるロジックレベル検知回路を採用している。
【0033】
図7は、本発明の特徴を組み込んだ代表的なプログラムバイアス回路700の回路図である。プログラムバイアス回路700は、プログラム時にビットラインに電流と電圧を供給する。プログラムバイアス回路700は、確実に、不揮発性メモリアレイ500のプログラムトランジスタライン510上のトランジスタだけがプログラムされ、不揮発性メモリアレイ500の消去トランジスタライン520はプログラムされないようにする。
【0034】
図7に示すように、入力prgとerは、プログラムモード及び消去モード時は高い。両方の入力prgとerが共に低い場合には、プログラムバイアス回路700はノーマルモードであり、ビットラインプログラムラインにもビットライン消去ラインにもバイアス又は影響を及ぼさない。電流ミラー710は、既知のバイアス電流を発生させるが、この代表的な実施形態では2μA程度である。バイアス電流はトランジスタ730を通過する。
【0035】
プログラムモードでは、即ちprgラインが高い時には、トランジスタ750は使用可能であり、ビットライン消去出力(bler)をVddに引き上げる。同様に、消去モードでは、即ちerラインが高いときには、トランジスタ740は使用可能であり、ビットラインプログラム出力(blprg)をVddに引き上げる。
【0036】
図8は、本発明の特徴を組み込んだ代表的なワードライン/ソースラインドライバを示す回路図である。図8に示すように、ワードライン/ソースラインドライバ800は、プログラムワードラインドライバ810、プログラムソースラインドライバ820、消去ワードラインドライバ830、及び消去ソースラインドライバ840を含んでいる。
【0037】
ドライバは、プログラムモード及び消去モード時に、ワード及びソースラインに関連付けて示された端末に、適切な条件を与える。或る具体的な技法の場合、電圧は以下のとおりである。
繰り返すが、各トランジスタのドレインターミナルは、ビットライン入力blprg及びblerを介してアクセスされ、ゲートターミナルは、ワードライン入力wlprg及びwlerを介してアクセスされ、ソースターミナルは、ソースライン入力srcprg及びsrcerを介してアクセスされる。従って、ドライバ810はプログラムモード時にワードラインに1.5Vを送り、ドライバ820はプログラムモード時にソースラインに10Vを送り、ドライバ830は消去モード時にワードラインに12Vを送り、ドライバ840は消去モード時にソースラインを接地する。
【0038】
図9は、本発明の特徴を組み込んだ代表的な制御信号発生器900の回路図である。図4に示すように、制御信号発生器900で生成された制御信号は、ワードライン/ソースラインドライバ800に供給される。図9に示すように、制御信号発生器900は、不揮発性メモリがプログラムモード、感知モード、又は消去モードにあるか否かを表示する論理値を受信し、ワードライン/ソースラインドライバ800に掛けられる適切な出力信号を生成する。図8のワードライン/ソースラインドライバ800は、生成された信号を使用して、プログラムモード及び消去モード時にワードライン及びソースラインに関係付けられたトランジスタターミナルに適切な条件を提供する。
【0039】
図10は、図2の未使用状態検知回路400の代わりの実施形態で使用するのに適した概略ブロック図である。図10に示すように、代わりの未使用状態検知回路1000は、一組のアレイデコーダ1010、不揮発性メモリアレイ1020、感知増幅器1030、パターン比較器1040、アドレス及び制御信号発生器1050、及び基準電流発生器1060を含んでいる。
【0040】
NVMアレイ内のバイトと基準電流の比較
この変形例では、通常の不揮発性メモリアレイ240内の1つ又は複数の専用バイトが使用される。始動時、不揮発性メモリアレイ240に入ってくるデフォルトアドレス及び制御信号は、それら特定のバイトに関して読み出しが実行されるようにするものである。未使用状態では、このバイト中の全ビットはニュートラル状態にある。代表的な技術では、ニュートラル状態とは、セルが1から10μAの範囲の低い電流準位しか与えないような状態である。対照的に、完全に消去されたセルは40μAを提供し、プログラム済みのセルは0μA提供する。従って、これらニュートラルのセルが、消去されたビットを感知するように設定されている基準電流(ブロック1060により生成される)との比較において感知されると、それらビットは全てプログラム済みとして読み出されることになる。この変形例の場合、全ビットがプログラム済みとして読み出されたということで、未使用状態とみなされる。その後、それらのバイトは消去される(しかし、決してプログラムされることはない)。この時点で、同じ基準電流と比較した場合、それらビットは「消去済み」又は使用済みとして読み出される。
【0041】
ブロック1060により生成された基準電流は、ニュートラル(未使用)状態のセル電流と消去済み状態のセル電流の略中間の準位に設定すればよい。この電流設定にはいくつかの方法が使用できる。一般的な方法を2つ挙げると、電流ソースを使用する方法と、基準アレイを使用する方法である。
【0042】
NVMアレイ内のバイトと事前設定値との比較
この変形例では、通常の不揮発性メモリアレイ240内の単数又は複数のバイトが使用される。始動時、不揮発性メモリアレイ240に入ってくるデフォルトアドレス及び制御信号は、それら特定のバイトに関して読み出しが行われるようにするものである。未使用状態では、それらバイト内の全ビットは充電済みか未充電状態であるが、全て同様の状態又は少なくとも一様なパターンになっている。感知されたとき、それらバイトは、パターン比較回路1040の中で比較のために選択されたランダムパターンと一致しないはずである。これは、未使用状態を表している。その後、バイトを消去して、特定のパターンにプログラムすることもできる。この時点で、比較器1040は真と読み、これは使用済み状態を示す。単に消去して特定のパターンをバイトにプログラムすることにより、未使用状態を取り除くことができる。
【0043】
更に、図2の未使用状態検知回路400は、上記実施形態の何れか1つだけに依存していなくともよい。事実、当業者には自明のように、2つ又はそれ以上の実施形態を組み合わせて、図2の未使用状態検知回路400の機能を実現することもできる。これは、2つ又はそれ以上の実施形態の出力にOR機能を付け加えて、未使用状態を検知する何れの実施形態又はその組み合わせであっても使用可能となり、OR出力が未使用状態を発信するようにすることによって、簡単に実現することができる。
【0044】
以上、これまで示し説明してきた実施形態及び変更例は、本発明の原理を説明することだけを目的としており、当業者であれば、本発明の範囲と精神から逸脱することなく、各種変更を実施できるものと理解頂きたい。
【図面の簡単な説明】
【0045】
【図1】従来の半導体回路の概略ブロック図である。
【図2】本発明の特徴を組み込んだ半導体回路の概略ブロック図である。
【図3】図2の試験ステーションによって実施される、初めて使用する場合の初期化処理の代表的実施例を説明するフローチャートである。
【図4】図2の未使用状態検知回路の概略ブロック図である。
【図5】図4の不揮発性メモリアレイの代表例を示す回路図である。
【図6】図4の未使用状態評価回路の代表例を示す回路図である。
【図7】図4のプログラムバイアス回路の代表例を示す回路図である。
【図8】図4のワードライン/ソースライン・ドライバの代表例を示す一組の回路図である。
【図9】図4の制御信号発生器の代表例を示す回路図である。
【図10】図4の未使用状態検知回路の代わりの実施形態による、使用に適した概略ブロック図である。
【技術分野】
【0001】
本発明は、概括的には、セキュアな集積回路の様な半導体回路を初期化し、試験するための方法と装置に関し、より厳密には、未使用の半導体回路を初期化し、試験するための方法と装置に関する。
【背景技術】
【0002】
本出願は、本出願と同時に出願し本出願と同一の譲受人に譲渡された「半導体回路を外部インターフェースから初期化するための方法と装置」という名称の米国特許出願第10/339,223号(弁理士事件整理番号ATM−633)に関連しており、上記出願を参考文献として本願に援用する。
【0003】
半導体回路、特にシステム・オン・チップ型の半導体回路には、通常、求められる機能を実行するためにマイクロプロセッサと不揮発性メモリアレイが含まれている。半導体回路を初めて始動する際、マイクロプロセッサは、機能できるようになるためのインストラクションの供給源を必要とする。通常、半導体回路は、読み出し専用メモリ(ROM)のアレイを含んでおり、これは「ブートROM」と呼ばれることもあるが、初めて始動される際に、マイクロプロセッサが半導体回路を起動し初期化できるようにする適切なプログラムコードを含むように、製造時にマスクされている。しかしながら、ブートROMは、半導体回路の必要な表面積を増し、マイクロプロセッサの初期化処理も複雑にする。製造工程の一環としてROMを作成する場合、このプログラムコードを変えてしまうようなエラーは非常に費用が掛かり時間を浪費する。更に、ブートROM内の各セルは、例えば顕微鏡を使って検査して、ブートROMに搭載されているプログラムコードを識別することができるので、ブートROMは、半導体回路のセキュリティを損なうことになる。セキュリティが損なわれるという問題は、半導体回路が、銀行取引や個人情報又は所有権情報の記録の様なセキュアな用途に使用される場合は、特に問題が懸念される。
【0004】
また、半導体回路は、通常は最初に起動される時に試験と微調整が行われる。一般に、新しい半導体回路は、半導体回路が規定の許容誤差内で作動することを保証するために、半導体回路の各種機構と機能を試験する試験ステーションに接続される。また、試験ステーションでは、通常、所望の設定で作動させるために調整を必要とする半導体上の他の素子を微調整する。
【0005】
この様に、半導体回路が未使用で、従って初期化又は試験或いはその両方を行うことができることを判定するための方法と装置が必要とされている。
【0006】
【特許文献1】米国特許出願第10/339,223号
【特許文献2】米国特許第6,219,291号
【発明の開示】
【課題を解決するための手段】
【0007】
概括的には、半導体回路の未使用状態を検知するための方法と装置が開示されている。半導体回路が未使用であるか否かを検知する未使用状態検知回路が開示されている。半導体回路が初めて始動される場合、未使用状態検知回路は、半導体回路がこれまで使用されていないことを検知して、起動手続き又は試験手続き(或いは両方)を自動的に作動させる。未使用状態検知回路が永久的に抹消されていない場合は、半導体回路は「未使用」ということである。
【0008】
未使用状態検知回路は、いつ半導体回路が始めて始動され初期化されたかを検知し、以後、当該半導体回路は未使用ではなくなったことを表示する。この様にして、本発明は、試験実施又は初期化(或いは両方)の様な特別な処理が未使用の半導体回路で行えるようにし、次いで未使用状態を永久的に抹消して半導体回路のセキュリティが危うくなることのないようにする。一般的に、未使用状態検知回路は、半導体回路がこれまで未使用であったか否かを検知するのに、不揮発性メモリアレイの状態を使用する。未使用状態検知回路は、(i)専用ミニアレイ型不揮発性メモリセル、又は(ii)半導体回路の汎用不揮発性メモリ部分の専用領域を使用することにより、半導体回路が未使用であるか否か検知する。
【0009】
専用ミニアレイ型不揮発性メモリセルを採用している或る実施形態では、プログラムする及び消去する、のそれぞれに対応して、少なくとも2つのアクティブビットライン、blprgとbler、が採用されている。第1のビットライン、blprgは、プログラム可能なだけで消去はできない。第2のビットライン、blerは、消去可能なだけでプログラムすることははできない。一般的に、専用の不揮発性メモリアレイのビットは全て、最初は略同一状態にあるが、消去できるか、プログラムできるか、或いはその中間、である。このビットラインの一方にオフセット電流を加え、オフセットビットラインをオフセットされていないビットラインと比較すると、差を検知することができる。電流差を使用して、例えばいつビットラインが消去されたかを表示することができる。この様に、専用の不揮発性メモリアレイの全てのビットが、初期に略同一状態にある場合、これを、例えば、未使用状態であるとみなす。その後、オフセットされたビットラインのビットがプログラムされ、オフセットされなかったビットラインのビットは消去される。この点について、同一のビットラインは、消去されたビットとプログラムされたビットの間の電流差が、印加されたオフセット電流よりも大きいので、プログラム済み又は使用済みと分かる。
【0010】
通常の不揮発性メモリアレイ内に1つ又は複数の専用バイトを採用している或る実施形態では、専用バイトは、基準電流を用いて、事前に設定されたパターンを検出することによって比較される。或る実施例では、未使用状態の1つ又は複数の専用バイト内の全てのビットは、ニュートラル状態にある。ニュートラル状態は、予想電流準位を提供するもので、この予想電流準位を基準電圧と比較して、全て「1」又は全て「0」のパターンを検知することによって、ニュートラルセルをプログラムされたか又は消去されたセルと区別することができる。或る事前設定パターンの実施例では、未使用状態にある1つ又は複数の専用バイト内の全てのビットは充電済み状態又は未充電状態にあるが、全てが同様の状態又は少なくとも一様なパターンにある。感知時、それらバイトは、比較のために選択されたランダムパターンに一致せず、未使用状態であることを表示する。その後、バイトは消去され、特定のパターンにプログラムされ、比較器が真と読み取って、使用済み状態であることを表示する。未使用状態は、単純に消去し、特定のパターンをバイトにプログラムすることにより取り除かれる。
【0011】
以下の詳細な説明と添付図面を参照すれば、本発明並びにその特徴と利点への理解が深まるであろう。
【発明を実施するための最良の形態】
【0012】
図1は、従来の半導体回路100の概略ブロック図である。図1に示すように、従来の半導体回路100は、ブートROM110、プロセッサ120、外部インターフェース130、及び不揮発性メモリ140を含んでおり、それらはバス150上で連絡している。先に示したように、従来の半導体回路100では、初めての始動時に、プロセッサ120がブートROM110にアクセスして、起動処理用の適切なプログラムコードを得る。
【0013】
図2は、本発明の特徴を組み込んだ半導体回路200の概略ブロック図である。図2に示すように、半導体回路200は、詳しくは図4に関係付けて後で述べる未使用状態検知回路400、プロセッサ220、外部インターフェース230、及び不揮発性メモリ240を含んでおり、それらはバス250上で連絡している。プロセッサ220、インターフェース230、及び不揮発性メモリ240は、従来の方式で作動する。外部インターフェース230は、多様な形態で具現化できるが、通常は、例えばシリアルインターフェース、パラレルインターフェース、又はユニバーサルシリアルバス(USB)のような認識されている標準的な形態をとる。本発明の或る態様によれば、半導体回路200が初めて始動されたとき、未使用状態検知回路400は、半導体回路200がこれまでに使用されていないこと、例えば試験も初期化もされていないことを検知して、その未使用状態を抹消する。或る実施例では、未使用状態検知回路400は、特別な起動手続き又は試験手続き(又は両方)を自動的に使用可能にする。ここでは、半導体回路は、未使用状態検知回路400が永久的に抹消されていない場合には「未使用である」とみなされる。ここに説明している本発明の各種実施形態では、未使用状態検知回路は、詳しくは図4及び図10に関連付けて説明するが、専用ミニアレイの不揮発性メモリ(図4)又は半導体回路の汎用不揮発性メモリ部分の専用領域(図10)を採用することにより、半導体回路が未使用であるか否かを検知する。
【0014】
後で述べるが、外部インターフェース230は、試験ステーション260に、又は、例えば適切なインストラクションを表示する事前に設定された値を有するバイトの流れの様なプロセッサ220によって実行されるインストラクションの流れを提供する別のコンピュータ処理装置に、随意的に接続してもよい。試験テーション260は、図3に関連付けて後に詳しく説明するやり方で、外部インターフェース230を使って半導体回路200と通信する。一般的に、試験ステーション260は、実施しなければならない特定のインストラクションを示すコマンドを、外部インターフェース230を通して半導体回路200に発行する。この様にして、半導体回路200は初期化され、不揮発性メモリ240にアプリケーションソフトウェアがロードされる。プロセッサ220は、初期化が完了するまで外部インターフェース230からインストラクションを継続的に入手するが、この初期化完了は、例えば、試験ステーション260により発行される或る予め規定されたインストラクション又はパターンにより、又は半導体回路200から電力を取り去る様な他の方法により、表示されるようにしてもよい。
【0015】
図3は、試験ステーション260によって実施される、初回使用時初期化プロセス300の代表的な実施例を説明するフローチャートである。図3に示すように、試験ステーション260は、ステップ310で、先ず試験対象の半導体回路に電力を供給して既知の状態にリセットする。その後、ステップ315で試験が行われ、半導体回路220が未使用状態にあるか否か判定される。試験ステーション260は、例えば、外部インターフェース230上で半導体回路200と通信することにより、半導体回路200が未使用状態にあるか否か判定することができる。半導体回路200から有効な回答を受信した場合、試験ステーション260は、半導体回路200が未使用状態であり、試験ステーション260から初期化のためのインストラクションを入手しているものと想定することができる。変形例としては、未使用状態検知回路400が、試験ステーション260がアクセスできるフラグ又は他のインジケータを設定して、半導体回路200が未使用状態であるという表示を提供するようにしてもよい。
【0016】
ステップ315で、半導体回路200が未使用状態にないと判定された場合、プログラム制御は終了するか、又はステップ318で別のフローに分岐し、例えば使用済みの半導体回路の試験を実行する。しかしながら、ステップ315で、半導体回路が未使用状態であると判定された場合、プログラム制御は、未使用の半導体回路200を初期化又は試験(或いは両方)するためにステップ320に進む。
【0017】
ここで、初回使用時初期化プロセス300は、ステップ320で、半導体回路200を初期化するために外部インターフェース230でプロセッサ220にインストラクションの流れを送る。その後、初回使用時初期化プロセス300は、ステップ325で、例えば半導体回路200の各種特徴と機能を試験することを含め、初期化手続きを行う。
【0018】
次いで、ステップ330で、不揮発性メモリに以降の実行のための適切なコードがロードされる(これまでのコードはパターン試験プロセスの間に上書きされているため)。最後に、試験ステーション260は、ここに説明したやり方で、エミュレートされたEEPROMメモリアレイ200の未使用状態が永久的に抹消されていることを保証する。その後、ステップ340でプログラム制御は終了する。
【0019】
なお、代表的な初回使用時初期化処理300は、外部試験ステーション260により実行される試験実施機能を組み込んでいるが、当業者には自明のように、半導体回路200の試験の幾つか又は全ては、実際には半導体回路200に内蔵されている試験実施機能で実行してもよい。
【0020】
未使用状態検知
これまでに示したように、未使用状態検知回路400は、いつ半導体回路200が初めて始動されて初期化されたかを検知し、その後、半導体回路200がもはや未使用ではなくなったという表示を提供する。後で詳しく論じるが、一般的に、未使用状態検知回路400は、半導体回路200がこれまで未使用であったか否かを検知するため、不揮発性メモリアレイの状態を使用する。本発明は、不揮発性メモリセルの特定の状態が未知であること、即ちセルが充電済みか未充電であるか未知であることを認識している。本発明は、不揮発性メモリセルが充電済みか未充電であるかとは関係なく、半導体回路200がこれまで未使用であったか否かを判定する方法を提供する。
【0021】
或る代表的な実施形態では、後に図4及び図5に関連付けて詳しく説明するが、本発明は、不揮発性メモリセルの専用ミニアレイ500を使って、半導体回路200がこれまで未使用であるか否かを判定する。不揮発性メモリセルのアレイ500は、プログラムする及び消去する、のそれぞれに対応する2つのアクティブビットライン、blprgとbler、を含んでいる。第1のビットラインblprgは、プログラム可能なだけで、消去はできない。第2のビットラインblerは、消去可能なだけで、プログラムはできない。
【0022】
一般的に、不揮発性メモリアレイ500の全てのビットは、初期には略同一状態にあり、消去することも、プログラムすることも、或いはその中間とすることもできる。ビットラインの1つにオフセット電流を加え、オフセットされたビットラインをオフセットされていないビットラインと比較すると、差を検知することができる。電流差を利用して、例えば、ビットランがいつ消去されたかを表示することができる。オフセット電流は、概略、プログラムされた素子と消去された素子の間の電流準位に設定すればよい。例えば、プログラムされた状態のセルが5μAを引き、消去された状態のセルが50μAを引く場合には、オフセット電流は、図5に示すようにビットライン当たり2つのセルを使用している実施形態の場合、約45μAとすればよい(2つのセルの100μAから2つのセルの10μAを引いて2で割る)。また、本技術及び他の情報によれば、オフセット電流は、プログラム済みの状態又は消去済みの状態の何れかに有利に斜行させることもできる。
【0023】
不揮発性メモリアレイ500のビット全てが初期に略同一状態にある場合、これは未使用状態とみなされる。その後、オフセットされたビットラインのビットがプログラムされ、オフセットされなかったビットラインのビットが消去されることになる。この点について、同一ビットラインは、消去されたビットとプログラムされたビットの間の電流差は印加されるオフセット電流よりも大きいので、プログラム済又は使用済みと感知されることになる。不揮発性メモリ500の消去及びプログラムのオペレーションは、通常の不揮発性メモリアレイ240のタイミング及び電圧と同じタイミングと電圧を使用する。
【0024】
図4は、図2の未使用状態検知回路400の1つの考えられる実施形態を示す概略ブロック図である。図4に示すように、未使用状態検知回路400は、後で図5に関連付けて詳しく説明する不揮発性メモリアレイ500と、後で図6に関連付けて詳しく説明する未使用状態評価回路600と、後で図7に関連付けて詳しく説明するプログラムバイアス回路700と、後で図8に関連付けて詳しく説明するワードライン/ソースラインドライバ800と、後で図9に関連付けて詳しく説明する制御信号発生器900を含んでいる。未使用状態検知回路400は、半導体回路200が初めて始動されて、未使用状態検出が永久的に抹消されるまで、未使用フラグ表示を生成する。その後、未使用状態検知回路400は、半導体回路200がもはや未使用ではないという表示を提供する。
【0025】
図5は、本発明の特徴を組み込んだ代表的不揮発性メモリアレイ500の回路図である。なお、ここに使用している符号は1つの考えられる不揮発性メモリ技術の場合であり、当業者には自明のように、実際にはどの様な不揮発性メモリ技術を使用してもよい。図5に示すように、不揮発性メモリアレイ500は、2つのアクティブビットライン、blprogとblerase、を含んでいる。不揮発性メモリアレイ500は、複数のトランジスタを含んでいる。第1トランジスタ対510は、プログラムしかできず、消去はできない。第2トランジスタ対520は、消去しかできず、プログラムはできない。不揮発性メモリアレイ500のプログラムトランジスタと消去トンランジスタ510、520は、それぞれ、ドレインにビットライン入力blprg及びblerを介してアクセスし、ゲートにワードライン入力wlprgを介してアクセスし、ソースにソースライン入力srcprgとsrcerを介してアクセスするように、構成されている。プログラムトランジスタ510は、未使用状態を取り除くようにプログラムされる。同様に、消去トランジスタ520は、未使用状態を取り除くために消去される。なお、両トランジスタ510、520は、この代表的な実施形態では、製造時に生じ得る奇数/偶数効果を平均するために、プログラム及び消去のオペレーションそれぞれについて使用される。しかしながら、個別トランジスタ又はトランジスタのセットも採用することができるが、この点は当業者には自明であろう。
【0026】
作動時、半導体回路200が始めて始動され初期化される前(即ち、半導体回路200が未使用であるとき)には、2つのプログラムトランジスタ510と2つの消去トランジスタ520は、略同一状態にあって、消去することも、プログラムすることも、又はその中間とすることもでき、また、感知時の電流量は等しくなっている。プログラムトランジスタ510は、ソースプログラムラインsrcprgに高電圧(例えば10V)、ワードラインプログラムwlprgに選択電圧(例えば1.5V)、及びビットラインプログラムblprgに低電流シンク(例えば2μA)を印加することによりプログラムすることができる。一旦プログラムされると、プログラムトランジスタ510は、感知の間は電流を供給しない。
【0027】
消去トランジスタ520は、ワードライン消去wlerに高電圧(例えば13V)を印加し、ソースライン消去srcerとビットライン消去blerに接地電流を印加することにより消去される。一旦消去されると、消去トランジスタ520は、感知の間に、例えばそれぞれ35μA程度の有効電流を供給する。
【0028】
エッジ効果を防ぐために、不揮発性メモリアレイ500は、随意的に、複数の追加トランジスタとこれらに付帯するビットライン(図示せず)を備えており、2つのアクティブなトランジスタ及びビットライン、BLprogとBlerase、が、既知のやり方で、一様になるようにしてもよい。別の変形例では、プログラムビットラインのトランジスタ540のビットラインは、それらのビットライン接点がプログラムトランジスタ510に影響しないように、それら接点を取り除いている。同じように、消去ビットラインのトランジスタ530のビットラインは、それらのビットライン接点が消去トランジスタ520に影響しないように、それら接点を取り除いている。
【0029】
図6は、本発明の特徴を組み込んだ代表的な未使用状態評価回路600の回路図である。図6に示すように、未使用状態評価回路600は、差動対630の入力MN10 620を供給する第1カスコード増幅器構造610を含んでいる。第2カスコード増幅器構造640は、差動対630の入力MN11 650を供給する。
【0030】
先に示した様に、一方のビットラインにオフセット電流を追加し、オフセットされたビットラインをオフセットされていないビットラインと比較したときに、差が検知できるようにする。オフセット電流は、一組のトランジスタ660により発生する。第1カスコード増幅器構造610は、ビットライン消去入力blerの電流を電圧に変換する。第2カスコード増幅器構造640は、ビットラインプログラム入力blprgの電流とオフセット電流の和を電圧に変換する。この様にして、カスコード増幅器構造610、640は、差動対630と共に、ビットラインプログラム入力及びビットライン消去入力の電流を比較する。
【0031】
バイアス入力sabiasは、2段階の未使用状態評価回路600にバイアスを掛けるアナログ電圧準位を提供する。感知入力snsは、不揮発性メモリセル500内部のセルの状態を感知できるようにする制御信号である。例えば、不揮発性メモリアレイ500は、半導体回路200がリセット又は始動されるといつでも使用可能にすることができる。
【0032】
メモリセルを感知するための適した技法のもっと詳細な説明は、例えば、本願の譲受人に譲渡され本願に参考文献として援用している、Soward他に発行された米国特許第6,219,291号を参照されたい。概説すれば、メモリセルを感知するための開示されている技法は、対応する電流消費量に基づいてロジックレベルを感知する感知増幅器を含んでいるロジックレベル検知回路を採用している。
【0033】
図7は、本発明の特徴を組み込んだ代表的なプログラムバイアス回路700の回路図である。プログラムバイアス回路700は、プログラム時にビットラインに電流と電圧を供給する。プログラムバイアス回路700は、確実に、不揮発性メモリアレイ500のプログラムトランジスタライン510上のトランジスタだけがプログラムされ、不揮発性メモリアレイ500の消去トランジスタライン520はプログラムされないようにする。
【0034】
図7に示すように、入力prgとerは、プログラムモード及び消去モード時は高い。両方の入力prgとerが共に低い場合には、プログラムバイアス回路700はノーマルモードであり、ビットラインプログラムラインにもビットライン消去ラインにもバイアス又は影響を及ぼさない。電流ミラー710は、既知のバイアス電流を発生させるが、この代表的な実施形態では2μA程度である。バイアス電流はトランジスタ730を通過する。
【0035】
プログラムモードでは、即ちprgラインが高い時には、トランジスタ750は使用可能であり、ビットライン消去出力(bler)をVddに引き上げる。同様に、消去モードでは、即ちerラインが高いときには、トランジスタ740は使用可能であり、ビットラインプログラム出力(blprg)をVddに引き上げる。
【0036】
図8は、本発明の特徴を組み込んだ代表的なワードライン/ソースラインドライバを示す回路図である。図8に示すように、ワードライン/ソースラインドライバ800は、プログラムワードラインドライバ810、プログラムソースラインドライバ820、消去ワードラインドライバ830、及び消去ソースラインドライバ840を含んでいる。
【0037】
ドライバは、プログラムモード及び消去モード時に、ワード及びソースラインに関連付けて示された端末に、適切な条件を与える。或る具体的な技法の場合、電圧は以下のとおりである。
繰り返すが、各トランジスタのドレインターミナルは、ビットライン入力blprg及びblerを介してアクセスされ、ゲートターミナルは、ワードライン入力wlprg及びwlerを介してアクセスされ、ソースターミナルは、ソースライン入力srcprg及びsrcerを介してアクセスされる。従って、ドライバ810はプログラムモード時にワードラインに1.5Vを送り、ドライバ820はプログラムモード時にソースラインに10Vを送り、ドライバ830は消去モード時にワードラインに12Vを送り、ドライバ840は消去モード時にソースラインを接地する。
【0038】
図9は、本発明の特徴を組み込んだ代表的な制御信号発生器900の回路図である。図4に示すように、制御信号発生器900で生成された制御信号は、ワードライン/ソースラインドライバ800に供給される。図9に示すように、制御信号発生器900は、不揮発性メモリがプログラムモード、感知モード、又は消去モードにあるか否かを表示する論理値を受信し、ワードライン/ソースラインドライバ800に掛けられる適切な出力信号を生成する。図8のワードライン/ソースラインドライバ800は、生成された信号を使用して、プログラムモード及び消去モード時にワードライン及びソースラインに関係付けられたトランジスタターミナルに適切な条件を提供する。
【0039】
図10は、図2の未使用状態検知回路400の代わりの実施形態で使用するのに適した概略ブロック図である。図10に示すように、代わりの未使用状態検知回路1000は、一組のアレイデコーダ1010、不揮発性メモリアレイ1020、感知増幅器1030、パターン比較器1040、アドレス及び制御信号発生器1050、及び基準電流発生器1060を含んでいる。
【0040】
NVMアレイ内のバイトと基準電流の比較
この変形例では、通常の不揮発性メモリアレイ240内の1つ又は複数の専用バイトが使用される。始動時、不揮発性メモリアレイ240に入ってくるデフォルトアドレス及び制御信号は、それら特定のバイトに関して読み出しが実行されるようにするものである。未使用状態では、このバイト中の全ビットはニュートラル状態にある。代表的な技術では、ニュートラル状態とは、セルが1から10μAの範囲の低い電流準位しか与えないような状態である。対照的に、完全に消去されたセルは40μAを提供し、プログラム済みのセルは0μA提供する。従って、これらニュートラルのセルが、消去されたビットを感知するように設定されている基準電流(ブロック1060により生成される)との比較において感知されると、それらビットは全てプログラム済みとして読み出されることになる。この変形例の場合、全ビットがプログラム済みとして読み出されたということで、未使用状態とみなされる。その後、それらのバイトは消去される(しかし、決してプログラムされることはない)。この時点で、同じ基準電流と比較した場合、それらビットは「消去済み」又は使用済みとして読み出される。
【0041】
ブロック1060により生成された基準電流は、ニュートラル(未使用)状態のセル電流と消去済み状態のセル電流の略中間の準位に設定すればよい。この電流設定にはいくつかの方法が使用できる。一般的な方法を2つ挙げると、電流ソースを使用する方法と、基準アレイを使用する方法である。
【0042】
NVMアレイ内のバイトと事前設定値との比較
この変形例では、通常の不揮発性メモリアレイ240内の単数又は複数のバイトが使用される。始動時、不揮発性メモリアレイ240に入ってくるデフォルトアドレス及び制御信号は、それら特定のバイトに関して読み出しが行われるようにするものである。未使用状態では、それらバイト内の全ビットは充電済みか未充電状態であるが、全て同様の状態又は少なくとも一様なパターンになっている。感知されたとき、それらバイトは、パターン比較回路1040の中で比較のために選択されたランダムパターンと一致しないはずである。これは、未使用状態を表している。その後、バイトを消去して、特定のパターンにプログラムすることもできる。この時点で、比較器1040は真と読み、これは使用済み状態を示す。単に消去して特定のパターンをバイトにプログラムすることにより、未使用状態を取り除くことができる。
【0043】
更に、図2の未使用状態検知回路400は、上記実施形態の何れか1つだけに依存していなくともよい。事実、当業者には自明のように、2つ又はそれ以上の実施形態を組み合わせて、図2の未使用状態検知回路400の機能を実現することもできる。これは、2つ又はそれ以上の実施形態の出力にOR機能を付け加えて、未使用状態を検知する何れの実施形態又はその組み合わせであっても使用可能となり、OR出力が未使用状態を発信するようにすることによって、簡単に実現することができる。
【0044】
以上、これまで示し説明してきた実施形態及び変更例は、本発明の原理を説明することだけを目的としており、当業者であれば、本発明の範囲と精神から逸脱することなく、各種変更を実施できるものと理解頂きたい。
【図面の簡単な説明】
【0045】
【図1】従来の半導体回路の概略ブロック図である。
【図2】本発明の特徴を組み込んだ半導体回路の概略ブロック図である。
【図3】図2の試験ステーションによって実施される、初めて使用する場合の初期化処理の代表的実施例を説明するフローチャートである。
【図4】図2の未使用状態検知回路の概略ブロック図である。
【図5】図4の不揮発性メモリアレイの代表例を示す回路図である。
【図6】図4の未使用状態評価回路の代表例を示す回路図である。
【図7】図4のプログラムバイアス回路の代表例を示す回路図である。
【図8】図4のワードライン/ソースライン・ドライバの代表例を示す一組の回路図である。
【図9】図4の制御信号発生器の代表例を示す回路図である。
【図10】図4の未使用状態検知回路の代わりの実施形態による、使用に適した概略ブロック図である。
【特許請求の範囲】
【請求項1】
半導体回路において、
1つ又はそれ以上のインストラクションを実行するためのプロセッサと、
メモリ素子と、
前記半導体回路が未使用であるか否かを判定するための回路と、を備えていることを特徴とする半導体回路。
【請求項2】
前記半導体回路の初期化が済むと、確実に、前記未使用状態が永久的に抹消される手段を更に備えていることを特徴とする請求項1に記載の半導体回路。
【請求項3】
前記回路は、前記未使用状態の前記検知に応じて、前記半導体回路の試験を開始することを特徴とする請求項1に記載の半導体回路。
【請求項4】
前記回路は、前記未使用状態の前記検知に応じて、前記半導体回路の初期化を開始することを特徴とする請求項1に記載の半導体回路。
【請求項5】
前記半導体回路を初期化するための複数のインストラクションを受信するための外部インターフェースを更に備えていることを特徴とする請求項4に記載の半導体回路。
【請求項6】
前記回路は、前記回路が未使用であるか否かを検知するために、不揮発性メモリアレイの状態を使用することを特徴とする請求項1に記載の半導体回路。
【請求項7】
前記回路は、未使用状態の検知に使用するための専用ミニアレイ型不揮発性メモリセルを備えていることを特徴とする請求項1に記載の半導体回路。
【請求項8】
前記専用ミニアレイ型不揮発性メモリセルは、「プログラムする」と「消去する」に対応する少なくとも2つのアクティブビットラインblprgとblerを含んでおり、前記第1ビットラインblprgはプログラムすることができるだけであり、前記第2ビットラインblerは消去することができるだけであることを特徴とする請求項7に記載の半導体回路。
【請求項9】
前記専用ミニアレイ型不揮発性メモリ内の前記セルは、初期には略同一状態にあり、前記未使用状態は、前記少なくとも2つのアクティブビットラインblprgとblerを感知することによって検知されることを特徴とする請求項8に記載の半導体回路。
【請求項10】
いつ前記半導体回路が始めて使用されたかを検知するために、前記少なくとも2つのアクティブビットラインblprgとblerの一方にオフセット電流が加えられることを特徴とする請求項8に記載の半導体回路。
【請求項11】
前記メモリ素子は不揮発性メモリアレイであり、前記回路は前記不揮発性メモリアレイの専用領域を備えていることを特徴とする請求項1に記載の半導体回路。
【請求項12】
前記専用領域内の1つ又はそれ以上の専用バイトは基準電流と比較されることを特徴とする請求項11に記載の半導体回路。
【請求項13】
前記専用領域内の1つ又はそれ以上の専用バイトは、前記半導体回路が未使用の場合にはニュートラル状態にあり、前記半導体回路の使用済み状態は、前記1つ又はそれ以上の専用バイトによって生成された電流を評価することにより検知されることを特徴とする請求項12に記載の半導体回路。
【請求項14】
前記専用領域内の1つ又はそれ以上の専用バイトは事前に定義されたパターンと比較されることを特徴とする請求項11に記載の半導体回路。
【請求項15】
前記専用領域内の1つ又はそれ以上の専用バイトは、使用済み状態を表示するのに消去はできるが決してプログラムされることはないことを特徴とする請求項11に記載の半導体回路。
【請求項16】
前記専用領域内の1つ又はそれ以上の専用バイトは、前記半導体回路が使用されるまでは、事前に定義されたパターンに一致しない一様なパターンを有していることを特徴とする請求項14に記載の半導体回路。
【請求項17】
前記回路は、前記半導体回路が未使用であるか否かを検知するための前記回路を複数個更に備えており、前記複数の回路は、それぞれ、出力を有し、前記半導体回路が未使用であるか否かを判定するためORゲートを更に備えていることを特徴とする、請求項1に記載の半導体回路。
【請求項18】
半導体回路を試験するための方法において、
前記半導体回路がこれまで未使用であったか否かを検知する段階と、
前記検知する段階に応じて前記半導体回路の試験を開始する段階と、から成ることを特徴とする方法。
【請求項19】
前記半導体回路の試験が済むと、確実に、前記未使用状態が抹消される段階を更に含んでいることを特徴とする請求項18に記載の方法。
【請求項20】
前記検知する段階は、前記半導体回路が未使用であるか否かを示す回路を評価する段階を更に含んでいることを特徴とする請求項18に記載の方法。
【請求項21】
前記検知する段階は、前記半導体回路に内蔵された未使用状態検知回路を評価する段階を更に含んでいることを特徴とする請求項18に記載の方法。
【請求項22】
半導体回路を初期化するための方法において、
前記半導体回路がこれまで未使用であったか否かを検知する段階と、
前記検知に応じて前記半導体回路を初期化する段階と、から成ることを特徴とする方法。
【請求項23】
前記半導体回路の初期化が済むと、確実に、前記未使用状態が抹消される段階を更に含んでいることを特徴とする請求項22に記載の方法。
【請求項24】
前記検知する段階は、前記半導体回路が未使用であるか否かを示す回路を評価する段階を更に含んでいることを特徴とする請求項22に記載の方法。
【請求項25】
前記半導体回路を初期化するための複数のインストラクションを外部インターフェースから受信する段階を更に含んでいることを特徴とする請求項22に記載の方法。
【請求項26】
前記検知する段階は、前記半導体回路に内蔵された未使用状態検知回路を評価する段階を更に含んでいることを特徴とする請求項22に記載の方法。
【請求項1】
半導体回路において、
1つ又はそれ以上のインストラクションを実行するためのプロセッサと、
メモリ素子と、
前記半導体回路が未使用であるか否かを判定するための回路と、を備えていることを特徴とする半導体回路。
【請求項2】
前記半導体回路の初期化が済むと、確実に、前記未使用状態が永久的に抹消される手段を更に備えていることを特徴とする請求項1に記載の半導体回路。
【請求項3】
前記回路は、前記未使用状態の前記検知に応じて、前記半導体回路の試験を開始することを特徴とする請求項1に記載の半導体回路。
【請求項4】
前記回路は、前記未使用状態の前記検知に応じて、前記半導体回路の初期化を開始することを特徴とする請求項1に記載の半導体回路。
【請求項5】
前記半導体回路を初期化するための複数のインストラクションを受信するための外部インターフェースを更に備えていることを特徴とする請求項4に記載の半導体回路。
【請求項6】
前記回路は、前記回路が未使用であるか否かを検知するために、不揮発性メモリアレイの状態を使用することを特徴とする請求項1に記載の半導体回路。
【請求項7】
前記回路は、未使用状態の検知に使用するための専用ミニアレイ型不揮発性メモリセルを備えていることを特徴とする請求項1に記載の半導体回路。
【請求項8】
前記専用ミニアレイ型不揮発性メモリセルは、「プログラムする」と「消去する」に対応する少なくとも2つのアクティブビットラインblprgとblerを含んでおり、前記第1ビットラインblprgはプログラムすることができるだけであり、前記第2ビットラインblerは消去することができるだけであることを特徴とする請求項7に記載の半導体回路。
【請求項9】
前記専用ミニアレイ型不揮発性メモリ内の前記セルは、初期には略同一状態にあり、前記未使用状態は、前記少なくとも2つのアクティブビットラインblprgとblerを感知することによって検知されることを特徴とする請求項8に記載の半導体回路。
【請求項10】
いつ前記半導体回路が始めて使用されたかを検知するために、前記少なくとも2つのアクティブビットラインblprgとblerの一方にオフセット電流が加えられることを特徴とする請求項8に記載の半導体回路。
【請求項11】
前記メモリ素子は不揮発性メモリアレイであり、前記回路は前記不揮発性メモリアレイの専用領域を備えていることを特徴とする請求項1に記載の半導体回路。
【請求項12】
前記専用領域内の1つ又はそれ以上の専用バイトは基準電流と比較されることを特徴とする請求項11に記載の半導体回路。
【請求項13】
前記専用領域内の1つ又はそれ以上の専用バイトは、前記半導体回路が未使用の場合にはニュートラル状態にあり、前記半導体回路の使用済み状態は、前記1つ又はそれ以上の専用バイトによって生成された電流を評価することにより検知されることを特徴とする請求項12に記載の半導体回路。
【請求項14】
前記専用領域内の1つ又はそれ以上の専用バイトは事前に定義されたパターンと比較されることを特徴とする請求項11に記載の半導体回路。
【請求項15】
前記専用領域内の1つ又はそれ以上の専用バイトは、使用済み状態を表示するのに消去はできるが決してプログラムされることはないことを特徴とする請求項11に記載の半導体回路。
【請求項16】
前記専用領域内の1つ又はそれ以上の専用バイトは、前記半導体回路が使用されるまでは、事前に定義されたパターンに一致しない一様なパターンを有していることを特徴とする請求項14に記載の半導体回路。
【請求項17】
前記回路は、前記半導体回路が未使用であるか否かを検知するための前記回路を複数個更に備えており、前記複数の回路は、それぞれ、出力を有し、前記半導体回路が未使用であるか否かを判定するためORゲートを更に備えていることを特徴とする、請求項1に記載の半導体回路。
【請求項18】
半導体回路を試験するための方法において、
前記半導体回路がこれまで未使用であったか否かを検知する段階と、
前記検知する段階に応じて前記半導体回路の試験を開始する段階と、から成ることを特徴とする方法。
【請求項19】
前記半導体回路の試験が済むと、確実に、前記未使用状態が抹消される段階を更に含んでいることを特徴とする請求項18に記載の方法。
【請求項20】
前記検知する段階は、前記半導体回路が未使用であるか否かを示す回路を評価する段階を更に含んでいることを特徴とする請求項18に記載の方法。
【請求項21】
前記検知する段階は、前記半導体回路に内蔵された未使用状態検知回路を評価する段階を更に含んでいることを特徴とする請求項18に記載の方法。
【請求項22】
半導体回路を初期化するための方法において、
前記半導体回路がこれまで未使用であったか否かを検知する段階と、
前記検知に応じて前記半導体回路を初期化する段階と、から成ることを特徴とする方法。
【請求項23】
前記半導体回路の初期化が済むと、確実に、前記未使用状態が抹消される段階を更に含んでいることを特徴とする請求項22に記載の方法。
【請求項24】
前記検知する段階は、前記半導体回路が未使用であるか否かを示す回路を評価する段階を更に含んでいることを特徴とする請求項22に記載の方法。
【請求項25】
前記半導体回路を初期化するための複数のインストラクションを外部インターフェースから受信する段階を更に含んでいることを特徴とする請求項22に記載の方法。
【請求項26】
前記検知する段階は、前記半導体回路に内蔵された未使用状態検知回路を評価する段階を更に含んでいることを特徴とする請求項22に記載の方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【公表番号】特表2006−513495(P2006−513495A)
【公表日】平成18年4月20日(2006.4.20)
【国際特許分類】
【出願番号】特願2004−566633(P2004−566633)
【出願日】平成15年12月29日(2003.12.29)
【国際出願番号】PCT/US2003/041590
【国際公開番号】WO2004/063756
【国際公開日】平成16年7月29日(2004.7.29)
【出願人】(505261324)エモーシン アメリカ インコーポレイテッド (1)
【Fターム(参考)】
【公表日】平成18年4月20日(2006.4.20)
【国際特許分類】
【出願日】平成15年12月29日(2003.12.29)
【国際出願番号】PCT/US2003/041590
【国際公開番号】WO2004/063756
【国際公開日】平成16年7月29日(2004.7.29)
【出願人】(505261324)エモーシン アメリカ インコーポレイテッド (1)
【Fターム(参考)】
[ Back to top ]