存储器系统和用于优化读取阈值的方法

文档序号:1491594 发布日期:2020-02-04 浏览:32次 >En<

阅读说明:本技术 存储器系统和用于优化读取阈值的方法 (Memory system and method for optimizing read threshold ) 是由 张帆 蔡宇 熊晨荣 吕宣宣 于 2019-07-23 设计创作,主要内容包括:本发明提供一种存储器系统,该存储器系统包括存储器装置和控制器。控制器使用多个读取阈值条目对存储器装置的读取数据集执行测试读取操作,并且基于测试读取操作的结果确定哪些读取阈值条目为好读取阈值条目。控制器基于测试读取操作的结果在多个读取阈值条目之中选择最佳读取阈值条目,将读取数据集划分为由最佳读取阈值条目可解码的好数据集和由最佳读取阈值条目不可解码的坏数据集,并且将坏数据集设置为新读取数据集。(A memory system includes a memory device and a controller. The controller performs a test read operation on a read data set of the memory device using the plurality of read threshold entries and determines which read threshold entries are good read threshold entries based on results of the test read operation. The controller selects an optimal read threshold entry among the plurality of read threshold entries based on a result of the test read operation, divides the read data set into a good data set decodable by the optimal read threshold entry and a bad data set decodable by the optimal read threshold entry, and sets the bad data set as a new read data set.)

存储器系统和用于优化读取阈值的方法

相关申请的交叉引用

本申请要求于2018年7月23日提交的申请号为62/702,082的美国临时申请的权益,该美国临时申请的全部内容通过引用并入本文。

技术领域

本公开的实施例涉及一种用于处理存储器系统的读取阈值的方案。

背景技术

计算机环境范例已经转变成可以随时随地使用的普适计算系统。因此,诸如移动电话、数码相机和笔记本电脑的便携式电子装置的使用已经迅速增加。这些便携式电子装置通常使用具有存储器装置的存储器系统,即数据存储装置。数据存储装置用作便携式电子装置的主存储器装置或辅助存储器装置。

使用存储器装置的存储器系统由于不具有移动部件而提供优异的稳定性、耐用性、高信息访问速度和低功耗。具有这些优点的存储器系统的示例包括通用串行总线(USB)存储器装置、诸如通用闪存(UFS)的具有各种接口的存储卡以及固态驱动器(SSD)。存储器系统可以使用各种编码器。

发明内容

本发明的方面包括一种存储器系统和用于处理读取阈值的方法,能够提高存储器系统的服务质量(QoS)。

在一方面,一种存储器系统包括存储器装置和控制器。控制器使用多个读取阈值条目对存储器装置的读取数据集执行测试读取操作,并且基于测试读取操作的结果确定多个读取阈值条目之中的好读取阈值条目。控制器基于测试读取操作的结果在多个读取阈值条目之中选择最佳读取阈值条目,将读取数据集划分为好数据集和坏数据集,并且将坏数据集设置为新读取数据集,该好数据集包括读取数据集中由最佳读取阈值条目可解码的数据,该坏数据集包括读取数据集中由最佳读取阈值条目不可解码的数据。

在另一方面,一种操作存储器系统的方法包括:使用多个读取阈值条目对存储器装置的读取数据集执行测试读取操作;以及基于测试读取操作的结果确定多个读取阈值条目之中的好读取阈值条目。确定好读取阈值条目包括:基于测试读取操作的结果在多个读取阈值条目之中选择最佳读取阈值条目;将读取数据集划分为好数据集和坏数据集,该好数据集包括读取数据集中由最佳读取阈值条目可解码的数据,该坏数据集包括读取数据集中由最佳读取阈值条目不可解码的数据;以及将坏数据集设置为新读取数据集。

从以下描述中,本发明的其它方面将变得显而易见。

附图说明

图1是示出根据本发明的实施例的数据处理系统的框图。

图2是示出根据本发明的实施例的存储器系统的框图。

图3是示出根据本发明的实施例的存储器装置的存储块的电路图。

图4是示出根据本发明的实施例的存储器装置中的超级存储块的概念的示图。

图5是示出根据本发明的实施例的存储器系统的示图。

图6A和图6B是示出根据本发明的实施例的用于管理读取级别表(RLT)的方法的流程图。

图7是示出根据本发明的实施例的读取级别表(RLT)的优化进程的示例的示图。

具体实施方式

下面参照附图更详细地描述各个实施例。然而,本发明可以以不同的形式实施并且因此不应被解释为限于本文阐述的实施例。而是,提供这些实施例使得本公开彻底且完整,并且向本领域技术人员充分传达本发明的范围。此外,本文对“实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任意这种短语的不同参考不一定针对相同的实施例。在整个公开中,相同的附图标记在本发明的附图和实施例中表示相同的部件。

本发明可以以包括如下列的多种方式来实施:进程;设备;系统;在计算机可读存储介质上呈现的计算机程序产品;和/或处理器,诸如适于执行存储在存储器上和/或由存储器提供的指令的处理器,其中存储器联接至处理器。在本说明书中,这些实施例或本发明可以采用的任意其它形式可以被称为技术。通常,可以在本发明的范围内改变所公开的进程的步骤的顺序。除非另有说明,否则被描述为适于执行任务的、诸如处理器或存储器的组件可以被实施为临时配置成在给定时间执行该任务的通用组件或者被制造成执行该任务的专用组件。如本文所使用的,术语“处理器”等是指适于处理诸如计算机程序指令的数据的一个或多个装置、电路和/或处理核。

以下与示出本发明的方面的附图一起提供本发明的实施例的详细描述。结合这些实施例来描述本发明,但是本发明不限于任意实施例。本发明的范围仅由权利要求限定。本发明涵盖在权利要求的范围内的许多替换方案、修改方案和等同方案。在以下描述中阐述了许多具体细节,以提供对本发明的透彻理解。提供这些细节是为了示例的目的;本发明可以在没有一些或全部这些具体细节的情况下根据权利要求来实践。为清楚起见,没有详细描述与本发明相关的技术领域中已知的技术材料,以免不必要地模糊本发明。

图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)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、数据中心的存储装置、能够在无线环境中接收和传送信息的装置、射频识别(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可以被如此集成以配置:个人计算机(PC)存储卡国际协会(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)的请求而操作,并且特别地,存储待由主机装置访问的数据。存储器控制器100可以被称为控制器100,半导体存储器装置200可以被称为存储器装置200,并且主机装置可以被称为主机。

存储器装置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、错误校正码(ECC)组件130、主机接口(I/F)140和存储器接口(I/F)150,其中控制组件120可以被实施为诸如中央处理单元(CPU)的处理器。

存储装置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可以通过输入/输出电路270,将从外部装置(例如,图1的存储器控制器100)接收的命令和地址传送至控制电路220,将来自外部装置的数据传送至列解码器260,或将来自列解码器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闪速存储器。

在诸如固态驱动器(SSD)的存储器系统中,用于存储在存储器装置中的数据可以通过不同通道横跨不同管芯和/或不同平面而条带化(stripe)。对于这种处理,可以生成包括横跨不同通道、管芯和可能不同平面、具有相同块索引的物理块的超级块。

图4是示出根据实施例的存储器装置200中的超级存储块的概念的示图。

参照图4,存储器装置200可以包括多个管芯。多个管芯中的每一个可以包括多个平面。多个平面中的每一个可以包括多个存储块。

存储器装置200包括多个存储块BLOCK000至BLOCK00N、BLOCK010至BLOCK01N、BLOCK100至BLOCK10N以及BLOCK110至BLOCK11N。

存储器装置200包括能够通过第零通道CH0接收并输出数据的第零存储器管芯DIE0和能够通过第一通道CH1接收并输出数据的第一存储器管芯DIE1。第零通道CH0和第一通道CH1可以以交错方案接收并输出数据。

第零存储器管芯DIE0包括能够通过共用第零通道CH0来以交错方案接收并输出数据的、分别与例如WAY0和WAY1的多个通路对应的例如PLANE00和PLANE01的多个平面。

第一存储器管芯DIE1包括能够通过共用第一通道CH1来以交错方案接收并输出数据的、分别与例如WAY2和WAY3的多个通路对应的例如PLANE10和PLANE11的多个平面。

第零存储器管芯DIE0的第一平面PLANE00包括所有多个存储块之中的设定或预定数量的存储块BLOCK000至BLOCK00N。

第零存储器管芯DIE0的第二平面PLANE01包括所有多个存储块之中的设定或预定数量的存储块BLOCK010至BLOCK01N。

第一存储器管芯DIE1的第一平面PLANE10包括所有多个存储块之中的设定或预定数量的存储块BLOCK100至BLOCK10N。

第一存储器管芯DIE1的第二平面PLANE11包括所有多个存储块之中的设定或预定数量的存储块BLOCK110至BLOCK11N。

以此方式,存储器装置200的多个存储块可以根据物理位置而被划分,使得相同平面中的块使用相同通路并且相同管芯中的块使用相同通道。

虽然在图4中示出存储器装置200包括两个管芯,管芯中的每一个包括两个平面,但这仅仅是示例。存储器装置200可以基于设计和操作考虑而配置有任意合适数量的管芯,并且每个存储器管芯中的平面的数量同样可以与图4所示的示例中的不同。当然,每个平面中的设定或预定数量的存储块也可以根据设计和操作考虑而不同。

可选地,控制器100不是根据物理位置对存储块进行划分,而是可以根据存储块的同时选择和操作来对存储块进行划分。也就是说,控制器100可以通过将能够被同时选择的存储块分组从而将多个存储块划分为超级存储块来管理多个存储块。

根据设计考虑,控制器100可以根据各种方案将多个存储块分组或划分为超级存储块。本文描述三个示例性方案。

根据第一方案,控制器100可以通过将第零存储器管芯DIE0的第一平面PLANE00中的一个存储块BLOCK000和第零存储器管芯DIE0的第二平面PLANE01中的一个存储块BLOCK010分组而在存储器装置200中生成并管理一个超级存储块A1。而且,控制器100可以通过将第一平面PLANE10中的一个存储块BLOCK100和第二平面PLANE11中的一个存储块BLOCK110分组来生成并管理另一超级存储块A2。

根据第二方案,控制器100可以生成并管理包括第零存储器管芯DIE0的第一平面PLANE00中的存储块BLOCK002和第一存储器管芯DIE1的第一平面PLANE10中的一个存储块BLOCK102的一个超级存储块B1。而且,控制器100可以通过将第零存储器管芯DIE0的第二平面PLANE01中的一个存储块BLOCK012和第一存储器管芯DIE1的第二平面PLANE11中的一个存储块BLOCK112分组来生成并管理另一超级存储块B2。因此,第一方案将来自相同管芯中的两个不同平面的两个存储块分组为超级块,而第二方案将来自不同管芯中的每一个的一个块分组为超级块。任何一种方案的方法都可以扩展成适用于两个以上管芯以及管芯中两个以上平面的布置。

根据第三方案,控制器100可以通过将第零存储器管芯DIE0的第一平面PLANE00中的一个存储块BLOCK001、第零存储器管芯DIE0的第二平面PLANE01中的一个存储块BLOCK011、第一存储器管芯DIE1的第一平面PLANE10中的一个存储块BLOCK101以及第一存储器管芯DIE1的第二平面PLANE11中的一个存储块BLOCK111分组来生成并管理一个超级存储块C。因此,根据第三方案,来自每个管芯中的每个平面的两个块被分组以形成超级块。第三方案也可以扩展成适用于更复杂的管芯/平面布置。

通常,存储装置制造公司必须确保其存储装置,诸如固态驱动器(SSD),能够满足针对各存储装置的寿命的各规范中的所有要求。如果特定存储装置偏离其规范,则客户或用户可以认为此装置到达其寿命末端(EOL)并替换此装置。在企业级SSD中,服务质量(QoS)被视为EOL限制因素。当企业级SSD接近其EOL时,大多数客户或用户将认为QoS违规。QoS要求被定义为待完成并返回到主机的不同百分比的读取命令和/或写入命令的最大延迟。诸如90%、99%或99.9%的低9的要求通常被称为低9QoS要求。低9的延迟通常由默认读取、历史读取和高优先级读取重试读取的失败概率确定。失败概率取决于错误校正码(ECC)引擎和存储器装置(例如,NAND)的失效位(FB)分布。虽然ECC引擎不改变SSD的寿命,但FB分布可能根据SSD的操作条件而显著缩短SSD的寿命。

因此,本发明的实施例提供了一种通过优化读取阈值而控制存储器装置的FB分布来提高诸如SSD的存储装置的QoS的方案。在各个实施例中,一次或多次默认读取、一次或多次历史读取以及一次或多次读取重试的读取阈值可以包含在读取级别表(RLT)中并且统称为RLT。各个实施例提供了在运行中优化RLT的方案。

图5是示出根据本发明的实施例的存储器系统的示图。

参照图5,存储器系统可以包括控制组件120、存储器装置200和存储器500。例如,图5的控制组件120、存储器装置200和存储器500可以被实施为图2中所示的存储器系统10的组件。换言之,控制组件120和存储器500可以是图2中的控制器100的组件。

存储器500可以包括读取阈值集R,该读取阈值集R包括多个读取阈值,例如k个读取阈值RRT0至RRT(k-1)。

控制组件120可以包括固件(FW)。固件可以维持每个超级块的读取级别表(RLT)。因此,不同的超级块可以运行相同的方案并维持其自己的RLT版本。RLT可以包括多个条目,并且固件可以将默认读取视为RLT的第一条目、将历史读取视为RLT的第二条目、并且将第一读取重试视为RLT的第三条目。RLT可以取决于超级块索引和诸如编程擦除计数(PEC)、单页面读取(SPRD)和保留(retention)的NAND条件。为了根据NAND条件优化并更新RLT,固件可以在后台安排一些测试读取。为了减少对读取性能和延迟的影响,测试读取可以与来自主机的正常读取(即,主机读取)以一定比率,例如1:1000交错。换言之,测试读取操作可以以低于正常读取操作的比率的比率交错。当存在主机读取命令时,固件可以确定所请求的数据位于哪个超级块中并且使用相应RLT来从存储器装置(例如,NAND)200读取数据。

在各个实施例中,控制组件120可以使用多个读取阈值条目对存储器装置的读取数据集执行测试读取操作,并且基于测试读取操作的结果确定多个读取阈值条目之中的好读取阈值条目。为了确定好读取阈值条目,控制组件120可以基于测试读取操作的结果在多个读取阈值条目之中选择最佳读取阈值条目,将读取数据集划分为由最佳读取阈值条目可解码的好数据集和由最佳读取阈值条目不可解码的坏数据集,并且将坏数据集设置为新读取数据集。

在各个实施例中,控制组件120可以通过使用除先前使用的最佳读取阈值条目之外的剩余读取阈值条目从新读取数据集读取数据来执行测试读取操作。

在各个实施例中,测试读取操作的结果可以包括读取数据集的失效位的数量。

在各个实施例中,读取数据集可以对应于从存储器装置的超级块选择的物理地址。

在各个实施例中,控制组件120可以进一步响应于来自主机的读取命令,使用好读取阈值条目对存储器装置执行正常读取操作。

图6A和图6B是示出根据本发明的实施例的用于管理读取级别表(RLT)的方法600的流程图。

参照图6A,方法600可以包括操作610和操作620。操作610可以包括使用多个读取阈值条目对存储器装置的读取数据集执行测试读取操作。操作620可以包括基于读取操作的结果确定多个读取阈值条目之中的好读取阈值条目。

在各个实施例中,方法600可以进一步包括响应于来自主机的读取命令,使用好读取阈值条目对存储器装置执行正常读取操作。

在各个实施例中,测试读取操作的各读取与正常读取操作的各读取以特定比率交错。也就是说,与正常读取相比,以较低百分比,例如以1:100的比率执行测试读取。

参照图6B,方法620可以包括操作622、操作624和操作626。操作622可以包括基于测试读取操作的结果在多个读取阈值条目之中选择最佳读取阈值条目。操作624可以包括将读取数据集划分为由最佳读取阈值条目可解码的好数据集和由最佳读取阈值条目不可解码的坏数据集。操作626可以包括将坏数据集设置为新读取数据集。

在各个实施例中,操作610可以使用多个读取阈值条目之中的、除最佳读取阈值条目之外的剩余读取阈值条目从新读取数据集读取数据。

在各个实施例中,测试读取操作的结果包括读取数据集的失效位的数量。

在各个实施例中,读取数据集对应于从存储器装置的超级块选择的物理地址。

图7是示出根据本发明的实施例的读取级别表(RLT)的优化进程的示图。例如,优化进程可以由图5的控制组件120执行。

参照图7,可以针对存储器装置(例如,NAND)的每个超级块定义包括不同读取阈值,例如RRT0至RRT49的读取阈值集R。

可以从读取阈值集R优化读取级别表(RLT)。换言之,RLT可以是读取阈值集R={RRT0,RRT1,...,RRT49}的子集。例如,优化RLT可以包括从集R识别5个最佳RRT。最优性可以由RRT的失效位(FB)计数来定义,失效位(FB)计数越小越好。优化进程可以通过以下所示的步骤执行:

Figure BDA0002140460100000161

在步骤0中,对于每个超级块,控制组件120可以将与测试读取相关联的存储器装置的物理地址对应的数据集D设置为总测试集S。集S可以是预定义的或在运行中判定。因此,可以定义读取数据集D。此外,控制组件120可以将变量i设置为零(0)。

在步骤1中,控制组件120可以使用读取阈值集R中的RRT顺序地从读取数据集D读取数据。

在步骤2中,控制组件120可以识别读取阈值集R中的最佳RRT条目,并且将最佳RRT条目定义为RLT(i)。

在步骤3中,控制组件120可以将读取数据集D划分为好集G(i)和坏集B(i)。好集是指使用RLT(i)可解码的D的子集。坏集是指使用RLT(i)不可解码的D的子集。而且,控制组件120可以将坏集B(i)设置为新读取数据集,即D=B(i)。此外,控制组件120可以将除最佳RRT条目RLT(i)之外的读取阈值集设置为新读取阈值集,即R=R-RLT(i)。此外,控制组件120可以增大变量,即i=i+1。

在步骤4中,控制组件120可以确定读取数据集D是否为空。如果读取数据集D为空,则控制组件120可以进行至步骤0。如果读取数据集D不为空,则控制组件120可以进行至步骤1。可以迭代地执行上述步骤直到变量i=5为止。

在图7中,通过示例的方式,示出了基于FB计数从集R的50个RRT选择两个最佳RRTRRT2和RRT1。换言之,首先,因为与RRT2对应的FB计数FB2在分别与50个RRT对应的FB计数FB0至FB49之中最低,所以RRT2被选择为50个RRT之中的最佳RRT。在这种情况下,当使用RRT2解码读取数据时,解码成功的概率可以是1-p0并且解码失败的概率可以是p0。接下来,因为与RRT1对应的FB计数FB1在分别与49个RRT对应的FB计数FB0、FB1、FB3至FB49之中最低,所以RRT1被选择为剩余49个RRT(即,除RRT2之外)之中的最佳RRT。在这种情况下,当使用RRT1解码读取数据时,解码成功的概率可以是1-p1并且解码失败的概率可以是p1。注意的是,当NAND质量好时,读取数据集D可以为空,并且该进程可能无法找到集R中的所有5个RRT条目。这是可接受的,因为前几个条目可以确保数据可以被成功解码。在这种情况下,如上所述,进程返回至步骤0,并且重复直到NAND质量劣化到D变为非空的级别。

如上所述,根据实施例的控制器可以执行在线读取级别表优化以提高诸如SSD的存储器系统的QoS。优化方案适应NAND质量在其寿命期间的变化,并且确保在装置的整个寿命期间的QoS。

虽然出于清楚和理解的目的,已经在一些细节上说明并描述了前述实施例,但是本发明不限于所提供的细节。如本领域技术人员根据前述公开内容将理解的是,存在许多实施本发明的替代方式。因此,所公开的实施例是说明性的而非限制性的。本发明旨在涵盖落入权利要求的范围内的所有修改方案和替换方案。

20页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:存储器件及其测试电路

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!