CN104575618B - 一种基于闪存错误校验的读写调制方法 - Google Patents
一种基于闪存错误校验的读写调制方法 Download PDFInfo
- Publication number
- CN104575618B CN104575618B CN201510014945.3A CN201510014945A CN104575618B CN 104575618 B CN104575618 B CN 104575618B CN 201510014945 A CN201510014945 A CN 201510014945A CN 104575618 B CN104575618 B CN 104575618B
- Authority
- CN
- China
- Prior art keywords
- read
- data
- write
- error rate
- reference 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.)
- Expired - Fee Related
Links
Landscapes
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种基于闪存错误校验的读写调制方法,使用LDPC错误校验码为中介,建立闪存读写延迟关系模型。基于该模型,对读写延迟的调制主要包括以下步骤:写请求根据性能需求和系统状态确定数据编程速度,即确定编程步幅电压ΔVpp。记录写入的数据页的步幅电压ΔVpp。读取数据时,根据读取的数据在编程时的ΔVpp,综合其它干扰因素,计算数据错误率。由于LDPC码的纠错能力与读取时的参考电压数目相关,根据计算出的错误率,选择能够保证纠错能力的最少参考电压数目,从而确保能够正确解码出数据,确定读取数据。本发明确定了读写延迟的关系,通过调节编程时ΔVpp来改变读请求的执行时间。另一方面,相对于传统LDPC解码从硬判决开始逐步增加参考电压数目的方式减少了读请求的执行时间。
Description
技术领域
本发明涉及闪存性能技术领域,特别是涉及一种基于闪存错误校验的读写延迟调制方法。
背景技术
由于良好的随机访问性能、低密度、低功耗等优点,基于闪存的固态硬盘已经逐步取代传统磁盘,成为重要的存储介质。近年来,闪存技术迅速发展,存储密度由单比特存储元发展到最近的多比特存储元,如6比特。制造工艺由65纳米展到最近的10纳米。这些发展使得闪存的存储密度快速增加,同时也使得闪存的可靠性大大降低,因此需要纠错能力更强的纠错码来正确编码和解码数据。
低密度奇偶校验码(LDPC)具有较强的纠错能力,被广泛应用于闪存存储系统。LDPC解码通过置信传播算法实现,分为硬判决解码和软判决解码。以两比特每存储元的多级闪存为例,如图1中所示,硬判决解码在闪存存储元相邻状态之间只有一个参考电压,通过一次读取对相邻两个状态进行区分。软判决如图2所示,概率信息获取需要多次读取,在相邻两个电压状态之间支持多级读取,读取出来的信息迭代进行解码。相邻两个电压状态之间的阈值区分电压越多,解码能支持的错误率越高。硬判决解码效率高,所需读取和解码时间短,但只能对错误率低的数据解码。软判决对多级读出的概率信息进行迭代计算和校验,直到校验的结果正确或者达到最大校验次数。软判决能对错误率更高的数据实现正确的解码,但需要更长的读取和解码时延。使用LDPC作为校验码时,读请求时间和错误率存在关联。另一方面,写数据时的编程速度,即ΔVpp很大程度上决定数据的错误率。因此,闪存中数据的读写速度之间可以根据错误率建立起关系。本发明就是基于LDPC的错误校验机制探究闪存的读写速度之间的联系。
闪存中以LDPC作为校验码,现有的读取操作方案是先采取LDPC硬判决解码,如果数据的错误率低,则校验成功。反之如果校验不成功,解码失败,再使用软判决进行解码。其中,软判决解码通过逐次增加相邻状态之间参考电压的数目,直到正确解码出信息。综上,现有的方法对数据的错误率未知,从硬判决到逐步增加参考电压数目的软判决,平均读取次数多,导致读请求完成时间长。
发明内容
为了克服上述现有方法的不足,本发明提供了一种基于闪存LDPC错误校验机制的读写调制方法。基于LDPC校验机制,本发明建立了读写速度之间的关系模型,并根据该模型,调整数据写入的速度从而改变数据的错误率。由此对该数据读取时的速度即可根据模型确定,用于调整读请求的执行。
首先是写请求的编程速度与错误率之间的关系。处理一个写请求的时间主要包括数据从控制器传入到页缓存和页缓存写入存储元(即编程操作)两部分。以页为单位对数据写入,一页数据在总线上传输的时间不变;写入数据页采用的方式是ISPP编程,通过逐步增加步幅电压来改变每一轮的编程电压,对存储元充电直到存储元达到预定的电压值大小。
对写操作,相同大小的数据页,传输时间是一个固定值;编程时间与步幅电压ΔVpp相关。ISPP编程方法通过迭代的方式进行编程。每次进行充电之后都会进行确认是否已经达到预定电压。如果没有,则将编程电压增加一个编程步幅ΔVpp,直到最终达到预定电压。这样的迭代过程与ΔVpp存在比例关系。步幅电压ΔVpp越大,需要迭代较少的次数就能达到预定电压值。因此,编程时间与步幅电压ΔVpp成反比。另一方面,编程步幅电压与错误率之间则呈现另一种关系。ΔVpp越大,编程精确性越差,错误率越高。我们构建以下关系:
t_P即编程时间,与ΔVpp成反比。编程步幅电压为ΔVpp据时,错误率为RBER(ΔVpp)。假设N个参考电压的LDPC解码能容忍的错误率为CBERLDPC(N),且数据的错误率在可解码范围内。
其次是读请求的时间与错误率之间的关系。读请求的时间主要包括两部分:从数据页读数据到页缓存(读取时间),页缓存数据传输到控制器(传输时间)。读取时间与参考电压数目成正比,而传输时间与传输的数据量成正比。设N个参考电压,将闪存存储元中的电压值分为N+1个区域,则读取时间和传输时间可得以下关系:
其中,t_R是一个页的数据读取时间,从数据页中读到页缓存,与参考电压的数目成正比。t_RC是对一个数据页读取之后获取的信息传输时间,与信息长度成正比。由于N个参考电压将存储元的电压状态分为N+1个区域,则需要比特来表示每个存储元所在的状态,所以t_RC与成正比。N的大小需要根据数据的错误率来决定,以保证能对该页数据正确解码。
综上所述,读写请求速度可以根据数据的错误率建立起一个量化关系模型:
相比于现有方法,读操作需要先进行LDPC硬判决,再逐步增加参考电压数目进行软判决解码,直到能正确解码出信息。通过本发明的模型,读写速度之间的关系是确定的。通过调整写操作时编程操作的步幅电压ΔVpp,使得写入数据的错误率不同,读操作的执行时正确解码数据所需要的信息量不同,因而对读操作的执行时间到达调整的目的。即写操作执行快的数据其读操作执行慢,写操作执行慢的数据其读操作执行快。另一方面,由于确定的读写速度关系,确定读取需要的参考电压数目,从而正确解码出要读取的信息,其读操作时间相对于传统的方案大大减少。
附图说明
图1为MLC闪存中LDPC硬判决参考电压分布,相邻两个状态之间只有1个参考电压,在4个状态之间总共有3个参考电压。读取操作时,将读取的数据页的每一个存储元的电压与3个参考电压进行比较,以确定存储元中电压所处的状态。
图2为MLC闪存中LDPC软判决参考电压分布,相邻两个状态之间有多个参考电压。图中所示有7个,总共有21个参考电压,将存储元的电压分成22块区域。读取操作时,将读取的数据页的每一个存储元的电压与21个参考电压进行比较,以确定存储元中电压所处的状态。其读取时间较长。同时,由于存储元的电压被分为22个状态,需要比特来记录信息。读操作的读取时间较长。软判决不限于本图中的示例,相邻两个状态之间的参考电压数目是可变的,决定了LDPC解码能容忍的数据的错误率大小。参考电压数目越多,可正确解码能容忍的错误率越高。
具体实施方式
下面是对本发明实施方式的进一步说明。
第一步,数据在写入时根据性能需要和系统情况决定编程的步幅电压ΔVpp,采用大的步幅电压ΔVpp编程速度快,写请求得以快速执行,而小的步幅电压使得编程的数据错误率低。
第二步,记录数据页编程时的ΔVpp。ΔVpp决定了编程速度,也决定了数据的错误率大小。
第三步,读数据时,根据其相应的步幅电压ΔVpp计算错误率。错误率不仅由ΔVpp决定,还受到一些其它因素的影响,比如保存时间、编程干扰等。在计算错误率时根据错误模型,考虑其他因素的影响。
第四步,根据要计算出的数据的错误率,决定读取使用LDPC硬判决还是软判决,以及软判决中参考电压的数目。参考电压数目确定处理读请求时读取和传输的时间,一次读取成功,避免逐步增加参考电压数目所花费的时间。
Claims (2)
1.一种基于闪存错误校验的读写调制方法,其特征在于:
1)闪存中基于错误校验的读写延迟模型,具体如下:
其中,t_P表示编程时间,与步幅电压ΔVpp成反比;t_R是一个页的数据读取时间,从数据页中读到页缓存,与参考电压的数目N成正比;t_RC是对一个数据页读取之后获取的信息传输时间,与信息长度成正比;由于N个参考电压将存储元的电压状态分为N+1个区域,则需要比特来表示每个存储元所在的状态,所以t_RC与成正比;N的大小需要根据数据的错误率来决定,以保证能对该页数据正确解码;编程步幅电压为ΔVpp据时,错误率为RBER(ΔVpp),N个参考电压的LDPC解码能容忍的错误率为需要满足的条件是数据的错误率在可正确解码范围内;
模型建立了写请求的编程时延和读请求的读取时延、传输时延与编程步幅、LDPC解码的参考电压数目之间的关系;
2)利用读写请求之间的关系,通过对写请求的编程步幅电压的改变,来达到对读请求执行时间的调制。
2.根据上述权利要求1所述的基于闪存错误校验的读写调制方法,其特征在于:
1)读写延迟模型建立的基础是对不同错误率的数据的正确校验;
2)数据的编程延迟决定其错误率,读取延迟需要保证正确解码一定错误率的数据;
3)根据错误率,决定LDPC解码的参考电压数目,一次读出数据;
4)影响错误率的因素包括编程速度、保存时间、编程干扰;
5)快速写入的数据读取速度慢,慢速写入的数据读取速度快。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510014945.3A CN104575618B (zh) | 2015-01-13 | 2015-01-13 | 一种基于闪存错误校验的读写调制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510014945.3A CN104575618B (zh) | 2015-01-13 | 2015-01-13 | 一种基于闪存错误校验的读写调制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104575618A CN104575618A (zh) | 2015-04-29 |
CN104575618B true CN104575618B (zh) | 2017-08-08 |
Family
ID=53091488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510014945.3A Expired - Fee Related CN104575618B (zh) | 2015-01-13 | 2015-01-13 | 一种基于闪存错误校验的读写调制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104575618B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017139973A1 (zh) * | 2016-02-19 | 2017-08-24 | 华为技术有限公司 | 一种闪存设备的访问方法和装置 |
WO2018119900A1 (zh) * | 2016-12-29 | 2018-07-05 | 华为技术有限公司 | 数据读取方法及闪存设备 |
CN107391290A (zh) * | 2017-07-21 | 2017-11-24 | 重庆大学 | 一种闪存制程差异的检测方法 |
CN109411002B (zh) * | 2017-08-15 | 2021-01-29 | 华为技术有限公司 | 一种数据读取的方法及闪存控制器 |
US10714195B2 (en) * | 2017-08-31 | 2020-07-14 | SK Hynix Inc. | Read disturb detection and recovery with adaptive thresholding for 3-D NAND storage |
CN107832012A (zh) * | 2017-11-03 | 2018-03-23 | 重庆大学 | 一种在线挖掘闪存制程差异现象优化刷新的方法 |
CN109144771A (zh) * | 2018-09-10 | 2019-01-04 | 浪潮电子信息产业股份有限公司 | 一种纠错方法、系统、装置及计算机可读存储介质 |
CN111858137B (zh) * | 2020-07-08 | 2023-12-22 | 上海威固信息技术股份有限公司 | 一种原始比特错误率感知的读电平施加方法 |
CN113778337B (zh) * | 2021-09-10 | 2024-06-07 | 深圳大普微电子科技有限公司 | 一种基于闪存的固态硬盘及其数据管理方法 |
CN117130822A (zh) * | 2023-10-24 | 2023-11-28 | 杭州阿姆科技有限公司 | 一种用于预测nand闪存数据出错的方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930902A (zh) * | 2012-07-27 | 2013-02-13 | 北京航空航天大学 | 一种同时纠正固定错误与随机错误的纠错编码算法 |
CN103621033A (zh) * | 2011-05-19 | 2014-03-05 | 高通股份有限公司 | 用于电视空白频谱传输的前导码设计 |
-
2015
- 2015-01-13 CN CN201510014945.3A patent/CN104575618B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103621033A (zh) * | 2011-05-19 | 2014-03-05 | 高通股份有限公司 | 用于电视空白频谱传输的前导码设计 |
CN102930902A (zh) * | 2012-07-27 | 2013-02-13 | 北京航空航天大学 | 一种同时纠正固定错误与随机错误的纠错编码算法 |
Non-Patent Citations (1)
Title |
---|
Improving Min-sum LDPC Decoding Throughput by Exploiting Intra-cell Bit Error Characteristic in MLC NAND Flash Memory;Wenzhe Zhao, Hongbin Sun;《IEEE Transactions on Very Large Scale Integration System》;20141231;第24卷(第8期);2654-2664 * |
Also Published As
Publication number | Publication date |
---|---|
CN104575618A (zh) | 2015-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104575618B (zh) | 一种基于闪存错误校验的读写调制方法 | |
TWI631570B (zh) | 錯誤檢查糾正解碼方法與裝置 | |
KR101835605B1 (ko) | 플래시 메모리 시스템 및 플래시 메모리 시스템의 리드 방법 | |
TWI594254B (zh) | 讀取快閃記憶體中區塊之資料的方法及相關的記憶裝置 | |
EP3072134B1 (en) | Defect management policies for nand flash memory | |
US9703627B2 (en) | Error correction code unit, self-test method and associated controller applied to flash memory device for generating soft information | |
US11349498B2 (en) | Bit flipping low-density parity-check decoders with low error floor | |
KR102070667B1 (ko) | 비휘발성 메모리 장치의 구동 방법 | |
KR20210128704A (ko) | 컨트롤러 및 컨트롤러의 동작 방법 | |
US20090265598A1 (en) | Using programming-time information to support error correction | |
US11119697B2 (en) | Read voltage management based on write-to-read time difference | |
US11870463B2 (en) | Data reliability for extreme temperature usage conditions in data storage | |
US20230012648A1 (en) | Selective and Dynamic Deployment of Error Correction Code Techniques in Integrated Circuit Memory Devices | |
US20230005552A1 (en) | Simplified Operations to Read Memory Cells Coarsely Programmed via Interleaved Two-Pass Data Programming Techniques | |
US11990186B2 (en) | One-ladder read of memory cells coarsely programmed via interleaved two-pass data programming techniques | |
US11249848B2 (en) | Error check code (ECC) decoder and memory system including ECC decoder | |
KR20220072380A (ko) | 컨트롤러 및 컨트롤러의 동작방법 | |
CN110100236B (zh) | 数据读取方法及闪存设备 | |
CN108255634A (zh) | 一种数据读取方法及装置 | |
US11756635B2 (en) | Decision for executing full-memory refresh during memory sub-system power-on stage | |
CN112562772A (zh) | 自适应低密度奇偶校验硬解码器 | |
US11887669B2 (en) | Apparatus and method for programming data in a non-volatile memory device | |
US20220013192A1 (en) | Managing execution of a scrub operation in view of an operating characteristic of a memory sub-system | |
CN117746959A (zh) | 非易失性存储器装置的无序位翻转解码器 | |
CN117472643A (zh) | 低密度奇偶校检码的译码方法、存储介质和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170808 Termination date: 20190113 |
|
CF01 | Termination of patent right due to non-payment of annual fee |