(57)【要約】【課題】生成された固有ＩＤの信頼性を向上させることが可能な半導体装置を提供することである。【解決手段】一実施の形態にかかる半導体装置は、第１及び第２のメモリセルＭＣ１、ＭＣ２を有する相補セル１１を複数備えるメモリアレイ１０を用いて固有ＩＤを生成する固有ＩＤ生成回路２０を備える。固有ＩＤ生成回路２０は、第１のメモリセルＭＣ１の初期の閾値電圧を仮想的にオフセットさせた第１の状態において読み出した相補セル１１のデータと、第２のメモリセルＭＣ２の初期の閾値電圧を仮想的にオフセットさせた第２の状態において読み出した相補セル１１のデータとが一致する場合、相補セル１１のデータを固有ＩＤとして用いる。【選択図】図１
2018186406.tif 000002
【特許請求の範囲】
【請求項１】
第１のメモリセルと第２のメモリセルとを有する相補セルを複数備え、前記第１のメモリセルの閾値電圧と前記第２のメモリセルの閾値電圧との違いを用いて各々の相補セルにデータを保持可能なメモリアレイと、
前記第１のメモリセルの初期の閾値電圧と前記第２のメモリセルの初期の閾値電圧とを用いて前記メモリアレイに固有のＩＤを生成する固有ＩＤ生成回路と、を備え、
前記固有ＩＤ生成回路は、
前記第１のメモリセルの初期の閾値電圧を仮想的にオフセットさせた第１の状態において、前記相補セルのデータを第１のデータとして読み出し、
前記第２のメモリセルの初期の閾値電圧を仮想的にオフセットさせた第２の状態において、前記相補セルのデータを第２のデータとして読み出し、
前記第１の状態において読み出した前記相補セルの前記第１のデータと前記第２の状態において読み出した前記相補セルの前記第２のデータとが一致する場合、前記相補セルのデータを固有ＩＤとして用いる、
半導体装置。
【請求項２】
前記固有ＩＤ生成回路は、前記第１の状態において読み出した前記相補セルの前記第１のデータと前記第２の状態において読み出した前記相補セルの前記第２のデータとが一致したか否かの判定結果を格納する判定結果格納回路を備える、請求項１に記載の半導体装置。
【請求項３】
前記判定結果格納回路には、前記第１の状態において読み出した前記相補セルの前記第１のデータと前記第２の状態において読み出した前記相補セルの前記第２のデータとが一致した相補セルのアドレス情報が格納されており、
前記固有ＩＤ生成回路は、次回固有ＩＤを生成する際に、前記判定結果格納回路に格納されているアドレス情報に対応した相補セルを用いて固有ＩＤを生成する、
請求項２に記載の半導体装置。
【請求項４】
前記判定結果格納回路には、前記第１の状態において読み出した前記相補セルの前記第１のデータと前記第２の状態において読み出した前記相補セルの前記第２のデータとが一致しなかった相補セルのアドレス情報が格納されており、
前記固有ＩＤ生成回路は、次回固有ＩＤを生成する際に、前記判定結果格納回路に格納されているアドレス情報に対応した相補セルを用いないで固有ＩＤを生成する、
請求項２に記載の半導体装置。
【請求項５】
前記固有ＩＤ生成回路は、
前記第１のメモリセルの初期の閾値電圧を仮想的に低下させた第１の状態において、前記相補セルのデータを前記第１のデータとして読み出し、
前記第２のメモリセルの初期の閾値電圧を仮想的に低下させた第２の状態において、前記相補セルのデータを前記第２のデータとして読み出す、
請求項１に記載の半導体装置。
【請求項６】
前記メモリアレイは更に、
前記第１のメモリセルと接続された第１のビット線と、
前記第２のメモリセルと接続された第２のビット線と、
前記第１のビット線および前記第２のビット線に接続されたセンスアンプと、を備え、
前記固有ＩＤ生成回路は、
前記第１のビット線から電流を引き抜く第１の電流引き抜き回路を用いて前記第１のメモリセルの初期の閾値電圧を仮想的に低下させ、
前記第２のビット線から電流を引き抜く第２の電流引き抜き回路を用いて前記第２のメモリセルの初期の閾値電圧を仮想的に低下させる、
請求項５に記載の半導体装置。
【請求項７】
前記固有ＩＤ生成回路は、
前記第１のメモリセルの初期の閾値電圧を仮想的に上昇させた第１の状態において、前記相補セルのデータを前記第１のデータとして読み出し、
前記第２のメモリセルの初期の閾値電圧を仮想的に上昇させた第２の状態において、前記相補セルのデータを前記第２のデータとして読み出す、
請求項１に記載の半導体装置。
【請求項８】
前記メモリアレイは更に、
前記第１のメモリセルと接続された第１のビット線と、
前記第２のメモリセルと接続された第２のビット線と、
前記第１のビット線および前記第２のビット線に接続されたセンスアンプと、を備え、
前記固有ＩＤ生成回路は、
前記第１のビット線に電流を供給する第１の電流供給回路を用いて前記第１のメモリセルの初期の閾値電圧を仮想的に上昇させ、
前記第２のビット線に電流を供給する第２の電流供給回路を用いて前記第２のメモリセルの初期の閾値電圧を仮想的に上昇させる、
請求項７に記載の半導体装置。
【請求項９】
前記メモリアレイは、前記複数の相補セルとして、データ保持用の相補セルと、固有ＩＤ生成用の相補セルと、を備え、
前記固有ＩＤ生成回路は、前記固有ＩＤ生成用の相補セルを用いて前記固有ＩＤを生成する、
請求項１に記載の半導体装置。
【請求項１０】
前記複数の相補セルへのデータの書き込み及び読み出しを制御するメモリ制御回路を更に備え、
前記メモリ制御回路は、前記固有ＩＤ生成回路において前記固有ＩＤを生成した際に前記相補セルの前記第１及び第２のデータが一致しなかった場合、当該一致しなかった相補セルを前記固有ＩＤ生成用の相補セルから前記データ保持用の相補セルに切り替える、
請求項９に記載の半導体装置。
【請求項１１】
前記固有ＩＤ生成回路は、前記第１及び第２のデータが一致した相補セルに対する、前記第１及び第２のデータが一致しない相補セルの割合が所定のターゲット範囲内であるか否かを判定する、請求項１に記載の半導体装置。
【請求項１２】
前記固有ＩＤ生成回路は、前記第１及び第２のデータが一致しない相補セルの割合が前記所定のターゲット範囲よりも大きい場合、前記第１及び第２のメモリセルの初期の閾値電圧を仮想的にオフセットさせた際のオフセット量の絶対値を小さくする、請求項１１に記載の半導体装置。
【請求項１３】
前記固有ＩＤ生成回路は、前記第１及び第２のデータが一致しない相補セルの割合が前記所定のターゲット範囲よりも小さい場合、前記第１及び第２のメモリセルの初期の閾値電圧を仮想的にオフセットさせた際のオフセット量の絶対値を大きくする、請求項１１に記載の半導体装置。
【請求項１４】
前記第１及び第２のメモリセルは、スプリットゲート型のフラッシュメモリセルであり、
前記固有ＩＤ生成回路は、前記第１及び第２のメモリセルのメモリゲートに所定の電圧を印加して、前記第１及び第２のメモリセルの初期の閾値電圧を調整する、
請求項１に記載の半導体装置。
【請求項１５】
前記メモリアレイは更に、
前記第１のメモリセルと接続された第１のビット線と、
前記第２のメモリセルと接続された第２のビット線と、
前記第１のビット線および前記第２のビット線に接続されたセンスアンプと、を備え、
前記固有ＩＤ生成回路は、前記第１及び第２の状態において前記相補セルの前記第１及び第２のデータを前記センスアンプを用いて読み出す際のタイミングを調整する、
請求項１に記載の半導体装置。
【請求項１６】
第１のメモリセルと第２のメモリセルとを有する相補セルを複数備えるメモリアレイを用いて固有ＩＤを生成する、固有ＩＤ生成方法であって、
前記第１のメモリセルの初期の閾値電圧を仮想的にオフセットさせた第１の状態において、前記相補セルのデータを第１のデータとして読み出し、
前記第２のメモリセルの初期の閾値電圧を仮想的にオフセットさせた第２の状態において、前記相補セルのデータを第２のデータとして読み出し、
前記第１の状態において読み出した前記相補セルの前記第１のデータと前記第２の状態において読み出した前記相補セルの前記第２のデータとが一致する場合、前記相補セルのデータを固有ＩＤとして用いる、
固有ＩＤ生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体装置、及び固有ＩＤ生成方法に関し、例えばＰＵＦ技術を用いてデバイス固有のＩＤを生成可能な半導体装置、及び固有ＩＤ生成方法に関する。
【背景技術】
【０００２】
近年、マイコンなどの半導体装置への不正なアクセスから保護するためのセキュリティ技術が重要となってきている。このようなセキュリティ技術の一つとして、ＰＵＦ（Physically Unclonable Function:物理的複製困難関数)技術がある。ＰＵＦ技術には、半導体装置を製造した際の製造ばらつきを用いて、各半導体装置に固有の識別子（ＩＤ： identification）を生成する技術がある。
【０００３】
特許文献１には、メモリセルＭＣ１とメモリセルＭＣ２とを有する相補セルを複数備え、メモリセルＭＣ１の閾値電圧とメモリセルＭＣ２の閾値電圧との違いを用いて各々の相補セルにデータを保持可能な不揮発性半導体メモリに関する技術が開示されている。
【０００４】
特許文献２には、抵抗変化型の不揮発性メモリセルを用いて、固有ＩＤを生成するＰＵＦ技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−２４３２６３号公報
【特許文献２】特開２０１６−１０５２７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に開示されている不揮発性半導体メモリにＰＵＦ技術を適用して固有ＩＤを生成する際は、例えば、メモリセルＭＣ１の初期の閾値電圧とメモリセルＭＣ２の初期の閾値電圧との差を用いて固有ＩＤを生成することができる。
【０００７】
しかしながら、メモリセルＭＣ１、ＭＣ２の初期の閾値電圧にはばらつきがあるため、２つのメモリセルＭＣ１、ＭＣ２の組み合わせによっては、メモリセルＭＣ１の初期の閾値電圧とメモリセルＭＣ２の初期の閾値電圧との差が小さくなる場合がある。このような場合は、相補セルから読み出したデータが不安定となるため、生成された固有ＩＤの信頼性が低下するという問題がある。
【０００８】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００９】
一実施の形態にかかる半導体装置は、第１及び第２のメモリセルを有する相補セルを複数備えるメモリアレイを用いて固有ＩＤを生成する固有ＩＤ生成回路を備える。固有ＩＤ生成回路は、第１のメモリセルの初期の閾値電圧を仮想的にオフセットさせた第１の状態において読み出した相補セルのデータと、第２のメモリセルの初期の閾値電圧を仮想的にオフセットさせた第２の状態において読み出した相補セルのデータとが一致する場合、相補セルのデータを固有ＩＤとして用いる。
【発明の効果】
【００１０】
前記一実施の形態によれば、生成された固有ＩＤの信頼性を向上させることが可能な半導体装置、及び固有ＩＤ生成方法を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１にかかる半導体装置の構成例を示すブロック図である。
【図２】実施の形態１にかかる半導体装置で用いられているメモリセルの構成例を示す図である。
【図３】相補セルを構成しているメモリセルＭＣ１、ＭＣ２の閾値電圧Ｖｔ１、Ｖｔ２の分布を示す図である。
【図４】メモリセルＭＣ１、ＭＣ２の初期の閾値電圧Ｖｔと累積確率との関係を示す図である。
【図５】各々のメモリセルＭＣ１、ＭＣ２の初期の閾値電圧Ｖｔ１、Ｖｔ２を示す図である。
【図６】初期の閾値電圧の差（ΔＶｔ）と累積確率との関係を示す図である。
【図７】各々の相補セル＃１〜＃５が備えるメモリセルＭＣ１、ＭＣ２の初期の閾値電圧Ｖｔ１、Ｖｔ２と、読み出したデータとの関係を示す図である。
【図８】実施の形態１にかかる半導体装置の動作を説明するための図である。
【図９】実施の形態１にかかる半導体装置の動作を説明するためのフローチャートである。
【図１０】相補セルの読み出し時におけるエラー確率と累積確率との関係を示す図である。
【図１１】実施の形態１にかかる半導体装置が備えるメモリアレイのアドレス空間の一例を説明するための図である。
【図１２】実施の形態１にかかる半導体装置が備えるメモリアレイのアドレス空間の一例を説明するための図である。
【図１３】実施の形態１にかかる半導体装置の他の構成例を示すブロック図である。
【図１４】実施の形態１にかかる半導体装置の動作を説明するための図である。
【図１５】実施の形態２にかかる半導体装置の動作を説明するためのフローチャートである。
【図１６Ａ】ビット線の電位の経時変化を示す図である。
【図１６Ｂ】ビット線の電位の経時変化を示す図である。
【図１７】実施の形態３にかかる半導体装置の動作の一例を説明するためのフローチャートである。
【図１８Ａ】ビット線の電位の経時変化を示す図である。
【図１８Ｂ】ビット線の電位の経時変化を示す図である。
【図１９】実施の形態３にかかる半導体装置の動作の他の例を説明するためのフローチャートである。
【図２０Ａ】ビット線の電位の経時変化を示す図である。
【図２０Ｂ】ビット線の電位の経時変化を示す図である。
【発明を実施するための形態】
【００１２】
＜実施の形態１＞
以下、図面を参照して実施の形態１について説明する。
図１は、実施の形態１にかかる半導体装置を示すブロック図である。図１に示すように、本実施の形態にかかる半導体装置１は、メモリアレイ１０、固有ＩＤ生成回路２０、オフセット回路３０、及びメモリ制御回路４０を備える。
【００１３】
メモリアレイ１０は、メモリセルＭＣ１とメモリセルＭＣ２とを有する相補セル１１を複数備える。各々の相補セル１１は、メモリセルＭＣ１の閾値電圧Ｖｔ１とメモリセルＭＣ２の閾値電圧Ｖｔ２との違いを用いてデータを保持可能に構成されている。
【００１４】
図２は、本実施の形態にかかる半導体装置で用いられているメモリセルＭＣ１、ＭＣ２の構成例を示す図である。図２に示すように単一のメモリセルＭＣ１、ＭＣ２は、ソース領域Ｓ、ドレイン領域Ｄ、ソース領域Ｓとドレイン領域Ｄとの間のチャネル形成領域１５、チャネル形成領域１５の上にゲート絶縁膜１６を介して配置されたコントロールゲートＣＧおよびメモリゲートＭＧを備える。メモリゲートＭＧとゲート絶縁膜１６との間にはシリコンナイトライド等の電荷トラップ領域１７が配置されている。図２に示すようにメモリセルＭＣ１、ＭＣ２は、スプリットゲート型のフラッシュメモリセル（例えば、ＳＧ−ＭＯＮＯＳ）である。
【００１５】
図１、図２に示すように、各々のメモリセルＭＣ１、ＭＣ２のドレイン領域Ｄはビット線ＢＬ１、ＢＬ２に接続されており、ソース領域Ｓはソース線ＳＬに接続されており、コントロールゲートＣＧはワード線ＷＬに接続されており、メモリゲートＭＧはメモリゲート選択線ＭＧＬに接続されている。
【００１６】
図２に示すメモリセルＭＣ１、ＭＣ２の構成例において、メモリセルＭＣ１、ＭＣ２の閾値電圧Ｖｔ１、Ｖｔ２は、メモリセルＭＣ１、ＭＣ２の電荷トラップ領域１７にトラップされている電子の量によって変化する。具体的には、メモリセルＭＣ１、ＭＣ２の電荷トラップ領域１７にトラップされている電子の量が多い場合は、閾値電圧Ｖｔ１、Ｖｔ２が上昇する。逆に、メモリセルＭＣ１、ＭＣ２の電荷トラップ領域１７にトラップされている電子の量が少ない場合は、閾値電圧Ｖｔ１、Ｖｔ２が低下する。
【００１７】
メモリセルＭＣ１、ＭＣ２の閾値電圧Ｖｔ１、Ｖｔ２を上昇させる場合は、例えば、メモリセルＭＣ１、ＭＣ２の各電圧値を、ＶＤ＝０Ｖ、ＶＣＧ＝１．５Ｖ、ＶＭＧ＝１０Ｖ、ＶＳＬ＝６Ｖに設定する。このように各電圧値を設定することで、ソース領域Ｓからドレイン領域Ｄに書き込み電流が流れ、コントロールゲートＣＧとメモリゲートＭＧの境界部分で発生したホットエレクトロンが電荷トラップ領域１７に注入され、メモリセルＭＣ１、ＭＣ２の閾値電圧Ｖｔ１、Ｖｔ２が上昇する。
【００１８】
一方、メモリセルＭＣ１、ＭＣ２の閾値電圧Ｖｔ１、Ｖｔ２を低下させる場合は、例えば、メモリセルＭＣ１、ＭＣ２の各電圧値を、ＶＤ＝０Ｖ、ＶＣＧ＝０Ｖ、ＶＭＧ＝−１０Ｖ、ＶＳＬ＝６Ｖに設定する。このように各電圧値を設定することで、ＳＬジャンクションとメモリゲートＭＧとの間に高電界が印加され、ＢｔｏＢ（バンドｔｏバンドトンネリング）によりホットホールが発生する。このホットホールが、電荷トラップ領域１７に注入され、メモリセルＭＣ１、ＭＣ２の閾値電圧Ｖｔ１、Ｖｔ２が低下する。
【００１９】
また、メモリセルＭＣ１、ＭＣ２からデータを読み出す場合は、例えば、メモリセルＭＣ１、ＭＣ２の各電圧値を、ＶＤ＝１．５Ｖ、ＶＣＧ＝１．５Ｖ、ＶＭＧ＝０Ｖ、ＶＳＬ＝０Ｖに設定する。このとき、メモリセルＭＣ１、ＭＣ２の閾値電圧Ｖｔ１、Ｖｔ２が低い場合は、メモリセルＭＣ１、ＭＣ２はオン状態になる。逆に、メモリセルＭＣ１、ＭＣ２の閾値電圧Ｖｔ１、Ｖｔ２が高い場合は、メモリセルＭＣ１、ＭＣ２はオフ状態になる。
【００２０】
なお、上記で示したメモリセルＭＣ１、ＭＣ２の各電圧値ＶＤ、ＶＣＧ、ＶＭＧ、ＶＳＬの設定値は一例であり、本実施の形態にかかる半導体装置ではこれら以外の設定値を用いてもよい。また、図２に示したメモリセルＭＣ１、ＭＣ２の構成は一例であり、本実施の形態にかかる半導体装置では図２に示した構成以外のメモリセルを用いてもよい。
【００２１】
図３は、相補セル１１を構成しているメモリセルＭＣ１、ＭＣ２の閾値電圧Ｖｔ１、Ｖｔ２の分布を示す図である。相補セル１１は、メモリセルＭＣ１の閾値電圧Ｖｔ１とメモリセルＭＣ２の閾値電圧Ｖｔ２との違いを用いてデータを保持可能に構成されている。換言すると、相補セル１１は、２ビットのメモリセルＭＣ１、ＭＣ２を用いてデータを保持可能に構成されている。
【００２２】
例えば、図３（ａ）に示すように、メモリセルＭＣ２の閾値電圧Ｖｔ２がメモリセルＭＣ１の閾値電圧Ｖｔ１よりも高い場合、相補セル１１にはデータ「１」が書き込まれている。換言すると、メモリセルＭＣ１の閾値電圧Ｖｔ１がロウレベル、メモリセルＭＣ２の閾値電圧Ｖｔ２がハイレベルの場合、相補セル１１にはデータ「１」が書き込まれている。
【００２３】
逆に、図３（ｂ）に示すように、メモリセルＭＣ１の閾値電圧Ｖｔ１がメモリセルＭＣ２の閾値電圧Ｖｔ２よりも高い場合、相補セル１１にはデータ「０」が書き込まれている。換言すると、メモリセルＭＣ１の閾値電圧Ｖｔ１がハイレベル、メモリセルＭＣ２の閾値電圧Ｖｔ２がロウレベルの場合、相補セル１１にはデータ「０」が書き込まれている。
【００２４】
なお、本明細書において、メモリセルＭＣ１を「ポジメモリ」と、メモリセルＭＣ２を「ネガメモリ」と記載する場合もある。また、本実施の形態では、メモリセルＭＣ１、ＭＣ２の閾値電圧Ｖｔ１、Ｖｔ２と相補セル１１のデータ（「１」、「０」の状態）との関係を、図３に示す場合と逆になるように定義してもよい。つまり、メモリセルＭＣ１の閾値電圧Ｖｔ１がメモリセルＭＣ２の閾値電圧Ｖｔ２よりも高い場合、相補セル１１にデータ「１」が書き込まれている状態としてもよい。また、メモリセルＭＣ２の閾値電圧Ｖｔ２がメモリセルＭＣ１の閾値電圧Ｖｔ１よりも高い場合、相補セル１１にデータ「０」が書き込まれている状態としてもよい。
【００２５】
このようなメモリセルＭＣ１、ＭＣ２の閾値電圧Ｖｔ１、Ｖｔ２の状態は、メモリアレイ１０に設けられているセンスアンプＳＡを用いて読み出すことができる。また、上記で説明したメモリセルＭＣ１、ＭＣ２へのデータの書き込み、及びメモリセルＭＣ１、ＭＣ２からのデータの読み出しは、メモリ制御回路４０を用いて実施することができる。具体的には、メモリ制御回路４０を用いてメモリセルアレイ１０のビット線ＢＬ１、ＢＬ２、ワード線ＷＬ、メモリゲート選択線ＭＧＬ、ソース線ＳＬ等を制御することで、メモリセルＭＣ１、ＭＣ２へのデータの書き込み、及びメモリセルＭＣ１、ＭＣ２からのデータの読み出しを実施することができる。
【００２６】
図３（ｃ）は、メモリアレイ１０の製造後の初期状態におけるメモリセルＭＣ１、ＭＣ２の閾値電圧Ｖｔ１、Ｖｔ２の分布を示している。図３（ｃ）に示すように、初期状態においてはメモリセルＭＣ１、ＭＣ２の閾値電圧Ｖｔ１、Ｖｔ２の分布は互いに重なっており、閾値電圧Ｖｔ１、Ｖｔ２が均等にばらついている。なお、以下ではメモリセルＭＣ１、ＭＣ２の閾値電圧Ｖｔ１、Ｖｔ２を総称して閾値電圧Ｖｔと記載する場合もある。
【００２７】
図４は、メモリセルＭＣ１、ＭＣ２の初期の閾値電圧Ｖｔと累積確率との関係を示す図である。図４に示すように、メモリセルＭＣ１、ＭＣ２の初期の閾値電圧Ｖｔは、均等にばらついている。このため、メモリセルＭＣ１、ＭＣ２をランダムに取り出し、その閾値電圧Ｖｔ１、Ｖｔ２を調べると、閾値電圧Ｖｔ１と閾値電圧Ｖｔ２との間に差がある場合がある。
【００２８】
図５は、各々のメモリセルＭＣ１、ＭＣ２の初期の閾値電圧Ｖｔ１、Ｖｔ２を示す図である。具体的には、図５は、メモリゲートＭＧの電圧ＶＭＧの変化に対する各々のメモリセルＭＣ１、ＭＣ２の閾値電圧Ｖｔ１、Ｖｔ２の変化を示している。図５に示すように、ＶＭＧ＝０Ｖにおいて、メモリセルＭＣ１の初期の閾値電圧Ｖｔ１とメモリセルＭＣ２の初期の閾値電圧Ｖｔ２との間には電位差ΔＶｔが存在する。ここで、ＶＭＧ＝０Ｖは、メモリセルＭＣ１、ＭＣ２からデータを読み出す際のメモリゲートＭＧの設定電圧ＶＭＧに対応している。
【００２９】
このようにメモリセルＭＣ１の初期の閾値電圧Ｖｔ１とメモリセルＭＣ２の初期の閾値電圧Ｖｔ２との間に電位差ΔＶがある場合は、メモリセルＭＣ１とメモリセルＭＣ２とをセンスアンプＳＡにつないでデータを読み出す処理をすることで、所定のデータ（「１」または「０」）を読み出すことができる。図５に示す例では、メモリセルＭＣ２の初期の閾値電圧Ｖｔ２がメモリセルＭＣ１の初期の閾値電圧Ｖｔ１よりも高いので、データ「１」が読み出される。
【００３０】
このように、本実施の形態では、メモリアレイ１０の各々のメモリセルＭＣ１、ＭＣ２（不揮発性メモリ）にＰＵＦ技術を適用し、各々のメモリセルＭＣ１、ＭＣ２の製造後の初期の閾値電圧Ｖｔ１、Ｖｔ２のばらつきに起因したデータを読み出すことで、メモリアレイ１０に固有のＩＤを生成することができる。
【００３１】
一例を挙げると、図５において各々のメモリセルＭＣ１、ＭＣ２の初期の閾値電圧Ｖｔ１、Ｖｔ２の電位差ΔＶｔが０．５Ｖ以上必要であるとすると、０．７６３σ（２２．３％）程度のメモリセルは、メモリセルＭＣ１、ＭＣ２の初期の閾値電圧Ｖｔ１、Ｖｔ２の差が小さいために、読み出したデータが不定となるため固有ＩＤの生成に使用することができない。換言すると、必要な閾値電圧の電位差ΔＶｔを０．５Ｖ以上に設定した場合は、７５％程度のメモリセルを固有ＩＤの生成に使用することができる。
【００３２】
図６は、初期の閾値電圧Ｖｔ１、Ｖｔ２の電位差ΔＶｔと累積確率との関係を示す図である。図６に示すように、所定の｜ΔＶｔ｜の値（例えば、０．５Ｖ）をセンスアンプＳＡの検出最小値とすると、数１０％以下のメモリセルでは｜ΔＶｔ｜の値が所定の｜ΔＶｔ｜の値よりも小さくなる。これらのメモリセルのデータを読み出すと、データが不安定（不定）となり固有ＩＤを生成した際にエラーレートが上昇する。
【００３３】
本実施の形態では、図１に示す固有ＩＤ生成回路２０を用いて、このような不安定なメモリセル（ビット）を特定し、これらのメモリセルをマスクして固有ＩＤの生成に使用しないようにしている。換言すると、センスアンプＳＡの最小感度以上のΔＶｔを有するメモリセルのみを抽出して、固有ＩＤを生成している。よって、生成された固有ＩＤの信頼性を向上させることができる。以下、固有ＩＤ生成回路２０について説明する。
【００３４】
図１に示す固有ＩＤ生成回路２０は、メモリセルＭＣ１の初期の閾値電圧Ｖｔ１とメモリセルＭＣ２の初期の閾値電圧Ｖｔ２とを用いてメモリアレイ１０に固有のＩＤを生成する。このとき、固有ＩＤ生成回路２０は、メモリセルＭＣ１の初期の閾値電圧Ｖｔ１を仮想的にオフセットさせた第１の状態において相補セル１１のデータ（第１のデータ）を読み出し、メモリセルＭＣ２の初期の閾値電圧Ｖｔ２を仮想的にオフセットさせた第２の状態において相補セル１１のデータ（第２のデータ）を読み出す。そして、第１の状態において読み出した相補セル１１のデータ（第１のデータ）と第２の状態において読み出した相補セル１１のデータ（第２のデータ）とが一致する場合、相補セル１１のデータを固有ＩＤとして用いている。
【００３５】
図１に示すように、固有ＩＤ生成回路２０は、保持回路２１、判定回路２２、判定結果格納回路２３、及びオフセット制御回路２４を備える。
【００３６】
保持回路２１は、固有ＩＤを生成する際にメモリアレイ１０から読み出されたデータ、つまりセンスアンプＳＡから出力されたデータを一時的に保持する。具体的には、保持回路２１は、メモリセルＭＣ１の初期の閾値電圧Ｖｔ１を仮想的にオフセットさせた第１の状態において読み出された相補セル１１のデータ（第１のデータ）、及びメモリセルＭＣ２の初期の閾値電圧Ｖｔ２を仮想的にオフセットさせた第２の状態において読み出された相補セル１１のデータ（第２のデータ）をそれぞれ、一時的に保持する。
【００３７】
判定回路２２は、保持回路２１に保持されている第１の状態において読み出された相補セル１１のデータ（第１のデータ）と、保持回路２１に保持されている第２の状態において読み出された相補セル１１のデータ（第２のデータ）と、を入力し、これらのデータが一致するか否かを判定する。
【００３８】
判定結果格納回路２３は、判定回路２２における判定結果を格納する。
例えば、判定結果格納回路２３は、第１の状態において読み出した相補セル１１のデータと第２の状態において読み出した相補セル１１のデータとが一致しなかった相補セル１１のアドレス情報を格納してもよい。この場合、固有ＩＤ生成回路２０は、次回固有ＩＤを生成する際に、判定結果格納回路２３に格納されているアドレス情報に対応した相補セル１１（つまり、信頼性の低い不安定な相補セル）を用いないで固有ＩＤを生成することができる。
【００３９】
また、例えば、判定結果格納回路２３は、第１の状態において読み出した相補セル１１のデータと第２の状態において読み出した相補セル１１のデータとが一致した相補セル１１のアドレス情報を格納してもよい。この場合、固有ＩＤ生成回路２０は、次回固有ＩＤを生成する際に、判定結果格納回路２３に格納されているアドレス情報に対応した相補セル１１（つまり、信頼性の高い安定した相補セル）を用いて固有ＩＤを生成することができる。
【００４０】
オフセット制御回路２４は、オフセット回路３０を制御して、メモリセルＭＣ１の初期の閾値電圧Ｖｔ１を仮想的に低下させる。同様に、オフセット制御回路２４は、オフセット回路３０を制御して、メモリセルＭＣ２の初期の閾値電圧Ｖｔ２を仮想的に低下させる。
【００４１】
図１に示す構成例では、オフセット回路３０はトランジスタＴｒ１、Ｔｒ２を用いて構成されている。トランジスタＴｒ１は、メモリアレイ１０のビット線ＢＬ１と接地電位との間に接続されており、ゲートにはオフセット制御回路２４からオフセット制御信号Ｃｔｒ１が供給される。トランジスタＴｒ１は、オフセット制御回路２４からハイレベルのオフセット制御信号Ｃｔｒ１が供給されるとオン状態となる。このとき、ビット線ＢＬ１はトランジスタＴｒ１を介して接地電位に電気的に接続されるため、ビット線ＢＬ１から電流が引き抜かれ、メモリセルＭＣ１の初期の閾値電圧Ｖｔ１が仮想的に低下する。
【００４２】
同様に、トランジスタＴｒ２は、メモリアレイ１０のビット線ＢＬ２と接地電位との間に接続されており、ゲートにはオフセット制御回路２４からオフセット制御信号Ｃｔｒ２が供給される。トランジスタＴｒ２は、オフセット制御回路２４からハイレベルのオフセット制御信号Ｃｔｒ２が供給されるとオン状態となる。このとき、ビット線ＢＬ２はトランジスタＴｒ２を介して接地電位に電気的に接続されるため、ビット線ＢＬ２から電流が引き抜かれ、メモリセルＭＣ２の初期の閾値電圧Ｖｔ２が仮想的に低下する。
【００４３】
このように、図１に示す構成例では、トランジスタＴｒ１、Ｔｒ２は、電流引き抜き回路として機能する。
【００４４】
本実施の形態にかかる半導体装置において固有ＩＤを生成する際は、固有ＩＤ生成回路２０は、まず、トランジスタＴｒ１をオン状態、トランジスタＴｒ２をオフ状態にする。トランジスタＴｒ１がオン状態になると、ビット線ＢＬ１から電流が引き抜かれてメモリセルＭＣ１の初期の閾値電圧Ｖｔ１が仮想的に低下する。この状態（第１の状態）で相補セル１１のデータ（第１のデータ）を読み出す。次に、トランジスタＴｒ１をオフ状態、トランジスタＴｒ２をオン状態にする。トランジスタＴｒ２がオン状態になると、ビット線ＢＬ２から電流が引き抜かれてメモリセルＭＣ２の初期の閾値電圧Ｖｔ２が仮想的に低下する。この状態（第２の状態）で相補セル１１のデータ（第２のデータ）を読み出す。そして、第１の状態において読み出した相補セル１１の第１のデータと第２の状態において読み出した相補セル１１の第２のデータとが一致する場合、相補セル１１のデータを固有ＩＤとして用いている。
【００４５】
図７は、各々の相補セル＃１〜＃５が備えるメモリセルＭＣ１、ＭＣ２の初期の閾値電圧Ｖｔ１、Ｖｔ２と、読み出したデータとの関係を示す図である。図７の各々の相補セル＃１〜＃５における白丸および黒丸は、相補セル＃１〜＃５を構成するメモリセルＭＣ１、ＭＣ２の閾値電圧Ｖｔ１、Ｖｔ２の値をそれぞれ示している。具体的には、白丸（ｐ）は、メモリセルＭＣ１（ポジメモリ）の閾値電圧Ｖｔ１の値を、黒丸（ｎ）は、メモリセルＭＣ２（ネガメモリ）の閾値電圧Ｖｔ２の値をそれぞれ示している。また、図７では、白丸および黒丸が上方向に行くほど、閾値電圧Ｖｔ１、Ｖｔ２の値が高くなることを示している。
【００４６】
図３（ｃ）に示したように、メモリアレイ１０の製造後の初期状態において、メモリセルＭＣ１、ＭＣ２の閾値電圧Ｖｔ１、Ｖｔ２の分布は互いに重なっている。ここで、メモリセルＭＣ１、ＭＣ２の閾値電圧Ｖｔ１、Ｖｔ２には図３（ｃ）に示したようにばらつきがあるため、各々の相補セル１１を構成するメモリセルＭＣ１、ＭＣ２の閾値電圧Ｖｔ１、Ｖｔ２にもばらつきがある。このため、図７に示すように、メモリアレイ１０の製造後の初期状態では、相補セル１１を構成するメモリセルＭＣ１、ＭＣ２の閾値電圧Ｖｔ１、Ｖｔ２にばらつきが生じる。具体的には、相補セル＃１では、メモリセルＭＣ１、ＭＣ２の閾値電圧Ｖｔ１、Ｖｔ２がほぼ同じ値である場合を示している。相補セル＃２、＃３では、メモリセルＭＣ１、ＭＣ２の閾値電圧Ｖｔ１、Ｖｔ２の値に差があるものの、その電位差ΔＶｔが小さい場合を示している。相補セル＃４、＃５では、メモリセルＭＣ１、ＭＣ２の閾値電圧Ｖｔ１、Ｖｔ２の電位差ΔＶｔが大きい場合を示している。
【００４７】
このような相補セル＃１〜＃５に対して通常の読み出し動作（１回目）を実施すると、図７に示すように、相補セル＃１のデータは「１」、相補セル＃２のデータは「１」、相補セル＃３のデータは「０」、相補セル＃４のデータは「１」、相補セル＃５のデータは「０」となる。
【００４８】
その後、再度、相補セル＃１〜＃５に対して通常の読み出し動作（２回目）を実施すると、図７に示すように、相補セル＃１のデータは「０」、相補セル＃２のデータは「１」、相補セル＃３のデータは「０」、相補セル＃４のデータは「１」、相補セル＃５のデータは「０」となる。
【００４９】
つまり、相補セル＃１では、メモリセルＭＣ１、ＭＣ２の閾値電圧Ｖｔ１、Ｖｔ２がほぼ同じ値であるため、１回目の読み出しと２回目の読み出しとで、読み出されたデータが反転している。このように、閾値電圧Ｖｔ１、Ｖｔ２の電位差ΔＶｔが小さい相補セルを用いて固有ＩＤを生成すると、得られるデータが不安定（不定）となり固有ＩＤを生成した際にエラーレートが上昇する。
【００５０】
本実施の形態では、固有ＩＤ生成回路２０を用いて、このように不安定（不定）となりやすいメモリセル（ビット）を特定し、これらのメモリセルをマスクして固有ＩＤの生成に使用しないようにしている。以下、本実施の形態にかかる半導体装置の動作（固有ＩＤ生成方法）について、図８、図９を用いて詳細に説明する。
【００５１】
図８は、本実施の形態にかかる半導体装置の動作を説明するための図である。図９は、本実施の形態にかかる半導体装置の動作を説明するためのフローチャートである。なお、図８に示す各相補セル＃１〜＃５におけるメモリセルＭＣ１、ＭＣ２の初期の閾値電圧Ｖｔ１、Ｖｔ２は、図７に示した各相補セル＃１〜＃５におけるメモリセルＭＣ１、ＭＣ２の初期の閾値電圧Ｖｔ１、Ｖｔ２と同様である。
【００５２】
本実施の形態にかかる半導体装置を用いて固有ＩＤを生成する際は、まず、各相補セル＃１〜＃５のメモリセルＭＣ１の初期の閾値電圧Ｖｔ１をオフセットさせる（図９のステップＳ１）。具体的には、図１のオフセット制御回路２４は、トランジスタＴｒ１のゲートにハイレベルのオフセット制御信号Ｃｔｒ１を、トランジスタＴｒ２のゲートにロウレベルのオフセット制御信号Ｃｔｒ２をそれぞれ供給する。これにより、トランジスタＴｒ１はオン状態、トランジスタＴｒ２はオフ状態となる。トランジスタＴｒ１がオン状態となると、ビット線ＢＬ１がトランジスタＴｒ１を介して接地電位に電気的に接続され、ビット線ＢＬ１から電流が引き抜かれ、メモリセルＭＣ１の初期の閾値電圧Ｖｔ１が仮想的に低下する。
【００５３】
つまり、図８の符号８１に示すように、メモリセルＭＣ１が接続されているビット線ＢＬ１から電流が引き抜かれると、各相補セル＃１〜＃５のメモリセルＭＣ１の初期の閾値電圧Ｖｔ１が仮想的に低下する。
【００５４】
この状態で各相補セル＃１〜＃５のデータ（第１のデータ）を読み出すと（図９のステップＳ２）、図８の（ａ）に示すように、相補セル＃１のデータは「０」、相補セル＃２のデータは「０」、相補セル＃３のデータは「０」、相補セル＃４のデータは「１」、相補セル＃５のデータは「０」となる。
【００５５】
例えば、図１に示す固有ＩＤ生成回路２０は、メモリ制御回路４０に、メモリセルアレイ１０に対して読み出し動作を実施するように指示を出す。メモリ制御回路４０は、固有ＩＤ生成回路２０から読み出し動作を実施するように指示を受けると、メモリセルアレイ１０に対して読み出し動作を実施する。
【００５６】
読み出し動作が実施されると、センスアンプＳＡから各相補セル＃１〜＃５のデータ（第１のデータ）が出力される。この出力されたデータ（第１のデータ）は、一時的に保持回路２１に保持される（図９のステップＳ３）。
【００５７】
次に、各相補セル＃１〜＃５のメモリセルＭＣ２の初期の閾値電圧Ｖｔ２をオフセットさせる（図９のステップＳ４）。具体的には、図１のオフセット制御回路２４は、トランジスタＴｒ１のゲートにロウレベルのオフセット制御信号Ｃｔｒ１を、トランジスタＴｒ２のゲートにハイレベルのオフセット制御信号Ｃｔｒ２をそれぞれ供給する。これにより、トランジスタＴｒ１はオフ状態、トランジスタＴｒ２はオン状態となる。トランジスタＴｒ２がオン状態となると、ビット線ＢＬ２がトランジスタＴｒ２を介して接地電位に電気的に接続され、ビット線ＢＬ２から電流が引き抜かれ、メモリセルＭＣ２の初期の閾値電圧Ｖｔ２が仮想的に低下する。
【００５８】
つまり、図８の符号８２に示すように、メモリセルＭＣ２が接続されているビット線ＢＬ２から電流が引き抜かれると、各相補セル＃１〜＃５のメモリセルＭＣ２（ｎ）の初期の閾値電圧Ｖｔ２が仮想的に低下する。
【００５９】
この状態で相補セル＃１〜＃５のデータ（第２のデータ）を読み出すと（図９のステップＳ５）、図８の（ｂ）に示すように、相補セル＃１のデータは「１」、相補セル＃２のデータは「１」、相補セル＃３のデータは「１」、相補セル＃４のデータは「１」、相補セル＃５のデータは「０」となる。
【００６０】
読み出し動作が実施されると、センスアンプＳＡから各相補セル＃１〜＃５のデータ（第２のデータ）が出力される。この出力されたデータ（第２のデータ）は、一時的に保持回路２１に保持される（図９のステップＳ６）。
【００６１】
その後、図１に示した判定回路２２は、保持回路２１に保持されている第１及び第２のデータを入力し、これらのデータが一致するか否かをビット毎に比較する（図９のステップＳ７）。そして、判定回路２２は、第１及び第２のデータが一致する場合、第１及び第２のデータが一致した相補セルを安定した相補セル（安定ビット）と判定する（ステップＳ８）。ステップＳ８において安定した相補セルと判定された相補セルから読み出されたデータは、固有ＩＤとして利用される（ステップＳ９）。
【００６２】
一方、判定回路２２は、第１及び第２のデータが一致しない場合、この相補セルを不安定な相補セル（不安定ビット）と判定する（ステップＳ１０）。この場合、図１に示す判定結果格納回路２３は、ステップＳ１０において不安定な相補セルと判定された相補セルのアドレス情報を格納する（ステップＳ１１）。固有ＩＤ生成回路２０は、次回固有ＩＤを生成する際に、判定結果格納回路２３に格納されているアドレス情報に対応した相補セル１１（つまり、信頼性の低い不安定な相補セル）を用いないで固有ＩＤを生成することができる。
【００６３】
つまり、図８に示すように、相補セル＃１〜＃３では、メモリセルＭＣ１の閾値電圧Ｖｔ１を仮想的にオフセットさせた状態で読み出されたデータ（第１のデータ）と、メモリセルＭＣ２の閾値電圧Ｖｔ２を仮想的にオフセットさせた状態で読み出されたデータ（第２のデータ）とが互いに反転している（つまり、不定：Ｘとなる）。よって、相補セル＃１〜＃３では、メモリセルＭＣ１の閾値電圧Ｖｔ１とメモリセルＭＣ２の閾値電圧Ｖｔ２との電位差ΔＶｔが小さいため、固有ＩＤとして使用するには不安定であるといえる。
【００６４】
これに対して、相補セル＃４、＃５では、メモリセルＭＣ１の閾値電圧Ｖｔ１を仮想的にオフセットさせた状態で読み出されたデータ（第１のデータ）と、メモリセルＭＣ２の閾値電圧Ｖｔ２を仮想的にオフセットさせた状態で読み出されたデータ（第２のデータ）とが互いに同一となっている。よって、相補セル＃４、＃５では、メモリセルＭＣ１の閾値電圧Ｖｔ１とメモリセルＭＣ２の閾値電圧Ｖｔ２との電位差ΔＶｔが大きいため、信頼性の高い固有ＩＤとして使用することができる。
【００６５】
本実施の形態では、不安定な相補セル＃１〜＃３をマスクし、安定した相補セル＃４、＃５を用いて固有ＩＤを生成することで、生成された固有ＩＤの信頼性を向上させることができる。
【００６６】
なお、図９に示すフローチャートのステップＳ１１において、図１に示す判定結果格納回路２３は、不安定な相補セルと判定された相補セルのアドレス情報を格納する代わりに、安定な相補セルと判定された相補セルのアドレス情報を格納するようにしてもよい。この場合、固有ＩＤ生成回路２０は、次回固有ＩＤを生成する際に、判定結果格納回路２３に格納されているアドレス情報に対応した相補セル１１（つまり、信頼性の高い安定した相補セル）を用いて固有ＩＤを生成することができる。
【００６７】
図１０は、相補セルの読み出し時におけるエラー確率と累積確率との関係を示す図である。図１０に示すように、メモリセルＭＣ１、ＭＣ２（初期の閾値電圧Ｖｔ１、Ｖｔ２）で構成される相補セルを通常の方法で読み出した場合は、ある一定の確率で読み出しエラーとなる。このため、本実施の形態にかかる固有ＩＤ生成方法を用いない場合は、生成された固有ＩＤの信頼性が低下する。
【００６８】
図１０の（ａ）〜（ｃ）は、図８に示した（ａ）〜（ｃ）に対応している。つまり、図１０の（ａ）は、メモリセルＭＣ１の初期の閾値電圧Ｖｔ１をオフセットさせた状態で相補セルのデータを読み出した際のエラー確率を示している。また、図１０の（ｂ）は、メモリセルＭＣ２の初期の閾値電圧Ｖｔ２をオフセットさせた状態で相補セルのデータを読み出した際のエラー確率を示している。また、図１０の（ｃ）は、不安定な相補セル（不定ビット）をマスクした後のエラー確率を示している。図１０の（ｄ）は、図１０の（ａ）のエラー確率と（ｂ）のエラー確率とを加算した値に対応している。
【００６９】
図１０の（ａ）、（ｂ）、（ｄ）に示すように、メモリセルＭＣ１、ＭＣ２の初期の閾値電圧Ｖｔ１、Ｖｔ２をオフセットさせた状態で相補セルのデータを読み出した場合は、エラー確率が高くなっている。これは閾値電圧Ｖｔ１、Ｖｔ２をオフセットさせることで、潜在的にエラーを起こす可能性のある相補セルを抽出できていることを示している。
【００７０】
また、図１０の（ｃ）に示すように、不安定な相補セル（不定ビット）をマスクした後のエラー確率は、通常読み出しの場合のエラー確率よりも低くなっている。よって、本実施の形態にかかる固有ＩＤ生成方法を用いて不安定な相補セルをマスクすることで、生成された固有ＩＤの信頼性を向上させることができる。
【００７１】
図１１は、本実施の形態にかかる半導体装置１が備えるメモリアレイ１０のアドレス空間５０を説明するための図である。図１１に示すように、メモリアレイ１０のアドレス空間５０には、ユーザ領域５１とエクストラ領域５２とが設けられている。本実施の形態では、エクストラ領域５２の一部を初期の閾値電圧Ｖｔを得るための領域として用いることで、一般的なメモリアレイ１０（フラッシュメモリ）に変更を加えることなく、セキュリティの機能を付加することができる。
【００７２】
換言すると、ユーザ領域５１のアドレス空間に配置された相補セルをデータ保持用の相補セルとして用い、エクストラ領域５２のアドレス空間に配置された相補セルを固有ＩＤ生成用の相補セルとして用いてもよい。
【００７３】
また、図１に示すメモリ制御回路４０は、固有ＩＤ生成回路２０において固有ＩＤを生成する際に、相補セルから読み出した第１及び第２のデータが一致しなかった場合（つまり、不安定な相補セルと判定された場合）、当該一致しなかった相補セルを固有ＩＤ生成用の相補セルからデータ保持用の相補セルに切り替えるようにしてもよい。つまり、図１２に示すように、エクストラ領域５２のアドレス空間に配置された相補セルを固有ＩＤ生成用の相補セルとして用いた際に不安定な相補セルと判定された場合、当該不安定な相補セルをデータ保持用の相補セル（この相補セルのアドレス空間を符号５３で示す）に切り替えるようにしてもよい。このような構成により、不安定な相補セルを有効に活用することができる。
【００７４】
なお、上記では、メモリセルＭＣ１、ＭＣ２の初期の閾値電圧Ｖｔ１、Ｖｔ２を仮想的にオフセットさせるための構成として、ビット線ＢＬ１、ＢＬ２から電流を引き抜いてメモリセルＭＣ１、ＭＣ２の初期の閾値電圧Ｖｔ１、Ｖｔ２を仮想的に低下させる構成について説明した。しかし本実施の形態では、ビット線ＢＬ１、ＢＬ２に電流を供給してメモリセルＭＣ１、ＭＣ２の初期の閾値電圧Ｖｔ１、Ｖｔ２を仮想的に上昇させるように構成してもよい。以下、この構成について説明する。
【００７５】
図１３は、本実施の形態にかかる半導体装置の他の構成例を示すブロック図である。図１３に示す半導体装置２は、図１に示した半導体装置１と比べてオフセット回路６０の構成が異なる。これ以外の構成については図１に示した半導体装置１と同様であるので、同一の構成要素には同一の符号を付し、重複した説明は省略する。
【００７６】
図１３に示す半導体装置２において、オフセット制御回路２４は、オフセット回路６０を制御して、メモリセルＭＣ１の初期の閾値電圧Ｖｔ１を仮想的に上昇させる。同様に、オフセット制御回路２４は、オフセット回路６０を制御して、メモリセルＭＣ２の初期の閾値電圧Ｖｔ２を仮想的に上昇させる。
【００７７】
図１３に示す構成例では、オフセット回路６０はトランジスタＴｒ１１、Ｔｒ１２、及び定電流源６１を用いて構成されている。トランジスタＴｒ１１は、メモリアレイ１０のビット線ＢＬ１と定電流源６１との間に接続されており、ゲートにはオフセット制御回路２４からオフセット制御信号Ｃｔｒ１が供給される。トランジスタＴｒ１１は、オフセット制御回路２４からハイレベルのオフセット制御信号Ｃｔｒ１が供給されるとオン状態となる。このとき、ビット線ＢＬ１はトランジスタＴｒ１１を介して定電流源６１と電気的に接続されるため、ビット線ＢＬ１に電流が供給され、メモリセルＭＣ１の初期の閾値電圧Ｖｔ１が仮想的に上昇する。
【００７８】
同様に、トランジスタＴｒ１２は、メモリアレイ１０のビット線ＢＬ２と定電流源６１との間に接続されており、ゲートにはオフセット制御回路２４からオフセット制御信号Ｃｔｒ２が供給される。トランジスタＴｒ１２は、オフセット制御回路２４からハイレベルのオフセット制御信号Ｃｔｒ２が供給されるとオン状態となる。このとき、ビット線ＢＬ２はトランジスタＴｒ１２を介して定電流源６１と電気的に接続されるため、ビット線ＢＬ２に電流が供給され、メモリセルＭＣ２の初期の閾値電圧Ｖｔ２が仮想的に上昇する。
【００７９】
このように、図１３に示す構成例では、トランジスタＴｒ１１、Ｔｒ１２は、電流供給回路として機能する。
【００８０】
図１３に示す半導体装置２においても、固有ＩＤ生成回路２０は、まず、トランジスタＴｒ１１をオン状態、トランジスタＴｒ１２をオフ状態にする。トランジスタＴｒ１１がオン状態になると、ビット線ＢＬ１に電流が供給されてメモリセルＭＣ１の初期の閾値電圧Ｖｔ１が仮想的に上昇する。この状態（第１の状態）で相補セル１１のデータ（第１のデータ）を読み出す。次に、トランジスタＴｒ１１をオフ状態、トランジスタＴｒ１２をオン状態にする。トランジスタＴｒ１２がオン状態になると、ビット線ＢＬ２に電流が供給されてメモリセルＭＣ２の初期の閾値電圧Ｖｔ２が仮想的に上昇する。この状態（第２の状態）で相補セル１１のデータ（第２のデータ）を読み出す。そして、第１の状態において読み出した相補セル１１の第１のデータと第２の状態において読み出した相補セル１１の第２のデータとが一致する場合、相補セル１１のデータを固有ＩＤとして用いている。
【００８１】
図１３に示す半導体装置２においても、固有ＩＤ生成回路２０を用いて、このように不安定（不定）となりやすいメモリセル（ビット）を特定し、これらのメモリセルをマスクして固有ＩＤの生成に使用しないようにしている。
【００８２】
図１４は、本実施の形態にかかる半導体装置の動作を説明するための図であり、図８に示した図と対応している。
図１３に示す半導体装置２を用いて固有ＩＤを生成する際は、まず、各相補セル＃１〜＃５のメモリセルＭＣ１の初期の閾値電圧Ｖｔ１をオフセットさせる。具体的には、図１３のオフセット制御回路２４は、トランジスタＴｒ１１のゲートにハイレベルのオフセット制御信号Ｃｔｒ１を、トランジスタＴｒ１２のゲートにロウレベルのオフセット制御信号Ｃｔｒ２をそれぞれ供給する。これにより、トランジスタＴｒ１１はオン状態、トランジスタＴｒ１２はオフ状態となる。トランジスタＴｒ１１がオン状態となると、ビット線ＢＬ１がトランジスタＴｒ１を介して定電流源６１と接続され、ビット線ＢＬ１に電流が供給されて、メモリセルＭＣ１の初期の閾値電圧Ｖｔ１が仮想的に上昇する。
【００８３】
つまり、図１４の符号９１に示すように、メモリセルＭＣ１が接続されているビット線ＢＬ１に電流が供給されると、各相補セル＃１〜＃５のメモリセルＭＣ１の初期の閾値電圧Ｖｔ１が仮想的に上昇する。
【００８４】
この状態で各相補セル＃１〜＃５のデータ（第１のデータ）を読み出すと、図１４の（ａ）に示すように、相補セル＃１のデータは「１」、相補セル＃２のデータは「１」、相補セル＃３のデータは「１」、相補セル＃４のデータは「１」、相補セル＃５のデータは「０」となる。
【００８５】
読み出し動作が実施されると、センスアンプＳＡから各相補セル＃１〜＃５のデータ（第１のデータ）が出力される。この出力されたデータ（第１のデータ）は、一時的に保持回路２１に保持される。
【００８６】
次に、各相補セル＃１〜＃５のメモリセルＭＣ２の初期の閾値電圧Ｖｔ２をオフセットさせる。具体的には、図１３のオフセット制御回路２４は、トランジスタＴｒ１１のゲートにロウレベルのオフセット制御信号Ｃｔｒ１を、トランジスタＴｒ１２のゲートにハイレベルのオフセット制御信号Ｃｔｒ２をそれぞれ供給する。これにより、トランジスタＴｒ１１はオフ状態、トランジスタＴｒ１２はオン状態となる。トランジスタＴｒ１２がオン状態となると、ビット線ＢＬ２がトランジスタＴｒ１２を介して定電流源６１に電気的に接続され、ビット線ＢＬ２に電流が供給され、メモリセルＭＣ２の初期の閾値電圧Ｖｔ２が仮想的に上昇する。
【００８７】
つまり、図１４の符号９２に示すように、メモリセルＭＣ２が接続されているビット線ＢＬ２に電流が供給されると、各相補セル＃１〜＃５のメモリセルＭＣ２（ｎ）の初期の閾値電圧Ｖｔ２が仮想的に上昇する。
【００８８】
この状態で相補セル＃１〜＃５のデータ（第２のデータ）を読み出すと、図１４の（ｂ）に示すように、相補セル＃１のデータは「０」、相補セル＃２のデータは「０」、相補セル＃３のデータは「０」、相補セル＃４のデータは「１」、相補セル＃５のデータは「０」となる。
【００８９】
読み出し動作が実施されると、センスアンプＳＡから各相補セル＃１〜＃５のデータ（第２のデータ）が出力される。この出力されたデータ（第２のデータ）は、一時的に保持回路２１に保持される。
【００９０】
その後、図１３に示した判定回路２２は、保持回路２１に保持されている第１及び第２のデータを入力し、これらのデータが一致するか否かをビット毎に比較する。そして、判定回路２２は、第１及び第２のデータが一致する場合、第１及び第２のデータが一致した相補セルを安定した相補セル（安定ビット）と判定する。安定した相補セルと判定された相補セルから読み出されたデータは固有ＩＤとして利用される。
【００９１】
一方、判定回路２２は、第１及び第２のデータが一致しない場合、この相補セルを不安定な相補セル（不安定ビット）と判定する。この場合、図１３に示す判定結果格納回路２３は、不安定な相補セルと判定された相補セルのアドレス情報を格納する。固有ＩＤ生成回路２０は、次回固有ＩＤを生成する際に、判定結果格納回路２３に格納されているアドレス情報に対応した相補セル１１（つまり、信頼性の低い不安定な相補セル）を用いないで固有ＩＤを生成することができる。
【００９２】
つまり、図１４に示すように、相補セル＃１〜＃３では、メモリセルＭＣ１の閾値電圧Ｖｔ１を仮想的にオフセットさせた状態で読み出されたデータ（第１のデータ）と、メモリセルＭＣ２の閾値電圧Ｖｔ２を仮想的にオフセットさせた状態で読み出されたデータ（第２のデータ）とが互いに反転している（つまり、不定：Ｘとなる）。よって、相補セル＃１〜＃３では、メモリセルＭＣ１の閾値電圧Ｖｔ１とメモリセルＭＣ２の閾値電圧Ｖｔ２との電位差ΔＶｔが小さいため、固有ＩＤとして使用するには不安定であるといえる。
【００９３】
これに対して、相補セル＃４、＃５では、メモリセルＭＣ１の閾値電圧Ｖｔ１を仮想的にオフセットさせた状態で読み出されたデータ（第１のデータ）と、メモリセルＭＣ２の閾値電圧Ｖｔ２を仮想的にオフセットさせた状態で読み出されたデータ（第２のデータ）とが互いに同一となっている。よって、相補セル＃４、＃５では、メモリセルＭＣ１の閾値電圧Ｖｔ１とメモリセルＭＣ２の閾値電圧Ｖｔ２との電位差ΔＶｔが大きいため、信頼性の高い固有ＩＤとして使用することができる。
【００９４】
本実施の形態では、不安定な相補セル＃１〜＃３をマスクし、安定した相補セル＃４、＃５を用いて固有ＩＤを生成することで、生成された固有ＩＤの信頼性を向上させることができる。
【００９５】
以上で説明した本実施の形態によれば、生成された固有ＩＤの信頼性を向上させることが可能な半導体装置、及び固有ＩＤ生成方法を提供することができる。
【００９６】
＜実施の形態２＞
次に、実施の形態２について説明する。
実施の形態２にかかる半導体装置では、固有ＩＤ生成回路２０において不安定な相補セル（メモリセル）と判定される相補セルの割合が所定の割合よりも少なくなるようにしている点が、実施の形態１で説明した半導体装置と異なる。これ以外については、実施の形態１で説明した半導体装置と同様であるので、重複した説明は適宜省略する。
【００９７】
図１５は、本実施の形態にかかる半導体装置の動作を説明するためのフローチャートである。図１５に示すフローチャートにおいて、ステップＳ２１〜Ｓ２７の動作については、図９に示したフローチャートのステップＳ１〜Ｓ７の動作と同様であるので重複した説明は省略する。
【００９８】
図１５に示すステップＳ２７において、固有ＩＤ生成回路２０が備える判定回路２２は、保持回路２１に保持されている第１及び第２のデータが一致するか否かをビット毎に比較し、第１及び第２のデータが一致する場合、第１及び第２のデータが一致した相補セルを安定した相補セル（安定ビット）と判定する（ステップＳ２８）。一方、判定回路２２は、第１及び第２のデータが一致しない場合、この相補セルを不安定な相補セル（不安定ビット）と判定する（ステップＳ２９）。
【００９９】
その後、判定回路２２は、第１及び第２のデータが一致した相補セルに対する、第１及び第２のデータが一致しない相補セルの割合（不安定ビット率）が所定のターゲット範囲内であるか否かを判定する（ステップＳ３０）。ここで、「所定のターゲット範囲」とは、固有ＩＤ生成回路２０がマスクする相補セルの割合の目標値であり、所定の幅を持った範囲である。このターゲット範囲は、半導体装置から固有ＩＤを安定的に取り出せる範囲であり、半導体装置が使用される温度、電圧変動、長時間放置後の読み出し等を考慮して決定される。つまり、固有ＩＤを安定的に取り出せることを前提としつつ、不安定ビットの目標値を予め決定してターゲット範囲を決定する。
【０１００】
そして、第１及び第２のデータが一致しない相補セルの割合（不安定ビット率）が所定のターゲット範囲内である場合（ステップＳ３０：Ｙｅｓ）、ステップＳ２８において安定した相補セルと判定された相補セルから読み出されたデータを固有ＩＤとして利用する（ステップＳ３１）。また、図１に示す判定結果格納回路２３は、ステップＳ２９において不安定な相補セルと判定された相補セルのアドレス情報を格納する（ステップＳ３２）。固有ＩＤ生成回路２０は、次回固有ＩＤを生成する際に、判定結果格納回路２３に格納されているアドレス情報に対応した相補セル１１（つまり、信頼性の低い不安定な相補セル）を用いないで固有ＩＤを生成することができる。
【０１０１】
一方、固有ＩＤ生成回路２０は、第１及び第２のデータが一致しない相補セルの割合（不安定ビット率）が所定のターゲット範囲内でない場合（ステップＳ３０：Ｎｏ）、メモリセルＭＣ１、ＭＣ２の初期の閾値電圧を仮想的にオフセットさせた際のオフセット量の絶対値を調整する（ステップＳ３３）。
【０１０２】
具体的には、固有ＩＤ生成回路２０は、第１及び第２のデータが一致しない相補セルの割合が所定のターゲット範囲よりも大きい場合（つまり、マスクした不安定ビットの数が多い場合）、メモリセルＭＣ１、ＭＣ２の初期の閾値電圧Ｖｔ１、Ｖｔ２を仮想的にオフセットさせる際のオフセット量の絶対値を小さくする。これにより、相補セルをマスクする際の条件が緩和され、固有ＩＤ生成回路２０においてマスクされる不安定な相補セル（不安定ビット）の数を少なくすることができる。よって、固有ＩＤ生成回路２０が相補セルを過剰にマスクすることを抑制することができる。
【０１０３】
例えば、図１、図８に示した構成例では、トランジスタＴｒ１、Ｔｒ２のゲートに供給される電圧を低くする。これにより、ビット線ＢＬ１、ＢＬ２から引き抜かれる電流量を低減させることができ、メモリセルＭＣ１、ＭＣ２の初期の閾値電圧Ｖｔ１、Ｖｔ２のオフセット量を低減させることができる。
【０１０４】
また、例えば、図１３、図１４に示した構成例では、トランジスタＴｒ１１、Ｔｒ１２のゲートに供給される電圧を低くする。これにより、定電流源６１からビット線ＢＬ１、ＢＬ２に供給される電流量を低減させることができ、メモリセルＭＣ１、ＭＣ２の初期の閾値電圧Ｖｔ１、Ｖｔ２のオフセット量を低減させることができる。
【０１０５】
また、固有ＩＤ生成回路２０は、第１及び第２のデータが一致しない相補セルの割合が所定のターゲット範囲よりも小さい場合（つまり、マスクした不安定ビットの数が少ない場合）、メモリセルＭＣ１、ＭＣ２の初期の閾値電圧Ｖｔ１、Ｖｔ２を仮想的にオフセットさせる際のオフセット量の絶対値を大きくする。これにより、相補セルをマスクする際の条件が厳しくなり、固有ＩＤ生成回路２０においてマスクされる不安定な相補セル（不安定ビット）の数を多くすることができる。よって、固有ＩＤ生成回路２０で生成される固有ＩＤの信頼性を向上させることができる。
【０１０６】
例えば、図１、図８に示した構成例では、トランジスタＴｒ１、Ｔｒ２のゲートに供給される電圧を高くする。これにより、ビット線ＢＬ１、ＢＬ２から引き抜かれる電流量を多くすることができ、メモリセルＭＣ１、ＭＣ２の初期の閾値電圧Ｖｔ１、Ｖｔ２のオフセット量を大きくすることができる。
【０１０７】
また、例えば、図１３、図１４に示した構成例では、トランジスタＴｒ１１、Ｔｒ１２のゲートに供給される電圧を高くする。これにより、定電流源６１からビット線ＢＬ１、ＢＬ２に供給される電流量を多くすることができ、メモリセルＭＣ１、ＭＣ２の初期の閾値電圧Ｖｔ１、Ｖｔ２のオフセット量を大きくすることができる。
【０１０８】
以上で説明したように、本実施の形態にかかる半導体装置では、マスクされる相補セルの割合を予め定められたターゲット範囲内にすることができる。よって、マスクされる相補セルの割合を最適化することができる。これにより、生成される固有ＩＤの信頼性を向上させつつ、相補セルが過剰にマスクされることを抑制することができる。したがって、効率よく固有ＩＤを生成することができる。
【０１０９】
＜実施の形態３＞
次に、実施の形態３について説明する。
図１６Ａ、図１６Ｂは、ビット線の電位の経時変化を示す図である。図１６Ａに示すように、メモリセルの初期の閾値電圧Ｖｔが高すぎる場合はメモリセルのソース・ドレイン間を流れる電流が少ないため、ビット線をプリチャージした後、ビット線の電位はゆっくりと低下する。このため、例えば図１６Ａに示すセンスタイミングでビット線ＢＬ１、ＢＬ２の電位差を検出すると、ビット線の電位差が小さいために相補セルのデータが不定となる場合がある。
【０１１０】
一方、図１６Ｂに示すように、メモリセルの初期の閾値電圧Ｖｔが低すぎる場合はメモリセルのソース・ドレイン間を流れる電流が多いため、ビット線をプリチャージした後、ビット線の電位は急に低下する。このため、例えば図１６Ｂに示すセンスタイミングでビット線ＢＬ１、ＢＬ２の電位差を検出すると、ビット線の電位が完全に下がりきっているため、ビット線の電位差を検出することができずに相補セルのデータが不定となる場合がある。
【０１１１】
本実施の形態では、このように初期の閾値電圧Ｖｔが適切な範囲外にある場合であっても、不安定な相補セル（不安定ビット）をマスクすることができる半導体装置について説明する。以下では、（１）メモリゲートＭＧの電圧レベルを調整する方法と、（２）センスタイミングを調整する方法の２つの方法について説明する。なお、これ以外については、実施の形態１、２で説明した半導体装置と同様であるので、重複した説明は適宜省略する。
【０１１２】
（１）メモリゲートＭＧの電圧レベルを調整する方法
図２に示したメモリセルＭＣ１、ＭＣ２では、メモリゲートＭＧに印加する電圧ＶＭＧを調整することで、メモリセルの閾値電圧Ｖｔを調整することができる。具体的には、メモリゲートＭＧに印加する電圧ＶＭＧが高くなるにつれて閾値電圧Ｖｔが低くなり、メモリゲートＭＧに印加する電圧ＶＭＧが低くなるにつれて閾値電圧Ｖｔが高くなるので、この性質を利用する。
【０１１３】
例えば、図１に示す固有ＩＤ生成回路２０は、メモリゲートＭＧに印加する電圧ＶＭＧを調整する際、メモリ制御回路４０に対してメモリゲートＭＧの電圧ＶＭＧを調整するように指示を出す。メモリ制御回路４０は、固有ＩＤ生成回路２０からメモリゲートＭＧの電圧ＶＭＧを調整するように指示を受けると、メモリセルアレイ１０のメモリゲートＭＧに所定の電圧ＶＭＧを印加する。
【０１１４】
図１７は、本実施の形態にかかる半導体装置の動作の一例を説明するためのフローチャートである。製造後のメモリセルでは、初期の閾値電圧Ｖｔの値が不明である。このため、本実施の形態では、図１７に示すように、まず製造後のメモリセルに対して、実施の形態１で説明した不安定ビット検出処理（具体的には図９に示したステップＳ１〜Ｓ７の処理）を実施する（ステップＳ４１）。
【０１１５】
そして、不安定な相補セルの割合（不安定ビット率）が所定のターゲット範囲内であるか否かを判定する（ステップＳ４２）。不安定な相補セルの割合（不安定ビット率）が所定のターゲット範囲内である場合は（ステップＳ４２：Ｙｅｓ）、図１７に示す処理を終了する。
【０１１６】
一方、固有ＩＤ生成回路２０は、不安定な相補セルの割合（不安定ビット率）が所定のターゲット範囲内でない場合（ステップＳ４２：Ｎｏ）、メモリゲートＭＧの電圧ＶＭＧを増加させる（ステップＳ４３）。
【０１１７】
その後、メモリゲートＭＧの電圧ＶＭＧを増加させた状態で、再度、実施の形態１で説明した不安定ビット検出処理（具体的には図９に示したステップＳ１〜Ｓ７の処理）を実施する（ステップＳ４４）。
【０１１８】
そして、不安定な相補セルの割合（不安定ビット率）が所定のターゲット範囲内であるか否かを判定する（ステップＳ４５）。不安定な相補セルの割合（不安定ビット率）が所定のターゲット範囲内である場合は（ステップＳ４５：Ｙｅｓ）、図１７に示す処理を終了する。固有ＩＤ生成回路２０は、このときのメモリゲートＭＧの電圧ＶＭＧを記憶し、以降、固有ＩＤを生成する際にこの電圧ＶＭＧをメモリゲートＭＧに印加して、固有ＩＤを生成する。
【０１１９】
一方、固有ＩＤ生成回路２０は、不安定な相補セルの割合（不安定ビット率）が所定のターゲット範囲内でない場合（ステップＳ４５：Ｎｏ）、メモリゲートＭＧの電圧ＶＭＧを減少させる（ステップＳ４６）。その後、再度、実施の形態１で説明した不安定ビット検出処理（具体的には図９に示したステップＳ１〜Ｓ７の処理）を実施する（ステップＳ４１）。
【０１２０】
そして、不安定な相補セルの割合（不安定ビット率）が所定のターゲット範囲内であるか否かを判定する（ステップＳ４２）。不安定な相補セルの割合（不安定ビット率）が所定のターゲット範囲内である場合は（ステップＳ４２：Ｙｅｓ）、図１７に示す処理を終了する。固有ＩＤ生成回路２０は、このときのメモリゲートＭＧの電圧ＶＭＧを記憶し、以降、固有ＩＤを生成する際にこの記憶した電圧ＶＭＧをメモリゲートＭＧに印加して、固有ＩＤを生成する。
【０１２１】
一方、固有ＩＤ生成回路２０は、不安定な相補セルの割合（不安定ビット率）が所定のターゲット範囲内でない場合（ステップＳ４２：Ｎｏ）、メモリゲートＭＧの電圧ＶＭＧを再度増加させる（ステップＳ４３）。以降、不安定な相補セルの割合（不安定ビット率）が所定のターゲット範囲内となるまで、図１７のステップＳ４１〜Ｓ４６の処理（つまり、メモリゲートＭＧの電圧ＶＭＧの増減）を繰り返す。
【０１２２】
ここで、製造後のメモリセルでは、初期の閾値電圧Ｖｔが高すぎるために不定が発生しているのか、また初期の閾値電圧Ｖｔが低すぎるために不定が発生しているのかが不明である。このため、上記で説明した処理では、まずステップＳ４３においてメモリゲートＭＧの電圧ＶＭＧを増加させた後、ステップＳ４６においてメモリゲートＭＧの電圧ＶＭＧを減少させて、不安定ビット率の変化を確認している。
【０１２３】
なお、図１７に示した処理では、最初にメモリゲートＭＧの電圧ＶＭＧを増加させ、その後、メモリゲートＭＧの電圧ＶＭＧを減少させる場合を示した。しかし、本実施の形態では、最初にメモリゲートＭＧの電圧ＶＭＧを減少させ、その後、メモリゲートＭＧの電圧ＶＭＧを増加させるようにしてもよい。
【０１２４】
以上で説明した本実施の形態にかかる半導体装置では、メモリゲートＭＧに印加する電圧ＶＭＧを調整することで、メモリセルの初期の閾値電圧Ｖｔを調整している。具体的には、図１８Ａに示すように、メモリセルの初期の閾値電圧Ｖｔが高すぎる場合にはメモリセルのソース・ドレイン間を流れる電流が少ないため、ビット線をプリチャージした後、ビット線の電位はゆっくりと低下する（図１８Ａの破線参照）。このため、あるセンスタイミングでビット線ＢＬ１、ＢＬ２の電位差を検出すると、ビット線の電位差が小さいために相補セルのデータが不定となる場合があった。これに対して本実施の形態では、メモリゲートＭＧに印加する電圧ＶＭＧを増加させてメモリセルの初期の閾値電圧Ｖｔが低くなるように調整している（図１８Ａの実線参照）。よって、メモリセルの初期の閾値電圧Ｖｔを適切な範囲に調整することができるので、不安定な相補セル（不安定ビット）を適切にマスクすることができる。
【０１２５】
また、図１８Ｂに示すように、メモリセルの初期の閾値電圧Ｖｔが低すぎる場合にはメモリセルのソース・ドレイン間を流れる電流が多いため、ビット線をプリチャージした後、ビット線の電位は急に低下する（図１８Ｂの破線参照）。このため、図１８Ｂに示すセンスタイミングでビット線ＢＬ１、ＢＬ２の電位差を検出すると、ビット線の電位が完全に下がりきっているため、ビット線の電位差を検出することができずに相補セルのデータが不定となる場合があった。これに対して本実施の形態では、メモリゲートＭＧに印加する電圧ＶＭＧを減少させてメモリセルの初期の閾値電圧Ｖｔが高くなるように調整している（図１８Ｂの実線参照）。よって、メモリセルの初期の閾値電圧Ｖｔを適切な範囲に調整することができるので、不安定な相補セル（不安定ビット）を適切にマスクすることができる。
【０１２６】
本実施の形態では、固有ＩＤ生成処理を実施する前に上記の処理を事前に実施することで、メモリセルの初期の閾値電圧Ｖｔが適切な範囲外にある場合であっても、不安定な相補セル（不安定ビット）を適切にマスクすることができる。
【０１２７】
（２）センスタイミングを調整する方法
次に、センスタイミングを調整する方法について説明する。
図１９は、本実施の形態にかかる半導体装置の動作の他の例を説明するためのフローチャートである。製造後のメモリセルでは、初期の閾値電圧Ｖｔの値が不明である。このため、本実施の形態では、図１９に示すように、まず製造後のメモリセルに対して、実施の形態１で説明した不安定ビット検出処理（具体的には図９に示したステップＳ１〜Ｓ７の処理）を実施する（ステップＳ５１）。
【０１２８】
そして、不安定な相補セルの割合（不安定ビット率）が所定のターゲット範囲内であるか否かを判定する（ステップＳ５２）。不安定な相補セルの割合（不安定ビット率）が所定のターゲット範囲内である場合は（ステップＳ５２：Ｙｅｓ）、図１９に示す処理を終了する。
【０１２９】
一方、固有ＩＤ生成回路２０は、不安定な相補セルの割合（不安定ビット率）が所定のターゲット範囲内でない場合（ステップＳ５２：Ｎｏ）、センスアンプＳＡを用いて相補セルのデータを読み出すタイミングを遅らせる（ステップＳ５３）。
【０１３０】
その後、再度、実施の形態１で説明した不安定ビット検出処理（具体的には図９に示したステップＳ１〜Ｓ７の処理）を実施する（ステップＳ５４）。このとき、ステップＳ５３で設定したタイミングで、つまり、読み出すタイミングを遅らせて相補セルのデータを読み出す。
【０１３１】
そして、不安定な相補セルの割合（不安定ビット率）が所定のターゲット範囲内であるか否かを判定する（ステップＳ５５）。不安定な相補セルの割合（不安定ビット率）が所定のターゲット範囲内である場合は（ステップＳ５５：Ｙｅｓ）、図１９に示す処理を終了する。固有ＩＤ生成回路２０は、このときのセンスアンプＳＡの読み出しタイミングを記憶し、以降、固有ＩＤを生成する際に、この記憶したセンスアンプＳＡの読み出しタイミングを用いて固有ＩＤを生成する。
【０１３２】
一方、固有ＩＤ生成回路２０は、不安定な相補セルの割合（不安定ビット率）が所定のターゲット範囲内でない場合（ステップＳ５５：Ｎｏ）、センスアンプＳＡを用いて相補セルのデータを読み出すタイミングを早める（ステップＳ５６）。その後、再度、実施の形態１で説明した不安定ビット検出処理（具体的には図９に示したステップＳ１〜Ｓ７の処理）を実施する（ステップＳ５１）。このとき、ステップＳ５６で設定したタイミングで、つまり、読み出すタイミングを早めて相補セルのデータを読み出す。
【０１３３】
そして、不安定な相補セルの割合（不安定ビット率）が所定のターゲット範囲内であるか否かを判定する（ステップＳ５２）。不安定な相補セルの割合（不安定ビット率）が所定のターゲット範囲内である場合は（ステップＳ５２：Ｙｅｓ）、図１９に示す処理を終了する。固有ＩＤ生成回路２０は、このときのセンスアンプＳＡの読み出しタイミングを記憶し、以降、固有ＩＤを生成する際に、この記憶したセンスアンプＳＡの読み出しタイミングを用いて固有ＩＤを生成する。
【０１３４】
一方、固有ＩＤ生成回路２０は、不安定な相補セルの割合（不安定ビット率）が所定のターゲット範囲内でない場合（ステップＳ５２：Ｎｏ）、センスアンプＳＡを用いて相補セルのデータを読み出すタイミングを再度、遅らせる（ステップＳ５３）。以降、不安定な相補セルの割合（不安定ビット率）が所定のターゲット範囲内となるまで、図１９のステップＳ５１〜Ｓ５６の処理（つまり、センスアンプＳＡの読み出しタイミングを遅らせる処理と早める処理）を繰り返す。
【０１３５】
ここで、製造後のメモリセルでは、初期の閾値電圧Ｖｔが高すぎるために不定が発生しているのか、また初期の閾値電圧Ｖｔが低すぎるために不定が発生しているのかが不明である。このため、上記で説明した処理では、まずステップＳ５３においてセンスアンプＳＡの読み出しタイミングを遅らせる処理を実施した後、ステップＳ５６においてセンスアンプＳＡの読み出しタイミングを早める処理を実施して、不安定ビット率の変化を確認している。
【０１３６】
なお、図１９に示した処理では、最初にセンスアンプＳＡの読み出しタイミングを遅らせ、その後、センスアンプＳＡの読み出しタイミングを早める場合を示した。しかし、本実施の形態では、最初にセンスアンプＳＡの読み出しタイミングを早めて、その後、センスアンプＳＡの読み出しタイミングを遅らせるようにしてもよい。
【０１３７】
図２０Ａに示すように、メモリセルの初期の閾値電圧Ｖｔが高すぎる場合はメモリセルのソース・ドレイン間を流れる電流が少ないため、ビット線をプリチャージした後、ビット線の電位はゆっくりと低下する。このため、図２０Ａの破線で示すセンスタイミングでビット線ＢＬ１、ＢＬ２の電位差を検出すると、ビット線の電位差が小さいために相補セルのデータが不定となる場合があった。これに対して本実施の形態では、図２０Ａの実線に示すように、センスアンプＳＡの読み出しタイミングを遅らせているので、センスアンプＳＡで検出するビット線の電位差がデータを読み出し可能な電位差となり、相補セルのデータを適切に読み出すことができる。
【０１３８】
また、図２０Ｂに示すように、メモリセルの初期の閾値電圧Ｖｔが低すぎる場合はメモリセルのソース・ドレイン間を流れる電流が多いため、ビット線をプリチャージした後、ビット線の電位は急に低下する。このため、図２０Ｂの破線で示すセンスタイミングでビット線ＢＬ１、ＢＬ２の電位差を検出すると、ビット線の電位が完全に下がりきっているため、ビット線の電位差を検出することができずに相補セルのデータが不定となる場合があった。これに対して本実施の形態では、図２０Ｂの実線に示すように、センスアンプＳＡの読み出しタイミングを早めているので、センスアンプＳＡで検出するビット線の電位差がデータを読み出し可能な電位差となり、相補セルのデータを適切に読み出すことができる。
【０１３９】
本実施の形態では、固有ＩＤ生成処理を実施する前に上記の処理を事前に実施することで、メモリセルの初期の閾値電圧Ｖｔが適切な範囲外にある場合であっても、不安定な相補セル（不安定ビット）を適切にマスクすることができる。
【０１４０】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
【符号の説明】
【０１４１】
１、２  半導体装置
１０  メモリアレイ
１１  相補セル
１５  チャネル形成領域
１６  ゲート絶縁膜
１７  電荷トラップ領域
２０  固有ＩＤ生成回路
２１  保持回路
２２  判定回路
２３  判定結果格納回路
２４  オフセット制御回路
３０、６０  オフセット回路
４０  メモリ制御回路
５０  アドレス空間
５１  ユーザ領域
５２  エクストラ領域
【図１】
2018186406.tif 000003
【図２】
2018186406.tif 000004
【図３】
2018186406.tif 000005
【図４】
2018186406.tif 000006
【図５】
2018186406.tif 000007
【図６】
2018186406.tif 000008
【図７】
2018186406.tif 000009
【図８】
2018186406.tif 000010
【図９】
2018186406.tif 000011
【図１０】
2018186406.tif 000012
【図１１】
2018186406.tif 000013
【図１２】
2018186406.tif 000014
【図１３】
2018186406.tif 000015
【図１４】
2018186406.tif 000016
【図１５】
2018186406.tif 000017
【図１６Ａ】
2018186406.tif 000018
【図１６Ｂ】
2018186406.tif 000019
【図１７】
2018186406.tif 000020
【図１８Ａ】
2018186406.tif 000021
【図１８Ｂ】
2018186406.tif 000022
【図１９】
2018186406.tif 000023
【図２０Ａ】
2018186406.tif 000024
【図２０Ｂ】
2018186406.tif 000025