用于集成電路之間的點(diǎn)對點(diǎn)通信的物理接口內(nèi)的檢錯本發(fā)明專利申請是申請?zhí)枮?00710087760.0、申請日為2007年3月8日、名稱為“用于集成電路之間的點(diǎn)對點(diǎn)通信的物理接口內(nèi)的檢錯”的發(fā)明專利申請的分案申請。技術(shù)領(lǐng)域本發(fā)明一般涉及用于在電子設(shè)備之間提供可靠數(shù)據(jù)通信的裝置和方法,尤其涉及被配置成在電子設(shè)備之間經(jīng)由物理介質(zhì)的數(shù)據(jù)比特點(diǎn)對點(diǎn)傳輸期間在物理接口處有效地檢錯的物理接口。在一個實(shí)施例中,數(shù)據(jù)比特的點(diǎn)對點(diǎn)傳輸采用沿著串行數(shù)據(jù)鏈路的低幅、信號傳輸。
背景技術(shù):諸如集成電路(”IC”)等電子設(shè)備之間的點(diǎn)對點(diǎn)通信一般被認(rèn)為是可靠的,尤其是在使用專用同步時鐘線來同步數(shù)據(jù)傳輸?shù)那闆r下。更具體地,許多系統(tǒng)設(shè)計人員期望IC之間的通信遵守在IC之間交換的數(shù)據(jù)比特是相同的數(shù)據(jù)比特的這一普遍假設(shè)。例如,最為常規(guī)的處理器IC被設(shè)計為不論發(fā)送至存儲器IC到地址比特是否被正確接收,也不論由處理器IC接收到數(shù)據(jù)是否與存儲器IC發(fā)送的數(shù)據(jù)相同,都對從存儲器IC中取出的數(shù)據(jù)執(zhí)行動作。但是對于以更快的數(shù)據(jù)速率和下降的幅度(即,下降的傳輸功率)發(fā)送數(shù)據(jù)比特的傳統(tǒng)物理接口而言,背景噪聲對于數(shù)據(jù)信號的強(qiáng)度的影響會導(dǎo)致信噪比下降,而這表明會阻礙可靠點(diǎn)對點(diǎn)通信的差錯的增加。此外,許多系統(tǒng)設(shè)計人員使用其中時鐘被嵌入在已編碼的串行化數(shù)據(jù)的異步定時技術(shù)來實(shí)現(xiàn)經(jīng)由串行數(shù)據(jù)鏈路而串行地傳送數(shù)據(jù)的物理接口。具有串行數(shù)據(jù)鏈路的高速串行通信技術(shù)的示例包括串行、轉(zhuǎn)換最小化的差分信號傳輸(“TMDS”)、PCIExpress、等等。雖然提供串行數(shù)據(jù)通信的常規(guī)物理接口同時降低了噪聲和功率,但是至少一個缺點(diǎn)是常規(guī)的串行數(shù)據(jù)鏈路易于在傳輸期間發(fā)生數(shù)據(jù)訛誤。在計算機(jī)網(wǎng)絡(luò)領(lǐng)域,開放系統(tǒng)互連(“OSI”)模型描述了在兩個站(或計算設(shè)備)之間進(jìn)行檢錯和糾錯的常用方法。根據(jù)該方法,數(shù)據(jù)鏈路層基于所發(fā)送比特的一幀計算檢錯碼(例如,循環(huán)冗余碼,“CRC”)。隨后,它將檢錯碼作為鄰接比特追加至該幀,再將檢錯碼和應(yīng)用數(shù)據(jù)比特一并送至物理接口用于線編碼(或譯碼)。線編碼的一個示例將8個應(yīng)用數(shù)據(jù)比特翻譯成10個已編碼比特。這種線編碼技術(shù)通常被稱為8B/10B。在執(zhí)行該線編碼之后,串行物理接口將已編碼比特經(jīng)由通信介質(zhì)驅(qū)動至恢復(fù)時鐘并將比特解碼的另一串行物理接口。接收機(jī)處的數(shù)據(jù)鏈路層隨后使用檢錯碼的鄰接比特來應(yīng)用檢錯和糾錯技術(shù)。雖然起作用,但是數(shù)據(jù)鏈路層在物理接口之外執(zhí)行這些檢錯和糾錯過程,由此就會延遲差錯的檢測和/或解決。同樣地,常規(guī)的物理接口一般無法很好地適應(yīng)標(biāo)準(zhǔn)化的檢錯和糾錯。例如,傳統(tǒng)的物理接口被優(yōu)化成提供集成電路之間的同步和并行數(shù)據(jù)通信。同樣地,它們無法容易地適用于提供經(jīng)由諸如串行數(shù)據(jù)鏈路的用于異步和串行數(shù)據(jù)通信的及時且可靠的數(shù)據(jù)傳送。此外,常規(guī)物理接口一般無法有助于以下的至少一種:(1)不要求應(yīng)用參與專用差錯處理技術(shù)的透明差錯檢測和恢復(fù)技術(shù),以及(2)用于提高經(jīng)由串行數(shù)據(jù)鏈路傳送檢錯碼的速率的檢錯碼的有效傳輸??紤]到上述情況,期望提供一種能夠?qū)⑸鲜鋈秉c(diǎn)降至最小并且至少提供檢錯以及可任選的差錯恢復(fù)的物理接口、裝置和方法。發(fā)明概述公開了一種用于在集成電路(“IC”)的數(shù)據(jù)通信的發(fā)送和/或接收期間在物理接口中進(jìn)行檢錯的裝置、系統(tǒng)和方法。根據(jù)本發(fā)明的各個實(shí)施例,一種物理接口能夠促進(jìn)經(jīng)由串行或并行鏈路的通信,或者它可被配置成使用嵌入式異步時鐘或外部同步時鐘。在一個實(shí)施例中,一種裝置被配置作為接收物理接口來操作,或在接收物理接口內(nèi)操作。該裝置包括被配置成將已編碼數(shù)據(jù)比特的子集解碼以產(chǎn)生已解碼數(shù)據(jù)比特的解碼器。它還包括被配置成從已解碼數(shù)據(jù)比特中提取物理接口(“PI”)檢錯比特的物理接口檢錯比特提取器。由此,該裝置使用該物理接口檢錯比特來確定已編碼數(shù)據(jù)比特是否包括作為差錯的至少一個有錯誤的數(shù)據(jù)比特。在某些實(shí)施例中,該裝置包括被配置成在物理層內(nèi)操作的檢錯器。在至少一個實(shí)施例中,該裝置在例如NB/(N+1)B線編碼器內(nèi)有效地發(fā)送檢錯碼。已編碼數(shù)據(jù)比特可以基本被直流(“DC”)平衡。此外,已編碼數(shù)據(jù)比特可以被配置為形成發(fā)射輻射的頻譜特性。同樣,這些已編碼數(shù)據(jù)比特還可以包括可用于在接收設(shè)備處恢復(fù)時鐘的嵌入式異步時鐘。在某些情況中,該裝置包括被配置成在物理層內(nèi)操作以檢測錯誤的檢錯器。該檢錯器在數(shù)據(jù)鏈路層或者在開放系統(tǒng)互連(”O(jiān)SI”)七層參考模型中任何一較高層之前執(zhí)行檢錯。在某些情況下,物理接口檢錯比特是奇偶校驗碼,而在其它情況下,物理接口檢錯比特是檢錯碼的一部分。例如,檢錯碼可以是循環(huán)冗余校驗(“CRC”)校驗和。在此情況下的檢錯器被配置成累積該物理接口檢錯比特以及來自已編碼數(shù)據(jù)比特的其它子集(即,其它碼字)的其它物理接口檢錯比特以重構(gòu)檢錯碼。注意,檢錯器能夠被配置成從該物理接口檢錯比特以及其它的物理接口檢錯比特中生成CRC校驗和。隨后,檢錯器能夠?qū)⒃揅RC校驗和與檢錯碼進(jìn)行比較以確定是否發(fā)生差錯。在各個實(shí)施例中,該物理接口檢錯比特與已編碼數(shù)據(jù)比特的子集同時在該裝置處被接收,并且其它物理接口檢錯比特中的每一比特也與已編碼數(shù)據(jù)比特的其它子集中的每一子集同時在該裝置處被接收,由此減少了裝置接收否則會被追加以跟隨該已編碼數(shù)據(jù)比特的檢錯碼的時間。在至少一個實(shí)施例中,該裝置還包括被配置成糾正錯誤的糾錯器。糾錯器可以被配置成請求重發(fā)該已編碼數(shù)據(jù)比特的子集,或者用信號通知應(yīng)用專用模塊已有差錯被檢測到以使得該應(yīng)用專用模塊能夠解決這一差錯。或者,糾錯器可以采取默認(rèn)措施,諸如重新初始化一個或多個IC。注意,已編碼數(shù)據(jù)比特的子集之一可以包括N+m個數(shù)據(jù)比特,這些數(shù)據(jù)比特可以被解碼以獲取N個應(yīng)用數(shù)據(jù)比特作為已解碼數(shù)據(jù)比特。同樣注意,該裝置可以被配置成接收已編碼數(shù)據(jù)比特作為N+2個數(shù)據(jù)比特并提供N個應(yīng)用數(shù)據(jù)比特作為輸出。例如,當(dāng)N為8時,該裝置被配置為8B/10B解碼器,它提供9個已解碼數(shù)據(jù)比特:即8個應(yīng)用數(shù)據(jù)比特和一個用于檢錯的物理接口檢錯比特。在本發(fā)明的另一實(shí)施例中,公開了一種在用于集成電路(“IC”)之間傳輸數(shù)據(jù)的物理接口內(nèi)生成檢錯碼的裝置。在一個實(shí)施例中,該裝置被配置成作為發(fā)送物理接口來操作,或在發(fā)送物理接口內(nèi)操作。該裝置可包括N比特到N+2(“N比特/N+2”)比特物理層(“PHY”)編碼器。該編碼器被配置成將物理接口檢錯比特插入到N個應(yīng)用數(shù)據(jù)比特以形成N+1個未編碼數(shù)據(jù)比特,并且將該未編碼數(shù)據(jù)比特編碼以產(chǎn)生N+2個已編碼數(shù)據(jù)比特。該裝置還包括被配置成生成構(gòu)成包括該物理接口檢錯比特在內(nèi)的檢錯碼的多個比特的檢錯碼生成器。該裝置在某些情況下可包括被配置成串行化N+2個已編碼數(shù)據(jù)比特以形成串行的N+2個已編碼數(shù)據(jù)比特,由此將單個檢錯數(shù)據(jù)比特與串行的N+2個已編碼數(shù)據(jù)比特交錯的串行化器。在至少一個實(shí)施例中,該裝置包括用于存儲包括N個數(shù)據(jù)比特在內(nèi)的一組數(shù)據(jù)比特的存儲。檢錯碼生成器被配置成檢查該組數(shù)據(jù)比特以生成檢錯碼。在一具體實(shí)施例中,該裝置包括發(fā)射機(jī)(“TX”)糾錯器,它被配置成在該發(fā)射機(jī)糾錯器接收到重發(fā)請求時重發(fā)該組數(shù)據(jù)比特中到一個或多個子集。在本發(fā)明的又一實(shí)施例中,一種物理接口作為集成電路(“IC”)形成于第一襯底上,以檢測與形成于第二襯底上的核心IC交換的數(shù)據(jù)內(nèi)的傳輸差錯。核心IC是含有用于實(shí)現(xiàn)諸如存儲器芯片的存儲功能之類的應(yīng)用專用功能的邏輯的另一IC。物理接口包括多個輸入端口和輸出端口,包括被配置成接收入站(in-bound)的已編碼數(shù)據(jù)比特的第一輸入端口子集以及被配置成將入站的已解碼數(shù)據(jù)比特發(fā)送至核心IC的第一輸出端口子集。該物理接口還包括被耦合在多個輸入端口和輸出端口之間的一個或多個差錯恢復(fù)模塊。至少一個差錯恢復(fù)模塊被耦合在至少一個第一輸入端口子集和至少一個第一輸出端口子集之間。該差錯恢復(fù)模塊可任選地包括被配置成檢測入站的已編碼數(shù)據(jù)比特內(nèi)的差錯并啟動糾正該差錯的動作的物理層(“PHY”)解碼器。在本發(fā)明的再一實(shí)施例中,公開了一種在至少兩個集成電路(“IC”)之間的高速串行通信鏈路。該鏈路包括用于傳送數(shù)據(jù)的物理介質(zhì)、耦合至該物理介質(zhì)的第一端的發(fā)射機(jī)設(shè)備、以及耦合至該物理介質(zhì)的第二端的接收機(jī)設(shè)備。它還包括被配置成使用物理接口檢錯比特來確定差錯的檢錯器。注意,發(fā)射機(jī)設(shè)備包括生成其中編碼了物理接口檢錯比特中的已編碼數(shù)據(jù)比特的N比特/N+2比特編碼器,而接收機(jī)設(shè)備包括將該已編碼數(shù)據(jù)比特解碼的N+2比特/N比特解碼器、以及使用該物理接口檢錯比特來確定差錯的檢錯器。注意,發(fā)射機(jī)和接收機(jī)設(shè)備可以是以下任何設(shè)備中的一種或多種:轉(zhuǎn)換最小化的差分信號傳輸(“TMDS”)設(shè)備、高清多媒體接口(“HDMI”)設(shè)備、多千兆比特以太網(wǎng)設(shè)備(例如,10Gbps以太網(wǎng),或“10GbE”設(shè)備)和/或串行高級技術(shù)附件(“SATA”)設(shè)備。還注意,發(fā)射機(jī)和接收機(jī)設(shè)備可以實(shí)現(xiàn)數(shù)字可視化接口(“DVI”)和/或低壓差分信號傳輸(“LVDS”)以及任何其它等效的技術(shù)方案。附圖簡述參考附圖連同以下詳細(xì)描述就能更完整地了解本發(fā)明,在附圖中:圖1A是示出根據(jù)本發(fā)明至少一個具體實(shí)施例的包括差錯恢復(fù)模塊以檢測差錯的物理接口的框圖;圖1B示出了根據(jù)本發(fā)明一個或多個實(shí)施例的被實(shí)現(xiàn)來提供物理層而非數(shù)據(jù)鏈路層處的檢錯的差錯恢復(fù)模塊。圖2A是根據(jù)本發(fā)明一個實(shí)施例的使用嵌入式時鐘和時鐘恢復(fù)來實(shí)現(xiàn)提供物理接口處的可靠數(shù)據(jù)傳送的差錯恢復(fù)模塊的電路的框圖;圖2B是根據(jù)本發(fā)明一個實(shí)施例的使用外部時鐘來實(shí)現(xiàn)提供物理接口處的可靠數(shù)據(jù)傳送的差錯恢復(fù)模塊的圖2A所示電路的另一框圖;圖3是示出根據(jù)本發(fā)明一個具體實(shí)施例的被配置成檢測并可任選地用于糾正差錯的物理接口的框圖;圖4是示出根據(jù)本發(fā)明一個實(shí)施例的帶有錯誤檢測比特插入和提取的線編碼和線解碼的功能性框圖;圖5描繪了根據(jù)本發(fā)明一個實(shí)施例的用于將一組數(shù)據(jù)比特作為一單元來線編碼的示例性流程;圖6是示出根據(jù)本發(fā)明至少一個具體實(shí)施例的通過至少重發(fā)數(shù)據(jù)比特來提供檢錯和糾錯的物理接口的框圖;圖7示出根據(jù)本發(fā)明至少一個具體實(shí)施例的用于實(shí)現(xiàn)檢錯和糾錯且不帶線編碼的替換接收機(jī)。圖8描繪了根據(jù)本發(fā)明一個實(shí)施例的糾錯器的框圖。相同的標(biāo)號在附圖的各圖中指代相應(yīng)的部分。注意,大多數(shù)標(biāo)號包括一般標(biāo)識首先引入該標(biāo)號的附圖的最左一位或兩位。示例性實(shí)施例的詳細(xì)描述圖1A是示出根據(jù)本發(fā)明至少一個具體實(shí)施例的包括差錯恢復(fù)模塊以檢測與線編碼/解碼相關(guān)聯(lián)的差錯的物理接口的框圖100。物理接口102和122提供設(shè)備101和121之間的物理連接,設(shè)備101和121中的每一個都可以是諸如存儲器芯片等集成電路或者諸如以太網(wǎng)線卡或網(wǎng)絡(luò)計算機(jī)等電子設(shè)備。物理接口102和122分別包括便于數(shù)據(jù)比特經(jīng)由物理介質(zhì)110的發(fā)送和接收的線編碼器(“LE”)106和線解碼器(“LD”)126。在一個實(shí)施例中,線編碼器(“LE”)106執(zhí)行線編碼(也可稱之為“線譯碼”),它將以二進(jìn)制表示的數(shù)字信息(即,數(shù)據(jù)比特)翻譯成特定碼(或碼字)以優(yōu)化該已編碼數(shù)據(jù)比特經(jīng)由諸如銅導(dǎo)線、光纖、無線電波等特定類型的介質(zhì)的傳輸。線解碼是從特定碼翻譯成數(shù)據(jù)比特的反向過程。線編碼器和線解碼器都可以被調(diào)諧以最優(yōu)地用特定類型的介質(zhì)來操作。正如在某些實(shí)施例中所使用的,術(shù)語編碼指的是從數(shù)據(jù)比特到代碼字的翻譯以及數(shù)據(jù)比特對代碼字的插入。物理接口102還包括發(fā)射機(jī)(“TX”)差錯恢復(fù)模塊104,而物理接口122則還包括接收機(jī)(“RX”)差錯恢復(fù)模塊124。這兩個差錯恢復(fù)模塊104和124都可用于檢測與線編碼或解碼相關(guān)聯(lián)或一起發(fā)生的差錯,并能可任選地糾正這些差錯。雖然圖1A示出了單向通信,但是本領(lǐng)域普通技術(shù)人員應(yīng)該理解,TX差錯恢復(fù)模塊104和RX差錯恢復(fù)模塊124的結(jié)構(gòu)和/或功能可以被組合以形成收發(fā)機(jī)(“TX/RX”)差錯恢復(fù)模塊(未示出)以支持經(jīng)由物理介質(zhì)110的雙向通信期間的檢錯和糾錯。在至少一個實(shí)施例中,物理介質(zhì)110提供串行數(shù)據(jù)鏈路。無論數(shù)據(jù)鏈路是串行數(shù)據(jù)鏈路還是并行數(shù)據(jù)鏈路,線編碼器106和線解碼器126都實(shí)現(xiàn)線編碼/解碼以進(jìn)行以下的一種或多種:(1)確保數(shù)據(jù)流內(nèi)有適當(dāng)數(shù)目的轉(zhuǎn)換以恢復(fù)在數(shù)據(jù)流中嵌入的時鐘;(2)維持d-c平衡;以及(3)提供數(shù)據(jù)鏈路的頻譜成形以降低電磁輻射。在一個具體實(shí)施例中,差錯恢復(fù)模塊104和124便于在數(shù)據(jù)比特到達(dá)接收機(jī)(例如,IC或電子設(shè)備)之后立即進(jìn)行早期的檢錯,從而能夠在例如線解碼之前、期間和之后的任意時刻執(zhí)行檢錯。由此,物理接口124內(nèi)的檢錯能防止設(shè)備121對不正確或被破壞的數(shù)據(jù)比特執(zhí)行不必要的下游處理直到能夠應(yīng)用檢錯和糾錯技術(shù)。有利的是,根據(jù)本發(fā)明的各個實(shí)施例,差錯恢復(fù)模塊104和124能夠保存否則將處理破壞的數(shù)據(jù)比特的計算資源,并且還能夠通過減少檢測和/或糾正差錯所需的時間來加快設(shè)備101和121之間的通信。本發(fā)明的各個特征還能減少檢測差錯所需的時間。例如,檢錯比特能夠以與應(yīng)用數(shù)據(jù)比特交錯的方式而不是像慣例那樣在發(fā)送的一組數(shù)據(jù)比特的末端來傳送。在至少一個實(shí)施例中,線編碼器106使用NB/(N+2)B線編碼來對用于串行數(shù)據(jù)鏈路的數(shù)據(jù)流編碼。此外,線編碼器106能夠用于在該已編碼數(shù)據(jù)流內(nèi)嵌入物理接口(“PI”)糾錯比特而不影響經(jīng)由物理介質(zhì)110傳遞應(yīng)用數(shù)據(jù)比特的速率。有利的是,物理接口102和122能夠在物理層(或“PHY”)處完整地或部分地實(shí)現(xiàn)低級檢錯和/或糾錯而無需設(shè)備101和121解決這些差錯。由此,PI糾錯信息可以連同應(yīng)用數(shù)據(jù)比特一并發(fā)送以便對設(shè)備101和121的操作是透明的。當(dāng)然,用于設(shè)備101和121的檢錯和/或糾錯可以由其他差錯恢復(fù)技術(shù)在物理接口102和122之外的電路和/或?qū)犹幯a(bǔ)充。由此,應(yīng)用數(shù)據(jù)比特可以包括用于較高層(“UL”)差錯恢復(fù)機(jī)制的較高層檢錯比特。因為檢錯和/或糾錯是在物理層處執(zhí)行的,所以檢錯能夠有利地以比在物理接口102和122之外執(zhí)行的情況下更快的速度來執(zhí)行。圖1B示出根據(jù)本發(fā)明一個或多個實(shí)施例的被實(shí)現(xiàn)來提供物理層而非數(shù)據(jù)鏈路層處的檢錯的圖1A所示的差錯恢復(fù)模塊104和124。國際標(biāo)準(zhǔn)化組織(“ISO”)的開放系統(tǒng)互連參考模型(“OSI模型”)描述了以下的功能:物理層(例如,低級層162)以及包括數(shù)據(jù)鏈路層176在內(nèi)的其它較高層160。圖1B示出了用于設(shè)備101的OSI模型150和用于設(shè)備121的OSI模型152。更具體地,OSI模型150和152中的每一個都包括應(yīng)用層170、表示層172、網(wǎng)絡(luò)層174、數(shù)據(jù)鏈路層176和物理層178中的一層或多層,所有這些層都有公知的功能,因而無需在此詳細(xì)討論。根據(jù)OSI模型150,發(fā)送IC或設(shè)備101(即,“發(fā)射機(jī)”)的數(shù)據(jù)鏈路層176一般在由低級層162中的線編碼器編碼之前生成高級檢錯碼,而接收IC或設(shè)備121(即,“接收機(jī)”)的數(shù)據(jù)鏈路層176通常在由低級層162中的線解碼器解碼了經(jīng)線編碼的比特之后檢測并糾正差錯。更具體地,接收數(shù)據(jù)鏈路層176通常將已解碼數(shù)據(jù)比特的比特流組裝成幀并在隨后基于該幀的內(nèi)容計算高級檢錯碼,諸如CRC校驗和。在一個示例中,成幀器(“FR”)193將鄰接的各組比特組裝成幀。更具體地,成幀器193在該幀的一字段中建立幀校驗序列(“FCS”)碼。FCS用于使用例如循環(huán)冗余校驗(“CRC”)校驗和來檢測差錯。FCS通常與CRC進(jìn)行比較以確定是否有差錯存在。為了說明,考慮以太網(wǎng)幀包括首部比特以及多達(dá)1500字節(jié)的有效負(fù)載,并將CRC校驗和作為32個鄰接的比特追加到該有效負(fù)載的末尾。通常,CRC校驗和在物理層178之上的一個或多個較高層160中追加。如圖所示,物理層178包括在至少某些實(shí)施例中允許低級層能夠在不考慮較高層160中所采用的任何高級差錯恢復(fù)機(jī)制的情況下完整地執(zhí)行低級檢錯和/或糾錯(“差錯恢復(fù)”)的低級差錯恢復(fù)功能(“ErrRec”)190和192。在至少一個實(shí)施例中,低級差錯恢復(fù)功能(“ErrRec”)190和192在應(yīng)用數(shù)據(jù)比特被臨時存入緩沖器(例如,F(xiàn)IFO緩沖器)之前或同時操作以完整地或部分地確定是否有差錯出現(xiàn)。如果沒有差錯存在,則應(yīng)用數(shù)據(jù)比特可以被釋放至較高層以組裝成比特子集。比特子集能夠表示以太網(wǎng)幀、用于存儲器設(shè)備的地址等等。在一具體實(shí)施例中,物理層178和數(shù)據(jù)鏈路層176之間的分界是應(yīng)用數(shù)據(jù)比特退出緩沖器至較高層以便組裝的點(diǎn)。無論是哪一層實(shí)現(xiàn)了常規(guī)的檢錯和糾錯,傳統(tǒng)的高級檢錯碼通常以類似于有效負(fù)載的方式來發(fā)送。但是根據(jù)本發(fā)明的各個實(shí)施例,低級檢錯碼和有效負(fù)載可以被不同地,諸如并行地線解碼。如在此使用的,術(shù)語有效負(fù)載指的是表示由應(yīng)用層使用的程序指令和/或程序數(shù)據(jù)的比特(即,應(yīng)用數(shù)據(jù)比特)的集合。應(yīng)用數(shù)據(jù)比特組成應(yīng)用數(shù)據(jù),并且因此不含有用于控制數(shù)據(jù)比特傳送的控制碼。相反,檢錯碼是控制碼,因為它們用于控制數(shù)據(jù)比特傳輸?shù)目煽啃?。所以,根?jù)各個實(shí)施例,應(yīng)用數(shù)據(jù)比特和檢錯比特兩者的部分被同時或幾乎同時線解碼(和線編碼)(尤其是在應(yīng)用數(shù)據(jù)比特和檢錯比特兩者的部分被一起編碼以形成碼字的情況下)。在一個實(shí)施例中,線解碼器用于翻譯碼字以形成能夠同時包括應(yīng)用數(shù)據(jù)比特和物理接口(“PI”)檢錯比特兩者的已解碼數(shù)據(jù)比特。注意,傳統(tǒng)的高級檢錯碼按鄰接比特組(例如,用于以太網(wǎng)幀的CRC校驗和比特)發(fā)送并且通常以類似應(yīng)用數(shù)據(jù)比特的方式通過線解碼器至較高層。因此,常規(guī)的高級檢錯技術(shù)通常消耗計算資源以對用于較高層處的差錯恢復(fù)的控制碼進(jìn)行線解碼,而根據(jù)本發(fā)明的至少一個具體實(shí)施例,低級檢錯碼無需同物理層外的其他地方進(jìn)行通信。圖2A是根據(jù)本發(fā)明一個實(shí)施例的使用嵌入的時鐘和時鐘恢復(fù)來實(shí)現(xiàn)提供物理接口處的可靠數(shù)據(jù)傳送的差錯恢復(fù)模塊的電路的框圖。在所示的示例中,電子設(shè)備200包括分別由RX差錯恢復(fù)模塊(“ERM”)212和RX差錯恢復(fù)模塊(“ERM”)232組成的物理接口210和230。注意,雖然圖2A省略了包括TX差錯恢復(fù)模塊的物理接口,但是本領(lǐng)域普通技術(shù)人員應(yīng)該認(rèn)識到,也能夠?qū)崿F(xiàn)這一TX差錯恢復(fù)模塊,但帶有相反的功能。在某些情況下,物理接口210和230在例如輸入/輸出(“I/O”)環(huán)202中形成為電路。I/O環(huán)202包括用于將諸如接合線等導(dǎo)線耦合至諸如將信號發(fā)送給核心電路204的集成電路之類的外部信號源(未示出)的輸入和輸出端201。RX差錯恢復(fù)模塊212和RX差錯恢復(fù)模塊232各自耦合至核心電路204以向其傳遞信號。如某些實(shí)施例中所使用的,術(shù)語核心電路指的是執(zhí)行一種或多種核心功能并能被配置成經(jīng)由物理接口210和230接收輸入或發(fā)送輸出的任何種類的電路。在某些實(shí)施例中,核心電路204可由知識產(chǎn)權(quán)(“IP”)核心形成,該知識產(chǎn)權(quán)(“IP”)核心用硬件描述語言(“HDL”)碼(例如,VHDL或Verilog)來表示,或者被表示為網(wǎng)表(netlist)文件。因此,核心電路204是便攜的,并且能被容易地插入到大多數(shù)從由物理接口210和230提供的低級層檢錯和糾錯中獲益的設(shè)計中。作為一個示例,考慮核心電路204是任何電路,諸如動態(tài)隨機(jī)存取存儲器(“DRAM”)、微控制器或處理器電路、或者可以從物理接口處的檢錯和糾錯的實(shí)現(xiàn)中獲益的任何種類的電路。有利的是,低級檢錯和糾錯以對核心電路204透明的方式操作(即,物理接口差錯恢復(fù)無需核心電路204的資源來執(zhí)行檢錯和/或糾錯)。物理接口210是被配置成串行地將N+m個已編碼比特接收到線解碼器檢錯器(“LD/ED”)214的串行物理接口,該線解碼器檢錯器被配置成對N+m個已編碼比特的部分或全部進(jìn)行解碼以形成N個已解碼應(yīng)用數(shù)據(jù)比特。值“m”表示已編碼數(shù)據(jù)比特的位數(shù)與應(yīng)用數(shù)據(jù)比特的位數(shù)之間的位數(shù)差。例如,8B/10B線編碼器的m是作為差值的2。線解碼器檢錯器214用于對已編碼比特進(jìn)行線解碼,并在有差錯可測的情況下檢測差錯。如果線解碼器檢錯器214檢測到差錯,則它指示糾錯器(“EC”)216采取恰當(dāng)?shù)牟铄e恢復(fù)措施。在一個實(shí)施例中,糾錯器218被配置成將差錯指示信號218發(fā)送至一外部IC或設(shè)備以警告該外部IC或設(shè)備使其能夠諸如通過向物理接口210重發(fā)該N+m個已編碼比特來解決該差錯。有利的是,物理接口210和230提供用于核心電路204的檢錯和糾錯而無需修改核心電路204,由此保存了將檢錯或糾錯集成到核心204中所需的工程資源。在另一個實(shí)施例中,糾錯器218被配置成將差錯指示信號220發(fā)送到核心電路204中以使其能夠糾正該差錯。在此情況下,核心電路204包括用于糾正任何所檢測到差錯的應(yīng)用專用邏輯244。有利的是,核心電路204中(或其他地方)的應(yīng)用專用邏輯244的差錯處理因而能夠啟用檢錯和糾錯而無需發(fā)送IC或設(shè)備(未示出)幫助糾正差錯。這就使電子設(shè)備200需要的信號導(dǎo)線和/或管腳數(shù)最小,尤其是在它被密封在半導(dǎo)體封裝中的情況下。在又一實(shí)施例中,物理接口210的糾錯器216能夠糾正差錯而無需發(fā)送差錯指示信號218或220。例如,糾錯器能夠?qū)崿F(xiàn)自動糾正差錯的前向糾錯技術(shù)。接著,考慮外部IC例如是DRAM控制器(未示出)而核心電路204是DRAM存儲器的情況。隨后,物理接口230可以提供一芯片對芯片接口,該接口在DRAM控制器和DRAM存儲器(即,核心電路204)之間交換經(jīng)糾錯的地址和數(shù)據(jù)而無需(在功能上或結(jié)構(gòu)上)對其進(jìn)行修改以實(shí)現(xiàn)檢錯和糾錯。在某些實(shí)施例中,物理接口210和230形成于含有輸入-輸出(“I/O”)環(huán)202的第一襯底上。核心電路204形成于第二襯底上。如果第一和第二襯底是分開的,則物理接口210和230可與核心電路204分開封裝。但如果它們形成于同一襯底上,則它們就能作為片上系統(tǒng)(“SOC”)的一部分形成并且能夠用單個封裝密封在一起。在另一實(shí)施例中,物理接口230是被配置成將N+m個已編碼比特接收到RX差錯恢復(fù)模塊232中并在隨后將該N+m個已編碼比特的部分或全部解碼以形成N個已解碼應(yīng)用數(shù)據(jù)比特的并行物理接口。圖2A省略了用于RX差錯恢復(fù)模塊232的線解碼器檢錯器和糾錯器的細(xì)節(jié)以簡化討論。注意,雖然圖2A描繪了在入站方向287上提供入站數(shù)據(jù)比特(即,朝向核心204的入站)的物理接口210和230,但是這些相同的物理接口也能夠在出站方向289上提供來自核心204的出站數(shù)據(jù)比特傳輸(未示出)。注意,在圖2A內(nèi)示出的串行物理接口210和并行物理接口230都被配置成對入站數(shù)據(jù)比特進(jìn)行以恢復(fù)嵌入其中的時鐘等等。在其它實(shí)施例中,串行物理接口210或并行物理接口230或這兩個接口都能被配置成接收外部時鐘而不是嵌入的時鐘。圖2B是根據(jù)本發(fā)明一個實(shí)施例的使用外部時鐘來實(shí)現(xiàn)提供物理接口處的可靠數(shù)據(jù)傳送的差錯恢復(fù)模塊的圖2A所示電路的另一框圖。不同于圖2A中的串行物理接口210或并行物理接口230,圖2B的電子設(shè)備200包括被配置成接收外部時鐘(“Ext.CLK”)274的串行物理接口250。電子設(shè)備200還包括被配置成接收外部時鐘(“Ext.CLK”)254的并行物理接口270。因為物理接口250和270都能夠接收外部時鐘信號,所以這些接口由于無需使用嵌入的計時技術(shù)而不需要包括時鐘恢復(fù)電路。由此,在線解碼器或線解碼過程之后無需布置差錯恢復(fù)模塊252和272。注意,圖2B中的元件都能夠具有與圖2A中類似標(biāo)號的元件等效的功能和/或結(jié)構(gòu)。圖3是示出根據(jù)本發(fā)明一個具體實(shí)施例的配置成檢測并可任選地糾正差錯的物理接口的框圖。物理接口300包括物理層(“PHY”)線解碼器302以及差錯恢復(fù)模塊310,后者由檢錯比特提取器312、檢錯器314和糾錯器316組成。檢錯比特提取器312至少在功能上與PHY線解碼器302的線解碼過程協(xié)作,并且由此它在圖3中被示為位于PHY線解碼器302內(nèi)。在此示例中,PHY線解碼器302至少被配置成接收比特流的N+m個已編碼比特(即,碼元或碼字)并對這些比特的全部或部分進(jìn)行解碼以形成N個已解碼應(yīng)用數(shù)據(jù)比特。例如,PHY線解碼器302能夠用于接收10、14、20、66或130個已編碼應(yīng)用數(shù)據(jù)比特(或“N+2”個比特),隨后能夠分別對這些比特解碼以形成8、12、18、64或128個已解碼應(yīng)用數(shù)據(jù)比特(或“N”個比特)。這兩個比特傳統(tǒng)上用于至少時鐘恢復(fù)和DC平衡。在各個實(shí)施例中,PHY線解碼器302能夠用于接收任何數(shù)目的已編碼數(shù)據(jù)比特并在隨后將這些比特解碼成任何其他數(shù)目的應(yīng)用數(shù)據(jù)比特。例如,PHY線解碼器302能夠?qū)⒁丫幋a數(shù)據(jù)的80個比特解碼以形成64個已解碼應(yīng)用數(shù)據(jù)比特。在一具體實(shí)施例中,PHY線解碼器302將作為N+m個比特的一個子集的N+m-1個已編碼比特解碼,以產(chǎn)生N個已解碼應(yīng)用數(shù)據(jù)比特和E個檢錯比特。隨后,檢錯比特提取器312出于低級檢錯的目的提取一個或多個物理接口檢錯比特。例如,檢錯比特提取器312能夠從N+m的數(shù)量(例如,10比個特)中提取單個比特以產(chǎn)生N+m-1比特(例如,9比特)的已解碼比特,該已解碼比特包括N個已解碼應(yīng)用數(shù)據(jù)比特和E個已解碼檢錯比特。由此,PHY線解碼器302被配置成接收N+m個比特并執(zhí)行產(chǎn)生N個應(yīng)用數(shù)據(jù)比特和至少一個檢錯比特的線解碼。有利的是,PHY線解碼器302能夠被實(shí)現(xiàn)為補(bǔ)充或代替常規(guī)的10B/8B解碼器,該解碼器對已解碼比特使用常用的10比特碼元大小,并且已解碼應(yīng)用比特具有8比特的比特大小。在本發(fā)明的各個實(shí)施例中,PHY線解碼器302檢查第九個比特(即,在10以已編碼比特和8個已解碼應(yīng)用數(shù)據(jù)比特之間的兩個差值比特之一)來檢測差錯。合適的PHY線解碼器302可以是如在題為“MethodandApparatusforEncodingorDecodingDatainaccordancewithanNB/(N+1)BBlockCodeandMethodforDeterminingsuchaBlockCode”的美國專利第6,747,580號中描述的N+1比特/N比特解碼器,該專利全文出于全部目的合并在此作為參考。注意,雖然圖3描繪了PHY線解碼器302,但是本領(lǐng)域普通技術(shù)人員應(yīng)該理解,可以構(gòu)造將N個應(yīng)用數(shù)據(jù)比特和E個檢錯比特編碼成N+m個已編碼比特的PHY線編碼器(即,N比特/N+m比特編碼器)來以與圖3和別處所述的相反的方式操作。在提取之后,檢錯比特提取器312隨后將物理接口(“PI”)檢錯比特(“EDB”)發(fā)送給檢錯器314,后者使用該比特來確定此N+m個已編碼數(shù)據(jù)比特是否包括一個或多個錯誤的數(shù)據(jù)比特。檢錯器314被配置成根據(jù)任何數(shù)量的檢錯技術(shù)和代碼來檢測差錯。在一個實(shí)施例中,檢錯器314被配置為偶數(shù)或奇數(shù)奇偶校驗器,其中物理接口檢錯比特是奇偶校驗比特(即,偶數(shù)或奇數(shù)奇偶校驗比特)。有利的是,物理接口檢錯比特在PHY線解碼器302處與正被解碼的各應(yīng)用數(shù)據(jù)比特的子集同時接收。這與將檢錯碼追加至一組已編碼數(shù)據(jù)比特的末端(其中該組可具有遠(yuǎn)大于N+m個比特的比特大小)的常規(guī)檢錯技術(shù)相比,減小了PHY線解碼器302接收檢錯碼所需的時間量。在另一個實(shí)施例中,物理接口檢錯比特是CRC校驗和的一部分(例如,1比特)。在此情況下,在發(fā)送物理接口(未示出)內(nèi)的檢錯碼生成器被配置成生成物理接口檢錯比特作為CRC校驗和的一部分。如下在圖6中討論的那樣,檢錯碼生成器(或其等效方案)能夠?qū)RC校驗和的比特提供給PHY線編碼器(未示出),該P(yáng)HY線編碼器將物理接口檢錯比特插入到N個未編碼應(yīng)用數(shù)據(jù)比特中以產(chǎn)生N+2個已編碼數(shù)據(jù)比特。因此,檢錯器314用于累積或收集來自已解碼的N+m個數(shù)據(jù)比特的每一子集的物理接口檢錯比特以重構(gòu)CRC校驗和作為檢錯碼。例如,考慮對于由PHY線解碼器302解碼的每組10個已編碼比特而言,提供CRC校驗和的一個比特作為用于每組8個已解碼應(yīng)用數(shù)據(jù)比特的物理接口檢錯比特。如果實(shí)現(xiàn)了16比特的CRC校驗和,則對于每16組的8個已解碼應(yīng)用數(shù)據(jù)比特(即,對于每128個比特),檢錯器314CRC能夠重構(gòu)該16比特CRC校驗和。隨后,檢錯器314從該128個比特中生成CRC校驗和并將該CRC校驗和與重構(gòu)的檢錯碼進(jìn)行比較以確定是否已出現(xiàn)差錯。檢錯器314能夠?qū)崿F(xiàn)其他檢錯技術(shù),諸如前向糾錯。前向糾錯技術(shù)的示例包括Reed-Solomon碼、漢明碼和Bose-Chaudhuri-Hocquenghem(“BCH”)碼。一旦檢錯器314確定在數(shù)據(jù)比特傳輸期間已有差錯出現(xiàn),它就用信號通知糾錯器316這一差錯已出現(xiàn)。在某些情況下,校錯器316用于請求重發(fā)已對其檢測到差錯的已解碼應(yīng)用數(shù)據(jù)比特。繼續(xù)前一示例,如果16比特的CRC校驗和比較指示在128個已解碼應(yīng)用數(shù)據(jù)比特中有差錯存在,則糾錯器316就請求發(fā)送物理接口重發(fā)這128個比特。在其它情況下,糾錯器316能夠激活應(yīng)用專用電路來執(zhí)行用戶定義的差錯處理。在至少一個情況中,糾錯器316能夠進(jìn)行某種類別的默認(rèn)糾錯動作,諸如重新初始化相關(guān)聯(lián)的IC,諸如上述的核心電路。圖4是示出根據(jù)本發(fā)明一個實(shí)施例的帶有檢錯比特插入和提取的發(fā)射機(jī)中的線編碼和接收機(jī)中的線解碼的功能性框圖。如圖400所示,發(fā)射機(jī)物理接口(“TX”)410包括PHY線編碼器412、檢錯碼生成器416、差錯比特插入器418、以及用于在例如檢錯碼生成期間維持應(yīng)用數(shù)據(jù)比特的可任選緩沖器421。在此示例中,檢錯碼生成器416基于緩沖器421中諸如16比特CRC校驗和等應(yīng)用數(shù)據(jù)比特來生成檢錯碼。接著,差錯比特插入器418從該16比特CRC校驗和中選擇至少一個檢錯比特(“EDB”)414并隨后將其插入來自緩沖器421的傳出的N個應(yīng)用數(shù)據(jù)比特的組以形成9個比特。隨后,PHY線編碼器412將這9個比特編碼成10個已編碼比特(或碼元)。在某些實(shí)施例中,PHY線編碼器412以將異步時鐘嵌入到10個已編碼比特中并對這些相同的已編碼比特維持零DC偏移和/或最優(yōu)頻譜特性的方式來對檢錯比特414編碼。在一具體實(shí)施例中,PHY線編碼器412根據(jù)在美國專利6,747,580中闡明的編碼技術(shù)來操作,由此PHY線編碼器412把N比特的應(yīng)用數(shù)據(jù)編碼成N+1個已編碼比特。例如,考慮N是數(shù)字9。由此,PHY線編碼器412能夠?qū)?個應(yīng)用數(shù)據(jù)比特和1個差錯比特(即,9個比特)編碼成10個已編碼比特而不會影響與8B/10B編碼方案相關(guān)聯(lián)的數(shù)據(jù)速率。注意,在圖4中,N可以表示任何非負(fù)整數(shù)。發(fā)射機(jī)物理接口410隨后經(jīng)由物理介質(zhì)420將已編碼比特發(fā)送至接收物理接口(“RX”)440的差錯比特提取器422。接收物理接口(“RX”)440包括PHY線解碼器428、差錯比特提取器422、檢錯碼重構(gòu)器426、檢錯器430、比較器434以及能夠維持已解碼應(yīng)用數(shù)據(jù)比特對未檢測到差錯的待決確認(rèn)的緩沖器431。PHY線解碼器428將10個已編碼數(shù)據(jù)比特解碼成包括8個已解碼應(yīng)用數(shù)據(jù)比特和1個已解碼檢錯比特(“EDB”)424在內(nèi)的9個已解碼比特。在各實(shí)施例中,PHY線解碼器428包括用已編碼應(yīng)用數(shù)據(jù)比特來恢復(fù)經(jīng)由物理介質(zhì)420發(fā)送的嵌入的時鐘的時鐘數(shù)據(jù)恢復(fù)電路(未示出)。差錯比特提取器422從9個已解碼比特中提取檢錯比特424并將其提供給累積檢錯比特以及其他物理接口檢錯比特的檢錯碼重構(gòu)器426。接著,檢錯碼重構(gòu)器426重構(gòu)最初由檢錯碼生成器416生成的檢錯碼。接著,檢錯器430基于緩沖器431內(nèi)的一組N個已解碼應(yīng)用數(shù)據(jù)比特來生成CRC校驗和432。隨后,比較器434可用于比較CRC校驗和432是否與檢錯碼426匹配。如果匹配,就沒有差錯;如果不匹配,就有差錯存在。圖5描繪了根據(jù)本發(fā)明一個實(shí)施例的用于將一組數(shù)據(jù)比特作為一單元來線編碼的流程的一個示例。在某些實(shí)現(xiàn)中,發(fā)送物理接口能夠如流程550所示發(fā)送數(shù)據(jù),由此數(shù)據(jù)比特組560就能夠被稱為一單元(或者一幀等等)。單元560例如可以包括任何數(shù)目的控制比特561(例如,x個比特)以及各自為64比特的兩個應(yīng)用數(shù)據(jù)字563。位于物理層PHY中線編碼器之上的較高層設(shè)備(未示出)能夠被配置成將單元560分為離散的未編碼(即,預(yù)編碼或未編碼)比特組562以供PHY線編碼器使用。每組562都具有N個比特(例如,8個比特)。檢錯碼生成器(未示出)基于單元560生成檢錯碼570以形成檢錯碼作為例如12比特CRC。PHY線編碼器隨后能夠?qū)⑽锢斫涌跈z錯比特(“EDB”)572插入到位于組562內(nèi)或附近的未編碼比特流中以形成N+E個比特的組574(例如,N可以是8個比特,而E可以是1個比特)。PHY線編碼器隨后能夠?qū)⒚總€N+E個比特的組574翻譯成10比特碼字580(例如,已編碼數(shù)據(jù)比特)用于經(jīng)由諸如串行數(shù)據(jù)鏈路等數(shù)據(jù)鏈路傳輸。雖然未示出,但是在接收物理接口處的PHY線解碼器能夠以類似但相反的方式操作。圖6是示出根據(jù)本發(fā)明至少一個具體實(shí)施例的通過至少重發(fā)數(shù)據(jù)比特來提供檢錯和糾錯的物理接口的框圖600。物理接口602和652通過高速串行通信鏈路650來提供物理連接。物理接口602包括諸如先進(jìn)先出緩沖器(“FIFO”)604之類的用于存儲待發(fā)送數(shù)據(jù)比特的存儲。FIFO604維持所存儲的數(shù)據(jù)以便例如經(jīng)由一組數(shù)據(jù)比特來計算檢錯碼。在某些情況下,F(xiàn)IFO604存儲用于在差錯出現(xiàn)時重發(fā)的數(shù)據(jù)比特。物理接口602還包括PHY線編碼器(“PHY編碼器”)610、用于串行化并行數(shù)據(jù)比特的串行化器(“SER”)612、檢錯碼生成器616、以及發(fā)射機(jī)(“TX”)糾錯器618?;谔囟〞r刻FIFO604內(nèi)的數(shù)據(jù)比特組的內(nèi)容,檢錯碼生成器616生成檢錯碼,諸如CRC校驗和。檢錯碼插入器614分解該CRC校驗和并將至少一個比特(例如,一個E比特)作為物理接口檢錯比特(“EDB”)插入到N個未編碼比特606。在操作中,PHY線編碼器610對N+E個比特進(jìn)行編碼以形成N+2個已編碼數(shù)據(jù)比特608。串行化器612隨后在經(jīng)由鏈路650傳輸N+2個數(shù)據(jù)比特608之前對其進(jìn)行串行化。接收物理接口652包括將N+2個數(shù)據(jù)比特608轉(zhuǎn)換成并行數(shù)據(jù)比特的解串行化器654。PHY線解碼器(“PHY解碼器”)656對該已編碼比特流進(jìn)行解碼并將已解碼數(shù)據(jù)比特存儲在FIFO658內(nèi)。檢錯比特(“EDB”)提取器660提取至少一個比特作為物理接口檢錯比特(“EDB”)662并將其發(fā)送至檢錯器666。當(dāng)差錯碼重構(gòu)完成時,檢錯器666就用于確定是否已有差錯發(fā)生。如果檢錯器666沒有檢測到差錯,則它指示FIFO658釋放已解碼數(shù)據(jù)比特以供進(jìn)一步處理。但如果檢錯器666檢測到差錯,則它向接收機(jī)(“RX”)糾錯器668指示差錯的存在。在一實(shí)例中,RX糾錯器668發(fā)送請求669以指示TX糾錯器618經(jīng)由鏈路650重發(fā)該內(nèi)容或其一部分。在另一實(shí)例中,RX糾錯器668發(fā)送請求671給應(yīng)用專用電路(未示出)來處理該差錯。在又一實(shí)例中,接收機(jī)糾錯器668可以使用前向糾錯技術(shù)或類似的技術(shù)來糾正錯誤。圖7示出根據(jù)本發(fā)明至少一個具體實(shí)施例的用于在沒有線解碼的情況下實(shí)現(xiàn)檢錯和差錯的另一接收機(jī)。在接收機(jī)(“RX”)700中,發(fā)送物理接口(未示出)經(jīng)由鏈路702發(fā)送數(shù)據(jù)比特。差錯比特提取器704從該數(shù)據(jù)比特中提取檢錯數(shù)據(jù)比特(“EDB”)并收集它們來重構(gòu)檢錯碼708。與圖4中框圖400不同,接收機(jī)700不像接收機(jī)440那樣使用PHY線解碼器。由此,接收機(jī)700無需從嵌入的時鐘中恢復(fù)時鐘信號。如圖所示,接收機(jī)700被配置成從例如發(fā)送設(shè)備(未示出)接收外部時鐘701。發(fā)送設(shè)備在經(jīng)由鏈路702發(fā)送應(yīng)用數(shù)據(jù)比特之前將檢錯比特追加至該應(yīng)用數(shù)據(jù)比特。接收機(jī)700包括用于基于FIFO720內(nèi)的一組應(yīng)用數(shù)據(jù)比特來計算檢錯碼,或在此情況下的CRC校驗和722的檢錯器780。(例如,檢錯器720中的)比較器724隨后確定是否已出現(xiàn)傳輸差錯。如果存在差錯,則糾錯器780就能通過例如請求發(fā)送設(shè)備重發(fā)該數(shù)據(jù)比特或用信號通知應(yīng)用專用邏輯它要糾正該錯誤來采取糾正性動作。圖8描繪了根據(jù)本發(fā)明一個實(shí)施例的糾錯器的框圖。糾錯器800在此示例中包括糾錯器控制器822,它控制能夠解決差錯的一種或多種功能,其中特定功能由用戶為特定應(yīng)用編程。例如,視頻存儲器應(yīng)用內(nèi)象素數(shù)據(jù)的丟失不像其他應(yīng)用中的數(shù)據(jù)丟失那樣關(guān)鍵。由此,糾錯器控制器822可以選擇以下模塊中的任一個來實(shí)現(xiàn)糾錯。重發(fā)請求模塊824生成送至發(fā)送物理接口的請求,以在檢測到差錯時重發(fā)數(shù)據(jù)比特。應(yīng)用專用恢復(fù)模塊814用信號通知應(yīng)用專用電路發(fā)信號啟動其由設(shè)計人員規(guī)定的自定義差錯處理例程。但是糾錯器控制器822能夠選擇一默認(rèn)的差錯恢復(fù)方案,諸如在檢測到差錯時重新初始化一IC。這會引起兩個物理接口都重新初始化到已知的狀態(tài)。在各個另選實(shí)施例中,糾錯器800能夠包括頻率選擇器830、幅度選擇器840和編碼選擇器850。如果物理接口之間的通信鏈路上的信號搖晃(falter),則頻率選擇器830能夠調(diào)整經(jīng)由鏈路的數(shù)據(jù)傳輸速率以減低差錯率?;蛘?,幅度選擇器840能夠調(diào)整信號幅度直到差錯率被削減。編碼選擇器850可用于改變線編碼,例如從18B/20B變?yōu)?B/10B來減少檢測差錯的時間。例如,考慮為差錯恢復(fù)實(shí)現(xiàn)32比特的CRC且一次發(fā)送CRC的一個比特。則對于18B/20B而言,需要576個應(yīng)用數(shù)據(jù)比特(8比特)來形成32比特的CRC(即,8*32=576比特),而對于8B/10B則需要256個應(yīng)用數(shù)據(jù)比特。由此,編碼選擇器850能夠提高經(jīng)由通信信道發(fā)送差錯碼(例如,CRC)的速率。糾錯器控制器822能夠獨(dú)立地或組合地選擇這些選擇器。以上描述出于解釋的目的使用了專門的術(shù)語來提供對本發(fā)明的全面理解。然而本領(lǐng)域普通技術(shù)人員顯而易見的是,無需這些具體細(xì)節(jié)也能實(shí)踐本發(fā)明。實(shí)際上,這一描述不應(yīng)被理解為將本發(fā)明的任何特征或方面限于任何實(shí)施例;而是一個實(shí)施例中的特征和方面可被容易地與其他實(shí)施例互換。例如,雖然各實(shí)施例的以上描述涉及物理層線解碼器,但是該討論也適用于物理層線編碼器以及所有類型的通信鏈路,以及諸如千兆比特以太網(wǎng)、HDMI、TMDS、DVI和SATA之類的許多類型的通信協(xié)議。同樣,各實(shí)施例也適用于電子電子設(shè)備之間的點(diǎn)對點(diǎn)通信以及一對多廣播。雖然上述討論中的一部分涉及串行數(shù)據(jù)通信,但是本發(fā)明的各實(shí)施例也能夠應(yīng)用于并行數(shù)據(jù)通信。于是,本發(fā)明的具體實(shí)施例的以上描述僅出于說明和描述的目的。不應(yīng)該將本發(fā)明窮盡或限制在公開的精確形式上;顯然,根據(jù)以上教示,許多修改和變化都是可能的。對各實(shí)施例的選擇和描述是為了最好地解釋本發(fā)明的原理及其實(shí)際應(yīng)用;并且由此使得本領(lǐng)域普通技術(shù)人員能夠如對所構(gòu)想的特定用途合適地來最好地利用帶各種修改的本發(fā)明和各實(shí)施例。值得注意的是,并非在此描述的每一益處都必須由本發(fā)明的每一個實(shí)施例來實(shí)現(xiàn);而是任何具體實(shí)施例能夠提供上述的一個或多個優(yōu)點(diǎn)。所附權(quán)利要求書及其等效技術(shù)方案旨在定義本發(fā)明的范圍。