專利名稱:數據解擾碼電路的制作方法
技術領域:
本發明涉及一種數據解擾碼電路,特別是涉及一種可防止高誤碼率的數 據信道的符號失序的數據解擾碼電路。
背景技術:
隨著科技的發展,在個人計算機系統及周邊裝置中,互連接口所要求的 頻寬及速度越來越高,使得周邊組件互連(PCI)總線的負擔也隨之加重, 因此第三代輸入/輸出接口 (3rd generation輸入/輸出,3GI0),亦即快速 周邊組件互連(PCI Express )總線正不斷發展以取代現有周邊組件互連(PCI) 總線,從而提供所需的大頻寬。如業界所熟知,快速周邊組件互連(PCI Express)技術可利用更高的運作時鐘以及應用更多的數據信道(Lane)來 提升其效能,因此第一代快速周邊組件互連(PCI Express)技術可提供每 一方向每一數據信道每秒2. 5GB的原始頻寬,因而大大地改善了計算機系統 的效能,特別是在圖型處理方面。
因此,只要一快速周邊組件互連的數據信道可維持于足夠低的誤碼率 (Bit Error Rate, BER),就可提供相關裝置高速傳輸的服務。然而,在實 際運作上,無法保證快速周邊組件互連的信道能維持操作在理想(足夠低) 的誤碼率之下,而越高的誤碼率,越容易造成接收端所接收符號(Symbol ) 的失序(Disorder)的情形,更會造成系統效能的大幅下降。
請參考圖1及圖2,圖1及圖2為現有快速周邊組件互連傳輸端100 與接收端200的示意圖。傳輸端100包含一數據擾碼電路102、 一8B10B編 碼電路104及一傳輸器106。對應于圖1的傳輸端100,在圖2中,快速周 邊組件互連接收端200包含有一數據解擾碼電路202、一8B10B譯碼電路204、 一去偏移電路206、 一彈性緩沖模塊208及一接收器210。在快速周邊組件
互連的實體層(Physical Layer)中,定義了 8B10B編碼/譯碼、數據擾碼 /解擾碼及去偏移的功能。8B10B編碼/譯碼可確保接收端能接收到正確的 符號,數據擾碼/解擾碼可消除通道中的干擾及電/P茲效應。此外,由于傳輸 端100與接收端200的運作時鐘不同,因此若傳輸端100的運作時鐘高于接 收端200的運作時鐘,則傳輸端100輸出數據流的傳輸率便快于接收端200 擷取數據流的接收率,因此便會造成數據上溢(overflow )的情況;相反地, 若傳輸端100的運作時鐘低于接收端200的運作時鐘,則傳輸端100輸出數 據流的傳輸率便慢于接收端200擷取數據流的接收率,因此便會造成數據下 溢(undernow)的情況,所以為了解決傳輸端100與接收端200的不同運 作時鐘所帶來的問題,接收端200便設置有彈性緩沖模塊208,其包含有多 個彈性緩沖器(elastic buffer),用以調節傳輸端100經由數據信道所傳 遞的數據。依據PCI express的規范,傳輸端100會輸出有序符號集合 (Ordered Set)以供彈性緩沖器來平衡傳輸端100與接收端200的不同運 作時鐘,舉例來說,傳輸端IOO所輸出的每一有序符號集合包含有一起始符 號(COM symbol)以及三個調整符號(SKP symbol),所以當接收端200上 一彈性緩沖器接收到多個有序符號集合時,若傳輸端IOO的運作時鐘高于接 收端200的運作時鐘,則該彈性緩沖器可經由減少有序符號集合中的調整符 號來達到降低傳輸端100的數據傳輸率的目的,所以便可避免上述數據上溢 的問題。另一方面,若傳輸端100的運作時鐘低于接收端200的運作時鐘, 則該彈性緩沖器可經由增加有序符號集合中的調整符號來達到提升傳輸端 100的數據傳輸率的目的,所以便可避免上述數據下溢的問題。
在快速周邊組件互連規范中,定義了五種有序符號集合。其中,為了節 省電源的消耗,當快速周邊組件互連的數據信道中無凝:據包時,快速周邊組 件互連的傳輸端會傳送電氣閑置(Electrical Idle)符號集合至接收端。 電氣閑置符號集合是由一起始符號后接三個邏輯閑置符號所組成,邏輯閑置 符號的原始數據(在數據擾碼前)為一0字節(對應于8B10B編碼)。因此, 若快速周邊組件互連的接收端的8B10B譯碼正確且數據解擾碼亦無誤,則接 收端可取得原始的0字節數據。然而,在實際制造快速周邊組件互連的芯片 組及裝置時,快速周邊組件互連的數據信道的誤碼率可能無法低于l(T。當 數據信道的誤碼率超過10—12時,邏輯閑置符號會被錯誤譯碼(即取成幀錯 誤),而使得解擾碼后的數據失真,更嚴重的是,邏輯閑置符號可能會被當
作數據包成幀符號(Packet Framing Symbol)或有序符號集合。假若邏輯 閑置符號被當作數據包成幀符號處理,則接收端會回報至上一層(如媒體存 取控制層)并執行相關后續動作,如此使得系統閑置而作白工(因為實際上 并沒有數據包成幀符號需要處理)。此外,假若邏輯閑置符號被當作有序符 號集合處理時,快速周邊組件互連的實體層聯機很容易會被切斷。因此,當 快速周邊組件互連的數據信道的誤碼率過高時,會大大地減少系統效能。
發明內容
因此,本發明提供一種快速周邊組件互連裝置的數據解擾碼裝置。 本發明一種數據接收系統包含有 一接收器,用以接收一數據訊號;一 8B10B譯碼電路,連接至該接收器,用以譯碼該數據訊號; 一去假數據包電 路,連結至該8B10B譯碼電路,接收譯碼后的該數據訊號用以判斷是否有同 位錯誤;以及一解擾碼電路,連接至該去假數據包電路,用以解擾碼該數據 訊號。
本發明的一種去假數據包電路,用于一數據接收系統中,用以在數據進 入一解擾碼電路前,用以判斷是否有同位錯誤,其中該去假數據包電路包含 有 一第一輸入端,用以接收一輸入訊號; 一第二輸入端,用以接收一指令 訊號; 一第三輸入端,用以接收一符號;以及一輸出端,用以根據該指令訊 號,判斷是否有同位錯誤發生,用以輸出對應的一輸出訊號。
本發明的一種數據解擾碼電路,用以解擾碼一數據訊號,其中該數據解 擾碼電路包含有 一或門; 一觸發器;以及一線性回饋移位緩存器;其中該 線性回饋移位緩存器的輸入端連結至該觸發器的輸出端,輸出端連結至該觸 發器的一輸入端;其中該或門包含有2輸入端分別接收一第一指令以及一第 二指令;其中該觸發器分別接收該線性回饋移位緩存器的輸出,該或門的輸 出,以及一默認值。
圖1及圖2為現有快速周邊組件互連傳輸端與接收端的示意圖。 圖3為本發明數據接收端的示意圖。 圖4為一數據解擾碼電路的示意圖。 圖5為一D型觸發器真值表。
圖6為本發明的一去假數據包電路的示意圖。 圖7為本發明的一解擾碼電路的示意圖。
附圖符號說明100快速周邊組件互連傳輸端
200快速周邊組件互連接收端
102數據擾碼電路
1048B10B編碼電路
106傳輸器
202數據解擾碼電路
204、602 8B10Bi奪碼電路
206去偏移電路
208彈性緩沖模塊
210接收器
310接收器
3208B10B譯碼電3各
330去假數據包電路
340數據解扮碼電路
350彈性緩沖模塊
360去偏移電路
400數據解擾碼電路
402、7 02線性回饋移位緩存器邏輯模塊
404選擇器
406、704D型觸發器
600去假數據包電路
700解擾碼電路
706或門
ISCOM、 ISSKP、 LFSR畫OUT、 LFSR—IN、 RXD—IN、 RXD—OUT、 RDERR、 EDB、 INIT-VAL訊號
具體實施例方式
本發明可消除因取成幀錯誤所造成的錯誤數據包,并防止有序符號集合 噪聲所造成的符號失序及聯機中斷的問題。更進一步地,本發明可增進去偏 移的功能。
為了解決上述問題,如圖3所示,本發明的數據接收系統300包含有 一接收器310、 一 8B10B譯碼電路320、 一去假數據包電路330以及一數據 解擾碼電路340。接收器310用以接收一數據訊號;8B10B譯碼電路320用 以將接收器310所接收的數據訊號譯碼;去假數據包電路330電連于8B10B 譯碼電路320,用以接收譯碼后的數據訊號以判斷是否有同位錯誤;數據解 擾碼電路340電連于去假數據包電路330,用以解擾碼數據訊號。此外,本 發明的數據接收系統還可包含 一彈性緩沖模塊350以及一去偏移電路360。 彈性緩沖模塊350電連于接收器310,用以接收各數據信道上的訊號;去偏 移電路360,電連于彈性緩沖模塊350與8B10B譯碼電路320間,用以補償 數據信道偏移的周期數。
圖4為一數據解擾碼電路400的示意圖。數據解擾碼電路400包含有一 線性回饋移位緩存器(Linear Feedback Shift Resister, LFSR )邏輯模塊 402、 一選擇器404及一D型觸發器406。
圖5所示為D型觸發器406的真值表。由于D型觸發器406及線性回饋 移位緩存器邏輯模塊402的操作為業界所熟知且非本發明的重點,在此不再 贅述。
當數據解擾碼電路400接收到一起始符號時, 一指令ISCOM會被宣告, 使得邏輯門組406的輸出訊號tFSR—OUT會被重置為一啟始值INIT—VAL。當 數據解擾碼電路400接收到的符號非起始符號時,線性回饋移位緩存器邏輯 模塊402就會根據邏輯門組406的輸出訊號LFSR-OUT而作用。當數據解擾 碼電路400接收到調整符號時, 一指令ISSKP會被宣告,使得訊號LFSR-IN 被直接箝位在訊號LFSR-OUT;.而當數據解擾碼電路400接收到符號非調整符 號時,則訊號LFSR-IN被直接箝位在線性回饋移位緩存器邏輯模塊402的輸 出訊號,此時線性回饋移位緩存器邏輯模塊402的輸入訊號為訊號 LFSR隱OUT。
圖6為本發明用于一快速周邊組件互連裝置的一去布IJt據包電^各600 的示意圖。
去假數據包電路600可為一 D型觸發器,關于D型觸發器的運作方式,
請參考圖5的D型觸發器真值表。去假數據包電路600的D端用以接收一 8B10B譯碼器602輸出的八位訊號,TE及TI端則分別用以接收指令RDERR 及符號EDB。 8B10B譯碼器602接收上一級電路輸出的訊號RXD-IN后,譯碼 為八位符號并輸出至去假數據包電路600的D端,若此時無同位錯誤
(Disparity Error)發生,則指令RDERR不會被宣告,因此由去假數據包 電路600的輸出端Q端輸出的訊號RXD-OUT就會與去假數據包電路600的D 端所接收的訊號相等。相反,若發生同位錯誤,亦即有假數據包產生,則指 令RDERR會被宣告,而去假數據包電路600的輸出訊號RXD-OUT就成為符號 EDB,以警示快速周邊組件互連裝置的數據鏈路層模塊。快速周邊組件互連 裝置可根據符號EDB判斷有同位錯誤產生,因此可避免將邏輯閑置符號判斷 為數據包成幀符號。
簡而言之,本發明是將8B10B譯碼器602輸出的訊號于輸入至下一級電 路前,先通過去假數據包電路600判斷是否有同位錯誤的發生,并根據去假 數據包電路6 00的判斷結果,提示快速周邊組件互連裝置的數據鏈路層模塊, 從而避免將邏輯閑置符號誤判而使系統閑置作白工。如前所述,當數據信道 的誤碼率超過10—12時,邏輯閑置符號有可能會被當作數據包成幀符號
(Packet Framing Symbol)或有序符號集合,而使得系統誤判,甚至造成 聯機中斷,大大地影響系統效能。本發明去假數據包電路600于訊號進入下 一級解擾碼電路前,先進行同位錯誤的判斷,以解決前述問題。其中,去假 數據包電路600并無固定的電路結構,凡能實現如圖5的D型觸發器真值表 即可適用本發明的去假數據包電路600。
請參考圖7,圖7為本發明用于一快速周邊組件互連裝置的解擾碼電路 700的示意圖。解擾碼電路700包含有一線性回饋移位緩存器邏輯模塊702、 一D型觸發器704及一或門706。當解擾碼電路700所接收的符號為一啟始 符號或一調整符號時,指令ISCOM或ISSKP會被宣告,使得D型觸發器704 的輸出訊號LFSR-OUT重置為啟始值INIT-VAL。當解擾碼電路700所接收的 符號為非啟始符號或調整符號時,則線性回饋移位緩存器邏輯模塊702會由 D型觸發器704的輸出訊號LFSR—OUT開始后續的動作。
因此,本發明解擾碼電路700于接收到啟始符號或調整符號時,將D 型觸發器704的輸出訊號重置為啟始值,而當解擾碼電路700所接收的符號 為一般符號時,則線性回饋移位緩存器邏輯模塊702由訊號LFSR-OUT開始
后續的動作。其中,D型觸發器704并無固定的電路結構,凡能實現如圖5 的D型觸發器真值表即可適用本發明的D型觸發器704。
如前所述,去偏移模塊內建有多個計數器,每一計數器對應于一數據信 道,用以計算每一數據信道的訊號偏移的周期數。根據每一計數器計數所得 的訊號偏移周期數,去偏移電路就可補嘗各數據信道的偏移現象,并將去偏 移后的訊號傳至下一級的譯碼電路。也就是說,只要某一數據信道接收到啟 始符號后,去偏移模塊內建的計數器就會開始計數。因此,若有啟動符號(因 噪聲)產生錯誤時,數據信道的訊號偏移周期數就有可能是負的。在此情形 下,除非數據信道的訊號偏移周期數變成正或零時,數據信道的訊號偏移周 期數才會用來更新訊號。
綜上所述,由于在實際制造快速周邊組件互連的芯片組及裝置時,快速 周邊組件互連的數據信道的誤碼率可能無法低于10—12。當數據信道的誤碼率 超過10—12時,邏輯閑置符號會被錯誤譯碼(即取成幀錯誤),而使得解擾碼 后的數據失真,更嚴重的是,邏輯閑置符號可能會被當作數據包成幀符號或 有序符號集合。假若邏輯閑置符號被當作數據包成幀符號處理,則接收端會 回報至上一層(如媒體存取控制層)并執行相關后續動作,使得系統閑置而 作白工。此外,假若邏輯閑置符號被當作有序符號集合處理時,快速周邊組 件互連的實體層聯機很容易會被切斷。因此,只要將本發明去假數據包電路 600與解擾碼電路700結合,則可通過去假數據包電路600判斷8B10B譯碼 器輸出的訊號是否有同位錯誤的發生,并于無同位錯誤時,將8B10B譯碼器 輸出的譯碼訊號輸入至下一級的解擾碼電路700,從而完成解擾碼的運作。 如此一來,本發明可消除因取成幀錯誤所造成的錯誤數據包,并防止有序符 號集合雜迅所造成的符號失序及聯機中斷的問題,更進一步地,本發明可增 進去偏移的功能。因此,本發明可防止數據信道的誤碼率較高時所造成符號 失序的問題。
以上所述僅為本發明的較佳實施例,凡依本發明的權利要求所做的均等 變化與修飾,皆應屬本發明的涵蓋范圍。
權利要求
1.一種數據解擾碼電路,用以解擾碼一數據訊號,其中該數據解擾碼電路包含有一或門;一觸發器;以及一線性回饋移位緩存器;其中該線性回饋移位緩存器的輸入端連結至該觸發器的輸出端,輸出端連結至該觸發器的一輸入端;其中該或門包含有兩個輸入端分別接收一第一指令以及一第二指令;其中該觸發器分別接收該線性回饋移位緩存器的輸出,該或門的輸出,以及一默認值。
2. 如權利要求1所述的數據解擾碼電路,其中該數據訊號包含一有序符 號集合,用以平衡運作時鐘所造成該數據訊號的延遲或提早接收的問題,該 有序符號包含有一個起始符號以及三個調整符號。
3. 如權利要求2所述的數據解擾碼電路,其中接收到該起始符號時,該 第一指令會被宣告,其中當該解擾碼電路接收到該調整符號時,該第二指令 會被宣告,其中當接收到該起始符號或調整符號時,該觸發器輸出該默認值。
全文摘要
一種用于解擾碼一數據訊號的數據解擾碼電路,包含一或門、一觸發器、以及一線性回饋移位緩存器,其中,該線性回饋移位緩存器的輸入端連結至該觸發器的輸出端,輸出端連結至該觸發器的一輸入端,該或門包含有兩個輸入端分別接收一第一指令以及一第二指令,該觸發器分別接收該線性回饋移位緩存器的輸出、該或門的輸出、以及一默認值。
文檔編號G06F13/40GK101105785SQ20071013735
公開日2008年1月16日 申請日期2005年7月14日 優先權日2004年11月9日
發明者曾紋郁 申請人:威盛電子股份有限公司