專(zhuān)利名稱(chēng):閃速存儲(chǔ)器控制裝置、存儲(chǔ)器管理方法、及存儲(chǔ)器芯片的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于在串行閃速存儲(chǔ)器中XIP(本地執(zhí)行)的基于優(yōu)先級(jí)的閃速存儲(chǔ)器控制裝置、使用其的存儲(chǔ)器管理方法、及其存儲(chǔ)器芯片。更具體地講,本發(fā)明涉及一種通過(guò)將優(yōu)先級(jí)分配到串行閃速存儲(chǔ)器的各個(gè)頁(yè),并且根據(jù)它們的優(yōu)先級(jí)將從串行閃速存儲(chǔ)器檢索的頁(yè)存儲(chǔ)在系統(tǒng)存儲(chǔ)器或高速緩存存儲(chǔ)器中的有效的存儲(chǔ)器管理而致使的系統(tǒng)性能的改進(jìn)。
背景技術(shù):
通常,閃速存儲(chǔ)器是非易失性存儲(chǔ)器器件,從其數(shù)據(jù)能夠被再次電刪除,或在其數(shù)據(jù)能夠被再次寫(xiě)入。閃速存儲(chǔ)器具有比基于磁盤(pán)存儲(chǔ)器的存儲(chǔ)器件的功耗和尺寸要低的功耗和要小的尺寸。由于這個(gè)原因,閃速存儲(chǔ)器已經(jīng)被活躍地研究和開(kāi)發(fā)作為磁盤(pán)存儲(chǔ)器的替代品。
具體地講,期待著閃速存儲(chǔ)器將廣泛地應(yīng)用作為用于移動(dòng)計(jì)算器件,如數(shù)碼相機(jī)、移動(dòng)電話(huà)、和個(gè)人數(shù)字助手(PDA)的存儲(chǔ)器件。
根據(jù)制造方法,閃速存儲(chǔ)器能夠粗略地分類(lèi)為具有在其中單元并行地置于位線(xiàn)和地線(xiàn)之間的結(jié)構(gòu)的并行閃速存儲(chǔ)器、和具有在其中單元串行地置于位線(xiàn)和地線(xiàn)之間的結(jié)構(gòu)的串行閃速存儲(chǔ)器。
其中,與并行閃速存儲(chǔ)器相比,串行閃速存儲(chǔ)器具有優(yōu)點(diǎn)具有高寫(xiě)入率,并且相對(duì)便宜;和能夠被容易地制造成具有高容量。因此,串行閃速存儲(chǔ)器已經(jīng)被廣泛地用于存儲(chǔ)大容量的數(shù)據(jù)。
與將數(shù)據(jù)從其自由地讀取、或?qū)?shù)據(jù)自由地寫(xiě)入到其的磁盤(pán)存儲(chǔ)器不同,由于刪除和讀/寫(xiě)操作的執(zhí)行基礎(chǔ)彼此不一致,所以在串行閃速存儲(chǔ)器中,基于塊來(lái)執(zhí)行刪除操作,基于頁(yè)來(lái)執(zhí)行讀/寫(xiě)操作。
因此,串行閃速存儲(chǔ)器具有缺點(diǎn)其沒(méi)有提供不需要將數(shù)據(jù)轉(zhuǎn)移到系統(tǒng)存儲(chǔ)器而直接地執(zhí)行寫(xiě)入的數(shù)據(jù)的本地執(zhí)行功能(以下,稱(chēng)為“XIP”)。
然而,近來(lái),通過(guò)使用預(yù)定的控制器串行閃速存儲(chǔ)器已經(jīng)適用于支持XIP功能。
具體地講,如果將電施加到系統(tǒng),則控制器從串行閃速存儲(chǔ)器讀取包含用于系統(tǒng)的初始引導(dǎo)的引導(dǎo)代碼的頁(yè),然后將讀取的頁(yè)存儲(chǔ)在緩存器中。如果系統(tǒng)的主控制單元請(qǐng)求引導(dǎo)代碼,則控制器僅僅讀取引導(dǎo)代碼,然后將其提供到主控制單元。
此外,控制器響應(yīng)于從主控制單元接收到控制命令來(lái)讀取包含需求的數(shù)據(jù)的頁(yè),從讀取的頁(yè)提取需求的數(shù)據(jù),然后將提取的數(shù)據(jù)發(fā)送到主控制單元??刂破鬟€將讀取的頁(yè)存儲(chǔ)在高速緩存存儲(chǔ)器中,從而能夠有效地訪(fǎng)問(wèn)讀取的頁(yè)的數(shù)據(jù)。
在以這種方式支持串行閃速存儲(chǔ)器的XIP功能時(shí),響應(yīng)于由主控制單元的請(qǐng)求,控制器重復(fù)地執(zhí)行將需求的數(shù)據(jù)發(fā)送到主控制單元并將從串行閃速存儲(chǔ)器讀取的頁(yè)存儲(chǔ)在高速緩存存儲(chǔ)器中的處理。因此,在重復(fù)的處理期間,讀取的頁(yè)被連續(xù)地積累在高速緩存存儲(chǔ)器中。
在這些處理中,高速緩存存儲(chǔ)器根據(jù)預(yù)定的置換算法(例如,最近最少使用(LRU)、先進(jìn)先出(FIFO)、或隨機(jī))來(lái)執(zhí)行頁(yè)置換。在這種情況下,直接映射技術(shù)被廣泛地使用作為用于頁(yè)置換的映射方法。
直接映射類(lèi)型高速緩存存儲(chǔ)器用相應(yīng)于讀取的頁(yè)的存儲(chǔ)器地址的高速緩存存儲(chǔ)器的標(biāo)記來(lái)存儲(chǔ)讀取的頁(yè)。如果在將讀取的頁(yè)存儲(chǔ)在高速緩存存儲(chǔ)器期間,讀取的頁(yè)的數(shù)據(jù)和先前寫(xiě)入的頁(yè)的數(shù)據(jù)存在沖突,則根據(jù)置換算法先前寫(xiě)入的頁(yè)被刪除,并且新讀取的頁(yè)被存儲(chǔ)。
在這種情況下,如果系統(tǒng)的主控制單元請(qǐng)求刪除的頁(yè)的數(shù)據(jù),則產(chǎn)生表示由主控制單元請(qǐng)求的數(shù)據(jù)不存在于高速緩存存儲(chǔ)器的事實(shí)的高速緩存遺漏。因此,控制器應(yīng)該再次訪(fǎng)問(wèn)串行閃速存儲(chǔ)器,然后提交需求的數(shù)據(jù),導(dǎo)致大量循環(huán)的浪費(fèi)。
換言之,由于這樣低效的存儲(chǔ)器管理,導(dǎo)致包括在系統(tǒng)中頻繁地發(fā)生的定時(shí)器中斷、用于處理通信的時(shí)間關(guān)鍵中斷、被頻繁地檢索的系統(tǒng)庫(kù)、和必須在預(yù)定的時(shí)間周期中執(zhí)行的實(shí)時(shí)請(qǐng)求(application)的數(shù)據(jù)與其他一般代碼頁(yè)被平等地對(duì)待。因此,存在問(wèn)題這樣的處理降低了系統(tǒng)的全部性能,并且限制了系統(tǒng)的實(shí)時(shí)特性。
因此,需要一種根據(jù)各個(gè)頁(yè)的數(shù)據(jù)的重要性來(lái)管理從串行閃速存儲(chǔ)器讀取的頁(yè)的有效的存儲(chǔ)器管理方法。
發(fā)明內(nèi)容
構(gòu)思本發(fā)明以解決上述問(wèn)題。本發(fā)明的基本目的在于經(jīng)通過(guò)對(duì)串行閃速存儲(chǔ)器中的各個(gè)頁(yè)分配優(yōu)先級(jí),并且根據(jù)它們的優(yōu)先級(jí)將從存儲(chǔ)器讀取的頁(yè)存儲(chǔ)在系統(tǒng)存儲(chǔ)器中或高速緩存存儲(chǔ)器中的有效的存儲(chǔ)器管理來(lái)改善系統(tǒng)的性能。
本發(fā)明的另一個(gè)目的在于通過(guò)經(jīng)根據(jù)優(yōu)先級(jí)的數(shù)據(jù)處理來(lái)防止在高速緩存存儲(chǔ)器中發(fā)生高速緩存遺漏來(lái)降低高速緩存存儲(chǔ)器中的遺漏率。
本發(fā)明的另一個(gè)目的在于通過(guò)降低在高速緩存存儲(chǔ)器中的遺漏率以防止循環(huán)的浪費(fèi)來(lái)保持系統(tǒng)的實(shí)時(shí)特性。
根據(jù)本發(fā)明,優(yōu)先級(jí)分配到串行閃速存儲(chǔ)器中的各個(gè)頁(yè)。如果主控制單元請(qǐng)求給定邏輯地址的數(shù)據(jù),則閃速存儲(chǔ)器控制裝置通過(guò)參考由系統(tǒng)存儲(chǔ)器的映射信息組成的地址轉(zhuǎn)換表來(lái)搜索需求的數(shù)據(jù)。
根據(jù)搜索的結(jié)果,閃速存儲(chǔ)器控制裝置讀取在系統(tǒng)存儲(chǔ)器或高速緩存存儲(chǔ)器中有關(guān)的邏輯地址的數(shù)據(jù),然后將讀取的數(shù)據(jù)發(fā)送到主控制單元,或者從串行閃速存儲(chǔ)器讀取包含相應(yīng)的數(shù)據(jù)的頁(yè),然后將請(qǐng)求的數(shù)據(jù)發(fā)送到主控制單元。
此外,閃速存儲(chǔ)器控制裝置根據(jù)它們的優(yōu)先級(jí)將已經(jīng)從串行閃速存儲(chǔ)器讀取的頁(yè)存儲(chǔ)在系統(tǒng)存儲(chǔ)器或高速緩存存儲(chǔ)器中,并且將改變的映射信息寫(xiě)入有關(guān)的地址轉(zhuǎn)換表中。
在本發(fā)明中,由系統(tǒng)存儲(chǔ)器的映射信息組成的地址轉(zhuǎn)換表被限定為頁(yè)地址轉(zhuǎn)換表(以下,稱(chēng)為“第一PAT”),其中寫(xiě)入關(guān)于根據(jù)優(yōu)先級(jí)從高速緩存存儲(chǔ)器或串行閃速存儲(chǔ)器轉(zhuǎn)移到系統(tǒng)存儲(chǔ)器,以在其中存儲(chǔ)的頁(yè)的映射信息。由高速緩存存儲(chǔ)器的映射信息組成的地址轉(zhuǎn)換表被限定為頁(yè)地址轉(zhuǎn)換表(以下,稱(chēng)為“第二PAT”),其中寫(xiě)入關(guān)于根據(jù)優(yōu)先級(jí)從串行閃速存儲(chǔ)器轉(zhuǎn)移到高速緩存存儲(chǔ)器,以在其中存儲(chǔ)的頁(yè)的映射信息。
此外,根據(jù)本發(fā)明,基于對(duì)頁(yè)的主要數(shù)據(jù)的訪(fǎng)問(wèn)率、重要性等確定優(yōu)先級(jí),并且根據(jù)預(yù)定的優(yōu)先級(jí)的級(jí)別由預(yù)定的等級(jí)來(lái)表示。
根據(jù)本發(fā)明的一方面,提供了一種串行閃速存儲(chǔ)器,包括扇區(qū),表示由多個(gè)頁(yè)組成并且數(shù)據(jù)在其中存儲(chǔ)的數(shù)據(jù)區(qū)域;和扇區(qū),表示具有關(guān)于數(shù)據(jù)區(qū)域的邏輯地址的信息的備用區(qū)域。每個(gè)頁(yè)由具有在其中寫(xiě)入的主要數(shù)據(jù)的數(shù)據(jù)部分和在其中寫(xiě)入分配到主要數(shù)據(jù)的優(yōu)先級(jí)的備用部分組成。
根據(jù)本發(fā)明的另一方面,提供了一種用于在串行閃速存儲(chǔ)器中XIP的基于優(yōu)先級(jí)的閃速存儲(chǔ)器控制裝置,其中,當(dāng)主控制單元請(qǐng)求給定邏輯地址的數(shù)據(jù)時(shí),通過(guò)參考預(yù)定的地址轉(zhuǎn)換表來(lái)搜索需求的數(shù)據(jù),并且根據(jù)搜索的結(jié)果,從系統(tǒng)存儲(chǔ)器或高速緩存存儲(chǔ)器讀取相應(yīng)的數(shù)據(jù),然后將其發(fā)送到主控制單元,或者從串行閃速存儲(chǔ)器讀取包含相應(yīng)的數(shù)據(jù)的頁(yè),然后將其發(fā)送到主控制單元。
在閃速存儲(chǔ)器控制裝置中,根據(jù)它們的優(yōu)先級(jí)從串行閃速存儲(chǔ)器讀取的頁(yè)可以存儲(chǔ)在系統(tǒng)存儲(chǔ)器或高速緩存存儲(chǔ)器中,并且將改變的映射信息寫(xiě)入地址轉(zhuǎn)換表中。
根據(jù)本發(fā)明的另一方面,提供了一種用于在串行閃速存儲(chǔ)器中XIP的基于優(yōu)先級(jí)的閃速存儲(chǔ)器管理方法,包括步驟如果從主控制單元接收用于讀取給定邏輯地址的數(shù)據(jù)的請(qǐng)求,則通過(guò)參考預(yù)定的地址轉(zhuǎn)換表來(lái)搜索相應(yīng)的邏輯地址的數(shù)據(jù);和根據(jù)搜索的結(jié)果從系統(tǒng)存儲(chǔ)器或高速緩存存儲(chǔ)器讀取相應(yīng)的邏輯地址的數(shù)據(jù),并且將讀取的數(shù)據(jù)發(fā)送到主控制單元。
該方法還可包括步驟根據(jù)搜索的結(jié)果從串行閃速存儲(chǔ)器讀取包含相應(yīng)的數(shù)據(jù)的頁(yè),并且將請(qǐng)求的數(shù)據(jù)發(fā)送到主控制單元。此外,該方法還可包括步驟根據(jù)它們的優(yōu)先級(jí)將從串行閃速存儲(chǔ)器讀取的頁(yè)存儲(chǔ)在系統(tǒng)存儲(chǔ)器或高速緩存存儲(chǔ)器中,并且將改變的映射信息寫(xiě)入地址轉(zhuǎn)換表中。
根據(jù)本發(fā)明的另一方面,提供了一種閃速存儲(chǔ)器芯片,包括串行單元類(lèi)型串行閃速存儲(chǔ)器,由每個(gè)具有在其中寫(xiě)入主要數(shù)據(jù)的數(shù)據(jù)部分和在其中寫(xiě)入分配到主要數(shù)據(jù)的優(yōu)先級(jí)的備用部分的頁(yè)組成;和閃速存儲(chǔ)器控制裝置,用于根據(jù)它們的優(yōu)先級(jí)將從串行閃速存儲(chǔ)器讀取的頁(yè)存儲(chǔ)在系統(tǒng)存儲(chǔ)器或高速緩存存儲(chǔ)器中,并且將改變的映射信息寫(xiě)入預(yù)定的地址轉(zhuǎn)換表中。
通過(guò)結(jié)合附圖對(duì)優(yōu)選的實(shí)施例進(jìn)行下面的描述,本發(fā)明的以上和其他目的、特性及優(yōu)點(diǎn)將會(huì)變得更清楚,其中圖1示意性地示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的串行閃速存儲(chǔ)器的頁(yè)結(jié)構(gòu);圖2是示意性地示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的串行閃速訪(fǎng)問(wèn)系統(tǒng)的結(jié)構(gòu)的方框圖;圖3是示意性地示出圖2所示的閃速存儲(chǔ)器控制裝置的方框圖;圖4示意性地示出在控制器中的讀的命令處理結(jié)構(gòu);圖5示意性地示出在控制器中的根據(jù)優(yōu)先級(jí)的頁(yè)處理結(jié)構(gòu);圖6是示意性地示出使用根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于在串行閃速存儲(chǔ)器中XIP的基于優(yōu)先級(jí)的閃速存儲(chǔ)器控制裝置的存儲(chǔ)器管理方法的流程圖;圖7是示意性地示出使用根據(jù)本發(fā)明的另一個(gè)實(shí)施例的用于在串行閃速存儲(chǔ)器中XIP的基于優(yōu)先級(jí)的閃速存儲(chǔ)器控制裝置的存儲(chǔ)器管理結(jié)構(gòu)的方框圖;和圖8是示意性地示出使用根據(jù)本發(fā)明的另一個(gè)實(shí)施例的用于在串行閃速存儲(chǔ)器中XIP的基于優(yōu)先級(jí)的閃速存儲(chǔ)器控制裝置的存儲(chǔ)器管理結(jié)構(gòu)的方框圖。
具體實(shí)施例方式
以下,將參考附圖來(lái)詳細(xì)地描述根據(jù)本發(fā)明的用于在串行閃速存儲(chǔ)器中XIP的基于優(yōu)先級(jí)的閃速存儲(chǔ)器控制裝置、使用其的存儲(chǔ)器管理方法、及其存儲(chǔ)器芯片。
盡管如使用包括預(yù)定地址轉(zhuǎn)換表的閃速存儲(chǔ)器控制裝置而實(shí)現(xiàn),以下將描述用于在串行閃速存儲(chǔ)器中XIP的基于優(yōu)先級(jí)的閃速存儲(chǔ)器控制裝置、使用其的存儲(chǔ)器管理方法、及其存儲(chǔ)器芯片,但是這僅僅是示例性的。本領(lǐng)域的技術(shù)人員應(yīng)該明白可以對(duì)根據(jù)先前分配的優(yōu)先級(jí)將從串行閃速存儲(chǔ)器讀取的頁(yè)存儲(chǔ)在系統(tǒng)存儲(chǔ)器中,并且將改變的映射信息寫(xiě)入用于系統(tǒng)存儲(chǔ)器的地址轉(zhuǎn)換表的存儲(chǔ)器管理方法作出各種修改和等同物,由此,當(dāng)響應(yīng)于由主控制單元的請(qǐng)求而執(zhí)行讀取操作時(shí),通過(guò)參考用于系統(tǒng)存儲(chǔ)器的地址轉(zhuǎn)換表能夠搜索需求的數(shù)據(jù)。
串行閃速存儲(chǔ)器主要分割成表示數(shù)據(jù)區(qū)域的扇區(qū)、和表示備用區(qū)域的扇區(qū)。數(shù)據(jù)寫(xiě)入數(shù)據(jù)區(qū)域中。關(guān)于串行閃速存儲(chǔ)器的一般信息,如閃速存儲(chǔ)器和存儲(chǔ)器容量的模型、及寫(xiě)入數(shù)據(jù)區(qū)域中的數(shù)據(jù)的物理地址和與其相應(yīng)的邏輯地址之間的映射信息被寫(xiě)入備用區(qū)域中。
寫(xiě)入數(shù)據(jù)區(qū)域中的數(shù)據(jù)可包括用于引導(dǎo)操作系統(tǒng)(OS)的引導(dǎo)代碼、OS/應(yīng)用程序、用于執(zhí)行寫(xiě)入OS區(qū)域中的程序的數(shù)據(jù)、和由用戶(hù)輸入的數(shù)據(jù)或當(dāng)OS操作時(shí)產(chǎn)生的信號(hào)。
這樣數(shù)據(jù)區(qū)域包括多個(gè)以預(yù)定大小分割的塊。每個(gè)塊包括多個(gè)頁(yè)。
圖1示意性地示出根據(jù)本發(fā)明一個(gè)實(shí)施例的串行閃速存儲(chǔ)器的頁(yè)結(jié)構(gòu)。
如圖1所示,串行閃速存儲(chǔ)器100的頁(yè)主要分割成其中寫(xiě)入主要數(shù)據(jù)的數(shù)據(jù)部分、和其中寫(xiě)入分配到主要數(shù)據(jù)的優(yōu)先級(jí)的備用部分。
根據(jù)對(duì)頁(yè)的主要數(shù)據(jù)的訪(fǎng)問(wèn)率、及其重要性來(lái)確定優(yōu)先級(jí),并且根據(jù)確定的優(yōu)先級(jí)的級(jí)別由預(yù)定等級(jí)來(lái)表示該優(yōu)先級(jí)。
即,如果確定優(yōu)先級(jí)具有兩個(gè)級(jí)別,則由高(H)或低(L)來(lái)表示。
例如,在當(dāng)串行閃速存儲(chǔ)器100是由528個(gè)字節(jié)組成的與非(NAND)閃速存儲(chǔ)器時(shí)的情況下,該串行閃速存儲(chǔ)器100的數(shù)據(jù)區(qū)域包括多個(gè)每個(gè)具有32頁(yè)的塊。
每頁(yè)包括512字節(jié)的數(shù)據(jù)部分和16字節(jié)的備用部分。
圖2是示意性地示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的串行閃速存儲(chǔ)器訪(fǎng)問(wèn)系統(tǒng)的結(jié)構(gòu)的方框圖。
如圖2所示,串行閃速存儲(chǔ)器訪(fǎng)問(wèn)系統(tǒng)包括主控制單元300,其對(duì)串行閃速存儲(chǔ)器100產(chǎn)生寫(xiě)或刪除命令;閃速存儲(chǔ)器控制裝置500,其執(zhí)行用于在串行閃速存儲(chǔ)器100中支持XIP的操作控制,并且響應(yīng)于主控制單元300的控制命令來(lái)直接訪(fǎng)問(wèn)串行閃速存儲(chǔ)器100;和系統(tǒng)存儲(chǔ)器700。
如果將電施加到閃速存儲(chǔ)器控制裝置500,則閃速存儲(chǔ)器控制裝置500掃描串行閃速存儲(chǔ)器100的備用區(qū)域,產(chǎn)生在其上反映串行閃速存儲(chǔ)器100的當(dāng)前已寫(xiě)狀態(tài)的映射表,然后將該表存儲(chǔ)在高速緩存存儲(chǔ)器中,以當(dāng)訪(fǎng)問(wèn)串行閃速存儲(chǔ)器100時(shí)來(lái)參考該表。
此外,當(dāng)主控制單元300請(qǐng)求給定邏輯地址的數(shù)據(jù)時(shí),閃速存儲(chǔ)器控制裝置500通過(guò)參考第一PAT來(lái)搜索需求的數(shù)據(jù)。
根據(jù)搜索結(jié)果,閃速存儲(chǔ)器控制裝置500從系統(tǒng)存儲(chǔ)器700或高速緩存存儲(chǔ)器讀取相應(yīng)的邏輯地址的數(shù)據(jù),并且將讀取的數(shù)據(jù)發(fā)送到主控制單元300,或者從串行閃速存儲(chǔ)器100讀取包含相應(yīng)數(shù)據(jù)的頁(yè),并且將請(qǐng)求的數(shù)據(jù)發(fā)送到主控制單元300。
此外,閃速存儲(chǔ)器控制裝置500根據(jù)它們的優(yōu)先級(jí)將從串行閃速存儲(chǔ)器100讀取的頁(yè)存儲(chǔ)在系統(tǒng)存儲(chǔ)器中或高速緩存存儲(chǔ)器中,并且將改變的映射信息寫(xiě)入第一PAT或第二PAT中。
例如,如果閃速存儲(chǔ)器控制裝置500從主控制單元300接收指示主控制單元300意圖讀取給定邏輯地址的數(shù)據(jù)的控制命令,則閃速存儲(chǔ)器控制裝置500通過(guò)參考第一PAT和第二PAT來(lái)搜索請(qǐng)求的邏輯地址。
作為搜索的結(jié)果,如果從第一PAT和第二PAT沒(méi)有發(fā)現(xiàn)關(guān)于相應(yīng)的邏輯地址的信息,則閃速存儲(chǔ)器控制裝置500從串行閃速存儲(chǔ)器100讀取包含需求的數(shù)據(jù)的頁(yè),然后通過(guò)讀取的頁(yè)將相應(yīng)的數(shù)據(jù)發(fā)送到主控制單元300。
閃速存儲(chǔ)器控制裝置500然后將讀取的頁(yè)存儲(chǔ)在閃速存儲(chǔ)器中。此時(shí),如果由于在與讀取頁(yè)的存儲(chǔ)器地址相應(yīng)的閃速存儲(chǔ)器的標(biāo)記處的存在頁(yè),導(dǎo)致發(fā)生標(biāo)記沖突,則裝置500將先前頁(yè)和讀取頁(yè)的優(yōu)先級(jí)互相比較。
作為比較的結(jié)果,如果先前頁(yè)的優(yōu)先級(jí)比讀取頁(yè)的優(yōu)先級(jí)要高,則閃速存儲(chǔ)器控制裝置500將讀取頁(yè)存儲(chǔ)在系統(tǒng)存儲(chǔ)器700中,并且將映射信息寫(xiě)入第一PAT中。
相反,如果先前頁(yè)的優(yōu)先級(jí)比讀取頁(yè)的優(yōu)先級(jí)要低,則閃速存儲(chǔ)器控制裝置500將存儲(chǔ)在高速緩存存儲(chǔ)器中的先前頁(yè)轉(zhuǎn)移到系統(tǒng)存儲(chǔ)器700,以在那里存儲(chǔ),然后將改變的映射信息寫(xiě)入第一PAT中。此時(shí),裝置500將讀取頁(yè)存儲(chǔ)在高速緩存存儲(chǔ)器中,然后將改變的映射信息寫(xiě)入第二PAT中。
通常,系統(tǒng)存儲(chǔ)器700可以是RAM,如DRAM、SDRAM、SRAM、或UtRAM。
圖3是示意性地示出圖2所示的閃速存儲(chǔ)器控制裝置的方框圖。
如圖3所示,閃速存儲(chǔ)器控制裝置500包括系統(tǒng)接口單元510、高速緩存模塊520、訪(fǎng)問(wèn)模塊530、閃速存儲(chǔ)器接口單元540、和控制器550。
系統(tǒng)接口單元510接收從主控制單元300產(chǎn)生的控制命令,并且響應(yīng)于接收的控制命令來(lái)處理用于對(duì)主控制單元300提供操作的結(jié)果的信號(hào)的發(fā)送/接收。
高速緩存模塊520包括第一PAT 521、第二PAT 522、和高速緩存存儲(chǔ)器523。
第一PAT 521指示系統(tǒng)存儲(chǔ)器700的已寫(xiě)狀態(tài)。從高速緩存存儲(chǔ)器523或串行閃速存儲(chǔ)器100轉(zhuǎn)移到系統(tǒng)存儲(chǔ)器700以在其中存儲(chǔ)的頁(yè)的邏輯地址和物理地址之間的映射信息被寫(xiě)入第一PAT 521中。
從串行閃速存儲(chǔ)器100轉(zhuǎn)移到高速緩存存儲(chǔ)器523以在其中存儲(chǔ)的頁(yè)的邏輯地址和物理地址之間的映射信息被寫(xiě)入第二PAT 522中。
高速緩存存儲(chǔ)器523包括主高速緩存(沒(méi)有顯示)、和為減少高速緩存遺漏的發(fā)生而服務(wù)作為用于將數(shù)據(jù)從高速緩存存儲(chǔ)器轉(zhuǎn)移到主存儲(chǔ)器件的緩存器的受損高速緩存(victim cache)(沒(méi)有顯示)。高速緩存存儲(chǔ)器523通常由作為獨(dú)立靜態(tài)隨機(jī)訪(fǎng)問(wèn)存儲(chǔ)器(SRAM)芯片的L2-Cache實(shí)現(xiàn)。
當(dāng)發(fā)生標(biāo)記沖突時(shí),根據(jù)本發(fā)明的受損高速緩存器將根據(jù)頁(yè)置換算法輸出的先前已寫(xiě)的頁(yè)存儲(chǔ),從而減少了在高速緩存存儲(chǔ)器中高速緩存遺漏的發(fā)生。
訪(fǎng)問(wèn)模塊530讀取包含用于初始引導(dǎo)在串行閃速存儲(chǔ)器100中XIP的系統(tǒng)的引導(dǎo)代碼的頁(yè),存儲(chǔ)該讀取頁(yè),然后將需求的引導(dǎo)代碼發(fā)送到主控制單元300。訪(fǎng)問(wèn)模塊530包括引導(dǎo)加載器531、預(yù)取532、和錯(cuò)誤檢測(cè)代碼/錯(cuò)誤糾正代碼(以下,稱(chēng)為“EDC/ECC”)533、和分解(Decomp)534。
引導(dǎo)加載器531使得有效的系統(tǒng)引導(dǎo)方便。如果加電,則引導(dǎo)加載器531檢索OS程序和初始化代碼,如寫(xiě)入串行閃速存儲(chǔ)器100的引導(dǎo)區(qū)域中的用于系統(tǒng)引導(dǎo)的映像,然后將其存儲(chǔ)在緩沖器中。當(dāng)主控制單元300開(kāi)始第一代碼取循環(huán),以請(qǐng)求讀取引導(dǎo)代碼時(shí),引導(dǎo)加載器531將存儲(chǔ)的初始化代碼發(fā)送到主控制單元300,從而能夠開(kāi)始引導(dǎo)。
提供預(yù)取532、EDC/ECC 533、和分解534以增強(qiáng)閃速存儲(chǔ)器控制裝置500的性能。預(yù)取532預(yù)先從串行閃速存儲(chǔ)器100檢索被期待由主控制單元300請(qǐng)求的數(shù)據(jù),然后將該數(shù)據(jù)存儲(chǔ)在緩沖器中。EDC/ECC 533檢測(cè)/糾正在發(fā)送/接收的數(shù)據(jù)中的錯(cuò)誤。分解534對(duì)根據(jù)系統(tǒng)需求而需求的數(shù)據(jù)壓縮和解壓縮負(fù)責(zé)。
由于分解534是根據(jù)系統(tǒng)需求而提供的,所以如果必要可以將其省略。
閃速存儲(chǔ)器接口單元540響應(yīng)于主控制單元300的控制命令,執(zhí)行將數(shù)據(jù)發(fā)送到串行閃速存儲(chǔ)器100,或執(zhí)行從串行閃速存儲(chǔ)器100接收數(shù)據(jù)。
控制器550執(zhí)行全部操作控制,從而通過(guò)各個(gè)部件能夠?qū)崿F(xiàn)串行閃速存儲(chǔ)器100中XIP??刂破?50通過(guò)參考第一和第二PAT 521和522來(lái)將需求的數(shù)據(jù)發(fā)送到主控制單元330,并且根據(jù)它們的優(yōu)先級(jí)將從串行閃速存儲(chǔ)器100讀取的頁(yè)存儲(chǔ)在高速緩存存儲(chǔ)器523或系統(tǒng)存儲(chǔ)器700中。
圖4示意性地示出了在控制器中讀的命令處理結(jié)構(gòu)。
如圖4所示,如果從主控制單元300接收到通過(guò)其將讀取寫(xiě)在串行閃速存儲(chǔ)器100中的數(shù)據(jù)的控制命令,則為了訪(fǎng)問(wèn)數(shù)據(jù),閃速存儲(chǔ)器控制裝置500的控制器550將請(qǐng)求數(shù)據(jù)的邏輯地址轉(zhuǎn)換成物理地址。
因此,當(dāng)控制器550從主控制單元300接收請(qǐng)求的邏輯地址時(shí),控制器550從接收到的邏輯地址讀取邏輯塊號(hào)(LBN)。
然后,控制器550通過(guò)使用讀取的LBN來(lái)在初始化處理中訪(fǎng)問(wèn)存儲(chǔ)在高速緩存存儲(chǔ)器523中的映射表,并且確定該LBN是否是映射表中的有效塊。如果確定該LBN是有效塊,則控制器550通過(guò)映射表來(lái)檢測(cè)與LBN相應(yīng)的物理塊號(hào)(PBN)。
相反,如果確定該LBN不是映射表中的有效塊,則控制器550檢測(cè)另外的有效PBN。
此后,控制器550從接收的邏輯地址檢測(cè)邏輯頁(yè)號(hào)(LPN),組合檢測(cè)的LPN和PBN,然后搜索第一PAT 521,以確定相應(yīng)的LPN是否在其中存在。
作為搜索的結(jié)果,如果相應(yīng)的LPN存在于第一PAT 521,則控制器550檢測(cè)與其相應(yīng)的物理頁(yè)號(hào)(PPN)。
然后,控制器550組合檢測(cè)的PPN和頁(yè)偏移,以訪(fǎng)問(wèn)系統(tǒng)存儲(chǔ)器700,然后確定寫(xiě)入與PPN相應(yīng)的系統(tǒng)存儲(chǔ)器700的物理地址的數(shù)據(jù)是否是有效值。
如果確定該數(shù)據(jù)是有效值,則控制器550讀取寫(xiě)入系統(tǒng)存儲(chǔ)器700的相應(yīng)物理地址的數(shù)據(jù),然后將讀取的數(shù)據(jù)發(fā)送到主控制單元300。如果確定該數(shù)據(jù)不是有效值,則控制器550確定由主控制單元300請(qǐng)求的頁(yè)沒(méi)有存在于系統(tǒng)存儲(chǔ)器700中。
如上所述,如果由主控制單元300請(qǐng)求的頁(yè)沒(méi)有存在于系統(tǒng)存儲(chǔ)器700中,則控制器550通過(guò)參考第二PAT 522來(lái)確定由主控制單元300請(qǐng)求的數(shù)據(jù)的物理頁(yè)號(hào)(PPN)是否存在于高速緩存存儲(chǔ)器523中。
如果確定PPN存在于高速緩存存儲(chǔ)器523中,則控制器550讀取寫(xiě)入高速緩存存儲(chǔ)器523的相應(yīng)物理地址的數(shù)據(jù),然后將讀取的數(shù)據(jù)發(fā)送到主控制單元300。如果確定PPN沒(méi)有存在于高速存儲(chǔ)器523中,則控制器550使用物理地址(PBN和PPN)來(lái)訪(fǎng)問(wèn)串行閃速存儲(chǔ)器100。
通過(guò)以上過(guò)程,由于需求的數(shù)據(jù)沒(méi)有存儲(chǔ)在高速緩存存儲(chǔ)器523中,所以控制器550能夠防止由高速緩存遺漏發(fā)生導(dǎo)致的系統(tǒng)存儲(chǔ)器700的重復(fù)搜索所產(chǎn)生的循環(huán)的浪費(fèi)。
此外,由于通過(guò)高速緩存存儲(chǔ)器523的受損高速緩存,減少了高速緩存遺漏的機(jī)會(huì),所以在控制器550中提高了高速緩存成功率。因此,可以提供系統(tǒng)的實(shí)時(shí)特性。
圖5示意性地示出在控制器中根據(jù)優(yōu)先級(jí)的頁(yè)處理結(jié)構(gòu)。
如圖5所示,當(dāng)響應(yīng)于主控制單元300的請(qǐng)求,在讀取操作中,從串行閃速存儲(chǔ)器100讀取包括預(yù)定數(shù)據(jù)的頁(yè)時(shí),閃速存儲(chǔ)器控制裝置500的控制器550根據(jù)其優(yōu)先級(jí)來(lái)處理讀取的頁(yè)。
換言之,基于直接映射技術(shù)控制器550在與串行閃速存儲(chǔ)器100中的物理地址相應(yīng)的標(biāo)記地址將讀取的頁(yè)存儲(chǔ)在高速緩存存儲(chǔ)器523中。
控制器550然后確定在將讀取的頁(yè)存儲(chǔ)在高速緩存存儲(chǔ)器523的處理期間是否發(fā)生標(biāo)記沖突。如果發(fā)生標(biāo)記沖突,則控制器550將沖突頁(yè)的優(yōu)先級(jí)彼此比較,并且將讀取的頁(yè)存儲(chǔ)在高速緩存存儲(chǔ)器523中或系統(tǒng)存儲(chǔ)器700中。
例如,將存儲(chǔ)器地址為#00000的頁(yè)(A)存儲(chǔ)在高速緩存存儲(chǔ)器523中與其相應(yīng)的標(biāo)記地址#000處。
在該處理期間,控制器550確定是否發(fā)生標(biāo)記沖突。
如果確定沒(méi)有發(fā)生標(biāo)記沖突,則完成頁(yè)(A)在高速存儲(chǔ)器523中的存儲(chǔ)(①)。
此后,如果主控制單元300連續(xù)地請(qǐng)求寫(xiě)入串行閃速存儲(chǔ)器100中的數(shù)據(jù),則將存儲(chǔ)器地址為#01000的頁(yè)(F)存儲(chǔ)在高速緩存存儲(chǔ)器523中與其相應(yīng)的標(biāo)記地址#000處(②)。
在該處理中,控制器550確定是否發(fā)生標(biāo)記沖突。這里,頁(yè)(F)與通過(guò)寫(xiě)操作而先前寫(xiě)入的頁(yè)(A)沖突。
如果發(fā)生這樣的沖突,則控制器550將頁(yè)(A)和頁(yè)(F)的優(yōu)先級(jí)彼此比較。
作為比較的結(jié)果,由于要被存儲(chǔ)的頁(yè)(F)優(yōu)先級(jí)(L)低于頁(yè)(A)的優(yōu)先級(jí)(H),所以控制器550根據(jù)其優(yōu)先級(jí)將頁(yè)(F)存儲(chǔ)在系統(tǒng)存儲(chǔ)器700中。
此后,響應(yīng)于由主控制單元300的連續(xù)的數(shù)據(jù)請(qǐng)求,控制器550從串行閃速存儲(chǔ)器100讀取有關(guān)的數(shù)據(jù)。在這種情況下,控制器550將存儲(chǔ)器地址為#02000的頁(yè)(M)存儲(chǔ)在高速緩存存儲(chǔ)器523中與其相應(yīng)的標(biāo)記地址#000處(③)。
在該過(guò)程中,控制器550確定是否發(fā)生標(biāo)記沖突。這里,頁(yè)(M)與通過(guò)寫(xiě)操作而先前寫(xiě)入的頁(yè)(A)再次沖突。
與以上情況相同,如果發(fā)生這樣的沖突,則控制器550將頁(yè)(A)和頁(yè)(M)的優(yōu)先級(jí)彼此比較。
作為比較的結(jié)果,由于要被存儲(chǔ)的頁(yè)(M)的優(yōu)先級(jí)(H)與頁(yè)(A)的優(yōu)先級(jí)(H)相同,所以控制器550根據(jù)頁(yè)置換算法將先前寫(xiě)入的頁(yè)(A)轉(zhuǎn)移到受損高速緩存,以存儲(chǔ)(④),并且將讀取的頁(yè)(M)存儲(chǔ)在高速緩存存儲(chǔ)器523的標(biāo)記地址#000處。
在如上構(gòu)造的根據(jù)本發(fā)明的用于在串行閃速存儲(chǔ)器中XIP的基于優(yōu)先級(jí)的閃速存儲(chǔ)器控制裝置500中,串行閃速存儲(chǔ)器100和閃速存儲(chǔ)器控制裝置500可以集成為單一串行閃速存儲(chǔ)器芯片。
由于其支持XIP功能,所以這樣的串行閃速存儲(chǔ)器芯片能夠替代ROM或NOR閃速存儲(chǔ)器。此外,該存儲(chǔ)器芯片通過(guò)基于優(yōu)先級(jí)的存儲(chǔ)器管理方法能夠更有效地執(zhí)行XIP功能。
例如,在如上所述的根據(jù)本發(fā)明實(shí)施例的用于在串行閃速存儲(chǔ)器中XIP的基于優(yōu)先級(jí)的閃速存儲(chǔ)器控制裝置中,所有模塊可用硬件或軟件實(shí)現(xiàn),或者其中一些可用軟件實(shí)現(xiàn)。
因此,用硬件或軟件實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的用于在串行閃速存儲(chǔ)器中XIP的基于優(yōu)先級(jí)的閃速存儲(chǔ)器控制裝置的事實(shí)并沒(méi)有脫離本發(fā)明的精神和范圍。這將是清楚的,即在不脫離本發(fā)明的精神和范圍的情況下,可以對(duì)其作出包括在用硬件和/或軟件實(shí)現(xiàn)中的改變和修改。
以下,將參考附圖詳細(xì)地描述使用如上構(gòu)造的用于在串行閃速存儲(chǔ)器中XIP的基于優(yōu)先級(jí)的閃速存儲(chǔ)器控制裝置的存儲(chǔ)器管理方法。
在使用用于在串行閃速存儲(chǔ)器中XIP的基于優(yōu)先級(jí)的閃速存儲(chǔ)器控制裝置的存儲(chǔ)器管理方法中,如果施加電,則包含用于引導(dǎo)系統(tǒng)的引導(dǎo)代碼的頁(yè)被從串行閃速存儲(chǔ)器100中讀取,然后被緩沖。當(dāng)主控制單元300請(qǐng)求引導(dǎo)代碼時(shí),該引導(dǎo)代碼然后被發(fā)送到主控制單元300。以這種方式,在串行閃速存儲(chǔ)器中支持XIP的初始化處理完成后,在從主控制單元300接收的控制命令的處理期間,執(zhí)行存儲(chǔ)器管理方法。
換言之,如果在系統(tǒng)通過(guò)初始化處理而被引導(dǎo)后,主控制單元300請(qǐng)求寫(xiě)入串行閃速存儲(chǔ)器100中給定邏輯地址的數(shù)據(jù),則執(zhí)行從串行閃速存儲(chǔ)器100讀取的頁(yè)的處理。
因此,在描述使用用于在串行閃速存儲(chǔ)器中XIP的基于優(yōu)先級(jí)的閃速存儲(chǔ)器控制裝置的存儲(chǔ)器管理方法時(shí),對(duì)認(rèn)為脫離本發(fā)明的范圍的初始化處理和與寫(xiě)/刪除操作有關(guān)的處理的詳細(xì)描述將被省略。
圖6是示意性地示出使用根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于在串行閃速存儲(chǔ)器中XIP的基于優(yōu)先級(jí)的閃速存儲(chǔ)器控制裝置的存儲(chǔ)器管理方法的流程圖。
如圖6所示,如果閃速存儲(chǔ)器控制裝置500的控制器550從主控制單元300接收用于讀取給定邏輯地址的數(shù)據(jù)的請(qǐng)求(S1),則其通過(guò)參考從串行閃速存儲(chǔ)器100和第一PAT 521獲得的映射表來(lái)將請(qǐng)求的邏輯地址轉(zhuǎn)換成物理地址(S2)。
控制器550然后通過(guò)使用轉(zhuǎn)換的物理地址來(lái)確定主控制單元300請(qǐng)求讀取的數(shù)據(jù)的物理頁(yè)地址(PPN)是否存在于第一PAT 521中(S3)。
如果確定該物理地址存在于第一PAT 521中,則控制器550訪(fǎng)問(wèn)系統(tǒng)存儲(chǔ)器700,并且從系統(tǒng)存儲(chǔ)器700的相應(yīng)的物理地址讀取頁(yè)(S4)。
如果確定該物理地址沒(méi)有存在于第一PAT 521中,則控制器550通過(guò)參考第二PAT 522來(lái)確定主控制單元300請(qǐng)求讀取的數(shù)據(jù)的物理地址是否存在于高速緩存存儲(chǔ)器523的主高速緩存中(S5)。
如果確定該相應(yīng)的物理地址存在于主高速緩存中,則控制器550通過(guò)使用物理地址來(lái)訪(fǎng)問(wèn)主高速緩存,并且從主高速緩存的相應(yīng)的物理地址讀取頁(yè)(S6)。
相反,如果確定相應(yīng)的物理地址沒(méi)有存在于主高速緩存中,則控制器550確定主控制單元300請(qǐng)求讀取的數(shù)據(jù)的物理地址是否存在于高速緩存存儲(chǔ)器523的受損高速緩存中(S7)。
如果確定相應(yīng)的物理地址存在于受損高速緩存中,則控制器550通過(guò)使用物理地址來(lái)訪(fǎng)問(wèn)受損高速緩存,并且從受損高速緩存的相應(yīng)的物理地址讀取頁(yè)(S8)。
如果相應(yīng)的物理地址沒(méi)有存在于受損高速緩存中,則控制器550訪(fǎng)問(wèn)串行閃速存儲(chǔ)器100,并且從串行閃速存儲(chǔ)器100的相應(yīng)的物理地址讀取頁(yè)(S9)。
控制器550然后根據(jù)直接映射技術(shù),在與串行閃速存儲(chǔ)器100中的物理地址相應(yīng)的標(biāo)記地址,將讀取的頁(yè)存儲(chǔ)于高速緩存存儲(chǔ)器523的主高速緩存中(S10)。
此后,控制器550確定在要被寫(xiě)的頁(yè)和先前存儲(chǔ)在主高速緩存中相應(yīng)的標(biāo)記地址的頁(yè)之間是否發(fā)生標(biāo)記沖突(S11)。
如果確定沒(méi)有標(biāo)記沖突,則控制器550完成頁(yè)在主高速緩存中的存儲(chǔ),并且將改變的映射信息寫(xiě)入第二PAT 522(S12)。
如果確定存在標(biāo)記沖突,則控制器550將先前存儲(chǔ)的頁(yè)和讀取的頁(yè)的優(yōu)先級(jí)彼此比較(S13)?;诒容^的結(jié)果,控制器550確定先前存儲(chǔ)的頁(yè)的優(yōu)先級(jí)是否高于讀取的頁(yè)的優(yōu)先級(jí)(S14)。
如果確定先前存儲(chǔ)的頁(yè)的優(yōu)先級(jí)高于讀取的頁(yè)的優(yōu)先級(jí),則控制器550將讀取的頁(yè)存儲(chǔ)在系統(tǒng)存儲(chǔ)器700中,并且將改變的映射信息寫(xiě)入第一PAT521中(S15)。
相反,如果先前存儲(chǔ)的頁(yè)的優(yōu)先級(jí)低于讀取的頁(yè)的優(yōu)先級(jí),則控制器550將先前存儲(chǔ)的頁(yè)轉(zhuǎn)移到高速緩存存儲(chǔ)器523的受損高速緩存中,以在其中存儲(chǔ),然后將讀取的頁(yè)存儲(chǔ)在高速緩存存儲(chǔ)器523的主高速緩存中。
另外,控制器550將改變的映射信息寫(xiě)入第二PAT 522(S16)。
將參考圖7示例性地詳細(xì)描述根據(jù)本發(fā)明實(shí)施例的使用用于在串行閃速存儲(chǔ)器中XIP的基于優(yōu)先級(jí)的閃速存儲(chǔ)器控制裝置的存儲(chǔ)器管理方法。
圖7是示意性地示出使用根據(jù)本發(fā)明實(shí)施例的用于在串行閃速存儲(chǔ)器中XIP的基于優(yōu)先級(jí)的閃速存儲(chǔ)器控制裝置的存儲(chǔ)器管理結(jié)構(gòu)的方框圖。
如圖7所示,如果閃速存儲(chǔ)器控制裝置500的控制器550從主控制單元300接收通過(guò)其將讀取寫(xiě)入串行閃速存儲(chǔ)器100中的預(yù)定數(shù)據(jù)的控制命令(①),則其搜索系統(tǒng)存儲(chǔ)器700,以通過(guò)參考第一PAT 521來(lái)確定請(qǐng)求的數(shù)據(jù)的物理地址是否存在于系統(tǒng)存儲(chǔ)器700中(②)。
作為搜索的結(jié)果,如果相應(yīng)的物理地址存在于系統(tǒng)存儲(chǔ)器700中,則控制器550通過(guò)使用請(qǐng)求的數(shù)據(jù)的物理地址來(lái)訪(fǎng)問(wèn)系統(tǒng)存儲(chǔ)器700(③),在相應(yīng)的物理地址從系統(tǒng)存儲(chǔ)器700讀取數(shù)據(jù),然后將該讀取的數(shù)據(jù)發(fā)送到主控制單元300(④)。
相反,如果相應(yīng)的物理地址沒(méi)有存在于系統(tǒng)存儲(chǔ)器700中,則控制器550搜索高速緩存存儲(chǔ)器523的主高速緩存,以通過(guò)參考第二PAT 522確定請(qǐng)求的數(shù)據(jù)的物理地址是否存在于高速緩存存儲(chǔ)器523的主高速緩存中(⑤)。
作為搜索的結(jié)果,如果相應(yīng)的物理地址存在于主高速緩存中,則控制器550通過(guò)使用請(qǐng)求數(shù)據(jù)的物理地址來(lái)訪(fǎng)問(wèn)主高速緩存(⑥),在相應(yīng)的物理地址從主高速緩存讀取數(shù)據(jù),并且然后將讀取的數(shù)據(jù)發(fā)送到主控制單元300(⑦)。
相反,如果相應(yīng)的物理地址沒(méi)有存在于主高速緩存中,則控制器550通過(guò)使用請(qǐng)求的數(shù)據(jù)的物理地址來(lái)訪(fǎng)問(wèn)受損高速緩存(⑧)。
此后,控制器550確定相應(yīng)的物理地址是否存在于受損高速緩存中。如果相應(yīng)的物理地址存在于受損高速緩存中,則控制器550在相應(yīng)的物理地址從受損高速緩存讀取數(shù)據(jù),然后將讀取的數(shù)據(jù)發(fā)送到主控制單元300(⑨)。如果相應(yīng)的物理地址沒(méi)有存在于受損高速緩存中,則控制器550通過(guò)使用物理地址來(lái)訪(fǎng)問(wèn)串行閃速存儲(chǔ)器100(⑩)。
然后,控制器550讀取包含從串行閃速存儲(chǔ)器100請(qǐng)求的數(shù)據(jù)的頁(yè),并且將請(qǐng)求的數(shù)據(jù)發(fā)送到主控制單元300。此外,控制器550根據(jù)它們優(yōu)先級(jí)將從串行閃速存儲(chǔ)器100讀取的頁(yè)存儲(chǔ)在高速緩存存儲(chǔ)器523中或系統(tǒng)存儲(chǔ)器700中。
此外,控制器550將改變的映射信息寫(xiě)入第一PAT 521或第二PAT 522。
盡管根據(jù)本發(fā)明的用于串行閃速存儲(chǔ)器中XIP的基于優(yōu)先級(jí)的閃速存儲(chǔ)器控制裝置500、使用其的存儲(chǔ)器管理方法、和其存儲(chǔ)器芯片已經(jīng)被描述,如使用包括第一PAT 521的閃速存儲(chǔ)器控制裝置500實(shí)現(xiàn),但是第一PAT 521可以實(shí)現(xiàn)于系統(tǒng)上的給定存儲(chǔ)器空間如系統(tǒng)存儲(chǔ)器700而不是閃速存儲(chǔ)器控制裝置500。
圖8是示意性地示出使用根據(jù)本發(fā)明的另一個(gè)實(shí)施例的用于在串行閃速存儲(chǔ)器中XIP的基于優(yōu)先級(jí)的閃速存儲(chǔ)器控制裝置的存儲(chǔ)器管理結(jié)構(gòu)的方框圖。
如圖8所示,即使在第一PAT 521與高速緩存模塊520分離,并且獨(dú)立地位于系統(tǒng)存儲(chǔ)器中的情況下,執(zhí)行與參考圖7描述的相同的基于優(yōu)先級(jí)閃速存儲(chǔ)器管理處理。
根據(jù)以上描述的本發(fā)明,從串行閃速存儲(chǔ)器讀取的頁(yè)根據(jù)預(yù)先分配到它們的優(yōu)先級(jí)被存儲(chǔ)在系統(tǒng)存儲(chǔ)器中或高速緩存存儲(chǔ)器中。因此,本發(fā)明提供了通過(guò)防止非需求的數(shù)據(jù)積累在高速緩存存儲(chǔ)器中來(lái)有效地管理存儲(chǔ)器的方法。
此外,根據(jù)本發(fā)明,數(shù)據(jù)以最大長(zhǎng)度積累在高速緩存存儲(chǔ)器中,以防止在高速緩存存儲(chǔ)器中的高速緩存遺漏的發(fā)生。因此,存在優(yōu)點(diǎn)控制器的代碼執(zhí)行的性能能夠被最大化,并且高速緩存存儲(chǔ)器的遺漏率能夠被降低。
根據(jù)本發(fā)明,由于高速緩存存儲(chǔ)器的遺漏率被降低,所以循環(huán)的浪費(fèi)能夠被防止。因此,存在優(yōu)點(diǎn)系統(tǒng)的實(shí)時(shí)特性能夠被保持。
此外,根據(jù)本發(fā)明,具有比具有相同性能的高速緩存存儲(chǔ)器的容量要小的容量的存儲(chǔ)器被需求。因此,本發(fā)明具有優(yōu)點(diǎn)可降低用于設(shè)計(jì)系統(tǒng)的成本,并且改善系統(tǒng)的性能。
盡管,結(jié)合在附圖中示出的實(shí)施例描述了本發(fā)明,但是該實(shí)施例僅僅為示例性的。本領(lǐng)域的技術(shù)人員應(yīng)該明白可以對(duì)其作出各種修改和改變。
因此,本發(fā)明的技術(shù)精髓和范圍應(yīng)該由所附的權(quán)利要求限定。
權(quán)利要求
1.一種串行閃速存儲(chǔ)器,包括扇區(qū),表示由多個(gè)頁(yè)組成并且數(shù)據(jù)存儲(chǔ)在其中的數(shù)據(jù)區(qū)域;和扇區(qū),表示具有關(guān)于數(shù)據(jù)區(qū)域的邏輯地址的信息的備用區(qū)域,其中,每個(gè)頁(yè)由具有在其中寫(xiě)入主要數(shù)據(jù)的數(shù)據(jù)部分、和在其中寫(xiě)入分配到主要數(shù)據(jù)的優(yōu)先級(jí)的備用部分組成。
2.如權(quán)利要求1所述的串行閃速存儲(chǔ)器,其中,基于對(duì)每頁(yè)的主要數(shù)據(jù)的訪(fǎng)問(wèn)率、及頁(yè)的主要數(shù)據(jù)的重要性中的至少一個(gè)來(lái)確定優(yōu)先級(jí)。
3.一種用于在串行閃速存儲(chǔ)器中XIP的基于優(yōu)先級(jí)的閃速存儲(chǔ)器控制裝置,其中當(dāng)主控制單元請(qǐng)求給定邏輯地址的數(shù)據(jù)時(shí),通過(guò)參考預(yù)定的地址轉(zhuǎn)換表來(lái)搜索請(qǐng)求的數(shù)據(jù),并且根據(jù)搜索的結(jié)果,從系統(tǒng)存儲(chǔ)器或高速緩存存儲(chǔ)器讀取相應(yīng)的數(shù)據(jù),然后將其發(fā)送到主控制單元,或者從串行閃速存儲(chǔ)器讀取包含相應(yīng)的數(shù)據(jù)的頁(yè),然后將其發(fā)送到主控制單元。
4.如權(quán)利要求3所述的裝置,其中,根據(jù)它們的優(yōu)先級(jí)從串行閃速存儲(chǔ)器讀取的頁(yè)存儲(chǔ)在系統(tǒng)存儲(chǔ)器或高速緩存存儲(chǔ)器中,并且將改變的映射信息寫(xiě)入地址轉(zhuǎn)換表中。
5.如權(quán)利要求4所述的裝置,其中,如果在將讀取的頁(yè)寫(xiě)入閃速存儲(chǔ)器的處理期間發(fā)生標(biāo)記沖突,則通過(guò)比較先前存儲(chǔ)的頁(yè)和讀取的頁(yè)的優(yōu)先級(jí),并且如果先前存儲(chǔ)的頁(yè)的優(yōu)先級(jí)高于讀取的頁(yè)的優(yōu)先級(jí)則通過(guò)將讀取的頁(yè)存儲(chǔ)在系統(tǒng)存儲(chǔ)器中,或者如果先前存儲(chǔ)的頁(yè)的優(yōu)先級(jí)不高于讀取的頁(yè)的優(yōu)先級(jí)則通過(guò)將先前存儲(chǔ)的頁(yè)轉(zhuǎn)移到受損高速緩存并將讀取的頁(yè)存儲(chǔ)在主高速緩存中,來(lái)根據(jù)它們的優(yōu)先級(jí)將讀取的頁(yè)存儲(chǔ)在系統(tǒng)存儲(chǔ)器或高速緩存存儲(chǔ)器中。
6.如權(quán)利要求3所述的裝置,其中,地址轉(zhuǎn)換表包括第一PAT,其中寫(xiě)入關(guān)于存儲(chǔ)在系統(tǒng)存儲(chǔ)器中的頁(yè)的映射信息;和第二PAT,其中寫(xiě)入關(guān)于存儲(chǔ)在高速緩存存儲(chǔ)器中的頁(yè)的映射信息。
7.如權(quán)利要求6所述的裝置,其中,第一PAT位于系統(tǒng)存儲(chǔ)器中。
8.如權(quán)利要求6所述的裝置,其中,第二PAT位于高速緩存模塊中。
9.如權(quán)利要求3所述的裝置,還包括高速緩存模塊,其將從串行閃速存儲(chǔ)器讀取的頁(yè)存儲(chǔ)在高速緩存存儲(chǔ)器中,并且具有其中寫(xiě)入關(guān)于讀取的頁(yè)的映射信息的地址轉(zhuǎn)換表;和控制器,其通過(guò)參考地址轉(zhuǎn)換表來(lái)發(fā)送由主控制單元請(qǐng)求的數(shù)據(jù),并且根據(jù)它們的優(yōu)先級(jí)將從串行閃速存儲(chǔ)器讀取的頁(yè)存儲(chǔ)在高速緩存存儲(chǔ)器或系統(tǒng)存儲(chǔ)器中。
10.如權(quán)利要求9所述的裝置,還包括系統(tǒng)接口單元,其可操作以從主控制單元接收控制命令,并且響應(yīng)于接收到的控制命令發(fā)送操作的結(jié)果;訪(fǎng)問(wèn)模塊,其可操作以讀取寫(xiě)入串行閃速存儲(chǔ)器中的引導(dǎo)代碼,并且將讀取的引導(dǎo)代碼存儲(chǔ)在緩沖器中,所述的訪(fǎng)問(wèn)模塊包括代碼加載器,其當(dāng)主控制單元請(qǐng)求引導(dǎo)代碼時(shí),可操作以發(fā)送引導(dǎo)代碼,從而在串行閃速存儲(chǔ)器中實(shí)現(xiàn)XIP;和閃速存儲(chǔ)器接口,其響應(yīng)于主控制單元的控制命令,可操作以分別執(zhí)行將數(shù)據(jù)發(fā)送到串行閃速存儲(chǔ)器,或執(zhí)行從串行閃速存儲(chǔ)器接收數(shù)據(jù)。
11.如權(quán)利要求3所述的裝置,其中,基于對(duì)每頁(yè)的主要數(shù)據(jù)的訪(fǎng)問(wèn)率、及頁(yè)的主要數(shù)據(jù)的重要性中的至少一個(gè)來(lái)確定優(yōu)先級(jí)。
12.一種閃速存儲(chǔ)器芯片,包括串行單元類(lèi)型串行閃速存儲(chǔ)器,其由每個(gè)具有在其中寫(xiě)入主要數(shù)據(jù)的數(shù)據(jù)部分和在其中寫(xiě)入分配到主要數(shù)據(jù)的優(yōu)先級(jí)的備用部分的頁(yè)組成;和閃速存儲(chǔ)器控制裝置,其可操作以根據(jù)它們的優(yōu)先級(jí)將從串行閃速存儲(chǔ)器讀取的頁(yè)存儲(chǔ)在系統(tǒng)存儲(chǔ)器或高速緩存存儲(chǔ)器中,并且將改變的映射信息寫(xiě)入預(yù)定的地址轉(zhuǎn)換表中。
13.如權(quán)利要求12所述的閃速存儲(chǔ)器芯片,其中,閃速存儲(chǔ)器控制裝置可操作以通過(guò)參考地址轉(zhuǎn)換表來(lái)搜索由主控制單元請(qǐng)求的給定邏輯地址的數(shù)據(jù),并且根據(jù)搜索的結(jié)果,從系統(tǒng)存儲(chǔ)器或高速緩存存儲(chǔ)器讀取相應(yīng)的數(shù)據(jù)并將該數(shù)據(jù)發(fā)送到主控制單元,或者從串行閃速存儲(chǔ)器讀取包含相應(yīng)的數(shù)據(jù)的頁(yè)并將該頁(yè)發(fā)送到主控制單元。
14.一種用于在串行閃速存儲(chǔ)器中XIP的基于優(yōu)先級(jí)的閃速存儲(chǔ)器管理方法,包括如果從主控制單元接收用于讀取給定邏輯地址的數(shù)據(jù)的請(qǐng)求,則通過(guò)參考預(yù)定的地址轉(zhuǎn)換表來(lái)搜索相應(yīng)的邏輯地址的數(shù)據(jù);和根據(jù)搜索的結(jié)果從系統(tǒng)存儲(chǔ)器或高速緩存存儲(chǔ)器讀取相應(yīng)的邏輯地址的數(shù)據(jù),并且將讀取的數(shù)據(jù)發(fā)送到主控制單元。
15.如權(quán)利要求14所述的方法,還包括根據(jù)搜索的結(jié)果從串行閃速存儲(chǔ)器讀取包含相應(yīng)的數(shù)據(jù)的頁(yè),并且將請(qǐng)求的數(shù)據(jù)發(fā)送到主控制單元。
16.如權(quán)利要求15所述的方法,還包括根據(jù)它們的優(yōu)先級(jí)將從串行閃速存儲(chǔ)器讀取的頁(yè)存儲(chǔ)在系統(tǒng)存儲(chǔ)器或高速緩存存儲(chǔ)器中,并且將改變的映射信息寫(xiě)入地址轉(zhuǎn)換表中。
17.如權(quán)利要求14所述的方法,其中,地址轉(zhuǎn)換表包括第一PAT,其中寫(xiě)入關(guān)于存儲(chǔ)在系統(tǒng)存儲(chǔ)器中的頁(yè)的映射信息;和第二PAT,其中寫(xiě)入關(guān)于存儲(chǔ)在高速緩存存儲(chǔ)器中的頁(yè)的映射信息。
18.如權(quán)利要求16所述的方法,其中,根據(jù)它們的優(yōu)先級(jí)將讀取的頁(yè)存儲(chǔ)在系統(tǒng)存儲(chǔ)器或高速緩存存儲(chǔ)器中的步驟,包括確定在將讀取的頁(yè)寫(xiě)入閃速存儲(chǔ)器的處理期間是否發(fā)生標(biāo)記沖突;如果確定沒(méi)有發(fā)生標(biāo)記沖突,則將讀取的頁(yè)存儲(chǔ)在閃速存儲(chǔ)器中,或如果發(fā)生標(biāo)記沖突,則將先前存儲(chǔ)的頁(yè)和讀取的頁(yè)的優(yōu)先級(jí)彼此比較;和如果確定先前存儲(chǔ)的頁(yè)的優(yōu)先級(jí)高于讀取的頁(yè)的優(yōu)先級(jí),則將讀取的頁(yè)存儲(chǔ)在系統(tǒng)存儲(chǔ)器中,或如果先前存儲(chǔ)的頁(yè)的優(yōu)先級(jí)不高于讀取的頁(yè)的優(yōu)先級(jí),則將先前存儲(chǔ)的頁(yè)轉(zhuǎn)移到受損高速緩存中并將讀取的頁(yè)存儲(chǔ)在主高速緩存中。
19.如權(quán)利要求16所述的方法,其中,基于對(duì)每頁(yè)的主要數(shù)據(jù)的訪(fǎng)問(wèn)率、及頁(yè)的主要數(shù)據(jù)的重要性中的至少一個(gè)來(lái)確定優(yōu)先級(jí)。
全文摘要
一種用于在串行閃速存儲(chǔ)器中XIP的基于優(yōu)先級(jí)的閃速存儲(chǔ)器控制裝置、使用其的存儲(chǔ)器管理方法、及其存儲(chǔ)器芯片。通過(guò)將優(yōu)先級(jí)分配到串行閃速存儲(chǔ)器的各個(gè)頁(yè),并且根據(jù)它們的優(yōu)先級(jí)將從串行閃速存儲(chǔ)器檢索的頁(yè)存儲(chǔ)在系統(tǒng)存儲(chǔ)器或高速緩存存儲(chǔ)器來(lái)提供有效的存儲(chǔ)器管理。使用根據(jù)本發(fā)明的閃速存儲(chǔ)器控制裝置的存儲(chǔ)器管理方法,包括如果從主控制單元接收用于讀取給定邏輯地址的數(shù)據(jù)的請(qǐng)求,則通過(guò)參考預(yù)定的地址轉(zhuǎn)換表來(lái)搜索相應(yīng)的邏輯地址的數(shù)據(jù);和根據(jù)搜索的結(jié)果從系統(tǒng)存儲(chǔ)器或高速緩存存儲(chǔ)器讀取相應(yīng)的邏輯地址的數(shù)據(jù),并且將讀取的數(shù)據(jù)發(fā)送到主控制單元。
文檔編號(hào)G06F12/08GK1606097SQ200410080579
公開(kāi)日2005年4月13日 申請(qǐng)日期2004年10月8日 優(yōu)先權(quán)日2003年10月8日
發(fā)明者樸贊益 申請(qǐng)人:三星電子株式會(huì)社