两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

基于pcie總線的報(bào)文傳輸方法與裝置制造方法

文檔序號(hào):7996915閱讀:283來(lái)源:國(guó)知局
基于pcie總線的報(bào)文傳輸方法與裝置制造方法
【專利摘要】本發(fā)明提供一種基于PCIE總線的報(bào)文傳輸方法與裝置,該方法包括:接收數(shù)據(jù)傳輸請(qǐng)求,并根據(jù)數(shù)據(jù)傳輸請(qǐng)求判斷數(shù)據(jù)傳輸請(qǐng)求所請(qǐng)求的待傳輸數(shù)據(jù)是否具備壓縮條件;若具備壓縮條件,則將待傳輸數(shù)據(jù)封裝在至少兩個(gè)數(shù)據(jù)報(bào)文中;其中,所述壓縮事務(wù)層數(shù)據(jù)報(bào)文缺少至少一個(gè)字段或所述壓縮事務(wù)層數(shù)據(jù)報(bào)文的至少一個(gè)字段中配置壓縮信息;將所述至少兩個(gè)數(shù)據(jù)報(bào)文的數(shù)據(jù)標(biāo)識(shí)設(shè)置為相同值;將至少兩個(gè)數(shù)據(jù)報(bào)文通過(guò)PCIE總線傳輸給對(duì)端設(shè)備。本發(fā)明實(shí)施例提供的基于PCIE總線的報(bào)文傳輸方法與裝置,在傳輸過(guò)程中實(shí)現(xiàn)節(jié)約信道資源。
【專利說(shuō)明】基于PCIE總線的報(bào)文傳輸方法與裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù),尤其涉及一種基于PCIE總線的報(bào)文傳輸方法與裝置。
【背景技術(shù)】
[0002]外圍組件互連快遞(PeripheralComponent Interconnect Express,簡(jiǎn)稱 PCIE)總線是一種采用端對(duì)端的連接方式的高速差分總線,具有三個(gè)層次:物理層、數(shù)據(jù)鏈路層和事務(wù)層,其中事務(wù)層是所有層次中的最高層。PCIE具有多種總線事務(wù),包括:存儲(chǔ)器讀請(qǐng)求總線事務(wù)、存儲(chǔ)器寫請(qǐng)求總線事務(wù)、輸入/輸出讀和寫請(qǐng)求總線事務(wù)以及配置讀和寫請(qǐng)求總線事務(wù)等。在使用PCIE總線進(jìn)行數(shù)據(jù)傳輸時(shí),在事務(wù)層中,需要將待傳輸數(shù)據(jù)采用事務(wù)層數(shù)據(jù)報(bào)文(Transact1n Lay Packet,簡(jiǎn)稱TLP)的格式將所要傳輸?shù)臄?shù)據(jù)封裝成至少一個(gè)TLP,再通過(guò)PCIE總線的多個(gè)層次發(fā)送出去。在實(shí)際傳輸數(shù)據(jù)過(guò)程中,將一份數(shù)據(jù)按照一定字節(jié)長(zhǎng)度切割成多份數(shù)據(jù),并對(duì)上述多份數(shù)據(jù)分別封裝成TLP,通常屬于一份數(shù)據(jù)對(duì)應(yīng)的多個(gè)TLP都會(huì)對(duì)一段連續(xù)的地址空間進(jìn)行讀或?qū)憽?br> [0003]現(xiàn)有技術(shù)中,在將所傳輸?shù)臄?shù)據(jù)封裝為多個(gè)TLP后,每一個(gè)TLP中,除了必要的數(shù)據(jù)信息外,每個(gè)TLP的包頭中都包含TLP的長(zhǎng)度信息、TLP的類型信息、標(biāo)識(shí)該TLP在傳輸時(shí)的各種特性與支持的傳輸功能的信息、地址字段信息、以及沒(méi)有確定含義的保留字段等額外信息。當(dāng)設(shè)備A接到另一個(gè)設(shè)備B傳輸?shù)腡LP,根據(jù)每個(gè)TLP的包頭就可以將各個(gè)TLP還原為待傳輸數(shù)據(jù),執(zhí)行寫入或讀取等操作,當(dāng)對(duì)應(yīng)一份數(shù)據(jù)的多個(gè)TLP全部到達(dá)設(shè)備A時(shí),即完成一次數(shù)據(jù)的傳輸。
[0004]在現(xiàn)有技術(shù)的使用PCIE總線傳輸數(shù)據(jù)的過(guò)程中,TLP中包含不必要的冗余信息,額外的冗余信息占用了寶貴的數(shù)據(jù)信道資源,并且在對(duì)應(yīng)一份數(shù)據(jù)的多個(gè)TLP中,每個(gè)TLP中都包含與其他TLP相同或相近的額外的冗余信息,因此在數(shù)據(jù)傳輸?shù)倪^(guò)程中,會(huì)存在大量的冗余信息,并且傳輸冗余信息對(duì)寶貴的數(shù)據(jù)信道資源造成很大的浪費(fèi)。

【發(fā)明內(nèi)容】

[0005]本發(fā)明提供一種基于PCIE總線的報(bào)文傳輸方法與裝置,用以節(jié)約數(shù)據(jù)信道資源,進(jìn)而提高數(shù)據(jù)的傳輸效率。
[0006]第一方面,本發(fā)明實(shí)施例提供一種基于PCIE總線的報(bào)文傳輸方法,該方法包括:
[0007]接收數(shù)據(jù)傳輸請(qǐng)求,并根據(jù)所述數(shù)據(jù)傳輸請(qǐng)求判斷所述數(shù)據(jù)傳輸請(qǐng)求所請(qǐng)求的待傳輸數(shù)據(jù)是否具備壓縮條件;
[0008]若具備壓縮條件,則將所述待傳輸數(shù)據(jù)封裝在至少兩個(gè)數(shù)據(jù)報(bào)文中;其中,所述至少兩個(gè)數(shù)據(jù)報(bào)文的第一個(gè)數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文和所述至少兩個(gè)數(shù)據(jù)報(bào)文的其他數(shù)據(jù)報(bào)文中的至少一個(gè)為壓縮事務(wù)層數(shù)據(jù)報(bào)文,各所述數(shù)據(jù)報(bào)文中配置有標(biāo)識(shí)所述數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文或壓縮事務(wù)層數(shù)據(jù)報(bào)文的信息;與所述完全事務(wù)層數(shù)據(jù)報(bào)文相t匕,所述壓縮事務(wù)層數(shù)據(jù)報(bào)文缺少至少一個(gè)字段或所述壓縮事務(wù)層數(shù)據(jù)報(bào)文的至少一個(gè)字段中配置壓縮信息;將所述至少兩個(gè)數(shù)據(jù)報(bào)文的數(shù)據(jù)標(biāo)識(shí)設(shè)置為相同值;[0009]將所述至少兩個(gè)數(shù)據(jù)報(bào)文通過(guò)PCIE總線傳輸給對(duì)端設(shè)備。
[0010]在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述接收數(shù)據(jù)傳輸請(qǐng)求,并根據(jù)所述數(shù)據(jù)傳輸請(qǐng)求判斷待傳輸數(shù)據(jù)是否具備壓縮條件包括:
[0011]接收數(shù)據(jù)傳輸請(qǐng)求;
[0012]判斷所述數(shù)據(jù)傳輸請(qǐng)求的類型是否為設(shè)定的可壓縮請(qǐng)求,若是,則待傳輸數(shù)據(jù)具備壓縮條件。
[0013]根據(jù)第一方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述判斷所述數(shù)據(jù)傳輸請(qǐng)求的類型是否為設(shè)定的可壓縮請(qǐng)求,若是,則待傳輸數(shù)據(jù)具備壓縮條件包括:
[0014]判斷所述數(shù)據(jù)傳輸請(qǐng)求的類型是否為DMA數(shù)據(jù)讀寫請(qǐng)求;
[0015]若是DMA數(shù)據(jù)讀寫請(qǐng)求,則判斷所述DMA數(shù)據(jù)讀寫請(qǐng)求的讀寫地址是否連續(xù);
[0016]若讀寫地址連續(xù),則所述DMA數(shù)據(jù)讀寫請(qǐng)求的待傳輸數(shù)據(jù)具備壓縮條件。
[0017]結(jié)合第一方面、第一方面的第一種可能的實(shí)現(xiàn)方式或第二種可能的實(shí)現(xiàn)方式中任一種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述壓縮事務(wù)層數(shù)據(jù)報(bào)文的包頭缺少的至少一個(gè)字段包括:數(shù)據(jù)報(bào)文長(zhǎng)度字段和字節(jié)使能字段。
[0018]結(jié)合第一方面、第一方面的第一種可能的實(shí)現(xiàn)方式或第二種可能的實(shí)現(xiàn)方式中任一種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,所述壓縮事務(wù)層數(shù)據(jù)報(bào)文配置壓縮信息的字段包括目標(biāo)地址字段,在該字段配置的壓縮信息為地址偏移量;所述地址偏移量為所述壓縮事務(wù)層數(shù)據(jù)報(bào)文的目標(biāo)地址相對(duì)于完全事務(wù)層數(shù)據(jù)報(bào)文的目標(biāo)地址的地址偏移量。
[0019]結(jié)合第一方面、第一方面的第一種可能的實(shí)現(xiàn)方式或第二種可能的實(shí)現(xiàn)方式中任一種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,所述若具備壓縮條件,則將所述待傳輸數(shù)據(jù)封裝在至少兩個(gè)數(shù)據(jù)報(bào)文包括:
[0020]若具備壓縮條件,則將所述待傳輸數(shù)據(jù)封裝在至少兩個(gè)事務(wù)層數(shù)據(jù)報(bào)文中;所述至少兩個(gè)事務(wù)層數(shù)據(jù)報(bào)文中的報(bào)文長(zhǎng)度相等。
[0021]結(jié)合第一方面、第一方面的第一種可能的實(shí)現(xiàn)方式或第二種可能的實(shí)現(xiàn)方式中任一種可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,所述若具備壓縮條件,則將所述待傳輸數(shù)據(jù)封裝在至少兩個(gè)數(shù)據(jù)報(bào)文包括:
[0022]若具備壓縮條件,則將所述待傳輸數(shù)據(jù)封裝在一個(gè)頭事務(wù)層數(shù)據(jù)報(bào)文、至少一個(gè)中間事務(wù)層數(shù)據(jù)報(bào)文和一個(gè)尾事務(wù)層數(shù)據(jù)報(bào)文中,其中,所述頭事務(wù)層數(shù)據(jù)報(bào)文和尾事務(wù)層數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文,中間事務(wù)層數(shù)據(jù)報(bào)文為壓縮事務(wù)層數(shù)據(jù)報(bào)文。
[0023]第二方面,本發(fā)明實(shí)施例提供一種基于外圍組件互連快遞PCIE總線的報(bào)文傳輸方法,該方法包括:接收對(duì)端設(shè)備通過(guò)PCIE總線傳輸?shù)氖聞?wù)層數(shù)據(jù)報(bào)文并進(jìn)行識(shí)別;
[0024]當(dāng)識(shí)別到所述事務(wù)層數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文時(shí),從所述完全事務(wù)層數(shù)據(jù)報(bào)文的各字段中獲取完整信息;
[0025]當(dāng)識(shí)別到所述事務(wù)層數(shù)據(jù)報(bào)文為壓縮事務(wù)層數(shù)據(jù)報(bào)文時(shí),根據(jù)數(shù)據(jù)標(biāo)識(shí)將屬于同一次待傳輸數(shù)據(jù)的所述完全事務(wù)層數(shù)據(jù)報(bào)文中的完整信息恢復(fù)所述壓縮事務(wù)層數(shù)據(jù)報(bào)文中缺少的字段或配置壓縮信息的字段,獲得壓縮事務(wù)層數(shù)據(jù)報(bào)文;
[0026]拼接各事務(wù)層數(shù)據(jù)報(bào)文以獲取對(duì)端設(shè)備數(shù)據(jù)發(fā)送的待傳輸數(shù)據(jù)。[0027]在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述接收對(duì)端設(shè)備基于PCIE總線傳輸?shù)氖聞?wù)層數(shù)據(jù)報(bào)文并進(jìn)行識(shí)別包括:
[0028]接收對(duì)端設(shè)備基于PCIE總線傳輸?shù)氖聞?wù)層數(shù)據(jù)報(bào)文;
[0029]從所述事務(wù)層數(shù)據(jù)報(bào)文中解析設(shè)定字段的標(biāo)識(shí);
[0030]當(dāng)識(shí)別到所述標(biāo)識(shí)為完全標(biāo)識(shí)時(shí),則所述事務(wù)層數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文;
[0031]當(dāng)識(shí)別到所述標(biāo)識(shí)為壓縮標(biāo)識(shí)時(shí),則所述事務(wù)層數(shù)據(jù)報(bào)文為壓縮事務(wù)層數(shù)據(jù)報(bào)文。
[0032]結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的實(shí)現(xiàn)方式中,所述根據(jù)數(shù)據(jù)標(biāo)識(shí)將屬于同一次待傳輸數(shù)據(jù)的所述完全事務(wù)層數(shù)據(jù)報(bào)文中的完整信息恢復(fù)所述壓縮事務(wù)層數(shù)據(jù)報(bào)文中缺少的字段或配置壓縮信息的字段,獲得壓縮事務(wù)層數(shù)據(jù)報(bào)文,包括:
[0033]從所述壓縮事務(wù)層數(shù)據(jù)報(bào)文的目標(biāo)地址字段中獲得地址偏移量;
[0034]從與所述壓縮事務(wù)層數(shù)據(jù)報(bào)文的數(shù)據(jù)標(biāo)識(shí)相同的完全事務(wù)層數(shù)據(jù)報(bào)文中的目標(biāo)地址字段中獲得基地址;
[0035]將地址偏移量與基地址相加,得到所述壓縮數(shù)據(jù)層報(bào)文的目標(biāo)地址信息。
[0036]第三方面,本發(fā)明實(shí)施例提供一種基于外圍組件互連快遞PCIE總線的報(bào)文傳輸裝置,該裝置包括:接收判斷模塊,用于接收數(shù)據(jù)傳輸請(qǐng)求,并根據(jù)所述數(shù)據(jù)傳輸請(qǐng)求判斷所述數(shù)據(jù)傳輸請(qǐng)求所請(qǐng)求的待傳輸數(shù)據(jù)是否具備壓縮條件;
[0037]封裝模塊,用于若具備壓縮條件,則將所述待傳輸數(shù)據(jù)封裝在至少兩個(gè)數(shù)據(jù)報(bào)文中;其中,所述至少兩個(gè)數(shù)據(jù)報(bào)文的第一個(gè)數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文和所述至少兩個(gè)數(shù)據(jù)報(bào)文的其他數(shù)據(jù)報(bào)文中的至少一個(gè)為壓縮事務(wù)層數(shù)據(jù)報(bào)文,各所述數(shù)據(jù)報(bào)文中配置有標(biāo)識(shí)所述數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文或壓縮事務(wù)層數(shù)據(jù)報(bào)文的信息;與所述完全事務(wù)層數(shù)據(jù)報(bào)文相比,所述壓縮事務(wù)層數(shù)據(jù)報(bào)文缺少至少一個(gè)字段或所述壓縮事務(wù)層數(shù)據(jù)報(bào)文的至少一個(gè)字段中配置壓縮信息;將所述至少兩個(gè)數(shù)據(jù)報(bào)文的數(shù)據(jù)標(biāo)識(shí)設(shè)置為相同值;
[0038]傳輸模塊,用于將所述至少兩個(gè)數(shù)據(jù)報(bào)文通過(guò)PCIE總線傳輸給對(duì)端設(shè)備。
[0039]在第三方面的第一種可能的實(shí)現(xiàn)方式中,所述接收模塊,包括:
[0040]第一接收單元,用于接收數(shù)據(jù)傳輸請(qǐng)求;
[0041]判斷單元,用于判斷所述數(shù)據(jù)傳輸請(qǐng)求的類型是否為設(shè)定的可壓縮請(qǐng)求,若是,則待傳輸數(shù)據(jù)具備壓縮條件。
[0042]根據(jù)第三方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述判斷單元具體用于:
[0043]判斷所述數(shù)據(jù)傳輸請(qǐng)求的類型是否為直接內(nèi)存存取DMA數(shù)據(jù)讀寫請(qǐng)求,所述DMA數(shù)據(jù)讀寫請(qǐng)求包含DMA數(shù)據(jù)寫請(qǐng)求和DMA數(shù)據(jù)讀請(qǐng)求;
[0044]若是DMA數(shù)據(jù)讀寫請(qǐng)求,則判斷所述DMA數(shù)據(jù)讀寫請(qǐng)求的讀寫地址是否連續(xù);
[0045]若讀寫地址連續(xù),則所述DMA數(shù)據(jù)讀寫請(qǐng)求的待傳輸數(shù)據(jù)具備壓縮條件。
[0046]結(jié)合第三方面、第三方面的第一種可能的實(shí)現(xiàn)方式及第二種可能的實(shí)現(xiàn)方式中任一種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述封裝模塊,包括:
[0047]等長(zhǎng)封裝單元,用于若具備壓縮條件,則將所述待傳輸數(shù)據(jù)封裝在至少兩個(gè)事務(wù)層數(shù)據(jù)報(bào)文中;所述至少兩個(gè)事務(wù)層數(shù)據(jù)報(bào)文中的報(bào)文長(zhǎng)度相等。
[0048]結(jié)合本發(fā)明的第三方面、第三方面的第一種可能的實(shí)現(xiàn)方式及第二種可能的實(shí)現(xiàn)方式中任一種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,所述封裝模塊,用于:若具備壓縮條件,則將所述待傳輸數(shù)據(jù)封裝在一個(gè)頭事務(wù)層數(shù)據(jù)報(bào)文、至少一個(gè)中間事務(wù)層數(shù)據(jù)報(bào)文和一個(gè)尾事務(wù)層數(shù)據(jù)報(bào)文中,其中,所述頭事務(wù)層數(shù)據(jù)報(bào)文和尾事務(wù)層數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文,中間事務(wù)層數(shù)據(jù)報(bào)文為壓縮事務(wù)層數(shù)據(jù)報(bào)文。
[0049]第四方面,本發(fā)明實(shí)施例提供一種基于外圍組件互連快遞PCIE總線的報(bào)文傳輸裝置,該裝置包括:接收識(shí)別模塊,用于接收對(duì)端設(shè)備通過(guò)PCIE總線傳輸?shù)氖聞?wù)層數(shù)據(jù)報(bào)文并進(jìn)行識(shí)別;
[0050]獲取模塊,用于當(dāng)識(shí)別到所述事務(wù)層數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文時(shí),從所述完全事務(wù)層數(shù)據(jù)報(bào)文的各字段中獲取完整信息;
[0051]修復(fù)模塊,用于當(dāng)識(shí)別到所述事務(wù)層數(shù)據(jù)報(bào)文為壓縮事務(wù)層數(shù)據(jù)報(bào)文時(shí),根據(jù)數(shù)據(jù)標(biāo)識(shí)將屬于同一次待傳輸數(shù)據(jù)的所述完全事務(wù)層數(shù)據(jù)報(bào)文中的完整信息恢復(fù)所述壓縮事務(wù)層數(shù)據(jù)報(bào)文中缺少的字段或配置壓縮信息的字段,獲得壓縮事務(wù)層數(shù)據(jù)報(bào)文;
[0052]拼接模塊,用于拼接各事務(wù)層數(shù)據(jù)報(bào)文以獲取對(duì)端設(shè)備數(shù)據(jù)發(fā)送的待傳輸數(shù)據(jù)。
[0053]在第四方面的第一種可能的實(shí)現(xiàn)方式中,所述接收識(shí)別模塊包括:
[0054]第二接收單元,用于接收對(duì)端設(shè)備基于PCIE總線傳輸?shù)氖聞?wù)層數(shù)據(jù)報(bào)文;
[0055]標(biāo)識(shí)解析單元,用于從所述事務(wù)層數(shù)據(jù)報(bào)文中解析設(shè)定字段的標(biāo)識(shí);
[0056]完全報(bào)文識(shí)別單元,用于當(dāng)識(shí)別到所述標(biāo)識(shí)為完全標(biāo)識(shí)時(shí),則所述事務(wù)層數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文;
[0057]壓縮報(bào)文識(shí)別單元,用于當(dāng)識(shí)別到所述標(biāo)識(shí)為壓縮標(biāo)識(shí)時(shí),則所述事務(wù)層數(shù)據(jù)報(bào)文為壓縮事務(wù)層數(shù)據(jù)報(bào)文。
[0058]結(jié)合第四方面或第四方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述修復(fù)模塊具體用于:
[0059]從所述壓縮事務(wù)層數(shù)據(jù)報(bào)文的目標(biāo)地址字段中獲得地址偏移量;
[0060]從與所述壓縮事務(wù)層數(shù)據(jù)報(bào)文的數(shù)據(jù)標(biāo)識(shí)相同的完全事務(wù)層數(shù)據(jù)報(bào)文中的目標(biāo)地址字段中獲得基地址;
[0061]將地址偏移量與基地址相加,得到所述壓縮數(shù)據(jù)層報(bào)文的目標(biāo)地址信息。
[0062]本發(fā)明實(shí)施例提供的基于PCIE總線的報(bào)文傳輸方法與裝置,如果待傳輸數(shù)據(jù)具備壓縮條件,則將待傳輸?shù)臄?shù)據(jù)封裝成配置有完全事務(wù)層數(shù)據(jù)報(bào)文標(biāo)識(shí)信息的一個(gè)完全事務(wù)層數(shù)據(jù)報(bào)文和至少一個(gè)壓縮事務(wù)層數(shù)據(jù)報(bào)文,其中,壓縮事務(wù)層數(shù)據(jù)報(bào)文中缺少至少一個(gè)字段或者在至少一個(gè)字段配置了壓縮信息,使得壓縮事務(wù)層數(shù)據(jù)報(bào)文相對(duì)于完全事務(wù)層數(shù)據(jù)報(bào)文傳輸?shù)男畔⑸?,在接收端?duì)壓縮事務(wù)層數(shù)據(jù)報(bào)文進(jìn)行恢復(fù),在保證傳輸數(shù)據(jù)不出錯(cuò)的情況下,壓縮后的數(shù)據(jù)報(bào)文去除了部分信息,在傳輸過(guò)程中實(shí)現(xiàn)節(jié)約信道資源。
【專利附圖】

【附圖說(shuō)明】
[0063]圖1是本發(fā)明基于PCIE總線的報(bào)文傳輸方法實(shí)施例一的流程圖;
[0064]圖2是本發(fā)明基于PCIE總線的報(bào)文傳輸方法實(shí)施例二的流程圖;
[0065]圖3是本發(fā)明實(shí)施例中DMA數(shù)據(jù)讀寫請(qǐng)求發(fā)起端增加控制邏輯之后的流程圖;[0066]圖4a是本發(fā)明實(shí)施例中DMA數(shù)據(jù)寫請(qǐng)求的事務(wù)層數(shù)據(jù)報(bào)文中的頭事務(wù)層數(shù)據(jù)報(bào)文包頭格式示意圖;
[0067]圖4b是本發(fā)明實(shí)施例中數(shù)據(jù)寫請(qǐng)求的事務(wù)層數(shù)據(jù)報(bào)文中中間事務(wù)層數(shù)據(jù)報(bào)文包頭格式示意圖;
[0068]圖4c是本發(fā)明實(shí)施例中數(shù)據(jù)寫請(qǐng)求的事務(wù)層數(shù)據(jù)報(bào)文中尾事務(wù)層數(shù)據(jù)報(bào)文包頭格式示意圖;
[0069]圖5是本發(fā)明實(shí)施例中DMA接收端增加控制邏輯之后的流程圖;
[0070]圖6是本發(fā)明基于PCIE總線的報(bào)文傳輸裝置實(shí)施例一的結(jié)構(gòu)示意圖;
[0071]圖7是本發(fā)明基于PCIE總線的報(bào)文傳輸裝置實(shí)施例二的結(jié)構(gòu)示意圖;
[0072]圖8是本發(fā)明基于PCIE總線的報(bào)文傳輸發(fā)起端設(shè)備的結(jié)構(gòu)示意圖;
[0073]圖9是本發(fā)明基于PCIE總線的報(bào)文傳輸接收端設(shè)備的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0074]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0075]圖1是本發(fā)明基于PCIE總線的報(bào)文傳輸方法實(shí)施例一的流程圖,本發(fā)明實(shí)施例可適用于任意基于PCIE總線交互的設(shè)備中,由該設(shè)備中的報(bào)文傳輸裝置來(lái)執(zhí)行。如圖1所示,本實(shí)施例提供的基于PCIE總線的報(bào)文傳輸方法包括:
[0076]步驟101、接收數(shù)據(jù)傳輸請(qǐng)求,并根據(jù)數(shù)據(jù)傳輸請(qǐng)求判斷數(shù)據(jù)傳輸請(qǐng)求所請(qǐng)求的待傳輸數(shù)據(jù)是否具備壓縮條件。
[0077]具體地,基于PCIE總線交互的設(shè)備接收數(shù)據(jù)傳輸請(qǐng)求,該數(shù)據(jù)傳輸請(qǐng)求可以是數(shù)據(jù)寫請(qǐng)求,也可以是數(shù)據(jù)讀請(qǐng)求,基于PCIE總線交互的設(shè)備可以根據(jù)數(shù)據(jù)傳輸請(qǐng)求的類型判斷數(shù)據(jù)傳輸請(qǐng)求是否具備壓縮條件。
[0078]步驟102、若具備壓縮條件,則將待傳輸數(shù)據(jù)封裝在至少兩個(gè)數(shù)據(jù)報(bào)文中;其中,至少兩個(gè)數(shù)據(jù)報(bào)文的第一個(gè)數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文和至少兩個(gè)數(shù)據(jù)報(bào)文的其他數(shù)據(jù)報(bào)文中的至少一個(gè)為壓縮事務(wù)層數(shù)據(jù)報(bào)文,各數(shù)據(jù)報(bào)文中配置有標(biāo)識(shí)數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文或壓縮事務(wù)層數(shù)據(jù)報(bào)文的信息;所述壓縮事務(wù)層數(shù)據(jù)報(bào)文缺少至少一個(gè)字段或所述壓縮事務(wù)層數(shù)據(jù)報(bào)文的至少一個(gè)字段中配置壓縮信息;將所述至少兩個(gè)數(shù)據(jù)報(bào)文的數(shù)據(jù)標(biāo)識(shí)設(shè)置為相同值。配置壓縮信息的字段通常是事務(wù)層數(shù)據(jù)報(bào)文中具有某些規(guī)律變化的字段,其特點(diǎn)是大部分信息相同而少部分信息不同,或者是字段內(nèi)信息按照設(shè)定規(guī)律變化。
[0079]屬于同一次待傳輸數(shù)據(jù)的數(shù)據(jù)報(bào)文的數(shù)據(jù)標(biāo)識(shí)設(shè)置為相同值,以使當(dāng)前次待傳輸數(shù)據(jù)的數(shù)據(jù)報(bào)文區(qū)別于其他次待傳輸數(shù)據(jù)的數(shù)據(jù)報(bào)文。
[0080]在實(shí)際應(yīng)用中,如果確定該數(shù)據(jù)傳輸請(qǐng)求具備壓縮條件,則將該數(shù)據(jù)傳輸請(qǐng)求所指定的待傳輸?shù)臄?shù)據(jù)按照一定字節(jié)數(shù)切割成子數(shù)據(jù)后,將其進(jìn)行封裝后再進(jìn)行傳輸。例如,若具備壓縮條件,則將所述待傳輸數(shù)據(jù)封裝在一個(gè)頭事務(wù)層數(shù)據(jù)報(bào)文、至少一個(gè)中間事務(wù)層數(shù)據(jù)報(bào)文和一個(gè)尾事務(wù)層數(shù)據(jù)報(bào)文中,其中,所述頭事務(wù)層數(shù)據(jù)報(bào)文和尾事務(wù)層數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文,中間事務(wù)層數(shù)據(jù)報(bào)文為壓縮事務(wù)層數(shù)據(jù)報(bào)文。并且由于中間事務(wù)層數(shù)據(jù)報(bào)文為壓縮事務(wù)層數(shù)據(jù)報(bào)文,因此在中間事務(wù)層數(shù)據(jù)報(bào)文中刪除與完全事務(wù)層數(shù)據(jù)報(bào)文相同字段,該與完全事務(wù)層數(shù)據(jù)報(bào)文相同字段可以具體為數(shù)據(jù)報(bào)文長(zhǎng)度字段和字節(jié)使能字段配置的信息,因?yàn)榧词箾](méi)有這些字段,對(duì)端設(shè)備也可以根據(jù)完全事務(wù)層數(shù)據(jù)報(bào)文和壓縮事務(wù)層數(shù)據(jù)報(bào)文中的信息獲取壓縮事務(wù)層數(shù)據(jù)報(bào)文的數(shù)據(jù)以及讀取地址或儲(chǔ)存地址。另外需要為完全事務(wù)層數(shù)據(jù)報(bào)文和壓縮事務(wù)層數(shù)據(jù)報(bào)文配置相應(yīng)的標(biāo)識(shí)位,以使對(duì)端設(shè)備能夠識(shí)別接收到的數(shù)據(jù)報(bào)文是完全事務(wù)層數(shù)據(jù)報(bào)文還是壓縮事務(wù)層數(shù)據(jù)報(bào)文。在第一個(gè)事務(wù)層數(shù)據(jù)報(bào)文的各字段配置完整信息,該完整信息是指完全事務(wù)層數(shù)據(jù)報(bào)文的包頭信息中包含全部字段及其字段信息,且在完全事務(wù)層數(shù)據(jù)報(bào)文的包頭信息中的保留字段配置完全標(biāo)識(shí),以將所述事務(wù)層數(shù)據(jù)報(bào)文作為完全事務(wù)層數(shù)據(jù)報(bào)文;在剩余事務(wù)層數(shù)據(jù)報(bào)文與完全事務(wù)層數(shù)據(jù)報(bào)文的相近字段中配置壓縮信息,或?qū)嚎s事務(wù)層數(shù)據(jù)報(bào)文中的與完全事務(wù)層數(shù)據(jù)報(bào)文相同字段刪除,刪除的相同字段可以是數(shù)據(jù)報(bào)文長(zhǎng)度字段和字節(jié)使能字段,且在壓縮事務(wù)層數(shù)據(jù)局報(bào)文的包頭信息中的保留字段配置壓縮標(biāo)識(shí),以將所述事務(wù)層數(shù)據(jù)報(bào)文作為壓縮事務(wù)層數(shù)據(jù)報(bào)文。將待傳輸數(shù)據(jù)封裝成至少兩個(gè)數(shù)據(jù)報(bào)文中,在該兩個(gè)數(shù)據(jù)報(bào)文中都設(shè)置有相同的數(shù)據(jù)標(biāo)識(shí),該數(shù)據(jù)標(biāo)識(shí)用于表示數(shù)據(jù)報(bào)文屬于一個(gè)待傳輸數(shù)據(jù),以使當(dāng)前次待傳輸數(shù)據(jù)的數(shù)據(jù)報(bào)文區(qū)別于其他次待傳輸數(shù)據(jù)的數(shù)據(jù)報(bào)文。在對(duì)端設(shè)備接收到數(shù)據(jù)報(bào)文時(shí),可以區(qū)分屬于不同次傳輸?shù)臄?shù)據(jù)報(bào)文,避免產(chǎn)生亂序的問(wèn)題,保證接收數(shù)據(jù)的準(zhǔn)確性。
[0081]步驟103、將至少兩個(gè)數(shù)據(jù)報(bào)文通過(guò)PCIE總線傳輸給對(duì)端設(shè)備。
[0082]具體地,基于PCIE總線交互的設(shè)備將封裝的完全事務(wù)層數(shù)據(jù)報(bào)文和壓縮事務(wù)層數(shù)據(jù)報(bào)文根據(jù)PCIE總線的協(xié)議傳輸對(duì)端設(shè)備。該對(duì)端設(shè)備可以是PCIE設(shè)備。
[0083]本發(fā)明實(shí)施例提供的基于PCIE總線的報(bào)文傳輸方法,在數(shù)據(jù)傳輸過(guò)程中,通過(guò)判斷數(shù)據(jù)傳輸請(qǐng)求的待傳輸數(shù)據(jù)是否具備壓縮條件,如果具備壓縮條件,則將待傳輸?shù)臄?shù)據(jù)封裝成配置有完全事務(wù)層數(shù)據(jù)報(bào)文標(biāo)識(shí)信息的一個(gè)完全事務(wù)層數(shù)據(jù)報(bào)文和配置壓縮事務(wù)層數(shù)據(jù)報(bào)文的標(biāo)識(shí)信息的至少一個(gè)壓縮事務(wù)層數(shù)據(jù)報(bào)文,其中,壓縮事務(wù)層數(shù)據(jù)報(bào)文中缺少與完全事務(wù)層數(shù)據(jù)報(bào)文的相同字段或壓縮事務(wù)層數(shù)據(jù)報(bào)文與完全事務(wù)層數(shù)據(jù)報(bào)文相近字段中配置了壓縮信息,以使壓縮事務(wù)層數(shù)據(jù)報(bào)文相對(duì)與完全事務(wù)層數(shù)據(jù)報(bào)文傳輸?shù)男畔⑸?,待傳輸?shù)據(jù)封裝在至少兩個(gè)數(shù)據(jù)報(bào)文中,該至少兩個(gè)數(shù)據(jù)報(bào)文中設(shè)置了相同值的數(shù)據(jù)標(biāo)識(shí),并將封裝后的待傳輸數(shù)據(jù)通過(guò)PCIE總線傳輸給對(duì)端設(shè)備,以使對(duì)端設(shè)備可以根據(jù)數(shù)據(jù)標(biāo)識(shí)接收屬于一次待傳輸數(shù)據(jù)的至少兩個(gè)數(shù)據(jù)報(bào)文,在保證傳輸數(shù)據(jù)不出錯(cuò)的情況下,壓縮后的數(shù)據(jù)報(bào)文去除了部分信息,在傳輸過(guò)程中實(shí)現(xiàn)節(jié)約信道資源。
[0084]在上述實(shí)施例的基礎(chǔ)上,步驟101可以具體為:接收數(shù)據(jù)傳輸請(qǐng)求;判斷數(shù)據(jù)傳輸請(qǐng)求的是否為設(shè)定的可壓縮請(qǐng)求,若是,則待傳輸數(shù)據(jù)具備壓縮條件,否則,待傳輸數(shù)據(jù)不具備壓縮條件。即可區(qū)分不同類型的數(shù)據(jù)傳輸請(qǐng)求來(lái)判定其是否可壓縮。
[0085]例如,在數(shù)據(jù)寫請(qǐng)求或數(shù)據(jù)讀請(qǐng)求中,由于待傳輸數(shù)據(jù)在封裝為多個(gè)事務(wù)層數(shù)據(jù)報(bào)文之后,大部分字段都相同,所以可作為可壓縮請(qǐng)求。
[0086]本發(fā)明實(shí)施例提供的基于PCIE總線的報(bào)文傳輸方法,將事務(wù)層數(shù)據(jù)報(bào)文區(qū)分為攜帶完整信息和壓縮信息兩種,因而在壓縮事務(wù)層數(shù)據(jù)報(bào)文中減少了與完全事務(wù)層數(shù)據(jù)報(bào)文的重復(fù)信息,在傳輸過(guò)程中實(shí)現(xiàn)節(jié)約信道資源。[0087]進(jìn)一步的,當(dāng)寫地址或讀地址連續(xù)時(shí),則目標(biāo)地址字段只會(huì)發(fā)生順序且有規(guī)律的變化,也可以進(jìn)行壓縮,不用攜帶完整的地址信息,而僅攜帶地址偏移量。所以,上述判斷的步驟又可以具體是:
[0088]判斷所述數(shù)據(jù)傳輸請(qǐng)求的類型是否為DMA數(shù)據(jù)寫請(qǐng)求;
[0089]若是DMA數(shù)據(jù)寫請(qǐng)求,則判斷所述DMA數(shù)據(jù)寫請(qǐng)求的寫地址是否連續(xù);
[0090]若寫地址連續(xù),則所述DMA數(shù)據(jù)寫請(qǐng)求的待傳輸數(shù)據(jù)具備壓縮條件。
[0091]或者是:
[0092]判斷所述數(shù)據(jù)傳輸請(qǐng)求的類型是否為DMA數(shù)據(jù)讀請(qǐng)求;
[0093]若是DMA數(shù)據(jù)讀請(qǐng)求,則判斷所述DMA數(shù)據(jù)讀請(qǐng)求的讀地址是否連續(xù);
[0094]若讀地址連續(xù),則所述DMA數(shù)據(jù)讀請(qǐng)求的待傳輸數(shù)據(jù)具備壓縮條件。
[0095]更進(jìn)一步地,區(qū)分完全事務(wù)層數(shù)據(jù)報(bào)文和壓縮事務(wù)層數(shù)據(jù)報(bào)文的方式可以通過(guò)標(biāo)識(shí)來(lái)實(shí)現(xiàn),優(yōu)選是以事務(wù)層數(shù)據(jù)報(bào)文中的保留字段攜帶完全標(biāo)識(shí)或壓縮標(biāo)識(shí)來(lái)區(qū)分事務(wù)層數(shù)據(jù)報(bào)文。
[0096]在本發(fā)明實(shí)施例中,通過(guò)判斷DMA數(shù)據(jù)的寫請(qǐng)求的寫地址是否連續(xù)或讀請(qǐng)求的讀地址是否連續(xù),并且如果寫地址或讀地址連續(xù),則表示具備壓縮條件,并將具備壓縮條件的中間事務(wù)層數(shù)據(jù)報(bào)文,刪除重復(fù)字段,以及減少部分字段的信息后進(jìn)行傳輸。
[0097]在上述實(shí)施例中,作為一種可選的實(shí)施方式,壓縮事務(wù)層數(shù)據(jù)報(bào)文與完全事務(wù)層數(shù)據(jù)報(bào)文的相同字段至少包括:數(shù)據(jù)報(bào)文長(zhǎng)度字段和字節(jié)使能字段。
[0098]具體地,在壓縮事務(wù)層數(shù)據(jù)報(bào)文中缺少的字段包括:數(shù)據(jù)報(bào)文長(zhǎng)度字段和字節(jié)使能字段,由于壓縮事務(wù)層數(shù)據(jù)報(bào)文中相對(duì)于完全事務(wù)層數(shù)據(jù)報(bào)文缺少兩個(gè)字段,節(jié)約了在傳輸壓縮事務(wù)層數(shù)據(jù)報(bào)文過(guò)程中的信道資源,同時(shí)也提高了信道資源的利用率。
[0099]作為另一種可選的實(shí)施方式,壓縮事務(wù)層數(shù)據(jù)報(bào)文配置壓縮信息的字段包括目標(biāo)地址字段,在該字段配置的壓縮信息為地址偏移量;地址偏移量為壓縮事務(wù)層數(shù)據(jù)報(bào)文的目標(biāo)地址相對(duì)于完全事務(wù)層數(shù)據(jù)報(bào)文的目標(biāo)地址的地址偏移量。
[0100]在實(shí)際應(yīng)用中,目標(biāo)地址字段占用數(shù)據(jù)報(bào)文中的8個(gè)字節(jié),而如果將壓縮事務(wù)層數(shù)據(jù)報(bào)文中的目標(biāo)地址字段配置為地址偏移量,該地址偏移量占用數(shù)據(jù)報(bào)文中的4個(gè)字節(jié),地址偏移量為壓縮事務(wù)層數(shù)據(jù)報(bào)文的目標(biāo)地址相對(duì)于完全事務(wù)層數(shù)據(jù)報(bào)文的目標(biāo)地址的地址偏移量。因此通過(guò)將壓縮事務(wù)層數(shù)據(jù)報(bào)文的目標(biāo)地址字段配置為地址偏移量,減少了壓縮事務(wù)層數(shù)據(jù)報(bào)文在傳輸過(guò)程中占用的信道資源。
[0101]本發(fā)明實(shí)施例提供的基于PCIE總線的報(bào)文傳輸方法,通過(guò)在完全事務(wù)層數(shù)據(jù)報(bào)文配置完整的信息,而壓縮事務(wù)層數(shù)據(jù)報(bào)文配置的信息并不完整,壓縮事務(wù)層數(shù)據(jù)報(bào)文中缺少與完全事務(wù)層數(shù)據(jù)報(bào)文的相同的數(shù)據(jù)報(bào)文長(zhǎng)度字段和字節(jié)使能字段或?qū)嚎s事務(wù)層數(shù)據(jù)報(bào)文中的目標(biāo)地址信息配置為地址偏移量,從而在數(shù)據(jù)傳輸過(guò)程中,可以有效節(jié)約信道資源。
[0102]在上述實(shí)施例的基礎(chǔ)上,可以采用事務(wù)層數(shù)據(jù)報(bào)文中的保留字段攜帶標(biāo)識(shí)的方式來(lái)區(qū)別完全事務(wù)層數(shù)據(jù)報(bào)文和壓縮事務(wù)層數(shù)據(jù)報(bào)文。此外,數(shù)據(jù)報(bào)文可以非等長(zhǎng)劃分,但優(yōu)選是等長(zhǎng)劃分,即所述若具備壓縮條件,則將所述待傳輸數(shù)據(jù)封裝在至少一個(gè)完全事務(wù)層數(shù)據(jù)報(bào)文和至少一個(gè)壓縮事務(wù)層數(shù)據(jù)報(bào)文可包括:
[0103]若具備壓縮條件,則將所述待傳輸數(shù)據(jù)封裝在至少兩個(gè)事務(wù)層數(shù)據(jù)報(bào)文中;所述至少兩個(gè)事務(wù)層數(shù)據(jù)報(bào)文中的報(bào)文長(zhǎng)度相等。
[0104]此外的非等長(zhǎng)或等長(zhǎng)劃分方式為,若具備壓縮條件,則將所述待傳輸數(shù)據(jù)封裝在一個(gè)頭事務(wù)層數(shù)據(jù)報(bào)文、至少一個(gè)中間事務(wù)層數(shù)據(jù)報(bào)文和一個(gè)尾事務(wù)層數(shù)據(jù)報(bào)文中,其中,所述頭事務(wù)層數(shù)據(jù)報(bào)文和尾事務(wù)層數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文,中間事務(wù)層數(shù)據(jù)報(bào)文為壓縮事務(wù)層數(shù)據(jù)報(bào)文。此方式適用于非等長(zhǎng)劃分方式,尾事務(wù)層數(shù)據(jù)報(bào)文的報(bào)文長(zhǎng)度可以與頭、中間事務(wù)層數(shù)據(jù)報(bào)文的報(bào)文長(zhǎng)度不等。
[0105]具體地,一份數(shù)據(jù)切割成多個(gè)子數(shù)據(jù),在對(duì)多個(gè)子數(shù)據(jù)封裝成多個(gè)事務(wù)層數(shù)據(jù)報(bào)文的過(guò)程中,在判斷當(dāng)前的一份數(shù)據(jù)寫入地址連續(xù)后,將其切割后的子數(shù)據(jù)封裝在等長(zhǎng)的至少兩個(gè)事務(wù)層數(shù)據(jù)報(bào)文中,并且在屬于同一份數(shù)據(jù)的第一個(gè)子數(shù)據(jù)封裝的事務(wù)層數(shù)據(jù)報(bào)文的各字段配置完整信息,并且在第一個(gè)子數(shù)據(jù)的事務(wù)層報(bào)文的保留字段配置完全標(biāo)識(shí),表示該事務(wù)層數(shù)據(jù)報(bào)文中包含完整的數(shù)據(jù)報(bào)文信息。并在剩余的事務(wù)層報(bào)文與完全事務(wù)層數(shù)據(jù)報(bào)文的相同字段配置壓縮信息,且在保留字段配置壓縮標(biāo)識(shí),表示剩余的事務(wù)層數(shù)據(jù)報(bào)文屬于當(dāng)前一份數(shù)據(jù)中的其他子數(shù)據(jù)封裝的事務(wù)層數(shù)據(jù)報(bào)文。
[0106]進(jìn)一步地,實(shí)際應(yīng)用中還存在一種情況,就是當(dāng)前的一份數(shù)據(jù)不能切割成等分的多個(gè)子數(shù)據(jù),在按照一定字節(jié)切割的過(guò)程中,可能尾事務(wù)層數(shù)據(jù)的長(zhǎng)度與其他子數(shù)據(jù)的長(zhǎng)度不一致,因此,在封裝的過(guò)程中,就將待傳輸?shù)臄?shù)據(jù)封裝在一個(gè)頭事務(wù)層數(shù)據(jù)報(bào)文、至少一個(gè)中間事務(wù)層數(shù)據(jù)報(bào)文和一個(gè)尾事務(wù)層數(shù)據(jù)報(bào)文中,其中,頭事務(wù)層數(shù)據(jù)報(bào)文作為當(dāng)前數(shù)據(jù)的第一個(gè)子數(shù)據(jù)事務(wù)層數(shù)據(jù)報(bào)文,包含完整的信息,屬于完全事務(wù)層數(shù)據(jù)報(bào)文,中間事務(wù)層數(shù)據(jù)報(bào)文不需要包含完整的信息,屬于壓縮事務(wù)層數(shù)據(jù)報(bào)文,由于尾事務(wù)層數(shù)據(jù)報(bào)文與其他事務(wù)層數(shù)據(jù)報(bào)文不等長(zhǎng),因此也需要包含完整的信息,屬于完全事務(wù)層數(shù)據(jù)報(bào)文。
[0107]圖2是本發(fā)明基于PCIE總線的報(bào)文傳輸方法實(shí)施例二的流程圖,本發(fā)明實(shí)施例可適用于任意基于PCIE總線交互的設(shè)備中,由該設(shè)備中的報(bào)文傳輸裝置來(lái)執(zhí)行。如圖2所示,本發(fā)明實(shí)施例提供的基于PCIE總線的報(bào)文傳輸方法包括:
[0108]步驟201、接收對(duì)端設(shè)備通過(guò)PCIE總線傳輸?shù)氖聞?wù)層數(shù)據(jù)報(bào)文并進(jìn)行識(shí)別。
[0109]具體地,在接收到基于PCIE總線傳輸?shù)氖聞?wù)層數(shù)據(jù)報(bào)文后,對(duì)事務(wù)層數(shù)據(jù)報(bào)文中保留字段的信息進(jìn)行識(shí)別,判斷接收到的事務(wù)層數(shù)據(jù)報(bào)文是完全事務(wù)層數(shù)據(jù)報(bào)文還是壓縮事務(wù)層數(shù)據(jù)報(bào)文。
[0110]步驟202、當(dāng)識(shí)別到事務(wù)層數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文時(shí),從完全事務(wù)層數(shù)據(jù)報(bào)文的各字段中獲取完整信息。
[0111]具體地,如果識(shí)別為完全事務(wù)層數(shù)據(jù)報(bào)文,則將完全事務(wù)層數(shù)據(jù)報(bào)文中獲取完整信息,該完整信息可包括:目標(biāo)地址字段和數(shù)據(jù)報(bào)文長(zhǎng)度字段等,并且目標(biāo)地址字段作為基地址,而壓縮數(shù)據(jù)報(bào)文長(zhǎng)度字段作為地址增量的偏移量。
[0112]步驟203、當(dāng)識(shí)別到事務(wù)層數(shù)據(jù)報(bào)文為壓縮事務(wù)層數(shù)據(jù)報(bào)文時(shí),根據(jù)數(shù)據(jù)標(biāo)識(shí)將屬于同一次待傳輸數(shù)據(jù)的完全事務(wù)層數(shù)據(jù)報(bào)文中的完整信息恢復(fù)壓縮事務(wù)層數(shù)據(jù)報(bào)文中缺少的字段或配置壓縮信息的字段,獲得壓縮事務(wù)層數(shù)據(jù)報(bào)文。
[0113]具體地,步驟203可以為:當(dāng)識(shí)別到事務(wù)層數(shù)據(jù)報(bào)文為壓縮事務(wù)層數(shù)據(jù)報(bào)文時(shí),從壓縮事務(wù)層數(shù)據(jù)報(bào)文的目標(biāo)地址字段中獲得地址偏移量;從與壓縮事務(wù)層數(shù)據(jù)報(bào)文的數(shù)據(jù)標(biāo)識(shí)相同的完全事務(wù)層數(shù)據(jù)報(bào)文中的目標(biāo)地址字段中獲得基地址;將地址偏移量與基地址相加,得到壓縮數(shù)據(jù)層報(bào)文的目標(biāo)地址信息。[0114]如果識(shí)別為壓縮事務(wù)層數(shù)據(jù)報(bào)文,則從壓縮事務(wù)層數(shù)據(jù)報(bào)文中提取數(shù)據(jù)標(biāo)識(shí),該數(shù)據(jù)標(biāo)識(shí)可以是DMA_ID字段。根據(jù)DMA_ID字段就可以判斷當(dāng)前接收到的事務(wù)層數(shù)據(jù)報(bào)文屬于哪一次數(shù)據(jù)讀請(qǐng)求或數(shù)據(jù)寫請(qǐng)求,不會(huì)產(chǎn)生亂序,并且根據(jù)屬于同一次待傳輸數(shù)據(jù)的完全事物層數(shù)據(jù)報(bào)文中的完整信息恢復(fù)壓縮事務(wù)層數(shù)據(jù)報(bào)文中缺少的字段或配置壓縮信息的字段。
[0115]對(duì)于壓縮事務(wù)層數(shù)據(jù)報(bào)文中缺少的字段,可以從屬于當(dāng)前次待傳輸數(shù)據(jù)的完全事務(wù)層數(shù)據(jù)報(bào)文中獲取,而對(duì)于壓縮事務(wù)層數(shù)據(jù)報(bào)文中配置壓縮信息的字段,可以從壓縮事務(wù)層數(shù)據(jù)報(bào)文的目標(biāo)地址字段中獲得地址偏移量;從與壓縮事務(wù)層數(shù)據(jù)報(bào)文的數(shù)據(jù)標(biāo)識(shí)相同的完全事務(wù)層數(shù)據(jù)報(bào)文中的目標(biāo)地址字段中獲得基地址;將地址偏移量與基地址相加,得到壓縮數(shù)據(jù)層報(bào)文的目標(biāo)地址信息。
[0116]步驟204、拼接各事務(wù)層數(shù)據(jù)報(bào)文以獲取對(duì)端設(shè)備數(shù)據(jù)傳輸請(qǐng)求的待傳輸數(shù)據(jù)。
[0117]當(dāng)接收到所有子數(shù)據(jù)的事務(wù)層數(shù)據(jù)報(bào)文后,可以根據(jù)各事務(wù)層數(shù)據(jù)報(bào)文拼接出完整的待傳輸數(shù)據(jù)。
[0118]本發(fā)明實(shí)施例提供的PCIE總線的報(bào)文傳輸方法,通過(guò)接收對(duì)端設(shè)備發(fā)送的事務(wù)層數(shù)據(jù)報(bào)文,并對(duì)其進(jìn)行解析識(shí)別,判斷接收的是事務(wù)層數(shù)據(jù)報(bào)文是完全事務(wù)層數(shù)據(jù)報(bào)文還是壓縮事務(wù)層數(shù)據(jù)報(bào)文,在完全事務(wù)層報(bào)文中提取完整的信息,在壓縮事務(wù)層數(shù)據(jù)報(bào)文中獲取壓縮信息,最后就可以將收到的事務(wù)層數(shù)據(jù)報(bào)文拼接得到完整的待傳輸數(shù)據(jù)。
[0119]在上述實(shí)施例二的基礎(chǔ)上,上述步驟201具體可以包括:
[0120]接收對(duì)端設(shè)備基于PCIE總線傳輸?shù)氖聞?wù)層數(shù)據(jù)報(bào)文;
[0121]從所述事務(wù)層數(shù)據(jù)報(bào)文中解析設(shè)定字段的標(biāo)識(shí);
[0122]當(dāng)識(shí)別到所述標(biāo)識(shí)為完全標(biāo)識(shí)時(shí),則所述事務(wù)層數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文;
[0123]當(dāng)識(shí)別到所述標(biāo)識(shí)為壓縮標(biāo)識(shí)時(shí),則所述事務(wù)層數(shù)據(jù)報(bào)文為壓縮事務(wù)層數(shù)據(jù)報(bào)文。
[0124]本實(shí)施例通過(guò)對(duì)事務(wù)層數(shù)據(jù)報(bào)文中的設(shè)定的字段標(biāo)識(shí)進(jìn)行解析,可以判斷當(dāng)前收到的事務(wù)層數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文還是壓縮事務(wù)層數(shù)據(jù)報(bào)文,具體地,字段標(biāo)識(shí)可以設(shè)置在事務(wù)層數(shù)據(jù)報(bào)文中保留字段,從而順利接收并解析得到待傳輸數(shù)據(jù)。
[0125]在上述實(shí)施例的基礎(chǔ)上,壓縮事務(wù)層數(shù)據(jù)報(bào)文中,刪除所述數(shù)據(jù)報(bào)文長(zhǎng)度字段和字節(jié)使能字段,或?qū)⒛繕?biāo)地址字段配置的壓縮信息為地址偏移量。
[0126]具體地,所有的壓縮事務(wù)層數(shù)據(jù)報(bào)文長(zhǎng)度相同,因此可以刪除數(shù)據(jù)報(bào)文長(zhǎng)度字段配置的表征數(shù)據(jù)報(bào)文長(zhǎng)度的信息,對(duì)端設(shè)備接收待壓縮事務(wù)層數(shù)據(jù)報(bào)文時(shí)可以根據(jù)完全事務(wù)層數(shù)據(jù)報(bào)文的信息獲取壓縮事務(wù)層數(shù)據(jù)報(bào)文的報(bào)文長(zhǎng)度信息,而對(duì)于對(duì)端設(shè)備而言,壓縮事務(wù)層數(shù)據(jù)報(bào)文中的字節(jié)使能字段也可以刪除,以節(jié)約數(shù)據(jù)傳輸過(guò)程中的信道資源。對(duì)端設(shè)備還可以根據(jù)地址字段配置的地址偏移量計(jì)算得到壓縮事務(wù)層數(shù)據(jù)報(bào)文寫入或讀取地址。
[0127]在實(shí)際應(yīng)用中,本發(fā)明實(shí)施例提供的基于PCIE總線的報(bào)文傳輸過(guò)程中,和現(xiàn)有技術(shù)中的事務(wù)層數(shù)據(jù)報(bào)文不同的是,本發(fā)明將事務(wù)層數(shù)據(jù)報(bào)文中原有的保留字段賦予了新的意義,可以和現(xiàn)有技術(shù)相同的是,本發(fā)明實(shí)施例中的保留字段與現(xiàn)有技術(shù)中的保留字段位置相同。例如,保留字段包括的三個(gè)比特位分別位于第二字節(jié)中的第7位、第二字節(jié)中的第3位以及第字節(jié)中的第I位,通過(guò)保留字段內(nèi)容的不同可以區(qū)分事務(wù)層數(shù)據(jù)報(bào)文的類型,SP事務(wù)層數(shù)據(jù)報(bào)文是屬于普通事務(wù)層數(shù)據(jù)報(bào)文還是完全事務(wù)層數(shù)據(jù)報(bào)文或具備壓縮條件的壓縮事務(wù)層數(shù)據(jù)報(bào)文。更進(jìn)一步地,可以根據(jù)保留字段的信息判斷當(dāng)前發(fā)送的事務(wù)層數(shù)據(jù)報(bào)文是頭事務(wù)層數(shù)據(jù)報(bào)文、中間事務(wù)層數(shù)據(jù)報(bào)文或尾事務(wù)層數(shù)據(jù)報(bào)文,本發(fā)明通過(guò)使用保留字段的三個(gè)比特位對(duì)事務(wù)層數(shù)據(jù)報(bào)文進(jìn)行區(qū)分,具體地,如果三個(gè)比特位為000,則表示當(dāng)前的事務(wù)層數(shù)據(jù)報(bào)文為普通事務(wù)層數(shù)據(jù)報(bào)文;如果三個(gè)比特位不是000,則表示當(dāng)前的事務(wù)層數(shù)據(jù)報(bào)文是完全事務(wù)層數(shù)據(jù)報(bào)文或具備壓縮條件的事務(wù)層數(shù)據(jù)報(bào)文。
[0128]下面將針對(duì)當(dāng)前的事務(wù)層數(shù)據(jù)報(bào)文是具備壓縮條件的事務(wù)層數(shù)據(jù)報(bào)文,更進(jìn)一步地,可以通過(guò)DMA數(shù)據(jù)寫請(qǐng)求和DMA數(shù)據(jù)讀請(qǐng)求對(duì)上述實(shí)施例提供的基于PCIE總線的報(bào)文傳輸方法做進(jìn)一步詳細(xì)地說(shuō)明。
[0129]本實(shí)施例將以DMA數(shù)據(jù)寫請(qǐng)求為例進(jìn)行說(shuō)明,首先DMA數(shù)據(jù)寫請(qǐng)求的傳輸過(guò)程涉及DMA數(shù)據(jù)寫請(qǐng)求發(fā)起端和DMA數(shù)據(jù)寫請(qǐng)求接收端。
[0130]圖3是本發(fā)明實(shí)施例中DMA數(shù)據(jù)讀寫請(qǐng)求發(fā)起端增加控制邏輯之后的流程圖,如圖3所示,該方法包括如下步驟:
[0131]步驟301、DMA發(fā)起端判斷DMA數(shù)據(jù)讀寫請(qǐng)求的讀寫地址是否連續(xù),如果是,執(zhí)行步驟302和步驟303,若否,則執(zhí)行步驟304 ;
[0132]步驟302、將待傳輸?shù)臄?shù)據(jù)按照一定字節(jié)長(zhǎng)度進(jìn)行切割后封裝成多個(gè)事務(wù)層數(shù)據(jù)報(bào)文;
[0133]步驟303、使用具備壓縮條件的TLP報(bào)文傳輸模式進(jìn)行事務(wù)層數(shù)據(jù)報(bào)文的傳送;
[0134]步驟304、按照已有的普通模式傳送該DMA數(shù)據(jù)讀寫請(qǐng)求。
[0135]步驟303中,第一個(gè)事務(wù)層數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文,在此事務(wù)層數(shù)據(jù)報(bào)文中的各字段配置完整信息,并且在數(shù)據(jù)傳輸過(guò)程中,將包含“生成當(dāng)前報(bào)文”的發(fā)起端設(shè)備的總線號(hào)、設(shè)備號(hào)和功能號(hào)的Requester ID字段更改為DMA_ID字段。對(duì)于數(shù)據(jù)寫請(qǐng)求報(bào)文,由于接收端收到發(fā)起端的事務(wù)層數(shù)據(jù)報(bào)文后,不需要對(duì)發(fā)起端做應(yīng)答,因此RequesterID字段對(duì)于寫請(qǐng)求報(bào)文沒(méi)有實(shí)際意義,因此可以將其更改,因?yàn)樵赑CIE總線上傳輸數(shù)據(jù)的過(guò)程中,存在后一個(gè)存儲(chǔ)器的事務(wù)層數(shù)據(jù)報(bào)文超越前一個(gè)存儲(chǔ)器的事務(wù)層數(shù)據(jù)報(bào)文提前執(zhí)行,這樣就需要采用DMA_ID字段來(lái)對(duì)多次DMA數(shù)據(jù)讀寫過(guò)程進(jìn)行標(biāo)識(shí),不同次的DMA讀寫請(qǐng)求的事務(wù)層數(shù)據(jù)報(bào)文中的DMA_ID字段是不同的,從而將當(dāng)前的DMA數(shù)據(jù)傳輸過(guò)程與PCIE總線上其他的DMA數(shù)據(jù)傳輸過(guò)程區(qū)別開(kāi)來(lái)。接收端根據(jù)DMA_ID字段可以區(qū)分當(dāng)前的壓縮后的事務(wù)層數(shù)據(jù)報(bào)文屬于哪一次DMA數(shù)據(jù)傳輸過(guò)程。
[0136]在實(shí)際應(yīng)用過(guò)程中,完全事務(wù)層數(shù)據(jù)報(bào)文可以是DMA數(shù)據(jù)傳輸過(guò)程中的第一個(gè)事務(wù)層數(shù)據(jù)報(bào)文和/或最后一個(gè)事務(wù)層數(shù)據(jù)報(bào)文,也就是一個(gè)頭事務(wù)層數(shù)據(jù)報(bào)文和/或一個(gè)尾事務(wù)層數(shù)據(jù)報(bào)文,在完全事務(wù)層數(shù)據(jù)報(bào)文中,配置了完整信息的各字段可以有數(shù)據(jù)報(bào)文長(zhǎng)度字段、字節(jié)使能字段、特性字段、傳輸功能字段及目標(biāo)地址字段等,這些字段通常情況下在各事務(wù)層數(shù)據(jù)報(bào)文中內(nèi)容相同,或者是按照規(guī)律變化的,在壓縮事務(wù)層數(shù)據(jù)報(bào)文中,刪除所述數(shù)據(jù)報(bào)文長(zhǎng)度字段、字節(jié)使能字段、特性字段、傳輸功能字段,且所述目標(biāo)地址字段配置的壓縮信息為寫地址偏移量。
[0137]圖4a是本發(fā)明實(shí)施例中數(shù)據(jù)寫請(qǐng)求的事務(wù)層數(shù)據(jù)報(bào)文中的頭事務(wù)層數(shù)據(jù)報(bào)文包頭格式示意圖、圖4b是本發(fā)明實(shí)施例中數(shù)據(jù)寫請(qǐng)求的事務(wù)層數(shù)據(jù)報(bào)文中中間事務(wù)層數(shù)據(jù)報(bào)文包頭格式示意圖、圖4c是本發(fā)明實(shí)施例中數(shù)據(jù)寫請(qǐng)求的事務(wù)層數(shù)據(jù)報(bào)文中尾事務(wù)層數(shù)據(jù)報(bào)文包頭格式示意圖,如圖4a所示,一個(gè)頭事務(wù)層數(shù)據(jù)報(bào)文包頭的長(zhǎng)度為4個(gè)雙字,而如圖4b所示,一個(gè)中間事務(wù)層數(shù)據(jù)報(bào)文包頭的長(zhǎng)度為I個(gè)雙字,如圖4c所示,一個(gè)尾事務(wù)層數(shù)據(jù)報(bào)文包頭的長(zhǎng)度為4個(gè)雙字。
[0138]在DMA接收端,與DMA發(fā)起端配合完成一次DMA寫數(shù)據(jù)傳輸過(guò)程。DMA接收端接收到一個(gè)事務(wù)層數(shù)據(jù)報(bào)文后,對(duì)事務(wù)層數(shù)據(jù)報(bào)文的類型標(biāo)識(shí)位進(jìn)行解析和判斷,圖5是本發(fā)明實(shí)施例中DMA接收端增加控制邏輯之后的流程圖,如圖5所示:
[0139]步驟501、接收發(fā)起端基于PCIE總線傳輸?shù)氖聞?wù)層數(shù)據(jù)報(bào)文并進(jìn)行識(shí)別;
[0140]步驟502a、如果識(shí)別事務(wù)層數(shù)據(jù)報(bào)文的保留字段的三個(gè)字節(jié)為000,則識(shí)別為按照普通模式傳輸?shù)氖聞?wù)層數(shù)據(jù)報(bào)文,按照普通的事務(wù)層數(shù)據(jù)報(bào)文進(jìn)行接收;
[0141]步驟502b、如果識(shí)別相應(yīng)地事務(wù)層數(shù)據(jù)報(bào)文中保留字段的三個(gè)字節(jié)為100,則識(shí)別為頭事務(wù)層數(shù)據(jù)報(bào)文,然后執(zhí)行步驟503b ;
[0142]步驟503b、提取該頭事務(wù)層數(shù)據(jù)報(bào)文中數(shù)據(jù)報(bào)文長(zhǎng)度字段信息,并保存該頭事務(wù)層數(shù)據(jù)報(bào)文的目標(biāo)地址字段,作為當(dāng)前此次DMA寫數(shù)據(jù)傳輸?shù)幕刂?,最后?zhí)行步驟504b ;
[0143]步驟504b、保存該頭事務(wù)層數(shù)據(jù)報(bào)文的DMA_ID字段,以確定當(dāng)前此次DMA寫數(shù)據(jù)傳輸?shù)男蛱?hào);
[0144]步驟502c、如果識(shí)別相應(yīng)地事務(wù)層數(shù)據(jù)報(bào)文中保留字段的三個(gè)字節(jié)為101,則識(shí)別為中間事務(wù)層數(shù)據(jù)報(bào)文,然后執(zhí)行步驟503c ;
[0145]步驟503c、提取報(bào)文包頭中的DMA_ID字段信息,以與接收到此事務(wù)層數(shù)據(jù)報(bào)文之前的事務(wù)層數(shù)據(jù)報(bào)文進(jìn)行匹配,以確定當(dāng)前的中間事務(wù)層數(shù)據(jù)報(bào)文屬于哪一次DMA寫數(shù)據(jù)傳輸過(guò)程,最后執(zhí)行步驟504c ;
[0146]步驟504c、計(jì)算偏移量及當(dāng)前事務(wù)層數(shù)據(jù)報(bào)文的寫入地址;
[0147]步驟502d、如果識(shí)別相應(yīng)地事務(wù)層數(shù)據(jù)報(bào)文中保留字段的三個(gè)字節(jié)為110,則識(shí)別為尾事務(wù)層數(shù)據(jù)報(bào)文,然后執(zhí)行步驟503d ;
[0148]步驟503d、提取尾事務(wù)層數(shù)據(jù)報(bào)文中長(zhǎng)度字段信息及目標(biāo)地址信息,進(jìn)行正常的傳輸。
[0149]另外,在DMA接收端,還包括一個(gè)DMA狀態(tài)表,用來(lái)保存每一次DMA寫數(shù)據(jù)傳輸過(guò)程中對(duì)應(yīng)的DMA_ID、基地址信息及地址增量,在頭事務(wù)層數(shù)據(jù)報(bào)文所攜帶的信息中就可以獲取當(dāng)前此次DMA寫數(shù)據(jù)傳輸過(guò)程對(duì)應(yīng)的DMA_ID、基地址信息,對(duì)于地址增量字段初始值為0,地址增量的大小隨著DMA接收端接收到的事務(wù)層數(shù)據(jù)報(bào)文個(gè)數(shù)的增加而增加,本發(fā)明各實(shí)施例中的DMA_ID字段屬于數(shù)據(jù)標(biāo)識(shí)。
[0150]通過(guò)上述過(guò)程,DMA接收端和DMA發(fā)送端配合完成DMA寫數(shù)據(jù)傳輸?shù)耐暾^(guò)程,在上述報(bào)文處理過(guò)程中,既存在按照正常模式進(jìn)行傳輸?shù)臄?shù)據(jù)報(bào)文,還包括按照壓縮模式進(jìn)行傳輸?shù)臄?shù)據(jù)報(bào)文,在使用壓縮模式進(jìn)行傳輸?shù)倪^(guò)程中,由于中間事務(wù)層數(shù)據(jù)報(bào)文刪除了原有的冗余信息,使得信道資源占用比例大大減少,節(jié)約了信道資源。
[0151]本發(fā)明的另一實(shí)施例將對(duì)DMA讀數(shù)據(jù)請(qǐng)求過(guò)程做進(jìn)一步地說(shuō)明,在本實(shí)施例中,與DMA數(shù)據(jù)寫請(qǐng)求過(guò)程不同的是保留字段的標(biāo)識(shí)字段是不同的,另外,和DMA數(shù)據(jù)寫請(qǐng)求過(guò)程不同的是,在DMA數(shù)據(jù)讀請(qǐng)求過(guò)程中事務(wù)層數(shù)據(jù)報(bào)文包含中的數(shù)據(jù)載荷字段是要寫入的數(shù)據(jù),而DMA數(shù)據(jù)讀請(qǐng)求過(guò)程中事務(wù)層數(shù)據(jù)報(bào)文是不存在載荷字段的。其他的與DMA數(shù)據(jù)寫請(qǐng)求過(guò)程類似,在此不再贅述。
[0152]圖6是本發(fā)明基于PCIE總線的報(bào)文傳輸裝置實(shí)施例一的結(jié)構(gòu)示意圖,如圖6所示,本發(fā)明實(shí)施例提供的基于PCIE總線的報(bào)文傳輸裝置包括:接收判斷模塊11、封裝模塊12和傳輸模塊13,其中,接收判斷模塊11,用于接收數(shù)據(jù)傳輸請(qǐng)求,并根據(jù)所述數(shù)據(jù)傳輸請(qǐng)求判斷所述數(shù)據(jù)傳輸請(qǐng)求所請(qǐng)求的待傳輸數(shù)據(jù)是否具備壓縮條件;封裝模塊12,用于若具備壓縮條件,則將所述待傳輸數(shù)據(jù)封裝在至少兩個(gè)數(shù)據(jù)報(bào)文中;其中,所述至少兩個(gè)數(shù)據(jù)報(bào)文的第一個(gè)數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文和所述至少兩個(gè)數(shù)據(jù)報(bào)文的其他數(shù)據(jù)報(bào)文中的至少一個(gè)為壓縮事務(wù)層數(shù)據(jù)報(bào)文,各所述數(shù)據(jù)報(bào)文中配置有標(biāo)識(shí)所述數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文或壓縮事務(wù)層數(shù)據(jù)報(bào)文的信息;所述壓縮事務(wù)層數(shù)據(jù)報(bào)文缺少與完全事務(wù)層數(shù)據(jù)報(bào)文的字段或所述壓縮事務(wù)層數(shù)據(jù)報(bào)文的至少一個(gè)字段中配置為壓縮信息;屬于同一次待傳輸數(shù)據(jù)的數(shù)據(jù)報(bào)文的數(shù)據(jù)標(biāo)識(shí)設(shè)置為相同值,以使當(dāng)前次待傳輸數(shù)據(jù)的數(shù)據(jù)報(bào)文區(qū)別于其他次待傳輸數(shù)據(jù)的數(shù)據(jù)報(bào)文;傳輸模塊13,用于將所述至少兩個(gè)數(shù)據(jù)報(bào)文通過(guò)PCIE總線傳輸給對(duì)端設(shè)備。
[0153]在上述裝置實(shí)施例一的基礎(chǔ)上,接收判斷模塊11,包括:第一接收單元111和判斷單元112,其中第一接收單元111用于接收數(shù)據(jù)傳輸請(qǐng)求;判斷單元112,用于判斷所述數(shù)據(jù)傳輸請(qǐng)求的類型是否為設(shè)定的可壓縮請(qǐng)求,若是,則待傳輸數(shù)據(jù)具備壓縮條件。判斷單元112具體用于:判斷所述數(shù)據(jù)傳輸請(qǐng)求的類型是否為DMA數(shù)據(jù)讀寫請(qǐng)求,若是DMA數(shù)據(jù)讀寫請(qǐng)求,則判斷所述DMA數(shù)據(jù)讀寫請(qǐng)求的讀寫地址是否連續(xù),若讀寫地址連續(xù),則所述DMA數(shù)據(jù)讀寫請(qǐng)求的待傳輸數(shù)據(jù)具備壓縮條件。
[0154]在上述實(shí)施例的基礎(chǔ)上,優(yōu)選地,封裝模塊12還可以包括:等長(zhǎng)封裝單元,其中,等長(zhǎng)封裝單元用于若具備壓縮條件,則將所述待傳輸數(shù)據(jù)封裝在至少兩個(gè)事務(wù)層數(shù)據(jù)報(bào)文中;所述至少兩個(gè)事務(wù)層數(shù)據(jù)報(bào)文中的報(bào)文長(zhǎng)度相等。
[0155]更進(jìn)一步地,封裝模塊12,還可以用于若具備壓縮條件,則將所述待傳輸數(shù)據(jù)封裝在一個(gè)頭事務(wù)層數(shù)據(jù)報(bào)文、至少一個(gè)中間事務(wù)層數(shù)據(jù)報(bào)文和一個(gè)尾事務(wù)層數(shù)據(jù)報(bào)文中,其中,所述頭事務(wù)層數(shù)據(jù)報(bào)文和尾事務(wù)層數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文,中間事務(wù)層數(shù)據(jù)報(bào)文為壓縮事務(wù)層數(shù)據(jù)報(bào)文。
[0156]本實(shí)施例的基于PCIE總線的報(bào)文傳輸裝置,可以用于執(zhí)行圖1所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理類似,此處不再贅述。
[0157]本發(fā)明實(shí)施例提供的基于PCIE總線的報(bào)文傳輸裝置,在數(shù)據(jù)傳輸過(guò)程中,通常是對(duì)目標(biāo)設(shè)備存儲(chǔ)器的連續(xù)地址進(jìn)行讀或?qū)?,通過(guò)接收判斷模塊11判斷數(shù)據(jù)傳輸請(qǐng)求是否具備壓縮條件,如果具備壓縮條件,則利用封裝模塊12將待傳輸?shù)臄?shù)據(jù)封裝成至少一個(gè)包含完整信息的完全事務(wù)層數(shù)據(jù)報(bào)文和至少一個(gè)壓縮事務(wù)層數(shù)據(jù)報(bào)文,并通過(guò)傳輸模塊13將封裝后的待傳輸數(shù)據(jù)通過(guò)PCIE總線傳輸給對(duì)端設(shè)備,在保證傳輸數(shù)據(jù)不出錯(cuò)的情況下,壓縮后的數(shù)據(jù)報(bào)文減少了部分字段信息,在傳輸過(guò)程中實(shí)現(xiàn)節(jié)約信道資源。
[0158]圖7是本發(fā)明基于PCIE總線的報(bào)文傳輸裝置實(shí)施例二的結(jié)構(gòu)示意圖,如圖7所示,本發(fā)明提供的一種基于PCIE總線的報(bào)文傳輸裝置,該裝置包括:接收識(shí)別模塊21、獲取模塊22、修復(fù)模塊23和拼接模塊24,其中,接收識(shí)別模塊21,用于接收對(duì)端設(shè)備通過(guò)PCIE總線傳輸?shù)氖聞?wù)層數(shù)據(jù)報(bào)文并進(jìn)行識(shí)別;獲取模塊22,用于當(dāng)識(shí)別到所述事務(wù)層數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文時(shí),從所述完全事務(wù)層數(shù)據(jù)報(bào)文的各字段中獲取完整信息;修復(fù)模塊23,用于當(dāng)識(shí)別到所述事務(wù)層數(shù)據(jù)報(bào)文為壓縮事務(wù)層數(shù)據(jù)報(bào)文時(shí),根據(jù)數(shù)據(jù)標(biāo)識(shí)將屬于同一次待傳輸數(shù)據(jù)的所述完全事務(wù)層數(shù)據(jù)報(bào)文中的完整信息恢復(fù)所述壓縮事務(wù)層數(shù)據(jù)報(bào)文中缺少的字段或配置壓縮信息的字段,獲得壓縮事務(wù)層數(shù)據(jù)報(bào)文;拼接模塊24,用于拼接各事務(wù)層數(shù)據(jù)報(bào)文獲取對(duì)端設(shè)備數(shù)據(jù)發(fā)送的待傳輸數(shù)據(jù)。
[0159]優(yōu)選地,所述接收識(shí)別模塊21具體包括:第二接收單元211、標(biāo)識(shí)解析單元212、完全報(bào)文識(shí)別單元213和壓縮報(bào)文識(shí)別單元214,其中,第二接收單元211,用于接收對(duì)端設(shè)備基于PCIE總線傳輸?shù)氖聞?wù)層數(shù)據(jù)報(bào)文;標(biāo)識(shí)解析單元212,用于從所述事務(wù)層數(shù)據(jù)報(bào)文中解析設(shè)定字段的標(biāo)識(shí);完全報(bào)文識(shí)別單元213,用于當(dāng)識(shí)別到所述標(biāo)識(shí)為完全標(biāo)識(shí)時(shí),則所述事務(wù)層數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文;壓縮報(bào)文識(shí)別單元214,用于當(dāng)識(shí)別到所述標(biāo)識(shí)為壓縮標(biāo)識(shí)時(shí),則所述事務(wù)層數(shù)據(jù)報(bào)文為壓縮事務(wù)層數(shù)據(jù)報(bào)文。
[0160]更為優(yōu)選地,所述修復(fù)模塊23具體用于:從所述壓縮事務(wù)層數(shù)據(jù)報(bào)文的目標(biāo)地址字段中獲得地址偏移量;從與所述壓縮事務(wù)層數(shù)據(jù)報(bào)文的數(shù)據(jù)標(biāo)識(shí)相同的完全事務(wù)層數(shù)據(jù)報(bào)文中的目標(biāo)地址字段中獲得基地址;將地址偏移量與基地址相加,得到所述壓縮數(shù)據(jù)層報(bào)文的目標(biāo)地址信息。
[0161]本實(shí)施例提供的基于PCIE總線的報(bào)文傳輸裝置,可以用于執(zhí)行圖2所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
[0162]圖8是本發(fā)明基于PCIE總線的報(bào)文傳輸發(fā)起端設(shè)備的結(jié)構(gòu)示意圖,如圖8所示,本發(fā)明實(shí)施例提供的基于PCIE總線的報(bào)文傳輸發(fā)起端設(shè)備600包括總線610 ;以及連接到總線610的處理器620和存儲(chǔ)器630,其中該存儲(chǔ)器630用于存儲(chǔ)指令,該處理器620用于執(zhí)行該指令用于接收數(shù)據(jù)傳輸請(qǐng)求,并根據(jù)所述數(shù)據(jù)傳輸請(qǐng)求判斷所述數(shù)據(jù)傳輸請(qǐng)求所請(qǐng)求的待傳輸數(shù)據(jù)是否具備壓縮條件;該處理器620執(zhí)行該指令還用于若具備壓縮條件,則將所述待傳輸數(shù)據(jù)封裝在至少兩個(gè)數(shù)據(jù)報(bào)文中;其中,所述至少兩個(gè)數(shù)據(jù)報(bào)文的第一個(gè)數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文和所述至少兩個(gè)數(shù)據(jù)報(bào)文的其他數(shù)據(jù)報(bào)文中的至少一個(gè)為壓縮事務(wù)層數(shù)據(jù)報(bào)文,各所述數(shù)據(jù)報(bào)文中配置有標(biāo)識(shí)所述數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文或壓縮事務(wù)層數(shù)據(jù)報(bào)文的信息;所述壓縮事務(wù)層數(shù)據(jù)報(bào)文缺少與完全事務(wù)層數(shù)據(jù)報(bào)文的字段或所述壓縮事務(wù)層數(shù)據(jù)報(bào)文的至少一個(gè)字段中配置為壓縮信息;屬于同一次待傳輸數(shù)據(jù)的數(shù)據(jù)報(bào)文的數(shù)據(jù)標(biāo)識(shí)設(shè)置為相同值,以使當(dāng)前次待傳輸數(shù)據(jù)的數(shù)據(jù)報(bào)文區(qū)別于其他次待傳輸數(shù)據(jù)的數(shù)據(jù)報(bào)文;該處理器620執(zhí)行該指令還用于將所述至少兩個(gè)數(shù)據(jù)報(bào)文通過(guò)PCIE總線傳輸給對(duì)端設(shè)備。
[0163]圖9是本發(fā)明基于PCIE總線的報(bào)文傳輸接收端設(shè)備的結(jié)構(gòu)示意圖,如圖9所示,本發(fā)明實(shí)施例提供的基于PCIE總線的報(bào)文傳輸接收端設(shè)備700包括總線710 ;以及連接到總線710的處理器720和存儲(chǔ)器730,其中該存儲(chǔ)器730用于存儲(chǔ)指令,該處理器720用于執(zhí)行該指令用于接收對(duì)端設(shè)備通過(guò)PCIE總線傳輸?shù)氖聞?wù)層數(shù)據(jù)報(bào)文并進(jìn)行識(shí)別;該處理器720執(zhí)行該指令還用于當(dāng)識(shí)別到所述事務(wù)層數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文時(shí),從所述完全事務(wù)層數(shù)據(jù)報(bào)文的各字段中獲取完整信息;該處理器720執(zhí)行該指令還用于當(dāng)識(shí)別到所述事務(wù)層數(shù)據(jù)報(bào)文為壓縮事務(wù)層數(shù)據(jù)報(bào)文時(shí),根據(jù)數(shù)據(jù)標(biāo)識(shí)將屬于同一次待傳輸數(shù)據(jù)的所述完全事務(wù)層數(shù)據(jù)報(bào)文中的完整信息恢復(fù)所述壓縮事務(wù)層數(shù)據(jù)報(bào)文中缺少的字段或配置壓縮信息的字段,獲得壓縮事務(wù)層數(shù)據(jù)報(bào)文;該處理器720執(zhí)行該指令還用于拼接各事務(wù)層數(shù)據(jù)報(bào)文以獲取對(duì)端設(shè)備數(shù)據(jù)發(fā)送的待傳輸數(shù)據(jù)。[0164]本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:R0M、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0165]最后應(yīng)說(shuō)明的是:以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。
【權(quán)利要求】
1.一種基于外圍組件互連快遞PCIE總線的報(bào)文傳輸方法,其特征在于,包括: 接收數(shù)據(jù)傳輸請(qǐng)求,并根據(jù)所述數(shù)據(jù)傳輸請(qǐng)求判斷所述數(shù)據(jù)傳輸請(qǐng)求所請(qǐng)求的待傳輸數(shù)據(jù)是否具備壓縮條件; 若具備壓縮條件,則將所述待傳輸數(shù)據(jù)封裝在至少兩個(gè)數(shù)據(jù)報(bào)文中;其中,所述至少兩個(gè)數(shù)據(jù)報(bào)文的第一個(gè)數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文和所述至少兩個(gè)數(shù)據(jù)報(bào)文的其他數(shù)據(jù)報(bào)文中的至少一個(gè)為壓縮事務(wù)層數(shù)據(jù)報(bào)文,各所述數(shù)據(jù)報(bào)文中配置有標(biāo)識(shí)所述數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文或壓縮事務(wù)層數(shù)據(jù)報(bào)文的信息;與所述完全事務(wù)層數(shù)據(jù)報(bào)文相比,所述壓縮事務(wù)層數(shù)據(jù)報(bào)文缺少至少一個(gè)字段或所述壓縮事務(wù)層數(shù)據(jù)報(bào)文的至少一個(gè)字段中配置壓縮信息;將所述至少兩個(gè)數(shù)據(jù)報(bào)文的數(shù)據(jù)標(biāo)識(shí)設(shè)置為相同值; 將所述至少兩個(gè)數(shù)據(jù)報(bào)文通過(guò)PCIE總線傳輸給對(duì)端設(shè)備。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述接收數(shù)據(jù)傳輸請(qǐng)求,并根據(jù)所述數(shù)據(jù)傳輸請(qǐng)求判斷待傳輸數(shù)據(jù)是否具備壓縮條件包括: 接收數(shù)據(jù)傳輸請(qǐng)求; 判斷所述數(shù)據(jù)傳輸請(qǐng)求的類型是否為設(shè)定的可壓縮請(qǐng)求,若是,則待傳輸數(shù)據(jù)具備壓縮條件。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述判斷所述數(shù)據(jù)傳輸請(qǐng)求的類型是否為設(shè)定的可壓縮請(qǐng)求,若是,則待傳輸數(shù)據(jù)具備壓縮條件包括: 判斷所述數(shù)據(jù)傳輸請(qǐng)求 的類型是否為直接內(nèi)存存取DMA數(shù)據(jù)讀寫請(qǐng)求,所述DMA數(shù)據(jù)讀寫請(qǐng)求包含DMA數(shù)據(jù)寫請(qǐng)求和DMA數(shù)據(jù)讀請(qǐng)求; 若是DMA數(shù)據(jù)讀寫請(qǐng)求,則判斷所述DMA數(shù)據(jù)讀寫請(qǐng)求的讀寫地址是否連續(xù); 若讀寫地址連續(xù),則所述DMA數(shù)據(jù)讀寫請(qǐng)求的待傳輸數(shù)據(jù)具備壓縮條件。
4.根據(jù)權(quán)利要求1-3任一所述的方法,其特征在于,所述壓縮事務(wù)層數(shù)據(jù)報(bào)文的包頭缺少的至少一個(gè)字段包括:數(shù)據(jù)報(bào)文長(zhǎng)度字段和字節(jié)使能字段。
5.根據(jù)權(quán)利要求1-3任一所述的方法,其特征在于,所述壓縮事務(wù)層數(shù)據(jù)報(bào)文配置壓縮信息的字段包括目標(biāo)地址字段,在該字段配置的壓縮信息為地址偏移量;所述地址偏移量為所述壓縮事務(wù)層數(shù)據(jù)報(bào)文的目標(biāo)地址相對(duì)于完全事務(wù)層數(shù)據(jù)報(bào)文的目標(biāo)地址的地址偏移量。
6.根據(jù)權(quán)利要求1-3任一所述的方法,其特征在于,所述若具備壓縮條件,則將所述待傳輸數(shù)據(jù)封裝在至少兩個(gè)數(shù)據(jù)報(bào)文中包括: 若具備壓縮條件,則將所述待傳輸數(shù)據(jù)封裝在至少兩個(gè)事務(wù)層數(shù)據(jù)報(bào)文中;所述至少兩個(gè)事務(wù)層數(shù)據(jù)報(bào)文中的報(bào)文長(zhǎng)度相等。
7.根據(jù)權(quán)利要求1-3任一所述的方法,其特征在于,所述若具備壓縮條件,則將所述待傳輸數(shù)據(jù)封裝在至少兩個(gè)數(shù)據(jù)報(bào)文中包括: 若具備壓縮條件,則將所述待傳輸數(shù)據(jù)封裝在一個(gè)頭事務(wù)層數(shù)據(jù)報(bào)文、至少一個(gè)中間事務(wù)層數(shù)據(jù)報(bào)文和一個(gè)尾事務(wù)層數(shù)據(jù)報(bào)文中,其中,所述頭事務(wù)層數(shù)據(jù)報(bào)文和尾事務(wù)層數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文,中間事務(wù)層數(shù)據(jù)報(bào)文為壓縮事務(wù)層數(shù)據(jù)報(bào)文。
8.一種基于外圍組件互連快遞PCIE總線的報(bào)文傳輸方法,其特征在于,包括: 接收對(duì)端設(shè)備通過(guò)PCIE總線傳輸?shù)氖聞?wù)層數(shù)據(jù)報(bào)文并進(jìn)行識(shí)別; 當(dāng)識(shí)別到所述事務(wù)層數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文時(shí),從所述完全事務(wù)層數(shù)據(jù)報(bào)文的各字段中獲取完整信息; 當(dāng)識(shí)別到所述事務(wù)層數(shù)據(jù)報(bào)文為壓縮事務(wù)層數(shù)據(jù)報(bào)文時(shí),根據(jù)數(shù)據(jù)標(biāo)識(shí)將屬于同一次待傳輸數(shù)據(jù)的所述完全事務(wù)層數(shù)據(jù)報(bào)文中的完整信息恢復(fù)所述壓縮事務(wù)層數(shù)據(jù)報(bào)文中缺少的字段或配置壓縮信息的字段,獲得壓縮事務(wù)層數(shù)據(jù)報(bào)文; 拼接各事務(wù)層數(shù)據(jù)報(bào)文以獲取對(duì)端設(shè)備數(shù)據(jù)發(fā)送的待傳輸數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述接收對(duì)端設(shè)備基于PCIE總線傳輸?shù)氖聞?wù)層數(shù)據(jù)報(bào)文并進(jìn)行識(shí)別包括: 接收對(duì)端設(shè)備基于PCIE總線傳輸?shù)氖聞?wù)層數(shù)據(jù)報(bào)文; 從所述事務(wù)層數(shù)據(jù)報(bào)文中解析設(shè)定字段的標(biāo)識(shí); 當(dāng)識(shí)別到所述標(biāo)識(shí)為完全標(biāo)識(shí)時(shí),則所述事務(wù)層數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文; 當(dāng)識(shí)別到所述標(biāo)識(shí)為壓縮標(biāo)識(shí)時(shí),則所述事務(wù)層數(shù)據(jù)報(bào)文為壓縮事務(wù)層數(shù)據(jù)報(bào)文。
10.根據(jù)權(quán)利要求8或9所述的方法,其特征在于,所述根據(jù)數(shù)據(jù)標(biāo)識(shí)將屬于同一次待傳輸數(shù)據(jù)的所述完全事務(wù)層數(shù)據(jù)報(bào)文中的完整信息恢復(fù)所述壓縮事務(wù)層數(shù)據(jù)報(bào)文中缺少的字段或配置壓縮信息的字段,獲得壓縮事務(wù)層數(shù)據(jù)報(bào)文,包括: 從所述壓縮事務(wù)層數(shù)據(jù)報(bào)文的目標(biāo)地址字段中獲得地址偏移量; 從與所述壓縮事務(wù)層 數(shù)據(jù)報(bào)文的數(shù)據(jù)標(biāo)識(shí)相同的完全事務(wù)層數(shù)據(jù)報(bào)文中的目標(biāo)地址字段中獲得基地址; 將地址偏移量與基地址相加,得到所述壓縮數(shù)據(jù)層報(bào)文的目標(biāo)地址信息。
11.一種基于外圍組件互連快遞PCIE總線的報(bào)文傳輸裝置,其特征在于,包括: 接收判斷模塊,用于接收數(shù)據(jù)傳輸請(qǐng)求,并根據(jù)所述數(shù)據(jù)傳輸請(qǐng)求判斷所述數(shù)據(jù)傳輸請(qǐng)求所請(qǐng)求的待傳輸數(shù)據(jù)是否具備壓縮條件; 封裝模塊,用于若具備壓縮條件,則將所述待傳輸數(shù)據(jù)封裝在至少兩個(gè)數(shù)據(jù)報(bào)文中;其中,所述至少兩個(gè)數(shù)據(jù)報(bào)文的第一個(gè)數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文和所述至少兩個(gè)數(shù)據(jù)報(bào)文的其他數(shù)據(jù)報(bào)文中的至少一個(gè)為壓縮事務(wù)層數(shù)據(jù)報(bào)文,各所述數(shù)據(jù)報(bào)文中配置有標(biāo)識(shí)所述數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文或壓縮事務(wù)層數(shù)據(jù)報(bào)文的信息;與所述完全事務(wù)層數(shù)據(jù)報(bào)文相比,所述壓縮事務(wù)層數(shù)據(jù)報(bào)文缺少至少一個(gè)字段或所述壓縮事務(wù)層數(shù)據(jù)報(bào)文的至少一個(gè)字段中配置壓縮信息;將所述至少兩個(gè)數(shù)據(jù)報(bào)文的數(shù)據(jù)標(biāo)識(shí)設(shè)置為相同值; 傳輸模塊,用于將所述至少兩個(gè)數(shù)據(jù)報(bào)文通過(guò)PCIE總線傳輸給對(duì)端設(shè)備。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述接收模塊,包括: 第一接收單元,用于接收數(shù)據(jù)傳輸請(qǐng)求; 判斷單元,用于判斷所述數(shù)據(jù)傳輸請(qǐng)求的類型是否為設(shè)定的可壓縮請(qǐng)求,若是,則待傳輸數(shù)據(jù)具備壓縮條件。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述判斷單元具體用于: 判斷所述數(shù)據(jù)傳輸請(qǐng)求的類型是否為直接內(nèi)存存取DMA數(shù)據(jù)讀寫請(qǐng)求,所述DMA數(shù)據(jù)讀寫請(qǐng)求包含DMA數(shù)據(jù)寫請(qǐng)求和DMA數(shù)據(jù)讀請(qǐng)求; 若是DMA數(shù)據(jù)讀寫請(qǐng)求,則判斷所述DMA數(shù)據(jù)讀寫請(qǐng)求的讀寫地址是否連續(xù); 若讀寫地址連續(xù),則所述DMA數(shù)據(jù)讀寫請(qǐng)求的待傳輸數(shù)據(jù)具備壓縮條件。
14.根據(jù)權(quán)利要求11-13任一所述的裝置,其特征在于,所述封裝模塊包括: 等長(zhǎng)封裝單元,用于若具備壓縮條件,則將所述待傳輸數(shù)據(jù)封裝在至少兩個(gè)事務(wù)層數(shù)據(jù)報(bào)文中;所述至少兩個(gè)事務(wù)層數(shù)據(jù)報(bào)文中的報(bào)文長(zhǎng)度相等。
15.根據(jù)權(quán)利要求11-13任一項(xiàng)所述的裝置,其特征在于,所述封裝模塊具體用于:若具備壓縮條件,則將所述待傳輸數(shù)據(jù)封裝在一個(gè)頭事務(wù)層數(shù)據(jù)報(bào)文、至少一個(gè)中間事務(wù)層數(shù)據(jù)報(bào)文和一個(gè)尾事務(wù)層數(shù)據(jù)報(bào)文中,其中,所述頭事務(wù)層數(shù)據(jù)報(bào)文和尾事務(wù)層數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文,中間事務(wù)層數(shù)據(jù)報(bào)文為壓縮事務(wù)層數(shù)據(jù)報(bào)文。
16.一種基于外圍組件互連快遞PCIE總線的報(bào)文傳輸裝置,其特征在于,包括: 接收識(shí)別模塊,用于接收對(duì)端設(shè)備通過(guò)PCIE總線傳輸?shù)氖聞?wù)層數(shù)據(jù)報(bào)文并進(jìn)行識(shí)別; 獲取模塊,用于當(dāng)識(shí)別到所述事務(wù)層數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文時(shí),從所述完全事務(wù)層數(shù)據(jù)報(bào)文的各字段中獲取完整信息; 修復(fù)模塊,用于當(dāng)識(shí)別到所述事務(wù)層數(shù)據(jù)報(bào)文為壓縮事務(wù)層數(shù)據(jù)報(bào)文時(shí),根據(jù)數(shù)據(jù)標(biāo)識(shí)將屬于同一次待傳輸數(shù)據(jù)的所述完全事務(wù)層數(shù)據(jù)報(bào)文中的完整信息恢復(fù)所述壓縮事務(wù)層數(shù)據(jù)報(bào)文中缺少的字段或配置壓縮信息的字段,獲得壓縮事務(wù)層數(shù)據(jù)報(bào)文; 拼接模塊,用于拼接各事務(wù)層數(shù)據(jù)報(bào)文以獲取對(duì)端設(shè)備數(shù)據(jù)發(fā)送的待傳輸數(shù)據(jù)。
17.根據(jù)權(quán)利要求16所述的裝置,其特征在于,所述接收識(shí)別模塊包括: 第二接收單元,用于接收對(duì)端設(shè)備基于PCIE總線傳輸?shù)氖聞?wù)層數(shù)據(jù)報(bào)文; 標(biāo)識(shí)解析單元,用于從所述 事務(wù)層數(shù)據(jù)報(bào)文中解析設(shè)定字段的標(biāo)識(shí); 完全報(bào)文識(shí)別單元,用于當(dāng)識(shí)別到所述標(biāo)識(shí)為完全標(biāo)識(shí)時(shí),則所述事務(wù)層數(shù)據(jù)報(bào)文為完全事務(wù)層數(shù)據(jù)報(bào)文; 壓縮報(bào)文識(shí)別單元,用于當(dāng)識(shí)別到所述標(biāo)識(shí)為壓縮標(biāo)識(shí)時(shí),則所述事務(wù)層數(shù)據(jù)報(bào)文為壓縮事務(wù)層數(shù)據(jù)報(bào)文。
18.根據(jù)權(quán)利要求16或17所述的裝置,其特征在于,所述修復(fù)模塊具體用于:從所述壓縮事務(wù)層數(shù)據(jù)報(bào)文的目標(biāo)地址字段中獲得地址偏移量;從與所述壓縮事務(wù)層數(shù)據(jù)報(bào)文的數(shù)據(jù)標(biāo)識(shí)相同的完全事務(wù)層數(shù)據(jù)報(bào)文中的目標(biāo)地址字段中獲得基地址;將地址偏移量與基地址相加,得到所述壓縮數(shù)據(jù)層報(bào)文的目標(biāo)地址信息。
【文檔編號(hào)】H04L12/951GK104038450SQ201310068224
【公開(kāi)日】2014年9月10日 申請(qǐng)日期:2013年3月4日 優(yōu)先權(quán)日:2013年3月4日
【發(fā)明者】王曦爽, 侯銳, 馮煜晶, 張柳航 申請(qǐng)人:華為技術(shù)有限公司, 中國(guó)科學(xué)院計(jì)算技術(shù)研究所
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
平阴县| 罗定市| 云梦县| 阳江市| 古田县| 孟津县| 通道| 资阳市| 桦南县| 集贤县| 高州市| 内丘县| 东城区| 永济市| 开封县| 房产| 尚义县| 噶尔县| 莆田市| 武山县| 洛宁县| 石首市| 台北县| 裕民县| 托克逊县| 阿克| 葫芦岛市| 阿荣旗| 商水县| 宝兴县| 磐石市| 平舆县| 中江县| 屏边| 大埔区| 万州区| 玉溪市| 台江县| 东至县| 军事| 丰原市|