CN116932424B - 一种基于ecc检测的缓存访问方法、装置、介质和设备 - Google Patents
一种基于ecc检测的缓存访问方法、装置、介质和设备 Download PDFInfo
- Publication number
- CN116932424B CN116932424B CN202311182870.0A CN202311182870A CN116932424B CN 116932424 B CN116932424 B CN 116932424B CN 202311182870 A CN202311182870 A CN 202311182870A CN 116932424 B CN116932424 B CN 116932424B
- Authority
- CN
- China
- Prior art keywords
- data
- cache
- target
- tag
- recently used
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000001514 detection method Methods 0.000 title claims abstract description 28
- 238000012937 correction Methods 0.000 claims abstract description 16
- 230000015654 memory Effects 0.000 claims description 56
- 238000004590 computer program Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 9
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008719 thickening Effects 0.000 description 1
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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1044—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请涉及处理器技术领域,尤其涉及一种基于ECC检测的缓存访问方法、装置、介质和设备。其中方法包括:执行器向控制器发送访问请求,控制器基于访问请求的触发,对缓存的标签缓存区中的各标签进行检测和纠正,得到纠正之后的标签;控制器若从纠正之后的标签中确定出与访问地址匹配的目标标签,则将目标标签写入标签缓存区的对应位置。此外,还包括对数据以及路径信息的检测与纠正。通过上述方式,如果目标标签是经检测和纠正之后的,则将目标标签写入标签缓存区的对应位置,如此标签缓存区中的标签也是正确的了,在下次对缓存进行访问的时候,即可以获得正确的标签,提高了对缓存访问的精准度,同时,保证了处理器的安全性。
Description
技术领域
本申请涉及处理器技术领域,尤其涉及一种基于ECC检测的缓存访问方法、装置、介质和设备。
背景技术
在处理器运行时,如果遇到恶劣的运行环境,处理器内部缓存中的数据有可能被高能粒子改变,导致处理器运行错误,如果这种错误没有及时检测出来或者纠正出来,在需要使用到这些数据时,就会产生灾难性的后果。
现有技术提供了一种检查和纠错方法(Error Correcting Code,ECC),用于对存储的数据进行检测和纠正。目前,ECC纠错技术已经广泛用在内存和Flash存储器的数据纠错上。但在缓存中没有ECC检测功能;在恶劣的工作环境下,缓存中错误的数据不无法在硬件层面被检查与纠正,导致处理器缓存访问时安全性较低。
基于此,目前亟需一种方法、装置、介质和设备,用于提高处理器访问缓存的安全性。
发明内容
本申请实施例提供一种方法、装置、介质和设备,用于提高处理器访问缓存的安全性。
第一方面,本申请实施例提供一种基于ECC检测的缓存访问方法,用于包括执行器、控制器和缓存的处理器;所述方法包括:
所述执行器向所述控制器发送访问请求,所述访问请求中包含访问地址;
所述控制器基于所述访问请求的触发,对所述缓存的标签缓存区中的各标签进行检测和纠正,得到纠正之后的标签;
所述控制器若从纠正之后的标签中确定出与所述访问地址匹配的目标标签,则将所述目标标签写入所述标签缓存区的对应位置;所述目标标签包括标签数据和标签的ECC校验位。
通过上述方式,控制器可以基于执行器发送的访问请求对缓存的各标签进行检测和纠正,对缓存中出错的标签进行纠错。并且,如果目标标签是经检测和纠正之后的,则将目标标签写入标签缓存区的对应位置,如此标签缓存区中的标签也是正确的了,那么,在下次对缓存进行访问的时候,即可以获得正确的标签,提高了对缓存访问的精准度,进而提高了处理器数据处理的效率,同时,保证了处理器的安全性。
一种可能的实现方式中,所述访问请求为数据读取请求;所述方法还包括:
所述控制器基于所述访问请求的触发,对所述缓存的数据缓存区中的各数据进行检测和纠正,得到纠正之后的数据;
所述控制器若从纠正之后的数据中确定出所述目标标签对应的目标数据,则将所述目标数据写入所述数据缓存区的对应位置,并将所述目标数据返回给所述执行器所述目标数据中包含所述目标数据的ECC校验位。
通过上述方式,不仅实现了对目标标签的纠正,还实现了对目标数据的纠正,并且在将目标数据返回给执行器的同时,也将经过检测和纠正的目标数据写入了,数据缓存区的对应位置。
一种可能的实现方式中,所述访问请求为数据写入请求,所述访问请求中还包括待写入数据,所述待写入数据中包含数据的ECC校验位;
将所述待写入数据写入与所述目标标签对应的数据缓存区中,并在所述缓存的路径缓存区中与所述目标标签对应的位置的脏数据标识改为第二值,所述脏数据标识中包含标识的ECC校验位。
一种可能的实现方式中,还包括:
若从纠正之后的标签中未确定出与所述访问地址匹配的目标标签,则所述控制器从外存储器中获取和与所述目标标签对应的目标数据;
所述控制器将所述目标数据写入数据缓存区中最近最少使用位置,将所述目标标签写入所述标签缓存区中与所述最近最少使用位置对应的位置,并在路径缓存区中与所述最近最少使用位置对应的位置的脏数据标识改为第二值。
一种可能的实现方式中,所述控制器从外存储器中获取与所述目标标签对应的目标数据之前,还包括:
所述控制器读取路径缓存区,确定所述最近最少使用位置对应的位置,包括:对所述最近最少使用位置对应的位置的脏数据标识和指示信息进检测和纠正,将纠正之后的脏数据标识写入所述路径缓存区中,所述指示信息用于指示数据缓存区中的最近最少使用位置;
所述控制器若确定所述最近最少使用位置对应的位置脏数据标识为第一值,则将所述目标数据写入所述最近最少使用位置。
通过上述方式,在缓存中没有与访问地址匹配的数据时,需要从外部处理器中获取数据。通过路径缓存区确定一个最近最少使用位置,且这个最近最少使用位置对应脏数据标识无效,说明这个位置比较空闲,则可以将从外部处理器获取的目标数据,写入这个最近最少使用位置中。
一种可能的实现方式中,所述方法还包括:
所述控制器若确定所述最近最少使用位置对应的位置的脏数据标识为第二值,则对所述最近最少使用位置存储的脏数据进行检测和纠正,并写入外存储器中,并设置所述最近最少使用位置对应的标签为无效状态以及设置所述路径缓存区中所述最近最少使用位置对应的位置脏数据标识为第一值,并更新所述标签的ECC校验位和所述脏数据标识的ECC校验位。
一种可能的实现方式中,所述控制器将所述目标标签写入标签缓存区中与所述最近最少使用位置对应的位置之后,还包括:
若所述访问请求为数据读取请求,所述控制器将所述目标数据返回给所述执行器。
通过上述方式,即使在最近最少位置有脏数据的情况下,也可以获取到外部存储器的目标数据,并将目标数据写入最近最少位置以及返回给执行器,实现了缓存数据访问的闭环。
一种可能的实现方式中,所述执行器向所述控制器发送访问请求之前,还包括:
所述控制器产生停止其他操作的命令,所述其他进程为非基于所述数据访问请求向所述缓存中读取和写入的操作。
一种可能的实现方式中,所述控制器产生停止其他进程的命令,包括:
产生其他流水线级关于缓存访问和外部存储器访问相关操作的第一停止信号,所述第一停止信号用于告知其他流水线级停止关于缓存访问和外部存储器访问的相关操作;
产生填充暂存器对缓存写操作的第二停止信号,所述第二停止信号用于告知填充暂存器暂停对缓存的写操作;
产生对外部存储器读取请求的第三停止信号,所述第三停止信号用于暂停对外部存储器的读请求。
产生对缓存中各存储区访问的第四停止信号,所述第四停止信号用于暂停对缓存中各存储区的其他访问请求。
第二方面,本申请实施例提供一种基于ECC检测的缓存访问方法装置。该装置包括:
发送模块,用于发送访问请求,所述访问请求中包含访问地址;
检测和纠正模块,用于基于所述访问请求的触发,对所述缓存的标签缓存区中的各标签进行检测和纠正,得到纠正之后的标签;
写入模块,用于从纠正之后的标签中确定出与所述访问地址匹配的目标标签,则将所述目标标签写入所述标签缓存区的对应位置,所述目标标签包括标签数据和标签的ECC校验位。
一种可能的实现方式中,所述访问请求为数据读取请求;所述检测和纠正模块,还用于基于所述访问请求的触发,对所述缓存的数据缓存区中的各数据进行检测和纠正,得到纠正之后的数据;
所述写入模块,还用于若从纠正之后的数据中确定出所述目标标签对应的目标数据,则将所述目标数据写入所述数据缓存区的对应位置,并将所述目标数据返回给所述执行器,所述目标数据中包含所述目标数据的ECC校验位。
一种可能的实现方式中,所述访问请求为数据写入请求,所述访问请求中还包括待写入数据,所述待写入数据中包含数据的ECC校验位;
所述写入模块,还用于在将所述目标标签写入所述标签缓存区的对应位置之后,将所述待写入数据写入与所述目标标签对应的数据缓存区中,并在所述缓存的路径缓存区中与所述目标标签对应的位置的脏数据标识改为第二值,所述脏数据标识中包含标识的ECC校验位。
一种可能的实现方式中,所述装置还包括获取模块,用于若从纠正之后的标签中未确定出与所述访问地址匹配的目标标签,则所述从外存储器中获取与所述目标标签对应的目标数据;所述写入模块,还用于将所述目标数据写入数据缓存区中最近最少使用位置,将所述目标标签写入所述标签缓存区中与所述最近最少使用位置对应的位置,并在路径缓存区中与所述最近最少使用位置对应的位置的脏数据标识改为第二值。
一种可能的实现方式中,所述获取模块,还用于在所述控制器从外存储器中获取与所述目标标签对应的目标数据之前,读取路径缓存区,确定所述最近最少使用位置对应的位置,包括:对所述最近最少使用位置对应的位置的脏数据标识和指示信息进检测和纠正,将纠正之后的脏数据标识写入所述路径缓存区中;确定所述最近最少使用位置对应的位置脏数据标识为第一值,则将所述目标数据写入所述最近最少使用位置,所述指示信息用于指示数据缓存区中的最近最少使用位置。
一种可能的实现方式中,所述写入模块还用于若确定所述最近最少使用位置对应的位置的脏数据标识为第二值,则对所述最近最少使用位置存储的脏数据进行检测和纠正,并写入外存储器中,并设置所述最近最少使用位置对应的标签为无效状态以及设置所述路径缓存区中所述最近最少使用位置对应的位置脏数据标识为第一值,并更新所述标签的ECC校验位和所述脏数据标识的ECC校验位。
一种可能的实现方式中,所述装置还包括返回模块,用于在将所述目标标签写入标签缓存区中与所述最近最少使用位置对应的位置之后,若所述访问请求为数据读取请求,将所述目标数据返回给执行器。
一种可能的实现方式中,所述装置还包括控制模块,用于产生停止其他操作的命令,所述其他进程为非基于所述数据访问请求向所述缓存中读取和写入的操作。
一种可能的实现方式中,所述装置还包括控制模块,所述控制模块具体用于产生其他流水线级关于缓存访问和外部存储器访问相关操作的第一停止信号,所述第一停止信号用于告知其他流水线级停止关于缓存访问和外部存储器访问的相关操作;产生填充暂存器对缓存写操作的第二停止信号,所述第二停止信号用于告知填充暂存器暂停对缓存的写操作;产生对外部存储器读取请求的第三停止信号,所述第三停止信号用于暂停对外部存储器的读请求;产生对缓存中各存储区访问的第四停止信号,所述第四停止信号用于暂停对缓存中各存储区的其他访问请求。
第三方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,当计算机程序被运行时,执行上述第一方面中任一项方法。
第四方面,本申请实施例提供一种计算设备,包括:存储器,用于存储程序指令;处理器,用于调用存储器中存储的程序指令,按照获得的程序执行上述第一方面中任一项设计中的方法。
第五方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在处理器上运行时,实现如上述第一方面中任一项设计中的方法。
上述第二方面至第五方面的有益效果,具体可参照上述第一方面任一项设计可达到的有益效果,此处不再赘述。
附图说明
图1示例性示出本申请实施例提供的一种系统架构示意图;
图2示例性示出本申请实施例提供的一种缓存的架构示意图;
图3示例性示出本申请实施例提供的一种缓存访问方法的流程示意图;
图4示例性示出本申请实施例提供的一种检测和纠正的方法示意图;
图5示例性示出本申请实施例提供的另一种检测和纠正方法示意图;
图6示例性地示出本申请实施例提供的一种基于ECC检测的缓存访问方法装置示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1示例性示出本申请实施例提供的一种系统架构示意图,如图1所示: Cache是位于CPU和动态随机存取存储器(dynamic random access memory,DRAM)之间的缓存存储器,其规模较小,但速度很高,通常由静态存储器(static random access memory,SRAM)组成。cache的功能是提高CPU数据输入输出的速率。CPU的通用寄存器的速度远高于主存,当CPU直接从主存中存取数据时要等待一定时间周期,而cache则可以保存CPU刚用过或循环使用的一部分数据,如果CPU需要再次使用该部分数据时可从cache中直接调用,这样就避免了重复存取数据,减少了CPU的等待时间,因而提高了系统的效率。多级cache包括一级高速缓存器 (L1 cache)和二级高速缓存(L2 cache),以及三级高速缓存器(L3 cache),其中,L1 cache主要是集成在CPU内部,L2 cache集成在主板上或是CPU上。L1 Cache包括L1I-cache(一级指令高速缓存器)和L1 D-cache(一级数据高速缓存器),其中,L1 I-cache负责存储指令,L1 D-cache负责存储数据。两者的区别是L1 D-cache中的数据可以写回,L1I-cache中的数据是只读的。本实施例中以L1 cache为例,但不限于L1 cache,凡是缓存存储器都是可以应用本实施例中的方法。
图2示例性示出本申请实施例提供的一种缓存的架构示意图,如图2所示:缓存内部包括路径缓存区(way select random access memory,WS RAM)、数据缓存区(datarandom access memory ,DATA RAM)、标签缓存区(TAG RAM)。数据缓存区和标签缓存区的位一一对应。
WS RAM中包含最近使用位(least recently used,RLU),RLU可以为一个六位无符号数,可以解析为4位有符号数以及4位标志位(dirty),和DATA RAM 中的位以及TAG RAM中的位一一对应。在DATA RAM中,包括四路cache line,每一路中包含多个cache line,每一个cache line都对应两个标识,一个是WS RAM中的dirty标志,一个是TAG RAM中的vaild标志,dirty标志表示cache line中的数据被修改,vilid标志表示cache line中的数据有效。一个cachae line中可以存储多个字,优选地,一个cache line中存储4个字,在访问cacheline时每次读取一个字。在TAG RAM中,tag表示物理地址的一部分,在处理器访问tag的时候,访问请求中会携带一个物理地址,用于和tag进行比较,匹配之后根据tag确定对应的DATA RAM中的数据,返回给处理器的执行器。填充缓存区(fill buffer)用于暂存数据,在向cache写入数据时,需要先将数据暂存至fill buffer中,之后再将数据写入cache的各个缓存区中。需要说明的是,此处的数据是广义上的数据,不仅包含写入DATA RAM中的数据,还包含写入TAG RAM 和写入WS RAM中的数据。
在缓存中存储的数据,可能会由于处理器运行在恶劣的环境中而发生改变,原始正确的数据,由于被高能粒子击穿,而变成错误的数据。数据在计算机中存储的形式是二进制形式,比如,一个字的存储内容为“1011000101”,其中某一位有可能会发生变化,假设第二位发生变化,变为“1111000101”,其表示的字也会发生变化,导致最终读取出来的数据内容出错,处理器对这些数据进行计算,也会出错。
现有技术中提供了一种对缓存中的数据进行检测和纠正的方法,需要对cache的TAG RAM、DATA RAM和WS RAM添加误差校正位(error correcting code,ECC)。在数字电路中,最小的数据单位为“比特(bit)”,“比特”也是内存中的最小单位,通过“1”和“0”来表示数据高、低电平信号。在数字电路中8个连续的比特是一个字节(byte),在不带“奇偶校验”的内存中,每个字节只有8位,若它的某一位存储出了错误,就会使其中存储的相应数据发生改变而导致应用程序发生错误。而带有“奇偶校验”的内存在每一字节(8位)外又额外增加了一位用来进行错误检测。比如一个字节中存储了某一数值(1、0、1、0、1、0、1、1),把这每一位相加起来(1+0+1+0+1+0+1+1=5),5是奇数,如果采用奇校验(即一个字节(8位)加上检错的那1位共9位对应数字的和为奇数),那么检错的那一位就应该是0(5+0=5才是奇数),如果采用偶校验,即一个字节(8位)加上检错的那1位共9位对应数字的和为偶数,那么检错的那一位就应该是1(5+1=6才是偶数),当CPU返回读取存储的数据时,它会再次相加前8位中存储的数据,计算结果是否与校验位相一致。当CPU发现二者不同时就会尝试纠正这些错误。但随着数据位的增加,校验位也成倍增加,八位数据位需要一位校验位,十六位数据位需要两位校验位。ECC也是在原来的数据位上外加校验位来实现的。它与上述校验方法不同的是如果数据位是8位,则需要增加5位来进行ECC错误检查和纠正,数据位每增加一倍,ECC只增加一位检验位,也就是说当数据位为16位时ECC位为6位,32位时ECC位为7位,数据位为64位时ECC位为8位,依此类推,数据位每增加一倍,ECC位只增加一位。ECC有更多位数的校验位,容错能力更强。表一示出了本实施例中的一种数据位宽和ECC位宽的对照原则:
表一
在数据中添加了ECC位之后,每次访问这些数据时都会进行检查纠正,并将纠正之后的数据返回至数据访问方。多数情况下,访问缓存中这些数据的为处理器的执行器。执行器会发出多种缓存访问指令,经解码之后,发送给控制器,控制器基于ECC对要访问的数据进行纠正,并获取到纠正之后的数据,返回给执行器。但是,上述方法中,经过ECC纠正之后的数据仅仅是返回给了执行器,并没有重新存储至缓存中,那么需要再次访问这些数据的时候,缓存中的数据仍然是错误的。这就导致,处理器访问缓存的精准度很低,从而导致处理器处理数据的效率降低。
基于此,本申请实施例提供了一种基于ECC检测的缓存访问方法,用于提高处理器访问缓存的精准度,并实现处理器处理效率的提升,同时保证了整个处理器和系统的安全性。
图3示例性示出本申请实施例提供的一种缓存访问方法的流程示意图,如图3所示,该方法应用于如图1所示的包括执行器、控制器和缓存的处理器,包括如下步骤:
步骤301,执行器向控制器发送访问请求,访问请求中包含访问地址。
访问请求是处理器的执行器在处理计算事务时向控制器发送的,访问请求中包含多种访问指令中的一个,不同的访问请求对应的访问指令是不一样的,译码器可以对访问指令进行译码,并将译码之后的访问指令发送给控制器。访问请求可以是针对于缓存的,数据读取请求,数据写入请求等。
步骤302,控制器基于访问请求的触发,对缓存的标签缓存区中的各标签进行检测和纠正,得到纠正之后的标签。
图4示例性示出本申请实施例提供的一种检测和纠正的方法示意图,如图4所示,控制器在收到访问指令之后,开始遍历标签缓存区的各路数据,包括W0,W1,W2,W3中的每一个标签,并对每一个标签使用ECC进行检测和纠正,图4中的加粗方框即表示对标签进行检测和纠正的过程。加粗框的下侧对应每一路的标签比较器,共有4个。标签比较器用于比较标签和访问地址是否匹配。比较出匹配的目标之后,将选择信号发送给第一选择器,第一选择器基于这个选择信号,从多个纠正之后的标签中选择出目标标签。
步骤303,控制器若从纠正之后的标签中确定出与访问地址匹配的目标标签,则执行步骤304,所述目标标签包括标签数据和标签的ECC校验位;
步骤304,将目标标签写入标签缓存区的对应位置。
仍然基于步骤302中的例子,如图4所示,第一选择器向右的箭头表示选择出的目标标签,为目标标签添加ECC位,暂存至填充缓存区中,在使用ECC对标签进行检测和纠正的过程中,记录下每一个标签是否错误,确定目标标签之后,向第二选择器发送目标标签,是否经过检测和纠正的信号,例如目标标签被检测和纠正过,则向第二选择器发送的信号为1,若目标标签没有被检测和纠正过,则向第二选择器发送的信号为0。第二选择器接收到1信号之后,将选择填充缓存区中的检测和纠正之后的目标标签写入标签缓存区的对应位置;第二选择器接收到0信号之后,则选择保留标签缓存区的对应位置处的原始标签。
图4虚线框中表示的是初次将标签填充至标签缓存区的过程,即基于一个写指令(Tagwrdata_raw),生成带ECC位的标签(Tag_ecc_gen),并将标签暂存至填充缓存区中,此时,不需要接收到0信号,即可以将标签填充至标签缓存区中。
通过上述方式,控制器可以基于执行器发送的访问请求对缓存的各标签进行检测和纠正,对缓存中出错的标签进行纠错,排除错误标签的干扰。并且,如果目标标签是经检测和纠正之后的,则将目标标签写入标签缓存区的对应位置,如此标签缓存区中的标签也是正确的了,那么,在下次对缓存进行访问的时候,即可以获得正确的标签,提高了对缓存访问的效率,进而提高了处理器数据处理的效率,同时,保证了处理器的安全性。
下面以不同的访问请求为例,分别介绍缓存的访问方法:
实施例一:访问请求为数据读取请求。
控制器基于访问请求的触发,对缓存的数据缓存区中的各数据进行检测和纠正,得到纠正之后的数据;控制器若从纠正之后的数据中确定出目标标签对应的目标数据,则将目标数据写入数据缓存区的对应位置,并将目标数据返回给执行器,目标数据中包含目标数据的ECC校验位。
图5示例性示出本申请实施例提供的另一种检测和纠正方法示意图。图5下侧的加粗方框中表示对数据缓存区中的数据进行检测和纠正,得到纠正之后的数据,第三选择器基于上方标签比较器传输的信号选择与目标标签匹配的目标数据,并将目标数据写入数据缓存区的对应位置,具体的写入方法可以参照上述对目标标签的写入方法,在此不再赘述。
另一种可能的实现方式中,在进行检测和纠正时,可以只对和目标标签匹配的目标数据进行检测和纠正,那么此时输出到第三选择器的只有一个目标数据,无需再次进行选择。但是仍然需要将目标数据是否经过检测和纠正的信号发送给第四选择器,以便第四次选择器选择将目标数据写入数据缓存区的对应位置,还是保留数据缓存区的对应位置的原始数据。
通过上述方式,不仅实现了对目标标签的纠正,还实现了对目标数据的纠正,并且在将目标数据返回给执行器的同时,也将经过检测和纠正的目标数据写入了,数据缓存区的对应位置。
实施例二:访问请求为数据写入请求。
示例性地,本实施例的应用场景可以为处理器将处理完的数据存储起来。应理解,此时访问请求中还包括待写入数据,待写入数据中包含数据的ECC校验位。针对于本实施例的应用场景,在上述步骤304将目标标签写入标签缓存区的对应位置之后,还应该包括将待写入数据写入与目标标签对应的数据缓存区中,并在缓存的路径缓存区中与目标标签对应的位置添加脏数据标识。路径缓存区的脏数据标识可以为0或1的数值,0表示数据缓存区的对应位置没有写入过,经处理器处理完的数据;1表示数据缓存区的对应位置,写入了经处理器处理完的数据。
脏数据标识还可以应用在上述将纠正之后的数据写入数据缓存区的场景中。即如果数据缓存区的对应位置处写入了纠正之后的数据,那么在路径缓存区中就要将与此位置对应的脏数据标识更改为1。
以上实施例说明了从纠正之后的标签中确定出与访问地址匹配的目标标签的方法,下面介绍从纠正之后的标签中未确定出与所述访问地址匹配的目标标签的情况。
从纠正之后的标签中没有确定出与访问地址匹配的目标标签说明缓存中没有数据访问请求需要访问的数据,此时需要从外部存储区中将数据写入缓存中,以供执行器的调用。即控制器从外存储器中获取与目标标签对应的目标数据;示例性地,控制器可以向外部存储器发送读请求,读回目标数据,并将目标数据写入数据缓存区中最近最少使用位置,并在路径缓存区中与最近最少使用位置对应的位置的脏数据标识改为第二值,脏数据标识中包含标识的ECC校验位。
此处的最近最少使用位置是控制器读取路径缓存区确定的,路径缓存区会记录数据缓存区最少使用的位置,便将距离访问地址最近的确定为最近最少使用位置,用于写入从外部存储区中获取的目标数据。具体来讲,如果控制器确定最近最少使用位置,对应的脏数据标识为第一值,则将目标数据写入这个最近最少使用位置中,并对所述最近最少使用位置对应的位置的脏数据标识和指示信息进检测和纠正,将纠正之后的脏数据标识写入所述路径缓存区中;指示信息用于指示数据缓存区中的最近最少使用位置。
在上述方式中,在缓存中没有与访问地址匹配的数据时,需要从外部处理器中获取数据。通过路径缓存区确定一个最近最少使用位置,且这个最近最早使用位置对应非脏数据标识,说明这个位置比较空闲,则可以将从外部处理器获取的目标数据,写入这个最近最少使用位置中。
但是这个最近最少使用位置,仍然会存在脏数据标识为第二值的情况,此时需要将最近最少使用位置清空之后,才能将目标数据写入这个最近最少使用位置中。具体可以参照如下实现方式:
示例性地,可以将最近最少使用位置存储的脏数据写入外存储器中,并设置最近最少使用位置对应的标签为无效状态以及设置所述路径缓存区中最近最少使用位置对应的位置脏数据标识为第一值。此处的脏数据可以为经纠正之后又写入数据缓存区中的数据,也可以为处理器处理完之后写入数据缓存区中的数据。
在上述方式中,若访问请求为数据写入请求,那么控制器的执行流程就结束了。若访问请求为数据读取请求,那么控制器还需要将写入数据缓存区的目标数据返回给执行器。
通过上述方式,即使在最近最少位置有脏数据的情况下,也可以获取到外部存储器的目标数据,并将目标数据写入最近最少位置以及返回给执行器,实现了缓存数据访问的闭环。
一种可能的实现方式中,在执行器向所述控制器发送访问请求之前,产生停止其他进程的命令,其他进程为非基于数据访问请求向缓存中读取和写入的进程。
具体的,可以参照如下方式执行:
产生其他流水线级关于缓存访问和外部存储器访问相关操作的第一停止信号,所述第一停止信号用于告知其他流水线级停止关于缓存访问和外部存储器访问的相关操作;
产生填充暂存器对缓存写操作的第二停止信号,所述第二停止信号用于告知填充暂存器暂停对缓存的写操作。
产生对外部存储器读取请求的第三停止信号,所述第三停止信号用于暂停对外部存储器的读请求。
通过上述方式,可以确保控制器的性能较佳,不会有其他的进程将控制器的进程打断,进而维持处理器内部的执行秩序,保证安全性。
基于相同的技术构思,本申请实施例还提供了一种基于ECC检测的缓存访问方法装置。图6示例性地示出本申请实施例提供的一种基于ECC检测的缓存访问方法装置示意图,该装置可以执行前述的缓存访问方法,如图6所示,该装置包括:
发送模块,用于发送访问请求,所述访问请求中包含访问地址;
检测和纠正模块,用于基于所述访问请求的触发,对所述缓存的标签缓存区中的各标签进行检测和纠正,得到纠正之后的标签;
写入模块,用于从纠正之后的标签中确定出与所述访问地址匹配的目标标签,则将所述目标标签写入所述标签缓存区的对应位置,所述目标标签包括标签数据和标签的ECC校验位。
一种可能的实现方式中,所述访问请求为数据读取请求;所述检测和纠正模块,还用于基于所述访问请求的触发,对所述缓存的数据缓存区中的各数据进行检测和纠正,得到纠正之后的数据;
所述写入模块,还用于若从纠正之后的数据中确定出所述目标标签对应的目标数据,则将所述目标数据写入所述数据缓存区的对应位置,并将所述目标数据返回给所述执行器,所述目标数据中包含所述目标数据的ECC校验位。
一种可能的实现方式中,所述访问请求为数据写入请求,所述访问请求中还包括待写入数据,所述待写入数据中包含数据的ECC校验位;
所述写入模块,还用于在将所述目标标签写入所述标签缓存区的对应位置之后,将所述待写入数据写入与所述目标标签对应的数据缓存区中,并在所述缓存的路径缓存区中与所述目标标签对应的位置的脏数据标识改为第二值,所述脏数据标识中包含标识的ECC校验位。
一种可能的实现方式中,所述装置还包括获取模块,用于若从纠正之后的标签中未确定出与所述访问地址匹配的目标标签,则所述从外存储器中获取与所述目标标签对应的目标数据;所述写入模块,还用于将所述目标数据写入数据缓存区中最近最少使用位置,将所述目标标签写入所述标签缓存区中与所述最近最少使用位置对应的位置,并在路径缓存区中与所述最近最少使用位置对应的位置的脏数据标识改为第二值。
一种可能的实现方式中,所述获取模块,还用于在所述控制器从外存储器中获取与所述目标标签对应的目标数据之前,读取路径缓存区,确定所述最近最少使用位置对应的位置,包括:对所述最近最少使用位置对应的位置的脏数据标识和指示信息进检测和纠正,将纠正之后的脏数据标识写入所述路径缓存区中;确定所述最近最少使用位置对应的位置脏数据标识为第一值,则将所述目标数据写入所述最近最少使用位置,所述指示信息用于指示数据缓存区中的最近最少使用位置。
一种可能的实现方式中,所述写入模块还用于若确定所述最近最少使用位置对应的位置的脏数据标识为第二值,则对所述最近最少使用位置存储的脏数据进行检测和纠正,并写入外存储器中,并设置所述最近最少使用位置对应的标签为无效状态以及设置所述路径缓存区中所述最近最少使用位置对应的位置脏数据标识为第一值,并更新所述标签和所述脏数据标识的ECC校验位。
一种可能的实现方式中,所述装置还包括返回模块,用于在将所述目标标签写入标签缓存区中与所述最近最少使用位置对应的位置之后,若所述访问请求为数据读取请求,将所述目标数据返回给执行器。
一种可能的实现方式中,所述装置还包括控制模块,用于产生停止其他操作的命令,所述其他进程为非基于所述数据访问请求向所述缓存中读取和写入的操作。
一种可能的实现方式中,所述装置还包括控制模块,所述控制模块具体用于产生其他流水线级关于缓存访问和外部存储器访问相关操作的第一停止信号,所述第一停止信号用于告知其他流水线级停止关于缓存访问和外部存储器访问的相关操作;产生填充暂存器对缓存写操作的第二停止信号,所述第二停止信号用于告知填充暂存器暂停对缓存的写操作;产生对外部存储器读取请求的第三停止信号,所述第三停止信号用于暂停对外部存储器的读请求;产生对缓存中各存储区访问的第四停止信号,所述第四停止信号用于暂停对缓存中各存储区的其他访问请求。
基于相同的技术构思,本发明实施例还提供了一种计算机程序产品,当所述计算机程序产品在处理器上运行时,实现上述实施例中所示的方法。
基于相同的技术构思,本发明实施例还提供了一种计算设备,包括:存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述实施例中所示的方法。
基于相同的技术构思,本发明实施例还提供了一种计算机可读存储介质,当所述计算机程序产品在处理器上运行时,实现上述实施例中所示的方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (8)
1.一种基于ECC检测的缓存访问方法,其特征在于,应用于包括执行器、控制器和缓存的处理器;所述方法包括:
所述执行器向所述控制器发送访问请求,所述访问请求中包含访问地址;
所述控制器基于所述访问请求的触发,对所述缓存的标签缓存区中的各标签进行检测和纠正,得到纠正之后的标签;
所述控制器若从纠正之后的标签中确定出与所述访问地址匹配的目标标签,则将所述目标标签写入所述标签缓存区的对应位置;所述目标标签包括标签数据和标签的ECC校验位;
若从纠正之后的标签中未确定出与所述访问地址匹配的目标标签,则所述控制器读取路径缓存区,确定最近最少使用位置对应的位置,包括:对所述最近最少使用位置对应的位置的脏数据标识和指示信息进检测和纠正,将纠正之后的脏数据标识写入所述路径缓存区中,所述指示信息用于指示数据缓存区中的最近最少使用位置;
所述控制器从外存储器中获取与所述目标标签对应的目标数据;
所述控制器若确定所述最近最少使用位置对应的位置脏数据标识为第一值,则将所述目标数据写入所述最近最少使用位置,并在所述路径缓存区中与所述最近最少使用位置对应的位置的脏数据标识改为第二值;
所述方法还包括:
所述控制器若确定所述最近最少使用位置对应的位置的脏数据标识为第二值,则对所述最近最少使用位置存储的脏数据进行检测和纠正,并写入外存储器中,并设置所述最近最少使用位置对应的标签为无效状态以及设置所述路径缓存区中所述最近最少使用位置对应的位置脏数据标识为第一值,并更新所述标签的ECC校验位和所述脏数据标识的ECC校验位;
所述执行器向所述控制器发送访问请求之前,还包括:
所述控制器产生停止其他操作的命令,所述其他操作为非基于所述数据访问请求向所述缓存中读取和写入的操作。
2.如权利要求1所述的方法,其特征在于,所述访问请求为数据读取请求;所述方法还包括:
所述控制器基于所述访问请求的触发,对所述缓存的数据缓存区中的各数据进行检测和纠正,得到纠正之后的数据;
所述控制器若从纠正之后的数据中确定出所述目标标签对应的目标数据,则将所述目标数据写入所述数据缓存区的对应位置,并将所述目标数据返回给所述执行器,所述写入数据缓存区的目标数据中包含所述目标数据的ECC校验位。
3.如权利要求1所述的方法,其特征在于,所述访问请求为数据写入请求,所述访问请求中还包括待写入数据,所述待写入数据中包含数据的ECC校验位;
将所述目标标签写入所述标签缓存区的对应位置之后,还包括:
将所述待写入数据写入与所述目标标签对应的数据缓存区中,并在所述缓存的路径缓存区中与所述目标标签对应的位置的脏数据标识改为第二值,所述脏数据标识中包含标识的ECC校验位。
4.如权利要求1所述的方法,其特征在于,所述控制器将所述目标标签写入标签缓存区中与所述最近最少使用位置对应的位置之后,还包括:
若所述访问请求为数据读取请求,所述控制器将所述目标数据返回给所述执行器。
5.如权利要求1所述的方法,其特征在于,所述控制器产生停止其他进程的命令,包括:
产生其他流水线级关于缓存访问和外部存储器访问相关操作的第一停止信号,所述第一停止信号用于告知其他流水线级停止关于缓存访问和外部存储器访问的相关操作;
产生填充暂存器对缓存写操作的第二停止信号,所述第二停止信号用于告知填充暂存器暂停对缓存的写操作;
产生对外部存储器读取请求的第三停止信号,所述第三停止信号用于暂停对外部存储器的读请求;
产生对缓存中各存储区访问的第四停止信号,所述第四停止信号用于暂停对缓存中各存储区的其他访问请求。
6.一种基于ECC检测的缓存访问装置,其特征在于,所述装置包括:
发送模块,用于发送访问请求,所述访问请求中包含访问地址;
检测和纠正模块,用于基于所述访问请求的触发,对所述缓存的标签缓存区中的各标签进行检测和纠正,得到纠正之后的标签;
写入模块,用于从纠正之后的标签中确定出与所述访问地址匹配的目标标签,则将所述目标标签写入所述标签缓存区的对应位置,所述目标标签包括标签数据和标签的ECC校验位;
所述装置还包括获取模块,用于若从纠正之后的标签中未确定出与所述访问地址匹配的目标标签,则从外存储器中获取与所述目标标签对应的目标数据;
所述写入模块,还用于将所述目标数据写入数据缓存区中最近最少使用位置,将所述目标标签写入所述标签缓存区中与所述最近最少使用位置对应的位置,并在路径缓存区中与所述最近最少使用位置对应的位置的脏数据标识改为第二值;
获取模块,还用于在控制器从外存储器中获取与所述目标标签对应的目标数据之前,读取路径缓存区,确定所述最近最少使用位置对应的位置,包括:对所述最近最少使用位置对应的位置的脏数据标识和指示信息进检测和纠正,将纠正之后的脏数据标识写入所述路径缓存区中;确定所述最近最少使用位置对应的位置脏数据标识为第一值,则将所述目标数据写入所述最近最少使用位置,所述指示信息用于指示数据缓存区中的最近最少使用位置;
所述写入模块还用于,在所述控制器确定所述最近最少使用位置对应的位置的脏数据标识为第二值时,对所述最近最少使用位置存储的脏数据进行检测和纠正,并写入外存储器中,并设置所述最近最少使用位置对应的标签为无效状态以及设置所述路径缓存区中所述最近最少使用位置对应的位置脏数据标识为第一值,并更新所述标签的ECC校验位和所述脏数据标识的ECC校验位;
所述装置还包括控制模块,用于产生停止其他操作的命令,所述其他操作为非基于所述数据访问请求向所述缓存中读取和写入的操作。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被运行时,执行如权利要求1至5中任一项所述的方法。
8.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如权利要求1至5中任一项权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311182870.0A CN116932424B (zh) | 2023-09-14 | 2023-09-14 | 一种基于ecc检测的缓存访问方法、装置、介质和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311182870.0A CN116932424B (zh) | 2023-09-14 | 2023-09-14 | 一种基于ecc检测的缓存访问方法、装置、介质和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116932424A CN116932424A (zh) | 2023-10-24 |
CN116932424B true CN116932424B (zh) | 2023-12-15 |
Family
ID=88384656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311182870.0A Active CN116932424B (zh) | 2023-09-14 | 2023-09-14 | 一种基于ecc检测的缓存访问方法、装置、介质和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116932424B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117707994B (zh) * | 2024-02-02 | 2024-06-21 | 北京象帝先计算技术有限公司 | 请求缓冲器、系统、组件、设备及传输方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5233616A (en) * | 1990-10-01 | 1993-08-03 | Digital Equipment Corporation | Write-back cache with ECC protection |
JPH09212419A (ja) * | 1996-01-31 | 1997-08-15 | Alps Lsi Technol Kk | キャッシュメモリー |
CN103218271A (zh) * | 2013-04-18 | 2013-07-24 | 华为技术有限公司 | 一种数据纠错方法及装置 |
CN105740168A (zh) * | 2016-01-23 | 2016-07-06 | 中国人民解放军国防科学技术大学 | 一种容错目录高速缓存控制器 |
CN105814547A (zh) * | 2013-10-27 | 2016-07-27 | 超威半导体公司 | 输入/输出内存映射单元和北桥 |
CN107221351A (zh) * | 2017-05-27 | 2017-09-29 | 华中科技大学 | 一种固态盘系统中纠错码的优化处理方法及其应用 |
CN109983536A (zh) * | 2016-11-29 | 2019-07-05 | Arm有限公司 | 响应标签匹配命令的存储电路 |
CN113424160A (zh) * | 2019-03-30 | 2021-09-21 | 华为技术有限公司 | 一种处理方法、装置及相关设备 |
CN115509609A (zh) * | 2022-09-20 | 2022-12-23 | 北京奕斯伟计算技术股份有限公司 | 数据处理装置和方法 |
CN116264100A (zh) * | 2021-12-14 | 2023-06-16 | 英特尔公司 | 快速存储器ecc错误纠正 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6564306B2 (en) * | 2000-04-25 | 2003-05-13 | Hewlett-Packard Development Company, L.P. | Apparatus and method for performing speculative cache directory tag updates |
US9110809B2 (en) * | 2013-07-03 | 2015-08-18 | Nvidia Corporation | Reducing memory traffic in DRAM ECC mode |
KR102515417B1 (ko) * | 2016-03-02 | 2023-03-30 | 한국전자통신연구원 | 캐시 메모리 장치 및 그것의 동작 방법 |
-
2023
- 2023-09-14 CN CN202311182870.0A patent/CN116932424B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5233616A (en) * | 1990-10-01 | 1993-08-03 | Digital Equipment Corporation | Write-back cache with ECC protection |
JPH09212419A (ja) * | 1996-01-31 | 1997-08-15 | Alps Lsi Technol Kk | キャッシュメモリー |
CN103218271A (zh) * | 2013-04-18 | 2013-07-24 | 华为技术有限公司 | 一种数据纠错方法及装置 |
CN105814547A (zh) * | 2013-10-27 | 2016-07-27 | 超威半导体公司 | 输入/输出内存映射单元和北桥 |
CN105740168A (zh) * | 2016-01-23 | 2016-07-06 | 中国人民解放军国防科学技术大学 | 一种容错目录高速缓存控制器 |
CN109983536A (zh) * | 2016-11-29 | 2019-07-05 | Arm有限公司 | 响应标签匹配命令的存储电路 |
CN107221351A (zh) * | 2017-05-27 | 2017-09-29 | 华中科技大学 | 一种固态盘系统中纠错码的优化处理方法及其应用 |
CN113424160A (zh) * | 2019-03-30 | 2021-09-21 | 华为技术有限公司 | 一种处理方法、装置及相关设备 |
CN116264100A (zh) * | 2021-12-14 | 2023-06-16 | 英特尔公司 | 快速存储器ecc错误纠正 |
CN115509609A (zh) * | 2022-09-20 | 2022-12-23 | 北京奕斯伟计算技术股份有限公司 | 数据处理装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116932424A (zh) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116932424B (zh) | 一种基于ecc检测的缓存访问方法、装置、介质和设备 | |
US4831622A (en) | Apparatus for forcing a reload from main memory upon cache memory error | |
JP2007133986A (ja) | 半導体記憶装置 | |
US6971041B2 (en) | Cache entry error-correcting code (ECC) based at least on cache entry data and memory address | |
KR870001307B1 (ko) | 버퍼 기억장치의 단일 비트 에러처리시스템 | |
US8245110B2 (en) | Error correcting code generation method and memory control apparatus | |
CN106802837B (zh) | 一种更新错误检测和纠正ecc码的方法及装置 | |
JP2005302027A (ja) | 自律的エラー回復方法、システム、キャッシュ、およびプログラム・ストレージ装置(メモリ装置のための自律的エラー回復のための方法、システム、およびプログラム) | |
CN115509609A (zh) | 数据处理装置和方法 | |
US8438452B2 (en) | Poison bit error checking code scheme | |
US8910004B2 (en) | Information processing apparatus, and method of controlling information processing apparatus | |
US10423488B2 (en) | Error detection device, storage apparatus and error correction method | |
CN112445639B (zh) | 用于错误检测的方法 | |
US11221789B2 (en) | Semiconductor device, memory controller, and memory accessing method | |
JP2011257966A (ja) | キャッシュ装置及び情報処理装置 | |
US9639477B2 (en) | Memory corruption prevention system | |
US20210326202A1 (en) | Non-volatile memory | |
US10867663B2 (en) | Control method for memory and non-transitory computer-readable media | |
US20150134939A1 (en) | Information processing system, information processing method and memory system | |
US20130318327A1 (en) | Method and apparatus for data processing | |
JPH05165719A (ja) | メモリアクセス処理装置 | |
JP4773343B2 (ja) | キャッシュメモリのためのエラーを認識する方法と装置,およびキャッシュメモリ | |
US11640844B2 (en) | Error detection | |
US8533565B2 (en) | Cache controller and cache controlling method | |
JPH08286977A (ja) | ストアインキャッシュの障害処理システム |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A cache access method, device, medium, and device based on ECC detection Granted publication date: 20231215 Pledgee: China Construction Bank Corporation Shanghai Zhangjiang Branch Pledgor: Shanghai xinlianxin Intelligent Technology Co.,Ltd. Registration number: Y2024980005049 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right |