CN113314179A - 用于执行读取操作的存储器系统及其操作方法 - Google Patents

用于执行读取操作的存储器系统及其操作方法 Download PDF

Info

Publication number
CN113314179A
CN113314179A CN202010800898.6A CN202010800898A CN113314179A CN 113314179 A CN113314179 A CN 113314179A CN 202010800898 A CN202010800898 A CN 202010800898A CN 113314179 A CN113314179 A CN 113314179A
Authority
CN
China
Prior art keywords
memory
read
block
controller
memory block
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.)
Withdrawn
Application number
CN202010800898.6A
Other languages
English (en)
Inventor
金大成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN113314179A publication Critical patent/CN113314179A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5671Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge trapping in an insulator
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/30Power supply 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
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
    • 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/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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
    • 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/5646Multilevel memory with flag bits, e.g. for showing that a "first page" of a word line is programmed but not a "second page"

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

本公开涉及一种存储器系统。该存储器系统包括:存储器装置,包括平面,平面包括多个存储块,每个存储块包括多个存储器单元,每个存储器单元能够存储多位数据;以及控制器,被配置为当对第一存储块执行问题触发操作时将第二存储块确定为候选块,当接收到针对被确定为候选块的第二存储块中存储的数据的读取命令时,调整读取电压的电平,并且控制存储器装置以将经调整电平的读取电压供应到第二存储块来执行与读取命令相对应的读取操作。第二存储块和第一存储块被包括在相同平面中。问题触发操作包括编程操作或擦除操作。

Description

用于执行读取操作的存储器系统及其操作方法
相关申请的交叉引用
本申请要求于2020年2月26日提交的申请号为10-2020-0023653的韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
本公开的实施例涉及一种包括非易失性存储器装置的存储器系统和操作该存储器系统的方法。
背景技术
计算机环境范例已经转变成可随时随地支持计算机系统访问的普适计算系统。因此,便携式电子装置(例如,移动电话、数码相机、笔记本电脑)的使用已经迅速增加。这些便携式电子装置通常使用具有用于存储数据的一个或多个存储器装置的存储器系统。存储器系统可用作主存储装置或辅助存储装置。
与硬盘相比,使用非易失性半导体存储器的数据存储装置具有若干优点。例如,使用非易失性半导体存储器的数据存储装置不具有机械驱动部件(例如,机械臂),因此可在稳定性和耐久性方面展现出提高的性能。这些数据存储装置还可获得更快的数据访问速度,并且可消耗相对较少的电力。能够实现这些性能提高的数据存储装置的示例包括但不限于通用串行总线(USB)型存储器装置、具有各种接口的存储卡和固态驱动器(SSD)。
发明内容
本文中描述的一个或多个实施例提供一种存储器系统、一种数据处理系统和一种操作进程或方法,其能够通过减少操作复杂度和性能劣化来快速可靠地将数据处理到存储器装置中,这进而又可增强存储器装置的使用效率。
本文中描述的一个或多个实施例还提供一种基于预设表和计算来调整读取电压的电平的方法和设备。然后,可使用读取电压来执行读取操作,从而可提高关于读取操作的成功几率。
在实施例中,一种存储器系统可包括:存储器装置,包括平面,该平面包括多个存储块,每个存储块包括多个存储器单元,每个存储器单元能够存储多位数据;以及控制器,当对第一存储块执行问题触发操作时,将第二存储块确定为候选块,当接收针对被确定为候选块的第二存储块中存储的数据的读取命令时,调整读取电压的电平,并且控制存储器装置以将经调整电平的读取电压供应到第二存储块以执行与读取命令相对应的读取操作。第二存储块和第一存储块被包括在相同平面中。问题触发操作可包括编程操作或擦除操作。
控制器可被配置为基于设置表来调整读取电压的电平。该设置表包括指示读取电压的电平可分别从读取电压的默认值改变了多少的信息。
可通过分别将基于设置表而确定的改变与读取电压的默认值相加来获得读取电压的经调整电平。
可通过分别将基于设置表和计算结果而确定的改变与读取电压的默认值相加来获得读取电压的经调整电平。
控制器可被配置为基于通过将关于第二存储块的编程/擦除周期除以针对第二存储块建立的阈值而获得的值来执行高斯函数,以获得计算结果。
从被确定为候选块的多个存储块中排除第二存储块。
控制器可基于与第二存储块相关联且具有第一逻辑值的标志位来确定第二存储块是否是候选块。
控制器可将第二存储块的标志位确定为第二逻辑值,以排除该第二存储块作为候选块。
控制器可被配置为当读取操作失败时,控制存储器装置以执行读取重试操作。
控制器可控制存储器装置以向与另一读取命令相关联的存储块供应默认电平的读取电压,以执行与另一读取命令相对应的读取操作。
在另一实施例中,一种操作存储器系统的方法可包括:对多个存储块之中的第一存储块执行问题触发操作,多个存储块中的每一个包括多个存储器单元,每个存储器单元能够存储多位数据;将多个存储块之中的不同于第一存储块的第二存储块确定为候选块;接收与被确定为候选块的第二存储块中存储的数据相关联的读取命令;调整适用于第二存储块的读取电压的电平;并且控制存储器装置以将经调整电平的读取电压供应到第二存储块以执行与读取命令相对应的读取操作。问题触发操作可包括编程操作或擦除操作。
该方法可进一步包括基于设置表来调整读取电压的电平。该设置表可包括指示读取电压的电平分别从读取电压的默认值改变了多少的信息。
调整读取电压的电平可包括分别将基于设置表而确定的改变与读取电压的默认值相加。
调整读取电压的电平可包括分别将基于设置表和计算结果而确定的改变与读取电压的默认值相加。
调整读取电压的电平可包括基于将关于第二存储块的编程/擦除周期除以针对第二存储块确立的阈值而获得的值来执行高斯函数,以获得计算结果。
该方法可进一步包括从被确定为候选块的多个存储块中排除第二存储块。
确定多个存储块之中除了第一存储块之外的存储块是候选块可包括基于与第二存储块相关联且具有第一逻辑值的标志位来确定第二存储块是否是候选块。
排除第二存储块可包括将第二存储块的标志位确定为具有第二逻辑值以从候选块中排除第二存储块。
该方法可进一步包括当读取操作失败时,控制存储器装置以执行读取重试操作。
该方法可进一步包括控制存储器装置以将读取电压的默认电平供应到与另一读取命令相关联的存储块,以执行与另一读取命令相对应的读取操作。
在另一实施例中,一种系统可包括:信号线,联接到存储器装置,该存储器装置包括至少一个平面,该平面具有多个存储块;以及控制器,被配置为基于通过信号线传输的信号来控制存储器装置,当在第一存储块中执行了问题触发操作时,控制器将多个存储块中的第二存储块确定为候选块,以基于针对被确定为候选块的第二存储块中存储的数据的读取命令来调整至少一个读取电压的电平,并且控制存储器装置以将经调整电平的至少一个读取电压供应到第二存储块,其中第二存储块不同于多个存储块中的第一存储块,并且其中问题触发操作包括编程操作或擦除操作。
附图说明
本说明书中的描述参照附图,其中在整个附图中,相同的附图标记指代相同的部件。
图1示出根据实施例的包括存储器系统的数据处理系统。
图2示出根据实施例的存储器系统中的存储器装置。
图3示出根据实施例的存储块中的存储器单元阵列。
图4示出根据实施例的存储器装置。
图5示出根据实施例的与存储器单元的编程状态和擦除状态相对应的阈值电压分布的曲线图。
图6示出当发生不可校正的错误时执行的读取操作的实施例。
图7示出包括多个存储块的平面的示例。
图8A至图8C示出在向存储器单元供应读取电压之后,存储器单元的阈值电压分布恢复到先前阈值电压分布的现象的示例。
图9示出根据实施例的用于操作存储器系统的方法。
图10示出根据实施例的表。
图11示出根据实施例的改变或调整读取电压的电平。
图12示出根据实施例的用于确定存储块是否是候选块的方法。
图13示出标志位的示例,其中可在从候选块中排除存储块之后改变标志位中的至少一个。
图14A和图14B示出根据实施例的具有已经改变的电平的读取电压。
在本说明书中,对“一个实施例”、“示例性实施例”、“实施例”、“另一实施例”、“一些实施例”、“各个实施例”、“其他实施例”、“可选地实施例”中包括的各种特征(例如,元件、结构、模块、组件、步骤、操作、特性等)的参考旨在意为任意这种特征被包括在本公开的一个或多个实施例中,但是可以或者可以不必须在相同实施例中进行组合。
具体实施方式
以下将参照附图描述本公开的各个实施例。然而,本公开的元件和特征可不同地配置或布置以形成其他实施例,这些实施例可以是任何所公开的实施例的变型。
在本公开中,术语“包括”、“包括有”、“包含”和“包含有”是开放式的。如在所附权利要求中使用的,这些术语指定存在所陈述元件,并且不排除存在或添加一个或多个其他元件。权利要求书中的术语并不排除设备包括附加组件(例如,接口单元、电路等)。
在本公开中,可将各种单元、电路或其他组件描述为或宣称为“配置为”执行一个或多个任务。在这种语境下,“配置为”用于通过指示块/单元/电路/组件包括在操作期间执行一个或多个任务的结构(例如,电路)来隐含结构。这样,即使当块/单元/电路/组件当前未操作(例如,未接通)时,也可将块/单元/电路/组件表述为被配置为执行任务。与语言“配置为”一起使用的块/单元/电路/组件包括硬件,例如电路、存储可运行以实施操作的编程指令的存储器等。记载块/单元/电路/组件被“配置为”执行一个或多个任务显然旨在该块/单元/电路/组件的清楚性。另外,“配置为”可包括由软件和/或固件(例如,FPGA或运行软件的通用处理器)操作的通用结构(例如,通用电路),以能够执行所讨论的(多个)任务的方式来操作。“配置为”还可包括调整制造工艺(例如,半导体制造设施)以制造适于实施或执行一个或多个任务的装置(例如,集成电路)。
如本公开所使用的,术语“电路”是指以下所有内容:(a)仅硬件电路的实施方案(诸如仅以模拟和/或数字电路的实施方案)和(b)电路和软件(和/或固件)的组合,诸如(如适用于):(i)(多个)处理器的组合或(ii)(多个)处理器/软件(包括一起工作以使诸如移动电话或服务器的设备执行各种功能的(多个)数字信号处理器、软件和(多个)存储器)的部分;以及(c)需要软件或固件来操作的电路,诸如(多个)微处理器或(多个)微处理器的一部分,即使软件或固件在物理上不存在。“电路”的这种定义适用于该术语在本申请中、包括在任意权利要求中的所有使用。作为另一示例,如在本申请中所使用的,术语“电路”还涵盖仅一个处理器(或多个处理器)或处理器的一部分以及其(它们)附带的软件和/或固件的实施方案。例如,并且如果适用于特定的权利要求元素,术语“电路”还涵盖用于存储装置的集成电路。
如本文所使用的,这些术语“第一”、“第二”、“第三”等用作所在的名词前的标签,并不意指任意类型的排序(例如,空间、时间、逻辑等)。术语“第一”和“第二”并不一定意为第一值必须写在第二值之前。进一步地,尽管本文所使用的术语可用于识别各个元件,但这些元件不受这些术语的限制。这些术语用于区分一个元件和另外具有相同或相似名称的另一元件。例如,可将第一电路与第二电路区分开。
进一步地,术语“基于”用于描述影响确定结果的一个或多个因素。该术语并不排除可影响确定结果的附加因素。即,确定结果可仅仅基于这些因素,或者至少部分地基于这些因素。考虑短语“基于B确定A”。虽然在这种情况下,B是影响A的确定结果的因素,但这种短语并不排除A的确定结果也基于C。在其他情况下,可仅基于B来确定A。
图1示出根据实施例的包括存储器系统的数据处理系统100。参照图1,数据处理系统100可包括与存储器系统110接合、可操作地联接或互锁的主机102。
主机102可包括例如便携式电子装置(例如,移动电话、MP3播放器、膝上型计算机)或非便携式电子装置(例如,台式计算机、游戏机、电视、投影仪)。主机102还可包括管理和控制主机102的功能和操作的至少一个操作系统(OS)。OS可提供与存储器系统110接合的主机102和使用该存储器系统110的用户之间的互操作性。在一个实施例中,OS可支持与用户请求相对应的功能和操作。
作为示例而非限制,根据主机102的移动性,OS可分为通用操作系统和移动操作系统。根据系统要求或用户环境,通用操作系统可分为个人操作系统和企业操作系统。企业操作系统可专门用于确保和支持高性能计算。移动操作系统可用于支持移动性的服务或功能(例如,省电功能)。在一个实施例中,主机102可包括多个操作系统。例如,主机102可运行与用户请求相对应的、与存储器系统110互锁的多个操作系统。主机102可向存储器系统110传输与用户请求相对应的多个命令,从而在存储器系统110内执行与命令相对应的操作。
存储器系统110中的控制器130可响应于从主机102输入的请求或命令来控制存储器装置150。例如,控制器130可执行读取操作以向主机102提供从存储器装置150读取的数据,并执行写入操作(或编程操作)以将从主机102输入的数据存储在存储器装置150中。为了执行数据输入/输出(I/O)操作,控制器130可控制和管理用于数据读取、数据编程、数据擦除等的内部操作。
根据实施例,控制器130可包括主机接口132、处理器134、错误校正电路138、电源管理单元(PMU)140、存储器接口142和存储器144。图1所示的控制器130中的组件可在关于存储器系统110的实施例、操作性能需求等之间变化。例如,根据主机接口的协议,存储器系统110可利用与主机102电联接的各种类型的存储装置中的任意一种来实施。合适的存储装置的非限制性示例包括固态驱动器(SSD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、缩小尺寸的MMC(RS-MMC)、微型MMC、安全数字(SD)卡、迷你SD、微型SD、通用串行总线(USB)存储装置、通用闪存(UFS)装置、紧凑式闪存(CF)卡、智能媒体(SM)卡、记忆棒等。基于存储器系统110的实施可添加或省略控制器130中的组件。
主机102和存储器系统110可包括控制器或用于基于设定协议来传输和接收信号、数据和/或其他信息的接口。例如,存储器系统110中的主机接口132可包括能够向主机102传输信号、数据和/或其他形式的信息的设备,或者用于接收从主机102输入的信号、数据和/或其他形式的信息的设备。
控制器130中的主机接口132可从主机102接收信号、命令(或请求)或数据。例如,主机102和存储器系统110可使用设定协议在彼此之间传输和接收数据。由主机102和存储器系统110来支持的用于发送和接收数据的协议或接口的示例可包括通用串行总线(USB)、多媒体卡(MMC)、并行高级技术附件(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、高速外围组件互连(PCIE)、串列SCSI(SAS)、串行高级技术附件(SATA)、移动工业处理器接口(MIPI)等。根据实施例,主机接口132是一种用于与主机102交换数据的层,并且由被称为主机接口层(HIL)的固件来实施或驱动。
电子集成驱动器(IDE)或高级技术附件(ATA)可用作传输和接收数据的接口,并且可使用包括并联连接的40条布线的电缆以支持主机102和存储器系统110之间的数据传输和接收。当多个存储器系统110连接到单个主机102时,多个存储器系统110可使用例如切换多个存储器系统110的位置或指拨开关(dip switch)而被划分为主存储器系统和从存储器系统。被设置为主存储器系统的存储器系统110可用作主存储器装置。IDE(ATA)或演变的ADE(ATA)的示例包括Fast ATA、ATAPI和增强型IDE(EIDE)。
串行高级技术附件(SATA)是一种与电子集成驱动器(IDE)装置所使用的并行数据通信接口的各种ATA标准相兼容的串行数据通信接口。可将IDE接口中的40条布线减少到SATA接口中的6条布线。例如,用于IDE的40个并行信号可转变为用于SATA的、待在彼此之间传输的6个串行信号。SATA接口由于其较快的数据传输和接收率以及在主机102中用于数据传输和接收的较少资源消耗而被广泛使用。SATA接口可支持与多达30个外部装置连接到主机102中包括的单个收发器。
另外,SATA可支持热插拔,该热插拔允许即使在主机102和另一装置之间的数据通信正在运行时也可将外部装置附接至主机102或者将外部装置与主机102分离。因此,存储器系统110可作为附加装置来连接或断开,就像通用串行总线(USB)支持的装置一样,即使在主机102通电时也是如此。例如,在具有eSATA端口的主机102中,存储器系统110可像外部硬盘一样自由地分离。
小型计算机系统接口(SCSI)是一种用于连接计算机、服务器和/或其他外围装置的串行数据通信接口。与诸如IDE和SATA等其他接口相比,SCSI可提供较高的传输速度。在SCSI中,可串联连接主机102和至少一个外围装置(例如,存储器系统110),但是可通过并行数据通信来执行主机102和每个外围装置之间的数据传输和接收。在SCSI中,很容易将主机102与存储器系统110连接或断开。另外,SCSI可支持将15个其他装置连接到主机102中的单个收发器。
串列SCSI(SAS)可理解为SCSI的串行数据通信版本。在SAS中,不仅主机102和多个外围装置串联连接,而且可以串行数据通信方案来执行主机102和每个外围装置之间的数据传输和接收。SAS可通过串行电缆而不是并行电缆来支持主机102与外围装置之间的连接,从而使用SAS容易地管理设备,增强或提高操作可靠性和通信性能。SAS可支持将8个外部装置连接到主机102中的单个收发器。
高速非易失性存储器(NVMe)是一种至少基于被设计用于提高配备有非易失性存储器系统110的主机102、服务器、计算装置等的性能和设计灵活性的高速外围组件互连(PCIe)的接口。PCIe可使用插槽或特定电缆来连接主机102(例如,计算装置)和存储器系统110(例如,外围装置)。例如,PCIe可使用多个引脚(例如,18个引脚、32个引脚、49个引脚、82个引脚等)和至少一条布线(例如x1、x4、x8、x16等),以实现每秒数百MB以上的高速数据通信(例如250MB/s、500MB/s、984.6250MB/s、1969MB/s等)。根据实施例,PCIe方案可实现每秒数十到数百千兆位的带宽。使用NVMe的系统可充分利用非易失性存储器系统110(例如,SSD)的操作速度,其中非易失性存储器系统110的操作速度高于硬盘的操作速度。
根据实施例,可通过通用串行总线(USB)来连接主机102和存储器系统110。USB是一种可扩展的、可热插拔式即插即用串行接口,USB可在主机102和诸如键盘、鼠标、操纵杆、打印机、扫描仪、存储装置、调制解调器、摄像机等的外围装置之间提供经济高效的标准连接。诸如存储器系统110的多个外围装置可联接到主机102中包括的单个收发器。
参照图1,错误校正电路138可校正待在存储器装置150中处理(例如,从存储器装置150中输出)的数据的错误位,错误校正电路138可包括错误校正码(ECC)编码器和ECC解码器。在此,ECC编码器可对待被编程在存储器装置150中的数据执行错误校正编码,以生成添加了奇偶校验位的经编码数据来存储在存储器装置150中。当控制器130读取存储器装置150中存储的数据时,ECC解码器可检测并校正从存储器装置150读取的数据中包含的错误。例如,在对从存储器装置150读取的数据执行错误校正解码之后,错误校正电路138可确定错误校正解码是否已经成功并输出指令信号(例如,校正成功信号或校正失败信号)。错误校正电路138可使用在ECC编码进程期间生成的奇偶校验位来校正读取数据的错误位。当错误位的数量大于或等于可校正错误位的阈值数量时,错误校正电路138可不校正错误位,而是可输出指示在校正错误位中失败的错误校正失败信号。
根据实施例,错误校正电路138可基于编码调制来执行错误校正操作。示例包括低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhuri-Hocquenghem,BCH)码、Turbo码、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)、分组编码调制(BCM)。错误校正电路138可包括用于基于上述代码中的至少一种来执行错误校正操作的电路、模块、系统和/或装置。
例如,ECC解码器可对从存储器装置150传输的数据执行硬判决解码或软判决解码。作为针对错误校正而被广泛分类的两种方法中的一种,硬判决解码可包括通过从存储器装置150中的非易失性存储器单元读取数字数据“0”或“1”来校正错误的操作。因为硬判决解码处置二进制逻辑信号,所以电路或算法的设计或配置可较简单并且处理速度可能比软判决解码更快。
软判决解码可基于两个或更多个量化值(例如,多位数据、近似值、模拟值等),将存储器装置150中的非易失性存储器单元的阈值电压进行量化,以基于该两个或更多个量化值来校正错误。控制器130可从存储器装置150中的多个非易失性存储器单元接收两个或多个字母或量化值,然后基于通过将量化值表征为诸如条件概率或似然性的信息的组合而生成的信息来执行解码。
根据实施例,ECC解码器可在为软判决解码而设计的方法之中使用低密度奇偶校验和生成器矩阵(LDPC-GM)码。在此,低密度奇偶校验(LDPC)码使用一种能够根据可靠性以若干位的形式从存储器装置150读取数据值的算法,并且通过消息交换来迭代地重复以提高该值的可靠性,而不是像硬判决解码那样简单地读取数据1或0。然后,这些值最终可被确定为数据1或0。例如,使用LDPC码的解码算法可理解为概率解码。硬判决解码可从非易失性存储器单元输出被编码为0或1的值。与硬判决解码相比,软判决解码可基于随机信息来确定非易失性存储器单元中存储的值。关于可能被认为是可发生在存储器装置150中的错误的位翻转,软判决解码可提供提高的校正错误和恢复数据的概率,并且提供经校正的数据的可靠性和稳定性。LDPC-GM码可具有内部LDGM码可与高速LDPC码串联的方案。
根据实施例,在针对软判决解码而设计的方法之中,ECC解码器可使用低密度奇偶校验常规卷积码(LDPC-CCs)码。在本文中,基于可变块长度和移位寄存器,LDPC-CCs码可具有使用线性时间编码和管线解码的方案。
根据实施例,在针对软判决解码而设计的方法中,ECC解码器可使用对数似然比Turbo码(LLR-TC)。对数似然比(LLR)可被计算为采样值与理想值之间距离的非线性函数。另外,Turbo码(TC)可包括二维或三维中的简码(例如,汉明(Hamming)码),并且在行方向和列方向重复解码以提高值的可靠性。
电源管理单元(PMU)140可控制在控制器130中提供的电力。PMU 140可监视供应到存储器系统110的电力(例如,供应到控制器130的电压),并向控制器130中包括的组件供应电力。当供应到存储器系统110的电力不稳定时,PMU 140不仅可检测通电或断电,而且还可生成触发信号,以使存储器系统110能够紧急地备份当前状态。根据实施例,PMU 140可包括能够积累可在紧急情况下使用的电力的装置或组件。
存储器接口142可用作处置在控制器130和存储器装置150之间传送的命令和数据的接口,以允许控制器130响应于从主机102输入的命令或请求来控制存储器装置150。例如,当存储器装置150是闪速存储器时,在处理器134的控制下,存储器接口142可生成用于存储器装置150的控制信号,并且可处理输入到存储器装置150或从存储器装置150输出的数据。在一个实施例中,当存储器装置150包括NAND闪速存储器时,存储器接口142包括NAND闪存控制器(NFC)。存储器接口142可提供用于处置控制器130和存储器装置150之间的命令和数据的接口。根据实施例,可通过作为用于与存储器装置150交换数据的组件、被称为闪存接口层(FIL)的固件来实施或驱动存储器接口142。
根据实施例,存储器接口142可支持与存储器装置150一起进行数据输入/输出的开放NAND闪存接口(ONFi)、Toggle模式等。例如,ONFi可使用数据路径(例如,通道、通路等),该数据路径包括能够支持以8位或16位数据为单位的双向传输和接收的至少一条信号线。可通过执行例如异步单倍数据速率(SDR)、同步双倍数据速率(DDR)和Toggle双倍数据速率(DDR)通信协议的至少一种接口来实现控制器130和存储器装置150之间的数据通信。
存储器144可作为存储器系统110或控制器130中的工作存储器,同时存储针对存储器系统110和控制器130中的操作而发生或传递的临时性或事务性数据。例如,在响应于来自主机102的请求而将从存储器装置150输出的读取数据输出到主机102之前,存储器144可临时存储该条读取数据。另外,在将从主机102输入的一条写入数据编程到存储器装置150中之前,控制器130可将该条写入数据临时存储在存储器144中。当控制器130控制存储器装置150的操作(例如,数据读取、数据写入、数据编程、数据擦除等)时,可将在存储器系统110的控制器130和存储器装置150之间传输或生成的数据存储在存储器144中。除了读取数据或写入数据之外,存储器144还可存储用于在主机102和存储器装置150之间输入或输出数据的信息(例如,映射数据、读取请求、编程请求等)。根据实施例,存储器144可包括命令队列、程序存储器、数据存储器、写入缓冲器/高速缓存、读取缓冲器/高速缓存、数据缓冲器/高速缓存、映射缓冲器/高速缓存等。控制器130可在存储器144中为被建立以执行数据输入/输出操作的组件分配一些存储空间。例如,在存储器144中建立的写入缓冲器可用于临时存储进行编程操作的目标数据。
在实施例中,存储器144可利用易失性存储器来实施。例如,存储器144可利用静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或两者来实施。尽管图1示出存储器144被设置在控制器130内的示例,但实施例不限于此。存储器144可位于控制器130内部或外部。例如,存储器144可由具有在存储器144和控制器130之间传送数据和/或信号的存储器接口的外部易失性存储器来实现。
处理器134可控制存储器系统110的全部操作。例如,处理器134可响应于从主机102输入的写入请求或读取请求来控制存储器装置150的编程操作或读取操作。根据实施例,处理器134可运行固件(或其他指令/程序代码)来控制存储器系统110中的编程操作或读取操作。例如,通过处理器134运行的固件(或指令/程序代码)可构成闪存转换层(FTL)。在下文中将参照图3详细描述FTL的示例。根据实施例,处理器134可利用微处理器或中央处理单元(CPU)来实施。
根据实施例,存储器系统110可利用至少一个多核处理器来实施。该多核处理器是一种集成用作不同处理区域的两个或更多个内核的电路或芯片。例如,当多核处理器中的多个内核独立地驱动或运行多个闪存转换层(FTL)时,可提高存储器系统110的数据输入/输出速度(或性能)。根据实施例,可通过多核处理器中的不同内核来独立地执行存储器系统110中的数据输入/输出(I/O)操作。
控制器130中的处理器134可执行与从主机102输入的请求或命令相对应的操作。进一步地,存储器系统110可独立于从诸如主机102的外部装置输入的命令或请求。在一些情况下,由控制器130响应于从主机102输入的请求或命令而执行的操作可被认为是前台操作。在其他情况下,由控制器130独立地(例如,不考虑从主机102输入的请求或命令)执行的操作可被认为是后台操作。控制器130可执行针对存储器装置150中关于数据的读取、写入或编程、擦除等的前台或后台操作。
另外,与作为从主机102传输的设置命令的设置参数命令或设置特征命令相对应的参数设置操作可被认为是前台操作。同时,作为在没有从主机102传输的命令的情况下的后台操作,控制器130可执行垃圾收集(GC)、损耗均衡(WL)、用于识别和处理坏块的坏块管理等,可关于存储器装置150中包括的多个存储块152、154、156来执行。
根据实施例,基本上相似的操作可在存储器系统110中作为前台操作和后台操作两者来执行。例如,如果存储器系统110响应于从主机102输入的请求或命令来执行垃圾收集(例如,手动GC),则垃圾收集可被认为是前台操作。然而,当存储器系统110独立于主机102而执行垃圾收集(例如,自动GC)时,可将该垃圾收集认为是后台操作。
当存储器装置150包括包含非易失性存储器单元的多个管芯(或多个芯片)时,控制器130可被配置为关于从主机102输入的多个请求或命令执行并行处理,以提高存储器系统110的性能。例如,所传输的请求或命令可被同时划分和处理到存储器装置150中的多个管芯或多个芯片。控制器130中的存储器接口142可通过至少一个通道和至少一个通路连接到存储器装置150中的多个管芯或芯片。
当控制器130响应于与包括非易失性存储器单元的多个页面相关联的请求或命令而通过每个通道或每个通路在多个管芯中分布和存储数据时,可同时或并行地执行与请求或命令相对应的多个操作。这种处理方法或方案可被认为是交错方法。因为使用交错方法来操作的存储器系统110的数据输入/输出速度可能比不使用交错方法的更快,所以可提高存储器系统110的数据I/O性能。
作为示例而非限制,控制器130可识别与存储器装置150中包括的多个存储器管芯相关联的多个通道(或多个通路)的状态。控制器130可将每个通道或每个通路的状态确定为忙碌状态、就绪状态、活动状态、空闲状态、正常状态和/或异常状态中的一种。控制器确定通过哪个通道或通路传递指令(和/或数据)可与物理块地址相关联,例如,将指令(和/或数据)传递到哪个(哪些)管芯。控制器130可参考从存储器装置150传递的描述符。该描述符可包括描述关于存储器装置150的某些信息的块参数或页面参数,并且是具有预定格式或结构的数据。在本文中,可基于组件之间的协议或已确定的规范来确定预定的格式或结构。例如,描述符可包括装置描述符、配置描述符、单元描述符等。控制器130可参考或使用描述符来确定通过哪个(哪些)通道或通路来交换指令或一条数据。
参照图1,存储器系统110中的存储器装置150可包括多个存储块152、154、156。多个存储块152、154、156中的每一个可包括多个非易失性存储器单元。根据实施例,存储块152、154、156可以是被一起擦除的一组非易失性存储器单元。存储块152、154、156可包括多个页面,该多个页面是被一起读取或编程的一组非易失性存储器单元。每个存储块152、154、156可具有高度集成的三维堆叠结构。进一步地,存储器装置150可包括多个管芯,每个管芯包括多个平面,并且每个平面包括多个存储块152、154、156。在另一实施例中,例如,为了实现预定的性能目标或实现存储器系统110的一个或多个预期应用,存储器装置150可具有不同的配置。
在图1所示的存储器装置150中,包括多个存储块152、154、156。根据可在一个存储器单元中存储或代表的位的数量,多个存储块152、154、156可以是各种类型的存储块(例如,单层单元(SLC)存储块、多层单元(MLC)存储块等)。SLC存储块可包括由每个存储一位数据的存储器单元实施的多个页面。SLC存储块具有高数据I/O操作性能和高耐久性。MLC存储块可包括由每个存储多位数据(例如,两位或更多位)的存储器单元实施的多个页面。
在一个实施例中,与SLC存储块的存储容量相比,MLC存储块对于相同空间可具有更大的存储容量。在存储容量方面,MLC存储块可高度集成。在实施例中,存储器装置150可使用MLC存储块来实施,MLC存储块包括例如双层单元(DLC)存储块、三层单元(TLC)存储块、四层单元(QLC)存储块及其组合。双层单元(DLC)存储块可包括由每个能够存储2位数据的存储器单元实施的多个页面。三层单元(TLC)存储块可包括由每个能够存储3位数据的存储器单元实施的多个页面。四层单元(QLC)存储块可包括由每个能够存储4位数据的存储器单元实施的多个页面。在其他实施例中,存储器装置150可利用包括由每个能够存储五位或更多位数据的存储器单元实施的多个页面的块来实施。
根据实施例,控制器130可将存储器装置150中包括的多层单元(MLC)存储块用作在一个存储器单元中存储一位数据的SLC存储块。多层单元(MLC)存储块的数据输入/输出速度可不同于(例如,慢于)SLC存储块的数据输入/输出速度。例如,当将MLC存储块用作SLC存储块时,可减少用于读取或编程操作的裕量。当使用多层单元(MLC)存储块作为SLC存储块时,控制器130可利用多层单元(MLC)存储块的不同(例如,更快的)数据输入/输出速度。例如,因为缓冲器可能需要高数据输入/输出速度,所以控制器130可将MLC存储块用作缓冲器来临时存储数据,以提高存储器系统110的性能。
进一步地,根据实施例,控制器130可将数据多次编程到多层单元(MLC)中,而不对存储器装置150中包括的特定MLC存储块执行擦除操作。在一些情况下,非易失性存储器单元可能具有不支持数据重写的特征。然而,控制器130可使用多层单元(MLC)可存储多位数据的特征,以便多次将多个1位数据编程到MLC中。对于MLC重写操作,当在非易失性存储器单元中编程1位数据时,控制器130可将编程次数存储为单独的操作信息。根据实施例,在相同非易失性存储器单元中重写附加数据之前,可执行用于均匀地均衡非易失性存储器单元的阈值电压的操作。
在实施例中,存储器装置150可利用诸如闪速存储器的非易失性存储器来实现,例如NAND闪速存储器、NOR闪速存储器等。在一个实施例中,存储器装置150可由相变随机存取存储器(PCRAM)、铁电随机存取存储器(FRAM)、自旋注入磁性存储器(STT-RAM)和自旋转移扭矩磁性随机存取存储器(STT-MRAM)中的至少一种来实施。
图2示出根据实施例的存储器装置150的配置。参照图2,存储器装置150可包括多个存储块0至N-1,其中块0至N-1中的每一个包括多个页面(例如,2M个页面),并且页面的数量可根据电路设计而变化。各个存储块0至N-1中包括的存储器单元可以是存储1位数据的单层单元(SLC)或存储2位或更多位数据的多层单元(MLC)中的一个或多个。在实施例中,存储器装置150可包括每个单元存储3位数据的多个三层单元(TLC)。在另一实施例中,存储器装置可包括每个单元存储4位数据的多个四层单元(QLC)。
图3示出根据实施例的存储器装置150中的存储块330的存储器单元阵列的电路配置。参照图3,存储块330可代表存储器系统110的存储器装置150中包括的多个存储块152至156中的一个或多个,并且可包括联接到多个相应位线BL0至BLm-1的多个单元串340。每列的单元串340可包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。在漏极选择晶体管DST和源极选择晶体管SST之间,可串联联接多个存储器单元MC0至MCn-1。在实施例中,存储器单元晶体管MC0至MCn-1中的每一个可由能够存储多个位的数据信息的MLC来实现。单元串340中的每一个可电联接到多个位线BL0至BLm-1之中的相应位线。例如,如图3所示,第一单元串联接到第一位线BL0,并且最后单元串联接到最后位线BLm-1。
虽然图3示出NAND闪速存储器单元,但是在另一实施例中,存储器单元可以是不同的类型。例如,存储器单元可以是NOR闪速存储器单元或混合闪速存储器单元,后者可包括组合在其中的两种或更多种类型的存储器单元。而且,存储器装置150可以是包括作为电荷存储层的导电浮栅的闪速存储器装置,或者是包括作为电荷存储层的绝缘层的电荷撷取闪存(CTF)装置。
存储器装置150可进一步包括根据操作模式提供字线电压(例如,编程电压、读取电压和通过电压)以向字线供应的电压供应单元310。可由控制电路来控制电压供应单元310的电压生成操作。在控制电路的控制下,电压供应单元310可选择存储器单元阵列的存储块(或区段)中的一个,可选择所选择的存储块的字线中的一个,并且可将字线电压提供到所选择的字线和未选择的字线。
存储器装置150可包括由控制电路控制的读取/写入电路320。在验证/正常读取操作期间,读取/写入电路320可作为从存储器单元阵列读取数据的读出放大器来操作。在编程操作期间,读取/写入电路320可作为根据待存储在存储器单元阵列中的数据而驱动位线的写入驱动器来操作。在编程操作期间,读取/写入电路320可从页面缓冲器接收待存储到存储器单元阵列中的数据,并且可根据所接收的数据向位线供应电流或电压。读取/写入电路320可包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲器322至326。页面缓冲器322至326中的每一个可包括多个锁存器。
图4示出包括多个存储器管芯的存储器装置150的实施例,例如存储器管芯0 610、存储器管芯1 630、存储器管芯2 650和存储器管芯3 670,即Die0 610、Die1 630、Die2 650和Die3 670。每个存储器管芯可包括多个平面,例如,Plane0、Plane1、Plane2和Plane3。例如,存储器管芯0 610可包括Plane0 612、Plane1 616、Plane2 620和Plane3624。存储器管芯1 630可包括Plane0 632、Plane1 636、Plane2 640和Plane3 644。存储器管芯2 650可包括Plane0 652、Plane1 656、Plane2 660和Plane3 664。存储器管芯3 670可包括Plane0672、Plane1 676、Plane2680和Plane3 684。
如上文参照图2所描述的,存储器装置150的存储器管芯中的平面中的每一个可包括存储块(例如,N个块:BLOCK0、BLOCK1、…、BLOCKN-1)中的一个或多个,每个存储块包括多个页面(例如,2M个页面)。例如,在存储器管芯0中,Plane0 612可包括一个或多个块614,Plane1 616可包括一个或多个块618,Plane2 620可包括一个或多个块622,并且Plane3624可包括一个或多个块626。在存储器管芯1中,Plane0 632可包括一个或多个块634,Plane1 636可包括一个或多个块638,Plane2 640可包括一个或多个块642,并且Plane3644可包括一个或多个块646。在存储器管芯2中,Plane0 652可包括一个或多个块654,Plane1 656可包括一个或多个块658,Plane2 660可包括一个或多个块662,并且Plane3664可包括一个或多个块666。在存储器管芯3中,Plane0 672可包括一个或多个块674,Plane1 676可包括一个或多个块678,Plane2 680可包括一个或多个块682,并且Plane 3684可包括一个或多个块686。
此外,存储器装置150包括与各个存储器管芯相对应的多个缓冲器。例如,缓冲器0628对应于存储器管芯0 610,缓冲器1 648对应于存储器管芯1 630,缓冲器2 668对应于存储器管芯2 650,并且缓冲器3 688对应于存储器管芯3 670。在另一实施例中,存储器装置150可包括与存储器平面中的每一个相对应的多个缓冲器。每个平面可包括一个或多个块以及缓冲器。
当执行与从主机102接收的多个命令相对应的命令操作时,与命令操作相对应的数据被存储在存储器装置150中包括的缓冲器中。例如,当执行编程操作时,与编程操作相对应的数据被存储在缓冲器中,然后被存储在存储器管芯的存储块中包括的页面中。当执行读取操作时,从存储器管芯的存储块中包括的页面中读取与读取操作相对应的数据,然后将该数据存储在缓冲器中并通过控制器130提供到主机102。
在图4中,存储器装置150中包括的缓冲器存在于各个相应存储器管芯的外部。但是,在另一实施例中,缓冲器可存在于各个相应存储器管芯的内部。而且,缓冲器可对应于各个存储器管芯中的各个平面或各个存储块。进一步地,参照图3和图4,存储器装置150中包括的缓冲器被认为是存储器装置150中包括的多个页面缓冲器322、324和326。但是,在另一实施例中,缓冲器可以是存储器装置150中包括的多个高速缓存或多个寄存器。
存储器装置150中包括的多个存储块可被分组到多个超级存储块中,并且可在多个超级存储块中执行命令操作。超级存储块中的每一个可包括多个存储块,例如,第一存储块组和第二存储块组中包括的存储块。在这方面,当第一存储块组被包括在特定的第一存储器管芯的第一平面中时,第二存储块组可被包括在该第一存储器管芯的第一平面中、被包括在该第一存储器管芯的第二平面中,或者被包括在第二存储器管芯的平面中。
在实施例中,数据处理系统可包括多个存储器系统。多个存储器系统110中的每一个可包括控制器130和存储器装置150。在数据处理系统中,多个存储器系统110中的一个可以是主存储器系统,其他的可以是从存储器系统。可基于多个存储器系统110之间的争用来确定主存储器系统。当从数据处理系统中的主机102传递多个命令时,主存储器系统可至少基于通道或总线的状态来确定每个命令的目的地。例如,第一存储器系统可被确定为多个存储器系统之中与从多个存储器系统传递的信息相对应的主存储器系统。当第一存储器系统被确定为主存储器系统时,剩余的存储器系统可被认为是从存储器系统。
主存储器系统的控制器可检查联接到多个存储器系统的多个通道(或通路、总线)的状态,以选择哪个存储器系统处置从主机102传递的命令或数据。在实施例中,可在多个存储器系统之中动态地确定主存储器系统。在另一实施例中,主存储器系统可周期性地或根据事件与其他从存储器系统中的一个一起改变。
在下文中,将更详细地描述用于在包括上述存储器装置150和控制器130的存储器系统110中传送数据的方法和设备。当存储器系统110中存储的数据量变得更大时,可能需要存储器系统110一次读取或存储大量数据。然而,用于读取存储器装置150中存储的数据的读取时间或用于在存储器装置150中写入数据的编程/写入时间可能长于用于控制器130处理数据的处置时间或控制器130与存储器装置150之间的数据传输时间。例如,读取时间可能比处置时间长两倍。因为读取时间或编程时间可能比处置时间或数据传输时间长(甚至更长),所以在存储器系统110中用于传递数据的过程或进程可能影响存储器系统110的性能,例如操作速度和/或影响存储器系统110的结构,诸如缓冲器大小。
图5是示出关于TLC存储器单元的编程状态和擦除状态的阈值电压分布的示例的曲线图。在存储器装置中的TLC存储块中,单个存储器单元可存储包括最高有效位(MSB)、中央有效位(CSB)和最低有效位(LSB)的3位数据。例如,在TLC存储块中,关于多个存储器单元中的每一个的阈值电压的状态可以是可基于编程在每个存储器单元中的数据而确定的八个状态中的一个状态,该八个状态包括擦除状态E和第一至第七编程状态P1至P7(如图5中所示)。例如,当利用具有3位值“111”的数据对存储器单元进行编程时(其中该存储器单元的所有MSB、CSB和LSB位都利用值“1”来编程),则该存储器单元可具有与擦除状态(E)相对应的阈值电压。在其他情况下,可利用具有以下可能值中的任意一个值的3位数据来编程每个存储器单元:“011”、“001”、“000”、“010”、“110”、“100”和“101”。例如,这些值“011”、“001”、“000”、“010”、“110”、“100”和“101”可分别对应于第一至第七编程状态P1至P7。
在TLC存储块中,可一起编程或一起读取第一至第三页面(第一至第三页面中的每个页面分别对应于每个存储器单元的LSB、CSB和MSB)。第一至第三页面可分别存储LSB数据、CSB数据和MSB数据。例如,由于多个存储器单元中的每一个的LSB对应于第一页面,所以控制器可向多个存储器单元供应LSB读取电压,以将一些存储器单元识别为具有值“1”并且将其他存储器单元识别为具有值“0”。
由于每个存储器单元的CSB对应于第二页面,所以通过向多个存储器单元供应CSB读取电压,控制器可将一些存储器单元识别为具有值“1”并且将其他存储器单元识别为具有值“0”。
进一步地,由于多个存储器单元中的每一个的MSB对应于第三页面,所以控制器可向多个存储器单元供应MSB读取电压,以将一些存储器单元识别为具有值“1”并且将其他存储器单元识别为具有值“0”。参照图5的示例,读取电压可包括两个LSB读取电压R3、R7,三个CSB读取电压R2、R4、R6,以及两个MSB读取电压R1、R5。
读取电压可用于将具有值“1”的存储器单元与具有值“0”的另一存储器单元区分开。为了识别与每个存储器单元的LSB相对应的第一页面中存储的LSB数据,可使用第三读取电压R3来将阈值电压分布中的一些状态(例如,E、P1、P2)与其他状态(例如,P3至P7)区分开。第七读取电压R7可用于将第七编程状态P7与其他状态(例如,E、P1至P6)区分开。因此,通过使用第三读取电压R3和第七读取电压R7,控制器可识别每个存储器单元的阈值电压是值“1”或值“0”来作为LSB,从而可以读取第一页面。
当向多个存储器单元供应第三读取电压R3时,控制器130可识别被导通的一些存储器单元,例如LSB具有值“1”的存储器单元。基于第七读取电压R7,控制器130可识别被关断的一些存储器单元,例如LSB具有值“1”的存储器单元。然后,控制器130可识别当供应第三读取电压R3时关断并且当供应第七读取电压R7时导通的一些存储器单元。因此,基于第三读取电压R3和第七读取电压R7,可以将一些存储器单元的LSB标识为值“0”。
关于多个存储器单元的CSB,控制器可使用三个读取电压(例如,R2、R4、R6)来确定多个存储器单元的CSB的值(“1”或“0”)。控制器130可向多个存储器单元供应第二读取电压R2,从而能够识别被导通的一些存储器单元,例如LSB具有值“1”的存储器单元。可以将多个存储器单元的擦除状态E和第一编程状态P1与其他状态P2至P7区分开。
进一步地,控制器130可向多个存储器单元供应第四读取电压R4,以便将具有一些状态(例如,E、P1至P3)的一些存储器单元与具有其他状态(例如,P4至P7)的其他存储器单元区分开。然后,控制器130可识别当供应第二读取电压R2时关断并且当供应第四读取电压R4时导通的一些存储器单元。因此,基于第二读取电压R2和第四读取电压R4,可将一些存储器单元的CSB识别为值“0”。
控制器130可进一步被配置为向多个存储器单元供应第六读取电压R6。根据供应作为CSB电压的第六读取电压R6以读取第二页面的结果,控制器130可将诸如第六编程状态P6和第七编程状态P7的、被关断的一些存储器单元与具有其他状态(例如,E、P1至P5)的其他存储器单元区分开,从而可将一些存储器单元的CSB确定为值“0”。然后,控制器130可识别当供应第六读取电压R6时导通并且当供应第四读取电压R4时关断的一些存储器单元。因此,基于第六读取电压R6和第四读取电压R4,可将一些存储器单元的CSB识别为值“0”。
另外,基于第一读取电压R1和第五读取电压R5,可识别多个存储器单元的MSB。作为供应第一电压R1以读取对应于MSB的第三页面的结果,控制器130可将具有擦除状态E的一些存储器单元与具有其他状态P1至P7的其他存储器单元区分开,以便识别阈值电压对应于MSB为“1”的一些存储器单元。
进一步地,控制器130可使用第五读取电压R5来将具有擦除状态E和第一至第四编程状态P1至P4的一些存储器单元与具有其他状态P5至P7的其他存储器单元区分开,使得可将由第五读取电压R5关断的其他存储器单元的MSB识别为值“1”。基于第一读取电压R1和第五读取电压R5,控制器130可确定哪些存储器单元存储值“0”。控制器130可识别当供应第一读取电压R1时关断并且当供应第五读取电压R5时导通的一些存储器单元,以将一些存储器单元的MSB读取为值“0”。
作为读取每个存储器单元的LSB、CSB和MSB的结果,当MSB、CSB和LSB数据(例如,3位数据)都是值“1”时,例如被编程具有值“111”的3位数据的存储器单元,控制器130可确定该存储器单元具有擦除状态E。控制器130可确定存储器单元具有对应于3位数据“111”的阈值电压。同样地,控制器130可被配置为确定在每个存储器单元中编程值“011”、“001”、“000”、“010”、“110”、“100”和“101”中的哪一个值。当基于3位数据来识别每个存储器单元的阈值电压(例如,擦除状态E和第一至第七编程状态P1至P7)时,控制器130可估计关于多个存储器单元的阈值电压分布。
在非易失性存储器装置中,至少一些存储器单元的阈值电压可能根据读取干扰、保留特性等而改变。至少一些存储器单元的阈值电压可能引起阈值电压分布的改变(或移位)。当使用具有针对先前阈值电压分布而优化的电平的读取电压来执行读取操作时,在阈值电压分布被移位之后,读取数据中可能发生错误。参照图1,ECC电路138可检测并校正读取数据中的错误。然而,当错误位的数量大于阈值时,ECC电路可能无法修复读取数据中的错误。在这种情况下,控制器130可控制存储器装置150执行读取重试操作。
读取重试操作可包括使用经调整电平的读取电压的读取操作。可基于包括读取偏压集的读取重试表来调整读取电压的电平。即使在执行了读取重试操作之后也没有校正读取数据中的错误,控制器130也可尝试改变读取电压的电平以执行进一步的读取操作等。控制器130可改变针对移位的阈值电压分布而优化的读取电压的电平,直到读取数据中的错误被校正。
图6是示出当发生不可校正的错误时执行的读取操作的流程图。在操作S602中,控制器130可响应于从主机提供的读取命令来控制存储器装置执行默认读取操作。默认读取操作是指首次对与和读取命令一起输入的逻辑地址相关联的物理地址相对应的存储块执行的读取操作。在默认读取操作中,可向多个存储器单元供应默认电平的读取电压。在一个实施例中,读取电压的默认电平可对应于设定的初始电平。在一个实施例中,读取电压可具有用于已经成功完成的先前读取操作中的已经先前被供应到多个存储器单元的默认电平。当需要多个读取电压来识别(诸如TLC存储块的)每个存储器单元中存储的多位数据时,可按照设定顺序来供应读取电压。
再次参照图5,例如,控制器130可将第三读取电压R3和第七读取电压R7供应到多个存储器单元,以读取TLC存储块的多个存储器单元中存储的LSB数据。可按照设定顺序来供应第三读取电压R3和第七读取电压R7。在供应第三读取电压R3之后,可将第七读取电压R7供应到多个存储器单元中。在读取LSB数据之后,控制器130可将第二读取电压R2、第四读取电压R4和第六读取电压R6供应到相同存储器单元,以读取该相同存储器单元中存储的CSB数据。可按照诸如第二读取电压R2、第四读取电压R4和第六读取电压R6的顺序的设定顺序来供应第二读取电压R2、第四读取电压R4和第六读取电压R6。在读取CSB数据之后,控制器130可将第一读取电压R1和第五读取电压R5供应到相同存储器单元以读取MSB数据。按照诸如第一读取电压R1和第五读取电压R5的顺序的设定顺序来供应第一读取电压R1和第五读取电压R5。
在操作S604中,当在操作S602中执行的默认读取操作已经失败时,控制器可控制存储器装置执行读取重试操作。在一个实施例中,控制器可控制存储器装置顺序地且重复地执行读取操作,直到成功地完成读取重试操作。读取重试操作中的每个读取操作可使用不同电平的读取电压。例如,可基于包括多个读取偏压集的读取重试表来确定读取电压的电平。读取重试操作可包括根据多个读取偏压集的数量而执行的读取操作,以读取多个存储器单元中存储的LSB数据、CSB数据和MSB数据。因此,当在默认读取操作失败之后执行读取重试操作时,存储器系统110可能需要相对较长的时段来输出与从主机102输入的请求相对应的读取数据。因此,在操作S602中是否成功地完成默认读取操作可能极大地影响关于存储器系统中的读取操作的性能。
在操作S606中,当在操作S604中执行的读取重试操作失败时,控制器130可控制存储器装置执行附加读取操作。因为默认读取操作和读取重试操作已经失败,所以存储器系统可基于各种算法(通过附加读取操作)来搜索最佳读取电压,以输出多个存储器单元中存储的LSB数据、CSB数据和MSB数据。例如,控制器可将读取电压的电平确定为阈值电压分布中的每个相邻峰值之间的中间值(例如,根据高斯建模算法),以搜索最佳读取电压。另外,控制器130可至少两次或更多次地读取特定数据,以基于读取结果来确定最佳读取电压。
如上所述,控制器130可通过分阶段地(即,不是一次全部地)执行默认读取操作、读取重试操作和附加读取操作,直到修复或校正了读取数据中的错误,来将读取数据输出到主机。例如,可将读取操作所花费的时间确定为从控制器接收到读取命令的第一定时到控制器向主机输出读取数据的第二定时的时间。当第一次执行的默认读取操作成功时,既不用执行读取重试操作,也不用执行附加读取操作,从而可缩短读取操作所花费的时间。因此,在至少一个实施例中,默认读取操作的成功或失败可与读取操作的性能密切相关。
图7示出包括多个存储块的平面的实施例。提供平面作为示例以说明在执行问题触发操作之后,在对候选块首次执行的、使用默认电平的读取电压的读取操作中读取错误迅速增加的现象。参照图7,将图4中的第零平面612的示例示出为包括第一至第十二存储块BLK1至BLK12。
在对第一存储块BLK1(作为相同平面612中的多个存储块BLK1至BLK12中的一个)执行编程操作或擦除操作(例如,问题触发操作)之后,存储器系统可能对第二存储块BLK2执行读取操作,该第二存储块BLK2是多个存储块BLK1至BLK12之中的不同于第一存储块BLK1的存储块。在下文中,可以将多个存储块BLK1至BLK12之中的不同于第一存储块BLK1的存储块认为是问题发生候选组PC_CANDID的候选块。
在平面612中,当存储块被编程或被擦除时,另一存储块中的存储器单元的阈值电压可能临时波动,从而增加了在针对另一存储块中的存储器单元的读取操作(例如,默认读取操作)中的错误。因为存储器装置是高度集成的,并且因为编程电压或擦除电压可能具有高于读取电压的电平,所以存储块可能受到供应到与该存储块相邻的存储块的编程电压或擦除电压的影响。因为这种现象,所以控制器可避免或减少通过在紧接对相邻的存储块执行编程操作或擦除操作之后的默认读取操作获得的读取数据中的错误。当错误(例如,位错误的数量)在默认读取操作中增加并且默认读取操作失败时,控制器可执行读取重试操作和/或附加读取操作。因此,可显著降低读取操作的性能。
读取错误迅速增加的现象可能是临时的。例如,仅在执行问题触发操作之后,对问题发生候选组PC_CANDID中的每一个首次执行默认读取操作,才可能迅速增加读取错误。例如,在对第一存储块BLK1执行问题触发操作之后,在对与第二存储块BLK2(其为问题发生候选组PC_CANDID中的一个)中的存储器单元相对应的第一至第三页面中的任意一个页面的第一默认读取操作中可能发生各种错误。然而,在对第一至第三页面中的任意一个页面执行默认读取操作之后,可减少针对第二存储块BLK2中的第一至第三页面之中的另一页面的第二默认读取操作中的错误。
即使在关于第二存储块BLK2中的第一至第三页面的两个页面的第一默认读取操作和第二默认读取操作中,存储器系统可使用先前确定电平的读取电压,但是关于两个页面的默认读取操作的错误电平可能不同。例如,第二默认读取操作的错误电平可能比第一默认读取操作的错误电平下降更多。尽管可能不会调整或改变在第一默认读取操作和第二默认读取操作中使用的读取电压的电平和供应顺序,但是第二默认读取操作中的位错误数量小于第一默认读取操作中的位错误数量可能是合理的。然而,当第一默认读取操作和第二默认读取操作中的任意一个发生许多错误时,存储器系统可能无法修复或校正TLC块的存储器单元中存储的LSB、CSB和MSB数据中的任意一个。
当已经对相同平面612中的第一存储块BLK1执行了问题触发操作时,可能由平面612中的问题发生候选组PC_CANDID中的存储器单元的阈值电压分布的临时移位或改变而引起上述问题。然而,在针对问题发生候选组PC_CANDID中的存储器单元执行了任意读取操作之后,这种临时移位或改变可消失,并且可恢复存储器单元的阈值电压分布。读取操作可将关于问题发生候选组PC_CANDID中的存储块的存储器单元的阈值电压分布从临时移位的阈值电压分布恢复到先前保持的阈值电压分布。例如,在由于问题触发操作而使关于问题发生候选组PC_CANDID中的第二存储块BLK2的阈值电压分布临时移动的情况下,当对第二存储块BLK2中的任意页面执行读取操作时,可恢复阈值电压分布。
参照图2,在TLC存储块中,控制器可使用多个读取电压来识别每个存储器单元的状态,例如,每个存储器单元的阈值电压属于多个状态之中的哪个状态。例如,参照图6中的操作S602,控制器可使用第一至第七读取电压R1至R7来确定每个存储器单元的阈值电压属于擦除状态E或者第一至第七编程状态P1至P7。如上所述,在默认读取操作中,控制器可使用默认电平的读取电压,可在先前读取操作之中的成功读取操作中确定或者在制造过程中预先确定该默认电平的读取电压。然而,因为可能在由于问题触发操作而被移位或改变之前,基于关于存储器单元的先前阈值电压分布来确定默认电平,所以阈值电压分布的移位或改变可能没有反映在读取电压的默认电平中。因此,在使用默认电平的读取电压的、对问题发生候选组PC_CANDID执行的默认读取操作中,可能增加读取错误。
图8A至图8C示出被提供来用于说明以下现象的示例:在向存储器单元供应读取电压之后,将根据问题触发操作而移位的存储器单元的阈值电压分布恢复到先前阈值电压分布。在这些示例中,如图7所示,可假设在对第一存储块BLK1执行了问题触发操作之后,控制器接收到与第二存储块BLK2的第一页面相关联的读取命令。
图8A示出紧接在对第一存储块BLK1执行问题触发操作之后,关于第二存储块BLK2(其为问题发生候选组PC_CANDID中的一个)的存储器单元的第一阈值电压分布的示例。第一存储块BLK1和第二存储块BLK2包括在相同平面中并且可彼此相邻。为了便于描述,假设关于第二存储块BLK2的存储器单元的阈值电压分布最初与图5中所示的相同。另外,第一至第七读取电压R1至R7可与图5中所示的第一至第七读取电压R1至R7具有相同电平。第一至第七读取电压R1至R7可具有用于默认读取操作的默认电平。
参照图8A,当将第一阈值电压分布与图5中所示的阈值电压分布相比较时,在执行了问题触发操作之后,对应于擦除状态E和第一至第七编程状态P1至P7中的每一个的阈值电压分布已经向左移动,例如阈值电压VTH总体变低。阈值电压分布移动的移位方向只是示例。在另一示例中,在执行了问题触发操作之后,一些阈值电压分布可能向左移动,而其他阈值电压分布可能向右移动。
如上文参照图5和图6所描述的,控制器可响应于针对第二存储块BLK2的第一页面的读取命令而使用第三读取电压R3和第七读取电压R7。可执行针对第一页面的默认读取操作。如图8A所示,当阈值电压分布移动时,可能从具有对应于斜线区域的阈值电压的至少一些存储器单元输出与原始数据不同的数据。例如,当阈值电压分布移动时,利用第三编程状态P3编程的一些存储器单元的阈值电压变得小于第三读取电压R3的电平。因此,尽管编程在存储器单元中的LSB数据的值是“0”,但是当供应第三读取电压R3时,一些存储器单元被导通,使得存储器单元中存储的LSB数据的一些位可能被读取为值“1”,而不是值“0”。
通过根据设定顺序,首次供应第三读取电压R3,然后供应第七读取电压R7,控制器可控制存储器装置对第二存储块的第一页面执行读取操作。如图8A所示,如根据问题触发操作的第一阈值电压分布一样,关于第二存储块BLK2中包括的存储器单元的阈值电压分布可能被临时移位或改变。每当向第二存储块供应读取电压时,可将阈值电压分布恢复到接近原始阈值电压分布。例如,在将第三读取电压R3供应到第二存储块BLK2之后,关于第二存储块中包括的相同存储器单元的第二阈值电压分布可能比第一阈值电压分布更接近原始阈值电压分布。
图8B示出在将第三读取电压R3供应到第二存储块BLK2之后,关于第二存储块BLK2中包括的存储器单元的第二阈值电压分布的示例。
在将第三读取电压R3供应到第二存储块BLK2中之后,关于第二存储块BLK2中包括的存储器单元的阈值电压分布已经向右移位,例如,沿阈值电压VTH增加的方向移位。与图8A所示的第一阈值电压分布相比,图8B中所示的第二阈值电压分布变得更接近原始阈值电压分布。当供应第七读取电压R7以读取第二存储块BLK2的第一页面时,发生错误的位的数量减少,但是仍然可能发生错误。
例如,与图8B中的斜线区域相对应的存储器单元中存储的数据可能被读取为不同于编程在这些存储器单元中的原始数据。例如,即使在供应第三读取电压R3以使得阈值电压分布整体向右移位之后,利用第七编程状态P7编程的一些存储器单元具有比第七读取电压R7的电平更低电平的阈值电压。
因此,尽管编程在存储器单元中的LSB数据的位值具有值“1”,但是当供应第七读取电压R7时,与斜线区域相对应的一些存储器单元被导通,使得这些存储器单元中存储的LSB数据的位值可能被读取为值“0”。
图8C示出在将第七读取电压R7供应到第二存储块BLK2之后,关于第二存储块BLK2中包括的存储器单元的第三阈值电压分布的示例。
在将第七读取电压R7施加到第二存储块BLK2之后,关于第二存储块BLK2中包括的存储器单元的第三阈值电压分布比图8B所示的第二阈值电压分布更接近原始阈值电压分布。参照图8C,第三阈值电压分布很可能变得非常类似于原始阈值电压分布,并且在顺序地施加第三读取电压R3和第七读取电压R7之后,可恢复根据问题触发操作而临时移动的阈值电压分布。因此,当在执行问题触发操作之后,紧接地执行对第二存储块BLK2的第一页面的默认读取操作时,读取错误(例如,位错误的数量)可能迅速增加,但是在对第一页面执行默认读取操作之后,在对第二存储块BLK2的另一页面执行的另一读取操作中可减少读取错误。
图8A至图8C示出当对第二存储块BLK2的第一页面执行默认读取操作时移位或改变的阈值电压分布的示例。参照图8A至图8C,每当对第二页面执行默认读取操作,对第三页面执行另一默认读取操作或对第一页面执行默认读取操作时,阈值电压分布可能移位或改变。例如,每当供应读取电压时,可将阈值电压分布改变为接近原始阈值电压分布。然而,当对第一存储块BLK1执行问题触发操作之后,在紧接地对第二存储块BLK2的第一至第三页面中的任意一页面的读取操作中使用默认读取电压时,由于如图8A所示的临时移位的阈值电压分布,读取错误可能迅速增加。
在这种情形下,存储器系统可能会启动读取重试操作。因为读取重试操作包括多个读取操作,所以当默认读取操作失败并且开始读取重试操作时,响应于主机请求而完成读取操作的时间可能相对较长。默认读取操作的成功或失败可以是可用于确定读取操作性能的因素。
根据实施例,当对第一存储块BLK1执行问题触发操作时,控制器130可将在相同平面中的不同于第一存储块BLK1的存储块认为是问题发生候选组PC_CANDID。当输入与第二存储块BLK2(其为问题发生候选组PC_CANDID中包括的存储块中的一个)相关联的读取命令时,控制器130可基于预定表来调整读取电压的电平,从而可控制存储器装置150以使用经调整电平的读取电压,来执行对第二存储块BLK2中的任意页面的默认读取操作。
通过使用具有经调整电平的读取电压而不是没有进行读取电压的电平调整的默认读取电压,可增加默认读取操作成功的概率。当根据在相同平面中的、与第二存储块BLK2相邻的第一存储块BLK1中执行的问题触发操作,关于第二存储块BKL2中的存储器单元的阈值电压分布被移位或改变时,可使用具有经调整电平的读取电压来执行读取操作。
图9示出根据实施例的用于操作存储器系统的方法。存储器系统可包括根据如本文所述的实施例的非易失性存储器装置中的任意一种。
在操作S902中,控制器130可控制存储器装置150来执行问题触发操作PC_OPERATION。问题触发操作PC_OPERATION可包括擦除操作或编程操作中的至少一个。例如,响应于从主机102输入的请求,控制器130可控制存储器装置150对参照图7描述的第零平面612中包括的第一存储块BLK1执行问题触发操作。
在操作S904中,控制器130可检测问题发生候选组PC_CANDID。问题发生候选组PC_CANDID可包括相同平面内的、不同于在操作S902中已经执行了问题触发操作的第一存储块BLK1的存储块。例如,当对第零平面612中的第一存储块BLK1执行问题触发操作时,控制器130可将图7所示的第零平面612中的第二至第十二存储块BLK2至BLK12识别为问题发生候选组PC_CANDID。如稍后描述的,控制器130可将指示存储块是否被包括在问题发生候选组PC_CANDID中的信息记录在为每个存储块分配的标志位中。例如,控制器130可将对应于第二至第十二块BLK2至BLK12中的每一个的标志位确定为高逻辑值。然后,在输入读取命令之后,基于与每个存储块相对应的标志位,控制器130可识别与读取命令相关联的存储块是否包括在问题发生候选组PC_CANDID中。
在操作S906中,控制器130可接收从主机102输入的读取命令。控制器130可搜索与和该读取命令一起输入的逻辑地址相关联的物理地址。物理地址可指示在操作S904中确定的问题发生候选组PC_CANDID中的存储块中的任意一个。例如,与和读取命令一起输入的逻辑地址相关联的物理地址可指示第二至十二存储块BLK2至BLK12之中的第二存储块BLK2。
在操作S908中,控制器130可基于预定表来调整用于与在操作S906中接收的读取命令相对应的读取操作的读取电压的电平。根据实施例,参照图8A至图8C,在操作S904中确定的问题发生候选组PC_CANDID中包括的至少一些存储器单元的阈值电压可能由于在操作S902中执行的问题触发操作PC_OPERATION而被移位或波动。
关于问题发生候选组PC_CANDID中的存储器单元的阈值电压分布可能临时移动。可通过基于存储器系统110的性能而执行的测试或模拟来生成或确定表。紧接在执行问题触发操作之后,控制器130可使用经调整电平的读取电压来对问题发生候选组PC_CANDID中的至少一个存储块执行默认读取操作,以增加默认读取操作的成功概率。
图10示出根据实施例的如上所述的表的示例。参照图6所示的操作S602,可基于先前读取操作之中的历史(例如,成功完成的先前读取操作)或通过制造和测试过程而初始建立的设置电平来确定默认读取操作中使用的读取电压的默认电平。
控制器130可控制存储器装置150,以供应具有经调整的默认电平的读取电压,其中通过将值分别与默认电平相乘或相加来获得经调整的默认电平。根据实施例的表1002可示出分别适用于调整供应到存储器装置150中包括的存储器单元的每个读取电压的默认电平的值。另外,表1002示出了值可根据编程/擦除周期#PE_CYCLE而变化。
例如,当在对第一存储块BLK1执行问题触发操作之后,接收到与第二存储块BLK2的第一页面相关联的读取请求时,在第二存储块BLK2的编程/擦除周期#PE_CYCLE小于第一阈值TH1的情况下,控制器130可被配置为将表1002中的对应于第三读取电压R3的特定值DELTA3添加到第三读取电压R3的默认电平,并且将经调整电平的第三读取电压R3供应到第二存储块BLK2的存储器单元。例如,控制器130可控制存储器装置150将经调整电平的第三读取电压R3而不是默认电平的第三读取电压R3供应到第二存储块BLK2的存储器单元,以执行默认读取操作。
根据实施例,可通过将表1002中建立的特定值DELTA3与第三读取电压R3的默认电平相加或相乘来获得第三读取电压R3的经调整电平,其中基于历史或初始设置电平来确定第三读取电压R3的默认电平。因此,针对在与特定存储块相邻的另一存储块执行的问题触发操作之后,紧接地对该特定存储块中的任意页面执行的默认读取操作中,控制器130可使用具有经调整电平的第三读取电压R3。
当第二存储块BLK2的编程/擦除周期#PE_CYCLE大于或等于第一阈值TH1时,控制器130可使用另一值来调整第三读取电压R3的电平。在表1002中,可将不同的值DELTA'3与第三读取电压R3的默认电平相加或相乘,以获得第三读取电压R3的经调整电平。因此,控制器130可将不处于默认电平而是处于经调整电平的第三读取电压R3供应到第二存储块BLK2中的存储器单元,以对第二存储块BLK2的第一页面执行读取操作。
根据实施例,当在确定第二存储块BLK2为问题发生候选组PC_CANDID中的候选块之后,接收到关于第二存储块BLK2的第一页面的读取命令时,控制器130可顺序地供应第三读取电压R3和第七读取电压R7以对第二存储块BLK2的第一页面执行默认读取操作,其中第三读取电压R3和第七读取电压R7具有基于表1002的经调整电平而不具有先前确定的默认电平。作为示例而非限制,第三读取电压R3和第七读取电压R7可具有分别小于第三读取电压R3和第七读取电压R7的默认电平的经调整电平。根据第二存储块BLK2的编程/擦除周期#PE_CYCLE,第三读取电压R3和第七读取电压R7的经调整电平可以不同。
根据另一实施例,在操作S908中,控制器130可基于编程/擦除周期和设定阈值来执行计算。例如,可通过制造和测试过程来确定计算并且记录在存储器装置150中。控制器130可基于编程/擦除周期和设定阈值来执行计算,以动态地确定适用于每个读取电压的值。
与按照情况或条件而归类或分类的设定值相比,计算可提供用于调整或改变读取电压的电平的更优化值。控制器130可控制存储器装置150以基于读取电压的经调整电平来对候选块的任意页面执行读取操作。作为示例而非限制,可基于编程/擦除周期以及诸如第二存储块BLK2的数据保留时间的各种参数来执行计算。
图11示出根据实施例的如何改变或调整读取电压的电平。基于图10所示的表1002中记录的量或通过基于施加读取电压的存储块的操作状态的计算,控制器130可调整或改变读取电压的电平。根据实施例,控制器130可通过前述计算来确定(用于执行默认读取操作的)读取电压的调整或改变,并且控制存储器装置以基于读取电压的经调整电平来执行默认读取操作。
基于对应于操作状态的计算值和记录在表1002中的设定值(DELTA)来执行调整。可通过将关于被执行默认读取操作的存储块的编程/擦除周期(#PE_CYLCE)除以与每个读取电压相对应的阈值(TH),并且将所得到的除值输入高斯函数来获得该计算值。阈值可以是正值或负值。高斯函数的输出可以是不大于该高斯函数的输入值的整数之中的最大值。
例如,当在第二存储块BLK2被确定为问题发生候选组PC_CANDID中的一个之后,输入与第二存储块BLK2的第一页面相关联的读取命令时,控制器130可将第二存储块BLK2的编程/擦除周期#PE_CYCLE除以对应于第三读取电压R3的设定阈值TH33。然后,可将除值输入到高斯函数中,以获得用于改变第三读取电压R3的电平的调整值(adjustment)。在一个实施例中,控制器130可从表中记录的设定值减去高斯函数的输出,以确定第三读取电压R3的改变。控制器130可使用具有经调整电平的第三读取电压R3来对第二存储块BLK2执行默认读取操作,从而可增加默认读取操作的成功概率。
当第二存储块BLK2的编程/擦除周期#PE_CYCLE小于第一阈值TH1时,控制器130可基于表1002来确定第三读取电压R3的经调整电平。控制器130可从表1002中记录的设定值DELTA3减去计算结果,以确定对第三读取电压R3的调整值。
可通过高斯函数来执行计算。例如,控制器可向高斯函数输入通过将编程/擦除周期#PE_CYCLE除以相应阈值TH33而获得的值。控制器130可将调整值添加到第三读取电压R3的默认电平,以确定第三读取电压R3的经调整电平。控制器130可控制存储器装置150,以将经调整电平的第三读取电压R3供应到第二存储块BLK2的存储器单元中,以用于执行默认读取操作。
进一步地,当第二存储块BLK2的编程/擦除周期#PE_CYCLE大于或等于第一阈值TH1时,如当第二存储块BLK2的编程/擦除周期#PE_CYCLE小于第一阈值TH1的情况一样,控制器130可执行计算以获得第三读取电压R3的调整值。但是,在表1002中记录的设定值DELTA'3和相应阈值TH33'可能与当第二存储块BLK2的编程/擦除周期#PE_CYCLE小于第一阈值TH1的情况下使用的设定值和相应阈值不同。
在操作S910中,当在操作S908中使用具有经调整电平的读取电压来对特定存储块执行默认读取操作时,控制器130可将该特定存储块从问题发生候选组PC_CANDID中排除。例如,在第二存储块BLK2中发生问题时,在控制器130使用已经基于表而调整的读取电压,来对第二存储块BLK2执行默认读取操作之后,将第二存储块BLK2从问题发生候选组中排除。例如,第二存储块BLK2可从问题发生候选组PC_CANDID中排除。如将描述的,控制器130可将关于第二存储块BLK2的标志位设置为低逻辑值,以将第二存储块BLK2从问题发生候选组PC_CANDID中排除。
图12示出用于基于标志位来确定存储块是否是候选块的方法的实施例。为了便于描述,图12示出标志位的示例,每个标志位对应于第零平面PLANE0中包括的第一至第十二存储块BLK1至BLK12中的每一个。
在控制存储器装置150对第零平面PLANE0中包括的第一存储块BLK1执行问题触发操作之后,控制器130可将第零平面PLANE0中的、除了第一存储块BLK1之外的剩余存储块BLK2至BLK12确定为问题发生候选组PC_CANDID。控制器130可将与被确定为问题发生候选组PC_CANDID的第二至第十二存储块BLK2至BLK12相对应的标志位设置为高逻辑值。例如,如图12所示,控制器130可将所有的第二至第十二存储块BLK2至BLK12的标志位设置为高逻辑值,例如值“1”。
此后,当从主机102输入与第二存储块BLK2相关联的读取命令时,控制器130可检查关于第二存储块BLK2的标志位。当第二存储块BLK2的标志位是值“1”时,控制器130可确定第二存储块BLK2是问题发生候选组PC_CANDID中包括的候选存储块。如图9的操作S908所述,可基于表1002来改变或调整读取电压的电平。
作为另一示例,在如图12所示设置了标志位之后(因为在第一存储块BLK1中执行了问题触发操作),可能从主机102输入针对第二存储块BLK2的另一问题触发操作的另一命令。在这种情况下,控制器130可将关于第二存储块BLK2的标志位建立为值“0”,并且将关于第一存储块BLK1的标志位建立为值“1”。
图13示出在从候选块中排除存储块之后被改变的标志位的示例。更具体地,图13示出在参照图9的操作S910中,在将第二存储块BLK2从问题发生候选组PC_CANDID中排除之后,关于第零平面PLANE0中包括的存储块BLK1至BLK12的标志位的示例。控制器130可基于表来调整读取电压的电平。
在使用经调整电平的读取电压来执行对第二存储块BLK2的默认读取操作之后,控制器130可将第二存储块BLK2从问题发生候选组PC_CANDID中排除。控制器130可将关于第二存储块BLK2的标志位设置为低逻辑值,以指示从问题发生候选组PC_CANDID中排除该第二存储块BLK2。例如,控制器130可将关于第二存储块BLK2的标志位从值“1”(如图12所示)设置为值“0”。
根据实施例,在控制器130向被确定为问题发生候选组PC_CANDID的第二存储块BLK2的存储器单元供应具有基于表而调整的电平的读取电压以执行默认读取操作之后,可从问题发生候选组PC_CANDID中排除该第二存储块BLK2。
如上所述,紧接在问题触发操作之后,对问题发生候选组PC_CANDID执行的默认读取操作中,读取错误(例如,位错误的数量)迅速增加的现象可能是临时的。例如,在将特定存储块确定为问题发生候选组PC_CANDID之后,可能仅在首次对该特定存储块执行的默认读取操作中迅速增加读取错误。但是,在随后对相同存储块执行的第二默认读取操作中,读取错误可被减少。例如,第一读取操作和第二读取操作可指在图6的操作S602中的供应具有默认电平而不是经调整电平的读取电压的情况。
在第二默认读取操作中,在对第二存储块BLK2执行第一默认读取操作之后,即使将具有默认电平而不是基于表1002而调整的电平的读取电压供应到第二存储块BLK2的存储器单元中,读取错误也不会迅速增加。在第一默认读取操作之后,可从问题发生候选组PC_CANDID中排除第二存储块BLK2。因此,控制器130可仅在首次对在第二存储块BLK2执行的默认读取操作中使用具有经调整电平的读取电压,而无需在第二次或以后的默认读取操作中使用具有经调整电平的读取电压。因此,在第一默认读取操作之后,控制器130可向已经执行第一默认读取操作的存储块供应具有默认电平的读取电压。
图14A和图14B示出根据实施例的每个电压具有经改变电平的读取电压。
图14A示出紧接在图8A中所示的对第一存储块BLK1执行问题触发操作之后,关于被确定为问题发生候选组PC_CANDID的第二存储块BLK2中的存储器单元的第一阈值电压分布的示例。另外,与具有默认电平的第三读取电压R3相比,根据实施例的第三读取电压R3'指示具有经调整电平或经改变电平的第三读取电压。
参照图14A,通过将第一阈值电压分布与图5中所示的原始阈值电压分布进行比较,可明显地看出,在执行问题触发操作之后,属于擦除状态E和第一至第七编程状态P1至P7中的每一个的至少一些阈值电压已经向左移动,即向阈值电压VTH降低的方向移动。为了执行默认读取操作,控制器130可使用具有经调整电平的第三读取电压R3'来区分向左移位的第三编程状态和向左移位的第二编程状态。根据实施例,当通过具有经调整电平的第三读取电压R3'来执行默认读取操作时,可减少错误电平,例如,可修复在在斜线区域中的、具有移位的阈值电压的存储器单元中发生的位错误,从而可成功地完成默认读取操作。
例如,随着阈值电压分布的移动,利用第三编程状态P3编程的一些存储器单元的阈值电压可能低于具有默认电平的第三读取电压R3。但是,在实施例中,具有经调整电平的第三读取电压R3'可能低于移位的阈值电压分布。因此,当将第三读取电压R3'供应到与斜线区域相对应的存储器单元时,这些存储器单元被关断,从而能够将这些存储器单元中存储的LSB数据正常地读取为值“0”。
图14B示出根据本公开的实施例,在将具有经调整电平的第三读取电压R3'供应到第二存储块BLK2中之后,关于第二存储块BLK2中包括的存储器单元的第二阈值电压分布的示例。
在将第三读取电压R3'供应到第二存储块BLK2之后,可以看到关于第二存储块BLK2中包括的存储器单元的阈值电压分布已经向右移位,例如,向阈值电压VTH增加的方向移动。与第一阈值电压分布相比,第二阈值电压分布更接近原始阈值电压分布。但是,当使用具有默认电平的第七读取电压R7来读取第二存储块BLK2的第一页面时,第二阈值电压分布中可能仍然发生错误。根据本公开的实施例,控制器130控制存储器装置150以向第二存储块BLK2的存储器单元供应具有基于表1002而调整或改变的电平的第七读取电压R7',以执行默认读取操作。
第七读取电压R7'可减少或避免来自与斜线区域相对应的存储器单元的错误。例如,即使在阈值电压分布通过第三读取电压R3'而向右移位之后,利用第七编程状态P7编程的一些存储器单元的阈值电压可能仍然低于具有默认电平的第七读取电压R7。然而,根据实施例的具有经调整电平的第七读取电压R7'可能低于对应于斜线区域的存储器单元的阈值电压。因此,使用具有经改变电平的第七读取电压R7',控制器130可在没有错误地读取为值“1”的情况下,读取与斜线区域相对应的存储器单元中存储的LSB数据。
当对第一存储块执行编程操作或擦除操作时,可能改变第二存储块(其包括在与第一存储块相同的平面中)中的阈值电压分布。根据实施例,存储器系统可基于预设表和数学运算来改变读取电压的电平,并且可基于具有经改变电平的读取电压来对第二存储块执行读取操作。可将具有经改变电平的读取电压用于默认(例如,开始)读取操作,而不用于在几次错误开始之后执行的读取操作。因此,可以避免或减少默认读取操作失败并且存储器系统由于阈值电压分布的改变而开始读取重试阶段的情况。
虽然本发明说明并描述了具体的实施例,但是对于本领域的技术人员而言显而易见的是,可在不偏离如所附权利要求所定义的本公开的精神和范围的情况下进行各种改变和修改。

Claims (20)

1.一种存储器系统,包括:
存储器装置,包括平面,所述平面包括多个存储块,每个存储块包括多个存储器单元,每个存储器单元能够存储多位数据;以及
控制器,当对第一存储块执行问题触发操作时,将第二存储块确定为候选块;当接收针对被确定为所述候选块的所述第二存储块中存储的数据的读取命令时,调整读取电压的电平;并且控制所述存储器装置以将经调整电平的读取电压供应到所述第二存储块来执行与所述读取命令相对应的读取操作,
其中所述第二存储块和所述第一存储块被包括在相同平面中,并且
其中所述问题触发操作包括编程操作或擦除操作。
2.根据权利要求1所述的存储器系统,其中:
所述控制器基于设置表来调整所述读取电压的电平,并且
所述设置表包括指示所述读取电压的电平分别从所述读取电压的默认值改变了多少的信息。
3.根据权利要求2所述的存储器系统,其中通过分别将基于所述设置表而确定的改变与所述读取电压的默认值相加来获得所述读取电压的经调整电平。
4.根据权利要求2所述的存储器系统,其中通过分别将基于所述设置表和计算结果而确定的改变与所述读取电压的默认值相加来获得所述读取电压的经调整电平。
5.根据权利要求4所述的存储器系统,其中所述控制器基于通过将关于所述第二存储块的编程/擦除周期除以针对所述第二存储块建立的阈值而获得的值来执行高斯函数,以获得所述计算结果。
6.根据权利要求5所述的存储器系统,其中从被确定为所述候选块的所述多个存储块中排除所述第二存储块。
7.根据权利要求1所述的存储器系统,其中所述控制器基于与所述第二存储块相关联且具有第一逻辑值的标志位来确定所述第二存储块是所述候选块。
8.根据权利要求6所述的存储器系统,其中所述控制器将所述第二存储块的标志位确定为第二逻辑值,以排除所述第二存储块作为所述候选块。
9.根据权利要求1所述的存储器系统,其中当所述读取操作失败时,所述控制器控制所述存储器装置以执行读取重试操作。
10.根据权利要求1所述的存储器系统,其中所述控制器控制所述存储器装置以向与另一读取命令相关联的存储块供应默认电平的所述读取电压,以执行与所述另一读取命令相对应的读取操作。
11.一种操作存储器系统的方法,包括:
对多个存储块之中的第一存储块执行问题触发操作,所述多个存储块中的每个包括多个存储器单元,每个存储器单元能够存储多位数据;
将所述多个存储块之中的不同于所述第一存储块的第二存储块确定为候选块;
接收与被确定为所述候选块的所述第二存储块中存储的数据相关联的读取命令;
调整适用于所述第二存储块的读取电压的电平;并且
控制存储器装置以将经调整电平的所述读取电压供应到所述第二存储块以执行与所述读取命令相对应的读取操作,
其中所述问题触发操作包括编程操作或擦除操作。
12.根据权利要求11所述的方法,进一步包括:
基于设置表来调整所述读取电压的电平,
其中所述设置表包括指示所述读取电压的电平分别从所述读取电压的默认值改变了多少的信息。
13.根据权利要求12所述的方法,其中调整所述读取电压的电平包括:分别将基于所述设置表而确定的改变与所述读取电压的默认值相加。
14.根据权利要求12所述的方法,其中调整所述读取电压的电平包括:分别将基于所述设置表和计算结果而确定的改变与所述读取电压的默认值相加。
15.根据权利要求14所述的方法,其中调整所述读取电压的电平包括:基于将关于所述第二存储块的编程/擦除周期除以针对所述第二存储块建立的阈值而获得的值来执行高斯函数,以获得所述计算结果。
16.根据权利要求11所述的方法,进一步包括:
从所述候选块中排除所述第二存储块。
17.根据权利要求11所述的方法,其中将所述多个存储块之中的不同于所述第一存储块的所述第二存储块确定为所述候选块包括:
基于与所述第二存储块相关联且具有第一逻辑值的标志位来确定所述第二存储块是否是所述候选块。
18.根据权利要求16所述的方法,其中排除所述第二存储块包括:将所述第二存储块的标志位确定为具有第二逻辑值,以从所述候选块中排除所述第二存储块。
19.根据权利要求11所述的方法,进一步包括:
当所述读取操作失败时,控制所述存储器装置以执行读取重试操作。
20.根据权利要求18所述的方法,进一步包括:
控制所述存储器装置以将默认电平的所述读取电压供应到与另一读取命令相关联的存储块,以执行与所述另一读取命令相对应的读取操作。
CN202010800898.6A 2020-02-26 2020-08-11 用于执行读取操作的存储器系统及其操作方法 Withdrawn CN113314179A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200023653A KR20210108712A (ko) 2020-02-26 2020-02-26 메모리 시스템 및 그것의 동작방법
KR10-2020-0023653 2020-02-26

Publications (1)

Publication Number Publication Date
CN113314179A true CN113314179A (zh) 2021-08-27

Family

ID=77366768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010800898.6A Withdrawn CN113314179A (zh) 2020-02-26 2020-08-11 用于执行读取操作的存储器系统及其操作方法

Country Status (3)

Country Link
US (1) US11373709B2 (zh)
KR (1) KR20210108712A (zh)
CN (1) CN113314179A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023231170A1 (zh) * 2022-05-31 2023-12-07 长鑫存储技术有限公司 数据处理电路、方法及半导体存储器

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11635915B2 (en) * 2021-03-17 2023-04-25 Macronix International Co., Ltd. Managing memory reliability in memory systems
US11880300B2 (en) * 2022-03-01 2024-01-23 International Business Machines Corporation Generating multi-plane reads to read pages on planes of a storage die for a page to read

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102360211B1 (ko) * 2015-01-21 2022-02-08 삼성전자주식회사 메모리 시스템의 동작 방법
US9792998B1 (en) 2016-03-29 2017-10-17 Sandisk Technologies Llc System and method for erase detection before programming of a storage device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023231170A1 (zh) * 2022-05-31 2023-12-07 长鑫存储技术有限公司 数据处理电路、方法及半导体存储器

Also Published As

Publication number Publication date
KR20210108712A (ko) 2021-09-03
US20210264986A1 (en) 2021-08-26
US11373709B2 (en) 2022-06-28

Similar Documents

Publication Publication Date Title
US11526298B2 (en) Apparatus and method for controlling a read voltage in a memory system
US11756643B2 (en) Apparatus and method for correcting an error in data transmission of a data processing system
US11373709B2 (en) Memory system for performing a read operation and an operating method thereof
US11990191B2 (en) Apparatus and method for programming data in a non-volatile memory device
US20240028216A1 (en) Apparatus and method for programming data in a non-volatile memory device
CN113467986A (zh) 用于修复存储器系统中数据错误的设备和方法
CN113138873A (zh) 处置存储器系统中的数据错误的设备和方法
CN115691623A (zh) 在非易失性存储器装置中编程数据的设备、系统及方法
US20220171564A1 (en) Apparatus and method for maintaining data stored in a memory system
CN114661226A (zh) 用于传输由非易失性存储器系统生成的元数据的装置和方法
US12112826B2 (en) Apparatus and method for reading data based on a program status of a non-volatile memory device
US11798648B2 (en) Apparatus and method for recovering data in a memory system
US20230376212A1 (en) Apparatus and method for recovering data in a memory system
US11829244B2 (en) Apparatus and method for programming data in a memory device
US11915762B2 (en) Apparatus and method for programming data in a non-volatile memory device
US11676674B2 (en) Apparatus and method for programming and verifying data in a non-volatile memory device
US11941289B2 (en) Apparatus and method for checking an error of a non-volatile memory device in a memory system
US11157210B2 (en) Memory system performing dummy program operation during normal program operation
US20230162806A1 (en) Apparatus and method for reducing signal interference in a semiconductor device
US20240201864A1 (en) Memory system for securing reliability and operating method thereof
US20240012563A1 (en) Apparatus and method for programming or reading data based on a program status of a non-volatile memory device
US12125549B2 (en) Apparatus and method for correcting an error in data transmission of a data processing system
US11887669B2 (en) Apparatus and method for programming data in a non-volatile memory device
CN115116500A (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
WW01 Invention patent application withdrawn after publication

Application publication date: 20210827

WW01 Invention patent application withdrawn after publication