TWI689180B - 在一經符號編碼之傳輸流中輸送錯誤校正碼之高效記憶體之方法 - Google Patents
在一經符號編碼之傳輸流中輸送錯誤校正碼之高效記憶體之方法 Download PDFInfo
- Publication number
- TWI689180B TWI689180B TW104140512A TW104140512A TWI689180B TW I689180 B TWI689180 B TW I689180B TW 104140512 A TW104140512 A TW 104140512A TW 104140512 A TW104140512 A TW 104140512A TW I689180 B TWI689180 B TW I689180B
- Authority
- TW
- Taiwan
- Prior art keywords
- error correction
- processor
- data
- symbols
- correction codes
- Prior art date
Links
Images
Classifications
-
- 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
-
- 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
- H04L1/0043—Realisations of complexity reduction techniques, e.g. use of look-up tables
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block 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/47—Error detection, forward error correction or error protection, not provided for in groups H03M13/01 - H03M13/37
- H03M13/51—Constant weight codes; n-out-of-m codes; Berger codes
-
- 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/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0009—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
-
- 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
-
- 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
- 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/0057—Block codes
-
- 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/0064—Concatenated 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/13—Linear codes
- H03M13/19—Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Error Detection And Correction (AREA)
Abstract
本發明提供一種在一傳輸流中輸送複數個錯誤校正碼(error correction code;ECC)之方法,該方法包含:將來自一資料源之一資料流編碼成複數個資料符號;自該等資料符號產生複數個第一錯誤校正碼;將該等第一錯誤校正碼編碼成複數個第一錯誤校正碼符號;將該等資料符號與該等第一錯誤校正碼符號合併成該傳輸流,該等第一錯誤校正碼符號係在該等資料符號之前被合併至該傳輸流中;以及經由一通信鏈路將已合併之該傳輸流傳送至一接收槽裝置(sink device),該等第一錯誤校正碼符號係在該等資料符號之前被傳送。
Description
本申請案主張2015年12月4日提出申請之第62/087,772號美國臨時申請案之優先權及權利,該美國臨時申請案之全部內容以引用方式併入本文中。
本申請案亦與2015年5月27日提出申請之第14/723,075號美國專利申請案相關,該美國專利申請案之全部內容以引用方式併入本文中。
本發明實施例之態樣係關於在一經符號編碼之傳輸流中輸送錯誤校正碼之方法。
可使用一串列資料鏈路來實施高速資料傳輸(例如,一次一個位元,諸如以一光纖纜線鏈路)。一資料流可由已串列化次序(「位元組」)之若干位元群組(例如,8位元群組)構成。在傳送之前,可使用DC平衡(諸如對於8b/10b編碼)來對資料流(「資料位元組」)進行編碼(例如,可將8位元位元組轉換為10位元符號),俾使正傳送之0位元(即,表示一二進制值「0」之位元)之數目等於(或實質上等於,諸如相差不多於一或二個)
正傳送之1位元(即,表示一二進制值「1」之位元)之數目,且其中不存在0位元或1位元之單一叢發(例如,不多於五個連續之0位元或1位元)。隨後,在接收側上對經編碼資料流進行解碼(諸如以一對應10b/8b進行解碼),以恢復原始資料流。舉例而言,此等技術可有助於進行DC平衡、時脈恢復及相位恢復,諸如有助於接收裝置確定所傳送之經編碼資料之傳輸速率。
在資料傳輸中,可使用諸如漢明(hamming)碼、雷德-所羅門(reed-solomon)碼、或低密度同位檢查(low-density parity-check;LDPC)碼等正向錯誤校正(forward error correction;FEC)碼來藉由提供用於錯誤檢查及錯誤校正之冗餘位元或位元組(「同位位元」或「同位位元組」)而提高通信之可靠性。此等同位位元或位元組附隨於資料傳輸(資料位元或位元組),且使接收器能夠驗證已發送正確資料,且甚至可使接收器能夠校正傳輸中之一有限數目個錯誤。漢明碼係為相對簡單而有效的,但僅校正一有限數目個錯誤(例如,幾個位元)。雷德-所羅門碼及低密度同位檢查碼較漢明碼係為計算密集的,但使得能夠偵測或校正顯著更多之錯誤(例如,全部位元組)。
正向錯誤校正亦可與DC平衡組合。舉例而言,可為一資料流(資料位元組)產生用於正向錯誤校正之同位位元或位元組,且在傳送之前經由DC平衡將資料加同位位元或位元組編碼成複數個符號。隨後,接收器對該等符號進行解碼,並使用經解碼之同位位元或位元組對經解碼之資料位元或位元組執行錯誤偵測與校正。然而,此會引入一項關於在資料傳輸期間引入錯誤的問題。舉例而言,一損壞之符號可被映射至一無效符號、或被映射至表示一不同位元組之一有效符號,由此在傳輸中造成小至一單位元錯誤之問題,進而在所接收資料及同位中產生多位元錯誤(例如,
一整個位元組,其可包含8個單獨的位元錯誤)。此可能給低成本正向錯誤校正演算法(諸如漢明碼)帶來問題,或迫使使用一種更複雜之正向錯誤校正演算法(諸如雷德-所羅門或低密度同位檢查)來提供自一或多個位元組錯誤而非僅幾個位元錯誤進行恢復之能力,此會增加編碼器及解碼器複雜度。
此先前技術章節中所揭示之上述資訊僅用於增強對本發明背景之理解,且因此其可含有並不形成此項技術中具有通常知識者已知的先前技術之資訊。
本發明實施例之態樣係關於一種在一經符號編碼之傳輸流中輸送錯誤校正碼(error correction code;ECC)之高效記憶體之方法。
本發明實施例之態樣係關於一種將一正向錯誤碼(forward error code;FEC)演算法函數置於將該資料流編碼成複數個符號之後,且自複數個符號解碼出資料流之前,並將藉由該正向錯誤碼演算法產生之一錯誤校正碼(ECC)插入至該主資料流中的方法。更進一步地,本發明之其他實施例係關於產生一經編碼傳輸流之一錯誤校正碼、提早於該經編碼傳輸流前輸送該等錯誤校正碼、提取並緩衝該等錯誤校正碼、以及在接收到該傳輸流時在進行解碼之前使用該等錯誤校正碼來校正該傳輸流中之位元錯誤(下文中稱作「基於符號之錯誤校正(symbol-based error correction)」)。藉由在該經編碼傳輸流之前傳送該等錯誤校正碼,在執行錯誤校正時,接收器處之緩衝器可僅儲存該等錯誤校正碼而不儲存該傳輸流。由此縮減該接收器處之該緩衝記憶體之大小,且因此,縮減該接收器之大小及複雜度,並縮減整體系統成本。
其他實施例係關於縮減校正一高速傳輸流之成本及延遲。舉例而言,某些實施例係關於藉由使一種簡單正向錯誤校正演算法(諸如進行1位元或2位元錯誤校正或偵測之一漢明碼)能夠校正一經編碼傳輸流來縮減成本。如此,可避免更複雜之正向錯誤校正演算法(諸如雷德-所羅門或低密度同位檢查),而這可使一等效編碼/解碼解決方案之複雜度(例如,邏輯閘計數)縮減一數量級。此亦可使得能夠避免高延遲解決方案,諸如水平及垂直同位檢查(及其相關聯之大封包緩衝量)。
根據本發明之某些實例性實施例,提供一種在一傳輸流中輸送複數個錯誤校正碼(error correction code;ECC)之方法,該方法包含:由一處理器將來自一資料源之一資料流編碼成複數個資料符號;由該處理器自該等資料符號產生複數個第一錯誤校正碼;由該處理器將該等第一錯誤校正碼編碼成複數個第一錯誤校正碼符號;由該處理器將該等資料符號與該等第一錯誤校正碼符號合併成該傳輸流,該等第一錯誤校正碼符號係在該等資料符號之前被合併至該傳輸流中;以及由該處理器經由一通信鏈路將已合併之該傳輸流傳送至一接收槽裝置(sink device),該等第一錯誤校正碼符號係在該等資料符號之前被傳送。
在一實施例中,該將該資料流編碼成該等資料符號之步驟與該將該等第一錯誤校正碼編碼成該等第一錯誤校正碼符號之步驟包含一相同之編碼技術。
在一實施例中,該方法更包含:由該處理器自該等第一錯誤校正碼產生複數個第二錯誤校正碼;以及由該處理器將該等第二錯誤校正碼編碼成複數個第二錯誤校正碼符號,其中該合併該等資料符號與該等第一錯誤校正碼符號之步驟包含由該處理器將該等第二錯誤校正碼符號合併
至該傳輸流中。
在一實施例中,該編碼該等第一錯誤校正碼之步驟包含由該處理器將一第一控制符號在該等第一錯誤校正碼符號之前插入至該傳輸流中,並將一第二控制符號在該等第一錯誤校正碼符號與該等資料符號之間插入至該傳輸流中。
在一實施例中,該傳送已合併之該傳輸流之步驟包含:由該處理器將已合併之該傳輸流串列化;以及由該處理器經由一串列資料鏈路將已串列化之該傳輸流傳送至該接收槽裝置。
在一實施例中,該方法更包含由該處理器在一資料流緩衝器中緩衝該資料符號。
根據本發明之某些實例性實施例,提供一種用於自一傳輸流提取一資料流之方法,該傳輸流包含複數個輸送錯誤校正碼(error correction code;ECC),該方法包含:由一接收槽裝置之一處理器經由一通信鏈路自一源裝置接收該傳輸流;由該處理器自所接收之該傳輸流提取複數個錯誤校正碼符號;由該處理器將該等錯誤校正碼符號解碼成複數個第一錯誤校正碼;由該處理器緩衝該等第一錯誤校正碼;由該處理器自該傳輸流提取複數個資料符號;由該處理器以所緩衝之該等第一錯誤校正碼來校正該等資料符號中之錯誤;以及由該處理器將已校正之該等資料符號解碼成一資料流,以供由該接收槽裝置輸出。
在一實施例中,該將該等第一錯誤校正碼符號解碼成該等第一錯誤校正碼之步驟與該將已校正之該等資料符號解碼成該資料流之步驟包含一相同之解碼技術。
在一實施例中,該解碼該等第一錯誤校正碼符號之步驟包含:由該處理器將該等錯誤校正碼符號解碼成複數個第二錯誤校正碼;以及由該處理器以該等第二錯誤校正碼來校正該等第一錯誤校正碼中之錯誤,且緩衝該等第一錯誤校正碼之步驟包含由該處理器緩衝已校正之該等第一錯誤校正碼,且該校正該等資料符號中之該等錯誤之步驟包含由該處理器以所緩衝之已校正之該等第一錯誤校正碼來校正該等資料符號中之該等錯誤。
在一實施例中,該提取該等錯誤校正碼符號之步驟包含由該處理器自該傳輸流識別位於第一錯誤校正碼符號與該等資料符號之間的一控制符號。
在一實施例中,該接收該傳輸流之步驟包含:由該處理器經由一串列資料鏈路,自該源裝置接收該傳輸流;以及由該處理器將所接收之該傳輸流解串列化。
根據本發明之某些實例性實施例,提供一種在一傳輸流中輸送複數個錯誤校正碼(error correction code;ECC)之方法,該方法包含:由一源裝置之一第一處理器將來自一資料源之一資料流編碼成複數個第一資料符號;由該第一處理器自該等第一資料符號產生複數個錯誤校正碼;由該第一處理器在該源裝置處緩衝該等錯誤校正碼,直至已滿足一判據為止;由該第一處理器將該等第一資料符號與所緩衝之該等錯誤校正碼合併成該傳輸流,所緩衝之該等錯誤校正碼係在該等第一資料符號之前被合併至該傳輸流中;由該第一處理器經由一通信鏈路將已合併之該傳輸流傳送至一接收槽裝置,所緩衝之該等錯誤校正碼係在該等第一資料符號之前被傳送;由該接收槽裝置之一第二處理器自該源裝置接收所接收之一傳輸
流;由該第二處理器自所接收之該傳輸流提取該等錯誤校正碼;由該第二處理器在該接收槽裝置處緩衝該等錯誤校正碼;由該第二處理器自所接收之該傳輸流提取複數個第二資料符號;由該第二處理器以該接收槽裝置處所緩衝之該等錯誤校正碼來校正該等第二資料符號中之錯誤;以及由該第二處理器將已校正之該等第二資料符號解碼成已校正之一資料流,以供由該接收槽裝置輸出。
在一實施例中,該合併該等第一資料符號與所緩衝之該等錯誤校正碼之步驟包含:由該第一處理器將該源裝置處所緩衝之該等錯誤校正碼與複數個控制符號一起形成訊框;以及由該第一處理器將該等第一資料符號與已形成訊框之該等錯誤校正碼合併成該傳輸流。
在一實施例中,將所緩衝之該等錯誤校正碼形成訊框之步驟包含由該第一處理器將該等控制符號其中之一第一控制符號在所緩衝之該等錯誤校正碼之前且將該等控制符號其中之一第二控制符號在所緩衝之該等錯誤校正碼之後插入至該傳輸流中。
在一實施例中,該傳送已合併之該傳輸流之步驟包含:由該第一處理器將已合併之該傳輸流串列化;以及由該第一處理器經由一串列資料鏈路將已串列化之該傳輸流傳送至該接收槽裝置。
在一實施例中,該方法更包含由該第一處理器在一資料流緩衝器中緩衝該等第一資料符號。
在一實施例中,該判據包含以下各項其中之一或多者:該等錯誤校正碼達到一預設長度、該等錯誤校正碼未處於充足DC平衡、以及該等錯誤校正碼中轉變之一數目低於一預設值。
在一實施例中,自所接收之該傳輸流提取該等錯誤校正碼之步驟包含:由該第二處理器自所接收之該傳輸流提取複數個已形成訊框之錯誤校正碼;以及由該第二處理器藉由以下操作將已形成訊框之該等錯誤校正碼自訊框拆解(deframe)成該等錯誤校正碼:識別並移除位於已形成訊框之該等錯誤校正碼之前的一第一控制符號及位於已形成訊框之該等錯誤校正碼之後的一第二控制符號。
根據本發明之某些實例性實施例,提供一種在一傳輸流中輸送複數個錯誤校正碼(error correction code;ECC)之方法,該方法包含:由一符號編碼器將來自一資料源之一資料流編碼成複數個資料符號;由一錯誤校正碼編碼器自該等資料符號產生複數個第一錯誤校正碼;由該符號編碼器將該等第一錯誤校正碼編碼成複數個第一錯誤校正碼符號;由一多工器將該等資料符號與該等第一錯誤校正碼符號合併成該傳輸流,該等第一錯誤校正碼符號係在該等資料符號之前被合併至該傳輸流中;以及由一傳送器經由一通信鏈路將已合併之該傳輸流傳送至一接收槽裝置,該等第一錯誤校正碼符號係在該等資料符號之前被傳送。
根據本發明之某些實例性實施例,提供一種用於自一傳輸流提取一資料流之方法,該傳輸流包含複數個輸送錯誤校正碼(error correction code;ECC),該方法包含:由一接收器經由一通信鏈路自一源裝置接收該傳輸流;由一處理器自所接收之該傳輸流提取複數個錯誤校正碼符號;由一符號解碼器將該等錯誤校正碼符號解碼成複數個第一錯誤校正碼;由一緩衝記憶體緩衝該等第一錯誤校正碼;由該處理器自該傳輸流提取複數個資料符號;由一錯誤校正碼解碼器以所緩衝之該等第一錯誤校正碼來校正該等資料符號中之錯誤;以及由該符號解碼器將已校正之該等資料符號解
碼成一資料流,以供由該接收槽裝置輸出。
因此,本發明之實施例提供在一經符號編碼之傳輸流中輸送錯誤校正碼(ECC)之方法以及使用該等方法之設備,該等方法及設備實質上縮減資料傳輸接收槽裝置(接收器)之記憶體要求、大小、複雜度及成本,縮減源裝置(傳送器)之複雜度及成本,且使得一資料流可以縮減或最小之延遲恢復。
10:系統
100:源裝置
100-1:源裝置
102:資料源
103:資料流
104:第一多工器
105:資料符號
105':資料符號
106:符號編碼器
107:第一錯誤校正碼
107'‧‧‧錯誤校正碼
108‧‧‧第一封包識別器
109‧‧‧第二錯誤校正碼
110‧‧‧錯誤校正碼編碼器
111‧‧‧錯誤校正碼符號
111'‧‧‧錯誤校正碼符號
112‧‧‧資料緩衝器
114‧‧‧錯誤校正碼緩衝器
115‧‧‧傳輸流
115'‧‧‧傳輸流
116‧‧‧第二錯誤校正碼編碼器
118‧‧‧錯誤校正碼封包格式器
120‧‧‧第二多工器
122‧‧‧串列化器
124‧‧‧傳送器
130‧‧‧行程長度偵測器
131‧‧‧已形成訊框之錯誤校正碼
131'‧‧‧已形成訊框之錯誤校正碼
132‧‧‧決策區塊
133'‧‧‧傳輸流
133‧‧‧傳輸流
134‧‧‧訊框形成器
200‧‧‧接收(或接收槽)裝置
200-1‧‧‧接收(或接收槽)裝置
202‧‧‧接收器
204‧‧‧解串列化器
206‧‧‧第二封包識別器
208‧‧‧符號解碼器
210‧‧‧錯誤校正碼解碼器
212‧‧‧錯誤校正碼封包提取器
214‧‧‧錯誤校正碼緩衝器
216‧‧‧第一錯誤校正碼解碼器
234‧‧‧訊框拆解器
300‧‧‧通信鏈路
S100‧‧‧流程圖
S101‧‧‧流程圖
S110~S150‧‧‧步驟
S111~S151‧‧‧步驟
S200‧‧‧流程圖
S201‧‧‧流程圖
S210~S260‧‧‧步驟
S211~S261‧‧‧步驟
附圖與說明書一起例示本發明之實例性實施例。此等圖式與對其之說明一起用於更佳地解釋本發明之態樣及原理。
第1圖係為例示根據本發明之某些實例性實施例,用於在一經符號編碼之傳輸流中輸送錯誤校正碼之一系統之一示意圖;第2圖係為根據本發明之某些實例性實施例,在一經符號編碼之傳輸流中傳送錯誤校正碼之一方法之一流程圖;第3圖係為根據本發明之某些實例性實施例(諸如第2圖之實施例),一傳輸流編碼器之一方塊圖;第4圖係為根據本發明之某些實例性實施例,在一經符號編碼之傳輸流中接收錯誤校正碼之一方法之一流程圖;第5圖係為根據本發明之某些實例性實施例(諸如第4圖之實施例),一傳輸流解碼器之一方塊圖;第6圖係為根據本發明之某些實例性實施例,在一經符號編碼之傳輸流中傳送錯誤校正碼之一方法之一流程圖;
第7圖係為根據本發明之某些實例性實施例(諸如第6圖之實施例),一傳輸流編碼器之一方塊圖;第8圖係為根據本發明之某些實例性實施例,在一經符號編碼之傳輸流中接收錯誤校正碼之一方法之一流程圖;以及第9圖係為根據本發明之某些實例性實施例(諸如第8圖之實施例),一傳輸流解碼器之一方塊圖。
現在將參照附圖來闡述本發明之實例性實施例。在圖式中,通篇中之相同或類似之參考編號指代相同或類似之元件。
根據本文所述之本發明實施例之編碼器、解碼器、及/或任何其他相關裝置或組件可利用任何適合硬體、韌體(例如,一應用專用積體電路(application-specific integrated circuit))、軟體、或軟體、韌體及硬體之一適合組合來實施。舉例而言,編碼器及解碼器之各種組件可形成於一個積體電路(integrated circuit;IC)晶片上或單獨之積體電路晶片上。此外,編碼器或解碼器之各種組件可實施於一撓性印刷電路膜(flexible printed circuit film)、一膠帶載體封裝(tape carrier package;TCP)、一印刷電路板(printed circuit board;PCB)上,或者可與編碼器或解碼器形成於一同一基板上。
此外,編碼器及解碼器之各種組件可係為一種程序(process)或執行緒(thread),該程序或執行緒在一或多個計算裝置中之一或多個處理器上運行、用於執行電腦程式指令並與其他系統組件互動以執行本文中所述之各種功能。該等電腦程式指令係儲存於一記憶體中,該記憶體可係
使用一標準記憶體裝置(例如,一隨機存取記憶體(random access memory;RAM))而實施於一計算裝置中。該等電腦程式指令亦可儲存於其他非暫時性電腦可讀媒體(例如,一光碟唯讀記憶體(compact disc-read only memory;CD-ROM)、隨身碟(flash drive)等)中。另外,熟習此項技術者應認識到,各種計算裝置之功能可被組合或整合至一單個計算裝置中,或一特定計算裝置之功能可跨一或多個其他計算裝置分佈,此並不背離本發明之範圍。
本發明之態樣可應用於諸如自一源去往一顯示器(例如,使用一DisplayPort介面)、介於二個所連接裝置(例如,一個具有一源且一個具有一接收槽)之間等的任何經編碼流。
第1圖係為例示根據本發明之某些實例性實施例,用於在一經符號編碼之傳輸流中輸送錯誤校正碼之一系統10之一示意圖。
系統10包含:一源裝置100(例如,一數位視訊光碟機(DVD drive)),包含或連接至一資料源(例如,CD、DVD、藍光光碟(Blu-ray)、硬碟機、行動電話或其他資料源)102;一接收(或接收槽)裝置200(例如,一顯示裝置或具有一資料接收槽且可包含用於驅動一顯示面板之電路的其他裝置);以及一通信鏈路300(例如,一導線、一高速串列資料鏈路,諸如同軸纜線、乙太網路纜線等),用於在源裝置100與接收槽裝置200之間傳送資料。源裝置100及接收槽裝置200可各自含有用於執行本文所述方法以及具有通常知識者將明瞭的可自本申請案得出之方法的一處理器(例如,一微處理器與記憶體、硬佈線電路(hardwired circuit)、可程式化邏輯陣列(programmable logic array)等)。系統10可用於實施其中資料被嵌入於符號中且需要進行資料校正之任一即時通信系統。舉例而言,系統10可用
於促進一機上盒與一電視機之間、一行動電話或筆記型電腦與一顯示裝置之間、複數個伺服器之間等的通信。
第2圖係為根據本發明之某些實例性實施例,在一經符號編碼之傳輸流中傳送錯誤校正碼之一方法之一流程圖S100。舉例而言,本文中所揭示之此方法及其他方法可實施為欲由一處理器(或其他計算裝置)(諸如一微處理器)、或者二或更多個處理器執行之一系列電腦指令。該(等)處理器可執行電腦程式指令,並與其他系統組件互動以執行本文中所述之各種功能。該等電腦程式指令可儲存於使用一標準記憶體裝置(例如一隨機存取記憶體(RAM))實施之一記憶體中。該等電腦程式指令亦可儲存於其他非暫時性電腦可讀媒體(例如一光碟唯讀記憶體、隨身碟等)中。如具有通常知識者將明瞭,該等方法亦可使用硬體電路(例如,電晶體、電容器、邏輯閘、現場可程式化閘陣列(field programmable gate array;FPGA)等)、或硬體電路、軟體及韌體之組合來實施。
第3圖係為根據本發明之某些實例性實施例(諸如第2圖之實施例),一源裝置(例如,一傳輸流編碼器)100之一方塊圖。舉例而言,本文中所揭示之此邏輯電路及其他邏輯電路(諸如第5圖、第7圖及第9圖之邏輯電路)可實施為:由複數個硬體電路(例如,及/或(AND/OR)閘、多工器、放大器等)形成之一佈局;現場可程式化閘陣列;韌體;或由一適當處理器(諸如一微處理器)執行之軟體;或如熟習此項技術者將知曉,硬體、軟體(例如,儲存於記憶體中並在一電腦或微處理器上執行之電腦指令)及韌體之任一適合組合。
參照第2圖至第3圖,處理開始,且在步驟S110中,由一資料源102供應之一資料流103由一第一多工器104接收並被轉發至一符號編碼
器106。隨後,符號編碼器106將資料流103編碼成複數個符號(例如,資料符號)105。舉例而言,資料流103可包含欲自資料源102(諸如一視訊源裝置)傳送至一接收(或接收槽)裝置200(諸如一顯示裝置)之複數個8位元資料位元組。
在某些實例中,該等資料位元組可表示欲在顯示裝置之一顯示面板上顯示之影像資料。此資料符號編碼操作可係對一次來自資料流103之複數個由複數個資料位元組形成之集合(或封包)(例如,每一封包中為8個或64個位元組)而執行。來自資料流103之每一由複數個資料位元組形成之封包被編碼成一由複數個資料符號105形成之對應封包,該封包稍後被添加至一傳輸流115。
在某些實例中,符號編碼器106可係為一8/10編碼器(8位元位元組作為輸入,10位元符號作為輸出)且產生複數個資料符號105(其係為10位元符號),俾使資料流103之每一位元組係由資料符號105其中之一表示。舉例而言,此種編碼可適宜產生經DC平衡之流(0位元與1位元之數目實質上相同)、適宜執行時脈恢復或相位恢復,且適宜保證一串列位元流中有充分密集之轉變(例如,0位元至1位元轉變或反之)。
然而,此等資料位元組/符號大小、封包大小及編碼/解碼技術僅係為實例,且本發明並不限於此等大小及技術。然而,為便於說明,將在通篇中假定一8位元資料位元組、10位元符號以及標準8/10編碼及10/8解碼,其中如具有通常知識者將明瞭,不同資料位元組/符號大小及其對應編碼/解碼演算法係為本發明之類似實施例之一部分。除資料流103以外,第一多工器104亦可接收其他輸入資料,包含在傳送之前經歷編碼之輔助資料(例如,音訊)及元資料(metadata)。為更便於說明,輔助資料與常規輸
入資料之處理方式將不會有任何不同,且將假定,僅有之元資料係為錯誤校正碼位元、位元組及符號,現在將不再對該等位元、位元組及符號進行說明。
在步驟S120中,第一封包識別器108自符號編碼器106之輸出接收符號105,並確定符號105係為資料符號。隨後,第一封包識別器108將該等資料符號轉發至一資料緩衝器(例如,一資料流群組緩衝器)112,以供暫時儲存至在步驟S130中所執行之過程完成以後。在某些實例中,資料緩衝器112可係為包含複數個基於矽之電晶體之一半導體記憶體等。
在步驟S120中,在確定符號105係為資料符號之後,第一封包識別器108亦將該等符號轉發至一錯誤校正碼(error correction code;ECC)編碼器110,錯誤校正碼編碼器110使用一正向錯誤校正(forward error correction;FEC)演算法將資料符號105編碼成複數個第一錯誤校正碼(ECC)107。
第一錯誤校正碼107包含一組冗餘(或同位)位元或位元組。為便於說明,可將錯誤校正碼(諸如第一錯誤校正碼107)闡述為位元組。在某些實例中,可使用一漢明碼(或具有通常知識者已知的任何其他適合碼)來為資料符號105產生冗餘(同位)位元(第一錯誤校正碼)107。舉例而言,漢明碼可具有充足同位位元,以在傳輸流115中之一由複數個符號形成之集合(例如,一群組或封包)中偵測多個位元錯誤或校正一單個位元錯誤,或者在該由複數個符號形成之集合中偵測多個位元錯誤並校正一單個位元錯誤,或校正該等符號中之多個位元錯誤。
錯誤校正碼編碼器110可對每一由複數個資料符號105形成之封包執行第一錯誤校正碼處理,從而在該過程中產生一由複數個第一錯
誤校正碼位元組107形成之對應群組。錯誤校正碼緩衝器114可緩衝(例如,儲存)該等由複數個第一錯誤校正碼位元組107形成之群組,直至一充足數目個資料封包(例如,提高錯誤校正碼產生效率之一數目個資料封包)已被編碼為止。
在某些實施例中,可將第一錯誤校正碼107在不進行進一步處理之情形下(例如,不對第一錯誤校正碼107執行另一錯誤校正碼過程)傳遞至符號編碼器106(在步驟S130中)。在其他實施例中,第一錯誤校正碼107可被進一步視為資料並由一第二錯誤校正碼編碼器116處理,以產生複數個第二錯誤校正碼109,第二錯誤校正碼109又被組合成複數個位元組且稍後由符號編碼器106編碼成複數個符號111。執行一第二錯誤校正碼過程會使錯誤校正碼符號中之簡單傳輸錯誤免於複合成多個錯誤(例如,使位元錯誤免於變成位元組錯誤)。
在某些實例中,可藉由將第一錯誤校正碼107回饋至第一錯誤校正碼編碼器110中而產生第二錯誤校正碼109。即,第二錯誤校正碼編碼器116可相同於第一錯誤校正碼編碼器110。如具有通常知識者將明瞭,此過程可進一步擴展至更高級(即,更多遍次地通過第一錯誤校正碼編碼器110或其他錯誤校正碼編碼器)。
在其他實例中,第二(例如,更高複雜度)錯誤校正碼編碼器116可應用複雜度較第一錯誤校正碼編碼器110之正向錯誤校正演算法為高之一正向錯誤校正演算法。舉例而言,第二錯誤校正碼編碼器可應用位元組級(byte-level)錯誤校正碼編碼,諸如雷德-所羅門或低密度同位檢查(low-density parity-check;LDPC)。
此外,在步驟S120中,錯誤校正碼封包格式器118將錯誤校
正碼(即,所緩衝第一錯誤校正碼107或第二錯誤校正碼109)組合成複數個位元組群組(例如,呈元資料封包之形式)並將該等封包轉發至第一多工器104。
在步驟S130中,符號編碼器106自第一多工器104接收已組合之錯誤校正碼(即,已組合之第一錯誤校正碼107或第二錯誤校正碼109),並使用與傳輸流115中之資料符號105相同之編碼方案將該等錯誤校正碼編碼成複數個錯誤校正碼符號(例如,同位符號)111,以稍後附隨於資料符號105。隨後,第一封包識別器108確定錯誤校正碼符號111係為錯誤校正碼封包,並將其轉發至第二多工器(組合器或合併器)120以供與所緩衝資料符號105合併(在步驟S140處)。
在步驟S140中,第二多工器120將錯誤校正碼符號111與所緩衝資料符號105合併,以形成傳輸流115。根據某些實施例,第二多工器120在時間上提早於所緩衝資料符號105而放置錯誤校正碼符號111,俾使錯誤校正碼符號111係在所緩衝資料符號105之前被傳送。
因此,該等由複數個錯誤校正碼(同位)符號111形成之群組係與其由複數個資料符號105形成之對應群組在同一傳輸流115中被載送。該二種類型之符號可係例如基於在符號流中之位置或基於元資料識別符等而區分開。在某些實例中,第二多工器120可進一步將該等錯誤校正碼符號與複數個控制碼一起形成訊框。
在步驟S150中,串列化器122將傳輸流115串列化,且傳送器124將已串列化傳輸流傳送至接收裝置200。在某些實例中,傳輸流115可係以一所設定或預定傳輸速率(例如,一高速串列鏈路)一次一個位元地被發送至接收裝置200。在某些實施例中,由複數個錯誤校正碼符號111形成
之封包可首先被發送,後面跟隨該等封包之由複數個資料符號105形成之對應群組。舉例而言,可使用複數個控制符號將由複數個資料符號105形成之封包與由複數個錯誤校正碼符號111形成之群組分離開。在某些實例中,傳送器124可係為用於將複數個數位位元轉換為一電子訊號(例如,一差動訊號)以供經由通信鏈路300進行傳輸之一數位/類比電路(具有一單端輸出或差動輸出)。
第4圖係為根據本發明之某些實例性實施例,在一經符號編碼之傳輸流中接收錯誤校正碼之一方法之一流程圖S200。第5圖係為根據本發明之某些實例性實施例(諸如第4圖之實施例),一源裝置(例如,一傳輸流解碼器)200之一方塊圖。
在步驟S210中,接收器202自源裝置接收傳輸流115',在傳輸流115'中,錯誤校正碼符號係在對應符號之前被發送(及接收)。隨後,解串列化器204將所接收傳輸流115'解串列化成構成傳輸流115'之(未經提取)資料符號及錯誤校正碼符號。在某些實例中,接收器202可係為用於將經由通信鏈路300傳送之一電子訊號(例如,一差動訊號)轉換為複數個數位位元之一數位/類比電路(具有一單輸入或差動輸入)。
在步驟S220中,第二封包識別器206自所接收傳輸流115'識別並提取(例如,分離出或隔離出)錯誤校正碼符號111',並將所識別錯誤校正碼符號111'轉發至符號解碼器208。類似於源裝置100,錯誤校正碼符號111'可係例如基於在符號流中之位置或基於元資料識別符、控制碼等而被識別。因此,提取過程實際上係為源裝置100處之流組合過程之逆過程。
在步驟S230中,符號解碼器208使用與符號編碼器106所採用之編碼演算法對應之一演算法(例如,一10/8解碼演算法)對所識別錯誤
校正碼符號111'進行解碼,以產生對應錯誤校正碼(同位)位元組(諸如,如上所述之第一錯誤校正碼及第二錯誤校正碼)。另外,端視在源裝置100中(例如,由第二錯誤校正碼編碼器116)用於保護第一錯誤校正碼位元組107之第二錯誤校正碼技術技術(若有)而定,一錯誤校正碼解碼器210可對經解碼錯誤校正碼位元組執行對應錯誤校正,以產生已校正之第一錯誤校正碼。舉例而言,若使用雷德-所羅門保護第一錯誤校正碼位元組107,則錯誤校正碼解碼器210可使用一雷德-所羅門錯誤校正邏輯(例如,可使用經解碼第二錯誤校正碼來校正經解碼第一錯誤校正碼中之錯誤)。
在步驟S230中,錯誤校正碼封包提取器212自已校正第一錯誤校正碼中之元資料封包提取第一錯誤校正碼107,並將所提取第一錯誤校正碼107轉發至錯誤校正碼緩衝器214以供暫時儲存至傳入傳輸流115'之資料符號被接收及提取為止。在某些實例中,錯誤校正碼緩衝器214可係為包含複數個基於矽之電晶體之一半導體記憶體等。
在步驟S240中,第二封包識別器206自所接收傳輸流115'識別並提取(例如,分離出或隔離出)資料符號105',且將所識別資料符號105'轉發至第一錯誤校正碼解碼器216。
在步驟S250中,第一錯誤校正碼解碼器216採用一解碼演算法來基於所緩衝(且已校正)第一錯誤校正碼而校正所提取資料符號105'中之位元錯誤。該解碼演算法可對應於由第一錯誤校正碼編碼器110採用之編碼演算法(例如,一漢明演算法),以產生對應資料位元組。提早於傳輸流115'之資料符號提取錯誤校正碼消除對在解碼之前緩衝資料符號之需要,而此會縮減接收器裝置200處之記憶體要求且達成一種更高效之接收器側實施方案(乃因相較於在源裝置100處,在接收器200處之記憶體實施較
不高效(例如,更昂貴))。
在步驟S260中,將已校正資料符號105'傳送至符號解碼器208(或傳送至一不同符號解碼器),以自已校正資料符號105'恢復資料流103。符號解碼器208所採用之解碼演算法對應於由符號編碼器106使用之編碼演算法(例如,一10/8解碼演算法),以產生對應資料流103。
如上所述,在某些實施例中,錯誤校正碼係類似於資料符號而作為符號在傳輸流中被載送,其中錯誤校正碼被嵌入於流元資料封包中且被發送通過傳輸編碼功能(例如,用於產生資料符號之同一傳輸編碼函數),以在整個傳輸流中保持一致編碼及解碼。
第6圖係為根據本發明之某些實例性實施例,在一經符號編碼之傳輸流中傳送錯誤校正碼之一方法之一流程圖S101。第7圖係為根據本發明之某些實例性實施例(諸如第6圖之實施例),一源裝置(例如,一傳輸流編碼器)100-1之一方塊圖。第6圖及第7圖之實施例之複數個部分可與上述第2圖及第3圖之實施例之複數個對應部分相同或類似。因此,此等部分可不再予以贅述。
參照第6圖及第7圖,處理開始,且在步驟S111中,一資料源102將一資料流103供應至一符號編碼器106,以將資料流103編碼成複數個資料符號105。在某些實例中,可使用一8/10編碼器作為符號編碼器106而將來自資料流103之由複數個資料位元組形成之封包編碼成由複數個資料符號105形成之對應封包。符號編碼器106將資料符號105傳送至一資料緩衝器(例如,一資料流群組緩衝器)112,以供暫時儲存至在步驟S131中所執行之過程完成以後。
在步驟S121中,一錯誤校正碼編碼器110對資料符號105進行編碼,以為資料符號105產生複數個錯誤校正碼107(例如,同位位元或位元組)。在某些實例中,可使用一漢明碼演算法來為資料符號105產生錯誤校正碼107。每一由複數個資料符號105形成之封包可用於產生一由複數個錯誤校正碼107形成之對應群組。舉例而言,漢明碼可具有充足同位位元,以在傳輸流133中之一由複數個符號與錯誤校正碼形成之集合中偵測多個位元錯誤或校正一單個位元錯誤,或者在該由複數個符號與錯誤校正碼形成之集合中偵測多個位元錯誤並校正一單個位元錯誤,或校正該等符號及錯誤校正碼中之多個位元錯誤。
在步驟S131中,一行程長度偵測器(run length detector)130緩衝並評定所產生錯誤校正碼107。舉例而言,為避免對錯誤校正碼位元組進行編碼時的某些複雜問題(如上文參照例如第2圖至第3圖所述),在第6圖至第7圖之實施例中,錯誤校正碼107可係在不經歷編碼之情形下被添加至傳輸流133。舉例而言,此有助於防止傳輸流中之單位元錯誤在所接收錯誤校正碼位元組中產生多位元錯誤。然而,在不進行編碼之情形下,錯誤校正碼107可能並不呈滿足傳輸流133之輸送協定之恰當形式(例如,錯誤校正碼107可能未遵循與DC平衡相關之規則或準則、或者在0位元與1位元之間或在1位元與0位元之間不具有一充足轉變數目)。
因此,行程長度偵測器130及決策區塊132可對所產生錯誤校正碼107進行計量,且若錯誤校正碼107已達到某一所設定或預定判據,則行程長度偵測器130可停止進一步緩衝錯誤校正碼107,且可改為將所產生錯誤校正碼107傳輸至第二多工器120。所設定或預定判據可包含:達到某一長度、未處於充足DC平衡、或不具有足以保證進一步增長之轉變(即,
錯誤校正碼中之轉變數目低於一預設值)。在某些實例中,可根據一通信標準(諸如USB 3.1等)來設定前述判據。在某些實例中,訊框形成器(framer)134可將錯誤校正碼107與複數個控制符號一起形成訊框,以產生已形成訊框之錯誤校正碼131,該等已形成訊框之錯誤校正碼131稍後由多工器120在其對應資料封包之前插入至傳輸流133中(步驟S141)。
在步驟S141中,第二多工器120將所緩衝資料符號105與已形成訊框之錯誤校正碼131合併成傳輸流133,傳輸流133由串列化器122進行串列化並由傳送器124在步驟S151中傳送至一接收(或一接收槽)裝置200-1。舉例而言,傳輸流133可在已經過串列化器122之後以一所設定或預定傳輸速率(例如,經由一高速串列鏈路)一次一個位元地被發送至一接收裝置200-1。在某些實施例中,已形成訊框之錯誤校正碼131可在由複數個對應資料符號形成之封包之前被發送。
第8圖係為根據本發明之某些實例性實施例,在一經符號編碼之傳輸流中接收錯誤校正碼之一方法之一流程圖S201。第9圖係為根據本發明之某些實例性實施例(諸如第8圖之實施例),一接收裝置(例如,一傳輸流解碼器)200-1之一方塊圖。第8圖及第9圖之實施例之複數個部分可與上述第4圖及第5圖之實施例之複數個對應部分相同或類似。因此,此等部分可不再予以贅述。
在步驟S211中,接收器202經由通信鏈路300自源裝置100-1接收傳輸流133',且解串列化器204將所接收傳輸流133'解串列化成構成發送至接收裝置200-1之傳輸流133之(未經提取)資料符號及錯誤校正碼位元組。
在步驟S221中,封包識別器206自所接收傳輸流133'識別並提取已形成訊框之錯誤校正碼131',且將所提取之已形成訊框之錯誤校正碼
131'傳送至訊框拆解器234以供進行訊框移除。端視錯誤校正碼107係如何由行程長度偵測器130形成訊框並作為已形成訊框之錯誤校正碼131被插入至傳輸流133中(例如,使用控制符號來識別錯誤校正碼位元組或將錯誤校正碼位元組形成訊框)而定,在步驟S231中,將已形成訊框之錯誤校正碼131'自訊框拆解之操作將此過程反轉,以將錯誤校正碼107'與表示資料流之資料符號105'分離開。隨後,在錯誤校正碼緩衝器214中緩衝錯誤校正碼107'。
在步驟S241中,封包識別器206識別傳輸流133'之所接收資料符號105'並將其轉發至第一錯誤校正碼解碼器216以供進行位元組校正。
在步驟S251中,第一錯誤校正碼解碼器216使用所緩衝錯誤校正碼107'來恢復構成資料流之已校正資料符號105。第一錯誤校正碼解碼器216可採用與在源裝置100-1中用於產生錯誤校正碼107之正向錯誤校正演算法(例如,一漢明碼)對應(例如,相逆)之一解碼演算法。亦可使用相同處理來同時校正所傳送錯誤校正碼位元組中之位元錯誤。舉例而言,作為同一錯誤校正碼處理之一部分,可使一漢明碼偵測並校正資料符號105'中之(傳輸)錯誤及其對應(未經編碼)錯誤校正碼位元組107'。
在步驟S261中,由將符號編碼器110所執行之編碼反轉之一符號解碼器208對所恢復(已校正)資料符號105進行解碼,以恢復資料流103,隨後,資料流103可被供應至資料接收槽(例如,一接收槽裝置,諸如一顯示裝置)。舉例而言,若係使用8/10編碼器作為符號編碼器110而將資料流103編碼成複數個資料符號105,則可使用10/8解碼器來對所接收傳輸流中之所恢復(已校正)資料符號105進行解碼。
根據本發明之實施例,藉由在經編碼傳輸流之前傳送錯誤校正碼,在執行錯誤校正時,接收器處之緩衝器可僅儲存錯誤校正碼而不儲
存傳輸流。此縮減接收器處之緩衝記憶體之大小,且因此,縮減接收器之大小及複雜度以及整體系統成本。
將理解,雖然本文中可使用用語「第一」、「第二」、「第三」等來闡述各種元件、組件、區域、層及/或區段,但此等元件、組件、區域、層及/或區段不應受此等用語限制。此等用語僅用於將一個元件、組件、區域、層或區段與另一元件、組件、區域、層或區段區分開。因此,下文所述之一第一元件、組件、區域、層或區段可被稱作一第二元件、組件、區域、層或區段,此並不背離發明性概念之精神及範圍。
本文中所使用之術語僅用於闡述特定實施例而並非旨在限制發明性概念。除非上下文另有清晰指示,否則本文中所使用之單數形式「一」旨在亦包含複數形式。更應理解,當在本說明書中使用用語「包含」時,係指明所陳述特徵、整數、步驟、操作、元件、及/或組件之存在,但並不排除一或多個其他特徵、整數、步驟、操作、元件、組件、及/或其群組之存在或添加。本文中所使用之用語「及/或」包含相關列出項其中之一或多者之任意及所有組合。當位於一元件列表之前時,諸如「至少其中之一」等表達語修飾整個元件列表且不修飾該列表之個別元件。此外,在闡述發明性概念之實施例時所使用之「可」係指「發明性概念之一或多個實施例」。此外,用語「實例性」旨在指代一實例或例證。
將理解,當將一元件或層稱作位於另一元件或層「上」、「連接至」、「耦合至」另一元件或層、或者「相鄰於」另一元件或層時,該元件或層可係直接位於該另一元件或層上、直接連接至、直接耦合至、或者直接相鄰於該另一元件或層,或者可能存在一或多個中間元件或層。當將一元件或層稱作「直接」位於另一元件或層「上」、「直接連接至」、「直接
耦合至」或者「緊鄰於」另一元件或層時,不存在中間元件或層。
本文中所使用之用語「實質上」、「約」、及類似用語係用作近似用語而非用作程度用語,且旨在考量到此項技術中具有通常知識者將認識到的所量測值或所計算值之固有偏差。
本文中所使用之用語「使用」可被視為分別與用語「利用」同義。
儘管已結合某些實例性實施例闡述了本發明,然而應理解,本發明並不限於所揭示實施例,而是相反,旨在涵蓋隨附申請專利範圍及其等效內容之精神及範圍內所包含之各種潤飾及等效配置。
S100‧‧‧流程圖
S110~S150‧‧‧步驟
Claims (20)
- 一種在一傳輸流中輸送複數個錯誤校正碼(error correction code;ECC)之方法,該方法包含:由一處理器將來自一資料源之一資料流編碼成複數個資料符號;由該處理器自該等資料符號產生複數個第一錯誤校正碼;由該處理器將該等第一錯誤校正碼編碼成複數個第一錯誤校正碼符號;由該處理器將該等資料符號與該等第一錯誤校正碼符號合併成該傳輸流,該等第一錯誤校正碼符號係在該等資料符號之前被合併至該傳輸流中;以及由該處理器經由一通信鏈路將已合併之該傳輸流傳送至一接收槽裝置(sink device),該等第一錯誤校正碼符號係在該等資料符號之前被傳送。
- 如請求項1所述之方法,其中該將該資料流編碼成該等資料符號之步驟與該將該等第一錯誤校正碼編碼成該等第一錯誤校正碼符號之步驟包含一相同之編碼技術。
- 如請求項1所述之方法,更包含:由該處理器自該等第一錯誤校正碼產生複數個第二錯誤校正碼;以及由該處理器將該等第二錯誤校正碼編碼成複數個第二錯誤校正碼符號, 其中該合併該等資料符號與該等第一錯誤校正碼符號之步驟包含由該處理器將該等第二錯誤校正碼符號合併至該傳輸流中。
- 如請求項1所述之方法,其中該編碼該等第一錯誤校正碼之步驟包含由該處理器將一第一控制符號在該等第一錯誤校正碼符號之前插入至該傳輸流中並將一第二控制符號在該等第一錯誤校正碼符號與該等資料符號之間插入至該傳輸流中。
- 如請求項1所述之方法,其中該傳送已合併之該傳輸流之步驟包含:由該處理器將已合併之該傳輸流串列化;以及由該處理器經由一串列資料鏈路將已串列化之該傳輸流傳送至該接收槽裝置。
- 如請求項1所述之方法,更包含由該處理器在一資料流緩衝器中緩衝該資料符號。
- 一種用於自一傳輸流提取一資料流之方法,該傳輸流包含複數個輸送錯誤校正碼(error correction code;ECC),該方法包含:由一接收槽裝置之一處理器經由一通信鏈路自一源裝置接收該傳輸流;由該處理器自所接收之該傳輸流提取複數個錯誤校正碼符號;由該處理器將該等錯誤校正碼符號解碼成複數個第一錯誤校正碼;由該處理器緩衝該等第一錯誤校正碼;由該處理器自該傳輸流提取複數個資料符號; 由該處理器以所緩衝之該等第一錯誤校正碼來校正該等資料符號中之錯誤;以及由該處理器將已校正之該等資料符號解碼成一資料流,以供由該接收槽裝置輸出。
- 如請求項7所述之方法,其中該將該等第一錯誤校正碼符號解碼成該等第一錯誤校正碼之步驟與該將已校正之該等資料符號解碼成該資料流之步驟包含一相同之解碼技術。
- 如請求項7所述之方法,其中該解碼該等第一錯誤校正碼符號之步驟包含:由該處理器將該等錯誤校正碼符號解碼成複數個第二錯誤校正碼;以及由該處理器以該等第二錯誤校正碼來校正該等第一錯誤校正碼中之錯誤,其中緩衝該等第一錯誤校正碼之步驟包含由該處理器緩衝已校正之該等第一錯誤校正碼,以及其中該校正該等資料符號中之該等錯誤之步驟包含由該處理器以所緩衝之已校正之該等第一錯誤校正碼來校正該等資料符號中之該等錯誤。
- 如請求項7所述之方法,其中該提取該等錯誤校正碼符號之步驟包含由該處理器自該傳輸流識別位於第一錯誤校正碼符號與該等資料符號之間的一控制符號。
- 如請求項7所述之方法,其中該接收該傳輸流之步驟包含:由該處理器經由一串列資料鏈路自該源裝置接收該傳輸流;以及由該處理器將所接收之該傳輸流解串列化。
- 一種在一傳輸流中輸送複數個錯誤校正碼(error correction code;ECC)之方法,該方法包含:由一源裝置之一第一處理器將來自一資料源之一資料流編碼成複數個第一資料符號;由該第一處理器自該等第一資料符號產生複數個錯誤校正碼;由該第一處理器在該源裝置處緩衝該等錯誤校正碼,直至已滿足一判據為止;由該第一處理器將該等第一資料符號與所緩衝之該等錯誤校正碼合併成該傳輸流,所緩衝之該等錯誤校正碼係在該等第一資料符號之前被合併至該傳輸流中;由該第一處理器經由一通信鏈路將已合併之該傳輸流傳送至一接收槽裝置,所緩衝之該等錯誤校正碼係在該等第一資料符號之前被傳送;由該接收槽裝置之一第二處理器自該源裝置接收所接收之一傳輸流;由該第二處理器自所接收之該傳輸流提取該等錯誤校正碼;由該第二處理器在該接收槽裝置處緩衝該等錯誤校正碼;由該第二處理器自所接收之該傳輸流提取複數個第二資料符號; 由該第二處理器以該接收槽裝置處所緩衝之該等錯誤校正碼來校正該等第二資料符號中之錯誤;以及由該第二處理器將已校正之該等第二資料符號解碼成已校正之一資料流,以供由該接收槽裝置輸出。
- 如請求項12所述之方法,其中該合併該等第一資料符號與所緩衝之該等錯誤校正碼之步驟包含:由該第一處理器將該源裝置處所緩衝之該等錯誤校正碼與複數個控制符號一起形成訊框;以及由該第一處理器將該等第一資料符號與已形成訊框之該等錯誤校正碼合併成該傳輸流。
- 如請求項13所述之方法,其中將所緩衝之該等錯誤校正碼形成訊框之步驟包含由該第一處理器將該等控制符號其中之一第一控制符號在所緩衝之該等錯誤校正碼之前且將該等控制符號其中之一第二控制符號在所緩衝之該等錯誤校正碼之後插入至該傳輸流中。
- 如請求項12所述之方法,其中該傳送已合併之該傳輸流之步驟包含:由該第一處理器將已合併之該傳輸流串列化;以及由該第一處理器經由一串列資料鏈路將已串列化之該傳輸流傳送至該接收槽裝置。
- 如請求項12所述之方法,更包含由該第一處理器在一資料流緩衝器中緩衝該等第一資料符號。
- 如請求項12所述之方法,其中該判據包含以下各項其中之一或多者:該等錯誤校正碼達到一預設長度、該等錯誤校正碼未處於充足DC平衡、以及該等錯誤校正碼中轉變之一數目低於一預設值。
- 如請求項12所述之方法,其中自所接收之該傳輸流提取該等錯誤校正碼之步驟包含:由該第二處理器自所接收之該傳輸流提取複數個已形成訊框之錯誤校正碼;以及由該第二處理器藉由以下操作將已形成訊框之該等錯誤校正碼自訊框拆解(deframe)成該等錯誤校正碼:識別並移除位於已形成訊框之該等錯誤校正碼之前的一第一控制符號及位於已形成訊框之該等錯誤校正碼之後的一第二控制符號。
- 一種在一傳輸流中輸送複數個錯誤校正碼(error correction code;ECC)之方法,該方法包含:由一符號編碼器將來自一資料源之一資料流編碼成複數個資料符號;由一錯誤校正碼編碼器自該等資料符號產生複數個第一錯誤校正碼;由該符號編碼器將該等第一錯誤校正碼編碼成複數個第一錯誤校正碼符號;由一多工器將該等資料符號與該等第一錯誤校正碼符號合併成該傳輸流,該等第一錯誤校正碼符號係在該等資料符號之前被合併至該傳 輸流中;以及由一傳送器經由一通信鏈路將已合併之該傳輸流傳送至一接收槽裝置,該等第一錯誤校正碼符號係在該等資料符號之前被傳送。
- 一種用於自一傳輸流提取一資料流之方法,該傳輸流包含複數個輸送錯誤校正碼(error correction code;ECC),該方法包含:由一接收器經由一通信鏈路自一源裝置接收該傳輸流;由一處理器自所接收之該傳輸流提取複數個錯誤校正碼符號;由一符號解碼器將該等錯誤校正碼符號解碼成複數個第一錯誤校正碼;由一緩衝記憶體緩衝該等第一錯誤校正碼;由該處理器自該傳輸流提取複數個資料符號;由一錯誤校正碼解碼器以所緩衝之該等第一錯誤校正碼來校正該等資料符號中之錯誤;以及由該符號解碼器將已校正之該等資料符號解碼成一資料流,以供由該接收槽裝置輸出。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462087772P | 2014-12-04 | 2014-12-04 | |
US62/087,772 | 2014-12-04 | ||
US14/952,797 | 2015-11-25 | ||
US14/952,797 US10432353B2 (en) | 2014-12-04 | 2015-11-25 | Memory-efficient methods of transporting error correction codes in a symbol encoded transmission stream |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201631921A TW201631921A (zh) | 2016-09-01 |
TWI689180B true TWI689180B (zh) | 2020-03-21 |
Family
ID=54838190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104140512A TWI689180B (zh) | 2014-12-04 | 2015-12-03 | 在一經符號編碼之傳輸流中輸送錯誤校正碼之高效記憶體之方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10432353B2 (zh) |
EP (1) | EP3029842B1 (zh) |
KR (1) | KR102510034B1 (zh) |
CN (1) | CN105721102B (zh) |
TW (1) | TWI689180B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108958961B (zh) * | 2017-05-22 | 2021-11-30 | 上海宝存信息科技有限公司 | 数据储存装置以及数据错误管理方法 |
US10686557B2 (en) * | 2017-10-26 | 2020-06-16 | L3 Technologies Inc. | Enhanced decoding of coded sequences with structured data |
KR102032878B1 (ko) * | 2017-12-22 | 2019-10-16 | 한국외국어대학교 연구산학협력단 | 플래시 메모리 컨트롤러의 에러 정정 방법 |
KR20200019046A (ko) * | 2018-08-13 | 2020-02-21 | 에스케이하이닉스 주식회사 | 에러 정정 회로 및 이의 동작 방법 |
KR102645140B1 (ko) * | 2018-12-06 | 2024-03-07 | 삼성전자주식회사 | Fpga를 포함하는 메모리 시스템 및 이의 동작 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040044835A1 (en) * | 2002-08-29 | 2004-03-04 | Sandisk Corporation | Symbol frequency leveling in a storage system |
TW586273B (en) * | 2001-03-30 | 2004-05-01 | Koninkl Philips Electronics Nv | Methods and devices for converting as well as decoding a stream of data bits, and record carrier |
US20050138522A1 (en) * | 2003-11-21 | 2005-06-23 | Silvus Gregory L. | Reverse error correction coding with run length limited constraint |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5311521A (en) * | 1990-01-12 | 1994-05-10 | Boris Fitingof | Method and apparatus for implementing post-modulation error correction coding scheme |
JPH11328879A (ja) | 1998-05-19 | 1999-11-30 | Sony Corp | 誤り訂正装置および光ディスク再生装置 |
US6182264B1 (en) * | 1998-05-22 | 2001-01-30 | Vlsi Technology, Inc. | Smart dynamic selection of error correction methods for DECT based data services |
US6662334B1 (en) | 1999-02-25 | 2003-12-09 | Adaptec, Inc. | Method and device for performing error correction on ECC data sectors |
US6505320B1 (en) | 2000-03-09 | 2003-01-07 | Cirrus Logic, Incorporated | Multiple-rate channel ENDEC in a commuted read/write channel for disk storage systems |
JP3668673B2 (ja) | 2000-06-09 | 2005-07-06 | 株式会社日立コミュニケーションテクノロジー | エラー訂正符号の構成方法、復号方法、伝送装置、ネットワーク |
US7389463B2 (en) | 2001-05-29 | 2008-06-17 | Thomson Licensing | Hierarchical block coding for a packet-based communications system |
US20020199153A1 (en) * | 2001-06-22 | 2002-12-26 | Fall Thomas G. | Sampling method for use with bursty communication channels |
JP4260688B2 (ja) | 2004-06-09 | 2009-04-30 | 富士通株式会社 | データ送信装置、データ送受信システム、データ送信装置の制御方法およびデータ送受信システムの制御方法 |
US7660245B1 (en) | 2004-09-16 | 2010-02-09 | Qualcomm Incorporated | FEC architecture for streaming services including symbol-based operations and packet tagging |
US8826093B2 (en) * | 2005-01-19 | 2014-09-02 | Qualcomm Incorporated | Power saving method for coded transmission |
US7590920B2 (en) * | 2005-08-05 | 2009-09-15 | Hitachi Global Storage Technologies Netherlands, B.V. | Reduced complexity error correction encoding techniques |
US7774672B2 (en) | 2006-07-07 | 2010-08-10 | Scientific-Atlanta, Llc | Requesting additional forward error correction |
CN100558028C (zh) * | 2006-08-11 | 2009-11-04 | 华为技术有限公司 | 一种实现纠错的方法及系统以及一种实现纠错的接入设备 |
US20080098282A1 (en) | 2006-10-20 | 2008-04-24 | Kuo-Lung Chien | High speed error correcting system |
CN101174839A (zh) * | 2006-10-30 | 2008-05-07 | 富士通株式会社 | 编码装置、解码装置、编码/解码装置及记录/再现装置 |
CN101267210B (zh) | 2007-03-12 | 2011-01-05 | 华为技术有限公司 | 数据编译码和收发方法及装置 |
KR101253187B1 (ko) | 2007-04-05 | 2013-04-10 | 엘지전자 주식회사 | 디지털 방송 시스템 및 데이터 처리 방법 |
US20090019306A1 (en) * | 2007-07-11 | 2009-01-15 | Herbert Hum | Protecting tag information in a multi-level cache hierarchy |
US8230316B2 (en) | 2008-01-25 | 2012-07-24 | Nevion Usa, Inc. | Forward error correction for burst and random packet loss for real-time multi-media communication |
CN101729194B (zh) | 2008-11-03 | 2013-02-13 | 华为技术有限公司 | 数据编码、数据解码的方法、装置和系统 |
US8347199B2 (en) * | 2009-01-21 | 2013-01-01 | Cisco Technology, Inc. | Enhanced error detection in multilink serdes channels |
US8576704B2 (en) | 2009-04-15 | 2013-11-05 | Panasonic Corporation | Communication system, communication device, integrated circuit, and communication method |
CN101877620B (zh) * | 2009-04-30 | 2013-08-14 | 华为技术有限公司 | 前向纠错方法、装置和系统 |
CN101714971B (zh) | 2009-12-22 | 2012-06-06 | 北京邮电大学 | 无源光网络通信方法及系统、光网络单元和光线路终端 |
KR101690661B1 (ko) | 2010-07-07 | 2016-12-28 | 에스케이텔레콤 주식회사 | 오류 정정의 병렬 처리를 위한 방송 신호 부호화 및 복호화 방법, 이를 위한 방송 신호 송수신 장치 및 이를 위한 시스템 |
US8443269B2 (en) | 2010-11-04 | 2013-05-14 | Himax Media Solutions, Inc. | System and method for handling forward error correction code blocks in a receiver |
JP5250061B2 (ja) | 2011-01-07 | 2013-07-31 | 株式会社エヌ・ティ・ティ・ドコモ | 通信制御方法、移動通信システム及び移動端末装置 |
CN103152126B (zh) | 2012-04-06 | 2015-04-22 | 中国科学技术大学 | 基于前向纠错保护编码的数据封装方法和装置 |
US10185621B2 (en) | 2013-05-20 | 2019-01-22 | ATI Technologies ULD | Method and apparatus for providing a display stream embedded with non-display data |
US9819362B2 (en) * | 2015-03-27 | 2017-11-14 | Intel Corporation | Apparatus and method for detecting and mitigating bit-line opens in flash memory |
-
2015
- 2015-11-25 US US14/952,797 patent/US10432353B2/en active Active
- 2015-12-03 TW TW104140512A patent/TWI689180B/zh active
- 2015-12-04 EP EP15198105.7A patent/EP3029842B1/en active Active
- 2015-12-04 CN CN201510885387.8A patent/CN105721102B/zh active Active
- 2015-12-04 KR KR1020150172542A patent/KR102510034B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW586273B (en) * | 2001-03-30 | 2004-05-01 | Koninkl Philips Electronics Nv | Methods and devices for converting as well as decoding a stream of data bits, and record carrier |
US20040044835A1 (en) * | 2002-08-29 | 2004-03-04 | Sandisk Corporation | Symbol frequency leveling in a storage system |
US20050138522A1 (en) * | 2003-11-21 | 2005-06-23 | Silvus Gregory L. | Reverse error correction coding with run length limited constraint |
Also Published As
Publication number | Publication date |
---|---|
US10432353B2 (en) | 2019-10-01 |
CN105721102B (zh) | 2020-11-17 |
CN105721102A (zh) | 2016-06-29 |
EP3029842A1 (en) | 2016-06-08 |
US20160164631A1 (en) | 2016-06-09 |
KR20160068690A (ko) | 2016-06-15 |
KR102510034B1 (ko) | 2023-03-14 |
EP3029842B1 (en) | 2019-06-26 |
TW201631921A (zh) | 2016-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI689180B (zh) | 在一經符號編碼之傳輸流中輸送錯誤校正碼之高效記憶體之方法 | |
KR101367015B1 (ko) | 집적회로 간의 점 대 점 통신을 위한 물리적 인터페이스에서의 에러 검출 | |
US10997016B2 (en) | Method of encoding data | |
US11296722B2 (en) | Integrated physical coding sublayer and forward error correction in networking applications | |
TWI671628B (zh) | 在已編碼符號之傳輸流中輸送前向錯誤校正碼之方法 | |
US20150326884A1 (en) | Error Detection and Mitigation in Video Channels | |
US20120131422A1 (en) | Transmitting device, transmitting method, receiving device, receiving method, program, and transmission system | |
KR20150046700A (ko) | 오류 정정 부호를 사용하는 통신 시스템에서 패킷 송수신 기법 | |
US20190068325A1 (en) | System and method for block-coding transcoding | |
KR101777349B1 (ko) | 비디오 스트림 송수신 방법 및 장치 | |
US20190115935A1 (en) | Forward Error Correction and Asymmetric Encoding for Video Data Transmission Over Multimedia Link | |
Juan et al. | Using DSP Algorithms for CRC in a CAN Controller |