專利名稱:數(shù)據(jù)錯誤糾正裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種使用多個錯誤糾正碼,糾正數(shù)據(jù)錯誤的數(shù)據(jù)錯誤糾正裝置。
作為數(shù)據(jù)處理系統(tǒng)的高可靠性手段,應(yīng)用各種機器里糾正數(shù)據(jù)錯誤的錯誤糾正碼。特別是,包含里德索洛蒙碼的BCH(Bose-Chaundhuri-Hocqenghen)碼由于碼的效率高成為重要的編碼之一。里德索洛蒙碼就是在設(shè)定原始多項式為w(z),w(z)=0的根為α?xí)r,將該根α作為原始元的伽羅瓦域(Galois field)上的編碼,是數(shù)據(jù)塊出錯糾正碼之一。
圖3表示刊載于特開平5-55926號公報上的的錯誤糾正裝置的結(jié)構(gòu)。該錯誤糾正裝置具有存儲輸入數(shù)據(jù)的數(shù)據(jù)存儲器72,計算附加到輸入數(shù)據(jù)上的多重錯誤糾正碼的并發(fā)位的并發(fā)位計算電路76、78,存儲用該并發(fā)位計算電路76、78算出的并發(fā)位的并發(fā)位存儲器80,讀出存儲于并發(fā)位存儲器80的并發(fā)位并改寫數(shù)據(jù)存儲器72上的錯誤數(shù)據(jù)的錯誤檢出糾正處理電路86。并且,OR電路82求出已計算出的并發(fā)位的全部二進制數(shù)的邏輯和(即,“或”),由其結(jié)果作為表示數(shù)據(jù)出錯存在的信息,存入標(biāo)記存儲器84里。并且,定時控制電路88控制該錯誤糾正裝置的動作定時。并發(fā)位計算電路76、78由加法器20、22、24、36、38、40,延遲器26、28、30、42、44、46、52、54、56,及伽羅瓦域元的常數(shù)乘法器32、34、48、50構(gòu)成,設(shè)若輸入數(shù)據(jù)wi,生成多項式的根為αm,則按照以下的式(1)、(2)和(3),計算并發(fā)位S0、S1和S3。
(數(shù)1)S0=Σi=1nWi----(1)]]>S1=Σi=1nWiαn-i---(2)]]>S2=Σi=1nWi(α2)n-i---(3)]]>而且,錯誤檢出糾正處理電路86由并發(fā)位存儲器80讀出并發(fā)位S0、S1、S2,在至少一個并發(fā)位不是“0” 的情況下,由S0~S2算出出錯的位置和大小,根據(jù)其結(jié)果,改寫數(shù)據(jù)存儲器72上的輸入數(shù)據(jù)中出錯的數(shù)據(jù)。
這樣,倘采用上述錯誤糾正裝置,與由輸入端子70輸入的數(shù)據(jù)被寫入數(shù)據(jù)存儲器72的同時,在并發(fā)位計算電路76、78中,計算附加于該數(shù)據(jù)的錯誤糾正碼的并發(fā)位,根據(jù)該并發(fā)位的結(jié)果,糾正數(shù)據(jù)的錯誤,糾正后的數(shù)據(jù)變成由輸出端子74輸出的結(jié)果。
一般,在進行t(t是大于1的整數(shù))重錯誤糾正BCH編碼的錯誤糾正處理的時候,對2t個的并發(fā)位進行計算。例如,在數(shù)字音頻磁帶錄音機(DAT)中,為了糾正數(shù)據(jù)的錯誤,附加了3重錯誤糾正里德索洛蒙碼或2重錯誤糾正里德索洛蒙碼,這時,對于1編碼字,以3重錯誤糾正里德索洛蒙碼計算6個并發(fā)位,以2重錯誤糾正里德索洛蒙碼計算4個并發(fā)位。
圖2中,示出了用于數(shù)據(jù)錯誤糾正裝置的現(xiàn)有并發(fā)位計算電路的構(gòu)成圖。并發(fā)位計算電路,如圖2所示,是由6個并發(fā)位計算電路300~305構(gòu)成,這些并發(fā)位計算電路300~305,分別具有輸入數(shù)據(jù)的輸入端子320~325,伽羅瓦域的加法器340~345,作為延遲器的觸發(fā)電路360~365,和對伽羅瓦域的元α的0次方(以下,表記為“α^0”)~α^5進行相乘的常數(shù)乘法器380~385。而且,在這些并發(fā)位計算電路300~305中,每當(dāng)從編碼字的開頭數(shù)據(jù)起按順序,向各輸入端子320~325輸入數(shù)據(jù),就在常數(shù)乘法器380~385中,對觸發(fā)電路360~365中的保持數(shù)據(jù)進行常數(shù)相乘,在加法器340~345中,將該常數(shù)相乘后的數(shù)據(jù)與上述輸入數(shù)據(jù)進行相加,再用該加法器340~345輸出的數(shù)據(jù),更新上述觸發(fā)電路360~365中的保持數(shù)據(jù),由此,計算出錯誤糾正碼的并發(fā)位。例如,為了計算3重錯誤糾正里德索洛蒙碼的6個并發(fā)位,在使用上述并發(fā)位計算電路300~305計算3重錯誤糾正里德索洛蒙碼的并發(fā)位的情況下,就使用全部6個并發(fā)位計算電路。另一方面,為了計算2重錯誤糾正里德索洛蒙碼的4個并發(fā)位,在使用上述并發(fā)位計算電路300~305計算2重錯誤糾正里德索洛蒙碼的并發(fā)位的情況下,就只使用上述并發(fā)位計算電路300~305之中,糾正能力小的一方的4個并發(fā)位計算電路300~303,而不用其余兩個并發(fā)位計算電路304和305的計算結(jié)果。
這樣,在上述的并發(fā)位計算電路,以通用的硬件,實現(xiàn)象3重錯誤糾正里德索洛蒙碼和2重錯誤糾正里德索洛蒙碼這樣的糾正能力不同的編碼的并發(fā)位計算。
然而,在上述現(xiàn)有的例子中,雖然以通用的硬件實現(xiàn)糾正能力不同的并發(fā)位計算,但由于象3重錯誤糾正里德索洛蒙碼和2重錯誤糾正里德索洛蒙碼這樣的糾正能力相差小,因而不可能得到使3重錯誤糾正里德索洛蒙碼的并發(fā)位計算的處理編碼字數(shù)與2重錯誤糾正里德索洛蒙碼的并發(fā)位計算的處理編碼字數(shù)不相等。就是說,進行3重錯誤糾正里德索洛蒙碼的并發(fā)位計算,或進行糾正能力小的2重錯誤糾正里德索洛蒙碼的并發(fā)位計算時,無論哪一次處理中,也不可能是1編碼字處理。特別是,在編碼長度大時或編碼字上沒有錯誤時,為了按照并發(fā)位計算,決定錯誤糾正裝置的糾正速度,為了使錯誤糾正的高速化,希望并發(fā)位計算效率高。
盡管,在例如,DVD-ROM用錯誤糾正裝置中,不僅對DVD-ROM,而且對CD-ROM和CD-R等的數(shù)據(jù)都必須進行處理。為了在DVD-ROM上,附加8重錯誤糾正里德索洛蒙碼和5重錯誤糾正里德索洛蒙碼,在CD-ROM上附加1重錯誤糾正里德索洛蒙碼,就需要糾正能力大小不同的錯誤糾正碼的并發(fā)位計算。這時,在示于圖2的上述并發(fā)位計算電路中,象DVD-ROM那樣糾正能力大的編碼,例如按8重錯誤糾正里德索洛蒙碼,要計算16個并發(fā)位計算,這時,用于進行并發(fā)位計算,就需要16個并發(fā)位計算電路。因此,在已具有這種并發(fā)位計算電路的數(shù)據(jù)錯誤糾正裝置中,進行象上述DVD-ROM那樣的糾正能力大的編碼的并發(fā)位計算要用16個并發(fā)位計算電路,而在象上述CD-ROM那樣的糾正能力小的編碼,例如1重錯誤糾正里德索洛蒙碼中由于計算2個并發(fā)位,所以在進行并發(fā)位計算時,只使用上述16個并發(fā)位計算電路之中的2個,其余的14個并發(fā)位計算電路不用。特別是,以共同的并發(fā)位計算電路處理糾正能力不同的編碼的情況下,在低能力編碼的并發(fā)位計算的時候,由于存在很多未使用的并發(fā)位計算電路,因此并發(fā)位計算的效率惡化,結(jié)果是,存在難以提高數(shù)據(jù)錯誤糾正處理速度的問題。
本發(fā)明就是鑒于上述問題而作出發(fā)明的,就是在數(shù)據(jù)錯誤糾正裝置中,在處理糾正能力不同的編碼的共同并發(fā)位計算電路里,通過構(gòu)成可以并行處理糾正能力小的編碼的并發(fā)位計算,實現(xiàn)錯誤糾正處理的高速化。
根據(jù)本發(fā)明的錯誤糾正裝置,包括用于計算2t(t為大于1的整數(shù))重以上的n(n為大于1的整數(shù))重錯誤糾正BCH編碼的并發(fā)位的,求出伽羅瓦域的元的第1常數(shù)乘法器;對由該第1常數(shù)乘法器求得的數(shù)據(jù)與來自輸入端子的輸入數(shù)據(jù)進行相加的加法器;和分別具有用來自該加法器的相加數(shù)據(jù),更新其保持數(shù)據(jù)的延遲器的2n個并發(fā)位計算電路;進行附加了2t重以上的n重錯誤糾正BCH編碼的數(shù)據(jù)錯誤糾正處理,其特征是具有在進行附加了t重錯誤糾正BCH編碼的數(shù)據(jù)的錯誤糾正處理時,為使該t重錯誤糾正BCH編碼的并發(fā)位計算的并行處理編碼字數(shù),成為上述2t重以上的n重錯誤糾正BCH編碼的并發(fā)位計算的處理編碼字數(shù)的2倍以上,除上述2n個并發(fā)位計算電路中糾正能力小的一方的2t個以外的任意2t個以上的并發(fā)位計算電路具有,用于計算上述t重錯誤糾正BCH編碼的并發(fā)位的,求出伽羅瓦域的元的第2常數(shù)乘法器,以及通過與上述加法器連接的,從上述第1常數(shù)乘法器轉(zhuǎn)換到上述第2常數(shù)乘法器的選擇器。
圖1為本發(fā)明一個實施例的并發(fā)位計算電路的結(jié)構(gòu)圖。
圖2為現(xiàn)有的并發(fā)位計算電路的結(jié)構(gòu)圖。
圖3為現(xiàn)有的數(shù)據(jù)錯誤糾正裝置的結(jié)構(gòu)圖。
在圖1中,示出本發(fā)明實施例的數(shù)據(jù)錯誤糾正裝置中使用的并發(fā)位計算電路的結(jié)構(gòu)圖。
在本實施例中,對于DVD-ROM的8重錯誤糾正里德索洛蒙碼的1個編碼字,具有16個并發(fā)位計算電路的情況下,示出了并行處理CD-ROM的1重錯誤糾正里德索洛蒙碼的8個編碼字的例子。就是,本實施例中的并發(fā)位計算電路,如圖1所示,由對于DVD-ROM的8重錯誤糾正里德索洛蒙碼的16個并發(fā)位計算電路100~115構(gòu)成,這些并發(fā)位計算電路100~115,分別具有輸入數(shù)據(jù)的輸入端子120~135,伽羅瓦域的加法器140~155,作為延遲器的觸發(fā)電路160~175,和將伽羅瓦域的元α的0次方(以下,表記為“α^0”)~α^15進行相乘的常數(shù)乘法器180~185。
并且,本實施例中的并發(fā)位計算電路具有,可用于并行處理CD-ROM的1重錯誤糾正里德索洛蒙碼,除上述16個并發(fā)位計算電路100~115之中糾正能力小的一方的2個(100和101)以外的其余并發(fā)位計算電路102~115,分別使用于計算上述CD-ROM的1重錯誤糾正里德索洛蒙碼,求出伽羅瓦域的元α^0和α^1的第2常數(shù)乘法器200~213;及將與上述加法器142~155的連接,從上述第1常數(shù)乘法器182~195轉(zhuǎn)換到該第2常數(shù)乘法器200~213上的選擇電路222~235。就是,把新的相乘α^0的第2常數(shù)乘法器200~206和相乘α^1的第2常數(shù)乘法器207~213,及選擇上述第1常數(shù)乘法器和該第2常數(shù)乘法器的選擇電路222~235,附加到各個并發(fā)位計算電路102~115上,由此,構(gòu)成8組1重錯誤糾正里德索洛蒙碼的錯誤糾正里德索洛蒙碼的并發(fā)位計算電路100和101、102和103、104和105、106和107、108和109、110和111、112和113、114和115。
接著,說明上述并發(fā)位計算電路的動作。
在DVD-ROM的8重錯誤糾正里德索洛蒙碼的并發(fā)位計算時,對1個編碼字計算16個并發(fā)位。這時,對伽羅瓦域的元α^0~α^15為止進行相乘,因而在示于圖1的并發(fā)位計算電路102~115中的選擇電路222~235都與第1常數(shù)乘法器182~195連接。而且,關(guān)于DVD-ROM的8重錯誤糾正里德索洛蒙碼的1個編碼字,從其開頭起按順序,向并發(fā)位計算電路100~115的各個輸入端子120~135輸入數(shù)據(jù)。每當(dāng)數(shù)據(jù)被輸入到各個輸入端子120~135,就在第1常數(shù)乘法器180~195中,對觸發(fā)電路160~175的保持數(shù)據(jù)進行常數(shù)相乘,在加法器140~155中,將該常數(shù)相乘后的數(shù)據(jù)與上述輸入數(shù)據(jù)進行相加,再用該加法器140~155輸出的數(shù)據(jù),更新上述觸發(fā)電路160~175的保持數(shù)據(jù),由此,計算出8重錯誤糾正碼的并發(fā)位。另外,并發(fā)位S的計算,按現(xiàn)有技術(shù)中說過的計算公式(1)~(3)進行類似計算,在這里,其詳細說明從略。
一方面,在1重錯誤糾正里德索洛蒙碼的并發(fā)位計算時,對1個編碼字計算2個并發(fā)位。這時,對伽羅瓦域的元α^0與α^1進行相乘,因而在圖1示出的并發(fā)位計算電路102~115中的選擇器222~235都與第2常數(shù)乘法器200~213連接。而且,CD-ROM的1重錯誤糾正里德索洛蒙碼的第1編碼字在并發(fā)位計算電路100和101,第2編碼字在并發(fā)位計算電路102和103,第3編碼字在并發(fā)位計算電路104和105,第4編碼字在并發(fā)位計算電路106和107,第5編碼字在并發(fā)位計算電路108和109,第6編碼字在并發(fā)位計算電路110和111,第7編碼字在并發(fā)位計算電路112和113,第8編碼字在并發(fā)位計算電路114和115中,分別進行計算。關(guān)于這些第1~第8的編碼字,都從其開頭起按順序,向并發(fā)位計算電路100~115的各輸入端子120~135輸入數(shù)據(jù)。每當(dāng)輸入數(shù)據(jù)被輸入到各輸入端子120~135后,就在第1常數(shù)乘法器180、181和第2常數(shù)乘法器200~213中對觸發(fā)電路160~175的保持數(shù)據(jù)進行常數(shù)相乘,再在加法器140~155中把該常數(shù)相乘后的數(shù)據(jù)相加起來,并用來自該加法器140~155的輸出數(shù)據(jù),更新上述觸發(fā)電路160~175的保持數(shù)據(jù),由此,算出1重錯誤糾正里德索洛蒙碼的并發(fā)位。
這樣,在1次并發(fā)位計算處理中,在8重錯誤糾正里德索洛蒙碼中不可能只有1個編碼字,而在計算1重錯誤糾正里德索洛蒙碼的并發(fā)位時,變成并行處理8個編碼字。因此,在計算1重錯誤糾正里德索洛蒙碼的并發(fā)位時,就可以全部有效地使用在8重錯誤糾正里德索洛蒙碼的并發(fā)位計算中所使用的并發(fā)位計算電路100~115,8個并行處理1重錯誤糾正里德索洛蒙碼的并發(fā)位計算,結(jié)果是,具有可使錯誤糾正處理高速化的這種效果。
另外,上述并發(fā)位計算電路100~115,可以組裝到圖3示出的數(shù)據(jù)錯誤糾正裝置中進行使用。
并且,在上述實施例中,作為常數(shù)乘法器的組合,雖然在伽羅瓦域的元α^15和α^1(并發(fā)位計算電路115)、α^14和α^0(并發(fā)位計算電路114)、α^13和α^1(并發(fā)位計算電路113)、α^12和α^0(并發(fā)位計算電路112)、α^11和α^1(并發(fā)位計算電路111)、α^10和α^0(并發(fā)位計算電路110)、α^9和α^1(并發(fā)位計算電路109)、α^8和α^0(并發(fā)位計算電路108)、α^7和α^1(并發(fā)位計算電路107)、α^6和α^0(并發(fā)位計算電路106)、α^5和α^1(并發(fā)位計算電路105)、α^4和α^0(并發(fā)位計算電路104)、α^3和α^1(并發(fā)位計算電路103)、以及α^2和α^0(并發(fā)位計算電路102)中示出了選擇其中哪個常數(shù)乘法器的例子,但是本發(fā)明并不限于上述例子的組合,而是也可以任意組合。
并且,在上述實施例中,雖然示出了在并發(fā)位計算電路100、101上沒有第2常數(shù)乘法器和選擇電路的例子,但是本發(fā)明并不限于上述例子,而是也可以作為在并發(fā)位計算電路100、101上具有第2常數(shù)乘法器和選擇電路的結(jié)構(gòu)。
并且,在上述實施例中,至于糾正能力小的編碼的并行處理編碼字數(shù),雖然示出了全部使用糾正能力大的編碼的并發(fā)位計算例子,但是本發(fā)明如以2個并行以上處理糾正能力小的編碼的并發(fā)位計算,也能達到所述的錯誤糾正處理高速化的目的,因而在糾正能力小的編碼的并發(fā)位計算中,并沒有全部使用糾正能力大的編碼的并發(fā)位計算電路,而且也可以作成按2并行、3并行或4并行等進行并行處理。
并且,在上述實施例中,雖然示出了對于8重錯誤糾正碼與1重錯誤糾正碼之間的2種類型能力不同的錯誤糾正碼的例子,但是本發(fā)明也可以作成,對于例如,8重錯誤糾正碼、2重錯誤糾正碼與1重錯誤糾正碼之類3種類型或其以上的能力不同的錯誤糾正碼,并具有多個伽羅瓦域的元的常數(shù)乘法器及選擇這些多個常數(shù)乘法器的選擇器。
另外,在上述實施例中,雖然示出了對于8重錯誤糾正碼與1重錯誤糾正碼的例子,但是本發(fā)明也可以構(gòu)成應(yīng)用于8重錯誤糾正碼與2重錯誤糾正碼、8重錯誤糾正碼與3重錯誤糾正碼、5重錯誤糾正碼與1重錯誤糾正碼之類任意2種或其以上能力不同的錯誤糾正碼。
如上所述,根據(jù)本發(fā)明的錯誤糾正裝置,在進行附加了t(t為大于1的整數(shù))重錯誤糾正BCH編碼的數(shù)據(jù)錯誤糾正處理時,該t重錯誤糾正BCH編碼的并發(fā)位計算并行處理編碼字數(shù),象變成上述2t重以上的n(n為大于1的整數(shù))重錯誤糾正BCH編碼的并發(fā)位計算處理編碼字數(shù)的2倍以上一樣,把除上述2n個并發(fā)位計算電路中糾正能力小的2t個以外的任意2t個以上的并發(fā)位計算電路具有,使用于計算上述t重錯誤糾正BCH編碼的并發(fā)位的,求出伽羅瓦域的元的第2常數(shù)乘法器,及從上述第1常數(shù)乘法器轉(zhuǎn)換到上述第2常數(shù)乘法器與上述加法器之間連接的選擇器。因此,由于有效地使用了糾正能力大的2t重以上的n重錯誤糾正BCH編碼并發(fā)位計算電路,使糾正能力小的2t重以上的n重錯誤糾正BCH編碼并發(fā)位計算高速化,結(jié)果是,具有實現(xiàn)錯誤糾正處理高速化的效果。
權(quán)利要求
1.一種數(shù)據(jù)錯誤糾正裝置,包括用于計算2t(t為大于1的整數(shù))重以上的n(n為大于1的整數(shù))重錯誤糾正BCH碼的并發(fā)位的,求出伽羅瓦域的元的第1常數(shù)乘法器;把在該第1常數(shù)乘法器求得的數(shù)據(jù)與從輸入端子來的輸入數(shù)據(jù)相加的加法器;和分別具有用來自該加法器的相加數(shù)據(jù),更新其保持數(shù)據(jù)的延遲器的2n個并發(fā)位計算電路,進行附加了2t重以上的n重錯誤糾正BCH碼的數(shù)據(jù)錯誤糾正處理其特征是具有在進行附加了t重錯誤糾正BCH碼的數(shù)據(jù)的錯誤糾正處理時,為使該t重錯誤糾正BCH碼的并發(fā)位計算的并行處理編碼字數(shù),成為上述2t重以上的n重錯誤糾正BCH碼的并發(fā)位計算的處理編碼字數(shù)的2倍以上,除上述2n個并發(fā)位計算電路中的糾正能力小的2t個以外的任意2t個以上的并發(fā)位計算電路具有使用于計算上述t重錯誤糾正BCH碼的并發(fā)位的,求出伽羅瓦域的元的第2常數(shù)乘法器,以及與上述加法器連接的、從上述第1常數(shù)乘法器轉(zhuǎn)換到上述第2常數(shù)乘法器的選擇器。
全文摘要
在用多個錯誤糾正碼的裝置中,通過有效使用糾正能力大的編碼的并發(fā)位計算電路,增大糾正能力小的編碼的并發(fā)位計算并行處理編碼字數(shù),實現(xiàn)糾錯高速化。由伽羅瓦域的加法器、觸發(fā)電路和伽羅瓦域的元的第1常數(shù)乘法器,構(gòu)成16個并發(fā)位計算電路,計算8重錯誤糾正里德索洛蒙(RS)碼的1編碼字的并發(fā)位。部分并發(fā)位計算電路上附有伽羅瓦域的元的第2常數(shù)乘法器,及選擇第1和第2常數(shù)乘法器的選擇電路,構(gòu)成能8并行處理1重錯誤糾正RS碼的并發(fā)位計算電路。
文檔編號G06F11/10GK1264032SQ0010224
公開日2000年8月23日 申請日期2000年2月18日 優(yōu)先權(quán)日1999年2月19日
發(fā)明者野口展明, 渡部隆弘 申請人:松下電器產(chǎn)業(yè)株式會社