一种非易失性存储介质的制作方法

文档序号:11250821阅读:1579来源:国知局
一种非易失性存储介质的制造方法与工艺

本发明涉及信息技术领域,尤其涉及一种非易失性存储介质。



背景技术:

互联网小型计算机系统接口(internetsmallcomputersysteminterface,iscsi)协议是由ietf开发的网络存储协议,目的是为了用互联网协议(internetprotocol,ip)实现存储设备的通信。存储系统中,在ip协议网络上使用小型计算机系统接口(smallcomputersysteminterface,scsi)协议通信,也就是使用iscsi协议通信,推动了存储技术的发展,实现了数据的远距离传输。其中一种应用场景,存储系统包括控制器、盘框(diskenclosure)与盘,其中控制器与盘框通过iscsi协议通信,盘框中连接多块盘,盘框及连接的多块盘一起称为盘簇(justabunchofdisks,jbod),在该场景下,实现控制器与盘框分离,从而实现灵活部署。

但控制器与盘框通过iscsi协议通信,无论是控制器,还是盘框,都需要先将scsi协议经传输控制协议/互联网协议(transportcontrolprotocol/internetprotocol,tcp/ip)封装,再由媒体访问控制(mediaaccesscontrol,mac)层封装。同理,解封装过程也要经过mac层解封装和tcp/ip层解封装,由于多层协议封装或解封装,增加了存储系统中央处理器(centralprocessingunit,cpu)资源消耗及存储系统处理延时,降低了存储系统性能。



技术实现要素:

本发明实施例提供了处理操作请求的存储系统、方法及装置。

第一方面,本发明实施例提供了一种处理操作请求的存储系统,所述存储系统包括控制器和盘框,所述控制器与所述盘框通过以太网络通信;所述控制器包括中央处理器和后端适配器;所述盘框和所述后端适配器均有媒体访问控制mac地址,所述盘框中连接多块盘,所述盘框中的每块盘通过串行小型计算机系统接口sas协议与所述盘框连接;所述后端适配器保存所述盘框的mac地址与所述盘框中每块盘的sas协议地址对应关系;

所述后端适配器,用于接收所述中央处理器发送的小型计算机系统接口scsi协议操作请求,所述scsi协议操作请求中携带所述控制器的scsi协议事务标识和目标盘的sas协议地址,根据所述目标盘的sas协议地址,查询所述盘框的mac地址与所述目标盘的sas协议地址对应关系,获得所述盘框的mac地址,将所述scsi协议操作请求封装到以太操作请求报文,根据所述盘框的mac地址向所述盘框发送所述以太操作请求报文;所述以太操作请求报文携带所述后端适配器的mac地址和所述盘框的mac地址;

所述盘框用于接收并解封装所述以太操作请求报文,获得所述scsi协议操作请求,根据所述目标盘的sas协议地址,向所述目标盘发送所述scsi协议操作请求。

结合本发明第一方面,第一种可能的实施方式中,所述盘框,还用于建立所述后端适配器的mac地址和所述控制器的scsi协议事务标识的对应关系;

所述盘框,还用于接收所述目标盘根据所述scsi协议操作请求发送的scsi协议操作请求响应,其中,所述scsi协议操作请求响应携带所述控制器的scsi协议事务标识,根据所述控制器的scsi协议事务标识查询所述后端适配器的mac地址与所述控制器的scsi协议事务标识的对应关系,获得所述后端适配器的mac地址,将所述scsi协议操作请求响应封装到以太操作请求响应报文,根据所述后端适配器的mac地址向所述控制器发送所述以太操作请求响应报文;所述以太操作请求响应报文携带所述后端适配器的mac地址;

所述后端适配器,还用于接收并解封装所述以太操作请求响应报文,获得所述scsi协议操作请求响应,向所述中央处理器发送所述scsi协议操作请求响应。

结合本发明第一方面的第一种可能的实现方式,在第二种可能的实施方式中,所述后端适配器,还用于将所述scsi协议操作请求中的所述控制器的scsi协议事务标识封装到所述以太操作请求报文的第一字段,将所述scsi协议操作请求中的所述目标盘的sas协议地址封装到所述以太操作请求报文的第二字段;其中,所述第一字段、所述第二字段与携带所述scsi协议操作请求的字段为三个不同字段;

所述盘框建立所述后端适配器的mac地址和所述控制器的scsi协议事务标识的对应关系,具体包括:所述盘框解封装所述以太操作请求报文的所述第一字段,获得所述控制器的scsi协议事务标识,建立所述后端适配器的mac地址和所述控制器的scsi协议事务标识的对应关系;

所述盘框根据所述目标盘的sas协议地址,向所述目标盘发送所述scsi协议操作请求,具体包括:所述盘框解封装所述以太操作请求报文的所述第二字段,获得所述目标盘的sas协议地址,根据所述目标盘的sas协议地址,向所述目标盘发送所述scsi协议操作请求。

第二方面,本发明实施例提供了一种处理操作请求的方法,所述方法应用于控制器,所述控制器与盘框通过以太网络通信;所述控制器包括中央处理器和后端适配器;所述盘框和所述后端适配器均有媒体访问控制mac地址;所述盘框中连接多块盘,所述盘框中的每块盘通过串行小型计算机系统接口sas协议与所述盘框连接;所述后端适配器保存所述盘框的mac地址与所述盘框中每块盘的sas协议地址对应关系;

所述方法包括:

所述中央处理器发送小型计算机系统接口scsi协议操作请求;其中,所述scsi协议操作请求中携带目标盘的sas协议地址;

所述后端适配器接收所述中央处理器发送的所述scsi协议操作请求,根据所述目标盘的sas协议地址,查询所述盘框的mac地址与所述目标盘的sas协议地址对应关系,获得所述盘框的mac地址,将所述scsi协议操作请求封装到携带所述后端适配器的mac地址和所述盘框的mac地址的以太操作请求报文,根据所述盘框的mac地址向所述盘框发送所述以太操作请求报文。

结合第二方面,第一种可能的实施方式,所述scsi协议操作请求还携带scsi协议事务标识,所述方法还包括:将所述scsi协议事务标识封装到所述以太操作请求报文的第一字段,将所述目标盘的sas协议地址封装到所述以太操作请求报文的第二字段;其中,所述第一字段、所述第二字段与所述以太操作请求报文中携带所述scsi协议操作请求的字段分别属于三个不同的字段。

结合第二方面的第一种可能的实施方式,第二种可能的实施方式,所述方法还包括:

所述后端适配器接收并解封装由所述盘框发送的所述以太操作请求报文的以太响应报文,获得scsi协议操作请求响应,向所述中央处理器发送所述scsi协议操作请求响应;其中,所述以太操作请求报文的以太响应报文携带所述后端适配器的mac地址;

所述中央处理器接收所述scsi协议操作请求响应。

第三方面,本发明实施例提供了一种处理操作请求的方法,所述方法应用于盘框,控制器与所述盘框通过以太网络通信;所述控制器包括中央处理器和后端适配器;所述盘框和所述后端适配器均有媒体访问控制mac地址;所述盘框中连接多块盘,所述盘框中的每块盘通过串行小型计算机系统接口sas协议与所述盘框连接;

所述方法包括:

所述盘框接收并解封装所述控制器发送的以太操作请求报文,获得小型计算机系统接口scsi协议操作请求;其中,所述以太操作请求报文携带所述后端适配器的mac地址和所述盘框的mac地址;所述scsi协议操作请求携带所述控制器的scsi协议事务标识和目标盘的sas协议地址;

所述盘框根据所述目标盘的sas协议地址,向所述目标盘发送所述scsi协议操作请求。

结合第三方面,第一种可能的实施方式,所述方法还包括,所述盘框建立所述后端适配器的mac地址和所述控制器的scsi协议事务标识的对应关系;

所述盘框接收所述目标盘根据所述scsi协议操作请求发送的scsi协议操作请求响应;其中,所述scsi协议操作请求响应携带所述控制器的scsi协议事务标识;

所述盘框根据所述控制器的scsi协议事务标识查询所述后端适配器的mac地址与所述控制器的scsi协议事务标识的对应关系,获得所述后端适配器的mac地址;

所述盘框将所述scsi协议操作请求响应封装到以太操作请求响应报文;所述以太操作请求响应报文携带所述后端适配器的mac地址;

所述盘框根据所述后端适配器的mac地址向所述控制器发送所述以太操作请求响应报文。

结合第三方面第一种可能的实施方式,第二种可能的实施方式,所述以太操作请求报文的第一字段携带所述scsi协议事务标识,所述以太操作请求报文的第二字段携带所述目标盘的sas协议;其中,所述第一字段、所述第二字段与所述以太操作请求报文中携带所述scsi协议操作请求的字段分别属于三个不同的字段。

所述盘框建立所述后端适配器的mac地址和所述控制器的scsi协议事务标识的对应关系,具体包括:所述盘框解封装所述以太操作请求报文的所述第一字段,获得所述控制器的scsi协议事务标识,建立所述后端适配器的mac地址和所述控制器的scsi协议事务标识的对应关系;

所述盘框根据所述目标盘的sas协议地址,向所述目标盘发送所述scsi协议操作请求,具体包括:所述盘框解封装所述以太操作请求报文的所述第二字段,获得所述目标盘的sas协议地址,根据所述目标盘的sas协议地址,向所述目标盘发送所述scsi协议操作请求。

第四方面,本发明实施例提供了一种控制器,所述控制器应用于存储系统,所述存储系统包括所述控制器和盘框;所述控制器包括中央处理器和后端适配器;所述盘框和所述后端适配器均有媒体访问控制mac地址;所述盘框中连接多块盘,所述盘框中的每块盘通过串行小型计算机系统接口sas协议与所述盘框连接;所述后端适配器保存所述盘框的mac地址与所述盘框中每块盘的sas协议地址对应关系;所述控制器与所述盘框通过以太网络通信;

所述中央处理器,用于发送小型计算机系统接口scsi协议操作请求;其中,所述scsi协议操作请求中携带目标盘的sas协议地址;

所述后端适配器,用于接收所述scsi协议操作请求,根据所述目标盘的sas协议地址,查询所述盘框的mac地址与所述目标盘的sas协议地址对应关系,获得所述盘框的mac地址,将所述scsi协议操作请求封装到以太操作请求报文,根据所述盘框的mac地址向所述盘框发送所述以太操作请求报文;所述以太操作请求报文携带所述后端适配器的mac地址和所述盘框的mac地址。

结合第四方面,第一种可能的实施方式,所述scsi协议操作请求还携带scsi协议事务标识,所述后端适配器,还用于将所述scsi协议事务标识封装到所述以太操作请求报文的第一字段,将所述目标盘的sas协议地址封装到所述以太操作请求报文的第二字段;其中,所述第一字段、所述第二字段与所述以太操作请求报文中携带所述scsi协议操作请求的字段分别属于三个不同的字段。

结合第四方面的第一种可能的实施方式,第二种可能的实施方式,所述后端适配器,还用于接收并解封装由所述盘框发送的所述以太操作请求报文的以太响应报文,获得scsi协议操作请求响应,向所述中央处理器发送所述scsi协议操作请求响应;其中,所述以太操作请求报文的以太响应报文携带所述后端适配器的mac地址;

所述中央处理器,还用于接收所述scsi协议操作请求响应。

第五方面,本发明实施例提供了一种盘框,所述盘框应用于存储系统,所述存储系统包括控制器和盘框;所述控制器包括中央处理器和后端适配器;所述盘框和所述后端适配器均有媒体访问控制mac地址;所述盘框中连接多块盘,所述盘框中的每块盘通过串行小型计算机系统接口sas协议与所述盘框连接;所述控制器与所述盘框通过以太网络通信;其中,所述盘框包括:

第一收发单元,用于接收所述控制器发送的以太操作请求报文;其中,所述以太操作请求报文携带所述后端适配器的mac地址和所述盘框的mac地址;

封装和解封装单元,用于将所述第一收发单元接收的所述以太操作请求报文解封装获得小型计算机系统接口scsi协议操作请求;所述scsi协议操作请求携带所述控制器的scsi协议事务标识和目标盘的sas协议地址;

第二收发单元,用于根据所述目标盘的sas协议地址,向所述目标盘发送所述scsi协议操作请求。

结合第五方面,第一种可能的实施方式,还包括建立单元和查询单元;

所述建立单元,用于建立所述后端适配器的mac地址和所述控制器的scsi协议事务标识的对应关系;

所述第二收发单元,还用于接收所述目标盘根据所述scsi协议操作请求发送的scsi协议操作请求响应;其中,所述scsi协议操作请求响应携带所述控制器的scsi协议事务标识;

所述查询单元,用于根据所述控制器的scsi协议事务标识查询所述建立单元建立的所述后端适配器的mac地址与所述控制器的scsi协议事务标识的对应关系,获得所述后端适配器的mac地址;

所述封装和解封装单元,还用于将所述scsi协议操作请求响应封装到以太操作请求响应报文;所述以太操作请求响应报文携带所述后端适配器的mac地址;

所述第一收发单元,还用于根据所述后端适配器的mac地址向所述控制器发送所述以太操作请求响应报文。

结合第五方面第一种可能的实施方式,第二种可能的实施方式,所述以太操作请求报文的第一字段携带所述scsi协议事务标识,所述以太操作请求报文的第二字段携带所述目标盘的sas协议;其中,所述第一字段、所述第二字段与所述以太操作请求报文中携带所述scsi协议操作请求的字段分别属于三个不同的字段;

所述建立单元建立所述后端适配器的mac地址和所述控制器的scsi协议事务标识的对应关系,具体包括:所述封装和解封装单元解封装所述以太操作请求报文的所述第一字段,获得所述控制器的scsi协议事务标识,所述建立单元建立所述后端适配器的mac地址和所述控制器的scsi协议事务标识的对应关系;

所述第二收发单元根据所述目标盘的sas协议地址,向所述目标盘发送所述scsi协议操作请求,具体包括:所述封装和解封装单元解封装所述以太操作请求报文的所述第二字段,获得所述目标盘的sas协议地址,所述第二收发单元根据所述目标盘的sas协议地址,向所述目标盘发送所述scsi协议操作请求。

第六方面,本发明实施例提供了一种后端适配器,应用于存储系统的控制器中,所述存储系统包括控制器和盘框;所述控制器包括中央处理器和所述后端适配器;所述盘框和所述后端适配器均有媒体访问控制mac地址;所述盘框中连接多块盘,所述盘框中的每块盘通过串行小型计算机系统接口sas协议与所述盘框连接;所述后端适配器保存所述盘框的mac地址与所述盘框中每块盘的sas协议地址对应关系;所述控制器与所述盘框通过以太网络通信;

所述后端适配器包括:

第一收发单元,用于接收中央处理器发送的小型计算机系统接口scsi协议操作请求,其中,所述scsi协议操作请求中携带目标盘的sas协议地址;

查询单元,用于查询所述盘框的mac地址与所述目标盘的sas协议地址对应关系,获得所述盘框的mac地址;

封装与解封装单元,用于将所述scsi协议操作请求封装到以太操作请求报文;所述以太操作请求报文携带所述后端适配器的mac地址和所述盘框的mac地址;

第二收发单元,用于根据所述盘框的mac地址向所述盘框发送所述以太操作请求报文。

结合第六方面,第一种可能的实施方式,所述scsi协议操作请求还携带scsi协议事务标识,所述封装与解封装单元,还用于将所述scsi协议事务标识封装到所述以太操作请求报文的第一字段,将所述目标盘的sas协议地址封装到第二字段;其中,所述第一字段、所述第二字段与所述以太操作请求报文中携带所述scsi协议操作请求的字段分别属于三个不同的字段。

结合第六方面第一种可能的实施方式,第二种实施方式,所述第二收发单元,还用于接收所述盘框发送的所述以太操作请求报文的以太响应报文;其中,所述以太操作请求报文的以太响应报文携带所述后端适配器的mac地址;

所述封装与解封装单元,还用于解封装所述以太操作请求报文的以太响应报文,获得scsi协议操作请求响应;

所述第一收发单元,还用于向所述中央处理器发送所述scsi协议操作请求响应。

第七方面,本发明实施例提供了一种后端适配器,应用于存储系统的控制器中,所述存储系统包括控制器和盘框;所述控制器包括中央处理器和所述后端适配器;所述盘框和所述后端适配器均有媒体访问控制mac地址;所述盘框中连接多块盘,所述盘框中的每块盘通过串行小型计算机系统接口sas协议与所述盘框连接;所述后端适配器保存所述盘框的mac地址与所述盘框中每块盘的sas协议地址对应关系;所述控制器与所述盘框通过以太网络通信;

其中,所述后端适配器包括第一接口、第二接口、内存和第一中央处理器;所述第一接口,用于接收所述中央处理器发送的小型计算机系统接口scsi协议操作请求;其中,所述scsi协议操作请求中携带目标盘的sas协议地址;

所述第一中央处理器执行所述内存中的计算机指令,以执行如下操作:

根据所述目标盘的sas协议地址,查询所述盘框的mac地址与所述目标盘的sas协议地址对应关系,获得所述盘框的mac地址,将所述scsi协议操作请求封装到以太操作请求报文,所述以太操作请求报文携带所述后端适配器的mac地址和所述盘框的mac地址;

第二接口,用于根据所述盘框的mac地址向所述盘框发送所述以太操作请求报文。

结合第七方面,第一种可能的实施方式,所述scsi协议操作请求还携带scsi协议事务标识,所述第一中央处理器执行所述内存中的计算机指令,还执行如下操作:

将所述scsi协议事务标识封装到所述以太操作请求报文的第一字段,将所述目标盘的sas协议地址封装到第二字段;其中,所述第一字段、所述第二字段与所述以太操作请求报文中携带所述scsi协议操作请求的字段分别属于三个不同的字段。

结合第七方面第一种可能的实施方式,第二种可能的实施方式,所述第二接口,还用于接收所述盘框发送的所述以太操作请求报文的以太响应报文;其中,所述以太操作请求报文的以太响应报文携带所述后端适配器的mac地址;

所述第一中央处理器执行所述内存中的计算机指令,还用于执行:

解封装所述以太操作请求报文的以太响应报文,获得scsi协议操作请求响应;

所述第一接口,还用于向所述中央处理器发送所述scsi协议操作请求响应。

第八方面,本发明实施例提供了一种盘框,所述盘框应用于存储系统,所述存储系统包括控制器和盘框;所述控制器包括中央处理器和后端适配器;所述盘框和所述后端适配器均有媒体访问控制mac地址;所述盘框中连接多块盘,所述盘框中的每块盘通过串行小型计算机系统接口sas协议与所述盘框连接;所述控制器与所述盘框通过以太网络通信;

其中,所述盘框包括:前端接口、后端接口、第一中央处理器和第一内存;

所述前端接口,用于接收并解封装所述控制器发送的以太操作请求报文,获得小型计算机系统接口scsi协议操作请求,向所述第一中央处理器发送所述scsi协议操作请求;所述以太操作请求报文携带所述后端适配器的mac地址和所述盘框的mac地址;所述scsi协议操作请求携带所述控制器的scsi协议事务标识和目标盘的sas协议地址;

所述第一中央处理器执行所述第一内存中的计算机指令,以执行如下操作:

接收所述scsi协议操作请求,向所述后端接口发送所述scsi协议操作请求;

所述后端接口,用于接收所述scsi协议操作请求,根据所述目标盘的sas协议地址向所述目标盘发送所述scsi协议操作请求。

结合第八方面,第一种可能的实施方式,所述第一中央处理器执行所述第一内存中的计算机指令,还执行如下操作:

建立所述后端适配器的mac地址和所述控制器的scsi协议事务标识的对应关系,所述后端接口,用于根据所述目标盘的sas协议地址;

所述后端接口,还用于接收所述目标盘根据所述scsi协议操作请求发送的scsi协议操作请求响应;其中,所述scsi协议操作请求响应携带所述控制器的scsi协议事务标识;

所述第一中央处理器执行所述第一内存中的计算机指令,还执行如下操作:

根据所述scsi协议操作请求响应携带的所述控制器的scsi协议事务标识,查询所述后端适配器的mac地址与所述控制器的scsi协议事务标识的对应关系,获得所述后端适配器的mac地址;

所述前端接口,还用于接收所述第一中央处理器发送的所述scsi协议操作请求响应,根据所述第一中央处理器查找到的所述后端适配器的mac地址,将所述scsi协议操作请求响应封装到以太操作请求响应报文;根据所述后端适配器的mac地址向所述控制器发送所述以太操作请求响应报文;所述以太操作请求响应报文携带所述后端适配器的mac地址。

结合第八方面第一种可能的实施方式,第二种可能的实施方式,所述以太操作请求报文的第一字段携带所述scsi协议事务标识,所述以太操作请求报文的第二字段携带所述目标盘的sas协议;其中,所述第一字段、所述第二字段与所述以太操作请求报文中携带所述scsi协议操作请求的字段分别属于三个不同的字段;

所述建立所述后端适配器的mac地址和所述控制器的scsi协议事务标识的对应关系,具体包括:

所述前端接口解封装所述以太操作请求报文的所述第一字段,获得所述控制器的scsi协议事务标识,所述第一处理器建立单元建立所述后端适配器的mac地址和所述控制器的scsi协议事务标识的对应关系;

所述后端接口根据所述目标盘的sas协议地址,向所述目标盘发送所述scsi协议操作请求,具体包括:所述封前端接口解封装所述以太操作请求报文的所述第二字段,获得所述目标盘的sas协议地址,所述后端接口根据所述目标盘的sas协议地址,向所述目标盘发送所述scsi协议操作请求。

本发明实施例提供的处理操作请求的存储系统、方法及装置,将控制器将scsi协议操作请求不通过tcp/ip协议层,直接在mac层将scsi协议操作请求封装到以太操作请求报文,盘框解封装以太操作请求获得scsi协议操作请求,将scsi协议操作请求发送到目标盘,减少了封装的层次,减少了存储系统处理延时,提高了存储系统性能。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本发明的一些实施例,还可以根据这些附图获得其他的附图。

图1为本发明实施例存储系统架构图;

图2为本发明实施例控制器结构示意图;

图3a和图3b为本发明实施例盘框结构示意图;

图4为本发明实施例盘框保存控制器的scsi协议事务标识和后端适配器的mac地址的对应关系的二维表;

图5为本发明实施例控制器、盘框及目标盘通信流程图;

图6为本发明实施例控制器通过心跳广播包收集盘框的mac地址及与该盘框通信的盘的sas协议地址的流程图;

图7为本发明实施例心跳广播包的报文格式示意图;

图8为本发明实施例心跳广播包响应的报文格式示意图;

图9为本发明实施例后端适配器保存的盘框的mac地址及与该盘框通信的盘的sas协议地址的对应关系的二维表示意图;

图10为本发明实施例控制器结构示意图;

图11为本发明实施例后端适配器的结构示意图;

图12为本发明实施例封装scsi协议操作请求的以太操作请求报文格式示意图;

图13为本发明实施例后端适配器的结构示意图;

图14为本发明实施例存储系统架构系统图。

具体实施方式

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

如图1所示,为本发明实施例提供的一种存储系统,包括控制器101和盘框102,所述盘框102连接多块盘1031…103n,1041…104n,其中,n可根据存储系统需要来定义。对于盘框102中连接多块盘1031…103n,1041…104n这种表述,另一种表述方式为:盘框102中放置多块盘1031…103n,1041…104n,其中,盘1031…103n,1041…104n与盘框102通信连接。控制器101与盘框102通过以太网络进行通信,盘1031…103n,1041…104n通过串行小型计算机系统接口(serialattachedscsi,sas)与盘框102连接,关于sas协议的具体介绍可以参考sasprotocollayer-2(spl-2)标准(http://www.t10.org/members/w_spl2.htm),在此不再赘述。其中,盘1031…103n,1041…104n可以为磁盘,也可以为固态硬盘,或者其他存储介质,或上述几种存储介质的组合,本发明实施例对此不作限定。

控制器101的一种示例性结构如图2所示,包括前端适配器1011、中央处理器1012、内存1013和后端适配器1014,其中前端适配器1011与服务器通信,用于接收服务器发送的读请求,并根据读请求向服务器返回数据,或者用于接收服务器发送的写请求,并根据写请求向服务器发送响应。中央处理器1012,用于根据内存1013中的计算机指令处理前端适配器接收的读写请求,或用于向盘框102中的盘发送操作请求,或接收盘框102发送的操作请求响应。后端适配器1014,用于与盘框102通过以太网络通信。

盘框102,如图3a所示,包括前端接口1021、中央处理器1022、内存1023和后端接口1024,盘框102通过前端接口1021与控制器101通信,后端接口1024,用于与盘1031…103n,1041…104n通信,中央处理器1022,用于处理来自控制器101的基于第一协议的读操作请求或写操作请求,根据该读操作请求或写操作请求向盘1031…103n,1041…104n中的目标盘发送基于第二协议的读操作请求或写操作请求,并根据目标盘发送的基于第二协议的读操作请求或写操作请求响应,向控制器101发送基于第一协议的读操作请求或写操作请求响应;第一协议和第二协议可以为不同的协议,具体由使用场景决定,具体到本发明实施例,第一协议为以太网通信协议,第二协议为sas协议。盘框102的后端接口1024通过sas协议接口,与盘1031…103n,1041…104n的sas协议接口使用scsi协议通信。具体地,盘框102的前端接口1021,用于接收并解封装所述控制器发送的以太操作请求报文,获得scsi协议操作请求,向所述中央处理器1022发送所述scsi协议操作请求。所述以太操作请求报文携带后端适配器1014的mac地址和盘框102的mac地址;所述scsi协议操作请求携带所述控制器101的scsi协议事务标识和目标盘1031的sas协议地址,其中,scsi协议事务标识用于唯一标识控制器101与目标盘1031建立的特定scsi协议事务链接;目标盘是指scsi协议操作请求访问的盘。

中央处理器1022执行所述内存1023中的计算机指令,以执行如下操作:接收所述scsi协议操作请求,建立所述后端适配器1014的mac地址和所述控制器101的scsi协议事务标识的对应关系,根据所述目标盘1031的sas协议地址,向后端接口1024发送所述scsi协议操作请求。其中,根据所述目标盘1031的sas协议地址,一种实现方式为:解析scsi协议操作请求获得目标盘1031的sas协议地址。

后端接口1024,用于接收所述scsi协议操作请求,并向目标盘1031发送所述scsi协议操作请求;后端接口1024,还用于接收目标盘1031根据所述scsi协议操作请求发送的scsi协议操作请求响应;其中,所述scsi协议操作请求响应携带所述控制器101的scsi协议事务标识。

相应的,中央处理器1022执行所述内存中的计算机指令,还执行如下操作:根据所述scsi协议操作请求响应携带的所述控制器101的scsi协议事务标识查询后端适配器1014的mac地址与控制器101的scsi协议事务状态标识的对应关系,获得后端适配器1014的mac地址;前端接口1201,还用于接收中央处理器1022发送的所述scsi协议操作请求响应,根据中央处理器1022查找到的后端适配器1014的mac地址,将所述scsi协议操作请求响应封装到携带所述后端适配器1014的mac地址的以太操作请求响应报文;根据后端适配器1014的mac地址向所述控制器101发送所述以太操作请求响应报文。

另一种实现方式,后端适配器1014将scsi协议操作请求封装到以太操作请求报文,还将该scsi协议操作请求携带的控制器101的scsi协议事务标识封装到以太操作请求报文的第一字段,将目标盘的sas协议地址封装到第二字段,向盘框102发送该以太操作请求报文;其中,第一字段、第二字段和携带所述scsi协议操作请求的字段为三个不同的字段;盘框102解封装该以太请求报文,可以不用再解析携带scsi协议操作请求的字段,从scsi协议操作请求中获得控制器101的scsi协议事务标识和目标盘的sas协议地址,而是从前述第二字段中获得目标盘的sas协议地址,并根据目标盘的sas协议地址将scsi协议操作请求发送到目标盘,盘框102从前述第一字段中获得控制器101的scsi协议事务标识,根据从前述第一字段中获得控制器101的scsi协议事务标识建立控制器101的scsi协议事务标识与后端适配器101的mac的对应关系,这一实施方式中,盘框102将以太操作请求报文解封装后,不需要解析scsi协议操作请求即可建立控制器101的scsi协议事务标识建立控制器101的scsi协议事务标识与后端适配器101的mac的对应关系,向目标盘发送该scsi协议操作请求,从而节省了盘框102的计算资源。

示例性地,盘框102的中央处理器1022建立控制器101的scsi协议事务标识和后端适配器1014的mac地址的对应关系,如图4所示,以二维表的形式保存控制器101的scsi协议事务标识和后端适配器1014的mac地址的对应关系。在具体计算机实现中,二维表可以用二维数组或者计算机可识别形式存储,本发明实施例在此不作限定。scsi协议操作请求响应报文及以太操作请求响应报文分别与scsi协议操作请求和以太操作请求报文的报文格式对应,具体区别在于报文字段携带的内容不同。具体地,当以太操作请求报文中,使用前述的第一字段携带scsi协议事务标识,使用第二字段携带目的sas协议地址时,以太操作请求响应报文中,第一字段仍然携带scsi协议事务标识,第二字段中的目的sas协议地址为空。

本发明实施例图3a描述的盘框102具体可以由包含通用中央处理器的计算机实现,如图3a所示。另一方面,也可以为特定应用集成电路(application-specificintegratedcircuit,asic),即asic商业芯片与内存配合使用实现。或者为现场可编程逻辑门阵列(fieldprogrammablegatearray,fpga)实现,其中,从逻辑上划分包括处理功能,即中央处理器,及存储处理指令的内存。

如图3b所示,是基于如图3a所示的盘框102的结构,盘框102的结构的另一种逻辑呈现。包括如下单元。

第一收发单元1021’,用于接收控制器101发送的以太操作请求报文;其中,所述以太操作请求报文携带后端适配器1014的mac地址和盘框102的mac地址。

封装和解封装单元1022’,用于将第一收发单元1021’接收的所述太操作请求报文解封装获得scsi协议操作请求;所述scsi协议操作请求携带控制器101的scsi协议事务标识和目标盘1031的sas协议地址。

第二收发单元1024’,用于,根据所述目标盘1031的sas协议地址,向目标盘1031发送所述scsi协议操作请求。进一步地,盘框102还包括建立单元1023’和查询单元1025’。建立单元1023’,用于建立后端适配器1014的mac地址和控制器101的scsi协议事务标识的对应关系。进一步地,第二收发单元1024’,还用于,接收目标盘1031根据所述scsi协议操作请求发送的scsi协议操作请求响应;其中,所述scsi协议操作请求响应携带控制器101的scsi协议事务标识。查询单元1025’,用于根据控制器101的scsi协议事务标识查询建立单元1023’建立的后端适配器1014的mac地址与控制器101的scsi协议事务标识的对应关系,获得后端适配器1014的mac地址。封装和解封装单元1022’,还用于将所述scsi协议操作请求响应封装到以太操作请求响应报文,以太操作请求响应报文携带所述后端适配器1014的mac地址;第一收发单元1021’,还用于根据后端适配器1014的mac地址向控制器101发送所述以太操作请求响应报文。其中一种实现方式,以太操作请求报文的第一字段携带所述scsi协议事务标识,以太操作请求报文的第二字段携带所述目标盘1031的sas协议;其中,所述第一字段、所述第二字段与所述以太操作请求报文中携带所述scsi协议操作请求的字段分别属于三个不同的字段。建立单元1023’建立所述后端适配器1014的mac地址和所述控制器101的scsi协议事务标识的对应关系,具体包括:所述封装和解封装单元1022’解封装所述以太操作请求报文的所述第一字段,获得所述控制器101的scsi协议事务标识,建立单元1023’建立所述后端适配器1014的mac地址和控制器101的scsi协议事务标识的对应关系。第二收发单元1024’根据所述目标盘1031的sas协议地址,向目标盘1031发送scsi协议操作请求,具体包括:封装和解封装单元1022’解封装所述以太操作请求报文的所述第二字段,获得目标盘1031的sas协议地址,第二收发单元1024’根据目标盘1031的sas协议地址,向目标盘1031发送所述scsi协议操作请求。

基于图3b的另一实施例,后端适配器1014发送的以太操作请求报文的第一字段携带控制器101的scsi协议事务标识,第二字段携带目标盘的sas协议;其中,以太操作请求报文中的第一字段、第二字段和携带所述scsi协议操作请求的字段分别属于三个不同的字段;建立单元1023’建立后端适配器1014的mac地址和控制器101的scsi协议事务标识的对应关系,控制器101的scsi协议事务标识是盘框102解封装以太操作请求报文,从第一字段中获得的。

第二收发单元1024’根据目标盘的sas协议地址,向目标盘发送该scsi协议操作请求中的所述目标盘的sas协议地址,具体包括是封装和解封装单元1022’解封装以太操作请求报文,从第二字段中获得目标盘的sas协议地址,第二收发单元1024’根据从第二字段中获得的目标盘的sas协议地址,向目标盘发送该scsi协议操作请求中的所述目标盘的sas协议地址。这样不需要再解析scsi协议操作请求,即可根据第一字段中携带的控制器101的scsi协议事务标识建立控制器101的scsi协议事务标识与后端适配器1014的对应关系,并且根据第二字段中携带的目标盘1031的sas协议地址直接将scsi协议操作请求发送到目标盘1031。

本发明实施例提供一种方法,可以基于图2的结构执行。方法具体流程,如图5所示,包括如下步骤。

501:中央处理器1012向后端适配器1014发送scsi协议操作请求。

502:后端适配器1014接收到scsi协议操作请求后,查询盘框102的mac地址与目标盘1031的sas协议地址对应关系,获得盘框102的mac地址。将scsi协议操作请求封装成以太操作请求报文,以太请求报文中到携带后端适配器1014的mac地址和盘框102的mac地址。

503:后端适配器1014根据盘框102的mac地址向盘框102发送以太操作请求报文。

504:盘框102接收并解封装以太操作请求报文,获得scsi协议操作请求,建立后端适配器1014的mac地址与控制器101的scsi协议事务标识的对应关系。

505:盘框102根据目标盘1031的sas协议地址,向目标盘1031发送scsi协议操作请求。

目标盘1031接收到scsi协议操作请求后,生成scsi协议操作请求响应。

506:盘框102接收目标盘1031根据scsi协议操作请求发送的scsi协议操作请求响应。

507:盘框102根据控制器101的scsi协议事务标识,查询后端适配器1014的mac地址与控制器101的scsi协议事务标识的对应关系,获得后端适配器1014的mac地址,将scsi协议操作请求响应封装到携带后端适配器1014的mac地址的以太操作请求响应报文。

508:盘框102根据后端适配器1014的mac地址向控制器101发送以太操作请求响应报文。

509:后端适配器1014接收并解封装以太操作请求响应报文,获得scsi协议操作请求响应。

510:后端适配器1014向中央处理器1012发送scsi协议操作请求响应。

在本发明实施例中,控制器101的后端适配器1014有mac地址,盘框102也有mac地址。控制器101与盘框102使用以太网络通信时,将scsi协议命令封装到以太报文,中间控制器101和盘框102的中央处理器都不使用tcp/ip协议进行封装或解封装,减少了封装或解封装的层次,减少了存储系统中央处理器资源消耗,减少了存储系统处理延时,提高了存储系统性能。

在本发明实施例场景下,为实现控制器101访问盘1031…103n,1041…104n中的任一块盘,在控制器101侧需要建立盘框102的mac地址与盘1031…103n,1041…104n中每一块盘的sas协议地址的对应关系,盘框102则需要保存控制器101的scsi协议事务标识与控制器101的后端适配器1014的mac地址的对应关系。在本发明实施例中的存储系统上电后,控制器101的后端适配器1024发送携带后端适配器1014的mac地址和控制器101的scsi协议事务标识的心跳广播包,该心跳广播包一方面用于收集盘框102的mac地址及与盘框102通信的盘1031…103n,1041…104n中每一块盘的sas协议地址;另一方面,可以及时更新与盘框102通信的盘的状态变化,如盘的增加或者减少。盘框102收集盘1031…103n,1041…104n中每一块盘的sas协议地址。盘框102收到心跳广播包后,向后端适配器1014发送心跳广播包响应,心跳广播包响应中携带盘框102的mac地址和盘1031…103n,1041…104n中每一块盘的sas协议地址。控制器101的后端适配器1014接收盘框102发送的心跳广播包响应后,建立并保存盘框102的mac地址和盘1031…103n,1041…104n中每一块盘的sas协议地址的对应关系。

其中一种实现方式,如图6所示,包括:

步骤601:控制器101中的后端适配器1014发送心跳广播包。

步骤602:盘框102接收控制器101中的后端适配器1014发送的心跳广播包。

步骤603:盘框102向控制器101发送心跳广播包响应。

步骤604:控制器101中的后端适配器1014接收盘框102发送的心跳广播包响应。

步骤605:后端适配器1014从心跳广播包响应中解析出盘框102的mac地址和盘1031…103n,1041…104n中每一块盘的sas协议地址,建立盘框102的mac地址和盘1031…103n,1041…104n中每一块盘的sas协议地址的对应关系。

示例性地,步骤601中,后端适配器1014发送的心跳广播包的报文格式如图7所示,后端适配器1014发送的心跳广播包同样是将scsi协议报文不经过tcp/ip层直接封装到以太报文中。从图7可知,后端适配器1014发送心跳广播包作为以太报文,包括目的mac地址字段、源mac地址字段和有效载荷(payload)。其中,源mac地址位携带后端适配器1014的mac地址,作为广播报文,目的mac地址字段中每一位均为1;该心跳广播包的有效载荷承载其他字段,有效载荷可包含多个字段,如:scsi协议报文类型字段,用于表示scsi协议操作请求的类型,如scsi协议读操作请求或scsi协议写操作请求;scsi协议事务标识字段,用于唯一标识控制器与盘建立的特定scsi协议事务链接;目的sas协议地址字段用于表示接收封装到该scsi协议操作请求的盘的sas协议地址,通过该字段可以识别接收当前scsi协议操作请求的目标盘的sas协议地址,而不需要再解析查询scsi协议帧数据字段来确定目标盘的sas协议地址,在心跳广播包中,目的sas地址字段中每一位均为0。有效载荷还包括操作码字段,其中,操作码字段用于表示scsi命令和数据字段的操作类型,作为心跳广播包,操作码字段为0x050,用于表示广播报文。图7所示的心跳广播包的报文,盘框102接收到该心跳广播包,解封装以太操作请求报文,从目的sas地址字段携带的信息判断该报文为心跳广播包报文,从而提高了报文处理速度。另一种实现方式,有效数字段中不包括scsi协议事务标识字段和目的sas协议地址字段和scsi协议报文类型字段,心跳广播包的有效载荷包括scsi协议帧数据字段,scsi协议帧字段携带scsi协议操作请求,心跳广播包中携带的控制器101的scsi协议事务标识和目的sas协议地址可以从心跳广播包中的scsi协议协议帧数据字段获得。图7中的以太操作请求报文格式的心跳广播包虽然给出了目标mac地址字段、源mac地址字段和有效载荷,但对本领域技术人员来说,以太操作请求报文根据需要还可包括其他字段,有效载荷根据需要还可以携带其他字段,在此不再赘述。

示例性地,步骤603中,盘框102向控制器101发送的心跳广播包响应的报文格式,如图8所示包括,心跳广播包响应的目的mac地址字段为后端适配器1014的mac地址,源mac地址字段携带盘框102的mac地址,操作码字段为0x060,有效载荷还包括报文内容标识字段,用于携带与盘框102通信的盘的sas协议地址。

示例性地,步骤605中,后端适配器1014从心跳广播包响应中解析出盘框102的mac地址和盘1031…103n,1041…104n中每一块盘的sas协议地址。如图9所示,以二维表的形式存储盘框102的mac地址和盘1031…103n,1041…104n中每一块盘的sas协议地址的对应关系。在具体计算机实现中,二维表可以用二维数组或者计算机可识别形式存储,本发明实施例在此不作限定。盘框102向控制器发送的心跳广播包响应,具体地,可以一次性在该心跳广播包响应携带盘框102的mac地址和所有盘1031…103n,1041…104n的sas协议地址,也可以在一次该心跳广播包响应中携带盘框102的mac地址和部分盘的sas协议地址,通过控制器101与盘框102之间多次心跳广播包和心跳广播包响应交互,更新和完善后端适配器1014保存的盘框102的mac地址和盘1031…103n,1041…104n中每一块盘的sas协议地址的对应关系。当有新的盘连接到盘框102后,盘框102接收控制器101发送的心跳广播包,在向控制器101发送心跳广播包响应时携带盘框102的mac地址和该新的盘的sas协议地址。本发明实施例中,保存控制器101的scsi协议事务标识和后端适配器1014的mac地址的对应关系的另一种表述,即存储控制器101的scsi协议事务标识和后端适配器1014的mac地址的对应关系;保存盘框102的mac地址和盘1031…103n,1041…104n中每一块盘的sas协议地址的对应关系的另一种表述,即存储盘框102的mac地址和盘1031…103n,1041…104n中每一块盘的sas协议地址的对应关系具有相同的含义。

本发明实施例中,在图2所示的控制器结构图中,控制器101的中央处理器与后端适配器1014的连接关系,如图10所示,前端适配器1011与后端适配器1014通过外围组件快速互联(peripheralcomponentinterconnectexpress,pcie)交换与中央处理器1012通信。当然,前端适配器1011与后端适配器1014通过pcie交换连接,与中央处理器1012通信这种实现方式只是其中一种实现方式,也可以通过南桥芯片等来实现,对此不作限定。

以图10所示控制器结构为例,控制器101的中央处理器1012向盘框102连接的目标盘发送scsi协议操作请求,如读操作请求,或者写操作请求,本发明对此不作限定。该scsi协议的操作请求可以为中央处理器1012根据前端适配器1011接收服务器发送的操作请求向目标盘发送的,对此不作限定。示例地,scsi协议的操作请求的报文格式为scsi协议标准报文格式,该scsi协议的操作请求中携带控制器101的scsi协议事务标识和目标盘的sas协议地址。后端适配器1014接收该scsi协议的操作请求,根据该scsi协议的操作请求中携带的sas协议地址,查询盘框的mac地址与目标盘的sas协议地址的对应关系,如查询表示盘框102的mac地址与盘1031…103n,1041…104n中每一块盘的sas协议地址对应关系的二维表。本发明实施例中,以该scsi协议的操作请求中携带的目标盘sas协议地址为盘1031的sas协议地址为例。根据目标盘1031的sas协议地址查询盘框102与目标盘1031的sas协议地址的对应关系,得到盘框102的mac地址。

示例地,后端适配器1014的结构如图11所示,包括:pcie接口,直接内存访问(directmemoryaccess,dma)引擎,输入输出状态维护模块,协议封装与解封装模块和以太模块。其中,pcie接口,用于与中央处理器1012的pcie端口进行数据传输,如接收中央处理器1012发送的scsi协议操作请求。dma引擎为后端适配器1014可选结构,根据scsi协议报文类型与携带的内存地址,可以从控制器的内存1013中直接读取数据或直接向控制器的内存1013中写入数据。输入输出状态维护模块用于前述的收集并维护盘框的mac地址与盘的sas协议地址的对应关系,如存储用于表示盘框102的mac地址与盘1031…103n,1041…104n中每一块盘的sas协议地址对应关系的二维表。输入输出状态维护模块根据pcie接口接收到的scsi协议操作请求携带的目标盘的sas协议地址,查询目标盘所在的盘框的mac地址,目标盘所在的盘框是指放置目标盘的盘框,关于放置的含义请见前面描述。本实施例中,该scsi协议操作请求携带的目标盘的sas协议地址为盘1031的sas协议地址,查询目标盘1031的sas协议地址对应的盘框的mac地址为盘框102的mac地址,将该scsi协议操作请求与盘框102的mac地址发送给协议封装与解封装模块,如图11所示,协议封装与解封装模块将该scsi协议操作请求封装到scsi协议帧数据字段,同时目的sas协议地址字段中封装目标盘1031的sas协议地址,scsi协议报文类型字段封装scsi协议操作请求的类型,scsi协议事务标识字段封装控制器101的scsi协议事务标识,将scsi协议报文类型字段scsi协议事务标识字段、目的sas协议地址字段和scsi协议帧数据字段封装到以太操作请求报文中的有效载荷,该以太报文的目标mac地址字段携带盘框102的mac地址,源mac地址字段携带后端适配器1014的mac地址,这里称以太操作请求报文有效载荷中的目的sas协议地址字段、scsi协议事务标识字段和携带scsi协议操作请求的scsi协议帧数据字段为三个不同的字段;另一种实现方式,以太操作请求报文中的有效载荷中不包含scsi协议事务标识字段和目的sas协议地址字段,而是则盘框102从scsi协议帧数据字段中携带的scsi协议操作请求中获取目标盘1031的sas地址和控制器101的scsi协议事务标识。以太模块将该以太操作请求报文通过以太网络发送到盘框102。以太模块包括流量控制模块、报文重传模块、以太mac模块和以太接口,其中,流量控制模块用于当以太网出现数据拥塞时,进行流量控制处理,避免因以太网络拥塞导致数据包丢失,报文重传模块用于以太网网络发生报文传输错误时,进行报文重传,保证数据传输可靠性;以太mac和以太接口作为以太网标准的以太mac层和以太物理接口层,与标准的以太网络结构中的以太mac层和以太物理接口层具有相同的含义。

输入输出状态维护模块还用于在执行scsi协议操作请求过程中,根据scsi协议操作请求的scsi协议报文类型字段创建、维护输入输出状态。示例地,可以用输入输出状态表记录scsi协议操作请求的事务执行状态,以避免scsi协议操作请求冲突。本发明实施例中,当向盘框102发送所述以太操作请求报文时,记录所述scsi协议操作请求的事务执行状态为建立与所述目标盘1031的scsi协议事务链接,执行所述scsi协议事务。

如图3a所示的盘框102的前端接口1021接收到后端适配器1014发送的携带盘框102的mac地址和后端适配器1014的mac地址的以太操作请求报文,解封装该以太操作请求报文,根据有效载荷中的scsi协议报文类型字段即可获得该scsi协议操作请求的类型。例如scsi协议报文类型为scsi协议读操作请求,根据有效载荷中的scsi协议事务标识字段即可获得scsi协议事务标识,从而建立scsi协议事务标识与后端适配器1014的mac地址的对应关系,根据有效载荷中的目的sas协议地址字段即可获知目标盘1031的sas协议地址,盘框102不需要解析scsi协议帧数据字段即可根据目标盘1031的sas协议地址将scsi协议操作请求发送到目标盘1031。因此,减少了盘框102进行协议处理的计算资源,同时提高了协议处理速度,进而提高了存储系统的性能。另一种实现方式,以太操作请求报文的有效载荷中没有scsi协议事务标识字段和目的sas协议地址字段,则盘框解封装以太操作请求报文后,在有效载荷中获得scsi协议操作请求,解析scsi协议操作请求,获得scsi协议事务标识和目标盘sas协议地址,建立scsi协议事务标识与后端适配器1014的mac地址的对应关系,根据目标盘的sas协议地址,通过后端接口1024向目标盘1031发送该scsi协议操作请求。

解封装携带scsi协议操作请求的以太操作请求报文后,获得后端适配器1014的mac地址,根据有效载荷中的scsi协议事务标识字段获得scsi协议事务标识,中央处理器1022建立后端适配器1014的mac地址和所述控制器101的scsi协议事务标识的对应关系,后端接口1024根据有效载荷中的目标sas协议地址字段携带的目标盘1031的sas协议地址,向目标盘1031发送该scsi协议操作请求。中央处理器1022通过后端接口1024接收目标盘1031发送的scsi协议操作请求响应,该scsi协议操作请求响应携带控制器101的scsi协议事务标识,根据该scsi协议操作请求响应携带控制器101的scsi协议事务标识查询后端适配器1014的mac地址和所述控制器101的scsi协议事务标识的对应关系。前端接口1021接收中央处理器1022发送的scsi协议操作请求响应及后端适配器1014的mac地址,前端接口1024将该scsi协议操作请求响应封装到以太操作请求响应报文,以太操作请求响应报文携带后端适配器1014的mac地址和前端适配器1024的mac地址。例如,目的mac地址字段携带后端适配器1014的mac地址,源mac地址字段携带盘框102的mac地址,scsi协议事务标识字段携带控制器101的scsi协议事务标识,scsi协议报文类型字段携带scsi协议操作请求的类型。本发明实施例中,以太操作请求响应报文也可称为以太操作请求报文的以太响应报文,两者具有相同的含义。其中一种实现方式,在以太操作请求响应报文的有效载荷,scsi协议帧数据字段携带scsi协议操作请求响应;有效载荷的scsi协议事务标识字段携带scsi协议事务标识;有效载荷的scsi协议报文类型字段携带scsi协议操作请求的类型。

控制器101的后端适配器1014接收盘框102发送的以太操作请求响应报文,解封装该以太操作请求响应报文,得到scsi协议操作请求响应。后端适配器1014的输入输出状态维护模块根据记录的scsi协议操作请求携带的scsi协议事务标识及该scsi协议操作请求的事务执行状态,判断该scsi协议操作请求响应是否合法。具体地,当判断以太操作请求响应报文携带控制器101的scsi协议事务标识时,则认为该scsi协议操作请求响应合法,后端适配器1014的输入输出状态维护模块更新所述scsi协议操作请求的事务执行状态为所述scsi协议事务执行完毕,并撤销所述与所述目标盘1031的scsi协议事务链接;当一个scsi协议事务包含多个scsi协议操作请求响应才能够完成该scsi协议事务时,后端适配器1014的输入输出状态维护模块还要统计接收到的scsi协议操作请求响应的次数。当以太操作请求响应报文未携带控制器101的scsi协议事务标识时,丢弃该scsi协议操作请求响应。其中以太操作请求响应报文未携带控制器101的scsi协议事务标识包括以太操作请求响应报文未携带控制器101的scsi协议事务标识,或者以太操作请求响应报文携带控制器101的scsi协议事务标识与控制器101的scsi协议事务标识不一致。这里scsi协议事务标识一种实施情况,可以从以太操作请求响应报文的有效载荷中的scsi协议事务标识字段中获得。另一种实施情况,以太请求响应报文的有效载荷中不包含scsi协议事务标识字段,则从有效载荷中的scsi协议帧数据字段获得控制器101的scsi协议事务标识。后端适配器1014将该scsi协议操作请求响应发送给中央处理器1012。

本发明实施例图10所示的后端适配器1014,作为一种逻辑架构,实际实现过程中,可以为asic商业芯片,或者为fpga,具体组成包括中央处理器和内存,还可以部分由asic商业芯片和fpga共同组成。具体包括:第一接口、第二接口、内存和第一中央处理器;所述第一接口用于接收所述中央处理器1012发送的scsi协议操作请求;其中,所述scsi协议操作请求中携带目标盘1031的sas协议地址;

所述第一中央处理器执行所述内存中的计算机指令,以执行如下操作:

根据所述目标盘1031的sas协议地址,查询所述盘框102的mac地址与所述目标盘1031的sas协议地址对应关系,获得所述盘框102的mac地址,将所述scsi协议操作请求封装到以太操作请求报文,该以太操作请求报文携带所述后端适配器1014的mac地址和所述盘框102的mac地址。

进一步地,以太操作请求报文还包括第一字段和第二字段,其中,第一字段用于携带所述scsi协议事务标识,第二字段用于携带所述目标盘的sas协议地址。以太操作请求报文中,第一字段、第二字段和携带scsi协议操作请求的字段属于三个不同的字段,具体地,如图12所示,第一字段为以太操作请求报文中有效载荷中的scsi协议事务标识字段,第二字段为有效载荷中的目的sas协议地址字段,有效载荷中携带所述scsi协议操作请求的字段为scsi协议帧数据字段。关于图12其他字段的描述,具体可参见实施例中关于以太操作请求报文、以太操作请求响应报文、心跳广播包及心跳广播包响应报文的描述。

第二接口,用于根据所述盘框102的mac地址,向所述盘框102发送所述以太操作请求报文。进一步地,第二接口,还用于接收所述盘框102发送的所述以太操作请求报文的以太响应报文;其中,所述以太操作请求报文的以太响应报文携带所述后端适配器1014的mac地址。第一中央处理器执行所述内存中的计算机指令,还用于执行:解封装所述以太操作请求报文的以太响应报文,获得scsi协议操作请求响应;第一接口,还用于向所述中央处理器1012发送所述scsi协议操作请求响应。进一步地,所述以太操作请求报文的以太响应报文还携带所述控制器101的scsi协议事务标识,所述第一中央处理器执行所述内存中的计算机指令,还用于执行:记录所述scsi协议操作请求的事务执行状态;具体地,当向所述盘框102发送所述以太操作请求报文时,记录所述scsi协议操作请求的事务状态为建立与所述目标盘1031的scsi协议事务链接,并且执行所述scsi协议事务。

进一步地,第一中央处理器执行所述内存中的计算机指令,还用于执行:根据所述scsi协议操作请求响应,更新所述scsi协议操作请求的事务状态为所述scsi协议事务执行完毕,撤销所述与所述目标盘1031的scsi协议事务链接。

进一步地,第一中央处理器执行所述内存中的计算机指令,还用于执行:当以太操作请求响应报文未携带所述控器101的scsi协议事务标识时,丢弃所述scsi协议操作请求响应。

进一步地,第一接口为pcie接口。

如图11所示的后端适配器1014,从逻辑上可以划分为如图13所示的结构,包括第一收发单元1301,查询单元1302,封装与解封装单元1303和第二收发单元1304。第一收发单元1301,用于接收中央处理器1012发送的scsi协议操作请求,其中,所述scsi协议操作请求中携带目标盘1031的sas协议地址;查询单元1302,用于查询盘框102的mac地址与目标盘1031的sas协议地址对应关系,获得所述盘框102的mac地址;封装与解封装单元1303,用于将所述scsi协议操作请求封装到以太操作请求报文,以太操作请求报文携带所述后端适配器1014的mac地址和盘框102的mac地址;第二收发单元1304,用于根据盘框102的mac地址向盘框102发送所述以太操作请求报文。进一步地,所述scsi协议操作请求还携带scsi协议事务标识,封装与解封装单元还用于将所述scsi协议事务标识封装到所述以太操作请求报文的第一字段,将所述目标盘的sas协议地址封装到第二字段;其中,所述第一字段、所述第二字段与所述以太操作请求报文中携带所述scsi协议操作请求的字段分别属于三个不同的字段。

进一步地,第二收发单元1304,还用于接收盘框102发送的所述以太操作请求报文的以太响应报文;其中,所述以太操作请求报文的以太响应报文携带所述后端适配器1014的mac地址。进一步地,封装与解封装单元1303,还用于解封装所述以太操作请求报文的以太响应报文,获得scsi协议操作请求响应。第一收发单元1301,还用于向所述中央处理器1012发送所述scsi协议操作请求响应。进一步地,所述后端适配器101还包括记录单元1304,用于记录所述scsi协议操作请求的事务执行状态。具体地,当向所述盘框102发送所述以太操作请求报文时,所述记录单元1304记录所述scsi协议操作请求的事务状态为建立与所述目标盘1031的scsi协议事务链接,执行所述scsi协议事务。进一步地,所述记录单元1304,还用于根据所述scsi协议操作请求响应更新所述scsi协议操作请求的事务状态为所述scsi协议事务执行完毕,撤销所述与所述目标盘1031的scsi协议事务链接。进一步地,所述第一收发单元1301还用于当所述以太操作请求响应报文未携带所述控制器101的scsi协议事务标识时,丢弃所述scsi协议操作请求响应。

进一步地,盘框102的mac地址与目标盘1031的sas协议地址对应关系是由后端适配器1014根据框盘102发送的资源信息建立起来的;所述资源信息包括盘框102的mac地址和目标盘1031的sas协议地址,具体是由盘框102发送的心跳广播包响应实现的。

进一步地,本发明实施例中描述的控制器101和盘框102可以组成如图14所示的存储系统,包括多个控制器101和多个盘框102,关于控制器101和盘框102的数量可以根据实际需求确定。多个控制器101与多个盘框102通过以太交换机100通信。同时,控制器101之间可以形成冗余关系以提高可靠性。通过本发明实施例提供的控制器101和盘框102,可以实现系统的灵活扩展。

本发明实施例中,scsi协议操作请求和scsi协议操作请求响应均是scsi协议报文;sas协议作为一种接口协议,即使用串行的scsi协议,使用sas接口的设备之间使用scsi协议通信,具体到本发明实施例,盘1031…103n,1041…104n为sas协议接口的盘,盘框102也使用sas协议接口与盘1031…103n,1041…104n连接,盘框102与盘1031…103n,1041…104n使用scsi协议通信;scsi协议事务链接是在scsi协议中,发起端(initiator)与目标端(target)通信建立的链路,当通信结束时,释放该链路,从而释放scsi协议资源,而建立该链路以执行的事务为scsi协议事务,即对应的scsi协议操作请求。

本发明实施例中,将scsi协议事务标识封装到以太操作请求报文的第一字段,则称以太操作请求报文的第一字段携带scsi协议事务标识;将目标盘的sas协议地址封装到以太操作请求报文的第二字段,则称以太操作请求报文的第二字段携带目标盘的sas协议地址。

本发明实施例中使用的中央处理器和第一中央处理器的描述,仅仅是为了清楚说明归属于不同的装置,中央处理器和第一中央处理器可以为相同的处理器,也可以为不同的处理器,具体根据技术需要选择,本发明实施例对此不作限定。

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

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所公开的系统、方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取非易失性存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个非易失性存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的非易失性存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、磁碟或者光盘等各种可以存储程序代码的介质。

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

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