TWI479359B - 指令執行方法、記憶體控制器與記憶體儲存裝置 - Google Patents
指令執行方法、記憶體控制器與記憶體儲存裝置 Download PDFInfo
- Publication number
- TWI479359B TWI479359B TW102127642A TW102127642A TWI479359B TW I479359 B TWI479359 B TW I479359B TW 102127642 A TW102127642 A TW 102127642A TW 102127642 A TW102127642 A TW 102127642A TW I479359 B TWI479359 B TW I479359B
- Authority
- TW
- Taiwan
- Prior art keywords
- logical address
- data
- memory
- key
- instruction
- Prior art date
Links
- 230000005055 memory storage Effects 0.000 title claims description 56
- 238000000034 method Methods 0.000 title claims description 29
- 230000005540 biological transmission Effects 0.000 claims description 34
- 238000012546 transfer Methods 0.000 claims description 21
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 claims description 6
- 239000010931 gold Substances 0.000 claims description 6
- 229910052737 gold Inorganic materials 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 238000012937 correction Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 239000000463 material Substances 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
-
- 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
-
- 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
-
- 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/80—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 storage media based on magnetic or optical technology, e.g. disks with sectors
-
- 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/80—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 storage media based on magnetic or optical technology, e.g. disks with sectors
- G06F21/805—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 storage media based on magnetic or optical technology, e.g. disks with sectors using a security table for the storage sub-system
Description
本發明是有關於一種指令執行方法以及使用此方法的記憶體控制器與記憶體儲存裝置。
數位相機、行動電話與MP3播放器在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體模組(例如,快閃記憶體)具有資料非揮發性、省電、體積小,以及無機械結構等特性,所以非常適合內建於上述所舉例的各種可攜式多媒體裝置中。
一般來說,可複寫式非揮發性記憶體模組會由一個記憶體控制器所控制並且透過一個連接器耦接至一個主機系統。主機系統會下達指令給記憶體控制器來存取可複寫式非揮發性記憶體模組中的資料。為了能夠保護儲存於可複寫式非揮發性記憶體模組中之資料的安全性,目前已有在將資料寫入至可複寫式非揮發性記憶體模組之前先對資料進行加密的技術。然而,當主機系統
對應某個寫入指令所傳輸之資料是屬於不同群組並且需要以不同的金鑰來加密時,目前的技術是需要先將資料暫存至緩衝記憶體並且分段讀取此資料的各個部分來以對應不同群組之金鑰加密後回存,最後再將對應此寫入指令之已加密資料從緩衝記憶體中傳輸以實體程式化單元為單位至可複寫式非揮發性記憶體模組。由於需對緩衝記憶體中進行多次直接記憶體存取來完成對應一個寫入指令之所有資料的加密,因此,嚴重影響記憶體儲存裝置的存效能。
本發明提供一種指令執行方法、記憶體控制器與記憶體儲存裝置,其能夠有效提升資料存取的速度同時對資料根據不同的使用群組進行個別的保護。
本發明範例實施例提出一種用於記憶體儲存裝置的指令執行方法。此方法包括將對應此記憶體儲存裝置的多個邏輯位址區分為多個邏輯位址群組;並且將多個不同的金鑰分別地配置給此些邏輯位址群組,其中一個邏輯位址群組對應一個金鑰。本方法還包括從主機系統接收寫入指令與對應此寫入指令的寫入資料並且將此寫入資料暫存至緩衝記憶體,其中此寫入資料包括多個扇區資料並且此寫入指令指示將此些扇區資料寫入至此些邏輯位址之中的多個目標邏輯位址且此些目標邏輯位址屬於至少兩個不同的邏輯位址群組。本方法更包括執行此寫入指令並啟動一次直
接記憶體存取來從緩衝記憶體中傳輸此寫入資料至記憶體儲存裝置的可複寫式非揮發性記憶體模組中,且由加密/解密電路根據對應此些目標邏輯位址的邏輯位址群組使用對應的金鑰來加密所傳輸之寫入資料的扇區資料。
在本發明的一實施例中,上述邏輯位址群組包括第一邏輯位址群組與第二邏輯位址群組,上述金鑰之中的第一金鑰被配置給第一邏輯位址群組且上述金鑰之中的第二金鑰被配置給該第二邏輯位址群組。上述扇區資料包括第一扇區資料與第二扇區資料,上述寫入指令指示將第一扇區資料寫入至此些邏輯位址中屬於第一邏輯位址群組的第一邏輯位址並且指示將第二扇區資料寫入至此些邏輯位址中屬於第二邏輯位址群組的第二邏輯位址。並且,上述根據對應此些目標邏輯位址的邏輯位址群組使用對應的金鑰來加密所傳輸之寫入資料的扇區資料的步驟包括:在傳輸第一扇區資料期間,判斷配置給第一邏輯位址群組的第一金鑰是否已被載入至加密/解密電路;在傳輸該第一扇區資料期間,倘若配置給第一邏輯位址群組的第一金鑰未被載入至加密/解密電路時,將第一金鑰更換至加密/解密電路中;在傳輸第一扇區資料期間,由加密/解密電路使用第一金鑰加密所傳輸之第一扇區資料,其中加密後的第一扇區資料會被寫入至可複寫式非揮發性記憶體模組;在傳輸第二扇區資料期間,判斷配置給第二邏輯位址群組的第二金鑰是否已被載入至加密/解密電路;在傳輸第二扇區資料期間,倘若配置給第一邏輯位址群組的第二金鑰未被載入至加密/解
密電路,將第二金鑰更換至加密/解密電路中;以及在傳輸第二扇區資料期間,由加密/解密電路使用第二金鑰加密所傳輸之第二扇區資料,其中加密後的第二扇區資料會被寫入至可複寫式非揮發性記憶體模組。
在本發明的一實施例中,上述的金鑰分別地配置給邏輯位址群組的步驟包括:初始地將此些金鑰載入至金鑰暫存記憶體中。
在本發明的一實施例中,上述接收寫入指令與對應此寫入指令的寫入資料並且將寫入資料暫存至緩衝記憶體的步驟包括:由指令接收電路接收此寫入指令並且將此寫入指令放至指令佇列暫存器;由指令接收電路判斷此寫入指令所指示的目標邏輯位址是否已被設定為寫入鎖定;以及倘若此些目標邏輯位址已被設定為寫入鎖定時,指令接收電路從指令佇列暫存器中清除此寫入指令。
在本發明的一實施例中,上述的指令執行方法更包括:由記憶體管理路將此寫入指令從指令佇列暫存器移到指令觸發佇列暫存器。
在本發明的一實施例中,上述的指令執行方法更包括在執行寫入指令並啟動直接記憶體存取來從緩衝記憶體中傳輸此寫入資料至記憶體儲存裝置的可複寫式非揮發性記憶體模組中之前,從指令觸發佇列暫存器中選取此寫入指令。
在本發明的一實施例中,上述指令執行方法更包括:從
主機系統接收指示從上述目標邏輯位址中讀取資料的讀取指令;由記憶體管理電路從可複寫式非揮發性記憶體模組中將屬於此些目標邏輯位址的讀取資料讀取至緩衝記憶體中;以及執行此讀取指令並啟動直接記憶體存取來從緩衝記憶體中傳輸讀取資料至該主機系統,同時由加密/解密電路根據對應此些目標邏輯位址的邏輯位址群組使用對應的金鑰來解密所傳輸之讀取資料的扇區資料。
本發明範例實施例提出一種記憶體控制器,其包括記憶體介面、主機介面、緩衝記憶體、記憶體管理電路、指令接收電路、指令執行控制電路與加密/解密電路。記憶體介面用以耦接至可複寫式非揮發性記憶體模組。主機介面用以耦接至主機系統。記憶體管理電路耦接至記憶體介面、主機介面與緩衝記憶體。指令接收電路與指令執行控制電路耦接至該記憶體管理電路,並且加密/解密電路耦接至指令執行控制電路。記憶體管理電路用以將多個邏輯位址區分為多個邏輯位址群組,並且將多個不同的金鑰分別地配置給此些邏輯位址群組,其中一個邏輯位址群組對應一個金鑰。指令接收電路用以從主機系統接收寫入指令與對應此寫入指令的寫入資料並且將此寫入資料暫存至緩衝記憶體,其中寫入資料包括多個扇區資料並且此寫入指令指示將此些扇區資料寫入至此些邏輯位址之中的多個目標邏輯位址且此些目標邏輯位址屬於至少兩個不同的邏輯位址群組。指令執行控制電路用以執行此寫入指令並啟動一次直接記憶體存取來從緩衝記憶體中傳輸寫
入資料至記憶體儲存裝置的可複寫式非揮發性記憶體模組中,且加密/解密電路根據對應此些目標邏輯位址的邏輯位址群組使用對應的金鑰來加密所傳輸之寫入資料的扇區資料。
在本發明的一實施例中,上述的記憶體控制器更包括耦接至加密/解密電路的邏輯位址檢查電路。此外,上述邏輯位址群組包括第一邏輯位址群組與第二邏輯位址群組,上述金鑰之中的第一金鑰被配置給第一邏輯位址群組且上述金鑰之中的第二金鑰被配置給該第二邏輯位址群組。上述扇區資料包括第一扇區資料與第二扇區資料,上述寫入指令指示將第一扇區資料寫入至此些邏輯位址中屬於第一邏輯位址群組的第一邏輯位址並且指示將第二扇區資料寫入至此些邏輯位址中屬於第二邏輯位址群組的第二邏輯位址。並且,在傳輸第一扇區資料期間,邏輯位址檢查電路用以識別出寫入指令所指示的第一邏輯位址並識別對應第一邏輯位址的第一邏輯位址群組,並且加密/解密電路會根據邏輯位址檢查電路的識別判斷配置給第一邏輯位址群組的第一金鑰是否已被載入至加密/解密電路。在傳輸該第一扇區資料期間,倘若配置給第一邏輯位址群組的第一金鑰未被載入至加密/解密電路時,加密/解密電路會載入該第一金鑰。在傳輸第一扇區資料期間,加密/解密電路使用第一金鑰加密所傳輸之第一扇區資料,其中加密後的第一扇區資料會被寫入至可複寫式非揮發性記憶體模組。在傳輸第二扇區資料期間,邏輯位址檢查電路用以識別出寫入指令所指示的第二邏輯位址並識別對應第二邏輯位址的第二邏輯位址群
組,並且加密/解密電路會根據邏輯位址檢查電路的識別判斷配置給第二邏輯位址群組的該第二金鑰是否已被載入至加密/解密電路。在傳輸該第二扇區資料期間,倘若配置給第一邏輯位址群組的第二金鑰未被載入至加密/解密電路,加密/解密電路會載入該第二金鑰。在傳輸第二扇區資料期間,加密/解密電路使用第二金鑰加密所傳輸之第二扇區資料,其中加密後的第二扇區資料會被寫入至可複寫式非揮發性記憶體模組。
在本發明的一實施例中,上述的記憶體控制器更包括分別地耦接至加密/解密電路的金鑰暫存記憶體與金鑰設定電路,其中金鑰設定電路初始地將此些金鑰載入至金鑰暫存記憶體中。
在本發明的一實施例中,上述的記憶體控制器更包括指令佇列暫存器。指令接收電路接收此寫入指令並且將此寫入指令放至指令佇列暫存器,並且判斷寫入指令所指示的此些目標邏輯位址是否已被設定為寫入鎖定。倘若此些目標邏輯位址已被設定為寫入鎖定時,指令接收電路從指令佇列暫存器中清除此寫入指令。
在本發明的一實施例中,上述的記憶體控制器更包括指令觸發佇列暫存器,其中記憶體管理路將此寫入指令從指令佇列暫存器移到指令觸發佇列暫存器。
在本發明的一實施例中,上述的指令執行控制電路從指令觸發佇列暫存器中選取此寫入指令執行。
在本發明的一實施例中,上述的指令接收電路更用以從
主機系統接收指示從上述目標邏輯位址中讀取資料的讀取指令。記憶體管理電路從可複寫式非揮發性記憶體模組中將屬於此些目標邏輯位址的讀取資料讀取至緩衝記憶體中。指令執行控制電路執行此讀取指令並啟動此直接記憶體存取來從緩衝記憶體中傳輸讀取資料至主機系統,同時加密/解密電路根據對應此些目標邏輯位址的邏輯位址群組使用對應的金鑰來解密所傳輸之讀取資料的扇區資料。
本發明範例實施例提出一種記憶體裝置,其包括連接
器、可複寫式非揮發性記憶體模組與記憶體控制器。連接器用以連接至主機系統。記憶體控制器耦接至連接器與可複寫式非揮發性記憶體模組。記憶體控制器將對應此記憶體儲存裝置的多個邏輯位址區分為多個邏輯位址群組;並且將多個不同的金鑰分別地配置給此些邏輯位址群組,其中一個邏輯位址群組對應一個金鑰。記憶體控制器從主機系統接收寫入指令與對應此寫入指令的寫入資料並且將此寫入資料暫存至緩衝記憶體,其中此寫入資料包括多個扇區資料並且此寫入指令指示將此些扇區資料寫入至此些邏輯位址之中的多個目標邏輯位址且此些目標邏輯位址屬於至少兩個不同的邏輯位址群組。記憶體控制器執行此寫入指令並啟動一次直接記憶體存取來從緩衝記憶體中傳輸此寫入資料至記憶體儲存裝置的可複寫式非揮發性記憶體模組中,且根據對應此些目標邏輯位址的邏輯位址群組使用對應的金鑰來加密所傳輸之寫入資料的扇區資料。
在本發明的一實施例中,上述邏輯位址群組包括第一邏輯位址群組與第二邏輯位址群組,上述金鑰之中的第一金鑰被配置給第一邏輯位址群組且上述金鑰之中的第二金鑰被配置給該第二邏輯位址群組。上述扇區資料包括第一扇區資料與第二扇區資料,上述寫入指令指示將第一扇區資料寫入至此些邏輯位址中屬於第一邏輯位址群組的第一邏輯位址並且指示將第二扇區資料寫入至此些邏輯位址中屬於第二邏輯位址群組的第二邏輯位址。並且,上述根據對應此些目標邏輯位址的邏輯位址群組使用對應的金鑰來加密所傳輸之寫入資料的扇區資料的運作中:在傳輸第一扇區資料期間,記憶體控制器判斷配置給第一邏輯位址群組的第一金鑰是否已被載入;在傳輸該第一扇區資料期間,倘若配置給第一邏輯位址群組的第一金鑰未被載入時,記憶體控制器載入第一金鑰;在傳輸第一扇區資料期間,記憶體控制器使用第一金鑰加密所傳輸之第一扇區資料,其中加密後的第一扇區資料會被寫入至可複寫式非揮發性記憶體模組;在傳輸第二扇區資料期間,判斷配置給第二邏輯位址群組的第二金鑰是否已被載入;在傳輸第二扇區資料期間,倘若配置給第一邏輯位址群組的第二金鑰未被載入至加密/解密電路,記憶體控制器載入;以及在傳輸第二扇區資料期間,記憶體控制器使用第二金鑰加密所傳輸之第二扇區資料,其中加密後的第二扇區資料會被寫入至可複寫式非揮發性記憶體模組。
在本發明的一實施例中,記憶體控制器初始地將此些金
鑰載入至金鑰暫存記憶體中。
在本發明的一實施例中,記憶體控制器接收此寫入指令並且將此寫入指令放至指令佇列暫存器,並判斷寫入指令所指示的此些目標邏輯位址是否已被設定為寫入鎖定。倘若些目標邏輯位址已被設定為寫入鎖定時,記憶體控制器從指令佇列暫存器中清除此寫入指令。
在本發明的一實施例中,上述的記憶體控制器將此寫入指令從指令佇列暫存器移到指令觸發佇列暫存器。
在本發明的一實施例中,在執行此寫入指令並啟動直接記憶體存取來從緩衝記憶體中傳輸此寫入資料至記憶體儲存裝置的可複寫式非揮發性記憶體模組中的運作之前,記憶體控制器從指令觸發佇列暫存器中選取此寫入指令。
在本發明的一實施例中,上述的記憶體控制器更用以接收用以指示從此些目標邏輯位址中讀取資料的讀取指令,並且從可複寫式非揮發性記憶體模組中將屬於此些目標邏輯位址的讀取資料讀取至緩衝記憶體中。此外,記憶體控制器執行此讀取指令並啟動直接記憶體存取來從緩衝記憶體中傳輸此讀取資料至主機系統,同時根據對應此些目標邏輯位址的邏輯位址群組使用對應的金鑰來解密所傳輸之讀取資料的扇區資料。
基於上述,本發明範例實施例的指令執行方法、記憶體控制器與記憶體存裝置能夠在一次直接記憶體存取的觸發期間對一個指令中屬於不同邏輯位址群組的資料使用對應的金鑰來加
密,由此可大幅提升資料存取的效能。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
1000‧‧‧主機系統
1100‧‧‧電腦
1102‧‧‧微處理器
1104‧‧‧隨機存取記憶體
1106‧‧‧輸入/輸出裝置
1108‧‧‧系統匯流排
1110‧‧‧資料傳輸介面
1202‧‧‧滑鼠
1204‧‧‧鍵盤
1206‧‧‧顯示器
1208‧‧‧印表機
1212‧‧‧隨身碟
1214‧‧‧記憶卡
1216‧‧‧固態硬碟
1310‧‧‧數位相機
1312‧‧‧SD卡
1314‧‧‧MMC卡
1316‧‧‧記憶棒
1318‧‧‧CF卡
1320‧‧‧嵌入式儲存裝置
100‧‧‧記憶體儲存裝置
102‧‧‧連接器
104‧‧‧記憶體控制器
106‧‧‧可複寫式非揮發性記憶體模組
202‧‧‧記憶體管理電路
204‧‧‧主機介面
206‧‧‧記憶體介面
208‧‧‧緩衝記憶體
210‧‧‧指令接收電路
212‧‧‧指令執行控制電路
214‧‧‧指令佇列暫存器
216‧‧‧指令觸發佇列暫存器
218‧‧‧加密/解密電路
220‧‧‧金鑰暫存記憶體
222‧‧‧金鑰設定電路
224‧‧‧邏輯位址檢查電路
226‧‧‧電源管理電路
228‧‧‧錯誤檢查與校正電路
410(0)~410(N)‧‧‧實體抹除單元
502‧‧‧系統區
504‧‧‧資料區
506‧‧‧閒置區
508‧‧‧取代區
LBA(0)~LBA(H)‧‧‧邏輯位址
LBG(0)~LBG(1)‧‧‧邏輯位址群組
S801、S803、S805、S807、S809、S811‧‧‧接收指令的步驟
S901、S903、S905‧‧‧準備執行指令的步驟
S1001、S1003、S1005‧‧‧初始化金鑰的步驟
S1101、S1103、S1105、S1107‧‧‧執行指令的步驟
S1201、S1203、S1205、S1207、S1209、S1211、S1213‧‧‧執行寫入指令的步驟
S1301、S1303、S1305、S1307、S1309、S1311、S1313‧‧‧執行讀取指令的步驟
圖1是根據一範例實施例所繪示的主機系統與記憶體儲存裝置。
圖2是根據一範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的示意圖。
圖3是根據一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
圖4是繪示圖1所示的記憶體儲存裝置的概要方塊圖。
圖5與圖6是根據一範例實施例所繪示之管理實體抹除單元的範例示意圖。
圖7是根據一範例實施例所繪示之記憶體控制器的概要方塊圖。
圖8與圖9是根據本發明一範例實施例所繪示之接收指令與準備執行指令的流程圖。
圖10是根據一範例實施例所繪示之初始化金鑰的流程圖。
圖11是根據一範例實施例所繪示之執行指令的流程圖。
圖12是根據一範例實施例所繪示之在圖11之方塊S1105中
執行寫入指令的詳細流程圖。
圖13是根據一範例實施例所繪示之在圖11之方塊S1105中執行讀取指令的詳細流程圖。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組與控制器(亦稱,控制電路)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖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所示的隨身碟1212、記憶卡1214或固態硬碟(Solid State Drive,SSD)1216等的可複寫式非揮發性記憶體儲存裝置。
一般而言,主機系統1000為可實質地與記憶體儲存裝置100配合以儲存資料的任意系統。雖然在本範例實施例中,主機系統1000是以電腦系統來作說明,然而,在本發明另一範例實施例中主機系統1000可以是數位相機、攝影機、通信裝置、音訊播放器或視訊播放器等系統。例如,在主機系統為數位相機(攝影機)1310時,可複寫式非揮發性記憶體儲存裝置則為其所使用的SD卡1312、MMC卡1314、記憶棒(memory stick)1316、CF卡1318或嵌入式儲存裝置1320(如圖3所示)。嵌入式儲存裝置1320包括嵌入式多媒體卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接耦接於主機系統的基板上。
圖4是繪示圖1所示的記憶體儲存裝置的概要方塊圖。
請參照圖4,記憶體儲存裝置100包括連接器102、記憶體控制器104與可複寫式非揮發性記憶體模組106。
在本範例實施例中,連接器102是相容於序列先進附件(Serial Advanced Technology Attachment,SATA)標準。然而,必須瞭解的是,本發明不限於此,連接器102亦可以是符合並列先進附件(Parallel Advanced Technology Attachment,PATA)標準、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,IEEE)1394標準、高速周邊零件連接介面(Peripheral Component
Interconnect Express,PCI Express)標準、通用序列匯流排(Universal Serial Bus,USB)標準、安全數位(Secure Digital,SD)介面標準、超高速一代(Ultra High Speed-I,UHS-I)介面標準、超高速二代(Ultra High Speed-II,UHS-II)介面標準、記憶棒(Memory Stick,MS)介面標準、多媒體儲存卡(Multi Media Card,MMC)介面標準、崁入式多媒體儲存卡(Embedded Multimedia Card,eMMC)介面標準、通用快閃記憶體(Universal Flash Storage,UFS)介面標準、小型快閃(Compact Flash,CF)介面標準、整合式驅動電子介面(Integrated Device Electronics,IDE)標準或其他適合的標準。
記憶體控制器104用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制命令,並且根據主機系統1000的命令在可複寫式非揮發性記憶體模組106中進行資料的寫入、讀取與抹除等運作。
可複寫式非揮發性記憶體模組106是耦接至記憶體控制器104,並且用以儲存主機系統1000所寫入之資料。可複寫式非揮發性記憶體模組106具有多個實體抹除單元。每一實體抹除單元分別具有複數個實體程式化單元,並且屬於同一個實體抹除單元之實體程式化單元可被獨立地寫入且被同時地抹除。例如,每一實體抹除單元是由128個實體程式化單元所組成。然而,必須瞭解的是,本發明不限於此,每一實體抹除單元是可由64個實體程式化單元、256個實體程式化單元或其他任意個實體程式化單元所組成。
更詳細來說,實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。實體程式化單元為程式化的最小單元。即,實體程式化單元為寫入資料的最小單元。每一實體程式化單元通常包括資料位元區與冗餘位元區。資料位元區包含多個實體扇區位址用以儲存使用者的資料,而冗餘位元區用以儲存系統的資料(例如,控制資訊與錯誤更正碼)。在本範例實施例中,每一個實體程式化單元的資料位元區中會包含4個實體扇區位址,且一個實體存取扇區位址的大小為512位元組(byte,B)。然而,在其他範例實施例中,資料位元區中也可包含8個、16個或數目更多或更少的實體扇區位址,本發明並不限制實體扇區位址的大小以及個數。例如,實體抹除單元為實體區塊,並且實體程式化單元為實體頁面。
在本範例實施例中,可複寫式非揮發性記憶體模組106為多階記憶胞(Multi Level Cell,MLC)NAND型快閃記憶體模組,即一個記憶胞中可儲存至少2個位元資料。然而,本發明不限於此,可複寫式非揮發性記憶體模組106亦可是單階記憶胞(Single Level Cell,SLC)NAND型快閃記憶體模組、複數階記憶胞(Trinary Level Cell,TLC)NAND型快閃記憶體模組、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
圖5與圖6是根據一範例實施例所繪示之管理實體抹除單元的範例示意圖。
請參照圖5,記憶體控制器104會將實體抹除單元
410(0)~410-(N)邏輯地分組為資料區502、閒置區504、系統區506與取代區508。
邏輯上屬於資料區502與閒置區504的實體抹除單元是用以儲存來自於主機系統1000的資料。具體來說,資料區502的實體抹除單元是被視為已儲存資料的實體抹除單元,而閒置區504的實體抹除單元是用以替換資料區502的實體抹除單元。也就是說,當從主機系統1000接收到寫入指令與欲寫入之資料時,記憶體控制器104會從閒置區504中提取實體抹除單元,並且將資料寫入至所提取的實體抹除單元中,以替換資料區502的實體抹除單元。
邏輯上屬於系統區506的實體抹除單元是用以記錄系統資料。例如,系統資料包括關於可複寫式非揮發性記憶體模組的製造商與型號、可複寫式非揮發性記憶體模組的實體抹除單元數、每一實體抹除單元的實體程式化單元數等。
邏輯上屬於取代區508中的實體抹除單元是用於壞實體抹除單元取代程序,以取代損壞的實體抹除單元。具體來說,倘若取代區508中仍存有正常之實體抹除單元並且資料區502的實體抹除單元損壞時,記憶體控制器104會從取代區508中提取正常的實體抹除單元來更換損壞的實體抹除單元。
特別是,資料區502、閒置區504、系統區506與取代區508之實體抹除單元的數量會依據不同的記憶體規格而有所不同。此外,必須瞭解的是,在記憶體儲存裝置100的運作中,實
體抹除單元關聯至資料區502、閒置區504、系統區506與取代區508的分組關係會動態地變動。例如,當閒置區504中的實體抹除單元損壞而被取代區508的實體抹除單元取代時,則原本取代區508的實體抹除單元會被關聯至閒置區504。
請參照圖6,記憶體控制器104會配置邏輯位址LBA(0)~LBA(H)以映射資料區502的實體抹除單元。並且,當主機系統100欲寫入資料至邏輯位址或更新儲存於邏輯位址中的資料時,記憶體控制器104會從閒置區504中提取一個實體抹除單元來寫入資料,以輪替資料區502的實體抹除單元。
為了識別資料每個邏輯位址的資料被儲存在那個實體抹除單元,在本範例實施例中,記憶體控制器104(或記憶體管理電路202)會記錄邏輯位址與實體抹除單元之間的映射。並且,當主機系統1000欲在邏輯位址中存取資料時,記憶體控制器104(或記憶體管理電路202)會確認此邏輯位址所映射的實體抹除單元,由此存取資料。例如,在本範例實施例中,記憶體控制器104(或記憶體管理電路202)會在可複寫式非揮發性記憶體模組106中儲存邏輯轉實體位址映射表來記錄每一邏輯位址所映射的實體抹除單元,並且當欲存取資料時記憶體控制器104(或記憶體管理電路202)會將邏輯轉實體位址映射表載入至緩衝記憶體208來維護。
值得一提的是,記憶體儲存裝置100具有資料保密的功能,並且可以提供此保密功能給不同的使用群組。具體來說,在本範例實施例中,記憶體控制器104(或記憶體管理電路202)會
將邏輯位址LBA(0)~LBA(H)分組為多個邏輯位址群組,並且為每一邏輯位址群組設定獨立地存取權控制。也就是說,每一個邏輯位址群組可根據使用者的需求分別設定為可讀取、讀取鎖定(即,不可讀取)、可寫入、寫入鎖定(即,不可寫入)等存取控制。例如,邏輯位址LBA(0)~LBA(H)會被區分為第一邏輯位址群組LBG(0)與第二邏輯位址群組LBG(1)。必須了解的是,儘管本範例實施例是以兩個邏輯位址群組來作說明,但本發明不限於此,邏輯位址群組的數目可根據系統需求來適當的規劃。
圖7是根據一範例實施例所繪示之記憶體控制器的概要方塊圖。
請參照圖7,記憶體控制器104包括記憶體管理電路202、主機介面204、記憶體介面206、緩衝記憶體208、指令接收電路210、指令執行控制電路212、指令佇列暫存器214、指令觸發佇列暫存器216、加密/解密電路218、金鑰暫存記憶體220、金鑰設定電路222、邏輯位址檢查電路224、電源管理電路226與錯誤檢查與校正電路228。
記憶體管理電路202用以控制記憶體控制器104的整體運作。具體來說,記憶體管理電路202具有多個控制命令,並且在記憶體儲存裝置100運作時,此些控制命令會被執行以進行資料的寫入、讀取與抹除等運作。
在本範例實施例中,記憶體管理電路202的控制命令是以韌體型式來實作。例如,記憶體管理電路202具有微處理器單
元(未繪示)與唯讀記憶體(未繪示),並且此些控制命令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置100運作時,此些控制命令會由微處理器單元來執行以進行資料的寫入、讀取與抹除等運作。
在本發明另一範例實施例中,記憶體管理電路202的控制命令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組106的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。此外,記憶體管理電路202具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有開機碼(boot code),並且當記憶體控制器104被致能時,微處理器單元會先執行此開機碼來將儲存於可複寫式非揮發性記憶體模組106中之控制命令載入至記憶體管理電路202的隨機存取記憶體中。之後,微處理器單元會運轉此些控制命令以進行資料的寫入、讀取與抹除等運作。
此外,在本發明另一範例實施例中,記憶體管理電路202的控制命令亦可以一硬體型式來實作。例如,記憶體管理電路202包括微控制器、記憶體管理單元、記憶體寫入單元、記憶體讀取單元、記憶體抹除單元與資料處理單元。記憶體管理單元、記憶體寫入單元、記憶體讀取單元、記憶體抹除單元與資料處理單元是耦接至微控制器。其中,記憶體管理單元用以管理可複寫式非揮發性記憶體模組106的實體抹除單元;記憶體寫入單元用以對可複寫式非揮發性記憶體模組106下達寫入命令以將資料寫入至可複寫式非揮發性記憶體模組106中;記憶體讀取單元用以對可
複寫式非揮發性記憶體模組106下達讀取命令以從可複寫式非揮發性記憶體模組106中讀取資料;記憶體抹除單元用以對可複寫式非揮發性記憶體模組106下達抹除命令以將資料從可複寫式非揮發性記憶體模組106中抹除;而資料處理單元用以處理欲寫入至可複寫式非揮發性記憶體模組106的資料以及從可複寫式非揮發性記憶體模組106中讀取的資料。
主機介面204是耦接至記憶體管理電路202並且用以耦接至主機系統1000。也就是說,主機系統1000所傳送的命令與資料會透過主機介面204來傳送至記憶體控制器104並且記憶體控制器104會透過主機介面204將從可複寫式非揮發性記憶體模組106中讀取的資料傳送給主機系統1000。在本範例實施例中,主機介面204是相容於SATA標準。然而,必須瞭解的是本發明不限於此,主機介面204亦可以是相容於PATA標準、IEEE 1394標準、PCI Express標準、USB標準、SD標準、UHS-I標準、UHS-II標準、MS標準、MMC標準、eMMC標準、UFS標準、CF標準、IDE標準或其他適合的資料傳輸標準。
記憶體介面206是耦接至記憶體管理電路202並且用以存取可複寫式非揮發性記憶體模組106。也就是說,欲寫入至可複寫式非揮發性記憶體模組106的資料會經由記憶體介面206轉換為可複寫式非揮發性記憶體模組106所能接受的格式。
緩衝記憶體208是耦接至記憶體管理電路202並且用以暫存來自於主機系統1000的資料或來自於可複寫式非揮發性記憶
體模組106的資料。例如,當從主機系統1000接收到寫入指令與對應此寫入指令的資料時,記憶體管理電路202會將資料暫存至緩衝記憶體208。再例如,當從主機系統1000接收到讀取指令並且從可複寫式非揮發性記憶體模組106中讀取對應的資料時,記憶體管理電路202會將所讀取的資料暫存至緩衝記憶體208指令接收電路210是耦接至記憶體管理電路202並且用以接收來自於主機系統1000的指令。
指令執行控制電路212是耦接至記憶體管理電路202並且用以執行主機系統1000所下達的指令。
指令佇列暫存器214與指令觸發佇列暫存器216分別地用以暫存從主機系統1000所接收的指令以及預備要執行的指令。具體來說,在本範例實施例中,記憶體儲存裝置100支援原生指令排序(Native Command Queue)功能,其中指令接收電路210會將從主機系統1000接收到的指令會被放置於指令佇列暫存器214,記憶體管理電路202會根據此些指令的屬性(例如,欲存取的邏輯位址)來排序此些指令的執行順序並且指令執行控制電路212會根據所決定的順序來執行所接收的指令。在本範例實施例中,指令佇列暫存器214與指令觸發佇列暫存器216是以獨立的硬體電路來實作,然而,本發明不限於此,在本發明另一範例實施例中,記憶體管理電路202亦可於緩衝記憶體208中規劃出一儲存區來作為指令佇列暫存器214與指令觸發佇列暫存器216。
圖8與圖9是根據本發明一範例實施例所繪示之接收指
令與準備執行指令的流程圖。
請參照圖8,首先在方塊S801中,指令接收電路210會處於待命狀態。接著,在方塊S803中,指令接收電路210會判斷是否接收到指令(例如,寫入指令或讀取指令)。若判斷未接收到時,則指令接收電路210會回至待命狀態(即,方塊S801)。
倘若判斷接收到指令時,則在方塊S805中,指令接收電路210會將所接收到的指令放置於指令佇列暫存器214,並且在方塊S807中,指令接收電路210會判斷所接收的指令是否違反存取控制。例如,倘若所接收的指令為讀取指令時,指令接收電路210會判斷此指令所指示的邏輯位址是否被設定為讀取鎖定,並且若此指令所指示的邏輯位址被設定為讀取鎖定(即,此邏輯位址禁止被讀取),指令接收電路210會識別所接收的指令違反存取控制。
又例如,倘若所接收的指令為寫入指令時,指令接收電路210會判斷此指令所指示的邏輯位址是否被設定為寫入鎖定,並且若此指令所指示的邏輯位址被設定為寫入鎖定(即,此邏輯位址禁止被寫入),指令接收電路210會識別所接收的指令違反存取控制。
倘若所接收的指令未違反存取控制,則指令接收電路210會回至待命狀態(即,方塊S801)。
倘若所接收的指令違反存取控制,在方塊S809中,指令接收電路210會執行錯誤處置程序。例如,在方塊S809中,指令接收電路210會清除指令佇列暫存器214中的所有指令。並且,在方塊S811中,指令接收電路210會判斷錯誤處置程序是否已完
成。若錯誤處置程序未已完成,則指令接收電路210會持續偵測錯誤處置程序是否已完成(即,方塊S811),反之,則指令接收電路210會回至待命狀態(即,方塊S801)。
請參照圖9,在方塊S901中,記憶體管理電路202會處於待命狀態,並且在方塊S903中,記憶體管理電路202會判斷指令佇列暫存器214是否存有待執行的指令。
倘若指令佇列暫存器214存有待執行的指令時,在方塊S905中,記憶體管理電路202會根據所設定的排序規則將其中一個指令移至指令觸發佇列暫存器216,以供指令執行控制電路212來執行,並且方塊S903的運作會再被執行。倘若指令佇列暫存器214未存有待執行的指令時,記憶體管理電路202會回到待命狀態(即,方塊S901)。
請再參照圖7,加密/解密電路218耦接至指令執行控制電路212,並且對資料進行加解密。具體來說,對欲傳輸至可複寫式非揮發性記憶體模組106的資料會透過加密/解密電路218來進行加密,並且從可複寫式非揮發性記憶體模組106中讀取的資料會透過加密/解密電路218來進行解密。特別是,加密/解密電路218會根據寫入指令所指示的邏輯位址來使用對應的金鑰來加密資料。例如,倘若主機系統1000欲儲存資料至屬於第一邏輯位址群組的邏輯位址時,加密/解密電路218會以配置給第一邏輯位址群組的金鑰來加密欲儲存的資料;並且倘若主機系統1000欲儲存資料至屬於第二邏輯位址群組的邏輯位址時,加密/解密電路218
會以配置給第二邏輯位址群組的金鑰來加密欲儲存的資料。
金鑰暫存記憶體220耦接至加密/解密電路218並且用於暫存用以加密資料或解密資料的金鑰。
金鑰設定電路222耦接至加密/解密電路218並且用以將金鑰初始地載入至金鑰暫存記憶體220。特別是,在本範例實施例中,金鑰設定電路222會為不同邏輯位址群組設定不同的金鑰。例如,在本範例實施例中,金鑰設定電路222為第一邏輯位址群組設定一金鑰(以下稱為第一金鑰),為第二邏輯位址群組設定一金鑰(以下稱為第二金鑰)並且在記憶體儲存裝置100開機時,將第一金鑰與第二金鑰載入至金鑰暫存記憶體220。
圖10是根據一範例實施例所繪示之初始化金鑰的流程圖。
請參照圖10,當記憶體儲存裝置100啟動時,在方塊S1001中,金鑰設定電路222會將對應各邏輯位址群組的金鑰載入至金鑰暫存記憶體220,並且在方塊S1003中,金鑰設定電路222會判斷所有金鑰的初始化是否已完成。若金鑰的初始化未完成時,則金鑰設定電路222會持續偵測所有金鑰的初始化是否已完成(即,方塊S1003),反之,則在方塊S1005中,金鑰設定電路222會處於待命狀態。
請再參照圖7,邏輯位址檢查電路224耦接至加密/解密電路218並且用以識別在主機系統1000所下達之指令中指示之預存取的邏輯位址。在本範例實施例中,加密/解密電路218會根據
邏輯位址檢查電路224的識別選擇對應的金鑰來加密主機系統1000欲儲存的資料或者解密從可複寫式非揮發性記憶體模組106中讀取的資料。例如,在本範例實施例中,邏輯位址檢查電路224會識別從主機系統1000中接收的指令是欲存取屬於第一邏輯位址群組或第二邏輯位址群組的邏輯位址,並且加密/解密電路218會根據此識別使用第一金鑰或第二金鑰來加解密資料。
電源管理電路226是耦接至記憶體管理電路202並且用以控制記憶體儲存裝置100的電源。
錯誤檢查與校正電路228是耦接至記憶體管理電路202並且用以執行錯誤檢查與校正程序以確保資料的正確性。具體來說,當記憶體管理電路202從主機系統1000中接收到寫入命令時,錯誤檢查與校正電路228會為對應此寫入命令的資料產生對應的錯誤檢查與校正碼(Error Checking and Correcting Code,ECC Code),並且記憶體管理電路202會將對應此寫入命令的資料與對應的錯誤檢查與校正碼寫入至可複寫式非揮發性記憶體模組106中。之後,當記憶體管理電路202從可複寫式非揮發性記憶體模組106中讀取資料時會同時讀取此資料對應的錯誤檢查與校正碼,並且錯誤檢查與校正電路228會依據此錯誤檢查與校正碼對所讀取的資料執行錯誤檢查與校正程序。
在本範例實施例中,當指令執行控制電路212執行指令觸發佇列暫存器216中的寫入指令時,指令執行控制電路212會啟動對緩衝記憶體208的直接記憶體存取(Direct Memory Access,
DMA),並且對應此指令的資料會從緩衝記憶體208被傳輸至可複寫式非揮發性記憶體模組106;並且當指令執行控制電路212執行指令觸發佇列暫存器216中的讀取指令時,指令執行控制電路212會啟動對緩衝記憶體208的直接記憶體存取並且對應此讀取指令的資料會從緩衝記憶體208傳輸至主機系統1000。
特別是,在此直接記憶體存取期間,邏輯位址檢查電路224識別儲存所傳輸之資料之中的每個扇區資料的邏輯位址(以下稱為目標邏輯位址)以及此些目標邏輯位址所屬之邏輯位址群組,並且加密/解密電路218會根據所識別的邏輯位址群組使用對應的金鑰來加密或解密所傳輸之寫入資料的扇區資料。
圖11是根據一範例實施例所繪示之執行指令的流程圖。
請參照圖11,在方塊S1101中,指令執行控制電路212會處於待命狀態,並且在方塊S1103中指令執行控制電路212會判斷觸發佇列暫存器216是否存有指令。
倘若觸發佇列暫存器216存有指令時,在方塊S1105中,指令執行控制電路212會選擇一個指令來執行並且啟動對緩衝記憶體208的一次直接記憶體存取以傳輸對應此指令的資料同時根據此儲存此資料的邏輯位址(以下稱為目標邏輯位址)以對應的金鑰加密或解密此資料。在此,所謂的一次直接記憶體存取是指記憶體管理電路202指示指令執行控制電路212開始將資料傳至記憶體或從記憶體讀取資料,並且傳輸完成後,指令執行控制電路212中斷記憶體管理電路202並通知記憶體管理電路202數據傳
輸已經結束。
在方塊S1107中,指令執行控制電路212會判斷指令的執行是否已完成。若指令的執行未完成,則指令執行控制電路212會持續判斷指令的執行是否已完成(即,方塊S1107),反之,則指令執行控制電路212會處於待命狀態(即,方塊S1101)。
圖12是根據一範例實施例所繪示之在圖11之方塊S1105中執行寫入指令的詳細流程圖。為了方便說明,以下以寫入兩個扇區資料為例來說明執行寫入指令的流程,但本發明不限於此。
在方塊S1201中,指令執行控制電路212會執行寫入指令並且啟動對緩衝記憶體208的直接記憶體存取以傳輸對應此指令的寫入資料(包括第一扇區資料與第二扇區資料)。
在方塊S1203中,邏輯位址檢查電路224識別對應欲儲存此寫入資料之第一扇區資料的邏輯位址(以下稱為第一邏輯位址)的邏輯位址群組(以下稱為第一邏輯群組)並且判斷對應第一邏輯群組的金鑰(以下稱為第一金鑰)是否已被載入至加密/解密電路218。
若對應第一邏輯群組的第一金鑰未被載入至加密/解密電路218時,在方塊S1205中,加密/解密電路218會從金鑰暫存記憶體220載入第一金鑰以進行金鑰更換。之後,在方塊S1207中,加密/解密電路218會使用第一金鑰對所傳輸之第一扇區資料進行加密,並且加密後的第一扇區資料會被傳輸至可複寫式非揮發性記憶體模組106。
在方塊S1209中,邏輯位址檢查電路224識別對應欲儲存此寫入資料的第二扇區資料的邏輯位址(以下稱為第二邏輯位址)的邏輯位址群組(以下稱為第二邏輯群組)並且判斷對應第二邏輯群組的金鑰(以下稱為第二金鑰)是否已被載入至加密/解密電路218。
若對應第二邏輯群組的第二金鑰未被載入至加密/解密電路218時,在方塊S1211中,加密/解密電路218會從金鑰暫存記憶體220載入第二金鑰以進行金鑰更換。之後,在方塊S1213中,加密/解密電路218會使用第二金鑰對所傳輸之第二扇區資料進行加密,並且加密後的第二扇區資料會被傳輸至可複寫式非揮發性記憶體模組106。
圖13是根據一範例實施例所繪示之在圖11之方塊S1105中執行讀取指令的詳細流程圖。為了方便說明,以下以寫入兩個扇區資料為例來說明執行寫入指令的流程,但本發明不限於此。
在方塊S1301中,指令執行控制電路212會執行讀取指令並且啟動對緩衝記憶體208的直接記憶體存取以傳輸對應此指令的讀取資料(包括第一扇區資料與第二扇區資料)。必須了解的是,在啟動對緩衝記憶體208的直接記憶體存取以傳輸對應此指令的讀取資料之前,記憶體管理電路202已從可複寫式非揮發性記憶體模組106將此讀取資料讀取至緩衝記憶體208中。
在方塊S1303中,邏輯位址檢查電路224識別對應欲儲存此讀取資料之第一扇區資料的邏輯位址(以下稱為第一邏輯位
址)的邏輯位址群組(以下稱為第一邏輯群組)並且判斷對應第一邏輯群組的金鑰(以下稱為第一金鑰)是否已被載入至加密/解密電路218。
若對應第一邏輯群組的第一金鑰未被載入至加密/解密電路218時,在方塊S1305中,加密/解密電路218會從金鑰暫存記憶體220載入第一金鑰以進行金鑰更換。之後,在方塊S1307中,加密/解密電路218會使用第一金鑰對所傳輸之第一扇區資料進行解密,並且解密後的第一扇區資料會被傳輸至主機系統1000。
在方塊S1309中,邏輯位址檢查電路224識別對應欲儲存此寫入資料的第二扇區資料的邏輯位址(以下稱為第二邏輯位址)的邏輯位址群組(以下稱為第二邏輯群組)並且判斷對應第二邏輯群組的金鑰(以下稱為第二金鑰)是否已被載入至加密/解密電路218。
若對應第二邏輯群組的第二金鑰未被載入至加密/解密電路218時,在方塊S1311中,加密/解密電路218會從金鑰暫存記憶體220載入第二金鑰以進行金鑰更換。之後,在方塊S1313中,加密/解密電路218會使用第二金鑰對所傳輸之第二扇區資料進行解密,並且解密後的第二扇區資料會被傳輸至主機系統1000。
綜上所述,本發明範例實施例的指令執行方法、記憶體控制器與記憶體儲存裝置能夠在一次直接記憶體存取的觸發期間對一個指令中屬於不同邏輯位址群組的資料使用對應的金鑰來加密,由此可大幅提升資料存取的效能。此外,在本發明範例實施
例的指令執行方法、記憶體控制器與記憶體儲存裝置中,指令接收與指令執行可獨立地被執行,因此,可增加指令執行的效率。
S1101、S1103、S1105、S1107‧‧‧執行指令的步驟
Claims (21)
- 一種指令執行方法,用於一記憶體儲存裝置,該指令執行方法包括:將對應該記憶體儲存裝置的多個邏輯位址區分為多個邏輯位址群組;將多個不同的金鑰分別地配置給該些邏輯位址群組,其中一個邏輯位址群組對應一個金鑰;從一主機系統接收一寫入指令與對應該寫入指令的一寫入資料並且將該寫入資料暫存至一緩衝記憶體,其中該寫入資料包括多個扇區資料並且該寫入指令指示將該些扇區資料寫入至該些邏輯位址之中的多個目標邏輯位址且該些目標邏輯位址屬於至少兩個不同的邏輯位址群組;以及執行該寫入指令並啟動一次直接記憶體存取來從該緩衝記憶體中傳輸該寫入資料至該記憶體儲存裝置的一可複寫式非揮發性記憶體模組中,且由一加密/解密電路根據對應該些目標邏輯位址的邏輯位址群組使用對應的金鑰來加密所傳輸之該寫入資料的該些扇區資料。
- 如申請專利範圍第1項所述的指令執行方法,其中該些邏輯位址群組包括一第一邏輯位址群組與一第二邏輯位址群組,該些金鑰之中的一第一金鑰被配置給該第一邏輯位址群組且該些金鑰之中的一第二金鑰被配置給該第二邏輯位址群組, 其中該些扇區資料包括一第一扇區資料與一第二扇區資料,該寫入指令指示將該第一扇區資料寫入至該些邏輯位址中屬於該第一邏輯位址群組的一第一邏輯位址並且指示將該第二扇區資料寫入至該些邏輯位址中屬於該第二邏輯位址群組的一第二邏輯位址,其中上述根據對應該些目標邏輯位址的邏輯位址群組使用對應的金鑰來加密所傳輸之該寫入資料的該些扇區資料的步驟包括:在傳輸該第一扇區資料期間,判斷配置給該第一邏輯位址群組的該第一金鑰是否已被載入至該加密/解密電路;在傳輸該第一扇區資料期間,倘若配置給該第一邏輯位址群組的該第一金鑰未被載入至該加密/解密電路,將該第一金鑰更換至該加密/解密電路中;在傳輸該第一扇區資料期間,由該加密/解密電路使用該第一金鑰加密所傳輸之該第一扇區資料,其中加密後的該第一扇區資料會被寫入至該可複寫式非揮發性記憶體模組;在傳輸該第二扇區資料期間,判斷配置給該第二邏輯位址群組的該第二金鑰是否已被載入至該加密/解密電路;在傳輸該第二扇區資料期間,倘若配置給該第一邏輯位址群組的該第二金鑰未被載入至該加密/解密電路,將該第二金鑰更換至該加密/解密電路中;以及在傳輸該第二扇區資料期間,由該加密/解密電路使用該第二 金鑰加密所傳輸之該第二扇區資料,其中加密後的該第二扇區資料會被寫入至該可複寫式非揮發性記憶體模組。
- 如申請專利範圍第1項所述的指令執行方法,其中將該些金鑰分別地配置給該些邏輯位址群組的步驟包括:初始地將該些金鑰載入至一金鑰暫存記憶體中。
- 如申請專利範圍第1項所述的指令執行方法,其中接收該寫入指令與對應該寫入指令的該寫入資料並且將該寫入資料暫存至該緩衝記憶體的步驟包括:由一指令接收電路接收該寫入指令並且將該寫入指令放至一指令佇列暫存器;由該指令接收電路判斷該寫入指令所指示的該些目標邏輯位址是否已被設定為一寫入鎖定;以及倘若該些目標邏輯位址已被設定為該寫入鎖定時,該指令接收電路從該指令佇列暫存器中清除該寫入指令。
- 如申請專利範圍第4項所述的指令執行方法,更包括:由一記憶體管理路將該寫入指令從該指令佇列暫存器移到一指令觸發佇列暫存器。
- 如申請專利範圍第5項所述的指令執行方法,更包括在執行該寫入指令並啟動該直接記憶體存取來從該緩衝記憶體中傳輸該寫入資料至該記憶體儲存裝置的該可複寫式非揮發性記憶體模組中之前,從該指令觸發佇列暫存器中選取該寫入指令。
- 如申請專利範圍第1項所述的指令執行方法,更包括 從該主機系統接收一讀取指令,其中該讀取指令指示從該些目標邏輯位址中讀取資料;由一記憶體管理電路從該可複寫式非揮發性記憶體模組中將屬於該些目標邏輯位址的讀取資料讀取至該緩衝記憶體中;以及執行該讀取指令並啟動該直接記憶體存取來從該緩衝記憶體中傳輸該讀取資料至該主機系統,同時由該加密/解密電路根據對應該些目標邏輯位址的邏輯位址群組使用對應的金鑰來解密所傳輸之該讀取資料的該些扇區資料。
- 一種記憶體控制器,包括:一記憶體介面,用以耦接至一可複寫式非揮發性記憶體模組;一主機介面,用以耦接至一主機系統;一緩衝記憶體;一記憶體管理電路,耦接至該記憶體介面、該主機介面與該緩衝記憶體;一指令接收電路,耦接至該記憶體管理電路;一指令執行控制電路,耦接至該記憶體管理電路;以及一加密/解密電路,耦接至該指令執行控制電路,其中該記憶體管理電路用以將多個邏輯位址區分為多個邏輯位址群組,並且將多個不同的金鑰分別地配置給該些邏輯位址群組,其中一個邏輯位址群組對應一個金鑰,其中該指令接收電路用以從該主機系統接收一寫入指令與對應該寫入指令的一寫入資料並且將該寫入資料暫存至該緩衝記憶 體,其中該寫入資料包括多個扇區資料並且該寫入指令指示將該些扇區資料寫入至該些邏輯位址之中的多個目標邏輯位址且該些目標邏輯位址屬於至少兩個不同的邏輯位址群組,其中該指令執行控制電路用以執行該寫入指令並啟動一次直接記憶體存取來從該緩衝記憶體中傳輸該寫入資料至該記憶體儲存裝置的一可複寫式非揮發性記憶體模組中,且該加密/解密電路根據對應該些目標邏輯位址的邏輯位址群組使用對應的金鑰來加密所傳輸之該寫入資料的該些扇區資料。
- 如申請專利範圍第8項所述的記憶體控制器,更包括一邏輯位址檢查電路,耦接至該加密/解密電路,其中該些邏輯位址群組包括一第一邏輯位址群組與一第二邏輯位址群組,該些金鑰之中的一第一金鑰被配置給該第一邏輯位址群組且該些金鑰之中的一第二金鑰被配置給該第二邏輯位址群組,其中該些扇區資料包括一第一扇區資料與一第二扇區資料,該寫入指令指示將該第一扇區資料寫入至該些邏輯位址中屬於該第一邏輯位址群組的一第一邏輯位址並且指示將該第二扇區資料寫入至該些邏輯位址中屬於該第二邏輯位址群組的一第二邏輯位址,其中在根據對應該些目標邏輯位址的邏輯位址群組使用對應的金鑰來加密所傳輸之該寫入資料的該些扇區資料的運作中,在傳輸該第一扇區資料期間,該邏輯位址檢查電路用以識別 出該寫入指令所指示的該第一邏輯位址並識別對應該第一邏輯位址的該第一邏輯位址群組,並且該加密/解密電路會根據該邏輯位址檢查電路的識別判斷配置給該第一邏輯位址群組的該第一金鑰是否已被載入至該加密/解密電路;在傳輸該第一扇區資料期間,倘若配置給該第一邏輯位址群組的該第一金鑰未被載入至該加密/解密電路,該加密/解密電路會載入該第一金鑰;在傳輸該第一扇區資料期間,該加密/解密電路使用該第一金鑰加密所傳輸之該第一扇區資料,其中加密後的該第一扇區資料會被寫入至該可複寫式非揮發性記憶體模組;在傳輸該第二扇區資料期間,該邏輯位址檢查電路用以識別出該寫入指令所指示的該第二邏輯位址並識別對應該第二邏輯位址的該第二邏輯位址群組,並且該加密/解密電路會根據該邏輯位址檢查電路的識別判斷配置給該第二邏輯位址群組的該第二金鑰是否已被載入至該加密/解密電路;在傳輸該第二扇區資料期間,倘若配置給該第一邏輯位址群組的該第二金鑰未被載入至該加密/解密電路,該加密/解密電路會載入該第二金鑰;以及在傳輸該第二扇區資料期間,該加密/解密電路使用該第二金鑰加密所傳輸之該第二扇區資料,其中加密後的該第二扇區資料會被寫入至該可複寫式非揮發性記憶體模組。
- 如申請專利範圍第8項所述的記憶體控制器,更包括一 金鑰暫存記憶體與一金鑰設定電路,分別地耦接至該加密/解密電路,其中該金鑰設定電路初始地將該些金鑰載入至該金鑰暫存記憶體中。
- 如申請專利範圍第8項所述的記憶體控制器,更包括一指令佇列暫存器,,其中該指令接收電路接收該寫入指令並且將該寫入指令放至該指令佇列暫存器,並且判斷該寫入指令所指示的該些目標邏輯位址是否已被設定為一寫入鎖定,其中倘若該些目標邏輯位址已被設定為該寫入鎖定時,該指令接收電路從該指令佇列暫存器中清除該寫入指令。
- 如申請專利範圍第11項所述的記憶體控制器,更包括一指令觸發佇列暫存器,其中該記憶體管理路將該寫入指令從該指令佇列暫存器移到一指令觸發佇列暫存器。
- 如申請專利範圍第12項所述的記憶體控制器,其中該指令執行控制電路從該指令觸發佇列暫存器中選取該寫入指令來執行。
- 如申請專利範圍第8項所述的記憶體控制器,其中該指令接收電路更用以從該主機系統接收一讀取指令,其中該讀取指令指示從該些目標邏輯位址中讀取資料,其中該記憶體管理電路從該可複寫式非揮發性記憶體模組中 將屬於該些目標邏輯位址的讀取資料讀取至該緩衝記憶體中,其中該指令執行控制電路執行該讀取指令並啟動該直接記憶體存取來從該緩衝記憶體中傳輸該讀取資料至該主機系統,同時該加密/解密電路根據對應該些目標邏輯位址的邏輯位址群組使用對應的金鑰來解密所傳輸之該讀取資料的該些扇區資料。
- 一種記憶體儲存裝置,包括:一連接器,用以連接至一主機系統;一可複寫式非揮發性記憶體模組;以及一記憶體控制器,耦接至該連接器與該可複寫式非揮發性記憶體模組,其中該記憶體控制器將對應該記憶體儲存裝置的多個邏輯位址區分為多個邏輯位址群組,其中該記憶體控制器將多個不同的金鑰分別地配置給該些邏輯位址群組,其中一個邏輯位址群組對應一個金鑰,其中該記憶體控制器接收一寫入指令與對應該寫入指令的一寫入資料並且將該寫入資料暫存至一緩衝記憶體,其中該寫入資料包括多個扇區資料並且該寫入指令指示將該些扇區資料寫入至該些邏輯位址之中的多個目標邏輯位址且該些目標邏輯位址屬於至少兩個不同的邏輯位址群組,其中該記憶體控制器執行該寫入指令並啟動一次直接記憶體存取來從該緩衝記憶體中傳輸該寫入資料至該記憶體儲存裝置的一可複寫式非揮發性記憶體模組中,且根據對應該些目標邏輯位 址的邏輯位址群組使用對應的金鑰來加密所傳輸之該寫入資料的該些扇區資料。
- 如申請專利範圍第15項所述的記憶體儲存裝置,其中該些邏輯位址群組包括一第一邏輯位址群組與一第二邏輯位址群組,該些金鑰之中的一第一金鑰被配置給該第一邏輯位址群組且該些金鑰之中的一第二金鑰被配置給該第二邏輯位址群組,其中該些扇區資料包括一第一扇區資料與一第二扇區資料,該寫入指令指示將該第一扇區資料寫入至該些邏輯位址中屬於該第一邏輯位址群組的一第一邏輯位址並且指示將該第二扇區資料寫入至該些邏輯位址中屬於該第二邏輯位址群組的一第二邏輯位址,其中在傳輸該第一扇區資料期間,該記憶體控制器判斷配置給該第一邏輯位址群組的該第一金鑰是否已被載入,倘若配置給該第一邏輯位址群組的該第一金鑰未被載入時,該記憶體控制器載入該第一金鑰,以及該記憶體控制器使用該第一金鑰加密所傳輸之該第一扇區資料,其中加密後的該第一扇區資料會被寫入至該可複寫式非揮發性記憶體模組,其中在傳輸該第二扇區資料期間,該記憶體控制器判斷配置給該第二邏輯位址群組的該第二金鑰是否已被載入,倘若配置給該第一邏輯位址群組的該第二金鑰未被載入時,該記憶體控制器載入該第二金鑰,以及該記憶體控制器使用該第二金鑰加密所傳輸之該第二扇區資料,其中加密後的該第二扇區資料會被寫入至 該可複寫式非揮發性記憶體模組。
- 如申請專利範圍第15項所述的記憶體儲存裝置,其中該記憶體控制器初始地將該些金鑰載入至一金鑰暫存記憶體中。
- 如申請專利範圍第15項所述的記憶體儲存裝置,其中該記憶體控制器接收該寫入指令並且將該寫入指令放至一指令佇列暫存器,並判斷該寫入指令所指示的該些目標邏輯位址是否已被設定為一寫入鎖定,其中倘若該些目標邏輯位址已被設定為該寫入鎖定時,該記憶體控制器從該指令佇列暫存器中清除該寫入指令。
- 如申請專利範圍第18項所述的記憶體儲存裝置,其中該記憶體控制器將該寫入指令從該指令佇列暫存器移到一指令觸發佇列暫存器。
- 如申請專利範圍第19項所述的記憶體儲存裝置,其中在執行該寫入指令並啟動該直接記憶體存取來從該緩衝記憶體中傳輸該寫入資料至該記憶體儲存裝置的該可複寫式非揮發性記憶體模組中的運作之前,該記憶體控制器從該指令觸發佇列暫存器中選取該寫入指令。
- 如申請專利範圍第15項所述的記憶體儲存裝置,其中該記憶體控制器更用以接收一讀取指令,其中該讀取指令用以指示從該些目標邏輯位址中讀取資料,其中該記憶體控制器從該可複寫式非揮發性記憶體模組中將屬於該些目標邏輯位址的讀取資料讀取至該緩衝記憶體中, 其中該記憶體控制器執行該讀取指令並啟動該直接記憶體存取來從該緩衝記憶體中傳輸該讀取資料至該主機系統,同時根據對應該些目標邏輯位址的邏輯位址群組使用對應的金鑰來解密所傳輸之該讀取資料的該些扇區資料。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102127642A TWI479359B (zh) | 2013-08-01 | 2013-08-01 | 指令執行方法、記憶體控制器與記憶體儲存裝置 |
US14/038,757 US9946661B2 (en) | 2013-08-01 | 2013-09-27 | Command executing method, memory controller and memory storage apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102127642A TWI479359B (zh) | 2013-08-01 | 2013-08-01 | 指令執行方法、記憶體控制器與記憶體儲存裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201506674A TW201506674A (zh) | 2015-02-16 |
TWI479359B true TWI479359B (zh) | 2015-04-01 |
Family
ID=52428794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102127642A TWI479359B (zh) | 2013-08-01 | 2013-08-01 | 指令執行方法、記憶體控制器與記憶體儲存裝置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9946661B2 (zh) |
TW (1) | TWI479359B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9298647B2 (en) * | 2014-08-25 | 2016-03-29 | HGST Netherlands B.V. | Method and apparatus to generate zero content over garbage data when encryption parameters are changed |
KR102457805B1 (ko) * | 2015-06-26 | 2022-10-25 | 삼성전자주식회사 | 불휘발성 메모리 모듈 및 그것의 동작 방법 |
US10152413B2 (en) | 2015-06-08 | 2018-12-11 | Samsung Electronics Co. Ltd. | Nonvolatile memory module and operation method thereof |
US10318193B2 (en) | 2015-09-14 | 2019-06-11 | Sandisk Technologies Llc | Systems and methods of command authorization |
KR20170051563A (ko) * | 2015-10-29 | 2017-05-12 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
CN105243344B (zh) * | 2015-11-02 | 2020-09-01 | 上海兆芯集成电路有限公司 | 具有硬盘加密功能的芯片组以及主机控制器 |
TWI646460B (zh) | 2016-06-20 | 2019-01-01 | 慧榮科技股份有限公司 | 資料處理電路與資料處理方法 |
TWI670595B (zh) * | 2017-09-26 | 2019-09-01 | 慧榮科技股份有限公司 | 主動錯誤更正失敗處理方法 |
CN109558266B (zh) | 2017-09-26 | 2022-06-14 | 慧荣科技股份有限公司 | 主动错误更正失败处理方法 |
KR102485411B1 (ko) * | 2018-03-02 | 2023-01-06 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
GB201807257D0 (en) * | 2018-05-02 | 2018-06-13 | Nordic Semiconductor Asa | Cryptographic key distribution |
US11010309B2 (en) * | 2018-05-18 | 2021-05-18 | Intel Corporation | Computer system and method for executing one or more software applications, host computer device and method for a host computer device, memory device and method for a memory device and non-transitory computer readable medium |
CN110908717B (zh) * | 2018-09-14 | 2023-11-24 | 深圳大心电子科技有限公司 | 指令处理方法及使用所述方法的存储控制器 |
JP7245993B2 (ja) * | 2019-07-18 | 2023-03-27 | パナソニックIpマネジメント株式会社 | 通信装置および通信システム |
US11824980B2 (en) * | 2019-08-27 | 2023-11-21 | Intel Corporation | Enhanced security for multi-link wireless operations |
CN113010458B (zh) * | 2019-12-19 | 2023-01-17 | 深圳大心电子科技有限公司 | 存储器管理方法、存储控制器与存储装置 |
CN111309268B (zh) * | 2020-02-27 | 2023-05-30 | 格兰菲智能科技有限公司 | 数据搬移装置与有重叠的数据搬移方法 |
KR20210113859A (ko) * | 2020-03-09 | 2021-09-17 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 및 그 동작 방법 |
US11556274B1 (en) * | 2021-09-01 | 2023-01-17 | Western Digital Technologies, Inc. | Endurance groups ECC allocation |
CN114987058B (zh) * | 2022-06-27 | 2023-05-02 | 珠海天威技术开发有限公司 | 耗材芯片及其数据读写方法、耗材容器 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6711653B1 (en) * | 2000-03-30 | 2004-03-23 | Intel Corporation | Flexible mechanism for enforcing coherency among caching structures |
US20050172207A1 (en) * | 2004-01-30 | 2005-08-04 | Radke William H. | Error detection and correction scheme for a memory device |
TWI341463B (en) * | 2005-03-09 | 2011-05-01 | Sandisk Corp | Portable memory storage device with biometric identification security |
TW201245956A (en) * | 2011-05-04 | 2012-11-16 | Chien-Kang Yang | Memory card and its access, data encryption, golden key generation and changing method |
TW201248409A (en) * | 2011-05-16 | 2012-12-01 | Broadcom Corp | Security architecture for using host memory in the design of a secure element |
TW201301835A (zh) * | 2011-06-24 | 2013-01-01 | Broadcom Corp | 產生安全裝置秘密金鑰的方法 |
TW201328278A (zh) * | 2011-12-29 | 2013-07-01 | Mediatek Inc | 加密和解密裝置以及其方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2815738B1 (fr) * | 2000-10-25 | 2003-03-21 | Dolphin Integration Sa | Controle d'acces a une memoire integree avec un microprocesseur |
JP3888354B2 (ja) * | 2004-01-16 | 2007-02-28 | カシオ計算機株式会社 | 撮像装置及びモード切換動作プログラム |
JP4447977B2 (ja) * | 2004-06-30 | 2010-04-07 | 富士通マイクロエレクトロニクス株式会社 | セキュアプロセッサ、およびセキュアプロセッサ用プログラム。 |
JP4566668B2 (ja) * | 2004-09-21 | 2010-10-20 | 株式会社日立製作所 | 記憶階層を有する計算機システムにおける暗号復号管理方法 |
US7467272B2 (en) * | 2004-12-16 | 2008-12-16 | International Business Machines Corporation | Write protection of subroutine return addresses |
JP2010146326A (ja) * | 2008-12-19 | 2010-07-01 | Toshiba Storage Device Corp | 記憶装置、その制御方法及びその記憶装置を用いた電子装置 |
US8176295B2 (en) * | 2009-04-20 | 2012-05-08 | Imation Corp. | Logical-to-physical address translation for a removable data storage device |
US8732431B2 (en) * | 2011-03-06 | 2014-05-20 | Micron Technology, Inc. | Logical address translation |
-
2013
- 2013-08-01 TW TW102127642A patent/TWI479359B/zh active
- 2013-09-27 US US14/038,757 patent/US9946661B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6711653B1 (en) * | 2000-03-30 | 2004-03-23 | Intel Corporation | Flexible mechanism for enforcing coherency among caching structures |
US20050172207A1 (en) * | 2004-01-30 | 2005-08-04 | Radke William H. | Error detection and correction scheme for a memory device |
TWI341463B (en) * | 2005-03-09 | 2011-05-01 | Sandisk Corp | Portable memory storage device with biometric identification security |
TW201245956A (en) * | 2011-05-04 | 2012-11-16 | Chien-Kang Yang | Memory card and its access, data encryption, golden key generation and changing method |
TW201248409A (en) * | 2011-05-16 | 2012-12-01 | Broadcom Corp | Security architecture for using host memory in the design of a secure element |
TW201301835A (zh) * | 2011-06-24 | 2013-01-01 | Broadcom Corp | 產生安全裝置秘密金鑰的方法 |
TW201328278A (zh) * | 2011-12-29 | 2013-07-01 | Mediatek Inc | 加密和解密裝置以及其方法 |
Also Published As
Publication number | Publication date |
---|---|
US20150039909A1 (en) | 2015-02-05 |
US9946661B2 (en) | 2018-04-17 |
TW201506674A (zh) | 2015-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI479359B (zh) | 指令執行方法、記憶體控制器與記憶體儲存裝置 | |
US9037782B2 (en) | Method of programming memory cells and reading data, memory controller and memory storage apparatus using the same | |
US9467288B2 (en) | Encryption key destruction for secure data erasure | |
TWI515735B (zh) | 資料抹除方法、記憶體控制電路單元及記憶體儲存裝置 | |
CN104346103B (zh) | 指令执行方法、存储器控制器与存储器储存装置 | |
US8589669B2 (en) | Data protecting method, memory controller and memory storage device | |
US9223696B2 (en) | Data storage device for holding erasure of victim block having valid page copied to merge block and method of operating the same | |
US8954705B2 (en) | Memory space management method and memory controller and memory storage device and memory storage using the same | |
TWI423026B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
TWI496161B (zh) | 記憶體識別碼產生方法、管理方法、控制器與儲存系統 | |
TWI486766B (zh) | 資料處理方法、記憶體控制器與記憶體儲存裝置 | |
TWI436212B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
TWI451248B (zh) | 資料保護方法、記憶體控制器與記憶體儲存裝置 | |
US20130080787A1 (en) | Memory storage apparatus, memory controller and password verification method | |
TWI498738B (zh) | 檔案保護方法與系統及其記憶體控制器與記憶體儲存裝置 | |
TWI438630B (zh) | 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置 | |
TW201407614A (zh) | 資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
TWI534814B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI451247B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
TWI521346B (zh) | 用於非揮發性記憶體的資料合併方法、控制器與儲存裝置 | |
TW201643722A (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI564901B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI566182B (zh) | 儲存裝置管理方法與系統及其記憶體儲存裝置 |