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

存储器控制器以及用于控制对存储模块的访问的方法与流程

2021-11-26 23:25:00 来源:中国专利 TAG:


1.本技术涉及存储器技术领域,更具体地,涉及一种存储器控制器以及用于控制对存储模块的访问的方法。


背景技术:

2.在计算机系统中,内存模组提供中央处理器(cpu)运算时的数据访问以及存储。然而在当前的计算机系统中,cpu对内存模组的访问是通过发送包括访问命令和访问地址的信号来实现的,这样的信号不包含与信号来源相关的身份认证信息,因此无法通过分析访问信号的身份来源来控制对存储模块的访问。
3.因此,有必要对现有的计算机系统进行改进。


技术实现要素:

4.本技术的一个目的在于提供一种存储器控制器以及一种用于控制对存储模块的访问的方法,以提高对访问命令信号的控制。
5.根据本技术的一个方面,提供了一种存储器控制器,其耦接在存储模块与主控制器之间以控制所述主控制器对所述存储模块的访问。所述存储器控制器包括中心缓冲器,所述中心缓冲器被配置为耦接在所述主控制器和所述存储模块之间,其经由命令/地址信道从所述主控制器接收命令/地址信号,并选择性地向所述存储模块提供所述命令/地址信号,所述中心缓冲器还从所述主控制器接收用于标识所述命令/地址信号的来源的身份认证信息。其中所述中心缓冲器包括:验证模块,所述验证模块耦接至所述命令/地址信道以接收所述命令/地址信号以及所述身份认证信息,所述验证模块被配置为根据所述身份认证信息判断对应的命令/地址信号是否符合权限管理规则,并生成判断结果;以及访问控制模块,所述访问控制模块耦接至所述命令/地址信道以接收所述命令/地址信号,并且耦接至所述验证模块以接收所述验证模块生成的判断结果,所述访问控制模块被配置为根据所述验证模块生成的判断结果对所述命令/地址信号进行处理以选择性地向所述存储模块发送所述命令/地址信号。
6.在一些实施例中,所述权限管理规则包括:每个所述身份认证信息所允许的访问命令类型;和/或每个所述身份认证信息所允许的存储模块的访问地址范围。
7.在一些实施例中,所述验证模块被进一步配置为:根据所述命令/地址信号所对应的身份认证信息,获取所述权限管理规则中包括的所述对应的身份认证信息所允许的访问命令类型;将所述命令/地址信号包括的访问命令与所述所允许的访问命令类型进行比较;以及当所述命令/地址信号中包括的访问命令与所述所允许的访问命令类型一致时,判断所述命令/地址信号符合所述权限管理规则;或当所述命令/地址信号中包括的访问命令与所述所允许的访问命令类型不一致时,判断所述命令/地址信号不符合所述权限管理规则。
8.在一些实施例中,所述验证模块被进一步配置为:根据所述命令/地址信号所对应的身份认证信息,获取所述权限管理规则中包括的所述对应的身份认证信息所允许的访问
地址范围;将所述命令/地址信号包括的访问地址与所述所允许的访问地址范围进行比较;当所述命令/地址信号中包括的访问地址在所述所允许的访问地址范围内时,判断所述命令/地址信号符合所述权限管理规则;或当所述命令/地址信号中包括的访问地址不在所述所允许的访问地址范围内时,判断所述命令/地址信号不符合所述权限管理规则。
9.在一些实施例中,所述验证模块被进一步配置为:根据所述命令/地址信号所对应的身份认证信息,获取所述权限管理规则中包括的所述对应的身份认证信息所允许的访问地址范围以及所允许的访问命令类型;将所述命令/地址信号包括的访问地址与所述所允许的访问地址范围进行比较;将所述命令/地址信号包括的访问命令与所述所允许的访问命令类型进行比较;以及当所述命令/地址信号中包括的访问地址在所述所允许的访问地址范围内并且当所述命令/地址信号中包括的访问命令与所述所允许的访问命令类型一致时,判断所述命令/地址信号符合所述权限管理规则;或当所述命令/地址信号中包括的访问地址不在所述所允许的访问地址范围内或者当所述命令/地址信号中包括的命令信号与所述所允许的访问命令类型不一致时,判断所述命令/地址信号不符合所述权限管理规则。
10.在一些实施例中,所述访问控制模块被进一步配置为:当所述验证模块判断所述命令/地址信号符合所述权限管理规则时,将所述命令/地址信号提供给所述存储模块;当所述验证模块判断所述命令/地址信号不符合所述权限管理规则时,不将所述命令/地址信号提供给所述存储模块。
11.在一些实施例中,所述访问控制模块被配置为:当所述验证模块判断所述命令/地址信号符合所述权限管理规则时,将所述命令/地址信号提供给所述存储模块;当所述验证模块判断所述命令/地址信号不符合所述权限管理规则时,将所述命令/地址信号转换为无效信号。
12.在一些实施例中,所述访问控制模块被配置为:当所述验证模块判断所述命令/地址信号符合所述权限管理规则,将所述命令/地址信号提供给所述存储模块;当所述验证模块判断一个或多个所述命令/地址信号不符合所述权限管理规则时,对该不符合所述权限管理规则的一个或多个命令/地址信号的数量进行计数:在该不符合所述权限管理规则的一个或多个命令/地址信号的数量未超过预定数量时,将该一个或多个不符合所述权限管理规则的命令/地址信号提供给所述存储模块;以及在该不符合所述权限管理规则的一个或多个命令/地址信号的数量超过预定数量时,不再将后续的所述验证模块判断不符合所述权限管理规则的命令/地址信号提供给所述存储模块或将其转换为无效信号。
13.在一些实施例中,所述验证模块包括:识别模块,所述识别模块耦接至所述命令/地址信道以接收所述命令/地址信号以及所述身份认证信息,所述识别模块被配置为识别所述命令/地址信号中的访问命令和/或访问地址;判断模块,所述判断模块耦接至所述识别模块以接收每个所述命令/地址信号中的访问命令和/或访问地址以及所述身份认证信息,所述判断模块被配置为根据所述身份认证信息判断对应的命令/地址信号是否符合所述权限管理规则;以及规则模块,所述规则模块存储有所述权限管理规则,所述规则模块耦接至所述判断模块以向所述判断模块提供所述权限管理规则。在一些这样的实施例中,所述验证模块还包括耦接至所述规则模块的配置模块,经由所述配置模块,所述权限管理规则能够被预先或动态地配置。在一些这样的实施例中,所述配置模块还被配置为从所述主控制器接收配置数据,从而所述配置模块利用所述配置数据来对所述权限管理规则进行配
置。
14.在一些实施例中,所述验证模块包括:识别模块,所述识别模块耦接至所述命令/地址信道以接收所述命令/地址信号以及所述身份认证信息,所述识别模块被配置为识别所述命令/地址信号中的访问命令和/或访问地址;判断模块,所述判断模块耦接至所述识别模块以接收每个所述命令/地址信号中的访问命令和/或访问地址以及所述身份认证信息,所述判断模块被配置为根据所述身份认证信息判断对应的命令/地址信号是否符合所述权限管理规则;以及输入信道,所述输入信道耦接至所述判断模块,所述输入信道被配置为从所述中心缓冲器外部接收所述权限管理规则并将所述权限管理规则提供给所述判断模块。
15.在一些实施例中,所述中心缓冲器还包括输出信道和警告模块,所述警告模块被配置为在所述验证模块判断所述命令/地址信号不符合所述权限管理规则时通过所述输出信道向用户发送警告。在一些这样的实施例中,所述验证模块包括所述警告模块和所述输出信道。
16.在一些实施例中,所述中心缓冲器还包括记录模块,所述记录模块被配置为在所述验证模块判断所述命令/地址信号不符合所述权限管理规则时记录所述不符合权限管理规则的命令/地址信号。在一些这样的实施例中,所述验证模块包括所述记录模块。
17.在本技术的另一个方面,还提供了一种存储器,其包括上述方面的存储器控制器和存储模块;还提供了一种计算机系统,其包括上述方面的存储器。
18.在本技术的又一个方面,还提供了一种用于控制对存储模块的访问的方法,其特征在于,所述方法包括:从主控制器接收命令/地址信号以及对应的用于标识所述命令/地址信号的来源的身份认证信息;根据所述身份认证信息判断对应的命令/地址信号是否符合权限管理规则并生成判断结果;根据所述判断结果对所述命令/地址信号进行处理以选择性地向所述存储模块发送所述命令/地址信号。
19.以上为本技术的概述,可能有简化、概括和省略细节的情况,因此本领域的技术人员应该认识到,该部分仅是示例说明性的,而不旨在以任何方式限定本技术范围。本概述部分既非旨在确定所要求保护主题的关键特征或必要特征,也非旨在用作为确定所要求保护主题的范围的辅助手段。
附图说明
20.通过下面说明书和所附的权利要求书并与附图结合,将会更加充分地清楚理解本技术内容的上述和其他特征。可以理解,这些附图仅描绘了本技术内容的若干实施方式,因此不应认为是对本技术内容范围的限定。通过采用附图,本技术内容将会得到更加明确和详细地说明。
21.图1示出了根据本技术一个实施例的存储器系统;
22.图2示出了根据本技术一个实施例的中心缓冲器;
23.图3示出了根据本技术另一个实施例的中心缓冲器;
24.图4示出了根据本技术另一个实施例的中心缓冲器;
25.图5示出了根据本技术另一个实施例的中心缓冲器;
26.图6示出了根据本技术另一个实施例的中心缓冲器;
27.图7示出了根据本技术一个实施例的用于监测对存储模块的访问的方法;
28.图8示出了根据本技术另一个实施例的用于监测对存储模块的访问的方法。
具体实施方式
29.在下面的详细描述中,参考了构成其一部分的附图。在附图中,类似的符号通常表示类似的组成部分,除非上下文另有说明。详细描述、附图和权利要求书中描述的说明性实施方式并非旨在限定。在不偏离本技术的主题的精神或范围的情况下,可以采用其他实施方式,并且可以做出其他变化。可以理解,可以对本技术中一般性描述的、在附图中图解说明的本技术内容的各个方面进行多种不同构成的配置、替换、组合,设计,而所有这些都明确地构成本技术内容的一部分。
30.图1示出了根据本技术一个实施例的存储器系统100。
31.如图1所示,该存储器系统100包括存储模块102,其在本实施例中被构造为存储模组,用于存储数据。在一些实施例中,存储模块102可以是符合jedec双倍速率同步动态随机存取存储器(sdram)标准的存储模块,例如包括jedec ddr、ddr2、ddr3、ddr4、ddr5以及其他双倍速率存储器标准。此外,存储模块102也可以是符合其他标准或协议的内部存储器,例如rambus内部存储器,也可以是符合未来存储器标准或协议的存储器。在一些实施例中,存储模块102可以包括易失性存储器(例如随机存取存储器)、非易失性存储器(例如快闪存储器,如nand或nor快闪存储器)或者这两者的组合。在另一些实施例中,存储模块102还可以是采用不同的生产工艺制造的新型存储器,包括但不限于:磁阻式存储器、相变存储器、电阻式存储器、半浮栅存储器,或者任意类型的其他存储器。需要说明的是,图1仅作为示例,在其他实施例中,存储模块也可以只包括一个存储体,或者每个存储体包括多于两个的存储单元,每个存储体中的存储单元的数量可以相同或者不同。此外需要说明的是,在此所述的存储模块102可以是一颗内存颗粒,也可以包括两颗或更多颗内存颗粒。
32.进一步地,存储模块102所包含的存储阵列或存储器颗粒的结构可以采用各种适合的互连结构。例如,多个存储器颗粒可以并联地构成一个存储模块;替代地,多个存储器颗粒也可以采用多级互连结构(例如两级)。例如,一个或多个存储器颗粒作为第一级存储,而另外的一个或多个存储器颗粒可以作为第二级存储,提供不同层级的存储。而较下层级的第二存储级可以通过第一级存储与存储模块整体的外部交互数据。
33.如图1所示,存储器系统100还包括存储器控制器104,其具有中心缓冲器106。具体地,中心缓冲器106耦接在主控制器110和存储模块102之间,其可以从主控制器110接收包括访问命令和访问地址的命令/地址(command/address,c/a)信号。例如,c/a信号可以包括存储模块102中的一个数据存储地址(即访问地址)以及对该访问地址进行访问(例如读取或写入)的命令。进一步地,中心缓冲器106可以将接收的c/a信号提供给存储模块102,从而存储模块102可以根据c/a信号来执行相应的数据访问操作。对于符合ddr3或ddr4标准的存储器系统,中心缓冲器106可以被集成在寄存时钟驱动器(rcd)中。相应地,中心缓冲器106通过c/a信道耦接在主控制器110与存储模块102之间,以从主控制器110接收c/a信号并将接收的c/a信号提供给存储模块102。对于符合ddr4标准的存储器系统,该c/a信道可以包括管脚a0-a17、管脚bg0-bg1和/或管脚ba0-ba1。其中,管脚bg0-bg1用于确定存储模块102中的哪个存储体组(memory bankgroup)被处理,例如被写入或被读取;管脚ba0-ba1用于确定
存储模块102中的哪个存储体(memory bank)被处理;而管脚a0-a17则用于寻址并确定一个存储体中的哪一个存储单元被处理。此外,a16(ras_n)、a15(cas_n)以及a14(we_n)和act_n这四个管脚的输入可以用于确定被输入的数据访问命令,例如读取命令、写入命令以及其他被预先定义的控制命令。
34.存储器控制器104还可以包括数据缓冲器(db)108,其耦接在存储模块102和主控制器110之间,用于在中心缓冲器106的控制下在存储模块102和主控制器110之间交互数据。中心缓冲器106可以将c/a信号提供给数据缓冲器108,数据缓冲器108可以根据接收到的c/a信号来控制存储模块102中被访问的存储单元与主控制器110之间的数据交互。
35.对于主控制器110发出的c/a信号,其都具有相应的来源,也即是由特定进程或程序根据数据处理的需要发出的信号或命令。在一个实施方式中,计算机系统可以执行多个进程,例如进程1、进程2、进程3
……
进程n,而一个c/a信号可能是一个特定的进程(例如,进程3)发出的用于向特定的存储地址写入数据或从特定存储地址读取数据的信号。在另一个实施方式中,对于一个计算机系统,其可能执行与多个用户相关的进程或程序,例如用户1、用户2、用户3
……
用户n,而一个c/a信号可能是一个特定用户(例如,用户3)登录的进程或程序发出的信号,即该c/a信号的来源为与该特定用户相关的进程或程序。相应地,主控制器110在发送c/a信号时,会一并发送对应的用于标识每个c/a信号的来源的身份认证信息。在一些实施方式中,主控制器110可以在发送每个c/a信号时一并发送该c/a信号的进程来源的身份认证信息,例如该进程的进程id(例如pid)。在另一些实施方式中,主控制器110可以在发送每个c/a信号时一并发送该c/a信号的用户来源的身份认证信息,例如该用户的用户id。在又一些实施例中,c/a信号还可以标识其他类型的来源,例如每个c/a信号可能来自不同的cpu核,主控制器110可以在发送每个c/a信号时一并发送表示不同cpu核的身份认证信息。可以理解,前述身份认证信息中的一个或多个类型可以与c/a信号一并发送。
36.中心缓冲器106包括耦接在c/a信道的接收侧(dca侧)和输出侧(qca侧)之间的主信号路径a和耦接到主信号路径a的分支信号路径b,其中验证模块112耦接在分支信号路径b上,访问控制模块114耦接在主信号路径a上。同时,访问控制模块114还会耦接至验证模块112,以接收其生成的关于每个c/a信号是否符合权限管理规则的判断结果(如下所详细描述的)。
37.对于中心缓冲器106的分支信号路径b,验证模块112耦接到c/a信号的主信号路径a以接收在c/a信道上传输的c/a信号以及如上所述的主控制器110发出的用于标识每个c/a信号的来源(例如进程来源、用户来源等)的身份认证信息。验证模块112可以对在c/a信道上传输的c/a信号进行实时侦听,即可以提取c/a信号中包括的访问命令和/或访问地址。另外,如下面所进一步详述的,验证模块112可以存储有或从外部接收权限管理规则。在一些实施例中,权限管理规则可以包括每个身份认证信息所允许的访问命令类型和/或所允许的存储模块102的访问地址范围。验证模块112可以将每个c/a信号对应的身份认证信息及其包括的访问命令和/或访问地址与权限管理规则进行比较,以判断每个c/a信号是否符合权限管理规则。
38.在一个实施方式中,存储器系统100被配置为针对每个c/a信号的进程来源对每个c/a信号进行管理。在这样的实施方式中,主控制器110在发送每个c/a信号时会一并发送每个c/a信号所对应的进程身份认证信息,例如进程id。例如,存储器系统100包括有三个进
程:进程1、进程2、进程3,主控制器110在发出每个c/a信号时会一并发送其进程来源的进程id。在一个这样的实施方式中,验证模块112所存储的或自外部接收的权限管理规则包括每个进程所允许的访问命令类型,具体如下表1所示。当验证模块112接收到来自某一特定进程的c/a信号时,会将该c/a信号中包括的访问命令与权限管理规则中对应于该特定进程的所允许的访问命令类型相比较:例如,参见表1关于进程1的判断,如果来自进程1的c/a信号包括的访问命令为写入命令,则其与权限管理规则相符,验证模块112判断该c/a信号符合权限管理规则;相反,如果来自进程1的c/a信号包括的访问命令是读取命令,则其与权限管理规则不相符,验证模块112判断该c/a信号不符合权限管理规则。本领域技术人员可以理解,权限管理规则中可以不包括针对某个进程的任何权限管理规则,存储器系统100可以被设定为这样不针对某个进程设置任何权限管理规则表示允许该进程执行任何操作或表示不允许该进程执行任何操作。
39.表1
[0040][0041]
在另一个实施方式中,存储器系统100针对每个c/a信号的用户来源而对每个c/a信号进行管理。在这样的实施方式中,主控制器110在发送每个c/a信号时会一并发送每个c/a信号所对应的用户身份认证信息,例如用户id。例如,存储器系统100包括三个用户:用户1、用户2、用户3,主控制器在发出每个c/a信号时会一并发送其用户来源的id。在一个这样的实施方式中,验证模块112所存储的或自外部接收的权限管理规则包括每个用户所允许的访问地址范围(例如,存储模块102中的第1存储子模块所包括的第1存储单元至第3存储单元),具体如下表2所示。当验证模块112接收到来自某一特定用户的c/a信号时,会将该c/a信号中包括的访问地址与权限管理规则中对应于该特定用户的所允许的访问地址范围进行比较:例如,参见表2关于用户2的c/a信号,如果来自用户2的c/a信号包括的访问地址落入存储模块102中的第3存储子模块的第1存储单元至第5存储单元的范围,验证模块112判断该c/a信号符合权限管理规则;相反,如果来自用户2的c/a信号包括的访问地址不在第3存储子模块的第1存储单元至第5存储单元这个地址范围内,则其与权限管理规则不相符,验证模块112判断该c/a信号不符合权限管理规则。类似的,权限管理规则中可以不包括针对某个用户的任何权限管理规则,存储器系统100可以被设定为这样不针对某个用户设置任何权限管理规则表示允许该用户访问任何存储地址或表示不允许该用户访问任何存储地址。在本实施例中,针对用户3没有设置任何权限管理规则,其表示允许用户3访问任何存
储地址。
[0042]
表2
[0043][0044]
在一些实施方式中,验证模块112所存储的或自外部接收的权限管理规则可以既包括每个身份认证信息所允许的访问命令类型又包括每个身份认证信息所允许的存储模块102的访问地址范围。例如,在存储系统100针对每个c/a信号的进程来源而对每个c/a信号进行管理的一个实施方式中,如下表3所示,认证模块102存储的或从外部接收的权限管理规则同时包括针对每个进程id所允许的访问命令类型和允许访问的访问地址范围。认证模块102会对来自某一特定进程的c/a信号所包括的访问命令和访问地址同时进行如上所述的与权限管理规则的比较:例如,参见表3关于进程1的c/a信号,如果来自进程1的c/a信号所包括的访问命令是读取命令并且访问地址落在第1存储子模块的第1存储单元至第3存储单元这个地址范围内,则判断该c/a信号符合权限管理规则;否则,参见表1关于进程1的c/a信号,在来自进程1的c/a信号所包括的访问命令的不是写入操作,或参见表3关于进程2的c/a信号,来自进程2的c/a信号所包括的访问地址没有落在第3存储子模块的第1存储单元至第5存储单元这个地址范围内,验证模块112判断该c/a信号不符合权限管理规则。类似的,权限管理规则中可以不包括针对某个进程的任何权限管理规则,存储器系统100可以被设定为这样不针对某个进程设置任何权限管理规则表示允许该进程对任何存储地址进行任何访问或表示不允许该用户对任何存储地址进行任何访问。在本实施例中,针对进程3没有设置任何权限管理规则,其表示不允许进程3对任何存储地址进行任何访问。
[0045]
表3
[0046][0047]
本领域技术人员可以理解,存储器系统100可以针对每个c/a信号的不同类型的来源而对每个c/a信号进行管控。例如,在一些实施方式中,存储器系统100还可以针对发出每个c/a信号的不同的cpu核而对每个c/a信号进行管理。另外,在一些实施方式中,存储器系统100可以同时针对c/a信号的多个不同类型的来源而对每个c/a信号进行管理。例如,存储器系统100可以同时针对每个c/a信号的进程来源和用户来源进行管控,主控制器110会在发出每个c/a信号时同时发送表示每个c/a信号的进程来源和用户来源的身份认证信息(例如同时发送每个c/a信号的进程id和用户id),同时相应的,权限管理规则会包括对应进程来源和用户来源所允许的访问命令类型和/或访问地址范围。
[0048]
对于中心缓冲器106的主信号路径a,访问控制模块114通过主信号路径a从主控制器110接收c/a信号并耦接至验证模块112以接收其生成的关于每个c/a信号是否符合权限管理规则的判断结果。根据接收自验证模块112的判断结果,访问控制模块114会对每个c/a信号进行相应处理,以选择性地将c/a信号提供给存储模块102。
[0049]
在一个实施方式中,对于验证模块112判断符合权限管理规则的c/a信号,访问控制模块114直接将其提供给存储模块102;对于验证模块112判断不符合权限管理规则的c/a信号,访问控制模块114会将其屏蔽,即不再将该c/a信号发送给存储模块102。
[0050]
在另一个实施方式中,对于验证模块112判断符合权限管理规则的c/a信号,访问控制模块114直接将其提供给存储模块102;对于验证模块112判断不符合权限管理规则的c/a信号,访问控制模块114会将其转换为无效信号,并可选地将该无效信号提供给或不提供给存储模块102。
[0051]
在又一个实施方式中,对于不符合权限管理规则的c/a信号,存储器系统100不再针对单个这样的c/a信号进行管控而是选择分析这类不符合权限管理规则的c/a信号的趋势。访问控制模块114可以允许将少量的不符合权限管理规则的c/a信号提供给存储模块102,同时在这样的不符合权限管理规则的c/a信号的数量超过一定预设值后,不再将后续的不符合权限管理规则的c/a信号提供给存储模块102。在这样的实施方式中,访问控制模
块114可以包括一个预设值,在认证模块112判断不符合权限管理规则的c/a信号的数量未超过预设值时,访问控制模块114仍然将这些c/a信号提供给存储模块102;同时,访问控制模块114会对不符合权限管理规则的c/a信号的数量进行计数,在认证模块112判断的不符合权限管理规则的c/a信号的数量超过了预设值后,不再将后续的验证模块112判断不符合权限管理规则的c/a信号提供给存储模块或将这些后续的不符合权限管理规则的c/a信号转换为无效信号。
[0052]
可选的,验证模块112可以通过输入和/或输出信道与中心缓冲器106外部交换数据,如下面所详细描述的。
[0053]
图2示出了根据本技术一个实施例的中心缓冲器200的一种示例性结构。
[0054]
如图2所示,中心缓冲器200包括耦接在c/a信道的接收侧(dca侧)和输出侧(qca侧)之间的主信号路径a和耦接到主信号路径a的分支信号路径b,其中验证模块202耦接在分支信号路径b上,访问控制模块204耦接在主信号路径a上。同时,访问控制模块204还耦接至验证模块202,以接收其生成的关于每个c/a信号是否符合权限管理规则的判断结果。验证模块202与访问控制模块204以如上结合图1所述的方式对接收自主控制器的c/a信号进行管理。
[0055]
验证模块202进一步包括识别模块206。识别模块206耦接到c/a信道的主信号路径a以接收在c/a信道上传输的c/a信号。识别模块206可以对在c/a信道上传输的c/a信号进行实时侦听,即可以提取c/a信号中包括的访问命令和/或访问地址。在某些实施方式中,例如以上结合表1所描述的,验证模块202所使用的访问识别规则仅包括每个身份认证信息所允许的访问命令类型。在这样的实施方式中,识别模块206可以仅将提取自c/a信号中的访问命令发送给判断模块208而不需要发送访问地址,或者直接选择不提取访问地址而仅提取访问命令。在某些实施方式中,例如以上结合表2所描述的,验证模块202所使用的访问识别规则仅包括每个身份认证信息所允许的存储模块的访问地址范围。在这样的实施方式中,识别模块206可以仅将提取自c/a信号的访问地址发送给判断模块208而不需要发送访问命令,或者直接选择不提取访问命令而仅提取访问地址。在某些实施方式中,例如以上结合表3所描述的,验证模块202所使用的访问识别规则同时包括每个身份认证信息所允许的访问命令类型以及每个身份认证信息所允许的存储模块的访问地址范围。在这样的实施方式中,识别模块206可以同时将提取自c/a信号的访问命令和访问地址发送给判断模块208。识别模块206可以根据实际需要选择性地提取c/a信号的访问命令和/或访问地址并将提取自c/a信号的访问命令和/或访问地址发送给判断模块208进行是否符合权限管理规则的判断(如下进一步描述的),本技术不做限制。
[0056]
在某些实施方式中,识别模块206可以提取每个c/a信号中包括的访问地址和/或访问命令并实时地将提取自每个c/a信号的访问地址和/或访问命令发送给判断模块208。换句话说,识别模块206可以在侦听每个c/a信号后立即将提取的访问命令和/或访问地址发送给判断模块208。在某些实施例中,识别模块206也可以在侦听预定数量的多个c/a信号后,将提取自该多个c/a信号的访问地址和/或访问命令一并发送给判断模块208。例如,识别模块206可以在侦听5个c/a信号后将提取自这5个c/a信号中的访问地址和/或访问命令批量地一并发送给判断模块208,然后再侦听接下来的5个c/a信号后将提取自该接下来5个c/a信号的访问地址和/或访问命令一并发送给判断模块208。本领域技术人员可以理解,可
以基于实际需要灵活地选择识别模块206侦听c/a信号的方式(例如灵活地选择向判断模块208发送访问命令和/或访问地址前需要侦听的c/a信号的数量),本技术对此不做限制。
[0057]
识别模块206还会接收主控制器发出的对应于每个c/a信号的身份认证信息并将身份认证信息发送给判断模块208进行后续的判断。在某些实施方式中,主控制器发出的对应于每个c/a信号的身份认证信息是某个进程的id(例如,pid)。在这样的实施方式中,识别模块206可以在主控制器发出的信号中识别出该id,并将该id发送给判断模块208进行后续的判断。类似的,对于其他类型的c/a信号的来源(例如用户来源、主控制器核来源),识别模块206也可以从主控制器发出的信号中识别相应的身份认证信息,并将该身份认证信息发送给判断模块208进行后续的判断。
[0058]
判断模块208耦接到识别模块206以接收识别模块206发送的访问命令和/或访问地址以及对应的身份认证信息,同时还耦接至规则模块210以接受其存储的权限管理规则。判断模块208可以基于接收的访问命令和/或访问地址以及对应的身份认证信息而与权限管理规则进行比较,以判断每个c/a信号是否符合权限管理规则,例如以上结合表1至3所描述的。在生成判断结果后,判断模块208将判断结果发送给访问控制模块204以使其对响应的c/a信号进行处理。
[0059]
规则模块210可以包括非易失性存储元件,其存储有判断模块208进行判断所需的权限管理规则。规则模块210耦接至判断模块208以向其提供权限规则。可选地,规则模块210还可以耦接至识别模块206,以使其根据当前的权限管理规则选择性地对每个c/a信号进行侦听(例如如上所述,选择性地提取c/a信号中包括的访问命令或访问地址,或同时提取访问命令和访问地址)。可选地,识别模块206也可以向规则模块210发送提取的访问命令和访问地址,以使规则模块210在其存储的多组权限管理规则中选择一组合适的权限管理规则提供给判断模块208。
[0060]
图3示出了根据本技术一个实施例的中心缓冲器300的一种示例性结构。中心缓冲器300具有与图2所示的中心缓冲器200大致类似的结构,例如验证模块302、访问控制模块304,验证模块302包括识别模块306、判断模块308以及规则模块310,在此不再赘述。
[0061]
中心缓冲器300还另外包括配置模块312,配置模块312耦接到规则模块310,从而使得规则模块310存储的权限管理规则可以被预先或动态地配置。在一种实施方式中,规则模块310的权限管理规则可以被预先配置,即在整个存储器系统(例如图1所示的存储器系统100)运行之前,即将规则模块310所存储的权限管理规则配置完毕。在另一种实施方式中,规则模块310的权限管理规则可以被动态地配置,即在整个存储器系统(例如图1所示的存储器系统100)的运行期间,根据运行状况动态地配置规则模块310的权限管理规则。
[0062]
在某些实施方式中,配置模块312可以被耦接到主控制器(例如图1所述的主控制器110),从而使得使用者可以通过主控制器将配置数据传递至配置模块312以对权限管理规则进行配置。在某些实施方式中,配置模块312可以耦接到一个外部控制器(在图3中未示出,该外部控制器可以包括例如用户使用的另一分析访问历史信息的电脑、手机、平板电脑等,本技术对此不作限制),可以通过该外部控制器将配置数据传递至配置模块312以对权限管理规则进行配置。
[0063]
在某些实施方式中,配置模块312可以存储有多组用于配置规则模块310的权限管理规则的配置数据,配置模块310可以如上所述的耦接到主控制器(例如图1所述的主控制
器110)或外部控制器以接收配置指令,该配置指令可以在存储的多组预设配置数据中选择一组预设配置数据以配置规则模块310的权限管理规则。
[0064]
在某些实施方式中,配置模块312可以自动地配置规则模块310的权限管理规则。在一种实施方式中,配置模块312可以存储有多组用于配置规则模块310的权限管理规则的预设配置数据,同时配置模块312还针对每组预设配置数据存储有不同的应用条件。在存储器系统(例如图1所示的存储器系统100)的运行期间,配置模块312可以在满足不同应用条件的情况下自动地应用不同的预设配置数据,以实现权限管理规则的自动动态配置。例如,配置模块310可以包括针对某一进程1预设有三组配置数据,其中预设配置数据a不限制任何来自进程1的c/a信号,预设配置数据b禁止来自进程1的写入命令,预设配置数据b同时禁止来自进程1的写入命令和读取命令。配置模块312在一开始会应用预设配置数据a,在进程1访问存储模组的频率或次数超过一定阈值时(例如一分钟内访问5次以上)应用不同的(例如更严格的)预设配置数据b,在来自进程1的c/a信号违反预设配置数据b的次数或频率超过预定值后应用另一种(例如最严格的)预设配置数据c。换言之,配置模块310可以根据来自不同进程的c/a信号的历史访问情况,调整应用于这些进程的配置数据。
[0065]
图4示出了根据本技术一个实施例的中心缓冲器400的一种示例性结构。中心缓冲器400具有与图2所示的中心缓冲器200大致类似的结构,例如验证模块402、访问控制模块404,验证模块402包括识别模块406、判断模块408,在此不再赘述。
[0066]
不同的是,中心缓冲器400不包括规则模块,但是其包括输入信道414。输入信道414耦接至判断模块408,以向其提供自中心缓冲器400外部接收的权限管理规则。在某些实施方式中,输入信道414可以被耦接到主控制器(例如图1所述的主控制器110),从而可以通过主控制器将权限管理规则提供到判断模块408。在某些实施方式中,输入信道414可以耦接到一个外部控制器(在图4中未示出,该外部控制器可以包括例如用户使用的另一分析访问历史信息的电脑、手机、平板电脑等,本技术对此不作限制),从而可以通过该外部控制器将权限管理规则提供到判断模块408。可选地,输入信道414还可以耦接至识别模块406,以使其根据当前的权限管理规则选择性地对每个c/a信号进行侦听(例如如上所述,选择性地提取c/a信号中包括的访问命令或访问地址,或同时提取访问命令和访问地址)。
[0067]
图5示出了根据本技术一个实施例的中心缓冲器500的一种示例性结构。中心缓冲器500具有与图2所示的中心缓冲器200大致类似的结构,例如验证模块502、访问控制模块504,验证模块502包括识别模块506、判断模块508、规则模块510,在此不再赘述。
[0068]
中心缓冲器500进一步包括警告模块516和输出信道518。警告模块耦接至判断模块508以接收其生成的关于每个c/a信号是否符合权限管理规则的判断结果,并在c/a信号不符合权限管理规则时通过输出信道518发送警告。输出信道518可以耦接至主控制器或另一外部控制器(在图5中未示出,该外部控制器可以包括例如用户使用的另一分析访问历史信息的电脑、手机、平板电脑等,本技术对此不作限制),以发送c/a信号不符合权限管理规则的警告。在某些实施方式中,输出信道518可以是一高速通道,例如pcie通道、cxl通道或者无线通信(wireless)通道等适于高速输出信息的通道,以增加发送警告的速度。在某些实施方式中,输出信道518也可以是smbus通道(采用i2c或类似协议)或dca通道(构造为主控制器与中心缓冲器之间的双向通信路径)等。
[0069]
本领域技术人员可以理解,警告模块516可以不包括在验证模块502内,而是形成
为一个与验证模块502相互耦接的单独模块。这样单独的警告模块可以耦接至验证模块内的判断模块并通过输出信道耦接至主控制器或另一外部控制器,以发送c/a信号不符合权限管理规则的警告。本技术对此不做限制。
[0070]
另外,本领域技术人员可以理解,在中心缓冲器包括警告模块和输出信道的实施例中(例如图5所示的中心缓冲器500),在验证模块判断一个c/a信号不符合权限管理规则时,中心缓冲器可以仅通过警告模块和输出信道发送c/a信号不符合权限管理规则的警告而不对该不符合权限管理规则的c/a信号进行处理(例如,不屏蔽该c/a信号、不将该c/a信号转换为无效信号等),即存储模块仍然能接收到该不符合权限管理规则的c/a信号。在这样的实施例中,中心缓冲器不自动地对不符合权限管理规则的c/a信号进行处理而仅仅向用户发送警告。
[0071]
图6示出了根据本技术一个实施例的中心缓冲器600的一种示例性结构。中心缓冲器600具有与图2所示的中心缓冲器200大致类似的结构,例如验证模块602、访问控制模块604,验证模块602包括识别模块606、判断模块608、规则模块610,在此不再赘述。
[0072]
中心缓冲器600进一步包括记录模块620。记录模块620耦接至判断模块608,以在判断模块608判断某个c/a信号不符合权限管理规则的时候记录该c/a信号,从而供后续的分析。在某些实施方式中,可以配置记录模块620记录不符合权限管理规则的c/a信号的记录规则。例如,在某些实施方式中,例如更希望能确定哪些进程或用户对存储模组进行了非法写入操作,记录模块620可以被配置为仅记录违反与写入相关的权限管理规则的c/a信号,从而可以节省存储空间。在某些实施方式中,例如仅希望确定针对哪些存储地址的操作命令违反了权限管理规则,记录模块620可以仅记录违反权限管理规则的c/a信号中的访问地址,从而使后续的分析更简洁明了。
[0073]
本领域技术人员可以理解,记录模块620可以不包括在验证模块602内,而是形成为一个与验证模块602相互耦接的单独模块。这样单独的记录模块可以耦接至验证模块内的判断模块,以在判断模块判断某个c/a信号不符合权限管理规则的时候记录该c/a信号。
[0074]
需要说明的是,图2至图6所示的中心缓冲器的电路结构仅仅是示例性的,在实际应用中,可以根据需要对这些电路结构进行修改,例如将参照图2至图6所描述的中心缓冲器的模块进行组合或删减。例如,在某些实施方式中,中心缓冲器可以根据实际情况包括规则模块(例如参考图2和图3所描述的规则模块210和310)、输入信道(例如参考图4所描述的输入信道414)、配置模块(例如参考图3所描述的配置模块312)、警告模块(例如参考图5所描述的警告模块518)、输出信道(例如参考图5所描述的输出信道518)以及记录模块(例如参考图6所示的加密模块620)中的一种或几种或全部。
[0075]
图7示出了根据本技术一个实施例的用于控制主控制器对存储模块的访问的方法700。该方法700可以由例如图2至6所示的中心缓冲器200至600来执行。
[0076]
如图7所示,该方法700可以包括步骤702,从主控制器接收命令/地址信号以及对应的用于标识命令/地址信号的来源的身份认证信息;步骤704,根据身份认证信息判断对应的命令/地址信号是否符合权限管理规则并生成判断结果;以及步骤706,根据判断结果对命令/地址信号进行处理以选择性地向存储模块发送命令/地址信号。
[0077]
在一些实施例中,如以上参考表1至3所描述的,权限管理规则包括每个身份认证信息所允许的访问命令类型和/或每个身份认证信息所允许的存储模块的访问地址范围。
[0078]
在一些实施例中,可以根据命令/地址信号所对应的身份认证信息而获取权限管理规则中包括的该对应的身份认证信息所允许的访问命令类型。在这样的实施例中,步骤704可以包括将命令/地址信号包括的访问命令与所允许的访问命令类型进行比较:当命令/地址信号中包括的访问命令与所允许的访问命令类型一致时,判断命令/地址信号符合权限管理规则;当命令/地址信号中包括的访问命令与所允许的访问命令类型不一致时,判断命令/地址信号不符合权限管理规则。
[0079]
在一些实施例中,可以根据命令/地址信号所对应的身份认证信息而获取权限管理规则中包括的该对应的身份认证信息所允许的访问地址范围。在这样的实施例中,步骤704可以包括将命令/地址信号包括的访问地址与所允许的访问地址范围进行比较:当命令/地址信号中包括的访问地址在所允许的访问地址范围内时,判断命令/地址信号符合权限管理规则;当命令/地址信号中包括的访问地址不在所允许的访问地址范围内时,判断命令/地址信号不符合权限管理规则。
[0080]
在一些实施例中,可以根据命令/地址信号所对应的身份认证信息而获取权限管理规则中包括的该对应的身份认证信息所允许的访问地址范围以及所允许的访问命令类型。在这样的实施例中,步骤704可以包括将命令/地址信号包括的访问地址与所允许的访问地址范围进行比较,以及将命令/地址信号包括的访问命令与所允许的访问命令类型进行比较:当命令/地址信号中包括的访问地址在所允许的访问地址范围内并且当命令/地址信号中包括的访问命令与所允许的访问命令类型一致时,判断命令/地址信号符合权限管理规则;或当命令/地址信号中包括的访问地址不在所允许的访问地址范围内或者当命令/地址信号中包括的命令信号与所允许的访问命令类型不一致时,判断命令/地址信号不符合权限管理规则。
[0081]
在一些实施例中,步骤706可以包括:当判断命令/地址信号符合权限管理规则时,将命令/地址信号提供给存储模块;当判断命令/地址信号不符合权限管理规则时,不将命令/地址信号提供给存储模块。
[0082]
在一些实施例中,步骤706可以包括:当判断命令/地址信号符合权限管理规则时,将命令/地址信号提供给存储模块;当判断命令/地址信号不符合权限管理规则时,将命令/地址信号转换为无效信号。
[0083]
在一些实施例中,步骤706可以包括:当判断命令/地址信号符合权限管理规则,将命令/地址信号提供给存储模块,以及当判断一个或多个命令/地址信号不符合权限管理规则时,对该不符合权限管理规则的一个或多个命令/地址信号的数量进行计数:在该不符合权限管理规则的一个或多个命令/地址信号的数量未超过预定数量时,将该一个或多个不符合权限管理规则的命令/地址信号提供给存储模块;以及在该不符合权限管理规则的一个或多个命令/地址信号的数量超过预定数量时,不再将后续的判断不符合权限管理规则的命令/地址信号提供给存储模块或将其转换为无效信号。
[0084]
可选地,在一些实施例中,方法700还可以包括步骤708:在判断命令/地址信号不符合权限管理规则时向用户发送警告。
[0085]
可选地,在一些实施例中,方法700还可以包括步骤710:在判断命令/地址信号不符合权限管理规则时记录不符合权限管理规则的命令/地址信号。
[0086]
图8示出了根据本技术一个实施例的用于控制主控制器对存储模块的访问的方法
800。该方法800可以由例如图2至6所示的中心缓冲器200至600来执行。其中,步骤806至814分别类似于结合图7所描述的步骤702至710,在此不再赘述。
[0087]
方法800进一步包括步骤802,识别命令/地址信号中的访问命令和/或访问地址。方法800还可以包括步骤804,接收权限管理规则。
[0088]
应当注意,尽管在上文详细描述中提及了用于对存储模块进行访问的方法的若干步骤,和存储器控制器的若干模块或子模块,但是这种划分仅仅是示例性的而非强制性的。实际上,根据本技术的实施例,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。另外,本技术所描述的步骤顺序并不是强制性的,其可以根据实际需要调整执行的顺序。
[0089]
本技术领域的一般技术人员可以通过研究说明书、公开的内容及附图和所附的权利要求书,理解和实施对披露的实施方式的其他改变。在权利要求中,措词“包括”不排除其他的元素和步骤,并且措辞“一”、“一个”不排除复数。在本技术的实际应用中,一个零件可能执行权利要求中所引用的多个技术特征的功能。权利要求中的任何附图标记不应理解为对范围的限制。
再多了解一些

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

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

相关文献