IXP2400 -based Research and Implementation of the iSCSI Initiator
|School||University of Electronic Science and Technology|
|Keywords||SAN Initiator HBA Network Processor iSCSI|
With the dramatic increase of enterprise data, the turnaround of business patternand regarding data as the core value of a group, traditional methods of storage fail tosatisfy with the new needs and storage area network technology is becoming a newfocus in IT field, iSCSI is a new networking storage technique,which integrates IPnetwork and storage technology and inherits the advantages of the two of them. It hasincomparable characteristics in constructing unhomogeneous storage network than otherdata accessing protocol. Implementing storage over IP brings economy and conveniencewhereas it also raises issues such as performance and reliability.In this lecture, a method that using network processor to process the iSCSI protocolis put forward and an iSCSI initiator based on Intel’s IXP2400 network processor isproduced, iSCSI can be implemented with the Initiator/Target model, currently, threeinitiator implementation approaches can be used. (1) Pure software approach: It uses astandard NIC and software running on the host to complete the function of the iSCSIprotocol and OS-based TCP/IP protocol stack. (2) The TOE (TCP/IP Offload Engine)approach: The TCP/IP offload engine is an intelligent NIC running a TCP/IP stack on aplug-in board with the iSCSI protocol stack running on the host computer. (3) TheHBA(Host Bus Adapter) approach: iSCSI HBA is a host bus adapter with a processorrunning the iSCSI stack including TCP/IP on a plug-in board. The iSCSI HBA offloadsboth the iSCSI and the TCP/IP processing from the host CPU to a processor or protocolengine chip on the plug in board, so it demands the least from the host CPU. The thirdapproach is adopted in our project using ENP-2611 board as the plug-in board. Anembedded Linux operating system is running on XScale processor to provide TCP/IPfunction and process iSCSI protocol. Microengines’ CRC unit is used to perform iSCSICRC computing, which can improve performance of the iSCSI HBA system.Firstly, this paper studies the architecture of iSCSI network storage. We analysesiSCSI at length from several facts, such as session management, naming and discovery,PDU, error recovery.Then,the detail of the IXP2400 network processor-based board,ENP-2611 and IXA SDK is introduced.Finally, design and implementation specification ofiSCSI HBA is given.