CN107958677B - 具有智能温度感测和局部限制的非易失性存储器 - Google Patents
具有智能温度感测和局部限制的非易失性存储器 Download PDFInfo
- Publication number
- CN107958677B CN107958677B CN201710825499.3A CN201710825499A CN107958677B CN 107958677 B CN107958677 B CN 107958677B CN 201710825499 A CN201710825499 A CN 201710825499A CN 107958677 B CN107958677 B CN 107958677B
- Authority
- CN
- China
- Prior art keywords
- memory
- temperature
- controller
- die
- packages
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/04—Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B43/00—EEPROM devices comprising charge-trapping gate insulators
- H10B43/20—EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels
- H10B43/23—EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels
- H10B43/27—EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels the channels comprising vertical portions, e.g. U-shaped channels
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Read Only Memory (AREA)
- Semiconductor Memories (AREA)
Abstract
一种非易失性存储设备包括控制器、一个或多个存储器封装、系统温度传感器和一个或多个存储器温度传感器。系统温度传感器位于控制器处或控制器上。一个或多个存储器温度传感器中的每一个位于所述一个或多个存储器封装中的一个处。控制器使用系统温度传感器监测系统温度。如果系统温度高于第一阈值,则使用一个或多个存储器温度传感器在存储器封装处感测温度。如果它们的温度超过第二个阈值,单独的存储器封装将使得其性能被限制。
Description
技术领域
本公开涉及具有智能温度感测和局部限制的非易失性存储器和操作该非易失性存储器的方法。
背景技术
半导体存储器广泛用于诸如蜂窝电话、数字照相机、个人数字助理、医疗电子、移动计算设备、服务器和非移动计算设备的各种电子设备中。半导体存储器可包括非易失性存储器或易失性存储器。即使当非易失性存储器未连接到电源(例如电池)时,非易失性存储器也允许存储和保留信息。非易失性存储器的示例包括闪存(例如NAND型和NOR型闪存)和电可擦除可编程只读存储器(EEPROM)。
存储器系统可用于存储由主机设备或其他实体提供的数据。该数据然后可以响应于读请求而被读回和提供。存储在存储器系统中的数据不会丢失是很重要的。此外,用户在使用存储器系统时需要高性能。
发明内容
本发明构思的一些方面提供了非易失性存储设备和用于操作非易失性存储系统的方法。
通过参照以下给出的本发明构思的详细描述,本发明构思的上述和其他方面对于本发明构思所属领域的技术人员将变得更加明显。根据本发明构思的一些实施例,一种非易失性存储设备包括:一个或多个控制电路;连接到一个或多个控制电路的一个或多个存储器封装;连接到一个或多个控制电路的系统温度传感器;系统温度传感器离开一个或多个存储器封装中的每一个;以及连接到一个或多个控制电路的一个或多个存储器温度传感器,一个或多个存储器温度传感器中的每一个位于一个或多个存储器封装中的一个处。一个或多个控制电路可以被配置为使用系统温度传感器检测系统温度。一个或多个控制电路可以被配置为响应于确定系统温度超过第一阈值,使用一个或多个存储器温度传感器来确定一个或多个存储器封装中的每一个的一个或多个存储器温度数据值。一个或多个控制电路可以被配置为单独地限制其温度数据值超过第二阈值的一个或多个存储器封装的性能。
根据本发明构思的一些实施例,一种操作非易失性存储系统的方法包括:监测非易失性存储系统的控制器处的温度,并确定控制器处的温度是否超过第一阈值;响应于确定所述控制器处的监测的温度超过第一阈值,感测非易失性存储系统的第一存储器裸芯处的温度并确定在第一存储器裸芯处感测的温度是否大于第二阈值;并且响应于确定在第一存储器裸芯处感测的温度大于第二阈值,从而限制存储器裸芯的性能。
本发明构思的这些和其它方面、特征和优点可从本发明的某些实施方案和附图和权利要求的描述中理解。
附图描述
在不同的附图中相同编号的元件是指共同的组件。
图1是3D堆叠的非易失性存储器器件的透视图。
图2是诸如图1的3D堆叠的非易失性存储器器件100的存储器器件的功能框图。
图3是描绘存储器系统的一个实施例的框图。
图3A是描绘存储器系统的一个实施例的框图。
图4是单片三维存储器结构的一个实施例的一部分的透视图。
图4A是具有两个平面的存储器结构的框图。
图4B是描绘存储器单元的块的一部分的俯视图。
图4C是描绘存储器单元的块的一部分的横截面图。
图4D是描绘选择栅极层和字线层的视图。
图4E是存储器单元的垂直列的横截面图。
图4F是多个NAND串的示意图。
图5描绘了阈值电压分布。
图6是描述将数据值分配给数据状态的一个示例的表格。
图7A是描述编程过程的一个实施例的流程图。
图7B是描述编程过程的一个实施例的流程图。
图8A是描述读取过程的一个实施例的流程图。
图8B是描述读取过程的一个实施例的流程图。
图9是描述用于智能温度感测和局部限制(throttling)的过程的一个实施例的流程图。
图10是描述用于确定局部温度数据值的过程的一个实施例的流程图。
图11是描述用于确定局部温度数据值的过程的一个实施例的流程图。
图12是描述用于确定局部温度数据值的过程的一个实施例的流程图。
图13是描述用于限制存储器性能的过程的一个实施例的流程图。
图14是描述用于限制存储器性能的过程的一个实施例的流程图。
具体实施方式
一些半导体存储器系统包括连接到一个或多个存储器裸芯的控制器。已经观察到,当这种半导体存储器系统变得太热时,存储器可能会遇到问题。例如,潜在的缺陷可能会显示出来,或者存储器可能会遇到数据保留问题。因此,一些系统将监测控制器处的温度,并且如果控制器太热,则控制器将限制所有存储器裸芯的性能。
存储器裸芯的性能是被设计为降低存储器裸芯性能以降低存储器裸芯温度的功能。限制存储器裸芯的性能的示例包括减慢存储器裸芯的时钟(即,降低时钟速率)和/或减少每单位时间发送到存储器裸芯并由其运行的指令数。
然而,根据控制器的温度来限制存储器裸芯并不是最准确的策略。例如,控制器比大多数存储器裸芯运行的次数更多,因此控制器可能比任何存储器裸芯更热。此外,控制器和存储器裸芯可以在存储器系统(例如,固态驱动器-SSD)的不同侧上;因此,控制器旁边的主机的组件可能不同于存储器裸芯旁边的部件。例如,考虑SSD位于笔记本计算机中时。在SSD的一侧(控制器所在处)可能紧挨着笔记本计算机(运行得热)的CPU,SSD的另一侧(存储器裸芯)是笔记本计算机的RAM(比CPU运行得更冷);因此,存储器裸芯可能不如控制器那么热。另外,可能存在有些存储器裸芯热,而其他不热的情况。
为了更精确地监测和管理温度,提出测量控制器处和存储器裸芯处的温度。然而,与控制器处的测量一样频繁地在许多存储器器裸芯处测量温度可能浪费电力和时间。因此,本文提出的解决方案周期性地测量控制器(或其他类型的控制电路)处的温度。当控制器处的温度超过第一阈值时,系统将在存储器裸芯处进行温度测量。使用这种技术,可以根据其局部的温度单独地对存储器裸芯进行限制。在将存储器裸芯集合成封装的系统中,可以测量封装或封装中的存储器裸芯的温度,并且限制可以处于封装级或存储器裸芯级。以这种方式,即使控制器是热的,不热的存储器裸芯或封装也不会被限制并且可以保持完整的性能。
图1-4F描述了可用于实现本文提出的技术的存储器系统的一个示例。图1是三维(3D)堆叠的非易失性存储器件的透视图。存储器器件100包括衬底101。衬底上和上方是存储器单元(非易失性存储元件)的示例块BLK0和BLK1。衬底101上也是具有由块使用的支撑电路的外围区域104。衬底101还可以在块下方承载电路,连同导电路径中被图案化(pattern)以承载电路的信号的一个或多个下金属层(lower metal layer)。这些块被形成在存储器器件的中间区域102中。在存储器器件的上区域(upper region)103中,一个或多个上金属层在导电通路中被图案化以承载电路的信号。每个块包含存储器单元的堆叠区域,其中该堆叠的交替电平表示字线。尽管以两个块为例,但是可以使用在x和/或y方向上延伸的附加块。
在一个示例性实现中,平面在x方向上的长度表示字线的信号路径延伸的方向(字线或SGD线方向),并且平面在y方向上的宽度表示位线的信号路径延伸的方向(位线方向)。z方向表示存储器件的高度。
图2是诸如图1的3D堆叠非易失性存储器器件100的示例存储器器件的功能框图。图2所示的组件是电路。存储器器件100包括一个或多个存储器裸芯108。每个存储器裸芯108包括存储器单元的三维存储器结构126(例如,存储器单元的3D阵列)、控制电路110和读/写电路128。在其他实施例中,可以使用存储器单元的二维阵列。存储器结构126可以经由行解码器124通过字线和经由列解码器132通过位线来寻址。读/写电路128包括包含了SB1、SB2、...、SBp(感测电路)的多个感测块150,并允许并行地读取或编程一页存储器单元。在一些系统中,控制器122被包括在与一个或多个存储器裸芯108相同的存储器器件100(例如,可移动存储卡)中。然而,在其他系统中,控制器可以与存储器裸芯108分离。在一些实施例中,控制器122在与存储裸芯108不同的裸芯上。在一些实施例中,一个控制器122将与多个存储器裸芯108通信。在其他实施例中,每个存储器裸芯108具有自己的控制器。命令和数据经由数据总线120在主机140和控制器122之间以及经由线118在控制器122和一个或多个存储器裸芯108之间传送。在一个实施例中,存储器裸芯108包括连接到线118的一组输入和/或输出(I/O)引脚。
存储器结构126可以包括一个或多个包括3D阵列的存储器单元阵列。存储器结构可以包括单片三维存储器结构,其中多个存储器级别形成在单个衬底(例如晶片)上方(而不是在其中),没有中间衬底。存储器结构可以包括在具有布置在硅衬底上方的有源区的存储器单元的阵列的一个或多个物理层中单片地形成的任何类型的非易失性存储器。存储器结构可以在具有与存储器单元的操作相关联的电路的非易失性存储器器件中,无论相关联的电路是在衬底之上还是在衬底内。在一个实施例中,存储器结构126实现三维NAND快闪存储器。其他实施例包括二维NAND快闪存储器、二维NOR快闪存储器、ReRAM交叉点存储器、磁阻存储器(例如,MRAM)、相变存储器(例如,PCRAM)等。
控制电路110与读/写电路128协作以对存储器结构126执行存储器操作(例如,擦除、编程、读取等),并且包括状态机112、片上地址解码器114、功率控制模块116和温度检测电路116。状态机112提供存储器操作的裸芯级控制。温度检测电路113(其是存储器裸芯108上的存储器温度传感器的示例)被配置为检测存储裸芯108处的温度,并且可以是本领域已知的任何合适的温度检测电路。在一个实施例中,状态机112可由软件编程。在其他实施例中,状态机112不使用软件并且完全在硬件(例如,电路)中实现。在一个实施例中,控制电路110包括寄存器、ROM熔断器和用于存储诸如基本电压(base voltage)和其它参数的默认值的其他存储设备。
片上地址解码器114在由主机140或控制器122使用的地址和由解码器124和132使用的硬件地址之间提供地址接口。功率控制模块116在存储器操作期间控制向字线和位线提供的功率和电压。它可以包括3D配置中的字线层(下面将讨论)的驱动器、选择晶体管(例如下面描述的SGS和SGD晶体管)和源极线。功率控制模块116可以包括用于产生电压的电荷泵。感测块包括位线驱动器。SGS晶体管是NAND串的源极端处的选择栅极晶体管,SGD晶体管是NAND串的漏极端处的选择栅极晶体管。
控制电路110、状态机112、解码器114/124/132、温度检测电路113、功率控制模块116、感测块150、读/写电路128和控制器122的任何一种或任何组合可以被认为是执行本文所述功能的一个或多个控制电路。
(片上或片外)控制器122(在一个实施例中为电路)可以包括一个或多个处理器122c、ROM 122a、RAM 122b、存储器接口122d和系统温度传感器122e,所有这些都被互联。一个或多个处理器122c是控制电路的一个示例。其他实施例可以使用被设计为执行一个或多个功能的状态机或其它定制电路。存储设备(ROM 122a、RAM 122b)包括诸如一组指令的代码,并且处理器122c可操作以执行该组指令以提供本文所描述的功能。可替代或另外地,处理器122c可以从存储器结构中诸如连接到一个或多个字线的存储器单元的保留区域的存储器件中访问代码。与ROM 122a、RAM 122b和处理器122c通信的存储器接口122d是提供控制器122和一个或多个存储器裸芯108之间的电接口的电路(电接口)。例如,存储器接口122d可以改变信号的格式或定时、提供缓冲器、与浪涌隔离、锁存I/O等。处理器122c可以经由存储器接口122d向控制电路110(或存储器裸芯108的任何其他部件)发出命令。在一个实施例中,处理器122c可以访问来自ROM 122a或RAM 122b的代码以检测打开(open)块中的读取干扰,并采取行动来减轻读取干扰,包括确定非易失性存储器单元的特定块是打开块、并且已经受了最少数量的读取操作;读取连接到特定块的打开字线的存储器单元并识别未被擦除的位;以及如果对于打开的字线存在多于最少数量的未被擦除的位,则将特定块的数据复制到新块。系统温度传感器122e被配置为检测控制器122处的温度,并且可以是本领域已知的任何合适的温度检测电路。从图2可以看出,系统温度传感器122e与一个或多个存储器裸芯108中的每一个存储器裸芯分离且相距一距离。
存储器结构126中的多个存储器元件可以被配置为使得它们串行连接或使得每个元件可单独被访问。作为非限制性示例,NAND配置(NAND快闪存储器)中的快闪存储器器件通常包含串行连接的存储器元件。NAND串是串行连接的存储器单元和选择栅极晶体管的组的示例。
NAND快闪存储器阵列可以被配置为使得阵列由多个NAND串组成,其中NAND串由共享单个位线并作为一组被访问的多个存储器单元组成。可替代地,存储器元件可以被配置为使得每个元件可单独被访问,例如NOR存储器阵列。NAND和NOR存储器配置是示例性的,并且可以以其他方式配置存储器单元。
存储器单元可以被布置在诸如多个行和/或列中的有序阵列中的单个存储器器件级中。然而,存储器元件可以排列成非规则或非正交配置、或在不被认为是阵列的结构中。
三维存储器阵列被布置成使得存储器单元占据多个平面或多个存储器器件级,从而形成三维结构(即,在x、y和z方向上,其中z方向基本垂直于、并且x和y方向基本上平行于衬底的主表面)。
作为非限制性示例,三维存储器结构可以垂直地布置为多个二维存储器件级的堆叠。作为另一个非限制性示例,三维存储器阵列可以被布置为多个垂直列(例如,基本上垂直于衬底的主表面延伸的列,即在y方向上),每个列具有多个存储器单元。垂直列可以以二维配置布置,例如在x-y平面中,得到存储器单元的三维布置,存储器单元位于多个垂直堆叠的存储器平面上。三维存储器元件的其他配置也可以构成三维存储器阵列。
作为非限制性示例,在三维NAND存储器阵列中,存储器元件可以耦合在一起以形成穿过多个水平存储器器件级别的垂直NAND串。可以设想其他三维配置,其中一些NAND串将存储器元件包含在单个存储器级别中,而其他串包含跨越多个存储器级别的存储器元件。也可以在NOR配置和ReRAM配置中设计三维存储器阵列。
本领域普通技术人员将认识到,本文所描述的技术不限于单个特定的存储器结构,而是在本文所述技术的精神和范围内涵盖许多相关的存储器结构,并且如本领域普通技术人员所理解的。
图3是示例性存储器系统100的框图,其描绘了控制器122的一个实施例的更多细节。如本文所使用的,快闪存储器控制器是管理存储在快闪存储器中并与诸如计算机或电子设备之类的主机进行通信的设备。除了本文所描述的特定功能之外,快闪存储器控制器可以具有各种功能。例如,快闪存储器控制器可以格式化快闪存储器,以确保存储器正常运行、标出坏的快闪存储器单元、并分配备用(spare)存储器单元以替代未来的故障单元。备用单元的一些部分可用于保存固件以操作快闪存储器控制器并实现其他功能。在操作中,当主机需要从快闪存储器读取数据或写入数据时,它将与快闪存储器控制器通信。如果主机提供要读/写数据的逻辑地址,则快闪存储器控制器可以将从主机接收的逻辑地址转换为快闪存储器中的物理地址。(替代地,主机可以提供物理地址)。快闪存储器控制器还可以执行各种存储器管理功能,例如但不限于磨损均衡(分配写入以避免磨损否则将被重复写入的特定存储器块)和垃圾收集(在块满之后,只移动有效的数据页面到一个新的块,所以完整的块可以被擦除和重用)。
控制器122和非易失性存储器裸芯108之间的接口可以是任何合适的快闪存储器接口,例如切换模式(Toggle Mode)200、400或800。在一个实施例中,存储器系统100可以是基于卡的系统,例如安全数字(SD)或微安全数字(micro-SD)卡。在替代实施例中,存储器系统100可以是嵌入式存储器系统的一部分。例如,快闪存储器可以嵌入在主机内,例如以固态驱动器(SSD)驱动的形式安装在个人计算机中。
在一些实施例中,非易失性存储器系统100包括在控制器122和非易失性存储器裸芯108之间的单个通道,本文所述的主题不限于具有单个存储器通道。例如,在一些存储器系统架构中,取决于控制器能力,控制器和存储器裸芯之间可以存在2、4、8个或更多个通道。在本文所述的任何实施例中,即使在附图中示出了单个通道,但在控制器和存储器裸芯之间可以存在多于单个通道。
如图3所示,控制器112包括与主机接口的前端模块208、与一个或多个非易失性存储器裸芯108接口的后端模块210以及要执行现在将要详细描述的功能的各种其它模块。
图3所示的控制器122的组件可以采用设计为与其他组件一起使用的被封装的功能硬件单元(例如,电路)的形式、通常执行相关功能的特定功能的(微)处理器或处理电路可执行的程序代码(例如,软件或固件)的一部分、或者例如与较大系统接口的独立的硬件或软件组件。例如,每个模块可以包括专用集成电路(ASIC)、现场可编程门阵列(FPGA)、电路、数字逻辑电路、模拟电路、分立电路组合、门或任何其它类型的硬件或其组合。可替代或另外地,每个模块可以包括存储在处理器可读设备(例如,存储器)中的软件,以对控制器122的处理器进行编程,以执行本文所述的功能。图3所示的架构是可以(或可能不)使用图2所示的控制器122(即RAM、ROM处理器、接口)的组件的一个示例实施方式。
再次参考控制器122的模块,缓冲器管理器/总线控制器214管理随机存取存储器(RAM)216中的缓冲器,并且控制控制器122的内部总线仲裁。只读存储器(ROM)218存储系统引导代码。尽管在图3中示出为与控制器122分开放置,但在其它实施例中,RAM 216和ROM218中的一个或两个可以位于控制器内。在其他实施例中,RAM和ROM的部分可以位于控制器122内部和控制器外部。此外,在一些实施方式中,控制器122、RAM 216和ROM 218可以位于分开的半导体裸芯上。
前端模块208包括向主机或下一级存储控制器提供电接口的主机接口220和物理层接口(PHY)222。主机接口220的类型的选择可以取决于所使用的存储器的类型。主机接口220的示例包括但不限于SATA、SATA Express、SAS、光纤通道、USB、PCIe和NVMe。主机接口220通常有利于数据、控制信号和定时信号的传送。
后端模块210包括对从主机接收的数据字节进行编码、并对从非易失性存储器读取的数据字节进行解码和错误校正的纠错码(ECC)引擎224。命令定序器226生成要发送到非易失性存储器裸芯108的诸如编程和擦除命令序列的命令序列。RAID(独立磁盘冗余阵列,Redundant Array of Independent Dies)模块228管理RAID奇偶校验的产生和故障数据的恢复。RAID奇偶校验可以用作被写入到非易失性存储器系统100中的数据的附加级别的完整性保护。在某些情况下,RAID模块228可以是ECC引擎224的一部分。请注意,RAID奇偶校验可以作为额外的裸芯被添加,如通用名称所暗示的,但也可以在现有裸芯内被添加,例如,作为额外的平面、或额外的块、或块内的额外的WL。存储器接口230将命令序列提供给非易失性存储器裸芯108,并从非易失性存储器裸芯108接收状态信息。在一个实施例中,存储器接口230可以是诸如切换模式200、400或800接口的双数据速率(DDR)接口。快闪控制层232控制后端模块210的整体操作。
一个实施例包括温度监视器236、限制管理器239和系统温度传感器122e。温度监视器236检测系统温度传感器122e处的温度,并确定系统温度传感器122e处的检测温度是否超过第一阈值(例如,100华氏度)。温度监视器236还从多个存储裸芯108的温度传感器113接收温度数据,并且确定存储器裸芯108是否需要被限制。例如,温度监视器236可以确定存储器裸芯处的温度是否超过第二阈值。在一些实施例中,第二阈值等于第一阈值。在其他实施例中,第二阈值不同于第一阈值(例如,(比第一阈值)温暖10度)。响应于温度监测器236的分析,限制管理器239限制一个或多个存储器裸芯(或封装)的性能,该存储器裸芯与感测到大于第二阈值的温度的至少一个存储器温度传感器共存。
图3所示的系统100的附加部件包括介质管理层238,其执行非易失性存储器裸芯108的存储器单元的磨损均衡。系统100还包括可以与控制器122接口的其它分立组件240、例如外部电接口、外部RAM、电阻器、电容器或其他组件。在替代实施例中,物理层接口222、RAID模块228、介质管理层238和缓冲器管理/总线控制器214中的一个或多个是在控制器122中不必要的可选组件。
快闪转换层(FTL)或介质管理层(MML)238可以集成为可以处理快闪错误并与主机接口的快闪管理的一部分。具体地,MML可能是快闪管理的一个模块,并且可以是负责NAND管理的内部部件。具体地,MML 238可以包括存储器器件固件中的算法,该算法将来自主机的写入转换为对裸芯108的快闪存储器126的写入。可能需要MML 238,因为:1)闪存可能具有有限的耐久性;2)闪存126只可以以页数的倍数写入;和/或3)闪存126可以不被写入,除非它作为块被擦除。MML 238了解快闪存储器126的这些主机可能不可见的潜在的限制。因此,MML 238尝试将来自主机的写入转换成向闪速存储器126中的写入。如下所述,可以使用MML 238来识别和记录不稳定的(erratic)位。这种不稳定位的记录可用于评估块和/或字线(字线上的存储器单元)的健康状况。
控制器122可与一个或多个存储器裸芯108连接。在一个实施例中,控制器122和多个存储器裸芯(一起包括非易失性存储系统100)实现固态驱动器(SSD),其可以模拟、替换或用于代替主机内的硬盘驱动器,作为NAS设备、笔记本计算机、平板计算机等。此外,SSD不需要作为硬盘驱动器工作。
非易失性存储系统的一些实施例将包括连接到一个控制器122的一个存储器裸芯108。然而,其他实施例可以包括与一个或多个控制器122通信的多个存储器裸芯108。在图3A所示的一个示例中,多个存储器裸芯可以被分组成一组存储器封装。每个存储器封装包括与控制器122通信的一个或多个存储器裸芯。图3A示出了用于在控制器122和各个存储器封装0-N的存储器裸芯108之间进行通信的N+1个存储器封装(封装0-封装N)和N+1个通道(通道0-通道N)。在一个实施例中,存储器封装包括其上安装有一个或多个存储器裸芯108的印刷电路板(或类似结构)。在一些实施例中,存储器封装可以包括用于包封存储器封装的存储器裸芯108的模塑材料。在一个实施例中,存储器封装可以是单个存储器裸芯108。在一些实施例中,控制器122与任何存储器封装在物理上分开。
图3A示出了每个存储器封装(封装0-封装N)包括温度传感器260,其可以是本领域已知的任何合适的温度传感器。温度传感器260处于封装中,但不在任何存储器裸芯上(存储器裸芯外)。存储器封装上的温度传感器260可以是存储器裸芯108上的温度传感器113的补充或替代。因此,一些实施例包括仅位于存储器封装上的(连接到一个或多个控制电路的)一个或多个存储器温度传感器(例如,温度传感器260),一些实施例包括仅位于存储器裸芯108上的(连接到一个或多个控制电路的)一个或多个存储器温度传感器(例如,温度传感器113),且一些实施例包括位于存储器裸芯108上的一个或多个存储器温度传感器(例如,温度传感器113)和位于存储器封装上的(连接到一个或多个控制电路的)一个或多个存储器温度传感器(例如,温度传感器260)。另外,一些实施例包括存储器系统中与存储器封装或存储器裸芯相邻但不在其中的温度传感器。
在一些实施例中,各个存储器温度传感器和控制器之间的距离是不同的,这意味着不同的存储器传感器与控制器是不同的距离,这可能导致它们经历不同的温度。这是因为在一些实施例中,不同的存储器封装与控制器是不同的距离。
注意,温度传感器260和温度传感器113与温度传感器122e形成对比。例如,温度传感器260和温度传感器113位于一个或多个存储器封装处,然而温度传感器122e位于与存储器系统的一个或多个存储器封装/裸芯分开且相距一距离。此外,温度传感器260和温度传感器113感测一个或多个存储器封装/裸芯的温度,然而温度传感器122e感测系统(例如,控制器)的温度。
在一个实施例中,存储器系统包括一个或多个存储器温度传感器,使得一个或多个存储器温度传感器中的每一个位于一个或多个存储器封装中的一个处。这意味着每个存储器温度传感器中的每一个处于可以感测一个或多个封装(其中封装可以是一个或多个存储器裸芯)的温度的位置处;这也允许一些存储器封装具有可以感测封装处的温度的多个存储器温度传感器。例如,包括温度传感器260和存储器裸芯上的温度传感器113的存储器封装具有可以感测封装处的温度的多个存储器温度传感器。
控制器122接收来自主机的请求以将主机数据(从主机接收的数据)编程到存储器系统中。在一些实施例中,控制器122将将要编程的主机数据设置为数据单位。例如,控制器122可以将主机数据设置成页、字线单位、块、超级块或其他单位。超级块是被一起编程和读取但跨越多个存储器裸芯108的数据单位。在一个实施例中,超级块包括来自每个封装中的一个裸芯的两个块。这来自一个裸芯的两个块包括每个来自两个平面的一个块。然而,也可以使用其他布置。
图4是单片三维存储器结构126的一个示例性实施例的一部分的透视图,该单片三维存储器结构126包括多个存储器单元。例如,图4示出了一个存储器的块的一部分。所描绘的结构包括位于交替电介质层和导电层的堆叠之上的一组位线BL。为了示例的目的,将电介质层中的一个标记为D,将导电层(也称为字线层)中的一个标记为W.。交替电介质层和导电层的数量可以根据具体的实施要求而变化。一组实施例包括在108-216个交替电介质层和导电层之间的,例如96个数据字线层、8个选择层、4个虚拟(dummy)字线层和108个电介质层。也可以使用多于或少于108-216层。如下所述,交替电介质层和导电层通过局部互连LI分成四个“指(fingers)”。图4仅示出了两个指和两个局部互连LI。下面,交替电介质层和字线层是源极线层SL。存储器孔被形成在交替电介质层和导电层的堆叠中。例如,存储器孔中的一个被标记为MH。注意,在图4中,介电层被示为透视图,使得读取器可以看到位于交替电介质层和导电层的堆叠中的存储器孔。在一个实施例中,通过用包括电荷捕获层的材料填充存储器孔来形成NAND串,以形成存储单元的垂直列。每个存储单元可以存储数据的一个或多个位。以下关于图4A-4F提供三维单片存储器结构126的更多细节。
图4A是解释被分成两个平面302和304的存储器结构126的一个示例性组织的框图。然后将每个平面分成M个块。在一个示例中,每个平面具有大约2000个块。然而,也可以使用不同数量的块和平面。在一个实施例中,对于两个平面存储器,块ID通常使得偶数块属于一个平面、并且奇数块属于另一个平面;因此,平面302包括块0、2、4、6、……,并且平面304包括块1、3、5、7、……在实施例中,存储器单元的块是擦除单位。也就是说,一块的所有存储器单元都被擦除。在其他实施例中,存储器单元可以由于其他原因而被分组成块,诸如以组织存储器结构126以启用信令和选择电路。
图4B-4F示出了示例性3D NAND结构。图4B是描绘来自存储器结构126的一个块的一部分的俯视图的框图。图4B中描绘的块的部分对应于图4A的块2中的部分306。从图4B可以看出,图4B描绘的块沿332的方向延伸。在一个实施例中,存储器阵列将具有60层。其他实施例具有小于或等于60层。然而,图4B仅示出了顶层。
图4B示出了表示垂直列的多个圆。每个垂直列包括多个选择晶体管和多个存储器单元。在一个实施例中,每个垂直列实现NAND串。例如,图4B描绘了垂直列422、432、442和452。垂直列422实现NAND串482。垂直列432实现NAND串484。垂直列442实现NAND串486。垂直列452实现NAND串488。以下提供垂直列的更多详细信息。由于图4B所示的块沿箭头330的方向和箭头332的方向延伸,所以块包括比图4B中所示更多的垂直列。
图4B还描绘了一组位线415,包括位线411、412、413、414、...419。可以设想连接到块的垂直列的多个二十四个的位线。表示垂直列的每个圆都有一个“x”以表示它与一个位线的连接。例如,位线414连接到垂直列422、432、442和452。
图4B中描绘的块包括将各个层连接到垂直列下方的源极线的一组局部互连402、404、406、408和410。局部互连402、404、406、408和410还用于将块的每个层划分成四个区域;例如,图4B所示的顶层被划分为被称为指的区域420、430、440和450。在实现存储器单元的块的层中,四个区域被称为由局部互连分开的字线指。在一个实施例中,块的共同级别上的字线指在块的端处连接在一起以形成单个字线。在另一实施例中,相同电平上的字线指不连接在一起。在一个示例实现中,位线仅连接到区域420、430、440和450中的每一个中的一个垂直列。在该实施方式中,每个块具有十六行的有效列,并且每个位线连接到每个块中的四行。在一个实施例中,连接到公共位线的四行全部连接到相同的字线(经由连接在一起的同一电平上的不同字线指);因此,系统使用源极侧选择线和漏极侧选择线来选择要进行存储器操作(编程、验证、读取和/或擦除)的四个中的一个(或另一个子集)。
虽然图4B示出了在块中具有四行的垂直列、四个区域和十六行的垂直列的每个区域,但是这些确切的数字是示例实现。其他实施例可以包括每个块的更多或更少的区域,每个区域更多或更少行的垂直列,以及每个块更多或更少行的垂直列。
图4B还示出了垂直列是交错的。在其他实施例中,可以使用不同的交错模式。在一些实施例中,垂直列不交错。
图4C示出了三维存储器结构126的实施例的一部分,其示出了沿图4B的线AA的横截面图。该横截面图切穿垂直柱432和434以及区域430(见图4B)。图4C的结构包括四个漏极侧选择层SGD0、SGD1、SGD2和SGD3;四个源极侧选择层SGS0、SGS1、SGS2和SGS3;四个虚拟字线层DD0、DD1、DS0和DS1;和用于连接到数据存储单元的四十八个数据字线层WLL0-WLL47。其他实施例可以实现多于或少于四个漏极侧选择层,多于或少于四个源侧选择层,多于或少于四个虚拟字线层,以及多于或少于四十八个字线层(例如,96字线层)。垂直列432和434被描绘为穿过漏极侧选择层、源极侧选择层、虚拟字线层和字线层而突出。在一个实施例中,每个垂直列包含NAND串。例如,垂直列432包含NAND串484。下面列出的垂直列和层下面是衬底101、衬底上的绝缘膜454和源极线SL。垂直列432的NAND串在堆叠的底部处具有源级端,在堆叠的顶部处具有漏极端。如图4B一致,图4C示出了通过连接器415连接到位线414的垂直列432。还示出了局部互连404和406。
为了便于参考,漏极侧选择层SGD0、SGD1、SGD2和SGD3;源极选择层SGS0、SGS1、SGS2和SGS3、虚拟字线层DD0、DD1、DS0和DS1;和字线层WLL0-WLL47统称为导电层。在一个实施例中,导电层由TiN和钨的组合制成。在其他实施例中,可以使用其它材料、例如掺杂多晶硅,诸如钨或金属硅化物的金属来形成导电层。在一些实施例中,可以由不同的材料形成不同的导电层。在导电层之间是电介质层DL0-DL59。例如,电介质层DL49位于字线层WLL43之上并在字线层WLL44之下。在一个实施例中,电介质层由SiO2制成。在其它实施例中,可以使用其它电介质材料来形成电介质层。
非易失性存储器单元沿垂直列形成,这些垂直列延伸穿过堆叠中交替的导电层和电介质层。在一个实施例中,存储器单元被布置在NAND串中。字线层WLL0-WLL47连接到存储器单元(也被称为数据存储器单元)。虚拟字线层DD0、DD1、DS0和DS1连接到虚拟存储器单元。虚拟存储器单元不存储主机数据(从主机提供的数据,例如来自主机的用户的数据),而数据存储器单元有资格存储主机数据。漏极侧选择层SGD0、SGD1、SGD2和SGD3用于将NAND串与位线电连接和断开。源级侧选择层SGS0、SGS1、SGS2和SGS3用于将NAND串与源极线SL电连接和断开。
图4D描绘了图4C中部分描绘的块的导电层(SGD0、SGD1、SGD2、SGD3、SGS0、SGS1、SGS2、SGS3、DD0、DD1、DS0、DS1和WLL0-WLL47)的逻辑表示。如上面关于图4B所提及的,在一个实施例中,局部互连402、404、406、408和410将每个导电层分成四个区域或指。例如,字线层WLL31被划分为区域460、462、464和466。对于字线层(WLL0-WLL31),这些区域称为字线指;例如,字线层WLL46被划分为字线指460、462、446和466。在一个实施例中,相同级上的四个字线指连接在一起。在另一个实施例中,每个字线指作为单独的字线而操作。
漏极侧选择栅层SGD0(顶层)也被划分为区域420、430、440和450,也称为指或选择线指。在一个实施例中,相同电平上的四个选择线指连接在一起。在另一个实施例中,每个选择线指作为单独的字线操作。
图4E描绘了包括垂直列432的一部分的图4C的区域429的横截面图。在一个实施例中,垂直柱是圆形的并且包括四层;然而,在其他实施例中,可以包括多于或少于四层,并且可以使用其他形状。在一个实施例中,垂直列432包括由诸如SiO2的电介质制成的内芯层470。然而,也可以使用其他材料。环绕内芯470的是多晶硅沟道471。也可以使用除多晶硅以外的材料。注意,沟道471连接到位线。环绕沟道471的是隧道电介质472。在一个实施例中,隧道电介质472具有ONO结构。环绕隧道电介质472的是电荷捕获层473,例如(例如)氮化硅。也可以使用其它存储器材料和结构。本文描述的技术不限于任何特定的材料或结构。
图4E描绘了电介质层DLL49、DLL50、DLL51、DLL52和DLL53,以及字线层WLL43、WLL44、WLL45、WLL46和WLL47。每个字线层包括由氧化铝层477包围的字线区域476,氧化铝层477被阻挡氧化物(SiO2)层478包围。字线层与垂直列的物理交互形成存储器单元。因此,在一个实施例中,存储器单元包括沟道471、隧道电介质472、电荷捕获层473、阻挡氧化物层478、氧化铝层477和字线区域476。例如,字线层WLL47和垂直列432的一部分构成存储器单元MC1。字线层WLL46和垂直列432的一部分构成存储器单元MC2。字线层WLL45和垂直列432的一部分构成存储器单元MC3。字线层WLL44和垂直列432的一部分构成存储器单元MC4。字线层WLL43和垂直列432的一部分构成存储器单元MC5。在其他架构中,存储器单元可以具有不同的结构;然而,存储器单元仍将是存储单位。
当存储器单元被编程时,电子被存储在与存储器单元相关联的电荷捕获层473的一部分中。响应于字线区域476上的适当电压,这些电子从沟道471通过隧道电介质472被吸入电荷捕获层473中。存储器单元的阈值电压(Vth)与存储的电荷量成比例地增加。在一个实施例中,通过Fowler-Nordheim将电子穿透到电荷捕获层中来实现编程。在擦除操作期间,电子返回到沟道或者空穴注入到电荷捕获层中以与电子重新组合。在一个实施例中,通过诸如栅极引起的漏极泄漏(gate induced drain leakage,GIDL)的物理机制将空穴注入电荷捕获层来实现擦除。
图4F示出了横跨整个块的物理字线WLL0-WLL47。图4F的结构对应于图4A-F的框2中的部分306,包括位线411、412、413、414,...419。在该块内,每个位线连接到四个NAND串。漏极侧选择线SGD0、SGD1、SGD2和SGD3用于确定四个NAND串中的哪一个连接到相关联的位线。该块也可以被认为分成四个子块SB0、SB1、SB2和SB3。子块SB0对应于由SGD0和SGS0控制的那些垂直NAND串,子块SB1对应于由SGD1和SGS1控制的那些垂直NAND串,子块SB2对应于由SGD2和SGS2控制的那些垂直NAND串,且子块SB3对应于由SGD3和SGS3控制的那些垂直NAND串。
尽管图4-4F的示例性存储器系统是包括具有电荷捕获材料的垂直NAND串的三维存储器结构,但是也可以使用本文所述的技术来使用其他(2D和3D)存储器结构。例如,也可以使用浮动栅极存储器(例如,NAND型和NOR型快闪存储器ReRAM存储器、磁阻存储器(例如,MRAM))和相变存储器(例如,PCRAM)。
ReRAM存储器的一个示例包括以X线和Y线(例如字线和位线)访问的交叉点阵列布置的可逆电阻切换元件。在另一实施例中,存储器单元可以包括导电桥存储器元件。导电桥存储器元件也可以称为可编程金属化单元。基于固体电解质内的离子的物理重定位,导电桥式存储器元件可以用作状态改变元件。在一些情况下,导电桥存储器器元件可以包括两个固体金属电极,一个相对惰性的(例如钨)和另一个电化学活性(例如银或铜),两个电极之间具有固体电解质的薄膜。随着温度升高,离子的迁移率也增加,导致导电桥存储器单元的编程阈值降低。因此,导电桥存储器元件可以具有相对于温度的宽范围的编程阈值。
磁阻存储器(MRAM)通过磁存储元件存储数据。这些元件由两个铁磁板形成,每个铁磁板可以保持由薄的绝缘层分开的磁化(magnetization)。两个板之一是设置为特定极性的永磁体;另一个板的磁化可以被改变以匹配外部磁场的磁化来存储存储器。该配置称为自旋阀,是MRAM位的最简单的结构。从这样的存储器单元的网格构建存储器器件。在用于编程的一个实施例中,每个存储器单元位于彼此成直角布置的一对写入线之间,平行于单元,一个在单元之上且一个在单元之下。当电流通过它们时,产生感应磁场。
相变存储器(PCRAM)利用了硫族化物玻璃的独特行为。一个实施例使用GeTe-Sb2Te 3超晶格通过用激光脉冲(或来自另一个源的光脉冲)简单地改变锗原子的配位状态来实现非热相变。因此,编程的剂量是激光脉冲。可以通过阻止存储器单元接收光来禁止存储器单元。注意,本文档中使用的“脉冲”不要求方波,而是包括声音、电流、光电压或其他波的(连续或非连续)振动或突发(burst)。
上述存储器系统可以被擦除、编程和读取。在成功的编程过程(以及验证)结束时,适当地,存储器单元的阈值电压应该在编程的存储器单元的阈值电压的一个或多个分布内,或者在擦除的存储器单元的阈值电压的分布内。图5示出了当每个存储器单元存储三个数据位时存储器单元阵列的示例阈值电压分布。然而,其他实施例对每个存储器单元可以使用其他数据容量(例如,诸如每个存储器单元的一、两、四或五个数据位)。图5示出了对应于八个数据状态的八个阈值电压分布。第一阈值电压分布(数据状态)S0表示被擦除的存储器单元。其他七个阈值电压分布(数据状态)S1-S17表示被编程的存储器单元,并且因此也被称为编程状态。每个阈值电压分布(数据状态)对应于该组数据位的预定值。编程到存储器单元中的数据与单元的阈值电压电平之间的具体关系取决于对单元采用的数据编码方案。在一个实施例中,使用格雷码分配来将数据值分配给阈值电压范围,使得如果存储器的阈值电压错误地改变为其邻近的物理状态,则仅一个位会被影响。
图5还示出了用于从存储器单元读取数据的七个读取参考电压Vr1、Vr2、Vr3、Vr4、Vr5、Vr6和Vr7。通过测试(例如,执行感测操作),给定的存储器单元的阈值电压是否高于或低于七个读取参考电压,系统可以确定存储器单元所在的数据状态(即,S0、S1、S2、S3、...)。
图5还示出了七个验证参考电压Vv1、Vv2、Vv3、Vv4、Vv5、Vv6和Vv7。当将存储器单元编程到数据状态S1时,系统将测试那些存储器单元是否具有大于或等于Vv1的阈值电压。当将存储器单元编程到数据状态S2时,系统将测试存储器单元是否具有大于或等于Vv2的阈值电压。当将存储器单元编程到数据状态S3时,系统将测试存储器单元是否具有大于或等于Vv3的阈值电压。当将存储器单元编程到数据状态S4时,系统将测试那些存储器单元是否具有大于或等于Vv4的阈值电压。当将存储器单元编程到数据状态S5时,系统将测试那些存储器单元是否具有大于或等于Vv5的阈值电压。当将存储器单元编程到数据状态S6时,系统将测试那些存储器单元是否具有大于或等于Vv6的阈值电压。当将存储器单元编程到数据状态S7时,系统将测试那些存储器单元是否具有大于或等于Vv7的阈值电压。
在一个实施例中,存储器单元可以从擦除数据状态S0直接被编程到任何编程数据状态S1-S7,其被称为全序列编程。例如,可以首先擦除要被编程的存储器单元群(population),使得群中的所有存储器单元都在擦除数据状态S0。然后,使用编程处理将存储器单元直接编程成数据状态S1、S2、S3、S4、S5、S6和/或S7。例如,虽然一些存储器单元正在从数据状态S0被编程到数据状态S1,但是其他存储器单元正在从数据状态S0被编程到数据状态S2和/或从数据状态S0到数据状态S3等等。图6的箭头表示全序列编程。除了全序列编程之外,本文描述的技术还可以与其他类型的编程(包括但不限于多级/相位编程)一起使用。在一些实施例中,数据状态S1-S7可以重叠,控制器122依赖ECC来识别正存储了正确数据。
图6是描述将数据值分配给数据状态的一个示例的表格。在图6的表中,S0-111,S1=110,S2=200,S3=000,S4=010,S5=011,S6=001和S7=101。然而,也可以使用数据的其他编码。本文在此公开的技术不需要特定的数据编码。
在一个实施例中,当块经过擦除操作时,所有存储器单元被移动到数据状态S0,擦除状态。在图6的实施例中,当存储器单元被擦除(例如,处于数据状态S0)时,存储器单元中存储的所有位都为1。
图7A是描述由控制器122执行的用于编程的过程的一个实施例的流程图。在一些实施例中,替代具有专用控制器,而是主机可以执行控制器的功能。在步骤702中,控制器122向一个或多个存储器裸芯108发送指令以编程数据。在步骤704中,控制器122向一个或多个存储器裸芯108发送一个或多个地址。一个或多个逻辑地址指示数据的编程位置。在步骤706中,控制器122向一个或多个存储器裸芯108发送将要编程的数据。在步骤708中,控制器122从一个或多个存储器裸芯108接收编程的结果。示例结果包括数据被编程成功、编程操作失败的指示、以及数据被编程但在不同位置的指示、或其他结果。在步骤710中,响应于在步骤708中接收的结果,控制器122更新其维护的系统信息。在一个实施例中,系统维护指示每个块的状态信息的数据表。该信息可以包括逻辑地址到物理地址的映射、哪些块/字线是打开/关闭(opened/closed)(或部分地打开/关闭)、哪些块/字线是坏的等。
在一些实施例中,在步骤702之前,控制器122将从主机接收主机数据和编程的指令,并且控制器将运行ECC引擎224以从主机数据创建码字,如本领域已知并在下面更多详细描述。这些码字是在步骤706中被发送的数据。控制器还可以对数据进行加扰以获得针对存储器单元的磨损均衡。
图7B是描述编程过程的一个实施例的流程图。响应于图7A的步骤(即响应于来自控制器122的指令、数据和地址),由存储器裸芯执行图7B的处理。在一个示例性实施例中,使用上面讨论的一个或多个控制电路在状态机112的指示(direction)下对存储器裸芯108执行图7B的处理。图7B的过程也可以用于实现上面讨论的全序列编程。另外,该过程可以被用来实现多阶段编程过程的每个阶段。
通常,在编程操作期间(经由所选字线)施加到控制栅极的编程电压被施加为一系列编程脉冲。编程脉冲之间是用于执行验证的一组验证脉冲。在许多实施方式中,编程脉冲的幅度随着每个连续脉冲以预定步长增加。在图7B的步骤770中,编程电压(Vpgm)被初始化为起始幅度(例如,或另一适当电平),并且由状态机112保持的编程计数器PC被初始化为1。在步骤772中,将编程信号Vpgm的编程脉冲施加到所选择的字线(被选择用于编程的字线)。在一个实施例中,同时被编程的存储器单元的组都连接到相同的字线(所选字线)。未选择的字线接收一个或多个升压(boosting)电压(例如,7-11伏特)以执行本领域已知的升压方案。如果存储器单元将被编程,则对应的位线接地。另一方面,如果存储单元应将保持在其当前阈值电压,则对应的位线连接到Vdd以禁止编程。在步骤772中,将编程脉冲同时施加到连接到所选字线的所有存储器单元,使得连接到所选字线的所有存储器单元被同时编程。即,它们在同一时间或重叠时间被编程(两者都被认为是同时的)。以这种方式,连接到所选字线的所有存储单元将同时改变其阈值电压,除非它们已被锁定编程(locked out from programming)。
在步骤774中,使用适当的一组验证参考电压来验证适当的存储器单元以执行一个或多个验证操作。在一个实施例中,通过施加测试选择的用于编程的存储器单元的阈值电压是否已经达到适当的验证参考电压来执行验证过程。
在步骤776中,确定是否所有的存储器单元都已经达到其目标阈值电压(通过)。如果是这样,编程过程是完整和成功的,因为所有选择的存储器单元被编程和验证到其目标状态。在步骤778中报告“PASS(通过)”状态。如果在776中确定并非所有的存储器单元已经达到其目标阈值电压(失败),然后编程过程继续到步骤780。
在步骤780中,系统对尚未达到其相应的目标阈值电压分布的存储器单元的数量进行计数。即,系统计数到目前为止,验证过程失败的存储器单元的数量。这种计数可以由状态机、控制器或其他逻辑来完成。在一个实现中,每个感测块将存储它们相应单元的状态(通过/失败)。在一个实施例中,存在一个总计数,其反映当前正在被编程在最后验证步骤中失败的存储器单元的总数。在另一个实施例中,为每个数据状态保留分开的计数。
在步骤782中,确定来自步骤780的计数是否小于或等于预定极限。在一个实施例中,预定极限是在存储器单元的页的读取处理期间可以通过纠错码(ECC)校正的位数。如果失败的存储器单元的数量小于或等于预定极限,则编程过程可以停止,并且在步骤778中报告“PASS”状态。在这种情况下,足够的存储器单元被正确地编程,使得在读取过程中可以使用ECC来校正尚未被完全编程的少量剩余存储器单元。在一些实施例中,步骤780将为每个扇区、每个目标数据状态或其它单位来计数失败的单元的数量,并且在步骤782中这些计数将单独地或共同地与阈值进行比较。
在另一个实施例中,预定极限可以小于在读取过程期间可以由ECC校正的位数,以允许将来的错误。当编程少于页面的所有存储器单元、或者比较用于仅一个数据状态(或小于所有状态)的计数时,预定极限可以是在存储器单元的页面的读取过程期间可以由ECC校正的位数的(比例的或非比例的)一部分。在一些实施例中,极限不是预定的。相反,它根据已经为页面计数的错误数、执行的编程擦除周期数或其他标准而改变。
如果错误的存储器单元的数量不小于预定极限,则编程过程在步骤784处继续,并且针对编程极限值(PL)检查编程计数器PC。编程极限值的示例包括12、20和30;然而,可以使用其他值。如果编程计数器PC不小于编程极限值PL,则编程过程被认为已经失败,并且在步骤788中报告FAIL(失败)状态。如果编程计数器PC小于编程极限值PL,则编程在步骤786处继续,在此期间编程计数器PC递增1,并将编程电压Vpgm步增到下一个幅度。例如,下一个脉冲将具有比先前脉冲大步长(例如0.1-0.5伏特的步长)的幅度。在步骤786之后,该过程循环回到步骤772,并且另一个编程脉冲被施加到所选择的字线,从而执行图7B的编程过程的另一个迭代(步骤772-786)。
通常,在验证操作和读取操作期间,所选择的字线被连接到电压(参考信号的一个示例),其电平被指定用于每个读取操作(例如,参见图5的读取比较电平Vr1、Vr2、Vr3、Vr4、Vr5、Vr6和Vr7)或验证操作(例如,参见图5的验证目标电平Vv1、Vv2、Vv3、Vv4、Vv5、Vv6和Vv7),以确定相关的存储器单元的阈值电压是否已经达到这样的电平。在应用字线电压之后,响应于施加到字线的电压,测量存储器单元的导电电流以确定存储器单元是否导通(导电电流)。如果测量导电电流大于某一值,则假定存储器单元导通,且施加到字线的电压大于存储器单元的阈值电压。如果测量导电电流不大于某一值,则假定存储器单元未导通,且施加到字线的电压不大于存储器单元的阈值电压。在读取或验证过程期间,未选择的存储器单元在其控制栅极处被提供一个或多个读取通过电压(read pass voltage),使得这些存储器单元将作为通过门(pass gate)(例如,导电电流而不管它们是被编程还是被擦除)来操作。
在读取或验证操作期间,存在许多测量存储器单元的导电电流的方法。在一个示例中,存储器单元的导电电流通过其对读出放大器中的专用电容器放电或充电的速率来测量。在另一示例中,选择的存储器单元的导电电流允许(或不允许)包括存储器单元的NAND串放电相应的位线。在一段时间后测量位线上的电压,以查看是否已经放电。注意,本文在此描述的技术可以使用本领域已知的用于验证/读取的不同方法。也可以使用本领域已知的其它读取和验证技术。
图8A是描述由控制器122执行的用于读取的过程的一个实施例的流程图。在步骤802中,控制器122向一个或多个存储器裸芯108发送指令以读取数据。在步骤804中,控制器122向一个或多个存储器裸芯108发送一个或多个地址。在步骤806中,控制器122从一个或多个存储器裸芯108接收一组码字。在步骤808中,控制器122使用ECC引擎224解码所接收的码字。在步骤808中,控制器122将解码的数据报告给主机。
图8B是描述响应于控制器122执行图8A的处理由存储器裸芯108执行的读取过程的一个实施例的流程图。在步骤850中,存储器裸芯108从控制器122接收一个或多个用于读取的指令。在步骤852中,存储器裸芯108从控制器122接收一个或多个地址。在步骤854中,存储器裸芯108解码在步骤852中接收的地址,以便识别所选择的字线。读取过程将从连接到所选字线的存储器单元读取数据。由于这是读取过程,系统将施加各种读取比较电压Vr1、Vr2、Vr3、Vr4、Vr5、Vr6和Vr7(见图5)。在步骤856中,下一个读取比较电压被施加到所选择的字线。执行第一次步骤856,将Vr1施加于所选择的字线。在步骤858中,所有位线都被预充电。在步骤860中,使得每个位线使用读出放大器放电。在预定时间段(被称为“积分(integration)时间”)之后,采样该位线的放电(步骤862)。例如,如果位线用于在读出放大器中放电电容器,则步骤862包括感测电容器上的电压。步骤862包括确定存储器单元是否响应于施加到所选择的字线的读取比较电压而被导电。在步骤864中,感测块记录连接的存储器单元是否响应于施加到所选择的字线的读取比较电压而被导电的结果。如果存在需要测试的更多的读取比较电压(步骤866),则该处理循环回到步骤856并施加下一个读取比较电压。在使用七个读取比较电压(例如,Vr1、Vr2、Vr3、Vr4、Vr5、Vr6和Vr7)的实施例中,步骤856-864的循环被执行七次。在其他实施例中,使用多于或少于七个的读取比较电压。如果已经测试了所有读取比较电压(步骤866),则该处理在步骤868处继续。在步骤868中,系统基于步骤856-864的循环的七次迭代的结果确定每个存储器单元所处的数据状态。在步骤870中,读取处理的结果(例如,从存储器单元读取的码字)被报告回控制器122。在图8A的步骤806中,控制器122接收步骤870中的报告。
如上所述,建议在控制器(或其他类型的控制电路)处周期性地测量温度。当控制器处的温度超过第一阈值时,系统将在存储器裸芯处执行温度测量。使用这种技术,可以基于局部的温度单独地对存储器裸芯进行限制。在将存储器裸芯集合成封装的系统中,可以测量封装或封装中的存储器裸芯的温度,并且该限制可以处于封装级或存储器裸芯级。以这种方式,即使控制器是热的,不热的存储器裸芯或封装也不会被限制并且可以保持完整的性能。
图9是描述用于智能温度感测和局部限制的过程的一个实施例的流程图。在步骤904中,系统使用系统温度传感器在控制器122处或上周期性地监测/感测系统温度。例如,可以由控制器122使用系统温度传感器122e(见图2和3)或离开和接近/邻近控制器122的其他温度传感器执行步骤904。在步骤906中,控制器122确定从步骤904中的测量的系统温度是否大于第一阈值。第一阈值的一个例子是100华氏度(degrees Fahrenheit)。然而,也可以使用其他阈值温度。如果系统温度不大于第一阈值,则该处理循环回到步骤904。即,不采取行动,系统将继续周期性地监测系统温度。可以每秒、每分钟、每X秒或每X分钟执行一次监测。
如果系统温度大于第一阈值(步骤906),则在步骤908中,响应于系统温度超过第一阈值的确定,系统使用存储器封装处的一个或多个温度传感器确定一个或多个存储器封装中的每一个存储器封装的一个或多个存储器温度数据值。例如,控制器122可以从任何存储器封装中的温度传感器260和/或任何存储器裸芯108中的任何温度检测电路113(或存储器裸芯附近的另一个温度传感器)访问传感器读数。这些温度传感器中的每一个温度传感器连接到(或以其他方式通信)控制器122,使得控制器122可以对所感测的信息起作用。在一个实施例中,温度数据值可以是直接温度读数、从中可导出温度的信息、或多个温度感测的数学函数(或组合)。因此,温度数据值可以被提供作为每个温度传感器的一个温度数据值,或者单个温度数据值可以表示来自多个传感器的信息。在步骤908中获得的温度数据值代表或反映了各种存储器封装和/或存储器裸芯处的温度。如上所述,将存储器封装和/或存储器裸芯处的温度与第二阈值进行比较。在一个实施例中,第二阈值与第一阈值(例如,100度)相同。在另一个实施例中,第二阈值可以小于或大于第一阈值。来自各个存储器封装(或存储器裸芯)的各个温度读数被用于局部地限制各个存储器封装(或存储器裸芯)。即,在步骤910中,系统将单独地限制存储器封装(或存储器裸芯)中温度数据值超过第二阈值的一个或多个存储器封装(或存储器器裸芯)的性能。例如,控制器122将导致温度大于第二阈值的那些存储器封装(或存储器裸芯)降低其性能以降低温度。在步骤912中,不限制具有不超过第二阈值的温度数据值的那些存储器封装(或存储器裸芯)。
在一个实施例中,步骤910中的性能的限制包括控制器122(和/或一个或多个控制电路的其他电路)通过降低正被限制的存储器封装和/或存储器裸芯的时钟速率来单独地限制各个存储器封装(或存储器裸芯)的性能。在另一个实施例中,限制包括控制器122(或一个或多个控制电路的其他控制电路)减少每单位时间发送到正被限制的存储器封装上的各个存储器裸芯的指令量。
图10是描述从存储器封装获得一个或多个存储器温度数据值的过程的一个实施例的流程图。因此,图10的过程是包括在每个存储器封装上具有多个存储器裸芯的多个存储器封装的实施例的步骤908的一个示例性实现。在步骤1002中,系统感测每个存储器封装的每个存储器裸芯108处的温度。在一个实施例中,这包括使用每个存储器裸芯108的温度检测电路/传感器113。在步骤1004中,将温度测量值发送到控制器122。在一个实施例中,在状态机112的指示下执行步骤1002和1004。在步骤1006中,控制器122选择每个存储器封装的最高温度,并将该最大温度指定为存储器封装的代表温度。因此,每个存储器封装的最大温度是将与上述讨论的第二阈值进行比较的温度。在另一个实施例中,取代选择最大温度,可以使用多个存储器裸芯的温度的不同数学函数来选择代表温度值。例如,控制器122可以使用每个存储器裸芯的温度的平均值、感测的中值或不同的数学函数。
图11是描述获得一个或多个存储器温度数据值的另一实施例的流程图。因此,图11是图9的步骤908的另一个示例性实现。在步骤1102中,系统感测每个存储器封装处的温度。例如,系统使用每个存储器封装的温度传感器260(参见图3A)执行感测操作。在另一个实施例中,步骤1102中的温度的感测可以由与存储器封装相邻但在存储器封装的外面的温度传感器来执行、或者使用存储器封装上的存储器裸芯108的一个或多个存储器裸芯的一个或多个温度检测电路/传感器113来执行。在步骤1104中,将测量的温度信息发送到控制器122。因此,上面讨论的温度传感器中的每一个温度传感器连接到控制器122(或以其它方式与其通信)。
图12是描述确定一个或多个存储器温度数据值的另一实施例的流程图。因此,图12代表图9的步骤908的另一个示例性实现。图12的处理适用于没有存储器封装的实施例。因此,在步骤1202中,系统感测每个存储器裸芯处的温度。例如,将在每个存储器裸芯上使用温度检测电路/传感器113来感测温度信息。在步骤1204中,将在步骤1202中感测到的温度信息被传达给控制器122。
图13是描述用于选择限制或不限制存储器封装的一个实施例的流程图。因此,图13的处理是图10和图11的实施例的步骤910和912的一个示例性实现。在一个示例中,图13的处理由控制器122执行。在其他示例中,上述的控制电路中的一个或多个控制电路的其他组件可以执行图13的处理。在图13的步骤1302中,系统访问将要考虑的下一个存储器封装的最大温度。如果对于存储器封装仅获得了一个温度,则将访问(access)该温度(也被称为封装温度)。在使用不同数学函数来确定存储器封装的代表温度的实施例中,在步骤1302将访问该代表温度。在步骤1304,将访问的温度与第二阈值进行比较。如果该温度不大于第二阈值,则关闭在步骤1308中针对该特定存储器封装的限制。在具有多个裸芯和存储器封装的实施例中,关闭存储器封装上的所有存储器裸芯的限制。如果在步骤1302中访问的温度大于第二阈值(步骤1304),则在步骤1306中,控制器122开启存储器封装中的所有存储器裸芯的性能的限制。在步骤1306或1308之后,控制器122在步骤1310中确定是否存在更多要考虑的存储器封装。如果存在更多的封装要考虑,则该处理循环回到步骤1302。因此,对于每个存储器封装执行由步骤1302、1304、1306和1308提供的循环。在所有存储器封装都被考虑之后(步骤1310),则完成限制分析(步骤1312)。
图14是描述用于选择限制或不限制存储器裸芯的一个实施例的流程图。也就是说,图14的过程是步骤910和912的另一示例性实现。图14的过程适用于图12的实施例,在该实施例中的系统包括一个或多个存储器裸芯,存储器裸芯不是必须在存储器封装中。图14中的过程由控制器122(或另一个控制电路)执行。在步骤1402中,控制器122访问当前正被考虑的存储器裸芯的温度。在步骤1404中,控制器122确定在步骤1402中访问的温度是否大于第二阈值。如果是这样,控制器122在步骤1406中开启所考虑的存储器裸芯的性能的限制。如果温度不大于第二阈值,则控制器122将关闭所考虑的存储器裸芯的性能的限制。在步骤1406和1408之后,控制器122确定是否存在更多要考虑的存储器裸芯。如果是,则该过程循环回到步骤1402;否则,在步骤1412中,限制分析完成。可以看出,步骤1402-1410执行循环,其中对于每个存储器裸芯执行一次循环。
在一个实施例中,控制器122包括指示每个存储器裸芯(或每个存储器封装)是开启还是关闭限制的数据结构。因此,当从主机接收到编程或读取数据的指令时,控制器122(例如限制管理器239)可以使用该数据结构来选择向哪一个或多个裸芯发送指令。如上所述,那些正在被限制的存储器裸芯将比没有被限制的存储器裸芯在每单位时间接收到更少的指令。
一个实施例包括一种非易失性存储设备,包括:一个或多个控制电路;连接到所述一个或多个控制电路的一个或多个存储器封装;连接到所述一个或多个控制电路的系统温度传感器;所述系统温度传感器与所述一个或多个存储器封装中的每一个分离并相距一段距离;以及连接到所述一个或多个控制电路的一个或多个存储器温度传感器,所述一个或多个存储器温度传感器中的每一个位于所述一个或多个存储器封装中的一个处。一个或多个控制电路被配置为使用系统温度传感器监测系统温度。一个或多个控制电路被配置为响应于系统温度超过第一阈值的确定,使用一个或多个存储器温度传感器来确定一个或多个存储器封装中的每一个存储器封装的一个或多个存储器温度数据值。一个或多个控制电路被配置为单独地限制存储器封装中的其温度数据值超过第二阈值的一个或多个存储器封装的性能。
一个实施例包括一种用于操作非易失性存储系统的方法,包括:周期性地监测非易失性存储系统的控制器处的温度,并确定控制器处监测的温度是否超过第一阈值;响应于所述控制器处的所监测的温度超过所述第一阈值的确定,感测所述非易失性存储系统的第一存储器裸芯处的温度并确定在所述第一存储器裸芯处感测的温度是否大于第二阈值;并且响应于第一存储器裸芯处感测的温度大于第二阈值的确定,限制存储器裸芯的性能。
一个实施例包括一种用于操作非易失性存储系统的方法,包括:使用与非易失性存储系统的一个或多个存储器结构分离并相距一段距离的系统传感器来监测系统温度,并确定监测的系统温度是否超过第一阈值;响应于监测的系统温度超过第一阈值的确定,使用位于所述一个或多个存储器结构处的一个或多个传感器来感测一个或多个存储器温度,并确定所述一个或多个存储器温度是否超过第二阈值;并且响应于由位于特定存储器结构处的一个或多个传感器中的特定传感器感测到的一个或多个温度中的特定温度超过第二阈值的确定,降低所述一个或多个存储器结构中的特定存储器结构的性能。
一个实施例包括一种非易失性存储设备,包括:一个或多个存储器封装,每个存储器封装包括包含多个非易失性存储器单元的至少一个单片三维存储器结构;与所述一个或多个存储器封装分离并相距一段距离的系统温度传感器;一个或多个存储器温度传感器,所述一个或多个存储器温度传感器中的每一个共同位于所述一个或多个存储器封装中的一个处;用于监测系统温度传感器处的温度并确定系统温度传感器处监测的温度是否超过第一阈值的装置;用于响应于所述系统温度传感器处所监测的温度超过第一阈值的确定,感测所述一个或多个存储器温度传感器处的温度的装置;以及用于限制与具有大于第二阈值的感测温度的至少一个存储器温度传感器共同定位的特定存储器结构的性能的装置。
为了本文档的目的,可以使用说明书中对“实施例”、“一个实施例”、“一些实施例”或“另一个实施例”的参考来描述不同的实施例或相同的实施例。
为了本文档的目的,连接可以是直接连接或间接连接(例如,经由一个或多个其他部分)。在一些情况下,当元件被称为连接或耦合到另一元件时,元件可以直接被连接到另一元件或通过中间元件间接地被连接到另一元件。当元件被称为直接地被连接到另一元件时,元件与另一元件之间不存在中间元件。如果两个设备直接或间接连接,则两个设备处于“通信中”,使得它们可以在它们之间通信电子信号。
为了本文档的目的,“基于”一词可以被看作“至少部分基于”。
为了本文档的目的,在没有附加上下文的情况下,诸如“第一”对象、“第二”对象和“第三”对象的数字术语的使用可以不意味着对象的排序,而是可以用于识别的目的以识别不同的对象。
为了本文档的目的,术语对象的“组”可以指一个或多个对象的“组”。
上述详细描述是为了说明和描述的目的而呈现的。它不是穷举的或限制于所公开的精确形式。鉴于以上教导,许多修改和变化是可能的。选择的所描述的实施例是为了最好地解释所提出的技术远离及其实际应用,从而使得本领域的其他技术人员可以在各种实施例中以及适用于所预期的特定用途的各种修改来最佳地利用它们。意图是由所附权利要求限定范围。
Claims (10)
1.一种非易失性存储设备,包括:
一个或多个控制电路;
一个或多个存储器封装,连接到所述一个或多个控制电路;
系统温度传感器,连接到所述一个或多个控制电路,所述系统温度传感器与所述一个或多个存储器封装中的每一个分离且相距一距离;以及
一个或多个存储器温度传感器,连接到所述一个或多个控制电路,所述一个或多个存储器温度传感器中的每一个位于在所述一个或多个存储器封装中的一个处;
所述一个或多个控制电路被配置为使用所述系统温度传感器来监测系统温度,所述一个或多个控制电路被配置为响应于确定所述系统温度超过第一阈值而使用所述一个或多个存储器温度传感器来确定所述一个或多个存储器封装中的每一个的一个或多个存储器温度数据值,所述一个或多个控制电路被配置为单独地限制所述存储器封装中的其温度数据值超过第二阈值的一个或多个存储器封装的性能。
2.如权利要求1所述的非易失性存储设备,其中:
所述一个或多个控制电路包括控制器,所述控制器与所述一个或多个存储器封装在物理上分离;
所述系统温度传感器位于所述控制器处,并被配置为测量所述控制器处的温度;以及
所述一个或多个存储器温度传感器中的每一个位于存储器封装中的一个存储器封装处并且被配置为测量所述存储器封装中的所述一个存储器封装处的温度。
3.如权利要求1所述的非易失性存储设备,其中:
所述一个或多个存储器封装包括多个存储器封装,每个存储器封装具有多个存储器裸芯;
每个存储器裸芯包括至少一个存储器温度传感器;
所述一个或多个控制电路包括控制器,所述控制器被实现在第一裸芯上,所述第一裸芯是与所述存储器裸芯中的任何一个分离的裸芯;以及
所述系统温度传感器位于所述控制器处,并被配置为测量所述控制器处的温度。
4.如权利要求1所述的非易失性存储设备,其中:
所述一个或多个存储器封装包括多个存储器封装,每个存储器封装具有多个存储器裸芯;
每个存储器裸芯包括至少一个存储器温度传感器;以及
所述一个或多个控制电路被配置为通过限制所述存储器封装中的包含感测到超过所述第二阈值的存储器温度的存储器温度传感器的一个或多个存储器封装中的任何存储器裸芯的性能来单独限制所述存储器封装中的所述一个或多个存储器封装的性能。
5.如权利要求1所述的非易失性存储设备,其中:
所述一个或多个控制电路被配置为通过减少正被限制的存储器封装中的存储器裸芯的时钟速率或通过减少每单位时间发送到正被限制的存储器封装中的存储器裸芯的指令量来单独地限制所述存储器封装中的所述一个或多个存储器封装的性能。
6.如权利要求1所述的非易失性存储设备,其中:
所述一个或多个存储器封装的每一个包含多个存储器裸芯;
每个存储器裸芯包括至少一个存储器温度传感器;以及
所述一个或多个控制电路被配置为通过感测每个存储器封装的每个存储器裸芯处的温度并且识别每个存储器封装的最大感测温度来确定所述一个或多个存储器封装中的每一个的一个或多个存储器温度数据值。
7.如权利要求1至6中的任何一个所述的非易失性存储设备,其中:
所述一个或多个存储器封装中的每一个包括一个或多个单片三维非易失性存储器结构;
所述一个或多个控制电路包括控制器,所述控制器与所述一个或多个存储器封装在物理上分离;
所述系统温度传感器位于所述控制器处,并被配置为测量所述控制器处的温度;
所述一个或多个存储器温度传感器中的每一个位于所述存储器封装中的一个存储器封装中并且被配置为测量所述存储器封装中的所述一个存储器封装处的温度;以及
所述控制器、所述一个或多个存储器封装、所述系统温度传感器和所述一个或多个存储器温度传感器是固态驱动器的一部分。
8.一种操作非易失性存储设备的方法,包括:
周期性地监测所述非易失性存储系统的控制器处的温度,并确定所述控制器处监测的温度是否超过第一阈值;
响应于确定所述控制器处的监测的温度超过所述第一阈值,感测所述非易失性存储系统的第一存储器裸芯处的温度并确定在所述第一存储器裸芯处感测的温度是否大于第二阈值;以及
响应于确定在第一存储器裸芯处感测的温度大于第二阈值,限制所述存储器裸芯的性能。
9.如权利要求8所述的方法,其中:
感测所述第一存储器裸芯处的温度包括感测第一封装处的温度,第一封装包括所述第一存储器裸芯和多个附加存储器裸芯;以及
限制所述存储器裸芯的性能包括限制所述第一封装的所有存储器裸芯的性能。
10.如权利要求8或9所述的方法,其中:
只有当所述控制器处的监测的温度超过第一阈值时,才进行所述第一存储器裸芯处的温度的感测。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/294,313 US9811267B1 (en) | 2016-10-14 | 2016-10-14 | Non-volatile memory with intelligent temperature sensing and local throttling |
US15/294,313 | 2016-10-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107958677A CN107958677A (zh) | 2018-04-24 |
CN107958677B true CN107958677B (zh) | 2021-07-16 |
Family
ID=60189804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710825499.3A Active CN107958677B (zh) | 2016-10-14 | 2017-09-05 | 具有智能温度感测和局部限制的非易失性存储器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9811267B1 (zh) |
CN (1) | CN107958677B (zh) |
DE (1) | DE102017120325A1 (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10389988B2 (en) * | 2014-09-05 | 2019-08-20 | The Boeing Company | High efficiency motion blur reduction and infrared projection |
KR20180099266A (ko) * | 2017-02-28 | 2018-09-05 | 삼성전자주식회사 | 데이터 저장 장치, 그의 동작 방법 및 그를 포함하는 전자 시스템 |
US10394618B2 (en) | 2017-07-14 | 2019-08-27 | International Business Machines Corporation | Thermal and power memory actions |
US10181351B1 (en) * | 2017-08-30 | 2019-01-15 | Micron Technology, Inc. | Increased NAND performance under high thermal conditions |
CN108052292A (zh) * | 2017-12-25 | 2018-05-18 | 成都信息工程大学 | 一种固态硬盘的高温保护方法 |
US11010063B2 (en) * | 2017-12-25 | 2021-05-18 | Chengdu University Of Information Technology | High-temperature protection method for solid state drive and implementation device thereof |
CN107977169A (zh) * | 2017-12-25 | 2018-05-01 | 成都信息工程大学 | 一种高可靠性固态硬盘 |
US20190196726A1 (en) * | 2017-12-26 | 2019-06-27 | Nanya Technology Corporation | Dynamic random access memory and method of operating the same |
US10535383B2 (en) | 2018-02-28 | 2020-01-14 | Sandisk Technologies Llc | Throughput performance for cross temperature handling scenarios |
US11650642B2 (en) * | 2018-12-03 | 2023-05-16 | Micron Technology, Inc. | Estimating the temperature of a memory sub-system |
US10846010B2 (en) * | 2018-12-13 | 2020-11-24 | Intel Corporation | Data portion allocation for temperature management of memory devices |
US11081198B2 (en) | 2019-05-16 | 2021-08-03 | Sandisk Technologies Llc | Non-volatile memory with countermeasure for over programming |
US10839928B1 (en) * | 2019-05-16 | 2020-11-17 | Sandisk Technologies Llc | Non-volatile memory with countermeasure for over programming |
CN110211953A (zh) * | 2019-06-06 | 2019-09-06 | 深圳佰维存储科技股份有限公司 | 存储芯片、固态硬盘及其温度控制方法 |
US20210132817A1 (en) * | 2019-10-31 | 2021-05-06 | Western Digital Technologies, Inc. | Relocation of Data in Memory At Different Transfer Rates Based on Temperature |
GB2592598B (en) * | 2020-03-02 | 2024-02-21 | Zahnradfabrik Friedrichshafen | Electric power steering system |
US11749370B2 (en) * | 2020-05-29 | 2023-09-05 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method of testing a memory circuit and memory circuit |
US20220019375A1 (en) * | 2020-07-14 | 2022-01-20 | Micron Technology, Inc. | Abnormal condition detection based on temperature monitoring of memory dies of a memory sub-system |
KR102440364B1 (ko) * | 2021-08-27 | 2022-09-05 | 삼성전자주식회사 | 성능 조정 동작을 수행하는 메모리 시스템 |
CN113707192B (zh) * | 2021-09-01 | 2023-02-28 | 合肥兆芯电子有限公司 | 存储器温控调频方法及存储器温控调频系统 |
TWI796935B (zh) * | 2022-01-19 | 2023-03-21 | 宏碁股份有限公司 | 記憶體控制方法與記憶體儲存系統 |
US11941270B2 (en) * | 2022-04-04 | 2024-03-26 | Western Digital Technologies, Inc. | Data storage device with die-based enhanced thermal management |
US20230367377A1 (en) * | 2022-05-10 | 2023-11-16 | Western Digital Technologies, Inc. | Solid-state device with multi-tier extreme thermal throttling |
US11886260B2 (en) * | 2022-05-19 | 2024-01-30 | Western Digital Technologies, Inc. | Thermal management of storage devices increasing host write performance |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1957318A (zh) * | 2004-05-24 | 2007-05-02 | 英特尔公司 | 计算机系统中的扼制存储器 |
CN103578543A (zh) * | 2012-07-25 | 2014-02-12 | 飞思卡尔半导体公司 | 基于操作温度调整nvm单元偏置条件以降低性能退化的方法和系统 |
CN104238600A (zh) * | 2014-09-28 | 2014-12-24 | 广州创维平面显示科技有限公司 | 温度控制方法和装置 |
US9148910B1 (en) * | 2011-11-21 | 2015-09-29 | Marvell Israel (M.I.S.L.) Ltd. | Method and apparatus for heating up integrated circuits |
CN105390481A (zh) * | 2014-08-27 | 2016-03-09 | 瑞萨电子株式会社 | 半导体器件 |
CN105745714A (zh) * | 2013-11-21 | 2016-07-06 | 桑迪士克科技股份有限公司 | 基于温度的闪速存储器系统维持 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7436724B2 (en) | 2006-08-04 | 2008-10-14 | Sandisk Corporation | Method and system for independent control of voltage and its temperature co-efficient in non-volatile memory devices |
US7500078B2 (en) | 2006-08-25 | 2009-03-03 | Dell Products L.P. | Thermal control of memory modules using proximity information |
US7596714B2 (en) | 2006-11-20 | 2009-09-29 | Intel Corporation | Methods and apparatus to manage throttling in computing environments |
US8122265B2 (en) * | 2006-12-29 | 2012-02-21 | Intel Corporation | Power management using adaptive thermal throttling |
US7755946B2 (en) | 2008-09-19 | 2010-07-13 | Sandisk Corporation | Data state-based temperature compensation during sensing in non-volatile memory |
US8982653B2 (en) | 2008-11-11 | 2015-03-17 | Memory Technologies Llc | Method and device for temperature-based data refresh in non-volatile memories |
JP5599984B2 (ja) * | 2009-04-06 | 2014-10-01 | ピーエスフォー ルクスコ エスエイアールエル | 半導体装置 |
US8213255B2 (en) | 2010-02-19 | 2012-07-03 | Sandisk Technologies Inc. | Non-volatile storage with temperature compensation based on neighbor state information |
US8472274B2 (en) * | 2011-03-02 | 2013-06-25 | Apple Inc. | Using temperature sensors with a memory device |
US9006000B2 (en) | 2012-05-03 | 2015-04-14 | Sandisk Technologies Inc. | Tj temperature calibration, measurement and control of semiconductor devices |
US9355024B2 (en) * | 2012-10-10 | 2016-05-31 | Apple Inc. | Systems and methods for nonvolatile memory performance throttling |
US9202579B2 (en) | 2013-03-14 | 2015-12-01 | Sandisk Technologies Inc. | Compensation for temperature dependence of bit line resistance |
US9244519B1 (en) | 2013-06-25 | 2016-01-26 | Smart Storage Systems. Inc. | Storage system with data transfer rate adjustment for power throttling |
US9165668B1 (en) * | 2013-07-29 | 2015-10-20 | Western Digital Technologies, Inc. | Data retention monitoring using temperature history in solid state drives |
US9257167B2 (en) * | 2014-03-13 | 2016-02-09 | Katsuyuki Fujita | Resistance change memory |
KR102211126B1 (ko) | 2014-04-17 | 2021-02-02 | 삼성전자주식회사 | 동작 성능을 조절하는 메모리 시스템 및 메모리 시스템의 동작방법 |
US9678490B2 (en) * | 2014-06-23 | 2017-06-13 | Dell Products L.P. | Systems and methods for temperature-based performance optimization of memory devices |
US9530512B2 (en) | 2014-09-19 | 2016-12-27 | Sandisk Technologies Llc | Temperature dependent sensing scheme to counteract cross-temperature threshold voltage distribution widening |
US9437318B2 (en) | 2014-10-24 | 2016-09-06 | Sandisk Technologies Llc | Adaptive program pulse duration based on temperature |
US9489146B2 (en) * | 2014-12-09 | 2016-11-08 | Sandisk Technologies Llc | Memory system and method for selecting memory dies to perform memory access operations in based on memory die temperatures |
-
2016
- 2016-10-14 US US15/294,313 patent/US9811267B1/en active Active
-
2017
- 2017-09-04 DE DE102017120325.7A patent/DE102017120325A1/de not_active Withdrawn
- 2017-09-05 CN CN201710825499.3A patent/CN107958677B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1957318A (zh) * | 2004-05-24 | 2007-05-02 | 英特尔公司 | 计算机系统中的扼制存储器 |
US9148910B1 (en) * | 2011-11-21 | 2015-09-29 | Marvell Israel (M.I.S.L.) Ltd. | Method and apparatus for heating up integrated circuits |
CN103578543A (zh) * | 2012-07-25 | 2014-02-12 | 飞思卡尔半导体公司 | 基于操作温度调整nvm单元偏置条件以降低性能退化的方法和系统 |
CN105745714A (zh) * | 2013-11-21 | 2016-07-06 | 桑迪士克科技股份有限公司 | 基于温度的闪速存储器系统维持 |
CN105390481A (zh) * | 2014-08-27 | 2016-03-09 | 瑞萨电子株式会社 | 半导体器件 |
CN104238600A (zh) * | 2014-09-28 | 2014-12-24 | 广州创维平面显示科技有限公司 | 温度控制方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US9811267B1 (en) | 2017-11-07 |
DE102017120325A1 (de) | 2018-04-19 |
CN107958677A (zh) | 2018-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107958677B (zh) | 具有智能温度感测和局部限制的非易失性存储器 | |
CN109427396B (zh) | 在非易失性存储器中确定快速编程字线 | |
CN109074849B (zh) | 非易失性存储器和操作非易失性存储器的方法 | |
CN109119120B (zh) | 非易失性存储器子区块擦除干扰管理方案 | |
CN108573733B (zh) | 具有编程失败恢复的非易失性存储器 | |
EP3420555B1 (en) | Non-volatile memory with customized control of injection type of disturb during read operations | |
US9852803B2 (en) | Dummy word line control scheme for non-volatile memory | |
EP3619710B1 (en) | Electric field to reduce select gate threshold voltage shift | |
US10026488B2 (en) | Non-volatile memory with read disturb detection for open blocks | |
US10636498B1 (en) | Managing bit-line settling time in non-volatile memory | |
US9910730B2 (en) | System for handling erratic word lines for non-volatile memory | |
US10068656B2 (en) | Non-volatile memory with multi-pass programming | |
KR102411922B1 (ko) | 메모리 셀의 잘못된 형상 완화 | |
US10204689B1 (en) | Non-volatile memory with methods to reduce creep-up field between dummy control gate and select gate | |
CN111292792B (zh) | 3d存储器中的晶体管阈值电压维持 | |
US9570160B1 (en) | Non-volatile storage system with defect detetction and early programming termination | |
EP3613047B1 (en) | Non-volatile memory with reduced program speed variation | |
US9910749B2 (en) | Non-volatile memory with dynamic repurpose of word line | |
TW202312175A (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 |