CN112579481A - 数据处理方法、数据处理装置和计算装置 - Google Patents
数据处理方法、数据处理装置和计算装置 Download PDFInfo
- Publication number
- CN112579481A CN112579481A CN202011427466.1A CN202011427466A CN112579481A CN 112579481 A CN112579481 A CN 112579481A CN 202011427466 A CN202011427466 A CN 202011427466A CN 112579481 A CN112579481 A CN 112579481A
- Authority
- CN
- China
- Prior art keywords
- value
- flag bit
- data
- buffer memory
- object data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一种数据处理方法、数据处理装置和计算装置。该数据处理方法包括:接收将对象缓存行替换出缓冲存储器的替换指令,对象缓存行包括对象数据;基于对象缓存行生成数据包,数据包包括对象数据以及第一标注位;至少基于第一标注位的值,执行将对象数据写入并列缓冲存储器中的操作以及将对象数据写入非易失性主存储器中的操作的至少一项。该数据处理方法可以在提升数据安全性的情况下优化性能。
Description
技术领域
本公开的实施例涉及一种数据处理方法、数据处理装置和计算装置。
背景技术
由于CPU核运行频率远远高于主存储器的运行频率,因此,从主存储器直接获取数据需要等待数十甚至上百个时钟周期,这往往会造成CPU核由于无法继续运行相关指令而空转,而造成了CPU核的性能损失。
为了降低CPU核的性能损失,可以采用多级缓存架构。例如,可以在CPU核和主存储器之间设置具有高访问速度缓的冲存储器(Cache,具有多个缓存行),并使用缓冲存储器来保存最近被访问或循环使用的数据的部分。如果CPU需要使用该部分数据时可从缓冲存储器中直接获取,这样减少了CPU的等待时间,提高了CPU的效率。
在CPU核读取数据时,如果CPU核输出的访问请求的目标数据不在缓存存储器(例如,一级缓存存储器)中,也即,该缓存存储器出现缓存不命中,则需要从下一级的存储器件(例如,二级缓存存储器)获取上述访问请求的目标数据,并将获取的访问请求的目标数据写入至发生缓存不命中的缓存存储器中。
然而,在缓存存储器没有可用空间的情况下,在将上述访问请求的目标数据写入至发生缓存不命中的缓存存储器之前,需要将发生缓存不命中的缓存存储器中的一个缓存行移出该发生缓存不命中的缓存存储器,上述被移出的缓存行被称为无辜者(victim);上述从缓存存储器中移出一个缓存行,以为新的数据腾出空间的过程被称为缓存替换。
发明内容
本公开的至少一个实施例提供了一种数据处理方法,其包括:接收将对象缓存行替换出缓冲存储器的替换指令,其中,所述对象缓存行包括对象数据;基于所述对象缓存行生成数据包,其中,所述数据包包括所述对象数据以及第一标注位;以及至少基于所述第一标注位的值,执行将所述对象数据写入并列缓冲存储器中的操作以及将所述对象数据写入非易失性主存储器中的操作的至少一项。
例如,在所述数据处理方法的至少一个示例中,所述第一标标注位的值为第一值或者不同于所述第一值的第二值。所述至少基于所述第一标注位的值执行将所述对象数据写入并列缓冲存储器中的操作以及将所述对象数据写入非易失性主存储器中的操作的至少一项,包括:响应于所述第一标注位的值为所述第一值,执行将所述对象数据写入所述并列缓冲存储器中的操作,以及响应于所述第一标注位的值为所述第二值,不执行将所述对象数据写入所述并列缓冲存储器中的操作。
例如,在所述数据处理方法的至少一个示例中,所述数据包还包括第二标志位;所述第二标志位的值选自所述第一值和所述第二值。所述至少基于所述第一标注位的值执行将所述对象数据写入并列缓冲存储器中的操作以及将所述对象数据写入非易失性主存储器中的操作的至少一项,还包括:响应于所述第二标志位的值为所述第一值,执行将所述对象数据写入所述非易失性主存储器中的操作,以及响应于所述第二标志位的值为所述第二值,不执行将所述对象数据写入所述非易失性主存储器中的操作。
例如,在所述数据处理方法的至少一个示例中,所述第一标注位的值以及所述第二标志位的值不同时等于所述第二值。
例如,在所述数据处理方法的至少一个示例中,所述对象缓存行还包括第三标志位以及第四标志位。所述第三标志位被配置为用于标识,在所述对象缓存行被替换出所述缓存存储器时,是否希望将所述对象缓冲行中的数据写入所述并列缓冲存储器中;所述第四标志位被配置为用于标识,在所述对象缓存行被替换出所述缓存存储器时,是否希望将所述对象缓冲行中的数据写入所述非易失性主存储器中;以及所述数据处理方法还包括:接收针对所述对象缓存行的标记指令,以及响应于所述对象缓存行载入数据,基于所述标记指令设置所述第三标志位的值以及所述第四标志位的值。
例如,在所述数据处理方法的至少一个示例中,所述基于所述标记指令设置所述第三标志位的值以及所述第四标志位的值,包括:使得所述第三标志位的值和所述第四标志位的值选自所述第一值和所述第二值,并使得所述第三标志位的值以及所述第四标志位的值不同时等于所述第二值。
例如,在所述数据处理方法的至少一个示例中,所述基于所述对象缓存行生成数据包,包括:基于所述对象数据、所述第三标注位的值和所述第四标注位的值生成所述数据包,并使得所述第一标注位的值和所述第二标志位的值分别与所述第三标注位的值和所述第四标注位的值相匹配。
例如,在所述数据处理方法的至少一个示例中,所述使得所述第一标注位的值和所述第二标志位的值分别与所述第三标注位的值和所述第四标注位的值相匹配,包括:使得所述第一标注位的值等于所述第三标志位的值,并使得所述第二标注位的值等于所述第四标志位的值。
例如,在所述数据处理方法的至少一个示例中,所述至少基于所述第一标注位的值执行将所述对象数据写入并列缓冲存储器中的操作以及将所述对象数据写入非易失性主存储器中的操作的至少一项,还包括:响应于所述第一标注位的值为所述第一值,不执行将所述对象数据写入所述非易失性主存储器中的操作;响应于所述第一标注位的值为所述第二值,执行将所述对象数据写入所述并列缓冲存储器中的操作。
本公开的至少一个实施例还提供了一种数据处理装置,其包括:控制器、缓冲存储器、并列缓冲存储器以及与非易失性主存储器耦接的接口。所述控制器被配置为:接收将对象缓存行替换出缓冲存储器的替换指令,其中,所述对象缓存行包括对象数据;基于所述对象缓存行生成数据包,其中,所述数据包包括所述对象数据以及第一标注位;以及至少基于所述第一标注位的值,执行将所述对象数据写入所述并列缓冲存储器中的操作以及将所述对象数据传递至所述接口的操作的至少一项,其中,所述执行将所述对象数据传递至所述接口的操作允许所述对象数据经由所述接口被写入至所述非易失性主存储器中。
例如,在所述数据处理装置的至少一个示例中,所述第一标标注位的值为第一值或者不同于所述第一值的第二值。所述至少基于所述第一标注位的值执行将所述对象数据写入所述并列缓冲存储器中的操作以及将所述对象数据传递至所述接口的操作的至少一项,包括:响应于所述第一标注位的值为所述第一值,执行将所述对象数据写入所述并列缓冲存储器中的操作,以及响应于所述第一标注位的值为所述第二值,不执行将所述对象数据写入所述并列缓冲存储器中的操作。
例如,在所述数据处理装置的至少一个示例中,所述数据包还包括第二标志位;所述第二标志位的值选自所述第一值和所述第二值。所述至少基于所述第一标注位的值执行将所述对象数据写入并列缓冲存储器中的操作以及将所述对象数据传递至所述接口的操作的至少一项,还包括:响应于所述第二标志位的值为所述第一值,执行将所述对象数据传递至所述接口的操作,以及响应于所述第二标志位的值为所述第二值,不执行将所述对象数据传递至所述接口的操作。
例如,在所述数据处理装置的至少一个示例中,所述第一标注位的值以及所述第二标志位的值不同时等于所述第二值。
例如,在所述数据处理装置的至少一个示例中,所述对象缓存行还包括第三标志位以及第四标志位;所述第三标志位被配置为用于标识,在所述对象缓存行被替换出所述缓存存储器时,是否希望将所述对象缓冲行中的数据写入所述并列缓冲存储器中;所述第四标志位被配置为用于标识,在所述对象缓存行被替换出所述缓存存储器时,是否希望将所述对象缓冲行中的数据传递至所述接口;以及所述控制器还被配置为:接收针对所述对象缓存行的标记指令,以及响应于所述对象缓存行载入数据,基于所述标记指令设置所述第三标志位的值以及所述第四标志位的值。
例如,在所述数据处理装置的至少一个示例中,所述基于所述标记指令设置所述第三标志位的值以及所述第四标志位的值,包括:使得所述第三标志位的值和所述第四标志位的值选自所述第一值和所述第二值,并使得所述第三标志位的值以及所述第四标志位的值不同时等于所述第二值。
本公开的至少一个实施例还提供了一种计算装置,其包括本公开的至少一个数据处理装置以及所述非易失性主存储器。所述非易失性主存储器通过所述接口与所述数据处理装置耦接。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1是本公开的至少一个实施例提供的数据处理方法的示例性流程图;
图2是适用于采用图1是本公开的至少一个实施例提供的数据处理方法的计算装置的示例的示例性框图;
图3是本公开的至少一个实施例提供的对被替换出缓冲存储器的对象数据的第一种处理方式的示意图;
图4是本公开的至少一个实施例提供的对被替换出缓冲存储器的对象数据的第二种处理方式的示意图;
图5是本公开的至少一个实施例提供的对被替换出缓冲存储器的对象数据的第三种处理方式的示意图;
图6是本公开的至少一个实施例提供的数据处理装置的示例性框图;
图7是图6所示的数据处理装置的另一个示意图;以及
图8是本公开的至少一个实施例提供的计算装置的示例性框图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另作定义,此处使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
本公开的至少一个实施例提供了一种数据处理方法、数据处理装置和计算装置。该数据处理方法包括:接收将对象缓存行替换出缓冲存储器的替换指令,对象缓存行包括对象数据;基于对象缓存行生成数据包,数据包包括对象数据以及第一标注位;至少基于第一标注位的值,执行将对象数据写入并列缓冲存储器中的操作以及将对象数据写入非易失性主存储器中的操作的至少一项。
例如,该数据处理方法可以根据软件层的需求将在缓存替换中被替换出缓冲存储器的缓存行的数据写入并列缓冲存储器和非易失性主存储器中的至少一个,由此可以在提升数据安全性的情况下优化性能。
下面通过几个示例和实施例对根据本公开的至少一个实施例提供的数据处理方法进行非限制性的说明,如下面所描述的,在不相互抵触的情况下这些具体示例和实施例中不同特征可以相互组合,从而得到新的示例和实施例,这些新的示例和实施例也都属于本公开保护的范围。
图1是本公开的至少一个实施例提供的数据处理方法的示例性流程图。如图1所示,该数据处理方法包括以下的步骤S110-步骤S130。
步骤S110:接收将对象缓存行替换出缓冲存储器的替换指令。对象缓存行包括对象数据。
步骤S120:基于对象缓存行生成数据包。数据包包括对象数据以及第一标注位。
步骤S130:至少基于第一标注位的值,执行将对象数据写入并列缓冲存储器中的操作以及将对象数据写入非易失性主存储器中的操作的至少一项。
例如,步骤S110-步骤S130按照步骤S110、步骤S120和步骤S130的顺序顺次被执行。
例如,在第一个示例中,在步骤S130中,执行将对象数据写入并列缓冲存储器中的操作以及将对象数据写入非易失性主存储器中的操作的至少一项,包括以下三种情况。
(1)执行将对象数据写入并列缓冲存储器中的操作,以及执行将对象数据写入非易失性主存储器中的操作。
(2)执行将对象数据写入并列缓冲存储器中的操作,但不执行将对象数据写入非易失性主存储器中的操作。
(3)不执行将对象数据写入并列缓冲存储器中的操作,但执行将对象数据写入非易失性主存储器中的操作。
例如,缓冲存储器为设置在CPU核和非易失性主存储器之间的专用于该CPU核的私有缓冲存储器;并列缓冲存储器为与上述缓冲存储器并列的共享缓冲存储器。下面结合图2进行示例性说明。图2是适用于采用图1是本公开的至少一个实施例提供的数据处理方法的计算装置的示例的示例性框图。
例如,如图2所示,计算装置可以包括多个CPU核,多个CPU核的每个对应于一组缓冲存储器,每组缓冲存储器仅能被对应于该组的缓冲存储器的CPU核访问。例如,每组缓冲存储器包括一级缓冲存储器和二级缓冲存储器,为清楚起见,图2仅示出一组缓冲存储器中的一个缓冲存储器;图2中的每个缓冲存储器为对应该缓冲存储器的CPU核的私有缓冲存储器。
例如,如图2所示,计算装置还可以包括并列缓冲存储器。例如,如图2所示,并列缓冲存储器可以被多个CPU核中的第一数目个CPU核访问,例如,第一数目为大于1小于等于多个CPU核的数目的整数,也即,图2所示的并列缓冲存储器为共享缓冲存储器。
需要说明的是,本公开的至少一个实施例提供的数据处理方法不限于应用于图2所示的计算装置,还可以应用于其它适用的计算装置。例如,尽管图2示出的计算装置具有多个CPU核,且并列缓冲存储器为用于多个CPU核的共享缓冲存储器,但本公开的至少一个实施例不限于此。在一些示例中,并列缓冲存储器也可以为与设置在CPU核和非易失性主存储器之间的缓冲存储器并列的私有缓冲存储器;例如,计算装置具有多个CPU核,多个CPU核的每个对应于一个并列缓冲存储器;又例如,计算装置可以单个CPU核,且并列缓冲存储器为仅用于上述单个CPU核的私有缓冲存储器。
例如,缓冲存储器与CPU核之间的数据交换以“字”为单位;缓冲存储器与非易失性主存储器之间的数据交换以“块”或“行”为单位;一个“块”例如包括多个定长的字。
例如,缓冲存储器可以是一级缓冲存储器,但本公开的至少一个实施例不限于此。例如,缓冲存储器也可以是二级缓冲存储器或者末级缓冲存储器。例如,缓冲存储器包括多个对象缓存行,缓存行的尺寸例如为64字节。
例如,并列缓冲存储器可用于暂时存储被替换出缓冲存储器的对象数据。例如,在CPU核读取目标数据时,不仅查看目标数据是否在缓冲存储器,也查看目标数据是否在并列缓冲存储器中。
例如,非易失性主存储器是不涉及I/O设备的非易失性内存。例如,相比于使用动态随机存取存储器(Dynamic Random Access Memory,DRAM)实现主存储器,使用非易失性存储器实现主存储器使得包括该非易失性主存储器的计算装置具有提升数据安全性的潜力,这是因为,对于非易失性主存储器,当电流关掉(例如,意外断电)后,非易失性主存储器中存储的数据不会消失。
例如,非易失性主存储器可以是非易失双列直插式存储模块(Non-VolatileDual-Inline-Memory-Modules,NV DIMM),但本公开的至少一个实施例不限于此。例如,非易失性主存储器还可以实现为相变存储器、自旋扭矩传输存储器、电阻式存储器或者其它适用的存储器。
例如,通过执行将对象数据写入并列缓冲存储器中的操作,可以使得被替换出缓冲存储器的对象数据暂时存储在并列缓冲存储器中,此种情况下,不仅可以避免将对象数据写回非易失性主存储器耗用的资源,还可以在CPU核读取对象数据时,更快的获得对象数据,由此可以提高后续与该对象数据相关的操作的性能。
例如,通过执行将对象数据写入非易失性主存储器中的操作,可以使得被替换出缓冲存储器的对象数据写回非易失性主存储器中,由此不仅可以保证非易失性主存储器得到更新,提升数据安全性,还可以避免短期内可能不使用的数据占用并列缓冲存储器的空间,也即,可以使得并列缓冲存储器存储更多的短期内可能被访问的数据。
例如,本公开的发明人在研究中注意到,在数据包不包括第一标注位的情况下,在对象数据被替换出缓冲存储器后,对象数据将统一被写入并列缓冲存储器,或者统一被写回非易失性主存储器;对于将对象数据将统一被写入并列缓冲存储器的示例,不仅数据安全性较低,而且还存在短期内不使用的数据占用并列缓冲存储器的空间的问题;对于将对象数据将统一被写回非易失性主存储器的示例,在将对象数据写回非易失性主存储器时可能耗用较多的资源,并且降低了获取对象数据的速度。
例如,在本公开的至少一个实施例提供的数据处理方法中,通过至少基于第一标注位的值,执行将对象数据写入并列缓冲存储器中的操作以及将对象数据写入非易失性主存储器中的操作的至少一项,可以在对象数据被替换出缓冲存储器后,根据软件层(例如,应用程序)在访问速度和数据安全性方面对对象数据的需求将对象数据写入并列缓冲存储器和非易失性主存储器中的至少一个,由此可以在提升整体数据安全性的情况下优化性能。
例如,在对象数据的数据安全性影响较大时(例如,需要通过长时间运算操作才能更新的对象数据),软件层(例如,应用程序)希望执行将对象数据写入非易失性主存储器中的操作,由此可以提升数据安全性,避免对象数据丢失导致的不利影响(例如,降低意外断电导致的再次耗时计算)。
例如,对于短期内可能会使用的对象数据(例如,高频使用的对象数据),软件层(例如,应用程序)希望执行将对象数据写入并列缓冲存储器中的操作,由此可以缩短获取对象数据的时间,提升性能。
例如,对于短期内可能会使用的且丢失后会导致较大不利影响的对象数据(对于通过长时间运算操作才能获得、且获得后被高频使用的对象数据),软件层(例如,应用程序)希望执行将对象数据写入并列缓冲存储器中的操作以及将对象数据写入非易失性主存储器中的操作,由此可以在提升数据安全性的情况下,提升性能。
例如,在第一个示例中,数据包还包括第二标志位。例如,在步骤S130中,至少基于第一标注位的值,执行将对象数据写入并列缓冲存储器中的操作以及将对象数据写入非易失性主存储器中的操作的至少一项,包括:基于第一标注位的值和第二标注位的值,执行将对象数据写入并列缓冲存储器中的操作以及将对象数据写入非易失性主存储器中的操作的至少一项。
例如,第一标标注位的值为第一值或者不同于第一值的第二值。例如,第一标注位的值与软件层(例如,应用程序)在访问速度方面对对象数据的需求相关。例如,对于短期内可能会使用的对象数据(例如,高频使用的对象数据),第一标标注位的值为于第一值;对于短期内可能不会使用的对象数据,第一标标注位的值为于第二值。
例如,第二标志位的值选自第一值和第二值。例如,第二标注位的值与软件层(例如,应用程序)在数据安全性(数据完整性)方面对对象数据的需求相关。例如,在对象数据的数据安全性影响较大时(例如,需要通过长时间运算操作才能更新的对象数据),第二标志位的值可以为第一值;在对象数据的数据安全性影响较小时(例如,易于再次获得的对象数据),第二标志位的值可以为第二值。
例如,第一标注位的值以及第二标志位的值不同时等于第二值,由以可以使得在对象数据在被替换出缓冲存储器且未写入并列缓冲存储器的情况下,非易失性主存储器的对应数据能够得到更新。
例如,在第一个示例中,基于第一标注位的值和第二标注位的值,执行将对象数据写入并列缓冲存储器中的操作以及将对象数据写入非易失性主存储器中的操作的至少一项,包括以下三种情况。
(1)响应于第一标注位的值和第二标志位的值均为第一值,执行将对象数据写入并列缓冲存储器中的操作以及执行将对象数据写入非易失性主存储器中的操作。
(2)响应于第一标注位的值和第二标志位的值分别为第一值和第二值,执行将对象数据写入并列缓冲存储器中的操作,但不执行将对象数据写入非易失性主存储器中的操作。
(3)响应于第一标注位的值和第二标志位的值分别为第二值和第一值,不执行将对象数据写入并列缓冲存储器中的操作,但执行将对象数据写入非易失性主存储器中的操作。
图3是本公开的至少一个实施例提供的对被替换出缓冲存储器的对象数据的第一种处理方式的示意图;图4是本公开的至少一个实施例提供的对被替换出缓冲存储器的对象数据的第二种处理方式的示意图;图5是本公开的至少一个实施例提供的对被替换出缓冲存储器的对象数据的第三种处理方式的示意图。
例如,如图3-图5所示,该数据处理方法还包括:在执行步骤S120之后(也即,基于对象缓存行生成数据包之后),执行步骤S130之前,将数据包提供至主节点(home node);对应地,步骤S130包括:主节点基于第一标注位的值和第二标注位的值,执行将对象数据写入并列缓冲存储器中的操作以及将对象数据写入非易失性主存储器中的操作的至少一项。
例如,如图3所示,在第一标注位的值和第二标志位的值均为第一值的情况下,响应于第一标注位的值为第一值,主节点将对象数据写入并列缓冲存储器中;响应于第二标志位的值为第一值,主节点将对象数据写入非易失性主存储器中。
例如,如图4所示,在第一标注位的值和第二标志位的值分别为第一值和第二值的情况下,响应于第一标注位的值为第一值,主节点将对象数据写入并列缓冲存储器中;响应于第二标志位的值为第二值,主节点不将对象数据写入非易失性主存储器中。
例如,如图5所示,在第一标注位的值和第二标志位的值分别为第二值和第一值的情况下,响应于第一标注位的值为第二值,主节点不将对象数据写入并列缓冲存储器中;响应于第二标志位的值为第一值,主节点将对象数据写入非易失性主存储器中。
例如,主节点包括逻辑控制单元。例如,该逻辑控制单元用于根据第一标注位的值判断是否将对象数据写入并列缓冲存储器中,并根据第二标注位的值判断是否将对象数据写入非易失性主存储器中。例如,主节点可以实现为单元电路。
例如,对象缓存行还包括第三标志位以及第四标志位;第三标志位被配置为用于标识,在对象缓存行被替换出缓存存储器时,是否希望将对象缓冲行中的数据写入并列缓冲存储器中;第四标志位被配置为用于标识,在对象缓存行被替换出缓存存储器时,是否希望将对象缓冲行中的数据写入非易失性主存储器中。例如,第三标志位以及第四标志位位于对象缓存行的标志位扩展标志位。
例如,该数据处理方法包括以下的步骤S140和步骤S150。
步骤S140:接收针对对象缓存行的标记指令。
步骤S150:响应于对象缓存行载入数据,基于标记指令设置第三标志位的值以及第四标志位的值。
例如,步骤S140和步骤S150按照步骤S140和步骤S150的顺序顺次被执行,且在执行步骤S110-步骤S130被执行。
例如,在步骤S150中,“响应于对象缓存行载入数据”是指在数据载入对象缓存行时或者在数据载入对象缓存行的随后。
例如,在步骤S150中,基于标记指令设置第三标志位的值以及第四标志位的值,包括:使得第三标志位的值和第四标志位的值选自第一值和第二值,并使得第三标志位的值以及第四标志位的值不同时等于第二值。
例如,在步骤S150中,可以根据应用程序在访问速度方面对对象数据的需求设定对象数据所在的缓存行的第三标志位的值,并根据应用程序在数据安全性方面对对象数据的需求设定对象数据所在的缓存行的第四标志位的值。
例如,在步骤S150中,基于标记指令设置第三标志位的值以及第四标志位的值,包括:在对象缓存行被替换出缓存存储器时,如果希望将对象缓冲行中的数据写入并列缓冲存储器以及非易失性主存储器中,则将第三标志位的值和第四标志位的值均设置为第一值;如果希望将对象缓冲行中的数据写入并列缓冲存储器但不写入非易失性主存储器中,则将第三标志位的值和第四标志位的值分别设置为第一值和第二值;如果希望将对象缓冲行中的数据写入非易失性主存储器但不写入并列缓冲存储器中,则将第三标志位的值和第四标志位的值分别设置为第二值和第一值。
例如,上述标记指令是指令集包括的多条指令的一条。例如,标记指令可以是汇编指令。例如,应用程序的开发人员可以直接调用该条标记指令(汇编指令)的函数,并根据应用需求(例如,应用程序在数据安全性以及数据访问速度方面对对象数据的需求)确定对被替换出缓冲存储器的对象数据的处理策略(也即,应用程序可以使用该指令进行显式标记操作);此种情况下,在应用程序运行所需的对象数据载入对象缓存行时或者载入对象缓存行的随后,通过该条标记指令(汇编指令)设置第三标志位的值以及第四标志位的值,由此可以标记,在该对象数据所在的对象缓存行在被替换出缓冲存储器的情况下,是否希望该对象数据写入并列缓冲存储器中以及是否希望将对象数据写入非易失性主存储器中。
例如,在步骤S120中,基于对象缓存行生成数据包(包括被替换出缓冲存储器的数据包),包括:响应于对象数据为脏(dirty)数据,基于对象缓存行生成数据包。例如,“对象数据为脏数据”是指对象数据为更新后的数据,但该更新后的数据并未写回至非易失性主存储器中。例如,将对象数据写入至非易失性主存储器中的地址为对象数据对应的更新前的数据在非易失性主存储器中的地址。
例如,在步骤S120中,基于对象缓存行生成数据包,包括:基于对象数据、第三标注位的值和第四标注位的值生成数据包,并使得第一标注位的值和第二标志位的值分别与第三标注位的值和第四标注位的值相匹配。
例如,基于对象数据、第三标注位的值和第四标注位的值生成数据包,包括:使得数据包包括对象数据,基于第一标注位的值设置第三标志位的值,并基于第二标注位的值设置第四标志位的值。
例如,使得第一标注位的值和第二标志位的值分别与第三标注位的值和第四标注位的值相匹配,包括:使得第一标注位的值等于第三标志位的值,并使得第二标注位的值等于第四标志位的值。
例如,通过使得第一标志位的值、第二标志位的值、第三标志位的值以及第四标志位的值均选自第一值和第二值,且使得第一标注位的值等于第三标志位的值以及第二标注位的值等于第四标志位的值,可以简化判断逻辑,但本公开的至少一个实施例不限于此。
在一些示例中,第三标志位的值以及第四标志位的值均选自第三值和第四值;“第三标志位的值为第三值”表示在该对象缓存行被替换出缓冲存储器的情况下,希望该对象数据写入并列缓冲存储器中;“第三标志位的值为第四值”表示在该对象缓存行被替换出缓冲存储器的情况下,不希望该对象数据写入并列缓冲存储器中;“第四标志位的值为第三值”表示在该对象缓存行被替换出缓冲存储器的情况下,希望该对象数据写入非易失性主存储器中;“第四标志位的值为第四值”表示在该对象缓存行被替换出缓冲存储器的情况下,不希望该对象数据写入非易失性主存储器中。例如,第三值和第四值分别等于第二值和第一值;此种情况下,基于第一标注位的值设置第三标志位的值,包括:使得第一标注位的值选自第三值和第四值中与第三标志位的值不相等的值(例如,在第三标志位的值为第三值,则使得第一标注位的值为第四值);基于第二标注位的值设置第四标志位的值,包括:使得第二标注位的值选自第三值和第四值中与第四标志位的值不相等的值。
需要说明的是,尽管以上示例以对象缓存行和数据包均有两个标注位进行示例性说明,但本公开的至少一个实施例不限于此。例如,对象缓存行和数据包还可以均有一个标注位,此种情况下,可以根据软件层的需求将在缓存替换中被替换出缓冲存储器的缓存行的数据写入并列缓冲存储器和非易失性主存储器中的一个,由此也可以在提升数据安全性的情况下优化性能,下面结合第二个示例进行说明。
例如,在第二个示例中,在步骤S130中,执行将对象数据写入并列缓冲存储器中的操作或者执行将对象数据写入非易失性主存储器中的操作,包括以下的两种情况。
(1)执行将对象数据写入并列缓冲存储器中的操作,但不执行将对象数据写入非易失性主存储器中的操作。
(2)不执行将对象数据写入并列缓冲存储器中的操作,但执行将对象数据写入非易失性主存储器中的操作。
例如,在第二个示例中,在步骤S130中,至少基于第一标注位的值执行将对象数据写入并列缓冲存储器中的操作以及将对象数据写入非易失性主存储器中的操作的至少一项,包括:基于第一标注位的值,执行将对象数据写入并列缓冲存储器中的操作或者执行将对象数据写入非易失性主存储器中的操作。
例如,在第二个示例中,在步骤S130中,响应于第一标注位的值为第一值,执行将对象数据写入并列缓冲存储器中的操作,但不执行将对象数据写入非易失性主存储器中的操作;响应于第一标注位的值为第二值,不执行将对象数据写入并列缓冲存储器中的操作,但执行将对象数据写入非易失性主存储器中的操作。
例如,在第二个示例中,对象缓存行还包括第三标志位;第三标志位被配置为用于标识,在对象缓存行被替换出缓存存储器时,是否希望将对象缓冲行中的数据写入并列缓冲存储器以及是否希望将对象缓冲行中的数据写入非易失性主存储器中。
例如,在第二个示例中,该数据处理方法包括:接收针对对象缓存行的标记指令;响应于对象缓存行载入数据,基于标记指令设置第三标志位的值。例如,可以根据应用程序在访问速度方面以及数据安全性方面对对象数据的需求设定对象数据所在的缓存行的第三标志位的值。
例如,在第二个示例中,基于标记指令设置第三标志位的值,包括:在对象缓存行被替换出缓存存储器时,如果希望将对象缓冲行中的数据写入并列缓冲存储器但不写入非易失性主存储器中,则将第三标志位的值设置为第一值;如果希望将对象缓冲行中的数据写入非易失性主存储器但不写入并列缓冲存储器中,则将第三标志位的值设置为第二值。
例如,在第二个示例中,在步骤S120中,基于对象缓存行生成数据包,包括:响应于对象数据为脏(dirty)数据,基于对象数据和第三标注位的值生成数据包,并使得第一标注位的值与第三标注位的值相匹配。
例如,对象缓存行和数据包均有一个标注位的示例的具体实现方式与对象缓存行和数据包均有两个标注位的示例相似,因此,在此仅阐述两者不同之处,相同或相似之处,不再赘述。
以上所述的方法的各个操作可以通过能够进行相应的功能的任何适当的手段而进行。该手段可以包括各种硬件和/或软件组件和/或模块,包括但不限于硬件的电路、专用集成电路(ASIC)或处理器。
可以利用被设计用于进行在此所述的功能的通用处理器、数字信号处理器(DSP)、ASIC、场可编程门阵列信号(FPGA)或其他可编程逻辑器件(PLD)、离散门或晶体管逻辑、离散的硬件组件或者其任意组合而实现或进行所述的各个例示的逻辑块、模块和电路。通用处理器可以是微处理器,但是作为替换,该处理器可以是任何商业上可获得的处理器、控制器、微控制器或状态机。处理器还可以实现为计算设备的组合,例如DSP和微处理器的组合,多个微处理器、与DSP核协作的一个或多个微处理器或任何其他这样的配置。
结合本公开描述的方法或算法的步骤可以直接嵌入在硬件中、处理器执行的软件模块中或者这两种的组合中。软件模块可以存在于任何形式的有形存储介质中。可以使用的存储介质的一些例子包括随机存取存储器(RAM)、只读存储器(ROM)、快闪存储器、EPROM存储器、EEPROM存储器、寄存器、硬碟、可移动碟、CD-ROM等。存储介质可以耦接到处理器以便该处理器可以从该存储介质读取信息以及向该存储介质写信息。在替换方式中,存储介质可以与处理器是整体的。软件模块可以是单个指令或者许多指令,并且可以分布在几个不同的代码段上、不同的程序之间以及跨过多个存储介质。
所述的功能可以按硬件、软件、固件或其任意组合而实现。如果以软件实现,功能可以作为一个或多个指令存储在切实的计算机可读介质上。存储介质可以是可以由计算机访问的任何可用的切实介质。通过例子而不是限制,这样的计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光碟存储、磁碟存储或其他磁存储器件或者可以用于携带或存储指令或数据结构形式的期望的程序代码并且可以由计算机访问的任何其他切实介质。
本公开的至少一个实施例还提供了一种数据处理装置。图6是本公开的至少一个实施例提供的数据处理装置的示例性框图;图7是图6所示的数据处理装置的另一个示意图。例如,如图6和图7所示,该数据处理装置包括控制器、缓冲存储器、并列缓冲存储器以及与非易失性主存储器耦接的接口101。
例如,该控制器被配置为:接收将对象缓存行替换出缓冲存储器的替换指令,对象缓存行包括对象数据;基于对象缓存行生成数据包,数据包包括对象数据以及第一标注位;至少基于第一标注位的值,执行将对象数据写入并列缓冲存储器中的操作以及将对象数据传递至接口101的操作的至少一项,执行将对象数据传递至接口101的操作允许对象数据经由接口101被写入至非易失性主存储器中。例如,前述的主节点(home node)可以是控制器的一部分。
例如,数据包的第一标标注位的值为第一值或者不同于第一值的第二值。
在第一个示例中,数据包还包括第二标志位;至少基于第一标注位的值执行将对象数据写入并列缓冲存储器中的操作以及将对象数据传递至接口101的操作的至少一项,包括:至少基于第一标注位的值和第二标注位的值,执行将对象数据写入并列缓冲存储器中的操作以及将对象数据传递至接口101的操作的至少一项。
例如,在第一个示例中,第二标志位的值为第一值和第二值之一;第一标注位的值以及第二标志位的值不同时等于第二值。
例如,在第一个示例中,至少基于第一标注位的值执行将对象数据写入并列缓冲存储器中的操作以及将对象数据传递至接口101的操作的至少一项,包括以下三种情况。
(1)响应于第一标注位的值和第二标志位的值均为第一值,执行将对象数据写入并列缓冲存储器中的操作以及执行将对象数据写入并列缓冲存储器中的操作(参见图7)。
(2)响应于第一标注位的值和第二标志位的值分别为第一值和第二值,执行将对象数据写入并列缓冲存储器中的操作,但不执行将对象数据写入并列缓冲存储器中的操作。
(3)响应于第一标注位的值和第二标志位的值分别为第二值和第一值,不执行将对象数据写入并列缓冲存储器中的操作,但执行将对象数据写入并列缓冲存储器中的操作。
例如,对象缓存行还包括第三标志位以及第四标志位;第三标志位被配置为用于标识,在对象缓存行被替换出缓存存储器时,是否希望将对象缓冲行中的数据写入并列缓冲存储器中;第四标志位被配置为用于标识,在对象缓存行被替换出缓存存储器时,是否希望将对象缓冲行中的数据传递至接口101;控制器还被配置为:接收针对对象缓存行的标记指令,以及响应于对象缓存行载入数据,基于标记指令设置第三标志位的值以及第四标志位的值。
例如,基于标记指令设置第三标志位的值以及第四标志位的值,包括:使得第三标志位的值和第四标志位的值选自第一值和第二值,并使得第三标志位的值以及第四标志位的值不同时等于第二值。
在第二个示例中,至少基于第一标注位的值执行将对象数据写入并列缓冲存储器中的操作以及将对象数据传递至接口101的操作的至少一项,包括:基于第一标注位的值,执行将对象数据写入并列缓冲存储器中的操作或者将对象数据传递至接口101的操作。
例如,在第二个示例中,至少基于第一标注位的值执行将对象数据写入并列缓冲存储器中的操作以及将对象数据传递至接口101的操作的至少一项,包括:响应于第一标注位的值为第一值,执行将对象数据写入并列缓冲存储器中的操作,但不执行将对象数据传递至接口101的操作;响应于第一标注位的值为第二值,不执行将对象数据写入并列缓冲存储器中的操作,但执行将对象数据传递至接口101的操作。
例如,控制器和数据处理装置的具体实现方式可以参见本公开的至少一个实施例提供的数据处理方法,在此不再赘述。例如,该数据处理装置可以在提升数据安全性的情况下优化性能。
本公开的至少一个实施例还提供了一种计算装置10。图8是本公开的至少一个实施例提供的计算装置的示例性框图;如图8所示,该计算装置包括本公开的至少一个数据处理装置以及非易失性主存储器。非易失性主存储器通过接口101与数据处理装置耦接。例如,该计算装置10可以在提升数据安全性的情况下优化性能。
虽然上文中已经用一般性说明及具体实施方式,对本公开作了详尽的描述,但在本公开实施例基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本公开精神的基础上所做的这些修改或改进,均属于本公开要求保护的范围。
以上所述仅是本公开的示范性实施方式,而非用于限制本公开的保护范围,本公开的保护范围由所附的权利要求确定。
Claims (16)
1.一种数据处理方法,包括:
接收将对象缓存行替换出缓冲存储器的替换指令,其中,所述对象缓存行包括对象数据;
基于所述对象缓存行生成数据包,其中,所述数据包包括所述对象数据以及第一标注位;以及
至少基于所述第一标注位的值,执行将所述对象数据写入并列缓冲存储器中的操作以及将所述对象数据写入非易失性主存储器中的操作的至少一项。
2.根据权利要求1所述的数据处理方法,其中,所述第一标标注位的值为第一值或者不同于所述第一值的第二值;以及
所述至少基于所述第一标注位的值执行将所述对象数据写入并列缓冲存储器中的操作以及将所述对象数据写入非易失性主存储器中的操作的至少一项,包括:
响应于所述第一标注位的值为所述第一值,执行将所述对象数据写入所述并列缓冲存储器中的操作,以及
响应于所述第一标注位的值为所述第二值,不执行将所述对象数据写入所述并列缓冲存储器中的操作。
3.根据权利要求2所述的数据处理方法,其中,所述数据包还包括第二标志位;
所述第二标志位的值选自所述第一值和所述第二值;以及
所述至少基于所述第一标注位的值执行将所述对象数据写入并列缓冲存储器中的操作以及将所述对象数据写入非易失性主存储器中的操作的至少一项,还包括:
响应于所述第二标志位的值为所述第一值,执行将所述对象数据写入所述非易失性主存储器中的操作,以及
响应于所述第二标志位的值为所述第二值,不执行将所述对象数据写入所述非易失性主存储器中的操作。
4.根据权利要求3所述的数据处理方法,其中,所述第一标注位的值以及所述第二标志位的值不同时等于所述第二值。
5.根据权利要求3或4所述的数据处理方法,其中,所述对象缓存行还包括第三标志位以及第四标志位;
所述第三标志位被配置为用于标识,在所述对象缓存行被替换出所述缓存存储器时,是否希望将所述对象缓冲行中的数据写入所述并列缓冲存储器中;
所述第四标志位被配置为用于标识,在所述对象缓存行被替换出所述缓存存储器时,是否希望将所述对象缓冲行中的数据写入所述非易失性主存储器中;以及
所述数据处理方法还包括:
接收针对所述对象缓存行的标记指令,以及
响应于所述对象缓存行载入数据,基于所述标记指令设置所述第三标志位的值以及所述第四标志位的值。
6.根据权利要求5所述的数据处理方法,其中,所述基于所述标记指令设置所述第三标志位的值以及所述第四标志位的值,包括:
使得所述第三标志位的值和所述第四标志位的值选自所述第一值和所述第二值,并使得所述第三标志位的值以及所述第四标志位的值不同时等于所述第二值。
7.根据权利要求5所述的数据处理方法,其中,所述基于所述对象缓存行生成数据包,包括:
基于所述对象数据、所述第三标注位的值和所述第四标注位的值生成所述数据包,并使得所述第一标注位的值和所述第二标志位的值分别与所述第三标注位的值和所述第四标注位的值相匹配。
8.根据权利要求7所述的数据处理方法,其中,所述使得所述第一标注位的值和所述第二标志位的值分别与所述第三标注位的值和所述第四标注位的值相匹配,包括:使得所述第一标注位的值等于所述第三标志位的值,并使得所述第二标注位的值等于所述第四标志位的值。
9.根据权利要求2所述的数据处理方法,其中,所述至少基于所述第一标注位的值执行将所述对象数据写入并列缓冲存储器中的操作以及将所述对象数据写入非易失性主存储器中的操作的至少一项,还包括:
响应于所述第一标注位的值为所述第一值,不执行将所述对象数据写入所述非易失性主存储器中的操作;
响应于所述第一标注位的值为所述第二值,执行将所述对象数据写入所述并列缓冲存储器中的操作。
10.一种数据处理装置,包括:控制器、缓冲存储器、并列缓冲存储器以及与非易失性主存储器耦接的接口,
其中,所述控制器被配置为:
接收将对象缓存行替换出缓冲存储器的替换指令,其中,所述对象缓存行包括对象数据;
基于所述对象缓存行生成数据包,其中,所述数据包包括所述对象数据以及第一标注位;以及
至少基于所述第一标注位的值,执行将所述对象数据写入所述并列缓冲存储器中的操作以及将所述对象数据传递至所述接口的操作的至少一项,其中,所述执行将所述对象数据传递至所述接口的操作允许所述对象数据经由所述接口被写入至所述非易失性主存储器中。
11.根据权利要求10所述的数据处理装置,其中,所述第一标标注位的值为第一值或者不同于所述第一值的第二值;以及
所述至少基于所述第一标注位的值执行将所述对象数据写入所述并列缓冲存储器中的操作以及将所述对象数据传递至所述接口的操作的至少一项,包括:
响应于所述第一标注位的值为所述第一值,执行将所述对象数据写入所述并列缓冲存储器中的操作,以及
响应于所述第一标注位的值为所述第二值,不执行将所述对象数据写入所述并列缓冲存储器中的操作。
12.根据权利要求11所述的数据处理装置,其中,所述数据包还包括第二标志位;
所述第二标志位的值选自所述第一值和所述第二值;以及
所述至少基于所述第一标注位的值执行将所述对象数据写入并列缓冲存储器中的操作以及将所述对象数据传递至所述接口的操作的至少一项,还包括:
响应于所述第二标志位的值为所述第一值,执行将所述对象数据传递至所述接口的操作,以及
响应于所述第二标志位的值为所述第二值,不执行将所述对象数据传递至所述接口的操作。
13.根据权利要求12所述的数据处理装置,其中,所述第一标注位的值以及所述第二标志位的值不同时等于所述第二值。
14.根据权利要求12或13所述的数据处理装置,其中,所述对象缓存行还包括第三标志位以及第四标志位;
所述第三标志位被配置为用于标识,在所述对象缓存行被替换出所述缓存存储器时,是否希望将所述对象缓冲行中的数据写入所述并列缓冲存储器中;
所述第四标志位被配置为用于标识,在所述对象缓存行被替换出所述缓存存储器时,是否希望将所述对象缓冲行中的数据传递至所述接口;以及
所述控制器还被配置为:接收针对所述对象缓存行的标记指令,以及响应于所述对象缓存行载入数据,基于所述标记指令设置所述第三标志位的值以及所述第四标志位的值。
15.根据权利要求14所述的数据处理装置,其中,所述基于所述标记指令设置所述第三标志位的值以及所述第四标志位的值,包括:
使得所述第三标志位的值和所述第四标志位的值选自所述第一值和所述第二值,并使得所述第三标志位的值以及所述第四标志位的值不同时等于所述第二值。
16.一种计算装置,包括如权利要求10-15任一项所述的数据处理装置以及所述非易失性主存储器,其中,所述非易失性主存储器通过所述接口与所述数据处理装置耦接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011427466.1A CN112579481B (zh) | 2020-12-07 | 2020-12-07 | 数据处理方法、数据处理装置和计算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011427466.1A CN112579481B (zh) | 2020-12-07 | 2020-12-07 | 数据处理方法、数据处理装置和计算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112579481A true CN112579481A (zh) | 2021-03-30 |
CN112579481B CN112579481B (zh) | 2023-01-20 |
Family
ID=75128318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011427466.1A Active CN112579481B (zh) | 2020-12-07 | 2020-12-07 | 数据处理方法、数据处理装置和计算装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112579481B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07146820A (ja) * | 1993-04-08 | 1995-06-06 | Hitachi Ltd | フラッシュメモリの制御方法及び、それを用いた情報処理装置 |
CN102782683A (zh) * | 2010-03-04 | 2012-11-14 | 微软公司 | 用于数据库服务器的缓冲池扩展 |
US20150100739A1 (en) * | 2013-10-09 | 2015-04-09 | Advanced Micro Devices, Inc. | Enhancing Lifetime of Non-Volatile Cache by Injecting Random Replacement Policy |
CN108090824A (zh) * | 2017-12-30 | 2018-05-29 | 平安科技(深圳)有限公司 | 数据核对方法、装置、计算机设备及可读存储介质 |
WO2019127104A1 (zh) * | 2017-12-27 | 2019-07-04 | 华为技术有限公司 | 高速缓存中资源调整方法、数据访问方法及装置 |
-
2020
- 2020-12-07 CN CN202011427466.1A patent/CN112579481B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07146820A (ja) * | 1993-04-08 | 1995-06-06 | Hitachi Ltd | フラッシュメモリの制御方法及び、それを用いた情報処理装置 |
CN102782683A (zh) * | 2010-03-04 | 2012-11-14 | 微软公司 | 用于数据库服务器的缓冲池扩展 |
US20150100739A1 (en) * | 2013-10-09 | 2015-04-09 | Advanced Micro Devices, Inc. | Enhancing Lifetime of Non-Volatile Cache by Injecting Random Replacement Policy |
WO2019127104A1 (zh) * | 2017-12-27 | 2019-07-04 | 华为技术有限公司 | 高速缓存中资源调整方法、数据访问方法及装置 |
CN108090824A (zh) * | 2017-12-30 | 2018-05-29 | 平安科技(深圳)有限公司 | 数据核对方法、装置、计算机设备及可读存储介质 |
Non-Patent Citations (2)
Title |
---|
"《科学技术与工程》第十二卷分类索引", 《科学技术与工程》 * |
武杨: "高速缓冲存储器Cache设计的关键技术分析", 《中国科技信息》 * |
Also Published As
Publication number | Publication date |
---|---|
CN112579481B (zh) | 2023-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11183225B2 (en) | Memories and methods for performing vector atomic memory operations with mask control and variable data length and data unit size | |
CN107273042B (zh) | 重复删除dram系统算法架构的存储器模块及方法 | |
EP2979189B1 (en) | Storing data from cache lines to main memory based on memory addresses | |
JP2022173454A (ja) | メモリシステム | |
US7260674B2 (en) | Programmable parallel lookup memory | |
CN103988174A (zh) | 无需额外寄存器执行寄存器重命名的数据处理设备和方法 | |
JP2006512657A (ja) | メモリ・コントローラおよびメモリに書き込む方法 | |
EP3572967A1 (en) | Memory protection circuit and memory protection method | |
EP3404537A1 (en) | Processing node, computer system and transaction conflict detection method | |
JP2022171773A (ja) | メモリシステムおよび制御方法 | |
US10216634B2 (en) | Cache directory processing method for multi-core processor system, and directory controller | |
CN107451070B (zh) | 一种数据的处理方法和服务器 | |
US10198365B2 (en) | Information processing system, method and medium | |
CN114281265A (zh) | 一种存储介质失效的处理方法、装置和固态硬盘 | |
US10191846B2 (en) | Cache memory for particular data | |
JP2006099770A (ja) | シングルポートメモリを使用した命令キャッシュ | |
CN112579481B (zh) | 数据处理方法、数据处理装置和计算装置 | |
KR20200126155A (ko) | 명령 머지 동작을 수행하는 반도체 메모리 장치 및 그 동작 방법 | |
US8671262B2 (en) | Single-port memory with addresses having a first portion identifying a first memory block and a second portion identifying a same rank in first, second, third, and fourth memory blocks | |
US10997087B2 (en) | Direct memory access | |
JP7273176B2 (ja) | シーケンス処理ユニットを備えたメモリ制御システム | |
KR101041710B1 (ko) | 비휘발성 메모리의 섹터 관리 방법 | |
TW201814494A (zh) | 記憶體系統及處理器系統 | |
WO2016201699A1 (zh) | 指令处理方法及设备 | |
US20160140034A1 (en) | Devices and methods for linked list array hardware implementation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40048845 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |