專利名稱:系統(tǒng)總線檢錯(cuò)糾錯(cuò)方法和nand flash控制器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種系統(tǒng)總線檢錯(cuò)糾錯(cuò)方法和NAND FLASH控制器。
背景技術(shù):
NAND FLASH結(jié)構(gòu)是FLASH內(nèi)存的一種,強(qiáng)調(diào)降低每比特的成本和更高的性能。NAND FLASH存儲(chǔ)器具有容量較大、改寫(xiě)速度快等優(yōu)點(diǎn),適用于大量數(shù)據(jù)的存儲(chǔ),因而在嵌入式產(chǎn)品中得到了廣泛的應(yīng)用,如數(shù)碼相機(jī)、MP3隨身聽(tīng)記憶卡、體積小巧的U盤(pán)等。信息技術(shù)的飛速發(fā)展,人們對(duì)信息的需求量也越來(lái)越大。因此,大量數(shù)據(jù)在系統(tǒng)內(nèi)部以及網(wǎng)絡(luò)之間存儲(chǔ)和傳遞時(shí),對(duì)數(shù)據(jù)進(jìn)行檢測(cè)并更正可能出現(xiàn)的錯(cuò)誤尤為重要。同時(shí)由于NAND FLASH所采用的工藝導(dǎo)致位翻轉(zhuǎn)的現(xiàn)象比較多,但是它的出錯(cuò)一般不會(huì)造成整塊或者整頁(yè)不能讀取或者全部出錯(cuò),而是整個(gè)頁(yè)中的一位或者幾位出錯(cuò)。目前,有技術(shù)將ECC模塊嵌入了 NAND FLASH控制中。在實(shí)現(xiàn)本發(fā)明過(guò)程中,發(fā)明人發(fā)現(xiàn)該現(xiàn)有技術(shù)雖然能夠完成NAND FLASH控制器的檢錯(cuò)糾錯(cuò)的功能,但是不能用于無(wú)線通信方面的檢錯(cuò)糾錯(cuò)。還有一種基于固態(tài)硬盤(pán)的ECC多模塊復(fù)用系統(tǒng),每個(gè)通道分別設(shè)有一控制器和 ECC模塊,當(dāng)所述一通道進(jìn)行數(shù)據(jù)操作,而同組的其他通道空閑或部分空閑時(shí),所述多路選擇器將同組的所述數(shù)據(jù)操作通道的ECC模塊和所述空閑或部分空閑通道的ECC模塊動(dòng)態(tài)分配給所述數(shù)據(jù)操作通道的控制器使用。發(fā)明人發(fā)現(xiàn)該現(xiàn)有技術(shù)是對(duì)ECC模塊獨(dú)立整體的復(fù)用,也不能用于無(wú)線通信方面的檢錯(cuò)糾錯(cuò)。
發(fā)明內(nèi)容
為了克服上述的缺陷,本發(fā)明提供一種可用于無(wú)線通信方面的系統(tǒng)總線檢錯(cuò)糾錯(cuò)方法。為達(dá)到上述目的,一方面,本發(fā)明提供一種系統(tǒng)總線檢錯(cuò)糾錯(cuò)方法,所述方法為系統(tǒng)總線與ECC模塊連接,ECC模塊在系統(tǒng)總線控制下對(duì)系統(tǒng)總線中信號(hào)數(shù)據(jù)進(jìn)行數(shù)據(jù)處理;所述方法包括下述步驟信號(hào)源數(shù)據(jù)進(jìn)入系統(tǒng)總線;ECC模塊得到系統(tǒng)總線上的信號(hào)源數(shù)據(jù)并對(duì)所述信號(hào)源數(shù)據(jù)進(jìn)行編碼和/或解碼;ECC模塊將編碼和/或解碼后得到的數(shù)據(jù)放到系統(tǒng)總線上。另一方面,本發(fā)明提供一種NAND FLASH控制器,所述控制器包括相連接的控制單元和ECC模塊,控制單元將系統(tǒng)總線的操作請(qǐng)求轉(zhuǎn)換成NAND FLASH的時(shí)序要求,所述ECC 模塊還設(shè)有能與系統(tǒng)總線物理連接的接口 ;其中,ECC模塊,接受控制單元和/或系統(tǒng)總線的控制對(duì)數(shù)據(jù)進(jìn)行檢錯(cuò)糾錯(cuò)。本發(fā)明系統(tǒng)總線檢錯(cuò)糾錯(cuò)方法使用ECC模塊直接為系統(tǒng)總線檢錯(cuò)糾錯(cuò),填補(bǔ)了現(xiàn)有技術(shù)的空白。ECC模塊技術(shù)成熟,使用ECC模塊實(shí)現(xiàn)的本方法性能穩(wěn)定,使用方便。應(yīng)用
4本發(fā)明系統(tǒng)總線檢錯(cuò)糾錯(cuò)方法后,系統(tǒng)總線上的信號(hào)源數(shù)據(jù)可通過(guò)無(wú)線通信后由ECC模塊進(jìn)行檢錯(cuò)糾錯(cuò),彌補(bǔ)了現(xiàn)有技術(shù)的不足。本發(fā)明NAND FLASH控制器中ECC模塊連接系統(tǒng)總線,可以直接對(duì)系統(tǒng)總線中的全部信號(hào)數(shù)據(jù)進(jìn)行檢錯(cuò)糾錯(cuò),使用方便,性能穩(wěn)定。信號(hào)數(shù)據(jù)通過(guò)系統(tǒng)總線傳輸后,ECC模塊實(shí)現(xiàn)對(duì)無(wú)線通信的檢錯(cuò)糾錯(cuò),彌補(bǔ)了現(xiàn)有技術(shù)的空白。
圖1為本發(fā)明系統(tǒng)總線檢錯(cuò)糾錯(cuò)方法步驟框圖。圖2為本發(fā)明系統(tǒng)總線檢錯(cuò)糾錯(cuò)方法原理示意圖。圖3為本發(fā)明NAND FLASH控制器優(yōu)選實(shí)施例結(jié)構(gòu)示意圖。圖4為本發(fā)明優(yōu)選實(shí)施例NAND FLASH狀態(tài)轉(zhuǎn)化示意圖。圖5為本發(fā)明NAND FLASH控制器中ECC模塊優(yōu)選實(shí)施例結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面結(jié)合說(shuō)明書(shū)附圖和實(shí)施例對(duì)本發(fā)明做詳細(xì)描述。本發(fā)明提供一種系統(tǒng)總線檢錯(cuò)糾錯(cuò)方法,該方法為系統(tǒng)總線與ECC(錯(cuò)誤檢查和糾正技術(shù))模塊連接,ECC模塊在系統(tǒng)總線控制下對(duì)系統(tǒng)總線中信號(hào)數(shù)據(jù)進(jìn)行數(shù)據(jù)處理。其中,系統(tǒng)總線與ECC模塊之間的連接為物理連接。解決了現(xiàn)有技術(shù)中只有進(jìn)入NAND FLASH 控制器的部分信號(hào)數(shù)據(jù)才得以檢錯(cuò)糾錯(cuò)的缺陷。如圖1所示,本方法中ECC模塊采用編碼和/或解碼的方式為信號(hào)數(shù)據(jù)進(jìn)行檢錯(cuò)糾錯(cuò)的。實(shí)現(xiàn)該方法主要包括下述步驟信號(hào)源數(shù)據(jù)進(jìn)入系統(tǒng)總線;ECC模塊得到系統(tǒng)總線上的信號(hào)源數(shù)據(jù)并對(duì)所述信號(hào)源數(shù)據(jù)進(jìn)行編碼和/或解碼;ECC模塊將編碼和/或解碼后得到的數(shù)據(jù)放到系統(tǒng)總線上。經(jīng)過(guò)上述步驟,ECC模塊對(duì)系統(tǒng)總線中信號(hào)數(shù)據(jù)進(jìn)行了檢錯(cuò)糾錯(cuò),效果良好,操作簡(jiǎn)單,填補(bǔ)了現(xiàn)有技術(shù)的空白。如圖2所示,也可以使用ECC模塊同時(shí)為系統(tǒng)總線和NAND FLASH控制器檢錯(cuò)糾錯(cuò), 主要包括下述步驟信號(hào)源數(shù)據(jù)進(jìn)入系統(tǒng)總線,系統(tǒng)總線中的操作請(qǐng)求數(shù)據(jù)進(jìn)入NAND FLASH控制器;ECC模塊得到系統(tǒng)總線上的信號(hào)源數(shù)據(jù)并對(duì)其進(jìn)行編碼和/或解碼,將編碼和/或解碼后所得數(shù)據(jù)放到系統(tǒng)總線上;ECC模塊得到NAND FLASH控制器中的操作請(qǐng)求數(shù)據(jù)并對(duì)其進(jìn)行編碼和/或解碼, 將編碼和/或解碼后數(shù)據(jù)傳輸回NAND FLASH控制器。為了避免信號(hào)的互相干擾,ECC模塊應(yīng)用不同的通道分別對(duì)系統(tǒng)總線和NAND FLASH控制器進(jìn)行編碼和/或解碼。使用這種方法,ECC模塊同時(shí)為系統(tǒng)總線和NAND FLASH控制器檢錯(cuò)糾錯(cuò),既保證了系統(tǒng)總線中信號(hào)數(shù)據(jù)的準(zhǔn)確性,又保留了現(xiàn)有ECC模塊為NAND FLASH控制器檢錯(cuò)糾錯(cuò)的功能。整體的功能更加強(qiáng)大,適用范圍更廣,性能更加良好。
使用ECC模塊檢錯(cuò)糾錯(cuò)時(shí)因其內(nèi)部的算法不同,所對(duì)應(yīng)的時(shí)序亦不同?,F(xiàn)階段有很多成熟的算法,這些算法均可以應(yīng)用到本發(fā)明中,因此本發(fā)明中ECC模塊檢錯(cuò)糾錯(cuò)的時(shí)序有多種。為了實(shí)現(xiàn)上述方法,本發(fā)明提供一種NAND FLASH控制器,該控制器包括相連接的控制單元和ECC模塊,控制單元和ECC模塊的連接可以與現(xiàn)有技術(shù)中的連接方式相同,也可以在兩者之間加設(shè)接口,還可以有其它的連接方式,可以實(shí)現(xiàn)兩者之間的數(shù)據(jù)傳輸即可。控制單元將系統(tǒng)總線的操作請(qǐng)求轉(zhuǎn)換成NAND FLASH的時(shí)序要求,實(shí)現(xiàn)對(duì)NAND FLASH的控制作用。ECC模塊還設(shè)有能與系統(tǒng)總線物理連接的接口 ;ECC模塊接受控制單元和/或系統(tǒng)總線的控制對(duì)數(shù)據(jù)進(jìn)行檢錯(cuò)糾錯(cuò)。該NAND FLASH控制器中的ECC模塊同時(shí)連接控制單元和系統(tǒng)總線,為兩者提供檢錯(cuò)糾錯(cuò)的功能,整體的功能更加強(qiáng)大,適用范圍更廣,性能更加良好。如圖3所示,控制單元主要包括寄存器控制文件模塊、訪問(wèn)周期選擇模塊、控制器的控制模塊、數(shù)據(jù)緩存模塊、ECC控制模塊和FLASH多路選擇器。寄存器控制文件模塊連接系統(tǒng)總線,面向系統(tǒng)總線接口設(shè)計(jì)的。通過(guò)系統(tǒng)總線配置所有被系統(tǒng)總線訪問(wèn)的控制寄存器。訪問(wèn)周期選擇模塊主要作用是為NandFlash讀寫(xiě)產(chǎn)生一個(gè)適當(dāng)?shù)脑L問(wèn)時(shí)鐘周期, 本模塊主要實(shí)現(xiàn)了一個(gè)可編程的分頻器。也就是說(shuō)可以通過(guò)寄存器控制文件模塊配置寄存器實(shí)現(xiàn)分頻,從而產(chǎn)生適合Flash訪問(wèn)的時(shí)鐘周期。控制器的控制模塊是整個(gè)NAND FLASH控制單元非常重要的部分。它把系統(tǒng)總線的請(qǐng)求轉(zhuǎn)換成NandFlash設(shè)備的訪問(wèn)時(shí)序,如命令鎖存周期、地址鎖存周期、數(shù)據(jù)讀/寫(xiě)周期、數(shù)據(jù)擦除周期等,根據(jù)具體應(yīng)用的不同,還可以有其它的訪問(wèn)時(shí)序內(nèi)容,從而實(shí)現(xiàn)控制 NandFlash設(shè)備的目的。由于NandFlash的控制指令比較多,為了能夠靈活控制各款NandFlash芯片,控制器的控制模塊采用狀態(tài)機(jī)的設(shè)計(jì),該狀態(tài)機(jī)分為七個(gè)狀態(tài)空閑狀態(tài)、寫(xiě)命令狀態(tài)、寫(xiě)地址狀態(tài)、寫(xiě)數(shù)據(jù)狀態(tài)、等待狀態(tài)、Flash忙狀態(tài)和讀Flash狀態(tài)。狀態(tài)之間的轉(zhuǎn)換如圖4所示。數(shù)據(jù)緩存模塊主要的作用是為NAND FLASH讀/寫(xiě)操作一頁(yè)的數(shù)據(jù)緩存。由于數(shù)據(jù)緩存被系統(tǒng)總線和NAND FLASH控制器訪問(wèn),所以設(shè)計(jì)了數(shù)據(jù)緩存控制模塊控制所有的系統(tǒng)總線接口和NAND FLASH控制器,以便于接受系統(tǒng)總線和NAND FLASH控制器的訪問(wèn)。ECC控制模塊在其內(nèi)部提供了一種ECC (錯(cuò)誤檢查和糾錯(cuò)技術(shù))的算法,還為ECC 模塊提供接口,為其發(fā)起一些控制信號(hào),所以NAND FLASH根據(jù)FLASH的要求選擇不同的錯(cuò)誤檢查和糾錯(cuò)的算法。FLASH多路選擇器將寄存器控制文件模塊、數(shù)據(jù)緩存模塊和ECC控制模塊連接至 NAND FLASH。上述結(jié)構(gòu)實(shí)現(xiàn)了控制單元將系統(tǒng)總線的操作請(qǐng)求轉(zhuǎn)換成NAND FLASH的時(shí)序要求的功能,達(dá)到了對(duì)NAND FLASH控制的目的,結(jié)構(gòu)合理,性能良好。由于NAND FLASH所采用的工藝導(dǎo)致位翻轉(zhuǎn)的現(xiàn)象比較多,但是它的出錯(cuò)一般不會(huì)造成整塊或者整頁(yè)不能讀取或者全部出錯(cuò),而是整個(gè)頁(yè)中的一位或者幾位出錯(cuò),因此在 NAND FLASH處理中使用具有糾錯(cuò)檢錯(cuò)功能的ECC模塊尤為重要。
為了實(shí)現(xiàn)ECC模塊同時(shí)為控制單元和系統(tǒng)總線進(jìn)行檢錯(cuò)糾錯(cuò)的功能,本發(fā)明NAND FLASH控制器中的ECC模塊內(nèi)設(shè)有兩個(gè)編解碼算法通道,兩個(gè)通道互不干擾。分別利用兩個(gè)編解碼算法通道來(lái)處理控制單元和系統(tǒng)總線中的信號(hào)數(shù)據(jù),實(shí)現(xiàn)了信號(hào)數(shù)據(jù)的互不干擾。其中,ECC模塊包括輸入接口、輸出接口、設(shè)置在輸入接口和輸出接口之間的編解碼算法通道、以及控制輸入接口和輸出接口的控制邏輯。編解碼算法通道包括第一通道和第二通道,第一通道和第二通道互不干擾。優(yōu)選實(shí)施例一使用本發(fā)明NAND FLASH控制器為系統(tǒng)總線檢錯(cuò)糾錯(cuò)。所用NAND FLASH控制器包括相連接的控制單元和ECC模塊,控制單元和ECC模塊之間通過(guò)接口連接??刂茊卧獙⑾到y(tǒng)總線的操作請(qǐng)求轉(zhuǎn)換成NAND FLASH的時(shí)序要求,實(shí)現(xiàn)對(duì) NANDFLASH的控制作用。ECC模塊設(shè)有接口,與系統(tǒng)總線物理連接,具有直接對(duì)系統(tǒng)總線進(jìn)行檢錯(cuò)糾錯(cuò)的功能??刂茊卧饕拇嫫骺刂莆募K、訪問(wèn)周期選擇模塊、控制器的控制模塊、數(shù)據(jù)緩存模塊、ECC控制模塊和FLASH多路選擇器。NAND FLASH控制器中的ECC模塊內(nèi)設(shè)有兩個(gè)編解碼算法通道,兩個(gè)通道互不干擾。ECC模塊包括輸入接口、輸出接口、設(shè)置在輸入接口和輸出接口之間的編解碼算法通道、以及控制輸入接口和輸出接口的控制邏輯。編解碼算法通道包括第一通道和第二通道, 第一通道和第二通道互不干擾。NAND FLASH控制器為系統(tǒng)總線檢錯(cuò)糾錯(cuò)的具體步驟如下信號(hào)源數(shù)據(jù)進(jìn)入系統(tǒng)總線,為ECC模塊的糾錯(cuò)檢錯(cuò)做準(zhǔn)備工作;ECC模塊得到系統(tǒng)總線上的信號(hào)源數(shù)據(jù),對(duì)該信號(hào)源數(shù)據(jù)進(jìn)行編碼和/或解碼,通過(guò)編碼和/或解碼的方法來(lái)實(shí)現(xiàn)糾錯(cuò)檢錯(cuò)的目的;ECC模塊將編碼和/或解碼后得到的數(shù)據(jù)放到系統(tǒng)總線上,完成了對(duì)系統(tǒng)總線糾錯(cuò)檢錯(cuò)的工作。通過(guò)上述步驟,ECC模塊對(duì)系統(tǒng)總線中信號(hào)數(shù)據(jù)進(jìn)行了檢錯(cuò)糾錯(cuò),效果良好,操作簡(jiǎn)單,填補(bǔ)了現(xiàn)有技術(shù)的空白。優(yōu)選實(shí)施例二 使用本發(fā)明NAND FLASH控制器為無(wú)線通信檢錯(cuò)糾錯(cuò)。這里的檢錯(cuò)糾錯(cuò)主要是對(duì)信道的編解碼,主要目的是能提高無(wú)線傳輸?shù)目垢蓴_性。在信源傳輸之前,配置好寄存器,讓ECC模塊能夠正常工作。所用NAND FLASH控制器包括相連接的控制單元和ECC模塊,控制單元和ECC模塊之間通過(guò)接口連接??刂茊卧獙⑾到y(tǒng)總線的操作請(qǐng)求轉(zhuǎn)換成NAND FLASH的時(shí)序要求,實(shí)現(xiàn)對(duì)NAND FLASH的控制作用。ECC模塊設(shè)有接口,與系統(tǒng)總線物理連接,具有直接對(duì)系統(tǒng)總線進(jìn)行檢錯(cuò)糾錯(cuò)的功能??刂茊卧饕拇嫫骺刂莆募K、訪問(wèn)周期選擇模塊、控制器的控制模塊、數(shù)據(jù)緩存模塊、ECC控制模塊和FLASH多路選擇器。NAND FLASH控制器中的ECC模塊內(nèi)設(shè)有兩個(gè)編解碼算法通道,兩個(gè)通道互不干擾。ECC模塊包括輸入接口、輸出接口、設(shè)置在輸入接口和輸出接口之間的編解碼算法通道、以及控制輸入接口和輸出接口的控制邏輯。編解碼算法通道包括第一通道和第二通道, 第一通道和第二通道互不干擾。NAND FLASH控制器為無(wú)線通信提供檢錯(cuò)糾錯(cuò)的具體步驟如下信號(hào)源數(shù)據(jù)進(jìn)入第一系統(tǒng)總線,為第一 ECC模塊的糾錯(cuò)檢錯(cuò)做準(zhǔn)備工作;
第一 ECC模塊得到第一系統(tǒng)總線上的信號(hào)源數(shù)據(jù),對(duì)該信號(hào)源數(shù)據(jù)進(jìn)行編碼;第一 ECC模塊將編碼后得到的數(shù)據(jù)放到第一系統(tǒng)總線上;發(fā)射設(shè)備將第一系統(tǒng)總線上編碼的數(shù)據(jù)發(fā)射到無(wú)線空間中;接收設(shè)備將無(wú)線空間中的數(shù)據(jù)接收后放入第二系統(tǒng)總線上;第二 ECC模塊得到第二系統(tǒng)總線上的信號(hào)源數(shù)據(jù),對(duì)該信號(hào)源數(shù)據(jù)進(jìn)行解碼;第二 ECC模塊將解碼后得到的數(shù)據(jù)放到第二系統(tǒng)總線上,至此完成無(wú)線通信的檢錯(cuò)糾錯(cuò)。在本優(yōu)選實(shí)施例中,NAND FLASH控制器為無(wú)線通信檢錯(cuò)糾錯(cuò),提高了無(wú)線傳輸?shù)目垢蓴_性。優(yōu)選實(shí)施三使用本發(fā)明NAND FLASH控制器同時(shí)為系統(tǒng)總線和NAND FLASH控制單元檢錯(cuò)糾錯(cuò)。所用NAND FLASH控制器包括相連接的控制單元和ECC模塊,控制單元和 ECC模塊之間通過(guò)接口連接??刂茊卧獙⑾到y(tǒng)總線的操作請(qǐng)求轉(zhuǎn)換成NAND FLASH的時(shí)序要求,實(shí)現(xiàn)對(duì) NANDFLASH的控制作用??刂茊卧饕拇嫫骺刂莆募K、訪問(wèn)周期選擇模塊、控制器的控制模塊、數(shù)據(jù)緩存模塊、ECC控制模塊和FLASH多路選擇器。ECC模塊設(shè)有接口,與系統(tǒng)總線物理連接,具有直接對(duì)系統(tǒng)總線進(jìn)行檢錯(cuò)糾錯(cuò)的功能。同時(shí),ECC模塊具有對(duì)控制單元數(shù)據(jù)進(jìn)行檢錯(cuò)糾錯(cuò)的功能。ECC模塊內(nèi)設(shè)有兩個(gè)編解碼算法通道,兩個(gè)通道互不干擾。ECC模塊包括輸入接口、輸出接口、設(shè)置在輸入接口和輸出接口之間的編解碼算法通道、以及控制輸入接口和輸出接口的控制邏輯。編解碼算法通道包括第一通道RS (511,503)和第二通道RS (511,495),第一通道RS (511,503)和第二通道 RS (511,495)互不干擾。如圖5所示,ECC模塊上有兩個(gè)接口,通過(guò)控制邏輯單元選擇這兩個(gè)接口。根據(jù) NNAD FLASH和總線接口的控制選擇不同的RS編解碼硬件模塊實(shí)現(xiàn),最后通過(guò)控制邏輯的選擇輸出。ECC模塊是一個(gè)硬件結(jié)構(gòu)。輸入接口可以做選擇,是從NAND FLASH控制器來(lái)的控制信號(hào),還是從總線來(lái)的數(shù)據(jù)和配置寄存器的具體的數(shù)據(jù)。本實(shí)施例中使用的RS編解碼器基本原理就是每當(dāng)往NAND FLASH的page中寫(xiě)入數(shù)據(jù)的時(shí)候,每503/495字節(jié)我們生成一個(gè)ECC校驗(yàn)和,稱之為原ECC校驗(yàn)和,保存到PAGE 的OOB (out-of-band)數(shù)據(jù)區(qū)中。當(dāng)從NAND FLASH中讀取數(shù)據(jù)的時(shí)候,每503/495字節(jié)我們生成一個(gè)ECC校驗(yàn)和,稱之為新ECC校驗(yàn)和。校驗(yàn)的時(shí)候,根據(jù)上述ECC模塊生成原理不難推斷將從OOB區(qū)中讀出的原ECC校驗(yàn)和新ECC校驗(yàn)和按位異或,若結(jié)果為0,則表示不存在錯(cuò)(或是出現(xiàn)了 ECC無(wú)法檢測(cè)的錯(cuò)誤),即為邏輯輸出結(jié)果。通過(guò)NAND FLASH控制器的選擇和總線配置ECC模塊的選擇,選擇它選用哪種編解碼方式(RS(511,50;3),RS(511,4%))。以上是輸入接口的作用,將進(jìn)來(lái)的數(shù)據(jù),送入不同的編解碼,再經(jīng)過(guò)編解碼之后的數(shù)據(jù)輸入到輸出控制模塊控制分別輸出到NAND FLASH控制器和系統(tǒng)總線上。NAND FLASH控制器同時(shí)為系統(tǒng)總線和NAND FLASH控制單元檢錯(cuò)糾錯(cuò)的具體步驟如下信號(hào)源數(shù)據(jù)進(jìn)入系統(tǒng)總線,系統(tǒng)總線中的操作請(qǐng)求數(shù)據(jù)進(jìn)入NAND FLASH控制器, 為ECC模塊的糾錯(cuò)檢錯(cuò)做準(zhǔn)備工作;
8
ECC模塊得到系統(tǒng)總線上的信號(hào)源數(shù)據(jù)并對(duì)其進(jìn)行編碼和/或解碼,將編碼和/或解碼后所得數(shù)據(jù)放到系統(tǒng)總線上;ECC模塊得到NAND FLASH控制器中的操作請(qǐng)求數(shù)據(jù)并對(duì)其進(jìn)行編碼和/或解碼, 將編碼和/或解碼后數(shù)據(jù)傳輸回NAND FLASH控制器。使用本實(shí)施例的方法,ECC模塊同時(shí)為系統(tǒng)總線和NAND FLASH控制器檢錯(cuò)糾錯(cuò), 既保證了系統(tǒng)總線中信號(hào)數(shù)據(jù)的準(zhǔn)確性,又保留了現(xiàn)有ECC模塊為NAND FLASH控制器檢錯(cuò)糾錯(cuò)的功能。整體的功能更加強(qiáng)大,適用范圍更廣,性能更加良好。優(yōu)選實(shí)施四使用本發(fā)明NAND FLASH控制器同時(shí)為無(wú)線通信和NAND FLASH控制單元檢錯(cuò)糾錯(cuò)。所用NAND FLASH控制器包括相連接的控制單元和ECC模塊,控制單元和 ECC模塊之間通過(guò)接口連接??刂茊卧獙⑾到y(tǒng)總線的操作請(qǐng)求轉(zhuǎn)換成NAND FLASH的時(shí)序要求,實(shí)現(xiàn)對(duì)NAND FLASH的控制作用。控制單元主要包括寄存器控制文件模塊、訪問(wèn)周期選擇模塊、控制器的控制模塊、數(shù)據(jù)緩存模塊、ECC控制模塊和FLASH多路選擇器。ECC模塊設(shè)有接口,與系統(tǒng)總線物理連接,具有直接對(duì)系統(tǒng)總線進(jìn)行檢錯(cuò)糾錯(cuò)的功能。同時(shí),ECC模塊具有對(duì)控制單元數(shù)據(jù)進(jìn)行檢錯(cuò)糾錯(cuò)的功能。ECC模塊內(nèi)設(shè)有兩個(gè)編解碼算法通道,兩個(gè)通道互不干擾。ECC模塊包括輸入接口、輸出接口、設(shè)置在輸入接口和輸出接口之間的編解碼算法通道、以及控制輸入接口和輸出接口的控制邏輯。編解碼算法通道包括第一通道RS (511,503)和第二通道RS (511,495),第一通道RS (511,503)和第二通道 RS (511,495)互不干擾。如圖5所示,ECC模塊上有兩個(gè)接口,通過(guò)控制邏輯單元選擇這兩個(gè)接口。根據(jù) NNAD FLASH和總線接口的控制選擇不同的RS編解碼硬件模塊實(shí)現(xiàn),最后通過(guò)控制邏輯的選擇輸出。ECC模塊是一個(gè)硬件結(jié)構(gòu)。輸入接口可以做選擇,是從NAND FLASH控制器來(lái)的控制信號(hào),還是從總線來(lái)的數(shù)據(jù)和配置寄存器的具體的數(shù)據(jù)。本實(shí)施例中使用的RS編解碼器基本原理就是每當(dāng)往NAND FLASH的page中寫(xiě)入數(shù)據(jù)的時(shí)候,每503/495字節(jié)我們生成一個(gè)ECC校驗(yàn)和,稱之為原ECC校驗(yàn)和,保存到PAGE 的OOB (out-of-band)數(shù)據(jù)區(qū)中。當(dāng)從NAND FLASH中讀取數(shù)據(jù)的時(shí)候,每503/495字節(jié)我們生成一個(gè)ECC校驗(yàn)和,稱之為新ECC校驗(yàn)和。校驗(yàn)的時(shí)候,根據(jù)上述ECC模塊生成原理不難推斷將從OOB區(qū)中讀出的原ECC校驗(yàn)和新ECC校驗(yàn)和按位異或,若結(jié)果為0,則表示不存在錯(cuò)(或是出現(xiàn)了 ECC無(wú)法檢測(cè)的錯(cuò)誤),即為邏輯輸出結(jié)果。通過(guò)NAND FLASH控制器的選擇和總線配置ECC模塊的選擇,選擇它選用哪種編解碼方式(RS(511,50;3),RS(511,4%))。以上是輸入接口的作用,將進(jìn)來(lái)的數(shù)據(jù),送入不同的編解碼,再經(jīng)過(guò)編解碼之后的數(shù)據(jù)輸入到輸出控制模塊控制分別輸出到NAND FLASH控制器和系統(tǒng)總線上。NAND FLASH控制器同時(shí)為系統(tǒng)總線和NAND FLASH控制單元檢錯(cuò)糾錯(cuò)的具體步驟如下信號(hào)源數(shù)據(jù)進(jìn)入第一系統(tǒng)總線,第一系統(tǒng)總線中的操作請(qǐng)求數(shù)據(jù)進(jìn)入第一 NAND FLASH控制器,為第一 ECC模塊的糾錯(cuò)檢錯(cuò)做準(zhǔn)備工作;第一 ECC模塊得到第一系統(tǒng)總線上的信號(hào)源數(shù)據(jù),對(duì)該信號(hào)源數(shù)據(jù)進(jìn)行編碼,第一 ECC模塊將編碼后得到的數(shù)據(jù)放到第一系統(tǒng)總線上;
第一 ECC模塊得到第一 NAND FLASH控制器中的操作請(qǐng)求數(shù)據(jù)并對(duì)其進(jìn)行編碼,將編碼后數(shù)據(jù)傳輸回NAND FLASH控制器;發(fā)射設(shè)備將第一系統(tǒng)總線上編碼的數(shù)據(jù)發(fā)射到無(wú)線空間中;接收設(shè)備將無(wú)線空間中的數(shù)據(jù)接收后放入第二系統(tǒng)總線上,第二系統(tǒng)總線中的操作請(qǐng)求數(shù)據(jù)進(jìn)入第二 NAND FLASH控制器;第二 ECC模塊得到第二系統(tǒng)總線上的信號(hào)源數(shù)據(jù),對(duì)該信號(hào)源數(shù)據(jù)進(jìn)行解碼,第二 ECC模塊將解碼后得到的數(shù)據(jù)放到第二系統(tǒng)總線上;第二 ECC模塊得到第二 NAND FLASH控制器中的操作請(qǐng)求數(shù)據(jù)并對(duì)其進(jìn)行解碼,將解碼后數(shù)據(jù)傳輸回NAND FLASH控制器;至此完成無(wú)線通信的檢錯(cuò)糾錯(cuò)。使用本實(shí)施例的方法,ECC模塊同時(shí)為無(wú)線通信和NAND FLASH控制器檢錯(cuò)糾錯(cuò), 既提高了無(wú)線傳輸?shù)目垢蓴_性,又保留了現(xiàn)有ECC模塊為NAND FLASH控制器檢錯(cuò)糾錯(cuò)的功能。整體的功能更加強(qiáng)大,適用范圍更廣,性能更加良好。以上,僅為本發(fā)明的較佳實(shí)施例,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求所界定的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種系統(tǒng)總線檢錯(cuò)糾錯(cuò)方法,其特征在于,所述方法為系統(tǒng)總線與ECC模塊連接, ECC模塊在系統(tǒng)總線控制下對(duì)系統(tǒng)總線中信號(hào)數(shù)據(jù)進(jìn)行數(shù)據(jù)處理;所述方法包括下述步驟信號(hào)源數(shù)據(jù)進(jìn)入系統(tǒng)總線;ECC模塊得到系統(tǒng)總線上的信號(hào)源數(shù)據(jù)并對(duì)所述信號(hào)源數(shù)據(jù)進(jìn)行編碼和/或解碼;ECC模塊將編碼和/或解碼后得到的數(shù)據(jù)放到系統(tǒng)總線上。
2.根據(jù)權(quán)利要求1所述的系統(tǒng)總線檢錯(cuò)糾錯(cuò)方法,其特征在于,所述ECC模塊還連接 NAND FLASH控制器,所述NAND FLASH控制器還連接系統(tǒng)總線;ECC模塊在系統(tǒng)總線控制下對(duì)系統(tǒng)總線中信號(hào)數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,還對(duì)NAND FLASH控制器中信號(hào)數(shù)據(jù)進(jìn)行數(shù)據(jù)處理; 所述方法包括下述步驟信號(hào)源數(shù)據(jù)進(jìn)入系統(tǒng)總線,系統(tǒng)總線中的操作請(qǐng)求數(shù)據(jù)進(jìn)入NAND FLASH控制器;ECC 模塊得到系統(tǒng)總線上的信號(hào)源數(shù)據(jù)并對(duì)其進(jìn)行編碼和/或解碼,將編碼和/或解碼后所得數(shù)據(jù)放到系統(tǒng)總線上;以及,ECC模塊得到NAND FLASH控制器中的操作請(qǐng)求數(shù)據(jù)并對(duì)其進(jìn)行編碼和/或解碼, 將編碼和/或解碼后數(shù)據(jù)傳輸回NAND FLASH控制器。
3.根據(jù)權(quán)利要求2所述的系統(tǒng)總線檢錯(cuò)糾錯(cuò)方法,其特征在于所述ECC模塊應(yīng)用不同的通道分別對(duì)系統(tǒng)總線和NAND FLASH控制器進(jìn)行編碼和/或解碼。
4.一種NAND FLASH控制器,所述控制器包括相連接的控制單元和ECC模塊,控制單元將系統(tǒng)總線的操作請(qǐng)求轉(zhuǎn)換成NAND FLASH的時(shí)序要求,其特征在于所述ECC模塊還設(shè)有能與系統(tǒng)總線物理連接的接口 ;其中,ECC模塊,接受控制單元和/或系統(tǒng)總線的控制對(duì)數(shù)據(jù)進(jìn)行檢錯(cuò)糾錯(cuò)。
5.根據(jù)權(quán)利要求4所述的NANDFLASH控制器,其特征在于,所述控制單元包括寄存器控制文件模塊、訪問(wèn)周期選擇模塊、控制器的控制模塊、數(shù)據(jù)緩存模塊、ECC控制模塊、以及FLASH多路選擇器;寄存器控制文件模塊,連接系統(tǒng)總線,通過(guò)系統(tǒng)總線配置所有被系統(tǒng)總線訪問(wèn)的控制寄存器;訪問(wèn)周期選擇模塊,作為可編程的分頻器為NAND FLASH讀寫(xiě)產(chǎn)生一個(gè)訪問(wèn)時(shí)鐘周期;控制器的控制模塊,將系統(tǒng)總線的請(qǐng)求轉(zhuǎn)換成NAND FLASH設(shè)備的訪問(wèn)時(shí)序;數(shù)據(jù)緩存模塊,為NAND FLASH讀/寫(xiě)操作數(shù)據(jù)緩存;ECC控制模塊,在其內(nèi)部提供ECC算法,為ECC模塊提供接口并為所述ECC模塊發(fā)起控制信號(hào);FLASH多路選擇器,將寄存器控制文件模塊、數(shù)據(jù)緩存模塊和ECC控制模塊連接至NAND FLASH。
6.根據(jù)權(quán)利要求5所述的NANDFLASH控制器,其特征在于,所述控制器的控制模塊采用狀態(tài)機(jī)的設(shè)計(jì),所述狀態(tài)機(jī)分為七個(gè)狀態(tài)空閑狀態(tài)、寫(xiě)命令狀態(tài)、寫(xiě)地址狀態(tài)、寫(xiě)數(shù)據(jù)狀態(tài)、等待狀態(tài)、Flash忙狀態(tài)和讀Flash狀態(tài)。
7.根據(jù)權(quán)利要求5所述的NANDFLASH控制器,其特征在于,所述NANDFLASH設(shè)備的訪問(wèn)時(shí)序包括命令鎖存周期、地址鎖存周期、數(shù)據(jù)讀/寫(xiě)周期、以及數(shù)據(jù)擦除周期中的至少一種。
8.根據(jù)權(quán)利要求5所述的NANDFLASH控制器,其特征在于,所述數(shù)據(jù)緩存模塊上設(shè)有系統(tǒng)總線接口,接受系統(tǒng)總線的訪問(wèn);所述數(shù)據(jù)緩存模塊上還設(shè)有NAND FLASH控制器接口,接受NAND FLASH控制器的訪問(wèn)。
9.根據(jù)權(quán)利要求4所述的NANDFLASH控制器,其特征在于所述ECC模塊內(nèi)設(shè)有兩個(gè)編解碼算法通道,所述兩個(gè)通道互不干擾。
10.根據(jù)權(quán)利要求4所述的NANDFLASH控制器,其特征在于所述ECC模塊包括輸入接口、輸出接口、設(shè)置在所述輸入接口和輸出接口之間的編解碼算法通道、以及控制所述輸入接口和輸出接口的控制邏輯;所述編解碼算法通道包括第一通道和第二通道,第一通道和第二通道互不干擾。
全文摘要
本發(fā)明公開(kāi)一種系統(tǒng)總線檢錯(cuò)糾錯(cuò)方法,該方法為系統(tǒng)總線與ECC模塊連接,ECC模塊在系統(tǒng)總線控制下對(duì)系統(tǒng)總線中信號(hào)數(shù)據(jù)進(jìn)行數(shù)據(jù)處理。包括下述步驟信號(hào)源數(shù)據(jù)進(jìn)入系統(tǒng)總線;ECC模塊得到系統(tǒng)總線上的信號(hào)源數(shù)據(jù)并對(duì)其進(jìn)行編碼和/或解碼,將所得數(shù)據(jù)放到系統(tǒng)總線上。本發(fā)明公開(kāi)一種NANDFLASH控制器,包括將系統(tǒng)總線操作請(qǐng)求轉(zhuǎn)換成NAND FLASH時(shí)序要求的控制單元和對(duì)數(shù)據(jù)進(jìn)行檢錯(cuò)糾錯(cuò)的ECC模塊,ECC模塊還設(shè)有能與系統(tǒng)總線物理連接的接口。ECC模塊包括輸入接口、輸出接口、設(shè)置在輸入接口和輸出接口之間的兩個(gè)互不干擾的編解碼算法通道、以及控制輸入接口和輸出接口的控制邏輯。
文檔編號(hào)G11C29/42GK102568605SQ201110438659
公開(kāi)日2012年7月11日 申請(qǐng)日期2011年12月23日 優(yōu)先權(quán)日2011年12月23日
發(fā)明者王洋 申請(qǐng)人:青島海信信芯科技有限公司