逐渐缩减大小的可变节点存储器制造技术

技术编号:18426086 阅读:18 留言:0更新日期:2018-07-12 01:56
本主题技术提供了一种在支持多种码率的同时选择低密度奇偶校验解码操作中节省可变节点存储器的解码解决方案。一种解码器包括多个变量存储器,可变节点存储器中的每一个具有基于与所述可变节点存储器相关联的各个可变节点相对于一系列可变节点中的第一可变节点的位置的预定的存储器容量;码率决定了使用多少个可变节点存储器,以及在每个存储器中所存储的数据的大小。存储器的容量是预定的,使得随着解码器使用的码率和存储器数量的增加或者减少,最大化每个可变节点存储器的存储器容量的利用。

Gradually reducing the size of variable node memory

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示出了根据本主题技术的各个方面的实现用于支持多个码率的解码器的示例性数据存储系统。图2描绘了根据本主题技术的各个方面的可以用于解码LDPC码字的示例性奇偶校验矩阵。图3描绘了根据本主题技术的各个方面的包括分别用于数据的编码、传输和/或者存储、和解码的编码器、存储通道和解码器的示例性系统。图4描绘了根据本主题技术的各个方面的用于解码码字的比特的示例性解码器。图5描绘了根据本主题技术的各个方面的用于支持多个码率的第一示例性处理的流程图。图6描绘了根据本主题技术的各个方面的用于支持多个码率的第二示例性处理600的流程图。图7描绘了根据本主题技术的各个方面的支持多个码率的可变节点存储器的示例性存储器容量的图表。具体实施方式以下提到的详细描述旨在作为本主题技术的各种配置的描述,并不旨在表示可以实践本主题技术的唯一配置。附图并入本文,并构成详细描述的一部分。为了提供对主题技术的全面了解的目的,详细描述包括具体细节。然而,对于本领域技术人员显而易见的是,可以在没有这些具体细节的情况下实践本主题技术。在某些例子中,众所周知的结构和组件以框图的形式示出,以避免混淆本主题技术的概念。为了便于理解,类似的部件标有相同的元件编号。本主题技术提供了一种支持不同码率的低密度奇偶校验码解码器,并且维持处理可变速率码字所要求的内部存储器空间的低总体占用。在这个方面,解码器可以被初始设置为接收被编码为预定的多个码率中的一个码率的码字。在接收到以所选码率编码的码字时,解码器可以基于所选择的码率自动确定循环行列式大小,并且在一个或者多个奇偶校验操作期间确定与所接收的码字对应的多个置信值(例如,对数似然比率)。然后可以将该置信值存储在多个可变节点存储器中,每个可变节点存储器存储与所确定的循环行列式大小成正比的一定量的数据。可变节点存储器根据预定模式(pattern)逐渐缩减大小(Taper),以减少存储置信值所使用的存储器的总量,从而节省成本和功率需求。图1示出了根据本主题技术的各个方面的实现支持多个码率的解码器的示例数据存储系统100。如图所示,数据存储系统100(例如,固态驱动器)包括控制器130和非易失性存储器阵列150,以及可选地包含磁性介质164的磁性存储160。非易失性存储器阵列150可以包括非易失性存储器,诸如闪存集成电路、硫族化物RAM(ChalcogenideRAM,C-RAM)、相变存储器(PC-RAM或者PRAM)、可编程金属化单元RAM(PMC-RAM或者PMCm)、Ovonic统一存储器(OvonicUnifiedMemory,OUM)、电阻RAM(ResistanceRAM,RRAM)、NAND存储器(例如,单层单元(single-levelcell,SLC)存储器、多层单元(multi-levelcell,MLC)存储器或者其任何组本文档来自技高网...

【技术保护点】
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

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

1