国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      網(wǎng)際網(wǎng)絡(luò)小型電腦界面的數(shù)據(jù)單元的解析方法

      文檔序號(hào):7768842閱讀:171來(lái)源:國(guó)知局
      專利名稱:網(wǎng)際網(wǎng)絡(luò)小型電腦界面的數(shù)據(jù)單元的解析方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種數(shù)據(jù)單元的解析方法,特別有關(guān)于一種網(wǎng)際網(wǎng)絡(luò)小型電腦界面的數(shù)據(jù)單元的解析方法。
      背景技術(shù)
      網(wǎng)際網(wǎng)絡(luò)小型電腦系統(tǒng)界面(internet Small Computer Systems Interface, 簡(jiǎn)稱iSCSI)為網(wǎng)際網(wǎng)絡(luò)工程任務(wù)小組(Internet Engineering Task Force, IETF)提出的通訊協(xié)議標(biāo)準(zhǔn)。iSCSI 通過(guò)(Transmission Control Protocol/Internet Protocol, TCP/IP)通訊協(xié)議連接網(wǎng)絡(luò)的多臺(tái)電腦主機(jī),以串聯(lián)多個(gè)分散于網(wǎng)際網(wǎng)絡(luò)的儲(chǔ)存設(shè)備130 成為虛擬的網(wǎng)絡(luò)儲(chǔ)存設(shè)備。使用者存取此網(wǎng)絡(luò)儲(chǔ)存設(shè)備,就如同存取本機(jī)硬盤(pán)裝置。相較于傳統(tǒng)小型電腦系統(tǒng)界面(Small Computer Systemshterface,簡(jiǎn)稱SCSI)及冗余磁盤(pán)陣列(Redundant Array of Independent Disks, RAID)技術(shù),iSCSI 技術(shù)兼具 SCSI 的高速傳輸能力,卻又不受限于儲(chǔ)存設(shè)備的擴(kuò)充/備分能力,可無(wú)限制擴(kuò)充虛擬儲(chǔ)存設(shè)備的容量。此虛擬儲(chǔ)存設(shè)備稱為儲(chǔ)存區(qū)域網(wǎng)絡(luò)(Storage Area Network, SAN),主要由發(fā)起端 (Initiator) 110及目標(biāo)端120 (target)構(gòu)成。發(fā)起端110傳送存取請(qǐng)求與目標(biāo)端120建立通話連線(Session)。請(qǐng)參考“圖1”所示,其為公知技術(shù)的存取請(qǐng)求與數(shù)據(jù)單元的傳送示意圖。在網(wǎng)際網(wǎng)絡(luò)小型電腦系統(tǒng)界面協(xié)議中定義了很多種封裝數(shù)據(jù)單元的格式,但其中大部是用于協(xié)議管理和錯(cuò)誤恢復(fù)使用。真正涉及到網(wǎng)際網(wǎng)絡(luò)小型電腦系統(tǒng)界面的數(shù)據(jù)傳輸只有SCSI指令負(fù)載單元(SCSI CMD PDU)、數(shù)據(jù)輸入單元(Data In PDU)、數(shù)據(jù)輸出單元 (Data Out PDU)、準(zhǔn)備傳送數(shù)據(jù)單元(Ready toTransfer PDU)的格式。但是經(jīng)過(guò)每一層的數(shù)據(jù)單元的解析需要耗費(fèi)許多的時(shí)間。因此如何加快數(shù)據(jù)單元的解析處理,將有效的提高整體的存取效率。

      發(fā)明內(nèi)容
      鑒于以上的問(wèn)題,本發(fā)明所要解決的技術(shù)問(wèn)題在于提供一種網(wǎng)際網(wǎng)絡(luò)小型電腦界面的數(shù)據(jù)單元的解析方法,用以處理網(wǎng)際網(wǎng)絡(luò)小型電腦界面的數(shù)據(jù)寫(xiě)入請(qǐng)求。本發(fā)明所公開(kāi)的網(wǎng)際網(wǎng)絡(luò)小型電腦界面的數(shù)據(jù)單元的解析方法包括以下步驟 建立發(fā)起端與目標(biāo)端的通訊,并將數(shù)據(jù)寫(xiě)入請(qǐng)求發(fā)送至目標(biāo)端;目標(biāo)端的區(qū)段重組引擎 (Segment Reassemble Engine)根據(jù)數(shù)據(jù)寫(xiě)入請(qǐng)求產(chǎn)生準(zhǔn)備傳送數(shù)據(jù)單元(R2T PDU);目標(biāo)端將準(zhǔn)備傳送數(shù)據(jù)單元傳送至發(fā)起端;發(fā)起端根據(jù)準(zhǔn)備傳送數(shù)據(jù)單元產(chǎn)生多組數(shù)據(jù)輸出單元,在每一數(shù)據(jù)輸出單元的目標(biāo)端傳送標(biāo)簽(target transfer tag)寫(xiě)入分散/集中區(qū)塊 (scatter/gather block);將數(shù)據(jù)輸出單元傳送至目標(biāo)端;目標(biāo)端根據(jù)目標(biāo)端傳送標(biāo)簽查找出相應(yīng)的分散/集中區(qū)塊,并從分散/集中區(qū)塊里取得主機(jī)緩存(host buffer);目標(biāo)端執(zhí)行直接存取存儲(chǔ)器命令,用以將目標(biāo)端所接收到的負(fù)載內(nèi)容直接寫(xiě)入主機(jī)緩存中;當(dāng)目標(biāo)端完成寫(xiě)入請(qǐng)求后,目標(biāo)端向發(fā)起端發(fā)出完成回應(yīng)單元(RSP PDU)。
      本發(fā)明提供了一種網(wǎng)際網(wǎng)絡(luò)小型電腦界面的數(shù)據(jù)單元的解析方法,本發(fā)明對(duì)目標(biāo)端所傳送的數(shù)據(jù)數(shù)據(jù)包的內(nèi)容進(jìn)行調(diào)整,使得整體系統(tǒng)可以提高寫(xiě)入時(shí)的存取速度。有關(guān)本發(fā)明的特征與實(shí)作,茲配合附圖作最佳實(shí)施例詳細(xì)說(shuō)明如下。


      圖1為公知技術(shù)的存取請(qǐng)求與數(shù)據(jù)單元的傳送示意圖;圖2為本發(fā)明的架構(gòu)示意圖;圖3為本發(fā)明的運(yùn)作流程示意圖;圖4為本發(fā)明的查找分散/集中列表的運(yùn)作示意圖。其中,附圖標(biāo)記110發(fā)起端120目標(biāo)端130儲(chǔ)存設(shè)備 210發(fā)起端220目標(biāo)端230儲(chǔ)存設(shè)備240主機(jī)總線配接器
      具體實(shí)施例方式當(dāng)發(fā)起端對(duì)目標(biāo)端進(jìn)行寫(xiě)入操作時(shí),目標(biāo)端會(huì)發(fā)出小型電腦界面寫(xiě)入指令負(fù)載單元(SCSI Write CMD Protocol Data Unit(PDU))與數(shù)據(jù)輸出單元(Data OutPDU)。本發(fā)明為能對(duì)目標(biāo)端加速其寫(xiě)入的操作,所以對(duì)數(shù)據(jù)輸出單元提出了以下的操作。請(qǐng)參考“圖2” 所示,其為本發(fā)明的架構(gòu)示意圖。在網(wǎng)際網(wǎng)絡(luò)小型電腦界面的網(wǎng)絡(luò)數(shù)據(jù)包的處理系統(tǒng)200 包括有發(fā)起端210、目標(biāo)端220與儲(chǔ)存設(shè)備230。發(fā)起端210用以向目標(biāo)端220發(fā)出存取請(qǐng)求。在發(fā)起端210中另包括一主機(jī)總線配接器MO (Host Bus Adapter,簡(jiǎn)稱HBA)。主機(jī)總線配接器240的主要作用是用來(lái)對(duì)TCP/ IP數(shù)據(jù)包與iSCSI數(shù)據(jù)包進(jìn)行數(shù)據(jù)包解析的動(dòng)作。儲(chǔ)存設(shè)備230用以儲(chǔ)存目標(biāo)信息。目標(biāo)端220接收來(lái)自發(fā)起端210的存取請(qǐng)求,目標(biāo)端220根據(jù)存取請(qǐng)求用以存取儲(chǔ)存設(shè)備230 中的目標(biāo)信息并將目標(biāo)信息傳送至發(fā)起端210。其中,目標(biāo)端220、發(fā)起端210與儲(chǔ)存設(shè)備 230間可以通過(guò)網(wǎng)際網(wǎng)絡(luò)(internet)、內(nèi)部網(wǎng)絡(luò)(intranet)或纜線的方式來(lái)相互傳遞上述的各項(xiàng)數(shù)據(jù)單元。請(qǐng)參考“圖3”所示,其為本發(fā)明的運(yùn)作流程示意圖。本發(fā)明的解析方法包括以下步驟步驟S310 建立發(fā)起端與目標(biāo)端的通訊,并將數(shù)據(jù)寫(xiě)入請(qǐng)求發(fā)送至目標(biāo)端;步驟S320 目標(biāo)端的區(qū)段重組引擎(kgment Reassemble Engine)根據(jù)數(shù)據(jù)寫(xiě)入請(qǐng)求產(chǎn)生準(zhǔn)備傳送數(shù)據(jù)單元(R2T PDU);步驟S330 目標(biāo)端將準(zhǔn)備傳送數(shù)據(jù)單元傳送至發(fā)起端;步驟S340 發(fā)起端根據(jù)準(zhǔn)備傳送數(shù)據(jù)單元產(chǎn)生多組數(shù)據(jù)輸出單元,在每一數(shù)據(jù)輸出單元的目標(biāo)端傳送標(biāo)簽(target transfer tag)寫(xiě)入分散/集中區(qū)塊(scatter/gather block);步驟S350 將數(shù)據(jù)輸出單元傳送至目標(biāo)端;步驟S360 目標(biāo)端根據(jù)目標(biāo)端傳送標(biāo)簽查找出相應(yīng)的分散/集中區(qū)塊,并從分散/集中區(qū)塊里取得主機(jī)緩存(host buffer);步驟S370 目標(biāo)端執(zhí)行直接存取存儲(chǔ)器(Direct Memory Access, DMA)命令,用以將目標(biāo)端所接收到的負(fù)載內(nèi)容直接寫(xiě)入主機(jī)緩存中;以及步驟S380:當(dāng)目標(biāo)端完成寫(xiě)入請(qǐng)求后,目標(biāo)端向發(fā)起端發(fā)出完成回應(yīng)單元(RSP PDU)。一開(kāi)始,建立發(fā)起端與目標(biāo)端的通訊,用以將數(shù)據(jù)寫(xiě)入請(qǐng)求發(fā)送至目標(biāo)端。在 iSCSI的架構(gòu)底下,發(fā)起端首先會(huì)封裝數(shù)據(jù)寫(xiě)入請(qǐng)求(SCSI Write CMDPDU)。數(shù)據(jù)寫(xiě)入請(qǐng)求主要包括該命令要寫(xiě)的數(shù)據(jù)長(zhǎng)度,并且分配發(fā)起端任務(wù)標(biāo)簽(Initiator Task Tag,簡(jiǎn)稱 ITT)來(lái)標(biāo)識(shí)該命令。換言之,每一次發(fā)起端欲傳送新數(shù)據(jù)序列前,發(fā)起端會(huì)向目標(biāo)端發(fā)送一個(gè)目標(biāo)端傳送標(biāo)簽,使得目標(biāo)端可以將新的數(shù)據(jù)序列存放至其他的位置中,以避免不同的數(shù)據(jù)序列產(chǎn)生混淆。當(dāng)目標(biāo)端接收到來(lái)自于發(fā)起端的小型電腦界面寫(xiě)入指令時(shí),目標(biāo)端會(huì)將相應(yīng)的信息寫(xiě)入準(zhǔn)備傳送單元的檔頭中的目標(biāo)端傳送標(biāo)簽。目標(biāo)端接收數(shù)據(jù)寫(xiě)入請(qǐng)求后根據(jù)本地可能資源大小和登入(login)時(shí)協(xié)商的寫(xiě)入長(zhǎng)度(MaxBurstLength)向發(fā)起端發(fā)送一準(zhǔn)備傳送數(shù)據(jù)單元(R2T (Ready to Transfer) PDU) 0在準(zhǔn)備傳送數(shù)據(jù)單元中通過(guò)ITT 1的此一欄位用以標(biāo)識(shí)此準(zhǔn)備傳送數(shù)據(jù)單元與數(shù)據(jù)寫(xiě)入請(qǐng)求的對(duì)應(yīng)關(guān)系。目標(biāo)端再將具有目標(biāo)端傳送標(biāo)簽的準(zhǔn)備傳送單元發(fā)送至發(fā)起端。而屬于同一組的數(shù)據(jù)序列的數(shù)據(jù)單元中,均具有相同的目標(biāo)端傳送標(biāo)簽。因?yàn)橐粋€(gè)數(shù)據(jù)寫(xiě)入請(qǐng)求可能會(huì)對(duì)應(yīng)多個(gè)準(zhǔn)備傳送數(shù)據(jù)單元。所以目標(biāo)端會(huì)使用發(fā)起端任務(wù)標(biāo)簽來(lái)區(qū)分寫(xiě)入命令范圍內(nèi)不同的準(zhǔn)備傳送數(shù)據(jù)單元。這樣一來(lái),目標(biāo)端只要檢查目標(biāo)端傳送標(biāo)簽是否相同就可以判斷所接收的數(shù)據(jù)單元是否有發(fā)生錯(cuò)誤。目標(biāo)端在傳送數(shù)據(jù)單元的過(guò)程中通過(guò)驅(qū)動(dòng)器與網(wǎng)絡(luò)裝置的固件進(jìn)行修改的處理。在目標(biāo)端的驅(qū)動(dòng)器(Driver)負(fù)責(zé)把主機(jī)緩沖區(qū)(host buffer)地址以信息的形式 (message)傳遞給固件,而信息的格式定義如下sg_addr0 -主機(jī)的分散/集中列表(sg list)的基本地址sg_dma_start -分散/集中列表的第一區(qū)塊的索引定位sg_dma_len -分散/集中列表的連續(xù)定位數(shù)量sg_cnt-分散/集中列表中地址長(zhǎng)度的總數(shù)量Sg_add0中記錄分散/集中列表的起始地址,sg_cnt標(biāo)識(shí)所有分散/集中列表的數(shù)量。通過(guò)sg_add0把分散/集中列表的地址傳遞給固件。固件就可以通過(guò)直接存取存儲(chǔ)器的方式把這些分散/集中列表的地址信息放到相應(yīng)的區(qū)塊中,使得底層的數(shù)據(jù)可以從區(qū)塊中取出相應(yīng)的SCSI生成信息,用直接存取存儲(chǔ)器去拿主機(jī)上的數(shù)據(jù)。固件上的區(qū)塊不需由驅(qū)動(dòng)器分配,驅(qū)動(dòng)器只需要知道總共有多少個(gè)區(qū)塊、每個(gè)區(qū)塊的大小與這些區(qū)塊的狀態(tài)。 驅(qū)動(dòng)器就可以通過(guò)區(qū)塊當(dāng)前的使用狀態(tài)知道下一個(gè)命令的分散/集中列表該占用從第幾個(gè)開(kāi)始的多少個(gè)區(qū)塊,固件得到這些信息后會(huì)進(jìn)行處理。請(qǐng)參考“圖4”所示,其為本發(fā)明的查找分散/集中列表的運(yùn)作示意圖。存放分散/集中列表的緩沖區(qū)應(yīng)該由驅(qū)動(dòng)器來(lái)進(jìn)行分配,以iSCSi_taSk_Sg_t的形式存在,先把分散/集中列表轉(zhuǎn)成下述的結(jié)構(gòu)形式。在本發(fā)明的此一實(shí)施態(tài)樣中這個(gè)結(jié)構(gòu)是12個(gè)比特組,知道分散/集中列表的個(gè)數(shù)就可以算出需要多少空間及需要占用固件上多少個(gè)區(qū)塊。typedef struct iscsi_task_sg_s{_uint32_t addr_high ;_uint32_t addr_low ;—uint32_t Ien ;} iscsi_task_sg_t ;一般而言,目標(biāo)端傳送標(biāo)簽是由32比特的字段所組成。在本發(fā)明中另對(duì)目標(biāo)端傳送標(biāo)簽加入欲寫(xiě)入的分散/集中區(qū)塊的相關(guān)信息。由目標(biāo)端向所連接的儲(chǔ)存裝置發(fā)出直接存取存儲(chǔ)器命令,將iscsi數(shù)據(jù)單元的負(fù)載內(nèi)容直接寫(xiě)入相應(yīng)主機(jī)緩沖地址信息的存儲(chǔ)器地址。區(qū)段重組引擎從網(wǎng)絡(luò)卡接收到數(shù)據(jù)單元后進(jìn)行解析。iSCSI層只在快速路徑(fast path)中處理負(fù)載單元的數(shù)據(jù)。這是因?yàn)樨?fù)載單元的數(shù)據(jù)才有攜帶數(shù)據(jù),而其他的負(fù)載單元的數(shù)據(jù)只是進(jìn)行基本協(xié)議檢測(cè)。所以具體的解析和錯(cuò)誤處理動(dòng)作都由軟件在慢路徑(slow path)中完成。當(dāng)區(qū)段重組引擎解析到負(fù)載單元的數(shù)據(jù)時(shí)就可以從發(fā)起端任務(wù)標(biāo)簽中提取出iSCSI生成區(qū)塊的位置信息,然后再?gòu)南鄳?yīng)的iSCSI生成區(qū)塊中取出主機(jī)緩沖區(qū)的地址信息,之后就可以針對(duì)該地址發(fā)送直接存取存儲(chǔ)器的請(qǐng)求將數(shù)據(jù)包中的數(shù)據(jù)寫(xiě)到目標(biāo)端所連接的儲(chǔ)存裝置之中。本發(fā)明提供了一種網(wǎng)際網(wǎng)絡(luò)小型電腦界面的數(shù)據(jù)單元的解析方法,本發(fā)明對(duì)目標(biāo)端所傳送的數(shù)據(jù)數(shù)據(jù)包的內(nèi)容進(jìn)行調(diào)整,使得整體系統(tǒng)可以提高寫(xiě)入時(shí)的存取速度。當(dāng)然,本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
      權(quán)利要求
      1.一種網(wǎng)際網(wǎng)絡(luò)小型電腦界面的數(shù)據(jù)單元的解析方法,其特征在于,用以處理一網(wǎng)際網(wǎng)絡(luò)小型電腦界面的一數(shù)據(jù)寫(xiě)入請(qǐng)求,該解析方法包括建立一發(fā)起端與一目標(biāo)端的通訊,并將該數(shù)據(jù)寫(xiě)入請(qǐng)求發(fā)送至該目標(biāo)端;該目標(biāo)端的一區(qū)段重組引擎根據(jù)該數(shù)據(jù)寫(xiě)入請(qǐng)求產(chǎn)生一準(zhǔn)備傳送數(shù)據(jù)單元;該目標(biāo)端將該準(zhǔn)備傳送數(shù)據(jù)單元傳送至該發(fā)起端;該發(fā)起端根據(jù)該準(zhǔn)備傳送數(shù)據(jù)單元產(chǎn)生多組數(shù)據(jù)輸出單元,在每一該數(shù)據(jù)輸出單元的一目標(biāo)端傳送標(biāo)簽寫(xiě)入一分散/集中區(qū)塊;將該數(shù)據(jù)輸出單元傳送至該目標(biāo)端;該目標(biāo)端根據(jù)該目標(biāo)端傳送標(biāo)簽查找出相應(yīng)的該分散/集中區(qū)塊,并從該分散/集中區(qū)塊里取得一主機(jī)緩存;以及該目標(biāo)端執(zhí)行一直接存取存儲(chǔ)器命令,用以將該目標(biāo)端所接收到的一負(fù)載內(nèi)容直接寫(xiě)入該主機(jī)緩存中。
      2.根據(jù)權(quán)利要求1所述的網(wǎng)際網(wǎng)絡(luò)小型電腦界面的數(shù)據(jù)單元的解析方法,其特征在于,在該目標(biāo)端傳送標(biāo)簽中寫(xiě)入該分散/集中區(qū)塊的一地址信息。
      3.根據(jù)權(quán)利要求1所述的網(wǎng)際網(wǎng)絡(luò)小型電腦界面的數(shù)據(jù)單元的解析方法,其特征在于,在該目標(biāo)端設(shè)置一基地址寄存器。
      4.根據(jù)權(quán)利要求3所述的網(wǎng)際網(wǎng)絡(luò)小型電腦界面的數(shù)據(jù)單元的解析方法,其特征在于,在寫(xiě)入該分散/集中區(qū)塊的步驟中更包括在該目標(biāo)端傳送標(biāo)簽中寫(xiě)入一地址偏移量。
      5.根據(jù)權(quán)利要求4所述的網(wǎng)際網(wǎng)絡(luò)小型電腦界面的數(shù)據(jù)單元的解析方法,其特征在于,該目標(biāo)端根據(jù)該地址偏移量與該基地址寄存器用以定位欲存取的該分散/集中區(qū)塊。
      6.根據(jù)權(quán)利要求1所述的網(wǎng)際網(wǎng)絡(luò)小型電腦界面的數(shù)據(jù)單元的解析方法,其特征在于,當(dāng)該目標(biāo)端完成該寫(xiě)入請(qǐng)求后,該目標(biāo)端向該發(fā)起端發(fā)出一完成回應(yīng)單元。
      全文摘要
      本發(fā)明公開(kāi)一種網(wǎng)際網(wǎng)絡(luò)小型電腦界面的數(shù)據(jù)單元的解析方法,用以處理網(wǎng)際網(wǎng)絡(luò)小型電腦界面的數(shù)據(jù)寫(xiě)入請(qǐng)求,解析方法包括將數(shù)據(jù)寫(xiě)入請(qǐng)求發(fā)送至目標(biāo)端;目標(biāo)端根據(jù)數(shù)據(jù)寫(xiě)入請(qǐng)求產(chǎn)生準(zhǔn)備傳送數(shù)據(jù)單元并傳送至發(fā)起端;發(fā)起端產(chǎn)生多組數(shù)據(jù)輸出單元,且在每一數(shù)據(jù)輸出單元的目標(biāo)端傳送標(biāo)簽寫(xiě)入分散/集中區(qū)塊;目標(biāo)端根據(jù)目標(biāo)端傳送標(biāo)簽查找出相應(yīng)的分散/集中區(qū)塊,并從分散/集中區(qū)塊里取得主機(jī)緩存;目標(biāo)端執(zhí)行直接存取存儲(chǔ)器命令,用以將目標(biāo)端所接收到的負(fù)載內(nèi)容直接寫(xiě)入主機(jī)緩存中;當(dāng)目標(biāo)端完成寫(xiě)入請(qǐng)求后,目標(biāo)端向發(fā)起端發(fā)出完成回應(yīng)單元。
      文檔編號(hào)H04L29/08GK102480516SQ20101058958
      公開(kāi)日2012年5月30日 申請(qǐng)日期2010年11月30日 優(yōu)先權(quán)日2010年11月30日
      發(fā)明者朱明勝, 陳志豐 申請(qǐng)人:英業(yè)達(dá)股份有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1