This topic technology provides a decoding solution that saves variable node memory in the selection of low density parity check decoding operations while supporting a variety of bit rates. A decoder includes multiple variable memory, each of which has a predetermined memory capacity based on the location of each variable node associated with the variable node memory related to the variable node in relation to the variable node memory; the bit rate determines how many variable node memories are used. And the size of the data stored in each memory. The capacity of the memory is predetermined, enabling the utilization of the memory capacity of each variable node memory to be maximized as the code rate used by the decoder and the number of memory increases or decrease.
【技术实现步骤摘要】
逐渐缩减大小的可变节点存储器
本主题技术主要涉及利用用于错误校正编码(errorcorrectioncoding,ECC)的低密度奇偶校验(LowDensityParityCheck,LDPC)的数据存储解决方案。
技术介绍
数据存储应用(例如,固态驱动器、硬盘驱动器等)可以使用LDPC来校正在存储和读取或者发送和接收信息时发生的错误。在规划LDPC编码系统中的一种设计选择是满足产品规格所使用的一定量的冗余(ECC奇偶校验位)。这个冗余由LDPC码的码率表示,其等于额外冗余长度除以所存储的总位数。总体趋势是码率越低(添加越多的冗余),用户数据的保护越好,并且错误校正性能越好。如果选择的码率过高,则在目标程序/擦除寿命之前设备可能会失败。另一方面,如果选择的码率过低,则可能浪费额外的存储空间。针对不同的码率和不同的芯片/技术(2X或者1X)或者应用实现了不同的LDPC编码器/解码器设计。来自不同制造商的设备可以利用不同的码率,并且在这方面,码率可以跨越广泛的范围。
技术实现思路
公开了一种用于在可变速率解码器中执行奇偶校验操作的系统和方法。根据一些实施例,一种解码器包括多个可变节点存储器,可变节点存储器中的每一个具有基于与所述可变节点存储器相关联的各个可变节点相对于一系列可变节点中的第一可变节点的位置的预定的存储器容量。该解码器也包括用于存储用于基于校验-可变节点计算来更新在多个可变节点存储器中所存储的可变节点数据的消息的消息缓冲器;以及处理器。该处理器可操作来基于与将使用所述校验-可变节点计算来解码的码字相关联的码率,来确定循环行列式大小和循环行列式数量,基于 ...
【技术保护点】
1.一种解码器,包括:多个可变节点存储器,所述可变节点存储器中的每一个具有基于与所述可变节点存储器相关联的各个可变节点相对于一系列可变节点中的第一可变节点的位置的预定的存储器容量;消息缓冲器,用于存储用于基于校验‑可变节点计算来更新在多个可变节点存储器中所存储的可变节点数据的消息;以及处理器,可操作来:基于与将使用所述校验‑可变节点计算来解码的码字相关联的码率,来确定循环行列式大小和循环行列式数量;基于所确定的循环行列式数量并与所确定的循环行列式数量成正比的,确定将在所述校验‑可变节点计算中使用的所述可变节点存储器的数量;以及将基于所确定的循环行列式大小的一定量的可变节点数据存储在所述数量的可变节点存储器中的每个可变节点存储器中,其中在每个可变节点存储器中所存储的所述可变节点数据的量与所确定的循环行列式数量成反比。
【技术特征摘要】
2016.12.30 US 15/396,3671.一种解码器,包括:多个可变节点存储器,所述可变节点存储器中的每一个具有基于与所述可变节点存储器相关联的各个可变节点相对于一系列可变节点中的第一可变节点的位置的预定的存储器容量;消息缓冲器,用于存储用于基于校验-可变节点计算来更新在多个可变节点存储器中所存储的可变节点数据的消息;以及处理器,可操作来:基于与将使用所述校验-可变节点计算来解码的码字相关联的码率,来确定循环行列式大小和循环行列式数量;基于所确定的循环行列式数量并与所确定的循环行列式数量成正比的,确定将在所述校验-可变节点计算中使用的所述可变节点存储器的数量;以及将基于所确定的循环行列式大小的一定量的可变节点数据存储在所述数量的可变节点存储器中的每个可变节点存储器中,其中在每个可变节点存储器中所存储的所述可变节点数据的量与所确定的循环行列式数量成反比。2.如权利要求1所述的解码器,其中所述多个可变节点存储器被分成可变节点存储器的多个子集,以及其中所确定的循环行列式数量是从多个预定数量中选出的,以及其中在所述多个子集中的第一子集之后的每个子集的所述可变节点存储器具有比每个先前子集的可变节点存储器更低的存储器容量。3.如权利要求2所述的解码器,其中所述子集的第一子集包括具有比所述第二子集中的所述可变节点存储器更低的存储器容量的可变节点存储器,其中所述子集的第一子集与比所述子集的第二子集相关联的可变节点距离所述第一可变节点更远的可变节点相关联。4.如权利要求3所述的解码器,其中所述处理器还可操作来:从多个码率中选择所述码率;并且接收码字,所述码字以所述码率被编码;并且执行校验-可变节点计算以解码所述码字。5.如权利要求4所述的解码器,其中所述处理器还可操作来:接收在所述校验可变节点计算中使用的现有码率改变为所述多个码率中的新码率的指示;并且响应于接收到所述指示,基于所述新码率来改变所述确定的循环行列式数量、所确定的循环行列式大小和所述可变节点存储器的数量。6.如权利要求3所述的解码器,其中所述多个可变节点存储器包括:可变节点存储器的第一子集,所述第一子集中的每个可变节点存储器具有第一容量;可变节点存储器的第二子集,所述第二子集中的每个可变节点存储器具有小于所述第一容量的第二容量;以及可变节点存储器的第三子集,所述第三子集中的每个可变节点存储器具有小于所述第二容量的第三容量。7.如权利要求6所述的解码器,其中所述处理器还可操作来:在所述码率为第一码率的情况下,基于所述第一码率将可变节点存储器的数量设定为第一预定数量,并且将第一量的可变节点数据存储在所述第一预定数量的所述可变节点存储器的每一个中;在所述码率为第二码率的情况下,基于所述第二码率将所述可变节点存储器的数量设定为第二预定数量,并且将第二量的可变节点数据存储在所述第二预定数量的所述可变节点存储器的每一个中,其中所述第二量大于所述第一量,并且所述第一预定数量的可变节点存储器的第一子集不被用于所述第二码率;并且在所述码率为第三码率的情况下,基于所述第三码率将所述可变节点存储器的数量设定为第三预定数量,并且将第三量的可变节点数据存储在所述第三预定数量的所述可变节点存储器的每一个中,其中所述第三量大于所述第二量,并且所述第二预定数量的所述可变节点存储器的第一子集和第二子集不被用于所述第三码率。8.如权利要求3所述的解码器,其中所述可变节点存储器的每一个与处理器和其它解码电路一起被嵌入在集成电路封装中。9.如权利要求1所述的解码器,其中在各个可变节点存储器中的每一个中所存储的数据的量对应于所述码字中的比特位置的置信值。10.如权利要求9所述的解码器,其中所述置信值中的每一个是对数似然比,并且所确定的循环行列式中的每一个是奇偶校验矩阵的子矩阵,并且是单位矩阵的形式。11.一种非暂态机器实现的方法,包括:基于与将使用所述校验-可变节点计算来解码的码字相关联的码率,来确定循环行列式大小和循环行列式数量;基于所确定的循环行列式数量并且与所确定的循环行列式数量成正比的,从多个可变节点存储器中确定将在所述校验-可变节点计算中使用的所述可变节点存储器的数量,所述可变节点存储器中的每一个具有基于与所述可变节点存储器相关联的各个可变节点相对于一系列可变节点中的第一可变节点的位置的预定的存储器容量;将基于所确定的循环行列式大小的一定量的可变节点数据存储在所述数量的可变节点存储器中的每个可变节点存储器中,其中在每个可变节点存储器中所存储的所述可变节点数据的量与所确定的循环行列式数量成反比。12.如权利要求11所述的非暂态机器实现的方法,其中所述多个可变节点存储器被分成可变节点存储器的多个子集,以及其中所确定的循环行列式数量是从多个预定数量中选出的,以及其中在所述多个子集中的第一子集之后的每个子集的所述可变节点存储器具有比每个先前子集的可变节点存储器更低的存储器容量。13.如权利要求12所述的非暂态机器实现的方法,还包括...
【专利技术属性】
技术研发人员:J贝尔,DK达什,M内马蒂阿纳拉基,
申请(专利权)人:西部数据技术公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。