CN116569169A - 铁电存储器装置的安全管理 - Google Patents

铁电存储器装置的安全管理 Download PDF

Info

Publication number
CN116569169A
CN116569169A CN202180082626.XA CN202180082626A CN116569169A CN 116569169 A CN116569169 A CN 116569169A CN 202180082626 A CN202180082626 A CN 202180082626A CN 116569169 A CN116569169 A CN 116569169A
Authority
CN
China
Prior art keywords
memory
data
controller
cache
memory device
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
CN202180082626.XA
Other languages
English (en)
Inventor
D·卡拉乔
F·克雷希
A·奥兰多
P·阿马托
A·A·罗韦利
C·A·琼斯
N·伊佐
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 CN116569169A publication Critical patent/CN116569169A/zh
Pending legal-status Critical Current

Links

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/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
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/22Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
    • G11C11/225Auxiliary circuits
    • G11C11/2273Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/22Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
    • G11C11/225Auxiliary circuits
    • G11C11/2275Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/22Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
    • G11C11/225Auxiliary circuits
    • G11C11/2295Protection circuits or methods
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

描述与用于铁电存储器装置的安全管理有关的系统、设备和方法。实例方法可包含在存储器控制器处从主机接收命令和固件数据。所述存储器控制器可管理非易失性存储器装置,例如铁电存储器装置,且所述主机与所述存储器控制器可使用计算高速链路(CXL)协议通信。可执行所述命令以更新存储于所述非易失性存储器装置上的固件。所述方法可另外包含从所述非易失性存储器装置存取第一公钥。所述方法可另外包含用所述固件数据内的第二公钥验证所述第一公钥。所述方法可另外包含验证所述固件数据。所述方法可另外包含验证所述固件数据的安全版本。所述方法可另外包含用所述固件数据更新所述非易失性存储器装置。

Description

铁电存储器装置的安全管理
技术领域
本公开大体上涉及半导体存储器和方法,且更具体地说,涉及用于铁电存储器装置的安全管理的设备、系统和方法。
背景技术
存储器装置通常被提供为计算机或其它电子系统中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性和非易失性存储器。易失性存储器可能需要电力来维持其数据(例如主机数据、错误数据等等),并包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、同步动态随机存取存储器(SDRAM)和闸流体随机存取存储器(TRAM)等等。非易失性存储器可通过在未供电时保持所存储数据来提供持久数据,并且可包含NAND快闪存储器、NOR快闪存储器、铁电随机存取存储器(FeRAM)和电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM)和磁阻式随机存取存储器(MRAM),例如自旋力矩转移随机存取存储器(STT RAM)等。
存储器装置可耦合到主机(例如,主机计算装置)以存储数据、命令和/或指令以在操作计算机或电子系统时供主机使用。举例来说,数据、命令和/或指令可在计算或其它电子系统的操作期间在主机与存储器装置之间传送。控制器可用于管理主机和存储器装置之间的数据、命令和/或指令的传送。
附图说明
图1说明根据本公开的数个实施例的呈包含用于铁电存储器装置的安全管理并且用于数据传送的控制器的计算系统形式的框图。
图2说明根据本公开的数个实施例的呈用于铁电存储器装置的安全管理的控制器的形式的框图。
图3A说明根据本公开的数个实施例的呈用于铁电存储器装置的安全管理的另一控制器形式的框图。
图3B说明根据本公开的数个实施例的呈包含用于铁电存储器装置的安全管理的安全组件的控制器形式的框图。
图4说明根据本公开的数个实施例的说明用于铁电存储器装置的安全管理的操作的框图。
图5说明根据本公开的数个实施例的说明用于铁电存储器装置的安全管理的操作的框图。
图6说明根据本公开的数个实施例的用于铁电存储器装置的安全管理的实例方法的流程图。
图7说明根据本公开的数个实施例的用于铁电存储器装置的安全管理的控制器。
具体实施方式
描述与用于铁电存储器装置的安全管理有关的系统、设备和方法。实例方法可包含在存储器控制器处从主机接收命令和固件数据。存储器控制器可管理非易失性存储器装置,例如铁电存储器装置,其中计算高速链路(CXL)协议用以在主机与包含存储器控制器的存储器装置之间通信。可执行命令以更新存储于非易失性存储器装置上的固件。所述方法可另外包含从非易失性存储器装置存取第一公钥。所述方法可另外包含用固件数据内的第二公钥验证第一公钥。所述方法可另外包含验证固件数据。所述方法可另外包含验证固件数据的安全版本。所述方法可另外包含用固件数据更新非易失性存储器装置。
用于安全管理的控制器可包含前端部分、中央控制器部分和后端部分。中央控制器部分可包含安全组件且可被配置成使得执行用于安全管理的存储器操作。安全组件可被配置成在将数据存储于非易失性存储器装置中之前将数据加密并且在从非易失性存储器装置传送数据之前解密数据。
控制器(本文中有时被称为存储器控制器)可包含管理耦合到存储器控制器的每一种类型的存储器装置的多种组件。在一些实施例中,存储器控制器可启用或停用特定组件(例如,安全组件),这取决于所述组件是用以将数据从主机传送到存储器装置中的一个还是安全数据从主机传送到存储器装置中的一个。举例来说,与存储器控制器相关联的安全组件可在将数据传送到FeRAM存储器装置时启用并且在将数据传送到易失性存储器装置(例如DRAM存储器装置)时停用。存储器控制器也可用以管理一种类型的存储器装置,例如FeRAM存储器装置或DRAM存储器装置。
在数据从主机传送到存储器装置以及从存储器装置传送到主机时,可尝试拦截数据以便获得对数据和存储器系统的另外组件的未经授权存或获知主机发送和接收的命令,以便从存储器系统外部发送命令并通过外部装置(例如,中介者、协议嗅探器,或其它这类黑客装置)来控制存储器系统。
在一些先前方法中,每当数据写入到存储器装置或从存储器装置读取数据时,可以类似方式传送数据。来自以类似方式传送数据的这类模式可被拦截并且用以解释数据传送或数据自身。相比之下,本文中所描述的实施例针对于铁电存储器装置的安全管理以确保在主机与一或多个存储器装置之间传送的数据安全。通过实施这类安全性,可在不拦截数据或无需确定数据传送的模式的情况下传送数据。另外,因为本公开的一些实施例针对于每当传送数据时以不同方式传送数据,所以可阻止尝试解释传送模式或拦截数据本身的外部装置。
在一些实施例中,存储器系统可为计算快速链路(Compute Express Link,CXL)顺应性存储器系统(例如,存储器系统可包含PCIe/CXL接口)。CXL是设计成促进下一代数据中心性能的高速中央处理单元(CPU)到装置和CPU到存储器互连件。CXL技术维持(主机的)CPU存储器空间与所附接装置上的存储器之间的存储器相干性,其允许资源共享以实现较高性能、减小软件堆栈复杂性和降低总系统成本。
随着越来越多地使用加速器来补充CPU以支持新兴应用,例如人工智能和机器学习,CXL被设计成用于高速通信的行业开放标准接口。CXL技术构建在外围组件互连高速(PCIe)基础结构上,其利用PCIe物理和电气接口以在例如输入/输出(I/O)协议、存储器协议(例如,初始允许主机与加速器共享存储器)和相干性接口等领域中提供高级协议。
在本公开的以下详细描述中,参考形成本公开的部分的附图,且图中通过图解方式展示可实践本公开的一或多个实施例的方式。足够详细地描述这些实施例以使得所属领域的一般技术人员能够实践本公开的实施例,且应理解,可利用其它实施例,且可在不脱离本公开的范围的情况下进行工艺、电气和结构改变。
还应理解,本文中所使用的术语仅出于描述特定实施例的目的,而不意图为限制性的。如本文中所使用,除非上下文另有明确指示,否则单数形式“一个/种(a/an)”和“所述(the)”可以包含单数和复数提及物。另外,“多个”、“至少一个”和“一或多个”(例如,多个存储器存储体)可指一或多个存储器存储体,而“多个”意在指代超过一个此类事物。
此外,贯穿本申请案以许可的意义(即,有可能、能够),而非以强制性的意义(即,必须)使用单词“可能”和“可”。术语“包含”和其派生词指“包含但不限于”。视上下文而定,术语“耦合(coupled/coupling)”意指物理上直接或间接连接或存取及移动(传输)命令和/或数据。视上下文而定,术语“数据”和“数据值”在本文中可互换地使用且可具有相同含义。
图1说明根据本公开的数个实施例的呈包含用于存储器(例如,存储器装置126、128)的安全管理和数据传送的控制器100的计算系统101形式的框图。作为实例,控制器110可用以从存储器装置读取和/或将数据写入到存储器装置。计算系统101可包含存储器控制器100,所述存储器控制器100包括前端部分104、中央控制器部分110和后端部分119。中央控制器110可包含安全组件114。安全组件的实例可包含但不限于被配置成实施数据加密、数据散列、数据掩蔽、数据令牌化以及下文更详细地描述的其它安全操作的硬件、软件和/或电路系统。另外,计算系统101可耦合到主机103和存储器装置126、128。
在一些实施例中,存储器控制器100可管理DRAM存储器装置126和铁电存储器装置128(例如,铁电随机存取存储器(FeRAM))存储器装置)。另外,在一些实施例中,替代管理DRAM存储器装置126和FeRAM存储器装置128两者,存储器控制器100可被配置成仅管理易失性存储器装置,例如DRAM存储器装置126,或仅管理FeRAM存储器装置128。
前端部分104可包含柔性总线互连件并且使用包含CXL.io和CXL.mem的CXL协议层。存储器控制器100可具有前端部分104,所述前端部分104包含通过输入/输出(I/O)分道102-1、102-2、…、102-N(分别称为或统称为I/O分道102)将存储器控制器100耦合到主机103的接口和管理I/O分道102的电路系统。在一些实施例中,可存在八(8)个I/O分道102,在其它实施例中,可存在十六(16)个I/O分道102。在一些实施例中,多个I/O分道102可被配置成单个端口。
存储器控制器101可包含中央控制器部分110,所述中央控制器部分110可响应于接收到来自主机103的请求而控制存储器操作的执行。存储器操作可为从存储器装置126、128读取数据的存储器操作或将数据写入到存储器装置126、128的操作。在一些实施例中,中央控制器部分110可响应于从主机103接收到请求而控制基本上同时写入多个数据页的操作。
中央控制器部分110可包含存储与存储器操作的执行相关联的数据的高速缓存存储器(例如,本文在图2中所示出的高速缓存器212),以及/或在数据存储在DRAM存储器装置126、FeRAM存储器装置128和/或高速缓存存储器中之前将数据加密并且如下文进一步描述地执行其它安全操作的安全组件114。在一些实施例中,响应于从主机103接收到请求,来自主机103的数据可存储在高速缓存存储器的高速缓存行中。高速缓存存储器中的数据可写入到存储器装置126、128。在一些实施例中,数据可从高速缓存存储器传送以便在写入到存储器装置126、128之前使用高级加密标准(AES)进行加密。在一些实施例中,可在数据存储于高速缓存存储器中之前使用高级加密标准(AES)加密将数据加密。然而,实施例不限于此,因为举例来说,数据可在从高速缓存存储器读取之后加密。
如下文将描述,可在沿着数据路径的多个点处接近数据安全,且每种途径均可保护存储器系统中的不同位置处的数据。举例来说,可通过执行受信任代码和下载受信任代码,确保存储器系统的启动安全,以此维持固件和启动加载器代码图像的完整性。在另一实例中,可通过停用特定点处的边带接口存取来保护加密秘密以免被篡改。可通过使用防旁侧信道攻击的IP来防止旁侧信道攻击。在另一实例中,可使用动态高速缓存策略来防止高速缓存攻击。在另一实例中,可通过使用防毛刺攻击的IP来防止毛刺(glitch)攻击。在另一实例中,可通过使用数据路径控制器上的加密组件来维持静止数据的置信度,且可通过使用加密擦除和/或清理操作安全地执行静止数据。以这些方式,安全组件114可与其它存储器组件结合使用来确保数据受保护。
中央控制器部分110可包含用于对数据进行ECC编码的错误校正码(ECC)编码电路系统(例如,本文中在图2中所说明的ECC编码电路系统216),以及用于对数据进行ECC解码的ECC解码电路系统(例如,本文中在图2中所说明的ECC解码电路系统218)。如本文中所使用,术语“ECC编码”可以指代通过将冗余位添加到数据来编码数据。如本文中所使用,术语“ECC解码”可以指代检查经ECC编码的数据以检查数据中的任何错误。ECC编码电路系统可对将写入到存储器装置126和FeRAM存储器装置128的数据进行编码。在一些实施例中,数据中检测到的错误可在检测后立即校正。ECC解码电路系统可对先前已经ECC编码的数据进行解码。
在一些实施例中,存储器控制器100可包括后端部分119,所述后端部分119包括媒体控制器和将存储器控制器100耦合到多个存储器排的物理(PHY)层。如本文所用,术语“PHY层”通常是指计算系统的开放系统互连(OSI)模型中的物理层。PHY层可为OSI模型的第一(例如,最低)层并且可用以经由物理数据传输媒体传送数据。在一些实施例中,物理数据传输媒体可为多个信道125-1、125-2。如本文中所使用,术语“存储器排”通常指可同步存取的多个存储器芯片(例如,DRAM存储器芯片和/或FeRAM存储器芯片)。在一些实例中,存储器排可为六十四(64)位宽,且每一存储器排可具有八(8)页。在一些实施例中,第一类型的存储器装置(例如,DRAM存储器装置)126的页大小可大于第二类型德存储器装置(例如,FeRAM存储器装置)128的页大小。然而,实施例不限于这些参数。
在一些实施例中,存储器控制器100可包含管理单元134以初始化、配置和/或监测存储器控制器100的特征。另外,管理单元134可用以执行非存储器功能。这类实例可包含记日志、错误报告、支持主机发现、安全协议管理、安全功能等。此外,在一些实例中,管理单元134可包含两个子系统:包含用于主固件和相关资源的中央处理单元(CPU)的开放系统,以及包含用于安全固件和相关资源(包含加密引擎,例如AES、SHA、RSA(李维斯特-沙米尔-阿德尔曼(Rivest-Shamir-Adleman))等)的CPU的安全系统。管理单元134可包含管理带外数据和/或命令的I/O总线、执行与初始化、配置和/或监测存储器控制器的特性相关联的一或多个指令的管理单元控制器,以及存储与初始化、配置和/或监测存储器控制器100的特性相关联的数据的管理单元存储器。如本文中所使用,术语“带外数据和/或命令”通常指代通过不同于网络的主传输媒体的传输媒体传送的数据和/或命令。举例来说,带外数据和/或命令可为使用与用于在网络内传送数据的传输媒体不同的传输媒体传送到网络的数据和/或命令。
图2说明根据本公开的数个实施例的呈用于铁电存储器装置的安全管理的存储器控制器200的形式的框图。存储器控制器200被配置成管理根据第一组定时特性操作的第一类型的存储器装置(例如,DRAM存储器装置)226-1、…、226-N(分别称为或统称为第一类型的存储器装置226),以及根据第二组定时特性操作的第二类型的存储器装置(例如,FeRAM存储器装置)228-1、…、228-N(分别称为或统称为第二类型的存储器装置228)。此外,在一些实施例中,代替管理DRAM存储器装置226和FeRAM存储器装置228两者,存储器控制器200可被配置成仅管理DRAM存储器装置226或仅管理FeRAM存储器装置228。在一些实施例中,存储器控制器200可包含前端部分204、中央控制器部分210和后端部分219。
如图2所示,前端部分204可包含接口206,以及管理接口206的电路系统208,所述接口206包含多个I/O分道202-1、202-2、…、202-N(分别称为或统称为I/O分道202)。接口206可为耦合到I/O分道202的外围组件互连高速(PCIe)5.0接口。在一些实施例中,存储器控制器200可经由PCIe 5.0接口206根据CXL协议接收涉及高速缓存存储器212、第一类型的存储器装置226和/或第二类型的存储器装置228中的至少一个的存取请求。接口206可通过I/O分道202从主机(例如,图1中示出的主机103)接收数据。接口管理电路系统208可以使用CXL协议管理接口206。
中央控制器部分210可被配置成使得执行存储器操作和/或安全操作,如下文所描述。中央控制器部分210可包含存储与执行存储器操作相关联的数据的高速缓存存储器212。在一些非限制性实例中,高速缓存存储器212可为包含多个高速缓存行的三十两(32)路组相联高速缓存存储器。高速缓存行大小可等于存储器控制器200读取粒度。因此,每一高速缓存行可包含256字节的数据。在一些实施例中,每一高速缓存行可包括512字节的数据。
CXL存储器系统的读取和写入请求的大小可为64字节。因此,在一些非限制性实例中,高速缓存存储器212中的数据条目可具有64字节的数据。每一高速缓存行可包括256个字节。因此,多个64字节请求可存储在每一高速缓存行中。响应于来自主机的请求,存储器控制器200可将256字节的数据写入到存储器装置226、228。在一些实施例中,256字节的数据可在64字节组块中写入。
如图2所示,中央控制器部分210可包含安全组件214以在将数据存储于DRAM装置226或FeRAM存储器装置228中之前将数据加密并且在数据从DRAM存储器装置226或FeRAM存储器装置228传送到主机之前解密数据。如前所述,安全组件214可使用AES加密将数据加密。在一些实施例中,安全组件214可以加密写入到FeRAM存储器装置228的数据,但可能不加密写入到易失性存储器装置(例如,DRAM存储器装置226)的数据。在替代方案中,在一些实施例中,安全组件214可以加密写入到易失性存储器装置(例如,DRAM存储器装置226)的数据,且可能不加密写入到FeRAM存储器装置228的数据。写入到FeRAM存储器装置228的数据可经加密,这是因为FeRAM存储器装置228可具有DRAM存储器装置226不具有的安全性缺陷。可在不被使用绕过安全组件214。在一些实施例中,可启用或停用安全组件214。举例来说,当写入存储器到持久性存储器装置,例如FeRAM存储器装置228时可启用安全组件214。
如图2中所示,中央控制器部分210可包含错误校正码(ECC)电路系统以对数据进行ECC编码并且对数据进行ECC解码。在一些实施例中,存储器控制器210可实施低功率芯片猎杀(LPCK)错误校正。如本文所使用,术语“芯片猎杀”通常指代保护存储器系统(例如,图1中所示的存储器系统101)免受任何单个存储器芯片失效以及单个存储器芯片的任何部分的多位错误的影响的一种形式的错误校正。芯片猎杀保护的一种方法是即时校正实施方案。即时校正可从多个存储器裸片(例如,存储器芯片)中的每一个的四(4)位符号中形成多个码字。举例来说,如果存在各自含有4个单独位符号的十一(11)个裸片,其中每个位符号含有4个位,那么11个裸片可形成4个码字,每个码字具有11个单独位符号,包括总共四十四(44)个位。
在一些实施例中,第一码字可包括每个裸片的第一位符号,第二码字可包括每个裸片的第二位符号,第三码字可包括每个裸片的第三位符号,并且第四码字可包括每个裸片的第四位符号。换句话说,码字的八个数据位符号和3个奇偶校验位符号可存储在十一(11)个裸片中。11个裸片中的八(8)个可含有数据位符号,并且11个裸片中的三(3)个剩余裸片可包含奇偶校验位符号。添加3个奇偶校验位符号可允许中央控制器部分210在每个码字中校正多达一个符号错误并且检测多达两个符号错误。如果代替添加3个奇偶校验位符号,而是仅添加两(2)个奇偶校验位,那么中央控制器部分210可校正多达一个符号错误,但仅检测一个符号错误。在一些实施例中,数据位符号和奇偶校验位符号可由ECC编码电路系统216和ECC解码电路系统218从11个裸片同时写入或读取。如果裸片中的每个位符号失效,那么仅来自码字中的裸片的位符号将失效。这允许尽管一个裸片完全失效也可重建存储器内容。
如图2中所示,存储器控制器200可包含后端部分219,所述后端部分219包含:媒体控制器部分220,其包括多个媒体控制器;以及物理(PHY)层部分222,其包括多个PHY层224-1、224-2、224-N、…、224-(N+1)(分别称为或统称为PHY层224)。在一些实施例中,后端部分219被配置成将PHY层部分222耦合到第一存储器装置226的多个存储器存储体230-1、…、230-N(个别地称为或统称为存储器排230)和第二存储器装置228-1、…、228-N(个别地称为或统称为第二存储器装置228)的多个存储器存储体232-1、…、232-M(个别地称为或统称为存储器排232)。媒体控制器220可按照打开页策略和关闭页策略操作。如本文所使用,术语“打开页策略”通常指代允许存储器控制器(例如,媒体控制器220)在执行读取操作或写入操作之后使存储器页打开特定时间量的策略。如本文所使用,术语“关闭页策略”通常指代确保在执行读取操作或写入操作之后立即关闭存储器页的策略。在一些实施例中,作为非限制性实例,FeRAM存储器装置228可在FeRAM存储器装置228的tRAS小于五百(500)ns的额外要求下实施关闭页策略。
在使用LPCK错误校正的实施例中,媒体控制器部分220可为单个媒体控制器220。当实施LPCK错误校正时,可同时驱动多个信道225-1、225-2、225-N、…、225-(N+1)(个别地称为或统称为多个信道225)以将数据写入到DRAM存储器装置226和/或FeRAM存储器装置228。在一些实施例中,代替使用单个媒体控制器220,多个媒体控制器可用于驱动LPCK架构中的多个信道225。当多个媒体控制器用于同时驱动信道225时,基本上同时利用媒体控制器。
如本文中所使用,术语“大体上”意指特性不需要是绝对的,而是足够接近以便实现所述特性的优点。举例来说,“大体上同步”不限于绝对同步执行操作并且可包含意在同时但归因于制造限制可能并不精确地同步的定时。举例来说,由于可由各种接口(例如,LPDDR5与PCIe)展现的读取/写入延迟,“大体上同步”利用的媒体控制器可能并不精确地在同一时间开始或结束。举例来说,可利用多个存储器控制器以使得其在同一时间将数据写入到存储器装置而不考虑媒体控制器中的一个是否在其它媒体控制器之前开始或终止。
多个媒体控制器中的每一个可接收相同命令和地址,且大体上同时驱动多个信道225。通过使用用于多个媒体控制器的相同命令和地址,多个媒体控制器中的每一个可利用多个信道225对相同的多个存储器单元执行相同存储器操作。
后端部分222可包含多个PHY层224和媒体控制器部分220,所述媒体控制器部分220被配置成驱动将PHY层224耦合到存储器存储体230、232的信道225。在一些实施例中,存储器存储体230、232可为DRAM存储器存储体230和/或FeRAM存储器存储体232。在一些实施例中,作为非限制性实例,存储器控制器200可通过耦合到后端部分219的信道225耦合到存储器存储体230、232,并且信道225中的每一个耦合到四(4)个存储器存储体230、232。
存储器控制器200可包含管理单元234以初始化、配置和/或监测存储器控制器200的特征。另外,管理单元234可用以执行非存储器功能。这类实例可包含记日志、错误报告、支持主机发现、安全协议管理、安全功能等。在一些实例中,管理单元234可包含管理带外数据和/或命令的I/O总线238、执行与初始化、配置和/或监测存储器控制器200的特性相关联的指令的管理单元控制器240,以及存储与管理和/或监测存储器控制器200的特性相关联的代码和/或数据的管理单元存储器242。管理单元234的端点可暴露于主机系统(例如,图1中示出的主机103)以管理数据。在一些实施例中,管理单元234监测的特性可包含供应给存储器控制器200的电压或外部传感器测量的温度,或这两者。另外,管理单元234可包含先进的高性能总线(AHB)互连件236以耦合管理单元234的不同组件。然而,实施例不限于此且管理单元234可包含耦合管理单元234的不同组件的其它互连件。
如上文所陈述,I/O总线238可被配置成传送带外数据和/或命令。在一些实施例中,I/O总线238可为系统管理总线(SMBus)。如本文中所使用,术语“SMBus”通常是指用于轻质通信目的简单的单端双线总线。另外,管理单元234可包含管理带内数据的电路系统。如本文中所使用,术语“带内传信”通常是指用于相较于使用单独物理(边带)信号,使用两个组件之间的链路发信号通知事件和条件的方法。本文所定义的机制可使用带内传信实施,不过在替代方案中,在一些形式因数中可使用边带传信。
管理单元234可包含管理单元控制器240。在一些实施例中,管理单元控制器240可为满足联合测试行动小组(JTAG)标准并且尤其能够根据集成电路间(I2C或I3C)协议运行的微控制器,以及辅助I/O电路系统。如本文所用,术语“JTAG”一般是指用于在制造之后验证设计和测试印刷电路板的行业标准。如本文所用,术语“I2C”通常是指用于双线接口以连接如微控制器、I/O接口和嵌入系统中的其它类似外围设备等低速装置的串行协议。在一些实施例中,辅助I/O电路系统可将管理单元234耦合到存储器控制器200。此外,用于操作管理单元的固件可存储在管理单元存储器242中。在一些实施例中,管理单元存储器242可为快闪存储器,例如快闪NOR存储器或其它持久性快闪存储器装置。
图3A说明根据本公开的数个实施例的呈用于管理多种类型的存储器的另一控制器300形式的框图。存储器控制器300被配置成管理具有第一行地址选通定时(tRAS)的动态随机存取存储器(DRAM)存储器装置326-1、…、326-N(分别称为或统称为DRAM存储器装置326)和具有第二tRAS的铁电随机存取存储器(FeRAM)存储器装置328-1、…、328-N(分别称为或统称为FeRAM存储器装置328)。此外,在一些实施例中,代替管理DRAM存储器装置326和FeRAM存储器装置328两者,存储器控制器300可被配置成仅管理DRAM存储器装置326或仅管理FeRAM存储器装置328。如图3A中所示,存储器控制器300可包含前端部分304、中央控制器310和后端部分319。
如图3A中所示,前端部分304可包含接口306和管理接口306的控制器308,所述接口306包含多个I/O分道302-1、302-2、…、302-N(分别称为或统称为I/O分道302)。在一些实施例中,I/O分道302的数量可为八(8)个I/O分道,且在其它实施例中,I/O分道302的数量可为十六(16)个I/O分道。增加I/O分道302的量可增加传送进出存储器控制器300的数据量。在一些实施例中,I/O分道被配置成以每秒至少三十二(32)千兆次传送(GT/s)的速率传送存取请求进出存储器控制器外部的电路系统。更具体地,I/O分道中的每一个可被配置成以至少32GT/s的速率传送请求。因此,增加I/O分道的数目可增加每秒写入的数据量。另外,在一些实施例中,I/O分道可被配置成根据计算高速链路协议传送存取请求进出存储器控制器外部的电路系统。
如图3A中所示,可使得执行读取操作或写入操作或这两者的中央控制器310可包含存储与读取操作或写入操作或这两者相关联的数据并且提高存取数据的效率的高速缓存存储器312。高速缓存存储器312可用以存储从主机接收的数据并将所存储的数据写入到DRAM存储器装置326和/或FeRAM存储器装置328。在一些实施例中,高速缓存存储器312可通过允许FeRAM存储器装置328接收64字节块中的数据来提高存取数据的效率。CXL存储器系统(例如,存储器系统300)可以64字节的粒度请求数据,但可以128字节、256字节或512字节的粒度存取数据,以及其它非限制性实例。将数据存储于高速缓存存储器312中可允许FeRAM存储器装置328存取64字节组块中的数据,这是因为高速缓存存储器312可发送64字节组块中的数据。使用高速缓存存储器312也可提高存储器系统的效率,这是因为高速缓存存储器312可预提取数据并在高速缓存未命中的情况下存储多个64字节块中的数据。这可提高CXL存储器系统的效率,这是因为代替在高速缓存未命中的情况下检索单独存储器装置,而是可从高速缓存存储器312读取数据,因为高速缓存存储器312预提取了数据。存取预提取的数据使用的时间和能量可比在存储器系统必须在存取数据之前搜索数据的情况下使用的时间和能量少。
如图3A中所示,中央控制器310可包含安全组件314以在将数据存储于DRAM存储器装置326或FeRAM存储器装置328中之前将数据加密并且在将数据从DRAM 326存储器装置或FeRAM存储器装置328传送到主机之前解密数据。在一些实例中,数据可在存储于高速缓存器312中之前由安全组件314加密,或在替代方案中,数据可在从高速缓存存储器312检索之后并且在写入到DRAM存储器装置326或FeRAM存储器装置328之前由安全组件314加密。如上文所陈述,安全组件314可使用AES加密将数据加密。在一些实施例中,数据可绕过安全组件314并且避开加密。举例来说,当数据从主机写入到DRAM存储器装置326时,数据可绕过安全组件314并且作为未经加密数据写入到DRAM存储器装置326中。数据可在写入到DRAM存储器装置326时绕过安全组件,这是因为DRAM存储器装置326可能不具有与FeRAM存储器装置328相同的漏洞。这可提高CXL存储器系统的效率,因为绕过安全组件314可减小消耗的功率和/或用以传送数据的时间。因此,通过在当安全组件314提供更显著益处时的情形下通过安全组件314并且在其中安全组件314提供较不显著益处的情形下绕过安全组件314,将提高存储器系统的效率。
如图3A中所示,中央控制器310可包含将数据ECC编码的ECC编码电路系统316-1、316-2、316-N、…、316-(N+1)(分别称为或统称为ECC编码电路系统316)和将数据ECC解码的ECC解码电路系统318-1、318-2、318-N、…、318-(N+1)(分别称为或统称为ECC解码电路系统318)。在一些实施例中,中央控制器310还可包含存储数据的多个独立磁盘冗余阵列(RAID)组件344-1、344-2、344-N、…、344-(N+1)(分别称为或统称为RAID组件344)。然而,实施例不限于此且一些实施例可不包含RAID组件。如本文中所使用,术语“RAID组件”通常是指数据存储虚拟化技术,其出于数据冗余、性能改进或这两者的目的将多个物理磁盘驱动组件组合成一或多个逻辑单元。
RAID组件344中的每一个可耦合到不同ECC编码电路系统316和ECC解码电路系统318。在一些实施例中,RAID组件344中的每一个可对应于媒体控制器321-1、321-2、321-N、…、321-(N-+1)(分别称为或统称为媒体控制器321)中的一个。这允许单独RAID组件344和单独媒体控制器321专用于信道325-1、325-2、…、325-N、325-(N+1)中的每一个。RAID状态机可实施RAID组件344的功能性。通过使单独RAID组件344和单独媒体控制器321专用于每一信道325,每一信道325可被单独地驱动并且接收与其它信道325分开的命令和地址。在一些实施例中,每一媒体控制器321以独立于其它媒体控制器321的方式执行命令。此RAID架构相较于LPCK架构,可在将多少数据写入到存储器装置326、328和何时将数据写入到存储器装置326、328方面,为存储器系统提供更多灵活性。在一些实施例中,RAID组件344可跨多个信道325条带化。如果RAID组件344跨多个信道325条带化,那么可跨多个信道325共享RAID状态机。这允许RAID组件344基本同步地驱动多个信道325。如上文所描述,RAID组件344可为任选的,且一些实施例可在不具有RAID组件344的情况下起作用。
如图3A中所示,存储器控制器部分300可包含后端部分319,所述后端部分319包含包括多个媒体控制器321的媒体控制器部分320和包括多个物理(PHY)层324-1、324-2、…、324-N+1(分别称为或统称为PHY层324)的PHY层部分322,其中后端部分319被配置成将PHY层部分322耦合到多个存储器排。在一些实施例中,存储器排可包含DRAM存储器排330-1、…、330-N(分别称为或统称为DRAM存储器排330)和FeRAM存储器排332-1、…、332-M(分别称为或统称为FeRAM存储器排332)。另外,在一些实施例中,存储器排可仅包含DRAM存储器排330或仅包含FeRAM存储器排332。在一些实施例中,后端部分319可通过多个信道325连接到多个存储器排330、332,且所述多个信道325中的每一个耦合到在一(1)个到八(8)个存储器排330、332范围内的存储器排330、332。在一些实施例中,所述多个信道325中的每一个耦合到五(5)个存储器排。
如上文所陈述,每一媒体控制器321可对应于RAID组件344,以及ECC编码电路系统316和ECC解码电路系统318。如上文所描述,在一些实施例中,RAID组件可为任选的。每一媒体控制器321也可对应于多个PHY层324中的一个。每一PHY层324可通过信道325耦合到DRAM存储器装置326或FeRAM存储器装置328。在一些实施例中,每一媒体控制器321可以与其它媒体控制器321无关的方式执行命令。因此,数据可以与其它PHY层324和信道325无关的方式从PHY层324通过信道325传送到存储器装置326、328。
如图3A中所示,存储器控制器300可包含管理单元334,其被配置成初始化、配置和/或监测多个存储器控制器300的特性。另外,管理单元334可用以执行非存储器功能。这类实例可包含记日志、错误报告、支持主机发现、安全协议管理、安全功能等。管理单元334可包含传送带外数据和/或命令的I/O总线339、执行与初始化、配置和/或监测存储器控制器300的特性相关联的指令的处理器(例如,“控制器”)340,以及存储与管理和/或监测存储器控制器300的特性相关联的代码和数据的管理单元存储器342。管理单元334可监测的存储器控制器300的特性可包含但不限于施加至存储器控制器300的电压量和存储器控制器300的温度。
图3B说明根据本公开的数个实施例的呈包含用于铁电存储器装置的安全管理的安全组件314的存储器控制器300形式的框图。存储器控制器300可包含前端部分304(例如分别在图1、2和3A中的前端部分104、204和304)、中央控制器310(例如分别在图1、2和3A中的中央控制器110、210和310),以及后端部分319(例如分别在图1、2和3A中的后端部分119、219和319)。前端部分304可通过互连件336-1连接到中央控制器312。中央控制器310可通过互连件336-2连接到后端部分319。另外,互连件336-3可将高速缓存器312的高速缓存控制器332连接到安全组件314的加密核心337,且互连件336-4可将高速缓存控制器332连接到安全组件314的解密核心338。
高速缓存器312可包含写入缓冲器331、高速缓存控制器332和阵列334。高速缓存控制器332可包含核心333和接口335。接口335可为高速缓存接口和高速缓存遥测组件。数据可从主机接收到前端304并且通过互连件336-1传送到高速缓存器312。数据可通过核心333传送到写入缓冲器331并且传送回到核心333。数据也可传送到高速缓存器312的阵列334。高速缓存控制器332可将数据通过互连件336-3发送到安全组件314的加密核心337或通过互连件336-4从安全组件314的解密核心338接收数据。
可基于AES,例如AES-XTS 256协议来保护通过核心333发送的永久性数据。在其中在从高速缓存器接收到数据之后进行加密的实例中,可在单个高速缓存行基础上应用保护,但实施例不限于此。可基于安全性偏好启用和/或停用AES-XTS加密,这是因为低功率双倍数据速率5(LPDDR5)协议可能不需要静止数据保护。另外,主机的操作系统超管理器可用唯一性每虚拟机(VM)加密密钥来分割存储器以便确保数据在VM之间是机密的。虽然本文中的描述包含通过AES的数据加密,包含基于非易失性存储器的CXL模块实施方案,但实施例不限于此并且可包含基于永久性存储器的实施方案。
安全操作的实例可包含:MemInv操作,其包含加密新元数据状态;MemRd操作,其包含解密定址数据并且将新元数据状态(在Meta0=S的情况下)加密;MemRdData操作,其包含解密定址数据;MemSpecRd操作,其包含解密定址数据并在被执行时将新元数据状态(在Meta0=S的情况下)加密;以及MemWr操作,其包含加密定址数据和新元数据状态。高速缓存器312、安全组件314和RAID/ECC组件315可用以执行这些安全操作。进出加密核心337和解密核心338的数据带宽可为每秒32千兆位(GB)带宽,包含从安全组件314进出RAID组件344的带宽。虽然实施例被描述为包含RAID组件344,但实施例不限于此且一些实施例可不包含RAID组件344,这是因为RAID组件可为任选的。
在一些实施例中,存储器系统300的固件和启动加载器可经数字签名且可在经编程于在其中存储有固件和启动加载器的非易失性存储器装置中之前在下载过程期间被验证。这可防止将可用以避开存储器装置的安全特征的恶意程序引入到存储器系统上。固件下载可带内的,或相较于边带或带外信道使用标准接口,且基于CXL装置命令(例如,Get FWInfo、Transfer FW和Activate FW)。带内信道可以指连接装置和主要主机的信道。带外(OOB)信道可以指连接装置和支持主机系统(例如,BMC)的信道。边带信道是装置上实施OOB信道的接口。可使用李维斯特-沙米尔-阿德尔曼(RSA)操作将启动加载器和主固件签名。固件可支持用于防回退保护的安全版本检查。启动加载器和主固件的安全版本可存储于存储器装置上且可被视为公共安全参数,这是因为其指定安装于存储器装置上的固件的最高安全版本。下文将进一步描述启动加载器(图4)和固件图像(图5)的安全措施。
在一些实施例中,可使用边带接口,例如JTAG。在一些实例中,当与CPU通信时可使用JTAG调试接口。这可允许检查CPU地址空间中映射的任一IP。然而,风险是通过此设置可有可能到达含有关键数据的存储器区域。因此,可能需要借助于特定机制停用此JTAG接口。所述特定机制可能够在两个状态(例如,启用JTAG和停用JTAG)之间切换有限次数。这可缓解在存储器装置的生产过程中可能发生的错误。两个状态中的一个之间的转变可以在受控条件(例如,特定实验室或生产线)下进行并且由经授权这样做的那些个体唯一地完成。在一些实例中,一旦存储器装置准备好离开生产过程便可永久性地停用JTAG接口。
在一些实例中,JTAG接口切换可基于一组一次可编程(OTP)位,其总逻辑状态通过组合逻辑网络输出单个状态位,所述状态位将针对JTAG接口被启用或停用的状态编码。作为实例,如表1中所说明,OTP位状态可指示对应JTAG状态:
表1
由于OTP可仅切换状态一次,因此其它状态组合并不重要。举例来说,从状态011开始,具有后续序列000到001到011,可能并不可能到达状态101。
在一些实施例中,基于串行端口的接口(例如,边带接口,例如通用异步收/发器(UART))用于ROM监测,例如出于各种目的将命令发到存储器系统。另外,边带接口可用于次级启动源(通过其有可能加载二进制固件图像并且通过此类型的接口运行所述二进制固件图像)。另外,在一些实例中,可永久性地停用边带接口以便减少对系统的存取并且保持数据完整性。这类边带接口可受限于只读简化形式以消除在固件中用户输入命令的可能性。出于安全目的,可创建两个不同的固件图像,在一个固件图像中,所有代码在边带接口存在时专用于管理边带接口,在另一个固件图像中,边带接口存在于先前提及的简化形式中。这可通过从单个源代码开始并且使用编程语言提供的一些特征选择性地不包含代码的特定部分来实现。此处是这类伪C代码的实例:
为了防止使用调试接口作为次级启动装置,可使用OTP位,例如以下OTP位:
OTP位:0=>从UART启用启动
OTP位:1=>从UART停用启动
在一些实施例中,系统管理总线(SMBus)接口可为边带总线,其信号与跨主总线发送的那些信号并排放置。此SMBus接口可用以实施远端管理而不必依赖于安装在其中的主机系统的资源(例如,MCTP协议使用SMBus作为其堆栈的物理层的实施方案)。此边带接口可用于经定址到管理单元(例如,图1中的管理134)的带外(OOB)类型的服务消息的传输。这些边带服务消息可经定址到装置并且可被管理单元(例如图1中的管理单元134)拦截和处理。在其中边带接口是带外(OOB)总线的实例中,可在用于企业应用程序的系统层级处使用边带接口。在其中边带接口是JTAG或UART接口的一些实例中,边带接口可用于存储器装置的生产,且一旦经生产并且准备好供顾客使用,便可移除边带接口。
在一些实施例中,旁侧信道攻击可利用物理变量(例如,耗电、EM发射等)与可受存储器系统操控的秘密(例如,密钥)之间的相关性。可针对加密337和解密338核心使用此类型的旁侧信道攻击,这是因为核心337/338计算数次恒定小秘密(例如,密钥)。相关变量可“泄露”秘密,且这类“泄露”被称为迹线。旁侧信道攻击可划分成三个不同类别,例如简单功率分析(SPA),其中可使用单个迹线提取相关性;微分功率分析(DPA),其中数千或数十万的迹线可与提取秘密或密钥的泄露模型相关;以及模板攻击,其中泄露模板构建于不同存储器装置上并且在受害者装置上使用一个迹线发生相关。
本文中描述的密码核心可划分成被称为高速率加密和低速率加密的两个核心群组。高速率加密使用高带宽数据业务内的同一密钥并且用于CXL链路加密和本文中描述的静止数据加密。低速率加密可为速率受限的,可用于在下文与图4-5相关联地进一步描述的安全启动映像验证,和/或维持数据完整性和安全性的CSP加密/解密。高速率加密可允许收集多个迹线,且因此可易受SPA、DPA和/或模板攻击。低速率加密使用有限执行且因此可仅易受SPA攻击。
在一些实施例中,可使用高速缓存器攻击,这允许攻击者推断共享同一高速缓存器,例如高速缓存器312的存储器装置或虚拟机的其它过程的存取模式。存储器存取模式可能在安全性软件的执行期间(例如,在软件AES期间)展现加密密钥,或可用以推断搜索的关键字或按键输入。高速缓存器攻击可基于过程之间的干扰,可能使用对高速缓存器映射函数的了解来引起高速缓存器冲突并且测量高速缓存器存取时延。对抗高速缓存器攻击的有效对策可为使高速缓存器映射函数随机化,进而使攻击者在尝试攻击之前推断新映射函数。改变高速缓存器映射函数会移除高速缓存器,且为了限制性能缺点,可实施高速缓存器映射函数的概率排列。
在一些实施例中,可针对存储器装置使用毛刺攻击。毛刺攻击是指导向旁侧信道(例如,EMF、电压供应器/地面、时钟、激光器、主体偏置、探针等)的用以将错误注入到系统中的攻击,其可足以破坏固件执行的正常循环,但不具有对存储器系统电路系统产生永久性损坏。这类破坏的实例可包含绕过鉴认和代码执行偏差,所述鉴认用以防止对受约束的特定于供应商(VS)命令的未经授权存取,所述代码执行偏差可引起非预期或不正确的存储器安全性决策。为了缓解这类毛刺攻击,可使用检测和恢复的组合以使得存储器系统能够检测何时正在尝试攻击且可用从攻击中安全地恢复的程序作出响应。
恢复可通过将冗余构建到存储器系统的硬件和软件架构中来实现。这可确保在检测毛刺攻击时,存储器系统可自动重新开始安全存储器操作。可使用以下中的至少一个实施错误注入(FI)检测和抑制:基于硬件的FI监测和检测以及基于固件的抑制译码技术。在可能时,如果检测到FI事件,那么固件可记录所述事件。然而,在一些实例中,可限制记录以避免日志溢出。
另外,在一些实施例中,在数据通过使用非易失性存储器装置,例如铁电存储器装置成为永久性的且可经受住功率循环的情况下,可使用特定防范措施以避免在存储器装置或存储器装置的部分被移除的情况下发生数据篡改或提取。与存储器系统有关的安全需求可适用而不管存储器装置是使用非易失性存储器装置还是易失性存储器装置。安全需求可包含存储于存储器装置上的数据的加密和/或存储于存储器装置上的数据的安全擦除。
在一些实施例中,在其中存储器系统的一部分可为可移除的且在移除之后可保留数据(例如,使用非易失性存储器)的情况下,可使用数据擦除来确保数据安全。在这类情形下,两种类型的数据移除可被视为对操作执行时间具有不同影响。第一类型的数据移除可为密码擦除,其可将加密密钥清零,因此即使是经鉴认用户也不可恢复数据。第二类型的数据移除可为整个存储器媒体的内容的物理移除,其覆写存储器系统中所有类型的媒体(例如,易失性和非易失性存储器装置)上的用户数据和元数据。
与这两种类型的数据移除有关地,可存在由特定CXL存储器装置命令驱动的两种类型的操作。第一类型的CXL存储器装置命令可为安全擦除命令,这意味着擦除加密密钥和替换为刚产生的加密密钥。第二类型的CXL存储器装置命令可为清理命令,所述清理命令当被接收到时,使控制器(例如中央控制器310)从存储器系统中的存储器装置的一部分或所有部分物理上移除数据。这可通过在协议(例如,非易失性存储器(NVM)协议、非易失性随机存取存储器协议等)支持的情况下发出擦除命令或将已知模式编程N次以覆写存储于存储器装置上的数据内容来实现。在一个实施例中,可监测功率电平,且可在清理命令的执行期间维持阈值功率电平。这将进行跟踪并且在需要时,存储清理操作的进程以便在中断,例如读取/写入中断或功率中断的情况下重新开始清理操作。
图4说明根据本公开的数个实施例的用于启动操作的安全管理的实例方法440的流程图。方法440可由可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合的处理逻辑执行。
方法4可用以执行安全启动操作。所述安全启动操作可验证固件二进制图像完整性并且确保其正确加载和执行。所述方法可由包含主处理器和安全子系统的管理微控制器执行,所述安全子系统包含专用中央处理单元(CPU)、专用加密硬件组件、随机数产生器和加密密钥存储装置。在一些实例中,主处理器和安全子系统可为两个相异对象或单个对象的两个逻辑分区。安全启动操作可执行包含防止外部固件启动和防止未经鉴认(例如,经修改的、回退等)固件启动的能力。安全启动操作可执行包含设置安全执行环境(SEE)以验证所有固件图像的能力。安全启动操作可包含ROM代码特征,其包含启动加载器完整性、标识和鉴认。另外,安全启动操作可使用清单签名经由数字签名(例如,RSA签名)验证启动加载器的可靠性和完整性。
在框441处,方法440可包含执行事件的通电和重置。在框442处,方法440可包含等待安全资源。安全资源可包含初始化完成和/或在继续进行之前自测试。
在框443处,响应于安全资源完成,方法440可包含验证公钥。作为实例,可通过加载包含供bootROM使用的公钥的数据块来读取和验证公钥,且公钥可与启动加载器图像相关联。bootROM可以指存储于只读存储器(ROM)中的数据的一部分,即当存储器装置通电时由启动过程执行的第一代码。这可通过将公钥摘录与先前计算并存储于装置的不可变非易失性存储器(NVM)中的密钥摘录进行比较来执行。在框444处,方法440可包含从非易失性存储器(“NVM”)提取启动加载器。作为实例,启动加载器可位于NVM中且从NVM中被读取。另外,提取操作可负责或管理BootROM。
在框445处,方法440可包含执行启动加载器鉴证操作。启动加载器鉴证操作可包含经由数字签名算法(李维斯特-沙米尔-阿德尔曼或RSA)通过先前经验证作为输入到数字签名算法中的输入的公钥来验证启动加载器图像。在框446处,响应于成功的启动加载器鉴证,可加载和执行启动加载器。响应于与并非正在执行或完成的框441到446相关联的操作中的任一个,安全启动操作可被指示为未通过且可终止启动序列并调用错误处理器,如框447处所说明。
图5说明根据本公开的数个实施例的用于启动操作的安全管理的实例方法550的流程图。所述方法550可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。
方法550可用以执行安全启动操作。可执行所述安全启动操作以检查主固件的完整性并且加载所述主固件。可在其自身的ROM代码的控制下验证固件图像和启动加载器。当ROM代码传送启动加载器且验证图像受控制时,可维持安全模式。
在框551处,方法550可包含从启动ROM进入。在框553处,方法550可包含读取和验证来自非易失性存储器(NVM)的启动参数。这些启动参数可被视为公共安全参数且必须检查其完整性以完成启动固件的加载。在框555处,方法550可包含读取和验证签名密钥。可执行此验证以通过读取与固件图像相关联的公钥来检查主固件的完整性。可通过将公钥摘录与先前计算并存储于装置的不可变NVM中的密钥摘录进行比较来验证公钥。
在框557处,方法550可包含从非易失性存储器(NVM)存取固件图像。在框559处,方法550可包含执行固件图像鉴证。所述固件图像鉴证可经由数字签名算法(例如,RSA)通过先前经验证作为输入到数字签名算法中的输入的公钥来验证固件图像。在框561处,方法550可包含响应于鉴证成功,执行主固件。响应于部分正在执行或未成功完成与框551到561相关联的操作中的任一个,安全启动操作可被指示为未通过且可终止启动序列并调用错误处理器,如框552处所说明。
图6说明根据本公开的数个实施例的用于铁电存储器装置的安全管理的实例方法660的流程图。虽然本文中所描述的实施例指代铁电存储器装置的安全管理,但实施例不限于此。举例来说,可针对安全管理包含其它类型的存储器。方法660可包含执行安全现场固件更新。方法660可由可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合的处理逻辑执行。
在框662处,方法660可包含在存储器控制器处从主机接收命令和固件数据。存储器控制器可为控制器,例如分别在图1、2和3A-3B中的中央控制器110、210和310。命令可为CXL传送固件命令并且可发起固件封装下载和/或更新。可整体或部分地传送固件封装。固件封装可暂时存储于控制器的缓冲器中。如上文所描述,存储器控制器可使用计算高速链路(CXL)协议管理非易失性存储器装置。可执行命令以更新存储于非易失性存储器装置上的固件。
在框664处,方法660可包含从易失性存储器装置存取第一公钥。第一公钥可为公共签名密钥且可通过从非易失性存储器装置读取第一公钥而被存取。响应于在存储器系统的启动期间不验证第一公钥,固件可在此时验证。另外,响应于存取第一公钥,控制器可检查用于固件更新的目标时隙是与活动时隙相同的时隙。响应于目标时隙和活动时隙是不同的,可发出无效时隙且可终止固件更新。
在框666处,方法660可包含通过与第一公钥进行比较来验证固件数据内的第二公钥。第二公钥可为来自固件图像的公钥且第一公钥可为先前存储于非易失性存储器装置中的公钥。
在框668处,方法660可包含验证固件数据。可使用RSA操作验证固件数据。在框670处,方法660可包含验证固件数据的安全版本。固件数据的安全版本可为固件数据的目前安装的版本。另外,可检查客户ID以便确保对固件数据的反克隆。可执行此检查以确保固件和其安装或更新到的位置是同源或兼容的。响应于客户ID检查未通过,固件数据可调用其错误处理器并且终止固件数据更新。
在框672处,方法660可包含用固件数据更新非易失性存储器装置。响应于客户ID检查成功且先前步骤完成,可更新非易失性存储器装置。响应于执行固件更新,主机可发出启用经更新固件封装的CXL激活(CXL Activate)固件命令。固件数据随后可更新非易失性存储器装置中的所有适用数据(例如,数据结构)(例如,安全版本、时隙ID、消息鉴认码(MAC)等)。
图7说明根据本公开的数个实施例的说明穿过用于管理多种类型的存储器的控制器的数据流的框图。示出存储器控制器的前端部分704、中央控制器部分510和后端部分719中的组件之间的I/O总线的带宽756-1、756-2、756-3、756-4、756-5、756-6、756-7、756-8、756-9、756-10、756-11、756-12(分别称为或统称为带宽756)如本文中所使用,术语“带宽”通常指代在给定时间量内从存储器系统中的一个组件写入到同一存储器系统内或存储器系统外部的另一组件的最大数据量。
如图7中所示,前端部分704可包含用于管理主机和前端部分704之间的接口的电路系统708。在一些实施例中,接口可为PCIe 5.0接口,包含8个I/O分道或16个I/O分道(图7中未说明但可用于一些实施例中)。在一些实施例中,主机和前端部分704之间的I/O分道中的每一个可具有每秒32千兆字节(GB/s)的带宽756-1、756-12。
前端部分704和中央控制器部分710之间的I/O电路系统的带宽756-2、756-11可为32GB/s。在一些实施例中,中央控制器部分710可包含高速缓存存储器712、加密电路系统713、解密电路系统715、ECC编码器电路系统716和ECC解码器电路系统718。在一些实施例中,加密电路系统713可为AES加密电路系统713且解密电路系统715可为AES解密电路系统715。如图7中所示,中央控制器部分710中的数据可从高速缓存存储器写入到AES加密电路系统713。在一些实施例中,I/O电路系统的从高速缓存存储器712到AES加密电路系统713的带宽756-3可为32GB/s。数据可从AES加密电路系统713行进到ECC编码器电路系统716。在一些实施例中,AES加密电路系统713和ECC编码器电路系统716之间的I/O电路系统可具有32GB/s的带宽756-4。另外,AES解密电路系统715和ECC解码器电路系统718之间的I/O电路系统可具有32GB/s的带宽756-9。
在至少一个实例中,并且如图7中所示,耦合存储器控制器的中央控制器部分710和后端部分719的I/O电路系统可具有44GB/s的带宽756-5、756-8。后端部分719可包含媒体控制器720和PHY层部分722。PHY层部分722可通过多个信道耦合到DRAM存储器装置和FeRAM存储器装置。在一些实施例中,所述多个信道中的每一个可具有十六(16)位的总线宽度和8GB/s的带宽756-6、756-7。奇偶位可消耗将后端部分719连接到DRAM存储器装置或FeRAM存储器装置的信道的总带宽756-6、756-7的3/11。虽然在上文描述特定带宽数值,但实例不限于此。举例来说,任何数目个带宽值可用于执行所述操作。剩余数据输送量可以与用于下游数据(例如,32GB/s)加上上游数据(例如,32GB/s)的PCIe原始带宽匹配的64GB/s的速度行进。如本文中所使用,术语“下游数据”可以指从计算机或网络发送的数据且术语“上游数据”可以指计算机或网络接收到的数据。
在一些实施例中,下游数据可为存储器控制器接收的数据且上游数据可为从存储器控制器发送的数据。在一些实施例中,可基于包含但不限于以下各项的因素修改(例如,增加或减小)带宽756需求:总线(例如,PCIe总线)和/或存储器系统的效率、高速缓存命中率、媒体控制器720的效率,以及DRAM存储器装置总线周转循环,以及DRAM存储器装置总线排到排定时(例如,排切换)。如本文中所使用,术语“周转循环”通常指存储器装置在读取操作与写入操作之间交替花费的时间量。如本文中所使用,术语“排到排定时”通常指在完成存储器装置排上的存储器操作与开始存储器装置的另一排上的存储器操作之间的时间段。
本文中的图式遵循编号定则,其中第一的一或多个数字对应于图式编号,且剩余的数字标识图式中的元件或组件。可通过使用类似数字来标识不同图之间的类似元件或组件。举例来说,104可表示图1中的元件“04”,且相似元件可在图2中表示为204。通常在本文中可用单个元件符号指代多个类似元件或组件或元件或组件群组。举例来说,多个参考元件216-1到216-N可大体称为110。如将了解,可添加、交换和/或去除本文中的各种实施例中示出的元件,从而提供本公开的数个额外实施例。另外,图式中提供的元件的比例和/或相对尺度意图说明本公开的某些实施例,且不应被视作限制性意义。
虽然已在本文中示出并描述了具体实施例,但所属领域的一般技术人员将了解,经计算以实现相同结果的布置可取代所示出的具体实施例。本公开意图覆盖本公开的一或多个实施例的修改或变化。应理解,以说明方式而非限制方式进行了以上描述。在查阅以上描述后,以上实施例和本文未具体描述的其它实施例的组合对于所属领域的技术人员来说将显而易见。本公开的一或多个实施例的范围包含其中使用以上结构和过程的其它应用。因此,应参考所附权利要求书连同此类权利要求所赋予的等效物的全范围确定本公开的一或多个实施例的范围。
在前述具体实施方式中,出于简化本公开的目的而将一些特征一起分组在单个实施例中。本公开的此方法不应被理解为反映本公开的所公开实施例必须比在每项权利要求中明确叙述那样使用更多特征的意图。实际上,如所附权利要求书所反映,本发明标的物在于单个所公开实施例的不到全部的特征。因此,所附权利要求书特此并入于具体实施方式中,其中每项权利要求就其自身而言作为单独实施例。

Claims (17)

1.一种方法,其包括:
在存储器控制器处从主机接收命令和固件数据,其中:
所述存储器控制器使用计算高速链路(CXL)协议管理第一存储器装置;且
执行所述命令以更新存储于所述第一存储器装置上的固件;
从第二存储器装置存取第一公钥;
用所述固件数据内的第二公钥验证所述第一公钥;
验证所述固件数据;
验证所述固件数据的安全版本;以及
用所述固件数据更新所述第一存储器装置。
2.根据权利要求1所述的方法,其中所述第一存储器装置是铁电存储器装置且所述第二存储器装置是易失性存储器装置。
3.根据权利要求1所述的方法,其另外包括确定通过所述命令标识的所述第一存储器装置的时隙是否是用于用所述固件数据更新所述第一存储器装置的正确时隙。
4.根据权利要求1所述的方法,其中验证所述安全版本包括检查与所述固件数据相关联的客户ID;
其中所述方法另外包括响应于确定所述固件数据与模块不匹配而终止用所述固件数据进行的所述更新。
5.根据权利要求1到4中任一项所述的方法,其中使用李维斯特-沙米尔-阿德尔曼(RSA)操作执行所述固件数据的所述验证。
6.根据权利要求1到4中任一项所述的方法,其另外包括从所述主机接收指示激活所述经更新固件数据的命令。
7.一种设备,其包括:
存储器控制器,其被配置成使用计算高速链路(CXL)协议管理动态随机存取存储器(DRAM)装置和铁电随机存取存储器(FeRAM)装置,其中所述存储器控制器包括:
中央控制器,其被配置成使得执行读取操作或写入操作或这两者,其中所述中央控制器包含:
高速缓存存储器,其存储与所述读取操作或所述写入操作相关联的数据;以及
安全组件,其被配置成:
响应于将所述数据存储于所述FeRAM存储器装置中而将所述数据加密;以及
在从所述FeRAM存储器装置传送所述数据之前解密所述数据;
其中所述中央控制器被配置成使得用以将数据存储于所述高速缓存存储器中的高速缓存器映射函数随机化。
8.根据权利要求7所述的设备,其中所述中央控制器被配置成通过执行将数据存储于所述高速缓存存储器中和从所述高速缓存存储器检索所述数据的概率排列来使所述高速缓存器映射函数随机化。
9.根据权利要求7所述的设备,其中所述存储器控制器被进一步配置成:
检测所述高速缓存存储器上的高速缓存器攻击并且响应于所检测到的高速缓存器攻击,使得所述中央控制器使所述高速缓存器映射函数随机化;
使用基于硬件的错误注入检测来检测毛刺攻击;以及
记录所检测到的高速缓存器攻击。
10.根据权利要求7到9中任一权利要求所述的设备,其中所述存储器控制器被配置成使用CXL协议将数据从所述高速缓存存储器传送到FeRAM装置并且从所述FeRAM装置传送到所述高速缓存存储器。
11.一种系统,其包括:
主机;和
存储器控制器,其耦合到所述主机,其中:
所述存储器控制器被配置成管理动态随机存取存储器(DRAM)装置和铁电随机存取存储器(FeRAM)装置,其中所述存储器控制器和所述主机使用计算高速链路(CXL)协议通信;且
所述存储器控制器包括:
前端部分,其包括:
接口,其被配置成通过多个输入/输出(I/O)分道将所述存储器控制器耦合到所述主机;以及
管理所述多个I/O分道的电路系统;以及
中央控制器部分,其被配置成响应于从所述主机接收到请求,执行安全存储器操作,其中所述中央控制器部分包括:
高速缓存存储器,其缓冲与所述安全存储器操作的执行相关联的数据;以及
安全组件,其被配置成在所述数据存储于所述DRAM装置、所述FeRAM装置或所述高速缓存存储器中之前将数据加密。
12.根据权利要求11所述的系统,其中所述存储器控制器另外包括后端部分,所述后端部分包括媒体控制器和物理(PHY)层,所述后端部分被配置成将所述存储器控制器耦合到多个存储器排。
13.根据权利要求11所述的系统,其中所述主机被配置成使用所述CXL协议发送安全擦除CXL命令以使得擦除用以恢复所述FeRAM装置上的数据的加密密钥。
14.根据权利要求13所述的系统,其中所述中央控制器将响应于接收到指示擦除所述加密密钥并用产生的加密密钥替换所述加密密钥的所述安全擦除CXL命令而执行所述加密密钥的所述擦除。
15.根据权利要求11到14中任一权利要求所述的系统,其中所述主机被配置成使用所述CXL协议发送移除存储于所述FeRAM装置上的数据的命令。
16.根据权利要求15所述的系统,其中所述中央控制器将响应于接收到清理CXL命令而执行对存储于所述FeRAM装置中的所述数据的移除。
17.根据权利要求15所述的系统,其中所述中央控制器被配置成通过执行多个编程操作特定次数以覆写存储于所述FeRAM装置中的所述数据来从所述FeRAM装置移除所述数据。
CN202180082626.XA 2020-12-30 2021-12-28 铁电存储器装置的安全管理 Pending CN116569169A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063132273P 2020-12-30 2020-12-30
US63/132,273 2020-12-30
US17/562,916 2021-12-27
US17/562,916 US20220207193A1 (en) 2020-12-30 2021-12-27 Security management of ferroelectric memory device
PCT/US2021/065272 WO2022146959A1 (en) 2020-12-30 2021-12-28 Security management of ferroelectric memory device

Publications (1)

Publication Number Publication Date
CN116569169A true CN116569169A (zh) 2023-08-08

Family

ID=82119359

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180082626.XA Pending CN116569169A (zh) 2020-12-30 2021-12-28 铁电存储器装置的安全管理

Country Status (3)

Country Link
US (1) US20220207193A1 (zh)
CN (1) CN116569169A (zh)
WO (1) WO2022146959A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080039046A (ko) * 2006-10-31 2008-05-07 삼성전자주식회사 펌웨어 업데이트 장치 및 방법
US9160542B2 (en) * 2013-03-18 2015-10-13 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Authorizing use of a test key signed build
US10303884B2 (en) * 2016-09-22 2019-05-28 Apple Inc. Countersigning updates for multi-chip devices
US11379214B2 (en) * 2019-03-29 2022-07-05 Intel Corporation Runtime firmware activation for memory devices
IT201900005020A1 (it) * 2019-04-03 2020-10-03 Stmicroelectronics Application Gmbh Sistema di elaborazione, relativo circuito integrato, dispositivo e procedimento

Also Published As

Publication number Publication date
US20220207193A1 (en) 2022-06-30
WO2022146959A1 (en) 2022-07-07

Similar Documents

Publication Publication Date Title
US8645716B1 (en) Method and apparatus for overwriting an encryption key of a media drive
US9537656B2 (en) Systems and methods for managing cryptographic keys in a secure microcontroller
CN107092495B (zh) 平台固件铠装技术
US9064135B1 (en) Hardware implemented key management system and method
US10061718B2 (en) Protecting secret state from memory attacks
US20080201592A1 (en) Hibernating a processing apparatus for processing secure data
KR102208072B1 (ko) 데이터 처리 시스템
KR20180059954A (ko) 메모리 무결성
KR20200092421A (ko) 보안 서브시스템
US20150205732A1 (en) Seamlessly encrypting memory regions to protect against hardware-based attacks
CN104205044A (zh) 指令包括在操作数中的防恶意软件保护操作
US20060112267A1 (en) Trusted platform storage controller
WO2018064628A2 (en) Systems, apparatuses, and methods for platform security
WO2020197824A1 (en) Data attestation in memory
US20210318814A1 (en) Storage device and data disposal method thereof
WO2020197821A1 (en) Validating data stored in memory using cryptographic hashes
Fakhrzadehgan et al. SecDDR: Enabling low-cost secure memories by protecting the DDR interface
WO2022108620A1 (en) Peer storage devices sharing host control data
US11232210B2 (en) Secure firmware booting
KR20240016884A (ko) 저장 시스템, 저장 장치 및 저장 시스템을 제어하는방법
US11803332B2 (en) Sideband communication management
US20220261363A1 (en) Controller for managing multiple types of memory
US20220207193A1 (en) Security management of ferroelectric memory device
CN114756885A (zh) 固件加载方法、存储装置及计算机可读存储介质
McGregor et al. Braving the cold: New methods for preventing cold boot attacks on encryption keys

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