TWI737093B - 具有安全功能的記憶體晶片及記憶體裝置 - Google Patents

具有安全功能的記憶體晶片及記憶體裝置 Download PDF

Info

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
Application number
TW108147352A
Other languages
English (en)
Other versions
TW202028991A (zh
Inventor
張坤龍
陳嘉榮
張欽鴻
陳耕暉
Original Assignee
旺宏電子股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 旺宏電子股份有限公司 filed Critical 旺宏電子股份有限公司
Publication of TW202028991A publication Critical patent/TW202028991A/zh
Application granted granted Critical
Publication of TWI737093B publication Critical patent/TWI737093B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/72Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0284Multiple user address space allocation, e.g. using different base addresses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0653Configuration or reconfiguration with centralised address assignment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection 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/1425Protection 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/1441Protection 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting 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/79Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7204Capacity control, e.g. partitioning, end-of-life degradation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7206Reconfiguration of flash memory system
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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 Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (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. 一種記憶體裝置,包括: 一第一記憶體晶片,用以耦接至一主控制器,且包括: 一第一記憶體控制器; 一第一資料儲存區域,耦接至該第一記憶體控制器,且由一第一實體位址範圍表示; 一安全單元,耦接至該第一記憶體控制器;及 一位址配置單元,耦接至該第一記憶體控制器;以及 一第二記憶體晶片,耦接至該第一記憶體晶片,及通過該第一記憶體晶片間接地耦接至該主控制器,且包括: 一第二記憶體控制器;及 一第二資料儲存區域,耦接至該第二記憶體控制器,且由一第二實體位址範圍表示, 其中該位址配置單元記載一邏輯位址範圍對應於該第一實體位址範圍及該第二實體位址範圍的一或多個映射關係,該安全單元用以加密及解密該第一資料儲存區域及該第二資料儲存區域內的資料。
  2. 如申請專利範圍第1項所述之記憶體裝置,其中該位址配置單元包括一映射表,該映射表用以記載該一或多個映射關係。
  3. 如申請專利範圍第1項所述之記憶體裝置,其中該邏輯位址範圍的複數個邏輯位址分別包括一或多個尺寸位元,該一或多個尺寸位元用以表示該第二資料儲存區域的大小。
  4. 如申請專利範圍第1項所述之記憶體裝置,其中該邏輯位址範圍的複數個邏輯位址分別包括一或多個排列位元,該一或多個排列位元用以表示該第一實體位址範圍及該第二實體位址範圍於該映射關係中的一排列順序。
  5. 如申請專利範圍第1項所述之記憶體裝置,其中該邏輯位址範圍的一第一部分映射至該第一實體位址範圍,該邏輯位址範圍的一第二部分映射至該第二實體位址範圍,且該第一部分與該第二部分之間係不連續的。
  6. 一種記憶體晶片,包括: 一第一記憶體控制器; 一第一資料儲存區域,耦接至該第一記憶體控制器,且由一第一實體位址範圍表示; 一安全單元,耦接至第一記憶體控制器;以及 一位址配置單元,耦接至該第一記憶體控制器, 其中該記憶體晶片用於耦接於一主控制器及另一記憶體晶片之間,該另一記憶體晶片包括一第二資料儲存區域,該第二資料儲存區域由一第二實體位址範圍表示,該位址配置單元記載一邏輯位址範圍對應於該第一實體位址範圍及該第二實體位址範圍的一或多個映射關係,該安全單元用以加密及解密該第一資料儲存區域及該第二資料儲存區域內的資料。
  7. 如申請專利範圍第6項所述之記憶體晶片,其中該位址配置單元包括一映射表,該映射表用以記載該一或多個映射關係。
  8. 如申請專利範圍第6項所述之記憶體晶片,其中該邏輯位址範圍的複數個邏輯位址分別包括一或多個尺寸位元,該一或多個尺寸位元用以表示該第二資料儲存區域的大小。
  9. 如申請專利範圍第6項所述之記憶體晶片,其中該邏輯位址範圍的複數個邏輯位址分別包括一或多個排列位元,該一或多個排列位元用以表示該第一實體位址範圍及該第二實體位址範圍於該映射關係中的一排列順序。
  10. 如申請專利範圍第6項所述之記憶體晶片,其中該邏輯位址範圍的一第一部分映射至該第一實體位址範圍,該邏輯位址範圍的一第二部分映射至該第二實體位址範圍,且該第一部分與該第二部分之間係不連續的。
TW108147352A 2019-01-30 2019-12-24 具有安全功能的記憶體晶片及記憶體裝置 TWI737093B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI789082B (zh) * 2020-10-30 2023-01-01 銓安智慧科技股份有限公司 具資訊安全之記憶卡裝置與應用其中的晶片控制方法
US11886734B2 (en) 2020-10-30 2024-01-30 InfoKeyVault Technology Co., Ltd. Secure memory card and control method thereof

Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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
CN111506934A (zh) 2020-08-07
CN111506934B (zh) 2023-06-30
TW202028991A (zh) 2020-08-01
US20200242273A1 (en) 2020-07-30
US11520933B2 (en) 2022-12-06

Similar Documents

Publication Publication Date Title
US9483664B2 (en) Address dependent data encryption
US10868679B1 (en) Nonvolatile memory device with regions having separately programmable secure access features and related methods and systems
US7657754B2 (en) Methods and apparatus for the secure handling of data in a microcontroller
US9977749B2 (en) Application processor and data processing system including the same
TWI737093B (zh) 具有安全功能的記憶體晶片及記憶體裝置
US10749672B2 (en) Computing system having an on-the-fly encryptor and an operating method thereof
TWI747007B (zh) 可配置安全記憶區域
US20210311643A1 (en) Memory encryption engine interface in compute express link (cxl) attached memory controllers
WO2022132184A1 (en) System, method and apparatus for total storage encryption
TW201833812A (zh) 資料儲存裝置以及其操作方法
KR20210077839A (ko) 메모리 장치 및 이를 포함하는 메모리 시스템
US10983711B2 (en) Memory controller, method for performing access control to memory module
CN213876729U (zh) 一种ssd主控芯片随机缓存保密电路
US11050569B2 (en) Security memory scheme
US10970232B2 (en) Virtual root of trust for data storage device
TWI736000B (zh) 資料儲存裝置以及其操作方法
TWI735208B (zh) 資料防護系統及方法
TWI731407B (zh) 具有旁通通道的金鑰管理裝置及處理器晶片
TWI821052B (zh) 用來進行儲存裝置的權限管理的電子裝置以及方法
TWI805341B (zh) 系統單晶片架構及其資料保護方法
TWI835604B (zh) 資料加解密系統及資料加解密方法
TW202403773A (zh) 半導體裝置及用以管理其之安全操作的系統與方法
TW202407565A (zh) 安全記憶體裝置及其存取方法
CN117850663A (zh) 一种管理数据的方法及相关产品
WO2020128547A1 (en) Method and device to ensure a secure memory access