專利名稱:控制內(nèi)存記憶頁存取屬性的方法及其架構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種控制內(nèi)存記憶頁存取屬性的方法及其架構(gòu),特別是一種控制記憶頁的運(yùn)作屬性設(shè)定,使記憶頁不再全盤接收CPU或硬盤的儲存資料,進(jìn)而控管資料流提供系統(tǒng)安全的通用性保護(hù)的設(shè)計。
動態(tài)隨機(jī)存取內(nèi)存(DRAM)是以記憶頁(paged memory)形態(tài)出現(xiàn),也就是說動態(tài)隨機(jī)存取內(nèi)存是以連續(xù)性的記憶頁(memory pages)或是連續(xù)性的儲存格(cell)所組成,例如每一個記憶頁的大小為4K Bytes,則16M DRAM則可劃分為4000個4K大小的記憶頁(000-FFF)。
CPU通過芯片組(chip set)對DRAM作讀、寫數(shù)據(jù)控制,硬盤中要執(zhí)行的資料先被寫至DRAM內(nèi),CPU再從DRAM將資料讀出處理,或者是CPU處理完資料后,將處理后的資料寫入DRAM,然后硬盤再從DRAM讀回資料,儲存DRAM則是以記憶頁為單位依續(xù)動作。換句話說,一般計算機(jī)的系統(tǒng)運(yùn)作,DRAM僅只提供一資料儲存、讀取兩個基本的動作。
全球已逐漸邁向計算機(jī)化與數(shù)字化,許多商業(yè)作為都已轉(zhuǎn)變?yōu)樾畔⒖萍嫉倪\(yùn)用,當(dāng)享受由網(wǎng)際網(wǎng)絡(luò)(internet)及內(nèi)部網(wǎng)絡(luò)(intranet)帶來的效率、便利及商業(yè)機(jī)會時,計算機(jī)與網(wǎng)絡(luò)的安全性便逐漸受到重視,另一方面,計算機(jī)犯罪不論是技術(shù)、篡改層級或是犯罪的數(shù)目,均有技巧精進(jìn)及增加的趨勢,因此大多數(shù)人選擇加密(cryptographic)系統(tǒng)來保護(hù)他們重要的資料。但不論是何種加密系統(tǒng),其所產(chǎn)生的公鑰(public-key)、私鑰(private key)或是系統(tǒng)本身或額外設(shè)定的密碼(password),加密系統(tǒng)激活后即先加載DRAM后再進(jìn)行核對,但由于DRAM為系統(tǒng)資料流的必經(jīng)裝置,而且只能全盤接收CPU或硬盤傳來的資料,無法作選擇,因此不論是合法使用DRAM(系統(tǒng)本身)或是受外侵入,所有的資料均可輕易獲得及修改。舉例來說,非法入侵者可侵入DRAM擷取加密系統(tǒng)的公鑰、私鑰及密碼資料,通過一些軟件(如soft ICE)將檢查動作修改為已檢查通過或是不動作(no operation),輕易地進(jìn)入系統(tǒng)。
又如,磁盤或光盤等中的病毒加載DRAM后,通過CPU執(zhí)行進(jìn)而破壞或修改系統(tǒng)中的重要參數(shù),這些參數(shù)可能會影響例如DRAM內(nèi)存儲器的設(shè)置、磁盤驅(qū)動器的劃分及使用者使用系統(tǒng)的權(quán)限等,使系統(tǒng)停頓、損壞無法正常工作或異常工作,一般的防毒程序是比對磁盤或光盤內(nèi)的病毒碼,一旦使用者未能實時更新,一些未知病毒仍有機(jī)會進(jìn)入DRAM,并通過CPU執(zhí)行使系統(tǒng)癱瘓,根本無法防止病毒不寫入DRAM中,因此也無法提供有效的防制方法。
因此,本發(fā)明的主要目的是提供一種控制內(nèi)存記憶頁存取屬性的方法及其架構(gòu),特別是一種低階驅(qū)動程序或系統(tǒng)芯片組對內(nèi)存的部分區(qū)域做讀(read)、寫(write)控制方法,主要是利用緩存器設(shè)定程序?qū)?nèi)存作運(yùn)作區(qū)域設(shè)定,及利用實際操作程序確認(rèn)該區(qū)域的操作模式,進(jìn)而控制此區(qū)域作只讀(read only)、唯寫(write only)、寫一次(writeonce)、讀一次(read once)等功能,使已加載內(nèi)存中即將執(zhí)行的程序、核對的密碼等資料,不會被非法入侵者(hacker)、病毒等侵入,提供系統(tǒng)安全的通用性保護(hù)。
為此本發(fā)明提供一種控制內(nèi)存記憶頁存取屬性的方法,包括有緩存器設(shè)定程序及運(yùn)作程序兩部分,其特征在于該緩存器設(shè)定程序包括有設(shè)定DRAM區(qū)域去定義記憶頁屬性步驟;包括了設(shè)定該區(qū)段的起始位置、結(jié)束位置、記憶頁數(shù)及記憶頁大小等,以界定出低階驅(qū)動程序直接控制的DRAM部分區(qū)域;決定記憶頁屬性的步驟是依據(jù)前述設(shè)定的結(jié)果建立一對映緩沖表,用以指出單一記憶頁的屬性表或一記憶頁區(qū)段;建立一快速頁查詢表的步驟;是依據(jù)緩存器設(shè)定程序的結(jié)果建立,用以指示該記憶頁將以正常存取模式或是以頁屬性操作模式進(jìn)行;該實際操作程序是核對快速頁查詢表及對映緩沖表,依據(jù)此二表的記憶頁屬性記錄,將DRAM設(shè)定為只讀、唯寫、設(shè)定讀寫次數(shù)、重對映讀、重對映寫等運(yùn)作。
本發(fā)明還提供了一種控制內(nèi)存記憶頁存取屬性的架構(gòu),它包括有至少一個其包含有多個記憶頁的動態(tài)隨機(jī)存取內(nèi)存和一內(nèi)存控制器。該內(nèi)存控制器其包含有一控制器,系控制存取每一個記憶頁,其內(nèi)設(shè)有一內(nèi)存用以儲存所述的設(shè)定程序的結(jié)果;一靜態(tài)隨機(jī)存取內(nèi)存,系儲存快速頁查詢表,設(shè)有多個對映于記憶頁的指示位,用以指示該記憶頁是以正常存取模式或是以頁操作模式進(jìn)行;一交換開關(guān),其一輸入端系連接于DRAM資料端;以及一隨機(jī)數(shù)產(chǎn)生器連接于交換開關(guān)的另一輸入端,并由一次數(shù)計數(shù)器或唯寫控制信號控制開關(guān)的切換。
以下將對本發(fā)明的方法及其架構(gòu)設(shè)計與技術(shù)原理,作一詳細(xì)說明,參照所示之附圖,將對本發(fā)明的特征作更進(jìn)一步的了解。其中
圖1是本發(fā)明的動態(tài)隨機(jī)存取內(nèi)存架構(gòu)圖;圖2是本發(fā)明方法的流程圖;圖3是本發(fā)明的屬性設(shè)定的硬件圖;圖4是本發(fā)明的重對映讀屬性的步驟的流程圖;圖5是本發(fā)明的重對映寫屬性的步驟的流程圖。
標(biāo)號說明10動態(tài)隨機(jī)存取內(nèi)存模塊11動態(tài)隨機(jī)存取內(nèi)存(DRAM)12記憶頁20內(nèi)存控制器 23靜態(tài)隨機(jī)存取內(nèi)存(SRAM)21控制器22內(nèi)存(閃存) 30系統(tǒng)芯片 40CPU 50交換開關(guān)60隨機(jī)數(shù)產(chǎn)生器70次數(shù)計數(shù)器如圖1所示,本發(fā)明的動態(tài)隨機(jī)存取內(nèi)存的架構(gòu)包括有至少一個動態(tài)隨機(jī)存取內(nèi)存模塊10及一內(nèi)存控制器20;每一個動態(tài)隨機(jī)存取內(nèi)存模塊10包括有多個動態(tài)隨機(jī)存取內(nèi)存11(以下簡稱DRAM11),其中該動態(tài)隨機(jī)存取內(nèi)存11包括有多個記憶頁12(圖1僅將其中一DRAM11展開說明);該內(nèi)存控制器20包括有一控制器21,系控制存取每一個記憶頁11,其內(nèi)設(shè)有一內(nèi)存22(在本實施例中采用閃存)用以儲存設(shè)定程序結(jié)果(其運(yùn)作方法容后詳述);一靜態(tài)隨機(jī)存取內(nèi)存23(以下簡稱為SRAM23),系儲存快速頁查詢表,并包含有多個對映于記憶頁12的指示位,用以指示該記憶頁12是以正常存取模式或是以頁操作模式進(jìn)行(其運(yùn)作方法如后詳述)。
該SRAM23也可以一緩存器(register)(圖號未標(biāo))取代,緩存器的缺點(diǎn)在于邏輯閘數(shù)較多、較占IC的面積,不適合應(yīng)用于較大的容量,但它存取較為靈活,設(shè)計上可視系統(tǒng)的需要而加以選擇。
本發(fā)明是在控制DRAM11的低階驅(qū)動程序或系統(tǒng)芯片30(如圖3所示)組對DRAM11的部分區(qū)域做讀、寫控制方法,如圖2所示,包括有緩存器設(shè)定程序A(register setting)及實際操作程序B(real operation)兩部分,其中該緩存器設(shè)定程序A在處理DRAM11的記憶頁12屬性之前,先去設(shè)定想要控制的DRAM11的記憶頁12區(qū)間,計算機(jī)系統(tǒng)開機(jī)后首先執(zhí)行BIOS,緩存器設(shè)定程序A即在此段時間內(nèi)進(jìn)行設(shè)定,在此段時間中,由于控制權(quán)尚未交付操作系統(tǒng)及CPU40,因此緩存器設(shè)定程序經(jīng)設(shè)定完成后即無法再作修改。該緩存器設(shè)定包括有下列步驟步驟A1設(shè)定DRAM11區(qū)域去定義記憶頁12的屬性,包括了該區(qū)段的起始位置(startlocation)、結(jié)束位置(end location)、記憶頁數(shù)(page number)及記憶頁大小(page size)等以界定出低階驅(qū)動程序直接控制的DRAM11部分區(qū)域。
步驟A2決定記憶頁12的屬性,并依據(jù)前述設(shè)定的結(jié)果建立一對映緩沖表(Table ofLook-Aside Buffer,TLB)用以指出單一記憶頁12的屬性表(如表1所示的003、008)或一記憶頁區(qū)段(如表1所示的A02-A08),儲存在DRAM11所設(shè)的閃存22內(nèi)。
步驟A3依據(jù)前述的設(shè)定結(jié)果建立一快速頁查詢表(Fast Page Lookup Table,F(xiàn)PLT)并儲存在DRAM11的靜態(tài)隨機(jī)存取內(nèi)存23或是緩存器。該快速頁查詢表FPLT是用以指示該記憶頁12將以正常存取模式或是以頁屬性操作模式進(jìn)行。
表1該實際操作程序B包括有下列步驟步驟B1檢查儲存在靜態(tài)隨機(jī)存取內(nèi)存23中的快速頁查詢表FPLT,以確認(rèn)記憶頁12是為正常操作模式,還是經(jīng)設(shè)定屬性的頁操作模式進(jìn)行。
步驟B2檢查儲存在閃存22內(nèi)的對映緩沖表TLB,以確認(rèn)該記憶頁12所設(shè)定的運(yùn)作屬性。
步驟B3執(zhí)行屬性的運(yùn)作。
以一個16M的DRAM模塊為例,可劃分為4000個4K大小的記憶頁(000-FFF)。SRAM23也有4000位(bits)分別對映于每一個DRAM11的記憶頁12,用以指示該記憶頁12是以正常存取模式或以頁操作模式進(jìn)行;當(dāng)對映于某一記憶頁12的SRAM23位指示為“0”時,表示該記憶頁為正常存取模式;當(dāng)對映于某一記憶頁12的SRAM23位指示為“1”時,表示該記憶頁12為頁屬性操作模式(Page Operation),則系統(tǒng)會檢查對映緩沖表(TLB),以確定該頁的屬性(如圖2所示)。
舉例來說,當(dāng)008頁的快速頁查詢表FPLT為“1”,將會去檢查對映緩沖表TLB以確認(rèn)第008頁的操作屬性,而由表1得知該記憶頁的屬性設(shè)定為只讀,因此第008記憶頁將只提供讀取而無法作寫入運(yùn)作。 表2該低階驅(qū)動程序主要控制DRAM作只讀、唯寫、寫一次等功能,各種屬性的設(shè)定與功能分述如下A只讀(read only)設(shè)定此區(qū)域為只讀時,即將數(shù)據(jù)總線屏蔽(Data bus Mask,DQM)或是寫致能(writeenbale)屏蔽(mask),換言之,便是將寫入的周期信號改變?yōu)樽x取周期,而無法對此區(qū)域?qū)懭肴魏钨Y料,但CPU40任何下達(dá)寫入的命令仍舊正常運(yùn)作,但因DQM或是寫致能被屏蔽形成一無效的寫動作,因此不妨礙CPU的正常作業(yè)?;蛘呤窃趯懼芷?write cucle)時,由系統(tǒng)芯片回復(fù)給CPU40一個預(yù)備信號(ready),表示寫的動作已經(jīng)完成,使得CPU40事實上在寫的周期中呈現(xiàn)不動作狀態(tài)而不會去執(zhí)行寫入的指令。
此只讀功能可應(yīng)用于系統(tǒng)的保全中,CPU40自DRAM11讀取的密碼位置被設(shè)定為只讀,非法入侵者將無法通過修改或變更進(jìn)入計算機(jī)系統(tǒng)。
再以病毒為例說明,當(dāng)程序儲存于DRAM11中設(shè)定的區(qū)域中要執(zhí)行時,由于此區(qū)域已設(shè)定為只讀功能,則在程序執(zhí)行時,病毒碼無法再寫入,因此能防止執(zhí)行檔遭受感染,換言之,本發(fā)明在執(zhí)行程序的入口即阻擋病毒碼入侵,否認(rèn)計算機(jī)系統(tǒng)是否有病毒碼存在,將永遠(yuǎn)不會被執(zhí)行。
B唯寫(write only)如圖3所示,DRAM11的資料端連接于一交換開關(guān)50的一個輸入端,并設(shè)有一隨機(jī)數(shù)產(chǎn)生器60(random generator)連接于交換開關(guān)50的另一輸入端,該交換開關(guān)50是由唯寫控制信號wo.ctl所控制。當(dāng)唯寫控制信號wo.ctl為“0”時,交換開關(guān)50即連結(jié)CPU40將資料傳送至DRAM11。當(dāng)唯寫控制信號wo.ctl為“1“時,交換開關(guān)50將連結(jié)隨機(jī)數(shù)產(chǎn)生器60所產(chǎn)生的隨機(jī)數(shù)資料傳送至DRAM11。
在設(shè)定此區(qū)域為唯寫時,唯寫控制信號wo.ctl將被設(shè)定為“1”,此時寫入的動作即與一般DRAM11無異,倘若欲從此區(qū)域讀取資料,交換開關(guān)50將隨機(jī)數(shù)傳至CPU40,而讀取到此一無效資料,即CPU任何下達(dá)讀取的命令仍舊正常運(yùn)作,但因讀取的資料為隨機(jī)數(shù)而形成一無效的讀取動作,因此不妨礙CPU40的正常作業(yè)。
C讀一次(read once)設(shè)定此區(qū)域為讀一次時,如圖3所示,該交換開關(guān)50是由一次數(shù)計數(shù)器70(timecount)所控制。
在第一次讀取動作時,即為一般正常的讀取動作,而當(dāng)再一次下達(dá)讀取命令時,次數(shù)計數(shù)器70(由于設(shè)定記屬值為“1”)將不允許此動作發(fā)生,而將交換開關(guān)50切換至隨機(jī)數(shù)產(chǎn)生器60,此時所讀取到即為無效的隨機(jī)數(shù)。
D寫一次(write once)在設(shè)定此區(qū)域為寫一次時,低階驅(qū)動程序?qū)热z測此區(qū)域的區(qū)域的開始地址及區(qū)域的結(jié)束地址,若發(fā)現(xiàn)此二條件之一者已被寫入資料,該低階程序?qū)⒉辉试S資料再寫入。
又或是如圖3所示,該次數(shù)計數(shù)器70在寫入動作發(fā)生時將做記錄,一旦發(fā)現(xiàn)已寫入一次,則低階驅(qū)動程序?qū)⒉辉试S資料再寫入。
另外可通過低階驅(qū)動程序設(shè)定次數(shù),來規(guī)范此區(qū)域可允許的寫入次數(shù),構(gòu)成寫N次(N為設(shè)定值)或讀N次的屬性。
E重對映讀(read redirect)(如圖4所示)在設(shè)定此區(qū)域為重對映讀時,先設(shè)定至少一記憶頁12作為保護(hù)區(qū)(步驟a),并將儲存如使用權(quán)限、公鑰、私鑰等重要資料的記憶頁(下稱儲存區(qū))復(fù)制到保護(hù)區(qū)中(步驟b),若儲存區(qū)發(fā)現(xiàn)寫入的動作時,系統(tǒng)不會立即接受并動作,將先檢查此內(nèi)容的變更是否合法(步驟c),若合法寫入,則將變更后的儲存區(qū)復(fù)制到保護(hù)區(qū),并由系統(tǒng)讀取保護(hù)區(qū)內(nèi)的資料而運(yùn)作(步驟d);若發(fā)現(xiàn)為不合法寫入、寫入資料錯誤或是不應(yīng)該寫入的動作時,系統(tǒng)則將保護(hù)區(qū)內(nèi)的資料重對映至儲存區(qū),使系統(tǒng)回復(fù)(recover)原先狀態(tài)(步驟e),使寫入動作無效,即無法變更重要資料。
F重對映寫(write redirect)(如圖5所示)在設(shè)定此區(qū)域為重對映寫時,先設(shè)定至少一記憶頁作為保護(hù)區(qū)(步驟a),每一次寫入DRAM的資料均先儲存至保護(hù)區(qū)中(步驟b),判斷寫入的資料是否會對系統(tǒng)產(chǎn)生破壞性(步驟c),若無破壞性再將此資料移送至系統(tǒng)指定儲存的記憶頁(步驟d);若具有破壞性則保留寫入資料繼續(xù)儲存在保護(hù)區(qū)中不動作(步驟e),使DRAM不會依據(jù)修改內(nèi)容而立刻產(chǎn)生作用,提供一復(fù)檢資料的路徑。
舉例來說,假設(shè)第2記憶頁是作為使用權(quán)限(或是公鑰、私鑰等)的儲存區(qū),在每一次修改使用權(quán)限后的內(nèi)容必須要重存回第2區(qū)中,系統(tǒng)才得以依據(jù)新設(shè)定的權(quán)限開放適當(dāng)?shù)馁Y源給使用者。一般而言,修改使用權(quán)限可能有系統(tǒng)授權(quán)、病毒、非法入侵植入的蟲(worm)三種途徑,病毒碼及非法入侵者通常藉由修改系統(tǒng)堆棧(stack)方式侵入,修改的堆??赡苁侵袛?interupt)、檢查使用者權(quán)限等各種命令,一旦被修改并復(fù)寫入第2記憶頁后,系統(tǒng)將立即反應(yīng)而接收新的使用權(quán)即,非法入侵者即可能變更為權(quán)即最高的使用者(super user),而對系統(tǒng)的任何資料予取予求,或是將原先要存取硬盤資料的中斷信號變更為刪除硬盤資料、硬盤格式化等,破壞硬盤資料的完整性,使系統(tǒng)無法正常運(yùn)作。
因此在本發(fā)明的重對映讀屬性中,可以將系統(tǒng)的使用者權(quán)限的認(rèn)定資料放入保護(hù)區(qū)(在此以第10記憶頁說明),使用權(quán)限被修改后,將先儲存在第10記憶頁的保護(hù)區(qū)中,經(jīng)判斷其是否為合法的修改(如判斷堆棧的壓入(push)及頂出(pop)命令是否平衡或溢位(overflow)),若為合法,則將第10記憶頁的保護(hù)區(qū)內(nèi)資料移送至第2頁,使計算機(jī)接受并依據(jù)修改后的內(nèi)容運(yùn)作,否則將繼續(xù)儲存在保護(hù)區(qū)內(nèi),將其與系統(tǒng)隔離,杜絕非法修改或病毒入侵的機(jī)會。
另外,在前述各種屬性設(shè)定中,一旦交換開關(guān)50切換至隨機(jī)數(shù)產(chǎn)生器60,將無用的隨機(jī)數(shù)傳送至CPU,使CPU無法對DRAM作屬性設(shè)定相反的各種功能(例如只讀屬性中CPU即無法對DRAM作寫入功能等)。換言之,在此段時間CPU是與DRAM是呈隔離狀態(tài),但對于系統(tǒng)內(nèi)部的其它控制單元仍能正常存取運(yùn)作。
綜上所述,本發(fā)明所提供的控制內(nèi)存記憶頁存取屬性的方法及其架構(gòu),能進(jìn)一步對記憶頁作屬性設(shè)定,增進(jìn)動態(tài)隨機(jī)存取內(nèi)存運(yùn)作功能,不再全盤接收CPU或硬盤的儲存資料,進(jìn)而控管資料流提供系統(tǒng)安全的通用性保護(hù),對于傳統(tǒng)安全系統(tǒng)無法周全保護(hù)動態(tài)隨機(jī)內(nèi)存的漏洞提出有效的解決辦法及對策。
權(quán)利要求
1.一種控制內(nèi)存記憶頁存取屬性的方法,包括有緩存器設(shè)定程序及運(yùn)作程序兩部分,其特征在于該緩存器設(shè)定程序包括有設(shè)定DRAM區(qū)域去定義記憶頁屬性步驟;包括了設(shè)定該區(qū)段的起始位置、結(jié)束位置、記憶頁數(shù)及記憶頁大小等,以界定出低階驅(qū)動程序直接控制的DRAM部分區(qū)域;決定記憶頁屬性的步驟是依據(jù)前述設(shè)定的結(jié)果建立一對映緩沖表,用以指出單一記憶頁的屬性表或一記憶頁區(qū)段;建立一快速頁查詢表的步驟;是依據(jù)緩存器設(shè)定程序的結(jié)果建立,用以指示該記憶頁將以正常存取模式或是以頁屬性操作模式進(jìn)行;該實際操作程序是核對快速頁查詢表及對映緩沖表,依據(jù)此二表的記憶頁屬性記錄,將DRAM設(shè)定為只讀、唯寫、設(shè)定讀寫次數(shù)、重對映讀、重對映寫等運(yùn)作。
2.如權(quán)利要求1所述的控制內(nèi)存記憶頁存取屬性的方法,其特征在于該只讀功能是將數(shù)據(jù)總線屏蔽或是寫致能屏蔽,將寫入的周期信號改變?yōu)樽x取周期,而無法對此區(qū)域?qū)懭肴魏钨Y料。
3.如權(quán)利要求1所述的控制內(nèi)存記憶頁存取屬性的方法,其特征在于該只讀功能是將在寫入周期時,由系統(tǒng)芯片回復(fù)一信號至CPU,使CPU不動作而不執(zhí)行寫入指令。
4.如權(quán)利要求1所述的控制內(nèi)存記憶頁存取屬性的方法,其特征在于該重對映讀的屬性設(shè)定包括有下列步驟a、設(shè)定至少一記憶頁作為保護(hù)區(qū)的步驟;b、將儲存如使用權(quán)限、公鑰、私鑰等重要資料的記憶頁復(fù)制到保護(hù)區(qū)的步驟;c、判斷寫入儲存重要資料的記憶頁的動作是否合法,若為合法寫入,則復(fù)制到保護(hù)區(qū),并由系統(tǒng)讀取保護(hù)區(qū)資料而運(yùn)作;若為不合法寫入、寫入資料錯誤或是不應(yīng)該寫入的動作,系統(tǒng)則將保護(hù)區(qū)內(nèi)的資料重對映至儲存重要資料的記憶頁,使系統(tǒng)回復(fù)原先狀態(tài)不接受任何變更。
5.如權(quán)利要求1所述的控制內(nèi)存記憶頁存取屬性的方法,其特征在于重對映寫的屬性設(shè)定包括有下列步驟a、設(shè)定至少一記憶頁作為保護(hù)區(qū)的步驟;b、儲存要寫入的資料到保護(hù)區(qū)的步驟;c、判斷寫入的資料是否會對系統(tǒng)產(chǎn)生破壞,若無破壞性再將此資料移送至系統(tǒng)指定儲存的記憶頁;若具有破壞性則繼續(xù)儲存保護(hù)區(qū)中不動作,使DRAM不會依據(jù)修改內(nèi)容而立刻產(chǎn)生作用,提供一復(fù)檢資料的路徑。
6.一種控制內(nèi)存記憶頁存取屬性的架構(gòu),包括有至少一個動態(tài)隨機(jī)存取內(nèi)存,其包含有多個記憶頁;一內(nèi)存控制器,其包含有一控制器,系控制存取每一個記憶頁,其內(nèi)設(shè)有一內(nèi)存用以儲存所述的設(shè)定程序的結(jié)果;一靜態(tài)隨機(jī)存取內(nèi)存,系儲存快速頁查詢表,設(shè)有多個對映于記憶頁的指示位,用以指示該記憶頁是以正常存取模式或是以頁操作模式進(jìn)行;一交換開關(guān),其一輸入端系連接于DRAM資料端;以及一隨機(jī)數(shù)產(chǎn)生器連接于交換開關(guān)的另一輸入端,并由一次數(shù)計數(shù)器或唯寫控制信號控制開關(guān)的切換。
7.如權(quán)利要求6所述的控制內(nèi)存記憶頁存取屬性的架構(gòu),其特征在于該快速頁查詢表由緩存器儲存。
8.如權(quán)利要求1或6所述的控制內(nèi)存記憶頁存取屬性的方法及其架構(gòu),其特征在于該唯寫功能屬性是由唯寫控制信號控制交換開關(guān)切換至隨機(jī)數(shù)產(chǎn)生器,使其產(chǎn)生的隨機(jī)數(shù)資料傳至CPU,造成讀取的資料為無效的資料。
9.如權(quán)利要求1或6所述的控制內(nèi)存記憶頁存取屬性的方法及其架構(gòu),其特征在于該讀一次功能屬性是由次數(shù)計數(shù)器控制;在第一次讀取動作時,即為一般正常的讀取動作,而當(dāng)再一次下達(dá)讀取命令時,次數(shù)計數(shù)器將不允許此動作發(fā)生,而將交換開關(guān)切換至隨機(jī)數(shù)產(chǎn)生器,使再次讀取為無效的隨機(jī)數(shù)。
10.如權(quán)利要求1或6所述的控制內(nèi)存記憶頁存取屬性的方法及其架構(gòu),其特征在于該寫一次功能是由低階驅(qū)動程序檢測區(qū)域的開始地址及區(qū)域的結(jié)束地址,若發(fā)現(xiàn)此二條件之一者已被寫入資料,將不允許資料再寫入。
11.如權(quán)利要求1或6所述的控制內(nèi)存記憶頁存取屬性的方法及其架構(gòu),其特征在于該寫一次是由次數(shù)計數(shù)器記錄下動作次數(shù),一旦發(fā)現(xiàn)已寫入一次,則低階驅(qū)動程序?qū)⒉辉试S資料再寫入。
12.如權(quán)利要求1或6所述的控制內(nèi)存記憶頁存取屬性的方法及其架構(gòu),其特征在于該次數(shù)計數(shù)器通過低階驅(qū)動程序設(shè)定,以規(guī)范可允許的寫入或讀取次數(shù),構(gòu)成讀取或?qū)懭胍欢ù螖?shù)的屬性設(shè)定。
全文摘要
本發(fā)明涉及一種控制內(nèi)存記憶頁存取屬性的方法及其架構(gòu)。特別是一種低階驅(qū)動程序或系統(tǒng)芯片組對內(nèi)存的部分區(qū)域做讀、寫控制方法,主要是利用緩存器設(shè)定程序?qū)?nèi)存做運(yùn)作區(qū)域設(shè)定,及利用實際操作程序確認(rèn)該區(qū)域的操作模式,進(jìn)而控制此區(qū)域作只讀、唯寫、寫一次、讀一次等功能,使已加載內(nèi)存中即將執(zhí)行的程序、核對的密碼等資料,不會被非法入侵者、病毒等侵入,提供系統(tǒng)安全的通用性保護(hù)。
文檔編號G06F12/16GK1289968SQ0013278
公開日2001年4月4日 申請日期2000年11月17日 優(yōu)先權(quán)日2000年11月17日
發(fā)明者后健慈 申請人:后健慈