一种降低SSD误码率的数据编码方法及其系统技术方案

技术编号:21453705 阅读:18 留言:0更新日期:2019-06-26 04:42
本发明专利技术涉及一种降低SSD误码率的数据编码方法及其系统;其中,降低SSD误码率的数据编码方法,包括以下步骤:S1,将数据输入到原始数据;S2,将数据按照设定的规则进行分段;S3,根据调整规则,在每个数据段前面插入控制位;S4,根据控制位对源数据进行调整;S5,将调制后的数据写入NAND。本发明专利技术针对容易出错的电压分布区域,通过动态调节数据编码的方式,改变NAND Cell在不同电压区间的分布,降低了容易出错的电压区间的Cell分布,进而降低数据出错的概率,能够更好地满足需求。

【技术实现步骤摘要】
一种降低SSD误码率的数据编码方法及其系统
本专利技术涉及固态硬盘读设计
,更具体地说是指一种降低SSD误码率的数据编码方法及其系统。
技术介绍
SSD(固态硬盘)已经被广泛应用于各种场合,由于其在性能、功耗、环境适应性等方面的优秀指标,正逐步替换传统的硬盘。由于NAND的物理特性,其存储数据的CELL单元存在不同的失效场景:例如随着擦写次数/读取次数/数据保存时间等因素的影响,其CELL的状态会产生翻转,进而导致NAND内存储的数据出错。典型地,SSD内部由专门的ECC纠错算法来处理一定范围内的错误,但是随着错误数据的积累,会需要引入特定的电压偏移的方式来读取数据,这会极大地影响读写性能;进一步地,随着错误数据的增加,以上的方法无法再保证数据纠错,进而导致用户数据丢失,因此无法满足需求。
技术实现思路
本专利技术的目的在于克服现有技术的缺陷,提供一种降低SSD误码率的数据编码方法及其系统。为实现上述目的,本专利技术采用于下技术方案:一种降低SSD误码率的数据编码方法,包括以下步骤:S1,将数据输入到原始数据;S2,将数据按照设定的规则进行分段;S3,根据调整规则,在每个数据段前面插入控制位;S4,根据控制位对源数据进行调整;S5,将调制后的数据写入NAND。其进一步技术方案为:所述S1中,所述数据的每两个bit代表一个cell的状态,从而映射到一个物理页中的Cell电压分布。其进一步技术方案为:所述S2中,所述设定的规则为以4个bit,即2个Cell的值,将数据进行分段。其进一步技术方案为:所述S3中,所述调整规则为1代表该数据段数据将会被取反,0代表保持不变。其进一步技术方案为:所述S4中,所述调整将控制位为1的数据段按位取反。一种降低SSD误码率的数据编码系统,包括:输入单元,分段单元,插入单元,调整单元,及写入单元;所述输入单元,用于将数据输入到原始数据;所述分段单元,用于将数据按照设定的规则进行分段;所述插入单元,用于根据调整规则,在每个数据段前面插入控制位;所述调整单元,用于根据控制位对源数据进行调整;所述写入单元,用于将调制后的数据写入NAND。其进一步技术方案为:所述输入单元中,所述数据的每两个bit代表一个cell的状态,从而映射到一个物理页中的Cell电压分布。其进一步技术方案为:所述分段单元中,所述设定的规则为以4个bit,即2个Cell的值,将数据进行分段。其进一步技术方案为:所述插入单元中,所述调整规则为1代表该数据段数据将会被取反,0代表保持不变。其进一步技术方案为:所述调整单元中,所述调整将控制位为1的数据段按位取反。本专利技术与现有技术相比的有益效果是:针对容易出错的电压分布区域,通过动态调节数据编码的方式,改变NANDCell在不同电压区间的分布,降低了容易出错的电压区间的Cell分布,进而降低数据出错的概率,能够更好地满足需求。下面结合附图和具体实施例对本专利技术作进一步描述。附图说明图1为NAND的物理组成示意图;图2为现有技术中NAND在一般场景下的电压分布示意图;图3为现有技术中NAND在电压右移后分布示意图;图4为本专利技术一种降低SSD误码率的数据编码方法的流程图;图5为一种降低SSD误码率的数据编码方法的应用示意图;图6为调整后的电压分布示意图;图7为写入NAND后,电压右移后分布示意图;图8为本专利技术一种降低SSD误码率的数据编码系统的方框图。10输入单元20分段单元30插入单元40调整单元50写入单元具体实施方式为了更充分理解本专利技术的
技术实现思路
,下面结合具体实施例对本专利技术的技术方案进一步介绍和说明,但不局限于此。如图1到图8所示的具体实施例,其中,如图1所示,典型的NAND组成如下:DIE,可独立并发操作的单元;Block,可独立擦除的单元,其内各个物理位置的数据写入后在下一次写之前必须要将整个Block擦除;Page,读写单元,同一物理块内的Page必需按顺序编程:0->1->2->3…。其中,如图2至图3所示,NAND在各个场景下的电压分布:以MLC(闪存)为例,每个CELL对应四个可能的状态:A/B/C/D,其中A为默认的擦除后的状态,B/C/D,分别为Program到某个状态;一般情形下,处于某个状态下的Cell数量呈正态分布,且彼此之间间隔比较清晰;在读取时,通过与Vref_A/Vref_B/Vref_C参考电压的比较,即可确认某个Cell所处的状态,进而可得知其存储的值;当某个物理块中的某些页反复被读取时,会导致ReadDisturb(读取扰动)效应,整体电压分布会右移,此时部分状态的电压分布会出现重合,使用默认的参考电压读取时,无法正确判断Cell的状态;此时需要尝试调整参考电压的位置到Vref_A’/Vref_B’/Vref_C’,尝试读取数据;该尝试过程会导致读性能的降低,并且如果电压偏移过大,则可能无法找到合适的参考电压,进而无法获取正确的数据。在现有的SSD产品中,NAND的数据存储是靠Cell不同状况来进行的,以MLC为例,每个Cell对应两个bit,可以分别编程为0/1,组合起来即可表示00,01,10,11四个值,而这四个值可关联到不同的电压分布;数据的读取,是靠不同电压分布中的参考电压进行比较来判别数据为0还是1的;当数据写入后,一般都会将数据随机化,使得各个电压范围内的cell数量一致;并且在早期,各个电压分布之间的间隔很大,可以很容易区分0/1,所以数据总能正确地读取;但在某些场景下,例如对于反复读取的数据来说,由于ReadDisturb的问题,导致物理块内的电压分布右移。这种情形下,NAND读取的默认电压都不能正确读回正确数据,需要尝试移动Vref电压来读取数据,大大降低了读性能;进一步地,当电压偏移较大时,使得数据不可纠错,从而导致数据丢失。如图4至图7所示,本专利技术公开了一种降低SSD误码率的数据编码方法,包括以下步骤:S1,将数据输入到原始数据;S2,将数据按照设定的规则进行分段;S3,根据调整规则,在每个数据段前面插入控制位;S4,根据控制位对源数据进行调整;S5,将调制后的数据写入NAND。其中,在所述S1中,所述数据的每两个bit代表一个cell的状态,从而映射到一个物理页中的Cell电压分布。其中,在所述S2中,所述设定的规则为以4个bit,即2个Cell的值,将数据进行分段。其中,在所述S3中,所述调整规则为1代表该数据段数据将会被取反,0代表保持不变。其中,在所述S4中,所述调整将控制位为1的数据段按位取反。其中,通过上述的方法,降低了容易出错的B:01状态的Cell分布,通过降低了原始数据中的01值,在写入NAND后,B状态的Cell分布大大减少;当发生电压偏移后,容易出错的B状态与C状态的重叠部分大大降低,进而降低了数据不可纠的概率。相应地,当读取数据时,按照固定的数据段以及控制位信息,进行相应的数据翻转,然后再ECC(错误检查和纠正)解码。其中,在传统SSD中,在数据写入NAND之前都会进行随机化,使得类似MLC的四个电压分布为均等的。通过对NAND的失效模型进行分析后,可以看到某些区域比较容易出现电压分布的重合,而这些区域正是错误数据的来源;而本专利技术通过改变写入到NAND上的数据值,即本文档来自技高网
...

【技术保护点】
1.一种降低SSD误码率的数据编码方法,其特征在于,包括以下步骤:S1,将数据输入到原始数据;S2,将数据按照设定的规则进行分段;S3,根据调整规则,在每个数据段前面插入控制位;S4,根据控制位对源数据进行调整;S5,将调制后的数据写入NAND。

【技术特征摘要】
1.一种降低SSD误码率的数据编码方法,其特征在于,包括以下步骤:S1,将数据输入到原始数据;S2,将数据按照设定的规则进行分段;S3,根据调整规则,在每个数据段前面插入控制位;S4,根据控制位对源数据进行调整;S5,将调制后的数据写入NAND。2.根据权利要求1所述的一种降低SSD误码率的数据编码方法,其特征在于,所述S1中,所述数据的每两个bit代表一个cell的状态,从而映射到一个物理页中的Cell电压分布。3.根据权利要求1所述的一种降低SSD误码率的数据编码方法,其特征在于,所述S2中,所述设定的规则为以4个bit,即2个Cell的值,将数据进行分段。4.根据权利要求1所述的一种降低SSD误码率的数据编码方法,其特征在于,所述S3中,所述调整规则为1代表该数据段数据将会被取反,0代表保持不变。5.根据权利要求1所述的一种降低SSD误码率的数据编码方法,其特征在于,所述S4中,所述调整将控制位为1的数据段按位取反。6.一种降低SSD误码率的数据编码系统,其特征在于,包括:输...

【专利技术属性】
技术研发人员:王猛徐伟华
申请(专利权)人:深圳忆联信息系统有限公司
类型:发明
国别省市:广东,44

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

1