一种降低多级循环移位网络级联级数的方法及装置与流程

文档序号:17535125发布日期:2019-04-29 13:54阅读:280来源:国知局
一种降低多级循环移位网络级联级数的方法及装置与流程

本发明涉及固态硬盘,更具体地说是指一种降低多级循环移位网络级联级数的方法及装置。



背景技术:

目前qc-ldpc(准循环低密度奇偶校验码,quasi-cysliclow-densityparity-checkcodes)译码算法硬件实现时都无法避免qsn(准循环低密度奇偶校验码移位网络,qc-ldpcshiftnetwork)设计单元,qsn实现的复杂度随着循环移位网络块的尺寸的增大而越来越大,同样意味着关键路径将会越来越长,时序也会变差,后端连线的复杂度也会越来越大。

如图1所示,现有的qsn硬件实现装置在对数据进行移位时,是将数据直接右移,将左边的值和右边的值再进行合并,该装置后端连线不会很复杂,组合逻辑路径相对较短,但是资源所占面积会比较大,硬件代价较高;如图2所示,现有的另一种qsn硬件实现装置是一种按位级联的移位装置,该装置连线较多,组合逻辑关键路径较长,但是面积小,硬件代价低,是一种很常见的qsn装置,采用该装置进行循环移位网络块的尺寸为32的移位时其内部连线如图3所示,图中c[4]、c[3]、c[2]、c[1]、c[0]为选择开关,选择开关处于不同状态时,内部连线不同。

因此,有必要设计一种新的方法,以使得qsn硬件实现装置面积小,且组合逻辑关键路径变短,时序更好,可以在更高的频率工作。



技术实现要素:

本发明的目的在于克服现有技术的缺陷,提供一种降低多级循环移位网络级联级数的方法及装置。

为实现上述目的,本发明采用以下技术方案:一种降低多级循环移位网络级联级数的方法,包括:

将循环移位网络块调整为双层循环移位网络块;

对双层循环移位网络块进行区分,以得到主循环移位网络块和子循环移位网络块;

获取计算逻辑较少的模块,以形成待处理单元;

将主循环移位网络块放置于待处理单元;

按照开关打开状态下设定的连线规则进行主循环移位网络块和子循环移位网络块的内部连线;

在原有的准循环低密度奇偶校验码移位网络内执行子循环移位网络块的移位操作;

在待处理单元内执行主循环移位网络块的移位操作。

其进一步技术方案为:所述对双层循环移位网络块进行区分,以得到主循环移位网络块和子循环移位网络块之后,还包括:

调整准循环低密度奇偶校验码的校验阵结构,以得到优化后的校验阵结构。

其进一步技术方案为:所述优化后的校验阵结构为:

其中,qy,x为主循环移位网络块,y表示主循环移位网络块内循环右移数据的个数,m为主循环移位网络块的尺寸,qx为子循环移位网络块;

其中,z为子循环移位网络块的尺寸,x为子循环移位网络块循环右移数据的个数。

其进一步技术方案为:所述对双层循环移位网络块进行区分,以得到主循环移位网络块和子循环移位网络块,包括:

根据循环移位网络块的尺寸确定主循环移位网络块的尺寸以及子循环移位网络块的尺寸;

根据优化后的校验阵结构确定主循环移位网络块的级联级数以及子循环移位网络块的级联级数。

其进一步技术方案为:所述循环移位网络块的尺寸为qc_size=m×z,其中,qc_size为循环移位网络块的尺寸,m为主循环移位网络块的尺寸,z为子循环移位网络块的尺寸。

其进一步技术方案为:所述主循环移位网络块的级联级数为log2(m),其中m为主循环移位网络块的尺寸。

其进一步技术方案为:所述子循环移位网络块的级联级数为log2(z),其中z为子循环移位网络块的尺寸。

其进一步技术方案为:所述设定的连线规则为:o[i]=i[(i+2c_index)mod(qc_size)],i取[0,qc_size-1],c_index为对应的循环移位偏移值信号的比特下标,i代表主循环移位网络块和子循环移位网络块各级的输入,o[i]是主循环移位网络块和子循环移位网络块各级的输出。

本发明还提供了一种降低多级循环移位网络级联级数的装置,包括:

网络块调整单元,用于将循环移位网络块调整为双层循环移位网络块;

区分单元,用于对双层循环移位网络块进行区分,以得到主循环移位网络块和子循环移位网络块;

模块获取单元,用于获取计算逻辑较少的模块,以形成待处理单元;

主块放置单元,用于将主循环移位网络块放置于待处理单元;

连线单元,用于按照开关打开状态下设定的连线规则进行主循环移位网络块和子循环移位网络块的内部连线;

子块移位单元,用于在原有的准循环低密度奇偶校验码移位网络内执行子循环移位网络块的移位操作;

主块移位单元,用于在待处理单元内执行主循环移位网络块的移位操作。

其进一步技术方案为:所述装置还包括:

校验阵优化单元,用于调整准循环低密度奇偶校验码的校验阵结构,以得到优化后的校验阵结构。

本发明与现有技术相比的有益效果是:本发明通过将整个循环移位网络块分成两部分,分别为主循环移位网络块和子循环移位网络块,原有的准循环低密度奇偶校验码移位网络只需完成子循环移位网络块的移位操作,而主循环移位网络块部分将放置在计算逻辑较少的模块进行,不需要增加寄存器资源来达到缓解时序的作用,以使得qsn硬件实现装置面积小,且组合逻辑关键路径变短,时序更好,可以在更高的频率工作。

下面结合附图和具体实施例对本发明作进一步描述。

附图说明

为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为现有技术的第一种qsn硬件实现装置移位流程示意图;

图2为现有技术的第二种qsn硬件实现装置移位流程示意图;

图3为现有技术的第二种qsn硬件实现装置进行循环移位网络块的尺寸为32的移位时内部连线示意框图;

图4为本发明实施例提供的一种降低多级循环移位网络级联级数的方法的流程示意图;

图5为本发明实施例提供的一种降低多级循环移位网络级联级数的方法的子流程示意图;

图6为本发明实施例提供的qsn结构调整对比示意图;

图7为本发明实施例提供的一种降低多级循环移位网络级联级数的方法的内部连线示意性框图。

图8为本发明实施例提供的一种降低多级循环移位网络级联级数的装置的示意性框图;

图9为本发明实施例提供的一种降低多级循环移位网络级联级数的装置的区分单元的示意性框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

请参阅图4,图4为本发明实施例提供的一种降低多级循环移位网络级联级数的方法的应用场景示意图。一种降低多级循环移位网络级联级数的方法应用于带有固态硬盘的设备中。对该设备内的准循环低密度奇偶校验码的译码器内的准循环低密度奇偶校验码移位网络块进行拆分处理,以使得qsn硬件实现装置面积小,且组合逻辑关键路径变短,时序更好,可以在更高的频率工作。

图4是本发明实施例提供的一种降低多级循环移位网络级联级数的方法的流程示意图。如图4所示,该方法包括以下步骤s110至s180。

s110、将循环移位网络块调整为双层循环移位网络块。

在本实施例中,双层循环移位网络块是指将循环移位网络块按照其尺寸的大小以及实际移位需求划分为两个小块。该循环移位网络块指代的是qsn块。

具体地,如图6所示,在循环移位网络块的尺寸和量化比特位数都很大的情况下才进行划分,有利于对双层循环移位网络块进行单层地处理,以减少装置面积,和减短组合逻辑关键路径。

s120、对双层循环移位网络块进行区分,以得到主循环移位网络块和子循环移位网络块。

其中,主循环移位网络块是指不在原有的准循环低密度奇偶校验码移位网络内执行移位操作的块;子循环移位网络块是指在原有的准循环低密度奇偶校验码移位网络内执行移位操作的块。

在实际使用过程中,可以约定一个区分规则进行主循环移位网络块和子循环移位网络块的区分,一般主循环移位网络块相比子循环移位网络块要小,具体循环移位网络块的尺寸大小根据实际情况而定。

在一实施例中,如图5所示,上述的步骤s120可包括步骤s121~s122。

s121、根据循环移位网络块的尺寸确定主循环移位网络块的尺寸以及子循环移位网络块的尺寸。

在本实施例中,循环移位网络块的尺寸为qc_size=m×z,其中,qc_size为循环移位网络块的尺寸,m为主循环移位网络块的尺寸,z为子循环移位网络块的尺寸。只要满足主循环移位网络块的尺寸以及子循环移位网络块的尺寸之积为循环移位网络块的尺寸即可,实际上主循环移位网络块的尺寸以及子循环移位网络块的尺寸可以根据实际情况按需分配。

s122、根据优化后的校验阵结构确定主循环移位网络块的级联级数以及子循环移位网络块的级联级数。

所述主循环移位网络块的级联级数为log2(m),其中m为主循环移位网络块的尺寸。所述子循环移位网络块的级联级数为log2(z),其中z为子循环移位网络块的尺寸。

确定主循环移位网络块的尺寸、子循环移位网络块的尺寸、主循环移位网络块的级联级数、子循环移位网络块的级联级数便可进行主循环移位网络块、子循环移位网络块各自的内部连线,以进行移位操作。

s130、调整准循环低密度奇偶校验码的校验阵结构,以得到优化后的校验阵结构。

在本实施例中,优化后的校验阵结构是指对循环移位网络块进行划分后,以双层循环移位网络块作为主体,计算而得的校验阵结构。

具体地,准循环低密度奇偶校验码的校验阵结构可以表示为:

其中,q为循环单位矩阵或者全零矩阵。

所述优化后的校验阵结构为:

其中,qy,x为主循环移位网络块,y表示主循环移位网络块内循环右移数据的个数,m为主循环移位网络块的尺寸,qx为子循环移位网络块;

其中,z为子循环移位网络块的尺寸,即表示循环校验阵的大小,x为子循环移位网络块循环右移数据的个数,即第一行中1的下标位置。

s140、获取计算逻辑较少的模块,以形成待处理单元;

s150、将主循环移位网络块放置于待处理单元。

在本实施例中,待处理单元可以是vnu(变量比特节点更新,variablenodeunit)处理单元,还可以为其他计算逻辑较小的模块,将主循环移位网络块放置于待处理单元,在该待处理单元内进行移位操作,在不增加寄存器资源的情况下缩短组合逻辑的路径延迟,不需要额外的寄存器来缓存中间值来改善时序,且原有的准循环低密度奇偶校验码移位网络的工作效率更高。

s160、按照开关打开状态下设定的连线规则进行主循环移位网络块和子循环移位网络块的内部连线。

在本实施例中,上述的设定的连线规则为:o[i]=i[(i+2c_index)mod(qc_size)],i取[0,qc_size-1],c_index为对应的循环移位偏移值信号的比特下标,在循环移位偏移值信号c[c_index]为1,即开关打开的情况下选择采用这种连接方式,i代表主循环移位网络块和子循环移位网络块各级的输入,o[i]是主循环移位网络块和子循环移位网络块各级的输出。

具体地,当循环移位网络块的尺寸为32,c[4:0]表示循环移位偏移值,对应每个比特位作为每一级的选择开关;随着循环移位网络块的变大,每一级的输入输出也会变得很大,同时级联级数成为该模块跑高速时钟最大的瓶颈,因此需要减少该模块组合电路的级数,减少关键路径延迟,请参阅图7,其中主循环移位网络块的尺寸为4,级联级数为2;子循环移位网络块的尺寸为8,级联级数为3。循环移位网络通过4组循环移位并行处理,只需要完成子循环移位网络块的循环移位操作,每一级输入输出都为8组,一共4组并行,每一级的连线相对减少,改为增加并行度,因此连线布线具有更大的灵活性,另外更重要的是级联的路径变短,可以跑更高的频率,主循环移位网络块更加简单,只需要两级级联,每一级输入输出都是4,连线更加简单,面积相对减小。

整个qsn硬件实现装置需要级联的级数为:qc_len=log2(qc_size)=log2(m)+log2(z),其中,qc_len为未调整前qsn硬件实现装置需要级联的级数,log2(m)为主循环移位网络块的级联级数,log2(z)为子循环移位网络块的级联级数,具体是子循环移位网络块完成qsn循环移位所需的级联级数。

优化后的循环移位网络相当于子循环移位网络块的移位操作,级联级数从qc_len变为log2(z),相比少了log2(m)级的组合电路延迟,不会增加寄存器资源,也能达到改善时序的作用;相比图3中循环移位网络,级联级数减小2,组合逻辑路径变短,可以跑更高的速度。而剩下的主循环移位网络块则放置于计算逻辑较少的vnu模块中进行,只需要一个级数为2,输入输出都是4组信号的移位网络就可以实现,大大降低了布局布线的难度,更关键的是缩短了组合路径的延迟,使得准循环低密度奇偶校验码移位网络电路可以在更高的频率上工作。

实际使用中循环移位网络的尺寸可能更大,根据功能需要,可以适当调整主循环移位网络块和子循环移位网络块以获得面积和速度的最大平衡。

s170、在原有的准循环低密度奇偶校验码移位网络内执行子循环移位网络块的移位操作;

s180、在待处理单元内执行主循环移位网络块的移位操作。

将整个循环移位网络块所做的移位操作分成双层循环移位网络块,由主循环移位网络块和子循环移位网络块在不同的位置执行移位操作,能够减少硬件实现中组合逻辑的关键路径长度,继而降低后端布局布线的难度,优化综合时序,以获得速度和面积的最大平衡。

上述的一种降低多级循环移位网络级联级数的方法,通过将整个循环移位网络块分成两部分,分别为主循环移位网络块和子循环移位网络块,原有的准循环低密度奇偶校验码移位网络只需完成子循环移位网络块的移位操作,而主循环移位网络块部分将放置在计算逻辑较少的模块进行,不需要增加寄存器资源来达到缓解时序的作用,以使得qsn硬件实现装置面积小,且组合逻辑关键路径变短,时序更好,可以在更高的频率工作。

图8是本发明实施例提供的一种降低多级循环移位网络级联级数的装置300的示意性框图。如图8所示,对应于以上一种降低多级循环移位网络级联级数的方法,本发明还提供一种降低多级循环移位网络级联级数的装置300。该降低多级循环移位网络级联级数的装置300包括用于执行上述降低多级循环移位网络级联级数的方法的单元,该装置可以被配置于带有固态硬盘的设备中。

具体地,请参阅图8,该降低多级循环移位网络级联级数的装置300包括:

网络块调整单元301,用于将循环移位网络块调整为双层循环移位网络块;

区分单元302,用于对双层循环移位网络块进行区分,以得到主循环移位网络块和子循环移位网络块;

模块获取单元304,用于获取计算逻辑较少的模块,以形成待处理单元;

主块放置单元305,用于将主循环移位网络块放置于待处理单元;

连线单元306,用于按照开关打开状态下设定的连线规则进行主循环移位网络块和子循环移位网络块的内部连线;

子块移位单元307,用于在原有的准循环低密度奇偶校验码移位网络内执行子循环移位网络块的移位操作;

主块移位单元308,用于在待处理单元内执行主循环移位网络块的移位操作。

在一实施例中,所述装置还包括:

校验阵优化单元303,用于调整准循环低密度奇偶校验码的校验阵结构,以得到优化后的校验阵结构。

在一实施例中,如图9所示,上述的区分单元302包括:

尺寸确定子单元3021,用于根据循环移位网络块的尺寸确定主循环移位网络块的尺寸以及子循环移位网络块的尺寸;

级数确定子单元3022,用于根据优化后的校验阵结构确定主循环移位网络块的级联级数以及子循环移位网络块的级联级数。

需要说明的是,所属领域的技术人员可以清楚地了解到,上述降低多级循环移位网络级联级数的装置300和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1