CN113094765A - 存储器以及存储系统 - Google Patents

存储器以及存储系统 Download PDF

Info

Publication number
CN113094765A
CN113094765A CN202011246338.7A CN202011246338A CN113094765A CN 113094765 A CN113094765 A CN 113094765A CN 202011246338 A CN202011246338 A CN 202011246338A CN 113094765 A CN113094765 A CN 113094765A
Authority
CN
China
Prior art keywords
memory
key
random number
pseudo
circuit
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
CN202011246338.7A
Other languages
English (en)
Inventor
金多厚
朴一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
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 SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN113094765A publication Critical patent/CN113094765A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • 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/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • 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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Storage Device Security (AREA)

Abstract

本公开提供一种存储器以及存储系统。存储器可以包括:伪随机数发生器,其适于使用从存储器控制器传送来的初始值产生伪随机数;访问密钥寄存器,其适于储存从存储器控制器传送来的访问密钥;计数器,其适于对访问密钥寄存器被更新的次数进行计数以产生更新数;逻辑运算电路,其适于通过对伪随机数和更新数执行逻辑运算来产生认证密钥;比较电路,其适于将访问密钥和认证密钥进行比较;以及安全区域,其在比较电路的比较结果指示访问密钥和认证密钥相同时允许被访问。

Description

存储器以及存储系统
相关申请的交叉引用
本申请要求2019年12月23日提交的申请号为10-2019-0173147的韩国专利申请的优先权,其全部内容通过引用合并于此。
技术领域
各种实施例涉及一种存储器和存储系统,更具体地,涉及存储器的安全性。
背景技术
近来,其中未经授权的用户通过各种非法侵入方法(诸如行锤击(rowhammer)、RAMBleed、冷启动攻击和跨CPU攻击)从存储器中索取储存在存储器中的重要数据(诸如用户密码和安全密钥)的安全问题备受关注。
为了解决这种安全问题,采用了多种方法。例如,对储存在存储器中的数据进行加密或加扰。然而,由于执行解决安全问题的操作,认证密钥可能会被泄露,或者系统性能开销可能会增加。
发明内容
各种实施例涉及一种能够加强存储器的安全性的技术。
在一个实施例中,一种存储器可以包括:伪随机数发生器(pseudorandom numbergenerator),其适于使用从存储器控制器传送来的初始值产生伪随机数;访问密钥寄存器,其适于储存从存储器控制器传送来的访问密钥;计数器,其适于对访问密钥寄存器被更新的次数进行计数以产生更新数;逻辑运算电路,其适于通过对伪随机数和更新数执行逻辑运算来产生认证密钥;比较电路,其适于将访问密钥和认证密钥进行比较;以及安全区域,其在比较电路的比较结果指示访问密钥和认证密钥相同时,允许被访问。
在一个实施例中,一种存储系统可以包括:存储器;以及存储器控制器,其适于控制存储器,其中,存储器包括:伪随机数发生器,其适于使用从存储器控制器传送来的初始值产生伪随机数;访问密钥寄存器,其适于储存从存储器控制器传送来的访问密钥;计数器,其适于对访问密钥寄存器被更新的次数进行计数以产生更新数;逻辑运算电路,其适于通过对伪随机数和更新数执行逻辑运算来产生认证密钥;比较电路,其适于将访问密钥和认证密钥进行比较;以及安全区域,其在比较电路的比较结果指示访问密钥和认证密钥相同时,允许被访问。
在一个实施例中,一种安全系统包括客户端设备和服务器设备,其中,客户端设备和服务器设备中的每个包括:第一电路,其适于基于种子值和系数来产生伪随机数;以及第二电路,其适于对第一密钥的大量更新进行计数以产生更新数,其中,客户端设备还包括第三电路,所述第三电路适于基于所产生的伪随机数和更新数来产生第一密钥,以及其中,服务器设备还包括:第四电路,其适于基于所产生的伪随机数和更新数来产生第二密钥;以及第五电路,其适于根据第一密钥和第二密钥而允许访问安全区域。
根据实施例,可以加强存储器的安全性。
附图说明
图1是示出根据一个实施例的存储器的配置的视图。
图2是示出根据一个实施例的存储器控制器的配置的视图。
图3是示出如图1的伪随机数发生器的一个实施例的视图。
图4是示出如图1的逻辑运算电路的一个实施例的视图。
具体实施方式
在下文中,参考附图对实施例进行描述,以便详细描述本发明,使本公开所涉及的技术领域的技术人员能够实践本发明。在下面的描述中,可以省略众所周知的材料。在遍及不同的附图中,相同的部件用相同的附图标记来标识。此外,在整篇说明书中,提及“一个实施例”或类似的词语不一定仅指一个实施例,并且对任何此类词组的不同提及不一定指相同的实施例。
图1是示出根据一个实施例的存储器100的视图。
参考图1,存储器100可以包括命令接收电路101、地址接收电路103、数据发送/接收电路105、行地址寄存器111、列地址寄存器113、命令解码器115、寄存器电路120、伪随机数发生器130、计数器140、逻辑运算电路150、比较电路160、区域确定电路171、阻止电路173、存储器核180和错误校正电路190。
命令接收电路101可以接收从存储器控制器200(如图2所示)传送的命令CMD。命令CMD可以具有多个比特位。地址接收电路103可以接收从存储器控制器200传送的地址ADD。地址ADD可以具有多个比特位。数据发送/接收电路105可以向/从存储器控制器200发送/接收数据DATA。在写入操作期间,数据DATA可以从存储器控制器200发送到存储器100。在读取操作期间,数据DATA可以从存储器100发送到存储器控制器200。数据DATA可以具有多个比特位。
命令解码器115可以通过对经由命令接收电路101接收到的命令CMD进行解码来产生内部命令信号。命令解码器115不仅可以对经由命令接收电路101接收到的命令CMD进行解码,还可以对经由地址接收电路103接收到的地址ADD的一些比特位进行解码,以便产生内部命令信号。内部命令信号可以包括激活信号ACT、预充电信号PCG、读取信号RD、写入信号WT、多个寄存器写入信号RW<0:3>和移位信号SFT。
行地址寄存器111和列地址寄存器113可以将经由地址接收电路103接收到的地址ADD分类为行地址R_ADD或列地址C_ADD,并储存行地址R_ADD或列地址C_ADD。当要求行地址的命令被施加时,即,当激活信号ACT被使能时,行地址寄存器111可以将地址ADD分类为行地址R_ADD,并存储行地址R_ADD。当要求列地址C_ADD的命令被施加时,即,当读取信号RD或写入信号WT被使能时,列地址寄存器113可以将地址ADD分类为列地址C_ADD,并储存列地址C_ADD。
寄存器电路120可以包括使能寄存器121、初始值寄存器123、系数寄存器(coefficient register)125和访问密钥寄存器127。当寄存器写入信号RW<3:0>之中的相应的寄存器写入信号被使能时,寄存器121、123、125和127中的每一个都可以使用经由地址接收电路103接收到的地址ADD传送的信息进行更新。也就是说,从存储器控制器200传送的信息可以被储存在寄存器电路120的寄存器121、123、125和127中。
使能寄存器121可以储存用于指示是否使用安全区域182的使能比特位EN。当使能比特位EN为‘1’时,可以指示将安全区域182用作储存安全数据的安全区域。当使能比特位EN为‘0’时,可以指示将安全区域182用作储存普通数据的普通(非安全)区域188,所述普通数据是不需要安全维护的数据。当寄存器写入信号RW<0>被使能时,使能比特位EN可以被写入到使能寄存器121。
初始值寄存器123可以储存要被伪随机数发生器130使用的初始值INI_KEY<7:0>。当寄存器写入信号RW<1>被使能时,初始值INI_KEY<7:0>可以被写入到初始值寄存器123。
系数寄存器125可以储存要被伪随机数发生器130使用的系数C<6:0>。当寄存器写入信号RW<2>被使能时,系数C<6:0>可以被写入到系数寄存器125。
访问密钥寄存器127可以储存从存储器控制器200传送的访问密钥ACCESS_KEY<7:0>。当寄存器写入信号RW<3>被使能时,访问密钥ACCESS_KEY<7:0>可以被写入到访问密钥寄存器127。
伪随机数发生器130可以产生伪随机数KEY<7:0>。伪随机数发生器130可以使用初始值INI_KEY<7:0>和系数C<6:0>。此外,每当移位信号SFT被使能时,伪随机数发生器130可以通过执行移位操作来产生新的伪随机数KEY<7:0>。
计数器140可以对在访问密钥寄存器127中更新访问密钥ACCESS_KEY<7:0>的次数进行计数。即,计数器140可以对寄存器写入信号RW<3>被使能的次数进行计数,并输出计数码CNT<3:0>。
逻辑运算电路150可以通过对伪随机数KEY<7:0>和计数码CNT<3:0>执行逻辑运算来产生认证密钥GENKEY<7:0>。逻辑运算电路150可以包括用于对伪随机数KEY<7:0>和计数码CNT<3:0>执行XOR运算的多个XOR门。
比较电路160可以将由逻辑运算电路150产生的认证密钥GENKEY<7:0>与储存在访问密钥寄存器127中的访问密钥ACCESS_KEY<7:0>进行比较。当认证密钥GENKEY<7:0>与访问密钥ACCESS_KEY<7:0>一致(即,相同)时,比较电路160可以将匹配信号MATCH使能为‘1’。
当使能比特位EN为‘1’时,区域确定电路171可以被使能。当区域确定电路171被使能时,区域确定电路171可以通过使用行地址R_ADD的一些比特位(例如,行地址的前三个位)来确定是要访问安全区域182还是普通区域183而产生安全区域信号SEC_AREA。当确定要访问安全区域182时,区域确定电路171可以将安全区域信号SEC_AREA使能为‘1’,而当确定要访问普通区域183时,将安全区域信号SEC_AREA禁止为0’。当使能比特位EN为‘0’时,区域确定电路171可以被禁止。在这种情况下,安全区域信号SEC_AREA可以被固定为‘0’。
当安全区域信号SEC_AREA为‘1’时,在匹配信号MATCH为‘1’的情况下,阻止电路173可以将激活信号ACT传送到存储器核180,而在匹配信号MATCH为‘0’的情况下,阻止激活信号ACT而不是将激活信号ACT传送到存储器核180。即,当安全区域182被使能且安全区域182要被访问时,在认证密钥GENKEY<7:0>和访问密钥ACCESS_KEY<7:0>彼此一致的情况下,阻止电路173可以将激活信号ACT传送到存储器核180,而在认证密钥GENKEY<7:0>和访问密钥ACCESS_KEY<7:0>不相同,即,彼此不一致的情况下,阻止电路173阻止激活信号AC向存储器核180的传送。表1显示了阻止电路173的操作。
[表1]
SEC_AREA MATCH 阻止电路的操作
1 1 ACT_N=ACT
1 0 ACT_N=‘0’
0 无关 ACT_N=ACT
当阻止电路173阻止激活信号ACT的传送时,可以防止对存储器核180的访问。
存储器核180可以包括单元阵列181、行电路184和列电路185。单元阵列181可以包括用于储存数据的多个存储单元。单元阵列181可以包括用于储存安全数据的安全区域182和用于储存一般数据的普通区域183。行电路184可以控制单元阵列181的行操作。当从阻止电路173传送的激活信号ACT_N被使能时,行电路184可以激活单元阵列181中由行地址R_ADD选择的行,即,字线。当预充电信号PCG被使能时,行电路184可以对被激活的行进行预充电。当读取信号RD被使能时,列电路185可以从单元阵列181中由列地址C_ADD选择的列中读取数据,并且当写入信号WT被使能时,列电路185将数据写入单元阵列181中由列地址C_ADD选择的列中。
错误校正电路190可以在写入操作期间利用经由数据发送/接收电路105接收到的数据DATA来产生错误校正码。错误校正码可以经由列电路185与数据DATA一起被储存在单元阵列181中。此外,在读取操作期间,错误校正电路190可以利用经由列电路185从单元阵列181输出的错误校正码来校正数据DATA的错误。当安全区域信号SEC_AREA为‘0’时,错误校正电路190可以被使能,而当安全区域信号SEC_AERA为‘1’时,错误校正电路190可以被禁止。这是因为,由于当向安全区域182写入/从安全区域182读取数据时,存储器控制器200经常使用较强的错误校正算法,因此在存储器100之内的错误校正电路190不需要被使用。不管安全区域信号SEC_AREA的逻辑电平如何,错误校正电路190都可以被设计为始终使能。
仅当访问密钥ACCESS_KEY<7:0>与认证密钥GENKEY<7:0>一致(即,相同)时,才能访问安全区域182。认证密钥GENKEY<7:0>是通过反映从存储器控制器200传送的初始值INI_KEY<7:0>和系数C<6:0>、存储器控制器200施加移位命令的次数(移位信号SFT被使能的次数)以及存储器控制器200更新访问密钥ACCESS_KEY<7:0>的次数而产生的。因此,可以完全阻止由不是指定的存储器控制器的另一个存储器控制器对安全区域182的访问。
图2是示出根据一个实施例的存储器控制器200的视图。
存储器控制器200可以根据主机(HOST)的请求来控制存储器100的操作。主机的实例包括CPU(中央处理器)、GPU(图形处理单元)、AP(应用程序处理器)等。如图2所示,存储器控制器200可以包括主机接口201、调度器203、命令发生器205、存储器接口207、伪随机数发生器211、计数器213和逻辑运算电路215。存储器控制器200可以被包括在CPU、GPU、AP或类似物中。在这种情况下,主机可以表示在CPU、GPU、AP或类似物中的除了存储器控制器200以外的组件。例如,当存储器控制器200被包括在CPU中时,图2的主机可以表示从CPU中排除存储器控制器200以外的其他组件。
主机接口201可以是用于在主机与存储器控制器200之间通信的接口。
调度器203可以决定来自主机的请求要被传送到存储器100的顺序。调度器203可以将传送顺序设置为不同于从主机接收请求的顺序,从而改变指示存储器100执行的操作的顺序,以提高存储器100的性能。例如,虽然主机首先请求对存储器100进行读取操作,然后请求进行写入操作,但是调度器203可以调整该顺序,使得在读取操作之前执行写入操作。
命令发生器205可以根据由调度器203决定的操作顺序来产生要应用于存储器100的命令。
存储器接口207可以用作在存储器控制器200与存储器100之间的接口。通过存储器接口207,命令CMD和地址ADD可以从存储器控制器200传送到存储器100,并且数据DATA可以在其间传输。存储器接口207也可以被称为PHY接口。
伪随机数发生器211可以以与存储器100的伪随机数发生器130相同的方式进行设计。伪随机数发生器211的初始值INI_KEY<7:0>和系数C<6:0>可以被设置为相同的值。此外,伪随机数发生器130执行移位操作的次数可以等于伪随机数发生器211执行移位操作的次数。由于在存储器100的伪随机数发生器130中所使用的初始值INI_KEY<7:0>、系数C<0:6>和移位信号SHIFT是从存储器控制器200传送来的,因此伪随机数发生器211和130可以使用相同的初始值INI_KEY<7:0>、相同的系数C<0:6>和相同的移位信号SHIFT。也就是说,伪随机数发生器211和130可以产生相同的伪随机数KEY<7:0>。
计数器213可以以与存储器100的计数器140相同的方式进行设计。存储器100的计数器140的计数码CNT<3:0>和存储器控制器200的计数器213的计数码CNT<3:0>可以保持相同的值。存储器100的计数器140可以计算寄存器写入信号RW<3>被使能的次数。由于通过从存储器控制器200传送的命令CMD产生寄存器写入信号RW<3>,因此计数器213和140的计数码CNT<3:0>可以保持相同的值。
逻辑运算电路215可以以与存储器100的逻辑运算电路150相同的方式进行设计。逻辑运算电路215可以通过对由伪随机数发生器211产生的伪随机数KEY<7:0>和由计数器140产生的计数码CNT<3:0>执行XOR运算来产生访问密钥ACCESS_KEY<7:0>。由逻辑运算电路215产生的访问密钥ACCESS_KEY<7:0>可以等于由逻辑运算电路150产生的认证密钥GENKEY<7:0>。
在存储器控制器200中用于产生访问密钥ACCESS_KEY<7:0>的组件211、213和215可以以与存储器100中它们各自对应的用于产生认证密钥GENKEY<7:0>的组件130、140和150相同的方式进行设计。存储器控制器200的组件211、213和215使用与存储器100的组件130、140和150相同的变量。因此,由组件211、213和215产生的访问密钥ACCESS_KEY<7:0>可以等于由组件130、140和150产生的认证密钥GENKEY<7:0>,即,相同。
当打算访问存储器100的安全区域182时,存储器控制器200可以通过存储器接口207将由组件211、213和215产生的访问密钥ACCESS_KEY<7:0>更新到存储器100的访问密钥寄存器127中,然后访问该安全区域。当完成对安全区域182的访问时,存储器控制器200可以更新假的访问密钥到访问密钥寄存器127中,以代替由组件211、213和215产生的真的访问密钥ACCESS_KEY<7:0>,从而不可以访问安全区域182。由于仅存储器控制器200知晓正确的访问密钥ACCESS_KEY<7:0>,因此可以阻止另一个存储器控制器(而不是存储器控制器200)对存储器100的安全区域182的访问。也就是说,可以维持储存在安全区域182中的数据的安全性。
图3是示出图1的伪随机数发生器130的一个实施例的视图。
参考图3,伪随机数发生器130可以包括触发(toggle)发生器310和LFSR(线性反馈移位寄存器)320。
每当移位信号SHF被使能时,触发发生器310可以使能触发信号TOGGLE。
LFSR 320可以包括串联耦接的D触发器321至328、用于反馈的XOR门331至337以及用于响应于系数C<6:0>来决定LFSR 320的反馈特性的选择器341至347。
D触发器321至328中的每个触发器的初始值可以设置为对应的INI_KEY<7:0>的初始值。例如,D触发器321的初始值可以是INI_KEY<0>,并且D触发器324的初始值可以是INI_KEY<3>。XOR门331至337可以用于D触发器321至328的反馈,并且反馈特性可以根据选择器341至347基于系数C<6:0>的选择来决定。例如,当C<3>为‘0’时,选择器344可以选择‘0’,并将‘0’输入到XOR门334,而当C<3>为‘1’时,选择器344可以选择D触发器324的输出,并将所选择的输出输入到XOR门334。此外,当C<5>为‘0’时,选择器346可以选择‘0’并将‘0’输入到XOR门336,而当C<5>为‘1’时,选择器346可以选择D触发器326的输出,并将所选择的输出输入到XOR门336。也就是说,取决于选择器341至347根据系数C<6:0>选择了什么,可以决定LFSR 320的反馈特性。
每当触发信号TOGGLE被使能时,D触发器321至328可以执行移位操作。
储存在D触发器321至328中的值可以成为伪随机数KEY<7:0>。伪随机数KEY<7:0>可以根据初始值INI_KEY<7:0>、用于决定反馈特性的系数C<6:0>以及移位信号SFT被使能的次数来决定。
图4是示出图1的逻辑运算电路150的一个实施例的视图。
参考图4,逻辑运算电路150可以包括XOR门401至408。
XOR门401至408可以通过对伪随机数KEY<7:0>和计数码CNT<3:0>执行逻辑运算来产生认证密钥GENKEY<7:0>。由于伪随机数KEY<7:0>具有八比特位并且计数码CNT<3:0>具有四比特位,因此如图4所示,认证密钥GENKEY<7:0>可以通过对伪随机数KEY<7:0>的前4比特位和计数码CNT<3:0>执行XOR运算和对伪随机数KEY<7:0>的后4比特位和计数码CNT<3:0>执行XOR运算的方法来产生。
XOR门401可以接收KEY<7>和CNT<3>并输出GENKEY<7>。XOR门402可以接收KEY<6>和CNT<2>并输出GENKEY<6>。XOR门403可以接收KEY<5>和CNT<1>并输出GENKEY<5>。XOR门404可以接收KEY<4>和CNT<0>并输出GENKEY<4>。XOR门405可以接收KEY<3>和CNT<3>并输出GENKEY<3>。XOR门406可以接收KEY<2>和CNT<2>并输出GENKEY<2>。XOR门407可以接收KEY<1>和CNT<1>并输出GENKEY<1>。XOR门408可以接收KEY<0>和CNT<0>并输出GENKEY<0>。
虽然已经例示和描述了各种实施例,但对于本领域的技术人员来说显而易见地是,在不偏离所附权利要求所限定的本发明的精神和范围的情况下,可以进行各种改变和修改。本发明涵盖落入权利要求范围内的所有此类改变和修改。

Claims (20)

1.一种存储器,包括:
伪随机数发生器,其适于使用从存储器控制器传送来的初始值产生伪随机数;
访问密钥寄存器,其适于储存从所述存储器控制器传送来的访问密钥;
计数器,其适于对所述访问密钥寄存器被更新的次数进行计数以产生更新数;
逻辑运算电路,其适于通过对所述伪随机数和所述更新数执行逻辑运算来产生认证密钥;
比较电路,其适于将所述访问密钥和所述认证密钥进行比较;以及
安全区域,其在所述比较电路的比较结果指示所述访问密钥和所述认证密钥相同时允许被访问。
2.根据权利要求1所述的存储器,
其中,所述伪随机数发生器包括线性反馈移位寄存器LFSR,
其中,所述初始值被用作所述LFSR的种子,以及
其中,所述LFSR具有由从所述存储器控制器传送来的系数决定的反馈特性。
3.根据权利要求2所述的存储器,其中,所述LFSR响应于从所述存储器控制器传送来的移位命令而执行移位操作。
4.根据权利要求1所述的存储器,其中,所述逻辑运算电路包括多个XOR门,所述多个XOR门适于对所述伪随机数和所述更新数执行逻辑运算。
5.根据权利要求1所述的存储器,
其中,所述安全区域被包括在存储器核中,以及
其中,所述存储器核包括普通区域,所述普通区域无论所述比较电路的比较结果如何都被允许访问。
6.根据权利要求5所述的存储器,
其中,所述存储器还包括错误校正电路,所述错误校正电路适于对从所述存储器核输出的数据的错误进行校正,以及
其中,当所述安全区域被访问时,所述错误校正电路被禁止。
7.根据权利要求5所述的存储器,还包括:
命令解码器,其适于通过对命令进行解码来产生激活信号;
区域确定电路,其适于使用行地址的一些比特位来确定是请求访问所述安全区域还是请求访问所述普通区域;以及
阻止电路,其适于在所述区域确定电路确定请求访问所述安全区域的情况下,当所述比较电路的比较结果指示所述访问密钥和所述认证密钥不同时,阻止将所述激活信号传送到所述存储器核。
8.根据权利要求3所述的存储器,还包括:
使能寄存器,其适于储存用于指示是否使用所述安全区域的使能比特位;以及
系数寄存器,其适于储存所述系数。
9.一种存储系统,包括:
存储器;以及
存储器控制器,其适于控制所述存储器,
其中,所述存储器包括:
伪随机数发生器,其适于使用从所述存储器控制器传送来的初始值产生伪随机数;
访问密钥寄存器,其适于储存从所述存储器控制器传送来的访问密钥;
计数器,其适于对所述访问密钥寄存器被更新的次数进行计数以产生更新数;
逻辑运算电路,其适于通过对所述伪随机数和所述更新数执行逻辑运算来产生认证密钥;
比较电路,其适于将所述访问密钥和所述认证密钥进行比较;以及
安全区域,其在所述比较电路的比较结果指示所述访问密钥和所述认证密钥相同时允许被访问。
10.根据权利要求9所述的存储系统,其中,所述存储器控制器包括:
控制器伪随机数发生器,其适于使用所述初始值来产生控制器伪随机数;
控制器计数器,其适于对所述存储器控制器更新所述存储器的所述访问密钥寄存器的次数进行计数;以及
控制器逻辑运算电路,其适于通过对所述控制器伪随机数和所述控制器计数器的计数值执行逻辑运算来产生所述访问密钥。
11.根据权利要求10所述的存储系统,
其中,所述控制器伪随机数发生器的配置方式与所述伪随机数发生器相同,
其中,所述控制器计数器的配置方式与所述计数器相同;以及
其中,所述控制器逻辑运算电路的配置方式与所述逻辑运算电路相同。
12.根据权利要求9所述的存储系统,
其中,所述伪随机数发生器包括线性反馈移位寄存器LFSR,
其中,所述初始值被用作所述LFSR的种子,以及
其中,所述LFSR具有由从所述存储器控制器传送来的系数决定的反馈特性。
13.根据权利要求12所述的存储系统,其中,所述LFSR响应于从所述存储器控制器传送来的移位命令而执行移位操作。
14.根据权利要求9所述的存储系统,其中,所述逻辑运算电路包括多个XOR门,所述多个XOR门适于对所述伪随机数和所述更新数执行逻辑运算。
15.根据权利要求9所述的存储系统,
其中,所述安全区域被包括在所述存储器的存储器核中,以及
其中,所述存储器核包括普通区域,所述普通区域无论所述比较电路的比较结果如何都被允许访问。
16.根据权利要求15所述的存储系统,
其中,所述存储器还包括错误校正电路,所述错误校正电路适于对从所述存储器核输出的数据的错误进行校正,以及
其中,当所述安全区域被访问时,所述错误校正电路被禁止。
17.根据权利要求15所述的存储系统,其中,所述存储器还包括:
命令解码器,其适于通过对从所述存储器控制器传送来的命令进行解码来产生激活信号;
区域确定电路,其适于使用从所述存储器控制器传送来的行地址的一些比特位来确定是请求访问所述安全区域还是请求访问所述普通区域;以及
阻止电路,其适于在所述区域确定电路确定请求访问所述安全区域的情况下,当所述比较电路的比较结果指示所述访问密钥和所述认证密钥彼此不同时,阻止将所述激活信号传送到所述存储器核。
18.根据权利要求13所述的存储系统,其中,所述存储器还包括:
使能寄存器,其适于储存用于指示是否使用所述安全区域的使能比特位;以及
系数寄存器,其适于储存所述系数。
19.根据权利要求13所述的存储系统,其中,在所述存储器的初始化操作期间,所述存储器控制器将所述初始值和所述系数传送到所述存储器。
20.一种安全系统,包括客户端设备和服务器设备,
其中,所述客户端设备和所述服务器设备中的每个包括:
第一电路,其适于基于种子值和系数来产生伪随机数;以及
第二电路,其适于对第一密钥的大量更新进行计数以产生更新数,
其中,所述客户端设备还包括第三电路,所述第三电路适于基于所产生的所述伪随机数和所述更新数来产生所述第一密钥,以及
其中,所述服务器设备还包括:
第四电路,其适于基于所产生的所述伪随机数和所述更新数来产生第二密钥;以及
第五电路,其适于根据所述第一密钥和所述第二密钥而允许访问安全区域。
CN202011246338.7A 2019-12-23 2020-11-10 存储器以及存储系统 Withdrawn CN113094765A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190173147A KR20210081009A (ko) 2019-12-23 2019-12-23 메모리 및 메모리 시스템
KR10-2019-0173147 2019-12-23

Publications (1)

Publication Number Publication Date
CN113094765A true CN113094765A (zh) 2021-07-09

Family

ID=76438307

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011246338.7A Withdrawn CN113094765A (zh) 2019-12-23 2020-11-10 存储器以及存储系统

Country Status (3)

Country Link
US (1) US11403235B2 (zh)
KR (1) KR20210081009A (zh)
CN (1) CN113094765A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113541947A (zh) * 2021-09-16 2021-10-22 飞天诚信科技股份有限公司 工作密钥生成方法、装置及计算机可读存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090217058A1 (en) * 2008-02-27 2009-08-27 Spansion Llc Secure data transfer after authentication between memory and a requester
US8154918B2 (en) * 2008-06-30 2012-04-10 Sandisk Il Ltd. Method for page- and block based scrambling in non-volatile memory
KR102518881B1 (ko) 2017-01-09 2023-04-05 삼성전자주식회사 반도체 장치의 동작 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113541947A (zh) * 2021-09-16 2021-10-22 飞天诚信科技股份有限公司 工作密钥生成方法、装置及计算机可读存储介质
CN113541947B (zh) * 2021-09-16 2021-11-26 飞天诚信科技股份有限公司 工作密钥生成方法、装置及计算机可读存储介质

Also Published As

Publication number Publication date
KR20210081009A (ko) 2021-07-01
US20210191881A1 (en) 2021-06-24
US11403235B2 (en) 2022-08-02

Similar Documents

Publication Publication Date Title
US9836415B2 (en) Buffer device, method and apparatus for controlling access to internal memory
US9990249B2 (en) Memory integrity with error detection and correction
US20070067644A1 (en) Memory control unit implementing a rotating-key encryption algorithm
US20070050642A1 (en) Memory control unit with configurable memory encryption
US10339333B2 (en) Method and apparatus for controlling application to access memory
US20220067157A1 (en) Device and method for protecting a memory
US7877615B2 (en) Semiconductor devices and scrambled data transmission methods thereof
US20190370189A1 (en) Off-chip memory address scrambling apparatus and method for system on chip
US11886717B2 (en) Interface for revision-limited memory
US9928385B2 (en) Periodic memory refresh in a secure computing system
KR20220036752A (ko) 로우 해머 리프레쉬 동작을 수행하는 메모리 장치 및 이의 동작 방법
CN113094765A (zh) 存储器以及存储系统
EP4202685A1 (en) Algebraic and deterministic memory authentication and correction with coupled cacheline metadata
TWI813815B (zh) 記憶體模組、其操作方法、記憶體系統以及其操作方法
CN111916132B (zh) 存储模块、其操作方法、存储系统以及其操作方法
KR20210114639A (ko) 메모리, 메모리 시스템 및 메모리의 동작 방법
US7916549B2 (en) Memory self-test circuit, semiconductor device and IC card including the same, and memory self-test method
US11960736B2 (en) Memory controller and method for controlling access to a memory module
US20230133922A1 (en) Electroinc devices and electroinc systems for transmitting bit stream including programming data
US20240184875A1 (en) Methods, devices and systems with authenticated memory device access transactions
CN116383900A (zh) 数据处理装置与数据处理方法
KR20030002448A (ko) 암호화 회로를 포함하는 메모리 장치
CN117476066A (zh) 存储器件刷新操作

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20210709