(57)【要約】      （修正有）【課題】半導体チップに取り付けられた、物理的複製困難関数（ＰＵＦ）技術のランダムコード生成器を提供する。【解決手段】ランダムコード生成器２００は、ＰＵＦセルアレイ２１０、制御回路２０５、および検証回路２１５を含む。ＰＵＦセルアレイ２１０は、ｍ×ｎ個のＰＵＦセルを含む。登録動作が実行される間に、制御回路２０５はＰＵＦセルアレイ２１０を登録する。検証動作が実行される間に、検証回路２１５はＰＵＦセルアレイ２１０のｐ個のＰＵＦセルが正常ＰＵＦセルであると決定し、対応するマッピング情報を生成する。ここで、ｐはｍ×ｎより小さい。半導体チップがイネーブルにされる間に、制御回路２０５はマッピング情報に従ってＰＵＦセルアレイ２１０のｐ個の正常ＰＵＦセルの状態を読み出し、状態に従ってランダムコードを生成する。【選択図】図２
2019054509.tif 000002
【特許請求の範囲】
【請求項１】
半導体チップに取り付けられたランダムコード生成器であって、前記ランダムコード生成器は、
ｍ×ｎ個のＰＵＦセルを有するＰＵＦセルアレイと、
前記ＰＵＦセルアレイと接続される制御回路であって、登録動作が実行される間に、前記制御回路が前記ＰＵＦセルアレイを登録する、制御回路と、
前記ＰＵＦセルアレイと接続される検証回路と
を備え、
検証動作が実行される間に、前記検証回路が、前記ＰＵＦセルアレイのｐ個のＰＵＦセルが正常ＰＵＦセルであると決定し、前記検証回路が対応するマッピング情報を生成し、ここでｐはｍ×ｎより小さく、
前記半導体チップがイネーブルにされる間に、前記マッピング情報に従って、前記制御回路が、前記ＰＵＦセルアレイの前記ｐ個の正常ＰＵＦセルの状態を読み出し、前記状態に従って、ランダムコードを生成する、ランダムコード生成器。
【請求項２】
前記検証回路は、
前記ＰＵＦセルアレイと接続される検出回路であって、前記検出回路は、前記ＰＵＦセルアレイの選択列のｎ個のＰＵＦセルの状態を検出した結果に従って、データ信号を生成する、検出回路と、
前記データ信号に従って結果信号を生成する投票回路と、
複数のフラグを含む情報ブロックと
を有し、
前記マッピング情報は、前記複数のフラグに従って画定され、前記複数のフラグは、前記結果信号に従って前記投票回路によって選択的に設定される、
請求項１に記載のランダムコード生成器。
【請求項３】
前記投票回路は、第１の検証環境において、前記データ信号を第１の読み出しデータとして受信し、前記投票回路は、第２の検証環境において、前記データ信号を第２の読み出しデータとして受信し、前記第１の読み出しデータと前記第２の読み出しデータとが同一ではない場合、前記選択列の前記ｎ個のＰＵＦセルのうちの少なくとも１つが、信頼性の低いＰＵＦセルであり、前記選択列に対応する前記情報ブロックのフラグが設定される、請求項２に記載のランダムコード生成器。
【請求項４】
前記第１の読み出しデータと前記第２の読み出しデータとが同一である場合、前記選択列の前記ｎ個のＰＵＦセルの全てが正常ＰＵＦセルである、請求項３に記載のランダムコード生成器。
【請求項５】
前記制御回路は、前記検出回路が、前記データ信号を生成するよう、前記第１の検証環境において、第１の読み出し電圧を前記選択列に提供し、
前記制御回路は、前記検出回路が前記データ信号を生成するよう、前記第２の検証環境において、前記選択列に第２読み出し電圧を提供する、請求項３または４に記載のランダムコード生成器。
【請求項６】
前記検出回路は、前記第１の検証環境において第１の温度で前記データ信号を生成し、前記検出回路は、前記第２の検証環境において第２の温度で前記データ信号を生成する、請求項３から５の何れか一項に記載のランダムコード生成器。
【請求項７】
前記検出回路は、前記第１の検証環境において第１の温度で前記データ信号を生成し、前記検出回路は、前記第２の検証環境において第２の温度で前記データ信号を生成する、請求項３から６の何れか一項に記載のランダムコード生成器。
【請求項８】
前記半導体チップがイネーブルにされる間に、前記制御回路は、前記情報ブロックから少なくとも１つの未設定フラグを検索し、前記検出回路が前記ランダムコードを生成するよう、前記少なくとも１つの未設定フラグに対応する前記ＰＵＦセルアレイのＰＵＦセルの少なくとも１つの列をアクティブ化する、請求項３から７の何れか一項に記載のランダムコード生成器。
【請求項９】
ｍ×ｎ個のＰＵＦセルを持つＰＵＦセルアレイを備える、ランダムコード生成器のための制御方法であって、前記制御方法は、
前記ＰＵＦセルアレイを登録する段階と、
前記ＰＵＦセルアレイのｐ個のＰＵＦセルを正常ＰＵＦセルとして決定し、マッピング情報を生成する段階であって、ここでｐはｍ×ｎより小さい、段階と、
半導体チップがイネーブルにされる間に、前記マッピング情報に従って前記ＰＵＦセルアレイの前記ｐ個の正常ＰＵＦセルの状態を読み出し、前記状態に従ってランダムコードを生成する段階と
を含む、制御方法。
【請求項１０】
前記ランダムコード生成器は、情報ブロック、および前記マッピング情報を構成する前記情報ブロックの複数のフラグを備え、前記制御方法は、
第１の読み出しデータが生成されるよう、第１の検証環境において前記ＰＵＦセルアレイの選択列を読み出す段階と、
第２の読み出しデータが生成されるよう、第２の検証環境において、前記ＰＵＦセルアレイの前記選択列を読み出す段階とをさらに含み、
前記第１の読み出しデータと前記第２の読み出しデータとが同一ではない場合、前記選択列の前記ＰＵＦセルのうちの少なくとも１つが信頼性の低いＰＵＦセルであり、前記選択列に対応する前記情報ブロックのフラグが設定される、請求項９に記載の制御方法。
【請求項１１】
前記第１の読み出しデータと前記第２の読み出しデータとが同一である場合、前記選択列の前記ＰＵＦセルの全てが正常ＰＵＦセルである、請求項１０に記載の制御方法。
【請求項１２】
前記第１の読み出しデータが生成されるよう、第１の読み出し電圧が、前記第１の検証環境における前記選択列に提供され、前記第２の読み出しデータが生成されるよう、第２読み出し電圧が、前記第２の検証環境における前記選択列に提供される、請求項１０または１１に記載の制御方法。
【請求項１３】
前記第１の検証環境において、前記第１の読み出しデータが第１の温度で生成され、前記第２の検証環境において、前記第２の読み出しデータが第２の温度で生成される、請求項１０から１２の何れか一項に記載の制御方法。
【請求項１４】
前記第１の検証環境において、前記第１の読み出しデータが第１の検出速度で生成され、前記第２の検証環境において、前記第２の読み出しデータが第２の検出速度で生成される、請求項１０から１３の何れか一項に記載の制御方法。
【請求項１５】
前記半導体チップがイネーブルにされる間に、前記情報ブロックから少なくとも１つの未設定フラグが検索され、前記ランダムコードが生成されるよう、前記少なくとも１つの未設定フラグに対応する前記ＰＵＦセルアレイのＰＵＦセルの少なくとも１つの列が読み出される、請求項１０から１４の何れか一項に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ランダムコード生成器および関連する制御方法に関し、より詳細には、物理複製困難関数（ＰＵＦ）技術のランダムコード生成器および関連する制御方法に関する。
【背景技術】
【０００２】
物理複製困難関数（ＰＵＦ）技術は、半導体チップのデータを保護する新しい方法である。すなわち、ＰＵＦ技術を使用することによって、半導体チップのデータが盗まれるのを防ぐことができる。ＰＵＦ技術によれば、半導体チップには、ランダムコードを提供するランダムコード生成器が装備されている。ランダムコードは、保護機能を実現するための半導体チップの一意的な識別コード（ＩＤコード）である。
【０００３】
一般に、ＰＵＦ技術は、半導体チップの製造ばらつきに従って半導体チップの一意的なランダムコードを取得する。この製造ばらつきは、半導体のプロセスばらつきを含む。すなわち、たとえＰＵＦ半導体チップが厳密な製造プロセスによってもたらされたとしても、ランダムコードは、複製することはできない。結果的に、ＰＵＦ半導体チップは、セキュリティ要件が高い用途において好適に使用される。
【０００４】
さらに、米国特許第９，６１３，７１４号が、ランダムコードを生成するようにランダムコード生成器を形成するためのワンタイムプログラミングメモリセル（ＯＴＰセルとも呼ばれる）の使用を開示している。
【０００５】
ランダムコード生成器は、ＯＴＰセルを備える。ＯＴＰセルは、２つの格納回路を有する。格納回路の各々は、アンチヒューズトランジスタを含む。ＯＴＰセルは、物理複製困難関数セル（またはＰＵＦセル）とも呼ばれる。ＰＵＦセルの各々は、１ビットのランダムコードを格納する。
【０００６】
一般に、アンチヒューズトランジスタのゲート端子とソース／ドレイン端子との間の電圧差が耐電圧より低い場合、アンチヒューズトランジスタは、高抵抗状態にある。これに対し、アンチヒューズトランジスタのゲート端子とソース／ドレイン端子との間の電圧差が耐電圧を超える場合、アンチヒューズトランジスタのゲート酸化物層が破断され、故に、アンチヒューズトランジスタが高抵抗状態から低抵抗状態に変更される。
【０００７】
さらに、米国特許第９，６１３，７１４号が、ランダムコードを生成する様々なＰＵＦセルを開示している。図１Ａは、従来のＰＵＦセルを示す概略的な回路図である。図１Ｂは、図１Ａの従来のＰＵＦセルをプログラミングし、読み出しするバイアス電圧を示すバイアス電圧表である。
【０００８】
図１Ａに示されるように、ＰＵＦセルｃ１は、第１の選択トランジスタＳ１、第１のアンチヒューズトランジスタＡ１、第２の選択トランジスタＳ２、および第２のアンチヒューズトランジスタＡ２を備える。第１の選択トランジスタＳ１の第１のソース／ドレイン端子は、ビット線ＢＬと接続される。第１の選択トランジスタＳ１のゲート端子は、ワード線ＷＬと接続される。第１のアンチヒューズトランジスタＡ１の第１のソース／ドレイン端子は、第１の選択トランジスタＳ１の第２のソース／ドレイン端子と接続される。第１のアンチヒューズトランジスタＡ１のゲート端子は、第１のアンチヒューズ制御線ＡＦ１と接続される。第２のアンチヒューズトランジスタＡ２の第１のソース／ドレイン端子は、第１のアンチヒューズトランジスタＡ１の第２のソース／ドレイン端子と接続される。第２のアンチヒューズトランジスタＡ２のゲート端子は、第２のアンチヒューズ制御線ＡＦ２と接続される。第２の選択トランジスタＳ２の第１のソース／ドレイン端子は、第２のアンチヒューズトランジスタＡ２の第２のソース／ドレイン端子と接続される。第２の選択トランジスタＳ２のゲート端子は、ワード線ＷＬと接続される。第２の選択トランジスタＳ２の第２のソース／ドレイン端子は、ビット線ＢＬと接続される。
【０００９】
図１Ｂを参照されたい。プログラムサイクル中に、接地電圧（０Ｖ）がビット線ＢＬに提供され、選択電圧Ｖｄｄがワード線ＷＬに提供され、プログラム電圧Ｖｐｐが第１のアンチヒューズ制御線ＡＦ１および第２のアンチヒューズ制御線ＡＦ２に提供される。さらに、プログラムサイクル中に、ワード線ＷＬに提供されるバイアス電圧は、選択電圧Ｖｄｄと電圧Ｖｄｄ２との間の範囲であってよい。電圧Ｖｄｄ２は、選択電圧Ｖｄｄより高く、電圧Ｖｄｄ２は、プログラム電圧Ｖｐｐより低い。さらに、プログラムサイクルおよび登録サイクルは、ＰＵＦ技術において同一のものである。つまり、ＰＵＦセルは、登録動作中に登録できる。
【００１０】
プログラムサイクル中に、第１の選択トランジスタＳ１および第２の選択トランジスタＳ２の両方がオンにされ、第１のアンチヒューズトランジスタＡ１および第２のアンチヒューズトランジスタＡ２の両方がプログラム電圧Ｖｐｐを受信する。結果的に、第１のアンチヒューズトランジスタＡ１および第２のアンチヒューズトランジスタＡ２のうちの１つの状態が変更される。例えば、第１のアンチヒューズトランジスタＡ１は、低抵抗状態に変更されるが、第２のアンチヒューズトランジスタＡ２は、高抵抗状態に維持される。代替的に、第２のアンチヒューズトランジスタＡ２は、低抵抗状態に変更されるが、第１のアンチヒューズトランジスタＡ１は、高抵抗状態に維持される。アンチヒューズトランジスタＡ１およびＡ２のプロセスばらつきに起因して、アンチヒューズトランジスタＡ１およびＡ２のどちらがプログラムサイクル中に変更された状態を有するかを予測することは不可能である。
【００１１】
読み出しサイクル中に、接地電圧（０Ｖ）がビット線ＢＬに提供され、選択電圧Ｖｄｄがワード線ＷＬに提供され、読み出し電圧Ｖｒが第１のアンチヒューズ制御線ＡＦ１に提供される。さらに、読み出しサイクル中に、バイアス電圧がワード線ＷＬに提供され、読み出し電圧Ｖｒは、選択電圧Ｖｄｄと電圧Ｖｄｄ２との間の範囲であってよい。電圧Ｖｄｄ２は、選択電圧Ｖｄｄより高く、電圧Ｖｄｄ２は、プログラム電圧Ｖｐｐより低い。
【００１２】
読み出しサイクル中に、第１の選択トランジスタＳ１および第２の選択トランジスタＳ２がオンにされ、第１のアンチヒューズトランジスタＡ１が、ビット線ＢＬに読み出し電流を生成する。一般に、第１のアンチヒューズトランジスタＡ１によって生成される低抵抗状態の読み出し電流は、より高く、第１のアンチヒューズトランジスタＡ１によって生成される高抵抗状態の読み出し電流は、より低い。例えば、低抵抗状態の第１のアンチヒューズトランジスタＡ１によって生成される読み出し電流は、１０μＡであり、高抵抗状態の第１のアンチヒューズトランジスタＡ１によって生成される読み出し電流は、０．１μＡである。
【００１３】
さらに、読み出しサイクル中に、第１のアンチヒューズトランジスタＡ１からの読み出し電流の大きさに従って、検出回路（不図示）が、ＰＵＦセルｃ１の格納状態を決定する。第１のアンチヒューズトランジスタＡ１によって生成される読み出し電流がより高い場合、ＰＵＦセルｃ１は、第１の格納状態にあると判定される。これに対し、第１のアンチヒューズトランジスタＡ１によって生成される読み出し電流がより低い場合、ＰＵＦセルｃ１は、第２の格納状態にあると判定される。
【００１４】
アンチヒューズトランジスタＡ１およびＡ２のプロセスばらつきに起因して、アンチヒューズトランジスタＡ１およびＡ２のどちらがプログラムサイクル中に変更された状態を有するかを予測することは不可能である。ＰＵＦセルｃ１がプログラムされた後、ＰＵＦセルｃ１の格納状態がランダムコードのビットとして使用される。
【００１５】
さらに、ランダムコード生成器は、複数のＰＵＦセルを備える。複数のＰＵＦセルがプログラムされた後、ランダムコード生成器は、複数のＰＵＦセルの格納状態に従ってランダムコードを生成する。例えば、ランダムコード生成器が、８つのＰＵＦセルを備える。８つのＰＵＦセルがプログラムされた後、ランダムコード生成器は、８つのＰＵＦセルの格納状態に従って１バイトのランダムコードを生成する。
【００１６】
ランダムコードは、半導体チップの一意的なＩＤコードであることから、ランダムコードの正確度を維持することが必要である。ランダムコード生成器によって生成されるランダムコードが誤っている場合、半導体チップは、誤ったランダムコードに従って保護された内部データを取得できない。換言すると、半導体チップが正常に動作できない。
【発明の概要】
【００１７】
本発明の実施形態は、ランダムコード生成器を提供する。ランダムコード生成器は、半導体チップに取り付けられる。ランダムコード生成器は、ＰＵＦセルアレイ、制御回路、および検証回路を含む。ＰＵＦセルアレイは、ｍ×ｎ個のＰＵＦセルを含む。制御回路は、ＰＵＦセルアレイと接続される。登録動作が実行される間に、制御回路は、ＰＵＦセルアレイを登録する。検証回路はＰＵＦセルアレイと接続される。検証動作が実行される間に、検証回路は、ＰＵＦセルアレイのｐ個のＰＵＦセルが正常ＰＵＦセルであることを決定し、対応するマッピング情報を生成する。ここで、ｐはｍ×ｎより小さい。半導体チップがイネーブルにされる間に、制御回路は、マッピング情報に従ってＰＵＦセルアレイのｐ個の正常ＰＵＦセルの状態を読み出し、状態に従ってランダムコードを生成する。
【００１８】
本発明の別の実施形態は、ランダムコード生成器の制御方法を提供する。ランダムコード生成器は、ｍ×ｎ個のＰＵＦセルを持つＰＵＦセルアレイを含む。まず、ＰＵＦセルアレイが登録される。次に、ＰＵＦセルアレイのｐ個のＰＵＦセルが正常ＰＵＦセルとして決定され、マッピング情報が生成される。ここで、ｐはｍ×ｎより小さい。半導体チップがイネーブルにされる間に、ＰＵＦセルアレイのｐ個の正常ＰＵＦセルの状態が、マッピング情報に従って読み出され、状態に従ってランダムコードが生成される。
【００１９】
添付図面と併せて、本発明の実施形態の以下の詳細な説明を読むと、本発明の多くの目的、特徴および利点が容易に明らかになるであろう。しかしながら、本明細書において使用される図面は、説明を目的としたものであり、限定するものとみなされるべきではない。
【図面の簡単な説明】
【００２０】
本発明の上記の目的および利点は、以下の詳細な説明および添付図面を検討した後、当業者にはより容易に明らかになるであろう。
【００２１】
【図１Ａ】（従来技術）従来のＰＵＦセルを示す概略的な回路図である。
【００２２】
【図１Ｂ】（従来技術）図１Ａの従来のＰＵＦセルを登録し、読み出しするバイアス電圧を示すバイアス電圧表である。
【００２３】
【図２】本発明の実施形態に係る、ランダムコード生成器のアーキテクチャを概略的に示す。
【００２４】
【図３】本発明の実施形態に係る、ランダムコード生成器の投票回路のアーキテクチャを概略的に示す。
【００２５】
【図４Ａ】本発明の実施形態に係る、ランダムコード生成器の登録動作および検証動作を制御する方法を示すフローチャートである。
【００２６】
【図４Ｂ】本発明の実施形態に係る、ランダムコード生成器によってランダムコードを生成するプロセスを示すフローチャートである。
【００２７】
【図５Ａ】本発明の実施形態に係るランダムコード生成器の検証動作を制御するプロセスを概略的に示す。
【図５Ｂ】本発明の実施形態に係るランダムコード生成器の検証動作を制御するプロセスを概略的に示す。
【発明を実施するための形態】
【００２８】
理想的には、ＰＵＦセルが登録された後、アンチヒューズトランジスタのゲート酸化物層が１つだけ破断され、状態が変更される。これに対し、他のアンチヒューズトランジスタのゲート酸化物層は、破断されず、状態が変更されない。このＰＵＦセルは、正常なＰＵＦセルである。
【００２９】
いくつかの状況において、ＰＵＦセルが登録された後、いくつかの問題が起こる。例えば、２つのアンチヒューズトランジスタのゲート酸化物層の両方が破断される、もしくは、２つのアンチヒューズトランジスタのゲート酸化物層の両方が破断されない、またはアンチヒューズトランジスタのゲート酸化物層が完全には破断されない。上記の問題が起きた場合、ＰＵＦセルは、信頼性の低いＰＵＦセルと称される。信頼性の低いＰＵＦセルは、ビットフリッピングの問題をもたらし得る。結果的に、信頼性の低いＰＵＦセルの状態を正確に判定することが困難である。すなわち、ＰＵＦセルは、いくつかの状況において第１の状態にあり、ＰＵＦセルは、他の状況において第２の状態にある。
【００３０】
ランダムコード生成器が信頼性の低いＰＵＦセルを含む場合、ランダムコード生成器は、おそらく誤ったランダムコードを生成する。この状況下において、半導体チップは、正常に動作できない。
【００３１】
図２は、本発明の実施形態に係る、ランダムコード生成器のアーキテクチャを概略的に示す。ランダムコード生成器は、半導体チップ内に構成される。図２に示されるように、ランダムコード生成器２００は、制御回路２０５、ＰＵＦセルアレイ２１０、および検証回路２１５を備える。ＰＵＦセルアレイ２１０は、ｍ×ｎ個のＰＵＦセルｐｃ１，１〜ｐｃｍ，ｎを含む。
【００３２】
制御回路２０５は、ＰＵＦセルアレイ２１０の登録動作、読み出し動作、または検証動作を制御するべく、ＰＵＦセルアレイ２１０と接続される。
【００３３】
図２のＰＵＦセルアレイ２１０において、ＰＵＦセルｐｃ１，１〜ｐｃｍ，ｎの各々の構造は、図１ＡのＰＵＦセルの構造と似ている。すなわち、ＰＵＦセルｐｃ１，１〜ｐｃｍ，ｎの各々は、ワード線、ビット線、および２つのアンチヒューズ制御線と接続される。すなわち、ＰＵＦセルアレイ２１０は、ｍ個のワード線ＷＬ１〜ＷＬｍ、ｎ個のビット線ＢＬ１〜ＢＬｎ、および２ｎ個のアンチヒューズ制御線ＡＦ１〜ＡＦ２ｎと接続される。
【００３４】
実施形態において、ＰＵＦセルアレイ２１０のＰＵＦセルは、差動ＰＵＦセルである。差動ＰＵＦセルの各々は、１ビットのランダムコードを生成する。この状況下において、差動ＰＵＦセルの各々は、ワード線、ビット線対、および２つのアンチヒューズ制御線と接続される。
【００３５】
検証回路２１５は、検出回路２２０、投票回路２３０、および情報ブロック２４０を有する。
【００３６】
検出回路２２０は、ｎ個のセンスアンプＳＡ＿１〜ＳＡ＿ｎを含み、それらは、対応するビット線ＢＬ１〜ＢＬｎと接続される。登録サイクル中に、検出回路２２０は、適切な電圧（例えば、０Ｖ）をビット線ＢＬ１〜ＢＬｎに提供する。読み出しサイクル中に、検出回路２２０のセンスアンプＳＡ＿１〜ＳＡ＿ｎは、ビット線ＢＬ１〜ＢＬｎからの読み出し電流の大きさに従って、対応するＰＵＦセルの状態を判定し、データ信号Ｄ１〜Ｄｎを生成する。
【００３７】
投票回路２３０は、データ信号Ｄ１〜Ｄｎを受信するべく検出回路２２０と接続される。検証動作が実行される間（すなわち、検証サイクル中）に、投票回路２３０は、データ信号Ｄ１〜Ｄｎに従ってＰＵＦセルが信頼性の低いＰＵＦセルか否かを判定し、結果信号Ｓを生成する。
【００３８】
情報ブロック２４０は、結果信号Ｓに従ってマッピング情報を生成する。この実施形態において、情報ブロック２４０は、複数のフラグｆｇ＿１〜ｆｇ＿ｍを含む。フラグｆｇ＿１〜ｆｇ＿ｍの各々は、不揮発性メモリである。さらに、結果信号Ｓによれば、投票回路２３０は、フラグｆｇ＿１〜ｆｇ＿ｍを選択的に設定して、マッピング情報を決定する。すなわち、情報ブロック２４０によって取得されるマッピング情報が、ＰＵＦセルアレイ２１０の正常ＰＵＦセルの位置を記録する。情報ブロック２４０のマッピング情報によれば、制御回路２０５は、ＰＵＦセルアレイ２１０の正常ＰＵＦセルを選択して、ランダムコードを決定する。
【００３９】
図３は、本発明の実施形態に係るランダムコード生成器の投票回路のアーキテクチャを概略的に示す。図３に示されるように、投票回路２３０は、第１のバッファ３１０、第２のバッファ３２０、および判定回路３３０を含む。検証動作の第１の検証環境において、第１のバッファ３１０は、データ信号Ｄ１〜Ｄｎを検出回路２２０から受信する。データ信号Ｄ１〜Ｄｎは、第１の読み出しデータＤ１ａ〜Ｄｎａとして、第１のバッファ３１０内に格納される。検証動作の第２の検証環境において、第２のバッファ３２０は、データ信号Ｄ１〜Ｄｎを検出回路２２０から受信する。データ信号Ｄ１〜Ｄｎは、第２の読み出しデータＤ１ｂ〜Ｄｎｂとして、第２のバッファ３２０内に格納される。
【００４０】
第１の読み出しデータが第２の読み出しデータと同一であるか否かを判定した結果に従って、判定回路３３０が結果信号Ｓを生成する。判定回路３３０は、ＸＮＯＲゲート３３１〜３３ｎ、およびＡＮＤゲート３４０を含む。第１のＸＮＯＲゲート３３１は、第１のバッファ３１０の第１のビットＤ１ａ、および第２のバッファ３２０の第１のデータＤ１ｂを受信し、第１の投票信号Ｖ１を出力する。第２のＸＮＯＲゲート３３２は、第１のバッファ３１０の第２のビットＤ２ａ、および第２のバッファ３２０の第２のデータＤ２ｂを受信し、第２の投票信号Ｖ２を出力する。残りは、類推によって推定され得る。ＡＮＤゲート３４０は、ｎ個の投票信号Ｖ１〜Ｖｎを受信し、結果信号Ｓを生成する。
【００４１】
第１の読み出しデータが第２の読み出しデータと同一の場合、ｎ個の投票信号Ｖ１〜Ｖｎの全てが高ロジックレベル状態にあり、故に、結果信号Ｓは、高ロジックレベル状態にある。これに対し、第１の読み出しデータが、第２の読み出しデータと同一ではない場合、ｎ個の投票信号Ｖ１〜Ｖｎのうちの少なくとも１つが低ロジックレベル状態にあり、故に、結果信号Ｓは、低ロジックレベル状態にある。すなわち、高ロジックレベル状態の結果信号Ｓは、第１の読み出しデータが第２の読み出しデータと同一であることを示し、低ロジックレベル状態の結果信号Ｓは、第１の読み出しデータが第２の読み出しデータと同一でないことを示す。
【００４２】
判定回路３３０の構造は、制限されない。例えば、別の実施形態において、判定回路３３０は、ｎ個のＸＯＲゲート、およびＯＲゲートを含む。第１のＸＯＲゲートは、第１のバッファ３１０の第１のビットＤ１ａ、および第２のバッファ３２０の第１のデータＤ１ｂを受信し、第１の投票信号Ｖ１を出力する。第２のＸＯＲゲートは、第１のバッファ３１０の第２のビットＤ２ａ、および第２のバッファ３２０の第２のデータＤ２ｂを受信し、第２の投票信号Ｖ２を出力する。残りは、類推によって推定され得る。ＯＲゲートは、ｎ個の投票信号Ｖ１〜Ｖｎを受信し、結果信号Ｓを生成する。低ロジックレベル状態の結果信号Ｓは、第１の読み出しデータが第２の読み出しデータと同一であることを示す。高ロジックレベル状態の結果信号Ｓは、第１の読み出しデータが第２の読み出しデータと同一でないことを示す。
【００４３】
図４Ａは、本発明の実施形態に係る、ランダムコード生成器の登録動作および検証動作を制御する方法を示すフローチャートである。
【００４４】
まず、ＰＵＦセルアレイ２１０が、登録される（段階Ｓ３１０）。ＰＵＦセルアレイ２１０を登録するべく、登録動作が実行されている間に、登録電圧Ｖｐｐがアンチヒューズ制御線ＡＦ１〜ＡＦ２ｎに提供され、接地電圧（０Ｖ）がビット線ＢＬ１〜ＢＬｎに提供される。さらに、選択電圧Ｖｄｄが、ワード線ＷＬ１〜ＷＬｍに順に提供される。結果的に、ワード線ＷＬ１〜ＷＬｍは、順にアクティブ化される。このように、ＰＵＦセルアレイ２１０の全てのＰＵＦセルｐｃ１，１〜ｐｃｍ，ｎが登録される。
【００４５】
例えば、選択電圧Ｖｄｄがワード線ＷＬ１に提供されるとき、ワード線ＷＬ１がアクティブ化され、第１の列が、選択列である。結果的に、選択列のｎ個のＰＵＦセルｐｃ１，１〜ｐｃ１，ｎが登録される。同様に、選択電圧Ｖｄｄがワード線ＷＬ２に提供されるとき、ワード線ＷＬ２がアクティブ化され、第２の列が選択列である。結果的に、選択列のｎ個のＰＵＦセルｐｃ２，１〜ｐｃ２，ｎが登録される。残りは、類推によって推定され得る。全てのワード線ＷＬ１〜ＷＬｍがアクティブ化された後、ＰＵＦセルアレイ２１０の全てのＰＵＦセルｐｃ１，１〜ｐｃｍ，ｎが登録される。
【００４６】
段階Ｓ３１０の後、検証動作が実行される。検証動作が実行される間に、異なる検証環境が提供される。さらに、制御回路が、異なる検証環境における同一のＰＵＦセルが同一の状態にあるか否かを判定する。例えば、異なる検証環境において、読み出し動作を実行するべく異なる読み出し電圧Ｖｒが提供される、または読み出し動作が異なる動作温度で、もしくは異なる検出速度で実行される。
【００４７】
図４Ａを再度参照されたい。次に、ｘ＝１と設定する（段階Ｓ３１２）。
【００４８】
次に、第１の検証環境において、ワード線ＷＬｘがアクティブ化され、故に、検出回路２２０が、選択列のＰＵＦセルの状態を判定し、生成される第１の読み出しデータを投票回路２３０内に一時的に格納する（段階Ｓ３１６）。例えば、制御回路２０５が、第１の読み出し電圧Ｖｒ１を奇数のアンチヒューズ制御線に提供し、接地電圧（０Ｖ）を偶数のアンチヒューズ制御線に提供する。結果的に、検出回路２２０が第１の読み出しデータを生成する。
【００４９】
次に、第２の検証環境において、ワード線ＷＬｘがアクティブ化され、故に、検出回路２２０が、選択列のＰＵＦセルの状態を判定し、生成される第２の読み出しデータを投票回路２３０内に一時的に格納する（段階Ｓ３２０）。例えば、制御回路２０５が第２読み出し電圧Ｖｒ１を偶数のアンチヒューズ制御線に提供し、接地電圧（０Ｖ）を奇数のアンチヒューズ制御線に提供する。結果的に、検出回路２２０が第２の読み出しデータを生成する。
【００５０】
次に、段階Ｓ３２２が実行されて、第１の読み出しデータが第２の読み出しデータと同一であるか否かを判定する。段階Ｓ３２２の判定結果が、第１の読み出しデータが第２の読み出しデータと同一ではないと示す場合、選択列のＰＵＦセルのうちの少なくとも１つが、信頼性の低いＰＵＦセルである。次に、投票回路２３０が、情報ブロック２４０においてフラグｆｇ＿ｘを設定する（段階Ｓ３２４）。次に、段階Ｓ３２６が実行されて、ｘがｍと等しいか否かを判定する。段階Ｓ３２６の判定結果が、ｘがｍと等しいことを示す場合、検証動作が終了する。段階Ｓ３２６の判定結果が、ｘがｍとは等しくないことを示す場合、ｘ＝ｘ＋１と設定する段階Ｓ３２６（段階Ｓ３２６）が実行されて、段階Ｓ３１６が反復して行われる。
【００５１】
これに対し、段階Ｓ３２２の判定結果が、第１の読み出しデータが第２の読み出しデータと同一であると示す場合、選択列の全てのＰＵＦセルが正常ＰＵＦセルである。次に、段階Ｓ３２６が実行されて、ｘがｍと等しいか否かを判定する。段階Ｓ３２６の判定結果が、ｘがｍと等しいことを示す場合、検証動作が終了する。段階Ｓ３２６の判定結果が、ｘがｍとは等しくないことを示す場合、ｘ＝ｘ＋１と設定する段階Ｓ３２６（段階Ｓ３２６）が実行されて、段階Ｓ３１６が反復して行われる。
【００５２】
図４Ｂは、本発明の実施形態に係る、ランダムコード生成器によってランダムコードを生成するプロセスを示すフローチャートである。検証動作が完了した後、ランダムコード生成器がランダムコードを生成できる。まず、制御回路２０５は、情報ブロック２４０のマッピング情報を読み出す（段階Ｓ３３０）。次に、マッピング情報に従って、制御回路２０５がＰＵＦセルアレイ２１０の対応するＰＵＦセルを読み出し、ランダムコードを生成する（段階Ｓ３３２）。すなわち、制御回路２０５がマッピング情報に従ってＰＵＦセルアレイ２１０の正常ＰＵＦセルの状態を読み出した後、ＰＵＦセルアレイ２１０の正常ＰＵＦセルの状態が、ランダムコードとして構成される。結果的に、半導体チップがイネーブルされるとき、ランダムコード生成器２００がランダムコードを生成する。
【００５３】
ランダムコード生成器２００を十分に理解するために、１６×１２８個のＰＵＦセル（すなわち、ｍ＝１６およびｎ＝１２８）を持つＰＵＦセルアレイ２１０が以下の通りに説明される。これに加えて、ランダムコード生成器２００が１２８ビットのランダムコードを生成する。
【００５４】
図５Ａおよび図５Ｂは、本発明の実施形態に係る、ランダムコード生成器の検証動作を制御するプロセスを概略的に示す。
【００５５】
図５Ａに示されるように、ＰＵＦセルアレイ５１０の第１の列が選択列である。異なる検証環境における選択列によって生成される第１の読み出しデータと第２の読み出しデータとが同一ではない場合、情報ブロック５４０におけるフラグｆｇ＿１が設定される。例えば、フラグｆｇ＿１が第１の状態として設定される。換言すると、第１の列の１２８個のＰＵＦセルｐｃ１，１〜ｐｃ１，１２８のうちの少なくとも１つが、信頼性の低いＰＵＦセルである。検出回路によって生成されるデータ信号がおそらくエラービットを含んでいることから、第１の列は、制御回路によってランダムコードを生成するために採用されない。
【００５６】
図５Ｂに示されるように、ＰＵＦセルアレイ５１０の第２の列が選択列である。異なる検証環境における選択列によって生成される第１の読み出しデータと第２の読み出しデータとが同一ではない場合、情報ブロック５４０におけるフラグｆｇ＿２が設定される。例えば、フラグｆｇ＿２が第１の状態として設定される。換言すると、第２の列の１２８個のＰＵＦセルｐｃ２，１〜ｐｃ２，１２８のうちの少なくとも１つが、信頼性の低いＰＵＦセルである。検出回路によって生成されるデータ信号が、おそらくエラービットを含んでいることから、第１の列は、制御回路によってランダムコードを生成するために採用されない。
【００５７】
ＰＵＦセルアレイ５１０の第３の列が選択列であり、異なる検証環境における選択列によって生成される第１の読み出しデータと第２の読み出しデータとが同一である場合、情報ブロック５４０におけるフラグｆｇ＿３が未設定である。例えば、フラグｆｇ＿３が第２の状態に維持される。換言すると、第３の列の１２８個のＰＵＦセルｐｃ３，１〜ｐｃ３，１２８が正常ＰＵＦセルである。
【００５８】
さらに、同一の検証プロセスがセルアレイ５１０の他の列に適用され得、ここで重複しては説明されない。
【００５９】
半導体チップがイネーブルにされるとき、制御回路は、情報ブロック５４０のマッピング情報を読み出すことを開始する。実施形態において、制御回路は、フラグｆｇ＿１からフラグｆｇ＿ｍの順序に従って、情報ブロック５４０から第１の未設定フラグを検索する。図５Ｂに示されるように、制御回路によって検索される第１の未設定フラグは、フラグｆｇ＿３である。結果的に、フラグｆｇ＿３に対応する第３のワード線ＷＬ３がアクティブ化される。ビット線上の電流の大きさに従って、検出回路がＰＵＦセルアレイ５１０の第３の列の１２８個のＰＵＦセルｐｃ３，１〜ｐｃ３，１２８の状態を判定する。結果的に、１２８ビットのランダムコードが生成される。
【００６０】
図４Ａのフローチャートにおいて、ＰＵＦセルアレイの全てのＰＵＦセルが登録された後、制御回路が検証動作を実行する。登録動作および検証動作は制限されないことに留意されたい。例えば、別の実施形態において、ＰＵＦセルアレイのＰＵＦセルの１つの列が登録された後、制御回路が検証動作を実行する。
【００６１】
図４Ａのフローチャートにおいて、ＰＵＦセルの全ての列が検証され、正常ＰＵＦセルの位置が情報ブロックにおいて記録されたとき、検証動作が終了する。本発明の教示を維持しながら、多数の修正および変更がなされ得ることに留意されたい。
【００６２】
例えば、ランダムコード生成器は、１６×１２８個のＰＵＦセルを持つＰＵＦセルアレイを備え、ランダムコード生成器が２５６ビットのランダムコードを生成するために使用される。この状況下において、ＰＵＦセルの２つの列が正常ＰＵＦセルとして検証され、正常ＰＵＦセルの位置が情報ブロックに記録されたとき、検証動作が終了する。半導体チップがイネーブルされるとき、マッピング情報に従って、制御回路が２つの対応するワード線を順にアクティブ化し、２５６ビットのランダムコードを生成する。すなわち、検証動作が完了した後、ＰＵＦセルアレイにおけるいくつかのＰＵＦセルは登録されていない。
【００６３】
さらに、投票回路２３０の判定回路３３０が、信頼性の低いＰＵＦセル、および正常ＰＵＦセルの位置を判定できる。いくつかの実施形態において、選択列の信頼性の低いＰＵＦセルは、ＰＵＦセルアレイ５１０の他の列の正常ＰＵＦセルによって代用される。例えば、検証動作が完了した後、ＰＵＦセルアレイ５１０の第１の列のＰＵＦセルが１２個の信頼性の低いＰＵＦセル、および１１６個の正常ＰＵＦセルを含んでおり、それらの位置は、情報ブロック５４０に記録される。さらに、検証動作が完了した後、ＰＵＦセルアレイ５１０の第２の列のＰＵＦセルが１２個の正常ＰＵＦセルを含んでおり、それらの位置が情報ブロック５４０に記録される。半導体チップがイネーブルにされるとき、制御回路は、ＰＵＦセルアレイ５１０の第１の列の１１６個の正常ＰＵＦセル、およびＰＵＦセルアレイ５１０の第２の列の１２個の正常ＰＵＦセルに従って１２８ビットのランダムコードを生成する。
【００６４】
上記の説明から、本発明はランダムコード生成器および関連する制御方法を提供する。ランダムコード生成器のＰＵＦセルアレイは、ｍ×ｎ個のＰＵＦセルを備える。ＰＵＦセルアレイに対して登録動作が実行された後、検証動作が実行される。異なる検証環境において検証動作が実行された後、ＰＵＦセルアレイのｐ個のＰＵＦセルが正常ＰＵＦセルとして決定される。ここで、ｐは、ｍ×ｎより小さい。正常ＰＵＦセルの位置が、マッピング情報に記録される。半導体チップがイネーブルされるとき、ランダムコード生成器の制御回路がＰＵＦセルアレイのｐ個の正常ＰＵＦセルの状態を読み出し、ランダムコードを生成する。
【００６５】
最も実用的で好適な実施形態と現在見なされる観点から本発明が説明されたが、本発明は開示された実施形態に限定される必要性がないことが理解されるべきである。むしろ、全ての様々な修正および同様の構造を包含するよう最も広い解釈と合致すべき添付の特許請求の範囲の思想および範囲内に含まれる、そのような修正および同様の配置を包含することが意図される。
【図１Ａ】
2019054509.tif 000003
【図１Ｂ】
2019054509.tif 000004
【図２】
2019054509.tif 000005
【図３】
2019054509.tif 000006
【図４Ａ】
2019054509.tif 000007
【図４Ｂ】
2019054509.tif 000008
【図５Ａ】
2019054509.tif 000009
【図５Ｂ】
2019054509.tif 000010
【外国語明細書】
2019054509000001.pdf