一种高灵活度低带宽的SSD主控芯片的运算加速电路的制作方法

专利2022-05-09  35


本实用新型涉及芯片电路设计领域,特别涉及一种高灵活度低带宽的ssd主控芯片的运算加速电路。



背景技术:

ssd数据存储已经逐渐成为消费设备数据存储和云存储的主要存储介质。对于ssd数据存储来说,数据纠错的意义十分重大,特别是个人关键数据和政府机构相关的数据。ssd主控芯片作为ssd存储设备的大脑,其纠错性能和加解密性能直接决定ssd硬盘的耐用度。

目前,ssd主控芯片的纠错功能和加解密功能都是由固定的实现特定纠错算法或加解密算法的加速电路实现,这种电路只能实现相对固定的逻辑运算过程,一旦ssd硬盘产出来就无法升级纠错性能,进行更加复杂的逻辑运算。面对日新月异的科技发展环境而言,这种智能进行固定逻辑运算的ssd固态硬盘极容易被淘汰。



技术实现要素:

为此,需要提供一种高灵活度低带宽的ssd主控芯片的运算加速电路的技术方案,用以解决现有技术的ssd主控芯片算力固定、灵活性差等问题。

为实现上述目的,本实用新型第一方面提供了一种高灵活度低带宽的ssd主控芯片的运算加速电路,包括:互联阵列、运算阵列和存储器;

所述运算阵列包括命令读取单元、回写控制单元和多个运算模块;每一运算模块包括输入队列处理单元、逻辑运算单元和输出队列处理单元;

所述输入队列处理单元与逻辑运算单元连接,所述逻辑运算单元与所述输出队列处理单元连接;各个运算模块中的输入队列处理单元均与所述互联阵列、所述命令读取单元连接,各个运算模块中的输出队列处理单元均与所述互联阵列、所述回写控制单元连接;

所述回写控制单元与所述存储器连接,所述存储器与所述命令读取单元连接。

进一步地,所述命令读取单元用于读取命令信息,所述命令信息包含运算数据和运算层级;所述运算层级根据当前算式中各个逻辑运算的先后顺序确定。

进一步地,所述命令读取单元为nand读写控制器。

进一步地,所述逻辑运算单元包括乘法运算阵列、加法运算阵列、减法运算阵列中的任一项。

进一步地,当所述逻辑运算单元为乘法运算阵列时,所述乘法运算阵列包括8bit精度乘法器阵列单元、16bit精度乘法器阵列单元、32bit精度乘法器阵列单元、64bit精度乘法器阵列单元中的任一项;

当所述逻辑运算单元为加法运算阵列时,所述加法运算阵列包括8bit精度加法器阵列单元、16bit精度加法器阵列单元、32bit精度加法器阵列单元、64bit精度加法器阵列单元中的任一项;

当所述逻辑运算单元为减法运算阵列时,所述减法运算阵列包括8bit精度减法器阵列单元、16bit精度减法器阵列单元、32bit精度减法器阵列单元、64bit精度减法器阵列单元中的任一项。

进一步地,所述互联阵列为可配置连接总线。

进一步地,所述回写控制单元为cpu。

进一步地,所述输入队列处理单元为mcu处理器,所述输出队列处理单元为mcu处理器。

区别于现有技术,上述技术方案所述的高灵活度低带宽的ssd主控芯片的运算加速电路,包括:互联阵列、运算阵列和存储器;所述运算阵列包括命令读取单元、回写控制单元和多个运算模块;每一运算模块包括输入队列处理单元、逻辑运算单元和输出队列处理单元;所述输入队列处理单元与逻辑运算单元连接,所述逻辑运算单元与所述输出队列处理单元连接;各个运算模块中的输入队列处理单元均与所述互联阵列、所述命令读取单元连接,各个运算模块中的输出队列处理单元均与所述互联阵列、所述回写控制单元连接;所述回写控制单元与所述存储器连接,所述存储器与所述命令读取单元连接。

上述方案通过互联阵列让所有逻辑运算单元相连,再通过命令读取单元读取命令数据包的形式让数据流自动形成运算数据包,每一运算模块在完成自身对应的逻辑运算后通过互联阵列自动将运算结果发往下一运算模块,待所有运算均完成后通过会写控制单元将最终运算结果存储于存储器中,并通过所述命令读取单元进行回读。当需要进行不同的逻辑运算时,只需编辑相应层级的命令数据包输入到本实用新型的加速电路即可,从而极大提高了逻辑运算的效率和灵活度。

附图说明

图1为本实用新型一实施例涉及的高灵活度低带宽的ssd主控芯片的运算加速电路的流程结构示意图;

附图标记说明:

101、高灵活度低带宽的ssd主控芯片的运算加速电路;

20、互联阵列;

30、运算阵列;

301、命令读取单元;

302、回写控制单元;

303、运算模块;3031、输入队列处理单元;3032、逻辑运算单元;3033、输出队列处理单元;

304、乘法运算阵列;

305、加法运算阵列;

306、减法运算阵列;

40、存储器。

具体实施方式

为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。

请参阅图1,为本实用新型一实施例涉及的高灵活度低带宽的ssd主控芯片的运算加速电路的流程结构示意图。加速电路包括:互联阵列20、运算阵列30和存储器40;

所述运算阵列30包括命令读取单元301、回写控制单元302和多个运算模块303;每一运算模块303包括输入队列处理单元3031、逻辑运算单元3032和输出队列处理单元3033;

所述输入队列处理单元3031与逻辑运算单元3032连接,所述逻辑运算单元3032与所述输出队列处理单元3033连接;各个运算模块303中的输入队列处理单元3031均与所述互联阵列20、所述命令读取单元301连接,各个运算模块303中的输出队列处理单元3033均与所述互联阵列20、所述回写控制单元302连接;所述回写控制单元302与所述存储器40连接,所述存储器40与所述命令读取单元301连接。

上述方案通过互联阵列让所有逻辑运算单元相连,再通过命令读取单元读取命令数据包的形式让数据流自动形成运算数据包,每一运算模块在完成自身对应的逻辑运算后通过互联阵列自动将运算结果发往下一运算模块,待所有运算均完成后通过会写控制单元将最终运算结果存储于存储器中,并通过所述命令读取单元进行回读。当需要进行不同的逻辑运算时,只需编辑相应层级的命令数据包输入到本实用新型的加速电路即可,从而极大提高了逻辑运算的效率和灵活度。

相较于每次逻辑运算都需要从存储器读取数据和回写数据的方式,本实用新型涉及的加速电路只需要从存储器读取一次数据,通过加速电路中各个模块的运算就能得到最终的运算结果,并将得到的最终运算结果回写到存储器中,从而大幅节省了存储带宽。同时,一次读入的数据可以通过互联阵列广播到多个运算模块使用,在数据复用较多的运算中能够使得数据使用效率大幅提升。

在某些实施例中,所述命令读取单元为nand读写控制器。所述互联阵列为可配置连接总线,所述回写控制单元为cpu。所述输入队列处理单元为mcu处理器,所述输出队列处理单元为mcu处理器。

所述逻辑运算单元包括乘法运算阵列、加法运算阵列、减法运算阵列中的任一项。优选的,当所述逻辑运算单元为乘法运算阵列时,所述乘法运算阵列包括8bit精度乘法器阵列单元、16bit精度乘法器阵列单元、32bit精度乘法器阵列单元、64bit精度乘法器阵列单元中的任一项;当所述逻辑运算单元为加法运算阵列时,所述加法运算阵列包括8bit精度加法器阵列单元、16bit精度加法器阵列单元、32bit精度加法器阵列单元、64bit精度加法器阵列单元中的任一项;当所述逻辑运算单元为减法运算阵列时,所述减法运算阵列包括8bit精度减法器阵列单元、16bit精度减法器阵列单元、32bit精度减法器阵列单元、64bit精度减法器阵列单元中的任一项。

在某些实施例中,所述命令读取单元用于读取命令信息,所述命令信息包含运算数据和运算层级;所述运算层级根据当前算式中各个逻辑运算的先后顺序确定。对于每一次输入到本实用新型涉及的加速电路的数据可以通过以下方式得到:在新算法设计完成后,用c语言完成设计,然后通过编译器将c语言中的运算编译为汇编语言的基础逻辑运算,再通过运算驱动映射工具,将汇编中的基础逻辑运算映射到电路中支持的运算加速单元的运算,并标记运算的顺序、并行度、多拍等待时间(multi-cycle)等,得到命令信息(即命令数据包)。命令数据包的内容包括各种逻辑运算的顺序和标识信息。

例如第一层级运算是id为2的一个加法运算,并行度为6(加法阵列中6个加法电路并行工作),多拍时间为1个时钟周期,第二层级运算是id为1的加法运算,id为2的乘法运算,id为3的减法运算,并行度分别为5、4、6,多拍时间为2个时钟周期(由最长运算模块的时间决定,假设乘法电路进行乘法运算需要2个时钟周期,由于在三种运算中乘法运算模块所需的时间通常高于加法或减法运算,因而第二层级运算的多拍时间可以定义为2个时钟周期),然后在结束运算后输出3个结果,3个结果分别对应的运算为先加再加、先加再乘、先加再减。

再比如当前需要进行a1*b1 a2*b2的运算,经过编译后,可以得到的2级命令数据包,第一层级的命令数据包为id为1、并行度为2的乘法运算,第二层级命令数据包为id为2、并行度为1的加法运算。原始命令数据包的输入数据为a1,b1,a2,b2。在使用本申请的加速电路进行运算时,首先id为1的命令数据包被送到输入队列处理单元1,而后调用2个乘法运算单元进行并行度2的乘法运算,算出a1*b1和a2*b2的结果,并将2个结果值作为第二级命令数据包的输入,将二级命令数据包重新进入互联阵列。逻辑运算单元为加法运算的运算模块侦测到当前命令数据包头部id与自己的相同,则会从所述互联阵列中获取二级命令数据包,并将id为2的命令数据包传输到输入队列处理单元2,然后调用1个加法运算单元进行并行度1的运算,算出a1*b1 a2*b2的结果,此时输出队列处理单元2判断命令信息中的级数已经完全删除,则说明当前输出的就是本次运算的最终结果,因而会将本次运算的最终结果写回到存储器中。

本申请的运算加速电路开始工作后,运算阵列先从存储器中读取带有命令信息的源数据包,然后将源数据包通过互联阵列广播到所有运算模块的输入队列处理单元中,而后每个运算模块的输入队列处理单元根据广播的数据包中的命令信息检索自己是否为需要执行当前运算的目标运算单元(命令包头部会有id信息,判断当前监听到的数据包中的id信息是否与自身运算模块的id信息一致),如果不是则不响应,如果是则将数据包的数据送往后续的运算单元进行计算,而后运算模块根据命令信息中的并行度决定调用逻辑运算单元中的几个运算器(如乘法器、加法器或减法器)并行完成计算,并将计算完的数据送往对应的输出队列处理单元。

而后输出队列处理单元根据命令信息中的多拍时间来等待对应的时钟周期数后对运算模块的输出结果进行采样,然后再将计算结果数据作为新的数据包中的数据段内容,同时把命令信息中当前级数的信息删除后剩余的命令信息重新合并上当前运算结果数据作为新的数据包送入互联阵列中,如此循环直至命令信息的级数全部被删除。如果命令信息中的级数已经全部删除,则说明当前运算阵列已完成全部逻辑运算,最后一个运算模块的输出队列处理单元会将当前运算结果数据送往回写控制单元,并通过所述回写控制单元将最终运算结果回写到存储器中。

本实用新型公开了一种高灵活度低带宽的ssd主控芯片的运算加速电路,包括:互联阵列、运算阵列和存储器;所述运算阵列包括命令读取单元、回写控制单元和多个运算模块;每一运算模块包括输入队列处理单元、逻辑运算单元和输出队列处理单元;上述方案通过互联阵列让所有逻辑运算单元相连,每一运算模块在完成自身对应的逻辑运算后通过互联阵列自动将运算结果发往下一运算模块,待所有运算均完成后通过会写控制单元将最终运算结果存储于存储器中,并通过所述命令读取单元进行回读。当需要进行不同的逻辑运算时,只需编辑相应层级的命令数据包输入到本实用新型的加速电路即可,从而极大提高了逻辑运算的效率和灵活度。

需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本实用新型的专利保护范围。因此,基于本实用新型的创新理念,对本文所述实施例进行的变更和修改,或利用本实用新型说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本实用新型的专利保护范围之内。


技术特征:

1.一种高灵活度低带宽的ssd主控芯片的运算加速电路,其特征在于,包括:互联阵列、运算阵列和存储器;

所述运算阵列包括命令读取单元、回写控制单元和多个运算模块;每一运算模块包括输入队列处理单元、逻辑运算单元和输出队列处理单元;

所述输入队列处理单元与逻辑运算单元连接,所述逻辑运算单元与所述输出队列处理单元连接;各个运算模块中的输入队列处理单元均与所述互联阵列、所述命令读取单元连接,各个运算模块中的输出队列处理单元均与所述互联阵列、所述回写控制单元连接;

所述回写控制单元与所述存储器连接,所述存储器与所述命令读取单元连接。

2.如权利要求1所述的高灵活度低带宽的ssd主控芯片的运算加速电路,其特征在于,所述命令读取单元用于读取命令信息,所述命令信息包含运算数据和运算层级;所述运算层级根据当前算式中各个逻辑运算的先后顺序确定。

3.如权利要求1所述的高灵活度低带宽的ssd主控芯片的运算加速电路,其特征在于,所述命令读取单元为nand读写控制器。

4.如权利要求1所述的高灵活度低带宽的ssd主控芯片的运算加速电路,其特征在于,所述逻辑运算单元包括乘法运算阵列、加法运算阵列、减法运算阵列中的任一项。

5.如权利要求4所述的高灵活度低带宽的ssd主控芯片的运算加速电路,其特征在于,

当所述逻辑运算单元为乘法运算阵列时,所述乘法运算阵列包括8bit精度乘法器阵列单元、16bit精度乘法器阵列单元、32bit精度乘法器阵列单元、64bit精度乘法器阵列单元中的任一项;

当所述逻辑运算单元为加法运算阵列时,所述加法运算阵列包括8bit精度加法器阵列单元、16bit精度加法器阵列单元、32bit精度加法器阵列单元、64bit精度加法器阵列单元中的任一项;

当所述逻辑运算单元为减法运算阵列时,所述减法运算阵列包括8bit精度减法器阵列单元、16bit精度减法器阵列单元、32bit精度减法器阵列单元、64bit精度减法器阵列单元中的任一项。

6.如权利要求1所述的高灵活度低带宽的ssd主控芯片的运算加速电路,其特征在于,所述互联阵列为可配置连接总线。

7.如权利要求1所述的高灵活度低带宽的ssd主控芯片的运算加速电路,其特征在于,所述回写控制单元为cpu。

8.如权利要求1所述的高灵活度低带宽的ssd主控芯片的运算加速电路,其特征在于,所述输入队列处理单元为mcu处理器,所述输出队列处理单元为mcu处理器。

技术总结
本实用新型公开了一种高灵活度低带宽的SSD主控芯片的运算加速电路,包括:互联阵列、运算阵列和存储器;所述运算阵列包括命令读取单元、回写控制单元和多个运算模块;每一运算模块包括输入队列处理单元、逻辑运算单元和输出队列处理单元;上述方案通过互联阵列让所有逻辑运算单元相连,每一运算模块在完成自身对应的逻辑运算后通过互联阵列自动将运算结果发往下一运算模块,待所有运算均完成后通过会写控制单元将最终运算结果存储于存储器中,并通过所述命令读取单元进行回读。当需要进行不同的逻辑运算时,只需编辑相应层级的命令数据包输入到本实用新型的加速电路即可,从而极大提高了逻辑运算的效率和灵活度。

技术研发人员:廖裕民;范科伟;刘承;李超;刘福荣;王俊
受保护的技术使用者:深圳安捷丽新技术有限公司
技术研发日:2021.01.20
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-31064.html

最新回复(0)