[發(fā)明專利]一種錯誤檢查和糾正碼譯碼器及譯碼方法有效
| 申請?zhí)枺?/td> | 201210526509.0 | 申請日: | 2012-12-07 |
| 公開(公告)號: | CN103870354B | 公開(公告)日: | 2018-04-17 |
| 發(fā)明(設(shè)計)人: | 劉會娟;蘇志強 | 申請(專利權(quán))人: | 北京兆易創(chuàng)新科技股份有限公司 |
| 主分類號: | G06F11/08 | 分類號: | G06F11/08 |
| 代理公司: | 北京安信方達知識產(chǎn)權(quán)代理有限公司11262 | 代理人: | 栗若木,曲鵬 |
| 地址: | 100083 北京市海淀*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 錯誤 檢查 糾正 譯碼器 譯碼 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及電路領(lǐng)域,尤其涉及一種錯誤檢查和糾正碼譯碼器及譯碼方法。
背景技術(shù)
用于存儲器的ECC(Error Correcting Code,錯誤檢查和糾正碼)在存儲器做編程操作時進行編碼,在存儲器做讀操作時做譯碼。ECC的譯碼算法,例如里德-索羅門(RS)解碼以及BCH(Bose、Ray-Chaudhuri與Hocquenghem的縮寫)譯碼一般分為等一般分為三個步驟:計算伴隨式,求解錯誤位置多項式,尋找錯誤位置。存儲器讀操作一般以頁為單位進行,而一個頁的大小往往大于解碼處理的單位,所以在譯碼過程中先要將一個頁的數(shù)據(jù)劃分為多個數(shù)據(jù)組,每個數(shù)據(jù)組的大小作為解碼處理的一個單位;然后對每個數(shù)據(jù)組依次進行上述三個步驟,當(dāng)一個數(shù)據(jù)組完成上述三個步驟后,再對下一個數(shù)據(jù)組進行上述三個步驟。
如果要將一個頁的數(shù)據(jù)都做譯碼,那么ECC譯碼需要重復(fù)幾次才能完成。而一般解碼的時間與讀時間相當(dāng),如果依照順序重復(fù)幾次ECC譯碼,則對時間的消耗是客觀的,有時甚至是讀過程不可接受的
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是如何提高存儲器中ECC的譯碼速度,縮短譯碼時間。
為了解決上述問題,本發(fā)明提供了一種錯誤檢查和糾正碼譯碼器,用于存儲器中的ECC譯碼,包括:求解模塊、尋找模塊;
分組模塊,用于將從存儲器讀取的數(shù)據(jù)劃分成多個數(shù)據(jù)組;
伴隨式計算模塊,用于當(dāng)譯碼開始后讀取一個劃分得到的數(shù)據(jù)組;計算所讀取的數(shù)據(jù)組的伴隨式,計算完成后將該數(shù)據(jù)組發(fā)送給所述尋找模塊,將計算得到的伴隨式發(fā)送給所述求解模塊;
所述求解模塊用于將計算得到的伴隨式代入到錯誤位置多項式中,求解出錯誤位置多項式的值發(fā)送給所述尋找模塊;
所述尋找模塊用于當(dāng)收到錯誤位置多項式的值后,根據(jù)所述錯誤位置多項式的值尋找所述伴隨式計算模塊所發(fā)送的數(shù)據(jù)組中的錯誤位置;
控制模塊,用于當(dāng)所述求解模塊將錯位位置多項式的值發(fā)送給所述尋找模塊時,指示所述伴隨式計算模塊讀取下一個數(shù)據(jù)組。
進一步地,所述尋找模塊當(dāng)尋找到錯誤位置時糾正該錯誤位置上的錯誤,糾錯完成后繼續(xù)尋找錯誤位置;
所述控制模塊還用于當(dāng)所述尋找模塊尋找結(jié)束,并發(fā)現(xiàn)錯誤位置時,指示所述伴隨式計算模塊中斷伴隨式計算;當(dāng)所述尋找模塊對錯誤位置處的數(shù)據(jù)糾錯完成時指示所述伴隨式計算模塊繼續(xù)所中斷的伴隨式計算。
進一步地,所述控制模塊還用于當(dāng)所述尋找模塊尋找錯誤位置完成后,發(fā)送第一通知給所述伴隨式計算模塊;
所述伴隨式計算模塊除了直接發(fā)送本次譯碼中第一次計算出的伴隨式、及直接發(fā)送第一次讀取的數(shù)據(jù)組外,僅當(dāng)收到所述第一通知后才將伴隨式發(fā)送給所述求解模塊,以及將數(shù)據(jù)組發(fā)送給所述尋找模塊。
進一步地,所述的譯碼器還包括:
第一緩存、第二緩存;
所述分組模塊將劃分后的數(shù)據(jù)組保存在所述第一緩存中;
所述伴隨式計算模塊是從所述第一緩存讀取劃分得到的數(shù)據(jù)組;
所述伴隨式計算模塊將數(shù)據(jù)組發(fā)送給所述尋找模塊是指:所述伴隨式計算模塊將數(shù)據(jù)組存放在第二緩存中,由尋找模塊在收到錯誤位置多項式的值后,從所述第二緩存中讀出該數(shù)據(jù)組。
本發(fā)明還提供了一種錯誤檢查和糾正碼譯碼方法,用于存儲器中的錯誤檢查和糾正碼譯碼,包括:
將從存儲器讀取的數(shù)據(jù)劃分成多個數(shù)據(jù)組;依次對各數(shù)據(jù)組進行下述處理:
計算該數(shù)據(jù)組的伴隨式;
將計算得到的伴隨式代入到錯誤位置多項式中,求解出錯誤位置多項式的值;
根據(jù)所述錯誤位置多項式的值尋找該數(shù)據(jù)組中的錯誤位置;
其中,當(dāng)求解出錯位位置多項式的值時開始計算下一個數(shù)據(jù)組的伴隨式。
進一步地,所述的方法還包括:
當(dāng)尋找模塊尋找結(jié)束,并發(fā)現(xiàn)錯誤位置時中斷伴隨式計算,糾正該錯誤位置上的錯誤;
當(dāng)糾錯完成時恢復(fù)伴隨式計算。
進一步地,計算該數(shù)據(jù)組的伴隨式的步驟后還包括:
將計算過伴隨式的數(shù)據(jù)組存放在緩存中;
根據(jù)所述錯誤位置多項式的值尋找該數(shù)據(jù)組中的錯誤位置的步驟中,是尋找緩存里的數(shù)據(jù)組中的錯誤位置。
本發(fā)明的技術(shù)方案可以大大降低完成存儲器一個頁的ECC譯碼所需要的時間,從而大大節(jié)省了存儲器讀時間,提高了讀取速度。
附圖說明
圖1是實施例一的ECC譯碼器的結(jié)構(gòu)示意框圖;
圖2是實施例一例子中的流程示意圖;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京兆易創(chuàng)新科技股份有限公司,未經(jīng)北京兆易創(chuàng)新科技股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210526509.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





