專利名稱:通過多個(gè)虛擬通道傳輸分割的數(shù)據(jù)分組的制作方法
技術(shù)領(lǐng)域:
本發(fā)明針對(duì)計(jì)算機(jī)網(wǎng)絡(luò)上的數(shù)據(jù)通信。更具體而言,本發(fā)明針對(duì)在ー個(gè)計(jì)算機(jī)網(wǎng)絡(luò)中通過多個(gè)虛擬通道的分割的數(shù)據(jù)分組。
背景技術(shù):
計(jì)算機(jī)頻繁地與輸入/輸出(I/O)単元通信。這種通信的典型特征是必須通過ー個(gè)互連來(lái)高速發(fā)送數(shù)據(jù)。
這種高速通信面臨的最主要的難題之一是處理器容量和正常情況下所要求的軟件開銷。舉例來(lái)說(shuō),為了有效地傳輸數(shù)據(jù),計(jì)算機(jī)的處理器需要根據(jù)可利用的資源情況動(dòng)態(tài)地配置傳輸數(shù)據(jù)的帶寬。該處理過程需要巨大的軟件開銷,這會(huì)阻止計(jì)算機(jī)中的處理器或者是I/o単元中的ー個(gè)I/O控制器以適時(shí)的方式執(zhí)行其他任務(wù)?;谏鲜鲈?,需要有ー種方法或設(shè)備在一臺(tái)計(jì)算機(jī)和I/O単元之間有效地傳輸數(shù)據(jù)。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的實(shí)施例,提供了一種在傳輸數(shù)據(jù)中使用的方法,該方法包括將至少一個(gè)隊(duì)列對(duì)中的數(shù)據(jù)塊排隊(duì)傳輸?shù)交ミB的目的地址,所述至少ー個(gè)隊(duì)列對(duì)的每ー個(gè)包括發(fā)送隊(duì)列和接收隊(duì)列;以及通過與所述至少ー個(gè)隊(duì)列對(duì)相關(guān)聯(lián)的不同的物理端ロ分割地傳輸數(shù)據(jù)塊,其中所述分割包括經(jīng)由所述物理端口中不同的相應(yīng)端ロ發(fā)送所述數(shù)據(jù)塊的不同的相應(yīng)部分。根據(jù)本發(fā)明的實(shí)施例,還提供了一種在傳輸數(shù)據(jù)中使用的設(shè)備,該設(shè)備包括用于將至少ー個(gè)隊(duì)列對(duì)中的數(shù)據(jù)塊排隊(duì)傳輸?shù)交ミB的目的地址的裝置,所述至少ー個(gè)隊(duì)列對(duì)的每ー個(gè)包括發(fā)送隊(duì)列和接收隊(duì)列;以及用于通過與所述至少ー個(gè)隊(duì)列對(duì)相關(guān)聯(lián)的不同的物理端ロ分割地傳輸數(shù)據(jù)塊的裝置,其中所述分割包括經(jīng)由所述物理端口中不同的相應(yīng)端ロ發(fā)送所述數(shù)據(jù)塊的不同的相應(yīng)部分。根據(jù)本發(fā)明的ー個(gè)方面,用于通過互連傳輸數(shù)據(jù)塊的輸入/輸出(I/O)単元,數(shù)據(jù)塊包括多個(gè)數(shù)據(jù)分組,所說(shuō)的I/o単元包括I/O控制器,用于創(chuàng)建涉及數(shù)據(jù)塊的直接存儲(chǔ)器存取(DMA)對(duì)象;與該I/O控制器耦合、用于存儲(chǔ)數(shù)據(jù)塊的存儲(chǔ)器;具有第一虛擬接ロ(VI)隊(duì)列對(duì)和第二虛擬接ロ(VI)隊(duì)列對(duì)的傳輸,每ー個(gè)隊(duì)列對(duì)都耦合到該互連,該傳輸創(chuàng)建涉及第一數(shù)據(jù)分組的第一描述符和涉及第ニ數(shù)據(jù)分組的第ニ描述符。
根據(jù)本發(fā)明的另ー個(gè)方面,一種通過互連向主計(jì)算機(jī)傳輸數(shù)據(jù)塊的方法,該方法包括(a)在存儲(chǔ)器存儲(chǔ)數(shù)據(jù)塊;(b)創(chuàng)建涉及該數(shù)據(jù)塊的直接存儲(chǔ)器存取(DMA)對(duì)象;(c)將數(shù)據(jù)塊分割成多個(gè)數(shù)據(jù)分組;(d)創(chuàng)建多個(gè)描述符,每ー個(gè)描述符涉及其中一個(gè)所述數(shù)據(jù)分組;(e)將所述多個(gè)描述符放入虛擬接ロ隊(duì)列對(duì),所述隊(duì) 列對(duì)耦合到與主計(jì)算機(jī)耦合的虛擬通道;以及(f)通過所述互連在虛擬通道中傳輸所述多個(gè)數(shù)據(jù)分組。根據(jù)本發(fā)明的又ー個(gè)方面,ー種在互連上傳輸數(shù)據(jù)塊的計(jì)算機(jī),該數(shù)據(jù)塊包括多個(gè)數(shù)據(jù)分組,該計(jì)算機(jī)包括處理器;與該處理器相耦合用于存儲(chǔ)數(shù)據(jù)塊的存儲(chǔ)器;ー輸入/輸出(I/O)控制器,用于創(chuàng)建涉及該數(shù)據(jù)塊的直接存儲(chǔ)器存取(DMA)對(duì)象;具有第一虛擬接ロ(VI)隊(duì)列對(duì)和第二虛擬接ロ(VI)隊(duì)列對(duì)的傳輸,每ー個(gè)隊(duì)列對(duì)都耦合到所述互連;該傳輸用于創(chuàng)建涉及第一數(shù)據(jù)分組的第一描述符和涉及第ニ數(shù)據(jù)分組的第二描述符。根據(jù)本發(fā)明的再ー個(gè)方面,一種聯(lián)網(wǎng)的計(jì)算機(jī)系統(tǒng),包括:互連;耦合到該互連的主計(jì)算機(jī),該主計(jì)算機(jī)包括具有第一和第二虛擬接ロ的第一傳輸;稱合到該互連的I/O單元,該I/O單元包括I/O控制器,用于創(chuàng)建涉及該數(shù)據(jù)塊的直接存儲(chǔ)器存取(DMA)對(duì)象;與該I/O控制器耦合、用于存儲(chǔ)數(shù)據(jù)塊的第一存儲(chǔ)器;具有第一和第二隊(duì)列對(duì)的第二傳輸,所述第一隊(duì)列對(duì)與第一虛擬接ロ相耦合形成第一虛擬通道,所述第二隊(duì)列對(duì)與第二虛擬接ロ相耦合形成第二虛擬通道;該第二傳輸創(chuàng)建涉及第一數(shù)據(jù)分組的第一描述符和涉及第ニ數(shù)據(jù)分組的第二描述符。本發(fā)明的一個(gè)實(shí)施方案是ー個(gè)I/O単元,該單元通過ー個(gè)互連來(lái)傳輸其中包含多個(gè)數(shù)據(jù)分組的數(shù)據(jù)塊。I/o単元包括ー個(gè)I/O控制器和ー個(gè)連接到該I/O控制器用于存貯數(shù)據(jù)塊的存儲(chǔ)器。該I/o單元還包含了一個(gè)由控制器創(chuàng)建并涉及該數(shù)據(jù)塊的DMA對(duì)象和一個(gè)包含第一和第二 VI隊(duì)列對(duì)的傳輸,其中每ー個(gè)隊(duì)列對(duì)都耦合到互連。該I/O單元還包括了由傳輸創(chuàng)建并涉及該第一數(shù)據(jù)分組的第一描述符和由傳輸創(chuàng)建并涉及該第二數(shù)據(jù)分組的第二描述符。
圖I是按照本發(fā)明ー個(gè)實(shí)施方案的聯(lián)網(wǎng)計(jì)算機(jī)系統(tǒng)的框圖。圖2是ー個(gè)I/O單元的詳細(xì)框圖。
具體實(shí)施例方式本發(fā)明的一個(gè)實(shí)施方案把多個(gè)物理通道組合成單個(gè)邏輯通道,使用該邏輯通道可在I/o単元與主計(jì)算機(jī)之間傳輸數(shù)據(jù)。ー個(gè)I/O単元包括ー個(gè)或多個(gè)I/O控制器,以及還包括一個(gè)連接到互連的接ロ。圖I是按照本發(fā)明ー個(gè)實(shí)施方案的聯(lián)網(wǎng)計(jì)算機(jī)系統(tǒng)的框圖。計(jì)算機(jī)系統(tǒng)100包括一臺(tái)主計(jì)算機(jī)10和一個(gè)連接到互連30的I/O單元40。
互連30的作用就是在聯(lián)網(wǎng)設(shè)備之間充當(dāng)接ロ。在一個(gè)實(shí)施方案中,互連30是通過將多個(gè)交換機(jī)組合在一起創(chuàng)建的交換連接的集合。不過,互連30可以是任何已知的用于將聯(lián)網(wǎng)設(shè)備連接在一起的基礎(chǔ)結(jié)構(gòu)。比如,互連30可以包括ー個(gè)或多個(gè)直接連接(如,一條線路、ー個(gè)局域網(wǎng)、或者任何其他類型的網(wǎng)絡(luò)),也可以是ー個(gè)或多個(gè)可變且動(dòng)態(tài)的連接(如,開關(guān))。計(jì)算機(jī)系統(tǒng)100中包括的其它聯(lián)網(wǎng)設(shè)備(沒有顯示在圖I中)同樣也耦合到互連30。主計(jì)算機(jī)10中包括處理器12。處理器12執(zhí)行包括驅(qū)動(dòng)程序14的軟件應(yīng)用程序。主計(jì)算機(jī)10還包括了存儲(chǔ)器16和傳輸20。主計(jì)算機(jī)10還包括網(wǎng)絡(luò)接ロ卡(“NIC”)25,該卡把主計(jì)算機(jī)10稱合到互連30。主計(jì)算機(jī)10和耦合到互連30的設(shè)備使用虛擬接ロ( “VI”)結(jié)構(gòu)通信。VI結(jié)構(gòu)同時(shí)為多個(gè)應(yīng)用和過程提供了專用的網(wǎng)絡(luò)接ロ的假象,從而“虛擬”了接ロ。VI結(jié)構(gòu)還在VI消費(fèi)者和一個(gè)或多個(gè)網(wǎng)絡(luò)之間定義了一個(gè)標(biāo)準(zhǔn)接ロ。在本發(fā)明中,驅(qū)動(dòng)程序14的作用相當(dāng)于ー個(gè)VI消費(fèi)者。在一個(gè)實(shí)施方案中,用于實(shí)現(xiàn)本發(fā)明的VI結(jié)構(gòu)在虛擬接ロ結(jié)構(gòu)規(guī)范(即VI規(guī)范)1.0版中公開,該規(guī)范是在1997年12月19日由康柏公司、英特爾公司和微軟公司公布的。VI規(guī)范可從互聯(lián)網(wǎng)站點(diǎn)http://www. viarch. orR獲得。VI規(guī)范定義了互連節(jié)點(diǎn)和互連存儲(chǔ)設(shè)備之間低延遲、高帶寬的信息傳輸機(jī)制。在發(fā)送和接收消息時(shí),低延遲和持續(xù)的高帶寬是通過避免中間數(shù)據(jù)的拷貝和繞開操作系統(tǒng)實(shí)現(xiàn)的。與由VI規(guī)范中公開的VI結(jié)構(gòu)執(zhí)行相似功能的其他結(jié)構(gòu)也可用于實(shí)施本發(fā)明,因此說(shuō),本發(fā)明并不局限于VI結(jié)構(gòu)。傳輸20包括多個(gè)VI21-VI24。VI21-VI24中每ー個(gè)都包括ー個(gè)隊(duì)列對(duì)(“QP”)。依照VI規(guī)范,ー個(gè)QP包括ー個(gè)發(fā)送隊(duì)列和ー個(gè)接收隊(duì)列。在一個(gè)實(shí)施方案中VI21-24中每ー個(gè)都有ー個(gè)物理端ロ通過NIC25連接到互連30。不過,在其他實(shí)施方案中,VI21-24可以共享物理端ロ。I/O單元40包括I/O控制器42、緩沖存儲(chǔ)器44和傳輸50。I/O控制器是為ー個(gè)或多個(gè)主計(jì)算機(jī)提供I/o服務(wù)的設(shè)備。I/O服務(wù)包括存儲(chǔ)和檢索數(shù)據(jù)以及傳送數(shù)據(jù)到其它設(shè)備。在其它實(shí)施方案中,I/o単元40包括兩個(gè)或多個(gè)I/O控制器42。緩沖存儲(chǔ)器44是與I/O控制器40相耦合的存儲(chǔ)區(qū)域,并且它可以被放置在任何地方。在一個(gè)實(shí)施方案中,緩沖存儲(chǔ)器44是獨(dú)立的存儲(chǔ)設(shè)備。在其它實(shí)施方案中,緩沖存儲(chǔ)器44是磁盤驅(qū)動(dòng)器60-62的一部分,或者它通過網(wǎng)絡(luò)連接到I/O控制器42。傳輸50包括QP51-54。I/O單元40中的ー個(gè)QP和與其對(duì)應(yīng)的主計(jì)算機(jī)10中的VI是ー個(gè)通過互連30的虛擬通道的端點(diǎn)。雖然計(jì)算機(jī)系統(tǒng)100中包含與VI21-24數(shù)目相同的QP51-54,但在其它實(shí)施方案中,主計(jì)算機(jī)10中VI的數(shù)目可以不同于I/O単元40中的QP的數(shù)目。不過,姆ー個(gè)通過互連30的虛擬通道都有ー個(gè)VI和ー個(gè)QP作為端點(diǎn)。
I/O單元40還包括一個(gè)NIC55,它將I/O單元40耦合到互連30。在一個(gè)實(shí)施方案中,每ー個(gè)QP51-54各自有ー個(gè)物理端ロ通過NIC55連接到互連30。不過,在其它實(shí)施方案中,QP51-54可以共享物理端ロ。I/O単元40還包括多個(gè)和總線70相耦合的磁盤驅(qū)動(dòng)器60_62。磁盤驅(qū)動(dòng)器60_62存儲(chǔ)主計(jì)算機(jī)10可訪問的數(shù)據(jù)。在其他實(shí)施方案中,I/O単元40可包括任何其他設(shè)備來(lái)存儲(chǔ)和/或檢索數(shù)據(jù),或者接收并轉(zhuǎn)發(fā)數(shù)據(jù)到別的設(shè)備,但不包括磁盤驅(qū)動(dòng)器60-62。比如,I/O単元40可以包括⑶ROM驅(qū)動(dòng)器、磁帶驅(qū)動(dòng)器和到局域網(wǎng)的網(wǎng)絡(luò)接ロ等。在計(jì)算機(jī)系統(tǒng)100中,驅(qū)動(dòng)程序14被認(rèn)為是“發(fā)起者”,這是因?yàn)槠鋯?dòng)I/O服務(wù)的請(qǐng)求。相反,I/o控制器42被認(rèn)為是“目標(biāo)”,這是因?yàn)槠漤憫?yīng)了來(lái)自計(jì)算機(jī)系統(tǒng)100內(nèi)發(fā)起者的I/O請(qǐng)求。I/O控制器42通過例如在驅(qū)動(dòng)器60-62上存儲(chǔ)數(shù)據(jù)或從驅(qū)動(dòng)器60-62 檢索數(shù)據(jù)來(lái)響應(yīng)I/O請(qǐng)求。I/O服務(wù)請(qǐng)求可由驅(qū)動(dòng)程序14產(chǎn)生。ー個(gè)I/O服務(wù)請(qǐng)求的例子是請(qǐng)求從某些存儲(chǔ)設(shè)備的邏輯塊地址讀取多個(gè)數(shù)據(jù)塊并將數(shù)據(jù)返回給主計(jì)算機(jī)10中的存儲(chǔ)單元。驅(qū)動(dòng)程序14將I/O請(qǐng)求存儲(chǔ)在存儲(chǔ)器16的位置中。依照VI規(guī)范,驅(qū)動(dòng)程序14將涉及I/O請(qǐng)求的描述符(即,指出該I/O請(qǐng)求被存儲(chǔ)的存儲(chǔ)器16中的位置)放入傳輸20中的發(fā)送隊(duì)列。然后,驅(qū)動(dòng)程序14按響NIC25中的門鈴。該門鈴?fù)ǜ鍺IC25在發(fā)送隊(duì)列中查找該描述符。既而,NIC25取出該描述符并執(zhí)行該任務(wù)。該任務(wù)將I/O請(qǐng)求消息放入互連30進(jìn)行傳輸。該I/O請(qǐng)求的接收設(shè)備(如,I/O単元30)同樣具有NIC從互連30上接收I/O請(qǐng)求消息。I/O請(qǐng)求消息包含的信息指出了數(shù)據(jù)要移往的、在主計(jì)算機(jī)存儲(chǔ)器16中的位置,以及該消息指定了磁盤驅(qū)動(dòng)器60-62中數(shù)據(jù)的獲取位置。主計(jì)算機(jī)存儲(chǔ)器16中的位置依照VI規(guī)范由一個(gè)虛擬地址存儲(chǔ)器句柄對(duì)指定。I/O控制器42使用I/O請(qǐng)求消息中包含的信息構(gòu)造描述符,從而實(shí)現(xiàn)從I/O単元40到主計(jì)算機(jī)10的實(shí)際數(shù)據(jù)移動(dòng)。本發(fā)明的一個(gè)實(shí)施方案提供了從I/O單元40到主計(jì)算機(jī)10的有效數(shù)據(jù)傳輸。在操作中,驅(qū)動(dòng)程序14向I/O単元40發(fā)送ー個(gè)I/O請(qǐng)求,以便從磁盤驅(qū)動(dòng)器60-62中檢索ー個(gè)數(shù)據(jù)塊(數(shù)據(jù)塊46)。該請(qǐng)求被傳送到I/O控制器42。在一個(gè)實(shí)施方案中,I/O控制器42從磁盤驅(qū)動(dòng)器60-62中檢索到所請(qǐng)求的數(shù)據(jù)塊46,并將數(shù)據(jù)塊46存儲(chǔ)到緩沖存儲(chǔ)器44中。圖2是I/O單元40的詳細(xì)框圖,例示了在數(shù)據(jù)塊46存儲(chǔ)到緩沖存儲(chǔ)器44后由I/O単元40執(zhí)行的步驟。I/O単元40的目標(biāo)是將數(shù)據(jù)塊46移動(dòng)到主計(jì)算機(jī)10的存儲(chǔ)器16中。首先,I/O控制器42創(chuàng)建ー個(gè)直接存儲(chǔ)器存取(“DMA” )對(duì)象80,該對(duì)象涉及緩沖存儲(chǔ)器44中的數(shù)據(jù)塊46。DMA對(duì)象80指定了數(shù)據(jù)塊46的起始地址、數(shù)據(jù)塊46的長(zhǎng)度和數(shù)據(jù)塊46的目的地。該目的地告訴傳輸50將數(shù)據(jù)塊46發(fā)送到何處。目的地包括數(shù)據(jù)塊46通過互連30發(fā)送給的端點(diǎn)及其要在端點(diǎn)存儲(chǔ)的存儲(chǔ)器地址。I/O控制器42將DMA對(duì)象80傳送到傳輸50。在一個(gè)實(shí)施方案中,傳輸50在接收DMA對(duì)象80前,已經(jīng)根據(jù)I/O単元40與主計(jì)算機(jī)10之間的物理通道數(shù)目創(chuàng)建了正確數(shù)目的QP51-54。在其它實(shí)施方案中,傳輸50在接收DMA對(duì)象80時(shí)動(dòng)態(tài)創(chuàng)建所需數(shù)目的QP。在這個(gè)實(shí)施方案中,網(wǎng)絡(luò)服務(wù)單元連接到圖I中的互連30。網(wǎng)絡(luò)服務(wù)單元的任務(wù)是管理互連30以及在互連30中創(chuàng)建虛擬連接。傳輸50根據(jù)物理鏈路數(shù)目向網(wǎng)絡(luò)服務(wù)單元指定所需數(shù)目的虛擬通道,然后創(chuàng)建相應(yīng)的QP。傳輸50為其中的姆一個(gè)QP創(chuàng)建一個(gè)或多個(gè)描述符90-93。在一個(gè)實(shí)施方案中,傳輸50中的每ー個(gè)QP對(duì)應(yīng)于一個(gè)連接到互連30上的物理端ロ。在其它實(shí)施方案中,物理端ロ的數(shù)目可以少于傳輸50中QP的數(shù)目。每ー個(gè)描述符90-93描述了數(shù)據(jù)塊46的ー個(gè)分割部分,或稱為ー個(gè)“分組”。例如,描述符90代表數(shù)據(jù)分組147,描述符91代表數(shù)據(jù)分組148等。數(shù)據(jù)分組147-150根據(jù)分割數(shù)據(jù)塊46所采用的算法而具有不同的大小。如在一個(gè)實(shí)施方案中,每ー個(gè)數(shù)據(jù)分組147-150具有相同大小,在另ー個(gè)實(shí)施方案中,采用了一個(gè)根據(jù)互連30 中主計(jì)算機(jī)10與I/O単元40之間所提供的物理連接的操作特性決定每個(gè)數(shù)據(jù)分組147-150大小的算法。隨后,每ー個(gè)描述符90-93被放入各自的QP51-54中。QP51-54將由描述符90-93所表示的數(shù)據(jù)分組移動(dòng)到其物理端ロ以通過互連30進(jìn)行傳輸。因而,數(shù)據(jù)分組通過多個(gè)物理連接而被“分割”。各個(gè)描述符90-93通過互連30移動(dòng)的順序是任意的。在圖2所示的實(shí)施方案中,所有四個(gè)QP51-54因?yàn)楦髯該碛歇?dú)立的物理連接而并行運(yùn)行。不過,所述多個(gè)物理連接被從I/o控制器42中抽象出來(lái),因而在I/O控制器42和驅(qū)動(dòng)程序14看來(lái),存在一條虛擬通道以四倍于單個(gè)物理通道的帶寬運(yùn)行。I/O控制器42僅僅能感覺到為整個(gè)數(shù)據(jù)塊46創(chuàng)建了單個(gè)DMA對(duì)象80。傳輸50實(shí)現(xiàn)了分割數(shù)據(jù)塊46在多個(gè)物理通道上傳輸?shù)墓δ埽瑥亩鴾p少了 I/O控制器42的開銷。正如前面所描述的,傳輸50中的VI被用于給驅(qū)動(dòng)程序14和主計(jì)算機(jī)10中其它任何發(fā)起者造成任意大帶寬的假象。此外,傳輸50將多個(gè)物理通道組合成一個(gè)大的邏輯通道,而無(wú)須増加I/O控制器42和處理器12的任何開銷。在這里,對(duì)本發(fā)明的幾種實(shí)施方案進(jìn)行了明確說(shuō)明和描述。不過,應(yīng)該理解,在不脫離本發(fā)明的精神和預(yù)定范圍的情況下,對(duì)本發(fā)明進(jìn)行的修改和變動(dòng)是由前述示教所覆蓋并在所附權(quán)利要求的范圍之內(nèi)。舉例來(lái)說(shuō),本發(fā)明的另外ー個(gè)實(shí)施方案中,可以包括在一臺(tái)主計(jì)算機(jī)和其他計(jì)算機(jī)之間的數(shù)據(jù)傳輸,而不是主計(jì)算機(jī)和I/o単元40之間的數(shù)據(jù)傳輸。在這個(gè)處理器間的通信環(huán)境(“IPC”)中,其他計(jì)算機(jī)包含了一個(gè)執(zhí)行等同于I/O控制器42功能的處理器。其他計(jì)算機(jī)中所有其他単元與I/O単元40相似,并且數(shù)據(jù)傳輸方式與這里描述的相同。
權(quán)利要求
1.一種在傳輸數(shù)據(jù)中使用的方法,該方法包括 將至少一個(gè)隊(duì)列對(duì)中的數(shù)據(jù)塊排隊(duì)傳輸?shù)交ミB的目的地址,所述至少一個(gè)隊(duì)列對(duì)的每ー個(gè)包括發(fā)送隊(duì)列和接收隊(duì)列;以及 通過與所述至少ー個(gè)隊(duì)列對(duì)相關(guān)聯(lián)的不同的物理端ロ分割地傳輸數(shù)據(jù)塊,其中所述分割包括經(jīng)由所述物理端口中不同的相應(yīng)端ロ發(fā)送所述數(shù)據(jù)塊的不同的相應(yīng)部分。
2.如權(quán)利要求I所述的方法,進(jìn)ー步包括存儲(chǔ)所述傳輸?shù)闹辽侃`個(gè)描述符。
3.如權(quán)利要求I所述的方法,其中所述至少ー個(gè)隊(duì)列對(duì)包括多個(gè)隊(duì)列對(duì)。
4.如權(quán)利要求3所述的方法,其中所述隊(duì)列對(duì)中的多個(gè)相應(yīng)的隊(duì)列對(duì)與相同的相應(yīng)物理端ロ相關(guān)聯(lián)。
5.如權(quán)利要求3所述的方法,其中每個(gè)隊(duì)列對(duì)與不同的相應(yīng)物理端ロ相關(guān)聯(lián)。
6.如權(quán)利要求3所述的方法,其中所述分割包括在多個(gè)相應(yīng)隊(duì)列對(duì)中的多個(gè)隊(duì)列對(duì)上分割所述數(shù)據(jù)塊。
7.如權(quán)利要求I所述的方法,其中所述不同的相應(yīng)部分具有相同大小。
8.如權(quán)利要求I所述的方法,其中所述不同的相應(yīng)部分大小不同。
9.如權(quán)利要求I所述的方法,進(jìn)ー步包括 接收來(lái)自驅(qū)動(dòng)器的傳輸所述數(shù)據(jù)塊的請(qǐng)求,以及 接收對(duì)應(yīng)于所述請(qǐng)求的門鈴響。
10.如權(quán)利要求I所述的方法,進(jìn)ー步包括對(duì)通過多個(gè)物理端ロ分割的接收數(shù)據(jù)塊執(zhí)行 DMA。
11.一種在傳輸數(shù)據(jù)中使用的設(shè)備,該設(shè)備包括 用于將至少ー個(gè)隊(duì)列對(duì)中的數(shù)據(jù)塊排隊(duì)傳輸?shù)交ミB的目的地址的裝置,所述至少ー個(gè)隊(duì)列對(duì)的每ー個(gè)包括發(fā)送隊(duì)列和接收隊(duì)列;以及 用于通過與所述至少ー個(gè)隊(duì)列對(duì)相關(guān)聯(lián)的不同的物理端ロ分割地傳輸數(shù)據(jù)塊的裝置,其中所述分割包括經(jīng)由所述物理端口中不同的相應(yīng)端ロ發(fā)送所述數(shù)據(jù)塊的不同的相應(yīng)部分。
12.如權(quán)利要求11所述的設(shè)備,進(jìn)一歩包括用于存儲(chǔ)所述傳輸?shù)闹辽侃`個(gè)描述符的裝置。
13.如權(quán)利要求11所述的設(shè)備,其中所述至少ー個(gè)隊(duì)列對(duì)包括多個(gè)隊(duì)列對(duì)。
14.如權(quán)利要求13所述的設(shè)備,其中所述隊(duì)列對(duì)中的多個(gè)相應(yīng)的隊(duì)列對(duì)與相同的相應(yīng)物理端ロ相關(guān)聯(lián)。
15.如權(quán)利要求13所述的設(shè)備,其中每個(gè)相應(yīng)的隊(duì)列對(duì)與不同的相應(yīng)物理端ロ相關(guān)聯(lián)。
16.如權(quán)利要求13所述的設(shè)備,其中所述用于分割的裝置包括用于在所述多個(gè)相應(yīng)隊(duì)列對(duì)中的多個(gè)隊(duì)列對(duì)上分割所述數(shù)據(jù)塊的裝置。
17.如權(quán)利要求11所述的設(shè)備,其中所述不同的相應(yīng)部分具有相同大小。
18.如權(quán)利要求11所述的設(shè)備,其中所述不同的相應(yīng)部分大小不同。
19.如權(quán)利要求11所述的設(shè)備,進(jìn)一歩包括 用于接收來(lái)自驅(qū)動(dòng)器的傳輸所述數(shù)據(jù)塊的請(qǐng)求的裝置,以及 用于接收對(duì)應(yīng)于所述請(qǐng)求的門鈴響的裝置。
20.如權(quán)利要求11所述的設(shè)備,進(jìn)一歩包括用于對(duì)通過多個(gè)物理端ロ分割的接收數(shù)據(jù)塊執(zhí)行DMA的裝置。
全文摘要
本發(fā)明的名稱是通過多個(gè)虛擬通道傳輸分割的數(shù)據(jù)分組。一個(gè)I/O單元(40)用于通過相互連接(30)傳輸一個(gè)具有多個(gè)數(shù)據(jù)分組(147-150)的數(shù)據(jù)塊(46),該I/O單元包括一個(gè)I/O控制器(42)和連接到該I/O控制器(42)用于存儲(chǔ)該數(shù)據(jù)塊(46)的一個(gè)存儲(chǔ)器(44)。該I/O單元(40)還包括一個(gè)由I/O控制器(42)所創(chuàng)建并與數(shù)據(jù)塊(46)相對(duì)應(yīng)的DMA對(duì)象(80),以及一個(gè)包含連接到相互連接(30)的第一和第二隊(duì)列對(duì)(51,52)的傳輸(50)。該I/O單元(40)還包括一個(gè)由傳輸(50)創(chuàng)建并與第一數(shù)據(jù)分組(147)相對(duì)應(yīng)的第一描述符(90),以及一個(gè)由傳輸(50)創(chuàng)建并與第二數(shù)據(jù)分組(148)相對(duì)應(yīng)的第二描述符(91)。
文檔編號(hào)G06F13/12GK102693194SQ20121002697
公開日2012年9月26日 申請(qǐng)日期1999年8月13日 優(yōu)先權(quán)日1998年8月14日
發(fā)明者P·A·格倫, W·福特拉爾 申請(qǐng)人:英特爾公司