專利名稱:控制閃存存取時間的方法、閃存的存取系統(tǒng)及閃存控制器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及閃存的存取技術(shù),特別涉及一種用來存取頁模式閃存的存取系統(tǒng)、控制器及其方法。具體的講是一種控制閃存存取時間的方法、閃存的存取系統(tǒng)及閃存控制器。
背景技術(shù):
現(xiàn)今的市面上,標準閃存的存取時間大約是70-90ns。圖1所示為標準閃存與頁模式(page mode)閃存存取時間的對照表。在標準閃存中存取一個字節(jié)或者一個字符數(shù)據(jù)的存取時間是相同的。如圖1中所示,標準閃存存取任意一個字節(jié)的存取時間tACC都是90ns。即使在同一頁中存取多個字節(jié),對于每一字節(jié)來說,所需的存取時間仍然維持在相同的數(shù)值(90ns)。
為了增強閃存的功能,一些閃存的制造商,如AMD,推出了一種頁模式(page mode)閃存。這種頁模式閃存與前述的標準閃存不同,頁模式閃存可以減少存取同一頁中多個字節(jié)或是多個字符的存取時間。如圖1所示,頁模式閃存存取第一個字節(jié)時與標準閃存相同,都需要90ns的存取時間tACC。但是,當(dāng)頁模式閃存存取同一頁的其它字節(jié)時,頁模式僅僅只需要30ns的存取時間tPACC,很明顯,存取時間tPACC遠低于存取時間tACC。
如圖2所示,圖2為現(xiàn)有閃存存取系統(tǒng)10的功能方塊圖。存取系統(tǒng)10包含有一微處理器12,其與一個標準閃存16連接。傳統(tǒng)的微處理器不能支持不同的存取時間,因此,傳統(tǒng)的微處理器無法使用頁模式閃存。在此請注意,圖2所示的微處理器12可為Intel8032微處理器,微處理器12傳送地址信息至一鎖存器14并且傳送地址和數(shù)據(jù)信息至閃存16。此外,微處理器12會輸出一地址鎖存選通信號(address latch enable signal)ALE將該地址信息鎖存在鎖存器14中,以及輸出一外部程序內(nèi)存讀取選通信號(program strobe enable signal)PSEN從閃存16中讀取數(shù)據(jù)。
圖3所示為圖1所示的閃存存取系統(tǒng)10從標準閃存16中讀取數(shù)據(jù)的時序圖。如圖3所示,閃存存取系統(tǒng)10可以存取閃存16中對應(yīng)同一頁的不同字節(jié)的多個地址Aa、Ab、Ac,但是微處理器12存取這些不同字節(jié)所需要的存取時間tACC都是一樣的。即使將存取得閃存16由標準的閃存換成頁模式閃存,微處理器12仍然無法調(diào)整對應(yīng)同一頁中后續(xù)字節(jié)的存取時間。
發(fā)明內(nèi)容
因此本發(fā)明的主要目的之一在于提供一種閃存的存取系統(tǒng)、一種與集成電路(integrated circuit)內(nèi)部總線耦合連接的閃存控制器,以及一種控制閃存存取時間的方法,以解決現(xiàn)有技術(shù)中的問題。
本發(fā)明提供了一種控制閃存存取時間的方法,其特征在于包含有將存取閃存的目標地址與先前存取閃存的已存取地址比較;如果目標地址與已存取地址不對應(yīng)于閃存的同一頁,則將閃存的存取時間設(shè)定為一第一存取時間;如果目標地址與已存取地址對應(yīng)于閃存的同一頁,則將閃存的存取時間設(shè)定為第二存取時間。第一存取時間大于第二存取時間。
本發(fā)明還提供了一種閃存的存取系統(tǒng),其特征在于包含有一頁地址緩存器,用來儲存先前存取閃存的已存取地址;一頁地址比較器,用來比較存取閃存的目標地址以及儲存在頁地址緩存器中的已存取地址;一時序控制器(timingcontroller),當(dāng)目標地址與已存取地址未對應(yīng)于閃存中同一頁時,將閃存的存取時間設(shè)定為第一存取時間,當(dāng)目標地址與已存取地址對應(yīng)于閃存中同一頁時,將閃存的存取時間設(shè)定為一第二存取時間。第一存取時間大于第二存取時間。
本發(fā)明還提供了一種閃存控制器,閃存控制器與集成電路中內(nèi)部總線耦合連接,閃存控制器包含有一閃存地址產(chǎn)生器;一芯片選通信號產(chǎn)生器;一頁地址緩存器與閃存地址產(chǎn)生器耦合連接,用來儲存先前存取閃存的已存取地址;一頁地址比較器,用來比較存取閃存的目標地址與儲存在頁地址站存器中已存取地址;以及一時序控制器,與芯片選通信號產(chǎn)生器耦合連接,當(dāng)目標地址與已存取地址不對應(yīng)于閃存的同一頁時,將閃存的一存取時間設(shè)定為第一存取時間;當(dāng)目標地址與已存取地址對應(yīng)于閃存的同一頁時,將閃存的存取時間設(shè)定為第二存取時間。第一存取時間大于第二存取時間。
圖1為標準閃存與頁模式閃存的存取時間的對照表;圖2為現(xiàn)有技術(shù)中閃存存取系統(tǒng)的功能方塊圖;圖3為圖1所示的閃存存取系統(tǒng)從標準的閃存中讀取數(shù)據(jù)的時序圖;第4圖為頁模式閃存存取數(shù)據(jù)的時序圖;圖5為本發(fā)明存取一頁模式閃存的存取系統(tǒng)的第一實施例的功能方塊圖;圖6為本發(fā)明實施例選擇一適當(dāng)?shù)拇嫒r間存取頁模式閃存的流程圖;圖7為本發(fā)明閃存存取系統(tǒng)的第二實施例的功能方塊圖;圖8為圖7所示的閃存存取系統(tǒng)的時序圖;圖9為本發(fā)明閃存存取系統(tǒng)的第三實施例的功能方塊圖。
元件符號簡單說明100閃存存取系統(tǒng) 110中央處理器/直接內(nèi)存存取控制器112信號產(chǎn)生電路 120時序控制器122一般存取時序緩存器124頁模式存取時序緩存器140頁地址比較器 150頁模式閃存126初始時序緩存器130頁地址緩存器具體實施方式
圖4為頁模式閃存存取數(shù)據(jù)的時序圖。圖4中,地址Aa、Ab、Ac、Ad與頁模式閃存中的同一頁的多個字節(jié)對應(yīng)。當(dāng)存取地址Aa的第一個字節(jié)時,存取時間為tACC,但是當(dāng)存取地址Ab、Ac以及Ad的字節(jié)時,頁模式閃存需要的存取時間為tPACC。如圖4所示,存取時間tPACC明顯短于存取時間tACC。
圖5為本發(fā)明存取一頁模式閃存(page mood flash memory)150的存取系統(tǒng)100的第一實施例的功能方塊圖。存取系統(tǒng)(access system)100選通(enabling)中央處理器(CPU)或是直接內(nèi)存存取控制器(directly memory access controller,DMA controller)110用于存取頁模式閃存150。中央處理器或者直接內(nèi)存存取控制器110包含有一信號產(chǎn)生電路112,用來產(chǎn)生地址信號和芯片選通信號(chipenable signal,CE)、以及輸出選通信號(output enable signal,OE),并且向頁模式閃存150提供這些信號。針對頁模式閃存150,頁模式閃存先前被存取過的字節(jié)(或字符)對應(yīng)的已存取地址被儲存在一頁地址緩存器(Page Address Register)130中;存取系統(tǒng)100包含有一頁地址比較器(Page Address Comparator)140,用來比較頁模式閃存150現(xiàn)在存取的目標地址與頁地址緩存器130中儲存的已存取地址,頁地址比較器140比較目標地址與已存取地址是否對應(yīng)于頁模式閃存150中的同一頁;如果兩個地址都對應(yīng)于同一頁,則頁地址比較器140會產(chǎn)生一符合(hit)指示信號;而如果兩個地址不對應(yīng)頁模式閃存150的同一頁,則頁地址比較器140不會發(fā)出符合指示信號。
存取系統(tǒng)100包含有一時序控制器(timing controller)120,用來決定CPU/DMA控制器110存取頁模式閃存150的存取時間。時序控制器120包含有一個一般時序緩存器(normal access timing register)122,用來儲存一般存取時間tACC;一頁模式存取時序緩存器124(page access timing register),用來儲存一頁模式存取時間tPACC;以及一初始時序緩存器126(initial timing register),用來儲存一初始存取時間值tINIT。開始時,初始存取時間值tINIT儲存在初始時序緩存器126,且一般存取時序緩存器122與頁模式存取時序緩存器124沒有儲存任何值。一旦頁模式閃存150的時序參數(shù)被決定,一般存取時間tACC設(shè)定并且儲存在一般存取時序緩存器122中,以及頁模式存取時間tPACC設(shè)定并且儲存在頁模式存取時序緩存器124中。
時序控制器120根據(jù)各種因素選擇一適當(dāng)?shù)拇嫒r間值,而這些因素將通過6圖來加以說明。時序控制器120將剛選擇的存取時間值發(fā)送至CPU或DMA控制器100中的信號產(chǎn)生電路112,因此CPU/DMA控制器110可以采用最有效率的方式存取頁模式閃存150。如圖6所示,圖6為本發(fā)明實施例選擇一適當(dāng)?shù)拇嫒r間來存取頁模式閃存150的流程圖。如圖6所示,選擇適當(dāng)?shù)拇嫒r間包含有下列步驟步驟50開始。
步驟52初始化時(initially),CPU或DMA控制器110處于閑置模式;芯片選通信號CE以及輸出選通信號OE處于未激活(inactive)的狀態(tài),使頁模式閃存150保持在準備(standby)模式,以節(jié)省系統(tǒng)電力。
步驟54判斷CPU或DMA控制器110是否開始存取頁模式閃存150;如果是,則執(zhí)行步驟56,若否,則回到步驟52。
步驟56檢查一般存取時間tACC與頁模式存取時間tPACC是否已經(jīng)分別設(shè)定在一般存取時序緩存器122以及頁模式存取時序緩存器124中;如果這兩個存取時間未被設(shè)定,則執(zhí)行步驟58;若這兩個存取時間都已被設(shè)定,則執(zhí)行步驟60。
步驟58時序控制器120將儲存在初始時序緩存器126中的初始存取時間值tINIT輸出至CPU或DMA控制器110。由于不同種類閃存的存取時間不同,因此初始存取時間值tINIT必須為一個夠大的值,才能支持所有的閃存。一般來說,初始存取時間值tINIT大約只要大于200ns就足夠支持所有的閃存。返回步驟54。
步驟60時序控制器120接收信號產(chǎn)生電路112的芯片選通信號CE,并且判斷芯片選通信號CE是否激活(active)。如果芯片選通信號CE已經(jīng)激活,這表示存取系統(tǒng)100連續(xù)存取頁模式閃存150,以及內(nèi)存中與目標地址對應(yīng)于同一頁可能已經(jīng)被存取過。如果芯片選通信號CE激活,則執(zhí)行步驟62;否則,執(zhí)行步驟64。
步驟62頁地址比較器140判斷目標地址與頁地址緩存器130中存儲的已存取地址是否都對應(yīng)于頁模式閃存150的同一頁;即,頁地址比較器140檢查現(xiàn)在存取的地址和先前存取的地址是否都屬于頁模式閃存150的同一頁;如果兩個地址都對應(yīng)同一頁,則執(zhí)行步驟66;否則,執(zhí)行步驟64。
步驟64時序控制器120將一般存取時序緩存器122中存儲的一般存取時間tACC輸出至CPU或DMA控制器110,返回步驟54;以及步驟66時序控制器120將頁模式存取時序緩存器124中存儲的頁模式存取時間tPACC輸出至CPU或DMA控制器110,返回步驟54。
請同時參閱圖7以及圖8。圖7為本發(fā)明閃存存取系統(tǒng)200的第二實施例的示意圖。本實施例中,存取系統(tǒng)200包含有一時鐘控制器210,用來控制一微處理器220的操作時序,以存取一頁模式閃存260。圖8為圖7所示的存取系統(tǒng)200的時序圖。與前一實施例相同,微處理器220可以為Intel8032微處理器,其可以產(chǎn)生一地址信號、一芯片選通信號CE以及一輸出選通信號OE。微處理器220輸出一地址鎖存選通信號ALE,將地址信息鎖存于一鎖存器250,并且輸出一外部程序內(nèi)存讀取選通信號號PSEN,將數(shù)據(jù)傳送至頁模式閃存260。微處理器220并不具有任何等待狀態(tài)(wait state)的控制訊號可以允許微處理器220產(chǎn)生不同的時序參數(shù),因此,時鐘產(chǎn)生器210根據(jù)輸入的時鐘信號產(chǎn)生CPU的時鐘信號。
與上述的存取系統(tǒng)100相似,存取系統(tǒng)200也包含有一頁地址緩存器230以及一頁地址比較器240。頁地址緩存器230儲存先前存取的地址信息,頁地址比較器240通過比較目標地址與頁地址緩存器230中存儲的已存取地址,決定是否為符合(hit)的狀態(tài),如果兩地址都對應(yīng)于頁模式閃存260的同一頁,則頁地址比較器240激活一時鐘選通信號ENCLK;如果兩地址不對應(yīng)于頁模式閃存260的同一頁,則時鐘選通信號ENCLK在一段較長時間中處于未激活的狀態(tài)(如圖8所示),時鐘選通信號ENCLK未激活的時間長度是根據(jù)頁模式閃存260的規(guī)格而定,選擇性激活時鐘選通信號ENCLK會控制存取頁模式閃存260的存取時間以使其等于一般存取時間tACC或是頁模式存取時間tPACC,因此產(chǎn)生的CPU時鐘信號形成的存取時間tACC、tPACC是輸入至?xí)r鐘控制器210的時鐘周期的多倍。此外,依據(jù)內(nèi)存規(guī)格的不同,頁模式存取時間tPACC可以具有與輸入時鐘一樣的周期,或是可以具有更長的周期,就這一點而言,頁模式存取時間tPACC等于kT,其中k為一整數(shù),而T等于輸入時鐘的周期。同樣,當(dāng)產(chǎn)生一般存取時間tACC時,時鐘選通信號ENCLK在n個時鐘周期中并不會激活,其中n也為一整數(shù),并且(n+k)T>tACC>(n+k-1)T,使CPU時鐘具有的存取時間比一般存取時間tACC還長。
如圖9所示為本發(fā)明閃存存取系統(tǒng)300的第三實施例的功能方塊圖。在本實施例中,存取系統(tǒng)300包含有一與一內(nèi)部總線315耦合連接的閃存控制器320。此外,存取系統(tǒng)300另包含有一CPU或DMA控制器310,與內(nèi)部總線315耦合連接,通過內(nèi)部總線315與閃存控制器320進行溝通,閃存控制器320通過內(nèi)部總線315從CPU或DMA控制器310接收閃存存取信息。一般存取時序緩存器122與頁模式存取時序緩存器124分別具有通過內(nèi)部總線315初始化設(shè)定的一般存取時間tACC與頁模式存取時間tPACC。如圖5所示的存取系統(tǒng)100,時序控制器120根據(jù)芯片選通信號CE以及頁地址比較器140提供的符合信息(前述的符合指示信號)等等,以控制頁模式閃存150所需的正確的存取時間tINIT、tACC或是tPACC。CPU或DMA控制器310通過內(nèi)部總線315設(shè)定時序控制器120中的時序緩存器122、124、126。
與現(xiàn)有技術(shù)相比,頁模式閃存存取系統(tǒng)提供了一個存取頁模式閃存的方法以及裝置,使其以更高的速率存取其內(nèi)部數(shù)據(jù)。通過比較目標地址與先前已存取過的地址,存取系統(tǒng)便能決定以一般存取時間或是頁模式存取時間來存取數(shù)據(jù),因此,大大地提升了頁模式閃存的整體效能。
以上所述僅為本發(fā)明的較佳實施例,根據(jù)本發(fā)明權(quán)利要求書所做的同等變化與修飾,都應(yīng)包含在本發(fā)明的的保護范圍中。
權(quán)利要求
1.一種控制閃存存取時間的方法,其特征在于,包含有將存取閃存的目標地址以及先前存取閃存的已存取地址進行比較;如果目標地址與已存取地址不對應(yīng)于閃存的同一頁,將閃存的存取時間設(shè)定為第一存取時間;以及如果目標地址與已存取地址對應(yīng)于閃存的同一頁,將閃存的存取時間設(shè)定為第二存取時間;其中第一存取時間大于第二存取時間。
2.如權(quán)利要求1所述的一種控制閃存存取時間的方法,其特征在于,還包含有如果閃存的芯片選通信號未激活時,將閃存的存取時間設(shè)定為第一存取時間。
3.如權(quán)利要求1所述的一種控制閃存存取時間的方法,其特征在于還包含有如果第一存取時間與第二存取時間尚未初始化時,將閃存的存取時間設(shè)定為初始存取時間;其中初始存取時間大于或等于第一存取時間。
4.如權(quán)利要求3所述的一種控制閃存存取時間的方法,其特征在于,初始存取時間大于第一存取時間。
5.如權(quán)利要求1所述的一種控制閃存存取時間的方法,其特征在于還包含有根據(jù)存取時間的設(shè)定控制時鐘產(chǎn)生器輸出的時鐘信號的周期。
6.一種閃存的存取系統(tǒng),其特征在于,包含有一頁地址緩存器,用來儲存先前存取閃存的已存取地址;一頁地址比較器,用來比較存取閃存的目標地址以及儲存頁地址緩存器中的已存取地址;一時序控制器,當(dāng)目標地址與已存取地址未對應(yīng)于閃存中同一頁時,將閃存的存取時間設(shè)定為第一存取時間;當(dāng)目標地址與已存取地址對應(yīng)于閃存中同一頁時,將閃存的存取時間設(shè)定為為第二存取時間;其中第一存取時間大于第二存取時間。
7.如權(quán)利要求6所述的存取系統(tǒng),其特征在于,時序控制器包含有一輸入端,用來接收閃存所用一芯片選通信號;當(dāng)芯片選通信號尚未激活或者目標地址與已存取地址不對應(yīng)于閃存中同一頁時,時序控制器將存取時間設(shè)定為第一存取時間;當(dāng)目標地址與已存取地址對應(yīng)于閃存中同一頁且芯片選通信號已經(jīng)激活時,時序控制器將存取時間設(shè)定為第二存取時間。
8.如權(quán)利要求6所述的存取系統(tǒng),其特征在于,時序控制器為一時鐘控制器,用來根據(jù)存取時間的設(shè)定而控制提供予一中央處理器(CPU)的一時鐘信號的周期。
9.如權(quán)利要求6所述的存取系統(tǒng),其特征在于,包含有一初始時序緩存器,用來儲存初始存取時間,其中如果第一存取時間與第二存取時間尚未經(jīng)過初始化,時序控制器將存取時間設(shè)定為初始存取時間;其中初始存取時間大于或等于第一存取時間。
10.如權(quán)利要求9所述的存取系統(tǒng),其特征在于,初始存取時間大于第一存取時間。
11.一種閃存控制器,其特征在于,閃存控制器與一集成電路中一內(nèi)部總線耦合連接,閃存控制器包含有一閃存地址產(chǎn)生器一芯片選通信號產(chǎn)生器;一頁地址緩存器,與閃存地址產(chǎn)生器耦合連接,用來儲存先前存取閃存的已存取地址;一頁地址比較器,用來比較存取閃存的目標地址與儲存在頁地址站存器中的已存取地址;以及一時序控制器,與芯片選通信號產(chǎn)生器耦合連接,當(dāng)目標地址與已存取地址不對應(yīng)于閃存的同一頁時,將閃存的存取時間設(shè)定為第一存取時間;當(dāng)目標地址與已存取地址對應(yīng)于閃存的同一頁時,將閃存的存取時間設(shè)定為第二存取時間;其中第一存取時間大于第二存取時間。
12.如權(quán)利要求11所述的閃存控制器,其特征在于,時序控制器包含一輸入端口,用于接收芯片選通信號產(chǎn)生器產(chǎn)生的芯片選通信號;當(dāng)芯片選通信號尚未激活或者目標地址與已存取地址不對應(yīng)于閃存的同一頁時,時序控制器將存取時間設(shè)定為第一存取時間;當(dāng)目標地址與已存取地址對應(yīng)于閃存的同一頁且芯片選通信號已經(jīng)激活時,時序控制器將存取時間設(shè)定為第二存取時間。
13.如權(quán)利要求11所述的閃存控制器,其特征在于還包含有一初始時序緩存器,用來儲存一初始存取時間,如果第一存取時間與第二存取時間尚未經(jīng)過初始化,時序控制器將存取時間為設(shè)定為初始存取時間;其中初始存取時間大于或等于第一存取時間。
14.如權(quán)利要求13所述的閃存控制器,其特征在于,初始存取時間大于第一存取時間。
全文摘要
一種控制閃存存取時間的方法、閃存的存取統(tǒng)及閃存控制器,包含有將存取閃存的目標地址與先前存取閃存的一已存取地址做比較;若目標地址與已存取地址不對應(yīng)于閃存中同一頁,將存取時間設(shè)定為第一存取時間;如果目標地址與已存取地址對應(yīng)于閃存中同一頁,將存取時間設(shè)定為第二存取時間,其中第一存取時間大于第二存取時間。
文檔編號G11C16/06GK1815454SQ20051006823
公開日2006年8月9日 申請日期2005年4月27日 優(yōu)先權(quán)日2005年2月3日
發(fā)明者陳威仁, 蔡忠宏 申請人:聯(lián)發(fā)科技股份有限公司