用于彈性通信的技術(shù)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明的實(shí)施例涉及用于互連節(jié)點(diǎn)之間的通信。更具體地,本發(fā)明的實(shí)施例涉及可用于提供可靠的、高效的消息通信的彈性通信技術(shù)。
【背景技術(shù)】
[0002]例如在片上系統(tǒng)(SoC)的片上網(wǎng)絡(luò)(NoC)中的許多互連架構(gòu)依賴于路由器來管理節(jié)點(diǎn)(例如,處理器核心、存儲器)之間的消息傳送流量。這些路由器消耗電力來運(yùn)行且會占SoC的整體功耗的顯著部分。一種降低功耗的策略是降低工作電壓。然而,在低電壓下,路由器易發(fā)生動(dòng)態(tài)變化,諸如電壓下降或老化效應(yīng),這樣可能會導(dǎo)致路由器的定時(shí)故障。運(yùn)行的魯棒性通常是利用在設(shè)計(jì)時(shí)間選擇的靜態(tài)電壓防護(hù)帶來確保的。靜態(tài)電壓防護(hù)帶的使用要求較高的工作電壓且增加功耗。
【附圖說明】
[0003]在附圖中,本發(fā)明的實(shí)施例通過舉例的方式闡明,而不是通過限制的方式,在附圖中相似的附圖標(biāo)記指代相似的元件。
[0004]圖1是可用來支持彈性通信技術(shù)的誤差檢測電路的一個(gè)實(shí)施例的框圖。
[0005]圖2是可用來支持彈性通信技術(shù)而不會造成高設(shè)計(jì)開銷的雙采樣誤差檢測電路的一個(gè)實(shí)施例的框圖。
[0006]圖3是配置為將數(shù)據(jù)發(fā)送到路由器/流量發(fā)生器(TG)的對動(dòng)態(tài)變化有彈性的路由器的框圖。
[0007]圖4是位誤差信號來驗(yàn)證接收到的數(shù)據(jù)的接收路由器(或其他設(shè)備)的框圖。
[0008]圖5是通過回滾機(jī)制來支持定時(shí)彈性的源節(jié)點(diǎn)的一個(gè)實(shí)施例的框圖。
[0009]圖6是電子系統(tǒng)的一個(gè)實(shí)施例的框圖。
【具體實(shí)施方式】
[0010]可以在不同的配置中使用路由器的各種實(shí)施例,其中一些可以提供誤差檢測和校正。在一個(gè)實(shí)施例中,輸入緩沖型蟲洞交換路由器架構(gòu)(例如,適合于片上網(wǎng)絡(luò),NoC)能夠被配置成運(yùn)行為:1)具有單循環(huán)時(shí)延的路由器,2)具有兩循環(huán)時(shí)延且無彈性的路由器,或者3)具有兩循環(huán)時(shí)延和對動(dòng)態(tài)變化的彈性的路由器。下面將更詳細(xì)地描述這些操作模式。
[0011]在一個(gè)實(shí)施例中,在具有彈性模式的兩循環(huán)時(shí)延中,利用可為硬件電路的誤差檢測順序(EDS)機(jī)制來檢測路由器中的定時(shí)故障處所顯現(xiàn)的動(dòng)態(tài)變化。在一個(gè)實(shí)施例中,彈性路由器架構(gòu)包括處理級的EDS,其能夠操作以保護(hù)路由器內(nèi)的定時(shí)路徑。暴露于路由器內(nèi)的定時(shí)故障的消息的校正能夠利用分組重放技術(shù)來實(shí)現(xiàn)。
[0012]在一個(gè)實(shí)施例中,EDS方案提供了應(yīng)對由于雙采樣引起的軟誤差(SER)誘發(fā)事件的天然保護(hù)。另外,所公開的方案能夠預(yù)防SER有關(guān)的組合延遲推出和順序狀態(tài)丟失。
[0013]在一個(gè)實(shí)施例中,路由器(或其他部件)包括運(yùn)行以保護(hù)路由器內(nèi)的定時(shí)路徑的彈性增強(qiáng)最終級。例如,具有EDS機(jī)制的路由器運(yùn)行以保護(hù)路由器內(nèi)源起于輸出(例如,F(xiàn)IFO)隊(duì)列的所有定時(shí)路徑。在一個(gè)實(shí)施例中,通過分組重放技術(shù)來實(shí)現(xiàn)在路由器(或其他部件)內(nèi)基于定時(shí)故障的分組(或消息或微片(flit))誤差的校正。
[0014]因?yàn)檩敵黾壍亩〞r(shí)故障是在消息已經(jīng)發(fā)送到接收節(jié)點(diǎn)(例如,路由器、流量發(fā)生器)之后才確定的,所以誤差信號(例如,位、標(biāo)記)隨消息而發(fā)送以表明是否已發(fā)生定時(shí)故障。因?yàn)檎`差信號可以是亞穩(wěn)的,所以其在消耗之前已經(jīng)鎖存在接收節(jié)點(diǎn)的輸入級。誤差信號作為無效信號運(yùn)行以使接收節(jié)點(diǎn)壓制(或以其他方式不消耗或使用)對應(yīng)的消息。
[0015]遭遇定時(shí)故障的發(fā)送節(jié)點(diǎn)(例如,路由器)通過使其狀態(tài)回滾所需數(shù)量的時(shí)鐘周期(例如,回滾到校驗(yàn)點(diǎn))來重放失敗的消息。在一個(gè)實(shí)施例中,兩個(gè)時(shí)鐘周期足夠。在可選的實(shí)施例中,可以支持更大的回滾范圍。在一個(gè)實(shí)施例中,這能夠通過對發(fā)送節(jié)點(diǎn)隔離控制和數(shù)據(jù)路徑且在發(fā)送節(jié)點(diǎn)中保持關(guān)鍵數(shù)據(jù)和控制狀態(tài)要素(例如,通過觸發(fā)器或鎖存器)的副本來實(shí)現(xiàn)。
[0016]在一個(gè)實(shí)施例中,在來自先前周期的消息在必要時(shí)用于重新發(fā)送之前仍存在且不被覆寫的正常操作期間,輸出隊(duì)列(例如,F(xiàn)IFO或其他類型的輸出隊(duì)列)具有足夠的未使用空間。在另一實(shí)施例中,能夠增加FIFO深度以適應(yīng)用于重新發(fā)送的附加消息空間。例如,在一個(gè)實(shí)施例中,確定定時(shí)誤差,并在兩個(gè)時(shí)鐘周期內(nèi)重新發(fā)送消息。發(fā)送節(jié)點(diǎn)回滾到先前的狀態(tài),失敗的消息重新發(fā)送到接收節(jié)點(diǎn)。
[0017]在一個(gè)實(shí)施例中,EDS機(jī)制中正相鎖存器的使用可以使輸出級傾向于保持時(shí)間故障。這能夠通過選擇性地緩沖通往EDS增強(qiáng)級的最小延遲定時(shí)路徑且將脈沖時(shí)鐘饋送給輸出級來避免,這將在下面進(jìn)一步詳細(xì)地描述。在一個(gè)實(shí)施例中,輸出級接收可配置脈寬時(shí)鐘信號,其他級接收50%占空比的時(shí)鐘信號。在一個(gè)實(shí)施例中,為了減輕極低工作電壓(例如,接近閾值電壓)下的管芯內(nèi)(within-die)和管芯內(nèi)部(intra-die)變化的效應(yīng),可以使用具有尺寸增大的順序和組合邏輯狀態(tài)的刪節(jié)后的標(biāo)準(zhǔn)單元庫。除了重放當(dāng)前源/目的地端口之外,能夠用作用于其他端口的指示器,且通過誤差記錄邏輯來觸發(fā)DVFS方案。
[0018]圖1是可用于支持彈性通信技術(shù)的誤差檢測電路的一個(gè)實(shí)施例的框圖。圖1的電路可用于生成誤差信號,該誤差信號可用于重新發(fā)送已遭遇定時(shí)故障的消息(分組、微片)。在一個(gè)實(shí)施例中,誤差檢測電路100位于路徑上的發(fā)送節(jié)點(diǎn)到通往接收節(jié)點(diǎn)的鏈路的最后一級。
[0019]誤差檢測電路100接收來自發(fā)送節(jié)點(diǎn)內(nèi)的級的數(shù)據(jù)位。數(shù)據(jù)位被提供給高相鎖存器I1和觸發(fā)器120。高相鎖存器110在提供給輸出級的時(shí)鐘信號(參見圖3)為高時(shí)鎖存數(shù)據(jù)位,觸發(fā)器120在脈沖時(shí)鐘信號(參見圖3)從低轉(zhuǎn)變到高時(shí)鎖存數(shù)據(jù)位。
[0020]如果發(fā)生定時(shí)誤差,則來自高相鎖存器110和觸發(fā)器120的輸出信號將是不同的,這將導(dǎo)致門120斷言位誤差信號。如果沒有發(fā)生定時(shí)誤差,則來自高相鎖存器110和觸發(fā)器120的輸出信號將是相同的,門130不會斷言位誤差信號。
[0021]圖2是可用于支持彈性通信技術(shù)的雙采樣誤差檢測電路的一個(gè)實(shí)施例的框圖。圖2的電路可用于生成誤差信號,誤差信號可用來重新發(fā)送已經(jīng)遭遇定時(shí)故障的消息(分組、微片)。在一個(gè)實(shí)施例中,誤差檢測電路200位于路徑上的發(fā)送節(jié)點(diǎn)到通往接收節(jié)點(diǎn)的鏈路的最后一級內(nèi),并且提供雙采樣,這允許在從定時(shí)故障恢復(fù)的兩個(gè)時(shí)鐘周期內(nèi)保持分組和其他信息(例如,狀態(tài)信息)。在可選的實(shí)施例中,能夠保持多于兩個(gè)的樣本,例如,可以提供三采樣誤差檢測。
[0022]在一個(gè)實(shí)施例中,誤差檢測電路可以在三種模式之一下工作:1)模式0,其中主鎖存器230和從鎖存器250均打開;2)模式1,其中主鎖存器230和從鎖存器250作為觸發(fā)器工作;以及3)模式2,其中主鎖存器230打開且由從鎖存器250和觸發(fā)器210來提供雙采樣。觸發(fā)器210、主鎖存器230和從鎖存器250中的每一個(gè)均分別由邏輯門215、220和240所操作的模式信號和時(shí)鐘信號來控制。
[0023]在模式O中,誤差檢測電路200有效地對于周邊電路透明。在模式I中,誤差檢測電路200作為數(shù)據(jù)位的觸發(fā)器而工作。在模式2中,誤差檢測電路200作為在鎖存器中具有雙采樣的正相鎖存器和用于定時(shí)誤差檢測的觸發(fā)器而工作。
[0024]待發(fā)送的數(shù)據(jù)位是觸發(fā)器210和主鎖存器230的輸入信號。來自觸發(fā)器210的輸出信號提供一個(gè)輸入給邏輯門275,邏輯門275生成位誤差信號。來自主鎖存器230的輸出信號是從鎖存器250的輸入信號。來自從鎖存器250的輸出信號提供第二輸入給邏輯門275,也是待發(fā)送的數(shù)據(jù)位。
[0025]如果發(fā)生定時(shí)誤差,則來自觸發(fā)器210和從鎖存器250的輸出信號將是不同的,這將導(dǎo)致門275斷言位誤差信號。如果沒有發(fā)生定時(shí)誤差,則來自觸發(fā)器210和從鎖存器250的輸出信號將是相同的,門275將不斷言位誤差信號。