一種用于pcie電源可靠復(fù)位的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種用于PCIE電源可靠復(fù)位的方法。
【背景技術(shù)】
[0002]現(xiàn)有的復(fù)位方式包括冷復(fù)位,暖復(fù)位和熱復(fù)位三種。
[0003]冷復(fù)位:PCIE上電后便自行開始的初始化復(fù)位暖復(fù)位(鏈路關(guān)斷復(fù)位):在正常的操作中,鏈路關(guān)斷或者工作在低功耗的狀態(tài),PCIE核要求鏈路復(fù)位請(qǐng)求。一根從高到低的link_req_rSt_not信號(hào)傳輸表示PCIE請(qǐng)求外部的邏輯復(fù)位PCIE,由PHY鏈路關(guān)斷引起的。
[0004]熱復(fù)位:上游設(shè)備(RC,Sff上游端口,或者DM在RC模式)能夠熱復(fù)位下游設(shè)備(EP, Sff上游端口,DM在EP模式),在熱復(fù)位bit被采樣到之后通過(guò)發(fā)送兩個(gè)連續(xù)的鏈路TSl有序集實(shí)現(xiàn)。熱復(fù)位也稱為‘訓(xùn)練復(fù)位’。相似于暖復(fù)位,下游設(shè)備要求外部邏輯復(fù)位PCIE0冷復(fù)位和暖復(fù)位都屬于基本復(fù)位,在之前的PCIE技術(shù)當(dāng)中,提到過(guò)基本復(fù)位可以通過(guò)兩種方式實(shí)現(xiàn):一種是通過(guò)PERST#
[0005]信號(hào)引發(fā);另一種是通過(guò)自主生成基本復(fù)位。PERST#信號(hào)引發(fā)的基本復(fù)位都是指PCIE系統(tǒng)中的一個(gè)邊帶信號(hào),用來(lái)傳遞復(fù)位信號(hào),然后觸發(fā)整個(gè)PCIE系統(tǒng)進(jìn)行復(fù)位。
[0006]通過(guò)自主生成的基本復(fù)位指設(shè)備可以在不適用PERST#信號(hào)來(lái)復(fù)位自己的電路,而是在檢測(cè)到主電源加電的情況下自己產(chǎn)生基本復(fù)位信號(hào)復(fù)位自身電路。比如,在一個(gè)插卡上,設(shè)計(jì)有這種復(fù)位產(chǎn)生機(jī)構(gòu),對(duì)加電進(jìn)行檢測(cè)并產(chǎn)生該設(shè)備的本地復(fù)位信號(hào)。如果設(shè)備檢測(cè)到它的電源超過(guò)規(guī)定的限度,它也必須產(chǎn)生一個(gè)自主的復(fù)位信號(hào)。
[0007]熱復(fù)位是指通過(guò)軟件的方式進(jìn)行復(fù)位的方法,軟件在根復(fù)合體生成熱復(fù)位。通過(guò)發(fā)送PCIE中固有的TSl有序集來(lái)進(jìn)行帶內(nèi)傳播,由上級(jí)向下游傳播,即只有根復(fù)合體和交換開關(guān)能夠產(chǎn)生熱復(fù)位,端點(diǎn)不能產(chǎn)生熱復(fù)位。
[0008]現(xiàn)有PCIE電源管理簡(jiǎn)單,不適合超低功耗器件的應(yīng)用,電源管理的不同狀態(tài)切換容易造成包的丟失。
[0009]現(xiàn)有的復(fù)位方式,是當(dāng)設(shè)備采樣到復(fù)位信號(hào)之后,不關(guān)注鏈路上是否有包傳送,并且也不能夠確定鏈路上的包是否傳送成功,更不能確定鏈路上的包已經(jīng)傳送成功的位數(shù),而會(huì)直接復(fù)位,將準(zhǔn)備復(fù)位的設(shè)備進(jìn)行初始化,清空其內(nèi)存,復(fù)位它的寄存器,并沒(méi)有考慮到目前的數(shù)據(jù)傳輸情況和PCIE對(duì)端的情況,只是簡(jiǎn)單的將要復(fù)位的設(shè)備進(jìn)行復(fù)位,例如將設(shè)備寄存器重置,將緩沖區(qū)的數(shù)據(jù)清空,將鏈路上的包丟棄。
【發(fā)明內(nèi)容】
[0010]本發(fā)明的目的在于克服上述不足,提供一種用于PCIE電源可靠復(fù)位的方法,能夠進(jìn)一步降低功耗,提高對(duì)電源管理狀態(tài)切換的保護(hù)。
[0011]本發(fā)明的目的是這樣實(shí)現(xiàn)的:一種用于PCIE電源可靠復(fù)位的方法,所述方法在接收端收到將要進(jìn)行復(fù)位的信號(hào)后,與發(fā)送端進(jìn)行握手,通過(guò)握手信號(hào)來(lái)確定發(fā)送端正在發(fā)送的數(shù)據(jù)包是否傳輸完成,若傳輸完成則進(jìn)行復(fù)位,若傳輸未完成,發(fā)送端停止繼續(xù)發(fā)包,并將記錄剩余數(shù)據(jù)包的發(fā)送狀態(tài),而接收端則對(duì)接收到的數(shù)據(jù)包進(jìn)行接收并且對(duì)已經(jīng)接收到的數(shù)據(jù)包進(jìn)行存儲(chǔ),然后將握手的響應(yīng)信號(hào)返回給發(fā)送端,告知發(fā)送端可以對(duì)本設(shè)備進(jìn)行復(fù)位操作。
[0012]其進(jìn)一步的技術(shù)方案為:接收端(即鏈路下游的PCIE設(shè)備)進(jìn)行如下操作:
[0013]I)保持接收任何的讀/寫請(qǐng)求但是不轉(zhuǎn)發(fā)到PCIE鏈路;
[0014]2)對(duì)于已經(jīng)接收到的任何寫請(qǐng)求和任何新的寫請(qǐng)求,操作如下:
[0015]2a)允許鏈路發(fā)送端完成所有的寫數(shù)據(jù)傳輸,停止發(fā)送發(fā)送端中的數(shù)據(jù);
[0016]2b)當(dāng)完成寫數(shù)據(jù)傳輸,生成接收端反饋給發(fā)送端的寫響應(yīng)錯(cuò)誤位;
[0017]3)對(duì)于已經(jīng)接收到的讀請(qǐng)求或者任何新的寫請(qǐng)求,生成接收端錯(cuò)誤響應(yīng)并反饋給發(fā)送端,數(shù)據(jù)阻塞到鏈路恢復(fù)后再次反送;
[0018]AXI橋主機(jī)接口依次執(zhí)行以下步驟:
[0019]4)停止生成任何新的讀和寫請(qǐng)求;
[0020]5)當(dāng)完成所有的這些操作之后,并且平滑復(fù)位信號(hào)(doWn_fluSh_not)被采樣到,同時(shí)在外部復(fù)位控制器生成復(fù)位(pcie_reset_n)信號(hào),使接收端得以復(fù)位。
[0021]與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:本發(fā)明通過(guò)在得知將要進(jìn)行復(fù)位的信號(hào)后,對(duì)兩端交互的設(shè)備進(jìn)行握手,通過(guò)握手信
[0022]號(hào)來(lái)確定正在發(fā)送的包傳輸完成,發(fā)送端則停止繼續(xù)發(fā)包,并將記錄剩余包的發(fā)送狀態(tài),而接收端則對(duì)接收到的包進(jìn)行接收并且對(duì)已經(jīng)接收到的包進(jìn)行存儲(chǔ),然后將握手的響應(yīng)信號(hào)返回給發(fā)送端,告知發(fā)送端可以本設(shè)備可以進(jìn)行復(fù)位操作。這樣的握手復(fù)位可以保證包的不丟失,而且在復(fù)位之后可以正常的繼續(xù)傳輸還未傳完的數(shù)據(jù)報(bào)文,進(jìn)一步節(jié)省了功耗和保證了數(shù)據(jù)報(bào)文傳輸?shù)恼_性和完整性。
【具體實(shí)施方式】
[0023]link_req_rst_not是指鏈路復(fù)位信號(hào),down_f lush_not信號(hào)是指鏈路上游設(shè)備要求下游設(shè)備復(fù)位信號(hào),即平滑復(fù)位信號(hào),要想觸發(fā)復(fù)位必須要在link_req_rst_not和doWn_flUSh_not信號(hào)上升沿和下降沿到來(lái)后開始復(fù)位。為了保護(hù)在下游設(shè)備復(fù)位時(shí)間段上有設(shè)備發(fā)送到鏈路上的數(shù)據(jù)不丟失,在復(fù)位的情況下必須要握手。在復(fù)位的時(shí)候,必須要終止所有的數(shù)據(jù)包傳輸。當(dāng)link_req_rst_not信號(hào)被采樣到的時(shí)候,操作如下:
[0024]I)保持接收任何的讀/寫請(qǐng)求但是不轉(zhuǎn)發(fā)他們到PCIE鏈路;
[0025]2)對(duì)于已經(jīng)接收到的任何寫請(qǐng)求和任何新的寫請(qǐng)求,操作如下:
[0026]2a)允許發(fā)送端完成所有的寫數(shù)據(jù)傳輸,停止發(fā)送端內(nèi)部的數(shù)據(jù)發(fā)送,并進(jìn)行存儲(chǔ);
[0027]2b)當(dāng)完成寫數(shù)據(jù)傳輸,生成接收端寫響應(yīng)錯(cuò)誤位;
[0028]3)對(duì)于已經(jīng)接收到的讀請(qǐng)求或者任何新的寫請(qǐng)求,生成下游錯(cuò)誤響應(yīng),并傳輸給發(fā)送端;
[0029]鏈路的發(fā)送端依次執(zhí)行以下步驟:
[0030]4)停止生成任何新的讀和寫請(qǐng)求;
[0031]5)當(dāng)完成所有的這些操作之后,并且接收端的響應(yīng)信號(hào)down_flush_not被采樣到并且在外部復(fù)位控制器生成pCie_reset_n信號(hào),進(jìn)行復(fù)位操作。
[0032]當(dāng)所有的這些操作已經(jīng)完成,才將doWn_flUSh_not信號(hào)置位(讓其有效)并且你能用它生成外部復(fù)位信號(hào)生成pcie_reset_n信號(hào)。
[0033]以上所述的僅是本發(fā)明的優(yōu)選實(shí)施方式,本發(fā)明不限于以上實(shí)施例。本領(lǐng)域技術(shù)人員在不脫離本發(fā)明的精神和構(gòu)思的前提下直接導(dǎo)出或聯(lián)想到的其他改進(jìn)和變化,均認(rèn)為包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種用于PCIE電源可靠復(fù)位的方法,其特征在于:在接收端收到將要進(jìn)行復(fù)位的信號(hào)后,與發(fā)送端進(jìn)行握手,通過(guò)握手信號(hào)來(lái)確定發(fā)送端正在發(fā)送的數(shù)據(jù)包是否傳輸完成,若傳輸完成則進(jìn)行復(fù)位,若傳輸未完成,發(fā)送端停止繼續(xù)發(fā)包,并將記錄剩余數(shù)據(jù)包的發(fā)送狀態(tài),而接收端則對(duì)接收到的數(shù)據(jù)包進(jìn)行接收并且對(duì)已經(jīng)接收到的數(shù)據(jù)包進(jìn)行存儲(chǔ),然后將握手的響應(yīng)信號(hào)返回給發(fā)送端,告知發(fā)送端可以對(duì)本設(shè)備進(jìn)行復(fù)位操作。2.根據(jù)權(quán)利要求1所述一種用于PCIE電源可靠復(fù)位的方法,其特征在于:接受端進(jìn)行如下操作: 1)保持接收任何的讀/寫請(qǐng)求但是不轉(zhuǎn)發(fā)到PCIE鏈路中; 2)對(duì)于已經(jīng)接收到的任何寫請(qǐng)求和任何新的寫請(qǐng)求,操作如下: 2a)允許發(fā)送端完成所有的寫數(shù)據(jù)傳輸,停止發(fā)送端內(nèi)部的數(shù)據(jù)發(fā)送,并進(jìn)行存儲(chǔ); 2b)當(dāng)完成寫數(shù)據(jù)傳輸,生成接收端寫響應(yīng)錯(cuò)誤位; 3)對(duì)于已經(jīng)接收到的讀請(qǐng)求或者任何新的寫請(qǐng)求,生成下游錯(cuò)誤響應(yīng),并傳輸給發(fā)送端;鏈路的發(fā)送端依次執(zhí)行以下步驟: 4)停止生成任何新的讀和寫請(qǐng)求; 5)當(dāng)完成所有的這些操作之后,并且接收端的平滑復(fù)位響應(yīng)信號(hào)被采樣到,同時(shí)在外部復(fù)位控制器生成復(fù)位信號(hào),進(jìn)行復(fù)位操作。3.根據(jù)權(quán)利要求2所述一種用于PCIE電源可靠復(fù)位的方法,其特征在于:所述技術(shù)包括對(duì)變速模式和關(guān)斷模式進(jìn)行優(yōu)化。4.根據(jù)權(quán)利要求2所述一種用于PCIE電源可靠復(fù)位的方法,其特征在于:加入平滑復(fù)位避免包丟失的機(jī)制。5.根據(jù)權(quán)利要求2所述一種用于PCIE電源可靠復(fù)位的方法,其特征在于:加入電源管理狀態(tài)切換時(shí)的保護(hù)機(jī)制,以避免包丟失。
【專利摘要】一種用于PCIE電源可靠復(fù)位的方法,本發(fā)明涉及一種用于PCIE電源管理的技術(shù),其特征在于:在接收端收到將要進(jìn)行復(fù)位的信號(hào)后,與發(fā)送端進(jìn)行握手,通過(guò)握手信號(hào)來(lái)確定發(fā)送端正在發(fā)送的數(shù)據(jù)包是否傳輸完成,若傳輸完成則進(jìn)行復(fù)位,若傳輸未完成,發(fā)送端停止繼續(xù)發(fā)包,并將記錄剩余數(shù)據(jù)包的發(fā)送狀態(tài),而接收端則對(duì)接收到的數(shù)據(jù)包進(jìn)行接收并且對(duì)已經(jīng)接收到的數(shù)據(jù)包進(jìn)行存儲(chǔ),然后將握手的響應(yīng)信號(hào)返回給發(fā)送端,告知發(fā)送端可以對(duì)本設(shè)備進(jìn)行復(fù)位操作。本發(fā)明能夠進(jìn)一步降低功耗,提高對(duì)電源管理狀態(tài)切換的保護(hù)。
【IPC分類】G06F1/24
【公開號(hào)】CN105630119
【申請(qǐng)?zhí)枴緾N201410583283
【發(fā)明人】李 東
【申請(qǐng)人】青島金訊網(wǎng)絡(luò)工程有限公司
【公開日】2016年6月1日
【申請(qǐng)日】2014年10月27日