下一代硬盤信號處理技術:迭代譯碼技術
當前計算機硬盤信號處理技術發(fā)展趨勢
本文引用地址:http://www.butianyuan.cn/article/80615.htm自從IBM發(fā)明計算機硬盤,迄今已有50多年歷史。為適應各種應用需求的發(fā)展,硬盤容量不斷增加,性能也不斷提高。硬盤作為一種數(shù)字信息的存儲設備,其最重要的性能指標之一就是其所存儲的信息的可靠性,其衡量指標就是數(shù)據(jù)讀出時的出錯率或稱誤碼率(Bit Error Rate - BER)。
計算機硬盤是一個機械與電磁及電子過程操作的混合體,數(shù)字信息的存取涉及磁介質的磁化、電磁及磁電轉換、弱信號放大、濾波、模數(shù)轉換、數(shù)字信號處理等電磁或電子過程,以及與馬達伺服相關的存儲盤片的高速旋轉、讀寫磁頭的快速定位移動等機電過程。這些過程中的眾多不確定、不穩(wěn)定或不利因素,如磁頭的非線性、電路中的電子噪聲、熱噪聲、量化噪聲、馬達機械運動的非精確性、存取過程中存在的碼間干擾 以及使用環(huán)境中的不利因素,如震動、環(huán)境溫度等,均會對數(shù)據(jù)信息的存儲和恢復過程產生不同程度的影響,并最終反映在所讀出的數(shù)據(jù)的可靠性上,在使用環(huán)境較為隨機的消費類電子產品中尤其如此。
從信號處理的角度講,從硬盤讀出數(shù)據(jù)的過程也就是一個在噪聲環(huán)境中提取和檢測信號并糾正其錯誤的過程。作為比較,一般光通信系統(tǒng)的誤碼率為10-12,一般個人計算機硬盤系統(tǒng)在重復讀取后的硬誤碼率為10-15~10-18,而銀行或金融系統(tǒng)的硬盤存儲系統(tǒng)的誤碼率為10-20。隨著人們對各種媒體及存儲容量需求的日益不斷擴大,硬盤的容量也日益迅速的擴大,同時隨著微硬盤在各種便攜式消費類電子產品中的廣泛應用,使用環(huán)境對產品性能的影響也越來越大,這些情況都使得實際出錯的機會越來越大。例如,一個存儲容量為100GB的PC硬盤,實際出錯的可能性已達到10-3~10-6。
硬盤信息出錯所導致的結果有可能是災難性的。這實際上對硬盤系統(tǒng)的設計以及硬盤內部信號處理的技術提出了更高的要求。由于糾錯技術是以增加冗余信息也就是消耗磁盤容量為代價的,所以,在盡可能減少所增加的冗余信息量的情況下,盡可能降低誤碼率一直是硬盤糾錯技術的發(fā)展目標。
著名的PRML 技術在硬盤的發(fā)展中起到了非常重要的作用,其性能又隨著噪聲預測技術(Noise Prediction)和數(shù)據(jù)相關(Data Dependent)后處理技術的引入得到進一步增強, 但更進一步的基于標準PRML技術的性能提高已變得非常困難。
正是在這種情況下,Turbo碼和低密度校驗碼(Low Density Parity Code -- LDPC)以及相應的迭代譯碼技術等因其卓越的性能成為目前硬盤存儲系統(tǒng)中數(shù)據(jù)糾錯技術的關注焦點。
Shannon(仙農)信息論之信道容量與糾錯編碼
糾錯編碼的基本思想是根據(jù)一定的數(shù)學原則在用戶數(shù)據(jù)中加入冗余信息,以后再根據(jù)相應的數(shù)學運算將所出現(xiàn)的錯誤糾正過來。Claude Shannon在信息論中關于信道容量的描述包括兩點,其一是在給定信道帶寬W和信號信噪比S/N的情況下,信道可傳輸?shù)淖罡邤?shù)據(jù)速率由下述式子決定:
其中W以赫茲(Hz)為單位,C以每秒比特數(shù)為單位;其二是,無論多么復雜,總存在一種有限長度冗余糾錯碼,該糾錯方法可以以隨意低的誤碼率以盡可能接近C的速率傳輸數(shù)據(jù)。仙農指出了糾錯碼的存在條件及尋找方向,但沒有給出設計糾錯碼的具體方法, 或簡易譯碼器的具體實現(xiàn)方法。
為達到Shannon極限,編碼分組的長度越大越好,但高性能超長糾錯碼的設計極其困難,在實踐中是不現(xiàn)實的。所以,研究者們轉向將現(xiàn)有的不同編碼方法級聯(lián)起來以取得更好的整體性能,由此產生了Turbo編碼技術。迭代譯碼技術作為Turbo編碼的譯碼技術而產生并得到廣泛研究。
LDPC碼由R. G. Gallager于1962年提出,具有接近Shannon極限的近乎無錯誤傳輸?shù)男阅?,但譯碼方法不易于硬件實現(xiàn)。近年來因研究Turbo碼而發(fā)展起來的迭代譯碼技術使得LDPC碼重獲新生。據(jù)有關研究與仿真試驗結果表明,在中度信噪比的情況下,Turbo碼擁有非常好的性能,但在同樣碼長的情況下,使用迭代譯碼技術的LDPC碼具有更好的性能,迭代譯碼技術與LDPC編碼技術的結合顯示出了前所未有的糾錯能力。相對于原始的LDPC譯碼方法,以及目前半導體制造技術而言,迭代譯碼技術已使得LDPC碼的譯碼運算變得簡易高效可行。表一顯示了在所示條件下的編碼技術性能發(fā)展情況,圖一中顯示了一些在磁記錄領域中采用迭代譯碼技術的研究結果。
迭代譯碼技術
傳統(tǒng)的前向糾錯編碼技術是根據(jù)既定的數(shù)學規(guī)則檢測從信道中接收到的數(shù)據(jù)或從硬盤中讀出的數(shù)據(jù)中的錯誤并糾正之,這種糾錯是單向一次性操作,即便有多級糾錯方法,每一級也都是單獨進行糾錯的,糾錯后的數(shù)據(jù)將被作為用戶數(shù)據(jù)作其他相應的處理。在目前硬盤系統(tǒng)中,常用的是單級的RS糾錯碼技術。
迭代譯碼技術的基本思想是利用代表決策正誤的概率信息(稱為軟信息)在兩個譯碼器之間進行反復式迭代譯碼。也可以說,迭代譯碼技術采用的是逐次逼近的方法。通常,使用迭代譯碼技術的編碼器是由兩個常規(guī)編碼器級聯(lián)而成,一般稱為外編碼器(Outer Encoder)和內編碼器(Inner Encoder)。相應地,會有兩個譯碼器,分別稱為外譯碼器(Outer Decoder)和內譯碼器(Inner Decoder)。與傳統(tǒng)譯碼技術不同的是,除產生譯碼結果外,這里的每個譯碼器還要產生代表其所作判決正確性的概率信息(即軟信息),內譯碼器產生的軟信息送給外譯碼器,而外譯碼器產生的軟信息又反饋給內譯碼器進行再一次的譯碼,整個譯碼過程就這樣反復進行,直至達到一定的結果或達到指定的重復次數(shù),再將最終的譯碼結果作為用戶數(shù)據(jù)作其他相應的處理。圖1所示是采用Turbo編碼的迭代譯碼基本結構,圖2所示是采用LDPC碼的迭代譯碼基本結構。為突出Turbo碼編譯碼結構,圖1中省卻了可能的RS編譯碼步驟。圖2中的調制編碼器可看作是數(shù)字信息到磁記錄物理信息的轉換步驟,RS編譯碼及調制編碼器放在圖中以更好地襯托出LDPC編譯碼及迭代譯碼在實際應用中的大致位置。在這些譯碼結構中,每個譯碼器輸出的軟信息都作為先驗概率提供給另一個譯碼器使用,正是這種先驗概率的反復產生與反復使用,使得最終的譯碼性能得以不斷提高。
目前LDPC碼在硬盤系統(tǒng)中顯示出了較好的應用前景,相應的迭代譯碼算法通常為MPA算法(Message Passing Algorithm)。傳統(tǒng)的PRML檢測器是將檢測出的數(shù)據(jù)信息輸出,并由后面的糾錯電路進行糾錯處理,從而恢復用戶數(shù)據(jù)。為使用迭代譯碼技術,PRML檢測器還將輸出標志數(shù)據(jù)可靠性的軟信息,我們稱這個產生軟輸出信息的Viterbi算法為軟輸出Viterbi算法(SOVA)。MPA算法將使用由SOVA產生的軟信息實現(xiàn)對TPC碼或LDPC碼的譯碼。而MPA算法所產生的代表譯碼結果正確性的軟信息又作為先驗概率反饋到SOVA譯碼器進行下一輪的譯碼。與圖1相比較,我們可以將圖2中的LDPC編碼器看作外層編碼器,而硬盤的讀通道則等價于一個內層編碼器。相應地,把SOVA看作內層譯碼器,而把MPA看作外層譯碼器,譯碼過程在這兩個譯碼器之間來回反復進行,每迭代一次,譯碼出錯的概率都得到進一步的降低。
基于迭代譯碼技術的Turbo碼和LDPC碼在進一步提高硬盤性能方面顯示出了極其優(yōu)異的前景。據(jù)有關文獻仿真結果表明,對于傳統(tǒng)的水平記錄以及垂直記錄技術,在高密度記錄的情況下,使用迭代譯碼技術的512字節(jié)長度的LDPC碼的信噪比性能可以比RS碼分別改善0.75dB和1.5dB (Cideciyan etc. IEEE Transaction on Magnetics, Vol 38, No 4, July 2002)。
實現(xiàn)時需要考慮和解決的問題
迭代譯碼技術在很寬廣的碼率及碼長范圍內顯示出了比傳統(tǒng)的RS碼技術更好的性能,同時,對于不同應用可以靈活地在性能和實現(xiàn)復雜性之間進行折衷。
根據(jù)有關文獻,對于一個長度為106位的分組,在1000次迭代后LDPC碼的性能與Shannon極限的距離可縮小到0.0245dB。盡管這是較理想條件下的結果,卻仍是個令人振奮的結果,但與此相對應的迭代譯碼技術在實現(xiàn)時的復雜性比常規(guī)的基于PRML技術的Viterbi譯碼器要高一個數(shù)量級以上。這種復雜性直接關系到與成本相關的芯片尺寸、與使用性能相關的功耗、與系統(tǒng)性能相關的時延以及系統(tǒng)的數(shù)據(jù)傳送帶寬等。因此,在系統(tǒng)性能和實現(xiàn)復雜性之間尋找合適的折衷成為將這項技術實用化的關鍵,對于消費類電子產品等對芯片體積和功耗及成本極其敏感的領域尤其如此。
在迭代譯碼過程中,迭代的次數(shù)越多,最終輸出的誤碼率越低,但由此產生的譯碼延時也越長,系統(tǒng)的存取時間有可能受到影響。在具體實現(xiàn)迭代時,考慮到譯碼過程的實時性,可以將迭代過程作展開處理,即以芯片面積為代價將迭代過程轉化為流水處理過程。但展開的級數(shù)也不宜過多,否則,實現(xiàn)時的成本及功耗將過高,對在消費類電子產品中的應用帶來障礙。仿真結果表明,在對編碼方法和譯碼器具體結構進行仔細的優(yōu)化后,即便將迭代次數(shù)縮減為有限的二~四次后產生的性能損失考慮進去,相對于使用常規(guī)PRML技術可能帶來的性能提高而言,使用有限次迭代技術所帶來的整體性能提高仍然是非常顯著的。
為了使迭代譯碼技術的實際實現(xiàn)成為可能,需要將隨之產生的成本提高和功耗降低到可以接受的程度。使用最為先進的CMOS半導體制造技術,如90nm或65nm技術,并在并行信號處理技術、流水線技術、定時技術、系統(tǒng)微結構、Viterbi譯碼器蝶式結構的展開技術、低功耗設計技術、電路結構優(yōu)化技術、電源功耗管理技術等方面作盡可能的優(yōu)化已成為目前硬盤信號處理技術發(fā)展的前沿。
從誤碼率或信噪比的角度來講,誤碼率的降低意味著在同樣信噪比的環(huán)境中用硬盤存取數(shù)據(jù)更加可靠,這也意味著同樣的產品將可以用于更高端(如企業(yè)級)或更苛刻(如消費類)的使用環(huán)境。對高端應用而言,這意味著成本的降低。從另一個角度出發(fā),性能的提高意味著在同樣誤碼率的情況下,所需要的信號的信噪比更低,或允許信號中的碼間干擾更強一些,這就意味著可以將數(shù)據(jù)在磁盤上的存儲密度進一步提高,也就是說,可以將硬盤的存儲容量進一步提高。
評論