專利名稱:閃存陣列存儲器的限制性分區(qū)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種對二級物理存儲設(shè)備的限制性分區(qū)方法,尤其涉及一種對閃 存陣列存儲器的限制性分區(qū)方法。
背景技術(shù):
超級操作系統(tǒng)允許計算機用戶從二級物理存儲設(shè)備中裝載一個或多個操作系 統(tǒng)到內(nèi)存中去。實際上這一選擇把用戶從必須購買只適用一個操作系統(tǒng)的軟件中解 放出來,而用戶可以享受多個操作系統(tǒng)所帶來的好處。而超級操作系統(tǒng)的基石是存儲設(shè)備的虛擬化,二級物理存儲設(shè)備被分割成若 干邏輯盤,每個邏輯盤均包含一個單獨的操作系統(tǒng)。然而這些邏輯盤必須是穩(wěn)定剛 性的以使操作系統(tǒng)不會同其它邏輯盤混淆或交換數(shù)據(jù),除非是用戶要求的數(shù)據(jù)交 換。若能提供一個允許的限制性分區(qū)和支持虛擬化存儲的機制,對現(xiàn)有技術(shù)來說是 非常有益的。通常情況下, 一個磁盤驅(qū)動器接收不同來源(如BIOS或不同操作系統(tǒng)的特定 設(shè)備驅(qū)動程序)的地址訪問請求。如果使用分區(qū)和存儲虛擬化支持,那么無論訪問 請求來源于何處,限制對所有的相關(guān)邏輯盤以外的二級存儲地址的訪問是非常重要 的。因此提供這樣一個無論其地址的訪問請求來源于何處,都支持限制性分區(qū)和支 持虛擬化存儲的機制對現(xiàn)有技術(shù)來說是非常有益的。當(dāng)一個計算機系統(tǒng)受病毒干擾,病毒通過系統(tǒng)自帶功能和地址請求侵入整個系統(tǒng)。通過限制訪問一個二級物理存儲設(shè)備的其中一段,用戶就可以把病毒限制在 設(shè)備的那個部份,而保護了其余的存儲設(shè)備數(shù)據(jù)。因此提供一個能把病毒限制在設(shè) 備中一個已定義的區(qū)域里的二級物理存儲設(shè)備也是有益的。同樣的,當(dāng)一些操作系統(tǒng),如Windows操作系統(tǒng)系列,是從二級存儲裝載到 主內(nèi)存,為了與它的特別需求相配,它重新配置并壟斷了整個系統(tǒng),包括二級物理 存儲設(shè)備。如果另有一個操作系統(tǒng)在相同的物理設(shè)備里與它共存,那么必須限制這些操作系統(tǒng)對包含了別的操作系統(tǒng)的二級物理存儲設(shè)備地址塊的任何區(qū)域的訪問。 因此對于現(xiàn)有技術(shù)來說,提供這樣的一個可以限制訪問一個預(yù)先設(shè)定的區(qū)域的二級 物理存儲設(shè)備是有益的。當(dāng)一個計算機系統(tǒng)被多個用戶在不同的時間使用時,沒有一個獨立于操作系統(tǒng)外的方法可以保護一個用戶的數(shù)據(jù)不被其他用戶使用。例如,通常家長使用的商 務(wù)電腦,如果允許孩子在同一個系統(tǒng)里面玩游戲,他們的重要數(shù)據(jù)就無法得到不受 損的保證。對于現(xiàn)有技術(shù)來說,提供一個獨立于任何操作系統(tǒng)外的,可以限制訪問 一個預(yù)先設(shè)定的區(qū)域的二級存儲設(shè)備是很有益的。發(fā)明內(nèi)容本發(fā)明的目的在于提供一種閃存陣列存儲器的限制性分區(qū)方法,能使閃存陣 列存儲器在固件水平上虛擬化,閃存陣列存儲器的控制器能根據(jù)最底層邊界的實際 位置而自動調(diào)整所接收到的每個地址請求。本發(fā)明的技術(shù)方案為本發(fā)明揭示了一種閃存陣列存儲器的限制性分區(qū)方法,包括(1) 將閃存陣列存儲器分區(qū)成一個或多個邏輯盤;(2) 將該些邏輯盤中的地址邊界設(shè)置成該閃存陣列存儲器的地址邊界;(3) 對該閃存陣列存儲器接收到的地址請求中的目標(biāo)地址進行調(diào)整校準(zhǔn);(4) 將調(diào)整校準(zhǔn)后的地址與當(dāng)前操作系統(tǒng)控制下的邏輯盤中的地址邊界進行比較,以確保調(diào)整校準(zhǔn)后的地址位于地址邊界內(nèi)。上述的閃存陣列存儲器的限制性分區(qū)方法,其中,步驟(3)的地址請求的調(diào) 整校準(zhǔn)是在閃存陣列存儲器的固件上實施的。上述的閃存陣列存儲器的限制性分區(qū)方法,其中,步驟(3)進一步包括從地址請求中提取目標(biāo)地址;提取邏輯盤的最底層邊界地址;在該最底層邊界地址之上加上該目標(biāo)地址,形成調(diào)整校準(zhǔn)后的翻譯地址。 上述的閃存陣列存儲器的限制性分區(qū)方法,其中,步驟(4)進一步包括 提取邏輯盤的最底層邊界地址和最上層邊界地址;將接收到的物理地址與提取的最底層邊界地址和最上層邊界地址作比較,對于處于最底層邊界地址和最上層邊界地址之外的物理地址,限制訪問閃存陣列存儲 器的該物理地址。上述的閃存陣列存儲器的限制性分區(qū)方法,其中,步驟(2)進一步包括發(fā)送至少一個接口命令到閃存陣列存儲器,該接口命令把該些邏輯盤的地址 邊界設(shè)置成該閃存陣列存儲器的地址邊界。上述的閃存陣列存儲器的限制性分區(qū)方法,其中,該接口命令包括最底層邊 界命令和最上層邊界命令。上述的閃存陣列存儲器的限制性分區(qū)方法,其中,該接口命令中嵌有永久位, 該永久位用以控制相關(guān)邏輯盤的地址邊界是否是可更改的。上述的閃存陣列存儲器的限制性分區(qū)方法,其中,該接口命令中嵌有密碼位, 該密碼位用以控制相關(guān)邏輯盤的地址邊界是否是可更改的。上述的閃存陣列存儲器的限制性分區(qū)方法,其中,該些邏輯盤的地址空間由 該閃存陣列存儲器中多個不連續(xù)的地址段組成。本發(fā)明對比現(xiàn)有技術(shù)有如下的有益效果本發(fā)明通過用戶在固件水平上確定 和更改閃存陣列存儲器的地址邊界使之成為位于該閃存陣列存儲器中的一個邏輯 盤的地址邊界。因為這樣的邊界定義是在物理設(shè)備的固件水平上實施的,每一個地 址訪問請求,不論其來源,也不管是哪一個軟件組件發(fā)出的請求,都是受固件規(guī)定 的界限限制的。本發(fā)明的邏輯盤能把其最底層的地址作為其零地址,盡管這個地址 可能不是真正位于物理設(shè)備的絕對零地址上。為了使固件水平的物理設(shè)備虛擬化, 物理設(shè)備的控制器根據(jù)最底層邊界的實際位置自動調(diào)整所接收到的地址請求。相較 于現(xiàn)有技術(shù),本發(fā)明能限制訪問一個內(nèi)部預(yù)先設(shè)定的區(qū)域,因而也能保護所有其他 數(shù)據(jù)免遭災(zāi)害性的損害。本發(fā)明能支持限制性分區(qū)以及存儲虛擬化。無論地址請求 來源于何處,都能支持這些分區(qū)的存儲虛擬化并獨立于任何操作系統(tǒng)之外。本發(fā)明 可使閃存陣列存儲器包含多于一個的引導(dǎo)塊,每個引導(dǎo)塊有一個分開的獨立的設(shè)備 區(qū),使得主引導(dǎo)塊在受損的情況下也能正常工作。而且,本發(fā)明能將病毒限制于一 個預(yù)先設(shè)定的內(nèi)部區(qū)域內(nèi)。
圖1是閃存陣列存儲器的原理圖。6圖2是本發(fā)明的閃存陣列存儲器的限制性分區(qū)方法的較佳實施例的流程圖。圖3是圖2的限制性分區(qū)方法中的一個子流程圖。圖4是圖2的限制性分區(qū)方法中的另一個子流程圖。圖5是本發(fā)明的接口命令的一個較佳實施例的結(jié)構(gòu)圖。圖6A、 6B是本發(fā)明的接口命令的另一較佳實施例的結(jié)構(gòu)圖。圖7是本發(fā)明的接口命令的又一較佳實施例的結(jié)構(gòu)圖。圖8是本發(fā)明的接口命令的又一較佳實施例的結(jié)構(gòu)圖。
具體實施方式
下面結(jié)合附圖和實施例對本發(fā)明作進一步的描述。閃存陣列存儲器的結(jié)構(gòu)請參見申請人的另一份申請文件中的描述(申請?zhí)枮?200710171787.8,申請日為2007年12月5日,發(fā)明名稱為"一種閃存陣列存儲器")。 圖1示出了閃存陣列存儲器的結(jié)構(gòu)。請參見圖1,閃存陣列存儲器1包括物理輸入 /輸出接口 10、閃存陣列控制器12、閃存陣列14。當(dāng)然,陣列存儲器還可以包括 容納閃存陣列控制器12的印刷電路板(未圖示)和外殼(未圖示)。閃存陣列控 制器12內(nèi)設(shè)置塊映射單元120。閃存陣列14由閃存模塊141、閃存模塊142…… 閃存模塊14N等多個閃存模塊組成,可以是如圖1所示的平行并列,也可以是其他 的排列方式。物理輸入/輸出接口 10與外界進行數(shù)據(jù)傳輸,這種數(shù)據(jù)傳輸是基于邏輯地址 進行的。外界包括存儲設(shè)備、讀寫設(shè)備、總線結(jié)構(gòu)等。物理輸入/輸出接口 10包括 USB接口、 SATA接口、 IDE接口、 eSATA接口、 ATA接口其中之一。例如當(dāng)閃存陣 列存儲器1同計算機連接時,接口 IO與主機的物理存儲總線相互作用,并在運行 期把主機的輸入/輸出請求轉(zhuǎn)換成邏輯的讀寫命令。接口 io也處理總線特定命令, 如那些發(fā)現(xiàn)和初始化設(shè)備的命令。 一旦收到存儲總線的讀寫命令,它們將被裝置的 接口 IO翻譯。從物理輸入/輸出接口 10以邏輯地址接收到的數(shù)據(jù),需要存儲在閃存陣列14 的其中一個閃存模塊中。由于接口 IO與內(nèi)部的各個閃存模塊是基于物理地址尋址 的,閃存陣列控制器12中的塊映射單元120負責(zé)將該邏輯地址映射到物理地址。 數(shù)據(jù)基于映射后的物理地址存儲在對應(yīng)的閃存模塊上。類似的,當(dāng)存儲在某一閃存模塊的數(shù)據(jù)通過接口 10向外傳輸時,也需要通過塊映射單元120將內(nèi)部的物理地 址映射到外部的邏輯地址。塊映射單元120的映射方式有兩種。塊映射單元120可以把并列的閃存模塊 所組成的閃存陣列作為線性的可尋址塊的獨立陣列。例如,假設(shè)每個閃存模塊的容 量為256個物理塊,則第一個邏輯塊包括邏輯地址0 255,第二個邏輯塊包括邏 輯地址256 511,依此類推。但對于大批量線性數(shù)據(jù)轉(zhuǎn)移來說,其總體性能受到 其中任何一個獨立存儲模塊的吞吐量的限制。塊映射單元120可同時平行存儲閃存模塊。例如,假設(shè)裝置1使用4個平行 的閃存模塊(即N=4),把第一個邏輯塊放在第一個閃存模塊中,第二個邏輯塊 放在第二個閃存模塊中,第三個邏輯塊放在第三個閃存模塊中,第四個邏輯塊放在 第四個閃存模塊中。這樣存儲器能支持的有效吞吐量是每個單獨閃存模塊的4倍。 假設(shè)N是閃存模塊的數(shù)目,邏輯地址A對應(yīng)的物理塊位置是在閃存模塊(AmodN) 中。圖2示出了本發(fā)明的閃存陣列存儲器的限制性分區(qū)方法。請參見圖2,下面是 對該方法中各步驟的詳細描述。步驟S10:將閃存陣列存儲器l分區(qū)成一個或多個邏輯盤。其中每一個邏輯盤 是閃存陣列存儲器1的一部分。步驟S12:將這些邏輯盤中的地址邊界設(shè)置成閃存陣列存儲器1的地址邊界。這一步驟是將閃存陣列存儲器1的物理地址定義為某一邏輯盤的地址邊界。 具體的說,發(fā)送至少一個接口命令到閃存陣列存儲器l,接口命令將邏輯盤的地址 邊界設(shè)置成閃存陣列存儲器1的地址邊界。圖5示出了接口命令的一般結(jié)構(gòu)。如圖 5所示,相關(guān)邏輯盤的地址邊界200嵌入在接口命令52里并轉(zhuǎn)移到閃存陣列存儲 器1中。接口命令的約定包含在閃存陣列存儲器1的閃存陣列控制器12上,因而 閃存陣列存儲器1能存儲相關(guān)邏輯盤的邊界地址。為了識別該接口命令,這種識別 代碼和操作將需要加入到閃存陣列存儲器1的固件或控制器12上,加入這樣代碼 的方法是現(xiàn)有技術(shù)。在一個實施例中,接口命令52可以包括兩個命令圖6A所示的最底層邊界 命令54和圖6B所示的最上層邊界命令56。相關(guān)邏輯盤的最底層邊界地址202嵌 入在最底層邊界命令54里并轉(zhuǎn)移到閃存陣列存儲器1中,將閃存陣列存儲器1的一個物理地址設(shè)置成相關(guān)邏輯盤的最底層邊界。相關(guān)邏輯盤的最上層邊界地址204 嵌入在最上層邊界命令56里并轉(zhuǎn)移到閃存陣列存儲器1中,將閃存陣列存儲器1 的一個物理地址設(shè)置成相關(guān)邏輯盤的最上層邊界。較佳的,可以在接口命令中嵌入永久位以控制相關(guān)邏輯盤的地址邊界是否是 可更改的。如圖5所示, 一個永久位212被嵌入在接口命令52中,并被轉(zhuǎn)換到閃 存陣列存儲器1里。永久位212控制了相關(guān)邏輯盤的永久性地址邊界直到電腦系統(tǒng) 被硬復(fù)位。如果永久位212不被激活,那么相關(guān)邏輯盤的地址邊界隨后可以被任何 適當(dāng)命令所改變,如果永久位212被激活,那么相關(guān)邏輯盤的地址邊界是不可變的, 除非該電腦系統(tǒng)下次被硬復(fù)位。激活永久位212被閃存陣列存儲器1接收后,閃存 陣列存儲器1在舊的接口命令52完成之前停止實現(xiàn)新的接口命令52,除非相關(guān)的 電腦系統(tǒng)被硬復(fù)位。對于包含了最底層邊界命令54和最上層邊界命令56的接口命 令52,永久位214嵌入在最底層邊界命令54中,永久位216也嵌入在最上層邊界 命令56中。較佳的,可以在接口命令中嵌入密碼位以控制相關(guān)邏輯盤的地址邊界是否是 可更改的。如圖5所示,密碼位218被嵌入在接口命令52中并被轉(zhuǎn)換到閃存陣列 存儲器1里。在這一實施例中,閃存陣列存儲器1在它的控制器12上包括了一個 數(shù)據(jù)域。在閃存陣列存儲器1接收到密碼位218后,把密碼位218與存儲在數(shù)據(jù)域 中的數(shù)據(jù)加以比較。除非在數(shù)據(jù)域里沒有存儲數(shù)據(jù)(這種情況下密碼位218是通過 存儲來保存在數(shù)據(jù)域中的),或者除非密碼位218與存儲在數(shù)據(jù)域的數(shù)據(jù)相吻合, 閃存陣列存儲器1在接口命令52完成之前停止實現(xiàn)新的接口命令52。對于包含了 最底層邊界命令54和最上層邊界命令56的接口命令52,密碼位220嵌入在最底 層邊界命令54中,密碼位222也嵌入在最上層邊界命令56中。較佳的,可以結(jié)合永久位和密碼位對相關(guān)邏輯盤的地址邊界是否可更改進行 控制。如果密碼位218與存儲在數(shù)據(jù)域的數(shù)據(jù)不吻合,接口命令52的實施在它完 成之前被中斷,訪問相關(guān)邏輯盤被禁止,改變相關(guān)邏輯盤的地址邊界也被禁止。如 果密碼位218與存儲在數(shù)據(jù)域的數(shù)據(jù)相吻合,或者如果在數(shù)據(jù)域中無數(shù)據(jù)保存,那 么永久位212將被檢查。如果在數(shù)據(jù)域中沒有數(shù)據(jù)保存,那么密碼位218就被保存 在數(shù)據(jù)域中。如果永久位212沒有被激活,當(dāng)密碼位218與存儲在數(shù)據(jù)域中的數(shù)據(jù) 吻合或在數(shù)據(jù)域中沒有數(shù)據(jù)時,相關(guān)邏輯盤的地址邊界可能被任何隨后的適當(dāng)命令或該電腦系統(tǒng)的硬復(fù)位改變。如果永久位212被激活,當(dāng)密碼位218與數(shù)據(jù)域的數(shù) 據(jù)吻合或數(shù)據(jù)域中沒有數(shù)據(jù)時,直到下次電腦系統(tǒng)被硬復(fù)位之前,相關(guān)邏輯盤的地 址邊界被設(shè)置成永久不可改變的。接口命令較佳的可包括一些預(yù)留區(qū)域,例如圖5所示的接口命令52的保留區(qū) 域224、圖6A所示的最底層邊界命令54的保留區(qū)域226以及圖6B所示的最上層 邊界命令56的保留區(qū)域228。相關(guān)邏輯盤的地址空間可以由閃存陣列存儲器l中多個不連讀的地址段組成。 可以由如下的幾個方式來實現(xiàn)。請參見圖7,這樣的指定是在接口命令內(nèi)提供的。接口命令52仍然包括一個 命令代碼206、 一個永久位212、 一個保留區(qū)域224和一個密碼位218。同時,接 口命令52也包括了一系列范圍領(lǐng)域(范圍數(shù))230和一個在每個范圍領(lǐng)域230里 的最底層和最上層地址232。范圍數(shù)230提供物理地址的不同不連續(xù)地址段的數(shù)量, 在范圍領(lǐng)域230中標(biāo)明的是每個地址段里的最底層和最上層地址。請參見圖8,指定多個不連續(xù)的地址段由嵌入在接口命令52中的多位234提 供。接口命令52仍然包括一個命令代碼206、 一個永久位212、 一個保留區(qū)域224、 一個密碼位218和一個地址邊界領(lǐng)域200。此外,接口命令52也包括了一個多位 234,多位234的激活標(biāo)志了相關(guān)邏輯盤由閃存陣列存儲器1中的多個不連續(xù)的物 理地址段組成。當(dāng)多位234被激活,閃存陣列存儲器1中的控制器12就會明白 除了嵌入在當(dāng)前接口命令52里的地址段外,相關(guān)邏輯盤還包括最近一次電腦系統(tǒng) 的硬復(fù)位后或者上次在不激活的多位234時成功地執(zhí)行接口命令52后存儲在控制 器12中的多個地址段。在執(zhí)行一個包括多個不連續(xù)區(qū)域的接口命令52后,相關(guān)邏輯盤的邏輯大小等 于在相關(guān)邏輯盤里的所有不連續(xù)的地址段大小的總和,相關(guān)邏輯盤的邏輯地址空間 從邏輯地址0延伸到其邏輯地址終點。選定的物理地址段在邏輯地址中依起始地址 大小遞增順序出現(xiàn),重疊的物理地址段是不允許的。步驟S14:對閃存陣列存儲器接收到的地址請求中的目標(biāo)地址進行調(diào)整校準(zhǔn), 這一步驟是在閃存陣列存儲器的控制器12上實施的,具有固件水平。這一步驟的細化請參見圖3,下面是對步驟S14的細化流程的描述。步驟S140:從地址請求中提取目標(biāo)地址。步驟S142:提取當(dāng)前邏輯盤的最底層邊界地址,這個地址通常存儲在閃存陣 列存儲器的控制器12上。步驟S144:在最底層邊界地址上加上目標(biāo)地址,形成調(diào)整校準(zhǔn)后的翻譯地址。亦即,翻譯地址=目標(biāo)地址+最底層邊界地址。通過把目標(biāo)地址加入到相關(guān) 邏輯盤的最底層邊界地址上,調(diào)整校準(zhǔn)步驟把一個虛擬地址(基于最底層邊界是位于閃存陣列存儲器的虛擬o地址)上的目標(biāo)地址翻譯到一個真實地址(基于閃存陣 列存儲器的真實絕對o物理地址)上去。這樣的翻譯使得閃存陣列存儲器1不用犧牲自身的地址精確度,把二級存儲 虛擬化,把相關(guān)邏輯盤的最底層和最上層之間的地址范圍當(dāng)做整個的二級存儲范 圍。閃存陣列存儲器1的二級存儲通過這個翻譯和虛擬化,把容量有效縮小到(最 上層地址邊界_最底層地址邊界+1)。步驟S16:將調(diào)整校準(zhǔn)后的地址與當(dāng)前操作系統(tǒng)控制下的邏輯盤中的地址邊界進行比較,以確保調(diào)整校準(zhǔn)后的地址位于地址邊界內(nèi)。這一步驟的細化請參見圖4,下面結(jié)合圖4對步驟S16進行更詳細的描述。步驟S160:提取當(dāng)前邏輯盤的最底層邊界地址和最上層邊界地址。這兩個邊界地址通常是從閃存陣列存儲器1的控制器12上獲得。步驟S162:判斷接收到的地址請求中的物理地址與提取到的最底層邊界地址和最上層邊界地址作比較,如果物理地址位于最底層邊界地址和最上層邊界地址之間,則進入步驟S164,否則轉(zhuǎn)入步驟S166。步驟S164:對該地址請求不做限制,允許訪問目標(biāo)地址。 步驟S166:限制該地址請求對其中的物理地址的訪問。本發(fā)明的閃存陣列存儲器的限制性分區(qū)方法可以有如下方面的實際應(yīng)用。 和閃存虛擬操作系統(tǒng)以及其他操作系統(tǒng)的關(guān)系本發(fā)明可應(yīng)用于超級操作系統(tǒng),這種操作系統(tǒng)在美國專利申請?zhí)?0/080, 485 的美國專利申請被詳細描述,以下簡稱閃存虛擬操作系統(tǒng)(Flash VOS)。除此之 外,本發(fā)明也能應(yīng)用在典型的計算機系統(tǒng)中。邏輯盤都是由閃存陣列控制器12來設(shè)置的,每一個邏輯盤都是閃存陣列存儲 器1的一個子集。而操作系統(tǒng)借助閃存陣列控制器12,只對閃存陣列控制器12所提供的那個邏輯盤進行數(shù)據(jù)存取。閃存陣列控制器12負責(zé)為操作系統(tǒng)設(shè)置起始/ 結(jié)束地址、塊大小以及總?cè)萘康?。對于閃存超級操作系統(tǒng),在任何時候用戶設(shè)置或改變默認(rèn)的操作系統(tǒng)后,設(shè) 置的邊界命令將自動被閃存超級操作系統(tǒng)激活。通過選擇一個特定的操作系統(tǒng)作為 計算機的默認(rèn)操作系統(tǒng),用戶事實上確定含有默認(rèn)操作系統(tǒng)的邏輯盤的相關(guān)最底層 和最上層邊界。在默認(rèn)操作系統(tǒng)被設(shè)置或改變并在整個電腦系統(tǒng)硬復(fù)位后,閃存超級操作系統(tǒng)的BIOS ROM激活一個設(shè)置邊界的命令。設(shè)置邊界命令的相關(guān)部份把包 含默認(rèn)操作系統(tǒng)的邏輯盤的最底層地址或把邊界設(shè)置為可以在相關(guān)物理設(shè)備中被 訪問的最底層地址。設(shè)置邊界命令的相關(guān)部份把包含默認(rèn)操作系統(tǒng)的邏輯盤的最上 層地址設(shè)置為可以訪問相關(guān)物理設(shè)備的最上層地址或邊界。默認(rèn)操作系統(tǒng)(和每一 個操作系統(tǒng))的最底層和最上層地址存儲在虛擬目錄表中的BIOS R0M水平上,這 樣,正確的最底層和最上層邊界的邏輯地址就能被訪問并發(fā)送到閃存陣列存儲器。永久位設(shè)置本發(fā)明的程序是嵌入在閃存陣列存儲器的控制器固件中的。用戶可以選擇當(dāng) 永久位是設(shè)置在每個接口命令上,在電腦系統(tǒng)的一個硬復(fù)位后即時被超級操作系統(tǒng) (如閃存虛擬操作系統(tǒng))激活。而且一旦永久位被設(shè)置,除了相關(guān)超級操作系統(tǒng)(硬 復(fù)位后),沒有軟件能通過這樣的命令控制或改變最底層和/或最上層地址的設(shè)置。 這樣,被最底層和最上層邊界定義的可訪問的邏輯盤僅能被超級操作系統(tǒng)(如閃存 虛擬操作系統(tǒng))及相關(guān)硬復(fù)位功能修改。永久位的功能提供了在一個物理設(shè)備的固 定的邏輯盤分區(qū)中,讓多個操作系統(tǒng)共存于一臺電腦是很重要的。密碼保護密碼保護允許用戶禁止訪問閃存陣列存儲器的特定區(qū)域,并禁止改變這個特 定區(qū)域的邊界。不像永久位功能在電腦系統(tǒng)一個硬復(fù)位后就無效了,密碼位的功能 即使在電腦有一個硬復(fù)位后還是有效的,這是因為密碼位存儲在數(shù)據(jù)域的控制器 中。多個不連續(xù)區(qū)域允許選擇多個不連續(xù)的物理段的選項,可以支持操作系統(tǒng)訪問一個單一磁盤 的多個不連續(xù)的區(qū)域,能允許如閃存虛擬系統(tǒng)一樣的超級操作系統(tǒng)在一個特定的物 理磁盤上讓一個特定的操作系統(tǒng)訪問多個分區(qū)。和Partition Magic (磁盤分區(qū))軟件的比較(1) 本發(fā)明能在固件水平上讓用戶自行定義和改變二級存儲物理設(shè)備(如閃 存陣列存儲器)的地址邊界,Partition Magic軟件無法在固件水平上定義二級存 儲物理設(shè)備的地址邊界。(2) Partition Magic創(chuàng)建的分區(qū)不能限制其他操作系統(tǒng)對該分區(qū)的訪問, 從而無法保證用戶的數(shù)據(jù)不被其他用戶破壞。而本發(fā)明能使對閃存陣列存儲器的地 址訪問限制在特定的一段存儲空間內(nèi),禁止訪問該特定存儲空間以外的存儲空間, 因而能保護所有其他數(shù)據(jù)免遭災(zāi)害性的損害。(3) 此外利用Partition Magic進行分區(qū)的二級物理存儲設(shè)備僅包含一個主 引導(dǎo)分區(qū),如果主引導(dǎo)分區(qū)受到損壞,通常整個物理設(shè)備就會因為無法被訪問而變 得無用。而本發(fā)明可以使一個物理設(shè)備包含多個引導(dǎo)塊,每個引導(dǎo)塊是獨立分開的 區(qū)域(邏輯盤)。這樣不管主引導(dǎo)塊是否受損,用戶都能通過啟動多個引導(dǎo)塊中的 一個來使用設(shè)備。上述實施例是提供給本領(lǐng)域普通技術(shù)人員來實現(xiàn)或使用本發(fā)明的,本領(lǐng)域普 通技術(shù)人員可在不脫離本發(fā)明的發(fā)明思想的情況下,對上述實施例做出種種修改或 變化,因而本發(fā)明的保護范圍并不被上述實施例所限,而應(yīng)該是符合權(quán)利要求書提 到的創(chuàng)新性特征的最大范圍。
權(quán)利要求
1. 一種閃存陣列存儲器的限制性分區(qū)方法,包括(1)將閃存陣列存儲器分區(qū)成一個或多個邏輯盤;(2)將該些邏輯盤中的地址邊界設(shè)置成該閃存陣列存儲器的地址邊界;(3)對該閃存陣列存儲器接收到的地址請求中的目標(biāo)地址進行調(diào)整校準(zhǔn);(4)將調(diào)整校準(zhǔn)后的地址與當(dāng)前操作系統(tǒng)控制下的邏輯盤中的地址邊界進行比較,以確保調(diào)整校準(zhǔn)后的地址位于地址邊界內(nèi)。
2、 根據(jù)權(quán)利要求1所述的閃存陣列存儲器的限制性分區(qū)方法,其特征在于, 步驟(3)的地址請求的調(diào)整校準(zhǔn)是在閃存陣列存儲器的固件上實施的。
3、 根據(jù)權(quán)利要求1所述的閃存陣列存儲器的限制性分區(qū)方法,其特征在于, 步驟(3)進一步包括從地址請求中提取目標(biāo)地址; 提取邏輯盤的最底層邊界地址;在該最底層邊界地址之上加上該目標(biāo)地址,形成調(diào)整校準(zhǔn)后的翻譯地址。
4、 根據(jù)權(quán)利要求l所述的閃存陣列存儲器的限制性分區(qū)方法,其特征在于, 步驟(4)進一步包括提取邏輯盤的最底層邊界地址和最上層邊界地址;將接收到的物理地址與提取的最底層邊界地址和最上層邊界地址作比較,對 于處于最底層邊界地址和最上層邊界地址之外的物理地址,限制訪問閃存陣列存儲 器的該物理地址。
5、 根據(jù)權(quán)利要求1所述的閃存陣列存儲器的限制性分區(qū)方法,其特征在于, 步驟(2)進一步包括發(fā)送至少一個接口命令到閃存陣列存儲器,該接口命令把該些邏輯盤的地址 邊界設(shè)置成該閃存陣列存儲器的地址邊界。
6、 根據(jù)權(quán)利要求5所述的閃存陣列存儲器的限制性分區(qū)方法,其特征在于, 該接口命令包括最底層邊界命令和最上層邊界命令。
7、 根據(jù)權(quán)利要求5所述的閃存陣列存儲器的限制性分區(qū)方法,其特征在于, 該接口命令中嵌有永久位,該永久位用以控制相關(guān)邏輯盤的地址邊界是否是可更改 的。
8、 根據(jù)權(quán)利要求5所述的閃存陣列存儲器的限制性分區(qū)方法,其特征在于, 該接口命令中嵌有密碼位,該密碼位用以控制相關(guān)邏輯盤的地址邊界是否是可更改 的。
9、 根據(jù)權(quán)利要求l所述的閃存陣列存儲器的限制性分區(qū)方法,其特征在于, 該些邏輯盤的地址空間由該閃存陣列存儲器中多個不連續(xù)的地址段組成。
全文摘要
本發(fā)明公開了一種閃存陣列存儲器的限制性分區(qū)方法,能使閃存陣列存儲器在固件水平上虛擬化,閃存陣列存儲器的控制器能根據(jù)最底層邊界的實際位置而自動調(diào)整所接收到的每個地址請求。其技術(shù)方案為方法包括將閃存陣列存儲器分區(qū)成一個或多個邏輯盤;將該些邏輯盤中的地址邊界設(shè)置成該閃存陣列存儲器的地址邊界;對該閃存陣列存儲器接收到的地址請求中的目標(biāo)地址進行調(diào)整校準(zhǔn);將調(diào)整校準(zhǔn)后的地址與當(dāng)前操作系統(tǒng)控制下的邏輯盤中的地址邊界進行比較,以確保調(diào)整校準(zhǔn)后的地址位于地址邊界內(nèi)。本發(fā)明應(yīng)用于存儲設(shè)備領(lǐng)域。
文檔編號G06F12/14GK101276311SQ20081003713
公開日2008年10月1日 申請日期2008年5月8日 優(yōu)先權(quán)日2008年5月8日
發(fā)明者林貽基, 英 胡, 舒曼·拉菲扎德 申請人:蘇州壹世通科技有限公司