CN109213689A - 粗略轮次和精细轮次多级nvm编程 - Google Patents

粗略轮次和精细轮次多级nvm编程 Download PDF

Info

Publication number
CN109213689A
CN109213689A CN201810698104.2A CN201810698104A CN109213689A CN 109213689 A CN109213689 A CN 109213689A CN 201810698104 A CN201810698104 A CN 201810698104A CN 109213689 A CN109213689 A CN 109213689A
Authority
CN
China
Prior art keywords
level
round
unit part
data
page
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
CN201810698104.2A
Other languages
English (en)
Inventor
A.卡基菲鲁茨
P.卡拉瓦德
R.S.舍诺伊
A.S.马德拉斯瓦拉
D.塞巴斯蒂安
郭炘
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN109213689A publication Critical patent/CN109213689A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/3436Arrangements for verifying correct programming or erasure
    • G11C16/3468Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
    • G11C16/3481Circuits or methods to verify correct programming of nonvolatile memory cells whilst programming is in progress, e.g. by detecting onset or cessation of current flow in cells and using the detector output to terminate programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • 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
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • 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/32Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5622Concurrent multilevel programming of more than one cell
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/14Circuits or methods to write a page or sector of information simultaneously into a nonvolatile memory, typically a complete row or word line in flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Microelectronics & Electronic Packaging (AREA)

Abstract

存储器编程器装置的实施例可以包括在第一轮次中对多级存储器的第一级单元部分编程的第一级编程器,在第一轮次中对多级存储器的第二级单元部分粗略编程的粗略编程器,其中第二级单元部分包括比第一级单元部分更多的级,以及在第二轮次中根据在第一轮次中被编程在第一级单元部分中的数据对多级存储器的第二级单元部分精细编程的精细编程器。

Description

粗略轮次和精细轮次多级NVM编程
技术领域
实施例一般地涉及存储器系统。更特别地,实施例涉及粗略轮次(pass)和精细轮次多级NVM编程。
背景技术
多级非易失性存储器存储多于一位每单元。具有四(4)个可能电压级每单元的多级NAND存储器可以表示两(2)位数据每单元。具有八(8)个电压级每单元的NAND存储器可以被称为三级单元(TLC)存储器,并且可以表示三(3)位数据每单元。具有十六(16)个电压级每单元的NAND存储器可以被称为四级单元(QLC)存储器,并且可以表示四(4)位数据每单元。关于一些NAND闪存设备,擦除块可以将所有位值设置成1。编程可以是指将经擦除的位从位值1改变成位值0的过程。
附图说明
通过阅读以下说明书和随附权利要求,并且通过参照附图,实施例的各种优点将变得对本领域技术人员是明显的,其中:
图1是根据实施例的电子处理系统的示例的框图;
图2是根据实施例的存储器编程器装置的示例的框图;
图3A至3C是根据实施例的对存储器编程的方法的示例的流程图;
图4是根据实施例的对存储器编程的方法的另一示例的流程图;
图5是根据实施例的阈值电压分布的说明图;
图6是根据实施例的编程脉冲的说明图;
图7是根据实施例的编程脉冲的另一说明图;
图8是根据实施例的对存储器编程的方法的另一示例的流程图;
图9是根据实施例的对存储器编程的方法的另一示例的流程图;
图10是根据实施例的电子处理系统的另一示例的框图;以及
图11是根据实施例的电子处理系统的另一示例的框图。
具体实施方式
本文所描述的各种实施例可以包括存储器组件和/或到存储器组件的接口。这样的存储器组件可以包括易失性和/或非易失性存储器。非易失性存储器可以是不要求电力以维持由介质存储的数据的状态的存储介质。在一个实施例中,存储器设备可以包括块可寻址存储器设备,诸如基于NAND或NOR技术的那些。存储器设备还可以包括将来世代非易失性设备,诸如三维交叉点存储器设备,或其它字节可寻址原位写入非易失性存储器设备。在一个实施例中,存储器设备可以是或可以包括使用硫系玻璃的存储器设备、多阈值级NAND闪速存储器、NOR闪速存储器、单级或多级相变存储器(PCM)、电阻式存储器、纳米线存储器、铁电晶体管随机存取存储器(FeTRAM)、抗铁电存储器、合并忆阻器技术的磁阻随机存取存储器(MRAM)存储器、包括金属氧化物基底、氧空位基底的电阻式存储器,以及导电桥随机存取存储器(CB-RAM)或自旋转移力矩(STT)-MRAM、基于自旋电子磁性结存储器的设备、基于磁性隧穿结(MTJ)的设备、基于DW(畴壁)和SOT(自旋轨道转移)的设备、基于闸流管(thiristor)的存储器设备,或以上或其它存储器中的任何的组合。存储器设备可以是指管芯自身和/或是指经封装的存储器产品。在特定实施例中,具有非易失性存储器的存储器组件可以遵从由联合电子设备工程会议(JEDEC)颁布的一个或多个标准,诸如JESD218、JESD219、JESD220-1、JESD223B、JESD223-1,或其它合适的标准(本文所引用的JEDEC标准在jedec.org处可得到)。
易失性存储器可以是要求电力以维持由介质存储的数据的状态的存储介质。易失性存储器的非限制性示例可以包括各种类型的RAM,诸如动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)。可以使用在存储器模块中的一种特定类型的DRAM是同步动态随机存取存储器(SDRAM)。在特定实施例中,存储器组件的DRAM可以遵从由JEDEC颁布的标准,诸如针对DDR SDRAM的JESD79F、针对DDR2 SDRAM的JESD79-2F、针对DDR3 SDRAM的JESD79-3F、针对DDR4 SDRAM的JESD79-4A、针对低功率DDR(LPDDR)的JESD209、针对LPDDR2的JESD209-2、针对LPDDR3的JESD209-3以及针对LPDDR4的JESD209-4(这些标准在www.jedec.org处可得到)。这样的标准(和类似的标准)可以被称为基于DDR的标准,并且实现这样的标准的存储设备的通信接口可以被称为基于DDR的接口。
现在转向图1,电子处理系统10的实施例可以包括处理器11、通信耦合到处理器11的多级NAND存储器12以及通信耦合到多级NAND存储器12以对多级NAND存储器12编程的存储器编程器13。在一些实施例中,多级NAND存储器12可以包括单级单元(SLC)部分14和四级单元(QLC)部分15。存储器编程器13可以有利地被配置成在第一轮次中对SLC部分14编程,在第一轮次中对QLC部分15粗略编程,并且在第二轮次中根据在第一轮次中被编程在SLC部分14中的数据对QLC部分15精细编程。例如,在第一轮次中被编程在QLC部分15中的数据可能是未经验证的。在一些实施例中,存储器编程器13还可以被配置成在电力中断之后根据存储在SLC部分14中的数据对QLC部分15精细编程。如以下更加详细描述的,一些实施例可以与其他多级部分(例如TLC等)一起工作。在一些实施例中,存储器编程器13可以包括或合并有存储器控制器。
系统10的一些实施例还可以包括通信耦合到多级NAND存储器12以便在SLC部分14与QLC部分15之间翻译地址的页面映射翻译器16。在一些实施例中,例如,页面映射翻译器16可以集成在与多级NAND存储器12相同的管芯上。系统10还可以包括通信耦合到存储器编程器13以存储数据页面的页面缓冲器17,其中存储器编程器13可以被配置成与第二数据页面被传送到页面缓冲器17同时,根据存储在页面缓冲器17中的第一数据页面对SLC部分14编程。
以上处理器11、多级NAND存储器12、存储器编程器13、SLC部分14、QLC部分15、页面映射翻译器16、页面缓冲器17和其它系统组件中的每一个的实施例可以以硬件、软件或其任何合适的组合来实现。例如,硬件实现可以包括可配置的逻辑,诸如例如可编程逻辑阵列(PLA)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD),或使用电路技术的固定功能逻辑硬件,所述电路技术诸如例如专用集成电路(ASIC)、互补金属氧化物半导体(CMOS)或晶体管-晶体管逻辑(TTL)技术,或其任何组合。
可替换地或此外,这些组件的全部或部分可以实现在一个或多个模块中作为存储在机器或计算机可读存储介质中的要由处理器或计算设备执行的逻辑指令集,所述机器或计算机可读存储介质诸如RAM、只读存储器(ROM)、可编程ROM(PROM)、固件、闪速存储器等。例如,可以以一种或多种操作系统(OS)适用/适当的编程语言的任何组合来编写实施组件的操作的计算机程序代码,所述编程语言包括诸如PYTHON、PERL、JAVA、SMALLTALK、C++、C#等之类的面向对象的编程语言,以及诸如“C”编程语言或类似编程语言之类的常规过程编程语言。例如,多级NAND存储器12、其它持久性存储介质或其它系统存储器可以存储指令集,该指令集在由处理器11执行时使得系统10实现系统10的一个或多个组件、特征或方面(例如存储器编程器13等)。
现在转向图2,存储器编程器装置20的实施例可以包括在第一轮次中对多级存储器的第一级单元部分编程的第一级编程器21、在第一轮次中对多级存储器的第二级单元部分粗略编程的粗略编程器22,其中第二级单元部分包括比第一级单元部分更多的电压级,以及在第二轮次中根据在第一轮次中被编程在第一级单元部分中的数据对多级存储器的第二级单元部分精细编程的精细编程器23。例如,在第一轮次中被编程在第二级单元部分中的数据可以未经验证。在一些实施例中,精细编程器23还可以被配置成在电力中断之后根据存储在第一级单元部分中的数据对第二级单元部分精细编程。
装置20的一些实施例还可以包括通信耦合到第一级编程器21、粗略编程器22和/或精细编程器23中的一个或多个以在第一级单元部分与第二级单元部分之间翻译地址的页面映射翻译器24。在一些实施例中,例如,页面映射翻译器24可以集成在与多级非易失性存储器相同的管芯上。一些实施例还可以包括通信耦合到第一级编程器21以存储数据页面的页面缓冲器25,其中第一级编程器21可以被配置成与第二数据页面被传送到页面缓冲器25同时,根据存储在页面缓冲器25中的第一数据页面对第一级单元部分编程。
以上第一级编程器21、粗略编程器22、精细编程器23、页面映射翻译器24、页面缓冲器25和装置20的其它组件中的每一个的实施例可以以硬件、软件或其任何组合来实现。例如,硬件实现可以包括可配置的逻辑,诸如例如PLA、FPGA、CPLD,或使用电路技术的固定功能逻辑硬件,所述电路技术诸如例如ASIC、CMOS或TTL技术,或其任何组合。可替换地或此外,这些组件可以实现在一个或多个模块中作为存储在机器或计算机可读存储介质中的要由处理器或计算设备执行的逻辑指令集,所述机器或计算机可读存储介质诸如RAM、ROM、PROM、固件、闪速存储器等。例如,可以以一种或多种OS适用/适当的编程语言的任何组合来编写实施组件的操作的计算机程序代码,所述编程语言包括诸如PYTHON、PERL、JAVA、SMALLTALK、C++、C#等之类的面向对象的编程语言,以及诸如“C”编程语言或类似编程语言之类的常规过程编程语言。
现在转向图3A至3C,对多级非易失性存储器编程的方法30的实施例可以包括在块31处在第一轮次中对多级存储器的第一级单元部分编程,在块32处在第一轮次中对多级存储器的第二级单元部分粗略编程,其中第二级单元部分包括比第一级单元部分更多的级,以及在块33处在第二轮次中根据在第一轮次中被编程在第一级单元部分中的数据对多级存储器的第二级单元部分精细编程。例如,在块34处,在第一轮次中被编程在第二级单元部分中的数据可以是未经验证的。方法30还可以包括在块35处在电力中断之后根据存储在第一级单元部分中的数据对第二级单元部分精细编程。
方法30的一些实施例还可以包括在块36处在第一级单元部分与第二级单元部分之间翻译地址,和/或在块37处在与多级存储器相同的管芯上集成地址翻译。在一些实施例中,方法30还可以包括在块38处在第二数据页面被传送到多级存储器同时,根据第一数据页面对第一级单元部分编程。
方法30的实施例可以实现在例如诸如本文所描述的那些之类的系统、装置、计算机、设备等中。更特别地,方法30的硬件实现可以包括可配置的逻辑,诸如例如PLA、FPGA、CPLD,或使用电路技术的固定功能逻辑硬件,所述电路技术诸如例如ASIC、CMOS或TTL技术,或其任何组合。可替换地或此外,方法30可以实现在一个或多个模块中作为存储在机器或计算机可读存储介质中的要由处理器或计算设备执行的逻辑指令集,所述诸如RAM、ROM、PROM、固件、闪速存储器等之类的诸如RAM、ROM、PROM、固件、闪速存储器等。例如,可以以一种或多种OS适用/适当的编程语言的任何组合来编写实施组件的操作的计算机程序代码,所述编程语言包括诸如PYTHON、PERL、JAVA、SMALLTALK、C++、C#等之类的面向对象的编程语言,以及诸如“C”编程语言或类似编程语言之类的常规过程编程语言。例如,方法30可以被实现在如结合以下的示例19至24描述的计算机可读介质上。例如,方法30的实施例或部分可以被实现在操作系统(OS)上运行的驱动器软件或应用(例如通过应用编程接口(API))中。
一些实施例可以提供对诸如QLC NAND产品之类的NAND存储器编程的方法。一些实施例可以通过改进两轮编程方案中的第一轮编程的速度来有利地改进多位每单元NAND存储器的编程速度,以及特别地,4位每单元QLC NAND存储器的编程速度。例如,一些实施例可以提供2轮编程,其中比一些其它2轮编程技术明显更快地执行第一轮次。
在不限于操作理论的情况下,在一些其它的QLC NAND存储器中,从经擦除的状态开始,基于针对3个页面提供的用户数据,将字线WLn编程到8电压级(状态)每单元(针对WLn的第一轮次)。然后,将下个相邻的字线WLn+1编程到8级每单元状态(针对WLn+1的第一轮次)。由于WLn+1和WLn单元之间的耦合,在该阶段处影响WLn单元的8级布置(placement)。然而,由于这不是最终的16级布置,因此关于来自WLn+1布置的侵害更加宽容。然后基于其当前内容(在第一轮次中写入的3个数据页面)和由用户提供的一个附加数据页面将WLn编程到其最终的16级每单元状态(针对WLn的第二轮次)。通过这样做,一旦WLn处于其16级每单元状态,其阈值电压(Vt)布置仅受从8级到16级每单元状态对WLn+1编程所影响,这相比于从经擦除的状态到8级每单元状态对WLn+1编程是明显更小的侵害。在一些实现中,该其它编程技术可以被称为8-16编程技术。
在前述8-16编程技术(例如其可以是写入操作的部分)中,第一轮次布置对来自3个用户数据页面的数据进行编码。将单元正确布置到其最终的16级每单元(QLC)状态要求正确地读取来自第一轮次的数据。在读取第一轮次数据中做出的任何错误导致最终QLC状态的误布置。从8级每单元(TLC)状态正确地读取数据的能力要求该状态的相对精细的布置。为了这样做,8-16编程技术的第一轮次需要使用相对小的栅控步长(step)和许多验证步长。因此,前述2轮编程的第一轮次也将相对缓慢。另外,取决于读取操作的预期原始误位率(RBER),第二轮次编程的准备中的三个TLC数据页面的读取可能需要一个或多个页面上的纠错,这进一步减缓总体编程。还提供第四数据页面并且将其与从TLC状态读取的3个数据页面组合地使用以将单元编程为最终的16级QLC状态。例如,16级可以对应于二进制4位值(0至15),其中前3页面提供值的初始3位,并且第四页面提供4位值的最后第四位。
在另一2轮编程技术中,更快的2轮编程可以通过在第一轮次中基于两个用户数据页面编程到4级每单元(MLC)状态并且然后在第二轮次中基于再两个用户数据页面编程到最终的16级每单元(QLC)状态来实现。然而,该4-16编程技术以来自相邻字线的更多侵害为代价,并且表现出相比于8-16编程技术的RWB损失。
一些其它编程技术的另一缺陷在于,第二轮次(其可以为几毫秒)期间的中断或电力丧失导致之前在MLC/TLC状态中存储的数据的丢失。由于该数据在明显早于(有时早几天)提供该数据的第4页面以对第二轮次编程的时间处进行写入,因此需要规定以提供对在这样的中断/电力丢失的事件中的数据丢失的免疫力或从其的恢复。该问题导致系统和/或变成技术的另外的复杂度。
在根据一些实施例的QLC实现中,在对字线WLn编程的第一轮次中,可以由系统提供四(4)个数据页面(例如,如与一些其它8-16编程技术中的三个数据页面相对的)。页面数据可以被临时写入到SLC块并且还可以用于将QLC块中的对应单元布置到粗略16级每单元状态中。粗略布置可以减少或最小化作为第二轮次编程的结果的Vt移动以及因而减少或最小化相邻字线WLn+1上的侵害(在WLn的第二轮次编程中将WLn从粗略16级每单元状态编程到最终16级每单元状态之前,相邻的字线WLn+1可能已经被编程到最终16级每单元状态中)。在将下个相邻的字线WLn+1编程到粗略的16级每单元状态中之后,可以通过首先在内部读取对应的SLC块并且使用来自SLC块的数据以将WLn中的单元移动到其精细16级每单元状态来执行对WLn编程的第二轮次。
有利地,在一些实施例中,当相比于一些其它8-16两轮编程技术时,可以明显地改进(例如改进超过20%)QLC NAND的总体编程速度,而同时提供相当的读取窗口预算(RWB)。此外或可替换地,一些实施例还可以有利地对第二轮编程期间的电力丧失固有地免疫或有弹性,因为在最终QLC布置之前,数据在SLC块中是可得到的(例如,在由于例如电力中断或丧失所致的第一与第二轮次之间的编程中的中断之后,可以从SLC块恢复或编程QLC块)。
现在转向图4,对存储器编程的方法40的实施例可以包括第一轮次41和第二轮次42。在对字线WLn编程的第一轮次41中,在块43处可以向多级存储器提供四个数据页面P1、P2、P3和P4。在块44处该数据可以被立即写入到对应于WLn的指定单级每单元(SLC)位置中。在块45处数据还可以用于将WLn布置到粗略16级状态中(例如如以下更加详细描述的)。块45处的粗略编程可以移动每一个单元的Vt接近于其最终布置,使得操作WLn上的编程的第二轮次42不导致相邻的字线WLn-1上的明显侵害。在对WLn编程的第二轮次42中,在块46处可以从对应的SLC位置读取四个数据页面P1、P2、P3和P4,并且在块47处将其用于将WLn布置到精细16级状态中。
现在转向图5,说明性Vt分布可以表示基于粗略布置的第一QLC编程轮次52和基于精细布置的第二QLC编程轮次54。在经擦除的状态(L0)处开始,在对WLn编程的第一轮次52期间,提供四个数据页面,并且在粗略16级状态中对单元编程。如图5中所示,粗略16级状态中的数据不是可读的,如通过彼此重叠的宽级示意性图示的。 在WLn+1上执行类似的第一轮粗略编程之后,WLn将不再经受明显的侵害,并且可以在WLn上执行第二轮54编程。为了执行第二轮次54,可以首先从指定SLC位置读取对应的四个数据页面,并且然后可以将WLn的单元布置在其最终的16级状态中(例如如通过不彼此重叠的较窄级示意性图示的)。
由于在将QLC单元编程到其最终16级状态之前在对应的SLC位置中存储数据的副本,因此依照一些实施例,第一轮次52中的粗略16级布置有利地不需要是可读的,并且因而不需要被紧密布置。有利地,一些实施例可以使用非常快的编程过程而不验证数据。在粗略度方面,在一些实施例中,第一轮次布置可以使得每一级的Vt分布不超过最终16级布置的期望最大值Vt加上某个裕度以计及编程速度的最差情况条件和来自WLn+1的第一轮次布置的侵害。
现在转向图6,说明图可以表示对QLC单元编程的第一轮次的实施例期间的程序脉冲序列。在一些其它编程技术中,将具有增加的幅度的编程脉冲的序列应用于所选WL。每一个编程脉冲然后跟随有楼梯序列以确定每一个位线(BL)是否已经达到其期望的编程状态(例如,单元的Vt高于预定验证电压)。在每一个编程脉冲处,已经达到其期望的编程状态的BL连接到典型地在2-3V的范围中的电压,使得它们被禁止进一步编程。尚未达到其期望的编程状态的BL连接到诸如接地信号之类的低电压,使得它们被编程。另外,验证步骤可以包括特殊步骤以确定尚未达到其期望的编程状态但是接近于该状态的那些BL。典型地,这些BL连接到编程电压和禁止电压之间的信号,使得它们以降低的速度利用例如选择性缓慢程序收敛(SSPC)来编程。在常规的8-16编程技术中,例如,对第一轮次编程(TLC状态)可以要求高达20或更多的编程脉冲,每一个跟随有数个验证步骤(例如三个验证步骤)。作为结果,在一些其它编程技术中,第一轮次可以要求高达3ms来完成。
在一些实施例中,对QLC单元编程的第一轮次可以有利地通过向所选WL应用编程脉冲序列来执行而没有使每一个程序脉冲跟随有一系列验证楼梯序列。如图6中所示,例如,第一程序脉冲可以对除了属于L0的那些之外的所有单元编程(例如可以禁止L0 BL,并且所有其它BL可以接收程序信号)。第二程序脉冲可以对除了L0和L1之外的所有单元编程,并且以此类推,如图6中所图示的。有利地,一些实施例可以利用仅15个程序脉冲,并且没有验证步骤,并且可以比其它第一轮次编程技术快得多地执行(例如小于1ms)。
现在转向图7,在一些实施例中,可以在每一个程序脉冲处编程两组单元。如图7中所图示的,第一程序脉冲可以以全编程速度对L2及以上编程并且以较慢的速度对L1编程(例如可以禁止L0 BL;L2及以上BL可以连接到程序电压(例如接地);并且L1 BL可以连接到中间电压)。第二脉冲可以以全速对L4及以上编程,并且以较慢的速度对L3编程,并且以此类推。有利地,一些实施例可以利用总共8个程序脉冲(并且没有验证步骤),这可以减少第一轮次的程序时间(例如减少到小于500μs)。
在一些实施例中,第一轮次还可以包括对指定SLC位置中的数据编程。由于SLC利用单级布置,因此编程可以通过在没有验证步骤的情况下向所选WL应用单个脉冲来完成。这样的SLC编程是非常快的(例如在250μs或更少内执行)。类似地,在第二轮次编程的准备中读取四个SLC数据页面可以比读取三个TLC数据页面快得多地完成,并且有利地可以不要求外部纠错。在一些实施例中,可以预先配置或可以动态地配置可用SLC存储器的尺寸。
现在转向图8,对存储器编程的方法60的实施例可以包括在块61处向NAND传送第一数据页面P1,以及在块62处在对应的SLC位置中对P1数据编程。方法60可以包括然后在块63处向NAND传送第二数据页面P2,以及在块64处在对应的SLC位置中对P2数据编程。方法60可以包括然后在块65处向NAND传送第三数据页面P3,以及在块66处在对应的SLC位置中对P3数据编程。方法60可以包括然后在块67处向NAND传送第四数据页面P4,以及在块68处在对应的SLC位置中对P4数据编程。方法60可以包括然后在块69处基于四个页面P1、P2、P3和P4将QLC WLn编程到16级粗略状态中。随后,方法60可以包括然后在块70处从对应于QLCWLn的SLC位置内部读取四个页面P1、P2、P3和P4,以及在块71处基于内部读取的页面P1、P2、P3和P4而将QLC WLn编程到16级最终状态中。
在编程的第一轮次中,例如,四个数据页面可以被传送到NAND并且存储在指定SLC位置中。相同的数据可以保持在NAND管芯的页面缓冲器内部,并且用于将对应的QLC WL编程到16个粗略状态中。在编程的第二轮次中,四个数据页面可以从SLC位置内部读取而不在NAND管芯外部传送数据,并且被用于将对应的QLC WL编程到最终的16级状态中。在一些实施例中,将QLC WL编程到粗略状态中可以紧接在将四个数据页面编程到SLC位置中之后执行。对QLC WLn编程的第二轮次可以在完成对对应于WLn+1的数据粗略编程的第二轮次完成之后执行。为了进一步增加将数据编程到SLC页面中的速度,可以有利地将每一个数据页面编程到指定SLC位置中,而同时下个数据页面被传送到NAND中。
现在转向图9,对存储器编程的方法80的实施例可以包括在块81处向NAND传送第一数据页面P1,以及在块82处在对应的SLC位置中编程P1数据。方法80可以包括然后在块83处向NAND传送第二数据页面P2,以及在块84处在对应的SLC位置中编程P2数据。方法80可以包括然后在块85处向NAND传送第三数据页面P3,以及在块86处在对应的SLC位置中编程P3数据。方法80可以包括然后在块87处向NAND传送第四数据页面P4,以及在块88处在对应的SLC位置中编程P4数据。方法80可以包括然后在块89处从对应于QLC WLn的SLC位置内部读取四个页面P1、P2、P3和P4,以及在块90处基于内部读取的四个页面P1、P2、P3和P4将QLCWLn编程到16级粗略状态中。随后,方法80可以包括然后在块91处从对应于QLC WLn的SLC位置内部读取四个页面P1、P2、P3和P4,以及在块92处基于内部读取的页面P1、P2、P3和P4将QLC WLn编程到16级最终状态中。
在方法80的一些实施例中,数据可以不直接用于在写入操作期间将对应的QLC WL编程到16级状态中。而是(例如如可以通过拷贝回命令发起的),可以从对应的SLC位置内部读取编程QLC WLn可能所需要的四个数据页面。数据然后可以用于将QLC WLn编程到16级粗略状态中。方法80然后可以从对应的SLC位置内部读取编程WLn+1可能所需要的四个数据页面,并且将QLC WLn+1编程到16级粗略状态中。随后,方法80可以再次从指定SLC位置内部读取编程QLC WLn所需要的四个页面,并且使用数据以将QLC WLn编程到最终的16级状态中。
尽管已经结合对应于SLC存储器的第一级单元部分和对应于QLC存储器的第二级单元部分描述了说明性示例,但是其它级数目在一些实施例的范围内。例如,一些实施例可以包括对应于MLC存储器的第一级单元部分。类似地,一些实施例可以有益于对应于TLC存储器的第二级单元部分和/或超过16级。
现在转向图10,电子处理系统100的实施例可以包括耦合到多级NAND设备102的计算系统101。NAND设备102可以包括耦合到QLC块104的命令和地址状态机103。状态机103还可以耦合到页面映射翻译器105,页面映射翻译器105可以耦合到四个SLC带A、B、C和D。可以预先配置或可以动态地配置SLC带的数目和/或带的大小。页面映射翻译器105可以在QLC地址与对应的SLC地址之间翻译。例如,系统100可以确定和管理对应于特定QLC地址的SLC地址。诸如固态驱动器(SSD)之类的存储设备可以包括控制器芯片和一个或多个NAND管芯。在系统100中,可以在每一个NAND管芯内部执行QLC地址与对应的SLC地址之间的翻译。
现在转向图11,电子处理系统110的实施例可以包括耦合到多级NAND设备112的计算系统111。NAND设备112可以包括耦合到QLC块114和四个SLC带A、B、C和D的命令和地址状态机113。可以预先配置或可以动态地配置SLC带的数目和/或带的大小。计算系统111可以包括页面映射翻译器115。页面映射翻译器115可以在QLC地址与对应的SLC地址之间翻译。例如,系统110可以确定和管理对应于特定QLC地址的SLC地址。诸如SSD之类的存储设备可以包括控制器芯片和一个或多个NAND管芯。在系统110中,可以由计算系统111中的NAND控制器来执行QLC地址与对应的SLC地址之间的翻译。
附加的注释和示例:
示例1可以包括一种电子处理系统,包括:处理器;通信耦合到处理器的多级NAND存储器,多级NAND存储器包括单级单元(SLC)部分和四级单元(QLC)部分;以及通信耦合到多级NAND存储器以对多级NAND存储器编程的存储器编程器,其中存储器编程器还要在第一轮次中对SLC部分编程,在第一轮次中对QLC部分粗略编程,并且在第二轮次中根据在第一轮次中被编程在SLC部分中的数据对QLC部分精细编程。
示例2可以包括示例1的系统,还包括页面映射翻译器,其通信耦合到多级NAND存储器以在SLC部分与QLC部分之间翻译地址。
示例3可以包括示例2的系统,其中页面映射翻译器集成在与多级NAND存储器相同的管芯上。
示例4可以包括示例1至3中任何一个的系统,其中存储器编程器还要在电力中断之后根据存储在SLC部分中的数据对QLC部分精细编程。
示例5可以包括示例1至3中任何一个的系统,其中在第一轮次中被编程在QLC部分中的数据未经验证。
示例6可以包括示例1至3中任何一个的系统,还包括页面缓冲器,其通信耦合到存储器编程器以存储数据页面,其中存储器编程器还要与第二数据页面被传送到页面缓冲器同时,根据存储在页面缓冲器中的第一数据页面对SLC部分编程。
示例7可以包括一种存储器编程器装置,包括:在第一轮次中对多级非易失性存储器的第一级单元部分编程的第一级编程器;在第一轮次中对多级存储器的第二级单元部分粗略编程的粗略编程器,其中第二级单元部分包括比第一级单元部分更多的电压级;以及在第二轮次中根据在第一轮次中被编程在第一级单元部分中的数据对多级存储器的第二级单元部分精细编程的精细编程器。
示例8可以包括示例7的装置,还包括页面映射翻译器,其通信耦合到第一级编程器、粗略编程器和精细编程器以在第一级单元部分与第二级单元部分之间翻译地址。
示例9可以包括示例8的装置,其中页面映射翻译器集成在与多级存储器相同的管芯上。
示例10可以包括示例7至9中任何一个的装置,其中精细编程器还要在电力中断之后根据存储在第一级单元部分中的数据对第二级单元部分精细编程。
示例11可以包括示例7至9中任何一个的装置,其中在第一轮次中被编程在第二级单元部分中的数据未经验证。
示例12可以包括示例7至9中任何一个的装置,还包括页面缓冲器,其通信耦合到第一级编程器以存储数据页面,其中第一级编程器还要与第二数据页面被传送到页面缓冲器同时,根据存储在页面缓冲器中的第一数据页面对第一级单元部分编程。
示例13可以包括一种对存储器编程的方法,包括:在第一轮次中对多级非易失性存储器的第一级单元部分编程;在第一轮次中对多级存储器的第二级单元部分粗略编程,其中第二级单元部分包括比第一级单元部分更多的级;以及在第二轮次中根据在第一轮次中被编程在第一级单元部分中的数据对多级存储器的第二级单元部分精细编程。
示例14可以包括示例13的方法,还包括在第一级单元部分与第二级单元部分之间翻译地址。
示例15可以包括示例14的方法,还包括将地址翻译集成在与多级存储器相同的管芯上。
示例16可以包括示例13至15中任何一个的方法,还包括在电力中断之后根据存储在第一级单元部分中的数据对第二级单元部分精细编程。
示例17可以包括示例13至15中任何一个的方法,其中在第一轮次中被编程在第二级单元部分中的数据未经验证。
示例18可以包括示例13至15中任何一个的方法,还包括与第二数据页面被传送到多级存储器同时,根据第一数据页面对第一级单元部分编程。
示例19可以包括至少一个计算机可读介质,其包括指令集,所述指令集在由计算设备执行时,使得计算设备:在第一轮次中对多级存储器的第一级单元部分编程;在第一轮次中对多级存储器的第二级单元部分粗略编程,其中第二级单元部分包括比第一级单元部分更多的级;以及在第二轮次中根据在第一轮次中被编程在第一次单元部分中的数据对多级存储器的第二级单元部分精细编程。
示例20可以包括示例19所述的至少一个计算机可读介质,包括另外的指令集,所述另外的指令集在由计算设备执行时,使得计算设备在第一级单元部分与第二级单元部分之间翻译地址。
示例21可以包括示例20所述的至少一个计算机可读介质,包括另外的指令集,所述另外的指令集在由计算设备执行时,使得计算设备将地址翻译集成在与多级存储器相同的管芯上。
示例22可以包括示例19至21中任何一个所述的至少一个计算机可读介质,包括另外的指令集,所述另外的指令集在由计算设备执行时,使得计算设备在电力中断之后根据存储在第一级单元部分中的数据对第二级单元部分精细编程。
示例23可以包括示例19至21中任何一个所述的至少一个计算机可读介质,其中在第一轮次中被编程在第二级单元部分中的数据未经验证。
示例24可以包括示例19至21中任何一个所述的至少一个计算机可读介质,包括另外的指令集,所述另外的指令集在由计算设备执行时,使得计算设备与第二数据页面被传送到多级存储器同时,根据第一数据页面对第一级单元部分编程。
示例25可以包括一种存储器编程器装置,包括:用于在第一轮次中对多级存储器的第一级单元部分编程的部件;用于在第一轮次中对多级存储器的第二级单元部分粗略编程的部件,其中第二级单元部分包括比第一级单元部分更多的级;以及用于在第二轮次中根据在第一轮次中被编程在第一次单元部分中的数据对多级存储器的第二级单元部分精细编程的部件。
示例26可以包括示例25的装置,还包括用于在第一级单元部分与第二级单元部分之间翻译地址的部件。
示例27可以包括示例26的装置,还包括用于将地址翻译集成在与多级存储器相同的管芯上的部件。
示例28可以包括示例25至27中任何一个的装置,还包括用于在电力中断之后根据存储在第一级单元部分中的数据对第二级单元部分精细编程的部件。
示例29可以包括示例25至27中任何一个的装置,其中在第一轮次中被编程在第二级单元部分中的数据未经验证。
示例30可以包括示例25至27中任何一个的装置,还包括用于与第二数据页面被传送到多级存储器同时,根据第一数据页面对第一级单元部分编程的部件。
实施例适用于供所有类型的半导体集成电路(“IC”)芯片使用。这些IC芯片的示例包括但不限于处理器、控制器、芯片集组件、可编程逻辑阵列(PLA)、存储器芯片、网络芯片、片上系统(SoC)、SSD/NAND控制器ASIC等。此外,在一些图中,利用线来表示信号导体线。一些可以是不同的,以指示更多构成信号路径,具有数字标签,以指示数个构成信号路径,和/或在一端或多端具有箭头,以指示主要信息流方向。然而,这不应当以限制性方式来解释。而是,这样的添加细节可以结合一个或多个示例性实施例一起使用以便于电路的更容易的理解。任何所表示的信号线,无论是否具有附加信息,都可以实际地包括可以在多个方向上传播并且可以利用任何合适类型的信号方案实现的一个或多个信号,例如利用差分对、光纤线和/或单端线实现的数字或模拟线。
可能已经给出示例尺寸/模型/值/范围,尽管实施例不限于此。随着制造技术(例如光刻)随时间而成熟,预计到可以制造更小尺寸的设备。此外,可以在图内示出或可以不在图内示出与IC芯片和其它组件的公知电力/接地连接,为了图示和讨论的简化,并且以免使实施例的某些方面模糊。另外,可以以框图形式示出布置,以便避免使实施例模糊,并且还鉴于以下事实:关于这样的框图布置的实现的详情高度取决于要在其内实现实施例的平台,即这样的详情应当良好地在本领域普通技术人员的范围内。在阐述具体细节(例如电路)以便描述示例实施例的情况下,对本领域技术人员应当明显的是,可以在没有这些具体细节的情况下或利用这些具体细节的变型来实践实施例。因而将描述视为说明性而非限制性的。
术语“耦合”可以在本文中用于指代所讨论的组件之间的任何类型的关系(直接或间接),并且可以适用于电气、机械、流体、光学、电磁、机电或其它连接。此外,术语“第一”、“第二”等可以在本文中仅用于便于讨论,并且不承载特定时间或先后意义,除非另行指示。
如在本申请中和在权利要求中所使用的,通过术语“一个或多个”连结的项目列表可以意味着所列举的项目的任何组合。例如,短语“A、B和C中的一个或多个”和短语“A、B或C中的一个或多个”二者可以意味着A;B;C;A和B;A和C;B和C;或A、B和C。
本领域技术人员将从前述描述领会到,可以以各种形式实现实施例的宽泛技术。因此,虽然已经结合其特定示例描述了实施例,但是实施例的真实范围不应当如此受限,因为当研究附图、说明书和随附权利要求后,其它修改将变得对技术从业者而言是明显的。

Claims (24)

1.一种电子处理系统,包括:
处理器;
通信耦合到处理器的多级NAND存储器,多级NAND存储器包括:
单级单元(SLC)部分,以及
四级单元(QLC)部分;以及
通信耦合到多级NAND存储器以对多级NAND存储器编程的存储器编程器,其中存储器编程器还要:
在第一轮次中对SLC部分编程,
在第一轮次中对QLC部分粗略编程,以及
在第二轮次中根据在第一轮次中被编程在SLC部分中的数据对QLC部分精细编程。
2.权利要求1所述的系统,还包括:
页面映射翻译器,其通信耦合到多级NAND存储器以在SLC部分与QLC部分之间翻译地址。
3.权利要求2所述的系统,其中页面映射翻译器集成在与多级NAND存储器相同的管芯上。
4.权利要求1至3中任一项所述的系统,其中存储器编程器还要在电力中断之后根据存储在SLC部分中的数据对QLC部分精细编程。
5.权利要求1至3中任一项所述的系统,其中在第一轮次中被编程在QLC部分中的数据未经验证。
6.权利要求1至3中任一项所述的系统,还包括:
通信耦合到存储器编程器以存储数据页面的页面缓冲器,其中存储器编程器还要与第二数据页面被传送到页面缓冲器同时,根据存储在页面缓冲器中的第一数据页面对SLC部分编程。
7.一种存储器编程器装置,包括:
在第一轮次中对多级非易失性存储器的第一级单元部分编程的第一级编程器;
在第一轮次中对多级存储器的第二级单元部分粗略编程的粗略编程器,其中第二级单元部分包括比第一级单元部分更多的电压级;以及
在第二轮次中根据在第一轮次中被编程在第一级单元部分中的数据对多级存储器的第二级单元部分精细编程的精细编程器。
8.权利要求7所述的装置,还包括:
页面映射翻译器,其通信耦合到第一级编程器、粗略编程器和精细编程器以在第一级单元部分与第二级单元部分之间翻译地址。
9.权利要求8所述的装置,其中页面映射翻译器集成在与多级存储器相同的管芯上。
10.权利要求7至9中任一项所述的装置,其中精细编程器还要在电力中断之后根据存储在第一级单元部分中的数据对第二级单元部分精细编程。
11.权利要求7至9中任一项所述的装置,其中在第一轮次中被编程在第二级单元部分中的数据未经验证。
12.权利要求7至9中任一项所述的装置,还包括:
通信耦合到第一级编程器以存储数据页面的页面缓冲器,其中第一级编程器还要与第二数据页面被传送到页面缓冲器同时,根据存储在页面缓冲器中的第一数据页面对第一级单元部分编程。
13.一种对存储器编程的方法,包括:
在第一轮次中对多级存储器的第一级单元部分编程;
在第一轮次中对多级存储器的第二级单元部分粗略编程,其中第二级单元部分包括比第一级单元部分更多的级;以及
在第二轮次中根据在第一轮次中被编程在第一级单元部分中的数据对多级存储器的第二级单元部分精细编程。
14.权利要求13所述的方法,还包括:
在第一级单元部分与第二级单元部分之间翻译地址。
15.权利要求14所述的方法,还包括:
将地址翻译集成在与多级存储器相同的管芯上。
16.权利要求13至15中任一项所述的方法,还包括:
在电力中断之后根据存储在第一级单元部分中的数据对第二级单元部分精细编程。
17.权利要求13至15中任一项所述的方法,其中在第一轮次中被编程在第二级单元部分中的数据未经验证。
18.权利要求13至15中任一项所述的方法,还包括:
与第二数据页面被传送到多级存储器同时,根据第一数据页面对第一级单元部分编程。
19.一种存储器编程器装置,包括:
用于在第一轮次中对多级存储器的第一级单元部分编程的部件;
用于在第一轮次中对多级存储器的第二级单元部分粗略编程的部件,其中第二级单元部分包括比第一级单元部分更多的级;以及
用于在第二轮次中根据在第一轮次中被编程在第一级单元部分中的数据对多级存储器的第二级单元部分精细编程的部件。
20.权利要求19所述的装置,还包括:
用于在第一级单元部分与第二级单元部分之间翻译地址的部件。
21.权利要求20所述的装置,还包括:
用于将地址翻译集成在与多级存储器相同的管芯上的部件。
22.权利要求19至21中任一项所述的装置,还包括:
用于在电力中断之后根据存储在第一级单元部分中的数据对第二级单元部分精细编程的部件。
23.权利要求19至21中任一项所述的装置,其中在第一轮次中被编程在第二级单元部分中的数据未经验证。
24.权利要求19至21中任一项所述的装置,还包括:
用于与第二数据页面被传送到多级存储器同时,根据第一数据页面对第一级单元部分编程的部件。
CN201810698104.2A 2017-06-29 2018-06-29 粗略轮次和精细轮次多级nvm编程 Pending CN109213689A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/637481 2017-06-29
US15/637,481 US10109361B1 (en) 2017-06-29 2017-06-29 Coarse pass and fine pass multi-level NVM programming

Publications (1)

Publication Number Publication Date
CN109213689A true CN109213689A (zh) 2019-01-15

Family

ID=62486516

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810698104.2A Pending CN109213689A (zh) 2017-06-29 2018-06-29 粗略轮次和精细轮次多级nvm编程

Country Status (3)

Country Link
US (1) US10109361B1 (zh)
EP (2) EP4362019A3 (zh)
CN (1) CN109213689A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111667868A (zh) * 2019-03-08 2020-09-15 西部数据技术公司 通过平衡格雷编码的多阶段编程
CN113168374A (zh) * 2019-06-28 2021-07-23 西部数据技术公司 写入命令在分区命名空间中的保持
CN113393884A (zh) * 2020-03-13 2021-09-14 西部数据技术公司 组合qlc编程方法

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10430108B2 (en) * 2017-09-29 2019-10-01 Intel Corporation Concurrent copying of first and second subsets of pages from media such as SLC NAND to media such as QLC or MLC NAND for completion of copying of data
US11061762B2 (en) * 2019-02-04 2021-07-13 Intel Corporation Memory programming techniques
US11348643B2 (en) 2020-02-25 2022-05-31 Apple Inc. Identifying failure type in NVM programmed in SLC mode using a single programming pulse with no verification
US11923010B2 (en) 2020-03-24 2024-03-05 Intel NDTM US LLC Flash memory chip that modulates its program step voltage as a function of chip temperature
US11416058B2 (en) 2020-10-28 2022-08-16 Western Digital Technologies, Inc. Efficient data storage usage associated with ungraceful shutdown
US11335407B1 (en) 2020-12-18 2022-05-17 Micron Technology, Inc. One-ladder read of memory cells coarsely programmed via interleaved two-pass data programming techniques
US11456038B2 (en) 2020-12-18 2022-09-27 Micron Technology, Inc. Simplified operations to read memory cells coarsely programmed via interleaved two-pass data programming techniques
US11430526B2 (en) * 2020-12-18 2022-08-30 Micron Technology, Inc. Interleaved two-pass data programming techniques with reduced write amplification
US11462265B2 (en) * 2020-12-18 2022-10-04 Micron Technology, Inc. Reading memory cells coarsely programmed via interleaved two-pass data programming techniques
US11468953B2 (en) 2021-03-10 2022-10-11 Western Digital Technologies, Inc. Dynamic valley searching in solid state drives
US11568937B2 (en) 2021-03-29 2023-01-31 Micron Technology, Inc. Memory device programming techinique using fewer latches
US11550657B1 (en) 2021-09-01 2023-01-10 Apple Inc. Efficient programming schemes in a nonvolatile memory
US11934685B2 (en) * 2022-01-18 2024-03-19 Micron Technology, Inc. Performing memory access operations based on quad-level cell to single-level cell mapping table
US20240028252A1 (en) * 2022-07-25 2024-01-25 Micron Technology, Inc. Quick charge loss mitigation using two-pass controlled delay

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6857099B1 (en) * 1996-09-18 2005-02-15 Nippon Steel Corporation Multilevel semiconductor memory, write/read method thereto/therefrom and storage medium storing write/read program
US20070297247A1 (en) * 2006-06-26 2007-12-27 Gerrit Jan Hemink Method for programming non-volatile memory using variable amplitude programming pulses
US7710781B2 (en) 2007-09-25 2010-05-04 Intel Corporation Data storage and processing algorithm for placement of multi-level flash cell (MLC) VT
US7924587B2 (en) * 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US8281061B2 (en) * 2008-03-31 2012-10-02 Micron Technology, Inc. Data conditioning to improve flash memory reliability
US8060719B2 (en) * 2008-05-28 2011-11-15 Micron Technology, Inc. Hybrid memory management
US8261009B2 (en) * 2008-12-30 2012-09-04 Sandisk Il Ltd. Method and apparatus for retroactive adaptation of data location
US8248862B2 (en) 2009-12-14 2012-08-21 Ercole Rosario Di Iorio Source bias shift for multilevel memories
US8355280B2 (en) * 2010-03-09 2013-01-15 Samsung Electronics Co., Ltd. Data storage system having multi-bit memory device and operating method thereof
WO2012158514A1 (en) * 2011-05-17 2012-11-22 Sandisk Technologies Inc. Non-volatile memory and method with small logical groups distributed among active slc and mlc memory partitions
US9001577B2 (en) 2012-06-01 2015-04-07 Micron Technology, Inc. Memory cell sensing
US8982625B2 (en) 2012-08-31 2015-03-17 Micron Technology, Inc. Memory program disturb reduction
US9543019B2 (en) 2012-12-11 2017-01-10 Intel Corporation Error corrected pre-read for upper page write in a multi-level cell memory
KR102125376B1 (ko) * 2013-07-01 2020-06-23 삼성전자주식회사 저장 장치 및 그것의 쓰기 방법
US9245645B2 (en) 2013-08-09 2016-01-26 Intel Corporation Multi-pulse programming for memory
US9418752B2 (en) 2014-03-27 2016-08-16 Intel Corporation Ramping inhibit voltage during memory programming
US9396791B2 (en) 2014-07-18 2016-07-19 Micron Technology, Inc. Programming memories with multi-level pass signal
JP6539608B2 (ja) * 2016-03-15 2019-07-03 東芝メモリ株式会社 半導体記憶装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111667868A (zh) * 2019-03-08 2020-09-15 西部数据技术公司 通过平衡格雷编码的多阶段编程
CN111667868B (zh) * 2019-03-08 2023-09-19 西部数据技术公司 通过平衡格雷编码的多阶段编程的系统和方法
US11798627B2 (en) 2019-03-08 2023-10-24 Western Digital Technologies, Inc. Multi-phased programming with balanced gray coding
CN113168374A (zh) * 2019-06-28 2021-07-23 西部数据技术公司 写入命令在分区命名空间中的保持
CN113393884A (zh) * 2020-03-13 2021-09-14 西部数据技术公司 组合qlc编程方法

Also Published As

Publication number Publication date
EP3422351A1 (en) 2019-01-02
US10109361B1 (en) 2018-10-23
EP3422351B1 (en) 2024-03-27
EP4362019A2 (en) 2024-05-01
EP4362019A3 (en) 2024-07-17

Similar Documents

Publication Publication Date Title
CN109213689A (zh) 粗略轮次和精细轮次多级nvm编程
TWI734866B (zh) 記憶體裝置及其操作方法
US8127073B2 (en) Memory system, multi-bit flash memory device, and associated methods
CN102005248B (zh) 非易失性存储器件及其驱动方法和具有其的存储器系统
JP6574833B2 (ja) マルチレベルパス信号でのメモリのプログラミング
CN109935267A (zh) 半导体存储器装置及其操作方法
KR102016036B1 (ko) 반도체 메모리 장치 및 이의 동작 방법
CN110400588A (zh) 存储器装置以及该存储器装置的操作方法
CN107195326B (zh) 半导体存储装置及存储系统
US20220208246A1 (en) Memory device and operating method of the memory device
CN109949839A (zh) 存储器控制器及存储器控制器的操作方法
JP2011044200A (ja) 不揮発性半導体記憶装置
CN112542186B (zh) 存储器设备和操作存储器设备的方法
KR101203341B1 (ko) 불휘발성 메모리 장치 및 그의 동작 방법
US20210166747A1 (en) Memory device and method of operating the memory device
US11594292B2 (en) Power loss immunity in memory programming operations
KR20230064942A (ko) 불휘발성 메모리 장치의 동작 방법
CN110580928B (zh) 一种三维存储器的控制方法、装置及存储介质
CN112289358B (zh) 三维存储器系统和对三维存储器进行编程的方法
US11749346B2 (en) Overwrite mode in memory programming operations
CN110827904B (zh) 存储器装置及其编程方法
US20240194233A1 (en) Memory device including memory package and memory system including the memory device
US20230317171A1 (en) All level coarse/fine programming of memory cells
US20220351789A1 (en) Reducing maximum programming voltage in memory programming operations
TWI652680B (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