專利名稱:用于數(shù)據(jù)可靠存儲或傳輸?shù)木幋a和解碼方法及應用的制作方法
技術(shù)領域:
本發(fā)明屬于電子信息學科領域,特別涉及用于數(shù)據(jù)可靠存儲或傳輸?shù)木幋a和解碼方法及應用。
背景技術(shù):
對數(shù)據(jù)的處理是電子信息學科領域的基本內(nèi)容,保證數(shù)據(jù)可靠性是本領域的重要課題,其中最難處理的有兩種情況在弱輻射環(huán)境下的大容量數(shù)據(jù)存儲的安全性和強干擾劣質(zhì)信道環(huán)境中數(shù)據(jù)的可靠傳輸。
弱輻射環(huán)境下的大容量數(shù)據(jù)可靠存儲在太空中,有宇宙射線,各種高能粒子,包括高能質(zhì)子、中子、α粒子、重離子。這類粒子有很高的能量,非常像體積極微小的高速子彈,這類粒子向芯片沖擊,如果從芯片晶格空間穿過,感應場會引起與“0”、“1”對應的存儲態(tài)翻轉(zhuǎn),產(chǎn)生誤碼。如果正好擊中晶格點,會造成半導體材料的永久損壞,損壞點所對應的數(shù)據(jù)會永久丟失。單個高能粒子對存儲芯片產(chǎn)生的影響,使其表示數(shù)據(jù)的狀態(tài)翻轉(zhuǎn)和存儲單元局部遭受永久性損壞的現(xiàn)象,稱為單粒子效應。
為了使發(fā)生了差錯的碼元得以恢復,通常采用前向差錯控制編碼,或者采用多倍冗余存儲,再用大數(shù)定律判決的方法糾錯?;蛘邇煞N方法都用。在前向差錯控制編碼方法方面,有采用漢明碼、RS碼(Reed-Solomon里德-索洛蒙,是一類非二進制的BCH碼)等。在多倍冗余存儲方面,有采用三倍冗余存儲。(采用多倍冗余存儲,再用大數(shù)定律判決的方法糾錯,這種方案的缺點是存儲器利用率太低,三倍冗余存儲法,其利用率只有1/3)強干擾劣質(zhì)信道環(huán)境中數(shù)據(jù)的可靠傳輸劣質(zhì)信道通常指無線信道,其誤碼率Pe≈10-3~10-4。無線信道是全球通信網(wǎng)絡數(shù)據(jù)傳遞鏈路中的一個重要環(huán)節(jié),它可能是網(wǎng)絡的主要信道,(如衛(wèi)星通信);也可能是網(wǎng)絡中的某一段信道,如無線信道就是移動通信網(wǎng)的一段信道。無線信道中的干擾有兩種,隨機干擾,即個別的碼元可能出錯,出錯的位置是隨機的;突發(fā)干擾,即連著一串碼中多位出錯。在無線信道中兩種干擾同時存在。對無線信道威脅最大的是突發(fā)干擾。
為了保證數(shù)據(jù)可靠性,現(xiàn)有技術(shù)有出錯重傳和前向差錯控制兩種解決方案。出錯重傳要求有反向信道,會使網(wǎng)絡管理和收發(fā)信設備的復雜性增加,并使傳輸速率明顯下降。采用前向差錯控制,不要反向信道,非常適合無線信道中點對點和一點對多點的數(shù)據(jù)傳輸。
因此考慮到實用性,現(xiàn)有技術(shù)解決弱輻射環(huán)境下的大容量數(shù)據(jù)可靠存儲和強干擾劣質(zhì)信道環(huán)境中數(shù)據(jù)的可靠傳輸,通常采用同一種解決方案,即前向差錯控制編解碼。值得注意的是,這兩種問題具有相通之處,為了保證存放可靠,數(shù)據(jù)存儲需要對存放數(shù)據(jù)前先進行編碼,取出數(shù)據(jù)后進行解碼;為了保證傳輸可靠,對數(shù)據(jù)傳輸工作方式在發(fā)送數(shù)據(jù)前進行編碼,取得數(shù)據(jù)后進行解碼??梢娺@兩種問題可以綜合作為數(shù)據(jù)存取的問題處理,都采用編解碼解決方案。
但現(xiàn)有技術(shù)采用的前向差錯控制編解碼方案的性能指標要求是互相沖突的為了提高數(shù)據(jù)可靠性,要求加大糾錯能力,提高容錯率,但又明顯降低了編碼效率。不同碼長的本原BCH(Bose-Chaudhuri-Hocquerghem)碼具有不同的糾錯能力。糾錯能力不僅與碼組長度有關,還和編碼效率有關。加入的監(jiān)督碼越多,糾錯能力越強,但編碼效率越低。當加入的監(jiān)督碼多,碼組長度n較大時,糾錯個數(shù)較多,用硬件解碼,線路太復雜;用軟件解碼,運算量太大,時延太長。而目前常用的漢明碼,編碼效率和容錯率均較高,但問題在于信碼長度太短,只有4位,不符合通信中數(shù)據(jù)的實際結(jié)構(gòu)。通信中的數(shù)據(jù)通常為8比特或高于8比特一組,一個數(shù)據(jù)組要分成二段或多段后再依次進行編碼,傳輸后,依次解碼,再進行裝配組合。編碼前的碼組分割,譯碼后的碼段組合,所需開銷時間多,編解碼的過渡時間太長,無法高速實時。
可見采用現(xiàn)有編解碼方案解決數(shù)據(jù)可靠存儲或傳輸問題,難以兼顧編解碼效率和容錯率。
發(fā)明內(nèi)容
本發(fā)明目的在于提供用了數(shù)據(jù)可靠存儲和傳輸?shù)母咝示幋a和解碼方法及應用。
為實現(xiàn)上述目的,本發(fā)明提供的編碼方案是對信源數(shù)據(jù)進行包括以下步驟的處理,(1.1)進行差錯控制編碼,構(gòu)造出發(fā)射矢量A;(1.2)根據(jù)發(fā)射矢量A進行交叉排列編碼,所述交叉排列編碼過程為取m個發(fā)射矢量A0,A1,…Am-1,發(fā)射矢量A0,A1,…Am-1中的每一個都具有n個分量,組成一個m行×n列存儲陣列,按行順序?qū)⒋鎯﹃嚵蟹至写娴絥個存儲器或按列順序串聯(lián)組成長度為mn的基帶信號矢量MA。
而且,組成基帶信號矢量MA的實現(xiàn)過程為按存儲陣列的行順序?qū)⒚總€發(fā)射矢量的各個分量分別寫入n個子存儲器,依次寫入存儲陣列中包含的m行數(shù)據(jù);
按列順序從n個子存儲器讀出存儲陣列的數(shù)據(jù)并順序串聯(lián),組成長度為mn的基帶信號矢量MA。
而且,所述步驟1.1包括以下操作,(1.1.1)選定本原多項式g,導出生成矩陣G,將G歸一化,歸一化計算G的公式為G=[Ik,Q](1-1)其中Ik為單位矩陣,k表示信碼長度,Q為系數(shù)轉(zhuǎn)置矩陣;(1.1.2)計算校驗碼R,計算校驗碼R的公式為R=D·Q (1-2)其中D為信碼矢量,校驗碼R即監(jiān)督矢量R;(1.1.3)構(gòu)造發(fā)射矢量A,計算A的公式為A=[D,R] (1-3)。
本發(fā)明提供的解碼方案是,對經(jīng)交叉排列編碼處理的編碼數(shù)據(jù)進行包括以下步驟的解碼處理,(2.1)按交叉排列逆變換規(guī)則進行交叉排列解碼;(2.2)對交叉排列解碼得到的結(jié)果進行糾錯解碼。
而且,所述交叉排列解碼過程如下,根據(jù)交叉排列逆變換規(guī)則將接收信號矢量MB分解,并組成m行×n列存儲矩陣;按存儲矩陣列順序?qū)懭雗個子存儲器,即每個子存儲器存入存儲矩陣中的一列數(shù)據(jù);然后按行順序讀出,將接收信號矢量MB變?yōu)閙個接收矢量B0,B1,……Bm-1。
本發(fā)明還提供了一種采用上述數(shù)據(jù)可靠存取方法的數(shù)據(jù)存儲系統(tǒng),設有數(shù)據(jù)存儲設備,所述數(shù)據(jù)存儲設備是兩個或以上子存儲器并列構(gòu)成的存儲陣列板,還設有電流驅(qū)動器、通過電流驅(qū)動器控制存儲陣列板實現(xiàn)交叉排列編解碼的存儲設備控制器,存儲設備控制器和數(shù)據(jù)存儲設備之間建立數(shù)據(jù)總線連接,電流驅(qū)動器和數(shù)據(jù)存儲設備之間、存儲設備控制器和電流驅(qū)動器之間分別建立地址和控制總線連接。
而且,所述存儲設備控制器采用FPGA實現(xiàn),所述子存儲器采用CF卡,采用CF卡地址和控制線復用的方式驅(qū)動CF卡。
而且,設置USB接口,USB接口與存儲設備控制器之間建立數(shù)據(jù)傳輸連接。
而且,設置可擴展接口,添加1塊或以上帶有擴展接口的擴展用存儲陣列板,擴展用存儲陣列板通過可擴展接口連接到存儲設備控制器,采用1塊以上擴展用存儲陣列板時相互之間通過擴展接口串連。
本發(fā)明還提供了采用上述數(shù)據(jù)存儲系統(tǒng)的數(shù)據(jù)傳輸系統(tǒng),其特征在于在發(fā)送端和接收端各設置一套數(shù)據(jù)存儲系統(tǒng),發(fā)送端的數(shù)據(jù)存儲系統(tǒng)用于數(shù)據(jù)編碼,接收端的數(shù)據(jù)存儲系統(tǒng)用于數(shù)據(jù)解碼。
本發(fā)明改進了差錯控制編解碼技術(shù),通過交叉排列及逆變換解決了兼顧編解碼效率和容錯率的問題,保證了高效率的數(shù)據(jù)可靠存儲或傳輸。還提供了高速算法,以盡可能少的計算量,獲得盡可能大的糾錯能力。本發(fā)明提供的編解碼方法可用于實時,非實時,各種高速,中速,低速的數(shù)據(jù)的安全存儲和可靠傳輸,特別適用于實時、高速、大容量數(shù)據(jù)的安全存儲和可靠傳輸。本發(fā)明的可單純用于數(shù)據(jù)存儲,也可單純用于數(shù)據(jù)傳輸,也可既用于數(shù)據(jù)存儲和數(shù)據(jù)傳輸。本發(fā)明更對應方法提供了數(shù)據(jù)存儲系統(tǒng),該系統(tǒng)的硬件架構(gòu)可實現(xiàn)高可靠大容量高速實時存儲的制造技術(shù)。這種硬件結(jié)構(gòu)也可用于高可靠數(shù)據(jù)傳輸。本發(fā)明提供的方案不僅解決了在弱輻射環(huán)境下的大容量數(shù)據(jù)可靠存儲和強干擾劣質(zhì)信道環(huán)境中數(shù)據(jù)的可靠傳輸,而且由于實施簡便高效,也適用于電子信息學科領域其他要求數(shù)據(jù)可靠性的場合。
圖1是本發(fā)明交叉排列編碼數(shù)據(jù)寫入示意圖。
圖2是本發(fā)明用于存儲時交叉排列編碼數(shù)據(jù)讀出示意圖。
圖3是本發(fā)明用于傳輸時交叉排列編碼數(shù)據(jù)讀出示意圖。
圖4是本發(fā)明數(shù)據(jù)存儲系統(tǒng)的結(jié)構(gòu)框圖。
圖5是本發(fā)明數(shù)據(jù)存儲系統(tǒng)實施例中驅(qū)動結(jié)構(gòu)示意圖。
圖6是本發(fā)明數(shù)據(jù)存儲系統(tǒng)實施例中數(shù)據(jù)存儲方式示意圖。
圖7是本發(fā)明數(shù)據(jù)存儲系統(tǒng)實施例中存儲設備控制器功能示意圖。
圖8是本發(fā)明數(shù)據(jù)存儲系統(tǒng)實施例中數(shù)據(jù)寫入原理圖。
圖9是本發(fā)明數(shù)據(jù)存儲系統(tǒng)實施例中數(shù)據(jù)讀出原理圖。
圖10是本發(fā)明數(shù)據(jù)存儲系統(tǒng)實施例中多存儲陣列板結(jié)構(gòu)圖。
具體實施例方式
本發(fā)明提出了一種用于數(shù)據(jù)可靠存儲和傳輸?shù)木幋a方法,對信源數(shù)據(jù)進行包括以下步驟的處理,(1.1)進行差錯控制編碼,構(gòu)造出發(fā)射矢量A;(1.2)根據(jù)發(fā)射矢量A進行交叉排列編碼,所述交叉排列編碼過程為,取m個發(fā)射矢量A0,A1,…Am-1,發(fā)射矢量A0,A1,…Am-1中的每一個都具有n個分量,組成一個m行×n列存儲陣列,按行順序?qū)⒋鎯﹃嚵蟹至写娴絥個存儲器或按列順序串聯(lián)組成長度為mn的基帶信號矢量MA。
本發(fā)明的關鍵改進是采用差錯控制和交叉排列結(jié)合編碼,以簡便的方式達到雙重差錯控制效果,并且由于差錯控制效果強勁而無需增加監(jiān)督碼長度和相應計算工作,實現(xiàn)了高速與效率效果兼顧的數(shù)據(jù)可靠性保證。添加交叉排列過程的效果顯著,在容錯率不超過13%的條件下(即100個碼元中,錯碼不超過13個),可靠性達99.999999999999%即誤碼率優(yōu)于10-14。值得注意的是,本發(fā)明提供的方案同時適合于解決數(shù)據(jù)可靠存儲和可靠傳輸問題,按照本技術(shù)領域習慣,對編碼過程的描述采用了數(shù)據(jù)通信傳輸術(shù)語,如發(fā)射矢量、基帶發(fā)射矢量、接收矢量,實際上在數(shù)據(jù)存儲中并不會進行數(shù)據(jù)發(fā)射和接收。交叉排列編碼首先定義編碼的邏輯,將一定數(shù)量(m一般取值在80~100以上)的發(fā)射矢量A0,A1,…Am-1組成一個存儲陣列,每個發(fā)射矢量A0,A1,…Am-1作為存儲陣列的一行。參見附圖1,本發(fā)明的編碼方法用于數(shù)據(jù)存儲時,采用特殊的存儲陣列寫入方式完成編碼的硬件實現(xiàn)發(fā)射矢量A的分量標記為b0,b1,…bn-1,b0比特寫入第0號存儲器,b1比特寫入第1號存儲器,bi比特寫入第i號存儲器,余類推。在進行這種編碼處理后,即使每個子存儲器都有不同程度的損壞,但只要不是全壞,都能根據(jù)余留下來的部分數(shù)據(jù),恢復原始數(shù)據(jù)??梢姳景l(fā)明以巧妙的編碼設計解決了數(shù)據(jù)可靠存儲問題。
當進行數(shù)據(jù)傳輸時,與數(shù)據(jù)可靠存儲不同的是需要考慮傳輸信道,由于通常是以比特流形式無線傳輸,因此為防止數(shù)據(jù)丟失的處理需要由信源數(shù)據(jù)流變換成基帶信號矢量MA組成的發(fā)射數(shù)據(jù)流,實現(xiàn)過程可以參考數(shù)據(jù)可靠存儲的硬件實現(xiàn),本發(fā)明提供了進一步的方案按存儲陣列的行順序?qū)⒚總€發(fā)射矢量的各個分量分別寫入n個子存儲器,依次寫入存儲陣列包含的共m行數(shù)據(jù);按列順序從n個子存儲器讀出存儲陣列的數(shù)據(jù)并順序串聯(lián),組成長度為mn的基帶信號矢量MA。參見圖3,本發(fā)明用于傳輸時,按列順序從n個子存儲器讀出存儲陣列的數(shù)據(jù),然后串接成基帶信號矢量MA,圖中斜線表示串接關系。每個子存儲器讀出的數(shù)據(jù)長度為m比特,構(gòu)成的基帶信號矢量MA數(shù)據(jù)總長度為mn比特。信源數(shù)據(jù)流被處理成由連續(xù)的基帶信號矢量MA組成的形式,然后進行發(fā)送。實踐證明經(jīng)這種編碼處理后,抗突發(fā)干擾長度為3m比特。也可采用其他方式,例如采用一個存儲器劃分成n區(qū),取代n個子存儲器的功能,但這種情況下有可能在存儲階段,會因存儲器某扇區(qū)損壞而丟失數(shù)據(jù),因此,在一個存儲器中劃分成n區(qū),取代n個子存儲器的方法,不適合同時用于數(shù)據(jù)存儲和傳輸?shù)那闆r。
本發(fā)明還提供了與編碼方法相應的解碼方法。對應于編碼,進行解碼的過程則是相應逆向的,經(jīng)交叉排列編碼處理的編碼數(shù)據(jù)進行包括以下步驟的解碼處理,(2.1)按交叉排列逆變換規(guī)則進行交叉排列解碼;(2.2)對交叉排列解碼得到的結(jié)果進行糾錯解碼。
而本發(fā)明單獨用做數(shù)據(jù)存儲時無需考慮傳輸信道,因此提取數(shù)據(jù)的處理可以非常簡單需要取出數(shù)據(jù)時,直接按原存儲方向反向并行取出各子存儲器存儲數(shù)據(jù),重新按行構(gòu)成m個接收矢量B0,B1,……Bm-1即可完成交叉排列解碼,然后進行相應糾錯解碼即可,可參見圖2。
用做數(shù)據(jù)傳輸時,則交叉排列解碼過程基于與基帶信號矢量MA對應的接收信號矢量MB進行處理,根據(jù)交叉排列逆變換規(guī)則將接收數(shù)據(jù)流中的接收信號矢量MB分解,并組成m行×n列存儲矩陣;按存儲矩陣列順序?qū)懭雗個子存儲器,即每個子存儲器存入存儲矩陣中的一列數(shù)據(jù);然后按行順序讀出,將接收信號矢量MB變?yōu)閙個接收矢量B0,B1,……Bm-1。
為了提高編碼效率,便于實現(xiàn)高速實時傳輸和高速大容量存儲,本發(fā)明還改進了差錯控制編碼技術(shù),提供了快速生成校驗碼R的方法,技術(shù)方案為所述步驟1.1包括以下操作,(1.1.1)選定本原多項式g,導出生成矩陣G,將G歸一化,歸一化計算G的公式為G=[Ik,Q](1-1)其中Ik為單位矩陣,k表示信碼長度,Q為系數(shù)轉(zhuǎn)置矩陣;(1.1.2)計算校驗碼R,計算校驗碼R的公式為R=D·Q (1-2)其中D為信碼矢量,校驗碼R即監(jiān)督矢量R;(1.1.3)構(gòu)造發(fā)射矢量A,計算A的公式為A=[D,R] (1-3)。
在現(xiàn)有技術(shù)中,構(gòu)造發(fā)射矢量A采用公式A=D·G。而本發(fā)明采用公式(1-2),直接計算校驗碼R,省去了大量計算而不影響結(jié)果,提高了編碼效率。
解碼過程是編碼過程的逆過程,在進行交叉排列解碼之后,應當進行與差錯控制編碼相逆的糾錯解碼。因為數(shù)據(jù)在存儲或傳輸中出錯是難以避免的,交叉排列解碼結(jié)果Bi=AiEi,Ei≠0,因此Bi≠Ai,需要對交叉排列解碼得到的接收矢量B進行糾錯解碼,本發(fā)明借鑒現(xiàn)有技術(shù)的前向差錯控制方法進行糾錯解碼,按理論計算得出標準S碼本集和校正子Se,將Se與S碼本集對照,當SeS=0時,根據(jù)S的特征進行前向糾錯。
可見,本發(fā)明提供的編解碼方案同時具有強糾錯、高速、實時編解碼的優(yōu)質(zhì)性能,實踐證明寫入/讀出數(shù)據(jù)率均可達690Mb/s。
為了克服現(xiàn)有技術(shù)缺點,實現(xiàn)大容量數(shù)據(jù)可靠存儲,本發(fā)明根據(jù)上述數(shù)據(jù)可靠存取方法提供了一種數(shù)據(jù)存儲系統(tǒng)以便實際應用設有數(shù)據(jù)存儲設備,所述數(shù)據(jù)存儲設備是兩個或以上子存儲器并列構(gòu)成的存儲陣列板,還設有電流驅(qū)動器、通過電流驅(qū)動器控制存儲陣列板實現(xiàn)交叉排列編解碼的存儲設備控制器,存儲設備控制器和數(shù)據(jù)存儲設備之間建立數(shù)據(jù)總線連接,電流驅(qū)動器和數(shù)據(jù)存儲設備之間、存儲設備控制器和電流驅(qū)動器之間分別建立地址和控制總線連接。參見附圖4,電流驅(qū)動器的作用是為了提供滿足子存儲器正常工作的驅(qū)動電流,因此本發(fā)明只是通過電流驅(qū)動器來驅(qū)動存儲設備的地址和控制總線,從存儲設備控制器到電流驅(qū)動器的接口是單向的。由存儲設備控制器直接驅(qū)動存儲器的I/O數(shù)據(jù)總線,由于要對存儲器進行讀寫操作,因此這里的數(shù)據(jù)線是雙向的。
為了實現(xiàn)交叉排列編解碼,本發(fā)明設置了兩個或以上子存儲器并列構(gòu)成的存儲陣列板作為數(shù)據(jù)存儲系統(tǒng)的數(shù)據(jù)存儲設備。存儲陣列板中包含子存儲器的個數(shù)與發(fā)射矢量的碼組長度相應,標記為n個。如附圖1,n個子存儲器標記為0號存儲器、1號存儲器、2號存儲器……n-3號存儲器、n-2號存儲器、n-1號存儲器,進行交叉編碼時,某個發(fā)射矢量Mi(i=1~m)的分量b0,b1,……bn-1分別存入0號存儲器、1號存儲器……n-1號存儲器,即按行寫入。
本發(fā)明所述存儲設備控制器采用FPGA實現(xiàn)。FPGA是英文FieldProgrammable Gate Array的縮寫,即現(xiàn)場可編程門陣列,它是在PAL、GAL、EPLD等可編程器件的基礎上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。FPGA體系結(jié)構(gòu)和邏輯單元靈活、集成度高以及適用范圍寬,并且設計開發(fā)周期短、設計制造成本相對較低、開發(fā)工具先進、標準產(chǎn)品無需測試、質(zhì)量穩(wěn)定以及可實時在線檢驗,因此可利于具體實施生產(chǎn)本發(fā)明提供的數(shù)據(jù)存儲系統(tǒng)。
本發(fā)明所述子存儲器采用CF卡。CF卡(Compact Flash)采用閃存(flash)技術(shù),是一種穩(wěn)定的存儲解決方案,不需要電池來維持其中存儲的數(shù)據(jù)。對所保存的數(shù)據(jù)來說,CF卡比傳統(tǒng)的磁盤驅(qū)動器安全性和保護性都更高;比傳統(tǒng)的磁盤驅(qū)動器及III型PC卡的可靠性高5到10倍,而且CF卡的用電量僅為小型磁盤驅(qū)動器的5%。這些優(yōu)異的條件使CF卡作為本發(fā)明優(yōu)選存儲介質(zhì)。
因為數(shù)據(jù)存儲系統(tǒng)中同時使用多個子存儲器,可能出現(xiàn)FPGA芯片管腳不夠的情況,本發(fā)明提供采用多塊CF卡共用相同的地址線和控制線的方案。例如本發(fā)明實施例設有24塊CF卡,即一塊FPGA要驅(qū)動24塊CF卡。一塊CF卡有50個管腳,實施例采用的FPGA芯片(具體實施時型號可根據(jù)用戶的功能需求選定)有672個管腳,但管腳還是不夠,需復用CF卡地址和控制線。參見圖5,本發(fā)明實施例的驅(qū)動結(jié)構(gòu)為一塊FPGA通過地址/控制總線控制4個電流驅(qū)動器,每個電流驅(qū)動器通過地址/控制總線控制6個CF卡。參見圖6,本發(fā)明實施例一次向24塊CF卡各輸入8bit數(shù)據(jù),并實現(xiàn)數(shù)據(jù)交叉排列編碼,m由用戶指定,n=24。
為了便于使用,本發(fā)明的數(shù)據(jù)存儲系統(tǒng)設置USB接口,USB接口與存儲設備控制器之間建立數(shù)據(jù)傳輸連接。在FPGA實現(xiàn)的存儲設備控制器的控制下,外部主機通過USB接口,將數(shù)據(jù)高速可靠存儲到數(shù)據(jù)存儲設備中;或?qū)?shù)據(jù)存儲設備中存儲的數(shù)據(jù),通過USB接口,輸入到外部主機USB,據(jù)存儲系統(tǒng)利用USB接口芯片的從屬FIFO工作模式與USB主機進行通信。
本發(fā)明的數(shù)據(jù)存儲系統(tǒng)設置可擴展接口用于擴展數(shù)據(jù)存儲設備的存儲容量,可添設1塊或多塊擴展用存儲陣列板,擴展用存儲陣列板上設有擴展接口。在FPGA實現(xiàn)的存儲設備控制器的控制下,通過可擴展接口,向擴展用存儲陣列板存取數(shù)據(jù)。這樣能夠按實際需要擴大存儲容量。參見圖10,N塊擴展用存儲陣列板標記為設備1、設備2……設備N,通過擴展接口互聯(lián)后供存儲設備控制器按數(shù)據(jù)存儲量分配使用,這種結(jié)構(gòu)可稱為多板系統(tǒng)。具體實施時,可擴展接口和擴展接口都可用并行數(shù)據(jù)插槽簡單實現(xiàn)。
設置了USB接口后,數(shù)據(jù)存儲系統(tǒng)可作為USB電子存儲器直接使用。采用USB接口技術(shù)后,雖然數(shù)據(jù)存儲系統(tǒng)的內(nèi)部是一個復雜的存儲系統(tǒng),但對用戶而言,只相當于一個大型的USB電子存儲器,使用和擴展極為方便。
具體實施時,存儲設備控制器(FPGA)作為數(shù)據(jù)存儲系統(tǒng)核心的中央控制模塊實現(xiàn)多種控制功能,包括6個功能模塊,可參見圖7數(shù)據(jù)的接收與預處理;存儲體讀寫控制;糾錯檢錯控制;USB接口控制;擴展接口控制;無效塊管理。參見圖8,本發(fā)明實施例中數(shù)據(jù)寫入原理為信源數(shù)據(jù)流經(jīng)過USB接口進入FPGA,首先進行預處理,然后進行分組差錯控制編碼運算,再進行串/并交換,將編碼結(jié)果通過I/O數(shù)據(jù)總線并行寫入數(shù)據(jù)存儲設備,即n個CF卡存儲器。CF卡存儲器由FPGA控制,F(xiàn)PGA通過電流驅(qū)動器驅(qū)動CF卡存儲器的地址/控制總線。參見圖9,本發(fā)明實施例中數(shù)據(jù)讀出原理為數(shù)據(jù)流在寫入時是分散存放在n個CF卡存儲器中,讀取數(shù)據(jù)時,按存入方式的逆向順序?qū)?shù)據(jù)送到FPGA中,進行并/串交換,先作還原預處理,再經(jīng)糾錯解碼運算,得出原始的信息數(shù)據(jù)流,通過USB接口依次讀出。CF卡存儲器驅(qū)動方式與數(shù)據(jù)寫入原理相同。
為了克服現(xiàn)有技術(shù)缺點,實現(xiàn)強干擾劣質(zhì)信道環(huán)境中數(shù)據(jù)的可靠傳輸,本發(fā)明提供了一種數(shù)據(jù)傳輸系統(tǒng),這種數(shù)據(jù)傳輸系統(tǒng)與數(shù)據(jù)存儲系統(tǒng)均是本發(fā)明提供的數(shù)據(jù)可靠存取方法應用,工作原理相同,因此可以直接采用本發(fā)明提供的數(shù)據(jù)存儲系統(tǒng)。這種數(shù)據(jù)傳輸系統(tǒng)在發(fā)送端和接收端各設置一套數(shù)據(jù)存儲系統(tǒng),發(fā)送端的數(shù)據(jù)存儲系統(tǒng)用于數(shù)據(jù)編碼,接收端的數(shù)據(jù)存儲系統(tǒng)用于數(shù)據(jù)解碼。因此在硬件上可直接采用數(shù)據(jù)存儲系統(tǒng),但由于數(shù)據(jù)編解碼分開,存儲設備控制器的功能可以有相應簡化,發(fā)送端只提供數(shù)據(jù)編碼,接收端只提供數(shù)據(jù)解碼。在雙向傳輸?shù)那闆r下,則采用完全相同的數(shù)據(jù)傳輸系統(tǒng)。
權(quán)利要求
1.一種用于數(shù)據(jù)可靠存儲或傳輸?shù)木幋a方法,其特征是對信源數(shù)據(jù)進行包括以下步驟的處理,(1.1)進行差錯控制編碼,構(gòu)造出發(fā)射矢量A;(1.2)根據(jù)發(fā)射矢量A進行交叉排列編碼,所述交叉排列編碼過程為取m個發(fā)射矢量A0,A1,…Am-1,發(fā)射矢量A0,A1,…Am-1中的每一個都具有n個分量,組成一個m行×n列存儲陣列,按行順序?qū)⒋鎯﹃嚵蟹至写娴絥個存儲器或按列順序串聯(lián)組成長度為mn的基帶信號矢量MA。
2.如權(quán)利要求1所述的編碼方法,其特征在于組成基帶信號矢量MA的實現(xiàn)過程為,按存儲陣列的行順序?qū)⒚總€發(fā)射矢量的各個分量分別寫入n個子存儲器,依次寫入存儲陣列中包含的m行數(shù)據(jù);按列順序從n個子存儲器讀出存儲陣列的數(shù)據(jù)并順序串聯(lián),組成長度為mn的基帶信號矢量MA。
3.如權(quán)利要求1或2所述的編碼方法,其特征在于所述步驟1.1包括以下操作,(1.1.1)選定本原多項式g,導出生成矩陣G,將G歸一化,歸一化計算G的公式為G=[Ik,Q](1-1)其中Ik為單位矩陣,k表示信碼長度,Q為系數(shù)轉(zhuǎn)置矩陣;(1.1.2)計算校驗碼R,計算校驗碼R的公式為R=D·Q(1-2)其中D為信碼矢量,校驗碼R即監(jiān)督矢量R;(1.1.3)構(gòu)造發(fā)射矢量A,計算A的公式為A=[D,R](1-3)。
4.一種用于數(shù)據(jù)可靠存儲或傳輸?shù)慕獯a方法,其特征是對經(jīng)交叉排列編碼處理的編碼數(shù)據(jù)進行包括以下步驟的解碼處理,(2.1)按交叉排列逆變換規(guī)則進行交叉排列解碼;(2.2)對交叉排列解碼得到的結(jié)果進行糾錯解碼。
5.如權(quán)利要求4所述的解碼方法,其特征在于所述交叉排列解碼過程如下,根據(jù)交叉排列逆變換規(guī)則將接收信號矢量MB分解,并組成m行×n列存儲矩陣;按存儲矩陣列順序?qū)懭雗個子存儲器,即每個子存儲器存入存儲矩陣中的一列數(shù)據(jù);然后按行順序讀出,將接收信號矢量MB變?yōu)閙個接收矢量B0,B1,……Bm-1。
6.一種數(shù)據(jù)存儲系統(tǒng),其特征在于設有數(shù)據(jù)存儲設備,所述數(shù)據(jù)存儲設備是兩個或以上子存儲器并列構(gòu)成的存儲陣列板,還設有電流驅(qū)動器、通過電流驅(qū)動器控制存儲陣列板實現(xiàn)交叉排列編解碼的存儲設備控制器,存儲設備控制器和數(shù)據(jù)存儲設備之間建立數(shù)據(jù)總線連接,電流驅(qū)動器和數(shù)據(jù)存儲設備之間、存儲設備控制器和電流驅(qū)動器之間分別建立地址和控制總線連接。
7.如權(quán)利要求6所述的數(shù)據(jù)存儲系統(tǒng),其特征在于所述存儲設備控制器采用FPGA實現(xiàn),所述子存儲器采用CF卡,采用CF卡地址和控制線復用的方式驅(qū)動CF卡。
8.如權(quán)利要求6所述的數(shù)據(jù)存儲系統(tǒng),其特征在于設置USB接口,USB接口與存儲設備控制器之間建立數(shù)據(jù)傳輸連接。
9.如權(quán)利要求6所述的數(shù)據(jù)存儲系統(tǒng),其特征在于設置可擴展接口,添加1塊或以上帶有擴展接口的擴展用存儲陣列板,擴展用存儲陣列板通過可擴展接口連接到存儲設備控制器,采用1塊以上擴展用存儲陣列板時各板之間通過擴展接口串連。
10.一種采用權(quán)利要求6所述數(shù)據(jù)存儲系統(tǒng)的數(shù)據(jù)傳輸系統(tǒng),其特征在于在發(fā)送端和接收端各設置一套數(shù)據(jù)存儲系統(tǒng),發(fā)送端的數(shù)據(jù)存儲系統(tǒng)用于數(shù)據(jù)編碼,接收端的數(shù)據(jù)存儲系統(tǒng)用于數(shù)據(jù)解碼。
全文摘要
本發(fā)明提供用于數(shù)據(jù)可靠存儲或傳輸?shù)木幋a和解碼方法及應用。本發(fā)明的編碼方法對信源數(shù)據(jù)進行包括以下步驟的處理,(1.1)進行差錯控制編碼,構(gòu)造出發(fā)射矢量A;(1.2)根據(jù)發(fā)射矢量A進行交叉排列編碼。本發(fā)明的編碼方法對經(jīng)交叉排列編碼處理的編碼數(shù)據(jù)進行包括以下步驟的解碼處理,(2.1)按交叉排列逆變換規(guī)則進行交叉排列解碼;(2.2)對交叉排列解碼得到的接收矢量B進行糾錯解碼。本發(fā)明還提供了相應數(shù)據(jù)存儲系統(tǒng)和數(shù)據(jù)傳輸系統(tǒng)。本發(fā)明提供的方案能夠保證高效率的數(shù)據(jù)可靠存儲或傳輸,不僅適用于在弱輻射環(huán)境下的大容量數(shù)據(jù)可靠存儲和強干擾劣質(zhì)信道環(huán)境中數(shù)據(jù)的可靠傳輸,也適用于電子信息學科領域其他要求數(shù)據(jù)可靠性的場合。
文檔編號H03M13/03GK1976237SQ20061012548
公開日2007年6月6日 申請日期2006年12月15日 優(yōu)先權(quán)日2006年12月15日
發(fā)明者曹慶源, 鄧德祥, 吳敏淵, 周誼 申請人:武漢大學