TWI604698B - 具有錯誤校正處置之低密度同位檢查解碼器 - Google Patents
具有錯誤校正處置之低密度同位檢查解碼器 Download PDFInfo
- Publication number
- TWI604698B TWI604698B TW102136339A TW102136339A TWI604698B TW I604698 B TWI604698 B TW I604698B TW 102136339 A TW102136339 A TW 102136339A TW 102136339 A TW102136339 A TW 102136339A TW I604698 B TWI604698 B TW I604698B
- Authority
- TW
- Taiwan
- Prior art keywords
- codeword
- data
- circuit
- hash
- decoder
- Prior art date
Links
Classifications
-
- 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/11—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 using multiple parity bits
-
- 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
-
- 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/11—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 using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
-
- 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/11—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 using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1142—Decoding using trapping sets
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Description
本發明之各種實施例提出用於具有錯誤校正處置之低密度同位檢查解碼的設備和方法。
已開發出各種資料傳輸系統,包括儲存系統、蜂巢式電話系統、及無線電傳輸系統。在這類系統中,資料經由一些媒體從發送器傳輸至接收器。例如,在儲存系統中,資料經由儲存媒體從發送器(即,寫入功能)發送至接收器(即,讀取功能)。在一些情況下,資料處理功能接收資料集且對資料集施用資料解碼演算法以復原最初寫入的資料集。在一些情況下,施用資料解碼程序對內部解碼器提出正確的結果,當實際上是不正確時表明結果是正確的。這樣的錯誤校正會難以偵測且對於接收者裝置的操作而言可能是無可挽回的。
揭露一種資料處理系統,包括一解碼器電
路、徵狀計算電路和雜湊計算電路。解碼器電路可操作以基於一合成矩陣的一第一部分來施用一解碼演算法至一解碼器輸入以產生一碼字。徵狀計算電路可操作以基於碼字和合成矩陣的第一部分來計算一徵狀。雜湊計算電路可操作以基於合成矩陣的一第二部分來計算一雜湊。解碼器電路也可操作以當徵狀指出基於合成矩陣之第一部分的碼字是正確的,但一第二測試指出碼字被錯誤校正時,基於雜湊來校正碼字。
本發明內容僅提出本發明之一些實施例的總體概要。在下面的詳細說明、所附之申請專利範圍及附圖中揭露了額外的實施例。
100‧‧‧產生器矩陣
102‧‧‧H矩陣
104‧‧‧子矩陣
106‧‧‧特殊層
202‧‧‧使用者資料
204‧‧‧編碼系統
206‧‧‧編碼資料
208‧‧‧儲存器/傳輸通道
210‧‧‧編碼資料
212‧‧‧解碼系統
214‧‧‧使用者資料
302‧‧‧使用者資料
318‧‧‧循環冗餘檢查位元
320‧‧‧多工器
316‧‧‧通道循環冗餘檢查編碼器
322‧‧‧通道循環冗餘檢查位元
324‧‧‧模式限制編碼器
330‧‧‧低密度同位檢查解碼器
332‧‧‧資料欄位
334‧‧‧同位欄位
338‧‧‧同位插入電路
306‧‧‧編碼資料
326‧‧‧編碼使用者位元
304‧‧‧編碼系統
410‧‧‧類比編碼資料
412‧‧‧解碼系統
440‧‧‧類比前端電路
442‧‧‧類比至數位轉換器電路
444‧‧‧等化器電路
446‧‧‧資料偵測器電路
448‧‧‧資料偵測器電路
450‧‧‧中央記憶體電路
452‧‧‧全域交錯器/解交錯器電路
454‧‧‧具有錯誤校正處置的低密度同位檢查解碼器
456‧‧‧本地解交錯器電路
460‧‧‧解碼輸出
462‧‧‧特殊層
466‧‧‧硬決定佇列
468‧‧‧同位移除電路
470‧‧‧模式限制解碼器
472‧‧‧通道循環冗餘檢查
414‧‧‧使用者資料
500‧‧‧解碼器
502‧‧‧輸入資料
504‧‧‧記憶體
506‧‧‧機率值
510‧‧‧變數節點處理器
520‧‧‧變數節點至檢查節點信息
522‧‧‧檢查節點處理器
524‧‧‧檢查節點至變數節點信息
512‧‧‧機率值
514‧‧‧硬決定輸出電路
516‧‧‧硬決定輸出
530‧‧‧排程器和錯誤校正處置電路
532‧‧‧徵狀和雜湊計算電路
536‧‧‧循環冗餘檢查電路
600‧‧‧流程圖
602-626‧‧‧方塊
700‧‧‧流程圖
702-720‧‧‧方塊
800‧‧‧儲存系統
802‧‧‧讀取通道電路
804‧‧‧前置放大器
806‧‧‧介面控制器
810‧‧‧硬碟控制器
812‧‧‧馬達控制器
814‧‧‧轉軸馬達
816‧‧‧磁碟盤
820‧‧‧讀/寫頭組件
822‧‧‧讀取資料
824‧‧‧寫入資料
900‧‧‧無線通訊系統
902‧‧‧發射器
904‧‧‧接收器
906‧‧‧傳輸媒體
藉由參考在說明書之剩餘部分中說明的圖可實現對本發明之各種實施例的進一步了解。在圖中,可在通篇數個圖中使用類似的參考數字以指類似元件。在圖中,在通篇數個圖中使用類似的參考數字以指類似元件。
第1圖描繪依照本發明之一或更多實施例之產生器矩陣及對應之同位檢查矩陣,包括縮短的子矩陣H和特殊層S;第2圖描繪依照本發明之一或更多實施例之具有編碼系統和解碼系統的資料處理系統,解碼系統包括具有錯誤校正處置之低密度同位檢查解碼器;第3圖描繪依照本發明之一或更多實施例之
包括具有錯誤校正支援之低密度同位檢查編碼器的編碼系統;第4圖描繪依照本發明之一或更多實施例之包括具有錯誤校正處置之低密度同位檢查解碼器的解碼系統;第5圖描繪依照本發明之一些實施例之具有錯誤校正處置之低密度同位檢查解碼器的方塊圖;第6圖描繪依照本發明之各種實施例之顯示用於在低密度同位檢查解碼期間的內級錯誤校正處置之方法的流程圖;第7圖描繪依照本發明之各種實施例之顯示用於在低密度同位檢查解碼期間的外級錯誤校正處置之方法的流程圖;第8圖描繪依照本發明之一些實施例之包括具有錯誤校正處置之低密度同位檢查解碼器的儲存系統;及第9圖描繪依照本發明之一些實施例之包括具有錯誤校正處置之低密度同位檢查解碼器的無線通訊系統。
具有錯誤校正處置之低密度同位檢查(LDPC)解碼器使用加入至同位檢查H0矩陣的特殊層S以協助偵測和解決錯誤校正,其中解碼器已會聚於不正確
的碼字上。產生器矩陣G 100被施用於具有錯誤校正支援的低密度同位檢查編碼器中,產生包括縮短的子矩陣H0 104和特殊層S 106的同位檢查H矩陣102,其使用於具有錯誤校正處置之低密度同位檢查解碼器中以解碼碼字或編碼資料,如第1圖所示。同位檢查H矩陣102在本文中也稱為合成矩陣。子矩陣H0 104對應使用者資料位元和同位位元且在低密度同位檢查解碼器中定義變數節點與檢查節點之間的連接。子矩陣H0 104可以是,但不限於低密度同位檢查解碼器所使用之標準低密度同位檢查或H矩陣以施用低密度同位檢查演算法至碼字。子矩陣H0 104可以是本領域或其他所知的任何H矩陣,且本領域之通常技藝者將認知可針對本發明之不同實施例所使用的各種H矩陣,如二進制和非二進制、準循環等等。在解碼器方面,特殊層S 106具有,但不限於與子矩陣H0 104相同的結構,加入更多同位位元。在一些實施例中,特殊層S 106比子矩陣H0 104更密集。在編碼器方面,這會導致增加產生器矩陣G 100的大小。
當資料已會聚時使用特殊層S 106,在一些實施例中,當徵狀為0時,亦即,藉由將基於子矩陣H0之低密度同位檢查解碼的硬決定結果V乘以子矩陣H0來獲得的向量等於0(徵狀=子矩陣H0×硬決定或校正的碼字V)時,特殊層S 106被識別出。為了兩個目的而在一些實施例中使用特殊層S 106。在其中一個目的中,本文中稱為內級,特殊層S 106係用以當僅使用子矩陣H0 104所
計算出的徵狀為0,但其他測試(例如,但不限於循環冗餘檢查(CRC))指出資料已被錯誤校正且硬決定包含誤差時,基於全部H矩陣102來進行額外的低密度同位檢查解碼。在另一個目的中,本文中稱為外級,特殊層S 106也用以在低密度同位檢查編碼器中計算雜湊值、在低密度同位檢查解碼器中檢查雜湊值、以及試圖使用基於雜湊值的小碼字來校正錯誤校正的碼字。雜湊值係用以識別能加入至錯誤校正的碼字來校正它之小的預先計算碼字或子碼字。在其他實施例中,僅為了這些目的之其一者而使用特殊層S 106。
在內級的錯誤校正處置中,最初使用子矩陣H0 104與去能或未使用的特殊層S 106來進行低密度同位檢查解碼。若徵狀為0,意味著低密度同位檢查解碼器已判定資料已會聚且解碼完成,但另一測試指出資料已被錯誤校正,則使用包括子矩陣H0 104和特殊層S 106兩者的全部H矩陣102來重覆低密度同位檢查解碼。值得注意的是,用於全部H矩陣102的全部徵狀係為徵狀和雜湊的串聯。在一些實施例中,在徵狀=0下完成低密度同位檢查解碼之後藉由計算雜湊值來偵測錯誤校正,且若雜湊值不為0,則已發生錯誤校正。在一些實施例中,錯誤校正偵測也包括若雜湊值為0,則使用併入使用者中或在被解碼之資料中的控制器位元中之外部循環冗餘檢查位元來進行循環冗餘檢查測試。基於本文所提出之揭露,本領域之通常技藝者將認知可針對本發明之不同實施例所使用的其他
錯誤校正偵測技術。在使用全部H矩陣102來重覆低密度同位檢查解碼之後,若仍有一個錯誤校正經由雜湊、外部循環冗餘檢查或其他資料完整性測試的指示,則在一些實施例中將控制傳送至外級的錯誤校正處置。
在外級的錯誤校正處置中,針對特定雜湊值,從查找表取得或以其他方式基於雜湊值獲得小碼字。每個雜湊值可取得零、一或更多個小碼字。甚至可以為0的雜湊值來取得一或更多個碼字,其可當儘管雜湊值為0,仍使用外部循環冗餘檢查或其他資料完整性測試來偵測錯誤校正時出現。對子矩陣H0 104預先計算小碼字。每個取得的小碼字被施用至由低密度同位檢查解碼產生之錯誤校正的碼字以判定應用是否校正錯誤校正的碼字。在一些實施例中,每個小碼字係使用互斥-或(XOR)運算與錯誤校正的碼字結合。若所得之碼字的徵狀為0,則所得之碼字是校正的碼字。藉由使用滿足線性特性的碼字,雜湊值和小碼字能用以編輯且校正錯誤校正的解碼碼字。針對任何二進制向量A和B,線性特性指定HASH(A XOR B)=HASH(A)XOR HASH(B)。特別是,若針對解碼碼字A,小碼字B被發現具有相同雜湊值,且碼字A XOR碼字B造成HASH=0,則這意味著施用小碼字至錯誤校正的碼字當其在校正之前造成用於全部H矩陣102,但不僅用於子矩陣H0 104的碼字,因為若HASH(A)=HASH(B),則HASH(A)XOR HASH(B)=0。在沒有用於雜湊值之線性特性的實施例中,測試每個小碼字並對校正
的碼字重新計算循環冗餘檢查。外級的錯誤校正處置係基於假設錯誤校正是由低權重碼字造成,其權重接近低密度同位檢查碼的最小距離,且一列上述低權重碼字是可用的並有用於具有錯誤校正處置之低密度同位檢查解碼器的可管理大小。
再次,對子矩陣H0 104預先計算小碼字。當在設計時間產生子矩陣H0 104時,也產生小碼字以及其雜湊值。雜湊值與小碼字對係儲存於查找表中或以其他方式可用於低密度同位檢查解碼器。在一些實施例中,在低密度同位檢查解碼期間可取得並使用之小碼字的設計時間選擇係基於至少部分在低密度同位檢查解碼器的廣泛設計模擬期間識別出導致錯誤校正的小碼字。小碼字可以任何適當方式用於低密度同位檢查解碼器,包括但不限於可被低密度同位檢查解碼器存取之記憶體中的查找表。基於本文所提出之揭露,本領域之通常技藝者將認知可針對本發明之不同實施例使用可用於低密度同位檢查解碼器之小碼字與雜湊對的其他方式。
在使用準循環同位檢查矩陣的一些實施例中,碼字被分成循環相等字的類別。在特殊層S具有相同循環結構且其高度分開循環大小(換言之,雜湊位元長度分開循環大小)的實施例中,查找表對每個相等字之類別只包含一個雜湊值,顯著地減少雜湊與小碼字對的大小。在具有非二進制低密度同位檢查準循環矩陣的實施例中,能以類似方式來減少所儲存的對數量,對碼字考慮到高氏
場多重性。在具有其中碼字被轉換的準循環或高氏場等效性的實施例中,雜湊值被等效地轉換。因此,針對相等碼字,不重新計算雜湊值,而是,藉由已對來自相同類別的碼字計算之已知雜湊值的簡單準循環轉換及/或高氏場乘法來獲得雜湊值。這能顯著地減少所儲存的對數量。為了保存所儲存對的特有性,在一些實施例中,來自相同類別之所有相等碼字中的最低雜湊值係使用在查找表中作為整個相等類別的代表。
雜湊值係基於特殊層S 106而計算出且被包括作為在待被解碼之資料中的額外同位位元。在一些實施例中,雜湊值係以與徵狀相同的方式在低密度同位檢查解碼器中被計算出,其中不包括特殊層S 106地基於子矩陣H0 104來計算出徵狀,且不包括子矩陣H0 104地基於特殊層S 106來計算出雜湊值。雜湊被如此計算出作為特殊層S 106乘以特殊層S的硬決定結果(雜湊=特殊層S×用於特殊層S的硬決定或校正的碼字)。低密度同位檢查編碼係基於產生器矩陣G 100而進行,對應於全部H矩陣102。雜湊值因此對應於與特殊層S 106關聯的額外同位位元。在一些其他實施例中,減少從編碼器到解碼器產生且傳送的定期通道循環冗餘檢查資料量,而不是隨特殊層S 106而增加同位位元量。
給定預選特殊層S 106,對所產生的每個小碼字C計算雜湊值S*C。由於錯誤校正通常會因小碼字或整體碼字的部分而發生,因此解碼中的錯誤校正不會產生正
確的碼字D,而會產生錯誤校正的碼字E,其對於某個小碼字C而言等於D XOR C。藉由使用雜湊值來從查找表中取得小碼字C且施用校正E XOR C=D XOR C XOR C=D,獲得正確的碼字D。
在已進行內級和外級的錯誤校正處置之後,能根據外級的錯誤校正處置(例如,但不限於外部循環冗餘檢查測試)在經校正碼字上進行額外測試,且若經校正的碼字仍然不正確,則可呼叫額外校正技術。
轉到第2-4圖,依照本發明之各種實施例來顯示資料處理系統。依照本發明之一或更多實施例,第2圖中描繪具有編碼系統和解碼系統的資料處理系統,包括具有錯誤校正處置之低密度同位檢查解碼器。資料處理系統係用以處理使用者資料位元202、將它們儲存於其中或透過儲存器或傳輸通道208來傳輸它們及取得使用者資料位元214而不會引進錯誤。被儲存或傳輸的使用者資料202被擁有具有錯誤校正支援之低密度同位檢查編碼器的編碼系統204接收。擁有具有錯誤校正支援之低密度同位檢查編碼器的編碼系統204基於產生器G矩陣來在低密度同位檢查編碼器中編碼使用者資料202,包括對同位檢查H矩陣的特殊層S計算雜湊值。擁有具有錯誤校正支援之低密度同位檢查編碼器的編碼系統204產生具有被包括作為額外同位位元之雜湊值的編碼資料206。編碼資料206被儲存或傳輸於儲存器/傳輸通道208(例如,但不限於磁性硬碟機或無線電信號)中。編碼資料210係從儲存器/
傳輸通道208取得且被擁有具有錯誤校正處置之低密度同位檢查解碼器的解碼系統212解碼。擁有具有錯誤校正處置之低密度同位檢查解碼器的解碼系統212施用低密度同位檢查解碼演算法至取得之編碼資料210。若資料會聚且徵狀是0,但其他測試指出錯誤校正,則擁有具有錯誤校正處置之低密度同位檢查解碼器的解碼系統212施用內級和外級的錯誤校正處置之任一者或兩者以產生解碼使用者資料214。
轉到第3圖,依照本發明之一或更多實施例來描繪包括具有錯誤校正支援304之低密度同位檢查編碼器的編碼系統,適用於取代第2圖之擁有具有錯誤校正支援之低密度同位檢查編碼器的編碼系統204的一些實施例。使用者資料302被對使用者資料302產生循環冗餘檢查位元318的通道循環冗餘檢查編碼器316處理。循環冗餘檢查位元318藉由多工器320或以任何其他適當方式被加至使用者資料302,產生具有通道循環冗餘檢查位元322的使用者資料。在一些實施例中,藉由模式限制編碼器324來編碼具有通道循環冗餘檢查位元322的使用者資料,準備具有通道循環冗餘檢查位元322的使用者資料以供儲存或傳輸,如此便減少錯誤。模式限制編碼器324可施用,但不限於如最大轉換執行(MTR)、執行長度限制(RLL)或其他限制的模式限制。基於本文所提出之揭露,本領域之通常技藝者將認知可針對本發明之不同實施例所使用的各種模式限制編碼器。
來自模式限制編碼器324的編碼使用者位元326係編碼於具有錯誤校正支援的低密度同位檢查解碼器330中。具有錯誤校正支援的低密度同位檢查解碼器330基於對應於具有子矩陣H0之H矩陣和特殊層S的產生器矩陣G來施用低密度同位檢查編碼演算法,包括對產生器矩陣G計算雜湊值且包括它們作為用於特殊層S的額外同位位元。在一些實施例中,使用循環冗餘檢查演算法來在具有錯誤校正支援的低密度同位檢查解碼器330中計算出雜湊值。具有錯誤校正支援的低密度同位檢查解碼器330將資料欄位332和同位欄位334提供至同位插入電路338,其根據產生器矩陣G將來自同位欄位334的同位位元插入來自資料欄位332的資料位元中,產生編碼資料306。
藉由在於模式限制編碼器324中的模式限制編碼之後計算雜湊值,編碼資料306可能違反模式限制。然而,雜湊恢復線性特性雜湊以在外級的錯誤校正處置中使用,使得能取得且使用小碼字以校正錯誤校正的碼字。雜湊值可因此包括少量位元,例如,但不限於24或32個雜湊位元,其不接收模式限制編碼,但這提供線性特性雜湊的好處,包括低密度同位檢查解碼器不需要測試每個小的碼字以校正錯誤校正的碼字。若進行如CRC-32演算法的定期循環冗餘檢查,藉由在模式限制編碼之前將額外32個位元嵌入使用者資料中來擴展使用者位元,則將會隨著透過模式限制編碼器324傳送的額外位元而失去線性
特性。當雜湊值保留線性特性時,能僅基於其雜湊值或循環冗餘檢查來編輯碼字,而無須高成本地對所編輯的字重新計算循環冗餘檢查值。
轉到第4圖,依照本發明之一或更多實施例來描繪包括具有錯誤校正處置之低密度同位檢查解碼器的解碼系統412。解碼系統412包括接收類比編碼資料410的類比前端電路440、當它是從儲存裝置或傳輸媒體取得時對應於編碼資料306的類比信號。類比前端電路440處理類比編碼資料410並將處理之類比信號提供給類比至數位轉換器電路442。類比前端電路442可包括,但不限於如本領域所知的類比濾波器和放大器電路。基於本文所提出之揭露,本領域之通常技藝者將認知可被包括作為類比前端電路440之一部分的各種電路。在一些實施例中,類比編碼資料410係從關聯於儲存媒體(未顯示)而設置的讀/寫頭組件(未顯示)取得。在其他實施例中,類比編碼資料410係從可操作以從傳輸媒體(未顯示)接收信號的接收器電路(未顯示)取得。傳輸媒體可以是有線的或無線的。基於本文所提出之揭露,本領域之通常技藝者將認知可從中取得類比編碼資料410的各種來源。
類比至數位轉換器電路442將處理之類比信號轉換成對應之數位樣本串。類比至數位轉換器電路442可以是本領域中所知能夠產生對應於類比輸入信號之數位樣本的任何電路。基於本文所提出之揭露,本領域之通常技藝者將認知可針對本發明之不同實施例所使用的各種類
比至數位轉換器電路。數位樣本被提供至等化器電路444。等化器電路444施用等化演算法至數位樣本以產生等化輸出。在本發明之一些實施例中,等化器電路444是一種如本領域中所知的數位有限脈衝回應濾波器電路。在一些情況下,等化器電路444包括足夠的記憶體來保存一或更多碼字,直到資料偵測器電路446可用於處理及用於透過資料偵測器電路446的多個程序為止。
資料偵測器電路446可操作以施用資料偵測演算法至接收之碼字或資料集,且在一些情況下,資料偵測器電路446能平行地處理二或更多碼字。在本發明之一些實施例中,資料偵測器電路446是一種如本領域中所知的維特比演算法資料偵測器電路。在本發明之其他實施例中,資料偵測器電路446是一種如本領域中所知的最大後驗資料偵測器電路。請注意,「維特比資料偵測演算法」或「維特比演算法資料偵測器電路」之一般說法就其最廣泛意義而言係用以表示任何維特比偵測演算法或維特比演算法偵測器電路或以上之變化,包括但不限於雙向維特比偵測演算法或雙向維特比演算法偵測器電路。又,「最大後驗資料偵測演算法」或「最大後驗資料偵測器電路」之一般說法就其最廣泛意義而言係用以表示任何最大後驗偵測演算法或偵測器電路或以上之變化,包括但不限於簡化最大後驗資料偵測演算法和最大對數最大後驗資料偵測演算法、或對應偵測器電路。基於本文所提出之揭露,本領域之通常技藝者將認知可針對本發明之不同實施例所使用
的各種資料偵測器電路。基於可從等化器電路444或從中央記憶體電路450得到的資料集來啟始資料偵測器電路446。
當完成時,資料偵測器電路446提出包括軟資料的偵測器輸出。如本文所使用,「軟資料」之說法就其廣泛意義而言係用以表示可靠性資料,其中每個可靠性資料指出已正確地偵測到對應位元位置或位元位置之群組的可能性。在本發明之一些實施例中,軟資料或可靠性資料是一種如本領域中所知的對數似然比資料。偵測之輸出被提供至本地交錯器電路448。本地交錯器電路448可操作以混合被包括作為偵測之輸出的資料集之子部分(即,本地塊)並提供儲存至中央記憶體電路450的交錯碼字。本地交錯器電路448可以是本領域中所知能夠混合資料集以產生重新排列之資料集的任何電路。
當具有錯誤校正處置的低密度同位檢查解碼器454是可用的時,先前儲存的交錯碼字便從中央記憶體電路450存取作為儲存之碼字且被全域交錯器/解交錯器電路452全域地交錯。全域交錯器/解交錯器電路452可以是本領域中所知能夠全域地重新排列碼字的任何電路。全域交錯器/解交錯器電路452將解碼器輸入提供至具有錯誤校正處置的低密度同位檢查解碼器454。
具有錯誤校正處置的低密度同位檢查解碼器454施用低密度同位檢查解碼演算法至解碼器輸入以產生解碼輸出460。若資料在具有錯誤校正處置的低密度同位
檢查解碼器454中會聚,產生為0的徵狀,則在具有錯誤校正處置的低密度同位檢查解碼器454中的所得碼字上進行一或更多錯誤校正測試以判斷其是否被錯誤校正。若偵測到錯誤校正,則具有錯誤校正處置的低密度同位檢查解碼器454進行內級和外級的錯誤校正處置之一或更多者,使得解碼輸出460是正確的。
在內級的錯誤校正處置中,使用特殊層S 462以基於全部H矩陣102來進行額外低密度同位檢查解碼。換言之,在全部矩陣102上而不是只在子矩陣H0上進行低密度同位檢查解碼演算法,如此解碼輸出460是基於全部H矩陣102的碼字。
在外級的錯誤校正處置中,使用基於特殊層S所計算的雜湊值以查找與來自主低密度同位檢查解碼之碼字結合的對應小碼字。因此,解碼輸出460中的碼字與來自查找表或小碼字464列的小碼字結合。解碼輸出460中的碼字或經校正的碼字係儲存於硬決定佇列466中。值得注意的是,雖然在具有錯誤校正處置的低密度同位檢查解碼器454外部描繪出特殊層S 462和小碼字464列以繪示內級和外級的錯誤校正處置之操作,但在一些實施例中,在具有錯誤校正處置的低密度同位檢查解碼器454中內部地進行這兩級的錯誤校正處置。
硬決定佇列466中的碼字被同位移除電路468處理以移除同位位元,產生在模式限制解碼器470中被解碼的資料位元。模式限制解碼器470反轉由編碼系統304
中的模式限制編碼器324進行的編碼。在所得之解碼位元上進行通道循環冗餘檢查472。若偵測到錯誤,則使用用於循環冗餘檢查校正的一列小碼字474來對儲存於硬決定佇列466中的碼字進行校正。在其他實施例中,可施用其他外部資料檢查和校正技術來取代通道循環冗餘檢查472。基於本文所提出之揭露,本領域之通常技藝者將認知可針對本發明之不同實施例所使用的各種資料完整性檢查和校正演算法。當滿足通道循環冗餘檢查472時,從解碼系統412輸出解碼使用者資料414。
如具有錯誤校正處置的低密度同位檢查解碼器454所施用之資料解碼演算法無法會聚且沒有更多本地疊代(透過具有錯誤校正處置的低密度同位檢查解碼器454之疊代)被允許時,來自具有錯誤校正處置的低密度同位檢查解碼器454之軟解碼器輸出經由全域交錯器/解交錯器452被傳回中央記憶體電路450。在將軟解碼輸出儲存至中央記憶體電路450之前,軟解碼輸出被全域地解交錯以產生儲存至中央記憶體電路450的全域解交錯輸出。全域解交錯反轉較早施用至所儲存碼字的全域交錯以產生解碼器輸入。當資料偵測器電路446是可用的時,先前儲存的解交錯輸出便從中央記憶體電路450存取且被本地解交錯器電路456本地地解交錯。本地解交錯器電路456重新排列軟解碼器輸出以反轉本地交錯器電路448最初所進行的混合。所得之解交錯輸出被提供至資料偵測器電路446,其中它係用以引導如來自等化器電路444的等
化輸出所收到之對應資料集的隨後偵測。
轉到第5圖,依照本發明之一些實施例來描繪具有錯誤校正處置的低密度同位檢查解碼器500。具有錯誤校正處置的低密度同位檢查解碼器500並不限於用於同位檢查計算或信息產生技術的任何特定演算法。在具有錯誤校正處置的低密度同位檢查解碼器500中,資料位元或符元當被解碼時便儲存於變數節點中,且在一些檢查節點中進行同位檢查。設計選擇變數節點與檢查節點之間的連接(或邊緣)作為低密度同位檢查碼。H矩陣中的非零元件代表變數節點與檢查節點之間的連接,其中行代表變數節點,列代表檢查節點,且對於非二進制解碼器而言,來自位於變數節點行與檢查節點列的交點之高氏場的隨機非零元素表示此變數節點與檢查節點之間的連接並對此變數節點與檢查節點之間的信息提供置換。信息係在疊代程序中傳送於連接的變數節點與檢查節點之間,將關於應出現於變數節點中的值之信任傳送至連接的檢查節點。基於信息來在檢查節點中進行同位檢查,且若需要的話,將結果回傳至連接的變數節點以更新信任。非二進制低密度同位檢查解碼器中的信息是多維向量,通常不是單純似然機率向量就是對數似然比向量。
對具有錯誤校正處置的低密度同位檢查解碼器500的輸入資料502係儲存於記憶體504中。輸入資料502包括代表變數節點值機率的軟值。來自記憶體504的機率值506被提供至變數節點處理器510,其為每個位元
或符元的感知值產生包含機率值的變數節點至檢查節點信息520。檢查節點處理器522接收變數節點至檢查節點信息520並基於來自連接的變數節點之信息來對每個檢查節點進行同位檢查計算。檢查節點處理器522也產生檢查節點至變數節點信息524,使變數節點處理器510能基於來自連接的檢查節點之檢查節點至變數節點信息524來更新用於每個變數節點的感知值。
在最小總和為基的低密度同位檢查解碼器中,檢查節點處理器522選擇最低(或最小)對數似然比值並將它們送回隨正負號調整之連接的變數節點。更新之變數節點值也可藉由變數節點處理器510或檢查節點處理器522或這兩者來在本地解碼疊代期間於記憶體504中被更新。來自變數節點處理器510的機率值512也可被提供至產生硬決定輸出516的硬決定輸出電路514。
低密度同位檢查解碼器500中的排程器和錯誤校正處置電路530控制低密度同位檢查解碼器500中的H矩陣之處理,例如,但不限於控制檢查節點至變數節點和變數節點至檢查節點信息產生的順序、同位檢查和變數節點更新、及最初造成變數節點處理器510和檢查節點處理器522僅使用子矩陣H0來解碼輸入資料502。排程器和錯誤校正處置電路530也實作錯誤校正處置。
徵狀和雜湊計算電路532藉由將用於同位檢查矩陣H0之低密度同位檢查解碼的硬決定結果V乘以子矩陣H0來計算徵狀,且藉由將用於特殊層S之低密度同
位檢查解碼的硬決定結果乘以特殊層S來計算雜湊值。因此,以與徵狀同樣的方式來計算雜湊值,其中不包括特殊層S106地基於子矩陣H0 104來計算出徵狀,且其中不包括子矩陣H0 104地基於特殊層S 106來計算出雜湊值。徵狀和雜湊計算電路532可實作成獨立電路或包含徵狀和雜湊計算電路的組合電路。
在只使用子矩陣H0來初始解碼輸入資料502之後,若徵狀和雜湊計算電路532所計算的徵狀為0,指出資料已會聚,則徵狀和雜湊計算電路532計算雜湊且排程器和錯誤校正處置電路530判斷雜湊是否為0。若雜湊不為0,則排程器和錯誤校正處置電路530實作內級的錯誤校正處置,導致變數節點處理器510和檢查節點處理器522使用整個H矩陣102來重覆解碼輸入資料502。在一些實施例中,若雜湊在初始解碼之後為0,則循環冗餘檢查電路536對由編碼器併入至使用者位元中的外部循環冗餘檢查位元進行循環冗餘檢查,且若循環冗餘檢查失敗,則識別出錯誤校正且排程器和錯誤校正處置電路530實作內級的錯誤校正處置。在一些實施例中,其他錯誤校正技術與錯誤校正處置結合,例如但不限於目標符號翻轉。
在已使用整個H矩陣102來重覆解碼輸入資料502且徵狀再次為0之後,基於徵狀和雜湊計算電路532所計算的雜湊值,且在一些實施例中,基於循環冗餘檢查,藉由排程器和錯誤校正處置電路530來重覆錯誤校正測試。若再次識別出錯誤校正,則排程器和錯誤校正處
置電路530在內級的錯誤校正處置期間使用徵狀和雜湊計算電路532所計算的雜湊來實作外級的錯誤校正處置以查找關聯於雜湊的小碼字。若找到小碼字,則藉由在XOR運算中結合小碼字與錯誤校正的碼字來校正錯誤校正的碼字以產生經校正的碼字。
轉到第6圖,流程圖600描繪依照本發明之一些實施例之用於內級錯誤校正處置的操作。依據流程圖600,讀取資料扇區(方塊602),在一些實施例中,資料扇區被關聯於磁性儲存媒體設置的讀/寫頭組件讀取。在其他實施例中,資料扇區係從可操作以從傳輸媒體接收信號的接收器電路得到。計算出用於資料扇區的軟輸入(方塊604)。在一些實施例中,這是由如維特比偵測器或最大後驗資料偵測器電路的資料偵測器進行。以在同位檢查H矩陣中被去能的特殊層對資料扇區軟輸入進行低密度同位檢查解碼(方塊606)。判斷關於所得之徵狀是否為0(方塊610)。藉由將具有去能的特殊層之低密度同位檢查解碼的硬決定結果乘以子矩陣H0來計算出徵狀。若徵狀為0,則判斷關於所得之雜湊是否為0(方塊612)。藉由將用於特殊層的硬決定結果乘以特殊層來計算出雜湊。若如在方塊612中判斷的雜湊為0,則在一些實施例中,則由具有去能之特殊層之低密度同位檢查解碼所產生的碼字被認為是正確的且使用用於碼字的硬決定輸出(方塊622)。若如方塊612中判斷的雜湊不為0或若如在方塊610中判斷的徵狀不為0,則對資料扇區軟輸入
重覆低密度同位檢查解碼,其中同位檢查H矩陣中的特殊層被致能(方塊614)。另一項判斷關於所得之徵狀是否為0(方塊616)。若在允許數量的本地和全域解碼疊代之後如在方塊616中判斷的徵狀不為0,則資料無法會聚且可進行後處理校正(方塊624)。上述後處理校正可包括任何類型的資料校正或錯誤復原技術,如目標符號翻轉。若後處理校正不成功或不可用,則解碼已失敗。若如在方塊616中判斷的徵狀為0,則判斷關於所得之雜湊是否為0(方塊620)。若雜湊為0,則認為解碼成功且使用用於碼字的硬決定輸出(方塊622)。若雜湊不為0,則進行外級錯誤校正處置(方塊626)。在其他實施例中,基於如但不限於循環冗餘檢查的外部測試以及雜湊值來在方塊612和620中識別出錯誤校正。
轉到第7圖,流程圖700描繪依照本發明之一些實施例之用於外級錯誤校正處置的操作。依據流程圖700,使用雜湊值以搜尋具有相同雜湊值的小碼字(方塊702)。使用預先計算之用於子矩陣H0的小碼字列連同其對應雜湊值來進行方塊702。再次,藉由將用於特殊層的硬決定結果乘以特殊層來計算出在低密度同位檢查解碼器中產生的雜湊值。在其中小碼字與其對應雜湊值(在設計時間對用於同位檢查矩陣H的特殊層S預先計算)儲存成對的查找表中搜尋小碼字。判斷關於是否發現到具有相配雜湊值的小碼字(方塊704)。若否,則外級錯誤校正處置已失敗,因為沒有任何小碼字可用以校正錯誤校正的
碼字,且進行後處理校正(方塊706)。上述後處理校正可包括任何類型的資料校正或錯誤復原技術,如目標符號翻轉。若後處理校正不成功或不可用,則解碼已失敗。
若如在方塊704中判斷使用在低密度同位檢查解碼器中計算的雜湊值來找到小碼字,則對錯誤校正的碼字施用小碼字(方塊708)。在一些實施例中,這是藉由在XOR運算中結合小碼字與錯誤校正的碼字來實現。重新計算通道循環冗餘檢查(方塊710)。判斷關於是否滿足通道循環冗餘檢查(方塊712)。若是,則認為經校正的碼字是正確的且使用用於校正碼字之硬決定輸出(方塊714)。若不滿足通道循環冗餘檢查,則判斷關於是否已全部試過用於全部矩陣H的小碼字列(方塊716)。若是,則外級錯誤校正處置已失敗,因為沒有任何小碼字可用以校正錯誤校正的碼字,且進行後處理校正(方塊706)。若繼續嘗試額外的小碼字,則對錯誤校正的碼字選擇並施用另一小碼字(方塊720)。重新計算通道循環冗餘檢查(方塊710)且當小碼字繼續嘗試校正錯誤校正的碼字時操作繼續。對全部同位檢查矩陣H使用預先計算之壓縮的小碼字列來進行方塊716和720。
雖然本文所揭露之具有錯誤校正處置的低密度同位檢查解碼器並不限於任何特定應用,但在受益於本發明之實施例的第8圖和第9圖中提出數個應用實例。轉到第8圖,繪示儲存系統800作為依照本發明之一些實施例之具有錯誤校正處置的低密度同位檢查解碼器之示範應
用。依照本發明之一些實施例,儲存系統800包括擁有具有錯誤校正處置的低密度同位檢查解碼器之讀取通道電路802。儲存系統800可以是例如硬碟機。儲存系統800也包括前置放大器804、介面控制器806、硬碟控制器810、馬達控制器812、轉軸馬達814、磁碟盤816、及讀/寫頭組件820。介面控制器806控制至/來自磁碟盤816之資料的定址和時序。磁碟盤816上的資料由可當組件適當地定位於磁碟盤816上方時被讀/寫頭組件820偵測的磁信號組組成。在一實施例中,磁碟盤816包括依照縱向或垂直記錄架構來記錄的磁信號。
在典型的讀取操作中,讀/寫頭組件820準確地被馬達控制器812定位於磁碟盤816的期望資料磁軌上方。馬達控制器812相對於磁碟盤816而定位讀/寫頭組件820且藉由移動讀/寫頭組件820至在硬碟控制器810之方向下方之磁碟盤816的適當資料磁軌來驅動轉軸馬達814。轉軸馬達814以預定自旋速率(RPM)來自旋磁碟盤816。當讀/寫頭組件820被定位相鄰於適當資料磁軌時,在轉軸馬達814旋轉磁碟盤816時讀/寫頭組件820感測到代表磁碟盤816上之資料的磁信號。所感測的磁信號被提供作為代表磁碟盤816上之磁性資料的連續、微小類比信號。此微小類比信號經由前置放大器804從讀/寫頭組件820傳輸至讀取通道電路802。前置放大器804可操作以放大從磁碟盤816存取的微小類比信號。接著,讀取通道電路802解碼並數位化收到的類比信號以重新產生
最初寫入至磁碟盤816的資訊。此資料被提供作為給接收電路的讀取資料822。作為處理收到之資訊的一部分,讀取通道電路802使用具有錯誤校正處置的低密度同位檢查解碼器來對收到的信號進行資料解碼程序。可與上面關聯於第1-5圖之本揭露一致地實作上述具有錯誤校正處置的低密度同位檢查解碼器。在一些情況下,可與上面關聯於第6-7圖所揭露之流程圖一致地進行具有錯誤校正處置的資料解碼。寫入操作實質上係與具有被提供至讀取通道電路802且寫入至磁碟盤816的寫入資料824之前面的讀取操作相反。
應注意儲存系統800可併入至更大的儲存系統中,例如RAID(便宜磁碟的冗餘陣列或獨立磁碟的冗餘陣列)為基的儲存系統。這類RAID儲存系統透過冗餘來增加穩定性和可靠性,結合多個磁碟作為邏輯單元。資料可根據各種演算法被散佈到包括在RAID儲存系統中的一些磁碟且就像單一磁碟一樣被作業系統存取。例如,資料可被鏡射至RAID儲存系統中的多個磁碟,或可被分割和分佈到一些技術中的多個磁碟。若RAID儲存系統中的少量磁碟故障或變得不可用,則可使用錯誤校正技術以基於來自RAID儲存系統中的其他磁碟之資料的剩餘部分來重新產生遺失資料。RAID儲存系統中的磁碟可以是,但不限於如儲存系統800的個別儲存系統,且可位於彼此接近處或更廣泛地分佈以提高安全性。在寫入操作中,寫入資料例如藉由鏡射或藉由分割寫入資料來提供至跨磁碟儲
存寫入資料的控制器。在讀取操作中,控制器從磁碟取得資料。控制器接著產生所得之讀取資料,就像RAID儲存系統是單一磁碟一樣。
轉到第9圖,依照本發明之一些實施例來顯示無線通訊系統900或資料傳輸裝置,包括發射器902和擁有具有錯誤校正處置之低密度同位檢查解碼器的接收器904。通訊系統900包括發射器902,其可操作以經由如本領域中所知的傳輸媒體906來傳輸編碼資訊。接收器904從傳輸媒體906接收編碼資料。接收器904併入具有錯誤校正處置的低密度同位檢查解碼器。可與上面關聯於第1-5圖之本揭露一致地實作上述具有錯誤校正處置的低密度同位檢查解碼器。在一些情況下,可與上面關聯於第6-7圖所揭露之流程圖一致地進行具有錯誤校正處置的資料解碼。
低密度同位檢查技術可適用於傳輸實際上任何通道上方的資料或儲存實際上任何媒體上的資訊。傳輸應用包括,但不限於光纖、無線電頻率通道、有線或無線區域網路、數位用戶線技術、無線蜂巢、透過如銅或光纖之任何媒體的乙太網路、如有線電視的有線通道、及地球衛星通訊。儲存應用包括,但不限於硬碟機、光碟、數位光碟、磁帶及如動態隨機存取記憶體、反向AND快閃、反向OR快閃、其他非揮發性記憶體和固態硬碟的記憶體裝置。
應注意可以積體電路連同其他功能來實作上
面應用所討論之各種方塊。這類積體電路可包括特定方塊、系統或電路的所有功能、或只有方塊、系統或電路的子集。此外,可跨多個積體電路來實作方塊、系統或電路的元件。這類積體電路可以是本領域中所知之任何類型的積體電路,包括但不限於單晶積體電路、覆晶積體電路、多晶片模組積體電路、及/或混合信號積體電路。也應注意可以軟體或韌體來實作本文所述之方塊、系統或電路的各種功能。在上述一些情況下,可使用其等效軟體或韌體來實作整個系統、方塊或電路。在其他情況下,可以軟體或韌體來實作特定系統、方塊或電路的一部分,而以硬體來實作其他部分。
綜上所述,本發明提出了用於具有錯誤校正處置之低密度同位檢查解碼的新穎設備和方法。儘管上面已提出了本發明之一或更多實施例的詳細說明,但本領域之那些熟知技藝者將清楚明白可在不脫離本發明之精神下進行各種替代方案、修改及等效。因此,上述說明不應被視為限制本發明之範圍,其由所附之申請專利範圍定義。
800‧‧‧儲存系統
802‧‧‧讀取通道電路
804‧‧‧前置放大器
806‧‧‧介面控制器
810‧‧‧硬碟控制器
812‧‧‧馬達控制器
814‧‧‧轉軸馬達
816‧‧‧磁碟盤
820‧‧‧讀/寫頭組件
822‧‧‧讀取資料
824‧‧‧寫入資料
Claims (20)
- 一種資料處理系統,包含:一解碼器電路,可操作以基於一合成矩陣的一第一部分來施用一解碼演算法至一解碼器輸入以產生一碼字;一徵狀計算電路,可操作以基於該碼字和該合成矩陣的該第一部分來計算一徵狀;及一雜湊計算電路,可操作以基於該合成矩陣的一第二部分來計算一雜湊,其中該解碼器電路可操作以當該徵狀指出基於該合成矩陣的該第一部分之該碼字是正確的,但一第二測試指出該碼字被錯誤校正時,基於至少部分的該雜湊來校正該碼字。
- 如申請專利範圍第1項所述之資料處理系統,其中該解碼器電路包含一低密度同位檢查解碼器且該合成矩陣包含一同位檢查矩陣。
- 如申請專利範圍第1項所述之資料處理系統,更包含一錯誤校正處置電路,可操作以使該解碼器電路藉由基於整個該合成矩陣再施用該解碼演算法至該解碼器輸入來校正該碼字。
- 如申請專利範圍第1項所述之資料處理系統,其中該第二測試包含比較該雜湊與一期望值。
- 如申請專利範圍第1項所述之資料處理系統,其中該第二測試包含一循環冗餘檢查,比較基於該碼字而計算出的循環冗餘檢查位元與在該解碼器輸入中的來源循環冗餘檢查位元。
- 如申請專利範圍第1項所述之資料處理系統,更包含一錯誤校正處置電路,可操作以藉由使用該雜湊搜尋一子碼字且結合該子碼字與該碼字來以該解碼器電路校正該碼字。
- 如申請專利範圍第6項所述之資料處理系統,其中該錯誤校正處置電路可操作以使用該雜湊來搜尋子碼字與雜湊值對之一查找表中的該子碼字。
- 如申請專利範圍第6項所述之資料處理系統,其中該錯誤校正處置電路可操作以藉由比較來自結合該子碼字與該碼字的一所得之碼字與一期望值來判斷結合該子碼字與該碼字是否校正該錯誤校正的碼字。
- 如申請專利範圍第6項所述之資料處理系統,其中該錯誤校正處置電路可操作以使用一循環冗餘檢查來判斷結合該子碼字與該碼字是否校正該錯誤校正的碼字。
- 如申請專利範圍第1項所述之資料處理系統,更包含一低密度同位檢查編碼器電路,可操作以基於對應於該合成矩陣的一同位產生器矩陣來編碼輸入資料。
- 如申請專利範圍第10項所述之資料處理系統,更包含一模式限制編碼器,可操作以編碼該輸入資料以排除不需要的資料模式,其中該解碼器輸入係源於該低密度同位檢查編碼器中的一輸出,其中該低密度同位檢查編碼器電路可操作以產生對應於該合成矩陣之該第二部分的同位位元,且其中該同位位元被提供至該解碼器電路而不通過該模式限制編碼器。
- 如申請專利範圍第1項所述之資料處理系統,其中對應於該合成矩陣的該第二部分之該解碼器輸入中的同位位元滿足一線性特性。
- 如申請專利範圍第1項所述之資料處理系統,其中該資料處理系統被實作成部分選自由一儲存裝置和一接收裝置組成之一群組的一裝置。
- 如申請專利範圍第1項所述之資料處理系統,其中該資料處理系統被實作成一積體電路。
- 一種解碼資料的方法,包含:基於一合成矩陣的一第一部分來施用一解碼演算法至該資料以產生一碼字;將該碼字乘以該合成矩陣的該第一部分以產生一徵狀;基於該合成矩陣的一第二部分來施用該解碼演算法至該資料以產生一第二碼字;將該第二碼字乘以該合成矩陣的該第二部分以產生一雜湊;及當該徵狀指出該碼字是正確的,但一第二測試指出該碼字被錯誤校正時,基於至少部分該雜湊來校正該碼字。
- 如申請專利範圍第15項所述之方法,其中當該徵狀指出該碼字是正確的,但該第二測試指出該碼字被錯誤校正時,藉由基於整個該合成矩陣再施用該解碼演算法至該資料來校正該碼字。
- 如申請專利範圍第15項所述之方法,其中藉由使 用該雜湊來搜尋子碼字與雜湊值對之一查找表中的一子碼字且在一互斥OR運算中結合該子碼字與該碼字來校正該碼字。
- 如申請專利範圍第17項所述之方法,更包含以一循環冗餘檢查來測試經校正的該碼字。
- 如申請專利範圍第15項所述之方法,其中該第二測試包含比較該雜湊與一期望值。
- 一種儲存系統,包含:一儲存媒體;一讀/寫頭組件,關聯於該儲存媒體而設置且可操作以提供對應於該儲存媒體上之資訊的一感測信號;一資料處理系統,包含:一類比至數位轉換器電路,可操作以取樣源於該感測信號的一類比信號以產生一系列數位樣本;一等化器電路,可操作以等化該些數位樣本以產生一資料集;一資料偵測器電路,可操作以施用一資料偵測演算法至該資料集以產生一偵測輸出;及一資料解碼電路,包括:一解碼器,可操作以基於一合成矩陣的一第一部分來施用一解碼演算法至該偵測輸出以產生一碼字;一徵狀(syndrome)計算電路,可操作以基於該碼字和該合成矩陣的該第一部分來計算一徵狀;及一雜湊計算電路,可操作以基於該合成矩陣的一 第二部分來計算一雜湊,其中該解碼器可操作以當該徵狀指出基於該合成矩陣的該第一部分之該碼字是正確的,但一第二測試指出該碼字被錯誤校正時,基於至少部分該雜湊來校正該碼字。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/708,941 US8996969B2 (en) | 2012-12-08 | 2012-12-08 | Low density parity check decoder with miscorrection handling |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201429168A TW201429168A (zh) | 2014-07-16 |
TWI604698B true TWI604698B (zh) | 2017-11-01 |
Family
ID=49301287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102136339A TWI604698B (zh) | 2012-12-08 | 2013-10-08 | 具有錯誤校正處置之低密度同位檢查解碼器 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8996969B2 (zh) |
EP (1) | EP2741421A1 (zh) |
JP (1) | JP2014116927A (zh) |
KR (1) | KR20140074814A (zh) |
CN (1) | CN103873069A (zh) |
TW (1) | TWI604698B (zh) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9244685B2 (en) * | 2012-11-02 | 2016-01-26 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for check-node unit message processing |
US9300329B2 (en) | 2012-11-08 | 2016-03-29 | Sk Hynix Memory Solutions Inc. | Turbo-product codes (TPC) with interleaving |
US9213593B2 (en) * | 2013-01-16 | 2015-12-15 | Maxlinear, Inc. | Efficient memory architecture for low density parity check decoding |
US9141554B1 (en) | 2013-01-18 | 2015-09-22 | Cisco Technology, Inc. | Methods and apparatus for data processing using data compression, linked lists and de-duplication techniques |
KR20150128750A (ko) * | 2013-03-07 | 2015-11-18 | 마벨 월드 트레이드 리미티드 | 늦은 신뢰도 정보를 사용하여 디코딩하기 위한 시스템 및 방법 |
US9448877B2 (en) * | 2013-03-15 | 2016-09-20 | Cisco Technology, Inc. | Methods and apparatus for error detection and correction in data storage systems using hash value comparisons |
US9258112B2 (en) * | 2013-03-15 | 2016-02-09 | Accenture Global Services Limited | Configurable key-based data shuffling and encryption |
GB2510932B (en) * | 2013-08-27 | 2015-01-21 | Imagination Tech Ltd | An improved decoder for low-density parity-check codes |
KR102204394B1 (ko) * | 2013-10-14 | 2021-01-19 | 삼성전자주식회사 | 메모리 시스템에서의 코딩 방법 및 디코딩 방법 |
US9602141B2 (en) | 2014-04-21 | 2017-03-21 | Sandisk Technologies Llc | High-speed multi-block-row layered decoder for low density parity check (LDPC) codes |
US9748973B2 (en) * | 2014-04-22 | 2017-08-29 | Sandisk Technologies Llc | Interleaved layered decoder for low-density parity check codes |
US9503125B2 (en) * | 2014-05-08 | 2016-11-22 | Sandisk Technologies Llc | Modified trellis-based min-max decoder for non-binary low-density parity-check error-correcting codes |
US9559727B1 (en) | 2014-07-17 | 2017-01-31 | Sk Hynix Memory Solutions Inc. | Stopping rules for turbo product codes |
US9853873B2 (en) | 2015-01-10 | 2017-12-26 | Cisco Technology, Inc. | Diagnosis and throughput measurement of fibre channel ports in a storage area network environment |
US9900250B2 (en) | 2015-03-26 | 2018-02-20 | Cisco Technology, Inc. | Scalable handling of BGP route information in VXLAN with EVPN control plane |
US10222986B2 (en) | 2015-05-15 | 2019-03-05 | Cisco Technology, Inc. | Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system |
US11588783B2 (en) | 2015-06-10 | 2023-02-21 | Cisco Technology, Inc. | Techniques for implementing IPV6-based distributed storage space |
US10778765B2 (en) | 2015-07-15 | 2020-09-15 | Cisco Technology, Inc. | Bid/ask protocol in scale-out NVMe storage |
US9892075B2 (en) | 2015-12-10 | 2018-02-13 | Cisco Technology, Inc. | Policy driven storage in a microserver computing environment |
US20170288697A1 (en) * | 2016-03-31 | 2017-10-05 | Silicon Motion Inc. | Ldpc shuffle decoder with initialization circuit comprising ordered set memory |
US10140172B2 (en) | 2016-05-18 | 2018-11-27 | Cisco Technology, Inc. | Network-aware storage repairs |
US20170351639A1 (en) | 2016-06-06 | 2017-12-07 | Cisco Technology, Inc. | Remote memory access using memory mapped addressing among multiple compute nodes |
US10664169B2 (en) | 2016-06-24 | 2020-05-26 | Cisco Technology, Inc. | Performance of object storage system by reconfiguring storage devices based on latency that includes identifying a number of fragments that has a particular storage device as its primary storage device and another number of fragments that has said particular storage device as its replica storage device |
US11563695B2 (en) | 2016-08-29 | 2023-01-24 | Cisco Technology, Inc. | Queue protection using a shared global memory reserve |
EP3316486B1 (en) * | 2016-10-25 | 2023-06-14 | Université de Bretagne Sud | Elementary check node-based syndrome decoding with input pre-sorting |
KR20180069179A (ko) * | 2016-12-14 | 2018-06-25 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 에러 정정 방법 |
US10545914B2 (en) | 2017-01-17 | 2020-01-28 | Cisco Technology, Inc. | Distributed object storage |
US10243823B1 (en) | 2017-02-24 | 2019-03-26 | Cisco Technology, Inc. | Techniques for using frame deep loopback capabilities for extended link diagnostics in fibre channel storage area networks |
US10713203B2 (en) | 2017-02-28 | 2020-07-14 | Cisco Technology, Inc. | Dynamic partition of PCIe disk arrays based on software configuration / policy distribution |
US10254991B2 (en) | 2017-03-06 | 2019-04-09 | Cisco Technology, Inc. | Storage area network based extended I/O metrics computation for deep insight into application performance |
CN107276596B (zh) * | 2017-07-11 | 2020-07-07 | 北京理工大学 | 一种基于分段Hash序列的极化码译码方法 |
US10303534B2 (en) | 2017-07-20 | 2019-05-28 | Cisco Technology, Inc. | System and method for self-healing of application centric infrastructure fabric memory |
US10404596B2 (en) | 2017-10-03 | 2019-09-03 | Cisco Technology, Inc. | Dynamic route profile storage in a hardware trie routing table |
US10942666B2 (en) | 2017-10-13 | 2021-03-09 | Cisco Technology, Inc. | Using network device replication in distributed storage clusters |
CN108170556A (zh) * | 2018-01-18 | 2018-06-15 | 江苏华存电子科技有限公司 | 纠错码生成与校验矩阵的保护方法及矩阵存储/产生装置 |
KR102523059B1 (ko) * | 2018-04-18 | 2023-04-19 | 에스케이하이닉스 주식회사 | 에러 정정 회로 및 그것을 포함하는 메모리 시스템 |
TWI688223B (zh) * | 2019-02-11 | 2020-03-11 | 義守大學 | 代數幾何碼的赫米特碼之編碼及解碼方法 |
KR20200099438A (ko) | 2019-02-14 | 2020-08-24 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 |
US20230244569A1 (en) * | 2022-01-28 | 2023-08-03 | Pure Storage, Inc. | Recover Corrupted Data Through Speculative Bitflip And Cross-Validation |
CN114666011B (zh) * | 2022-03-23 | 2024-04-16 | 锐捷网络股份有限公司 | 一种数据处理方法、装置及电子设备 |
US11949430B2 (en) * | 2022-09-01 | 2024-04-02 | SK Hynix Inc. | Parallel system to calculate low density parity check |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3328093B2 (ja) | 1994-07-12 | 2002-09-24 | 三菱電機株式会社 | エラー訂正装置 |
US5701314A (en) | 1995-12-21 | 1997-12-23 | Cirrus Logic, Inc. | On-the-fly error correction using thermal asperity erasure pointers from a sampled amplitude read channel in a magnetic disk drive |
GB2350531B (en) | 1999-05-26 | 2001-07-11 | 3Com Corp | High speed parallel bit error rate tester |
KR100561798B1 (ko) | 1999-11-22 | 2006-03-21 | 시게이트 테크놀로지 엘엘씨 | 결함 임계값 검출기 및 비터비 이득을 사용하는 데이터 에러 복구 방법 및 장치 |
US6977930B1 (en) * | 2000-02-14 | 2005-12-20 | Cisco Technology, Inc. | Pipelined packet switching and queuing architecture |
US7136244B1 (en) | 2002-02-22 | 2006-11-14 | Western Digital Technologies, Inc. | Disk drive employing data averaging techniques during retry operations to facilitate data recovery |
WO2003085839A1 (en) * | 2002-04-05 | 2003-10-16 | Koninklijke Philips Electronics N.V. | Method and apparatus for embedding an additional layer of error correction into an error correcting code |
US7085988B1 (en) * | 2002-04-08 | 2006-08-01 | Maxtor Corporation | Hashing system utilizing error correction coding techniques |
US7779268B2 (en) * | 2004-12-07 | 2010-08-17 | Mitsubishi Electric Research Laboratories, Inc. | Biometric based user authentication and data encryption |
US7730384B2 (en) | 2005-02-28 | 2010-06-01 | Agere Systems Inc. | Method and apparatus for evaluating performance of a read channel |
US7738201B2 (en) | 2006-08-18 | 2010-06-15 | Seagate Technology Llc | Read error recovery using soft information |
US7827461B1 (en) | 2006-09-18 | 2010-11-02 | Marvell International Ltd. | Low-density parity-check decoder apparatus |
US7702989B2 (en) | 2006-09-27 | 2010-04-20 | Agere Systems Inc. | Systems and methods for generating erasure flags |
US7971125B2 (en) | 2007-01-08 | 2011-06-28 | Agere Systems Inc. | Systems and methods for prioritizing error correction data |
GB2455283A (en) * | 2007-10-31 | 2009-06-10 | Hewlett Packard Development Co | Error correction in data communication apparatus using toroidal-web Tanner graph |
US20090154916A1 (en) * | 2007-12-12 | 2009-06-18 | Tellabs Petaluma, Inc. | Method and Apparatus for GPON GEM Error Correction Implementation |
WO2010019169A1 (en) | 2008-08-15 | 2010-02-18 | Lsi Corporation | Rom list-decoding of near codewords |
CN102037513A (zh) | 2008-11-20 | 2011-04-27 | Lsi公司 | 用于噪声降低的数据检测的系统和方法 |
US7990642B2 (en) | 2009-04-17 | 2011-08-02 | Lsi Corporation | Systems and methods for storage channel testing |
EP2285003B1 (en) * | 2009-08-12 | 2019-11-13 | Alcatel Lucent | Correction of errors in a codeword |
US8176404B2 (en) | 2009-09-09 | 2012-05-08 | Lsi Corporation | Systems and methods for stepped data retry in a storage system |
US8688873B2 (en) | 2009-12-31 | 2014-04-01 | Lsi Corporation | Systems and methods for monitoring out of order data decoding |
US8458555B2 (en) | 2010-06-30 | 2013-06-04 | Lsi Corporation | Breaking trapping sets using targeted bit adjustment |
CN102045161A (zh) * | 2010-11-24 | 2011-05-04 | 上海电机学院 | 量子密钥协商方法 |
US8810940B2 (en) | 2011-02-07 | 2014-08-19 | Lsi Corporation | Systems and methods for off track error recovery |
US8693120B2 (en) | 2011-03-17 | 2014-04-08 | Lsi Corporation | Systems and methods for sample averaging in data processing |
US8886508B2 (en) * | 2011-08-22 | 2014-11-11 | Freescale Semiconductor, Inc. | Circuit simulation acceleration using model caching |
-
2012
- 2012-12-08 US US13/708,941 patent/US8996969B2/en not_active Expired - Fee Related
-
2013
- 2013-09-24 EP EP13185806.0A patent/EP2741421A1/en not_active Withdrawn
- 2013-09-27 CN CN201310447343.8A patent/CN103873069A/zh active Pending
- 2013-10-07 KR KR1020130119405A patent/KR20140074814A/ko active IP Right Grant
- 2013-10-08 TW TW102136339A patent/TWI604698B/zh active
- 2013-10-09 JP JP2013211733A patent/JP2014116927A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
CN103873069A (zh) | 2014-06-18 |
US8996969B2 (en) | 2015-03-31 |
JP2014116927A (ja) | 2014-06-26 |
TW201429168A (zh) | 2014-07-16 |
KR20140074814A (ko) | 2014-06-18 |
EP2741421A1 (en) | 2014-06-11 |
US20140164866A1 (en) | 2014-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI604698B (zh) | 具有錯誤校正處置之低密度同位檢查解碼器 | |
US8929009B2 (en) | Irregular low density parity check decoder with low syndrome error handling | |
US9459956B2 (en) | Data decoder with trapping set flip bit mapper | |
US9015547B2 (en) | Multi-level LDPC layered decoder with out-of-order processing | |
US8739004B2 (en) | Symbol flipping LDPC decoding system | |
US9048879B1 (en) | Error correction system using an iterative product code | |
US8756478B2 (en) | Multi-level LDPC layer decoder | |
US9015550B2 (en) | Low density parity check layer decoder for codes with overlapped circulants | |
JP5055578B2 (ja) | ホログラフィック記憶のための連結コード | |
US9130590B2 (en) | Non-binary layered low density parity check decoder | |
US8683309B2 (en) | Systems and methods for ambiguity based decode algorithm modification | |
US10367526B2 (en) | Irregular low density parity check processing system with non-uniform scaling | |
US20130111289A1 (en) | Systems and methods for dual process data decoding | |
US8880976B2 (en) | Method and apparatus for encoding LBA information into the parity of a LDPC system | |
US20130139023A1 (en) | Variable Sector Size Interleaver | |
US9130589B2 (en) | Low density parity check decoder with dynamic scaling | |
US9048867B2 (en) | Shift register-based layered low density parity check decoder | |
US20130139022A1 (en) | Variable Sector Size LDPC Decoder | |
US20140082449A1 (en) | LDPC Decoder With Variable Node Hardening | |
US20160087653A1 (en) | Decoder With Targeted Symbol Flipping Recovery Of Miscorrected Codewords | |
US20160191079A1 (en) | Low Dynamic Power Check Node Processor For Low Density Parity Check Decoder | |
US9727419B2 (en) | Non-binary low density parity check code column rotation | |
US20140237313A1 (en) | Systems and Methods for Trapping Set Disruption | |
US8885276B2 (en) | Systems and methods for shared layer data decoding | |
EP2665190B1 (en) | Decoding of non-binary codes with symbol re-grouping |