CN107689238A - 电子装置、产品及制造集成电路方法及产生数据集的方法 - Google Patents

电子装置、产品及制造集成电路方法及产生数据集的方法 Download PDF

Info

Publication number
CN107689238A
CN107689238A CN201710658839.8A CN201710658839A CN107689238A CN 107689238 A CN107689238 A CN 107689238A CN 201710658839 A CN201710658839 A CN 201710658839A CN 107689238 A CN107689238 A CN 107689238A
Authority
CN
China
Prior art keywords
memory cell
group
subset
programmable memory
threshold value
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.)
Granted
Application number
CN201710658839.8A
Other languages
English (en)
Other versions
CN107689238B (zh
Inventor
洪俊雄
张坤龙
陈耕晖
黄世昌
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.)
Macronix International Co Ltd
Original Assignee
Macronix International Co Ltd
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 Macronix International Co Ltd filed Critical Macronix International Co Ltd
Publication of CN107689238A publication Critical patent/CN107689238A/zh
Application granted granted Critical
Publication of CN107689238B publication Critical patent/CN107689238B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/32Cryptographic 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/3271Cryptographic 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/3278Cryptographic 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]
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection 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/1425Protection 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • 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
    • 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/75Protecting 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 inhibiting the analysis of circuitry or operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • 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
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1673Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1675Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1695Protection circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0059Security or protection circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • 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/08Address circuits; Decoders; Word-line control circuits
    • 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/10Programming or data input circuits
    • 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/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • 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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • 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
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/24Accessing extra cells, e.g. dummy cells or redundant cells
    • 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
    • G11C29/44Indication or identification of errors, e.g. for repair
    • 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/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • 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/20Address safety or protection circuits, i.e. arrangements for preventing unauthorized or accidental access
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • 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
    • 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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/402Encrypted data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Read Only Memory (AREA)
  • Semiconductor Memories (AREA)
  • Non-Volatile Memory (AREA)

Abstract

本发明阐述了一种利用存储于非易失性存储器中的安全密钥以及在包括例如闪存单元等非易失性存储器单元的集成电路上产生基于物理不可复制功能的数据集的系统及方法。所述方法包括:将安全密钥存储于非易失性存储器阵列的多个区块中的特定区块中;在耦合至非易失性存储器阵列的安全逻辑电路中,在协议中利用存储于特定区块中的安全密钥来允许外部装置或通信网络经由端口存取存储于多个区块中的各区块中的数据;以及允许安全逻辑对特定区块进行只读存取以供在协议中使用,并阻止经由端口存取特定区块。

Description

电子装置、产品及制造集成电路方法及产生数据集的方法
技术领域
本发明是有关于包括闪存阵列或其他非易失性存储器阵列的集成电路,所述集成电路具有利用独有密钥或独有辨识码的安全特征。
背景技术
具有非易失性存储器的集成电路(例如闪存)被开发为具有极高的容量。某些技术考虑会在集成电路上达成百万兆位级阵列(terabit scale array)。此外,存储器装置正被部署于通过网络内连的所谓的「物联网(internet of things,简称IoT)」装置中,所述网络是以例如因特网协议通信技术进行运作。对于物联网装置及其他存储数据的装置的数据安全性是需要担忧的。因此,需要以独有密钥进行加密并以独有标识符(ID)进行鉴认的安全协议及查问/响应(challenge/response)技术正在被发展中。
安全协议需要使用密钥管理技术来产生、更新、存储及保护所利用的独有密钥及ID。
物理不可复制功能(physical unclonable function,简称PUF)是一种可用于为物理实体(例如集成电路)创建独有随机密钥的程序。使用物理不可复制功能是一种用于产生供支持硬件固有安全(hardware intrinsic security,简称HIS)技术的芯片ID使用的密钥的解决方案。在具有高安全要求的应用(例如移动装置及嵌入式装置)中,已使用物理不可复制功能来创建密钥。在一种示例性范例中,物理不可复制功能为环形振荡器物理不可复制功能(ring-oscillator PUF),其使用电路传播的闸延迟所固有的制造变化性(manufacturing variability)。另一种示例性物理不可复制功能是静态随机存取存储器(SRAM)物理不可复制功能,其中各晶体管中的门限电压差使得接通电源的静态随机存取存储器呈现逻辑「0」或逻辑「1」。参见查尔斯-赫尔德(Charles Herder)等人所著的「物理不可复制功能及应用:教程(Physical Unclonable Functions and Applications:ATutorial)」,第1126页至第1141页,电机电子工程师学会的学报(Proceedings of theIEEE)|第102卷,第8期,2014年8月。
已提出一种使用电阻式随机存取存储器(resistive random access memory)的物理性质的物理不可复制功能。参见吉本(Yoshimoto)等人所著的「10年后用于40纳米嵌入式应用且在125℃下具有<0.5%的位错误率的基于电阻式随机存取存储器的物理不可复制功能(A ReRAM-based Physically Unclonable Function with Bit Error Rate<0.5%after 10years at125℃for 40nm embedded application)」,第198页至第199页,2016VLSI技术论文科技文摘研讨会(2016Symposium on VLSI Technology Digest ofTechnical Papers)。在此论文中所呈现的应用提出了对会因老化劣化而提高位错误率的电阻式随机存取存储器-物理不可复制功能(ReRAM-PUF)的传统ID产生方法进行改良。然而,在此种基于电阻式随机存取存储器的物理不可复制功能中,所创建的数据仍可能因存储器单元的电阻漂移(drift)而受到破坏(corrupt),这可使得位错误率在存取或使用所存储密钥时是不可接受的。此种电阻漂移于在集成电路的某些应用中(例如在汽车应用中)所遇到的高温条件下可能更突出。
在使用利用物理不可复制功能电路产生的数据集时,由于高位错误率的问题,先前技术已依赖于错误校正码来提高可靠性。例如,参见李(Lee)等人在2016年6月2日发布的美国专利申请公开案第2016/0156476号「物理不可复制功能电路及在物理不可复制功能电路中执行密钥登记的方法(Physically Unclonable Function Circuits And Methods OfPerforming Key Enrollment In Physically Unclonable Function Circuits)」。
提供支持使用由物理不可复制功能产生的密钥及其他独有密钥的技术的集成电路(包括非易失性存储器)是被期待的。
发明内容
一种用于包括闪存在内的非易失性存储器的物理不可复制功能被提出。此外,利用物理不可复制功能以及随机密钥,且可改善系统提高灵活性及可靠性的安全电路也被提出。本发明所述的装置及系统适合用于物联网装置中,且可实作于各种各样的环境中。
举例而言,一种如所述的被实行于包括非易失性存储器阵列的单个封装式集成电路或多芯片模块中的装置,所述非易失性存储器阵列包括由存储器单元形成的多个区块,所述多个区块中的特定区块中存储有安全密钥。包括用于自所述阵列进行外部数据通信的端口。安全逻辑(security logic)耦合至所述存储器阵列,以在协议中利用所述安全密钥来允许存取存储于所述多个区块中的各区块中的数据、或允许对存储于所述多个区块中的各区块中的数据进行解密或加密。访问控制电路(access control circuit)耦合至所述阵列,且包括用于允许所述安全逻辑对存储所述安全密钥的所述特定区块进行只读存取以供在协议中使用、并阻止外部通信网络或装置经由所述端口存取所述特定区块的逻辑。所述访问控制电路可具有其中允许经由所述端口存取所述特定区块以写入所述安全密钥的第一状态、以及其中禁止经由所述端口存取所述特定区块来进行读取或写入、但允许所述安全逻辑在与主机或其他外部装置执行安全协议期间存取所述特定区块来进行读取的第二状态。所述封装式集成电路或多芯片模块可包括用于使用存储器阵列中的一组存储器单元来执行功能(包括物理不可复制功能,例如本发明所述的依赖于电荷捕获非易失性存储器单元作为物理电路的示例性功能)以生成安全密钥的逻辑。在本发明所述的实施例中,多个安全密钥可存储于集成电路上的特定区块中或不同区块中。此外,所述安全逻辑可被配置成使所述多个安全密钥中的特定安全密钥被使用一次或有限数目的次数来允许存取存储于所述多个区块中的各区块中的数据。在一些实施例中,存储于特定区块中的安全密钥可为例如包括数千或数百万个位的大密钥。
提供一种使用包括浮置栅极及介电电荷捕获技术的电荷捕获非易失性存储器单元且在一些实施例中使用其他类型的非易失性存储器单元在集成电路上产生可用作独有辨识符或独有密钥的数据集的方法。所述方法可包括物理不可复制功能,所述物理不可复制功能会使得在一组中的存储器单元内建立相异门限值(例如门限电压)。所述方法可用于生成可以零位错误率或极低位错误率而使用的基于物理不可复制功能的稳定数据集。
一种如所述的装置包括一组电荷捕获存储器单元,例如闪存单元。包括电路系统,所述电路系统位于集成电路上、在能够存取所述集成电路的处理器系统上、或包括所述集成电路及所述处理器系统的构件,所述电路系统能够存取所述一组电荷捕获存储器单元,以用于使用所述一组电荷捕获存储器单元来提供数据集。所提供的数据集是所述一组电荷捕获存储器单元中的不同成员由于在所述存储器单元中的电荷存储结构中引发电荷捕获的共同处理而具有的相异门限电压的函数。根据本技术的一个方面,所述一组电荷捕获存储器单元具有可由地址代表的次序,且所述相异门限电压具有起始分布。根据本技术的此方面,所述数据集是所述一组电荷捕获存储器单元的具有处于所述起始分布的特定部分中的门限电压的子集按照所述次序的位置的函数。
一种在包括可编程存储器单元(例如闪存单元)的集成电路上产生数据集的方法被提出。所述方法包括:使曝露于所述集成电路上具有地址的一组可编程存储器单元经过共同处理后引入相异的门限值,且所述一组可编程存储器单元的成员位于一个起始分布的范围内。所述方法包括:查找所述一组可编程存储器单元的具有位于所述分布的第一部分中的门限值的第一子集、以及所述一组可编程存储器单元的具有位于所述起始分布的第二部分中的门限值的第二子集。所述方法包括使用所述第一子集及所述第二子集中的至少一个的地址来产生数据集。
在一个实施例中,通过以下方式来产生所述数据集:使用所述地址来选择所述第一子集及所述第二子集中的一者中的存储器单元,并对所选择的存储器单元应用偏压施加操作以在存储器单元的所述第一子集与所述第二子集之间建立感测容限。在一个实施例中,可通过以下方式来建立所述感测容限:对所述子集中所选择的一者中的存储器单元进行寻址,并对所述经寻址的存储器单元应用偏压施加操作,以使其门限值改变成所述起始分布之外的门限值分布。此后,可通过使用处于所述感测容限内的读取电压对所述一组可编程存储器单元中的存储器单元进行读取来产生所述数据集。
在另一实施例中,通过根据所述第一子集及所述第二子集中的至少一个中的成员身份并根据所述至少一个中的存储器单元的地址将所述存储器单元的地址进行组合来产生所述数据集。一种用于组合所述地址的技术可包括依序对所述子集中的一者或每一者的地址进行数列(concatenate)。可将包括经组合的地址的所述数据集存储于所述集成电路上与所述一组可编程存储器单元不同的存储器中。
在本发明所述的另一种技术中,通过以下方式来产生所述数据集:查找所述起始分布中的第一分界线及与所述第一分界线不同的第二分界线;辨识所述一组可编程存储器单元的具有位于所述起始分布的第一部分中所述第一分界线以下的门限值的第一子集、以及所述一组可编程存储器单元的具有位于所述起始分布的第二部分中所述第二分界线以上的门限值的第二子集;以及使用所述第一子集及所述第二子集中的至少一个的地址来产生数据集。
一种用于查找所述分界线的方法包括:确定所述起始分布中的门限电压,所述门限电压使具有低于所述门限电压的门限值的存储器单元的计数对具有高于所述门限电压的门限值的存储器单元的计数的比率处于目标比率范围内;以及通过自所述门限电压减去第一常数来设定所述第一分界线,并通过对所述门限电压加上第二常数来设定所述第二分界线。另一种用于查找所述分界线的方法包括:使用移动的第一读取电压迭代地读取所述一组可编程存储器单元中的所述数据值,并对所述一组中具有低于所述第一读取电压的门限值的存储器单元进行计数,且使用使所述计数处于第一目标计数范围内的所述第一读取电压来设定所述分界线;以及使用移动的第二读取电压迭代地读取所述一组可编程存储器单元中的所述数据值,并对所述一组中具有高于所述第二读取电压的门限值的存储器单元进行计数,且使用使所述计数处于第二目标计数范围内的所述第二读取电压来设定所述第二分界线。
一种根据本发明所提供的用于产生数据集的方法来制造集成电路的方法亦被提出。
一种半导体装置,包括位于集成电路上的一组可编程存储器单元以及产生数据集的逻辑的程序在此被提出。
在查阅以下附图、详细说明及权利要求后,可明白本发明的其他方面及优点。
附图说明
图1是包括多个闪存单元及控制器的装置的简化方块图,所述控制器用于使用所述多个闪存单元来执行物理不可复制功能以提供数据集。
图2是包括多个可编程存储器单元及控制器的装置的另一实例,所述控制器用于使用所述多个可编程存储器单元来执行物理不可复制功能以提供数据集。
图3说明集成电路上的闪存中的可编程存储器单元的区块,其中包括物理不可复制功能区块。
图4A至图4E说明通过查找一组可编程存储器单元的第一子集及第二子集并基于所辨识的第一子集及第二子集而建立稳定数据集来产生数据集的实例。
图5A至图5E说明如参照图4A至图4E所述来产生数据集的另一实例,其示出即使应用相同程序,数据集中亦存在变化(variation)。
图6示出如参照图4A至图4E及图5A至5E所述在包括可编程存储器单元的集成电路上产生稳定数据集的示例性流程图。
图7A至图7E说明通过查找一组可编程存储器单元的第一子集、第二子集、及第三子集来产生数据集并为所述数据集构建地址映像的实例。
图8示出如参照图7A至图7E所述在包括可编程存储器单元的集成电路上产生数据集的示例性流程图。
图9示出如参照图7A至图7E所述在包括可编程存储器单元的集成电路上产生数据集的另一示例性流程图。
图10A至图10C说明将一组中的可编程存储器单元的门限值设定成起始分布。
图10D至图10F说明可用于如本发明所述产生数据集的示例性闪存单元技术。
图11示出应用初始化偏压施加操作以将一组中的可编程存储器单元的门限值设定成起始分布的示例性流程图。
图12A至图12C说明可用于依赖于电荷捕获存储器单元中门限电压的相异性来产生数据集的程序。
图13是以参照图12A至图12C所解释的方式在包括可编程电荷捕获存储器单元的集成电路上产生稳定数据集的示例性流程图。
图14A至图14C说明可用于依赖于电荷捕获存储器单元中门限电压的相异性来产生数据集的替代程序。
图15是以参照图14A至图14C所解释的方式在包括可编程电荷捕获存储器单元的集成电路上产生稳定数据集的示例性流程图1500。
图16是包括闪存阵列及利用所述存储器阵列提供数据集的控制器的集成电路的简化方块图。
图17是示出与登记系统(enrollment system)耦合的包括物理不可复制功能电路系统及非易失性存储器的封装式集成电路或多芯片模块的系统图。
图18说明可在类似图17所示系统那样的系统中使用的非易失性存储器的替代配置。
图19说明可在类似图17所示系统那样的系统中使用的非易失性存储器的另一替代配置。
图20说明可用于存储安全ID及地址映像的数据结构,所述安全ID及地址映像是根据本发明所述物理不可复制功能的一些实施例而生成且可存储于例如图17所示系统等的系统中。
图21是包括封装式集成电路或多芯片模块及主机的简化系统图,所述主机将物理不可复制功能电路与非易失性存储器一起使用。
图22至图24是说明在各种实施例中类似图21所示系统那样的系统的操作的简化流程图。
图25至图28提供对如本发明所述物理不可复制电路系统与非易失性存储器的组合的各种替代配置的简化说明。
【符号说明】
100、440、1600:集成电路
110:任务功能电路
111、116、131、141:总线
115:访问控制区块
120、181:输入/输出端口
122、192、194:线路
125:安全逻辑
130:存储
140:物理不可复制功能程控器
180:封装式集成电路或多芯片模块
181:输入/输出端口
182、191:线路
183:访问控制开关
184:感测放大器/缓冲器
185:存储器阵列
186:地址译码器
187:特定区块
187A、187B、187C:子区块
189:存储器单元
190、1640、1713:安全逻辑
193:快闪控制状态机
195:其他电路系统
198:登记系统
198A:密钥数据库
199:内连线
200、300、800、900、1300、1500:流程图
201、210、220、230、240、250、260、310、320、801、810、820、830、832、834、835、901、910、920、930、1301、1310、1320、1330、1340、1350、1360、1370、1501、1510、1512、1514、1516、1518、1520、1522、1524、1526、1528、1730、1731、1732、1733、1734、1735、1750、1751、1752、1753、1760、1761、1762:步骤
410:处理器系统
420:驱动器
430:装置搬运机/探测器
450:安全电路
460:存储器阵列
470:存储器阵列
471:物理不可复制功能区块
472:引导区块
473:参数区块
474:保护逻辑
475:周边电路系统
500、700:起始分布
510、610、710:起始分布的第一部分
520、620、720:起始分布的第二部分
525:分布
530:感测容限
600:起始门限值分布
625、735:门限值分布
630、740:感测容限
730:起始分布的第三部分
750:第二感测容限
816:初始门限值分布
817:门限值范围/范围
818:起始分布
840、850、860:基板
841、851:源极区
842、852:漏极区
843、853:控制栅极
844、856:隧穿层
845:浮置栅极
846、848:氧化物层
847:氮化物层
857:电荷捕获层
858:阻挡层
863:垂直通道结构
867:字线
869:位线
1200:起始分布
1210、1211、1220、1221:子分布
1240:差值
1400:起始分布
1410、1420、1430:子分布
1610:闪存阵列/阵列
1620:存取与偏压电路
1630:物理不可复制功能控制器
1632:地址与参数存储器
1633:状态机
1710:集成电路或多芯片模块
1711、1785:物理不可复制功能电路
1712:控制器
1714、1771、1776、1781、1787:非易失性存储器
1720:主机
1770:物理电路
1775:电路
1780:随机数产生器
1786:逻辑电路
VR:读取电压
VR+:门限位准
VR-:门限位准
具体实施方式
参照各图来提供对本技术实施例的详细说明。应理解,并非旨在将本技术限制于所具体揭露的结构性实施例及方法,而是可使用其他特征、元件、方法、及实施例来实践本技术。阐述优选实施例以对本技术进行说明,而非对本技术的范围进行限制,其范围是由权利要求界定。此项技术中普通技术人员将认识到以下说明的各种等效变化形式。以相同的参考编号来共同指代各种实施例中相同的元件。
图1是包括多个可编程存储器单元及控制器的装置的简化方块图,所述控制器用于执行使用所述多个可编程存储器单元以提供数据集的程序。在此实例中,所述装置包括具有使用可编程存储器单元形成的存储器的集成电路100。存储器130可由物理不可复制功能,并用以提供独有数据集。以下参照图17,在另一实施例,其中阐述任务功能电路110包括多个存储器单元区块的闪存阵列。本发明亦阐述其他实施例。
集成电路100包括任务功能电路(mission function circuit)110,任务功能电路110可包括专用逻辑(有时称为应用专用集成电路逻辑(application-specificintegrated circuit logic))、例如在微处理器及数字信号处理器中所使用的数据处理器资源、大型(large-scale)存储器(例如闪存、静态随机存取存储器、动态随机存取存储器(DRAM)、可编程电阻存储器(programmable resistance memory))、以及各种类型的电路的组合(被称为系统芯片(system-on-a-chip,SOC)配置或应用专用集成电路(applicationspecific integrated circuit,ASIC))。集成电路100包括输入/输出端口120,输入/输出端口120可包括无线端口或有线端口,以提供对其他装置或网络的存取。在本简化说明中,访问控制区块(access control block)115安置于输入/输出端口120与任务功能电路110之间。访问控制区块115通过总线116耦合至输入/输出端口120且通过总线111耦合至任务功能电路110。访问控制区块115执行访问控制协议,以允许或禁止在任务功能电路110与输入/输出端口120之间进行通信、提供对越过输入/输出端口120的数据的加密或解密、提供支持安全逻辑的其他服务、或提供上述的组合。
为支持访问控制区块115,在此实例中,安全逻辑125安置于芯片上。安全逻辑125耦合至可为存储器130(闪存阵列)一部分的一组闪存单元。物理不可复制功能则提供或用于提供独有数据集,所述独有数据集可由安全逻辑125在总线141上经由物理不可复制功能程控器(PUF program controller)140并在总线131上存取,且由所述安全逻辑用于与访问控制区块115在线路122上进行的通信中。
在此装置实例中,物理不可复制功能程控器140(例如被实作为具有存储器130的集成电路上的状态机)提供信号来控制对偏压方案供电电压的施加,以实施用于产生数据集的程序、以及在存取存储器130时所涉及的其他操作,并用于读取使用存储器130所提供的数据集的其他操作。位于集成电路上的电路系统(例如位线、字线、用于位线及字线的驱动器等)达成对一组电荷捕获存储器单元的存取,以使用所述一组电荷捕获存储器单元来提供数据集。
集成电路上的物理不可复制功能程控器140包括用于执行用以产生数据集的部分或全部操作的逻辑。在一个实施例中,集成电路上的物理不可复制功能程控器140包括执行偏压施加操作所必需的逻辑且可响应于来自外部源的设置命令(set up command)来执行所述逻辑,而无需由芯片外系统(off-chip system)进行控制。
所述控制器可包括使用此项技术中已知的状态机在内的专用逻辑电路系统来进行实作。在替代实施例中,所述控制器包括可被实作于同一集成电路上的通用处理器,所述通用处理器执行计算机程序来控制装置的操作。在又一些实施例中,可利用专用逻辑电路系统与通用处理器的组合来实作控制器。
在一些实施例中,外部处理器系统可包括用于达成对集成电路及用于产生数据集的逻辑的存取的电路系统。所述外部处理器系统可包括用于结合集成电路上的电路系统来提供数据集的电路系统,例如晶圆探测电路(wafer probe circuit)、控制总线、电压源等。用于对程序进行控制的能够存取所述一组存储器单元的逻辑电路及偏压施加电路系统可包括外部处理器系统上及集成电路的部分构件。
本发明所述的实例利用例如在某些种类的闪存中所利用的电荷捕获存储器单元(charge trapping memory cell)。电荷捕获存储器单元中的电荷存储结构可包括多晶硅浮置栅极结构、或者其他导电性或半导电性浮置栅极结构,且可包括在闪存技术中已知的多层式介电电荷捕获结构,例如氧化物-氮化物-氧化物(oxide-nitride-oxide,ONO);氧化物-氮化物-氧化物-氮化物-氧化物(oxide-nitride-oxide-nitride-oxide,ONONO);硅-氧化物-氮化物-氧化物-硅(silicon-oxide-nitride-oxide-silicon,SONOS);带隙工程设计硅-氧化物-氮化物-氧化物-硅(bandgap engineered silicon-oxide-nitride-oxide-silicon,BE-SONOS);氮化钽、氧化铝、氮化硅、氧化硅、硅(tantalum nitride,aluminumoxide,silicon nitride,silicon oxide,silicon,TANOS);以及金属高介电常数带隙工程设计硅-氧化物-氮化物-氧化物-硅(metal-high-k bandgap-engineered silicon-oxide-nitride-oxide-silicon,MA BE-SONOS)。
在其他实施例中,物理不可复制功能存储器单元中用于提供数据集的可编程存储器单元可包括可编程电阻存储器单元或其他类型的存储器单元。用于提供数据集的可编程电阻存储器单元可包括具有可参考门限电阻读取的可编程电阻的可编程元件。所述可编程电阻元件可例如包含金属氧化物或相变材料。
图2说明包括位于集成电路上的一组可编程存储器单元、以及用于使用所述一组可编程存储器单元产生数据集的逻辑的装置的另一实例。在此实例中,所述装置包括处理器系统410,以用于在集成电路440上执行或引起执行如本发明所述产生数据集的程序。集成电路440在制造期间于封装之前被连接至处理器系统410,例如在一些实施例中是以晶圆形式进行连接。在其他实施例中,处理器系统410连接至封装形式的集成电路。
用于执行在集成电路上产生基于物理不可复制功能的数据集的程序的示例性系统可包括在制造线(manufacturing line)中使用测试用设备或使用类似测试用设备那样的设备(其包括用于存取集成电路的电路系统,例如晶圆探测电路、电压源等)而执行的经编程程序。举例而言,制造线可具有被配置成与集成电路连接且可被配置成对本发明所述程序的执行进行控制的多个装置测试机(device tester)、多个装置探测器(deviceprober)、多个装置搬运机(device handler)、及多个端口测试配接器(interface testadapter)。作为另一选择,系统可被配置成与封装式集成电路介接,且可被部署成远离集成电路的制造线,例如部署于利用集成电路的原始设备制造商的总成安装处。
如图2中所示,示例性处理器系统410包括物理不可复制功能逻辑与驱动器420及装置搬运机/探测器430。受到物理不可复制功能逻辑与驱动器420作用的集成电路440耦合至装置搬运机/探测器430。集成电路440包括安全电路450。在此实例中,安全电路450中的存储器阵列460(闪存阵列)用于使用物理不可复制功能来产生数据集。
处理器系统410中的示例性集成电路可为如参照图1所述的集成电路100。在制造集成电路100期间,处理器系统410执行本发明中所表示的动作来生成数据集,且可保存所述数据集的复本或自所述数据集导出的数据,来作为集成电路与工厂中的处理器(例如,处理器系统410)之间的共享秘密。在替代实施例中,在制造出集成电路之后,在现场,使用者可例如使用处理器系统410在集成电路上的存储器阵列460中产生数据集,因此可保存所述数据集来作为集成电路与现场(而非工厂中)的处理器(例如处理器系统410)之间的共享秘密。
图3说明存储器阵列470(大型闪存阵列),存储器阵列470可为与本发明所述安全电路一起使用的集成电路上的任务功能电路或所述任务功能电路的一部分。存储器阵列470可包括由快闪可编程存储器单元形成的区块(例如,存储器区块0、1、...N)、物理不可复制功能区块471、引导区块(boot block)472、及参数区块473。另外,闪存阵列可包括用于控制对阵列中各种存储器区块的存取的保护逻辑474,保护逻辑474包括用于保护位(protection bit)的存储器。物理不可复制功能区块471可为存储器阵列中被保留用于且在一些实施例中被专门配置用于存储安全密钥的目的的特定区块。
在其中集成电路包括如图3所示闪存阵列的实施例中,所述集成电路的安全电路450中的闪存阵列460可包括存储器阵列470中例如物理不可复制功能区块471等的区块。在其他实施例中,安全电路450中的存储器阵列460与存储器阵列470分开,且可包括结构不同于存储器阵列470的存储器单元以及架构不同于存储器阵列470的阵列。以下参照图17阐述包括大型闪存的另一实施例。
存储器阵列470可包括或非(NOR)快闪架构、与非(NAND)快闪架构、或其他类型的快闪架构。由于本发明所述的物理不可复制功能算法是在一组存储器单元内执行,因而物理不可复制功能区块471所包括的存储器单元可足以涵盖大小适于供安全电路450用于创建一个物理不可复制功能数据集或多个物理不可复制功能数据集的一个组或多个组。物理不可复制功能逻辑与驱动器420、或如上所述集成电路上的状态机、或驱动器420与集成电路上的状态机的组合可利用与存储器阵列470相关联的周边电路系统475中的读取、编程与抹除逻辑,以根据本发明所述的物理不可复制功能程序应用偏压施加方案,以改变物理不可复制功能区块471中的存储器单元的门限电压。
物理不可复制功能区块可由保护逻辑474支持,以阻止对基于物理不可复制功能的数据集或对存储所述数据集的存储器单元进行意外性存取或未经授权的存取。所述引导区块可包括写入锁定特征(write lock-out feature),以保证包括存储器阵列的集成电路的数据完整性(data integrity)。所述引导区块可存储将集成电路初始化所必需的码且在所述码丢失时启动恢复例行程序(recovery routine)。所述引导区块可存储对集成电路中的闪存阵列进行编程及抹除所必需的码。所述参数区块可存储参数数据。所述保护位被耦合至存储器区块及物理不可复制功能ID区块,以被保护免遭意外性修改或未经授权的修改。保护存储器区块免遭修改(包括利用保护码(protection code))的一个实例示出于洪(Hung)等人在2015年8月27日发布且名称为「使用非易失性保护码及易失性保护码来进行非易失性存储器数据保护(Nonvolatile Memory Data Protection Using NonvolatileProtection Codes and Volatile Protection Codes)」的美国专利申请公开案第US2015-0242158号中,所述美国专利申请公开案并入本案供参考,就像完全陈述于本发明中一样。
参照图4A至图4E来说明可用于依赖于已经历共同处理(例如制造序列或共同偏压施加方案)的电荷捕获存储器单元中门限电压的相异性来产生数据集的程序,所述共同处理会使得电荷隧穿进或隧穿出存储器单元中的电荷存储结构,进而改变存储于所述电荷存储结构中的电荷的量。使得起始分布被建立的共同处理在以下意义上可为「不可复制」的:由此共同处理得到的门限电压基于各组中的各个电荷捕获单元中的工艺、电压及温度(process,voltage and temperature)的变化而在一组电荷捕获存储器单元与另一组电荷捕获存储器单元之间以及在一个集成电路与另一集成电路之间不同。出于此种原因,即使知晓所述共同处理,人们仍无法预测门限电压的变化,且因此无法预测根据彼等变化而产生的所得数据集。
图4A是门限电压与单元计数关系的曲线图,其说明一组可编程存储器单元中的各存储器单元的门限值的起始分布500,起始分布500是在物理不可复制功能程序开始时建立的。出于示例性目的,在所述分布内表示出某些点,以代表地址Addr=0、1、2、3、4、及5处的存储器单元的门限电压。可看出,特定单元的门限电压与存储器单元的地址无关。
本发明使用用语「地址」来代表可用于根据存储器单元的物理次序来选择存储器单元的逻辑信号。在存储器技术中,对地址进行译码以产生逻辑信号,进而对用于存取存储器单元的偏压施加电路系统进行控制。在一些实施方案中,「地址」可为不需要进行译码的逻辑信号。在一些实施方案中,单元的「地址」可为例如在图20所示的屏蔽(mask)或映射表(mapping table)中的位。可通过形成屏蔽来对地址进行组合,且可以屏蔽的形式存储经组合的地址,其中所述屏蔽中的每一条目启用(enable)或停用(block)对应地址处的存储器单元。
起始分布500可因作为刻蚀程序或沉积程序(例如在制造中使用的涉及将集成电路暴露于等离子体或离子中以在存储器单元上方形成经图案化金属层的程序)的结果在制造完成时自然发生的电荷捕获而出现。在替代实施例中,可例如使用由集成电路上的控制器控制的偏压施加操作(例如以下所述的抹除操作等)来建立起始分布500。在一个实例中,起始分布是使用页面抹除操作或区块抹除操作针对一组可编程存储器单元中的所有成员而建立,其中区块包括多个由可编程存储器单元形成的页面。参见2016年9月29日发布且名称为「闪存中的页面抹除(Page Erase in Flash Memory)」的美国专利申请公开案第2016/0284413 A1号。使得起始分布被建立的程序是在未按照地址在一组中的存储器单元中进行区分的情况下执行。使得起始分布被建立的程序可为物理不可复制功能,以使起始分布对于经历所述程序的每一组可编程存储器单元而言是独有的。
在本发明中,起始分布500具有如图所示的上部门限位准(upper thresholdlevel),所述上部门限位准表示使一组中的存储器单元具有较高门限值的概率是极低的门限位准。可例如在用于建立起始分布500的算法中将此上部门限位准设定为例如抹除验证位准(erase verify level)。
图4B说明物理不可复制功能中的下一阶段,其中将具有位于分界线以下的门限值的存储器单元辨识为具有处于起始分布的第一部分510中的门限电压的存储器单元的子集中的成员。此外,将具有位于分界线以上的门限值的存储器单元辨识为具有处于起始分布的第二部分520中的门限电压的存储器单元的子集中的成员。因此,一组可编程存储器单元具有门限值处于起始分布的第一部分中的第一子集(例如Addr=0、3、及4)、以及门限值处于起始分布的第二部分中的第二子集(例如,Addr=1、2、及5)。
可通过以下方式来确立第一子集及第二子集中的存储器单元的地址:使用分界线上的读取电压对可编程存储器单元应用扫描操作,且将返回第一逻辑状态的存储器单元的地址记录为第一子集并将返回第二逻辑状态的存储器单元的地址记录为第二子集。对所述地址的记录可保存关于用于提供数据集的子集中的每一者中的存储器单元的位置的信息。
在一些实施例中,可使用查找操作(finding operation)来确定分界线,所述查找操作产生第一子集(具有位于分界线以下的门限值)中的可编程存储器单元的计数及第二子集(具有位于分界线以上的门限值)中的可编程存储器单元的计数。可将所述计数进行比较,以生成所述比率。可将所述比率设定成能确保使数据集中0及1的数目足以维持安全数据集的值。举例而言,可期望使0对1的比率接近1。对于实际的实施例,目标比率范围可例如介于2/3与3/2之间,在此情形中,每一子集具有一整组中存储器单元的40%至60%。可根据使用本发明所述技术的特定集成电路的设计规格来调整目标比率范围。
一组中的各个电荷捕获单元的门限电压会随时间漂移,以致起始分布500代表的是仅在短时间内稳定的分布。因此,依赖于起始分布来生成稳定数据集对于某些类型的存储器单元是不切实际的,在该些类型的存储器单元中,此种漂移可使门限值位于分界线一侧上的某些单元中的门限电压在一个时间点漂移至分界线的另一侧。因此,应用某些技术来将起始分布转变成对门限电压的此种漂移不敏感的稳定数据集。
一种用于将起始分布转变成稳定数据集的技术涉及使用第一子集及第二子集中的存储器单元的地址。在此种技术中,基于所述相异门限值的数据集可包括子集中的一或二个的地址的数列,或在包括对地址处的单元进行停用或启用的条目的屏蔽上的地址的数列。在图4A所示实例中,第一子集及第二子集的地址的数列可为图中以二进制形式表达的0、3、4、...、1、2、5...、或者此序列的变化形式。当然,在特定实施例中,在地址的数列中可存在数百、数千、或数百万个地址。经数列的地址可存储于集成电路上的存储器(例如,与图4D所示一组不同的受保护存储器区块)中。此种受保护存储器区块可为提供以极低位错误率、且在一些实例中于不使用错误校正码的情况下递送数据集这一能力的非易失性稳定存储器。在替代实施例中,第一子集及第二子集中的单元的地址可由例如以下参照图20所述的屏蔽表示。
如图中所示,根据另一种技术,可使用同一组非易失性存储器单元来创建基于门限电压的稳定数据集。为达成此种实施例,可对第二子集中的存储器单元执行编程操作以使其门限电压例如为在图4C所示分布525中移动至第一验证位准以上。在此实例中,所述第一验证位准可高于起始分布500的上部门限位准。在其他实施例中,第一验证位准可低于起始分布500的上部门限位准,只要可如下所述生成充足的读取容限(read margin)即可。
在使用第一验证位准执行编程操作之后,会得到类似图4C所示分布那样的改变后分布(changed distribution)。所述编程操作改变第二子集中的存储器单元的门限电压,以在第一子集与第二子集之间建立感测容限530。感测容限530可被设计成宽至足以确保以下操作的可靠性:读取数据集用以判断特定存储器单元是第一子集中还是第二子集中的成员。在建立图4C所示改变后分布之后,可使用处于感测容限530内的读取电压VR来读取所述一组存储器单元。感测容限530可为显著的,以使读取操作中出现错误的可能性是极低的。
图4E是代表存储于同一组存储器单元中的数据集的表,其在第一行中示出所述一组中的存储器单元的顺序地址且在第二行中示出代表由物理不可复制功能程序产生的数据集的数据值(或密钥)。在此表中,对地址0至5处的存储器单元进行读取会得到数据值1 00 1 1 0。在实际的实施例中,数据集的长度可为数百、数千、或数百万个位。
图5A至图5E是正如图4A至图4E一样的附图序列,其代表对一组电荷捕获存储器单元执行相同物理不可复制功能程序的另一实例。在此实例中,即使物理不可复制功能程序相同,所得数据集亦不同。
图5A说明包括地址Addr=0、1、2、3、4、及5处的存储器单元在内的一组可编程存储器单元的起始门限值分布600。所述起始分布具有上部门限位准。
图5B说明起始分布的第一部分610及第二部分620。所述一组可编程存储器单元具有门限值处于起始分布的第一部分中的第一子集(例如,Addr=1、2、3及4)、以及门限值处于起始分布的第二部分中的第二子集(例如,Addr=0及5)。基于该些相异门限值的数据集可包括子集中的一或二个中的某些或全部单元的地址的数列。在图5A所示实例中,第一子集中的某些或全部单元的地址与第二子集中的某些或全部单元的地址的数列可为以数字形式表达的(1,2,3,4,...);(0,5...)、或此序列的变化形式。如上所述,经数列地址可存储于集成电路上的存储器(例如与其中以二进制形式示出地址的图5D所示一组不同的受保护存储器区块)中。此种受保护存储器区块可为提供以极低位错误率、且在一些实例中于不使用错误校正码的情况下递送数据集这一能力的非易失性稳定存储器。
图5C说明在对可编程存储器单元的第二子集应用偏压施加操作(例如,编程)以在第一子集与第二子集之间建立感测容限630之后所得的结果。举例而言,当比率处于目标比率范围内时,第二子集可包括具有位于分界线以上的门限值的可编程存储器单元。所述偏压施加操作将第二子集中的可编程存储器单元的门限值改变成门限值分布625。门限值分布625可位于第一验证位准以上。
图5D示出基于该些相异门限值的数据集,所述数据集包括子集中的一或二个的地址的数列,或在包括关于所述地址处的单元的条目的屏蔽上的地址的数列。在图5B所示实例中,第一子集的地址与第二子集的地址的数列可为图中以二进制形式表达的(1,2,3,4,...);(0,5...)、或此序列的变化形式。当然,在特定实施例中,在地址的数列中可存在诸多地址。经数列地址可存储于集成电路上的存储器(例如与图5D所示一组不同的受保护存储器区块)中。此种受保护存储器区块可为提供以极低位错误率、且在一些实例中于不使用错误校正码的情况下递送数据集这一能力的非易失性稳定存储器。
图5E是在第一行中示出所述一组中的存储器单元的顺序地址且在第二行中示出代表由物理不可复制功能程序产生的数据集的数据值(或密钥)的表。在此表中,对地址0至5处的存储器单元进行读取会得到与图4A至图4E所示实例中所产生的数据值不同的数据值0 1 1 1 1 0。
因此,所述数据集是所述一组电荷捕获存储器单元中的不同成员由于在所述一组中引发电荷捕获的共同处理而具有的相异门限电压的函数。可使用不同组的可编程存储器单元为物理不可复制功能程序的每一实例来达成此种结果。对于某些类型的存储器单元,可使用同一组可编程存储器单元,通过为每一新的数据集创建新的起始分布来产生多个数据集。此外,对于存储于与用于建立相异分布的一组相同的存储器单元中的数据集,可由新的数据集来替换旧数据集。
图6是以参照图4A至图4E及图5A至图5E所解释的方式在包括可编程电荷捕获存储器单元的集成电路上产生稳定数据集的流程图200。在此实例中,程序以使一组闪存单元具有门限值的起始分布而开始(201),所述起始分布是由如上所述得到相异门限电压的共同物理不可复制功能程序而建立。在此实例中,所述程序包括查找存储器单元,例如通过确定所述一组存储器单元内具有位于分界线以上的门限值的第一子集的地址以及具有位于分界线以下的门限值的第二子集的地址(210)。可凭经验来选取所述分界线并将其作为参数存储于对物理不可复制功能的执行进行控制的系统中。作为另一选择,如此实例中所说明,可根据起始分布的特性及数据集的期望特性来调整分界线。在此种替代方案中,所述程序确定第一子集中存储器单元的计数对第二子集中存储器单元的计数的比率(220)。此比率可为例如1/1等的数值或可例如落入根据数据集的预期用途而选取的可接受范围3/2至2/3中。
若所述比率是不可接受的(230),则所述程序调整分界线(240)并返回至步骤210以辨识第一子集及第二子集。若所述比率是可接受的(230),则所述程序移动至基于存储器单元的被辨识出的第一子集及第二子集来建立稳定数据集的步骤。如上所述,在一种替代方案中,所述程序可按顺序存储第一子集中的地址并按顺序存储第二子集中的地址,且使用经数列地址作为稳定数据集。
在图6所说明的替代方案中,用于建立稳定数据集的程序包括:对第二子集中的存储器单元应用偏压施加操作以在所述一组存储器单元中建立改变后分布,所述改变后分布在第一子集中的存储器单元与第二子集中的存储器单元之间具有感测容限(250)。对于电荷捕获存储器单元,此偏压施加操作可包括使用充分高于门限电压的分界线的验证位准来进行编程操作(例如递增步阶脉冲编程(incremental step pulsed programming,简称ISPP)),以建立感测容限。可仅对第二子集中具有地址的存储器单元应用偏压施加操作。如此一来,可通过使用位于感测容限内的读取电压进行读取操作来达成对第一子集中的存储器单元的辨识及第二子集中的存储器单元的辨识。图6所示程序因此包括通过使用读取容限中的读取电压读取所述一组中的存储器单元序列来输出数据集的步骤(260)。可将所输出数据集提供至外部系统(例如对物理不可复制功能的执行进行控制的系统),以在安全协议中用作共享秘密。所述数据集可稳定地存储于所述一组存储器单元中,乃因感测容限使以下情形具有极低的可能性:最初被辨识为第二子集中的成员的存储器单元将使其门限电压漂移至为第一子集所辨识的范围中。
图7A至图7E说明可用于基于门限值的起始分布来产生稳定数据集的另一种技术。
图7A说明包括地址Addr=0、1、2、3、4、5及6处的存储器单元在内的一组可编程存储器单元的门限值的起始分布700。所述起始分布可如以上所说明的具有门限值的上部门限位准,且在起始分布中的任一存储器单元中极不可能将具有门限值。
图7B说明起始分布的第一部分710、第二部分720、及第三部分730。起始分布的第一部分包括小于上部门限位准且位于第一分界线以下的门限值,起始分布的第二部分包括小于上部门限位准且位于较第一分界线大的第二分界线以上的门限值,且起始分布的第三部分包括位于第一分界线与第二分界线之间的门限值。可包括用于基于数据集的期望特性来查找第一分界线及第二分界线中的一或二者的程序。
所述一组可编程存储器单元具有门限值处于起始分布的第一部分中的子集(例如,Addr=0及3)、门限值处于起始分布的第二部分中的子集(例如,Addr=2及5)、以及门限值处于起始分布的位于第一读取位准与第二读取位准之间的第三部分中的子集。
所述一组中的个别电荷捕获单元的门限电压可随时间漂移,以致起始分布700代表的是仅在短时间内稳定的分布。因此,依赖于起始分布来生成稳定数据集对于某些类型的存储器单元是不切实际的,在该些类型的存储器单元中,此种漂移可使门限值位于分界线一侧上的某些单元中的门限电压在一个时间点漂移至分界线的另一侧。因此,应用某些技术来将起始分布转变成对门限电压的此种漂移不敏感的稳定数据集。
如图中所示,一种用于基于门限电压来建立稳定数据集的技术可使用同一组非易失性存储器单元。为达成此种实施例,可对具有位于第一分界线与第二分界线之间的门限值的子集中的存储器单元执行编程操作,以使其门限电压移动至第一验证位准以上,在此实例中,所述第一验证位准高于起始分布500的上部门限位准。在其他实施例中,所述第一验证位准可小于起始分布500的上部门限位准,只要可如下所述生成充足的读取容限即可。
在使用第一验证位准执行编程操作之后,会得到类似图7C所示分布那样的改变后分布。所述编程操作改变存储器单元的门限电压,以在第一子集与第二子集之间建立感测容限740。感测容限740可被设计成宽至足以确保以下操作的可靠性:使用感测容限中的读取电压来读取数据集,以判断特定存储器单元是第一子集中还是第二子集中的成员。在建立图7C所示的改变后分布之后,可使用处于感测容限740内的读取电压VR来读取所述一组存储器单元。感测容限740可以是实体的,因此读取操作中出现错误的可能性是极低的。
图7D是代表存储于同一组存储器单元中的数据集的表,其在第一行中示出所述一组中的存储器单元的顺序地址且在第二行中示出代表由物理不可复制功能程序产生的数据集的数据值(或密钥)。在此表中,对地址0至6处的存储器单元进行读取会得到数据值1X01X 0X,其中「X」是随意值(don’t care),乃因其与对为建立感测容限而经历偏压施加操作的子集中的存储器单元进行感测所得的结果相对应。在实际的实施例中,所述数据集的长度可为数百或数千个位。
在此实例中,使用所述一组可编程存储器单元的第一子集及第二子集来提供数据集(例如,「密钥数据」)。举例而言,使用地址Addr=0、2、3、及5处的第一子集及第二子集中的可编程存储器单元提供数据集1010,其中数据「1」是使用地址Addr=0及3处的第一子集中的可编程存储器单元而提供,且数据「0」是使用地址Addr=2及5处的第二子集中的可编程存储器单元而提供。所述数据集并不包括所述一组可编程存储器单元的用于建立感测容限的子集(例如,地址Addr=1、4、及6处)中的数据,所述子集具有位于起始分布之外的门限值分布735中的门限值。在此实例中,所示「X」表示不用于数据集的存储器单元。
在一些实施例中,此实例中的偏压施加操作亦可在子集中的其他者之间建立第二感测容限750,第二感测容限750宽至足以甚至在其中工艺、电压、温度(process,voltage,temperature,简称PVT)变化相对较大的条件下亦能为感测可编程存储器单元的第二子集与第三子集之间的门限电压差别确保可靠性。此信息可用于产生数据集。
地址映像(address map)可通过对所述一组可编程存储器单元中的可编程存储器单元应用扫描操作,并记录第一子集、第二子集、及第三子集中用于提供数据集的可编程存储器单元的地址来构建。举例而言,可用跳过标识(skip flag)来标记第三子集中的可编程存储器单元的地址,因此在提供数据集时将不读取第三子集中的可编程存储器单元,所述数据集可用作鉴认协定或加密协议的安全密钥或者用作其他类型的秘密数据值或独有数据值。作为另一选择,可如以下参照图20所述来使用屏蔽逻辑。
响应于查问,物理不可复制功能ID电路(例如,125,图1;450,图2)可使用以如下方式提供的数据集来提供安全密钥:根据在地址映像中所记录的一组可编程存储器单元的第一子集及第二子集的地址使用具有在地址映像中所记录的地址的可编程存储器单元,借此跳过或不使用所述一组可编程存储器单元的第三子集中具有地址的可编程存储器单元。
如上所述,在替代程序中,基于该些相异门限值的数据集可包括子集中的一或二者中的某些或全部单元的地址的组合(例如数列)。图7E示出基于该些相异门限值的数据集,所述数据集包括子集中的一或多者的地址的数列。在图7E所示实例中,包括存在于各分界线之间的存储器单元的第一子集的地址与包括存在于第一分界线以下的存储器单元的第二子集的地址的数列可为图中以二进制形式表达的(1,4,5,...);(0,3,...)、或此序列的变化形式。当然,在特定实施例中,在地址的数列中可存在数百或数千个地址。经数列地址可存储于集成电路上的存储器(例如与具有起始分布的一组存储器单元不同的受保护存储器区块)中。此种受保护存储器区块可为提供以极低位错误率、且在一些实例中于不使用错误校正码的情况下递送数据集这一能力的非易失性稳定存储器。
在图4D、图5D、及图7E所示实例中,数据集是各子集中的一或多个(例如第一子集中的某些或全部单元、第二子集中的某些或全部单元、以及第三子集中的某些或全部单元)的地址的数列,且可为(0,3,...);(2,5...);(1,4,6,...)、或此序列的变化形式。在一些实施例中,可使用各子集中仅一个(例如第三子集)中的存储器单元的地址作为数据集。可使用不同于数列或除数列之外的逻辑函数(例如哈希函数或屏蔽形式)来组合地址,以形成包括地址组合的数据集。
图8是以参照图7A至图7E所解释的方式在包括可编程电荷捕获存储器单元的集成电路上产生稳定数据集的流程图800。在此实例中,程序以使一组闪存单元具有门限值的起始分布而开始(801),所述起始分布是由如上所述得到相异门限电压的共同处理而建立。在此实例中,所述程序包括确定所述一组存储器单元内具有位于第一分界线以上的门限值的第一子集的地址、具有位于第二分界线以上的门限值的第二子集的地址、以及具有位于所述分界线之间的门限值的第三子集的地址(810)。可凭经验或以其他方式来选取所述分界线,并将其作为参数存储于对物理不可复制功能的执行进行控制的系统中。作为另一选择,如此实例中所说明,可根据起始分布的特性及数据集的期望特性来调整分界线。在此种替代方案中,所述程序确定第一子集中存储器单元的计数对第二子集中存储器单元的计数的比率(820)。接着,算法判断所述比率是否与预期范围相匹配(830)。若在步骤830处判断出所述比率并不恰当,则调整所述分界线(835),且所述程序返回至步骤810直至达成适当比率为止。若在步骤830处所述比率是恰当的,则算法继续进行以建立代表所述分布的可用作独有密钥的稳定数据集。如上所述,在一种替代方案中,可组合各个子集中的存储器单元的地址以形成独有数据集,并将所述独有数据集存储于受保护存储器中。在图8所说明的实施例中,所述程序继续进行以对第三子集中的存储器单元应用偏压施加操作,进而建立在第一子集与第二子集之间具有读取容限的门限值的改变后分布(832),并且记录第三子集中的存储器单元的地址。如此一来,可通过第三子集的地址以及自使用读取容限内的读取电压在跳过第三子集中的存储器单元的同时感测的第一子集及第二子集所读取的数据值来代表稳定数据集(834)。可如以上在各种替代方案中所述使用信息的其他组合来建立稳定数据集。此外,在一些实施例中,可省略偏压施加步骤832。
图9是在一组闪存单元中使用门限值的起始分布来建立稳定数据集的流程图900。程序以使一组闪存单元具有门限值的起始分布而开始(901)。接下来,所述程序确定具有位于第一分界线以上的门限值的存储器单元的第一子集的地址、具有位于第二分界线以下的门限值的存储器单元的第二子集的地址、以及具有位于所述分界线之间的门限值的存储器单元的第三子集的地址(910)。将各子集中的至少一个中的存储器单元的地址序列存储于与所述一组存储器单元分开的存储器中(920)。可输出作为存储于所述地址序列中的地址的函数或与存储于所述地址序列中的地址相等的数据集(930)。
图10A至图10C说明一种可用于将一组存储器单元中的电荷捕获存储器单元的门限值设定成具有相异门限电压的起始分布的程序。图10A说明一组可编程存储器单元的初始门限值分布816。在此实例中,所述初始门限值分布是在编程操作或抹除操作之前的分布,所述编程操作引发电子或负电荷隧穿进电荷存储结构以增大单元的门限电压,所述抹除操作引发电子隧穿出电荷存储结构或引发正电荷隧穿进电荷存储结构以减小单元的门限电压。在此实例中,所述一组中的存储器单元可具有任何初始门限值分布。在此实例中,所述初始门限值分布包括位于第一验证位准以下的相对低的门限值范围。
图10B说明将所述一组可编程存储器单元中的所有成员编程至较第一验证位准大的门限值范围817所得的结果。此类似在闪存中使用的预编程操作。
图10C说明对所述一组可编程存储器单元中的所有成员进行抹除以建立起始分布818中的门限值所得的结果,其中所述起始分布包括位于第二验证位准以下的门限值。分布830可用作上述程序的起始分布。亦可应用其他技术,包括使用图10B所示范围817作为起始分布。
本发明所述的用于建立起始分布的技术(包括参照图10A至图10C所述的技术)可应用于电荷捕获存储器单元。图10D、图10E、及图10F中说明电荷捕获存储器单元的实例。
图10D是形成于基板840上的平坦浮置栅极存储器单元的简化图。源极区841及漏极区842安置于电荷捕获结构的相对两侧上。控制栅极843上覆于电荷捕获结构上,且可为例如字线的一部分。所述电荷捕获结构包括通常由氧化硅形成的隧穿层844、通常由多晶硅形成的浮置栅极845、包括多层式氧化物-氮化物-氧化物结构的阻挡介电结构,所述多层式氧化物-氮化物-氧化物结构具有氧化物层846、氮化物层847、及氧化物层848。对类似图10D所示浮置栅极存储器单元那样的浮置栅极存储器单元进行编程及抹除等物理功能会引发电荷隧穿而改变被捕获于浮置栅极845中的电荷。被捕获电荷的量根据每一单元的物理特性而有所变化,包括程序变化、温度变化、电压变化等。因此,用于建立类似上述起始门限值那样的起始门限值的操作会在单个装置上的海量存储器单元内得到处于相对宽广的分布中的门限电压。
图10E是形成于基板850上的平坦介电电荷捕获存储器单元的简化图。源极区851及漏极区852安置于电荷捕获结构的相对两侧上。控制栅极853上覆于所述电荷捕获结构上,且可为例如字线的一部分。所述电荷捕获结构包括通常由氧化物或由多个薄介电层形成的隧穿层856。在隧穿层856上方安置有通常包含氮化硅或其他介电材料的电荷捕获层857。在电荷捕获层857上方具有通常由另一种介电氧化物(例如氧化硅)形成的阻挡层858。与浮置栅极存储器单元一样,对类似图10E所示存储器单元那样的存储器单元进行编程及抹除等物理功能会引发电荷隧穿而改变被捕获于电荷捕获层857中的电荷。被捕获电荷的量会根据每一单元的物理特性而有所变化,包括程序变化、温度变化、电压变化等。因此,用于建立类似上述起始门限值那样的起始门限值的操作会在单个装置上的海量存储器单元内得到处于相对宽广的分布中的门限电压。
图10F是形成于基板860上的三维(3D)垂直反及闪存结构的简化图。垂直通道结构(例如,863)安置于由字线(例如,867)形成的堆叠之间。例如介电电荷捕获结构或浮置栅极结构等电荷存储结构安置于字线与垂直通道结构863之间。垂直通道结构863耦合至位线869。在所述基板中,安置有共享源极导体,进而经由垂直通道结构863在位线869与基板860之间为反及串建立电流路径。图10F所示闪存结构亦可用于使用编程操作或抹除操作在装置上的海量存储器单元内建立门限电压的相对宽广的分布。
其他类型的闪存单元结构(包括其他三维存储器技术者)亦可布署以达成本发明所述的物理不可复制功能程序。
图11示出应用初始化偏压施加操作以将一组中的可编程存储器单元的门限值设定成起始分布的示例性流程图300,所述初始化偏压施加操作可应用于电荷存储存储器单元,包括类似上述存储器单元那样的存储器单元。在步骤310处,将所述一组可编程存储器单元中的所有成员编程至较第一验证位准大的门限值范围。在一个实例中,可使用被称为递增步阶脉冲编程(ISPP)序列的编程算法来对所述一组可编程存储器单元中的所有成员进行编程,其中增大脉冲高度并执行编程验证步骤直至满足期望门限位准为止。在步骤320处,对所述一组可编程存储器单元中的所有成员进行抹除,以建立起始分布中的门限值,所述起始分布包括位于第二验证位准以下的门限值。
根据此种建立起始分布的程序用于编程操作或抹除操作的验证位准可与用于对同一集成电路上的大型存储器所应用的编程操作及抹除操作的验证位准相同。作为另一选择,可视特定实施方案的需要来调整用于建立起始分布的验证位准,以使起始分布具有对于用于如本发明所述创建数据集而言所期望的特性。虽然在此实例中使用其中将净正电荷添加至电荷捕获结构以减小单元的门限值的「抹除」程序来生成起始分布,然而,亦可使用其中将净负电荷添加至电荷捕获结构以增大单元的门限值的「编程」程序。此外,如上所述,起始分布可为由制造程序或使一组存储器单元经历的其他程序而得到的门限值的「初始」分布。「初始」分布及由抹除操作或编程操作而得到的分布均可被视为物理不可复制功能。
此外,对于基于可编程电阻存储器单元的非易失性存储器,可使用其中引起电阻的净减小以为单元的读取电流减小门限电压的「设定(set)」程序来生成起始分布。作为另一选择,亦可使用其中引起电阻的净增大以为单元的读取电流增大门限电压的「重设(reset)」程序。此外,如上所述,起始分布可为由制造程序或使一组可编程电阻存储器单元经历的其他程序而得到的门限值的「初始」分布。「初始」分布及由设定操作或重设操作得到的分布均可被视为物理不可复制功能。
图12A至图12C说明另一种用于使用物理不可复制功能来为图9所述类型的电荷捕获存储器单元产生数据集的技术。在图12A中,说明例如可使用物理不可复制功能(如使用抹除验证功能来使一组存储器单元中的各存储器单元的门限值移动至上部门限位准以下的抹除操作)生成的起始分布1200。可将所述起始分布表征为具有图中所示的上部门限位准及下部门限位准。为便于进行本说明,可针对为存储器阵列而配置的标准读取操作将具有处于起始分布1200内的门限值的存储器单元表征为代表数据值「0」。
图12B说明在建立数据集时的下一步骤。在此实例中,使用自起始分布1200的一侧开始移动的读取电压VR的位准来读取所述一组中的存储器单元。假定所述移动的读取电压是自下部门限位准开始,则使用读取电压来读取所述一组存储器单元,并确定具有位于所述门限值以上及以下的门限值的存储器单元的数目的计数。使此读取电压移动直至处于所述读取电压以上及以下的存储器单元的数目与期望参数相匹配(例如约相等、或具有约为1的比率)为止。在此阶段,可将具有在子分布1210内位于读取电压VR以下的门限值的存储器单元表征为代表数据值「1」,且可将具有在子分布1220内位于读取电压VR以上的门限值的存储器单元表征为具有数据值「0」。举例而言,读取操作可持续进行至具有低于读取位准的门限位准的可编程存储器单元的计数对具有高于读取位准的门限位准的可编程存储器单元的计数的比率处于目标比率范围内为止。举例而言,当具有低于读取位准的门限位准的可编程存储器单元的计数对应于一组中的存储器单元的约50%时,目标比率范围内的比率可实质上等于1。可建立使所述比率处于目标比率范围(例如40%至60%)内的读取位准来作为用于对一组可编程存储器单元中的各存储器单元进行读取以产生稳定数据集的读取电压VR
图12C说明在建立数据集时的下一步骤。根据此种技术,对上部读取电压VR+及下部读取电压VR-进行选取,以界定门限值的起始分布1200的其中使存储器单元对数据值进行强存储的子分布。一旦如结合图12B所述确定出读取电压VR,便可通过在读取电压VR周围建立感测容限而在分布中建立第一分界线及第二分界线,使得感测容限(VR-与VR+之间的差值1240)位于第一分界线与第二分界线之间且使读取电压VR处于感测容限内。例如,对于一种特定类型的闪存单元,第一分界线可位于与读取位准减去300毫伏(mV)对应的门限位准处,而第二分界线可位于与读取位准加上300毫伏对应的门限位准处。在另一实例中,第一分界线可位于与读取位准VR减去读取位准的30%对应的门限位准VR-处,而第二分界线可位于与读取位准VR加上读取位准的30%对应的门限位准VR+处。
可使用子分布1211及子分布1221内对数据值「1」及「0」进行强存储的存储器单元来产生数据集。将此种存储器单元的地址记录于集成电路上的存储器中(例如稳定闪存区块中、不同类型的非易失性存储器中、或例如静态随机存取存储器或动态随机存取存储器等易失性存储器中)以供集成电路在例如加密及鉴认等安全协议中使用。可使用中心读取电压值VR以及提供强读取容限的所记录地址来执行读取操作。如此一来,仅利用了相对于读取电压对数据值进行强存储的存储器单元,进而使在读取数据时可因门限值漂移而发生错误的概率降至极低的。
图13是以参照图12A至图12C所解释的方式在包括可编程电荷捕获存储器单元的集成电路上产生稳定数据集的示例性流程图1300。在此实例中,程序以使一组闪存单元具有门限值的起始分布而开始(1301),所述起始分布是由如上所述得到相异门限电压的共同处理而建立。在此种替代方案中,使用移动的读取位准(电压VR)对所述一组中的存储器单元执行读取操作(步骤1310)。所述程序确定具有低于当前读取位准的门限位准的可编程存储器单元的计数对具有高于当前读取位准的门限位准的可编程存储器单元的计数的比率(步骤1320)。接着,所述程序判断所述比率是否处于目标比率范围内(步骤1330)。例如,当具有低于当前读取位准的门限位准的可编程存储器单元的计数对应于一组中的存储器单元的约130%时,目标比率范围内的比率可实质上等于1。若所述比率并非处于目标比率范围内(步骤1330,否),则可例如通过使读取位准递增来调整读取位准(步骤1340),其中对于步骤1310的第一次迭代,所述读取位准可自位于分布的最小门限位准处或以下的门限位准开始。接着,读取操作返回至步骤1310并持续进行至所述比率处于目标比率范围内(步骤1330,是)为止。建立使所述比率处于目标比率范围内的读取位准来作为用于对所述一组可编程存储器单元中的各存储器单元进行读取以产生稳定数据集的读取电压VR(图12B)(步骤1350)。
若在步骤1330处所述比率处于目标比率范围内,则所述程序继续进行,以基于数据集的期望特性来在分布中建立第一分界线及第二分界线中的一或二个(步骤1340)。例如,所述程序可在起始分布(图4B)中于读取电压VR周围建立感测容限,以使感测容限(例如,530,图4C)位于第一分界线与第二分界线之间,且使读取电压VR处于感测容限内。例如,第一分界线可位于与读取位准减去300毫伏对应的门限位准VR-处,而第二分界线可位于与读取位准加上300毫伏对应的门限位准VR+处。例如,第一分界线可位于与读取位准减去读取位准的30%对应的门限位准处,而第二分界线可位于与读取位准加上读取位准的30%对应的门限位准处。
图13所示程序包括以下步骤1360:确定所述一组存储器单元内具有由第一分界线界定的第一子集的地址、由第二分界线界定的第二子集的地址、以及具有位于第一分界线与第二分界线之间的门限值的第三子集的地址,并使用所确定地址来建立代表所述分布的可用作独有密钥的稳定数据集。
图13所示程序包括以下步骤1370:通过使用感测容限530(图4)中的读取电压VR对所述一组中的存储器单元序列进行读取来输出数据集。可将所输出数据集提供至外部系统(例如对物理不可复制功能的执行进行控制的系统),以在安全协议中用作共享秘密。所述数据集可稳定地存储于所述一组存储器单元中,乃因感测容限使以下情形具有极低的可能性:最初被辨识为第二子集中的成员的存储器单元将使其门限电压漂移至为第一子集所辨识的范围中。
使用此种技术,数据集相依于被确定为对数据值进行强存储的存储器单元的数目。此数目在一个起始分布与下一起始分布间可有所变化。因此,在产生数据集时,若单元的数目大于数据集的期望大小,则可截去存储器单元序列,或者若单元的数目小于数据集的期望大小,则可填补存储器单元序列。
图14A至图14C说明使用物理不可复制功能来为参照图9所述类型的电荷捕获存储器单元产生数据集的又一实例。在图14A中,说明例如可如上所述使用物理不可复制功能生成的起始分布1400。起始分布1400可为随着门限位准远离中心峰值延伸而具有相对对称的下降(drop-off)的粗略高斯(Gaussian)分布。然而,所述分布不可能是实际上对称的。如上所述,对称性的此种缺失可在参照图13所述的程序中使得不同数目的存储器单元对数据进行「强」存储。根据图14A至图14C所示技术,可对强存储数据的存储器单元的数目达成更严格控制。
如图14A中所说明,可通过使用第一读取操作并执行使用当前读取电压迭代地读取所述一组存储器单元中的各存储器单元以及对具有低于当前读取位准的门限值的存储器单元的数目进行计数的程序来查找可被表征为对数据值「1」进行强存储的存储器单元的子分布1410,所述第一读取操作施加以位于分布1400的下部边界处或附近的门限值开始移动的读取位准。当所述计数达到所规定门限值时,则存储当前读取位准作为第一下部分界线电压VR-。
如图14B中所说明,可通过使用第二读取操作并执行使用当前读取电压迭代地读取所述一组存储器单元中的各存储器单元以及对具有高于当前读取位准的门限值的存储器单元的数目进行计数来查找可被表征为对数据值「0」进行强存储的存储器单元的第二子分布1420,所述第二读取操作施加以位于分布1400的上部边界处或附近的门限值开始移动的读取位准。当所述计数达到所规定门限值时,接着存储当前读取位准作为第二上部分界线电压VR+。
如图14C中所说明,第三子分布1430包括具有位于第一分界线电压VR-与第二分界线电压VR+之间的门限值的存储器单元。使用落入对数据值「1」进行「强」存储的第一子分布1410内以及落入对数据值「0」进行「强」存储的第二子分布1420内的存储器单元的地址,可通过使用位于第一分界线与第二分界线之间的读取电压VR对存储器单元进行读取来产生数据集。在起始分布可被表征为粗略高斯分布的情况下,可通过对第一分界线电压VR-与第二分界线电压VR+求平均值来生成此读取电压。在其中起始分布可朝更高门限值或更低门限值偏斜(skew)的实施例中,则可使用将分布中的偏斜考虑在内的公式来生成所述读取电压。
图15是以参照图14A至图14C所解释的方式在包括可编程电荷捕获存储器单元的集成电路上产生稳定数据集的示例性流程图1500。在此实例中,程序以使一组闪存单元具有门限值的起始分布而开始(1501),所述起始分布是由如上所述得到相异门限电压的共同处理而建立。在此实例中,所述程序包括确定所述一组存储器单元内,具有位于第一分界线以下的门限值的第一子集的地址,及具有位于第二分界线以上的门限值的第二子集的地址。以一种提供预定数目个对数据值「0」进行强存储的存储器单元及预定数目个对数据值「1」进行强存储的存储器单元的方式来确定所述分界线。可将所述分界线作为参数存储于对物理不可复制功能的执行进行控制的系统中。
在此种替代方案中,使用第一移动的读取位准对所述一组中的存储器单元执行第一读取操作(步骤1510)。所述程序确定具有位于第一读取位准VR-以下的门限位准的可编程存储器单元的第一计数(步骤1512)。接着,所述程序判断所述第一计数是否与预定数目相匹配或是否落入数目范围内(步骤1514)。
若第一计数不被接受(步骤1514,否),则可例如通过使第一读取位准递增来调整第一读取位准(步骤1516),其中对于步骤1510的第一次迭代,所述第一读取位准可自位于分布的下部门限位准处或以下的门限位准开始。第一读取操作接着返回至步骤1510并持续进行至第一计数被接受(步骤1514,是)为止。
图15所示程序包括在起始分布中建立第一分界线电压VR-作为使第一计数是预定数目或接近预定数目的第一读取位准(步骤1518)。确定并存储具有位于第一分界线VR-以下的门限位准的存储器单元的地址,以在此步骤处或在稍后的步骤处当第二分界线被建立时建立代表所述分布的可用作独有密钥的稳定数据集。
图15所示程序包括使用第二移动的读取位准VR+对所述一组中的存储器单元进行第二读取操作(步骤1520)。所述程序确定具有高于第二读取位准的门限位准的可编程存储器单元的第二计数(步骤1522)。接着,所述程序判断所述第二计数是否为可接受的,例如其是否与预定数目相匹配或是否落入数目范围内(步骤1524)。在一些实施例中,若第一读取操作中的计数与第二读取操作中的计数之和等于数据集的目标位计数或数据集的目标地址数目或者处于所述目标位计数的范围内或所述目标地址数目的范围内,则所述数目可被接受。
若第二计数不被接受(步骤1524,否),则可例如通过使第二读取位准递减来调整第二读取位准(步骤1526),其中对于步骤1520的第一次迭代,第二读取位准可自位于分布的上部门限位准处或以上的门限位准开始。第二读取操作接着返回至步骤1520并持续进行至第二计数被接受(步骤1524,是)为止。
图15所示程序包括在起始分布中建立第二分界线作为使第二计数被接受的第二读取位准VR+,并使用第一分界线及第二分界线来建立读取电压VR,例如通过根据以下方程序求平均值:VR=(VR-+VR+)/2(步骤1528)。
虽然如图15中所示,用于建立第一分界线的包括步骤1510、1512、1514、及1516的迭代是在用于建立第二分界线的包括步骤1520、1522、1524、及1526的迭代之前执行,然而,在其他实施例中,用于建立第二分界线的包括步骤1520、1522、1524、及1526的迭代可在用于建立第一分界线的包括步骤1510、1512、1514、及1516的迭代之前执行。
图15所示程序可以类似图13所示程序的步骤1360那样的步骤继续:确定所述一组存储器单元内由第一分界线界定的对数据值「1」进行强存储的存储器单元的第一子集的地址以及由第二分界线界定的对数据值「0」进行强存储的第二子集的地址。在一些实施例中,亦可使用具有位于第一分界线与第二分界线之间的门限值的不对数据值进行强存储的存储器单元的第三子集的地址来建立数据集。
图15所示程序可以类似图13所示程序的步骤1340那样的步骤继续:通过使用感测容限中的读取电压VR对所述一组中的存储器单元序列进行读取来输出数据集。可将所输出数据集提供至外部系统(例如对物理不可复制功能的执行进行控制的系统),以在安全协议中用作共享秘密。所述数据集可稳定地存储于所述一组存储器单元中,基于读取位准VR-与VR+之间的感测容限,最初被辨识为第一子集及第二子集中的成员的存储器单元使其门限电压漂移至为另一子集所辨识的范围中的可能性将会极低。。
在一个实施例中,在被使用的完整数据集使用以单元的数目计的预定长度T,通过将一组可编程存储器单元中的第一子集及第二子集分别规定成第一预定长度T1及第二预定长度T0,其中T=T1+T0,其表示所述数据集中位的数目或所述一组可编程存储器单元中第一子集及第二子集中的存储器单元的数目。例如,第一目标计数范围及第二目标计数范围可包括第一预定长度T1及第二预定长度T0,以便可在起始分布中建立第一分界线及第二分界线作为使第一计数及第二计数分别与第一预定长度T1及第二预定长度T0相匹配的第一读取位准及第二读取位准。当在数据集受此限制时各数目之和不与所规定长度相匹配时,由于移动的读取操作的细微度(granularity)可大于一个单元,因而可自数据集去除多余的单元或者可用数据来填补数据集,以形成经校正的长度。
图16说明包括闪存阵列1610的集成电路1600,闪存阵列1610包括一组物理不可复制功能存储器单元,所述一组物理不可复制功能存储器单元可如上所述受到物理不可复制功能作用建立门限值的分布。集成电路1600包括如以上结合图1所述的物理不可复制功能控制器1630及安全逻辑1640。此外,提供使闪存阵列1610能够被使用的存取与偏压电路1620,包括字线驱动器、感测放大器、位线驱动器、电压源、及其他位于闪存阵列周边的电路。在此实例中,物理不可复制功能控制器1630连接至闪存阵列1610的存取与偏压电路1620且包括用于实施本发明所述程序(例如,包括图6、图8、图9、图11、图13、及图15所示程序中的某些或全部程序)的逻辑及存储器资源。
在所说明的实施例中,物理不可复制功能控制器1630中包括状态机1633以及地址与参数存储器1632。状态机1633可包括用于基于对阵列1610中的所述一组存储器单元应用的物理不可复制功能来产生数据集的逻辑。在本发明所述技术的实施例中,所述逻辑可执行以下步骤:查找在产生数据集时所读取的存储器单元的子集或子分布,将参数(例如用于上述分界线的门限值、用于自所辨识子集读取数据值的门限值)记录于存储器1632中,并将被辨识出供在产生数据集时使用的存储器单元的地址记录于存储器1632中。所述逻辑亦可执行以下步骤:应用存储于存储器1632中的读取电压及地址,以自闪存阵列1610生成数据值序列。
所述状态机亦可包括用于引起对一组可编程存储器单元中的可编程存储器单元进行扫描并应用本发明所述的程序以基于物理不可复制功能产生稳定数据集的逻辑。
安全逻辑1640可包括用于处置查问输入并使用自阵列1610或存储器1632、或自其二者读取的数据集提供响应输出的逻辑。安全逻辑1640可包括使用数据集的加密与解密资源,且可包括用于使用数据集来控制鉴认协议的逻辑。在一些实施例中,响应可为在集成电路上应用于启用例如任务功能电路的通过/失败(pass/fail)信号。在其他实施例中,响应可应用于集成电路1600之外的在安全协议中会使用到所述数据集的电路系统。在一些实施例中,所述安全逻辑包括使用专用逻辑、被进行适当编程的通用处理器、被进行适当编程的可编程门阵列、或该些类型的逻辑电路的组合来实作的状态机。此外,在一些实施方案中,安全逻辑1640可共享用于实作状态机1633的逻辑。
可使用例如闪存、可编程电阻存储器、单次可编程存储器(one-time-programmable memory)等非易失性存储器来实作存储器1632。此外,所述存储器可使用其他类型的存储器来实作,包括例如静态随机存取存储器等易失性存储器,其中所述地址及参数的备份复本存储于阵列1610中或存储于可由集成电路存取的其他存储器中。
专用逻辑、被进行适当编程的通用处理器、被进行适当编程的可编程门阵列、或该些类型的逻辑电路的组合亦可使用来实作状态机1633。
因此,图16说明集成电路的实例,其包括:一组可编程存储器单元,位于集成电路上,具有门限值的分布;存储器,存储所述一组可编程存储器单元中具有处于门限值的所述分布的第一子分布中的门限值的存储器单元的地址;以及逻辑,用于使用所存储地址产生数据集。
所述分布的特征可在于是使用物理不可复制功能而形成。
在一些实施例中,第一子分布通过感测容限与第二子分布分开,且所述用于产生数据集的逻辑包括用于按照地址次序读取所述一组可编程存储器单元中的各存储器单元以产生数据值的逻辑,所述数据集根据是否为第一子分布中的成员身份而变化。
在一些实施例中,所述存储器另外存储所述一组存储器单元中门限值处于所述一组中的存储器单元的门限值的分布的第二子分布中的存储器单元的地址;且所述用于产生数据集的逻辑包括使用关于第一子分布及第二子分布的所存储地址。
在一些实施例中,所述存储器另外为门限值的分布存储第一分界线及与所述第一分界线不同的第二分界线;且第一子分布中的存储器单元包括所述一组存储器单元中具有位于第一分界线以下的门限值的第一子集,且第二子分布中的存储器单元包括所述一组存储器单元中具有位于第二分界线以上的门限值的第二子集。
在一些实施例中,所述用于产生数据集的逻辑使用所述地址来选择第一子集及第二子集中的一者中的存储器单元;以及使用第一分界线与第二分界线之间的读取电压对所述一组可编程存储器单元中的存储器单元进行读取。
在一些实施例中,所述一组中的可编程存储器单元是电荷捕获存储器单元,且所述门限值是门限电压。
在一些实施例中,所述集成电路可包括用于使用偏压施加电路对集成电路应用偏压施加操作的逻辑,所述偏压施加操作在所述一组中的可编程存储器单元的电荷存储结构中引发电荷的改变以建立所述分布。
在一些实施例中,所述逻辑包括所述集成电路上的状态机。
在一些实施例中,所述集成电路包括对查问输入作出响应以使用数据集产生响应输出的逻辑。
图17说明包括封装式集成电路或多芯片模块180的系统,封装式集成电路或多芯片模块180包括输入/输出端口181及非易失性的存储器阵列185。输入/输出端口181提供用于在外部装置或通信网络与非易失性的存储器阵列185之间进行外部数据通信的端口。存储器阵列185包括由存储器单元形成的多个区块(例如,参见以上图3),所述多个区块中的特定区块187中存储有安全密钥。安全逻辑190耦合至非易失性的存储器阵列185,以在协议中利用安全密钥来允许存取存储于所述多个区块中的各区块中的数据。包括访问控制开关(access control switch)183的访问控制电路耦合至所述阵列,且包括用于允许所述安全逻辑对特定区块进行只读存取以供在协议中使用、并阻止外部装置或通信网络经由所述端口存取特定区块的逻辑。在各种实施例中,可使用存取规则的其他组合,进而容许安全逻辑在对特定区块的利用方面具有更大灵活性。
在此实例中,非易失性的存储器阵列185包括闪存。存储安全密钥的特定区块187可在物理上位于阵列中的任何之处,但如所说明可在物理上位于具有最低物理地址的顶部区块中或可邻近具有最低物理地址的引导区块,此处仅举几例。
非易失性的存储器阵列185耦合至感测放大器/缓冲器184,以使得数据能够流入及流出闪存阵列,包括流入及流出存储安全密钥的特定区块187。在此实例中,访问控制开关183安置于感测放大器/缓冲器184与输入/输出端口181之间。自存储器阵列185读取的数据可在线路(路径)182上被路由至输入/输出端口181或可在线路(路径)191上被路由至安全逻辑190。
在所说明的实施例中,地址译码器186连同区块锁位(block lock bit)一起耦合至存储器阵列185(闪存阵列),所述区块锁位用于控制在阵列中的对应区块(包括特定区块187)中读取及写入数据的权限。用于所述特定区块187的区块锁位可包括与用于阵列中的其他区块的区块锁位不同的逻辑结构且在逻辑上执行不同的功能。举例而言,与存储安全密钥的特定区块187相关联的区块锁位可控制耦合至访问控制开关183的逻辑,以在用于存取阵列的地址对应于特定区块187的地址时阻止数据自特定区块187经由感测放大器/缓冲器在线路182上流至输入/输出端口181,同时容许数据自特定区块187在线路191上流至安全逻辑190。
此外,在所说明的实施例中,具有物理不可复制功能程控器的快闪控制状态机193在线路194上耦合至存储器阵列185且在线路192上耦合至安全逻辑190。出于生成欲用作安全密钥的数据集的目的,物理不可复制功能可使用的存储器阵列185中的特定一组存储器单元189中的存储器单元来执行本发明所述的程序。在装置的此实例中,快闪控制状态机193提供信号来控制偏压方案供电电压的施加,以实施用于产生数据集的程序以及在存取存储器阵列185时所涉及的其他操作。位于集成电路上的电路系统(例如位线、字线、用于位线及字线的驱动器等)达成对所述一组闪存单元的存取,以用于提供用于生成安全密钥的数据集。
如所说明,封装式集成电路或多芯片模块180亦可包括例如可在系统芯片系统(system-on-a-chip system)或电路系统与存储器的其他组合中遇到的其他电路系统195。
在所示实例中,封装式集成电路或多芯片模块180通过内连线(interconnect)199耦合至登记系统(enrollment system)198。登记系统198可维持密钥数据库198A,密钥数据库198A中可维持有依赖于特定区块187中所存储的安全密钥来执行安全协议所需的信息。在一些实施例中,执行安全协议所需的信息包括安全密钥的复本。
在一种示例性操作方法中,在制造或封装期间,快闪控制状态机193可如以上参照图2所述与登记系统198协作地执行物理不可复制功能。所述物理不可复制功能可利用所述一组存储器单元189来生成可用于形成安全密钥的数据集。在完成物理不可复制功能的执行后,可接着将数据集自所述一组存储器单元189复制至被保留或被配置用于存储安全密钥的特定区块187。所述系统可生成一个或诸多安全密钥以存储于为此目的而保留的特定区块187中。在此阶段,亦可将安全密钥复制至登记系统198中并维持于密钥数据库198A中。在执行物理不可复制功能且将安全密钥复制至特定区块187中并将任何必需信息复制至登记系统中之后,可使用熔丝(fuse)或其他类型的单次写入存储器元件(write once memoryelement)来设定与特定区块187相关联的锁位,以阻止外部电路或通信网络存取安全密钥。此外,在物理不可复制功能中使用的所述特定一组存储器单元189可被抹除或被以其他方式覆写,以消除可存储于存储器阵列185中的安全密钥的迹象。
图18及图19说明对于不同实施例,非易失性存储器阵列的配置的不同实例。在图18中,其中存储有安全密钥的存储器单元的特定区块包括第一子区块187A及第二子区块187B。在第一子区块187A中定位有由物理不可复制功能用于生成安全密钥的一组存储器单元。此外,安全密钥可保持于用于生成数据集的所述一组存储器单元中或被移动至子区块187A中的另一组存储器单元。第二子区块187B维持在根据例如参照图7A至图7E、图8、图12A至图12C、及图13所述程序等的程序执行物理不可复制功能期间产生的一个单元映射或多个单元映射。
图19是其中由物理不可复制功能使用的一组存储器单元189位于存储器阵列185(闪存阵列)中以及用于存储安全密钥的特定区块187之外的替代方案。在此实例中,用于存储安全密钥的特定区块包括其中在存储器中维持所述一个安全密钥或多个安全密钥的第一子区块187C。第二子区块187B维持在物理不可复制功能期间产生的所述一个单元映射或多个单元映射。
图20说明在类似图17至图19所示实施例那样的实施例中可用于存储安全密钥及单元映像的数据结构。用于生成安全密钥(在此实例中,为安全ID)的一组存储器单元由安全ID产生器区块代表。在图中,此区块具有辨识起始位置的「区块」地址且具有位地址1至10。在优选系统中,安全ID产生器区块可具有数千个位。此外,与每一位地址相关联的是提供「码信息」的数据值,所述数据值表示使用例如图8所示程序或例如图19所示程序所感测的数据值。在利用图20所示映射表或单元映射来对数据集进行寻址的实施例中,某些单元中的数据值未被用于密钥中且因此被视为「随意值」单元。所述映像表辨识「随意值」单元的地址以及用于安全密钥的单元的地址。因此,此实例中的映像表具有起始地址以及地址位1至10,所述地址位对应于安全ID产生器区块中的单元的位地址1至10。在存储器单元中设定与地址位中的每一者对应的标识,进而指示安全ID产生器区块中的有效单元(用于密钥中)或无效单元(未用于密钥中)。可通过对映像表与码信息进行逻辑及(AND)运算来产生密钥数据,其中所述映像表用作屏蔽。如上所述,安全ID产生器区块是可位于非易失性存储器阵列中任何之处或位于用于存储安全ID的特定区块中的一组存储器单元。在其中所述一组存储器单元是位于用于存储安全ID的特定区块之外的实施例中,可接着将安全ID产生器区块中的数据复制至所述特定区块。
图21说明利用物理不可复制功能产生安全密钥且将所述密钥存储于非易失性存储器中的系统的高级配置。所述系统包括耦合至集成电路或多芯片模块1710的主机1720。集成电路或多芯片模块1710包括物理不可复制功能电路1711、控制器1712、及安全逻辑1713。控制器1712耦合至物理不可复制功能电路1711及非易失性存储器1714。
可参照图22针对一些实施例来理解图21所示系统的操作。因此,为生成可使用的密钥,自物理不可复制功能电路1711产生密钥数据(步骤1730)。对所述密钥进行分析,以判断其是否满足安全规范,例如是否具有充足随机性(1731)。若所述密钥满足规范,则经由控制器1712将所述密钥存储至非易失性存储器1714中(步骤1732)。若所述密钥不满足规范,则程序循环至步骤1730,以重试物理不可复制功能,进而生成密钥。所述物理不可复制功能可如以上所述使用一组非易失性存储器单元来生成具有任何长度的安全密钥并重试基于物理不可复制功能的密钥生成程序。如所说明,物理不可复制功能电路1711与控制器1712将协作来产生另一密钥,进而循环回至步骤1730直至生成令人满意的密钥为止。否则,密钥产生即完成,一或多个密钥被存储并准备好供安全逻辑利用。为使用所述密钥,所述程序包括:自非易失性存储器获取密钥数据(1733),并在协议中执行安全功能,所述协议涉及主机1720、以及非易失性存储器中关于一或多个密钥的密钥数据(1734)。可由登记系统为主机1720提供执行依赖于安全密钥的安全协议所需的数据,或者主机1720可为在设置密钥期间所使用的系统。可与登记系统或通信服务器协作地配置安全功能,以利用多个安全密钥。在一些实施例中,所产生及所存储的安全密钥被利用仅一次或有限数目的次数,以维持高安全性及高防窥探性。此外,在一些实施例中,可以一种对于每一通信会话依赖于单个大密钥的子集的方式来利用所述大密钥。可根据特定使用环境的需要来实作其他安全协议。在图22所示程序中,在安全程序利用密钥期间,可执行发出信号来通知应对密钥进行更新的密钥更新协议。此可包括在一时间周期之后或在固定使用次数之后替换密钥。此外,若所使用的数次登录(log in)尝试均失败或者侦测到表明正尝试猜测密钥的其他事件,则可替换密钥。因此,图22所示程序包括判断是否更新密钥的步骤(1735)。若密钥需要更新,则程序循环至步骤1730,且执行物理不可复制功能以更新一或多个密钥。若在1735处密钥不需要更新,则程序循环至继续使用密钥来支持安全功能的执行。
当在例如由图22的步骤1731及1735所示的循环中使用物理不可复制功能来创建新的密钥时,可在一些实施例中使在物理不可复制功能中所使用的参数移位,以提高在每一循环中生成实质上不同的密钥的可能性。当然,在使用闪存单元的一些实施例中,对相同单元应用相同物理不可复制功能参数可生成充分不同的密钥。在其他实例中,可为每一新的物理不可复制功能循环改变用于生成初始分布的偏压电压。此外,作为物理不可复制功能的一部分,可在生成各分布时改变在递增步阶脉冲编程(ISPP)算法中施加的脉冲的数目。在又一些实例中,在生成脉冲时所利用的存储器单元可自阵列的一个区域中的一组,改变成阵列的另一区域中不同的一组。
在例如图23及图24所示的一些实施例中,可以二个部分来考虑高级功能。图23说明可在制造期间、或在运送至客户之前、或其他在安全密钥由系统使用之前执行的功能。在图23中,程序以电源开启事件而开始(1750)。执行物理不可复制功能,且撷取包括一或多个密钥的密钥数据,并将所述密钥数据提供至登记系统或其他将需要所述密钥数据的外部系统(1751)。将密钥数据存储于如上所述的非易失性存储器中(1752)。在所述密钥数据已被存储于非易失性存储器中之后,保护所述密钥数据不被外部通信网络或装置存取(1753)。在现场,程序流程大体上如图24所示而进行,其中以电源开启事件而开始(1760)。所述程序包括:自非易失性存储器获取受保护的密钥数据(1761),并使用密钥来与外部装置执行包括通信协议(例如查问-响应交换)的安全功能(1762)。
如图25中所说明,物理不可复制功能可使用物理电路1770,例如静态随机存取存储器电路、可编程电阻存储器单元电路(RRAM)、金属为基础的电路、基于延迟的电路、基于振荡器的电路等。通常,在物理不可复制功能中所使用的电路具有相对低的稳定性,因而需要特殊逻辑或错误校正以可靠地使用密钥。用于存储安全密钥的非易失性存储器1771可包括高度稳定的非易失性存储器,例如闪存、可编程电阻存储器(RRAM)、相变存储器(PCRAM)、单次可编程存储器等。在其他实施例中,由物理不可复制功能使用的电路1775可具有相对高的稳定性。然而,密钥亦可存储于非易失性存储器1776中,非易失性存储器1776亦具有高稳定性,而且可提供更佳的访问控制以及其他通常可不与物理不可复制功能的电路1775相关联的功能。
在一些实施例中,如图27所示,可利用随机数产生器(random number generator)1780来生成安全密钥,所述安全密钥接着可被存储于非易失性存储器1781中并在例如本发明所述系统等的系统中使用。
在一些实施例中,如图28所示,物理不可复制功能电路1785可以第一等级来生成具有例如1024个位的安全信息。可将此种处于第一等级的安全信息提供至逻辑电路1786,逻辑电路1786使用例如哈希函数将第一等级数据变换成具有例如128个位的第二等级信息、或者根据处于第一等级的安全信息而产生的其他字节合。接着,可将第二等级信息存储至非易失性存储器1787中。
在本技术的一个方面中,对类似图6、图8、图9、图11、图13、及图15所示程序那样的程序以及本发明所述的其他程序的执行进行控制的计算机程序可作为指令存储于一个计算机可读取存储器或多于一个存储器上,其中所述存储器包括非暂时性计算机可读取数据存储介质。使用所述计算机可读取存储器,物理不可复制功能机器(例如,410,图2)可引起对一组可编程存储器单元中的可编程存储器单元进行扫描,且可应用本发明所述的程序来基于物理不可复制功能生成稳定数据集。
此外,如上所述,包括所述一组可编程存储器单元的集成电路可包括状态机或其他被配置成执行该些程序的逻辑资源。在又一些替代方案中,可利用由物理不可复制功能机器执行的计算机程序与在集成电路上实作的逻辑的组合。
在本发明所述的实施例中,使用具有门限电压的起始分布的一组存储器单元来建立稳定数据集。此一组存储器单元可为大型存储器阵列的一部分,例如图3、图16、及图17中所示。作为另一选择,所述一组存储器单元可为专门提供的一组存储器单元。在其中集成电路的任务功能包括存储器阵列的实施例中,用于此种目的的所述一组存储器单元可具有与所述阵列中的存储器单元相同的结构或者可具有不同的结构。此外,所使用的所述一组存储器单元可在集成电路上安置成任一图案,包括紧凑式阵列图案或分布式图案。
在实施例中,可多次重新使用用于建立起始分布的一组存储器单元来生成具有相异内容的多个稳定数据集。因此,可在部署此种实施例的系统中提供逻辑,以对一个集成电路上的存储器单元利用物理不可复制功能程序,进而产生可在与所述一个集成电路进行通信的其他装置中共享的独有数据集。
如上所述,本发明所述的实例是基于使用电荷捕获存储器单元,例如闪存。在一些实施例中(包括在如图3、图16、及图17所示而配置的实施例中),所述技术可扩展至其他可编程存储器单元技术,包括基于金属氧化物的可编程电阻单元、基于相变材料的可编程电阻单元、磁阻式存储器(magneto-resistive memory)、以及其他种类的特征在于能够用于建立起始分布的存储器单元技术,在所述起始分布中,作为经历共同处理的结果,门限电压或临限电阻相对于存储器单元的地址而随机地变化。
如本发明所述而产生的数据集可具有为特定集成电路所独有的内容。例如在安全协议的实例中,所述数据集可用于形成对查问的回应。所述数据集可用作加密协定中的密钥。所述数据集可用作独有辨识符。所述数据集可用作随机密钥。
本发明所述技术的各种方面包括以下实施例。
在一个实施例中,阐述一种在包括一组可编程存储器单元的集成电路上产生数据集的方法。所述方法可包括:使曝露于所述多个可编程存储单元经过共同处理后引入相异的门限值,且所述一组可编程存储器单元位于一个起始分布的范围内。所述方法亦可包括:(1)查找所述一组可编程存储器单元的具有处于所述起始分布的第一部分中的门限值的第一子集、以及所述一组可编程存储器单元的具有处于所述起始分布的第二部分中的门限值的第二子集;以及(2)使用所述第一子集及所述第二子集中的至少一个的所述地址来产生所述数据集。
所述共同处理可包括:在制造期间的刻蚀步骤或沉积步骤,所述刻蚀步骤或所述沉积步骤在所述一组中的所述可编程存储器单元的电荷存储结构中引发电荷捕获。所述共同处理亦可包括:使用所述集成电路上的偏压施加电路进行偏压施加操作,以在所述一组中的所述可编程存储器单元的电荷存储结构中引发电荷。
在一个实施例中提出一种制造集成电路的方法。所述方法可包括:在所述集成电路上形成多个可编程存储器单元;将所述集成电路连接至系统,所述系统被配置成与所述集成电路交换信号;以及使用所述系统通过以下方式在所述多个可编程存储器单元中具有门限值的起始分布的一组可编程存储器单元中产生数据集:(1)查找所述一组可编程存储器单元的具有处于所述起始分布的第一部分中的门限值的第一子集、以及所述一组可编程存储器单元的具有处于所述起始分布的第二部分中的门限值的第二子集;以及(2)使用所述第一子集及所述第二子集中的至少一个的地址来产生所述数据集。
在一个实施例中提出一种电子装置。所述电子装置可包括:一组可编程存储器单元,位于集成电路上;逻辑,用于使用所述一组可编程存储器单元通过以下方式来产生数据集,其中所述一组可编程存储器单元具有门限值的起始分布:(1)查找所述一组可编程存储器单元的具有处于所述起始分布的第一部分中的门限值的第一子集、以及所述一组可编程存储器单元的具有处于所述起始分布的第二部分中的门限值的第二子集;以及(2)使用所述第一子集及所述第二子集中的至少一个的地址来产生所述数据集。
在一个实施例中提出一种电子产品。所述电子产品可包括计算机可读取非暂时性数据存储介质,所述计算机可读取非暂时性数据存储介质存储用于在包括一组可编程存储器单元的集成电路上产生数据集的程序的指令,所述指令能够由被配置成连接至所述集成电路的系统执行。所述的程序可包括:(1)查找所述一组可编程存储器单元的具有处于起始分布的第一部分中的门限值的第一子集、以及所述一组可编程存储器单元的具有处于所述起始分布的第二部分中的门限值的第二子集;以及(2)使用所述第一子集及所述第二子集中的至少一个的地址来产生所述数据集。
实施例中所述的查找步骤可包括:确定所述起始分布的所述第一部分与所述起始分布的所述第二部分之间的分界线,以使所述一组中具有位于所述分界线以下的门限值的所述可编程存储器单元的计数对所述一组中具有位于所述分界线以上的门限值的所述可编程存储器单元的计数的比率处于目标比率范围内。
实施例中所述的使用地址步骤可包括:使用所述第一子集及所述第二子集中的所述至少一个中的可编程存储器单元的所述地址来选择所述可编程存储器单元;对所述所选择的可编程存储器单元应用偏压施加操作,以为所述一组可编程存储器单元建立门限值的改变后分布,所述改变后分布在所述第一子集与所述第二子集之间具有感测容限;以及使用所述感测容限中的读取电压来读取所述一组中的所述可编程存储器单元,以产生所述数据集。所述使用地址步骤亦可包括:根据所述第一子集及所述第二子集中的所述至少一个中的成员身份来组合所述第一子集及所述第二子集中的所述至少一个中的存储器单元的所述地址;以及使用所述经组合的地址作为所述数据集。
在一个实施例中提出一种在集成电路上产生数据集的方法。所述集成电路包括一组可编程存储器单元,且所述可编程存储器单元具有起始分布中的门限值。所述方法包括:查找所述一组可编程存储器单元的具有处于所述起始分布的第一部分中的门限值的第一子集、以及所述一组可编程存储器单元的具有处于所述起始分布的第二部分中的门限值的第二子集。所述方法可包括:应用偏压施加操作,以为所述一组中的所述可编程存储器单元建立门限值的改变后分布,所述改变后分布在所述第一子集与所述第二子集之间具有感测容限;以及使用所述改变后分布来提供所述数据集。
在一个实施例中提出一种在集成电路上产生数据集的方法。所述集成电路包括一组可编程存储器单元,且所述可编程存储器单元具有起始分布中的门限值。所述方法包括:查找所述一组可编程存储器单元的具有处于所述起始分布的第一部分中的门限值的第一子集、以及所述一组可编程存储器单元的具有处于所述起始分布的第二部分中的门限值的第二子集。所述方法可包括:组合所述第一子集及所述第二子集中的至少一个中的所述可编程存储器单元的地址;以及使用经组合的地址来提供所述数据集。
在一个实施例中提出一种电子装置。所述电子装置可包括:一组电荷捕获存储器单元;以及电路系统,能够存取所述一组电荷捕获存储器单元,以使用所述一组电荷捕获存储器单元来提供数据集,所述数据集是所述一组电荷捕获存储器单元的不同成员由于在所述一组中的所述电荷捕获存储器单元中的电荷存储结构中引发电荷捕获的共同处理而具有的相异门限电压的函数。所述的一组电荷捕获存储器单元具有次序且所述相异门限电压具有起始分布,并且所述数据集是所述一组电荷捕获存储器单元的具有位于所述起始分布的一部分中的门限电压的子集的按照所述次序的位置的函数。
在一个实施例中提出一种在包括一组可编程存储器单元的集成电路上产生数据集的方法。所述方法包括:曝露于所述多个可编程存储单元经过处理后引入相异的门限值,且所述一组可编程存储器单元位于一个起始分布的范围内。所述方法亦包括:(1)查找所述起始分布中的第一分界线及与所述第一分界线不同的第二分界线;(2)辨识所述一组可编程存储器单元的具有处于所述起始分布的第一部分中所述第一分界线以下的门限值的第一子集、以及所述一组可编程存储器单元的具有处于所述起始分布的第二部分中所述第二分界线以上的门限值的第二子集;以及(3)使用所述第一子集及所述第二子集中的至少一个的地址来产生所述数据集。
在一个实施例中提出一种制造集成电路的方法。所述方法可包括:在所述集成电路上形成多个可编程存储器单元;将所述集成电路连接至系统,所述系统被配置成与所述集成电路交换信号;以及使用所述系统通过以下方式在所述多个可编程存储器单元中具有门限值的起始分布的一组可编程存储器单元中产生数据集:(1)查找所述起始分布中的第一分界线及与所述第一分界线不同的第二分界线;(2)辨识所述一组可编程存储器单元的具有处于所述起始分布的第一部分中所述第一分界线以下的门限值的第一子集、以及所述一组可编程存储器单元的具有处于所述起始分布的第二部分中所述第二分界线以上的门限值的第二子集;以及(3)使用所述第一子集及所述第二子集中的至少一个的地址来产生所述数据集。
在一个实施例中提出一种电子装置。所述电子装置包括:一组可编程存储器单元,位于集成电路上;以及逻辑,用于使用所述一组可编程存储器单元通过以下方式来产生数据集,其中所述一组存储器单元具有门限值的起始分布:(1)查找所述起始分布中的第一分界线及与所述第一分界线不同的第二分界线;(2)辨识所述一组可编程存储器单元的具有处于所述起始分布的第一部分中所述第一分界线以下的门限值的第一子集、以及所述一组可编程存储器单元的具有处于所述起始分布的第二部分中所述第二分界线以上的门限值的第二子集;以及(3)使用所述第一子集及所述第二子集中的至少一个的地址来产生所述数据集。
在一个实施例中提出一种电子产品。所述电子产品包括计算机可读取非暂时性数据存储介质,所述计算机可读取非暂时性数据存储介质存储用于在包括可编程存储器单元的集成电路上产生数据集的程序的指令,所述指令能够由被配置成连接至集成电路的系统执行。所述程序包括:(1)查找所述起始分布中的第一分界线及与所述第一分界线不同的第二分界线;(2)辨识所述一组可编程存储器单元的具有处于所述起始分布的第一部分中所述第一分界线以下的门限值的第一子集、以及所述一组可编程存储器单元的具有处于所述起始分布的第二部分中所述第二分界线以上的门限值的第二子集;以及(3)使用所述第一子集及所述第二子集中的至少一个的地址来产生所述数据集。
实施例中所述的查找所述第一分界线及所述第二分界线的步骤可包括:确定所述起始分布中的门限电压,所述门限电压使具有低于所述门限电压的门限值的存储器单元的计数对具有高于所述门限电压的门限值的存储器单元的计数的比率处于目标比率范围内,并通过自所述门限电压减去第一常数来设定所述第一分界线,并且通过对所述门限电压加上第二常数来设定所述第二分界线。所述查找步骤亦可包括:使用移动的第一读取电压来迭代地读取所述一组可编程存储器单元中的数据值,并对所述一组中具有低于所述第一读取电压的门限值的存储器单元进行计数,并且使用使所述计数处于第一目标计数范围内的所述第一读取电压来设定所述第一分界线。所述查找步骤亦可包括:使用移动的第二读取电压迭代地读取所述一组可编程存储器单元中的数据值,并对所述一组中具有高于所述第二读取电压的门限值的存储器单元进行计数,并且使用使所述计数处于第二目标计数范围内的所述第二读取电压来设定所述第二分界线。
实施例中所述的产生所述数据集的步骤可包括:使用所述地址来选择所述第一子集及所述第二子集中的一者中的所述可编程存储器单元;以及使用所述第一分界线与所述第二分界线之间的读取电压来读取所述一组可编程存储器单元中的所述可编程存储器单元。所述产生步骤亦可包括:根据所述第一子集及所述第二子集中的所述至少一个中的成员身份来组合所述第一子集及所述第二子集中的所述至少一个中的所述可编程存储器单元的所述地址。
实施例中所述的共同处理可包括在制造期间的刻蚀步骤或沉积步骤,所述刻蚀步骤或所述沉积步骤在所述一组中的所述可编程存储器单元的电荷存储结构中引发电荷捕获。所述共同处理亦可包括:使用所述集成电路上的偏压施加电路进行偏压施加操作,以在所述一组中的所述可编程存储器单元的电荷存储结构中引发电荷。
在一个实施例中提出一种在包括可编程存储器单元的集成电路上产生数据集的方法。所述方法包括:存储一组存储器单元中具有处于所述一组中的存储器单元的门限值的分布的第一子分布中的门限值的存储器单元的地址;以及使用所述所存储地址来产生所述数据集。
在一个实施例中提出一种集成电路。所述集成电路包括:一组可编程存储器单元,位于集成电路上且具有门限值的分布;存储器,存储所述一组可编程存储器单元中具有处于门限值的所述分布的第一子分布中的门限值的存储器单元的地址;以及逻辑,用于使用所述所存储地址来产生数据集。
所述分布的特征在于是使用物理不可复制功能而形成。所述第一子分布通过感测容限与第二子分布分开,且所述逻辑被配置成通过以下方式来产生所述数据集:按照地址次序读取所述一组可编程存储器单元中的所述存储器单元,以产生根据是否为所述第一子分布中的成员身份而变化的数据值。所述存储器另外存储所述一组存储器单元中门限值处于所述一组中的存储器单元的门限值的分布的第二子分布中的存储器单元的地址;且所述逻辑被配置成产生所述数据集包括使用所述第一子分布及所述第二子分布的所述所存储地址。所述存储器另外为门限值的分布存储第一分界线及与所述第一分界线不同的第二分界线,其中所述第一子分布中的所述存储器单元包括所述一组存储器单元的具有位于所述第一分界线以下的门限值的第一子集,且所述第二子分布中的所述存储器单元包括所述一组存储器单元的具有位于所述第二分界线以上的门限值的第二子集。
实施例中所述的逻辑被配置成通过以下方式来产生所述数据集:使用所述地址来选择所述第一子集及所述第二子集中的一者中的存储器单元;以及使用所述第一分界线与所述第二分界线之间的读取电压来读取所述一组可编程存储器单元中的存储器单元。所述的逻辑可被配置成使用所述集成电路上的偏压施加电路应用在所述一组中的所述可编程存储器单元的电荷存储结构中引发改变以建立所述分布的偏压施加操作;以及对查问输入作出响应以使用所述数据集来产生响应输出。所述逻辑可包括所述集成电路上的状态机。
在本发明所述的实施例中,所述一组中的所述可编程存储器单元是电荷捕获存储器单元,且所述门限值是门限电压。
在一个实施例中提出一种存储器电路。所述存储器电路包括:(1)非易失性存储器阵列,包括由存储器单元形成的多个区块且包括存储于所述多个区块中的特定区块中的安全密钥;(2)端口,用于自所述阵列进行外部数据通信;(3)安全逻辑,耦合至所述存储器阵列,所述安全逻辑在协议中利用所述安全密钥来允许存取存储于所述多个区块中的各区块中的数据;以及(4)访问控制电路,耦合至所述阵列,所述访问控制电路包括用于允许所述安全逻辑对所述特定区块进行只读存取以供在所述协议中使用、并阻止经由所述端口存取所述特定区块的逻辑。
在一个实施例中提出一种包括封装式集成电路或多芯片模块的装置。所述装置包括:(1)非易失性存储器阵列,包括由存储器单元形成的多个区块且包括存储于所述多个区块中的特定区块中的安全密钥;(2)端口,用于自所述阵列进行外部数据通信;(3)安全逻辑,耦合至所述存储器阵列,所述安全逻辑在协议中利用所述安全密钥来允许存取存储于所述多个区块中的各区块中的数据;以及(4)访问控制电路,耦合至所述阵列,所述访问控制电路包括用于允许所述安全逻辑对所述特定区块进行只读存取以供在所述协议中使用、并阻止经由所述端口存取所述特定区块的逻辑。
在一个实施例中提出一种操作包括非易失性存储器阵列的电路的方法。所述方法包括:(1)将安全密钥存储于所述非易失性存储器阵列的多个区块中的特定区块中;(2)由外部装置或通信网络使用端口自所述阵列存取数据;(3)由耦合至所述非易失性存储器阵列的安全逻辑电路在协议中利用存储于所述特定区块中的所述安全密钥来允许存取存储于所述多个区块中的各区块中的数据;(4)允许所述安全逻辑对所述特定区块进行只读存取以供在所述协议中使用,并阻止经由所述端口存取所述特定区块。
本发明所述的协议包括查问/回应协议,所述查问/响应协议包括经由所述端口进行数据交换。
本发明所述的访问控制电路具有其中允许经由所述端口存取所述特定区块以写入所述安全密钥的第一状态、其中禁止经由所述端口存取所述特定区块来进行读取或写入、并允许所述安全逻辑存取所述特定区块来进行读取的第二状态。所述的访问控制电路包括允许及禁止存取所述多个区块中的对应区块的区块锁位。
在实施例中,所述封装式集成电路或多芯片模块中包括逻辑。所述逻辑可将使用所述一组存储器单元生成的安全密钥存储至所述特定区块中,且可使用存储器阵列中的一组存储器单元来执行功能以生成所述安全密钥。所述一组存储器单元位于所述特定区块中。
所述的安全密钥包括位于所述一组存储器单元的子集中的数据值、以及辨识所述子集中的成员以供所述安全逻辑使用的地址映像。
所述存储器阵列、所述端口、所述安全逻辑、及所述访问控制电路可安置于单个集成电路上。
尽管参照以上所详述的优选实施例及实例揭露了本发明,然而,应理解,该些实例旨在具有说明性意义而非限制性意义。预期熟习此项技术者将易于想到修饰及组合,所述修饰及组合将处于本发明的精神及以下权利要求的范围内。

Claims (38)

1.一种在包括一组可编程存储器单元的集成电路上产生数据集的方法,包括:
使曝露于所述集成电路上具有地址的所述一组可编程存储器单元经过处理后引入相异的门限值,且所述一组可编程存储器单元位于一个起始分布的范围内;
查找所述一组可编程存储器单元的具有处于所述起始分布的第一部分中的门限值的第一子集、以及所述一组可编程存储器单元的具有处于所述起始分布的第二部分中的门限值的第二子集;以及
使用所述第一子集及所述第二子集中的至少一个的所述地址来产生所述数据集。
2.根据权利要求1所述的方法,其中所述使用所述地址包括:
使用所述第一子集及所述第二子集中的所述至少一个中的所述可编程存储器单元的所述地址来选择所述可编程存储器单元;
对所述所选择的可编程存储器单元应用偏压施加操作,以为所述一组可编程存储器单元建立门限值的改变后分布,所述改变后分布在所述第一子集与所述第二子集之间具有感测容限;以及
使用所述感测容限中的读取电压来读取所述一组中的所述可编程存储器单元。
3.根据权利要求1所述的方法,其中所述使用所述地址包括:根据所述第一子集及所述第二子集中的所述至少一个中的成员身份来组合所述第一子集及所述第二子集中的所述至少一个中的所述可编程存储器单元的所述地址。
4.根据权利要求3所述的方法,包括将所述经组合的地址存储于所述集成电路上的存储器中。
5.根据权利要求1所述的方法,其中所述一组中的所述可编程存储器单元是电荷捕获存储器单元,且所述门限值是门限电压。
6.根据权利要求1所述的方法,其中所述引发相异门限值的程序包括在制造期间的刻蚀步骤或沉积步骤,所述刻蚀步骤或所述沉积步骤在所述一组中的所述可编程存储器单元的电荷存储结构中引发电荷捕获。
7.根据权利要求1所述的方法,其中所述引发相异门限值的程序包括使用所述集成电路上的偏压施加电路进行偏压施加操作,以在所述一组中的所述可编程存储器单元的电荷存储结构中引发电荷。
8.一种制造集成电路的方法,包括:
在所述集成电路上形成多个可编程存储器单元;
将所述集成电路连接至系统,所述系统被配置成与所述集成电路交换信号;以及
使用所述系统通过以下方式在所述多个可编程存储器单元中具有门限值的起始分布的一组可编程存储器单元中产生数据集:
查找所述一组可编程存储器单元的具有处于所述起始分布的第一部分中的门限值的第一子集、以及所述一组可编程存储器单元的具有处于所述起始分布的第二部分中的门限值的第二子集;以及
使用所述第一子集及所述第二子集中的至少一个的地址来产生所述数据集。
9.根据权利要求8所述的方法,其中所述使用所述地址包括:
使用所述第一子集及所述第二子集中,所述至少一个中的所述可编程存储器单元的所述地址来选择所述可编程存储器单元;
对所述所选择的可编程存储器单元应用偏压施加操作,以为所述一组可编程存储器单元建立门限值的改变后分布,所述改变后分布在所述第一子集与所述第二子集之间具有感测容限;以及
使用所述感测容限中的读取电压来读取所述一组中的所述可编程存储器单元,以产生所述数据集。
10.根据权利要求8所述的方法,其中所述使用所述地址包括:根据所述第一子集及所述第二子集中的所述至少一个中的成员身份,以组合所述第一子集及所述第二子集中的所述至少一个中的所述可编程存储器单元的所述地址,并使用所述经组合的地址作为所述数据集。
11.根据权利要求8所述的方法,包括将所述数据集存储于所述系统上的存储器中。
12.根据权利要求8所述的方法,其中所述一组中的所述可编程存储器单元是电荷捕获存储器单元,且所述门限值是门限电压。
13.根据权利要求8所述的方法,其中所述形成包括在制造期间的刻蚀步骤或沉积步骤,所述刻蚀步骤或所述沉积步骤在所述一组中的所述可编程存储器单元的电荷存储结构中引发电荷捕获;且所述起始分布是在使用所述集成电路上的电路来应用偏压施加操作以引发电荷隧穿之前的初始分布。
14.根据权利要求8所述的方法,包括使用所述集成电路上的电路对所述一组中的所述可编程存储器单元共同应用初始化偏压施加操作,以在所述一组中的所述可编程存储器单元的电荷存储结构中引发电荷,且所述起始分布是由所述初始化偏压施加操作产生的。
15.根据权利要求14所述的方法,其中所述初始化偏压施加操作包括:
将所述一组可编程存储器单元中的所有成员编程至大于第一验证位准的门限值范围;以及
将所述一组可编程存储器单元的所有成员抹除至小于第二验证位准的门限值范围。
16.根据权利要求9所述的方法,其中用于建立所述改变后分布的所述偏压施加操作,以将位于所述第一部分与所述第二部分之间的所述起始分布的第三部分中的所述可编程存储器单元的所述门限值改变至位于所述起始分布的所述第三部分之外的门限值范围。
17.根据权利要求9所述的方法,其中用于建立所述改变后分布的所述偏压施加操作,以改变位于所述起始分布中第一分界线与第二分界线之间的所述一组可编程存储器单元中的所述可编程存储器单元的所述门限值,且其中所述分布的所述第二部分位于所述起始分布中所述第一分界线与所述第二分界线之间。
18.根据权利要求9所述的方法,其中用于建立所述改变后分布的所述偏压施加操作,以改变位于所述起始分布中第一分界线与第二分界线之间的所述一组可编程存储器单元中的可编程存储器单元的所述门限值,且其中所述分布的所述第二部分位于所述起始分布中所述第二分界线以上。
19.根据权利要求8所述的方法,其中所述查找包括确定所述起始分布的所述第一部分与所述起始分布的所述第二部分之间的分界线,以使所述一组中具有位于所述分界线以下的门限值的所述可编程存储器单元的计数,对所述一组中具有位于所述分界线以上的门限值的所述可编程存储器单元的计数的比率处于目标比率范围内。
20.一种电子装置,包括:
一组可编程存储器单元,位于集成电路上;
逻辑,用于使用所述一组可编程存储器单元,以通过以下方式来产生数据集,其中所述一组可编程存储器单元具有门限值的起始分布:
查找所述一组可编程存储器单元的具有处于所述起始分布的第一部分中的门限值的第一子集、以及所述一组可编程存储器单元的具有处于所述起始分布的第二部分中的门限值的第二子集;以及
使用所述第一子集及所述第二子集中的至少一个的地址来产生所述数据集。
21.根据权利要求20所述的电子装置,其中所述使用所述地址包括:
使用所述第一子集及所述第二子集中的所述至少一个中的可编程存储器单元的所述地址来选择所述一组中的所述可编程存储器单元;
对所述所选择的可编程存储器单元应用偏压施加操作,以为所述一组中的所述可编程存储器单元建立门限值的改变后分布,所述改变后分布在所述第一子集与所述第二子集之间具有感测容限;以及
使用所述感测容限中的读取电压来读取所述一组中的所述可编程存储器单元,以产生所述数据集。
22.根据权利要求20所述的电子装置,其中所述使用所述地址包括:
根据所述第一子集及所述第二子集中的所述至少一个中的成员身份,以组合所述第一子集及所述第二子集中的所述至少一个中的所述可编程存储器单元的所述地址;以及
使用所述经组合的地址作为所述数据集。
23.根据权利要求20所述的电子装置,包括将所述数据集存储于与所述一组可编程存储器单元不同的存储器中。
24.根据权利要求20所述的装置,其中所述一组中的所述可编程存储器单元是电荷捕获存储器单元,且所述门限值是门限电压。
25.根据权利要求20所述的电子装置,其中所述起始分布,是在使用所述集成电路上的电路来应用偏压施加操作,以在所述一组可编程存储器单元中引发电荷隧穿之前的初始分布。
26.根据权利要求20所述的电子装置,包括用于对所述一组中的所述可编程存储器单元共同应用初始化偏压施加操作,以在所述一组中的所述可编程存储器单元的电荷存储结构中引发电荷的电路系统,且所述起始分布是由所述初始化偏压施加操作产生的。
27.根据权利要求26所述的电子装置,其中所述初始化偏压施加操作包括:
将所述一组可编程存储器单元中的所有成员编程至大于第一验证位准的门限值范围;以及
将所述一组可编程存储器单元的所有成员抹除至小于第二验证位准的门限值范围。
28.根据权利要求21所述的电子装置,其中用于建立所述改变后分布的所述偏压施加操作,将位于所述第一部分与所述第二部分之间的所述起始分布的第三部分中的所述可编程存储器单元的所述门限值改变至位于所述起始分布的所述第三部分之外的门限值范围。
29.根据权利要求21所述的电子装置,其中用于建立所述改变后分布的所述偏压施加操作,以改变位于所述起始分布中第一分界线与第二分界线之间的所述一组可编程存储器单元中的可编程存储器单元的所述门限值,且其中所述分布的所述第二部分位于所述起始分布中所述第一分界线与所述第二分界线之间。
30.根据权利要求21所述的电子装置,其中用于建立所述改变后分布的所述偏压施加操作,以改变位于所述起始分布中第一分界线与第二分界线之间的所述一组可编程存储器单元中的可编程存储器单元的所述门限值,且其中所述分布的所述第二部分位于所述起始分布中所述第二分界线以上。
31.根据权利要求20所述的电子装置,其中所述查找包括确定所述起始分布的所述第一部分与所述起始分布的所述第二部分之间的分界线,以使所述一组中具有位于所述分界线以下的门限值的所述可编程存储器单元的计数,对所述一组中具有位于所述分界线以上的门限值的所述可编程存储器单元的计数的比率处于目标比率范围内。
32.根据权利要求20所述的电子装置,其中所述逻辑包括所述集成电路上的状态机。
33.根据权利要求20所述的电子装置,其中所述逻辑包括连接至所述集成电路的系统上的计算机程序。
34.一种电子产品,包括:
计算机可读取非暂时性数据存储介质,存储用于在包括一组可编程存储器单元的集成电路上产生数据集的程序的指令,所述指令能够由被配置成连接至所述集成电路的系统执行,所述程序包括:
查找所述一组可编程存储器单元的具有处于起始分布的第一部分中的门限值的第一子集、以及所述一组可编程存储器单元的具有处于所述起始分布的第二部分中的门限值的第二子集;以及
使用所述第一子集及所述第二子集中的至少一个的地址来产生所述数据集。
35.一种在包括一组可编程存储器单元的集成电路上产生数据集的方法,包括:
在具有位于起始分布中的门限值的所述一组可编程存储器单元中,查找所述一组可编程存储器单元的具有处于所述起始分布的第一部分中的门限值的第一子集、以及所述一组可编程存储器单元的具有处于所述起始分布的第二部分中的门限值的第二子集;
应用偏压施加操作在所述第一子集与所述第二子集之间建立感测容限;以及
使用所述感测容限提供所述数据集。
36.一种在包括一组可编程存储器单元的集成电路上产生数据集的方法,包括:
在具有位于起始分布中的门限值的所述一组可编程存储器单元中,查找所述一组可编程存储器单元的具有处于所述起始分布的第一部分中的门限值的第一子集、以及所述一组可编程存储器单元的具有处于所述起始分布的第二部分中的门限值的第二子集;
对所述第一子集及所述第二子集中的至少一个中的所述可编程存储器单元的地址进行组合;以及
使用所述经组合的地址来提供所述数据集。
37.一种电子装置,包括:
一组电荷捕获存储器单元;以及
电路系统,能够存取所述一组电荷捕获存储器单元,以使用所述一组电荷捕获存储器单元来提供数据集,所述数据集是所述一组电荷捕获存储器单元中的不同成员由于在所述一组中的所述电荷捕获存储器单元中的电荷存储结构中引发电荷捕获的共同处理而具有的相异门限电压的函数。
38.根据权利要求37所述的装置,其中所述一组电荷捕获存储器单元具有次序且所述相异门限电压具有起始分布,并且所述数据集是所述一组电荷捕获存储器单元的具有位于所述起始分布的一部分中的门限电压的子集的按照所述次序的位置的函数。
CN201710658839.8A 2016-08-04 2017-08-03 电子装置、产品及制造集成电路方法及产生数据集的方法 Active CN107689238B (zh)

Applications Claiming Priority (12)

Application Number Priority Date Filing Date Title
US201662370736P 2016-08-04 2016-08-04
US62/370,736 2016-08-04
US201662423753P 2016-11-17 2016-11-17
US62/423,753 2016-11-17
US201662430196P 2016-12-05 2016-12-05
US62/430,196 2016-12-05
US201662431835P 2016-12-09 2016-12-09
US62/431,835 2016-12-09
US201662435337P 2016-12-16 2016-12-16
US201662435092P 2016-12-16 2016-12-16
US62/435,337 2016-12-16
US62/435,092 2016-12-16

Publications (2)

Publication Number Publication Date
CN107689238A true CN107689238A (zh) 2018-02-13
CN107689238B CN107689238B (zh) 2020-10-16

Family

ID=61069224

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201710655360.9A Active CN107689237B (zh) 2016-08-04 2017-08-03 电子装置及其存储器电路与其操作方法
CN201710659006.3A Active CN107689243B (zh) 2016-08-04 2017-08-03 电子装置、产品及制造集成电路方法及产生数据集的方法
CN201710658839.8A Active CN107689238B (zh) 2016-08-04 2017-08-03 电子装置、产品及制造集成电路方法及产生数据集的方法

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN201710655360.9A Active CN107689237B (zh) 2016-08-04 2017-08-03 电子装置及其存储器电路与其操作方法
CN201710659006.3A Active CN107689243B (zh) 2016-08-04 2017-08-03 电子装置、产品及制造集成电路方法及产生数据集的方法

Country Status (3)

Country Link
US (4) US10715340B2 (zh)
CN (3) CN107689237B (zh)
TW (3) TWI666547B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114441922A (zh) * 2022-04-02 2022-05-06 深圳市赛元微电子有限公司 一种半导体器件测试装置

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8314024B2 (en) * 2008-12-19 2012-11-20 Unity Semiconductor Corporation Device fabrication
US10715340B2 (en) 2016-08-04 2020-07-14 Macronix International Co., Ltd. Non-volatile memory with security key storage
US11258599B2 (en) 2016-08-04 2022-02-22 Macronix International Co., Ltd. Stable physically unclonable function
US10680809B2 (en) 2016-08-04 2020-06-09 Macronix International Co., Ltd. Physical unclonable function for security key
US10855477B2 (en) 2016-08-04 2020-12-01 Macronix International Co., Ltd. Non-volatile memory with physical unclonable function and random number generator
US10911229B2 (en) 2016-08-04 2021-02-02 Macronix International Co., Ltd. Unchangeable physical unclonable function in non-volatile memory
EP3435586B1 (en) * 2017-07-25 2019-08-07 Intrinsic ID B.V. Method to reduce aging of a cache memory
US11294639B2 (en) * 2017-08-03 2022-04-05 Arizona Board of Regents on Behalf of Nothern Arizona University Native ternary random numbers generation
US10340267B1 (en) 2017-12-29 2019-07-02 Micron Technology, Inc. Semiconductor devices including control logic levels, and related memory devices, control logic assemblies, electronic systems, and methods
US10297290B1 (en) 2017-12-29 2019-05-21 Micron Technology, Inc. Semiconductor devices, and related control logic assemblies, control logic devices, electronic systems, and methods
US10366983B2 (en) * 2017-12-29 2019-07-30 Micron Technology, Inc. Semiconductor devices including control logic structures, electronic systems, and related methods
US11265151B2 (en) * 2018-03-09 2022-03-01 Arizona Board Of Regents On Behalf Of Northern Arizona University Key exchange schemes with addressable elements
US11308239B2 (en) * 2018-03-30 2022-04-19 Seagate Technology Llc Jitter attack protection circuit
CN110556144B (zh) * 2018-05-31 2021-04-06 旺宏电子股份有限公司 存储器装置的编程方法
CN110659226A (zh) * 2018-06-28 2020-01-07 晨星半导体股份有限公司 用以存取数据的方法以及相关电路
US10839872B2 (en) * 2018-07-03 2020-11-17 Ememory Technology Inc. Random bit cell using an initial state of a latch to generate a random bit
TWI663601B (zh) * 2018-07-23 2019-06-21 華邦電子股份有限公司 半導體裝置
US10727235B2 (en) * 2018-07-30 2020-07-28 Nscore, Inc. Secure fingerprint data generating device
TWI692763B (zh) 2018-09-07 2020-05-01 大陸商合肥沛睿微電子股份有限公司 記憶體控制裝置、快閃記憶體的控制方法及快閃記憶體的安全特徵的生成方法
US11449310B2 (en) 2018-09-07 2022-09-20 Raymx Microelectronics Corp. Random number generator, encryption/decryption secret key generator and method based on characteristics of memory cells
CN110908588B (zh) * 2018-09-14 2023-04-28 合肥沛睿微电子股份有限公司 记忆体控制装置、控制方法及其安全特征的生成方法
US11461525B2 (en) * 2018-10-31 2022-10-04 Taiwan Semiconductor Manufacturing Company, Ltd. PUF cell array, system and method of manufacturing same
US10361700B1 (en) * 2018-12-24 2019-07-23 Taiwan Semiconductor Manufacturing Co., Ltd. Testing method to quantify process variation distribution in physically unclonable function device, computer readable medium thereof
US11469909B2 (en) 2018-12-28 2022-10-11 Micron Technology, Inc. Physical unclonable function with NAND memory array
US11514174B2 (en) 2019-01-23 2022-11-29 Micron Technology, Inc. Memory devices with cryptographic components
US10439829B1 (en) * 2019-02-01 2019-10-08 Winbond Electronics Corp. Physical unclonable function code generating method and providing apparatus thereof
US10910062B2 (en) 2019-02-12 2021-02-02 Ememory Technology Inc. Random bit cell with nonvolatile memory cell
US10838631B2 (en) * 2019-02-25 2020-11-17 International Business Machines Corporation Detection of alteration of storage keys used to protect memory
TWI758697B (zh) * 2019-03-22 2022-03-21 旺宏電子股份有限公司 積體電路、記憶體電路以及用於操作積體電路的方法
US11050569B2 (en) * 2019-08-14 2021-06-29 Macronix International Co., Ltd. Security memory scheme
CN112417528A (zh) * 2019-08-23 2021-02-26 雅特力科技(重庆)有限公司 用来管理支持数据存储的安全程序库的方法与电子装置
GB201919297D0 (en) 2019-12-24 2020-02-05 Aronson Bill Temperature sensing physical unclonable function (puf) authenication system
US11516028B2 (en) 2019-12-24 2022-11-29 CERA Licensing Limited Temperature sensing physical unclonable function (PUF) authentication system
US11568077B2 (en) * 2019-12-26 2023-01-31 Micron Technology, Inc. Memory device data security based on content-addressable memory architecture
US20210203496A1 (en) * 2019-12-30 2021-07-01 Giuseppe Cariello Secure key update for replay protected memory blocks
KR20210102740A (ko) * 2020-02-12 2021-08-20 삼성전자주식회사 물리적 복제 방지 기능에 기초하여 키를 생성하는 보안 장치 및 이의 동작 방법
US11209993B2 (en) * 2020-03-24 2021-12-28 Sandisk Technologies Llc Physical unclonable function (PUF) for NAND operator
US11501023B2 (en) 2020-04-30 2022-11-15 International Business Machines Corporation Secure chip identification using resistive processing unit as a physically unclonable function
CN111740965B (zh) * 2020-06-09 2022-08-19 河海大学常州校区 一种基于物理不可克隆方程的物联网设备认证方法
US11380379B2 (en) 2020-11-02 2022-07-05 Macronix International Co., Ltd. PUF applications in memories
US11977856B2 (en) * 2021-01-25 2024-05-07 International Business Machines Corporation Random number generation from SRAM cells
KR20220167979A (ko) 2021-06-15 2022-12-22 삼성전자주식회사 물리적 복제 방지 기능을 갖는 메모리 장치 및 이를 포함하는 메모리 시스템
TWI822270B (zh) * 2022-08-24 2023-11-11 旺宏電子股份有限公司 記憶體裝置及其程式化方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103583013A (zh) * 2011-06-02 2014-02-12 三菱电机株式会社 密钥信息生成装置以及密钥信息生成方法
US20140126306A1 (en) * 2012-11-05 2014-05-08 Infineon Technologies Ag Electronic Device with a Plurality of Memory Cells and with Physically Unclonable Function
WO2014076151A1 (en) * 2012-11-15 2014-05-22 The Queen's University Of Belfast Authentication method using physical unclonable functions
CN104518780A (zh) * 2013-09-27 2015-04-15 群联电子股份有限公司 集成电路以及密码生成方法
CN105474167A (zh) * 2013-08-23 2016-04-06 高通股份有限公司 将基于电路延迟的物理不可克隆功能(puf)应用于基于存储器的puf的掩蔽操作以抵抗入侵及克隆攻击
CN105493191A (zh) * 2013-09-09 2016-04-13 高通股份有限公司 基于金属-绝缘体-金属装置的击穿电压的物理不可克隆功能
CN105518787A (zh) * 2013-09-09 2016-04-20 高通股份有限公司 基于磁阻式随机存取存储器的编程电压的物理不可克隆函数
CN105518786A (zh) * 2013-09-09 2016-04-20 高通股份有限公司 基于磁阻式随机存取存储器磁性隧道结的电阻率的物理不可克隆函数
US20160148680A1 (en) * 2014-11-21 2016-05-26 Panasonic intellectual property Management co., Ltd Tamper-resistant non-volatile memory device

Family Cites Families (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5442704A (en) * 1994-01-14 1995-08-15 Bull Nh Information Systems Inc. Secure memory card with programmed controlled security access control
US7043615B1 (en) 2000-06-02 2006-05-09 Renesas Technology Corp. Nonvolatile semiconductor memory and method of managing information in information distribution system
US6947556B1 (en) 2000-08-21 2005-09-20 International Business Machines Corporation Secure data storage and retrieval with key management and user authentication
JP2002073424A (ja) 2000-08-31 2002-03-12 Mitsubishi Electric Corp 半導体装置、端末装置および通信方法
US7840803B2 (en) 2002-04-16 2010-11-23 Massachusetts Institute Of Technology Authentication of integrated circuits
ATE474393T1 (de) 2003-05-21 2010-07-15 Koninkl Philips Electronics Nv Verfahren und vorrichtung zur authentifikation eines physischen gegenstandes
US8391070B2 (en) 2008-12-02 2013-03-05 Spansion Llc Moving program verify level for programming of memory
US20080260152A1 (en) 2005-11-29 2008-10-23 Koninklijke Philips Elecetronics, N.V. Proofs of Vicinity Using Cpufs
US8290150B2 (en) 2007-05-11 2012-10-16 Validity Sensors, Inc. Method and system for electronically securing an electronic device using physically unclonable functions
US9214183B2 (en) * 2007-06-12 2015-12-15 Nxp B.V. Secure storage
US8130955B2 (en) 2007-12-21 2012-03-06 Spansion Llc Random number generation through use of memory cell activity
US7979658B2 (en) 2008-03-25 2011-07-12 Spansion Llc Secure management of memory regions in a memory
WO2010030701A1 (en) 2008-09-12 2010-03-18 Sandisk Corporation Built in on-chip data scrambler for non-volatile memory
US8145855B2 (en) 2008-09-12 2012-03-27 Sandisk Technologies Inc. Built in on-chip data scrambler for non-volatile memory
CN102165458B (zh) 2008-09-26 2015-05-27 皇家飞利浦电子股份有限公司 认证装置和用户
US8448256B2 (en) 2008-09-30 2013-05-21 Infineon Technologies Ag Secure partitioning of programmable devices
US8321956B2 (en) * 2009-06-17 2012-11-27 Microsoft Corporation Remote access control of storage devices
EP2465069B1 (en) 2009-08-14 2018-02-21 Intrinsic ID B.V. Physically unclonable function with tamper prevention and anti-aging system
WO2011048126A1 (en) 2009-10-21 2011-04-28 Intrinsic Id B.V. Distribution system and method for distributing digital information
KR101727130B1 (ko) * 2010-01-20 2017-04-14 인트린직 아이디 비브이 암호화 키를 획득하기 위한 디바이스 및 방법
EP2590355A4 (en) 2010-06-30 2017-04-19 Fujitsu Limited Individual-specific information generation device and individual-specific information generation method
US9064116B2 (en) * 2010-11-08 2015-06-23 Intel Corporation Techniques for security management provisioning at a data storage device
US8694778B2 (en) 2010-11-19 2014-04-08 Nxp B.V. Enrollment of physically unclonable functions
WO2012122994A1 (en) 2011-03-11 2012-09-20 Kreft Heinz Off-line transfer of electronic tokens between peer-devices
KR20120109203A (ko) 2011-03-28 2012-10-08 에스케이하이닉스 주식회사 플래시 메모리 장치 및 그의 독출 전압 생성 방법
CN104521177B (zh) 2011-12-06 2018-03-06 本质Id有限责任公司 使用单次注册用于基于存储器的puf的软判决误差校正
WO2013155522A1 (en) 2012-04-13 2013-10-17 Lewis Innovative Technologies, Inc. Electronic physical unclonable functions
US10078462B2 (en) 2012-05-18 2018-09-18 Cornell University Methods and systems for providing hardware security functions using flash memories
US8928347B2 (en) 2012-09-28 2015-01-06 Intel Corporation Integrated circuits having accessible and inaccessible physically unclonable functions
KR102201062B1 (ko) 2012-10-04 2021-01-11 인트린직 아이디 비브이 물리적 복제방지 기능으로서 이용되는 메모리로부터 암호 키를 생성하기 위한 시스템
EP2722191B1 (en) * 2012-10-18 2015-05-06 Bundesdruckerei GmbH Identity card with physical unclonable function
TWI606362B (zh) 2012-11-12 2017-11-21 慧榮科技股份有限公司 存取系統及方法
US20160028544A1 (en) 2012-11-15 2016-01-28 Elwha Llc Random number generator functions in memory
US8861736B2 (en) 2012-11-19 2014-10-14 International Business Machines Corporation Reliable physical unclonable function for device authentication
US8885819B2 (en) 2012-12-27 2014-11-11 Intel Corporation Fuse attestation to secure the provisioning of secret keys during integrated circuit manufacturing
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
US9001554B2 (en) 2013-01-10 2015-04-07 Intermolecular, Inc. Resistive random access memory cell having three or more resistive states
US9083323B2 (en) 2013-02-11 2015-07-14 Qualcomm Incorporated Integrated circuit identification and dependability verification using ring oscillator based physical unclonable function and age detection circuitry
US9082514B1 (en) 2013-04-22 2015-07-14 Xilinx, Inc. Method and apparatus for physically unclonable function burn-in
JP2015026358A (ja) 2013-06-20 2015-02-05 株式会社東芝 デバイス、ホスト装置、ホストシステム、及びメモリシステム
US9495544B2 (en) 2013-06-27 2016-11-15 Visa International Service Association Secure data transmission and verification with untrusted computing devices
US9953166B2 (en) 2013-07-04 2018-04-24 Microsemi SoC Corporation Method for securely booting target processor in target system using a secure root of trust to verify a returned message authentication code recreated by the target processor
JP6106043B2 (ja) 2013-07-25 2017-03-29 ルネサスエレクトロニクス株式会社 半導体集積回路装置
KR101489758B1 (ko) * 2013-08-26 2015-02-04 한국전자통신연구원 플래시 메모리의 동작 제어 방법 및 장치
US9792089B2 (en) 2013-09-10 2017-10-17 Verayo, Inc. Random number generator using an incrementing function
US8995169B1 (en) 2013-09-12 2015-03-31 Sandisk 3D Llc Method of operating FET low current 3D Re-RAM
US9992031B2 (en) 2013-09-27 2018-06-05 Intel Corporation Dark bits to reduce physically unclonable function error rates
US20150143130A1 (en) 2013-11-18 2015-05-21 Vixs Systems Inc. Integrated circuit provisioning using physical unclonable function
US9189654B2 (en) 2013-12-04 2015-11-17 International Business Machines Corporation On-chip structure for security application
WO2015105687A1 (en) 2014-01-08 2015-07-16 Stc.Unm Systems and methods for generating physically unclonable functions from non-volatile memory cells
EP2911086A1 (en) 2014-02-19 2015-08-26 Renesas Electronics Europe GmbH Integrated circuit with parts activated based on intrinsic features
US9658787B2 (en) 2014-02-26 2017-05-23 Macronix International Co., Ltd. Nonvolatile memory data protection using nonvolatile protection codes and volatile mask codes
JP6325120B2 (ja) 2014-03-07 2018-05-16 インテル コーポレイション 抵抗変化型メモリデバイスを用いた物理的複製防止機能回路
US9436845B2 (en) 2014-03-25 2016-09-06 Globalfoundries Inc. Physically unclonable fuse using a NOR type memory array
US9485094B1 (en) 2014-04-21 2016-11-01 Maxim Integrated Products, Inc. Systems and methods for stable physically unclonable functions
KR102207217B1 (ko) 2014-04-30 2021-01-25 삼성전자주식회사 플래시 메모리 장치, 플래시 메모리 시스템 및 이의 동작 방법
KR101593166B1 (ko) 2014-06-02 2016-02-15 한국전자통신연구원 물리적 복제 방지 함수의 오류를 방지하는 장치 및 그 방법
KR101575810B1 (ko) 2014-09-30 2015-12-08 고려대학교 산학협력단 물리적 복제 방지 기능을 갖는 플래시 메모리 장치 및 그 구현 방법
US9331989B2 (en) 2014-10-06 2016-05-03 Micron Technology, Inc. Secure shared key sharing systems and methods
US9646178B2 (en) 2014-10-15 2017-05-09 Empire Technology Development Llc Secure data storage based on physically unclonable functions
US9548113B2 (en) 2014-11-21 2017-01-17 Panasonic Intellectual Property Management Co., Ltd. Tamper-resistant non-volatile memory device
CN105632543B (zh) 2014-11-21 2018-03-30 松下知识产权经营株式会社 具有防篡改性的非易失性存储装置及集成电路卡
KR102201642B1 (ko) 2014-11-28 2021-01-13 삼성전자주식회사 Puf 회로 및 그것의 키 등록 방법
US9245925B1 (en) 2015-01-15 2016-01-26 Macronix International Co., Ltd. RRAM process with metal protection layer
US9583700B2 (en) 2015-01-23 2017-02-28 Macronix International Co., Ltd. RRAM process with roughness tuning technology
US9607702B2 (en) 2015-03-25 2017-03-28 Macronix International Co., Ltd. Sub-block page erase in 3D p-channel flash memory
US9755841B2 (en) * 2015-04-07 2017-09-05 Globalfoundries Inc. Method, apparatus and system for security application for integrated circuit devices
US9722774B2 (en) 2015-04-29 2017-08-01 Samsung Electronics Co., Ltd. Non-leaky helper data: extracting unique cryptographic key from noisy F-PUF fingerprint
EP3304561B1 (en) 2015-06-02 2020-08-26 Cambou, Bertrand, F. Memory circuit using resistive random access memory arrays in a secure element
US9875378B2 (en) 2015-06-12 2018-01-23 QUALCOMOM Incorporated Physically unclonable function assisted memory encryption device techniques
EP3113409A1 (en) 2015-07-01 2017-01-04 Secure-IC SAS Embedded test circuit for physically unclonable function
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
US9985791B2 (en) * 2015-08-13 2018-05-29 Arizona Board Of Regents Acting For And On Behalf Of Northern Arizona University Physically unclonable function generating systems and related methods
US10181357B2 (en) 2015-08-18 2019-01-15 Ememory Technology Inc. Code generating apparatus and one time programming block
US9455403B1 (en) 2015-08-28 2016-09-27 Macronix International Co., Ltd. Semiconductor structure and method for manufacturing the same
US20170126414A1 (en) 2015-10-28 2017-05-04 Texas Instruments Incorporated Database-less authentication with physically unclonable functions
US10097348B2 (en) 2016-03-24 2018-10-09 Samsung Electronics Co., Ltd. Device bound encrypted data
US10454691B2 (en) * 2016-05-24 2019-10-22 Arizona Board Of Regents On Behalf Of Northern Arizona University Systems implementing hierarchical levels of security
US10680809B2 (en) 2016-08-04 2020-06-09 Macronix International Co., Ltd. Physical unclonable function for security key
US10911229B2 (en) 2016-08-04 2021-02-02 Macronix International Co., Ltd. Unchangeable physical unclonable function in non-volatile memory
US10715340B2 (en) 2016-08-04 2020-07-14 Macronix International Co., Ltd. Non-volatile memory with security key storage
US10855477B2 (en) 2016-08-04 2020-12-01 Macronix International Co., Ltd. Non-volatile memory with physical unclonable function and random number generator
US10027472B2 (en) 2016-09-27 2018-07-17 Intel Corporation Non-linear physically unclonable function (PUF) circuit with machine-learning attack resistance
US9811689B1 (en) 2016-12-27 2017-11-07 Macronix International Co., Ltd. Chip ID generation using physical unclonable function
US20180191512A1 (en) 2016-12-30 2018-07-05 Intel Corporation Physically unclonable function generation with direct twin cell activation
US10311930B1 (en) * 2018-04-05 2019-06-04 Qualcomm Incorporated One-time programming (OTP) magneto-resistive random access memory (MRAM) bit cells in a physically unclonable function (PUF) memory in breakdown to a memory state from a previous read operation to provide PUF operations

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103583013A (zh) * 2011-06-02 2014-02-12 三菱电机株式会社 密钥信息生成装置以及密钥信息生成方法
US20140126306A1 (en) * 2012-11-05 2014-05-08 Infineon Technologies Ag Electronic Device with a Plurality of Memory Cells and with Physically Unclonable Function
WO2014076151A1 (en) * 2012-11-15 2014-05-22 The Queen's University Of Belfast Authentication method using physical unclonable functions
CN105474167A (zh) * 2013-08-23 2016-04-06 高通股份有限公司 将基于电路延迟的物理不可克隆功能(puf)应用于基于存储器的puf的掩蔽操作以抵抗入侵及克隆攻击
CN105493191A (zh) * 2013-09-09 2016-04-13 高通股份有限公司 基于金属-绝缘体-金属装置的击穿电压的物理不可克隆功能
CN105518787A (zh) * 2013-09-09 2016-04-20 高通股份有限公司 基于磁阻式随机存取存储器的编程电压的物理不可克隆函数
CN105518786A (zh) * 2013-09-09 2016-04-20 高通股份有限公司 基于磁阻式随机存取存储器磁性隧道结的电阻率的物理不可克隆函数
CN104518780A (zh) * 2013-09-27 2015-04-15 群联电子股份有限公司 集成电路以及密码生成方法
US20160148680A1 (en) * 2014-11-21 2016-05-26 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
CN114441922A (zh) * 2022-04-02 2022-05-06 深圳市赛元微电子有限公司 一种半导体器件测试装置
CN114441922B (zh) * 2022-04-02 2022-06-14 深圳市赛元微电子有限公司 一种半导体器件测试装置

Also Published As

Publication number Publication date
US10469271B2 (en) 2019-11-05
TWI732903B (zh) 2021-07-11
TW201805817A (zh) 2018-02-16
TW201805812A (zh) 2018-02-16
TW201805813A (zh) 2018-02-16
TWI685742B (zh) 2020-02-21
CN107689237A (zh) 2018-02-13
TWI666547B (zh) 2019-07-21
US20180039581A1 (en) 2018-02-08
US10749695B2 (en) 2020-08-18
CN107689243A (zh) 2018-02-13
US10715340B2 (en) 2020-07-14
CN107689238B (zh) 2020-10-16
US20200036539A1 (en) 2020-01-30
US10404478B2 (en) 2019-09-03
US20180040356A1 (en) 2018-02-08
CN107689243B (zh) 2020-09-15
US20180039784A1 (en) 2018-02-08
CN107689237B (zh) 2021-03-05

Similar Documents

Publication Publication Date Title
CN107689238A (zh) 电子装置、产品及制造集成电路方法及产生数据集的方法
CN108958707A (zh) 具有puf及随机数产生器的电路及其操作方法
US10855477B2 (en) Non-volatile memory with physical unclonable function and random number generator
US11601269B2 (en) Unchangeable physical unclonable function in non-volatile memory
US10680809B2 (en) Physical unclonable function for security key
CN106257590B (zh) 具有防篡改性的非易失性存储装置以及集成电路卡
JP6587188B2 (ja) 乱数処理装置、集積回路カード、および乱数処理方法
JP6474056B2 (ja) 耐タンパ性を有する不揮発性メモリ装置、集積回路カード、不揮発性メモリ装置の認証方法、不揮発性メモリ装置を用いた暗号化方法および復号化方法
TWI663604B (zh) 操作具非揮發性記憶胞電路的方法及使用所述方法的電路
CN108958650A (zh) 电子系统及其操作方法
TWI716685B (zh) 電子系統及其操作方法

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
GR01 Patent grant
GR01 Patent grant