(57)【要約】【課題】本発明は、コード生成装置及びＯＴＰメモリブロックを提供する。【解決手段】本発明のコード生成装置は、複数の第１ワンタイムプログラミング（ＯＴＰ）メモリセルと、基準信号プロバイダと、センスアンプと、を備える。第１ＯＴＰメモリセルは第１ビット線に接続されている。基準信号プロバイダは基準信号を供給する。第１ＯＴＰメモリセルのうち少なくとも１つが第１ビット線に読み出し電流を供給し、センスアンプが読み出し電流と基準信号とを比較することで出力コードを生成する。基準信号の電流値は所定の範囲内に設定され、当該範囲は最大ビットカウントに対応するビット電流によって設定され、出力コードは少なくとも１つのＯＴＰメモリセルの製造上の変動によって決定される。【選択図】図１
2017041295.tif 000002
【特許請求の範囲】
【請求項１】
第１ビット線に接続された複数の第１ワンタイムプログラミング（ＯＴＰ）メモリセルと、
基準信号を供給する基準信号プロバイダと、
前記第１ビット線及び前記基準信号プロバイダに接続されたセンスアンプと、を備えるコード生成装置であって、
少なくとも１つの前記第１ＯＴＰメモリセルが前記第１ビット線に読み出し電流を供給し、前記センスアンプが前記読み出し電流と前記基準信号とを比較することで出力コードを生成し、
前記基準信号の電流値が所定の範囲内に設定され、前記範囲は前記第１ＯＴＰメモリセルの複数のビット電流と複数のビットカウントとの関係に応じて定まり、前記範囲は最大ビットカウントに対応するビット電流によって設定され、前記出力コードは少なくとも１つの前記第１ＯＴＰメモリセルの製造上の変動によって決定される、コード生成装置。
【請求項２】
各前記ＯＴＰメモリセルが順に前記読み出し電流を供給し、前記センスアンプが順に前記読み出し電流と前記基準信号とを比較することにより複数のビットを有する前記出力コードを生成する、請求項１に記載のコード生成装置。
【請求項３】
前記センスアンプの出力端に接続されたエンコーダであって、前記出力コードのビットをコード化することでコード化出力コードを生成するエンコーダをさらに備える、請求項２に記載のコード生成装置。
【請求項４】
前記基準信号プロバイダは前記基準信号を調整し、前記出力コードは前記基準信号に対応する前記センスアンプにより調整される、請求項１から３のいずれか一項に記載のコード生成装置。
【請求項５】
第２ビット線に接続された複数の第２ワンタイムプログラミング（ＯＴＰ）メモリセルと、
前記第１ビット線に接続された第１入力端、前記第２ビット線に接続された第２入力端、及び前記センスアンプに接続された出力端を有するスイッチと、をさらに備え、
前記スイッチは、前記第１ビット線又は前記第２ビット線を選択してセンスアンプに接続する、
請求項１から４のいずれか一項に記載のコード生成装置。
【請求項６】
各前記第１ＯＴＰメモリセルが、
前記第１ビット線に接続された第１端及びワード線信号を受信する制御端を有するパストランジスタと、
前記パストランジスタの第２端に接続された第１端、プログラミング信号を受信する制御端、及びフローティングした第２端を有するトランジスタキャパシタと、
を備える請求項１から５のいずれか一項に記載のコード生成装置。
【請求項７】
各前記第１ＯＴＰメモリセルが、
二重のゲート酸化膜厚を有し、また前記第１ビット線に接続された第１端、ワード線信号を受信する制御端、及びフローティングした第２端を有するトランジスタ
を備える請求項１から６のいずれか一項に記載のコード生成装置。
【請求項８】
前記第１ＯＴＰメモリセルは全てプログラミングされたＯＴＰメモリセルである、請求項１から７のいずれか一項に記載のコード生成装置。
【請求項９】
請求項１に記載の複数のコード生成装置を備え、
前記コード生成装置の第１部分は少なくとも１つの識別コードを供給する、
ワンタイムプログラミング（ＯＴＰ）メモリブロック。
【請求項１０】
前記コード生成装置の第２部分は少なくとも１つの乱数コードを供給する、請求項９に記載のＯＴＰメモリブロック。
【請求項１１】
前記コード生成装置の第３部分は通常のデータ保存に用いられる、請求項９又は１０に記載のＯＴＰメモリブロック。
【請求項１２】
前記ＯＴＰメモリブロックは少なくとも１つの複数回プログラミング（ＭＴＰ）メモリブロックにさらに接続されており、前記ＭＴＰメモリブロックは通常のデータ保存に用いられる、請求項９又は１０に記載のＯＴＰメモリブロック。
【請求項１３】
請求項１に記載の複数のコード生成装置を備え、
前記コード生成装置の第１部分は少なくとも１つの乱数コードを供給する、
ワンタイムプログラミング（ＯＴＰ）メモリブロック。
【請求項１４】
前記コード生成装置の第２部分は通常のデータ保存に用いられる、請求項１３に記載のＯＴＰメモリブロック。
【請求項１５】
各ワンタイムプログラミング（ＯＴＰ）メモリセルストリングは複数のＯＴＰメモリセルを備え、前記ＯＴＰメモリセルストリングはそれぞれ複数のビット線に接続されている、複数のＯＴＰメモリセルストリングと、
前記ビット線に接続されたスイッチと、
前記スイッチに接続されたセンスアンプと、を備えるコード生成装置であって、
前記複数のＯＴＰメモリセルは全てプログラミングされており、前記スイッチはビット線を２つ選択してそれぞれを前記センスアンプの第１入力端及び第２入力端に接続し、前記センスアンプは２つの選択されたビット線上の信号の違いを読み取ることで出力コードを生成し、
前記出力コードは２つの選択されたＯＴＰメモリセルの少なくとも１つの製造上の変動によって決定される、コード生成装置。
【請求項１６】
異なるＯＴＰメモリセルストリングにおける２つのＯＴＰメモリセルが選択されたビット線に２つの読み出し電流をそれぞれ供給し、前記センスアンプは前記読み出し電流を比較することで前記出力コードを生成する、請求項１５に記載のコード生成装置。
【請求項１７】
前記センスアンプの出力端に接続されたエンコーダであって、前記出力コードをコード化することでコード化出力コードを生成するエンコーダをさらに備える、請求項１５又は１６に記載のコード生成装置。
【請求項１８】
請求項１５に記載の複数のコード生成装置を備え、
前記コード生成装置の第１部分は少なくとも１つの識別コードを供給する、
ワンタイムプログラミング（ＯＴＰ）メモリブロック。
【請求項１９】
前記コード生成装置の第２部分は少なくとも１つの乱数コードを供給する、請求項１８に記載のＯＴＰメモリブロック。
【請求項２０】
前記コード生成装置の第３部分は通常のデータ保存に用いられる、請求項１９に記載のＯＴＰメモリブロック。
【請求項２１】
請求項１４に記載の複数のコード生成装置を備え、
前記コード生成装置の第１部分は少なくとも１つの乱数コードを供給する、
ワンタイムプログラミング（ＯＴＰ）メモリブロック。
【請求項２２】
複数のワンタイムプログラミング（ＯＴＰ）メモリセルのうちの少なくとも１つを選択し、選択されたＯＴＰメモリセルに応じて読み出し電流を供給するステップと、
前記ＯＴＰメモリセルの複数のビット電流と複数のビットカウントとの関係を決定するステップと、
最大ビットカウントに対応するビット電流により範囲を設定するステップと、
前記範囲にある所定の電流値にて基準信号を設定するステップと、
前記読み出し電流と前記基準信号とを比較することで物理的な複製防止機能の技術に用いられる出力コードを生成するステップと、を含み
前記出力コードは、前記選択されたＯＴＰメモリセルの製造上の変動によって決定される、
物理的な複製防止機能の技術に用いられる、出力コードを生成する方法。
【請求項２３】
複数のメモリセルを供給するステップと、
前記メモリセルを所定のプログラミングバイアス電圧でプログラミングするステップであって、前記プログラミングバイアス電圧は前記メモリセルの少なくとも１つの製造上の変動を拡大するように設定されるステップと、
少なくとも１つの前記メモリセルに応じてセキュリティコードを生成するステップと、
を含むセキュリティ情報を生成する方法。
【請求項２４】
前記セキュリティコードは物理的な複製防止機能の技術のコードである、請求項２３に記載のセキュリティ情報を生成する方法。
【請求項２５】
前記少なくとも１つのメモリセルに応じてセキュリティコードを生成するステップが、
前記メモリセルの複数のビット電流と複数のビットカウントとの関係を決定するステップと、
最大ビットカウントに対応するビット電流により範囲を設定するステップと、
前記範囲にある所定の電流値にて基準信号を設定するステップと、
前記メモリセルのうちの１つのメモリセルを選択し、前記選択されたメモリセルの読み出し電流と前記基準信号とを比較することでセキュリティコードを生成するステップとをさらに含み、
前記セキュリティコードは前記選択されたメモリセルの製造上の変動に応じて決定される、
請求項２３又は２４に記載のセキュリティ情報を生成する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコード生成装置に関する。本発明は、特に、複数のワンタイムプログラミング（ＯＴＰ）メモリセルを用いたコード生成装置に関する。
【背景技術】
【０００２】
昨今、電子機器は人々の生活における重要なツールとなっている。用途によっては、電子機器が、識別コード等の所定のコードを供給する必要がある。識別コードは、識別の生成が要求された場合には常に完全に一致する必要がある。そしてこの識別コードは、セキュリティ開示におけるＰＵＦ（物理的な複製防止機能）のようなコード化動作及び／又はデコード動作に用いることができる。場合によって、電子機器は、その適用のために１つ以上の乱数コードを要する。つまり、効率的なハードウェアを用いて、識別コード及び／又は乱数コードをいかにして供給するかは、当該技術分野において設計上の重要な方針でもある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明は、複数のＯＴＰセルの製造上の変動による出力コードを供給するための複数のコード生成装置及びコード生成方法を対象とする。
【課題を解決するための手段】
【０００４】
本発明はまた、識別コード及び乱数コードの少なくとも一方を供給するためのワンタイムプログラミング（ＯＴＰ）メモリブロックを対象とする。
【０００５】
本発明のコード生成装置は、複数の第１ワンタイムプログラミング（ＯＴＰ）メモリセルと、基準信号プロバイダと、センスアンプと、を備える。第１ＯＴＰメモリセルは第１ビット線に接続されている。基準信号プロバイダは基準信号を供給する。センスアンプは、第１ビット線及び基準信号プロバイダに接続されている。ここで、第１ＯＴＰメモリセルのうち少なくとも１つが第１ビット線に読み出し電流を供給し、センスアンプが読み出し電流と基準信号とを比較して出力コードを生成し、基準信号の電流値が所定の範囲内に設定され、当該範囲は第１ＯＴＰメモリセルの複数のビット電流と複数のビットカウントとの関係に応じて定まり、また当該範囲は最大ビットカウントに対応するビット電流によって設定され、出力コードは前記少なくとも１つのＯＴＰメモリセルの製造上の変動によって決定される。
【発明の効果】
【０００６】
本発明の別のコード生成装置は、複数のＯＴＰメモリセルストリングと、スイッチと、センスアンプと、を備える。各ＯＴＰメモリセルストリングは複数のＯＴＰメモリセルを備え、ＯＴＰメモリセルストリングはそれぞれ複数のビット線に接続されている。スイッチはビット線に接続されている。センスアンプはスイッチに接続されている。ここで、スイッチは２つのビット線を選択してそれぞれをセンスアンプの第１入力端及び第２入力端に接続し、センスアンプは２つの選択されたビット線上の信号の違いを読み取ることで出力コードを生成し、出力コードは２つの選択されたＯＴＰメモリセルの製造上の変動によって決定される。
【０００７】
本発明はＯＴＰメモリブロックを提供し、該ＯＴＰブロックは複数のコード生成装置を備え、コード生成装置の第１部分は少なくとも１つの識別コードを供給する。
【０００８】
本発明は別のＯＴＰメモリブロックを提供し、該ＯＴＰブロックは複数のコード生成装置を備え、該コード生成装置の第１部分は少なくとも１つの乱数コードを供給する。
【０００９】
本発明は出力コードを生成する方法を提供し、該出力コードは物理的な複製防止機能の技術に用いられる。当該方法は、複数のワンタイムプログラミング（ＯＴＰ）メモリセルのうち少なくとも１つを選択し、選択されたＯＴＰメモリセルに応じた読み出し電流を供給するステップと、ＯＴＰメモリセルの複数のビット電流と複数のビットカウントとの関係を決定するステップと、最大ビットカウントに対応するビット電流により範囲を設定するステップと、当該範囲にある所定の電流値にて基準信号を設定するステップと、を含む。ここで、出力コードは、選択されたＯＴＰメモリセルの製造上の変動に応じて決定される。
【００１０】
本発明はまた、出力コードを生成する方法を提供し、当該出力コードはセキュリティ情報である。当該方法は、複数のメモリセルを供給するステップと、メモリセルを所定のプログラミングバイアス電圧でプログラミングするステップであって、プログラミングバイアス電圧はメモリセルの少なくとも１つの製造上の変動を拡大するステップと、少なくとも１つのメモリセルに応じてセキュリティコードを生成するステップと、を含む。
【００１１】
上記のように、出力コードは各ＯＴＰメモリセルの製造上の変動によって決定することができ、出力コードはまた基準信号を調整することで調整することができる。つまり、コード生成装置によって生成された出力コードはコード生成装置のＯＴＰブロックのハードウェア固有の識別コードとして処理することができる。また、本発明のコード生成装置により乱数発生装置を実現することができる。
【００１２】
本発明に関する上述の特徴及び他の特徴及び利点を理解し得るように、以下にいくつかの例示的な実施形態を添付図面とともに詳述する。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態によるコード生成装置の回路図である。
【図２】本発明の別の実施形態によるコード生成装置の回路図である。
【図３】本発明の実施形態による基準信号Ｉrefを設定するためのスキームである。
【図４】本発明の実施形態による基準信号Ｉrefを設定するための別のスキームである。
【図５】プログラミング電圧、ビットカウント数、及びＯＴＰメモリセルによって供給された読み出し電流の関係を示すプロットである。
【図６】本発明の別の実施形態によるコード生成装置の回路図である。
【図７】７Ａは、本発明の一実施形態によるＯＴＰメモリセルの回路図である。７Ｂは、本発明の一実施形態によるＯＴＰメモリセルの上面図である。７Ｃは、本発明の一実施形態によるＯＴＰメモリセルの断面図である。
【図８】８Ａは、本発明の一実施形態によるワンタイムプログラミング（ＯＴＰ）メモリブロックのブロック図である。８Ｂは、本発明の別の実施形態によるワンタイムプログラミング（ＯＴＰ）メモリブロックのブロック図である。
【発明を実施するための形態】
【００１４】
添付図面は本発明をより理解するために含まれるものであり、本明細書に包含され、本明細書の一部を構成するものである。図面は本発明の実施形態を示し、明細書とともに本発明の原理を説明することを目的とするものである。
図１は、本発明の一実施形態によるコード生成装置の回路図を示す。コード生成装置１００は、複数のワンタイムプログラミング（ＯＴＰ）メモリセル１１１‐１１２と、基準信号プロバイダ１３０と、センスアンプＳＡと、を備える。ＯＴＰメモリセル１１１‐１１２は直列に接続されており、全てのＯＴＰメモリセル１１１‐１１２はビット線ＢＬ＿ｎに接続されている。センスアンプＳＡは２つの入力端を有しており、該センスアンプＳＡの一方の入力端はビット線ＢＬ＿ｎに接続され、該センスアンプＳＡのもう一方の入力端は基準信号プロバイダ１３０に接続されている。基準信号プロバイダ１３０はセンスアンプＳＡに基準信号Ｉrefを供給するところ、本実施形態においては、基準信号Ｉrefを基準電流とすることができる。センスアンプＳＡは、ビット線ＢＬ＿ｎ上の信号と基準信号Ｉrefとの違いを読み取ることで出力コードＯＣを生成するようにすることができる。
【００１５】
他方、本実施形態において、ＯＴＰメモリセル１１１‐１１２は、プログラミング動作のためのプログラミング信号ＡＦ＿ａ及びＡＦ＿ｂをそれぞれ受信し、また読み出し動作のためのワード線信号ＷＬ＿ａ及びＷＬ＿ｂをそれぞれ受信する。
【００１６】
コード生成装置１００の動作を詳細に記すと、ＯＴＰメモリセル１１１‐１１２は、まずプログラミング信号ＡＦ＿ａ及びＡＦ＿ｂによってプログラミングされる。プログラミング信号ＡＦ＿ａ及びＡＦ＿ｂは、所定のプログラムのバイアス電圧である。そして、出力コードＯＣを生成するのにコード生成装置１００を用いるとき、ＯＴＰメモリセル１１１は、第１期間におけるワード線信号ＷＬ＿ａに応じて電流をビット線ＢＬ＿ｎに供給することができ、センスアンプＳＡは第１期間におけるビット線ＢＬ＿ｎ上の電流と基準信号Ｉrefとの違いを読み取ることで出力コードＯＣを生成することができる。第２期間において、ＯＴＰメモリセル１１２は、第２期間におけるワード線信号ＷＬ＿ｂに応じて別の電流をビット線ＢＬ＿ｎに供給することができ、センスアンプＳＡはビット線ＢＬ＿ｎ上の別の電流と第２期間における基準信号Ｉrefとの違いを読み取ることで出力コードＯＣを生成することができる。ここで、第２期間中、ＯＴＰメモリセル１１１は、ビット線ＢＬ＿ｎへの電流を停止するようにすることができる。
【００１７】
直列に接続されたＯＴＰメモリセル１１１‐１１２をそれぞれオンにすることにより、直列に配された複数ビットを有する出力コードＯＣを生成し得ることは容易に理解できるであろう。いうまでもなく、ビット線ＢＬ＿ｎに接続されたＯＴＰメモリセルの数は２つに限定されず、１よりも大きな任意の整数Ｎとすることができる。
【００１８】
ＯＴＰメモリセル１１１及び１１２それぞれにより供給される電流の電流値は、ＯＴＰメモリセル１１１及び１１２それぞれのプロセス変動によって決定することができるものとする。例えば、ゲート酸化膜厚、ポリサイズ（poly  size）、接合部プロファイル、ビット線ＢＬ＿ｎ上の接触抵抗、ビット線ＢＬ＿ｎの金属ＣＤ（臨界距離）等である。また、ＯＴＰメモリセル１１１及び１１２それぞれが供給する電流の電流値は、ＯＴＰメモリセル１１１及び１１２が受信したプログラミング信号ＡＦ＿ａ及びＡＦ＿ｂの電圧値及びワード線信号ＷＬ＿ａ及びＷＬ＿ｂの電圧値等のプログラミング環境及びデータ読み出し環境によって決定することもできる。図５を参照すると、図５には、プログラミング電圧、ビットカウント数、及びＯＴＰメモリセルによって供給された読み出し電流の関係を示すプロットが示されている。曲線５１０‐５４０は、ビットカウント数と、プログラミング信号の異なる電圧値によってプログラミングされたＯＴＰメモリセルによって供給された対応する読み出し電流との関係曲線である。プログラミング信号の異なる電圧値を設定することで、読み出し電流広がりを狭くするか、又は広くするかを選択し得ることが理解されるであろう。例えば、固有の識別コードを生成するのにコード生成装置１００が用いられると、曲線５４０を選択することができ、プログラミング信号の電圧値は曲線５４０に応じて設定することができる。一方、乱数コードを生成するのにコード生成装置１００が用いられると、曲線５１０を選択することができ、プログラミング信号の電圧値は曲線５１０に応じて設定することができる。
【００１９】
本実施形態において、ＯＴＰメモリセル１１１はパストランジスタＰＴ１及びトランジスタキャパシタＣＴ１を備える。パストランジスタＰＴ１の第１端はビット線ＢＬ＿ｎに接続されており、パストランジスタＰＴ１の制御端はワード線信号ＷＬ＿ａを受信し、パストランジスタＰＴ１の第２端はトランジスタキャパシタＣＴ１の第１端に接続されている。また、トランジスタキャパシタＣＴ１の制御端はプログラミング信号を受信し、トランジスタキャパシタＣＴ１の第２端はフローティングとすることができる。
【００２０】
一方、出力コードＯＣは、基準信号プロバイダ１３０によって供給された基準信号Ｉrefの調整により調整することができる。図３を参照すると、図３には、本発明の実施形態による基準信号Ｉrefを設定するためのスキームが示されている。図３において、縦軸はコード生成装置におけるＯＴＰメモリセルのビットカウント数を示し、横軸は対応するＯＴＰメモリセルによって供給される電流値を示す。本実施形態において、ＯＴＰメモリセル１１１‐１１２の複数のビット電流と複数のビットカウントとの関係は、図３に示すように得ることができる。基準電流Ｉrefは図３における関係に応じて設定することができる。また、基準信号プロバイダ１３０は、基準信号Ｉrefを調整するのに、基準電流Ｉref_a、Ｉref_b、Ｉref_c、及びＩref_dのうちの１つを選択することができ、それに応じて出力コードＯＣを調整することができる。また、基準信号プロバイダ１３０は、基準信号Ｉrefを、順に基準電流Ｉref_a、Ｉref_b、Ｉref_c、及びＩref_dと等しくなるように設定することができ、直列に配された複数のビットを有する出力コードＯＣを生成することができる。
【００２１】
基準信号Ｉrefの電流値は一定の範囲内に設定することができ、当該範囲は最大ビットカウントＭＢＣ１に対応するビット電流ＳＢＣ１によって決定されるものとする。この範囲は、最大ビットカウントＭＢＣ１に対応するビット電流ＳＢＣ１を含むように設定することができ、当該範囲の幅はあらかじめ設定された値によって設定することができる。
【００２２】
本発明の他の実施形態において、コード生成装置１００は、乱数コードを供給するのに用いることもできる。図１及び図４を参照すると、図４は本発明の実施形態による基準信号Ｉrefを設定するための別のスキームを示す。図４において、縦軸はコード生成装置のＯＴＰメモリセルのビットカウント数を示し、横軸は対応するＯＴＰメモリセルによって供給されるビット電流の電流値を示す。基準信号プロバイダ１３０は基準信号Ｉrefの電流値を範囲ＩrefＲ内に設定することができ、当該範囲ＩrefＲは図４における最大ビットカウントＭＢＣ２に対応するビット電流ＳＢＣ２によって設定され、ビット電流ＳＢＣ２は範囲ＩrefＲの中央値とすることができる。基準信号Ｉrefの電流値を範囲ＩrefＲ内に設定することで、コード生成装置１００はＯＴＰメモリセル１１１‐１１２を繰り返し読み出すことで不安定な出力コードＯＣを供給することができ、乱数コードを得ることができる。図４における範囲ＩrefＲは図３における範囲より小さく、図４においては、範囲ＩrefＲは１０μＡよりも小さい。
【００２３】
幅の狭い範囲ＩrefＲを設定すると、センスアンプＳＡの比較結果は各ＯＴＰメモリセル１１１‐１１２の電気的特性の影響を受けやすく、各ＯＴＰメモリセル１１１‐１１２により供給されたビット電流が基準信号Ｉrefよりも大きいか否かは各ＯＴＰメモリセル１１１‐１１２のプロセス変動等の製造上の変動によって決定することができる。ＯＴＰメモリセル１１１‐１１２が所定のプログラミングバイアス電圧によってプログラミングされた場合にＯＴＰメモリセル１１１‐１１２の少なくとも１つの製造上の変動を拡大することができ、それに応じて出力コードをセキュリティコードとすることができることが分かる。また、ＯＴＰメモリセル１１１‐１１２のプログラミング動作はユーザにより操作することはできず、プログラミングされたＯＴＰメモリセル１１１‐１１２の電子的特性は変化させることができない。
【００２４】
つまり、出力コードＯＣはＯＴＰメモリセル１１１‐１１２のプロセスパラメータによって決定することができ、出力コードＯＣはユーザが修正することのできない識別コード及び／又はセキュリティコードとなるように用いることができる。このように、本発明の出力コードＯＣは物理的な複製防止機能に関する技術に用いることができる。
【００２５】
図２を参照すると、図２には本発明の別の実施形態によるコード生成装置の回路図が示されている。コード生成装置２００は、複数のＯＴＰメモリセル２１１−２１２及び２２１−２２２と、スイッチ２４０と、基準信号プロバイダ２３０と、センスアンプＳＡと、を備える。ＯＴＰメモリセル２１１−２１２は直列に接続され、ビット線ＢＬ＿ｎに接続されている。ＯＴＰメモリセル２２１−２２２は直列に接続され、別のビット線ＢＬ＿ｍに接続されている。図１のコード生成装置１００とは異なり、スイッチ２４０は、それぞれがビット線ＢＬ＿ｎ及びＢＬ＿ｍに接続された２つの入力端を有する。スイッチ２４０はまた、センスアンプＳＡに接続された出力端を有する。スイッチ２４０は、センスアンプＳＡに接続するのにビット線ＢＬ＿ｎ又はビット線ＢＬ＿ｍを選択するのに用いられる。ビット線ＢＬ＿ｎがセンスアンプＳＡに接続されている場合、ＯＴＰメモリセル２１１−２１２の１つがセンスアンプＳＡに電流を供給することができ、センスアンプＳＡはビット線ＢＬ＿ｎからの電流と基準信号Ｉrefとの違いを読み取ることで、出力コードＯＣを生成することができる。さらに、ビット線ＢＬ＿ｍがセンスアンプＳＡに接続されている場合、ＯＴＰメモリセル２２１−２２２の１つがセンスアンプＳＡに別の電流を供給することができ、センスアンプＳＡはビット線ＢＬ＿ｍからの電流と基準信号Ｉrefとの違いを読み取ることで、出力コードＯＣを生成することができる。
【００２６】
本実施形態において、コード生成装置２００はさらにエンコーダ２５０を備える。エンコーダ２５０はセンスアンプＳＡの出力端に接続され、出力コードＯＣを受信する。エンコーダ２５０は、出力コードＯＣをコード化して、コード化出力コードＥＯＣを生成することができる。なお、エンコーダ２５０は、出力コードＯＣの分野における当業者にとって周知なあらゆるコード化操作を行い、コード化出力コードＥＯＣを生成することができる。例えば、エンコーダ２５０は複数のビットを有する出力コードのパリティチェックを作動させてコード化出力コードＥＯＣを生成することができ、または、エンコーダ２５０は複数のビットを有する出力コード中の「１」（又は「０」）の数を数えてコード化出力コードＥＯＣを生成することができる。
【００２７】
ハードウェア固有のＩＤ作成のための出力コードＯＣの整合性を確保するため、エンコーダ２５０によって、はじめに、出力コードＯＣとともに１つ以上のＥＣＣビットを作成することができる。ＥＣＣビットはＯＴＰブロックに格納することができる。上述したＯＴＰブロックは、ＯＴＰメモリセル２１１−２１２及び２２１−２２２を有するＯＴＰブロックと同一であってもよく、また上述したＯＴＰブロックは、ＯＴＰメモリセル２１１−２１２及び２２１−２２２を有するＯＴＰブロックと異なっていてもよい。さらに、ハードウェア固有のＩＤ作成のための生成された出力コードＯＣの信頼性を確保するために、あらゆる書き換え動作からＯＴＰメモリセル２１１−２１２及び２２１−２２２を一度保護するのに、いくつかのセキュリティフラグを用いることもできる。フラグはＯＴＰメモリセル２１１−２１２及び２２１−２２２を有するＯＴＰブロックと同一のＯＴＰブロックに格納することもでき、または、フラグはＯＴＰメモリセル２１１−２１２及び２２１−２２２を有するＯＴＰブロックと異なる別のＯＴＰブロックに格納することもできる。
【００２８】
実施形態によっては、フラグはあらゆる読み出し動作からＯＴＰブロックを保護することにも用いることができる。つまり、フラグを用いることで、出力コードＯＣが権限なく読み出されることを防止できる。
【００２９】
エンコーダ２５０は１つ以上の論理ゲートによる論理回路とすることができ、または、エンコーダ２５０は１つ以上のコード化アルゴリズムを実行できるプロセッサによるものとすることもできる。
【００３０】
図６を参照すると、図６には本発明の別の実施形態によるコード生成装置の回路図が示されている。コード生成装置６００は、複数のＯＴＰメモリセルストリング６０１−６０Ａと、スイッチ６１０と、センスアンプＳＡと、エンコーダ６２０と、を備える。各ＯＴＰメモリセルストリング６０１−６０Ａは、複数のＯＴＰメモリセルを備える。例えば、ＯＴＰメモリセルストリング６０１はＯＴＰメモリセル６１１−６１２を備え、ＯＴＰメモリセルストリング６０ＡはＯＴＰメモリセル６３１−６３２を備える。また、ＯＴＰメモリセルストリング６０１−６０Ａはそれぞれ複数のビット線に接続されている。例えば、ＯＴＰメモリセルストリング６０１及び６０２はそれぞれビット線ＢＬ＿ｎ及びＢＬ＿ｎ＋１に接続されており、ＯＴＰメモリセルストリング６０Ａはビット線ＢＬ＿ｍに接続されている。スイッチ６１０はビット線ＢＬ＿ｎ、ＢＬ＿ｎ＋１．．．ＢＬ＿ｍに接続されており、スイッチ６１０はセンスアンプＳＡにも接続されている。スイッチ６１０は、センスアンプＳＡの第１入力端Ｉ１に接続するためにビット線ＢＬ＿ｎ、ＢＬ＿ｎ＋１．．．ＢＬ＿ｍのうちの１つを選択し、センスアンプＳＡの第２入力端Ｉ２に接続するためにビット線ＢＬ＿ｎ、ＢＬ＿ｎ＋１．．．ＢＬ＿ｍのうちのもう１つを選択する。
【００３１】
センスアンプＳＡは、２つの選択されたビット線上の信号の違いを読み取ることで出力コードＯＣを生成する。本発明の実施形態において、センスアンプＳＡは２つの選択されたビット線上の電流を比較することで出力コードＯＣを生成するようにすることができる。
【００３２】
エンコーダ６２０はセンスアンプＳＡの出力端に接続されている。エンコーダ６２０は、出力コードＯＣを受信し、出力コードＯＣをコード化することでコード化出力コードＥＯＣを生成する。
【００３３】
コード生成装置６００のＯＴＰメモリセル６１１、６１２、６３１及び６３２はプログラミングされているものとする。本実施形態において、ＯＴＰメモリセル６１１及び６３１はＯＴＰメモリセルの組を形成することができ、ＯＴＰメモリセル６１２及び６３２は別のＯＴＰメモリセルの組を形成する。それぞれのＯＴＰの組のＯＴＰメモリセルは同時にプログラミングすることができ、それぞれのＯＴＰの組のＯＴＰメモリセルは同時に読み出すこともできる。図６において、ＯＴＰメモリセル６１１及び６３１は同じワード線信号ＷＬ＿ａ及び同じプログラミング信号ＡＦ＿ａを受信し、ＯＴＰメモリセル６１２及び６３２は同じワード線信号ＷＬ＿ｂ及び同じプログラミング信号ＡＦ＿ｂを受信する。
【００３４】
ビット線ＢＬ＿ｎ及びＢＬ＿ｍが２つの選択されたビット線の場合、ビット線ＢＬ＿ｎ及びＢＬ＿ｍに供給された読み出し電流はそれぞれＯＴＰメモリセル６１１及び６３１又はＯＴＰメモリセル６１２及び６３２の固有プロセス変動等の製造上の変動及びプログラミング環境によって決定することができ、出力コードＯＣはＯＴＰメモリセル６１１及び６３１又はＯＴＰメモリセル６１２及び６３２の固有プロセス変動及びプログラミング環境により得ることができる。
【００３５】
図７Ａから図７Ｃを参照すると、図７Ａから図７Ｃにはそれぞれ本発明の実施形態によるＯＴＰメモリセルの回路図、上面図及び断面図が示されている。図７Ａにおいて、ＯＴＰメモリセルはデュアルゲート酸化膜厚を有するトランジスタＴ１によるものとすることもできる。トランジスタＴ１は、ビット線ＢＬに接続された第１端と、ワード線信号ＷＬを受信する制御端と、フローティングした第２端と、を備える。トランジスタＴ１のゲート酸化膜は二重の厚みを有しており、ゲート酸化膜のビット線信号ＢＬ側に近いはゲート酸化膜のもう一方の側よりも厚い。
【００３６】
図７Ｂにおいて、領域Ａ１における酸化膜の厚みは領域Ａ１の外側の酸化膜の厚みよりも厚い。図７Ｃにおいて、二重の厚みを有するポリゲートＰＧがトランジスタＴ１のチャネルを覆い、ポリゲートＰＧはワード線信号ＷＬを受信する。トランジスタＴ１のＮ＋拡散領域の１つがビット線ＢＬに接続されている。
【００３７】
本発明のＯＴＰメモリセルの実現には他の多くの構成を用い得るものとする。例えば、１つのパストランジスタと２つのＭＯＳキャパシタとを有するアンチヒューズセル、片側に配した２つのパストランジスタと１つのＭＯＳキャパシタとを有するアンチヒューズセル、両側に１つずつ配したパストランジスタとその間に位置する１つのＭＯＳキャパシタとを備えるアンチヒューズセル、１つのパストランジスタと１つのＭＯＳキャパシタと１つの分離トランジスタとを備えるアンチヒューズセル、及び１つのパストランジスタと蓄電用の１つのフローティングゲートトランジスタとを備えるＯＴＰメモリセルの構成が挙げられる。
【００３８】
図８Ａを参照すると、図８Ａには本発明の実施形態によるワンタイムプログラミング（ＯＴＰ）メモリブロックのブロック図が示されている。ＯＴＰメモリブロック８００は複数のコード生成装置を有しており、各コード生成装置はコード生成装置１００、２００又は６００によって実施することができる。図８Ａにおいて、ＯＴＰメモリブロック８００は第１サブブロック８１０と、第２サブブロック８２０とを有する。第１サブブロック８１０はコード生成装置の第１部分を含むことができ、コード生成装置の第１部分は少なくとも１つの識別コードを供給するために用いられる。第２サブブロック８２０はコード生成装置の第２部分を含むことができる。コード生成装置の第２部分は少なくとも１つの乱数コードを供給するために用いられ、また実施形態によっては、第２サブブロック８２０は通常のデータ保存に用いることができる。
【００３９】
実施形態によっては、ＯＴＰメモリブロック８００は少なくとも１つの複数回プログラミング（ＭＴＰ）メモリブロック８５０に接続することができ、ＭＴＰメモリブロック８５０は通常のデータ保存に用いられる。
【００４０】
図８Ｂを参照すると、図８Ｂには本発明の別の実施形態によるワンタイムプログラミング（ＯＴＰ）メモリブロックのブロック図が示されている。図８Ｂにおいて、ＯＴＰメモリブロック８００は第１サブブロック８１０及び第２サブブロック８２０を備え、さらには第３サブブロック８３０を備える。第１サブブロック８１０はコード生成装置の第１部分を含むことができ、コード生成装置の第１部分は少なくとも１つの識別コードを供給するために用いられる。第２サブブロック８２０はコード生成装置の第２部分を含むことができる。コード生成装置の第２部分は少なくとも１つの乱数コードを供給するために用いられる。第２サブブロック８３０はコード生成装置の第３部分を含むことができ、該第３サブブロック８３０は通常のデータ保存に用いることができる。
【００４１】
それぞれが識別コードを供給するためにサブブロックが用いられる場合、出力コードはブロック間で異なり、各出力コードは各サブブロックのハードウェア固有の識別性として処理されるものとする。
【００４２】
当業者にとってみれば、本発明の範囲や趣旨を逸脱することなく、発明の構成に様々な修正及び変更を加えることができること明らかであろう。以上をふまえて、本発明は、以下の特許請求の範囲及びその均等物の範囲内にあることを前提として、本発明の修正例及び変更例も対象とするものである。
【産業上の利用可能性】
【００４３】
コード生成装置はプログラミングされたＯＴＰメモリセルによって出力コードを生成し、出力コードはプログラミングされたＯＴＰメモリセルの製造上の変動によって決定される。つまり、コード生成装置によって生成された出力コードは、コード生成装置のＯＴＰブロックのためのハードウェア固有の識別コードとして処理することができる。出力コードは用途によってはセキュリティコードとすることもできる。また、乱数発生装置もまた本発明のコード生成装置によって実現することができる。
【符号の説明】
【００４４】
１００、２００、６００    コード生成装置
１１１−１１２、２１１−２１２、６１１−６１２、６３１−６３２    ＯＴＰメモリセル
１３０、２３０    基準信号プロバイダ
２４０、６１０    スイッチ
２５０、６２０    エンコーダ
６０１−６０Ａ    ＯＴＰメモリセルストリング
ＳＡ    センスアンプ
ＢＬ＿ｎ、ＢＬ＿ｎ＋１、ＢＬ＿ｍ    ビット線
Ｉref    基準信号
ＡＦ＿ａ、ＡＦ＿ｂ    プログラミング信号
ＷＬ＿ａ、ＷＬ＿ｂ、ＷＬ    ワード線信号
ＯＣ    出力コード
５１０−５４０    曲線
ＣＴ１    トランジスタキャパシタ
ＰＴ１    パストランジスタ
Ｉref＿ａ、Ｉref＿ｂ、Ｉref＿ｃ、Ｉref＿ｄ    基準電流
ＳＢＣ１、ＳＢＣ２    ビット電流
ＭＢＣ１    最大ビットカウント
ＩrefＲ    範囲
ＥＯＣ    コード化出力コード
Ｔ１    トランジスタ
Ａ１    領域
８００    ＯＴＰメモリブロック
８１０、８２０    サブブロック
【図１】
2017041295.tif 000003
【図２】
2017041295.tif 000004
【図３】
2017041295.tif 000005
【図４】
2017041295.tif 000006
【図５】
2017041295.tif 000007
【図６】
2017041295.tif 000008
【図８】
2017041295.tif 000009
【図７】
2017041295.tif 000010
【外国語明細書】
2017041295000001.pdf