一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

存储系统的制作方法

2022-06-15 21:38:38 来源:中国专利 TAG:

存储系统
1.相关申请的交叉引用
2.本技术要求2020年12月10日提交的申请号为63/123,703的美国临时专利申请的优先权、以及2021年11月11日提交的申请号为10-2021-0154680的韩国专利申请的优先权,其全部内容通过引用合并于此。
技术领域
3.本发明的各种实施例涉及一种存储系统。


背景技术:

4.随着存储器集成度的增大,在存储器中包括的多个字线之间的间距减小。随着字线之间的间距减小,邻近字线之间的耦合效应增大。
5.此外,每当数据被输入到存储单元或从存储单元输出时,字线在激活状态与非激活状态之间切换。随着邻近字线之间的耦合效应增大,储存在耦接到与被频繁激活的字线相邻设置的字线的存储单元中的数据可能被损坏(即,丢失)。这种现象被称为“字线干扰”或“行锤击(row hammering)”。所要关注的问题是,存储单元的数据可能在存储单元被刷新之前由于行锤击而被损坏。
6.图1是用于描述行锤击的示意图。
7.在图1中,“wll”表示被激活次数过多(即,过度)的字线,并且“wll-1”和“wll 1”表示与字线“wll”相邻设置的字线。此外,“cl”表示耦接到被过度激活的字线“wll”的存储单元,并且“cl-1”和“cl 1”分别表示耦接到相邻的字线“wll-1”和“wll 1”的存储单元。每个存储单元包括单元晶体管tl、tl-1或tl 1和单元电容器capl、capl-1或capl 1。此外,“bl0”和“bl1”表示位线。
8.当字线“wll”被激活或去激活时,相邻的字线“wll-1”和“wll 1”的电压电平可能由于被过度激活的字线“wll”与相邻的字线“wll-1”和“wll 1”之间发生的耦合效应而增大或减小,从而影响储存在单元电容器cl-1和cl 1中的电荷量。因此,字线“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.图5是示出根据本发明的一个实施例的图2中所示的储存在末级(last-level)高速缓冲存储器中的计数结果的示例的表。
具体实施方式
22.下面将参考附图更详细地描述本发明的各种实施例。然而,本发明可以以不同的形式实施并且不应被解释为限于本文中所阐述的实施例。相反,提供这些实施例是为了使
本公开彻底和完整,并且将本发明的范围充分传达给本领域技术人员。贯穿本公开,在本发明的各个附图和实施例中,相同的附图标记指代相同的部件。
23.图2是示出根据本发明的一个实施例的存储系统200的框图。
24.参考图2,存储系统200可以包括处理器210和存储器250。
25.处理器210可以包括处理器核211、高速缓存控制器213、不同级别的高速缓冲存储器215、217和219以及存储器控制器221。处理器210中包括的部件可以通过存储器总线223进行通信。处理器210可以是处理数据或信号的实体。处理器210的示例可以包括微处理器、中央处理单元(cpu)、图形处理单元(gpu)、应用程序处理器(ap)、数字信号处理器(dsp)等。
26.处理器核211可以包括处理计算系统的指令的电路。处理器核211可以是单核或多核。处理器核211可以使用不同级别的高速缓冲存储器215、217和219来访问储存在存储器250中的数据。
27.高速缓冲存储器215、217和219可以被划分成若干级。高速缓冲存储器级别越低,运行速度可能越快,但高速缓冲存储器的容量可能会变小。高速缓存控制器213可以管理高速缓冲存储器215、217和219并且判断是从高速缓冲存储器215、217和219之中的一个高速缓冲存储器还是从存储器250获取用于处理器核211的数据。处理器核211可以优先从高速缓冲存储器215、217和219中获取所需的数据。当所需的数据没有被高速缓存在高速缓冲存储器215、217和219中时,处理器核211可以经由存储器控制器221从存储器250中获取所需的数据。
28.存储器控制器221可以控制存储器250的操作。处理器210可以经由存储器控制器221访问存储器250。即,处理器210可以经由存储器控制器221将数据写入存储器250并且读取储存在存储器250中的数据。存储器控制器221可以将命令/地址ca发送到存储器250以控制存储器250的操作并且可以向存储器250发送数据data以及从存储器250接收数据data。
29.这里,尽管本文中示出存储器控制器221被包括在处理器210中,但是对于本领域技术人员来说显而易见的是,存储器控制器221可以存在于处理器210之外。存储系统200中包括存储器控制器221的设备通常被称为主机。因此,在图2中,处理器210可以是主机。
30.存储器250可以执行由存储器控制器221指示的操作。存储器250可以是诸如动态随机存取存储器(dram)、静态ram(sram)、相变ram(pcram)、磁性ram(mram)、电阻式ram(reram)等的随机存取存储器之中的一种。它也可能是另一种需要刷新操作的存储器。例如,其中数据可能由于行锤击而丢失的存储器可以是存储器250。
31.图3是示出根据本发明的一个实施例的图2中所示的存储器250的详细框图。
32.参考图3,存储器250可以包括控制电路310、第一行锤击检测电路320和单元阵列330。
33.控制电路310可以控制存储器250的整体操作。控制电路310可以控制存储器250的内部组成元件,使得存储器可以执行由命令/地址ca指示的操作,例如,激活操作、预充电操作、读取操作、写入操作和刷新操作。
34.单元阵列330可以包括布置为多个行和多个列的多个存储单元。单元阵列330可以包括正常区域331和安全区域333。正常区域331可以是用于储存一般数据的存储单元区域(即,储存区域或存储器区域),并且安全区域333可以是用于储存安全重要数据的存储单元区域。由于正常区域331和安全区域333用于区分对其应用的不同策略,因此正常区域331和
安全区域333可以通过地址来区分。例如,当单元阵列的行数为n 1时,正常区域331的范围可以从第0行至第k行,而安全区域333的范围可以从第k 1行至第n行。由于安全区域333可以仅储存一部分安全重要数据,因此安全区域333的大小可以远小于正常区域331的大小。例如,正常区域331的大小可以是安全区域333的大小的数十至数千倍。
35.第一行锤击检测电路320可以通过对单元阵列330中被激活的部分行进行采样以对所采样的行的激活次数进行计数来选择待刷新的行。具体地,单元阵列330中可能存在被激活的无数行,并且第一行锤击检测电路320可以通过对单元阵列330中被激活的众多行中的一些行进行随机采样以对所采样的行的激活次数进行计数来检测被过度激活的行。进一步地,被过度激活的行的邻近行(即,可能由于行锤击而丢失数据的行)可以被归类为待刷新的行。
36.第一行锤击检测电路320不是对单元阵列330中被激活的所有行的激活次数进行计数,而是仅对一些所采样的行的激活次数进行计数。这是因为第一行锤击检测电路320难以对单元阵列330中所有被激活的行的激活次数进行计数,并且在面积和电流消耗方面实施这样的电路过于累赘。被第一行锤击检测电路320归类为需要被刷新的行可以在正常刷新操作期间被优先地或附加地刷新,或者可以在施加命令(例如,刷新管理命令)时被刷新。
37.存储器控制器221可以将单元阵列330中的安全区域333中由于行锤击而可能丢失数据的行归类为待刷新的行。因此,第一行锤击检测电路320可以将安全区域333排除在管理对象之外,并且通过仅对正常区域231中的被激活的行的一部分进行采样以对所采样的行的激活次数进行计数来选择待刷新的行。
38.图4是示出根据本发明的一个实施例的图2中所示的存储器控制器221的详细框图。
39.参考图4,存储器控制器221可以包括主机接口401、调度器(scheduler)403、命令生成器405、第二行锤击检测电路407、错误校正电路(ecc)409和存储器接口411。
40.主机接口401可以用于存储器控制器221与处理器210的其他组成元件之间的接口。存储器控制器221可以通过主机接口401耦接到存储器总线223。
41.调度器403可以调度存储器250的操作。调度器403可以确定待被指示到存储器250的请求的顺序,这些请求通过存储器总线223发送。为了提高性能,当与请求相对应的操作被指示到存储器250时,调度器403可以改变通过存储器总线223接收的请求的顺序。例如,即使通过存储器总线223首先请求存储器250的读取操作然后请求写入操作,操作的顺序也可以被改变为在读取操作之前执行存储器250的写入操作。
42.命令生成器405可以根据由调度器403确定的操作的顺序来生成待施加到存储器250的命令。
43.存储器接口411可以用于存储器控制器221与存储器250之间的接口。命令/地址ca可以通过存储器接口411从存储器控制器221被发送到存储器250,并且数据data可以被发送/接收。存储器接口411也可以被称为物理层(phy)接口。
44.第二行锤击检测电路407可以通过对存储器250的安全区域333中所有被激活的行的激活次数进行计数来选择需要被刷新的行。第二行锤击检测电路407能够通过对安全区域中所有被激活的行的激活次数进行计数来检测被过度激活的行。进一步地,被过度激活的行的邻近行(即,可能由于行锤击而丢失数据的行)也可以被归类为需要被刷新的行。由
于存储器250的激活操作是根据存储器控制器221的命令来执行,因此存储器控制器221的第二行锤击检测电路407能够检测存储器250的安全区域333中的哪一行被激活。对于被第二行锤击检测电路407归类为待刷新的行,存储器控制器221可以命令存储器250执行也可以防止数据丢失的激活操作或刷新操作。因此,可以防止与待刷新的行相对应的数据丢失。
45.由于第二行锤击检测电路407以全行计数的方式对安全区域333的所有行的激活次数进行计数,因此在操作上可能会有很大的负担,但是由于安全区域333的大小相当小,因此这种操作是可能的。第二行锤击检测电路407需要用于计数的储存电路,并且处理器210的高速缓冲存储器215、217和219之中的一个高速缓冲存储器可以用作用于储存计数结果的储存电路。由于高速缓冲存储器215、217和219之中的末级高速缓冲存储器219具有最大的容量,因此可以期望第二行锤击检测电路407使用高速缓冲存储器219作为储存电路。进一步地,可以在第二行锤击检测电路407中设置用于储存计数结果的储存电路。图5图示了储存在末级高速缓冲存储器219中的计数结果的示例。参考图5,可以看出,针对安全区域333的每一行,对激活次数进行计数。末级高速缓冲存储器219可以具有最低级。
46.错误校正电路409可以是用于对安全区域333进行错误校正的电路。错误校正电路409可以在安全区域333的写入操作期间生成用于校正写入数据中的错误的错误校正码,并且将错误校正码储存在高速缓冲存储器215、217和219之中的一个高速缓冲存储器(即,错误校正码储存区域)中。可以期望将错误校正码储存在高速缓冲存储器215、217和219之中的末级高速缓冲存储器219中。在安全区域333的读取操作期间,错误校正电路409可以基于储存在高速缓冲存储器219中的错误校正码来对从安全区域333读取的数据的错误进行校正。即,在写入操作期间,错误校正电路409可以将用于对储存在安全区域333中的数据的错误进行校正的错误校正码储存在高速缓冲存储器219中,并且在读取操作期间,错误校正电路409可以基于储存在高速缓冲存储器219中的错误校正码来对从安全区域333读取的数据中的错误进行校正。
47.存储系统200可以通过以下三个方面对正常区域331和安全区域333进行区分来保护储存在安全区域333中的安全数据。
48.1.被激活的行的计数
49.在正常区域331中被激活的行的激活次数可以由第一行锤击检测电路320以随机行计数的方式进行计数。由于并非所有被激活的行都被计数,而仅是一些行被随机选择和计数,因此这种计数方法往往不太可靠。在正常区域331中,选择来自行锤击的攻击的行的方法的可靠性可能不是100%。
50.另一方面,在安全区域333中被激活的行的激活次数可以由第二行锤击检测电路407以全行计数的方式进行计数。由于在安全区域333中被激活的所有行都被计数,因此可以几乎100%的置信度选择被行锤击攻击的行。因此,储存在安全区域333中的数据可以比储存在正常区域331中的数据受到更多的保护。
51.2.错误校正方法
52.错误校正电路409可以仅对储存在安全区域333中的数据执行错误校正操作。因此,储存在安全区域333中的数据可以比储存在正常区域331中的数据受到更多的保护。尽管存储系统200中除了错误校正电路409之外还可以设置额外的错误校正电路,但是该错误校正电路可以保护储存在安全区域333中的数据和储存在正常区域331中的数据。因此,储
存在安全区域333中的数据比储存在正常区域331中的数据受到更多保护的事实没有改变。
53.3.访问方法
54.存储器250通常可以经由高速缓冲存储器215、217和219来访问。即,处理器核211不直接访问存储器250来获取数据,而是从存储器250向高速缓冲存储器215、217和219发送数据。处理器核211可以访问高速缓冲存储器215、217和219以获得数据。例外地,当处理器核211由于高速缓存转储清除(cache flush)或其他情况需要直接访问存储器250时,处理器核211可以直接访问存储器250。
55.经由这些高速缓冲存储器215、217和219对存储器250的直接访问和对存储器250的间接访问可以由高速缓存控制器213控制,该高速缓存控制器允许处理器核211直接访问存储器250的正常区域331,但禁止处理器核211直接访问存储器250的安全区域333。
56.如果允许处理器核211直接访问存储器250,则存储器250很容易被黑客攻击。然而,由于高速缓存控制器213禁止处理器核211直接访问存储器250的安全区域333,因此安全区域333几乎不会受到攻击。简而言之,可以保护存储在安全区域333中的数据。
57.根据本发明的实施例,可以改善保护存储系统免受行锤击攻击的能力。
58.本发明的实施例期望获得的效果不限于上述效果,并且本发明所属领域的普通技术人员从描述也可以清楚地理解上述未提及的其他效果。
59.虽然已经针对具体实施例描述了本发明,但是对于本领域技术人员来说显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可以进行各种改变和修改。此外,这些实施例可以被组合以形成附加的实施例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献