專利名稱:錯誤校正裝置及校正方法
技術(shù)領(lǐng)域:
本發(fā)明涉及光盤的刻錄技術(shù),尤其涉及當檢測到錯誤數(shù)據(jù)時對其進行校正的技術(shù),具體的說是涉及錯誤校正裝置及校正方法。
背景技術(shù):
當儲存在動態(tài)隨機存取內(nèi)存(dynamic random access memory,DRAM)的錯誤數(shù)據(jù)被檢測到時,數(shù)據(jù)將以讀取-修改-寫入(read-modify-write,RMW)操作方式來做修正。在現(xiàn)有RMW操作中,由DRAM的RMW操作來將數(shù)據(jù)讀出。被讀出的數(shù)據(jù)接著由外部電路來做修正。修正后的數(shù)據(jù)最后存在DRAM中對應(yīng)的記憶胞(memory cell)里?,F(xiàn)有RMW操作需要相對長的處理時間,此處理時間由RMW操作的操作循環(huán)來定義。然而,長時間的處理時間造成效能降低以及其它復雜性的問題。
圖1表示現(xiàn)有錯誤校正裝置。錯誤校正裝置1包括譯碼器10、內(nèi)存控制器11、以及DRAM12。DRAM12儲存多字節(jié)(byte)的數(shù)據(jù)。當儲存在DRAM 12的每一字節(jié)數(shù)據(jù)要被修正時,錯誤校正裝置1執(zhí)行RMW操作。譯碼器10接收錯誤校正碼(error correction code,ECC)并根據(jù)ECC譯碼出多錯誤值。
圖2說明在RMW操作中內(nèi)存控制器11的指令。其中,標號“20”表示內(nèi)存控制器11的指令,標號“21”表示在DRAM總線上的讀取/寫入數(shù)據(jù),且標號“22”表示錯誤值。
請參閱圖1及圖2,將以一字節(jié)數(shù)據(jù)D1為例來說明。內(nèi)存控制器11傳送預充電(pre-charge)指令PRE及使能(active)指令ACT至DRAM 12,以確定在DRAM12中欲修正的數(shù)據(jù)D1的地址。當內(nèi)存控制器11接著傳送讀取指令RD至DRAM12時,DRAM12透過DRAM總線傳送數(shù)據(jù)D1至內(nèi)存控制器11內(nèi)的計算單元13。計算單元13對數(shù)據(jù)D1與對應(yīng)的錯誤值E1執(zhí)行邏輯運算以修正數(shù)據(jù)D1。當內(nèi)存控制器11傳送寫入指令WR至DRAM12時,修正后的數(shù)據(jù)W1由記算單元13傳送至DRAM12,且再次儲存于對應(yīng)的地址。因此,根據(jù)現(xiàn)有錯誤校正裝置1,對于欲修正的n字節(jié)數(shù)據(jù)而言,內(nèi)存控制器11傳送了n個預充電指令PRE、n個使能指令ACT、n個讀取指令RD、以及n個寫入指令WR。
在圖2中,內(nèi)存控制器11在充電指令PRE與使能指令ACT間、在使能指令ACT與讀取指令RD間、以及在讀取指令RD與寫入指令WR間,傳送了無運算(no-operation)指令NOP。這些無運算指令NOP在閑置或等待狀態(tài)期間防止不需要的指令。標號“PRMW”表示一個RMW操作的期間。標號“Trp20”表示由充電指令PRE到使能指令ACT的延遲時間,標號“Trcd20”表示由使能指令ACT到讀取指令RD的延遲時間,標號“Trc120”表示由讀取指令RD到數(shù)據(jù)D1處于DRAM總線上時間點之間的延遲時間。參閱圖2,在一個RMW操作中,錯誤校正裝置1需要(Trp20+Trcd20+Trc120+1(NOP23)+1(WR))個操作循環(huán)。其中,“NOP23”用來防止DRAM總線沖突(contention)。假設(shè)每一延遲Trp20、Trcd20、Trc120花費3個操作循環(huán),因此,當一字節(jié)數(shù)據(jù)被修正時,將花費11個操作循環(huán)。藍光激光光盤(blue-ray disc)的磁簇(cluster)具有240*304個字節(jié),且假設(shè)藍光激光光盤的錯誤率為5%。當錯誤校正裝置1應(yīng)用在藍光激光光盤時,將花費大約41459個操作循環(huán)((248*304*11*5%)=~41459)。這些操作循環(huán)將降低DRAM頻寬的使用。表一表示在不同的光盤速度下,錯誤校正操作循環(huán)的百分比。根據(jù)表一可以明顯得知當光盤速度越高,百分比則越高。因此,減少錯誤校正所花費的操作循環(huán)是很重要的。
表一發(fā)明內(nèi)容本發(fā)明提供一種錯誤校正裝置,用以校正修正一個數(shù)據(jù)群組,其包括第一內(nèi)存、里德所羅門(Reed-Solomon,RS)引擎、內(nèi)存控制器、計算單元、以及第二內(nèi)存。第一內(nèi)存儲存此數(shù)據(jù)群組。RS引擎接收多錯誤校正碼,且根據(jù)多錯誤校正碼而譯碼出一錯誤序列以修正數(shù)據(jù)群組。內(nèi)存控制器對第一內(nèi)存執(zhí)行瞬間讀取(burst read)操作,以使得第一內(nèi)存輸出數(shù)據(jù)群組。計算單元接收來自RS引擎的錯誤序列及來自第一內(nèi)存的數(shù)據(jù)群組,且對錯誤序列及數(shù)據(jù)群組執(zhí)行一邏輯運算,以獲得修正后的數(shù)據(jù)群組。第二內(nèi)存耦接計算單元并儲存修正后的數(shù)據(jù)群組。當內(nèi)存控制器執(zhí)行寫入操作時,內(nèi)存控制器控制第一內(nèi)存接收并儲存來自第二內(nèi)存的修正后的數(shù)據(jù)群組。
本發(fā)明更提供一種錯誤校正裝置,用以校正修正一數(shù)據(jù)群組,其包括里德所羅門(Reed-Solomon,RS)引擎、第一內(nèi)存、第二內(nèi)存、計算單元、以及內(nèi)存控制器。RS引擎接收多錯誤校正碼,且根據(jù)多錯誤校正碼而譯碼出一錯誤序列。第二內(nèi)存儲存數(shù)據(jù)群組。計算單元接收來自RS引擎的錯誤序列及來自第二內(nèi)存的數(shù)據(jù)群組,且對錯誤序列及數(shù)據(jù)群組執(zhí)行一邏輯運算,并接著輸出修正后的數(shù)據(jù)群組至第二內(nèi)存。內(nèi)存控制器對第一內(nèi)存執(zhí)行一瞬間寫入(burst write)操作,以使得第一內(nèi)存接收并儲存來自第二內(nèi)存的修正后的數(shù)據(jù)群組。
本發(fā)明另提出一種錯誤校正裝置,用以校正修正n個數(shù)據(jù)組,其包括內(nèi)存、里德所羅門(Reed-Solomon,RS)引擎、內(nèi)存控制器、以及計算單元。內(nèi)存儲存n個數(shù)據(jù)組。RS引擎接收多錯誤校正碼,且根據(jù)多錯誤校正碼而譯碼出n個錯誤值。內(nèi)存控制器對內(nèi)存執(zhí)行一瞬間讀取-修正-寫入(burstread-modify-write,burst RMW)操作,以在n個預設(shè)期間內(nèi)修正這些n個數(shù)據(jù)組。計算單元耦接RS引擎及內(nèi)存控制器。當內(nèi)存控制器對內(nèi)存執(zhí)行瞬間讀取-修正-寫入操作時,在n個期間的第i期間中,計算單元接收來自內(nèi)存的第i數(shù)據(jù)組,對第i數(shù)據(jù)組及第i錯誤值執(zhí)行一邏輯運算以獲得修正后的第i數(shù)據(jù)組,并輸出正后的第i數(shù)據(jù)組至內(nèi)存以做儲存,1≤i≤n。
圖1表示現(xiàn)有錯誤校正裝置。
圖2表示在讀取-修正-寫入(read-modify-write,RMW)操作中,圖1的錯誤校正裝置的指令。
圖3表示本發(fā)明實施例的一錯誤校正裝置。
圖4表示圖3的錯誤校正裝置的一指令例子。
圖5表示圖3的錯誤校正裝置的另一指令例子。
圖6表示本發(fā)明實施例的另一錯誤校正裝置。
圖7a及圖7b表示圖6的錯誤校正裝置的一指令例子。
主要組件符號說明10~譯碼器; 11~內(nèi)存控制器;12~DRAM; 13~計算單元;23~無運算指令NOP; 31~計算單元;32~緩存器; 33~內(nèi)存控制器;34~DRAM; 35~RS引擎;44~無運算指令NOP; 61~計算單元;62~內(nèi)存控制器;63~DRAM;64~RS引擎。
具體實施例方式
為使本發(fā)明的上述目的、特征和優(yōu)點能更明顯易懂,下文特舉一較佳實施例,并配合附圖,作詳細說明如下。
圖3表示本發(fā)明一實施例的錯誤校正裝置。錯誤校正裝置3包括計算單元3 1、緩存器32、內(nèi)存控制器33、動態(tài)隨機存取內(nèi)存(dynamic random accessmemory,DRAM)34、以及里德所羅門(Reed-Solomon,RS)引擎35。DRAM34儲存m個數(shù)據(jù)組,且每一數(shù)據(jù)組的長度為一字節(jié)(byte)。RS引擎35檢查m個數(shù)據(jù)組。在此實施例中,RS引擎35判斷出在m個數(shù)據(jù)組里有n個數(shù)據(jù)組D1至Dn發(fā)生錯誤,并根據(jù)錯誤校正碼(error correction code,ECC)而計算出對應(yīng)的錯誤值E1至En。其中,錯誤值E1至En組合成錯誤序列ES。數(shù)據(jù)組D1至Dn合稱為數(shù)據(jù)群組DG。在圖3的錯誤校正裝置3中,緩存器32可以是先進先出(First In First Out,F(xiàn)IFO)緩沖器或是同步動態(tài)隨機存取內(nèi)存(synchronous dynamic random access memory,SDRAM)。
圖4說明內(nèi)存控制器33指令的一個例子。其中,標號“40”表示內(nèi)存控制器33的指令,標號“41”表示在DRAM總線上的讀取/寫入數(shù)據(jù),標號“42”表示錯誤值E1至En,且標號“43”表示在緩存器32中的數(shù)據(jù)組。
請參閱圖3及圖4在RS引擎35判斷出數(shù)據(jù)群組DG發(fā)生錯誤,且計算對應(yīng)的錯誤序列ES及位置后,內(nèi)存控制器33傳送預充電(pre-charge)指令PRE及使能(active)指令ACT至DRAM34,以確定在DRAM34中欲修正的數(shù)據(jù)群組DG的地址。當內(nèi)存控制器33對DRAM34執(zhí)行瞬間讀取(burst read)操作時,其傳送多個讀取指令RD至DRAM34,且DRAM34根據(jù)地址并透過DRAM總線輸出數(shù)據(jù)群組DG至計算單元31,如圖3中介于計算單元31與內(nèi)存單元33間的虛線所示。計算單元31也接收來自RS引擎35的錯誤序列ES。計算單元31對數(shù)據(jù)群組DG與錯誤序列ES執(zhí)行一邏輯運算,由此以錯誤序列ES來修正數(shù)據(jù)群組DG。修正后的數(shù)據(jù)群組WG由計算單元31輸出至緩存器32來做儲存。當內(nèi)存控制器33對DRAM34執(zhí)行寫入操作時,內(nèi)存控制器33傳送多個寫入指令WR至DRAM34,且修正后的數(shù)據(jù)群組WG由緩存器32輸出至DRAM34,且重新儲存在對應(yīng)的地址。
在接下來的說明中,將詳細說明上述裝置的一些操作。請參閱圖3及圖4,計算單元31由RS引擎35接收錯誤序列ES的錯誤值E1至En。當內(nèi)存控制器33對DRAM 34執(zhí)行瞬間讀取操作且傳送n個讀取指令RD至DRAM34時,DRAM34依序輸出數(shù)據(jù)群組DG的數(shù)據(jù)組D1至Dn至計算單元31。計算單元31對數(shù)據(jù)組D1至Dn與錯誤值E1至En執(zhí)行一邏輯運算以修正數(shù)據(jù)組D1至Dn,并獲得修正后的數(shù)據(jù)群組WG的數(shù)據(jù)組W1至Wn。在此實施例中,此邏輯運算為互斥或(exclusive OR,XOR)運算,由以下式子來表示Di XOR Ei=Wi;其中,0≤i≤n舉例來說,D1 XOR E1=W1,D2 XOR E2=W2。
在計算單元31獲得修正后的數(shù)據(jù)組W1至Wn后,其將修正后的數(shù)據(jù)組W1至Wn輸出至緩存器32做儲存。當內(nèi)存控制器33對DRAM34執(zhí)行寫入操作時,內(nèi)存控制器33傳送n個寫入指令WR至DRAM34,且修正后的數(shù)據(jù)組W1至Wn依序由緩存器32輸出至DRAM34,且重新儲存在對應(yīng)的地址。在圖4的例子中,對于欲修正的n個數(shù)據(jù)組而言,內(nèi)存控制單元33傳送一個預充電指令PRE、一個使能指令ACT、n個讀取指令RD、以及n個寫入指令WR。
在圖4中,內(nèi)存控制器33在充電指令PRE與使能指令ACT間、在使能指令ACT與多個讀取指令RD中的第一者間、以及在多個讀取指令RD的最后者與多寫入指令WR的第一者間,傳送了無運算(no-operation)指令NOP。其中,無運算指令NOP用以防止DRAM總線沖突(contention)。標號“Trp40”表示由充電指令PRE到使能指令ACT的延遲時間,標號“Trcd40”表示由使能指令ACT到第一個讀取指令RD的延遲時間,標號“Trc140”表示由最后一個讀取指令RD到數(shù)據(jù)組Dn處于DRAM總線上時間點之間的延遲時間。
請參閱圖4,當n個數(shù)據(jù)組要被修正時,錯誤校正裝置3需要(Trp40+Trcd40+n(RD)+Trc140+1(NOP44)+n(WR))個操作循環(huán)。假設(shè)每一延遲Trp40、Trcd40、及Trc140花費3個操作循環(huán),且錯誤校正裝置3應(yīng)用在藍光激光光盤(blue-ray disc)。藍光激光光盤的磁簇(cluster)具有240*304個字節(jié),且假設(shè)藍光激光光盤的錯誤率為5%。藍光激光光盤將花費大約10579個操作循環(huán)((3+3+248*5%+3+1+248*5%)*304=~10579),大于等于現(xiàn)有錯誤校正裝置1所花費的41459個操作循環(huán)的2%,因此,降低了所占用的DRAM頻寬。
在一些實施例中。當RS引擎35判斷/檢測出錯誤的數(shù)據(jù)組D1至Dn時,其同時儲存數(shù)據(jù)組D1至Dn在緩存器32。
圖5表示內(nèi)存控制器33指令的另一例子。其中,標號“50”表示預先儲存在緩存器32的數(shù)據(jù)組,標號“51”表示錯誤值E1至En,標號“52”表示在校正后儲存在緩存器32的數(shù)據(jù)組,標號“53”表示內(nèi)存控制器33的指令,標號“54”表示在DRAM總線上的讀取/寫入數(shù)據(jù)。
請參閱圖3及圖5,緩存器32預先儲存數(shù)據(jù)組D1至Dn,由標號“50”所表示。計算單元31接收來自緩存器32的數(shù)據(jù)組D1至Dn(由計算單元31與緩存器32間虛線所表示)以及接收來自RS引擎35的錯誤值E1至En。計算單元31接著對數(shù)據(jù)組D1至Dn與錯誤值E1至En執(zhí)行一邏輯運算以修正數(shù)據(jù)組D1至Dn,且計算單元31獲得修正后的數(shù)據(jù)組W1至Wn。在此實施例中,此邏輯運算為互斥或(exclusive OR,XOR)運算。在計算單元31獲得修正后的數(shù)據(jù)組W1至Wn后,其將修正后的數(shù)據(jù)組W1至Wn輸出至緩存器32。在此時,緩存器32儲存修正后的數(shù)據(jù)組W1至Wn,以取代數(shù)據(jù)組D1至Dn。內(nèi)存控制器33傳送預充電指令PRE及使能指令ACT至DRAM 34,以確定在DRAM 34中要修正的數(shù)據(jù)組D1至Dn的地址。當內(nèi)存控制器33對DRAM 34執(zhí)行瞬間寫入(burst write)指令時,其傳送n個寫入指令WR至DRAM34。修正后的數(shù)據(jù)組W1至Wn依序由緩存器32輸出至DRAM34,且重新儲存在對應(yīng)的地址。在圖5的例子中,對于欲修正的n個數(shù)據(jù)組而言,內(nèi)存控制單元33傳送一個預充電指令PRE、一個使能指令ACT、以及n個寫入指令WR。
在圖5中,標號“Trp50”表示由充電指令PRE到使能指令ACT的延遲時間,且標號“Trcd50”表示由使能指令ACT到第一個寫入指令WR的延遲時間。請參閱圖3及圖5,當n個數(shù)據(jù)組要被修正時,錯誤校正裝置3需要(Trp50+Trcd50+n(WR))個操作循環(huán)。假設(shè)每一延遲Trp40及Trcd40花費3個操作循環(huán),且錯誤校正裝置3是應(yīng)用在藍光激光光盤(blue-ray disc)。藍光激光光盤的磁簇(cluster)具有240*304個字節(jié),并假設(shè)藍光激光光盤的錯誤率為5%藍光激光光盤將花費大約5594個操作循環(huán)((3+3+248*5%)*304=~5594),等于現(xiàn)有錯誤校正裝置1所花費的41459個操作循環(huán)的12%,因此,降低了所占用的DRAM頻寬。
圖6表示本發(fā)明另一實施例的錯誤校正裝置。錯誤校正裝置6包括計算單元61、內(nèi)存控制器62、動態(tài)隨機存取內(nèi)存(dynamic random access memory,DRAM)63、以及里德所羅門(Reed-Solomon,RS)引擎64。DRAM 63儲存m個數(shù)據(jù)組,且每一數(shù)據(jù)組的長度為一字節(jié)(byte)。RS引擎64檢查m個數(shù)據(jù)組。在此實施例中,RS引擎64判斷出在m個數(shù)據(jù)組里有n個數(shù)據(jù)組D1至Dn發(fā)生錯誤并計算出對應(yīng)的錯誤值E1至En。
圖7a及圖7b表示內(nèi)存控制器62指令的一例子。其中,標號“70”表示內(nèi)存控制器62的指令,標號“71”表示在DRAM總線上的讀取/寫入數(shù)據(jù),標號“73”表示錯誤值E1至En。
請參閱圖6、圖7a、及圖7b,計算單元61接收來自RS引擎64的錯誤值E1至En。為了修正n個數(shù)據(jù)組D1至Dn,內(nèi)存控制器62對DRAM63執(zhí)行瞬間讀取-修正-寫入(burst read-modify-write,burst RMW)操作。內(nèi)存控制器62傳送預充電指令PRE及使能指令ACT至DRAM63,以確定在DRAM63中欲修正的數(shù)據(jù)組D1至Dn的地址。內(nèi)存控制器62接著傳送第一讀取指令RD至DRAM63。DRAM63輸出數(shù)據(jù)組D1至計算單元61,如內(nèi)存控制器62與計算單元61間的虛線所示。計算單元61對數(shù)據(jù)組D1與錯誤值E1執(zhí)行一邏輯運算以修正數(shù)據(jù)組D1,且計算單元61接著獲得修改后的數(shù)據(jù)組W1。在此實施例中,此邏輯運算為互斥或(exclusive OR,XOR)運算,由以下式子來表示Di XOR Ei=Wi;其中,0≤i≤n舉例來說,D1 XOR E1=W1,D2 XOR E2=W2。
當內(nèi)存控制器62傳送第一寫入指令WD至DRAM63時,修正后數(shù)據(jù)組W1由計算單元61傳送至DRAM 63,且重新儲存在對應(yīng)的地址。由第一讀取指令RD到第一寫入指令的其間稱為第一操作期間P1。
內(nèi)存控制器62接著傳送第二讀取指令RD至DRAM63。DRAM63輸出數(shù)據(jù)組D1至計算單元61。計算單元61對數(shù)據(jù)組D2與錯誤值E2執(zhí)行一邏輯運算以修正數(shù)據(jù)組D2,且計算單元61接著獲得修改后的數(shù)據(jù)組W2。當內(nèi)存控制器62傳送第二寫入指令WD至DRAM63時,修正后數(shù)據(jù)組W2由計算單元61傳送至DRAM63,且重新儲存在對應(yīng)的地址。由第二讀取指令RD到第二寫入指令的其間稱為第二操作期間P2。對于一個瞬間讀取-修正-寫入(burst RMW)操作而言,重復上述動作以修正數(shù)據(jù)組D1至Dn。在第i操作期間Pi中,計算單元61自DRAM63接收第i數(shù)據(jù)組Di。計算單元61對第i數(shù)據(jù)組Di與第i錯誤值Ei執(zhí)行一邏輯運算以獲得修正后的第i數(shù)據(jù)組Wi,并輸出修正后的第i數(shù)據(jù)組Wi至DRAM63做儲存。因此,在此實施例中,對于欲修正的n個數(shù)據(jù)組而言,內(nèi)存控制器62只傳送一個預充電指令PRE、一個使能指令ACT、n個讀取指令RD、以及n個寫入指令WR。
本發(fā)明雖以較佳實施例揭露如上,然其并非用以限定本發(fā)明的范圍,任何熟習此項技藝者,在不脫離本發(fā)明的精神和范圍內(nèi),當可做些許的更動與潤飾,因此本發(fā)明的保護范圍當視后附的權(quán)利要求所界定者為準。
權(quán)利要求
1.一種錯誤校正裝置,該裝置用以修正一數(shù)據(jù)群組,所述錯誤校正裝置包括一第一內(nèi)存,用以儲存所述數(shù)據(jù)群組;一里德所羅門引擎,接收多個錯誤校正碼,且根據(jù)所述錯誤校正碼而譯碼出一錯誤序列以修正所述數(shù)據(jù)群組;一內(nèi)存控制器,對所述第一內(nèi)存執(zhí)行一瞬間讀取操作,以使得所述第一內(nèi)存輸出所述數(shù)據(jù)群組;一計算單元,接收來自所述RS引擎的所述錯誤序列及來自所述第一內(nèi)存的所述數(shù)據(jù)群組,且對所述錯誤序列及所述數(shù)據(jù)群組執(zhí)行一邏輯運算,以獲得修正后的所述數(shù)據(jù)群組;以及一第二內(nèi)存,耦接所述計算單元并儲存修正后的所述數(shù)據(jù)群組,其中,當所述內(nèi)存控制器執(zhí)行一寫入操作時,所述內(nèi)存控制器控制所述第一內(nèi)存接收并儲存來自所述第二內(nèi)存的修正后的所述數(shù)據(jù)群組。
2.如權(quán)利要求1所述的錯誤校正裝置,其特征在于,所述數(shù)據(jù)群組包括多個字節(jié)的數(shù)據(jù)。
3.如權(quán)利要求1所述的錯誤校正裝置,其特征在于,所述第二內(nèi)存為先進先出緩沖器。
4.如權(quán)利要求1所述的錯誤校正裝置,其特征在于,所述第二內(nèi)存為同步動態(tài)隨機存取內(nèi)存。
5.如權(quán)利要求1所述的錯誤校正裝置,其特征在于,所述邏輯運算為互斥或運算。
6.一種錯誤校正裝置,該裝置用以修正一數(shù)據(jù)群組,所述錯誤校正裝置包括一里德所羅門引擎,接收多個錯誤校正碼,且根據(jù)所述錯誤校正碼而譯碼出一錯誤序列;一第一內(nèi)存;一第二內(nèi)存,儲存所述數(shù)據(jù)群組;一計算單元,接收來自所述RS引擎的所述錯誤序列及來自所述第二內(nèi)存的所述數(shù)據(jù)群組,且對所述錯誤序列及所述數(shù)據(jù)群組執(zhí)行一邏輯運算,并接著輸出修正后的所述數(shù)據(jù)群組至所述第二內(nèi)存;以及一內(nèi)存控制器,對所述第一內(nèi)存執(zhí)行一瞬間寫入操作,以使得所述第一內(nèi)存接收并儲存來自所述第二內(nèi)存的修正后的所述數(shù)據(jù)群組。
7.如權(quán)利要求6所述的錯誤校正裝置,其特征在于,所述數(shù)據(jù)群組包括多個字節(jié)的數(shù)據(jù)。
8.如權(quán)利要求6所述的錯誤校正裝置,其特征在于,所述第二內(nèi)存為先進先出緩沖器。
9.如權(quán)利要求6所述的錯誤校正裝置,其特征在于,所述第二內(nèi)存為同步動態(tài)隨機存取內(nèi)存。
10.如權(quán)利要求6所述的錯誤校正裝置,其特征在于,所述邏輯運算為互斥或運算。
11.一種錯誤校正裝置,該裝置用以修正n個數(shù)據(jù)組,所述錯誤校正裝置包括一內(nèi)存,用以儲存所述n個數(shù)據(jù)組;一里德所羅門引擎,接收多個錯誤校正碼,且根據(jù)所述錯誤校正碼而譯碼出n個錯誤值;一內(nèi)存控制器,對所述內(nèi)存執(zhí)行一瞬間讀取-修正-寫入操作,以在n個預設(shè)期間內(nèi)修正所述n個數(shù)據(jù)組;以及一計算單元,耦接所述RS引擎及所述內(nèi)存控制器;其中,當所述內(nèi)存控制器對所述內(nèi)存執(zhí)行所述瞬間讀取-修正-寫入操作時,在所述n個期間的一第i期間中,所述計算單元接收來自所述內(nèi)存的所述第i數(shù)據(jù)組,對所述第i數(shù)據(jù)組及所述第i錯誤值執(zhí)行一邏輯運算以獲得修正后的所述第i數(shù)據(jù)組,并輸出修正后的所述第i數(shù)據(jù)組至所述內(nèi)存以做儲存,1≤i≤n。
12.如權(quán)利要求11所述的錯誤校正裝置,其特征在于,所述數(shù)據(jù)群組包括多個字節(jié)的數(shù)據(jù)。
13.如權(quán)利要求11所述的錯誤校正裝置,其特征在于,所述邏輯運算為互斥或運算。
14.一種校正方法,該方法用以修正儲存在一第一內(nèi)存的一數(shù)據(jù)群組,所述校正方法包括以下步驟接收多個錯誤校正碼;根據(jù)所述錯誤校正碼來決定一錯誤序列;對所述第一內(nèi)存執(zhí)行一瞬間讀取操作;自所述第一內(nèi)存輸出所述數(shù)據(jù)群組;對所述數(shù)據(jù)群組與所述錯誤序列執(zhí)行一邏輯運算,以獲得修正后的所述數(shù)據(jù)群組;執(zhí)行一寫入操作以及將修正后的所述數(shù)據(jù)群組儲存至所述第一內(nèi)存。
15.如權(quán)利要求14所述的校正方法,其特征在于,所述數(shù)據(jù)群組包括多個字節(jié)的數(shù)據(jù)。
16.如權(quán)利要求14所述的校正方法,其特征在于,所述邏輯運算為互斥或運算。
17.如權(quán)利要求14所述的校正方法,其特征在于,所述校正方法更包括將所述修正后的所述數(shù)據(jù)群組儲存至一第二內(nèi)存,且將修正后的所述數(shù)據(jù)群組自所述第二內(nèi)存輸出至所述第一內(nèi)存的步驟。
18.一種校正方法,該方法用以修正儲存在一第一內(nèi)存的一數(shù)據(jù)群組,所述校正方法包括以下步驟檢測所述數(shù)據(jù)群組,并將所述數(shù)據(jù)群組儲存至一第二內(nèi)存;接收多個錯誤校正碼;根據(jù)所述錯誤校正碼來決定一錯誤序列;對所述數(shù)據(jù)群組與所述錯誤序列執(zhí)行一邏輯運算,以獲得修正后的所述數(shù)據(jù)群組;輸出修正后的所述數(shù)據(jù)群組至所述第二內(nèi)存以做儲存;對所述第一內(nèi)存執(zhí)行一瞬間寫入操作以及將修正后的所述數(shù)據(jù)群組儲存至所述第一內(nèi)存。
19.如權(quán)利要求18所述的校正方法,其特征在于,所述數(shù)據(jù)群組包括多個字節(jié)的數(shù)據(jù)。
20.如權(quán)利要求18所述的校正方法,其特征在于,所述邏輯運算為互斥或運算。
21.如權(quán)利要求18所述的校正方法,其特征在于,所述校正方法更包括將所述修正后的所述數(shù)據(jù)群組儲存至所述第二內(nèi)存,且將修正后的所述數(shù)據(jù)群組自所述第二內(nèi)存輸出至所述第一內(nèi)存的步驟。
22.一種校正方法,該方法用以修正儲存在一內(nèi)存的n個數(shù)據(jù)組,所述校正方法包括以下步驟接收多個錯誤校正碼;根據(jù)所述錯誤校正碼來譯碼出n個錯誤值;對所述內(nèi)存執(zhí)行一瞬間讀取-修正-寫入操作,以在n個預設(shè)期間內(nèi)修正所述n個數(shù)據(jù)組;在所述n個期間的一第i期間中,對所述第i數(shù)據(jù)組及第i錯誤值執(zhí)行一邏輯運算以獲得修正后的所述第i數(shù)據(jù)組,并將所述第i數(shù)據(jù)組儲存至所述內(nèi)存,其中,1≤i≤n。
23.如權(quán)利要求22所述的校正方法,其特征在于,所述數(shù)據(jù)群組包括多個字節(jié)的數(shù)據(jù)。
24.如權(quán)利要求22所述的校正方法,其特征在于,所述邏輯運算為互斥或運算。
全文摘要
本發(fā)明提供錯誤校正裝置及校正方法,該錯誤校正裝置用以修正一數(shù)據(jù)群組,該裝置包括一第一內(nèi)存,用以儲存數(shù)據(jù)群組;一里德所羅門引擎,接收多個錯誤校正碼,且根據(jù)錯誤校正碼而譯碼出一錯誤序列以修正數(shù)據(jù)群組;一內(nèi)存控制器,對第一內(nèi)存執(zhí)行一瞬間讀取操作,以使得第一內(nèi)存輸出所述數(shù)據(jù)群組;一計算單元,接收來自RS引擎的錯誤序列及來自第一內(nèi)存的數(shù)據(jù)群組,且對錯誤序列及數(shù)據(jù)群組執(zhí)行一邏輯運算,以獲得修正后的數(shù)據(jù)群組;以及一第二內(nèi)存,耦接計算單元并儲存修正后的數(shù)據(jù)群組,其中,當內(nèi)存控制器執(zhí)行一寫入操作時,內(nèi)存控制器控制第一內(nèi)存接收并儲存來自第二內(nèi)存的修正后的數(shù)據(jù)群組。
文檔編號H03M13/00GK1983424SQ20061014671
公開日2007年6月20日 申請日期2006年11月16日 優(yōu)先權(quán)日2005年12月12日
發(fā)明者薛景文, 林利蓮 申請人:聯(lián)發(fā)科技股份有限公司