一種用于pci-e的數(shù)據(jù)傳輸方法及系統(tǒng)的制作方法
【專利摘要】本申請(qǐng)實(shí)施例提供了一種用于PCI-E的數(shù)據(jù)傳輸方法及系統(tǒng)。所述方法可以包括:判斷從設(shè)備是否處于離線狀態(tài),得到第一判斷結(jié)果;當(dāng)所述第一判斷結(jié)果為是時(shí),判斷所述從設(shè)備對(duì)于主設(shè)備的指令是否均已響應(yīng),得到第二判斷結(jié)果;當(dāng)所述第二判斷結(jié)果為否時(shí),向所述主設(shè)備發(fā)送第一響應(yīng)指令,以便所述主設(shè)備停止等待所述從設(shè)備發(fā)送的響應(yīng)指令;所述第一響應(yīng)指令表示所述從設(shè)備尚未準(zhǔn)備就緒。采用本申請(qǐng)實(shí)施例的方法或系統(tǒng),能夠?qū)脑O(shè)備的離線狀態(tài)及時(shí)反饋至主設(shè)備,減少?gòu)脑O(shè)備的熱插拔過(guò)程對(duì)數(shù)據(jù)處理業(yè)務(wù)的影響時(shí)間,從而提高PCI-E接口在熱插拔過(guò)程中的健壯性。
【專利說(shuō)明】一種用于PC1-E的數(shù)據(jù)傳輸方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)實(shí)施例涉及通信領(lǐng)域,特別是涉及一種用于PC1-E的數(shù)據(jù)傳輸方法及系統(tǒng)。
【背景技術(shù)】
[0002]PC1-E (Peripheral Component Interface Express,總線和接口標(biāo)準(zhǔn))是最新的總線和接口標(biāo)準(zhǔn)。按照PC1-E總線的協(xié)議,總線上所有引發(fā)PCI傳輸事務(wù)的實(shí)體可以稱為主設(shè)備,響應(yīng)傳輸事務(wù)的實(shí)體可以稱為從設(shè)備。主設(shè)備應(yīng)具備處理能力,可以對(duì)總線進(jìn)行控制。即當(dāng)一個(gè)設(shè)備作為主設(shè)備時(shí),該設(shè)備相當(dāng)于一個(gè)總線主控器。
[0003]PC1-E接口是針對(duì)PC的設(shè)計(jì)而開(kāi)發(fā)的,由于其具有占用管腳少,傳輸速率高等優(yōu)點(diǎn),網(wǎng)絡(luò)設(shè)備中的大容量業(yè)務(wù)處理單板上的芯片也越來(lái)越多的采用PC1-E總線作為控制總線。
[0004]網(wǎng)絡(luò)設(shè)備在通信網(wǎng)絡(luò)中通常擔(dān)負(fù)著比較龐大的數(shù)據(jù)處理職能。因此,對(duì)于網(wǎng)絡(luò)設(shè)備而言,需要滿足以下指標(biāo):即一個(gè)設(shè)備的熱插拔過(guò)程對(duì)數(shù)據(jù)處理業(yè)務(wù)的影響不大于50毫秒。
[0005]現(xiàn)有技術(shù)中,用于PC1-E的數(shù)據(jù)傳輸方法主要是:工作人員提起拉手條將作為從設(shè)備的單板拔出后,主設(shè)備檢測(cè)到單板處于離線狀態(tài),主設(shè)備停止從設(shè)備的任務(wù),當(dāng)從設(shè)備再次插入時(shí),主設(shè)備通過(guò)軟件執(zhí)行復(fù)位操作,然后繼續(xù)進(jìn)行后續(xù)的數(shù)據(jù)傳輸。
[0006]但是,現(xiàn)有技術(shù)中的用于PC1-E的數(shù)據(jù)傳輸方法,由于提起拉手條將從設(shè)備拔出的過(guò)程耗時(shí)較長(zhǎng)(遠(yuǎn)大于50ms),因此,無(wú)法滿足熱插拔過(guò)程對(duì)數(shù)據(jù)處理業(yè)務(wù)的影響不大于50毫秒的指標(biāo)。此外,上述用于PC1-E的數(shù)據(jù)傳輸方法中的熱插拔流程,還可能會(huì)造成PC1-E總線上數(shù)據(jù)的中斷,繼而影響主設(shè)備的數(shù)據(jù)接收,可能造成主設(shè)備的復(fù)位或者PC1-E接口異常。
【發(fā)明內(nèi)容】
[0007]本申請(qǐng)實(shí)施例的目的是提供一種用于PC1-E的數(shù)據(jù)傳輸方法及系統(tǒng),能夠?qū)脑O(shè)備的離線狀態(tài)及時(shí)反饋至主設(shè)備,減少?gòu)脑O(shè)備的熱插拔過(guò)程對(duì)數(shù)據(jù)處理業(yè)務(wù)的影響時(shí)間,從而提高PC1-E接口在熱插拔過(guò)程中的健壯性。
[0008]為實(shí)現(xiàn)上述目的,本申請(qǐng)實(shí)施例提供了如下方案:
[0009]根據(jù)本申請(qǐng)實(shí)施例的第一方面的第一種可能的實(shí)現(xiàn)方式,本申請(qǐng)實(shí)施例提供一種用于PC1-E的數(shù)據(jù)傳輸方法,所述方法包括:
[0010]判斷從設(shè)備是否處于離線狀態(tài),得到第一判斷結(jié)果;
[0011]當(dāng)所述第一判斷結(jié)果為是時(shí),判斷所述從設(shè)備對(duì)于主設(shè)備的指令是否均已響應(yīng),得到第二判斷結(jié)果;
[0012]當(dāng)所述第二判斷結(jié)果為否時(shí),向所述主設(shè)備發(fā)送第一響應(yīng)指令,以便所述主設(shè)備停止等待所述從設(shè)備發(fā)送的響應(yīng)指令;所述第一響應(yīng)指令表示所述從設(shè)備尚未準(zhǔn)備就緒。
[0013]結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式,所述判斷所述從設(shè)備對(duì)于主設(shè)備的指令是否均已響應(yīng),包括:
[0014]判斷所述從設(shè)備對(duì)所述主設(shè)備發(fā)出的I/O讀寫指令是否已響應(yīng);
[0015]判斷所述從設(shè)備對(duì)所述主設(shè)備發(fā)出的內(nèi)存讀寫指令是否已響應(yīng)。
[0016]結(jié)合第一方面的第三種可能的實(shí)現(xiàn)方式,所述判斷所述從設(shè)備對(duì)于主設(shè)備的指令是否均已響應(yīng),包括:
[0017]查詢狀態(tài)記錄標(biāo)識(shí);所述狀態(tài)記錄標(biāo)識(shí)的生成方式包括:當(dāng)所述主設(shè)備向所述從設(shè)備發(fā)送需要響應(yīng)的指令時(shí),所述狀態(tài)記錄標(biāo)識(shí)的取值增加第一數(shù)值;當(dāng)所述從設(shè)備向所述主設(shè)備發(fā)送響應(yīng)的指令時(shí),所述狀態(tài)記錄標(biāo)識(shí)的取值減少第一數(shù)值;
[0018]判斷所述狀態(tài)記錄標(biāo)識(shí)的取值是否等于預(yù)設(shè)初始值。
[0019]結(jié)合第一方面的三種可能的實(shí)現(xiàn)方式中的任意一種,所述方法還包括:
[0020]當(dāng)所述從設(shè)備由在線狀態(tài)轉(zhuǎn)變至離線狀態(tài)時(shí),判斷所述主設(shè)備當(dāng)前接收的數(shù)據(jù)在緩存中是否緩存了完整的數(shù)據(jù)包,得到第三判斷結(jié)果;
[0021]當(dāng)所述第三判斷結(jié)果為否時(shí),將緩存中的數(shù)據(jù)補(bǔ)充為完整的數(shù)據(jù)包后,發(fā)送至所述主設(shè)備。
[0022]結(jié)合第一方面的三種可能的實(shí)現(xiàn)方式中的任意一種的一種可能的實(shí)現(xiàn)方式,所述將緩存中的數(shù)據(jù)補(bǔ)充為完整的數(shù)據(jù)包,包括:
[0023]獲取所述數(shù)據(jù)包的完整數(shù)據(jù)長(zhǎng)度;
[0024]獲取所述數(shù)據(jù)包中已發(fā)送的第一數(shù)據(jù)長(zhǎng)度;
[0025]獲取所述數(shù)據(jù)包位于緩存中的第二數(shù)據(jù)長(zhǎng)度;
[0026]在剩余的數(shù)據(jù)長(zhǎng)度對(duì)應(yīng)的數(shù)據(jù)位置上填充占位字節(jié),生成補(bǔ)充后的數(shù)據(jù)包;所述剩余的數(shù)據(jù)長(zhǎng)度等于所述完整數(shù)據(jù)長(zhǎng)度減去所述第一數(shù)據(jù)長(zhǎng)度再減去所述第二數(shù)據(jù)長(zhǎng)度;
[0027]向所述主設(shè)備發(fā)送所述補(bǔ)充后的數(shù)據(jù)包,以便所述主設(shè)備接收到所述補(bǔ)充后的數(shù)據(jù)包后,中斷等待接收所述數(shù)據(jù)包的剩余數(shù)據(jù)的過(guò)程。
[0028]根據(jù)本申請(qǐng)實(shí)施例的第二方面的第一種可能的實(shí)現(xiàn)方式,本申請(qǐng)實(shí)施例提供一種用于PC1-E的數(shù)據(jù)傳輸系統(tǒng),所述系統(tǒng)包括:
[0029]第一判斷模塊,用于判斷從設(shè)備是否處于離線狀態(tài),得到第一判斷結(jié)果;
[0030]第二判斷模塊,用于當(dāng)所述第一判斷結(jié)果為是時(shí),判斷所述從設(shè)備對(duì)于主設(shè)備的指令是否均已響應(yīng),得到第二判斷結(jié)果;
[0031]第一響應(yīng)指令發(fā)送模塊,用于當(dāng)所述第二判斷結(jié)果為否時(shí),向所述主設(shè)備發(fā)送第一響應(yīng)指令,以便所述主設(shè)備停止等待所述從設(shè)備發(fā)送的響應(yīng)指令;所述第一響應(yīng)指令表示所述從設(shè)備尚未準(zhǔn)備就緒。
[0032]結(jié)合第二方面的第二種可能的實(shí)現(xiàn)方式,所述第二判斷模塊,包括:
[0033]第一判斷單元,用于判斷所述從設(shè)備對(duì)所述主設(shè)備發(fā)出的I/O讀寫指令是否已響應(yīng);
[0034]第二判斷單元,用于判斷所述從設(shè)備對(duì)所述主設(shè)備發(fā)出的內(nèi)存讀寫指令是否已響應(yīng)。
[0035]結(jié)合第二方面的第三種可能的實(shí)現(xiàn)方式,所述第二判斷模塊,包括:
[0036]狀態(tài)記錄標(biāo)識(shí)查詢單元,用于查詢狀態(tài)記錄標(biāo)識(shí);所述狀態(tài)記錄標(biāo)識(shí)的生成方式包括:當(dāng)所述主設(shè)備向所述從設(shè)備發(fā)送需要響應(yīng)的指令時(shí),所述狀態(tài)記錄標(biāo)識(shí)的取值增加第一數(shù)值;當(dāng)所述從設(shè)備向所述主設(shè)備發(fā)送響應(yīng)的指令時(shí),所述狀態(tài)記錄標(biāo)識(shí)的取值減少第一數(shù)值;
[0037]第三判斷單元,用于判斷所述狀態(tài)記錄標(biāo)識(shí)的取值是否等于預(yù)設(shè)初始值。
[0038]結(jié)合第二方面的三種可能的實(shí)現(xiàn)方式中的任意一種,所述系統(tǒng)還包括:
[0039]第三判斷模塊,用于當(dāng)所述從設(shè)備由在線狀態(tài)轉(zhuǎn)變至離線狀態(tài)時(shí),判斷所述主設(shè)備當(dāng)前接收的數(shù)據(jù)在緩存中是否緩存了完整的數(shù)據(jù)包,得到第三判斷結(jié)果;
[0040]數(shù)據(jù)補(bǔ)充模塊,用于當(dāng)所述第三判斷結(jié)果為否時(shí),將緩存中的數(shù)據(jù)補(bǔ)充為完整的數(shù)據(jù)包后,發(fā)送至所述主設(shè)備。
[0041]結(jié)合第二方面的三種可能的實(shí)現(xiàn)方式中的任意一種的一種可能的實(shí)現(xiàn)方式,所述數(shù)據(jù)補(bǔ)充模塊包括:
[0042]完整數(shù)據(jù)長(zhǎng)度獲取單元,用于獲取所述數(shù)據(jù)包的完整數(shù)據(jù)長(zhǎng)度;
[0043]第一數(shù)據(jù)長(zhǎng)度獲取單元,用于獲取所述數(shù)據(jù)包中已發(fā)送的第一數(shù)據(jù)長(zhǎng)度;
[0044]第二數(shù)據(jù)長(zhǎng)度獲取單元,用于獲取所述數(shù)據(jù)包位于緩存中的第二數(shù)據(jù)長(zhǎng)度;
[0045]占位字填充單元,用于在剩余的數(shù)據(jù)長(zhǎng)度對(duì)應(yīng)的數(shù)據(jù)位置上填充占位字節(jié),生成補(bǔ)充后的數(shù)據(jù)包;所述剩余的數(shù)據(jù)長(zhǎng)度等于所述完整數(shù)據(jù)長(zhǎng)度減去所述第一數(shù)據(jù)長(zhǎng)度再減去所述第二數(shù)據(jù)長(zhǎng)度;
[0046]補(bǔ)充數(shù)據(jù)包發(fā)送單元,用于向所述主設(shè)備發(fā)送所述補(bǔ)充后的數(shù)據(jù)包,以便所述主設(shè)備接收到所述補(bǔ)充后的數(shù)據(jù)包后,中斷等待接收所述數(shù)據(jù)包的剩余數(shù)據(jù)的過(guò)程。
[0047]根據(jù)本申請(qǐng)實(shí)施例提供的具體實(shí)施例,本申請(qǐng)實(shí)施例公開(kāi)了以下技術(shù)效果:
[0048]本申請(qǐng)實(shí)施例公開(kāi)的用于PC1-E的數(shù)據(jù)傳輸方法或系統(tǒng),通過(guò)對(duì)從設(shè)備的在線狀態(tài)進(jìn)行判斷,當(dāng)所述從設(shè)備處于離線狀態(tài)時(shí),判斷所述從設(shè)備對(duì)于主設(shè)備的指令是否均已響應(yīng),當(dāng)所述從設(shè)備對(duì)于主設(shè)備的指令尚未全部響應(yīng)時(shí),主動(dòng)向所述主設(shè)備發(fā)送第一響應(yīng)指令,指示所述主設(shè)備停止等待所述從設(shè)備發(fā)送的響應(yīng)指令,能夠?qū)脑O(shè)備的離線狀態(tài)及時(shí)反饋至主設(shè)備,減少?gòu)脑O(shè)備的熱插拔過(guò)程對(duì)數(shù)據(jù)處理業(yè)務(wù)的影響時(shí)間,從而提高PC1-E接口在熱插拔過(guò)程中的健壯性。
[0049]進(jìn)一步的,當(dāng)采用毫秒級(jí)的數(shù)據(jù)處理芯片執(zhí)行上述控制邏輯時(shí),可以滿足從設(shè)備的熱插拔過(guò)程對(duì)數(shù)據(jù)處理業(yè)務(wù)的影響不大于50毫秒的指標(biāo)。
【專利附圖】
【附圖說(shuō)明】
[0050]為了更清楚地說(shuō)明本申請(qǐng)實(shí)施例實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本申請(qǐng)實(shí)施例的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0051]圖1為本申請(qǐng)實(shí)施例的用于PC1-E的數(shù)據(jù)傳輸方法實(shí)施例1的流程圖;
[0052]圖2為本申請(qǐng)實(shí)施例的用于PC1-E的數(shù)據(jù)傳輸方法實(shí)施例2的流程圖;
[0053]圖3為本申請(qǐng)實(shí)施例的用于PC1-E的數(shù)據(jù)傳輸方法實(shí)施例3的流程圖;
[0054]圖4為本申請(qǐng)實(shí)施例的用于PC1-E的數(shù)據(jù)傳輸系統(tǒng)實(shí)施例的結(jié)構(gòu)圖;
[0055]圖5為本申請(qǐng)實(shí)施例的計(jì)算節(jié)點(diǎn)的結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0056]下面將結(jié)合本申請(qǐng)實(shí)施例實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)實(shí)施例一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)實(shí)施例中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)實(shí)施例保護(hù)的范圍。
[0057]為使本申請(qǐng)實(shí)施例的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本申請(qǐng)實(shí)施例作進(jìn)一步詳細(xì)的說(shuō)明。
[0058]圖1為本申請(qǐng)實(shí)施例的用于PC1-E的數(shù)據(jù)傳輸方法實(shí)施例1的流程圖。本實(shí)施例的執(zhí)行主體可以是主設(shè)備與從設(shè)備之間新增的數(shù)據(jù)處理芯片。如圖1所示,所述方法可以包括步驟:
[0059]步驟101:判斷從設(shè)備是否處于離線狀態(tài),得到第一判斷結(jié)果;
[0060]當(dāng)所述從設(shè)備,也即單板,被拔出時(shí),所述從設(shè)備即處于離線狀態(tài)。當(dāng)所述從設(shè)備正常工作(例如位于插槽中)時(shí),所述從設(shè)備則處于在線狀態(tài)。
[0061]步驟102:當(dāng)所述第一判斷結(jié)果為是時(shí),判斷所述從設(shè)備對(duì)于主設(shè)備的指令是否均已響應(yīng),得到第二判斷結(jié)果;
[0062]在現(xiàn)有技術(shù)中,主設(shè)備發(fā)送給從設(shè)備的部分指令,需要等待從設(shè)備的響應(yīng)。如果從設(shè)備在接受到主設(shè)備的指令后,還沒(méi)有來(lái)得及響應(yīng),就轉(zhuǎn)換為離線狀態(tài)(被拔出)時(shí),主設(shè)備會(huì)一直等待從設(shè)備響應(yīng)該指令,因此造成從設(shè)備的熱插拔過(guò)程對(duì)主設(shè)備的數(shù)據(jù)處理業(yè)務(wù)的影響大于50毫秒。步驟102中關(guān)于從設(shè)備是否已對(duì)主設(shè)備的指令作出響應(yīng),進(jìn)行判斷,以便后續(xù)通過(guò)步驟103避免主設(shè)備一直等待從設(shè)備的響應(yīng)指令。
[0063]主設(shè)備發(fā)出的需要從設(shè)備響應(yīng)的指令,通??梢园?所述主設(shè)備發(fā)出的對(duì)所述從設(shè)備進(jìn)行I/o讀寫的I/O讀寫指令,和/或,所述主設(shè)備發(fā)出的對(duì)所述從設(shè)備進(jìn)行內(nèi)存讀寫的內(nèi)存讀寫指令。其中,I/O讀寫指令讀寫的數(shù)據(jù)不會(huì)在從設(shè)備中的內(nèi)存中存儲(chǔ),可以直接被從設(shè)備發(fā)送或接收。
[0064]步驟103:當(dāng)所述第二判斷結(jié)果為否時(shí),向所述主設(shè)備發(fā)送第一響應(yīng)指令,以便所述主設(shè)備停止等待所述從設(shè)備發(fā)送的響應(yīng)指令;所述第一響應(yīng)指令表示所述從設(shè)備尚未準(zhǔn)備就緒。
[0065]當(dāng)?shù)诙袛嘟Y(jié)果為否時(shí),表示所述從設(shè)備對(duì)于主設(shè)備的指令尚未全部響應(yīng)。此時(shí),新增的數(shù)據(jù)處理芯片,可以主動(dòng)向主設(shè)備發(fā)送第一響應(yīng)指令。所述第一響應(yīng)指令表示所述從設(shè)備尚未準(zhǔn)備就緒。所述主設(shè)備接收到所述第一響應(yīng)指令后,可以結(jié)束對(duì)于當(dāng)前需要響應(yīng)的命令的等待。
[0066]綜上所述,本實(shí)施例的用于PC1-E的數(shù)據(jù)傳輸方法,通過(guò)對(duì)從設(shè)備的在線狀態(tài)進(jìn)行判斷,當(dāng)所述從設(shè)備處于離線狀態(tài)時(shí),判斷所述從設(shè)備對(duì)于主設(shè)備的指令是否均已響應(yīng),當(dāng)所述從設(shè)備對(duì)于主設(shè)備的指令尚未全部響應(yīng)時(shí),主動(dòng)向所述主設(shè)備發(fā)送第一響應(yīng)指令,指示所述主設(shè)備停止等待所述從設(shè)備發(fā)送的響應(yīng)指令,能夠?qū)脑O(shè)備的離線狀態(tài)及時(shí)反饋至主設(shè)備,減少?gòu)脑O(shè)備的熱插拔過(guò)程對(duì)數(shù)據(jù)處理業(yè)務(wù)的影響時(shí)間,從而提高PC1-E接口在熱插拔過(guò)程中的健壯性。進(jìn)一步的,當(dāng)采用毫秒級(jí)的數(shù)據(jù)處理芯片執(zhí)行上述控制邏輯時(shí),可以滿足從設(shè)備的熱插拔過(guò)程對(duì)數(shù)據(jù)處理業(yè)務(wù)的影響不大于50毫秒的指標(biāo)。
[0067]圖2為本申請(qǐng)實(shí)施例的用于PC1-E的數(shù)據(jù)傳輸方法實(shí)施例2的流程圖。如圖2所示,所述方法可以包括步驟:
[0068]步驟201:判斷從設(shè)備是否處于離線狀態(tài),得到第一判斷結(jié)果;
[0069]步驟202:當(dāng)所述第一判斷結(jié)果為是時(shí),查詢狀態(tài)記錄標(biāo)識(shí);
[0070]所述狀態(tài)記錄標(biāo)識(shí)的生成方式包括:當(dāng)所述主設(shè)備向所述從設(shè)備發(fā)送需要響應(yīng)的指令時(shí),所述狀態(tài)記錄標(biāo)識(shí)的取值增加第一數(shù)值;當(dāng)所述從設(shè)備向所述主設(shè)備發(fā)送響應(yīng)的指令時(shí),所述狀態(tài)記錄標(biāo)識(shí)的取值減少第一數(shù)值。
[0071]可以在主設(shè)備與從設(shè)備之間進(jìn)行數(shù)據(jù)交互時(shí),對(duì)主設(shè)備向從設(shè)備發(fā)送的指令進(jìn)行監(jiān)控。假設(shè)狀態(tài)記錄標(biāo)識(shí)的預(yù)設(shè)初始值為O。主設(shè)備每次向從設(shè)備發(fā)送一個(gè)需要從設(shè)備響應(yīng)的指令時(shí),可以令狀態(tài)記錄標(biāo)識(shí)的取值加1,從設(shè)備每次向主設(shè)備反饋一個(gè)響應(yīng)后的指令時(shí),可以令狀態(tài)記錄標(biāo)識(shí)的取值減I。
[0072]步驟203:判斷所述狀態(tài)記錄標(biāo)識(shí)的取值是否等于預(yù)設(shè)初始值,得到第二判斷結(jié)果;
[0073]按照前述假設(shè)的預(yù)設(shè)初始值為O的情況,如果從設(shè)備對(duì)于主設(shè)備的指令均已響應(yīng),則狀態(tài)記錄標(biāo)識(shí)的取值應(yīng)該為O ;如果從設(shè)備對(duì)于主設(shè)備的指令尚未全部響應(yīng),則狀態(tài)記錄標(biāo)識(shí)的取值應(yīng)該不為O (大于O)。此時(shí),可以判斷所述狀態(tài)記錄標(biāo)識(shí)的取值是否等于O。如果等于0,則表示所述從設(shè)備對(duì)于主設(shè)備的指令均已響應(yīng);否則,表示所述從設(shè)備對(duì)于主設(shè)備的指令尚未全部響應(yīng)。
[0074]步驟204:當(dāng)所述第二判斷結(jié)果為否時(shí),向所述主設(shè)備發(fā)送第一響應(yīng)指令,以便所述主設(shè)備停止等待所述從設(shè)備發(fā)送的響應(yīng)指令;所述第一響應(yīng)指令表示所述從設(shè)備尚未準(zhǔn)備就緒。
[0075]實(shí)際應(yīng)用中,如果從設(shè)備轉(zhuǎn)變?yōu)殡x線狀態(tài)時(shí),正在向主設(shè)備傳輸數(shù)據(jù),則可能由于從設(shè)備離線,導(dǎo)致主設(shè)備接收到的數(shù)據(jù)包不完整。此時(shí),主設(shè)備也會(huì)等待從設(shè)備繼續(xù)發(fā)送數(shù)據(jù),直到當(dāng)前的數(shù)據(jù)包接收完整。為了減少主設(shè)備的等待時(shí)間,使主設(shè)備在上述情況下依然能夠滿足從設(shè)備的熱插拔過(guò)程對(duì)數(shù)據(jù)處理業(yè)務(wù)的影響不大于50毫秒的指標(biāo),本申請(qǐng)實(shí)施例還提供了用于PC1-E的數(shù)據(jù)傳輸方法實(shí)施例3。
[0076]圖3為本申請(qǐng)實(shí)施例的用于PC1-E的數(shù)據(jù)傳輸方法實(shí)施例3的流程圖。如圖3所示,所述方法可以包括步驟:
[0077]步驟301:判斷從設(shè)備是否處于離線狀態(tài),得到第一判斷結(jié)果;
[0078]步驟302:當(dāng)所述第一判斷結(jié)果為是時(shí),查詢狀態(tài)記錄標(biāo)識(shí);
[0079]所述狀態(tài)記錄標(biāo)識(shí)的生成方式包括:當(dāng)所述主設(shè)備向所述從設(shè)備發(fā)送需要響應(yīng)的指令時(shí),所述狀態(tài)記錄標(biāo)識(shí)的取值增加第一數(shù)值;當(dāng)所述從設(shè)備向所述主設(shè)備發(fā)送響應(yīng)的指令時(shí),所述狀態(tài)記錄標(biāo)識(shí)的取值減少第一數(shù)值。
[0080]步驟303:判斷所述狀態(tài)記錄標(biāo)識(shí)的取值是否等于預(yù)設(shè)初始值,得到第二判斷結(jié)果;
[0081]步驟304:當(dāng)所述第二判斷結(jié)果為否時(shí),向所述主設(shè)備發(fā)送第一響應(yīng)指令,以便所述主設(shè)備停止等待所述從設(shè)備發(fā)送的響應(yīng)指令;所述第一響應(yīng)指令表示所述從設(shè)備尚未準(zhǔn)備就緒。
[0082]步驟305:判斷所述主設(shè)備當(dāng)前接收的數(shù)據(jù)在緩存中是否緩存了完整的數(shù)據(jù)包,得到第三判斷結(jié)果;
[0083]數(shù)據(jù)包中具有表示該數(shù)據(jù)包是否完整的標(biāo)識(shí)??梢酝ㄟ^(guò)識(shí)別緩存中是否具有該標(biāo)識(shí),進(jìn)而判斷數(shù)據(jù)是否緩存完整。
[0084]或者,可以根據(jù)接收到的數(shù)據(jù)長(zhǎng)度與該數(shù)據(jù)包的完整數(shù)據(jù)長(zhǎng)度進(jìn)行比對(duì),當(dāng)接收到的數(shù)據(jù)長(zhǎng)度與該數(shù)據(jù)包的完整數(shù)據(jù)長(zhǎng)度相等時(shí),則該數(shù)據(jù)緩存完整;否則,該數(shù)據(jù)尚未全部緩存。
[0085]步驟305中的緩存可以是指新增的數(shù)據(jù)處理芯片中的緩存。從設(shè)備在向主設(shè)備傳輸數(shù)據(jù)時(shí),數(shù)據(jù)會(huì)先傳輸至該數(shù)據(jù)處理芯片的緩存中,再由該邏輯模塊的緩存發(fā)送至所述主設(shè)備。因此,當(dāng)從設(shè)備離線時(shí),如果該邏輯模塊的緩存中緩存了完整的數(shù)據(jù)包,則可以有該邏輯模塊繼續(xù)將緩存中的數(shù)據(jù)發(fā)送至主設(shè)備,以使主設(shè)備接收到完整的數(shù)據(jù)包。
[0086]步驟306:當(dāng)所述第三判斷結(jié)果為否時(shí),獲取所述數(shù)據(jù)包的完整數(shù)據(jù)長(zhǎng)度;
[0087]步驟307:獲取所述數(shù)據(jù)包中已發(fā)送的第一數(shù)據(jù)長(zhǎng)度;
[0088]步驟308:獲取所述數(shù)據(jù)包位于緩存中的第二數(shù)據(jù)長(zhǎng)度;
[0089]步驟309:在剩余的數(shù)據(jù)長(zhǎng)度對(duì)應(yīng)的數(shù)據(jù)位置上填充占位字節(jié),生成補(bǔ)充后的數(shù)據(jù)包;所述剩余的數(shù)據(jù)長(zhǎng)度等于所述完整數(shù)據(jù)長(zhǎng)度減去所述第一數(shù)據(jù)長(zhǎng)度再減去所述第二數(shù)據(jù)長(zhǎng)度;
[0090]假設(shè)所述數(shù)據(jù)包的完整數(shù)據(jù)長(zhǎng)度為128字節(jié),已發(fā)送的第一數(shù)據(jù)長(zhǎng)度為64字節(jié),位于緩存中的第二數(shù)據(jù)長(zhǎng)度為32字節(jié),那么剩余的數(shù)據(jù)長(zhǎng)度就為32字節(jié)。所述占位字節(jié)可以根據(jù)預(yù)設(shè)規(guī)則填充,例如,在剩余的數(shù)據(jù)長(zhǎng)度對(duì)應(yīng)的數(shù)據(jù)位置上可以全部填充0,或者全部填充I。
[0091]步驟310:向所述主設(shè)備發(fā)送所述補(bǔ)充后的數(shù)據(jù)包,以便所述主設(shè)備接收到所述補(bǔ)充后的數(shù)據(jù)包后,中斷等待接收所述數(shù)據(jù)包的剩余數(shù)據(jù)的過(guò)程。
[0092]數(shù)據(jù)包被補(bǔ)充后,從數(shù)據(jù)長(zhǎng)度上與完整的數(shù)據(jù)包是相同的。因此,主設(shè)備會(huì)認(rèn)為當(dāng)前接收到了完整的數(shù)據(jù)包,從而中斷等待接收所述數(shù)據(jù)包的剩余數(shù)據(jù)的過(guò)程。
[0093]需要說(shuō)明的是,本實(shí)施例中,因?yàn)檠a(bǔ)充數(shù)據(jù)包是根據(jù)預(yù)設(shè)規(guī)則補(bǔ)充的,與原本的數(shù)據(jù)包的數(shù)據(jù)內(nèi)容不一定相同,所以主設(shè)備對(duì)于補(bǔ)充完整的數(shù)據(jù)包中的數(shù)據(jù)是不會(huì)進(jìn)行使用的。補(bǔ)充后的數(shù)據(jù)包主要起到的作用是使主設(shè)備不必再等待接收所述數(shù)據(jù)包的剩余數(shù)據(jù)。
[0094]本申請(qǐng)實(shí)施例還提供了一種用于PC1-E的數(shù)據(jù)傳輸系統(tǒng)。圖4為本申請(qǐng)實(shí)施例的用于PC1-E的數(shù)據(jù)傳輸系統(tǒng)實(shí)施例的結(jié)構(gòu)圖。如圖4所示,所述系統(tǒng)可以包括:
[0095]第一判斷模塊401,用于判斷從設(shè)備是否處于離線狀態(tài),得到第一判斷結(jié)果;
[0096]第二判斷模塊402,用于當(dāng)所述第一判斷結(jié)果為是時(shí),判斷所述從設(shè)備對(duì)于主設(shè)備的指令是否均已響應(yīng),得到第二判斷結(jié)果;
[0097]第一響應(yīng)指令發(fā)送模塊403,用于當(dāng)所述第二判斷結(jié)果為否時(shí),向所述主設(shè)備發(fā)送第一響應(yīng)指令,以便所述主設(shè)備停止等待所述從設(shè)備發(fā)送的響應(yīng)指令;所述第一響應(yīng)指令表示所述從設(shè)備尚未準(zhǔn)備就緒。
[0098]其中,所述第二判斷模塊402,可以包括:
[0099]第一判斷單元,用于判斷所述從設(shè)備對(duì)所述主設(shè)備發(fā)出的I/O讀寫指令是否已響應(yīng);
[0100]第二判斷單元,用于判斷所述從設(shè)備對(duì)所述主設(shè)備發(fā)出的內(nèi)存讀寫指令是否已響應(yīng)。
[0101]所述第二判斷模塊402,還可以包括:
[0102]狀態(tài)記錄標(biāo)識(shí)查詢單元,用于查詢狀態(tài)記錄標(biāo)識(shí);所述狀態(tài)記錄標(biāo)識(shí)的生成方式包括:當(dāng)所述主設(shè)備向所述從設(shè)備發(fā)送需要響應(yīng)的指令時(shí),所述狀態(tài)記錄標(biāo)識(shí)的取值增加第一數(shù)值;當(dāng)所述從設(shè)備向所述主設(shè)備發(fā)送響應(yīng)的指令時(shí),所述狀態(tài)記錄標(biāo)識(shí)的取值減少第一數(shù)值;
[0103]第三判斷單元,用于判斷所述狀態(tài)記錄標(biāo)識(shí)的取值是否等于預(yù)設(shè)初始值。
[0104]所述系統(tǒng)還可以包括:
[0105]第三判斷模塊,用于當(dāng)所述從設(shè)備由在線狀態(tài)轉(zhuǎn)變至離線狀態(tài)時(shí),判斷所述主設(shè)備當(dāng)前接收的數(shù)據(jù)在緩存中是否緩存了完整的數(shù)據(jù)包,得到第三判斷結(jié)果;
[0106]數(shù)據(jù)補(bǔ)充模塊,用于當(dāng)所述第三判斷結(jié)果為否時(shí),將緩存中的數(shù)據(jù)補(bǔ)充為完整的數(shù)據(jù)包后,發(fā)送至所述主設(shè)備。
[0107]所述數(shù)據(jù)補(bǔ)充模塊可以包括:
[0108]完整數(shù)據(jù)長(zhǎng)度獲取單元,用于獲取所述數(shù)據(jù)包的完整數(shù)據(jù)長(zhǎng)度;
[0109]第一數(shù)據(jù)長(zhǎng)度獲取單元,用于獲取所述數(shù)據(jù)包中已發(fā)送的第一數(shù)據(jù)長(zhǎng)度;
[0110]第二數(shù)據(jù)長(zhǎng)度獲取單元,用于獲取所述數(shù)據(jù)包位于緩存中的第二數(shù)據(jù)長(zhǎng)度;
[0111]占位字填充單元,用于在剩余的數(shù)據(jù)長(zhǎng)度對(duì)應(yīng)的數(shù)據(jù)位置上填充占位字節(jié),生成補(bǔ)充后的數(shù)據(jù)包;所述剩余的數(shù)據(jù)長(zhǎng)度等于所述完整數(shù)據(jù)長(zhǎng)度減去所述第一數(shù)據(jù)長(zhǎng)度再減去所述第二數(shù)據(jù)長(zhǎng)度;
[0112]補(bǔ)充數(shù)據(jù)包發(fā)送單元,用于向所述主設(shè)備發(fā)送所述補(bǔ)充后的數(shù)據(jù)包,以便所述主設(shè)備接收到所述補(bǔ)充后的數(shù)據(jù)包后,中斷等待接收所述數(shù)據(jù)包的剩余數(shù)據(jù)的過(guò)程。
[0113]綜上所述,本實(shí)施例的用于PC1-E的數(shù)據(jù)傳輸系統(tǒng),通過(guò)對(duì)從設(shè)備的在線狀態(tài)進(jìn)行判斷,當(dāng)所述從設(shè)備處于離線狀態(tài)時(shí),判斷所述從設(shè)備對(duì)于主設(shè)備的指令是否均已響應(yīng),當(dāng)所述從設(shè)備對(duì)于主設(shè)備的指令尚未全部響應(yīng)時(shí),主動(dòng)向所述主設(shè)備發(fā)送第一響應(yīng)指令,指示所述主設(shè)備停止等待所述從設(shè)備發(fā)送的響應(yīng)指令,能夠?qū)脑O(shè)備的離線狀態(tài)及時(shí)反饋至主設(shè)備,減少?gòu)脑O(shè)備的熱插拔過(guò)程對(duì)數(shù)據(jù)處理業(yè)務(wù)的影響時(shí)間,從而提高PC1-E接口在熱插拔過(guò)程中的健壯性。進(jìn)一步的,當(dāng)采用毫秒級(jí)的數(shù)據(jù)處理芯片執(zhí)行上述控制邏輯時(shí),可以滿足從設(shè)備的熱插拔過(guò)程對(duì)數(shù)據(jù)處理業(yè)務(wù)的影響不大于50毫秒的指標(biāo)。
[0114]另外,本申請(qǐng)實(shí)施例實(shí)施例還提供了一種計(jì)算節(jié)點(diǎn),計(jì)算節(jié)點(diǎn)可能是包含計(jì)算能力的主機(jī)服務(wù)器,或者是個(gè)人計(jì)算機(jī)PC,或者是可攜帶的便攜式計(jì)算機(jī)或終端等等,本申請(qǐng)實(shí)施例具體實(shí)施例并不對(duì)計(jì)算節(jié)點(diǎn)的具體實(shí)現(xiàn)做限定。
[0115]圖5為本申請(qǐng)實(shí)施例的計(jì)算節(jié)點(diǎn)的結(jié)構(gòu)圖。如圖5所示,計(jì)算節(jié)點(diǎn)700包括:
[0116]處理器(processor)710,通信接口(Communicat1ns Interface) 720,存儲(chǔ)器(memory) 730,總線 740。
[0117]處理器710,通信接口 720,存儲(chǔ)器730通過(guò)總線740完成相互間的通信。
[0118]處理器710,用于執(zhí)行程序732。
[0119]具體地,程序732可以包括程序代碼,所述程序代碼包括計(jì)算機(jī)操作指令。
[0120]處理器710可能是一個(gè)中央處理器CPU,或者是特定集成電路ASIC (Applicat1nSpecific Integrated Circuit),或者是被配置成實(shí)施本申請(qǐng)實(shí)施例實(shí)施例的一個(gè)或多個(gè)集成電路。
[0121]存儲(chǔ)器730,用于存放程序732。存儲(chǔ)器730可能包含高速RAM存儲(chǔ)器,也可能還包括非易失性存儲(chǔ)器(non-volatile memory),例如至少一個(gè)磁盤存儲(chǔ)器。程序732具體可以包括:
[0122]第一判斷模塊401,用于判斷從設(shè)備是否處于離線狀態(tài),得到第一判斷結(jié)果;
[0123]第二判斷模塊402,用于當(dāng)所述第一判斷結(jié)果為是時(shí),判斷所述從設(shè)備對(duì)于主設(shè)備的指令是否均已響應(yīng),得到第二判斷結(jié)果;
[0124]第一響應(yīng)指令發(fā)送模塊403,用于當(dāng)所述第二判斷結(jié)果為否時(shí),向所述主設(shè)備發(fā)送第一響應(yīng)指令,以便所述主設(shè)備停止等待所述從設(shè)備發(fā)送的響應(yīng)指令;所述第一響應(yīng)指令表示所述從設(shè)備尚未準(zhǔn)備就緒。
[0125]程序732中各模塊的具體實(shí)現(xiàn)參見(jiàn)圖4所示實(shí)施例中的相應(yīng)模塊或單元,在此不贅述。
[0126]最后,還需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0127]通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本申請(qǐng)實(shí)施例可借助軟件加必需的硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以全部通過(guò)硬件來(lái)實(shí)施,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本申請(qǐng)實(shí)施例的技術(shù)方案對(duì)【背景技術(shù)】做出貢獻(xiàn)的全部或者部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請(qǐng)實(shí)施例各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
[0128]本說(shuō)明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見(jiàn)即可。對(duì)于實(shí)施例公開(kāi)的系統(tǒng)而言,由于其與實(shí)施例公開(kāi)的方法相對(duì)應(yīng),所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法部分說(shuō)明即可。
[0129]本文中應(yīng)用了具體個(gè)例對(duì)本申請(qǐng)實(shí)施例的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本申請(qǐng)實(shí)施例的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請(qǐng)實(shí)施例的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會(huì)有改變之處。綜上所述,本說(shuō)明書內(nèi)容不應(yīng)理解為對(duì)本申請(qǐng)實(shí)施例的限制。
【權(quán)利要求】
1.一種用于PC1-E的數(shù)據(jù)傳輸方法,其特征在于,所述方法包括: 判斷從設(shè)備是否處于離線狀態(tài),得到第一判斷結(jié)果; 當(dāng)所述第一判斷結(jié)果為是時(shí),判斷所述從設(shè)備對(duì)于主設(shè)備的指令是否均已響應(yīng),得到第二判斷結(jié)果; 當(dāng)所述第二判斷結(jié)果為否時(shí),向所述主設(shè)備發(fā)送第一響應(yīng)指令,以便所述主設(shè)備停止等待所述從設(shè)備發(fā)送的響應(yīng)指令;所述第一響應(yīng)指令表示所述從設(shè)備尚未準(zhǔn)備就緒。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷所述從設(shè)備對(duì)于主設(shè)備的指令是否均已響應(yīng),包括: 判斷所述從設(shè)備對(duì)所述主設(shè)備發(fā)出的I/o讀寫指令是否已響應(yīng); 判斷所述從設(shè)備對(duì)所述主設(shè)備發(fā)出的內(nèi)存讀寫指令是否已響應(yīng)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷所述從設(shè)備對(duì)于主設(shè)備的指令是否均已響應(yīng),包括: 查詢狀態(tài)記錄標(biāo)識(shí);所述狀態(tài)記錄標(biāo)識(shí)的生成方式包括:當(dāng)所述主設(shè)備向所述從設(shè)備發(fā)送需要響應(yīng)的指令時(shí),所述狀態(tài)記錄標(biāo)識(shí)的取值增加第一數(shù)值;當(dāng)所述從設(shè)備向所述主設(shè)備發(fā)送響應(yīng)的指令時(shí),所述狀態(tài)記錄標(biāo)識(shí)的取值減少第一數(shù)值; 判斷所述狀態(tài)記錄標(biāo)識(shí)的取值是否等于預(yù)設(shè)初始值。
4.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的方法,其特征在于,所述方法還包括: 當(dāng)所述從設(shè)備由在線狀態(tài)轉(zhuǎn)變至離線狀態(tài)時(shí),判斷所述主設(shè)備當(dāng)前接收的數(shù)據(jù)在緩存中是否緩存了完整的數(shù)據(jù)包,得到第三判斷結(jié)果; 當(dāng)所述第三判斷結(jié)果為否時(shí),將緩存中的數(shù)據(jù)補(bǔ)充為完整的數(shù)據(jù)包后,發(fā)送至所述主設(shè)備。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述將緩存中的數(shù)據(jù)補(bǔ)充為完整的數(shù)據(jù)包,包括: 獲取所述數(shù)據(jù)包的完整數(shù)據(jù)長(zhǎng)度; 獲取所述數(shù)據(jù)包中已發(fā)送的第一數(shù)據(jù)長(zhǎng)度; 獲取所述數(shù)據(jù)包位于緩存中的第二數(shù)據(jù)長(zhǎng)度; 在剩余的數(shù)據(jù)長(zhǎng)度對(duì)應(yīng)的數(shù)據(jù)位置上填充占位字節(jié),生成補(bǔ)充后的數(shù)據(jù)包;所述剩余的數(shù)據(jù)長(zhǎng)度等于所述完整數(shù)據(jù)長(zhǎng)度減去所述第一數(shù)據(jù)長(zhǎng)度再減去所述第二數(shù)據(jù)長(zhǎng)度; 向所述主設(shè)備發(fā)送所述補(bǔ)充后的數(shù)據(jù)包,以便所述主設(shè)備接收到所述補(bǔ)充后的數(shù)據(jù)包后,中斷等待接收所述數(shù)據(jù)包的剩余數(shù)據(jù)的過(guò)程。
6.一種用于PC1-E的數(shù)據(jù)傳輸系統(tǒng),其特征在于,所述系統(tǒng)包括: 第一判斷模塊,用于判斷從設(shè)備是否處于離線狀態(tài),得到第一判斷結(jié)果; 第二判斷模塊,用于當(dāng)所述第一判斷結(jié)果為是時(shí),判斷所述從設(shè)備對(duì)于主設(shè)備的指令是否均已響應(yīng),得到第二判斷結(jié)果; 第一響應(yīng)指令發(fā)送模塊,用于當(dāng)所述第二判斷結(jié)果為否時(shí),向所述主設(shè)備發(fā)送第一響應(yīng)指令,以便所述主設(shè)備停止等待所述從設(shè)備發(fā)送的響應(yīng)指令;所述第一響應(yīng)指令表示所述從設(shè)備尚未準(zhǔn)備就緒。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述第二判斷模塊,包括: 第一判斷單元,用于判斷所述從設(shè)備對(duì)所述主設(shè)備發(fā)出的I/O讀寫指令是否已響應(yīng); 第二判斷單元,用于判斷所述從設(shè)備對(duì)所述主設(shè)備發(fā)出的內(nèi)存讀寫指令是否已響應(yīng)。
8.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述第二判斷模塊,包括: 狀態(tài)記錄標(biāo)識(shí)查詢單元,用于查詢狀態(tài)記錄標(biāo)識(shí);所述狀態(tài)記錄標(biāo)識(shí)的生成方式包括:當(dāng)所述主設(shè)備向所述從設(shè)備發(fā)送需要響應(yīng)的指令時(shí),所述狀態(tài)記錄標(biāo)識(shí)的取值增加第一數(shù)值;當(dāng)所述從設(shè)備向所述主設(shè)備發(fā)送響應(yīng)的指令時(shí),所述狀態(tài)記錄標(biāo)識(shí)的取值減少第一數(shù)值; 第三判斷單元,用于判斷所述狀態(tài)記錄標(biāo)識(shí)的取值是否等于預(yù)設(shè)初始值。
9.根據(jù)權(quán)利要求6-8任一項(xiàng)所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 第三判斷模塊,用于當(dāng)所述從設(shè)備由在線狀態(tài)轉(zhuǎn)變至離線狀態(tài)時(shí),判斷所述主設(shè)備當(dāng)前接收的數(shù)據(jù)在緩存中是否緩存了完整的數(shù)據(jù)包,得到第三判斷結(jié)果; 數(shù)據(jù)補(bǔ)充模塊,用于當(dāng)所述第三判斷結(jié)果為否時(shí),將緩存中的數(shù)據(jù)補(bǔ)充為完整的數(shù)據(jù)包后,發(fā)送至所述主設(shè)備。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述數(shù)據(jù)補(bǔ)充模塊包括: 完整數(shù)據(jù)長(zhǎng)度獲取單元,用于獲取所述數(shù)據(jù)包的完整數(shù)據(jù)長(zhǎng)度; 第一數(shù)據(jù)長(zhǎng)度獲取單元,用于獲取所述數(shù)據(jù)包中已發(fā)送的第一數(shù)據(jù)長(zhǎng)度; 第二數(shù)據(jù)長(zhǎng)度獲取單元,用于獲取所述數(shù)據(jù)包位于緩存中的第二數(shù)據(jù)長(zhǎng)度; 占位字填充單元,用于在剩余的數(shù)據(jù)長(zhǎng)度對(duì)應(yīng)的數(shù)據(jù)位置上填充占位字節(jié),生成補(bǔ)充后的數(shù)據(jù)包;所述剩余的數(shù)據(jù)長(zhǎng)度等于所述完整數(shù)據(jù)長(zhǎng)度減去所述第一數(shù)據(jù)長(zhǎng)度再減去所述第二數(shù)據(jù)長(zhǎng)度; 補(bǔ)充數(shù)據(jù)包發(fā)送單元,用于向所述主設(shè)備發(fā)送所述補(bǔ)充后的數(shù)據(jù)包,以便所述主設(shè)備接收到所述補(bǔ)充后的數(shù)據(jù)包后,中斷等待接收所述數(shù)據(jù)包的剩余數(shù)據(jù)的過(guò)程。
【文檔編號(hào)】G06F13/38GK104298629SQ201310296227
【公開(kāi)日】2015年1月21日 申請(qǐng)日期:2013年7月15日 優(yōu)先權(quán)日:2013年7月15日
【發(fā)明者】潘國(guó)杰 申請(qǐng)人:華為技術(shù)有限公司