CN109933457A - 一种降低ssd误码率的数据编码方法及其*** - Google Patents

一种降低ssd误码率的数据编码方法及其*** Download PDF

Info

Publication number
CN109933457A
CN109933457A CN201910176784.6A CN201910176784A CN109933457A CN 109933457 A CN109933457 A CN 109933457A CN 201910176784 A CN201910176784 A CN 201910176784A CN 109933457 A CN109933457 A CN 109933457A
Authority
CN
China
Prior art keywords
data
ssd
bit
unit
error rate
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
CN201910176784.6A
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.)
Shenzhen Union Memory Information System Co Ltd
Original Assignee
Shenzhen Union Memory Information System Co Ltd
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 Shenzhen Union Memory Information System Co Ltd filed Critical Shenzhen Union Memory Information System Co Ltd
Priority to CN201910176784.6A priority Critical patent/CN109933457A/zh
Publication of CN109933457A publication Critical patent/CN109933457A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Error Detection And Correction (AREA)

Abstract

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

Description

一种降低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所处的状态,进而可得知其存储的值;当某个物理块中的某些页反复被读取时,会导致Read Disturb(读取扰动)效应,整体电压分布会右移,此时部分状态的电压分布会出现重合,使用默认的参考电压读取时,无法正确判断Cell的状态;此时需要尝试调整参考电压的位置到Vref_A’/Vref_B’/Vref_C’,尝试读取数据;该尝试过程会导致读性能的降低,并且如果电压偏移过大,则可能无法找到合适的参考电压,进而无法获取正确的数据。
在现有的SSD产品中,NAND的数据存储是靠Cell不同状况来进行的,以MLC为例,每个Cell对应两个bit,可以分别编程为0/1,组合起来即可表示00,01,10,11四个值,而这四个值可关联到不同的电压分布;数据的读取,是靠不同电压分布中的参考电压进行比较来判别数据为0还是1的;当数据写入后,一般都会将数据随机化,使得各个电压范围内的cell数量一致;并且在早期,各个电压分布之间的间隔很大,可以很容易区分0/1,所以数据总能正确地读取;但在某些场景下,例如对于反复读取的数据来说,由于Read Disturb的问题,导致物理块内的电压分布右移。这种情形下,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上的数据值,即可改变Cell的电压分布,从而使得电压偏移后,重叠区域较小,进而降低了数据错误率。
如图8所示,本发明公开了一种降低SSD误码率的数据编码***,包括:输入单元10,分段单元20,***单元30,调整单元40,及写入单元50;
所述输入单元10,用于将数据输入到原始数据;
所述分段单元20,用于将数据按照设定的规则进行分段;
所述***单元30,用于根据调整规则,在每个数据段前面***控制位;
所述调整单元40,用于根据控制位对源数据进行调整;
所述写入单元50,用于将调制后的数据写入NAND。
其中,所述输入单元10中,所述数据的每两个bit代表一个cell的状态,从而映射到一个物理页中的Cell电压分布。
其中,所述分段单元20中,所述设定的规则为以4个bit,即2个Cell的值,将数据进行分段。
其中,所述***单元30中,所述调整规则为1代表该数据段数据将会被取反,0代表保持不变。
其中,所述调整单元40中,所述调整将控制位为1的数据段按位取反。
本发明通过在原始数据中***控制位的方式动态调节每个数据段的0/1分布,改变NAND Cell在不同电压区间的分布;在读取时根据控制位的标记,进行相应的数据翻转控制,恢复源数据;通过改变NAND Cell在容易出错的相邻电压区间的分布,降低了因为电压偏移导致的误码率。
综上所述,本发明针对容易出错的电压分布区域,通过动态调节数据编码的方式,改变NAND Cell在不同电压区间的分布,降低了容易出错的电压区间的Cell分布,进而降低数据出错的概率,能够更好地满足需求。
上述仅以实施例来进一步说明本发明的技术内容,以便于读者更容易理解,但不代表本发明的实施方式仅限于此,任何依本发明所做的技术延伸或再创造,均受本发明的保护。本发明的保护范围以权利要求书为准。

Claims (10)

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误码率的数据编码***,其特征在于,包括:输入单元,分段单元,***单元,调整单元,及写入单元;
所述输入单元,用于将数据输入到原始数据;
所述分段单元,用于将数据按照设定的规则进行分段;
所述***单元,用于根据调整规则,在每个数据段前面***控制位;
所述调整单元,用于根据控制位对源数据进行调整;
所述写入单元,用于将调制后的数据写入NAND。
7.根据权利要求6所述的一种降低SSD误码率的数据编码***,其特征在于,所述输入单元中,所述数据的每两个bit代表一个cell的状态,从而映射到一个物理页中的Cell电压分布。
8.根据权利要求6所述的一种降低SSD误码率的数据编码***,其特征在于,所述分段单元中,所述设定的规则为以4个bit,即2个Cell的值,将数据进行分段。
9.根据权利要求6所述的一种降低SSD误码率的数据编码***,其特征在于,所述***单元中,所述调整规则为1代表该数据段数据将会被取反,0代表保持不变。
10.根据权利要求6所述的一种降低SSD误码率的数据编码***,其特征在于,所述调整单元中,所述调整将控制位为1的数据段按位取反。
CN201910176784.6A 2019-03-08 2019-03-08 一种降低ssd误码率的数据编码方法及其*** Pending CN109933457A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910176784.6A CN109933457A (zh) 2019-03-08 2019-03-08 一种降低ssd误码率的数据编码方法及其***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910176784.6A CN109933457A (zh) 2019-03-08 2019-03-08 一种降低ssd误码率的数据编码方法及其***

Publications (1)

Publication Number Publication Date
CN109933457A true CN109933457A (zh) 2019-06-25

Family

ID=66986572

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910176784.6A Pending CN109933457A (zh) 2019-03-08 2019-03-08 一种降低ssd误码率的数据编码方法及其***

Country Status (1)

Country Link
CN (1) CN109933457A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1430362A (zh) * 2001-10-31 2003-07-16 三星电子株式会社 移动通信***中用于分组重发的方法和发送/接收设备
CN102611951A (zh) * 2012-03-12 2012-07-25 东南大学 用于降低以太网无源光网络物理层集成电路***功耗的方法
EP2890016A1 (en) * 2013-12-30 2015-07-01 Alcatel Lucent Ldpc encoder and decoder
CN106547487A (zh) * 2016-10-21 2017-03-29 华中科技大学 一种提高闪存可靠性的数据塑型方法
CN107682020A (zh) * 2017-10-26 2018-02-09 北京邮电大学 一种基于Turbo码的编码、解码方法及装置
CN108141320A (zh) * 2015-10-23 2018-06-08 摩托罗拉移动有限责任公司 随机线性网络编码数据传输
CN109116211A (zh) * 2018-07-03 2019-01-01 福州大学 一种测试激励分段及编码方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1430362A (zh) * 2001-10-31 2003-07-16 三星电子株式会社 移动通信***中用于分组重发的方法和发送/接收设备
CN102611951A (zh) * 2012-03-12 2012-07-25 东南大学 用于降低以太网无源光网络物理层集成电路***功耗的方法
EP2890016A1 (en) * 2013-12-30 2015-07-01 Alcatel Lucent Ldpc encoder and decoder
CN108141320A (zh) * 2015-10-23 2018-06-08 摩托罗拉移动有限责任公司 随机线性网络编码数据传输
CN106547487A (zh) * 2016-10-21 2017-03-29 华中科技大学 一种提高闪存可靠性的数据塑型方法
CN107682020A (zh) * 2017-10-26 2018-02-09 北京邮电大学 一种基于Turbo码的编码、解码方法及装置
CN109116211A (zh) * 2018-07-03 2019-01-01 福州大学 一种测试激励分段及编码方法

Similar Documents

Publication Publication Date Title
US9141475B2 (en) Methods for tag-grouping of blocks in storage devices
CN103577342B (zh) 管理闪存中所储存的数据的方法及相关记忆装置与控制器
US8046645B2 (en) Bad block identifying method for flash memory, storage system, and controller thereof
US10613943B2 (en) Method and system for improving open block data reliability
US8510637B2 (en) Data reading method, memory storage apparatus and memory controller thereof
CN101573761B (zh) 具有可变读取阈值的非易失性存储器
US9189313B2 (en) Memory system having NAND-type flash memory and memory controller with shift read controller and threshold voltage comparison module
US8055834B2 (en) Method for preventing read-disturb happened in non-volatile memory and controller thereof
US20100180145A1 (en) Data accessing method for flash memory, and storage system and controller system thereof
US7979737B2 (en) Method for accessing a Flash memory, and associated memory device and controller thereof
CN101599305B (zh) 具有数据修复功能的储存***及其数据修复方法
CN107608628A (zh) 闪存控制器
CN101494085B (zh) 防止非易失性存储器发生读取干扰的方法及其控制器
TW201539455A (zh) 資料儲存方法、記憶體控制電路單元與記憶體儲存裝置
KR20080069822A (ko) 멀티레벨 셀 플래시 메모리를 갖는 메모리 시스템 및그것의 프로그램 방법
CN103955430A (zh) 一种闪存存储设备中数据管理的方法及装置
CN102543196B (zh) 数据读取方法、存储器储存装置及其控制器
US20130019049A1 (en) Block management method, memory controller and memory stoarge apparatus
US20110138254A1 (en) Method for reducing uncorrectable errors of a memory device regarding error correction code, and associated memory device and controller thereof
CN102693758B (zh) 数据读取方法、存储器储存装置及其存储器控制器
CN104699413A (zh) 数据管理方法、存储器存储装置及存储器控制电路单元
US11068201B2 (en) Flash memory controller, method for managing flash memory module and associated electronic device
CN112347001B (zh) 闪存垃圾回收的校验方法、装置及电子设备
CN102880432A (zh) 利用数据有限寿命提高闪存芯片写入速度的方法、***及其控制器
CN109669641B (zh) 降低ssd误码率的数据存放方法及装置

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190625