CN108475530A - 用于在储存体装置的编程之前进行擦除检测的系统和方法 - Google Patents

用于在储存体装置的编程之前进行擦除检测的系统和方法 Download PDF

Info

Publication number
CN108475530A
CN108475530A CN201780005181.9A CN201780005181A CN108475530A CN 108475530 A CN108475530 A CN 108475530A CN 201780005181 A CN201780005181 A CN 201780005181A CN 108475530 A CN108475530 A CN 108475530A
Authority
CN
China
Prior art keywords
programming
memory
section
adjusted
voltage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201780005181.9A
Other languages
English (en)
Other versions
CN108475530B (zh
Inventor
N.N.杨
C.伊普
G.沙阿
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.)
SanDisk Technologies LLC
Original Assignee
SanDisk Technologies LLC
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 SanDisk Technologies LLC filed Critical SanDisk Technologies LLC
Publication of CN108475530A publication Critical patent/CN108475530A/zh
Application granted granted Critical
Publication of CN108475530B publication Critical patent/CN108475530B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3431Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • 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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written

Landscapes

  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

公开了用于检测编程干扰和用于基于检测到的编程干扰进行编程/读取的系统和方法。编程干扰包括在存储器的选定区段的编程操作期间无意地编程存储器的未选定区段。为了降低编程干扰的影响,在预定状态(诸如擦除状态)下对编程干扰分析存储器的区段。响应于识别到编程干扰的迹象,可以调整用于编程存储器的区段的电压(诸如用于将数据编程到存储器的区段的单元中的编程验证电平)。同样地,当从存储器的区段读取数据时,可以基于经调整的用于编程的电压来调整读取电压。以这种方式,使用经调整的编程和读取电压,可以降低编程干扰的影响。

Description

用于在储存体装置的编程之前进行擦除检测的系统和方法
相关申请的引用
本申请要求于2016年3月29日提交的美国申请No.15/084,100的优先权,其全部内容在此通过引用以其整体并入本文。
技术领域
本申请总体上涉及一种储存体装置。更具体地,本申请涉及对编程干扰进行至少部分地补偿的储存体装置。
背景技术
本文提供的背景描述是出于总体呈现本公开的背景的目的。目前指定的发明人在本背景技术部分中描述的范围内的工作,以及在提交时可能不作为现有技术的描述的各方面既不明确也不隐含地被承认为是针对本公开的现有技术。
半导体存储器广泛用于各种电子装置中,诸如移动计算装置、移动电话、固态驱动器、数码相机、个人数字助理、服务器和非移动计算装置。半导体存储器可以包括非易失性存储器或易失性存储器。即使当非易失性储存体装置未连接到电源(例如电池)时,非易失性储存体装置也允许储存或保留信息。非易失性存储器的示例包含闪速存储器(例如,NAND型和NOR型闪速存储器)、电可擦除可编程只读存储器(EEPROM)、铁电式存储器(例如FeRAM)、磁阻式存储器(例如MRAM)和相变存储器(例如PRAM)。近年来,为了降低每个位的成本,已经将非易失性储存体装置规模化。然而,随着工艺几何尺寸缩小,呈现了许多设计和工艺挑战。这些挑战包含存储器单元I-V特性上的增加的可变性和对写入或编程干扰的增加的敏感性,其中储存在非目标存储器单元(或未选定存储器单元)中的数据可能由于在目标存储器单元(或已被选定用于编程的存储器单元)上进行的编程操作而被损坏。
附图说明
参考以下附图和描述可以更好地理解该系统。在图中,在不同的视图通篇中同样的附图标记指定对应的部分。
图1A是示例性非易失性存储器系统的框图。
图1B是图示示例性储存体模块的框图。
图1C是图示层次式储存体系统的框图。
图2A是图示非易失性存储器系统的控制器的示例性部件的框图。
图2B是图示非易失性存储器储存体系统的非易失性存储器的示例性部件的框图。
图2C是图示闪速存储器系统的控制器的示例性部件的另一示例的框图。
图3图示了三维存储器的示意图并指示了对单元P的干扰。
图4A图示了示例性非易失性存储器编程图,其图示了用于每单元三位存储器中的三阶段NAND闪速编程操作的每个阶段的目标电压电平。
图4B图示了对于块中不同字线的编程干扰效应和真正擦除检测。
图5图示了基于擦除检测识别的对于编程干扰的适应性编程补偿。
图6图示了在相应块内的块和字线之间相关的编程干扰补偿的表格。
图7是基于存储器区段的编程干扰的指示符来对存储器的区段进行编程的一个示例的流程图。
图8是基于存储器区段的编程干扰的指示符来读取存储器的区段的一个示例的流程图。
图9是基于存储器区段的编程干扰的指示符来对存储器的区段进行编程的另一示例的流程图。
图10是基于存储器区段的编程干扰的指示符来读取存储器的区段的另一示例的流程图。
具体实施方式
储存体装置可以包含储存体装置控制器和存储器。存储器可以是一个或多个存储器集成电路芯片的形式。储存体装置控制器可以发送命令给(多个)存储器集成电路芯片以执行。命令的示例包含用于向(多个)存储器集成电路芯片中的存储器写入数据的写入命令,用于从(多个)存储器集成电路芯片读取数据的读取命令,以及用于擦除(多个)存储器集成电路芯片中的存储器的擦除命令。其他命令是可以预期的。
当将数据编程(或写入)到存储器中(诸如到相应的存储器集成电路芯片中)时,存储器的区段(诸如字线)被选择用于编程。在编程存储器的区段的过程中,编程干扰可能发生在存储器的未选定部分。作为一个示例,编程干扰包含在存储器的选定区段的编程操作期间无意地编程存储器的未选定区段。就此而言,在存储器的选定区段中的单元两端施加编程电压时,存储器的未选定区段(例如,存储器单元的另一集合、另一字线等)可能经历电压应力。电压应力可能会影响存储器未选定区段的一个或多个方面。作为一个示例,电压应力可能会导致存储器的未选定区段的电压阈值(Vt)移位。在许多编程循环中,Vt上的累积移位可能导致数据损坏。
在一个实施例中,基于在存储器的相应区段中检测到的编程干扰来修改储存体装置的操作。在第一具体实施例中,基于检测到的编程干扰来调整向存储器的相应区段编程数据。在第二具体实施例中,基于检测到的编程干扰来调整从存储器的相应区段读取数据。如下面更详细讨论的,第一具体实施例可以与第二具体实施例分开实施。替代地,可以结合第二具体实施例来实施第一具体实施例。
关于将数据写入(或编程)到存储器的相应区段,控制器可以确定存储器的相应区段中的编程干扰的指示,并且基于该指示来调整或修改存储器的相应区段中的数据的编程。替代地,储存体装置的除了控制器之外的另一区段可以确定该指示并调整或修改编程。例如,驻留在存储器集成电路芯片上的电路可以进行该功能。如上所述,在各种实施例中,存储器的相应区段可以包括存储器的编程单元(诸如字线),可以包括存储器的编程的子单元(诸如字线内的单元的区段),和/或可以包括大于存储器的编程单元的单元。
在一个实施例中,控制器可以基于(或至少部分地取决于)控制器分析存储器的相应区段的一个或多个阶段或状态中的存储器的相应区段来确定编程干扰的指示,并且基于该分析来确定编程干扰的指示。如下面更详细讨论的,控制器可以在真正擦除状态下(例如,在存储器的区段已经经历擦除操作之后)分析存储器的相应区段(或存储器的子区段)。基于该分析,控制器可以确定编程干扰的指示。替代地,控制器可以在另一状态下(诸如在编程之后)分析存储器的相应区段(或存储器的子区段)。
可以触发控制器,来以数种方式中的一种进行存储器的部分或全部区段的编程干扰分析。以一种方式,控制器可以确定存储器的年龄并且基于该年龄而被触发以进行编程干扰分析。作为一个示例,控制器可以确定存储器的相应区段的编程/擦除(PE)计数的数目,并且如果P/E计数等于或大于一个或多个阈值,则进行编程干扰分析。特别地,控制器可以被编程为响应于确定P/E计数等于100、200和/或500而进行编程干扰分析。替代地,控制器可以确定存储器的不同区段的编程/擦除(P/E)计数的数目,并且如果存储器的不同区段中的P/E计数等于或大于一个或多个阈值,则对存储器的部分或全部区段进行编程干扰分析。特别地,控制器可以被编程为响应于控制器确定存储器中的任何块具有等于100、200和/或500的P/E计数,而对存储器中的所有块进行编程干扰分析。
在替代实施例中,控制器可以独立于或不基于对存储器的区段的任何分析来确定编程干扰的指示。例如,储存体装置可以预编程有指示编程干扰的指示的表格。就此而言,在一个实施例中,不是基于对存储器的区段的状态(诸如真正擦除状态)的任何分析,而是基于在制造储存体装置时预先编程的预设指示来确定编程干扰的指示。例如,可以确定用于编程的字线的数目。可以将字线的数目与一个或多个预定阈值进行比较,并且响应于确定字线的数目大于预定阈值,可以确定编程干扰的指示。如下面更详细讨论的,块可以包含128条字线。编程干扰典型地影响较高数目的字线。就此而言,控制器可以存取将字线的区或数目与编程干扰的指示相关联的表格。
响应于确定编程干扰的指示(取决于或独立于存储器的区段的分析),可以调整数据到存储器的区段中的编程的一个或多个方面。在一个实施例中,可以修改用于将数据编程到存储器的区段的单元中的编程验证电压电平,以便至少部分地降低编程干扰的影响。替代地,调整将数据编程的其他方面以降低(或消除)编程干扰的影响。
在一个具体实现方式中,在新的字线将被编程之前,进行真正擦除状态检查。如果字线处于真正擦除状态,则控制器命令存储器集成电路芯片以默认编程条件进行编程。如果字线不处于真正擦除状态(例如,存在某水平的编程干扰的指示),则控制器命令编程的至少一个方面上的改变(例如,将编程验证(PGMV)电压电平调整来以比默认编程条件稍更硬地(harder)编程字线,以补偿编程干扰)。在一个实施例中,PGMV电压电平的改变可以取决于字线的真正擦除检查结果。例如,检测到的编程干扰越多,选择用于编程字线的PGMV电压电平就越高。替代地或另外地,如果检测到编程干扰如此强以至于编程不能被执行,则字线编程被放弃并且可以将伪数据插入其中(诸如状态B(下面在图4A中讨论),或更高)。如下面更详细讨论的,总体上,较高阶字线将经历较大的编程干扰效应,进而将很可能具有较高的PGMV电压电平,并且因此它们的读取电压电平需要相应地调整以更好地读取。
关于从存储器的相应区段读取数据,控制器可以确定存储器的相应区段中的编程干扰的指示,并且基于该指示来调整或修改从存储器的相应区段读取数据。例如,控制器可以确定字线被编程的编程电压。如上所述,编程电压可以基于字线的编程干扰。基于确定的编程电压,可以读取字线。
参照图,图1A是图示非易失性存储器系统的框图。非易失性存储器系统100包含控制器102以及非易失性存储器,该非易失性存储器可以由一个或多个非易失性存储器裸芯104组成。非易失性存储器裸芯可以包括一个或多个存储器集成电路芯片。控制器102和非易失性存储器裸芯104中的一个或两者可以使用经调节的电压。如本文所使用的,术语裸芯指代形成在单个半导体基板上的非易失性存储器单元的集合以及用于管理那些非易失性存储器单元的物理操作的相关联电路。控制器102与主机系统相接,并向非易失性存储器裸芯104发送用于读取、编程(例如,写入)以及擦除操作的命令序列。
控制器102(其在一个实施例中可以是闪速存储器控制器)可以采取处理电路、微处理器或处理器、以及储存由例如(微)处理器、逻辑门、开关、专用集成电路(ASIC)、可编程逻辑控制器以及嵌入式微控制器可执行的计算机可读程序代码(例如,软件或固件)的计算机可读介质的形式。控制器102可以配置有硬件和/或固件以进行下面描述的并在流程图中示出的各种功能。例如,硬件和/或固件可以配置用于分析输入的数据流(诸如用于带宽和/或一致性)并且用于确定是否使用混合块,如下面更详细讨论的。另外,示出为控制器内部的部件中的一些也可以储存在控制器外部,并且可以使用其他部件。此外,短语“可操作地与……通信”可以意味着直接与之通信或通过一个或多个部件与之间接(有线或无线)通信,这些部件可以或可以不在本文示出或描述。
如本文所使用的,闪速存储器控制器是管理储存在闪速存储器上的数据并且与主机(诸如,计算机或电子装置)通信的装置。除了本文所描述的具体功能之外,闪速存储器控制器还可以具有各种功能。例如,闪速存储器控制器可以格式化闪速存储器以确保存储器正确操作,映射出坏的闪速存储器单元,并且分配备用单元以替换将来故障的单元。备用单元的一些部分可以用来保持固件,以操作闪速存储器控制器并实现其他的特征。在操作中,当主机需要从闪速存储器中读取数据或向其写入数据时,它将与该闪速存储器控制器通信。如果主机提供要读取/写入数据的逻辑地址,则闪速存储器控制器可以将从主机接收到的逻辑地址转换为闪速存储器中的物理地址。(替代地,主机可以提供物理地址)。闪速存储器控制器还可以进行各种存储器管理功能,诸如但不限于磨损均衡(分配写入,以避免磨损否则将被重复写入的存储器的具体块)和垃圾收集(在块满了之后,仅将有效的数据页移动到新的块中,这样满的块可以被擦除和重用)。
非易失性存储器裸芯104可以包含任何适合的非易失性储存介质,包含NAND闪速存储器单元和/或NOR闪速存储器单元。非易失性存储器裸芯104的一个示例可以包括存储器集成电路芯片。存储器单元可以采取固态(例如,闪速)存储器单元的形式,并且可以是一次可编程的、少次数可编程的或者许多次可编程的。如上所述,存储单元也可以是单级单元(SLC)、多级单元(MLC)、三级单元(TLC)、四级单元(QLC),或者使用现在已知或以后开发的其他的存储器单元级技术。另外,可以以二维或三维样式制造存储器单元。
控制器102与非易失性存储器裸芯104之间的接口可以是任何适合的闪速接口,诸如切换模式(Toggle Mode)200、400或800。在一个实施例中,存储器系统100可以是基于卡的系统,诸如安全数字(SD)卡或微型安全数字(micro-SD)卡。在替代实施例中,存储器系统100可以是嵌入式存储器系统的部分。
虽然在图1A所示的示例中,非易失性存储器系统100在控制器102与非易失性存储器裸芯104之间包含单个通道,但是本文所描述的主题不限于具有单个存储器通道。例如,在诸如图1B和图1C所示的一些NAND存储器系统架构中,取决于控制器能力,在控制器与NAND存储器装置之间可以存在2、4、8个或更多个NAND通道。在本文描述的任何实施例中,即使在附图中示出单个通道,在控制器与存储器裸芯之间也可以存在多于单个通道。
图1B图示了包含多个非易失性存储器系统100的储存体模块200。如此,储存体模块200可以包含储存体控制器202,储存体控制器202与主机和储存体系统204相接,储存体系统204包含多个非易失性存储器系统100。储存体控制器202与非易失性存储器系统100之间的接口可以是总线接口,诸如串行高级技术附件(SATA)或外围部件接口高速(PCIe)接口。在一个实施例中,储存体模块200可以是固态驱动器(SSD),诸如在便携式计算装置(诸如膝上型计算机和平板计算机)中发现的固态驱动器(SSD)。
图1C是图示层次式储存体系统的框图。层次式储存体系统210包含多个储存体控制器202,储存控制器202中的每个控制相应的储存体系统204。主机系统212可以经由总线接口存取层次式储存体系统内的存储器。在一个实施例中,总线接口可以是高速非易失性存储器(NVMe)或以太网光纤通道(FCoE)接口。在一个实施例中,图1C中所示的系统可以是由多个主机计算机可存取的可机架安装的大容量储存体系统,诸如可以在数据中心或需要大容量储存体的其他位置发现的可机架安装的大容量储存体系统。
图2A是更详细地图示控制器102的示例性部件的框图。控制器102包含与主机相接的前端模块108,与一个或多个非易失性存储器裸芯104相接的后端模块110,以及进行现在将详细描述的功能的各种其他的模块。
模块可以采取封装功能硬件单元的形式,该封装功能硬件单元设计为用于与例如其他的部件、程序代码(例如,软件或固件)的部分或本身含有的硬件或软件部件一起使用,其中程序代码由通常进行相关功能的特定功能的(微型)处理器或处理电路可执行,本身含有的硬件或软件部件与更大的系统相接。
控制器102的模块可以包含字线编程干扰确定111、基于编程干扰确定的字线编程112和基于编程干扰确定的字线读取113。替代地,控制器102可以由各种电路来表示,诸如字线编程干扰电路、基于编程干扰确定电路的字线编程以及基于编程干扰确定电路的字线读取。在一个实施例中,该电路可以包括控制器(或控制器的各个部分)102,其结合执行代码或软件来实现相关联的功能。替代地,电路可以由可编程逻辑阵列等表示。
如下面更详细解释的,控制器102可以确定编程干扰的指示。在一个实施例中,编程干扰的确定可以在字线级。此外,在一个实施例中,可以实时进行指示的确定。特别地,响应于确定将数据写入到字线,可以进行对字线状态(例如,真正擦除状态)的分析。替代地,可以基于先前的分析(例如,诸如图6所示的表格)来进行指示的确定。就此而言,字线编程干扰确定111可以包括使用字线和块存取表格以确定编程干扰的指示。在具体实现方式中,编程干扰的指示可以包括编程电压(例如,编程电压或者编程电压的偏移,诸如图6中所示)。基于编程干扰确定的字线编程112可以使用字线编程干扰确定111的输出(例如,编程电压),以便编程字线,诸如下面更详细图示的。控制器102可以存取基于编程干扰确定的字线读取113,以便读取字线。如上所述,可以基于编程干扰的指示来调整或修改字线的编程。因此,在读取字线时,经调整的编程可以用于解读从字线读取的数据。
尽管在一些实现方式中,字线编程干扰确定111、基于编程干扰确定的字线编程112和基于编程干扰确定的字线读取113可以是控制器102的部分,但在其他实现方式中,字线编程干扰确定111、基于编程干扰确定的字线编程112以及基于编程干扰确定的字线读取113中的全部或部分可以是与控制器102分开、与控制器102相接的分立式部件。
再次参考控制器102的模块,缓冲器管理器/总线控制器114管理随机存取存储器(RAM)116中的缓冲器并控制控制器102的内部总线判优。只读存储器(ROM)118储存系统引导代码。虽然在图2A中图示为定位为与控制器102分开,但是在其他实施例中,RAM 116和ROM 118中的一个或两者可以位于控制器内。在又一其他的实施例中,RAM和ROM的部分可以位于控制器102的内部和控制器的外部的两者。此外,在一些实现方式中,控制器102、RAM116和ROM 118可以位于分开的半导体裸芯上。
前端模块108包含提供与主机或下一级储存体控制器的电接口的主机接口120和物理层接口(PHY)122。主机接口120的类型的选择可以取决于正在使用的存储器的类型。主机接口120的示例包含但不限于SATA、SATA高速、SAS、光纤通道、USB、PCIe、eMMCI/F和NVMe。主机接口120典型地便于传输数据、控制信号和定时信号。
后端模块110包含纠错控制器(ECC)引擎124,其对从主机接收到的数据字节进行编码,并对从非易失性存储器读取的数据字节进行解码和纠错。命令定序器126产生要被发送到非易失性存储器裸芯104的命令序列(诸如编程和擦除命令序列)。RAID(独立驱动器冗余阵列)模块128管理RAID奇偶校验的产生和故障数据的恢复。RAID奇偶校验可以用作用于正被写入非易失性存储器系统100中的数据的附加水平的完整性保护。在一些情况下,RAID模块128可以是ECC引擎124的部分。存储器接口130将命令序列提供给非易失性存储器裸芯104,并从非易失性存储器裸芯104接收状况信息。在一个实施例中,存储器接口130可以是双倍数据速率(DDR)接口,诸如切换模式200、400或800接口。闪速控制器层132控制后端模块110的总体操作。
在图2A中所示的系统100的附加部件包含介质管理层138,其进行非易失性存储器裸芯104的存储器单元的磨损均衡。系统100还包含其他的分立部件140,诸如外部电气接口、外部RAM、电阻器、电容器或可以与控制器102相接的其他的部件。
在替代实施例中,物理层接口122、RAID模块128、介质管理层138和缓冲器管理/总线控制器114中的一个或多个是在控制器102中非必要的可选部件。
图2B是更详细地图示非易失性存储器裸芯104的示例性部件的框图。非易失性存储器裸芯104包含外围电路141以及非易失性存储器阵列142。非易失性存储器阵列142包含用于储存数据的非易失性存储器单元。非易失性存储器单元可以是任何适合的非易失性存储器单元,包含以二维和/或三维配置的NAND闪速存储器单元和/或NOR闪速存储器单元。外围电路141包含向控制器102提供状况信息的状态机151。
非易失性存储器裸芯104还可以包含被配置为读取非易失性存储器阵列142中的相应字线的字线读取模块152。同样地,非易失性存储器裸芯104还可以包含配置为编程非易失性存储器阵列142中的相应的字线的字线编程模块154。字线编程模块可以包含程序验证模块155。程序验证模块155可以包含程序验证功能,诸如下面更详细讨论的。
非易失性存储器裸芯104还包含用于非易失性存储器阵列142内寻址的地址解码器148、150,以及缓存数据的数据缓存156。
图2C是图示闪速存储器系统260的控制器270的示例性部件的另一示例的框图。控制器270包含控制器状态机276,其配置为确定控制器270的状态,诸如控制器270处于写入状态还是读取状态。在写入状态下,控制器状态机276配置为存取表格,以便确定编程验证(PGMV)电压电平以记录编程补偿块274。替代地或另外地,当控制器状态机276可以构建表格的部分或全部以记录编程补偿块274(包含编程验证电压电平)时。表格的构建可以基于相应字线内的(多个)单元的擦除状态的分析。因此,控制器状态机276可以通过确定PGMV的选择来进行编程干扰补偿。此外,控制器状态机276可以基于块的编程干扰补偿来存取确定要使用的读取偏移272,以便确定读取偏移。
图2C还图示了闪速存储器280。接口I/O 292配置为与控制器270通信。此外,存储器阵列282包含存储器的各个区段,诸如用户块284和290、系统文件控制块286和引导/安全块288。图2C中所示的块仅用于示例的目的。其他类型的块是可预期的。
闪速存储器还包含高电压(HV)电路,其包含用于编程闪速存储器280中的字线的高电压泵。修整寄存器297可以用于更改字线的编程。特别地,PGMV可以储存在修整寄存器297中。实际上,状态机/逻辑296识别修整寄存器297上的改变,并且使用编程电路294,用所识别的改变来修改字线的编程。特别地,编程电路294可以包含编程验证功能,如下所述,以便验证在字线上编程的电压。此外,读取电路293可以使用读取偏移以便从字线读取数据。
图3图示了三维存储器300的示意图并指示了对单元P的干扰。特别地,图3图示了多个字线(例如,WL0到WL47)、多个串(例如SGSO到SGS3)和每页多个位线。实际上,由于基于串的架构,图3中所示的3D NAND闪存比2D中存在更多编程干扰。编程干扰可以表现为Vt移位。进而,当编程温度和读取温度非常不同时,这可能会导致系统位错误率的增加。
如上所述,储存体装置可以将数据编程到存储器单元中。存储器单元可以编程为在相应单元内储存一位或多位。例如,可以操作存储器单元来储存两级的电荷,使得在每个单元中储存数据的单个位。这典型地称为二进制或单级单元(SLC)存储器。作为另一示例,可以操作存储器单元以在每个电荷储存体元件或区域中储存多于两个可检测级的电荷,从而在每个储存体元件或区域中储存多于一位的数据。后一种配置称为多级单元(MLC)存储器。在一个实施例中,在存储器中使用一种类型的存储器单元。替代地,在存储器中可以使用这两种类型的存储器,例如二进制闪速存储器可以用于缓存数据,并且MLC存储器可以用于长期储存体。
例如,在配置为储存3位信息的MLC存储器单元中,存在表示3位所必要的23=8个可能状态。8个状态(本文中称为Er、A、B、C、D、E、F和G,其中Er指代擦除状态)是单元可以编程到的8个离散电压电平(Vt)。每个单元的储存的位数目和状态数目的示例仅是为了说明的目的。
作为一个示例,Vt可能由于储存体装置操作而移位。更具体地,随着储存体装置的重度循环,编程干扰可能变得越来越严重。Vt移位现象可能导致状态的Vt分布稍微变宽(例如,在右侧和左侧尾部中的一个或两者上变宽)。这种类型的Vt移位典型地不是足够严重的问题,不足以立即导致不可纠正的纠错码(UECC),但可能导致故障位计数(FBC)增加。增加的FBC可能有两个负面影响:(1)随着FBC在寿命早期增加,储存体装置读取性能可能由于较长的纠错编码(ECC)解码时间而受到影响;(2)可能存在更高的可能性导致系统BER过度检测,从而触发其他系统级错误处理机制(诸如读取擦除/刷新、CVD、EPWR/RBAX恢复等)并减慢总体系统性能并且不必要地引入附加的P/E周期。随着储存体装置试图达到最大耐久性,进一步的Vt移位可能最终导致UECC。
如上所述,编程验证功能可以用于验证编程到一个或多个存储器单元中的数据是否已经成功编程。编程验证测试可以包括读取操作,其中施加验证电压(Vread),并且将通过单元的电流与验证编程验证测试的电流(Iverify设置)或编程验证测试的复位验证电流(Iverify复位)进行比较,来确定是否已相应地达到设置或复位状态。编程验证308可以确定编程验证测试是否已经通过。如果确定编程验证测试尚未通过,则在一个实施例中,可以返回错误,并且在替代实施例中,可以诸如通过增加电压幅度和/或持续时间和/或电流限制来更新编程参数的一个或多个值,并且可以再次进行编程。
图4A图示了在没有来自编程干扰的已识别的影响的情况下每单元3位的NAND闪速存储器的编程。图4A的示例仅用于说明目的。每单元其他数目的位和其他类型的存储器是可预期的。参考图4A,用于每单元3位NAND闪速存储器的WL中的每个单元可以储存来自3个不同页中的每一个位:上页位(UP)402、中页位(MP)404和下页位(LP)406。对于这样的存储器单元的典型编程操作将需要将意图用于该单元的主机数据的3个原始位从控制器传输到NAND存储器三次,对于在不超出期望的电压状态的情况下将正确数量的电荷推入电池以达到所期望的电压状态所需的三个编程通过中的每个传输一次。
如图4A所示,这三个编程通过或状态在本文中可分别称为第一编程通过408、模糊编程通过410和精编程通过412。一般来说,第一编程通过408将是一个较粗的电压脉冲,该电压脉冲将储存的电压保持在擦除(Er)414电平或中间电平(图4A中的LM 416)中任一个,其中Er电压电平允许随后继续编程为8个期望电压状态中的前4个(Er、A、B或C)中的一个,并且LM电压电平将电压推到阈值,该阈值可以增加到8个期望电压状态中的后4个(D、E、F或G)中的一个。
在诸如图4A所示的存储器中的典型的第一/模糊/精编程方案中,原始3个主机位从控制器反复发送到NAND以进行三个编程阶段中的每一个。因此,在第二或“模糊”编程步骤中,UP、MP和LP数据再次从控制器发送到NAND存储器。非易失性存储器(例如NAND闪存)使用UP、MP和LP位来产生将在第一编程步骤408中实现的当前状态(Er或LM)推到8个期望状态中的更确定的(resolved)1个所需的模糊编程阶段电压脉冲。图4A中示出了在模糊编程410之后假设的电压分布选项,连同在该电压电平下的3个页位的相关状态。在第二轮的将原始3位数据传输到NAND存储器并进行第二或模糊编程阶段410之后,原始三位再次从控制器中的RAM中被取回并被发送到NAND以提供对实现8个状态中期望的1个必要的最后的(或者精)编程步骤412。图4A中示出了在精编程阶段412之后实现的可能的编程电压的分布,其中8个可能的状态被示出完全还原。
在施加编程电压之后,编程验证功能可以使用预定电压的集合来确定单元是否已经正确编程。为了示例性目的,从A到G的每单元3位NAND闪速存储器的验证电压电平可以包括0.8、1.6、2.4、3.2、4.0、4.8、5.6V。在编程验证失败的情况下,初始编程电压可以增加(例如40mV),并且可以重复该过程。在一个实施例中,该过程的重复数目可以限制为预定的数目。之后,存储器芯片可以向存储器系统控制器报告故障,如下面更详细讨论的。对于状态A到G中的每个,可以重复该过程。
图4B图示了对于块中不同字线的编程干扰效应450和真正擦除检测。特别地,图4B图示了对于包含WLn、WLn+j和WLn+j+i的不同字线的擦除状态(Er)和状态A到G。因此,图4B图示了增加数目的字线的状态。WLn图示了很少或没有编程干扰,并且因此类似于图4A中描述的那样。WLn+j图示了在越过真正擦除检测线时一些编程干扰(示出为擦除状态)。WLn+j+i图示了在擦除状态的尾部越过到状态A时更多编程干扰(示出为擦除状态)。因此,随着字线数目增加,编程干扰变得更强。
如上所述,控制器可以确定编程干扰的指示。以一种方式,控制器可以分析字线的一个或多个方面。在一个实施例中,控制器可以分析擦除状态。在一个示例中,控制器可以使用用于真正擦除检查的直接存储器计数(DMC)功能。特别地,DMC功能可以计数高于读取电压电平(在图4B中被图示为真正擦除检测线)的位的数目。就此而言,DMC功能可以确定相应字线的多少位在“真正擦除检测”线的左边和右边。如果在“真正擦除检测”线右侧检测到的位的数目超过预定量,则这是擦除状态的尾部正在侵入(encroach)(或已经侵入)到状态A中的指示。这在图4B的字线WLn+j+i中图示。状态A到G图示为典型地使用PGMV电压电平编程。在典型的编程情况下,擦除状态的右尾与状态A重叠。以这种方式,使用典型的编程将导致潜在的错误。
为了减少编程干扰的影响,用于不同状态(例如,状态A到G)的编程电压被修改。这在图5中被图示,其具有对于基于擦除检测识别的编程干扰的适应性编程补偿。如字线WLn+j+i所示,编程适配为基于真正擦除检测结果来补偿编程干扰。以这种方式,擦除状态的右尾与任何其他状态(包含状态A)都不重叠。
如下面更详细讨论的,基于修改PGMV来移位(多个)不同的状态。例如,在一个实施例中,所有状态(除了擦除状态之外)都移位。例如,状态A到G(除了Er)被移位,如图5中对于字线WLn+j+i所示。替代地,少于所有的状态(除了擦除状态)移位。例如,状态A到F可以移位,但状态G和Er不位移。
另外,在一个实施例中,状态A到G向右的移位是均匀的(例如,对于状态A到G中的每个,从典型编程电压的电压偏移是相同的,如图6所示)。替代地,从典型编程电压的电压偏移可以对于不同的状态而变化。还要注意的是,由于编程干扰对字线WLn和WLn+j的影响较小,所以状态A到G使用典型的PGMV电压电平编程。
图6图示了块和相应块内的字线之间相关的编程干扰补偿的表格600。如上所述,响应于触发,控制器可以填充表格600用于以后参考。表格600可以将块(例如块0至4)与不同的字线区(例如,不同的字线分组)相关联。虽然在图6中仅图示了5个块,但在一个实施例中,每个块可以包含在表格中。替代地,少于全部块可以包含于表格中。例如,可以存在100条字线。就此而言,字线可以细分为不同的区域,诸如图6中所示的五个区域。例如,区域0可以包含字线0-19,区域1可以包含字线20-39等。此外,在一个实施例中,每个存储器裸芯可以包含对应的表格。替代地,单个表格可以用于多个存储器裸芯。
在填充表格时,控制器可以分析一条或多条字线。在图6的示例性表格中,控制器可以分析区内的一条字线并确定偏移。在一个实施例中,可以分析区中的最高数目字线以确定该区的编程干扰,因为随着字线数目增加,编程干扰的影响增加。例如,对于块0区0(覆盖块0的字线0-19),控制器可以对处于擦除状态的字线19的编程干扰进行分析(例如,使用上述的DMC功能)。如图6所示,块0区0中编程干扰是可以忽略的,导致PGMV上的0偏移。作为另一示例,在块1区4中,控制器可以测试字线127(最后一个字线),确定DAC中9的偏移,其中每个DAC=12.5mV。因此,对于块1区4,编程验证的偏移等于112.5mV。如所示,编程干扰越高,PGMV电压电平越高。
图7是基于存储器区段的编程干扰的指示符来对存储器的区段进行编程的一个示例的流程图700。在702处,控制器存取存储器区段(诸如字线或字线的组)的编程干扰的指示符。指示符的示例可以包括图6所示的偏移。其他的指示符是可预期的。在704处,指示符用于确定用于编程存储器区段的经调整的编程电压。例如,可以使用偏移来修改典型的编程电压,以便产生用于编程的经调整的编程电压。替代地,表格可以将块/字线与经调整的编程电压相关联。就此而言,在不存取指示符(诸如编程偏移)和存取典型编程电压的情况下,块/字线与经调整的编程电压之间可以存在直接相关,以便确定经调整的编程电压。在706处,调整的编程电压用于编程存储器的区段。
图8是基于存储器区段的编程干扰的指示符来读取存储器的区段的一个示例的流程图800。在802处,确定是否请求读取存储器的区段。如果是这样,则在804处,可以存取与存储器的区段相关联的经调整的编程电压。例如,可以存取将块/字线与经调整的编程电压相关联的表格。特别地,可以确定对于不同状态(诸如状态E、A至G)的经调整的编程电压。替代地,响应于请求读取存储器中的字线,可以存取图6中描绘的表格。就此而言,可以存取指示符(诸如PGMV上的偏移)和典型的(未经调整的)编程电压。结合指示符和典型的编程电压可以进而确定经调整的编程电压。在806处,可以使用经调整的编程电压来读取数据。特别地,经调整的编程电压可以用于确定数据是否在不同状态下储存。
图9是基于存储器区段的编程干扰的指示符来对存储器的区段进行编程的另一示例的流程图900。在902处,在编程之前在字线上进行擦除检测。如上所述,擦除检测的一个示例是使用上面讨论的DMC功能分析擦除状态Er。在904处,控制器检查擦除检测结果。例如,控制器可以确定擦除检测结果是否指示正在分析的字线中的编程干扰。在906处,基于擦除检测结果,控制器可以确定要使用什么编程条件。例如,控制器可以确定经调整的编程电压。在908处,可以使用编程条件来编程字线。在910处,编程条件可被记录在编程补偿表格中(诸如图6中所示)。
图10是基于存储器的区段的编程干扰的指示符来读取存储器的区段的另一示例的流程图1000。在1002处,获得字线的默认读取条件。例如,对于不同状态的默认读取条件(例如,在对编程干扰未进行任何调整情况下,在Er、状态A至G下的电压)。在1004处,可以存取编程补偿表格(诸如在910处填充并且在图6中所示)以获得编程验证偏移。在1006处,将编程验证偏移施加到默认读取条件以便产生更新的读取条件。在1008处,然后使用更新的读取条件来读取字线。
在本申请中,诸如本申请中所描述的半导体存储器系统可以包含诸如动态随机存取存储器(“DRAM”)或静态随机存取存储器(“SRAM”)装置的易失性存储器系统,诸如电阻式随机存取存储器(“ReRAM”)、电可擦除可编程只读存储器(“EEPROM”)、闪速存储器(其也可以被认为是EEPROM的子集)、铁电式随机存取存储器(“FRAM”)和磁阻式随机存取存储器(“MRAM”)的非易失性存储器系统,以及能够储存信息的其他半导体元件。每种存储器系统可以具有不同的配置。例如,可以以NAND或NOR配置来配置闪速存储器系统。
存储器系统可以由无源和/或有源元件以任何组合来形成。作为非限制性示例,无源半导体存储器元件包含ReRAM装置元件,在一些实施例中包含诸如反熔丝、相变材料等的电阻率切换储存体元件,以及可选地包含诸如二极管等的转向元件。进一步作为非限制性示例,有源半导体存储器元件包含EEPROM和闪速存储器系统元件,在一些实施例中包含含有电荷储存体区域的元件,诸如浮置栅极、导电纳米颗粒或电荷储存体电介质材料。
多个存储器元件可以经配置,以使得他们串联连接或以使得每个元件可单独地存取。作为非限制性示例,以NAND配置的闪速存储器系统(NAND存储器)典型地含有串联连接的存储器元件。NAND闪速存储器阵列可以经配置,以使得阵列由存储器的多个串组成,其中串由共用单个位线的多个存储器元件组成且作为组存取。替代地,存储器元件可以经配置,以使得每个元件可单独地存取(例如,NOR存储器阵列)。NAND和NOR存储器配置是示例性的,并且存储器元件可以以其他方式配置。
位于基板内和/或上方的半导体存储器元件可以以二维或三维布置,诸如二维存储器结构或三维存储器结构。
在二维存储器结构中,半导体存储器元件被布置在单个平面中或单个存储器系统级中。典型地,在二维存储器结构中,存储器元件布置在实质上平行于支撑存储器元件的基板的主表面延伸的平面中(例如,在x-z方向平面中)。基板可以是在其上或其中形成存储器元件层的晶片,或者可以是在存储器元件形成之后附接到存储器元件的载体基板。作为非限制性示例,基板可以包含诸如硅的半导体。
存储器元件可以以有序阵列(诸如多个行和/或列)布置在单个存储器系统级中。然而,存储器元件可以以非规则或非正交配置来排列。存储元件可以各自具有两个或更多个电极或接触线,诸如位线和字线。
三维存储器阵列经布置,以使得存储器元件占用多个平面或多个存储器系统级,从而形成三维(即,在x、y和z方向上,其中y方向实质上垂直于基板的主表面并且x和z方向实质上平行于基板的主表面)结构。
作为非限制性示例,三维存储器结构可以垂直布置为多个二维存储器系统级的堆叠体。作为另一非限制性示例,三维存储器阵列可以布置为多个垂直列(例如,列实质上垂直于基板的主表面延伸,即在y方向上),其中每列在每列中具有多个存储器元件。列可以以二维配置(例如,在x-y平面)布置,导致存储器元件的三维布置,其中元件位于多个垂直堆叠的存储器平面上。存储器元件在三维上的其他配置也可以构成三维存储器阵列。
作为非限制性示例,在三维NAND存储器阵列中,存储器元件可以耦接在一起以在单个水平(例如x-z)存储器系统级内形成NAND串。替代地,存储器元件可以耦接在一起以形成跨过多个水平存储器系统级的垂直NAND串。可以设想其他的三维配置,其中一些NAND串含有单个存储器级中的存储器元件,而其他串含有跨过多个存储器级的存储器元件。三维存储器阵列也可以以NOR配置和以ReRAM配置而设计。
典型地,在单片三维存储器阵列中,一个或多个存储器系统级形成在单个基板上方。可选地,单片三维存储器阵列也可以具有至少部分地位于单个基板内的一个或多个存储器层。作为非限制性示例,基板可以包含诸如硅的半导体。在单片三维阵列中,构成阵列的每个存储器系统级的层典型地形成在阵列的下面的存储器系统级的层上。然而,单片三维存储器阵列的相邻存储器系统级的层可以被共用或者在存储器系统级之间具有中间层。
然后再次,二维阵列可以分开形成,并且然后封装在一起以形成具有存储器的多层的非单片存储器系统。例如,可以通过在分开的基板上形成存储器级并且然后将该存储器级彼此上下叠置,从而构造非单片堆叠存储器。在堆叠之前,可以将基板薄化或从存储器系统级移除,但是由于存储器系统级初始在分开的基板上形成,所以所得到的存储器阵列不是单片三维存储器阵列。此外,多个二维存储器阵列或三维存储器阵列(单片或非单片)可以形成在分开的芯片上,并且然后封装在一起以形成堆叠芯片存储器系统。
存储器元件的操作和与存储器元件的通信典型地需要关联的电路。作为非限制性示例,存储器系统可以具有用于控制和驱动存储器元件以完成诸如编程和读取的功能的电路。此关联的电路可以在与存储器元件相同的基板上和/或在分开的基板上。例如,用于存储器读取-写入操作的控制器可以位于分开的控制器芯片上和/或在与存储器元件相同的基板上。
本领域的技术人员将认识到,此发明不限于所描述的二维和三维示例性结构,而是涵盖在本文所描述的发明的精神和范围内并且如本领域技术人员所理解的所有的相关的存储器结构。
前面的详细描述旨在被理解为本发明可以采用的所选形式的说明,而不是作为本发明的限定。仅随附的权利要求(包含所有的等同)旨在限定要求保护的发明的范围。最后,应该注意的是,本文描述的任何优选实施例的任何方面可以单独使用或彼此组合使用。

Claims (21)

1.一种操作储存体装置的方法,包括:
确定所述储存体装置中的存储器的区段的编程干扰的指示;
基于所述指示确定用于编程所述存储器的区段的经调整的编程电压,所述经调整的编程电压不同于在所述存储器的区段中不存在可检测的编程干扰的情况下的编程电压;
基于所述确定的经调整的编程电压将数据编程到所述存储器的区段中;以及
响应于读取被编程到所述存储器的区段中的所述数据的部分或全部的命令,使用基于所述确定的经调整的编程电压而调整的读取电压来从所述存储器的区段读取所述数据。
2.如权利要求1所述的方法,其中确定所述编程干扰的指示包括,存取将存储器的相应区段与编程干扰的相应指示相关联的表格。
3.如权利要求2所述的方法,其中所述表格包括条目,所述条目将相应存储器裸芯的相应块内的字线的相应组与所述编程干扰的相应指示相关联。
4.如权利要求1所述的方法,其中所述编程干扰的指示包括偏移电压,所述偏移电压包括在所述存储器的区段中不存在可检测的编程干扰的情况下对所述编程电压的偏移;并且
其中确定用于编程所述存储器的区段的所述经调整的编程电压包括将所述偏移电压加到所述编程电压。
5.如权利要求1所述的方法,其中所述编程干扰的指示基于对所述存储器的区段中的一个或多个单元的所述擦除状态的分析。
6.如权利要求5所述的方法,其中确定所述编程干扰的指示包括:
对处于所述擦除状态的字线的所述单元中的大于预定阈值的位的数目进行计数;
基于大于所述预定阈值的位的数目,确定所述编程干扰的指示。
7.如权利要求6所述的方法,其中所述字线包括用于在其中储存多位的数据的所述单元,所述多位的数据由多个状态表示;并且
其中所述经调整的编程电压包括经调整的编程验证电压电平,所述经调整的编程验证电压电平用于为所述多个状态中的至少一个调整编程验证电压电平。
8.如权利要求7所述的方法,其中所述经调整的编程电压包括所述经调整的编程验证电压电平,所述经调整的编程验证电压电平用于为除了所述擦除状态以外的所有所述多个状态调整所述编程验证电压电平。
9.如权利要求1所述的方法,还包括,响应于接收到读取被编程到所述存储器的区段中的数据的部分或全部的所述命令,从表格存取所述确定的经调整的编程电压。
10.如权利要求9所述的方法,其中所述存储器的区段包括字线,所述字线包含用于在其中储存多位的数据的单元,所述多位的数据由多个状态表示;并且
其中所述确定的经调整的编程电压包括经调整的编程验证电压电平,所述经调整的编程验证电压电平为除了擦除状态以外的所述多个状态中的每一个指示编程所述数据的电压。
11.如权利要求10所述的方法,其中响应于所述擦除状态的分析确定所述编程电压未经调整,不调整所述读取电压并且使用默认读取电压;并且
其中,响应于所述擦除状态的分析确定所述编程电压将被调整,基于根据所述擦除状态的分析的编程验证电压调整的量,来从所述默认读取电压调整所述读取电压。
12.一种储存体装置,包括:
擦除状态分析电路,其配置为分析所述储存体装置中的字线的至少部分的擦除状态,以便确定所述字线的至少部分中的编程干扰的指示;
编程调整电路,其配置为基于所述确定的编程干扰的指示来调整所述字线的编程;
编程电路,其配置基于所述经调整的编程而编程所述字线;以及
读取电路,其配置为使用基于所述确定的经调整的编程电压而调整的读取电压来进行读取。
13.如权利要求12所述的储存体装置,其中所述擦除状态分析电路配置为:
对处于所述擦除状态的所述字线的单元中的大于预定阈值的位的数目进行计数;并且
基于大于所述预定阈值的所述位的数目,确定所述编程干扰的指示。
14.如权利要求13所述的储存体装置,其中所述字线包括用于在其中储存多位的数据的所述单元,所述多位的数据由多个状态表示;并且
其中所述经调整的编程包括经调整的编程验证电压电平,所述经调整的编程验证电压电平用于为所述多个状态中的至少一个调整编程验证电压电平。
15.如权利要求14所述的储存体装置,其中所述经调整的编程包括所述经调整的编程验证电压电平,所述经调整的编程验证电压电平用于为除所述擦除状态以外的所有所述多个状态调整所述编程验证电压电平。
16.如权利要求15所述的储存体装置,其中所述读取电路配置为,使用基于所述经调整的编程验证电压电平而调整的所述读取电压来进行读取。
17.一种储存体装置,包括:
存储器;以及
与所述存储器通信的控制器,所述控制器配置为:
为所述存储器的区段的确定编程干扰;
基于所述确定的编程干扰来调整所述存储器的区段的编程;
使用所述经调整的编程在所述存储器的区段中编程数据;并且
使用基于所述经调整的编程的读取电压来从所述存储器的区段读取所述数据。
18.如权利要求17所述的储存体装置,其中所述处理器配置为,通过存取表格来为所述存储器的区段确定所述编程干扰,所述表格指示所述存储器的区段的对于所述编程干扰的先前的分析。
19.如权利要求17所述的储存体装置,其中所述处理器配置为,通过分析所述存储器的区段的状态来为所述存储器的区段确定所述编程干扰。
20.如权利要求19所述的储存体装置,其中所述状态包括所述存储器的区段中的一个或多个单元的擦除状态。
21.如权利要求19所述的储存体装置,其中所述处理器配置为,通过将所述存储器的区段的状态与预定电压进行比较来分析所述存储器的区段的状态;并且
其中所述处理器配置为,基于所述比较来调整所述存储器的区段的编程。
CN201780005181.9A 2016-03-29 2017-02-22 用于在储存体装置的编程之前进行擦除检测的系统和方法 Expired - Fee Related CN108475530B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/084,100 2016-03-29
US15/084,100 US9792998B1 (en) 2016-03-29 2016-03-29 System and method for erase detection before programming of a storage device
PCT/US2017/018806 WO2017172118A1 (en) 2016-03-29 2017-02-22 System and method for erase detection before programming of a storage device

Publications (2)

Publication Number Publication Date
CN108475530A true CN108475530A (zh) 2018-08-31
CN108475530B CN108475530B (zh) 2020-03-31

Family

ID=58213367

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780005181.9A Expired - Fee Related CN108475530B (zh) 2016-03-29 2017-02-22 用于在储存体装置的编程之前进行擦除检测的系统和方法

Country Status (4)

Country Link
US (1) US9792998B1 (zh)
KR (1) KR20180087322A (zh)
CN (1) CN108475530B (zh)
WO (1) WO2017172118A1 (zh)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
CN107341071A (zh) * 2013-08-23 2017-11-10 慧荣科技股份有限公司 存取快闪存储器中储存单元的方法以及使用该方法的装置
US10756816B1 (en) 2016-10-04 2020-08-25 Pure Storage, Inc. Optimized fibre channel and non-volatile memory express access
US10395723B2 (en) * 2017-03-07 2019-08-27 Toshiba Memory Corporation Memory system that differentiates voltages applied to word lines
CN110431526B (zh) 2017-03-21 2023-09-29 美光科技公司 用于自动化动态字线开始电压的设备与方法
US11947814B2 (en) 2017-06-11 2024-04-02 Pure Storage, Inc. Optimizing resiliency group formation stability
US10860475B1 (en) 2017-11-17 2020-12-08 Pure Storage, Inc. Hybrid flash translation layer
US10705900B2 (en) 2018-02-02 2020-07-07 Western Digital Technologies, Inc. Program verify adaptation for flash memory
KR102592796B1 (ko) * 2018-04-27 2023-10-25 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US10446254B1 (en) * 2018-05-03 2019-10-15 Western Digital Technologies, Inc. Method for maximizing power efficiency in memory interface block
KR102565913B1 (ko) * 2018-06-12 2023-08-11 에스케이하이닉스 주식회사 저장 장치 및 메모리 컨트롤러를 포함하는 메모리 시스템 및 이의 동작 방법
US11500570B2 (en) 2018-09-06 2022-11-15 Pure Storage, Inc. Efficient relocation of data utilizing different programming modes
US11520514B2 (en) 2018-09-06 2022-12-06 Pure Storage, Inc. Optimized relocation of data based on data characteristics
US10679708B2 (en) 2018-09-17 2020-06-09 Western Digital Technologies, Inc. Pre-program read to counter wordline failures
US10748606B2 (en) 2018-12-14 2020-08-18 Western Digital Technologies, Inc. Multi-state programming for memory devices
US10705966B1 (en) 2018-12-14 2020-07-07 Western Digital Technologies, Inc. Mapping for multi-state programming of memory devices
US10910076B2 (en) * 2019-05-16 2021-02-02 Sandisk Technologies Llc Memory cell mis-shape mitigation
US11714572B2 (en) 2019-06-19 2023-08-01 Pure Storage, Inc. Optimized data resiliency in a modular storage system
US11132303B2 (en) * 2020-02-04 2021-09-28 Micron Technology, Inc. Memory sub-system management of firmware block record and device block record
KR20210099895A (ko) 2020-02-05 2021-08-13 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
KR20210108712A (ko) 2020-02-26 2021-09-03 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
US11361830B2 (en) * 2020-03-18 2022-06-14 Micron Technology, Inc. Adjusting read voltage levels based on a programmed bit count in a memory sub-system
US11507297B2 (en) 2020-04-15 2022-11-22 Pure Storage, Inc. Efficient management of optimal read levels for flash storage systems
US11474986B2 (en) 2020-04-24 2022-10-18 Pure Storage, Inc. Utilizing machine learning to streamline telemetry processing of storage media
US11416338B2 (en) 2020-04-24 2022-08-16 Pure Storage, Inc. Resiliency scheme to enhance storage performance
US11768763B2 (en) 2020-07-08 2023-09-26 Pure Storage, Inc. Flash secure erase
US11681448B2 (en) 2020-09-08 2023-06-20 Pure Storage, Inc. Multiple device IDs in a multi-fabric module storage system
US11513974B2 (en) 2020-09-08 2022-11-29 Pure Storage, Inc. Using nonce to control erasure of data blocks of a multi-controller storage system
US11662941B2 (en) 2020-10-13 2023-05-30 Western Digital Technologies, Inc. System and method for mitigating effect of erase cells on adjacent cells
US11521688B2 (en) * 2020-10-21 2022-12-06 Western Digital Technologies, Inc. Power reduction during open and erased block reads of memory based on the position of last written word line of a memory block
US11487455B2 (en) 2020-12-17 2022-11-01 Pure Storage, Inc. Dynamic block allocation to optimize storage system performance
US11630593B2 (en) 2021-03-12 2023-04-18 Pure Storage, Inc. Inline flash memory qualification in a storage system
US11656936B2 (en) * 2021-09-07 2023-05-23 Micron Technology, Inc. Managing write disturb for units of memory in a memory sub-system
US11832410B2 (en) 2021-09-14 2023-11-28 Pure Storage, Inc. Mechanical energy absorbing bracket apparatus
US11756637B2 (en) 2021-11-24 2023-09-12 Western Digital Technologies, Inc. Block erase type detection using bit count check
US11994723B2 (en) 2021-12-30 2024-05-28 Pure Storage, Inc. Ribbon cable alignment apparatus

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080117688A1 (en) * 2006-11-22 2008-05-22 Samsung Electronics Co., Ltd. Flash Memory Devices that Utilize Age-Based Verify Voltages to Increase Data Reliability and Methods of Operating Same
US20090103371A1 (en) * 2007-10-22 2009-04-23 Micron Technology, Inc. Memory cell operation
US20090285024A1 (en) * 2008-05-15 2009-11-19 Samsung Electronics Co., Ltd. Flash memory device, programming method thereof and memory system including the same
US20100214844A1 (en) * 2009-02-25 2010-08-26 Samsung Electronics Co., Ltd. Memory system and programming method thereof
US20120239991A1 (en) * 2010-07-02 2012-09-20 Stec, Inc. Apparatus and method for determining an operating condition of a memory cell based on cycle information
US20130047044A1 (en) * 2011-08-19 2013-02-21 Stec, Inc. Optimal programming levels for ldpc
US20140029350A1 (en) * 2012-07-25 2014-01-30 Fuchen Mu Methods and systems for adjusting nvm cell bias conditions for read/verify operations to compensate for performance degradation
US20140173382A1 (en) * 2012-12-13 2014-06-19 Sandisk Technologies Inc. Inspection of non-volatile memory for disturb effects

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7817467B2 (en) * 2007-09-07 2010-10-19 Micron Technology, Inc. Memory controller self-calibration for removing systemic influence
US8094502B1 (en) * 2008-04-09 2012-01-10 Link—A—Media Devices Corporation Write-precompensation and variable write backoff
US7808819B2 (en) * 2008-04-29 2010-10-05 Sandisk Il Ltd. Method for adaptive setting of state voltage levels in non-volatile memory
US8248856B2 (en) * 2010-10-20 2012-08-21 Seagate Technology Llc Predictive read channel configuration
DE102011056141A1 (de) * 2010-12-20 2012-06-21 Samsung Electronics Co., Ltd. Negativspannungsgenerator, Dekoder, nicht-flüchtige Speichervorrichtung und Speichersystem, das eine negative Spannung verwendet
US9007832B2 (en) * 2011-03-03 2015-04-14 Micron Technology, Inc. Methods for programming a memory device and memory devices
US9047210B2 (en) * 2011-09-15 2015-06-02 Sandisk Technologies Inc. Data storage device and method to correct bit values using multiple read voltages
US9105360B2 (en) * 2013-03-07 2015-08-11 Seagate Technology Llc Forming a characterization parameter of a resistive memory element
US9224450B2 (en) * 2013-05-08 2015-12-29 International Business Machines Corporation Reference voltage modification in a memory device
KR20150020478A (ko) * 2013-08-16 2015-02-26 삼성전자주식회사 비휘발성 메모리 장치의 독출 방법
US9471486B2 (en) 2014-07-07 2016-10-18 Sandisk Technologies Llc Reducing disturbances in memory cells

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080117688A1 (en) * 2006-11-22 2008-05-22 Samsung Electronics Co., Ltd. Flash Memory Devices that Utilize Age-Based Verify Voltages to Increase Data Reliability and Methods of Operating Same
US20090103371A1 (en) * 2007-10-22 2009-04-23 Micron Technology, Inc. Memory cell operation
US20090285024A1 (en) * 2008-05-15 2009-11-19 Samsung Electronics Co., Ltd. Flash memory device, programming method thereof and memory system including the same
US20100214844A1 (en) * 2009-02-25 2010-08-26 Samsung Electronics Co., Ltd. Memory system and programming method thereof
US20120239991A1 (en) * 2010-07-02 2012-09-20 Stec, Inc. Apparatus and method for determining an operating condition of a memory cell based on cycle information
US20130047044A1 (en) * 2011-08-19 2013-02-21 Stec, Inc. Optimal programming levels for ldpc
US20140029350A1 (en) * 2012-07-25 2014-01-30 Fuchen Mu Methods and systems for adjusting nvm cell bias conditions for read/verify operations to compensate for performance degradation
US20140173382A1 (en) * 2012-12-13 2014-06-19 Sandisk Technologies Inc. Inspection of non-volatile memory for disturb effects

Also Published As

Publication number Publication date
US20170287568A1 (en) 2017-10-05
US9792998B1 (en) 2017-10-17
KR20180087322A (ko) 2018-08-01
WO2017172118A1 (en) 2017-10-05
CN108475530B (zh) 2020-03-31

Similar Documents

Publication Publication Date Title
CN108475530A (zh) 用于在储存体装置的编程之前进行擦除检测的系统和方法
US10102920B2 (en) Memory system with a weighted read retry table
US9972396B1 (en) System and method for programming a memory device with multiple writes without an intervening erase
US9785357B2 (en) Systems and methods for sampling data at a non-volatile memory system
US10090044B2 (en) System and method for burst programming directly to MLC memory
US9741444B2 (en) Proxy wordline stress for read disturb detection
US9558847B2 (en) Defect logging in nonvolatile memory
US9547571B2 (en) Block behavior tracking in a memory system
CN108139970A (zh) 用于直接写入多级单元存储器的系统和方法
CN105810249B (zh) 用于非易失性存储器装置的操作参数的快速适应性整理
US9753657B2 (en) Dynamic reconditioning of charge trapped based memory
US10629260B2 (en) Dynamic management of programming states to improve endurance
CN111292792B (zh) 3d存储器中的晶体管阈值电压维持
US9583207B2 (en) Adaptive data shaping in nonvolatile memory
CN110800059A (zh) 减小选择栅极阈值电压移位的电场
US10048898B2 (en) Data retention in a memory block based on local heating
US10553294B2 (en) Post write erase conditioning
US9846554B1 (en) Storage system and method for grouping blocks based on deterministic data patterns
US20150325290A1 (en) Data operations in non-volatile memory
US20160098197A1 (en) Nonvolatile memory and method with state encoding and page-by-page programming yielding invariant read points
US11334256B2 (en) Storage system and method for boundary wordline data retention handling
US9548105B1 (en) Enhanced post-write read for 3-D memory
US10714169B1 (en) System and method for programming non-volatile memory during burst sequential write

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200331