用于存储器系统的数据更新方法和存储器控制器与流程

文档序号:29788875发布日期:2022-04-23 16:24阅读:148来源:国知局
用于存储器系统的数据更新方法和存储器控制器与流程

1.本技术涉及计算机技术领域,更具体地,涉及一种用于存储器系统的数据更新方法,以及可以执行该数据更新方法的存储器控制器。


背景技术:

2.存储器控制器是用于控制对存储模块进行数据访问的设备。为了提高存储器系统的安全性能,一些存储器控制器会设置安全访问规则,其规定了存储模块中的某些地址空间(下文也称为“安全地址空间”)仅能够由具有权限的应用程序或设备进行访问。例如,当不具有权限的应用程序请求访问该地址空间时,存储器控制器会限制或禁止这类访问。
3.然而,在现有的存储器系统中,如果安全地址空间中存储的数据需要被更新,则上述安全访问规则的运行有可能会暂时停止,也即安全访问规则暂时失效,任何程序都可能都可以短暂地访问安全地址空间。这使得存储器系统存在漏洞,并且有可能使得数据被非法侦听或篡改。
4.因此,有必要提供一种具有改善的数据安全性能的存储器系统以及数据更新方法。


技术实现要素:

5.本技术的一个目的在于提供一种能够提供改善的数据安全的存储器控制器以及数据更新方法。
6.根据本技术的一些方面,提供了一种存储器控制器,其耦接在存储模块与主控制器之间以控制所述主控制器对所述存储模块的访问,所述存储器控制器包括:耦接在所述存储模块与所述主控制器之间的中央缓冲器与数据缓冲器,其中所述中央缓冲器与所述数据缓冲器通过缓冲控制通道相互耦接,所述缓冲控制通道用于在所述主控制器指示访问所述存储模块时允许所述中央缓冲器控制所述数据缓冲器的数据缓冲;安全更新接口,经由所述安全更新接口所述中央缓冲器还耦接到不同于所述主控制器的安全更新控制器,以从所述安全更新控制器接收安全更新命令和待更新数据,其中所述安全更新命令用于指示将所述待更新数据写入所述存储模块中的目标地址;更新控制通道,所述更新控制通道是不同于所述缓冲控制通道的控制通道,所述中央缓冲器和所述数据缓冲器还经由所述更新控制通道相互耦接;其中,所述数据缓冲器包括数据更新缓存,所述数据缓冲器被配置为响应于所述中央缓冲器接收到所述安全更新命令,经由所述更新控制通道从所述中央缓冲器接收所述待更新数据,并从所述存储模块接收更新前所述目标地址中存储的原始数据,以及将所述待更新数据与所述原始数据同时存储在所述数据更新缓存中;所述中央缓冲器被配置为在所述待更新数据与所述原始数据同时存储在所述数据更新缓存中之后,经由所述更新控制通道指示所述数据缓冲器向所述存储模块的目标地址写入所述待更新数据;以及所述数据缓冲器被配置为在所述待更新数据被写入所述存储模块的过程中,利用所述数据更新缓存中存储的所述原始数据响应所述主控制器对所述目标地址的访问。
7.在一些实施例中,所述目标地址指向所述存储模块中访问受限的安全地址空间。
8.在一些实施例中,所述目标地址包括多个存储地址,以使得所述待更新数据被同时写入所述多个存储地址中。
9.在一些实施例中,所述中央缓冲器还被配置为经由所述安全更新接口从所述安全更新控制器接收与所述待更新数据相关联的安全访问权限,以及在所述待更新数据被写入所述存储模块后,在所述中央缓冲器中更新与所述待更新数据相关联的所述安全访问权限。
10.在一些实施例中,所述安全更新接口被实现为pcie接口。
11.在一些实施例中,经由所述安全更新接口接收的所述待更新数据是预加密的数据,所述中央缓冲器还被配置为对所述待更新数据进行解密,并且将解密后的所述待更新数据发送给所述数据缓冲器。
12.在一些实施例中,所述数据缓冲器还被配置为经由其与所述存储模块之间的从数据通道从所述存储模块接收所述目标地址中更新前的原始数据。
13.在一些实施例中,所述中央缓冲器还被配置为响应于所述安全更新命令,生成指向所述目标地址的数据读取命令,以控制所述数据缓冲器从所述存储模块读取所述目标地址中的原始数据。
14.在一些实施例中,所述数据缓冲器经由所述中央缓冲器间接地从所述存储模块接收所述目标地址中更新前的原始数据,所述原始数据是所述中央缓冲器从所述主控制器或所述安全更新控制器接收的。
15.根据本技术的另一方面,还提供了一种存储器系统,包括前述方面所述的存储器控制器以及存储模块。
16.根据本技术的又一方面,还提供了一种用于存储器系统的数据更新方法,所述存储器系统包括存储模块与存储器控制器,所述存储器控制器包括耦接在所述存储模块与主控制器之间的中央缓冲器与数据缓冲器,其中所述中央缓冲器与所述数据缓冲器通过缓冲控制通道与更新控制通道相互耦接,所述缓冲控制通道用于在所述主控制器指示访问所述存储模块时允许所述中央缓冲器控制所述数据缓冲器的数据缓冲,所述更新控制通道是不同于所述缓冲控制通道的控制通道;所述方法包括:经由所述中央缓冲器的安全更新接口,由所述中央缓冲器从不同于所述主控制器的安全更新控制器接收安全更新命令和待更新数据,其中所述安全更新命令用于指示将所述待更新数据写入所述存储模块中的目标地址;由所述中央缓冲器经由所述更新控制通道向所述数据缓冲器发送待更新数据,并且将所述待更新数据存储在所述数据缓冲器的数据更新缓存中;由所述数据缓冲器从所述存储模块接收其目标地址中存储的原始数据,并且将所述原始数据存储在所述数据更新缓存中;由所述中央缓冲器经由所述更新控制通道指示所述数据缓冲器向所述存储模块的目标地址写入所述待更新数据;其中,在所述待更新数据被写入所述存储模块的过程中,由所述数据缓冲器利用所述数据更新缓存中存储的所述原始数据响应所述主控制器对所述目标地址的访问。
17.可以看出,本技术的数据更新方法在应用于存储器系统时,是相对独立于主控制器访问存储器系统的另一处理机制,并且主控制器不具有直接执行该数据更新方法来对存储系统的安全地址空间的数据进行更新的权限。这解决了现有存储器系统的数据更新过程
中仅能够由主控制器更新安全地址空间而产生的安全性问题。
18.以上为本技术的概述,可能有简化、概括和省略细节的情况,因此本领域的技术人员应该认识到,该部分仅是示例说明性的,而不旨在以任何方式限定本技术范围。本概述部分既非旨在确定所要求保护主题的关键特征或必要特征,也非旨在用作为确定所要求保护主题的范围的辅助手段。
附图说明
19.通过下面说明书和所附的权利要求书并与附图结合,将会更加充分地清楚理解本技术内容的上述和其他特征。可以理解,这些附图仅描绘了本技术内容的若干实施方式,因此不应认为是对本技术内容范围的限定。通过采用附图,本技术内容将会得到更加明确和详细地说明。
20.图1示出了根据本技术一个实施例的存储器系统;
21.图2示出了图1所示的存储器系统的中央缓冲器的一个示例;
22.图3示出了图1所示的存储器系统的数据缓冲器的一个示例;
23.图4示出了根据本技术一个实施例的数据更新方法。
具体实施方式
24.在下面的详细描述中,参考了构成其一部分的附图。在附图中,类似的符号通常表示类似的组成部分,除非上下文另有说明。详细描述、附图和权利要求书中描述的说明性实施方式并非旨在限定。在不偏离本技术的主题的精神或范围的情况下,可以采用其他实施方式,并且可以做出其他变化。可以理解,可以对本技术中一般性描述的、在附图中图解说明的本技术内容的各个方面进行多种不同构成的配置、替换、组合,设计,而所有这些都明确地构成本技术内容的一部分。
25.图1示出了根据本技术一个实施例的存储器系统100。该存储器系统100具有改善的数据安全功能,特别是在向存储模块中受限制访问的安全地址空间更新数据时(也即向安全地址空间写入待更新数据时),其能够防止非法程序或设备篡改该安全地址空间中的数据。此外,存储器系统100能够很好地兼容现有标准的存储器系统。
26.在一些实施例中,存储器系统100可以是符合jedec双倍速率同步动态随机存取存储器(sdram)标准的存储器系统,这些存储器标准例如包括jedec ddr、ddr2、ddr3、ddr4、ddr5以及其他双倍速率存储器标准。此外,存储器系统100也可以是符合其他标准或协议的内部存储器,例如rambus内部存储器,或者可以是符合未来存储器标准或协议的存储器。
27.如图1所示,该存储器系统100包括多个存储模块102,其中每个存储模块102都包括阵列排布的多个存储单元。在一些实施例中,存储模块可以包括易失性存储器(例如,动态随机存储器)、非易失性存储器(快闪存储器,例如nand或nor快闪存储器)或者这两者的组合。在另一些实施例中,存储模块还可以是采用不同的生产工艺制造的新型存储器,包括但不限于:磁阻式存储器、相变存储器、电阻式存储器、半浮栅存储器,或者任意类型的其他存储器结构。需要说明的是,在此所述的存储模块可以是一颗存储器颗粒,也可以包括两颗或更多颗存储器颗粒。在图1所示的存储器系统100中,多个存储模块102被排列为2组存储模块102a和102b,并且每一组存储模块构成存储器系统100的一个存储器通道以存储数据。
28.存储器系统100包括存储器控制器103,其用于控制对存储器系统100的存储模块102的数据访问。具体地,存储器控制器103包括中央缓冲器104和数据缓冲器(db)106。在一些实施例中,中央缓冲器104可以是寄存时钟驱动器。中央缓冲器104耦接到存储器接口,并且经由存储器接口接收包括存储地址和访问类型的数据访问命令。当不需要更新存储模块102的安全地址空间中存储的数据时,中央缓冲器104接收的数据访问命令可以是对存储模块102中的一个或多个存储地址进行访问(例如读取或写入)的控制命令。可以理解,数据访问命令可以指向不受限访问的存储地址,或者指向受限访问的安全地址空间中的存储地址。其中,存储器接口进一步耦接到主控制器150,以从其接收数据访问命令和/或待写入到存储器系统100中的目标数据,或向主控制器150发送从存储器系统100中读取出的目标数据。在一些实施例中,中央缓冲器104通过主命令/地址(command/address,dca)通道接收数据访问命令。中央缓冲器104还通过从命令/地址(qca)通道耦接到每个存储模块102,以响应于数据访问命令控制这些存储模块102经由数据缓冲器106写入或读出数据。
29.数据缓冲器106耦接在存储模块102与存储器接口之间以在其间交互数据。具体地,数据缓冲器106通过主数据通道ddq耦接到主控制器150,并且通过从数据通道mdq耦接到对应的存储模块102。其中,主数据通道ddq与主命令/地址通道构成了存储器控制器103与主控制器150之间的存储器接口。例如,经由数据缓冲器106,存储在存储模块102中的数据可以被读取出并发送给存储器接口,或者经由数据缓冲器106,从存储器接口接收的数据可以被写入到存储模块102中对应的存储单元。可以理解,数据缓冲器106包括多个子模块(为了简洁起见,图1中仅示出了4个子模块),并且每个子模块耦接对应的一个存储模块102,包括多个并行设置的子模块的数据缓冲器106可以提高存储器系统100的数据访问带宽。可以理解,本技术并不限制数据缓冲器106子模块的数量。在一些优选的实施例中,数据缓冲器106子模块的数量可以是9个。
30.中央缓冲器104与数据缓冲器106通过缓冲控制通道bcom相互耦接,该缓冲控制通道bcom用于在主控制器150指示访问存储模块102时允许中央缓冲器102控制数据缓冲器106的数据缓冲。
31.上述存储器接口(包括主数据通道ddq和主命令/地址通道dca)、从数据通道mdq、从命令/地址通道qca以及缓冲控制通道bcom构成了主控制器150访问存储器系统100时的主要数据和控制通道,这与现有存储器系统的结构大体相同,在此不再对基于这些通道进行数据访问的时序和机制作进一步说明,本领域技术人员可以参考现有的存储器系统中数据访问的实现方式。
32.除了这些通道之外,不同于现有技术,本技术实施例的存储器系统100还提供了额外的安全通道和安全机制用于数据更新,其能够有效地避免数据更新时现有的存储器系统的安全访问机制在短时间内失效的问题。在一些实施例中,该额外的数据更新方法可以由不同于主控制器150的单独设置的安全更新控制器160指示执行,例如安全更新控制器160可以在主控制器150未访问存储器系统100时指示对存储模块102进行数据更新。
33.在一些实施例中,上述额外的数据更新机制可以用于对存储模块102的安全地址空间或存储模块102的任何地址空间进行数据更新。可以理解,在此情况下,主控制器150可能至少部分时间内被限制对存储模块102进行数据更新,也即不能够将新数据写入到存储模块102的待更新地址空间中。在一些优选的实施例中,该额外的数据更新机制可以仅用于
对存储模块102中访问受限的安全地址空间(其可以是存储模块102中的一部分存储空间,这取决于具体安全访问规则的定义和设置),而对于访问不受限的非安全地址空间,可以不采用该额外的数据更新机制,而是仍由主控制器150通过数据写入命令来更新数据。可以理解,取决于安全访问规则的设置和变化,安全地址空间的范围可能也会发生变化。在一些实施例中,该额外的数据更新机制可用于整个存储模块102。
34.安全访问规则可以用于定义并设置存储器系统中的哪些区域是访问受限的安全地址空间,该安全地址空间中的每个部分或地址被分配了何种访问权限(例如可读、可写或不可读写),或者哪些应用程序或设备能够(或者不能够)以何种访问权限访问安全地址空间,或者仅有某些数据(其可以例如存储在数据缓冲器中)可以被从存储器系统中读取出来,等等。安全访问规则可以在中央缓冲器初始化时写入到中央缓冲器中,例如由安全更新控制器或主控制器写入,并且可以在存储器系统运行过程中更新。当中央缓冲器检测到其所接收到的数据访问命令或其他命令属于安全地址空间后,也即该数据访问命令中的目标地址属于安全地址空间后,其即明确访问可能是受限的。相反,当中央缓冲器检测到其所接收到的数据访问命令不属于安全地址空间后,其即可确定访问是不受限的。
35.关于安全访问规则的具体实现和技术细节,可以参考例如澜起科技提供的m88hs26sa和m88sc26ha/b产品(关于这些产品的技术信息,可以参考其产品技术手册,这些产品技术手册的全部内容通过引用方式并入本技术)。
36.接下来对上述数据更新方法和相关通道、机制进行具体说明。
37.仍参考图1所示,存储器系统100的存储器控制器还包括安全更新接口110,经由该安全更新接口110,中央缓冲器104还耦接到不同于主控制器150的安全更新控制器160,以从安全更新控制器160接收安全更新命令和待更新数据。正如前述,安全更新控制器160可以在主控制器150不访问存储模块102时启动对存储模块102的数据更新。安全更新控制器160提供的安全更新命令用于指示将待更新数据写入存储模块102中的目标地址(即,待更新地址空间)。在一些实施例中,安全更新控制器160还可以提供与待更新数据对应的新的安全访问权限;这样,中央缓冲器104可以根据新的安全访问权限来更新中央缓冲器104中存储的安全访问规则,从而在主控制器150对存储器系统100的后续数据访问过程中,中央缓冲器104可以根据更新后安全访问规则管理对存储模块102中该目标地址中存储的更新后数据的访问。
38.存储器控制器还包括更新控制通道112,其是中央缓冲器104和数据缓冲器106之间不同于缓冲控制通道bcom的另一控制通道。由于数据缓冲器106具有多个子模块,因此在一些实施例中,每个数据缓冲器106的子模块都可以通过一个更新控制通道112耦接到中央缓冲器104并与其进行交互。
39.数据缓冲器106还包括数据更新缓存114,其用于暂存数据。响应于中央缓冲器104接收到安全更新命令,中央缓冲器104可以向数据缓冲器106发出数据更新指示,以指示其经由更新控制通道112从中央缓冲器104接收待更新数据,并且将待更新数据存储在数据更新缓存114中。与此同时,数据缓冲器106还从存储模块102接收更新前目标地址中存储的原始数据,并且将原始数据一并存储在数据更新缓存114中。可以看出,在安全更新命令触发或启动安全更新操作之后,数据缓冲器106能够获得并存储与目标地址关联的“旧的”原始数据,以及与相同的目标地址关联的“新的”待更新数据。这样,数据缓冲器106可以利用这
两组数据分别进行与主控制器150及存储模块102之间的数据交互。
40.可以理解,在响应安全更新控制器160发出的安全更新命令而进行数据更新的过程中,主控制器150可能因为各种原因仍需要访问存储器系统100。例如,在一些情况下,数据更新的数据量比较大,数据更新所需的处理时间较长,而在此过程中,主控制器150可能需要访问存储器系统;在另一些情况下,主控制器150与安全更新控制器160之间并未设置通信通道(如图1所示的通道120)或协调机制来通知主控制器150该安全更新已被启动,从而主控制器150在未被通知的情况下访问存储器系统。
41.具体地,数据缓冲器106仍在中央缓冲器104的控制下运行。当中央缓冲器104确认数据缓冲器106中已经暂存了原始数据和待更新数据之后,其可以经由更新控制通道112指示数据缓冲器106向存储模块102的目标地址写入待更新的数据,以使得存储模块102中的数据可以被更新。与此同时,在写入待更新数据的过程中,如果中央缓冲器104从主控制器150接收到数据访问请求,并且该数据访问请求指向相同的目标地址,那么中央缓冲器104可以指示数据缓冲器106利用其数据更新缓存114中暂存的原始数据来响应主控制器150对该目标地址的数据访问请求。这样,在数据更新过程中,数据缓冲器106中的数据更新缓存114“镜像”并替代了存储模块102中目标地址的存储空间,因此即使主控制器150此时有需求需要读取目标地址中的数据,基于数据更新缓存114中的数据“镜像”主控制器150也可以实现对目标地址的“正常”访问。与此同时,由于主控制器150不能够直接访问存储模块102的待更新地址空间,因此即使主控制器150运行了非法程序,该非法程序也不能够通过访问存储模块102来篡改存储模块102中该目标地址的数据。这也就解决了现有存储器系统的数据更新过程中仅能够由主控制器150更新安全地址空间而产生的安全性问题。
42.在存储模块102中的数据更新完成后,数据缓冲器106可以向中央缓冲器104发送通知,以指示数据更新完成。中央缓冲器104可以进一步地向安全更新控制器160发送通知,以通知其数据更新完成。
43.在一些实施例中,除了存储模块102中存储数据需要被更新之外,被更新的数据可能设置了更新的安全访问权限,例如,在更新前,目标地址中的原始数据对应的安全访问权限可以是可读,该访问权限可以存储在中央缓冲器104中,作为安全访问规则的一部分;而在更新后,根据安全更新命令中提供的新的安全访问权限,目标地址中被更新的数据对应的访问权限可以是可读可写。相应地,与被更新的数据相关联的新的安全访问权限可以被提供给中央缓冲器104,从而中央缓冲器104可以在数据更新完成后进一步更新安全访问规则,使得新的安全访问权限能够被启用并适用于被更新的数据。可以理解,与存储模块中数据的更新相对应,中央缓冲器104中也可以同时存储新的和旧的两组安全访问权限,并且在数据更新过程中保持旧的安全访问权限有效,以使得此时主控制器150仅能基于旧的安全访问权限访问数据更新缓存114中暂存的原始数据。在数据更新完成后,中央缓冲器104可以删除不再有效的旧的安全访问权限。可选地,中央缓冲器104可以在数据更新完成后进一步指示数据缓冲器106删除其中存储的原始数据;或者替代地,每次更新完成后,暂存的原始数据也可以不从数据缓冲器106中删除,而是在下一次数据更新时直接由下一次获得的原始数据覆盖。在一些替代的实施例中,安全更新控制器160也可以在数据更新完成后,再紧接着向中央缓冲器104发送新的安全访问权限,而不是随着安全更新命令一同发送。
44.可以理解,尽管安全更新控制器160提供了独立于主控制器150的安全更新命令,
在一些实施例中,安全更新控制器160可以与主控制器150耦接以实现通信,例如通过图1所示的通道120。这样,安全更新控制器160可以监控主控制器150对存储器系统100的访问情况,以选择是否对安全地址空间进行数据更新;或者主控制器150可以监控存储器100的数据更新情况,以判断是否需要访问存储器系统100中被更新的地址。
45.图2示出了图1所示的存储器系统的中央缓冲器的一个示例。
46.如图2所示,中央缓冲器通过主命令/地址侧的dca接口耦接至主控制器,以接收正常的数据访问命令,并且通过从命令/地址侧的qca接口耦接至各个存储模块,以控制对这些存储模块进行相应的数据写入或读出。此外,由主从两侧的命令/地址通道构成的信号路径还通过缓冲控制通道bcom耦接至数据缓冲器。可以理解,中央缓冲器这一部分的接口、路径和模块与现有的中央缓冲器中的具体实现基本相同,在此不再赘述。中央缓冲器的这一部分细节可以参考ddr3、ddr4、ddr5或其他类似存储器标准中使用的寄存时钟驱动器,并且这些寄存时钟驱动器与对应的数据缓冲器配合使用。例如,澜起科技提供的m88ddr4db01和m88ddr4rcd01芯片或其他中央缓冲器(或寄存时钟驱动器)芯片都使用了这种访问机制。关于这些芯片的技术信息,可以参考其产品技术手册,这些产品技术手册的全部内容通过引用方式并入本技术。
47.中央缓冲器还包括安全更新接口,其用于耦接安全更新控制器。在一些实施例中,安全更新接口110可以被实现为pcie接口;在另一些实施例中,安全更新接口110也可以被实现为其他类型的接口,例如串行接口(例如spi接口)。可以理解,本技术并不限制安全更新接口110的具体实现方式。
48.中央缓冲器还包括更新控制接口,其用于耦接至数据缓冲器。如图2所示,该更新控制接口可以耦接至9个分别的更新控制通道sctrl0、sctrl1

sctrl8,以与9个分别的数据缓冲器的子模块相互交互。取决于数据缓冲器子模块数量的不同,更新控制接口所耦接的更新控制通道的数量可以变化。由于这些更新控制通道是存储器系统的内部通道,因此可以采用各种现有的接口或者重新定义/设计的新型接口和协议来实现更新控制通道。
49.访问管理模块与安全管理模块是中央缓冲器中用于控制存储模块的数据访问的控制模块。具体地址,访问管理模块可以基于接收自主控制器的数据访问请求来进行控制数据访问,这与现有中央缓冲器的具体实现方式相同。安全管理模块可以存储安全访问规则,其可以配合访问管理模块来确定是否需要限制对存储模块中的安全地址空间的访问。此外,安全管理模块还与访问管理模块配合,实现对安全地址空间中存储的数据的安全更新。具体地,当经由安全更新接口接收到安全更新命令以及待更新数据后,安全管理模块进一步地经由更新控制接口将接收到的待更新数据转发至对应的数据缓冲器。在一些实施例中,安全管理模块还可以通过更新控制接口向对应的数据缓冲器下发命令,指示其将安全更新命令中的目标地址中存储的原始数据从存储模块读取到数据缓冲器中。
50.在一些实施例中,安全管理模块还根据目标地址中的数据更新情况,改变其中存储的安全访问规则的安全访问权限,例如在数据更新期间保持与原始数据匹配的旧的安全访问权限有效,而在数据更新完成后启用与更新数据匹配的新的安全访问权限。关于安全管理模块以及中央缓冲器的更多功能,可以参考图1所示的存储器系统的细节,在此不再赘述。
51.图3示出了图1所示的存储器系统中数据缓冲器一个子模块的示例。可以看出,相
比现有的数据缓冲器中包括数据缓冲路径(其主数据通道侧通过ddq接口耦接到主控制器,而从数据通道侧通过mdq接口耦接到存储模块)以及缓冲控制接口bcom(缓冲控制接口bcom与其他模块或路径的耦接关系未在图中示出,但是其可以耦接到数据缓冲路径),图3所示的数据缓冲器增加了相互耦接的数据更新缓存和数据更新控制模块,其均耦接到更新控制接口以及数据缓冲路径,以在中央缓冲器指示更新安全地址空间中的某些目标地址的数据时存储原始数据和待更新数据。其中,数据更新缓存用于存储数据;而数据更新控制模块用于响应中央缓冲器提供的数据更新相关的命令,来控制数据更新缓存中的数据存储。
52.可以理解,数据更新控制模块可以在启用状态和禁用状态之间切换:在数据更新缓存经由从数据通道侧向存储模块的目标地址提供待更新数据以实现目标地址的数据更新过程中,数据更新控制模块可以被设置为启用,以使用数据更新缓存中存储的原始数据来响应主控制器对目标地址的访问;而在数据更新完成后,数据更新控制模块可以被设置为禁用,使得数据缓冲器恢复正常的数据缓冲运行模式。
53.可以理解,图2和图3所示的中央缓冲器与数据缓冲器的结构、连接、模块和功能划分仅仅是示意性的。本领域技术人员可以根据图1所示的存储器系统中数据安全更新过程的需要调整中央缓冲器与数据缓冲器的设计。
54.另外需要说明的是,通常而言,数据缓冲器的各个子模块通过各自的从数据通道与对应的存储模块进行数据交互,因此主控制器可以通过不同的数据缓冲器子模块对不同的存储模块进行并行访问。类似地,由于安全更新控制器也是通过分别的更新控制通道耦接至不同的数据缓冲器子模块,因此安全更新控制器可以同时经由不同的数据缓冲器子模块对不同的存储模块进行数据更新。在另一些实施例中,主控制器与安全更新控制器也可以并行运行,也即主控制器经由中央缓冲器指示某一个或一些数据缓冲器子模块读取或写入数据;而同时安全更新控制器也可经由中央缓冲器指示其他的一个或多个数据缓冲器子模块向对应的存储模块更新数据;但是中央缓冲器可以根据预设规则来确认如何响应主控制器与安全更新控制器的请求,以及按何种顺序来响应这两者发出的请求。
55.图4示出了根据本技术一个实施例的数据更新方法。在一些实施例中,该数据更新方法可以应用于图1至图3所示的存储器系统。接下来,结合图1和图4对数据更新方法进行说明。
56.在步骤402,安全更新控制器160可以向经由安全更新接口110与其耦接的中央缓冲器104发送安全更新命令与待更新数据,以及可选地,发送与待更新数据相关联的安全访问权限。其中,安全更新命令用于指示待更新数据将被写入的存储模块102中的目标地址。在一些实施例中,目标地址是存储模块102中访问受限的安全地址空间。换言之,安全更新命令仅针对存储模块102中受到保护的安全地址空间,而对于存储模块102中未受保护的存储空间,可以由主控制器150基于正常的数据访问命令(例如数据写入命令)来更新其中存储的数据。优选地,目标地址可以包括多个存储地址,从而待更新数据被同时写入到这些存储地址中,以批量地进行数据更新。在另一些实施例中,存储模块102中的所有存储空间,无论其是否是访问受限的空间,均可以由安全更新命令来控制更新。
57.接着,在步骤404,中央缓冲器104接收并保存待更新数据,以及可选地接收并保存安全访问权限。之后,中央缓冲器104可以通过安全更新接口110向安全更新控制器160发送通知,以通知待更新数据等信息已被接收。在一些实施例中,中央缓冲器104也可以不向安
全更新控制器160发送该通知。在一些实施例中,待更新数据可以是预加密的数据。中央缓冲器104可以具有对应的解密算法,以对接收自安全更新控制器的待更新数据进行解密。使用预加密的机制可以进一步提高整个存储器系统的安全性。
58.在步骤406,中央缓冲器104经由更新控制通道112向数据缓冲器106发送待更新数据。数据缓冲器106接收待更新数据并将其存储在数据更新缓存114中。之后,数据缓冲器106可以向中央缓冲器104发送通知,以通知其待更新数据已被存储。
59.在步骤408,在一些实施例中,中央缓冲器104可以生成数据读取命令,并且经由缓冲控制通道bcom向数据缓冲器106发送命令,以指示其执行数据读取操作,从存储模块102的目标地址读取其中当前存储的原始数据。该原始数据可以经由从数据通道mdq直接发送到数据缓冲器106。数据缓冲器106在接收到该原始数据后,可以将其存储在数据更新缓存114中,并且随后通知中央缓冲器104其已完成原始数据的缓存。可以理解,也可以通过其他方式将原始数据发送给数据缓冲器106,例如,可以经由安全更新控制器160与中央缓冲器104这一路径发送原始数据,该原始数据可以是由安全更新控制器160预先从存储模块102中读取出的数据。换言之,原始数据被间接地从存储模块102发送至数据缓冲器106并存储于其中。
60.可以理解,步骤406和步骤408是中央缓冲器104控制数据缓冲器106分别获取原始数据与待更新数据的操作。这两种操作相对独立,因此其顺序可以调整,例如先执行步骤406而后执行步骤408,或者先执行步骤408而后执行步骤406,或者也可以并行执行。
61.之后,在步骤410,在被通知原始数据与待更新数据均已存储在数据缓冲器106之后,中央缓冲器104经由更新控制通道112指示数据缓冲器106经由从数据通道mdq向存储模块102的目标地址写入待更新数据。此时,数据缓冲器106中仍保持将原始数据存储于数据更新缓存114中。
62.正如前述,如果在步骤410执行过程中,主控制器150向中央缓冲器104发出指向存储模块102中目标地址的数据访问请求,例如数据读取请求,那么中央缓冲器104可以按照正常的处理方式响应该数据访问请求,通知数据缓冲器106进行数据读取操作。然而,数据缓冲器106可以以不同于正常的处理方式执行数据读取操作,其无需经由从数据通道mdq与存储模块102交互,而是将缓存的原始数据中对应的一部分或全部数据经由主数据通道ddq发送给中主控制器150。因此,对于主控制器150来说,本发明的存储器系统的对于正常数据读取请求的响应与现有存储器系统的响应并无区别,这提高了系统的兼容性。可以理解,此时中央缓冲器104可以用于原始数据对应的安全访问权限响应主控制器150的访问。
63.在一些实施例中,在步骤410之后,可选地,中央缓冲器104可以基于其接收到的安全访问权限更新安全访问规则,以使其与目标地址中更新的数据相匹配。
64.回到图4,在步骤410完成之后,也即待更新数据已被写入到存储模块102中之后,在步骤412,数据缓冲器可以切换回正常的运行模式,并且删除数据更新缓存中存储的原始数据和待更新数据,同时中央缓冲器104通知安全更新控制器160数据更新完成。可选地,安全更新控制器160可以进一步通知主控制器150数据更新完成。
65.可以看出,本技术实施例的数据更新方法在应用于存储器系统时,是相对独立于主控制器访问存储器系统的另一处理机制,并且主控制器不具有直接执行该数据更新方法来对存储系统的安全地址空间的数据进行更新的权限。这解决了现有存储器系统的数据更
新过程中仅能够由主控制器更新安全地址空间而产生的安全性问题。
66.应当注意,尽管在上文详细描述中提及了用于存储器系统的数据更新方法和存储器控制器的若干模块或子模块、步骤或子步骤,但是这种划分仅仅是示例性的而非强制性的。实际上,根据本技术的实施例,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
67.本技术领域的一般技术人员可以通过研究说明书、公开的内容及附图和所附的权利要求书,理解和实施对披露的实施方式的其他改变。在权利要求中,措词“包括”不排除其他的元素和步骤,并且措辞“一”、“一个”不排除复数。在本技术的实际应用中,一个零件可能执行权利要求中所引用的多个技术特征的功能。权利要求中的任何附图标记不应理解为对范围的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1