硬件加速模块及存储设备制造技术

技术编号:20840978 阅读:44 留言:0更新日期:2019-04-13 08:34
本发明专利技术公开了一种硬件加速模块及存储设备,所述硬件加速模块用于设置在数据链路层和物理层之间,所述硬件加速模块为流水线硬件加速结构,所述流水线硬件加速结构由多个流水线单元按照流水线形式构成。本发明专利技术有效地解决了存储设备的数据通路不能同时兼备数据吞吐量和灵活度的问题。

【技术实现步骤摘要】
硬件加速模块及存储设备
本专利技术涉及集成电路领域和计算机
,特别是涉及一种硬件加速模块及存储设备。
技术介绍
存储控制器或存储设备(例如SSD(SolidStateDisk,固体硬盘)、机械硬盘等)最关键指标为:足够数据读写速度(吞吐量),同时具备足够的功能灵活度(可编程度)。而存储控制器中,传输层、数据链路层两部分作为整体与物理层之间的数据通路是最大设计瓶颈之一。现有数据通路的设计中可以采用软件方案和纯硬件方案;其中,软件方案一般使用一个或多个CPU(CentralProcessingUnit,中央处理器)实现数据通路的控制,以保证存储控制器的灵活度。但传输层和数据链路层软件功能过度集中并且过多地参与数据通路功能,各层低速软件和所对应层高速硬件之间频繁交互,软硬件并行度和数据吞吐量较低。而在物理层存储器接口上则表现为无法满负荷运行。纯硬件方案(典型为专用集成电路)实现整个数据通路以保证数据吞吐量,但硬件实现会大幅降低设计的功能灵活度(可编程度)。基于此,针对数据通路设计中不能同时兼备数据吞吐量和灵活度的问题,本领域未给出有效的解决方案。
技术实现思路
为了克服上述缺陷,本专利技术要解决的技术问题是提供一种硬件加速模块及存储设备,用以解决存储设备的数据通路不能同时兼备数据吞吐量和灵活度的问题。为解决上述技术问题,本专利技术实施例提供一种硬件加速模块,所述硬件加速模块用于设置在数据链路层和物理层之间,所述硬件加速模块为流水线硬件加速结构,所述流水线硬件加速结构由多个流水线单元按照流水线形式构成。可选地,所述流水线硬件加速结构设置有消息队列;所述消息队列用于接收所述多个流水线单元的消息,并设置有用于与所述数据链路层进行消息交互的消息接口、用于与物理层进行消息交互的消息接口以及用于与外部模块进行信息交互的外部消息接口。可选地,所述外部消息接口的配置为以下之一:专用的中央处理器接口、中央处理器中断和中央处理器查询接口。可选地,所述多个流水线单元包括多个写数据流水线单元和多个读数据流水线单元;所述流水线硬件加速结构包括写数据通路和读数据通路;所述多个写数据流水线单元按照流水线形式设置在所述写数据通路中,所述多个读数据流水线单元按照流水线形式设置在所述读数据通路中;所述写数据通路和读数据通路之间设置有读写通路切换开关。可选地,所述多个写数据流水线单元包括依次设置的写数据通路控制和写数据缓冲单元、数据加密单元、数据加扰单元、冗余数据添加单元、纠错码编码单元、误码注入单元和写接口转换单元。可选地,所述多个读数据流水线单元包括依次设置的读数据通路控制和读数据缓冲单元、数据解密单元、数据解扰单元、冗余数据消除单元、纠错码解码单元、纠错码解码预处理单元、误码注入单元和读接口转换单元。可选地,所述流水线硬件加速结构还设置有流水线控制单元;所述流水线控制单元用于与所述数据链路层进行通信,并控制所述流水线硬件加速结构。可选地,所述流水线控制单元在控制所述流水线硬件加速结构时,具体用于配置本地逻辑与物理地址映射、静态配置、动态配置、部分模块的上电启动数据配置、各个流水线单元的开始或关闭、读写通路选择、面向低功耗的控制,以及根据来自读读数据通路和写数据通路的缓冲空间信息,控制读和写请求。为解决上述技术问题,本专利技术实施例提供一种存储设备,所述设备包括如上任意一项所述的硬件加速模块。本专利技术实施例有益效果如下:上述的各个实施例中有效解决存储设备的数据通路不能同时兼备数据吞吐量和灵活度的问题。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1是本专利技术实施例中流水线硬件加速结构的位置示意图;图2是本专利技术实施例中硬件加速模块的结构示意图;图3是本专利技术实施例中硬件加速模块的应用示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本专利技术的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。使用用于区分元件的诸如“第一”、“第二”等前缀仅为了有利于本专利技术的说明,其本身没有特定的意义。本专利技术实施例提供一种硬件加速模块,如图1所示,所述硬件加速模块用于设置在数据链路层和物理层之间,所述硬件加速模块为流水线硬件加速结构,所述流水线硬件加速结构由多个流水线单元按照流水线形式构成。以下用一个具体实例,详细描述本专利技术实施例。如图2所示,本实例中的硬件加速模块设置有消息队列;所述消息队列用于接收所述多个流水线单元的消息,并设置有用于与所述数据链路层进行消息交互的消息接口、用于与物理层进行消息交互的消息接口以及用于与外部模块进行信息交互的外部消息接口。其中,所述多个流水线单元包括多个写数据流水线单元和多个读数据流水线单元;所述流水线硬件加速结构包括写数据通路和读数据通路;所述多个写数据流水线单元按照流水线形式设置在所述写数据通路中,所述多个读数据流水线单元按照流水线形式设置在所述读数据通路中;所述写数据通路和读数据通路之间设置有读写数据通路切换开关。所述多个写数据流水线单元包括依次设置的写数据通路控制和写数据缓冲单元、数据加密单元、数据加扰单元、冗余数据添加单元、纠错码编码单元、误码注入单元和写接口转换单元。所述多个读数据流水线单元包括依次设置的读数据通路控制和读数据缓冲单元、数据解密单元、数据解扰单元、冗余数据消除单元、纠错码解码单元、纠错码解码预处理单元、误码注入单元和读接口转换单元。上述各个单元可以采用软件模块的形式实现,图2中省略单元两个字。其中,所述流水线硬件加速结构还设置有流水线控制单元;所述流水线控制单元用于与所述数据链路层进行通信,并控制所述流水线硬件加速结构。在所述流水线控制单元在控制所述流水线硬件加速结构时,具体用于配置本地逻辑与物理地址映射、静态配置、动态配置、部分模块的上电启动数据配置、各个流水线单元的开始或关闭、读写数据通路选择、面向低功耗的控制,以及根据来自读读数据通路和写数据通路的缓冲空间信息,控制读和写请求。本专利技术实施例对传输层、数据链路层中与数据通路相关的软件功能进行重新划分,使用了位于数据链路层下层和物理层之间的硬件流水线结构独立处理对应的数据通路功能:其中,流水线可实现高速传输,大量减少硬件与软件在数据流过程中的交互,软件(CPU)只需要在每个数据流开始时进行必要配置而无需频繁参与数据流的过程。并且,在每个数据流结尾,硬件消息需要反馈给CPU。流水线支持集中的与CPU的消息交互接口,可以支持通用的中断或查询,也可以支持非通用的特殊C本文档来自技高网...

【技术保护点】
1.一种硬件加速模块,其特征在于,所述硬件加速模块用于设置在数据链路层和物理层之间,所述硬件加速模块为流水线硬件加速结构,所述流水线硬件加速结构由多个流水线单元按照流水线形式构成。

【技术特征摘要】
1.一种硬件加速模块,其特征在于,所述硬件加速模块用于设置在数据链路层和物理层之间,所述硬件加速模块为流水线硬件加速结构,所述流水线硬件加速结构由多个流水线单元按照流水线形式构成。2.如权利要求1所述的硬件加速模块,其特征在于,所述流水线硬件加速结构设置有消息队列;所述消息队列用于接收所述多个流水线单元的消息,并设置有用于与所述数据链路层进行消息交互的消息接口、用于与物理层进行消息交互的消息接口以及用于与外部模块进行信息交互的外部消息接口。3.如权利要求2所述的硬件加速模块,其特征在于,所述外部消息接口的配置为以下之一:专用的中央处理器接口、中央处理器中断和中央处理器查询接口。4.如权利要求2所述的硬件加速模块,其特征在于,所述多个流水线单元包括多个写数据流水线单元和多个读数据流水线单元;所述流水线硬件加速结构包括写数据通路和读数据通路;所述多个写数据流水线单元按照流水线形式设置在所述写数据通路中,所述多个读数据流水线单元按照流水线形式设置在所述读数据通路中;所述写数据通路和读数据通路之间设置有读写通路切换开关。5.如权利要求4所述的方法,其特征在于,所述多...

【专利技术属性】
技术研发人员:邢立巍菲尔诺斯考特
申请(专利权)人:青岛镕铭半导体有限公司
类型:发明
国别省市:山东,37

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

1