JP2018186406A - 半導体装置、及び固有id生成方法 - Google Patents

半導体装置、及び固有id生成方法 Download PDF

Info

Publication number
JP2018186406A
JP2018186406A JP2017087297A JP2017087297A JP2018186406A JP 2018186406 A JP2018186406 A JP 2018186406A JP 2017087297 A JP2017087297 A JP 2017087297A JP 2017087297 A JP2017087297 A JP 2017087297A JP 2018186406 A JP2018186406 A JP 2018186406A
Authority
JP
Japan
Prior art keywords
data
complementary
cell
unique
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017087297A
Other languages
English (en)
Inventor
朋也 齋藤
Tomoya Saito
朋也 齋藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2017087297A priority Critical patent/JP2018186406A/ja
Priority to US15/926,672 priority patent/US10224083B2/en
Priority to EP18164230.7A priority patent/EP3396671B1/en
Priority to CN201810378069.6A priority patent/CN108806752B/zh
Publication of JP2018186406A publication Critical patent/JP2018186406A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0408Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors
    • G11C16/0425Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors comprising cells containing a merged floating gate and select transistor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/06Address interface arrangements, e.g. address buffers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Read Only Memory (AREA)

Abstract

【課題】生成された固有IDの信頼性を向上させることが可能な半導体装置を提供することである。
【解決手段】一実施の形態にかかる半導体装置は、第1及び第2のメモリセルMC1、MC2を有する相補セル11を複数備えるメモリアレイ10を用いて固有IDを生成する固有ID生成回路20を備える。固有ID生成回路20は、第1のメモリセルMC1の初期の閾値電圧を仮想的にオフセットさせた第1の状態において読み出した相補セル11のデータと、第2のメモリセルMC2の初期の閾値電圧を仮想的にオフセットさせた第2の状態において読み出した相補セル11のデータとが一致する場合、相補セル11のデータを固有IDとして用いる。
【選択図】図1

Description

本発明は半導体装置、及び固有ID生成方法に関し、例えばPUF技術を用いてデバイス固有のIDを生成可能な半導体装置、及び固有ID生成方法に関する。
近年、マイコンなどの半導体装置への不正なアクセスから保護するためのセキュリティ技術が重要となってきている。このようなセキュリティ技術の一つとして、PUF(Physically Unclonable Function:物理的複製困難関数)技術がある。PUF技術には、半導体装置を製造した際の製造ばらつきを用いて、各半導体装置に固有の識別子(ID: identification)を生成する技術がある。
特許文献1には、メモリセルMC1とメモリセルMC2とを有する相補セルを複数備え、メモリセルMC1の閾値電圧とメモリセルMC2の閾値電圧との違いを用いて各々の相補セルにデータを保持可能な不揮発性半導体メモリに関する技術が開示されている。
特許文献2には、抵抗変化型の不揮発性メモリセルを用いて、固有IDを生成するPUF技術が開示されている。
特開2011−243263号公報 特開2016−105278号公報
特許文献1に開示されている不揮発性半導体メモリにPUF技術を適用して固有IDを生成する際は、例えば、メモリセルMC1の初期の閾値電圧とメモリセルMC2の初期の閾値電圧との差を用いて固有IDを生成することができる。
しかしながら、メモリセルMC1、MC2の初期の閾値電圧にはばらつきがあるため、2つのメモリセルMC1、MC2の組み合わせによっては、メモリセルMC1の初期の閾値電圧とメモリセルMC2の初期の閾値電圧との差が小さくなる場合がある。このような場合は、相補セルから読み出したデータが不安定となるため、生成された固有IDの信頼性が低下するという問題がある。
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
一実施の形態にかかる半導体装置は、第1及び第2のメモリセルを有する相補セルを複数備えるメモリアレイを用いて固有IDを生成する固有ID生成回路を備える。固有ID生成回路は、第1のメモリセルの初期の閾値電圧を仮想的にオフセットさせた第1の状態において読み出した相補セルのデータと、第2のメモリセルの初期の閾値電圧を仮想的にオフセットさせた第2の状態において読み出した相補セルのデータとが一致する場合、相補セルのデータを固有IDとして用いる。
前記一実施の形態によれば、生成された固有IDの信頼性を向上させることが可能な半導体装置、及び固有ID生成方法を提供することができる。
実施の形態1にかかる半導体装置の構成例を示すブロック図である。 実施の形態1にかかる半導体装置で用いられているメモリセルの構成例を示す図である。 相補セルを構成しているメモリセルMC1、MC2の閾値電圧Vt1、Vt2の分布を示す図である。 メモリセルMC1、MC2の初期の閾値電圧Vtと累積確率との関係を示す図である。 各々のメモリセルMC1、MC2の初期の閾値電圧Vt1、Vt2を示す図である。 初期の閾値電圧の差(ΔVt)と累積確率との関係を示す図である。 各々の相補セル#1〜#5が備えるメモリセルMC1、MC2の初期の閾値電圧Vt1、Vt2と、読み出したデータとの関係を示す図である。 実施の形態1にかかる半導体装置の動作を説明するための図である。 実施の形態1にかかる半導体装置の動作を説明するためのフローチャートである。 相補セルの読み出し時におけるエラー確率と累積確率との関係を示す図である。 実施の形態1にかかる半導体装置が備えるメモリアレイのアドレス空間の一例を説明するための図である。 実施の形態1にかかる半導体装置が備えるメモリアレイのアドレス空間の一例を説明するための図である。 実施の形態1にかかる半導体装置の他の構成例を示すブロック図である。 実施の形態1にかかる半導体装置の動作を説明するための図である。 実施の形態2にかかる半導体装置の動作を説明するためのフローチャートである。 ビット線の電位の経時変化を示す図である。 ビット線の電位の経時変化を示す図である。 実施の形態3にかかる半導体装置の動作の一例を説明するためのフローチャートである。 ビット線の電位の経時変化を示す図である。 ビット線の電位の経時変化を示す図である。 実施の形態3にかかる半導体装置の動作の他の例を説明するためのフローチャートである。 ビット線の電位の経時変化を示す図である。 ビット線の電位の経時変化を示す図である。
<実施の形態1>
以下、図面を参照して実施の形態1について説明する。
図1は、実施の形態1にかかる半導体装置を示すブロック図である。図1に示すように、本実施の形態にかかる半導体装置1は、メモリアレイ10、固有ID生成回路20、オフセット回路30、及びメモリ制御回路40を備える。
メモリアレイ10は、メモリセルMC1とメモリセルMC2とを有する相補セル11を複数備える。各々の相補セル11は、メモリセルMC1の閾値電圧Vt1とメモリセルMC2の閾値電圧Vt2との違いを用いてデータを保持可能に構成されている。
図2は、本実施の形態にかかる半導体装置で用いられているメモリセルMC1、MC2の構成例を示す図である。図2に示すように単一のメモリセルMC1、MC2は、ソース領域S、ドレイン領域D、ソース領域Sとドレイン領域Dとの間のチャネル形成領域15、チャネル形成領域15の上にゲート絶縁膜16を介して配置されたコントロールゲートCGおよびメモリゲートMGを備える。メモリゲートMGとゲート絶縁膜16との間にはシリコンナイトライド等の電荷トラップ領域17が配置されている。図2に示すようにメモリセルMC1、MC2は、スプリットゲート型のフラッシュメモリセル(例えば、SG−MONOS)である。
図1、図2に示すように、各々のメモリセルMC1、MC2のドレイン領域Dはビット線BL1、BL2に接続されており、ソース領域Sはソース線SLに接続されており、コントロールゲートCGはワード線WLに接続されており、メモリゲートMGはメモリゲート選択線MGLに接続されている。
図2に示すメモリセルMC1、MC2の構成例において、メモリセルMC1、MC2の閾値電圧Vt1、Vt2は、メモリセルMC1、MC2の電荷トラップ領域17にトラップされている電子の量によって変化する。具体的には、メモリセルMC1、MC2の電荷トラップ領域17にトラップされている電子の量が多い場合は、閾値電圧Vt1、Vt2が上昇する。逆に、メモリセルMC1、MC2の電荷トラップ領域17にトラップされている電子の量が少ない場合は、閾値電圧Vt1、Vt2が低下する。
メモリセルMC1、MC2の閾値電圧Vt1、Vt2を上昇させる場合は、例えば、メモリセルMC1、MC2の各電圧値を、V=0V、VCG=1.5V、VMG=10V、VSL=6Vに設定する。このように各電圧値を設定することで、ソース領域Sからドレイン領域Dに書き込み電流が流れ、コントロールゲートCGとメモリゲートMGの境界部分で発生したホットエレクトロンが電荷トラップ領域17に注入され、メモリセルMC1、MC2の閾値電圧Vt1、Vt2が上昇する。
一方、メモリセルMC1、MC2の閾値電圧Vt1、Vt2を低下させる場合は、例えば、メモリセルMC1、MC2の各電圧値を、V=0V、VCG=0V、VMG=−10V、VSL=6Vに設定する。このように各電圧値を設定することで、SLジャンクションとメモリゲートMGとの間に高電界が印加され、BtoB(バンドtoバンドトンネリング)によりホットホールが発生する。このホットホールが、電荷トラップ領域17に注入され、メモリセルMC1、MC2の閾値電圧Vt1、Vt2が低下する。
また、メモリセルMC1、MC2からデータを読み出す場合は、例えば、メモリセルMC1、MC2の各電圧値を、V=1.5V、VCG=1.5V、VMG=0V、VSL=0Vに設定する。このとき、メモリセルMC1、MC2の閾値電圧Vt1、Vt2が低い場合は、メモリセルMC1、MC2はオン状態になる。逆に、メモリセルMC1、MC2の閾値電圧Vt1、Vt2が高い場合は、メモリセルMC1、MC2はオフ状態になる。
なお、上記で示したメモリセルMC1、MC2の各電圧値V、VCG、VMG、VSLの設定値は一例であり、本実施の形態にかかる半導体装置ではこれら以外の設定値を用いてもよい。また、図2に示したメモリセルMC1、MC2の構成は一例であり、本実施の形態にかかる半導体装置では図2に示した構成以外のメモリセルを用いてもよい。
図3は、相補セル11を構成しているメモリセルMC1、MC2の閾値電圧Vt1、Vt2の分布を示す図である。相補セル11は、メモリセルMC1の閾値電圧Vt1とメモリセルMC2の閾値電圧Vt2との違いを用いてデータを保持可能に構成されている。換言すると、相補セル11は、2ビットのメモリセルMC1、MC2を用いてデータを保持可能に構成されている。
例えば、図3(a)に示すように、メモリセルMC2の閾値電圧Vt2がメモリセルMC1の閾値電圧Vt1よりも高い場合、相補セル11にはデータ「1」が書き込まれている。換言すると、メモリセルMC1の閾値電圧Vt1がロウレベル、メモリセルMC2の閾値電圧Vt2がハイレベルの場合、相補セル11にはデータ「1」が書き込まれている。
逆に、図3(b)に示すように、メモリセルMC1の閾値電圧Vt1がメモリセルMC2の閾値電圧Vt2よりも高い場合、相補セル11にはデータ「0」が書き込まれている。換言すると、メモリセルMC1の閾値電圧Vt1がハイレベル、メモリセルMC2の閾値電圧Vt2がロウレベルの場合、相補セル11にはデータ「0」が書き込まれている。
なお、本明細書において、メモリセルMC1を「ポジメモリ」と、メモリセルMC2を「ネガメモリ」と記載する場合もある。また、本実施の形態では、メモリセルMC1、MC2の閾値電圧Vt1、Vt2と相補セル11のデータ(「1」、「0」の状態)との関係を、図3に示す場合と逆になるように定義してもよい。つまり、メモリセルMC1の閾値電圧Vt1がメモリセルMC2の閾値電圧Vt2よりも高い場合、相補セル11にデータ「1」が書き込まれている状態としてもよい。また、メモリセルMC2の閾値電圧Vt2がメモリセルMC1の閾値電圧Vt1よりも高い場合、相補セル11にデータ「0」が書き込まれている状態としてもよい。
このようなメモリセルMC1、MC2の閾値電圧Vt1、Vt2の状態は、メモリアレイ10に設けられているセンスアンプSAを用いて読み出すことができる。また、上記で説明したメモリセルMC1、MC2へのデータの書き込み、及びメモリセルMC1、MC2からのデータの読み出しは、メモリ制御回路40を用いて実施することができる。具体的には、メモリ制御回路40を用いてメモリセルアレイ10のビット線BL1、BL2、ワード線WL、メモリゲート選択線MGL、ソース線SL等を制御することで、メモリセルMC1、MC2へのデータの書き込み、及びメモリセルMC1、MC2からのデータの読み出しを実施することができる。
図3(c)は、メモリアレイ10の製造後の初期状態におけるメモリセルMC1、MC2の閾値電圧Vt1、Vt2の分布を示している。図3(c)に示すように、初期状態においてはメモリセルMC1、MC2の閾値電圧Vt1、Vt2の分布は互いに重なっており、閾値電圧Vt1、Vt2が均等にばらついている。なお、以下ではメモリセルMC1、MC2の閾値電圧Vt1、Vt2を総称して閾値電圧Vtと記載する場合もある。
図4は、メモリセルMC1、MC2の初期の閾値電圧Vtと累積確率との関係を示す図である。図4に示すように、メモリセルMC1、MC2の初期の閾値電圧Vtは、均等にばらついている。このため、メモリセルMC1、MC2をランダムに取り出し、その閾値電圧Vt1、Vt2を調べると、閾値電圧Vt1と閾値電圧Vt2との間に差がある場合がある。
図5は、各々のメモリセルMC1、MC2の初期の閾値電圧Vt1、Vt2を示す図である。具体的には、図5は、メモリゲートMGの電圧VMGの変化に対する各々のメモリセルMC1、MC2の閾値電圧Vt1、Vt2の変化を示している。図5に示すように、VMG=0Vにおいて、メモリセルMC1の初期の閾値電圧Vt1とメモリセルMC2の初期の閾値電圧Vt2との間には電位差ΔVtが存在する。ここで、VMG=0Vは、メモリセルMC1、MC2からデータを読み出す際のメモリゲートMGの設定電圧VMGに対応している。
このようにメモリセルMC1の初期の閾値電圧Vt1とメモリセルMC2の初期の閾値電圧Vt2との間に電位差ΔVがある場合は、メモリセルMC1とメモリセルMC2とをセンスアンプSAにつないでデータを読み出す処理をすることで、所定のデータ(「1」または「0」)を読み出すことができる。図5に示す例では、メモリセルMC2の初期の閾値電圧Vt2がメモリセルMC1の初期の閾値電圧Vt1よりも高いので、データ「1」が読み出される。
このように、本実施の形態では、メモリアレイ10の各々のメモリセルMC1、MC2(不揮発性メモリ)にPUF技術を適用し、各々のメモリセルMC1、MC2の製造後の初期の閾値電圧Vt1、Vt2のばらつきに起因したデータを読み出すことで、メモリアレイ10に固有のIDを生成することができる。
一例を挙げると、図5において各々のメモリセルMC1、MC2の初期の閾値電圧Vt1、Vt2の電位差ΔVtが0.5V以上必要であるとすると、0.763σ(22.3%)程度のメモリセルは、メモリセルMC1、MC2の初期の閾値電圧Vt1、Vt2の差が小さいために、読み出したデータが不定となるため固有IDの生成に使用することができない。換言すると、必要な閾値電圧の電位差ΔVtを0.5V以上に設定した場合は、75%程度のメモリセルを固有IDの生成に使用することができる。
図6は、初期の閾値電圧Vt1、Vt2の電位差ΔVtと累積確率との関係を示す図である。図6に示すように、所定の|ΔVt|の値(例えば、0.5V)をセンスアンプSAの検出最小値とすると、数10%以下のメモリセルでは|ΔVt|の値が所定の|ΔVt|の値よりも小さくなる。これらのメモリセルのデータを読み出すと、データが不安定(不定)となり固有IDを生成した際にエラーレートが上昇する。
本実施の形態では、図1に示す固有ID生成回路20を用いて、このような不安定なメモリセル(ビット)を特定し、これらのメモリセルをマスクして固有IDの生成に使用しないようにしている。換言すると、センスアンプSAの最小感度以上のΔVtを有するメモリセルのみを抽出して、固有IDを生成している。よって、生成された固有IDの信頼性を向上させることができる。以下、固有ID生成回路20について説明する。
図1に示す固有ID生成回路20は、メモリセルMC1の初期の閾値電圧Vt1とメモリセルMC2の初期の閾値電圧Vt2とを用いてメモリアレイ10に固有のIDを生成する。このとき、固有ID生成回路20は、メモリセルMC1の初期の閾値電圧Vt1を仮想的にオフセットさせた第1の状態において相補セル11のデータ(第1のデータ)を読み出し、メモリセルMC2の初期の閾値電圧Vt2を仮想的にオフセットさせた第2の状態において相補セル11のデータ(第2のデータ)を読み出す。そして、第1の状態において読み出した相補セル11のデータ(第1のデータ)と第2の状態において読み出した相補セル11のデータ(第2のデータ)とが一致する場合、相補セル11のデータを固有IDとして用いている。
図1に示すように、固有ID生成回路20は、保持回路21、判定回路22、判定結果格納回路23、及びオフセット制御回路24を備える。
保持回路21は、固有IDを生成する際にメモリアレイ10から読み出されたデータ、つまりセンスアンプSAから出力されたデータを一時的に保持する。具体的には、保持回路21は、メモリセルMC1の初期の閾値電圧Vt1を仮想的にオフセットさせた第1の状態において読み出された相補セル11のデータ(第1のデータ)、及びメモリセルMC2の初期の閾値電圧Vt2を仮想的にオフセットさせた第2の状態において読み出された相補セル11のデータ(第2のデータ)をそれぞれ、一時的に保持する。
判定回路22は、保持回路21に保持されている第1の状態において読み出された相補セル11のデータ(第1のデータ)と、保持回路21に保持されている第2の状態において読み出された相補セル11のデータ(第2のデータ)と、を入力し、これらのデータが一致するか否かを判定する。
判定結果格納回路23は、判定回路22における判定結果を格納する。
例えば、判定結果格納回路23は、第1の状態において読み出した相補セル11のデータと第2の状態において読み出した相補セル11のデータとが一致しなかった相補セル11のアドレス情報を格納してもよい。この場合、固有ID生成回路20は、次回固有IDを生成する際に、判定結果格納回路23に格納されているアドレス情報に対応した相補セル11(つまり、信頼性の低い不安定な相補セル)を用いないで固有IDを生成することができる。
また、例えば、判定結果格納回路23は、第1の状態において読み出した相補セル11のデータと第2の状態において読み出した相補セル11のデータとが一致した相補セル11のアドレス情報を格納してもよい。この場合、固有ID生成回路20は、次回固有IDを生成する際に、判定結果格納回路23に格納されているアドレス情報に対応した相補セル11(つまり、信頼性の高い安定した相補セル)を用いて固有IDを生成することができる。
オフセット制御回路24は、オフセット回路30を制御して、メモリセルMC1の初期の閾値電圧Vt1を仮想的に低下させる。同様に、オフセット制御回路24は、オフセット回路30を制御して、メモリセルMC2の初期の閾値電圧Vt2を仮想的に低下させる。
図1に示す構成例では、オフセット回路30はトランジスタTr1、Tr2を用いて構成されている。トランジスタTr1は、メモリアレイ10のビット線BL1と接地電位との間に接続されており、ゲートにはオフセット制御回路24からオフセット制御信号Ctr1が供給される。トランジスタTr1は、オフセット制御回路24からハイレベルのオフセット制御信号Ctr1が供給されるとオン状態となる。このとき、ビット線BL1はトランジスタTr1を介して接地電位に電気的に接続されるため、ビット線BL1から電流が引き抜かれ、メモリセルMC1の初期の閾値電圧Vt1が仮想的に低下する。
同様に、トランジスタTr2は、メモリアレイ10のビット線BL2と接地電位との間に接続されており、ゲートにはオフセット制御回路24からオフセット制御信号Ctr2が供給される。トランジスタTr2は、オフセット制御回路24からハイレベルのオフセット制御信号Ctr2が供給されるとオン状態となる。このとき、ビット線BL2はトランジスタTr2を介して接地電位に電気的に接続されるため、ビット線BL2から電流が引き抜かれ、メモリセルMC2の初期の閾値電圧Vt2が仮想的に低下する。
このように、図1に示す構成例では、トランジスタTr1、Tr2は、電流引き抜き回路として機能する。
本実施の形態にかかる半導体装置において固有IDを生成する際は、固有ID生成回路20は、まず、トランジスタTr1をオン状態、トランジスタTr2をオフ状態にする。トランジスタTr1がオン状態になると、ビット線BL1から電流が引き抜かれてメモリセルMC1の初期の閾値電圧Vt1が仮想的に低下する。この状態(第1の状態)で相補セル11のデータ(第1のデータ)を読み出す。次に、トランジスタTr1をオフ状態、トランジスタTr2をオン状態にする。トランジスタTr2がオン状態になると、ビット線BL2から電流が引き抜かれてメモリセルMC2の初期の閾値電圧Vt2が仮想的に低下する。この状態(第2の状態)で相補セル11のデータ(第2のデータ)を読み出す。そして、第1の状態において読み出した相補セル11の第1のデータと第2の状態において読み出した相補セル11の第2のデータとが一致する場合、相補セル11のデータを固有IDとして用いている。
図7は、各々の相補セル#1〜#5が備えるメモリセルMC1、MC2の初期の閾値電圧Vt1、Vt2と、読み出したデータとの関係を示す図である。図7の各々の相補セル#1〜#5における白丸および黒丸は、相補セル#1〜#5を構成するメモリセルMC1、MC2の閾値電圧Vt1、Vt2の値をそれぞれ示している。具体的には、白丸(p)は、メモリセルMC1(ポジメモリ)の閾値電圧Vt1の値を、黒丸(n)は、メモリセルMC2(ネガメモリ)の閾値電圧Vt2の値をそれぞれ示している。また、図7では、白丸および黒丸が上方向に行くほど、閾値電圧Vt1、Vt2の値が高くなることを示している。
図3(c)に示したように、メモリアレイ10の製造後の初期状態において、メモリセルMC1、MC2の閾値電圧Vt1、Vt2の分布は互いに重なっている。ここで、メモリセルMC1、MC2の閾値電圧Vt1、Vt2には図3(c)に示したようにばらつきがあるため、各々の相補セル11を構成するメモリセルMC1、MC2の閾値電圧Vt1、Vt2にもばらつきがある。このため、図7に示すように、メモリアレイ10の製造後の初期状態では、相補セル11を構成するメモリセルMC1、MC2の閾値電圧Vt1、Vt2にばらつきが生じる。具体的には、相補セル#1では、メモリセルMC1、MC2の閾値電圧Vt1、Vt2がほぼ同じ値である場合を示している。相補セル#2、#3では、メモリセルMC1、MC2の閾値電圧Vt1、Vt2の値に差があるものの、その電位差ΔVtが小さい場合を示している。相補セル#4、#5では、メモリセルMC1、MC2の閾値電圧Vt1、Vt2の電位差ΔVtが大きい場合を示している。
このような相補セル#1〜#5に対して通常の読み出し動作(1回目)を実施すると、図7に示すように、相補セル#1のデータは「1」、相補セル#2のデータは「1」、相補セル#3のデータは「0」、相補セル#4のデータは「1」、相補セル#5のデータは「0」となる。
その後、再度、相補セル#1〜#5に対して通常の読み出し動作(2回目)を実施すると、図7に示すように、相補セル#1のデータは「0」、相補セル#2のデータは「1」、相補セル#3のデータは「0」、相補セル#4のデータは「1」、相補セル#5のデータは「0」となる。
つまり、相補セル#1では、メモリセルMC1、MC2の閾値電圧Vt1、Vt2がほぼ同じ値であるため、1回目の読み出しと2回目の読み出しとで、読み出されたデータが反転している。このように、閾値電圧Vt1、Vt2の電位差ΔVtが小さい相補セルを用いて固有IDを生成すると、得られるデータが不安定(不定)となり固有IDを生成した際にエラーレートが上昇する。
本実施の形態では、固有ID生成回路20を用いて、このように不安定(不定)となりやすいメモリセル(ビット)を特定し、これらのメモリセルをマスクして固有IDの生成に使用しないようにしている。以下、本実施の形態にかかる半導体装置の動作(固有ID生成方法)について、図8、図9を用いて詳細に説明する。
図8は、本実施の形態にかかる半導体装置の動作を説明するための図である。図9は、本実施の形態にかかる半導体装置の動作を説明するためのフローチャートである。なお、図8に示す各相補セル#1〜#5におけるメモリセルMC1、MC2の初期の閾値電圧Vt1、Vt2は、図7に示した各相補セル#1〜#5におけるメモリセルMC1、MC2の初期の閾値電圧Vt1、Vt2と同様である。
本実施の形態にかかる半導体装置を用いて固有IDを生成する際は、まず、各相補セル#1〜#5のメモリセルMC1の初期の閾値電圧Vt1をオフセットさせる(図9のステップS1)。具体的には、図1のオフセット制御回路24は、トランジスタTr1のゲートにハイレベルのオフセット制御信号Ctr1を、トランジスタTr2のゲートにロウレベルのオフセット制御信号Ctr2をそれぞれ供給する。これにより、トランジスタTr1はオン状態、トランジスタTr2はオフ状態となる。トランジスタTr1がオン状態となると、ビット線BL1がトランジスタTr1を介して接地電位に電気的に接続され、ビット線BL1から電流が引き抜かれ、メモリセルMC1の初期の閾値電圧Vt1が仮想的に低下する。
つまり、図8の符号81に示すように、メモリセルMC1が接続されているビット線BL1から電流が引き抜かれると、各相補セル#1〜#5のメモリセルMC1の初期の閾値電圧Vt1が仮想的に低下する。
この状態で各相補セル#1〜#5のデータ(第1のデータ)を読み出すと(図9のステップS2)、図8の(a)に示すように、相補セル#1のデータは「0」、相補セル#2のデータは「0」、相補セル#3のデータは「0」、相補セル#4のデータは「1」、相補セル#5のデータは「0」となる。
例えば、図1に示す固有ID生成回路20は、メモリ制御回路40に、メモリセルアレイ10に対して読み出し動作を実施するように指示を出す。メモリ制御回路40は、固有ID生成回路20から読み出し動作を実施するように指示を受けると、メモリセルアレイ10に対して読み出し動作を実施する。
読み出し動作が実施されると、センスアンプSAから各相補セル#1〜#5のデータ(第1のデータ)が出力される。この出力されたデータ(第1のデータ)は、一時的に保持回路21に保持される(図9のステップS3)。
次に、各相補セル#1〜#5のメモリセルMC2の初期の閾値電圧Vt2をオフセットさせる(図9のステップS4)。具体的には、図1のオフセット制御回路24は、トランジスタTr1のゲートにロウレベルのオフセット制御信号Ctr1を、トランジスタTr2のゲートにハイレベルのオフセット制御信号Ctr2をそれぞれ供給する。これにより、トランジスタTr1はオフ状態、トランジスタTr2はオン状態となる。トランジスタTr2がオン状態となると、ビット線BL2がトランジスタTr2を介して接地電位に電気的に接続され、ビット線BL2から電流が引き抜かれ、メモリセルMC2の初期の閾値電圧Vt2が仮想的に低下する。
つまり、図8の符号82に示すように、メモリセルMC2が接続されているビット線BL2から電流が引き抜かれると、各相補セル#1〜#5のメモリセルMC2(n)の初期の閾値電圧Vt2が仮想的に低下する。
この状態で相補セル#1〜#5のデータ(第2のデータ)を読み出すと(図9のステップS5)、図8の(b)に示すように、相補セル#1のデータは「1」、相補セル#2のデータは「1」、相補セル#3のデータは「1」、相補セル#4のデータは「1」、相補セル#5のデータは「0」となる。
読み出し動作が実施されると、センスアンプSAから各相補セル#1〜#5のデータ(第2のデータ)が出力される。この出力されたデータ(第2のデータ)は、一時的に保持回路21に保持される(図9のステップS6)。
その後、図1に示した判定回路22は、保持回路21に保持されている第1及び第2のデータを入力し、これらのデータが一致するか否かをビット毎に比較する(図9のステップS7)。そして、判定回路22は、第1及び第2のデータが一致する場合、第1及び第2のデータが一致した相補セルを安定した相補セル(安定ビット)と判定する(ステップS8)。ステップS8において安定した相補セルと判定された相補セルから読み出されたデータは、固有IDとして利用される(ステップS9)。
一方、判定回路22は、第1及び第2のデータが一致しない場合、この相補セルを不安定な相補セル(不安定ビット)と判定する(ステップS10)。この場合、図1に示す判定結果格納回路23は、ステップS10において不安定な相補セルと判定された相補セルのアドレス情報を格納する(ステップS11)。固有ID生成回路20は、次回固有IDを生成する際に、判定結果格納回路23に格納されているアドレス情報に対応した相補セル11(つまり、信頼性の低い不安定な相補セル)を用いないで固有IDを生成することができる。
つまり、図8に示すように、相補セル#1〜#3では、メモリセルMC1の閾値電圧Vt1を仮想的にオフセットさせた状態で読み出されたデータ(第1のデータ)と、メモリセルMC2の閾値電圧Vt2を仮想的にオフセットさせた状態で読み出されたデータ(第2のデータ)とが互いに反転している(つまり、不定:Xとなる)。よって、相補セル#1〜#3では、メモリセルMC1の閾値電圧Vt1とメモリセルMC2の閾値電圧Vt2との電位差ΔVtが小さいため、固有IDとして使用するには不安定であるといえる。
これに対して、相補セル#4、#5では、メモリセルMC1の閾値電圧Vt1を仮想的にオフセットさせた状態で読み出されたデータ(第1のデータ)と、メモリセルMC2の閾値電圧Vt2を仮想的にオフセットさせた状態で読み出されたデータ(第2のデータ)とが互いに同一となっている。よって、相補セル#4、#5では、メモリセルMC1の閾値電圧Vt1とメモリセルMC2の閾値電圧Vt2との電位差ΔVtが大きいため、信頼性の高い固有IDとして使用することができる。
本実施の形態では、不安定な相補セル#1〜#3をマスクし、安定した相補セル#4、#5を用いて固有IDを生成することで、生成された固有IDの信頼性を向上させることができる。
なお、図9に示すフローチャートのステップS11において、図1に示す判定結果格納回路23は、不安定な相補セルと判定された相補セルのアドレス情報を格納する代わりに、安定な相補セルと判定された相補セルのアドレス情報を格納するようにしてもよい。この場合、固有ID生成回路20は、次回固有IDを生成する際に、判定結果格納回路23に格納されているアドレス情報に対応した相補セル11(つまり、信頼性の高い安定した相補セル)を用いて固有IDを生成することができる。
図10は、相補セルの読み出し時におけるエラー確率と累積確率との関係を示す図である。図10に示すように、メモリセルMC1、MC2(初期の閾値電圧Vt1、Vt2)で構成される相補セルを通常の方法で読み出した場合は、ある一定の確率で読み出しエラーとなる。このため、本実施の形態にかかる固有ID生成方法を用いない場合は、生成された固有IDの信頼性が低下する。
図10の(a)〜(c)は、図8に示した(a)〜(c)に対応している。つまり、図10の(a)は、メモリセルMC1の初期の閾値電圧Vt1をオフセットさせた状態で相補セルのデータを読み出した際のエラー確率を示している。また、図10の(b)は、メモリセルMC2の初期の閾値電圧Vt2をオフセットさせた状態で相補セルのデータを読み出した際のエラー確率を示している。また、図10の(c)は、不安定な相補セル(不定ビット)をマスクした後のエラー確率を示している。図10の(d)は、図10の(a)のエラー確率と(b)のエラー確率とを加算した値に対応している。
図10の(a)、(b)、(d)に示すように、メモリセルMC1、MC2の初期の閾値電圧Vt1、Vt2をオフセットさせた状態で相補セルのデータを読み出した場合は、エラー確率が高くなっている。これは閾値電圧Vt1、Vt2をオフセットさせることで、潜在的にエラーを起こす可能性のある相補セルを抽出できていることを示している。
また、図10の(c)に示すように、不安定な相補セル(不定ビット)をマスクした後のエラー確率は、通常読み出しの場合のエラー確率よりも低くなっている。よって、本実施の形態にかかる固有ID生成方法を用いて不安定な相補セルをマスクすることで、生成された固有IDの信頼性を向上させることができる。
図11は、本実施の形態にかかる半導体装置1が備えるメモリアレイ10のアドレス空間50を説明するための図である。図11に示すように、メモリアレイ10のアドレス空間50には、ユーザ領域51とエクストラ領域52とが設けられている。本実施の形態では、エクストラ領域52の一部を初期の閾値電圧Vtを得るための領域として用いることで、一般的なメモリアレイ10(フラッシュメモリ)に変更を加えることなく、セキュリティの機能を付加することができる。
換言すると、ユーザ領域51のアドレス空間に配置された相補セルをデータ保持用の相補セルとして用い、エクストラ領域52のアドレス空間に配置された相補セルを固有ID生成用の相補セルとして用いてもよい。
また、図1に示すメモリ制御回路40は、固有ID生成回路20において固有IDを生成する際に、相補セルから読み出した第1及び第2のデータが一致しなかった場合(つまり、不安定な相補セルと判定された場合)、当該一致しなかった相補セルを固有ID生成用の相補セルからデータ保持用の相補セルに切り替えるようにしてもよい。つまり、図12に示すように、エクストラ領域52のアドレス空間に配置された相補セルを固有ID生成用の相補セルとして用いた際に不安定な相補セルと判定された場合、当該不安定な相補セルをデータ保持用の相補セル(この相補セルのアドレス空間を符号53で示す)に切り替えるようにしてもよい。このような構成により、不安定な相補セルを有効に活用することができる。
なお、上記では、メモリセルMC1、MC2の初期の閾値電圧Vt1、Vt2を仮想的にオフセットさせるための構成として、ビット線BL1、BL2から電流を引き抜いてメモリセルMC1、MC2の初期の閾値電圧Vt1、Vt2を仮想的に低下させる構成について説明した。しかし本実施の形態では、ビット線BL1、BL2に電流を供給してメモリセルMC1、MC2の初期の閾値電圧Vt1、Vt2を仮想的に上昇させるように構成してもよい。以下、この構成について説明する。
図13は、本実施の形態にかかる半導体装置の他の構成例を示すブロック図である。図13に示す半導体装置2は、図1に示した半導体装置1と比べてオフセット回路60の構成が異なる。これ以外の構成については図1に示した半導体装置1と同様であるので、同一の構成要素には同一の符号を付し、重複した説明は省略する。
図13に示す半導体装置2において、オフセット制御回路24は、オフセット回路60を制御して、メモリセルMC1の初期の閾値電圧Vt1を仮想的に上昇させる。同様に、オフセット制御回路24は、オフセット回路60を制御して、メモリセルMC2の初期の閾値電圧Vt2を仮想的に上昇させる。
図13に示す構成例では、オフセット回路60はトランジスタTr11、Tr12、及び定電流源61を用いて構成されている。トランジスタTr11は、メモリアレイ10のビット線BL1と定電流源61との間に接続されており、ゲートにはオフセット制御回路24からオフセット制御信号Ctr1が供給される。トランジスタTr11は、オフセット制御回路24からハイレベルのオフセット制御信号Ctr1が供給されるとオン状態となる。このとき、ビット線BL1はトランジスタTr11を介して定電流源61と電気的に接続されるため、ビット線BL1に電流が供給され、メモリセルMC1の初期の閾値電圧Vt1が仮想的に上昇する。
同様に、トランジスタTr12は、メモリアレイ10のビット線BL2と定電流源61との間に接続されており、ゲートにはオフセット制御回路24からオフセット制御信号Ctr2が供給される。トランジスタTr12は、オフセット制御回路24からハイレベルのオフセット制御信号Ctr2が供給されるとオン状態となる。このとき、ビット線BL2はトランジスタTr12を介して定電流源61と電気的に接続されるため、ビット線BL2に電流が供給され、メモリセルMC2の初期の閾値電圧Vt2が仮想的に上昇する。
このように、図13に示す構成例では、トランジスタTr11、Tr12は、電流供給回路として機能する。
図13に示す半導体装置2においても、固有ID生成回路20は、まず、トランジスタTr11をオン状態、トランジスタTr12をオフ状態にする。トランジスタTr11がオン状態になると、ビット線BL1に電流が供給されてメモリセルMC1の初期の閾値電圧Vt1が仮想的に上昇する。この状態(第1の状態)で相補セル11のデータ(第1のデータ)を読み出す。次に、トランジスタTr11をオフ状態、トランジスタTr12をオン状態にする。トランジスタTr12がオン状態になると、ビット線BL2に電流が供給されてメモリセルMC2の初期の閾値電圧Vt2が仮想的に上昇する。この状態(第2の状態)で相補セル11のデータ(第2のデータ)を読み出す。そして、第1の状態において読み出した相補セル11の第1のデータと第2の状態において読み出した相補セル11の第2のデータとが一致する場合、相補セル11のデータを固有IDとして用いている。
図13に示す半導体装置2においても、固有ID生成回路20を用いて、このように不安定(不定)となりやすいメモリセル(ビット)を特定し、これらのメモリセルをマスクして固有IDの生成に使用しないようにしている。
図14は、本実施の形態にかかる半導体装置の動作を説明するための図であり、図8に示した図と対応している。
図13に示す半導体装置2を用いて固有IDを生成する際は、まず、各相補セル#1〜#5のメモリセルMC1の初期の閾値電圧Vt1をオフセットさせる。具体的には、図13のオフセット制御回路24は、トランジスタTr11のゲートにハイレベルのオフセット制御信号Ctr1を、トランジスタTr12のゲートにロウレベルのオフセット制御信号Ctr2をそれぞれ供給する。これにより、トランジスタTr11はオン状態、トランジスタTr12はオフ状態となる。トランジスタTr11がオン状態となると、ビット線BL1がトランジスタTr1を介して定電流源61と接続され、ビット線BL1に電流が供給されて、メモリセルMC1の初期の閾値電圧Vt1が仮想的に上昇する。
つまり、図14の符号91に示すように、メモリセルMC1が接続されているビット線BL1に電流が供給されると、各相補セル#1〜#5のメモリセルMC1の初期の閾値電圧Vt1が仮想的に上昇する。
この状態で各相補セル#1〜#5のデータ(第1のデータ)を読み出すと、図14の(a)に示すように、相補セル#1のデータは「1」、相補セル#2のデータは「1」、相補セル#3のデータは「1」、相補セル#4のデータは「1」、相補セル#5のデータは「0」となる。
読み出し動作が実施されると、センスアンプSAから各相補セル#1〜#5のデータ(第1のデータ)が出力される。この出力されたデータ(第1のデータ)は、一時的に保持回路21に保持される。
次に、各相補セル#1〜#5のメモリセルMC2の初期の閾値電圧Vt2をオフセットさせる。具体的には、図13のオフセット制御回路24は、トランジスタTr11のゲートにロウレベルのオフセット制御信号Ctr1を、トランジスタTr12のゲートにハイレベルのオフセット制御信号Ctr2をそれぞれ供給する。これにより、トランジスタTr11はオフ状態、トランジスタTr12はオン状態となる。トランジスタTr12がオン状態となると、ビット線BL2がトランジスタTr12を介して定電流源61に電気的に接続され、ビット線BL2に電流が供給され、メモリセルMC2の初期の閾値電圧Vt2が仮想的に上昇する。
つまり、図14の符号92に示すように、メモリセルMC2が接続されているビット線BL2に電流が供給されると、各相補セル#1〜#5のメモリセルMC2(n)の初期の閾値電圧Vt2が仮想的に上昇する。
この状態で相補セル#1〜#5のデータ(第2のデータ)を読み出すと、図14の(b)に示すように、相補セル#1のデータは「0」、相補セル#2のデータは「0」、相補セル#3のデータは「0」、相補セル#4のデータは「1」、相補セル#5のデータは「0」となる。
読み出し動作が実施されると、センスアンプSAから各相補セル#1〜#5のデータ(第2のデータ)が出力される。この出力されたデータ(第2のデータ)は、一時的に保持回路21に保持される。
その後、図13に示した判定回路22は、保持回路21に保持されている第1及び第2のデータを入力し、これらのデータが一致するか否かをビット毎に比較する。そして、判定回路22は、第1及び第2のデータが一致する場合、第1及び第2のデータが一致した相補セルを安定した相補セル(安定ビット)と判定する。安定した相補セルと判定された相補セルから読み出されたデータは固有IDとして利用される。
一方、判定回路22は、第1及び第2のデータが一致しない場合、この相補セルを不安定な相補セル(不安定ビット)と判定する。この場合、図13に示す判定結果格納回路23は、不安定な相補セルと判定された相補セルのアドレス情報を格納する。固有ID生成回路20は、次回固有IDを生成する際に、判定結果格納回路23に格納されているアドレス情報に対応した相補セル11(つまり、信頼性の低い不安定な相補セル)を用いないで固有IDを生成することができる。
つまり、図14に示すように、相補セル#1〜#3では、メモリセルMC1の閾値電圧Vt1を仮想的にオフセットさせた状態で読み出されたデータ(第1のデータ)と、メモリセルMC2の閾値電圧Vt2を仮想的にオフセットさせた状態で読み出されたデータ(第2のデータ)とが互いに反転している(つまり、不定:Xとなる)。よって、相補セル#1〜#3では、メモリセルMC1の閾値電圧Vt1とメモリセルMC2の閾値電圧Vt2との電位差ΔVtが小さいため、固有IDとして使用するには不安定であるといえる。
これに対して、相補セル#4、#5では、メモリセルMC1の閾値電圧Vt1を仮想的にオフセットさせた状態で読み出されたデータ(第1のデータ)と、メモリセルMC2の閾値電圧Vt2を仮想的にオフセットさせた状態で読み出されたデータ(第2のデータ)とが互いに同一となっている。よって、相補セル#4、#5では、メモリセルMC1の閾値電圧Vt1とメモリセルMC2の閾値電圧Vt2との電位差ΔVtが大きいため、信頼性の高い固有IDとして使用することができる。
本実施の形態では、不安定な相補セル#1〜#3をマスクし、安定した相補セル#4、#5を用いて固有IDを生成することで、生成された固有IDの信頼性を向上させることができる。
以上で説明した本実施の形態によれば、生成された固有IDの信頼性を向上させることが可能な半導体装置、及び固有ID生成方法を提供することができる。
<実施の形態2>
次に、実施の形態2について説明する。
実施の形態2にかかる半導体装置では、固有ID生成回路20において不安定な相補セル(メモリセル)と判定される相補セルの割合が所定の割合よりも少なくなるようにしている点が、実施の形態1で説明した半導体装置と異なる。これ以外については、実施の形態1で説明した半導体装置と同様であるので、重複した説明は適宜省略する。
図15は、本実施の形態にかかる半導体装置の動作を説明するためのフローチャートである。図15に示すフローチャートにおいて、ステップS21〜S27の動作については、図9に示したフローチャートのステップS1〜S7の動作と同様であるので重複した説明は省略する。
図15に示すステップS27において、固有ID生成回路20が備える判定回路22は、保持回路21に保持されている第1及び第2のデータが一致するか否かをビット毎に比較し、第1及び第2のデータが一致する場合、第1及び第2のデータが一致した相補セルを安定した相補セル(安定ビット)と判定する(ステップS28)。一方、判定回路22は、第1及び第2のデータが一致しない場合、この相補セルを不安定な相補セル(不安定ビット)と判定する(ステップS29)。
その後、判定回路22は、第1及び第2のデータが一致した相補セルに対する、第1及び第2のデータが一致しない相補セルの割合(不安定ビット率)が所定のターゲット範囲内であるか否かを判定する(ステップS30)。ここで、「所定のターゲット範囲」とは、固有ID生成回路20がマスクする相補セルの割合の目標値であり、所定の幅を持った範囲である。このターゲット範囲は、半導体装置から固有IDを安定的に取り出せる範囲であり、半導体装置が使用される温度、電圧変動、長時間放置後の読み出し等を考慮して決定される。つまり、固有IDを安定的に取り出せることを前提としつつ、不安定ビットの目標値を予め決定してターゲット範囲を決定する。
そして、第1及び第2のデータが一致しない相補セルの割合(不安定ビット率)が所定のターゲット範囲内である場合(ステップS30:Yes)、ステップS28において安定した相補セルと判定された相補セルから読み出されたデータを固有IDとして利用する(ステップS31)。また、図1に示す判定結果格納回路23は、ステップS29において不安定な相補セルと判定された相補セルのアドレス情報を格納する(ステップS32)。固有ID生成回路20は、次回固有IDを生成する際に、判定結果格納回路23に格納されているアドレス情報に対応した相補セル11(つまり、信頼性の低い不安定な相補セル)を用いないで固有IDを生成することができる。
一方、固有ID生成回路20は、第1及び第2のデータが一致しない相補セルの割合(不安定ビット率)が所定のターゲット範囲内でない場合(ステップS30:No)、メモリセルMC1、MC2の初期の閾値電圧を仮想的にオフセットさせた際のオフセット量の絶対値を調整する(ステップS33)。
具体的には、固有ID生成回路20は、第1及び第2のデータが一致しない相補セルの割合が所定のターゲット範囲よりも大きい場合(つまり、マスクした不安定ビットの数が多い場合)、メモリセルMC1、MC2の初期の閾値電圧Vt1、Vt2を仮想的にオフセットさせる際のオフセット量の絶対値を小さくする。これにより、相補セルをマスクする際の条件が緩和され、固有ID生成回路20においてマスクされる不安定な相補セル(不安定ビット)の数を少なくすることができる。よって、固有ID生成回路20が相補セルを過剰にマスクすることを抑制することができる。
例えば、図1、図8に示した構成例では、トランジスタTr1、Tr2のゲートに供給される電圧を低くする。これにより、ビット線BL1、BL2から引き抜かれる電流量を低減させることができ、メモリセルMC1、MC2の初期の閾値電圧Vt1、Vt2のオフセット量を低減させることができる。
また、例えば、図13、図14に示した構成例では、トランジスタTr11、Tr12のゲートに供給される電圧を低くする。これにより、定電流源61からビット線BL1、BL2に供給される電流量を低減させることができ、メモリセルMC1、MC2の初期の閾値電圧Vt1、Vt2のオフセット量を低減させることができる。
また、固有ID生成回路20は、第1及び第2のデータが一致しない相補セルの割合が所定のターゲット範囲よりも小さい場合(つまり、マスクした不安定ビットの数が少ない場合)、メモリセルMC1、MC2の初期の閾値電圧Vt1、Vt2を仮想的にオフセットさせる際のオフセット量の絶対値を大きくする。これにより、相補セルをマスクする際の条件が厳しくなり、固有ID生成回路20においてマスクされる不安定な相補セル(不安定ビット)の数を多くすることができる。よって、固有ID生成回路20で生成される固有IDの信頼性を向上させることができる。
例えば、図1、図8に示した構成例では、トランジスタTr1、Tr2のゲートに供給される電圧を高くする。これにより、ビット線BL1、BL2から引き抜かれる電流量を多くすることができ、メモリセルMC1、MC2の初期の閾値電圧Vt1、Vt2のオフセット量を大きくすることができる。
また、例えば、図13、図14に示した構成例では、トランジスタTr11、Tr12のゲートに供給される電圧を高くする。これにより、定電流源61からビット線BL1、BL2に供給される電流量を多くすることができ、メモリセルMC1、MC2の初期の閾値電圧Vt1、Vt2のオフセット量を大きくすることができる。
以上で説明したように、本実施の形態にかかる半導体装置では、マスクされる相補セルの割合を予め定められたターゲット範囲内にすることができる。よって、マスクされる相補セルの割合を最適化することができる。これにより、生成される固有IDの信頼性を向上させつつ、相補セルが過剰にマスクされることを抑制することができる。したがって、効率よく固有IDを生成することができる。
<実施の形態3>
次に、実施の形態3について説明する。
図16A、図16Bは、ビット線の電位の経時変化を示す図である。図16Aに示すように、メモリセルの初期の閾値電圧Vtが高すぎる場合はメモリセルのソース・ドレイン間を流れる電流が少ないため、ビット線をプリチャージした後、ビット線の電位はゆっくりと低下する。このため、例えば図16Aに示すセンスタイミングでビット線BL1、BL2の電位差を検出すると、ビット線の電位差が小さいために相補セルのデータが不定となる場合がある。
一方、図16Bに示すように、メモリセルの初期の閾値電圧Vtが低すぎる場合はメモリセルのソース・ドレイン間を流れる電流が多いため、ビット線をプリチャージした後、ビット線の電位は急に低下する。このため、例えば図16Bに示すセンスタイミングでビット線BL1、BL2の電位差を検出すると、ビット線の電位が完全に下がりきっているため、ビット線の電位差を検出することができずに相補セルのデータが不定となる場合がある。
本実施の形態では、このように初期の閾値電圧Vtが適切な範囲外にある場合であっても、不安定な相補セル(不安定ビット)をマスクすることができる半導体装置について説明する。以下では、(1)メモリゲートMGの電圧レベルを調整する方法と、(2)センスタイミングを調整する方法の2つの方法について説明する。なお、これ以外については、実施の形態1、2で説明した半導体装置と同様であるので、重複した説明は適宜省略する。
(1)メモリゲートMGの電圧レベルを調整する方法
図2に示したメモリセルMC1、MC2では、メモリゲートMGに印加する電圧VMGを調整することで、メモリセルの閾値電圧Vtを調整することができる。具体的には、メモリゲートMGに印加する電圧VMGが高くなるにつれて閾値電圧Vtが低くなり、メモリゲートMGに印加する電圧VMGが低くなるにつれて閾値電圧Vtが高くなるので、この性質を利用する。
例えば、図1に示す固有ID生成回路20は、メモリゲートMGに印加する電圧VMGを調整する際、メモリ制御回路40に対してメモリゲートMGの電圧VMGを調整するように指示を出す。メモリ制御回路40は、固有ID生成回路20からメモリゲートMGの電圧VMGを調整するように指示を受けると、メモリセルアレイ10のメモリゲートMGに所定の電圧VMGを印加する。
図17は、本実施の形態にかかる半導体装置の動作の一例を説明するためのフローチャートである。製造後のメモリセルでは、初期の閾値電圧Vtの値が不明である。このため、本実施の形態では、図17に示すように、まず製造後のメモリセルに対して、実施の形態1で説明した不安定ビット検出処理(具体的には図9に示したステップS1〜S7の処理)を実施する(ステップS41)。
そして、不安定な相補セルの割合(不安定ビット率)が所定のターゲット範囲内であるか否かを判定する(ステップS42)。不安定な相補セルの割合(不安定ビット率)が所定のターゲット範囲内である場合は(ステップS42:Yes)、図17に示す処理を終了する。
一方、固有ID生成回路20は、不安定な相補セルの割合(不安定ビット率)が所定のターゲット範囲内でない場合(ステップS42:No)、メモリゲートMGの電圧VMGを増加させる(ステップS43)。
その後、メモリゲートMGの電圧VMGを増加させた状態で、再度、実施の形態1で説明した不安定ビット検出処理(具体的には図9に示したステップS1〜S7の処理)を実施する(ステップS44)。
そして、不安定な相補セルの割合(不安定ビット率)が所定のターゲット範囲内であるか否かを判定する(ステップS45)。不安定な相補セルの割合(不安定ビット率)が所定のターゲット範囲内である場合は(ステップS45:Yes)、図17に示す処理を終了する。固有ID生成回路20は、このときのメモリゲートMGの電圧VMGを記憶し、以降、固有IDを生成する際にこの電圧VMGをメモリゲートMGに印加して、固有IDを生成する。
一方、固有ID生成回路20は、不安定な相補セルの割合(不安定ビット率)が所定のターゲット範囲内でない場合(ステップS45:No)、メモリゲートMGの電圧VMGを減少させる(ステップS46)。その後、再度、実施の形態1で説明した不安定ビット検出処理(具体的には図9に示したステップS1〜S7の処理)を実施する(ステップS41)。
そして、不安定な相補セルの割合(不安定ビット率)が所定のターゲット範囲内であるか否かを判定する(ステップS42)。不安定な相補セルの割合(不安定ビット率)が所定のターゲット範囲内である場合は(ステップS42:Yes)、図17に示す処理を終了する。固有ID生成回路20は、このときのメモリゲートMGの電圧VMGを記憶し、以降、固有IDを生成する際にこの記憶した電圧VMGをメモリゲートMGに印加して、固有IDを生成する。
一方、固有ID生成回路20は、不安定な相補セルの割合(不安定ビット率)が所定のターゲット範囲内でない場合(ステップS42:No)、メモリゲートMGの電圧VMGを再度増加させる(ステップS43)。以降、不安定な相補セルの割合(不安定ビット率)が所定のターゲット範囲内となるまで、図17のステップS41〜S46の処理(つまり、メモリゲートMGの電圧VMGの増減)を繰り返す。
ここで、製造後のメモリセルでは、初期の閾値電圧Vtが高すぎるために不定が発生しているのか、また初期の閾値電圧Vtが低すぎるために不定が発生しているのかが不明である。このため、上記で説明した処理では、まずステップS43においてメモリゲートMGの電圧VMGを増加させた後、ステップS46においてメモリゲートMGの電圧VMGを減少させて、不安定ビット率の変化を確認している。
なお、図17に示した処理では、最初にメモリゲートMGの電圧VMGを増加させ、その後、メモリゲートMGの電圧VMGを減少させる場合を示した。しかし、本実施の形態では、最初にメモリゲートMGの電圧VMGを減少させ、その後、メモリゲートMGの電圧VMGを増加させるようにしてもよい。
以上で説明した本実施の形態にかかる半導体装置では、メモリゲートMGに印加する電圧VMGを調整することで、メモリセルの初期の閾値電圧Vtを調整している。具体的には、図18Aに示すように、メモリセルの初期の閾値電圧Vtが高すぎる場合にはメモリセルのソース・ドレイン間を流れる電流が少ないため、ビット線をプリチャージした後、ビット線の電位はゆっくりと低下する(図18Aの破線参照)。このため、あるセンスタイミングでビット線BL1、BL2の電位差を検出すると、ビット線の電位差が小さいために相補セルのデータが不定となる場合があった。これに対して本実施の形態では、メモリゲートMGに印加する電圧VMGを増加させてメモリセルの初期の閾値電圧Vtが低くなるように調整している(図18Aの実線参照)。よって、メモリセルの初期の閾値電圧Vtを適切な範囲に調整することができるので、不安定な相補セル(不安定ビット)を適切にマスクすることができる。
また、図18Bに示すように、メモリセルの初期の閾値電圧Vtが低すぎる場合にはメモリセルのソース・ドレイン間を流れる電流が多いため、ビット線をプリチャージした後、ビット線の電位は急に低下する(図18Bの破線参照)。このため、図18Bに示すセンスタイミングでビット線BL1、BL2の電位差を検出すると、ビット線の電位が完全に下がりきっているため、ビット線の電位差を検出することができずに相補セルのデータが不定となる場合があった。これに対して本実施の形態では、メモリゲートMGに印加する電圧VMGを減少させてメモリセルの初期の閾値電圧Vtが高くなるように調整している(図18Bの実線参照)。よって、メモリセルの初期の閾値電圧Vtを適切な範囲に調整することができるので、不安定な相補セル(不安定ビット)を適切にマスクすることができる。
本実施の形態では、固有ID生成処理を実施する前に上記の処理を事前に実施することで、メモリセルの初期の閾値電圧Vtが適切な範囲外にある場合であっても、不安定な相補セル(不安定ビット)を適切にマスクすることができる。
(2)センスタイミングを調整する方法
次に、センスタイミングを調整する方法について説明する。
図19は、本実施の形態にかかる半導体装置の動作の他の例を説明するためのフローチャートである。製造後のメモリセルでは、初期の閾値電圧Vtの値が不明である。このため、本実施の形態では、図19に示すように、まず製造後のメモリセルに対して、実施の形態1で説明した不安定ビット検出処理(具体的には図9に示したステップS1〜S7の処理)を実施する(ステップS51)。
そして、不安定な相補セルの割合(不安定ビット率)が所定のターゲット範囲内であるか否かを判定する(ステップS52)。不安定な相補セルの割合(不安定ビット率)が所定のターゲット範囲内である場合は(ステップS52:Yes)、図19に示す処理を終了する。
一方、固有ID生成回路20は、不安定な相補セルの割合(不安定ビット率)が所定のターゲット範囲内でない場合(ステップS52:No)、センスアンプSAを用いて相補セルのデータを読み出すタイミングを遅らせる(ステップS53)。
その後、再度、実施の形態1で説明した不安定ビット検出処理(具体的には図9に示したステップS1〜S7の処理)を実施する(ステップS54)。このとき、ステップS53で設定したタイミングで、つまり、読み出すタイミングを遅らせて相補セルのデータを読み出す。
そして、不安定な相補セルの割合(不安定ビット率)が所定のターゲット範囲内であるか否かを判定する(ステップS55)。不安定な相補セルの割合(不安定ビット率)が所定のターゲット範囲内である場合は(ステップS55:Yes)、図19に示す処理を終了する。固有ID生成回路20は、このときのセンスアンプSAの読み出しタイミングを記憶し、以降、固有IDを生成する際に、この記憶したセンスアンプSAの読み出しタイミングを用いて固有IDを生成する。
一方、固有ID生成回路20は、不安定な相補セルの割合(不安定ビット率)が所定のターゲット範囲内でない場合(ステップS55:No)、センスアンプSAを用いて相補セルのデータを読み出すタイミングを早める(ステップS56)。その後、再度、実施の形態1で説明した不安定ビット検出処理(具体的には図9に示したステップS1〜S7の処理)を実施する(ステップS51)。このとき、ステップS56で設定したタイミングで、つまり、読み出すタイミングを早めて相補セルのデータを読み出す。
そして、不安定な相補セルの割合(不安定ビット率)が所定のターゲット範囲内であるか否かを判定する(ステップS52)。不安定な相補セルの割合(不安定ビット率)が所定のターゲット範囲内である場合は(ステップS52:Yes)、図19に示す処理を終了する。固有ID生成回路20は、このときのセンスアンプSAの読み出しタイミングを記憶し、以降、固有IDを生成する際に、この記憶したセンスアンプSAの読み出しタイミングを用いて固有IDを生成する。
一方、固有ID生成回路20は、不安定な相補セルの割合(不安定ビット率)が所定のターゲット範囲内でない場合(ステップS52:No)、センスアンプSAを用いて相補セルのデータを読み出すタイミングを再度、遅らせる(ステップS53)。以降、不安定な相補セルの割合(不安定ビット率)が所定のターゲット範囲内となるまで、図19のステップS51〜S56の処理(つまり、センスアンプSAの読み出しタイミングを遅らせる処理と早める処理)を繰り返す。
ここで、製造後のメモリセルでは、初期の閾値電圧Vtが高すぎるために不定が発生しているのか、また初期の閾値電圧Vtが低すぎるために不定が発生しているのかが不明である。このため、上記で説明した処理では、まずステップS53においてセンスアンプSAの読み出しタイミングを遅らせる処理を実施した後、ステップS56においてセンスアンプSAの読み出しタイミングを早める処理を実施して、不安定ビット率の変化を確認している。
なお、図19に示した処理では、最初にセンスアンプSAの読み出しタイミングを遅らせ、その後、センスアンプSAの読み出しタイミングを早める場合を示した。しかし、本実施の形態では、最初にセンスアンプSAの読み出しタイミングを早めて、その後、センスアンプSAの読み出しタイミングを遅らせるようにしてもよい。
図20Aに示すように、メモリセルの初期の閾値電圧Vtが高すぎる場合はメモリセルのソース・ドレイン間を流れる電流が少ないため、ビット線をプリチャージした後、ビット線の電位はゆっくりと低下する。このため、図20Aの破線で示すセンスタイミングでビット線BL1、BL2の電位差を検出すると、ビット線の電位差が小さいために相補セルのデータが不定となる場合があった。これに対して本実施の形態では、図20Aの実線に示すように、センスアンプSAの読み出しタイミングを遅らせているので、センスアンプSAで検出するビット線の電位差がデータを読み出し可能な電位差となり、相補セルのデータを適切に読み出すことができる。
また、図20Bに示すように、メモリセルの初期の閾値電圧Vtが低すぎる場合はメモリセルのソース・ドレイン間を流れる電流が多いため、ビット線をプリチャージした後、ビット線の電位は急に低下する。このため、図20Bの破線で示すセンスタイミングでビット線BL1、BL2の電位差を検出すると、ビット線の電位が完全に下がりきっているため、ビット線の電位差を検出することができずに相補セルのデータが不定となる場合があった。これに対して本実施の形態では、図20Bの実線に示すように、センスアンプSAの読み出しタイミングを早めているので、センスアンプSAで検出するビット線の電位差がデータを読み出し可能な電位差となり、相補セルのデータを適切に読み出すことができる。
本実施の形態では、固有ID生成処理を実施する前に上記の処理を事前に実施することで、メモリセルの初期の閾値電圧Vtが適切な範囲外にある場合であっても、不安定な相補セル(不安定ビット)を適切にマスクすることができる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
1、2 半導体装置
10 メモリアレイ
11 相補セル
15 チャネル形成領域
16 ゲート絶縁膜
17 電荷トラップ領域
20 固有ID生成回路
21 保持回路
22 判定回路
23 判定結果格納回路
24 オフセット制御回路
30、60 オフセット回路
40 メモリ制御回路
50 アドレス空間
51 ユーザ領域
52 エクストラ領域

Claims (16)

  1. 第1のメモリセルと第2のメモリセルとを有する相補セルを複数備え、前記第1のメモリセルの閾値電圧と前記第2のメモリセルの閾値電圧との違いを用いて各々の相補セルにデータを保持可能なメモリアレイと、
    前記第1のメモリセルの初期の閾値電圧と前記第2のメモリセルの初期の閾値電圧とを用いて前記メモリアレイに固有のIDを生成する固有ID生成回路と、を備え、
    前記固有ID生成回路は、
    前記第1のメモリセルの初期の閾値電圧を仮想的にオフセットさせた第1の状態において、前記相補セルのデータを第1のデータとして読み出し、
    前記第2のメモリセルの初期の閾値電圧を仮想的にオフセットさせた第2の状態において、前記相補セルのデータを第2のデータとして読み出し、
    前記第1の状態において読み出した前記相補セルの前記第1のデータと前記第2の状態において読み出した前記相補セルの前記第2のデータとが一致する場合、前記相補セルのデータを固有IDとして用いる、
    半導体装置。
  2. 前記固有ID生成回路は、前記第1の状態において読み出した前記相補セルの前記第1のデータと前記第2の状態において読み出した前記相補セルの前記第2のデータとが一致したか否かの判定結果を格納する判定結果格納回路を備える、請求項1に記載の半導体装置。
  3. 前記判定結果格納回路には、前記第1の状態において読み出した前記相補セルの前記第1のデータと前記第2の状態において読み出した前記相補セルの前記第2のデータとが一致した相補セルのアドレス情報が格納されており、
    前記固有ID生成回路は、次回固有IDを生成する際に、前記判定結果格納回路に格納されているアドレス情報に対応した相補セルを用いて固有IDを生成する、
    請求項2に記載の半導体装置。
  4. 前記判定結果格納回路には、前記第1の状態において読み出した前記相補セルの前記第1のデータと前記第2の状態において読み出した前記相補セルの前記第2のデータとが一致しなかった相補セルのアドレス情報が格納されており、
    前記固有ID生成回路は、次回固有IDを生成する際に、前記判定結果格納回路に格納されているアドレス情報に対応した相補セルを用いないで固有IDを生成する、
    請求項2に記載の半導体装置。
  5. 前記固有ID生成回路は、
    前記第1のメモリセルの初期の閾値電圧を仮想的に低下させた第1の状態において、前記相補セルのデータを前記第1のデータとして読み出し、
    前記第2のメモリセルの初期の閾値電圧を仮想的に低下させた第2の状態において、前記相補セルのデータを前記第2のデータとして読み出す、
    請求項1に記載の半導体装置。
  6. 前記メモリアレイは更に、
    前記第1のメモリセルと接続された第1のビット線と、
    前記第2のメモリセルと接続された第2のビット線と、
    前記第1のビット線および前記第2のビット線に接続されたセンスアンプと、を備え、
    前記固有ID生成回路は、
    前記第1のビット線から電流を引き抜く第1の電流引き抜き回路を用いて前記第1のメモリセルの初期の閾値電圧を仮想的に低下させ、
    前記第2のビット線から電流を引き抜く第2の電流引き抜き回路を用いて前記第2のメモリセルの初期の閾値電圧を仮想的に低下させる、
    請求項5に記載の半導体装置。
  7. 前記固有ID生成回路は、
    前記第1のメモリセルの初期の閾値電圧を仮想的に上昇させた第1の状態において、前記相補セルのデータを前記第1のデータとして読み出し、
    前記第2のメモリセルの初期の閾値電圧を仮想的に上昇させた第2の状態において、前記相補セルのデータを前記第2のデータとして読み出す、
    請求項1に記載の半導体装置。
  8. 前記メモリアレイは更に、
    前記第1のメモリセルと接続された第1のビット線と、
    前記第2のメモリセルと接続された第2のビット線と、
    前記第1のビット線および前記第2のビット線に接続されたセンスアンプと、を備え、
    前記固有ID生成回路は、
    前記第1のビット線に電流を供給する第1の電流供給回路を用いて前記第1のメモリセルの初期の閾値電圧を仮想的に上昇させ、
    前記第2のビット線に電流を供給する第2の電流供給回路を用いて前記第2のメモリセルの初期の閾値電圧を仮想的に上昇させる、
    請求項7に記載の半導体装置。
  9. 前記メモリアレイは、前記複数の相補セルとして、データ保持用の相補セルと、固有ID生成用の相補セルと、を備え、
    前記固有ID生成回路は、前記固有ID生成用の相補セルを用いて前記固有IDを生成する、
    請求項1に記載の半導体装置。
  10. 前記複数の相補セルへのデータの書き込み及び読み出しを制御するメモリ制御回路を更に備え、
    前記メモリ制御回路は、前記固有ID生成回路において前記固有IDを生成した際に前記相補セルの前記第1及び第2のデータが一致しなかった場合、当該一致しなかった相補セルを前記固有ID生成用の相補セルから前記データ保持用の相補セルに切り替える、
    請求項9に記載の半導体装置。
  11. 前記固有ID生成回路は、前記第1及び第2のデータが一致した相補セルに対する、前記第1及び第2のデータが一致しない相補セルの割合が所定のターゲット範囲内であるか否かを判定する、請求項1に記載の半導体装置。
  12. 前記固有ID生成回路は、前記第1及び第2のデータが一致しない相補セルの割合が前記所定のターゲット範囲よりも大きい場合、前記第1及び第2のメモリセルの初期の閾値電圧を仮想的にオフセットさせた際のオフセット量の絶対値を小さくする、請求項11に記載の半導体装置。
  13. 前記固有ID生成回路は、前記第1及び第2のデータが一致しない相補セルの割合が前記所定のターゲット範囲よりも小さい場合、前記第1及び第2のメモリセルの初期の閾値電圧を仮想的にオフセットさせた際のオフセット量の絶対値を大きくする、請求項11に記載の半導体装置。
  14. 前記第1及び第2のメモリセルは、スプリットゲート型のフラッシュメモリセルであり、
    前記固有ID生成回路は、前記第1及び第2のメモリセルのメモリゲートに所定の電圧を印加して、前記第1及び第2のメモリセルの初期の閾値電圧を調整する、
    請求項1に記載の半導体装置。
  15. 前記メモリアレイは更に、
    前記第1のメモリセルと接続された第1のビット線と、
    前記第2のメモリセルと接続された第2のビット線と、
    前記第1のビット線および前記第2のビット線に接続されたセンスアンプと、を備え、
    前記固有ID生成回路は、前記第1及び第2の状態において前記相補セルの前記第1及び第2のデータを前記センスアンプを用いて読み出す際のタイミングを調整する、
    請求項1に記載の半導体装置。
  16. 第1のメモリセルと第2のメモリセルとを有する相補セルを複数備えるメモリアレイを用いて固有IDを生成する、固有ID生成方法であって、
    前記第1のメモリセルの初期の閾値電圧を仮想的にオフセットさせた第1の状態において、前記相補セルのデータを第1のデータとして読み出し、
    前記第2のメモリセルの初期の閾値電圧を仮想的にオフセットさせた第2の状態において、前記相補セルのデータを第2のデータとして読み出し、
    前記第1の状態において読み出した前記相補セルの前記第1のデータと前記第2の状態において読み出した前記相補セルの前記第2のデータとが一致する場合、前記相補セルのデータを固有IDとして用いる、
    固有ID生成方法。
JP2017087297A 2017-04-26 2017-04-26 半導体装置、及び固有id生成方法 Pending JP2018186406A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017087297A JP2018186406A (ja) 2017-04-26 2017-04-26 半導体装置、及び固有id生成方法
US15/926,672 US10224083B2 (en) 2017-04-26 2018-03-20 Semiconductor device, and unique ID generation method
EP18164230.7A EP3396671B1 (en) 2017-04-26 2018-03-27 Semiconductor device, and unique id generation method
CN201810378069.6A CN108806752B (zh) 2017-04-26 2018-04-25 半导体装置以及唯一id产生方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017087297A JP2018186406A (ja) 2017-04-26 2017-04-26 半導体装置、及び固有id生成方法

Publications (1)

Publication Number Publication Date
JP2018186406A true JP2018186406A (ja) 2018-11-22

Family

ID=61827595

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017087297A Pending JP2018186406A (ja) 2017-04-26 2017-04-26 半導体装置、及び固有id生成方法

Country Status (4)

Country Link
US (1) US10224083B2 (ja)
EP (1) EP3396671B1 (ja)
JP (1) JP2018186406A (ja)
CN (1) CN108806752B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021163987A (ja) * 2020-03-30 2021-10-11 キオクシア株式会社 メモリシステム、メモリデバイス、及びメモリシステムの制御方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230047939A1 (en) * 2021-08-13 2023-02-16 Ememory Technology Inc. Fuse-type one time programming memory cell

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5489861B2 (ja) 2010-05-20 2014-05-14 ルネサスエレクトロニクス株式会社 半導体装置及びエンジン制御用ボード
US8619979B2 (en) 2010-06-25 2013-12-31 International Business Machines Corporation Physically unclonable function implemented through threshold voltage comparison
US9436845B2 (en) 2014-03-25 2016-09-06 Globalfoundries Inc. Physically unclonable fuse using a NOR type memory array
KR102207217B1 (ko) * 2014-04-30 2021-01-25 삼성전자주식회사 플래시 메모리 장치, 플래시 메모리 시스템 및 이의 동작 방법
KR101575810B1 (ko) * 2014-09-30 2015-12-08 고려대학교 산학협력단 물리적 복제 방지 기능을 갖는 플래시 메모리 장치 및 그 구현 방법
US9548113B2 (en) 2014-11-21 2017-01-17 Panasonic Intellectual Property Management Co., Ltd. Tamper-resistant non-volatile memory device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021163987A (ja) * 2020-03-30 2021-10-11 キオクシア株式会社 メモリシステム、メモリデバイス、及びメモリシステムの制御方法
JP7305592B2 (ja) 2020-03-30 2023-07-10 キオクシア株式会社 メモリシステム、メモリデバイス、及びメモリシステムの制御方法

Also Published As

Publication number Publication date
US10224083B2 (en) 2019-03-05
US20180315463A1 (en) 2018-11-01
CN108806752B (zh) 2023-08-18
EP3396671B1 (en) 2021-08-18
EP3396671A1 (en) 2018-10-31
CN108806752A (zh) 2018-11-13

Similar Documents

Publication Publication Date Title
US10749695B2 (en) Physical unclonable function for non-volatile memory
US10949300B2 (en) Error correction code event detection
JP5735543B2 (ja) データ状態に固有の失敗の計数に基づく不揮発性メモリのデータ復旧
US9436845B2 (en) Physically unclonable fuse using a NOR type memory array
US7184311B2 (en) Method and system for regulating a program voltage value during multilevel memory device programming
JP5328732B2 (ja) 半導体装置
TW200403672A (en) Method for programming a flash memory cell
CN108733350B (zh) 随机数生成装置及其控制方法
JP2004103089A (ja) 不揮発性半導体記憶装置およびその再書き込み方法
US20110038215A1 (en) Non-volatile memory device and operating method of the same
JP4104151B2 (ja) 不揮発性半導体記憶装置及び不揮発性半導体記憶装置のプログラム方法
CN108806752B (zh) 半导体装置以及唯一id产生方法
JP6278977B2 (ja) メモリ・デバイスのためのプログラマブル及びフレキシブルな基準セル選択方法
US20060098492A1 (en) Erase-verifying method of NAND type flash memory device and NAND type flash memory device thereof
US20070076476A1 (en) Method and system for regulating a program voltage value during multilevel memory device programming
US20130314989A1 (en) Memory system
US10783959B2 (en) Method of compensating charge loss and source line bias in programing of non-volatile memory device
JP2002050187A (ja) しきい値電圧変更方法及び回路構造
JP2019179799A (ja) 半導体記憶装置
US10269441B1 (en) Systems and methods for threshold voltage modification and detection
US20180144807A1 (en) Semiconductor device
KR20030091415A (ko) 플래시 메모리의 누설 전류 감소 장치
JPH11176172A (ja) 不揮発性半導体記憶装置の書き換え方法
KR20080056845A (ko) 소거 스트레스와 소거 타임을 줄인 불휘발성 반도체 메모리장치
JP2003203489A (ja) 半導体記憶装置