主权项 |
一种保护内存中应用程序的方法,其中所述应用程序按照高速缓存行的大小被缓存为内存行,该方法包括:响应于处理器的加载访问请求,从内存中读取标记内存行和对应于所述内存行的错误检查和纠正ECC校验和,其中所述标记内存行是通过对所述内存行的预定位和用于标识所述内存行的标记位进行逻辑运算获得的;利用所述内存行的ECC校验和对所述标记内存行执行ECC校验获得所述内存行的标记位的值;根据所述标记位的值将所述标记内存行复原为所述内存行;以及根据所述标记位的值和处理器的加载访问请求的类型确定是否加载所述内存行,其中在从内存中读取标记内存行和对应于所述内存行的ECC校验和之前还包括加载应用程序,其中加载应用程序包括:响应于接收到处理器的应用程序加载请求,接收所述内存行和用于标识所述内存行的标记位;对所述内存行执行ECC编码产生对应于所述内存行的ECC校验和;将所述内存行的预定位与所述内存行的标记位进行逻辑运算产生标记内存行;以及将所述标记内存行和对应于所述内存行的ECC校验和写入内存,其中通过对所述标记内存行执行ECC校验获得所述标记内存行的标记位的值进一步包括:对所述标记内存行进行ECC校验产生第一校验结果;对所述标记内存行的预定位进行非逻辑运算产生新标记内存行;对所述新标记内存行进行ECC校验产生笫二校验结果;根据第一校验结果和第二校验结果获得所述内存行的标记位的值。 |