TWI603190B - 用以尋找一碼字中錯誤位置的方法及電子裝置 - Google Patents

用以尋找一碼字中錯誤位置的方法及電子裝置 Download PDF

Info

Publication number
TWI603190B
TWI603190B TW105131670A TW105131670A TWI603190B TW I603190 B TWI603190 B TW I603190B TW 105131670 A TW105131670 A TW 105131670A TW 105131670 A TW105131670 A TW 105131670A TW I603190 B TWI603190 B TW I603190B
Authority
TW
Taiwan
Prior art keywords
power control
control unit
codeword
input
electronic device
Prior art date
Application number
TW105131670A
Other languages
English (en)
Other versions
TW201812581A (zh
Inventor
王冠傑
Original Assignee
旺宏電子股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 旺宏電子股份有限公司 filed Critical 旺宏電子股份有限公司
Priority to TW105131670A priority Critical patent/TWI603190B/zh
Application granted granted Critical
Publication of TWI603190B publication Critical patent/TWI603190B/zh
Publication of TW201812581A publication Critical patent/TW201812581A/zh

Links

Landscapes

  • Power Sources (AREA)

Description

用以尋找一碼字中錯誤位置的方法及電子裝置
示範實施例是關於用以尋找錯誤位置的一種電子裝置及方法,特別是關於用以尋找錯誤位置的一可配置的電子裝置及方法。
BCH碼(Bose, Chaudhuri, Hocquenghem)是在通訊系統和儲存系統中被廣辦使用的一種類型的錯誤校正碼。舉例來說,在通訊系統中的一接收器可接收訊息,訊息包含在傳送訊息中多種操作導致的錯誤。並且,舉例來說,錯誤可能會發生在從一記憶體系統讀取資料的時候。使用BCH碼的一錯誤校正方法包含三個步驟:計算症狀、尋找錯誤定位多項式以及尋找錯誤位置。
尋找錯誤位置為一消耗時間的操作。提供一種平行架構以縮短搜尋時間。但高平行化會導致高操作電流及高漏電流。
依據本揭露的一第一方面,提供一電子裝置,用以尋找一碼字中的錯誤位置。電子裝置包含複數個功率控制單元,用以尋找該碼字中的錯誤位置。複數個功率控制單元並聯的耦接。每一功率控制單元包含對應的複數個輸入控制電路以分別開啟或關閉對應的功率控制單元。
依據本揭露的一第二方面,提供一方法,用以尋找一碼字中的錯誤位置。此方法由一電子裝置執行。電子裝置包含一控制器及複數個功率控制單元。此方法包含以下步驟。判斷碼字是否包含一或多個錯誤。如果此碼字沒有包含錯誤,關閉所有的功率控制單元。如果此碼字包含一或多個錯誤,判斷尋找此一或多個錯誤的位置的一時間是否短於或等於一預定時間。如果此時間短於或等於預定時間,則開啟所有的功率控制單元。如果此時間並未短於或等於預定時間,則關閉一部分的功率控制單元。
依據本揭露的一第三方面,提供一方法,用以尋找一碼字中的錯誤位置。此方法由一電子裝置執行。電子裝置包含一控制器及複數個功率控制單元。此方法包含以下步驟。判斷碼字是否包含一或多個錯誤。如果此碼字沒有包含錯誤,關閉所有的功率控制單元。如果此碼字包含一或多個錯誤,判斷尋找此一或多個錯誤的位置的一時間是否短於或等於一預定時間。如果此時間短於或等於預定時間,則開啟所有的功率控制單元。如果此時間並未短於或等於預定時間,則判斷此碼字中的錯誤的一數量是否大於或等於一預定臨界值。如果此碼字中的錯誤的一數量並未大於或等於預定臨界值,則開啟所有的功率控制單元。如果此碼字中的錯誤的一數量大於或等於預定臨界值,則關閉一部分的功率控制單元。
在此文中,參照圖式提供本揭露實施例的詳細描述。盡可能地,相同的參考符號將使用來表示附圖中相同或相似的部分。
第1圖繪示依據本揭露一實施例的一解碼器100的一方塊圖,例如一BCH解碼器。如第1圖所示,BCH解碼器100包含一症狀計算模組102、一多項式產生模組104、一錯誤位置尋找模組106、一先進先出(FIFO)模組108、及一XOR操作模組110。
BCH解碼器的症狀計算模組102及FIFO模組108 個別耦接以接收n位元的一碼字(codeword)。在此文中,一碼字由一編碼器轉換一訊息所產生。FIFO模組108用以儲存接收的n位元的碼字。症狀計算模組102用以從所接收的n位元的碼字計算症狀。如果所計算的症狀並非全部為零,則所接收的碼字之中存在一或多個錯誤。多項式產生模組104耦接到症狀計算模組102並用以從非零症狀中產生多個錯誤定位多項式,其中一多項式以Λ(x) = Λ tx t+ Λ t-1x t-1+… + Λ 0的形式表示,其中Λ ≥1位元, L 0、…、L t-1、L t為多項式的常數。錯誤位置尋找模組106耦接到多項式產生模組104並用以藉由尋找多項式的根(root)尋找碼字中的錯誤位置,其中多項式的根代表錯誤位置。XOR操作模組110耦接到FIFO模組108及錯誤位置尋找模組106,並用以從FIFO模組108接收錯誤位元,並藉由一XOR操作翻轉(flip)錯誤位元以校正錯誤。在一二進位的系統中,一碼字可以是一個多個0及/或1的序列。舉例來說,一碼字可以是1101000。舉例而不限制的,碼字的一示範定義可以在Shu Lin 等人第二版的書:“Error Control Coding: Fundamentals and Applications”中被找到。
第2圖繪示依據本揭露一實施例的錯誤位置尋找模組106的一示範硬體結構的示意圖。錯誤位置尋找模組106包含t個第一多工器202(MUX)、t個暫存器204(REG)、及p x t個計算單元206,例如乘法器(a 1、a 2、…a t、…、a p-1、a 2(p-1)、…、a t(p-1),及a p、a 2p、…、a tp)、p個加法器208、t個第一輸入控制單元/電路210(I)、p x t個第二輸入控制單元/電路212(I)、t個第二多工器214(MUX)、p個輸出控制單元/電路216(O)、及一控制器(Ctrl)218。控制器(Ctrl)218用以控制錯誤位置尋找模組106的組件。其中t是錯誤校正的能力。舉例來說,在一記憶體控制器應用中,t可以是8到72之間。在一數位視訊廣播標準(DVB-S2)中,t可以是8到12之間。控制器218耦接到每一個第一多工器202、每一個暫存器204、每一個計算單元206、每一個加法器208、每一個第一輸入控制單元/電路210、每一個第二輸入控制單元/電路212、每一個第二多工器214以及每一個輸出控制單元/電路216以提供對應的控制訊號。為了容易清楚的描述元件之間的連接關係,在第2圖中省略了這些元件和控制器218之間詳細的連接。在一些實施例中,控制器218為一處理器,用以執行指令以控制錯誤位置尋找模組106的元件。
錯誤位置尋找模106的元件形成(p+1)個功率控制單元220F(PCU 0)、220(PCU 1、…、PCU p-1)、及220L(PCU p)。第一功率控制單元220F包含t個第一輸入控制單元/電路210、t個第一多工器202、t個暫存器204、t個第二多工器214、一個加法器208、及一個輸出控制單元/電路216。最後一個功率控制單元220L(PCU p)包含t個第二輸入控制單元212及t個乘法器206。其他功率控制單元220(PCU 1、…、PCU p-1)包含t個第二輸入控制單元212、t個乘法器206、一個加法器208、及一個輸出控制單元/電路216。
請再參照第2圖,每一第一輸入控制單元的一輸出端耦接到對應的第一多工器202的一第一輸入端。每一暫存器204的一輸出端耦接到對應的第一多工器202的一第二輸入端。每一第一多工器202的一輸出端耦接到對應的第二輸入控制單元212的一輸入端,第二輸入控制單元212的輸出端耦接到對應的乘法器206輸入端。每一乘法器206的一第一輸出端耦接到對應的一第二多工器214。功率控制單元220 (PCU 1、…、PCU p-1)的每一乘法器206的一第二輸出端耦接到對應的加法器208。最後一個功率控制單元220L (PCU p)的每一乘法器206包含一個輸出端耦接到對應的第二多工器214。
功率控制單元220F、220及220L被第一輸入控制單元210及第二輸入控制單元212控制。在一些實施例中,功率控制單元220F、220及220L更被輸出控制單元216控制。在一些實施例中,每一功率控制單元220可被個別的開啟或關閉。舉例來說,當資料傳輸時沒有錯誤出現,錯誤位置尋找模組106可被關閉。在一實施例中,這可藉由控制器218致能所有的第一輸入控制單元210而被執行以關閉所有的功率控制單元220。在另一實施例中,錯誤位置尋找模組106 可藉由控制器218致能所有的第一輸入控制單元210及第二輸入控制單元212被關閉。在又一實施例中,錯誤位置尋找模組106可藉由控制器218致能所有的第一輸入控制單元210、第二輸入控制單元212及輸出控制單元216被關閉以在碼字中沒有錯誤出現時節省功率。致能輸出控制單元216封鎖了從對應的功率控制單元220F或220的輸出。舉例來說,控制器218提供一控制訊號到輸出控制單元216的其中一個輸出控制單元以致能或非致能輸出控制單元216。當所有的第一輸入控制單元210、第二輸入控制單元212及輸出控制單元216要被致能時,可由控制器218提供同一控制訊號到這些元件以簡化控制機制。
當有足夠的時間搜尋錯誤位置時,在一省電模式中一部分的功率控制單元220可以被開啟以搜尋錯誤位置,而剩餘的功率控制單元220可被關閉以節省功率。在一實施例中,第一和第二功率控制單元220F及220(PCU 0、PCU 1)被開啟,而剩餘的功率控制單元220被關閉。這可藉由控制器218非致能所有的第一輸入控制單元210及第二功率控制單元220(PCU 1)的第二輸入控制單元212,並且致能剩餘的功率控制單元220的第二輸入控制單元212被執行。在另一實施例中,被開啟的功率控制單元220F及220(PCU 0、PCU 1)的輸出控制單元216可被非致能,且被關閉的功率控制單元220及220L的輸出控制單元可被致能。在一些實施例中,提供同一控制訊號到同一功率控制單元220的輸入控制單元210及輸出控制單元216以簡化控制機制。
依據本揭露的一實施例,每一功率控制單元220F、220、220L可依據不同系統考量,例如搜尋錯誤位置的可用時間或系統提供的最大功率,被個別地被控制器218開啟或關閉。舉例來說,當包含錯誤位置尋找模組106的一通訊系統或一儲存系統具有搜尋錯誤位置的限制時間但被提供高功率時,可開啟較多的功率控制單元220F、220、220L以在一省時模式中平行地搜尋錯誤位置。在一些實施例中,當一系統中的功率被限制時,此系統可開啟較少的功率控制單元以在省時模式中節省功率。在一實施例中,控制器218用以在一省電模式中關閉第一數量的功率控制單元220F、220、220L,並在一省時模式中關閉第二數量的功率控制單元220F、220、220L。其中第一數量大於第二數量。
第3圖繪示BCH解碼器100處理的3個碼字的一時序圖,其中錯誤位置尋找模組106的所有的功率控制單元220F、220、220L都被開啟。請參照第1-3圖,在時間點T 31,有n個位元的碼字1在BCH解碼器100被接收。從時間點T 31到時間點T 32,碼字1被症狀計算模組處理102,症狀計算模組102可使用n/p個時脈週期計算碼字1的症狀。從時間點T 32到時間點T 33,碼字1被多項式產生模組104處理,多項式產生模組104使用n/p個時脈週期產生針對碼字1的多項式。在時間點T 32到時間點T 33的同一期間,有n個位元的碼字2被症狀計算模組處理102,症狀計算模組102可使用n/p個時脈週期計算碼字2的症狀。從時間點T 33到時間點T 34,碼字1被錯誤位置尋找模組106處理,錯誤位置尋找模組106使用n/p個時脈週期尋找碼字1中的錯誤位置。在時間點T 33到時間點T 34的同一期間,碼字2被多項式產生模組104處理,多項式產生模組104使用n/p個時脈週期產生針對碼字2的多項式,且有n個位元的碼字3被症狀計算模組處理102,症狀計算模組102可使用n/p個時脈週期計算碼字32的症狀。從時間點T 34到時間點T 35,碼字2被錯誤位置尋找模組106處理,錯誤位置尋找模組106使用n/p個時脈週期尋找碼字2中的錯誤位置。在時間點T 34到時間點T 35的同一期間,碼字3被多項式產生模組104處理,多項式產生模組104使用n/p個時脈週期產生針對碼字3的多項式。從時間點T 35到時間點T 36,碼字3被錯誤位置尋找模組106處理,錯誤位置尋找模組106使用n/p個時脈週期尋找碼字3中的錯誤位置。處理這3個碼字的總時間是5*n/p個時脈週期。BCH解碼器100用於處理這3個碼字所需要的尖峰功率出現在當所有3個模組102、104、106被啟動而工作的時間點T 33到時間點T 34之間。
第4圖繪示BCH解碼器100處理的3個碼字的一時序圖,其中錯誤位置尋找模組106的一半的功率控制單元220F、220、220L被開啟。請參照第1、2、4圖,在時間點T 41,有n個位元的碼字1在BCH解碼器100被接收。從時間點T 41到時間點T 42,碼字1被症狀計算模組處理102,症狀計算模組102可使用n/p個時脈週期計算碼字1的症狀。從時間點T 42到時間點T 43,碼字1被多項式產生模組104處理,多項式產生模組104使用n/p個時脈週期產生針對碼字1的多項式。從時間點T 43到時間點T 45,碼字1被錯誤位置尋找模組106處理,錯誤位置尋找模組106使用2*n/p個時脈週期尋找碼字1中的錯誤位置,因為錯誤位置尋找模組106的一半的功率控制單元220F、220、220L被開啟,而另一半的功率控制單元220F、220、220L被被關閉。
在時間點T 43到時間點T 45的同一期間,從時間點T 43到時間點T 44,具有n個位元的碼字2被症狀計算模組處理102,症狀計算模組102可使用n/p個時脈週期計算碼字2的症狀,接著從時間點T 44到時間點T 45,碼字2再被多項式產生模組104處理,多項式產生模組104使用n/p個時脈週期產生針對碼字2的多項式。從時間點T 45到時間點T 47,碼字2被錯誤位置尋找模組106處理,錯誤位置尋找模組106使用2*n/p個時脈週期尋找碼字2中的錯誤位置。在時間點T 45到時間點T 47的同一期間,從時間點T 45到時間點T 46,具有n個位元的碼字3被症狀計算模組處理102,症狀計算模組102可使用n/p個時脈週期計算碼字3的症狀,接著從時間點T 46到時間點T 47,碼字3再被多項式產生模組104處理,多項式產生模組104使用n/p個時脈週期產生針對碼字3的多項式。從時間點T 47到時間點T 48,碼字3被錯誤位置尋找模組106處理,錯誤位置尋找模組106使用2*n/p個時脈週期尋找碼字3中的錯誤位置。處理這3個碼字的總時間是8*n/p個時脈週期。BCH解碼器100用於處理這3個碼字所需要的尖峰功率出現在當3個模組102、104、106中的兩個模組被啟動而同時操作的時間點T 43到時間點T 47之間。在第4圖中錯誤位置尋找模組106中的一半的功率控制單元220F、220、220L被開啟所示的處理時間,大於在第3圖中當錯誤位置尋找模組106中的所有功率控制單元220F、220、220L都被開啟的處理時間。然而,對應於第4圖設定的此裝置使用相較於第3 圖更低的功率。
依據本揭露一實施例,當需要考慮處理速率時,也就是說,當處理是在一相對短的時間被執行時,BCH解碼器100可被設置以使錯誤位置尋找模組106的較多的功率控制單元220被開啟以平行的處理碼字以節省時間。進一步的,當需要考慮功率消耗時,BCH解碼器100可被設置以使錯誤位置尋找模組106的較少的功率控制單元220被開啟以處理碼字以節省功率。
請再參照第2圖,第一輸入控制單元210及第二輸入控制單元212可藉由一功率開關單元(PS)或一組合邏輯單元/電路,例如一多工器(MUX)、一及閘、一或閘、一反及閘、一互斥或閘、一反互斥或閘、一反或閘等,或其他本領域具有通常知識者已知的電子元件而可各自被執行。第5A圖繪示依據本揭露一實施例的一示範的功率開關單元502的示意圖。功率開關單元502包含用於耦接到一電源的一VDD/GND埠504、用於耦接到一功率控制單元(例如功率控制單元220)的一電源輸出埠506及用於從一控制器(例如第2圖中的控制器218)接收一控制訊號(EN)的一控制訊號輸入埠508。第5B圖繪示作為第一輸入控制單元210或第二輸入控制單元212的另一結構的一示範的多工器520的示意圖。在一些實施例中,第一輸入控制單元 210及第二輸入控制單元212可以都是一組合邏輯單元/電路,例如多工器520。多工器520包含用於接收一輸入值的一第一輸入埠522、用於接收一固定值的一第二輸入埠524、一輸出埠526及用於從一控制器(例如第2圖中的控制器218)接收一控制訊號(EN)的一控制訊號輸入埠528。
請再參照第2圖,可提供至少一隔離單元/電路(ISO)或一組合邏輯單元/電路,例如一多工器(MUX)、一及閘、一或閘、一反及閘、一互斥或閘、一反互斥或閘、一反或閘等,或其他本領域具有通常知識者已知的電子元件作為輸出控制單元216。第6圖繪示包含一輸入埠602、一輸出埠604及用於從一控制器(例如第2圖中的控制器218)接收一控制訊號(EN)的一控制訊號輸入埠606的一示範的隔離單元600的示意圖。被提供作為輸出控制單元216的組合邏輯單元/電路相似於被提供作為第一輸入控制單元210或第二輸入控制單元212的組合邏輯單元/電路。組合邏輯單元/電路的一例被繪示於第5圖,就不再重複描述。
第7圖繪示依據本揭露一實施例的另一錯誤位置尋找模組700的一示範的硬體結構的示意圖。錯誤位置尋找模組700 包含一第一功率控制單元702F、一最後功率控制單元702L及第一功率控制單元702F和最後功率控制單元702L之間的(p-1)個功率控制單元702。功率控制單元702F、702L及702的每一個功率控制單元各包含一功率開關(PS x)704作為一輸入控制單元以控制提供到對應的功率控制單元702F、702L或702的功率。功率控制單元702F及702的每一個功率控制單元更包含一隔離單元 706作為一輸出控制單元以避免從對應的功率控制單元702F及702流出的漏電流。第一功率控制單元702F更包含t個第一多工器(MUX)708、t個暫存器(REG)710、t個第二多工器(MUX)712及一加法器714。最後功率控制單元702L更包含t個乘法器716。每一個功率控制單元702更包含t個乘法器716及一加法器714。第一多工器708接收多項式常數L 1、L 2、……、L t。第一多工器708的輸出端耦接到p個對應的乘法器716。功率控制單元702的每一個乘法器716包含耦接到一對應的加法器714的一輸出端,及耦接到一對應的第二多工器712的一輸出端。功率控制單元702L的每一個乘法器716包含耦接到的一對應的第二多工器712的一輸出端。第二多工器712用以從乘法器716選擇一值以用在下一輪的搜尋錯誤位置時使用。每一第二多工器712的一輸出端耦接到一對應的暫存器710。暫存器710用以儲存第二多工器712供應的值。每一暫存器710的一輸出端耦接到一對應的第一多工器708。每一加法器714的一輸出端耦接到一對應的隔離單元706。錯誤位置尋找模組700更包含耦接到上述每一元件的一控制器(Ctrl)718,控制器更用以提供控制訊號到上述元件。為了容易清楚的描述元件之間的連接關係,在第7圖中省略了這些元件和控制器718之間詳細的連接。在一些實施例中,控制器718為一處理器,用以執行指令以控制錯誤位置尋找模組700的元件。
在如圖所示的實施例中,每一功率控制單元702F、702或702L可藉由對應的功率開關單元704被個別的控制。在一些實施例中,可藉由錯誤位置尋找模組700的控制器718開啟一些或所有的功率控制單元702F、702及702L以增加尋找碼字中的錯誤位置的速率。如果需要一較低的功率操作,可藉由切斷功率開關單元704的電源供應而關閉一些功率控制單元702及702L以減少功率消耗。如果判斷在碼字中沒有出現錯誤,可關閉所有的功率控制單元702F、702及702L以進一步節省功率消耗。在一些實施例中,當一功率開關單元704被控制以切斷對一對應的功率控制單元702F、702及702L的電源供應時,功率控制單元的一隔離單元706被啟動以避免從關閉的功率控制單元702F及702流出的漏電流。在一些實施例中,一功率開關單元704及同一功率控制單元702的一隔離單元706從控制器718被提供同一控制訊號以簡化控制機制。
第8圖繪示依據本揭露一實施例的另一錯誤位置尋找模組800的一示範的硬體結構的示意圖。錯誤位置尋找模組800 包含t個第一多工器802(MUX)、t個暫存器804(REG)、p x t個乘法器806(a 1、a 2、…a t、…、a p-1、a 2(p-1)、…、a t(p-1),及a p、a 2p、…、a tp)、p個加法器808、t個作為第一輸入控制單元(I)的第一組合邏輯單元/電路810、p x t個作為第二輸入控制單元(I)的第二組合邏輯單元/電路812、t個第二多工器814。錯誤位置尋找模組800的這些元件形成(p+1)個功率控制單元820F、820、及820L (PCU 0、PCU 1、…、PCU p-1、PCU p)。第一功率控制單(PCU 0)820F包含t個第一組合邏輯單元810、t個第一多工器802、t個暫存器804、t個第二多工器(MUX)814、一個加法器808。最後功率控制單元(PCU p)820L包含t個第二組合邏輯單元812及t個乘法器806。其他功率控制單元820(PCU 1、…、PCU p-1)包含t個第二組合邏輯單元812、t個乘法器806、一個加法器808。錯誤位置尋找模組800更包含一控制器816用以提供控制訊號到上述元件。在一些實施例中,控制器816為一處理器,用以執行指令以控制錯誤位置尋找模組800的元件。
在如圖所示的實施例中,每一功率控制單元702F、702或702L可藉由對應的功率開關單元704被個別的控制。第一組合邏輯單元810及第二組合邏輯單元812分別為接收一固定值(F)作為輸入的第三多工器和第四多工器。在一些實施例中,第一組合邏輯單元810和第二組合邏輯單元812可以是其他組合邏輯單元,例如一及閘、一或閘、一反及閘、或一反或閘。第三多工器810接收多項式常數L 1、L 2、……、L t作為另一輸入,並且被由一控制器816提供的一控制訊號(第5A圖的EN)所控制以選擇多項式常數或固定值。舉例來說,當在碼字中沒有出現錯誤時,第三多工器810和第四多工器812被控制以選擇固定值,使得功率控制單元820F、820及820L被操作在一相當低功率的模式。在一些實施例中,第一功率控制單元820F及一部份的功率控制單元820被啟動以尋找在碼字中的錯誤位置,而剩餘的功率控制單元820、820L可被控制在一較低功率模式中執行。這可藉由當第三多工器810被控制以選擇多項式常數L 1、L 2、……、L t及一部份的第四多工器812的被控制以選擇從第一多工器802供應的值,而剩餘的第四多工器被控制以選擇固定值而可被執行。舉例來說,此固定值可為高邏輯或低邏輯,例如1或0。如果希望在低功率消耗的情況下尋找錯誤位置,較多的功率控制單元820及820L可被控制以選擇此固定值。如果希望在高速率的情況下尋找錯誤位置,較少的或沒有功率控制單元820及820L可被控制以選擇此固定值。
在如圖所示的實施例中,第三多工器810的一輸出端耦接到一對應的第一多工器802的一第一輸入端。暫存器804的一輸出端耦接到一對應的第一多工器802的一第二輸入端。第一多工器802的一輸出端耦接到對應第四多工器812的一輸入端及第一功率控制單元820F的加法器808。第四多工器812的一輸出端耦接到一對應的乘法器806的一輸入端。每一乘法器806的一第一輸出端耦接到一對應的第二多工器814。功率控制單元(PCU 1、…、PCU p-1)820的每一乘法器806的一第二輸出端耦接到一對應的加法器808。最後功率控制單元(PCU p)820L的每一乘法器806包含耦接到一對應的第二多工器814的一輸出端。
在一些實施例中,每一加法器208、708及808在接收的所有位元上執行一無進位的XOR操作。
第9圖繪示依據本揭露一實施例的在一或多個碼字中尋找錯誤位置的一方法900的一流程圖。方法900可藉由一錯誤位置尋找模組(例如如第2圖所示的錯誤位置尋找模組106)被執行。請參照第2圖和第9圖,方法900從步驟902開始。在步驟904中,控制器218偵測在一或多個碼字中是否出現一或多個錯誤。如果沒有出現錯誤,則在步驟906中,所有的功率控制單元,例如功率控制單元220,都被控制器218關閉以節省功率。如果在一或多個碼字中偵測到一或多個錯誤,則在步驟908中,控制器218判斷是否需要在短於或等於一預定時間T S的一時間T中尋找錯誤位置。舉例來說,控制器218判斷尋找錯誤位置的時間T需要短於或等於預定時間T S。如果T £ T S,則在步驟910中,開啟所有的功率控制單元以搜尋錯誤位置。舉例來說,當第2圖中的所有功率控制單元220都被開啟時,可同時尋找p個位置。
如果判斷不需要考慮尋找錯誤位置的處理時間,則在步驟912中,根據可尋找錯誤位置的時間而開啟一部分的功率控制單元220並關閉剩餘的功率控制單元220。舉例來說,第2圖中的i個功率控制單元220被關閉,其中1 £ i £p,使得可同時尋找p-i個位置。在步驟906、910或912之後,方法900結束在步驟914。
第10圖繪示依據本揭露一實施例的在一或多個碼字中尋找錯誤位置的另一方法1000的一流程圖。方法100可藉由一錯誤位置尋找模組(例如如第2圖所示的錯誤位置尋找模組106)被執行。請參照第2圖和第10圖,方法1000從步驟1002開始。在步驟1004中,控制器218偵測在一或多個碼字中是否出現一或多個錯誤。如果沒有出現錯誤,則在步驟1006中,所有的功率控制單元,例如功率控制單元220,都被控制器218關閉以節省功率。如果在一或多個碼字中偵測到一或多個錯誤,則在步驟1008中,控制器218判斷是否需要在短於或等於一預定時間T S的一時間T中尋找錯誤位置。如果T £ T S,則在步驟1010中,開啟所有的功率控制單元以搜尋錯誤位置。舉例來說,當第2圖中的所有功率控制單元220都被開啟時,可同時尋找p個位置。如果判斷不需要考慮尋找錯誤位置的處理時間,則在步驟1012中,控制器218判斷錯誤的數量是否大於或等於一預定臨界值。在一些實施例中,當BCH解碼器的錯誤校正能力為t時,錯誤數量是s,且s小於t,則錯誤定位多項式的係數Λ s+1到Λ t為零使得在功率控制單元包含係數Λ s+1到Λ t的計算消耗較少的功率。因此,即使所有的功率控制單元都被開啟以搜尋錯誤位置,錯誤位置尋找模組106也埠會使用較高的功率。如果判斷錯誤的數量大於或等於預定臨界值時,在步驟1014中,根據可尋找錯誤位置的時間而開啟一部分的功率控制單元220並關閉剩餘的功率控制單元220。舉例來說,關閉第2圖中的i 個功率控制單元220,其中1 £ i £p,使得可同時尋找p-i個位置。如果判斷錯誤的數量沒有大於或等於預定臨界值時,在步驟1016中,開啟所有的功率控制單元以搜尋錯誤位置。舉例來說,當所有的功率控制單元220都被開啟時,可同時搜尋p個位置。在步驟1006、1010、1014或1016之後,方法1000結束在步驟1018。
第11圖繪示BCH解碼器100處理的3個碼字的一時序圖,其中碼字1和碼字3包含的錯誤大於或等於預定臨界值,碼字2包含的錯誤小於預定臨界值。請參照第1 圖、第2圖及第11圖,在時間點T 1101,具有n位元的碼字1被BCH解碼器100接收。從時間點T 1101到時間點T 1102,碼字1被症狀計算模組102處理,症狀計算模組102可使用n/p個時脈週期計算碼字1的症狀。從時間點T 1102到時間點T 1103,碼字1被多項式產生模組104處理,多項式產生模組104使用n/p個時脈週期產生針對碼字1的多項式,且具有n個位元的碼字2被症狀計算模組處理102,症狀計算模組102可使用n/p個時脈週期計算碼字2的症狀。從時間點T 1103到時間點T 110 5,因為碼字1包含的錯誤大於或等於預定臨界值,如第10圖的步驟1012和1014所解釋的,碼字1被錯誤位置尋找模組106處理,錯誤位置尋找模組106使用一半(p/2)的功率控制單元220F、220、220L尋找碼字1中的錯誤位置,而導致使用2*n/p個時脈週期。
從時間點T 110 3到時間點T 110 4,碼字2被多項式產生模組104處理,多項式產生模組104使用n/p個時脈週期產生針對碼字2的多項式,且具有n個位元的碼字3被症狀計算模組處理102,症狀計算模組102可使用n/p個時脈週期計算碼字3的症狀。從時間點T 110 4到時間點T 110 5,碼字3被多項式產生模組104處理,多項式產生模組104使用n/p個時脈週期產生針對碼字3的多項式。
在錯誤位置尋找模組106處理完碼字1之後,從時間點T 110 5到時間點T 110 6,碼字2被錯誤位置尋找模組106處理。因為碼字2包含的錯誤並未大於或等於預定臨界值,如第10圖的步驟1016所解釋的,錯誤位置尋找模組106使用所有的功率控制單元220F、220、220L尋找碼字2中的錯誤位置,而導致使用n/p個時脈週期。在錯誤位置尋找模組106處理完碼字2之後,從時間點T 1106到時間點T 1107,因為碼字3包含的錯誤大於或等於預定臨界值,如第10圖的步驟1012和1014所解釋的,碼字3被錯誤位置尋找模組106處理,錯誤位置尋找模組106使用2*n/p個時脈週期尋找碼字3中的錯誤位置。處理這3個碼字的總時間是7*n/p個時脈週期。第11圖所示的處理時間小於第7圖所示的處理時間(8*n/p個時脈週期)。
在本揭露中所解釋的解碼器和方法不限制於解碼BCH碼,更可使用其他碼,例如里德-所羅門碼(Reed Solomon codes)來尋找錯誤位置。
雖然本揭露提供BCH解碼器以尋找錯誤位置,本揭露不以此為限。符合本揭露的實施例可應用到其他種類的解碼器以尋找一碼字中的錯誤位置。
本領域具有通常知識者依據本說明書和本發明揭露的實施方式容易想到其他實例。應當理解的是本說明書和這些例子僅是示範性的而非用以限定本發明。本揭露真正的保護範圍和精神在以下申請專利範圍所表示。
100‧‧‧解碼器
102‧‧‧症狀計算模組
104‧‧‧多項式產生模組
106、700、700‧‧‧錯誤位置尋找模組
108‧‧‧先進先出模組
110‧‧‧XOR操作模組
202、214、MUX、520、708、712、802、814‧‧‧多工器
204、REG、710、804‧‧‧暫存器
206、a1、a2、at、ap-1、a2(p -1 )、at(p-1)、ap、a2p、atp、716、806‧‧‧乘法器
208、714、808‧‧‧加法器
210、212、I‧‧‧輸入控制單元/電路
216‧‧‧輸出控制單元/電路
218、718、816‧‧‧控制器
220F、220、220L、PCU0~ PCUp、702F、702L、702、820F、820、820L‧‧‧功率控制單元
L0、L1、L2、Lt‧‧‧多項式的常數
Λ(ap i)、Λ(ap i+1)、Λ(ap i+p-1)‧‧‧多項式
T31~T36、T41~T48、T1101~T1107‧‧‧時間點
PS、502‧‧‧功率開關單元
504、506、508、522、524、526、528、602、604、606‧‧‧埠
ISO、600、706、ISO0、ISO1、ISOp-1‧‧‧隔離單元
PS0、PS1、PSp-1、PSp、704‧‧‧功率開關
810、I、812‧‧‧組合邏輯單元/電路
900、1000‧‧‧方法
902~914、1002~1018‧‧‧流程步驟
現在參考附圖通過舉例的方式說明本揭露的示範實施例如下: 第1圖繪示依據本揭露一實施例的一解碼器的一方塊圖。 第2圖繪示依據本揭露一實施例的錯誤位置尋找模組的一硬體結構的示意圖。 第3圖繪示依據本揭露一實施例的BCH解碼器處理碼字的一時序圖。 第4圖繪示依據本揭露一實施例的BCH解碼器處理碼字的一時序圖。 第5A圖繪示依據本揭露一實施例的一輸入控制電路的示意圖。 第5B圖繪示依據本揭露一實施例的另一輸入控制電路的示意圖。 第6圖繪示依據本揭露一實施例的一輸出控制電路的示意圖。 第7圖繪示依據本揭露一實施例的另一錯誤位置尋找模組的一硬體結構的示意圖。 第8圖繪示依據本揭露一實施例的另一錯誤位置尋找模組的一硬體結構的示意圖。 第9圖繪示依據本揭露一實施例的尋找錯誤位置的一方法的一流程圖。 第10圖繪示依據本揭露一實施例的尋找錯誤位置的另一方法的一流程圖。 第11圖繪示依據本揭露一實施例的BCH解碼器處理碼字的一時序圖。
900‧‧‧方法
902~914‧‧‧流程步驟

Claims (10)

  1. 一種電子裝置,用以尋找一碼字中的錯誤位置,該電子裝置包含:     複數個功率控制單元,用以尋找該碼字中的錯誤位置;     其中該些功率控制單元並聯的耦接,且每該功率控制單元包含對應的複數個輸入控制電路以分別開啟或關閉對應的功率控制單元。
  2. 如申請專利範圍第1項所述之電子裝置,更包含:     一控制器,用以控制該些功率控制單元;     其中當該碼字被判斷為沒有包含錯誤時,該控制器關閉所有的該些功率控制單元。
  3. 如申請專利範圍第1項所述之電子裝置,更包含:     一控制器,用以控制該些功率控制單元;     其中當該電子裝置操作在一省電模式時,該控制器關閉一第一數量的該些功率控制單元;     其中當該電子裝置操作在一省時模式時,該控制器開啟所有的該些功率控制單元或者關閉一第二數量的該些功率控制單元,其中該第一數量大於該第二數量。
  4. 如申請專利範圍第1項所述之電子裝置,其中該些功率控制單元包含一第一功率控制單元,該第一功率控制單元包含:     複數個第一輸入控制電路;     複數個第一多工器;     複數個暫存器;     複數個第二多工器;以及     一第一加法器;     其中每該第一多工器包含耦接到對應的該第一輸入控制電路一第一輸入埠、耦接到對應的該暫存器的一第二輸入埠、及耦接到該第一加法器的一輸出端。
  5. 如申請專利範圍第4項所述之電子裝置,其中該些功率控制單元包含一或多個第二功率控制單元,與該些第一功率控制單元並聯耦接,每該第二功率控制單元包含:     複數個第二輸入控制電路;     複數個第一計算電路;以及     一第二加法器;     其中每該第二輸入控制電路包含耦接到該些第一多工器的其中一個第一多工器的一輸出端的一輸入端、及耦接到該些第一計算電路的其中一個第一計算電路的一輸出端;     其中每該第一計算單元包含耦接到對應的該第二加法器的一第一輸出埠、及耦接到對應的該第一功率控制單元的該第二多工器的一輸入端的一第二輸出埠。
  6. 如申請專利範圍第5項所述之電子裝置,其中該些功率控制單元更包含一第三功率控制單元,與該些第一功率控制單元和該一或多個第二功率控制單元並聯耦接,每該第三功率控制單元包含:     複數個第三輸入控制電路;以及     複數個第二計算電路;     其中每該第三輸入控制電路包含耦接到該些第一多工器的其中一個第一多工器的一輸出端的一輸入端、及耦接到該些第二計算電路的其中一個第二計算電路的一輸出端;     其中每該第二計算單元包含耦接到對應的該第一功率控制單元的該第二多工器的一輸入端的一輸出埠。
  7. 如申請專利範圍第5項所述之電子裝置,其中每該第一加法器和每該第二加法器在接收的位元上執行一無進位的XOR操作。
  8. 如申請專利範圍第6項所述之電子裝置,其中每該第一加法器和每該第二加法器耦接到一輸出控制電路,該輸出控制電路用以減少從該第一功率控制單元或該一或多個第二功率控制單元流出的漏電流。
  9. 如申請專利範圍第8項所述之電子裝置,其中該第一輸入控制電路、該第二輸入控制電路及該第三輸入控制電路各包含至少一功率開關或一組合邏輯電路;該輸出控制電路包含至少一隔離電路或一組合邏輯電路; 其中該組合邏輯電路包含至少一多工器、一及閘、一或閘、一反及閘、一互斥或閘、一反互斥或閘、或一反或閘。
  10. 一種用以尋找一碼字中錯誤位置的方法,該方法被一電子裝置執行,該電子裝置包含一控制器及複數個功率控制單元,該方法包含:     判斷該碼字是否包含一或多個錯誤;     如果該碼字沒有包含錯誤,關閉所有的該些功率控制單元;     如果該碼字包含該一或多個錯誤,判斷尋找該一或多個錯誤的位置的一時間是否短於或等於一預定時間;     如果該時間短於或等於該預定時間,則開啟所有的該些功率控制單元;以及     如果該時間並未短於或等於該預定時間,則關閉一部分的該些功率控制單元。
TW105131670A 2016-09-30 2016-09-30 用以尋找一碼字中錯誤位置的方法及電子裝置 TWI603190B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW105131670A TWI603190B (zh) 2016-09-30 2016-09-30 用以尋找一碼字中錯誤位置的方法及電子裝置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW105131670A TWI603190B (zh) 2016-09-30 2016-09-30 用以尋找一碼字中錯誤位置的方法及電子裝置

Publications (2)

Publication Number Publication Date
TWI603190B true TWI603190B (zh) 2017-10-21
TW201812581A TW201812581A (zh) 2018-04-01

Family

ID=61011243

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105131670A TWI603190B (zh) 2016-09-30 2016-09-30 用以尋找一碼字中錯誤位置的方法及電子裝置

Country Status (1)

Country Link
TW (1) TWI603190B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10802909B2 (en) * 2018-08-17 2020-10-13 Micron Technology, Inc. Enhanced bit flipping scheme

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6941496B2 (en) * 2001-02-28 2005-09-06 Samsung Electronics Co., Ltd. Error detecting circuit for detecting the location of error
US7237183B2 (en) * 2003-03-04 2007-06-26 Broadcom Corporation Parallel decoding of a BCH encoded signal
US7447982B1 (en) * 2001-03-30 2008-11-04 Cisco Technology, Inc. BCH forward error correction decoder
US7478306B2 (en) * 2004-03-31 2009-01-13 Sanyo Electric Co., L:Td. Method of detecting error location, and error detection circuit, error correction circuit, and reproducing apparatus using the method
TW200943741A (en) * 2008-04-10 2009-10-16 Univ Nat Chiao Tung Decoding method and device suitable for shortened BCH codes or Reed-Solomon codes
TW201442034A (zh) * 2013-04-22 2014-11-01 Storart Technology Co Ltd 針對快閃儲存系統以bch引擎進行檢測與修正錯誤的方法
TW201547213A (zh) * 2014-06-03 2015-12-16 Storart Technology Co Ltd 用於多模式bch碼編碼的方法及使用該方法的編碼器
TW201611527A (zh) * 2014-09-01 2016-03-16 Univ Nat Kaohsiung 1St Univ Sc 一種快速bch碼解碼方法
TW201613279A (en) * 2014-09-24 2016-04-01 Storart Technology Co Ltd BCH decoding method and decoder thereof

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6941496B2 (en) * 2001-02-28 2005-09-06 Samsung Electronics Co., Ltd. Error detecting circuit for detecting the location of error
US7447982B1 (en) * 2001-03-30 2008-11-04 Cisco Technology, Inc. BCH forward error correction decoder
US7237183B2 (en) * 2003-03-04 2007-06-26 Broadcom Corporation Parallel decoding of a BCH encoded signal
US7478306B2 (en) * 2004-03-31 2009-01-13 Sanyo Electric Co., L:Td. Method of detecting error location, and error detection circuit, error correction circuit, and reproducing apparatus using the method
TW200943741A (en) * 2008-04-10 2009-10-16 Univ Nat Chiao Tung Decoding method and device suitable for shortened BCH codes or Reed-Solomon codes
TW201442034A (zh) * 2013-04-22 2014-11-01 Storart Technology Co Ltd 針對快閃儲存系統以bch引擎進行檢測與修正錯誤的方法
TW201547213A (zh) * 2014-06-03 2015-12-16 Storart Technology Co Ltd 用於多模式bch碼編碼的方法及使用該方法的編碼器
TW201611527A (zh) * 2014-09-01 2016-03-16 Univ Nat Kaohsiung 1St Univ Sc 一種快速bch碼解碼方法
TW201613279A (en) * 2014-09-24 2016-04-01 Storart Technology Co Ltd BCH decoding method and decoder thereof

Also Published As

Publication number Publication date
TW201812581A (zh) 2018-04-01

Similar Documents

Publication Publication Date Title
US7028247B2 (en) Error correction code circuit with reduced hardware complexity
EP1017177B1 (en) Configurable Reed-Solomon encoder/decoder
US8812940B2 (en) Programmable error correction capability for BCH codes
US8621329B2 (en) Reconfigurable BCH decoder
US20090113275A1 (en) Bch code with 256 information bytes and up to 8 bytes of parity check elements
US8397143B2 (en) BCH or reed-solomon decoder with syndrome modification
US9438274B2 (en) Data processing block and data storage device including the same
US8286060B2 (en) Scheme for erasure locator polynomial calculation in error-and-erasure decoder
US5615221A (en) Method and system which selectively uses different levels of error correction to achieve high data throughput
US20230412196A1 (en) Low-power block code forward error correction decoder
US20180358986A1 (en) Circuitry and method for dual mode reed-solomon-forward error correction decoder
TWI603190B (zh) 用以尋找一碼字中錯誤位置的方法及電子裝置
WO2017146946A1 (en) Methods and apparatus for performing reed-solomon encoding
CN107919876B (zh) 用以寻找一码字中错误位置的方法及电子装置
Yoo et al. Low-power parallel Chien search architecture using a two-step approach
WO2011154750A1 (en) Decoding of reed - solomon codes using look-up tables for error detection and correction
US10003360B2 (en) Device and method for finding error location
RU2605672C1 (ru) Реконфигурируемый кодер рида-соломона
US20100115381A1 (en) Error correction of an encoded message
US6574771B1 (en) Galios field processor having dual parallel data path for Bose Chaudhuri Hocquenghem/Reed-Solomon decoder
Barbosa et al. FPGA implementation of a Reed-Solomon CODEC for OTN G. 709 standard with reduced decoder area
Lee et al. Implementation of parallel BCH encoder employing tree-type systolic array architecture
Wong et al. Low power Chien search for BCH decoder using RT-level power management
Pfeifer et al. A new area-efficient reconfigurable encoder architecture for flexible error detection and correction in dependable communication systems
Wang et al. A very low-cost multi-mode Reed-Solomon decoder based on Peterson-Gorenstein-Zierler algorithm