專利名稱:數(shù)據(jù)的糾錯(cuò)方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)的處理領(lǐng)域,尤其涉及一種數(shù)據(jù)的糾錯(cuò)方法及裝置。
背景技術(shù):
隨著工藝水平的提升,存儲(chǔ)介質(zhì)的工藝復(fù)雜度越來越高,存儲(chǔ)的數(shù)據(jù)更容易發(fā)生錯(cuò)誤,需要對(duì)數(shù)據(jù)進(jìn)行糾錯(cuò),現(xiàn)有的糾錯(cuò)方法沒有采用串行級(jí)聯(lián)的方式,一般是將數(shù)據(jù)分成一定的單位,基于此單位采用一種糾錯(cuò)算法實(shí)現(xiàn)一定的糾錯(cuò)能力。而現(xiàn)在隨著存儲(chǔ)介質(zhì)的容量越來越大,對(duì)糾錯(cuò)算法的糾錯(cuò)能力要求越來越高,現(xiàn)有的直接對(duì)數(shù)據(jù)進(jìn)行糾錯(cuò)的方法對(duì)糾錯(cuò)算法的糾錯(cuò)能力要求很高,實(shí)現(xiàn)起來的復(fù)雜度也很高,隨之帶來的是成本代價(jià)巨大,不利于市場(chǎng)的競(jìng)爭(zhēng),且在一個(gè)系統(tǒng)中只實(shí)現(xiàn)一種糾錯(cuò)算法,無法將現(xiàn)有的各種糾錯(cuò)算法的優(yōu)點(diǎn)結(jié)合起來。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種數(shù)據(jù)的糾錯(cuò)方法及裝置,旨在以更加簡(jiǎn)單且更小的代價(jià)實(shí)現(xiàn)對(duì)數(shù)據(jù)的糾錯(cuò)。為了達(dá)到上述目的,本發(fā)明提出一種數(shù)據(jù)的糾錯(cuò)方法,包括:將若干級(jí)糾錯(cuò)模塊進(jìn)行級(jí)聯(lián);為所述若干級(jí)糾錯(cuò)模塊中每一級(jí)糾錯(cuò)模塊選擇相應(yīng)的糾錯(cuò)算法,通過所述若干級(jí)糾錯(cuò)模塊對(duì)數(shù)據(jù)進(jìn)行糾錯(cuò)。優(yōu)選地,所述將若干級(jí)糾錯(cuò)模塊進(jìn)行級(jí)聯(lián)的步驟具體為:在所述若干級(jí)糾錯(cuò)模塊中各級(jí)糾錯(cuò)模塊之間建立傳送數(shù)據(jù)的通路,由前級(jí)糾錯(cuò)模塊將糾錯(cuò)后的數(shù)據(jù)傳送給后級(jí)糾錯(cuò)模塊繼續(xù)進(jìn)行糾錯(cuò)。優(yōu)選地,所述為若干級(jí)糾錯(cuò)模塊中每一級(jí)糾錯(cuò)模塊選擇相應(yīng)的糾錯(cuò)算法,通過所述若干級(jí)糾錯(cuò)模塊對(duì)數(shù)據(jù)進(jìn)行糾錯(cuò)的步驟包括:由每一級(jí)糾錯(cuò)模塊將數(shù)據(jù)拆分成不同大小的單位數(shù)據(jù),其中,后一級(jí)糾錯(cuò)模塊的單位數(shù)據(jù)大于前一級(jí)糾錯(cuò)模塊的單位數(shù)據(jù);為所述若干級(jí)糾錯(cuò)模塊中每一級(jí)糾錯(cuò)模塊根據(jù)其單位數(shù)據(jù)的出錯(cuò)情況動(dòng)態(tài)配置相應(yīng)的糾錯(cuò)算法或預(yù)先為各級(jí)糾錯(cuò)模塊選擇相應(yīng)的糾錯(cuò)算法;通過所述各級(jí)糾錯(cuò)模塊根據(jù)所述相應(yīng)的糾錯(cuò)算法以其單位數(shù)據(jù)為單位對(duì)數(shù)據(jù)進(jìn)行糾錯(cuò),前級(jí)糾錯(cuò)模塊無法糾正的錯(cuò)誤傳送給后級(jí)糾錯(cuò)模塊繼續(xù)進(jìn)行糾錯(cuò)。優(yōu)選地,還包括:當(dāng)數(shù)據(jù)經(jīng)過所述若干級(jí)糾錯(cuò)模塊中任意一級(jí)糾錯(cuò)模塊,所述數(shù)據(jù)的錯(cuò)誤完全糾正后,中止執(zhí)行所述若干級(jí)糾錯(cuò)模塊中該級(jí)糾錯(cuò)模塊的全部后級(jí)糾錯(cuò)模塊。優(yōu)選地,當(dāng)需要提高糾錯(cuò)能力時(shí),增加所述若干級(jí)糾錯(cuò)模塊的級(jí)數(shù)。本發(fā)明還提出一種數(shù)據(jù)的糾錯(cuò)裝置,包括:級(jí)聯(lián)模塊,用于將若干級(jí)糾錯(cuò)模塊進(jìn)行級(jí)聯(lián);
選擇糾錯(cuò)模塊,用于為所述若干級(jí)糾錯(cuò)模塊中每一級(jí)糾錯(cuò)模塊選擇相應(yīng)的糾錯(cuò)算法,通過所述若干級(jí)糾錯(cuò)模塊對(duì)數(shù)據(jù)進(jìn)行糾錯(cuò)。優(yōu)選地,所述級(jí)聯(lián)模塊用于在所述若干級(jí)糾錯(cuò)模塊中各級(jí)糾錯(cuò)模塊之間建立傳送數(shù)據(jù)的通路,由前級(jí)糾錯(cuò)模塊將糾錯(cuò)后的數(shù)據(jù)傳送給后級(jí)糾錯(cuò)模塊繼續(xù)進(jìn)行糾錯(cuò)。優(yōu)選地,所述選擇糾錯(cuò)模塊包括:數(shù)據(jù)拆分單元,用于由每一級(jí)糾錯(cuò)模塊將數(shù)據(jù)拆分成不同大小的單位數(shù)據(jù),其中,后一級(jí)糾錯(cuò)模塊的單位數(shù)據(jù)大于前一級(jí)糾錯(cuò)模塊的單位數(shù)據(jù);算法選擇單元,用于為所述若干級(jí)糾錯(cuò)模塊中每一級(jí)糾錯(cuò)模塊根據(jù)其單位數(shù)據(jù)的出錯(cuò)情況動(dòng)態(tài)配置相應(yīng)的糾錯(cuò)算法或預(yù)先為各級(jí)糾錯(cuò)模塊選擇相應(yīng)的糾錯(cuò)算法;糾錯(cuò)單元,用于通過所述各級(jí)糾錯(cuò)模塊根據(jù)所述相應(yīng)的糾錯(cuò)算法以其單位數(shù)據(jù)為單位對(duì)數(shù)據(jù)進(jìn)行糾錯(cuò),前級(jí)糾錯(cuò)模塊無法糾正的錯(cuò)誤傳送給后級(jí)糾錯(cuò)模塊繼續(xù)進(jìn)行糾錯(cuò)。優(yōu)選地,所述裝置還包括:中止模塊,用于當(dāng)數(shù)據(jù)經(jīng)過所述若干級(jí)糾錯(cuò)模塊中任意一級(jí)糾錯(cuò)模塊,所述數(shù)據(jù)的錯(cuò)誤完全糾正后,中止執(zhí)行所述若干級(jí)糾錯(cuò)模塊中該級(jí)糾錯(cuò)模塊的全部后級(jí)糾錯(cuò)模塊。優(yōu)選地,所述裝置還包括:升級(jí)模塊,用于當(dāng)需要提高糾錯(cuò)能力時(shí),增加所述若干級(jí)糾錯(cuò)模塊的級(jí)數(shù)。本發(fā)明提出的一種數(shù)據(jù)的糾錯(cuò)方法及裝置,通過級(jí)聯(lián)的若干級(jí)糾錯(cuò)模塊對(duì)數(shù)據(jù)進(jìn)行糾錯(cuò),并在所述若干級(jí)糾錯(cuò)模塊中運(yùn)用多種糾錯(cuò)算法,根據(jù)數(shù)據(jù)出錯(cuò)的情況動(dòng)態(tài)配置相應(yīng)的糾錯(cuò)算法或預(yù)先選擇相應(yīng)的糾錯(cuò)算法,結(jié)合各種糾錯(cuò)算法的優(yōu)點(diǎn)以較小的代價(jià)實(shí)現(xiàn)所需的糾錯(cuò)能力,降低了數(shù)據(jù)糾錯(cuò)的成本和復(fù)雜度。
圖1是本發(fā)明數(shù)據(jù)的糾錯(cuò)方法第一實(shí)施例的流程示意圖;圖2是本發(fā)明數(shù)據(jù)的糾錯(cuò)方法第一實(shí)施例中為所述若干級(jí)糾錯(cuò)模塊中每一級(jí)糾錯(cuò)模塊選擇相應(yīng)的糾錯(cuò)算法,通過所述若干級(jí)糾錯(cuò)模塊對(duì)數(shù)據(jù)進(jìn)行糾錯(cuò)的流程示意圖;圖3是本發(fā)明數(shù)據(jù)的糾錯(cuò)方法第二實(shí)施例的流程示意圖;圖4是本發(fā)明數(shù)據(jù)的糾錯(cuò)方法第三實(shí)施例的流程示意圖;圖5是本發(fā)明數(shù)據(jù)的糾錯(cuò)裝置第一實(shí)施例的結(jié)構(gòu)示意圖;圖6是本發(fā)明數(shù)據(jù)的糾錯(cuò)裝置第一實(shí)施例中選擇糾錯(cuò)模塊的結(jié)構(gòu)示意圖;圖7是本發(fā)明數(shù)據(jù)的糾錯(cuò)裝置第二實(shí)施例的結(jié)構(gòu)示意圖;圖8是本發(fā)明數(shù)據(jù)的糾錯(cuò)裝置第三實(shí)施例的結(jié)構(gòu)示意圖。為了使本發(fā)明的技術(shù)方案更加清楚、明了,下面將結(jié)合附圖作進(jìn)一步詳述。
具體實(shí)施例方式本發(fā)明實(shí)施例的解決方案主要是:通過級(jí)聯(lián)的若干級(jí)糾錯(cuò)模塊對(duì)數(shù)據(jù)進(jìn)行糾錯(cuò),并在所述若干級(jí)糾錯(cuò)模塊中運(yùn)用多種糾錯(cuò)算法,根據(jù)數(shù)據(jù)出錯(cuò)的情況動(dòng)態(tài)配置相應(yīng)的糾錯(cuò)算法或預(yù)先選擇相應(yīng)的糾錯(cuò)算法,結(jié)合各種糾錯(cuò)算法的優(yōu)點(diǎn)以較小的代價(jià)實(shí)現(xiàn)所需的糾錯(cuò)能力,降低了數(shù)據(jù)糾錯(cuò)的成本和復(fù)雜度。如圖1所示,本發(fā)明第一實(shí)施例提出一種數(shù)據(jù)的糾錯(cuò)方法,包括:
步驟SlOl,將若干級(jí)糾錯(cuò)模塊進(jìn)行級(jí)聯(lián);將若干級(jí)實(shí)現(xiàn)代價(jià)不高的糾錯(cuò)模塊級(jí)聯(lián)起來,級(jí)數(shù)根據(jù)實(shí)際應(yīng)用環(huán)境中數(shù)據(jù)出錯(cuò)的情況而定。在所述若干級(jí)糾錯(cuò)模塊中各級(jí)糾錯(cuò)模塊之間建立傳送數(shù)據(jù)的通路,使數(shù)據(jù)能在所述若干級(jí)糾錯(cuò)模塊中前級(jí)糾錯(cuò)模塊與后級(jí)糾錯(cuò)模塊之間流通,以便由前級(jí)糾錯(cuò)模塊將糾錯(cuò)后的數(shù)據(jù)傳送給后級(jí)糾錯(cuò)模塊繼續(xù)進(jìn)行糾錯(cuò)。步驟S102,為所述若干級(jí)糾錯(cuò)模塊中每一級(jí)糾錯(cuò)模塊選擇相應(yīng)的糾錯(cuò)算法,通過所述若干級(jí)糾錯(cuò)模塊對(duì)數(shù)據(jù)進(jìn)行糾錯(cuò)。便單一將傳送到每一級(jí)糾錯(cuò)模塊中的數(shù)據(jù)拆分成不同大小的單位數(shù)據(jù),其中,后一級(jí)糾錯(cuò)模塊的單位數(shù)據(jù)大于前一級(jí)糾錯(cuò)模塊中的單位數(shù)據(jù),這樣便于為各級(jí)糾錯(cuò)模塊選擇糾錯(cuò)能力不同的糾錯(cuò)算法,能充分利用各種糾錯(cuò)算法的優(yōu)點(diǎn)。為所述若干級(jí)糾錯(cuò)模塊中各級(jí)糾錯(cuò)模塊根據(jù)其單位數(shù)據(jù)的出錯(cuò)情況動(dòng)態(tài)配置相應(yīng)的糾錯(cuò)算法或預(yù)先為各級(jí)糾錯(cuò)模塊選擇相應(yīng)的糾錯(cuò)算法,本實(shí)施例中糾錯(cuò)算法均為實(shí)現(xiàn)代價(jià)不高的糾錯(cuò)算法,可以是RS、BCH及海明碼等常用的糾錯(cuò)算法,因此實(shí)現(xiàn)起來很簡(jiǎn)單,成本也很低。為所述若干級(jí)糾錯(cuò)模塊中各級(jí)糾錯(cuò)模塊根據(jù)其單位數(shù)據(jù)的出錯(cuò)情況動(dòng)態(tài)配置相應(yīng)的糾錯(cuò)算法更加靈活,可以由后級(jí)糾錯(cuò)模塊根據(jù)前級(jí)糾錯(cuò)模塊糾錯(cuò)后傳送過來的數(shù)據(jù)的出錯(cuò)情況動(dòng)態(tài)配置與之匹配的糾錯(cuò)算法,能用較小的代價(jià)對(duì)數(shù)據(jù)進(jìn)行糾錯(cuò);或者根據(jù)預(yù)先對(duì)數(shù)據(jù)的整體出錯(cuò)情況做出評(píng)估,然后為每一級(jí)糾錯(cuò)模塊選擇相應(yīng)的糾錯(cuò)算法,免去選擇糾錯(cuò)算法的過程。通過所述各級(jí)糾錯(cuò)模塊根據(jù)所述相應(yīng)的糾錯(cuò)算法以其單位數(shù)據(jù)為單位對(duì)數(shù)據(jù)進(jìn)行糾錯(cuò),前級(jí)糾錯(cuò)模塊無法糾正的錯(cuò)誤傳送給后級(jí)糾錯(cuò)模塊繼續(xù)進(jìn)行糾錯(cuò)。在此以所述若干級(jí)糾錯(cuò)模塊中第一級(jí)糾錯(cuò)模塊和第二級(jí)糾錯(cuò)模塊的糾錯(cuò)過程為例進(jìn)行說明,當(dāng)數(shù)據(jù)經(jīng)過所述若干級(jí)糾錯(cuò)模塊中第一級(jí)糾錯(cuò)模塊時(shí),所述第一級(jí)糾錯(cuò)模塊將數(shù)據(jù)分為若干第一級(jí)單位數(shù)據(jù),以所述第一級(jí)單位數(shù)據(jù)為單位進(jìn)行糾錯(cuò),本實(shí)施例中所述第一級(jí)單位數(shù)據(jù)較小,因此所述第一級(jí)單位數(shù)據(jù)中錯(cuò)誤也較少,所述第一級(jí)糾錯(cuò)模塊根據(jù)所述第一級(jí)單位數(shù)據(jù)中較少的錯(cuò)誤出錯(cuò)情況選擇相應(yīng)的糾錯(cuò)能力一般的糾錯(cuò)算法或根據(jù)預(yù)先設(shè)定的糾錯(cuò)算法進(jìn)行糾錯(cuò),經(jīng)過第一級(jí)糾錯(cuò)模塊的糾錯(cuò)后,數(shù)據(jù)中一部分錯(cuò)誤得到糾正,糾錯(cuò)后的第一級(jí)數(shù)據(jù)傳送到第二級(jí)糾錯(cuò)模塊,第二級(jí)糾錯(cuò)模塊將第一級(jí)數(shù)據(jù)分為比第一級(jí)單位數(shù)據(jù)略大的第二級(jí)單位數(shù)據(jù),以第二級(jí)單位數(shù)據(jù)為單位進(jìn)行糾錯(cuò),第二級(jí)糾錯(cuò)模塊根據(jù)第二級(jí)單位數(shù)據(jù)中第一級(jí)糾錯(cuò)模塊無法糾錯(cuò)的數(shù)據(jù)出錯(cuò)情況選擇相應(yīng)較強(qiáng)糾錯(cuò)能力的糾錯(cuò)算法進(jìn)行糾錯(cuò),由于第二級(jí)單位數(shù)據(jù)中一部分錯(cuò)誤已被第一級(jí)糾錯(cuò)模塊糾正,因此第二級(jí)糾錯(cuò)模塊也不需要選擇很強(qiáng)的糾錯(cuò)算法,只需解決部分第一級(jí)糾錯(cuò)模塊無法糾正的錯(cuò)誤即可,第二級(jí)糾錯(cuò)模塊將數(shù)據(jù)糾正后的第二級(jí)數(shù)據(jù)傳送到若干糾錯(cuò)方式中后一級(jí)糾錯(cuò)模塊,依次類推,后一級(jí)糾錯(cuò)模塊的單位數(shù)據(jù)都比前一級(jí)糾錯(cuò)模塊的單位數(shù)據(jù)要大,這樣每一級(jí)糾錯(cuò)模塊都能解決部分錯(cuò)誤,直至完成若干級(jí)糾錯(cuò)模塊中的所有糾錯(cuò)模塊。具體地,如圖2所示,上述步驟S102可以包括:步驟S1021,由每一級(jí)糾錯(cuò)模塊將數(shù)據(jù)拆分成不同大小的單位數(shù)據(jù),其中,后一級(jí)糾錯(cuò)模塊的單位數(shù)據(jù)大于前一級(jí)糾錯(cuò)模塊的單位數(shù)據(jù);步驟S1022,為所述若干級(jí)糾錯(cuò)模塊中每一級(jí)糾錯(cuò)模塊根據(jù)其單位數(shù)據(jù)的出錯(cuò)情況動(dòng)態(tài)配置相應(yīng)的糾錯(cuò)算法或預(yù)先為各級(jí)糾錯(cuò)模塊選擇相應(yīng)的糾錯(cuò)算法;步驟S1023,通過所述各級(jí)糾錯(cuò)模塊根據(jù)所述相應(yīng)的糾錯(cuò)算法以其單位數(shù)據(jù)為單位對(duì)數(shù)據(jù)進(jìn)行糾錯(cuò),前級(jí)糾錯(cuò)模塊無法糾正的錯(cuò)誤傳送給后級(jí)糾錯(cuò)模塊繼續(xù)進(jìn)行糾錯(cuò)。本實(shí)施例通過上述方案,由級(jí)聯(lián)的若干級(jí)糾錯(cuò)模塊對(duì)數(shù)據(jù)進(jìn)行糾錯(cuò),并在所述若干級(jí)糾錯(cuò)模塊中運(yùn)用多種糾錯(cuò)算法,根據(jù)數(shù)據(jù)出錯(cuò)的情況動(dòng)態(tài)配置相應(yīng)的糾錯(cuò)算法或預(yù)先選擇相應(yīng)的糾錯(cuò)算法,結(jié)合各種糾錯(cuò)算法的優(yōu)點(diǎn)以較小的代價(jià)實(shí)現(xiàn)所需的糾錯(cuò)能力,降低了數(shù)據(jù)糾錯(cuò)的成本和復(fù)雜度。如圖3所示,本發(fā)明第二實(shí)施例提出一種數(shù)據(jù)的糾錯(cuò)方法,在上述第一實(shí)施例的基礎(chǔ)上,還包括:步驟S103,當(dāng)數(shù)據(jù)經(jīng)過所述若干級(jí)糾錯(cuò)模塊中任意一級(jí)糾錯(cuò)模塊,所述數(shù)據(jù)的錯(cuò)誤完全糾正后,中止執(zhí)行所述若干級(jí)糾錯(cuò)模塊中該級(jí)糾錯(cuò)模塊的全部后級(jí)糾錯(cuò)模塊。本實(shí)施例與上述第一實(shí)施例的區(qū)別在于,當(dāng)數(shù)據(jù)在經(jīng)過所述若干級(jí)糾錯(cuò)模塊中任意一級(jí)糾錯(cuò)方式,所述數(shù)據(jù)的錯(cuò)誤完全糾正后,中止執(zhí)行所述若干級(jí)糾錯(cuò)模塊中該級(jí)糾錯(cuò)模塊的全部后級(jí)糾錯(cuò)模塊,避免了所述若干級(jí)糾錯(cuò)模塊中該級(jí)糾錯(cuò)模塊的后級(jí)糾錯(cuò)模塊對(duì)已完全糾正錯(cuò)誤的數(shù)據(jù)進(jìn)行毫無必要的糾錯(cuò)工作,這樣節(jié)約了資源和時(shí)間,更使得本實(shí)施的執(zhí)行效率更高。如圖4所示,本發(fā)明第三實(shí)施例提出一種數(shù)據(jù)的糾錯(cuò)方法,在上述第一實(shí)施例的基礎(chǔ)上,還包括:步驟S104,當(dāng)需要提高糾錯(cuò)能力時(shí),增加所述若干級(jí)糾錯(cuò)模塊的級(jí)數(shù)。本實(shí)施例與上述第一實(shí)施例的區(qū)別在于,當(dāng)需要升級(jí)本實(shí)施例的數(shù)據(jù)糾錯(cuò)方法,提高其對(duì)新的更復(fù)雜數(shù)據(jù)的糾錯(cuò)能力時(shí),只需增加所述若干級(jí)糾錯(cuò)模塊的級(jí)數(shù)即可,避免了對(duì)整個(gè)糾錯(cuò)方法的重新設(shè)計(jì),十分簡(jiǎn)便實(shí)用。如圖5所示,本發(fā)明第一實(shí)施例提出一種數(shù)據(jù)的糾錯(cuò)裝置,包括:級(jí)聯(lián)模塊501及選擇糾錯(cuò)模塊502,其中:級(jí)聯(lián)模塊501,用于將若干級(jí)糾錯(cuò)模塊進(jìn)行級(jí)聯(lián);將若干級(jí)實(shí)現(xiàn)代價(jià)不高的糾錯(cuò)模塊級(jí)聯(lián)起來,級(jí)數(shù)根據(jù)實(shí)際應(yīng)用環(huán)境中數(shù)據(jù)出錯(cuò)的情況而定。在所述若干級(jí)糾錯(cuò)模塊中各級(jí)糾錯(cuò)模塊之間建立傳送數(shù)據(jù)的通路,使數(shù)據(jù)能在所述若干級(jí)糾錯(cuò)模塊中前級(jí)糾錯(cuò)模塊與后級(jí)糾錯(cuò)模塊之間流通,以便由前級(jí)糾錯(cuò)模塊將糾錯(cuò)后的數(shù)據(jù)傳送給后級(jí)糾錯(cuò)模塊繼續(xù)進(jìn)行糾錯(cuò)。選擇糾錯(cuò)模塊502,用于為所述若干級(jí)糾錯(cuò)模塊中每一級(jí)糾錯(cuò)模塊選擇相應(yīng)的糾錯(cuò)算法,通過所述若干級(jí)糾錯(cuò)模塊對(duì)數(shù)據(jù)進(jìn)行糾錯(cuò)。將傳送到每一級(jí)糾錯(cuò)模塊中的數(shù)據(jù)拆分成不同大小的單位數(shù)據(jù),其中,后一級(jí)糾錯(cuò)模塊的單位數(shù)據(jù)大于前一級(jí)糾錯(cuò)模塊中的單位數(shù)據(jù),這樣便于為各級(jí)糾錯(cuò)模塊選擇糾錯(cuò)能力不同的糾錯(cuò)算法,能充分利用各種糾錯(cuò)算法的優(yōu)點(diǎn)。為所述若干級(jí)糾錯(cuò)模塊中各級(jí)糾錯(cuò)模塊根據(jù)其單位數(shù)據(jù)的出錯(cuò)情況動(dòng)態(tài)配置相應(yīng)的糾錯(cuò)算法或預(yù)先為各級(jí)糾錯(cuò)模塊選擇相應(yīng)的糾錯(cuò)算法,本實(shí)施例中糾錯(cuò)算法均為實(shí)現(xiàn)代價(jià)不高的糾錯(cuò)算法,可以是RS、BCH及海明碼等常用的糾錯(cuò)算法,因此實(shí)現(xiàn)起來很簡(jiǎn)單,成本也很低。為所述若干級(jí)糾錯(cuò)模塊中各級(jí)糾錯(cuò)模塊根據(jù)其單位數(shù)據(jù)的出錯(cuò)情況動(dòng)態(tài)配置相應(yīng)的糾錯(cuò)算法更加靈活,可以由后級(jí)糾錯(cuò)模塊根據(jù)前級(jí)糾錯(cuò)模塊糾錯(cuò)后傳送過來的數(shù)據(jù)的出錯(cuò)情況動(dòng)態(tài)配置與之匹配的糾錯(cuò)算法,能用較小的代價(jià)對(duì)數(shù)據(jù)進(jìn)行糾錯(cuò);或者根據(jù)預(yù)先對(duì)數(shù)據(jù)的整體出錯(cuò)情況做出評(píng)估,然后為每一級(jí)糾錯(cuò)模塊選擇相應(yīng)的糾錯(cuò)算法,免去選擇糾錯(cuò)算法的過程。通過所述各級(jí)糾錯(cuò)模塊根據(jù)所述相應(yīng)的糾錯(cuò)算法以其單位數(shù)據(jù)為單位對(duì)數(shù)據(jù)進(jìn)行糾錯(cuò),前級(jí)糾錯(cuò)模塊無法糾正的錯(cuò)誤傳送給后級(jí)糾錯(cuò)模塊繼續(xù)進(jìn)行糾錯(cuò)。在此以所述若干級(jí)糾錯(cuò)模塊中第一級(jí)糾錯(cuò)模塊和第二級(jí)糾錯(cuò)模塊的糾錯(cuò)過程為例進(jìn)行說明,當(dāng)數(shù)據(jù)經(jīng)過所述若干級(jí)糾錯(cuò)模塊中第一級(jí)糾錯(cuò)模塊時(shí),所述第一級(jí)糾錯(cuò)模塊將數(shù)據(jù)分為若干第一級(jí)單位數(shù)據(jù),以所述第一級(jí)單位數(shù)據(jù)為單位進(jìn)行糾錯(cuò),本實(shí)施例中所述第一級(jí)單位數(shù)據(jù)較小,因此所述第一級(jí)單位數(shù)據(jù)中錯(cuò)誤也較少,所述第一級(jí)糾錯(cuò)模塊根據(jù)所述第一級(jí)單位數(shù)據(jù)中較少的錯(cuò)誤出錯(cuò)情況選擇相應(yīng)的糾錯(cuò)能力一般的糾錯(cuò)算法或根據(jù)預(yù)先設(shè)定的糾錯(cuò)算法進(jìn)行糾錯(cuò),經(jīng)過第一級(jí)糾錯(cuò)模塊的糾錯(cuò)后,數(shù)據(jù)中一部分錯(cuò)誤得到糾正,糾錯(cuò)后的第一級(jí)數(shù)據(jù)傳送到第二級(jí)糾錯(cuò)模塊,第二級(jí)糾錯(cuò)模塊將第一級(jí)數(shù)據(jù)分為比第一級(jí)單位數(shù)據(jù)略大的第二級(jí)單位數(shù)據(jù),以第二級(jí)單位數(shù)據(jù)為單位進(jìn)行糾錯(cuò),第二級(jí)糾錯(cuò)模塊根據(jù)第二級(jí)單位數(shù)據(jù)中第一級(jí)糾錯(cuò)模塊無法糾錯(cuò)的數(shù)據(jù)出錯(cuò)情況選擇相應(yīng)較強(qiáng)糾錯(cuò)能力的糾錯(cuò)算法進(jìn)行糾錯(cuò),由于第二級(jí)單位數(shù)據(jù)中一部分錯(cuò)誤已被第一級(jí)糾錯(cuò)模塊糾正,因此第二級(jí)糾錯(cuò)模塊也不需要選擇很強(qiáng)的糾錯(cuò)算法,只需解決部分第一級(jí)糾錯(cuò)模塊無法糾正的錯(cuò)誤即可,第二級(jí)糾錯(cuò)模塊將數(shù)據(jù)糾正后的第二級(jí)數(shù)據(jù)傳送到若干糾錯(cuò)方式中后一級(jí)糾錯(cuò)模塊,依次類推,后一級(jí)糾錯(cuò)模塊的單位數(shù)據(jù)都比前一級(jí)糾錯(cuò)模塊的單位數(shù)據(jù)要大,這樣每一級(jí)糾錯(cuò)模塊都能解決部分錯(cuò)誤,直至完成若干級(jí)糾錯(cuò)模塊中的所有糾錯(cuò)模塊。具體地,如圖6所示,所述選擇糾錯(cuò)模塊502可以包括:數(shù)據(jù)拆分單元5021、算法選擇單元5022以及糾錯(cuò)單元5023,其中:數(shù)據(jù)拆分單元5021,用于由每一級(jí)糾錯(cuò)模塊將數(shù)據(jù)拆分成不同大小的單位數(shù)據(jù),其中,后一級(jí)糾錯(cuò)模塊的單位數(shù)據(jù)大于前一級(jí)糾錯(cuò)模塊的單位數(shù)據(jù);算法選擇單元5022,用于為所述若干級(jí)糾錯(cuò)模塊中每一級(jí)糾錯(cuò)模塊根據(jù)其單位數(shù)據(jù)的出錯(cuò)情況動(dòng)態(tài)配置相應(yīng)的糾錯(cuò)算法或預(yù)先為各級(jí)糾錯(cuò)模塊選擇相應(yīng)的糾錯(cuò)算法;糾錯(cuò)單元5023,用于通過所述各級(jí)糾錯(cuò)模塊根據(jù)所述相應(yīng)的糾錯(cuò)算法以其單位數(shù)據(jù)為單位對(duì)數(shù)據(jù)進(jìn)行糾錯(cuò),前級(jí)糾錯(cuò)模塊無法糾正的錯(cuò)誤傳送給后級(jí)糾錯(cuò)模塊繼續(xù)進(jìn)行糾錯(cuò)。本實(shí)施例通過上述方案,由級(jí)聯(lián)的若干級(jí)糾錯(cuò)模塊對(duì)數(shù)據(jù)進(jìn)行糾錯(cuò),并在所述若干級(jí)糾錯(cuò)模塊中運(yùn)用多種糾錯(cuò)算法,根據(jù)數(shù)據(jù)出錯(cuò)的情況動(dòng)態(tài)配置相應(yīng)的糾錯(cuò)算法或預(yù)先選擇相應(yīng)的糾錯(cuò)算法,結(jié)合各種糾錯(cuò)算法的優(yōu)點(diǎn)以較小的代價(jià)實(shí)現(xiàn)所需的糾錯(cuò)能力,降低了數(shù)據(jù)糾錯(cuò)的成本和復(fù)雜度。如圖7所示,本發(fā)明第二實(shí)施例提出一種數(shù)據(jù)的糾錯(cuò)裝置,在上述第一實(shí)施例的基礎(chǔ)上,還包括:中止模塊503,用于當(dāng)數(shù)據(jù)經(jīng)過所述若干級(jí)糾錯(cuò)模塊中任意一級(jí)糾錯(cuò)模塊,所述數(shù)據(jù)的錯(cuò)誤完全糾正后,中止執(zhí)行所述若干級(jí)糾錯(cuò)模塊中該級(jí)糾錯(cuò)模塊的全部后級(jí)糾錯(cuò)模塊。本實(shí)施例與上述第一實(shí)施例的區(qū)別在于,當(dāng)數(shù)據(jù)在經(jīng)過所述若干級(jí)糾錯(cuò)模塊中任意一級(jí)糾錯(cuò)方式,所述數(shù)據(jù)的錯(cuò)誤完全糾正后,中止執(zhí)行所述若干級(jí)糾錯(cuò)模塊中該級(jí)糾錯(cuò)模塊的全部后級(jí)糾錯(cuò)模塊,避免了所述若干級(jí)糾錯(cuò)模塊中該級(jí)糾錯(cuò)模塊的后級(jí)糾錯(cuò)模塊對(duì)已完全糾正錯(cuò)誤的數(shù)據(jù)進(jìn)行毫無必要的糾錯(cuò)工作,這樣節(jié)約了資源和時(shí)間,更使得本實(shí)施的執(zhí)行效率更高。
如圖8所示,本發(fā)明第三實(shí)施例提出一種數(shù)據(jù)的糾錯(cuò)裝置,在上述第一實(shí)施例的基礎(chǔ)上,還包括:升級(jí)模塊504,用于當(dāng)需要提高糾錯(cuò)能力時(shí),增加所述若干級(jí)糾錯(cuò)模塊的級(jí)數(shù)。本實(shí)施例與上述第一實(shí)施例的區(qū)別在于,當(dāng)需要升級(jí)本實(shí)施例的數(shù)據(jù)糾錯(cuò)方法,提高其對(duì)新的更復(fù)雜數(shù)據(jù)的糾錯(cuò)能力時(shí),只需增加所述若干級(jí)糾錯(cuò)模塊的級(jí)數(shù)即可,避免了對(duì)整個(gè)糾錯(cuò)方法的重新設(shè)計(jì),十分簡(jiǎn)便實(shí)用。本實(shí)施例通過上述方案,由級(jí)聯(lián)的若干級(jí)糾錯(cuò)模塊對(duì)數(shù)據(jù)進(jìn)行糾錯(cuò),并在所述若干級(jí)糾錯(cuò)模塊中運(yùn)用多種糾錯(cuò)算法,根據(jù)數(shù)據(jù)出錯(cuò)的情況動(dòng)態(tài)配置相應(yīng)的糾錯(cuò)算法或預(yù)先選擇相應(yīng)的糾錯(cuò)算法,結(jié)合各種糾錯(cuò)算法的優(yōu)點(diǎn)以較小的代價(jià)實(shí)現(xiàn)所需的糾錯(cuò)能力,降低了數(shù)據(jù)糾錯(cuò)的成本和復(fù)雜度。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或流程變換,或直接或間接運(yùn)用在其它相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)的糾錯(cuò)方法,其特征在于,包括: 將若干級(jí)糾錯(cuò)模塊進(jìn)行級(jí)聯(lián); 為所述若干級(jí)糾錯(cuò)模塊中每一級(jí)糾錯(cuò)模塊選擇相應(yīng)的糾錯(cuò)算法,通過所述若干級(jí)糾錯(cuò)模塊對(duì)數(shù)據(jù)進(jìn)行糾錯(cuò)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將若干級(jí)糾錯(cuò)模塊進(jìn)行級(jí)聯(lián)的步驟具體為: 在所述若干級(jí)糾錯(cuò)模塊中各級(jí)糾錯(cuò)模塊之間建立傳送數(shù)據(jù)的通路,由前級(jí)糾錯(cuò)模塊將糾錯(cuò)后的數(shù)據(jù)傳送給后級(jí)糾錯(cuò)模塊繼續(xù)進(jìn)行糾錯(cuò)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述為若干級(jí)糾錯(cuò)模塊中每一級(jí)糾錯(cuò)模塊選擇相應(yīng)的糾錯(cuò)算法,通過所述若干級(jí)糾錯(cuò)模塊對(duì)數(shù)據(jù)進(jìn)行糾錯(cuò)的步驟包括: 由每一級(jí)糾錯(cuò)模塊將數(shù)據(jù)拆分成不同大小的單位數(shù)據(jù),其中,后一級(jí)糾錯(cuò)模塊的單位數(shù)據(jù)大于前一級(jí)糾錯(cuò)模塊的單位數(shù)據(jù); 為所述若干級(jí)糾錯(cuò)模塊中每一級(jí)糾錯(cuò)模塊根據(jù)其單位數(shù)據(jù)的出錯(cuò)情況動(dòng)態(tài)配置相應(yīng)的糾錯(cuò)算法或預(yù)先為各級(jí)糾錯(cuò)模塊選擇相應(yīng)的糾錯(cuò)算法; 通過所述各級(jí)糾錯(cuò)模塊根據(jù)所述相應(yīng)的糾錯(cuò)算法以其單位數(shù)據(jù)為單位對(duì)數(shù)據(jù)進(jìn)行糾錯(cuò),前級(jí)糾錯(cuò)模塊無法糾正的錯(cuò)誤傳送給后級(jí)糾錯(cuò)模塊繼續(xù)進(jìn)行糾錯(cuò)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,還包括: 當(dāng)數(shù)據(jù)經(jīng)過所述若干級(jí)糾錯(cuò)模塊中任意一級(jí)糾錯(cuò)模塊,所述數(shù)據(jù)的錯(cuò)誤完全糾正后,中止執(zhí)行所述若干級(jí)糾錯(cuò)模塊中該級(jí)糾錯(cuò)模塊的全部后級(jí)糾錯(cuò)模塊。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,當(dāng)需要提高糾錯(cuò)能力時(shí),增加所述若干級(jí)糾錯(cuò)模塊的級(jí)數(shù)。
6.一種數(shù)據(jù)的糾錯(cuò)裝置,其特征在于,包括: 級(jí)聯(lián)模塊,用于將若干級(jí)糾錯(cuò)模塊進(jìn)行級(jí)聯(lián); 選擇糾錯(cuò)模塊,用于為所述若干級(jí)糾錯(cuò)模塊中每一級(jí)糾錯(cuò)模塊選擇相應(yīng)的糾錯(cuò)算法,通過所述若干級(jí)糾錯(cuò)模塊對(duì)數(shù)據(jù)進(jìn)行糾錯(cuò)。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述級(jí)聯(lián)模塊用于在所述若干級(jí)糾錯(cuò)模塊中各級(jí)糾錯(cuò)模塊之間建立傳送數(shù)據(jù)的通路,由前級(jí)糾錯(cuò)模塊將糾錯(cuò)后的數(shù)據(jù)傳送給后級(jí)糾錯(cuò)模塊繼續(xù)進(jìn)行糾錯(cuò)。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述選擇糾錯(cuò)模塊包括: 數(shù)據(jù)拆分單元,用于由每一級(jí)糾錯(cuò)模塊將數(shù)據(jù)拆分成不同大小的單位數(shù)據(jù),其中,后一級(jí)糾錯(cuò)模塊的單位數(shù)據(jù)大于前一級(jí)糾錯(cuò)模塊的單位數(shù)據(jù); 算法選擇單元,用于為所述若干級(jí)糾錯(cuò)模塊中每一級(jí)糾錯(cuò)模塊根據(jù)其單位數(shù)據(jù)的出錯(cuò)情況動(dòng)態(tài)配置相應(yīng)的糾錯(cuò)算法或預(yù)先為各級(jí)糾錯(cuò)模塊選擇相應(yīng)的糾錯(cuò)算法; 糾錯(cuò)單元,用于通過所述各級(jí)糾錯(cuò)模塊根據(jù)所述相應(yīng)的糾錯(cuò)算法以其單位數(shù)據(jù)為單位對(duì)數(shù)據(jù)進(jìn)行糾錯(cuò),前級(jí)糾錯(cuò)模塊無法糾正的錯(cuò)誤傳送給后級(jí)糾錯(cuò)模塊繼續(xù)進(jìn)行糾錯(cuò)。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,還包括: 中止模塊,用于當(dāng)數(shù)據(jù)經(jīng)過所述若干級(jí)糾錯(cuò)模塊中任意一級(jí)糾錯(cuò)模塊,所述數(shù)據(jù)的錯(cuò)誤完全糾正后,中止執(zhí)行所述若干級(jí)糾錯(cuò)模塊中該級(jí)糾錯(cuò)模塊的全部后級(jí)糾錯(cuò)模塊。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,還包括:升級(jí)模塊,用于當(dāng)需要 提高糾錯(cuò)能力時(shí),增加所述若干級(jí)糾錯(cuò)模塊的級(jí)數(shù)。
全文摘要
本發(fā)明公開一種數(shù)據(jù)的糾錯(cuò)方法及裝置,其方法包括將若干級(jí)糾錯(cuò)模塊進(jìn)行級(jí)聯(lián);為所述若干級(jí)糾錯(cuò)模塊中每一級(jí)糾錯(cuò)模塊選擇相應(yīng)的糾錯(cuò)算法,通過所述若干級(jí)糾錯(cuò)模塊對(duì)數(shù)據(jù)進(jìn)行糾錯(cuò)。本發(fā)明通過級(jí)聯(lián)的若干級(jí)糾錯(cuò)模塊對(duì)數(shù)據(jù)進(jìn)行糾錯(cuò),并在所述若干級(jí)糾錯(cuò)模塊中運(yùn)用多種糾錯(cuò)算法,根據(jù)數(shù)據(jù)出錯(cuò)的情況動(dòng)態(tài)配置相應(yīng)的糾錯(cuò)算法或預(yù)先選擇相應(yīng)的糾錯(cuò)算法,結(jié)合各種糾錯(cuò)算法的優(yōu)點(diǎn)以較小的代價(jià)實(shí)現(xiàn)所需的糾錯(cuò)能力,降低了數(shù)據(jù)糾錯(cuò)的成本和復(fù)雜度。
文檔編號(hào)G06F11/08GK103164292SQ20131005464
公開日2013年6月19日 申請(qǐng)日期2013年2月20日 優(yōu)先權(quán)日2013年2月20日
發(fā)明者李國(guó)強(qiáng), 吳大畏 申請(qǐng)人:深圳市硅格半導(dǎo)體有限公司