1.一种多级闪存信道下的LDPC码动态串行调度译码算法,其特征在于,包括:
根据变量节点对应的阈值电压与预设参考电压的大小关系将变量节点分类;
将变量节点的更新顺序按照变量节点类别进行排序;
根据排序后的变量节点更新顺序进行调度译码。
2.根据权利要求1所述的一种多级闪存信道下的LDPC码动态串行调度译码算法,其特征在于,所述将变量节点的更新顺序按照变量节点类别进行排序具体为:
按照变量节点类别中的变量节点发生错误的容易程度将变量节点类别进行排序,形成变量节点的更新顺序。
3.根据权利要求2所述的一种多级闪存信道下的LDPC码动态串行调度译码算法,其特征在于,所述按照变量节点类别中的变量节点发生错误的容易程度将变量节点类别进行排序具体为按照变量节点类别中的变量节点发生错误的容易程度由容易到困难将变量节点类别进行排序。
4.根据权利要求2所述的一种多级闪存信道下的LDPC码动态串行调度译码算法,其特征在于,所述变量节点发生错误的容易程度具体根据闪存单元的阈值电压范围确定。
5.根据权利要求1所述的一种多级闪存信道下的LDPC码动态串行调度译码算法,其特征在于,所述根据变量节点对应的阈值电压与预设参考电压的大小关系将变量节点分类及将变量节点的更新顺序按照变量节点类别进行排序包括全串行算法,具体步骤为:
设置参考电压Vk在每个存储状态的重叠区域,k=1...Ω,Ω为参考电压总数;
获取闪存单元的阈值电压v的范围;
执行第一循环步骤直到k<0,本步骤k的初始值为其中符号表示向下取整;
选择剩下的变量节点,将其序号存进向量S中;
将向量S中变量节点顺序作为变量节点的更新顺序;
所述第一循环步骤为:
判断k是否大于0,若是,则选择阈值电压在Vk<v<Vk+1的变量节点并将该变量节点的序号存进向量S中;
判断k是否等于0,若是,则选择阈值电压在v≤Vk+1的变量节点并将这个变量节点的序号存进向量S中;
将k减一的值赋给k。
6.根据权利要求1所述的一种多级闪存信道下的LDPC码动态串行调度译码算法,其特征在于,所述根据变量节点对应的阈值电压与预设参考电压的大小关系将变量节点分类及将变量节点的更新顺序按照变量节点类别进行排序包括半串行算法,具体步骤为:
设置参考电压Vk在每个存储状态的重叠区域,k=1...Ω,Ω为参考电压总数;
获取闪存单元的阈值电压v的范围;
执行第二循环步骤直到k<0,本步骤k的初始值为其中符号表示向下取整;
选择剩下的变量节点,将其序号存进向量中;
执行第三循环步骤直到k大于本步骤中的初始值为k=1;
将向量S中变量节点顺序作为变量节点的更新顺序;
所述第二循环步骤为:
判断k是否大于0,若是,则选择阈值电压在Vk<v<Vk+1的变量节点并将该变量节点的序号存进向量中;
判断k是否等于0,若是,则选择阈值电压在v≤Vk+1的变量节点并将这个变量节点的序号存进向量中;
将k减一的值赋给k;
所述第三循环步骤为:
判断集合Bk是否选择串行译码,若是,则将更新顺序Bk存进向量S中;
判断集合Bk是否选择并行译码,若是,则将更新顺序<Bk>存进向量S中,符号<>表示集合内的节点同时更新;
将k加一的值赋给k。
7.根据权利要求1所述的一种多级闪存信道下的LDPC码动态串行调度译码算法,其特征在于,所述预设参考电压具体设定为三个,包括:硬判决参考电压、第一软判决参考电压和第二软判决参考电压;
所述第一软判决参考电压小于所述硬判决参考电压,所述硬判决参考电压小于所述第二软判决参考电压;
所述根据变量节点对应的阈值电压与预设参考电压的大小关系将变量节点分类具体包括:
将阈值电压小于第一软判决参考电压的变量节点分为第一类;
将阈值电压大于第一软判决参考电压且小于硬判决参考电压的变量节点分为第二类;
将阈值电压大于硬判决参考电压且小于第二软判决参考电压的变量节点分为第三类;
将阈值电压大于第二软判决参考电压的变量节点分为第四类。
8.根据权利要求7所述的一种多级闪存信道下的LDPC码动态串行调度译码算法,其特征在于,将变量节点的更新顺序按照变量节点类别进行排序具体包括:
判断闪存受到干扰后,将变量节点的更新顺序按照第二类变量节点、第一类变量节点、第三类和第四类合并变量节点的顺序进行排序。
9.根据权利要求8所述的一种多级闪存信道下的LDPC码动态串行调度译码算法,其特征在于,所述根据排序后的变量节点更新顺序进行调度译码具体包括:
对第二类变量节点进行串行或并行更新;
对第一类变量节点进行串行或并行更新;
对第三类和第四类合并变量节点进行串行或并行更新。
10.一种多级闪存信道下的LDPC码动态串行调度译码装置,其特征在于,包括:闪存管理模块;
所述闪存管理模块包括存储器和处理器;
所述存储器,用于存储指令;
所述处理器,耦合到所述存储器,所述处理器被配置为基于所述存储器存储的指令执行实现如权利要求1至9中任一项所述的方法。