TW201519581A - 資料傳輸中之累積誤差偵測 - Google Patents
資料傳輸中之累積誤差偵測 Download PDFInfo
- Publication number
- TW201519581A TW201519581A TW103129969A TW103129969A TW201519581A TW 201519581 A TW201519581 A TW 201519581A TW 103129969 A TW103129969 A TW 103129969A TW 103129969 A TW103129969 A TW 103129969A TW 201519581 A TW201519581 A TW 201519581A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- data processing
- processing device
- error
- data stream
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H03M13/091—Parallel or block-wise CRC computation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本文提供一種用於提供誤差校驗值以指示一資料串流中的資料部分內的誤差的電路系統。該電路系統包括誤差偵測代碼生成電路系統,該誤差偵測代碼生成電路系統配置成將一誤差偵測代碼演算法應用到該資料串流以及由此當處理該資料串流時生成並週期性地更新一多位元校驗值,該多位元校驗值的每一次更新指示該誤差偵測代碼生成電路系統接收該資料串流的又一項目。輸出端用於在該資料串流的處理期間從該誤差偵測代碼生成電路系統週期性地輸出多位元校驗值片段,該等輸出片段各自對應於該資料串流的一資料部分。其中該多位元校驗值的該等片段的每一者提供一值,該值指示發生在該資料串流的該相應部分中或者在該資料串流的一早期部分中的一誤差。
Description
本發明係關於資料傳輸領域,以及特定言之係關於偵測在兩個資料處理裝置之間傳輸的資料中的誤差。
在資料傳輸期間可能會出現誤差,以及已知使用冗餘代碼(諸如,循環冗餘校驗或即CRC代碼)來偵測該等誤差。此類代碼是在發射與接收器件兩者處使用相同的演算法產生的,以及若在接收器處產生的代碼與在發射器處傳輸的代碼不匹配,則吾人可推斷在所接收的資料或所接收的代碼中已出現誤差。
該CRC代碼可從一個資料傳輸的整體資料產生,以驗證彼整體資料傳輸。然而,此舉的缺陷是誤差僅在已經接收該整體資料之後才可偵測到。此舉引入延遲並且需要資料的顯著緩衝。一種替代性方法是從資料串流的部分或者封包產生此類代碼,此舉允許持續地校驗資料並早期定位誤差。
該等CRC代碼可僅自資料產生,或者該等CRC代碼可以累積的方式從該資料與先前的CRC代碼產生。亦即,
資料封包中累積的CRC代碼可為基於彼資料封包中的資料與來自先前封包的CRC代碼。此舉亦允許偵測資料封包遺漏,以及提供防護以防止損壞封包。
在如此之系統中,即使每封包僅傳輸單一CRC位元亦可以實現高度防護,因為每一封包亦受益於所有後續封包中的CRC防護,因此,若不存在後續封包,則1位元CRC覆蓋將會給予使用者二分之一的未偵測到誤差的可能性,然而當後續封包的數量增加時,未偵測到誤差的機率迅速下降。因此,3個後續封包將會給予使用者1/16的未偵測到誤差的可能性,以及7個後續封包將會給予使用者僅1/256的未偵測到誤差的可能性。
此者之缺陷在於最後幾個封包不具有或者具有少量的連續封包,以及因此具有較低的防護。
顯而易見存在產生與傳輸該等代碼的額外負擔,以及在一些情形中可傳輸CRC代碼的僅一部分,從而減少資料傳輸的額外負擔。在使用累積的CRC的情況中,可以獲得高水平的防護,即使是在每封包傳輸單一CRC位元的情況中,因為每一封包將受益於所有後續封包中的CRC防護。在Chuang等人在2011年度美國電機暨電子工程師學會(IEEE)第3415-3420頁發表的「Investigate Partial CRC-32 Characteristic and Performance for Real-time Multimedia Streamings in 802.11 Wireless Mesh networks(調查研究用於802.11無線網型網路中的即時多媒體串流的部分CRC-32特徵與效能)」中揭示了如此之技術。
產生CRC的該累積方法需要在產生來自該封包的CRC之前將來自先前封包的CRC嵌入到下一個封包的資料中。此舉可以相對高效地在軟體中實行,然而對於硬體實施存在提高的硬體成本,以及更長的時序路徑及/或多個封包之間用於計算CRC的潛時的額外時脈週期。此舉的一個實例將是除錯介面(debug interface)上的叢發寫入操作,其中每32位字被視為一封包,具有其自身的部分CRC。
能夠生成用於偵測資料串流中的誤差的CRC代碼但不產生過高的硬體或傳輸頻寬成本將為有利的。
從第一態樣看,本發明提供配置用於誤差校驗值以指示資料串流內資料部分中的誤差的電路系統,該電路系統包括:誤差偵測代碼生成電路系統,配置成將誤差偵測代碼演算法應用到該資料串流以及由此當處理該資料串流時生成並週期性地更新多位元校驗值,該多位元校驗值的每一次更新指示該誤差偵測代碼生成電路系統接收該資料串流的又一項目;輸出端,配置成在該資料串流的處理期間週期性地自該誤差偵測代碼生成電路系統輸出該多位元校驗值的一片段,該等輸出片段各自對應於該資料串流的一資料部分;其中該多位元校驗值的該等片段的每一者提供一值,該值指示發生在該資料串流的該相應部分中或者在該資料串流的早期部分中的一誤差。
本發明認識到雖然誤差偵測代碼的累積性生成增強了誤差防護,但不會過度地增大所傳輸的資料量。本發明亦認識到若該累積性生成需要在可生成下一個誤差校正碼之前輸入先前計算出的誤差校正碼,則此舉難以應用到串列資料,除非使用者執行誤差偵測代碼計算比資料輸出更快。
本發明已經藉由提供誤差偵測代碼生成電路系統解決了此問題,該誤差偵測代碼生成電路系統當接收資料項時不斷地更新校驗值,以便該誤差偵測代碼生成電路系統以與資料串流相同的時脈速率操作,以及該誤差偵測代碼生成電路系統週期性地輸出對應於所接收的資料部分的多位元校驗值的片段,該片段提供對該資料部分或者先前資料部分中的誤差的指示。如此不斷地計算校驗值並且將該計算的快照的一部分用作片段,此舉將提供對相應資料部分或者先前資料部分中的誤差的指示。該片段提供誤差指示,因為該片段可用於藉由誤差校驗電路執行的後續計算以辨識所傳輸資料中的誤差。
如此可使得能夠早期偵測資料串流中的誤差,而無需等待到已傳輸完整體串流。此外,在偵測到誤差的情況下,可以在誤差發生處或者在誤差發生處附近執行資料重傳,而非必須從開頭重傳整體資料串流。
該種生成校驗值的方式對於資料串流/叢發系統特別有效,前述者允許對整體資料執行單一誤差代碼校驗演算法,其中藉由對部分計算出的代碼拍快照來使得有可能早期偵測誤差。
在一些實施例中,將該資料串流輸入到該誤差偵測代碼生成電路系統中作為包括該等資料部分的串列串流,一個資料部分緊接在該資料串流中的先前資料部分之後輸入。
輸入該資料串流作為串列串流而無需將先前計算出的校驗總和值交錯到該資料串流中允許以與接收該資料串流相同的速率執行計算,此使得此舉特別適用於硬體系統。
在一些實施例中,該誤差偵測代碼演算法包括循環冗餘校驗演算法,以及該誤差偵測代碼生成電路系統包括循環冗餘校驗生成電路系統。
雖然可以使用大量的不同演算法來偵測誤差,但該技術特別適用於循環冗餘校驗或者CRC演算法。就此而言,CRC演算法易於在硬體中實施,易於進行數學地分析,以及擅長偵測由於雜訊而出現的誤差。
在一些實施例中,該資料串流包括以下各者中的一個:資料叢發與資料之連續串流。
該資料叢發可包含一序列的資料封包或者單一的資料封包。該資料可劃分為多個資料部分,該等資料部分具有針對該等資料部分生成的多個誤差代碼片段,或者該等資料部分可形成單一資料部分。在後一情形中傳輸單一封包,接著在此之後可傳輸對完整誤差代碼的請求以增大所提供的誤差偵測的數量。此允許不管所傳輸的是單一資料封包還是大量的資料封包,皆以同樣的方式執行本技術,由此減少硬體的複雜性。
在一些實施例中,該片段包括單一位元,而在其它
實施例中該片段包括若干位元。
如先前所註解的,可從該片段決定的精確度可取決於所傳輸的位元數量。然而,傳輸更多的位元增加了系統的額外負擔。在傳輸提供對當前的資料部分與先前的資料部分兩者中的誤差之指示的誤差代碼之片段的情形中,當存在大量的資料部分時,單一位元可能就是足夠的,特別是最後傳輸完整代碼來揭露在將不受益於該累積性系統之後續部分中的任何誤差時。
在一些實施例中,該誤差偵測代碼生成電路系統包括串聯連接的同步邏輯電路,該等同步邏輯電路配置用於處理該資料串流,該誤差偵測代碼生成電路系統進一步包括資料輸入端,該資料輸入端配置用於接收該資料串流與至少一個反饋電路系統,該至少一個反饋電路系統配置用於將從一個串聯連接的同步邏輯電路中輸出之值反饋到靠近該資料輸入端的至少一個串聯連接的同步邏輯電路的輸入端,以使得在該處理期間該值與該資料串流組合,該片段從至少一個串聯連接的同步邏輯電路之輸出端輸出。
一種提供指示相應的資料部分與先前的資料部分兩者中的誤差的累積校驗的方法為:使用反饋電路系統來反饋來自串聯連接的邏輯電路(在一些情形中,來自該電路系統的輸出端)的值,以使得該值以連續不斷的方式與該資料串流組合。由此不斷地用該資料串流與先前的校驗值來計算該等值,以及所輸出的片段是該計算的快照。
在一些實施例中,該資料串流包括資料叢發,以及
該誤差偵測代碼生成電路系統配置用於輸出已處理過該資料叢發的該完整的多位元校驗值。
如先前所註解的,用於誤差偵測的此累積方法允許各個片段提供對當前資料部分與早期資料部分中的誤差之指示。此舉的缺陷是後續部分中的誤差防護度不如早期部分中的誤差防護度高。此缺陷可以藉由最後輸出完整的多位元校驗值來解決,以便可以執行資料的完全校驗。如此,完成充分精確的校驗,該校驗具有以下能力:在計算出及發送該完整的誤差校驗值之前,一般地定位在該資料串流中早期發生的任何誤差。
本發明的第二態樣提供資料處理裝置,該資料處理裝置包括根據本發明的第一態樣的電路系統;輸入埠,配置用於接收包括該資料串流的資料;以及輸出埠,其中,該資料處理裝置配置成回應於在該輸入埠處接收到該資料串流而生成該多位元校驗值之該等片段以及將該多位元校驗值之該等片段在該輸出埠處輸出。
在一些情形中,該資料處理裝置可接收該資料串流並且生成多位元校驗值以及輸出該等多位元校驗值。因此,已傳輸該資料串流的裝置可驗證該接收器是否已從其接收的多位元校驗值正確地接收資料。該等多位元校驗值是由接收裝置在接收該資料串流期間週期性地輸出的,並且指示到目前為止接收的該等部分中的誤差,由此允許任何誤差之早期偵測。該輸入端可以是雙路輸入/輸出埠的部分,或者該輸入端可經配置為單一埠。
在一些實施例中,該電路系統進一步包括:緩衝電路系統,該緩衝電路系統配置用於儲存該資料串流的該等資料部分;以及控制電路系統,該控制電路系統配置用於回應於接收又一資料部分而提交最近最少接收到的所儲存的資料部分。
由於該計算的累積性質,在未指示誤差的資料部分之後輸出的片段越多,該資料部分越有可能是正確的,由此回應於接收其他資料部分而提交最近最少儲存的資料部分意謂提交當前儲存的並且最不可能具有誤差的該資料部分。
在一些實施例中,該控制電路系統配置用於取決於所需的誤差偵測能力而在任一時刻改變儲存在該緩衝器中的大量資料部分。
所需緩衝器的大小取決於所需精確度,以及事實上可以根據情況及當前的精確度要求而改變。此允許根據情況來配置系統,以便在合適的情形中,若所需的精確度意謂需要緩衝較少的資料,則一些儲存器可以用於其他目的。
在一些實施例中,該控制電路系統配置用於回應於接收到在該輸入埠處接收到的誤差指示而清空該緩衝電路系統中的該等資料部分。
因為在本實施例中誤差校驗值在接收資料的該電路系統中生成並且被傳輸到傳輸該資料的電路系統,其中該資料具有在傳輸該資料的該電路系統中被辨識出的任何誤差,所以當接收裝置從發射器接收到誤差指示時,該接收裝置才覺察到任何誤差。若接收到如此之誤差指示,則在提交之前
清空該接收裝置中儲存該資料的緩衝器。
在一些實施例中,在該輸入埠處接收來自資料介面的資料串流,並且該誤差指示包括在該資料介面上沒有活動達一預定時間。
一種指示資料串流中存在誤差的便利方法是停止發射器處已經偵測出誤差的任何資料的傳輸。因此,該接收裝置將發現在該資料介面上沒有活動達一預定時間。就此而言,傳輸誤差信號要求該等信號具有佔據編碼空間的特定編碼。如此的誤差信號將亦需要誤差防護,以便誤差指示轉換期間的誤差不會導致正提交的資料被破壞。在其中週期性地傳輸資料串流的一實施方式中,可以僅藉由不傳輸任何資料達一預定時間來指示誤差的偵測。在如此之實施例中,在資料接收器處接收到新的資料部分指示早期的資料部分是正確的以及因此指示可以提交來自緩衝器的資料。因為被破壞的封包的數量將相對較低,所以在發生誤差之情況下停止資料傳輸將不會意味著重大的額外負擔。
在一些實施例中,該控制電路系統配置用於回應於接收到在該輸入埠處接收到的確認指示而提交並清空該緩衝電路系統中所儲存的資料部分。
在資料集的發送完成的情況下,此發送完成可由從發送資料的裝置接收到的確認指示來指示,回應於此指示提交及清空緩衝器,因為此時將重新開始對新的資料集的誤差代碼偵測。
在一些實施例中,該資料串流包括資料叢發,以及
該確認指示包括在該輸入端上接收又一資料叢發。
在該資料串流經發送作為資料叢發的情況中,新的資料叢發的接收指示已經發送先前的資料叢發並且正重新開始代碼偵測。此時應提交及清空該緩衝器,因為任何後續的誤差指示將不會應用到當前儲存在該緩衝器中的資料。
在一些實施例中,該電路系統配置用於當用與該資料項有關的指示符請求該完整的多位元值時辨識在輸入埠處接收到的該資料項,以及藉由輸出該多位元校驗值來回應該請求。
因為誤差代碼是由資料接收器生成的,所以將無法瞭解例如何時已完成資料叢發。因此,使資料發射器在叢發的結尾或者在資料串流的末端傳播該叢發已經完成並且其現在需要完整的多位元值可為有利的。此可以由指示符指示,以及該接收裝置可以藉由輸出所需值而回應於此。
在一些實施例中,該輸入埠進一步配置用於接收資料事務,而該輸出端進一步配置用於回應於該等資料事務中的一個來輸出包括該資料串流、該等多位元校驗值之該等片段及該多位元校驗值的資料之串流。
資料處理裝置可以經配置用於接收資料及回應於資料事務而輸出資料兩者。在資料輸出情況中,多位元校驗值片段將與資料一起輸出,繼之以在該資料串流的末端的完整的多位元校驗值。
在一些實施例中,該資料處理裝置配置用於將該資料串流輸出為交錯有該多位元校驗值之該等相應片段並且繼
之以該多位元校驗值的該資料串流的複數個該等資料部分。
使所輸出的資料串流交錯有該等片段並且在最後輸出該多位元校驗值是有利的。以此方式,當接收到該等資料部分時,可以用該等片段校驗該等資料部分,從而決定早期誤差,以及可以在最後用完整的值來執行完整的校驗。
在一些實施例中,該資料處理裝置配置用於回應於該資料串流接收裝置無法處理該資料串流的至少一部分而控制該電路系統輸出該多位元校驗總和值的一不正確的片段。
若由於某種原因資料傳輸中存在誤差,則資料接收器可以藉由故意輸出該多位元校驗值的一不正確的片段來指示此誤差。回應於此,該系統將假設傳輸中的誤差並且重傳該資料。一些系統可以查詢接收裝置以決定該誤差的性質,以及因此決定重傳是否可能成功,或者該誤差是否是永久的,例如無效的請求。
在一些實施例中,該多位元校驗值的該等片段包括單一位元值,該資料處理裝置包括輸出電路系統,該輸出電路系統配置用於在輸出該片段之前從該單一位元生成雙位元值,該雙位元值包括兩個位元,該兩個位元各自具有不同的值並且在該兩個位元之間具有上升或者下降邊緣,該上升或下降邊緣與為該資料處理裝置計時的時脈信號同步。
雖然輸出該多位元校驗值的單一位元可為有利的,但是在一些實施例中,可為有利的是,將此單一位元值轉換成雙位元值並將該兩個值之間的過渡不僅用作值的指示符亦用作時脈信號的指示符,以使得該值的接收器可以與該值的
發射器的時脈信號同步,並且不需要具有共享時脈信號,而是可以從此轉換生成時脈信號。此舉減少了兩個器件之間可能需要的連接數量。
本發明的第三態樣提供一種資料處理系統,該資料處理系統包括根據本發明的第二態樣的資料處理裝置以及配置用於輸出該資料串流到該資料處理裝置的另一資料處理裝置,其中該另一資料處理裝置配置用於接收該多位元校驗值的該等片段以及回應於偵測到誤差而傳輸該誤差之指示。
本發明的一態樣提供一種系統,該系統具有資料發射器與接收器,該資料發射器傳輸資料,而該接收器接收資料、生成多位元校驗值以及輸出多位元校驗值的片段,該發射器用該等值偵測傳輸中的誤差並且提供誤差指示。在一些情形中,藉由停止資料傳輸達一預定時間來提供誤差指示。
在一些實施例中,該另一資料處理裝置包括時脈生成器,該時脈生成器用於根據所接收到的時脈信號生成一時脈信號,其中所接收的該多位元校驗值之該等片段各自包括具有兩個不同位元的雙位元值以及在該兩個位元之間的上升或者下降邊緣,該時脈生成器配置用於調節該時脈信號,以使該時脈信號與該上升或下降邊緣中的至少一些同步。
在多個器件之間傳輸資料的情形中,可以藉由將該值編碼作為兩個值之間的過渡來獲得該等器件的同步。如此之過渡可以用作同步時脈邊緣,以及因此發送該值與同步信號兩者。此外,不需要提供接收器與發射器兩者共用的共享時脈。
在一些實施例中,該另一資料處理裝置配置用於回應於在該多位元校驗值之該等所接收到的片段的一個片段中偵測到誤差輸出讀取請求,以讀取該靶器件的狀態暫存器。
當在所接收到的該等片段的一個中偵測到誤差時,可為有利的是使該另一資料處理裝置發送讀取請求以讀取靶器件的狀態暫存器,從而決定是否存在已發生的且可由該狀態暫存器辨識的某誤差。在錯誤片段已經藉由接收器件輸出以指示接收資料中的誤差的情況下,此可以辨識故障的起因。因為誤差是不常見的,所以藉由回應於偵測到誤差而執行此舉,不會存在大量的額外負擔。
在一些實施例中,該另一資料處理裝置包括除錯裝置,以及該資料處理裝置包括待除錯的微處理器。
本技術特別適合於除錯裝置,其中除錯資料與事務被發送到微處理器。閘數往往是針對微處理器之臨界因數。當進行除錯時,必須緩衝所接收到的資料,直至有把握該資料是正確的,因為若此緩衝不存在,則無效的資料可能會被寫入到系統中的寫入敏感的周邊暫存器中。類似地若包含誤差的叢發被從開頭重傳而不是靠近發生誤差的位置開始重傳,則寫入敏感的周邊裝置將發現重複的寫入。本技術的使用允許減小緩衝量,而不會限制叢發的最大長度。
本發明的第四態樣包括資料處理裝置,該資料處理裝置包括根據本發明的第一態樣的電路系統,該電路系統進一步包括:輸出端,配置用於輸出包括該資料串流、該等多位元校驗值之該等片段與該多位元校驗值的資料之串流。
在一些實施例中,可以是發射裝置具有該電路系統以及輸出該資料與該等校驗值。
在該資料處理裝置可配置用於將該資料串流輸出為交錯有該多位元校驗值之該等相應片段並且繼之以該多位元校驗值的該資料串流的複數個該等部分。
以此方式輸出資料允許不斷地校驗所接收到的資料以及早期定位任何誤差。
本發明的第五態樣提供資料處理系統,該資料處理系統包括根據本發明的第四態樣的資料處理裝置以及與該資料處理裝置通訊的另一資料處理裝置,該另一資料處理裝置包括輸入端與誤差偵測電路系統,該輸入端用於接收該資料串流與該多位元校驗值,該誤差偵測電路系統配置用於取決於該資料串流與該多位元校驗值之該等片段而校驗該接收到的資料串流中的誤差以及回應於偵測到誤差而提供誤差指示給該資料處理裝置。
本發明的第六態樣提供一種提供誤差校驗值以指示資料串流中的資料部分的誤差的方法,該方法包括以下步驟:藉由將誤差偵測代碼演算法應用到資料串流來處理該資料串流以及由此當處理該資料串流時生成並週期性地更新多位元校驗值,從而生成誤差偵測代碼,該多位元校驗值的每一次更新指示該誤差偵測代碼演算法是應用到該資料串流的又一項目;在該資料串流之該處理期間週期性地輸出該多位元校驗值之片段,該等輸出的片段各自對應於該資料串流的一資料
部分;其中該多位元校驗值的該等片段的每一者提供一值,該值指示發生在該資料串流的該相應部分中或者在該資料串流的早期部分中的一誤差。
本發明的第七態樣提供電腦程式產品,該電腦程式產品包括電腦程式,當由資料處理裝置執行該電腦程式時,該電腦程式可操作用於控制該資料處理裝置執行根據本發明的第六態樣的方法的各步驟。
就此而言,雖然本技術可在硬體中體現,但是誤差校驗值的生成亦可在軟體中完成。
10‧‧‧主控器
12‧‧‧CRC校驗電路系統
15‧‧‧介面
16‧‧‧緩衝器
18‧‧‧控制電路系統
20‧‧‧受控器
22‧‧‧循環冗餘校驗生成電路系統/CRC生成器/CRC生成器電路系統/CRC代碼生成電路系統/CRC生成電路系統
24‧‧‧多工器
26‧‧‧緩衝器
27‧‧‧狀態暫存器
28‧‧‧控制電路系統
31‧‧‧輸入埠
32‧‧‧輸出埠
40‧‧‧除錯器
42‧‧‧CRC校驗電路系統
46‧‧‧緩衝器
47‧‧‧PLL電路系統
50‧‧‧系統/靶/裝置
52‧‧‧CRC生成電路系統
56a‧‧‧緩衝器
56b‧‧‧緩衝器
58‧‧‧控制電路系統
60‧‧‧微處理器
70‧‧‧裝置
72‧‧‧CRC生成器
73‧‧‧CRC校驗電路系統
80‧‧‧裝置
82‧‧‧CRC生成器
83‧‧‧CRC校驗電路系統
將僅以舉例之方式,參考在隨附圖式中所圖示之本發明之實施例來進一步描述本發明,各圖式中:第1圖圖示根據本發明的一實施例的資料處理系統;第2a圖與第2b圖分別圖示執行寫入與讀取的第1圖的資料處理系統;第3圖圖示用於根據本發明的一實施例生成誤差偵測代碼以及輸出資料之串流與循環冗餘代碼片段的多項式生成電路系統;第4圖圖示根據本發明的一實施例的除錯器與待除錯的微處理器;第5圖圖示根據本發明的一替代性實施例的資料處理系統;
第6圖圖示流程圖,該流程圖圖解本技術的一實施例的方法,其中CRC代碼與資料一起輸出;以及第7圖圖示流程圖,該流程圖圖解本發明的一實施例的方法,其中誤差偵測代碼在資料接收器處生成並且經傳輸返回到資料發射器。
第1圖圖示根據本發明的一實施例的資料處理系統。該資料處理系統包括主控器10與受控器20,該主控器10與受控器20彼此進行資料通訊。該通訊圖示為經由介面15,以及此介面可以採取實體匯流排或者其他有線連接的形式,或者此介面可以是無線連接。在本實施例中,主控器10生成傳輸到受控器20之事務。
受控器20具有循環冗餘校驗生成電路系統22,該循環冗餘校驗生成電路系統22根據其接收的資料來生成多位元循環冗餘校驗值。該受控器使用生成多項式演算法之電路系統來完成此舉,以及此電路系統在第3圖中更詳細地圖示。該電路系統具有至少一個反饋迴路,以使得所生成的該等代碼中的至少一些被反饋回該電路系統,以便形成累積誤差偵測代碼。該電路系統具有輸入端與輸出端,並且當接收到資料時更新所生成的代碼。
在本實施例中,當該主控器執行例如寫入時,在接收到資料時週期性地輸出由CRC生成器22生成的代碼之片段。此片段可用於辨識在所接收到的資料中可能存在的任何誤差。在資料事務的末端,該主控器10將傳輸指示符以及資
料的最終部分來指示此係事務的結尾,以及回應於此,控制電路系統28將控制該受控器20輸出完整的多位元CRC代碼,以便可嚴格地校驗資料的最終部分。
除了CRC生成器電路系統22與多工器24之外,受控器20中亦存在緩衝器26,以用於在將接收到的資料提交與寫入到所需位址之前儲存該資料。在第1圖中圖示兩個緩衝器,其中一個緩衝器用於讀取資料而另一個緩衝器用於寫入資料,取決於實施,該等緩衝器可實施作為兩個獨立的緩衝器或者作為單一緩衝器。亦存在輸入埠31與輸出埠32,在本實施例中該輸入埠31與該輸出埠32圖示為兩個獨立的埠,但是在一些實施例中該輸入埠31與該輸出埠32將為具有輸入與輸出功能兩者的單一埠。
在寫入期間,該主控器將傳輸資料串,以及在該傳輸期間,該主控器將開始接收回對應於已經由CRC代碼生成電路系統22生成且已經發送的資料部分之CRC片段。該主控器將使用對應的CRC校驗電路系統12從其傳輸的資料產生其自身對應的CRC片段,以及將使用該等CRC片段來驗證其接收的該等CRC片段是否是所期望的片段或者該等CRC片段是否指示誤差。
在受控器中接收到的資料在緩衝器26中緩衝,該緩衝器26在本實施例中為接收寫入資料的緩衝器,以及新資料的接收被視為指示先前所接收到的資料是正確的,如此當接收到新的資料時,提交儲存在緩衝器26中的最舊的資料。若該主控器10偵測到誤差,則此指示清空受控器與緩衝器,以
及從偵測到誤差的位置點或者偵測到誤差的位置附近重傳該資料。
在本實施例中,該受控器一直生成CRC代碼,以及該主控器校驗該CRC代碼。該CRC校驗電路系統12可為CRC生成器,該CRC生成器類似於受控器的CRC生成器以及未圖示的比較電路系統,因此如在受控器中的CRC生成器一般,該CRC生成器使用資料來生成CRC代碼以及隨後將該生成的CRC代碼與從該受控器接收到的CRC代碼作比較。或者,該CRC校驗電路系統12可為可接收CRC代碼與資料並且根據該CRC代碼與資料生成誤差指示的某其他電路系統。
如在本實施例中,CRC代碼始終在受控器20內生成,則該系統的功能取決於該主控器是發送寫入事務還是發送讀取事務。此功能分別在第2a圖與第2b圖中示意性地圖解。
第2a圖圖示類似於第1圖的電路系統之電路系統,其中主控器10傳輸寫入請求及資料到受控器20。該受控器20接收該資料並且在緩衝器26內緩衝該資料。CRC生成電路系統22生成CRC代碼並且將該代碼的片段傳輸回該主控器10。此舉當正在接收資料時發生。因此雖然該資料與CRC代碼在不同的方向中行進,但是其可在時間上交錯。
在該介面是單線而非雙向介面的情形中,該資料將在一個方向中行進,而該CRC代碼間歇地往回行進。控制電路系統28將校驗新的資料部分的到達,且若該等資料部分在所期望的時間到達,則該等資料部分將被儲存在緩衝器中,
以及已經存在於該緩衝器中的最舊的資料部分將被提交。就此而言,當CRC校驗是累積校驗時,接收到的後續資料部分越多,則可以越確定較舊的資料部分是正確的,因為每一CRC代碼不僅提供當前的資料部分之正確性的指示,亦提供先前的資料部分之正確性的指示。因此,當接收到的CRC代碼的數量增加時,早先接收到的資料部分中不存在誤差的機率亦增大。因此,緩衝器越大且在提交資料部分之前接收到的後續資料部分越多,則所提交的資料的可靠性越高。因此取決於所需誤差偵測置信度來選擇緩衝器大小。
主控器10傳輸寫入請求與資料,從受控器20接收回CRC片段,以及使用CRC校驗電路系統12校驗該等CRC片段。若偵測到誤差,則控制電路系統18將藉由不傳輸進一步資料達一預定時段來將此誤差傳訊給受控器20。控制電路系統28將回應於介面15上活動的停止而清空緩衝器26。控制電路系統18將隨後重傳寫入請求與資料。在一些實施方式中,主控器可以生成讀取請求以讀取狀態暫存器27,從而決定在受控器上是否存在其應注意到的錯誤。就此而言,受控器20可在必要時生成錯誤的CRC代碼來向主控器指示誤差,當主控器無法正確地接收資料時,可能是由於在受控器20內發生錯誤。
當已經傳輸完全寫入請求時,則控制電路系統18傳輸完整CRC請求,以向該受控器指示現已接收到所有資料並且可以輸出完整的CRC。回應於此,受控器20將輸出彼特定寫入請求所針對的資料的完整CRC。
隨後將發送新的請求,以及控制電路系統28將回應於接收到該新的請求而提交緩衝器26的內容。
第2b圖圖示當實施讀取時發生了什麼。因此,在此情況下,從主控器10發送讀取請求到受控器20,以及CRC生成電路系統生成CRC片段並且使用多工器24輸出其中交錯有該等CRC片段的讀取資料。在資料輸出的最後輸出完整的CRC代碼。在此情況下,儲存在緩衝器26中的資料為所讀取的資料,該資料儲存在緩衝器中以便假使在該資料的傳輸中存在誤差時可以再次重傳該資料。因此在此情況下,若偵測到誤差,不清空緩衝器。僅當該資料已經順利地傳輸時才可清空緩衝器。
在主控器10處接收CRC片段與資料,以及在緩衝器16內緩衝該資料。隨後將該資料與該等CRC片段一起輸入到CRC校驗電路系統12中,並且決定根據所接收到的資料生成的該等CRC片段是否匹配已經接收到的彼等CRC片段。若其不匹配,則發送誤差信號給控制電路系統18,控制電路系統18會清空緩衝器16並且重新提交讀取請求。若未偵測到誤差,則請求完滿。每次當接收到新的資料部分並且無誤差需傳訊時,提交緩衝器16中最舊的資料部分。當已經接收到完整的CRC代碼並且其指示所有接收到的資料是正確的時,控制電路系統18可以提交整個緩衝器16。或者,該控制電路系統18可以回應於產生新的事務請求而實行此舉。
第3圖圖示CRC生成電路系統22。此CRC生成電路系統22為多項式生成電路系統,其根據資料來生成多項式
形式的CRC,該CRC可用於辨識誤差。該電路系統的長度與該反饋迴路的位置取決於所使用的多項式並且將根據所需的誤差偵測能力來選擇。
藉由此電路系統累積地計算出的CRC代碼的片段從輸入端附近輸出到該電路系統,該CRC代碼片段與資料一起輸出。藉由當所有的資料已經穿過該電路系統時同時輸出所有的同步元素來輸出完整的CRC代碼。因此,該CRC生成電路系統22將輸出該等片段以及該完整的CRC。在其中資料與代碼在相同的器件處生成的情況中,多工器24將多工該等片段及資料並且將最後輸出完整的CRC。因此將輸出資料與CRC片段之串流以及隨後輸出完整的CRC代碼。對於接收裝置生成與輸出CRC代碼的情況,該等CRC代碼將在時間上與所接收到的資料一起交錯輸出。
第4圖圖示根據本發明的一實施例的資料處理系統。在此系統中存在除錯器40與待除錯的系統50,該除錯器40作用類似於第1圖與第2圖中的主控器,而該系統50作用類似於第1圖與第2圖中的受控器。除錯器40生成事務,該等事務被傳輸到正在被除錯的靶50。該靶包括正在被除錯的微處理器60且同樣包括:CRC生成電路系統52、控制電路系統58,以及緩衝器56a與56b。該CRC生成電路系統52用於決定在傳輸的測試資料中是否存在任何誤差。就此而言在除錯器與控制電路系統48內存在相應的CRC校驗電路系統42。亦存在緩衝器46。
在本實施例中,將包括大量讀取與寫入事務的資料
從除錯器40傳輸到待除錯的系統50,以及在寫入情形中所接收到的資料被儲存在緩衝器56a內,而在讀取情形中該資料在輸出之前儲存在緩衝器56b中。就此而言,在讀取失敗的情況中讀取資料是儲存在緩衝器56b中,因此可以重新請求該讀取資料以及從緩衝器56b發送該讀取資料。雖然緩衝器56a與56b圖示為兩個緩衝器,但其在一些實施例中可以實施為單一緩衝器。
在讀取情形中對將傳輸的資料實行CRC校驗,而在寫入情形中對接收到的資料實行CRC校驗,以及在本實施例中生成作為單一位元的CRC代碼片段由CRC生成電路系統52轉化為雙位元資料,以使得在此情況下用上升邊緣代表1,以及用下降邊緣代表0。此資料輸出回主控器40,在主控器40中將此資料輸入到CRC校驗電路系統42以決定在已經傳輸的資料中是否存在任何誤差。
亦將此時脈邊緣形式的CRC資料輸入到PLL電路系統47形式的時脈生成器中,該PLL電路系統47根據所接收到的資料的時脈邊緣生成時脈信號。以此方式,該除錯器40可以保持與除錯對象(Debuggee)同步,而無需專用的時脈信號。
此電路系統以與第2圖非常類似的方式作用,因此當由CRC校驗電路系統42在寫入資料中偵測到誤差時,控制電路系統48將藉由停止資料輸出來向裝置50指示誤差。該控制電路系統58將回應於該停止而清空緩衝器56a。或者,若資料中無停止,則該控制電路系統58將在接收到新的資料
時提交來自緩衝器56a的最舊的資料,並且該最舊的資料將被發送給微處理器60。
在該事務為讀取時,將從微處理器60讀取資料並且將經由緩衝器56b將該資料輸入到該CRC生成電路系統52中,以及時脈邊緣形式的CRC片段將與該資料交錯地輸出。所接收到的資料儲存在緩衝器46中。藉由CRC校驗電路系統42校驗所接收到的此資料,並且將向控制電路系統48指示任何誤差,該控制電路系統48將回應於該等誤差而清空緩衝器46並且重傳讀取請求。在此之前可傳輸讀取系統50中之狀態暫存器(未圖示)的請求,從而決定偵測的該誤差是否不是傳輸誤差而是錯誤。
第5圖圖示替代性的實施例,在該替代性的實施例中有兩個相互連接的裝置70與80,該等裝置各自分別包含CRC生成器72與82以及分別包含CRC校驗電路系統73與83。在此情況下,裝置70、80中的每一者可充當主控器或者受控器中的任意一者並且可生成寫入或者讀取請求。該等裝置配置成使得正傳輸資料的器件將亦傳輸交錯在該資料中的CRC片段,並且接收電路系統將校驗該等CRC片段與資料以及傳訊任何誤差。因此,當從裝置70發送寫入請求時,該資料將被發送為交錯有CRC片段的資料。所接收到的資料將在裝置80內緩衝,同時藉由CRC比較電路系統83校驗該資料。回應於在預定數量的資料部分之後未尋檢到誤差,將提交緩衝器中最舊的資料,以及當在資料寫入的最後發送完整的CRC代碼時,可以提交整個資料緩衝器。回應於在該資料中
尋檢到誤差,清空緩衝器。
若裝置70正在執行讀取請求,則將從裝置80發送資料與CRC代碼以及將在裝置70處比較該等資料與CRC代碼。該資料在被提交之前將在裝置70的資料緩衝器中緩衝,且若比較電路系統73決定CRC生成器72生成的CRC代碼與接收到的彼等CRC代碼不匹配,則其將清空該緩衝器並以新的讀取請求的形式傳訊誤差。然而若未偵測到誤差,則將在資料的最後傳輸完整的CRC代碼,並且回應於此可以提交裝置70中的緩衝器內的資料以及清空該資料。在來自裝置70的讀取請求期間,已經讀取的資料將被儲存在裝置80的緩衝器中,並且若存在誤差並且發送新的讀取請求,則將從此緩衝器發送此資料。可能重要的是對資料值的讀取可能如有時會發生的一樣改變該資料值。在此種情況下,重要的是緩衝已讀取的資料,以便若傳輸失敗,可以重新發送相同的資料。在裝置80不以此方式儲存資料的情況中,將不需要如此之緩衝器,因為可以簡單地重複讀取。
第6圖圖示流程圖,該流程圖圖解根據本發明的一實施例的方法之步驟。此方法為當回應於第1圖或第2圖的裝置中的讀取請求或者回應於第5圖中的任何請求時發生的方法。
最初傳輸資料並且將CRC演算法應用到該資料,以及該資料經輸出作為資料叢發,該資料叢發包括交錯有CRC代碼片段的資料部分之串流。在資料叢發的末尾輸出完整的CRC代碼。就此而言,若該事務不成功,則可藉由生成無效
的CRC代碼來向正在接收該資料的器件指示此不成功。回應於此,接收裝置將認定存在誤差。
該接收裝置接收包括資料部分與CRC片段的該資料串流。該接收裝置隨後使用該接收到的CRC片段與其自身生成的CRC片段來驗證所接收到的資料部分並且決定是否存在誤差。若存在,則清空該緩衝器。若不存在,則接收裝置決定該緩衝器是否已滿。若該緩衝器未滿,則接收裝置將該資料部分儲存在該緩衝器中。若該緩衝器已滿,則接收裝置將提交該緩衝器所儲存的最舊的資料部分並移除該最舊的資料部分,以及隨後將該資料部分儲存在該緩衝器中。若尚未到達叢發的末尾,則重複該過程以接收下一個資料部分及CRC片段。若已到達該叢發的末尾,則接收完整的CRC代碼。若該完整的CRC代碼是正確的,則接收裝置將提交該緩衝器以及隨後清空該緩衝器。若該完整的CRC代碼是不正確的,則已出現誤差並且該接收裝置將清空該緩衝器。
第7圖圖示流程圖,該流程圖圖解本發明的另一方法的步驟,並且該方法係關於第1圖或第2圖的寫入。在此情況下,決定是否已經在預定時間內接收到新的封包。若未接收到,則此為來自發射器的指示,指示在先前的叢發中存在誤差,因此清空緩衝器。此舉是指示誤差的便利方式,不需要編碼任何額外的信號。若已經接收到新的封包,則決定其是否請求完整CRC,在請求完整CRC的情況中傳輸完整CRC。否則該封包將包含新的資料部分。
若已經接收到新的資料部分,則決定該新的資料部
分是否是相同的資料叢發的部分。若是並且若緩衝器已滿,則提交儲存在彼緩衝器中的最舊的資料部分。
若該新的資料部分不是相同的叢發的部分,則必須提交該緩衝器的內容並且可清空該緩衝器。
當處理該等資料部分時,將誤差偵測代碼演算法應用到該資料串流的資料部分以生成誤差校驗代碼,以及輸出該誤差校驗代碼的片段,該片段可指示剛接收到的資料部分以及在相同的叢發內的任何早先資料部分中的誤差。
隨後輸出根據彼資料部分計算出的誤差校驗代碼的片段,並且將該資料部分儲存到緩衝器中。隨後重新決定是否在預定時間內接收到新的資料部分。
應注意的是當接收資料的器件生成誤差校正代碼並且傳輸該等誤差校正代碼時,藉由已發送該資料的器件偵測該等代碼中的任何誤差,因此需要以某種方式傳訊誤差。在本實施例中,藉由停止資料接收來傳訊該等誤差。因此,在預定時間內接收到的每一新的資料部分指示未偵測到誤差,以及因此此後當可以相當地確定該緩衝器中的一定數量的資料部分中不存在誤差時,可以提交該等資料部分。
此外,若例如器件在提交來自緩衝器之資料時偵測到錯誤而使其無法接收所傳輸的資料,則該器件可生成錯誤的CRC代碼並且可以將該錯誤的指示儲存在狀態暫存器中。該等步驟亦未圖示。該發射器可以回應於在接收到的CRC代碼中偵測到誤差而生成讀取請求以讀取狀態暫存器。
隨附申請專利範圍中界定了本發明的各種其他態樣
與特徵。在不脫離本發明的範疇的情況下,可以對之前描述的本文的實施例做出各種修改。
10‧‧‧主控器
12‧‧‧CRC校驗電路系統
15‧‧‧介面
16‧‧‧緩衝器
18‧‧‧控制電路系統
20‧‧‧受控器
22‧‧‧循環冗餘校驗生成電路系統/CRC生成器/CRC生成器電路系統/CRC代碼生成電路系統/CRC生成電路系統
24‧‧‧多工器
26‧‧‧緩衝器
28‧‧‧控制電路系統
31‧‧‧輸入埠
32‧‧‧輸出埠
Claims (37)
- 一種用於提供誤差校驗值以指示一資料串流中的資料部分內的誤差的電路系統,該電路系統包括:誤差偵測代碼生成電路系統,配置成將一誤差偵測代碼演算法應用到該資料串流以及由此當處理該資料串流時生成並週期性地更新一多位元校驗值,該多位元校驗值的每一次更新指示該誤差偵測代碼生成電路系統接收該資料串流的又一項目;一輸出端,用於在該資料串流的該處理期間週期性地自該誤差偵測代碼生成電路系統輸出該多位元校驗值的一片段,該等輸出片段各自對應於該資料串流的一資料部分;其中該多位元校驗值的該等片段的每一者提供一值,該值指示發生在該資料串流的該相應部分中或者在該資料串流的一早期部分中的一誤差。
- 如任一先前請求項所述的電路系統,其中該資料串流輸入到該誤差偵測代碼生成電路系統中以作為包括該等資料部分的一串列串流,一個資料部分直接地緊接在該資料串流中的一先前的資料部分之後輸入。
- 如任一先前請求項所述的電路系統,其中該誤差偵測代碼演算法是一循環冗餘校驗演算法,以及該誤差偵測代碼生成電路系統是循環冗餘校驗生成電路系統。
- 如請求項1所述之電路系統,其中該資料串流包括以下各項中的一個:一資料叢發,以及資料的一連續串流。
- 如請求項1所述之電路系統,其中該片段包括一單一位元。
- 如請求項1所述之電路系統,其中該誤差偵測代碼生成電路系統包括配置用於處理該資料串流的串聯連接的同步邏輯電路,該誤差偵測代碼生成電路系統進一步包括配置用於接收該資料串流的一資料輸入端以及至少一個反饋電路系統,該反饋電路系統配置用於將來自該等串聯連接的同步邏輯電路中的一個的一輸出值反饋給靠近該資料輸入端的該等串聯連接的同步邏輯電路的至少一個的一輸入端以使得在該處理期間該值與該資料串流組合,該片段從該等串聯連接的同步邏輯電路的至少一個的一輸出端輸出。
- 如請求項1所述之電路系統,其中該資料串流包括一資料叢發,以及該誤差偵測代碼生成電路系統配置用於輸出已經處理過該資料叢發的該完整的多位元校驗值。
- 一種資料處理裝置,該裝置包括如任一先前請求項所述的電路系統、配置用於接收包括該資料串流的資料的一輸入埠以及一輸出埠,其中,該資料處理裝置配置成回應於在該 輸入埠處接收到該資料串流而生成該多位元校驗值之該等片段以及將該多位元校驗值之該等片段在該輸出埠處輸出。
- 如請求項8所述之資料處理裝置,其中該資料處理裝置進一步包括:緩衝電路系統,配置用於儲存該資料串流的該等資料部分;以及控制電路系統,配置用於回應於接收又一資料部分而提交一最近最少接收到的所儲存的資料部分。
- 如請求項9所述之資料處理裝置,其中該控制電路系統配置用於取決於一所需的誤差偵測能力而在任一時刻改變儲存在該緩衝器中的大量資料部分。
- 如請求項9或10所述的資料處理裝置,該控制電路系統配置用於回應於接收到在該輸入埠處接收到的一誤差指示而清除該緩衝電路系統中的該等所儲存的資料部分。
- 如請求項11所述之資料處理裝置,其中在該輸入埠處從一資料介面接收該資料串流,以及該誤差指示包括在該資料介面上沒有活動達一預定時間。
- 如請求項9所述之資料處理裝置,該控制電路系統配置用於回應於接收到在該輸入埠處接收到的一確認指示而提交並清空該緩衝電路系統中所儲存的該等資料部分。
- 如請求項13所述之資料處理裝置,其中該資料串流包括一資料叢發,以及該確認指示包括在該輸入端上接收又一資料叢發。
- 如請求項8所述之資料處理裝置,該電路系統配置用於當用與該資料項有關的一指示符請求該完整的多位元值時辨識在該輸入埠處接收到的一資料項,以及藉由輸出該完整的多位元校驗值來回應該請求。
- 如請求項8所述之資料處理裝置,其中該資料處理裝置配置用於回應於錯誤處理該資料串流的至少一部分而控制該電路系統輸出該多位元校驗值的一不正確的片段。
- 如請求項8所述之資料處理裝置,其中該輸入埠進一步配置用於接收資料事務,而該輸出埠進一步配置用於回應於該等資料事務中的一個來輸出包括該資料串流、該等多位元校驗值之該等片段及該等多位元校驗值的資料之一串流。
- 如請求項17所述之資料處理裝置,其中該資料處理裝置配置用於將該資料串流輸出為交錯有該多位元校驗值之該等 相應片段並且繼之以該多位元校驗值的複數個該等資料部分。
- 如請求項8所述之資料處理裝置,其中該多位元校驗值的該片段包括一單一位元值,該資料處理裝置包括輸出電路系統,該輸出電路系統配置用於在輸出該片段之前從該單一位元生成一雙位元值,該雙位元值包括兩個位元,該兩個位元各自具有一不同的值並且在該兩個位元之間具有一上升或者下降邊緣,該上升或下降邊緣與為該資料處理裝置計時的一時脈信號同步。
- 一種資料處理系統,該系統包括如請求項8到19中任意一項所述的一資料處理裝置以及配置用於將該資料串流輸出到該資料處理裝置的另一資料處理裝置,其中該另一資料處理裝置配置用於接收該多位元校驗值的該等片段,以及回應於偵測到一誤差而提供該誤差的一指示。
- 如請求項20所述的資料處理系統,其中該另一資料處理裝置配置用於藉由停止該資料串流的輸出達一預定時間來提供該誤差的該指示,以及該資料處理裝置是如請求項12所述的一資料處理裝置。
- 如請求項20或21所述的資料處理系統,其中該另一資料處理裝置配置用於在該複數個資料部分的輸出之後輸出對 該完整的多位元校驗值的一請求,該請求包括指示該請求的一指示符。
- 如請求項20所述的資料處理系統,其中該資料處理裝置包括如請求項19所述的資料處理裝置,而該另一資料處理裝置包括一時脈生成器,該時脈生成器用於根據一接收到的時脈信號來生成一時脈信號,其中所接收的該多位元校驗值的該等片段各自包括具有兩個不同位元的一雙位元值以及在該兩個位元之間的一上升或者下降邊緣,該時脈生成器配置用於調節該時脈信號,以使該時脈信號與該等上升或下降邊緣中的至少一些同步。
- 如請求項20所述的資料處理系統,該另一資料處理裝置配置用於回應於在所接收到的該多位元校驗值的該等片段中偵測到一誤差輸出一讀取請求,以讀取該靶器件的一狀態暫存器。
- 如請求項20所述的資料處理系統,其中該另一資料處理裝置包括一除錯裝置,而該資料處理裝置包括一待除錯的微處理器。
- 一種資料處理裝置,該裝置包括如請求項1到7中的任意一項所述的電路系統,並且該資料處理裝置進一步包括: 一輸出埠,配置用於輸出包括該資料串流、該等多位元校驗值的該等片段以及該多位元校驗值的一資料串流。
- 如請求項26所述之資料處理裝置,其中該資料處理裝置配置用於將該資料串流輸出為交錯有該多位元校驗值之該等相應片段並且繼之以該多位元校驗值的該資料串流的複數個該等部分。
- 一種資料處理系統,該系統包括一如請求項26或27所述的資料處理裝置,以及與該資料處理裝置通訊的另一資料處理裝置,並且包括一輸入埠與誤差偵測電路系統,該輸入埠用於接收該資料串流與該多位元校驗值,該誤差偵測電路系統配置用於取決於該資料串流與該多位元校驗值的該等片段而校驗所接收的該資料串流中的誤差並且回應於偵測到一誤差而提供一誤差指示到該資料處理裝置。
- 如請求項28所述的資料處理系統,其中該另一資料處理裝置包括:緩衝電路系統,配置用於儲存該資料串流的該等資料部分;以及控制電路系統,配置用於回應於接收又一資料部分而提交一最近最少接收到的所儲存的資料部分。
- 如請求項29所述的資料處理系統,其中該控制電路系統配置用於取決於一所需的誤差偵測能力而在任一時刻改變儲存在該緩衝器中的大量資料部分。
- 如請求項29或30中的任意一項所述的資料處理系統,該控制電路系統配置用於回應於接收到在該輸入埠處接收到的一確認指示而提交並清空該緩衝電路系統中所儲存的該等資料部分。
- 如請求項31所述的資料處理系統,其中該資料串流包括一資料叢發,以及該確認指示包括在該輸入埠上接收又一資料叢發。
- 一種用於提供誤差校驗值以指示一資料串流中的資料部分內的誤差的方法,該方法包括以下步驟:藉由將一誤差偵測代碼演算法應用到該資料串流來處理該資料串流以及由此當處理該資料串流時生成並週期性地更新一多位元校驗值,從而生成一誤差偵測代碼,該多位元校驗值的每一次更新指示該誤差偵測代碼演算法是應用到該資料串流的又一項目;在該資料串流的該處理期間週期性地輸出該多位元校驗值的一片段,該等輸出的片段各自對應於該資料串流的一資料部分;其中 該多位元校驗值的該等片段的每一者提供一值,該值指示發生在該資料串流的該相應部分中或者在該資料串流的一早期部分中的一誤差。
- 如請求項33所述的方法,其中該資料串流包括包含該等資料部分的一串列串流,以及該方法包括以下步驟:將該演算法應用到作為該等資料部分的連續資料部分的該串列資料串流。
- 如請求項33或34所述的方法,其中該誤差偵測代碼演算法是一循環冗餘校驗演算法。
- 如請求項33所述的方法,其中該資料串流包括以下各項中的一個:一資料叢發,以及資料的一連續串流。
- 一種電腦程式產品,該電腦程式產品包括一電腦程式,該電腦程式當由一資料處理裝置執行時可操作用於控制該資料處理裝置執行如請求項33到36中任意一項所述的方法中的步驟。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1318060.9A GB2519140B (en) | 2013-10-11 | 2013-10-11 | Cumulative error detection in data transmission |
??1318060.9 | 2013-10-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201519581A true TW201519581A (zh) | 2015-05-16 |
TWI650953B TWI650953B (zh) | 2019-02-11 |
Family
ID=49679940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103129969A TWI650953B (zh) | 2013-10-11 | 2014-08-29 | 資料傳輸中之累積誤差偵測 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9465690B2 (zh) |
CN (1) | CN105612697B (zh) |
GB (1) | GB2519140B (zh) |
TW (1) | TWI650953B (zh) |
WO (1) | WO2015052477A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI637267B (zh) * | 2017-06-29 | 2018-10-01 | 上海兆芯集成電路有限公司 | 具近資料端處理引擎的晶片組 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10783030B2 (en) * | 2014-03-12 | 2020-09-22 | Sensia Llc | Network synchronization for master and slave devices |
JP2016149051A (ja) * | 2015-02-13 | 2016-08-18 | 富士通株式会社 | ストレージ制御装置、ストレージ制御プログラム、およびストレージ制御方法 |
KR20170133545A (ko) * | 2016-05-25 | 2017-12-06 | 에스케이하이닉스 주식회사 | 반도체장치 및 반도체시스템 |
JP2023100303A (ja) * | 2022-01-06 | 2023-07-19 | ローム株式会社 | メイン装置、サブ装置、及び通信システム |
US11817952B2 (en) * | 2022-01-31 | 2023-11-14 | Dialog Semiconductor (Uk) Limited | Systems and methods for providing end-to-end data protection |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6560742B1 (en) * | 1999-12-09 | 2003-05-06 | International Business Machines Corporation | Parallel system and method for cyclic redundancy checking (CRC) generation |
JP3297668B2 (ja) * | 2000-04-26 | 2002-07-02 | 松下電器産業株式会社 | 符号/復号化装置及び符号/復号化方法 |
US6684363B1 (en) * | 2000-10-25 | 2004-01-27 | Sun Microsystems, Inc. | Method for detecting errors on parallel links |
US6701478B1 (en) * | 2000-12-22 | 2004-03-02 | Nortel Networks Limited | System and method to generate a CRC (cyclic redundancy check) value using a plurality of CRC generators operating in parallel |
US6961893B1 (en) * | 2002-03-28 | 2005-11-01 | Adaptec, Inc. | Separable cyclic redundancy check |
US6938197B2 (en) * | 2002-08-01 | 2005-08-30 | Lattice Semiconductor Corporation | CRC calculation system and method for a packet arriving on an n-byte wide bus |
US7191383B2 (en) * | 2003-03-28 | 2007-03-13 | International Business Machines Corporation | System and method for optimizing iterative circuit for cyclic redundancy check (CRC) calculation |
US7571370B2 (en) * | 2003-06-19 | 2009-08-04 | Lsi Logic Corporation | Configurable, fast, 32-bit CRC generator for 1-byte to 16-bytes variable width input data |
US7434150B1 (en) * | 2004-03-03 | 2008-10-07 | Marvell Israel (M.I.S.L.) Ltd. | Methods, circuits, architectures, software and systems for determining a data transmission error and/or checking or confirming such error determinations |
US7266760B1 (en) * | 2004-09-30 | 2007-09-04 | Altera Corporation | Method and apparatus for calculating cyclic redundancy checks for variable length packets |
US8667363B2 (en) * | 2004-11-24 | 2014-03-04 | Qualcomm Incorporated | Systems and methods for implementing cyclic redundancy checks |
WO2006125157A2 (en) * | 2005-05-18 | 2006-11-23 | Telegent Systems, Inc. | Erasure generation in a forward-error-correcting communication system |
US7802167B1 (en) * | 2006-02-08 | 2010-09-21 | Pmc-Sierra Us, Inc. | Apparatus and method for detecting extended error bursts |
WO2007136166A1 (en) * | 2006-05-23 | 2007-11-29 | Lg Electronics Inc. | Digital broadcasting system and method of processing data |
US7840873B2 (en) * | 2006-12-13 | 2010-11-23 | Globalfoundries Inc. | Partial CRC insertion in data packets for early forwarding |
US7913150B2 (en) * | 2007-03-13 | 2011-03-22 | Advanced Micro Devices, Inc. | Error detection in a communications link |
US8095846B2 (en) * | 2007-06-08 | 2012-01-10 | Cortina Systems, Inc. | Data coding apparatus and methods |
US8386878B2 (en) * | 2007-07-12 | 2013-02-26 | Samsung Electronics Co., Ltd. | Methods and apparatus to compute CRC for multiple code blocks |
KR100928261B1 (ko) * | 2007-09-08 | 2009-11-24 | 엘지전자 주식회사 | 비검출 오류 저감을 위한 신호 분할 및 crc 부착 방법 |
US7853857B2 (en) * | 2007-09-14 | 2010-12-14 | Motorola Mobility, Inc. | Multi-layer cyclic redundancy check code in wireless communication system |
US8261154B2 (en) * | 2007-11-12 | 2012-09-04 | Motorola Mobility Llc | Continuous redundancy check method and apparatus |
US8261175B2 (en) * | 2008-11-14 | 2012-09-04 | Intel Mobile Communications GmbH | Method and apparatus for performing a CRC check |
CN102281121B (zh) * | 2010-06-13 | 2014-10-29 | 中兴通讯股份有限公司 | 一种数据文件传输和校验的方法、设备及系统 |
US8468439B2 (en) * | 2011-06-02 | 2013-06-18 | Nexus Technology, Inc. | Speed-optimized computation of cyclic redundancy check codes |
US8856609B2 (en) * | 2011-11-21 | 2014-10-07 | Broadcom Corporation | Accelerated cyclical redundancy check |
WO2013129781A1 (ko) * | 2012-03-02 | 2013-09-06 | 엘지전자 주식회사 | 모바일 방송을 통하여 긴급 경보 서비스를 제공하는 장치 및 방법 |
-
2013
- 2013-10-11 GB GB1318060.9A patent/GB2519140B/en active Active
-
2014
- 2014-08-13 WO PCT/GB2014/052476 patent/WO2015052477A1/en active Application Filing
- 2014-08-13 CN CN201480054776.XA patent/CN105612697B/zh active Active
- 2014-08-18 US US14/462,205 patent/US9465690B2/en active Active
- 2014-08-29 TW TW103129969A patent/TWI650953B/zh active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI637267B (zh) * | 2017-06-29 | 2018-10-01 | 上海兆芯集成電路有限公司 | 具近資料端處理引擎的晶片組 |
US10521370B2 (en) | 2017-06-29 | 2019-12-31 | Shanghai Zhaoxin Semiconductor Co., Ltd. | Chipset with near-data processing engine |
US10678717B2 (en) | 2017-06-29 | 2020-06-09 | Shanghai Zhaoxin Semiconductor Co., Ltd. | Chipset with near-data processing engine |
Also Published As
Publication number | Publication date |
---|---|
CN105612697A (zh) | 2016-05-25 |
TWI650953B (zh) | 2019-02-11 |
US20150106682A1 (en) | 2015-04-16 |
GB2519140A (en) | 2015-04-15 |
GB2519140B (en) | 2021-03-10 |
GB201318060D0 (en) | 2013-11-27 |
WO2015052477A1 (en) | 2015-04-16 |
CN105612697B (zh) | 2020-01-03 |
US9465690B2 (en) | 2016-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI650953B (zh) | 資料傳輸中之累積誤差偵測 | |
EP3566138B1 (en) | Transaction identification synchronization | |
US11088782B2 (en) | Use of a cyclic redundancy code multiple-input shift register to provide early warning and fail detection | |
US7821919B2 (en) | Data processing apparatus and data processing method | |
WO2006096879A1 (en) | System and method for tolerating communication lane failures | |
US10419035B2 (en) | Use of multiple cyclic redundancy codes for optimized fail isolation | |
TWI442733B (zh) | 通訊裝置及系統 | |
JPH0328094B2 (zh) | ||
US20100138573A1 (en) | System including transmitter and receiver | |
US11663100B2 (en) | Serial interface with improved diagnostic coverage | |
US7120846B2 (en) | Data transmission device, data receiving device, data transfer device and method | |
CN108337069B (zh) | 一种改进的降低误码率的末端并行分组crc校验系统 | |
US10516789B2 (en) | Information processing apparatus and image processing apparatus that perform transmission and reception of data, and method of controlling information processing apparatus | |
US8484546B2 (en) | Information processing apparatus, information transmitting method, and information receiving method | |
US9941903B1 (en) | Distributed burst error protection | |
Fu et al. | Burst error detection hybrid ARQ with crosstalk-delay reduction for reliable on-chip interconnects | |
US6601217B1 (en) | System and method for error correction in an electronic communication | |
US8429484B2 (en) | Digitized radar information redundancy method and system | |
US10320528B2 (en) | Fault tolerant communication channel | |
WO2023020202A1 (zh) | 集成电路、通信方法和通信系统 | |
CN105634652A (zh) | 数据链路层高性能容错的方法 | |
CN108616324A (zh) | 数据链路层高性能容错的方法 | |
CN114499754A (zh) | 弹上遥测采编传感数据传输方法及系统 | |
JP2009042855A (ja) | 回路間データ転送方法およびシステム | |
CN105634653A (zh) | 数据链路层高性能容错的方法 |