一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种硬判决和软判决相结合的高效LDPC纠错算法的实现方法与流程

2021-11-05 21:05:00 来源:中国专利 TAG:

一种硬判决和软判决相结合的高效ldpc纠错算法的实现方法
技术领域
1.本发明涉及纠错算法技术领域,尤其涉及一种硬判决和软判决相结合的高效ldpc纠错算法的实现方法。


背景技术:

2.相关技术中,存取闪存里的数据需要ecc(error correcting code,误差校正码)算法纠错来保证数据不出错,常用的ecc算法有bch(bose、ray

chaudhuri和hocquenghem,用于校正多个随机错误模式的多级、循环、错误校正、变长数字编码)算法和ldpc(low density parity check code,低密度奇偶校验码)算法等。
3.现有比较普遍的闪存基本上都需要纠错能力更强的ldpc算法了。从闪存读出数据时,经过ldpc解码后将出错的数据找出来并纠正。ldpc解码有硬判决和软判决两种方式,硬判决方式是对从闪存读回的数据进行解码,如果出错的数据量在纠错能力范围内则直接纠错,如果超出了纠错能力范围就报告纠错失败,如果仅有硬判决方式,那在这种情况下认为数据无法恢复。软判决方式是在出错的数据量超出纠错能力范围的情况下,修改闪存读取阈值等参数后重读,根据重读数据判断数据出错概率信息,然后将这些信息输入ldpc算法再进行解码,这样可以提升ldpc算法纠错能力,能够将更多的出错数据纠正过来。从前面的描述可知,软判决方式的纠错能力更强大,但是纠错时间更长,导致ldpc算法通吐率下降,牺牲了纠错算法的最高性能。
4.闪存的读写操作都是以页为单位,一个页的大小一般是4kb(kilobyte,千字节)、8kb或16kb等,而ldpc算法编解码数据的长度即码长一般是1kb、2kb或4kb,也就是一个页的数据读写通常是经过多次ldpc编解码,以2kb码长ldpc读一个16kb页数据为例,一个页的数据读取至少需要经过8次ldpc解码,如果每次出错数据的都在硬判决的纠错能力范围内,那经过这8次解码就可以恢复出正确的数据。
5.请参见图1,图1是现有的ldpc纠错算法的实现方案一实施例的一举例示意图。如图1所示,以对d1、d2、d3、d4、d5、d6和d7共7个数据进行纠错为例。如图1所示,如果第2次解码d1超出纠错能力,无法纠错,那就停止后续的数据读取操作,修改闪存读取阈值等参数后重读d1对应的数据,假设重读4次后用软判决方式把d1的数据恢复正确,然后可以继续从d2开始继续读后面的数据。假设读d4后再次无法纠错,那又需要停止读后续的数据,重读d4,以此类推,假设重读次数都是4次,则在上图中d1,d4,d6用硬判决无法纠错的情况下,需要总共重读12次才能读到整个页的正确数据,纠错解码效率一般,导致从闪存读取数据的效率一般,读取延时加大,数据通吐率一般。


技术实现要素:

6.有鉴于此,本发明的目的在于提出一种硬判决和软判决相结合的高效ldpc纠错算法的实现方法,能够实现通过提高硬判决和软判决相结合的低密度奇偶校验码纠错算法的解码效率的方式,实现提高从闪存读取数据的效率,减小读取延时,和提高数据通吐率。
7.根据本发明的一个方面,提供一种硬判决和软判决相结合的高效ldpc纠错算法的实现方法,包括:在低密度奇偶校验码硬判决方式对读取的闪存数据无法纠错的情况下,继续从闪存读取所述无法纠错的闪存数据之后的数据;在从闪存读取数据的整个页数据读完后,通过软判决方式从第一个无法硬判决纠错的闪存数据对应的数据段开始重读;重读时,对已经正确读取到的闪存数据的数据段不改写对应的缓冲寄存器里的数据。
8.其中,所述在低密度奇偶校验码硬判决方式对读取的闪存数据无法纠错的情况下,继续从闪存读取所述无法纠错的闪存数据之后的数据,包括:在低密度奇偶校验码硬判决方式对读取的闪存数据无法纠错的情况下,采用不停止后续的从闪存读取数据的方式,继续从闪存读取所述无法纠错的闪存数据之后的数据。
9.其中,所述在从闪存读取数据的整个页数据读完后,通过软判决方式从第一个无法硬判决纠错的闪存数据对应的数据段开始重读,包括:采用对无法硬判决纠错的闪存数据对应的数据段配置先后顺序编号的方式,在从闪存读取数据的整个页数据读完后,根据所述配置的先后顺序编号,通过软判决方式从第一个无法硬判决纠错的闪存数据对应的数据段开始重读。
10.其中,所述重读时,对已经正确读取到的闪存数据的数据段不改写对应的缓冲寄存器里的数据,包括:重读时,通过对已经正确读取到的闪存数据的数据段进行标记的方式,并根据所述进行的标记,对已经正确读取到的闪存数据的数据段不改写对应的缓冲寄存器里的数据。
11.根据本发明的另一个方面,提供一种硬判决和软判决相结合的高效ldpc纠错算法的实现装置,包括:读取模块、重读模块和不改写模块;所述读取模块,用于在低密度奇偶校验码硬判决方式对读取的闪存数据无法纠错的情况下,继续从闪存读取所述无法纠错的闪存数据之后的数据;所述重读模块,用于在从闪存读取数据的整个页数据读完后,通过软判决方式从第一个无法硬判决纠错的闪存数据对应的数据段开始重读;所述不改写模块,用于重读时,对已经正确读取到的闪存数据的数据段不改写对应的缓冲寄存器里的数据。
12.其中,所述读取模块,具体用于:在低密度奇偶校验码硬判决方式对读取的闪存数据无法纠错的情况下,采用不停止后续的从闪存读取数据的方式,继续从闪存读取所述无法纠错的闪存数据之后的数据。
13.其中,所述重读模块,具体用于:采用对无法硬判决纠错的闪存数据对应的数据段配置先后顺序编号的方式,在从闪存读取数据的整个页数据读完后,根据所述配置的先后顺序编号,通过软判决方式从第一个无法硬判决纠错的闪存数据对应的数据段开始重读。
14.其中,所述不改写模块,具体用于:重读时,通过对已经正确读取到的闪存数据的数据段进行标记的方式,并根据所述进行的标记,对已经正确读取到的闪存数据的数据段不改写对应的缓冲寄存器里的数据。
15.根据本发明的又一个方面,提供一种计算机设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如上述任意一项所述的硬判决和软判决相结合的高效ldpc纠错算法的实现方法。
16.根据本发明的再一个方面,提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述的硬判决和软判决相结合的高效
ldpc纠错算法的实现方法。
17.可以发现,以上方案,可以在低密度奇偶校验码硬判决方式对读取的闪存数据无法纠错的情况下,继续从闪存读取该无法纠错的闪存数据之后的数据,和可以在从闪存读取数据的整个页数据读完后,通过软判决方式从第一个无法硬判决纠错的闪存数据对应的数据段开始重读,以及可以重读时,对已经正确读取到的闪存数据的数据段不改写对应的缓冲寄存器里的数据,能够实现通过提高硬判决和软判决相结合的低密度奇偶校验码纠错算法的解码效率的方式,实现提高从闪存读取数据的效率,减小读取延时,和提高数据通吐率。
18.进一步的,以上方案,可以在低密度奇偶校验码硬判决方式对读取的闪存数据无法纠错的情况下,采用不停止后续的从闪存读取数据的方式,继续从闪存读取该无法纠错的闪存数据之后的数据,这样的好处是能够实现减少从闪存读取数据的重读次数,提高硬判决低密度奇偶校验码纠错算法的解码效率。
19.进一步的,以上方案,可以采用对无法硬判决纠错的闪存数据对应的数据段配置先后顺序编号的方式,在从闪存读取数据的整个页数据读完后,根据该配置的先后顺序编号,通过软判决方式从第一个无法硬判决纠错的闪存数据对应的数据段开始重读,这样的好处是能够实现减少从闪存读取数据的重读次数,提高软判决低密度奇偶校验码纠错算法的解码效率。
20.进一步的,以上方案,可以重读时,通过对已经正确读取到的闪存数据的数据段进行标记的方式,并根据该进行的标记,对已经正确读取到的闪存数据的数据段不改写对应的缓冲寄存器里的数据,这样的好处是能够实现提高从闪存读取数据的效率,减小读取延时,和提高数据通吐率。
附图说明
21.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
22.图1是现有的ldpc纠错算法的实现方案一实施例的一举例示意图;
23.图2是本发明硬判决和软判决相结合的高效ldpc纠错算法的实现方法一实施例的流程示意图;
24.图3是本发明硬判决和软判决相结合的高效ldpc纠错算法的实现方法一实施例的一举例示意图;
25.图4是本发明硬判决和软判决相结合的高效ldpc纠错算法的实现装置一实施例的结构示意图;
26.图5是本发明计算机设备一实施例的结构示意图。
具体实施方式
27.下面结合附图和实施例,对本发明作进一步的详细描述。特别指出的是,以下实施例仅用于说明本发明,但不对本发明的范围进行限定。同样的,以下实施例仅为本发明的部
分实施例而非全部实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
28.本发明提供一种硬判决和软判决相结合的高效ldpc纠错算法的实现方法,能够实现提高从闪存读取数据的效率,减小读取延时,和提高数据通吐率。
29.请参见图2,图2是本发明硬判决和软判决相结合的高效ldpc纠错算法的实现方法一实施例的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图2所示的流程顺序为限。如图1所示,该方法包括如下步骤:
30.s201:在低密度奇偶校验码硬判决方式对读取的闪存数据无法纠错的情况下,继续从闪存读取该无法纠错的闪存数据之后的数据。
31.其中,该在低密度奇偶校验码硬判决方式对读取的闪存数据无法纠错的情况下,继续从闪存读取该无法纠错的闪存数据之后的数据,可以包括:
32.在低密度奇偶校验码硬判决方式对读取的闪存数据无法纠错的情况下,采用不停止后续的从闪存读取数据的方式,继续从闪存读取该无法纠错的闪存数据之后的数据,这样的好处是能够实现减少从闪存读取数据的重读次数,提高硬判决低密度奇偶校验码纠错算法的解码效率。
33.s202:在从闪存读取数据的整个页数据读完后,通过软判决方式从第一个无法硬判决纠错的闪存数据对应的数据段开始重读。
34.其中,该在从闪存读取数据的整个页数据读完后,通过软判决方式从第一个无法硬判决纠错的闪存数据对应的数据段开始重读,可以包括:
35.采用对无法硬判决纠错的闪存数据对应的数据段配置先后顺序编号的方式,在从闪存读取数据的整个页数据读完后,根据该配置的先后顺序编号,通过软判决方式从第一个无法硬判决纠错的闪存数据对应的数据段开始重读,这样的好处是能够实现减少从闪存读取数据的重读次数,提高软判决低密度奇偶校验码纠错算法的解码效率。
36.s203:重读时,对已经正确读取到的闪存数据的数据段不改写对应的buffer(缓冲寄存器)里的数据。
37.其中,该重读时,对已经正确读取到的闪存数据的数据段不改写对应的buffer(缓冲寄存器)里的数据,可以包括:
38.重读时,通过对已经正确读取到的闪存数据的数据段进行标记的方式,并根据该进行的标记,对已经正确读取到的闪存数据的数据段不改写对应的缓冲寄存器里的数据,这样的好处是能够实现提高从闪存读取数据的效率,减小读取延时,和提高数据通吐率。
39.可以发现,在本实施例中,可以在低密度奇偶校验码硬判决方式对读取的闪存数据无法纠错的情况下,继续从闪存读取该无法纠错的闪存数据之后的数据,和可以在从闪存读取数据的整个页数据读完后,通过软判决方式从第一个无法硬判决纠错的闪存数据对应的数据段开始重读,以及可以重读时,对已经正确读取到的闪存数据的数据段不改写对应的缓冲寄存器里的数据,能够实现通过提高硬判决和软判决相结合的低密度奇偶校验码纠错算法的解码效率的方式,实现提高从闪存读取数据的效率,减小读取延时,和提高数据通吐率。
40.进一步的,在本实施例中,可以在低密度奇偶校验码硬判决方式对读取的闪存数据无法纠错的情况下,采用不停止后续的从闪存读取数据的方式,继续从闪存读取该无法
纠错的闪存数据之后的数据,这样的好处是能够实现减少从闪存读取数据的重读次数,提高硬判决低密度奇偶校验码纠错算法的解码效率。
41.进一步的,在本实施例中,可以采用对无法硬判决纠错的闪存数据对应的数据段配置先后顺序编号的方式,在从闪存读取数据的整个页数据读完后,根据该配置的先后顺序编号,通过软判决方式从第一个无法硬判决纠错的闪存数据对应的数据段开始重读,这样的好处是能够实现减少从闪存读取数据的重读次数,提高软判决低密度奇偶校验码纠错算法的解码效率。
42.进一步的,在本实施例中,可以重读时,通过对已经正确读取到的闪存数据的数据段进行标记的方式,并根据该进行的标记,对已经正确读取到的闪存数据的数据段不改写对应的缓冲寄存器里的数据,这样的好处是能够实现提高从闪存读取数据的效率,减小读取延时,和提高数据通吐率。
43.下面进行举例说明本实施例:
44.请参见图3,图3是本发明硬判决和软判决相结合的高效ldpc纠错算法的实现方法一实施例的一举例示意图。如图3所示,假设d1还是要重读4次才得到正确的数据,在最好的情况下,d4,d6的数据在这4次重读过程中也得到了正确的数据,那只用重读4次就得到了整个页的正确数据,跟现有技术相比大大提高了从闪存读取数据的效率,减小读取延时,提高了数据通吐率。
45.如图3所示,以对d1、d2、d3、d4、d5、d6和d7共7个数据进行纠错为例。如图3所示,读整个页的数据经过硬判决方式解码后,d1,d4,d6无法纠错,需要重读,那从d1开始重读d1到d7数据,因为缓存buffer里d2,d3,d5,d7的数据已经是恢复正确的数据,重读回的数据不改写缓存buffer里d2,d3,d5,d7的数据,只覆盖d1,d4,d6的数据段。这样做也可以防止重读时反而把原本正确的d2,d3,d5,d7的数据段读错,把缓存buffer里的数据改写成错误数据,能够实现通过提高硬判决和软判决相结合的低密度奇偶校验码纠错算法的解码效率的方式,实现提高从闪存读取数据的效率,减小读取延时,和提高数据通吐率。
46.本发明还提供一种硬判决和软判决相结合的高效ldpc纠错算法的实现装置,能够实现提高从闪存读取数据的效率,减小读取延时,和提高数据通吐率。
47.请参见图4,图4是本发明硬判决和软判决相结合的高效ldpc纠错算法的实现装置一实施例的结构示意图。本实施例中,该硬判决和软判决相结合的高效ldpc纠错算法的实现装置40包括读取模块41、重读模块42和不改写模块43。
48.该读取模块41,用于在低密度奇偶校验码硬判决方式对读取的闪存数据无法纠错的情况下,继续从闪存读取该无法纠错的闪存数据之后的数据。
49.该重读模块42,用于在从闪存读取数据的整个页数据读完后,通过软判决方式从第一个无法硬判决纠错的闪存数据对应的数据段开始重读。
50.该不改写模块43,用于重读时,对已经正确读取到的闪存数据的数据段不改写对应的缓冲寄存器里的数据。
51.可选地,该读取模块41,可以具体用于:
52.在低密度奇偶校验码硬判决方式对读取的闪存数据无法纠错的情况下,采用不停止后续的从闪存读取数据的方式,继续从闪存读取该无法纠错的闪存数据之后的数据。
53.可选地,该重读模块42,可以具体用于:
54.采用对无法硬判决纠错的闪存数据对应的数据段配置先后顺序编号的方式,在从闪存读取数据的整个页数据读完后,根据该配置的先后顺序编号,通过软判决方式从第一个无法硬判决纠错的闪存数据对应的数据段开始重读。
55.可选地,该不改写模块43,可以具体用于:
56.重读时,通过对已经正确读取到的闪存数据的数据段进行标记的方式,并根据该进行的标记,对已经正确读取到的闪存数据的数据段不改写对应的缓冲寄存器里的数据。
57.该硬判决和软判决相结合的高效ldpc纠错算法的实现装置40的各个单元模块可分别执行上述方法实施例中对应步骤,故在此不对各单元模块进行赘述,详细请参见以上对应步骤的说明。
58.本发明又提供一种计算机设备,如图5所示,包括:至少一个处理器51;以及,与至少一个处理器51通信连接的存储器52;其中,存储器52存储有可被至少一个处理器51执行的指令,指令被至少一个处理器51执行,以使至少一个处理器51能够执行上述的硬判决和软判决相结合的高效ldpc纠错算法的实现方法。
59.其中,存储器52和处理器51采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器51和存储器52的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器51处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器51。
60.处理器51负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器52可以被用于存储处理器51在执行操作时所使用的数据。
61.本发明再提供一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
62.可以发现,以上方案,可以在低密度奇偶校验码硬判决方式对读取的闪存数据无法纠错的情况下,继续从闪存读取该无法纠错的闪存数据之后的数据,和可以在从闪存读取数据的整个页数据读完后,通过软判决方式从第一个无法硬判决纠错的闪存数据对应的数据段开始重读,以及可以重读时,对已经正确读取到的闪存数据的数据段不改写对应的缓冲寄存器里的数据,能够实现通过提高硬判决和软判决相结合的低密度奇偶校验码纠错算法的解码效率的方式,实现提高从闪存读取数据的效率,减小读取延时,和提高数据通吐率。
63.进一步的,以上方案,可以在低密度奇偶校验码硬判决方式对读取的闪存数据无法纠错的情况下,采用不停止后续的从闪存读取数据的方式,继续从闪存读取该无法纠错的闪存数据之后的数据,这样的好处是能够实现减少从闪存读取数据的重读次数,提高硬判决低密度奇偶校验码纠错算法的解码效率。
64.进一步的,以上方案,可以采用对无法硬判决纠错的闪存数据对应的数据段配置先后顺序编号的方式,在从闪存读取数据的整个页数据读完后,根据该配置的先后顺序编号,通过软判决方式从第一个无法硬判决纠错的闪存数据对应的数据段开始重读,这样的
好处是能够实现减少从闪存读取数据的重读次数,提高软判决低密度奇偶校验码纠错算法的解码效率。
65.进一步的,以上方案,可以重读时,通过对已经正确读取到的闪存数据的数据段进行标记的方式,并根据该进行的标记,对已经正确读取到的闪存数据的数据段不改写对应的缓冲寄存器里的数据,这样的好处是能够实现提高从闪存读取数据的效率,减小读取延时,和提高数据通吐率。
66.在本发明所提供的几个实施方式中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
67.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
68.另外,在本发明各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
69.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
70.以上所述仅为本发明的部分实施例,并非因此限制本发明的保护范围,凡是利用本发明说明书及附图内容所作的等效装置或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献