CN114550785A - 使用元信息自适应地确定读取阈值电压的系统 - Google Patents

使用元信息自适应地确定读取阈值电压的系统 Download PDF

Info

Publication number
CN114550785A
CN114550785A CN202111132794.3A CN202111132794A CN114550785A CN 114550785 A CN114550785 A CN 114550785A CN 202111132794 A CN202111132794 A CN 202111132794A CN 114550785 A CN114550785 A CN 114550785A
Authority
CN
China
Prior art keywords
read
read threshold
threshold voltage
memory system
parameters
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
CN202111132794.3A
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 CN114550785A publication Critical patent/CN114550785A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/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
    • 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/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/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
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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/561Multilevel memory cell aspects

Abstract

本申请涉及一种使用元信息自适应地确定读取阈值电压的系统。本申请的实施例使用从先前失败的读取数据收集的元信息自适应地确定用于下一次读取操作的读取重试阈值电压。控制器获得与对选择页面的读取操作相关联的元信息,该元信息包括读取阈值电压组。控制器使用读取阈值电压组的设定函数以及设定校验和值来确定用于估计与下一次读取操作相关联的数据的校验和值的数学模型。控制器通过对数学模型执行多项式回归来确定一组参数。控制器基于该组参数来估计下一次读取操作的下一个读取阈值电压。

Description

使用元信息自适应地确定读取阈值电压的系统
技术领域
本公开的实施例涉及一种用于自适应地确定存储器系统中的读取阈值电压的方案。
背景技术
计算机环境范例已经转变为可以随时随地使用的普适计算系统。因此,诸如移动电话、数码相机和笔记本电脑的便携式电子装置的使用迅速增加。这些便携式电子装置通常使用具有存储器装置(即,数据存储装置)的存储器系统。数据存储装置用作便携式电子装置的主存储器装置或辅助存储器装置。
由于使用存储器装置的存储器系统没有移动部件,因此它们具有优异的稳定性、耐用性、高信息访问速度和低功耗。具有这些优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有例如通用闪存(UFS)的各种接口的存储卡以及固态驱动器(SSD)。存储器系统可以使用各种读取阈值电压来执行读取操作或读取重试操作。
发明内容
本发明的方面包括一种使用从先前失败的读取数据收集的元信息来自适应地确定读取阈值电压的系统和方法。
一方面,一种存储器系统包括具有多个页面的存储器装置以及控制器。控制器获得与对多个页面之中的选择页面的读取操作相关联的元信息,元信息包括读取阈值电压组;使用读取阈值电压组的设定函数以及设定校验和值来确定用于估计与下一次读取操作相关联的数据的校验和值的数学模型;通过对数学模型执行多项式回归来确定一组参数;并且基于该组参数来估计下一次读取操作的下一个读取阈值电压。
另一方面,一种存储器系统包括具有多个页面的存储器装置以及控制器。控制器获得与对多个页面之中的选择页面的读取操作相关联的元信息,元信息包括多个读取阈值电压组、多个校验和值以及数据中特定值的位百分比;使用当前读取操作的读取阈值电压组的设定函数,确定用于估计下一次读取操作的数据中特定值的位百分比的数学模型;通过对数学模型执行线性回归来确定一组参数;确定由多个读取阈值电压组中的每一组形成的面;基于该组参数来确定面的线;基于多个校验和值来确定多个读取阈值电压组之中的最佳先前读取阈值电压组;确定面中的与最佳先前读取阈值电压组相对应的点;并且通过将点投影到线上来估计下一次读取操作的下一个读取阈值电压。
又一方面,一种存储器系统包括具有多个页面的存储器装置以及控制器。控制器获得与对多个页面之中的选择页面的读取操作相关联的元信息,元信息包括多个读取阈值电压组、多个校验和值以及数据中特定值的位百分比;使用读取阈值电压组的设定函数以及设定校验和值来确定用于估计与下一次读取操作相关联的数据的校验和值的第一数学模型;通过对第一数学模型执行多项式回归来确定第一组参数;基于第一组参数来估计下一次读取操作的第一下一个读取阈值电压;使用用于当前读取操作的读取阈值电压组的设定函数,确定用于估计下一次读取操作的数据中特定值的位百分比的第二数学模型;通过对第二数学模型执行线性回归来确定第二组参数;确定由多个读取阈值电压组中的每一组形成的面;基于第二组参数来确定面的线;基于多个校验和值来确定多个读取阈值电压组之中的最佳先前读取阈值电压组;确定面中的与最佳先前读取阈值电压组相对应的点;并且通过将点投影到线上来估计下一次读取操作的第二下一个读取阈值电压。
通过以下描述,本发明的其它方面将变得显而易见。
附图说明
图1是示出数据处理系统的框图。
图2是示出存储器系统的框图。
图3是示出存储器装置的存储块的电路图。
图4是示出存储器装置的不同类型单元的状态分布的示图。
图5A是示出多层单元(MLC)的格雷编码(Gray coding)的示例的示图。
图5B是示出多层单元(MLC)的页面的状态分布的示图。
图6A是示出三层单元(TLC)的格雷编码的示例的示图。
图6B是示出三层单元(TLC)的页面的状态分布的示图。
图7是示出存储器系统中的错误恢复算法的流程的示图。
图8是示出根据本发明实施例的存储器系统的示图。
图9是示出根据本发明实施例的读取阈值确定器的示图。
图10A和图10B是示出根据本发明实施例的元信息的示图。
图11是示出根据本发明实施例的用于确定读取重试阈值电压的操作的流程图。
图12A至图12D示出了根据本发明实施例的用于确定读取重试阈值电压的操作的示例。
图13是示出根据本发明实施例的自适应读取重试操作的性能的曲线图。
具体实施方式
以下参照附图更详细地描述各个实施例。然而,本发明可以以不同的形式实现,因此不应被解释为限于本文阐述的实施例。相反,提供这些实施例是为了使本公开是透彻且完整的,并将本发明的范围充分地传达给本领域技术人员。此外,本文中对“实施例”、“另一实施例”等的引用不一定仅针对一个实施例,并且对任何这种短语的不同引用不一定针对相同的实施例。本文所使用的术语“实施例”不一定指所有实施例。在整个公开内容中,本发明的附图和实施例中的相同附图标记指代相同的部件。
本发明可以以多种方式来实施,包括被实施为过程、设备、系统、在计算机可读存储介质上实现的计算机程序产品;和/或处理器,例如适于运行联接到处理器的存储器上存储的和/或由其提供的指令的处理器。在本说明书中,这些实施方案或本发明可以采用的任何其它形式可以被称为技术。通常,所公开过程的步骤的顺序可以在本发明的范围内进行改变。除非另有说明,否则被描述为适于执行任务的、诸如处理器或存储器的组件可以被实施为被临时配置为在给定时间执行任务的通用组件或被制造为执行任务的特定组件。如本文所使用的,术语“处理器”等是指适于处理数据(例如,计算机程序指令)的一个或多个装置、电路和/或处理内核。
以下提供了本发明实施例的详细描述以及示出了本发明的方面的附图。结合这些实施例描述了本发明,但是本发明不限于任何实施例。本发明的范围仅受权利要求书限制。本发明涵盖权利要求书的范围内的许多替代、修改和等同方案。以下的描述中阐述了许多具体细节,以便提供对本发明的透彻理解。提供这些细节仅出于示例的目的;可以根据权利要求书,在没有这些具体细节中的一些或全部的情况下实践本发明。为了清楚起见,并未详细描述与本发明有关的技术领域中已知的技术材料,从而不会不必要地模糊本发明。
图1是示出根据本发明实施例的数据处理系统2的框图。
参照图1,数据处理系统2可以包括主机装置5和存储器系统10。存储器系统10可以从主机装置5接收请求并响应于接收到的请求而操作。例如,存储器系统10可以存储待由主机装置5访问的数据。
主机装置5可以利用各种电子装置中的任意一种来实施。在各个实施例中,主机装置5可以包括电子装置,诸如台式计算机、工作站、三维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器,和/或数字视频记录器以及数字视频播放器。在各个实施例中,主机装置5可以包括便携式电子装置,诸如移动电话、智能电话、电子书、MP3播放器、便携式多媒体播放器(PMP),和/或便携式游戏机。
存储器系统10可以利用诸如固态驱动器(SSD)和存储卡的各种存储装置中的任意一种来实施。在各个实施例中,存储器系统10可以被设置为诸如以下的电子装置中的各种组件中的一种:计算机、超移动个人计算机(PC)(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板电脑、无线电话、移动电话、智能电话、电子书阅读器、便携式多媒体播放器(PMP)、便携式游戏装置、导航装置、黑盒、数码相机、数字多媒体广播(DMB)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、数据中心的存储装置、能够在无线环境下接收和传输信息的装置、射频识别(RFID)装置以及家庭网络的各种电子装置中的一种、计算机网络的各种电子装置中的一种、远程信息处理网络的各种电子装置中的一种,或者计算系统的各种组件中的一种。
存储器系统10可以包括存储器控制器100和半导体存储器装置200。存储器控制器100可以控制半导体存储器装置200的全部操作。
半导体存储器装置200可以在存储器控制器100的控制下执行一个或多个擦除操作、编程操作和读取操作。半导体存储器装置200可以通过输入/输出线接收命令CMD、地址ADDR和数据DATA。半导体存储器装置200可以通过电源线接收电力PWR,并且通过控制线接收控制信号CTRL。根据存储器系统10的设计和配置,控制信号CTRL可以包括命令锁存使能信号、地址锁存使能信号、芯片使能信号、写入使能信号、读取使能信号以及其它操作信号。
存储器控制器100和半导体存储器装置200可以被集成到诸如固态驱动器(SSD)的单个半导体装置中。SSD可以包括用于在其中存储数据的存储装置。当半导体存储器系统10用于SSD时,可以显著地提高联接到存储器系统10的主机装置(例如,图1的主机装置5)的操作速度。
存储器控制器100和半导体存储器装置200可以被集成到诸如存储卡的单个半导体装置中。例如,存储器控制器100和半导体存储器装置200可以如此集成以配置个人计算机存储卡国际协会(PCMCIA)的个人计算机(PC)卡、紧凑型闪存(CF)卡、智能媒体(SM)卡、记忆棒、多媒体卡(MMC)、缩小尺寸的多媒体卡(RS-MMC)、微型版本的MMC(微型MMC)、安全数字(SD)卡、迷你安全数字(迷你SD)卡、微型安全数字(微型SD)卡、安全数字高容量(SDHC)和/或通用闪存(UFS)。
图2是示出根据本发明实施例的存储器系统的框图。例如,图2的存储器系统可以描绘图1所示的存储器系统10。
参照图2,存储器系统10可以包括存储器控制器100和半导体存储器装置200。存储器系统10可以响应于来自主机装置(例如,图1的主机装置5)的请求而操作,并且特别地存储待由主机装置访问的数据。
存储器装置200可以存储待由主机装置访问的数据。
存储器装置200可以利用诸如动态随机存取存储器(DRAM)和/或静态随机存取存储器(SRAM)的易失性存储器装置或诸如只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电随机存取存储器(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)和/或电阻式RAM(RRAM)的非易失性存储器装置来实施。
控制器100可以控制存储器装置200中数据的存储。例如,控制器100可以响应于来自主机装置的请求而控制存储器装置200。控制器100可以将从存储器装置200读取的数据提供到主机装置,并且可以将从主机装置提供的数据存储到存储器装置200中。
控制器100可以包括存储装置110、控制组件120(可以被实施为诸如中央处理单元(CPU)的处理器)、错误校正码(ECC)组件130、主机接口(I/F)140和存储器接口(I/F)150,它们通过总线联接160。
存储装置110可以用作存储器系统10和控制器100的工作存储器,并且存储用于驱动存储器系统10和控制器100的数据。当控制器100控制存储器装置200的操作时,存储装置110可以存储由控制器100和存储器装置200使用的用于诸如读取操作、写入操作、编程操作和擦除操作的这些操作的数据。
存储装置110可以利用诸如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)的易失性存储器来实施。如上所述,存储装置110可以将由主机装置使用的数据存储在存储器装置200中以用于读取操作和写入操作。为了存储数据,存储装置110可以包括编程存储器、数据存储器、写入缓冲器、读取缓冲器、映射缓冲器等。
控制组件120可以控制存储器系统10的一般操作,并且响应于来自主机装置的写入请求或读取请求而控制存储器装置200的写入操作或读取操作。控制组件120可以驱动被称为闪存转换层(FTL)的固件,以控制存储器系统10的一般操作。例如,FTL可以执行诸如逻辑-物理(L2P)映射、损耗均衡、垃圾收集和/或坏块处置的操作。L2P映射被称为逻辑块寻址(LBA)。
ECC组件130可以在读取操作期间对从存储器装置200读取的数据中的错误进行检测和校正。当错误位的数量大于或等于可校正错误位的阈值数量时,ECC组件130可以不校正错误位,而是可以输出指示校正错误位失败的错误校正失败信号。
在各个实施例中,ECC组件130可以基于诸如以下编码调制来执行错误校正操作:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhuri-Hocquenghem,BCH)码、turbo码、turbo乘积码(TPC)、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)或分组编码调制(BCM)。然而,错误校正不限于这些技术。因此,ECC组件130可以包括用于适当的错误校正操作的任何和所有电路、系统或装置。
主机接口140可以通过诸如以下的各种接口协议中的一种或多种与主机装置通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-e或PCIe)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小磁盘接口(ESDI)和电子集成驱动器(IDE)。
存储器接口150可以提供控制器100和存储器装置200之间的接口,以允许控制器100响应于来自主机装置的请求而控制存储器装置200。存储器接口150可以在控制组件120的控制下生成存储器装置200的控制信号并处理数据。当存储器装置200是诸如NAND闪速存储器的闪速存储器时,存储器接口150可以在控制组件120的控制下生成该闪速存储器的控制信号并处理数据。
存储器装置200可以包括存储器单元阵列210、控制电路220、电压生成电路230、行解码器240、页面缓冲器250(可以是页面缓冲器阵列的形式)、列解码器260以及输入和输出(输入/输出)电路270。存储器单元阵列210可以包括可以存储数据的多个存储块211。电压生成电路230、行解码器240、页面缓冲器阵列250、列解码器260和输入/输出电路270可以形成存储器单元阵列210的外围电路。外围电路可以执行存储器单元阵列210的编程操作、读取操作、或擦除操作。控制电路220可以控制外围电路。
电压生成电路230可以生成各种电平的操作电压。例如,在擦除操作中,电压生成电路230可以生成诸如擦除电压和通过电压的各种电平的操作电压。
行解码器240可以与电压生成电路230和多个存储块211电通信。行解码器240可以响应于由控制电路220生成的行地址,在多个存储块211之中选择至少一个存储块,并且将从电压生成电路230供应的操作电压传输到所选择的存储块。
页面缓冲器250可以通过位线BL(图3所示)与存储器单元阵列210联接。页面缓冲器250可以利用正电压对位线BL进行预充电、在编程操作和读取操作中将数据传输到所选择的存储块以及从所选择的存储块接收数据,或者响应于由控制电路220生成的页面缓冲器控制信号,临时存储所传输的数据。
列解码器260可以向页面缓冲器250传输数据以及从页面缓冲器250接收数据,或者向输入/输出电路270传输数据以及从输入/输出电路270接收数据。
输入/输出电路270可以将从外部装置(例如,图1的存储器控制器100)接收的命令和地址传输到控制电路220,将数据从外部装置传输到列解码器260,或者通过输入/输出电路270将数据从列解码器260输出到外部装置。
控制电路220可以响应于命令和地址而控制外围电路。
图3是示出根据本发明实施例的半导体存储器装置的存储块的电路图。例如,图3的存储块可以是图2所示的存储器单元阵列210的存储块211中的任意一个。
参照图3,示例性存储块211可以包括联接到行解码器240的多个字线WL0至WLn-1、漏极选择线DSL和源极选择线SSL。这些线可以平行地布置,并且在DSL和SSL之间具有多个字线。
示例性存储块211可以进一步包括分别联接到位线BL0至BLm-1的多个单元串221。每一列的单元串可以包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。在所示的实施例中,每个单元串具有一个DST和一个SST。在单元串中,多个存储器单元或存储器单元晶体管MC0至MCn-1可以串联联接在选择晶体管DST和SST之间。存储器单元中的每一个可以形成为多层单元。例如,存储器单元中的每一个可以形成为存储1位数据的单层单元(SLC)。存储器单元中的每一个可以形成为存储2位数据的多层单元(MLC)。存储器单元中的每一个可以形成为存储3位数据的三层单元(TLC)。存储器单元中的每一个可以形成为存储4位数据的四层单元(QLC)。
每个单元串中的SST的源极可以联接到公共源极线CSL,并且每个DST的漏极可以联接到相应的位线。单元串中的SST的栅极可以联接到SSL,并且单元串中的DST的栅极可以联接到DSL。不同单元串的存储器单元的栅极可以联接到各自的字线。也就是说,存储器单元MC0的栅极联接到相应的字线WL0,存储器单元MC1的栅极联接到相应的字线WL1,以此类推。联接到特定字线的一组存储器单元可以被称为物理页面。因此,存储块211中的物理页面的数量可以对应于字线的数量。
页面缓冲器阵列250可以包括联接到位线BL0至BLm-1的多个页面缓冲器251。页面缓冲器251可以响应于页面缓冲器控制信号而操作。例如,页面缓冲器251可以在读取或验证操作期间临时存储通过位线BL0至BLm-1接收的数据或感测位线的电压或电流。
在一些实施例中,存储块211可以包括NAND型闪速存储器单元。然而,存储块211不限于这种单元类型,而是可以包括NOR型闪速存储器单元。存储器单元阵列210可以被实施为组合了两种或更多种类型的存储器单元的混合闪速存储器,或者被实施为控制器嵌入在存储器芯片内部的1-NAND闪速存储器。
图4是示出存储器装置的不同类型单元的状态或编程电压(PV)电平分布的示图。
参照图4,存储器单元中的每一个可以利用诸如存储1位数据的单层单元(SLC)、存储2位数据的多层单元(MLC)、存储3位数据的三层单元(TLC)或存储4位数据的四层单元(QLC)的特定类型的单元来实施。通常,特定存储器装置中的所有存储器单元属于相同类型,但这不是必需的。
SLC可以包括两个状态P0和P1。P0可以表示擦除状态,P1可以表示编程状态。由于SLC可以被设置为两个不同状态中的一个,因此每个SLC可以根据设定的编码方法编程或存储1个位。MLC可以包括四个状态P0、P1、P2和P3。在这些状态之中,P0可以表示擦除状态,P1至P3可以表示编程状态。由于MLC可以被设置为四个不同状态中的一个,因此每个MLC可以根据设定的编码方法编程或存储两个位。TLC可以包括八个状态P0至P7。在这些状态之中,P0可以表示擦除状态,P1至P7可以表示编程状态。由于TLC可以被设置为八个不同状态中的一个,因此每个TLC可以根据设定的编码方法编程或存储三个位。QLC可以包括十六个状态P0至P15。在这些状态之中,P0可以表示擦除状态,P1至P15可以表示编程状态。由于QLC可以被设置为十六个不同状态中的一个,因此每个QLC可以根据设定的编码方法编程或存储四个位。
返回参照图2和图3,存储器装置200可以包括多个存储器单元(例如,NAND闪速存储器单元)。存储器单元以行和列的阵列形式布置,如图3所示。每行中的单元连接到字线(例如,WL0),每列中的单元联接到位线(例如,BL0)。这些字线和位线用于读取操作和写入操作。在写入操作期间,在字线被指定(asserted)时,在位线提供待写入的数据(“1”或“0”)。在读取操作期间,字线再次被指定,然后可以从位线获取每个单元的阈值电压。多个页面可以共享属于(即,联接到)相同字线的存储器单元。当存储器单元利用MLC实施时,多个页面包括最高有效位(MSB)页面和最低有效位(LSB)页面。当存储器单元利用TLC实施时,多个页面包括MSB页面、中间有效位(CSB)页面和LSB页面。当存储器单元利用QLC实施时,多个页面包括MSB页面、中间最高有效位(CMSB)页面、中间最低有效位(CLSB)页面和LSB页面。可以使用编码方案(例如,格雷编码)对存储器单元进行编程,以增加诸如SSD的存储器系统10的容量。
图5A是示出多层单元(MLC)的编码示例的示图。
参照图5A,可以使用设定类型的编码来对MLC进行编程。MLC可以具有4个编程状态,包括擦除状态E(或PV0)和第一编程状态PV1至第三编程状态PV3。擦除状态E(或PV0)可以对应于“11”。第一编程状态PV1可以对应于“10”。第二编程状态PV2可以对应于“00”。第三编程状态PV3可以对应于“01”。
在MLC中,如图5B所示,存在2种类型的页面,包括LSB页面和MSB页面。可以施加1或2个阈值以从MLC检索数据。对于MSB页面,单个阈值是VT1。VT1区分第一编程状态PV1和第二编程状态PV2。对于LSB页面,2个阈值包括阈值VT0和阈值VT2。VT0区分擦除状态E和第一编程状态PV1。VT2区分第二编程状态PV2和第三编程状态PV3。
图6A是示出三层单元(TLC)的格雷编码的示例的示图。
参照图6A,可以使用格雷编码对TLC进行编程。TLC可以具有8个编程状态,包括擦除状态E(或PV0)和第一编程状态PV1至第七编程状态PV7。擦除状态E(或PV0)可以对应于“111”。第一编程状态PV1可以对应于“011”。第二编程状态PV2可以对应于“001”。第三编程状态PV3可以对应于“000”。第四编程状态PV4可以对应于“010”。第五编程状态PV5可以对应于“110”。第六编程状态PV6可以对应于“100”。第七编程状态PV7可以对应于“101”。
在TLC中,如图6B所示,存在3种类型的页面,包括LSB页面、CSB页面和MSB页面。可以施加2或3个阈值以从TLC检索数据。对于MSB页面,2个阈值包括区分擦除状态E和第一编程状态PV1的阈值VT0,以及区分第四编程状态PV4和第五编程状态PV5的阈值VT4。对于CSB页面,3个阈值包括VT1、VT3和VT5。VT1区分第一编程状态PV1和第二编程状态PV2。VT3区分第三编程状态PV3和第四编程状态PV4。VT5区分第五编程状态PV5和第六编程状态PV6。对于LSB页面,2个阈值包括VT2和VT6。VT2区分第二编程状态PV2和第三编程状态PV3。VT6区分第六编程状态PV6和第七编程状态PV7。
在如图5A和图6A所述对包括多个存储器单元的存储器阵列进行编程之后,当使用诸如读取阈值电压(也被称为“读取电压电平”或“读取阈值”)的某个参考电压对存储器阵列执行读取操作时,将存储器单元的电荷电平(例如,存储器单元的晶体管的阈值电压电平)与一个或多个参考电压进行比较以确定单个存储器单元的状态。例如,当将某个读取阈值施加到存储器阵列时,那些阈值电压电平高于参考电压的存储器单元被导通并被检测为“导通”单元,而那些阈值电压电平低于参考电压的存储器单元被关断并被检测为“关断”单元。因此,每个读取阈值被设置在对应于不同编程状态的相邻阈值电压分布窗口之间,使得每个读取阈值可以通过导通或关断存储器单元晶体管来区分这些编程状态。
当使用MLC技术对数据存储装置中的存储器单元执行读取操作时,将存储器单元的阈值电压电平与一个以上的读取阈值电平进行比较,以确定单个存储器单元的状态。读取错误可能由失真或重叠的阈值电压分布引起。理想存储器单元阈值电压分布可能会由于例如编程和擦除(P/E)循环、单元间干扰和/或数据保留错误而严重失真或重叠。例如,随着编程/擦除循环增加,不同编程状态的相邻阈值电压分布之间的裕量减小,并且最终分布重叠。因此,阈值电压落入相邻分布的重叠区域内的存储器单元可能被读取为被编程为不同于原始目标值的值,并因此导致读取错误。在大多数情况下,可以通过使用错误校正码(ECC)来管理这种读取错误。当读取操作的位错误数量超过数据存储装置的ECC错误校正能力时,读取操作失败。当读取操作失败时,控制器120可以控制错误恢复算法,如图7所示。
参照图7,控制器120可以使用以设定顺序施加的一个或多个读取阈值电压对存储器单元执行一个或多个读取重试操作(S100)。例如,读取阈值电压可以包括N(例如,N是50)个读取阈值电压(或读取电压电平),其包括第一读取阈值电压至第N读取阈值电压。第一读取阈值电压可以是先前使用的读取阈值电压(即,历史读取阈值电压)。历史读取阈值电压可以是上次成功解码中使用的读取阈值电压,即,在读取重试操作之前执行的读取通过的读取操作中使用的读取电压。控制器120可以执行读取重试操作,直到确定与相应的读取重试操作相关联的解码成功。
当使用读取阈值电压进行的所有读取重试操作都失败时,控制器120可以执行附加的恢复操作。例如,附加恢复操作可以包括最佳读取阈值电压搜索(S200)、使用错误校正码(ECC)的软解码(S300)和独立磁盘冗余阵列(RAID)恢复(S400)。
在诸如基于NAND的存储系统的存储器系统中,如果对特定页面的几次读取尝试都不成功,则对该页面进行更多读取的尝试将不起作用。然而,为了满足存储器系统(例如,企业的固态驱动器(SSD))的服务质量(QoS)要求,需要读取位错误数量小于在解码读取数据中使用的错误校正码(ECC)方案的错误校正能力的页面的数据。进一步地,单个读取操作可能具有较长的延迟(例如,60μs或更长)。因此,期望提供一种确定读取重试阈值电压的方案,该方案不会在较小的延迟内引起不合理的大量位错误。
实施例提供了一种使用从先前失败的读取尝试的数据收集的元信息来自适应地确定下一次读取操作的读取重试阈值电压并使用自适应读取重试阈值电压执行读取重试操作的方案。该方案可以被称为“自适应读取重试(RR)方案”。自适应RR方案i)适应任何失败页面的单元电平分布,ii)不依赖于历史读取和其它读取机制中利用的NAND条件信息(例如,PEC、SPRD等),并且iii)不依赖于NAND生成。自适应RR方案的性能可以取决于可用的先前读取次数以及由先前失败的读取尝试提供的元信息的质量。
图8是示出根据本发明实施例的存储器系统10的示图。
参照图8,存储器系统10可以包括控制器100和存储器装置200。存储器装置200可以包括多个存储器单元210(例如,NAND闪速存储器单元)。存储器单元以行和列的阵列形式布置,如图3所示。每行中的单元连接到字线(例如,WL0),每列中的单元联接到位线(例如,BL0)。这些字线和位线用于读取操作和写入操作。在写入操作期间,在字线被指定时,在位线提供待写入的数据(“1”或“0”)。在读取操作期间,字线再次被指定,然后可以从位线获取每个单元的阈值电压。多个页面可以共享属于(即,联接到)相同字线的存储器单元。当存储器单元利用MLC实施时,多个页面包括最高有效位(MSB)页面和最低有效位(LSB)页面。当存储器单元利用TLC实施时,多个页面包括MSB页面、中间有效位(CSB)页面和LSB页面。当存储器单元利用QLC实施时,多个页面包括MSB页面、中间最高有效位(CMSB)页面、中间最低有效位(CLSB)页面和LSB页面。可以使用编码方案(例如,格雷编码)对存储器单元进行编程,以增加诸如SSD的存储器系统10的容量。
控制器100可以包括读取处理器810、解码器820和读取阈值确定器830。尽管示出了控制器100的组件是分开实施的,但是这些组件可以被集成到控制器100的单个组件(即,固件(FW))或图2中的控制组件120中。尽管在图8中未示出,但是控制器100和存储器装置200可以包括如图2所示的各种其它组件。
读取处理器810可以响应于来自主机(例如,图1的主机装置5)的读取请求而控制对存储器装置200执行的一个或多个读取操作。读取处理器810可以使用各种读取阈值来控制读取操作。解码器820可以对与读取操作相关联的数据进行解码。
在一些实施例中,读取处理器810可以使用从设定读取电平表中选择的读取阈值来控制对存储器单元的读取操作。在一些实施例中,读取电平表可以包括多个读取阈值,多个读取阈值中的一个是默认读取阈值。当对TLC的MSB页面执行读取操作时,可以选择一对第一和第二读取阈值[VT0,VT4],如图6B所示。第一读取阈值VT0用于区分擦除状态(即,E)和第一编程状态(即,PV1),第二读取阈值VT4用于区分第四编程状态(即,PV4)和第五编程状态(即,PV5)。当对TLC的LSB页面执行读取操作时,可以选择一对第一和第二读取阈值[VT2,VT6],如图6B所示。第一读取阈值VT2用于区分第二编程状态(即,PV2)和第三编程状态(即,PV3),第二读取阈值VT6用于区分第六编程状态(即,PV6)和第七编程状态(即,PV7)。
根据解码器820的解码结果,可以确定使用从读取阈值组中选择的一个或多个读取阈值进行的读取操作是成功还是失败。当使用所选择的读取阈值的读取操作失败时,读取处理器810可以使用读取重试电压(读取重试条目)来控制对存储器单元执行一个或多个读取重试操作,如图7所示。
读取阈值确定器830可以通过P1估计和CS估计来估计读取阈值电压Vt。
对于P1估计,读取阈值确定器830可以获得与对多个页面之中的选择页面执行的读取操作相关联的元信息,对于给定的读取操作,元信息包括多个读取阈值电压(即,读取阈值电压组)、校验和值以及与读取操作相关联的数据中特定值(即,0或1)的位百分比。读取阈值确定器830可以使用用于当前读取操作的读取阈值电压组的设定函数来确定用于估计与下一次读取操作相关联的数据中特定值的位百分比的数学模型。读取阈值确定器830可以通过对数学模型执行线性回归来确定一组参数。读取阈值确定器830可以基于多个校验和值来确定用于多个过去读取的多个读取阈值电压组之中的最佳先前读取阈值电压组。读取阈值确定器830可以在由最佳先前读取阈值电压组的电压定义的面上确定与该最佳先前读取阈值电压组相对应的点。在一些实施例中,TLC的LSB页面的面可以由多个读取阈值电压组(例如,VT0至VT7)中的一组[VT2,VT6]形成,如图12A和图12B所示。读取阈值确定器830可以基于该组参数来确定在面上指向下一次读取操作的下一个读取阈值电压的线。
对于CS估计,读取阈值确定器830可以获得与对多个页面之中的选择页面的读取操作相关联的元信息,该元信息包括与读取操作相关联的读取阈值电压组。读取阈值确定器830可以使用读取阈值电压组的设定函数以及最大的可能校验和值来确定用于估计与下一次读取操作相关联的数据的校验和值的数学模型。读取阈值确定器830可以通过对数学模型执行多项式回归来确定一组参数。读取阈值确定器830可以基于该组参数来估计用于下一次读取操作的下一个读取阈值电压。
进一步地,读取阈值确定器830可以确定估计读取阈值电压是否有效。在一些实施例中,读取阈值确定器830可以确定所估计的下一个读取阈值电压是否在设定阈值范围之内。
当确定估计读取阈值电压中的至少一个有效(通过)时,读取阈值确定器830可以将所有估计读取阈值电压或仅被确定为有效的估计读取阈值电压确定为用于下一次读取操作的新读取阈值电压V(n)
当确定所有估计读取阈值电压无效(失败)时,读取阈值确定器830可以执行探索性读取以估计用于下一次读取操作的新读取阈值电压V(n)。在一些实施例中,当确定估计读取阈值电压都不在设定阈值范围之内时,读取阈值确定器830可以将设定阈值范围划分为多个区域。读取阈值确定器830可以在多个区域之中找到先前读取阈值电压的数量最少的区域。读取阈值确定器830可以随机地将区域中的任何读取阈值电压确定为新读取阈值电压V(n)
图9是示出根据本发明实施例的读取阈值确定器830的示图。
参照图9,对于自适应RR方案,读取阈值确定器830可以使用和处理元信息来确定和输出用于下一次读取操作的读取阈值电压V(n)。在一些实施例中,即使读取不成功,即读取数据未成功解码,也可以从解码器820收集元信息。可以使用如上所述的用于CS估计和P1估计的元信息。元信息被输入到CS估计器832和P1估计器834中的每一个。对于TLC存储器单元的LSB页面,元信息包括图6B中的读取阈值电压(v2,v6)或(VT2,VT6),以及读取数据或读取数据的解码结果中1的百分比(即,P1)。对于写入随机数据的页面,P1接近50%,校验和表示与读取数据的解码结果相对应的码字(例如,低密度奇偶校验(LDPC)码字)的初始校验子权重。尽管在TLC存储器单元的LSB页面的情况下描述了本发明的特征,但是这些特征也可以应用于各种存储器单元的任何页面,例如TLC存储器单元的MSB或CSB页面,或者QLC存储器单元的MSB、CMSB、CLSB或LSB页面。
图10A和图10B是示出根据本发明实施例的关于TLC存储器单元电平分布的元信息的示图。在图10A和图10B中,横轴(即,x轴)表示读取阈值电压,纵轴(即,y轴)表示分布,即编程的TLC存储器单元的概率密度函数(PDF)。
参照图10A,当对TLC存储器单元的LSB页面编程随机化数据时,在阴影部分中P1(1的百分比)接近50%。
理想情况下,如果这些分布不相交,则可以通过施加读取阈值来恢复无错误数据。然而,这些分布可能相互交叉或重叠。在这种情况下,通过施加读取阈值(例如,LSB页面的VT2&VT6),即使解码不成功,也可以观察到一些信息。在图10A中,阴影部分表示观察到二进制值1的概率。图10B中的阴影部分表示读取失败的概率。每次读取之后,可以找到被读取为1的单元的数量。但是,无法观察到读取失败的概率。相反,可以观察校验和,该校验和是读取失败概率的映射。
参照图10B,读取数据的解码结果的码字的校验和或校验子权重可以用于估计位错误率(BER),即读取失败。
返回参照图9,读取阈值确定器830可以接收与先前失败的读取数据相关联的元信息作为输入。在一些实施例中,元信息可以包括从图8中的读取处理器810和/或解码器820收集的信息Vr和Or
Figure BDA0003280939780000191
Figure BDA0003280939780000192
可以是TLC存储器单元的LSB页面的一组先前读取阈值(即,失败读取)。
Figure BDA0003280939780000193
可以是通过施加Vr而获得的一组观察值CS,P1。CS表示校验和值,P1表示解码数据中1的百分比。
CS估计器832可以估计待用于下一次读取操作的下一个潜在读取阈值电压的校验和值
Figure BDA0003280939780000194
Figure BDA0003280939780000195
表示所估计的校验和(CS)。尽管可以在每次读取操作之后获得实际CS值,但是CS估计器832可以使用数学模型来估计校验和值。CS估计器832可以找到
Figure BDA0003280939780000196
使得它尽可能接近CS。在一些实施例中,CS估计器832可以使用如等式(1)所示的数学模型(即,二次模型)来估计下一个潜在读取阈值电压的校验和值:
Figure BDA0003280939780000197
在等式(1)中,S(·)表示sigmoid函数,csmax表示最大的可能校验和值,(v2,v6)表示TLC存储器单元的LSB页面的一组先前读取阈值。CSmax可以是校验子的大小或奇偶校验矩阵的行数,它们与读取数据的解码相关联。在一些实施例中,当奇偶校验矩阵的行数为m时,CSmax可以被确定为m/2。在其它实施例中,CSmax可以被确定为m。
CS估计器832可以使用等式(1)找到一组参数θs,并且可以提供使
Figure BDA0003280939780000198
最小化的一组读取阈值电压。所提供的一组读取阈值电压中的一个可以用作下一个潜在读取阈值电压。为此,根据等式(1),CS估计器832可以推导出以下等式(2):
Figure BDA0003280939780000199
接下来,CS估计器832可以对等式(2)执行多项式回归以获得一组参数Θs={θ01,…,θ4}。
最后,如以下等式(3)所示,CS估计器832可以基于该组参数来计算一组读取阈值电压,该组读取阈值电压中的一个可以用作下一个读取阈值电压:
Figure BDA0003280939780000201
如上所述,为了优化
Figure BDA0003280939780000202
CS估计器832可以使
Figure BDA0003280939780000203
对v2和v2的偏导数等于0,然后求出结果。
P1估计器834可以使用如以下等式(4)所示的数学模型(即,线性模型)来估计与待用于下一次读取操作的下一个潜在读取阈值电压相关联的数据中的1的百分比:
Figure BDA0003280939780000204
P1估计器834可以使用等式(4)找到一组参数φs,并且可以提供一组读取阈值电压,该组读取阈值电压将最佳先前读取映射到由读取阈值电压形成的面(例如,图12A中的坐标的面)上的一组线,其中该组读取阈值电压中的每一个是下一次读取操作的潜在读取阈值电压。对于该操作,根据等式(4),P1估计器834可以推导出以下等式(5):
Figure BDA0003280939780000205
接下来,P1估计器834可以对等式(5)执行线性回归以获得一组参数Φs={φ012}。
然后,P1估计器834可以通过等式k*=arg min1≤k≤mcs(k)找到最佳先前读取的索引。
最后,P1估计器834可以基于该组参数来计算下一个潜在读取阈值电压,如以下等式(6)所示:
Figure BDA0003280939780000206
Figure BDA00032809397800002115
在等式(6)中,“线”表示(v2,v6)的二维空间中的线。
在读取过程中,目标是让P1尽可能接近0.5。因此,P1估计器834可以选择给出
Figure BDA0003280939780000211
的阈值电压。根据以上等式(4),可以推导出
Figure BDA0003280939780000212
和φ01v22v6=0。换言之,P1估计器834可以指示线(φ01v22v6=0)上的任意点都具有大约相同的1和0的数量(P1=50%)。
P1估计器834可以在P1提供的那些点之中仅选择一个点作为下一个读取阈值电压。换言之,P1估计器834可以找到线(φ01v22v6=0)上的点作为最佳先前读取阈值电压。最佳先前读取阈值电压可以是具有最低校验和的一个,如等式(6)中
Figure BDA0003280939780000213
所示。为了找到线(φ01v22v6=0)上的点作为最佳先前点
Figure BDA0003280939780000214
需要从点
Figure BDA0003280939780000215
作垂直于线(φ01v22v6=0)的另一条线。P1估计器834可以找到这两条线的交点作为下一个建议的读取阈值电压。该操作可以被称为将点
Figure BDA0003280939780000216
投影到线(φ01v22v6=0)上。
估计器832、834针对下一个潜在读取阈值电压的建议(或潜在)读取阈值电压
Figure BDA0003280939780000217
可以取决于先前的读取中多少数据可用。根据先前的读取数据,建议读取阈值电压
Figure BDA0003280939780000218
两者或其中的一个可能在可接受的阈值范围Rv之外。在一些实施例中,读取TLC存储器单元的LSB页面的读取阈值电压(v2)的可接受阈值范围Rv可以从读取重试表中获得,即
Figure BDA0003280939780000219
并且读取TLC存储器单元的LSB页面的读取阈值电压(v6)的可接受阈值范围Rv可以从读取重试表中获得,即
Figure BDA00032809397800002110
本文中,
Figure BDA00032809397800002111
表示读取重试表中所有v2阈值中的最小值,
Figure BDA00032809397800002112
表示读取重试表中所有v2阈值中的最大值,
Figure BDA00032809397800002113
表示读取重试表中所有v6阈值中的最小值,
Figure BDA00032809397800002114
表示读取重试表中所有v6阈值中的最大值。
当所有先前的读取彼此非常接近并且它们不包含足够的信息来识别面,或者当许多先前的读取受到过多噪音的影响时,可能会发生潜在读取阈值电压
Figure BDA0003280939780000221
的错误估计。有效性检查器836可以检查建议读取阈值电压
Figure BDA0003280939780000222
中的至少一个是否在设定可接受阈值范围Rv之外。有效性检查器836可以执行检查操作并基于检查结果执行相应的操作,如列表(1)所示:
列表(1)
Figure BDA0003280939780000223
参考列表1,当建议读取阈值电压
Figure BDA0003280939780000224
不在设定可接受阈值范围Rv之外时,有效性检查器836可以确定两个读取阈值电压的平均值作为下一次读取操作的读取阈值电压。当建议读取阈值电压
Figure BDA0003280939780000225
Figure BDA0003280939780000226
中的一个在设定可接受阈值范围Rv之内时,有效性检查器836可以确定在设定可接受阈值范围Rv之内的读取阈值电压作为下一次读取操作的读取阈值电压。当建议读取阈值电压
Figure BDA0003280939780000227
两者都在设定可接受阈值范围Rv之外时,有效性检查器836可以控制探索性读取模块(未示出)以处置建议读取阈值电压都不可靠的情况。探索性读取模块可以将设定可接受阈值范围Rv划分为多个区域,并且在多个区域之中找到先前读取次数最少的区域
Figure BDA0003280939780000231
然后,有效性检查器836可以将区域
Figure BDA0003280939780000232
中的随机点确定为下一次读取操作的读取阈值电压。可以使用越界检查或其它类似的试探法来检查设定可接受阈值范围Rv
在一些实施例中,有效性检查器836可以将可接受阈值范围Rv划分为4个区域Zone1至Zone4。例如,在
Figure BDA0003280939780000233
的情况下,区域Zone1至Zone4中的每一个的范围如列表(2)所示:
列表(2)
Figure BDA0003280939780000234
图11是示出根据本发明实施例的用于确定读取重试阈值电压的操作的流程图。操作1100可以由包括图8和图9中的读取阈值确定器830的控制器100的固件来执行。
参照图11,在操作1110,控制器100可以通过P1估计来估计读取阈值电压Vt。在一些实施例中,如前所述,控制器100可以获得与对多个页面之中的选择页面的读取操作相关联的元信息。控制器100可以使用用于当前读取操作的读取阈值电压组的设定函数来确定用于估计下一次读取操作的数据中特定值(例如,1)的位百分比的数学模型。控制器100可以通过对数学模型执行线性回归来确定一组参数。控制器100可以基于多个校验和值来确定多个读取阈值电压组之中的最佳先前读取阈值电压组。控制器100可以确定由多个读取阈值电压组中的每一组形成的面中与最佳先前读取阈值电压组相对应的点。控制器100可以基于该组参数来确定该面的线。控制器100可以通过将点投影到线上来估计用于下一次读取操作的下一个读取阈值电压。
在操作1120,控制器100可以通过CS估计来估计读取阈值电压Vt。在一些实施例中,如前所述,控制器100可以获得与对多个页面之中的选择页面的读取操作相关联的元信息。控制器100可以使用读取阈值电压组的设定函数以及设定校验和值来确定用于估计与下一次读取操作相关联的数据的校验和值的数学模型。控制器100可以通过对数学模型执行多项式回归来确定一组参数。控制器100可以基于该组参数来估计用于下一次读取操作的下一个读取阈值电压。
在操作1130,控制器100可以确定在操作1110、1120估计的读取阈值电压是否有效。在一些实施例中,控制器100可以确定所估计的下一个读取阈值电压是否在可接受的阈值范围之内。
当确定估计读取阈值电压中的至少一个有效(通过)时,控制器100可以将估计读取阈值电压两者或其中一个确定为用于下一次读取操作的新读取阈值电压V(n)
当确定估计读取阈值电压都无效(失败)时,在操作1140,控制器100可以执行探索性读取以估计用于下一次读取操作的新读取阈值电压V(n)。在一些实施例中,当确定第一和第二下一个读取阈值电压两者都不在可接受的阈值范围之内时,控制器100可以将设定阈值范围划分为多个区域。控制器100可以在多个区域之中找到与次数最少的读取操作相对应的区域。控制器100可以随机地将区域中的任何读取阈值电压确定为新读取阈值电压V(n)
图12A至图12D是示出根据本发明实施例的用于确定读取重试阈值电压的操作的示例的示图。
图12A和图12B示出了自适应读取重试(RR)的最终建议读取r5以及该建议读取导致成功解码的事实。
图12C和图12D分别示出了CS估计器832和P1估计器834的建议读取。
参照图12C,实等高线表示实际CS面的等高线,这实际上是解码器未知的。符号“◎”表示先前读取的信息。虚等高线表示CS估计器仅通过查看符号“◎”的信息而获得的估计CS面。点表示CS估计器的建议读取,它是CS面的最低点(参见等式(3))。点“●”表示在等式(3)中说明的建议读取。
参照图12D,符号“◎”表示先前读取的信息。实线表示解码器和自适应RR模型未知的实际P1面。虚线1210表示P_1=0.5的线性估计(即,段落[00108]中的线(φ01v22v6=0)。线1210是最佳先前读取(即,线1210上的◎)在线1210上的投影。点“●”表示在等式(6)中说明的建议读取。
自适应RR的最终输出是图12C中的点“●”和图12D中的点“●”的组合。
图13是示出根据本发明实施例的自适应读取重试(RR)方案的性能的曲线图。
参照图13,横轴(即,x轴)表示读取的次数,纵轴(即,y轴)表示读取成功率的概率,即解码器解码读取数据的成功率的累积分布函数(CDF)。自适应读取重试方案的性能取决于可用的先前读取次数。
存在三种情况,每种情况的先前读取次数不同|RPre|:3、4和5。在三次先前读取(即,|RPre|=3)的情况下,当使用通过自适应RR方案确定的读取阈值电压再执行一次读取尝试时,解码器成功率约为65%(1310)。在四次先前读取(即,|RPre|=4)的情况下,当使用通过自适应RR方案确定的读取阈值电压再执行一次读取尝试时,解码器成功率约为71%(1320)。在五次先前读取(即,|RPre|=5)的情况下,当使用通过自适应RR方案确定的读取阈值电压再执行一次读取尝试时,解码器成功率提高至85%(1330)。在|RPre|=5的情况下,当使用通过自适应RR方案确定的读取阈值电压再执行两次读取尝试时,解码器成功率提高至95%(1330)。如上所述,单次读取的延迟可能约为60μs。对于读取重试失败的页面,执行被称为E-Boost的算法来找到最佳读取阈值。通常,算法需要大约500μs(非常延迟)来建议新读取。然而,发明人观察到实施例在不到10μs的时间内建议新读取,并且在两次读取尝试之后成功率高于75%,如图13所示。换言之,实施例减少了读取延迟并因此提高了服务质量(QoS)。
如上所述,实施例提供了一种使用从先前失败的读取数据收集的元信息来自适应地确定用于下一次读取操作的读取重试阈值电压的方案。实施例可以提高企业客户针对固态驱动器提供的服务质量(QoS)要求。
尽管为了清楚和理解的目的已经详细地示出和描述了前述实施例,但是本发明不限于所提供的细节。如本领域技术人员根据前述公开内容将理解的,存在许多实施本发明的替代方式。因此,所公开的实施例是示例性的,而非限制性的。本发明旨在涵盖落入权利要求范围内的所有修改和替代。

Claims (20)

1.一种存储器系统,包括:
存储器装置,包括多个页面;以及
控制器,
获得与对所述多个页面之中的选择页面的读取操作相关联的元信息,所述元信息包括读取阈值电压组;
使用所述读取阈值电压组的设定函数以及设定校验和值来确定用于估计与下一次读取操作相关联的数据的校验和值的数学模型;
通过对所述数学模型执行多项式回归来确定一组参数;并且
基于所述一组参数来估计所述下一次读取操作的下一个读取阈值电压。
2.根据权利要求1所述的存储器系统,其中所述设定函数包括sigmoid函数,并且
其中所述选择页面包括三层单元即TLC的最低有效位页面即LSB页面。
3.根据权利要求2所述的存储器系统,其中所述数学模型为二次模型,被表示为:
Figure FDA0003280939770000011
其中S(·)表示sigmoid函数,(v2,v6)表示所述LSB页面的读取阈值电压组,
Figure FDA0003280939770000012
表示与所述下一次读取操作相关联的数据的估计校验和值,CSmax表示所述设定校验和值,Θ={θ0,θ1,…,θ4}表示所述一组参数。
4.根据权利要求3所述的存储器系统,其中基于用于解码与所述读取操作相关联的数据的奇偶校验矩阵的行数来确定所述设定校验和值。
5.根据权利要求3所述的存储器系统,其中所述控制器根据以下等式,通过对所述数学模型的反sigmoid函数执行所述多项式回归来确定所述一组参数:
Figure FDA0003280939770000021
6.一种存储器系统,包括:
存储器装置,包括多个页面;以及
控制器:
获得与对所述多个页面之中的选择页面的读取操作相关联的元信息,所述元信息包括多个读取阈值电压组、多个校验和值以及数据中特定值的位百分比;
使用当前读取操作的读取阈值电压组的设定函数,确定用于估计下一次读取操作的数据中特定值的位百分比的数学模型;
通过对所述数学模型执行线性回归来确定一组参数;
确定由所述多个读取阈值电压组中的每一组形成的面;
基于所述一组参数来确定所述面的线;
基于所述多个校验和值来确定所述多个读取阈值电压组之中的最佳先前读取阈值电压组;
确定所述面中的与所述最佳先前读取阈值电压组相对应的点;并且
通过将所述点投影到所述线上来估计所述下一次读取操作的下一个读取阈值电压。
7.根据权利要求6所述的存储器系统,其中所述设定函数包括sigmoid函数,并且
其中所述选择页面包括三层单元即TLC的最低有效位页面即LSB页面。
8.根据权利要求7所述的存储器系统,其中所述数学模型为二次模型,被表示为以下等式:
Figure FDA0003280939770000022
其中S(·)表示sigmoid函数,(v2,v6)表示所述LSB页面的读取阈值电压组,
Figure FDA0003280939770000023
表示特定值的位百分比,Φ={φ0,φ1,φ2}表示所述一组参数。
9.根据权利要求8所述的存储器系统,其中所述控制器根据以下等式,通过对所述数学模型的反sigmoid函数执行所述线性回归来确定所述一组参数:
Figure FDA0003280939770000031
10.根据权利要求8所述的存储器系统,其中所述特定值为1。
11.根据权利要求8所述的存储器系统,其中所述控制器根据φ01v22v6=0来估计所述下一个读取阈值电压。
12.一种存储器系统,包括:
存储器装置,包括多个页面;以及
控制器:
获得与对所述多个页面之中的选择页面的读取操作相关联的元信息,所述元信息包括多个读取阈值电压组、多个校验和值以及数据中特定值的位百分比;
使用设定校验和值以及所述读取阈值电压组的设定函数来确定用于估计与下一次读取操作相关联的数据的校验和值的第一数学模型;
通过对所述第一数学模型执行多项式回归来确定第一组参数;
基于所述第一组参数来估计所述下一次读取操作的第一下一个读取阈值电压;
使用用于当前读取操作的读取阈值电压组的设定函数,确定用于估计所述下一次读取操作的数据中特定值的位百分比的第二数学模型;
通过对所述第二数学模型执行线性回归来确定第二组参数;
确定由所述多个读取阈值电压组中的每一组形成的面;
基于所述第二组参数来确定所述面的线;
基于所述多个校验和值来确定所述多个读取阈值电压组之中的最佳先前读取阈值电压组;
确定所述面中的与所述最佳先前读取阈值电压组相对应的点;并且
通过将所述点投影到所述线上来估计所述下一次读取操作的第二下一个读取阈值电压。
13.根据权利要求12所述的存储器系统,其中所述设定函数包括sigmoid函数,并且
其中所述选择页面包括三层单元即TLC的最低有效位页面即LSB页面。
14.根据权利要求13所述的存储器系统,其中所述第一数学模型为二次模型,被表示为:
Figure FDA0003280939770000041
其中S(·)表示sigmoid函数,(v2,v6)表示所述LSB页面的读取阈值电压组,
Figure FDA0003280939770000042
表示所述下一次读取操作的估计校验和值,csmax表示所述设定校验和值,Θ={θ0,θ1,…,θ4}表示所述第一组参数。
15.根据权利要求14所述的存储器系统,其中基于用于解码与所述读取操作相关联的数据的奇偶校验矩阵的行数来确定所述设定校验和值。
16.根据权利要求14所述的存储器系统,其中所述控制器根据以下等式,通过对所述第一数学模型的反sigmoid函数执行所述多项式回归来确定所述第一组参数:
Figure FDA0003280939770000043
17.根据权利要求13所述的存储器系统,其中所述第二数学模型为二次模型,被表示为以下等式:
Figure FDA0003280939770000044
其中S(·)表示sigmoid函数,(v2,v6)表示所述LSB页面的读取阈值电压组,
Figure FDA0003280939770000045
表示特定值的位百分比,Φ={φ0,φ1,φ2}表示所述第二组参数。
18.根据权利要求17所述的存储器系统,其中所述控制器根据以下等式,通过对所述数学模型的反sigmoid函数执行所述线性回归来确定所述第二组参数:
Figure FDA0003280939770000051
19.根据权利要求17所述的存储器系统,其中所述特定值为1,并且
其中所述控制器根据φ01v22v6=0来估计所述第二下一个读取阈值电压。
20.根据权利要求13所述的存储器系统,其中所述控制器进一步确定所述第一下一个读取阈值电压和所述第二下一个读取阈值电压是否在设定阈值范围之内;
当确定所述第一下一个读取阈值电压和所述第二下一个读取阈值电压都不在所述设定阈值范围之内时,所述控制器:
将所述设定阈值范围划分为多个区域,
在所述多个区域之中找到与次数最少的读取操作相对应的区域,并且
随机地将所述区域中的任意读取阈值电压确定为下一个读取阈值电压。
CN202111132794.3A 2020-11-24 2021-09-27 使用元信息自适应地确定读取阈值电压的系统 Pending CN114550785A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/103,513 2020-11-24
US17/103,513 US11342027B1 (en) 2020-11-24 2020-11-24 Systems for adaptively determining read threshold voltage using meta information

Publications (1)

Publication Number Publication Date
CN114550785A true CN114550785A (zh) 2022-05-27

Family

ID=81656490

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111132794.3A Pending CN114550785A (zh) 2020-11-24 2021-09-27 使用元信息自适应地确定读取阈值电压的系统

Country Status (2)

Country Link
US (1) US11342027B1 (zh)
CN (1) CN114550785A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11567693B2 (en) * 2021-06-15 2023-01-31 SK Hynix Inc. Parameter estimation based on previous read attempts in memory devices

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7945825B2 (en) * 2007-11-25 2011-05-17 Spansion Isreal, Ltd Recovery while programming non-volatile memory (NVM)
KR101486980B1 (ko) 2008-10-27 2015-01-30 삼성전자주식회사 불휘발성 메모리의 문턱 전압 산포의 분석 방법
US8572445B2 (en) * 2010-09-21 2013-10-29 Freescale Semiconductor, Inc. Non-volatile memory (NVM) with imminent error prediction
JP2020042884A (ja) 2018-09-13 2020-03-19 キオクシア株式会社 メモリシステム

Also Published As

Publication number Publication date
US11342027B1 (en) 2022-05-24
US20220165336A1 (en) 2022-05-26

Similar Documents

Publication Publication Date Title
US10997017B2 (en) Neighbor assisted correction error recovery for memory system and method thereof
CN109616148B (zh) 具有解码器的存储器系统、其操作方法和解码器
CN108073467B (zh) 具有硬信道信息的位翻转ldpc解码算法
CN109428606B (zh) 具有ldpc解码器的存储器系统及其操作方法
US11749354B2 (en) Systems and methods for non-parametric PV-level modeling and read threshold voltage estimation
US11514999B2 (en) Systems and methods for parametric PV-level modeling and read threshold voltage estimation
US11481155B2 (en) Controller and operating method thereof
CN111540393B (zh) 用于基于字线分组的读取操作的存储器系统和方法
US11854629B2 (en) System and method for non-parametric optimal read threshold estimation using deep neural network
CN110277124B (zh) 具有混合解码方案的存储器系统及其操作方法
CN114464241A (zh) 用于读取错误恢复的系统和方法
US11907571B2 (en) Read threshold optimization systems and methods using domain transformation
CN110569143B (zh) 用于存储器系统的解码器及其方法
CN114496044A (zh) 使用无模型回归的读取阈值优化系统和方法
US10938419B2 (en) Encoding method and system for memory device including QLC cells
CN114550785A (zh) 使用元信息自适应地确定读取阈值电压的系统
US11853590B2 (en) Read threshold estimation system using calculations based on polynomial regression
US11467938B2 (en) Read retry threshold optimization systems and methods conditioned on previous reads
US11210008B2 (en) Memory system for multi-clustering read thresholds and method thereof
US11217319B2 (en) Read threshold optimization systems and methods by multi-dimensional search
CN110275844B (zh) 利用自适应阈值解码的存储器系统及其操作方法
CN112216328A (zh) 具有低复杂度解码的存储器系统及其操作方法
US20240086101A1 (en) System and method for history-based non-parametric channel information prediciton using a deep neural network
CN116954984A (zh) Crc终止时的准确ber报告

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