TWI737093B - 具有安全功能的記憶體晶片及記憶體裝置 - Google Patents
具有安全功能的記憶體晶片及記憶體裝置 Download PDFInfo
- Publication number
- TWI737093B TWI737093B TW108147352A TW108147352A TWI737093B TW I737093 B TWI737093 B TW I737093B TW 108147352 A TW108147352 A TW 108147352A TW 108147352 A TW108147352 A TW 108147352A TW I737093 B TWI737093 B TW I737093B
- Authority
- TW
- Taiwan
- Prior art keywords
- address range
- memory
- physical address
- data storage
- storage area
- Prior art date
Links
Images
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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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
- 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
-
- 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/0284—Multiple user address space allocation, e.g. using different base addresses
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
- G06F12/0653—Configuration or reconfiguration with centralised address assignment
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
- G06F12/1441—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
-
- 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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7204—Capacity control, e.g. partitioning, end-of-life degradation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7206—Reconfiguration of flash memory system
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
一種記憶體晶片,包括一第一記憶體控制器、一第一資料儲存區域、一安全單元以及一位址配置單元。第一資料儲存區域由一第一實體位址範圍表示。安全單元耦接至第一記憶體控制器。位址配置單元耦接至該第一記憶體控制器。記憶體晶片用於耦接於一主控制器及另一記憶體晶片之間。該另一記憶體晶片包括一第二資料儲存區域。第二資料儲存區域由一第二實體位址範圍表示。位址配置單元記載一邏輯位址範圍對應於第一實體位址範圍及第二實體位址範圍的一或多個映射關係。安全單元用以加密及解密第一資料儲存區域及第二資料儲存區域內的資料。
Description
本發明是有關於一種具有安全認證功能的記憶體晶片及記憶體裝置。
現代人越來越重視個人隱私。為了符合使用者的需求,記憶體裝置會在記憶體晶片中加入安全機制。然而,在記憶體晶片中加入安全功能勢必需要增加額外的電路,也就是成本會隨之增加。有鑑於此,如何讓記憶體裝置中的眾多記憶體晶片皆具有安全功能,卻不會增加過多的成本,是業界努力的目標之一。
本發明實施例係揭露一種記憶體裝置,包括一第一記憶體晶片及一第二記憶體晶片。第一記憶體晶片用以耦接至一主控制器,且包括一第一記憶體控制器、一第一資料儲存區域、一安全單元以及一位址配置單元。第一資料儲存區域耦接至第一記憶體控制器,且由一第一實體位址範圍表示。安全單元耦接至第一記憶體控制器。位址配置單元耦接至該第一記憶體控制器。第二記憶體晶片耦接至第一記憶體晶片,通過第一記憶體晶片間接地耦接至主控制器,且包括一第二記憶體控制器及一第二資料儲存區域。第二資料儲存區域耦接至第二記憶體控制器,且由一第二實體位址範圍表示。位址配置單元記載一邏輯位址範圍對應於第一實體位址範圍及第二實體位址範圍的一或多個映射關係。安全單元用以加密及解密第一資料儲存區域及第二資料儲存區域內的資料。
本發明另一實施例揭露一種記憶體晶片,包括一第一記憶體控制器、一第一資料儲存區域、一安全單元以及一位址配置單元。第一資料儲存區域耦接至第一記憶體控制器,且由一第一實體位址範圍表示。安全單元耦接至第一記憶體控制器。位址配置單元耦接至該第一記憶體控制器。記憶體晶片用於耦接於一主控制器及另一記憶體晶片之間。該另一記憶體晶片包括一第二資料儲存區域。第二資料儲存區域由一第二實體位址範圍表示。位址配置單元記載一邏輯位址範圍對應於第一實體位址範圍及第二實體位址範圍的一或多個映射關係。安全單元用以加密及解密第一資料儲存區域及第二資料儲存區域內的資料。
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉實施例,並配合所附圖式詳細說明如下:
請參照第1圖,第1圖繪示依據本發明一實施例的記憶體裝置的方塊圖。記憶體裝置10包括一第一記憶體晶片MC1以及一第二記憶體晶片MC2。第一記憶體晶片MC1用以耦接至一主控制器90,其中主控制器90例如是一中央處理器、一般用途的處理晶片或專門用途的積體電路晶片等。第二記憶體晶片MC2耦接至第一記憶體晶片MC1,亦即第二記憶體晶片MC2通過第一記憶體晶片MC1間接地耦接至主控制器90。在一實施例中,第一記憶體晶片MC1及第二記憶體晶片MC2可被封裝在一多晶片封裝(multi-chip package)中。
第一記憶體晶片MC1包括一第一記憶體控制器1021、一第一資料儲存區域1023、一安全單元1025以及一位址配置單元1027。第一記憶體晶片MC1可為專用的控制電路用以實現控制介面協定(interface protocol)、內部的狀態機(state machine)等。當第一記憶體晶片MC1接收到來自主控制器90的操作命令(例如寫入命令或讀取命令等),第一記憶體控制器1021會回應於來自主控制器90的操作命令進行對應的操作。第一資料儲存區域1023耦接至第一記憶體控制器1021,可由一第一實體位址範圍來代表,用以儲存資料。安全單元1025耦接至第一記憶體控制器1021,可為專用的電路用以實現例如進階加密標準(Advanced Encryption Standard,AES)、橢圓曲線迪菲-赫爾曼金鑰交換(Elliptic Curve Diffie–Hellman key Exchange,ECDH)、金鑰雜湊訊息鑑別碼(Keyed-hash message authentication code,HMAC)、安全雜湊演算法(Secure Hash Algorithm,SHA)等安全演算法。安全單元1025可用以加密或解密第一資料儲存區域內的資料,及/或檢查第一資料儲存區域內的資料的正確性。在一示例性的實施例中,安全單元1025可為訊息驗證引擎(message authentication engine),包括適當的邏輯用以使用所接收的全部或部分命令序列以(command sequence)及與所識別的記憶體區域(例如第一資料儲存區域1023或第二資料儲存區域1043)相關聯的儲存的訊息認證參數來計算與所接收的訊息認證碼進行匹配的值,並且如果計算出的值與接收的訊息認證碼不匹配,則阻止由命令序列所識別的記憶體操作完成。位址配置單元1027耦接至第一記憶體控制器1021,其細節將於下文詳述。
第二記憶體晶片MC2包括一第二記憶體控制器1041以及一第二資料儲存區域1043。第二記憶體控制器1041可為專用的控制電路用以實現控制介面協定、內部的狀態機等。當第二記憶體MC2接收到主控制器90通過第一記憶體晶片MC1傳送的操作命令(例如寫入命令或讀取命令等),第二記憶體控制器1041會回應於主控制器90通過第一記憶體晶片MC1傳送的操作命令進行對應的操作。第二資料儲存區域1043耦接至第二記憶體控制器1041,可由一第二實體位址範圍來代表,用以儲存資料。
位址配置單元1027耦接至第一記憶體控制器1021。位址配置單元1027可為一可編程唯讀記憶體(Programmable read-only memory)、暫存器(register)、靜態隨機存取記憶體(Static Random Access Memory,SRAM)或非揮發性記憶體等。位址配置單元1027可用以記載一邏輯位址範圍對應於第一實體位址範圍及第二實體位址範圍的一或多個映射關係。在一實施例中,位址配置單元1027可包括一映射表,映射表記載邏輯位址範圍對應於第一實體位址範圍及第二實體位址範圍的一或多個映射關係。舉例來說,當第一記憶體晶片MC1收到來自主控制器90的一讀取命令及一邏輯位址,第一記憶體控制器1021會依據位址配置單元1027的映射表將該邏輯位址映射至第一實體位址範圍或第二實體位址範圍中的實體位址。當該邏輯位址是映射到第一實體位址範圍中的實體位址時,第一記憶體控制器1021會根據所映射到的實體位址存取第一資料儲存區域1023,再將讀出的資料由安全單元1025進行加密/解密後傳送至主控制器90。當該邏輯位址是映射到第二實體位址範圍中的實體位址時,第一記憶體控制器1021會將讀取指令及所映射到的實體位址傳送至第二記憶體晶片MC2。接著,第二記憶體控制器1041依據所映射到的實體位址存取第二資料儲存區域1043,再將讀出的資料傳送至第一記憶體晶片MC1,由安全單元1025進行加密/解密後傳送至主控制器90。
請參照第2A~2C圖,第2A~2C圖繪示邏輯位址範圍對應於第一實體位址範圍與第二實體位址範圍的映射關係示意圖。在第2A圖的配置中,邏輯位址範圍中的第一部分P1是映射至第一實體位址範圍,邏輯位址範圍中的第二部分P2是映射至第二實體位址範圍,其中邏輯位址範圍中的第一部分P1的邏輯位址皆小於邏輯位址範圍中的第二部分P2的邏輯位址。在第2B圖的配置中,邏輯位址範圍中的第一部分P1是映射至第二實體位址範圍,邏輯位址範圍中的第二部分P2是映射至第一實體位址範圍,其中邏輯位址範圍中的第一部分P1的邏輯位址皆小於邏輯位址範圍中的第二部分P2的邏輯位址。在一實施例中,位址配置單元1027的映射表可記載第2A圖與第2B圖所示的映射關係的其中之一。在另一實施例中,第2A圖與第2B圖所示的映射關係可同時記載於位址配置單元1027的映射表中。在映射表記載二種以上映射關係的實施例中,邏輯位址的其中一或多個排列位元可用以代表映射關係的類型。舉例來說,在映射表同時記載第2A圖及第2B圖的映射關係的實施例中,邏輯位址的最高有效位元為排列位元,當邏輯位址的最高有效位元為0時代表映射關係是第2A圖的映射關係,當邏輯位址的最高有效位元為1時代表映射關係是第2B圖的映射關係。
在第2C圖的配置中,邏輯位址範圍中的第一部分P1是映射至第一實體位址範圍,邏輯位址範圍中的第二部分P2是映射至第二實體位址範圍,其中邏輯位址範圍中的第一部分P1的邏輯位址皆小於邏輯位址範圍中的第二部分P2的邏輯位址,且第一部分P1與第二部分P2不連續。
請參照第3圖,第3圖繪示邏輯位址範圍對應於第一實體位址範圍與第二實體位址範圍的映射關係示意圖。在本實施例中,邏輯位址範圍中的羅及位址更包括一或多個尺寸位元用以代表第二資料儲存區域1043的大小。第3圖中繪示了根據本發明示例性的實施例中對應於四種不同大小的第二資料儲存區域的映射關係的例子,而邏輯位址中有二個位元作為尺寸位元,用以表示第二資料儲存區域的大小,其中尺寸位元為00時表示第二資料儲存區域的大小為1Gb,尺寸位元為01時表示第二資料儲存區域的大小為512Mb,尺寸位元為10時表示第二資料儲存區域的大小為256Mb,尺寸位元為11時表示第二資料儲存區域的大小為128Mb。
如第4圖所示,在另一實施例中,記憶體裝置40的第二記憶體晶片MC2可進一步包括一第三資料儲存區域4045,其中第三資料儲存區域4045可由一第三實體位址範圍代表。如第5圖所示,邏輯位址範圍中的邏輯位址可包括三個排列位元,當排列位元為000時,邏輯位址範圍中的邏輯位址由低至高依序映射至第一實體位址範圍、第二實體位址範圍及第三實體位址範圍;當排列位元為001時,邏輯位址範圍中的邏輯位址由低至高依序映射至第一實體位址範圍、第三實體位址範圍及第二實體位址範圍;當排列位元為010時,邏輯位址範圍中的邏輯位址由低至高依序映射至第二實體位址範圍、第一實體位址範圍及第三實體位址範圍;當排列位元為011時,邏輯位址範圍中的邏輯位址由低至高依序映射至第二實體位址範圍、第三實體位址範圍及第一實體位址範圍;當排列位元為100時,邏輯位址範圍中的邏輯位址由低至高依序映射至第三實體位址範圍、第二實體位址範圍及第一實體位址範圍;當排列位元為101時,邏輯位址範圍中的邏輯位址由低至高依序映射至第三實體位址範圍、第一實體位址範圍及第二實體位址範圍。
在一實施例中,記憶體裝置10所選用的邏輯位址範圍與多個實體位址範圍(例如第一實體位址範圍、第二實體位址範圍等)的映射關係是在記憶體裝置10出廠時設定且無法由使用者變更。在另一實施例中,記憶體裝置10所選用的邏輯位址範圍與多個實體位址範圍(例如第一實體位址範圍、第二實體位址範圍等)的映射關係可於運作時動態設定或由使用者自行變更。
根據設計需求,第一記憶體晶片MC1及第二記憶體晶片MC2可為動態隨機存取記憶體(Dynamic Random Access Memory,DRAM)或靜態隨機存取記憶體(Static Random Access Memory,SRAM)的快閃記憶體(Flash memory)晶片、可擦除可編程唯讀記憶體(Erasable Programmable Read Only Memory,EPROM)晶片、可變電阻式記憶體(Resistive random-access memory,ReRAM)晶片、相變化記憶體(Phase-change memory,PCM)晶片或其他類型的非揮發性記憶體晶片。
在替代的實施例中,本發明可藉由具有一第一記憶體晶片及一或多個第二記憶體晶片的一記憶體裝置實現。第一記憶體晶片包括一第一介面、一第一控制電路、一第一記憶體區域及一安全單元。第一介面用以接收來自一主機裝置的一命令序列,並用以辨識一記憶體操作,例如寫入操作或讀取操作。第一控制電路操作性地耦接至第一介面。第一控制電路用以解碼命令序列。第一記憶體區域耦接至第一介面及第一控制電路。第一安全單元操作性地耦接至第一介面,並用以驗證記憶體操作。每一個第二記憶體晶片包括一第二介面及一第二記憶體區域。第二介面耦接至第一介面。第二記憶體區域耦接至第二介面。在此實施例中,第一介面是用來與主機裝置及第二記憶體晶片溝通,而第二介面是用來與第一介面溝通。第一介面藉由一邏輯位址範圍對應於用以表示第一記憶體區域的第一實體位址範圍及用以表示第二記憶體區域的一或多個第二實體位址範圍的一或多個映射關係從命令序列中辨識出一目標記憶體區域以將記憶體操作指向第一記憶體區域及第二記憶體區域的其中之一。第一控制電路則依據目標記憶體區域執行記憶體操作。
依據本發明,一個具有多記憶體晶片的記憶體裝置中,僅需在其中一個記憶體晶片中配置安全單元,而其他記憶體晶片通過配置有安全單元的記憶體晶片而間接地耦接至主控制器,便可使得記憶體裝置中的所有記憶體晶片皆能受到安全單元的保障。
綜上所述,雖然本發明已以實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
10、40:記憶體裝置
MC1:第一記憶體晶片
MC2:第二記憶體晶片
1021、4021:第一記憶體控制器
1023、4023:第一資料儲存區域
1025、4025:安全單元
1027、4027:位址配置單元
1041、4041:第二記憶體控制器
1043、4043:第二資料儲存區域
4045:第三資料儲存區域
90:主控制器
P1:第一部分
P2:第二部分
第1圖繪示依據本發明一實施例的記憶體裝置的方塊圖。
第2A~2C圖繪示邏輯位址範圍對應於第一實體位址範圍及第二實體位址範圍的映射關係示意圖。
第3圖繪示邏輯位址範圍對應於第一實體位址範圍及第二實體位址範圍的多個映射關係示意圖。
第4圖繪示依據本發明另一實施例的記憶體裝置的方塊圖。
第5圖繪示邏輯位址範圍對應於多個實體位址範圍的多個映射關係示意圖。
10:記憶體裝置
MC1:第一記憶體晶片
MC2:第二記憶體晶片
1021:第一記憶體控制器
1023:第一資料儲存區域
1025:安全單元
1027:位址配置單元
1041:第二記憶體控制器
1043:第二資料儲存區域
90:主控制器
Claims (10)
- 一種記憶體裝置,包括: 一第一記憶體晶片,用以耦接至一主控制器,且包括: 一第一記憶體控制器; 一第一資料儲存區域,耦接至該第一記憶體控制器,且由一第一實體位址範圍表示; 一安全單元,耦接至該第一記憶體控制器;及 一位址配置單元,耦接至該第一記憶體控制器;以及 一第二記憶體晶片,耦接至該第一記憶體晶片,及通過該第一記憶體晶片間接地耦接至該主控制器,且包括: 一第二記憶體控制器;及 一第二資料儲存區域,耦接至該第二記憶體控制器,且由一第二實體位址範圍表示, 其中該位址配置單元記載一邏輯位址範圍對應於該第一實體位址範圍及該第二實體位址範圍的一或多個映射關係,該安全單元用以加密及解密該第一資料儲存區域及該第二資料儲存區域內的資料。
- 如申請專利範圍第1項所述之記憶體裝置,其中該位址配置單元包括一映射表,該映射表用以記載該一或多個映射關係。
- 如申請專利範圍第1項所述之記憶體裝置,其中該邏輯位址範圍的複數個邏輯位址分別包括一或多個尺寸位元,該一或多個尺寸位元用以表示該第二資料儲存區域的大小。
- 如申請專利範圍第1項所述之記憶體裝置,其中該邏輯位址範圍的複數個邏輯位址分別包括一或多個排列位元,該一或多個排列位元用以表示該第一實體位址範圍及該第二實體位址範圍於該映射關係中的一排列順序。
- 如申請專利範圍第1項所述之記憶體裝置,其中該邏輯位址範圍的一第一部分映射至該第一實體位址範圍,該邏輯位址範圍的一第二部分映射至該第二實體位址範圍,且該第一部分與該第二部分之間係不連續的。
- 一種記憶體晶片,包括: 一第一記憶體控制器; 一第一資料儲存區域,耦接至該第一記憶體控制器,且由一第一實體位址範圍表示; 一安全單元,耦接至第一記憶體控制器;以及 一位址配置單元,耦接至該第一記憶體控制器, 其中該記憶體晶片用於耦接於一主控制器及另一記憶體晶片之間,該另一記憶體晶片包括一第二資料儲存區域,該第二資料儲存區域由一第二實體位址範圍表示,該位址配置單元記載一邏輯位址範圍對應於該第一實體位址範圍及該第二實體位址範圍的一或多個映射關係,該安全單元用以加密及解密該第一資料儲存區域及該第二資料儲存區域內的資料。
- 如申請專利範圍第6項所述之記憶體晶片,其中該位址配置單元包括一映射表,該映射表用以記載該一或多個映射關係。
- 如申請專利範圍第6項所述之記憶體晶片,其中該邏輯位址範圍的複數個邏輯位址分別包括一或多個尺寸位元,該一或多個尺寸位元用以表示該第二資料儲存區域的大小。
- 如申請專利範圍第6項所述之記憶體晶片,其中該邏輯位址範圍的複數個邏輯位址分別包括一或多個排列位元,該一或多個排列位元用以表示該第一實體位址範圍及該第二實體位址範圍於該映射關係中的一排列順序。
- 如申請專利範圍第6項所述之記憶體晶片,其中該邏輯位址範圍的一第一部分映射至該第一實體位址範圍,該邏輯位址範圍的一第二部分映射至該第二實體位址範圍,且該第一部分與該第二部分之間係不連續的。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962798494P | 2019-01-30 | 2019-01-30 | |
US62/798,494 | 2019-01-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202028991A TW202028991A (zh) | 2020-08-01 |
TWI737093B true TWI737093B (zh) | 2021-08-21 |
Family
ID=71731414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108147352A TWI737093B (zh) | 2019-01-30 | 2019-12-24 | 具有安全功能的記憶體晶片及記憶體裝置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11520933B2 (zh) |
CN (1) | CN111506934B (zh) |
TW (1) | TWI737093B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7284796B2 (ja) | 2020-10-30 | 2023-05-31 | 銓安智慧科技股▲分▼有限公司 | セキュアメモリカード及びその制御方法 |
TWI789082B (zh) * | 2020-10-30 | 2023-01-01 | 銓安智慧科技股份有限公司 | 具資訊安全之記憶卡裝置與應用其中的晶片控制方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7562388B2 (en) * | 2001-05-31 | 2009-07-14 | International Business Machines Corporation | Method and system for implementing security devices in a network |
WO2014150339A2 (en) * | 2013-03-15 | 2014-09-25 | Openpeak Inc. | Method and system for enabling communications between unrelated applications |
CN106708631A (zh) * | 2016-11-30 | 2017-05-24 | 福建省天奕网络科技有限公司 | 共享内存属性修改方法及其系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289625A (zh) * | 2011-09-30 | 2011-12-21 | 方波 | 具有加密功能的存储芯片和防盗版方法 |
KR102218712B1 (ko) * | 2014-02-11 | 2021-02-22 | 삼성전자주식회사 | 저장 장치의 어드레스 맵핑 방법 및 저장 장치의 데이터 독출 방법 |
EP3252651A1 (en) * | 2016-05-30 | 2017-12-06 | Samsung Electronics Co., Ltd | Computing system having an on-the-fly encryptor and an operating method thereof |
CN106682535A (zh) * | 2017-03-16 | 2017-05-17 | 周清睿 | 系统级芯片 |
US10983711B2 (en) * | 2018-01-04 | 2021-04-20 | Montage Technology Co., Ltd. | Memory controller, method for performing access control to memory module |
US20190212930A1 (en) * | 2018-01-10 | 2019-07-11 | Realtek Semiconductor Corporation | Data storage chip and data access method |
-
2019
- 2019-12-24 US US16/726,284 patent/US11520933B2/en active Active
- 2019-12-24 TW TW108147352A patent/TWI737093B/zh active
-
2020
- 2020-01-02 CN CN202010001527.1A patent/CN111506934B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7562388B2 (en) * | 2001-05-31 | 2009-07-14 | International Business Machines Corporation | Method and system for implementing security devices in a network |
WO2014150339A2 (en) * | 2013-03-15 | 2014-09-25 | Openpeak Inc. | Method and system for enabling communications between unrelated applications |
CN106708631A (zh) * | 2016-11-30 | 2017-05-24 | 福建省天奕网络科技有限公司 | 共享内存属性修改方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
US20200242273A1 (en) | 2020-07-30 |
US11520933B2 (en) | 2022-12-06 |
TW202028991A (zh) | 2020-08-01 |
CN111506934A (zh) | 2020-08-07 |
CN111506934B (zh) | 2023-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11411747B2 (en) | Nonvolatile memory device with regions having separately programmable secure access features and related methods and systems | |
US20170046281A1 (en) | Address dependent data encryption | |
US9977749B2 (en) | Application processor and data processing system including the same | |
US7657754B2 (en) | Methods and apparatus for the secure handling of data in a microcontroller | |
US12086424B2 (en) | Memory encryption engine interface in compute express link (CXL) attached memory controllers | |
WO2022132184A1 (en) | System, method and apparatus for total storage encryption | |
US10749672B2 (en) | Computing system having an on-the-fly encryptor and an operating method thereof | |
TWI737093B (zh) | 具有安全功能的記憶體晶片及記憶體裝置 | |
TWI747007B (zh) | 可配置安全記憶區域 | |
TW201833812A (zh) | 資料儲存裝置以及其操作方法 | |
TW202101215A (zh) | 具有密碼學組件的記憶體裝置 | |
KR20210077839A (ko) | 메모리 장치 및 이를 포함하는 메모리 시스템 | |
US10970232B2 (en) | Virtual root of trust for data storage device | |
US10983711B2 (en) | Memory controller, method for performing access control to memory module | |
CN112395651B (zh) | 存储器装置及用于操作存储器装置的方法 | |
TW202042092A (zh) | 密碼保護的資料儲存裝置以及非揮發式記憶體控制方法 | |
TW202407565A (zh) | 安全記憶體裝置及其存取方法 | |
TWI736000B (zh) | 資料儲存裝置以及其操作方法 | |
TWI731407B (zh) | 具有旁通通道的金鑰管理裝置及處理器晶片 | |
US20240184875A1 (en) | Methods, devices and systems with authenticated memory device access transactions | |
TWI821052B (zh) | 用來進行儲存裝置的權限管理的電子裝置以及方法 | |
WO2020128547A1 (en) | Method and device to ensure a secure memory access | |
TWI835604B (zh) | 資料加解密系統及資料加解密方法 | |
US20240249002A1 (en) | Storage system including storage device and host provisioning certificate into the storage device, system including the storage system, and method of operating the system | |
TW202403773A (zh) | 半導體裝置及用以管理其之安全操作的系統與方法 |