一种存储控制芯片及磁盘报文传输方法

文档序号:6515511阅读:276来源:国知局
一种存储控制芯片及磁盘报文传输方法
【专利摘要】本发明实施例公开了一种存储控制芯片,包括:网络接口模块、处理引擎和存储接口模块,其中,所述网络接口模块包括网络侧接口,所述网络接口模块通过所述网络侧接口与外部网络连接,所述网络接口模块通过数据通道与所述处理引擎连接,所述处理引擎还通过数据通道与所述存储接口模块连接,所述存储接口模块包括存储侧接口,所述存储接口模块通过所述存储侧接口与磁盘连接。相应地,本发明实施例还公开相关的方法。本发明实施例可以减少存储控制及接口控制电路的成本。
【专利说明】一种存储控制芯片及磁盘报文传输方法
【技术领域】
[0001]本发明涉及通信领域,尤其涉及一种存储控制芯片及磁盘报文传输方法。
【背景技术】
[0002]存储设备是目前大多数通信设备和电子设备中不可缺少的模块。目前的存储设备的结构主要包括存储控制及接口控制电路和存储体(例如:磁盘或者硬盘),其中,存储控制及接口控制电路包括存储控制器、处理器和网卡控制器,而存储控制器、处理器和网卡控制器之间都是通过快速外围设备互连(Peripheral Component Interconnection Express,PCIE)接口连接,而存储控制器与存储体之间则是通过另一接口连接,例如:通过串行高级技术接口(Serial Advanced Technology Attachment, SATA)或者串行 SCSI 接口(SerialAttached SCSI,SAS)接口,另外网卡控制器则是通过其它接口与外部网络(例如:读取存储设备的装置)连接,例如,通过以太网(Ethernet, Eth)接口或者光纤通道(Fibre Channel,FC)接口或者以太网承载光纤通道(Fibre Channel Over Ehternet,FCoE)接口或者无限带宽(Infini Band, IB)接口与外部网络连接。这样在读写数据过程中存储控制器就需要处理 PCIE、小型计算机系统接口(Small Computer System Interface, SCSI)和 SATA 的协议栈或者处理PCIE、SCSI和SAS的协议栈,而处理器需要处理PCIE和SCSI的协议栈,网卡接口需要处理PCIE、SCSI和Eth栈或者处理PCIE、SCSI和IB协议栈等。
[0003]综上所述,目前的存储控制及接口控制电路由于每个器件都需要处理多个协议栈,这样该电路就会很复杂,从而导致整个存储控制及接口控制电路的成本过高。

【发明内容】

[0004]本发明实施例提供了一种存储控制芯片及磁盘报文传输方法,可以减少存储控制及接口控制电路的成本。
[0005]第一方面,本发明实施例提供一种存储控制芯片,包括:网络接口模块、处理引擎和存储接口模块,其中,所述网络接口模块包括网络侧接口,所述网络接口模块通过所述网络侧接口与所述芯片的外部网络连接,所述网络接口模块通过数据通道与所述处理引擎连接,所述处理引擎还通过数据通道与所述存储接口模块连接,所述存储接口模块包括存储侧接口,所述存储接口模块通过所述存储侧接口与磁盘连接;其中:
[0006]所述网络接口模块,用于通过网络侧协议处理实现所述外部网络与所述处理引擎之间传输报文;
[0007]所述处理引擎,用于分析所述网络接口模块传输的报文,或者分析所述存储接口模块传输的报文;并将分析结果表示为用于发送至磁盘的报文通过数据通道发送至所述存储接口模块,并将分析结果表示为用于发送至所述外部网络的报文通过数据通道发送至所述网络接口模块;
[0008]所述存储接口模块,用于通过存储侧协议处理实现所述磁盘与所述处理引擎之间传输报文。[0009]第一方面的第一种可选的实现方式中,所述网络接口模块还用于通过所述网络侧接口接收外部网络发送的包括第一内部报文的网络侧协议报文,并对所述网络侧协议报文进行解封装处理得到包括所述第一内部报文的第一目标报文,再通过数据通道将所述第一目标报文发送至所述处理引擎;
[0010]所述处理弓I擎还用于根据所述第一目标报文得到所述第一内部报文,对所述第一内部报文进行分析处理得到分析结果,当该分析结果表示所述第一内部报文是用于发送至磁盘的报文时,通过数据通道将所述第一内部报文发送至所述存储接口模块;
[0011]所述存储接口模块还用于对所述第一内部报文进行存储侧协议封装处理得到存储侧协议报文,并通过所述存储侧接口将所述存储侧协议报文发送至所述磁盘。
[0012]结合第一方面或者第一方面的第一种可能的实现方式,第一方面的第二种可能的实现方式中,所述存储接口模块还用于通过所述存储侧接口接收所述磁盘发送的包括第二内部报文的存储侧协议报文,并对所述存储侧协议报文进行解封装处理得到所述第二内部报文,并通过数据通道将所述第二内部报文发送至所述处理弓I擎;
[0013]所述处理引擎还用于对所述第二内部报文进行分析处理得到分析结果,当该分析结果表示所述第二内部报文是用于发送至外部网络的报文时,通过数据通道向所述网络接口模块发送包括所述第二内部报文的第二目标报文;
[0014]所述网络接口模块还用于对所述第二目标报文进行封装处理得到网络侧协议报文,并通过所述网络侧接口将该网络侧协议报文发送至外部网络。
[0015]结合第一方面的第一种可能的实现方式中,在第一方面的第三种可能的实现方式中,所述网络接口模块用于通过所述网络侧接口接收外部网络发送的包括第一内部报文的网络侧协议报文,并对所述网络侧协议报文进行网络侧协议解封装处理得到所述第一内部报文,再通过数据通道将所述第一内部报文发送至所述处理引擎;或者
[0016]所述网络接口模块用于当所述网络侧协议报文包括多层协议封装时,通过所述网络侧接口接收外部网络发送的包括第一内部报文的网络侧协议报文,并对所述网络侧协议报文进行第一层协议的解封装处理得到包括所述第一内部报文的目标报文,再通过数据通道将所述目标报文发送至所述处理引擎;所述处理引擎用于当所述网络侧协议报文包括多层协议封装时,对所述目标报文进行解封装处理得到所述第一内部报文,对所述第一内部报文进行分析处理得到分析结果,当该分析结果表示所述第一内部报文是用于读取磁盘的报文时,通过数据通道将所述第一内部报文发送至所述存储接口模块。
[0017]结合第一方面的第二种可能的实现方式,第一方面的第四种可能的实现方式中,所述处理引擎用于对所述第二内部报文进行分析处理得到分析结果,当该分析结果表示所述第二内部报文是用于发送至外部网络的报文时,通过数据通道向所述网络接口模块发送所述第二内部报文;或者
[0018]所述处理引擎用于当所述网络侧协议报文包括多层协议封装时,对所述第二内部报文进行分析处理得到分析结果,当该分析结果表示所述第二内部报文是用于发送至外部网络的报文时,对所述第二内部报文进行封装处理得到包括所述第二内部报文的第二目标报文,并通过数据通道向所述网络接口模块发送所述第二目标报文。
[0019]结合第一方面或者第一方面的第一种可能的实现方式,第一方面的第五种可能的实现方式中,所述芯片还包括:管理接口模块,其中,所述管理接收模块包括控制管理接口,所述管理接口模块通过所述控制管理接口与外部处理器连接,所述管理接口模块还通过管理通道与所述处理引擎连接;其中:
[0020]所述管理接口模块,用于通过所述控制管理接口接收所述外部处理器发送的用于配置和/或管理所述处理引擎的配置管理报文,并通过管理通道将所述配置管理报文发送至所述处理引擎;
[0021]所述处理引擎还用于根据所述配置管理报文配置和/或管理所述处理引擎的软件。
[0022]结合第一方面或者第一方面的第一种可能的实现方式,第一方面的第六种可能的实现方式中,所述芯片还包括:内存管理单元MMU控制器,所述MMU控制器包括内存接口,所述MMU控制器通过所述内存接口与外部内存连接,所述MMU控制器还通过数据通道与所述处理引擎连接;其中:
[0023]所述MMU控制器,用于将所述处理引擎处理的数据存放至所述外部内存。
[0024]结合第一方面的第六种可能的实现方式,第一方面的第七种可能的实现方式中,所述芯片还包括:直接内存访问DMA控制器,所述DMA控制器分别通过控制通道与所述处理引擎连接,以及通过控制通道与所述MMU控制器连接;其中:
[0025]所述DMA控制器,用于当需要使用所述外部内存时,控制所述存储接口模块与所述外部内存之间的数据传输,以及控制所述网络接口模块与所述外部内存之间的数据传输。
[0026]结合第一方面或者第一方面的第一种可能的实现方式,第一方面的第八种可能的实现方式中,所述芯片还包括:数据缓存,所述数据缓存通过数据通道与所述处理引擎连接;其中:
[0027]所述数据缓存,用于缓存程序代码或者所述处理引擎处理的报文信息;
[0028]所述处理引擎还用于调用所述数据缓存缓存的程序代码执行对报文的处理操作。
[0029]结合第一方面或者第一方面的第一种可能的实现方式,第一方面的第九种可能的实现方式中,所述芯片还包括:闪存(Flash)接口模块,所述Flash接口模块一端口与外部Flash芯片连接,所述Flash接口模块的另一端与所述处理引擎连接;其中:
[0030]所述Flash接口模块,用于在下电状态将所述芯片使用的软件的程序代码存储至所述外部Flash芯片。
[0031]第二方面,本发明实施例提供一种磁盘报文传输方法,包括:
[0032]存储控制芯片接收第一装置发送的包括内部报文的第一协议报文,并对所述第一协议报文进行第一协议报文解封装处理得到所述内部报文;
[0033]所述存储控制芯片对所述内部报文进行分析处理得到分析结果;
[0034]当所述分析结果表示所述内部报文是用于发送至第二装置的报文时,所述存储控制芯片对所述内部报文进行第二协议封装处理得到第二协议报文,并将所述第二协议报文发送至所述第二装置;其中:
[0035]所述第一装置为与所述存储控制芯片的第一端连接的网络装置,所述第二装置为与所述存储控制芯片的第二端连接的磁盘;或者,所述第一装置为与所述存储控制芯片的第二端连接的磁盘,所述第二装置为与所述存储控制芯片的第一端连接的网络装置。
[0036]在第二方面的第一种可能的实现方式中,所述存储控制芯片接收第一装置发送的包括内部报文的第一协议报文,并对所述第一协议报文进行第一协议报文解封装处理得到所述内部报文,包括:
[0037]所述存储控制芯片接收所述网络装置发送的包括第一内部报文的网络侧协议报文,并对所述网络侧协议报文进行网络侧协议解封装处理得到所述第一内部报文;
[0038]所述当所述分析结果表示所述内部报文是用于发送至第二装置的报文时,所述存储控制芯片对所述内部报文进行第二协议封装处理得到第二协议报文,并将所述第二协议报文发送至所述第二装置,包括:
[0039]当所述分析结果表示所述第一内部报文是用于发送至磁盘的报文时,所述存储控制芯片对所述第一内部报文进行存储侧协议封装处理得到存储侧协议报文,并将所述存储侧协议报文发送至所述磁盘。
[0040]结合第二方面,在第二方面的第二种可能的实现方式中,所述存储控制芯片接收第一装置发送的包括内部报文的第一协议报文,并对所述第一协议报文进行第一协议报文解封装处理得到所述内部报文,包括:
[0041]所述存储控制芯片接收磁盘发送的包括第二内部报文的存储侧协议报文,并对所述存储侧协议报文进行存储侧协议解封装处理得到所述第二内部报文;
[0042]所述存储控制芯片对所述第二内部报文进行分析处理得到分析结果;
[0043]所述当所述分析结果表示所述内部报文是用于发送至第二装置的报文时,所述存储控制芯片对所述内部报文进行第二协议封装处理得到第二协议报文,并将所述第二协议报文发送至所述第二装置,包括:
[0044]当所述分析结果表示所述第二内部报文是用于发送至外部网络的报文时,所述存储控制芯片对所述第二目标报文进行网络侧协议封装处理得到网络侧协议报文,并将该网络侧协议报文发送至所述网络装置。
[0045]上述技术方案中,网络接口模块通过所述网络侧接口与外部网络连接,所述网络接口模块通过数据通道与所述处理引擎连接,所述处理引擎还通过数据通道与所述存储接口模块连接,所述存储接口模块通过所述存储侧接口与磁盘连接;所述网络接口模块,用于通过网络侧协议处理实现所述外部网络与所述处理引擎之间传输报文;所述处理引擎,用于分析所述网络接口模块传输的报文,或者分析所述存储接口模块传输的报文;并将分析结果表示为用于发送至磁盘的报文通过数据通道发送至所述存储接口模块,并将分析结果表示为用于发送至所述外部网络的报文通过数据通道发送至所述网络接口模块;所述存储接口模块,用于通过存储侧协议处理实现所述磁盘与所述处理引擎之间传输报文。这样整个存储控制芯片就只需要处理网络侧协议和存储侧协议的协议栈,且内部都是通过数据通道进行连接的,相比现有技术存储控制及接口控制电路都通过PCIE接口,即现有技术中存储控制及接口控制电路至少需要处理PCIE协议、网络侧协议(例如:Eth协议)和存储侧协议(例如:SAS协议)的协议栈,本发明实施例可以减少存储控制及接口控制电路的成本。
【专利附图】

【附图说明】
[0046]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0047]图1是本发明实施例提供的一种存储控制芯片的结构示意图;
[0048]图2是本发明实施例提供的另一种存储控制芯片的结构示意图;
[0049]图3是本发明实施例提供的另一种存储控制芯片的结构示意图;
[0050]图4是本发明实施例提供的另一种存储控制芯片的结构示意图;
[0051]图5是本发明实施例提供的另一种存储控制芯片的结构示意图;
[0052]图6是本发明实施例提供的另一种存储控制芯片的结构示意图;
[0053]图7是本发明实施例提供的另一种存储控制芯片的结构示意图;
[0054]图8是本发明实施例提供的一种可选的协议栈示意图;
[0055]图9是本发明实施例提供的一种磁盘报文传输方法的流程示意图;
[0056]图10和图11是本发明实施例提供一种可选的举例示意图。
【具体实施方式】
[0057]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0058]本发明实施例中,存储控制芯片可以等同于现有技术中的存储控制及接口控制电路,本发明实施例中,通过将该电路集成于一个芯片。该存储控制芯片可以是应用于任何使用磁盘的设备,例如:服务器、计算机、手机、平板电脑等设备。
[0059]另外,本发明实施例中所述外部网络具体可以是指用户访问磁盘的外部设备,例如:处理器、交换机和网卡设备等。本发明实施例对此不作限定。本发明实施例中对磁盘种类和数量也不作限定,例如:可以是固态硬盘(Solid State Disk, SSD)、机械磁盘和/或非与闪存(Not And Flash, NAND Flash)等。
[0060]另外,本发明实施例中的数据通道具体可以是芯片内部进行数据传输的通道,该数据通道内部传输的报文可以是协议卸载后的报文,也可以协议封装或者解封装后的报文,即通过该数据通道传输的报文不需要像网络侧接口或者存储侧接口一样只能传输特定协议封装的报文。
[0061]图1是本发明实施例提供的一种存储控制芯片的结构示意图,如图1所示,包括:网络接口模块11、处理引擎12和存储接口模块13,其中,所述网络接口模块11包括网络侧接口,所述网络接口模块11通过所述网络侧接口与所述芯片的外部网络连接,所述网络接口模块11通过数据通道与所述处理引擎12连接,所述处理引擎12还通过数据通道与所述存储接口模块13连接,所述存储接口模块13包括存储侧接口,所述存储接口模块13通过所述存储侧接口与磁盘连接;其中:
[0062]网络接口模块11,用于通过网络侧协议处理实现所述外部网络与所述处理引擎12之间传输报文。
[0063]可选的,网络接口模块11具体通过上述网络侧接口接收上述外部网络发送的网络侧协议报文,并对该网络侧协议报文进行解封装,得到内部报文,再将内部报文传输至处理引擎12。或者网络接口模块11通过数据通道接收处理引擎12发送的内部报文,再将内部报文进行网络侧协议封装,得到网络侧协议报文,再通过网络侧接口将该网络侧协议报文发送至上述外部网络。
[0064]处理引擎12,用于分析所述网络接口模块传输的报文,或者分析所述存储接口模块传输的报文;并将分析结果表示为用于发送至磁盘的报文通过数据通道发送至所述存储接口模块,并将分析结果表示为用于发送至所述外部网络的报文通过数据通道发送至所述网络接口模块。
[0065]存储接口模块13,用于通过存储侧协议处理实现所述磁盘与所述处理引擎之间传输报文。
[0066]可选的,存储接口模块13具体可以是接收处理引擎12通过数据通道发送的内部报文,再将该内部报文进行存储侧协议封装得到存储侧协议报文,再将该存储侧协议报文通过存储侧接口发送至磁盘。或者存储接口模块13通过存储侧接口接收磁盘发送的存储侧协议报文,再将该存储侧协议报文进行存储侧协议解封装得到内部报文,再将该内部报文通过数据通道发送至处理引擎12。
[0067]上述技术方案中,网络接口模块通过所述网络侧接口与外部网络连接,所述网络接口模块通过数据通道与所述处理引擎连接,所述处理引擎还通过数据通道与所述存储接口模块连接,所述存储接口模块通过所述存储侧接口与磁盘连接;所述网络接口模块,用于通过网络侧协议处理实现所述外部网络与所述处理引擎之间传输报文;所述处理引擎,用于分析所述网络接口模块传输的报文,或者分析所述存储接口模块传输的报文;并将分析结果表示为用于发送至磁盘的报文通过数据通道发送至所述存储接口模块,并将分析结果表示为用于发送至所述外部网络的报文通过数据通道发送至所述网络接口模块;所述存储接口模块,用于通过存储侧协议处理实现所述磁盘与所述处理引擎之间传输报文。这样整个存储控制芯片就只需要处理网络侧协议和存储侧协议的协议栈,且内部都是通过数据通道进行连接的,相比现有技术存储控制及接口控制电路都通过PCIE接口,即现有技术中存储控制及接口控制电路至少需要处理PCIE协议、网络侧协议(例如:Eth协议)和存储侧协议(例如:SAS协议)的协议栈,本发明实施例可以减少存储控制及接口控制电路的成本。
[0068]图2是本发明实施例提供的一种存储控制芯片的结构示意图,如图2所示,包括:网络接口模块21、处理引擎22和存储接口模块23,其中,所述网络接口模块21包括网络侧接口,所述网络接口模块21通过所述网络侧接口与所述芯片的外部网络连接,所述网络接口模块21通过数据通道与所述处理引擎22连接,所述处理引擎22还通过数据通道与所述存储接口模块23连接,所述存储接口模块23包括存储侧接口,所述存储接口模块23通过所述存储侧接口与磁盘连接;其中:
[0069]网络接口模块21,用于通过所述网络侧接口接收外部网络发送的包括第一内部报文的网络侧协议报文,并对所述网络侧协议报文进行解封装处理得到包括所述第一内部报文的第一目标报文,再通过数据通道将所述第一目标报文发送至所述处理引擎22。
[0070]可选的,上述网络接口具体可以是Eth接口、FC接口、FCoE接口或者IB接口,当然,本实施例对此并不作限定。上述网络侧协议报文具体可以是用于在该网络接口中传输的协议报文。上述第一目标报文具体可以是某种协议封装的报文,例如:上述网络接口为Eth接口,上述网络侧协议报文就为Eth协议封装报文,其中,该Eth协议封装报文上可以承载因特网互联协议(Internet Protocol, IP)封装报文,或者说IP封装报文承载Eth帧或者Eth协议封装报文上;该IP封装报文上还可以承载传输控制协议(Transmission ControlProtocol, TCP)封装报文,或者说TCP报文承载在IP封装报文上;该TCP封装报文上还可以承载互联网小型计算机系统接口 Internet Small Computer System Interface, iSCSI)协议封装报文,或者说iSCSI封装报文承载在TCP封装报文上。那么上述第一目标报文可以是IP封装报文、TCP封装报文或者iSCSI协议封装报文,当然,上述第一目标报文具体可以直接是第一内部报文,即网络接口模块21完成网络侧协议的所有协议卸载。当网络接口模块21只完成网络侧协议中部分层的协议卸载,剩下的协议封装可以由处理引擎22完成卸载,即本实例中可以实现网络接口模块21与处理引擎22配合完成网络侧协议的处理。
[0071]处理引擎22,用于根据所述第一目标报文得到所述第一内部报文,对所述第一内部报文进行分析处理得到分析结果,当该分析结果表示所述第一内部报文是用于发送至磁盘的报文时,通过数据通道将所述第一内部报文发送至所述存储接口模块23。
[0072]可选的,上述根据所述第一目标报文得到所述第一内部报文具体可以是将上述第一目标报文作为上述第一内部报文,即网络接口模块21完成对网络侧报文的所有协议卸载;上述根据所述第一目标报文得到所述第一内部报文具体还可以是对第一目标报文进行部分协议卸载,以得到上述第一内部报文,即网络接口模块21只完成了网络侧报文的部分协议层的协议卸载。
[0073]可选的,当上述分析结果为上述第一内部报文是需要处理引擎22进行处理(例如:计算)的报文时,处理引擎22还可以是对该报文进行处理(例如:计算),处理引擎22还可以将该处理结果返回网络接口模块21,由网络接口模块将该处理结果返回至外部网络。当然,处理引擎22还可以是根据上述分析结果(上述分析结果表示上述第一内部报文为错误报文),丢失该第一内部报文。
[0074]存储接口模块23,用于对所述第一内部报文进行存储侧协议封装处理得到存储侧协议报文,并通过所述存储侧接口将所述存储侧协议报文发送至所述磁盘。
[0075]可选的,上述存储接口具体可以是SAS接口或者SATA接口,当然,本实施例对此不作限定。另外,上述存储侧协议报文具体可以是用于在该存储接口中传输的协议报文。
[0076]通过上述就可以实现从接收外部网络发送的报文到将该报文传输至磁盘,本实施例可以实现只经过两个协议处理,一次网络侧协议的协议解封装,另一次为存储侧协议的封装。
[0077]或者,
[0078]存储接口模块23,用于通过所述存储侧接口接收所述磁盘发送的包括第二内部报文的存储侧协议报文,并对所述存储侧协议报文进行解封装处理得到所述第二内部报文,并通过数据通道将所述第二内部报文发送至所述处理弓I擎22。
[0079]可选的,通过所述存储侧接口接收所述磁盘发送的包括第二内部报文的存储侧协议报文具体可以是磁盘主动推送的报文,还可以是根据存储接口模块23发送的请求返回的报文。
[0080]处理引擎22,用于对所述第二内部报文进行分析处理得到分析结果,当该分析结果表示所述第二内部报文是用于发送至外部网络的报文时,通过数据通道向所述网络接口模块21发送包括所述第二内部报文的第二目标报文。
[0081]可选的,上述第二目标报文可以是第一目标报文一样,当网络侧协议报文只包括单层协议封装时,第二目标报文就是上述第二内部报文,当网络侧协议报文只包括多层协 议封装(例如:上述Eth协议封装、IP封装、TCP封装和iSCSI协议封装)时,第二目标报文 具体可以是IP封装报文、TCP封装报文和iSCSI协议封装报文,还可以直接是第二内部报 文。即处理引擎22可以对第二内部报文完成如下至少一项封装:
[0082]IP封装、TCP封装和iSCSI协议封装。
[0083]当然处理引擎22还可以是不对第二内部报文进行封装,直接向网络接口模块21 发送第二内部报文,由网络接口模块21完成这些封装。
[0084]网络接口模块21,用于对所述第二目标报文进行封装处理得到网络侧协议报文, 并通过所述网络侧接口 211将该网络侧协议报文发送至外部网络。
[0085]可选的,当网络侧协议报文只包括多层协议封装(例如:上述Eth协议封装、IP封 装、TCP封装和iSCSI协议封装)时,网络接口模块21仅可以是对第二内部报文完成网络侧 协议报文中最底层协议的封装(例如:Eth协议封装),这样可以实现网络接口模块21与处 理引擎22配合完成网络侧协议封装;还可以是对第二内部报文完成所有网络侧协议报文 的协议封装。
[0086]作为一种可选的实施方式,上述第一内部报文具体可以是SCSI报文,上述第二内 部报文具体可以是SCSI报文。这两个报文的数据内容可以是相同的也可以是不同的。
[0087]作为一种可选的实施方式,网络接口模块21可以用于通过所述网络侧接口接收 外部网络发送的包括第一内部报文的网络侧协议报文,并对所述网络侧协议报文进行网络 侧协议解封装处理得到所述第一内部报文,再通过数据通道将所述第一内部报文发送至所 述处理引擎22。
[0088]例如,网络侧接口为FC接口或者IB接口,即上述网络侧协议报文就为单层协议报 文,例如:FC协议报文,或者IB协议报文。网络接口模块21就可以直接对所述网络侧协议 报文进行解封装处理得到所述第一内部报文,再通过数据通道将所述第一内部报文发送至 所述处理引擎22。其中,该解封装处理具体可以是对该网络侧协议报文进行解封装,并去掉 网络侦彳协议报文头,完成网络侦彳协议的卸载。当然,当上述网络侧接口为Eth接口或者FCoE 接口,即上述网络侧协议报文就为多层协议报文,网络接口模块21也同样可以是完成网络 侧报文的所有层的协议卸载,例如:上述网络侧接口为Eth接口时,网络接口模块21对网络 协议报文完成所有协议卸载,如:对网络侧协议报文进行Eth协议解封装,并去掉Eth报文 头,以得到IP报文;再对该IP报文进行IP解封装,并去掉IP报文头,得到TCP报文;再对 TCP报文进行TCP解封装,并去掉TCP报文头,得到iSCSI报文;再对iSCSI报文进行iSCSI 解封装,并去掉iSCSI报文头,得到SCSI报文,即得到上述第一内部报文。
[0089]作为一种可选的实施方式,网络接口模块21可以用于当所述网络侧协议报文包 括多层协议封装时,通过所述网络侧接口接收外部网络发送的包括第一内部报文的网络侧 协议报文,并对所述网络侧协议报文进行第一层协议的解封装处理得到包括所述第一内部 报文的目标报文,再通过数据通道将所述目标报文发送至所述处理弓I擎22。
[0090]例如,网络接口模块21对网络协议报文完成部分层的协议卸载,即对所述网络侧 协议报文进行第一层协议的解封装处理得到包括所述第一内部报文的目标报文。其中,该 第一层协议具体可以是表示一层或者多层协议,例如,上述网络侧接口为Eth接口时,第一 层协议如至少一项包括:[0091]Eth 协议、IP、TCP 和 iSCSI。
[0092]例如:当上述第一层协议为Eth协议时,那么对网络侧协议报文进行Eth协议解封装,并去掉Eth报文头,以得到IP报文,即上述目标报文为IP报文;第一层协议为Eth协议和IP时,对网络侧协议报文进行Eth协议解封装,并去掉Eth报文头,以得到IP报文;再对该IP报文进行IP解封装,并去掉IP报文头,得到TCP报文,即上述目标报文为TCP报文。第一层协议为Eth协议、IP和TCP时,可以参考上述流程。
[0093]处理引擎22可以用于当所述网络侧协议报文包括多层协议封装时,对所述目标报文进行解封装处理得到所述第一内部报文,对所述第一内部报文进行分析处理得到分析结果,当该分析结果表示所述第一内部报文是用于读取磁盘的报文时,通过数据通道将所述第一内部报文发送至所述存储接口模块23。
[0094]例如:当上述第一层协议为Eth协议时,上述目标报文为IP报文,处理引擎22就可以对该IP报文进行,IP、TCP和iSCSI的协议卸载,以得到SCSI报文;当第一层协议为Eth协议和IP时,即上述目标报文为TCP报文时,处理引擎22就可以对该IP报文进行,TCP和iSCSI的协议卸载,以得到SCSI报文。第一层协议为Eth协议、IP和TCP时,可以参考上述流程。
[0095]该实施方式,可以实现由网络接口模块21和处理引擎22配合完成网络侧协议的卸载。
[0096]作为一种可选的实施方式,处理引擎22可以用于对所述第二内部报文进行分析处理得到分析结果,当该分析结果表示所述第二内部报文是用于发送至外部网络的报文时,通过数据通道向所述网络接口模块21发送所述第二内部报文。
[0097]该实施方式可以实现直接向网络接口模块21发送第二内部报文,例如:发送SCSI报文,由网络接口模块21完成网络侧协议的封装。
[0098]作为一种可选的实施方式,处理引擎22可以用于当所述网络侧协议报文包括多层协议封装时,对所述第二内部报文进行分析处理得到分析结果,当该分析结果表示所述第二内部报文是用于发送至外部网络的报文时,对所述第二内部报文进行封装处理得到包括所述第二内部报文的第二目标报文,并通过数据通道向所述网络接口模块21发送所述第二目标报文。
[0099]上述第二目标报文具体可以是包括网络侧协议包括的至少一层协议的封装,例如:网络接口为Eth接口时,第二目标报文就可以为i SCSI报文包、IP报文或者TCP报文包。即处理引擎22可以对第二内部报文进行iSCSI封装、IP封装或者TCP封装。其中,iSCSI封装、IP封装或者TCP封装需要的封装信息(例如:TCP端口号、IP地址MAC地址等信息)可以是之前记录的,例如:处理引擎22向存储接口模块23发送上述第一内部报文时记录的。当网络接口模块21接收到上述第二目标报文时,就可以完成处理引擎22所未完成的网络侧协议封装,例如,第二目标报文为iSCSI报文包时,网络接口模块21就对iSCSI报文包完成、TCP、IP和Eth协议封装。再将Eth协议报文包发送至外部网络。
[0100]该实施方式中,可以实现由网络接口模块21和处理引擎22配合完成网络侧协议的封装。
[0101]作为一种可选的实施方式,网络接口模块21还可以通过管理通道与处理引擎22连接,处理引擎22还可以用于通过该管理通道配置和/或管理网络接口模块21的软件,例如:更新网络接口模块21的软件或者卸载网络接口模块21的软件等。
[0102]作为一种可选的实施方式,存储接口模块23还可以通过管理通道与处理引擎22连接,处理引擎22还可以用于通过该管理通道配置和/或管理存储接口模块23的软件,例如:更新存储接口模块23的软件或者卸载存储接口模块23的软件等。
[0103]其中,上述管理通道具体可以是用于传输配置管理的数据或者命令等,且传输时不需要对数据或者命令等进行特定协议封装的通道。
[0104]作为一种可选的实施方式,处理引擎22对所述第一内部报文进行分析处理得到分析结果具体可以是,处理引擎22对第一内部报文的报文头进行分析处理得到分析结果,或者处理引擎22对第一内部报文的报文实体(payload)进行分析处理得到分析结果,或者处理引擎22对第一内部报文的报文头和报文实体(payload)进行分析处理得到分析结果。
[0105]作为一种可选的实施方式,处理引擎22对所述第二内部报文进行分析处理得到分析结果具体可以是,处理引擎22对第二内部报文的报文头进行分析处理得到分析结果,或者处理引擎22对第二内部报文的报文实体(payload)进行分析处理得到分析结果,或者处理引擎22对第二内部报文的报文头和报文实体(payload)进行分析处理得到分析结果。另外,当存储接口模块23连续向处理引擎22发送多个报文时,处理引擎22可以只对这些报文中首报文进行分析,首报文的结果等同于这多个报文的分析结果。
[0106]上述技术方案中,在上面实施例的基础上详细介绍了从外部网络向磁盘发送报文,且在该过程中存储控制芯片只需要网络接口模块对网络侧协议报文进行解封装(或者网络接口模块和处理引擎配合完成网络侧协议报文的解封装),以及存储接口模块对内部报文进行存储侧协议的封装。这样可以实现在外部网络向磁盘发送报文的实现过程中,只需要对网络侧协议和存储侧协议的协议栈各进行一次处理;同理,在从磁盘向外部网络发送报文的实现过程,也只需要对网络侧协议和存储侧协议的协议栈各进行一次处理。从而本实施例可以实现减少存储控制及接口控制电路的成本。
[0107]图3是本发明实施例提供的另一种存储芯片的结构示意图,如图3所示,包括:包括:网络接口模块31、处理引擎32、存储接口模块33和管理接口模块34,其中,网络接口模块31、处理引擎32和存储接口模块33之间的连接关系,以及具体的实现方式可以参考图1所示的实施方式,本实施例对此不作重复说明。另外,所述管理接收模块34包括控制管理接口,所述管理接口模块34通过所述控制管理接口与外部处理器连接,所述管理接口模块34还通过管理通道与所述处理引擎32连接;其中:
[0108]管理接口模块34,用于通过所述控制管理接口接收所述外部处理器发送的用于配置和/或管理所述处理引擎32的配置管理报文,并通过管理通道将所述配置管理报文发送至所述处理引擎32。
[0109]所述处理引擎32还用于根据所述配置管理报文配置和/或管理所述处理引擎32的软件。
[0110]可选的,上述管理通道具体可以是用于传输配置管理的数据或者命令等,且传输时不需要对数据或者命令等进行特定协议封装的通道。
[0111]可选的,上述控制管理接口具体可以是千兆以太网(Gigabit Ethernet, GB)接口快速以太网(Fast Ethernet,FE)接口、PCIE接口或者周边元件扩展接口(PedpherdComponent Interconnect,PCI)等,本实施例对此不作限定。管理接口模块34具体还可以用于通过所述控制管理接口接收所述外部处理器发送的用于配置和/或管理所述处理引擎32的配置管理报文,并对所述配置管理报文进行解封装得到能配置和/或管理所述处理引擎32的软件的内部报文,并通过管理通道将该内部报文发送至所述处理弓丨擎32。处理引擎32接收到该内部报文就可以直接对处理引擎32的软件进行配置和/或管理,例如:软件安装、软件更新或者软件卸载等。当然,管理接口模块34还可以是直接将上述配置管理报文发送至处理引擎32,由处理引擎32完成对该配置管理报文的解封装,以得到能配置和/或管理所述处理引擎32的软件的内部报文。
[0112]在另一个实施例中,如图4所示,所述芯片还包括:内存管理单元(MemoryManagement Unit, MMU)控制器35,MMU控制器35包括内存接口,所述MMU控制器35通过所述内存接口与外部内存连接,所述MMU控制器35还通过数据通道与所述处理引擎32连接;其中:
[0113]所述MMU控制器35,用于将处理引擎32处理的数据存放至所述外部内存。
[0114]可选的,MMU控制器35具体可以将上述外部内存是作为存储控制芯片自身的内存,并在存储控制芯片在工作状态下将MMU控制器处理引擎32使用的软件的程序代码,或者存放处理引擎32处理的数据存放至上述外部内存。
[0115]这样可以实现将处理引擎32使用的软件,或者存放处理引擎32处理的数据存放至上述外部内存,例如,当存储控制芯片包括的数据缓存不够用时,将处理引擎32处理的数据存放至上述外部内存。
[0116]在另一个实施例中,如图5所示,所述芯片还包括:直接内存访问(Direct MemoryAccess, DMA)控制器36,所述DMA控制器分别通过控制通道与所述处理引擎32连接,以及通过控制通道与所述MMU控制器连接;其中:
[0117]DMA控制器36,用于当需要使用所述外部内存时,控制所述存储接口模块33与所述外部内存之间的数据传输,以及控制所述网络接口模块33与所述外部内存之间的数据传输。
[0118]可选的,上述控制通道具体可以是是用于传输控制数据或者命令等,且传输时不需要对数据或者命令等进行特定协议封装的通道。
[0119]DMA控制器36具体可以是将通过处理引擎32将网络接口的数据存储至上述外部内存,例如:网络接口模块31对网络侧协议报文进行解封装处理得到网络侧协议报文的报文实体(payload)。
[0120]这样可以实现将外部内存作用于存放报文实体数据,由于处理引擎32可以是根据报文头进行对报文的解释和分析,这样报文头就可以不存放到外部内存,例如:存放到存储控制芯片的内部缓存模块“数据缓存”(请参考下面的实施方式)。另外,处理引擎32还可以是分析整个报文(包括报文头和报文实体)的,例如从磁盘读取数据时,处理引擎32先分析第一内部报文(例如=SCSI报文),获知到第一内部报文(例如:SCSI报文)是一条读取磁盘的指令,然后向磁盘发起读取请求。当磁盘发回数据时,处理引擎32通过分析磁盘发送的首包(包括报文头和报文实体),获知该首包是从磁盘读取的数据流,那么后续的报文处理引擎32都不需要再分析,而是启用DMA控制器36将磁盘发送的报文传送到外部内存,处理引擎32再通知网络接口模块31从外部内存取出这些报文数据。这样,处理引擎32就节省了每个报文都进行分析的工作量,提高了处理效率。[0121]在另一个实施例中,如图6所示,所述芯片还包括:数据缓存(buffer) 37,所述数据缓存37通过数据通道与所述处理引擎32连接;其中:
[0122]所述数据缓存37,用于缓存程序代码或者所述处理引擎32处理的报文信息;
[0123]所述处理引擎32还用于调用所述数据缓存缓存的程序代码执行对报文的处理操作处理引擎32。
[0124]数据缓存37具体可以是在存储控制芯片在工作状态下存放存储控制芯片的软件程序代码,以及处理引擎32对报文进行解封装处理时,去掉的报文头信息。当然,网络接口模块31以及存储接口模块33对报文进行解封装处理时,去掉的报文头信息也可以通过处理引擎32存放至数据缓存。
[0125]在另一个实施例中,如图7所示,所述芯片还包括:闪存(Flash)接口模块38,所述Flash接口模块38 —端口与外部Flash芯片连接,所述Flash接口模块38的另一端与所述处理引擎32连接;其中:
[0126]所述Flash接口模块38,用于在下电状态将所述芯片处理引擎32使用的软件的程序代码存储至所述外部Flash芯片。
[0127]这样可以实现在下电状态下,存储控制芯片使用的软件(例如:处理引擎32、网络接口模块31和存储接口模块33使用的软件)的程序代码不会丢失。
[0128]下面以上述第一内部报文和第二内部报文为SCSI报文为例介绍下,在传输第一内部报文和第二内部报文时,存储控制芯片所处理的协议栈,请参考图8,当上述网络侧接口为Eth接口时,网络侧协议包括图8所示的801Eth、IP、TCP和iSCSI协议,网络接口模块31可以独立完成801所示的协议的解封装或者封装,或者网络接口模块31和处理引擎32配合完成801所示的协议的解封装或者封装,其中,配合的实现请参考上述的实施方式。当网络侧接口为FC接口时,网络侧协议包括图8所示的802FC协议,网络接口模块31可以完成802所示的协议的解封装或者封装。当网络侧接口为FCoE接口时,网络侧协议包括图8所示的803Eth和FCoE协议,网络接口模块31可以完成803所示的协议的解封装或者封装,或者网络接口模块31和处理引擎32配合完成803所示的协议的解封装或者封装。当网络侧接口为IB接口时,网络侧协议包括图8所示的804IB协议,网络接口模块31可以完成804所示的协议的解封装或者封装。当上述存储侧接口为SAS或者SATA接口时,存储侧协议包括图8所示的805SAS或者SATA协议,存储接口模块33可以完成805所示的协议的解封装与封装。当上述存储侧接口为SSD接口时,存储侧协议包括图8所示的806NAND协议,存储接口模块33可以完成806所示的协议的解封装与封装。
[0129]上述技术方案中,在上面实施例的基础上介绍了多种可选的实施方式,且都可以实现减少存储控制及接口控制电路的成本。
[0130]图9是本发明实施例提供的一种磁盘报文传输方法的流程示意图,如图9所示,包括以下步骤:
[0131]901、存储控制芯片接收第一装置发送的包括内部报文的第一协议报文,并对所述第一协议报文进行第一协议报文解封装处理得到所述内部报文。
[0132]902、存储控制芯片对所述内部报文进行分析处理得到分析结果;
[0133]903、当所述分析结果表示所述内部报文是用于发送至第二装置的报文时,存储控制芯片对所述内部报文进行第二协议封装处理得到第二协议报文,并将所述第二协议报文发送至所述第二装置;其中:
[0134]所述第一装置为与所述存储控制芯片的第一端连接的网络装置,所述第二装置为与所述存储控制芯片的第二端连接的磁盘;或者,所述第一装置为与所述存储控制芯片的第二端连接的磁盘,所述第二装置为与所述存储控制芯片的第一端连接网络装置。
[0135]可选的,上述第一协议具体可以是网络侧协议,第二协议具体可以是存储侧协议;或者上述第一协议具体可以是存储侧协议中的一个协议,第二协议具体可以是网络侧协议。
[0136]需要说明的是,所述方法具体可以是应用于上面实施例介绍的存储控制芯片,其中,上述网络装置具体可以是上面实施例中介绍的存储控制芯片的外部网络。
[0137]另一个实施例中,步骤901具体可以包括:
[0138]存储控制芯片接收网络装置发送的包括第一内部报文的网络侧协议报文,并对所述网络侧协议报文进行网络侧协议解封装处理得到所述第一内部报文。
[0139]其中,该步骤具体可以是通过上面实施例介绍的网络接口模块以及处理引擎配置实现的。具体的实现过程可以参考上面的实施例。
[0140]可选的,步骤902具体可以包括:
[0141]存储控制芯片对所述第一内部报文进行分析处理得到分析结果。
[0142]可选的,步骤903具体可以包括:
[0143]当所述分析结果表示所述第一内部报文是用于发送至磁盘的报文时,存储控制芯片对所述第一内部报文进行存储侧协议封装处理得到存储侧协议报文,并将所述存储侧协议报文发送至所述磁盘。
[0144]其中,该步骤具体可以是通过上面实施例介绍的存储接口模块以及处理引擎配置实现的。具体的实现过程可以参考上面的实施例。
[0145]可选的,上述第一内部报文具体可以是向上述磁盘进行写操作的报文。
[0146]该实施例中中,介绍存储控制芯片对磁盘进行写操作的报文传输过程,该过程相比有技术,可以减少存储控制及接口控制电路的成本。
[0147]在另一个实施例中,步骤901具体可以包括:
[0148]存储控制芯片接收磁盘发送的包括第二内部报文的存储侧协议报文,并对所述存储侧协议报文进行存储侧协议解封装处理得到所述第二内部报文。
[0149]其中,该步骤具体可以是通过上面实施例介绍的存储接口模块以及处理引擎配置实现的。具体的实现过程可以参考上面的实施例。
[0150]可选的,步骤902具体可以包括:
[0151]存储控制芯片对所述第二内部报文进行分析处理得到分析结。
[0152]步骤903具体可以包括:
[0153]当所述分析结果表示所述第二内部报文是用于发送至外部网络的报文时,存储控制芯片对所述第二目标报文进行网络侧协议封装处理得到网络侧协议报文,并将该网络侧协议报文发送至外部网络。
[0154]其中,该步骤具体可以是通过上面实施例介绍的网络接口模块以及处理引擎配置实现的。具体的实现过程可以参考上面的实施例。
[0155]可选的,上述第二内部报文具体可以是对磁盘进行读取操作的报文。[0156]该实施例中,上述技术方案中,存储控制芯片接收第一装置发送的包括内部报文的第一协议报文,并对所述第一协议报文进行第一协议报文解封装处理得到所述内部报文;存储控制芯片对所述内部报文进行分析处理得到分析结果;当所述分析结果表示所述内部报文是用于发送至第二装置的报文时,存储控制芯片对所述内部报文进行第二协议封装处理得到第二协议报文,并将所述第二协议报文发送至所述第二装置。这样整个存储控制芯片就只需要处理第一协议和第二协议的协议栈,相比现有技术存储控制及接口控制电路都通过PCIE接口,即现有技术中存储控制及接口控制电路至少需要处理PCIE协议、网络侧协议(例如:Eth协议)和存储侧协议(例如:SAS协议)的协议栈,本实施例可以减少存储控制及接口控制电路的成本。
[0157]下面以下具体的应用实例进行举例说明
[0158]应用场景的结构可以如图10所示,服务器的存储板101上配置存储控制芯片1011,其存储侧接口为SAS,连接板内磁盘1012,网络侧接口为Eth接口,连接交换板102的Eth交换机1021,服务器板103的处理器1031通过Eth网卡1032连接交换板的Eth交换机1021来访问存储板101,服务器系统跑的是iSCSI协议数据。另外,存储板101上还可以包括处理器1013,例如,处理器1013用于配置和管理存储控制芯片的软件。以服务器板103读取存储板101上的磁盘1012的操作为例进行说明,该读取操作的流程可以参考图11所示,该流程可以包括如下步骤:
[0159]1101、服务器板将i SCSI报文封装在Eth报文中,通过网卡发送至交换板的Eth交换机。
[0160]1102、交换板的Eth交换机转发服务器板网卡发过来的Eth报文到存储板。
[0161]1103、存储板的存储控制芯片的网络侧接口接收到Eth报文,其网络接口模块对Eth报文进行协议解封装去掉Eth报文头,把处理后IP报文传送给处理引擎。
[0162]1104、网络接口模块解封装IP报文,去掉IP报文头和TCP报文头,把处理后的iSCSI报文传送给处理引擎。
[0163]1105、网络接口模块解封装iSCSI报文,以去掉iSCSI报文头,把处理后的SCSI报文传送给处理引擎。
[0164]需要说明的是,IP和TCP的协议卸载和iSCSI的协议卸载是可选支持的功能,本发明实施例对此不作限定制,即步骤1104和1105可以是由网络接口模块执行的,还可以是由处理引擎执行的,即处理引擎可以完成上述步骤1104和步骤1105。本实施例以网络接口模块支持IP、TCP和iSCSI的协议卸载功能为例进行说明,则其进行协议卸载处理后的是SCSI报文。
[0165]1106、处理引擎接收到网络接口模块发送过来的SCSI报文,当解释出该SCSI报文是读取磁盘的命令请求,则把SCSI报文传送给存储接口模块。
[0166]1107、存储接口模块接收到SCSI报文,将该SCSI封装上SAS报文头得到SAS报文,并将该SAS报文发送至磁盘。
[0167]1108、磁盘内部的控制器接收到该SAS报文后,分析SAS报文获取到读命令,并读取出包括响应数据的SAS报文,并将该SAS报文返回给存储接口模块。
[0168]1109、存储接口模块接收到磁盘发过来的SAS报文,对该SAS报文进行协议解封装去掉SAS报文头,把处理后的SCSI报文传送给处理引擎。[0169]1110、处理引擎接收到存储接口模块发过来的SCSI报文,解释到该SCSI报文是读取到的磁盘数据,则把该SCSI报文传送给网络接口模块。
[0170]1111、网络接口模块接收到处理引擎发送的SCSI报文,根据之前记录的网络接口信息(例如:包括TCP端口号、IP地址、MAC地址等),对该SCSI报文封装iSCSI报文头、TCP报文头、IP报文头、Eth报文头,把处理后的Eth报文发送给交换板。
[0171]1112、交换板的Eth交换机转发存储板存储控制芯片发过来的Eth报文到服务器板。
[0172]1113、服务器板网卡接收到交换板发过来的Eth报文,进行处理后通过PCIE接口传送给处理器。
[0173]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存取存储器(Random AccessMemory,简称 RAM)等。
[0174]以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
【权利要求】
1.一种存储控制芯片,其特征在于,包括:网络接口模块、处理引擎和存储接口模块, 其中,所述网络接口模块包括网络侧接口,所述网络接口模块通过所述网络侧接口与所述芯片的外部网络连接,所述网络接口模块通过数据通道与所述处理引擎连接,所述处理引擎还通过数据通道与所述存储接口模块连接,所述存储接口模块包括存储侧接口,所述存储接口模块通过所述存储侧接口与磁盘连接;其中:所述网络接口模块,用于通过网络侧协议处理实现所述外部网络与所述处理引擎之间传输报文;所述处理引擎,用于分析所述网络接口模块传输的报文,或者分析所述存储接口模块传输的报文;并将分析结果表示为用于发送至磁盘的报文通过数据通道发送至所述存储接口模块,并将分析结果表示为用于发送至所述外部网络的报文通过数据通道发送至所述网络接口模块;所述存储接口模块,用于通过存储侧协议处理实现所述磁盘与所述处理引擎之间传输报文。
2.如权利要求1所述的芯片,其特征在于,所述所述网络接口模块还用于通过所述网络侧接口接收所述外部网络发送的包括第一内部报文的网络侧协议报文,并对所述网络侧协议报文进行解封装处理得到包括所述第一内部报文的第一目标报文,再通过数据通道将所述第一目标报文发送至所述处理引擎;所述处理引擎还用于根据所述第一目标报文得到所述第一内部报文,对所述第一内部报文进行分析处理得到分析结果,当该分析结果表示所述第一内部报文是用于发送至磁盘的报文时,通过数据通道将所述第一内部报文发送至所述存储接口模块;所述存储接口模块还用于对所述第一内部报文进行存储侧协议封装处理得到存储侧协议报文,并通过所述存储侧接口将所述存储侧协议报文发送至所述磁盘。
3.如权利要求1或2所述的芯片,其特征在于,所述存储接口模块还用于通过所述存储侧接口接收所述磁盘发送的包括第二内部报文的存储侧协议报文,并对所述存储侧协议报文进行解封装处理得到所述第二内部报文,并通过数据通道将所述第二内部报文发送至所述处理引擎;所述处理引擎还用于对所述第二内部报文进行分析处理得到分析结果,当该分析结果表示所述第二内部报文是用于发送至外部网络的报文时,通过数据通道向所述网络接口模块发送包括所述第二内部报文的第二目标报文;所述网络接口模块还用于对所述第二目标报文进行封装处理得到网络侧协议报文,并通过所述网络侧接口将该网络侧协议报文发送至外部网络。
4.如权利要求2所述的芯片,其特征在于,所述网络接口模块用于通过所述网络侧接口接收外部网络发送的包括第一内部报文的网络侧协议报文,并对所述网络侧协议报文进行网络侧协议解封装处理得到所述第一内部报文,再通过数据通道将所述第一内部报文发送至所述处理引擎;或者所述网络接口模块用于当所述网络侧协议报文包括多层协议封装时,通过所述网络侧接口接收外部网络发送的包括第一内部报文的网络侧协议报文,并对所述网络侧协议报文进行第一层协议的解封装处理得到包括所述第一内部报文的目标报文,再通过数据通道将所述目标报`文发送至所述处理引擎;所述处理引擎用于当所述网络侧协议报文包括多层协议封装时,对所述目标报文进行解封装处理得到所述第一内部报文,对所述第一内部报文进行分析处理得到分析结果,当该分析结果表示所述第一内部报文是用于读取磁盘的报文时,通过数据通道将所述第一内部报文发送至所述存储接口模块。
5.如权利要求3所述的芯片,其特征在于,所述处理引擎用于对所述第二内部报文进行分析处理得到分析结果,当该分析结果表示所述第二内部报文是用于发送至外部网络的报文时,通过数据通道向所述网络接口模块发送所述第二内部报文;或者所述处理引擎用于当所述网络侧协议报文包括多层协议封装时,对所述第二内部报文进行分析处理得到分析结果,当该分析结果表示所述第二内部报文是用于发送至外部网络的报文时,对所述第二内部报文进行封装处理得到包括所述第二内部报文的第二目标报文,并通过数据通道向所述网络接口模块发送所述第二目标报文。
6.如权利要求1或2所述的芯片,其特征在于,所述芯片还包括:管理接口模块,其中, 所述管理接收模块包括控制管理接口,所述管理接口模块通过所述控制管理接口与所述芯片的外部处理器连接,所述管理接口模块还通过管理通道与所述处理引擎连接;其中:所述管理接口模块,用于通过所述控制管理接口接收所述外部处理器发送的用于配置和/或管理所述处理引擎的配置管理报文,并通过管理通道将所述配置管理报文发送至所述处理引擎;所述处理引擎还用于根据所述配置管理报文配置和/或管理所述处理引擎的软件。
7.如权利要求1或2所述的芯片,其特征在于,所述芯片还包括:内存管理单元MMU控制器,所述MMU控制器包括内存接口,所述MMU控制器通过所述内存接口与外部内存连接, 所述MMU控制器还通过数据通道与所述处理引擎连接;其中:所述MMU控制器,用于将所述处理引擎处理的数据存放至所述外部内存。
8.如权利要求7所述的芯片,其特征在于,所述芯片还包括:直接内存访问DMA控制器,所述DMA控制器分别通过控制通道与所述处理引擎连接,以及通过控制通道与所述MMU 控制器连接;其中:所述DMA控制器,用于当需要使用所述外部内存时,控制所述存储接口模块与所述外部内存之间的数据传输,以及控制所述网络接口模块与所述外部内存之间的数据传输。
9.如权利要求1或2所述的芯片,其特征在于,所述芯片还包括:数据缓存,所述数据缓存通过数据通道与所述处理引擎连接;其中:所述数据缓存,用于缓存程序代码或者所述处理引擎处理的报文信息;所述处理引擎还用于调用所述数据缓存缓存的程序代码执行对报文的处理操作。
10.如权利要求1或2所述的芯片,其特征在于,所述芯片还包括:闪存Flash接口模块,所述Flash接口模块一端口与外部Flash芯片连接,所述Flash接口模块的另一端与所述处理引擎连接;其中:所述Flash接口模块,用于在下电状态将所述芯片使用的软件的程序代码存储至所述外部Flash芯片。
11.一种磁盘报文传输方法,其特征在于,包括:存储控制芯片接收第一装置发送的包括内部报文的第一协议报文,并对所述第一协议报文进行第一协议报文解封装处理得到所述内部报文;所述存储控制芯片对所述内部报文进行分析处理得到分析结果;当所述分析结果表示所述内部报文是用于发送至第二装置的报文时,所述存储控制芯片对所述内部报文进行第二协议封装处理得到第二协议报文,并将所述第二协议报文发送至所述第二装置;其中: 所述第一装置为与所述存储控制芯片的第一端连接的网络装置,所述第二装置为与所述存储控制芯片的第二端连接的磁盘;或者,所述第一装置为与所述存储控制芯片的第二端连接的磁盘,所述第二装置为与所述存储控制芯片的第一端连接的网络装置。
12.如权利要求11所述的方法,其特征在于,所述存储控制芯片接收第一装置发送的包括内部报文的第一协议报文,并对所述第一协议报文进行第一协议报文解封装处理得到所述内部报文,包括: 所述存储控制芯片接收所述网络装置发送的包括第一内部报文的网络侧协议报文,并对所述网络侧协议报文进行网络侧协议解封装处理得到所述第一内部报文; 所述当所述分析结果表示所述内部报文是用于发送至第二装置的报文时,所述存储控制芯片对所述内部报文进行第二协议封装处理得到第二协议报文,并将所述第二协议报文发送至所述第二装置,包括: 当所述分析结果表示所述第一内部报文是用于发送至磁盘的报文时,所述存储控制芯片对所述第一内部报文进行存储侧协议封装处理得到存储侧协议报文,并将所述存储侧协议报文发送至所述磁盘。
13.如权利要求11所述的方法,其特征在于,所述存储控制芯片接收第一装置发送的包括内部报文的第一协议报文,并对所述第一协议报文进行第一协议报文解封装处理得到所述内部报文,包括:` 所述存储控制芯片接收磁盘发送的包括第二内部报文的存储侧协议报文,并对所述存储侧协议报文进行存储侧协议解封装处理得到所述第二内部报文; 所述存储控制芯片对所述第二内部报文进行分析处理得到分析结果; 所述当所述分析结果表示所述内部报文是用于发送至第二装置的报文时,所述存储控制芯片对所述内部报文进行第二协议封装处理得到第二协议报文,并将所述第二协议报文发送至所述第二装置,包括: 当所述分析结果表示所述第二内部报文是用于发送至外部网络的报文时,所述存储控制芯片对所述第二目标报文进行网络侧协议封装处理得到网络侧协议报文,并将该网络侧协议报文发送至所述网络装置。
【文档编号】G06F3/06GK103558995SQ201310482817
【公开日】2014年2月5日 申请日期:2013年10月15日 优先权日:2013年10月15日
【发明者】李宇涛, 姚益民 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1