CN104038550B - 数据通信方法及其装置、存储系统 - Google Patents
数据通信方法及其装置、存储系统 Download PDFInfo
- Publication number
- CN104038550B CN104038550B CN201410274132.3A CN201410274132A CN104038550B CN 104038550 B CN104038550 B CN 104038550B CN 201410274132 A CN201410274132 A CN 201410274132A CN 104038550 B CN104038550 B CN 104038550B
- Authority
- CN
- China
- Prior art keywords
- storage device
- controller
- network
- storage
- access command
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了数据通信方法及其装置、存储系统,其中,所述方法应用于存储系统中,所述存储系统包括控制器和存储设备,所述控制器和存储设备之间通过交换网络进行连接,所述存储设备具有网络接口,所述方法包括:所述控制器接收数据访问命令;所述控制器对所述数据访问命令进行封装,获得交换网络数据包;将所述交换网络数据包通过所述存储设备的网络接口发送给存储设备。通过上述方式,本申请能够提高存储系统的通信效率。
Description
技术领域
本申请涉及存储技术领域,特别是涉及数据通信方法及其装置、存储系统。
背景技术
在大型的存储系统中,常需要数量极多的存储设备为控制端提供存储空间。特别是目前应用在各领域的服务器,所需存储空间非常大,故一般需通过扩展器(英文:Expander)连接多个存储设备。
具体,服务器通过控制器与串行小型计算机系统接口扩展器(英文:SerialAttached Small Computer System Interface Expander,简称:SAS Expander)连接,并通过SAS Expander扩展连接多个SAS硬盘和串行高级技术附件(英文:Serial AdvancedTechnology Attachment,简称:SATA)硬盘,以实现连接多个存储设备。
然而,由于SAS Expander不能识别服务器下发的小型计算机系统接口(英文:Small Computer System Interface,简写:SCSI)命令,导致在服务器访问硬盘的过程中,需要进行SCSI命令与SAS命令间的多次转换,降低了服务器的访问效率。
发明内容
本申请主要解决的技术问题是提供数据通信方法及其装置、存储系统,能够提高存储系统的通信效率。
为解决上述技术问题,本申请第一方面提供一种数据通信方法,所述方法应用于存储系统中,所述存储系统包括控制器和存储设备,所述控制器和存储设备之间通过交换网络进行连接,所述存储设备具有网络接口,所述方法包括:所述控制器接收数据访问命令;所述控制器对所述数据访问命令进行封装,获得交换网络数据包;将所述交换网络数据包通过所述存储设备的网络接口发送给存储设备。
结合第一方面,在本申请第一方面的第一种可能实施方式中,所述数据访问命令是快捷外设互联标准PCIe格式的命令;所述控制器对所述数据访问命令进行封装包括:所述控制器将所述具有快捷外设互联标准PCIe格式的所述数据访问命令封装为具有交换网络格式的数据包。
结合第一方面或第一种可能实施方式,在本申请第一方面的第二种可能实施方式中,所述存储设备包括固态硬盘SSD。
为解决上述技术问题,本申请第二方面提供一种数据通信的方法,所述方法应用于存储系统中,所述存储系统包括控制器和存储设备,所述控制器和存储设备之间通过交换网络进行连接,所述存储设备具有网络接口,所述方法包括:所述存储设备通过所述网络接口接收所述控制器发送的交换网络数据包,其中,所述交换网络数据包包括数据访问命令,并且所述交换网络数据包是由所述控制器对所述数据访问命令封装而成的;对所述交换网络数据包进行解析,获得所述数据访问命令;执行所述数据访问命令。
结合第二方面,在本申请第二方面的第一种可能实施方式中,所述存储设备包括固态硬盘SSD。
为解决上述技术问题,本申请第三方面提供一种控制器,所述控制器用于存储系统中,所述存储系统还包括存储设备,所述控制器和存储设备之间通过交换网络进行连接,所述存储设备具有网络接口,所述控制器包括第一通讯模块、封装模块和第二通讯模块;所述第一通讯模块用于接收数据访问命令,并将所述数据访问命令发送给所述封装模块;所述封装模块用于对所述数据访问命令进行封装,获得交换网络数据包,并将所述交换网络数据包发送给所述第二通讯模块;所述第二通讯模块用于将所述交换网络数据包通过所述存储设备的网络接口发送给存储设备。
结合第三方面,在本申请第三方面的第一种可能实施方式中,所述数据访问命令是快捷外设互联标准PCIe格式的命令;所述封装模块具体用于将所述具有快捷外设互联标准PCIe格式的所述数据访问命令封装为具有交换网络格式的数据包。
结合第三方面或第一种可能实施方式,在本申请第三方面的第二种可能实施方式中,所述存储设备包括固态硬盘SSD。
为解决上述技术问题,本申请第四方面提供一种存储设备,所述存储设备用于存储系统中,所述存储系统还包括控制器,所述控制器和存储设备之间通过交换网络进行连接,所述存储设备具有网络接口,所述存储设备还包括通讯模块、解析模块和执行模块;所述通讯模块用于通过所述网络接口接收所述控制器发送的交换网络数据包,并将所述交换网络数据包发送给解析模块,其中,所述交换网络数据包包括数据访问命令,并且所述交换网络数据包是由所述控制器对所述数据访问命令封装而成的;所述解析模块用于对所述交换网络数据包进行解析,获得所述数据访问命令,并将所述数据访问命令发送给所述执行模块;所述执行模块用于执行所述数据访问命令。
结合第四方面,在本申请第四方面的第一种可能实施方式中,所述存储设备包括固态硬盘SSD。
为解决上述技术问题,本申请第五方面提供一种存储系统,包括控制器、交换网络和至少一个存储设备,所述控制器通过所述交换网络与所述存储设备连接,其中,所述控制器为上述的控制器,和/或所述存储设备为上述的存储设备。
结合第五方面,在本申请第五方面的第一种可能实施方式中,还包括至少一个交换节点,每个所述交换节点均与控制器、所有存储设备的网络接口连接,实现所述控制器通过每个交换节点均可与所有存储设备通信。
本申请利用交换网络将控制器与存储设备间进行连接,在控制器与存储设备的通信过程中仅需对发送的消息与交换网络数据包间进行转换,减少了控制器与存储设备间信息格式的转换次数,并且,所有的存储设备均直接通过交换网络与控制器通信,无需通过多层级联,提高了存储系统中控制器与存储设备间的通信效率。
附图说明
图1是本申请存储系统一实施方式的结构示意图;
图2是本申请数据通信方法一实施方式的流程图;
图3是本申请数据通信方法另一实施方式的流程图;
图4是本申请数据通信方法再一实施方式的流程图;
图5是本申请数据通信方法又再一实施方式的流程图;
图6是本申请控制器一实施方式的结构示意图;
图7是本申请控制器另一实施方式的结构示意图;
图8是本申请存储设备一实施方式的结构示意图;
图9是本申请存储设备另一实施方式的结构示意图。
具体实施方式
下面结合附图和具体的实施方式进行说明。
请参阅图1,图1是本申请存储系统一实施方式的结构示意图。本实施方式中,存储系统包括至少一个控制器110、交换网络120和至少一个存储设备130,其中,控制器110、存储设备130均设置有网络接口140,所有控制器110、存储设备130通过网络接口140与交换网络120连接,使得控制器110与所有存储设备130形成可相互访问的存储系统。
其中,交换网络120包括用于转发的交换节点121,如路由器或IB交换机等。控制器110、存储设备130均通过网络接口140与每个交换节点121连接,实现控制器110与每个存储设备130间均可直接通过任意一个交换节点121进行数据交互。当然,在具体应用实施方式中,交换网络也可不包括交换节点,控制器与存储设备直接通过网络接口进行连接,故在此不作限定。
具体地,控制器110接收数据访问命令。本实施方式以控制器110接收服务器的数据访问命令为例,如控制器110通过接口如快捷外设互联标准(英文:Pci Express,简称PCIe)接口与服务器150连接,服务器150向控制器110下发数据访问命令,如读数据命令、写数据命令、修改或者其他命令。其中,该数据访问命令封装在与接口相应格式包中,如PCIe格式包中,且该数据访问命令包括接收该数据访问命令的目的存储设备130的地址。控制器110接收到该PCIe包后,从PCIe包中解析得到下发的数据访问命令,并将该数据访问命令封装到交换网络数据包。其中,交换网络数据包根据不同的交换网络所需要的封装形式不同,例如该交换网络120为以太网时,该交换网络数据包即为以太网协议数据包(Packet),以适配交换网络传输协议。
控制器110将封装好的交换网络数据包发送给交换网络120的交换节点121。例如,控制器110可根据当前每个交换节点的通信情况,将交换网络数据包发送给最优通信情况的交换节点121。或者,控制器110将交换网络数据包随机发送给一个交换节点121,在此不作限定。
交换节点121对交换网络数据包进行解析得到数据访问命令中的目的存储设备130的地址,根据预存的存储设备地址与存储设备130间的映射关系,将该交换网络数据包发送给目的存储设备130。
存储设备130从网络接口140接收到交换网络120发送的交换网络数据包后,对该交换网络数据包进行解析,得到服务器下发的数据访问命令,将该数据访问命令转换为存储设备130能够识别的命令,并执行该数据访问命令。例如,该数据访问命令为写数据命令,则将数据访问命令中的需要写入的数据写入该存储设备130。
可选地,本存储系统中存储设备130也可向控制器110发送数据。例如,在接收到数据访问命令需要反馈数据,如为读数据命令时,存储设备130根据数据访问命令获取存储数据,并将该存储数据封装在交换网络数据包中,通过网络接口140将该交换网络数据包发送至交换网络120中,交换网络120的交换节点121将该数据包转发给控制器110。
控制器110从该交换网络数据包中解析得到存储设备130的存储数据,并将该存储数据封装在PCIe包后发送给服务器150,以实现服务器150对存储设备130的读访问。
可选地,在控制器110与所有存储设备130首次通过交换网络120建立连接时,控制器110通过交换网络120向所有存储设备130广播第一消息,其中,第一消息用于请求存储设备130反馈存储设备信息,如存储空间信息。
每个存储设备130接收到第一消息后,获取自身的存储空间信息,并将存储空间信息作为第二消息封装在交换网络数据包中,通过交换网络120发送给控制器110。
控制器110从交换网络数据包中解析得到第二消息,根据每个存储设备130发送的第二消息,为该存储设备130分配地址,并建立映射关系,实现对所有存储设备130的地址分配。
本实施方式,每个存储设备130均作为独立的节点,通过网络接口与交换网络120直接连接。存储设备可动态添加或退出该系统。例如,当存储设备130需要退出该存储系统,如存储设备130与交换网络断开连接时,控制器110在预设时间内接收不到该存储设备130的定时应答,则确定该存储设备130退出,控制器110并回收退出的存储设备130的地址。当有新存储设备与交换网络建立连接时,新存储设备130通过交换网络120向控制器110发送请求添加的消息,控制器110接收到请求添加的消息后,给新存储设备130分配地址。
可以理解的是,上述为存储设备分配地址、增加或删除存储设备地址的步骤未必限定由控制器执行,也可由控制器发送相应请求给与控制器连接的服务器执行,在此不作限定。
其中,本申请中的交换网络可以但不限为以太网、无限带宽(英文:InfiniBand,简称:IB)、PCIe网络。
控制器可以但不限为现场可编程门阵列(英文:Field-Programmable GateArray,简称:FPGA)、或主机总线适配器(英文:Host Bus Adapte,简称:HBA)。
作为优化实施方式,存储设备可具体为固态硬盘(英文:Solid State Disk,简称:SSD),但在其他实施方式中,存储设备可以为其他存储设备,如SAS硬盘、SATA硬盘等,在此不作限定。
区别于现有通过多级级联框如SAS Expander与存储设备连接,本实施方式控制器与存储设备直接通过交换网络连接,在控制器与存储设备的通信过程中仅需对发送的消息与交换网络数据包间进行转换,减少了格式转换次数,提高了通信效率。而且控制器与存储设备之间采用交换网络进行连接的方式,实现所有存储设备直接通过交换网络实现与控制器通信,无需多级级联,进一步提高通信效率。同时,交换网络中可设置多个交换节点,每个交换节点均可与所有控制器和所有存储设备连接,形成多个独立完整的存储系统,实现互为备用,提高了系统的可靠性。
请参阅图2,图2是本申请数据通信方法一实施方式的流程图。本实施方式中,该方法应用在存储系统中,所述存储系统包括控制器和存储设备,所述控制器和存储设备之间通过交换网络进行连接,所述存储设备具有网络接口。该方法包括:
201:控制器接收数据访问命令。
控制器通过网络接口接入交换网络,可实现与同样接入该交换网络的所有存储设备之间的通信。当与控制器连接的处理器需要访问存储设备时,向控制器下发的数据访问命令。例如,服务器与控制器通过PCIe接口连接,服务器向控制器下发数据访问命令,例如读数据命令、写数据命令、修改或其他数据命令。其中,该数据访问命令封装在PCIe包中,具有PCIe格式。且该数据访问命令包括接收该数据访问命令的目的存储设备的地址。具体地,控制器可以但不限为FPGA或HBA。
202:控制器将所述数据访问命令进行封装,获得交换网络数据包。
例如,控制器将所述具有该PCIe格式的数据访问命令封装为具有交换网络格式的数据包,得到交换网络数据包。其中,交换网络数据包根据不同的交换网络所需要的封装形式不同,例如该交换网络为以太网时,该交换网络数据包即为以太网协议数据包(Packet),以适配交换网络传输协议。
203:控制器将所述交换网络数据包通过所述存储设备的网络接口发送给存储设备。
具体,控制器和存储设备通过网络接口接入交换网络中。其中,该交换网络可以但不限为以太网、IB、PCIe网络。优选地,交换网络包括用于转发的交换节点,如路由器或IB交换机等。控制器、存储设备均通过网络接口与每个交换节点连接,实现控制器与每个存储设备间均可直接通过任意一个交换节点进行数据交互。
控制器将封装好的交换网络数据包发送给交换网络的交换节点。例如,控制器根据当前每个交换节点的通信情况,将交换网络数据包发送给最优通信情况的交换节点。或者,控制器将交换网络数据包随机发送给一个交换节点,在此不作限定。
交换节点接收到控制器发送的交换网络数据包后,对该交换网络数据包进行解析,得到命令中的目的存储设备的地址,根据预存的存储设备地址与存储设备间的映射关系,将该交换网络数据包发送给目的存储设备。目的存储设备通过网络接口接收到交换节点发送的交换网络数据包,并对该交换网络数据包进行解析,得到数据访问命令,将该数据访问命令转换为存储设备能够识别的命令,并执行该数据访问命令。例如,该数据访问命令为写数据命令,则将命令中的需要写入的数据写入存储设备。其中,所述存储设备优选但不限为SSD。
请参阅图3,图3是本申请数据通信方法另一实施方式的流程图。本实施方式中,所述方法可在图2所示实施方式的基础上,还包括:
301:控制器接收存储设备通过网络接口发送的交换网络数据包。
例如,存储设备在接收到读数据命令时,根据读数据命令将存储数据进行封装,得到交换网络数据包,并通过网络接口将该交换网络数据包发送到交换网络。经交换网络转发后,控制器接收到存储设备发送的交换网络数据包。
302:控制器将所述交换网络数据包解析,得到所述存储设备的数据。
控制器接收到存储设备发送的交换网络数据包后,根据交换网络协议,如以太网协议等,从该数据包中解析得到存储设备的数据。
303:控制器发送所述存储设备的数据。
例如,控制器将解析得到的存储设备的数据封装在PCIe包后发送给服务器,以实现服务器对存储设备数据的读取。
请参阅图4,图4是本申请数据通信方法再一实施方式的流程图。本实施方式中,所述方法应用于存储系统中,所述存储系统包括控制器和存储设备,所述控制器和存储设备之间通过交换网络进行连接,所述存储设备具有网络接口。所述方法包括:
401:存储设备通过所述网络接口接收所述控制器发送的交换网络数据包,其中,所述交换网络数据包包括数据访问命令,并且所述交换网络数据包是由所述控制器对所述数据访问命令封装而成的。
存储设备设置有网络接口,以用于接入交换网络。存储设备通过网络接口与所述交换网络连接,以实现与同样接入交换网络的控制器之间的通信。具体,本实施方式中的交换网络如上面实施方式所述的交换网络在此不作赘述。控制器在接收到数据访问命令时,通过交换网络将封装有该数据访问命令的交换网络数据包发送给存储设备的网络接口,存储设备接收该交换网络数据包。
402:存储设备对所述交换网络数据包进行解析,获得所述数据访问命令。
例如,存储设备根据交换网络协议,对所述交换网络数据包进行解析,获得数据访问命令。
403:存储设备执行数据访问命令。
存储设备将解析得到的数据访问命令转换为存储设备能够识别的命令,并执行该数据访问命令。例如,该数据访问命令为写数据命令,则将命令中的需要写入的数据写入存储设备中。
作为优化实施方式,存储设备具体为SSD,但在其他实施方式中,存储设备可以为其他存储设备,如SAS硬盘、SATA硬盘等,在此不作限定。
请参阅图5,图5是本申请数据通信方法又再一实施方式的流程图。本实施方式中,所述方法可在图4所示实施方式的基础上,还包括:
501:存储设备获取所述存储设备的数据。
例如,存储设备在接收到数据访问命令为读数据命令时,根据命令获取需读取的存储数据。
502:存储设备将所述存储设备的数据进行封装,得到交换网络数据包。
存储设备根据交换网络协议,将获取到的存储设备数据进行封装,得到交换网络数据包。
503:存储设备通过网络接口将所述交换网络数据包发送给控制器,以使所述控制器对所述数据包进行解析,得到所述存储设备的数据。
例如,存储设备通过网络接口将该交换网络数据包发送至交换网络的交换节点。具体,存储设备可根据当前每个交换节点的通信情况,将交换网络数据包发送给最优通信情况的交换节点。或者,存储设备将交换网络数据包随机发送给一个交换节点,在此不作限定。
交换节点接收到存储设备发送的交换网络数据包后,将该数据包转发给控制器。控制器将所述数据包进行解析,并将解析得到的所述存储设备的数据发送给服务器,实现服务器对存储设备数据的读取。
可选地,上述数据通信方法的实施方式中还可包括为存储设备分配地址、增加存储设备地址或删除存储设备地址,具体如:
在控制器与所有存储设备首次通过交换网络建立连接时,控制器通过交换网络向存储设备广播第一消息,其中,第一消息用于请求存储设备反馈存储设备信息,如存储空间信息。
存储设备接收到第一消息后,获取自身的存储空间信息,并将存储空间信息作为第二消息封装在交换网络数据包中,通过交换网络发送给控制器,控制器根据每个存储设备发送的第二消息,为该存储设备分配地址,并建立映射关系,实现对所有存储设备的地址分配。
进一步地,每个存储设备均作为独立的节点,通过网络接口与交换网络直接连接。存储设备可动态添加或退出该系统。例如,当存储设备需要退出该存储系统,如存储设备与交换网络断开连接时,控制器在预设时间内接收不到该存储设备的定时应答,则确定该存储设备退出,并回收退出的存储设备的地址。当有新存储设备与交换网络建立连接时,新存储设备通过交换网络向控制器发送请求添加的消息,控制器接收到请求添加的消息后,给新存储设备分配地址。
可以理解的是,上述为存储设备分配地址、增加或删除存储设备地址的步骤未必限定由控制器执行,也可由控制器发送相应请求给与控制器连接的服务器执行,在此不作限定。
请参阅图6,图6是本申请控制器一实施方式的结构示意图。本实施方式中,控制器600用于存储系统中,所述存储系统还包括存储设备,所述控制器600和存储设备之间通过交换网络进行连接,所述存储设备具有网络接口,控制器600可以但不限为FPGA或HBA。
具体,控制器600包括第一通讯模块610、封装模块620和第二通讯模块630。
第一通讯模块610用于接收数据访问命令,并将所述数据访问命令发送给所述封装模块620。
例如,第一通讯模块610包括PCIe接口或其他总线接口,用于与服务器连接,以接收服务器下发的数据访问命令。当需要访问存储设备时,服务器通过PCIe接口或其他总线接口向控制器的第一通讯模块610下发的数据访问命令。其中,该数据访问命令可以但不限为读数据命令、写数据命令、修改或其他命令。该数据访问命令封装在与接口相应格式包中,如PCIe格式包中,且该数据访问命令包括接收该数据访问命令的目的存储设备的地址。
封装模块620用于对所述数据访问命令进行封装,获得交换网络数据包,并将所述交换网络数据包发送给所述第二通讯模块630。
例如,封装模块620获取第一通讯模块610接收到的具有该PCIe格式的数据访问命令后,将所述具有该PCIe格式的数据访问命令封装为具有交换网络格式的数据包,得到交换网络数据包。其中,交换网络数据包根据不同的交换网络所需要的封装形式不同,例如该交换网络为以太网时,该交换网络数据包即为以太网协议数据包(Packet),以适配交换网络传输协议。
第二通讯模块630用于将所述交换网络数据包通过所述存储设备的网络接口发送给存储设备。
具体,控制器和存储设备通过网络接口接入交换网络中。其中,该交换网络可以但不限为以太网、IB、PCIe网络。优选地,交换网络包括用于转发的交换节点,如路由器或IB交换机等。控制器、存储设备均通过网络接口与每个交换节点连接,实现控制器与每个存储设备间均可直接通过任意一个交换节点进行数据交互。
控制器的第二通讯模块630将封装好的交换网络数据包发送给交换网络的交换节点。例如,控制器根据当前每个交换节点的通信情况,将交换网络数据包发送给最优通信情况的交换节点。或者,控制器将交换网络数据包随机发送给一个交换节点,在此不作限定。
交换节点接收到控制器的第二通讯模块630发送的交换网络数据包后,对该交换网络数据包进行解析,得到命令中的目的存储设备的地址,根据预存的存储设备地址与存储设备间的映射关系,将该交换网络数据包发送给目的存储设备。目的存储设备通过网络接口接收到交换节点发送的交换网络数据包,并对该交换网络数据包进行解析,得到数据访问命令,将该数据访问命令转换为存储设备能够识别的命令,并执行该数据访问命令。例如,该数据访问命令为写数据命令,则将命令中的需要写入的数据写入存储设备。其中,所述存储设备优选但不限为SSD。
在另一实施方式中,控制器还包括解析模块,第二通讯模块还可用于接收存储设备通过网络接口发送的交换网络数据包。解析模块用于将所述交换网络数据包解析,得到所述存储设备的数据。第一通讯模块还可用于发送所述存储设备的数据,如通过PCIe接口发送给服务器。
请参阅图7,图7本申请控制器另一实施方式的结构示意图。本实施方式中,所述控制器700用于存储系统中,所述存储系统还包括存储设备,所述控制器和存储设备之间通过交换网络进行连接,所述存储设备具有网络接口。
控制器700包括处理器710、存储介质720、第一通讯接口730、第二通讯接口740及总线750,其中,处理器710、存储介质720、第一通讯接口730、第二通讯接口740通过总线750连接。
存储介质720用于存储处理器710执行的计算机指令以及处理器710工作时所需存储的数据。
第一通讯接口730用于接收数据访问命令,例如,第一通讯接口730具体为PCIe接口,第一通讯接口730接收服务器下发的具有PCIe格式的数据访问命令。其中,该数据访问命令可以但不限为读数据命令、写数据命令、修改或其他命令。
处理器710用于对所述数据访问命令进行封装,获得交换网络数据包。例如,处理器710将所述具有该PCIe格式的数据访问命令封装为具有交换网络格式的数据包,得到交换网络数据包。其中,交换网络数据包根据不同的交换网络所需要的封装形式不同。
第二通讯接口740用于将所述交换网络数据包通过所述存储设备的网络接口发送给存储设备。例如,第二通讯接口740具体为网络接口。第二通讯接口740与交换网络连接,实现与同样接入交换网络的所有存储设备之间的通信。优选地,交换网络包括多个用于转发的交换节点,如路由器或IB交换机等。第二通讯接口740与交换网络的每个交换节点连接,实现控制器与每个存储设备间均可直接通过任意一个交换节点进行数据交互。其中,该交换网络可以但不限为以太网、IB、PCIe网络。所述存储设备优选但不限为SSD。
另一实施方式中,第二通讯接口还用于接收存储设备通过网络接口发送的交换网络数据包。处理器还用于将所述交换网络数据包解析,得到所述存储设备的数据。第一通讯接口还可用于发送所述存储设备的数据,如发送给服务器。
可以理解的是,上述实施方式中的控制器可以同时实现或者单独实现接收数据访问命令并发送给存储设备、或接收存储设备的数据并发送给其他终端如服务器,在此不作限定。
可选地,上述控制器还可用于为存储设备分配地址、增加存储设备地址或删除存储设备地址,具体如上面实施方式所述,在此不作赘述。
请参阅图8,图8是本申请存储设备一实施方式的结构示意图。本实施方式中,所述存储设800备用于存储系统中,所述存储系统还包括控制器,所述控制器和存储设备之间通过交换网络进行连接,所述存储设备具有网络接口。存储设备800包括通讯模块810、解析模块820和执行模块830。
通讯模块810用于通过所述网络接口接收所述控制器发送的交换网络数据包,并将所述交换网络数据包发送给解析模块820,其中,所述交换网络数据包包括数据访问命令,并且所述交换网络数据包是由所述控制器对所述数据访问命令封装而成的。
例如,通讯模块810包括网络接口,以用于接入交换网络。通讯模块810通过网络接口与所述交换网络连接,以实现与同样接入交换网络的控制器之间的通信。控制器在接收到数据访问命令时,通过交换网络将封装有该数据访问命令的交换网络数据包发送给存储设备的通讯模块810,存储设备的通讯模块810接收该交换网络数据包。
解析模块820用于对所述交换网络数据包进行解析,获得所述数据访问命令,并将所述数据访问命令发送给所述执行模块830。
例如,解析模块820根据交换网络协议,对所述交换网络数据包进行解析,获得数据访问命令。
执行模块830用于执行数据访问命令。
例如,执行模块830将解析得到的数据访问命令转换为存储设备能够识别的命令,并执行该数据访问命令。
在另一实施方式中,存储设备的通讯模块还可用于获取所述存储设备的数据,将所述存储设备的数据进行封装,得到交换网络数据包,通过网络接口将所述交换网络数据包发送给控制器。
请参阅图9,图9是本申请存储设备另一实施方式的结构示意图。本实施方式中,所述存储设900备用于存储系统中,所述存储系统还包括控制器,所述控制器和存储设备之间通过交换网络进行连接,所述存储设备具有网络接口。
存储设备900包括处理器910、存储介质220、通讯接口930、及总线940,其中,处理器910、存储介质920、通讯接口930通过总线940连接。
存储介质920用于存储处理器910执行的计算机指令以及处理器910工作时所需存储的数据。
通讯接口930用于通过所述网络接口接收所述控制器发送的交换网络数据包,其中,所述交换网络数据包包括数据访问命令,并且所述交换网络数据包是由所述控制器对所述数据访问命令封装而成的。
具体,通讯接口930与交换网络连接,实现通过交换网络与存储设备间进行交换网络数据包的交互,实现与同样接入交换网络的控制器之间的通信。控制器在接收到数据访问命令时,通过交换网络将封装有该数据访问命令的交换网络数据包发送给存储设备的通讯接口930,存储设备的通讯接口930接收该交换网络数据包。
处理器910用于对所述交换网络数据包进行解析,获得所述数据访问命令,并执行数据访问命令。
例如,处理器910根据交换网络协议,对所述交换网络数据包进行解析,获得数据访问命令,并将解析得到的数据访问命令转换为存储设备能够识别的命令,并执行该数据访问命令。
在另一实施方式中,存储设备的处理器还可用于获取所述存储设备的数据,将所述存储设备的数据进行封装,得到交换网络数据包。通讯接口还用于将所述交换网络数据包发送给控制器。
可以理解的是,上述实施方式中的存储设备可以同时实现或者单独实现接收并执行控制器发送的数据访问命令、或将存储设备的数据发送控制器,在此不作限定。
另外,本实施方式的存储设备优选为SSD,但在其他实施方式中,存储设备可以为其他存储设备,如SAS硬盘、SATA硬盘等,在此不作限定。
本申请还提供一种存储系统,包括控制器、交换网络和至少一个存储设备,所述控制器通过所述交换网络与所述存储设备连接,实现控制器与存储设备间的通信。
其中,交换网络包括至少一个交换节点,每个所述交换节点均与所述控制器、所有存储设备的网络接口连接,实现所述控制器通过每个所述交换节点均可与所有存储设备通信。该控制器如上面实施方式所述的控制器,存储设备如上面实施方式所述的存储设备。
需要说明的是,上述实施方式中,存储系统中的控制器和存储设备与交换网络中的每个节点连接,以形成多个独立完整的存储系统,实现互为备用,提高了系统的可靠性。但在其他实施方式中,本申请的控制器与交换网络的所有交换节点连接,交换网络的每个节点不同的部分存储设备连接,以保证降低交换节点的传输负荷量。或者,在系统可靠性要求不高的情况下,交换网络也可仅设置一个交换节点,故在此不对交换网路的具体结构进行限定。
区别于现有通过多级级联框如SAS Expander与存储设备连接,上述方案控制器与存储设备直接通过交换网络连接,在控制器与存储设备的通信过程中仅需对发送的消息与交换网络数据包间进行转换,减少了格式转换次数,提高了存储系统中的通信效率。而且控制器与存储设备之间采用交换网络进行连接的方式,实现所有存储设备直接通过交换网络实现与控制器通信,无需多级级联,进一步提高通信效率。同时,交换网络中可设置多个交换节点,每个交换节点均可与所有控制器和所有存储设备连接,形成多个独立完整的存储系统,实现互为备用,提高了系统的可靠性。
在本申请所提供的几个实施方式中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (20)
1.一种数据通信的方法,其特征在于,所述方法应用于存储系统中,所述存储系统包括控制器和存储设备,所述控制器和存储设备之间通过交换网络直接进行连接,所述存储设备具有网络接口,所述方法包括:
所述控制器接收数据访问命令,所述数据访问命令中包括目的存储设备的地址;
所述控制器对所述数据访问命令进行封装,获得交换网络数据包;
所述控制器将所述交换网络数据包发送给所述交换网络的交换节点,以使得所述交换节点根据预存的存储设备地址与存储设备间的映射关系,通过所述目的存储设备的网络接口将所述交换网络数据包发送给所述目的存储设备。
2.根据权利要求1所述方法,其特征在于,在所述控制器接收数据访问命令之前,所述方法还包括:
所述控制器通过所述交换网络向所述存储系统中所有所述存储设备发送第一消息,所述第一消息用于请求所述存储设备反馈存储设备信息;
所述控制器接收携带所述存储设备发送的第二消息的交换网络数据包,所述第二消息中包括所述存储设备的存储信息;
所述控制器解析携带所述存储设备发送的第二消息的交换网络数据包,为所述存储设备分配地址。
3.根据权利要求1或2所述方法,其特征在于,所述方法还包括:
当所述控制器在预定时间内未接收到存储设备的定时应答时,确定所述存储设备退出所述存储系统,回收所述退出所述存储系统的存储设备的地址;
当所述存储系统中存在新存储设备与交换网络建立连接时,所述控制器接收新存储设备通过交换网络发送的请求添加的消息,并给所述新存储设备分配地址。
4.根据权利要求1至2中任一所述的方法,其特征在于,
所述数据访问命令是快捷外设互联标准PCIe格式的命令;
所述控制器对所述数据访问命令进行封装包括:所述控制器将所述具有快捷外设互联标准PCIe格式的所述数据访问命令封装为具有交换网络格式的数据包。
5.根据权利要求1至2中任一所述的方法,其特征在于,所述存储设备包括固态硬盘SSD。
6.一种数据通信的方法,其特征在于,所述方法应用于存储系统中,所述存储系统包括控制器和存储设备,所述控制器和存储设备之间通过交换网络直接进行连接,所述存储设备具有网络接口,所述方法包括:
所述存储设备通过所述网络接口接收所述控制器发送的交换网络数据包,其中,所述交换网络数据包包括数据访问命令,并且所述交换网络数据包是由所述控制器对所述数据访问命令封装而成的,所述数据访问命令中包括目的存储设备的地址;
所述存储设备对所述交换网络数据包进行解析,获得所述数据访问命令;
所述存储设备执行所述数据访问命令。
7.根据权利要求6所述的方法,其特征在于,在所述存储设备通过所述网络接口接收所述控制器发送的交换网络数据包之前,所述方法还包括:
所述存储设备通过所述网络接口接收第一消息,所述第一消息用于请求所述存储设备反馈存储设备信息;
所述存储设备获取其自身的存储设备信息;
所述存储设备将携带所述存储设备发送的第二消息的交换网络数据包通过所述网络接口发送给所述控制器,所述第二消息中包括所述存储设备信息。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
当所述存储设备为所述控制器通过所述交换网络发送所述第一消息之后新增的存储设备时,所述存储设备向所述控制器发送请求添加的消息,以使所述控制器在接收到所述请求添加的消息时,给所述存储设备分配地址。
9.根据权利要求6所述的方法,其特征在于,所述存储设备包括固态硬盘SSD。
10.一种控制器,其特征在于,所述控制器用于存储系统中,所述存储系统还包括存储设备,所述控制器和存储设备之间通过交换网络直接进行连接,所述存储设备具有网络接口,所述控制器包括第一通讯模块、封装模块和第二通讯模块;
所述第一通讯模块用于接收数据访问命令,并将所述数据访问命令发送给所述封装模块,所述数据访问命令中包括目的存储设备的地址;
所述封装模块用于对所述数据访问命令进行封装,获得交换网络数据包,并将所述交换网络数据包发送给所述第二通讯模块;
所述第二通讯模块用于将所述交换网络数据包发送给所述交换网络的交换节点,以使得所述交换节点根据预存的存储设备地址与存储设备间的映射关系,通过所述目的存储设备的网络接口将所述交换网络数据包发送给所述目的存储设备。
11.根据权利要求10所述控制器,其特征在于,所述第二通讯模块还用于:
通过所述交换网络向所述存储系统中所有所述存储设备发送第一消息,所述第一消息用于请求所述存储设备反馈存储设备信息;
接收携带所述存储设备发送的第二消息的交换网络数据包,所述第二消息中包括所述存储设备的存储信息;
解析携带所述存储设备发送的第二消息的交换网络数据包,为所述存储设备分配地址。
12.根据权利要求10或11所述控制器,其特征在于,所述第二通讯模块还用于:
当在预定时间内未接收到存储设备的定时应答时,确定所述存储设备退出所述存储系统,回收所述退出所述存储系统的存储设备的地址;
当所述存储系统中存在新存储设备与交换网络建立连接时,所述控制器接收新存储设备通过交换网络发送的请求添加的消息,并给所述新存储设备分配地址。
13.根据权利要求10所述的控制器,其特征在于,
所述数据访问命令是快捷外设互联标准PCIe格式的命令;
所述封装模块具体用于将所述具有快捷外设互联标准PCIe格式的所述数据访问命令封装为具有交换网络格式的数据包。
14.根据权利要求10所述的控制器,其特征在于,所述存储设备包括固态硬盘SSD。
15.一种存储设备,其特征在于,所述存储设备用于存储系统中,所述存储系统还包括控制器,所述控制器和存储设备之间通过交换网络直接进行连接,所述存储设备具有网络接口,
所述存储设备还包括通讯模块、解析模块和执行模块;
所述通讯模块用于通过所述网络接口接收所述控制器发送的交换网络数据包,并将所述交换网络数据包发送给解析模块,其中,所述交换网络数据包包括数据访问命令,并且所述交换网络数据包是由所述控制器对所述数据访问命令封装而成的,所述数据访问命令中包括目的存储设备的地址;
所述解析模块用于对所述交换网络数据包进行解析,获得所述数据访问命令,并将所述数据访问命令发送给所述执行模块;
所述执行模块用于执行所述数据访问命令。
16.根据权利要求15所述的存储设备,其特征在于,所述通讯模块还用于:
通过所述网络接口接收第一消息,所述第一消息用于请求所述存储设备反馈存储设备信息;
获取存储信息;
将携带所述存储设备发送的第二消息的交换网络数据包通过所述网络接口发送给所述控制器,所述第二消息中包括所述存储设备的存储信息。
17.根据权利要求16所述的存储设备,其特征在于,所述通讯模块还用于:
当所述存储设备为所述控制器通过所述交换网络发送所述第一消息之后新增的存储设备时,向所述控制器发送请求添加的消息,以使所述控制器在接收到所述请求添加的消息时,给所述存储设备分配地址。
18.根据权利要求15所述的存储设备,其特征在于,所述存储设备包括固态硬盘SSD。
19.一种存储系统,其特征在于,包括控制器、交换网络和至少一个存储设备,所述控制器通过所述交换网络与所述存储设备连接,
其中,所述控制器为权利要求10至14任一项所述的控制器,和/或所述存储设备为权利要求15至18任一项所述的存储设备。
20.根据权利要求19所述的存储系统,其特征在于,还包括至少一个交换节点,每个所述交换节点均与控制器、所有存储设备的网络接口连接,实现所述控制器通过每个交换节点均可与所有存储设备通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410274132.3A CN104038550B (zh) | 2014-06-18 | 2014-06-18 | 数据通信方法及其装置、存储系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410274132.3A CN104038550B (zh) | 2014-06-18 | 2014-06-18 | 数据通信方法及其装置、存储系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104038550A CN104038550A (zh) | 2014-09-10 |
CN104038550B true CN104038550B (zh) | 2018-01-23 |
Family
ID=51469138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410274132.3A Active CN104038550B (zh) | 2014-06-18 | 2014-06-18 | 数据通信方法及其装置、存储系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104038550B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105185414A (zh) * | 2015-09-15 | 2015-12-23 | 北京京存技术有限公司 | 一种测试方法和装置 |
ES2800064T3 (es) | 2016-12-28 | 2020-12-23 | Huawei Tech Co Ltd | Procedimiento, dispositivo y sistema para transferencia de paquetes en NVME sobre tejido |
CN108829629B (zh) * | 2018-06-19 | 2020-12-01 | 夏华涛 | 通讯方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1832489A (zh) * | 2006-04-19 | 2006-09-13 | 杭州华为三康技术有限公司 | 一种对目的磁盘进行访问的方法和扩展磁盘容量的系统 |
US7865661B2 (en) * | 2005-08-05 | 2011-01-04 | Lsi Corporation | Configurable high-speed memory interface subsystem |
CN103828332A (zh) * | 2013-12-04 | 2014-05-28 | 华为技术有限公司 | 数据处理方法、装置、存储控制器和机柜 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530066B (zh) * | 2013-09-16 | 2016-05-18 | 华为技术有限公司 | 一种数据存储方法、装置及系统 |
CN103984662B (zh) * | 2014-05-29 | 2017-03-15 | 华为技术有限公司 | 一种读、写数据的方法及设备、存储系统 |
-
2014
- 2014-06-18 CN CN201410274132.3A patent/CN104038550B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7865661B2 (en) * | 2005-08-05 | 2011-01-04 | Lsi Corporation | Configurable high-speed memory interface subsystem |
CN1832489A (zh) * | 2006-04-19 | 2006-09-13 | 杭州华为三康技术有限公司 | 一种对目的磁盘进行访问的方法和扩展磁盘容量的系统 |
CN103828332A (zh) * | 2013-12-04 | 2014-05-28 | 华为技术有限公司 | 数据处理方法、装置、存储控制器和机柜 |
Also Published As
Publication number | Publication date |
---|---|
CN104038550A (zh) | 2014-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104111907B (zh) | 一种访问NVMe存储设备的方法和NVMe存储设备 | |
TWI677791B (zh) | 非揮發性快閃記憶體刀鋒及相關聯的多卡模組、以及用於組態及操作模組化非揮發性快閃記憶體刀鋒的方法 | |
US20170364307A1 (en) | Switched direct attached shared storage architecture | |
CN103902486B (zh) | 一种远端直接内存访问实现方法、装置及系统 | |
CN102859926B (zh) | 多并行虚拟网络的系统和方法 | |
CN106095334B (zh) | 一种基于fpga的高速数据采集存储系统 | |
CN103828332B (zh) | 数据处理方法、装置、存储控制器和机柜 | |
CN104424105B (zh) | 一种内存数据的读写处理方法和装置 | |
US20140122745A1 (en) | Methods and structure for managing protection information with a serial attached scsi expander | |
CN103984662B (zh) | 一种读、写数据的方法及设备、存储系统 | |
CN107707628A (zh) | 用于传输数据处理请求的方法和装置 | |
CN107229415A (zh) | 一种数据写方法、数据读方法及相关设备、系统 | |
CN108984465A (zh) | 一种消息传输方法及设备 | |
CN104038550B (zh) | 数据通信方法及其装置、存储系统 | |
CN105487990A (zh) | 一种cpu与芯片之间传输消息报文的方法及装置 | |
CN107786669A (zh) | 一种负载均衡处理的方法、服务器、装置及存储介质 | |
CN105518610B (zh) | 处理操作请求的存储系统、方法及装置 | |
CN103929475B (zh) | 一种以太网架构的硬盘存储系统及硬盘数据操作方法 | |
CN104363269B (zh) | 一种通过fc链路传输、接收nas数据的方法及装置 | |
CN103558995B (zh) | 一种存储控制芯片及磁盘报文传输方法 | |
CN101212480B (zh) | 在usb主机和usb装置之间通信的方法和设备 | |
CN106776388A (zh) | 服务器系统与读取方法 | |
CN105938461B (zh) | 一种dma数据传输方法、装置以及网络设备 | |
CN102480516A (zh) | 网际网络小型电脑界面的数据单元的解析方法 | |
CN101834876B (zh) | 基于蓝牙、数据库与udp协议的分布式半物理仿真系统及其数据汇总和分发的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |