CN113366575A - 使用nand存储器阵列的物理不可复制函数(puf) - Google Patents

使用nand存储器阵列的物理不可复制函数(puf) Download PDF

Info

Publication number
CN113366575A
CN113366575A CN201980090726.XA CN201980090726A CN113366575A CN 113366575 A CN113366575 A CN 113366575A CN 201980090726 A CN201980090726 A CN 201980090726A CN 113366575 A CN113366575 A CN 113366575A
Authority
CN
China
Prior art keywords
value
bits
logic
memory
memory cells
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201980090726.XA
Other languages
English (en)
Inventor
A·蒙代洛
T·泽里利
C·孔代米
F·托马约洛
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.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN113366575A publication Critical patent/CN113366575A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • 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
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • 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/30Accessing single arrays
    • G11C29/34Accessing multiple bits simultaneously
    • 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
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • G11C11/5635Erasing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5671Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge trapping in an insulator
    • 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
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • 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/26Sensing or reading circuits; Data output circuits
    • G11C16/28Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy 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/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
    • G11C2029/0409Online test
    • 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
    • G11C2029/0411Online error correction
    • 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
    • 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
    • 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/38Response verification devices
    • G11C29/40Response verification devices using compression techniques
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • 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
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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

Landscapes

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

Abstract

存储器控制器可读取NAND快闪阵列处的数个存储器胞元以产生第一原始串。所述存储器控制器可确定来自所述第一原始串的具有逻辑0的值的位的数目与来自所述第一原始串的具有逻辑1的值的位的数目之间的差大于阈值且使用第二读取电平读取所述数个存储器胞元以产生第二原始串。所述存储器控制器可确定来自所述第二原始串的具有逻辑0的值的位的数目与来自所述第二原始串的具有逻辑1的值的位的数目之间的差不大于阈值且使用所述第二原始串应用密码函数以产生第一PUF值。

Description

使用NAND存储器阵列的物理不可复制函数(PUF)
优先权申请案
本申请案主张2018年12月28日申请的序列号为16/236,005号美国申请案的优先权权益,所述美国申请案以引用方式并入本文中。
背景技术
存储器装置通常提供为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性存储器及非易失性存储器。
易失性存储器需要电力来维持其数据,且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)或同步动态随机存取存储器(SDRAM)等。
非易失性存储器可在未被供电时留存所存储数据,且包含快闪存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、静态RAM(SRAM)、可擦除可编程ROM(EPROM)、电阻可变存储器(例如相变随机存取存储器(PCRAM)、电阻性随机存取存储器(RRAM)及磁阻性随机存取存储器(MRAM)或3D XPointTM存储器等。
快闪存储器用作广泛范围的电子应用的非易失性存储器。快闪存储器装置通常包含容许高存储器密度、高可靠性及低功率消耗的一个晶体管、浮动门或电荷捕捉存储器胞元的一或多个群组。
两种常见类型的快闪存储器阵列架构包含NAND及NOR架构,以布置每一者的基本存储器胞元配置的逻辑形式命名。存储器阵列的存储器胞元通常布置成矩阵。在实例中,所述阵列的行中的每一浮动门存储器胞元的栅极经耦合到存取线(例如,字线)。在NOR架构中,所述阵列的列中的每一存储器胞元的漏极经耦合到数据线(例如,位线)。在NAND架构中,所述阵列的串中的每一存储器胞元的漏极在源极线与位线之间串联耦合在一起(源极到漏极)。
通过通过选择耦合到特定存储器胞元的栅极的字线而激活特定存储器胞元的解码器存取NOR及NAND架构半导体存储器阵列两者。在NOR架构半导体存储器阵列中,一旦激活,所选择的存储器胞元便将其数据值放置于位线上,从而取决于编程特定胞元的状态而导致不同电流流动。在NAND架构半导体存储器阵列中,将高偏压电压施加到漏极侧选择门(SGD)线。按指定通过电压(例如,Vpass)驱动耦合到每一群组的未选择的存储器胞元的栅极的字线以操作每一群组的未所选择的存储器胞元作为传递晶体管(例如,以未受限于其所存储数据值的方式传递电流)。电流接着通过每一串联耦合的群组从源极线流动到位线,仅受限于每一群组的所选择的存储器胞元,从而将所选择的存储器胞元的当前经编码数据值放置于位线上。
可将NOR或NAND架构半导体存储器阵列中的每一快闪存储器胞元个别地或共同地编程到一个或数个编程状态。例如,单电平胞元(SLC)可表示两个编程状态(例如,1或0)中的一者,从而表示一个数据位。
然而,快闪存储器胞元还可表示两个以上编程状态中的一者,从而容许在不增加存储器胞元数目的情况下制造更高密度存储器,这是因为每一胞元可表示一个以上二进制数字(例如,一个以上位)。此类胞元可称为多状态存储器胞元、多数字胞元或多电平胞元(MLC)。在某些实例中,MLC可指代每胞元可存储两个数据位(例如,四个编程状态中的一者)的存储器胞元,三电平胞元(TLC)可指代每胞元可存储三个数据位(例如,八个编程状态中的一者)的存储器胞元,且四电平胞元(QLC)每胞元可存储四个数据位。MLC在本文中以其更广泛上下文使用以可指代每胞元可存储一个以上数据位(即,可表示两个以上编程状态)的任何存储器胞元。
传统存储器阵列是布置于半导体衬底的表面上的二维(2D)结构。为增加给定区域的存储器容量且减小成本,已减小个别存储器胞元的大小。然而,个别存储器胞元的大小减小及因此2D存储器阵列的存储器密度存在技术限制。作为响应,正在开发三维(3D)存储器结构(例如3D NAND架构半导体存储器装置)以进一步增加存储器密度且降低存储器成本。
此类3D NAND装置通常包含串联耦合(例如,漏极到源极)在靠近源极的一或多个源极侧选择门(SGS)与靠近位线的一或多个漏极侧选择门(SGD)之间的存储器胞元串。在实例中,SGS或SGD可包含一或多个场效晶体管(FET)或金属氧化物半导体(MOS)结构装置等。在一些实例中,所述串将垂直延伸穿过含有相应字线的多个垂直间隔层面。半导体结构(例如,多晶硅结构)可相邻于存储胞元串延伸以形成用于所述串的存储胞元的通道。在垂直串的实例中,多晶硅结构可呈垂直延伸支柱的形式。在一些实例中,串可经“折迭”且因此相对于U形支柱而布置。在其它实例中,多个垂直结构可彼此堆叠以形成存储胞元串的堆叠阵列。
存储器阵列或装置可组合在一起以形成存储器系统的存储卷,例如固态硬盘(SSD)、通用快闪存储(UFSTM)装置、多媒体卡(MMC)固态存储装置、嵌入式MMC装置(eMMCTM)等。SSD尤其可用作计算机的主存储装置,其在例如性能、大小、重量、耐用性、操作温度范围及功率消耗方面具有优于具有移动零件的传统硬盘驱动的优点。例如,SSD可具有减少搜索时间、延时或与磁盘驱动器(例如,机电等)相关联的其它延迟。SSD使用非易失性存储器胞元(例如快闪存储器胞元)以消除内部电池供应要求,因此容许驱动器更多样化且紧致。
SSD可包含数个存储器装置(包含数个裸片或逻辑单元(例如,逻辑单元号码或LUN))且可包含执行操作存储器装置或与外部系统介接所需的逻辑功能的一或多个处理器或其它控制器。此类SSD可包含一或多个快闪存储器裸片,包含数个存储器阵列及其上的外围电路系统。快闪存储器阵列可包含组织成数个物理页的数个存储器胞元块。在许多实例中,SSD还将包含DRAM或SRAM(或其它形式的存储器裸片或其它存储器结构)。SSD可从主机接收与存储器操作(例如在存储器装置与主机之间传送数据(例如,用户数据及相关联完整性数据,例如错误数据及地址数据等)的读取或写入操作或从存储器装置擦除数据的擦除操作)相关联的命令。
附图说明
在不必按比例绘制的图式中,相似数字在不同视图中可描述类似组件。具有不同字母后缀的相似数字可表示类似组件的不同例子。图式通常通过实例(但非限制性)说明本档案中论述的各种实施例。
图1说明包含存储器装置的环境的实例。
图2到3说明实例NAND架构半导体存储器阵列的示意图。
图4说明存储器模块的实例框图。
图5说明包含存储器阵列及存储器控制器且示范用于产生PUF值的技术的实例环境。
图6是展示可由存储器控制器执行以产生PUF值的过程流程的一个实例的流程图。
图7说明图5的环境的实例,其中存储器胞元的阈值电压的分布已衰减。
图8是展示可由存储器控制器执行以产生下一读取电平的过程流程的一个实例的流程图。
图9说明图5的环境的实例,其中重新编程存储器胞元。
图10是展示可由存储器控制器执行以重新编程存储器胞元以产生PUF值的过程流程的一个实例的流程图。
图11是说明可在其上实施一或多个实施例的机器的实例的框图。
具体实施方式
本文中描述的各种实例涉及用于使用NAND快闪阵列的存储器胞元产生密钥的系统及方法。密钥可为使用NAND快闪阵列导出的物理不可复制函数(PUF)。
在一些实例中,可期望使用PUF在存储卷上产生密钥,例如SSD、UFS、MMC、eMMC等。例如,出于安全目的,存储卷可使用密钥。一些存储卷接收使用密钥加密或以其它方式密码地标记的命令。如果命令未使用存储卷所预期的密码加密或标记,那么存储卷可拒绝执行命令。而且,在一些实例中,存储卷可使用密钥加密及/或解密所存储数据。
当存储单元利用密钥时,密钥存储于存储单元处及/或可存取到存储单元。将密钥提供到存储单元的一个实例方式是例如在产生存储单元期间注入外部密钥。所注入的密钥经存储于安全密钥数据库处的存储单元处。然而,注入外部密钥可不如其它布置安全,例如这是因为密钥数据库可易受未授权存取。
一些存储单元可经布置以使用PUF产生密钥。PUF是可基于主要半导体装置(例如存储器装置)的性质从所述主要半导体装置检测的独有数据值。例如,存储器及其它半导体装置的制造中的小过程变动可以其它方式导致类似半导体装置展现稍微不同的行为。此类小行为差异可经检测且用于产生PUF值。PUF值是从一或多个主要半导体组件的独有性质导出的数据。PUF值可用于例如产生密钥且产生随机或伪随机数。
本文中描述的各种实例使用来自NAND快闪阵列的数个存储器胞元作为主要半导体装置而产生PUF值。在一些实例中,存储器胞元包含NAND快闪阵列的块中的全部或大多数存储器胞元。存储器胞元具有阈值电压分布。NAND存储器胞元的阈值电压是施加到胞元的控制门的最低电压,其将导致胞元在其位线上传导电流。NAND存储器胞元的阈值电压取决于胞元上的电荷电平。例如,在许多NAND快闪存储器胞元中,将电荷添加到胞元增加阈值电压。
归因于制造期间的过程变动,不同存储器胞元以不同阈值电压对类似编程作出响应。例如,数个类似编程存储器胞元可展现阈值电压分布。存储器胞元可例如在NAND快闪阵列通电时及/或在编程之后进行类似编程,如本文中描述。
存储器控制器可通过在初始读取电平下读取数个存储器胞元以产生原始串而产生PUF值。初始读取电平可处于或接近分布的中值阈值电压,例如使得约一半的存储器胞元传回逻辑0且约一半的存储器胞元传回逻辑1。任选地使用散列算法压缩原始串以产生PUF值。PUF值可接着用作例如密钥、随机数及/或用于任何其它适合目的。
在一些实例中,数个存储器胞元上的阈值电压分布可随时间改变。例如,NAND存储器胞元的阈值可倾向于随时间减小,从而导致分布偏移。在一些情况中,分布还可在形状上改变,例如如果一些存储器胞元的阈值电压比其它存储器胞元的阈值电压偏移更多或更快。
存储器控制器可经配置以监测存储器胞元处的阈值电压分布的质量以检测及任选地校正分布的改变。在一些实例中,在从存储器胞元读取一原始串之后,存储器控制器经编程以确定原始串中的具有0的逻辑值的位的数目(Bit0)与原始串中的具有1的逻辑值的位的数目(Bit1)之间的差。如果Bit0与Bit1之间的差不大于阈值,那么分布可具有足够质量且存储器控制器可从原始串产生PUF值,如本文中描述。另一方面,如果Bit0与Bit1之间的差大于阈值,那么可指示读取电平不处于或约为中值阈值电压。存储器控制器可选择产生新原始串的新读取电平,其中Bit0与Bit1之间的差不大于阈值。新原始串接着用于产生PUF值。
在一些实例中,存储器控制器经配置以重新编程数个存储器胞元。此可在例如阈值电压分布已改变使得难以或不可能找到其中Bit0与Bit1之间的差不大于阈值的新读取电平的情况下发生。其还可在例如一些存储器胞元的阈值电压小于0的情况下发生。此可导致阈值电压分布的下界为负,如本文中更详细展示。重新编程存储器胞元可包含擦除NAND快闪阵列处的包含所述存储器胞元的块。在擦除之后,存储器控制器可将预定数目个编程脉冲提供到存储器胞元。将相同编程脉冲提供到存储器胞元导致新阈值电压分布。存储器控制器可基于新分布选择新读取电平且利用新读取电平产生PUF值,如本文中描述。
图1说明包含经配置以通过通信接口通信的主机装置105及存储器装置110的环境100的实例。主机装置105或存储器装置110可包含于各种产品150(例如物联网(IoT)装置(例如,冰箱或其它设施、传感器、电动机或致动器、移动通信装置、汽车、无人机等))中以支持产品150的处理、通信或控制。
存储器装置110包含存储器控制器115及包含例如数个个别存储器裸片(例如,三维(3D)NAND裸片的堆叠)的存储器阵列120。在3D架构半导体存储器技术中,堆叠垂直结构,从而增加层面、物理页的数目及因此存储器装置(例如,存储装置)的密度。在实例中,存储器装置110可为离散存储器或主机装置105的存储装置组件。在其它实例中,存储器装置110可为集成电路(例如,系统单芯片(SOC)等)的一部分、与主机装置105的一或多个其它组件堆叠或以其它方式包含在内。
一或多个通信接口可用于在存储器装置110与主机装置105的一或多个其它组件之间传送数据,例如串行高级技术附件(SATA)接口、外围组件互连快速(PCIe)接口、通用串行总线(USB)接口、通用快闪存储(UFS)接口、eMMCTM接口或一或多个其它连接器或接口。主机装置105可包含主机系统、电子装置、处理器、存储器卡读取器或在存储器装置110外部的一或多个其它电子装置。在一些实例中,主机105可为具有参考图11的机器1100论述的组件的一些部分或全部的机器。
电子装置(例如移动电子装置(例如,智能电话、平板计算机等)、用于汽车应用中的电子装置(例如,汽车传感器、控制单元、驾驶员辅助系统、乘客安全或舒适系统等)及因特网连接的设施或装置(例如,物联网(IoT)装置等))尤其取决于电子装置类型、使用环境、性能期望等而具有变化存储需求。
电子装置可分解成若干主组件:处理器(例如,中央处理单元(CPU)或其它主处理器);存储器(例如,一或多个易失性或非易失性随机存取存储器(RAM)存储器装置,例如动态RAM(DRAM)、移动或低功率双倍数据速率同步DRAM(DDR SDRAM)等);及存储装置(例如,非易失性存储器(NVM)装置,例如快闪存储器、只读存储器(ROM)、SSD、MMC或其它存储器卡结构或组合件等)。在某些实例中,电子装置可包含用户接口(例如,显示器、触摸屏幕、键盘、一或多个按钮等)、图形处理单元(GPU)、功率管理电路、基带处理器或一或多个收发器电路等。
存储器控制器115可从主机105接收指令且可与存储器阵列通信,例如将数据传送(例如,写入或擦除)到存储器阵列的存储器胞元、平面、子块、块或页中的一或多者或从其传送(例如,读取)数据。存储器控制器115尤其可包含电路系统或固件,包含一或多个组件或集成电路。例如,存储器控制器115可包含经配置以控制跨存储器阵列120的存取且提供主机105与存储器装置110之间的转译层的一或多个存储器控制单元、电路或组件。存储器控制器115可包含一或多个输入/输出(I/O)电路、线或接口以将数据传送到存储器阵列120或从存储器阵列120传送数据。存储器控制器115可包含存储器管理器125及阵列控制器135。
存储器管理器125尤其可包含电路系统或固件,例如与各种存储器管理功能相关联的数个组件或集成电路。出于本描述的目的,将在NAND存储器的上下文中描述实例存储器操作及管理功能。所属领域的技术人员将认识到,其它形式的非易失性存储器可具有类似存储器操作或管理功能。此类NAND管理功能包含损耗均衡(例如,废弃项目收集或回收)、错误检测或校正、块引退或一或多个其它存储器管理功能。存储器管理器125可将主机命令(例如,从主机接收的命令)剖析或格式化为装置命令(例如,与存储器阵列等的操作相关联的命令等)或产生阵列控制器135或存储器装置110的一或多个其它组件的装置命令(例如,完成各种存储器管理功能)。
存储器管理器125可包含一组管理表130,所述一组管理表130经配置以维持与存储器装置110的一或多个组件相关联的各种信息(例如,与耦合到存储器控制器115的存储器阵列或一或多个存储器胞元相关联的各种信息)。例如,管理表130可包含关于耦合到存储器控制器115的一或多个存储器胞元块的块龄(block age)、块擦除计数、错误历史或一或多个错误计数(例如,写入操作错误计数、读取位错误计数、读取操作错误计数、擦除错误计数等)的信息。在某些实例中,如果一或多个错误计数的所检测错误数目高于阈值,那么位错误可称为不可校正位错误。管理表130尤其可维持可校正或不可校正位错误的计数。
阵列控制器135尤其可包含经配置以控制与将数据写入到耦合到存储器控制器115的存储器装置110的一或多个存储器胞元、从所述一或多个存储器胞元读取数据或擦除所述一或多个存储器胞元相关联的存储器操作的电路系统或组件。存储器操作可基于例如从主机105接收或由存储器管理器125在内部产生(例如,与损耗均衡、错误检测或校正等相关联)的主机命令。
阵列控制器135可包含错误校正码(ECC)组件140,所述错误校正码(ECC)组件140尤其可包含ECC引擎或经配置以检测或校正与将数据写入到耦合到存储器控制器115的存储器装置110的一或多个存储器胞元或从所述一或多个存储器胞元读取数据相关联的错误其它电路系统。存储器控制器115可经配置以主动地检测与数据的各种操作或存储相关联的错误发生(例如,位错误、操作错误等)且从错误发生恢复,同时维持在主机105与存储器装置110之间传送的数据的完整性,或维持所存储数据的完整性(例如,使用冗余RAID存储等),且可移除(例如,引退)故障存储器资源(例如,存储器胞元、存储器阵列、页、块等)以防止未来错误。
存储器阵列120可包含布置于例如数个装置、平面、子块、块或页中的若干存储器胞元。作为一个实例,48GB TLC NAND存储器装置可包含每页18,592个字节(B)(16,384+2208个字节)的数据,每块1536个页,每平面548个块及每装置4个或4个以上平面。作为另一实例,32GB MLC存储器装置(每胞元存储两个数据位(即,4个可编程逻辑状态))可包含每页18,592个字节(B)(16,384+2208个字节)的数据,每块1024个页,每平面548个块及每装置4个平面,但与对应TLC存储器装置相比,具有一半所需写入时间及两倍编程/擦除(P/E)循环。其它实例可包含其它数目或布置。在一些实例中,存储器装置或其一部分可选择性地在SLC模式或所要MLC模式(例如TLC、QLC等)中操作。
在操作中,数据通常以页写入到NAND存储器装置110或从NAND存储器装置110读取且以块擦除。然而,可如所需那样对更大或更小存储器胞元群组执行一或多个存储器操作(例如,读取、写入、擦除等)。NAND存储器装置110的数据传送大小通常称为页,而主机的数据传送大小通常称为区段。
虽然一页数据可包含数个字节的用户数据(例如,包含数个数据区段的数据有效负载)及其对应元数据,但所述页的大小通常仅指用于存储用户数据的字节数目。作为实例,具有4KB的页大小的一页数据可包含4KB用户数据(例如,假设512B的区段大小的8个区段)以及对应于用户数据的数个字节(例如,32B、54B、224B等)的元数据,例如完整性数据(例如,错误检测或校正码数据)、地址数据(例如,逻辑地址数据等)或与用户数据相关联其它元数据。
不同类型的存储器胞元或存储器阵列120可提供不同页大小或可需要与其相关联的不同量的元数据。例如,不同存储器装置类型可具有不同位错误率,此可导致确保所述页数据的完整性需要不同量的元数据(例如,与具有较低位错误率的存储器装置相比,具有较高位错误率的存储器装置可需要更多字节的错误校正码数据)。作为实例,多电平胞元(MLC)NAND快闪装置可具有高于对应单电平胞元(SLC)NAND快闪装置的位错误率。因而,与对应SLC装置相比,MLC装置可需要针对错误数据的更多元数据字节。
存储器控制器115及存储器阵列120可经配置以产生PUF值160,如本文中描述。例如,存储器阵列120的数个存储器胞元(例如,例如存储器胞元的一个块)可展现阈值电压分布162。存储器控制器115可读取数个存储器胞元以产生原始串。例如,可利用如本文中描述的散列函数压缩原始串以产生PUF值160。
图2说明3D NAND架构半导体存储器阵列200的实例示意图,其包含组织成块(例如,块A 201A、块B 201B等)及子块(例如,子块A0 201A0、子块An 201An、子块B0 201B0、子块Bn 201Bn等)的数个存储器胞元串(例如,第一到第三A0存储器串205A0到207A0、第一到第三An存储器串205An到207An、第一到第三B0存储器串205B0到207B0、第一到第三Bn存储器串205Bn到207Bn等)。存储器阵列200表示通常将在存储器装置的块、装置或其它单元中发现的较大数目个类似结构的一部分。
每一存储器胞元串包含在Z方向上(源极到漏极)堆叠于源极线(SRC)235或源极侧选择门(SGS)(例如,第一到第三A0 SGS 231A0到233A0、第一到第三An SGS 231An到233An、第一到第三B0 SGS 231B0到233B0、第一到第三Bn SGS 231Bn到233Bn等)与漏极侧选择门(SGD)(例如,第一到第三A0 SGD 226A0到228A0、第一到第三An SGD 226An到228An、第一到第三B0SGD 226B0到228B0、第一到第三Bn SGD 226Bn到228Bn等)之间的电荷存储晶体管(例如,浮动门晶体管、电荷捕捉结构等)的数个层面。3D存储器阵列中的每一存储器胞元串可沿X方向布置为数据线(例如,位线BL0到BL2 220到222)且沿Y方向布置为物理页。
在物理页内,每一层面表示存储器胞元行且每一存储器胞元串表示列。子块可包含一或多个物理页。块可包含数个(例如,128个、256个、384个等)子块(或物理页)。尽管本文中说明为具有两个块,每一块具有两个子块,每一子块具有单个物理页,每一物理页具有三个存储器胞元串且每一串具有8个存储器胞元层面,但在其它实例中,存储器阵列200可包含更多或更少块、子块、物理页、存储器胞元串、存储器胞元或层面。例如,每一存储器胞元串可视需要包含更多或更少(例如,16个、32个、64个、128个等)层面以及电荷存储晶体管(例如,选择门、数据线等)上方或下方的一或多个额外半导体材料层面。作为实例,48GBTLC NAND存储器装置可包含每页18,592个字节(B)(16,384+2208个字节)的数据,每块1536个页,每平面548个块及每装置4个或4个以上平面。
存储器阵列200中的每一存储器胞元包含耦合到(例如,电或以其它方式可操作地连接到)存取线(例如,字线WL00到WL70 210A到217A、WL01到WL71 210B到217B等)的控制门,其视需要共同跨特定层面或层面的一部分耦合控制门。可使用相应存取线存取或控制3D存储器阵列中的特定层面及因此串中的特定存储器胞元。可使用各种选择线存取选择门群组。例如,可使用A0 SGD线SGDA0 225A0存取第一到第三A0 SGD 226A0到228A0,可使用An SGD线SGDAn 225An存取第一到第三An SGD 226An到228An,可使用B0 SGD线SGDB0 225B0存取第一到第三B0 SGD 226B0到228B0,且可使用Bn SGD线SGDBn 225Bn存取第一到第三Bn SGD 226Bn到228Bn。可使用栅极选择线SGS0 230A存取第一到第三A0 SGS 231A0到233A0及第一到第三An SGS 231An到233An,且可使用一栅极选择线SGS1 230B存取第一到第三B0 SGS 231B0到233B0及第一到第三Bn SGS 231Bn到233Bn
在实例中,存储器阵列200可包含数个半导体材料层级(例如,多晶硅等),其经配置以耦合每一存储器胞元的控制门或阵列的相应层面的选择门(或控制门或选择门的一部分)。可使用位线与选择门等的组合存取、选择或控制阵列中的特定存储器胞元串,且可使用一或多个存取线(例如,字线)存取、选择或控制特定串中的一或多个层面处的特定存储器胞元。
图3说明NAND架构半导体存储器阵列300的一部分的实例示意图,其包含布置成串(例如,第一串305到第三串307)及层面(例如,说明为相应字线WL0到WL7 310到317、漏极侧选择门(SGD)线325、源极侧选择门(SGS)线330等)的二维阵列的多个存储器胞元302及感测放大器或装置360。例如,存储器阵列300可说明例如图2中说明的3D NAND架构半导体存储器装置的存储器胞元的一个物理页的一部分的实例示意图。
每一存储器胞元串使用相应源极侧选择门(SGS)(例如,第一到第三SGS 331到333)耦合到源极线(SRC)335且使用相应漏极侧选择门(SGD)(例如,第一到第三SGD 326到328)耦合到相应数据线(例如,第一到第三位线BL0到BL2 320到322)。尽管在图3的实例中说明为具有8个层面(例如,使用字线WL0到WL7 310到317)及三个数据线(BL0到BL2 326到328),但其它实例可视需要包含具有更多或更少层面或数据线的存储器胞元串。
在NAND架构半导体存储器阵列(例如实例存储器阵列300)中,可通过感测与含有所选择的存储器胞元的特定数据线相关联的电流或电压变动而存取所选择的存储器胞元302的状态。可使用一或多个驱动器(例如,通过控制电路、一或多个处理器、数字逻辑等)存取存储器阵列300。在实例中,一或多个驱动器可通过取决于需要在特定存储器胞元或存储器胞元集合上执行的操作类型将特定电势驱动到一或多个数据线(例如,位线BL0到BL2)、存取线(例如,字线WL0到WL7)或选择门而激活特定存储器胞元或存储器胞元集合。
为将数据编程或写入到存储器胞元,可将编程电压(Vpgm)(例如,一或多个编程脉冲等)施加到所选择的字线(例如,WL4)及因此耦合到所选择的字线的每一存储器胞元的控制门(例如,耦合到WL4的存储器胞元的第一到第三控制门341到343)。编程脉冲可例如在15V处或其附近开始且在某些实例中可在编程脉冲施加期间在量值上增加。在将编程电压施加到所选择的字线时,可将电势(例如接地电势(例如,Vss))施加到标定用于编程的存储器胞元的数据线(例如,位线)及衬底(及因此源极与漏极之间的通道),从而导致从通道到标定存储器胞元的浮动门的电荷转移(例如,直接注射或福勒-诺得汉(Fowler-Nordheim,FN)穿隧等)。
相比之下,可将通过电压(Vpass)施加到具有未标定用于编程的存储器胞元的一或多个字线或可将抑制电压(例如,Vcc)施加到具有未标定用于编程的存储器胞元的数据线(例如,位线)以例如抑制电荷从通道转移到此类非标定存储器胞元的浮动门。通过电压可例如取决于所施加通过电压标定用于编程的字线的近接性而变化。抑制电压可包含供应电压(Vcc),例如来自外部源或供应器(例如,电池、AC/DC转换器等)的相对于接地电势(例如,Vss)的电压。
作为实例,如果将编程电压(例如,15V或更大)施加到特定字线(例如WL4),那么可将10V的通过电压施加到一或多个其它字线(例如WL3、WL5等)以抑制非标定存储器胞元的编程或留存存储于未标定用于编程的此类存储器胞元上之值。随着所施加编程电压与非标定存储器胞元之间的距离增加,避免编程非标定存储器胞元所需的通过电压可减小。例如,在将15V的编程电压施加到WL4的情况下,可将10V的通过电压施加到WL3及WL5,可将8V的通过电压施加到WL2及WL6,可将7V的通过电压施加到WL1及WL7等。在其它实例中,通过电压或字线数目等可更高或更低或更多或更少。
耦合到数据线(例如,第一、第二或第三位线(BL0到BL2)320到322)中的一或多者的感测放大器360可通过感测特定数据线上的电压或电流而检测相应数据线中的每一存储器胞元的状态。
在一或多个编程脉冲(例如,Vpgm)之施加之间,可执行验证操作以确定所选择的存储器胞元是否已达到其预期编程状态。如果所选择的存储器胞元已达到其预期编程状态,那么可抑制其进一步编程。如果所选择的存储器胞元尚未达到其预期编程状态,那么可施加额外编程脉冲。如果所选择的存储器胞元在特定数目个(例如,最大数目个)编程脉冲之后尚未达到其预期编程状态,那么所选择的存储器胞元或与此所选择的存储器胞元相关联的串、块或页可标记为有缺陷。
为擦除存储器胞元或存储器胞元群组(例如,通常在块或子块中执行擦除),可(例如,使用一或多个位线、选择门等)将擦除电压(Vers)(例如,通常Vpgm)施加到标定用于擦除的存储器胞元的衬底(及因此源极与漏极之间的通道),同时将标定存储器胞元的字线保持在电势(例如接地电势(例如,Vss)),从而导致从标定存储器胞元的浮动门到通道的电荷转移(例如,直接注射或福勒-诺得汉(FN)穿隧等)。
图4说明存储器装置400的实例框图,其包含具有多个存储器胞元404的存储器阵列402及用以提供与存储器阵列402的通信或在存储器阵列402上执行一或多个存储器操作的一或多个电路或组件。存储器装置400可包含行解码器412、列解码器414、感测放大器420、页缓冲器422、选择器424、输入/输出(I/O)电路426及存储器控制单元430。
存储器阵列402的存储器胞元404可经布置于块(例如第一块402A及第二块402B)中。每一块可包含子块。例如,第一块402A可包含第一子块402A0及第二子块402An,且第二块402B可包含第一子块402B0及第二子块402Bn。每一子块可包含数个物理页,每一页包含数个存储器胞元404。尽管本文中说明为具有两个块,每一块具有两个子块,且每一子块具有数个存储器胞元404,但在其它实例中,存储器阵列402可包含更多或更少块、子块、存储器胞元等。在其它实例中,存储器胞元404可经布置于数个行、列、页、子块、块等中且使用例如存取线406、第一数据线410或一或多个选择门、源极线等进行存取。
存储器控制单元430可根据接收于控制线432上的一或多个信号或指令控制存储器装置400的存储器操作,包含例如指示所要操作(例如,写入、读取、擦除等)的一或多个时钟信号或控制信号或接收于一或多个地址线416上的地址信号(A0到AX)。存储器装置400外部的一或多个装置可控制控制线432上的控制信号或地址线416上的地址信号的值。存储器装置400外部的装置的实例可包含(但不限于)主机、存储器控制器、处理器或图4中未说明的一或多个电路或组件。
存储器装置400可使用存取线406及第一数据线410以将数据传送(例如,写入或擦除)到存储器胞元404中的一或多者或从存储器胞元404中的一或多者传送(例如,读取)数据。行解码器412及列解码器414可从地址线416接收且解码地址信号(A0到AX),可确定待存取存储器胞元404的哪一者,且可将信号提供到例如上文描述的存取线406(例如,多个字线(WL0到WLm)中的一或多者)或第一数据线410(例如,多个位线(BL0到BLn)中的一或多者)中的一或多者。
存储器装置400可包含感测电路系统(例如感测放大器420),所述感测电路系统经配置以使用第一数据线410确定存储器胞元404上的数据值(例如,读取)或确定待写入到存储器胞元404的数据值。例如,在所选择的存储器胞元404串中,感测放大器420中的一或多者可响应于在存储器阵列402中流动通过所选择的串到数据线410的读取电流而读取所选择的存储器胞元404中的逻辑电平。
存储器装置400外部的一或多个装置可使用I/O线(DQ0到DQN)408、地址线416(A0到AX)或控制线432与存储器装置400通信。输入/输出(I/O)电路426可根据例如控制线432及地址线416使用I/O线408将数据值传送入或传送出存储器装置400,例如传送入或传送出页缓冲器422或存储器阵列402。页缓冲器422可在从存储器装置400外部的一或多个装置接收的数据经编程到存储器阵列402的相对部分中之前存储数据,或可在从存储器阵列402读取的数据经传输到存储器装置400外部的一或多个装置之前存储数据。
列解码器414可将地址信号(A0到AX)接收且解码为一或多个列选择信号(CSEL1到CSELn)。选择器424(例如,选择电路)可接收列选择信号(CSEL1到CSELn)且在页缓冲器422中选择表示待从存储器胞元404读取或待编程到存储器胞元404中的数据值的数据。可使用第二数据线418在页缓冲器422与I/Q电路426之间传送所选择的数据。
存储器控制单元430可从外部源或供应器(例如,内部或外部电池、AC/DC转换器等)接收正及负供应信号(例如供应电压(Vcc)434及负供应电压(Vss)436(例如,接地电势))。在某些实例中,存储器控制单元430可包含调节器428以在内部提供正或负供应信号。
图5说明包含存储器阵列520及存储器控制器515且示范用于产生PUF值的技术的实例环境500。存储器阵列520是包括数个块501A、501B、501C的NAND存储器阵列。每一块501A、501B、501C包含数个存储器胞元。存储器控制器515使用存储器胞元(在此实例中,来自块501A)产生PUF值524。在一些实例中,块501A的全部或大多数存储器胞元用于产生PUF值524。
图5还展示曲线图526,其展示用于产生PUF值524的数个存储器胞元的阈值电压分布528。在包含指示存储器胞元阈值电压的水平或x轴及指示胞元数目的垂直或y轴的一组轴上展示分布528。分布528的下界由VTHL指示且分布528的上界由VTHH指示。分布528的范围由ΔVTS指示。初始读取电平由VRL指示。如展示,初始读取电平VRL大致处于分布528的中值阈值电压。因此,当在初始读取电平VRL下读取存储器胞元时,约一半所得原始串将具有1的逻辑值(Bit1)且约一半将具有0的逻辑值(Bit0)。
存储器控制器515包含散列压缩器522。散列压缩器522应用密码函数(例如散列函数)以包括原始串且产生PUF值524。例如,原始串可包含针对每一读取存储器胞元的一个位。在一些实施方案中,此可导致可包含例如数百个位、数千个位、数万个位等的原始串。散列压缩器522可为或包含硬件或软件的任何适合组合以应用密码函数以减少原始串。可使用任何适合密码函数,例如例如SHA256/512。在一些实例中,散列压缩器522经布置以产生预定大小的PUF值524。例如,PUF值524可包含34个字节、64个字节或任何其它适合值。当将PUF值524用作密钥时,例如64字节PUF值524可适用于椭圆曲线迪菲赫尔曼(Eliptic CurveDiffie Hellman)(ECDH)及/或曲线数字签名算法(ECDSA)。而且,32字节PUF值524可适用于一些对称加密算法。
图6是展示可由存储器控制器515执行以产生PUF值524的过程流程600的一个实例的流程图。在操作602,存储器控制器515读取块501A处的数个存储器胞元。读取使用由VRL指示的初始读取电平且产生初始原始串。在操作604,存储器控制器确定初始原始串的Bit0与Bit1之间的差是否大于阈值。此由下文方程式[1]说明:
|Bit0-Bit1|>N [1]
在方程式[1]中,阈值由N指示。阈值N可为例如原始串中的位总数的预定百分比。可使用任何适合百分比。在一些实例中,N是在原始串中的位总数的0%到20%之间。在一些实例中,N是原始串中的位总数的5%。在一些实例中,N是原始串中的位总数的10%。如果Bit0与Bit1之间的差大于阈值,那么存储器控制器515可在操作606校正分布。此可包含例如选择新读取电平及/或擦除且重新编程存储器胞元。本文中例如关于图7到10描述描述分布校正的实例。如果在操作606的分布校正成功,那么存储器控制器515可返回到操作602。
如果Bit0与Bit1之间的差不大于阈值,那么存储器控制器515可在操作608使用散列压缩器522压缩初始原始串以产生PUF值524。在操作610,存储器控制器522传回PUF值524。PUF值524可用作例如密钥、随机数及/或用于任何其它适合目的。
在任选操作612,存储器控制器515将PUF值524传送到外部装置。例如,当将PUF值524用作对称密钥时,可期望将PUF值524提供到将使用PUF值524的另一装置以与包含存储器控制器515及阵列520的存储器装置通信。任何适合技术可用于传送PUF值524,包含例如密钥交换算法,例如Diffie-Hellman。
在一些实例中,如果Bit0与Bit1之间的差大于阈值,那么存储器控制器515可尝试找到下一读取电平,使得Bit0与Bit1之间的差不大于阈值。图7说明图5的环境500的实例,其中分布528已衰减。在图7的实例中,初始读取电平VRLI偏移到下一读取电平VRLN。在下一读取电平下,Bit0与Bit1之间的差可不大于阈值。
存储器控制器515可以任何适合方式(例如,包含使用二进制搜索方法)产生下一读取电平VRLN。图8是展示可由存储器控制器515执行以产生下一读取电平VRLN的过程流程800的一个实例的流程图。在操作802,存储器控制器515确定分布528的下界。此可以任何适合方式确定。例如,存储器控制器515可从初始读取电平反复地降低读取电平直到全部(或多于阈值数目个)存储器胞元不传导电流。
在操作804,存储器控制器515确定分布528的下界是否小于0。如果是,那么存储器控制器515在操作806重新编程存储器胞元。本文中关于图9及10描述重新编程存储器胞元的实例方式。
如果分布的下界不小于0,那么存储器控制器515在操作808选择候选读取电平。在操作808选择的候选读取电平可小于先前读取电平。例如,由于存储器胞元的阈值电压可倾向于随时间减小,所以候选读取电平可类似地降低。在操作810,存储器控制器515在候选读取电平下读取存储器胞元以产生候选原始串。存储器控制器515确定候选原始串中的Bit0与Bit1之间的差是否不大于阈值。如果是,那么将候选读取电平用作下一读取电平以产生PUF值。例如,存储器装置515可使用候选原始串产生PUF值524及/或使用下一读取电平产生一或多个额外原始串且使用所述原始串产生PUV值524。
如果候选原始串具有大于阈值的Bit0与Bit1之间的差,那么存储器控制器515在操作814确定Bit0与Bit1之间的差是否比最近读取电平(例如,初始读取电平及/或先前候选读取电平)的结果更接近于阈值。如果是,那么存储器控制器515在操作808选择低于先前候选读取电平的新候选读取电平。如果否,那么存储器控制器515在操作816选择大于先前候选读取电平的下一候选读取电平。
在其中分布528的下界小于0的实例中及/或如果存储器控制器515以其它方式无法找到满足上文方程式[1]的下一读取电平,那么可重新编程存储器胞元。图9说明图5的环境500的实例,其中重新编程存储器胞元。在图5中,分布528A具有小于0的下界。存储器控制器515可擦除存储器胞元。
图10是展示可由存储器控制器515执行以重新编程存储器胞元以产生PUF值的过程流程1000的一个实例的流程图。在操作1002,存储器控制器515擦除存储器胞元。在操作1004,存储器控制器515将一个或预定数目个编程脉冲提供到存储器胞元。在操作1006,存储器控制器515确定存储器胞元的当前分布是否具有大于阈值的下界。如果否,那么存储器控制器515可在操作1004施加额外一或多个编程脉冲。例如,如果在操作1004之后,分布看似具有低于阈值下界VTHL的下界的分布528B,那么存储器控制器515可返回到操作1004。另一方面,如果分布看似具有大于阈值下界VTHL的下界的分布528C,那么存储器控制可在操作1008选择新读取电平。例如可如关于图8描述般确定新读取电平。
图11说明可在其上执行本文中论述的技术(例如,方法)中的任何一或多者的实例机器1100的框图。在替代实施例中,机器1100可作为独立装置操作或可连接(例如,联网)到其它机器。在联网部署中,机器1100可以服务器机器、客户端机器或服务器-客户端网络环境中的两者的身份操作。在实例中,机器1100可充当同级间(P2P)(或其它分布式)网络环境中的同级机器。机器1100可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络设备、IoT装置、汽车系统或能够执行指定由所述机器采取的行动的指令(循序或以其它方式)的任何机器。此外,虽然仅说明单个机器,但术语“机器”还应被视为包含个别或联合地执行一组(或多组)指令以执行本文中论述的方法(例如云端计算、软件即服务(SaaS)、其它计算机丛集配置)中的任何一或多者的任何机器集合。
如本文中描述,实例可包含逻辑、组件、装置、封装或机构或可由其操作。电路系统系在包含硬件(例如,简单电路、闸、逻辑等)的有形实体中实施的电路集合(例如,一组电路)。电路系统成员可随时间灵活变化且具有基础硬件可变性。电路系统包含可在操作时单独或组合地执行特定任务的部件。在实例中,电路系统的硬件可经不变地设计以实行特定操作(例如,硬接线)。在实例中,电路系统的硬件可包含可变地连接的物理组件(例如,执行单元、晶体管、简单电路等),其包含经物理地修改(例如,磁性地、电气地、可移动放置不变质量颗粒等)以编码特定操作的指令的计算机可读媒体。在连接物理组件时,硬件成分的基础电性质例如从绝缘体改变为导体或反之亦然。指令使参与硬件(例如,执行单元或加载机构)能够经由可变连接在硬件中产生电路系统的部件以在操作时实行特定任务的部分。因此,在装置正操作时,计算机可读媒体通信地耦合到电路系统其它组件。在实例中,可在一个以上电路系统的一个以上部件中使用物理组件的任一者。例如,在操作下,执行单元可在一个时间点用于第一电路系统的第一电路中且在不同时间由第一电路系统中的第二电路或第二电路系统中的第三电路重新使用。
机器(例如,计算机系统)1100(例如,主机装置105、存储器装置110等)可包含硬件处理器1102(例如,中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核心或其任何组合,例如存储器控制器115等)、主存储器1104及静态存储器第N y 1106,其一些或全部可经由互连(例如,总线)1108彼此通信。机器1100可进一步包含显示器单元1110、字母数字输入装置1112(例如,键盘)及用户接口(UI)导航装置1114(例如,鼠标)。在实例中,显示器单元1110、输入装置1112及UI导航装置1114可为触摸屏幕显示器。机器1100可另外包含存储装置(例如,驱动单元)1116、信号产生装置1118(例如,扬声器)、网络接口装置1120及一或多个传感器1117(例如全球定位系统(GPS)传感器、指南针、加速度计或其它传感器)。机器1100可包含输出控制器1128,例如串行(例如,通用串行总线(USB))、并行或其它有线或无线(例如,红外线(IR)、近场通信(NFC)等)连接以通信或控制一或多个外围装置(例如,打印机、读卡器等)。
存储装置1116可包含非暂时性机器可读媒体1122,其上存储体现本文中描述的技术或功能中的任何一或多者或由其利用的一或多组数据结构或指令1124(例如,软件)。指令1124还可在其由机器1100执行的期间完全或至少部分驻留于主存储器1104内、静态存储器1106内或硬件处理器1102内。在实例中,硬件处理器1102、主存储器1104、静态存储器1106或存储装置1116中的一者或任何组合可构成机器可读媒体1122。
虽然机器可读媒体1122经说明为单个媒体,但术语“机器可读媒体”可包含经配置以存储一或多个指令1124的单个媒体或多个媒体(例如,集中式或分布式数据库或相关联高速缓冲存储器及服务器)。
术语“机器可读媒体”可包含能够存储、编码或载送由机器1100执行且导致机器1100执行本公开的技术中的任何一或多者的指令或能够存储、编码或载送由此类指令使用或与此类指令相关联的数据结构的任何媒体。非限制性机器可读媒体实例可包含固态存储器及光学及磁性媒体。在实例中,集结型(massed)机器可读媒体包括具有拥有不变(例如,静止)质量的多个颗粒的机器可读媒体。因此,集结型机器可读媒体并非暂时性传播信号。集结型机器可读媒体的特定实例可包含:非易失性存储器,例如半导体存储器装置(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))及快闪存储器装置;磁盘,例如内置硬盘及可抽换式磁盘;磁光盘;及CD-ROM及DVD-ROM光盘。
指令1124(例如,软件、程序、操作系统(OS)等)或其它数据存储于存储装置1121上,可由存储器1104存取以供处理器1102使用。存储器1104(例如,DRAM)通常是快速但易失性的且因此是类型与存储装置1121(例如,SSD)不同的存储器,所述存储装置1121适合于长期存储,包含在“关闭”状态中时。由用户或机器1100使用的指令1124或数据通常加载在存储器1104中以供处理器1102使用。当存储器1104充满时,可分配来自存储装置1121的虚空间以补充存储器1104;然而,由于存储1121装置通常慢于存储器1104且写入速度通常比读取速度至少慢两倍,所以虚拟存储器的使用可归因于存储装置延时而(与存储器1104(例如,DRAM)相比)大幅减低用户体验。此外,将存储装置1121用于虚拟存储器可大幅减少存储装置1121的可使用寿命。
与虚拟存储器相比,虚拟存储器压缩(例如,
Figure BDA0003185884280000171
核心特征“ZRAM”)使用存储器的部分作为压缩块存储器以避免到存储装置1121的传呼。传呼发生在压缩块中直到有必要将此数据写入到存储装置1121。虚拟存储器压缩增加存储器1104的可用大小,同时减少存储装置1121上的损耗。
针对移动电子装置优化的存储装置或移动存储器传统地包含MMC固态存储装置(例如,微型安全数字(microSDTM)卡等)。MMC装置包含与主机装置的数个并行接口(例如,8位并行接口),且通常可为从主机装置移除及与主机装置分离的组件。相比之下,eMMCTM装置经附接到电路板且被视为主机装置的组件,其具有与基于串行ATATM(串行AT(高级技术)附件或SATA)的SSD装置相媲美的读取速度。然而,对于移动装置性能的需求持续增加,例如完全实现虚拟或扩增实境装置、利用增加网络速度等。响应于此需求,存储装置已从并行通信接口转换为串行通信接口。通用快闪存储(UFS)装置(包含控制器及固件)使用具有专用读取/写入路径的低电压差分信令(LVDS)串行接口与主机装置通信,从而进一步推进更大读取/写入速度。
可进一步利用数个传送协议(例如,帧延迟、因特网协议(IP)、传输控制协议(TCP)、用户数据分组协议(UDP)、超文本传送协议(HTTP)等)的任一者经由网络接口装置1120使用传输媒体通过通信网路1126传输或接收指令1124。实例通信网路可包含局域网络(LAN)、广域网(WAN)、分组数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、简易老式电话(POTS)网络及无线数据网络(例如,称为
Figure BDA0003185884280000181
的电机电子工程师学会(IEEE)802.11标准系列、称为
Figure BDA0003185884280000182
的IEEE 802.16标准系列)、IEEE 802.15.4标准系列、同级间(P2P)网络等。在实例中,网络接口装置1120可包含一或多个物理插孔(例如,以太网络、同轴或电话插孔)或一或多个天线以连接到通信网路1126。在实例中,网络接口装置1120可包含多个天线以使用单输入多输出(SIMO)、多输入多输出(MIMO)或多输入单输出(MISO)技术的至少一者进行无线通信。术语“传输媒体”应被视为包含能够存储、编码或载送由机器1100执行的指令的任何无形媒体,且包含数字或模拟通信信号或其它无形媒体以促进此软件的通信。
上文的实施方式包含对随附图式(其形成实施方式的一部分)的参考。图式通过说明展示其中可实践本发明的特定实施例。此类实施例在本文中也称为“实例”。此类实例可包含除展示或描述的元件以外的元件。然而,本发明者还预期其中仅提供所展示或描述的所述元件的实例。此外,本发明者还预期相对于特定实例(或其一或多个方面)或相对于在本文中展示或描述其它实例(或其一或多个方面)使用所展示或描述的所述元件(或其一或多个方面)的任何组合或排列的实例。
在此档案中,使用术语“一(a或an)”(如在专利档案中常见)以包含一个或一个以上,其独立于“至少一个”或“一或多个”的任何其它例子或用法。在此档案中,除非另有指示,否则术语“或”用于指代非穷举性或使得“A或B”可包含“A但非B”、“B但非A”及“A及B”。在所附权利要求书中,术语“包含”及“其中”是用作相应术语“包括”及“其中”的通俗英文等效术语。而且,在下列权利要求书中,术语“包含”及“包括”是开放式的,即,包含除在此术语之后列出的元件以外的元件的系统、装置、物品或过程仍视为落入所述权利要求书的范围内。此外,在下列权利要求书中,术语“第一”、“第二”及“第三”等仅用作标记,且不希望对其对象强加数值要求。
在各种实施例中,本文中描述的组件、控制器、处理器、单元、引擎或表可尤其包含存储于物理装置上的物理电路系统或固件。如本文中使用,“处理器”意味着任何类型的计算电路,例如(但不限于)微处理器、微控制器、图形处理器、数字信号处理器(DSP)或任何其它类型的处理器或处理电路(包含处理器或多核心装置的群组)。
无论衬底在任何时间点的实际定向如何,如此档案中使用的术语“水平”被定义为平行于所述衬底的常规平面或表面(例如位于晶片或裸片下方)的平面。术语“垂直”指代垂直于如上文定义的水平的方向。无论衬底的定向如何,介词(例如“在……上”、“在……上方”及“在……下方”)关于常规平面或表面在衬底的顶部或曝露表面上而定义;且同时“在……上”希望暗示一个结构相对于所述一个结构位于其“上”的另一结构的直接接触(无相反的表达指示);术语“在……上方”及“在……下方”明确希望识别结构(或层、特征等)的相对放置,其明确包含(但不限于)经识别结构之间的直接接触,除非特别如此识别。类似地,术语“在……上方”及“在……下方”不限于水平定向,这是因为如果结构在某时间点是所论述构造的最外部分,那么所述结构可“在”参考结构“上方”,即使此结构相对于参考结构垂直延伸而非在水平定向上延伸。
术语“晶片”及“衬底”在本文中大体上用于指代其上形成集成电路的任何结构且还指代在集成电路制造的各种阶段期间的此类结构。因此,并未以限制意义获得下列实施方式,且仅通过所附权利要求书连同此类权利要求书所授权的等效物的全部范围定义各种实施例的范围。
根据本公开且在本文中描述的各种实施例包含利用垂直存储器胞元结构的存储器(例如,存储器胞元的NAND串)。如本文中使用,方向形容词将被视为相对于其上形成存储器胞元的衬底的表面(即,垂直结构将被视为远离于衬底表面延伸,垂直结构的底端将被视为最靠近衬底表面的端部且垂直结构的顶端将被视为最远离于衬底表面的端部)。
如本文中使用,除非另有指示,否则方向形容词(例如水平、垂直、法向、平行、垂直等)可指代相对定向且不希望要求严格遵守特定几何性质。例如,如本文中使用,垂直结构不必严格垂直于衬底的表面,而可代替地大体上垂直于衬底的表面,且可与衬底的表面形成锐角(例如,介于60度到120度之间等)。
在本文中描述的一些实施例中,可将不同掺杂配置应用于源极侧选择门(SGS)、控制门及漏极侧选择门(SGD),在此实例中,其每一者可由多晶硅形成或至少包含多晶硅,结果是使得此类层(例如,多晶硅等)在曝露到蚀刻溶液时可具有不同蚀刻速率。例如,在3D半导体装置中形成单块柱的过程中,SGS及控制门可形成凹槽,而SGD可保持较少凹陷或甚至不凹陷。此类掺杂配置可因此实现通过使用蚀刻溶液(例如,四甲基氢氧化铵(TMCH))而选择性地蚀刻到3D半导体装置中的相异层(例如,SGS、控制门及SGD)中。
如本文中使用,操作存储器胞元包含从存储器胞元读取、写入到或擦除存储器胞元。将存储器胞元置于预期状态中的操作在本文中称为“编程”,且可包含写入到存储器胞元或从存储器胞元擦除两者(例如,存储器胞元可经编程到擦除状态)。
根据本公开的一或多个实施例,定位于存储器装置内部或外部的存储器控制器(例如,处理器、控制器、固件等)能够确定(例如,选择、设定、调整、计算、改变、清除、传送、调适、导出、定义、利用、修改、应用等)损耗循环的数量或损耗状态(例如,记录损耗循环、在存储器装置操作发生时计数所述操作、跟踪其起始的存储器装置操作、评估对应于损耗状态的存储器装置特性等)。
根据本公开的一或多个实施例,存储器存取装置可经配置以在每一存储器操作下将损耗循环信息提供到存储器装置。存储器装置控制电路系统(例如,控制逻辑)可经编程以补偿对应于损耗循环信息的存储器装置性能改变。存储器装置可接收损耗循环信息且响应于损耗循环信息而确定一或多个操作参数(例如,值、特性)。
将理解,当元件被称为“在”另一元件“上”、“连接到”另一元件或“与”另一元件“耦合”时,其可直接在另一元件上、连接到另一元件或与另一元件耦合或可存在中介元件。相比之下,当元件被称为“直接在”另一元件“上”,“直接连接到”另一元件或“直接与”另一元件“耦合”时,不存在中介元件或层。除非另有指示,否则如果两个元件在图式中展示为用线连接其,那么两个元件可经耦合或直接耦合。
本文中描述的方法实例可至少部分使用机器或计算机实施。一些实例可包含用指令编码的计算机可读媒体或机器可读媒体,所述指令可操作以配置电子装置以执行如在上文实例中描述的方法。此类方法的实施方案可包含程序代码,例如微码、汇编语言码、更高级语言码或类似物。此程序代码可包含用于执行各种方法的计算机可读指令。程序代码可形成计算机程序产品的部分。此外,程序代码可例如在执行期间或在其它时间有形地存储于一或多个易失性或非易失性有形计算机可读媒体上。此类有形计算机可读媒体的实例可包含(但不限于)硬盘、可抽换式磁盘、可抽换式光盘(例如,光盘及数字光盘)、卡式磁带、存储器卡或棒、随机存取存储器(RAM)、只读存储器(ROM)、固态磁盘(SSD)、通用快闪存储(UFS)装置、嵌入式MMC(eMMC)装置及类似物。实例1是一种用于使用NAND快闪阵列产生数据值的方法,所述方法包括:使用初始读取电平读取所述NAND快闪阵列处的数个存储器胞元以产生第一原始串;确定来自所述第一原始串的具有逻辑0的值的位的数目与来自所述第一原始串的具有逻辑1的值的位的数目之间的差大于阈值;使用第二读取电平读取所述NAND快闪阵列处的所述数个存储器胞元以产生第二原始串;确定来自所述第二原始串的具有逻辑0的值的位的数目与来自所述第二原始串的具有逻辑1的值的位的数目之间的差不大于阈值;及使用所述第二原始串应用密码函数以产生第一数据值。
在实例2中,根据实例1所述的标的物任选地包含其中使用所述初始读取电平读取所述NAND快闪阵列处的所述数个存储器胞元是响应于所述NAND快闪阵列的通电。
在实例3中,根据实例1到2中任一或多个实例所述的标的物任选地包含:选择低于所述初始读取电平的候选第二读取电平;使用所述候选第二读取电平读取所述NAND快闪阵列处的所述数个存储器胞元以产生候选原始串;确定来自所述候选原始串的具有逻辑0的值的位的数目与来自所述候选原始串的具有逻辑1的值的位的数目之间的差大于所述阈值;确定来自所述候选原始串的具有逻辑0的值的位的所述数目与来自所述候选原始串的具有逻辑1的值的位的数目之间的差比来自所述第一原始串的具有逻辑0的值的位的数目与来自所述第一原始串的具有逻辑1的值的位的数目之间的差更接近于阈值;及选择低于所述候选第二读取电平的随后候选第二读取电平。
在实例4中,根据实例1到3中任一或多个实例所述的标的物任选地包含:使用所述第二读取电平重读所述NAND快闪阵列处的所述数个存储器胞元以产生第三原始串;确定来自所述第三原始串的具有逻辑0的值的位的数目与来自所述第二原始串的具有逻辑1的值的位的数目之间的差大于所述阈值;及确定对下一读取电平的搜索已失败。
在实例5中,根据实例4所述的标的物任选地包含其中确定对所述下一读取电平的所述搜索已失败包括确定所述NAND快闪阵列处的所述数个存储器胞元的至少一部分具有小于0的胞元读取电平。
在实例6中,根据实例4到5中任一或多个实例所述的标的物任选地包含:擦除所述NAND快闪阵列的包括所述数个存储器胞元的块;将第一编程脉冲施加到所述数个存储器胞元;确定所述NAND快闪阵列的所述数个存储器胞元的至少一部分具有小于低读取电平值的胞元读取电平;及将第二编程脉冲施加到所述NAND快闪阵列的所述数个存储器胞元。
在实例7中,根据实例6所述的标的物任选地包含:在将所述第二编程脉冲施加到所述NAND快闪阵列的所述数个存储器胞元之后,使用第三读取电平读取所述NAND快闪阵列处的所述数个存储器胞元以产生第三原始串;确定来自所述第三原始串的具有逻辑0的值的位的数目与来自所述第一原始串的具有逻辑1的值的位的数目之间的差不大于阈值;及使用所述第三原始串应用密码函数以产生第二数据值。
在实例8中,根据实例7所述的标的物任选地包含使用所述NAND快闪阵列的所述数个存储器胞元的胞元读取电平分布选择所述第三读取电平。
实例9是一种用于产生数据值的系统,其包括:NAND快闪阵列;及存储器控制器,其经配置以执行包括以下各者的操作:使用初始读取电平读取所述NAND快闪阵列处的数个存储器胞元以产生第一原始串;确定来自所述第一原始串的具有逻辑0的值的位的数目与来自所述第一原始串的具有逻辑1的值的位的数目之间的差大于阈值;使用第二读取电平读取所述NAND快闪阵列处的所述数个存储器胞元以产生第二原始串;确定来自所述第二原始串的具有逻辑0的值的位的数目与来自所述第二原始串的具有逻辑1的值的位的数目之间的差不大于阈值;及使用所述第二原始串应用密码函数以产生第一数据值。
在实例10中,根据实例9所述的标的物任选地包含其中使用所述初始读取电平读取所述NAND快闪阵列处的所述数个存储器胞元是响应于所述NAND快闪阵列的通电。
在实例11中,根据实例9到10中任一或多个实例所述的标的物任选地包含进一步包括以下各者的操作:选择低于所述初始读取电平的候选第二读取电平;使用所述候选第二读取电平读取所述NAND快闪阵列处的所述数个存储器胞元以产生候选原始串;确定来自所述候选原始串的具有逻辑0的值的位的数目与来自所述候选原始串的具有逻辑1的值的位的数目之间的差大于所述阈值;确定来自所述候选原始串的具有逻辑0的值的位的数目与来自所述候选原始串的具有逻辑1的值的位的数目之间的差比来自所述第一原始串的具有逻辑0的值的位的数目与来自所述第一原始串的具有逻辑1的值的位的数目之间的差更接近于阈值;及选择低于所述候选第二读取电平的随后候选第二读取电平。
在实例12中,根据实例9到11中任一或多个实例所述的标的物任选地包含进一步包括以下各者的操作:使用所述第二读取电平重读所述NAND快闪阵列处的所述数个存储器胞元以产生第三原始串;确定来自所述第三原始串的具有逻辑0的值的位的数目与来自所述第二原始串的具有逻辑1的值的位的数目之间的差大于所述阈值;及确定对下一读取电平的搜索已失败。
在实例13中,根据实例12所述的标的物任选地包含其中确定对所述下一读取电平的所述搜索已失败包括确定所述NAND快闪阵列处的所述数个存储器胞元的至少一部分具有小于0的胞元读取电平。
在实例14中,根据实例12到13中任一或多个实例所述的标的物任选地包含进一步包括以下各者的操作:擦除所述NAND快闪阵列的包括所述数个存储器胞元的块;将第一编程脉冲施加到所述数个存储器胞元;确定所述NAND快闪阵列的所述数个存储器胞元的至少一部分具有小于低读取电平值的胞元读取电平;及将第二编程脉冲施加到所述NAND快闪阵列的所述数个存储器胞元。
在实例15中,根据实例14所述的标的物任选地包含进一步包括以下各者的操作:在将所述第二编程脉冲施加到所述NAND快闪阵列的所述数个存储器胞元之后,使用第三读取电平读取所述NAND快闪阵列处的所述数个存储器胞元以产生第三原始串;确定来自所述第三原始串的具有逻辑0的值的位的数目与来自所述第一原始串的具有逻辑1的值的位的数目之间的差不大于阈值;及使用所述第三原始串应用密码函数以产生第二数据值。
在实例16中,根据实例15所述的标的物任选地包含进一步包括使用所述NAND快闪阵列的所述数个存储器胞元的胞元读取电平分布选择所述第三读取电平的操作。
实例17是一种非暂时性计算机可读媒体,其上具有指令,所述指令在由至少一个处理器执行时导致所述处理器执行包括以下各者的操作:使用初始读取电平读取NAND快闪阵列处的数个存储器胞元以产生第一原始串;确定来自所述第一原始串的具有逻辑0的值的位的数目与来自所述第一原始串的具有逻辑1的值的位的数目之间的差大于阈值;使用第二读取电平读取所述NAND快闪阵列处的所述数个存储器胞元以产生第二原始串;确定来自所述第二原始串的具有逻辑0的值的位的数目与来自所述第二原始串的具有逻辑1的值的位的数目之间的差不大于阈值;及使用所述第二原始串应用密码函数以产生第一数据值。
在实例18中,根据实例17所述的标的物任选地包含其中使用所述初始读取电平读取所述NAND快闪阵列处的所述数个存储器胞元是响应于所述NAND快闪阵列的通电。
在实例19中,根据实例17到18中任一或多个实例所述的标的物任选地包含进一步包括以下各者的操作:选择低于所述初始读取电平的候选第二读取电平;使用所述候选第二读取电平读取所述NAND快闪阵列处的所述数个存储器胞元以产生候选原始串;确定来自所述候选原始串的具有逻辑0的值的位的数目与来自所述候选原始串的具有逻辑1的值的位的数目之间的差大于所述阈值;确定来自所述候选原始串的具有逻辑0的值的位的数目与来自所述候选原始串的具有逻辑1的值的位的数目之间的差比来自所述第一原始串的具有逻辑0的值的位的数目与来自所述第一原始串的具有逻辑1的值的位的数目之间的差更接近于所述阈值;及选择低于所述候选第二读取电平的随后候选第二读取电平。
在实例20中,根据实例17到19中任一或多个实例所述的标的物任选地包含进一步包括以下各者的操作:使用所述第二读取电平重读所述NAND快闪阵列处的所述数个存储器胞元以产生第三原始串;确定来自所述第三原始串的具有逻辑0的值的位的数目与来自所述第二原始串的具有逻辑1的值的位的数目之间的差大于所述阈值;及确定对下一读取电平的搜索已失败。
上文描述希望为说明性且非限制性。例如,上文描述的实例(或其一或多个方面)可彼此组合使用。例如所属领域的一般技术人员在审阅上文描述后可使用其它实施例。其在其不会用于解释或限制权利要求书的范围或含义的理解下提交。而且,在上文实施方式中,可将各种特征分组在一起以简化本公开。此不应被解释为意在未主张所公开特征对任何权利要求来说是必不可少的。实情是,发明标的物可在于少于特定公开的实施例的所有特征。因此,下列权利要求书特此并入实施方式中,其中每一权利要求独立地作为单独实施例,且预期此类实施例可以各种组合或排列彼此组合。本发明的范围应参考所附权利要求书连同此权利要求书所授权的等效物的全部范围确定。

Claims (20)

1.一种用于使用NAND快闪阵列产生数据值的方法,所述方法包括:
使用初始读取电平读取所述NAND快闪阵列处的数个存储器胞元以产生第一原始串;
确定来自所述第一原始串的具有逻辑0的值的位的数目与来自所述第一原始串的具有逻辑1的值的位的数目之间的差大于阈值;
使用第二读取电平读取所述NAND快闪阵列处的所述数个存储器胞元以产生第二原始串;
确定来自所述第二原始串的具有逻辑0的值的位的数目与来自所述第二原始串的具有逻辑1的值的位的数目之间的差不大于阈值;及
使用所述第二原始串应用密码函数以产生第一数据值。
2.根据权利要求1所述的方法,其中所述使用所述初始读取电平读取所述NAND快闪阵列处的所述数个存储器胞元是响应于所述NAND快闪阵列的通电。
3.根据权利要求1所述的方法,其进一步包括:
选择低于所述初始读取电平的候选第二读取电平;
使用所述候选第二读取电平读取所述NAND快闪阵列处的所述数个存储器胞元以产生候选原始串;
确定来自所述候选原始串的具有逻辑0的值的位的数目与来自所述候选原始串的具有逻辑1的值的位的数目之间的差大于所述阈值;
确定来自所述候选原始串的具有逻辑0的值的位的所述数目与来自所述候选原始串的具有逻辑1的值的位的数目之间的所述差比来自所述第一原始串的具有逻辑0的值的位的所述数目与来自所述第一原始串的具有逻辑1的值的位的数目之间的所述差更接近于所述阈值;及
选择低于所述候选第二读取电平的随后候选第二读取电平。
4.根据权利要求1所述的方法,其进一步包括:
使用所述第二读取电平重读所述NAND快闪阵列处的所述数个存储器胞元以产生第三原始串;
确定来自所述第三原始串的具有逻辑0的值的位的数目与来自所述第二原始串的具有逻辑1的值的位的数目之间的差大于所述阈值;及
确定对下一读取电平的搜索已失败。
5.根据权利要求4所述的方法,其中确定对所述下一读取电平的所述搜索已失败包括确定所述NAND快闪阵列处的所述数个存储器胞元的至少一部分具有小于0的胞元读取电平。
6.根据权利要求4所述的方法,其进一步包括:
擦除所述NAND快闪阵列的包括所述数个存储器胞元的块;
将第一编程脉冲施加到所述数个存储器胞元;
确定所述NAND快闪阵列的所述数个存储器胞元的至少一部分具有小于低读取电平值的胞元读取电平;及
将第二编程脉冲施加到所述NAND快闪阵列的所述数个存储器胞元。
7.根据权利要求6所述的方法,其进一步包括:
在将所述第二编程脉冲施加到所述NAND快闪阵列的所述数个存储器胞元之后,使用第三读取电平读取所述NAND快闪阵列处的所述数个存储器胞元以产生第三原始串;
确定来自所述第三原始串的具有逻辑0的值的位的数目与来自所述第一原始串的具有逻辑1的值的位的数目之间的差不大于阈值;及
使用所述第三原始串应用密码函数以产生第二数据值。
8.根据权利要求7所述的方法,其进一步包括使用所述NAND快闪阵列的所述数个存储器胞元的胞元读取电平分布选择所述第三读取电平。
9.一种用于产生数据值的系统,其包括:
NAND快闪阵列;及
存储器控制器,其经配置以执行包括以下各者的操作:
使用初始读取电平读取所述NAND快闪阵列处的数个存储器胞元以产生第一原始串;
确定来自所述第一原始串的具有逻辑0的值的位的数目与来自所述第一原始串的具有逻辑1的值的位的数目之间的差大于阈值;
使用第二读取电平读取所述NAND快闪阵列处的所述数个存储器胞元以产生第二原始串;
确定来自所述第二原始串的具有逻辑0的值的位的数目与来自所述第二原始串的具有逻辑1的值的位的数目之间的差不大于阈值;及
使用所述第二原始串应用密码函数以产生第一数据值。
10.根据权利要求9所述的系统,其中所述使用所述初始读取电平读取所述NAND快闪阵列处的所述数个存储器胞元是响应于所述NAND快闪阵列的通电。
11.根据权利要求9所述的系统,所述操作进一步包括:
选择低于所述初始读取电平的候选第二读取电平;
使用所述候选第二读取电平读取所述NAND快闪阵列处的所述数个存储器胞元以产生候选原始串;
确定来自所述候选原始串的具有逻辑0的值的位的数目与来自所述候选原始串的具有逻辑1的值的位的数目之间的差大于所述阈值;
确定来自所述候选原始串的具有逻辑0的值的位的所述数目与来自所述候选原始串的具有逻辑1的值的位的数目之间的所述差比来自所述第一原始串的具有逻辑0的值的位的所述数目与来自所述第一原始串的具有逻辑1的值的位的数目之间的所述差更接近于所述阈值;及
选择低于所述候选第二读取电平的随后候选第二读取电平。
12.根据权利要求9所述的系统,所述操作进一步包括:
使用所述第二读取电平重读所述NAND快闪阵列处的所述数个存储器胞元以产生第三原始串;
确定来自所述第三原始串的具有逻辑0的值的位的数目与来自所述第二原始串的具有逻辑1的值的位的数目之间的差大于所述阈值;及
确定对下一读取电平的搜索已失败。
13.根据权利要求12所述的系统,其中确定对所述下一读取电平的所述搜索已失败包括确定所述NAND快闪阵列处的所述数个存储器胞元的至少一部分具有小于0的胞元读取电平。
14.根据权利要求12所述的系统,所述操作进一步包括:
擦除所述NAND快闪阵列的包括所述数个存储器胞元的块;
将第一编程脉冲施加到所述数个存储器胞元;
确定所述NAND快闪阵列的所述数个存储器胞元的至少一部分具有小于低读取电平值的胞元读取电平;及
将第二编程脉冲施加到所述NAND快闪阵列的所述数个存储器胞元。
15.根据权利要求14所述的系统,所述操作进一步包括:
在将所述第二编程脉冲施加到所述NAND快闪阵列的所述数个存储器胞元之后,使用第三读取电平读取所述NAND快闪阵列处的所述数个存储器胞元以产生第三原始串;
确定来自所述第三原始串的具有逻辑0的值的位的数目与来自所述第一原始串的具有逻辑1的值的位的数目之间的差不大于阈值;及
使用所述第三原始串应用密码函数以产生第二数据值。
16.根据权利要求15所述的系统,所述操作进一步包括使用所述NAND快闪阵列的所述数个存储器胞元的胞元读取电平分布选择所述第三读取电平。
17.一种非暂时性计算机可读媒体,其上具有指令,所述指令在由至少一个处理器执行时导致所述处理器执行包括以下各者的操作:
使用初始读取电平读取NAND快闪阵列处的数个存储器胞元以产生第一原始串;确定来自所述第一原始串的具有逻辑0的值的位的数目与来自所述第一原始串的具有逻辑1的值的位的数目之间的差大于阈值;
使用第二读取电平读取所述NAND快闪阵列处的所述数个存储器胞元以产生第二原始串;
确定来自所述第二原始串的具有逻辑0的值的位的数目与来自所述第二原始串的具有逻辑1的值的位的数目之间的差不大于阈值;及
使用所述第二原始串应用密码函数以产生第一数据值。
18.根据权利要求17所述的计算机可读媒体,其中所述使用所述初始读取电平读取所述NAND快闪阵列处的所述数个存储器胞元是响应于所述NAND快闪阵列的通电。
19.根据权利要求17所述的计算机可读媒体,所述操作进一步包括:
选择低于所述初始读取电平的候选第二读取电平;
使用所述候选第二读取电平读取所述NAND快闪阵列处的所述数个存储器胞元以产生候选原始串;
确定来自所述候选原始串的具有逻辑0的值的位的数目与来自所述候选原始串的具有逻辑1的值的位的数目之间的差大于所述阈值;
确定来自所述候选原始串的具有逻辑0的值的位的所述数目与来自所述候选原始串的具有逻辑1的值的位的数目之间的所述差比来自所述第一原始串的具有逻辑0的值的位的所述数目与来自所述第一原始串的具有逻辑1的值的位的数目之间的所述差更接近于所述阈值;及
选择低于所述候选第二读取电平的随后候选第二读取电平。
20.根据权利要求17所述的计算机可读媒体,所述操作进一步包括:
使用所述第二读取电平重读所述NAND快闪阵列处的所述数个存储器胞元以产生第三原始串;
确定来自所述第三原始串的具有逻辑0的值的位的数目与来自所述第二原始串的具有逻辑1的值的位的数目之间的差大于所述阈值;及
确定对下一读取电平的搜索已失败。
CN201980090726.XA 2018-12-28 2019-12-19 使用nand存储器阵列的物理不可复制函数(puf) Pending CN113366575A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/236,005 2018-12-28
US16/236,005 US11469909B2 (en) 2018-12-28 2018-12-28 Physical unclonable function with NAND memory array
PCT/US2019/067438 WO2020139690A1 (en) 2018-12-28 2019-12-19 Physical unclonable function (puf) with nand memory array

Publications (1)

Publication Number Publication Date
CN113366575A true CN113366575A (zh) 2021-09-07

Family

ID=71122178

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980090726.XA Pending CN113366575A (zh) 2018-12-28 2019-12-19 使用nand存储器阵列的物理不可复制函数(puf)

Country Status (6)

Country Link
US (2) US11469909B2 (zh)
EP (1) EP3903314A4 (zh)
KR (1) KR20210095956A (zh)
CN (1) CN113366575A (zh)
TW (1) TWI756603B (zh)
WO (1) WO2020139690A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11469909B2 (en) 2018-12-28 2022-10-11 Micron Technology, Inc. Physical unclonable function with NAND memory array

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11288007B2 (en) * 2019-05-16 2022-03-29 Western Digital Technologies, Inc. Virtual physical erase of a memory of a data storage device
US11240047B2 (en) 2019-12-16 2022-02-01 Analog Devices International Unlimited Company Capacitor based physical unclonable function
KR20210077839A (ko) * 2019-12-17 2021-06-28 삼성전자주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
US11209993B2 (en) * 2020-03-24 2021-12-28 Sandisk Technologies Llc Physical unclonable function (PUF) for NAND operator
US11394566B2 (en) * 2020-08-05 2022-07-19 Analog Devices International Unlimited Company Physical unclonable function configuration and readout
US11734459B2 (en) * 2020-08-05 2023-08-22 Analog Devices International Unlimited Company Monitoring a physical unclonable function
TWI792764B (zh) * 2021-12-13 2023-02-11 華邦電子股份有限公司 記憶體陣列及其操作方法
US11960769B2 (en) * 2022-02-14 2024-04-16 Macronix International Co., Ltd. High performance secure read in secure memory providing a continuous output of encrypted information and specific context
US20230297283A1 (en) * 2022-03-21 2023-09-21 Everspin Technologies, Inc. Persistent xspi stt-mram with optional erase operation

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102148058A (zh) * 2010-02-08 2011-08-10 三星电子株式会社 读可靠性获得提高的含有多位存储单元的快闪存储器件
US20140126306A1 (en) * 2012-11-05 2014-05-08 Infineon Technologies Ag Electronic Device with a Plurality of Memory Cells and with Physically Unclonable Function
US20150055417A1 (en) * 2013-08-26 2015-02-26 Electronics And Telecommunications Research Institute Method and apparatus for controlling operation of flash memory
US20170200508A1 (en) * 2016-01-08 2017-07-13 Sidense Corp. Puf value generation using an anti-fuse memory array
CN108958707A (zh) * 2017-05-22 2018-12-07 旺宏电子股份有限公司 具有puf及随机数产生器的电路及其操作方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9659636B2 (en) * 2014-07-22 2017-05-23 Peter Wung Lee NAND memory array with BL-hierarchical structure for concurrent all-BL, all-threshold-state program, and alternative-WL program, odd/even read and verify operations
KR101575810B1 (ko) 2014-09-30 2015-12-08 고려대학교 산학협력단 물리적 복제 방지 기능을 갖는 플래시 메모리 장치 및 그 구현 방법
US9576671B2 (en) 2014-11-20 2017-02-21 Western Digital Technologies, Inc. Calibrating optimal read levels
US9653161B2 (en) 2014-11-21 2017-05-16 Panasonic Intellectual Property Management Co., Ltd. Tamper-resistant non-volatile memory device comprising an arithmetic circuit that, in operation, calculates a binary reference value based on at least a part of the pieces of resistance value information, a read circuit that, in operation, selectively assigns, based on the binary reference value, one of two values to each of the pieces of resistance value information, and a write circuit that, in operation, performs a write operation corresponding to one of the two values among memory cells
KR101575807B1 (ko) 2014-11-28 2015-12-08 고려대학교 산학협력단 물리적 복제 방지 기능을 갖는 플래시 메모리 장치 및 그 구현 방법
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
US9972383B2 (en) 2016-03-08 2018-05-15 Macronix International Co., Ltd. Reading memory cells
US10404478B2 (en) 2016-08-04 2019-09-03 Macronix International Co., Ltd. Physical unclonable function using divided threshold distributions in non-volatile memory
KR20180059217A (ko) 2016-11-25 2018-06-04 주식회사 아이씨티케이 홀딩스 메모리 데이터 보안 처리 장치 및 방법
US10121551B1 (en) 2017-08-31 2018-11-06 Micron Technology, Inc. Detecting power loss in NAND memory devices
US11469909B2 (en) 2018-12-28 2022-10-11 Micron Technology, Inc. Physical unclonable function with NAND memory array

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102148058A (zh) * 2010-02-08 2011-08-10 三星电子株式会社 读可靠性获得提高的含有多位存储单元的快闪存储器件
US20140126306A1 (en) * 2012-11-05 2014-05-08 Infineon Technologies Ag Electronic Device with a Plurality of Memory Cells and with Physically Unclonable Function
US20150055417A1 (en) * 2013-08-26 2015-02-26 Electronics And Telecommunications Research Institute Method and apparatus for controlling operation of flash memory
US20170200508A1 (en) * 2016-01-08 2017-07-13 Sidense Corp. Puf value generation using an anti-fuse memory array
CN108958707A (zh) * 2017-05-22 2018-12-07 旺宏电子股份有限公司 具有puf及随机数产生器的电路及其操作方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11469909B2 (en) 2018-12-28 2022-10-11 Micron Technology, Inc. Physical unclonable function with NAND memory array
US11722323B2 (en) 2018-12-28 2023-08-08 Micron Technology, Inc. Physical unclonable function with NAND memory array

Also Published As

Publication number Publication date
KR20210095956A (ko) 2021-08-03
US20230039804A1 (en) 2023-02-09
WO2020139690A1 (en) 2020-07-02
EP3903314A1 (en) 2021-11-03
EP3903314A4 (en) 2022-09-14
US11469909B2 (en) 2022-10-11
US11722323B2 (en) 2023-08-08
TW202042241A (zh) 2020-11-16
US20200213138A1 (en) 2020-07-02
TWI756603B (zh) 2022-03-01

Similar Documents

Publication Publication Date Title
CN111108499B (zh) Nand存储器装置、相关方法及机器可读媒体
CN111433752B (zh) Nand装置及其操作方法
US11722323B2 (en) Physical unclonable function with NAND memory array
CN111383683B (zh) 通过堆叠多个可靠性规范进行扫描优化
CN111758091A (zh) 单电平单元高速缓存管理
US10950310B2 (en) Secure erase for data corruption
CN113994432A (zh) 快闪存储器块报废策略
CN112313634B (zh) 快闪存储器的主机侧缓存安全
CN110660441A (zh) 存储器装置中多个块的擦除
CN111213208B (zh) 擦除页面检查
US11031089B2 (en) Block read count voltage adjustment
CN112074908B (zh) Nand数据放置模式
CN111133410B (zh) 快闪存储器及其管理方法
KR20220025189A (ko) 정정 불가능 ecc
CN111226280A (zh) 改进数据完整性的nand单元编码
WO2019089350A1 (en) Nand flash thermal alerting
CN112074816A (zh) Nand数据放置模式的集群奇偶校验
CN113380305B (zh) 电荷损失补偿
CN111684529B (zh) 读取重试暂存空间
CN111045852A (zh) 移动nand奇偶校验信息技术
CN114093406A (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