TW201913446A - 隨機碼產生器及其相關控制方法 - Google Patents
隨機碼產生器及其相關控制方法 Download PDFInfo
- Publication number
- TW201913446A TW201913446A TW107129581A TW107129581A TW201913446A TW 201913446 A TW201913446 A TW 201913446A TW 107129581 A TW107129581 A TW 107129581A TW 107129581 A TW107129581 A TW 107129581A TW 201913446 A TW201913446 A TW 201913446A
- Authority
- TW
- Taiwan
- Prior art keywords
- random code
- puf memory
- memory cell
- code generator
- puf
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 19
- 238000012795 verification Methods 0.000 claims abstract description 60
- 239000004065 semiconductor Substances 0.000 claims abstract description 27
- 238000013507 mapping Methods 0.000 claims abstract description 24
- 230000015654 memory Effects 0.000 claims description 168
- 230000009471 action Effects 0.000 abstract description 20
- 238000010586 diagram Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 235000012431 wafers Nutrition 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000007717 exclusion Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- 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/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
-
- 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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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/72—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 in cryptographic circuits
-
- 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/76—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 in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- 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/86—Secure or tamper-resistant housings
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
-
- 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
- G11C17/00—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
- G11C17/14—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
- G11C17/16—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM using electrically-fusible links
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C17/00—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
- G11C17/14—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
- G11C17/18—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/06—Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
- G11C7/062—Differential amplifiers of non-latching type, e.g. comparators, long-tailed pairs
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/84—Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators
-
- 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
-
- 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/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
- H04L9/3278—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B20/00—Read-only memory [ROM] devices
- H10B20/20—Programmable ROM [PROM] devices comprising field-effect components
- H10B20/25—One-time programmable ROM [OTPROM] devices, e.g. using electrically-fusible links
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/20—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
- H03K19/21—EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S40/00—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
- Y04S40/20—Information technology specific aspects, e.g. CAD, simulation, modelling, system security
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Databases & Information Systems (AREA)
- Read Only Memory (AREA)
- Storage Device Security (AREA)
- Semiconductor Integrated Circuits (AREA)
- Semiconductor Memories (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Electronic Switches (AREA)
- Fuses (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
一種半導體晶片中的隨機碼產生器,包括:一PUF記憶胞陣列、一控制電路與一驗證電路。PUF記憶胞陣列包括m×n個PUF記憶胞。控制電路與驗證電路連接至該PUF記憶胞陣列。於一編程動作時,該控制電路編程該PUF記憶胞陣列。於一驗證動作時,該驗證電路由該PUF記憶胞陣列中判斷出p個PUF記憶胞為正常PUF記憶胞,並對應的產生一映射資訊,且p小於m×n。當該半導體晶片開始運作時,該控制電路根據該映射資訊來讀取該PUF記憶胞陣列中的該p個正常PUF記憶胞之儲存狀態,並組成一隨機碼。
Description
本發明是一種隨機碼產生器與相關控制方法,且特別是有關於一種利用物理不可複製技術(physically unclonable function,簡稱PUF技術)的隨機碼產生器及其相關控制方法。
物理不可複製技術(physically unclonable function,簡稱PUF技術)是一種創新的方式用來保護半導體晶片內部的資料,防止半導體晶片的內部資料被竊取。根據PUF技術,半導體晶片內的隨機碼產生器(random code generator)能夠提供一隨機碼(random code)。此隨機碼可作為半導體晶片(semiconductor chip)上特有的身分碼(ID code),用來保護內部的資料。
一般來說,PUF技術是利用半導體晶片的製造變異(manufacturing variation)來獲得獨特的隨機碼。此製造變異包括半導體的製程變異(process variation)。亦即,就算有精確的製程步驟可以製作出半導體晶片,但是其隨機碼幾乎不可能被複製(duplicate)。因此,具有PUF技術的半導體晶片通常被運用於高安全防護的應用(applications with high security requirements)。
美國專利號US 9,613,714揭露利用一次編程記憶胞(one time programmable cell,簡稱OTP記憶胞,OTP cell)來組成隨機碼產生器,用來產生隨機碼(random code)。
在隨機碼產生器中包括一OTP記憶胞,OTP記憶胞中包括二個儲存電路(storing circuit)。其中,每個儲存電路中具有一反熔絲電晶體(antifuse transistor)。再者,OTP記憶胞又可稱為物理不可複製記憶胞(簡稱PUF記憶胞,PUF cell),且每個PUF記憶胞中可儲存一個位元的隨機碼。
一般來說,當反熔絲電晶體的閘極端(gate terminal)與源汲端(source/drain terminal)之間的電壓差未超過其耐壓時,反熔絲電晶體維持在高電阻值狀態。反之,當反熔絲電晶體的閘極端與汲源端之間的電壓差超過其耐壓時,反熔絲電晶體的閘極氧化層會破裂(rupture),使得反熔絲電晶體由高電阻值狀態改變為低電阻值狀態。
在美國專利號US 9,613,714中提出多種可產生隨機碼的PUF記憶胞。舉例來說,請參照第1A圖與第1B圖,其所繪示為習知PUF記憶胞及相關偏壓示意圖。
PUF記憶胞c1包括:選擇電晶體S1、反熔絲電晶體A1、反熔絲電晶體A2以及選擇電晶體S2。其中,選擇電晶體S1的第一源/汲端連接至位元線BL,選擇電晶體S1的閘極端連接至字元線WL;反熔絲電晶體A1的第一源/汲端連接至選擇電晶體S1的第二源/汲端,反熔絲電晶體A1的閘極端連接至反熔絲控制線AF1;反熔絲電晶體A2的第一源/汲端連接至反熔絲電晶體A1的第二源/汲端,反熔絲電晶體A2的閘極端連接至反熔絲控制線AF2;選擇電晶體S2的第一源/汲端連接至反熔絲電晶體A2的第二源/汲端,選擇電晶體S2的閘極端連接至字元線WL,選擇電晶體S2的第二源/汲端連接至位元線BL。
如第1B圖所示,於編程動作(program action)時,提供接地電壓(0V)至位元線BL,提供選擇電壓(Vdd)至字元線WL,提供編程電壓(Vpp)至反熔絲控制線AF1、AF2。另外,在編程動作時,字元線WL的電壓範圍也可設計在選擇電壓(Vdd)及Vdd2電壓之間,其中Vdd2電壓大小介於選擇電壓(Vdd)~編程電壓(Vpp)之間。 再者,在PUF技術領域中,編程動作(program action)與另一種編程動作(enroll action)是相同的意思。亦即,PUF記憶胞可被編程(programmed),也可以說PUF記憶胞可被編程(enrolled)。
於進行編程動作時,選擇電晶體S1與S2開啟,反熔絲電晶體A1與A2會同時接收到編程電壓(Vpp)。因此,反熔絲電晶體A1與A2其中之一會改變其狀態。舉例來說,反熔絲電晶體A1改變為低電阻值狀態,而反熔絲電晶體A2維持在高電阻值狀態。或者,反熔絲電晶體A2改變為低電阻值狀態,而反熔絲電晶體A1維持在高電阻值狀態。換句話說,由於反熔絲電晶體A1與A2的製造變異,於編程動作時並無法預測哪個反熔絲電晶體A1與A2會改變其狀態。
於進行讀取動作(read action)時,提供接地電壓(0V)至位元線BL,提供選擇電壓(Vdd)至字元線WL,提供讀取電壓(Vr)至反熔絲控制線AF1。另外,在讀取動作時,字元線WL及讀取電壓(Vr)的電壓範圍也可設計在選擇電壓(Vdd)及Vdd2電壓之間,其中Vdd2電壓大小介於選擇電壓(Vdd)~編程電壓(Vpp)之間。
於進行讀取動作時,選擇電晶體S1、S2開啟。而反熔絲電晶體A1產生讀取電流至位元線BL。一般來說,具低電阻值狀態的反熔絲電晶體A1所產生的讀取電流會遠大於具高電阻值狀態的反熔絲電晶體A1所產生的讀取電流。舉例來說,具低電阻值狀態的反熔絲電晶體A1所產生的讀取電流約為10μA,具高電阻值狀態的反熔絲電晶體A1所產生的讀取電流約為0.1μA。
換言之,於進行讀取動作時,後續的處理電路(未繪示)會判斷反熔絲電晶體A1的讀取電流的大小來決定PUF記憶胞c1的儲存狀態。舉例來說,反熔絲電晶體A1產生較大的讀取電流時,可判斷PUF記憶胞c1為第一儲存狀態。反之,反熔絲電晶體A1較小的讀取電流時,可判斷PUF記憶胞c1為第二儲存狀態。
由以上的說明可知,由於反熔絲電晶體A1與A2的製造變異,於編程動作時,並無法預測哪一個反熔絲電晶體A1與A2會改變其狀態。因此,編程後的PUF記憶胞c1,其儲存狀態即可作為隨機碼(random code)的一個位元(bit)。
另外,隨機碼產生器中更包括多個PUF記憶胞。因此,編程多個PUF記憶胞後,隨機碼產生器即可根據多個PUF記憶胞的儲存狀態來產生一隨機碼。舉例來說,隨機碼產生器中有8個PUF記憶胞。而編程8個PUF記憶胞後,隨機碼產生器即根據8個PUF記憶胞的儲存狀態來產生一個位元組(byte)的隨機碼。
由於隨機碼是半導體晶片(semiconductor chip)上特有的身分碼(ID code),所以隨機碼產生器必須保持隨機碼的正確性。當隨機碼產生器產生錯誤的隨機碼時,將造成錯誤的身分碼(ID code)。因此,半導體晶片將無法根據錯誤的隨機碼來取得受保護的內部資料,而半導體晶片也無法正常運作。
本發明之主要目的在於提出一種隨機碼產生器,包括:一PUF記憶胞陣列,包括m×n個PUF記憶胞;一控制電路,連接至該PUF記憶胞陣列,其中於一編程動作時,該控制電路編程該PUF記憶胞陣列;以及一驗證電路,連接至該記憶胞陣列;其中, 於一驗證動作時,該驗證電路由該PUF記憶胞陣列中判斷出p個PUF記憶胞為正常PUF記憶胞,並對應的產生一映射資訊,且p小於m×n;其中,當該半導體晶片開始運作時,該控制電路根據該映射資訊來讀取該PUF記憶胞陣列中的該p個正常PUF記憶胞之儲存狀態,並組成一隨機碼。
本發明係有關於一種隨機碼產生器的控制方法,該隨機碼產生器包括:一PUF記憶胞陣列,具有m×n個PUF記憶胞。該控制方法包括下列步驟:編程該PUF記憶胞陣列;由該PUF記憶胞陣列中判斷出p個PUF記憶胞為正常PUF記憶胞,並對應的產生一映射資訊,且p小於m×n;以及當一半導體晶片開始運作時,根據該映射資訊來讀取該PUF記憶胞陣列中的該p個正常PUF記憶胞之儲存狀態,並組成一隨機碼。
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉實施例,並配合所附圖式詳細說明如下:
一般來說,PUF記憶胞在編程動作後,在理想狀況下僅會造成一反熔絲電晶體的閘極氧化層破裂而改變其狀態,而另一個反熔絲電晶體的閘極氧化層不會破裂而不會改變其狀態。而此PUF記憶胞即為正常PUF記憶胞。
然而,在少數狀況下,PUF記憶胞在進行編程動作後,PUF記憶胞內部會有二個反熔絲電晶體的閘極氧化層皆破裂的情形、或者二個反熔絲記憶胞的閘極氧化層皆未破裂的情形、或者反熔絲電晶體的閘極氧化層破裂不完全的情形發生。因此,上述PUF記憶胞即為低可信度PUF記憶胞(low reliability PUF cell),而低可信度PUF記憶胞可能會造成位元翻轉(bit flipping),而無法準確的判斷其儲存狀態。也就是說,在某些狀況下PUF記憶胞會呈現第一儲存狀態,在其他狀況下PUF記憶胞會呈現第二儲存狀態。
由以上的說明可知,當隨機碼產生器中有低可信度PUF記憶胞時,隨機碼產生器可能會產生錯誤的隨機碼,使得半導體晶片無法正常運作。
請參照第2圖,其所繪示為本發明隨機碼產生器示意圖。隨機碼產生器200配置於一半導體晶片中,隨機碼產生器200包括:控制電路205、PUF記憶胞陣列(PUF array)210與驗證電路(verification circuit)215。其中,PUF記憶胞陣列210包括m×n個PUF記憶胞pc1,1~pcm,n。
控制電路205連接至PUF記憶胞陣列210用以控制PUF記憶胞陣列210進行編程動作、讀取動作或者驗證動作。
根據本發明的實施例,第2圖的PUF記憶胞陣列210中,每個PUF記憶胞pc1,1~pcm,n之結構類似第1A圖之PUF記憶胞。亦即,每個PUF記憶胞pc1,1~pcm,n連接至一條字元線、一條位元線、與二條反熔絲控制線。因此,PUF記憶胞陣列210連接至m條字元線WL1~WLm、n條位元線BL1~BLn以及2n條反熔絲控制線AF1~AF2n。
當然,本發明的PUF記憶胞陣列210也可以由差動PUF記憶胞(differential PUF cell)所組成,每個差動PUF記憶胞可產生一位元的隨機碼。此時,每個差動PUF記憶胞連接至一條字元線、一位元線對(bit line pair)、與二條反熔絲控制線。
再者,驗證電路215包括:感應電路(sensing circuit)220、投票電路(voting circuit)230與資訊區塊(information block)240。
感測電路220中包括n個感測放大器(sense amplifier)SA_1~SA_n連接至對應的位元線BL1~BLn。感測電路220於編程動作時,可提供適當的電壓(例如,0V)至位元線BL1~BLn。另外,於讀取動作時,感測電路220的感測放大器SA_1~SA_n可以根據位元線BL1~BLn上的讀取電流大小來判斷對應PUF記憶胞的儲存狀態,並產生資料信號D1~Dn。
投票電路230連接至感測電路220以接收資料信號D1~Dn。根據本發明的實施例,於隨機碼產生器200的驗證動作時,投票電路230根據資料信號D1~Dn來判斷對應的PUF記憶胞中是否有低可信度PUF記憶胞,並且產生結果信號S。
再者,資料區塊240根據結果信號S來產生映射資訊(mapping information)。根據本發明的實施例,資訊區塊240中有多個旗標(flag)fg_1~fg_m,且每個旗標fg_1~fg_m皆為非揮發性記憶體(nonvolatile memory)。再者,投票電路230根據結果信號S來可選擇性地設定旗標fg_1~fg_m,並組成映射資訊。也就是說,資訊區塊240中的映射資訊記錄PUF記憶胞210中正常PUF記憶胞之位置。因此,控制電路205可根據資訊區塊240中的映射資訊,由PUF記憶胞陣列210中的正常PUF記憶胞來組成隨機碼。
請參照第3圖,其所繪示為投票電路示意圖。投票電路230中包括第一緩衝器(buffer)310、第二緩衝器320與判斷電路330。根據本發明的實施例,於驗證動作的第一驗證環境下,第一緩衝器310 接收感測電路220輸出的資料信號D1~Dn,成為第一讀取資料D1a~Dna。於驗證動作的第二驗證環境下,第二緩衝器320 接收感測電路220輸出的資料信號D1~Dn,成為第二讀取資料D1b~Dnb。
再者,判斷電路330判斷第一讀取資料是否等於第二讀取資料,並產生結果信號S。判斷電路330中包括n個反互斥或閘(XNOR gate)331~33n與一及閘(AND gate)340。第一反互斥或閘331接收第一緩衝器310的第一位元D1a以及第二緩衝器320的第一位元D1b,並輸出第一投票信號(voting signal)V1;第二反互斥或閘332接收第一緩衝器310的第二位元D2a以及第二緩衝器320的第二位元D2b,並輸出第二投票信號V2;依此類推。另外,及閘340接收所有n個投票信號V1~Vn,並產生結果信號S。
明顯地,當第一讀取資料等於第二讀取資料時,所有n個投票信號V1~Vn皆為邏輯高準位,而結果信號S為邏輯高準位。反之,當第一讀取資料不等於第二讀取資料時,至少有一個投票信號為邏輯低準位,使得結果信號S為邏輯低準位。也就是說,當結果信號S為邏輯高準位時,代表第一讀取資料等於第二讀取資料;當結果信號S為邏輯低準位時,代表第一讀取資料不等於第二讀取資料。
再者,本發明並未限定判斷電路330的結構。舉例來說,判斷電路330中包括n個互斥或閘(XOR gate)以及一或閘(OR gate)。第一互斥或閘接收第一緩衝器310的第一位元D1a以及第二緩衝器320的第一位元D1b,並輸出第一投票信號V1;第二互斥或閘接收第一緩衝器310的第二位元D2a以及第二緩衝器320的第二位元D2b,並輸出第二投票信號V2;依此類推。另外,或閘接收所有的n個投票信號V1~Vn,並產生結果信號S。因此,當結果信號S為邏輯低準位時,代表第一讀取資料等於第二讀取資料;當結果信號S為邏輯高準位時,代表第一讀取資料不等於第二讀取資料。
請參照第4A圖,其所繪示為本發明隨機碼產生器的編程動作與驗證動作的控制流程。首先,編程PUF記憶胞陣列210(步驟 S310)。根據本發明的實施例,進行編程動作以編程PUF記憶胞陣列210時,提供編程電壓Vpp至反熔絲控制線AF1~AF2n,提供接地電壓(0V)至位元線 BL1~BLn。接著,依序提供選擇電壓Vdd至字元線 WL1~WLm,使得字元線 WL1~WLm依序動作。因此,記憶胞陣列210中的所有 PUF記憶胞pc1,1~pcm,n皆被編程。
舉例來說,當選擇電壓Vdd提供至字元線WL1時,字元線WL1動作,而第一列為選定列(selected row)。因此,選定列上的n個PUF記憶胞pc1,1~pc1,n被編程。同理,當選擇電壓Vdd提供至字元線WL2時,字元線WL2動作,而第二列為選定列。因此,選定列上的n個PUF記憶胞pc2,1~pc2,n被編程。依此類推,當所有字元線WL1~WLm皆動作之後,PUF記憶胞陣列210中的所有 PUF記憶胞pc1,1~pcm,n皆被編程。
另外,步驟S310之後即為驗證動作。根據本發明的實施例,於驗證動作時會提供不同的驗證環境,並判斷在不同的驗證環境下,相同的PUF記憶胞能否呈現相同的儲存狀態。舉例來說,不同的驗證環境可為提供不同的讀取電壓Vr來進行讀取動作,或者在不同的運作溫度下進行讀取動作,又或利用不同的讀取速度(sensing speed)進行讀取動作等等。
如第4A圖所示,設定x等於1(步驟S312)。
接著,於第一驗證環境下,動作字元線WLx,使得感測電路220判斷選定列上PUF記憶胞的儲存狀態,並將產生的第一讀取資料暫存於投票電路230(步驟S316)。舉例來說,控制電路205提供第一讀取電壓Vr1至奇數的反熔絲控制線,提供接地電壓(0V)至偶數的反熔絲控制線後,使得感測電路220產生第一讀取資料。
接著,於第二驗證環境下,動作字元線WLx,使得感測電路220判斷選定列上PUF記憶胞的儲存狀態,並將產生的第二讀取資料暫存於投票電路230(步驟S320)。舉例來說,控制電路205提供第二讀取電壓Vr2至奇數的反熔絲控制線,提供接地電壓(0V)至偶數的反熔絲控制線後,使得感測電路220產生第二讀取資料。
當第一讀取資料相異於第二讀取資料時(步驟 S322),代表選定列中存在低可信度PUF記憶胞。此時,投票電路230會設定資訊區塊240中的旗標fg_x(步驟 S324)。接著,先判斷x是否等於m(步驟 S326)。若x等於m則代表所有列(對應字元線WL1~WLm)的PUF記憶胞皆已被驗證。此時,結束驗證動作。若x不等於m(步驟S326),則設定x=x+1(步驟 S328)後,回到步驟S316。
反之,當第一讀取資料相同於第二讀取資料時(步驟 S322),代表選定列中皆為正常PUF記憶胞。接著先判斷x是否等於m(步驟 S326),若x等於m則代表所有列(對應字元線WL1~WLm)的PUF記憶胞皆已被驗證。此時,結束驗證動作。反之,若x不等於m(步驟S326),則設定x=x+1(步驟 S328)後,回到步驟S316。
請參照第4B圖,其所繪示為本發明隨機碼產生器產生隨機碼的流程示意圖。當驗證動作完成後,隨機碼產生器已經可以產生隨機碼。首先,控制電路205讀取資訊區塊240中的映射資訊(步驟 S330)。接著,控制電路205根據映射資訊,讀取PUF記憶胞陣列210中對應的PUF記憶胞,並產生隨機碼(步驟S332)。也就是說,控制電路205根據映射資訊來讀取PUF記憶胞陣列210中的正常PUF記憶胞之儲存狀態,並組成隨機碼。因此,當半導體晶片開始運作時,隨機碼產生器200即可輸出隨機碼。
以下係以m=16及n=128所組成16×128的PUF記憶胞陣列210為例來說明本發明的隨機碼產生器200,且隨機碼產生器200可產生128位元的隨機碼。
請參照第5A圖與第5B圖,其所繪示為本發明驗證動作的控制流程的一個範例。如第5A圖所示,PUF記憶胞陣列510中的第一列為選定列。舉例來說,於不同的驗證環境下,選定列所產生的第一讀取資料相異於第二讀取資料,因此資訊區塊540中的旗標fg_1被設定(set),例如被設定為第一儲存狀態。換句話說,第一列的128個記憶胞pc1,1~pc1,128中存在低可信度PUF記憶胞,感測電路產生的資料信號中可能會有錯誤位元(error bit),所以控制電路不會利用第一列來產生隨機碼。
如第5B圖所示,PUF記憶胞陣列510中的第二列為選定列。舉例來說,於不同的驗證環境下,選定列所產生的第一讀取資料相異於第二讀取資料,因此資訊區塊540中的旗標fg_2被設定(set) ,例如被設定為第一儲存狀態。換句話說,第二列的128個記憶胞pc2,1~pc2,128中存在低可信度PUF記憶胞,感測電路產生的資料信號中可能會有錯誤位元,所以控制電路不會利用第二列來產生隨機碼。
再者,假設PUF記憶胞陣列510中的第三列為選定列時,於不同的驗證環境下,選定列所產生的第一讀取資料相同於第二讀取資料。因此,資訊區塊540中的旗標fg_3未被設定,例如維持在第二儲存狀態,且結束驗證動作。也就是說,旗標fg_3所對應的第三列中的128個記憶胞pc3,1~pc3,128中皆為正常PUF記憶胞。
再者,PUF記憶胞陣列510中的其他列也是以相同的方式來進行驗證,並選擇性地設定對應的旗標。其詳細動作不在贅述。
當半導體晶片開始運作時,控制電路讀取資訊區塊540中的映射資訊。根據本發明的實施例,控制電路依序搜尋資訊區塊540中第一個未被設定的旗標。如第5B圖所示,控制電路搜尋到未被設定的旗標fg_3。因此,控制電路動作旗標fg_3所對應的第三字元線WL3,而感測電路即根據位元線上的電流大小來判斷PUF記憶胞陣列510中第三列的128個PUF記憶胞pc3,1~pc3,128的儲存狀態,並產生128位元的隨機碼。
再者,於第4A圖中的編程動作與驗證動作的控制流程中,控制電路先編程PUF記憶胞陣列中的所有記憶胞後,才進行驗證動作。當然,本發明也可以編程PUF記憶胞陣列中的一列PUF記憶胞後,即驗證被編程的該列PUF記憶胞。
再者,第4A圖中的驗證動作的控制流程中係驗證所有列的PUF記憶胞並選擇性地設定對應的旗標。然而,本發明並不限定於此。
舉例來說,假設隨機碼產生器具有16×128尺寸的PUF記憶胞陣列,且隨機碼產生器產生256位元的隨機碼。此時,於驗證動作中時需要驗證二列的PUF記憶胞為正常的PUF記憶胞,並記錄於資訊區塊後即可結束驗證動作。因此,當半導體晶片開始運作時,控制電路根據映射資訊來依序動作二條字元線,並產生256位元的隨機碼。亦即,當驗證結束動作結束後,PUF記憶胞陣列中可能有尚未被編程的PUF記憶胞。
再者,由於投票電路230中的判斷電路330可判斷選定列上的低可信度PUF記憶胞與正常PUF記憶胞的位置。因此,也可以由PUF記憶胞陣列510中其他列的正常PUF記憶胞來替代(substitute)選定列中的低可信度PUF記憶胞。舉例來說,經過驗證動作後,PUF記憶胞陣列510中的第一列中被判斷出12個低可信度PUF記憶胞以及116個正常記憶胞,其對應位置被記錄於資訊區塊540。另外,PUF記憶胞陣列510中的第二列可以判斷出12個正常PUF記憶胞,其對應位置被記錄於資訊區塊540。因此,當半導體晶片開始運作時,控制電路根據映射資訊由PUF記憶胞陣列510中第一列的116個正常PUF記憶胞與第二列的12個正常PUF記憶胞來組成128位元的隨機碼。
由以上的說明可知,本發明的隨機碼產生器與相關控制方中,隨機碼產生器內具備m×n尺寸的PUF記憶胞陣列。當PUF記憶胞陣列進行編程動作後,即進行驗證動作。在驗證動作時,提供不同的驗證環境,並由PUF記憶胞陣列中判斷出p個PUF記憶胞為正常PUF記憶胞,並對應的記錄於映射資訊中,其中p小於m×n。因此,當半導體晶片開始運作時,隨機碼產生器中的控制電路即根據映射資訊來讀取PUF記憶胞陣列中的p個正常PUF記憶胞之儲存狀態,並組成隨機碼。
綜上所述,雖然本發明已以實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
200‧‧‧隨機碼產生器
205‧‧‧控制電路
210、510‧‧‧PUF記憶胞陣列
215‧‧‧驗證電路
220‧‧‧感測電路
230‧‧‧投票電路
240、540‧‧‧資訊區塊
310、320‧‧‧緩衝器
330‧‧‧判斷電路
331~33n‧‧‧反互斥或閘
340‧‧‧及閘
第1A圖與第1B圖為習知PUF記憶胞及相關偏壓示意圖。 第2圖為本發明隨機碼產生器示意圖。 第3圖為投票電路示意圖。 第4A圖為本發明隨機碼產生器的編程動作與驗證動作的控制流程。 第4B圖為本發明隨機碼產生器產生隨機碼的流程示意圖。 第5A圖與第5B圖為本發明驗證動作的控制流程的一個範例。
Claims (15)
- 一種隨機碼產生器配置於一半導體晶片中,該隨機碼產生器包括: 一PUF記憶胞陣列,包括m×n個PUF記憶胞; 一控制電路,連接至該PUF記憶胞陣列,其中於一編程動作時,該控制電路編程該PUF記憶胞陣列;以及 一驗證電路,連接至該記憶胞陣列; 其中, 於一驗證動作時,該驗證電路由該PUF記憶胞陣列中判斷出p個PUF記憶胞為正常PUF記憶胞,並對應的產生一映射資訊,且p小於m×n;以及 其中,當該半導體晶片開始運作時,該控制電路根據該映射資訊來讀取該PUF記憶胞陣列中的該p個正常PUF記憶胞之儲存狀態,並組成一隨機碼。
- 如申請專利範圍第1項所述之隨機碼產生器,其中該驗證電路包括: 一感測電路,連接至該PUF記憶胞陣列,用以感測該PUF記憶胞陣列中一選定列的n個PUF記憶胞之儲存狀態,並產生一資料信號; 一投票電路,接收該資料信號並產生一結果信號;以及 一資訊區塊,包括複數個旗標用以組成該映射資訊,且該投票電路根據該結果信號選擇性地設定該些旗標。
- 如申請專利範圍第2項所述之隨機碼產生器,其中於一第一驗證環境下,該投票電路接收該資料信號成為一第一讀取資料;於一第二驗證環境下,該投票電路接收該資料信號成為一第二讀取資料;且當該第一讀取資料相異於該第二讀取資料時,該選定列中至少包括一低可信度PUF記憶胞,且該資訊區塊中對應的一旗標被設定。
- 如申請專利範圍第3項所述之隨機碼產生器,其中當該第一讀取資料相同於該第二讀取資料時,該選定列皆為正常的PUF記憶胞。
- 如申請專利範圍第3項所述之隨機碼產生器,其中於該第一驗證環境時,該控制電路提供一第一讀取電壓至該選定列,並使得感測電路產生該資料信號;以及,於該第二驗證環境時,該控制電路提供一第二讀取電壓至該選定列,並使得感測電路產生該資料信號。
- 如申請專利範圍第3項所述之隨機碼產生器,其中於該第一驗證環境時,該感測電路於一第一環境溫度下產生該資料信號;以及,於該第二驗證環境時,該感測電路於一第二環境溫度下產生該資料信號。
- 如申請專利範圍第3項所述之隨機碼產生器,其中於該第一驗證環境時,該感測電路於一第一讀取速度下產生該資料信號;以及,於該第二驗證環境時,該感測電路於一第二讀取速度下產生該資料信號。
- 如申請專利範圍第3項所述之隨機碼產生器,其中當該半導體晶片開始運作時,該控制電路依序搜尋該資訊區塊中未被設定的旗標,以動作該PUF記憶胞陣列中對應列的PUF記憶胞,並使得該感測電路產生該隨機碼。
- 一種隨機碼產生器的控制方法,該隨機碼產生器包括:一PUF記憶胞陣列,具有m×n個PUF記憶胞,該控制方法包括下列步驟: 編程該PUF記憶胞陣列; 由該PUF記憶胞陣列中判斷出p個PUF記憶胞為正常PUF記憶胞,並對應的產生一映射資訊,且p小於m×n;以及 當一半導體晶片開始運作時,根據該映射資訊來讀取該PUF記憶胞陣列中的該p個正常PUF記憶胞之儲存狀態,並組成一隨機碼。
- 如申請專利範圍第9項所述之隨機碼產生器的控制方法,其中該隨機碼產生器中包括一資訊區塊,且該資訊區塊中包括複數個旗標以組成該映射資訊,且該控制方法更包括下列步驟: 於一第一驗證環境下,讀取該PUF記憶胞陣列的一選定列,並產生一第一讀取資料; 於一第二驗證環境下,讀取該PUF記憶胞陣列的該選定列,並產生一第二讀取資料;以及 當該第一讀取資料相異於該第二讀取資料時,該選定列中至少包括一低可信度PUF記憶胞,且設定該資訊區塊中的一對應旗標。
- 如申請專利範圍第10項所述之隨機碼產生器的控制方法,更包括:當該第一讀取資料相同於該第二讀取資料時,該選定列皆為正常的PUF記憶胞。
- 如申請專利範圍第10項所述之隨機碼產生器的控制方法,其中於該第一驗證環境時,提供一第一讀取電壓至該選定列,以產生該第一讀取資料;以及,於該第二驗證環境時,提供一第二讀取電壓至該選定列,以產生該第二讀取資料。
- 如申請專利範圍第10項所述之隨機碼產生器的控制方法,其中於該第一驗證環境時,於一第一環境溫度下產生該第一讀取資料;以及,於該第二驗證環境時,於一第二環境溫度下產生該第二讀取資料。
- 如申請專利範圍第10項所述之隨機碼產生器的控制方法,其中於該第一驗證環境時,於一第一讀取速度下產生該第一讀取資料;以及,於該第二驗證環境時,於一第二讀取速度下產生該第二讀取資料。
- 如申請專利範圍第10項所述之隨機碼產生器的控制方法,其中當該半導體晶片開始運作時,搜尋該資訊區塊中未被設定的旗標,以讀取該PUF記憶胞陣列中對應列的PUF記憶胞,並產生該隨機碼。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762557170P | 2017-09-12 | 2017-09-12 | |
US62/557,170 | 2017-09-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201913446A true TW201913446A (zh) | 2019-04-01 |
TWI684893B TWI684893B (zh) | 2020-02-11 |
Family
ID=63244513
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107126986A TWI697809B (zh) | 2017-09-12 | 2018-08-03 | 使用亂數位元的安全系統及安全系統的操作方法 |
TW107128902A TWI677152B (zh) | 2017-09-12 | 2018-08-20 | 物理不可複製函數單元及物理不可複製函數單元的操作方法 |
TW107129581A TWI684893B (zh) | 2017-09-12 | 2018-08-24 | 隨機碼產生器及其相關控制方法 |
TW107131405A TWI693530B (zh) | 2017-09-12 | 2018-09-07 | 安全系統及安全系統的操作方法 |
TW107131651A TWI673714B (zh) | 2017-09-12 | 2018-09-10 | 非揮發性記憶胞的編程方法 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107126986A TWI697809B (zh) | 2017-09-12 | 2018-08-03 | 使用亂數位元的安全系統及安全系統的操作方法 |
TW107128902A TWI677152B (zh) | 2017-09-12 | 2018-08-20 | 物理不可複製函數單元及物理不可複製函數單元的操作方法 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107131405A TWI693530B (zh) | 2017-09-12 | 2018-09-07 | 安全系統及安全系統的操作方法 |
TW107131651A TWI673714B (zh) | 2017-09-12 | 2018-09-10 | 非揮發性記憶胞的編程方法 |
Country Status (5)
Country | Link |
---|---|
US (4) | US10649735B2 (zh) |
EP (3) | EP3454318B1 (zh) |
JP (3) | JP6538908B2 (zh) |
CN (5) | CN109495243B (zh) |
TW (5) | TWI697809B (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10911229B2 (en) | 2016-08-04 | 2021-02-02 | Macronix International Co., Ltd. | Unchangeable physical unclonable function in non-volatile memory |
US11258599B2 (en) | 2016-08-04 | 2022-02-22 | Macronix International Co., Ltd. | Stable physically unclonable function |
EP3680800B1 (en) * | 2018-08-10 | 2021-10-27 | Shenzhen Weitongbo Technology Co., Ltd. | Physical unclonable function (puf) device |
US11263331B2 (en) * | 2018-09-27 | 2022-03-01 | Taiwan Semiconductor Manufacturing Company, Ltd. | Electronic device for checking randomness of identification key device, random key checker circuit, and method of checking randomness of electronic device |
EP3640945B1 (en) * | 2018-10-15 | 2021-03-17 | Nxp B.V. | Non-volatile memory with physical unclonable function |
KR20200082982A (ko) * | 2018-12-31 | 2020-07-08 | 삼성전자주식회사 | 물리적 복제방지 기능의 보안을 위한 집적 회로 및 이를 포함하는 장치 |
CN111723408B (zh) * | 2019-03-21 | 2023-06-02 | 中芯国际集成电路制造(上海)有限公司 | 用于生成puf特征码的装置 |
US11121884B2 (en) * | 2019-06-10 | 2021-09-14 | PUFsecurity Corporation | Electronic system capable of self-certification |
CN110309574B (zh) * | 2019-06-25 | 2023-01-06 | 北京智涵芯宇科技有限公司 | 可感知芯片电路物理完整性的puf电路及芯片 |
CN112291056B (zh) * | 2019-07-25 | 2024-02-23 | 熵码科技股份有限公司 | 加密密钥生成器及传输系统 |
US20210051010A1 (en) * | 2019-08-16 | 2021-02-18 | PUFsecurity Corporation | Memory Device Providing Data Security |
CN110491434B (zh) * | 2019-08-23 | 2021-04-02 | 上海华虹宏力半导体制造有限公司 | 一种闪存存储器装置及其编程方法 |
US11456867B2 (en) * | 2019-10-25 | 2022-09-27 | International Business Machines Corporation | Trust-anchoring of cryptographic objects |
US11296096B2 (en) * | 2019-11-08 | 2022-04-05 | Zhuhai Chuangfeixin Technology Co., Ltd. | Antifuse OTP structure with hybrid junctions |
US11217595B2 (en) * | 2020-01-15 | 2022-01-04 | Zhuhai Chuangfeixin Technology Co., Ltd. | Antifuse OTP structure with hybrid device and hybrid junction for select transistor |
US11158641B2 (en) * | 2020-02-12 | 2021-10-26 | Zhuhai Chuangfeixin Technology Co., Ltd. | Antifuse OTP structures with hybrid devices and hybrid junctions |
US11189356B2 (en) * | 2020-02-27 | 2021-11-30 | Taiwan Semiconductor Manufacturing Company, Ltd. | One-time-programmable memory |
US11018143B1 (en) * | 2020-03-12 | 2021-05-25 | Zhuhai Chuangfeixin Technology Co., Ltd. | Antifuse OTP structures with hybrid low-voltage devices |
CN113496988B (zh) | 2020-04-08 | 2023-12-12 | 长鑫存储技术有限公司 | 反熔丝单元及反熔丝阵列 |
US11233663B1 (en) * | 2020-07-22 | 2022-01-25 | Nxp Usa, Inc. | Physically unclonable function having source bias transistors |
US11380379B2 (en) * | 2020-11-02 | 2022-07-05 | Macronix International Co., Ltd. | PUF applications in memories |
CN113009817B (zh) * | 2021-02-08 | 2022-07-05 | 浙江大学 | 一种基于控制器输出状态安全熵的工控系统入侵检测方法 |
US20230139712A1 (en) * | 2021-11-04 | 2023-05-04 | National Yang Ming Chiao Tung University | Circuit apparatus and methods for puf source and generating random digital sequence |
US12099616B2 (en) | 2021-11-15 | 2024-09-24 | International Business Machines Corporation | Physically unclonable function based on a phase change material array |
CN116092623B (zh) * | 2023-04-12 | 2023-07-28 | 四川执象网络有限公司 | 一种基于基层医学质控的健康数据管理方法 |
Family Cites Families (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5541996A (en) * | 1994-12-12 | 1996-07-30 | Itt Corporation | Apparatus and method for a pseudo-random number generator for high precision numbers |
US6292394B1 (en) | 2000-06-29 | 2001-09-18 | Saifun Semiconductors Ltd. | Method for programming of a semiconductor memory cell |
EP1359550A1 (fr) | 2001-11-30 | 2003-11-05 | STMicroelectronics S.A. | Régéneration d'une quantité secrète à partir d'un identifiant d'un circuit intégré |
US7136304B2 (en) | 2002-10-29 | 2006-11-14 | Saifun Semiconductor Ltd | Method, system and circuit for programming a non-volatile memory array |
US7177199B2 (en) | 2003-10-20 | 2007-02-13 | Sandisk Corporation | Behavior based programming of non-volatile memory |
US7149114B2 (en) * | 2004-03-17 | 2006-12-12 | Cypress Semiconductor Corp. | Latch circuit and method for writing and reading volatile and non-volatile data to and from the latch |
US6970394B2 (en) | 2004-04-22 | 2005-11-29 | Taiwan Semiconductor Manufacturing Co., Ltd. | Programming method for electrical fuse cell and circuit thereof |
US7133316B2 (en) | 2004-06-02 | 2006-11-07 | Macronix International Co., Ltd. | Program/erase method for P-channel charge trapping memory device |
US7253496B2 (en) * | 2005-06-28 | 2007-08-07 | Cypress Semiconductor Corporation | Antifuse circuit with current regulator for controlling programming current |
US20070061595A1 (en) * | 2005-09-14 | 2007-03-15 | Huang-Chung Chen | Apparatus and method for protecting data |
KR100763353B1 (ko) * | 2006-04-26 | 2007-10-04 | 삼성전자주식회사 | 인접하는 메모리셀과의 커플링 노이즈를 저감시키는불휘발성 반도체 메모리 장치 |
JP2008047702A (ja) * | 2006-08-16 | 2008-02-28 | Nec Electronics Corp | 半導体記憶装置 |
WO2008077240A1 (en) * | 2006-12-22 | 2008-07-03 | Sidense Corp. | Mask programmable anti-fuse architecture |
TWI430275B (zh) * | 2008-04-16 | 2014-03-11 | Magnachip Semiconductor Ltd | 用於程式化非揮發性記憶體裝置之方法 |
WO2010096915A1 (en) * | 2009-02-27 | 2010-09-02 | Sidense Corp. | Low power antifuse sensing scheme with improved reliability |
US8304835B2 (en) * | 2009-03-27 | 2012-11-06 | National Semiconductor Corporation | Configuration and fabrication of semiconductor structure using empty and filled wells |
WO2011086688A1 (ja) * | 2010-01-15 | 2011-07-21 | 三菱電機株式会社 | ビット列生成装置及びビット列生成方法 |
KR101614950B1 (ko) * | 2010-04-12 | 2016-04-25 | 삼성전자주식회사 | 저장 장치에 물리적 식별자를 생성하는 방법 및 기계로 읽을 수 있는 저장 매체 |
US20120314474A1 (en) * | 2011-06-09 | 2012-12-13 | Hsin-Ming Chen | Non-volatile memory cell structure and method for programming and reading the same |
CN102393890B (zh) * | 2011-10-09 | 2014-07-16 | 广州大学 | 一种抗物理入侵和旁路攻击的密码芯片系统及其实现方法 |
JP5831203B2 (ja) * | 2011-12-20 | 2015-12-09 | 富士通株式会社 | 個体別情報生成装置、暗号化装置、認証システム、及び個体別情報生成方法 |
CN104025500B (zh) | 2011-12-29 | 2017-07-25 | 英特尔公司 | 使用在物理上不可克隆的函数的安全密钥存储 |
DE102012102254B4 (de) * | 2012-03-16 | 2020-09-24 | Infineon Technologies Ag | Vorrichtung und Verfahren zur Rekonstruktion einer Bitfolge unter Vorkorrektur |
US9304944B2 (en) * | 2012-03-29 | 2016-04-05 | Broadcom Corporation | Secure memory access controller |
WO2013170387A1 (en) * | 2012-05-18 | 2013-11-21 | Sidense Corp. | Circuit and method for reducing write disturb in a non-volatile memory device |
US8928347B2 (en) * | 2012-09-28 | 2015-01-06 | Intel Corporation | Integrated circuits having accessible and inaccessible physically unclonable functions |
CN104704768B (zh) * | 2012-10-04 | 2018-01-05 | 本质Id有限责任公司 | 用于从用作物理不可克隆功能的存储器中生成密码密钥的系统 |
CN103020549B (zh) * | 2012-11-26 | 2016-05-11 | 北京华大信安科技有限公司 | 存储器的保护装置以及存储装置 |
US8938792B2 (en) | 2012-12-28 | 2015-01-20 | Intel Corporation | Device authentication using a physically unclonable functions based key generation system |
US9390291B2 (en) * | 2012-12-29 | 2016-07-12 | Intel Corporation | Secure key derivation and cryptography logic for integrated circuits |
US9281074B2 (en) * | 2013-05-16 | 2016-03-08 | Ememory Technology Inc. | One time programmable memory cell capable of reducing leakage current and preventing slow bit response |
US10235261B2 (en) | 2013-07-26 | 2019-03-19 | Ictk Holdings Co., Ltd. | Apparatus and method for testing randomness |
US9992031B2 (en) * | 2013-09-27 | 2018-06-05 | Intel Corporation | Dark bits to reduce physically unclonable function error rates |
JP6354172B2 (ja) * | 2014-01-20 | 2018-07-11 | 富士通株式会社 | 半導体集積回路及び認証システム |
US10218517B2 (en) * | 2014-03-25 | 2019-02-26 | Carnegie Mellon University | Methods for generating reliable responses in physical unclonable functions (PUFs) and methods for designing strong PUFs |
US10216484B2 (en) * | 2014-06-10 | 2019-02-26 | Texas Instruments Incorporated | Random number generation with ferroelectric random access memory |
KR102169197B1 (ko) * | 2014-09-16 | 2020-10-22 | 에스케이하이닉스 주식회사 | 향상된 프로그램 효율을 갖는 안티퓨즈 오티피 메모리 셀 및 셀 어레이 |
US10129036B2 (en) | 2014-09-18 | 2018-11-13 | Intel Corporation | Post-processing mechanism for physically unclonable functions |
CN107004380B (zh) | 2014-10-13 | 2020-11-13 | 本质Id有限责任公司 | 包括物理不可克隆功能的加密设备 |
US9460797B2 (en) * | 2014-10-13 | 2016-10-04 | Ememory Technology Inc. | Non-volatile memory cell structure and non-volatile memory apparatus using the same |
US10353638B2 (en) * | 2014-11-18 | 2019-07-16 | Microsemi SoC Corporation | Security method and apparatus to prevent replay of external memory data to integrated circuits having only one-time programmable non-volatile memory |
CN105632543B (zh) * | 2014-11-21 | 2018-03-30 | 松下知识产权经营株式会社 | 具有防篡改性的非易失性存储装置及集成电路卡 |
EP3238199B1 (en) | 2014-12-24 | 2020-06-17 | Intrinsic ID B.V. | Secure key generation from biased physical unclonable function |
US11115022B2 (en) * | 2015-05-07 | 2021-09-07 | Northwestern University | System and method for integrated circuit usage tracking circuit with fast tracking time for hardware security and re-configurability |
CN104836669B (zh) * | 2015-05-08 | 2018-04-06 | 东南大学 | 一种基于sram puf的安全认证方法及一种终端、认证系统 |
JP6617924B2 (ja) * | 2015-06-18 | 2019-12-11 | パナソニックIpマネジメント株式会社 | 耐タンパ性を有する不揮発性メモリ装置および集積回路カード、不揮発性メモリ装置の認証方法、個体識別情報生成方法 |
JP6587188B2 (ja) * | 2015-06-18 | 2019-10-09 | パナソニックIpマネジメント株式会社 | 乱数処理装置、集積回路カード、および乱数処理方法 |
EP3113409B1 (en) * | 2015-07-01 | 2024-09-18 | Secure-IC SAS | Embedded test circuit for physically unclonable function |
EP3332402B1 (en) * | 2015-08-06 | 2020-10-07 | Intrinsic ID B.V. | Cryptographic device having physical unclonable function |
WO2017025597A1 (en) | 2015-08-11 | 2017-02-16 | Koninklijke Philips N.V. | Key sharing device and method |
US9971566B2 (en) * | 2015-08-13 | 2018-05-15 | Arizona Board Of Regents Acting For And On Behalf Of Northern Arizona University | Random number generating systems and related methods |
CN105007285B (zh) * | 2015-08-19 | 2018-07-24 | 南京万道电子技术有限公司 | 一种基于物理不可克隆函数的密钥保护方法和安全芯片 |
US10142103B2 (en) * | 2015-12-07 | 2018-11-27 | The Boeing Company | Hardware assisted fast pseudorandom number generation |
CA2952941C (en) * | 2016-01-08 | 2018-12-11 | Sidense Corp. | Puf value generation using an anti-fuse memory array |
US9613714B1 (en) * | 2016-01-19 | 2017-04-04 | Ememory Technology Inc. | One time programming memory cell and memory array for physically unclonable function technology and associated random code generating method |
CN105743645B (zh) * | 2016-01-25 | 2019-06-18 | 清华大学 | 基于puf的流秘钥生成装置、方法及数据加密、解密方法 |
CN106020771B (zh) | 2016-05-31 | 2018-07-20 | 东南大学 | 一种基于puf的伪随机序列发生器 |
US10438025B2 (en) * | 2016-10-04 | 2019-10-08 | Taiwan Semiconductor Manufacturing Co., Ltd. | Self-destruct SRAM-based authentication circuit |
US10122538B2 (en) * | 2016-10-12 | 2018-11-06 | Ememory Technology Inc. | Antifuse physically unclonable function unit and associated control method |
US9779832B1 (en) | 2016-12-07 | 2017-10-03 | Sandisk Technologies Llc | Pulsed control line biasing in memory |
JP2018113415A (ja) * | 2017-01-13 | 2018-07-19 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US11522724B2 (en) * | 2017-12-11 | 2022-12-06 | International Business Machines Corporation | SRAM as random number generator |
-
2018
- 2018-03-08 EP EP18160641.9A patent/EP3454318B1/en active Active
- 2018-03-08 JP JP2018042189A patent/JP6538908B2/ja active Active
- 2018-03-08 US US15/915,074 patent/US10649735B2/en active Active
- 2018-07-17 US US16/038,143 patent/US10177924B1/en active Active
- 2018-07-25 JP JP2018139164A patent/JP6609354B2/ja active Active
- 2018-07-27 EP EP18185959.6A patent/EP3454319B1/en active Active
- 2018-08-03 TW TW107126986A patent/TWI697809B/zh active
- 2018-08-20 CN CN201810945512.3A patent/CN109495243B/zh active Active
- 2018-08-20 TW TW107128902A patent/TWI677152B/zh active
- 2018-08-24 US US16/111,688 patent/US10691414B2/en active Active
- 2018-08-24 CN CN201810971268.8A patent/CN109493902B/zh active Active
- 2018-08-24 TW TW107129581A patent/TWI684893B/zh active
- 2018-08-24 CN CN201810971534.7A patent/CN109493898B/zh active Active
- 2018-08-24 EP EP18190627.2A patent/EP3454320B1/en active Active
- 2018-08-24 JP JP2018156981A patent/JP6593501B2/ja active Active
- 2018-09-07 TW TW107131405A patent/TWI693530B/zh active
- 2018-09-07 CN CN201811041352.6A patent/CN109558339B/zh active Active
- 2018-09-10 CN CN201811050013.4A patent/CN109493908B/zh active Active
- 2018-09-10 US US16/125,779 patent/US10664239B2/en active Active
- 2018-09-10 TW TW107131651A patent/TWI673714B/zh active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI684893B (zh) | 隨機碼產生器及其相關控制方法 | |
JP6479226B2 (ja) | 物理複製困難関数技術のためのワンタイムプログラミングメモリセルおよびメモリアレイならびに関連するランダムコード生成方法 | |
US9436845B2 (en) | Physically unclonable fuse using a NOR type memory array | |
EP3576341B1 (en) | Random code generator and associated random code generating method | |
TWI573145B (zh) | 具有陣列電子熔絲之半導體積體電路及其驅動方法 | |
JP6855668B2 (ja) | 不揮発性メモリを伴うランダム符号発生器 | |
US10199118B2 (en) | One-time programmable (OTP) memory device for reading multiple fuse bits | |
TWI701589B (zh) | 具差動記憶胞之隨機碼產生器及相關控制方法 | |
US7260004B2 (en) | Method and apparatus for increasing yield in a memory circuit | |
US8154941B2 (en) | Non-volatile semiconductor memory device and method of writing data therein | |
JP6107682B2 (ja) | 半導体記憶装置及び半導体記憶装置の制御方法 | |
CN110164496B (zh) | 半导体存储器元件及其读取方法 | |
US9991003B2 (en) | Methods for reading and operating memory device including efuse | |
US20180232267A1 (en) | Memory device, memory controller and operation method thereof | |
TW202016930A (zh) | 記憶體系統及記憶體系統的操作方法 | |
TWI816451B (zh) | 用於物理不可複製技術的磁阻式隨機存取記憶體以及相關隨機碼產生方法 | |
JP4302049B2 (ja) | 不揮発性半導体記憶装置 | |
US20230307014A1 (en) | Sensing module, memory device, and sensing method applied to identify un-programmed/programmed state of non-volatile memory cell | |
TW202324413A (zh) | 半導體記憶裝置及其寫入方法 |