[發(fā)明專利]一種基于TOE網(wǎng)卡的Target端協(xié)議硬件解析方法有效
| 申請(qǐng)?zhí)枺?/td> | 201910368878.3 | 申請(qǐng)日: | 2019-05-05 |
| 公開(公告)號(hào): | CN110177087B | 公開(公告)日: | 2021-06-01 |
| 發(fā)明(設(shè)計(jì))人: | 楊威鋒;雷天語;云飛龍;鄢來明;賀顏 | 申請(qǐng)(專利權(quán))人: | 方一信息科技(上海)有限公司 |
| 主分類號(hào): | H04L29/06 | 分類號(hào): | H04L29/06 |
| 代理公司: | 上海海鈞知識(shí)產(chǎn)權(quán)代理事務(wù)所(特殊普通合伙) 31330 | 代理人: | 王睿 |
| 地址: | 200433 上海市楊*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 toe 網(wǎng)卡 target 協(xié)議 硬件 解析 方法 | ||
1.一種基于TOE網(wǎng)卡的Target端協(xié)議解析分流方法,其特征在于,包括:
步驟1,Initiator端通過TOE網(wǎng)卡向Target端發(fā)送ISCSI PDU,TOE網(wǎng)卡的FPGA的PhyCore和TOE IP完成以太網(wǎng)物理層、MAC層以及TCP/IP層的協(xié)議解析,并保留TCP Payload,F(xiàn)PGA將對(duì)TCP Payload數(shù)據(jù)流進(jìn)行PDU幀界定,找出ISCSI PDU中的BHS字段和可能存在的AHS字段與數(shù)據(jù)段;
步驟2,BHS字段通過CQ包入PCIE TLP寫入Host DDR;將ISCSI PDU剩余信息的AHS字段和數(shù)據(jù)段通過EMIF寫入TOE網(wǎng)卡DDR;
步驟3,TOE網(wǎng)卡的驅(qū)動(dòng)層從Host DDR獲取BHS字段,根據(jù)BHS字段中的Opcode和Length進(jìn)行操作,包括:首先驅(qū)動(dòng)層判斷Opcode是否為命令類型,如果否,則驅(qū)動(dòng)層將BHS字段傳送至CPU,CPU根據(jù)Login協(xié)商信息以及當(dāng)前Write Command內(nèi)容,計(jì)算出當(dāng)前數(shù)據(jù)段存儲(chǔ)在Flash中對(duì)應(yīng)的地址;然后發(fā)送P2P傳送指令至TOE網(wǎng)卡FPGA PCIE DMA引擎,TOE網(wǎng)卡的DMA將TOE網(wǎng)卡DDR的數(shù)據(jù)段傳送至TOE網(wǎng)卡PCIE SSD的Bar2空間,并存入PCIE SSD的DDR中;
如果是,則驅(qū)動(dòng)層根據(jù)Length判斷ISCSI PDU長度是否大于48字節(jié),在判斷ISCSI PDU長度是否大于48字節(jié)的過程中,如果判斷為是,則驅(qū)動(dòng)層實(shí)施DMA操作將寫入TOE網(wǎng)卡DDR中的ISCSI PDU剩余信息搬運(yùn)至Host DDR,以供CPU處理;如果判斷為否,則應(yīng)用層將Host DDR中已獲得的BHS信息發(fā)送給CPU處理。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述TOE網(wǎng)卡DDR的數(shù)據(jù)段通過P2P傳送至TOE網(wǎng)卡PCIE SSD的Bar2空間。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述Target端的FPGA判斷所發(fā)送的ISCSIPDU是否為正確的ISCSI PDU,如果不正確,發(fā)送錯(cuò)誤信息給Target端的驅(qū)動(dòng)層,驅(qū)動(dòng)層發(fā)送重置指令到指定的session控制器,Initiator端重新發(fā)送ISCSI PDU;如果判斷為正確,則解析ISCSI PDU并保留TCP Payload。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述Target端的FPGA根據(jù)協(xié)議解析的結(jié)果,判斷ISCSI PDU是否正確。
5.一種通訊設(shè)備,其特征在于,包括:
ISCSI PDU接收模塊,用于接收Initiator端發(fā)送的第一ISCSI PDU;
ISCSI PDU判斷模塊,用于判斷Initiator端發(fā)送的第一ISCSI PDU是否正確;
ISCSI PDU解析模塊,用于解析第一ISCSI PDU并保留TCP Payload,并將TCP Payload數(shù)據(jù)流進(jìn)行PDU幀界定,找出第一ISCSI PDU中的BHS字段、可能存在的AHS字段和數(shù)據(jù)段;
TOE網(wǎng)卡DDR,用于寫入AHS字段和數(shù)據(jù)段;
Host DDR,用于寫入PCIE TLP,其中,BHS字段通過CQ包入PCIE TLP中;
CPU,用于接收BHS字段和可能存在的AHS字段,執(zhí)行Initiator端發(fā)送的請(qǐng)求,并將執(zhí)行請(qǐng)求所產(chǎn)生的相應(yīng)數(shù)據(jù)封裝成第二ISCSI PDU,發(fā)送給Host DDR;
Length判斷模塊,用于判斷第一ISCSI PDU長度是否大于48字節(jié);
PCIE DMA模塊,在第一ISCSI PDU長度大于48字節(jié)時(shí),將TOE網(wǎng)卡DDR中的信息搬運(yùn)至Host DDR;將Host DDR中的第二ISCSI PDU發(fā)送給TOE網(wǎng)卡DDR;
DDR讀取模塊,讀取TOE網(wǎng)卡DDR中的第二ISCSI PDU發(fā)送給Initiator端;
所述通訊設(shè)備還包括:
Opcode指令判斷模塊,判斷Opcode是否為命令類型;
其中,在判斷Opcode為命令類型時(shí),Length判斷模塊判斷第一ISCSI PDU長度是否大于48字節(jié);
所述通訊設(shè)備還包括:
Flash地址計(jì)算模塊,在判斷Opcode不為命令類型時(shí),應(yīng)用層根據(jù)Login協(xié)商信息以及當(dāng)前寫命令的內(nèi)容,計(jì)算當(dāng)前數(shù)據(jù)段存儲(chǔ)在Flash中對(duì)應(yīng)的地址;
PCIE SSD,PCIE SSD的DDR用于接收并存儲(chǔ)TOE網(wǎng)卡DDR中的數(shù)據(jù)段;
所述通訊設(shè)備還包括:PCIE DMA引擎,用于通過P2P將TOE網(wǎng)卡DDR中的數(shù)據(jù)段傳輸給PCIE SSD DDR;
其中,TOE網(wǎng)卡的驅(qū)動(dòng)層從Host DDR獲取BHS字段,根據(jù)BHS字段中的Opcode和Length進(jìn)行操作,包括:首先驅(qū)動(dòng)層判斷Opcode是否為命令類型,如果否,則驅(qū)動(dòng)層將BHS字段傳送至CPU,CPU根據(jù)Login協(xié)商信息以及當(dāng)前Write Command內(nèi)容,計(jì)算出當(dāng)前數(shù)據(jù)段的存儲(chǔ)在Flash中對(duì)應(yīng)的地址;然后發(fā)送P2P傳送指令至TOE網(wǎng)卡FPGA PCIE DMA引擎,TOE網(wǎng)卡的DMA將TOE網(wǎng)卡DDR的數(shù)據(jù)段傳送至TOE網(wǎng)卡PCIE SSD的Bar2空間,并存入PCIE SSD的DDR中;
如果是,則驅(qū)動(dòng)層根據(jù)Length判斷第一ISCSI PDU長度是否大于48字節(jié),在判斷第一ISCSI PDU長度是否大于48字節(jié)的過程中,如果判斷為是,則驅(qū)動(dòng)層實(shí)施DMA操作將寫入TOE網(wǎng)卡DDR中的PDU剩余信息搬運(yùn)至Host DDR,以供CPU處理;如果判斷為否,則應(yīng)用層將HostDDR中已獲得的BHS信息發(fā)送給CPU處理。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于方一信息科技(上海)有限公司,未經(jīng)方一信息科技(上海)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910368878.3/1.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 通信系統(tǒng)中控制數(shù)據(jù)傳輸?shù)姆椒ê拖到y(tǒng)
- 半卸載方法、設(shè)備及系統(tǒng)
- 一種報(bào)文處理方法、裝置和設(shè)備
- TCP/IP卸載引擎中的多通道處理方法
- 擁塞控制方法及相關(guān)設(shè)備
- 處理TCP報(bào)文的方法、TOE組件以及網(wǎng)絡(luò)設(shè)備
- 一種基于TOE網(wǎng)卡的Target端協(xié)議硬件解析方法
- 一種基于FPGA的TOE數(shù)據(jù)拼接系統(tǒng)及方法
- 降低基于TOE的高頻交易終端接收通道傳輸延遲的方法
- 基于大容量內(nèi)存的高并發(fā)協(xié)議棧卸載方法、設(shè)備、介質(zhì)
- 可選擇多網(wǎng)絡(luò)手機(jī)
- 多操作系統(tǒng)中網(wǎng)卡之間的切換方法和系統(tǒng)
- 一種網(wǎng)卡配置的方法及裝置
- 一種多網(wǎng)卡自動(dòng)聚合并監(jiān)控報(bào)警方法及系統(tǒng)
- 一種報(bào)文轉(zhuǎn)發(fā)方法、系統(tǒng)及網(wǎng)卡和存儲(chǔ)介質(zhì)
- 網(wǎng)卡性能統(tǒng)計(jì)方法以及裝置
- 網(wǎng)卡處理方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種網(wǎng)絡(luò)配置方法、裝置、設(shè)備及可讀存儲(chǔ)介質(zhì)
- 基于Kylin系統(tǒng)的網(wǎng)卡識(shí)別處理方法、系統(tǒng)、終端及存儲(chǔ)介質(zhì)
- 一種網(wǎng)卡冗余系統(tǒng)及服務(wù)器
- 一種多存儲(chǔ)陣列負(fù)載均衡的方法和設(shè)備
- 切換方法和設(shè)備
- 一種TCP連接建立的方法和設(shè)備
- 一種TDS外環(huán)功控信噪比更新的方法及裝置
- 一種Nand Flash控制器及方法
- 一種基于xPC?Target多機(jī)系統(tǒng)PSS的測試設(shè)備
- 一種基于雙控存儲(chǔ)的ISCSItarget冗余控制方法和系統(tǒng)
- 一種基于分布式文件系統(tǒng)的ISCSI服務(wù)實(shí)現(xiàn)方法和裝置
- 一種系統(tǒng)間消息流傳輸?shù)木彌_區(qū)控制方法
- 一種tgt的iSCSI-target配置全局化的管理方法





