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