簡易檢索 / 詳目顯示

研究生: 鍾逸呈
Chung, Yi-Cheng
論文名稱: iSCSI HBA Initiator 端儲存協定處理架構之設計與實作
Design and Implementation of the iSCSI Storage Protocol on HBA Initiator
指導教授: 陳中和
Chen, Chung-Ho
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 電腦與通信工程研究所
Institute of Computer & Communication Engineering
論文出版年: 2005
畢業學年度: 93
語文別: 英文
論文頁數: 70
中文關鍵詞: iSCSI硬體化軟體硬體化iSCSI效能分析高平行度CRC計算器
外文關鍵詞: translation methodology, performance analysis of iSCSI software, C2HDL, CRC-calculation-on-the-fly
相關次數: 點閱:67下載:2
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  •   為了實現新興起的Internet SCSI(iSCSI)網路儲存傳輸協定,在高速的網路傳輸率上保持高度的資料輸出量。在本研究報告中,我們針對iSCSI Host Bus Adapter (iSCSI HBA)的Initiator端提出一硬體加速架構,其目標為提高處理iSCSI協定的能力。首先,我們分析UNH的iSCSI開放源碼,了解軟體iSCSI 的實現方法、使用的函式呼叫流程、與軟體處理效能。在Initiator 的架構設計方面,我們提出了一套轉換規則,來將軟體的函式功能,實現成對應的硬體處理單元。依據提出的理論,我們設計了一傳輸模組與一接收模組,分別用來取代系統中處理iSCSI傳送與接收的執行緒(tx_thread & rx_thread)。程序中所產生的資料結構,皆以一Descriptor RAM來維持模組之間的資料傳遞。架構上另外引用了多個Lookup tables,以實現快速查表的方式,來提升封包傳遞與接收的檢驗速度。藉著未來iSCSI驅動程式與Command Management Module的溝通,可將系統引發的SCSI Command 轉換成iSCSI協定中傳輸的資料封包,以利傳輸模組與接收模組使用。另外我們已經實作完成一可平行處理32bit資料檢查和(parallel 32 bit CRC)的模組,同時可運算資料量為以byte為單位的資料輸入。透過CRC-calculation-on-the-fly的機制,可在資料傳遞的同時,完成CRC檢查和的運算,以免除以往執行CRC運算所需讀取資料步驟的額外負擔。

      In order to implement the internet SCSI (iSCSI) protocol which is a newly risen internet storage protocol, furthermore, keep the data throughput at a higher level over the increasing speed of Ethernet, in this thesis, we propose an accelerating architecture based on hardware implementation for the INITIATOR subsystem of iSCSI Host Bus Adapter (iSCSI HBA), for the purpose to improve the performance of the iSCSI protocol. First of all, by analyzing the UNH-iSCSI open source code, we have found out the performance of the software implementation and the flows of function calls. We propose a general methodology to transform the software implementation into hardware implementation. According to this methodology, we design a TX module and a RX module to take the role of transmission (tx_thread) and reception (rx_thread) in the iSCSI software system. A Descriptor RAM is used to hold the data structures in the nexus of initiator and target, and several Lookup tables are used to enhance the speed of examination of the incoming packets. By the communication between iSCSI driver and Command Management Module, the SCSI command issued by the SCSI Mid-level is able to be transformed into iSCSI Protocol Data Unit (PDU) for transmission. On the other aspect, we have implemented a parallel 32-bit CRC Generator for iSCSI usage. This CRC unit can also handle with data input measured in byte unit. Using CRC-calculation-on-the-fly, we could get rid of the overhead of CRC calculation while generating the data checksum.

    Table of Contents 中文摘要 I ABSTRACT II CHAPTER 1 INTRODUCTION 1 1.1 MOTIVATION 2 1.2 GOALS OF THE THESIS 2 1.3 CONTRIBUTION OF THE THESIS 2 1.4 OVERVIEW OF THE THESIS 2 1.5 SUMMARY 2 CHAPTER 2 BACKGROUND 3 2.1 OVERVIEW 3 2.2 SPECIFICATIONS OF THE ISCSI PROTOCOL 4 2.2.1 iSCSI Protocol Data Unit format 4 2.2.2 Description of Important fields in an iSCSI PDU 6 2.2.3 Steps in iSCSI Protocol to support I/O operation 8 2.3 PROCEDURES FOR ISCSI DRIVER AND ISCSI ACCELERATOR 10 2.4 RELATED WORKS 11 2.5 ANALYSIS OF ISCSI INITIATOR SOFTWARE IMPLEMENTATION 11 2.5.1 iSCSI software installation 11 2.5.2 Flow of the function call 11 2.5.2.1 System-based overview 12 2.5.2.2 Code-based overview 13 2.5.3 Performance analysis 18 CHAPTER 3 ARCHITECTURE 21 3.1 OVERALL ARCHITECTURE 21 3.2 METHODOLOGY OF SUBMODULE IMPLEMENTATION 22 3.3 BUS ENVIRONMENT COMPONENTS 25 3.3.1 Step incrementor 26 3.3.2 Submodule controller 26 3.3.3 Register bank 27 3.3.4 Error register 28 3.4 DESCRIPTOR RAM 28 3.4.1 Scsi_Cmnd descriptor 29 3.4.2 Tx descriptor 31 3.4.3 Rx descriptor 32 3.5 THE COMMAND MANAGEMENT MODULE (CMM) 32 3.5.1 Qcmnd module (block 1 in Fig 3.18) 36 3.5.2 SC2iSC module (block 2 in Fig 3.18) 36 3.5.3 Setup_cmnd module (block 3 in Fig 3.18) 37 3.5.3.1 Set_Hdr_iov module (block 4 in Fig 3.18) 37 3.5.4 Attach_pending_cmnd module (block 5 in Fig 3.18) 37 3.5.5 Create icmnd (block 6 in Fig 3.18) 38 3.6 THE TRANSMIT (TX) MODULE (BLOCK 7 IN FIG 3.26) 38 3.6.1.1 Parallel 32-bits CRC module (block 8 in Fig 3.26) 42 3.6.2 Ready2Xmit module (block 9 in Fig 3.26) 47 3.6.2.1 Setup_dataoutPDU module (block 10 in Fig 3.26) 48 3.6.3 Do_tx_send module (block 11 in Fig 3.26) 49 3.6.4 Build_write_cmnd module (block 12 in Fig 3.26) 49 3.7 THE RECEIVE (RX) MODULE (BLOCK 13 IN FIG 3.37) 50 3.7.1 Recv_PDU_Hdr module (block 14 in Fig 3.37) 53 3.7.1.1 Recv_iovector (block 15 in Fig 3.37) 54 3.7.2 CaUCmdSn module (block 16 in Fig 3.37) 54 3.7.3 Rx_r2t module (block 17 in Fig 3.37) 54 3.7.3.1 Rx_pack_cookie (block 18 in Fig 3.37) 55 3.7.4 Rx_data module (block 19 in Fig 3.37) 55 3.7.4.1 Recv_data_in_data (block 20 in Fig 3.37) 56 3.7.5 Rx_rsp module (block 21 in Fig 3.37) 56 3.7.5.1 Do_SCSI_Rsp (block 22 in Fig 3.37) 57 3.8 LOOKUP TABLES 57 CHAPTER 4 VERIFICATION AND PERFORMANCE EVALUATION 59 4.1 FUNCTIONAL VERIFICATION 59 4.2 PERFORMANCE OF ACCELERATOR V.S. SOFTWARE 60 4.2.1 Software installation environment 60 4.2.2 Hardware synthesis environment 61 4.2.3 Performance evaluation 63 CHAPTER 5 CONCLUSION AND FUTURE WORK 67 5.1 CONCLUSION 67 5.2 FUTURE WORK 67 Appendix A: Autobiography Appendix B: Thesis in English Version

    Reference
    [1] Anshul Chadda and Ro D. Russell,“Design, Implementation, and Performance Analysis of Session Labertyer Protocols for SCSI over TCP/IP,” tech. report TR 01-06, August 2001.
    [2] William Todd Boyd, Douglas J. Joseph, Michael Anthony Ko, and Renato John Recio, “ISCSI Driver To Adapter Interface Protocol,” US Patent 20040049603
    [3] Shay Mizarchi, Rafi Shalom, and Ron Grinfeld, “ISCSI Receiver Implementation,” US patent 20030058870
    [4] Kalman Z. Meth and Julian Satran, “Design of the iSCSI Protocol,” Proceedings of the 20th IEEE/11th NASA Goddard Conference on Mass Storage Systems and Technologies (MSS’03).
    [5] Mallikarjun Chadalapaka, “iscsi state diagrams,” Networked Storage Architecture, NSSO, Rev 0.7, Jan 07, 2002.
    [6] Julian Satran, “Internet Draft,” available online at http://www.ietf.org/proceedings/03mar/I-D/draft-ietf-ips-iscsi-20.txt
    [7] Documents in UNH-iSCSI software code.
    [8] John L. Hufferd, “iSCSI The Univeral Storage Connection,” Addison-Wesley, ISBN 0-202-78419-X
    [9] R.J GLAISE and X. JACQUART, “Fast CRC calculation,” 1993 IEEE
    [10] Stephen Aiken, Dark Grunwald, Andrew R. Plszkun, and Jesse Willeke, “A Performance Analysis of the iSCSI Protocol,” Proceedings of the 20 th IEEE/11 the NASA Goddard Conference on Mass Storage Systems and Technologies (MMS’03)
    [11] Dimitrios Xinidis, Angelos Bilas, and Michail D. Flouris, “Performance Evaluation of Commodity iSCSI-based Storage Systems,” Proceedings of the 22nd IEEE/ 13th NASA Goddard Conference on Mass Storage Systems and Technologies(MSST’05)

    下載圖示 校內:立即公開
    校外:2005-08-24公開
    QR CODE