用于解码LDPC码的改进的比特翻转方法及其系统技术方案

技术编号:29261067 阅读:16 留言:0更新日期:2021-07-13 17:34
本公开提供了一种用于解码接收的LDPC码字的改进的比特翻转方法和系统。解码过程可以包括通过多个比特节点和校验节点来估计相对于所接收的LDPC码字的比特的值。可以基于与其连接的校验节点的值的函数来获取比特节点的翻转能量。然后,可通过将翻转能量与至少一个翻转能量阈值进行比较来确定比特节点的翻转可靠性。此外,可以基于翻转可靠性和翻转规则来确定比特节点的翻转概率。可以根据该翻转概率进行翻转测试,其结果,可以确定并翻转至少一个需要翻转的目标比特节点。

【技术实现步骤摘要】
用于解码LDPC码的改进的比特翻转方法及其系统
本公开总体上涉及低密度奇偶校验(LDPC)码,并且更具体地,涉及用于LDPC码的改进的比特翻转解码方法以及通过使用改进的比特翻转方法对接收的LDPC码字进行解码的系统。
技术介绍
LDPC码由于其卓越的纠错能力而被广泛使用。传统上,使用比特翻转解码器和/或最小和解码器来解码接收的LDPC码字。对于SSD应用,通常由于其速度快、吞吐量高和功耗低,因此首先由比特翻转解码器对接收的LDPC码字进行解码。如果接收的LDPC码字不能被翻转比特解码器解码,则可以使用具有更好的纠错能力的最小和解码器。但是,最小和解码器比比特翻转解码器慢(且吞吐量较低)。最小和解码器的频繁使用会大大降低总体解码吞吐量。因此,期望提供一种具有更高的纠错能力的改进的比特翻转方法,从而可以减少最小和解码器的使用,并且可以提高整体解码吞吐量。
技术实现思路
根据本公开的一方面,可以提供一种用于对接收的LDPC码字进行解码的系统。该系统可以包括至少一个存储可执行指令的存储设备,以及与该至少一个存储设备通信的至少一个处理器。当执行可执行指令时,至少一个处理器可以使系统执行以下操作:通过信道接收LDPC码字,所述接收的LDPC码字包括多个比特;获取奇偶校验矩阵,所述奇偶校验矩阵定义了多个比特节点和多个校验节点之间的关系,每个比特节点对应于多个比特之一;和通过在包括一次或多次迭代的迭代过程中通过估计相对于所述多个比特节点和所述多个校验节点处的LDPC码字的值来对所述接收的LDPC码字进行解码。所述一次或多次迭代中的至少一次迭代包括:基于所述多个比特节点的当前值和所述奇偶校验矩阵确定校验子权重;确定所述校验子权重是否等于零;响应于确定所述校验子权重不等于零,确定所述多个比特节点的一个或多个翻转可靠性,每个翻转可靠性表示在所述多个比特节点之一上的翻转操作的可靠性;在所述多个比特节点中,基于所述多个比特节点的一个或多个翻转可靠性,确定需要翻转的至少一个目标比特节点;和翻转所述至少一个目标比特节点以更新所述多个比特节点的当前值。在一些实施例中,在所述多个比特节点中,确定需要翻转的至少一个目标比特节点可以包括:确定所述多个比特节点的一个或多个翻转概率,每个翻转概率对应于所述多个比特节点之一;对于所述多个比特节点中的每一个,根据其对应的翻转概率进行测试,以确定是否需要翻转该比特节点,其中,在该测试中,该比特节点具有等于被翻转的翻转概率的第一概率;和根据测试结果,确定需要翻转的所述至少一个目标比特节点。在一些实施例中,确定所述多个比特节点的一个或多个翻转概率可以包括:获取翻转规则,所述翻转规则包括同一比特节点的所述翻转可靠性与所述翻转概率之间的关系;和对于所述多个比特节点中的每一个,基于所述翻转规则和所述比特节点的相应翻转可靠性,确定所述比特节点的翻转概率。在一些实施例中,确定所述多个比特节点的一个或多个翻转可靠性可以包括:确定所述校验子权重是否大于校验子权重阈值;和响应于确定所述校验子权重大于所述校验子权重阈值,将预设的翻转可靠性指定为所述多个比特节点的一个或多个翻转可靠性。一些实施例中,所述信道可以提供包括所述多个比特节点中的每一个的初始概率的软信息,并且确定所述多个比特节点的一个或多个翻转可靠性可以包括:确定所述校验子权重是否大于校验子权重阈值;和响应于确定所述校验子权重大于所述校验子权重阈值,对于所述多个比特节点中的每一个,基于其初始概率确定所述比特节点的所述翻转可靠性。在一些实施例中,确定所述多个比特节点的一个或多个翻转可靠性可以包括:对于所述多个比特节点中的每一个,确定翻转能量;获取至少一个翻转能量阈值;将所述翻转能量与所述至少一个翻转能量阈值比较;和根据所述比较的结果确定所述比特节点的所述翻转可靠性。在一些实施例中,对于所述多个比特节点中的每一个,所述翻转能量与连接到所述比特节点的校验节点的值的函数有关。在一些实施例中,对应于特定比特节点的翻转能量阈值在不同的迭代中可以具有不同的值。在一些实施例中,与特定比特节点对应的至少一个翻转能量阈值可以是根据以下至少之一确定的:所述特定比特节点的索引,当前硬判决和信道输入硬判决之间的信道失配信息,连接到所述特定比特节点的校验节点的数量,迭代次数,先前迭代中所述被翻转的目标比特节点的数量,当前迭代中的所述校验子权重,或先前迭代中的校验子权重。在一些实施例中,不同的比特节点可以对应于所述至少一个翻转能量阈值的不同值。在一些实施例中,该系统可以在固态驱动器(SSD)控制器中使用,用于解码低密度奇偶校验(LDPC)码字。根据本公开的一方面,可以提供一种用于对接收的LDPC码字进行解码的方法。该方法可以包括一个或多个操作,包括:通过信道接收LDPC码字,所述接收的LDPC码字包括多个比特;获取奇偶校验矩阵,所述奇偶校验矩阵定义了多个比特节点和多个校验节点之间的关系,每个比特节点对应于多个比特之一;和通过在包括一次或多次迭代的迭代过程中通过估计相对于所述多个比特节点和所述多个校验节点处的LDPC码字的值来对所述接收的LDPC码字进行解码。所述一次或多次迭代中的至少一次迭代包括:基于所述多个比特节点的当前值和所述奇偶校验矩阵确定校验子权重;确定所述校验子权重是否等于零;响应于确定所述校验子权重不等于零,确定所述多个比特节点的一个或多个翻转可靠性,每个翻转可靠性表示在所述多个比特节点之一上的翻转操作的可靠性;在所述多个比特节点中,基于所述多个比特节点的一个或多个翻转可靠性,确定需要翻转的至少一个目标比特节点;和翻转所述至少一个目标比特节点以更新所述多个比特节点的当前值。根据本公开的一方面,可以提供一种具有可执行指令的非暂时性计算机可读介质,用于对所接收的LDPC码字进行解码的。当由至少一个处理器执行时,所述可执行指令可以指导至少一个处理器执行一种方法,该方法包括一个或多个操作,该方法包括:通过信道接收LDPC码字,所述接收的LDPC码字包括多个比特;获取奇偶校验矩阵,所述奇偶校验矩阵定义了多个比特节点和多个校验节点之间的关系,每个比特节点对应于多个比特之一;和通过在包括一次或多次迭代的迭代过程中通过估计相对于所述多个比特节点和所述多个校验节点处的LDPC码字的值来对所述接收的LDPC码字进行解码。所述一次或多次迭代中的至少一次迭代包括:基于所述多个比特节点的当前值和所述奇偶校验矩阵确定校验子权重;确定所述校验子权重是否等于零;响应于确定所述校验子权重不等于零,确定所述多个比特节点的一个或多个翻转可靠性,每个翻转可靠性表示在所述多个比特节点之一上的翻转操作的可靠性,每个翻转可靠性对应翻转概率;在所述多个比特节点中,基于所述多个比特节点的一个或多个翻转可靠性,确定需要翻转的至少一个目标比特节点;和翻转所述至少一个目标比特节点以更新所述多个比特节点的当前值。本专利技术的其他特征将部分地在下面的描述中阐述,并且在阅读以下说明以下附图书后,本领域技术人员可以清楚地了解本专利技术,或者可以通过实施或操作本专利技术来了解本文档来自技高网...

【技术保护点】
1.一种用于对接收的码字进行解码的系统,其特征在于,包括:/n至少一个存储可执行指令的存储设备,以及/n至少一个与所述至少一个存储设备通信的处理器,其中,当执行所述可执行指令时,所述至少一个处理器使所述系统执行以下操作:/n通过信道接收码字,所述接收的码字包括多个比特;/n获取奇偶校验矩阵,所述奇偶校验矩阵定义了多个比特节点和多个校验节点之间的关系,每个比特节点对应于所述多个比特之一;和/n通过在包括一次或多次迭代的迭代过程中通过估计相对于所述多个比特节点和所述多个校验节点处的码字的值来对所述接收的码字进行解码,其中,所述一次或多次迭代中的至少一次迭代包括:/n基于所述多个比特节点的当前值和所述奇偶校验矩阵确定校验子权重;/n确定所述校验子权重是否等于零;/n响应于确定所述校验子权重不等于零,确定所述多个比特节点的一个或多个翻转可靠性,每个翻转可靠性表示在所述多个比特节点之一上的翻转操作的可靠性;/n在所述多个比特节点中,基于所述多个比特节点的一个或多个翻转可靠性,确定需要翻转的至少一个目标比特节点;和/n翻转所述至少一个目标比特节点以更新所述多个比特节点的当前值。/n

【技术特征摘要】
20200701 US 16/917,9611.一种用于对接收的码字进行解码的系统,其特征在于,包括:
至少一个存储可执行指令的存储设备,以及
至少一个与所述至少一个存储设备通信的处理器,其中,当执行所述可执行指令时,所述至少一个处理器使所述系统执行以下操作:
通过信道接收码字,所述接收的码字包括多个比特;
获取奇偶校验矩阵,所述奇偶校验矩阵定义了多个比特节点和多个校验节点之间的关系,每个比特节点对应于所述多个比特之一;和
通过在包括一次或多次迭代的迭代过程中通过估计相对于所述多个比特节点和所述多个校验节点处的码字的值来对所述接收的码字进行解码,其中,所述一次或多次迭代中的至少一次迭代包括:
基于所述多个比特节点的当前值和所述奇偶校验矩阵确定校验子权重;
确定所述校验子权重是否等于零;
响应于确定所述校验子权重不等于零,确定所述多个比特节点的一个或多个翻转可靠性,每个翻转可靠性表示在所述多个比特节点之一上的翻转操作的可靠性;
在所述多个比特节点中,基于所述多个比特节点的一个或多个翻转可靠性,确定需要翻转的至少一个目标比特节点;和
翻转所述至少一个目标比特节点以更新所述多个比特节点的当前值。


2.根据权利要求1所述的系统,其特征在于,在所述多个比特节点中,确定需要翻转的至少一个目标比特节点包括:
确定所述多个比特节点的一个或多个翻转概率,每个翻转概率对应于所述多个比特节点之一;
对于所述多个比特节点中的每一个,根据其对应的翻转概率进行测试,以确定是否需要翻转该比特节点,其中,在该测试中,该比特节点具有等于被翻转的翻转概率的第一概率;和
根据测试结果,确定需要翻转的所述至少一个目标比特节点。


3.根据权利要求2所述的系统,其特征在于,确定所述多个比特节点的一个或多个翻转概率包括:
获取翻转规则,所述翻转规则包括同一比特节点的所述翻转可靠性与所述翻转概率之间的关系;和
对于所述多个比特节点中的每一个,基于所述翻转规则和所述比特节点的相应翻转可靠性,确定所述比特节点的翻转概率。


4.根据权利要求1所述的系统,其特征在于,确定所述多个比特节点的一个或多个翻转可靠性包括:
确定所述校验子权重是否大于校验子权重阈值;和
响应于确定所述校验子权重大于所述校验子权重阈值,将预设的翻转可靠性指定为所述多个比特节点的一个或多个翻转可靠性。


5.根据权利要求1所述的系统,其特征在于,所述信道提供包括所述多个比特节点中的每一个的初始概率的软信息,并且确定所述多个比特节点的一个或多个翻转可靠性包括:
确定所述校验子权重是否大于校验子权重阈值;和
响应于确定所述校验子权重大于所述校验子权重阈值,对于所述多个比特节点中的每一个,基于其初始概率确定所述比特节点的所述翻转可靠性。


6.根据权利要求1所述的系统,其特征在于,确定所述多个比特节点的一个或多个翻转可靠性包括:
对于所述多个比特节点中的每一个,
确定翻转能量;
获取至少一个翻转能量阈值;
将所述翻转能量与所述至少一个翻转能量阈值比较;和
根据所述比较的结果确定所述比特节点的所述翻转可靠性。


7.根据权利要求6所述的系统,其特征在于,对于所述多个比特节点中的每一个,所述翻转能量与连接到所述比特节点的校验节点的值的函数有关。


8.根据权利要求6所述的系统,其特征在于,对应于特定比特节点的翻转能量阈值在不同的迭代中具有不同的值。


9.根据权利要求6所述的系统,其特征在于,与特定比特节点对应的至少一个翻转能量阈值是根据以下至少之一确定的:
所述特定比特节点的索引,信道失配信息,连接到所述特定比特节点的校验节点的数量,迭代次数,先前迭代中所述被翻转的目标比特节点的数量,当前迭代中的所述校验子权重,或先前迭代中的校验子权重。


10.根据权利要求6所述的系统,其特征在于,不同的比特节点对应于所述至少一个翻转能量阈值的不同值。


11.根据权利要求1所述的系统,其特征在于,所述系统用在固态驱动器(SSD)控制器中,用于解码低密度奇偶校验(LDPC)码。


12.一种用于解码接收的码字的方法,其特征在于,包括:
通过信道接收码字,所述...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:英韧科技上海有限公司
类型:发明
国别省市:上海;31

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

1