一種時序控制方法及nand flash控制器的制造方法
【專利摘要】本發(fā)明公開了一種時序控制方法及NAND?FLASH控制器,涉及存儲器控制領(lǐng)域,該NAND?FLASH控制器包括至少一層狀態(tài)機(jī),狀態(tài)機(jī)包括至少一個操作模塊和至少一個時序控制模塊,時序控制模塊與操作模塊的啟動端或終止端相連;時序控制模塊用于設(shè)置延時時長并完成等待;操作模塊根據(jù)所述狀態(tài)機(jī)發(fā)出的相應(yīng)指令進(jìn)行操作。本發(fā)明用于滿足不同NAND?FLASH的時序要求,提高NAND?FLASH的讀寫速度。
【專利說明】—種時序控制方法及NAND FLASH控制器
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及存儲器控制領(lǐng)域,特別涉及一種時序控制方法及NAND FLASH控制器?!颈尘凹夹g(shù)】
[0002]NAND型快閃存儲器(NAND FLASH)具有容量較大,改寫速度快等優(yōu)點,適用于大量數(shù)據(jù)的存儲,因而得到了越來越廣泛的應(yīng)用,如嵌入式產(chǎn)品中包括數(shù)碼相機(jī)、便攜式多媒體設(shè)備、U盤等。NAND FLASH通過NAND FLASH控制器寫入、讀取數(shù)據(jù)。NAND FLASH控制器向NAND FLASH發(fā)送命令、地址以及收發(fā)數(shù)據(jù)等操作,需要通過狀態(tài)機(jī)來完成。
[0003]狀態(tài)機(jī)的工作流程由附圖1所示。需特別說明的是,所有狀態(tài)機(jī)流程圖中的過程環(huán)節(jié)是可選的。現(xiàn)有的NAND FLASH控制器中的底層狀態(tài)機(jī)流程如下:
[0004]步驟101:開始發(fā)送命令。
[0005]步驟102:開始發(fā)送地址。
[0006]步驟103:判斷是否繼續(xù)發(fā)送地址。當(dāng)判斷結(jié)果為是時,轉(zhuǎn)到步驟102,當(dāng)判斷結(jié)果為否時,轉(zhuǎn)到步驟104。
[0007]步驟104:判斷是否等待忙/閑就緒。當(dāng)判斷結(jié)果為是時,轉(zhuǎn)到步驟105,當(dāng)判斷結(jié)果為否時,轉(zhuǎn)到步驟106。
[0008]步驟105:等待忙/閑就緒。
[0009]步驟106:發(fā)送/接收地址。
[0010]步驟107:結(jié)束。
[0011]現(xiàn)有技術(shù)中,狀態(tài)機(jī)完成發(fā)送命令、地址和數(shù)據(jù)等環(huán)節(jié)的時間間隔是固定的,一旦設(shè)定則無法調(diào)整?,F(xiàn)在市面上量產(chǎn)的NAND FLASH的時序基本都是以絕對時間(單位為納秒,ns)為單位的最小延時。這些時序需求的特點是:1、每款NAND FLASH的最小時序需求可能會有幾十種之多;2、這些時序需求與設(shè)備工作頻率無關(guān),這些時序是固定的;3、對于同一個時序需求,不同的NAND FLASH之間差異很大,從幾十納秒到幾百納秒不等。
[0012]為解決不同的NAND FLAH的時序要求,現(xiàn)有技術(shù)是在參考所有NAND FLASH時序需求后給出一個寬松的值,并轉(zhuǎn)化為固定的周期數(shù)固定在控制器內(nèi)部等待。比如用tADL表述最后一個地址到第一個數(shù)據(jù)的等待時間,現(xiàn)有的NAND FLASH設(shè)備的tADL范圍是45納秒到300納秒之間。為了兼容所有的NAND FLASH設(shè)備,那么NAND FLASH控制器的tADL應(yīng)該在300納秒以上。按照目前NAND FLASH控制器的最大工作頻率50MHz計算,NAND FLASH控制器在狀態(tài)機(jī)發(fā)送最后一個地址后,要等待15個周期以上?,F(xiàn)有技術(shù)是在tADL處插入一個固定的寬松的周期(比如16個周期或者32個周期)。
[0013]現(xiàn)有技術(shù)的缺點是:1、如果NAND FLASH控制器的工作頻率仍為50MHz,而有的NAND FLASH設(shè)備的tADL很小,則等待時間過長,影響NAND FLASH設(shè)備讀寫速度;2、如果有新的NAND FLASH設(shè)備的tADL時序超過固定的等待周期,則只能通過降低NAND FLASH控制器工作頻率來兼容NAND FLASH設(shè)備,影響了 NAND FLASH設(shè)備的讀寫速度;3,如果有更快的NAND FLASH設(shè)備,由于存在時序瓶頸,NAND FLASH控制器的工作頻率無法提高。
【發(fā)明內(nèi)容】
[0014]本發(fā)明的目的是解決現(xiàn)有的NAND FLASH控制器的時序控制方法無法同時兼顧NAND FLASH兼容性和速度。
[0015]為實現(xiàn)本發(fā)明的目的,本發(fā)明實施例提供一種時序控制方法,所述方法應(yīng)用于NAND FLASH控制器,所述NAND FLASH控制器包括至少一層狀態(tài)機(jī),所述方法包括以下步驟:在相應(yīng)操作指令之前設(shè)置延時時長;進(jìn)行等待;在等待結(jié)束之后,進(jìn)行相應(yīng)的操作。
[0016]本發(fā)明實施例還提供一種NAND FLASH控制器,所述NAND FLASH控制器包括至少一層狀態(tài)機(jī),所述狀態(tài)機(jī)包括至少一個操作模塊、至少一個時序控制模塊,時序控制模塊與操作模塊的啟動端或終止端相連,每相鄰兩個操作模塊之間只有一個時序控制模塊;操作模塊用于根據(jù)狀態(tài)機(jī)發(fā)出的相應(yīng)指令進(jìn)行操作;時序控制模塊用于設(shè)置延時時長并完成等待。
[0017]按照本發(fā)明實施例提供的方法,解決了現(xiàn)有的NAND FLASH控制器的時序控制方法無法調(diào)整時序,本發(fā)明實施例提供的方法對大多數(shù)NAND FLASH的兼容性有了很大改善,也減少了部分NAND FLASH等待時間,提高了 NAND FLASH的速度。
[0018]按照本發(fā)明實施例提供的裝置,解決了現(xiàn)有的NAND FLASH控制器無法調(diào)整時序,本發(fā)明實施例提供的裝置對大多數(shù)NAND FLASH的兼容性有了很大改善,也減少了部分NANDFLASH等待時間,提高了 NAND FLASH的速度。
【專利附圖】
【附圖說明】
[0019]圖1為現(xiàn)有的NAND FLASH控制器中的底層狀態(tài)機(jī)流程圖;
[0020]圖2為本發(fā)明實施例提供的NAND FLASH控制器的時序控制方法流程圖;
[0021]圖3為本發(fā)明實施例提供的NAND FLASH控制器的時序控制方法的詳細(xì)流程圖;
[0022]圖4為現(xiàn)有的NAND FLASH控制器結(jié)構(gòu)示意圖;
[0023]圖5為本發(fā)明實施例提供的NAND FLASH控制器結(jié)構(gòu)示意圖;
[0024]圖6為本發(fā)明實施例提供的優(yōu)選NAND FLASH控制器結(jié)構(gòu)示意圖;
[0025]圖7為本發(fā)明實施例提供的NAND FLASH控制器中時序控制模塊結(jié)構(gòu)示意圖;
[0026]圖8為本發(fā)明實施例提供的NAND FLASH控制器中時序控制模塊中等待單元的結(jié)構(gòu)圖。
【具體實施方式】
[0027]下面將結(jié)合各個附圖對本發(fā)明實施例技術(shù)方案的主要實現(xiàn)原理、【具體實施方式】及其對應(yīng)能夠達(dá)到的有益效果進(jìn)行詳細(xì)地闡述。
[0028]實施例一
[0029]本發(fā)明實施例一這里提出一種時序控制方法。如圖2所示,具體過程如下述:
[0030]步驟S201,在相應(yīng)操作之前設(shè)置延時時長。
[0031]其中,NAND FLASH發(fā)送命令、地址、數(shù)據(jù)等操作都是由狀態(tài)機(jī)實現(xiàn)的,在進(jìn)行完一個操作之后,根據(jù)狀態(tài)機(jī)發(fā)出的命令進(jìn)入下一個操作,本發(fā)明實施例一在進(jìn)行相應(yīng)的操作之前,增加設(shè)置延時時長。[0032]步驟S202,進(jìn)行等待;
[0033]其中,等待期間,NAND FLASH控制器無法發(fā)出相應(yīng)的操作指令。
[0034]步驟S203,在等待結(jié)束之后,進(jìn)行相應(yīng)的操作。
[0035]等待的時長為設(shè)置的延時時長,等待結(jié)束之后,NAND FLASH設(shè)備根據(jù)狀態(tài)機(jī)發(fā)出的相應(yīng)操作指令進(jìn)行相應(yīng)的操作。
[0036]具體的,所述相應(yīng)操作為發(fā)送命令、發(fā)送地址、發(fā)送接收數(shù)據(jù)、等待忙閑就緒的一種或幾種。
[0037]具體的,所述設(shè)置的延時時長以周期數(shù)表示。
[0038]具體的,所述周期數(shù)的值為O或2的指數(shù)。
[0039]具體的,所述設(shè)置延時時長可以一次性配置
[0040]下面結(jié)合附圖3,對本發(fā)明實施例提供的NAND FLASH控制器的時序控制方法做更進(jìn)一步的描述:
[0041 ] 步驟S301,進(jìn)入發(fā)送命令前等待。
[0042]步驟S302,等待結(jié)束以后,開始發(fā)送命令。
[0043]步驟S303,進(jìn)入發(fā)送命令和發(fā)送地址之間等待。
[0044]步驟S304,等待結(jié)束之后,開始發(fā)送地址。
[0045]步驟S305,進(jìn)入發(fā)送多地址之間等待。
[0046]步驟S306,判斷是否需繼續(xù)發(fā)送地址。如果是,轉(zhuǎn)步驟S304 ;否則轉(zhuǎn)步驟S307。
[0047]步驟S307,判斷是否需等待忙/閑就緒。如果是,轉(zhuǎn)步驟S308 ;否則轉(zhuǎn)步驟S309。
[0048]步驟S308,等待忙/閑就緒。
[0049]步驟S309,進(jìn)入發(fā)送/接收數(shù)據(jù)前等待。
[0050]步驟S310,等待結(jié)束后,開始發(fā)送或接收數(shù)據(jù)。
[0051]步驟S311,進(jìn)入發(fā)送/接收數(shù)據(jù)后等待。
[0052]實施例二
[0053]本發(fā)明實施例二這里提出一種NAND FLASH控制器,其結(jié)構(gòu)如下述:
[0054]所述NAND FLASH控制器包括至少一層狀態(tài)機(jī),所述狀態(tài)機(jī)包括至少一個操作模塊
1、至少一個時序控制模塊2,時序控制模塊2與操作模塊I的啟動端或終止端相連,每相鄰兩個操作模塊I之間只有一個時序控制模塊2 ;時序控制模塊2用于設(shè)置延時時長并完成等待;操作模塊I用于根據(jù)狀態(tài)機(jī)發(fā)出的相應(yīng)指令進(jìn)行操作。
[0055]具體的,當(dāng)時序控制模塊2在兩個操作模塊I之間時,時序控制模塊2 —端與前一個操作模塊I的終止端相連,另一端與后一個操作模塊I的啟動端相連。
[0056]具體的,如圖6所示,所述操作模塊I包括命令操作模塊11、地址操作模塊12、讀寫判斷模塊13、數(shù)據(jù)操作模塊14的一種或幾種;所述命令操作模塊11用于發(fā)送命令;所述地址操作模12塊用于發(fā)送地址;所述讀寫判斷模塊13用于判斷等待忙閑就緒;所述數(shù)據(jù)操作模塊14用于發(fā)送或接收數(shù)據(jù)。
[0057]具體的,所述時序控制模塊2設(shè)置的延時時長以周期數(shù)表示。
[0058]具體的,所述周期數(shù)為O或2的指數(shù)。
[0059]具體的,所述時序控制模塊2包括配置單元21和等待單元22 ;所述配置單元21用于為所述時序控制模塊I設(shè)置延時時長;所述等待單元22用于依據(jù)所述配置單元21設(shè)置的延時時長完成等待。
[0060]具體的,所述等待單元22包括時加法器221、觸發(fā)器222、比較器223、反相器224 ;所述加法器221用于接收所述觸發(fā)器輸入的值并累加設(shè)定值,輸出給所述觸發(fā)器;所述觸發(fā)器222用于根據(jù)所述時鐘信號將所述加法器221輸入的值輸出給所述加法器221和所述比較器223 ;所述比較器223,用于將所述配置單元21輸入的延時時長與所述觸發(fā)器222輸入的值進(jìn)行比較,當(dāng)所述觸發(fā)器222輸入的值等于所述延時時長時,輸出延時完成信號以觸發(fā)所述操作模塊I,并使所述觸發(fā)器222停止工作;所述反相器224,用于將接收的操作模塊I輸入的信號反相后輸出給所述觸發(fā)器222。
[0061]下面結(jié)合附圖4、5、6、7、8,對本發(fā)明實施例提供的NAND FLASH控制器做更進(jìn)一步的描述:
[0062]現(xiàn)有技術(shù)中,如圖4所示,狀態(tài)機(jī)發(fā)出相應(yīng)的操作指令都是由相應(yīng)的操作模塊I完成的,一個狀態(tài)機(jī)可能有多個操作模塊1,所述多個操作模塊I可以稱為操作模塊1A、操作模塊1B、操作模塊1C,并以此類推。操作模塊1A、操作模塊1B、操作模塊IC可以是相同的操作模塊I (比如都是數(shù)據(jù)操作模塊),也可以是不同的操作模塊I (比如是數(shù)據(jù)操作模塊和地址操作模塊)。
[0063]如圖5、6所示,本發(fā)明實施例提供的裝置包括的時序控制模塊2可以是一個,也可以是多個。當(dāng)所述裝置包括的時序控制模塊2有多個時,多個時序控制模塊2可以稱為時序控制模塊2A、時序控制模塊2B、時序控制模塊2C,并以此類推。
[0064]如圖6所示,時序控制模塊2A設(shè)定延時時長,并完成相應(yīng)的等待,命令操作模塊11發(fā)出命令;時序控制模塊2B設(shè)定延時時長,并完成相應(yīng)的等待,地址操作模塊12進(jìn)行地址操作,該地址可以是一個,也可以是多個地址,多個地址操作模塊12之間可以插入時序控制模塊2B ;時序控制模塊2C設(shè)定延時時長,讀寫判斷模塊13進(jìn)行讀寫判斷,用于判斷等待忙閑就緒;時序控制模塊2D設(shè)定延時時長,數(shù)據(jù)操作模塊14進(jìn)行數(shù)據(jù)讀寫。時序控制模塊2的配置情況可以如下:
[0065]對于異步NAND FLASH和高速Toggle NAND FLASH時,在命令操作模塊11之前的時序控制模塊2配置的延時時長可以為零;
[0066]對于異步NAND FLASH,命令操作模塊11和地址操作模塊12之間的時序控制模塊2可以配置為零;
[0067]對于異步NAND FLASH和高速Toggle NAND FLASH時,在多個地址操作模塊12之間的時序控制模塊2配置的延時時長可以為零;
[0068]對于異步NAND FLASH和高速Toggle NAND FLASH時,在數(shù)據(jù)操作模塊14之后的時序控制模塊2配置的延時時長可以為零。
[0069]因為NAND FLASH控制器需要適用于各種不同的NAND FLASH,因此在設(shè)置各種延時時長時需綜合考慮各種NAND FLASH的需求。例如,可配置的延時時長都可以為0,以兼容頻率較低的狀態(tài)機(jī)結(jié)構(gòu)。不會影響頻率較低的NAND FLASH的時序,不會因為狀態(tài)機(jī)空跑而損失時間。針對每種延時時長,可配置的延時時長最大值可以依據(jù)目前所有的NAND FLASH相應(yīng)時序的最壞情況來設(shè)計,即可以按照目前所有NAND FLASH所需的延時時長中的最大延時時長來設(shè)計,比如,工作頻率可以按照目前最快的200Mhz的工作頻率來計算,以保證能有一定的裕量??膳渲玫牡却芷诳梢越y(tǒng)一設(shè)計成2的指數(shù)倍(1、2、4、8、16.......),這樣可以簡化電路結(jié)構(gòu)。在實際應(yīng)用中也較為方便,可以在NAND FLASH控制器開始工作之前配置好所述時序控制模塊2的延時時長,之后該NAND FLASH控制器在進(jìn)行所有的操作時可以不用再分別配置,省略操作步驟。
[0070]圖7為所述NAND FLASH控制器中時序控制模塊2的結(jié)構(gòu)示意圖,時序控制模塊2包括配置單元21和等待單元22,配置單元21可以設(shè)置延時等待時間,等待單元22可以根據(jù)設(shè)置的延時時長完成等待。
[0071]圖8為所述NAND FLASH控制器中時序控制模塊2中的等待單元22的結(jié)構(gòu)圖。等待單元22包括加法器221、觸發(fā)器222、比較器223和反相器224。其中,本發(fā)明實施例所保護(hù)的等待單元22不限于該具體實施例的結(jié)構(gòu),所有與本發(fā)明實施例的思想相類似的電路結(jié)構(gòu)也在本發(fā)明的保護(hù)范圍之內(nèi)。
[0072]加法器221用于接受所述觸發(fā)器222輸出的值并累加設(shè)定值后輸出給所述觸發(fā)器222。當(dāng)有時鐘信號到來時,可以是指時鐘信號的上升沿到來時,觸發(fā)器222向加法器221輸入一個值,該值為上一個時鐘信號到來時加法器221輸出給觸發(fā)器222的值,加法器221將該值進(jìn)行累加,可以累加一個設(shè)定值,例如,該設(shè)定值可以是1,即C = A+1。加法器221的輸入端(即圖8中的A端與觸發(fā)器222的輸出端(即圖8中的Q端)相連,輸出端(即圖8中的C端)與觸發(fā)器222的信號輸入端(即圖8中的D端)相連。例如,加法器221的A端接口可以是并行的數(shù)據(jù)線,根據(jù)數(shù)據(jù)線的數(shù)目來決定加法器221接收的值,同樣,加法器221的C端、觸發(fā)器222的Q端及D端接口也可以是并行的數(shù)據(jù)線,A端、、C端、D端及Q端所用的數(shù)據(jù)線的數(shù)目相等。
[0073]觸發(fā)器222用于根據(jù)時鐘信號將所述加法器221輸入的值輸出給所述加法器221和所述比較器223。
[0074]加法器221將接收的觸發(fā)器222輸入的值加1,即C = A+1,有時鐘信號帶來時,C的結(jié)果就會從觸發(fā)器222的輸出端Q端輸出。如此,每到來一個時鐘信號,到來的時鐘信號可以是指時鐘信號的上升沿,觸發(fā)器222將上次接收的加法器221輸出的值輸出給比較器223及加法器221,加法器221接收到該值后將該值加1,再輸出給觸發(fā)器222。觸發(fā)器222的時鐘信號端(即圖8中的CLK端)與所述時鐘信號產(chǎn)生模塊的時鐘信號輸出端相連,該時鐘信號與所述狀態(tài)機(jī)的時鐘信號是同一時鐘信號。觸發(fā)器222的輸出端與比較器223的第一輸入端(即圖8中的Y端)相連。觸發(fā)器222的異步復(fù)位端(即圖8中的RST端)與反相器224的輸出端相連,觸發(fā)器222的使能端(即圖8中的ENA端)與比較器223的第二輸出端(即圖8中的GE端)相連。
[0075]當(dāng)RST輸入為低電平時,觸發(fā)器222的Q端輸出為0,RST端輸入為高電平時,觸發(fā)器222才會工作。ENA為高電平,及RST端為高電平,觸發(fā)器222正常工作,當(dāng)ENA為低電平,及RST端為高電平,觸發(fā)器222停止工作,其Q端會保持原來的數(shù)據(jù)不變,即,直到觸發(fā)器222重新開始工作時自動復(fù)位清零。
[0076]比較器223用于將所述配置單元21輸入的延時時長與所述觸發(fā)器222輸入的值進(jìn)行比較,當(dāng)所述觸發(fā)器222輸入的值等于所述延時時長時,輸出延時完成信號以觸發(fā)所述操作模塊,并使所述觸發(fā)器222進(jìn)行清零操作。比較器223的第二輸入端(即圖8中的X端)與所述配置單元21相連,該配置單元21用于為不同的時序控制模塊2設(shè)置延時時長。每到來一個時鐘信號,則D觸發(fā)器將接收的加法器221輸入的值送入比較器223。當(dāng)經(jīng)過N個時鐘周期后,比較器223的Y端接收的值與X端已配置的值相等,使比較器223輸出延時完成信號,例如,在Y端的值小于X端的值時,比較器223的E端可以輸出低電平信號,當(dāng)Y端的值等于X端的值時,比較器223的E端可以輸出高電平信號,即,該延時完成信號可以是E = I的高電平信號。當(dāng)X端數(shù)據(jù)大于等于Y端數(shù)據(jù)時,GE端可以輸出第二控制信號,例如該第二控制信號為高電平信號,當(dāng)X端數(shù)據(jù)小于Y端數(shù)據(jù)時,GE端可以輸出第一控制信號,例如該第一控制信號為低電平信號。
[0077]比較器223的第一輸出端(即圖8中的E端)與相應(yīng)操作模塊I啟動端或結(jié)束端相連。若比較器223與某操作模塊I的啟動端相連,則當(dāng)比較器223輸出延時完成信號時,該操作模塊I根據(jù)該延時完成信號開始啟動相應(yīng)操作。如果比較器223與操作模塊I的結(jié)束端相連,則當(dāng)比較器223輸出延時完成信號時,狀態(tài)機(jī)結(jié)束整個操作過程。
[0078]當(dāng)比較器223輸出一個延時完成信號時,表不時序控制模塊2 —次操作完畢,加法器221、觸發(fā)器222及比較器223保持當(dāng)前狀態(tài)不變。當(dāng)再次打開該時序控制模塊2時,力口法器221、觸發(fā)器222及比較器223可以自動清零,開始重新累加。
[0079]反相器224用于將接收的操作模塊I輸入的信號反相后輸出給所述觸發(fā)器222。反相器224的輸入端與相應(yīng)操作模塊I相連。
[0080]所述操作模塊I在操作完成時,可以輸出一個脈沖給反相器224,例如可以輸入高電平脈沖,反相器224將這個高電平脈沖反相后變?yōu)橐粋€低電平脈沖,輸出給觸發(fā)器222作為對觸發(fā)器222的復(fù)位信號。即,當(dāng)命令操作模塊11,地址操作模塊12,數(shù)據(jù)操作模塊14或讀寫判斷模塊13處理完成,需要進(jìn)行時序延時時,會給等待單元22輸入一個高電平脈沖,作為等待單元22的復(fù)位信號,以啟動等待單元22。以需8周期的延時時長為例。等待單元22啟動時(即操作模塊I向反相器224輸入高電平脈沖信號),觸發(fā)器222的Q端為0,E = O, GE = I,觸發(fā)器222的ENA使能有效,可正常完成累加輸出工作。當(dāng)其Q端累加到8時,E = 1,GE = 1,比較器223的E端向操作模塊I輸出延時完成信號;當(dāng)Q端繼續(xù)累加到9時,E = 0,GE = 0,比較器223輸出延時完成信號結(jié)束(即延時完成信號結(jié)束保持了一個周期的高電平),此時觸發(fā)器222的ENA使能無效,無論再來多少個時鐘信號,觸發(fā)器222的Q端的值會一直保持為9。E = O, GE = O這一狀態(tài)會一直持續(xù),直到下一次需要啟動等待單元22時,Q端才會復(fù)位清零。
[0081]以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)當(dāng)視為本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種時序控制方法,其特征在于,所述方法包括以下步驟: 在相應(yīng)操作指令之前設(shè)置延時時長; 進(jìn)行等待; 在等待結(jié)束之后,進(jìn)行相應(yīng)的操作。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述相應(yīng)操作為發(fā)送命令、發(fā)送地址、發(fā)送接收數(shù)據(jù)、等待忙閑就緒中的一種或幾種。
3.根據(jù)權(quán)利要求1、2任何一項所述的方法,其特征在于,設(shè)置的所述延時時長以周期數(shù)表示。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述周期數(shù)的值為O或2的指數(shù)。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述 設(shè)置延時時長可以一次性配置。
6.一種用于實現(xiàn)權(quán)利要求1所述方法的NAND FLASH控制器,所述NAND FLASH控制器包括至少一層狀態(tài)機(jī),其特征在于,所述狀態(tài)機(jī)包括至少一個操作模塊和至少一個時序控制模塊,時序控制模塊與操作模塊的啟動端或終止端相連; 所述時序控制模塊用于設(shè)置延時時長并完成等待; 所述操作模塊用于根據(jù)所述狀態(tài)機(jī)發(fā)出的相應(yīng)指令進(jìn)行操作。
7.根據(jù)權(quán)利要求6所述的NANDFLASH控制器,其特征在于,每相鄰兩個所述操作模塊之間只有一個時序控制模塊;所述時序控制模塊一端與前一個操作模塊的終止端相連,另一端與后一個操作模塊的啟動端相連。
8.根據(jù)權(quán)利要求6所述的NANDFLASH控制器,其特征在于,所述操作模塊包括命令操作模塊、地址操作模塊、數(shù)據(jù)操作模塊、讀寫判斷模塊中的一種或幾種;其中, 所述命令操作模塊用于發(fā)送命令; 所述地址操作模塊用于發(fā)送地址; 所述數(shù)據(jù)操作模塊用于發(fā)送或接收數(shù)據(jù); 所述讀寫判斷模塊用于判斷等待忙閑就緒。
9.根據(jù)權(quán)利要求6、7、8任何一項所述的NANDFLASH控制器,其特征在于,所述時序控制模塊設(shè)置的所述延時時長以周期數(shù)表示。
10.根據(jù)權(quán)利要求9所述的NANDFLASH控制器,其特征在于,所述周期數(shù)為O或2的指數(shù)。
11.根據(jù)權(quán)利要求6所述的NANDFLASH控制器,其特征在于,所述時序控制模塊包括配置單元和等待單元;所述配置單元用于為所述時序控制模塊設(shè)置延時時長;所述等待單元用于依據(jù)所述配置單元設(shè)置的延時時長完成等待。
12.根據(jù)權(quán)利要求11所述的NANDFLASH控制器,其特征在于,所述等待單元包括加法器、觸發(fā)器、比較器和反相器; 所述加法器用于接收所述觸發(fā)器輸入的值并累加設(shè)定值,輸出給所述觸發(fā)器; 所述觸發(fā)器用于根據(jù)時鐘信號將所述加法器輸入的值輸出給所述加法器和所述比較器; 所述比較器,用于將所述配置單元輸入的延時時長與所述觸發(fā)器輸入的值進(jìn)行比較,當(dāng)所述觸發(fā)器輸入的值等于所述延時時長時,輸出延時完成信號以觸發(fā)所述操作模塊,并使所述觸發(fā)器停止工作;所述反相器,用于將接收的操作模塊輸入的信號反相后輸出給所述觸發(fā)器。
【文檔編號】G06F13/16GK103593312SQ201210287765
【公開日】2014年2月19日 申請日期:2012年8月13日 優(yōu)先權(quán)日:2012年8月13日
【發(fā)明者】阮航, 龐成章, 趙天亮, 唐杰 申請人:炬力集成電路設(shè)計有限公司