CN114464241A - 用于读取错误恢复的系统和方法 - Google Patents
用于读取错误恢复的系统和方法 Download PDFInfo
- Publication number
- CN114464241A CN114464241A CN202111190392.9A CN202111190392A CN114464241A CN 114464241 A CN114464241 A CN 114464241A CN 202111190392 A CN202111190392 A CN 202111190392A CN 114464241 A CN114464241 A CN 114464241A
- Authority
- CN
- China
- Prior art keywords
- read
- credit
- memory
- successful
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/12005—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising voltage or current generators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Read Only Memory (AREA)
Abstract
实施例提供一种用于确定在存储器系统的读取错误恢复操作中使用的读取阈值电压的顺序的方案。控制器按设定顺序使用多个读取电压之中的一个或多个读取电压对存储器装置执行一个或多个读取操作。控制器检测一个或多个读取操作之中的成功读取操作。控制器响应于所检测到的成功读取操作,分别确定一个或多个读取电压的一个或多个信用。控制器基于所确定的信用更新设定顺序。
Description
技术领域
本公开的实施例涉及存储器系统中的读取错误恢复方案。
背景技术
计算机环境范例已经转变为可以随时随地使用的普适计算系统。因此,诸如移动电话、数码相机、笔记本电脑等的便携式电子装置的使用已经迅速增加。这些便携式电子装置通常使用具有存储器装置的存储器系统,即数据存储装置。数据储存装置用作便携式电子装置的主存储器装置或辅助存储器装置。
由于使用存储器装置的存储器系统不具有移动部件,因此提供优异的稳定性、耐久性、高信息访问速度和低功耗。具有这些优点的存储器系统的示例包括通用串行总线(USB)存储器装置、诸如通用闪存(UFS)的具有各种接口的存储卡以及固态驱动器(SSD)。当读取操作失败时,存储器系统可以执行读取操作并且执行读取错误恢复操作。
发明内容
本发明的方面包括一种用于有效地确定在存储器系统的读取错误恢复操作中使用的读取阈值电压的顺序的系统和方法。
一方面,一种存储器系统,包括存储器装置和控制器。控制器按设定顺序使用多个读取电压之中的一个或多个读取电压对存储器装置执行一个或多个读取操作;检测一个或多个读取操作之中的成功读取操作;响应于所检测到的成功读取操作,分别确定一个或多个读取电压的一个或多个信用;并且基于所确定的信用更新设定顺序。
另一方面,一种用于操作存储器系统的方法,该存储器系统包括存储器装置和联接到存储器装置的控制器,该方法包括:按设定顺序使用多个读取电压之中的一个或多个读取电压对存储器装置执行一个或多个读取操作;检测一个或多个读取操作之中的成功读取操作;响应于所检测到的成功读取操作,分别确定一个或多个读取电压的一个或多个信用;并且基于所确定的信用更新设定顺序。
又一方面,一种系统包括:存储器,存储用于使用多个读取电压对存储器装置进行一个或多个读取操作的可执行指令;以及控制组件,与存储器通信以从存储器读取可执行指令以:按设定顺序使用多个读取电压之中的一个或多个读取电压对存储器装置执行一个或多个读取操作;检测一个或多个读取操作之中的成功读取操作;响应于所检测到的成功读取操作,分别确定一个或多个读取电压的一个或多个信用;并且基于所确定的信用更新设定顺序。
本发明的其他方面将从以下描述中变得显而易见。
附图说明
图1是示出数据处理系统的框图。
图2是示出存储器系统的框图。
图3是示出存储器装置的存储块的电路图。
图4是示出存储器装置的不同类型单元的状态分布的示图。
图5A是示出用于多层单元(MLC)的编码的示例的示图。
图5B是示出多层单元(MLC)的页面的状态分布的示图。
图6A是示出用于三层单元(TLC)的Gray编码的示例的示图。
图6B是示出三层单元(TLC)的页面的状态分布的示图。
图7是示出存储器系统中的错误恢复算法的流程的示图。
图8是示出根据本发明实施例的存储器系统的示图。
图9是示出根据本发明实施例的自适应读取重试操作的流程的示图。
图10是示出根据本发明的实施例的渐进式信用获得方案(gradual creditgaining scheme)的示图。
图11示出根据渐进式信用获得方案迭代地更新读取阈值电压的顺序。
图12是示出根据本发明的实施例的进取式信用获得方案(aggressive creditgaining scheme)的示图。
图13示出根据进取式信用获得方案迭代地更新读取阈值电压的顺序。
图14是示出根据本发明的实施例的用于基于信用确定读取阈值电压的操作的流程图。
具体实施方式
下面参考附图更详细地描述各个实施例。然而,本发明可以以不同的形式实施,并且因此不应被解释为限于本文阐述的实施例。相反,提供这些实施例是为了使本公开彻底且完整的,并将本发明的范围完全传达给本领域技术人员。此外,本文对“实施例”、“另一实施例”等的引用不一定仅针对一个实施例,并且对任何这种短语的不同引用不一定是针对相同的实施例。此处使用的术语“实施例”不一定指代所有实施例。在整个公开内容中,相同的附图标记指代本发明的附图和实施例中的相同部分。
本发明可以以多种方式实施,包括:作为方法;设备;系统;在计算机可读存储介质上实施的计算机程序产品;和/或处理器,例如适合于执行存储在联接到处理器的存储器的指令和/或执行由联接到处理器的存储器提供的指令的处理器。在本说明书中,这些实施方式或本发明可以采用的任何其他形式可以被称为技术。通常,在本发明的范围内可以改变所公开方法的步骤的顺序。除非另有说明,否则被描述为适合于执行任务的诸如处理器或存储器的组件可以被实现为被临时配置为在给定时间执行任务的通用组件或被制造为执行该任务的特定组件。如本文所使用的,术语“处理器”等指的是适合于处理数据(例如计算机程序指令)的一个或多个装置、电路和/或处理内核。
下面提供了对本发明的实施例的详细描述以及示出本发明各方面的附图。结合这些实施例描述了本发明,但本发明不限于任何实施例。本发明的范围仅由权利要求书限定。本发明包括在权利要求书范围内的许多替代、修改和等同方案。在以下描述中阐述了许多具体细节以提供对本发明的透彻理解。提供这些细节是为了示例的目的;本发明可以根据权利要求书来实践,而无需这些具体细节中的一些或全部。为清楚起见,未详细描述与本发明相关的技术领域中已知的技术材料,以免不必要地模糊本发明。
图1是示出根据本发明实施例的数据处理系统2的框图。
参照图1,数据处理系统2可以包括主机装置5和存储器系统10。存储器系统10可以从主机装置5接收请求并且响应于接收到的请求而操作。例如,存储器系统10可以存储待由主机装置5访问的数据。
主机装置5可以利用各种电子装置中的任意一种来实施。在各个实施例中,主机装置5可以包括诸如以下的电子装置:台式计算机、工作站、三维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图像播放器和/或数字视频记录器和数字视频播放器。在各个实施例中,主机装置5可以包括便携式电子装置,诸如移动电话、智能电话、电子书、MP3播放器、便携式多媒体播放器(PMP)和/或便携式游戏机。
存储器系统10可以利用诸如固态驱动器(SSD)和存储卡的各种装置存储装置中的任一种来实施。在各个实施例中,存储器系统10可以被设置为诸如以下的电子装置中的各种组件中的一种:计算机、超移动个人计算机(PC)(UMPC)、工作站、上网本计算机、个人数字助理(PDA)、便携式计算机、网络平板PC、无线电话、移动电话、智能电话、电子书阅读器、便携式多媒体播放器(PMP)、便携式游戏装置、导航装置、黑盒、数码相机、数字多媒体广播(DMB)播放器、3维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、数据中心的存储装置、能够在无线环境中接收和传输信息的装置、射频识别(RFID)装置、以及家庭网络的各种电子装置之一、计算机网络的各种电子装置之一、远程通信网络的电子装置之一或计算系统的各种组件之一。
存储器系统10可以包括存储器控制器100和半导体存储器装置200。存储器控制器100可以控制半导体存储器装置200的全部操作。
半导体存储器装置200可以在存储器控制器100的控制下执行一个或多个擦除操作、编程操作和读取操作。半导体存储器装置200可以通过输入/输出线接收命令CMD、地址ADDR和数据DATA。半导体存储器装置200可以通过电源线接收电力PWR并且通过控制线接收控制信号CTRL。控制信号CTRL可以包括命令锁存使能信号、地址锁存使能信号、芯片使能信号、写入使能信号、读取使能信号以及根据存储器系统10的设计和配置的其他操作信号。
存储器控制器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可以包括通过总线160联接的存储装置110、控制组件120(其可以被实施为诸如中央处理单元(CPU)的处理器)、错误校正码(ECC)组件130、主机接口(I/F)140和存储器接口(I/F)150。
存储装置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可以响应于由控制电路220生成的页面缓冲器控制信号,利用正电压对位线BL进行预充电,在编程和读取操作中将数据传输到所选择的存储块和从所选择的存储块接收数据,或者临时存储所传输的数据。
列解码器260可以向页面缓冲器250传输数据和从页面缓冲器250接收数据,或者向输入/输出电路270传输数据和从输入/输出电路270接收数据。
输入/输出电路270可以向控制电路220传输从外部装置(例如,图1的存储器控制器100)接收的命令和地址,将来自外部装置的数据传输到列解码器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可以被实现为组合了两种或更多种类型的存储器单元的混合闪速存储器,或者控制器被嵌入在存储器芯片内部的one-NAND闪速存储器。
图4是示出存储器装置的不同类型的单元的状态或编程电压(PV)电平的分布的示图。
参照图4,存储器单元中的每一个可以利用特定类型的单元来实施,例如,存储1位数据的单层单元(SLC)、存储2位数据的多层单元(MLC)、存储3位数据的三层单元(TLC)或存储4位数据的四层单元(QLC)。通常,特定存储器装置中的所有存储器单元都是相同的类型,但这不是必需的。
SLC可以包括两种状态P0和P1。P0可以表示擦除状态,P1可以表示编程状态。由于SLC可以设置为两种不同状态中的一种,因此每个SLC可以根据设定的编码方法来对一个位进行编程或存储一个位。MLC可以包括四种状态P0、P1、P2和P3。在这些状态之中,P0可以表示擦除状态,P1至P3可以表示编程状态。由于MLC可以被设置为四种不同状态中的一种,因此每个MLC可以根据设定的编码方法来对两个位进行编程或存储两个位。TLC可以包括八种状态P0至P7。在这些状态之中,P0可以表示擦除状态,P1至P7可以表示编程状态。由于TLC可以设置为八种不同状态中的一种,因此每个TLC可以根据设定的编码方法来对三个位进行编程或存储三个位。QLC可以包括16种状态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页面。可以使用编码方案(例如,Gray编码)对存储器单元进行编程,以增加诸如SSD的存储器系统10的容量。
图5A是示出用于多层单元(MLC)的编码的示例的示图。
参照图5A,可以使用设定的编码类型来对MLC进行编程。MLC可以具有4种编程状态,包括擦除状态E(或PV0)和第一编程状态PV1至第三编程状态PV3。擦除状态E(或PV0)可以对应于“11”。第一编程状态PV1可以对应于“10”。第二编程状态PV2可以对应于“00”。第三编程状态PV3可以对应于“01”。
在MLC中,如图5B所示,有两种类型的页面,包括LSB页面和MSB页面。可以应用1个或2个阈值,以从MLC检索数据。对于MSB页面,单个阈值是VT1。VT1区分第一编程状态PV1和第二编程状态PV2。对于LSB页面,存在2个阈值:阈值VT0和阈值VT2。VT0区分擦除状态E和第一编程状态PV1。VT2区分第二编程状态PV2和第三编程状态PV3。
图6A是示出用于三层单元(TLC)的Gray编码的示例的示图。
参照图6A,可以使用Gray编码对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错误校正能力时,读取操作失败。当读取操作失败时,可以执行错误恢复算法。
如上所述,在诸如基于NAND的存储器系统(例如,SSD)的典型存储器系统中,执行正常模式下的读取操作直到发生不可校正的错误为止。一旦发生不可校正的错误,存储器系统就以错误恢复模式运行,该模式涉及几个不同的步骤来校正错误并提供预期数据。
图7是示出存储器系统中的错误恢复算法的流程的示图。
参照图7,控制组件120可以使用以设定顺序施加的一个或多个读取阈值电压对存储器单元执行一个或多个读取重试操作(S100)。例如,读取阈值电压可以包括N个(例如,N是50)读取阈值电压(或读取电压电平),N个读取阈值电压包括第一读取阈值电压至第N读取阈值电压。可以以固定顺序,例如,按照第一读取阈值电压、第二读取阈值电压和第N读取阈值电压的顺序,来使用读取阈值电压执行读取重试操作。控制组件120可以执行读取重试操作,直到确定与相应的读取重试操作相关联的解码成功为止。
当所有使用读取阈值电压的读取重试操作都失败时,控制组件120可以执行额外的恢复操作。例如,额外的恢复操作可以包括最佳读取阈值电压搜索(S200)、使用错误校正码(ECC)的软解码(S300)和独立磁盘冗余阵列(RAID)恢复(S400)。
如图7所示,错误恢复算法的第一步是执行读取重试操作(ReadRetries)。在这些读取重试操作中,尝试额外的读取和解码(即,硬解码)操作。对于这些额外的读取尝试,读取阈值电压是从被称为读取重试表的查找表中确定的,在该查找表中每个读取阈值电压表示就绪重试条目。从表中获得的先前施加的读取阈值电压的有效性会影响读取恢复效率。考虑到每个存储器装置的单元条件(例如,保留、干扰),以固定顺序预先确定这些读取重试阈值电压。然而,在已提出的系统中,这些读取重试阈值电压被盲目地应用于读取重试,而不了解存储器单元所经历的真实请客。例如,即使存储器装置中的单元条件已经改变,这些读取重试阈值电压也以固定顺序施加,因此读取错误恢复延迟和读取延迟增加。在这种情况下,通常在找到有效的读取重试阈值电压之前,必须执行多次读取重试,这些读取重试最后被证明是不成功的并且因此是不必要的。因此,需要一种能够基于单元条件自适应地确定读取重试阈值电压的顺序的存储器装置的方案。
实施例提供一种根据过去读取操作的历史(即,成功或失败)动态地调整读取阈值电压的顺序的方案。读取阈值电压被赋予初始恢复信用。成功读取操作中使用的读取阈值电压获得额外信用,并且基于更新后的信用调整读取阈值电压的顺序。在该方案中,导致较高成功恢复率的读取阈值电压具有较高的信用,并且被放置在读取重试表中的较高位置。读阈值电压在读取重试表中的位置越高,在读取重试尝试中越早使用该电压,从而减少读取延迟。随着读取重试操作的进行,这种信用获取过程和由此产生的读取重试顺序会自我调整。该过程是智能的,因为它从过去学习并自适应存储器装置的存储器单元条件。该方案表示为自适应读取重试(ARR)方案。ARR方案,包括其自适应地排序的读取重试电压的读取重试表,可以在不使用大量计算资源的情况下改善存储器系统的性能、延迟、一致性、鲁棒性和服务质量(QoS)。
图8是示出根据本发明实施例的存储器系统10的示图。
参照图8,存储器系统10可以包括控制器100和存储器装置200。存储器装置200可以包括多个存储器单元(例如,NAND闪速存储器单元)210。存储器单元按行和列的阵列布置,如图3所示。每行的单元连接到字线(例如,WL0),每列的单元连接到位线(例如,BL0)。这些字线和位线用于读取操作和写入操作。在写入操作期间,在字线为高电平时,待写入的数据(“1”或“0”)被提供在位线处。在读取操作期间,字线再次为高电平,然后可以从位线获取每个单元的阈值电压。多个页面可以共享属于(即,联接到)相同字线的存储器单元。当利用MLC实现存储器单元时,多个页面包括最高有效位(MSB)页面和最低有效位(LSB)页面。当利用TLC实现存储器单元时,多个页面包括MSB页面、中间有效位(CSB)页面和LSB页面。当利用QLC实现存储器单元时,多个页面包括MSB页面、中间最高有效位(CMSB)页面、中间最低有效位(CLSB)页面和LSB页面。可以使用编码方案(例如,Gray编码)对存储器单元进行编程,以增加诸如SSD的存储器系统10的容量。
控制器100可以包括读取处理器810、存储器820、解码器830和读取顺序更新器840。虽然示出了控制器100的组件是单独实施的,但是这些组件可以用图2中的控制组件120的内部组件(即,固件(FW))来实现。虽然未在图8中示出,但是控制器100和存储器装置200可以包括如图2所示的各种其他组件。
读取处理器810可以响应于来自主机(例如,图1的主机装置5)的读取请求,使用设定的读取阈值电压来控制针对存储器装置200的存储器单元210的读取操作。设定的读取阈值电压可以是先前使用的读取阈值电压(即,历史读取阈值电压)。历史读取阈值电压可以是上次成功解码中使用的读取阈值电压,即导致读取通过的读取操作的上次使用的读取电压。
当使用设定的读取阈值电压的读取操作失败时,读取处理器810执行一个或多个额外的读取操作(即,读取重试操作),直到确定与相应的读取重试操作相关联的解码成功为止。读取处理器810可以使用多个读取阈值电压来控制读取重试操作。存储器820可以包括表(即,自适应读取重试表),该表存储自适应排序的读取重试阈值电压,如图9所示。在一些实施例中,自适应读取重试表可以进一步以特定顺序存储读取阈值电压的信用历史。存储器820可以利用诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)或NAND闪速存储器的系统存储器来实现。自适应读取重试表可以以不同级别进行管理。在实施例中,自适应读取重试表可以用于存储器系统(例如,SSD)的存储器装置中的所有NAND管芯。在另一实施例中,存在多个自适应读取重试表。在多自适应读取重试表布置中,可以存在用于存储器装置中的每个NAND管芯的表、用于存储器装置中的每个NAND管芯块的表、或用于存储器装置中的NAND管芯块中的每个字线或页面的表。
解码器830可以对与每个读取操作相关联的数据进行解码。可以根据解码器830的解码结果,来确定使用从多个读取阈值电压中选择的最高排序的读取阈值电压的读取操作是成功还是失败。如果该读取操作失败,则读取处理器810可以指示使用多个读取阈值电压中次高排序的读取阈值电压对存储器单元210执行额外的读取操作。读取顺序更新器840可以设置初始读取阈值电压顺序,也可以在整个过程中改变这种电压的顺序。
读取顺序更新器840可以响应于使用该读取重试电压的成功读取重试操作来确定每个读取重试电压的恢复信用。在一些实施例中,恢复信用(正或负)可以由具有特定读取重试阈值电压的读取尝试的成功或失败来确定。如果使用读取重试阈值电压(例如条目#N)的读取尝试成功,则#N读取重试电压获得恢复信用。如果使用#N读取重试阈值电压的读取尝试失败,则#N读取重试阈值电压失去恢复信用。有多种方法可以确定如何给予或取消恢复信用,并且每种方法都可以针对不同存储器单元条件的变化。在一些实施例中,可以根据渐进式信用获得方案(图10和图11)或进取式信用获得方案(图12和图13)获得恢复信用。
进一步,读取顺序更新器840可以基于在读取重试过程的初始轮次中确定的信用来更新初始读取顺序。读取顺序更新器840可以根据各种信用获得方案来更新存储在存储器810的ARR表中的初始读取顺序。在实施例中,读取顺序更新器840可以根据图11的渐进式信用获得方案来更新初始读取顺序。在实施例中,读取顺序更新器840可以根据图12的进取式信用获得方案来更新初始顺序。读取处理器810可以基于更新后的读取顺序控制读取重试操作,直到确定与相应的读取重试操作相关联的解码成功为止。
图9是示出根据本发明实施例的自适应读取重试操作900的流程的示图。自适应读取重试操作900可以由图8中的控制器100的组件来执行。
参照图9,在操作910,控制器100可以从存储器810上传读取重试阈值电压的自适应读取重试(ARR)顺序。控制器100可以根据需要基于初始读取顺序和更新后的读取顺序控制读取重试操作,直到确定与相应的读取重试操作相关联的解码成功为止。
在操作920-1,控制器100可以使用最高排序的读取阈值电压(即,ARR#1)来控制读取操作。当确定使用ARR#1的读取操作失败时,在操作920-2,控制器100可以使用次高排序的读取阈值电压(即,ARR#2)控制读取操作。当使用连续较低排序的读取阈值电压的读取操作继续失败时,尝试利用第(N-1)排序的读取阈值电压(ARR#N)的读取操作。如果失败,则在操作920-N,控制器100可以使用顺序中最低的第N排序的读取阈值电压来控制读取操作。
在读取重试过程中的任何时刻,如果确定特定读取阈值电压导致成功解码,则在操作930,控制器100可以响应于成功读取重试操作更新多个读取电压的恢复信用。也就是说,成功的读取阈值电压的恢复信用可以增加,不成功的其他读取阈值电压中的每一个都可以降低其恢复信用。在操作940,读取顺序更新器840可以基于所确定的恢复信用来更新初始读取顺序。
图10是示出根据本发明的实施例的渐进式信用获得方案的示图。渐进式信用获得方案可以由图8中的读取顺序更新器840执行。
参照图10,用于各个读取重试操作的N个读取阈值电压RR#0至RR#(N-1)被存储在存储器810中。初始读取顺序可以按照电压的顺序设置:RR#0→RR#1→RR#2→RR#3→RR#4→……→RR#(N-1)。换言之,第一读取阈值电压RR#0为最高排序的读取阈值电压,第二读取阈值电压RR#1为次高排序的读取阈值电压,第N读取阈值电压RR#(N-1)为最低排序的读取阈值电压。每个读取阈值电压被分配初始恢复信用。在所示的示例中,初始恢复信用可以按降序进行设置:RR#0(信用N)→RR#1(信用N-1)→RR#2(信用N-2)→RR#3(信用N-3)→RR#4(信用N-4)→……→RR#(N-1)(信用1)。换言之,对于较高排序的读取阈值电压,初始恢复信用较高:作为最高排序的读取阈值电压的第一读取阈值电压RR#0具有最高信用,第二读取阈值电压RR#1具有次高信用,并且作为最低排序的读取阈值电压的第N读取阈值电压RR#(N-1)具有最低信用。
当确定使用读取阈值电压RR#0和RR#1的读取操作失败并且使用读取阈值电压RR#2的读取操作成功时,读取顺序更新器840可以将RR#2的恢复信用增加设定值(例如,1)。换言之,成功读取电压RR#2的恢复信用“N-2”被更新为信用“N-1”。通过此更新,读取电压RR#2的增加后的信用“N-1”与在当前顺序中高于读取电压RR#2的读取电压RR#1的初始恢复信用“N-1”相同。读取顺序更新器840可以在顺序中交换RR#2与RR#1,使得RR#2在顺序中是第二个,RR#1在顺序中是第三个。因此,新的读取顺序是:RR#0→RR#2→RR#1→RR#3→RR#4→……→RR#(N-1)。
图11示出了根据渐进式信用获得方案迭代地更新读取阈值电压的顺序的过程。在图11中,带有复选标记“√”的RR#表示成功读取阈值电压,粗体RR#表示已按顺序向上或向下移动的读取阈值电压。
参照图11,假设10个读取阈值电压RR#0至RR#9的初始信用值按顺序递减。例如,读取阈值电压RR#0具有初始信用“9”,读取阈值电压RR#1具有初始信用“8”,读取阈值电压RR#2具有初始信用“7”,继续读取阈值电压RR#9具有初始信用“0”。
在第一轮(1110)中,使用读取阈值电压RR#0和RR#1的读取操作失败,使用读取阈值电压RR#2的读取操作成功。成功读取电压RR#2的恢复信用由“7”增加到“8”。由于读取电压RR#2的更新后的信用“8”与更高排序的读取电压RR#1的恢复信用“8”相同,因此RR#1和RR#2在顺序中交换位置。因此,新的(更新后的)读取顺序是:RR#0(信用9)→RR#2(信用8)→RR#1(信用7)→RR#3(信用6)→RR#4(信用5)→……→RR#9(信用0)。
在第二轮(1120)中,使用读取阈值电压RR#0、RR#2、RR#1和RR#3的读取操作失败,使用读取阈值电压RR#4的读取操作成功。成功读取电压RR#4的恢复信用由“5”增加到“6”。由于读取电压RR#4的更新后的信用“6”与更高排序的读取电压RR#3的恢复信用“6”相同,因此RR#4和RR#3在顺序中交换位置。因此,新的(更新后的)读取顺序是:RR#0(信用9)→RR#2(信用8)→RR#1(信用7)→RR#4(信用6)→RR#3(信用5)→……→RR#9(信用0)。
在第三轮(1130)中,使用读取阈值电压RR#0和RR#2的读取操作失败,使用读取阈值电压RR#1的读取操作成功。成功读取电压RR#1的恢复信用“7”被更新(增加)为“8”。由于RR#1的更新后的信用“8”与更高排序的读取电压RR#2的恢复信用“8”相同,因此RR#1和RR#2在顺序中交换位置。因此,新的(更新后的)读取顺序是:RR#0(信用9)→RR#1(信用8)→RR#2(信用7)→RR#4(信用6)→RR#3(信用5)→……→RR#9(信用0)。
在第四轮(1140)中,使用读取阈值电压RR#0的读取操作失败,使用读取阈值电压RR#1的读取操作成功。成功读取电压RR#1的恢复信用“8”被更新(增加)为“9”。由于RR#1的更新后的信用“9”与更高排序的读取电压RR#0的恢复信用“9”相同,因此RR#0和RR#1在顺序中交换位置。因此,新的(更新后的)读取顺序是:RR#1(信用9)→RR#0(信用8)→RR#2(信用7)→RR#4(信用6)→RR#3(信用5)→……→RR#9(信用0)。
在第五轮(1150)中,使用读取阈值电压RR#1的读取操作成功。成功读取电压RR#1的恢复信用“9”是最高信用。在这种情况下,保持读取电压的顺序。因此,保持先前更新的读取顺序:RR#1(信用9)→RR#0(信用8)→RR#2(信用7)→RR#4(信用6)→RR#3(信用5)→……→RR#9(信用0)。
在第六轮(1160)中,使用读取阈值电压RR#1、RR#0和RR#2的读取操作失败,使用读取阈值电压RR#4的读取操作成功。成功读取电压RR#4的恢复信用“6”被更新(增加)为“7”。由于RR#4的更新后的信用“7”与更高排序的读取电压RR#2的恢复信用“7”相同,因此RR#2和RR#4在顺序中交换位置。因此,新的(更新后的)读取顺序是:RR#1(信用9)→RR#0(信用8)→RR#4(信用7)→RR#2(信用6)→RR#3(信用5)→……→RR#9(信用0)。
在第七轮(1170)中,使用读取阈值电压RR#1和RR#0的读取操作失败,使用读取阈值电压RR#4的读取操作成功。成功读取电压RR#4的恢复信用“7”被更新(增加)为“8”。由于RR#4的更新后的信用“8”与更高排序的读取电压RR#0的恢复信用“8”相同,因此RR#0和RR#4在顺序中交换位置。因此,新的(更新后的)读取顺序是:RR#1(信用9)→RR#4(信用8)→RR#0(信用7)→RR#2(信用6)→RR#3(信用5)→……→RR#9(信用0)。
在第八轮(1180)中,使用读取阈值电压RR#1的读取操作失败,使用读取阈值电压RR#4的读取操作成功。成功读取电压RR#4的恢复信用“8”被更新(增加)为“9”。由于RR#4的更新后的信用“9”与更高排序的读取电压RR#1的恢复信用“9”相同,因此RR#1和RR#4在顺序中交换位置。因此,新的(更新后的)读取顺序是:RR#4(信用9)→RR#1(信用8)→RR#0(信用7)→RR#2(信用6)→RR#3(信用5)→……→RR#9(信用0)。
图12是示出根据本发明的实施例的进取式信用获得方案的示图。渐进式信用获得方案可以由图8中的读取顺序更新器840执行。
参照图12,用于读取重试操作的N个读取阈值电压RR#0至RR#(N-1)被存储在存储器810中。初始读取顺序可以按照电压的顺序设置:RR#0→RR#1→RR#2→RR#3→RR#4→……→RR#(N-1)。换言之,第一读取阈值电压RR#0为最高排序的电压,第二读取阈值电压RR#1为次高排序的电压,第N读取阈值电压RR#(N-1)为最低排序的电压。可以为每个读取电压分配初始恢复信用。在所示的示例中,初始恢复信用可以按以下顺序分配:RR#0(信用N)→RR#1(信用N-1)→RR#2(信用N-2)→RR#3(信用N-3)→RR#4(信用N-4)→……→RR#(N-1)(信用1)。换言之,读取电压的读取顺序越高,其恢复信用越高:第一读取阈值电压RR#0具有最高信用,第二读取阈值电压RR#1具有次高信用,第N读取阈值电压RR#(N-1)具有最低信用。
当确定使用读取阈值电压RR#0和RR#1的读取操作失败并且使用读取阈值电压RR#2的读取操作成功时,读取顺序更新器840可以将成功读取电压RR#2增加设定值。在一些实施例中,可以基于成功读取电压RR#2的当前恢复信用和最高恢复信用N来确定该设定值,使得成功读取电压RR#2的恢复信用增加(更新)为恢复信用N。根据此更新,成功读取电压RR#2的增加后的恢复信用“N”与读取电压RR#0的最高恢复信用“N”相同。读取顺序更新器840可以将当前信用大于成功读取电压RR#2的恢复信用的每个读取电压的恢复信用减少1。在本例中,读取电压RR#0的恢复信用从N减少到N-1,读取电压RR#1的恢复信用从N-1减少到N-2。因此,新的(更新后的)读取顺序是:RR#2(顺序1)→RR#0(顺序2)→RR#1(顺序3)→RR#3(顺序4)→RR#4(顺序5)→……→RR#(N-1)(顺序N)。
图13示出了根据进取式信用获得方案迭代地更新读取阈值电压的顺序的过程。在图13中,带有复选标记“√”的RR#表示成功读取阈值电压,粗体RR#表示已按顺序向上或向下移动的读取阈值电压。
参照图13,假设10个读取阈值电压RR#0到RR#9的初始信用值按顺序递减。例如,读取阈值电压RR#0具有初始信用“9”,读取阈值电压RR#1具有初始信用“8”,读取阈值电压RR#2具有初始信用“7”,一直到读取阈值电压RR#9具有初始信用“0”。
在第一轮(1310)中,使用读取阈值电压RR#0和RR#1的读取操作失败,使用读取阈值电压RR#2的读取操作成功。成功读取电压RR#2的恢复信用由“7”更新为“9”。此外,作为成功读取电压RR#2的更高排序的读取阈值电压的RR#0和RR#1的初始恢复信用“9”、“8”分别被更新为“8”和“7”。因此,新的(更新后的)读取顺序是:RR#2(信用9)→RR#0(信用8)→RR#1(信用7)→RR#3(信用6)→RR#4(信用5)→……→RR#9(信用0)。
在第二轮(1320)中,使用读取阈值电压RR#2、RR#0、RR#1和RR#3的读取操作失败,使用读取阈值电压RR#4的读取操作成功。成功读取电压RR#4的恢复信用“5”被更新(增加)为“9”。此外,作为成功读取电压RR#4的更高排序的读取阈值电压的RR#2、RR#0、RR#1和RR#3的恢复信用“9”、“8”、“7”和“6”分别被更新(减少)为“8”、“7”、“6”和“5”。因此,新的(更新后的)读取顺序是:RR#4(信用9)→RR#2(信用8)→RR#0(信用7)→RR#1(信用6)→RR#3(信用5)→……→RR#9(信用0)。
在第三轮(1330)中,使用读取阈值电压RR#4、RR#2和RR#0的读取操作失败,使用读取阈值电压RR#1的读取操作成功。成功读取电压RR#1的恢复信用“6”被更新(增加)为“9”。此外,作为成功读取电压RR#1的更高排序的读取阈值电压的RR#4、RR#2和RR#0的恢复信用“9”、“8”和“7”分别被更新(减少)为“8”、“7”和“6”。因此,新的(更新的)读取顺序是:RR#1(信用9)→RR#4(信用8)→RR#2(信用7)→RR#0(信用6)→RR#3(信用5)→……→RR#9(信用0)。
在第四轮(1340)中,使用读取阈值电压RR#1的读取操作成功。保持成功读取电压RR#1的恢复信用“9”。因此,新的(更新后的)读取顺序是:RR#1(信用9)→RR#4(信用8)→RR#2(信用7)→RR#0(信用6)→RR#3(信用5)→……→RR#9(信用0)。
在第五轮(1350)中,使用读取阈值电压RR#1的读取操作成功。保持成功读取电压RR#1的恢复信用“9”。因此,新的(更新后的)读取顺序是:RR#1(信用9)→RR#4(信用8)→RR#2(信用7)→RR#0(信用6)→RR#3(信用5)→……→RR#9(信用0)。
在第六轮(1360)中,使用读取阈值电压RR#1的读取操作失败,使用读取阈值电压RR#4的读取操作成功。成功读取电压RR#4的恢复信用“8”被更新(增加)为“9”。此外,作为成功读取电压RR#4的更高排序的读取阈值电压的RR#1的恢复信用“9”被更新为“8”。因此,新的(更新后的)读取顺序可以是:RR#4(信用9)→RR#1(信用8)→RR#2(信用7)→RR#0(信用6)→RR#3(信用5)→……→RR#9(信用0)。
在第七轮(1370)中,使用读取阈值电压RR#4的读取操作成功。保持所选择的读取电压RR#4的恢复信用“9”。因此,新的(更新后的)读取顺序是:RR#4(信用9)→RR#1(信用8)→RR#2(信用7)→RR#0(信用6)→RR#3(信用5)→……→RR#9(信用0)。
在第八轮(1380)中,使用读取阈值电压RR#4的读取操作成功。保持所选择的读取电压RR#4的恢复信用“9”。因此,新的(更新后的)读取顺序是:RR#4(信用9)→RR#1(信用8)→RR#2(信用7)→RR#0(信用6)→RR#3(信用5)→……→RR#9(信用0)。
在图11和图13示出的实施例中,假设在八轮中成功读取电压为RR#2→RR#4→RR#1→RR#1→RR#1→RR#4→RR#4→RR#4。与固定顺序的方案相比,实施例减少了总读取尝试,如表1所示。
表1
参考表1,固定顺序的方案中的总读取尝试为29,渐进式信用获得方案中的总读取尝试为23,进取式信用获得方案中的总读取尝试为18。渐进式信用获得方案可以针对存储器单元条件缓慢变化的场景。进取式信用获得方案可以针对存储器单元条件快速变化的场景。
图14是示出根据本发明的实施例的用于基于信用确定读取阈值电压的操作的流程图。操作1400可以由包括图8和9中的读取处理器810的控制器100的固件执行。
参照图14,在操作1410,控制器100可以按设定顺序使用多个读取电压中的一个或多个读取电压对存储器装置执行一个或多个读取操作。
在操作1420,控制器100可以检测一个或多个读取操作之中的成功读取操作。
在操作1430,控制器100可以响应于所检测到的成功读取操作来确定一个或多个读取电压的一个或多个信用。
在操作1440,控制器100可以基于所确定的信用来更新设定顺序。
在操作1450,控制器100可以基于更新后的顺序对存储器装置执行额外的读取操作(即,另一轮读取操作)。
在一些实施例中,多个读取电压中的每一个的初始信用不同于其他读取电压中的每一个的初始信用。
在一些实施例中,以第一顺序施加多个读取电压,并且以第二顺序将初始信用分配给多个读取电压,使得读取电压在顺序中的排序越高,其初始信用越高。
在一些实施例中,响应于使用成功读取电压的成功读取操作,将成功读取电压的初始信用增加设定值。
在一些实施例中,设定值为1。在一些实施例中,在成功读取电压的当前信用增加之后,将增加后的信用与其他读取电压的当前信用中的每一个进行比较。在一些实施例中,当这种比较指示成功读取电压的增加后(更新后)的信用与另一读取电压的当前信用相同时,在顺序中交换这两个读取电压。
在一些实施例中,基于成功读取电压的当前信用和其他读取电压的当前信用之中的最高信用来确定设定值,使得成功读取电压的信用增加(更新)到最高信用。在一些实施例中,当确定成功读取电压的增加后的信用和与另一读取电压相关联的最高信用相同时,将大于成功读取电压的更新后信用的每个信用减少1。
在一些实施例中,当成功读取电压具有最高信用时,初始或当前信用被保留(不改变)。
如上所述,在存储器系统或装置的上下文中,实施例提供了一种用于基于单元条件自适应地确定读取重试阈值电压的顺序的方案。实施例可以通过使用读取重试表来改善存储器系统的性能、延迟、一致性、鲁棒性和服务质量(QoS),在读取重试表响应于先前读取操作的结果读取电压的顺序自适应地改变。
虽然为了清楚和理解的目的已经对前述实施例进行了一些详细的说明和描述,但是本发明不限于所提供的细节。如本领域技术人员根据前述公开将理解的,存在实施本发明的许多替代方式。因此,所公开的实施例是示例性的,而非限制性的。本发明旨在包括落入权利要求书范围内的所有修改和替代。
Claims (20)
1.一种存储器系统,包括:
存储器装置;以及
控制器:
按设定顺序使用多个读取电压之中的一个或多个读取电压对所述存储器装置执行一个或多个读取操作;
检测所述一个或多个读取操作之中的成功读取操作;
响应于所检测到的成功读取操作,分别确定所述一个或多个读取电压的一个或多个信用;并且
基于所确定的信用更新所述设定顺序。
2.根据权利要求1所述的存储器系统,其中所述控制器进一步:基于更新后的顺序对所述存储器装置执行额外的读取操作。
3.根据权利要求1所述的存储器系统,其中所述多个读取电压各自具有不同的初始信用。
4.根据权利要求3所述的存储器系统,其中按第一顺序施加所述多个读取电压,并且按第二顺序将所述初始信用分配给所述多个读取电压,使得读取电压在所述顺序中的排序越高,其初始信用越高。
5.根据权利要求4所述的存储器系统,其中所述控制器响应于使用成功读取电压的成功读取操作,将所述成功读取电压的初始信用增加设定值。
6.根据权利要求5所述的存储器系统,其中所述设定值为1,并且
其中所述控制器:
确定所述成功读取电压的增加后的信用是否与其他初始信用中的任意一个相同;并且
当确定所述增加后的信用与另一读取电压的另一初始信用相同时,在所述设定顺序中交换所述成功读取电压和所述另一读取电压,以创建更新后的顺序。
7.根据权利要求5所述的存储器系统,其中基于所述成功读取电压的信用和所述其他读取电压的初始信用中的最高信用来确定所述设定值,使得所述成功读取电压具有所述最高信用。
8.根据权利要求7所述的存储器系统,其中所述控制器:
确定所述增加后的信用是否与所述最高信用相同;并且
当确定所述增加后的信用与所述最高信用相同时,将大于所述成功读取电压的信用中的每一个信用减少1。
9.根据权利要求4所述的存储器系统,其中所述控制器响应于使用具有所述最高信用的成功读取电压的成功读取操作,保持多个初始信用。
10.根据权利要求1所述的存储器系统,其中所述控制器包括按所述设定顺序存储所述多个读取电压的存储器,所述多个读取电压中的每一个都其所确定的信用相关联地被存储。
11.一种操作存储器系统的方法,所述存储器系统包括存储器装置和联接到所述存储器装置的控制器,所述方法包括:
按设定顺序使用多个读取电压之中的一个或多个读取电压对所述存储器装置执行一个或多个读取操作;
检测所述一个或多个读取操作之中的成功读取操作;
响应于所检测到的成功读取操作,分别确定所述一个或多个读取电压的一个或多个信用;并且
基于所确定的信用更新所述设定顺序。
12.根据权利要求11所述的方法,进一步包括:
基于更新后的顺序对所述存储器装置执行额外的读取操作。
13.根据权利要求11所述的方法,其中所述多个读取电压各自具有不同的初始信用。
14.根据权利要求13所述的方法,其中按第一顺序施加所述多个读取电压,并且按第二顺序将所述初始信用分配给所述多个读取电压,使得读取电压在所述顺序中的排序越高,其初始信用较高。
15.根据权利要求14所述的方法,其中确定所述一个或多个读取电压的信用包括:
响应于使用成功读取电压的成功读取操作,将所述成功读取电压的初始信用增加设定值。
16.根据权利要求15所述的方法,其中所述设定值为1;
其中确定所述一个或多个读取电压的信用包括:确定所述成功读取电压的增加后的信用是否与其他初始信用中的任意一个相同;并且
其中更新所述设定顺序包括:当确定所述增加后的信用与另一读取电压的另一初始信用相同时,在所述设定顺序中交换所述成功读取电压和所述另一读取电压,以创建更新后的顺序。
17.根据权利要求15所述的方法,其中基于所述成功读取电压的信用和所述其他读取电压的初始信用中的最高信用来确定所述设定值,使得所述成功读取电压具有所述最高信用。
18.根据权利要求17所述的方法,其中确定所述一个或多个读取电压的信用包括:
确定所述增加后的信用是否与所述最高信用相同;并且
当确定所述增加后的信用与所述最高信用相同时,将大于成功读取电压的信用的每一个信用减少1。
19.根据权利要求14所述的方法,其中确定所述多个读取电压的信用包括:
响应使用具有所述最高信用的成功读取电压的成功读取操作,保持多个初始信用。
20.一种针对读取错误恢复的系统,包括:
存储器,存储用于使用多个读取电压对存储器装置进行一个或多个读取操作的可执行指令;以及
控制组件,与所述存储器通信以从所述存储器读取所述可执行指令以:
按设定顺序使用多个读取电压之中的一个或多个读取电压对所述存储器装置执行一个或多个读取操作;
检测所述一个或多个读取操作之中的成功读取操作;
响应于所检测到的成功读取操作,分别确定所述一个或多个读取电压的一个或多个信用;并且
基于所确定的信用更新所述设定顺序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/094,218 US11538547B2 (en) | 2020-11-10 | 2020-11-10 | Systems and methods for read error recovery |
US17/094,218 | 2020-11-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114464241A true CN114464241A (zh) | 2022-05-10 |
Family
ID=81406080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111190392.9A Pending CN114464241A (zh) | 2020-11-10 | 2021-10-13 | 用于读取错误恢复的系统和方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11538547B2 (zh) |
CN (1) | CN114464241A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI777519B (zh) * | 2021-04-26 | 2022-09-11 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
US11953973B2 (en) * | 2022-06-01 | 2024-04-09 | Micron Technology, Inc. | Prioritization of successful read recovery operations for a memory device |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10102920B2 (en) | 2016-08-15 | 2018-10-16 | Sandisk Technologies Llc | Memory system with a weighted read retry table |
US10469103B1 (en) * | 2017-04-19 | 2019-11-05 | Seagate Technology Llc | Adaptive read retry optimization |
US10636495B2 (en) | 2018-06-12 | 2020-04-28 | Western Digital Technologies, Inc. | Adjustable read retry order based on decoding success trend |
-
2020
- 2020-11-10 US US17/094,218 patent/US11538547B2/en active Active
-
2021
- 2021-10-13 CN CN202111190392.9A patent/CN114464241A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220148671A1 (en) | 2022-05-12 |
US11538547B2 (en) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10997017B2 (en) | Neighbor assisted correction error recovery for memory system and method thereof | |
CN106257594B (zh) | 读取干扰收回策略 | |
CN109428606B (zh) | 具有ldpc解码器的存储器系统及其操作方法 | |
CN109671465B (zh) | 具有自适应读取阈值方案的存储器系统及其操作方法 | |
US11749354B2 (en) | Systems and methods for non-parametric PV-level modeling and read threshold voltage estimation | |
CN110751974A (zh) | 存储器系统和用于优化读取阈值的方法 | |
US11514999B2 (en) | Systems and methods for parametric PV-level modeling and read threshold voltage estimation | |
US11481155B2 (en) | Controller and operating method thereof | |
CN111540393B (zh) | 用于基于字线分组的读取操作的存储器系统和方法 | |
CN113223589A (zh) | 存储器系统及其操作方法 | |
CN114464241A (zh) | 用于读取错误恢复的系统和方法 | |
US11854629B2 (en) | System and method for non-parametric optimal read threshold estimation using deep neural network | |
US10938419B2 (en) | Encoding method and system for memory device including QLC cells | |
CN113936715A (zh) | 使用域变换的读取阈值优化系统和方法 | |
CN114520014A (zh) | 用于确定读取阈值电压的变化的系统和方法 | |
CN114496044A (zh) | 使用无模型回归的读取阈值优化系统和方法 | |
CN110569143B (zh) | 用于存储器系统的解码器及其方法 | |
CN112687323A (zh) | 具有用于解码的错误减少方案的存储器系统及其操作方法 | |
US11342027B1 (en) | Systems for adaptively determining read threshold voltage using meta information | |
US11210008B2 (en) | Memory system for multi-clustering read thresholds and method thereof | |
CN114255807A (zh) | 以先前读取为条件的读取重试阈值优化系统和方法 | |
JP2023001880A (ja) | コントローラ及びコントローラの動作方法 | |
US11217319B2 (en) | Read threshold optimization systems and methods by multi-dimensional search | |
CN112216328A (zh) | 具有低复杂度解码的存储器系统及其操作方法 | |
CN110928722A (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 |