CN114978478A - 物理不可复制函数电路及其操作方法以及半导体芯片 - Google Patents
物理不可复制函数电路及其操作方法以及半导体芯片 Download PDFInfo
- Publication number
- CN114978478A CN114978478A CN202110191569.0A CN202110191569A CN114978478A CN 114978478 A CN114978478 A CN 114978478A CN 202110191569 A CN202110191569 A CN 202110191569A CN 114978478 A CN114978478 A CN 114978478A
- Authority
- CN
- China
- Prior art keywords
- current
- memory cells
- data state
- initial data
- state
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/73—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
- G11C16/28—Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/24—Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Read Only Memory (AREA)
Abstract
一种物理不可复制函数电路及其操作方法以及半导体芯片,物理不可复制函数电路包含快闪存储器、电流比较器及控制器,快闪存储器包含多个存储器单元,该方法包含控制器将这些存储器单元设置在初始数据状态,控制器将这些存储器单元设置在初始数据状态及初始数据状态的相邻初始数据状态之间,电流比较器从这些存储器单元的第一区存储器单元中读取第一电流,电流比较器从这些存储器单元的第二区存储器单元中读取第二电流,及电流比较器依据第一电流及第二电流输出随机位。
Description
技术领域
本发明涉及数据安全,特别涉及一种物理不可复制函数电路的操作方法、物理不可复制函数电路及半导体芯片。
背景技术
物理不可复制函数(physically unclonable function,PUF)电路通过每个半导体元件独有的“数字指纹”来防止数据窃取,确保数据安全。相关技术中的PUF电路将存储器单元设于读取电流电平附近的临界范围,并使用读取电流电平读取存储器单元以产生随机数据。然而当读取电流电平并非在临界范围的中央时,随机数据的随机性会减低,造成数据安全性降低。
发明内容
本发明实施例提供一种物理不可复制函数电路的操作方法,物理不可复制函数电路包含快闪存储器、电流比较器及控制器,快闪存储器包含多个存储器单元,方法包含控制器将这些存储器单元设置在初始数据状态,控制器将这些存储器单元设置在初始数据状态及初始数据状态的相邻初始数据状态之间,电流比较器从这些存储器单元的第一区存储器单元中读取第一电流,电流比较器从这些存储器单元的第二区存储器单元中读取第二电流,及电流比较器依据第一电流及第二电流输出随机位。
本发明另一实施例提供一种物理不可复制函数电路,包含快闪存储器、电流比较器及控制器。快闪存储器包含多个存储器单元。电流比较器耦接在这些存储器单元的第一区存储器单元及第二区存储器单元。控制器耦接在快闪存储器及电流比较器。控制器用以将这些存储器单元设置在初始数据状态,及将这些存储器单元设置在初始数据状态及初始数据状态的相邻初始数据状态之间。电流比较器用以从第一区存储器单元中读取第一电流,从第二区存储器单元中读取第二电流,及依据第一电流及第二电流输出随机位。
本发明另一实施例提供一种半导体芯片,包含物理不可复制函数电路及金钥产生器。物理不可复制函数电路包含快闪存储器、电流比较器及控制器。快闪存储器包含多个存储器单元。电流比较器耦接在这些存储器单元的第一区存储器单元及第二行的存储器单元。控制器耦接在快闪存储器及电流比较器。金钥产生器耦接在物理不可复制函数电路。控制器用以将这些存储器单元设置在初始数据状态,及将这些存储器单元设置在初始数据状态及初始数据状态的相邻初始数据状态之间。电流比较器用以从第一区存储器单元中读取第一电流,从第二区存储器单元中读取第二电流,及依据第一电流及第二电流输出随机位。金钥产生器依据随机位产生金钥。
附图说明
图1为本发明实施例中的一种物理不可复制函数电路的方块图。
图2显示图1中的存储器单元的电流分布。
图3为图1中的PUF电路的操作方法的流程图。
图4为图1中的一种电流比较器的电路示意图。
图5为图1中的另一种电流比较器的电路示意图。
图6显示弱抹除电压与第一电流及第二电流之间的电流差值之间的关系。
图7显示弱抹除电压与随机位之间的关系。
图8为本发明实施例中的一种半导体芯片的方块图。
【主要元件符号说明】
1:PUF电路
10:行解码器
12:快闪存储器
121,122:存储器区块
14:控制器
16:电流比较器
300:操作方法
410,412,440,442,510,530:晶体管
414,444,500,502,540,542:电流源
420:运算放大器
440,460,520及522:反相器
70,72:模拟曲线
8:半导体芯片
80:金钥产生器
82:编解码器
BL1(1)至BL1(M),BL2(1)至BL2(M):位线
D1,Dm,D0:分布
Din:输入数据
Dout:输出数据
Kpb:公开金钥
Kprv:私密金钥
L1,Lm,L0:电流电平
Dpuf:随机位
I:电流
I1:第一电流
I2:第二电流
Iref:参考电流
M1(1,1)至M1(M,N),M2(1,1)至M2(M,N):存储器单元
S302至S310:步骤
VDD:供电电压
VSS:接地电压
WL1(1)至WL1(N),WL2(1)至WL2(N):字线
具体实施方式
图1为本发明实施例中的一种物理不可复制函数(physically unclonablefunction,PUF)电路1的方块图。PUF电路1可不使用读取电流电平产生随机位Dpuf,进而增加随机位Dpuf的随机性。随机位Dpuf可为第一逻辑值或第二逻辑值,随机位Dpuf为第一逻辑值的机率及随机位Dpuf为第二逻辑值的机率可实质上相等。第一逻辑值可为逻辑“0”,第二逻辑值可为逻辑“1”,但第一逻辑值及第二逻辑值不限于此。
PUF电路1可包含行解码器(row decoder)10、快闪存储器12、控制器14及电流比较器16。快闪存储器12可为NAND快闪存储器,及可包含存储器区块121及122。存储器区块121可包含设置为N行的存储器单元M1(1,1)至M1(M,N),存储器区块121的N行存储器单元可经由字线WL1(1)至WL1(N)耦接在行解码器10,及可经由位线BL1(1)至BL1(M)耦接在电流比较器16,N为大于1的正整数。存储器区块122可包含设置为N行的存储器单元M2(1,1)至M2(M,N),存储器区块122的N行存储器单元可经由字线WL2(1)至WL2(N)耦接在行解码器10,及可经由位线BL2(1)至BL2(M)耦接在电流比较器16。存储器单元M1(1,1)至M1(M,N),M2(1,1)至M2(M,N)可为单层单元或多层单元。电流比较器16可为感测放大器或差动电流比较器。控制器14可耦接在电流比较器16,及经由行解码器10耦接在快闪存储器12。
存储器单元M1(1,1)至M1(M,N),M2(1,1)至M2(M,N)可被设置在抹除状态、最低编程状态或随机状态。随机状态可介于抹除状态及最低编程状态之间。在正常运作时,每个存储器单元M1(1,1)至M1(M,N),M2(1,1)至M2(M,N)会被设置在抹除状态或最低编程状态而不会被设置在随机状态。在产生随机位Dpuf时,存储器单元M1(1,1)至M1(M,N),M2(1,1)至M2(M,N)则会被设置在随机状态。控制器14可在出厂或重置时将存储器单元M1(1,1)至M1(M,N),M2(1,1)至M2(M,N)设置至随机状态。图2显示存储器单元M1(1,1)至M1(M,N),M2(1,1)至M2(M,N)的电流分布,其中横轴表示电流,纵轴表示存储器单元数量。当读取数据时,控制器14可经由行解码器10施加预定读取电压,例如0V至存储器单元M1(1,1)至M1(M,N),M2(1,1)至M2(M,N)的控制端,电流比较器16可读取流经存储器单元M1(1,1)至M1(M,N),M2(1,1)至M2(M,N)的电流用以判定状态。依据存储器单元M1(1,1)至M1(M,N),M2(1,1)至M2(M,N)的状态,读取到的电流I可形成分布D1、Dm或D0。分布D1、Dm及D0分别为最低编程状态、随机状态及抹除状态的存储器单元M1(1,1)至M1(M,N),M2(1,1)至M2(M,N)的电流分布,电流电平L1、Lm及L0分别为分布D1、Dm及D0的平均值,例如电流电平L1、Lm及L0可分别为0μA、10μA及20μA。当设置随机状态时,控制器14可先抹除存储器单元M1(1,1)至M1(M,N),M2(1,1)至M2(M,N)中的数据(分布D1),然后将存储器单元M1(1,1)至M1(M,N),M2(1,1)至M2(M,N)编程至最低编程状态(分布D1),接着进行弱抹除程序以将存储器单元M1(1,1)至M1(M,N),M2(1,1)至M2(M,N)设置至随机状态(分布Dm)。在一些实施例中,当设置随机状态时,控制器14可先抹除存储器单元M1(1,1)至M1(M,N),M2(1,1)至M2(M,N)中的数据(分布D1),接着进行弱编程程序以将存储器单元M1(1,1)至M1(M,N),M2(1,1)至M2(M,N)设置至随机状态(分布Dm)。
当需要产生随机位Dpuf时,电流比较器16可从存储器单元M1(1,1)至M1(M,N)中的一个读取第一电流,及从存储器单元M2(1,1)至M2(M,N)中的一个读取第二电流,及依据第一电流及第二电流输出随机位Dpuf。具体而言,电流比较器16可比较第一电流及第二电流以产生比较结果,及依据比较结果产生随机位Dpuf。若比较结果显示第一电流大于第二电流,则电流比较器16输出随机位Dpuf的第一逻辑值;若比较结果显示第一电流小于第二电流,则电流比较器16输出随机位Dpuf的第二逻辑值。由于PUF电路1依据第一电流及第二电流输出随机位Dpuf,随机位Dpuf的随机性不受读取电流电平影响,有助于增加随机位Dpuf的随机性。此外,图2显示随机状态的分布Dm较最低编程状态的分布D1及抹除状态的分布D0还要宽,因此第一电流及第二电流之间的差异可能越大,增加随机位Dpuf的随机性及加速产生随机位Dpuf。
图3为PUF电路1的操作方法300的流程图。控制方法300包含步骤S302至S310,用以产生随机位Dpuf。任何合理的技术变更或是步骤调整都属于本发明所公开的范围。步骤S302至S310的详细内容如下所述:
步骤S302:控制器14将存储器单元M1(1,1)至M1(M,N),M2(1,1)至M2(M,N)设置在初始数据状态;
步骤S304:控制器14将存储器单元M1(1,1)至M1(M,N),M2(1,1)至M2(M,N)设置在初始数据状态及初始数据状态的相邻数据状态之间;
步骤S306:电流比较器16从存储器单元M1(1,1)至M1(M,N)的第一区存储器单元中读取第一电流;
步骤S308:电流比较器16从存储器单元M2(1,1)至M2(M,N)的第二区存储器单元中读取第二电流;
步骤S310:电流比较器16依据第一电流及第二电流输出随机位Dpuf。
在步骤S302,初始数据状态可为最低编程状态或抹除状态。在步骤S304,若初始数据状态为最低编程状态,则相邻数据状态为抹除状态,控制器14对存储器单元M1(1,1)至M1(M,N),M2(1,1)至M2(M,N)施加弱抹除脉冲以将存储器单元M1(1,1)至M1(M,N),M2(1,1)至M2(M,N)设置在最低编程状态及抹除状态之间的随机状态。具体而言,控制器14可经由字线WL1(1)至WL1(N),WL2(1)至WL2(M)施加弱抹除脉冲至存储器单元M1(1,1)至M1(M,N),M2(1,1)至M2(M,N)的控制端,及施加高电压至存储器单元M1(1,1)至M1(M,N),M2(1,1)至M2(M,N)的共同P型井。弱抹除脉冲可为7~8V。若初始数据状态为抹除状态,则相邻数据状态为最低编程状态,控制器14对存储器单元M1(1,1)至M1(M,N),M2(1,1)至M2(M,N)施加弱编程脉冲以将存储器单元M1(1,1)至M1(M,N),M2(1,1)至M2(M,N)设置在抹除状态及最低编程状态之间的随机状态。具体而言,控制器14可经由字线WL1(1)至WL1(N),WL2(1)至WL2(N)施加弱编程脉冲至存储器单元M1(1,1)至M1(M,N),M2(1,1)至M2(M,N)的控制端,及经由位线BL1(1)至BL1(M),BL2(1)至BL2(M)施加正电压至存储器单元M1(1,1)至M1(M,N),M2(1,1)至M2(M,N)。弱编程脉冲可为7~8V。在步骤S306及S308,第一区存储器单元为存储器区块121中特定范围的存储器单元,第二区存储器单元为存储器区块122中特定范围的存储器单元。在一些实施例中,第一区存储器单元为存储器区块121的第n行,第二区存储器单元为存储器区块122第n行。当收到产生随机位Dpuf的请求时,控制器14分别经由字线WL1(n)及WL2(n)致能存储器区块121的第n行及存储器区块122的第n行,以使电流比较器16分别从存储器区块121的第n行及第m列的存储器单元M1(m,n)读取第一电流及从存储器区块122的第n行及第m列的存储器单元M2(m,n)读取第二电流,n为1至N中的一正整数,m为1至M中的一正整数。在一些实施例中,第一区存储器单元为存储器区块121的第n1行,第二区存储器单元为存储器区块122第n2行,n1,n2为1至N中的正整数。控制器14可分别经由字线WL1(n1)及WL2(n2)致能存储器区块121的第n1行及存储器区块122的第n2行,以使电流比较器16分别从存储器区块121的第n1行及第m列的存储器单元M1(m,n1)读取第一电流及从存储器区块122的第n2行及第m列的存储器单元M2(m,n2)读取第二电流,m为1至M中的一正整数。在步骤S310,若比较结果显示第一电流大于第二电流,则电流比较器16输出随机位Dpuf的第一逻辑值(逻辑“0”);若比较结果显示第一电流小于第二电流,则电流比较器16输出随机位Dpuf的第二逻辑值(逻辑“1”)。在一些实施例中,电流比较器16也可分别由存储器区块121的第n行及存储器区块122的第n行读取多个存储器单元以产生k个第一电流及k个第二电流,及分别比较k个第一电流及k个对应第二电流以产生k个随机位Dpuf,k为1至M中的一正整数。请参考表1,电流比较器16读取字线WL1(n)的存储器单元M1(m,n)而分别得到7个第一电流及7个第二电流,及分别比较7个第一电流{8μA、7μA、12μA、4μA、15μA、9μA、9μA}及7个对应第二电流{4μA、12μA、14μA、5μA、12μA、3μA、15μA}以产生7个随机位Dpuf{0(8>4)、1(7<12)、1(12<14)、1(4<5)、0(15>12)、0(9>3)、1(9<15)}。
表1
WL1(n) | WL2(n) | Dpuf |
8 | 4 | 0 |
7 | 12 | 1 |
12 | 14 | 1 |
4 | 5 | 1 |
15 | 12 | 0 |
9 | 3 | 0 |
9 | 15 | 1 |
操作方法300依据第一电流及第二电流输出随机位Dpuf,因此随机位Dpuf的随机性不受读取电流电平影响,有助于增加随机位Dpuf的随机性。
图4为一种电流比较器16的电路示意图。电流比较器16包含晶体管410、412、440及442、反相器400及460、电流源414及444及运算放大器420。电流比较器16可接收第一电流I1及第二电流I2,及依据第一电流I1及第二电流I2输出随机位Dpuf。
晶体管410包含第一端,用以接收供电电压VDD;第二端;及控制端,耦接在晶体管410的第二端。晶体管412包含第一端,耦接在晶体管410的第二端;第二端;及控制端。电流源414包含第一端,耦接在晶体管412的第二端;及第二端,用以接收接地电压VSS。反相器400包含第一端,耦接在电流源414的第一端;及第二端,耦接于在晶体管412的控制端。晶体管440包含第一端,用以接收供电电压VDD;第二端;及控制端,耦接在晶体管410的控制端。晶体管442包含第一端,耦接在晶体管440的第二端;第二端;及控制端。电流源444包含第一端,耦接在晶体管442的第二端;及第二端,用以接收接地电压VSS。反相器460包含第一端,耦接在电流源444的第一端;及第二端,耦接在晶体管442的控制端。运算放大器420包含第一输入端,耦接在晶体管412的第二端;第二输入端,耦接在晶体管442的第二端;及输出端。运算放大器420的第一输入端可为正向输入端,运算放大器420的第一输入端可为反相输入端。晶体管410及440可为P型晶体管,晶体管412及442可为N型晶体管。
晶体管410及440可作为电流镜。晶体管412及442可作为电流箝位(currentclamp)。在初始状态,第一电流I1及第二电流I2为0,晶体管412的控制端及晶体管442的控制端可接收固定偏压,例如0.8V,用以箝制运算放大器420的第一输入端的电压及第二输入端的电压。在产生随机位Dpuf时,若第一电流I1大于第二电流I2,电流源414会依据第一电流I1增加电流源414的第一端的电压,反相器400会降低反相器400的第二端的电压,晶体管412会降低运算放大器420的第一输入端的电压;相似地,电流源444会依据第二电流I2增加电流源444的第一端的电压,反相器460会降低反相器460的第二端的电压,晶体管442会降低运算放大器420的第二输入端的电压;由于第一电流I1大于第二电流I2,运算放大器420的第一输入端的电压会低于第二输入端的电压,运算放大器420的输出端会输出逻辑“0”作为随机位Dpuf。若第一电流I1小于第二电流I2,运算放大器420的第一输入端的电压会高于第二输入端的电压,运算放大器420的输出端会输出逻辑“1”作为随机位Dpuf。
图5为另一种电流比较器16的电路示意图。电流比较器16包含电流源500、502、540及542、晶体管510及530及反相器520及522。电流比较器16可接收第一电流I1及第二电流I2,及依据第一电流I1及第二电流I2输出随机位Dpuf。
电流源500包含第一端,用以接收供电电压VDD;及第二端。电流源502包含第一端,耦接在电流源500的第二端;及第二端,用以接收接地电压VSS。晶体管510包含第一端;第二端,用以接收接地电压VSS;及控制端,耦接在电流源500的第二端及电流源502的第一端。电流源540包含第一端,用以接收供电电压VDD;及第二端。电流源542包含第一端,耦接在电流源540的第二端;及第二端,用以接收接地电压VSS。晶体管530包含第一端;第二端,用以接收接地电压VSS;及控制端,耦接在电流源540的第二端及电流源542的第一端。反相器522包含第一端,耦接在晶体管510的第一端;及第二端,耦接在晶体管530的第一端。反相器520包含第一端,耦接在晶体管530的第一端;及第二端,耦接在晶体管510的第一端。晶体管510及530可为N型晶体管。
电流源500及540可产生参考电流Iref。电流源502可产生第一电流I1,电流源502可产生第二电流I2。反相器520及522可形成锁存器。在初始状态,第一电流I1及第二电流I2为0,晶体管510的控制端及晶体管530的控制端可接收固定偏压,用以在晶体管510的第一端及晶体管530的第一端建立实质上相同的电压。在产生随机位Dpuf时,若第一电流I1大于第二电流I2,电流源500及502会依据参考电流Iref及第一电流I1之间的差值在晶体管510的控制端建立电压;电流源540及542会依据参考电流Iref及第二电流I2之间的差值在晶体管530的控制端建立电压;由于第一电流I1大于第二电流I2,晶体管510的控制端的电压会小于晶体管530的控制端的电压,晶体管510的第一端的电压会大于晶体管530的第一端的电压,锁存器会输出逻辑“0”作为随机位Dpuf。若第一电流I1小于第二电流I2,晶体管510的控制端的电压会大于晶体管530的控制端的电压,晶体管510的第一端的电压会小于晶体管530的第一端的电压,锁存器会输出逻辑“1”作为随机位Dpuf。
图6显示弱抹除电压与第一电流及第二电流之间的电流差值之间的关系,其中横轴表示弱抹除脉冲,纵轴表示第一电流I1及第二电流I2之间的电流差值。当弱抹除脉冲介于6V至8V时,第一电流I1及第二电流I2之间的电流差值具有以0为中心的常态分布。当弱抹除脉冲从6V增加至8V时,第一电流I1及第二电流I2之间的电流差值也由±5μA扩大至±20μA。当弱抹除脉冲小于-7V时,第一电流I1及第二电流I2之间的电流差值会超出±10μA。因此PUF电路1可使用介于7V~8V的弱抹除脉冲来将存储器单元M1(1,1)至M1(M,N),M2(1,1)至M2(M,N)设置为随机状态。
图7显示弱抹除电压与随机位之间的关系,其中横轴表示弱抹除脉冲,纵轴表示百分比。模拟曲线70表示第一电流I1大于第二电流I2,且随机位Dpuf为第一逻辑值的百分比;模拟曲线72表示第一电流I1小于第二电流I2,且随机位Dpuf为第二逻辑值的百分比。当弱抹除脉冲从6V增加至8V时,模拟曲线70及72也逐渐向50%靠近。当弱抹除脉冲介于7V~8V时,随机位Dpuf为第一逻辑值的百分比及随机位Dpuf为第二逻辑值的百分比趋近于50%。因此PUF电路1可使用介于7V~8V的弱抹除脉冲来将存储器单元M1(1,1)至M1(M,N),M2(1,1)至M2(M,N)设置为随机状态,以增强随机性。
图8为本发明实施例中的一种半导体芯片8的方块图。半导体芯片8包含PUF电路1、金钥产生器80及编解码器82。PUF电路1、金钥产生器80及编解码器82依序耦接。PUF电路1的电路设置及运作方式已在前述段落中解释,在此不再赘述。
当进行编码/解码时,PUF电路1可接收请求以产生随机位Dpuf,金钥产生器80可依据随机位Dpuf产生公开金钥Kpb及私密金钥Kprv,编解码器82可依据私密金钥Kprv对输入数据Din进行编码/解码而产生输出数据Dout。输入数据Din可为编码前数据、编码前地址、编码后数据、和/或编码后地址。当进行编码后,编解码器82可将输出数据Dout输出至外部电路,金钥产生器80可将公开金钥Kpb输出至外部电路,外部电路可依据公开金钥Kpb解码输出数据Dout而获得输入数据Din。由于随机位Dpuf具有增强的随机性,因此可以确保输入数据Din的数据安全。
以上所述仅为本发明的优选实施例,凡依本发明权利要求书所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (20)
1.一种物理不可复制函数电路的操作方法,该物理不可复制函数电路包含快闪存储器、电流比较器及控制器,该快闪存储器包含多个存储器单元,其特征在于,该方法包含:
该控制器将这些存储器单元设置在初始数据状态;
该控制器将这些存储器单元设置在该初始数据状态及该初始数据状态的相邻数据状态之间;
该电流比较器从这些存储器单元的第一区存储器单元中读取第一电流;
该电流比较器从这些存储器单元的第二区存储器单元中读取第二电流;及
该电流比较器依据该第一电流及该第二电流输出随机位。
2.根据权利要求1所述的方法,其特征在于,其中该感电流比较器依据该第一电流及该第二电流产生该随机位包含:若该第一电流大于该第二电流,则该感测放大器输出该随机位的第一逻辑值。
3.根据权利要求1所述的方法,其特征在于,其中该电流比较器依据该第一电流及该第二电流产生该随机位包含:若该第一电流小于该第二电流,则该感测放大器输出该随机位的第二逻辑值。
4.根据权利要求1所述的方法,其特征在于,其中该初始数据状态为最低编程状态,该相邻数据状态为抹除状态,该控制器将这些存储器单元设置在该初始数据状态及该初始数据状态的该相邻数据状态之间包含:该控制器对这些存储器单元施加弱抹除脉冲以将这些存储器单元设置在该初始数据状态及该相邻数据状态之间。
5.根据权利要求1所述的方法,其特征在于,其中该初始数据状态为抹除状态,该相邻数据状态为最低编程状态,该控制器将这些存储器单元设置在该初始数据状态及该初始数据状态的该相邻数据状态之间包含:该控制器对这些存储器单元施加弱编程脉冲以将这些存储器单元设置在该初始数据状态及该相邻数据状态之间。
6.根据权利要求1所述的方法,其特征在于,该电流比较器为感测放大器。
7.根据权利要求1所述的方法,其特征在于,该电流比较器为差动电流比较器。
8.一种物理不可复制函数电路,其特征在于,包含:
快闪存储器,包含多个存储器单元;
电流比较器,耦接在这些存储器单元的第一区存储器单元及第二区存储器单元;及
控制器,耦接在该快闪存储器及该电流比较器;
其中该控制器用以将这些存储器单元设置在初始数据状态,及将这些存储器单元设置在该初始数据状态及该初始数据状态的相邻数据状态之间;及
该电流比较器用以从该第一区存储器单元中读取第一电流,从该第二区存储器单元中读取第二电流,及依据该第一电流及该第二电流输出随机位。
9.根据权利要求8所述的物理不可复制函数电路,其特征在于,其中若该第一电流大于该第二电流,则该电流比较器输出该随机位的第一逻辑值。
10.根据权利要求8所述的物理不可复制函数电路,其特征在于,其中若该第一电流小于该第二电流,则该电流比较器输出该随机位的第二逻辑值。
11.根据权利要求8所述的物理不可复制函数电路,其特征在于,其中该初始数据状态为最低编程状态,该相邻数据状态为抹除状态,该控制器用以对这些存储器单元施加弱抹除脉冲以将这些存储器单元设置在该初始数据状态及该相邻数据状态之间。
12.根据权利要求8所述的物理不可复制函数电路,其特征在于,其中该初始数据状态为抹除状态,该相邻数据状态为最低编程状态,该控制器用以对这些存储器单元施加弱编程脉冲以将这些存储器单元设置在该初始数据状态及该相邻数据状态之间。
13.根据权利要求8所述的物理不可复制函数电路,其特征在于,该电流比较器为感测放大器。
14.根据权利要求8所述的物理不可复制函数电路,其特征在于,该电流比较器为差动电流比较器。
15.一种半导体芯片,其特征在于,包含:
物理不可复制函数电路,包含:
快闪存储器,包含多个存储器单元;
电流比较器,耦接在这些存储器单元的第一区存储器单元及第二区存储器单元;及
控制器,耦接在该快闪存储器及该电流比较器;及
金钥产生器,耦接在该物理不可复制函数电路;
其中该控制器用以将这些存储器单元设置在初始数据状态,及将这些存储器单元设置在该初始数据状态及该初始数据状态的相邻数据状态之间;
该电流比较器用以从该第一区存储器单元中读取第一电流,从该第二区存储器单元中读取第二电流,及依据该第一电流及该第二电流输出随机位;及
该金钥产生器依据该随机位产生金钥。
16.根据权利要求15所述的半导体芯片,其特征在于,其中若该第一电流大于该第二电流,则该电流比较器用以输出该随机位的第一逻辑值。
17.根据权利要求15所述的半导体芯片,其特征在于,其中若该第一电流小于该第二电流,则该电流比较器用以输出该随机位的第二逻辑值。
18.根据权利要求15所述的半导体芯片,其特征在于,其中该初始数据状态为最低编程状态,该相邻数据状态为抹除状态,该控制器用以对这些存储器单元施加弱抹除脉冲以将这些存储器单元设置在该初始数据状态及该相邻数据状态之间。
19.根据权利要求15所述的半导体芯片,其特征在于,其中该初始数据状态为抹除状态,该相邻数据状态为最低编程状态,该控制器用以对这些存储器单元施加弱编程脉冲以将这些存储器单元设置在该初始数据状态及该相邻数据状态之间。
20.根据权利要求15所述的半导体芯片,其特征在于,该电流比较器为感测放大器或差动电流比较器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110191569.0A CN114978478A (zh) | 2021-02-19 | 2021-02-19 | 物理不可复制函数电路及其操作方法以及半导体芯片 |
US17/210,545 US11366604B1 (en) | 2021-02-19 | 2021-03-24 | Method of operating physically unclonable function circuit, physically unclonable function circuit and semiconductor chip |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110191569.0A CN114978478A (zh) | 2021-02-19 | 2021-02-19 | 物理不可复制函数电路及其操作方法以及半导体芯片 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114978478A true CN114978478A (zh) | 2022-08-30 |
Family
ID=82060404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110191569.0A Pending CN114978478A (zh) | 2021-02-19 | 2021-02-19 | 物理不可复制函数电路及其操作方法以及半导体芯片 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11366604B1 (zh) |
CN (1) | CN114978478A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115130152B (zh) * | 2022-09-01 | 2022-11-18 | 北京紫光青藤微系统有限公司 | 一种物理不可克隆函数的生成方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5239494A (en) * | 1991-10-30 | 1993-08-24 | Motorola, Inc. | Random bit stream generator and method |
JPH10209821A (ja) * | 1996-12-05 | 1998-08-07 | Texas Instr Inc <Ti> | ランダムノイズ発生器及び発生方法 |
US7237074B2 (en) * | 2003-06-13 | 2007-06-26 | Sandisk Corporation | Tracking cells for a memory system |
KR101575810B1 (ko) | 2014-09-30 | 2015-12-08 | 고려대학교 산학협력단 | 물리적 복제 방지 기능을 갖는 플래시 메모리 장치 및 그 구현 방법 |
JP7118699B2 (ja) * | 2018-03-30 | 2022-08-16 | 株式会社マキタ | 電動作業機 |
-
2021
- 2021-02-19 CN CN202110191569.0A patent/CN114978478A/zh active Pending
- 2021-03-24 US US17/210,545 patent/US11366604B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11366604B1 (en) | 2022-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9865359B2 (en) | Semiconductor device including fuse circuit | |
CN108694335B (zh) | 基于sram的物理不可克隆函数及产生puf响应的方法 | |
US7254063B2 (en) | Non-volatile semiconductor memory device and method for reading the same | |
US10574469B1 (en) | Physically unclonable function and method for generating a digital code | |
CN107944301B (zh) | 反熔丝物理不可复制电路以及相关控制方法 | |
US7826277B2 (en) | Non-volatile memory device and method of operating the same | |
US11769548B2 (en) | Stable memory cell identification for hardware security | |
US10298264B2 (en) | Systems and methods for soft decision generation in a solid state memory system | |
US10880101B2 (en) | Method and circuit for de-biasing PUF bits | |
JP2005190543A5 (zh) | ||
US10985758B2 (en) | Random code generator with floating gate transistor type memory cell | |
US11366604B1 (en) | Method of operating physically unclonable function circuit, physically unclonable function circuit and semiconductor chip | |
JPH1116379A (ja) | 多値型半導体記憶装置 | |
CN114765050A (zh) | 检测错误位的存储器装置及其方法 | |
US7054209B2 (en) | Semiconductor memory device and test method thereof | |
KR100855994B1 (ko) | 플래시 메모리 장치 및 그 구동방법 | |
US6392940B2 (en) | Semiconductor memory circuit | |
TWI789248B (zh) | 產生用於一電子元件的一隨機碼的裝置及方法 | |
US20240113715A1 (en) | Generating physical unclonable function data from a transistor of a semiconductor device | |
JP4212594B2 (ja) | 多値半導体記憶装置及びその書き込み方法並びに記憶媒体 | |
Lee et al. | Self-Inhibit Complementary Cells by High-κ Metal Gate Transistors for Physical Unclonable Function | |
CN111314058A (zh) | 物理不可复制功能码产生方法及其提供装置 | |
KR20080051842A (ko) | 멀티 비트 병렬 테스트 회로 | |
JPH117784A (ja) | Eeprom装置 | |
Zhang et al. | Word error control algorithm through multi-reading for NAND Flash memories |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |