掌桥专利:专业的专利平台
掌桥专利
首页

毛刺检测冗余

文献发布时间:2024-04-18 19:58:26


毛刺检测冗余

技术领域

本公开的实施例大体上涉及存储器系统,且更特定来说,涉及毛刺检测冗余。

背景技术

存储器系统可包含存储数据的一或多个存储器装置。存储器装置可为例如非易失性存储器装置及易失性存储器装置。一般来说,主机可利用存储器系统在存储器装置处存储及检索数据。

发明内容

根据本公开的方面,提供一种用于毛刺检测的方法。所述方法包括:通过经由连接矩阵耦合到多个处理单元中的第一处理单元的毛刺检测器检测存储器系统上的毛刺的指示;经由所述连接矩阵向所述多个处理单元中的至少第二处理单元通知所检测到的所述毛刺的所述指示;以及在通知所述至少第二处理单元之后,经由所述至少第二处理单元传输毛刺确认信号。

根据本公开的另一方面,提供一种用于毛刺检测的设备。所述设备包括:多个处理单元;多个毛刺检测器;以及连接矩阵,其用于将所述多个毛刺检测器中的每一者耦合到所述多个处理单元中的至少两者。

根据本公开的又一方面,提供一种用于毛刺检测的设备。所述设备包括:多个处理单元;多个毛刺检测器;连接矩阵,其用于将所述多个毛刺检测器中的每一者耦合到所述多个处理单元中的至少两者;以及警报电路系统,其耦合到所述多个处理单元,所述警报电路系统经配置以:从所述多个处理单元中的至少一个处理单元接收指示所检测到的毛刺的信令;以及响应于接收到指示所述所检测到的毛刺的所述信令,触发毛刺警报,传输信令以引起毛刺缓解操作的执行,或两者。

附图说明

从下文给出的详细描述及从本公开的各种实施例的附图将更加完全地理解本公开。

图1是根据本公开的若干实施例的包含存储器控制器的计算系统的功能框图。

图2是根据本公开的若干实施例的存储器控制器的功能框图。

图3是根据本公开的若干实施例的存储器控制器的管理部分的功能框图。

图4A是根据本公开的若干实施例的具有第一配置的存储器控制器的管理部分的另一功能框图。

图4B是根据本公开的若干实施例的具有第二配置的存储器控制器的管理部分的功能框图。

图5是本公开的若干实施例的功能流程图。

图6是根据本公开的若干实施例的用于毛刺检测冗余的方法的流程图。

具体实施方式

描述用于毛刺检测冗余的存储器控制器。存储器控制器可包含在例如存储器系统的设备中。存储器系统可为存储系统、存储装置、存储器模块或其组合。存储器系统的实例是例如固态驱动器(SSD)的存储系统。

在一些实施例中,存储器系统可为兼容非确定性存储器协议的存储器系统,例如兼容计算高速链路(CXL)的存储器系统。例如,主机接口可用CXL协议管理,并经由针对外围组件互连高速(PCIe)协议配置的接口耦合到主机。CXL是高速中央处理单元(CPU)到装置及CPU到存储器互连,其经设计以加速下一代数据中心性能。CXL技术维持CPU存储器空间与附接装置上的存储器之间的存储器一致性,这允许资源共享以实现更高的性能、减小软件栈复杂性及降低整体存储器系统成本。CXL经设计为高速通信的行业开放标准接口,因为加速器越来越多地用于补充CPU,以支持例如人工智能及机器学习的新兴应用。CXL技术建立在PCIe基础设施上,从而利用PCIe物理及电气接口来提供例如输入/输出(I/O)协议、存储器协议(例如,最初允许主机与加速器共享存储器)及一致性接口等的领域中的高级协议。

在各种例子中,需要保护存储器系统上的数据免受任何意外或恶意的使用。例如,可期望在存储器系统的操作寿命期间保护存储器系统上的数据。

可对存储器系统使用毛刺攻击。毛刺攻击是指针对例如侧通道(例如,电源/接地、时钟等)的攻击,且其可用于注入或以其它方式引起存储器系统中的故障。例如,毛刺攻击可试图绕过或以其它方式破坏CPU子系统中的安全校验,例如本文中描述的那些。例如,可以通过有意地赋予具有足以影响存储器系统的操作的持续时间和/或幅度的存储器系统的电压变化(例如,从预期操作电压的正电压变化或负电压变化)来采用毛刺攻击。例如,恶意实体可采用毛刺攻击来更改存储器系统上的数据及/或获得对恶意实体原本无法存取的存储器系统的存取。此外,在操作寿命期间,存储器系统可经历归因于电源电压的变化或可影响存储器系统的环境/内部因素的其它类型的间歇性变化的毛刺。

因此,一些方法可采用检测及响应的组合,以试图缓解毛刺(例如来自毛刺攻击的毛刺)的任何影响。以这种方式,存储器系统可检测毛刺攻击并用缓解毛刺攻击/从毛刺攻击中恢复的动作来响应。例如,毛刺检测器可检测毛刺攻击。如本文中详细描述,毛刺检测器是指可检测毛刺攻击的指示(例如电压的变化及/或时钟信号的变化)并由此检测毛刺攻击的装置。响应于检测到毛刺攻击,毛刺检测器可经由耦合到毛刺检测器的处理单元触发警报,使得存储器系统可响应于毛刺攻击,且由此缓解毛刺攻击的任何影响。

然而,检测毛刺攻击的毛刺检测器可接近毛刺攻击的源。类似地,耦合到毛刺检测器的处理单元可接近毛刺的源,例如由毛刺攻击引起的毛刺。因此,处理单元可能容易受到毛刺攻击的影响及/或损坏。一旦受到毛刺攻击的影响及/或损坏,处理单元可无法按预期运作。例如,指示毛刺攻击的信令可不由处理单元接收及/或可不由处理单元传输。因此,即使毛刺检测器最初检测到毛刺攻击,也可不触发警报。在没有触发警报的情况下,存储器系统整体可不会意识到毛刺攻击的发生,且因此可不用缓解毛刺攻击的程序来响应。

如本文中所详述,本公开的方面通过实施毛刺检测冗余来解决上述及其它缺陷。值得注意的是,毛刺检测冗余可向至少一个远程处理单元(例如,第二处理单元)通知由本地毛刺检测器(例如,相对于第一处理单元是本地的)检测到的毛刺的指示。即,如本文中详述的毛刺检测冗余提供冗余信令(例如,冗余中断信号)及/或冗余指示(例如,指示毛刺存在的两个或更多状态位)作为毛刺确认信号,所述毛刺确认信号由第二毛刺检测器(例如远离第一毛刺检测器的毛刺检测器)传播。由远程毛刺检测器传播毛刺确认信号可确保触发毛刺警报、执行毛刺缓解操作或两者。因此,即使毛刺(例如来自毛刺攻击的毛刺)损坏处理单元(例如,第一处理单元),远程处理单元仍然可向其它组件传输信令,从而可触发警报及/或可执行毛刺缓解操作。虽然上面描述为涉及毛刺检测器的操作并提供毛刺检测冗余,但是本文中的方法论可应用于各种其它类型的检测器。

如本文中所使用,“处理单元”是指执行或运行指令的电子电路系统。处理单元的实例包含中央处理单元、图形处理单元或两者,以及其它类型的处理单元。

如本文中所使用,“本地毛刺检测器”是指物理上邻近给定处理单元的毛刺检测器。每一处理单元可具有个别对应的本地毛刺检测器(例如,包含本地电压毛刺检测器及/或本地电磁毛刺检测器的个别本地毛刺检测器,如本文中所详述)。本地毛刺检测器及物理上邻近其的处理单元可为相同组件的部分,如本文中所详述。

如本文中所使用,“远程毛刺检测器”是指物理上不邻近给定处理单元的毛刺检测器。例如,如果毛刺检测器及处理单元存在于不同的组件中,那么毛刺检测器可不在物理上邻近处理单元,如本文中所详述。

如本文中所使用,“连接矩阵”是指迹线、互连件及/或将毛刺检测器耦合到处理单元的其它电路系统的组合。例如,与将个别毛刺检测器耦合到个别处理单元的其它方法相比,连接矩阵可将存储器系统中包含的每一个别毛刺检测器耦合到至少两个处理单元。值得注意的是,连接矩阵可允许响应于个别毛刺检测器检测到毛刺(例如来自毛刺攻击的毛刺)的指示而向多个处理单元提供“冗余”信令。因此,响应于检测到毛刺的指示,可通知至少两个处理单元。例如,响应于检测到毛刺的指示,可通知每一处理单元。因此,即使毛刺(例如来自毛刺攻击的毛刺)损坏一些但不是所有的处理单元,任何未损坏的/功能性的处理单元都可向其它组件传输指示所检测到的攻击的信令,从而可触发警报及/或可执行毛刺缓解操作。

毛刺检测器可包含在存储器控制器的相同或不同的物理部分(例如,中央部分、后端部分等)中。例如,第一毛刺检测器可包含在中央部分中(例如,在中央控制器中),且第二毛刺检测器可包含在不同的部分中,例如后端部分中(例如,在通道控制器/存储体控制器中)。然而,在一些实施例中,毛刺检测器可包含在存储器控制器的相同部分中(例如,在中央部分中或在后端部分中)。

在任何情况下,与依赖于向个别组件(例如,个别处理单元)传输毛刺警报信号的其它方法相比,如本文中所详述的毛刺检测冗余可允许增强的毛刺检测。例如,与例如依赖于向个别组件(例如,处理单元)传输毛刺警报信号的所述方法的其它方法相比,可增强精度、速度及/或任何数量的错误否定的减少。

接口(例如外围组件互连高速(PCIe)、计算高速链路(CXL)、加速器的高速缓存一致性互连(CCIX)等)允许将各种存储器装置连接到主机。接口及存储器技术改进的组合可允许部署“远存储器”,其可由在例如PCIe、CXL、CCIX、GenZ等的存储器系统的前端后面实施的系统存储器(例如,存储器装置)组成。如本文中所使用,存储器系统的前端也可被称为存储器系统的接口或存储器系统的控制器的前端。如本文中所使用,存储器系统的前端可包括经配置以接收数据(例如,请求及/或数据)并向存储器系统的后端提供数据的硬件及/或固件。存储器系统的后端可包括从存储器系统的前端接收数据(例如,请求及/或数据)的硬件及/或固件,并且可包含在存储器系统的存储器装置上执行从主机提供的请求。

如本文中所使用,单数形式“一(a/an)”及“所述”包含单数及复数指涉物,除非上下文另外明确指示。此外,单词“可”贯穿本申请以准许意义(即,有可能、能够)而非以强制意义(即,必须)使用。术语“包含”及其派生词意味着“包含(但不限于)”。术语“耦合”意味着直接或间接连接。应当理解,数据可通过电子信号(例如,电流、电压等)来传输、接收或交换,并且短语“指示[数据]的信号”表示在物理媒体中传输、接收或交换的数据本身。所述信号可对应于命令(例如,读取命令、写入命令等)。

本文中的图式遵循编号惯例,其中第一个或前几个数字对应于图式图号,并且剩余数字识别图式中的元件或组件。可通过使用类似数字来识别不同图之间的类似元件或组件。举例来说,110可指图1中的元件“10”,且类似元件在图2中可被引用为210。图内的类似元件可用连字符及额外数字或字母引用。例如,参见图1中的元件102-1、102-2、102-M。此类类似元件可在没有连字符及额外数字或字母的情况下大体上引用。例如,元件102-1、102-2、102-M可统称为102。如本文中使用,标示符“M”和“N”,特别是相对于附图中的元件符号,指示可包含如此指定的若干特定特征。如应了解,本文中各种实施例中展示的元件可经添加、交换及/或消除以便提供本公开的若干额外实施例。另外,如应了解,图中提供的元件的比例及相对尺度旨在说明本发明的某些实施例,且不应以限制意义来理解。

图1是根据本公开的若干实施例的包含存储器控制器100的计算系统101的功能框图。存储器控制器100可包含前端部分104、中央控制器部分110及后端部分119。计算系统101可包含主机103及耦合到存储器控制器100的存储器装置126-1、…、126-N。耦合到主机103的存储器控制器100可与存储器装置126-1、…、126-N中的一或多者分立。

前端部分104包含通过输入/输出(I/O)通路102-1、102-2、…、102-M将存储器控制器100耦合到主机103的接口及接口管理电路系统及管理I/O通路102的电路系统。可存在任意数量的I/O通路102,例如八个、十六个或另一数量的I/O通路102。在一些实施例中,I/O通路102可经配置为单个端口。在至少一个实施例中,存储器控制器100与主机103之间的接口可为根据例如CXL协议的非确定性协议操作的PCIe物理及电气接口。

中央控制器部分110可包含及/或被称为数据管理电路系统。中央控制器部分110可响应于接收到来自主机103的请求而控制存储器操作的执行。存储器操作的实例包含存储器存取请求,例如从存储器装置126读取数据的读取操作或将数据写入到存储器装置126的写入操作。

中央控制器部分110可基于从主机103接收的数据来产生错误检测信息及/或错误校正信息。中央控制器部分110可对从主机103或从存储器装置126接收的数据执行错误检测操作及/或错误校正操作。错误检测操作的实例是循环冗余校验(CRC)操作。错误校正操作的实例是错误校正码(ECC)操作。

后端部分119可包含媒体控制器及将存储器控制器100耦合到存储器装置126的物理(PHY)层。如本文中所使用,术语“PHY层”通常是指计算系统的开放系统互连(OSI)模型中的物理层。PHY层可为OSI模型的第一(例如,最低)层,并且可用于在物理数据传输媒体上传送数据。在一些实施例中,物理数据传输媒体可包含通道125-1、…、125-N。通道125可包含16引脚数据总线及2引脚数据掩码反转(DMI)总线,以及其它可能的总线。后端部分119可经由数据引脚与存储器装置126交换(例如,传输或接收)数据,并且经由DMI引脚与存储器装置126交换错误检测信息、RAID信息及/或错误校正信息。可在交换数据的同时交换错误检测信息及/或错误校正信息。

存储器装置126的实例是根据例如低功率双倍数据速率(LPDDRx)的协议操作的动态随机存取存储器(DRAM),其在本文中可被称为LPDDRx DRAM装置、LPDDRx存储器等。LPDDRx中的“x”是指协议的若干代中的任一者(例如,LPDDR5)。

在一些实施例中,存储器控制器100可包含用于初始化、配置及/或监测存储器控制器100的特性的管理单元134。管理单元134可包含用于管理带外数据及/或命令的I/O总线、用于执行与初始化、配置及/或监测存储器控制器的特性相关联的指令的管理单元控制器及用于存储与初始化、配置及/或监测存储器控制器100的特性相关联的数据的管理单元存储器。如本文中所使用,术语“带外”通常是指不同于网络的主传输媒体的传输媒体。例如,带外数据及/或命令可为使用与用于在网络内传送数据的传输媒体不同的传输媒体传送到网络的数据及/或命令。

存储器控制器100可包含连接矩阵135,以将毛刺检测器耦合到处理单元,如本文中所详述。尽管说明为定位于管理部分134中,但是一些或全部连接矩阵135可定位于存储器控制器100的不同部分中。例如,连接矩阵135的中断线或状态寄存器可包含在中央控制器部分110中或后端部分119中,以及其它可能性。

图2是根据本公开的若干实施例的存储器控制器200的功能框图。如图2所展示,前端部分204可包含接口206(其包含多个I/O通路202-1、202-2、…、202-M),以及用于管理接口206的接口管理电路系统208。接口206的实例是外围组件互连高速(PCIe)5.0接口。在一些实施例中,存储器控制器200可根据例如CXL协议的非确定性存储器协议经由接口206接收涉及高速缓存存储器212及存储器装置(例如,裸片)226-1、226-2、…、226-(N-1)、226-N中的至少一者的存取请求。接口206可通过I/O通路202从主机(例如,图1中所展示的主机103)接收数据。接口管理电路系统208可使用例如CXL协议的非确定性协议来管理接口206,并且可被称为CXL接口管理电路系统208。CXL接口管理电路系统208可经由PCIe接口206耦合到主机。

中央控制器部分210(在本文中也称为数据管理电路系统210)可耦合到接口管理电路系统208。数据管理电路系统210可经配置以引起存储器操作的执行。数据管理电路系统210可包含错误检测电路系统(例如,“CRC电路系统”)及错误校正电路系统,以及其它可能的电路系统,例如RAID电路系统及/或低功率芯片猎杀电路系统。

数据管理电路系统210可包含高速缓存存储器(高速缓存)212,以存储与存储器操作的执行相关联的数据、错误检测信息、错误校正信息及/或元数据。高速缓存存储器212的实例是包含多个高速缓存线的三十二(32)路集合关联高速缓存存储器。高速缓存线大小可等于或大于存储器控制器200存取粒度(例如,对于CXL协议为64个字节)。例如,每一高速缓存线可包含256个字节的数据。在另一实例中,每一高速缓存线可包含512字节的数据。CXL存储器系统的读写请求的大小可为64个字节。因此,高速缓存存储器212中的数据条目可具有64个字节的数据。每一高速缓存线可包括256个字节。因此,可在每一高速缓存线中存储多个64字节请求。响应于来自主机的请求,存储器控制器200可将256个字节的数据写入到存储器装置226。在一些实施例中,256个字节的数据可以64字节分块写入。使用高速缓存存储器212来存储与读取操作或写入操作相关联的数据可增加存取数据的速度及/或效率,因为在高速缓存未命中的情况下,高速缓存存储器212可预取数据并将数据存储在多个64字节块中。代替检索单独的存储器装置,可从高速缓存存储器212读取数据。与存储器系统必须在存取数据之前检索数据的情况下将使用的时间及能量相比,存取预取数据可使用更少的时间及能量。

数据管理电路系统210可包含缓冲器213,以存储受到数据管理电路系统210的另一组件对其的操作的数据、错误检测信息、错误校正信息及/或元数据。缓冲器213可允许例如在数据管理电路系统210的另一组件繁忙时临时存储信息。在一些实施例中,高速缓存存储器212可用于临时存储数据,且缓冲器213可用于临时存储与数据相关联的其它信息,例如错误检测信息、错误校正信息及/或元数据。

如图2中所展示,存储器控制器200可包含后端部分219,包含耦合到数据管理电路系统210的媒体控制电路系统220。媒体控制电路系统220可包含媒体控制器221-1、…、221-N。

例如,每一媒体控制器221-1可包含毛刺检测器271及处理单元233,如图3、图4A及图4B中所详述。尽管在图2中说明为特定位置,但在一些实施例中,毛刺检测器271及/或处理单元233可定位于存储器控制器200中的其它地方。

后端部分219可包含具有物理(PHY)存储器接口224-1、224-2、…、224-(N-1)、224-N的PHY层222。每一物理接口224经配置以耦合到相应存储器装置226。PHY层222可为经配置用于确定性存储器协议的存储器接口,例如LPDDRx存储器接口或其它DDR类型的存储器接口。

后端部分219可将PHY层部分222耦合到存储器装置226-1、226-2、…、226-(N-1)、226-N的存储器存储体230-1、230-2、…、230-(N-1)、230-N。每一存储器装置226包含至少一个存储器单元阵列。在一些实施例中,存储器装置226可为不同类型的存储器。媒体控制电路系统220可经配置以控制至少两种不同类型的存储器。例如,存储器装置226-1、226-2可为例如根据第一协议操作的LPDDRx存储器的DDR类型存储器,并且存储器装置226-(N-1)、226-N可为例如根据不同于第一协议的第二协议操作的LPDDRx存储器的DDR类型存储器。在此实例中,第一媒体控制器221-1可经配置以根据第一协议控制存储器装置226-1、226-2的第一子集,并且第二媒体控制器221-N可经配置以根据第二协议控制存储器装置226-(N-1)、226-N的第二子集。在特定实例中,存储器装置226-1、226-2可具有板上错误校正电路系统。

存储器控制器200可包含经配置以初始化、配置及/或监测存储器控制器200的特性的管理单元234。在一些实施例中,管理单元234包含系统管理(SM)总线238。SM总线238可管理带外数据及/或命令。SM总线238可为串行存在检测的部分。在一些实施例中,为了轻量通信的目的,SM总线238可为单端简单双线总线。管理单元234可包含CPU子系统240,CPU子系统240可用作管理单元的控制器以执行与初始化、配置及/或监测存储器控制器200的特性相关联的指令。如图2中所说明,CPU子系统204可包含处理单元233,例如本文中参考图3、图4A及/或图4B详述的那些处理单元。管理单元234可包含例如本地存储器的杂类电路系统242,以存储与管理及/或监测存储器控制器200的特性相关联的代码及/或数据。管理单元234的端点可暴露给主机系统(例如,图1中所展示的主机103)来管理数据。在一些实施例中,由管理单元234监测的特性可包含供应给存储器控制器200的电压及/或由外部传感器测量的温度。管理单元234可包含互连件236(例如高级高性能总线(AHB)),以耦合管理单元234的不同组件。

如图2中所说明,管理单元234包含警报电路系统223。警报电路系统223可经配置以向存储器控制器200的多个组件及/或计算系统的其它组件(例如,如图1中所述的计算系统101)传输全系统毛刺警报。例如,警报电路系统223可向中央控制器及/或主机传输指示警报的信令及/或引起警报启动的信令,以及其它可能性。

管理单元234可包含用于管理带内数据(例如,通过例如局域网(LAN)的网络内的主传输媒体传送的数据)的电路系统。在一些实施例中,CPU子系统240可为符合联合测试行动组(JTAG)标准并根据集成电路间(I

图3是根据本公开的若干实施例的存储器控制器的管理部分334的功能框图。毛刺检测器371-1、371-2、…、371-3(在本文中统称为“毛刺检测器371”)及处理单元333-1、333-2、…、333-3(在本文中统称为“处理单元333”)。

如图3中所说明,每一处理单元(例如,第一处理单元333-1)可具有物理上邻近(最接近)处理单元的对应本地毛刺检测器(例如,第一毛刺检测器371-1)。在此类实施例中,第一毛刺检测器可被指定为在处理单元的“本地”,但是可被指定为“远离”于每一其它处理单元(例如,第二处理单元333-2及第三处理单元333-3)。

在各种实施例中,毛刺检测器及处理单元以固定硬连线配置耦合在一起。然而,在一些实施例中,毛刺检测器可经由允许毛刺检测器与处理单元之间的可变互连的开关或其它电路系统耦合在一起。相对于给定处理单元,哪些毛刺检测器是“本地”或“远程”的指定指示可存储在例如表的数据结构中,或者以其它方式存储在存储器控制器中或其它地方。存储哪些毛刺检测器是“本地”或“远程”的指示可促进本文中的各个方面,例如允许通知“远离”于给定毛刺检测器的至少一个处理单元。例如,可通知“远离”于毛刺检测器的至少一个处理单元,且随后可向警报电路系统323传输指示检测到的毛刺的信令。

连接矩阵335可将毛刺检测器371耦合到处理单元331。连接矩阵335可将相应的毛刺检测器耦合到多个处理单元,以允许毛刺检测冗余的各个方面,例如向至少一个“远程”处理单元通知毛刺。

例如,图4A是根据本公开的若干实施例的具有第一配置(包含中断线以允许传输中断信号的连接矩阵的第一配置)的存储器控制器的管理部分的功能框图。如图4A中所说明,连接矩阵可包含将组件耦合在一起并允许在其之间传输中断信号的中断线。但是,本公开并不限于此。实际上,在一些实施例中,连接矩阵可包含或耦合到状态寄存器,以允许经由使用状态寄存器(例如,通过改变状态寄存器的各种位/值)来执行毛刺检测。图4B是根据本公开的若干实施例的具有第二配置(利用锁存器、逻辑或及状态寄存器的连接矩阵的第二配置)的存储器控制器的管理部分的功能框图。如本文中所详述,图4B的锁存器、逻辑或及/或状态寄存器可统称为校验逻辑。每一相应CPU可具有对应的校验逻辑。如本文中所详述,校验逻辑可考虑本地信号(即,输入)及远程信号(例如,关于给定处理单元,例如处理单元433-1)。

在任何情况下,如本文中详述的毛刺检测冗余提供冗余信令(例如,冗余中断信号)及/或冗余指示(例如,指示毛刺存在的两个或更多状态位)作为毛刺确认信号,所述毛刺确认信号由第二毛刺检测器(例如远离第一毛刺检测器的毛刺检测器)传播。由远程毛刺检测器传播毛刺确认信号可确保触发毛刺警报、执行毛刺缓解操作或两者。

每一毛刺检测器可包含电磁毛刺检测器、电压毛刺检测器或两者。尽管如上所述,使用其它类型的检测器是可能的。如图4A中所说明,多个毛刺检测器431-1、432-1、…、423-3(本文中统称为“毛刺检测器431”)中的每一毛刺检测器可包含相应的电压毛刺检测器及电磁(EM)毛刺检测器。

电压毛刺检测器447-1、447-2、…、447-3(在本文中统称为“电压毛刺检测器447”)各自耦合到例如电源轨443(即,Vcc电源轨)的电压源,以经由检测从预期电压的电压变化来检测电压毛刺。电压毛刺检测器447包含经配置以经由检测从预期电压的电压变化来检测电压毛刺的数字电路或模拟电路。在一些实施例中,电压毛刺检测器447包含模拟电路,所述模拟电路经配置以经由检测从预期电压的电压变化来检测电压毛刺。在一些实施例中,电压毛刺检测器447仅包含模拟电路(在不存在任何固件的情况下及在不存在任何软件的情况下),以经由检测从预期电压的电压变化来检测电压毛刺。例如,如果电压毛刺检测器的模拟电路检测到从电压源供应的电压在预期电压(例如,参考电压及/或标称值)的阈值范围(+及/或-)内,那么没有检测到毛刺。相反,如果电压毛刺检测器的模拟电路在特定间隔时间内被引出预期电压的范围之外,那么检测到毛刺。阈值范围的实例端点(例如,范围的较低值及/或较高值)可为从2兆伏(MV)/秒(s)到5千兆伏(GV)/s的范围内的任何值,以及其它可能的值。

EM毛刺检测器449-1、449-2、…、449-3(本文中统称为“EM毛刺检测器449”)耦合到时钟源445,以经由检测从预期时钟信号的时钟信号变化(例如,由电磁脉冲引起的变化)来检测EM毛刺。EM毛刺检测器449包含经配置以经由检测从预期时钟信号的时钟信号变化来检测EM毛刺的数字电路或模拟电路。在一些实施例中,EM毛刺检测器449包含经配置以经由检测从预期时钟信号的时钟信号变化来检测EM毛刺的数字电路。在一些实施例中,电压毛刺检测器447仅包含数字电路(在不存在任何固件的情况下及在不存在任何软件的情况下),以经由检测从预期时钟信号的时钟信号变化来检测EM毛刺。合适的EM毛刺检测器的实例包含J.布莱尔(Breier)、S.巴辛(Bhasin)及W.何(He)的“使用Hogge相位检测器的电磁故障注入传感器(An electromagnetic fault injection sensor using Hogge phase-detector)”,2017年第18届国际质量电子设计研讨会(ISQED),2017年,第307到312页,doi:10.1109/ISQED.2017.7918333中描述的检测器。在一些实施例中,如果时钟信号变化在预期时钟信号(例如,预期时钟信号频率等)的阈值范围(+及/或-)之外,那么EM毛刺检测器可检测到EM毛刺。

如图4A中所说明,多个处理单元441-1、441-2、…、441-3(本文中统称为“处理单元441”)中的每一处理单元具有对应的本地毛刺检测器。换句话说,每一相应处理单元可具有个别(单个)本地毛刺检测器。例如,第一毛刺检测器431-1可在第一处理单元433-1的本地,第二毛刺检测器431-2可在第二处理单元433-2的本地,并且第三毛刺检测器431-3可在第三处理单元433-3的本地。

相反,第一毛刺检测器431-1可远离第二处理单元433-2及第三处理单元433-3,第二毛刺检测器431-2可远离第一处理单元433-1及第三处理单元433-3,且第三毛刺检测器431-3可远离第一处理单元433-1及第二处理单元433-2。如上所述,本文中的实施例可在毛刺检测器检测到毛刺的指示时通知远离毛刺检测器的至少一个处理单元。因此,在各种实施例中,毛刺检测器431中的每一毛刺检测器可耦合到处理单元433的子集。例如,每一毛刺检测器可耦合到至少两个处理单元433,例如本地处理单元及至少一个远程处理单元,以及其它可能性。

连接矩阵可包含至少一条中断线,其将毛刺检测器耦合到处理单元。例如,如图4A中所说明,每一处理单元433经由相应的中断线耦合到对应的毛刺检测器431。例如,第一毛刺检测器431-1可经由第一中断线451-1及第二中断线451-2耦合到第一毛刺检测器431-1本地的第一处理单元433-1。具体地说,第一中断线451-1及第二中断线451-2可分别将第一电压毛刺检测器447-1及第一EM毛刺检测器449-1耦合到第一处理单元433-1,如图4A中所说明。

在此类实施例中,第一毛刺检测器431-1可经由第一中断线451-1及第二中断线451-2耦合到各自远离第一毛刺检测器431-1的第二处理单元433-2及第三处理单元433-3。具体地说,第一中断线451-1及第二中断线451-2可分别将第一电压毛刺检测器447-1及第一EM毛刺检测器449-1耦合到第二处理单元433-2及第三处理单元433-3中的每一者,如图4A中所说明。在此类例子中,响应于第一毛刺检测器431-1检测到毛刺的指示,可通过经由第一中断线451-1及/或第二中断线451-2传输的中断信号向第二处理单元433-2及第三处理单元433-3中的至少一者通知检测到的毛刺的指示。

类似地,第三中断线452-1可将第二电压毛刺检测器447-2耦合到第二处理单元433-2(其在第二电压毛刺检测器447-2的本地)以及耦合到第一处理单元433-1及第三处理单元433-3(其各自远离第二电压毛刺检测器447-2)中的每一者。第四中断线452-2可将第二EM毛刺检测器449-2耦合到第二处理单元433-2(其在第二EM毛刺检测器449-2的本地)以及耦合到第一处理单元433-1及第三处理单元433-3(其各自远离第二EM毛刺检测器449-2)中的每一者。

第五中断线453-1可将第三电压毛刺检测器447-3耦合到第三处理单元433-3(其在第三电压毛刺检测器447-3的本地)以及耦合到第一处理单元433-1及第二处理单元433-2(其各自远离第三电压毛刺检测器447-3)中的每一者。第六中断线453-2可将第三EM毛刺检测器449-3耦合到第三处理单元433-3(其在第三EM毛刺检测器449-3的本地)以及耦合到第一处理单元433-1及第二处理单元433-2(其各自远离第三EM毛刺检测器449-3)中的每一者。

虽然上面关于给定数量的毛刺检测器及给定数量的处理单元进行描述,但是毛刺检测器的数量及/或处理单元的数量可变化。此外,尽管上面关于第一毛刺检测器431-1对毛刺的检测进行描述,但是应理解,毛刺检测器431中的任何一或多者可检测毛刺,并且可通知任一处理单元433。此外,虽然毛刺检测器在图4A中被描述为包含将毛刺检测器耦合到处理单元的给定数量的中断线,但是中断线的数量可增加或减少。

图4B类似于图4A,除了连接矩阵包含状态寄存器及例如锁存器的相关电路系统来代替图4A的至少一些中断线。即,在一些实施例中,毛刺检测器431中的每一毛刺检测器可为相关联的状态寄存器(例如,例如整体状态寄存器470)。以这种方式,,每一毛刺检测器的默认状态在没有检测到毛刺的指示时可例如由“0”表示,并且可响应于检测到攻击的指示而改变为“1”。因此,给定的处理单元、存储器控制器中的另一组件及/或主机可轮询例如整体状态寄存器的锁存器/状态寄存器,且由此容易地确定任何毛刺检测器是否已检测到毛刺的指示。

如图4B中所说明,例如第一处理单元433-1的处理单元可耦合到整体状态寄存器470或包含整体状态寄存器470。整体状态寄存器可耦合到多个毛刺检测器中的每一毛刺检测器或包含在多个毛刺检测器中的每一毛刺检测器中(例如,耦合到每一毛刺检测器371-1、371-2、…、371-3,如图3中所说明),并且可接收来自多个毛刺检测器的信号(即,输入)。例如,可从第一处理单元433-1本地的毛刺检测器(即,本地毛刺检测器)接收信号461-1及信号461-2。具体地说,信号461-1可从例如第一电压毛刺检测器447-1的本地电压毛刺检测器接收,且信号461-2可从例如第一EM毛刺检测器449-1的本地EM毛刺检测器接收。

信号461-1、461-2可被传递到状态寄存器,以引起状态位的对应值改变或保持不变。例如,信号461-1可在没有检测到毛刺指示的情况下使状态位保持不变(例如,保持为“0”),或者可响应于检测到毛刺的指示而使状态位改变(例如,改变为“1”)。信号461-1可引起第一电压锁存器465-1的位的变化、整体状态寄存器470的位的变化或两者。例如,信号461-1可引起第一电压锁存器465-1的位的变化,并且还可引起整体状态寄存器470的位的变化。类似地,信号461-2可引起第一EM锁存器466-1的位的变化、整体状态寄存器470中的位(代表第一电压锁存器465-1的位)的变化或两者。例如,信号461-2可引起第一EM锁存器466-1的位的变化,并且还可引起整体状态寄存器470中的位(代表第一EM锁存器466-1的位)的变化。

另外,整体状态寄存器470可耦合到多个远程毛刺检测器中的每一者,以从多个远程毛刺检测器接收相应的信号463-N、464-N。信号463-N可引起相应电压锁存器(例如,第二电压锁存器465-2及/或第三电压锁存器465-(N))中的位的变化、整体状态寄存器470中的相应位的变化或两者。类似地,信号464-N可引起相应电压锁存器(例如,第二EM锁存器466-2及/或第三EM锁存器466-(N))中的位的变化、整体状态寄存器470中的相应位的变化或两者。

可由处理单元或另一组件执行操作以确定锁存器及/或整体状态寄存器470中的位值。例如,如468及469所表示的逻辑或运算可经由例如第一中断(IRQ)线454-1及/或第二中断线454-2的中断线来执行。例如,所述运算可确定整体状态寄存器470中的位值(例如,确定是否有任何位被设置为表示毛刺检测器已检测到毛刺的指示的“1”)。尽管说明为包含总共两条中断线454-1、454-2,但在一些例子中,可采用更少的中断线,例如个别中断线。在任何情况下,在一些实施例中,给定的处理单元、存储器控制器中的另一组件及/或主机可轮询整体状态寄存器470,且由此容易地确定任何毛刺检测器是否已检测到毛刺的指示。

图5是本公开的若干实施例的功能流程图570。在572-1,可检测到毛刺。例如,可检测毛刺的指示(例如时钟信号中的毛刺)、电压中的毛刺(例如,供应给存储器系统及/或包含在存储器系统中的组件的电压)或两者,以及毛刺(例如来自毛刺攻击的毛刺)发生的其它可能指示。

在没有检测到毛刺的指示的情况下,功能流程图570可进行到572-2。在572-2,存储器系统可在不存在毛刺的情况下正常操作。例如,存储器系统可执行各种存储器操作(例如,读取操作、写入操作等),以及在不存在毛刺的情况下执行的其它可能正常存储器操作。例如,指示数据的信号可被传输到高速缓存及/或传输到存储器装置。以这种方式,主机可执行与高速缓存及/或存储器裸片相关联的存储器操作(例如,存储器存取请求)。

然而,响应于检测到毛刺的指示,功能流程图570可进行到572-3。在572-3,可向多个处理单元通知检测到的毛刺的指示,如本文中所详述。例如,在一些实施例中,可向多个处理单元中的每一处理单元通知检测到的毛刺的指示,以及其它可能性。

响应于多个处理单元的通知,功能流程图570可进行到572-4。在572-4,可传输信令以触发毛刺警报、引起毛刺缓解操作的执行或两者。

如上所述,毛刺警报可由警报电路系统(例如,如图3中所说明的警报电路系统323)触发。引起毛刺缓解操作的执行可包含发出命令。例如,可向主机、存储器控制器的部分及/或存储器装置发出命令。缓解毛刺的命令的实例包含与执行刷新操作(例如刷新行地址的操作)、更改刷新模式/定时、将“坏”/“毒”数据传回到主机、引起例如主机处的中断的中断、及/或提供例如提供给控制器的通知的通知以及其它可能性相关联的命令。在任何情况下,毛刺缓解操作的执行可缓解与毛刺的发生相关联的任何影响(例如,电荷泄漏、数据损坏、功耗、计算负担等)。

图6是根据本公开的若干实施例的用于毛刺检测的方法的流程图。本文中描述(例如,关于图6)的方法可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、单元的硬件、集成电路等)、软件(例如,在处理单元上运行或执行的指令)或其组合。尽管以特定序列或顺序展示,除非另有指定,否则可修改过程的顺序。因此,所说明的实施例应仅被理解为实例,并且所说明的过程可以不同顺序执行,且一些过程可并行执行。此外,在各种实施例中可省略一或多个过程。因此,并非在每一个实施例中都需要所有过程。其它过程流程是可能的。

在692,所述方法可包含由本地毛刺检测器检测存储器系统上的毛刺的指示。例如,所述方法可包含通过经由连接矩阵耦合到包含在多个处理单元中的第一处理单元的本地毛刺检测器来检测存储器系统上的毛刺的指示。检测毛刺的指示可以各种方式发生,例如检测时钟信号中的毛刺、电压中的毛刺(例如,供应给存储器系统及/或包含在存储器系统中的组件的电压)或两者,以及其它可能性。时钟信号中的毛刺或电压中的毛刺可分别是指与预期时钟信号或预期电压的偏差。例如,毛刺可引起时钟频率的偏差、时钟信号电压的值的偏差或两者,以及与时钟信号相关联的其它可能的偏差。类似地,毛刺可引起例如电源电压信号的电压、编程电压及/或参考电压以及与存储器系统相关联的其它可能电压的值的偏差。在一些例子中,毛刺攻击可针对CPU子系统,例如本文中描述的那些子系统。例如,毛刺攻击可寻求破坏安全校验(例如,使得采用加密密钥及/或其它类型的密钥的安全校验没有执行/没有按预期执行)。

在一些实施例中,可确定时钟信号及/或给定电压是否已偏离操作阈值。可在存储器系统的控制器处进行确定。响应于确定时钟信号及/或电源电压信号大于远离预期(正常操作)时钟信号及/或电源电压信号的阈值量值,毛刺检测器可向处理单元传输信号,例如信号的传输。以这种方式,毛刺检测器可检测偏离预期时钟信号及/或预期电压至少阈值差的偏差,由此指示毛刺的发生。

在694,可向至少第二处理单元(至少一个远程处理单元)通知所检测到的毛刺的指示。此通知可经由连接矩阵发生,如本文中所详述。例如,可通过向第二处理单元传输中断信号来通知至少第二处理单元。例如,中断信号可经由连接矩阵中包含的中断线从第一毛刺检测器、第一处理单元或两者发送到第二处理单元,以向第二处理单元通知检测到的毛刺的指示。可期望使用中断信号以确保直接且及时地向至少第二处理单元通知检测到的毛刺的指示。

然而,如上所述,本公开不限于此,并且在一些实施例中,可利用校验逻辑(例如,锁存器、逻辑或及状态寄存器)来提供检测到的毛刺的指示的通知。实际上,在一些例子中,可传输信号来更改状态寄存器中的位的值,且由此为向至少第二处理单元通知所检测到的毛刺的指示提供基础。例如,在一些实施例中,通知至少第二处理单元可包含响应于检测到毛刺的指示,传输信令以将与第一处理单元相关联的状态寄存器从第一状态位值(例如,“0”)更改为第二状态位值(例如,“1”),并且在传输信令以更改状态寄存器的状态之后,传输信令以轮询状态寄存器的当前状态。因此,状态寄存器的轮询可传回第二状态位值(例如,“1”),并由此向例如存储器控制器及/或主机的其它组件指示已检测到毛刺的指示符。例如,响应于状态位值被改变为第二状态位值(例如,“1”),可改变对应的旗标位(例如,从“0”改变为“1”),且因此任何后续轮询可容易地检测到具有值“1”而不是例如默认值“0”的另一值的旗标位的存在。

在一些实施例中,每一毛刺检测器可具有相关联的状态寄存器及/或相关联的状态寄存器位。例如,状态寄存器(例如,整体状态寄存器,例如整体状态寄存器470,如图4中所说明)可包含在每一毛刺检测器中。状态寄存器可包含多个位,所述位指示存储器系统中的本地毛刺检测器(在处理单元及处理单元的校验逻辑本地)及至少一个远程毛刺检测器的相应状态。取决于毛刺检测器是否已检测到毛刺,状态寄存器可包含对应于给定毛刺检测器的多个潜在状态的多个位。例如,在图4B中描述的实施例中,状态寄存器可包含对应于电压毛刺检测器(例如当未检测到毛刺时具有“0”状态的电压毛刺检测器447-1)的第一位“0”、对应于EM毛刺检测器(例如当未检测到EM毛刺攻击时具有“0”状态的EM毛刺检测器449-1)的第二位“1”、对应于当检测到毛刺时具有“1”状态的电压毛刺检测器的第三位“2”及对应于当检测到EM毛刺攻击时具有“1”状态的EM毛刺检测器的第四位“3”以及其它可能性。作为实例,第三位及第四位可分别与图4A的电压毛刺检测器447-2及EM检测器449-2相关联。

尽管上文针对两个毛刺检测器(电压毛刺检测器447-1及EM毛刺检测器449-1)描述,但电压及/或EM毛刺检测器的数量可改变(增加或减少)并且相应地可改变对应的位数量(例如,增加对应的数量以说明毛刺检测器数量的增加)。例如,在一些实施例中,多个位可包含在状态寄存器中,所述位指示存储器系统中每一远程毛刺检测器的相应状态。以这种方式,给定的状态寄存器可提供每一远程毛刺检测器以及本地毛刺检测器的相应状态。因此,存储器系统可通过轮询个别状态寄存器轮询并容易地确定每一毛刺检测器的相应状态,而不必轮询每一相应毛刺检测器及/或与相应毛刺检测器相关联的专用状态寄存器。

此外,尽管其在上文描述使得每一相应的毛刺检测器可具有两种状态(例如,当检测到毛刺时的第一状态及当未检测到毛刺时的第二状态),但是状态的数量可变化。例如,在一些实施例中,可利用额外状态及对应的寄存器值来指示毛刺检测器的操作状态(例如,当毛刺检测器操作时的第一状态及当毛刺检测器离线时的第二状态)以及其它可能性。

在一些实施例中,通知至少第二处理单元可进一步包含向第一处理单元通知检测到的毛刺的指示。例如,在一些实施例中,向第二处理单元及第一处理单元通知毛刺的指示可通过经由连接矩阵将第一中断信号从本地毛刺检测器传输到第一处理单元及经由连接矩阵将第二中断信号从本地毛刺检测器传输到第二处理单元而发生。在此类例子中,第二处理单元可认为来自本地毛刺检测器的第二中断信号是由远程检测器(远离第二处理单元)产生。

在一些实施例中,传输第一中断信号可与传输第二中断信号基本上同时发生。与传输第二中断信号基本上同时传输第一中断信号可向多个处理单元提供检测到毛刺的指示的及时且有效的通知。如本文中使用,术语“基本上”意味着特性可非绝对的但足够接近以便实现特性的优点。例如,“基本上同时”不限于绝对同时执行且可包含旨在同时执行的时序,但是归因于制造限制,且可非精确同时的时序的操作。例如,归因于各种接口(例如LPDDR5对PCIe)可展现的信号延迟,“基本上同时”采用的信号可不会在完全相同的时间开始或结束。

然而,在一些实施例中,可在通知另一处理单元之前通知至少一个处理单元。例如,可在远离本地毛刺检测器的第二处理单元之前通知耦合到本地毛刺检测器的第一处理单元。在第二处理单元之前通知第一处理单元可至少部分归因于第一处理单元与本地毛刺检测器的物理接近而发生,及/或可允许经由第一处理单元快速传输信令以触发毛刺警报,引起毛刺缓解操作的执行,或两者。在第一处理单元没有成功地传输信令以触发毛刺警报及/或引起毛刺缓解操作的执行的情况下,此类传输可在任何后续传输(例如,来自第二处理单元)之前发生,以触发毛刺警报,引起毛刺缓解操作的执行,或两者。

在696,可传输毛刺确认信号。可传输毛刺确认信号以触发毛刺警报,引起毛刺缓解操作的执行,或两者。例如,可从至少第二处理单元传输毛刺确认信号,以触发毛刺警报,引起毛刺缓解操作的执行,或两者。即,远离本地毛刺攻击检测器的至少一个处理单元(例如,第二处理单元)可传输信号以触发毛刺警报,引起毛刺缓解操作的执行,或两者。以这种方式,即使第一处理单元受到毛刺的影响,触发毛刺警报、引起毛刺缓解操作的执行或两者的信号仍然被传输到存储器系统中的其它组件,以确保警报被触发及/或采用缓解措施来缓解毛刺。

例如,在一些实施例中,可向多个处理单元中的每一处理单元通知检测到的毛刺的指示。在此类例子中,多个处理单元中的一些或所有处理单元可传输信号以触发毛刺警报,引起毛刺缓解操作的执行,或两者。向多个处理单元中的每一处理单元通知检测到的毛刺的指示可提供最大程度的冗余,并因此提供至少一个处理单元将在来自可用于使(若干)处理单元不能触发毛刺警报,引起毛刺缓解操作的执行或两者的实际毛刺(例如来自实际毛刺攻击的毛刺)的任何影响之前成功地触发毛刺警报,引起毛刺缓解操作的执行或两者的最高可能性。例如,在一些实施例中,可基本上并发地通知包含在多个处理单元中的每一处理单元,如本文中所详述。

在一些实施例中,缓解动作可包含发出通知及/或发出例如刷新命令的命令。例如,可向主机发出通知及/或可向一些或所有行地址发出刷新命令。然而,例如本文中详述的缓解机制的其它缓解机制是可能的。

尽管本文中已说明及描述特定实施例,但所属领域的普通技术人员应了解,经计算以实现相同结果的布置可替代所展示的特定实施例。本公开旨在涵盖本公开的一或多个实施例的调适或变动。应了解,上述描述已以说明性方式而非限制性方式进行。所属领域的技术人员在检阅上文描述之后应明白上文实施例的组合及本文中未明确描述的其它实施例。本公开的一或多个实施例的范围包含其中使用上文结构及过程的其它应用。因此,应参考所附权利要求书以及此类权利要求有权获得的等效物的完整范围确定本公开的一或多个实施例的范围。

在前述具体实施方式中,出于简化本公开的目的,一些特征被一起分组在单个实施例中。本公开的此方法不应解释为反映本公开的所公开实施例必须使用多于在每一权利要求中明确叙述的特征的意图。而是,如所附权利要求书反映,发明标的物存在于少于单个所公开实施例的全部特征。因此,所附权利要求书特此并入到具体实施方式中,其中每一权利要求独立地作为单独实施例。

相关技术
  • 一种毛刺检测机及其检测方法
  • 一种轮速冗余检测方法、轮速冗余检测系统、设备以及存储介质
  • 一种具有冗余间隙的内孔毛刺去除器
技术分类

06120116493683