CN116841795A - 一种内存设备控制方法、装置、电子设备及存储介质 - Google Patents

一种内存设备控制方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN116841795A
CN116841795A CN202311098886.3A CN202311098886A CN116841795A CN 116841795 A CN116841795 A CN 116841795A CN 202311098886 A CN202311098886 A CN 202311098886A CN 116841795 A CN116841795 A CN 116841795A
Authority
CN
China
Prior art keywords
information
memory device
granule
error
cache line
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
Application number
CN202311098886.3A
Other languages
English (en)
Other versions
CN116841795B (zh
Inventor
贾帅帅
李道童
韩红瑞
陈衍东
李盛新
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202311098886.3A priority Critical patent/CN116841795B/zh
Publication of CN116841795A publication Critical patent/CN116841795A/zh
Application granted granted Critical
Publication of CN116841795B publication Critical patent/CN116841795B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1044Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明实施例提供了一种内存设备控制方法、装置、电子设备及存储介质,涉及内存设备纠错技术领域,通过响应监听到所述内存设备的错误信息,获取边带错误纠查信息;获取颗粒上错误纠查信息;确定针对所述内存设备的位宽信息,以及所述位宽信息下的错误场景信息;通过所述边带错误纠查信息,和所述颗粒上错误纠查信息确定针对所述错误信息在所述内存设备的缓存行的位置信息;当所述位置信息与所述错误场景信息匹配时,对所述内存设备执行隔离操作,实现了在出现了当前内存纠错机制覆盖不到的错误时,也可以对储存内存进行隔离,有效降低了因内存设备错误导致宕机的概率。

Description

一种内存设备控制方法、装置、电子设备及存储介质
技术领域
本发明涉及内存设备纠错技术领域,特别是涉及一种内存设备控制方法、一种内存设备控制装置、一种服务器、一种电子设备以及一种计算机可读存储介质。
背景技术
ECC,全称是Error Correction Code,也就是用于检查并且纠正错误的一个机制。这对于数据安全和高可靠的应用来说非常重要。
当前,相关技术通常会采用ECC对内存设备进行纠错,但采用常规ECC无法覆盖全部的错误分布位置,导致在内存出现不可纠正错误时,可能出现宕机的风险。
发明内容
本发明实施例是提供一种内存设备控制方法、装置、电子设备以及计算机可读存储介质,以解决如何降低因内存设备故障导致宕机的概率的问题。
本发明实施例公开了一种内存设备控制方法,可以包括:
响应监听到所述内存设备的错误信息,获取边带错误纠查信息;
获取颗粒上错误纠查信息;
确定针对所述内存设备的位宽信息,以及所述位宽信息下的错误场景信息;
通过所述边带错误纠查信息,和所述颗粒上错误纠查信息确定针对所述错误信息在所述内存设备的缓存行的位置信息;
当所述位置信息与所述错误场景信息匹配时,对所述内存设备执行隔离操作。
可选地,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为四单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在多个比特错误。
可选地,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为四单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在单个比特错误,且所述第二颗粒的连续预读文件所包含的128比特数据中存在多个目标比特错误,所述目标比特错误在相同缓存行。
可选地,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为四单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在单个比特错误,且所述第二颗粒的连续预读文件所包含的128比特数据中存在多个目标比特错误,所述目标比特错误在不同缓存行。
可选地,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为八单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在多个比特错误。
可选地,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为八单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在单个比特错误,且所述第二颗粒的连续预读文件所包含的128比特数据中存在多个目标比特错误,所述目标比特错误在相同缓存行。
可选地,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为十六单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在多个比特错误。
可选地,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为十六单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在单个比特错误,且所述第二颗粒的连续预读文件所包含的128比特数据中存在多个目标比特错误。可选地,所述内存设备装载于服务器,所述服务器配置有基本输入输出系统,所述内存设备具有对应的内存控制器,还包括:
响应监听到所述内存设备的错误信息,采用所述内存控制器对所述内存设备完成巡检操作,触发所述基本输入输出系统执行系统管理中断操作。
可选地,所述获取边带错误纠查信息的步骤包括:
采用所述基本输入输出系统获取边带错误纠查信息。
可选地,所述获取颗粒上错误纠查信息的步骤包括:
采用所述基本输入输出系统获取颗粒上错误纠查信息。
可选地,所述方法应用于误检查和纠正程序,还包括:
当所述位置信息与所述错误场景信息不匹配时,采用所述基本输入输出系统退出所述误检查和纠正程序。
可选地,所述服务器配置有操作系统,所述对所述内存设备执行隔离操作的步骤包括:
采用所述基本输入输出系统生成针对所述内存设备的电源管理标准事件信息;
采用所述基本输入输出系统向所述操作系统发送所述电源管理标准事件信息,以控制所述操作系统对所述内存设备执行系统控制中断。
可选地,还包括:
当所述位置信息与所述错误场景信息匹配时,对所述内存设备执行修复操作。
可选地,所述对所述内存设备执行修复操作的步骤包括:
采用自适应双器件数据校正机制对所述内存设备执行修复操作。
可选地,所述对所述内存设备执行修复操作的步骤包括:
采用封装后修复机制对所述内存设备执行修复操作。
可选地,所述对所述内存设备执行修复操作的步骤包括:
采用部分缓存线备用机制对所述内存设备执行修复操作。
可选地,还包括:
采用所述操作系统调用平台错误接口生成针对所述内存设备的离线页面信息。
本发明实施例还公开了一种内存设备控制装置,包括:
边带错误纠查信息获取模块,用于响应监听到所述内存设备的错误信息,获取边带错误纠查信息;
颗粒上错误纠查信息获取模块,用于获取颗粒上错误纠查信息;
位宽信息确定模块,用于确定针对所述内存设备的位宽信息,以及所述位宽信息下的错误场景信息;
位置信息确定模块,用于通过所述边带错误纠查信息,和所述颗粒上错误纠查信息确定针对所述错误信息在所述内存设备的缓存行的位置信息;
隔离操作执行模块,用于当所述位置信息与所述错误场景信息匹配时,对所述内存设备执行隔离操作。
可选地,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为四单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在多个比特错误。
可选地,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为四单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在单个比特错误,且所述第二颗粒的连续预读文件所包含的128比特数据中存在多个目标比特错误,所述目标比特错误在相同缓存行。
可选地,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为四单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在单个比特错误,且所述第二颗粒的连续预读文件所包含的128比特数据中存在多个目标比特错误,所述目标比特错误在不同缓存行。
可选地,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为八单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在多个比特错误。
可选地,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为八单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在单个比特错误,且所述第二颗粒的连续预读文件所包含的128比特数据中存在多个目标比特错误,所述目标比特错误在相同缓存行。
可选地,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为十六单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在多个比特错误。
可选地,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为十六单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在单个比特错误,且所述第二颗粒的连续预读文件所包含的128比特数据中存在多个目标比特错误。
可选地,所述内存设备装载于服务器,所述服务器配置有基本输入输出系统,所述内存设备具有对应的内存控制器,还包括:
响应监听到所述内存设备的错误信息,采用所述内存控制器对所述内存设备完成巡检操作,触发所述基本输入输出系统执行系统管理中断操作。
可选地,所述边带错误纠查信息获取模块包括:
带错误纠查信息获取子模块,用于采用所述基本输入输出系统获取边带错误纠查信息。
可选地,所述颗粒上错误纠查信息获取模块包括:
颗粒上错误纠查信息获取子模块,用于采用所述基本输入输出系统获取颗粒上错误纠查信息。
可选地,所述方法应用于误检查和纠正程序,还包括:
误检查和纠正程序退出模块,用于当所述位置信息与所述错误场景信息不匹配时,采用所述基本输入输出系统退出所述误检查和纠正程序。
可选地,所述服务器配置有操作系统,所述隔离操作执行模块包括:
电源管理标准事件信息生成子模块,用于采用所述基本输入输出系统生成针对所述内存设备的电源管理标准事件信息;
内存设备执行系统控制中断子模块,用于采用所述基本输入输出系统向所述操作系统发送所述电源管理标准事件信息,以控制所述操作系统对所述内存设备执行系统控制中断。
可选地,还包括:
修复模块,用于当所述位置信息与所述错误场景信息匹配时,对所述内存设备执行修复操作。
可选地,所述修复模块包括:
第一修复子模块,用于采用自适应双器件数据校正机制对所述内存设备执行修复操作。
可选地,所述修复模块包括:
第二修复子模块,用于采用封装后修复机制对所述内存设备执行修复操作。
可选地,所述修复模块包括:
第三修复子模块,用于采用部分缓存线备用机制对所述内存设备执行修复操作。
可选地,还包括:
离线页面信息生成模块,用于采用所述操作系统调用平台错误接口生成针对所述内存设备的离线页面信息。
本发明实施例还公开了一种服务器,所述服务器装载有内存设备,用于响应监听到所述内存设备的错误信息,获取边带错误纠查信息;获取颗粒上错误纠查信息;确定针对所述内存设备的位宽信息,以及所述位宽信息下的错误场景信息;通过所述边带错误纠查信息,和所述颗粒上错误纠查信息确定针对所述错误信息在所述内存设备的缓存行的位置信息;当所述位置信息与所述错误场景信息匹配时,对所述内存设备执行隔离操作。
本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现如本发明实施例所述的方法。
本发明实施例还公开了一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的方法。
本发明实施例包括以下优点:
本发明实施例,通过响应监听到所述内存设备的错误信息,获取边带错误纠查信息;获取颗粒上错误纠查信息;确定针对所述内存设备的位宽信息,以及所述位宽信息下的错误场景信息;通过所述边带错误纠查信息,和所述颗粒上错误纠查信息确定针对所述错误信息在所述内存设备的缓存行的位置信息;当所述位置信息与所述错误场景信息匹配时,对所述内存设备执行隔离操作,实现了在出现了当前内存纠错机制覆盖不到的错误时,也可以对储存内存进行隔离,有效降低了因内存设备错误导致宕机的概率。
附图说明
图1是在实际应用中的缓存行数据示意图;
图2是本发明实施例中提供的一种内存设备控制方法的步骤流程图;
图3是本发明实施例中提供的一种针对内存颗粒的示意图A;
图4是本发明实施例中提供的一种针对内存颗粒的示意图B;
图5是本发明实施例中提供的一种针对内存颗粒的示意图C;
图6是本发明实施例提供的一种缓存行数据示意图;
图7是本发明实施例中提供的一种针对内存颗粒的示意图D;
图8是本发明实施例中提供的一种针对内存颗粒的示意图E;
图9是本发明实施例中提供的一种针对内存颗粒的示意图F;
图10是本发明实施例中提供的一种针对内存颗粒的示意图G;
图11是本发明实施例中提供的一种内存设备控制方法流程示意图;
图12是本发明实施例中提供的一种内存设备控制装置的结构框图;
图13是本发明实施例中提供的一种电子设备的硬件结构框图;
图14是本发明实施例中提供的一种计算机可读介质的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
为使本领域技术人员更好地理解本发明实施例,以下对本发明实施例所涉及的部分技术名词进行说明。
ECC:Error Checking and Correcting,错误检查和纠正;
BIOS:Basic Input Output System,直译过来后中文名称就是"基本输入输出系统"在IBM PC兼容系统上,是一种业界标准的固件接口。BIOS是电脑启动时加载的第一个软件。其实,它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。此外,BIOS还向作业系统提供一些系统参数。系统硬件的变化是由BIOS隐藏,程序使用BIOS功能而不是直接控制硬件。现代作业系统会忽略BIOS提供的抽象层并直接控制硬件组件。
UCE:Uncorrectable Error,不可纠正错误;
CE:Correctable Error,可纠正错误;
CPER:Common Platform Error Record,公共平台错误记录;
ACPI:Advanced Configuration and Power Management Interface,高级配置与电源接口,在实际应用中,其可以做为一种电源管理标准;
APEI:ACPI Platform Error Interface,针对ACPI的平台错误接口;
IMC:Integrated Memory Controller,集成存储器控制器;
Memory Controller一般指内存控制器。 内存控制器是计算机系统内部控制内存并且负责内存与CPU之间数据交换的重要组成部分。内存控制器决定了计算机系统所能使用的最大内存容量、内存BANK数、内存类型和速度、内存颗粒数据深度和数据宽度等等重要参数,也就是说决定了计算机系统的内存性能,从而也对计算机系统的整体性能产生较大影响。
ADDDC:Adaptive Double Device Data Correction (Multiple Region)多区域自适应的双设备数据纠错技术;
PPR:Post Package Repair,封装后修复技术;
PCLS:Partial Cache Line Sparing,部分缓存线备用;
DDR:Double Data Rate双倍速率,DDR SDRAM=双倍速率同步动态随机存储器,人们习惯称为DDR,其中,SDRAM 是Synchronous Dynamic Random Access Memory的缩写,即同步动态随机存取存储器。
DIMM全称Dual-Inline-Memory-Modules,中文名叫双列直插式存储模块,是指奔腾CPU推出后出现的新型内存条,它提供了64位的数据通道。
cache line:缓存行;
Bit:比特,信息量单位。
在实际应用中,相关技术通常采用的ECC机制包括:
边带错误检查和纠正校验机制Side-band ECC:
Side-band ECC即为标准DDR内存的ECC,ECC的生成和校验均可以由MemoryController来完成,针对DDR5:Data通道宽度为32-bit,有额外专门的8-bit ECC通道,同时DDR5支持双通道(一共80-bit),DIMM端也有专门的颗粒存储ECC。
读写操作如下:
写:Memory Controller会根据32-bit Data计算出ECC,再经ECC通道写入DIMM端ECC位置。
读:Memory Controller会读取Data和ECC,Memory Controller再根据Data计算出ECC,然后通过对比读取的ECC和计算出的ECC进行校验。
如ADDDC这类纠错技术,是通过内存增加额外的ECC颗粒,其过程由IMC来实现,纠错只允许每个突发信息Burst的数据(DDR5:40bit)错误出现在一个颗粒上,当每个突发信息burst错误出现在2个以上的颗粒上时,则无法保证准确纠错。
模具上错误检查和纠正校验机制On-die ECC:
On-die ECC是DDR5上推出的新功能,随着DDR的速度,工艺双重提升,Memory出现问题的概率大大的增加了,为了降低Memory问题,DDR颗粒本身可以对自己的数据进行校验(Data 128-bit, ECC 8-bit);即DDR5的颗粒自己具备ECC的生成,校验和存储功能,即所有的动作均在DIMM颗粒内进行。因此ECC数据不需要传输至Memory Controller端,此功能对Memory Controller透明,可以和Side-band ECC同时使用,互不干涉。在不增加IMC负载的前提下增强了内存的RAS特性,具体的读写操作如下:
写:Memory Controller将Data传输至DIMM,DIMM颗粒计算出ECC在存储至颗粒里面。
读:DIMM颗粒读出Data和对应的ECC,DIMM颗粒再次计算出ECC,和读取的ECC进行校验。
由上可知,On-Die ECC是对于内存现有ECC技术是对单个突发信息burst单颗粒上的Single或multi biterror(单位错误或多位错误)纠错的缺陷的一个补充,可以实现每个颗粒独立的对单次访问16个突发信息burst(128bit)的数据纠错,即多个颗粒同时出现单一比特错误single bit error也可以纠错,两者起着相辅相成的作用。
另外,由上可知,On-Die ECC是对每128bit长度的数据增加8bit的ECC校验位。
对于DDR5 x4颗粒,预取prefetch 16,则每次预取prefetch的数据长度为64bit,对于On Die ECC每次预取prefetch的长度仍然是128bit。因此,每次读写都需要在内部阵列Array中额外的读取64bit,用于计算ECC。数据写入时,由于数据长度也只有64bit,也需要从内部读取64bit数据用于与写入数据组成128bit计算ECC,即对于x4颗粒来说,每个8bit ECC校验值都对应着2个64 bit section。
对于DDR5 x8颗粒,prefetch 16,则每次prefetch的数据长度为128bit,刚好满足On Die ECC校验需求。
对于DDR5 x16颗粒,prefetch 16,则每次prefetch的数据长度为256bit,对应两组独立的128bit数据和8bit校验位,校验纠错过程并行进行;
Burst指突发长度,突发是指在同一行中相邻的存储单元连续进行数据传输的方式,连续传输所涉及到存储单元 (列)的数量就是突发长度,在DDRSDRAM中指连续传输的周期数。一般对应预取 bit 数目。
参考图1,图1是在实际应用中的缓存行数据示意图,图1示出了X4位宽内存下的两笔缓存行cache line,其中,区域101是一笔cache line,区域102是另一笔cache line剩下是on-ecc的ECC数据,不计入data统计。其中,区域103的两个颗粒是Side-band ECC的颗粒。
示例性地,若采用相关技术的ECC纠错方式,当出现Side-band ECC,每个Burst的数据(DDR5:40bit)错误出现在一个颗粒上,当每个burst错误出现在2个以上的颗粒上时,则无法保证准确纠错。而on-die Ecc每个颗粒每128bit只允许出现一个错误,两个以上错误则无法覆盖,从而导致宕机风险存在。
针对上述问题,本发明实施例提供了一种内存设备控制方法,针对特定位宽的内存设备,确定其在现有ECC覆盖外的高风险场景,并在获取到针对内存设备的错误信息时,可以基于Side-band ECC信息和on-die Ecc信息和高风险场景进行匹配,并在成功匹配时,将该错误判定为高风险错误,以此控制内存,从而降低因内存错误导致宕机的风险。
参照图2,示出了本发明实施例中提供的一种内存设备控制方法的步骤流程图,具体可以包括如下步骤:
步骤201,响应监听到所述内存设备的错误信息,获取边带错误纠查信息;
步骤202,获取颗粒上错误纠查信息;
步骤203,确定针对所述内存设备的位宽信息,以及所述位宽信息下的错误场景信息;
步骤204,通过所述边带错误纠查信息,和所述颗粒上错误纠查信息确定针对所述错误信息在所述内存设备的缓存行的位置信息;
步骤205,当所述位置信息与所述错误场景信息匹配时,对所述内存设备执行隔离操作。
在具体实现中,本发明实施例可以应用于服务器中,服务器可以用于监听针对内存设备的可纠正错误信息Correctable Error,并在监听到纠正错误信息CorrectableError时,响应于纠正错误信息Correctable Error获取Side-band ECC处理后的错误信息,即,边带错误纠查信息,同时,可以获取on-die ecc 修复后的错误信息,即颗粒上错误纠查信息。
本发明实施例还可以针对多种不同位宽的内存设备,在确定位宽信息后,确定出在该位宽信息下的错误场景信息,示例性地,错误场景信息可以包括在不同时间下,不同目标颗粒是否在相同缓存行cache line出现突发信息Burst中的比特bit错误数量。
SPD是内存模组上面的一个可擦写的eeprom,里面记录了该内存的许多重要信息,诸如内存的芯片及模组厂商、工作频率、工作电压、速度、容量、电压与行、列地址带宽等参数。
在具体实现中,本发明实施例可以在服务器插入内存设备后,从SPD读取针对内存设备的位宽信息。
Bank是指内存条中存储阵列。由于制造工艺的原因,一个内存芯片的存储阵列的规模一般不会做的太大,需要使用几个阵列分别工作,一个内存条通常有4个、8个bank,具体数量取决于内存模块的设计和规格。
在实际应用中,边带错误纠查信息Side-band ECC中可以包括系统地址,故障颗粒,Bank,行、列信息等等,颗粒上错误纠查信息on-die Ecc中可以包括故障颗粒,Bank,行信息。
在实际应用中,每个缓存行cacheline的读取都是对齐的,即,512字节对齐。
所以,通过Side-band ECC和on-die Ecc中的行、列信息则可以确定错误信息在缓存行cacheline的位置。
当错误信息在缓存行cacheline的位置与错误场景信息匹配时,则可以判定该错误信息为高风险错误,从而可以对其进行隔离操作,以防止因该错误导致服务器宕机。
本发明实施例,通过响应监听到所述内存设备的错误信息,获取边带错误纠查信息;获取颗粒上错误纠查信息;确定针对所述内存设备的位宽信息,以及所述位宽信息下的错误场景信息;通过所述边带错误纠查信息,和所述颗粒上错误纠查信息确定针对所述错误信息在所述内存设备的缓存行的位置信息;当所述位置信息与所述错误场景信息匹配时,对所述内存设备执行隔离操作,实现了在出现了当前内存纠错机制覆盖不到的错误时,也可以对储存内存进行隔离,有效降低了因内存设备错误导致宕机的概率。
在上述实施例的基础上,提出了上述实施例的变型实施例,在此需要说明的是,为了使描述简要,在变型实施例中仅描述与上述实施例的不同之处。
在本发明的一个可选地实施例中,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为四单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在多个比特错误。
参考图3,图3是本发明实施例中提供的一种针对内存颗粒的示意图A;
当内存设备为X4位宽的内存时,第一颗粒为A颗粒,第二颗粒为E颗粒,示例性地,错误场景信息为:当时间Ⅰ时刻读取A颗粒的一笔cache line地址时发现某一Burst出现多个bit错误,在时间Ⅱ时刻读取颗粒E同一cache line地址时也发现该Burst出现多个bit错误。
在本发明的一个可选地实施例中,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为四单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在单个比特错误,且所述第二颗粒的连续预读文件所包含的128比特数据中存在多个目标比特错误,所述目标比特错误在相同缓存行。
参考图4,图4是本发明实施例中提供的一种针对内存颗粒的示意图B;
当内存设备为X4位宽的内存时,第一颗粒为A颗粒,第二颗粒为E颗粒,示例性地,错误场景信息为,当时间Ⅰ时刻读取A颗粒的一笔cache line地址时发现颗粒A某一Burst出现多个bit错误,在时间Ⅱ时刻读取颗粒E同一cache line地址时也发现该Burst出现单个bit错误,而且该颗粒连续的prefetch 16所包含的128bit数据中不止一个bit错误(该错误在一笔cache line中)。
可选地,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为四单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在单个比特错误,且所述第二颗粒的连续预读文件所包含的128比特数据中存在多个目标比特错误,所述目标比特错误在不同缓存行。
参考图5,图5是本发明实施例中提供的一种针对内存颗粒的示意图C;
当内存设备为X4位宽的内存时,第一颗粒为A颗粒,第二颗粒为E颗粒,示例性地,错误场景信息为,当时间Ⅰ时刻读取A颗粒的一笔cache line地址时发现某一Burst出现多个bit错误,在时间Ⅱ时刻读取颗粒E同一cache line地址时也发现该Burst出现单个bit错误,而且该颗粒连续的prefetch 16所包含的128bit数据中不止一个bit错误(该错误跨越cache line)。
以上是针对X4位宽内存的特定错误场景信息的确定,通过确定针对X4位宽内存的错误场景信息,拓宽了当前ECC机制的覆盖范围,从而更进一步地降低了因内存设备出错导致宕机的风险。
参考图6,图6是本发明实施例提供的一种缓存行数据示意图,如图可知,对于DDR5x8颗粒,prefetch 16,则每次prefetch的数据长度为128bit,不会跨越Cache line。
在本发明的一个可选地实施例中,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为八单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在多个比特错误。
参考图7,图7是本发明实施例中提供的一种针对内存颗粒的示意图D;
当内存设备为X8位宽的内存时,第一颗粒为A颗粒,第二颗粒为E颗粒,示例性地,错误场景信息为,当时间Ⅰ时刻读取A颗粒的一笔cache line地址时发现某一Burst出现多个bit错误,在时间Ⅱ时刻读取颗粒E同一cache line地址时也发现该Burst出现多个bit错误。
在本发明的一个可选地实施例中,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为八单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在单个比特错误,且所述第二颗粒的连续预读文件所包含的128比特数据中存在多个目标比特错误,所述目标比特错误在相同缓存行。
参考图8,图8是本发明实施例中提供的一种针对内存颗粒的示意图E;
当内存设备为X8位宽的内存时,第一颗粒为A颗粒,第二颗粒为E颗粒,示例性地,错误场景信息为,当时间Ⅰ时刻读取A颗粒的一笔cache line地址时发现颗粒A某一Burst出现多个bit错误,在时间Ⅱ时刻读取颗粒E同一cache line地址时也发现该Burst出现单个bit错误,而且该颗粒连续的prefetch 16所包含的128bit数据中不止一个bit错误(该错误在一笔cache line中)。
以上是针对X8位宽内存的特定错误场景信息的确定,通过确定针对X8位宽内存的错误场景信息,拓宽了当前ECC机制的覆盖范围,从而更进一步地降低了因内存设备出错导致宕机的风险。
在本发明的一个可选地实施例中,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为十六单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在多个比特错误。
图9是本发明实施例中提供的一种针对内存颗粒的示意图F;
当内存设备为X16位宽的内存时,第一颗粒为A颗粒,第二颗粒为E颗粒,示例性地,错误场景信息为,当时间Ⅰ时刻读取A颗粒的一笔cache line地址时发现颗粒A某一Burst出现多个bit错误,在时间Ⅱ时刻读取颗粒E同一cache line地址时也发现该Burst出现多个bit错误。
在本发明的一个可选地实施例中,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为十六单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在单个比特错误,且所述第二颗粒的连续预读文件所包含的128比特数据中存在多个目标比特错误。
参考图10,图10是本发明实施例中提供的一种针对内存颗粒的示意图G;
当内存设备为X16位宽的内存时,第一颗粒为A颗粒,第二颗粒为E颗粒,示例性地,错误场景信息为,当时间Ⅰ时刻读取A颗粒的一笔cache line地址时发现颗粒A某一Burst出现多个bit错误,在时间Ⅱ时刻读取颗粒E同一cache line地址时也发现该Burst出现单个bit错误,并且该颗粒连续的prefetch 16所包含的128bit(on-die ecc的计算区域)数据中不止一个bit错误。
以上是针对X16位宽内存的特定错误场景信息的确定,通过确定针对X8位宽内存的错误场景信息,拓宽了当前ECC机制的覆盖范围,从而更进一步地降低了因内存设备出错导致宕机的风险。
当出现如上错误场景信息,则该cache line错误存在不可纠正的风险,所以,当错误信息在缓存行cacheline的位置与错误场景信息匹配时,使用故障隔离措施或者故障修复措施,及时处理风险,避免更严重的错误(宕机)产生。
在本发明的一个可选地实施例中,所述内存设备装载于服务器,所述服务器配置有基本输入输出系统BIOS,所述内存设备具有对应的内存控制器IMC。在具体实现中,本发明实施例可以响应监听到内存设备的错误信息,采用内存控制器对内存设备IMC完成对内存设备的巡检操作,触发基本输入输出系统执行系统管理中断操作SMI,从而更进一步地降低了服务器因内存错误导致出现宕机的风险。
在本发明的一个可选地实施例中,所述获取边带错误纠查信息的步骤包括:采用所述基本输入输出系统获取边带错误纠查信息。
可选地,所述获取颗粒上错误纠查信息的步骤包括:
采用所述基本输入输出系统获取颗粒上错误纠查信息。
由于BIOS是开机时最先启动的系统,所以,由BIOS获取边带错误纠查信息和颗粒上错误纠查信息可以有效提升对ECC的获取效率。
在本发明的一个可选地实施例中,所述方法应用于误检查和纠正程序,还包括:
当所述位置信息与所述错误场景信息不匹配时,采用所述基本输入输出系统退出所述误检查和纠正程序。
在具体实现中,当所述位置信息与所述错误场景信息不匹配时,则可以判定这笔错误并非不可纠错错误,即,该错误的风险不高,可以直接退出误检查和纠正程序,以减小线程占用。
在本发明的一个可选地实施例中,所述服务器配置有操作系统,所述对所述内存设备执行隔离操作的步骤包括:
采用所述基本输入输出系统生成针对所述内存设备的电源管理标准事件信息;
采用所述基本输入输出系统向所述操作系统发送所述电源管理标准事件信息,以控制所述操作系统对所述内存设备执行系统控制中断。
在实际应用中,服务器可以配置有操作系统OS,本发明可以采用基本输入输出系统生成针对内存设备的电源管理标准事件信息,并采用基本输入输出系统向操作系统发送电源管理标准事件信息,以控制操作系统对内存设备执行系统控制中断,可选地,还可以采用操作系统调用平台错误接口生成针对内存设备的离线页面信息,即,OS可以使用APEI做故障内存的page offline防止后续错误地址继续访问,导致错误升级。
在本发明的一个可选地实施例中,还包括:
当所述位置信息与所述错误场景信息匹配时,对所述内存设备执行修复操作。
在具体实现中,本发明实施例除了对故障的内存设备执行隔离操作,还可以对其执行修复操作,从而提升了服务器的可用性。
可选地,所述对所述内存设备执行修复操作的步骤包括:
采用自适应双器件数据校正机制ADDDC对所述内存设备执行修复操作。
ADDDC的全称是Adaptive DDDC,它分为SR(Single Region)和MR(MultiRegions)。
其中ADDDC-SR的功能主要是在同一Rank内,DDDC可以实现总共两次的内存故障颗粒替换(X8颗粒内存不支持此功能)。
ADDDC-MR的功能则是在Virtual lockstep的模式下,可以修复DRAM颗粒的硬故障。当Bank/Rank 区域粒度下出现了一个硬故障,它将被通过自适应虚拟lockstep的方式映射出去。除此以外还有ADDDC-MR+1,它能允许两次这样的硬故障,之后可以再纠正一个bit故障。
本发明实施例可以通过采用自适应双器件数据校正机制对所述内存设备执行修复操作,以提升对高风险错误的修复能力。
可选地,所述对所述内存设备执行修复操作的步骤包括:
采用封装后修复机制PPR对所述内存设备执行修复操作。
封装后修复Post Package Repair(PPR),本发明实施例可以通过采用封装后修复机制PPR对所述内存设备执行修复操作,以提升对高风险错误的修复能力。
可选地,本发明实施例还可以采用部分缓存线备用机制PCLS对所述内存设备执行修复操作,以提升对高风险错误的修复能力。
为使本领域技术人员更好地理解本发明实施例,以下采用一示例对本发明实施例进行说明。
参考图11,图11是本发明实施例中提供的一种内存设备控制方法流程示意图。
实现过程可以由BIOS系统,OS系统共同参与实现,BIOS和OS的实现过程如下:
1)当内存产生CE并且触发系统管理中断操作SMI,bios收集 Side-band ECC处理后的错误信息;
2)同时设定系统管理中断操作SMI完成巡检,当内存控制器IMC完成巡检后,触发SMI,BIOS主动收集on-die ecc 修复后的错误信息;
3)BIOS收集到On-die ECC和 Side-band ECC处理后的错误信息,根据当前系统使用的内存位宽判定是否满足各自位宽的几种情景模式;
4)当不满足情景模式时程序退出;
5)当满足情景模式时使用BIOS APEI的SCI方式,设定APEI的公共平台错误记录标识CPER flag,把可执行page首地址填入APEI的table;
OS 使用APEI做故障内存的page offline防止后续错误地址继续访问,导致错误升级。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图12,示出了本发明实施例中提供的一种内存设备控制装置的结构框图,具体可以包括如下模块:
边带错误纠查信息获取模块1201,用于响应监听到所述内存设备的错误信息,获取边带错误纠查信息;
颗粒上错误纠查信息获取模块1202,用于获取颗粒上错误纠查信息;
位宽信息确定模块1203,用于确定针对所述内存设备的位宽信息,以及所述位宽信息下的错误场景信息;
位置信息确定模块1204,用于通过所述边带错误纠查信息,和所述颗粒上错误纠查信息确定针对所述错误信息在所述内存设备的缓存行的位置信息;
隔离操作执行模块1205,用于当所述位置信息与所述错误场景信息匹配时,对所述内存设备执行隔离操作。
可选地,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为四单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在多个比特错误。
可选地,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为四单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在单个比特错误,且所述第二颗粒的连续预读文件所包含的128比特数据中存在多个目标比特错误,所述目标比特错误在相同缓存行。
可选地,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为四单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在单个比特错误,且所述第二颗粒的连续预读文件所包含的128比特数据中存在多个目标比特错误,所述目标比特错误在不同缓存行。
可选地,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为八单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在多个比特错误。
可选地,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为八单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在单个比特错误,且所述第二颗粒的连续预读文件所包含的128比特数据中存在多个目标比特错误,所述目标比特错误在相同缓存行。
可选地,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为十六单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在多个比特错误。
可选地,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为十六单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在单个比特错误,且所述第二颗粒的连续预读文件所包含的128比特数据中存在多个目标比特错误。
可选地,所述内存设备装载于服务器,所述服务器配置有基本输入输出系统,所述内存设备具有对应的内存控制器,还包括:
响应监听到所述内存设备的错误信息,采用所述内存控制器对所述内存设备完成巡检操作,触发所述基本输入输出系统执行系统管理中断操作。
可选地,所述边带错误纠查信息获取模块包括:
带错误纠查信息获取子模块,用于采用所述基本输入输出系统获取边带错误纠查信息。
可选地,所述颗粒上错误纠查信息获取模块包括:
颗粒上错误纠查信息获取子模块,用于采用所述基本输入输出系统获取颗粒上错误纠查信息。
可选地,所述方法应用于误检查和纠正程序,还包括:
误检查和纠正程序退出模块,用于当所述位置信息与所述错误场景信息不匹配时,采用所述基本输入输出系统退出所述误检查和纠正程序。
可选地,所述服务器配置有操作系统,所述隔离操作执行模块包括:
电源管理标准事件信息生成子模块,用于采用所述基本输入输出系统生成针对所述内存设备的电源管理标准事件信息;
内存设备执行系统控制中断子模块,用于采用所述基本输入输出系统向所述操作系统发送所述电源管理标准事件信息,以控制所述操作系统对所述内存设备执行系统控制中断。
可选地,还包括:
修复模块,用于当所述位置信息与所述错误场景信息匹配时,对所述内存设备执行修复操作。
可选地,所述修复模块包括:
第一修复子模块,用于采用自适应双器件数据校正机制对所述内存设备执行修复操作。
可选地,所述修复模块包括:
第二修复子模块,用于采用封装后修复机制对所述内存设备执行修复操作。
可选地,所述修复模块包括:
第三修复子模块,用于采用部分缓存线备用机制对所述内存设备执行修复操作。
可选地,还包括:
离线页面信息生成模块,用于采用所述操作系统调用平台错误接口生成针对所述内存设备的离线页面信息。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还公开了一种服务器,所述服务器装载有内存设备,用于响应监听到所述内存设备的错误信息,获取边带错误纠查信息;获取颗粒上错误纠查信息;确定针对所述内存设备的位宽信息,以及所述位宽信息下的错误场景信息;通过所述边带错误纠查信息,和所述颗粒上错误纠查信息确定针对所述错误信息在所述内存设备的缓存行的位置信息;当所述位置信息与所述错误场景信息匹配时,对所述内存设备执行隔离操作。
对于服务器实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
另外,本发明实施例还提供了一种电子设备,包括:处理器,存储器,存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述内存设备控制方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述内存设备控制方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
图13为实现本发明各个实施例的一种电子设备的硬件结构示意图。
该电子设备1300包括但不限于:射频单元1301、网络模块1302、音频输出单元1303、输入单元1304、传感器1305、显示单元1306、用户输入单元1307、接口单元1308、存储器1309、处理器1310、以及电源1311等部件。本领域技术人员可以理解,图13中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
应理解的是,本发明实施例中,射频单元1301可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器1310处理;另外,将上行的数据发送给基站。通常,射频单元1301包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元1301还可以通过无线通信系统与网络和其他设备通信。
电子设备通过网络模块1302为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元1303可以将射频单元1301或网络模块1302接收的或者在存储器1309中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元1303还可以提供与电子设备1300执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元1303包括扬声器、蜂鸣器以及受话器等。
输入单元1304用于接收音频或视频信号。输入单元1304可以包括图形处理器(Graphics Processing Unit,GPU)13041和麦克风13042,图形处理器13041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元1306上。经图形处理器13041处理后的图像帧可以存储在存储器1309(或其它存储介质)中或者经由射频单元1301或网络模块1302进行发送。麦克风13042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元1301发送到移动通信基站的格式输出。
电子设备1300还包括至少一种传感器1305,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板13061的亮度,接近传感器可在电子设备1300移动到耳边时,关闭显示面板13061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器1305还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元1306用于显示由用户输入的信息或提供给用户的信息。显示单元1306可包括显示面板13061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode, OLED)等形式来配置显示面板13061。
用户输入单元1307可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元1307包括触控面板13071以及其他输入设备13072。触控面板13071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板13071上或在触控面板13071附近的操作)。触控面板13071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1310,接收处理器1310发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板13071。除了触控面板13071,用户输入单元1307还可以包括其他输入设备13072。具体地,其他输入设备13072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板13071可覆盖在显示面板13061上,当触控面板13071检测到在其上或附近的触摸操作后,传送给处理器1310以确定触摸事件的类型,随后处理器1310根据触摸事件的类型在显示面板13061上提供相应的视觉输出。虽然在图13中,触控面板13071与显示面板13061是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板13071与显示面板13061集成而实现电子设备的输入和输出功能,具体此处不做限定。
接口单元1308为外部装置与电子设备1300连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元1308可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备1300内的一个或多个元件或者可以用于在电子设备1300和外部装置之间传输数据。
存储器1309可用于存储软件程序以及各种数据。存储器1309可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1309可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器1310是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器1309内的软件程序和/或模块,以及调用存储在存储器1309内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器1310可包括一个或多个处理单元;优选的,处理器1310可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1310中。
电子设备1300还可以包括给各个部件供电的电源1311(比如电池),优选的,电源1311可以通过电源管理系统与处理器1310逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
另外,电子设备1300包括一些未示出的功能模块,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
如图14所示,在本发明提供的又一实施例中,还提供了一种计算机可读存储介质1401,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中所述的内存设备控制方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (21)

1.一种内存设备控制方法,其特征在于,包括:
响应监听到所述内存设备的错误信息,获取边带错误纠查信息;
获取颗粒上错误纠查信息;
确定针对所述内存设备的位宽信息,以及所述位宽信息下的错误场景信息;
通过所述边带错误纠查信息,和所述颗粒上错误纠查信息确定针对所述错误信息在所述内存设备的缓存行的位置信息;
当所述位置信息与所述错误场景信息匹配时,对所述内存设备执行隔离操作。
2.根据权利要求1所述的内存设备控制方法,其特征在于,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为四单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在多个比特错误。
3.根据权利要求1所述的内存设备控制方法,其特征在于,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为四单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在单个比特错误,且所述第二颗粒的连续预读文件所包含的128比特数据中存在多个目标比特错误,所述目标比特错误在相同缓存行。
4.根据权利要求1所述的内存设备控制方法,其特征在于,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为四单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在单个比特错误,且所述第二颗粒的连续预读文件所包含的128比特数据中存在多个目标比特错误,所述目标比特错误在不同缓存行。
5.根据权利要求1所述的内存设备控制方法,其特征在于,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为八单位或十六单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在多个比特错误。
6.根据权利要求1所述的内存设备控制方法,其特征在于,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为八单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在单个比特错误,且所述第二颗粒的连续预读文件所包含的128比特数据中存在多个目标比特错误,所述目标比特错误在相同缓存行。
7.根据权利要求1所述的内存设备控制方法,其特征在于,所述内存设备包括第一颗粒和第二颗粒,所述第一颗粒和所述第二颗粒对应相同的缓存行,所述位宽信息为十六单位;所述错误场景信息为,在第一时间针对所述第一颗粒读取所述缓存行时,所述缓存行的突发信息中存在多个比特错误,在第二时间针对所述第二颗粒读取所述缓存行时,所述突发信息存在单个比特错误,且所述第二颗粒的连续预读文件所包含的128比特数据中存在多个目标比特错误。
8.根据权利要求1所述的内存设备控制方法,其特征在于,所述内存设备装载于服务器,所述服务器配置有基本输入输出系统,所述内存设备具有对应的内存控制器,还包括:
响应监听到所述内存设备的错误信息,采用所述内存控制器对所述内存设备完成巡检操作,触发所述基本输入输出系统执行系统管理中断操作。
9.根据权利要求8所述的内存设备控制方法,其特征在于,所述获取边带错误纠查信息的步骤包括:
采用所述基本输入输出系统获取边带错误纠查信息。
10.根据权利要求9所述的内存设备控制方法,其特征在于,所述获取颗粒上错误纠查信息的步骤包括:
采用所述基本输入输出系统获取颗粒上错误纠查信息。
11.根据权利要求8所述的内存设备控制方法,其特征在于,所述方法应用于误检查和纠正程序,还包括:
当所述位置信息与所述错误场景信息不匹配时,采用所述基本输入输出系统退出所述误检查和纠正程序。
12.根据权利要求8所述的内存设备控制方法,其特征在于,所述服务器配置有操作系统,所述对所述内存设备执行隔离操作的步骤包括:
采用所述基本输入输出系统生成针对所述内存设备的电源管理标准事件信息;
采用所述基本输入输出系统向所述操作系统发送所述电源管理标准事件信息,以控制所述操作系统对所述内存设备执行系统控制中断。
13.根据权利要求8所述的内存设备控制方法,其特征在于,还包括:
当所述位置信息与所述错误场景信息匹配时,对所述内存设备执行修复操作。
14.根据权利要求13所述的内存设备控制方法,其特征在于,所述对所述内存设备执行修复操作的步骤包括:
采用自适应双器件数据校正机制对所述内存设备执行修复操作。
15.根据权利要求13所述的内存设备控制方法,其特征在于,所述对所述内存设备执行修复操作的步骤包括:
采用封装后修复机制对所述内存设备执行修复操作。
16.根据权利要求13所述的内存设备控制方法,其特征在于,所述对所述内存设备执行修复操作的步骤包括:
采用部分缓存线备用机制对所述内存设备执行修复操作。
17.根据权利要求12所述的内存设备控制方法,其特征在于,还包括:
采用所述操作系统调用平台错误接口生成针对所述内存设备的离线页面信息。
18.一种内存设备控制装置,其特征在于,包括:
边带错误纠查信息获取模块,用于响应监听到所述内存设备的错误信息,获取边带错误纠查信息;
颗粒上错误纠查信息获取模块,用于获取颗粒上错误纠查信息;
位宽信息确定模块,用于确定针对所述内存设备的位宽信息,以及所述位宽信息下的错误场景信息;
位置信息确定模块,用于通过所述边带错误纠查信息,和所述颗粒上错误纠查信息确定针对所述错误信息在所述内存设备的缓存行的位置信息;
隔离操作执行模块,用于当所述位置信息与所述错误场景信息匹配时,对所述内存设备执行隔离操作。
19.一种服务器,其特征在于,所述服务器装载有内存设备,用于响应监听到所述内存设备的错误信息,获取边带错误纠查信息;获取颗粒上错误纠查信息;确定针对所述内存设备的位宽信息,以及所述位宽信息下的错误场景信息;通过所述边带错误纠查信息,和所述颗粒上错误纠查信息确定针对所述错误信息在所述内存设备的缓存行的位置信息;当所述位置信息与所述错误场景信息匹配时,对所述内存设备执行隔离操作。
20.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现如权利要求1-17任一项所述的方法。
21.一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-17任一项所述的方法。
CN202311098886.3A 2023-08-29 2023-08-29 一种内存设备控制方法、装置、电子设备及存储介质 Active CN116841795B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311098886.3A CN116841795B (zh) 2023-08-29 2023-08-29 一种内存设备控制方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311098886.3A CN116841795B (zh) 2023-08-29 2023-08-29 一种内存设备控制方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN116841795A true CN116841795A (zh) 2023-10-03
CN116841795B CN116841795B (zh) 2024-01-12

Family

ID=88163787

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311098886.3A Active CN116841795B (zh) 2023-08-29 2023-08-29 一种内存设备控制方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116841795B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170091025A1 (en) * 2015-09-30 2017-03-30 Seoul National University R&Db Foundation Memory system and method for error correction of memory
CN114064333A (zh) * 2020-08-05 2022-02-18 华为技术有限公司 一种内存故障处理方法和装置
CN114968652A (zh) * 2022-07-09 2022-08-30 超聚变数字技术有限公司 故障处理方法及计算设备
CN114996065A (zh) * 2022-05-30 2022-09-02 阿里巴巴(中国)有限公司 内存故障预测方法、装置及设备
CN115016963A (zh) * 2022-05-06 2022-09-06 阿里巴巴(中国)有限公司 内存页隔离方法、内存监控系统及计算机可读存储介质
CN115629905A (zh) * 2022-12-21 2023-01-20 苏州浪潮智能科技有限公司 一种内存故障预警方法、装置、电子设备及可读介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170091025A1 (en) * 2015-09-30 2017-03-30 Seoul National University R&Db Foundation Memory system and method for error correction of memory
CN114064333A (zh) * 2020-08-05 2022-02-18 华为技术有限公司 一种内存故障处理方法和装置
CN115016963A (zh) * 2022-05-06 2022-09-06 阿里巴巴(中国)有限公司 内存页隔离方法、内存监控系统及计算机可读存储介质
CN114996065A (zh) * 2022-05-30 2022-09-02 阿里巴巴(中国)有限公司 内存故障预测方法、装置及设备
CN114968652A (zh) * 2022-07-09 2022-08-30 超聚变数字技术有限公司 故障处理方法及计算设备
CN115629905A (zh) * 2022-12-21 2023-01-20 苏州浪潮智能科技有限公司 一种内存故障预警方法、装置、电子设备及可读介质

Also Published As

Publication number Publication date
CN116841795B (zh) 2024-01-12

Similar Documents

Publication Publication Date Title
CN113110802B (zh) 图像块的处理方法、装置、电子设备、可读存储介质
US20060117239A1 (en) Method and related apparatus for performing error checking-correcting
US8806285B2 (en) Dynamically allocatable memory error mitigation
CN109101363B (zh) 基于Android系统的异常恢复方法、装置、智能设备及存储介质
WO2020073691A1 (zh) 闪存自检的方法、固态硬盘以及存储装置
US20210091845A1 (en) Beam state detection method and terminal
KR20140045553A (ko) 모바일 메모리 캐시 읽기 최적화
CN108351818B (zh) 用于在存储器中实现纠错码的系统和方法
KR20220145880A (ko) 전력 조정 방법 및 전자 기기
JP2008090442A (ja) メモリ制御装置
US20220132250A1 (en) Mobile Terminal and Control Method
CN116594493A (zh) 一种硬盘设备控制方法、装置、电子设备及存储介质
CN116841795B (zh) 一种内存设备控制方法、装置、电子设备及存储介质
WO2024148876A1 (zh) 设备的自动修复方法、装置、电子设备及存储介质
KR102457671B1 (ko) 동적 랜덤 액세스 메모리(dram) 캐시 태그들을 위한 공간 효율적인 저장소의 제공
CN117806857B (zh) 故障定位信息生成方法、装置、电子设备及存储介质
US20230367515A1 (en) Storing and recovering critical data in a memory device
CN115543221B (zh) 固态硬盘的数据迁移方法、装置、电子设备及存储介质
CN115794524A (zh) 一种校验方法、装置、电子设备及可读存储介质
KR20190119489A (ko) 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
JP7293332B2 (ja) モニタリング結果の決定方法及び端末
US20220044708A1 (en) Storage device having multiple storage dies and identification method
CN115793991B (zh) 一种数据的读取方法、装置、电子设备及可读存储介质
CN117631084A (zh) Sar失效检测方法、电子装置和可读存储介质
CN116206670A (zh) 固态硬盘的故障定位方法、装置、电子设备及存储介质

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