一种SSD中优化NAND Flash读参考电压的方法技术

技术编号:24253168 阅读:18 留言:0更新日期:2020-05-23 00:26
本发明专利技术公开一种SSD中优化NAND Flash读参考电压的方法,本方法首先确定影响NAND Flash读参数的影响因素,然后对确认的影响因素进行区间划分,选取一定数量的block作为样本进行测试,写入随机数据,根据划分的影响因素区间,在不同类型组合情况下对数据进行校验,找到每个PT的最优读参数,基于最优读参数对应的影响因素生成读参数列表并保存到DDR的指定位置,读取数据时,根据需要读取的数据所在block的情况定位到DDR中读参数列表的对应位置,然后使用读参数列表中保存的最优读参数去读取该block中的page。本发明专利技术能减少ECC错误发生的概率,从而保证SSD的读性能的稳定。

A method of optimizing NAND FLASH read reference voltage in SSD

【技术实现步骤摘要】
一种SSD中优化NANDFlash读参考电压的方法
本专利技术NANDFlash测试领域,具体的说,是一种SSD中优化NANDFlash读参考电压的方法。
技术介绍
SSD广泛应用于消费级和企业级存储中,目前绝大多数的SSD使用NANDFlash作为存储介质,但是由于NANDFlash的物理结构决定了保存在里面的数据会发生位翻转,从而影响保存数据的正确性。SSD中普遍使用BCH或者LDPC作为ECC编码进行数据纠错处理,然而如果发生错误的bits过多,纠错算法将无法完成数据纠错,我们通常称之为发生ECC错误。发生ECC错误之后需要进行一系列的错误恢复处理,这就可能会严重影响SSD的读性能。每次读取NANDFlash发送Read命令时要配合给出一组参数,这组参数对应NANDFlash内部的读参考电压,读参考电压影响读性能。影响NANDFlash内部的读参考电压的这组参数称为NANDFlash读参数,可以通过实验确定读性能最佳时对应的NANDFlash读参数,从而优化NANDFlash读参考电压。
技术实现思路
本专利技术要解决的技术问题是提供一种SSD中优化NANDFlash读参考电压的方法,根据NANDFlash所处的状态,使用特定读参数进行NANDFlashread,提升数据读取的稳定性,减少ECC错误发生的概率,从而保证SSD的读性能的稳定。为了解决所述技术问题,本专利技术采用的技术方案是:一种SSD中优化NANDFlash读参考电压的方法,包括以下步骤:S01)、确定影响NANDFlash读参数的影响因素包括页类型PT、磨损次数PE、block读取次数BR、数据存储时间DR和温度变化Tcross;S02)、对步骤S01确认的影响因素进行区间划分,页类型PT分别为LowerPage、MiddlePage、UpperPage,编号分别为PT(0)、PT(1)、PT(2),将磨损次数PE从0开始以1000次为间隔划分为m个区间,编号分别为PE(0)、PE(1)···PE(m),将block读取次数BR从0开始以500个BlockRead为间隔划分为n个区间,编号分别为BR(0)、BR(1)···BR(n),将数据存储时间DR从0天开始以10天为间隔划分为k个区间,编号分别为DR(0)、DR(1)···DR(k),温度变化Tcross分别T1和T2,T1为数据写入时的温度,T2为数据读取时的温度;S03)、选取一定数量的block作为样本进行测试,写入随机数据,根据步骤S02划分的影响因素区间,在不同类型组合情况下对数据进行校验,找到每个PT的最优读参数,基于最优读参数对应的影响因素生成读参数列表,将最终生成的读参数列表保存到DDR的指定位置;S04)、完成读参数列表保存之后,在从SSD读取数据时,根据需要读取的数据所在block的PE、BR、DR、Tcross情况定位到DDR中读参数列表的对应位置,然后使用读参数列表中保存的最优读参数去读取该block中的page。进一步的,步骤S03具体为:S31)、判断磨损次数编号是否达到最大,如果不是则通过循环写入并擦除数据使磨损次数编号达到下一个区间的编号,然后在温度T1下写入需要校验的数据,设置PT为LowerPage后执行步骤S32,如果是则结束整个过程;S32)、在温度T2下使用shiftread方式读取数据并校验,直至读取到的数据错误位数小于阈值,记录当前shiftread输入参数到DDR指定位置,判断BlockRead次数是否达到BR(n)中的最大次数,如果没有执行步骤S33,如果达到执行步骤S34;S33)、重复读取当前Block,直至BlockRead次数分阶段达到BR(n)中的最大次数,然后执行步骤S34;S34)、判断DR是否达到DR(k)中的最大时间,如果达到执行步骤S36,如果没有执行步骤S35;S35)、分阶段进行静置处理,直至达到DR(k)中的最大时间,然后执行步骤S32;S36)、判断PT类型是否为UpperPage,如果不是设置PT为下一类型,执行步骤S32;如果是执行步骤S31。进一步的,步骤S04中SSD的读取过程具体为:S41)、根据读取数据所在的block访问DDR,获取该block所处的状态信息,如果获取成功,执行步骤S42,如果不成功重复步骤S41;S42)、根据block信息中保存的PE、BR、DR、当前NAND温度以及需要读取页的PT类型计算出保存最优读参数DDR地址,并访问DDR获取最优读参数,如果获取成功执行步骤S43,如果获取失败,重复步骤S42;S43)、使用获取到的最优读参数读取内容,然后结束流程。进一步的,最大磨损次数为7000,将磨损次数分别7个区间,区间编号分别为PE(0)至PE(6)。进一步的,最大Block读读次数BR为1000,将Block读取次数分为2个区间,区间编号分别为BR(0)、BR(1)。进一步的,数据存储时间DR设置为10-90天。进一步的,T1为40°C,T2为70°C。进一步的,本方法用于3DTLCNANDFlash。本方法的有益效果:本方法充分考虑磨损次数、读取次数、数据保存时间、温度变化等因素对NAND特性的影响,同时充分考虑了减少SSD中DDR空间占用,将各种影响因子进行科学分组,测量出不同状况组合下的优化读取电压参数,有效的提升了数据读取时的稳定性,减少ECC错误发生的概率,保证了SSD性能的稳定。附图说明图1为获取读参数列表的流程图;图2为读取数据的流程图。具体实施方式下面结合附图和具体实施例对本专利技术作进一步的说明。实施例1NANDFlashRead操作有NormalRead和ShiftRead两种方式,本实施例使用ShiftRead方式读取NANDFlash,每次读取NANDFlash发送Read命令时要配合给出一组参数,这组参数对应NANDFlash内部的读参考电压,NANDFlashShiftRead参数通常会有多组,本实施例的主要目的是获取当前NANDFlash地址对应的一组优化读参数,减少ECC错误的发生的概率。考虑到目前3DTLCNANDFlash的大量应用,本实施例以3DTLCNANDFlash为例进行说明。获取最优参数需要进行大量的NANDFlash测试,测试需要考虑的主要因素有页类型(PT)、磨损情况(PE)、Block读取次数(BR)、数据存储时间(DR)和温度变化(Tcross)。测试得到的数据内容称为读参数列表(RT),需要保存到SSD上的DDR中。因为影响NANDFlash存储数据稳定性的因素都是线性变化,从节省DDR空间的角度出发,SSD中难以做到保存每个变化因子对应的RT,但是为了测试得到的RT要尽量准确,我们根据测试数据情况,对测试影响因素进行选择并划分区间,划分区间之后,极大的降低了RT的DDR空间占用。最终根据变化因子所在的区间记录对应的RT。具体的,本方法包括以下步骤:S01)、确本文档来自技高网...

【技术保护点】
1.一种SSD中优化NAND Flash读参考电压的方法,其特征在于:包括以下步骤:S01)、确定影响NAND Flash读参数的影响因素包括页类型PT、磨损次数PE、block读取次数BR、数据存储时间DR和温度变化Tcross;S02)、对步骤S01确认的影响因素进行区间划分,页类型PT分别为Lower Page、Middle Page、Upper Page,编号分别为PT(0) 、PT(1)、PT(2),将磨损次数PE从0开始以1000次为间隔划分为m个区间,编号分别为PE(0)、PE(1)···PE(m),将block读取次数BR从0开始以500个Block Read为间隔划分为n个区间,编号分别为BR(0)、BR(1)···BR(n),将数据存储时间DR从0天开始以10天为间隔划分为k个区间,编号分别为DR(0)、DR(1)···DR(k),温度变化Tcross分别T1和T2,T1为数据写入时的温度,T2为数据读取时的温度;S03)、选取一定数量的block作为样本进行测试,写入随机数据,根据步骤S02划分的影响因素区间,在不同类型组合情况下对数据进行校验,找到每个PT的最优读参数,基于最优读参数对应的影响因素生成读参数列表,将最终生成的读参数列表保存到DDR的指定位置;S04)、完成读参数列表保存之后,在从SSD读取数据时,根据需要读取的数据所在block的PE、BR、DR、Tcross情况定位到DDR中读参数列表的对应位置,然后使用读参数列表中保存的最优读参数去读取该block中的page。/n...

【技术特征摘要】
1.一种SSD中优化NANDFlash读参考电压的方法,其特征在于:包括以下步骤:S01)、确定影响NANDFlash读参数的影响因素包括页类型PT、磨损次数PE、block读取次数BR、数据存储时间DR和温度变化Tcross;S02)、对步骤S01确认的影响因素进行区间划分,页类型PT分别为LowerPage、MiddlePage、UpperPage,编号分别为PT(0)、PT(1)、PT(2),将磨损次数PE从0开始以1000次为间隔划分为m个区间,编号分别为PE(0)、PE(1)···PE(m),将block读取次数BR从0开始以500个BlockRead为间隔划分为n个区间,编号分别为BR(0)、BR(1)···BR(n),将数据存储时间DR从0天开始以10天为间隔划分为k个区间,编号分别为DR(0)、DR(1)···DR(k),温度变化Tcross分别T1和T2,T1为数据写入时的温度,T2为数据读取时的温度;S03)、选取一定数量的block作为样本进行测试,写入随机数据,根据步骤S02划分的影响因素区间,在不同类型组合情况下对数据进行校验,找到每个PT的最优读参数,基于最优读参数对应的影响因素生成读参数列表,将最终生成的读参数列表保存到DDR的指定位置;S04)、完成读参数列表保存之后,在从SSD读取数据时,根据需要读取的数据所在block的PE、BR、DR、Tcross情况定位到DDR中读参数列表的对应位置,然后使用读参数列表中保存的最优读参数去读取该block中的page。


2.根据权利要求1所述的SSD中优化NANDFlash读参考电压的方法,其特征在于:步骤S03具体为:S31)、判断磨损次数编号是否达到最大,如果不是则通过循环写入并擦除数据使磨损次数编号达到下一个区间的编号,然后在温度T1下写入需要校验的数据,设置PT为LowerPage后执行步骤S32,如果是则结束整个过程;S32)、在温度T2下使用shiftread方式读取数据并校验,直至读取到的数据错误位数小于阈值,记录当前shiftread输入参数到DDR指定位置,判断BlockRead次数是否达到BR(n)中的最大次数,如果...

【专利技术属性】
技术研发人员:刘凯王璞曹成
申请(专利权)人:山东华芯半导体有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1