数据传输的目标端口处理方法和装置制造方法及图纸

技术编号:14990845 阅读:45 留言:0更新日期:2017-04-03 21:50
一种方法包括在目标端口中接收命令,其中该命令是由发起器提供的并且与写入操作关联。该方法包括:响应于该命令而使用该目标来处理与该写入操作关联的该发起器的数据传输。该处理包括:基于该命令的特性,选择性地针对传输使用在该目标端口接收到该命令之前由存储阵列控制器预先分配的内存或针对该传输从该存储阵列控制器请求内存的分配。

【技术实现步骤摘要】
【国外来华专利技术】背景方法计算机可以访问存储区域网络(SAN),以存储和检索大量数据。典型的SAN包括整合的大容量存储设备(磁带驱动器、硬盘驱动器、光盘驱动器等)的池,并且该SAN典型地提供相对高速的块级存储,这对于备份应用、归档应用、数据库应用和其它此类目的可以是有利的。附图说明图1是根据示例实现方式的计算机系统的示意图。图2是根据示例实现方式的图1的物理机器的示意图,该物理机器包含主适配器和存储阵列控制器。图3和图4是根据示例实现方式的描述命令的目标端口处理的流程图。具体实施方式参考图1,根据示例实现方式,计算机系统100包括存储区域网络(SAN)110,存储区域网络110包括整合的物理介质存储设备130(磁带驱动器、光盘驱动器、硬盘驱动器、这些设备的组合等)的池,该物理介质存储设备的池可以由客户端102(台式计算机、便携式计算机、平板计算机、智能手机等)用于数据存储和检索目的。作为示例,客户端102可以与计算机系统100的各服务器170(数据库、电子邮件服务器、文件服务器等)通信,并且作为这些通信的结果,服务器170可以生成块级访问请求,以向SAN110存储数据并且从SAN110检索数据。对于图1的示例而言,客户端102可以使用网络结构106(如基于局域网(LAN)的结构、基于广域网(WAN)的结构、基于因特网的结构等)与服务器170通信。一般来说,由服务器170生成的块级读取和写入被SAN110的存储阵列120(图1中示出的N个存储阵列120-1…120-N)的存储阵列控制器134处理,以便在阵列120的物理存储设备130中存储数据和从阵列120的物理存储设备130中检索数据。如图1所示,服务器170通过SAN结构180耦接至存储阵列120,如技术人员能够理解的,SAN结构180可以包括(作为示例)光纤通道(FC)结构、基于因特网协议(IP)的结构、交换机、网关、FC至SCSI桥等。根据本文公开的示例实现方式,服务器170使用符合光纤通道协议(FCP)或因特网小型计算机系统接口(iSCSI)协议的消息传输协议来与存储阵列120通信;并且更具体地,服务器170可以通过提供以特定主适配器端口为目标的消息来发起特定的读取或写入操作。一般来说,根据示例实现方式,特定存储阵列120包括一个或多个主适配器136。主适配器136提供前端接口,该前端接口被构造为与服务器170通信并且将存储阵列120的驱动器130上的存储呈现为逻辑单元。存储阵列120进一步包括存储阵列控制器134,存储阵列控制器134(在它的其它功能中)执行逻辑存储单元至物理存储单元的转换,并且提供后端接口来与存储阵列120的关联驱动器130通信。在下面的详述的上下文中,针对在服务器170和存储阵列120之间传输数据的特定写入或读取,“发起器”(例如服务器170的主端口)通过提供消息来发起对特定“目标”端口(例如,主适配器136的端口)的写入或读取操作,该消识别该目标端口、包括写入/读取命令并且指定该关联的写入/读取操作的一个或多个特性。该消息可以是(FCP的)信息单位(IU)或者(iSCSI协议的)协议数据单元(PDU)。特定的目标和发起器可以经历登录过程,该登录过程设置如何在这两个实体之间发生数据传输。例如,作为登录过程的结果,特定目标端口可以被指定为能够接收非请求数据(或“直接”数据),该非请求数据伴随来自该发起器的消息中的写入命令。作为替代,该登录过程可以导致将目标端口指定为不接收具有写入命令的非请求数据。对于后面这种配置,目标端口控制发起器提供与该写入关联的数据的时机,因为直到目标端口用指示该目标端口准备好接收写入数据的消息作出响应,发起器才提供该写入数据。这可以另外被称为目标端口提供(FCP的)XFR_RDY或者(iSCSI协议的)R2T信号。现在转向更具体的示例,发起器可以生成包括以主适配器136的特定端口为目标的写入命令的消息。对于该示例以及本文描述的其它示例,目标端口被配置为不接收具有写入命令的非请求数据。作为替代,对于写入操作,在发起器向目标端口提供数据之前,发起器等待目标端口提供准备好接收该写入数据的指示。当目标端口接收数据作为写入操作的一部分时,目标端口将数据传输至存储阵列控制器134的主内存的区域中,该区域是存储阵列控制器134为此目的而分配的。在任何时候,可以分配存储阵列控制器134的主内存来从多个正在进行的写入操作接收数据。处置在目标端口处接收的写入命令的处理的一种方式是存储阵列控制器直接参与该写入操作的数据传输阶段。在该方法中,存储阵列控制器控制目标端口何时断言(向发起器)其准备好接收写入数据。此外,当接收到写入命令以及内存变得可用时,存储阵列控制器在目标端口之间分配用于接收写入数据的其主内存的区域。更具体地,在该直接方法中,响应于接收到写入命令,目标端口首先向存储阵列控制器(例如经由中断)通知该命令。存储阵列控制器然后分配其主内存的一部分来接收关联的写入数据,并且向目标端口通知该分配。在接收到该内存分配以后,目标端口用准备就绪的指示(即,目标端口提供具有XFR_RDY或R2T信号的消息)向该发起器做出响应,并且发起器通过将数据传输至目标端口来做出响应。可以以减少该目标上每个事务的中断数以及改善CPU利用率和延迟的方式处置SCSI写入事务。减少该目标上每个事务的中断数(并且减少SCSI写入请求的延迟)的一种方法是基于SCSI标准的“首次突发”方法,其中目标接收具有写入命令的非请求数据的突发。首次突发特征由在登录过程中协商该首次突发特征的发起器和目标设置,使得当该目标被配置为接收首次突发时,目标使用预先分配的缓冲区。因此,当发起器发送写入命令时,该写入命令伴有写入数据,并且在中断该阵列控制器之前,该目标使用预先分配的缓冲区来存储该数据。然而,发起器可以不被构建或被配置为实现首次突发。根据本文公开的示例方法,针对非首次突发写入事务预先分配目标主机总线适配器上的缓冲区,这还允许在没有发起器参与情况下中断数量的减少,并且不依赖发起器支持首次突发的能力。以此方式,本文公开的系统和方法用于通过为发起器和目标端口之间的关联写入数据的传输预先分配内存来优化写入(例如优化SCSI写入)。在此上下文中,“预先分配的”内存指由存储阵列控制器分配的供特定端口针对今后的写入操作专门使用的存储阵列控制器的内存的一个或多个区域。该预先分配指存储阵列控制器1本文档来自技高网...

【技术保护点】
一种方法,包括:在目标端口中接收命令,所述命令由发起器提供并且与写入操作关联;以及响应于接收到所述命令,使用所述目标来处理与所述写入操作关联的用于所述发起器的数据传输,其中该处理包括:基于所述命令的特性,选择性地针对该传输使用在由所述目标端口接收到所述命令之前由存储阵列控制器预先分配的内存,或者针对该传输从所述存储阵列控制器请求内存的分配。

【技术特征摘要】
【国外来华专利技术】1.一种方法,包括:
在目标端口中接收命令,所述命令由发起器提供并且与写入操作关联;以及
响应于接收到所述命令,使用所述目标来处理与所述写入操作关联的用于所述发
起器的数据传输,其中该处理包括:基于所述命令的特性,选择性地针对该传输使用
在由所述目标端口接收到所述命令之前由存储阵列控制器预先分配的内存,或者针对
该传输从所述存储阵列控制器请求内存的分配。
2.根据权利要求1所述的方法,其中使用所述目标端口包括:选择性地在针对该
传输不从所述存储阵列控制器请求内存的分配的情况下,使用所述目标端口来向所述
发起器提供准备好传输信号。
3.根据权利要求1所述的方法,其中所述命令包括写入命令,并且使用所述目标
端口包括:至少部分地基于与所述数据关联的块大小,选择性地在不首先请求内存的
分配的情况下表示所述目标端口准备好接收所述数据。
4.根据权利要求3所述的方法,其中使用所述目标端口包括:至少部分地基于所
述块大小是否超过由所述存储阵列控制器使用的缓存内存的行大小,选择性地在不首
先请求内存的分配的情况下表示所述目标端口准备好接收所述数据。
5.根据权利要求1所述的方法,其中使用所述目标端口包括:至少部分地基于与
所述数据关联的偏移量是否与由所述存储阵列控制器使用的缓存内存的一个以上的行
关联,选择性地在不首先从所述存储阵列控制器请求内存的分配的情况下表示所述目
标端口准备好接收所述数据。
6.根据权利要求1所述的方法,进一步包括:
使用所述存储阵列控制器来用指示所述特性的至少一个参数来规划所述目标端
口。
7.根据权利要求1所述的方法,进一步包括:
针对所述传输使用所述存储阵列控制器来向所述目标端口预先分配内存。
8.一种装置,包括:
存储阵列控制器,用于响应于端口指示接收到来自发起器的与写入操作关联的命
令,分配内存来接收与所述写入操作关...

【专利技术属性】
技术研发人员:R·K·塔马S·纳扎里阿吉特库马尔·A·纳塔拉詹
申请(专利权)人:慧与发展有限责任合伙企业
类型:发明
国别省市:美国;US

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

1