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

半导体存储器设备及其用于生成消息认证码的方法

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


半导体存储器设备及其用于生成消息认证码的方法

相关申请的交叉引用

本申请要求于2022年6月17日向韩国知识产权局提交的韩国专利申请No.10-2022-0073859的优先权,其公开内容通过引用整体并入本文。

技术领域

本文描述的本公开的示例性实施例涉及一种半导体存储器设备,并且更具体地,涉及一种使用物理不可克隆功能(physical unclonable function,PUF)生成消息认证码的半导体存储器设备及其用于生成消息认证码的方法。

背景技术

根据对更高性能和容量的存储器的需求,半导体存储器设备的集成度和操作速度正在快速提高。此外,根据日益增长的安全需求,已经提出或应用了用于确保半导体存储器设备的数据可靠性的各种安全技术。特别地,在诸如服务器或数据中心的系统中使用的工作存储器的数据可靠性是确定服务质量的重要因素。

近来,已经报告了各种黑客方法,诸如行锤击(row-hammering)、RAM-Bleed、冷启动攻击(cold boot attack)和跨CPU攻击(cross-CPU attack)。使用这样的安全攻击篡改或勒索存储在存储器设备中的数据的安全问题越来越令人担心。

发明内容

本公开的实施例可以提供能够确保存储的数据免受对存储器设备的攻击的可靠性的半导体存储器设备,以及其用于生成消息认证码的方法。

一种半导体存储器设备,包括:存储器核心,包括多个随机访问存储器单元;纠错码(ECC)电路,被配置为生成被写入到存储器核心的数据的奇偶校验;以及消息认证码(message authentication code,MAC)控制电路,被配置为响应于消息认证码生成命令或检测到黑客攻击或安全攻击,基于物理不可克隆功能(PUF)源信号生成安全密钥,并且被配置为控制ECC电路使用该安全密钥来生成关于目标数据的认证码MAC,其中,ECC电路在MAC控制电路的控制下,在用于生成ECC奇偶校验的ECC模式和用于生成消息认证码MAC的MAC模式之一下操作。

一种半导体存储器设备,包括:单元阵列,包括多个随机访问存储器单元;命令解码器,被配置为解码输入命令;地址解码器,被配置为解码输入地址;纠错码(ECC)电路,其在用于生成被写入到存储器核心的数据的ECC奇偶校验的ECC模式和用于生成目标数据的消息认证码的消息认证码(MAC)模式之一下操作;以及消息认证码(MAC)控制电路,被配置为响应于消息认证码生成命令或检测到黑客攻击或安全攻击,基于物理不可克隆功能(PUF)源信号生成安全密钥,并且被配置为控制ECC电路使用该安全密钥来生成关于目标数据的认证码。

一种用于生成半导体存储器设备的消息认证码的方法,该方法包括:生成物理不可克隆功能(PUF)源信号,从PUF源信号生成安全密钥,使用安全密钥设置纠错码电路的线性反馈移位寄存器LFSR的系数,通过将目标数据输入到纠错码电路中来生成消息认证码,以及将所生成的消息认证码存储在存储器单元阵列中。

附图说明

通过参考附图对示例实施例进行详细描述,本公开的上述及其他实施例将变得更加清楚。

图1是示出根据本公开的实施例的包括存储器设备的存储器系统的框图。

图2是示例性地示出图1的存储器设备的框图。

图3是更详细地示出图2的MAC控制电路和ECC电路的框图。

图4是示出根据本公开的实施例的纠错码(ECC)电路的示例性配置的框图。

图5A和图5B是示意性地示出根据本公开的实施例的、用于管理消息认证码(MAC)的方法的数据图。

图6是示意性地示出在本公开的存储器设备中执行的生成消息认证码(MAC)的方法的流程图。

图7是示意性地示出根据本公开的实施例的、在存储器控制器中检测数据完整性的方法的流程图。

图8是示出根据实施例的包括存储器设备的存储器系统的框图。

图9是示例性地示出图8的存储器设备的框图。

图10是更详细地示出图9的MAC控制电路和ECC电路的框图。

图11是示出在图9的存储器设备中执行的生成消息认证码(MAC)的方法的流程图。

图12是示出根据本公开的实施例的存储器系统的截面图。

具体实施方式

应当理解,前述一般说明和以下详细说明均以示例方式呈现,但不限于此。附图标记可以在本公开的整个所述实施例中详细示出,包括在附图中示出的其示例。在整个说明书和附图中,可以使用相同或相似的附图标记或标号来指代相同或相似的部分。

在下文中,动态随机访问存储器(DRAM)将用作半导体存储器设备的示例,来以举例方式描述本公开的特征和功能。然而,相关领域的普通技术人员将容易理解根据本文的教导的本公开的其他实施例。本公开可以通过其他实施例来实现或应用。此外,在不脱离本公开的范围、精神或其他方面的情况下,可以根据观点和应用来修改或改变实施例细节。

图1示出了根据本公开的实施例的包括存储器设备的存储器系统。参考图1,本公开的存储器系统1000可以包括存储器控制器1100和存储器设备1200。

存储器控制器1100可以执行用于向存储器设备1200写入数据或读取存储在存储器设备1200中的数据的访问操作。存储器控制器1100可以生成用于将数据写入存储器设备1200或者读取存储在存储器设备1200中的数据的命令CMD和地址ADDR。在实施例中,存储器控制器1100可以是用于控制存储器设备1200的存储器控制器、诸如应用处理器(AP)的片上系统(SoC)、CPU和GPU中的至少一个。

存储器控制器1100可以检测黑客攻击或安全攻击,并提供生成针对存储在存储器设备1200中的数据的消息认证码(MAC)的命令。由存储器控制器1100提供给存储器设备1200以生成消息认证码MAC的命令在下文中被称为MAC生成命令CMD_MAC。当检测到针对存储器设备1200的黑客攻击尝试(例如,行锤击攻击)时,存储器控制器1100可以向存储器设备提供MAC生成命令CMD_MAC,以生成针对对应的存储器区域或数据的消息认证码MAC或控制信号。因此,存储器控制器1100可以包括攻击检测器1150。攻击检测器1150可以监视对存储器设备1200的访问地址,以检测对特定行或存储器区域的锤击攻击。在这种情况下,攻击检测器1150生成检测结果,并以生成针对存储在存储器区域中的数据的消息认证码MAC。

此外,存储器控制器1100可以将由存储器设备1200生成的消息认证码MAC存储在特定存储装置或其他存储器设备中。此外,当稍后需要验证数据时,存储器控制器1100可以向存储器设备1200请求与消息认证码MAC相对应的存储器区域或数据的消息认证码MAC。可以通过将响应于对消息认证码MAC的请求而输出的消息认证码MAC与已经存储的消息认证码MAC进行比较来确定数据的有效性。

存储器设备1200通过数据认证(Data Qualification,DQ)总线或信号线向存储器控制器1100输出存储器控制器1100请求的读取数据、或将存储器控制器1100请求写入的数据存储在存储器单元中。具体地,本公开的存储器设备1200响应于来自存储器控制器1100的MAC生成命令CMD_MAC,生成针对对应的数据或存储器区域的消息认证码MAC。具体地,为了生成消息认证码MAC,存储器设备1200可以使用通过物理不可克隆功能(PUF)生成的密钥。存储器设备1200可以基于所生成的密钥来生成针对目标数据的消息认证码MAC。在这种情况下,存储器设备1200中提供的纠错码电路(ECC电路)可以用于生成消息认证码MAC。因此,存储器设备1200可以包括MAC控制电路1240。

这里,存储器设备1200可以是以超高速操作的高带宽存储器(HBM)或下一代动态随机访问存储器(DRAM),诸如低功率双倍数据速率(LPDDR)6或LPDDR7型的LPDDR DRAM。可替代地,存储器设备1200可以是双倍数据速率(DDR)同步动态随机访问存储器(SDRAM)、LPDDR SDRAM、图形双倍数据速率(GDDR)SDRAM、Rambus动态随机访问存储器(RDRAM)等。其可以是易失性存储器设备,诸如静态随机访问存储器(SRAM)。可替代地,存储器设备1200可以是非易失性存储器设备,诸如电阻RAM(RRAM)、相变随机访问存储器(PRAM)、磁阻随机访问存储器(MRAM)、铁电随机访问存储器(FRAM)、自旋注入磁化反转存储器、自旋移矩随机访问存储器(STT-RAM)等。在本公开中,已经基于DRAM描述了实施例,但是本公开的技术范围和精神不限于此。

如上所述,根据MAC控制电路1240的配置和功能,本公开的存储器设备1200可以生成基于PUF的消息认证码MAC。通过消息认证码MAC,存储器控制器1100可以确定对应的数据是否已经被篡改或受到黑客攻击。此外,存储器控制器1100可以根据确定结果采取用于数据恢复的附加措施。

图2进一步示出了图1的存储器设备。参考图2,存储器设备1200包括存储器核心1210、地址解码器1220、命令解码器1230、MAC控制电路1240和纠错码(ECC)电路1250。

存储器核心1210包括以阵列形式布置的多个存储器单元MC、用于选择存储器单元MC的解码器、用于将数据写入存储器单元MC的写入驱动器和用于读取数据的感测放大器。当输入了读取命令时,存储器核心1210可以输出从存储器单元MC感测的读取数据。当输入了写入命令时,存储器核心1210可以将请求写入的数据写入所选存储器单元MC。此外,存储器核心1210可以向MAC控制电路1240提供PUF源信号。此外,存储器核心1210可以在特定区域中存储通过ECC电路1250生成的消息认证码MAC。驱动器1260可以转换MAC以通过数据认证(DQ)总线或信号线传输到存储器控制器1100。

地址解码器1220将通过命令/地址(CA)线提供的地址信号ADDR传送到存储器核心1210。地址解码器1220可以向存储器核心1210提供块地址、存储体地址、行地址和列地址。

命令解码器1230根据从外部施加的信号(/RAC、/CAS、/WE)确定输入命令。命令解码器1230可以响应于从外部提供的命令,将数据写入存储器核心1210的单元阵列、或者读取写入的数据。此外,命令解码器1230可以根据外部提供的命令和地址将数据写入模式寄存器组(MRS,未示出)。例如,通过控制信号(/RAS、/CAS、/WE)的组合来输入一般自动刷新命令。然后,刷新操作由命令解码器1230确定,并且刷新命令由模式寄存器组MRS提供给刷新控制逻辑(未示出)

MAC控制电路1240响应于MAC生成命令CMD_MAC,生成用于确定数据或存储器区域的有效性的消息认证码MAC。MAC控制电路1240使用物理不可克隆功能PUF生成密钥。此外,MAC控制电路1240将所生成的密钥提供给ECC电路1250。此外,MAC控制电路1240可以将ECC电路1250的操作模式管理为消息认证码生成模式(在下文中被称为MAC模式)和纠错码模式(在下文中被称为ECC模式)。在MAC模式下,ECC电路1250将生成针对输入数据的消息认证码MAC。所生成的消息认证码MAC可以被存储在存储器核心1210中提供的特定区域中。可替代地,可以通过替换现有奇偶校验字段来存储所生成的消息认证码MAC。此外,所生成的消息认证码MAC可以被输出到存储器设备1200的外部。

ECC电路1250响应于MAC控制电路1240提供的操作模式,执行纠错操作或消息认证码MAC生成。ECC电路1250在ECC模式下对输入数据执行检错或纠错操作。例如,在ECC模式下,ECC电路1250生成针对输入数据的ECC奇偶校验。ECC奇偶校验将与数据一起、被写入存储器核心1210中的奇偶校验字段。此外,当输出数据时,ECC电路1250使用ECC奇偶校验来检错或纠错,并输出纠正后的数据。

另一方面,ECC电路1250执行用于生成消息认证码MAC的MAC模式。ECC电路1250可以使用从MAC控制电路1240提供的基于PUF的密钥来生成针对输入数据的消息认证码MAC。由ECC电路1250生成的消息认证码MAC可以被存储在存储器核心1210的特定区域中。可替代地,由ECC电路1250生成的消息认证码MAC可以替换存储在存储器核心1210中的数据的奇偶校验字段。

上文已经简要描述了使用MAC控制电路1240和ECC电路1250、基于物理不可克隆功能PUF生成消息认证码MAC的存储器设备1200。ECC电路1250可以在ECC模式和MAC模式下操作。存储器设备1200可以生成能够检查数据的有效性的消息认证码MAC,而无需单独的设备。因此,本公开的存储器设备1200可以提供高数据可靠性。

图3更详细地示出了图2的MAC控制电路和ECC电路。参考图3,MAC控制电路1240响应于MAC生成命令CMD_MAC来生成密钥和模式选择信号Mode_SEL。此外,ECC电路1250接收密钥、模式选择信号Mode_SEL、时钟信号CLK和数据,以生成ECC奇偶校验或消息认证码MAC。

MAC控制电路1240包括PUF生成器1241、密钥生成器1243和控制逻辑1245。PUF生成器1241可以生成PUF值。为此,PUF生成器1241可以使用来自存储器核心1210的PUF源信号。例如,PUF生成器1241可以接收存储器核心1210的DRAM单元的行锤击值或启动值作为PUF源信号。在实施例中,PUF生成器1241可以包括生成PUF源信号的至少一个PUF源电路。

这里,PUF生成器1241可以基于物理不可克隆功能PUF来生成存储器设备1200的唯一PUF值或密钥。物理不可克隆功能PUF可以指基于硬件的固有特性提供与硬件相对应的唯一值。例如,即使诸如半导体芯片的多个硬件通过相同的工艺制造,多个硬件中的每一个可以在物理上是唯一的,并且在多个硬件中可以出现微小的变化。基于这些变化,可以提取硬件的唯一值,并且提取的值可以用于要求安全性的应用,诸如安全通信、安全数据处理、用户识别、固件更新等。在本说明书中,PUF源信号或PUF值可以指基于上述变化生成的唯一值或一组唯一值。

在一些实施例中,向PUF生成器1241提供PUF源信号的PUF源电路可以具有生成唯一比特信号的任何结构。作为非限制性示例,PUF源电路可以具有基于静态随机访问存储器SRAM单元中存储的值的SRAM型PUF结构,并且可以具有基于频率变化的环形振荡器结构。可替代地,PUF源电路可以具有基于泄漏电流等的基于泄漏的PUF结构、或者可以具有其中信号路径被任意确定的仲裁器PUF结构。此外,PUF源电路可以基于逻辑门的阈值电平的差来生成唯一取值的(unique-valued)比特信号。

在一个示例中,PUF生成器1241可以包括基于晶体管阈值电压的PUF单元、基于仲裁器的PUF单元(例如,前馈PUF单元、与仲裁器PUF单元并联布置的异或(XOR)PUF单元和轻型PUF单元等)、基于环形振荡器的PUF单元、基于存储器的PUF单元(诸如静态随机访问存储器SRAM PUF单元)、锁存器PUF单元、闪存PUF单元、忆阻器PUF单元、根据激光束或热改变的可重新配置PUF单元等中的至少一个。

密钥生成器1243基于从PUF生成器1241提供的PUF值来生成具有预设长度的密钥。该密钥是由MAC控制电路1240唯一生成的加密密钥。因为保证了密钥的完整性,所以该密钥可以用作加密和解密的密钥或者诸如认证码的密钥。密钥生成器1243可以确定PUF值是否有效,并且使用有效数据来生成密钥。

控制逻辑1245响应于MAC生成命令CMD_MAC,分别激活密钥生成器1243和PUF生成器1241。具体地,控制逻辑1245响应于MAC生成命令CMD_MAC,生成用于控制ECC电路1250的操作模式的模式选择信号Mode_SEL。当没有接收到MAC生成命令CMD_MAC时,控制逻辑1245可以提供使得ECC电路1250在其中纠错编码或解码操作被执行的ECC模式下操作的模式选择信号Mode_SEL。然而,当输入了MAC生成命令CMD_MAC时,控制逻辑1245提供使得ECC电路1250在MAC模式下操作的模式选择信号Mode_SEL。

当模式选择信号Mode_SEL为处于ECC模式时,ECC电路1250对数据Data执行纠错编码或纠错解码。在纠错编码期间,ECC电路1250可以生成针对数据Data的ECC奇偶校验。所生成的ECC奇偶校验被存储在其中存储数据的存储器核心1210的奇偶校验字段中。在纠错解码期间,ECC电路1250处理输入数据和奇偶校验,以检测是否存在错误。如果数据中存在可纠正的错误,则ECC电路1250在纠正错误后将数据输出到外部。

当模式选择信号Mode_SEL对应于MAC模式时,ECC电路1250基于密钥值从数据Data生成消息认证码MAC。所生成的消息认证码MAC可以被存储在与存储器核心1210的奇偶校验字段分开的区域中、或者可以以替换现有奇偶校验的方式被存储。

如上所述,MAC控制电路1240和ECC电路1250根据存储器设备1200内部的操作模式,选择性地执行纠错操作和消息认证码MAC生成操作。具体地,MAC控制电路1240可以生成基于PUF的密钥以控制操作模式,使得ECC电路1250生成消息认证码MAC。

图4示出了根据本公开的实施例的ECC电路的示例性配置。参考图4,ECC电路1250可以被实现为线性反馈移位寄存器LFSR,其中系数可以根据操作模式而改变。为此,ECC电路1250包括用于配置线性反馈移位寄存器LFSR的多个触发器1251、1253和1255、异或元件XOR0至XORn-1、系数选择开关1257和系数存储单元1259。

在下文中,假设依次输入数据的比特串。然后,数据的第一比特被生成系数g

与时钟信号CLK同步输入到触发器1251的比特串再次与时钟信号CLK同步,并被输出到输出端子Q。随后,从输出端子Q输出的比特由异或元件XOR1通过带有生成系数g

具体地,本公开的ECC电路1250包括能够根据操作模式选择系数的系数选择开关1257。假设MAC控制电路1240响应于MAC生成命令CMD_MAC的输入而生成MAC模式。然后,系数选择开关1257选择MAC控制电路1240使用PUF生成的密钥(Key,1252)。然后,将基于密钥(Key,1252)值来设置系数存储单元1259。另一方面,当MAC控制电路1240生成与ECC模式相对应的模式选择信号Mode_SEL时,系数选择开关1257选择基本提供的ECC系数ECC_co1254。然后,系数存储单元1259的初始系数值将被设置为ECC系数ECC_co。

在实施例中,ECC系数(ECC_co,1254)可以被设置为系数存储单元1259中的默认值。此外,当提供了MAC模式的模式选择信号Mode_SEL时,系数存储单元1259可以被设置为使用PUF生成的密钥1252。

这样,本公开的ECC电路1250可以在ECC模式下操作,以执行纠错操作、或可以在MAC模式下操作,以生成消息认证码MAC。尽管已经描述了能够改变系数的线性反馈移位寄存器LFSR作为ECC电路1250的示例,但是本公开不限于这里的公开。能够改变操作模式的各种类型的纠错码方案可以用作本公开的ECC电路1250。

图5A和图5B示出了根据本公开的实施例的用于管理消息认证码MAC的方法。参考图5A,所生成的消息认证码MAC可以与ECC奇偶校验一起存储在特定存储器区域或字段中。

在步骤S10中,ECC电路1250在MAC控制电路1240的控制下读取存储在存储器核心1210中的数据1211。在存储器核心1210中,在写入数据1211时通过ECC编码生成的ECC奇偶校验1213与数据1211一起被存储。

在步骤S11中,ECC电路1250使用读取数据1211和在MAC控制电路1240中基于PUF生成的密钥1215来生成消息认证码1217。为了设置MAC模式,ECC电路1250的LFSR系数可以被改变为密钥值。生成消息认证码MAC的操作遵循上述ECC电路1250的MAC模式操作。

在步骤S12中,由ECC电路1250生成的消息认证码1217被存储在存储器核心1210中。在这种情况下,消息认证码1217可以被存储在其中存储安全数据的特定区域中、或者可以与数据1211一起存储。此外,消息认证码MAC可以被输出到存储器设备1200的外部。

在步骤S13中,消息认证码1217与数据1211和ECC奇偶校验1213一起存储在存储器核心1210的单元区域中。如果用户想要检查数据1211的完整性,可以将通过数据1211实时生成的消息认证码MAC’与已经存储的消息认证码MAC 1217进行比较。当已经存储的消息认证码MAC 1217和新生成的消息认证码MAC’相同时,意味着维持了数据完整性。然而,如果两个消息认证码MAC和MAC’不同,则意味着数据被黑客或攻击篡改过。因此,用户可以认识到数据恢复需要单独的动作。

参考图5B,所生成的消息认证码MAC可以替换ECC奇偶校验。

在步骤S20中,ECC电路1250在MAC控制电路1240的控制下读取存储在存储器核心1210中的数据1211。在存储器核心1210中,当数据1211被写入到存储器核心1210时通过ECC编码生成的ECC奇偶校验1213与数据1211一起被存储。

在步骤S21中,ECC电路1250使用读取数据1211和在MAC控制电路1240中基于PUF生成的密钥1215来生成消息认证码1217。为了设置MAC模式,ECC电路1250的LFSR系数可以被改变为密钥1215的值。生成消息认证码MAC的操作遵循上述ECC电路1250的MAC模式操作。

在步骤S22中,由ECC电路1250生成的消息认证码1217被存储在存储器核心1210中。在这种情况下,消息认证码1217可以被存储在其中存储安全数据的特定区域中、或者可以与数据1211一起存储。此外,消息认证码1217可以被输出到存储器设备1200的外部。

在步骤S23中,消息认证码1217与数据1211一起存储在存储器核心1210的单元区域中。具体地,消息认证码1217可以被存储来代替ECC奇偶校验1213。用于生成消息认证码1217的目标数据可能已经是与黑客攻击或安全攻击有关的数据。因此,目标数据可以经受利用消息认证码1217进行的数据完整性检查,而不是由ECC电路1250进行的检错或纠错。

当用户想要检查数据的完整性时,可以将实时生成的消息认证码MAC’与已经存储的消息认证码MAC进行比较。如果两个消息认证码MAC和MAC’相同,则意味着维持了数据完整性。然而,如果两个消息认证码MAC和MAC’不同,则意味着数据被黑客或攻击篡改过。因此,用户可以认识到数据恢复需要单独的动作。

上文已经简要描述了用于管理消息认证码MAC的方法示例。然而,将会很好地理解,消息认证码MAC的管理方法不限于以上描述,并且可以使用各种存储装置设备、以各种管理方法来实现。

图6示出了在本公开的存储器设备中执行的生成消息认证码MAC的方法。参考图6,存储器设备1200(参见例如图1)响应于来自存储器控制器1100(参见例如图1)的MAC生成命令CMD_MAC,生成并存储针对目标数据的消息认证码MAC。

在步骤S110中,存储器设备1200接收从存储器控制器1100提供的MAC生成命令CMD_MAC。存储器控制器1100可以通过检测到对存储器设备1200的特定数据区域的安全攻击被考虑或者已经发生了安全攻击来生成MAC生成命令CMD_MAC。

在步骤S120中,存储器设备1200生成PUF值。例如,PUF生成器1241(参见例如图3)可以使用存储器核心1210(参见例如图2)的DRAM单元的行锤击值或启动值作为PUF源信号来生成PUF值。

在步骤S130中,存储器设备1200基于PUF值生成密钥。例如,密钥生成器1243(参见例如图3)基于从PUF生成器1241提供的PUF值来生成具有预设长度的密钥。例如,密钥生成器1243可以确定PUF值是否有效,并且使用有效数据来生成密钥。

在步骤S140中,存储器设备1200的MAC控制电路1240将ECC电路1250的操作模式设置为MAC模式。然后,ECC电路1250将MAC控制电路1240基于PUF生成的密钥设置为线性反馈移位寄存器LFSR的系数。

在步骤S150中,ECC电路1250生成针对目标数据的消息认证码MAC。也就是说,ECC电路1250被设置为MAC模式,并且使用基于密钥值生成的系数从目标数据生成消息认证码MAC。

在步骤S160中,由MAC模式的ECC电路1250生成的消息认证码MAC被存储在存储器核心1210中。消息认证码MAC可以被存储在与奇偶校验字段分开的区域中、或者可以以替换现有ECC奇偶校验的方式被存储。此外,在步骤S150中生成的消息认证码MAC可以被输出到存储器设备1200的外部。

上文已经描述了在存储器设备1200中用于生成和管理消息认证码MAC的方法的过程。

图7示出了根据本公开的实施例的在存储器控制器中检测数据完整性的方法。参考图7,存储器控制器1100(参见例如图1)从存储器设备1200(参见例如图1)接收针对目标数据的消息认证码MAC,并确定数据完整性。数据完整性检查可以由用户的请求或对数据的安全攻击的检测来触发。

在步骤S210中,存储器控制器1100从存储器设备1200中读取针对目标数据的先前消息认证码MAC。先前消息认证码MAC是已经对存储器设备1200的特定区域执行的、在MAC模式下生成的码。存储器控制器1100将从存储器设备1200读取的先前消息认证码MAC存储在诸如高速缓存或寄存器的特定存储器设备中。

在步骤S220中,存储器控制器1100向存储器设备1200发送MAC生成命令CMD_MAC,以生成当前时间处、针对目标数据的消息认证码MAC’。然后,存储器设备1200的ECC电路1250在MAC控制电路1240的控制下读取存储在存储器核心1210中的目标数据。然后,ECC电路1250使用基于PUF生成的密钥来生成消息认证码MAC’。

在步骤S230中,在当前消息认证码MAC’的生成完成时,存储器设备1200可以向外部输出当前消息认证码MAC’。然后,存储器控制器1100接收在步骤S220中生成的当前消息认证码MAC’。

在步骤S240中,存储器控制器1100将在步骤S210中获得的先前消息认证码MAC与在步骤S230中获得的当前消息认证码MAC’进行比较。先前消息认证码MAC和当前消息认证码MAC’是使用相同PUF源从相同目标数据生成的消息认证码。因此,如果没有目标数据的篡改或错误,则先前消息认证码MAC和当前消息认证码MAC’应该具有相同的值。如果先前消息认证码MAC和当前消息认证码MAC’相同(“是”方向),则过程移动到步骤S250。另一方面,如果先前消息认证码MAC和当前消息认证码MAC’不同(“否”方向),则过程移动到步骤S260。

在步骤S250中,存储器控制器1100确定目标数据有效。也就是说,存储器控制器1100确定目标数据尚未被黑客攻击或安全攻击篡改。然后,数据完整性检查操作可以被终止,而无需存储器控制器1100进行恢复目标数据的附加尝试。此后,可以接着进行对其他目标数据的完整性检查操作。

在步骤S260中,存储器控制器1100确定目标数据无效。也就是说,存储器控制器1100可以确定目标数据不能以与纠错码ECC相同的方式被恢复,因为目标数据已经被黑客攻击或安全攻击篡改。此外,存储器控制器1100可以应用单独提供的恢复方法来恢复目标数据。例如,可以从其中分发和存储目标数据的远程服务器或以RAID方法链接的其他存储器设备接收镜像数据以进行恢复。

上文已经描述了本公开的使用消息认证码MAC作为在存储器控制器1100中检查数据完整性的方法。使用消息认证码MAC检查数据完整性的方法不限于上述示例。也就是说,可以使用各种纠错码ECC引擎来生成和管理消息认证码MAC。

图8示出了根据本公开的示例性实施例的包括存储器设备的存储器系统。参考图8,本公开的存储器系统2000可以包括存储器控制器2100和用于检测安全攻击或黑客攻击并生成基于PUF的消息认证码MAC的存储器设备2200。

存储器控制器2100向存储器设备2200写入数据或读取存储在存储器设备2200中的数据。存储器控制器2100可以生成用于将数据写入存储器设备2200或者读取存储在存储器设备2200中的数据的命令CMD和地址ADDR。与图1的存储器控制器1100不同,存储器控制器2100不包括用于检测对存储器设备2200的黑客攻击或安全攻击的攻击检测器1150(参见例如图1)。对黑客攻击或安全攻击的检测由存储器设备2200自身执行。这里,存储器控制器2100可以是用于控制存储器设备2200的存储器控制器、诸如应用处理器(AP)的片上系统(SoC)、CPU和GPU中的至少一个。

此外,存储器控制器2100可以将存储器设备2200生成和输出的消息认证码MAC存储在分开提供的特定存储器设备中。此外,当稍后需要验证具有消息认证码MAC的数据或存储器区域时,存储器控制器2100可以向存储器设备2200请求对应的消息认证码MAC。可以通过将已经生成和存储的消息认证码MAC与当前消息认证码MAC进行比较来确定数据的有效性。

存储器设备2200向存储器控制器2100输出存储器控制器2100请求的读取数据、或者将存储器控制器2100请求写入的数据存储在存储器单元中。根据此实施例,存储器设备2200包括检测黑客攻击或安全攻击的MAC控制电路2240。例如,MAC控制电路2240可以通过监视地址ADDR来检测对特定区域或数据的黑客攻击或安全攻击。根据检测结果,MAC控制电路2240生成针对对应的数据或存储器区域的消息认证码MAC。

为生成消息认证码MAC,存储器设备2200可以使用基于物理不可克隆功能PUF源的密钥。在这种情况下,存储器设备2200中提供的ECC电路可以用于生成消息认证码MAC。

这里,存储器设备2200可以是以超高速操作的高带宽存储器(HBM)或下一代DRAM(例如,LPDDR6或LPDDR7)。可替代地,存储器设备2200可以是易失性存储器设备,诸如双倍数据速率同步动态随机访问存储器(DDR SDRAM)、低功率双倍数据速率(LPDDR)SDRAM、图形双倍数据速率(GDDR)SDRAM、Rambus动态随机访问存储器(RDRAM)、静态随机访问存储器(SRAM)等。可替代地,存储器设备2200可以是非易失性存储器设备,诸如电阻RAM(RRAM)、相变存储器(PRAM)、磁阻存储器(MRAM)、铁电存储器(FRAM)、自旋注入磁化反转存储器、自旋转移矩随机访问存储器(STT-RAM)等。在本说明书中,已经基于DRAM描述了本公开的优点,但是本公开的技术精神不限于此。

如上所述,根据存储器设备2200中包括的MAC控制电路2240的配置和功能,存储器设备2200可以生成基于PUF的消息认证码MAC。所生成的消息认证码MAC可以被发送到存储器控制器2100。使用消息认证码MAC,存储器控制器2100可以确定对应的数据是否已经被篡改或受到黑客攻击。

图9示出了图8的存储器设备。参考图9,存储器设备2200包括存储器核心2210、地址解码器2220、命令解码器2230、MAC控制电路2240和ECC电路2250。这里,存储器核心2210、地址解码器2220、指令解码器2230和ECC电路2250与图2中的基本相同。因此,可以省略对其的重复描述。

MAC控制电路2240检测黑客攻击或安全攻击,并且根据检测结果生成用于确定攻击所针对的数据或存储器区域的有效性的消息认证码MAC。MAC控制电路2240使用物理不可克隆功能PUF生成密钥。MAC控制电路2240将基于PUF生成的密钥提供给ECC电路2250。此外,MAC控制电路2240可以在消息认证码模式(在下文中被称为MAC模式)或纠错模式(在下文中被称为ECC模式)下管理ECC电路2250的操作模式。在MAC模式下,ECC电路2250将生成针对输入数据的消息认证码MAC。所生成的消息认证码MAC可以被存储在存储器核心2210中提供的特定区域中。可替代地,可以通过替换存储在现有奇偶校验字段中的ECC奇偶校验来存储所生成的消息认证码MAC。此外,当驱动器2260转换MAC以通过数据认证(DQ)总线或信号线传输到存储器控制器2100时,所生成的消息认证码MAC可以被输出到存储器设备2200的外部。

上文已经简要描述了使用MAC控制电路2240和ECC电路2250检测黑客攻击或安全攻击、并基于物理不可克隆功能PUF生成消息认证码MAC的存储器设备2200。ECC电路2250可以被设置为ECC模式和MAC模式中的任何一种。存储器设备2200可以生成能够检查数据的有效性的消息认证码MAC,而无需单独的设备。因此,本公开的存储器设备2200可以提供高数据可靠性。

图10更详细地示出了图9的MAC控制电路和ECC电路。参考图10,MAC控制电路2240检测黑客攻击或安全攻击,并根据结果来生成密钥和模式选择信号Mode_SEL。ECC电路2250接收密钥、模式选择信号Mode_SEL、时钟信号CLK和数据Data,并生成ECC奇偶校验或消息认证码MAC。

MAC控制电路2240可以包括PUF生成器2241、密钥生成器2243和控制逻辑2245。PUF生成器2241可以使用来自存储器核心2210的PUF源信号生成PUF值。例如,PUF生成器2241使用存储器核心2210的DRAM单元的行锤击值或启动值作为PUF源信号来生成PUF信号。在实施例中,PUF生成器2241可以包括至少一个PUF源电路。

在一些实施例中,向PUF生成器2241提供PUF源信号的PUF源电路可具有生成唯一比特信号的任何结构。作为非限制性示例,PUF源电路可以具有基于静态随机访问存储器SRAM单元中存储的值的SRAM型PUF结构,并且可以具有基于频率变化的环形振荡器结构。可替代地,PUF源电路可以具有基于泄漏电流等的基于泄漏的PUF结构、或者可以具有其中信号路径被任意确定的仲裁器PUF结构。此外,PUF源电路可以基于逻辑门的阈值电平的差来生成唯一值比特信号。

密钥生成器2243基于从PUF生成器2241提供的PUF值来生成预设长度的密钥。该密钥是由MAC控制电路2240唯一生成的加密密钥。因为保证了密钥的完整性,所以该密钥可以用作加密和解密的密钥、或者用作诸如认证码的密钥。PUF生成器2241和密钥生成器2243与图3中的基本相同。

控制逻辑2245检测黑客或安全攻击,并激活密钥生成器2243和PUF生成器2241。例如,控制逻辑2245可以监视地址ADDR以检测是否存在黑客攻击或安全攻击。当检测到黑客攻击或安全攻击时,生成用于控制ECC电路2250的操作模式的模式选择信号Mode_SEL。当没有检测到黑客攻击或安全攻击时,控制逻辑2245可以提供使得ECC电路2250在其中执行纠错编码或解码操作的ECC模式下操作的模式选择信号Mode_SEL。然而,在检测到黑客攻击或安全攻击时,控制逻辑2245提供使得ECC电路2250在用于生成消息认证码MAC的MAC模式下操作的模式选择信号Mode_SEL。

当模式选择信号Mode_SEL处于ECC模式时,ECC电路2250对输入数据Data执行纠错编码或纠错解码。在纠错编码期间,ECC电路2250可以生成针对输入数据Data的ECC奇偶校验。ECC奇偶校验与数据一起被存储并被存储在存储器核心的奇偶校验字段中。在纠错解码中,ECC电路2250处理输入数据Data和ECC奇偶校验,以检测是否存在错误。如果数据中存在可纠正的错误,则ECC电路2250在纠正错误后将数据输出到外部。

当模式选择信号Mode_SEL对应于MAC模式时,ECC电路2250基于密钥值从输入数据Data生成消息认证码MAC。所生成的消息认证码MAC可以被存储在与存储器核心2210的奇偶校验字段分开的区域中、或者可以以替换现有ECC奇偶校验的方式被存储。

图11示出了在图9的存储器设备中执行的生成消息认证码MAC的方法。参考图11,存储器设备2200(参见例如图9)检测黑客攻击或安全攻击,以生成并存储针对目标数据的消息认证码MAC。

在步骤S310中,存储器设备2200中包括的控制逻辑2245可以监视地址ADDR,以检测是否发生黑客攻击或安全攻击。将会很好地理解,对存储器设备2200的黑客攻击或安全攻击的检测方法不限于地址ADDR监视,并且可以使用各种手段。

在步骤S320中,根据是否检测到黑客攻击或安全攻击,出现操作分支。如果检测到黑客攻击或安全攻击(“是”方向),则过程移动到步骤S330。另一方面,如果没有检测到黑客攻击或安全攻击(“否”方向),则过程返回到步骤S310。

在步骤S330中,响应于检测到黑客攻击或安全攻击,存储器设备2200生成PUF值。例如,PUF生成器2241(参见例如图10)可以使用存储器核心2210(参见例如图9)的DRAM单元的行锤击值或启动值作为PUF源信号来生成PUF值。

在步骤S340中,存储器设备2200基于PUF值生成密钥。例如,密钥生成器2243(参见例如图10)基于从PUF生成器2241提供的PUF值来生成预设长度的密钥。

在步骤S350中,存储器设备1200的MAC控制电路2240将ECC电路2250的操作模式设置为MAC模式。然后,ECC电路2250将MAC控制电路2240生成的密钥设置为线性反馈移位寄存器LFSR的系数。

在步骤S360中,ECC电路2250通过使用基于密钥值生成的系数,从输入目标数据生成消息认证码MAC。

在步骤S370中,由MAC模式的ECC电路2250生成的消息认证码MAC被存储在存储器核心2210中。消息认证码MAC可以被存储在与ECC奇偶校验字段分开的区域中、或者可以以替换现有ECC奇偶校验的方式被存储。此外,所生成的消息认证码MAC可以被输出到存储器设备2200的外部。

根据上述流程图,存储器设备2200可以自行检测黑客攻击或安全攻击,并生成针对攻击目标或预计将被攻击的目标数据的消息认证码MAC。

图12示出了根据本公开的实施例的存储器系统。参考图12,被实现为堆叠式存储器的存储器系统3000包括PCB衬底(SUB)3100、中介层3150、主机管芯(die)3200、逻辑管芯3300以及HBM 3310和3320、3330、3340。

存储器系统3000使用中介层3150将HBM 3310、3320、3330和3340连接到主机管芯3200。中介层3150设置在PCB SUB 3100上,并且通过倒装芯片凸块(flip chip bump)FB电连接到PCB SUB 3100。

主机管芯3200、逻辑管芯3300和堆叠的HBM 3310、3320、3330和3340可以设置在中介层3150上。TSV线形成在多个HBM 3310、3320、3330和3340中,以实现存储器系统3000。TSV线可以电连接到形成在多个HBM 3310、3320、3330和3340之间的微凸块MB。

这里,多个HBM 3310、3320、3330和3340各自可以响应于来自主机管芯3200的命令或响应于检测到黑客攻击或安全攻击而生成消息认证码MAC。具体地,物理不可克隆功能PUF值用于生成消息认证码MAC。可以使用DRAM单元的行锤击值或启动值作为源来生成PUF值。此外,可以使用多个HBM 3310、3320、3330和3340中的每一个内部提供的ECC电路、使用所生成的PUF值来生成消息认证码MAC。

以上是为便于描述而提供的具体实施例,作为实施本公开的示例。除了上述实施例之外,相关领域的普通技术人员将认识到,本公开的其他实施例可以包括满足可变设计标准等的各种改变。此外,本公开包括使用来自多个实施例的特征的组合可以容易修改和实现的技术。因此,本公开的范围不应限于上述实施例,而是应由所附权利要求及其等同物来限定。

相关技术
  • 用于校准半导体存储器中的感测放大器的设备和方法
  • 半导体存储器件、用于其的写入辅助电路及其控制方法
  • 用于在区块链网络中广播消息的方法、设备和存储介质
  • 用于区块链网络的访问凭证生成方法、数据访问方法、存储介质、计算设备
  • 用于区块链网络的区块生成方法、同步方法、存储介质、计算设备
  • 用于提供适合用于短消息的消息认证码的方法和设备
  • 消息认证码的生成方法、装置、计算机设备和存储介质
技术分类

06120116510146