CN111858138B - 一种基于三维tlc闪存页不平衡比特错误的ldpc译码优化方法 - Google Patents
一种基于三维tlc闪存页不平衡比特错误的ldpc译码优化方法 Download PDFInfo
- Publication number
- CN111858138B CN111858138B CN202010650856.9A CN202010650856A CN111858138B CN 111858138 B CN111858138 B CN 111858138B CN 202010650856 A CN202010650856 A CN 202010650856A CN 111858138 B CN111858138 B CN 111858138B
- Authority
- CN
- China
- Prior art keywords
- bit
- flash memory
- dimensional
- error rate
- page
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种基于三维TLC闪存页不平衡比特错误的LDPC译码优化方法。三维闪存通过使用多比特和三维堆叠技术具有高的存储容量和单元密度,但是保存周期和可编程擦写周期引起高的原始比特错误率,降低了数据存储可靠性。低密度奇偶校验码LDPC为三维闪存主流的纠错技术,然而在原始比特错误率较高时会存在较高的译码迭代次数和译码延迟。本发明,利用实际的FPGA硬件测试平台对三维电荷俘获型闪存芯片进行测试,统计每个页比特错误率差异。然后基于页不平衡的比特错误率,设计高效的LDPC纠错码算法,以此降低译码迭代延迟,提高三维TLC闪存读性能。
Description
技术领域
本发明属于固态盘存储技术领域,更具体地,涉及一种基于三维TLC闪存页不平衡比特错误的LDPC译码优化方法。
背景技术
三维闪存具有大容量、高性能和非易失等特性被广泛用于智能手机、计算机中作为存储设备。然而,存储单元容易遭受保存和层间干扰的影响而发生比特错误,降低了数据存储可靠性。为了保证三维闪存可靠性,低密度奇偶校验(Low Density Parity Check,简称LDPC)作为主流的纠错手段被广泛使用。尽管LDPC码具有较强的纠错能力,但是高的原始比特错误率导致较多的译码迭代次数,增加了译码延迟,从而降低了三维闪存读性能。
为了降低译码延迟,提高系统读性能,有必要针对三维闪存页比特错误特征研究高效的LDPC译码算法,保证数据可靠性的同时有效提升三维闪存系统读性能。
然而,现有的LDPC译码算法没有充分利用三维TLC闪存页比特错误特征,进而导致较高的译码迭代次数和译码延迟。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于三维TLC闪存页不平衡原始比特错误的LDPC译码优化方法。其技术原理在于,首先在FPGA硬件平台上测试三维TLC(Triple-level cell,简称TLC)闪存芯片,统计在不同的P/E(Program/Erase,简称P/E)周期下最高有效页、最低有效页和中间有效页从0到1和从1到0的错误率。然后,根据每个页从0到1和从1到0的错误率的变化和差异,设计自适应的LDPC纠错码算法,错误率的差异能够对比特0和1赋不同的权重值,提高似然比信息更新精度使得译码快速收敛到正确码字信息,从而能够解决原始比特错误率引起的高译码迭代次数和高译码延迟的技术问题。采用的具体技术方案如下:
一种基于三维TLC闪存页不平衡比特错误的LDPC译码优化方法,其是应用在闪存系统中,包括以下步骤:
(1)三维TLC闪存数据保存时间设为N、2*N和3*N个月且最大的P/E周期设为K次。其中N和K根据闪存应用领域的不同,依照存储时长和P/E次数的偏好做调整。
(2)在FPGA测试版上,首先测试当保存时间为N个月时,三维TLC闪存页在不同P/E周期下的比特0和比特1之间的错误率。其中以P/E周期以T次为间隔统计数据。其中T根据闪存使用频率进行调整。
(3)当保存时间为2*N和3*N月时,重复步骤(2),统计每个页中比特0和1之间的错误比率。
(4)统计分析三维堆叠TLC闪存页比特1和0之间的错误率与保存时间和P/E周期的关系,并绘制曲线图。
(5)如果三维堆叠闪存页中1的错误率高于0的错误率,则在进行硬译码之前,调整比特0和比特1的初始软信息,使得比特1的权重值大于比特0的权重值,即使得比特1软信息绝对值大于比特0软信息绝对值。
(6)如果比特1的错误率低于比特0的错误率,则使得比特0的软信息绝对值大于比特1的软信息绝对值。
(7)如果比特1的错误率与比特0的错误率相等,则不对比特0和1的权重值进行调制,使得比特1和比特0软信息绝对值相等。
本发明,可以统计在不同数据保存时间下三维闪存页0和1之间不平衡的比特错误率的变化。
本发明,能够直观的反映比特1和0不平衡的错误率与保存时间和P/E周期的关系。
本发明,根据比特1和0的错误率差异调整初始软信息的权重值,有利于加速译码收敛到正确码字信息。
要求保护的技术方案如下:
一种基于三维TLC闪存页不平衡比特错误的LDPC译码优化方法,包括以下步骤:
(1)三维TLC闪存数据保存时间设为至少两个不同的时间段,且设定一定的P/E周期;
(2)在FPGA测试版上,首先测试当保存时间为第一个时间段时,三维TLC闪存页在不同P/E周期下的比特0和比特1之间的错误率;
(3)当保存时间为其他时间段时,重复步骤(2),统计每个页中比特0和1之间的错误比率;
(4)统计分析三维堆叠TLC闪存页比特1和0之间的错误率与保存时间和P/E周期的关系,并绘制曲线图;
(5)根据步骤(4)的统计和分析结果,对LDPC的初始软信息进行调整;如果三维堆叠闪存页中1的错误率高于0的错误率,则在进行硬译码之前,调整比特0和比特1的初始软信息,使得比特1的权重值大于比特0的权重值,即使得比特1软信息绝对值大于比特0软信息绝对值;
(6)如果比特1的错误率低于比特0的错误率,则使得比特0的软信息绝对值大于比特1的软信息绝对值;
(7)如果比特1的错误率与比特0的错误率相等,则不对比特0和1的权重值进行调制,使得比特1和比特0软信息绝对值相等。
优选地,步骤(1)所述的至少两个不同的时间段,且设定一定的P/E周期为,保存时间设为N、2*N和3*N个月且最大的P/E周期设为K次;其中N和K根据闪存应用领域的不同,依照存储时长和P/E次数的偏好确定。
进一步,步骤(2)为首先测试当保存时间为N个月时,三维TLC闪存页在不同P/E周期下的比特0和比特1之间的错误率;其中以P/E周期以T次为间隔统计数据;其中T根据闪存使用频率进行确定;
进一步,步骤(3)为,当保存时间为2*N和3*N月时,重复步骤(2),统计每个页中比特0和1之间的错误比率。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)本发明的方法能够根据比特0和1之间错误率差异设计高效的LDPC译码优化算法。
(2)本发明的方法能够自适应调整比特0和1的更新权重以降低译码迭代次数和延迟。
附图说明
图1是本发明一种基于三维TLC闪存页不平衡比特错误的LDPC译码优化方法结构图。
图2是本发明一种基于三维TLC闪存页不平衡比特错误的LDPC译码优化方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明的设计结构图如图1所示,数据首先经过LDPC编码器进行编码操作,编码之后生成码字,随后被写入三维TLC闪存芯片中。存储在闪存单元中的数据容易遭受信道噪音的干扰(比如保存和层间干扰),使得单元中的阈值电压分布扭曲,造成相邻的分布窗口交叉重叠,当读取数据时造成错误。当对数据读出进行校验时,统计所读取页的比特0和1之间的错误比率,分析错误率特征。最后,将错误率特征融入LDPC译码过程中,调整比特0和1似然比信息的权重值,提高译码精度和收敛速度。
如图2所示,本发明一种基于三维TLC闪存页不平衡比特错误的LDPC译码优化方法,其是应用在闪存系统中,且包括以下步骤:
(1)三维TLC闪存数据保存时间设为N、2*N和3*N个月且最大的P/E周期设为K次。在本步骤中,取N为3,取K为6000。
(2)在FPGA测试版上,首先测试当保存时间为N个月时,三维TLC闪存页在不同P/E周期下的比特0和比特1之间的错误率。其中以P/E周期为T次为间隔统计数据。
本步骤的优点在于:可以统计在不同数据保存时间下三维闪存页0和1之间不平衡的比特错误率的变化。
(3)当保存时间为2*N和3*N月时,重复步骤(2),统计每个页中比特0和1之间的错误比率。
本步骤的优点在于:可以统计页比特1和0的错误率与保存时间的关联关系。
(4)统计分析三维堆叠TLC闪存页比特1和0之间的错误率与保存时间和P/E周期的关系,并绘制曲线图。
本步骤的优点在于:直观的反映比特1和0不平衡的错误率与保存时间和P/E周期的关系。
(5)依据步骤(4)的统计和分析结果对LDPC的初始软信息进行调整。如果三维堆叠闪存页中1的错误率高于0的错误率,则在进行硬译码之前,调整比特0和比特1的初始软信息,使得比特1的权重值大于比特0的权重值,即使得比特1软信息绝对值大于比特0软信息绝对值。
本步骤的优点在于:根据比特1和0的错误率差异调整初始软信息的权重值,有利于加速译码收敛到正确码字信息。
(6)如果比特1的错误率低于比特0的错误率,则使得比特0的软信息绝对值大于比特1的软信息绝对值。
(7)如果比特1的错误率与比特0的错误率相等,则不对比特0和1的权重值进行调制,使得比特1和比特0软信息绝对值相等。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (3)
1.一种基于三维TLC闪存页不平衡比特错误的LDPC译码优化方法,其特征在于,包括以下步骤:
(1)三维TLC闪存数据保存时间设为至少两个不同的时间段,且设定一定的P/E周期;
(2)在FPGA测试版上,首先测试当保存时间为第一个时间段时,三维TLC闪存页在不同P/E周期下的比特0和比特1之间的错误率;
(3)当保存时间为其他时间段时,重复步骤(2),统计每个页中比特0和1之间的错误比率;
(4)统计分析三维堆叠TLC闪存页比特1和0之间的错误率与保存时间和P/E周期的关系,并绘制曲线图;
(5)根据步骤(4)的统计和分析结果,对LDPC的初始软信息进行调整;如果三维堆叠闪存页中1的错误率高于0的错误率,则在进行硬译码之前,调整比特0和比特1的初始软信息,使得比特1的权重值大于比特0的权重值,即使得比特1软信息绝对值大于比特0软信息绝对值;
(6)如果比特1的错误率低于比特0的错误率,则使得比特0的软信息绝对值大于比特1的软信息绝对值;
(7)如果比特1的错误率与比特0的错误率相等,则不对比特0和1的权重值进行调制,使得比特1和比特0软信息绝对值相等。
2.根据权利要求1所述的一种基于三维TLC闪存页不平衡比特错误的LDPC译码优化方法,其特征在于,步骤(1)所述的至少两个不同的时间段,且设定一定的P/E周期具体为:
保存时间设为N、2*N和3*N个月且最大的P/E周期设为K次;其中N和K根据闪存应用领域的不同,依照存储时长和P/E次数的偏好确定。
3.根据权利要求2所述的一种基于三维TLC闪存页不平衡比特错误的LDPC译码优化方法,其特征在于:
步骤(2)为首先测试当保存时间为N个月时,三维TLC闪存页在不同P/E周期下的比特0和比特1之间的错误率;其中以P/E周期以T次为间隔统计数据;其中T根据闪存使用频率进行确定;
步骤(3)为,当保存时间为2*N和3*N月时,重复步骤(2),统计每个页中比特0和1之间的错误比率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010650856.9A CN111858138B (zh) | 2020-07-08 | 2020-07-08 | 一种基于三维tlc闪存页不平衡比特错误的ldpc译码优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010650856.9A CN111858138B (zh) | 2020-07-08 | 2020-07-08 | 一种基于三维tlc闪存页不平衡比特错误的ldpc译码优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111858138A CN111858138A (zh) | 2020-10-30 |
CN111858138B true CN111858138B (zh) | 2023-09-19 |
Family
ID=73153366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010650856.9A Active CN111858138B (zh) | 2020-07-08 | 2020-07-08 | 一种基于三维tlc闪存页不平衡比特错误的ldpc译码优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111858138B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105159840A (zh) * | 2015-10-16 | 2015-12-16 | 华中科技大学 | 一种闪存器件的软信息提取方法 |
CN105871396A (zh) * | 2015-01-22 | 2016-08-17 | 晨星半导体股份有限公司 | 可适应性调整软信息的信号接收端及其信号处理方法 |
CN107657984A (zh) * | 2017-08-16 | 2018-02-02 | 深圳市江波龙电子有限公司 | 闪存的纠错方法、装置、设备以及计算机可读存储介质 |
CN110515760A (zh) * | 2019-08-29 | 2019-11-29 | 北京计算机技术及应用研究所 | 一种基于机器学习的ldpc闪存纠错方法 |
US10659084B1 (en) * | 2018-11-30 | 2020-05-19 | Kabushiki Kaisha Toshiba | Soft decoding for flash memory |
CN111294061A (zh) * | 2020-02-11 | 2020-06-16 | 上海威固信息技术股份有限公司 | 一种原始比特错误率感知的译码软判决延迟降低方法 |
-
2020
- 2020-07-08 CN CN202010650856.9A patent/CN111858138B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105871396A (zh) * | 2015-01-22 | 2016-08-17 | 晨星半导体股份有限公司 | 可适应性调整软信息的信号接收端及其信号处理方法 |
CN105159840A (zh) * | 2015-10-16 | 2015-12-16 | 华中科技大学 | 一种闪存器件的软信息提取方法 |
CN107657984A (zh) * | 2017-08-16 | 2018-02-02 | 深圳市江波龙电子有限公司 | 闪存的纠错方法、装置、设备以及计算机可读存储介质 |
US10659084B1 (en) * | 2018-11-30 | 2020-05-19 | Kabushiki Kaisha Toshiba | Soft decoding for flash memory |
CN110515760A (zh) * | 2019-08-29 | 2019-11-29 | 北京计算机技术及应用研究所 | 一种基于机器学习的ldpc闪存纠错方法 |
CN111294061A (zh) * | 2020-02-11 | 2020-06-16 | 上海威固信息技术股份有限公司 | 一种原始比特错误率感知的译码软判决延迟降低方法 |
Non-Patent Citations (1)
Title |
---|
基于错误特征的MLC闪存最小和译码算法;张旋;系统工程与电子技术;第41卷(第8期);第1887-1995页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111858138A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8627188B2 (en) | Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated BCH codes and/or designation of “first below” cells | |
KR101675170B1 (ko) | 플래시 메모리 프로그래밍 방법 및 시스템, 플래시 메모리 판독 방법 및 시스템 | |
TWI435211B (zh) | 鄰近碼字的唯讀記憶體列表解碼 | |
US9086984B2 (en) | Detection and decoding in flash memories with selective binary and non-binary decoding | |
CN106160753B (zh) | 一种适用于ssd的权值多比特翻转ldpc译码方法 | |
US8555127B2 (en) | Self-timed error correcting code evaluation system and method | |
WO2013112580A1 (en) | Generating soft read values using multiple reads and/or bins | |
US20220189560A1 (en) | Optimal detection voltage obtaining method, reading control method and apparatus of memory | |
CN111294061B (zh) | 一种原始比特错误率感知的译码软判决延迟降低方法 | |
US20130176780A1 (en) | Detection and decoding in flash memories with error correlations for a plurality of bits within a sliding window | |
CN111813591A (zh) | Nand Flash的数据纠错方法、装置、电子设备及存储介质 | |
CN112860474A (zh) | 快速收敛的低密度奇偶校验码的软位翻转解码器 | |
CN111858138B (zh) | 一种基于三维tlc闪存页不平衡比特错误的ldpc译码优化方法 | |
US9355716B2 (en) | Memory channel detector systems and methods | |
CN110111829B (zh) | 一种闪存信道校正的方法、装置和介质 | |
CN115509798B (zh) | 一种刷新、副本和ldpc混合解码结合的存储器读取优化方法 | |
Du et al. | Towards LDPC Read Performance of 3D Flash Memories with Layer-induced Error Characteristics | |
Yuan et al. | An adaptive ECC scheme for dynamic protection of NAND Flash memories | |
CN109935261B (zh) | 一种用于存储器差错控制的多级译码方法和装置 | |
CN110098895B (zh) | 基于变量节点动态分块更新的ldpc码译码方法 | |
Duangthong et al. | Read voltage optimization in MLC NAND flash memory via the density evolution | |
CN111858137B (zh) | 一种原始比特错误率感知的读电平施加方法 | |
CN111277275B (zh) | 一种ldpc译码算法标准化因子自适应获取方法 | |
CN110008054B (zh) | 一种用于存储器差错控制的多级读取译码的方法和装置 | |
US11874736B2 (en) | Calculating soft metrics depending on threshold voltages of memory cells in multiple neighbor word lines |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |