專利名稱::存儲器儲存裝置及其存儲器控制器與密碼驗證方法
技術領域:
:本發明是有關于一種存儲器儲存裝置,且特別是有關一種具有密碼驗證功能的存儲器儲存裝置及其存儲器控制器與密碼驗證方法。
背景技術:
:數字相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由于可復寫式非易失性存儲器(rewritablenon-volatilememory)具有數據非易失性、省電、體積小、無機械結構、讀寫速度快等特性,最適于可攜式電子產品。隨身盤就是一種以閃存作為儲存媒體的存儲器儲存裝置。因此,近年閃存產業成為電子產業中相當熱門的一環。由于存儲器儲存裝置的體積小容量大且攜帶方便,因此已廣泛用于個人數據的儲存。然而,當存儲器儲存裝置不小心遺失時,其所儲存的大量數據也可能隨之被盜用。因此,對存儲器儲存裝置的使用者身份進行驗證成為本領域技術人員的重要課題。
發明內容有鑒于此,本發明提供一種存儲器儲存裝置,能夠有效地驗證使用者的密碼,以保護所儲存的數據。此外,本發明提供一種存儲器控制器,能夠有效地驗證使用者的密碼,以保護儲存于可復寫式非易失性存儲器模塊中的數據。再者,本發明提供一種密碼驗證方法,能夠有效地驗證使用者的密碼,以保護儲存于可復寫式非易失性存儲器模塊中的數據。基此,本發明一范例實施例提出一種存儲器儲存裝置,其包括連接器、可復寫式非易失性存儲器模塊與存儲器控制器。連接器用以電性連接至主機系統。存儲器控制器電性連接至連接器與可復寫式非易失性存儲器模塊。存儲器控制器從主機系統接收使用者密碼,應用第一單元將使用者密碼轉換成第一數據串,應用第二單元來依據預設數據串與第一數據串產生預設密文,并且將此預設密文儲存至可復寫式非易失性存儲器模塊中。此夕卜,存儲器控制器從主機系統接收待驗證密碼,應用第一單元將待驗證密碼轉換為第二數據串,并且應用第二單元依據預設數據串與第二數據串產生待驗證密文。再者,存儲器控制器會從可復寫式非易失性存儲器模塊中讀取預設密文并且判斷所計算的待驗證密文與所讀取的預設密文是否相同。當所計算的驗證密文相同于所讀取的預設密文時,存儲器控制器會識別此待驗證密碼通過驗證。在本發明的一實施例中,上述的可復寫式非易失性存儲器模塊具有多個物理區塊以及映射部分物理區塊的多個邏輯區塊。此外,上述的存儲器控制器初始地將此些邏輯區塊的其中一部分劃分為主機系統無法識別(recognize)的隱藏分割區。再者,在識別待驗證密碼通過驗證之后,存儲器控制器會將此隱藏分割區切換成可被主機系統存取的儲存分割區。在本發明的一實施例中,上述的可復寫式非易失性存儲器模塊具有多個物理區塊。在此,存儲器控制器將此些邏輯區塊的其中一部分劃分為儲存分割區與主機系統無法識別的保密分割區,其中保密分割區儲存分割區密鑰。另外,存儲器控制器使用此分割區密鑰加密儲存于儲存分割區中的數據。并且,當待驗證密碼通過驗證時,存儲器控制器會使用分割區密鑰解密儲存于儲存分割區中的數據。在本發明的一實施例中,上述的第二單元為一先進加密標準加密模塊。此外,上述的存儲器控制器應用第一單元將使用者密碼轉換成具有固定長度的第一數據串并且將該待驗證密碼轉換成具有固定長度的第二數據串。再者,存儲器控制器應用第二單元以第一數據串加上述預設數據串來產生上述預設密文,并且應用第二單元以上述第二數據串加密上述預設數據串來產生上述待驗證密文。在本發明的一實施例中,上述的第一單元為一單向散列函數運算模塊,第二單元為一先進加密標準加密模塊,并且預設數據串具有固定長度。并且,存儲器控制器應用第二單元以上述預設數據串加密上述第一數據串來產生上述預設密文,且應用第二單元以上述預設數據串加密上述第二數據串來產生上述待驗證密文。在本發明的一實施例中,上述的第二單元為一單向散列函數運算模塊。此外,存儲器控制器應用第一單元將使用者密碼轉換成具有固定長度的第一數據串并且將待驗證密碼轉換成具有固定長度的第二數據串。再者,存儲器控制器合并上述第一數據串與上述預設數據串以產生第一合并數據串并且應用第二單元來依據第一合并數據串產生上述預設密文。并且,存儲器控制器合并上述第二數據串與上述預設數據串以產生第二合并數據串并且應用第二單元來依據第二合并數據串產生上述待驗證密文。本發明一范例實施例提出一種存儲器儲存裝置,其包括連接器、可復寫式非易失性存儲器模塊與存儲器控制器。連接器用以電性連接至主機系統。存儲器控制器電性連接至連接器與可復寫式非易失性存儲器模塊。在此,存儲器控制器從主機系統接收具有多個字節的使用者密碼,加總此使用者密碼的每一字節以獲得第一總和(sum),并且計算對應此總和的檢查總和(checksum),其中此第一總和加上此檢查總和等于預設總和。此外,存儲器控制器將此檢查總和儲存至可復寫式非易失性存儲器模塊中。另外,存儲器控制器從主機系統接收具有多個字節的待驗證密碼,加總此待驗證密碼的每一字節以獲得第二總和,從可復寫式非易失性存儲器模塊中讀取檢查總和,并且判斷第二總和與所讀取的檢查總和的一加總是否相同預設總和。當第二總和與所讀取的檢查總和的加總相同預設總和時,存儲器控制器識別此待驗證密碼通過驗證。本發明一范例實施例提出存儲器控制器,其包括主機接口、存儲器接口及存儲器管理電路。主機接口用以電性連接至主機系統,存儲器接口用以電性連接至可復寫式非易失性存儲器模塊,并且存儲器管理電路電性連接至此連接器與可復寫式非易失性存儲器模塊。存儲器管理電路從主機系統接收使用者密碼,應用第一單元將使用者密碼轉換成第一數據串,應用第二單元來依據預設數據串與此第一數據串產生預設密文,并且將預設密文儲存至可復寫式非易失性存儲器模塊中。此外,存儲器管理電路從主機系統接收待驗證密碼,應用第一單元將待驗證密碼轉換為第二數據串,并且應用第二單元來依據預設數據串與此第二數據串產生待驗證密文。再者,存儲器管理電路從可復寫式非易失性存儲器模塊中讀取預設密文并且判斷待驗證密文與所讀取的預設密文是否相同。當驗證密文相同于預設密文時,存儲器管理電路識別此待驗證密碼通過驗證。在本發明的一實施例中,上述的可復寫式非易失性存儲器模塊具有多個物理區塊以及映射部分物理區塊的多個邏輯區塊。此外,上述的存儲器管理電路初始地將此些邏輯區塊的其中一部分劃分為主機系統無法識別的隱藏分割區。再者,在識別待驗證密碼通過驗證之后,存儲器管理電路會將此隱藏分割區切換成可被主機系統存取的儲存分割區。在本發明的一實施例中,上述的可復寫式非易失性存儲器模塊具有多個物理區塊。在此,存儲器管理電路將此些邏輯區塊的其中一部分劃分為儲存分割區與主機系統無法識別的保密分割區,其中保密分割區儲存分割區密鑰。另外,存儲器管理電路使用此分割區密鑰加密儲存于儲存分割區中的數據。并且,當待驗證密碼通過驗證時,存儲器管理電路會使用分割區密鑰解密儲存于儲存分割區中的數據。在本發明的一實施例中,上述的第二單元為一先進加密標準加密模塊。此外,上述的存儲器管理電路應用第一單元將使用者密碼轉換成具有固定長度的第一數據串并且將該待驗證密碼轉換成具有固定長度的第二數據串。再者,存儲器管理電路應用第二單元以第一數據串加上述預設數據串來產生上述預設密文,并且應用第二單元以上述第二數據串加密上述預設數據串來產生上述待驗證密文。在本發明的一實施例中,上述的第一單元為一單向散列函數運算模塊,第二單元為一先進加密標準加密模塊,并且預設數據串具有固定長度。并且,存儲器管理電路應用第二單元以上述預設數據串加密上述第一數據串來產生上述預設密文,且應用第二單元以上述預設數據串加密上述第二數據串來產生上述待驗證密文。在本發明的一實施例中,上述的第二單元為一單向散列函數運算模塊。此外,存儲器管理電路應用第一單元將使用者密碼轉換成具有固定長度的第一數據串并且將待驗證密碼轉換成具有固定長度的第二數據串。再者,存儲器管理電路合并上述第一數據串與上述預設數據串以產生第一合并數據串并且應用第二單元來依據第一合并數據串產生上述預設密文。并且,存儲器管理電路合并上述第二數據串與上述預設數據串以產生第二合并數據串并且應用第二單元來依據第二合并數據串產生上述待驗證密文。本發明一范例實施例提出存儲器控制器,其包括主機接口、存儲器接口及存儲器管理電路。主機接口用以電性連接至主機系統,存儲器接口用以電性連接至可復寫式非易失性存儲器模塊,并且存儲器管理電路電性連接至此連接器與可復寫式非易失性存儲器模塊。在此,存儲器管理電路從主機系統接收具有多個字節的使用者密碼,加總此使用者密碼的每一字節以獲得第一總和,并且計算對應此總和的檢查總和,其中此第一總和加上此檢查總和等于預設總和。此外,存儲器管理電路將此檢查總和儲存至可復寫式非易失性存儲器模塊中。另外,存儲器管理電路從主機系統接收具有多個字節的待驗證密碼,加總此待驗證密碼的每一字節以獲得第二總和,從可復寫式非易失性存儲器模塊中讀取檢查總和,并且判斷第二總和與所讀取的檢查總和的一加總是否相同預設總和。當第二總和與所讀取的檢查總和的加總相同預設總和時,存儲器管理電路識別此待驗證密碼通過驗證。本發明一范例實施例提出一種密碼驗證方法,用于存儲器儲存裝置,其中此存儲器儲存裝置具有一可復寫式非易失性存儲器模塊。本密碼驗證方法包括接收使用者密碼,使用第一單元將此使用者密碼轉換成第一數據串,輸入預設數據串與第一數據串至第二單元以產生預設密文,并且將此預設密文儲存至可復寫式非易失性存儲器模塊中。此外,本密碼驗證方法還包括接收待驗證密碼,使用第一單元將待驗證密碼轉換為第二數據串,并且輸入預設數據串與第二數據串至第二單元以產生待驗證密文。本密碼驗證方法也包括從可復寫式非易失性存儲器模塊中讀取預設密文并且判斷此待驗證密文與所讀取的預設密文是否相同。本密碼驗證方法還包括,當驗證密文相同于預設密文時,識別此待驗證密碼通過驗證。在本發明的一實施例中,上述的第二單元為一先進加密標準加密模塊。此外,上述使用第一單元將使用者密碼轉換成第一數據串的步驟包括利用第一單元將使用者密碼轉換成具有固定長度的該第一數據串;上述的使用第一單元將待驗證密碼轉換成第二數據串的步驟包括利用第一單元將待驗證密碼轉換成具有固定長度的第二數據串;上述的輸入預設數據串與第一數據串至第二單元以產生預設密文的步驟包括使用第二單元以第一數據串加密預設數據串來產生預設密文;并且上述的輸入預設數據串與第二數據串至第二單元以產生待驗證密文的步驟包括使用第二單元以第二數據串加密預設數據串來產生待驗證密文。在本發明的一實施例中,上述的第一單元為單向散列函數運算模塊,第二單元為先進加密標準加密模塊,并且上述的預設數據串具有固定長度。在此,上述的輸入預設數據串與第一數據串至第二單元以產生預設密文的步驟包括使用第二單元以預設數據串加密第一數據串來產生預設密文;并且上述輸入預設數據串與第二數據串至第二單元以產生待驗證密文的步驟包括使用第二單元以預設數據串加密第二數據串來產生待驗證密文。在本發明的一實施例中,上述的第二單元為單向散列函數運算模塊。并且,上述使用第一單元將使用者密碼轉換成第一數據串的步驟包括利用第一單元將使用者密碼轉換成具有固定長度的第一數據串;上述使用第一單元將待驗證密碼轉換成第二數據串的步驟包括利用第一單元將待驗證密碼轉換成具有固定長度的第二數據串;上述輸入預設數據串與第一數據串至第二單元以產生預設密文的步驟包括合并第一數據串與預設數據串以產生第一合并數據串并且輸入第一合并數據串至第二單元以產生預設密文;上述輸入預設數據串與第二數據串至第二單元以產生待驗證密文的步驟包括合并第二數據串與預設數據串以產生第二合并數據串并且輸入第二合并數據串至第二單元以產生待驗證密文。本發明一范例實施例提出一種密碼驗證方法,用于存儲器儲存裝置,其中此存儲器儲存裝置具有可復寫式非易失性存儲器模塊。本密碼驗證方法包括接收具有多個字節的使用者密碼;加總此使用者密碼的每一字節以獲得第一總和;計算對應此第一總和的檢查總和,其中此第一總和加上檢查總和等于預設總和。本密碼驗證方法也包括將此檢查總和儲存至可復寫式非易失性存儲器模塊中。本密碼驗證方法還包括接收具有多個字節的待驗證密碼;加總待驗證密碼的每一字節以獲得一第二總和;從可復寫式非易失性存儲器模塊中讀取檢查總和,并且判斷第二總和與所讀取的檢查總和的加總是否相同預設總和。本密碼驗證方法還包括,當第二總和與所讀取的檢查總和的加總相同預設總和時,識別此待驗證密碼通過驗證。本發明一范例實施例提出一種密碼驗證方法,用于存儲器儲存裝置,其中此存儲器儲存裝置具有可復寫式非易失性存儲器模塊。本密碼驗證方法包括接收使用者密碼;使用第一單元將此使用者密碼轉換成第一數據串;使用第二單元將此第一數據串轉換為不同于第一數據串的一認證數據;以及將此認證數據儲存至可復寫式非易失性存儲器模塊中。本密碼驗證方法還包括接收待驗證密碼;使用第一單元將此待驗證密碼轉換為第二數據串,經由第二單元以產生待驗證數據;從可復寫式非易失性存儲器模塊中讀取認證數據并且判斷待驗證數據與所讀取的認證數據是否符合一預定規則;以及當待驗證數據與該認證數據符合預定規則時,識別此待驗證密碼通過驗證。基于上述,本發明范例實施例的存儲器儲存裝置、存儲器控制器與身份識別方法能夠有效地保護所儲存的數據,以避免未經授權的存取。為讓本發明的上述特征和優點能更明顯易懂,下文特舉實施例,并配合所附圖式作詳細說明如下。圖1A是根據本發明所繪示設定使用者密碼的概要流程圖。圖1B是根據本發明所繪示的驗證使用者身份的概要流程圖。圖2A是根據本發明第一范例實施例繪示主機系統與存儲器儲存裝置。圖2B是根據本發明第一范例實施例所繪示的計算機、輸入/輸出裝置與存儲器儲存裝置的示意圖。圖2C是根據本發明另一范例實施例所繪示的主機系統與存儲器儲存裝置的示意圖。圖3A是繪示圖2A所示的存儲器儲存裝置的概要方塊圖。圖3B是根據本發明第一范例實施例所繪示的存儲器控制器的概要方塊圖。圖4A與圖4B是根據本發明第一范例實施例所繪示管理可復寫式非易失性存儲器模塊的物理區塊的示意圖。圖5是根據第一范例實施例所繪示的管理邏輯區塊的范例示意圖。圖6是根據第一范例實施例所繪示設定使用者密碼的示意圖。圖7是根據第一范例實施例所繪示設定使用者密碼的流程圖。圖8是根據第一范例實施例所繪示驗證使用者身份的示意圖。圖9是根據第一范例實施例所繪示驗證使用者身份的流程圖。圖10是根據第二范例實施例所繪示設定使用者密碼的示意圖。圖11是根據第二范例實施例所繪示設定使用者密碼的流程圖。圖12是根據第二范例實施例所繪示驗證使用者身份的示意圖。圖13是根據第二范例實施例所繪示驗證使用者身份的流程圖。圖14是根據第三范例實施例所繪示設定使用者密碼的示意圖。圖15是根據第三范例實施例所繪示設定使用者密碼的流程圖。圖16是根據第三范例實施例所繪示驗證使用者身份的示意圖。圖17是根據第三范例實施例所繪示驗證使用者身份的流程圖。圖18是根據第一范例實施例所繪示設定使用者密碼的示意圖。圖19是根據第四范例實施例所繪示設定使用者密碼的流程圖。圖20是根據第四范例實施例所繪示驗證使用者身份的示意圖。圖21是根據第四范例實施例所繪示驗證使用者身份的流程圖。[主要元件標號說明]S101、S103、S105、S107:設定密碼的步驟S109、S111、S113、S115、S117、S119、S121:身份驗證的步驟1000:主機系統1100:計算機1102:微處理器1104:隨機存取存儲器1106:輸入/輸出裝置1108:系統總線1110:數據傳輸接1202:鼠標1204:鍵盤1206:顯示器1208:打印機1212:隨身盤1214:存儲卡1216:固態硬盤1310:數字相機1312:SD卡1314:MMC卡1316:存儲棒1318CF卡1320:嵌入式儲存裝置100:存儲器儲存裝置102:連接器104:存儲器控制器106:可復寫式非易失性存儲器模塊202:存儲器管理電路`204:主機接口206:存儲器接252:緩沖存儲器254:電源管理電路256:錯誤檢查與校正電路502:數據區504:閑置區506:系統區508:取代區410(0)410(N):物理區塊610(0)610(H):邏輯區塊502:第一分割區504:第二分割區506:第三分割區PW11、PW21、PW31、PW41:使用者密碼PWl2、PW22、PW32、PW42:待驗證密碼702:轉換模塊704:加密模塊1002:單向散列函數運算模塊1004:加密模塊800,2000:驗證程序K11、K12、K21、K22、K31、K32:數據串0D1、0D2、0D3:預設數據串CT11、CT12、CT21、CT22、CT31、CT32:待驗證密文S701、S703、S705、S707:設定密碼的步驟S901、S903、S905、S907、S909、S911:身份驗證的步驟S1101、S1103、S1105、S1107:設定密碼的步驟S1301、S1303、S1305、S1307、S1309、S1311:身份驗證的步驟S1501、S1503、S1505、S1507、S1509:設定密碼的步驟S1701、S1703、S1705、S1707、S1709、S1711、S1713:身份驗證的步驟1802:加總模塊1804:檢查總和計算模塊S1、S2:總和C:檢核總和S1901、S1903、S1905、S1907:設定密碼的步驟S1201、S1203、S1205、S1207、S1209、S1211、S1213:身份驗證的步驟具體實施例方式為了能夠保護所儲存的數據,以避免未經授權的存取,本發明提出一種密碼驗證方法。在此方法中,在密碼設定程序,如圖1A所示,使用者密碼會被接收(S101),第一單元會被用來將使用者密碼轉換成第一數據串(S103),第二單元會被用來將第一數據串轉換為不同于此第一數據串的認證數據(S105),并且此認證數據會被儲存至可復寫式非易失性存儲器模塊中(S107)。之后,在身份驗證程序中,如圖1B所示,待驗證密碼會被接收(S109),第一單元會被用來將此待驗證密碼轉換為第二數據串(Slll),第二單元會被用來將第二數據串轉換為待驗證數據(S113),從可復寫式非易失性存儲器模塊中讀取所儲存的認證數據(S115)并且判斷待驗證數據與所讀取的認證數據是否符合一預定規則(S117),其中倘若當待驗證數據與認證數據符合此預定規則時,此待驗證密碼會被識別為通過驗證(S119),反之,則此待驗證密碼會被識別為未通過驗證(S121)。基此,本發明所提出的方法可有效地驗證使用者的身份。為了更清楚了解本發明,以下將以數個范例實施例,來對本發明進行描述。[第一范例實施例]一般而言,存儲器儲存裝置(亦稱,存儲器儲存系統)包括可復寫式非易失性存儲器模塊與控制器(亦稱,控制電路)。通常存儲器儲存裝置是與主機系統一起使用,以使主機系統可將數據寫入至存儲器儲存裝置或從存儲器儲存裝置中讀取數據。圖2A是根據第一范例實施例所繪示的主機系統與存儲器儲存裝置。請參照圖2A,主機系統1000—般包括計算機1100與輸入/輸出(input/output,I/O)裝置1106。計算機1100包括微處理器1102、隨機存取存儲器(randomaccessmemory,RAM)1104、系統總線1108與數據傳輸接口1110。輸入/輸出裝置1106包括如圖2B的鼠標1202、鍵盤1204、顯示器1206與打印機1208。必須了解的是,圖2B所示的裝置非限制輸入/輸出裝置1106,輸入/輸出裝置1106可還包括其它裝置。在本發明實施例中,存儲器儲存裝置100是通過數據傳輸接口1110與主機系統1000的其它元件電性連接。通過微處理器1102、隨機存取存儲器1104與輸入/輸出裝置1106的運作可將數據寫入至存儲器儲存裝置100或從存儲器儲存裝置100中讀取數據。例如,存儲器儲存裝置100可以是如圖2B所示的隨身盤1212、存儲卡1214或固態硬盤(SolidStateDrive,SSD)1216等的可復寫式非易失性存儲器儲存裝置。一般而言,主機系統1000可實質地為可與存儲器儲存裝置100配合以儲存數據的任意系統。雖然在本范例實施例中,主機系統1000是以計算機系統來作說明,然而,在本發明另一范例實施例中主機系統1000可以是數字相機、攝影機、通信裝置、音頻播放器或視頻播放器等系統。例如,在主機系統為數字相機(攝影機)1310時,可復寫式非易失性存儲器儲存裝置則為其所使用的SD卡1312、MMC卡1314、存儲棒(memorystick)1316、CF卡1318或嵌入式儲存裝置1320(如圖2C所示)。嵌入式儲存裝置1320包括嵌入式多媒體卡(EmbeddedMMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接電性連接于主機系統的基板上。圖3A是根據第一范例實施例所繪示的存儲器儲存裝置的概要方塊圖。請參照圖3A,存儲器儲存裝置100包括連接器102、存儲器控制器104與可復寫式非易失性存儲器模塊106。在本范例實施例中,連接器102是兼容于通用序列總線(UniversalSerialBus,USB)標準。然而,必須了解的是,本發明不限于此,連接器102亦可以是符合電氣和電子工程師協會(InstituteofElectricalandElectronicEngineers,IEEE)1394標準、高速周邊零件連接接口(PeripheralComponentInterconnectExpress,PCIExpress)標準、平行先進附件(ParallelAdvancedTechnologyAttachment,PATA)標準、序列先進附件(SerialAdvancedTechnologyAttachment,SATA)標準、安全數字(SecureDigital,SD)接口標準、存儲棒(MemoryStick,MS)接口標準、多媒體儲存卡(MultiMediaCard,MMC)接口標準、小型快閃(CompactFlash,CF)接口標準、集成式驅動電子接口(IntegratedDeviceElectronics,IDE)標準或其它適合的標準。存儲器控制器104用以執行以硬件型式或固件型式實作的多個邏輯門或控制指令,并且根據主機系統1000的指令在可復寫式非易失性存儲器模塊106中進行數據的寫入、讀取、抹除與合并等運作。可復寫式非易失性存儲器模塊106是電性連接至存儲器控制器104,并且具有多個物理區塊以儲存主機系統1000所寫入的數據。在本范例實施例中,每一物理區塊分別具有多個物理頁面,其中屬于同一個物理區塊的物理頁面可被獨立地寫入且被同時地抹除。例如,每一物理區塊是由128個物理頁面所組成,并且每一物理頁面的容量為4千字節(Kilobyte,KB)。然而,必須了解的是,本發明不限于此,每一物理區塊是可由64個物理頁面、256個物理頁面或其它任意個物理頁面所組成。更詳細來說,物理區塊為抹除的最小單位。亦即,每一物理區塊含有最小數目的一并被抹除的存儲單元。物理頁面為編程的最小單元。即,物理頁面為寫入數據的最小單元。然而,必須了解的是,在本發明另一范例實施例中,寫入數據的最小單位亦可以是物理扇區或其它大小。每一物理頁面通常包括數據位區與冗余位區。數據位區用以儲存使用者的數據,而冗余位區用以儲存系統的數據(例如,錯誤檢查與校正碼)。在本范例實施例中,可復寫式非易失性存儲器模塊106為多階存儲單元(MultiLevelCell,MLC)NAND閃存模塊。然而,本發明不限于此,可復寫式非易失性存儲器模塊106亦可是單階存儲單元(SingleLevelCell,SLC)NAND閃存模塊、其它閃存模塊或其它具有相同特性的存儲器模塊。圖3B是根據第一范例實施例所繪示的存儲器控制器的概要方塊圖。請參照圖3B,存儲器控制器104包括存儲器管理電路202、主機接口204與存儲器接口206。存儲器管理電路202用以控制存儲器控制器104的整體運作。具體來說,存儲器管理電路202具有多個控制指令,并且在存儲器儲存裝置100運作時,此些控制指令會被執行以在可復寫式非易失性存儲器模塊106上進行數據的寫入、讀取、抹除等運作。在本范例實施例中,存儲器管理電路202的控制指令是以固件型式來實作。例如,存儲器管理電路202具有微處理器單元(未繪示)與只讀存儲器(未繪示),并且此些控制指令是被燒錄至此只讀存儲器中。當存儲器儲存裝置100運作時,此些控制指令會由微處理器單元來執行以進行數據的寫入、讀取與抹除等運作。在本發明另一范例實施例中,存儲器管理電路202的控制指令亦可以程序碼型式儲存于可復寫式非易失性存儲器模塊106的特定區域(例如,存儲器模塊中專用于存放系統數據的系統區)中。此外,存儲器管理電路202具有微處理器單元(未繪示)、只讀存儲器(未繪示)及隨機存取存儲器(未繪示)。特別是,此只讀存儲器具有驅動碼段,并且當存儲器控制器104被致能時,微處理器單元會先執行此驅動碼段來將儲存于可復寫式非易失性存儲器模塊106中的控制指令加載至存儲器管理電路202的隨機存取存儲器中。之后,微處理器單元會運轉此些控制指令以進行數據的寫入、讀取與抹除等運作。此外,在本發明另一范例實施例中,存儲器管理電路202的控制指令亦可以一硬件型式來實作。例如,存儲器管理電路202包括數據寫入電路、數據讀取電路、數據抹除電路等。主機接口204是電性連接至存儲器管理電路202并且用以接收與識別主機系統1000所傳送的指令與數據。也就是說,主機系統1000所傳送的指令與數據會通過主機接口204來傳送至存儲器管理電路202。在本范例實施例中,主機接口204是兼容于SATA標準。然而,必須了解的是本發明不限于此,主機接口204亦可以是兼容于PATA標準、IEEE1394標準、PCIExpress標準、USB標準、SD標準、MS標準、MMC標準、CF標準、IDE標準或其它適合的數據傳輸標準。存儲器接口206是電性連接至存儲器管理電路202并且用以存取可復寫式非易失性存儲器模塊106。也就是說,欲寫入至可復寫式非易失性存儲器模塊106的數據會經由存儲器接口206轉換為可復寫式非易失性存儲器模塊106所能接受的格式。在本發明一范例實施例中,存儲器控制器104還包括緩沖存儲器252、電源管理電路254與錯誤檢查與校正電路256。緩沖存儲器252是電性連接至存儲器管理電路202并且用以暫存來自于主機系統1000的數據與指令或來自于可復寫式非易失性存儲器模塊106的數據。電源管理電路254是電性連接至存儲器管理電路202并且用以控制存儲器儲存裝置100的電源。錯誤檢查與校正電路256是電性連接至存儲器管理電路202并且用以執行錯誤檢查與校正程序以確保數據的正確性。具體來說,當存儲器管理電路202從主機系統1000中接收到寫入指令時,錯誤檢查與校正電路256會為對應此寫入指令的數據產生對應的錯誤檢查與校正碼(ErrorCheckingandCorrectingCODIe,ECCCODle),并且存儲器管理電路202會將對應此寫入指令的數據與對應的錯誤檢查與校正碼寫入至可復寫式非易失性存儲器模塊106中。之后,當存儲器管理電路202從可復寫式非易失性存儲器模塊106中讀取數據時會同時讀取此數據對應的錯誤檢查與校正碼,并且錯誤檢查與校正電路256會依據此錯誤檢查與校正碼對所讀取的數據執行錯誤檢查與校正程序。圖4A與圖4B是根據第一范例實施例所繪示管理可復寫式非易失性存儲器模塊的物理區塊的示意圖。請參照圖4A,可復寫式非易失性存儲器模塊106具有物理區塊410(0)410(N),并且存儲器控制器104的存儲器管理電路202會將物理區塊410(0)410-(N)邏輯地分組為數據區(dataarea)502、閑置區(freearea)504、系統區(systemarea)506與取代區(replacementarea)508。邏輯上屬于數據區502與閑置區504的物理區塊是用以儲存來自于主機系統1000的數據。具體來說,數據區502的物理區塊(亦稱為數據物理區塊)是被視為已儲存數據的物理區塊,而閑置區504的物理區塊(亦稱為閑置物理區塊)是用以寫入新數據的物理區塊。例如,當從主機系統1000接收到寫入指令與欲寫入的數據時,存儲器管理電路202會從閑置區504中提取物理區塊作為日志(log)物理區塊,并且將數據寫入至此日志物理區塊中。再例如,當對某一邏輯區塊執行數據合并程序時,存儲器管理電路202會從閑置區504中提取物理區塊作為對應此邏輯區塊的新數據物理區塊來寫入數據,并且替換原先映射此邏輯區塊的數據物理區塊。特別是,在完成數據合并程序后,此些儲存無效數據的數據物理區塊或日志物理區塊會被重新關聯(或回收)至閑置區504,以作為下次寫入新數據之用。邏輯上屬于系統區506的物理區塊是用以記錄系統數據。例如,系統數據包括關于可復寫式非易失性存儲器模塊的制造商與型號、可復寫式非易失性存儲器模塊的物理區塊數、每一物理區塊的物理頁面數等。邏輯上屬于取代區508中的物理區塊是用于壞物理區塊取代程序,以取代損壞的物理區塊。具體來說,倘若取代區508中仍存有正常的物理區塊并且數據區502的物理區塊損壞時,存儲器管理電路202會從取代區508中提取正常的物理區塊來更換損壞的物理區塊。基于上述,在存儲器儲存裝置100的運作中,數據區502、閑置區504、系統區506與取代區508的物理區塊會動態地變動。例如,用以輪替儲存數據的物理區塊會變動地屬于數據區502或閑置區504。值得一提的是,在本范例實施例中,存儲器管理電路202是以每一物理區塊為單位來進行管理。然而,本發明不限于此,在另一范例實施例中,存儲器管理電路202亦可將物理區塊分組為多個物理單元,并且以物理單元為單位來進行管理。例如,每一物理單元可由同一存儲器子模塊或不同存儲器子模塊中的至少一個物理區塊所組成。請參照圖4B,存儲器管理電路202會配置邏輯區塊610(0)610(H)以映射數據區502的物理區塊,其中每一邏輯區塊具有多個邏輯頁面并且此些邏輯頁面是依序地映射對應的數據物理區塊的物理頁面。例如,在存儲器儲存裝置100被格式化時,邏輯區塊610(0)610(H)會初始地映射數據區502的物理區塊410(0)410(F-1)。在本發明范例實施例中,存儲器管理電路202會維護邏輯區塊-物理區塊映射表(logicalblock-physicalblockmappingtable)以記錄邏輯區塊610(0)610(H)與數據區502的物理區塊之間的映射關系。例如,當主機系統1000欲存取某一邏輯存取地址時,存儲器管理電路202會將主機系統1000所存取的邏輯存取地址轉換為以對應的邏輯區塊與邏輯頁面所構成的多維地址,并且通過邏輯區塊-物理區塊映射表于對應的物理頁面中存取數據。圖5是根據第一范例實施例所繪示的管理邏輯區塊的范例示意圖。請參照圖5,存儲器管理電路202會將邏輯區塊610(0)610(H)劃分為第一分割區502、第二分割區504與第三分割區506。例如,邏輯區塊610(0)610(D)屬于第一分割區502,邏輯區塊610(D+1)610(P)屬于第二分割區504并且邏輯區塊610(P+1)610(H)屬于第三分割區506。第一分割區502用以儲存存儲器儲存裝置100的制造商所開發的應用程序,例如,密碼驗證程序。在本范例實施例中,每當存儲器儲存裝置100電性連接至主機系統1000時,使用者必須執行第一分割區502中的密碼驗證程序來輸入密碼以進行密碼驗證。詳細的密碼驗證機制,將于以下配圖式作詳細的說明。存儲器管理電路202將第一分割區502的儲存屬性初始地設定為只讀狀態,以避免使用者誤刪除儲存于第一分割區502的數據或程序。然而,本發明不限于此,第一分割區502的儲存屬性亦可被設定為可擦寫狀態。再者,在本發明另一范例實施例中,存儲器管理電路202亦可將第一分割區502設定為多媒體分割區。具體來說,當儲存裝置100電性連接至主機系統1000時,存儲器管理電路202會向主機系統1000宣告第一分割區502為光學儲存裝置的分割區(亦稱光盤分割區)。例如,第一分割區502會被仿真為光驅、數字視頻光盤(DigitalVideoDisc,DVD)或藍光光驅(Blue-RayDiscdrive)的分割區。特別是,在此范例實施例中,除了上述密碼驗證程序之外,第一分割區502可儲存自動執行檔。在此,自動執行檔為一種可使主機系統1000的操作系統自動執行的描述檔案(例如,文件名為"Autorun.1nf"的描述文件(scriptfile))并且在自動執行文件的內容中包含執行上述密碼驗證程序的描述語言。基此,當存儲器儲存裝置100電性連接至主機系統1000時,密碼驗證程序會自動地被執行以要求使用者輸入密碼。第二分割區504為提供給使用者儲存數據的儲存分割區。特別是,在本范例實施例中,存儲器管理電路202會初始地將第二分割區504設定為無法被主機系統1000識別的隱藏分割區,并且在使用者通過身份驗證之后,存儲器管理電路202才會將第二分割區504設定為可被主機系統1000存取的儲存分割區。具體來說,當存儲器儲存裝置100電性連接至主機系統1000時,主機系統1000的操作系統無法識別與存取第二分割區504(S卩,使用者無法從檔案系統中看到第二分割區504)。之后,倘若使用者所輸入的密碼通過驗證之后,存儲器管理電路202會重新配置(configure)第二分割區504,以使主機系統1000的操作系統可識別與存取第二分割區504。第三分割區506為僅存儲器管理電路202能夠存取的保密分割區。也就是說,主機系統1000的操作系統無法存取儲存于第三分割區506中的數據。必須了解的是,盡管在本范例實施例中,存儲器管理電路202是將邏輯區塊劃分為3個分割區來管理。然而,本發明不限于此。在本發明另一范例實施例中,存儲器管理電路202可將邏輯區塊劃分為更多分割區。如上所述,使用者必須通過身份驗證才能存取第二分割區504。例如,存儲器儲存裝置100于生產時會初始地被設定一組預設密碼并且使用者可通過執行上述身份驗證程序以預設密碼來通過身份驗證后重新設定使用者密碼。圖6是根據第一范例實施例所繪示設定使用者密碼的示意圖。請參照圖6,當使用者于運轉于主機系統1000的密碼驗證程序中執行設定密碼功能而輸入新的使用者密碼PWll后,使用者密碼PWll會被傳送至存儲器儲存裝置100。當存儲器控制器104接收到使用者密碼PWll時,存儲器管理電路202會將使用者密碼PWll轉換為數據串KU。具體來說,在第一范例實施例中,轉換模塊702與加密模塊704會被配置在存儲器儲存裝置100中以分別地作為上述的第一單元與第二單元。存儲器管理電路202會應用轉換模塊702將輸入數據串轉換成固定長度的輸出數據串。例如,當輸入數據串的長度小于固定長度時,轉換模塊702會在輸入數據串中加入填塞位,以輸出具固定長度的輸出數據串。或者,當輸入數據串的長度大于固定長度時,轉換模塊702會將輸入數據串以固定長度為單位來分段并且執行XOR運算來產生輸出數據串。必須了解的是,盡管在本范例實施例中,是以實體電路來實作轉換模塊702,然而,本發明不限于此。例如,在本發明另一范例實施例中,轉換模塊702亦可以程序碼來實作。之后,存儲器管理電路202會應用加密模塊704以數據串Kll來加密預設數據串ODl,以產生預設密文CTlI。具體來說,加密模塊704可為先進加密標準加密(AdvancedEncryptionStandard,AES)模塊,并且存儲器管理電路202會將數據串Kll作為加密模塊704的密鑰來加密預設數據串ODl,以產生預設密文CTlI。在此,預設數據是預儲存于存儲器管理電路202中并且可以是可復寫式非易失性存儲器模塊106的識別碼或者制造商的名稱等。值得一提的是,上述固定長度會根據加密模塊704的類型而設定。例如,當加密模塊704是根據AES128來實作時,固定長度會被設定為16位。而當加密模塊704是根據AES256來實作時,固定長度會被設定為32位。必須了解的是,盡管在本范例實施例中,力口密模塊704是根據AES來實作,但本發明不限于此。例如,加密模塊704亦可以是應用數據加密標準(DataEncryptionStandard,DES)來實作。必須了解的是,盡管在本范例實施例中,是以實體電路來實作加密模塊704,然而,本發明不限于此。例如,在本發明另一范例實施例中,加密模塊704亦可以程序碼來實作。然后,存儲器管理電路202會將預設密文CTll儲存至第三分割區506中,以完成設定新的使用者密碼。必須了解的是,盡管在本范例實施例中,存儲器管理電路202是將預設密文CTll儲存至第三分割區506中,但本發明不限于此。圖7是根據第一范例實施例所繪示設定使用者密碼的流程圖。請參照圖7,在步驟S701中,接收欲設定的使用者密碼。接著,在步驟S703中,利用第一單元(例如,轉換模塊702)轉換使用者密碼以輸出一數據串(以下稱為第一數據串),并且在步驟S705中,使用第二單元(例如,加密模塊704)以第一數據串來加密預設數據串,以產生預設密文。最后,在步驟S707中,將所產生的預設密文儲存至第三分割區506中。圖8是根據第一范例實施例所繪示驗證使用者身份的示意圖。請參照圖8,當使用者根據密碼驗證程序的要求輸入密碼PW12(以下稱為待驗證密碼)后,待驗證密碼PW12會被傳送至存儲器儲存裝置100。當存儲器控制器104接收到待驗證密碼PW12時,存儲器管理電路202會利用轉換模塊702將待驗證密碼PW12轉換為數據串K12。之后,存儲器管理電路202會使用加密模塊704以數據串K12來加密預設數據串ODl,以產生待驗證密文CT12。然后,存儲器管理電路202會從第三分割區506中讀取預設密文CTll并且根據待驗證密文CT12與預設密文CTll來進行驗證程序800。具體來說,倘若待驗證密碼PW12與使用者密碼PWll相同時,所產生的待驗證密文CT12應該會相同于預設密文CT11。反之,倘若待驗證密碼PW12與使用者密碼PWll不相同時,所產生的待驗證密文CT12必然不同于預設密文CTll。特別是,在待驗證密碼通過驗證下,存儲器管理電路202會將原本被設定為隱藏分割區的第二分割區504設定為可被主機系統1000存取的儲存分割區。圖9是根據第一范例實施例所繪示驗證使用者身份的流程圖。請參照圖9,在步驟S901中,接收待驗證密碼。接著,在步驟S903中,利用第一單元轉換待驗證密碼以輸出一數據串(以下稱為第二數據串),并且在步驟S905中,使用第二單元以第二數據串來加密預設數據串,以產生待驗證密文。然后,在步驟S907中,從第三分割區506中讀取預設密文并且判斷待驗證密文是否相同于所讀取的預設密文。倘若待驗證密文是否相同于所讀取的預設密文時,在步驟S909中,識別待驗證密碼通過驗證并且將第二分割區504設定為儲存分割區。倘若待驗證密文是否相同于所讀取的預設密文時,在步驟S911中,識別待驗證密碼未通過驗證并且輸出密碼錯誤消息。值得一提的是,在本范例實施例中,第二分割區504會被初始地設定為主機系統1000無法識別的隱藏分割區;并且當待驗證密碼通過驗證之后,第二分割區504才會被設定為可被主機系統1000存取的儲存分割區,由此確保所儲存的數據不會被未授權者存取。但,本發明不限于此。在本發明另一范例實施例中,第二分割區504亦可初始地被設定為主機系統1000可識別與存取的儲存分割區并且任何被儲存至第二分割區504的數據階會通過分割區密鑰來加密,由此來保護所儲存的數據。具體來說,僅在待驗證密碼通過驗證之后,存儲器管理電路202才會使用用以加密第二分割區504的數據的分割區密鑰來解密欲存取的數據,由此確保授權者才能正確地存取數據。例如,分割區密鑰會被儲存在第三分割區506中。[第二范例實施例]第二范例實施例本質上是相同于第一范例實施例,其差異之處在于僅在于第二范例實施例的存儲器管理電路使用不同的方法來進行身份驗證。以下將使用第一范例實施例的圖2A、3A、3B、4A、4B、5來說明第二范例實施例的差異之處。圖10是根據第二范例實施例所繪示設定使用者密碼的示意圖。請參照圖10,當使用者于運轉于主機系統1000的密碼驗證程序中執行設定密碼功能而輸入新的使用者密碼PW21后,使用者密碼PW21會被傳送至存儲器儲存裝置100。存儲器控制器104接收到使用者密碼PW21后,存儲器管理電路202會將使用者密碼PW21轉換為數據串K21。具體來說,在第二范例實施例中,單向散列函數(One-WayHashFunction)運算模塊1002與加密模塊1004會被配置在存儲器儲存裝置100中在第一范例實施例中,轉換模塊702與加密模塊704會被配置在存儲器儲存裝置100中以分別地作為上述的第一單元與第二單元。存儲器管理電路202會應用單向散列函數運算模塊1002將使用者密碼PW21轉換為數據串K21。必須了解的是,盡管在本范例實施例中,單向散列函數運算模塊1002是以實體電路來實作,然而,本發明不限于此。例如,在本發明另一范例實施例中,單向散列函數運算模塊1002亦可以程序碼來實作。之后,存儲器管理電路202會應用加密模塊1004以預設數據串0D2來加密數據串K21,以產生預設密文CT21。具體來說,加密模塊1004為先進加密標準加密(AdvancedEncryptionStandard,AES)函數,并且存儲器管理電路202會將預設數據串0D2作為加密模塊1004的密鑰來加密數據串K21以產生預設密文CT21。在此,預設數據是預儲存于存儲器管理電路202中并且具有固定長度。例如,預設數據可以是可復寫式非易失性存儲器模塊106的識別碼或者制造商的名稱等字符串所組成。值得一提的是,此固定長度會根據加密模塊1004的類型而設定。例如,當加密模塊1004是根據AES128來實作時,固定長度會被設定為16位。而當加密模塊1004是根據AES256來實作時,固定長度會被設定為32位。必須了解的是,盡管在本范例實施例中,加密模塊1004是根據AES來實作,但本發明不限于此。例如,加密模塊1004亦可以根據數據加密標準(DataEncryptionStandard,DES)來實作。必須了解的是,盡管在本范例實施例中,加密模塊1004是以實體電路來實作,然而,本發明不限于此。例如,在本發明另一范例實施例中,加密模塊1004亦可以程序碼來實作。然后,存儲器管理電路202會將預設密文CT21儲存至第三分割區506中,以完成設定新的使用者密碼。圖11是根據第二范例實施例所繪示設定使用者密碼的流程圖。請參照圖11,在步驟SllOl中,接收欲設定的使用者密碼。接著,在步驟S1103中,利用第一單元(例如,單向散列函數運算模塊1002)轉換使用者密碼以輸出一數據串(以下稱為第一數據串),并且在步驟SI105中,使用第二單元(例如,加密模塊1004)以預設數據串來加密第一數據串,以產生預設密文。最后,在步驟S1107中,將所產生的預設密文儲存至第三分割區506中。圖12是根據第二范例實施例所繪示驗證使用者身份的示意圖。請參照圖12,當使用者根據密碼驗證程序的要求輸入密碼PW22(以下稱為待驗證密碼)后,待驗證密碼PW22會被傳送至存儲器儲存裝置100。存儲器控制器104接收到待驗證密碼PW22后,存儲器管理電路202會利用單向散列函數運算模塊1002將待驗證密碼PW22轉換為數據串K22。之后,存儲器管理電路202會使用加密模塊1004以預設數據串0D2來加密數據串K22,以產生待驗證密文CT22。然后,存儲器管理電路202會從第三分割區506中讀取預設密文CT21并且根據待驗證密文CT22與預設密文CT21來進行驗證程序800。具體來說,倘若待驗證密碼PW22與使用者密碼PW21相同時,所產生的待驗證密文CT22應該會相同于預設密文CT21。反之,倘若待驗證密碼PW22與使用者密碼PW21不相同時,所產生的待驗證密文CT22必然不同于預設密文CT21。特別是,在待驗證密碼通過驗證下,存儲器管理電路202會將原本被設定為隱藏分割區的第二分割區504設定為可被主機系統1000存取的儲存分割區。圖13是根據第二范例實施例所繪示驗證使用者身份的流程圖。請參照圖13,在步驟S1301中,接收待驗證密碼。接著,在步驟S1303中,利用第一單元轉換待驗證密碼以輸出一數據串(以下稱為第二數據串),并且在步驟S1305中,使用第二單元以預設數據串來加密第二數據串以產生待驗證密文。然后,在步驟S1307中,從第三分割區506中讀取預設密文并且判斷待驗證密文是否相同于所讀取的預設密文。倘若待驗證密文是否相同于所讀取的預設密文時,在步驟S1309中,識別待驗證密碼通過驗證并且將第二分割區504設定為儲存分割區。倘若待驗證密文是否相同于所讀取的預設密文時,在步驟S1311中,識別待驗證密碼未通過驗證并且輸出密碼錯誤消息。[第三范例實施例]第三范例實施例本質上是相同于第一范例實施例,其差異之處在于僅在于第三范例實施例的存儲器管理電路使用不同的方法來進行身份驗證。以下將使用第一范例實施例的圖2A、3A、3B、4A、4B、5來說明第三范例實施例的差異之處。圖14是根據第三范例實施例所繪示設定使用者密碼的示意圖。請參照圖14,當使用者于運轉于主機系統1000的密碼驗證程序中執行設定密碼功能而輸入新的使用者密碼PW31后,使用者密碼PW31會被傳送至存儲器儲存裝置100。存儲器控制器104接收到使用者密碼PW31后,存儲器管理電路202會將使用者密碼PW31轉換為數據串K31。具體來說,在第三范例實施例中,轉換模塊702與單向散列函數運算模塊1002會被配置在存儲器儲存裝置100中以分別地作為上述的第一單元與第二單元。存儲器管理電路202會應用轉換模塊702將輸入數據串轉換成固定長度的輸出數據串。之后,存儲器管理電路202會合并預設數據串ODl與數據串K31以產生合并數據串,并且應用單向散列函數運算模塊1002來依據此合并數據串產生預設密文CT31。然后,存儲器管理電路202會將預設密文CT31儲存至第三分割區506中,以完成設定新的使用者密碼。圖15是根據第三范例實施例所繪示設定使用者密碼的流程圖。請參照圖15,在步驟S1501中,接收欲設定的使用者密碼。接著,在步驟S1503中,利用第一單元(例如,轉換模塊702)轉換使用者密碼以輸出一數據串(以下稱為第一數據串),并且在步驟S1505中,合并第一數據串與預設數據串以產生合并數據串(以下稱為第一合并數據串)。然后,在步驟S1507中,將第一合并數據串輸入至第二單元(例如,單向散列函數運算模塊1002)以產生預設密文。最后,在步驟S1509中,將所產生的預設密文儲存至第三分割區506中。圖16是根據第三范例實施例所繪示驗證使用者身份的示意圖。請參照圖16,當使用者根據密碼驗證程序的要求輸入密碼PW32(以下稱為待驗證密碼)后,待驗證密碼PW32會被傳送至存儲器儲存裝置100。存儲器控制器104接收到待驗證密碼PW32后,存儲器管理電路202會利用轉換模塊702將待驗證密碼PW32轉換為數據串K32。之后,存儲器管理電路202會合并預設數據串0D3與數據串K32以產生合并數據串,并且將此合并數據串輸入至單向散列函數運算模塊1002以產生待驗證密文CT32。然后,存儲器管理電路202會從第三分割區506中讀取預設密文CT31并且根據待驗證密文CT32與預設密文CT31來進行驗證程序800。具體來說,倘若待驗證密碼PW32與使用者密碼PW31相同時,所產生的待驗證密文CT32應該會相同于預設密文CT31。反之,倘若待驗證密碼PW32與使用者密碼PW31不相同時,所產生的待驗證密文CT32必然不同于預設密文CT31。特別是,在待驗證密碼通過驗證下,存儲器管理電路202會將原本被設定為隱藏分割區的第二分割區504設定為可被主機系統1000存取的儲存分割區。圖17是根據第三范例實施例所繪示驗證使用者身份的流程圖。請參照圖17,在步驟S1701中,接收待驗證密碼。接著,在步驟S1703中,利用第一單元轉換待驗證密碼以輸出一數據串(以下稱為第二數據串),并且在步驟S1705中,合并第二數據串與預設數據串以產生合并數據串(以下稱為第二合并數據串)。然后,在步驟S1707中,將第二合并數據串輸入至第二單元以產生待驗證密文,并且在步驟S1709中,從第三分割區506中讀取預設密文并且判斷待驗證密文是否相同于所讀取的預設密文。倘若待驗證密文是否相同于所讀取的預設密文時,在步驟S1711中,識別待驗證密碼通過驗證并且將第二分割區504設定為儲存分割區。倘若待驗證密文是否相同于所讀取的預設密文時,在步驟S1713中,識別待驗證密碼未通過驗證并且輸出密碼錯誤消息。[第四范例實施例]第四范例實施例本質上是相同于第一范例實施例,其差異之處在于僅在于第四范例實施例的存儲器管理電路使用不同的方法來進行身份驗證。以下將使用第一范例實施例的圖2A、3A、3B、4A、4B、5來說明第四范例實施例的差異之處。圖18是根據第一范例實施例所繪示設定使用者密碼的示意圖。請參照圖18,當使用者于運轉于主機系統1000的密碼驗證程序中執行設定密碼功能而輸入新的使用者密碼PW41后,使用者密碼PW41會被傳送至存儲器儲存裝置100。存儲器控制器104接收到使用者密碼PW41后,存儲器管理電路202會計算使用者密碼PW41的總和SI。具體來說,在第四范例實施例中,加總模塊1802與檢查總和計算模塊1804會被配置在存儲器儲存裝置100中。存儲器管理電路202會應用加總模塊1802來加總使用者密碼PW41的每個字節的值來產生總和SI。必須了解的是,盡管在本范例實施例中,加總模塊1802是以實體電路來實作,然而,本發明不限于此。例如,在本發明另一范例實施例中,加總模塊1802亦可以程序碼來實作。之后,存儲器管理電路202會計算對應總和SI的檢查總和(checksum)Cl。例如,存儲器管理電路202會應用檢查總和計算模塊1804來計算對應總和SI的檢查總和C。具體來說,檢查總和C為總和SI的一個補碼,其中總和SI和檢查總和C的加總回等于預設總和。例如,此預設總和為每個位皆為I的值。檢查總和的計算方式為此領域所熟知的技術,在此省略其詳細描述。必須了解的是,盡管在本范例實施例中,檢查總和計算模塊1804是以實體電路來實作,然而,本發明不限于此。例如,在本發明另一范例實施例中,檢查總和計算模塊1804亦可以程序碼來實作。最后,存儲器管理電路202會將檢查總和C儲存至第三分割區506中,以完成設定新的使用者密碼。圖19是根據第四范例實施例所繪示設定使用者密碼的流程圖。請參照圖19,在步驟S1901中,接收欲設定的使用者密碼。接著,在步驟S1903中,加總使用者密碼的每一字節以獲得一總和(以下稱為第一總和),并且在步驟S1905中,計算對應第一總和的檢查總和。最后,在步驟S1907中,將所計算出的檢查總和儲存至第三分割區506中。圖20是根據第四范例實施例所繪示驗證使用者身份的示意圖。請參照圖20,當使用者根據密碼驗證程序的要求輸入密碼PW42(以下稱為待驗證密碼)后,待驗證密碼PW42會被傳送至存儲器儲存裝置100。在存儲器控制器104接收到待驗證密碼PW42后,會計算待驗證密碼PW42的總和S2。之后,存儲器管理電路202會從第三分割區506中讀取檢核總和C。然后,存儲器管理電路202會加總所計算的總和S2和所讀取的檢查總和C以獲得待驗證總和,并且進行驗證程序2000以判斷待驗證總和是否相同于預設總和。例如,存儲器管理電路202會判斷待驗證總和的每個位的值是否為I。具體來說,倘若待驗證密碼PW42與使用者密碼PW41相同時,所計算的待驗證總和應該會相同于預設總和,例如,待驗證總和的每個位的值皆為I。反之,倘若待驗證密碼PW42與使用者密碼PW41不相同時,所計算的待驗證總和必然不同于預設總和。特別是,在待驗證密碼通過驗證下,存儲器管理電路202會將原本被設定為隱藏分割區的第二分割區504設定為可被主機系統1000存取的儲存分割區。圖21是根據第四范例實施例所繪示驗證使用者身份的流程圖。請參照圖21,在步驟S2101中,接收待驗證密碼。接著,在步驟S2103中,加總待驗證密碼的每一字節以獲得一總和(以下稱為第二總和)。并且,在步驟S1205中,從第三分割區506中讀取檢核總和。之后,在步驟S1207中,加總所計算的第二總和和所讀取的檢核總和,并且在步驟S1209中判斷所計算的第二總和和所讀取的檢核總和的加總是否相同于預設總和。倘若所計算的第二總和和所讀取的檢核總和的加總相同于預設總和時,在步驟S1211中,識別待驗證密碼通過驗證并且將第二分割區504設定為儲存分割區。倘若所計算的第二總和和所讀取的檢核總和的加總不相同于預設總和時,在步驟S1213中,識別待驗證密碼未通過驗證并且輸出密碼錯誤消息。綜上所述,上述范例實施例的存儲器儲存系統及其存儲器控制器與密碼驗證方法是通過比對編碼后的預設密碼與對編碼后的待驗證密碼來進行身份驗證,由此可有效地避免未經授權者存取存儲器儲存裝置。此外,另一范例實施例的存儲器儲存系統及其存儲器控制器與密碼驗證方法是通過計算密碼的總和與檢核總和來進行身份驗證,由此可有效地避免未經授權者存取存儲器儲存裝置。雖然本發明已以實施例揭露如上,然其并非用以限定本發明,任何所屬
技術領域:
中具有通常知識者,在不脫離本發明的精神和范圍內,當可作些許的更動與潤飾,故本發明的保護范圍當視所附的權利要求范圍所界定者為準。權利要求1.一種存儲器儲存裝置,包括一連接器,用以電性連接至一主機系統;一可復寫式非易失性存儲器模塊;以及一存儲器控制器,電性連接至該連接器與該可復寫式非易失性存儲器模塊,其中該存儲器控制器從該主機系統接收一使用者密碼,應用該第一單元來將該使用者密碼轉換成一第一數據串,并且應用該第二單元來依據一預設數據串與該第一數據串產生一預設密文,其中該存儲器控制器將該預設密文儲存至該可復寫式非易失性存儲器模塊中,其中該存儲器控制器從該主機系統接收一待驗證密碼,應用該第一單元將該待驗證密碼轉換為一第二數據串,并且應用該第二單元來依據該預設數據串與該二數據串產生一待驗證密文,其中該存儲器控制器會從該可復寫式非易失性存儲器模塊中讀取該預設密文并且判斷該待驗證密文與所讀取的該預設密文是否相同,其中當該驗證密文相同于該預設密文時,該存儲器控制器識別該待驗證密碼通過驗證。2.根據權利要求1所述的存儲器儲存裝置,其中該可復寫式非易失性存儲器模塊具有多個物理區塊以及映射部分該多個物理區塊的多個邏輯區塊,其中該存儲器控制器初始地將該多個邏輯區塊的其中一部分劃分為一隱藏分割區,其中該主機系統無法識別該隱藏分割區,其中在識別該待驗證密碼通過驗證之后,該存儲器控制器會將該隱藏分割區切換成可被該主機系統存取的一儲存分割區。3.根據權利要求1所述的存儲器儲存裝置,其中該可復寫式非易失性存儲器模塊具有多個物理區塊,其中該存儲器控制器將該多個邏輯區塊的其中一部分劃分為一儲存分割區與一保密分割區,其中該主機系統無法識別該保密分割區并且該保密分割區儲存一分割區密鑰,其中該存儲器控制器使用該分割區密鑰加密儲存于該儲存分割區中的數據,其中當該待驗證密碼通過驗證時,該存儲器控制器會使用該分割區密鑰解密儲存于該儲存分割區中的該數據。4.根據權利要求1所述的存儲器儲存裝置,其中該第二單元為一先進加密標準加密模塊,其中該存儲器控制器應用該第一單元將該使用者密碼轉換成具有一固定長度的該第一數據串并且將該待驗證密碼轉換成具有該固定長度的該第二數據串,其中該存儲器控制器應用該第二單元以該第一數據串加密該預設數據串來產生該預設密文,其中該存儲器控制器應用該第二單元以該第二數據串加密該預設數據串來產生該待驗證密文。5.根據權利要求1所述的存儲器儲存裝置,其中該第一單元為一單向散列函數運算模塊,該第二單元為一先進加密標準加密模塊,并且該預設數據串具有一固定長度,其中該存儲器控制器應用該第二單元以該預設數據串加密該第一數據串來產生該預設密文,其中該存儲器控制器應用該第二單元以該預設數據串加密該第二數據串來產生該待驗證密文。6.根據權利要求1所述的存儲器儲存裝置,其中該第二單元為一單向散列函數運算模塊,其中該存儲器控制器應用該第一單元將該使用者密碼轉換成具有一固定長度的該第一數據串并且將該待驗證密碼轉換成具有該固定長度的該第二數據串,其中該存儲器控制器合并該第一數據串與該預設數據串以產生一第一合并數據串并且應用該第二單元來依據該第一合并數據串產生該預設密文,其中該存儲器控制器合并該第二數據串與該預設數據串以產生一第二合并數據串并且應用該第二單元依據該第二合并數據串產生該待驗證密文。7.一種存儲器儲存裝置,包括一連接器,用以電性連接至一主機系統;一可復寫式非易失性存儲器模塊;以及一存儲器控制器,電性連接至該連接器與該可復寫式非易失性存儲器模塊,其中該存儲器控制器從該主機系統接收具有多個字節的一使用者密碼,加總該使用者密碼的該多個字節以獲得一第一總和,并且計算對應該第一總和的一檢查總和,其中該第一總和加上該檢查總和等于一預設總和,其中該存儲器控制器將該檢查總和儲存至該可復寫式非易失性存儲器模塊中,其中該存儲器控制器從該主機系統接收具有多個字節的一待驗證密碼,加總該待驗證密碼的該多個字節以獲得一第二總和,其中該存儲器控制器會從該可復寫式非易失性存儲器模塊中讀取該檢查總和,并且判斷該第二總和與所讀取的該檢查總和的一加總是否相同該預設總和,其中當該第二總和與所讀取的該檢查總和的該加總相同該預設總和時,該存儲器控制器識別該待驗證密碼通過驗證。8.根據權利要求7所述的存儲器儲存裝置,其中該可復寫式非易失性存儲器模塊具有多個物理區塊以及映射部分該多個物理區塊的多個邏輯區塊,其中該存儲器控制器初始地將該多個邏輯區塊的其中一部分劃分為一隱藏分割區,其中該主機系統無法識別該隱藏分割區,其中在識別該待驗證密碼通過驗證之后,該存儲器控制器會將該隱藏分割區切換成可被該主機系統存取的一儲存分割區。9.根據權利要求7所述的存儲器儲存裝置,其中該可復寫式非易失性存儲器模塊具有多個物理區塊,其中該存儲器控制器將該些邏輯區塊的其中一部分劃分為一儲存分割區與一保密分割區,其中該主機系統無法識別該保密分割區并且該保密分割區儲存一分割區密鑰,其中該存儲器控制器使用該分割區密鑰加密儲存于該儲存分割區中的數據,其中當該待驗證密碼通過驗證時,該存儲器控制器會使用該分割區密鑰解密儲存于該儲存分割區中的該數據。10.一種存儲器控制器,包括一主機接口,用以電性連接至一主機系統;一存儲器接口,用以電性連接至一可復寫式非易失性存儲器模塊;以及一存儲器管理電路,電性連接至該連接器與該可復寫式非易失性存儲器模塊,其中該存儲器管理電路從該主機系統接收一使用者密碼,該存儲器管理電路應用一第一單元將該使用者密碼轉換成一第一數據串,并且該存儲器管理電路應用一第二單元來依據一預設數據串與該第一數據串產生一預設密文,其中該存儲器管理電路將該預設密文儲存至該可復寫式非易失性存儲器模塊中,其中該存儲器管理電路從該主機系統接收一待驗證密碼,該存儲器管理電路應用該第一單元將該待驗證密碼轉換為一第二數據串,并且該存儲器管理電路應用該第二單元來依據該預設數據串與該二數據串產生一待驗證密文,其中該存儲器管理電路從該可復寫式非易失性存儲器模塊中讀取該預設密文并且判斷該待驗證密文與所讀取的該預設密文是否相同,其中當該驗證密文相同于該預設密文時,該存儲器管理電路識別該待驗證密碼通過驗證。11.根據權利要求10所述的存儲器控制器,其中該可復寫式非易失性存儲器模塊具有多個物理區塊以及映射部分該多個物理區塊的多個邏輯區塊,其中該存儲器管理電路初始地將該多個邏輯區塊的其中一部分劃分為一隱藏分割區,其中該主機系統無法識別該隱藏分割區,其中在識別該待驗證密碼通過驗證之后,該存儲器管理電路會將該隱藏分割區切換成可被該主機系統存取的一儲存分割區。12.根據權利要求10所述的存儲器控制器,其中該可復寫式非易失性存儲器模塊具有多個物理區塊,其中該存儲器管理電路將該些邏輯區塊的其中一部分劃分為一儲存分割區與一保密分割區,其中該主機系統無法識別該保密分割區并且該保密分割區儲存一分割區密鑰,其中該存儲器管理電路使用該分割區密鑰加密儲存于該儲存分割區中的數據,其中當該待驗證密碼通過驗證時,該存儲器管理電路會使用該分割區密鑰解密儲存于該儲存分割區中的該數據。13.根據權利要求10所述的存儲器控制器,其中該第二單元為一先進加密標準加密模塊,其中該存儲器管理電路應用該第一單元將該使用者密碼轉換成具有一固定長度的該第一數據串并且將該待驗證密碼轉換成具有該固定長度的該第二數據串,其中該存儲器管理電路應用該第二單元以該第一數據串加密該預設數據串來產生該預設密文,其中該存儲器管理電路使應用該第二單元以該第二數據串加密該預設數據串來產生該待驗證密文。14.根據權利要求10所述的存儲器控制器,其中該第一單元為一單向散列函數運算模塊,該第二單元為一先進加密標準加密模塊,并且該預設數據串具有一固定長度,其中該存儲器管理電路應用該第二單元以該預設數據串加密該第一數據串來產生該預設密文,其中該存儲器管理電路應用該第二單元以該預設數據串加密該第二數據串來產生該待驗證密文。15.根據權利要求10所述的存儲器控制器,其中該第二單元為一單向散列函數運算模塊,其中該存儲器管理電路應用該第一單元將該使用者密碼轉換成具有一固定長度的該第一數據串并且將該待驗證密碼轉換成具有該固定長度的該第二數據串,其中該存儲器管理電路合并該第一數據串與該預設數據串以產生一第一合并數據串并且應用該第二單元來依據該第一合并數據串產生該預設密文,其中該存儲器管理電路合并該第二數據串與該預設數據串以產生一第二合并數據串并且應用該第二單元來依據該第二合并數據串產生該待驗證密文。16.一種存儲器控制器,包括一主機接口,用以電性連接至一主機系統;一存儲器接口,用以電性連接至一可復寫式非易失性存儲器模塊;以及一存儲器管理電路,電性連接至該連接器與該可復寫式非易失性存儲器模塊,其中該存儲器管理電路從該主機系統接收具有多個字節的一使用者密碼,該存儲器管理電路加總該使用者密碼的該多個字節以獲得一第一總和,并且該存儲器管理電路計算對應該第一總和的一檢查總和,其中該第一總和加上該檢查總和等于一預設總和,其中該存儲器管理電路將該檢查總和儲存至該可復寫式非易失性存儲器模塊中,其中該存儲器管理電路從該主機系統接收具有多個字節的一待驗證密碼,并且該存儲器管理電路加總該待驗證密碼的該多個字節以獲得一第二總和,其中該存儲器管理電路從該可復寫式非易失性存儲器模塊中讀取該檢查總和,并且判斷該第二總和與所讀取的該檢查總和的一加總是否相同該預設總和,其中當該第二總和與所讀取的該檢查總和的該加總相同該預設總和時,該存儲器管理電路識別該待驗證密碼通過驗證。17.根據權利要求16所述的存儲器控制器,其中該可復寫式非易失性存儲器模塊具有多個物理區塊以及映射部分該多個物理區塊的多個邏輯區塊,其中該存儲器管理電路初始地將該多個邏輯區塊的其中一部分劃分為一隱藏分割區,其中該主機系統無法識別該隱藏分割區,其中在識別該待驗證密碼通過驗證之后,該存儲器管理電路會將該隱藏分割區切換成可被該主機系統存取的一儲存分割區。18.根據權利要求16所述的存儲器控制器,其中該可復寫式非易失性存儲器模塊具有多個物理區塊,其中該存儲器管理電路將該些邏輯區塊的其中一部分劃分為一儲存分割區與一保密分割區,其中該主機系統無法識別該保密分割區并且該保密分割區儲存一分割區密鑰,其中該存儲器管理電路使用該分割區密鑰加密儲存于該儲存分割區中的數據,其中當該待驗證密碼通過驗證時,該存儲器管理電路會使用該分割區密鑰解密儲存于該儲存分割區中的該數據。19.一種密碼驗證方法,用于一存儲器儲存裝置,其中該存儲器儲存裝置具有一可復寫式非易失性存儲器模塊,該密碼驗證方法包括接收一使用者密碼,使用一第一單元將該使用者密碼轉換成一第一數據串,并且輸入一預設數據串與該第一數據串至一第二單元以產生一預設密文;將該預設密文儲存至該可復寫式非易失性存儲器模塊中;接收一待驗證密碼,使用該第一單元將該待驗證密碼轉換為一第二數據串,并且輸入該預設數據串與該二數據串至該第二單元以產生一待驗證密文;從該可復寫式非易失性存儲器模塊中讀取該預設密文并且判斷該待驗證密文與所讀取的該預設密文是否相同;以及當該待驗證密文相同于該預設密文時,識別該待驗證密碼通過驗證。20.根據權利要求19所述的密碼驗證方法,其中該第二單元為一先進加密標準加密模塊,其中使用該第一單元將該使用者密碼轉換成該第一數據串的步驟包括利用該第一單元將該使用者密碼轉換成具有一固定長度的該第一數據串,其中使用該第一單元將該待驗證密碼轉換成該第二數據串的步驟包括利用該第一單元將該待驗證密碼轉換成具有該固定長度的該第二數據串,其中輸入該預設數據串與該第一數據串至該第二單元以產生該預設密文的步驟包括使用該第二單元以該第一數據串加密該預設數據串來產生該預設密文,其中輸入該預設數據串與該二數據串至該第二單元以產生該待驗證密文的步驟包括使用該第二單元以該第二數據串加密該預設數據串來產生該待驗證密文。21.根據權利要求19所述的密碼驗證方法,其中該第一單元為一單向散列函數運算模塊,該第二單元為一先進加密標準加密模塊,并且該預設數據串具有一固定長度,其中輸入該預設數據串與該第一數據串至該第二單元以產生該預設密文的步驟包括使用該第二單元以該預設數據串加密該第一數據串來產生該預設密文,其中輸入該預設數據串與該二數據串至該第二單元以產生該待驗證密文的步驟包括使用該第二單元以該預設數據串加密該第二數據串來產生該待驗證密文。22.根據權利要求19所述的密碼驗證方法,其中該第二單元為一單向散列函數運算模塊,其中使用該第一單元將該使用者密碼轉換成該第一數據串的步驟包括利用該第一單元將該使用者密碼轉換成具有一固定長度的該第一數據串,其中使用該第一單元將該待驗證密碼轉換成該第二數據串的步驟包括利用該第一單元將該待驗證密碼轉換成具有該固定長度的該第二數據串,其中輸入該預設數據串與該第一數據串至該第二單元以產生該預設密文的步驟包括合并該第一數據串與該預設數據串以產生一第一合并數據串并且輸入該第一合并數據串至該第二單元以產生該預設密文,其中輸入該預設數據串與該二數據串至該第二單元以產生該待驗證密文的步驟包括合并該第二數據串與該預設數據串以產生一第二合并數據串并且輸入該第二合并數據串至該第二單元以產生該待驗證密文。23.—種密碼驗證方法,用于一存儲器儲存裝置,其中該存儲器儲存裝置具有一可復寫式非易失性存儲器模塊,該密碼驗證方法包括接收具有多個字節的一使用者密碼;加總該使用者密碼的該多個字節以獲得一第一總和;計算對應該第一總和的一檢查總和,其中該第一總和加上該檢查總和等于一預設總和;將該檢查總和儲存至該可復寫式非易失性存儲器模塊中;接收具有多個字節的一待驗證密碼;加總該待驗證密碼的該多個字節以獲得一第二總和;從該可復寫式非易失性存儲器模塊中讀取該檢查總和,并且判斷該第二總和與所讀取的該檢查總和的一加總是否相同該預設總和;以及當該第二總和與所讀取的該檢查總和的該加總相同該預設總和時,識別該待驗證密碼通過驗證。24.一種密碼驗證方法,用于一存儲器儲存裝置,其中該存儲器儲存裝置具有一可復寫式非易失性存儲器模塊,該密碼驗證方法包括接收一使用者密碼,并且使用一第一單元將該使用者密碼轉換成一第一數據串;使用一第二單元將該第一數據串轉換為不同于該第一數據串的一認證數據;將該認證數據儲存至該可復寫式非易失性存儲器模塊中;接收一待驗證密碼,使用該第一單元將該待驗證密碼轉換為一第二數據串,并且經由該第二單元以產生一待驗證數據;從該可復寫式非易失性存儲器模塊中讀取該認證數據并且判斷該待驗證數據與所讀取的該認證數據是否符合一預定規則;以及當該待驗證數據與該認證數據符合該預定規則時,識別該待驗證密碼通過驗證。全文摘要一種存儲器儲存裝置,其包括連接器、可復寫式非易失性存儲器模塊與存儲器控制器。存儲器控制器接收待驗證密碼,應用第一單元將待驗證密碼轉換為數據串,應用第二單元依據一個預設數據串與所轉換的數據串至產生待驗證密文并且判斷所計算的待驗證密文與儲存于可復寫式非易失性存儲器模塊中的預設密文是否相同。當驗證密文相同于預設密文時,存儲器控制器會識別此待驗證密碼通過驗證。基此,可有效地能夠有效地使用者所輸入的密碼,以保護儲存在可復寫式非易失性存儲器模塊中的數據。文檔編號G06F12/14GK103034594SQ20111030160公開日2013年4月10日申請日期2011年9月30日優先權日2011年9月30日發明者李乾輔,王淑華申請人:群聯電子股份有限公司