ECC技術(shù)在大容量智能Smart Media卡上的應用

發(fā)布時(shí)間:2010-8-12 13:48    發(fā)布者:lavida
關(guān)鍵詞: ECC , Media , smart
1 引言  

SM卡是一種nash Memory存儲卡,輕薄短小是其未來(lái)產(chǎn)品的發(fā)展趨勢。SM卡具有體積小(45 mm×37 mm x0.76mm),質(zhì)量輕(僅1.8克),結構簡(jiǎn)單,攜帶方便,且具有較高的擦寫(xiě)性能,功耗低,易于升級,帶有便于數據傳輸的PCMCIA界面等優(yōu)點(diǎn),但存在兼容性差和容量小的缺點(diǎn)。  

采用大容量的SM卡作為存儲介質(zhì)用于存儲采集的數據具有突破性發(fā)展。但其最關(guān)鍵技術(shù)問(wèn)題是要保證各種大量的數據能夠在計算機中正確地回放和分析,保證計算機正確無(wú)誤地識別出SM卡中的數據,因此要求SM卡的存儲數據格式應與DOS文件系統相兼容。錯誤檢查與糾正編碼簡(jiǎn)稱(chēng)ECC,是一種實(shí)現計算機錯誤檢查和糾正的技術(shù),可使整個(gè)計算機系統工作時(shí)安全穩定。而ECC技術(shù)應用于大容量SM卡,使其數據采集、儲存更安全穩定,并給出了ECC編碼算法,程序設計及查錯校正的實(shí)現。  

2 ECC與SM的地址轉換  

按照DOS文件操作系統存儲數據的方法,SM卡除存儲數據功能外,還具有以下5個(gè)區域:卡信息結構(Card Information Structure,簡(jiǎn)稱(chēng)CIS)、主引導記錄(Master Boot Record簡(jiǎn)稱(chēng),MBR)、分區引導記錄(Partition Boot Record,簡(jiǎn)稱(chēng)PBR)、分件分配表(File A11ocation Table,簡(jiǎn)稱(chēng)FAT)、根目錄(Root Directory,簡(jiǎn)稱(chēng)DIR)。CPU采用邏輯地址操作存儲介質(zhì),由于邏輯地址與物理地址不同,物理地址是存儲介質(zhì)的實(shí)際地址,如果按照物理地址順序存儲數據,則不便于文件增加或刪減的操作,因此,其DOS邏輯地址與物理地址必須按照轉換表進(jìn)行轉換。而SM卡的轉換表處于每頁(yè)存儲區的冗余區內。  

SM卡每頁(yè)包括528字節,分為512字節數據區和16字節的冗余區。冗余區的格式如表l所示,其中ECC編碼區和邏輯、物理轉換區是最為重要部分。  



由表1可以看出:邏輯地址區1和邏輯地址區2完全一致,ECC編碼區2是指256"512字節的ECC編碼,ECC編碼區l是指0"255字節的ECC編碼,數據狀態(tài)標志和塊狀態(tài)標志為FFH時(shí)正常,否則異常。邏輯地址區是針對DOS文件系統的邏輯地址和物理地址的轉換表,格式如表2所示,其中BA9~BA0為邏輯地址,P為奇偶區標志。  


  
所謂邏輯地址是相對于DOS文件系統而言,DOS文件系統在存儲文件時(shí),并不是完全按照物理地址的順序存儲的,而是將物理地址按一定的算法分配成邏輯地址,文件存儲是按照FAT表中標注的邏輯地址,再根據冗余區中的邏輯地址的內容找到相應的物理地址區實(shí)現的。整個(gè)SM卡的邏輯地址分布如表3所示。  



3 ECC編碼  

ECC與奇偶校驗(Parity)相類(lèi)似,然而Parity只能檢測錯誤,而ECC則可糾正每頁(yè)的l位錯誤。經(jīng)過(guò)內存糾錯,計算機的操作指令才能繼續。  

由于SM卡存在“寫(xiě)入干擾”,易引起數據錯誤,而且該錯誤不能利用寫(xiě)入Flash狀態(tài)進(jìn)行檢查。根據SM卡實(shí)驗結果推斷,寫(xiě)入干擾引發(fā)的錯誤在l頁(yè)中(512字節)只有1位出現錯誤。因此認為這類(lèi)錯誤可利用ECC碼檢查并糾正,而不視為壞塊。這樣將大大提高SM卡的可靠性和壽命。在設計中以512字節為一組數據,加上ECC碼(3字節),這樣可以使ECC碼的比例達到最低。  

4 ECC編碼算法和程序設計  

4.1 ECC碼的普通算法  

以64字節一組數據為例說(shuō)明ECC碼的普通算法,前52字節為輸入數據,后面12字節補零或64字節參加運算。先將64字節數據排成一列,即最高地址數據bit7,bit 6…bit O,然后為次高地址數據bit 7,bit 6…bit O,依次根據地址由高到低,直至最低地址數據bit 7,bit 6…bit 0,總共512位。  

首先將512位分成前256位和后256位。計算前256位中“1”的個(gè)數k,如果k為奇數,令P(256)=l;若k為偶數,則令P(256)=O。然后計算后面256位中“1”的個(gè)數為j,如果j為奇數,則令Q(256)=1;若j為偶數,則Q(256)=0。  

然后,再把512位等分4塊,每一塊均為128位。把第一塊、第三塊合在一起,計算其中“1”的個(gè)數l,如果l為奇數,令P(128)=l;若f為偶數,令P(128)=0;把第二塊和第四塊合在一起,計算其中“1”的個(gè)數m,如果m為奇數,則令Q(128)=1,若m為偶數,令Q(128)=0。  

第三步,把512位等分為8塊,每塊為64位,把奇數次塊合并在一起,計算“l(fā)”的個(gè)數,決定P(64)是“1”還是“0”,再把偶數次塊合并在一起,計算“1”的個(gè)數,決定Q(64)是“1',還是“0”。  

依次類(lèi)推,每次塊數增加一倍,其塊的位數減少一半,直到每塊中只有1位為止。將奇數次塊合并在一起,然后決定P(16)、P(8)、P(4)、P(2)、P(1)分別是“1”還是“0”;把偶數次塊合在一起,決定Q(16)、Q(8)、Q(4)、Q(2)、Q(1)分別是“1”,還是“0”。  

最后,把上述P(i)、Q(i)排成一列得P(256)Q(256)P(128)Q(128)P(64)Q(64)…P(1)Q(1)總共18位就構成ECC碼,ECC碼為3字節,多余位全為零。  

4.2 簡(jiǎn)化ECC碼算法  

計算ECC碼是一個(gè)子程序,要求程序要短,ECC子程序的長(cháng)度為120字節,F015的程序空間可以容納;執行要快,ECC子程序的執行時(shí)間約為2 ms。由于F015的程序空間不大,而子程序是在記錄過(guò)程中經(jīng)數據采集,運算再加上ECC碼,然后存入Flash。運算時(shí)間過(guò)長(cháng)會(huì )干擾下一點(diǎn)數據采集,破壞數據完整性。數據采集周期為1/8 s(125 ms),ECC運行時(shí)間應小于12.5 ms。  

程序采用數據平行處理,巧妙重復利用F015指令,從而達到系統要求。  

5 查錯和校正  

5.1 錯誤類(lèi)型  

常見(jiàn)內存錯誤為:?jiǎn)挝、多位、列、行等錯誤。其中單位錯誤大多在讀取一個(gè)完整比特時(shí)有一位出錯;而多位錯誤是讀相同比特時(shí)總是同一位數據出錯;如果單位錯誤發(fā)生在很多詞中,則視為列或行錯誤。  

5.2 查錯和校正算法  

無(wú)錯誤時(shí),ECC碼全為0;當主區有1位錯誤,每一個(gè)相似組(eg:P8&P8’)有l&0或0&1,可以糾錯;如果Flash有多于2位以上的錯誤,則沒(méi)辦法修正。  

在數據存入前產(chǎn)生的ECC碼為PQ先,在讀出數據后計算得的ECC碼為PQ后,具體算法如下:  

(1)若PQ先^PQ后(^為異或),  

(2)若異或后000 000 000 000 000 000,則表示數據無(wú)錯。PQ先^PQ后,R=RF(256)RQ(256)RP(128)RQ(128)…RP(1)RQ(1),其中RP(256)=P(256)先^P(256)后,RQ(256)=Q(256)先^Q(256)后。  

若RP(i)^RQ(i)為l,對所有i(i=1,2,4…256)都成立,則  

存在1位錯碼,其出錯的位置:由RP(256)RP(128)RP(64)RP(32)RP(16)RP(8)地址決定的這一字節中地址(范圍0—63)在RP(4)RP(2)RP(1)的位上(O"7位)。將上述參數決定的該字節的位數據取非,就可校正數據中的錯誤。  

(3)RP(i)^RQ(i)=1,只對一個(gè)i(i=1,2,4…256)成立。則ECC碼PO先出錯,數據正確。  

(4)若出現其他情況,則無(wú)法校正數據錯誤。  

6 ECC編碼的實(shí)現  

256字節數據的ECC碼是3個(gè)字節,其中22個(gè)字節是有用的。ECC編碼的產(chǎn)生、計算方法及錯碼檢測方法框圖分別如表4、圖1和圖2所示。



由圖1和圖2可看出,寫(xiě)入DOS文件系統所需的各功能區的內容,在實(shí)際編程中要嚴格按照其結構編寫(xiě),否則計算機將無(wú)法識別。  



7 結語(yǔ)  

通過(guò)討論和分析可見(jiàn),SM卡的存儲結構、DOS存儲格式以及ECC代碼的編寫(xiě)所構成SM卡數據存儲系統的軟件部分,說(shuō)明了將ECC技術(shù)應用于大容量的SM卡是可行的。
本文地址:http://selenalain.com/thread-20903-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页