一种内存访问的方法、设备及系统的制作方法

文档序号:6507407阅读:149来源:国知局
一种内存访问的方法、设备及系统的制作方法
【专利摘要】本发明实施例提供一种内存访问的方法、设备及系统,提供层次化的,灵活的内存靠性级别的设定方法,实现不同运行对象类型、不同可靠性级别的内存访问机制。本发明实施例提供的方法包括:内存设备接收处理器发送的所述处理器的运行对象的可靠性级别信息;根据所述运行对象的可靠性级别信息建立第一映射关系和第二映射关系;接收所述处理器发送的访问请求;根据所述访问请求和所述第一映射关系对所述运行对象的数据进行访问,以及根据所述访问请求和所述第二映射关系对所述运行对象的容错编码进行访问。
【专利说明】一种内存访问的方法、设备及系统

【技术领域】
[0001] 本发明涉及计算机系统设计领域,尤其涉及一种内存访问的方法、设备及系统。

【背景技术】
[0002] 随着计算机系统的存储容量规模不断增加,内存可靠性的提升对计算机系统运行 的稳定至关重要,当前业界通常采用容错编码对内存的数据进行校验,以提升内存的可靠 性,常见的容错编码方法包括单比特纠错-双比特检错(Single Error Correction-Double Error Detection,简称SEC-DED)方法、Chipkill (IBM公司开发的一种新的内存保护技术) 方法、BCH (取自Bose、Chaudhuri与Hocquenghem的缩写)容错编码方法和MIRROR (双模 镜像容错编码)方法等,特定的运行对象(例如应用程序、线程、进程、代码段等)在一定条件 下访问内存时,选用合适的容错编码方法才能够使得内存满足该特定的运行对象对相应数 据的正确访问,也即满足该特定的运行对象对内存可靠性的需求。现有技术的内存一般使 用单一的容错编码方法,访问内存时相应也使用该内存单一的容错编码方法对数据进行校 验。例如,现有技术中一种内存采用的容错编码方法是单比特纠错-双比特检错(Single Error Correction-Double Error Detection,简称 SEC-DED)方法,在对应用程序的数据进 行读访问的过程中,首先通过容错编码对读取的数据进行检错,只有在检出错误之后才通 过纠错编码进行纠错。发明人发现现有技术中至少存在如下问题:使用的容错编码方法单 一,不能满足不同的运行对象在不同条件下访问内存对内存的可靠性需求。


【发明内容】

[0003] 本发明的实施例提供一种内存访问的方法、设备及系统,提供层次化的,灵活的内 存靠性级别的设定方法,实现不同运行对象类型、不同可靠性级别的内存访问机制。
[0004] 为达到上述目的,本发明的实施例采用如下技术方案:
[0005] 第一方面,本发明实施例提供一种内存访问方法,包括:
[0006] 内存设备接收处理器发送的所述处理器的运行对象的可靠性级别信息,其中,所 述可靠性级别信息包含所述运行对象的标识信息以及所述运行对象的可靠性级别对应的 容错编码方法,所述运行对象的可靠性级别表示所述运行对象对内存可靠性需求的高低;
[0007] 所述内存设备根据所述运行对象的可靠性级别信息建立第一映射关系和第二映 射关系,其中,所述第一映射关系包含一一对应的所述运行对象的标识信息、所述运行对 象的可靠性级别以及所述运行对象的数据所存储的数据区域DR ;所述第二映射关系包含 一一对应的所述运行对象的标识信息、所述运行对象的可靠性级别以及与所述运行对象的 数据对应的容错编码所存储的可配置纠错编码区域CECR ;
[0008] 所述内存设备接收所述处理器发送的访问请求,所述访问请求包含所述处理器运 行对象的标识信息以及所述运行对象的数据的物理地址信息和所述运行对象的容错编码 的物理地址信息;
[0009] 所述内存设备根据所述访问请求和所述第一映射关系对所述运行对象的数据进 行访问,以及根据所述访问请求和所述第二映射关系对所述运行对象的容错编码进行访 问。
[0010] 在第一种可能的实现方式中,结合第一方面,所述内存设备根据所述运行对象的 可靠性级别信息建立第一映射关系和第二映射关系,包括:
[0011] 所述内存设备根据所述可靠性级别信息中的所述容错编码方法查询预设的所述 运行对象的所述可靠性级别与容错编码方法的对应关系表,获取所述运行对象的可靠性级 别;
[0012] 所述内存设备根据所述运行对象的可靠性级别查询预设的可靠性级别与所述DR 的对应关系表,获取与所述运行对象的可靠性级别对应的DR,并生成所述第一映射关系;
[0013] 所述内存设备根据所述运行对象的可靠性级别查询预设的可靠性级别与所述 CECR的对应关系表,获取与所述运行对象的可靠性级别对应的CECR,并生成所述第二映射 关系。
[0014] 在第二种可能的实现方式中,结合第一方面或者第一种可能的实现方式,所述内 存设备接收所述处理器发送的访问请求,其中,所述访问请求包括读访问请求;相应的,
[0015] 所述内存设备根据所述访问请求和所述第一映射关系对所述运行对象的数据进 行访问,以及根据所述访问请求和所述第二映射关系对所述运行对象的容错编码进行访 问,包括:
[0016] 所述内存设备根据所述运行对象的标识信息查询所述第一映射关系,获取所述运 行对象的数据所存储的DR,并生成对所述DR的数据读访问RD-d子请求,其中,所述RD-d子 请求包括所述运行对象的数据所存储的DR以及所述运行对象的数据的物理地址信息;以 及根据所述运行对象的标识信息查询所述第二映射关系,获取所述运行对象的容错编码所 存储的CECR,并生成对所述CECR的容错编码读访问RD-c子请求,其中,所述RD-c子请求包 括所述运行对象的容错编码所存储的CECR以及所述对象的容错编码的物理地址信息;
[0017] 所述内存设备在所述RD-d子请求所包括的DR中通过所述运行对象的数据的物理 地址信息进行查找,获取所述运行对象的数据;以及在所述RD-c子请求所包括的CECR中通 过对所述运行对象的容错编码物理地址信息进行查找,获取所述运行对象的容错编码;
[0018] 所述内存设备根据所述运行对象的容错编码对所述运行对象的数据进行校验,获 取所述运行对象的准确的数据;
[0019] 所述内存设备将所述经过校验的所述运行对象的准确的数据发送给所述处理器。
[0020] 在第三种可能的实现方式中,结合第一方面或第一种可能的实现方式,所述内存 设备接收所述处理器发送的访问请求,其中,所述访问请求包括写访问请求和需要写入所 述内存设备的数据,所述写访问请求包括所述运行对象的标识信息以及所述需要写入所述 内存设备的数据的物理地址信息和所述需要写入所述内存设备的数据的容错编码的物理 地址信息;相应的,
[0021] 所述内存设备根据所述访问请求和所述第一映射关系对所述运行对象的数据进 行访问,以及根据所述访问请求和所述第二映射关系对所述运行对象的容错编码进行访 问,包括:
[0022] 所述内存设备根据所述运行对象的标识信息查询所述第一映射关系,获取所述运 行对象的数据所存储的DR,并生成对所述DR的数据写访问WR-d子请求,其中,所述WR-d子 请求包括所述对象的数据所存储的DR以及所述需要写入所述内存设备的数据的物理地址 信息;以及根据所述运行对象的标识信息查询所述第二映射关系,获取所述运行对象对应 的CECR,并生成对所述CECR的容错编码WR-c写访问子请求,其中所述WR-c子请求包括所 述对象的容错编码所存储的CECR以及所述需要写入所述内存设备的数据的容错编码的物 理地址信息;
[0023] 所述内存设备通过所述运行对象的标识信息查找所述第二映射关系,得到所述运 行对象对应的容错编码方法,并通过所述对象对应的容错编码方法对所述需要写入所述内 存设备的数据进行容错编码处理,从而获取到与所述需要写入所述内存设备的数据对应的 容错编码,并将所述需要写入所述内存设备的数据和与所述需要写入所述内存设备的数据 对应的容错编码填入写请求队列;
[0024] 所述内存设备在所述WR-d子请求所包括的DR中通过对所述需要写入所述内存设 备的数据的物理地址信息进行查找获取到所述需要写入所述内存设备的数据的第一物理 地址,并将所述写请入队列中的所述需要写入所述内存设备的数据写入到所述第一物理地 址;以及在所述WR-c子请求所包括的CECR中通过对所述需要写入所述内存设备的数据的 容错编码的物理地址信息进行查找,获取到所述所述需要写入所述内存设备的数据的容错 编码的第二物理地址,并将所述写请求队列中的与所述需要写入所述内存设备的数据对应 的容错编码写入到所述第二物理地址。
[0025] 在第四种可能的实现方式中,结合第一方面,第一种至第三种可能的实现方式中 的任一项,当所述访问请求为读访问请求时,所述方法还包括,
[0026] 所述内存设备接收由所述处理器发送的所述改变后的所述可靠性级别信息,其 中,所述改变后的所述可靠性级别信息包括所述运行对象的标识信息以及所述运行对象的 可靠性级别改变后所对应的新的容错编码方法;
[0027] 所述内存设备根据所述改变后的所述可靠性级别信息中所述运行对象的可靠性 级别改变后所对应的新的容错编码方法,查询预设的所述运行对象的所述可靠性级别与容 错编码方法的对应关系表,更新所述第一映射关系和所述第二映射关系中的所述运行对象 的可靠性级别;
[0028] 所述内存设备根据所述第一映射关系中更新后的所述运行对象的可靠性级别查 询预设的可靠性级别与所述DR的对应关系表,更新所述第一映射关系中的DR ;
[0029] 所述内存设备根据所述第二映射关系中更新后的所述运行对象的可靠性级别查 询预设的可靠性级别与所述CECR的对应关系表,更新所述第二映射关系中的所述CECR。
[0030] 第二方面,本发明实施例提供了一种内存访问方法,包括:
[0031] 处理器设置所述处理器的运行对象的可靠性级别,其中,所述运行对象的可靠性 级别表示所述运行对象对内存可靠性需求的高低;
[0032] 所述处理器查询预设的所述运行对象的所述可靠性级别与容错编码方法的对应 关系,得到所述运行对象的可靠性级别对应的容错编码方法,并且向内存设备发送所述处 理器运行的对象的可靠性级别信息,其中,所述可靠性级别信息包含所述运行对象的标识 信息以及所述运行对象的可靠性级别对应的容错编码方法,以使得所述内存设备根据所述 运行对象的可靠性级别信息建立第一映射关系和第二映射关系,其中,所述第一映射关系 包含一一对应的所述运行对象的标识信息、所述运行对象的可靠性级别以及所述运行对象 的数据所存储的数据区域DR ;所述第二映射关系包含一一对应的所述运行对象的标识信 息、所述运行对象的可靠性级别以及与所述运行对象的数据对应的容错编码所存储的可配 置纠错编码区域CECR ;
[0033] 所述处理器向所述内存设备发送访问请求,所述访问请求包含所述运行的对象的 标识,所述运行对象的数据的物理地址信息,所述运行对象的容错编码的物理地址信息,以 使得所述内存设备根据所述访问请求和所述第一映射关系对所述运行对象的数据进行访 问,以及根据所述访问请求和所述第二映射关系对所述运行对象的容错编码进行访问。 [0034] 在第一种可能的实现方式中,结合第二方面,所述方法还包括:所述处理器改变所 述运行对象的可靠性级别,得到所述运行对象的可靠性级别改变后所对应的新的容错编码 方法;
[0035] 所述处理器向所述内存设备发送所述改变后的所述可靠性级别信息,其中,所述 改变后的所述可靠性级别信息包括所述运行对象的标识信息以及所述运行对象的可靠性 级别改变后所对应的新的容错编码方法,以使得所述内存设备根据所述改变后的所述可靠 性级别信息中所述运行对象的可靠性级别改变后所对应的新的容错编码方法,查询预设的 所述运行对象的所述可靠性级别与容错编码方法的对应关系表,更新所述第一映射关系和 所述第二映射关系中的所述运行对象的可靠性级别;以及根据所述第一映射关系中更新 后的所述运行对象的可靠性级别查询预设的可靠性级别与所述DR的对应关系表,更新所 述第一映射关系中的DR;以及根据所述第二映射关系中更新后的所述运行对象的可靠性 级别查询预设的可靠性级别与所述CECR的对应关系表,更新所述第二映射关系中的所述 CECR。
[0036] 第三方面,本发明实施例提供了 一种内存设备,包括:
[0037] 接收单元,用于接收处理器发送的所述处理器的运行对象的可靠性级别信息,其 中,所述可靠性级别信息包含所述运行对象的标识信息以及所述运行对象的可靠性级别对 应的容错编码方法,所述运行对象的可靠性级别表示所述运行对象对内存可靠性需求的高 低;
[0038] 映射关系建立单元,用于根据所述接收单元接收的所述运行对象的可靠性级别信 息建立第一映射关系和第二映射关系,其中,所述第一映射关系包含一一对应的所述运行 对象的标识信息、所述运行对象的可靠性级别以及所述运行对象的数据所存储的数据区域 DR ;所述第二映射关系包含一一对应的所述运行对象的标识信息、所述运行对象的可靠性 级别以及与所述运行对象的数据对应的容错编码所存储的可配置纠错编码区域CECR ;
[0039] 所述接收单元还用于,接收所述处理器发送的访问请求,所述访问请求包含所述 处理器运行对象的标识信息以及所述运行对象的数据的物理地址信息和所述运行对象的 容错编码的物理地址信息;
[0040] 访问单元,用于根据所述接收单元接收的所述访问请求和所述第一映射关系对所 述运行对象的数据进行访问,以及根据所述访问请求和所述第二映射关系对所述运行对象 的容错编码进行访问。
[0041] 在第一种可能的实现方式中,结合第三方面,所述映射关系建立单元具体用于,根 据所述接收单元接收的所述可靠性级别信息中的所述容错编码方法查询预设的所述运行 对象的所述可靠性级别与容错编码方法的对应关系表,获取所述运行对象的可靠性级别;
[0042] 以及根据所述运行对象的可靠性级别查询预设的可靠性级别与所述DR的对应关 系表,获取与所述运行对象的可靠性级别对应的DR,并生成所述第一映射关系;
[0043] 以及根据所述运行对象的可靠性级别查询预设的可靠性级别与所述CECR的对应 关系表,获取与所述运行对象的可靠性级别对应的CECR,并生成所述第二映射关系。
[0044] 在第二种可能的实现方式中,结合第三方面或者第一种可能的实现方式,所述接 收单元具体用于,接收所述处理器发送的访问请求,其中所述访问请求包括读访问请求;相 应的,
[0045] 所述访问单元,包括:
[0046] 读访问子请求生成模块,用于根据所述运行对象的标识信息查询所述第一映射关 系,获取所述运行对象的数据所存储的DR,并生成对所述DR的数据读访问RD-d子请求,其 中,所述RD-d子请求包括所述运行对象的数据所存储的DR以及所述运行对象的数据的物 理地址信息;
[0047] 以及根据所述运行对象的标识信息查询所述第二映射关系,获取所述运行对象的 容错编码所存储的CECR,并生成对所述CECR的容错编码读访问RD-c子请求,其中,所述 RD-c子请求包括所述运行对象的容错编码所存储的CECR以及所述对象的容错编码的物理 地址信息;
[0048] 读取模块,用于在所述读访问子请求生成模块生成的所述RD-d子请求所包括的 DR中通过所述运行对象的数据的物理地址信息进行查找,获取所述运行对象的数据;
[0049] 以及在所述读访问子请求生成模块生成的所述RD-c子请求所包括的CECR中通过 对所述运行对象的容错编码物理地址信息进行查找,获取所述运行对象的容错编码;
[0050] 校验模块,用于根据所述读取模块读取的所述运行对象的容错编码对所述读取模 块读取的所述运行对象的数据进行校验,获取所述运行对象的准确的数据;
[0051] 发送模块,用于将经过所述校验模块校验的所述运行对象的准确的数据发送给所 述处理器。
[0052] 在第三种可能的实现方式中,结合第三方面或者第一种可能的实现方式,所述接 收单元用于接收所述处理器发送的访问请求,其中所述访问请求包括写访问请求和需要写 入所述内存设备的数据,所述写访问请求包括所述运行对象的标识信息以及所述需要写入 所述内存设备的数据的物理地址信息和所述需要写入所述内存设备的数据的容错编码的 物理地址信息;相应的,
[0053] 所述访问单元包括:
[0054] 写访问子请求生成模块,用于根据所述运行对象的标识信息查询所述第一映射关 系,获取所述运行对象的数据所存储的DR,并生成对所述DR的数据写访问WR-d子请求,其 中,所述WR-d子请求包括所述对象的数据所存储的DR以及所述需要写入所述内存设备的 数据的物理地址信息;
[0055] 以及根据所述运行对象的标识信息查询所述第二映射关系,获取所述运行对象对 应的CECR,并生成对所述CECR的容错编码WR-c写访问子请求,其中所述WR-c子请求包括 所述对象的容错编码所存储的CECR以及所述需要写入所述内存设备的数据的容错编码的 物理地址信息;
[0056] 容错编码处理模块,用于通过所述运行对象的标识信息查找所述第二映射关系, 得到所述运行对象对应的容错编码方法,并通过所述对象对应的容错编码方法对所述需要 写入所述内存设备的数据进行容错编码处理,从而获取到与所述需要写入所述内存设备的 数据对应的容错编码,并将所述需要写入所述内存设备的数据和与所述需要写入所述内存 设备的数据对应的容错编码填入写请求队列;
[0057] 写入模块,用于在所述写访问子请求生成模块生成的所述WR-d子请求所包括的 DR中通过对所述需要写入所述内存设备的数据的物理地址信息进行查找获取到所述需要 写入所述内存设备的数据的第一物理地址,并将所述写请入队列中的所述需要写入所述内 存设备的数据写入到所述第一物理地址;
[0058] 以及在所述写访问子请求生成模块生成的所述WR-c子请求所包括的CECR中通过 对所述需要写入所述内存设备的数据的容错编码的物理地址信息进行查找,获取到所述所 述需要写入所述内存设备的数据的容错编码的第二物理地址,并将所述写请求队列中的与 所述需要写入所述内存设备的数据对应的容错编码写入到所述第二物理地址。
[0059] 在第四种可能的实现方式中,结合第三方面,第一种至第三种可能的实现方式中 的任一项,所述接收单元还用于,接收由所述处理器发送的所述改变后的所述可靠性级别 信息,其中,所述改变后的所述可靠性级别信息包括所述运行对象的标识信息以及所述运 行对象的可靠性级别改变后所对应的新的容错编码方法;
[0060] 所述映射关系建立单元还用于,根据所述接收单元接收的所述改变后的所述可靠 性级别信息中所述运行对象的可靠性级别改变后所对应的新的容错编码方法,查询预设的 所述运行对象的所述可靠性级别与容错编码方法的对应关系表,更新所述第一映射关系和 所述第二映射关系中的所述运行对象的可靠性级别;
[0061] 以及根据所述第一映射关系中更新后的所述运行对象的可靠性级别查询预设的 可靠性级别与所述DR的对应关系表,更新所述第一映射关系中的DR ;
[0062] 以及根据所述第二映射关系中更新后的所述运行对象的可靠性级别查询预设的 可靠性级别与所述CECR的对应关系表,更新所述第二映射关系中的所述CECR。
[0063] 第四方面,本发明实施例提供了一种处理器,包括:
[0064] 设置单元,用于设置所述处理器运行对象的可靠性级别,其中,所述运行对象的可 靠性级别表示所述运行对象对内存可靠性需求的高低;
[0065] 查询单元,用于查询预设的所述运行对象的所述可靠性级别与容错编码方法的对 应关系,得到所述设置单元设置的所述运行对象的可靠性级别对应的容错编码方法;
[0066] 发送单元,用于向内存设备发送所述查询单元得到的所述处理器运行的对象的可 靠性级别信息,其中,所述可靠性级别信息包含所述运行对象的标识信息以及所述运行对 象的可靠性级别对应的容错编码方法;
[0067] 所述发送单元还用于,向所述内存设备发送访问请求,所述访问请求包含所述运 行的对象的标识,所述运行对象的数据的物理地址信息,所述运行对象的容错编码的物理 地址信息。
[0068] 在第一种可能的实现方式中,结合第四方面,所述处理器还包括改变单元,用于改 变所述运行对象的可靠性级别,得到所述运行对象的可靠性级别改变后所对应的新的容错 编码方法;
[0069] 所述发送单元还用于,向内存设备发送所述改变单元得到的所述改变后的所述可 靠性级别信息,其中,所述改变后的所述可靠性级别信息包括所述运行对象的标识信息以 及所述运行对象的可靠性级别改变后所对应的新的容错编码方法。
[0070] 第五方面,本发明实施例提供了一种内存设备,包括:
[0071] 内存芯片,包括数据区域DR和可配置纠错编码区域CECR,其中,所述DR用于存储 处理器的运行对象的数据,所述CECR用于存储所述运行对象的数据对应的容错编码;
[0072] 缓冲调度器,用于接收处理器发送的所述处理器运行对象的可靠性级别信息,其 中,所述可靠性级别信息包含所述运行对象的标识信息以及所述运行对象的可靠性级别对 应的容错编码方法,所述运行对象的可靠性级别表示所述运行对象对内存可靠性需求的高 低;
[0073] 以及根据所述运行对象的可靠性级别信息建立第一映射关系和第二映射关系,其 中,所述第一映射关系包含一一对应的所述运行对象的标识信息、所述运行对象的可靠性 级别以及所述运行对象的数据所存储的DR ;所述第二映射关系包含一一对应的所述运行 对象的标识信息、所述运行对象的可靠性级别以及与所述运行对象的数据对应的容错编码 所存储的CECR ;
[0074] 以及接收所述处理器发送的访问请求,所述访问请求包含所述处理器运行的对象 的标识信息以及所述运行对象的数据的物理地址信息和所述运行对象的容错编码的物理 地址信息;
[0075] 以及根据所述访问请求和所述第一映射关系对所述运行对象的数据进行访问,以 及根据所述访问请求和所述第二映射关系对所述运行对象对应的容错编码进行访问。
[0076] 在第一种可能的实现方式中,结合第五方面,所述缓冲调度器,用于根据所述可靠 性级别信息中的所述容错编码方法查询预设的所述运行对象的所述可靠性级别与容错编 码方法的对应关系表,获取所述运行对象的可靠性级别;
[0077] 以及根据所述运行对象的可靠性级别查询预设的可靠性级别与所述DR的对应关 系表,获取与所述运行对象的可靠性级别对应的DR,并生成所述第一映射关系;
[0078] 以及根据所述运行对象的可靠性级别查询预设的可靠性级别与所述CECR的对应 关系表,获取与所述运行对象的可靠性级别对应的CECR,并生成所述第二映射关系。
[0079] 在第二种可能的实现方式中,结合第五方面或者第一种可能的实现方式,所述缓 冲调度器接收所述处理器发送的访问请求,其中所述访问请求包括读访问请求;
[0080] 相应的,所述缓冲调度器,用于根据所述运行对象的标识信息查询所述第一映射 关系,获取所述运行对象的数据所存储的DR,并生成对所述DR的数据读访问RD-d子请求, 其中,所述RD-d子请求包括所述运行对象的数据所存储的DR以及所述运行对象的数据的 物理地址信息;
[0081] 以及根据所述运行对象的标识信息查询所述第二映射关系,获取所述运行对象的 容错编码所存储的CECR,并生成对所述CECR的容错编码读访问RD-C子请求,其中,所述 RD-c子请求包括所述运行对象的容错编码所存储的CECR以及所述对象的容错编码的物理 地址信息;
[0082] 以及将所述RD-d子请求和所述RD-c子请求传输至所述内存芯片;
[0083] 所述内存芯片用于,在所述RD-d子请求所包括的DR中通过所述运行对象的数据 的物理地址信息进行查找,获取所述运行对象的数据;
[0084] 以及在所述RD-c子请求所包括的CECR中通过对所述运行对象的容错编码物理地 址信息进行查找,获取所述运行对象的容错编码;
[0085] 以及将所述运行对象的数据和容错编码返回至所述缓冲调度器;
[0086] 所述缓冲调度器用于,根据所述运行对象的容错编码对所述运行对象的数据进行 校验,获取所述运行对象的准确的数据;
[0087] 以及将所述经过校验的所述运行对象的准确的数据发送给所述处理器。
[0088] 在第三种可能的实现方式中,结合第五方面或者第一种可能的实现方式,所述缓 冲调度器接收所述处理器发送的访问请求,其中,所述访问请求包括写访问请求和需要写 入所述内存设备的数据,所述写访问请求包括所述运行对象的标识信息以及所述需要写入 所述内存设备的数据的物理地址信息和所述需要写入所述内存设备的数据的容错编码的 物理地址信息;
[0089] 相应的,所述缓冲调度器用于,根据所述运行对象的标识信息查询所述第一映射 关系,获取所述运行对象的数据所存储的DR,并生成对所述DR的数据写访问WR-d子请求, 其中,所述WR-d子请求包括所述对象的数据所存储的DR以及所述需要写入所述内存设备 的数据的物理地址信息;以及根据所述运行对象的标识信息查询所述第二映射关系,获取 所述运行对象对应的CECR,并生成对所述CECR的容错编码WR-c写访问子请求,其中所述 WR-c子请求包括所述对象的容错编码所存储的CECR以及所述需要写入所述内存设备的数 据的容错编码的物理地址信息;
[0090] 以及通过所述运行对象的标识信息查找所述第二映射关系,得到所述运行对象对 应的容错编码方法,并通过所述对象对应的容错编码方法对所述需要写入所述内存设备的 数据进行容错编码处理,从而获取到与所述需要写入所述内存设备的数据对应的容错编 码,并将所述需要写入所述内存设备的数据和与所述需要写入所述内存设备的数据对应的 容错编码填入写请求队列;
[0091] 以及将所述WR-d子请求和所述WR-c子请求传输至所述内存芯片;
[0092] 所述内存芯片用于,在所述WR-d子请求所包括的DR中通过对所述需要写入所述 内存设备的数据的物理地址信息进行查找获取到所述需要写入所述内存设备的数据的第 一物理地址,并将所述写请入队列中的所述需要写入所述内存设备的数据写入到所述第一 物理地址;以及在所述WR-c子请求所包括的CECR中通过对所述需要写入所述内存设备的 数据的容错编码的物理地址信息进行查找,获取到所述所述需要写入所述内存设备的数据 的容错编码的第二物理地址,并将所述写请求队列中的与所述需要写入所述内存设备的数 据对应的容错编码写入到所述第二物理地址。
[0093] 在第四种可能的实现方式中,结合第五方面,第一种至第三种可能的实现方式中 的任一项,所述缓冲调度器还用于,接收由所述处理器发送的所述改变后的所述可靠性级 别信息,其中,所述改变后的所述可靠性级别信息包括所述运行对象的标识信息以及所述 运行对象的可靠性级别改变后所对应的新的容错编码方法;
[0094] 以及根据所述改变后的所述可靠性级别信息中所述运行对象的可靠性级别改变 后所对应的新的容错编码方法,查询预设的所述运行对象的所述可靠性级别与容错编码方 法的对应关系表,更新所述第一映射关系和所述第二映射关系中的所述运行对象的可靠性 级别;
[0095] 以及根据所述第一映射关系中更新后的所述运行对象的可靠性级别查询预设的 可靠性级别与所述DR的对应关系表,更新所述第一映射关系中的DR ;
[0096] 以及根据所述第二映射关系中更新后的所述运行对象的可靠性级别查询预设的 可靠性级别与所述CECR的对应关系表,更新所述第二映射关系中的所述CECR。
[0097] 第六方面,本发明实施例提供了一种处理器,包括:
[0098] 处理核心,用于设置所述处理器的运行对象的可靠性级别,其中,所述运行对象的 可靠性级别表示所述运行对象对内存可靠性需求的高低;
[0099] 以及查询预设的所述运行对象的所述可靠性级别与容错编码方法的对应关系,得 到所述运行对象的可靠性级别对应的容错编码方法,并且向内存设备发送所述处理器运行 的对象的可靠性级别信息,其中,所述可靠性级别信息包含所述运行对象的标识信息以及 所述运行对象的可靠性级别对应的容错编码方法;
[0100] 以及向所述内存设备发送访问请求,所述访问请求包含所述运行的对象的标识, 所述运行对象的数据的物理地址信息,所述运行对象的容错编码的物理地址信息。
[0101] 在第一种可能的实现方式中,结合第六方面,所述处理核心还用于,改变所述运行 对象的可靠性级别,得到所述运行对象的可靠性级别改变后所对应的新的容错编码方法;
[0102] 以及向所述内存设备发送所述改变后的所述可靠性级别信息,其中,所述改变后 的所述可靠性级别信息包括所述运行对象的标识信息以及所述运行对象的可靠性级别改 变后所对应的新的容错编码方法。
[0103] 第七方面,本发明实施例提供了一种内存访问系统,其特征在于,包括如第三方面 或第五方面任一项所述的内存设备以及如第四方面或第六方面任一项所述的处理器。
[0104] 本发明实施例提供了一种内存访问的方法、设备及系统,内存设备根据处理器发 送的运行对象的可靠性级别信息建立第一映射关系和第二映射关系,并根据第一映射关系 和第二映射关系对处理器发送的访问请求分别对运行对象的数据以及容错编码进行访问, 提供层次化的,灵活的内存靠性级别的设定方法,实现不同运行对象类型、不同可靠性级别 的内存访问机制。

【专利附图】

【附图说明】
[0105] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。
[0106] 图1为本发明实施例提供的一种内存访问的方法流程图;
[0107] 图2为本发明实施例提供的另一种内存访问的方法流程图;
[0108] 图3为一种内存访问方法的详细实施例流程图;
[0109] 图4为内存区域划分示意图;
[0110] 图5为详细实施例中步骤306的读访问详细步骤示意图;
[0111] 图6为详细实施例中步骤306的写访问详细步骤示意图;
[0112] 图7为详细实施例中可靠性级别的调节过程示意图;
[0113] 图8为本发明实施例提供的一种内存设备的装置示意图;
[0114] 图9为本发明实施例提供的另一种内存设备的装置示意图;
[0115] 图10为本发明实施例提供的一种处理器的装置示意图;
[0116] 图11为本发明实施例提供的另一种处理器的装置示意图;
[0117] 图12为本发明实施例提供的一种内存设备的硬件装置图;
[0118] 图13为本发明实施例提供的一种处理器的硬件装置图;
[0119] 图14为本发明实施例提供的一种内存访问的系统的示意图。

【具体实施方式】
[0120] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0121] 本发明实施例提供了一种内存访问的方法的实施例,参见图1,包括:
[0122] SlOl :内存设备接收处理器发送的处理器的运行对象的可靠性级别信息,其中,可 靠性级别信息包含运行对象的标识信息以及运行对象的可靠性级别对应的容错编码方法, 运行对象的可靠性级别表示运行对象对内存可靠性需求的高低;
[0123] S102 :内存设备根据运行对象的可靠性级别信息建立第一映射关系和第二映射关 系,其中,第一映射关系包含一一对应的运行对象的标识信息、运行对象的可靠性级别以及 运行对象的数据所存储的数据区域DR;第二映射关系包含一一对应的运行对象的标识信 息、运行对象的可靠性级别以及与运行对象的数据对应的容错编码所存储的可配置纠错编 码区域CECR ;
[0124] 示例性的,内存设备根据运行对象的可靠性级别信息建立第一映射关系和第二映 射关系,包括:
[0125] 内存设备根据可靠性级别信息中的容错编码方法查询预设的运行对象的可靠性 级别与容错编码方法的对应关系表,获取运行对象的可靠性级别;
[0126] 内存设备根据运行对象的可靠性级别查询预设的可靠性级别与DR的对应关系 表,获取与运行对象的可靠性级别对应的DR,并生成第一映射关系;
[0127] 内存设备根据运行对象的可靠性级别查询预设的可靠性级别与CECR的对应关系 表,获取与运行对象的可靠性级别对应的CECR,并生成第二映射关系。
[0128] 示例性的,该方法还可以包括:内存设备接收由处理器发送的改变后的可靠性级 别信息,其中,改变后的可靠性级别信息包括运行对象的标识信息以及运行对象的可靠性 级别改变后所对应的新的容错编码方法;
[0129] 内存设备根据改变后的可靠性级别信息中运行对象的可靠性级别改变后所对应 的新的容错编码方法,查询预设的运行对象的可靠性级别与容错编码方法的对应关系表, 更新第一映射关系和第二映射关系中的运行对象的可靠性级别;
[0130] 内存设备根据第一映射关系中更新后的运行对象的可靠性级别查询预设的可靠 性级别与DR的对应关系表,更新第一映射关系中的DR ;
[0131] 内存设备根据第二映射关系中更新后的运行对象的可靠性级别查询预设的可靠 性级别与CECR的对应关系表,更新第二映射关系中的CECR。
[0132] S103 :内存设备接收处理器发送的访问请求,其中,访问请求包含处理器运行对 象的标识信息以及运行对象的数据的物理地址信息和运行对象的容错编码的物理地址信 息;
[0133] S104 :内存设备根据访问请求和第一映射关系对运行对象的数据进行访问,以及 根据访问请求和第二映射关系对运行对象的容错编码进行访问。
[0134] 示例性的,内存设备接收处理器发送的访问请求,其中,访问请求包括读访问请 求;相应的,
[0135] 内存设备根据访问请求和第一映射关系对运行对象的数据进行访问,以及根据访 问请求和第二映射关系对运行对象的容错编码进行访问,包括:
[0136] 内存设备根据运行对象的标识信息查询第一映射关系,获取运行对象的数据所存 储的DR,并生成对DR的数据读访问RD-d子请求,其中,RD-d子请求包括运行对象的数据所 存储的DR以及运行对象的数据的物理地址信息;以及根据运行对象的标识信息查询第二 映射关系,获取运行对象的容错编码所存储的CECR,并生成对CECR的容错编码读访问RD-c 子请求,其中,RD-c子请求包括运行对象的容错编码所存储的CECR以及对象的容错编码的 物理地址信息;
[0137] 内存设备在RD-d子请求所包括的DR中通过运行对象的数据的物理地址信息进行 查找,获取运行对象的数据;以及在RD-c子请求所包括的CECR中通过对运行对象的容错编 码物理地址信息进行查找,获取运行对象的容错编码;
[0138] 内存设备根据运行对象的容错编码对运行对象的数据进行校验,获取运行对象的 准确的数据;
[0139] 内存设备将经过校验的运行对象的准确的数据发送给处理器。
[0140] 示例性的,内存设备接收处理器发送的访问请求,其中,访问请求包括写访问请求 和需要写入内存设备的数据,写访问请求包括运行对象的标识信息以及需要写入内存设备 的数据的物理地址信息和需要写入内存设备的数据的容错编码的物理地址信息;
[0141] 相应的,内存设备根据访问请求和第一映射关系对运行对象的数据进行访问,以 及根据访问请求和第二映射关系对运行对象的容错编码进行访问,包括:
[0142] 内存设备根据运行对象的标识信息查询第一映射关系,获取运行对象的数据所存 储的DR,并生成对DR的数据写访问WR-d子请求,其中,WR-d子请求包括对象的数据所存储 的DR以及需要写入内存设备的数据的物理地址信息;以及根据运行对象的标识信息查询 第二映射关系,获取运行对象对应的CECR,并生成对CECR的容错编码WR-c写访问子请求, 其中WR-c子请求包括对象的容错编码所存储的CECR以及需要写入内存设备的数据的容错 编码的物理地址信息;
[0143] 内存设备通过运行对象的标识信息查找第二映射关系,得到运行对象对应的容错 编码方法,并通过对象对应的容错编码方法对需要写入内存设备的数据进行容错编码处 理,从而获取到与需要写入内存设备的数据对应的容错编码,并将需要写入内存设备的数 据和与需要写入内存设备的数据对应的容错编码填入写请求队列;
[0144] 内存设备在WR-d子请求所包括的DR中通过对需要写入内存设备的数据的物理地 址信息进行查找获取到需要写入内存设备的数据的第一物理地址,并将写请入队列中的需 要写入内存设备的数据写入到第一物理地址;以及在WR-c子请求所包括的CECR中通过对 需要写入内存设备的数据的容错编码的物理地址信息进行查找,获取到需要写入内存设备 的数据的容错编码的第二物理地址,并将写请求队列中的与需要写入内存设备的数据对应 的容错编码写入到第二物理地址。
[0145] 本发明实施例提供的一种内存访问的方法、设备及系统,内存设备根据处理器发 送的运行对象的可靠性级别信息建立第一映射关系和第二映射关系,并根据第一映射关系 和第二映射关系对处理器发送的访问请求分别对运行对象的数据以及容错编码进行访问, 提供层次化的,灵活的内存靠性级别的设定方法,实现不同运行对象类型、不同可靠性级别 的内存访问机制。
[0146] 本发明实施例提供了一种内存访问的方法,参见图2,包括:
[0147] S201 :处理器设置处理器的运行对象的可靠性级别,其中,运行对象的可靠性级别 表示运行对象对内存可靠性需求的高低。
[0148] S202:处理器查询预设的运行对象的可靠性级别与容错编码方法的对应关系,得 到运行对象的可靠性级别对应的容错编码方法,并且向内存设备发送处理器运行的对象的 可靠性级别信息,其中,可靠性级别信息包含运行对象的标识信息以及运行对象的可靠性 级别对应的容错编码方法,以使得内存设备根据运行对象的可靠性级别信息建立第一映射 关系和第二映射关系,其中,第一映射关系包含一一对应的运行对象的标识信息、运行对象 的可靠性级别以及运行对象的数据所存储的数据区域DR;第二映射关系包含一一对应的 运行对象的标识信息、运行对象的可靠性级别以及与运行对象的数据对应的容错编码所存 储的可配置纠错编码区域CECR ;
[0149] 示例性的,方法还可以包括:
[0150] 处理器改变运行对象的可靠性级别,得到运行对象的可靠性级别改变后所对应的 新的容错编码方法;
[0151] 处理器向内存设备发送改变后的可靠性级别信息,其中,改变后的可靠性级别信 息包括运行对象的标识信息以及运行对象的可靠性级别改变后所对应的新的容错编码方 法,以使得内存设备根据改变后的可靠性级别信息中运行对象的可靠性级别改变后所对应 的新的容错编码方法,查询预设的运行对象的可靠性级别与容错编码方法的对应关系表, 更新第一映射关系和第二映射关系中的运行对象的可靠性级别;以及根据第一映射关系中 更新后的运行对象的可靠性级别查询预设的可靠性级别与DR的对应关系表,更新第一映 射关系中的DR;以及根据第二映射关系中更新后的运行对象的可靠性级别查询预设的可 靠性级别与CECR的对应关系表,更新第二映射关系中的CECR。
[0152] S203 :处理器向内存设备发送访问请求,访问请求包含运行的对象的标识,运行对 象的数据的物理地址信息,运行对象的容错编码的物理地址信息,以使得内存设备根据访 问请求和第一映射关系对运行对象的数据进行访问,以及根据访问请求和第二映射关系对 运行对象的容错编码进行访问。
[0153] 本发明实施例提供了一种内存访问的方法,内存设备根据处理器发送的运行对象 的可靠性级别信息建立第一映射关系和第二映射关系,并根据第一映射关系和第二映射关 系对处理器发送的访问请求分别对运行对象的数据以及容错编码进行访问,提供层次化 的,灵活的内存靠性级别的设定方法,实现不同运行对象类型、不同可靠性级别的内存访问 机制。
[0154] 参见图3,为一种内存访问的方法的详细实施例,需要说明的是,在本发明的实施 例中,通过以进程作为处理器的运行对象进行原理的说明,但并不代表本发明的实施例只 适用于以进程作为处理器的运行对象的情况,由于进程对内存可靠性需求的不同,不同的 进程可以有不同的可靠性级别,也同时对应不同的容错编码方法。可以理解的,本发明实施 例还可以适用于其他的粒度大小的运行对象,比如线程、代码段等,不同粒度大小的运行对 象也可以对应不同的可靠性级别;在本发明实施例中不再赘述,本实施例的具体的实现步 骤包括:
[0155] 301 :处理器设置其运行对象的可靠性级别;
[0156] 示例性的,运行对象的可靠性级别表示该运行对象对内存可靠性需求的高低。
[0157] 示例性的,在本发明实施例中,处理器在初始调度并开始运行某一进程App j时, 可以设置进程App j的可靠性级别,具体的,可靠性级别的设置依据可以包含以下一种或几 种:用户自定义、操作系统设定、内存芯片故障信息、当前的运行模式等,本发明实施例对此 不做任何限制。
[0158] 为了方便说明,不同的可靠性级别可以对应不同的容错编码方法,本发明实施例 中,存在四个不同的可靠性级别,它们通过预设的可靠性级别与容错编码方法的对应关系 与不同的容错编码方法 对应,如表1所不。
[0159] 处理器可以设置进程App j的可靠性级别为Level3,其对应的容错编码方法为 BCH 码;
[0160] 表 1
[0161]

【权利要求】
1. 一种内存访问的方法,其特征在于,包括: 内存设备接收处理器发送的所述处理器的运行对象的可靠性级别信息,其中,所述可 靠性级别信息包含所述运行对象的标识信息W及所述运行对象的可靠性级别对应的容错 编码方法,所述运行对象的可靠性级别表示所述运行对象对内存可靠性需求的高低; 所述内存设备根据所述运行对象的可靠性级别信息建立第一映射关系和第二映射关 系,其中,所述第一映射关系包含一一对应的所述运行对象的标识信息、所述运行对象的可 靠性级别W及所述运行对象的数据所存储的数据区域DR ;所述第二映射关系包含一一对 应的所述运行对象的标识信息、所述运行对象的可靠性级别W及与所述运行对象的数据对 应的容错编码所存储的可配置纠错编码区域CECR ; 所述内存设备接收所述处理器发送的访问请求,所述访问请求包含所述处理器运行对 象的标识信息W及所述运行对象的数据的物理地址信息和所述运行对象的容错编码的物 理地址信息; 所述内存设备根据所述访问请求和所述第一映射关系对所述运行对象的数据进行访 问,W及根据所述访问请求和所述第二映射关系对所述运行对象的容错编码进行访问。
2. 根据权利要求1所述的方法,其特征在于, 所述内存设备根据所述运行对象的可靠性级别信息建立第一映射关系和第二映射关 系,包括: 所述内存设备根据所述可靠性级别信息中的所述容错编码方法查询预设的所述运行 对象的所述可靠性级别与容错编码方法的对应关系表,获取所述运行对象的可靠性级别; 所述内存设备根据所述运行对象的可靠性级别查询预设的可靠性级别与所述DR的对 应关系表,获取与所述运行对象的可靠性级别对应的DR,并生成所述第一映射关系; 所述内存设备根据所述运行对象的可靠性级别查询预设的可靠性级别与所述CECR的 对应关系表,获取与所述运行对象的可靠性级别对应的CECR,并生成所述第二映射关系。
3. 根据权利要求1或2所述的方法,其特征在于,所述内存设备接收所述处理器发送的 访问请求,其中,所述访问请求包括读访问请求;相应的, 所述内存设备根据所述访问请求和所述第一映射关系对所述运行对象的数据进行访 问,W及根据所述访问请求和所述第二映射关系对所述运行对象的容错编码进行访问,包 括: 所述内存设备根据所述运行对象的标识信息查询所述第一映射关系,获取所述运行对 象的数据所存储的DR,并生成对所述DR的数据读访问RD-d子请求,其中,所述RD-d子请求 包括所述运行对象的数据所存储的DR W及所述运行对象的数据的物理地址信息;W及根 据所述运行对象的标识信息查询所述第二映射关系,获取所述运行对象的容错编码所存储 的CECR,并生成对所述CECR的容错编码读访问RD-C子请求,其中,所述RD-C子请求包括所 述运行对象的容错编码所存储的CECR W及所述对象的容错编码的物理地址信息; 所述内存设备在所述RD-d子请求所包括的DR中通过所述运行对象的数据的物理地址 信息进行查找,获取所述运行对象的数据;W及在所述RD-C子请求所包括的CECR中通过对 所述运行对象的容错编码物理地址信息进行查找,获取所述运行对象的容错编码; 所述内存设备根据所述运行对象的容错编码对所述运行对象的数据进行校验,获取所 述运行对象的准确的数据; 所述内存设备将所述经过校验的所述运行对象的准确的数据发送给所述处理器。
4. 根据权利要求1或2所述的方法,其特征在于,所述内存设备接收所述处理器发送的 访问请求,其中,所述访问请求包括写访问请求和需要写入所述内存设备的数据,所述写访 问请求包括所述运行对象的标识信息W及所述需要写入所述内存设备的数据的物理地址 信息和所述需要写入所述内存设备的数据的容错编码的物理地址信息; 相应的,所述内存设备根据所述访问请求和所述第一映射关系对所述运行对象的数据 进行访问,W及根据所述访问请求和所述第二映射关系对所述运行对象的容错编码进行访 问,包括: 所述内存设备根据所述运行对象的标识信息查询所述第一映射关系,获取所述运行对 象的数据所存储的DR,并生成对所述DR的数据写访问WR-d子请求,其中,所述WR-d子请 求包括所述对象的数据所存储的DR W及所述需要写入所述内存设备的数据的物理地址信 息;W及根据所述运行对象的标识信息查询所述第二映射关系,获取所述运行对象对应的 CECR,并生成对所述CECR的容错编码WR-C写访问子请求,其中所述WR-C子请求包括所述 对象的容错编码所存储的CECR W及所述需要写入所述内存设备的数据的容错编码的物理 地址信息; 所述内存设备通过所述运行对象的标识信息查找所述第二映射关系,得到所述运行对 象对应的容错编码方法,并通过所述对象对应的容错编码方法对所述需要写入所述内存设 备的数据进行容错编码处理,从而获取到与所述需要写入所述内存设备的数据对应的容错 编码,并将所述需要写入所述内存设备的数据和与所述需要写入所述内存设备的数据对应 的容错编码填入写请求队列; 所述内存设备在所述WR-d子请求所包括的DR中通过对所述需要写入所述内存设备的 数据的物理地址信息进行查找获取到所述需要写入所述内存设备的数据的第一物理地址, 并将所述写请入队列中的所述需要写入所述内存设备的数据写入到所述第一物理地址;W 及在所述WR-C子请求所包括的CECR中通过对所述需要写入所述内存设备的数据的容错编 码的物理地址信息进行查找,获取到所述所述需要写入所述内存设备的数据的容错编码的 第二物理地址,并将所述写请求队列中的与所述需要写入所述内存设备的数据对应的容错 编码写入到所述第二物理地址。
5. 根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括: 所述内存设备接收由所述处理器发送的所述改变后的所述可靠性级别信息,其中,所 述改变后的所述可靠性级别信息包括所述运行对象的标识信息W及所述运行对象的可靠 性级别改变后所对应的新的容错编码方法; 所述内存设备根据所述改变后的所述可靠性级别信息中所述运行对象的可靠性级别 改变后所对应的新的容错编码方法,查询预设的所述运行对象的所述可靠性级别与容错编 码方法的对应关系表,更新所述第一映射关系和所述第二映射关系中的所述运行对象的可 靠性级别; 所述内存设备根据所述第一映射关系中更新后的所述运行对象的可靠性级别查询预 设的可靠性级别与所述DR的对应关系表,更新所述第一映射关系中的DR ; 所述内存设备根据所述第二映射关系中更新后的所述运行对象的可靠性级别查询预 设的可靠性级别与所述CECR的对应关系表,更新所述第二映射关系中的所述CECR。
6. -种内存访问的方法,其特征在于,包括: 处理器设置所述处理器的运行对象的可靠性级别,其中,所述运行对象的可靠性级别 表示所述运行对象对内存可靠性需求的高低; 所述处理器查询预设的所述运行对象的所述可靠性级别与容错编码方法的对应关系, 得到所述运行对象的可靠性级别对应的容错编码方法,并且向内存设备发送所述处理器 运行的对象的可靠性级别信息,其中,所述可靠性级别信息包含所述运行对象的标识信息 W及所述运行对象的可靠性级别对应的容错编码方法,W使得所述内存设备根据所述运行 对象的可靠性级别信息建立第一映射关系和第二映射关系,其中,所述第一映射关系包含 一一对应的所述运行对象的标识信息、所述运行对象的可靠性级别W及所述运行对象的数 据所存储的数据区域DR ;所述第二映射关系包含一一对应的所述运行对象的标识信息、所 述运行对象的可靠性级别W及与所述运行对象的数据对应的容错编码所存储的可配置纠 错编码区域CECR ; 所述处理器向所述内存设备发送访问请求,所述访问请求包含所述运行的对象的标 识,所述运行对象的数据的物理地址信息,所述运行对象的容错编码的物理地址信息,W使 得所述内存设备根据所述访问请求和所述第一映射关系对所述运行对象的数据进行访问, W及根据所述访问请求和所述第二映射关系对所述运行对象的容错编码进行访问。
7. 根据权利要求6所述的方法,其特征在于,还包括: 所述处理器改变所述运行对象的可靠性级别,得到所述运行对象的可靠性级别改变后 所对应的新的容错编码方法; 所述处理器向所述内存设备发送所述改变后的所述可靠性级别信息,其中,所述改变 后的所述可靠性级别信息包括所述运行对象的标识信息W及所述运行对象的可靠性级别 改变后所对应的新的容错编码方法,W使得所述内存设备根据所述改变后的所述可靠性级 别信息中所述运行对象的可靠性级别改变后所对应的新的容错编码方法,查询预设的所述 运行对象的所述可靠性级别与容错编码方法的对应关系表,更新所述第一映射关系和所述 第二映射关系中的所述运行对象的可靠性级别;W及根据所述第一映射关系中更新后的所 述运行对象的可靠性级别查询预设的可靠性级别与所述DR的对应关系表,更新所述第一 映射关系中的DR ; W及根据所述第二映射关系中更新后的所述运行对象的可靠性级别查 询预设的可靠性级别与所述CECR的对应关系表,更新所述第二映射关系中的所述CECR。
8. -种内存设备,其特征在于,包括: 接收单元,用于接收处理器发送的所述处理器的运行对象的可靠性级别信息,其中,所 述可靠性级别信息包含所述运行对象的标识信息W及所述运行对象的可靠性级别对应的 容错编码方法,所述运行对象的可靠性级别表示所述运行对象对内存可靠性需求的高低; 映射关系建立单元,用于根据所述接收单元接收的所述运行对象的可靠性级别信息建 立第一映射关系和第二映射关系,其中,所述第一映射关系包含一一对应的所述运行对象 的标识信息、所述运行对象的可靠性级别W及所述运行对象的数据所存储的数据区域DR ; 所述第二映射关系包含一一对应的所述运行对象的标识信息、所述运行对象的可靠性级别 W及与所述运行对象的数据对应的容错编码所存储的可配置纠错编码区域CECR ; 所述接收单元还用于,接收所述处理器发送的访问请求,所述访问请求包含所述处理 器运行对象的标识信息W及所述运行对象的数据的物理地址信息和所述运行对象的容错 编码的物理地址信息; 访问单元,用于根据所述接收单元接收的所述访问请求和所述第一映射关系对所述运 行对象的数据进行访问,W及根据所述访问请求和所述第二映射关系对所述运行对象的容 错编码进行访问。
9. 根据权利要求8所述的内存设备,其特征在于, 所述映射关系建立单元具体用于,根据根据所述接收单元接收的所述可靠性级别信息 中的所述容错编码方法查询预设的所述运行对象的所述可靠性级别与容错编码方法的对 应关系表,获取所述运行对象的可靠性级别; W及根据所述运行对象的可靠性级别查询预设的可靠性级别与所述DR的对应关系 表,获取与所述运行对象的可靠性级别对应的DR,并生成所述第一映射关系; W及根据所述运行对象的可靠性级别查询预设的可靠性级别与所述CECR的对应关系 表,获取与所述运行对象的可靠性级别对应的CECR,并生成所述第二映射关系。
10. 根据权利要求8或9所述的内存设备,其特征在于,所述接收单元具体用于,接收所 述处理器发送的访问请求,其中所述访问请求包括读访问请求;相应的, 所述访问单元,包括: 读访问子请求生成模块,用于根据所述运行对象的标识信息查询所述第一映射关系, 获取所述运行对象的数据所存储的DR,并生成对所述DR的数据读访问RD-d子请求,其中, 所述RD-d子请求包括所述运行对象的数据所存储的DR W及所述运行对象的数据的物理地 址信息; W及根据所述运行对象的标识信息查询所述第二映射关系,获取所述运行对象的容错 编码所存储的CECR,并生成对所述CECR的容错编码读访问RD-C子请求,其中,所述RD-C子 请求包括所述运行对象的容错编码所存储的CECR W及所述对象的容错编码的物理地址信 息; 读取模块,用于在所述读访问子请求生成模块生成的所述RD-d子请求所包括的DR中 通过所述运行对象的数据的物理地址信息进行查找,获取所述运行对象的数据; W及在所述读访问子请求生成模块生成的所述RD-C子请求所包括的CECR中通过对所 述运行对象的容错编码物理地址信息进行查找,获取所述运行对象的容错编码; 校验模块,用于根据所述读取模块读取的所述运行对象的容错编码对所述读取模块读 取的所述运行对象的数据进行校验,获取所述运行对象的准确的数据; 发送模块,用于将经过所述校验模块校验的所述运行对象的准确的数据发送给所述处 理器。
11. 根据权利要求8或9所述的内存设备,其特征在于,所述接收单元用于接收所述 处理器发送的访问请求,其中所述访问请求包括写访问请求和需要写入所述内存设备的数 据,所述写访问请求包括所述运行对象的标识信息W及所述需要写入所述内存设备的数据 的物理地址信息和所述需要写入所述内存设备的数据的容错编码的物理地址信息;相应 的, 所述访问单元包括: 写访问子请求生成模块,用于根据所述运行对象的标识信息查询所述第一映射关系, 获取所述运行对象的数据所存储的DR,并生成对所述DR的数据写访问WR-d子请求,其中, 所述WR-d子请求包括所述对象的数据所存储的DR W及所述需要写入所述内存设备的数据 的物理地址信息; W及根据所述运行对象的标识信息查询所述第二映射关系,获取所述运行对象对应的 CECR,并生成对所述CECR的容错编码WR-C写访问子请求,其中所述WR-C子请求包括所述 对象的容错编码所存储的CECR W及所述需要写入所述内存设备的数据的容错编码的物理 地址信息; 容错编码处理模块,用于通过所述运行对象的标识信息查找所述第二映射关系,得到 所述运行对象对应的容错编码方法,并通过所述对象对应的容错编码方法对所述需要写入 所述内存设备的数据进行容错编码处理,从而获取到与所述需要写入所述内存设备的数据 对应的容错编码,并将所述需要写入所述内存设备的数据和与所述需要写入所述内存设备 的数据对应的容错编码填入写请求队列; 写入模块,用于在所述写访问子请求生成模块生成的所述WR-d子请求所包括的DR中 通过对所述需要写入所述内存设备的数据的物理地址信息进行查找获取到所述需要写入 所述内存设备的数据的第一物理地址,并将所述写请入队列中的所述需要写入所述内存设 备的数据写入到所述第一物理地址; W及在所述写访问子请求生成模块生成的所述WR-C子请求所包括的CECR中通过对所 述需要写入所述内存设备的数据的容错编码的物理地址信息进行查找,获取到所述所述需 要写入所述内存设备的数据的容错编码的第二物理地址,并将所述写请求队列中的与所述 需要写入所述内存设备的数据对应的容错编码写入到所述第二物理地址。
12. 根据权利要求8-11任一项所述的内存设备,其特征在于, 所述接收单元还用于,接收由所述处理器发送的所述改变后的所述可靠性级别信息, 其中,所述改变后的所述可靠性级别信息包括所述运行对象的标识信息W及所述运行对象 的可靠性级别改变后所对应的新的容错编码方法; 所述映射关系建立单元还用于,根据所述接收单元接收的所述改变后的所述可靠性级 别信息中所述运行对象的可靠性级别改变后所对应的新的容错编码方法,查询预设的所述 运行对象的所述可靠性级别与容错编码方法的对应关系表,更新所述第一映射关系和所述 第二映射关系中的所述运行对象的可靠性级别; W及根据所述第一映射关系中更新后的所述运行对象的可靠性级别查询预设的可靠 性级别与所述DR的对应关系表,更新所述第一映射关系中的DR ; W及根据所述第二映射关系中更新后的所述运行对象的可靠性级别查询预设的可靠 性级别与所述CECR的对应关系表,更新所述第二映射关系中的所述CECR。
13. -种处理器,其特征在于,包括: 设置单元,用于设置所述处理器运行对象的可靠性级别,其中,所述运行对象的可靠性 级别表示所述运行对象对内存可靠性需求的高低; 查询单元,用于查询预设的所述运行对象的所述可靠性级别与容错编码方法的对应关 系,得到所述设置单元设置的所述运行对象的可靠性级别对应的容错编码方法; 发送单元,用于向内存设备发送所述查询单元得到的所述处理器运行的对象的可靠性 级别信息,其中,所述可靠性级别信息包含所述运行对象的标识信息W及所述运行对象的 可靠性级别对应的容错编码方法; 所述发送单元还用于,向所述内存设备发送访问请求,所述访问请求包含所述运行的 对象的标识,所述运行对象的数据的物理地址信息,所述运行对象的容错编码的物理地址 信息。
14. 根据权利要求13所述的处理器,其特征在于,还包括: 改变单元,用于改变所述运行对象的可靠性级别,得到所述运行对象的可靠性级别改 变后所对应的新的容错编码方法; 所述发送单元还用于,向内存设备发送所述改变单元得到的所述改变后的所述可靠性 级别信息,其中,所述改变后的所述可靠性级别信息包括所述运行对象的标识信息W及所 述运行对象的可靠性级别改变后所对应的新的容错编码方法。
15. -种内存设备,其特征在于,包括: 内存芯片,包括数据区域DR和可配置纠错编码区域CECR,其中,所述DR用于存储处理 器的运行对象的数据,所述CECR用于存储所述运行对象的数据对应的容错编码; 缓冲调度器,用于接收处理器发送的所述处理器运行对象的可靠性级别信息,其中,所 述可靠性级别信息包含所述运行对象的标识信息W及所述运行对象的可靠性级别对应的 容错编码方法,所述运行对象的可靠性级别表示所述运行对象对内存可靠性需求的高低; W及根据所述运行对象的可靠性级别信息建立第一映射关系和第二映射关系,其中, 所述第一映射关系包含一一对应的所述运行对象的标识信息、所述运行对象的可靠性级别 W及所述运行对象的数据所存储的DR ;所述第二映射关系包含一一对应的所述运行对象 的标识信息、所述运行对象的可靠性级别W及与所述运行对象的数据对应的容错编码所存 储的CECR ; W及接收所述处理器发送的访问请求,所述访问请求包含所述处理器运行的对象的标 识信息W及所述运行对象的数据的物理地址信息和所述运行对象的容错编码的物理地址 信息; W及根据所述访问请求和所述第一映射关系对所述运行对象的数据进行访问,W及根 据所述访问请求和所述第二映射关系对所述运行对象对应的容错编码进行访问。
16. 根据权利要求15所述的内存设备,其特征在于, 所述缓冲调度器,用于根据所述可靠性级别信息中的所述容错编码方法查询预设的所 述运行对象的所述可靠性级别与容错编码方法的对应关系表,获取所述运行对象的可靠性 级别; W及根据所述运行对象的可靠性级别查询预设的可靠性级别与所述DR的对应关系 表,获取与所述运行对象的可靠性级别对应的DR,并生成所述第一映射关系; W及根据所述运行对象的可靠性级别查询预设的可靠性级别与所述CECR的对应关系 表,获取与所述运行对象的可靠性级别对应的CECR,并生成所述第二映射关系。
17. 根据权利要求15或16所述的内存设备,其特征在于, 所述缓冲调度器接收所述处理器发送的访问请求,其中所述访问请求包括读访问请 求; 相应的,所述缓冲调度器,用于根据所述运行对象的标识信息查询所述第一映射关系, 获取所述运行对象的数据所存储的DR,并生成对所述DR的数据读访问RD-d子请求,其中, 所述RD-d子请求包括所述运行对象的数据所存储的DR W及所述运行对象的数据的物理地 址信息; W及根据所述运行对象的标识信息查询所述第二映射关系,获取所述运行对象的容错 编码所存储的CECR,并生成对所述CECR的容错编码读访问RD-C子请求,其中,所述RD-C子 请求包括所述运行对象的容错编码所存储的CECR W及所述对象的容错编码的物理地址信 息; W及将所述RD-d子请求和所述RD-C子请求传输至所述内存芯片; 所述内存芯片用于,在所述RD-d子请求所包括的DR中通过所述运行对象的数据的物 理地址信息进行查找,获取所述运行对象的数据; W及在所述RD-C子请求所包括的CECR中通过对所述运行对象的容错编码物理地址信 息进行查找,获取所述运行对象的容错编码; W及将所述运行对象的数据和容错编码返回至所述缓冲调度器; 所述缓冲调度器用于,根据所述运行对象的容错编码对所述运行对象的数据进行校 验,获取所述运行对象的准确的数据; W及将所述经过校验的所述运行对象的准确的数据发送给所述处理器。
18. 根据权利要求15或16所述的内存设备,其特征在于,所述缓冲调度器接收所述处 理器发送的访问请求,其中,所述访问请求包括写访问请求和需要写入所述内存设备的数 据,所述写访问请求包括所述运行对象的标识信息W及所述需要写入所述内存设备的数据 的物理地址信息和所述需要写入所述内存设备的数据的容错编码的物理地址信息; 相应的,所述缓冲调度器用于,根据所述运行对象的标识信息查询所述第一映射关系, 获取所述运行对象的数据所存储的DR,并生成对所述DR的数据写访问WR-d子请求,其中, 所述WR-d子请求包括所述对象的数据所存储的DRW及所述需要写入所述内存设备的数据 的物理地址信息;W及根据所述运行对象的标识信息查询所述第二映射关系,获取所述运 行对象对应的CECR,并生成对所述CECR的容错编码WR-C写访问子请求,其中所述WR-C子 请求包括所述对象的容错编码所存储的CECR W及所述需要写入所述内存设备的数据的容 错编码的物理地址信息; W及通过所述运行对象的标识信息查找所述第二映射关系,得到所述运行对象对应的 容错编码方法,并通过所述对象对应的容错编码方法对所述需要写入所述内存设备的数据 进行容错编码处理,从而获取到与所述需要写入所述内存设备的数据对应的容错编码,并 将所述需要写入所述内存设备的数据和与所述需要写入所述内存设备的数据对应的容错 编码填入写请求队列; W及将所述WR-d子请求和所述WR-C子请求传输至所述内存芯片; 所述内存芯片用于,在所述WR-d子请求所包括的DR中通过对所述需要写入所述内存 设备的数据的物理地址信息进行查找获取到所述需要写入所述内存设备的数据的第一物 理地址,并将所述写请入队列中的所述需要写入所述内存设备的数据写入到所述第一物理 地址;W及在所述WR-C子请求所包括的CECR中通过对所述需要写入所述内存设备的数据 的容错编码的物理地址信息进行查找,获取到所述所述需要写入所述内存设备的数据的容 错编码的第二物理地址,并将所述写请求队列中的与所述需要写入所述内存设备的数据对 应的容错编码写入到所述第二物理地址。
19. 根据权利要求15-18任一项所述的内存设备,其特征在于, 所述缓冲调度器还用于,接收由所述处理器发送的所述改变后的所述可靠性级别信 息,其中,所述改变后的所述可靠性级别信息包括所述运行对象的标识信息W及所述运行 对象的可靠性级别改变后所对应的新的容错编码方法; W及根据所述改变后的所述可靠性级别信息中所述运行对象的可靠性级别改变后所 对应的新的容错编码方法,查询预设的所述运行对象的所述可靠性级别与容错编码方法的 对应关系表,更新所述第一映射关系和所述第二映射关系中的所述运行对象的可靠性级 别; W及根据所述第一映射关系中更新后的所述运行对象的可靠性级别查询预设的可靠 性级别与所述DR的对应关系表,更新所述第一映射关系中的DR ; W及根据所述第二映射关系中更新后的所述运行对象的可靠性级别查询预设的可靠 性级别与所述CECR的对应关系表,更新所述第二映射关系中的所述CECR。
20. -种处理器,其特征在于,包括: 处理核也,用于设置所述处理器的运行对象的可靠性级别,其中,所述运行对象的可靠 性级别表示所述运行对象对内存可靠性需求的高低; W及查询预设的所述运行对象的所述可靠性级别与容错编码方法的对应关系,得到所 述运行对象的可靠性级别对应的容错编码方法,并且向内存设备发送所述处理器运行的对 象的可靠性级别信息,其中,所述可靠性级别信息包含所述运行对象的标识信息W及所述 运行对象的可靠性级别对应的容错编码方法; W及向所述内存设备发送访问请求,所述访问请求包含所述运行的对象的标识,所述 运行对象的数据的物理地址信息,所述运行对象的容错编码的物理地址信息。
21. 根据权利要求20所述的处理器,其特征在于,所述处理核也还用于,改变所述运行 对象的可靠性级别,得到所述运行对象的可靠性级别改变后所对应的新的容错编码方法; W及向所述内存设备发送所述改变后的所述可靠性级别信息,其中,所述改变后的所 述可靠性级别信息包括所述运行对象的标识信息W及所述运行对象的可靠性级别改变后 所对应的新的容错编码方法。
22. -种内存访问的系统,其特征在于,包括如权利要求8-12,15-19任一项所述的内 存设备W及如权利要求13-14,20-21任一项所述的处理器。
【文档编号】G06F11/10GK104346234SQ201310345355
【公开日】2015年2月11日 申请日期:2013年8月9日 优先权日:2013年8月9日
【发明者】单书畅, 李冰, 胡瑜, 高翔 申请人:华为技术有限公司, 中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1