[go: up one dir, main page]

CN101483662B - Packet forwarding device and method for virtual storage network switch - Google Patents

Packet forwarding device and method for virtual storage network switch Download PDF

Info

Publication number
CN101483662B
CN101483662B CN 200810001359 CN200810001359A CN101483662B CN 101483662 B CN101483662 B CN 101483662B CN 200810001359 CN200810001359 CN 200810001359 CN 200810001359 A CN200810001359 A CN 200810001359A CN 101483662 B CN101483662 B CN 101483662B
Authority
CN
China
Prior art keywords
package
data
iscsi
packet
network switch
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.)
Expired - Fee Related
Application number
CN 200810001359
Other languages
Chinese (zh)
Other versions
CN101483662A (en
Inventor
钟逸呈
李晓晖
江彦宏
陈启钧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial Technology Research Institute ITRI
Original Assignee
Industrial Technology Research Institute ITRI
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Industrial Technology Research Institute ITRI filed Critical Industrial Technology Research Institute ITRI
Priority to CN 200810001359 priority Critical patent/CN101483662B/en
Publication of CN101483662A publication Critical patent/CN101483662A/en
Application granted granted Critical
Publication of CN101483662B publication Critical patent/CN101483662B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A packet forwarding device and method for virtual storage network switch can be applied to switch environment established by iSCSI connection. The packet forwarding apparatus includes a header extractor, a distributor, and a forwarding unit. When the iSCSI conference connection finishes system authentication, the header extractor receives at least one packet on the iSCSI connection and extracts header data of the at least one packet; the distributor determines the flow direction of the received packet; the forwarding unit performs direct packet forwarding between the front end and the back end of the established connection, including an operation of converting a virtual address received by the distributor into a real address, an operation of establishing a corresponding relationship between the client interface and the storage interface, and an operation of transferring load data carried in the connection.

Description

虚拟储存网络交换器的封包转送装置与方法Packet forwarding device and method for virtual storage network switch

技术领域technical field

本发明是关于一种虚拟储存网络交换器(virtualization switch)的封包转送装置与方法,可应用于网际网络小型计算器系统接(InternetSmall Computer System Interface,iSCSI)连线所建立的交换器(switch)环境中。The present invention relates to a packet forwarding device and method of a virtual storage network switch (virtualization switch), which can be applied to a switch established by an Internet Small Computer System Interface (iSCSI) connection Environment.

背景技术Background technique

储存装置的网络化是网际网络发展的趋势之一,iSCSI传输协议为一新兴起的网络储存技术标准。储存局域网络(Storage Area Network,SAN)是特指连结储存设备与服务器的网络,是以网络串联储存设备。相较于独立磁盘冗余阵列(Redundant Array ofIndependent Disks,RAID)及小型计算器系统接口(Small Computer System Interface,SCSI)等将服务器与储存设备直接连结的技术,网络储存技术除了具有高速传输能力,也不会因服务器本身而限制储存设备的扩充与备份,因此扩充性与可靠性佳。The networking of storage devices is one of the trends in the development of the Internet, and the iSCSI transport protocol is an emerging network storage technology standard. Storage Area Network (SAN) refers specifically to the network connecting storage devices and servers, and uses the network to connect storage devices in series. Compared with redundant array of independent disks (Redundant Array of Independent Disks, RAID) and small computer system interface (Small Computer System Interface, SCSI) and other technologies that directly connect servers and storage devices, network storage technology not only has high-speed transmission capabilities, The expansion and backup of the storage device will not be restricted by the server itself, so the scalability and reliability are good.

由于极高的频宽需求,光纤信道(fiber channe1)是目前常用的储存网络连结技术。另一个新兴起的储存网络技术,就是刚完成标准制定的iSCSI的传输协议。iSCSI传输协议主要的功能是将SCSI的命令及数据,通过iSCSI的协议数据单元(Protocal Data Unit,PDU)在IP网络上传送,由iSCSI协议,使IP网络也可以成为储存网络。对客户端而言,以IP网络作为储存网络只需将其服务器及储存设备换成iSCSI接口,使用原有的IP网络的交换设备,就可建置出储存网络。Due to the extremely high bandwidth requirements, fiber channel (fiber channel1) is currently a commonly used storage network connection technology. Another emerging storage network technology is the iSCSI transmission protocol that has just completed standard formulation. The main function of the iSCSI transmission protocol is to transmit SCSI commands and data on the IP network through the iSCSI protocol data unit (Protocal Data Unit, PDU). The iSCSI protocol makes the IP network also a storage network. For the client, using the IP network as the storage network only needs to replace its servers and storage devices with iSCSI interfaces, and use the original IP network switching devices to build a storage network.

图1是iSCSI虚拟储存网络的一般的一个实施范例示意图。如图1所示,客户端102安装iSCSI启始(initiator)110的驱动程序(driver)与虚拟服务器(virtualization server)101连结。储存端103安装iSCSI目标(target)120的驱动程序与虚拟服务器101连结。虚拟服务器101除了安装iSCSI启始与目标的驱动程序外,再加上虚拟化软件层140。FIG. 1 is a schematic diagram of a general implementation example of an iSCSI virtual storage network. As shown in FIG. 1 , a client 102 installs a driver of an iSCSI initiator 110 and connects to a virtualization server 101 . The storage terminal 103 installs the driver program of the iSCSI target (target) 120 and connects with the virtual server 101 . In addition to installing iSCSI initiator and target drivers on the virtual server 101, a virtualization software layer 140 is added.

基于此虚拟化软件层140的设定,以iSCSI封包数据流的角度来观察iSCSI封包栏位的变化。一开始由虚拟服务器103中交换器的iSCSI目标(target)120接收到iSCSI封包并解开此封包,传递给SCSI层130来读取命令,呼叫虚拟化软件层140转换真实存取位置,产生SCSI存取命令格式,最后将SCSI命令封装成iSCSI封包传送出去。在这一系列的转换过程中,iSCSI由最初输(input)的封包格式,除去表头(header)部分,撷取负载量(payload)的SCSI命令(CDB),存取SCSI层,经过虚拟化软件层对映(mapping)找到数据实际存取(access)位置,又重新产生SCSI命令,最后再加上iSCSI header传送。Based on the setting of the virtualization software layer 140, the change of the field of the iSCSI packet is observed from the perspective of the iSCSI packet data flow. At the beginning, the iSCSI target (target) 120 of the switch in the virtual server 103 receives the iSCSI packet and unpacks the packet, passes it to the SCSI layer 130 to read the command, calls the virtualization software layer 140 to convert the real access location, and generates SCSI Access command format, and finally encapsulate the SCSI command into an iSCSI packet and send it out. During this series of conversions, iSCSI removes the header from the initial input packet format, extracts the SCSI command (CDB) of the payload, accesses the SCSI layer, and goes through virtualization. The software layer maps (mapping) to find the actual access location of the data, regenerates the SCSI command, and finally adds the iSCSI header to transmit.

从输入(input)的iSCSI封包到最后输出(output)的iSCSI封包,在外观上,两者都是同样协议的iSCSI封包,但是从虚拟化交换器(virtualization switch)内部观察,却需要经过多层的软件协助,才能完成此基于iSCSI连线架构的虚拟化网络储存。最终要送出的iSCSI封包也重复经过多余的数据搬移动作,包括一开始的拆解,最后又回到产生等动作。From the input (input) iSCSI packet to the final output (output) iSCSI packet, in appearance, both are iSCSI packets of the same protocol, but from the inside of the virtualization switch (virtualization switch), it needs to go through multiple layers With the help of professional software, this virtualized network storage based on iSCSI connection architecture can be completed. Finally, the iSCSI packet to be sent also undergoes redundant data movement operations repeatedly, including dismantling at the beginning, and returning to generating at the end.

在既有的技术中,使用iSCSI协议作为连线方式的虚拟化网络储存技术可归纳为以下几类。Among the existing technologies, virtualized network storage technologies that use the iSCSI protocol as a connection method can be classified into the following categories.

第一类如图2所示,以iSCSI交换器201与iSCSI使用者主机(host)端202关系来看,管理储存配置的代理机制(agent),分散在数据路径(datapath)之外,传输的数据不经过储存服务器的交换器,可以直接到达网络储存装置203上。数据在离开使用者端后,就马上传送到储存装置203上,数据路径上没有多余的协议处理与数据复制。然而,在使用者端与储存装置端需要安装iSCSI代理机制(agent),如标号210与220所示,来与储存服务器交换存取信息。The first type is shown in FIG. 2 . From the perspective of the relationship between the iSCSI switch 201 and the iSCSI user host (host) end 202, the agent mechanism (agent) for managing storage configuration is scattered outside the data path (datapath). The data can directly reach the network storage device 203 without going through the switch of the storage server. After the data leaves the user end, it is immediately transmitted to the storage device 203, and there is no redundant protocol processing and data duplication on the data path. However, an iSCSI agent mechanism (agent) needs to be installed on the user side and the storage device side, as indicated by reference numerals 210 and 220, to exchange access information with the storage server.

例如,美国专利US6,845,403的文献中,将iSCSI协议的存取封包区分为控制类别与数据类别。控制类别的封包由使用者端传送到一个存取管理服务器上,服务器接着传递此命令到真实储存装置,数据类别则通过使用者端与真实储存装置端预先建立好的iSCSI连线直接传送数据,如此可达成最直接的数据传输路径。但使用者端必需安装特殊的iSCSI driver才能与管理服务器有功能上的互动,且当储存装置数量递增,在使用者端与储存装置的iSCSI连线也要跟着递增。For example, in the document of US Pat. No. 6,845,403, the access packets of the iSCSI protocol are divided into control type and data type. Control packets are sent from the user end to an access management server, and the server then transmits the command to the real storage device, while the data type directly transmits data through the pre-established iSCSI connection between the user end and the real storage device end. This allows for the most direct data transfer path. However, a special iSCSI driver must be installed on the user end to have functional interaction with the management server, and when the number of storage devices increases, the iSCSI connection between the user end and the storage device also increases accordingly.

第二类如图3所示,使用者主机端302与储存端303一样需要iSCSI代理机制,如标号320与310所示,协助,数据通过交换路由器(switchrouter)301来传递数据到储存端(storage)。路由器以IP层311简单快速的查表方式,决定数据封包传送到设定的储存端303中。所以,数据路径只有IP位置的转换,然而,使用者端需要安装iSCSI代理机制320,并且存取信息的同步也困难。The second type is shown in FIG. 3 . The user host 302 and the storage 303 need an iSCSI proxy mechanism, as shown in labels 320 and 310, to assist, and the data is transferred to the storage through a switch router (switchrouter) 301. ). The router decides to send the data packet to the set storage terminal 303 by means of a simple and fast look-up table at the IP layer 311 . Therefore, the data path only needs to switch the IP location. However, the user end needs to install the iSCSI proxy mechanism 320, and the synchronization of access information is also difficult.

例如,美国专利US6,934,799的文献中,使用者端在SCSI命令发出同时,搜寻在使用者端特有的虚拟IP对应表,找出iSCSI封包传送的IP与TCP位置,此封包被传送到转化网间连接器(virtualizationgateway),再把封包传送到真实的网络存取位置上。存取的负载(1oading)分散在使用者端与真实存取位置上,保留数据路径上的每个封包传递,只有单纯的IP位置替换。如此,当更动实体储存装置时,只需在数据网间连接器(virtualization gateway)上更改虚拟IP与实体IP对应,并且传送的封包在数据路径上只需改变IP与TCP位置的栏位,数据封包没有任何多余的复制动作。For example, in the literature of U.S. Patent No. 6,934,799, when the SCSI command is issued, the user end searches the unique virtual IP correspondence table at the user end to find out the IP and TCP location of the iSCSI packet transmission, and the packet is sent to the conversion network. Between the connector (virtualizationgateway), and then send the packet to the real network access location. The access load (1oading) is distributed between the user end and the real access location, and each packet transmission on the data path is reserved, and only the IP location is replaced. In this way, when changing the physical storage device, it is only necessary to change the correspondence between the virtual IP and the physical IP on the data network connector (virtualization gateway), and the transmitted packet only needs to change the fields of the IP and TCP positions on the data path, There is no redundant copying of the data packets.

然而,使用者端需要在iSCSI driver上层实作一个存取控制模组,才能加入网关的虚拟存取系统。网关管理虚拟与真实硬盘之间操作容易,但是每个使用者端存取表上的区块范围(block range)与虚拟TCP栏位对应关系的修改过程复杂,比较难达成统一管理。However, the client needs to implement an access control module on the upper layer of the iSCSI driver to join the virtual access system of the gateway. The gateway manages the operation between virtual and real hard disks easily, but the process of modifying the corresponding relationship between the block range and the virtual TCP field on the access table of each client is complicated, and it is difficult to achieve unified management.

第三类如图4所示,iSCSI交换器401介于使用者端402与真实储存装置403的数据路经之中,以独立作(stand alone)方式完成虚拟化网络储存的设计,使用者端安装iSCSI驱动程序(driver)就可以通过交换器401存取数据。使用者端402只需拥有一般的iSCSI启始者(Initiator)410就可存取交换器401提供的网络储存。然而,数据封包在交换器401传递过程,需经过多层的协议处理与数据复制动作,因此会降低存取效能。The third type is shown in FIG. 4 , the iSCSI switch 401 is interposed between the data path between the user end 402 and the real storage device 403, and completes the design of virtualized network storage in a stand alone mode, and the user end The data can be accessed through the switch 401 by installing the iSCSI driver (driver). The client 402 only needs to have a common iSCSI initiator (Initiator) 410 to access the network storage provided by the switch 401 . However, the data packets need to go through multi-layer protocol processing and data duplication during the transfer process of the switch 401, thus reducing the access performance.

例如,美国专利公开号US2005/0114464的文献中,使用一般iSCSI协议加上虚拟化软件层达到虚拟化储存网络。在接收到的虚拟位置存取与真实储存装置间,找出虚拟与实际存取的对应关系,做数据路径的最佳化,并且可以连结使用者端与储存网络端两个不同的传输协议,达到协议转换。然而,在协议转换的过程中,对传输数据的缓冲没有揭露特殊的处理方式。以一般的数据缓冲方式会增加多余的数据复制动作,降低存取效能。For example, in the document of US Patent Publication No. US2005/0114464, a general iSCSI protocol plus a virtualization software layer is used to achieve a virtualized storage network. Between the received virtual location access and the real storage device, find out the corresponding relationship between virtual and actual access, optimize the data path, and connect two different transmission protocols between the user end and the storage network end, A protocol conversion is achieved. However, in the process of protocol conversion, no special handling method is disclosed for the buffering of transmitted data. The general data buffering method will increase redundant data copy operations and reduce access performance.

既有的技术实现虚拟化主要有频带内(in-band)和频带外(out-of-band)两种方式。out-of-band方式中,虚拟设备是坐落于数据路径之外,可以提供客户端与存取装置之间一个高效能的数据传输路径。然而,当变动存取装置的配置后,虚拟设备的更新与使用者之间的沟通会比较费时,并且客户端也需安装与虚拟装置沟通的软件接口,比较不符合对储存装置可直接存取的方便性。in-band方式中,虚拟设备安置在使用者与储存装置的数据存取路径之中,虽然储存装置群在变动后,管理上比较方便,并且可以提供客户端对储存装置直接存取的便利性,然而客户端对虚拟设备的数据询问等数据量,会与真实数据传输路径共享同一频宽,如此会降低数据传输效率。Existing technologies mainly implement virtualization in two ways: in-band and out-of-band. In the out-of-band mode, the virtual device is located outside the data path, which can provide a high-performance data transmission path between the client and the access device. However, when the configuration of the access device is changed, the communication between the update of the virtual device and the user will be time-consuming, and the client also needs to install a software interface to communicate with the virtual device, which is not suitable for direct access to the storage device. convenience. In the in-band method, the virtual device is placed in the data access path between the user and the storage device. Although the storage device group is changed, the management is more convenient, and it can provide the convenience of direct access to the storage device by the client. , however, the amount of data such as the client's data query to the virtual device will share the same bandwidth with the real data transmission path, which will reduce the data transmission efficiency.

上述两种方法中,用in-band方式来达成虚拟化存取,数据路径上的储存服务器通常独自完成虚拟与实体存取地址转换的工作,而out-of-band方式是将虚拟存取工作量分散(distributed)在储存服务器与使用者端上的代理机制。In the above two methods, the in-band method is used to achieve virtualized access. The storage server on the data path usually completes the virtual and physical access address translation work alone, while the out-of-band method uses the virtual access work A proxy mechanism that distributes data between storage servers and clients.

发明内容Contents of the invention

本揭露的实施范例中,可提供一种虚拟储存网络交换器中封包转送装置与方法,可应用iSCSI连线所建立的交换器环境中。本揭露的实施范例中,在iSCSI协议连线的两端,即客户端与储存端,使用iSCSI会议(session)连线查表对应方式,封包于会议(session)连线的两端间直接转送,完成客户端与储存端的数据交换。In the implementation example of the present disclosure, a packet forwarding device and method in a virtual storage network switch can be provided, which can be applied to a switch environment established by an iSCSI connection. In the implementation example of this disclosure, the two ends of the iSCSI protocol connection, that is, the client and the storage end, use the iSCSI conference (session) connection lookup table corresponding method, and the packet is directly forwarded between the two ends of the conference (session) connection , to complete the data exchange between the client and the storage.

在一实施范例中,本揭露是关于一种虚拟储存网络交换器中封包转送装置,此虚拟储存网络交换器中,前端的一目标模组与至少一使用者端建立连线,后端的一启始者模组与至少一个网络储存端建立连线,此封包转送装置可包含:一个标头撷取器(HeaderExtractor)、一个分发器(Dispatcher)、以及一个转送单元(Fordwarding Unit),标头撷取器。当iSCSIsession连线完成系统认证后,标头撷取器接管iSCSI连线上至少一个封包,并撷取此至少一个个封包的表头数据;分发器决定这些被接管的封包的流向;转送单元在已建立连线的前端与后端之间作封包直接转送的动作,包括将分发器接收来的虚拟地址转换成真实地址的动作、建立客户端接口(client-sideinterface)与储存端接(storage-sideinterface)的对应关系的对应关系,以及传递连线上夹带的负载数据的动作。In an embodiment example, the present disclosure relates to a packet forwarding device in a virtual storage network switch. In the virtual storage network switch, a target module at the front end establishes a connection with at least one user end, and a startup at the back end The initiator module establishes a connection with at least one network storage terminal, and the packet forwarding device may include: a header extractor (HeaderExtractor), a distributor (Dispatcher), and a forwarding unit (Fordwarding Unit), the header extractor fetcher. After the iSCSIsession connection completes the system authentication, the header extractor takes over at least one packet on the iSCSI connection, and retrieves the header data of the at least one packet; the distributor determines the flow of these taken over packets; The action of directly forwarding packets between the front end and the back end of the established connection, including the action of converting the virtual address received by the distributor into a real address, establishing the client interface (client-sideinterface) and storage terminal (storage-sideinterface) ), and the action of transferring the load data carried on the connection.

在另一实施范例中,本揭露是关于一种虚拟储存网络交换器的封包转送方法,此方法可包含:从iSCSI会议(session)所使用的TCP连线中接收的至少一个iSCSI封包里,只撷取每个iSCSI封包的表头;对于每个iSCSI封包,查看该封包的格式是否为合格转送的类型;对合格转送的封包,检查是否为iSCSI命令(Cmnd)类型的封包;若是,将此iSCSI命令(Cmnd)类型的封包的相对应的虚拟存取地址信息转换成真实地址,并加入一新的对应关系于动态会议连线对照表(DSMT)中;从动态会议连线对照表(DSMT)中,找出对应的目的端会议识别码(session ID)与启始者工作标签(initiator task tag,ITT)栏位;根据此目的端会议的连线状态现况,修改iSCSI封包表头,并传送修改后的iSCSI表头与来源TCP连线的iSCSI负载数据。In another embodiment, the present disclosure relates to a packet forwarding method of a virtual storage network switch, and the method may include: in at least one iSCSI packet received from a TCP connection used by an iSCSI session (session), only Extract the header of each iSCSI packet; for each iSCSI packet, check whether the format of the packet is the type of qualified forwarding; for the qualified forwarded packet, check whether it is the packet of the iSCSI command (Cmnd) type; if so, send this The corresponding virtual access address information of the packet of the iSCSI command (Cmnd) type is converted into a real address, and a new correspondence is added in the dynamic conference connection comparison table (DSMT); from the dynamic conference connection comparison table (DSMT) ), find out the corresponding destination session ID (session ID) and initiator task tag (ITT) fields; modify the iSCSI packet header according to the connection status of the destination session, And transmit the modified iSCSI header and the iSCSI payload data of the source TCP connection.

本揭露的封包转送机制除了可在具有TCP协议功能的操作系统下实施外,也可以实现在多处理器架构的系统。The packet forwarding mechanism disclosed in this disclosure can be implemented not only under the operating system with TCP protocol function, but also in the system with multi-processor architecture.

附图说明Description of drawings

以下配合下列附图及实施例的详细说明,将上述及本发明的其它目的与优点详述于后,其中:In conjunction with the detailed description of the following drawings and embodiments, the above and other purposes and advantages of the present invention are described in detail below, wherein:

图1是iSCSI虚拟储存网络的一般实施的一个范意图。FIG. 1 is a schematic diagram of a typical implementation of an iSCSI virtual storage network.

图2是一个概要示意图,说明另一种达成虚拟化网络储存的技术。FIG. 2 is a schematic diagram illustrating another technique for achieving virtualized network storage.

图3是一个概要示意图,说明另一种达成虚拟化网络储存的技术。FIG. 3 is a schematic diagram illustrating another technique for achieving virtualized network storage.

图4是一个概要示意图,说明另一种达成虚拟化网络储存的技术。FIG. 4 is a schematic diagram illustrating another technique for achieving virtualized network storage.

图5是iSCSI协议数据单元从使用者端到储存端的封包直接转送的处理流程的一个示意图,并且与本揭露中某些实施范例一致。FIG. 5 is a schematic diagram of a process flow of direct transfer of iSCSI PDU packets from a client to a storage, and is consistent with certain embodiments of the present disclosure.

图6是一范例示意图,说明虚拟储存网络交换器的封包转送装置的结构,并且与本揭露中某些实施范例一致。FIG. 6 is an exemplary schematic diagram illustrating the structure of a packet forwarding device of a virtual storage network switch, which is consistent with certain embodiments of the present disclosure.

图7是一范例示意图,说明封包转送装置中各模组的细部动作,并且与本揭露中某些实施范例一致。FIG. 7 is an example schematic diagram illustrating the detailed actions of each module in the packet forwarding device, which is consistent with some implementation examples in the present disclosure.

图8是动态会议连线对照表中各元素的内容及建立过程的一个范例示意图,并且与本揭露中某些实施范例一致。FIG. 8 is a schematic diagram of an example of the content and establishment process of each element in the dynamic conference connection comparison table, which is consistent with some implementation examples in the present disclosure.

图9说明一个虚拟地址存取要求对应到真实的储存位置为多个不同装置的一个范例示意图,并且与本揭露中某些实施范例一致。FIG. 9 illustrates an example schematic diagram of a virtual address access request corresponding to real storage locations for multiple different devices, and is consistent with certain embodiments of the present disclosure.

图10说明会议连线对照表中各元素后面被设定一个指示位的一个范例示意图,并且与本揭露中某些实施范例一致。FIG. 10 illustrates an example schematic diagram in which an indicator bit is set behind each element in the conference connection table, and is consistent with some implementation examples in the present disclosure.

图11说明PDU复制接管模组在封包的流向上,扮演封包重制和整合的角色,并且与本揭露中某些实施范例一致。FIG. 11 illustrates that the PDU duplication takeover module plays the role of packet remanufacturing and integration in the flow direction of the packet, and is consistent with some implementation examples in this disclosure.

图12是一范例流程图,说明当客户端发出READ命令的要求动作时,PDU复制接管模组如何实现,并且与本揭露中某些实施范例一致。FIG. 12 is an exemplary flow chart illustrating how the PDU copy takeover module implements when the client sends a READ command, which is consistent with some implementation examples in this disclosure.

图13是一范例流程图,说明当客户端发出WRITE命令的要求动作时,PDU复制接管模组如何实现,并且与本揭露中某些实施范例一致。FIG. 13 is an exemplary flow chart illustrating how the PDU copy takeover module implements when the client sends a WRITE command, which is consistent with some implementation examples in this disclosure.

图14是一范例示意图,进一步说明地址转换器接口输入与输出的参数,并且与本揭露中某些实施范例一致。FIG. 14 is an example schematic diagram further illustrating the parameters of the input and output of the address converter interface, consistent with certain embodiments of the present disclosure.

图15是一范例流程示意图,说明虚拟储存网络交换器的封包转送装置的方法,并且与本揭露中某些实施范例一致。FIG. 15 is a schematic flowchart illustrating a method of a packet forwarding device of a virtual storage network switch, consistent with certain embodiments of the present disclosure.

图16A是单一处理器系统上,iSCSI、封包转送机制和核心单元的关系的范例示意图。FIG. 16A is a schematic diagram of an example of the relationship among iSCSI, packet forwarding mechanisms, and core units on a single processor system.

图16B是多处理器系统上,iSCSI、封包转送机制和核心单元的关系的范例示意图。FIG. 16B is a schematic diagram of an example of the relationship among iSCSI, packet forwarding mechanisms, and core units on a multiprocessor system.

图17是多处理器系统上,封包转送装置的几个模组分散在独立的微处理器上执行的范例示意图。FIG. 17 is a schematic diagram of an example in which several modules of the packet forwarding device are distributed and executed on independent microprocessors in a multi-processor system.

具体实施方式Detailed ways

本揭露的实施范例中,是在一网络协议,例如iSCSI网络协议,连线所建立的交换器环境中,提供一个封包直接转送(forward)的桥梁,iSCSI封包从使用者端至储存端的处理流程中不需要经过多余的封包表头的拆解、读取、转址、表头建立等繁复的动作。图5是iSCSI协议数据单元从客户端到储存端的封包直接转送的处理流程的一个示意图,并且与本揭露中某些实施范例一致。In the implementation example of this disclosure, in a network protocol, such as iSCSI network protocol, in the switch environment established by the connection, a bridge for direct forwarding of packets is provided, and the processing flow of iSCSI packets from the user end to the storage end There is no need to go through complicated actions such as dismantling, reading, forwarding, and creating headers of redundant packets. FIG. 5 is a schematic diagram of a process flow of direct transfer of iSCSI PDU packets from a client to a storage, and is consistent with certain embodiments of the present disclosure.

参考图5,如标号510所示,iSCSI协议数据单元在客户端502到储存端503的处理流程中,只接收封包表头来处理。接着如标号520所示,通过直接转送机制,找出对应的iSCSI连线信息。如标号30所示,再将封包表头直接传送到储存端503。从储存端503回送到客户端502的iSCSI协议数据单元一样在接收表头后,如标号511所示,通过直接转送520机制找到要求此数据的客户端502连线,接着回传封包表头到客户端502,如标号531所示。Referring to FIG. 5 , as indicated by reference number 510 , in the processing flow from the client 502 to the storage 503 , the iSCSI PDU only receives the packet header for processing. Then, as shown by reference numeral 520, the corresponding iSCSI connection information is found through the direct forwarding mechanism. As shown by reference numeral 30 , the packet header is directly sent to the storage end 503 . The iSCSI protocol data unit sent back from the storage terminal 503 to the client 502 is the same as after receiving the header, as shown in the label 511, finds the connection of the client 502 that requires this data through the direct forwarding 520 mechanism, and then returns the packet header to The client 502 is shown by reference number 531 .

换句话说,本揭露在使用者端与网络储存装置端之间,提供一个衔接的桥梁。衔接的对象是使用iSCSI网络协议为连线方式的iSCSI session连线。衔接的方法是以建表的方式来产生使用者与储存装置两端的一对一连线对应关系。In other words, the present disclosure provides a connection bridge between the user end and the network storage device end. The connection object is the iSCSI session connection using the iSCSI network protocol as the connection method. The connection method is to generate a one-to-one connection relationship between the user and the two ends of the storage device in a table-building manner.

对应关系建立之后,连线上的所有iSCSI协议封包的表头经过栏位修改后,连同夹带的数据,直接转送(forward)到网络储存装置端,从网络储存装置端响应的数据,以同样的查表方式找到使用者端对应的iSCSI连线,直接将封包传送到使用者端。搭配既有的虚拟化交换器的软件层做法,本揭露的实施范例在封包转送过程依然可以提供使用者虚拟化的储存效果。并且本揭露的封包直接转送单元(Forwarding Unit)独立化以后,可以在具有多处理器的平台上得到更好的执行效能。After the corresponding relationship is established, the headers of all iSCSI protocol packets on the connection are modified by fields, together with the entrained data, are directly forwarded to the network storage device, and the response data from the network storage device is the same Look up the table to find the iSCSI connection corresponding to the client, and directly send the packet to the client. Combined with the existing software layer approach of the virtualization switch, the implementation example disclosed in this disclosure can still provide the virtualized storage effect for the user during the packet forwarding process. Moreover, after the packet direct forwarding unit (Forwarding Unit) disclosed in the present disclosure is independent, better performance can be obtained on a platform with multiple processors.

图6是一范例示意图,说明虚拟储存网络交换器(virtualization switch)的封包转送装置的结构,并且与本揭露中某些实施范例一致。参考图6,在此虚拟化交换器的环境中,前端的一目标模组(targetmodule),例如iSCSI目标620,可与至少一使用者端602建立iSCSI会议(session)连线,后端的一启始者模组(Initiator Module),例如iSCSI启始者610,可与至少一个网络储存端603建立iSCSIsession连线。本揭露的封包转送装置的范例结构600中,包含一个标头撷取器661、一个分发器662、以及一个转送单元663。FIG. 6 is an exemplary schematic diagram illustrating the structure of a packet forwarding device of a virtualization switch (virtualization switch), which is consistent with certain embodiments of the present disclosure. Referring to FIG. 6 , in the environment of this virtualized switch, a target module (target module) at the front end, such as an iSCSI target 620, can establish an iSCSI session (session) connection with at least one user end 602, and a back end An initiator module, such as an iSCSI initiator 610 , can establish an iSCSI session connection with at least one network storage terminal 603 . The exemplary structure 600 of the packet forwarding device of the present disclosure includes a header extractor 661 , a distributor 662 , and a forwarding unit 663 .

当iSCSI session连线完成系统认证后,标头撷取器661接收iSCSI连线上至少一个封包,并撷取此至少一个个封包的表头数据。分发器662决定这些被接管的封包的流向。转送单元663在两已建立iSCSI连线的前端与后端之间作封包直接转送的动作,包括将分发器662接收的封包的虚拟存取地址转换成真实地址的动作、建立客户端接口与储存端接口的对应关系,例如在一动态会议连线对照表(DynamicSession Mapping Table,DSMT)中建立此对应的关系,以及传递iSCSI连线上夹带的iSCSI负载数据(payload)的动作。After the iSCSI session connection completes the system authentication, the header extractor 661 receives at least one packet on the iSCSI connection, and retrieves the header data of the at least one packet. Distributor 662 determines the flow direction of these taken over packets. The transfer unit 663 directly transfers packets between the front end and the back end of the two established iSCSI connections, including the action of converting the virtual access address of the packet received by the distributor 662 into a real address, establishing the client interface and storage end The corresponding relationship of the interface, such as establishing the corresponding relationship in a dynamic session connection comparison table (DynamicSession Mapping Table, DSMT), and the action of transmitting the iSCSI payload data (payload) carried on the iSCSI connection.

标头撷取器661可以针对连线上多个iSCSI封包进行数据控制,将iSCSI的表头与数据分离,让整个封包转送过程里只有协议数据单元里表头栏位的数据处理,而不涉及协议数据单元里数据域位的数据搬移动作。The header extractor 661 can perform data control on multiple iSCSI packets on the connection, and separate the iSCSI header from the data, so that only the data processing of the header field in the protocol data unit in the entire packet transfer process does not involve The data movement operation of the data field in the protocol data unit.

转送单元663可再包括一个地址转换器(Address Translator,AT)、一个动态会议连线对照表(DSMT)、一个PDU复制接管模组(PDU DuplicationHandler,PDH)、一个表头调适器(Header Adaptor)、以及一个数据搬移器(Data Mover)。而封包转送装置的范例结构600中也可包括一描述子队列(descriptor queue)。图7说明封包转送装置中这些模组的细部动作,并且与本揭露中某些实施范例一致。The transfer unit 663 may further include an address translator (Address Translator, AT), a dynamic conference connection comparison table (DSMT), a PDU duplication takeover module (PDU DuplicationHandler, PDH), and a header adapter (Header Adaptor) , and a data mover (Data Mover). The exemplary structure 600 of the packet forwarding device may also include a descriptor queue. FIG. 7 illustrates the detailed actions of these modules in the packet forwarding device, and is consistent with some embodiments of the present disclosure.

参考图7,标头撷取器661在iSCSI连线系统上认证完成后,从连线的信息中可找出此连线ID(记为Conn)与虚拟存取ID(记为VIun)的信息,将这些数据组合成一个存取描述子(descriptor),纪录到描述子队列711中,等待下一个处理程序进行。描述子队列711是要把接收表头的工作与分析表头的工作分开,让此两个工作有机会同时进行,并且可以解决多个连线同时需要要求分发器662处理的相竞问题。Referring to FIG. 7, after the header extractor 661 completes the authentication on the iSCSI connection system, it can find out the information of the connection ID (denoted as Conn) and the virtual access ID (denoted as VIun) from the connection information , combine these data into an access descriptor (descriptor), record it in the descriptor queue 711, and wait for the next processing procedure to proceed. The description sub-queue 711 is to separate the job of receiving headers from the job of analyzing headers, so that the two jobs can be performed at the same time, and can solve the competing problem that multiple connections need to be processed by the distributor 662 at the same time.

当描述子队列711有数据进入,分发器662会从描述子队列711中取出一笔存取描述子,从描述子信息中可得知收到封包的类型,例如iSCSI命令(iSCSI Cmnd)、iSCSI数据输出(iSCSI DataOut)、iSCSI数据输入(iSCSI DataIn)、iSCSI回复(iSCSIRsp)、iSCSI准备传送(iSCSI R2T)等封包的类型,并决定被接到的封包是否为合格转送类型的封包。若是命令(Cmnd)类型的封包,则分发器662会传送此封包的数据表头至下一单元继续处理。若是命令(Cmnd)类型以外的其它封包,则分发器662会将此封包的表头和夹带的数据一并送回系统上的iSCSITarget做处理;分发器662可以判断此封包是否直接交给转送单元663,让转送单元663直接转送到网络储存端603上。When the descriptor queue 711 has data to enter, the distributor 662 will take out an access descriptor from the descriptor queue 711, and the type of the received packet can be known from the descriptor information, such as iSCSI command (iSCSI Cmnd), iSCSI Data output (iSCSI DataOut), iSCSI data input (iSCSI DataIn), iSCSI reply (iSCSIRsp), iSCSI ready to transmit (iSCSI R2T) and other packet types, and determine whether the received packet is a qualified transfer type packet. If it is a command (Cmnd) type packet, the distributor 662 will send the data header of the packet to the next unit for further processing. If it is a packet other than the command (Cmnd) type, the distributor 662 will send the header and the entrained data of the packet back to the iSCSITarget on the system for processing; the distributor 662 can determine whether the packet is directly delivered to the transfer unit 663, let the transfer unit 663 directly transfer to the network storage end 603.

地址转换器763a的功能在于虚拟存取与真实位置之间的转换。当地址转换器763a接收到虚拟存取点(Vlun)、存取地址(block)与存取长度(1ength)后,就可以找出真实的存取位置,与存取位置所属的会议(session)的连线。也就是说,地址转换器763a可以从虚拟存取点与存取位置中找出真实的存取地址与会议(session)连线ID的对应关系。The function of the address translator 763a is to translate between virtual access and real location. After the address converter 763a receives the virtual access point (Vlun), the access address (block) and the access length (1ength), it can find out the real access location and the session to which the access location belongs. connection. That is to say, the address converter 763a can find out the corresponding relationship between the real access address and the session connection ID from the virtual access point and the access location.

从分发器662接收过来的iSCSI封包,存取地址经过地址转换器763a的转换后,得知真实存取位置的会议(session)连线ID与此存取的真实储存装置数目。PDU复制接管模组(PDH)763b决定来源封包与转送封包的对应关系,并且在动态会议连线对照表(DSMT)763c中建立此对应的关系。In the iSCSI packet received from the distributor 662, after the access address is converted by the address converter 763a, the session connection ID of the real access location and the number of real storage devices accessed are obtained. The PDU Duplicate Handover Module (PDH) 763b determines the corresponding relationship between the source packet and the forwarded packet, and establishes the corresponding relationship in the Dynamic Conference Connection Map (DSMT) 763c.

PDU复制接管模组(PDH)763b在动态会议连线对照表(DSMT)763c中填入对应元素(entry)的内容。动态会议连线对照表(DSMT)763c中每个元素的内容将于图7中说明。在动态会议连线对照表(DSMT)763c填上对应关系后,PDU复制接管模组(PDH)763b传送封包表头至表头调适器763d。表头调适器763d处理iSCSI表头的栏位修改与传送动作。若此表头有夹带负载数据(payload),则使用数据搬移器763e直接把接收端的TCP层当作传送数据,在储存端的TCP连线上传送出去。The PDU duplication takeover module (PDH) 763b fills in the content of the corresponding entry in the dynamic conference connection table (DSMT) 763c. The content of each element in the dynamic conference connection table (DSMT) 763c will be illustrated in FIG. 7 . After the corresponding relationship is filled in the dynamic meeting connection table (DSMT) 763c, the PDU copy and takeover module (PDH) 763b transmits the header of the packet to the header adapter 763d. The header adapter 763d handles field modification and transmission of the iSCSI header. If the header has entrained payload data (payload), then use the data mover 763e to directly treat the TCP layer at the receiving end as transmission data, and send it out on the TCP connection at the storage end.

PDU复制接管模组(PDH)763b可以解决虚拟与实体对应中一对多的对应情况,让使用者在引发一个虚拟对象的存取时可以拓展出多个真实对象的存取。表头调适器763d可以从动态会议连线对照表(DSMT)763c中得知iSCSI表头栏位取代的值,接着将此表头在iSCSI会议(session)隶属的TCP连线上传送出去。数据搬移器763e可以将停留在TCP连线上的iSCSI负载数据直接当作iSCSI传送的数据,传送出去。The PDU copy-and-handover module (PDH) 763b can solve the one-to-many correspondence between the virtual and the physical, allowing the user to expand the access of multiple real objects when triggering the access of a virtual object. The header adapter 763d can learn the replaced value of the iSCSI header field from the Dynamic Session Connection Map (DSMT) 763c, and then send the header over the TCP connection to which the iSCSI session (session) belongs. The data mover 763e can directly transmit the iSCSI payload data staying on the TCP connection as the data transmitted by iSCSI.

如此,将使用者对目标端(target)的存取权限与虚拟化储存装置的设定集中在交换器上做管理,让使用者可以安装一般容易获得的iSCSI启始者(initiator)连结软件,直接把交换器当作是iSCSI目标者(target)做存取,在交换器上以iSCSI协议所连结的真实储存装置可以用虚拟化的配置方式,通过帐号密码确认提供给使用者存取,使用者端不必安装任何额外的存取控制软件。数据的接收保留在下层网络层,通过数据搬移器直接决定数据传送的位置,减少多余的数据复制次数。In this way, the user's access rights to the target and the settings of the virtual storage device are centralized on the switch for management, so that the user can install the iSCSI initiator link software that is generally easy to obtain, Directly treat the switch as an iSCSI target (target) for access. The real storage device connected by the iSCSI protocol on the switch can be configured in a virtualized manner and provided to the user for access through account and password confirmation. Use There is no need to install any additional access control software on the reader side. The reception of data is reserved at the lower network layer, and the location of data transmission is directly determined by the data mover, reducing redundant data duplication times.

图8是动态会议连线对照表(DSMT)中每个元素的内容及建立过程的一个范例示意图,并且与本揭露中某些实施范例一致。参考图8,动态会议连线对照表(DSMT)763c中每个元素主要有三个栏位,亦即客户端接(Client Side Interface)831、储存端接(Storage Side Interface)832、以及有效位833,分别记录使用者端的会议连线(session)ID(记为src_sess)和启始者工作标签(initiator tasktag)(记为src_ITT)、储存端的会议连线(session)ID(记为dst_sess)和启使者工作标签(记为dst_ITT)、以及对应于同一个虚拟存取的存取顺序关系。有效位可以方便于PDU复制接管模组(PDH)763b来管理从储存端回传的iSCSI封包。FIG. 8 is a schematic diagram of an example of the content and establishment process of each element in the dynamic conference connection table (DSMT), which is consistent with some implementation examples in the present disclosure. Referring to Fig. 8, each element in the dynamic conference connection comparison table (DSMT) 763c mainly has three fields, that is, a client side interface (Client Side Interface) 831, a storage side interface (Storage Side Interface) 832, and a valid bit 833 , record the conference connection (sess) ID (recorded as src_sess) and the initiator tasktag (initiator tasktag) (denoted as src_ITT) of the user end, the conference connection (session) ID (denoted as dst_sess) and the start The envoy's work tag (denoted as dst_ITT) and the access sequence relationship corresponding to the same virtual access. The valid bit is convenient for the PDU Duplication Handling Module (PDH) 763b to manage the iSCSI packets sent back from the storage end.

动态会议连线对照表(DSMT)763c中每个元素的生命期开始于转送单元663接收到客户端的iSCSI命令协议数据单元(Cmd PDU),结束在转送单元663接收到储存端的iSCSI响应协议数据单元(Rsp PDU)为止。元素存在的期间,从客户端端接收的协议数据单元(PDU)可用一对一或是一对多个会议(session)的方式传送到目的端的iSCSI储存装置。从储存装置回传的数据封包,一样会经过转送单元663查表的方式找出要求数据的客户端。The life cycle of each element in the dynamic meeting connection table (DSMT) 763c begins when the transfer unit 663 receives the iSCSI command protocol data unit (Cmd PDU) of the client, and ends when the transfer unit 663 receives the iSCSI response protocol data unit of the storage terminal (Rsp PDU). During the existence of the element, protocol data units (PDUs) received from the client can be sent to the target iSCSI storage device in a one-to-one or one-to-many session. The data packet sent back from the storage device will also look up the table through the forwarding unit 663 to find out the client requesting the data.

建立元素的过程,从客户端来到转换单元的第一个iSCSI命令协议数据单元(Cmd PDU)通过地址转换器763a的协助,可以得知储存端的会议(session)栏位dst_sess与ITT栏位dst_ITT的数据,同时在元素的有效位栏位中记录此对应是否为一对多个会议(session)的对应关系,从此之后,同一个iSCSI作(Task)的协议数据单元(PDU)在进入转送单元663时,都会以协议数据单元(PDU)的会议(session)与ITT栏位搜寻动态会议连线对照表(DSMT)763c中是否有对应的元素,找出目的端的会议(session)ID与ITT栏位,直到从储存端回传最后一个iSCSI响应(Rsp)封包,才结束此元素的对应关系。In the process of creating an element, the first iSCSI command protocol data unit (Cmd PDU) from the client to the conversion unit can know the session (sess) column dst_sess and the ITT column dst_ITT of the storage terminal through the assistance of the address translator 763a At the same time, record whether this correspondence is a one-to-many conference (session) correspondence in the effective bit field of the element. From then on, the protocol data unit (PDU) of the same iSCSI task (Task) enters the transfer unit 663, the meeting (session) and ITT field of the protocol data unit (PDU) will be used to search whether there is a corresponding element in the dynamic conference connection comparison table (DSMT) 763c, and the meeting (session) ID and ITT field of the destination end will be found. Bit, until the last iSCSI Response (Rsp) packet is sent back from the storage end, the corresponding relationship of this element will not end.

当转送单元663从客户端接收一个iSCSI命令协议数据单元(Cmd PDU),在通过地址转换器763a存取后,得知此虚拟存取的数据量分散在多个实体的网络储存装置上时,转送单元663除了执行封包直接导向的工作以外,还需针对多个涉及此存取命令所涵盖的网络储存装置,传送存取的iSCSI封包。When the forwarding unit 663 receives an iSCSI command protocol data unit (Cmd PDU) from the client, after accessing it through the address translator 763a, it is known that the data volume of the virtual access is dispersed on multiple physical network storage devices, In addition to directing the packets, the forwarding unit 663 also needs to transmit the accessed iSCSI packets to a plurality of network storage devices covered by the access command.

例如,假定一个使用者发出的存取要求的虚拟地址(Request Virtual Address,Request VA)910对应到真实的储存位置(Physical Address,PA)为两个不同储存装置的PA1与PA2,如图9所示。当转送单元663从地址转换器763a得知此存取目标为分散的两个网络装置,此时转送单元663中的PDU复制接管模组(PDH)763b会依照地址转换器763a所提供的目标端数目信息,在动态会议连线对照表(DSMT)763c中建立多个元素,每个元素代表转送单元663需要跟储存端单独完成的工作(Task)的工作量。For example, assume that a virtual address (Request Virtual Address, Request VA) 910 of a user’s request for access corresponds to a real storage location (Physical Address, PA) that is PA1 and PA2 of two different storage devices, as shown in FIG. 9 Show. When the forwarding unit 663 learns from the address translator 763a that the access target is two distributed network devices, the PDU duplication-handover module (PDH) 763b in the forwarding unit 663 will follow the target terminal number provided by the address translator 763a For the purpose information, a plurality of elements are established in the dynamic conference connection comparison table (DSMT) 763c, and each element represents the workload of the work (Task) that the transfer unit 663 needs to complete independently with the storage terminal.

如图10所示,PDU复制接管模组(PDH)763b在建立元素的同时,会在各个元素后面的有效位(Vbit)作标记,让从储存端回传的iSCSI封包可以得知是不是多工作(multi-task)存取中的最后一个工作存取。例如,V代表不是最后一个工作存取,X代表是最后一个工作存取。As shown in Figure 10, when the PDU copy and takeover module (PDH) 763b creates elements, it will mark the valid bit (Vbit) behind each element, so that the iSCSI packet returned from the storage end can know whether there are many The last task access in a multi-task access. For example, V represents not the last working access and X represents the last working access.

图11进一步说明PDU复制接管模组(PDH)在封包的流向上,不仅扮演封包重制也扮演封包整合的角色。如图11所示,例如,当客户端的使用者发出一笔虚拟存取请求,而实体存取数据量(block)为A+B的封包时,其中数据量A是目标(Target)A上的数据,数据量B是在目标B上的数据,此时在转送单元663当中会对储存端的目标A与目标B产生个别的存取封包,从储存端回传的iSCSI数据协议数据单元(DataPDU)经过修改查表后,会回传到客户端的使用者,而iSCSI响应协议数据单元(Rsp PDU)则不会传回客户端的使用者,直到此存取所涉及的最后一个目标数据存取传输完毕以后(由动态会议连线对照表(DSMT)763c的元素的有效位Vbit得知),PDU复制接管模组(PDH)763b才会回传一个iSCSI响应协议数据单元(Rsp PDU)给客户端的使用者。从客户端的使用者发出的虚拟存取封包要求,经过回传的数据封包,到最后接收的响应协议数据单元,客户端的使用者完全感觉不出与一笔只存取一个储存端目标者(StorageTarget)的反应有任何的差异。所以,转送单元663中的PDU复制接管模组(PDH)763b实际上可扮演封包重制与整合的角色。FIG. 11 further illustrates that the PDU Duplicate Handover Module (PDH) not only plays the role of packet remanufacturing but also plays the role of packet integration in the flow direction of the packet. As shown in Figure 11, for example, when the user of the client sends a virtual access request, and the physical access data volume (block) is A+B packets, wherein the data volume A is on the target (Target) A Data, the data amount B is the data on the target B. At this time, the transfer unit 663 will generate individual access packets for the target A and target B at the storage end, and the iSCSI data protocol data unit (DataPDU) sent back from the storage end After modifying the lookup table, it will be sent back to the client user, but the iSCSI response protocol data unit (Rsp PDU) will not be sent back to the client user until the last target data access involved in this access is completed. Afterwards (known by the valid bit Vbit of the element of the dynamic conference connection comparison table (DSMT) 763c), the PDU replication takeover module (PDH) 763b just returns an iSCSI response protocol data unit (Rsp PDU) to the use of the client By. From the virtual access packet request sent by the client user, through the returned data packet, to the final received response protocol data unit, the client user does not feel the same as a storage target (StorageTarget) at all. ) for any difference in response. Therefore, the PDU Duplication Handling Module (PDH) 763b in the forwarding unit 663 can actually play the role of packet remaking and integration.

图12与图13的范例流程图分别说明当客户端发出READ/WRITE命令的要求时,PDU复制接管模组(PDH)763b如何实现,并且与本揭露中某些实施范例一致。The exemplary flow charts in FIG. 12 and FIG. 13 respectively illustrate how the PDU duplication handler module (PDH) 763b implements when the client sends a READ/WRITE command request, and are consistent with some implementation examples in this disclosure.

当客户端发出READ命令的要求时,转送单元663接收的iSCSI封包通过地址转换器763a后,得知此iSCSI封包真实的读取对象有几个,PDU复制接管模组(PDH)763b在动态会议连线对照表(DSMT)763c中建立对应的元素数目。从地址转换器763a对此封包转换后的描述子可得知数据分散在储存端的情况。随即如图12所示,在步骤1201中,PDU复制接管模组(PDH)763b产生数据读取的iSCSI封包至第一个储存端,并等待储存端响应iSCSI Data InPDU。收到此响应iSCSI Data In PDU后,修改栏位后直接导回使用者端,如步骤1202所示。重复接收DataIn PDU与导回使用者动作直到储存端响应iSCSIRsp PDU为止,结束对此储存端的数据要求,如步骤1203所示。接着产生下一个储存端的数据要求,重复上述的接收步骤,完成动态会议连线对照表(DSMT)763c中每个元素对应的接收项目,如步骤1204所示。直至对应的元素中有效位栏位显示出最后一笔储存端的对应,才将iSCSI Rsp PDU回传给使用者端,如步骤1205所示。When the client sends the request of the READ command, the iSCSI packet received by the forwarding unit 663 passes through the address converter 763a, and knows how many real read objects the iSCSI packet has, and the PDU copy takeover module (PDH) 763b is in the dynamic session The corresponding number of elements is established in the connection look-up table (DSMT) 763c. From the descriptor converted by the address translator 763a, it can be known that the data is scattered in the storage end. Then as shown in FIG. 12, in step 1201, the PDU duplication takeover module (PDH) 763b generates an iSCSI packet for data reading to the first storage terminal, and waits for the storage terminal to respond to iSCSI Data InPDU. After receiving the response iSCSI Data In PDU, modify the field and directly import it back to the client, as shown in step 1202. Repeat receiving the DataIn PDU and returning the user action until the storage end responds to the iSCSIRsp PDU, and end the data request to the storage end, as shown in step 1203. Then generate the data request of the next storage terminal, repeat the above receiving steps, and complete the receiving items corresponding to each element in the dynamic meeting connection table (DSMT) 763c, as shown in step 1204 . The iSCSI Rsp PDU is not sent back to the user until the valid bit field in the corresponding element shows the last correspondence of the storage terminal, as shown in step 1205.

当客户端发出WRITE命令的要求时,PDU复制接管模组(PDH)763b的动作类似于图12中READ的实现,不同的地方在于使用者发出WRITE的动作之后,要等待储存端响应准备传送(Ready to Transfer,R2T)的iSCSI封包,PDU复制接管模组(PDH)763b才可以开始发送iSCSI Data Out PDU到储存装置端。PDU复制接管模组(PDH)763b详细的实现动作如图13所示。When the client sends a WRITE command request, the action of the PDU copy takeover module (PDH) 763b is similar to the implementation of READ in Figure 12, the difference is that after the user sends the WRITE action, the user must wait for the storage terminal to respond and prepare to transmit ( Ready to Transfer (R2T) iSCSI packet, the PDU copy takeover module (PDH) 763b can start to send the iSCSI Data Out PDU to the storage device. The detailed implementation actions of the PDU copy takeover module (PDH) 763b are shown in FIG. 13 .

PDU复制接管模组(PDH)763b从使用者端接收横跨多个储存装置WRITE的命令要求后,通过地址转换器763a的指示,在动态会议连线对照表(DSMT)763c中填上数个储存端的项目,如步骤1301所示。再发出对第一个储存端的数据要求并等待接收回传的iSCSI R2T PDU,导回使用者端,如步骤1302所示。转送单元663开始接收iSCSI DataOut PDU,PDU复制接管模组(PDH)763b把接收的iSCSI封包依照动态会议连线对照表(DSMT)763c中所列的储存项目逐一导向真实的储存装置,如步骤1303所示。直到此笔WRITE命令所牵涉的储存装置都写入后,PDU复制接管模组(PDH)763b才响应一个iSCSIRspPDU到使用者端,如步骤1304所示。After the PDU copy and takeover module (PDH) 763b receives the command request across multiple storage devices WRITE from the user end, it fills in several numbers in the dynamic conference connection table (DSMT) 763c through the instruction of the address converter 763a. Items at the storage end, as shown in step 1301. Then send out the data request to the first storage terminal and wait to receive the iSCSI R2T PDU sent back, and guide it back to the user terminal, as shown in step 1302. The forwarding unit 663 starts to receive the iSCSI DataOut PDU, and the PDU copy and takeover module (PDH) 763b guides the received iSCSI packets to the real storage device one by one according to the storage items listed in the dynamic conference connection comparison table (DSMT) 763c, as in step 1303 shown. Until the storage devices involved in the WRITE command are all written, the PDU duplication and takeover module (PDH) 763b responds with an iSCSIRspPDU to the user end, as shown in step 1304 .

图14是一范例示意图,进一步说明地址转换器接口输入与输出的参数,并且与本揭露中某些实施范例一致。此范例中,地址转换器763a可从输入的虚拟存取信息,例如虚拟存取点(virtual disk ID)、虚拟存取地址(virtual block address)与存取数据长度(access length)等信息,转换出对应此虚拟存取所包含的实体储存装置数目(physical disknumber),与每个对应的实体储存装置的实体存取点(physical disk ID)、实体存取地址(physical blockaddress)、数据存取长度(access length)、实体储存装置所建立的iSCSI会议连线(iSCSI session)ID等。若对应的实体储存装置数目大于一个,则会有多组同样的实体存取参数。FIG. 14 is an example schematic diagram further illustrating the parameters of the input and output of the address converter interface, consistent with certain embodiments of the present disclosure. In this example, the address converter 763a can convert from the input virtual access information, such as information such as virtual access point (virtual disk ID), virtual access address (virtual block address) and access data length (access length). Output the number of physical storage devices (physical disknumber) corresponding to this virtual access, and the physical access point (physical disk ID), physical access address (physical block address), and data access length of each corresponding physical storage device (access length), the iSCSI session connection (iSCSI session) ID established by the physical storage device, etc. If the number of corresponding physical storage devices is more than one, there will be multiple groups of the same physical access parameters.

承上述,在虚拟储存网络交换器中,封包,如iSCSI封包,从使用者端转送到网络储存端的处理流程,可以用图15的范例流程来说明,并且与本揭露中某些实施范例一致。图15的范例中,网络连线方式和封包转送分别是以iSCSI session所使用的TCP连线和iSCSI封包转送来说明。Based on the above, in the virtual storage network switch, the processing flow of transferring packets, such as iSCSI packets, from the user end to the network storage end can be illustrated by the example flow shown in FIG. 15 , and is consistent with some implementation examples in this disclosure. In the example shown in Figure 15, the network connection method and packet forwarding are illustrated by the TCP connection and iSCSI packet forwarding used by the iSCSI session respectively.

参考图15,如步骤1510所示,从iSCSIsession所使用的TCP连线中接收的至少一个iSCSI封包里,撷取每个iSCSI封包的表头。如步骤1520所示,对于每个iSCSI封包,查看该封包的格式是否为合格转送的类型,例如iSCSI Cmnd、iSCSI DataOut、iSCSI DataIn、iSCSI Rsp、iSCSI R2T等封包类型,以决定此封包的流向。如步骤1530所示,对合格转送的封包,检查是否为iSCSI命令(Cmnd)类型的封包。若是,如步骤1540所示,将此iSCSI命令(Cmnd)类型的封包的相对应的虚拟存取地址信息转换成真实地址,并加入一新的对应关系于动态会议连线对照表(DSMT)中。例如,可从iSCSI session所使用的TCP连线中的信息得知此类型的封包的相对应的虚拟存取地址信息(如存取点、地址、长度等),将此虚拟存取地址信息转换成真实存取位置,并且加入如第八图的动态会议连线对照表(DSMT)。然后继续进行步骤1550。Referring to FIG. 15 , as shown in step 1510 , the header of each iSCSI packet is extracted from at least one iSCSI packet received in the TCP connection used by the iSCSI session. As shown in step 1520, for each iSCSI packet, check whether the format of the packet is a qualified forwarding type, such as packet types such as iSCSI Cmnd, iSCSI DataOut, iSCSI DataIn, iSCSI Rsp, iSCSI R2T, to determine the flow direction of the packet. As shown in step 1530, for the packets that are qualified to be forwarded, check whether they are packets of the iSCSI command (Cmnd) type. If so, as shown in step 1540, convert the virtual access address information corresponding to the packet of the iSCSI command (Cmnd) type into a real address, and add a new corresponding relationship in the dynamic conference connection table (DSMT) . For example, the corresponding virtual access address information (such as access point, address, length, etc.) of this type of packet can be known from the information in the TCP connection used by the iSCSI session, and the virtual access address information can be converted Into the real access location, and add the dynamic conference connection table (DSMT) as shown in the eighth figure. Then proceed to step 1550 .

若是iSCSI Cmnd以外的其它合格转送类型的封包,则如步骤1550所示,从动态会议连线对照表(DSMT)中,找出对应的目的端会议(session)ID与ITT栏位。例如,从动态会议连线对照表(DSMT)中,可以用来源封包的session ID与ITT栏位来找出对应的目的端会议(session)ID与ITT栏位。If it is a packet of other qualified transfer types other than iSCSI Cmnd, as shown in step 1550, find out the corresponding destination conference (session) ID and ITT field from the dynamic conference connection table (DSMT). For example, from the dynamic conference connection table (DSMT), the session ID and ITT field of the source packet can be used to find out the corresponding destination session (session) ID and ITT field.

在步骤1560中,根据此目的端会议(session)的连线状态现况,修改iSCSI封包表头,并传送修改后的iSCSI表头与来源端TCP连线的iSCSI负载数据(payload)。例如,可以根据此目的端会议(session)的连线状态现况,取代此封包的ITT栏位、CmdSN等栏位,再将修改过后的iSCSI封包表头连同停留在来源端TCP连线的iSCSI负载数据,依照目的端session所使用的TCP连线,将数据传送至目的端。In step 1560, modify the iSCSI packet header according to the connection state of the destination session, and transmit the modified iSCSI header and the iSCSI payload of the source TCP connection. For example, the ITT field, CmdSN and other fields of the packet can be replaced according to the connection status of the destination session (session), and then the modified iSCSI packet header together with the iSCSI that stays on the source TCP connection can be replaced. Payload data, according to the TCP connection used by the destination session, send the data to the destination.

如此,从交换器目标者(Switch Target)所接收到的iSCSI封包,至交换器启始者(Switch Initiator)要传送的iSCSI封包比较上来看,目标者(Target)所接收到的iSCSI封包格式,就会在启始者(Initiator)产生同样的iSCSI封包格式传送到目的端,也就是说,两者的iSCSI表头都具有相同的运算码(opcode),除了接收封包的目的地不同,不同的iSCSI session连线在iSCSI表头栏位上有些许的差异之外,其它在表头中描述数据的栏位都不会改变。In this way, from the iSCSI packet received by the switch target (Switch Target) to the iSCSI packet to be transmitted by the switch initiator (Switch Initiator), the format of the iSCSI packet received by the target (Target) is The initiator (Initiator) will generate the same iSCSI packet format and send it to the destination, that is to say, both iSCSI headers have the same operation code (opcode), except that the destination of the received packet is different. The iSCSI session connection has a slight difference in the iSCSI header fields, and the other fields describing the data in the header will not change.

因为交换器所接收到的数据经过虚拟化软件层找出真实网络存取位置后,数据会被完整的传送到目的端,所以从输(input)iSCSI封包至输出(output)iSCSI封包来看,本揭露前述的实施范例中,可以成功地从目标(Target)接收到的iSCSI封包,取代对应的栏位,产生适合于启始者(Initiator)传送的iSCSI封包,所以,可免去众多软件层之间多余的封包拆解与转换的动作。Because the data received by the switch will be completely transmitted to the destination after the virtualization software layer finds out the real network access location, so from the input (input) iSCSI packet to the output (output) iSCSI packet, In the above-mentioned implementation example of this disclosure, the iSCSI packet received from the target (Target) can be successfully replaced with the corresponding field, and an iSCSI packet suitable for the initiator (Initiator) can be generated, so many software layers can be dispensed with Between redundant packet disassembly and conversion actions.

本揭露的封包转送机制可以实现在单一处理器或是多处理器架构的系统。图16A与图16B分别是单一处理器(single-processor)与多处理器(multi-processor)系统上,iSCSI、封包转送机制和核心单元(Kerne1)的关系的范例示意图。The packet forwarding mechanism of the present disclosure can be implemented in a system with a single processor or a multi-processor architecture. FIG. 16A and FIG. 16B are schematic diagrams of examples of relationships among iSCSI, packet forwarding mechanism and kernel unit (Kerne1) on single-processor and multi-processor systems respectively.

参考图16A,在单一处理器系统上,此范例是将iSCSI与封包转送机制置于主机软件层中来执行。参图16B,在多处理器系统上,此范例是由主处理器用来运作核心单元与iSCSI软件层,而封包转送机制的部分,是由主处理器以外的微处理器(MicroEngine,ME)来执行,通过特殊的沟通接口(Core Component)让此微处理器上执行的程序可以跟主处理器上的程序达到数据交换。Referring to FIG. 16A, on a single processor system, this example implements iSCSI and packet forwarding mechanisms in the host software layer. Referring to Figure 16B, on a multi-processor system, in this example, the main processor is used to operate the core unit and the iSCSI software layer, and the part of the packet forwarding mechanism is implemented by a microprocessor (MicroEngine, ME) other than the main processor. Execution, through a special communication interface (Core Component), the program executed on the microprocessor can exchange data with the program on the main processor.

多处理器系统上的范例中,一种实施的方式是,可将本揭露的图7实施范例的封包转送装置的几个模组分散在独立的微处理器上执行,如图17的范例所示。每一个独立的微处理器有自己本地的(local)变量存取空间,  也有共享的静态随机存取内存(SRAM)存取位置,同时也有自己的程序计数器(programcounter),让每一个微处理器可以在同一时间同时运作。不同微处理器之间提供特殊的沟通管道,可由硬件架构特有的储存空间来达到微处理器之间数据的传递或信息通知。每一个模组独立化的好处是,可以实施在多处理器的系统架构上,让多个模组有同时运作的可能,并且减少主处理器的负载,可大幅提升iSCSI协议数据单元(PDU)在虚拟交换器(virtualizationswitch)上的传输效率。In the example of a multi-processor system, one way of implementation is that several modules of the packet forwarding device in the implementation example shown in FIG. Show. Each independent microprocessor has its own local (local) variable access space, and also has a shared static random access memory (SRAM) access location, and also has its own program counter (programcounter), so that each microprocessor can operate simultaneously at the same time. A special communication channel is provided between different microprocessors, and data transmission or information notification between microprocessors can be achieved through the storage space specific to the hardware architecture. The advantage of the independence of each module is that it can be implemented on a multi-processor system architecture, allowing multiple modules to operate simultaneously, and reducing the load on the main processor, which can greatly increase the iSCSI protocol data unit (PDU) Transmission efficiency on a virtualization switch.

所以,本揭露的封包转送机制可以有多种的实现方式,例如以软件实现、硬件实现、含单一处理器或多处理器的平台上实现等。Therefore, the packet forwarding mechanism disclosed in the present disclosure can be implemented in various ways, such as software implementation, hardware implementation, implementation on a platform including a single processor or multiple processors, and so on.

惟,以上所述的,仅为发明的实施例而已,当不能依此限定本发明实施的范围。即凡是依本发明权利要求范围所作的均等变化与修饰,皆应仍属本发明专利涵盖的范围内。However, what is described above is only an embodiment of the invention, and should not limit the implementation scope of the invention accordingly. That is, all equivalent changes and modifications made according to the claims of the present invention shall still fall within the scope covered by the patent of the present invention.

Claims (19)

1. the packet forwarding apparatus of a virtual storage network switch, in this virtual storage network switch, a target of front end and at least one user end are set up line, and one of rear end opens the beginning person and at least one network storage end is set up line, it is characterized in that, this packet forwarding apparatus comprises:
One header acquisition device receives at least one package on this line that builds on front end, and captures the gauge outfit data of this at least one package;
A distributor determines the flow direction of this received package; And
A transfer unit, between the front end of this built vertical line and rear end, do the action that package directly passes on, the virtual access address transition that comprises the package that this distributor reception is come becomes the action of true address, the corresponding relation of setting up client-side interface and storing end interface, and the action of transmitting the load data of carrying secretly on this line, wherein this transfer unit also comprises:
An address translator, the virtual access address transition that this distributor is received the package that comes becomes true address;
A dynamic conference line table of comparisons comprises at least one source package of a plurality of descriptions and passes on the element of corresponding relation of package that each element has client-side interface at least, stores end interface and three fields of significance bit;
A protocol Data Unit copies the adapter module, in this dynamic conference line table of comparisons, insert the content of corresponding element after, send out the gauge outfit that this distributor receives the package that comes;
A gauge outfit is adjusted device, processes the field of package gauge outfit and revises and transmit; And
A data Conveyer with resting on load data on the line and be used as the data of transmission, sends out.
2. the packet forwarding apparatus of virtual storage network switch as claimed in claim 1, it is characterized in that, the line of wherein setting up in this front end and the line of this rear end foundation are a kind of lines of world-wide web slim calculator system interface meeting of the host-host protocol that uses world-wide web slim calculator system interface, this target is a world-wide web slim calculator system interface target, and this Qi Shizhe is that a world-wide web slim calculator system interface opens the beginning.
3. the packet forwarding apparatus of virtual storage network switch as claimed in claim 1, it is characterized in that, wherein this client-side interface, store end interface and three fields of significance bit and record respectively the meeting line identification code of user's end and open beginning person work tap, store the meeting line of end and open envoy's work tap and corresponding to the access sequence relation of same virtual access.
4. the packet forwarding apparatus of virtual storage network switch as claimed in claim 1, it is characterized in that, wherein this header acquisition device produces the access descriptor of this at least one package gauge outfit, and each access descriptor comprises the information of corresponding line identification code and virtual access point.
5. the packet forwarding apparatus of virtual storage network switch as claimed in claim 1 is characterized in that, wherein this distributor is learnt the type of receiving package from the gauge outfit of this package, and determines that whether the package receive is the qualified package that passes on type.
6. the packet forwarding apparatus of virtual storage network switch as claimed in claim 1 is characterized in that, wherein this receives that the type of package is wherein a kind of packet type that order, data output, data input, answer and preparation transmit.
7. the packet forwarding apparatus of virtual storage network switch as claimed in claim 1, it is characterized in that, wherein this packet forwarding apparatus be with software realize, hardware is realized, contain the aforementioned wherein a kind of mode that realizes on single-processor or the platform of multiprocessor realizes.
8. the package forwarding method of a virtual storage network switch, in this virtual storage network switch, a target person of front end sets up line with at least one user's end, and one of rear end opens the beginning person and at least one network storage end is set up line, it is characterized in that, this package forwarding method comprises:
In at least one package that from this line that builds on front end, receives, capture the gauge outfit of each this package;
Whether the form of checking each this package is qualified type;
To the package of qualified type, check whether be the package of command type;
The words that are, convert the corresponding virtual access address information of the package of this command type to true address, and add a new corresponding relation in a dynamic conference line table of comparisons, wherein, the described dynamic conference line table of comparisons, comprise at least one source package of a plurality of descriptions and pass on the element of corresponding relation of package, each element has client-side interface at least, stores end interface and three fields of significance bit; Wherein this virtual access address information convert to true address comprise at least from the input virtual access point, virtual access address and access data length information, change out the physical storage device number that corresponding this virtual access comprises, the meeting line identification code that the entity access point of the physical storage device corresponding with each, entity access address, data access length, physical storage device are set up;
From this dynamic conference line table of comparisons, find out destination meeting identification code corresponding to each this package of qualified type and open beginning person work tap field; And
Revise the gauge outfit of each this package of qualified type, and send out amended gauge outfit and the load data that comes on the source line.
9. the package forwarding method of virtual storage network switch as claimed in claim 8, it is characterized in that, wherein this new corresponding relation comprises the meeting line identification code that the user holds and opens beginning person work tap, stores the meeting line of end and open envoy's work tap and corresponding to the information of the access sequence relation of same virtual access.
10. the package forwarding method of virtual storage network switch as claimed in claim 8 is characterized in that, wherein when the package of this command type be data read package the time, this package forwarding method also comprises:
The package that the generation data read stores end to first, and waits for that first stores the end response data and inputs protocol Data Unit;
After receiving this response data input protocol Data Unit, directly lead back corresponding user's end behind the modification field;
The repetition receive data inputs protocol Data Unit and this leads back the action of user's end until first stores the answer protocol Data Unit of end, and end is to the data demand of first storage end;
Produce the next data demand that stores end, repeat above-mentioned receiving step, finish reception project corresponding to each element in the dynamic conference line table of comparisons; And
Until the significance bit field demonstrates the correspondence that finishing touch stores end in the corresponding element, the answer protocol Data Unit that just this finishing touch is stored end returns to this corresponding user end.
11. the package forwarding method of virtual storage network switch as claimed in claim 8 is characterized in that, wherein when the package of this command type be data write package the time, this package forwarding method also comprises:
By address transition, in this dynamic conference line table of comparisons, fill out the project that at least one stores end;
Send the preparation transport protocol data unit that first is stored the data demand of end and waits for the reception passback, lead back corresponding user's end;
The package that receives according at least one the real storage device that leads one by one of listed save project in this dynamic conference line table of comparisons; And
Until after this writes storage device that order involves and all write, just respond one and reply protocol Data Unit to this corresponding user end.
12. the package forwarding method of virtual storage network switch as claimed in claim 8, it is characterized in that, wherein the line of the line set up of this front end and the foundation of this rear end is a kind of line of world-wide web slim calculator system interface meeting of the host-host protocol that uses world-wide web slim calculator system interface, this target is a world-wide web slim calculator system interface target, and this Qi Shizhe is that a world-wide web slim calculator system interface opens the beginning person.
13. the package forwarding method of virtual storage network switch as claimed in claim 12, it is characterized in that, wherein this dynamic conference line table of comparisons comprises an element at least, the lifetime of each this element starts from receiving the world-wide web slim calculator system interface bidding protocol data cell of client, finishes till receiving the world-wide web slim calculator system interface response protocol data cell that stores end.
14. the package forwarding method of virtual storage network switch as claimed in claim 13, it is characterized in that, wherein each this element exist during, be with one to one or the mode of a pair of a plurality of meetings is sent to the world-wide web slim calculator system interface storage device of destination from the protocol Data Unit of client.
15. the package forwarding method of virtual storage network switch as claimed in claim 8 is characterized in that, wherein the package of this qualified type is wherein one type the package that order, data output, data input, answer and preparation transmit.
16. the package forwarding method of virtual storage network switch as claimed in claim 8 is characterized in that, wherein is the connection state present situation according to this destination meeting, revises the gauge outfit of each this package of qualified type.
17. the package forwarding method of virtual storage network switch as claimed in claim 8, it is characterized in that, wherein the gauge outfit of each this package has a corresponding access descriptor, and each this access descriptor comprises the information of corresponding line identification code and virtual access point.
18. the package forwarding method of virtual storage network switch as claimed in claim 8 is characterized in that, wherein this package forwarding method is by carrying out in the host software layer on the single-processor.
19. the package forwarding method of virtual storage network switch as claimed in claim 8 is characterized in that, wherein the step of this package forwarding method is to carry out in primary processor at least one microprocessor in addition that is dispersed on the multiprocessor.
CN 200810001359 2008-01-09 2008-01-09 Packet forwarding device and method for virtual storage network switch Expired - Fee Related CN101483662B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200810001359 CN101483662B (en) 2008-01-09 2008-01-09 Packet forwarding device and method for virtual storage network switch

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810001359 CN101483662B (en) 2008-01-09 2008-01-09 Packet forwarding device and method for virtual storage network switch

Publications (2)

Publication Number Publication Date
CN101483662A CN101483662A (en) 2009-07-15
CN101483662B true CN101483662B (en) 2013-01-16

Family

ID=40880589

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810001359 Expired - Fee Related CN101483662B (en) 2008-01-09 2008-01-09 Packet forwarding device and method for virtual storage network switch

Country Status (1)

Country Link
CN (1) CN101483662B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102752366B (en) * 2012-05-30 2016-11-23 浪潮电子信息产业股份有限公司 A kind of ISCSI client storage accelerating module
CN108400968B (en) * 2018-01-16 2019-12-24 杭州电子科技大学 A method of implementing a mimic defense model distributor

Also Published As

Publication number Publication date
CN101483662A (en) 2009-07-15

Similar Documents

Publication Publication Date Title
US7808996B2 (en) Packet forwarding apparatus and method for virtualization switch
US6907457B2 (en) Architecture for access to embedded files using a SAN intermediate device
CN111277616B (en) A data transmission method and distributed shared memory system based on RDMA
US6859835B1 (en) Virtual port multiplexing
US20030145230A1 (en) System for exchanging data utilizing remote direct memory access
CN101335765B (en) Storage service middleware based on mobile caching
US20060013251A1 (en) Method, system, and program for enabling communication between nodes
TW200404430A (en) ISCSI driver to adapter interface protocol
US20110283002A1 (en) Selectively Communicating Data Of A Peripheral Device To Plural Sending Computers
JP5479709B2 (en) Server-processor hybrid system and method for processing data
Carns et al. BMI: A network abstraction layer for parallel I/O
US8396981B1 (en) Gateway for connecting storage clients and storage servers
CN105204779A (en) Double-control-based SCSI (Small Computer System Interface) TARGET access control method and device
CN116089331A (en) TTE network communication method based on RDMA
CN102843435A (en) Access and response method and access and response system of storing medium in cluster system
CN114885007B (en) Method and electronic device for real-time strong consistency session synchronization
CN101212490A (en) storage device controller
CN101483662B (en) Packet forwarding device and method for virtual storage network switch
CN107734037A (en) A kind of NAS clusters and data access method
US10798159B2 (en) Methods for managing workload throughput in a storage system and devices thereof
CN100353330C (en) Disk mirroring method based on IP network
CN106209933A (en) source host, migration framework and data migration method
CN100477664C (en) Storage System Based on Virtual Interface
CN111190837A (en) Information communication method, device and computer readable storage medium
Dalessandro et al. iSER storage target for object-based storage devices

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130116

CF01 Termination of patent right due to non-payment of annual fee