TW201333701A - 資料保護方法、記憶體控制器與記憶體儲存裝置 - Google Patents
資料保護方法、記憶體控制器與記憶體儲存裝置 Download PDFInfo
- Publication number
- TW201333701A TW201333701A TW101104421A TW101104421A TW201333701A TW 201333701 A TW201333701 A TW 201333701A TW 101104421 A TW101104421 A TW 101104421A TW 101104421 A TW101104421 A TW 101104421A TW 201333701 A TW201333701 A TW 201333701A
- Authority
- TW
- Taiwan
- Prior art keywords
- password
- user
- digest
- host system
- identification code
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2105—Dual mode as a secondary aspect
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本發明提出一種用於保護儲存於可複寫式非揮發性記憶體模組之資料的資料保護方法、記憶體控制器與儲存裝置,其中此可複寫式非揮發性記憶體模組具有第一與第二儲存區。本方法包括提供預設配置資訊,以回應來自於主機系統的開機指令,其中根據此預設配置資訊主機系統無法識別第二儲存區。本方法也包括當從主機系統中接收使用者識別碼與使用者密碼通過密碼驗證程序時,要求主機系統重新開機並且在主機系統重新啟動後,重新提供第一配置資訊給主機系統,其中主機系統根據第一配置資訊可識別第二儲存區。基此,本方法可有效地保護所儲存的資料。
Description
本發明是有關於一種資料保護方法及使用此方法的記憶體控制器與記憶體儲存裝置。
由於可複寫式非揮發性記憶體(rewritable non-volatile memory)具有資料非揮發性、省電、體積小、無機械結構、讀寫速度快等特性,因此,近年可複寫式非揮發性記憶體產業成為電子產業中相當熱門的一環。例如,以快閃記憶體作為儲存媒體的固態硬碟已廣泛應用作為電腦主機的硬碟,以提升電腦的存取效能。
當電腦進行開機時,基本輸入/輸出系統(Basic Input Output System,BIOS)軟體會檢查系統元件以及所連接之裝置,例如鍵盤、滑鼠、光碟機或儲存裝置等等。為了保護電腦中之資料(例如,儲存於儲存裝置中的資料)的安全,使用者會啟動BIOS的密碼保護功能,以使未經授權者在開啟電腦時BIOS無法完成啟動流程,造成電腦無法順利開機。然而,未經授權者仍可將儲存裝置連接至另一個未開啟BIOS密碼保護之電腦主機來讀取儲存裝置中的資料。
因此,提出有效保護儲存裝置中之資料的方法是有其必要的。
有鑑於此,本發明提供一種資料保護方法,其能夠有效地保護儲存於可複寫式非揮發性記憶體模組中的資料。
此外,本發明提供一種記憶體控制器,其能夠有效地保護儲存於可複寫式非揮發性記憶體模組中的資料。
再者,本發明提出一種記憶體儲存裝置,能夠有效地保護所儲存的資料。
本發明一範例實施例提出一種資料保護方法,用於可複寫式非揮發性記憶體模組,此可複寫式非揮發性記憶體模組具有第一儲存區與第二儲存區。本資料保護方法包括提供預設配置資訊與儲存於第一儲存區中的預啟動碼,以回應來自於主機系統的開機指令,其中根據此預設配置資訊主機系統無法識別第二儲存區並且預啟動碼被執行於主機系統中。本資料保護方法也包括從主機系統接收使用者識別碼與使用者密碼,判斷所接收之使用者識別碼與使用者密碼是否分別地相同於第一識別碼與第一密碼。本資料保護方法更包括,倘若所接收之使用者識別碼與使用者密碼分別地相同於第一識別碼與第一密碼時,傳送重新開機指令來指示主機系統重新啟動並且在主機系統重新啟動後,重新提供第一配置資訊給主機系統,其中主機系統根據第一配置資訊識別第二儲存區與存取儲存於第二儲存區中的資料。
在本發明之一實施例中,上述之提供預設配置資訊與儲存於第一儲存區中的預啟動碼,以回應來自於主機系統的開機指令步驟包括:從第一儲存區讀取已加密預啟動碼;使用預設開機金鑰解密已加密預啟動碼以獲得預啟動碼;以及將預啟動碼傳送給主機系統。
在本發明之一實施例中,上述之從主機系統接收使用者識別碼與使用者密碼的步驟包括:從主機系統中接收已加密使用資料;以及解密此已加密使用者資料以獲取使用者識別碼與使用者密碼。
在本發明之一實施例中,上述之資料保護方法更包括:根據第一單向雜湊函數產生對應第一識別碼的第一識別碼摘要(digest);根據第二單向雜湊函數產生對應第一密碼的第一密碼摘要;使用第一密碼加密第一金鑰來產生第一密文;以及將第一識別碼摘要、第一密碼摘要與第一密文儲存至可複寫式非揮發性記憶體模組的保密區。
在本發明之一實施例中,上述之判斷使用者識別碼與使用者密碼是否分別地相同於第一識別碼與第一密碼的步驟包括:根據第一單向雜湊函數產生對應使用者識別碼的使用者識別碼摘要;根據第二單向雜湊函數產生對應使用者密碼的使用者密碼摘要;從可複寫式非揮發性記憶體模組的保密區中讀取第一識別碼摘要與第一密碼摘要;判斷使用者識別碼摘要與使用者密碼摘要是否相同於第一識別碼摘要與第一密碼摘要;倘若使用者識別碼摘要與使用者密碼摘要分別地相同於第一識別碼摘要與第一密碼摘要時,識別使用者識別碼與使用者密碼分別地相同於第一識別碼與第一密碼;倘若使用者識別碼摘要不同於第一識別碼摘要時,輸出識別碼錯誤訊息;以及倘若使用者密碼摘要不同於第一密碼摘要時,輸出密碼錯誤訊息。
在本發明之一實施例中,上述之資料保護方法更包括:倘若使用者識別碼摘要與使用者密碼摘要分別地相同於第一識別碼摘要與第一密碼摘要時,使用使用者密碼解密第一密文以獲取第一金鑰;以及使用第一金鑰解密從第二儲存區中所讀取的資料。
在本發明之一實施例中,上述之可複寫式非揮發性記憶體模組更具有第三儲存區,並且根據預設配置資訊主機系統無法識別第三儲存區。
在本發明之一實施例中,上述之資料保護方法更包括:判斷使用者識別碼與使用者密碼是否分別地相同於第二識別碼與第二密碼;以及倘若使用者識別碼與使用者密碼分別地相同於第二識別碼與第二密碼時,傳送重新開機指令來指示主機系統重新啟動並且在主機系統重新啟動後,重新提供第二配置資訊給主機系統,其中主機系統根據第二配置資訊識別第三儲存區。
在本發明之一實施例中,上述之使用者識別碼與使用者密碼是透過執行於主機系統的預啟動碼來輸入。
此外,本發明一範例實施例提出一種記憶體控制器,用於控制可複寫式非揮發性記憶體模組。本記憶體控制器包括主機介面、記憶體介面與記憶體管理電路。主機介面,用以耦接至主機系統。記憶體介面用以耦接至可複寫式非揮發性記憶體模組,其中可複寫式非揮發性記憶體模組具有第一儲存區與第二儲存區。記憶體管理電路耦接至主機介面與記憶體介面,且用以提供預設配置資訊與儲存於該第一儲存區中的預啟動碼,以回應來自於主機系統的開機指令,其中根據預設配置資訊主機系統無法識別第二儲存區並且預啟動碼被執行於主機系統中。此外,記憶體管理電路更用以從主機系統中接收使用者識別碼與使用者密碼,並且判斷使用者識別碼與使用者密碼是否分別地相同於第一識別碼與第一密碼。倘若使用者識別碼與使用者密碼分別地相同於第一識別碼與第一密碼時,被執行的預啟動碼傳送重新開機指令來指示主機系統重新啟動並且在主機系統重新啟動後,重新提供第一配置資訊給主機系統,其中主機系統根據第一配置資訊識別第二儲存區與存取儲存於第二儲存區中的資料。
在本發明之一實施例中,上述之記憶體管理電路從第一儲存區讀取已加密預啟動碼,使用預設開機金鑰解密此已加密預啟動碼以獲得預啟動碼,並且將預啟動碼傳送給主機系統。
在本發明之一實施例中,上述之記憶體管理電路該主機系統中接收已加密使用資料並且解密此已加密使用者資料以獲取使用者識別碼與使用者密碼。
在本發明之一實施例中,上述之記憶體管理電路透過第一單向雜湊函數運算單元產生對應第一識別碼的第一識別碼摘要,透過第二單向雜湊函數運算單元產生對應第一密碼的第一密碼摘要,使用第一密碼加密第一金鑰來產生第一密文,並且將第一識別碼摘要、第一密碼摘要與第一密文儲存至可複寫式非揮發性記憶體模組的保密區中。
在本發明之一實施例中,上述之記憶體管理電路透過第一單向雜湊函數運算單元產生對應使用者識別碼的使用者識別碼摘要,透過第二單向雜湊函數運算單元產生對應使用者密碼的使用者密碼摘要,從可複寫式非揮發性記憶體模組的保密區中讀取第一識別碼摘要與第一密碼摘要,並且判斷使用者識別碼摘要與使用者密碼摘要是否相同於第一識別碼摘要與第一密碼摘要。倘若使用者識別碼摘要與使用者密碼摘要相同於第一識別碼摘要與第一密碼摘要時,記憶體管理電路識別使用者識別碼與使用者密碼分別地相同於第一識別碼與第一密碼。倘若使用者識別碼摘要不同於第一識別碼摘要時,記憶體管理電路輸出識別碼錯誤訊息;並且倘若使用者密碼摘要不同於第一密碼摘要時,記憶體管理電路輸出密碼錯誤訊息。
在本發明之一實施例中,倘若使用者識別碼摘要與使用者密碼摘要分別地相同於第一識別碼摘要與第一密碼摘要時,記憶體管理電路更使用使用者密碼解密第一密文以獲取第一金鑰。在此,記憶體管理電路使用第一金鑰解密從第二儲存區中所讀取的資料。
在本發明之一實施例中,上述之可複寫式非揮發性記憶體模組更具有第三儲存區,並且根據預設配置資訊主機系統無法識別第三儲存區。上述之記憶體管理電路判斷上述之使用者識別碼與使用者密碼是否分別地相同於第二識別碼與第二密碼。倘若使用者識別碼與使用者密碼分別地相同於第二識別碼與第二密碼時,被執行的預啟動碼傳送重新開機指令來指示主機系統重新啟動並且在主機系統重新啟動後,重新提供第二配置資訊給該主機系統,其中主機系統根據第二配置資訊識別第三儲存區。
在本發明之一實施例中,執行於主機系統的預啟動碼會顯示輸入介面以要求使用者輸入使用者識別碼與使用者密碼並且傳送使用者識別碼與使用者密碼給記憶體管理電路。
再者,本發明一範例實施例提出一種記憶體儲存裝置,其包括連接器、可複寫式非揮發性記憶體模組與記憶體控制器。連接器用以耦接至主機系統。可複寫式非揮發性記憶體模組具有第一儲存區與第二儲存區。記憶體控制器耦接至連接器與可複寫式非揮發性記憶體模組,且用以提供預設配置資訊與儲存於該第一儲存區中的預啟動碼,以回應來自於主機系統的開機指令,其中根據預設配置資訊主機系統無法識別第二儲存區並且預啟動碼被執行於主機系統中。此外,記憶體控制器更用以從主機系統中接收使用者識別碼與使用者密碼,並且判斷使用者識別碼與使用者密碼是否分別地相同於第一識別碼與第一密碼。倘若使用者識別碼與使用者密碼分別地相同於第一識別碼與第一密碼時,被執行的預啟動碼傳送重新開機指令來指示主機系統重新啟動並且在主機系統重新啟動後,重新提供第一配置資訊給主機系統,其中主機系統根據第一配置資訊識別第二儲存區與存取儲存於第二儲存區中的資料。
在本發明之一實施例中,上述之記憶體控制器從第一儲存區讀取已加密預啟動碼,使用預設開機金鑰解密此已加密預啟動碼以獲得預啟動碼,並且將預啟動碼傳送給主機系統。
在本發明之一實施例中,上述之記憶體控制器該主機系統中接收已加密使用資料並且解密此已加密使用者資料以獲取使用者識別碼與使用者密碼。
在本發明之一實施例中,上述之記憶體控制器透過第一單向雜湊函數運算單元產生對應第一識別碼的第一識別碼摘要,透過第二單向雜湊函數運算單元產生對應第一密碼的第一密碼摘要,使用第一密碼加密第一金鑰來產生第一密文,並且將第一識別碼摘要、第一密碼摘要與第一密文儲存至可複寫式非揮發性記憶體模組的保密區中。
在本發明之一實施例中,上述之記憶體控制器透過第一單向雜湊函數運算單元產生對應使用者識別碼的使用者識別碼摘要,透過第二單向雜湊函數運算單元產生對應使用者密碼的使用者密碼摘要,從可複寫式非揮發性記憶體模組的保密區中讀取第一識別碼摘要與第一密碼摘要,並且判斷使用者識別碼摘要與使用者密碼摘要是否相同於第一識別碼摘要與第一密碼摘要。倘若使用者識別碼摘要與使用者密碼摘要相同於第一識別碼摘要與第一密碼摘要時,記憶體控制器識別使用者識別碼與使用者密碼分別地相同於第一識別碼與第一密碼。倘若使用者識別碼摘要不同於第一識別碼摘要時,記憶體控制器輸出識別碼錯誤訊息;並且倘若使用者密碼摘要不同於第一密碼摘要時,記憶體控制器輸出密碼錯誤訊息。
在本發明之一實施例中,倘若使用者識別碼摘要與使用者密碼摘要分別地相同於第一識別碼摘要與第一密碼摘要時,記憶體控制器更使用使用者密碼解密第一密文以獲取第一金鑰。在此,記憶體控制器使用第一金鑰解密從第二儲存區中所讀取的資料。
在本發明之一實施例中,上述之可複寫式非揮發性記憶體模組更具有第三儲存區,並且根據預設配置資訊主機系統無法識別第三儲存區。上述之記憶體控制器判斷上述之使用者識別碼與使用者密碼是否分別地相同於第二識別碼與第二密碼。倘若使用者識別碼與使用者密碼分別地相同於第二識別碼與第二密碼時,被執行的預啟動碼傳送重新開機指令來指示主機系統重新啟動並且在主機系統重新啟動後,重新提供第二配置資訊給該主機系統,其中主機系統根據第二配置資訊識別第三儲存區。
在本發明之一實施例中,執行於主機系統的預啟動碼會顯示輸入介面以要求使用者輸入使用者識別碼與使用者密碼並且傳送使用者識別碼與使用者密碼給記憶體控制器。
基於上述,本發明範例實施例的記憶體儲存裝置、記憶體控制器與資料保護方法能夠有效地保護所儲存的資料,以避免未經授權的存取。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
[第一範例實施例]
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組與控制器(亦稱,控制電路)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖1是根據第一範例實施例所繪示的主機系統與記憶體儲存裝置。
請參照圖1,主機系統1000一般包括電腦1100與輸入/輸出(input/output,I/O)裝置1106。電腦1100包括微處理器1102、隨機存取記憶體(random access memory,RAM)1104、系統匯流排1108與資料傳輸介面1110。輸入/輸出裝置1106包括如圖2的滑鼠1202、鍵盤1204、顯示器1206與印表機1208。必須瞭解的是,圖2所示的裝置非限制輸入/輸出裝置1106,輸入/輸出裝置1106可更包括其他裝置。
在本發明實施例中,記憶體儲存裝置100是透過資料傳輸介面1110與主機系統1000的其他元件耦接。藉由微處理器1102、隨機存取記憶體1104與輸入/輸出裝置1106的運作可將資料寫入至記憶體儲存裝置100或從記憶體儲存裝置100中讀取資料。例如,記憶體儲存裝置100是如圖1B所示的固態硬碟(Solid State Drive,SSD)1216。
圖3A是根據第一範例實施例所繪示之記憶體儲存裝置的概要方塊圖。
請參照圖3A,記憶體儲存裝置100包括連接器102、記憶體控制器104與可複寫式非揮發性記憶體模組106。
在本範例實施例中,連接器102是相容於序列先進附件(Serial Advanced Technology Attachment,SATA)標準。然而,必須瞭解的是,本發明不限於此,連接器102亦可以是符合電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,IEEE) 1394標準、高速周邊零件連接介面(Peripheral Component Interconnect Express,PCI Express)標準、平行先進附件(Parallel Advanced Technology Attachment,PATA)標準、通用序列匯流排(Universal Serial Bus,USB)標準、整合式驅動電子介面(Integrated Device Electronics,IDE)標準或其他適合的標準。
記憶體控制器104用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並且根據主機系統1000的指令在可複寫式非揮發性記憶體模組106中進行資料的寫入、讀取、抹除與合併等運作。
可複寫式非揮發性記憶體模組106是耦接至記憶體控制器104,並且具有多個實體區塊以儲存主機系統1000所寫入之資料。在本範例實施例中,每一實體區塊分別具有複數個實體頁面,其中屬於同一個實體區塊之實體頁面可被獨立地寫入且被同時地抹除。例如,每一實體區塊是由128個實體頁面所組成,並且每一實體頁面的容量為4千位元組(Kilobyte,KB)。然而,必須瞭解的是,本發明不限於此,每一實體區塊是可由64個實體頁面、256個實體頁面或其他任意個實體頁面所組成。
更詳細來說,實體區塊為抹除之最小單位。亦即,每一實體區塊含有最小數目之一併被抹除之記憶胞。實體頁面為程式化的最小單元。即,實體頁面為寫入資料的最小單元。然而,必須瞭解的是,在本發明另一範例實施例中,寫入資料的最小單位亦可以是實體扇區或其他大小。每一實體頁面通常包括資料位元區與冗餘位元區。資料位元區用以儲存使用者的資料,而冗餘位元區用以儲存系統的資料(例如,錯誤檢查與校正碼)。
在本範例實施例中,可複寫式非揮發性記憶體模組106為多階記憶胞(Multi Level Cell,MLC)NAND快閃記憶體模組。然而,本發明不限於此,可複寫式非揮發性記憶體模組106亦可是單階記憶胞(Single Level Cell,SLC)NAND快閃記憶體模組、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
圖3B是根據第一範例實施例所繪示之記憶體控制器的概要方塊圖。
請參照圖3B,記憶體控制器104包括記憶體管理電路202、主機介面204、記憶體介面206、緩衝記憶體208、電源管理電路210與錯誤檢查與校正電路212。
記憶體管理電路202用以控制記憶體控制器104的整體運作。具體來說,記憶體管理電路202具有多個控制指令,並且在記憶體儲存裝置100被電源開機(power on)時,此些控制指令會被執行以控制記憶體控制器104的整體運作。
在本範例實施例中,記憶體管理電路202的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組106的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。此外,記憶體管理電路202具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。當記憶體控制器104被致能時,微處理器單元會將儲存於可複寫式非揮發性記憶體模組106中之控制指令載入至記憶體管理電路202的隨機存取記憶體中。之後,微處理器單元會運轉此些控制指令。
在本發明另一範例實施例中,記憶體管理電路202的控制指令是以韌體型式來實作。例如,記憶體管理電路202具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置100運作時,此些控制指令會由微處理器單元來執行。
此外,在本發明另一範例實施例中,記憶體管理電路202的控制指令亦可以一硬體型式來實作。例如,記憶體管理電路202包括微控制器、記憶體管理單元、記憶體寫入單元、記憶體讀取單元、記憶體抹除單元與資料處理單元。記憶體管理單元、記憶體寫入單元、記憶體讀取單元、記憶體抹除單元與資料處理單元是耦接至微控制器。其中,記憶體管理單元用以管理可複寫式非揮發性記憶體模組106的實體區塊;記憶體寫入單元用以對可複寫式非揮發性記憶體模組106下達寫入指令以將資料寫入至可複寫式非揮發性記憶體模組106中;記憶體讀取單元用以對可複寫式非揮發性記憶體模組106下達讀取指令以從可複寫式非揮發性記憶體模組106中讀取資料;記憶體抹除單元用以對可複寫式非揮發性記憶體模組106下達抹除指令以將資料從可複寫式非揮發性記憶體模組106中抹除;而資料處理單元用以處理欲寫入至可複寫式非揮發性記憶體模組106的資料以及從可複寫式非揮發性記憶體模組106中讀取的資料。
主機介面204是耦接至記憶體管理電路202並且用以接收與識別主機系統1000所傳送的指令與資料。也就是說,主機系統1000所傳送的指令與資料會透過主機介面204來傳送至記憶體管理電路202。在本範例實施例中,主機介面204為符合SATA標準的介面。然而,必須瞭解的是本發明不限於此,主機介面204亦可以是符合PATA標準、IEEE 1394標準、PCI Express標準、USB標準、IDE標準或其他標準的介面。
記憶體介面206是耦接至記憶體管理電路202並且用以存取可複寫式非揮發性記憶體模組106。也就是說,欲寫入至可複寫式非揮發性記憶體模組106的資料會經由記憶體介面206轉換為可複寫式非揮發性記憶體模組106所能接受的格式。
緩衝記憶體208是耦接至記憶體管理電路202並且用以暫存來自於主機系統1000的資料與指令或來自於可複寫式非揮發性記憶體模組106的資料。
電源管理電路210是耦接至記憶體管理電路202並且用以控制記憶體儲存裝置100的電源。
錯誤檢查與校正電路212是耦接至記憶體管理電路202並且用以執行錯誤檢查與校正程序以確保資料的正確性。具體來說,當記憶體管理電路202從主機系統1000中接收到寫入指令時,錯誤檢查與校正電路256會為對應此寫入指令的資料產生對應的錯誤檢查與校正碼(Error Checking and Correcting Code,ECC Code),並且記憶體管理電路202會將對應此寫入指令的資料與對應的錯誤檢查與校正碼寫入至可複寫式非揮發性記憶體模組106中。之後,當記憶體管理電路202從可複寫式非揮發性記憶體模組106中讀取資料時會同時讀取此資料對應的錯誤檢查與校正碼,並且錯誤檢查與校正電路256會依據此錯誤檢查與校正碼對所讀取的資料執行錯誤檢查與校正程序。
圖4A與圖4B是根據第一範例實施例所繪示管理可複寫式非揮發性記憶體模組之實體區塊的示意圖。
請參照圖4A,可複寫式非揮發性記憶體模組106具有實體區塊410(0)~410(N),並且記憶體控制器104的記憶體管理電路202會將實體區塊410(0)~410-(N)邏輯地分組為資料區(data area)502、閒置區(spare area)504、系統區(system area)506與取代區(replacement area)508。
邏輯上屬於資料區502與閒置區504的實體區塊是用以儲存來自於主機系統1000的資料。具體來說,資料區502的實體區塊(亦稱為資料實體區塊)是被視為已儲存資料的實體區塊,而閒置區504的實體區塊(亦稱為閒置實體區塊)是用以寫入新資料的實體區塊。例如,當從主機系統1000接收到寫入指令與欲寫入之資料時,記憶體管理電路202會從閒置區504中提取實體區塊作為替換實體區塊,並且將資料寫入至此替換實體區塊中。再例如,當對某一邏輯區塊執行資料合併程序時,記憶體管理電路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會維護邏輯區塊-實體區塊映射表(logical block-physical block mapping table)以記錄邏輯區塊610(0)~610(H)與資料區502的實體區塊之間的映射關係。例如,當主機系統1000欲存取某一邏輯存取位址時,記憶體管理電路202會將主機系統1000所存取的邏輯存取位址轉換為以對應的邏輯區塊與邏輯頁面所構成的多維位址,並且透過邏輯區塊-實體區塊映射表於對應的實體頁面中存取資料。
圖5是根據第一範例實施例所繪示之管理邏輯區塊的範例示意圖。
請參照圖5,記憶體管理電路202會將邏輯區塊610(0)~610(H)劃分為第一儲存區552與第二儲存區554。例如,邏輯區塊610(0)~610(D)屬於第一儲存區552並且邏輯區塊610(D+1)~610(H)屬於第二儲存區554。
第一儲存區552用以儲存記憶體儲存裝置100的製造商所開發的應用程式。在本範例實施例中,第一儲存區552儲存有預啟動碼(pre-boot code)並且主機系統1000在未通過驗證時,僅能識別與存取第一儲存區552。在此,第一儲存區552亦稱為預啟動區552。具體來說,每當主機系統1000啟動時,主機系統1000的基本輸入/輸出系統(BIOS)會透過交握(handshaking)程序來識別記憶體儲存裝置100。在交握程序中,記憶體管理電路202會將預設配置資訊與儲存於第一儲存區552中的預啟動碼傳送給主機系統1000。基此,主機系統1000可根據所接收的預設配置資訊來識別記憶體儲存裝置100的屬性。例如,透過所接收的預設配置資訊,主機系統1000可獲知記憶體儲存裝置100的類別為大容量儲存類別、記憶體儲存裝置100的容量為對應邏輯區塊610(0)~610(D)的容量等資訊。特別是,根據此預設配置資訊,主機系統1000能識別第一儲存區552,但無法識別第二儲存區554。也就是說,主機系統1000根據預設配置資訊僅會將邏輯存取位址映射至邏輯區塊610(0)~610(D)來存取第一儲存區552中所儲存的資料(例如,執行第一儲存區552中所儲存的預啟動碼),但無法獲知記憶體儲存裝置100存有第二儲存區554。在本範例實施例中,當此預啟動碼被主機系統1000執行時,包含在預啟動碼內的密碼驗證程式會被執行,以要求主機系統1000的使用者輸入使用者識別碼與使用者密碼,以進行身份驗證。詳細的密碼驗證機制,將於以下配合圖式作詳細的說明。在本範例實施例中,記憶體管理電路202會將第一儲存區552的儲存屬性初始地設定為唯讀狀態,以避免使用者誤刪除儲存於第一儲存區552的資料或程式。然而,本發明不限於此,第一儲存區552的儲存屬性亦可被設定為可讀寫狀態。
此外,在本發明一範例實施例中,第一儲存區552中所儲存的資料會以預設開機金鑰來加密,並且在未通過密碼驗證之前記憶體管理電路202會使用預設開機金鑰來解密從第一儲存區552中所讀取的資料(即,已加密預啟動碼)。例如,預設開機金鑰是被儲存在記憶體控制器104的唯讀記憶體(未繪示)中。
第二儲存區554為提供給使用者儲存資料的分割區。特別是,在本範例實施例中,在通過密碼驗證之後,記憶體管理電路202才會將第二儲存區554設定為可被主機系統1000存取的儲存區。具體來說,當主機系統1000根據預設配置資訊識別記憶體儲存裝置100且執行記憶體儲存裝置100所傳送之預啟動碼後,密碼驗證程序會被啟動。在主機系統1000通過密碼驗證程序後,包含在預啟動碼內的密碼驗證程式602會傳送一重新開機指令給主機系統1000。特別是,在主機系統1000重新啟動BIOS來與記憶體儲存裝置100進行交握程序時,記憶體管理電路202會傳送新的配置資訊(以下稱為第一配置資訊)給主機系統1000,並且透過第一配置資訊,主機系統1000會重新識別記憶體儲存裝置100的容量為對應邏輯區塊610(D+1)~610(H)的容量等資訊。例如,主機系統1000根據第一配置資訊會將邏輯存取位址映射至邏輯區塊610(D+1)~610(H),由此識別第二儲存區554並且在第二儲存區554中存取資料。
例如,記憶體管理電路202會在緩衝記憶體208中儲存一個旗標,並且根據此旗標來識別在進行交握程序時主機系統1000是否已通過密碼驗證程序。具體來說,由於主機系統1000根據重新開機指令進行重新啟動時,記憶體儲存裝置100仍處於運作狀態,因此,儲存於緩衝記憶體208中的旗標不會遺失並且記憶體管理電路202可根據此旗標識別主機系統1000已通過密碼驗證程序。更進一步來說,倘若主機系統1000被關機後再重新啟動時,由於在關機後記憶體儲存裝置100處於非運作狀態,因此,儲存於緩衝記憶體208中的旗標會遺失並且在主機系統1000於關機後再重新啟動時,包含在預啟動碼內的密碼驗證程式602會再次要求主機系統1000進行密碼驗證程序。
必須瞭解的是,儘管在本範例實施例中,記憶體管理電路202是將邏輯區塊劃分為2個分割區來管理。然而,本發明不限於此。在本發明另一範例實施例中,記憶體管理電路202可將邏輯區塊劃分為更多儲存區。
圖6是根據第一範例實施例所繪示之執行密碼驗證程序的示意圖。
請參照圖6,如上所述,主機系統1000必須通過密碼驗證才能存取第二儲存區554。例如,記憶體儲存裝置100於生產時一組預設使用者識別碼與使用者密碼會初始地被設定並且此預設使用者識別碼與使用者密碼會經過編碼被儲存於保密區690中。此外,主機系統1000的使用者可以預設使用者識別碼與使用者密碼來完成密碼驗證程序後透過執行於主機系統1000之密碼驗證程式602的介面來重新設定使用者識別碼與使用者密碼。
具體來說,預設使用者識別碼或使用者重新建立之使用者識別碼(以下稱為第一識別碼)會經過第一單向雜湊函數運算單元612被編碼以產生第一識別碼摘要(digest)AIDD並且第一識別碼摘要AIDD會被儲存於保密區690中。此外,預設使用者密碼或使用者重新建立之使用者密碼(以下稱為第一密碼)會經過第二單向雜湊函數運算單元614被編碼以產生第一密碼摘要APWD並且第一密碼摘要APWD會被儲存於保密區690中。在本範例實施例中,第一單向雜湊函數運算單元612是根據第一單向雜湊函數來實作且第二單向雜湊函數運算單元614是根據第二單向雜湊函數來實作。在本範例實施例中,第一單向雜湊函數與第二單向雜湊函數為SHA-512。然而,必須瞭解的是,本發明不限於此,在本發明另一實施例中,第一單向雜湊函數與第二單向雜湊函數亦可以是其他雜湊函數,例如,MD5、RIPEMD-160、SHA1、SHA-386、SHA-256或其他適合的函數。此外,在本發明另一範例實施例中,第一單向雜湊函數運算單元612與第二單向雜湊函數運算單元614所使用之單向雜湊函數亦可不同。
值得一提的是,在本範例實施例中,第一金鑰AK會經過第一加密/解密單元620以第一密碼來加密以產生第一密文AC並且第一密文AC會被儲存於保密區690中。在此,第一金鑰是用以加密欲儲存至第二儲存區554的資料以及解密從第二儲存區554中所讀取的資料。
在本範例實施例中,第一加密/解密單元620是以先進加密標準(Advanced Encryption Standard,AES)來實作,但本發明不限於此。例如,亦可使用資料加密標準(Data Encryption Standard,DES)來實作第一加密/解密單元620。
在本範例實施例中,保密區690可以是配置在可複寫式非揮發性記憶體模組106中。例如,記憶體管理電路202可將可複寫式非揮發性記憶體模組106的實體區塊的一部份劃分為保密區690或者將系統區506中的部分儲存空間作為保密區690。或者,額外的非揮發性記憶體模組可被配置在記憶體控制器104中作為保密區690。
在主機系統1000接收到預設配置資訊且執行預啟動碼中的密碼驗證程式602後,密碼驗證程式602會在主機系統1000的輸出裝置上顯示輸入介面以要求使用者輸入使用者識別碼與使用者密碼。例如,輸入介面包括供使用者進行輸入的識別碼欄位與密碼欄位。然後,密碼驗證程式602會將所接收之使用者識別碼UID與使用者密碼UPW加密以產生已加密使用者資料EUD並將已加密使用者資料EUD傳送至記憶體儲存裝置100。例如,在本範例實施例中,密碼驗證程式602會以記憶體控制器104的識別碼作為密鑰並且以先進加密標準函數來加密使用者識別碼UID與使用者密碼UPW,但本發明不限於此。例如,亦可使用資料加密標準來加密使用者識別碼UID與使用者密碼UPW。
當接收到已加密使用者資料EUD時,記憶體管理電路202會對所接收到的已加密使用者資料EUD進行解密以獲取使用者識別碼UID與使用者密碼UPW。例如,記憶體管理電路202會透過解密單元604使用記憶體控制器104的識別碼來解密已加密使用者資料EUD。在此,解密單元604是以相同於密碼驗證程式602所使用之先進加密標準來實作。
接著,記憶體管理電路202會透過第一單向雜湊函數運算單元612來編碼使用者識別碼UID以獲取使用者識別碼摘要UIDD。此外,記憶體管理電路202亦會透過第二單向雜湊函數運算單元614來編碼使用者密碼UPW以獲取使用者密碼摘要UPWD。
在本範例實施例中,記憶體管理電路202會從保密區690讀取第一識別碼摘要AIDD並且透過第一比對單元622判斷使用者識別碼摘要UIDD是否相同於所讀取之第一識別碼摘要AIDD。倘若使用者識別碼摘要UIDD不相同於所讀取之第一識別碼摘要AIDD時,記憶體管理電路202會輸出識別碼錯誤訊息給主機系統1000。
倘若使用者識別碼摘要UIDD相同於所讀取之第一識別碼摘要AIDD時,記憶體管理電路202會從保密區690讀取第一密碼摘要APWD並且透過第二比對單元624判斷使用者密碼摘要UPWD是否相同於所讀取之第一密碼摘要APWD。倘若使用者密碼摘要UPWD不相同於所讀取之第一密碼摘要APWD時,記憶體管理電路202會輸出密碼錯誤訊息給主機系統1000。
倘若使用者密碼摘要UPWD相同於所讀取之第一密碼摘要APWD時,記憶體管理電路202會透過第一加密/解密單元620以使用者密碼UPW來解密第一密文AC以獲取第一金鑰AK並且包含在預啟動碼內的密碼驗證程式602會傳送請求重新啟動的重新開機指令給主機系統1000。
之後,在主機系統1000重新啟動後,記憶體管理電路202會傳送第一配置資訊給主機系統1000,由此主機系統1000可根據第一配置資訊存取第二儲存區554中的資料。在本範例實施例中,第二儲存區554僅於主機系統1000通過密碼驗證程序後才能被存取,因此,資料的安全性可被確保。此外,在本範例實施例中,資料寫入至第二儲存區554之前,記憶體管理電路202會透過第二加密/解密單元640以第一金鑰AK加密資料,並且記憶體管理電路202會在將從第二儲存區554中所讀取之資料傳送給主機系統1000之前會透過第二加密/解密單元640以第一金鑰AK解密資料。必須瞭解的是,在本範例實施中,通過密碼驗證程序後才能存取第二儲存區554,已可達到資料保護的目的,將資料以第一金鑰AK加/解密的機制是可更提升資料的安全性,但本發明不限於此。也就是說,在另一範例實施例中,第一加密/解密單元620與第二加密/解密單元640以及產生第一密文AC與在保密區690儲存第一密文AC的功能亦可省略。
圖7是根據第一範例實施例所繪示之資料保護方法的流程圖。
請參照圖7,在步驟S701,主機系統1000啟動以執行BIOS並且BIOS會將初始化指令(即,開機指令)傳送至記憶體儲存裝置100。之後,在步驟S703中,記憶體控制器104會傳送預設配置資訊與預啟動碼給主機系統1000,以回應此開機指令。特別是,如上所述,主機系統1000根據預設配置資訊將邏輯存取位址映射至第一儲存區552的邏輯區塊,無法識別第二儲存區554。
在步驟S705中,主機系統1000會依據預設配置資訊識別記憶體儲存裝置100並且執行預啟動碼,並且在步驟S707中,使用者識別碼與使用者密碼會被要求輸入且記憶體控制器104會從主機系統1000中接收此使用者識別碼與使用者密碼。例如,在步驟S707中,密碼驗證程式602會加密使用者識別碼與使用者密碼並且將已加密的使用者識別碼與使用者密碼傳送給記憶體控制器104。
在步驟S709中,記憶體控制器104會判斷使用者識別碼是否相同於第一識別碼。具體來說,在步驟S709中,記憶體控制器104會藉由比對對應使用者識別碼的使用者識別碼摘要與儲存於保密區690的第一識別碼摘要來判斷使用者識別碼是否相同於第一識別碼。判斷識別碼是否相同的機制已配合圖6說明如前,在此不再重複描述。
倘若使用者識別碼不相同於第一識別碼時,在步驟S711中,記憶體控制器104會輸出識別碼錯誤訊息給主機系統1000並且步驟S707會被執行。
倘若使用者識別碼相同於第一識別碼時,在步驟S713中,記憶體控制器104會判斷使用者密碼是否相同於第一密碼。類似地,在步驟S713中,記憶體控制器104會藉由比對對應使用者密碼的使用者密碼摘要與儲存於保密區690的第一密碼摘要來判斷使用者密碼是否相同於第一密碼。判斷密碼是否相同的機制已配合圖6說明如前,在此不再重複描述。
倘若使用者密碼不相同於第一密碼時,在步驟S715中,記憶體控制器104會輸出密碼錯誤訊息給主機系統1000,並且步驟S707會被執行。
反之,倘若使用者密碼相同於第一密碼時,在步驟S717中,包含在預啟動碼內的密碼驗證程式602會傳送重新開機指令來指示主機系統1000重新啟動。並且,在步驟S719中,主機系統1000會重新啟動,記憶體控制器104會重新提供第一配置資訊給主機系統1000並且主機系統1000根據第一配置資訊完成開機程序。特別是,如上所述,主機系統1000根據第一配置資訊會將邏輯存取位址映射至第二儲存區554的邏輯區塊。
值得一提的是,在一範例實施例中,在使用者密碼相同於第一密碼的例子中,記憶體控制器104更會以此使用者密碼來解密儲存於保密區690的第一密文以獲得第一金鑰並且使用此第一金鑰來加密欲寫入至第二儲存區554的資料以及解密從第二儲存區554中所讀取的資料。
[第二範例實施例]
第二範例實施例與第一範例實施例的不同之處,在於在第二範例實施例中,邏輯區塊會劃分為給提供給不同使用者使用之多個儲存區並且記憶體儲存裝置會根據主機系統所傳送之使用者識別碼與密碼允許主機系統存取對應的儲存區。第二範例實施例的硬體架構本質上是類似於第一範例實施例,以下將使用第一範例實施例的元件來說明第二範例實施例與第一範例實施例的差異之處。
在第二範例實施例中,資料區502的實體區塊所映射的邏輯區塊610(0)~610(H)可根據主機管理者的規劃劃分為屬於不同使用者的儲存區。以下將以提供給兩個使用者的配置來說明本範例實施例,然而,必須瞭解的是,本發明不限於此。
圖8是根據第二範例實施例所繪示之管理邏輯區塊的範例示意圖。
請參照圖8,記憶體管理電路202會將邏輯區塊610(0)~610(H)劃分為第一儲存區552、第二儲存區554與第三儲存區556。例如,邏輯區塊610(0)~610(D)屬於第一儲存區552、邏輯區塊610(D+1)~610(P)屬於第二儲存區554且邏輯區塊610(P+1)圖示有誤~610(H)屬於第三儲存區556。
相同於第一範例實施例,第一儲存區552用以儲存記憶體儲存裝置100的預啟動碼。第二儲存區554為提供給第一使用者儲存資料的分割區,並且第三儲存區556是提供給第二使用者儲存資料的分割區。在本範例實施例中,在使用對應第一使用者的使用者識別碼與使用者密碼通過密碼驗證之後,記憶體管理電路202會將第二儲存區554設定為可被主機系統1000存取的儲存區;並且在對應第二使用者的使用者識別碼與使用者密碼通過密碼驗證之後,記憶體管理電路202會將第三儲存區556設定為可被主機系統1000存取的儲存區。
具體來說,當根據預設配置資訊識別記憶體儲存裝置100時,主機系統1000能存取第一儲存區552,而無法識別第二儲存區554與第三儲存區556。也就是說,主機系統1000根據預設配置資訊將邏輯存取位址映射至邏輯區塊610(0)~610(D)來存取第一儲存區552中所儲存的資料,但無法獲知記憶體儲存裝置100存有第二儲存區554與第三儲存區556。
倘若在執行密碼驗證過程中,主機系統1000所傳送的識別碼與密碼為對應第一使用者的使用者識別碼與使用者密碼時,包含在預啟動碼內的密碼驗證程式602會傳送重新開機指令給主機系統1000。並且,在該主機系統1000重新啟動基本輸入/輸出系統來與記憶體儲存裝置100進行交握程序時,記憶體管理電路202會傳送第一配置資訊給主機系統1000,由此主機系統1000會根據第一配置資訊重新識別記憶體儲存裝置100的容量為對應邏輯區塊610(D+1)~610(P)的容量等資訊並且將邏輯存取位址映射至邏輯區塊610(D+1)~610(P),由此識別第二儲存區554並且在第二儲存區554中存取資料。
倘若在執行密碼驗證過程中,主機系統1000所傳送的識別碼與密碼為對應第二使用者的使用者識別碼與使用者密碼時,包含在預啟動碼內的密碼驗證程式602會傳送重新開機指令給主機系統1000。並且,在該主機系統1000重新啟動基本輸入/輸出系統來與記憶體儲存裝置100進行交握程序時,記憶體管理電路202會傳送第二配置資訊給主機系統1000,由此主機系統1000會根據第二配置資訊重新識別記憶體儲存裝置100的容量為對應邏輯區塊610(P+1)~610(H)的容量等資訊並且將邏輯存取位址映射至邏輯區塊610(P+1)~610(H),由此識別第三儲存區556並且在第三儲存區556中存取資料。
如上所述,在第二範例實施例中,記憶體管理電路202會根據不同的使用者提供不同的配置資訊給主機系統1000,因此,對應不同之使用者識別碼與使用者密碼的摘要會被儲存於保密區690。例如,保密區690儲存有對應第一使用者所設定或預設給第一使用者之第一識別碼的識別碼摘要(以下稱為第一識別碼摘要)以及對應第一使用者所設定或預設給第一使用者之第一密碼的密碼摘要(以下稱為第一密碼摘要)。例如,第一識別碼摘要是由第一單向雜湊函數運算單元612編碼第一識別碼所產生並且第一密碼摘要是由第二單向雜湊函數運算單元614編碼第一密碼所產生。此外,保密區690亦儲存有對應第二使用者所設定或預設給第二使用者之第二識別碼的識別碼摘要(以下稱為第二識別碼摘要)以及對應第二使用者所設定或預設給第二使用者之第二密碼的密碼摘要(以下稱為第二密碼摘要)。例如,第二識別碼摘要是由第一單向雜湊函數運算單元612編碼第二識別碼所產生並且第二密碼摘要是由第二單向雜湊函數運算單元614編碼第二密碼所產生。基此,記憶體管理電路202可根據記錄於保密區690中的資訊,來識別主機系統1000的使用者。
特別是,在本發明一範例實施例中,保密區690中更儲存有使用第一密碼加密第一金鑰所產生的第一密文以及使用第二密碼加密第二金鑰所產生的第二密文。在此,第一金鑰用以加密欲寫入至第二儲存區554的資料並且第二金鑰用以加密欲寫入至第三儲存區556的資料。
圖9是根據第二範例實施例所繪示之資料保護方法的流程圖。
請參照圖9,在步驟S901,主機系統1000啟動以執行BIOS並且BIOS會將初始化指令(即,開機指令)傳送至記憶體儲存裝置100。之後,在步驟S903中,記憶體控制器104會傳送預設配置資訊與預啟動碼給主機系統1000,以回應此開機指令。特別是,如上所述,主機系統1000根據預設配置資訊僅能夠將邏輯存取位址映射至第一儲存區552,無法識別第二儲存區554與第三儲存區556。
在步驟S905中,主機系統1000會依據預設配置資訊識別記憶體儲存裝置100並且執行預啟動碼,並且在步驟S907中,使用者識別碼與使用者密碼會被要求輸入且記憶體控制器104會從主機系統1000中接收此使用者識別碼與使用者密碼。例如,密碼驗證程式602會加密所輸入之使用者識別碼與使用者密碼以產生已加密使用者資料並且將已加密使用者資料傳送給記憶體儲存裝置100。此外,記憶體管理電路202會透過解密單元604解密所接收的已加密使用者資料,以獲取使用者識別碼與使用者密碼。
在步驟S909中,記憶體管理電路202會透過第一單向雜湊函數運算單元612將使用者識別碼編碼成使用者識別碼摘要並且透過第二單向雜湊函數運算單元614將使用者密碼編碼成使用者密碼摘要。
在步驟S911中,記憶體管理電路202會從保密區690中讀取第一識別碼摘要並且判斷第一識別碼摘要是否相同於使用者識別碼摘要。例如,記憶體管理電路202會透過第一比對單元622判斷第一識別碼摘要是否相同於使用者識別碼摘要。
倘若第一識別碼摘要相同於使用者識別碼摘要時,在步驟S913中,記憶體管理電路202會從保密區690中讀取第一密碼摘要並且判斷第一密碼摘要是否相同於使用者密碼摘要。例如,記憶體管理電路202會透過第二比對單元624判斷第一密碼摘要是否相同於使用者密碼摘要。
倘若第一密碼摘要不相同於使用者密碼摘要時,在步驟S915中,記憶體管理電路202會輸出密碼錯誤訊息給主機系統1000,並且步驟S907會被執行。
倘若第一密碼摘要相同於使用者密碼摘要時,在步驟S917中,包含在預啟動碼內的密碼驗證程式602會傳送重新開機指令來指示主機系統1000重新啟動。並且,在步驟S919中,主機系統1000會重新啟動,記憶體管理電路202會重新提供第一配置資訊給主機系統1000並且主機系統1000根據第一配置資訊完成開機程序。如上所述,主機系統1000根據第一配置資訊會將邏輯存取位址映射至第二儲存區554。特別是,在第二儲存區的資料是以第一金鑰所加密的例子中,記憶體管理電路202會以使用者密碼解密儲存於保密區690中的第一密文,由此獲取第一金鑰,並且以所獲得的第一金鑰來加密欲寫入至第二儲存區554的資料與解密從第二儲存區554中所讀取的資料。例如,記憶體管理電路202會透過第一加密/解密單元620來解密第一密文來獲取第一金鑰,以及透過第二加密/解密單元640來加/解密於第二儲存區554中所存取的資料。
倘若在步驟S911中判斷第一識別碼摘要不相同於使用者識別碼摘要時,在步驟S921中,記憶體管理電路202會從保密區690中讀取第二識別碼摘要並且判斷第二識別碼摘要是否相同於使用者識別碼摘要。例如,記憶體管理電路202會透過第一比對單元622判斷第二識別碼摘要是否相同於使用者識別碼摘要。
倘若第二識別碼摘要相同於使用者識別碼摘要時,在步驟S923中,記憶體管理電路202會從保密區690中讀取第二密碼摘要並且判斷第二密碼摘要是否相同於使用者密碼摘要。例如,記憶體管理電路202會透過第二比對單元624判斷第二密碼摘要是否相同於使用者密碼摘要。
倘若第二密碼摘要不相同於使用者密碼摘要時,步驟S915會被執行。
倘若第二密碼摘要相同於使用者密碼摘要時,在步驟S925中,包含在預啟動碼內的密碼驗證程式602會傳送重新開機指令來指示主機系統1000重新啟動。並且,在步驟S927中,主機系統1000會重新啟動,記憶體管理電路202會重新提供第二配置資訊給主機系統1000並且主機系統1000根據第二配置資訊完成開機程序。如上所述,主機系統1000根據第二配置資訊會將邏輯存取位址映射至第三儲存區556邏輯區塊。特別是,在第三儲存區的資料是以第二金鑰所加密的例子中,記憶體管理電路202會以使用者密碼解密儲存於保密區690中的第二密文,由此獲取第二金鑰,並且以所獲得的第二金鑰來加密欲寫入至第三儲存區556的資料與解密從第三儲存區556中所讀取的資料。例如,記憶體管理電路202會透過第一加密/解密單元620來解密第二密文來獲取第二金鑰,以及透過第二加密/解密單元640來加/解密於第三儲存區556中所存取的資料。
倘若在步驟S921中判斷第二識別碼摘要不相同於使用者識別碼摘要時,在步驟S929中,記憶體管理電路202會輸出識別碼錯誤訊息給主機系統1000並且步驟S907會被執行。
綜上所述,在一範例實施例的記憶體儲存裝置、記憶體控制器與資料保護方法中,當主機系統進行開機程序時,僅能識別開機儲存區並執行預啟動模式以輸入使用者識別碼與密碼,並且當所輸入之使用者識別碼與密碼通過驗證時,對應的使用者儲存區才能夠被識別與存取,由此可有效地保護儲存於使用者儲存區中的資料。此外,在一範例實施例的記憶體儲存裝置、記憶體控制器與資料保護方法中,使用者儲存區更會以金鑰來加密並且當所輸入之使用者識別碼與密碼通過驗證時,所存取的資料才能夠以此金鑰來解密,由此更提升資料的安全性。再者,在上述範例實施例的記憶體儲存裝置、記憶體控制器與資料保護方法中,在通過密碼驗證程序後,主機系統會被要求重新啟動使BIOS來重新識別新的配置資訊,因此,儲存區變更的運作不會產生相容性的問題。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
1000...主機系統
1100...電腦
1102...微處理器
1104...隨機存取記憶體
1106...輸入/輸出裝置
1108...系統匯流排
1110...資料傳輸介面
1202...滑鼠
1204...鍵盤
1206...顯示器
1208...印表機
1216...固態硬碟
100...記憶體儲存裝置
102...連接器
104...記憶體控制器
106...可複寫式非揮發性記憶體模組
202...記憶體管理電路
204...主機介面
206...記憶體介面
208...緩衝記憶體
210...電源管理電路
212...錯誤檢查與校正電路
502...資料區
504...閒置區
506...系統區
508...取代區
410(0)~410(N)...實體區塊
610(0)~610(H)...邏輯區塊
552...第一儲存區
554...第二儲存區
556...第三儲存區
602...密碼驗證程式
604...解密單元
612...第一單向雜湊函數運算單元
614...第二單向雜湊函數運算單元
622...第一比對單元
624...第二比對單元
620...第一加密/解密單元
640...第二加密/解密單元
690...保密區
EUD...已加密使用者資料
UID...使用者識別碼
UPW...使用者密碼
UIDD...使用者識別碼摘要
UPWD...使用者密碼摘要
AIDD...第一識別碼摘要
APWD...第一密碼摘要
AC...第一密文
AK...第一金鑰
S701、S703、S705、S707、S709、S711、S713、S715、S717、S719...資料保護方法的步驟
S901、S903、S905、S907、S909、S911、S913、S915、S917、S919、S921、S923、S925、S927、S929...資料保護方法的步驟
圖1是根據本發明第一範例實施例繪示主機系統與記憶體儲存裝置。
圖2是根據本發明第一範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的示意圖。
圖3A是繪示圖2所示的記憶體儲存裝置的概要方塊圖。
圖3B是根據本發明第一範例實施例所繪示之記憶體控制器的概要方塊圖。
圖4A與圖4B是根據本發明第一範例實施例所繪示管理可複寫式非揮發性記憶體模組之實體區塊的示意圖。
圖5是根據第一範例實施例所繪示之管理邏輯區塊的範例示意圖。
圖6是根據第一範例實施例所繪示之執行密碼驗證程序的示意圖。
圖7是根據第一範例實施例所繪示之資料保護方法的流程圖。
圖8是根據第二範例實施例所繪示之管理邏輯區塊的範例示意圖。
圖9是根據第二範例實施例所繪示之資料保護方法的流程圖。
S701、S703、S705、S707、S709、S711、S713、S715、S717、S719...資料保護方法的步驟
Claims (25)
- 一種資料保護方法,用於一可複寫式非揮發性記憶體模組,該可複寫式非揮發性記憶體模組至少具有一第一儲存區與一第二儲存區,該資料保護方法包括:提供一預設配置資訊與儲存於該第一儲存區中的一預啟動碼,以回應來自於一主機系統的一開機指令,其中根據該預設配置資訊該主機系統無法識別該第二儲存區並且該預啟動碼被執行於該主機系統中;從該主機系統接收一使用者識別碼與一使用者密碼;判斷該使用者識別碼與該使用者密碼是否分別地相同於一第一識別碼與一第一密碼;以及倘若該使用者識別碼與該使用者密碼分別地相同於該第一識別碼與該第一密碼時,傳送一重新開機指令來指示該主機系統重新啟動並且在該主機系統重新啟動後,重新提供一第一配置資訊給該主機系統,其中該主機系統根據該第一配置資訊識別該第二儲存區與存取儲存於該第二儲存區中的資料。
- 如申請專利範圍第1項所述的資料保護方法,其中提供該預設配置資訊與儲存於該第一儲存區中的該預啟動碼,以回應來自於該主機系統的該開機指令的步驟包括:從該第一儲存區讀取一已加密預啟動碼;使用一預設開機金鑰解密該已加密預啟動碼以獲得該預啟動碼;以及將該預啟動碼傳送給該主機系統。
- 如申請專利範圍第1項所述的資料保護方法,其中從該主機系統接收該使用者識別碼與該使用者密碼的步驟包括:從該主機系統中接收一已加密使用資料;以及解密該已加密使用者資料以獲取該使用者識別碼與該使用者密碼。
- 如申請專利範圍第1項所述的資料保護方法,更包括:根據一第一單向雜湊函數產生對應該第一識別碼的一第一識別碼摘要(digest);根據一第二單向雜湊函數產生對應該第一密碼的一第一密碼摘要;使用該第一密碼加密一第一金鑰來產生一第一密文;以及將該第一識別碼摘要、該第一密碼摘要與該第一密文儲存至該可複寫式非揮發性記憶體模組的一保密區。
- 如申請專利範圍第4項所述的資料保護方法,其中判斷該使用者識別碼與該使用者密碼是否分別地相同於該第一識別碼與該第一密碼的步驟包括:根據該第一單向雜湊函數產生對應該使用者識別碼的一使用者識別碼摘要;根據該第二單向雜湊函數產生對應該使用者密碼的一使用者密碼摘要;從該可複寫式非揮發性記憶體模組的該保密區中讀取該第一識別碼摘要與該第一密碼摘要;判斷該使用者識別碼摘要與該使用者密碼摘要是否相同於該第一識別碼摘要與該第一密碼摘要;倘若該使用者識別碼摘要與該使用者密碼摘要分別地相同於該第一識別碼摘要與該第一密碼摘要時,識別該使用者識別碼與該使用者密碼分別地相同於該第一識別碼與該第一密碼;倘若該使用者識別碼摘要不同於該第一識別碼摘要時,輸出一識別碼錯誤訊息;以及倘若該使用者密碼摘要不同於該第一密碼摘要時,輸出一密碼錯誤訊息。
- 如申請專利範圍第5項所述的資料保護方法,更包括:倘若該使用者識別碼摘要與該使用者密碼摘要分別地相同於該第一識別碼摘要與該第一密碼摘要時,使用該使用者密碼解密該第一密文以獲取該第一金鑰;以及使用該第一金鑰解密從該第二儲存區中所讀取的資料。
- 如申請專利範圍第1項所述的資料保護方法,其中該可複寫式非揮發性記憶體模組更具有一第三儲存區,並且根據該預設配置資訊該主機系統無法識別該第三儲存區。
- 如申請專利範圍第7項所述的資料保護方法,更包括:判斷該使用者識別碼與該使用者密碼是否分別地相同於一第二識別碼與一第二密碼;以及倘若該使用者識別碼與該使用者密碼分別地相同於該第二識別碼與該第二密碼時,傳送該重新開機指令來指示該主機系統重新啟動並且在該主機系統重新啟動後,重新提供一第二配置資訊給該主機系統,其中該主機系統根據該第二配置資訊識別該第三儲存區。
- 如申請專利範圍第1項所述的資料保護方法,其中該使用者識別碼與該使用者密碼是透過執行於該主機系統的該預啟動碼來輸入。
- 一種記憶體控制器,用於控制一可複寫式非揮發性記憶體模組,該記憶體控制器包括:一主機介面,用以耦接至一主機系統;一記憶體介面,用以耦接至該可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組至少具有一第一儲存區與一第二儲存區;以及一記憶體管理電路,耦接至該主機介面與該記憶體介面,且用以提供一預設配置資訊與儲存於該第一儲存區中的一預啟動碼,以回應來自於該主機系統的一開機指令,其中根據該預設配置資訊該主機系統無法識別該第二儲存區並且該預啟動碼被執行於該主機系統中,其中該記憶體管理電路更用以從該主機系統接收一使用者識別碼與一使用者密碼,並且判斷該使用者識別碼與該使用者密碼是否分別地相同於一第一識別碼與一第一密碼,其中倘若該使用者識別碼與該使用者密碼分別地相同於該第一識別碼與該第一密碼時,被執行的該預啟動碼傳送一重新開機指令來指示該主機系統重新啟動並且在該主機系統重新啟動後,該記憶體管理電路重新提供一第一配置資訊給該主機系統,其中該主機系統根據該第一配置資訊識別該第二儲存區與存取儲存於該第二儲存區中的資料。
- 如申請專利範圍第10項所述的記憶體控制器,其中該記憶體管理電路從該第一儲存區讀取一已加密預啟動碼,使用一預設開機金鑰解密該已加密預啟動碼以獲得該預啟動碼,並且將該預啟動碼傳送給該主機系統。
- 如申請專利範圍第10項所述的記憶體控制器,其中該記憶體管理電路從該主機系統中接收一已加密使用資料並且解密該已加密使用者資料以獲取該使用者識別碼與該使用者密碼。
- 如申請專利範圍第10項所述的記憶體控制器,其中該記憶體管理電路透過一第一單向雜湊函數運算單元產生對應該第一識別碼的一第一識別碼摘要,透過一第二單向雜湊運算單元產生對應該第一密碼的一第一密碼摘要,使用該第一密碼加密一第一金鑰來產生一第一密文,並且將該第一識別碼摘要、該第一密碼摘要與該第一密文儲存至該可複寫式非揮發性記憶體模組的一保密區。
- 如申請專利範圍第13項所述的記憶體控制器,其中該記憶體管理電路透過該第一單向雜湊函數運算單元產生對應該使用者識別碼的一使用者識別碼摘要,透過該第二單向雜湊函數運算單元產生對應該使用者密碼的一使用者密碼摘要,從該可複寫式非揮發性記憶體模組的該保密區中讀取該第一識別碼摘要與該第一密碼摘要,並且判斷該使用者識別碼摘要與該使用者密碼摘要是否相同於該第一識別碼摘要與該第一密碼摘要,其中倘若該使用者識別碼摘要與該使用者密碼摘要分別地相同於該第一識別碼摘要與該第一密碼摘要時,該記憶體管理電路識別該使用者識別碼與該使用者密碼分別地相同於該第一識別碼與該第一密碼,其中倘若該使用者識別碼摘要不同於該第一識別碼摘要時,該記憶體管理電路輸出一識別碼錯誤訊息,其中倘若該使用者密碼摘要不同於該第一密碼摘要時,該記憶體管理電路輸出一密碼錯誤訊息。
- 如申請專利範圍第14項所述的記憶體控制器,其中倘若該使用者識別碼摘要與該使用者密碼摘要分別地相同於該第一識別碼摘要與該第一密碼摘要時,該記憶體管理電路更用以使用該使用者密碼解密該第一密文以獲取該第一金鑰,其中該記憶體管理電路使用該第一金鑰解密從該第二儲存區中所讀取的資料。
- 如申請專利範圍第10項所述的記憶體控制器,其中該可複寫式非揮發性記憶體模組更具有一第三儲存區,並且根據該預設配置資訊該主機系統無法識別該第三儲存區,其中該記憶體管理電路判斷該使用者識別碼與該使用者密碼是否分別地相同於一第二識別碼與一第二密碼,其中倘若該使用者識別碼與該使用者密碼分別地相同於該第二識別碼與該第二密碼時,被執行的該預啟動碼傳送該重新開機指令來指示該主機系統重新啟動並且在該主機系統重新啟動後,該記憶體管理電路重新提供一第二配置資訊給該主機系統,其中該主機系統根據該第二配置資訊識別該第三儲存區。
- 如申請專利範圍第10項所述的記憶體控制器,其中執行於該主機系統的該預啟動碼會顯示一輸入介面以要求一使用者輸入該使用者識別碼與該使用者密碼並且傳送該使用者識別碼與該使用者密碼給該記憶體管理電路。
- 一種記憶體儲存裝置,包括:一連接器,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,至少具有一第一儲存區與一第二儲存區;以及一記憶體控制器,耦接至該連接器與該可複寫式非揮發性記憶體模組,並且用以提供一預設配置資訊與儲存於該第一儲存區中的一預啟動碼,以回應來自於該主機系統的一開機指令,其中根據該預設配置資訊該主機系統無法識別該第二儲存區並且該預啟動碼被執行於該主機系統中,其中該記憶體控制器更用以從該主機系統接收一使用者識別碼與一使用者密碼,並且判斷該使用者識別碼與該使用者密碼是否分別地相同於一第一識別碼與一第一密碼,其中倘若該使用者識別碼與該使用者密碼分別地相同於該第一識別碼與該第一密碼時,被執行的該預啟動碼傳送一重新開機指令來指示該主機系統重新啟動並且在該主機系統重新啟動後,該記憶體控制器重新提供一第一配置資訊給該主機系統,其中該主機系統根據該第一配置資訊識別該第二儲存區與存取儲存於該第二儲存區中的資料。
- 如申請專利範圍第18項所述的記憶體儲存裝置,其中該記憶體控制器從該第一儲存區讀取一已加密預啟動碼,使用一預設開機金鑰解密該已加密預啟動碼以獲得該預啟動碼,並且將該預啟動碼傳送給該主機系統。
- 如申請專利範圍第18項所述的記憶體儲存裝置,其中該記憶體控制器從該主機系統中接收一已加密使用資料並且解密該已加密使用者資料以獲取該使用者識別碼與該使用者密碼。
- 如申請專利範圍第18項所述的記憶體儲存裝置,其中該記憶體控制器透過一第一單向雜湊函數運算單元產生對應該第一識別碼的一第一識別碼摘要(digest),透過一第二單向雜湊函數運算單元產生對應該第一密碼的一第一密碼摘要,使用該第一密碼加密一第一金鑰來產生一第一密文,並且將該第一識別碼摘要、該第一密碼摘要與該第一密文儲存至該可複寫式非揮發性記憶體模組的一保密區。
- 如申請專利範圍第21項所述的記憶體儲存裝置,其中該記憶體控制器透過該第一單向雜湊函數運算單元產生對應該使用者識別碼的一使用者識別碼摘要,透過該第二單向雜湊函數運算單元產生對應該使用者密碼的一使用者密碼摘要,從該可複寫式非揮發性記憶體模組的該保密區中讀取該第一識別碼摘要與該第一密碼摘要,並且判斷該使用者識別碼摘要與該使用者密碼摘要是否相同於該第一識別碼摘要與該第一密碼摘要,其中倘若該使用者識別碼摘要與該使用者密碼摘要分別地相同於該第一識別碼摘要與該第一密碼摘要時,該記憶體控制器識別該使用者識別碼與該使用者密碼分別地相同於該第一識別碼與該第一密碼,其中倘若該使用者識別碼摘要不同於該第一識別碼摘要時,該記憶體控制器輸出一識別碼錯誤訊息,其中倘若該使用者密碼摘要不同於該第一密碼摘要時,該記憶體控制器輸出一密碼錯誤訊息。
- 如申請專利範圍第21項所述的記憶體儲存裝置,其中倘若該使用者識別碼摘要與該使用者密碼摘要分別地相同於該第一識別碼摘要與該第一密碼摘要時,該記憶體控制器更用以使用該使用者密碼解密該第一密文以獲取該第一金鑰,其中該記憶體控制器使用該第一金鑰解密從該第二儲存區中所讀取的資料。
- 如申請專利範圍第18項所述的記憶體儲存裝置,其中該可複寫式非揮發性記憶體模組更具有一第三儲存區,並且根據該預設配置資訊該主機系統無法識別該第三儲存區,其中該記憶體控制器判斷該使用者識別碼與該使用者密碼是否分別地相同於一第二識別碼與一第二密碼,其中倘若該使用者識別碼與該使用者密碼分別地相同於該第二識別碼與該第二密碼時,被執行的該預啟動碼傳送該重新開機指令來指示該主機系統重新啟動並且在該主機系統重新啟動後,該記憶體控制器重新提供一第二配置資訊給該主機系統,其中該主機系統根據該第二配置資訊識別該第三儲存區。
- 如申請專利範圍第18項所述的記憶體儲存裝置,其中執行於該主機系統的該預啟動碼會顯示一輸入介面以要求一使用者輸入該使用者識別碼與該使用者密碼並且傳送該使用者識別碼與該使用者密碼給該記憶體控制器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101104421A TWI447583B (zh) | 2012-02-10 | 2012-02-10 | 資料保護方法、記憶體控制器與記憶體儲存裝置 |
US13/448,403 US8589669B2 (en) | 2012-02-10 | 2012-04-17 | Data protecting method, memory controller and memory storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW101104421A TWI447583B (zh) | 2012-02-10 | 2012-02-10 | 資料保護方法、記憶體控制器與記憶體儲存裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201333701A true TW201333701A (zh) | 2013-08-16 |
TWI447583B TWI447583B (zh) | 2014-08-01 |
Family
ID=48946639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101104421A TWI447583B (zh) | 2012-02-10 | 2012-02-10 | 資料保護方法、記憶體控制器與記憶體儲存裝置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8589669B2 (zh) |
TW (1) | TWI447583B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105278867A (zh) * | 2014-07-24 | 2016-01-27 | 宇瞻科技股份有限公司 | 储存装置的载入方法及分割方法 |
TWI641966B (zh) * | 2018-01-15 | 2018-11-21 | 群聯電子股份有限公司 | 記憶體儲存系統、主機系統驗證方法及記憶體儲存裝置 |
TWI647569B (zh) * | 2017-12-15 | 2019-01-11 | 宇瞻科技股份有限公司 | 觸控磁碟分割區控制系統及方法 |
CN110069934A (zh) * | 2018-01-23 | 2019-07-30 | 群联电子股份有限公司 | 存储器存储系统、主机系统验证方法及存储器存储装置 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130326404A1 (en) * | 2012-05-30 | 2013-12-05 | Robert C. Brooks | Disable Feature of Computing Device |
US9171140B2 (en) * | 2013-03-14 | 2015-10-27 | Blackberry Limited | System and method for unified passcode processing |
WO2014178814A2 (en) * | 2013-04-29 | 2014-11-06 | Hewlett-Packard Development Company, L.P. | Non-volatile memory to store resettable data |
US9767045B2 (en) * | 2014-08-29 | 2017-09-19 | Memory Technologies Llc | Control for authenticated accesses to a memory device |
US10291567B2 (en) * | 2015-06-01 | 2019-05-14 | ETAS Embedded System Canada Inc. | System and method for resetting passwords on electronic devices |
US10191811B2 (en) | 2015-08-13 | 2019-01-29 | Quanta Computer Inc. | Dual boot computer system |
US10970226B2 (en) * | 2017-10-06 | 2021-04-06 | Silicon Motion, Inc. | Method for performing access management in a memory device, associated memory device and controller thereof, and associated electronic device |
TWI709099B (zh) * | 2018-09-21 | 2020-11-01 | 臺灣網路認證股份有限公司 | 透過作業系統驗證密碼以進行加解密之系統及方法 |
TWI728355B (zh) * | 2019-05-10 | 2021-05-21 | 慧榮科技股份有限公司 | 密碼保護的資料儲存裝置以及非揮發式記憶體控制方法 |
US11822668B2 (en) * | 2021-07-12 | 2023-11-21 | Dell Products, L.P. | Systems and methods for authenticating configurations of an information handling system |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7100036B2 (en) * | 2001-10-30 | 2006-08-29 | Hewlett-Packard Development Company, L.P. | System and method for securing a computer |
KR100465791B1 (ko) * | 2002-04-18 | 2005-01-13 | 삼성전자주식회사 | Sim카드를 이용한 컴퓨터의 보안시스템 및 보안방법 |
US20060059372A1 (en) * | 2004-09-10 | 2006-03-16 | International Business Machines Corporation | Integrated circuit chip for encryption and decryption having a secure mechanism for programming on-chip hardware |
CN101017462A (zh) * | 2006-02-09 | 2007-08-15 | 邱立国 | 具生物数据保护机制的可携式储存装置及其保护方法 |
US8356361B2 (en) * | 2006-11-07 | 2013-01-15 | Spansion Llc | Secure co-processing memory controller integrated into an embedded memory subsystem |
US8423794B2 (en) * | 2006-12-28 | 2013-04-16 | Sandisk Technologies Inc. | Method and apparatus for upgrading a memory card that has security mechanisms for preventing copying of secure content and applications |
-
2012
- 2012-02-10 TW TW101104421A patent/TWI447583B/zh active
- 2012-04-17 US US13/448,403 patent/US8589669B2/en active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105278867A (zh) * | 2014-07-24 | 2016-01-27 | 宇瞻科技股份有限公司 | 储存装置的载入方法及分割方法 |
TWI647569B (zh) * | 2017-12-15 | 2019-01-11 | 宇瞻科技股份有限公司 | 觸控磁碟分割區控制系統及方法 |
TWI641966B (zh) * | 2018-01-15 | 2018-11-21 | 群聯電子股份有限公司 | 記憶體儲存系統、主機系統驗證方法及記憶體儲存裝置 |
CN110069934A (zh) * | 2018-01-23 | 2019-07-30 | 群联电子股份有限公司 | 存储器存储系统、主机系统验证方法及存储器存储装置 |
CN110069934B (zh) * | 2018-01-23 | 2022-12-13 | 群联电子股份有限公司 | 存储器存储系统、主机系统验证方法及存储器存储装置 |
Also Published As
Publication number | Publication date |
---|---|
US8589669B2 (en) | 2013-11-19 |
TWI447583B (zh) | 2014-08-01 |
US20130212368A1 (en) | 2013-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI447583B (zh) | 資料保護方法、記憶體控制器與記憶體儲存裝置 | |
KR101959738B1 (ko) | 장치 식별자와 사용자 인증 정보에 기반한 보안 키 생성 장치 | |
TWI479359B (zh) | 指令執行方法、記憶體控制器與記憶體儲存裝置 | |
KR102176612B1 (ko) | 보안 서브시스템 | |
TWI443517B (zh) | 記憶體儲存裝置及其記憶體控制器與密碼驗證方法 | |
US8996933B2 (en) | Memory management method, controller, and storage system | |
TWI641966B (zh) | 記憶體儲存系統、主機系統驗證方法及記憶體儲存裝置 | |
US11736276B2 (en) | Delegation of cryptographic key to a memory sub-system | |
KR20140019599A (ko) | 데이터의 안전한 저장을 위한 키 관리 방법 및 그 장치 | |
JP2020119298A (ja) | メモリシステム | |
US20210223968A1 (en) | Memory system, information processing apparatus, and information processing system | |
CN103257938B (zh) | 数据保护方法、存储器控制器与存储器储存装置 | |
US8898807B2 (en) | Data protecting method, mobile communication device, and memory storage device | |
TWI446172B (zh) | 記憶體儲存裝置、其記憶體控制器與存取方法 | |
US20230179418A1 (en) | Storage controller and method of operating electronic system | |
US11468159B2 (en) | Memory system | |
US11113399B2 (en) | Electronic apparatus and control method of electronic apparatus | |
CN114756885A (zh) | 固件加载方法、存储装置及计算机可读存储介质 | |
CN110069934B (zh) | 存储器存储系统、主机系统验证方法及存储器存储装置 | |
CN103034594A (zh) | 存储器储存装置及其存储器控制器与密码验证方法 | |
TW202011248A (zh) | 資料儲存裝置以及其操作方法 | |
JP2022030661A (ja) | メモリシステム、制御方法、および情報処理システム | |
TW202111584A (zh) | 具有旁通通道的金鑰管理裝置及處理器晶片 | |
CN103778073A (zh) | 数据保护方法、移动通讯装置与存储器储存装置 | |
CN115408729A (zh) | 供应用程序存取安全存储器装置的独立于供应商的设施 |