CN113126905A - 用于重放受保护存储器块的安全密钥更新 - Google Patents

用于重放受保护存储器块的安全密钥更新 Download PDF

Info

Publication number
CN113126905A
CN113126905A CN202011595178.7A CN202011595178A CN113126905A CN 113126905 A CN113126905 A CN 113126905A CN 202011595178 A CN202011595178 A CN 202011595178A CN 113126905 A CN113126905 A CN 113126905A
Authority
CN
China
Prior art keywords
memory
memory device
security key
value
request
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.)
Pending
Application number
CN202011595178.7A
Other languages
English (en)
Inventor
G·卡列洛
G·吉利奥
P·米森
J·S·帕里
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.)
Micron Technology Inc
Original Assignee
Micron Technology 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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN113126905A publication Critical patent/CN113126905A/zh
Pending 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/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
    • 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
    • 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
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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
    • 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
    • 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/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • 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
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/24Bit-line control circuits
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/145Protection 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 virtual, e.g. for virtual blocks or segments before a translation mechanism
    • 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/7208Multiple device management, e.g. distributing data over multiple flash devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Read Only Memory (AREA)

Abstract

本公开涉及用于重放受保护存储器块的安全密钥更新。在一些实例中公开了方法、系统、存储器装置和机器可读媒体,用于通过使用加载到存储器装置的含有重新编程、修改和/或擦除密钥的指令的特殊固件对象(密钥修改固件)来提供修改、擦除或更新所述存储器装置的受保护区域的安全密钥的安全方法。为了确保这个密钥修改固件不会成为安全风险,可以通过各种方式保护所述密钥修改固件对象,使其后续不会被使用。

Description

用于重放受保护存储器块的安全密钥更新
优先权要求
本专利申请根据35 U.S.C.章节119要求卡列洛(Cariello)等人于2019年12月30日提交的名称为“配置对受保护存储器的存取”的第62/955,135号美国临时专利申请的优先权,所述申请特此以全文引用的方式并入本文中。
技术领域
实施例涉及存储器装置。一些实施例涉及安全更新密钥以存取例如重放受保护存储器块的受保护区域。
背景技术
用于计算机或其它电子装置的存储器装置可以分类为易失性和非易失性存储器。易失性存储器需要电力来维持它上面存储的数据。易失性存储器包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)或同步动态随机存取存储器(SDRAM)等等。非易失性存储器可在不被供电时保持所存储的数据,且包含快闪存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、静态RAM(SRAM)、可擦除可编程ROM(EPROM)、电阻可变存储器、相变存储器、存储类存储器、电阻式随机存取存储器(RRAM)和磁阻式随机存取存储器(MRAM),等等。
快闪存储器用作用于广泛范围的电子应用的非易失性存储器。快闪存储器装置通常包含允许高存储器密度、高可靠性和低功耗的例如浮动栅极或电荷阱存储器单元的晶体管的一或多个群组。
发明内容
在一个方面中,本公开涉及一种存储器装置,所述存储器装置包括:存储器阵列,所述存储器阵列包括多个存储器单元,所述存储器阵列的一部分是使用安全密钥存取的受保护部分;控制器,所述控制器经配置以执行包括以下各项的操作:接收将所述存储器装置的配置设置设置为第一值的请求;将所述存储器装置的所述配置设置设置为所述第一值;确定操作度量是否低于阈值;响应于将所述存储器装置的所述配置设置设置为所述第一值且确定所述操作度量低于所述阈值,启用安全密钥修改特征;接收修改所述受保护部分的所述安全密钥的请求;响应于接收到所述请求,确定所述安全密钥修改特征是否启用;以及响应于确定所述安全密钥修改特征启用,修改所述受保护部分的所述安全密钥。
在另一方面中,本公开涉及一种方法,其包括:在存储器装置处:接收将所述存储器装置的配置设置设置为第一值的请求;将所述存储器装置的所述配置设置设置为所述第一值;确定操作度量是否低于阈值;响应于将所述存储器装置的所述配置设置设置为所述第一值且确定所述操作度量低于所述阈值,启用安全密钥修改特征;接收修改所述存储器装置的存储器阵列的受保护部分的安全密钥的请求;响应于接收到所述请求,确定所述安全密钥修改特征是否启用;以及响应于确定所述安全密钥修改特征启用,修改所述受保护部分的所述安全密钥。
在又一方面中,本公开涉及一种存储指令的非暂时性机器可读媒体,所述指令在由存储器装置的控制器执行时使所述存储器装置执行包括以下各项的操作:接收将所述存储器装置的配置设置设置为第一值的请求;将所述存储器装置的所述配置设置设置为所述第一值;确定操作度量是否低于阈值;响应于将所述存储器装置的所述配置设置设置为所述第一值且确定所述操作度量低于所述阈值,启用安全密钥修改特征;接收修改所述存储器装置的存储器阵列的受保护部分的安全密钥的请求;响应于接收到所述请求,确定所述安全密钥修改特征是否启用;以及响应于确定所述安全密钥修改特征启用,修改所述受保护部分的所述安全密钥。
附图说明
在不一定按比例绘制的图式中,相似标号可以在不同视图中描述类似组件。具有不同字母后缀的相似标号可表示类似组件的不同例子。图式借助于实例且非限制性地总体上说明本文件中所论述的各种实施例。
图1示出根据本公开的一些实例的例如存储装置的存储器装置的图式。
图2示出根据本公开的一些实例的NAND架构半导体存储器阵列的一部分的实例示意图。
图3示出根据本公开的一些实例的3D NAND架构半导体存储器的实例示意图。
图4示出根据本公开的一些实例的存储器裸片的实例框图。
图5示出根据本公开的一些实例的用于使用匹配的操作固件和密钥修改固件限制对安全密钥的无授权修改的第一实例流程。
图6示出根据本公开的一些实例的使用匹配固件更新存储器装置的受保护部分的安全密钥的方法的流程图。
图7示出根据本公开的一些实例的用于使用配置设置限制对安全密钥的无授权修改的第一实例流程。
图8示出用于控制何时以及在什么条件下启用密钥擦除固件的存储器控制器的实例状态迁移图。
图9示出根据本公开的一些实例的启用密钥修改固件的方法的流程图。
图10示出根据本公开的一些实例的使用配置值更新存储器装置的受保护部分的安全密钥的方法的流程图。
图11示出上面可执行本文所论述的技术(例如,方法)中的任何一或多个的实例机器的框图。
具体实施方式
例如快闪存储器装置的存储器装置可利用“重放受保护存储器块”或RPMB,其阻止对某些存储器地址的存储器存取,除非请求者通过请求提供正确的消息认证码(HMAC SHA-256)。消息认证码是根据密码安全密钥以及写入计数器和随机数计算的。写入计数器和随机数可防止重放攻击。在系统制造过程中,安全密钥被编程到存储器装置和主机中以永久耦合。
在存储器装置和主机装置中对安全密钥进行编程之后,主机装置的组件中的制造缺陷可能会导致在主机装置上更换或重做一或多个组件。这可能导致更换存储安全密钥的存储装置上的组件,或删除存储器装置并在另一主机装置中使用。在这些情况下,主机装置和存储器装置不再具有匹配的安全密钥。出于安全原因,电子装置工程设计联合协会(JEDEC)不允许更换存储器装置上的密钥。
更一般来说,除了RPMB之外的其它类型的保护方案也可用于保护对存储器装置的一或多个受保护区域的存取,所述受保护区域可能不同于RPMB的程序和存取控制。这些保护方案通常还要求请求者提供一个秘密值来存取(读取、写入和/或修改)这些受保护区域。通常,秘密值是安全密钥或者是使用安全密钥计算的,这些密钥被编程到主机和存储器装置中。这些其它方案也可能在制造后改变和更换密钥方面存在类似的问题。
在一些实例中公开了方法、系统、存储器装置和机器可读媒体,用于通过使用加载到存储器装置的含有重新编程、修改和/或擦除密钥的指令的特殊固件对象(密钥修改固件)来提供修改、擦除或更新存储器装置的受保护区域的安全密钥的安全方法。为了确保这个密钥修改固件不会成为安全风险,可以通过各种方式保护密钥修改固件对象,使其后续不会被使用。
在第一实例中,装置或装置群组(例如,提供给主机装置的每个原始设备制造商(OEM)的装置)可具备特定于所述装置或装置群组的自定义固件对象。这些自定义固件对象可通过存储器装置制造商加载或者可以提供给所述装置的接收方(例如,OEM)并使用由接收方执行的现场固件更新(FFU)过程加载到存储器装置上。这些固件对象可具有对应的自定义密钥修改固件对象,它们只对为所述装置提供的自定义固件对象起作用。然后,密钥修改固件对象可以用于为具有匹配的自定义固件的装置的受保护区域(例如,RPMB区域)清除、修改和/或更新安全密钥,但是可能不用于为具有不同自定义固件的其它客户清除、修改和/或更新安全装置。
在其它实例中,为了防止对特殊固件对象的无授权使用,而不是耦合自定义固件对象和自定义密钥修改固件对象,可以将通用固件加载到所有存储器装置。如果在存储器装置的操作度量满足启用锁定条件之前(例如,在写入装置的字节数超过阈值之前),存储器装置的配置变量设置为定义的安全密钥修改值,则存储器装置启用密钥修改固件对象。作为实例,如果在装置超过写入的特定字节数(可能为零字节)之前将定义的串写入配置变量,则启用密钥修改固件对象。可以通过将配置变量修改为另一个值来停用密钥修改功能。由于在一些实例中,在将用户数据写入存储器装置之前,必须将配置变量设置为安全密钥修改值,因此一旦使用了所述装置,之后就不能启用密钥修改固件。
这允许跨装置群组使用标准固件对象,同时为OEM制造商提供了一种控制密钥修改功能的方法。在一些实例中,配置变量可以是由JEDEC标准定义的存储器装置的“OEM串属性”,它通常被设置为指示各种装置信息的值,例如标识OEM的供应商名称。如前所述,作为允许安全密钥被更新的先决条件,自定义密钥修改固件对象可以验证配置变量在操作度量满足锁定条件之前是否已被设置为特定的预先指定值。安全密钥修改值对于特定的存储器装置群组是唯一的(例如,安全密钥修改值对于每个OEM可能是唯一的)。如果安全密钥修改值被泄露,这只会影响特定装置群组中的装置,并且只影响在装运给客户之前未锁定的装置。
除了要求在操作度量满足锁定条件之前将安全密钥修改值设置为配置设置之外,还可以通过锁定配置模式将配置设置设置为不同的值并锁定而无法进行进一步修改。这可防止进一步修改配置设置,从而提供另一层保护。如前所述,要启用密钥修改固件,需要在操作度量满足锁定条件之前将配置设置设置为安全密钥修改值。这可以防止制造商忽略了覆写配置设置或忽略了锁定配置模式。例如,当写入的数据量大于零时。因此,即使制造商没有接触配置值或锁定配置,一旦存储器装置被写入,就不能改变安全密钥,对于大多数在终端用户手中的存储器装置来说,情况就是这样。
在一些实例中,对于每一装置,安全密钥修改值的值可能不同(例如,可以是或包含装置特定的信息,例如序列号);每个主机装置OEM(例如,可以是或包含OEM特定的标识符);或装置群组(例如,可以是或包含群组特定标识符)。这可以阻止在不同的装置群组中使用自定义密钥修改固件对象,因为每个自定义密钥修改固件对象都可能经译码以查找不同的安全密钥修改值。
在一些实例中,制造商可以将自定义密钥修改固件对象加载到需要更新其安全密钥的装置上(例如,使用现场固件更新(FFU)过程)。在其它实例中,密钥修改固件可由存储器装置制造商加载到所有装置上。
上述技术提供了一种由授权用户更换安全密钥的安全方法,这通过确保安全密钥可以被修改然后锁定以防进一步修改来进行。使用可以保护使用匹配的固件和密钥修改固件对象或使用配置设置和操作度量来修改安全密钥的能力的技术解决方案,这解决了以安全方式修改安全密钥的技术问题。
存储器装置概述
如先前所提到,快闪存储器用作用于广泛范围的电子应用的非易失性存储器。快闪存储器通常包含允许高存储器密度、高可靠性和低功耗的例如浮动栅极或电荷阱存储器单元的晶体管的一或多个群组。两个常见类型的快闪存储器阵列架构包含NAND和NOR架构,以每一者的基本存储器单元配置所布置的逻辑形式来命名。存储器阵列的存储器单元通常布置成矩阵。在实例中,阵列的一行中的每个存储器单元的栅极耦合到存取线(例如,字线)。在NOR架构中,阵列的一列中的每个存储器单元的漏极耦合到数据线(例如,位线)。在NAND架构中,阵列的一串中的每个存储器单元的漏极以源极到漏极方式一起串联耦合在源极线与位线之间。
NOR和NAND架构半导体存储器阵列均通过解码器来存取,所述解码器通过选择耦合到特定存储器单元的栅极的字线来激活特定存储器单元。在NOR架构半导体存储器阵列中,一旦被激活,选定存储器单元便使其数据值置于位线上,从而依据特定单元经编程的状态而使不同电流流动。在NAND架构半导体存储器阵列中,将高偏置电压施加到漏极侧选择栅极(SGD)线。以指定传递电压(例如,Vpass)驱动耦合到每一群组的未选定存储器单元的栅极的字线,以使每一群组的未选定存储器单元作为传递晶体管操作(例如,以不受其所存储的数据值限制的方式传递电流)。电流随后从源极线通过每个串联耦合的群组流动到位线,仅受每个群组中的选定存储器单元限制,从而使选定存储器单元的当前经编码数据值置于位线上。
NOR或NAND架构半导体存储器阵列中的快闪存储器单元可单独地或共同地编程到一个或数个经编程状态。例如,单层级单元(SLC)可表示两个经编程状态(例如,1或0)中的一个,表示一个数据位。然而,快闪存储器单元也可表示超过两个经编程状态中的一个,从而允许制造较高密度的存储器而不增加存储器单元的数目,因为每个单元可表示超过一个二进制数字(例如,超过一个位)。此类单元可称为多状态存储器单元、多数位单元或多层级单元(MLC)。在某些实例中,MLC可指代每单元可存储两个数据位(例如,四个编程状态中的一个)的存储器单元,三层级单元(TLC)可指代每单元可存储三个数据位(例如,八个编程状态中的一个)的存储器单元,且四层级单元(QLC)可每单元存储四个数据位。MLC在本文中以其广泛情形使用,指代每单元可存储多于一个数据位(即,可表示超过两个经编程状态)的任何存储器单元。
传统的存储器阵列是布置于半导体衬底的表面上的二维(2D)结构。为了针对给定面积增加存储器容量且减小成本,已减小单独存储器单元的大小。然而,存在单独存储器单元的大小减少的技术限制,且因此存在2D存储器阵列的存储器密度的技术限制。作为响应,正开发三维(3D)存储器结构,例如3D NAND架构半导体存储器装置,以进一步增加存储器密度且降低存储器成本。
此类3D NAND装置通常包含在源极附近的一或多个源极侧选择栅极(SGS)和位线附近的一或多个漏极侧选择栅极(SGD)之间串联耦合的存储单元串(例如,漏极到源极)。在实例中,SGS或SGD可包含一或多个场效应晶体管(FET)或金属-氧化物半导体(MOS)结构装置,等等。在一些实例中,串将竖直延伸穿过含有相应字线的多个竖直隔开的层次。半导体结构(例如,多晶硅结构)可在存储单元串邻近处延伸以形成用于串中的存储单元的通道。在竖直串的实例中,多晶硅结构可呈竖直延伸的柱的形式。在一些实例中,串可以“折叠”,并因此相对于U形柱布置。在其它实例中,多个竖直结构可以彼此堆叠以形成存储单元串的堆叠阵列。
存储器阵列或装置可以组合到一起以形成存储器系统的存储体,例如固态驱动器(SSD)或各种形式的受管理存储器装置中的一个。受管理存储器装置可以根据公认的行业标准进行配置和操作。例如,受管理NAND装置可以是(作为非限制性实例)通用快闪存储(UFSTM)装置或嵌入式MMC装置(eMMCTM)等等。例如,在以上实例的情况下,UFS装置可以根据名称为“JEDEC UFS快闪存储3.0”的电子装置工程设计联合协会(JEDEC)标准和/或此类标准的更新或后续版本配置,例如JEDEC标准JESD223D。类似地,所识别的eMMC装置也可以根据名称为“JEDEC eMMC标准5.1”的JEDEC标准JESD84-A51和/或此类标准的更新或后续版本配置。
SSD尤其可用作计算机的主要存储装置,关于例如性能、大小、重量、坚固性、工作温度范围和功率消耗具有优于带有移动部件的传统硬盘驱动器的优点。例如,SSD可具有减少的寻道时间、等待时间或与磁盘驱动器相关联的其它延迟(例如,机电等)。SSD使用例如快闪存储器单元等非易失性存储器单元来避免内部电池电源要求,由此允许驱动器更为多功能的且紧凑的。
SSD可包含数个存储器装置,包含数个裸片或逻辑单元(例如,逻辑单元数字或LUN),且可包含执行操作存储器装置或与外部系统介接所需的逻辑功能的一或多个处理器或其它控制器。这些SSD可包含一或多个快闪存储器裸片,这些裸片上包含数个存储器阵列和外围电路系统。快闪存储器阵列可包含组织成数个物理页的数个存储器单元块。在许多实例中,SSD还会包含DRAM或SRAM(或其它形式的存储器裸片或其它存储器结构)。SSD可与存储器操作结合从主机接收命令,所述存储器操作例如在存储器装置与主机之间传送数据(例如,用户数据和相关联的完整性数据,例如错误数据和地址数据等)的读取或写入操作,或者从存储器装置擦除数据的擦除操作。
存储器装置包含实施一个(或更多)选定存储技术的单独存储器裸片,所述存储器裸片可例如包含包括一或多个存储器单元阵列的存储区域。此类存储器裸片通常包含用于操作存储器阵列的支持电路系统。有时统称为“受管理存储器装置”的其它实例包含与经配置以控制所述一或多个存储器裸片的操作的控制器功能性相关联的一或多个存储器裸片的组合件。此类控制器功能性可简化与例如本文中稍后论述的“主机”的外部装置的互操作性。在此类受管理存储器装置中,控制器功能性可以实施于同样并入有存储器阵列的一或多个裸片上或实施于单独的裸片上。在其它实例中,一或多个存储器装置可以与控制器功能性组合以形成固态级驱动(SSD)存储体。术语“存储器系统”在本文中用作包含一或多个存储器裸片以及用于此类存储器裸片的任何控制器功能性(若存在);并且因此包含单独的存储器装置、受管理存储器装置和SSD。
出于本发明的目的,实例实施例包含实施NAND快闪存储器单元的受管理存储器装置,被称为“受管理NAND”装置。此类受管理NAND装置可以总体上根据所描述的JEDEC UFS快闪存储3.0规范构建和操作,并且可以视需要进行修改以结合本文中所描述的结构和功能性。但是,所描述功能性可以与上文所描述的可以结合其它存储技术的其它类型的存储器装置一起实施,几个非限制性实例早先已在本文中加以论述;并且可经配置以用于根据上文所论述的其它行业标准或根据非行业标准协议操作。
例如移动电子装置(例如,智能电话、平板计算机等)、用于汽车应用的电子装置(例如,汽车传感器、控制单元、驾驶员辅助系统、乘客安全或舒适系统等)和因特网连接的电器设备或装置(例如,物联网(IoT)装置等)的电子装置尤其取决于电子装置的类型、使用环境、性能期望等而具有不同的存储需要。
电子装置可以分解为数个主要组件:处理器(例如,中央处理单元(CPU)或另一主处理器);存储器(例如,一或多个易失性或非易失性随机存取存储器(RAM)存储器装置,例如动态RAM(DRAM)、移动或低功率双倍数据速率同步DRAM(DDR SDRAM)等等);以及存储装置(例如,非易失性存储器(NVM)装置,如快闪存储器、只读存储器(ROM)、SSD、MMC或另一存储卡结构或组合件,等等)。在某些实例中,电子装置可包含用户接口(例如,显示器、触摸屏、键盘、一或多个按钮,等等)、图形处理单元(GPU)、功率管理电路、基带处理器或一或多个收发器电路等。
图1示出根据本公开的一些实例的例如存储装置的存储器装置100的图式。存储器装置100可包含一或多个主机接口123,所述主机接口可利用一或多个协议,例如串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、通用快闪存储(UFS)接口、eMMCTM接口或一或多个其它连接器或接口,以与主机装置135通信。主机135可通过主机接口123向存储器装置100发送一或多个命令,例如读取命令、写入命令、擦除命令等等。主机接口123可以是控制器105的一部分,或者可以由单独的电路系统实施。存储器装置100可通过主机总线137经由主机接口向主机装置135发送数据、命令、响应等等。
存储器装置100可包含一或多个存储器控制器105。控制器105可包含处理电路系统110,所述处理电路系统可包含一或多个硬件处理器115。处理器115可以是执行固件或其它软件指令以执行存储器装置的操作的通用硬件处理器,包含实施主机接口123、受保护区域逻辑122和存储器裸片接口125。在其它实例中,处理器115可以是专门设计成通过硬件逻辑和/或通过执行软件指令来执行存储器装置100的操作的专用硬件处理器。处理电路系统110还可包含经配置以执行各种控制功能性和存储器管理操作的逻辑电路和其它电路组件,或其部分,它们的实例在下文描述。
在所描绘的实例中,存储器装置100包含通过主机总线137提供到外部主机装置135的通信的主机接口123。依据存储器装置100(其还可称为“存储器系统”)的特定配置,主机接口123的配置可具有各种形式。例如,在存储器装置100是UFS装置的实例中,主机接口将符合适用的UFS标准。
存储器装置100还在控制器105的处理电路系统110和存储器装置100内的存储器裸片130-A-130N+1的至少某一部分之间并有一或多个存储器裸片接口125。存储器裸片接口125可以是控制器105的一部分,或者可以由单独的电路系统实施。例如,在UFS装置的实例中,存储器裸片接口125中的一或多个将是合适的存储器接口,例如开放NAND快闪接口(“ONFI”),例如由ONFI 4.0规范或其后续版本或修订本定义的接口。
存储器装置100的组件,例如控制器105,可包含用于执行存储器装置100的操作的随机存取存储器(RAM)120。随机存取存储器120可与控制器105分开,或者如图所示,可以集成在控制器105中。
控制器105可通过与存储器装置中作为一或多个存储器裸片130-A-130N+1的部分的存储器单元交互来处理存储器的一或多个功能。在图4中示出存储器裸片130的实例实施方案的示意图。控制器105可跨存储器裸片总线127通过存储器裸片接口125与这些存储器裸片通信。在一些实例中,存储器裸片可具有自己的装置控制器,包含处理电路系统和处理器,以控制相应存储器裸片上的操作。此类装置控制器可以与装置存储阵列一起在公共裸片上形成,或者可以在与含有装置存储阵列的裸片分开的裸片上。这两种配置均被本文中所描述的所识别“存储器裸片”(130A-N+1)涵盖。存储器裸片可以是NAND裸片、三维NAND裸片、相变存储器裸片等等。
主机装置135可以是个人计算机、智能手机、平板电脑、集成电路的一部分、物联网(IoT)装置(例如,冰箱或其它电器、传感器、电机或致动器、移动通信装置、汽车、无人机等),等等。
出于本描述的目的,可在NAND存储器的上下文中描述实例存储器操作和管理功能。所属领域的技术人员将认识到,其它形式的非易失性存储器可具有类似的存储器操作或管理功能。这类NAND管理功能包含耗损均衡(例如,垃圾数据收集或回收)、错误检测或校正、块注销,或一或多个其它存储器管理功能。
存储器裸片130-A-130-N+1可包含以例如多个平面、子块、块或页布置的数个存储器单元。作为一个实例,48GB TLC NAND存储器装置可包含每页18,592个字节(B)(16,384+2208个字节)的数据、每块1536页、每平面548个块和每装置4个或更多个平面。作为另一实例,32GB MLC存储器装置(每单元存储两个数据位(即,4个可编程状态))可包含每页18,592个字节(B)(16,384+2208个字节)的数据、每块1024页、每平面548个块和每装置4个平面,但相比于对应TLC存储器装置,所需写入时间为一半且编码/擦除(P/E)循环为两倍。其它实例可以包含其它数目或布置。在一些实例中,存储器装置或其部分可在SLC模式中或在所需MLC模式(例如TLC、QLC等)中选择性地操作。关于图2-3显示和描述存储器单元的实例布置。
在操作中,数据通常以页写入到存储器装置100或从存储器装置100读取,并以块擦除。然而,一或多个存储器操作(例如,读取、写入、擦除等)可视需要在更大或更小的存储器单元群组上执行。存储器装置100的数据传送大小通常被称为页,而主机的数据传送大小通常被称为扇区。
虽然数据页可包含数个字节的用户数据(例如,包含数个数据扇区的数据有效负载)及其对应的元数据,但页的大小经常仅指代用以存储用户数据的字节的数目。作为实例,具有4KB的页大小的数据页可包含4KB的用户数据(例如,假定512B的扇区大小的8个扇区)以及对应于用户数据的数个字节(例如,32B、54B、224B等)的元数据,例如完整性数据(例如,错误检测或校正代码数据)、地址数据(例如,逻辑地址数据等)或与用户数据相关联的其它元数据。
不同类型的存储器单元可提供不同的页大小,或可能需要与其相关联的不同量的元数据。例如,不同存储器装置类型可具有不同位错误率,这可能导致需要不同量的元数据来确保数据页的完整性(例如,相比于具有较低位错误率的存储器装置,具有较高位错误率的存储器装置可能需要更多字节的错误校正码数据)。作为实例,相比于对应单层级单元(SLC)NAND快闪装置,多层级单元(MLC)NAND快闪装置可具有更高的位错误率。因此,相比于对应SLC装置,MLC装置可能需要更多的元数据字节用于错误数据。
存储器裸片130的一或多个存储器单元可以是需要认证存取的受保护区域。如所提到,认证可以通过提供秘密值以及存取受保护区域中的一或多个存储器单元的请求来进行。受保护区域逻辑122实施对由存储器裸片130A-N+1(例如,RPMB)提供的一或多个受保护存储区域的存取保护。受保护区域逻辑122可验证对存取受保护区域的请求已经认证。受保护区域逻辑122可接收受保护区域存取请求,并且可例如通过使用安全密钥的所存储副本来验证请求中包含的秘密(例如,MAC值)是正确的。
安全密钥可以存储在存储器裸片130A-N+1或存储器装置100内的特殊存储器芯片中的一位置中。受保护区域逻辑122可包含密钥修改固件对象中所包含的更换或修改密钥的指令。是否启用此功能性可取决于一或多个配置设置、操作度量和启用锁定条件(例如,阈值)或兼容通用固件的存在情况。这些配置设置、操作度量和启用锁定条件可以编码到密钥修改固件对象中,可以存储在存储器裸片130A-N+1的存储器单元中,或者可以存储在存储器装置的其它存储器(例如,静态存储器)中。例如,受保护区域逻辑122可以实施图6和9的流程图;并且可实施图8的状态图。如所提到,受保护区域逻辑122可包括由常规固件对象和/或密钥修改固件对象提供的指令。受保护区域逻辑122可实施由JEDEC标准等一或多个标准记录的RPMB过程。
主机135还可具有主机受保护区域逻辑138,其可实施主机135发送请求对受保护存储器区域进行读取、写入和其它操作的存取请求的指令。主机受保护区域逻辑138可将对受保护存储器区域的请求(例如根据JEDEC标准的RPMB请求)格式化,包含将秘密值置于请求中(例如,通过基于存储在主机上的安全密钥计算MAC)。主机受保护区域逻辑138还可执行请求设置存储器装置100上的一或多个配置设置的一或多个操作,包含启用安全密钥更换的配置设置。另外,主机受保护区域逻辑138可具有用于通过与受保护区域逻辑122通信(例如,通过请求消息和回复消息)来更换、擦除或以其它方式改变安全密钥的逻辑。
图2示出根据本公开的一些实例的NAND架构半导体存储器阵列200的一部分的实例示意图,所述阵列包含布置于串(例如,串205-207)和层次(例如,示出为相应字线(WL)WL0-WL7 210-217、漏极侧选择栅极(SGD)线225、源极侧选择栅极(SGS)线230等)的二维阵列中的多个存储器单元302以及感测放大器或装置260。存储器阵列200可示出图1中的存储器裸片的一个物理页的一部分的实例示意图。
每一存储器单元串使用相应源极侧选择栅极(SGS)(例如,SGS 231-233)耦合到源极线(SRC)235,且使用相应漏极侧选择栅极(SGD)(例如,SGD 226-228)耦合到相应数据线(例如,位线(BL)BL0-BL2 220-222)。虽然在图2的实例中示出为具有8个层次(例如,使用字线(WL)WL0-WL7 210-217)和三个数据线(BL0-BL2 226-228),但其它实例按需要可包含具有更多或更少层次或数据线的存储器单元串。
在例如实例存储器阵列200等NAND架构半导体存储器阵列中,可通过感测与含有所选存储器单元的特定数据线相关联的电流或电压变化而存取所选存储器单元202的状态。可使用一或多个驱动器(例如,由控制电路、一或多个处理器、数字逻辑等)存取存储器阵列200。在实例中,取决于对特定存储器单元或存储器单元集合将执行的所需操作的类型,一或多个驱动器可通过驱动特定电位到一或多个数据线(例如,位线BL0-BL2)、存取线(例如,字线WL0-WL7)或选择栅极而激活特定存储器单元或存储器单元集合。
为了将数据编程或写入到存储器单元,可将编程电压(Vpgm)(例如,一或多个编程脉冲等)施加到选定字线(例如,WL4),且因此施加到耦合到选定字线的每一存储器单元的控制栅极(例如,耦合到WL4的存储器单元的控制栅极(CG)241-243)。编程脉冲可例如在15V处或附近开始,并且在某些实例中,可在每一编程脉冲施加期间量值增加。在将编程电压施加于选定字线的同时,可将例如接地电位(例如,Vss)等电位施加到以编程为目标的存储器单元的数据线(例如,位线)和衬底(且因此源极与漏极之间的通道),从而导致从通道到目标存储器单元的电荷存储结构的电荷转移(例如,直接注入或佛勒-诺德海姆(Fowler-Nordheim,FN)隧穿等)。此类电荷存储结构可包含例如相应存储器单元的浮动栅极或电荷阱区域。在浮动栅极存储器单元中,电荷以隔离多晶硅结构存储;而在电荷阱存储器单元中,电荷通常以介电结构存储。
相比之下,可将传递电压(Vpass)施加到具有并不以编程为目标的存储器单元的一或多个字线,或可将禁止电压(例如,Vcc)施加到具有并不以编程为目标的存储器单元的数据线(例如,位线),以例如禁止电荷从通道传送到这些非目标存储器单元的电荷存储结构。传递电压可例如取决于施加的传递电压与以编程为目标的字线的接近度而变化。禁止电压可包含相对于接地电位(例如,Vss)的供应电压(Vcc),例如来自外部源或供应(例如,电池、AC/DC转换器等)的电压。
作为实例,如果将编程电压(例如,15V或更高)施加于特定字线,例如WL4,那么可将10V的传递电压施加到一或多个其它字线,例如WL3、WL5等,以禁止非目标存储器单元的编程,或保持并不以编程为目标的这些存储器单元上存储的值。随着施加的编程电压与非目标存储器单元之间的距离增加,制止对非目标存储器单元进行编程所需的传递电压可减小。例如,在将15V的编程电压施加于WL4的情况下,可将10V的传递电压施加到WL3和WL5,可将8V的传递电压施加到WL2和WL6,可将7V的传递电压施加到WL1和WL7等。在其它实例中,传递电压或字线的数目等可更高或更低,或更多或更少。
耦合到数据线(例如,第一、第二或第三位线(BL0-BL2)220-222)中的一或多个的感测放大器260可通过感测特定数据线上的电压或电流而检测相应数据线中的每一存储器单元202的状态。
在一或多个编程脉冲(例如,Vpgm)的施加之间,可执行检验操作以确定所选存储器单元是否已到达其既定经编程状态。如果所选存储器单元已到达其既定经编程状态,那么可禁止其进一步编程。如果所选存储器单元尚未到达其既定经编程状态,那么可施加额外编程脉冲。如果在特定数目的编程脉冲(例如,最大数目)之后所选存储器单元尚未到达其既定经编程状态,那么所选存储器单元或与这些所选存储器单元相关联的串、块或页可标记为有缺陷的。
对于单层级单元(SLC),存在两个可能的电压电平被编程到单元中,一个电压电平表示二进制‘1’,另一电压电平表示二进制‘0’。对于多层级单元(MLC),存在四个可能的电压电平被编程到单元中。这四个可能的电压电平表示‘00’、‘01’、’10’和‘11’。为了编程MLC单元,施加多个编程脉冲。第一脉冲对表示单元的最高有效位或最低有效位的第一数据“页”进行编程。第二脉冲对表示单元中没有被第一脉冲编程的其它位的第二数据“页”进行编程。类似地,三层级单元(TLC)存储八个可能的电压电平,并且四层级单元(QLC)存储16个可能的电压电平。
为了读取存储在一或多个存储器单元中的值,向选定单元的字线施加读取电压。如果存储在字线的单元中的电压大于读取电压,那么单元向感测放大器传递一电压。对于SLC单元,在表示‘1’和‘0’的两个电压之间选择读取电压。对于MLC、TLC和QLC,使用多个读取操作来读取存储在单元中的每个位——每个读取操作利用的读取电压不同。
为了擦除存储器单元或存储器单元群组(例如,擦除通常以块或子块执行),可(例如,使用一或多个位线、选择栅极等)将擦除电压(Vers)施加到以擦除为目标的存储器单元的衬底(且因此源极与漏极之间的通道),同时目标存储器单元的字线保持在例如接地电位(例如,Vss)的电位,从而导致从目标存储器单元的电荷存储结构到通道的电荷转移(例如,直接注入或佛勒-诺德海姆(FN)隧穿等)。
图3示出包含组织成块(例如,块A 301A、块B 301B等)和子块(例如,子块A0 301A0、子块An 301An、子块B0 301B0、子块Bn 301Bn等)的多个存储器单元串(例如,A0个存储器串305A0-307A0、An个存储器串305An-307An、B0个存储器串305B0-307B0、Bn个存储器串305Bn-307Bn等)的3D NAND架构半导体存储器阵列300的实例示意图。存储器阵列300表示通常在块、装置或存储器装置的其它单元中找到的较大数目个类似结构的一部分。存储器阵列300可示出组成图1中的存储器裸片130的存储器单元的部分的实例示意图。
每一存储器单元串包含在Z方向上以源极到漏极方式堆叠于源极线(SRC)335或源极侧选择栅极(SGS)(例如,A0 SGS 331A0-333A0、An SGS 331An-333An、B0 SGS 331B0-333B0、Bn SGS 231Bn-233Bn等)和漏极侧选择栅极(SGD)(例如,A0 SGD 326A0-328A0、An SGD 326An-328An、B0 SGD 326B0-328B0、Bn SGD 326Bn-328Bn等)之间的电荷存储晶体管(例如,浮动栅极晶体管、电荷捕集结构等)的多个层次。3D存储器阵列中的每一存储器单元串可以沿着X方向布置为数据线(例如,位线(BL)BL0-BL2320-322),并且可以沿着Y方向布置为物理页。
在物理页内,每个层次表示存储器单元行,且每一存储器单元串表示列。子块可包含一或多个物理页。块可包含多个子块(或物理页)(例如,128个、256个、384个等)。尽管本文中示出为具有两个块,每个块具有两个子块,每个子块具有单个物理页,每个物理页具有三个存储器单元串,并且每个串具有8个存储器单元层次,但是在其它实例中,存储器阵列300可包含更多或更少的块、子块、物理页、存储器单元串、存储器单元或层次。例如,每一存储器单元串可视需要包含更多或更少的层次(例如,16个、32个、64个、128个等),以及高于或低于电荷存储晶体管(例如,选择栅极、数据线等)的半导体材料的一或多个额外层次。作为实例,48GB TLC NAND存储器装置可包含每页18,592个字节(B)(16,384+2208个字节)的数据、每块1536页、每平面548个块和每装置4个或更多个平面。
存储器阵列300中的每一存储器单元包含耦合到(例如,电气地或以其它方式可操作地连接到)存取线(例如,字线(WL)WL00-WL70 310A-317A、WL01-WL71 310B-317B等)的控制栅极(CG),它们视需要共同地跨特定层次或层次的一部分耦合控制栅极(CG)。3D存储器阵列中的特定层次以及相应地串中的特定存储器单元可以使用相应存取线来存取或控制。选择栅极群组可以使用各种选择线存取。例如,A0 SGD 326A0-328A0可以使用A0 SGD线SGDA0325A0存取,An SGD 326An-328An可以使用SGD线SGDAn 325An存取,B0 SGD 326B0-328B0可以使用B0 SGD线SGDB0 325B0存取,并且Bn SGD 326Bn-328Bn可以使用Bn SGD线SGDBn 325Bn存取。A0 SGS 331A0-333A0和An SGS 331An-333An可以使用栅极选择线SGS0 330A存取,并且B0SGS 331B0-333B0和Bn SGS 331Bn-333Bn可以使用栅极选择线SGS1 330B存取。
在实例中,存储器阵列300可包含若干层级的半导体材料(例如,多晶硅等),其经配置以耦合阵列的相应层次的每一存储器单元的控制栅极(CG)或选择栅极(或CG或选择栅极的一部分)。阵列中的特定存储器单元串可使用位线(BL)和选择栅极等的组合来存取、选择或控制,且在特定串中的一或多个层次处的特定存储器单元可使用一或多个存取线(例如,字线)来存取、选择或控制。
图4示出根据本公开的一些实例的存储器裸片400的实例框图。存储器裸片400可以是图1的存储器裸片130A-130N+1的一个实例。存储器裸片400可包含具有多个存储器单元404的存储器阵列402,以及用于提供与存储器阵列402的通信或对存储器阵列402执行一或多个存储器操作的一或多个电路或组件。存储器裸片400可包含行解码器412、列解码器414、感测放大器420、页缓冲器422、选择器424、输入/输出(I/O)电路426和呈存储器控制单元430形式的专用存储器控制器,所述专用存储器控制器包含处理电路系统,有可能包含一或多个处理器,如本文中早先所描述。
存储器阵列402的存储器单元404可布置于块中,例如第一块402A和第二块402B。每一块可包含子块。例如,第一块402A可包含第一子块402A0和第二子块402An,且第二块402B可包含第一子块402B0和第二子块402Bn。每一子块可包含数个物理页,每一页包含数个存储器单元404。虽然本文中示出为具有两个块,每一块具有两个子块,且每一子块具有数个存储器单元404,但在其它实例中,存储器阵列402可包含更多或更少的块、子块、存储器单元等。在其它实例中,存储器单元404可布置于数个行、列、页、子块、块等中,且使用例如存取线406、第一数据线410或一或多个选择栅极、源极线等来存取。
存储器控制单元430可根据利用存储器控制器在存储器接口处(如关于图1的存储器装置100的控制器105和主机接口123所描述)在控制线432上接收的一或多个信号和/或指令/命令控制存储器裸片400的存储器操作。此类信号可包含例如指示所需操作(例如,写入、读取、擦除等)的一或多个时钟信号或控制信号,或在一或多个地址线416上接收的地址信号(A0-AX)。在存储器裸片400外部的一或多个装置可控制控制线432上的控制信号或地址线416上的地址信号的值。在存储器裸片400外部的装置的实例可包含(但不限于)主机、存储器控制器、处理器或图4中未示出的一或多个电路或组件。
存储器裸片400可使用存取线406和第一数据线410来对(例如,写入或擦除)或从(例如,读取)存储器单元404中的一或多个传送数据。行解码器412和列解码器414可从地址线416接收且解码地址信号(A0-AX),可确定将存取存储器单元404中的哪些,并且可提供信号到例如上文描述的存取线406(例如,多个字线(WL0-WLm)中的一或多个)或第一数据线410(例如,多个位线(BL0-BLn)中的一或多个)中的一或多个。
存储器裸片400可包含感测电路系统,例如感测放大器420,其经配置以使用第一数据线410确定存储器单元404上的数据的值(例如,读取),或确定将写入到存储器单元404的数据的值。例如,在存储器单元404的选定串中,感测放大器420中的一或多个可响应于读取电流在存储器阵列402中流动通过选定串到数据线410而读取所选存储器单元404中的逻辑电平。
在存储器裸片400外部的一或多个装置(例如,控制器105)可使用I/O线(DQ0-DQN)408、地址线416(A0-AX)或控制线432与存储器裸片400通信。输入/输出(I/O)电路426可根据例如控制线432和地址线416,使用I/O线408将数据的值传送进出存储器裸片400,例如进出页缓冲器422或存储器阵列402。页缓冲器422可存储从在存储器裸片400外部的一或多个装置接收的数据,然后将所述数据编程到存储器阵列402的相关部分中,或者可存储从存储器阵列402读取的数据,然后将所述数据发射到在存储器裸片400外部的一或多个装置。
列解码器414可将地址信号(A0-AX)接收且解码为一或多个列选择信号(CSEL1-CSELn)。选择器424(例如,选择电路)可接收列选择信号(CSEL1-CSELn)且选择页缓冲器422中表示将从存储器单元404读取或将编程到存储器单元404中的数据值的数据。选定数据可使用第二数据线418在页缓冲器422与I/O电路426之间传送。在一些实例中,快闪转换层(未示出)可将由主机提供的地址映射到供行解码器412和列解码器414用于读取存储器阵列402中的数据的物理存储器地址。
存储器控制单元430可从外部源或供应(例如,内部或外部电池、AC/DC转换器等)接收正和负供应信号,例如供应电压(Vcc)434和负供应(Vss)436(例如,接地电位)。在某些实例中,存储器控制单元430可包含调节器428以内部地提供正或负供应信号。
存储器控制单元430可利用随机存取存储器(RAM),例如SRAM 431,以便辅助执行操作以控制存储器裸片400的存储器操作。例如,SRAM 431可存储一或多个指令、工作值和其它计算。存储器控制单元430可执行软件指令集,例如可完整或部分地驻留在SRAM 431上、存储器控制单元430内(例如,专用寄存器、ROM、快闪或其它专用存储器中)、一或多个存储器单元(例如存储器单元404)内等等的微码。SRAM 431可存储供存储器控制单元430用于暂时地存储从存储器单元(例如存储器单元404)读取或写入到存储器单元的数据的一或多个页缓冲器。
密钥更换
如所提到,主机装置的OEM或以其它方式授权的用户可能希望重置(例如,擦除、擦拭和/或重新编程)安全密钥,使得电路板或其它组件中的缺陷可以返工。存储器装置制造商可向OEM客户和其它经授权用户提供专门的密钥修改固件来擦除密钥。这些固件对象可以经由现场固件更新(FFU)机制等机制加载到存储器装置上。如先前描述,如果无授权用户能够存取密钥修改固件并使用它将恶意软件放置在对手的存储器装置上、冒充安全密钥或执行其它恶意动作,那么这个密钥修改固件可能会成为安全风险。
如先前所提及,避免此类安全风险的一个方法是为每一个客户创建一个独特的制造和密钥修改固件对。每个客户可具有一个特定的操作固件对象和一个配对的密钥修改固件。密钥修改固件仅修改具有匹配操作固件的装置上的安全密钥。因此,第一OEM的密钥修改固件泄露不会影响第二OEM。这增加了制造存储器装置的成本和复杂性,因为每个自定义操作固件都需要由存储器装置制造商加载。在一些实例中,为了减轻这种负担,存储器装置制造商可以加载通用操作固件。然后,自定义操作固件可以被提供给客户OEM,并由客户OEM使用现场固件更新(FFU)过程加载。
图5示出根据本公开的一些实例的用于使用匹配的操作固件和密钥修改固件限制安全密钥的无授权修改的第一实例流程500。实例流程500利用FFU更新过程将自定义操作固件以及密钥修改固件加载到存储器装置上。
流程500可以由存储器装置制造商505、OEM或其它经授权用户实施。虽然某些组织(例如,存储器装置制造商、OEM、装置群组等)在图5中示出为执行某些操作,但是所属领域的技术人员将了解,其它组织也可以执行图5中的任何和所有操作。在实例流程500中,通用制造固件对象被加载到存储器装置510。通用制造固件对象经配置以用于提供给多个客户,表示为第一群组540和第二群组570。群组540和570表示OEM客户或装置的其它逻辑分组(例如,装置版本、分布区域等等)。
实例流程500进一步包含向需要专用特征或密钥修改功能性的客户提供定制固件。例如,可以向第一群组540提供515第一定制固件对象,并且可以向第二群组570提供530第二定制固件对象,使得第一群组540和第二群组570中的每一个可以实施客户特定的特征。在一些实例中,固件对象可以例如通过计算机网络从一个实体传输到另一实体。
第一定制固件对象可以使用现场固件更新(FFU)技术545加载(例如,通过第一群组540)到那些存储器装置。这产生了具有第一自定义固件的存储器装置547。第二定制固件对象可以使用现场固件更新(FFU)技术575加载(例如,通过第二群组570)。这产生了具有第二自定义固件的存储器装置577。如果要提供密钥擦除固件用于安全密钥擦除,那么可以提供520第一自定义密钥修改固件,它可以使用FFU过程560加载到存储器装置(例如,通过第一群组540)以产生具有第一自定义固件和第一密钥修改固件的存储器装置562。FFU过程560可将自定义密钥修改固件加载到存储器装置上,而无需覆写第一自定义固件对象。可以提供535第二自定义密钥修改固件,它可以使用FFU技术590(例如,通过第二群组570)加载到第二群组570的存储器装置以产生具有第二自定义固件和第二密钥修改固件的存储器装置592。
接着,用户可以利用自定义密钥修改固件修改一或多个受保护区域的一或多个安全密钥。在一些实例中,一旦密钥被修改自定义密钥修改固件就可以从存储器装置删除。
在一些实例中,第一定制固件对象和第二定制固件对象可以使用存储器装置上的配置设置来进一步定制。例如,OEM串值可以设置为特定值。固件可以读取这个值以确定存储器装置的一或多个设置和/或定制操作参数。
图6示出根据本公开的一些实例的使用匹配固件更新存储器装置的受保护部分的安全密钥的方法600的流程图。在执行方法600之前,使用FFU过程将自定义密钥修改固件加载到存储器装置。在操作610处,存储器装置接收修改一或多个受保护区域的一或多个安全密钥的请求。在操作615处,存储器装置可确定密钥修改固件是否匹配执行固件。
在一些实例中,操作615由FFU在尝试加载密钥修改固件时执行。在这些实例中,如果密钥修改固件不匹配操作固件,那么FFU过程可以不将密钥修改固件加载到存储器装置。如果密钥修改固件匹配操作固件,那么可以在620处修改安全密钥。在一些实例中,基于一或多个固件版本检查匹配——例如,密钥修改固件检查操作固件的固件版本。在其它实例中,密钥修改固件检查操作固件的散列、操作固件的大小、存储在操作固件内的值等等。
修改安全密钥620可包含擦除安全密钥625和/或更换安全密钥630。如果密钥修改固件不匹配操作固件,那么在操作640处,不修改安全密钥。这可包含拒绝请求或对于请求不采取任何动作。在一些实例中,方法600中的一或多个操作由密钥修改固件和/或操作固件执行。如所提到,在一些实例中,操作615可在FFU期间执行。在这些实例中,经激活和/或经加载密钥修改固件可通过修改安全密钥620对请求做出响应。
图5和6的实例流程可由于使用现场固件更新而适用于经释放装置的存量管理。但是,使用现场固件更新可能会在OEM客户的装置制造(例如,手机制造)操作中引入额外步骤,并且因此造成低效。此外,现场固件更新自身可能会遭受攻击,这有可能使得恶意方能够改变定制固件。例如,在第一群组540的装置上加载第二自定义固件及使用第二自定义密钥修改固件重置安全密钥。
图7示出根据本公开的一些实例的用于使用配置设置限制对安全密钥的无授权修改的第一实例流程700。虽然某些组织(例如,存储器装置制造商705、OEM、装置群组等)在图7中示出为执行某些操作,但是所属领域的技术人员将了解,其它组织也可以执行图7中的任何和所有操作。实例流程700利用FFU更新过程将密钥修改固件加载到存储器装置上。尽管在图6中每个群组的固件的自定义功能由自定义固件对象启用,但是在图7中,这些功能通过使用配置值启用/激活/或停用通用固件中的这些特征来提供。这包含启用安全密钥更换或修改的能力。
流程700可以由存储器装置制造商和/或OEM或用户中的一或多个实施。在实例流程700中,通用制造固件对象可以加载到存储器装置710,并且经配置以用于提供给多个群组,例如第一群组740和第二群组770,以形成存储器装置712。群组740和770表示OEM客户或装置的其它逻辑分组(例如,装置版本、分布区域等等)。通过提供公共制造固件,实例流程700可以减少或消除要跟踪不同版本的制造固件(就像是图5中的情况)的需要。
如果要提供密钥修改固件用于安全密钥修改,那么可以提供715第一自定义密钥修改固件,它可以使用FFU过程745加载(例如,通过第一群组730)到存储器装置以产生具有通用固件和第一密钥修改固件的存储器装置747。在一些实例中,密钥修改固件对象可以通过例如经由计算机网络将它们从一个实体传输到另一实体来提供。
FFU过程745可将自定义密钥修改固件加载到存储器装置上,而无需覆写第一自定义固件对象。可以提供725第二自定义密钥修改固件,它可以使用FFU技术750加载到第二群组770的存储器装置(例如,通过第二群组770)以产生具有通用固件和第二密钥修改固件的存储器装置752。
密钥修改固件可以通过将配置值设置为特定的所识别值来启用。第一群组730和第二群组740的值可以是相同的值,但是在其它实例中,为了增强安全性,第一群组730和第二群组740可以使用不同的值。值可以在每个版本的第一和第二密钥修改固件中指定,并且可以在能够修改安全密钥之前由密钥修改固件检查。
如先前描述,在一些实例中,现有JEDEC属性可用于配置设置。这些属性可以存储在存储器装置的非易失性存储器中。除了启用密钥修改固件之外,这些属性还可具有额外用途。取决于存储器装置是被制造商配置还是被客户配置,可以通过改变这些值来实施存储器装置操作的不同选择方案。例如,JEDEC标准目前定义了一种属性(例如,“原始设备制造商(OEM)串属性”),其默认值包括唯一地标识所述OEM的预定义供应商名称。但是,OEM可以通过向非易失性存储器的相应区域写入不同值来改变这个默认值。根据实例实施例的方法基于已经为OEM串属性写入的值而启用和停用密钥修改固件。类似地,OEM串属性可用于启用存储器装置上的其它定制固件。
图8示出用于控制何时以及在什么条件下启用密钥擦除固件的存储器控制器105的实例状态迁移图800。参考图8,在一些实施例中,存储器装置(例如,存储器装置100(图1))可以初始状态805提供给客户(例如,移动装置制造商),其中例如:操作度量不满足启用锁定条件;配置未锁定(例如,准许配置执行);配置设置的值为空(或处于默认状态或未写入状态);以及密钥修改固件停用,这至少意味着存储器装置100上的安全密钥无法被擦除。
如先前描述,安全密钥可以由存储器装置制造商或OEM/客户在较早时间段设置。密钥修改固件可由一组固件二进制代码(例如,其可包含其它不相关功能)中的一个功能组成,或者密钥修改固件可由不具有其它不相关功能的单独的专用固件二进制代码组成。
客户可通过将值(例如,安全密钥修改值)写入到配置设置来将存储器装置从状态805变成状态810(例如,“启用状态”)。因为操作度量(例如,写入计数器)不满足锁定条件(例如,如写入计数器的操作度量低于阈值),并且配置设置设置为安全密钥修改值,所以密钥修改固件启用。一旦密钥修改固件启用,用户就可以向密钥修改固件提交擦除安全密钥、更换安全密钥或在一些实例中包含这两个操作的请求。在一些实施例中,存储器装置可以由存储器制造商以状态810而不是状态805制造(并提供给客户)。安全密钥修改值可以由存储器装置的客户或制造商指定。当安全密钥修改值保密时,可以防止外部各方启用密钥修改固件来改变安全密钥并存取受保护存储器。在一些实例中,当配置设置的值设置为特定值(例如,状态815)时,可以启用其它客户特定的固件特征。例如,安全密钥修改值可以特定于OEM,并且用于启用OEM特定特征。在其它实例中,在安全密钥修改值之后,可以将其它值设置到配置设置以启用特定特征。
存储器装置可例如通过以下操作来从状态805迁移到状态815(例如,“使用状态”):利用存储器装置使得操作度量满足锁定条件(例如,通过将数据写入到存储器装置,使得写入的字节数大于零)、通过将除安全密钥修改值以外的值写入到配置设置,或通过执行这两个操作。当存储器装置处于状态815时,可对存储器装置执行其它配置操作。但是,密钥修改固件可保持停用。
如果存储器装置100处于状态810,那么存储器装置可通过执行操作迁移到状态820(例如,“制造状态”),例如通过执行使操作度量满足锁定条件的操作,如将数据写入到存储器装置100使得写入的字节数超过阈值。状态820类似于状态815,但密钥修改固件(和/或在一些实施例中的其它自定义固件)在状态820中保持启用。
如果存储器装置处于状态815,并且配置设置的值改变(被外部参与者恶意地改变,或被客户改变),那么存储器装置变成“部署状态”825,其中密钥修改固件停用。即使配置值变成安全密钥修改值,也会发生这种情况,因为在配置值变成安全密钥修改值时,操作度量满足锁定条件(例如,写入的总字节数>给定阈值)。这使得密钥修改固件在存储器装置装运之后不能启用,即使对于在移动装置装运后没有锁定配置的客户来说也是如此。在状态825中,配置可以是锁定或未锁定的。
如果存储器装置处于状态820,并且配置设置的值改变(被外部参与者恶意地改变,或被客户改变),那么存储器装置变成状态815,且密钥修改固件停用。如果存储器装置处于状态820,并且存储器装置的配置锁定,那么存储器装置进入状态830(“部署状态”)。部署状态830与部署状态825的不同之处在于密钥修改固件保持启用且允许改变安全密钥。在其它实例中,状态830可响应于配置的锁定或响应于操作度量满足锁定条件而停用密钥修改固件。在又其它实例中,一旦配置锁定,密钥修改固件就可以拒绝任何改变安全密钥的操作。
如图8中所示,为了启用密钥修改固件,配置设置必须在操作度量超过阈值之前设置为安全密钥修改值。一旦密钥修改固件启用,用户就可以修改安全密钥,直到通过改变配置设置停用密钥修改固件为止。尽管图8示出了多个状态迁移,但是所属领域的技术人员将了解,其它迁移和/或状态可为可能的。例如,状态810和815之间的迁移,等等。
如本文中所使用,术语操作度量可包含存储器装置的一或多个度量。实例度量可包含写入的字节数、读取的字节数、执行的读取操作数目、执行的写入操作数目、功率循环数等等。实例锁定条件可包含读取或写入操作的阈值数目;读取或写入字节的阈值数目等等。在一个实例中,操作度量可以是写入的字节数,且锁定条件可以是写入的字节数大于零。因此,一旦数据被写入到存储器装置,操作度量就满足条件(因为写入的字节数超过零),并且如果尚未启用密钥更换固件,则无法再启用该固件。
图9示出根据本公开的一些实例的启用密钥修改固件的方法900的流程图。在操作910处,存储器装置可接收将配置设置设置为第一值的请求。在一些实例中,配置设置可以是OEM串。在操作915处,确定装置的配置是否锁定。如果在操作915处,配置锁定,那么流程结束且配置不变。如果配置未锁定,那么在操作920处,将配置设置设置为第一值。在操作925处,确定操作度量是否满足锁定条件。例如,读取或写入的位数或字节数是否满足或超过阈值。在一个实例中,阈值可以是零。也就是说,一旦数据写入到存储器装置,就终止启用密钥修改固件的能力(如果先前没有完成)。在其它实例中,操作度量是读取数目、写入数目或其它操作。如果操作度量满足锁定条件,那么流程结束,且密钥修改固件不启用。
如果操作度量不满足锁定条件,那么存储器装置在操作927处检查以确定第一值是不是安全密钥修改值。如果不是,那么流程终止,且不启用密钥修改固件。如果第一值是安全密钥修改值,那么在操作930处,启用密钥修改固件且启用安全密钥的修改。尽管图9示出了操作925在操作927之前进行,但是在其它实例中,操作927可在操作925之前执行。
图10示出根据本公开的一些实例的使用配置值更新存储器装置的受保护部分的安全密钥的方法1000的流程图。在执行方法1000之前,使用FFU过程将密钥修改固件加载到存储器装置。在操作1010处,存储器装置接收修改一或多个安全密钥的请求。在操作1015处,存储器装置可确定密钥修改固件是否启用。例如,根据方法900。密钥修改固件可以在图8的状态810、820和830中启用。
如果密钥修改固件启用,那么可以在1020处修改所述一或多个安全密钥。这可包含擦除安全密钥1030和/或更换安全密钥1025。如果密钥修改固件未启用,那么在操作1022处,不修改安全密钥。这可包含拒绝请求或对于请求不采取任何动作。在一些实例中,方法1000中的一或多个操作由密钥修改固件和/或操作固件执行。
图11示出上面可执行本文所论述的技术(例如,方法)中的任何一或多个的实例机器1100的框图。机器1100或机器1100的一或多个组件可实施本文中所描述的一或多个存储器装置或存储器装置的组件。例如,机器1100或机器1100的一或多个组件可实施存储器装置100。在一些实例中,机器1100可以是主机装置135。在一些实例中,主存储器1104、静态存储器1106和/或大容量存储装置1121可以通过存储器实施,例如本文中关于图1-10论述的那些存储器。
在替代实施例中,机器1100可以作为独立装置操作或可以连接(例如,联网)到其它机器。在联网部署中,机器1100可以在存储器装置、主机装置、服务器机器、客户端机器或服务器-客户端网络环境两者的能力中操作。在实例中,机器1100可以充当对等式(P2P)(或其它分布式)网络环境中的对等式机器。机器1100可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络器具、IoT装置、汽车系统、主机装置,或能够执行(依序或以其它方式)指定将由所述机器采取的动作的指令的任何机器。此外,虽然仅示出单一机器,但术语“机器”也将被视为包含单独地或共同地执行指令集(或多个集合)以执行本文中所论述的方法中的任何一个或多个(例如,云计算、软件即服务(SaaS)、其它计算机集群配置)的任何机器集合。
如本文所描述,实例可包含逻辑或多个组件、模块或机构(以下简称“模块”)或可对其进行操作。模块是能够执行指定操作的有形实体(例如,硬件),并且可以以某种方式配置或布置。在实例中,电路可以作为模块以指定方式布置(例如,在内部或相对于诸如其它电路的外部实体)。在实例中,一或多个计算机系统(例如,独立的、客户端或服务器计算机系统)或一或多个硬件处理器的全部或部分可以通过固件或软件(例如,指令、应用部分或应用)配置为用于执行指定操作的模块。在实例中,软件可以驻留在机器可读媒体上。在实例中,当由模块的基础硬件执行时,软件会使硬件执行指定操作。
因此,术语“模块”理解成涵盖有形实体,是指以物理方式构建、特定地配置(例如,硬接线)或暂时(例如,临时)配置(例如,编程)成以特定方式操作或执行本文所述任何操作的部分或全部的实体。考虑到暂时配置模块的实例,每个模块都不需要在任何时刻实例化。例如,在模块包括使用软件配置的通用硬件处理器的情况下,通用硬件处理器可以在不同时间配置为相应的不同模块。软件可以相应地配置硬件处理器,例如,在一个时刻构成特定模块,并在不同时刻构成另一模块。
机器(例如,计算机系统)1100(例如,主机装置135、受管理存储器装置100等)可包含硬件处理器1102(例如,中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核心或其任何组合,等等)、主存储器1504和静态存储器1106,其中的一些或全部可经由互连链路(例如,总线)1108彼此通信。机器1100可进一步包含显示单元1110、字母数字输入装置1112(例如,键盘)和用户接口(UI)导航装置1114(例如,鼠标)。在实例中,显示单元1110、输入装置1112和UI导航装置1114可为触摸屏显示器。机器1100可另外包含存储装置(例如,大容量存储装置1121)、信号产生装置1118(例如,扬声器)、网络接口装置1120和一或多个传感器1116,例如全球定位系统(GPS)传感器、指南针、加速度计或其它传感器。机器1100可包含输出控制器1128,例如串行(例如,通用串行总线(USB)、并行或其它有线或无线(例如,红外(IR)、近场通信(NFC)等)连接以通信或控制一或多个外围装置(例如,打印机、读卡器等)。
存储装置1121可包含机器可读媒体1122,体现本文所描述的技术或功能中的任何一或多者或由其利用的数据结构或指令1124(例如,软件)的一或多个集合存储于所述机器可读媒体上。指令1124还可在其由机器1100执行期间完全或至少部分地驻留在主存储器1104内、静态存储器1106内或硬件处理器1102内。在实例中,硬件处理器1102、主存储器1104、静态存储器1106或存储装置1121中的一个或任何组合可构成机器可读媒体1122。
虽然机器可读媒体1122示出为单个媒体,但术语“机器可读媒体”可包含经配置以存储一或多个指令1124的单个媒体或多个媒体(例如,集中或分布式数据库,或相关联高速缓冲存储器和服务器)。
术语“机器可读媒体”可以包含能够存储、编码或载送用于由机器1100执行的指令且使机器1100执行本发明的技术中的任何一或多个,或能够存储、编码或载送由此类指令使用或与此类指令相关联的数据结构的任何媒体。非限制性机器可读媒体实例可以包含固态存储器以及光学和磁性媒体。在实例中,集中式机器可读媒体包括具有多个粒子的机器可读媒体,所述粒子具有不变(例如,静止)质量。因此,集中式机器可读媒体是非暂时性传播信号。集中式机器可读媒体的具体实例可以包含:非易失性存储器,例如半导体存储器装置(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))和快闪存储器装置;磁盘,例如内部硬盘和可移除式盘;磁光盘;以及CD-ROM和DVD-ROM盘。
指令1124(例如,软件、程序、操作系统(OS)等)或其它数据存储于存储装置1121上,可由存储器1104存取以供处理器1102使用。存储器1104(例如,DRAM)通常是快速但易失性的,且因此是与存储装置1121(例如,SSD)不同类型的存储,所述存储装置1121适合于长期存储,包含在“断开”条件中时的长期存储。在处于用户或机器1100使用中的指令1124或数据通常加载于存储器1104中供处理器1102使用。当存储器1104装满时,可分配来自存储装置1121的虚拟空间以补充存储器1104;然而,因为存储装置1121通常比存储器1104慢,且写入速度通常比读取速度慢至少两倍,所以虚拟存储器的使用由于存储装置时延(与存储器1104相比,例如DRAM)可极大地降低用户体验。此外,用于虚拟存储器的存储装置1121的使用可极大地减少存储装置1121的可用使用寿命。
与虚拟存储器相比,虚拟存储器压缩(例如,
Figure BDA0002870132460000241
内核特征“ZRAM”)使用存储器的部分作为经压缩块存储以避免对存储装置1121的分页。分页在经压缩块中发生直到必须将这些数据写入到存储装置1121为止。虚拟存储器压缩增加存储器1104的可用大小,同时减少存储装置1121上的磨损。
针对移动电子装置或移动存储而优化的存储装置传统地包含MMC固态存储装置(例如,微安全数字(microSDTM)卡等)。MMC装置包含与主机装置的若干并行接口(例如,8位并行接口),且经常是从主机装置可移除和分离的组件。相比之下,eMMCTM装置附接到电路板且视为主机装置的组件,其读取速度比得上基于串行ATATM(串行高级技术(AT)附接,或SATA)的SSD装置。然而,对移动装置性能的需求持续增加,以便完全实现虚拟或增强现实装置,利用增加的网络速度等。响应于此需求,存储装置已经从并行转移到串行通信接口。包含控制器和固件的通用快闪存储(UFS)装置使用具有专用读取/写入路径的低电压差分信令(LVDS)串行接口与主机装置通信,进一步推进了更高的读取/写入速度。
指令1124可以进一步利用多个传送协议中的任一个(例如,帧中继、因特网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传送协议(HTTP)等)经由网络接口装置1120使用传输媒体在通信网络1126上发射或接收。实例通信网络可以包含局域网(LAN)、广域网(WAN)、包数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、简易老式电话(POTS)网络和无线数据网络(例如,称为
Figure BDA0002870132460000242
的电气电子工程师学会(IEEE)802.11系列标准、称为
Figure BDA0002870132460000243
的IEEE 802.16系列标准)、IEEE 802.15.4系列标准、对等式(P2P)网络,以及其它网络。在实例中,网络接口装置1520可包含一或多个物理插口(例如,以太网、同轴或电话插口)或一或多个天线以连接到通信网络1126。在实例中,网络接口装置1120可包含多个天线以使用单输入多输出(SIMO)、多输入多输出(MIMO)或多输入单输出(MISO)技术中的至少一个无线地通信。术语“传输媒体”应被视为包含能够存储、编码或载送指令以由机器1100执行的任何无形媒体,且包含数字或模拟通信信号或用以促进此软件的通信的其它无形媒体。
以上详细描述包含对随附图式的参考,所述随附图式形成详细描述的部分。附图借助于说明示出具体实施例,其中可实践本发明。这些实施例在本文中也称为“实例”。此类实例可包含除了所展示或所描述的那些元件之外的元件。然而,本发明人还预期其中仅提供所示出或所描述的那些元件的实例。此外,本发明的发明人还预期使用相对于特定实例(或其一或多个方面)或相对于本文展示或描述的其它实例(或其一或多个方面)而展示或描述的那些元件的任何组合或排列的实例(或其一或多个方面)。
在本文件中,术语如专利文件中所常见而使用术语“一”以包含一个或多于一个,其独立于“至少一个”或“一或多个”的任何其它例子或使用。在此文献中,术语“或”用于指代非排它性或,使得除非另有指示,否则“A或B”可包含“A而非B”、“B而非A”以及“A和B”。在所附权利要求书中,术语“包含”和“在其中(in which)”用作相应术语“包括”和“其中(wherein)”的通俗等效术语。此外,在所附权利要求书中,术语“包含”和“包括”为开放式的,也就是说,包含除权利要求书中在此术语之后列出的那些元件之外的元件的系统、装置、物品或过程仍被视为在权利要求书的范围内。此外,在随附权利要求书中,术语“第一”、“第二”和“第三”等仅用作标签,且并不在于对其对象施加数字要求。
在不同实例中,本文中所描述的组件、控制器、处理器、单元、引擎或表可尤其包含存储于物理装置上的物理电路系统或固件等。如本文所使用,“处理器”意味着任何类型的计算电路,例如但不限于微处理器、微控制器、图形处理器、数字信号处理器(DSP),或任何其它类型的处理器或处理电路,包含一组处理器或多核心装置。
根据本发明且在本文中所描述的各种实施例包含使用存储器单元的竖直结构(例如,存储器单元的NAND串)的存储器。如本文中所使用,将采用相对有存储器单元形成在上面的衬底的表面的方向性形容词(即,竖直结构将被视为远离衬底表面而延伸,竖直结构的底端将被视为最接近衬底表面的端部,并且竖直结构的顶端将被视为最远离衬底表面的端部)。
如本文中所使用,方向形容词,例如水平、竖直、法线、平行、垂直等,可以指相对方向,并且并不意图要求严格遵守特定的几何性质,除非另有说明。例如,如本文中所使用,竖直结构不必严格垂直于衬底的表面,而是可以大体垂直于衬底的表面,并且可以与衬底的表面形成锐角(例如,在60和120度之间等)。
在本文描述的一些实施例中,可以将不同的掺杂配置应用于源极侧选择栅极(SGS)、控制栅极(CG)和漏极侧选择栅极(SGD),在此实例中,其中每一个都可以由多晶硅形成或至少包含多晶硅,其结果是这些层次(例如,多晶硅等)当暴露于蚀刻溶液中时会有不同的蚀刻速率。例如,在3D半导体装置中形成整体柱的过程中,SGS和CG可形成凹部,而SGD可以保持较少的凹陷甚至不凹陷。因此,这些掺杂配置可以通过使用蚀刻溶液(例如,四甲基铵氢氧化物(TMCH))来实现对3D半导体装置中不同层次(例如,SGS、CG和SGD)的选择性蚀刻。
如本文所使用,操作存储器单元包含从存储器单元读取、对存储器单元写入或擦除存储器单元。使存储器单元置于既定状态中的操作在本文中被称作“编程”,且可包含对存储器单元写入或从存储器单元擦除(例如,存储器单元可经编程为擦除状态)。
根据本发明的一或多个实施例,位于存储器装置内部或外部的存储器控制器(例如,处理器、控制器、固件等)能够确定(例如,选择、设定、调整、计算、改变、清除、传送、适配、导出、界定、利用、修改、应用等)磨损循环的数量,或磨损状态(例如,记录磨损循环、在存储器装置的操作发生时对其进行计数、跟踪其起始的存储器装置的操作、评估对应于磨损状态的存储器装置特性等)。
根据本发明的一或多个实施例,存储器存取装置可经配置以关于每一存储器操作将磨损循环信息提供到存储器装置。存储器装置控制电路系统(例如,控制逻辑)可经编程以补偿对应于磨损循环信息的存储器装置性能改变。存储器装置可接收磨损循环信息且响应于磨损循环信息而确定一或多个操作参数(例如,值、特性)。
将理解,当一元件被称作“在另一元件上”、“连接到另一元件”或“与另一元件耦合”时,其可直接在另一元件上、与另一元件直接连接或耦合或可存在介入元件。相比之下,当一元件被称作“直接”在另一元件“上”、“直接连接到”或“直接耦合到”另一元件时,不存在介入的元件或层。如果两个元件在图式中展示为被线连接,那么除非另外指明,否则所述两个元件可耦合、或直接耦合。
本文中所描述的方法实例可至少部分地由机器或计算机实施。一些实例可包含编码有指令的计算机可读媒体或机器可读媒体,所述指令可操作以配置电子装置以执行如在以上实例中描述的方法。这类方法的实施方案可包含代码,例如微码、汇编语言代码、高级语言代码等等。这类代码可包含用于执行各种方法的计算机可读指令。所述代码可以形成计算机程序产品的部分。此外,代码可例如在执行期间或在其它时间有形地存储于一或多个易失性或非易失性有形计算机可读媒体上。这些有形计算机可读媒体的实例可包含但不限于:硬盘、可装卸式磁盘、可装卸式光盘(例如,压缩光盘和数字视频光盘)、盒式磁带、存储器卡或棒、随机存取存储器(RAM)、只读存储器(ROM)、固态驱动器(SSD)、通用快闪存储(UFS)装置、嵌入式MMC(eMMC)装置及类似物。
以上描述预期为说明性的而非限制性的。例如,上述实例(或其一或多个方面)可以彼此组合使用。例如所属领域的技术人员在查阅以上描述后可使用其它实施例。所述摘要在遵守以下理解的情况下提交:其将不会用于解释或限制权利要求的范围或含义。另外,在以上具体实施方式中,可将各种特征分组在一起以简化本发明。不应将此情况解释为期望未主张的公开特征对任何权利要求来说是必需的。实情为,本发明标题可在于比特定所公开实施例的所有特征要少。因此,特此将所附权利要求书并入到具体实施方式中,其中每一权利要求作为一单独实施例而独立存在,且预期此些实施例可以各种组合或排列彼此组合。本发明的范围应该通过参考所附的权利要求书以及所述权利要求书所授予的等效物的完整范围来确定。
其它注意和实例
实例1是一种存储器装置,所述存储器装置包括:存储器阵列,所述存储器阵列包括多个存储器单元,所述存储器阵列的一部分是使用安全密钥存取的受保护部分;控制器,所述控制器经配置以执行包括以下各项的操作:接收将所述存储器装置的配置设置设置为第一值的请求;将所述存储器装置的所述配置设置设置为所述第一值;确定操作度量是否低于阈值;响应于将所述存储器装置的所述配置设置设置为所述第一值且确定所述操作度量低于所述阈值,启用安全密钥修改特征;接收修改所述受保护部分的所述安全密钥的请求;响应于接收到所述请求,确定所述安全密钥修改特征是否启用;以及响应于确定所述安全密钥修改特征启用,修改所述受保护部分的所述安全密钥。
在实例2中,根据实例1所述的主题包含,其中所述配置设置是原始设备制造商串属性。
在实例3中,根据实例1-2所述的主题包含,其中所述受保护部分包括重放受保护存储器块(RPMB),并且其中所述操作进一步包括:在修改所述安全密钥之后,接收在所述RPMB的一位置上执行存储器操作的请求,所述请求包含秘密值;基于所述请求和经修改安全密钥而确定所述秘密值是不是预期秘密值;以及响应于确定所述秘密值是所述预期秘密值,在所述RPMB的所述位置上执行所述存储器操作。
在实例4中,根据实例1-3所述的主题包含,其中所述操作进一步包括:响应于确定所述安全密钥修改特征未启用,不修改所述受保护部分的所述安全密钥。
在实例5中,根据实例1-4所述的主题包含,其中所述操作进一步包括:接收将所述存储器装置的配置设置设置为第二值的请求;将所述存储器装置的所述配置设置设置为所述第二值;确定所述操作度量是否低于所述阈值;响应于确定所述操作度量不低于所述阈值且所述配置设置设置为所述第二值,停用所述安全密钥修改特征;接收修改所述受保护部分的所述安全密钥的第二请求;响应于接收到所述第二请求,确定所述安全密钥修改特征是否启用;以及响应于确定所述安全密钥修改特征停用,禁止修改所述受保护部分的所述安全密钥。
在实例6中,根据实例1-5所述的主题包含,其中所述操作进一步包括:接收锁定所述存储器装置的配置的请求;锁定所述存储器装置的所述配置;接收将所述配置设置修改为与所述第一值不同的第二值的请求;确定所述存储器装置的所述配置是否锁定;以及响应于确定所述存储器装置的所述配置锁定,禁止将所述配置设置的所述第一值变为所述第二值。
在实例7中,根据实例1-6所述的主题包含,其中所述多个存储器单元是NAND存储器单元。
实例8是一种方法,其包括:在存储器装置处:接收将所述存储器装置的配置设置设置为第一值的请求;将所述存储器装置的所述配置设置设置为所述第一值;确定操作度量是否低于阈值;响应于将所述存储器装置的所述配置设置设置为所述第一值且确定所述操作度量低于所述阈值,启用安全密钥修改特征;接收修改所述存储器装置的存储器阵列的受保护部分的安全密钥的请求;响应于接收到所述请求,确定所述安全密钥修改特征是否启用;以及响应于确定所述安全密钥修改特征启用,修改所述受保护部分的所述安全密钥。
在实例9中,根据实例8所述的主题包含,其中所述配置设置是原始设备制造商串属性。
在实例10中,根据实例8-9所述的主题包含,其中所述受保护部分包括重放受保护存储器块(RPMB),并且其中所述操作进一步包括:在修改所述安全密钥之后,接收在所述RPMB的一位置上执行存储器操作的请求,所述请求包含秘密值;基于所述请求和经修改安全密钥而确定所述秘密值是不是预期秘密值;以及响应于确定所述秘密值是所述预期秘密值,在所述RPMB的所述位置上执行所述存储器操作。
在实例11中,根据实例8-10所述的主题包含,其中所述操作进一步包括:响应于确定所述安全密钥修改特征未启用,不修改所述受保护部分的所述安全密钥。
在实例12中,根据实例8-11所述的主题包含,其中所述操作进一步包括:接收将所述存储器装置的配置设置设置为第二值的请求;将所述存储器装置的所述配置设置设置为所述第二值;确定所述操作度量是否低于所述阈值;响应于确定所述操作度量不低于所述阈值且所述配置设置设置为所述第二值,停用所述安全密钥修改特征;接收修改所述受保护部分的所述安全密钥的第二请求;响应于接收到所述第二请求,确定所述安全密钥修改特征是否启用;以及响应于确定所述安全密钥修改特征停用,禁止修改所述受保护部分的所述安全密钥。
在实例13中,根据实例8-12所述的主题包含,其中所述操作进一步包括:接收锁定所述存储器装置的配置的请求;锁定所述存储器装置的所述配置;接收将所述配置设置修改为与所述第一值不同的第二值的请求;确定所述存储器装置的所述配置是否锁定;以及响应于确定所述存储器装置的所述配置锁定,禁止将所述配置设置的所述第一值变为所述第二值。
在实例14中,根据实例8-13所述的主题包含,其中所述多个存储器单元是NAND存储器单元。
实例15是一种存储指令的非暂时性机器可读媒体,所述指令在由存储器装置的控制器执行时使所述存储器装置执行包括以下各项的操作:接收将所述存储器装置的配置设置设置为第一值的请求;将所述存储器装置的所述配置设置设置为所述第一值;确定操作度量是否低于阈值;响应于将所述存储器装置的所述配置设置设置为所述第一值且确定所述操作度量低于所述阈值,启用安全密钥修改特征;接收修改所述存储器装置的存储器阵列的受保护部分的安全密钥的请求;响应于接收到所述请求,确定所述安全密钥修改特征是否启用;以及响应于确定所述安全密钥修改特征启用,修改所述受保护部分的所述安全密钥。
在实例16中,根据实例15所述的主题包含,其中所述配置设置是原始设备制造商串属性。
在实例17中,根据实例15-16所述的主题包含,其中所述受保护部分包括重放受保护存储器块(RPMB),并且其中所述操作进一步包括:在修改所述安全密钥之后,接收在所述RPMB的一位置上执行存储器操作的请求,所述请求包含秘密值;基于所述请求和经修改安全密钥而确定所述秘密值是不是预期秘密值;以及响应于确定所述秘密值是所述预期秘密值,在所述RPMB的所述位置上执行所述存储器操作。
在实例18中,根据实例15-17所述的主题包含,其中所述操作进一步包括:响应于确定所述安全密钥修改特征未启用,不修改所述受保护部分的所述安全密钥。
在实例19中,根据实例15-18所述的主题包含,其中所述操作进一步包括:接收将所述存储器装置的配置设置设置为第二值的请求;将所述存储器装置的所述配置设置设置为所述第二值;确定所述操作度量是否低于所述阈值;响应于确定所述操作度量不低于所述阈值且所述配置设置设置为所述第二值,停用所述安全密钥修改特征;接收修改所述受保护部分的所述安全密钥的第二请求;响应于接收到所述第二请求,确定所述安全密钥修改特征是否启用;以及响应于确定所述安全密钥修改特征停用,禁止修改所述受保护部分的所述安全密钥。
在实例20中,根据实例15-19所述的主题包含,其中所述操作进一步包括:接收锁定所述存储器装置的配置的请求;锁定所述存储器装置的所述配置;接收将所述配置设置修改为与所述第一值不同的第二值的请求;确定所述存储器装置的所述配置是否锁定;以及响应于确定所述存储器装置的所述配置锁定,禁止将所述配置设置的所述第一值变为所述第二值。
在实例21中,根据实例15-20所述的主题包含,其中所述多个存储器单元是NAND存储器单元。
实例22是一种存储器装置,所述存储器装置包括:存储器阵列,所述存储器阵列包括多个存储器单元,所述存储器阵列的一部分是使用安全密钥存取的受保护部分;控制器,所述控制器经配置以执行包括以下各项的操作:用于接收将所述存储器装置的配置设置设置为第一值的请求的构件;用于将所述存储器装置的所述配置设置设置为所述第一值的构件;用于确定操作度量是否低于阈值的构件;用于响应于将所述存储器装置的所述配置设置设置为所述第一值且确定所述操作度量低于所述阈值而启用安全密钥修改特征的构件;用于接收修改所述受保护部分的所述安全密钥的请求的构件;用于响应于接收到所述请求而确定所述安全密钥修改特征是否启用的构件;以及用于响应于确定所述安全密钥修改特征启用而修改所述受保护部分的所述安全密钥的构件。
在实例23中,根据实例22所述的主题包含,其中所述配置设置是原始设备制造商串属性。
在实例24中,根据实例22-23所述的主题包含,其中所述受保护部分包括重放受保护存储器块(RPMB),并且其中所述操作进一步包括:用于在修改所述安全密钥之后接收在所述RPMB的一位置上执行存储器操作的请求的构件,所述请求包含秘密值;用于基于所述请求和经修改安全密钥而确定所述秘密值是不是预期秘密值的构件;以及用于响应于确定所述秘密值是所述预期秘密值而在所述RPMB的所述位置上执行所述存储器操作的构件。
在实例25中,根据实例22-24所述的主题包含,其中所述操作进一步包括:用于响应于确定所述安全密钥修改特征未启用而不修改所述受保护部分的所述安全密钥的构件。
在实例26中,根据实例22-25所述的主题包含,其中所述操作进一步包括:用于接收将所述存储器装置的配置设置设置为第二值的请求的构件;用于将所述存储器装置的所述配置设置设置为所述第二值的构件;用于确定所述操作度量是否低于所述阈值的构件;用于响应于确定所述操作度量不低于所述阈值且所述配置设置设置为所述第二值而停用所述安全密钥修改特征的构件;用于接收修改所述受保护部分的所述安全密钥的第二请求的构件;用于响应于接收到所述第二请求而确定所述安全密钥修改特征是否启用的构件;以及用于响应于确定所述安全密钥修改特征停用而禁止修改所述受保护部分的所述安全密钥的构件。
在实例27中,根据实例22-26所述的主题包含,其中所述操作进一步包括:用于接收锁定所述存储器装置的配置的请求的构件;用于锁定所述存储器装置的所述配置的构件;用于接收将所述配置设置修改为与所述第一值不同的第二值的请求的构件;用于确定所述存储器装置的所述配置是否锁定的构件;以及用于响应于确定所述存储器装置的所述配置锁定而禁止将所述配置设置的所述第一值变为所述第二值的构件。
在实例28中,根据实例22-27所述的主题包含,其中所述多个存储器单元是NAND存储器单元。
实例29是包含指令的至少一个机器可读媒体,所述指令在由处理电路系统执行时使所述处理电路系统执行操作以实施实例1-28中的任一个。
实例30是一种包括用于实施实例1-28中的任一个的构件的设备。
实例31是用于实施实例1-28中的任一个的系统。
实例32是一种实施实例1-28中的任一个的方法。

Claims (20)

1.一种存储器装置,所述存储器装置包括:
存储器阵列,所述存储器阵列包括多个存储器单元,所述存储器阵列的一部分是使用安全密钥存取的受保护部分;
控制器,所述控制器经配置以执行包括以下各项的操作:
接收将所述存储器装置的配置设置设置为第一值的请求;
将所述存储器装置的所述配置设置设置为所述第一值;
确定操作度量是否低于阈值;
响应于将所述存储器装置的所述配置设置设置为所述第一值且确定所述操作度量低于所述阈值,启用安全密钥修改特征;
接收修改所述受保护部分的所述安全密钥的请求;
响应于接收到所述请求,确定所述安全密钥修改特征是否启用;以及
响应于确定所述安全密钥修改特征启用,修改所述受保护部分的所述安全密钥。
2.根据权利要求1所述的存储器装置,其中所述配置设置是原始设备制造商串属性。
3.根据权利要求1所述的存储器装置,其中所述受保护部分包括重放受保护存储器块RPMB,并且其中所述操作进一步包括:
在修改所述安全密钥之后,接收在所述RPMB的一位置上执行存储器操作的请求,所述请求包含秘密值;
基于所述请求和经修改安全密钥,确定所述秘密值是不是预期秘密值;以及
响应于确定所述秘密值是所述预期秘密值,在所述RPMB的所述位置上执行所述存储器操作。
4.根据权利要求1所述的存储器装置,其中所述操作进一步包括:
响应于确定所述安全密钥修改特征未启用,不修改所述受保护部分的所述安全密钥。
5.根据权利要求1所述的存储器装置,其中所述操作进一步包括:
接收将所述存储器装置的配置设置设置为第二值的请求;
将所述存储器装置的所述配置设置设置为所述第二值;
确定所述操作度量是否低于所述阈值;
响应于确定所述操作度量不低于所述阈值且所述配置设置设置为所述第二值,停用所述安全密钥修改特征;
接收修改所述受保护部分的所述安全密钥的第二请求;
响应于接收到所述第二请求,确定所述安全密钥修改特征是否启用;以及
响应于确定所述安全密钥修改特征停用,禁止修改所述受保护部分的所述安全密钥。
6.根据权利要求1所述的存储器装置,其中所述操作进一步包括:
接收锁定所述存储器装置的配置的请求;
锁定所述存储器装置的所述配置;
接收将所述配置设置修改为与所述第一值不同的第二值的请求;
确定所述存储器装置的所述配置是否锁定;以及
响应于确定所述存储器装置的所述配置锁定,禁止将所述配置设置的所述第一值变为所述第二值。
7.根据权利要求1所述的存储器装置,其中所述多个存储器单元是NAND存储器单元。
8.一种方法,其包括:
在存储器装置处:
接收将所述存储器装置的配置设置设置为第一值的请求;
将所述存储器装置的所述配置设置设置为所述第一值;
确定操作度量是否低于阈值;
响应于将所述存储器装置的所述配置设置设置为所述第一值且确定所述操作度量低于所述阈值,启用安全密钥修改特征;
接收修改所述存储器装置的存储器阵列的受保护部分的安全密钥的请求;
响应于接收到所述请求,确定所述安全密钥修改特征是否启用;以及
响应于确定所述安全密钥修改特征启用,修改所述受保护部分的所述安全密钥。
9.根据权利要求8所述的方法,其中所述配置设置是原始设备制造商串属性。
10.根据权利要求8所述的方法,其中所述受保护部分包括重放受保护存储器块RPMB,并且其中所述操作进一步包括:
在修改所述安全密钥之后,接收在所述RPMB的一位置上执行存储器操作的请求,所述请求包含秘密值;
基于所述请求和经修改安全密钥,确定所述秘密值是不是预期秘密值;以及
响应于确定所述秘密值是所述预期秘密值,在所述RPMB的所述位置上执行所述存储器操作。
11.根据权利要求8所述的方法,其中所述操作进一步包括:
响应于确定所述安全密钥修改特征未启用,不修改所述受保护部分的所述安全密钥。
12.根据权利要求8所述的方法,其中所述操作进一步包括:
接收将所述存储器装置的配置设置设置为第二值的请求;
将所述存储器装置的所述配置设置设置为所述第二值;
确定所述操作度量是否低于所述阈值;
响应于确定所述操作度量不低于所述阈值且所述配置设置设置为所述第二值,停用所述安全密钥修改特征;
接收修改所述受保护部分的所述安全密钥的第二请求;
响应于接收到所述第二请求,确定所述安全密钥修改特征是否启用;以及
响应于确定所述安全密钥修改特征停用,禁止修改所述受保护部分的所述安全密钥。
13.根据权利要求8所述的方法,其中所述操作进一步包括:
接收锁定所述存储器装置的配置的请求;
锁定所述存储器装置的所述配置;
接收将所述配置设置修改为与所述第一值不同的第二值的请求;
确定所述存储器装置的所述配置是否锁定;以及
响应于确定所述存储器装置的所述配置锁定,禁止将所述配置设置的所述第一值变为所述第二值。
14.根据权利要求8所述的方法,其中所述多个存储器单元是NAND存储器单元。
15.一种存储指令的非暂时性机器可读媒体,所述指令在由存储器装置的控制器执行时使所述存储器装置执行包括以下各项的操作:
接收将所述存储器装置的配置设置设置为第一值的请求;
将所述存储器装置的所述配置设置设置为所述第一值;
确定操作度量是否低于阈值;
响应于将所述存储器装置的所述配置设置设置为所述第一值且确定所述操作度量低于所述阈值,启用安全密钥修改特征;
接收修改所述存储器装置的存储器阵列的受保护部分的安全密钥的请求;
响应于接收到所述请求,确定所述安全密钥修改特征是否启用;以及
响应于确定所述安全密钥修改特征启用,修改所述受保护部分的所述安全密钥。
16.根据权利要求15所述的非暂时性机器可读媒体,其中所述配置设置是原始设备制造商串属性。
17.根据权利要求15所述的非暂时性机器可读媒体,其中所述受保护部分包括重放受保护存储器块RPMB,并且其中所述操作进一步包括:
在修改所述安全密钥之后,接收在所述RPMB的一位置上执行存储器操作的请求,所述请求包含秘密值;
基于所述请求和经修改安全密钥,确定所述秘密值是不是预期秘密值;以及
响应于确定所述秘密值是所述预期秘密值,在所述RPMB的所述位置上执行所述存储器操作。
18.根据权利要求15所述的非暂时性机器可读媒体,其中所述操作进一步包括:
响应于确定所述安全密钥修改特征未启用,不修改所述受保护部分的所述安全密钥。
19.根据权利要求15所述的非暂时性机器可读媒体,其中所述操作进一步包括:
接收将所述存储器装置的配置设置设置为第二值的请求;
将所述存储器装置的所述配置设置设置为所述第二值;
确定所述操作度量是否低于所述阈值;
响应于确定所述操作度量不低于所述阈值且所述配置设置设置为所述第二值,停用所述安全密钥修改特征;
接收修改所述受保护部分的所述安全密钥的第二请求;
响应于接收到所述第二请求,确定所述安全密钥修改特征是否启用;以及
响应于确定所述安全密钥修改特征停用,禁止修改所述受保护部分的所述安全密钥。
20.根据权利要求15所述的非暂时性机器可读媒体,其中所述操作进一步包括:
接收锁定所述存储器装置的配置的请求;
锁定所述存储器装置的所述配置;
接收将所述配置设置修改为与所述第一值不同的第二值的请求;
确定所述存储器装置的所述配置是否锁定;以及
响应于确定所述存储器装置的所述配置锁定,禁止将所述配置设置的所述第一值变为所述第二值。
CN202011595178.7A 2019-12-30 2020-12-29 用于重放受保护存储器块的安全密钥更新 Pending CN113126905A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962955135P 2019-12-30 2019-12-30
US62/955,135 2019-12-30

Publications (1)

Publication Number Publication Date
CN113126905A true CN113126905A (zh) 2021-07-16

Family

ID=76545697

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011595178.7A Pending CN113126905A (zh) 2019-12-30 2020-12-29 用于重放受保护存储器块的安全密钥更新

Country Status (3)

Country Link
US (1) US20210203496A1 (zh)
KR (1) KR20210086991A (zh)
CN (1) CN113126905A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115469801A (zh) * 2022-08-16 2022-12-13 上海江波龙数字技术有限公司 存储设备的格式化方法及相关设备

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240020426A1 (en) * 2022-07-15 2024-01-18 Samsung Electronics Co., Ltd. Storage device having an rpmb reset function and rpmb management method thereof
US11954505B2 (en) * 2022-08-11 2024-04-09 Seagate Technology Llc Distributed data storage system with dormant hardware activation

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100021446A (ko) * 2007-05-11 2010-02-24 벌리더티 센서스 인코포레이티드 물리적 복제 방지 기능을 이용한 전자 장치의 전자 보안 방법 및 시스템
WO2012153144A2 (en) * 2011-05-11 2012-11-15 Future Upgrades Limited Controlling access to data storage means
CN103988465A (zh) * 2011-12-12 2014-08-13 诺基亚公司 用于实现密钥流层级的方法和装置
CN104516834A (zh) * 2013-09-26 2015-04-15 英特尔公司 在永久存储器中的数据存储
CN104871169A (zh) * 2012-12-06 2015-08-26 三星电子株式会社 执行安全启动的片上系统、使用该片上系统的图像形成装置及其方法
US20150293857A1 (en) * 2014-04-09 2015-10-15 Seagate Technology Llc Encryption key storage and modification in a data storage device
US20180039581A1 (en) * 2016-08-04 2018-02-08 Macronix International Co., Ltd. Non-volatile memory with security key storage
US20180189199A1 (en) * 2017-01-04 2018-07-05 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Systems and methods for low latency access of memory between computing devices
KR20190057677A (ko) * 2017-11-20 2019-05-29 삼성전자주식회사 전자 장치 및 전자 장치에서 보안 운영체제 기반 데이터 송수신 방법
US20190332552A1 (en) * 2018-04-25 2019-10-31 Blockchain Asics Llc Cryptographic asic with onboard permanent context storage and exchange

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100021446A (ko) * 2007-05-11 2010-02-24 벌리더티 센서스 인코포레이티드 물리적 복제 방지 기능을 이용한 전자 장치의 전자 보안 방법 및 시스템
WO2012153144A2 (en) * 2011-05-11 2012-11-15 Future Upgrades Limited Controlling access to data storage means
CN103988465A (zh) * 2011-12-12 2014-08-13 诺基亚公司 用于实现密钥流层级的方法和装置
CN104871169A (zh) * 2012-12-06 2015-08-26 三星电子株式会社 执行安全启动的片上系统、使用该片上系统的图像形成装置及其方法
CN104516834A (zh) * 2013-09-26 2015-04-15 英特尔公司 在永久存储器中的数据存储
US20150293857A1 (en) * 2014-04-09 2015-10-15 Seagate Technology Llc Encryption key storage and modification in a data storage device
US20180039581A1 (en) * 2016-08-04 2018-02-08 Macronix International Co., Ltd. Non-volatile memory with security key storage
US20180189199A1 (en) * 2017-01-04 2018-07-05 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Systems and methods for low latency access of memory between computing devices
KR20190057677A (ko) * 2017-11-20 2019-05-29 삼성전자주식회사 전자 장치 및 전자 장치에서 보안 운영체제 기반 데이터 송수신 방법
US20190332552A1 (en) * 2018-04-25 2019-10-31 Blockchain Asics Llc Cryptographic asic with onboard permanent context storage and exchange

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115469801A (zh) * 2022-08-16 2022-12-13 上海江波龙数字技术有限公司 存储设备的格式化方法及相关设备

Also Published As

Publication number Publication date
KR20210086991A (ko) 2021-07-09
US20210203496A1 (en) 2021-07-01

Similar Documents

Publication Publication Date Title
CN111108499B (zh) Nand存储器装置、相关方法及机器可读媒体
US11722323B2 (en) Physical unclonable function with NAND memory array
US11735269B2 (en) Secure erase for data corruption
CN111758091A (zh) 单电平单元高速缓存管理
CN111539043B (zh) 提供对受保护存储器的存取的系统
CN110660441A (zh) 存储器装置中多个块的擦除
US11061606B2 (en) NAND temperature-aware operations
CN112400206B (zh) 温度敏感性nand编程
US20210203496A1 (en) Secure key update for replay protected memory blocks
CN111902806A (zh) 改进高速缓存的快闪转换层中的垃圾收集效率的方案
CN111164697A (zh) 回流焊保护
CN111538610A (zh) 具有改进型扫描的存储器装置错误检测
US20220171703A1 (en) Metadata aware copyback for memory devices
CN114093407A (zh) 一种存储器装置、数据处理系统、方法及存储介质
US20200371876A1 (en) Read retry scratch spac
CN111045852A (zh) 移动nand奇偶校验信息技术
CN111538685A (zh) 使用固件的存储器装置策略执行
CN111383693A (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