存储器控制器和存储器系统的制作方法

文档序号:30413580发布日期:2022-06-15 10:26阅读:112来源:国知局
存储器控制器和存储器系统的制作方法
存储器控制器和存储器系统
1.相关申请的交叉引用
2.本技术要求于2020年12月10日提交的美国临时申请号63/123,666的权益,并且要求于2021年2月26日提交的韩国专利申请号10-2021-0026556的优先权,这两个申请通过引用整体并入本文。
技术领域
3.本发明的各种实施例涉及存储器系统。


背景技术:

4.随着存储器的集成度增加,存储器中包括的多个字线之间的间距减小。随着字线之间的间距减小,相邻字线之间的耦合效应增加。
5.每当数据被输入到存储器单元或从存储器单元被输出时,字线在活动状态与非活动状态之间切换。随着相邻字线之间的耦合效应增加,耦合到与频繁激活的字线邻近布置的字线的存储器单元中的数据可能被损坏。这种现象被称为行锤击(row hammering)。因为存储器单元的数据由于字线扰动而在存储器单元被刷新之前被损坏,所以存在问题。
6.图1是图示存储器设备中包括的单元阵列的一部分的示意图,以描述行锤击。
7.在图1中,

wll’可以对应于频繁激活的字线,并且

wll-1’和

wll+1’可以是与

wll’邻近布置的字线,即与频繁激活的字线邻近布置的字线。

cl’可以对应于耦合到

wll’的存储器单元,并且

cl-1’可以是耦合到

wll-1’的存储器单元,并且

cl+1’可以是耦合到

wll+1’的存储器单元。每个存储器单元可以包括单元晶体管tl、tl-1或tl+1以及单元电容器capl、capl-1或capl+1。
8.在图1中,当

wll’被激活或被去激活时,

wll-1’和

wll+1’的电压可能会由于

wll’、

wll-1’和

wll+1’之间出现的耦合效应而增加或减少,从而影响单元电容器capl-1和capl+1中的电荷的量。因此,当

wll’被频繁激活并且

wll’在激活状态与去激活状态之间切换时,存储在

cl-1’和

cl+1’中包括的单元电容器capl-1和capl+1中的电荷的量的变化变大,并且存储器单元中的数据可能会恶化。
9.当字线在激活状态与去激活状态之间切换时生成的电磁波,可能通过将电子充电到耦合到相邻字线的存储器单元的单元电容器中或从单元电容器释放电子,而损坏耦合到相邻字线的存储器单元的单元电容器中存储的数据。
10.作为用于解决行锤击问题的方法,可以使用检测已经被多次激活的行并且刷新已经被多次激活的行的相邻行的方法。


技术实现要素:

11.本发明的实施例涉及用于增加存储器系统的行锤击攻击防御能力的技术。
12.依照本发明的一个实施例,存储器控制器包括:安全水平设置电路,适于通过监控行锤击攻击的风险来设置安全水平;以及刷新管理命令控制电路,适于根据安全水平来控
制每单位时间刷新管理命令要被施加到存储器的次数。
13.依照本发明的另一实施例,存储器控制器包括:安全水平设置电路,适于通过监控行锤击攻击的风险来设置安全水平;以及正常刷新命令控制电路,适于根据安全水平来控制每单位时间刷新命令要被施加到存储器的次数。
14.依照本发明的又一实施例,存储器系统包括:存储器;以及适于控制存储器的存储器控制器,其中存储器控制器包括:安全水平设置电路,适于通过监控行锤击攻击的风险来设置安全水平;以及刷新管理命令控制电路,适于根据安全水平来控制每单位时间刷新管理命令要被施加到存储器的次数。
15.依照本发明的再一实施例,存储器系统包括:存储器;以及适于控制存储器的存储器控制器,其中存储器控制器包括:安全水平设置电路,适于通过监控行锤击攻击的风险来设置安全水平;以及正常刷新命令控制电路,适于根据安全水平来控制每单位时间刷新命令要被施加到存储器的次数。
16.依照本发明的再一实施例,存储器系统包括:存储器;以及存储器控制器,存储器控制器耦合到存储器,并且包括行锤击对应块,行锤击对应块被配置成:接收与存储器上的操作相关联的活动信息、高速缓存未命中信息和不可纠正错误信息;基于所接收的信息中的至少一项信息来监控存储器上的行锤击的概率;基于行锤击的概率,确定安全水平;以及向存储器施加命令,该命令包括刷新命令和刷新管理命令中的至少一项,其中命令的施加速率基于安全水平而被确定。
附图说明
17.图1是图示存储器设备中包括的单元阵列的一部分的示意图,以描述行锤击。
18.图2是图示依照本发明的一个实施例的存储器系统的框图。
19.图3是图示依照本发明的一个实施例的在图2中示出的行锤击对应块的框图。
20.图4是图示依照本发明的一个实施例的在图2中示出的存储器的框图。
具体实施方式
21.下面将参考附图更详细地描述本发明的各种实施例。然而,本发明可以以不同的形式来体现,并且不应当被解释为限于本文阐述的实施例。相反,提供这些实施例使得本公开将透彻和完整,并且将会将本发明的范围充分传达给本领域技术人员。贯穿本公开,贯穿本发明的各个图和实施例,同样的附图标记指代同样的部分。
22.图2是图示依照本发明的一个实施例的存储器系统200的框图。
23.参考图2,存储器系统200可以包括存储器控制器210和存储器250。
24.存储器控制器210可以根据来自主机host的请求来控制存储器250的操作。主机host可以包括中央处理单元(cpu)、图形处理单元(gpu)、应用处理器(ap)等。存储器控制器210可以包括主机接口211、调度器213、命令生成器215、行锤击对应块217、错误纠正块219和存储器接口221。存储器控制器210可以被包括在cpu、gpu、ap等中。在这种情况下,主机host可以意指这些结构中的不同于存储器控制器210的结构。例如,当存储器控制器210被包括在cpu中时,主机host可以表示cpu中除了存储器控制器210之外的其余组成元件。存储器控制器210、主机接口211、调度器213、命令生成器215、行锤击对应块217、错误纠正块219
和存储器接口221可以包括它们相应的操作和功能所需的所有电路、系统、软件、固件和设备。
25.主机接口211可以被提供用作存储器控制器210与主机host之间的接口。
26.调度器213可以确定来自主机host的请求之中的、要向存储器250命令的请求的顺序。调度器213可以使从主机host接收请求的顺序不同于要向存储器250命令的操作的顺序,以便改进存储器250的性能。例如,即使主机host首先请求对存储器250的读取操作并且然后再请求写入操作,也可以调整顺序使得写入操作在读取操作之前被执行。
27.调度器213可以在从主机host请求的操作之间调度刷新操作,即刷新命令的施加,以便防止存储器250中的数据丢失。而且,调度器213可以调度刷新管理操作rfm,即刷新管理命令的施加,以便应对行锤击攻击。每单位时间要施加刷新命令的次数(即刷新命令的施加速率)和每单位时间要施加刷新管理命令的次数(即刷新管理命令的施加速率)可以由行锤击对应块217确定。这里,刷新管理操作可以指代刷新存储器中其数据由于行锤击攻击而极有可能丢失的行的操作。
28.命令生成器215可以根据由调度器213确定的操作顺序,来生成要被施加到存储器250的命令。
29.行锤击对应块217可以监控行锤击攻击的风险,并且调度每单位时间要施加刷新命令的次数和每单位时间要施加刷新管理命令的次数。稍后将参考图3详细描述行锤击对应块217的结构和操作。
30.错误纠正块219可以生成错误纠正码,并且使用错误纠正码来执行错误纠正操作。错误纠正块219可以生成要与写入数据一起被写入存储器250中的错误纠正码。而且,错误纠正块219可以基于与读取数据一起被读取的错误纠正码,来纠正从存储器250读取的读取数据中的错误。
31.存储器接口221可以被提供用作存储器控制器210与存储器250之间的接口。命令和地址ca可以通过存储器接口221从存储器控制器210被传送到存储器250,并且数据data可以通过存储器接口221被传送和接收。存储器接口221还可以被称为物理(phy)接口。
32.存储器250可以执行由存储器控制器210命令的操作。存储器250可以是需要刷新操作的存储器。例如,存储器250可以是动态随机存取存储器(dram)或需要刷新操作的另一类型的存储器。
33.图3是图示依照本发明的一个实施例的在图2中示出的行锤击对应块217的框图。
34.参考图3,行锤击对应块217可以包括安全水平设置电路310、刷新管理命令控制电路320和正常刷新命令控制电路330。
35.安全水平设置电路310可以通过监控行锤击攻击的风险来设置安全水平。安全水平设置电路310可以在确定由于行锤击攻击导致数据丢失的概率高时,将安全水平设置为高,否则可以将安全水平设置为低。在本公开的各种实施例中,安全水平设置电路310可以监控活动信息act_cmd、高速缓存未命中信息miss_alert和不可纠正错误信息ue,以对行锤击攻击的风险进行分级。安全水平代码security_level[0:3]可以是指示设置的安全水平的代码。安全水平代码security_level[0:3]可以指示0与3之间的安全水平。例如,当安全水平为0时,security_level[0]可以具有
‘1’
的值,并且每个security_level[1:3]可以具有
‘0’
的值。类似地,当安全水平为2时,security_level[2]可以具有
‘1’
的值,每个
security_level[0]、[1]和[3]可以具有
‘0’
的值。
[0036]
安全水平设置电路310可以接收活动信息act_cmd,每当活动命令被施加到存储器250时,活动信息act_cmd被激活。进一步地,安全水平设置电路310可以监控每单位时间要施加活动命令的次数,并且随着每单位时间要施加活动命令的次数更高,将安全水平设置为更高。当存在行锤击攻击时,每单位时间要施加活动命令的次数增加的特性被使用。活动信息act_cmd可以从调度器213被提供。
[0037]
安全水平设置电路310还可以接收高速缓存未命中信息miss_alert,高速缓存未命中信息miss_alert在高速缓存未命中出现时被激活。进一步地,安全水平设置电路310可以监控每单位时间出现高速缓存未命中的次数,并且随着高速缓存未命中速率变得更高,将安全水平设置为更高。这是基于高速缓存未命中速率在存在行锤击攻击时由于频繁激活而增加的特性。可以通过主机接口211,从包括高速缓存存储器的主机host接收高速缓存未命中信息miss_alert。
[0038]
安全水平设置电路310还可以接收不可纠正错误信息ue,不可纠正错误信息ue在不可纠正错误出现时被激活。进一步地,安全水平设置电路310可以监控每单位时间出现不可纠正错误的次数,并且随着每单位时间不可纠正错误出现的次数变得更高,将安全水平设置为更高。这是基于当存在行锤击攻击时存储器250的错误数目增加并且不可纠正错误的数目增加的特性。可以从错误纠正块219提供不可纠正错误信息ue。
[0039]
本文说明了,安全水平设置电路310基于活动信息act_cmd、高速缓存未命中信息miss_alert和不可纠正错误信息ue来设置安全水平。然而,安全水平设置电路310可以能够仅基于这些信息act_cmd、miss_alert和ue中的一部分(例如,一项或多项)来设置安全水平,并且它还可以能够基于除了信息act_cmd、miss_alert和ue之外的其他信息来设置安全水平。
[0040]
刷新管理命令控制电路320可以根据由安全水平设置电路310设置的安全水平,来控制每单位时间要向存储器250施加刷新管理命令的次数。在本公开的各种实施例中,随着安全水平更高,刷新管理命令控制电路320可以将刷新管理命令控制为被更频繁地施加。每当激活的次数(即每单位时间活动信息act_cmd被激活的次数)达到阈值rfm[0:n]时,刷新管理命令控制电路320可以控制每单位时间要向存储器250施加刷新管理命令的次数。该阈值rfm[0:n]可以根据安全水平而变化。阈值rfm[0:n]可以通过存储器接口221从存储器250接收。存储器250可以将根据设置的安全水平而确定的阈值rfm[0:n]传送到刷新管理命令控制电路320。每当每单位时间活动信息act_cmd被激活的次数达到阈值rfm[0:n]时,刷新管理命令控制电路320可以激活刷新管理命令信息rfm_cmd。刷新管理命令信息rfm_cmd可以被传送到调度器213。当刷新管理命令信息rfm_cmd被激活时,调度器213可以调度刷新管理操作,即刷新管理命令的施加。
[0041]
尽管本文说明的是刷新管理命令控制电路320从存储器250接收阈值rfm[0:n],但是刷新管理命令控制电路320可以不从存储器250接收阈值rfm[0:n],而是可以根据安全水平不同地设置阈值rfm[0:n]。
[0042]
正常刷新命令控制电路330可以根据由安全水平设置电路310设置的安全水平,来控制刷新命令的刷新速率,刷新命令的刷新速率是每单位时间要向存储器250施加刷新命令的次数。随着安全水平增加,正常刷新命令控制电路330可以增加刷新命令的刷新速率。
在本公开的各种实施例中,当安全水平低时,正常刷新命令控制电路330可以根据存储器250的温度来调整刷新命令的刷新速率。当安全水平高时,正常刷新命令控制电路330可以将刷新命令的刷新速率调整为最大水平,而不管存储器250的温度如何。下面的表1概括了根据安全水平的刷新命令的刷新速率。
[0043]
[表1]
[0044][0045]
随着刷新操作被更频繁地执行,对抗行锤击攻击的防御能力可以变得更高。因此,随着安全水平变得更高,当刷新速率提高时,高效地防御行锤击攻击可以是可能的。输入到正常刷新命令控制电路330的温度信息temp_mem可以通过存储器接口221从存储器250接收。因为当温度低时存储器250的数据保持时间增加,并且当温度高时存储器250的数据保持时间减小,所以当安全水平低时,根据温度来调整刷新速率可以减小存储器250的刷新操作消耗的电流量。刷新命令信息ref_cmd可以被传送到调度器213。当刷新命令信息ref_cmd被激活时,调度器213可以调度刷新操作,即刷新命令的施加。
[0046]
图4是图示依照本发明的一个实施例的在图2中示出的存储器250的框图。
[0047]
参考图4,存储器250可以包括命令地址接收电路401、数据传送/接收电路403、命令解码器410、行控制电路430、列控制电路440、地址控制电路450、地址计数器451、存储器核460、刷新目标选择电路470、阈值存储电路480和热传感器490。
[0048]
命令地址接收电路401可以接收命令和地址ca。根据存储器250的类型,命令和地址可以被输入到相同的输入端子,或者命令和地址可以被输入到分开的输入端子。在本文中,图示了命令和地址ca被输入到相同的输入端子。命令和地址ca可以是多个位。
[0049]
数据传送/接收电路403可以接收数据data或传送数据data。数据传送/接收电路403可以在写入操作期间接收要被写入到存储器核460中的数据data,并且在读取操作期间传送从存储器核460读取的数据data。
[0050]
命令解码器410可以对命令和地址ca进行解码,以发现由存储器控制器210向存储器250命令的操作的类型。
[0051]
作为命令解码器410的解码的结果,当基于行的操作(诸如活动操作、预充电操作、刷新操作、刷新管理操作等)被指示时,行控制电路430可以控制该基于行的操作。活动信号act可以是指示活动操作的信号。预充电信号pcg可以是指示预充电操作的信号。刷新信号ref可以是指示刷新操作的信号。刷新管理信号rfm可以是指示刷新管理操作的信号。在本文中,刷新管理操作可以是用于刷新由刷新目标选择电路470选择的行的操作,以便防止可能由于行锤击攻击而出现的数据丢失。该操作还可以被称为智能刷新操作。
[0052]
作为命令解码器410的解码的结果,当基于列的操作(诸如写入操作和列操作)被指示时,列控制电路440可以控制该基于列的操作。写入信号wr可以是指示写入操作的信号。读取信号rd可以是指示读取操作的信号。
[0053]
地址控制电路450可以将从命令解码器410接收的地址确定为行地址r_add或列地址c_add,并且将其传送到存储器核460。当作为命令解码器410的解码的结果而发现活动操作被指示时,地址控制电路450可以将所接收的地址确定为行地址r_add。当发现读取和写入操作被指示时,地址控制电路450可以将所接收的地址确定为列地址c_add。
[0054]
地址计数器451可以生成要被用于刷新操作的刷新地址ref_add。每当刷新信号ref被激活时,地址计数器451可以将刷新地址ref_add增加1。因为每当刷新信号ref被激活时刷新地址ref_add被改变,所以存储器核460的行可以被顺序刷新。
[0055]
刷新目标选择电路470可以选择其数据由于行锤击攻击而极有可能丢失的行,并且将它提供给存储器核460。在本公开的各种实施例中,刷新目标选择电路470可以向存储器核460提供与已经被过度激活很多次的行的相邻行相对应的地址,作为智能刷新地址sr_add。
[0056]
存储器核460可以执行由内部命令信号act、pcg、wr、rd、ref和rfm指示的操作。存储器核460可以包括:单元阵列,其包括被布置成多个行和多个列的存储器单元;用于激活/去激活单元阵列的行的行解码器;以及列解码器和输入/输出电路,用于向单元阵列输入/从单元阵列输出数据,这些是用于诸如活动操作、预充电操作、读取操作、写入操作、刷新操作和智能刷新操作之类的操作的部件。当活动信号act被激活时,存储器核460的行之中的、基于行地址r_add而被选择的行可以被激活。当预充电信号pcg被激活时,被激活的行可以被去激活。当写入信号wr被激活时,数据可以被写入到存储器核460的列之中的、基于列地址c_add而被选择的列中。当读取信号rd被激活时,可以从存储器核460的列之中的、基于列地址c_add而被选择的列来读取数据。当刷新信号ref被激活时,存储器核460的行之中的、基于刷新地址ref_add而被选择的行可以被刷新。当刷新管理信号rfm被激活时,存储器核460的行之中的、基于智能刷新地址sr_add而被选择的行可以被刷新。
[0057]
阈值存储电路480可以通过命令解码器410接收安全水平,安全水平由存储器控制器410的安全水平设置电路310设置。阈值存储电路480可以存储针对每个安全水平的不同阈值,每个安全水平反映存储器250的特性。进一步地,阈值存储电路480可以通过数据传送/接收电路403,将存储的阈值之中的、对应于安全水平的阈值rfm[0:n]传送到存储器控制器210。存储器控制器210的刷新管理命令控制电路320可以基于从存储器250传送的阈值rfm[0:n]来操作。
[0058]
热传感器490可以感测存储器250的温度。由热传感器490感测的温度信息temp_mem可以通过数据传送/接收电路403被传送到存储器控制器210。存储器控制器210的正常刷新命令控制电路330可以基于从存储器250传送的温度信息temp_mem来操作。
[0059]
阈值存储电路480将阈值rfm[0:n]传送到存储器控制器210的时刻以及热传感器490将温度信息temp_mem传送到存储器控制器210的时刻可以由命令解码器410来控制。
[0060]
根据本发明的实施例,可以增加存储器系统的行锤击攻击防御能力。
[0061]
期望在本发明的实施例中获得的效果不限于上面提及的效果,并且从上面的描述中,本发明所属领域的普通技术人员还可以清楚地理解上面未提及的其他效果。
[0062]
虽然已经关于具体实施例描述了本发明,但是对于本领域技术人员来说将明显的是,在不脱离如所附权利要求中限定的本发明的精神和范围的情况下,可以进行各种改变和修改。此外,实施例可以组合以形成另外的实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1