專利名稱:半導(dǎo)體器件和存儲(chǔ)器保護(hù)方法
技術(shù)領(lǐng)域:
本申請(qǐng)描述的實(shí)施例一般地涉及半導(dǎo)體器件和存儲(chǔ)器保護(hù)方法。
背景技術(shù):
通常,被稱為單級(jí)存儲(chǔ)結(jié)構(gòu)的技術(shù)已公知。此為存儲(chǔ)器管理技術(shù),該技術(shù)作為ー個(gè) 地址空間管理存儲(chǔ)器件,沒有區(qū)分主存儲(chǔ)器件和輔助存儲(chǔ)器件。在這樣的單級(jí)存儲(chǔ)技術(shù)中,當(dāng)執(zhí)行多個(gè)處理時(shí),保護(hù)從ー個(gè)處理到另ー個(gè)處理所請(qǐng)求的信息的技術(shù)很重要。
發(fā)明內(nèi)容
本發(fā)明提供一種能夠有效保護(hù)信息的半導(dǎo)體器件和存儲(chǔ)器保護(hù)方法?!愕?,根據(jù)ー個(gè)實(shí)施例,一種半導(dǎo)體器件包括處理器;和存儲(chǔ)器件。存儲(chǔ)器件具有非易失性半導(dǎo)體存儲(chǔ)器件并且被配置為作為處理器的主存儲(chǔ)器。當(dāng)處理器執(zhí)行多個(gè)程序時(shí),所述處理器作為用于各程序的工作集(workset)來管理執(zhí)行所述程序所要求的信息片段,并且為各工作集創(chuàng)建表,所述表保持各工作集要求的信息片段和在所述存儲(chǔ)器件中的所述信息片段的地址之間的關(guān)系。所述處理器參照用于所述各工作集的對(duì)應(yīng)的表存取所述存儲(chǔ)器件。本發(fā)明的實(shí)施例可以實(shí)現(xiàn)能夠有效保護(hù)信息的半導(dǎo)體器件和存儲(chǔ)器保護(hù)方法。
圖I是根據(jù)第一實(shí)施例的半導(dǎo)體器件的框圖;圖2、3和4是根據(jù)第一實(shí)施例的半導(dǎo)體器件的地址空間的概念圖;圖5示出了根據(jù)第一實(shí)施例的半導(dǎo)體器件的操作流程圖;圖6是根據(jù)第一實(shí)施例的半導(dǎo)體器件的地址空間的概念圖;圖7是根據(jù)第一實(shí)施例的頁表的概念圖;圖8是根據(jù)第一實(shí)施例的半導(dǎo)體器件的地址空間的概念圖;圖9是根據(jù)第一實(shí)施例的頁表的概念圖;圖10和11是根據(jù)第一實(shí)施例的半導(dǎo)體器件的地址空間的概念圖;圖12和13是根據(jù)第一實(shí)施例的頁表的概念圖;圖14是根據(jù)第一實(shí)施例的半導(dǎo)體器件的地址空間的概念圖;圖15是根據(jù)第二實(shí)施例的半導(dǎo)體器件的地址空間的概念圖;圖16示出了根據(jù)第二實(shí)施例的半導(dǎo)體器件的操作流程圖17是根據(jù)第二實(shí)施例的頁表的概念圖;圖18示出了根據(jù)第二實(shí)施例的半導(dǎo)體器件的操作流程圖;圖19是根據(jù)第三實(shí)施例的半導(dǎo)體器件的地址空間的概念圖;圖20示出了根據(jù)第三實(shí)施例的數(shù)據(jù)管理方法的概念圖;圖21示出了根據(jù)第三實(shí)施例的半導(dǎo)體器件的操作流程圖;圖22是根據(jù)第四實(shí)施例的半導(dǎo)體器件的框圖;圖23是根據(jù)第一到第四實(shí)施例的半導(dǎo)體器件的框圖;圖24和25是根據(jù)第一到第四實(shí)施例的修改的半導(dǎo)體器件的框圖。
具體實(shí)施例方式第一實(shí)施例下面將根據(jù)第一實(shí)施例描述半導(dǎo)體器件和存儲(chǔ)器保護(hù)方法。I.半導(dǎo)體器件的設(shè)置圖I是根據(jù)此實(shí)施例的半導(dǎo)體器件的框圖。如圖I所示,半導(dǎo)體器件I包括處理器(MCU :微型控制單元)10、存儲(chǔ)器件20、和MMU (存儲(chǔ)管理單元)30和31。MCU 10使用保持在存儲(chǔ)器件20中的數(shù)據(jù)執(zhí)行各種類型的處理。存儲(chǔ)器件20包括易失性半導(dǎo)體存儲(chǔ)器(例如,在此實(shí)例中的DRAM) 21和非易失性半導(dǎo)體存儲(chǔ)器(例如,在此實(shí)例中的NAND閃存)22。DRAM21用作NAND閃存22的高速緩存存儲(chǔ)器。存儲(chǔ)器件20保持例如OS(操作系統(tǒng))和應(yīng)用的各種程序和數(shù)據(jù)。通過單級(jí)存儲(chǔ)技術(shù)管理DRAM 21和NAND閃存22。從而,當(dāng)從MCU 10的觀點(diǎn)看時(shí),存儲(chǔ)器件20沒有區(qū)分DRAM 21 和 NAND 閃存 22。MMU 30和31通過OS的幫助響應(yīng)來自MCU 10的請(qǐng)求而存取存儲(chǔ)器件20。然后,MMU 30和31從存儲(chǔ)器件20讀取數(shù)據(jù)并且將數(shù)據(jù)寫入存儲(chǔ)器件20。MMU 30承擔(dān)DRAM 21的存取控制并且MMU 31承擔(dān)NAND閃存22的存取控制。即,當(dāng)被要求的數(shù)據(jù)從NAND閃存22高速緩存到DRAM 21時(shí),MCU 10向MMU 30發(fā)布數(shù)據(jù)讀取和寫入請(qǐng)求。在此情況下,MMU30將從MCU 10接收的邏輯地址轉(zhuǎn)換,以向DRAM 21執(zhí)行被請(qǐng)求的數(shù)據(jù)的讀取和寫入存取。另ー方面,當(dāng)被請(qǐng)求的數(shù)據(jù)沒有高速緩存到DRAM 21吋,MCU 10向MMU 31發(fā)布數(shù)據(jù)讀取和寫入請(qǐng)求。在此情況下,MMU 30將從MCU 10接收的邏輯地址轉(zhuǎn)換,并且向NAND閃存22執(zhí)行被請(qǐng)求數(shù)據(jù)的讀取和寫入存取??梢酝ㄟ^例如OS決定被請(qǐng)求的數(shù)據(jù)是否被高速緩存到 DRAM 21。在此方式中,MCU 10執(zhí)行通過MMU 30和31讀出的OS,并且在此OS上執(zhí)行各種應(yīng)用。圖2是從MCU 10觀看時(shí)存儲(chǔ)器件20以及DRAM 21和NAND閃存22的地址空間的概念圖。存儲(chǔ)器件20的地址空間明顯是來自MCU 10的虛擬存儲(chǔ)功能的一個(gè)地址空間。下文中,此地址空間將被稱為虛擬地址空間。通過作為每個(gè)都具有給定尺寸的存儲(chǔ)區(qū)域的頁單位管理每個(gè)地址空間。圖2示范了存儲(chǔ)器件20中的確定文件A。如圖2所示,假定文件A存儲(chǔ)在NAND閃存22的頁P(yáng)Nl和PN2中。這些頁P(yáng)Nl和PN2與例如在虛擬地址空間中的頁P(yáng)Gl到PG4相關(guān)聯(lián)。如圖2所示,在NAND閃存22上的頁順序可以不同于在虛擬地址空間上的頁順序。
當(dāng)MCU 10要求此文件A時(shí),在NAND閃存上的頁P(yáng)Nl和PN2被讀出到用作高速緩存存儲(chǔ)器的DRAM 21上。在此實(shí)例中,在DRAM 21上的頁P(yáng)Dl和TO3中存儲(chǔ)頁P(yáng)Nl的數(shù)據(jù),并且在DRAM 21上的頁P(yáng)D2和TO4中存儲(chǔ)頁P(yáng)N2的數(shù)據(jù)。在DRAM 21上的頁P(yáng)Dl到PD4分別與虛擬地址空間上的頁P(yáng)G1、PG3、PG2和PG4相關(guān)聯(lián)。在此方式中,當(dāng)在NAND閃存22中的數(shù)據(jù)高速緩存到DRAM 21上時(shí),在相同的虛擬地址空間上分配在NAND閃存22和DRAM 21上的數(shù)據(jù)以分享ー些虛擬地址。一般地,NAND閃存22的尺寸大于DRAM 21的尺寸。因此,NAND閃存22上僅有ー些數(shù)據(jù)被高速緩存到DRAM 21上。然而,雖然未在圖2中示出,沒有高速緩存到DRAM 21上的頁P(yáng)N同樣與虛擬地址空間上的任意頁P(yáng)G相關(guān)聯(lián)。
然后,當(dāng)MCU 10向在虛擬地址空間上的頁P(yáng)Gl到PG4執(zhí)行讀取存取時(shí),MMU 30從DRAM 21上讀出文件A。通過MMU 30和31控制在MCU 10以及DRAM 21和NAND閃存之間的存取,并且MCU10僅需要識(shí)別虛擬地址。在此情況下,MMU 30和31使用特定的頁單元管理虛擬地址空間,如上所述。然后,為了實(shí)現(xiàn)此管理,MMU 30和31使用頁表PT作為在虛擬地址空間、DRAM21的物理地址和NAND閃存22的物理地址(頁P(yáng)N的地址)上的頁之間具有對(duì)應(yīng)關(guān)系的表。頁表PT具有與用于在虛擬地址空間上的各頁的存取控制相關(guān)聯(lián)的信息?;谶@些信息,MMU 30和31允許或禁止從MCU 10到存儲(chǔ)器件20的存取。頁表PT存儲(chǔ)在例如NAND閃存22中,并且頁表PT的一些數(shù)據(jù)被高速緩存到例如DRAM 21上,以便允許MMU 30和31使用那些數(shù)據(jù)??蛇x地,頁表PT的一些數(shù)據(jù)還可以高速緩存到MMU 30和31中諸如寄存器的存儲(chǔ)器件上。圖3是另ー個(gè)示意圖,示出了虛擬地址空間和DRAM 21和NAND閃存22的地址空間之間的關(guān)系。DRAM 21和NAND閃存22的各頁與虛擬地址空間相關(guān)聯(lián),如圖3中所示。在此情況下,在NAND閃存22上的特定頁P(yáng)N與虛擬地址空間上的頁P(yáng)G2關(guān)聯(lián),但是在ー些情況下頁P(yáng)N可以仍未設(shè)置。當(dāng)MCU 10要求這些數(shù)據(jù)時(shí),MMU 30和31識(shí)別它們對(duì)應(yīng)的關(guān)系。圖4示出了另ー個(gè)實(shí)例。在圖4中,使用數(shù)據(jù)的任意組(圖4中用“區(qū)域”指示)的単位管理地址空間。當(dāng)以此方式的數(shù)據(jù)單位觀看時(shí),這些數(shù)據(jù)的虛擬地址通常不連續(xù)。2.半導(dǎo)體器件I的操作下面將參考圖5描述具有上述設(shè)置的半導(dǎo)體器件I的操作。圖5示出了當(dāng)MCU 10執(zhí)行特定程序代碼CDl并且在程序代碼CDl的執(zhí)行處理期間執(zhí)行另一程序代碼CD2時(shí),半導(dǎo)體器件I的操作序列的流程?!碠S 的處理 >最初,OS執(zhí)行處理。不必說,在實(shí)踐中,在MCU 10上執(zhí)行通過OS的處理。如圖5所示,在MCU 10上運(yùn)行的OS創(chuàng)建工作集WSl以執(zhí)行代碼⑶I (步驟S10)。工作集是運(yùn)行特定程序所要求的所有信息片段和存儲(chǔ)區(qū)域的組。例如,考慮其中將要執(zhí)行使用特定數(shù)據(jù)進(jìn)行算木操作的代碼的情況,工作集包括代碼本身,算木操作所需的數(shù)據(jù)以及存儲(chǔ)算木操作結(jié)果所需的存儲(chǔ)空間。另外,OS創(chuàng)建工作集WSl的頁表PTl (步驟S11)。OS將這些頁表PTl存儲(chǔ)在NAND閃存22中,同樣也存儲(chǔ)在DRAM 21和MMU 30中。如上所述,頁表是指示圖2示出的虛擬地址空間和DRAM 21和NAND閃存22的物理地址之間的關(guān)系的表。一旦完成工作集WSl和頁表PTl的創(chuàng)建,OS向工作集WSl傳遞控制(步驟S12)。〈工作集WSl的處理〉步驟S12之后,處理轉(zhuǎn)換到工作集WSl。工作集WSl執(zhí)行程序代碼⑶I并且執(zhí)行處理(步驟S13)。在實(shí)踐中,此處理同樣在MCU 10上執(zhí)行。在工作集WSl的操作中,MMU 30參照頁表PTl以存取工作集WSl要求的信息。假設(shè)在工作集WSl中,要求執(zhí)行未包括在エ作集WSl中(即,未包括在頁表PTl中)的程序代碼CD2(在步驟S14中的是)。然后,工作集WSl執(zhí)行外部呼叫指令。更具體地,工作集WSl設(shè)定執(zhí)行代碼⑶2要求的數(shù)據(jù)Dl的地址(步驟S15),并且執(zhí)行中斷處理(步驟S16)。即,工作集WSl僅僅識(shí)別代碼⑶2的存在,但是不識(shí)別其位置。因此,工作集WSl向OS發(fā)布代碼⑶2的執(zhí)行請(qǐng)求。 〈OS 的處理 >響應(yīng)于步驟S16中的中斷處理,處理轉(zhuǎn)換到OS。OS創(chuàng)建執(zhí)行代碼⑶2要求的工作集WS2 (步驟S17)。隨后,OS創(chuàng)建工作集WS2的頁表PT2 (步驟S18),并且將其存儲(chǔ)在NAND閃存22中并且也存儲(chǔ)在DRAM21和MMU 30中。在創(chuàng)建工作集WS2和頁表PT2之后,OS向工作集WS2傳遞控制(步驟S19)。<工作集WS2的處理>在步驟S19之后,處理轉(zhuǎn)換到工作集WS2。更具體地說,工作集WS2執(zhí)行程序代碼⑶2,并且執(zhí)行使用數(shù)據(jù)Dl的處理(步驟S20)。此處理同樣在MCU 10上執(zhí)行。MMU 30和31參照替代頁表PTl的頁表PT2以存取工作集WS2要求的信息。如果為了例如存儲(chǔ)算術(shù)操作結(jié)果,工作集WS2要求新的存儲(chǔ)區(qū)域,(在步驟S21中的是),其保留新存儲(chǔ)區(qū)域Al (步驟S22),并且在頁表PT2中設(shè)定保留區(qū)域Al的物理地址(步驟S23)。然后,工作集WS2可以使用新區(qū)域Al。其后,一旦完成處理,工作集WS2在存儲(chǔ)區(qū)域Al中存儲(chǔ)處理結(jié)果(步驟S24)。如果可以替代存儲(chǔ)區(qū)域Al,用于存儲(chǔ)結(jié)果的區(qū)域是存儲(chǔ)數(shù)據(jù)Dl的區(qū)域。然后,工作集WS2執(zhí)行中斷處理以便處理返回到工作集WSl (步驟S25)?!碠S 的處理 >響應(yīng)于步驟S25中的中斷處理,處理轉(zhuǎn)換到OS。OS在工作集WSl的頁表PTl中設(shè)定在步驟S22中保留的存儲(chǔ)區(qū)域Al的物理地址(步驟S26)。然后OS向工作集WSl傳遞控制(步驟S27) ·〈工作集WSl的處理〉作為步驟S27的結(jié)果,控制返回到工作集WS1。即,外部呼叫指令結(jié)束。然后,エ作集WSl重新開始使用頁表PTl的處理(步驟S28)。此時(shí),頁表PTl已經(jīng)在步驟S26中被更新。從而,工作集WSl可以執(zhí)行使用在步驟S24中存儲(chǔ)的工作集WS2的處理結(jié)果的處理(步驟S28)。3.半導(dǎo)體器件I的操作的特定實(shí)例。下面將參考虛擬地址空間和頁表PT的改變具體描述已經(jīng)使用圖5描述的操作。圖6是存儲(chǔ)器件20的虛擬地址空間和工作集WSl和WS2的示意圖。假設(shè)ー種情況,其中代碼CDl被存儲(chǔ)在起始于虛擬地址ADDO的頁P(yáng)GO到PG2中,代碼CD2被存儲(chǔ)在起始于虛擬地址ADDl的頁P(yáng)GlO到PG12中,數(shù)據(jù)Dl被存儲(chǔ)在起始于虛擬地址ADD3的頁P(yáng)G30到PG40中,并且OS被存儲(chǔ)在起始于虛擬地址ADD4的頁P(yáng)G50到PG55中。如圖6所示。< 步驟 SlO 到 S16>首先描述圖5的步驟SlO到S16。圖7是在步驟Sll中創(chuàng)建的頁表PTl的概念圖。如圖7所示,頁表PTl具有多個(gè)條目,并且在虛擬地址空間上的各頁與頁表PTl的各條目相關(guān)聯(lián)。在圖7中,“PG”被描述在條目之外,并且這里描述對(duì)應(yīng)于該條目的頁只是為了信息。然后,每個(gè)條目在虛擬地址空間上存儲(chǔ)對(duì)應(yīng)物理地址。同樣,每個(gè)條目包括寫入標(biāo)志W(wǎng)和確認(rèn)標(biāo)志V。標(biāo)志V是指示對(duì)應(yīng)于關(guān)注的條目的頁是否有效的信息當(dāng)V = I時(shí)頁有效;當(dāng)V =O時(shí)頁無效。工作集WSl不能參照無效頁。標(biāo)志W(wǎng)指示向?qū)?yīng)于關(guān)注的條目的頁的寫入存取(數(shù)據(jù)的改寫存取)是否被允許的信息當(dāng)W= I時(shí),允許寫入存??;當(dāng)當(dāng)W = O時(shí),禁止寫入存取。從而,工作集WSl可以向?qū)?yīng)于設(shè)定為V= I并且W= I的條目的頁執(zhí)行讀出 和寫入存取二者。另ー方面,工作集WSl可以向?qū)?yīng)于設(shè)定為V= I并且W = O的條目的頁執(zhí)行讀出存取,但是向此頁的寫入存取被禁止。對(duì)于對(duì)應(yīng)于設(shè)定為V = O的條目的頁,讀出和寫入存取都被禁止,并且工作集WSl完全不能識(shí)別頁的存在。至于前述頁表的基礎(chǔ)配置,向頁表PT2提供相同的配置。工作集WSl是ー組代碼⑶I和數(shù)據(jù)Dl。因此,頁表PTl如圖7所示。S卩,代碼⑶I的物理地址存儲(chǔ)在對(duì)應(yīng)于頁P(yáng)GO到PG2的條目中,并且設(shè)定標(biāo)志V = I。當(dāng)禁止重寫代碼⑶I時(shí),設(shè)定標(biāo)志W(wǎng) = O。另外,數(shù)據(jù)Dl的物理地址存儲(chǔ)在對(duì)應(yīng)于頁P(yáng)G30到PG40的條目中,并且設(shè)定標(biāo)志V= I且W= I。從而,工作集WSl可以重寫數(shù)據(jù)Dl。同樣,在對(duì)應(yīng)于頁P(yáng)GlO到PG12 (代碼⑶2)的條目中沒有存儲(chǔ)物理地址,并且設(shè)定標(biāo)志V = O且W = O。另外,在對(duì)應(yīng)于未包括在工作集WSl中的信息的條目中沒有設(shè)定物理地址,并且設(shè)定標(biāo)志V = OiW = O。注意,在頁表PTl中還設(shè)定OS的物理地址(未在圖7中示出),并且對(duì)這些條目設(shè)定 V = I 且 W = O。作為結(jié)果,如圖8所示,工作集WSl識(shí)別虛擬地址空間,在實(shí)踐中如圖6所示。圖8是從工作集WSl的觀看的虛擬地址空間的概念圖。如圖8所示,工作集WSl可以識(shí)別代碼⑶I和OS的存在。然而,代碼⑶2對(duì)于エ作集WSl是不可見的,不能存取代碼CD2。這是因?yàn)轫摫鞵Tl沒有存儲(chǔ)代碼CD2的任何物理地址,并且設(shè)定標(biāo)志V = O。在步驟S13到S15中,工作集WSl參考圖7中示出的頁表PTl執(zhí)行處理。換句話說,MMU30和31基于圖7中示出的頁表PTl存取存儲(chǔ)器件20。步驟S15中設(shè)定的地址包括存儲(chǔ)在表PTl中的對(duì)應(yīng)于頁P(yáng)G30到PG40的條目中的物理地址。< 步驟 S17 到 S20>下面描述圖5中的步驟S17到S20。圖9是步驟S18中創(chuàng)建的頁表PT2的概念圖。工作集WS2是ー組代碼⑶2和數(shù)據(jù)Dl。因此,頁表PT2如圖9所示。S卩,代碼⑶2的物理地址存儲(chǔ)在對(duì)應(yīng)于頁P(yáng)GlO到PG12的條目中,并且設(shè)定標(biāo)志V = I。如果禁止重寫代碼⑶2,設(shè)定標(biāo)志W(wǎng) = O。另外,數(shù)據(jù)Dl的物理地址存儲(chǔ)在對(duì)應(yīng)于頁P(yáng)G30到PG40的條目中,并且設(shè)定標(biāo)志V = I且W = I。從而,工作集WS2可以重寫數(shù)據(jù)D1。在對(duì)應(yīng)于頁P(yáng)GO到PG2的條目中沒有存儲(chǔ)物理地址,并且設(shè)定標(biāo)志V = O且W = O。另外,在對(duì)應(yīng)于未包括在工作集WS2中的區(qū)域的條目中沒有設(shè)定物理地址,并且設(shè)定V = O且W = O。注意,雖然未示出,但是在頁表PT2中還設(shè)定OS的物理地址,如在頁表PTl中一祥,對(duì)這些條目設(shè)定V =I 且 W = O。作為結(jié)果,如圖10所示,工作集WS2識(shí)別虛擬地址空間,實(shí)際上如圖6所示。圖10是從工作集WS2的觀看的虛擬地址空間的概念圖。如圖10所示,工作集WS2可以識(shí)別代碼⑶2、數(shù)據(jù)Dl和OS的存在。然而,代碼⑶I對(duì)于工作集WS2是不可見的,不能存取代碼CD1。這是因?yàn)轫摫鞵T2中沒有存儲(chǔ)代碼CDl的物理地址,并且同樣設(shè)定標(biāo)志V = O。在步驟S20中,工作集WS2參考圖9中示出的頁表PT2執(zhí)行處理。換句話說,MMU30和31基于圖9中示出的頁表PT2存取存儲(chǔ)器件20。< 步驟 S21 到 S24> 下面將參考圖11和圖12描述,在步驟S21中確定要求新的存儲(chǔ)區(qū)域之后的步驟S22和S23中的處理。圖11是當(dāng)從工作集WS2的觀看時(shí),虛擬地址空間的概念圖,圖12是在步驟S23中更新的頁表PT2的概念圖。假設(shè)工作集WS2保留始于虛擬地址ADD2的頁P(yáng)G20到PG22,如圖11所示。然后,工作集WS2更新頁表PT2,如圖12所示。S卩,區(qū)域Al的物理地址存儲(chǔ)在對(duì)應(yīng)于頁P(yáng)G20到PG22的條目中,并且設(shè)定標(biāo)志V = I且W = I。然后,工作集WS2可以自由地使用區(qū)域Al。換句話說,MMU30和31可以將數(shù)據(jù)存儲(chǔ)到頁P(yáng)G20到PG22中或者從中讀出數(shù)據(jù)。注意,因?yàn)閰^(qū)域Al在當(dāng)前時(shí)刻沒有在頁表PTl中注冊(cè),區(qū)域Al對(duì)于工作集WSl是不可見的。< 步驟 S25 到 S28>下面將描述步驟S25到S28。當(dāng)控制轉(zhuǎn)換到OS時(shí),對(duì)應(yīng)于步驟S25中的中斷處理,OS更新頁表PT1,如圖13所示。圖13是頁表PTl的示意圖。如圖13所示,OS在頁表PTl上的對(duì)應(yīng)于頁P(yáng)G20到PG22的條目中存儲(chǔ)區(qū)域Al的物理地址,并且設(shè)定標(biāo)志V= I且W= 1(或O)。從而,工作集WSl也可以自由地使用區(qū)域Al。S卩,在頁表PTl更新到圖13示出的狀態(tài)后,工作集WSl可見的虛擬地址空間如圖14所示。如圖14所示,工作集WSl同樣可以存取區(qū)域Al。因此,工作集WSl能夠繼續(xù)處理,不僅使用數(shù)據(jù)Dl還使用區(qū)域Al (步驟S28)。4.根據(jù)此實(shí)施例的效果如上所述,根據(jù)此實(shí)施例的配置可以有效保護(hù)信息。下面將描述效果。當(dāng)以常規(guī)單級(jí)存儲(chǔ)技術(shù)執(zhí)行多個(gè)處理時(shí),一個(gè)處理(處理PCl)可能破壞另ー個(gè)處理(PC2)的信息。這是因?yàn)槭褂脤?duì)多個(gè)處理PCl和PC2公共的邏輯地址來管理地址空間的原因,處理PC2要求的信息不希望地被處理PCl可見。因此,已知為各處理分配邏輯地址的方法。在此情況下,處理PC2的地址空間不能由處理PCl可見,反之亦然。僅OS為處理PCl和PC2都可見。因此,可以防止信息互相破壞。然而,在此情況下,當(dāng)這些處理參照共同的數(shù)據(jù)時(shí),要求麻煩的處理。即,當(dāng)由處理PCl處理的數(shù)據(jù)將被傳遞到處理PC2時(shí),在此狀態(tài)下從處理PC2不可見該數(shù)據(jù)。因此,處理PCl將該數(shù)據(jù)復(fù)制到OS。下一歩,OS將該數(shù)據(jù)復(fù)制到處理PC2。作為結(jié)果,處理PC2可以參照該數(shù)據(jù),但是需要兩個(gè)數(shù)據(jù)拷貝處理。以該方式,當(dāng)使用共同的邏輯地址管理地址空間時(shí),難以保護(hù)數(shù)據(jù)。當(dāng)數(shù)據(jù)被保護(hù)時(shí),對(duì)于各處理,必須切換地址空間。然而,根據(jù)此實(shí)施例的配置可以解決前述問題。更具體地說,采用不需要切換地址空間(相同的內(nèi)容總在相同的地址處可見,并且其它內(nèi)容總在不同的地址處可見)的單地址系統(tǒng),并且數(shù)據(jù)同樣被有效保護(hù)。 S卩,在此實(shí)施例中,OS為各頁管理虛擬存儲(chǔ),并且作為工作集WS管理一組頁。另夕卜,OS管理存取各工作集WS的數(shù)據(jù)的授權(quán)。更具體地說,OS為每個(gè)工作集WS準(zhǔn)備頁表PT,并且管理使用此表的授權(quán)。因此,工作集WS可以使用邏輯地址(虛擬地址)參照信息。當(dāng)控制轉(zhuǎn)換到另ー個(gè)工作集WS吋,OS同樣切換頁表PT。在此情況中,OS更新頁表PT以允許工作集WS參照新信息。下面將描述特定實(shí)例??紤]以下情況,其中工作集WSl具有頁表PT1,如圖7所示,并且工作集WS2具有頁表PT2,如上述實(shí)施例中的圖9所示。然后,因?yàn)樵O(shè)定標(biāo)志V = 0,所以工作集WSl不可見代碼⑶2。因此,可以防止代碼⑶2被工作集WSl破壞,反之亦然。gp,工作集WS2不可見代碼⑶I。因此,可以防止代碼⑶I被工作集WS2破壞。另ー方面,頁表PTl和PT2中的與數(shù)據(jù)Dl相關(guān)聯(lián)的條目的標(biāo)志V被設(shè)定為“I”。因此,工作集WSl和WS2兩者都能參照數(shù)據(jù)Dl而不要求任何數(shù)據(jù)拷貝。如上面使用圖11、12、13和14所描述的,如果需要可以更新每個(gè)頁表PT。S卩,當(dāng)工作集WS2創(chuàng)建的新數(shù)據(jù)(例如,圖11中的區(qū)域Al)還要被工作集WSl使用時(shí),更新頁表PT1,如圖13所示。即,在頁表PTl中對(duì)應(yīng)于區(qū)域Al的區(qū)域的標(biāo)志被設(shè)定為“I”。作為結(jié)果,不但工作集WS2而且工作集WSl都可以存取區(qū)域Al。以該方式,工作集WS可以容易地交換數(shù)據(jù),同時(shí)可以防止破壞重要的信息。第二實(shí)施例下面描述根據(jù)第二實(shí)施例的半導(dǎo)體器件和存儲(chǔ)器保護(hù)方法。此時(shí)實(shí)例涉及在第一實(shí)施例中允許工作集參照并添加新數(shù)據(jù)的方法。因?yàn)槠渌渲煤筒僮髋c在第一實(shí)施例中的相同,不再重復(fù)對(duì)其描述。I.數(shù)據(jù)的參照首先描述新的數(shù)據(jù)參照方法。圖15是從工作集WSl的觀看時(shí)虛擬地址空間的概念圖。如圖15所示,工作集WSl是ー組代碼⑶I和數(shù)據(jù)D1,如在第一實(shí)施例中描述的。在起始于虛擬地址ADD5頁P(yáng)G45到PG47中,假設(shè)存儲(chǔ)器件20存儲(chǔ)未包括在工作集WSl中的數(shù)據(jù)D3。下面假定ー種情況,其中在此情況中工作集WSl要求數(shù)據(jù)D3。圖16示出了在前述情況中半導(dǎo)體器件I的操作序列的流程圖。如圖16所示,請(qǐng)求數(shù)據(jù)D3的工作集WSl (換句話說,MMU30和31),識(shí)別數(shù)據(jù)的存在,但是它不識(shí)別數(shù)據(jù)的位置也不識(shí)別數(shù)據(jù)尺寸,并且向OS發(fā)布數(shù)據(jù)D3的參照請(qǐng)求(步驟S30)。響應(yīng)于此請(qǐng)求,OS確認(rèn)工作集WSl的使用者(或者工作集WSl本身)存取數(shù)據(jù)D3的授權(quán)。如果使用者即不具有讀取數(shù)據(jù)D3的授權(quán)也不具有重寫數(shù)據(jù)D3的授權(quán)(在步驟S32中的否),OS禁止工作集WSl參照數(shù)據(jù)D3 (步驟S33)。即,沒有更新頁表PTl。
如果使用者具有讀取授權(quán)但是不具有重寫授權(quán)(在步驟S32中的是,在步驟S34中的否),OS更新頁表PTl。S卩,OS在對(duì)應(yīng)于頁P(yáng)G45到PG47的條目中設(shè)定數(shù)據(jù)D3的物理地址,并且設(shè)定標(biāo)志V = I和W = O (步驟S35)。然后,允許工作集WSl僅對(duì)數(shù)據(jù)D3執(zhí)行讀取存取。另ー方面,如果使用者具有讀取和重寫授權(quán)(在步驟S32中的是,在步驟S34中的是),OS更新頁表PTl。在此情況中,OS在對(duì)應(yīng)于頁P(yáng)G45到PG47的條目中設(shè)定數(shù)據(jù)D3的物理地址,并且設(shè)定標(biāo)志V = I和W = I (步驟S36)。從而,允許工作集WSl對(duì)數(shù)據(jù)D3不僅執(zhí)行讀取存取而且執(zhí)行寫入存取。圖17示出了在步驟S35或S36中更新的頁表PTl的狀態(tài)。圖17是頁表PTl的概念圖。如圖17所示,當(dāng)使用者具有授權(quán),數(shù)據(jù)D3的物理地址分配給頁表PT1。寫入標(biāo)志W(wǎng)的值依賴于向使用者的提供的授權(quán)。其后,OS向工作集WSl返還控制(步驟S37),并且工作集WSl重新開始處理(步 驟 S38)2.數(shù)據(jù)的添加下面將描述ー種新的數(shù)據(jù)添加方法。例如,下面假定ー種情況,其中在圖16的狀態(tài)中工作集WSl請(qǐng)求未保持在存儲(chǔ)器件20中的新數(shù)據(jù)D4。圖18示出了半導(dǎo)體器件I的操作序列的流程圖。如圖18所示,請(qǐng)求數(shù)據(jù)D4的エ作集WSl向OS發(fā)布數(shù)據(jù)D4的創(chuàng)建請(qǐng)求(步驟S40)。響應(yīng)于此請(qǐng)求,OS創(chuàng)建數(shù)據(jù)D4(步驟S41)。然后,OS在該數(shù)據(jù)D4的屬性信息中設(shè)定關(guān)于用于存取數(shù)據(jù)D4的授權(quán)的信息(步驟S42)。如果使用者(或工作集WSl本身)沒有被授予改寫授權(quán)(在步驟S43中的否),OS更新頁表PTl以在對(duì)應(yīng)條目中設(shè)定數(shù)據(jù)D4的物理地址并且設(shè)定標(biāo)志V = I且W = O (步驟S44)。然后,允許工作集WSl僅執(zhí)行對(duì)數(shù)據(jù)D4讀取存取。另ー方面,如果使用者被授予讀取和寫入授權(quán)(在步驟S43中的是),0S設(shè)定標(biāo)志V = I并且W = I (步驟S45)。然后,允許工作集WSl對(duì)數(shù)據(jù)D4不僅執(zhí)行讀取存取而且執(zhí)行寫入存取。其后,OS向工作集WSl返還控制(步驟S46),并且工作集WSl重新開始處理(步驟 S47)·3.數(shù)據(jù)區(qū)域的擴(kuò)展例如,下面描述ー種情況,其中在圖12中保留的新區(qū)域Al的自由空間變得不足,并且要求該區(qū)域被擴(kuò)展。在此情況中,工作集WSl和WS2可以通過頁單位擴(kuò)展區(qū)域Al??梢酝ㄟ^向頁表中的對(duì)應(yīng)條目分配物理地址并且設(shè)定標(biāo)志V = I并且W = I實(shí)施頁擴(kuò)展。當(dāng)然,當(dāng)寫入存取被禁止時(shí),可設(shè)定W = O。4.根據(jù)此實(shí)施例的效果根據(jù)此實(shí)施例的配置,OS可以處理其中新數(shù)據(jù)要被工作集參照的情況和新數(shù)據(jù)被創(chuàng)建并且被工作集參照的情況。更具體地說,OS更新目標(biāo)工作集WS的頁表PT以允許工作集參照新數(shù)據(jù)。因此,可以容易地將數(shù)據(jù)提供給每個(gè)工作集WS,并且可以通過簡單的方法控制存取數(shù)據(jù)的授權(quán)。第三實(shí)施例下面將描述根據(jù)第三實(shí)施例的半導(dǎo)體器件和存儲(chǔ)器保護(hù)方法。此實(shí)施例使用如在第一或第二實(shí)施例中的FAT (文件分配表)文件系統(tǒng)的文件和目錄管理存儲(chǔ)器件20中的信息。因?yàn)槠渌渲煤筒僮髋c第一或第二實(shí)施例中的相同,不再重復(fù)對(duì)其描述。I.使用目錄結(jié)構(gòu)的管理圖19是根據(jù)此實(shí)施例的存儲(chǔ)器件20的虛擬地址空間的概念圖。假定代碼⑶I存儲(chǔ)在頁P(yáng)GO到PG2中,代碼CD2存儲(chǔ)在頁P(yáng)GlO到PG12中,并且數(shù)據(jù)Dl存儲(chǔ)在頁P(yáng)G30到PG40中,如圖19所示。在此情況中,MCU 10作為文件AAA管理代碼⑶I,作為文件BBB管理代碼⑶2并且作為兩個(gè)文件CCC和DDD管理數(shù)據(jù)Dl。另外,MCUlO以樹結(jié)構(gòu)管理這些文件,如圖20所示。 如圖20所示,在根目錄XXXX下分配文件AAA和BBB。在根目錄XXXX下的子目錄YYYY下分配文件CCC和DDD。假定子目錄ZZZZ被包括在子目錄YYYY下。因此,MCU 10在虛擬地址空間上保留用于目錄XXXX,YYYY和ZZZZ的區(qū)域,如圖19所示。每個(gè)區(qū)域存儲(chǔ)指示在相關(guān)目錄中分配的文件和/或子目錄的信息。另外,每個(gè)目錄在該目錄中保持文件的文件信息和/或子目錄。文件信息包括,對(duì)每個(gè)文件,虛擬地址,尺寸,存取控制信息(關(guān)于對(duì)于每個(gè)使用者和/或工作集是否允許讀取、寫入和擦除存取的信息),創(chuàng)建時(shí)間等等。如圖20所示。2.文件和目錄的存取方法MCU 10對(duì)于每個(gè)文件和目錄接收來自使用者的存取請(qǐng)求,并且向MMU30和31發(fā)布用于每個(gè)文件和目錄的存取請(qǐng)求。下面將參考圖21描述每個(gè)文件和目錄的存取方法。圖21為示出了對(duì)存儲(chǔ)器件20的存取方法的流程圖。如圖21所示,從使用者接收使用文件名或目錄名的存取請(qǐng)求(步驟S50)。例如,假定文件AAA被存取。然后MCU 10指示MMU30或31從根目錄XXXX讀出文件信息。然后,MCU 10參照讀出的文件信息(步驟S51)。作為參照文件信息的結(jié)果,如果使用者未被授予存取授權(quán)(步驟S52中的否),則處理中斷。另ー方面,如果使用者被授予存取授權(quán)(步驟S52中的是),MCU 10基于在步驟S51中從文件信息獲取的虛擬地址和尺寸信息向MMU30或31傳遞頁地址PGO到PG2,并且MMU30或31基于這些頁地址PGO到PG2搜索頁表PT (步驟S53)。MMU30或31通過步驟S53中的搜索處理獲取文件AAA的物理地址(步驟S54),并且從存儲(chǔ)器件20讀出文件AAA (步驟S55)。3.根據(jù)此實(shí)施例的效果根據(jù)此實(shí)施例,即使在使用主存儲(chǔ)器件和輔助存儲(chǔ)器件作為主存存儲(chǔ)器沒有區(qū)分它們的配置中,允許使用者識(shí)別作為文件和/或目錄的信息。S卩,即使在單級(jí)存儲(chǔ)技術(shù)中,使用者可以以與區(qū)分主存儲(chǔ)器件和輔助存儲(chǔ)器件的常規(guī)系統(tǒng)相同的方式來處理信息。因此,改善了使用者的方便性。注意在此實(shí)施例中,文件信息(換句話說,特性)存儲(chǔ)在目錄中。然而,在ー些情況中,文件信息可以在每個(gè)文件中指配(例如,在存儲(chǔ)文件的區(qū)域中的引導(dǎo)區(qū)中分配)。然而,就安全性而言,優(yōu)選在目錄中分配文件信息。
第四實(shí)施例下面將根據(jù)第四實(shí)施例描述半導(dǎo)體器件。此實(shí)施例是根據(jù)第一到第三實(shí)施例的半導(dǎo)體器件I的特定實(shí)例。如圖22所示,半導(dǎo)體器件I概略地包括通過例如能夠互相連通的總線連接的信息處理器件Iio和存儲(chǔ)器件120。可以在單個(gè)半導(dǎo)體襯底上形成或者以單獨(dú)芯片形成信息處理器件110和存儲(chǔ)器件120。存儲(chǔ)器件120包括多個(gè)半導(dǎo)體存儲(chǔ)器。在此實(shí)施例中,存儲(chǔ)器件120包括易失性半導(dǎo)體存儲(chǔ)器121和非易失性半導(dǎo)體存儲(chǔ)器122。首先描述信息處理器件110的配置。如圖22所示,信息處理器件110包括多個(gè)處理器111、ニ級(jí)高速緩存存儲(chǔ)器112、總線113和存儲(chǔ)器管理器件114,并且由例如SoC (片上系統(tǒng))形成。
每個(gè)處理器111都包括初級(jí)高速緩存存儲(chǔ)器116和MMU (存儲(chǔ)管理單元)115。作為處理器111,使用例如CPU (中央處理器),但是還可以使用例如MPU (微處理器)和GPU (圖形處理器)的其它處理器。在圖22中的處理器111的數(shù)目是4,但是僅需要設(shè)置至少ー個(gè)處理器111。處理器111分享ニ級(jí)高速緩存存儲(chǔ)器112并且通過總線113與存儲(chǔ)器管理器件114電連接。然后,處理器111通過存儲(chǔ)器管理器件114存取存儲(chǔ)器件120。另外,每個(gè)處理器111都從存儲(chǔ)器件120讀出OS,并執(zhí)行,從存儲(chǔ)器件120単獨(dú)讀出應(yīng)用,并且在OS上執(zhí)行。存儲(chǔ)器管理器件114與存儲(chǔ)器件120中的易失性半導(dǎo)體存儲(chǔ)器121和非易失性半導(dǎo)體存儲(chǔ)器122電連接。然后,存儲(chǔ)器管理器件114響應(yīng)于來自每個(gè)處理器11的請(qǐng)求而存取存儲(chǔ)器件120,并且從存儲(chǔ)器件120讀出數(shù)據(jù),或在存儲(chǔ)器件120中寫入數(shù)據(jù)。存儲(chǔ)器管理器件114與處理器111異步操作并且能夠在執(zhí)行處理器111的處理期間執(zhí)行如耗損均衡,垃圾收集以及壓縮的用于非易失性半導(dǎo)體存儲(chǔ)器的處理。下面將參考圖22描述存儲(chǔ)器件120的配置。如上所述,存儲(chǔ)器件120包括易失性半導(dǎo)體存儲(chǔ)器121和多個(gè)非易失性半導(dǎo)體存儲(chǔ)器122。這些易失性半導(dǎo)體存儲(chǔ)器121和非易失性半導(dǎo)體存儲(chǔ)器122被用作處理器111的主存儲(chǔ)器。在此實(shí)施例中,在每個(gè)非易失性半導(dǎo)體存儲(chǔ)器122上保留了足夠的存儲(chǔ)器尺寸并且非易失性半導(dǎo)體存儲(chǔ)器122的存儲(chǔ)器尺寸大于易失性半導(dǎo)體存儲(chǔ)器121的存儲(chǔ)器尺寸。在易失性半導(dǎo)體存儲(chǔ)器121中,例如更有可能被存取是數(shù)據(jù),例如最近存取的數(shù)據(jù)和那些具有高使用頻率的數(shù)據(jù),被從非易失性半導(dǎo)體存儲(chǔ)器122中高速緩存。當(dāng)每個(gè)處理器111存取易失性半導(dǎo)體存儲(chǔ)器121吋,易失性半導(dǎo)體存儲(chǔ)器121不存儲(chǔ)任何存取目標(biāo)數(shù)據(jù),被要求的數(shù)據(jù)從非易失性半導(dǎo)體存儲(chǔ)器122轉(zhuǎn)移到易失性半導(dǎo)體存儲(chǔ)器121。以該方式,結(jié)合使用易失性半導(dǎo)體存儲(chǔ)器121和非易失性半導(dǎo)體存儲(chǔ)器122,可以使用大于易失性半導(dǎo)體存儲(chǔ)器121的存儲(chǔ)器尺寸的存儲(chǔ)空間作為主存儲(chǔ)器。在此實(shí)施例中,易失性半導(dǎo)體存儲(chǔ)器121是例如DRAM(動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器)。然而,作為易失性半導(dǎo)體存儲(chǔ)器121,可以使用在計(jì)算機(jī)中用作主存存儲(chǔ)器的如FPM-DRAM(快速頁模式DRAM),EDO-DRAM (擴(kuò)展數(shù)據(jù)輸出DRAM)或SDRAM (同步DRAM)的存儲(chǔ)器替代DRAM。如果進(jìn)行與DRAM—祥快的隨機(jī)存取,以及存取次數(shù)的上限數(shù)目基本上不受限制,可以使用如MRAM (磁阻隨機(jī)存取存儲(chǔ)器)或FeRAM (鐵電隨機(jī)存取存儲(chǔ)器)的非易失性隨機(jī)存取存儲(chǔ)器替代易失性半導(dǎo)體存儲(chǔ)器121。易失性半導(dǎo)體存儲(chǔ)器121具有比每個(gè)非易失性半導(dǎo)體存儲(chǔ)器122更小的尺寸(例如,128M字節(jié)到4G字節(jié))但卻允許更快速度的存取。在此實(shí)施例中,每個(gè)非易失性半導(dǎo)體存儲(chǔ)器122都是例如NAND閃存。然而,非易失性半導(dǎo)體存儲(chǔ)器122可以是另一種非易失性半導(dǎo)體存儲(chǔ)器例如NOR閃存。非易失性半導(dǎo)體存儲(chǔ)器122具有比易失性半導(dǎo)體存儲(chǔ)器121更大的尺寸(例如,32G字節(jié)到512G字節(jié))但是要求更長的存取時(shí)間。在前述配置中,圖I中的MCU 10對(duì)應(yīng)于圖22中的處理器111、初級(jí)高速緩存存儲(chǔ)器116和ニ級(jí)高速緩存存儲(chǔ)器112,圖I中的MMU 30和31對(duì)應(yīng)于圖22中的存儲(chǔ)器管理器件114,并且圖I中的存儲(chǔ)器件20對(duì)應(yīng)于圖22中的存儲(chǔ)器件120。如上所述,第一到第三實(shí)施例適用于圖22中示出的配置。修改
如上所述,根據(jù)實(shí)施例的半導(dǎo)體器件I包括處理器10和存儲(chǔ)器件20。存儲(chǔ)器件20具有非易失性半導(dǎo)體存儲(chǔ)器22,并且用作處理器10的主存儲(chǔ)器。一旦執(zhí)行多個(gè)程序CDl和⑶2,處理器10作為對(duì)應(yīng)于程序⑶I和⑶2的工作集WSl和WS2管理執(zhí)行這些程序⑶I和⑶2所要求的信息片段。另外,處理器10根據(jù)工作集WSl和WS2創(chuàng)建表PTl和PT2,該表PTl和PT2保持工作集WSl和WS2要求的信息片段和在存儲(chǔ)器件20中的這些信息片段的地址(虛擬地址)之間的關(guān)系。通過參照工作集WSl和WS2的對(duì)應(yīng)表PTl和PT2執(zhí)行對(duì)存儲(chǔ)器件20的存取。然后,表PTl和PT2管理工作集WSl和WS2的用于存取存儲(chǔ)器件20中的信息片段的授權(quán)(有效-標(biāo)志V和寫入-標(biāo)志W(wǎng))。下面將描述根據(jù)實(shí)施例的半導(dǎo)體器件I。圖23是根據(jù)實(shí)施例的半導(dǎo)體器件I的框圖。如圖23所示,半導(dǎo)體器件I包括響應(yīng)來自處理器10的請(qǐng)求存取存儲(chǔ)器件20的存儲(chǔ)管理単元30和31。處理器10根據(jù)其功能具有創(chuàng)建單元11、第一執(zhí)行單元12、第二執(zhí)行單元13、呼叫單元14和控制單元15。創(chuàng)建單元11響應(yīng)例如來自控制単元15的指令,分別為第一和第二工作集創(chuàng)建第一和第二頁表PTl和PT2。然后,創(chuàng)建單元11在存儲(chǔ)器管理単元30和31中的存儲(chǔ)器或寄存器中存儲(chǔ)第一和第二頁表PTl和PT2。當(dāng)然,創(chuàng)建單元11可以在處理器10的存儲(chǔ)器或寄存器中存儲(chǔ)這些表。第一執(zhí)行單元12響應(yīng)來自控制単元15的指令執(zhí)行第一程序代碼CDl。SP,第一執(zhí)行單元12執(zhí)行與第一工作集WSl相關(guān)聯(lián)的處理。第二執(zhí)行單元13響應(yīng)來自控制単元15的指令執(zhí)行第二程序代碼CD2。即,第二執(zhí)行單元13執(zhí)行與第二工作集WS2相關(guān)聯(lián)的處理。呼叫単元14向控制單元15發(fā)布從第一工作集WSl呼叫第二程序代碼⑶2所要求的外部呼叫指令??刂茊卧?5相應(yīng)來自呼叫単元14的外部呼叫指令,將控制從第一執(zhí)行単元12轉(zhuǎn)換到第二執(zhí)行單元13。S卩,創(chuàng)建單元11執(zhí)行在圖5中的步驟S11、S18、S26和S28的處理。第一執(zhí)行單元12執(zhí)行步驟S13和S14中的處理。呼叫單元14執(zhí)行步驟S15和S16中的處理。控制單元15執(zhí)行步驟S10、S12、S17、S19和S27中的處理。第二執(zhí)行單元13執(zhí)行步驟S20和S25中的處理。存儲(chǔ)器管理単元30和31在第一執(zhí)行單元12的控制下參照第一頁表PTl存取存儲(chǔ)器件20并且在第二執(zhí)行單元13的控制下參照第二頁表PT2存取存儲(chǔ)器件20。通該設(shè)置,在采用單地址系統(tǒng)時(shí)能夠有效保護(hù)數(shù)據(jù)。即,當(dāng)采用單地址系統(tǒng)時(shí),使用稱為工作集的各數(shù)據(jù)組單元管理處理,并且為各工作集創(chuàng)建頁表。在頁表中的寫入位W和有效位V可以限制來自工作集的數(shù)據(jù)存取。即,當(dāng)確定的工作集的參照存取被允許時(shí),在對(duì)應(yīng)的頁表上也被允許;否則,在頁表上禁止。注意,在第二實(shí)施例的圖16中示出的操作一旦執(zhí)行,處理器10的一些單元用作執(zhí)行步驟S31到S34的處理的授權(quán)確認(rèn)單元,并且基于該功能塊的確定結(jié)果,例如創(chuàng)建單元11執(zhí)行步驟S33、S35和S36的處理。相同的功能應(yīng)用于圖18中的操作一旦執(zhí)行的情況。SP,處理器10的一些單元用作執(zhí)行步驟S41中的處理的數(shù)據(jù)創(chuàng)建単元,和執(zhí)行步驟S42和S43的處理的授權(quán)設(shè)定單元,并且基于該功能塊的測定結(jié)果,例如創(chuàng)建單元11執(zhí)行步驟S45和S46的處理。注意,上述實(shí)施例可以進(jìn)行各種修改。例如,第一到第三實(shí)施例示范為工作集的數(shù)目為2的情況,然而,可以使用三個(gè)或更多工作集。同樣在此情況中,對(duì)應(yīng)于這些工作集創(chuàng)建頁表。
上述實(shí)施例解釋了工作集是ー組執(zhí)行特定程序要求的所有信息的片段(數(shù)據(jù)、文件等等)的情況。然而,當(dāng)使用多個(gè)處理器時(shí),如圖22所示,可以對(duì)應(yīng)于使用者或處理器創(chuàng)
建工作集。另外,上述實(shí)施例示范了具有用于虛擬地址空間的所有頁的條目的頁表。然而,頁表不限于這樣的配置,并且只要其能保持虛擬地址空間和物理地址之間的對(duì)應(yīng)關(guān)系,就不受特定限制。即,例如,使用多級(jí)頁表。在多級(jí)頁表中,虛擬地址包括,例如,多個(gè)索引和偏移。然后,使用第一索引捜索第一表,并且為地址而搜索通過第一索引指派的第二表。另外,向此地址添加偏移以獲得物理地址。用此配置,要求多個(gè)頁表。然而,每個(gè)獨(dú)立的頁表的尺寸可以減小。半導(dǎo)體器件I的特定設(shè)置不限于上述實(shí)施例中所描述的,并且僅需要執(zhí)行圖5、圖16、圖18和/或圖21中示出的操作。同樣,在圖5、圖16圖18和/或圖21中示出的處理的次序可以盡可能的被替代。關(guān)于NAND閃存22的管理方法,可以使用各種方法。例如,當(dāng)使用SSD(固態(tài)驅(qū)動(dòng)器)時(shí),SSD控制器向如SATA (串行ATA)的MCUlO提供物理地址。當(dāng)NAND閃存22被連接為由MCU 10的直接可見的存儲(chǔ)器吋,OS識(shí)別物理地址并且管理NAND閃存22和DRAM 21之間的數(shù)據(jù)交換。注意,圖I示范了分別為DRAM 21和NAND閃存22安排兩個(gè)MMU30和31的設(shè)置。然而,該設(shè)置僅僅是實(shí)例,這些MMU通過單個(gè)存儲(chǔ)器管理器件實(shí)施,如圖22和23所示。在圖I的實(shí)例中,NAND閃存22直接與存儲(chǔ)器總線連接。在此情況下,MMU 31可以通過硬件或軟件實(shí)施。當(dāng)MMU 31可以由軟件實(shí)施時(shí),其對(duì)應(yīng)于OS和頁表PT。然而,NAND閃存22可以不直接與存儲(chǔ)器總線連接。圖24示出了這樣的實(shí)例。圖24是半導(dǎo)體器件I的框圖。如圖24所示,存儲(chǔ)器件20包括DRAM 21,NAND閃存22和MMU31。BP, DRAM 21連接到MCU 10,并且MMU 30控制對(duì)DRAM 21的存取。NAND閃存22通過MMU 31與DRAM 21連接,并且沒有直接與MCU 10連接。然后,MMU 31在DRAM21和NAND閃存22之間承擔(dān)地址轉(zhuǎn)換功能。即使當(dāng)采用圖24示出的物理連接時(shí),通過MMU 30和31的功能,從MCU 10(或者程序器(programmer))也可看到圖24示出的設(shè)置如圖25—祥。圖25是半導(dǎo)體器件I的框圖。如圖25所示,存儲(chǔ)器件20被看作好似DRAM 21和NAND閃存22兩者都被MMU 30控制。雖然描述了特定實(shí)施例,這些實(shí)施例僅作為實(shí)例出現(xiàn),并不g在限制本發(fā)明的范圍。實(shí)際上,這里描述的新的實(shí)施例可以以其它不同的形式實(shí)施;另外,可以在不脫離本發(fā)明的精神的情況下,對(duì)這里描述的實(shí)施例進(jìn)行形式上的各種省略、替代和變化。所附權(quán)利要求書及其等效物g在覆蓋所有落入本發(fā)明的精神和范圍內(nèi)的這樣的 形式或修改。
權(quán)利要求
1.一種半導(dǎo)體器件,所述器件包括 處理器;以及 存儲(chǔ)器件,所述存儲(chǔ)器件具有非易失性半導(dǎo)體存儲(chǔ)器件并且被配置為作為所述處理器的主存儲(chǔ)器, 其中當(dāng)所述處理器執(zhí)行多個(gè)程序時(shí),所述處理器作為用于各程序的工作集來管理執(zhí)行所述程序所要求的信息片段,并且為各工作集創(chuàng)建表,所述表保持各工作集要求的信息片段和在所述存儲(chǔ)器件中的所述信息片段的地址之間的關(guān)系,以及 所述處理器參照用于所述各工作集的對(duì)應(yīng)的表存取所述存儲(chǔ)器件。
2.根據(jù)權(quán)利要求I的器件,其中所述表分別管理所述工作集的用于存取所述存儲(chǔ)器件中的信息的授權(quán)。
3.根據(jù)權(quán)利要求I的器件,其中所述工作集包括第一工作集和第二工作集,以及 所述表被更新以允許所述第二工作集同樣能夠存取所述第一工作集的信息。
4.根據(jù)權(quán)利要求3的器件,其中所述第一工作集和所述第二工作集分別包括第一程序代碼和第二程序代碼, 所述表包括分別與所述第一工作集和所述第二工作集相關(guān)聯(lián)的第一表和第二表,以及當(dāng)所述第一工作集要求執(zhí)行所述第二程序代碼時(shí),所述處理器將控制從所述第一工作集轉(zhuǎn)換到所述第二工作集,并且將要使用的所述表從所述第一表切換到所述第二表。
5.根據(jù)權(quán)利要求I的器件,其中通過單地址系統(tǒng)管理所述存儲(chǔ)器件。
6.根據(jù)權(quán)利要求4的器件,還包括存儲(chǔ)器管理器件,其被配置為響應(yīng)于來自所述處理器的請(qǐng)求而存取所述存儲(chǔ)器件, 其中所述處理器包括 創(chuàng)建單元,被配置為創(chuàng)建所述第一表和所述第二表; 第一執(zhí)行單元,被配置為執(zhí)行所述第一程序代碼; 第二執(zhí)行單元,被配置為執(zhí)行所述第二程序代碼; 呼叫單元,被配置為從所述第一工作集呼叫所述第二程序代碼;以及控制單元,被配置為響應(yīng)于來自所述呼叫單元的請(qǐng)求,將控制從所述第一執(zhí)行單元轉(zhuǎn)換到所述第二執(zhí)行單元,以及 其中所述存儲(chǔ)器管理器件在所述第一執(zhí)行單元的控制下參照所述第一表存取所述存儲(chǔ)器件,并且在所述第二執(zhí)行單元的控制下參照所述第二表存取所述存儲(chǔ)器件。
7.根據(jù)權(quán)利要求6的器件,其中所述存儲(chǔ)器件還包括易失性半導(dǎo)體存儲(chǔ)器,以及 當(dāng)所述處理器要求的數(shù)據(jù)保持在所述易失性半導(dǎo)體存儲(chǔ)器中時(shí),所述存儲(chǔ)器管理器件從所述易失性半導(dǎo)體存儲(chǔ)器讀取所述請(qǐng)求的數(shù)據(jù),并且當(dāng)所述易失性半導(dǎo)體存儲(chǔ)器中沒有保持所述請(qǐng)求的數(shù)據(jù)時(shí),所述存儲(chǔ)器管理器件從所述非易失性半導(dǎo)體存儲(chǔ)器讀取所述請(qǐng)求的數(shù)據(jù)。
8.根據(jù)權(quán)利要求I的器件,其中基于用于存取一個(gè)工作集的授權(quán),所述處理器更新對(duì)應(yīng)于所述一個(gè)工作集的一個(gè)所述表以允許所述一個(gè)工作集存取沒有包括在所述一個(gè)工作集中的數(shù)據(jù)。
9.根據(jù)權(quán)利要求I的器件,其中所述處理器響應(yīng)于來自一個(gè)工作集的請(qǐng)求而創(chuàng)建新數(shù)據(jù),并且更新對(duì)應(yīng)于所述一個(gè)工作集的一個(gè)所述表以設(shè)定用于存取所述數(shù)據(jù)的授權(quán)。
10.根據(jù)權(quán)利要求I的器件,其中所述處理器作為文件和目錄來管理執(zhí)行所述程序所要求的信息片段。
11.一種半導(dǎo)體器件的存儲(chǔ)器保護(hù)方法,所述方法使用包括非易失性半導(dǎo)體器件作為主存儲(chǔ)器的存儲(chǔ)器件,所述方法包括 通過操作系統(tǒng)作為第一工作集來管理執(zhí)行第一程序所要求的信息; 通過所述操作系統(tǒng)創(chuàng)建第一表,所述第一表保持包括在所述第一工作集中的信息和在所述存儲(chǔ)器件中的所述信息的地址之間的關(guān)系; 通過所述操作系統(tǒng)參照所述第一表以執(zhí)行所述第一程序; 通過所述第一程序呼叫所述第一工作集外部的第二程序; 通過所述操作系統(tǒng)作為第二工作集來管理執(zhí)行第二程序所要求的信息; 通過所述操作系統(tǒng)創(chuàng)建第二表,所述第二表保持包括在所述第二工作集中的信息和所述存儲(chǔ)器件中的所述信息的地址之間的關(guān)系;以及 通過所述操作系統(tǒng)參照所述第二表執(zhí)行所述第二程序。
12.根據(jù)權(quán)利要求11的方法,其中所述第一表和所述第二表分別管理所述第一工作集和所述第二工作集的用于存取存儲(chǔ)在所述存儲(chǔ)器件中的信息的授權(quán)。
13.根據(jù)權(quán)利要求11的方法,其中所述第二表允許所述第二工作集同樣能夠存取所述第一工作集的信息。
14.根據(jù)權(quán)利要求11的方法,其中通過單地址系統(tǒng)管理所述存儲(chǔ)器件。
15.根據(jù)權(quán)利要求11的方法,其中所述存儲(chǔ)器件還包括易失性半導(dǎo)體存儲(chǔ)器件,以及 當(dāng)處理器請(qǐng)求的數(shù)據(jù)保持在所述易失性半導(dǎo)體存儲(chǔ)器中時(shí),從所述易失性半導(dǎo)體存儲(chǔ)器讀取所述請(qǐng)求的數(shù)據(jù),并且當(dāng)所述易失性半導(dǎo)體存儲(chǔ)器中沒有保持所述請(qǐng)求的數(shù)據(jù)時(shí),從所述非易失性半導(dǎo)體存儲(chǔ)器讀取所述被請(qǐng)求的數(shù)據(jù)。
16.根據(jù)權(quán)利要求11的方法,還包括當(dāng)請(qǐng)求沒有包括在所述第一工作集中的信息時(shí),基于用于存取所述第一工作集的授權(quán)更新所述第一表,以允許所述第一工作集存取所述信肩、O
17.根據(jù)權(quán)利要求11的方法,還包括,當(dāng)在執(zhí)行所述第一程序期間請(qǐng)求沒有保持在所述存儲(chǔ)器件中的信息時(shí),生成所述請(qǐng)求的信息;以及 基于用于存取所述第一工作集的授權(quán)更新所述第一表,以允許所述第一工作集存取所述生成的信息。
18.根據(jù)權(quán)利要求11的方法,其中作為文件和目錄來管理執(zhí)行所述第一程序和所述第二程序所要求的信息片段。
全文摘要
本發(fā)明涉及半導(dǎo)體器件和存儲(chǔ)器保護(hù)方法。一般地,根據(jù)一個(gè)實(shí)施例,一種半導(dǎo)體器件包括處理器;和存儲(chǔ)器件。所述存儲(chǔ)器件具有非易失性半導(dǎo)體存儲(chǔ)器件并且被配置為作為處理器的主存儲(chǔ)器。當(dāng)處理器執(zhí)行多個(gè)程序時(shí),所述處理器作為用于各程序的工作集來管理執(zhí)行所述程序所要求的信息片段,并且為各工作集創(chuàng)建表,所述表保持各工作集要求的信息片段和在所述存儲(chǔ)器件中的所述信息片段的地址之間的關(guān)系。所述處理器參照用于所述各工作集的對(duì)應(yīng)的表存取所述存儲(chǔ)器件。
文檔編號(hào)G06F12/14GK102693191SQ20121003807
公開日2012年9月26日 申請(qǐng)日期2012年2月17日 優(yōu)先權(quán)日2011年2月18日
發(fā)明者中井弘人, 前田賢一, 金井達(dá)德 申請(qǐng)人:株式會(huì)社 東芝