文件保護方法與系統及其存儲器控制器與存儲器存儲裝置制造方法
【專利摘要】本發(fā)明提供一種文件保護方法與系統及其存儲器控制器與存儲器存儲裝置。此文件保護方法包括為存儲在可備份式非易失性存儲器模塊中的文件執(zhí)行一文件保護啟動程序,其中此文件保護啟動程序包括:根據記錄在文件配置文檔中對應存儲此文件的至少一叢集的登錄值產生登錄值備份;將此登錄值備份存儲至安全存儲區(qū);以及在文件配置文檔中變更對應存儲此文件的叢集的登錄值,其中文件無法根據變更后的登錄值被正確地讀取?;诖颂帲痉椒捎行У胤乐刮募环鞘跈嗾叽嫒?。
【專利說明】文件保護方法與系統及其存儲器控制器與存儲器存儲裝置
【技術領域】
[0001]本發(fā)明是有關于一種文件保護方法與系統,且特別是有關于一種用于保護存儲于可備份式非易失性存儲器模塊的文件的文件保護方法與系統及其存儲器控制器與存儲器存儲裝置。
【背景技術】
[0002]數碼相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對存儲媒體的需求也急速增加。由于可備份式非易失性存儲器具有數據非易失性、省電、體積小與無機械結構等的特性,適合可攜式應用,最適合使用在這類可攜式由電池供電的產品上。U盤就是一種以與非(Not And, NAND)型閃速存儲器作為存儲媒體的存儲裝置。由于U盤體積小容量大,所以已廣泛用于數據的存儲與交換。
[0003]例如,用戶會彼此借用對方的U盤以將欲傳送給對方的數據存儲至其U盤中。然而,U盤是相當私人的物品,其往往存儲有個人的重要數據。因此,當用戶將U盤借用給他人時,如何不讓其他人看到或存取原先存儲在其中的個人文件是用戶相當重視的議題。
【發(fā)明內容】
[0004]本發(fā)明提供一種文件保護方法與系統及其存儲器控制器與存儲器存儲裝置,其能夠有效地防止文件被非授權者存取。
[0005]本發(fā)明實施例提出一種文件保護方法,用于存儲器存儲裝置,其中此存儲器存儲裝置具有可備份式非易失性存儲器模塊,且此可備份式非易失性存儲器模塊具有多個實體區(qū)塊。本文件保護方法包括:將此些實體區(qū)塊至少分組為數據區(qū)與備用區(qū);配置多個邏輯地址并且將此些邏輯地址分組為多個邏輯區(qū)塊以映射數據區(qū)的實體區(qū)塊,其中此些邏輯地址會被格式化為分割區(qū),此分割區(qū)包括文件配置文檔區(qū)與文件區(qū),文件配置文檔區(qū)存儲文件配置文檔,文件區(qū)中的至少一叢集存儲一文件,并且文件配置文檔記錄對應存儲此文件的叢集的登錄值。本文件保護方法也包括為此文件執(zhí)行一文件保護啟動程序,其中此文件保護啟動程序包括:根據記錄在文件配置文檔中對應存儲此文件的至少一叢集的登錄值產生登錄值備份;將此登錄值備份存儲至安全存儲區(qū);以及在文件配置文檔中變更對應存儲此文件的叢集的登錄值,其中文件無法根據變更后的登錄值被正確地讀取。
[0006]在本發(fā)明的一實施例中,所述的文件保護方法還包括:為上述文件執(zhí)行一文件保護關閉程序,其中此文件保護關閉程序包括:從上述安全存儲區(qū)中讀取對應的登錄值備份;以及在文件配置文檔中根據所讀取的登錄值備份回復對應存儲此文件的叢集的登錄值。
[0007]在本發(fā)明的一實施例中,在文件區(qū)中存儲上述文件的叢集的數目為I個,并且在文件配置文檔中變更對應存儲此文件的叢集的登錄值的步驟包括:在文件配置文檔中將對應存儲此文件的叢集的登錄值修改為表示壞叢集的值。
[0008]在本發(fā)明的一實施例中,在文件區(qū)中存儲此文件的叢集的數目為多個,并且上述在文件配置文檔中變更對應存儲此叢集的登錄值的步驟包括:在文件配置文檔中將對應存儲此文件的叢集中的其中一個叢集的登錄值修改為表示此叢集的地址的值。
[0009]在本發(fā)明的一實施例中,在文件區(qū)中存儲此文件的叢集的數目為多個,并且上述在文件配置文檔中變更對應存儲此叢集的登錄值的步驟包括:在文件配置文檔中將對應存儲此文件的叢集中的至少一個叢集的登錄值修改為表示壞叢集的值。
[0010]在本發(fā)明的一實施例中,在文件區(qū)中存儲此文件的叢集的數目為多個,并且上述在文件配置文檔中變更對應存儲此叢集的登錄值的步驟包括:在文件配置文檔中將對應存儲此文件的叢集中的至少一個叢集的登錄值修改為表示結束標記的值,其中此叢集非存儲此文件的最后一個叢集。
[0011]在本發(fā)明的一實施例中,所述的將此些實體區(qū)塊至少分組為數據區(qū)與備用區(qū)的步驟包括:將此些實體區(qū)塊至少分組為數據區(qū)、備用區(qū)與隱藏區(qū)并且將此隱藏區(qū)作為上述安全存儲區(qū)。
[0012]在本發(fā)明的一實施例中,所述的文件保護方法還包括:在主機系統運行一文件保護應用程序并且在存儲器存儲裝置配置存儲器控制器;以及通過此文件保護應用程序傳送用于上述文件的文件保護啟動信號給存儲器控制器,并且由存儲器控制器執(zhí)行此文件保護啟動程序以回應此文件保護啟動信號。
[0013]在本發(fā)明的一實施例中,所述的文件保護方法還包括:在主機系統運行文件保護應用程序;以及通過文件保護應用程序執(zhí)行上述文件保護啟動程序。
[0014]本發(fā)明實施例提出一種存儲器控制器,用于控制可備份式非易失性存儲器模塊,其中此可備份式非易失性存儲器模塊具有多個實體區(qū)塊。本存儲器控制器包括主機接口、存儲器接口與存儲器管理電路。主機接口用以電性連接至主機系統。存儲器接口用以電性連接至可備份式非易失性存儲器模塊。存儲器管理電路電性連接至主機接口與存儲器接口。在此,存儲器管理電路將此些實體區(qū)塊至少分組為數據區(qū)與備用區(qū),配置多個邏輯地址并且將此些邏輯地址分組為多個邏輯區(qū)塊以映射數據區(qū)的實體區(qū)塊,其中此些邏輯地址會被格式化為分割區(qū),此分割區(qū)包括文件配置文檔區(qū)與文件區(qū),文件配置文檔區(qū)存儲文件配置文檔,文件區(qū)中的至少一叢集存儲一文件并且文件配置文檔記錄對應存儲此文件的叢集的登錄值。此外,存儲器管理電路為此文件執(zhí)行一文件保護啟動程序,來根據記錄在文件配置文檔中對應存儲此文件的至少一叢集的登錄值產生登錄值備份,將此登錄值備份存儲至安全存儲區(qū),以及在文件配置文檔中變更對應存儲此文件的叢集的登錄值,其中文件無法根據變更后的登錄值被正確地讀取。
[0015]在本發(fā)明的一實施例中,所述的存儲器管理電路為上述文件執(zhí)行一文件保護關閉程序,以從安全存儲區(qū)中讀取對應的登錄值備份并且在文件配置文檔中根據所讀取的登錄值備份回復對應存儲此文件的叢集的登錄值。
[0016]在本發(fā)明的一實施例中,在文件區(qū)中存儲此文件的叢集的數目為I個,并且存儲器管理電路通過在文件配置文檔中將對應存儲此文件的叢集的登錄值修改為表示壞叢集的值,以變更對應存儲此文件的叢集的登錄值。
[0017]在本發(fā)明的一實施例中,在文件區(qū)中存儲此文件的叢集的數目為多個,并且存儲器管理電路通過在文件配置文檔中將對應存儲此文件的叢集中的其中一個叢集的登錄值修改為表示此叢集的地址的值,以變更對應存儲此文件的叢集的登錄值。
[0018]在本發(fā)明的一實施例中,在文件區(qū)中存儲此文件的叢集的數目為多個,并且存儲器管理電路通過在文件配置文檔中將對應存儲此文件的叢集中的至少一個叢集的登錄值修改為表示壞叢集的值,以變更對應存儲該文件的叢集的登錄值。
[0019]在本發(fā)明的一實施例中,在文件區(qū)中存儲此文件的叢集的數目為多個,并且存儲器管理電路通過在文件配置文檔中將對應存儲此文件的叢集中的至少一個叢集的登錄值修改為表示結束標記的值,以變更對應存儲該文件的叢集的登錄值,其中此叢集非存儲該文件的最后一個叢集。
[0020]在本發(fā)明的一實施例中,所述的存儲器管理電路將此些實體區(qū)塊至少分組為數據區(qū)、備用區(qū)與隱藏區(qū)并且將此隱藏區(qū)作為上述安全存儲區(qū)。
[0021]在本發(fā)明的一實施例中,所述的主機系統運行一文件保護應用程序,并且當此文件保護應用程序傳送用于此文件的文件保護啟動信號給存儲器管理電路時,存儲器管理電路執(zhí)行上述文件保護啟動程序以回應此文件保護啟動信號。
[0022]本發(fā)明實施例提出一種存儲器存儲裝置,其包括連接器、可備份式非易失性存儲器模塊與存儲器控制器。連接器用以電性連接至主機系統,可備份式非易失性存儲器模塊具有多個實體區(qū)塊,并且存儲器控制器電性連接至此連接器與可備份式非易失性存儲器模塊。在此,存儲器控制器將此些實體區(qū)塊至少分組為數據區(qū)與備用區(qū),配置多個邏輯地址并且將此些邏輯地址分組為多個邏輯區(qū)塊以映射數據區(qū)的實體區(qū)塊,其中此些邏輯地址會被格式化為分割區(qū),此分割區(qū)包括文件配置文檔區(qū)與文件區(qū),文件配置文檔區(qū)存儲文件配置文檔,文件區(qū)中的至少一叢集存儲一文件,并且文件配置文檔記錄對應存儲此文件的叢集的登錄值。此外,存儲器控制器為此文件執(zhí)行一文件保護啟動程序,來根據記錄在文件配置文檔中對應存儲此文件的至少一叢集的登錄值產生登錄值備份,將此登錄值備份存儲至安全存儲區(qū),以及在文件配置文檔中變更對應存儲此文件的叢集的登錄值,其中文件無法根據變更后的登錄值被正確地讀取。
[0023]在本發(fā)明的一實施例中,所述的存儲器控制器為上述文件執(zhí)行一文件保護關閉程序,以從安全存儲區(qū)中讀取對應的登錄值備份并且在文件配置文檔中根據所讀取的登錄值備份回復對應存儲此文件的叢集的登錄值。
[0024]在本發(fā)明的一實施例中,在文件區(qū)中存儲此文件的叢集的數目為I個,并且存儲器控制器通過在文件配置文檔中將對應存儲此文件的叢集的登錄值修改為表示壞叢集的值,以變更對應存儲此文件的叢集的登錄值。
[0025]在本發(fā)明的一實施例中,在文件區(qū)中存儲此文件的叢集的數目為多個,并且存儲器控制器通過在文件配置文檔中將對應存儲此文件的叢集中的其中一個叢集的登錄值修改為表示此叢集的地址的值,以變更對應存儲此文件的叢集的登錄值。
[0026]在本發(fā)明的一實施例中,在文件區(qū)中存儲此文件的叢集的數目為多個,并且存儲器控制器通過在文件配置文檔中將對應存儲此文件的叢集中的至少一個叢集的登錄值修改為表示壞叢集的值,以變更對應存儲該文件的叢集的登錄值。
[0027]在本發(fā)明的一實施例中,在文件區(qū)中存儲此文件的叢集的數目為多個,并且存儲器控制器通過在文件配置文檔中將對應存儲此文件的叢集中的至少一個叢集的登錄值修改為表示結束標記的值,以變更對應存儲該文件的叢集的登錄值,其中此叢集非存儲該文件的最后一個叢集。
[0028]在本發(fā)明的一實施例中,所述的存儲器控制器將此些實體區(qū)塊至少分組為數據區(qū)、備用區(qū)與隱藏區(qū)并且將此隱藏區(qū)作為上述安全存儲區(qū)。
[0029]在本發(fā)明的一實施例中,所述的主機系統運轉一文件保護應用程序,并且當此文件保護應用程序傳送用于此文件的文件保護啟動信號給存儲器控制器時,存儲器控制器執(zhí)行上述文件保護啟動程序以回應此文件保護啟動信號。
[0030]本發(fā)明實施例提出一種文件保護系統,其包括存儲器存儲裝置與文件保護應用程序。存儲器存儲裝置具有可備份式非易失性存儲器模塊與存儲器控制器,其中此可備份式非易失性存儲器模塊具有多個實體區(qū)塊,并且存儲器控制器將此些實體區(qū)塊至少分組為數據區(qū)、備用區(qū)與隱藏區(qū),配置多個邏輯地址并且將此些邏輯地址分組為多個邏輯區(qū)塊以映射數據區(qū)的實體區(qū)塊,其中此些邏輯地址會被格式化為分割區(qū),此分割區(qū)包括文件配置文檔區(qū)與文件區(qū),此文件配置文檔區(qū)存儲文件配置文檔,文件區(qū)中的至少一叢集存儲一文件,并且文件配置文檔記錄對應存儲此文件的叢集的登錄值。文件保護應用程序運行在主機系統中,并且為此文件執(zhí)行一文件保護啟動程序,來根據記錄在文件配置文檔中對應存儲此文件的至少一叢集的登錄值產生登錄值備份,將此登錄值備份存儲至安全存儲區(qū),以及在文件配置文檔中變更對應存儲此文件的叢集的登錄值,其中文件無法根據變更后的登錄值被正確地讀取。
[0031]基于所述,本發(fā)明實施例的文件保護方法與系統及其存儲器控制器與存儲器存儲裝置可防止非授權者存取所存儲的文件,由此確保所存儲的文件的安全性。
[0032]為讓本發(fā)明的所述特征和優(yōu)點能更明顯易懂,下文特舉實施例,并配合所示附圖作詳細說明如下。
【專利附圖】
【附圖說明】
[0033]圖1A是根據本發(fā)明一實施例提供的主機系統與存儲器存儲裝置的概要方塊圖;
[0034]圖1B是根據本發(fā)明一實施例提供的電腦、輸入/輸出裝置與存儲器存儲裝置的示意圖;
[0035]圖1C是根據本發(fā)明另一實施例提供的主機系統與存儲器存儲裝置的示意圖;
[0036]圖2與圖3是根據本發(fā)明一實施例提供的管理實體區(qū)塊的示意圖;
[0037]圖4為根據本發(fā)明一實施例提供的以文件系統格式化存儲器模塊的邏輯區(qū)塊地址的不意圖;
[0038]圖5是根據本發(fā)明一實施例提供的文件配置文檔區(qū)的示意圖;
[0039]圖6是根據本發(fā)明一實施例提供的存儲器控制器的概要方塊圖;
[0040]圖7是根據本發(fā)明一實施例提供的在存儲器存儲裝置中存儲文件的示意圖;
[0041]圖8A與圖SB是根據本發(fā)明一實施例提供的修改文件配置文檔的一示意圖;
[0042]圖9A與圖9B是根據本發(fā)明一實施例提供的修改文件配置文檔的另一示意圖;
[0043]圖1OA與圖1OB是根據本發(fā)明一實施例提供的修改文件配置文檔的再一示意圖;
[0044]圖1lA與圖1lb是根據本發(fā)明一實施例提供的修改文件配置文檔的又一示意圖;
[0045]圖12A與圖12B是根據本發(fā)明一實施例提供的文件保護方法的流程圖。
[0046]附圖標記說明:
[0047]100:存儲器存儲裝置;
[0048]102:連接器;[0049]104:存儲器控制器;
[0050]106:可備份式非易失性存儲器模塊;
[0051]1000:主機系統;
[0052]1102:微處理器;
[0053]1104:存儲裝置;
[0054]1106:隨機存取存儲器;
[0055]1108:輸入/輸出裝置;
[0056]1110:操作系統;
[0057]1120:文件保護應用程序;
[0058]1100:電腦;
[0059]12O2:鼠標;
[0060]1204:鍵盤;
[0061]1206:顯示器;
[0062]1208:打印機;
[0063]1212:U 盤;
[0064]1214:存儲卡;
[0065]1216:固態(tài)硬盤;
[0066]1310:數碼相機;
[0067]1312:SD 卡;
[0068]1314:MMC 卡;
[0069]1316:存儲棒;
[0070]1318:CF 卡;
[0071]1320:嵌入式存儲裝置;
[0072]304(0)?304 (R):實體區(qū)塊;
[0073]402:數據區(qū);
[0074]404:備用區(qū);
[0075]406:取代區(qū);
[0076]408:隱藏區(qū);
[0077]LBA(O)?LBA(H):邏輯區(qū)塊地址;
[0078]600(0)?600 (W):叢集;
[0079]700(0)?700 (M+K):扇區(qū);
[0080]900:分割區(qū);
[0081]902:主引導磁區(qū);
[0082]904:文件配置文檔區(qū);
[0083]906:根目錄區(qū);
[0084]908:文件區(qū);
[0085]950:文件配置文檔;
[0086]202:存儲器管理電路;
[0087]204:主機接口;[0088]206:存儲器接口;
[0089]208:緩沖存儲器;
[0090]210:電源管理電路;
[0091]212:錯誤檢查與校正電路;
[0092]801、803、805:文件描述區(qū)塊;
[0093]807、809:文件;
[0094]880、980、1080、1180:登錄值備份;
[0095]S1201、S1203、S1205、S1207、S1209、S1211、S1213、S1215:文件保護方法的步驟?!揪唧w實施方式】
[0096]圖1A是根據本發(fā)明一實施例提供的主機系統與存儲器存儲裝置的概要方塊圖。
[0097]請參照圖1A,主機系統1000包括微處理器1102、存儲裝置1104、隨機存取存儲器1106與輸入/輸出裝置1108。當主機系統1000開機時,微處理器1102會執(zhí)行安裝在存儲裝置1104中的操作系統1110,以使主機系統1000根據用戶的操作而提供對應的功能。例如,在本實施例實施中,主機系統1000為電腦系統并且操作系統1110為窗口操作系統,并且當主機系統1000開機后,用戶可通過輸入/輸出裝置1108操作主機系統1000以執(zhí)行文檔文件編輯、影音文件編輯、影音播放等功能。
[0098]存儲器存儲裝置100是電性連接至主機系統1000,并且根據來自于主機系統1000的操作系統1110的指令執(zhí)行數據的寫入與讀取。例如,存儲器存儲裝置100可以是如圖1B所示的U盤1212、存儲卡1214或固態(tài)硬盤(Solid State Drive, SSD) 1216等的可備份式非易失性存儲器存儲裝置。
[0099]雖然在本發(fā)明實施例中,主機系統1000是以電腦系統來作說明,然而,在本發(fā)明另一實施例中主機系統1000可以是數碼相機、攝影機、通信裝置、音頻播放器或視頻播放器等系統。例如,在主機系統為數碼相機(攝影機)1310時,可備份式非易失性存儲器存儲裝置則為其所使用的安全數碼(Secure Digital, SD)卡1312、多媒體存儲卡(MultiMedia Card,MMC)卡 1314、存儲棒(memory stick) 1316、小型閃存(Compact Flash,CF)卡1318或嵌入式存儲裝置1320 (如圖1C所示)。嵌入式存儲裝置1320包括嵌入式多媒體卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接電性連接在主機系統的基板上。
[0100]存儲器存儲裝置100包括連接器102、存儲器控制器104與可備份式非易失性存儲器模塊106。
[0101]連接器102是相容于通用串行總線(Universal Serial Bus, USB)標準的連接器。然而,必須了解的是,本發(fā)明不限于此,連接器102也可以是相容MS標準、MMC標準、CF標準、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,IEEE) 1394標準、高速外圍組件互連接口(Peripheral Component Interconnect Express,PCI Express)標準、串行高級技術附件(Serial Advanced Technology Attachment,SATA)標準、并行高級技術附件(ParalIelAdvanced Technology Attachment, PATA)標準、SD 標準、電子集成驅動器接口(Integrated Device Electronics, IDE)標準或其他標準的連接器。[0102]存儲器控制器104用以執(zhí)行以硬件型式或固件型式實作的多個邏輯門或控制指令,并且根據主機系統1000的指令在可備份式非易失性存儲器模塊106中進行數據的寫入、讀取與擦除等運作。特別是,存儲器控制器104能夠執(zhí)行根據本發(fā)明實施例的文件保護啟動程序以回應運轉于主機系統1000的文件保護應用程序1120所傳送的文件保護啟動信號,來防止主機系統1000存取被保護的文件。此外,存儲器控制器104能夠執(zhí)行根據本發(fā)明一實施例的文件保護關閉程序以回應運轉于主機系統1000的文件保護應用程序1120所傳送的文件保護關閉信號,來允許主機系統1000存取原先被保護的文件。稍后將配合附圖詳細描述文件保護啟動程序與文件保護關閉程序。
[0103]可備份式非易失性存儲器模塊106是電性連接至存儲器控制器104,并且用以存儲主機系統1000所寫入的數據??蓚浞菔椒且资源鎯ζ髂K106包括多個實體區(qū)塊。各實體區(qū)塊分別具有多數個實體頁面,其中屬于同一個實體區(qū)塊的實體頁面可被獨立地寫入且被同時地擦除。更詳細來說,實體區(qū)塊為擦除的最小單位。也即,每一實體區(qū)塊含有最小數目之一并被擦除的存儲胞。實體頁面為程序化的最小單元。即,實體頁面為寫入數據的最小單元。然而,必須了解的是,在本發(fā)明另一實施例中,寫入數據的最小單位也可以是扇區(qū)(Sector)或其他大小。在本發(fā)明另一實施例中,可備份式非易失性存儲器模塊106為多層單元(Multi Level Cell, MLC)NAND型閃速存儲器模塊。然而,本發(fā)明不限于此,可備份式非易失性存儲器模塊106也可是單層單元(Single Level Cell,SLC)NAND型閃速存儲器模塊、三層單元(Trinary Level Cell, TLC)NAND型閃速存儲器模塊、其他閃速存儲器模塊或其他具有相同特性的存儲器模塊。
[0104]圖2與圖3是根據本發(fā)明一實施例提供的管理實體區(qū)塊的示意圖。
[0105]請參照圖1和圖2,在本發(fā)明一實施例中,存儲器控制器104會將可備份式非易失性存儲器模塊106的實體區(qū)塊304(0)?304(R)邏輯地分組為數據區(qū)402、備用區(qū)404、取代區(qū)406與隱藏區(qū)408,其中被分組為數據區(qū)402與備用區(qū)404的實體區(qū)塊會輪替地來存儲主機系統1000所寫入的數據,取代區(qū)406的實體區(qū)塊是用以取代數據區(qū)402與備用區(qū)404中的壞實體區(qū)塊,而隱藏區(qū)408是用以存儲存儲器控制器104所使用的系統數據。特別是,主機系統1000無法存取隱藏區(qū)408。
[0106]請參照圖1和圖3,為了使主機系統1000能夠方便地對以輪替方式存儲數據的實體區(qū)塊進行存取,存儲器控制器104會配置邏輯區(qū)塊地址LBA(O)?LBA(H)來映射數據區(qū)402的實體區(qū)塊,由此主機系統1000能夠直接地依據邏輯區(qū)塊地址LBA(O)?LBA(H)來進行數據的寫入與讀取。
[0107]在本發(fā)明一實施例中,邏輯區(qū)塊地址LBA(O)?LBA⑶會根據文件系統被格式化成一個分割區(qū)(partition)900(如圖4所示),其中,文件系統可為文件配置表(FileAllocation Table, FAT)、新技術文件系統(New Technology File System, NTFS)、高性能文件系統(High Performance File System,HPFS)或其他類型的管理文件系統。為說明方便,本發(fā)明一實施例是以FAT來作說明。
[0108]分割區(qū)900可包括主引導磁區(qū)902、文件配置文檔區(qū)904、根目錄區(qū)906與文件區(qū)908。
[0109]屬于主引導磁區(qū)902的邏輯區(qū)塊地址是用以存儲存儲器存儲裝置100的可存儲空間的系統信息。[0110]屬于文件配置文檔區(qū)904的邏輯區(qū)塊地址是用以存儲文件配置文檔。文件配置文檔是用以記錄用以存儲數據的邏輯區(qū)塊地址的登錄值。例如,文件配置文檔區(qū)904中會存儲兩個文件配置文檔,其中一個文件配置文檔為正常存取所使用,而另一個文件配置文檔為備份文件配置文檔。
[0111]屬于根目錄區(qū)906的邏輯區(qū)塊地址是用以存儲文件描述區(qū)塊(File DescriptionBlock, FDB),其用以記錄目前存儲在存儲器存儲裝置100中的文件與目錄的屬性信息。例如,對應一個文件的文件描述區(qū)塊會記錄用以此文件的檔名以及存儲此文件的起始邏輯區(qū)塊地址(即,起始叢集);并且對應一個目錄的文件描述區(qū)塊會記錄此目錄的目錄名稱以及用以記錄存儲在此目錄中的文件或目錄的文件描述區(qū)塊的邏輯區(qū)塊地址(即,叢集)。
[0112]屬于文件區(qū)908的邏輯區(qū)塊地址會被劃分為多個叢集并且用以實際地存儲文件的內容。
[0113]具體來說,磁盤存儲最小單位為扇區(qū),每一個扇區(qū)包含了 512字節(jié)(byte)的信息內容。然而,使用扇區(qū)當單位來存儲時,主機系統1000的效率會很差。一般來說,主機系統1000的操作系統1110不會以一個扇區(qū)當作存取文件的單位,而是以叢集為一基本文件單位。每一個叢集是架構在扇區(qū)的2次方倍數上。假定連續(xù)的8個扇區(qū)構成一個叢集,則此叢集的大小就為4096字節(jié)。基此,操作系統1110在存取數據時會以8個扇區(qū)連續(xù)讀取而提升了相對效率。但,叢集并非越大越好。因為當叢集越大時相對的可能會浪費許多存儲空間。例如,在一個叢集為4千字節(jié)(kilobyte,KB)的情況下,當主機系統1000所存儲的文件內容只有IKB時,此文件還是占用掉一個叢集的空間,剩余的3KB的存儲空間就浪費掉了。特別是,叢集的總數目會受限于可備份式非易失性存儲器模塊106的容量與文件配置文檔類型而有所不同。以FAT16來說,根據定義其本身最大的叢集數目必須介于4048個?65526個之間,所以當格式化一張128MB的存儲卡,其每一個叢集至少必須要包含4個扇區(qū),不然會超出 65526 個叢集(cluster)的限制(127,901,696/512/4 = 62,452clusters)。所以每一叢集的大小為2KB。類似地,在FAT32中,最大的叢集數目必須介于65526個?4177918個之間。值得一提的是,在FAT16中,根目錄區(qū)906的大小是固定的。而在FAT32中,根目錄區(qū)906會被放在文件區(qū)908來一起管理。
[0114]例如,在本發(fā)明一實施例中,分割區(qū)(partition) 900是符合FAT32規(guī)范的分割區(qū)。因此,屬于根目錄區(qū)906與文件區(qū)908的扇區(qū)會被分組為叢集(cluster) 600 (O)?600 (W)。在此假設叢集600(0)是被配置為根目錄區(qū)906的起始叢集。此外,文件配置文檔區(qū)904的文件配置文檔950包括扇區(qū)700 (M)?扇區(qū)700 (M+K)(如圖5所示),來分別地記錄對應叢集600(0)?600 (W)的登錄值(entry value)。在此,登錄值是用以表示所對應的叢集的狀態(tài)。例如,在FAT32中,"OOOOOOOh"表示此叢集為閑置叢集(即,未存儲數據),"FFFFFF7h"表示此叢集為壞叢集(即,無法存儲數據的壞叢集),"FFFFFF8h" -" FFFFFFFh"表示此叢集為存儲文件的最后一個叢集等。在此,扇區(qū)700(M)的前2個登錄值(即,前8個字節(jié))會被保留并記錄為"F8hFFhFFhOFh"與"FFhFFhFFhOFh"。第2個登錄值為對應根目錄區(qū)906的叢集600 (O)。第3個登錄值為對應叢集600 (I)。第4個登錄值為對應叢集600(2)。第5個登錄值為對應叢集600 (3)。第6個登錄值為對應叢集600 (4)。第7個登錄值為對應叢集600 (5)。以此類推,對應叢集600 (O)?600 (W)的登錄值都會被記錄在文件配置文檔區(qū)904的扇區(qū)中。[0115]圖6是根據本發(fā)明一實施例提供的存儲器控制器的概要方塊圖。
[0116]請參照圖1和圖6,存儲器控制器104包括存儲器管理電路202、主機接口 204、存儲器接口 206、緩沖存儲器208、電源管理電路210與錯誤檢查與校正電路212。
[0117]存儲器管理電路202用以控制存儲器控制器104的整體運作。具體來說,存儲器管理電路202具有多個控制指令,并且在存儲器存儲裝置100上電(power on)時,此些控制指令會被執(zhí)行以控制存儲器控制器104的整體運作。例如,存儲器管理電路202會執(zhí)行如圖2與圖3所述的存儲器管理機制。
[0118]在本發(fā)明一實施例中,存儲器管理電路202的控制指令是以固體型式來實作。例如,存儲器管理電路202具有微處理器單元(未繪示)與只讀存儲器(未繪示),并且此些控制指令是被燒錄至此只讀存儲器中。當存儲器存儲裝置100運作時,此些控制指令會由微處理器單元來執(zhí)行。
[0119]在本發(fā)明另一實施例中,存儲器管理電路202的控制指令也可以程序碼型式存儲在可備份式非易失性存儲器模塊106的特定區(qū)域(例如,存儲器模塊中專用于存放系統數據的系統區(qū))中。此外,存儲器管理電路202具有微處理器單元(未繪示)、只讀存儲器(未繪示)及隨機存取存儲器(未繪示)。特別是,此只讀存儲器具有驅動碼段,并且當存儲器控制器104被致能時,微處理器單元會先執(zhí)行此驅動碼段來將存儲在可備份式非易失性存儲器模塊106中的控制指令載入至存儲器管理電路202的隨機存取存儲器中。之后,微處理器單元會運轉此些控制指令。
[0120]此外,在本發(fā)明另一實施例中,存儲器管理電路202的控制指令也可以一硬件型式來操作。例如,存儲器管理電路202包括微控制器、存儲器管理單元、存儲器寫入單元、存儲器讀取單元、存儲器擦除單元與數據處理單元。存儲器管理單元、存儲器寫入單元、存儲器讀取單元、存儲器擦除單元與數據處理單元是電性連接至微控制器。其中,存儲器管理單元用以管理可備份式非易失性存儲器模塊106的實體區(qū)塊;存儲器寫入單元用以對可備份式非易失性存儲器模塊106下達寫入指令以將數據寫入至可備份式非易失性存儲器模塊106中;存儲器讀取單元用以對可備份式非易失性存儲器模塊106下達讀取指令以從可備份式非易失性存儲器模塊106中讀取數據;存儲器擦除單元用以對可備份式非易失性存儲器模塊106下達擦除指令以將數據從可備份式非易失性存儲器模塊106中擦除;而數據處理單元用以處理欲寫入至可備份式非易失性存儲器模塊106的數據以及從可備份式非易失性存儲器模塊106中讀取的數據。
[0121]主機接口 204是電性連接至存儲器管理電路202并且用以接收與識別主機系統1000所傳送的指令與數據。也就是說,主機系統1000所傳送的指令與數據會通過主機接口 204來傳送至存儲器管理電路202。在本發(fā)明一實施例中,主機接口 204為符合USB標準的接口。然而,必須了解的是本發(fā)明不限于此,主機接口 204也可以是符合MS標準、MMC標準、CF標準、PATA標準、IEEE 1394標準、PCI Express標準、SATA標準、SD標準、IDE標準或其他標準的接口。
[0122]存儲器接口 206是電性連接至存儲器管理電路202并且用以存取可備份式非易失性存儲器模塊106。也就是說,欲寫入至可備份式非易失性存儲器模塊106的數據會經由存儲器接口 206轉換為可備份式非易失性存儲器模塊106所能接受的格式。
[0123]緩沖存儲器208是電性連接至存儲器管理電路202并且用以暫存來自于主機系統1000的數據與指令或來自于可備份式非易失性存儲器模塊106的數據。
[0124]電源管理電路210是電性連接至存儲器管理電路202并且用以控制存儲器存儲裝置100的電源。
[0125]錯誤檢查與校正電路212是電性連接至存儲器管理電路202并且用以執(zhí)行錯誤檢查與校正程序以確保數據的正確性。具體來說,當存儲器管理電路202從主機系統1000中接收到寫入指令時,錯誤檢查與校正電路212會為對應此寫入指令的數據產生對應的錯誤檢查與校正碼(Error Checking and Correcting Code, ECC Code),并且存儲器管理電路202會將對應此寫入指令的數據與對應的錯誤檢查與校正碼寫入至可備份式非易失性存儲器模塊106中。之后,當存儲器管理電路202從可備份式非易失性存儲器模塊106中讀取數據時會同時讀取此數據對應的錯誤檢查與校正碼,并且錯誤檢查與校正電路212會依據此錯誤檢查與校正碼對所讀取的數據執(zhí)行錯誤檢查與校正程序。
[0126]圖7是根據本發(fā)明一實施例提供的在存儲器存儲裝置中存儲文件的示意圖。
[0127]請參照圖1、圖4、圖5和圖7,在此假設用戶通過操作系統1110在存儲器存儲裝置100中建立目錄名稱為’JOB’的子目錄并且將檔名為’ J0B1.D0C’的文件807與檔名為’J0B2.D0C’的文件809存儲至目錄名稱為’ JOB’的子目錄中,其中檔名為’ JOBl.DOC’的文件807需占用2個叢集并且檔名為’ J0B2.D0C’的文件809需占用4個叢集。
[0128]針對子目錄,操作系統1110會根據存儲器存儲裝置100的文件系統在配置給根目錄區(qū)906的叢集(例如,叢集600(0))中未使用的地址記錄對應目錄名稱為’ JOB’的子目錄的文件描述區(qū)塊801并且尋找一個空的叢集(例如,叢集600(1))來記錄關于此子目錄的內容,其中文件描述區(qū)塊801會記錄叢集600 (I)的信息。
[0129]針對文件,操作系統1110會根據存儲器存儲裝置100的文件系統及文件807的大小,尋找2個空的叢集(例如,叢集600 (2)與叢集600 (3))來存儲文件807的內容。此外,操作系統1110會在叢集600 (I)中記錄對應文件807的文件描述區(qū)塊803,在文件配置文檔區(qū)904的文件配置文檔950中將對應叢集600 (2)的登錄值(即,第4登錄值)修改為叢集600(3)的地址并且在對應叢集600 (3)的登錄值(即第5登錄值)修改為"FFFFFFFh"。類似地,操作系統1110會根據存儲器存儲裝置100的文件系統及文件809的大小,尋找4個空的叢集(例如,叢集600 (4)、叢集600 (5)、叢集600 (6)與叢集600 (7))來存儲文件809的內容。此外,操作系統1110會在叢集600(1)中記錄對應文件809的文件描述區(qū)塊805,在文件配置文檔區(qū)904的文件配置文檔950中將對應叢集600 (4)的登錄值(即,第6登錄值)修改為叢集600(5)的地址,將對應叢集600 (5)的登錄值(即,第7登錄值)修改為叢集600 (6)的地址,將對應叢集600 (6)的登錄值(即,第8登錄值)修改為叢集600 (7)的地址,并且,將對應叢集600 (7)的登錄值(即,第9登錄值)修改為"FFFFFFFh"。例如,在完成上述存儲之后,主機系統1000就可根據根目錄區(qū)906中的文件描述區(qū)塊獲知存儲器存儲裝置100存有一個目錄名稱為’ JOB’的子目錄。此外,主機系統1000可根據此子目錄的文件描述區(qū)塊所記錄的叢集600 (I)中所存儲的文件描述區(qū)塊,獲知存儲器存儲裝置100存有一個檔名為’ J0B1.D0C’的文件807與一個檔名為’ J0B2.D0C’的文件809,并且此些文件位于目錄名稱為’ JOB’的子目錄下。例如,當主機系統1000欲讀取檔名為’ JOBl.DOC’的文件807時,操作系統1110會根據此文件的文件描述區(qū)塊803所記錄的叢集600(2)來開始讀取數據,并且根據在文件配置文檔區(qū)904中將對應叢集600 (2)的登錄值繼續(xù)從叢集600(3)讀取數據,由此完成此文件的讀取。
[0130]在本發(fā)明一實施例中,當欲防止存儲在存儲器存儲裝置100的文件被其他人存取時,用戶可通過文件保護應用程序1120來指示存儲器控制器104(或存儲器管理電路202)對欲保護的文件執(zhí)行文件保護啟動程序。例如,當文件保護應用程序1120傳送對一個文件執(zhí)行文件保護啟動程序的文件保護啟動信號給存儲器存儲裝置100時,存儲器控制器104(或存儲器管理電路202)會依據記錄在文件配置文檔950中對應用以存儲此文件的叢集的登錄值來產生登錄值備份,將所產生的登錄值備份存儲至安全存儲區(qū),并且在文件配置文檔950中變更用以存儲此文件的叢集的至少一登錄值,由此使得主機系統1000無法根據變更后的登錄值來讀取此文件,由此達到保護文件的功能。
[0131 ] 以下將以數個示意圖,來說明存儲器控制器104 (或存儲器管理電路202)如何更改對應用以存儲此文件的叢集的登錄值,以達到保護文件的功能。
[0132]圖8A與圖SB是根據本發(fā)明一實施例提供的修改文件配置文檔的一示意圖。
[0133]請參照圖1、圖8A與圖8B,假設用戶欲保護檔名為”見82.00(:”的文件809(如圖7所示)并且傳送指示為文件809執(zhí)行文件保護啟動程序的文件保護啟動信號給存儲器存儲裝置100。在此實施例中,當接收到指示為文件809執(zhí)行文件保護啟動程序的文件保護啟動信號時,存儲器控制器104 (或存儲器管理電路202)會根據文件配置文檔950中對應存儲文件809的第二個叢集(即,叢集600 (5))的登錄值(即,第7登錄值)產生登錄值備份880,并且將所產生的登錄值備份880存儲至隱藏區(qū)480,其中登錄值備份880記錄第7登錄值為從集600 (6)。之后,存儲器控制器104 (或存儲器管理電路202)會將文件配置文檔950中對應叢集600 (5)的登錄值(即,第7登錄值)修改為本身地址的值(即,從集600 (5))。基于此處,因為用以存儲文件809的叢集之間的鏈結信息會被破壞,因此主機系統1000無法再根據文件配置文檔950中的信息讀取文件809。例如,在依據文件描述區(qū)塊805從叢集600 (4)開始讀取數據并且根據文件配置文檔950中對應叢集600 (4)的登錄值(即,第6登錄值)繼續(xù)從叢集600 (5)讀取數據之后,主機系統1000根據對應叢集600 (5)的登錄值(即,第7登錄值)會識別叢集600 (5)的下一個叢集為叢集600 (5),而產生矛盾并且造成文件讀取失敗。值得一提的是,盡管在圖8B的示意中,是以修改第二個叢集為例來進行說明,但本發(fā)明不限于此,在本發(fā)明另一實施例中,也可將用以存儲文件的叢集中的任一個或任多個叢集所對應的登錄值修改為本身地址或其他文件地址的值,由此破壞存儲此文件的叢集之間的鏈結,以致于文件無法被正確地讀取,也即文件讀取失敗或讀出錯誤文件。
[0134]圖9A與圖9B是根據本發(fā)明一實施例提供的修改文件配置文檔的另一示意圖。
[0135]請參照圖1、圖5、圖6、圖9A與圖9B,假設用戶欲保護檔名為” J0B2.D0C”的文件809 (如圖7所示)并且傳送指示為文件809執(zhí)行文件保護啟動程序的文件保護啟動信號給存儲器存儲裝置100。在此實施例中,當接收到指示為文件809執(zhí)行文件保護啟動程序的文件保護啟動信號時,存儲器控制器104(或存儲器管理電路202)會根據文件配置文檔950中對應存儲文件809的第一個叢集(即,叢集600 (4))的登錄值(即,第6登錄值)產生登錄值備份980,并且將所產生的登錄值備份980存儲至隱藏區(qū)480,其中登錄值備份980記錄第6登錄值為叢集600(5)。之后,存儲器控制器104 (或存儲器管理電路202)會將文件配置文檔950中對應叢集600 (4)的登錄值(即,第6登錄值)修改為表示此叢集為存儲文件的最后一個叢集的值(即,結束標記,例如,”FFFFFFFh”)?;耍驗橛靡源鎯ξ募?09的叢集之間的鏈結信息會被破壞,因此主機系統1000無法再根據文件配置文檔950中的信息讀取文件809。例如,在依據文件描述區(qū)塊805從叢集600 (4)開始讀取數據之后,主機系統1000根據對應叢集600 (4)的登錄值(即,第6登錄值)會識別叢集600(4)為最后一個叢集,而無法繼續(xù)讀取后續(xù)的數據并造成文件讀取失敗。值得一提的是,盡管在圖9B的示意中,是以修改第一個叢集為例來進行說明,但本發(fā)明不限于此,在本發(fā)明另一實施例中,也可將用以存儲文件的叢集中的任一個或任多個叢集所對應的登錄值修改為結束標記,由此使主機系統1000無法繼續(xù)讀取數據,以致于文件讀取失敗。
[0136]圖1OA與圖1OB是根據本發(fā)明一實施例提供的修改文件配置文檔的再一示意圖。
[0137]請參照圖1、圖5、圖6、圖1OA與圖10B,假設用戶欲保護檔名為” J0B2.D0C”的文件809 (如圖7所示)并且傳送指示為文件809執(zhí)行文件保護啟動程序的文件保護啟動信號給存儲器存儲裝置100。在此實施例中,當接收到指示為文件809執(zhí)行文件保護啟動程序的文件保護啟動信號時,存儲器控制器104 (或存儲器管理電路202)會根據文件配置文檔950中對應存儲文件809的第一個叢集(即,叢集600 (4))的登錄值(即,第6登錄值)產生登錄值備份1080,并且將所產生的登錄值備份1080存儲至隱藏區(qū)480,其中登錄值備份1080記錄第6登錄值為叢集600 (5)。之后,存儲器控制器104 (或存儲器管理電路202)會將文件配置文檔950中對應叢集600 (4)的登錄值(即,第6登錄值)修改為表示此叢集為壞叢集的值(例如,” FFFFFF7h” )。基于此處,當依據文件描述區(qū)塊805從叢集600 (4)開始讀取數據時,主機系統1000會識別用以存儲文件809的叢集已損壞,因此造成文件讀取失敗。
[0138]圖1lA與圖1lB是根據本發(fā)明一實施例提供的修改文件配置文檔的又一示意圖。
[0139]請參照圖1、圖5、圖6、圖1lA與圖11B,假設用戶欲保護檔名為” J0B2.D0C”的文件809 (如圖7所示)并且傳送指示為文件809執(zhí)行文件保護啟動程序的文件保護啟動信號給存儲器存儲裝置100。在此實施例中,當接收到指示為文件809執(zhí)行文件保護啟動程序的文件保護啟動信號時,存儲器控制器104 (或存儲器管理電路202)會根據文件配置文檔950中對應存儲文件809的第一個叢集(即,叢集600 (4))的登錄值(即,第6登錄值)產生登錄值備份1180,并且將所產生的登錄值備份1180存儲至隱藏區(qū)480,其中登錄值備份1180記錄第6登錄值為叢集600 (5)。之后,存儲器控制器104 (或存儲器管理電路202)會在文件配置文檔950中將對應用以存儲文件809的所有叢集的登錄值修改為表示此叢集為壞叢集的值(例如,”FFFFFF7h”)。例如,存儲器控制器104(或存儲器管理電路202)將對應叢集600(4)的登錄值(即,第6登錄值)修改為 將對應叢集600(5)的登錄值(即,第7登錄值)修改為”FFFFFF7h”,將對應叢集600(6)的登錄值(即,第8登錄值)修改為 并且將對應叢集600(7)的登錄值(即,第9登錄值)修改為"FFFFFF7h”?;诖颂帲斠罁募枋鰠^(qū)塊805從叢集600 (4)開始讀取數據時,主機系統1000會識別用以存儲文件809的叢集已損壞,因此造成文件讀取失敗。
[0140]值得一提的是,在圖1OB與圖1lB的示意中,是將用以存儲文件的多個叢集中的第一個叢集所對應的登錄值或者用以存儲文件的所有叢集所對應的登錄值修改為表示此叢集為壞叢集的值,來達到文件讀取失敗,也即文件無法被正確地讀取的目的。然而,本發(fā)明不限于此,在本發(fā)明另一實施例中,可通過將用以存儲文件的叢集中的任一個或任多個叢集所對應的登錄值修改為表示此叢集為壞叢集的值,以使主機系統1000文件失敗。此外,值得一提的是,盡管在圖1lA與圖1lB的示意中,是假設用以存儲文件809的叢集為多個,但本發(fā)明不限于此,用以存儲文件的叢集也只有I個,并且在執(zhí)行文件保護啟動程序時,此叢集所對應的登錄值會被修改為表示此叢集為壞叢集的值。
[0141]必須了解的是,圖8B、圖9B、圖1OB與圖1lB所述的修改機制僅為實施例并非限制本發(fā)明,并且存儲器控制器104 (或存儲器管理電路202)可選擇地執(zhí)行此些修改機制中的至少其中一部分,以達到數據保護的功能。
[0142]如上所述,在本發(fā)明一實施例中,存儲器控制器104 (或存儲器管理電路202)會以所配置隱藏區(qū)408作為用以存儲登錄值備份的安全存儲區(qū)。然而,必須了解的是,本發(fā)明不限于此,并且在本發(fā)明另一實施例中,額外配置在存儲器存儲裝置100中的存儲元件(例如,可備份式非易失性存儲器106)也可被用作為存儲登錄值備份的安全存儲區(qū)。
[0143]特別是,在執(zhí)行文件保護啟動程序之后,當欲存取已被保護的文件時,用戶可通過文件保護應用程序1120關閉文件保護機制。例如,文件保護應用程序1120會在完成用戶身份的識別后傳送文件保護關閉信號給存儲器存儲裝置100,并且存儲器控制器104 (或存儲器管理電路202)會依據存儲在安全存儲區(qū)中的登錄值備份來回復(還原)通過文件保護啟動程序所修改的登錄值。在此,用戶身份的識別可以是通過密碼、生物特征或其他認證機制來實施,本實施例不對此作限制。
[0144]例如,在圖8A與圖8B所示的實施例中,當接收到為文件809執(zhí)行文件保護關閉程序的文件保護關閉信號時,存儲器控制器104(或存儲器管理電路202)會將文件配置文檔950中對應存儲文件809的第二個叢集(即,叢集600 (5))的登錄值(即,第7登錄值)回復為叢集600 (6)。基此,主機系統1000就可根據還原的文件配置文檔950讀取文件809。
[0145]圖12A與圖12B是根據本發(fā)明一實施例提供的文件保護方法的流程圖。
[0146]請參照圖1、圖2、圖4、圖5、圖6和圖12A,在步驟S1201中,可備份式非易失性存儲器模塊106的實體區(qū)塊至少被分組為數據區(qū)402與備用區(qū)404,多個邏輯地址會被配置且被分組為多個邏輯區(qū)塊以映射數據區(qū)402的實體區(qū)塊,并且此些邏輯地址會被格式化為一個分割區(qū)。例如,如上所述,此分割區(qū)包括文件配置文檔區(qū)904、根目錄區(qū)906與文件區(qū)908。
[0147]在步驟S1203中,文件會被存儲至此分割區(qū)中。具體來說,在步驟S1203中,文件的內容會被存儲至文件區(qū)908,對應文件的文件描述區(qū)塊會被存儲至根目錄區(qū)906,并且用以存儲此文件的叢集的登錄值會被記錄在文件配置文檔區(qū)904的文件配置文檔950中。并且,在步驟S1203中,存儲器控制器104 (或存儲器管理電路202)會根據邏輯區(qū)塊-實體區(qū)塊映射表將此些存儲至文件配置文檔區(qū)904、根目錄區(qū)906與文件區(qū)908的數據寫入至對應的實體區(qū)塊中。
[0148]請參照圖1、圖5、圖6、圖12B,在步驟S1205中,文件保護啟動信號或文件保護關閉信號會判斷是否被接收。
[0149]倘若接收到文件保護啟動信號時,在步驟S1207中,存儲器控制器104 (或存儲器管理電路202)會根據記錄在文件配置文檔950中對應存儲欲保護的文件的至少一叢集的登錄值產生至少一登錄值備份。之后,在步驟S1209中,存儲器控制器104(或存儲器管理電路202)會將所產生的登錄值備份存儲至安全存儲區(qū)中。最后,在步驟S1211中,存儲器控制器104(或存儲器管理電路202)會在文件配置文檔950中變更對應叢集的登錄值,以使欲保護的文件無法根據變更后的登錄值被讀取。變更登錄值的機制已配合圖SB、圖9B、圖1OB與圖1lB詳細說明如上,在此不再重復。
[0150]倘若接收到文件保護關閉信號時,在步驟S1213中,存儲器控制器104(或存儲器管理電路202)會從安全存儲區(qū)中讀取關于欲關閉文件保護機制的文件的登錄值備份。然后,在步驟S1215中,存儲器控制器104 (或存儲器管理電路202)會在文件配置文檔950中根據所讀取的登錄值備份回復對應用以存儲此文件的叢集的登錄值。基于此處,先前已被保護的文件就可再被存取。
[0151]值得一提的是,在上述實施例中,文件保護啟動程序與文件保護關閉程序是由存儲器控制器104(或存儲器管理電路202)根據文件保護應用程序1120的信號來執(zhí)行。然而,本發(fā)明不限于此,例如,在本發(fā)明另一實施例中,文件保護系統可包括存儲器存儲裝置與文件保護應用程序,并且文件保護啟動程序與文件保護關閉程序也是由文件保護應用程序來執(zhí)行。
[0152]綜上所述,本發(fā)明一實施例的文件保護方法與系統及其存儲器控制器與存儲器存儲裝置可防止非授權者存取所存儲的文件,由此確保所存儲的文件的安全性。
[0153]本領域普通技術人員可以理解:實現上述各方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成。前述的程序可以存儲于一計算機可讀取存儲介質中。該程序在執(zhí)行時,執(zhí)行包括上述各方法實施例的步驟;而前述的存儲介質包括:R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質。
[0154]最后應說明的是:以上各實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明各實施例技術方案的范圍。
【權利要求】
1.一種文件保護方法,用于一存儲器存儲裝置,其特征在于,該存儲器存儲裝置具有一可備份式非易失性存儲器模塊,且該可備份式非易失性存儲器模塊具有多個實體區(qū)塊,該文件保護方法包括: 將該些實體區(qū)塊至少分組為一數據區(qū)與一備用區(qū); 配置多個邏輯地址并且將該些邏輯地址分組為多個邏輯區(qū)塊以映射該數據區(qū)的實體區(qū)塊,其中該些邏輯地址會被格式化為一個分割區(qū),該分割區(qū)包括一文件配置文檔區(qū)與一文件區(qū),該文件配置文檔區(qū)存儲一文件配置文檔,該文件區(qū)中的至少一叢集存儲一文件,并且該文件配置文檔記錄對應該至少一叢集的至少一登錄值; 為該文件執(zhí)行一文件保護啟動程序,其中該文件保護啟動程序包括: 根據記錄在該文件配置文檔中對應該至少一叢集的登錄值產生一登錄值備份; 將該登錄值備份存儲至一安全存儲區(qū);以及 在該文件配置文檔中變更對應該至少一叢集的登錄值,其中該文件無法根據變更后的登錄值被正確地讀取。
2.根據權利要求1所述的文件保護方法,其特征在于,還包括: 為該文件執(zhí)行一文件保護關閉程序,其中該文件保護關閉程序包括: 從該安全存儲區(qū)中讀取該登錄值備份;以及 在該文件配置文檔中根據該登錄值備份回復對應存儲該文件的叢集的登錄值。
3.根據權利要求1所述的文件保護方法,其特征在于,在該文件區(qū)中存儲該文件的該至少一叢集的數目為I個,并且所述在該文件配置文檔中變更對應該至少一叢集的登錄值的步驟包括: 在該文件配置文檔中將對應存儲該文件的叢集的登錄值修改為表示壞叢集的值。
4.根據權利要求1所述的文件保護方法,其特征在于,在該文件區(qū)中存儲該文件的該至少一叢集的數目為多個,并且所述在該文件配置文檔中變更對應該至少一叢集的登錄值的步驟包括: 在該文件配置文檔中將對應存儲該文件的多個叢集中的其中一個叢集的登錄值修改為表示該其中一個叢集的地址的值。
5.根據權利要求1所述的文件保護方法,其特征在于,在該文件區(qū)中存儲該文件的該至少一叢集的數目為多個,并且所述在該文件配置文檔中變更對應該至少一叢集的登錄值的步驟包括: 在該文件配置文檔中將對應存儲該文件的所述多個叢集中的至少一個叢集的登錄值修改為表示壞叢集的值。
6.根據權利要求1所述的文件保護方法,其特征在于,在該文件區(qū)中存儲該文件的該至少一叢集的數目為多個,并且所述在該文件配置文檔中變更對應該至少一叢集的登錄值的步驟包括: 在該文件配置文檔中將對應存儲該文件的所述多個叢集中的至少一個叢集的登錄值修改為表示結束標記的值,其中該至少一個叢集非存儲該文件的最后一個叢集。
7.根據權利要求1所述的文件保護方法,其特征在于,所述將該些實體區(qū)塊至少分組為該數據區(qū)與該備用區(qū)的步驟包括:將該些實體區(qū)塊至少分組為該數據區(qū)、該備用區(qū)與一隱藏區(qū)并且將該隱藏區(qū)作為該安全存儲區(qū)。
8.根據權利要求1所述的文件保護方法,其特征在于,還包括: 在一主機系統運行一文件保護應用程序并且在該存儲器存儲裝置配置一存儲器控制器;以及 通過該文件保護應用程序傳送用于該文件的一文件保護啟動信號給該存儲器控制器,并且由該存儲器控制器執(zhí)行該文件保護啟動程序以回應該文件保護啟動信號。
9.根據權利要求1所述的文件保護方法,其特征在于,還包括: 在一主機系統運行一文件保護應用程序;以及 通過該文件保護應用程序執(zhí)行該文件保護啟動程序。
10.一種存儲器控制器,用于控制一可備份式非易失性存儲器模塊,其特征在于,該可備份式非易失性存儲器模塊具有多個實體區(qū)塊,該存儲器控制器包括: 一主機接口,用以電性連接至一主機系統; 一存儲器接口,用以電性連接至該可備份式非易失性存儲器模塊;以及 一存儲器管理電路,電性連接至該主機接口與該存儲器接口, 其中該存儲器管理電路將該些實體區(qū)塊至少分組為一數據區(qū)與一備用區(qū),配置多個邏輯地址并且將該些邏輯地址分組為多個邏輯區(qū)塊以映射該數據區(qū)的實體區(qū)塊,其中該些邏輯地址會被格式化為一個分割區(qū),該分割區(qū)包括一文件配置文檔區(qū)與一文件區(qū),該文件配置文檔區(qū)存儲一文件配置文檔,該文件區(qū)中的至少一叢集存儲一文件,并且該文件配置文檔記錄對應該至少一叢集的至少一登錄值, 其中該存儲器管理電 路為該文件執(zhí)行一文件保護啟動程序,來根據記錄在該文件配置文檔中對應該至少一叢集的登錄值產生一登錄值備份,將該登錄值備份存儲至一安全存儲區(qū)并且在該文件配置文檔中變更對應該至少一叢集的登錄值,其中該主機系統根據變更后的登錄值無法正確地讀取該文件。
11.根據權利要求10所述的存儲器控制器,其特征在于,該存儲器管理電路為該文件執(zhí)行一文件保護關閉程序,以從該安全存儲區(qū)中讀取該登錄值備份并且在該文件配置文檔中根據該登錄值備份回復對應存儲該文件的叢集的登錄值。
12.根據權利要求10所述的存儲器控制器,其特征在于,在該文件區(qū)中存儲該文件的該至少一叢集的數目為I個, 其中該存儲器管理電路通過在該文件配置文檔中將對應存儲該文件的叢集的登錄值修改為表示壞叢集的值,以變更對應存儲該文件的叢集的登錄值。
13.根據權利要求10所述的存儲器控制器,其特征在于,在該文件區(qū)中存儲該文件的該至少一叢集的數目為多個, 其中該存儲器管理電路通過在該文件配置文檔中將對應存儲該文件的所述多個叢集中的其中一個叢集的登錄值修改為表示該其中一個叢集的地址的值,以變更對應存儲該文件的叢集的登錄值。
14.根據權利要求10所述的存儲器控制器,其特征在于,在該文件區(qū)中存儲該文件的該至少一叢集的數目為多個, 其中該存儲器管理電路通過在該文件配置文檔中將對應存儲該文件的多個叢集中的至少一個叢集的登錄值修改為表示壞叢集的值,以變更對應存儲該文件的叢集的登錄值。
15.根據權利要求10所述的存儲器控制器,其特征在于,在該文件區(qū)中存儲該文件的該至少一叢集的數目為多個, 其中該存儲器管理電路通過在該文件配置文檔中將對應存儲該文件的多個叢集中的至少一個叢集的登錄值修改為表示結束標記的值,以變更對應存儲該文件的叢集的登錄值,其中該至少一個叢集非儲存存儲該文件的最后一個叢集。
16.根據權利要求10所述的存儲器控制器,其特征在于,該存儲器管理電路將該些實體區(qū)塊至少分組為該數據區(qū)、該備用區(qū)與一隱藏區(qū)并且將該隱藏區(qū)作為該安全存儲區(qū)。
17.根據權利要求10所述的存儲器控制器,其特征在于,該主機系統運行一文件保護應用程序, 其中當該文件保護應用程序傳送用于該文件的一文件保護啟動信號給該存儲器管理電路時,該存儲器管理電路執(zhí)行該文件保護啟動程序以回應該文件保護啟動信號。
18.一種存儲器存儲裝置,其特征在于,包括: 一連接器,用以電性連接至一主機系統; 一可備份式非易失性存儲器模塊,具有多個實體區(qū)塊;以及 一存儲器控制器,電性連接至該連接器與該可備份式非易失性存儲器模塊, 其中該存儲器控制器將該些實體區(qū)塊至少分組為一數據區(qū)與一備用區(qū),配置多個邏輯地址并且將該些邏輯地址分組為多個邏輯區(qū)塊以映射該數據區(qū)的實體區(qū)塊,其中該些邏輯地址會被格式化為一個分割區(qū),該分割區(qū)包括一文件配置文檔區(qū)與一文件區(qū),該文件配置文檔區(qū)存儲一文件配置文檔,該文件區(qū)中的至少一叢集存儲一文件,并且該文件配置文檔記錄對應該至少一叢集的至少一登錄值, 其中該存儲器控制器為該文件`執(zhí)行一文件保護啟動程序,來根據記錄在該文件配置文檔中對應該至少一叢集的登錄值產生一登錄值備份,將該登錄值備份存儲至一安全存儲區(qū)并且在該文件配置文檔中變更對應該至少一叢集的登錄值,其中該主機系統根據變更后的登錄值無法正確地讀取該文件。
19.根據權利要求18所述的存儲器存儲裝置,其特征在于,該存儲器控制器為該文件執(zhí)行一文件保護關閉程序,以從該安全存儲區(qū)中讀取該登錄值備份并且在該文件配置文檔中根據該登錄值備份回復對應存儲該文件的叢集的登錄值。
20.根據權利要求18所述的存儲器存儲裝置,其特征在于,在該文件區(qū)中存儲該文件的該至少一叢集的數目為I個, 其中該存儲器控制器通過在該文件配置文檔中將對應存儲該文件的叢集的登錄值修改為表示壞叢集的值,以變更對應存儲該文件的叢集的登錄值。
21.根據權利要求18所述的存儲器存儲裝置,其特征在于,在該文件區(qū)中存儲該文件的該至少一叢集的數目為多個, 其中該存儲器控制器通過在該文件配置文檔中將對應存儲該文件的多個叢集中的其中一個叢集的登錄值修改為表示該其中一個叢集的地址的值,以變更對應存儲該文件的叢集的登錄值。
22.根據權利要求18所述的存儲器存儲裝置,其特征在于,在該文件區(qū)中存儲該文件的該至少一叢集的數目為多個, 其中該存儲器控制器通過在該文件配置文檔中將對應存儲該文件的多個叢集中的至少一個叢集的登錄值修改為表示壞叢集的值,以變更對應存儲該文件的叢集的登錄值。
23.根據權利要求18所述的存儲器存儲裝置,其特征在于,在該文件區(qū)中存儲該文件的該至少一叢集的數目為多個, 其中該存儲器控制器通過在該文件配置文檔中將對應存儲該文件的多個叢集中的至少一個叢集的登錄值修改為表示結束標記的值,以變更對應存儲該文件的叢集的登錄值,其中該至少一個叢集非存儲該文件的最后一個叢集。
24.根據權利要求18所述的存儲器存儲裝置,其特征在于,該存儲器控制器將該些實體區(qū)塊至少分組為該數據區(qū)、該備用區(qū)與一隱藏區(qū)并且將該隱藏區(qū)作為該安全存儲區(qū)。
25.根據權利要求18所述的存儲器存儲裝置,其特征在于,該主機系統運行一文件保護應用程序, 其中當該文件保護應用程序傳送用于該文件的一文件保護啟動信號給該存儲器控制器時,該存儲器控制器執(zhí)行該文件保護啟動程序以回應該文件保護啟動信號。
26.一種文件保護系統,其特征在于,包括: 一存儲器存儲裝置,具有一可備份式非易失性存儲器模塊與一存儲器控制器,其中該可備份式非易失性存儲器模塊具有多個實體區(qū)塊,并且該存儲器控制器將該些實體區(qū)塊至少分組為一數據區(qū)、一備用區(qū)與一隱藏區(qū),配置多個邏輯地址并且將該些邏輯地址分組為多個邏輯區(qū)塊以映射該數據區(qū)的實體區(qū)塊,其中該些邏輯地址會被格式化為一個分割區(qū),該分割區(qū)包括一文件配置文檔區(qū)與一文件區(qū),該文件配置文檔區(qū)存儲一文件配置文檔,該文件區(qū)中的至少一叢集存儲一文件,并且該文件配置文檔記錄對應該至少一叢集的至少一登錄值;以及 一文件保護應用程序 ,運行于一主機系統, 其中該文件保護應用程序為該文件執(zhí)行一文件保護啟動程序,來根據記錄在該文件配置文檔中對應該至少一叢集的登錄值產生一登錄值備份,指示該存儲器控制器將該登錄值備份存儲至該隱藏區(qū)并且在該文件配置文檔中變更對應該至少一叢集的登錄值,其中該主機系統根據變更后的登錄值無法正確地讀取該文件。
【文檔編號】G06F12/08GK103455444SQ201210173471
【公開日】2013年12月18日 申請日期:2012年5月30日 優(yōu)先權日:2012年5月30日
【發(fā)明者】李乾輔 申請人:群聯電子股份有限公司