【技术实现步骤摘要】
存储数据的方法、读取数据的方法和相关设备
[0001]本申请实施例涉及信息
,更具体地,涉及存储数据的方法、读取数据的方法和相关设备。
技术介绍
[0002]为了快速识别内存中问题数据,业界引入了错误数据指示信息(也可以称为错误比特(poison bit))。错误数据指示信息用于指示从内存中读取的数据是错误数据(poison data)还是非错误数据(non
‑
poison data)。通常情况下,错误数据指示信息可以只需要用1比特(bit)就能指示对应的数据是错误数据还是非错误数据。例如,如果从内存中读取的数据为非错误数据,那么错误数据指示信息的值可以为0;如果从内存中读取的数据为错误数据,那么错误数据指示信息的值可以为1。
[0003]目前,内存会牺牲数据的校验位来保存错误数据指示信息。这种情况下,内存保存的校验位数量减少,从而可能导致原本可以纠正错误变成了不可纠错误。因此,如何在不影响内存纠错能力的情况下来指示错误数据是业界亟待解决的问题。
技术实现思路
[0004]本申请实施例提供一种存储数据的方法、读取数据的方法和相关设备,可以在不牺牲校验位的情况下识别出内存中保存的错误数据。
[0005]第一方面,本申请实施例提供一种存储数据的方法,该方法包括:获取来自于处理器的输出数据,该输出数据包括待写入内存的目标数据和与该目标数据对应的错误数据指示信息,该错误数据指示信息用于指示该目标数据是否是错误数据;根据该错误数据指示信息,将预设数据写入该内存,或者,将根 ...
【技术保护点】
【技术特征摘要】
1.一种存储数据的方法,其特征在于,所述方法包括:获取来自于处理器的输出数据,所述输出数据包括待写入内存的目标数据和与所述目标数据对应的错误数据指示信息,所述错误数据指示信息用于指示所述目标数据是否是错误数据;根据所述错误数据指示信息,将预设数据写入所述内存,或者,将根据所述目标数据确定的写入数据写入所述内存。2.根据权利要求1所述的方法,其特征在于,所述预设数据为不合法码字。3.根据权利要求1或2所述的方法,其特征在于,所述根据所述错误数据指示信息,将预设数据写入所述内存,或者,将根据所述目标数据确定的写入数据写入所述内存,包括:在所述错误数据指示信息指示所述目标数据为所述错误数据的情况下,将所述预设数据写入所述内存;在所述错误数据指示信息指示所述目标数据不是所述错误数据的情况下,对所述目标数据进行纠错编码得到所述写入数据并将所述写入数据写入所述内存。4.根据权利要求1或2所述的方法,其特征在于,所述内存包括第一内存颗粒模组和第二内存颗粒模组,所述目标数据包括第一目标数据和第二目标数据,所述错误数据指示信息包括对应于所述第一目标数据的第一错误数据指示信息和对应于所述第二目标数据的第二错误数据指示信息,所述根据所述错误数据指示信息,将预设数据写入所述内存,或者,将根据所述目标数据确定的写入数据写入所述内存,包括:在所述第一错误数据指示信息指示所述第一目标数据为所述错误数据或者所述第二错误数据指示信息指示所述第二目标数据为所述错误数据的情况下,将所述预设数据写入所述第一内存颗粒模组和所述第二内存颗粒模组;在所述第一错误数据指示信息指示所述第一目标数据不是所述错误数据且所述第二错误数据指示信息指示所述第二目标数据不是所述错误数据的情况下,对所述第一目标数据和所述第二目标数据进行纠错编码得到所述写入数据并将所述写入数据写入所述第一内存颗粒模组和所述第二内存颗粒模组。5.根据权利要求1或2所述的方法,其特征在于,所述内存包括第一内存颗粒模组和第二内存颗粒模组,所述目标数据包括第一目标数据和第二目标数据,所述错误数据指示信息包括对应于所述第一目标数据的第一错误数据指示信息和对应于所述第二目标数据的第二错误数据指示信息,所述预设数据包括第一预设数据、第二预设数据和第三预设数据,所述根据所述错误数据指示信息,将预设数据写入所述内存,或者,将根据所述目标数据确定的写入数据写入所述内存,包括:在所述第一错误数据指示信息指示所述第一目标数据为所述错误数据且所述第二错误数据指示信息指示所述第二目标数据为所述错误数据的情况下,将所述第一预设数据写入所述第一内存颗粒模组和所述第二内存颗粒模组;在所述第一错误数据指示信息指示所述第一目标数据不是所述错误数据且所述第二错误数据指示信息指示所述第二目标数据不是所述错误数据的情况下,对所述第一目标数据和所述第二目标数据进行纠错编码得到所述写入数据并将所述写入数据写入所述第一内存颗粒模组和所述第二内存颗粒模组;
在所述第一错误数据指示信息指示所述第一目标数据为所述错误数据且所述第二错误数据指示信息指示所述第二目标数据不是所述错误数据的情况下,根据所述第二目标数据和所述第二预设数据确定所述写入数据并将所述写入数据写入所述第一内存颗粒模组和所述第二内存颗粒模组;在所述第一错误数据指示信息指示所述第一目标数据不是所述错误数据且所述第二错误数据指示信息指示所述第二目标数据为所述错误数据的情况下,根据所述第一目标数据和所述第三预设数据确定所述写入数据并将所述写入数据写入所述第一内存颗粒模组和所述第二内存颗粒模组。6.根据权利要求5所述的方法,其特征在于,所述根据所述第二目标数据和所述第二预设数据确定所述写入数据,包括:对第一合并数据进行N+M纠错编码,得到第一编码结果,其中所述第一合并数据为x
N/2+M
M2(x),M2(x)为所述第二目标数据,其中N与M为正整数;将所述第一编码结果与所述第二预设数据相加,得到所述写入数据;所述根据所述第一目标数据和所述第三预设数据确定所述写入数据,包括:对第二合并数据进行N+M纠错编码,得到第二编码结果,其中所述第一合并数据为x
M
M1(x),M1(x)为所述第一目标数据;将所述第二编码结果与所述第三预设数据相加,得到所述写入数据。7.一种读取数据的方法,其特征在于,所述方法包括:接收来自于内存的目标数据;根据预设数据和所述目标数据,确定向处理器发送的输出数据以及用于指示所述输出数据是否为错误数据的错误数据指示信息。8.根据权利要求7所述的方法,其特征在于,所述根据预设数据和所述目标数据,确定向处理器发送的输出数据以及用于指示所述输出数据是否为错误数据的错误数据指示信息,包括:确定所述目标数据与所述预设数据的汉明距离是否小于预设阈值;若所述汉明距离小于所述预设阈值,则确定所述输出数据为第一数据且所述错误数据指示信息用于指示所述第一数据为所述错误数据;若所述汉明距离大于或等于所述预设阈值,则对所述目标数据进行纠错译码;若译码成功,则确定向所述输出数据为译码数据且所述错误数据指示信息用于指示所述译码数据不是所述错误数据,所述译码数据是对所述目标数据进行纠错译码得到的数据;若译码失败,则确定所述输出数据为第二数据且所述错误数据指示信息用于指示所述第二数据为所述错误数据。9.根据权利要求7所述的方法,其特征在于,所述内存包括第一内存颗粒模组和第二内存颗粒模组,所述目标数据包括第一目标数据和第二目标数据,所述根据预设数据和所述目标数据,确定向处理器发送的输出数据以及用于指示所述输出数据是否为错误数据的错误数据指示信息,包括:确定所述目标数据与所述预设数据的汉明距离是否小于预设阈值;若所述汉明距离小于所述预设阈值,则确定所述输出数据为第一数据且所述错误数据
指示信息用于指示所述第一数据为所述错误数据;若所述汉明距离大于或等于所述预设阈值,则对所述目标数据进行纠错译码;若译码成功,则确定所述输出数据包括第一译码数据和第二译码数据且所述错误数据指示信息指示所述第一译码数据和所述第二译码数据不是所述错误数据,其中所述第一译码数据与所述第一目标数据对应,所述第二译码数据与所述第二目标数据对应;若译码失败,则确定所述输出数据包括第二数据和第三数据且所述输出数据用于指示所述第二数据和所述第三数据不是所述错误数据。10.根据权利要求7所述的方法,其特征在于,所述内存包括第一内存颗粒模组和第二内存颗粒模组,所述目标数据包括第一目标数据和第二目标数据,所述预设数据包括第一预设数据、第二预设数据和第三预设数据,所述根据预设数据和所述目标数据,确定向处理器发送的输出数据以及用于指示所述输出数据是否为错误数据的错误数据指示信息,包括:确定所述目标数据与所述预设数据的汉明距离是否小于预设阈值;若所述汉明距离小于所述预设阈值,则确定所述输出数据包括第三数据和第四数据,所述错误数据指示信息用于指示所述第三数据和所述第四数据是所述错误数据;若所述汉明距离大于或等于所述预设阈值,根据第一错误特征、第二错误特征和第三错误特征,对所述目标数据进行译码,根据译码结果确定所述输出数据以及用于指示所述输出数据是否为错误数据的错误数据指示信息,其中所述第一错误特征是所述目标数据的错误特征,所述第二错误特征是所述第二预设数据的错误特征,所述第三错误特征是所述第三预设数据的错误特征。11.根据权利要求10所述的方法,其特征在于,所述根据第一错误特征、第二错误特征和第三错误特征,对所述目标数据进行译码,根据译码结果,确定所述输出数据以及用于指示所述输出数据是否为错误数据的错误数据指示信息,包括:根据所述第一错误特征和所述第二错误特征对所述目标数据进行译码,得到第一译码结果;根据所述第一错误特征和所述第三错误特征对所述目标数据进行译码,得到第二译码结果;根据所述第一错误特征对所述目标数据进行译码,得到第三译码结果;若只有所述第一译码结果为成功,则确定所述输出数据包括第二译码数据和第二数据且所述错误数据指示信息用于指示所述第二译码数据不是所述错误数据且所述第二数据是所述错误数据,所述第二译码数据对应于所述第二目标数据;若只有所述第二译码结果为成功,则确定所述输出数据包括第三数据和第一译码数据,所述错误数据指示信息用于指示所述第三数据是所述错误数据且所述第一译码数据不是所述错误数据,所述第一译码数据对应于所述第一目标数据;若只有所述第三译码结果为成功,则确定所述输出数据包括所述第一译码数据和所述第二译码数据,所述输出数据用于指示所述第一译码数据和所述第二译码数据不是所述错误数据;若所述第一译码结果、所述第二译码结果和所述第三译码结果中的至少两个译码成功或者全部译码失败,则确定所述输出数据包括所述第三数据和所述第四数据,所述错误数
据指示信息用于指示所述第三数据和所述第四数据是所述错误数据。12.根据权利要求7、10或11所述的方法,其特征在于,所述内存包括第一内存颗粒模组和第二内存颗粒模组,所述目标数据包括第一目标数据和第二目标数据,所述预设数据包括第二预设数据和第三预设数据,所述根据预设数据和所述目标数据,确定向处理器发送的输出数据以及用于指示所述输出数据是否为错误数据的错误数据指示信息,包括:根据第一错误特征、第二错误特征和第三错误特征,确定所述输出数据以及所述错误数据指示信息,其中所述第一错误特征是所述目标数据的错误特征,所述第二错误特征是所述第二预设数据的错误特征,所述第三错误特征是所述第三预设数据的错误特征;若所述第一错误特征等于所述第三错误特征,则所述输出数据包括所述第一目标数据和所述第二目标数据且所述错误数据指示信息用于指示所述第一目标数据不是所述错误数据且所述第二目标数据是所述错误数据;若所述第一错误特征等于所述第二错误特征,则所述输出数据包括所述第一目标数据和所述第二目标数据且所述错误数据指示信息用于指示所述第一目标数据是所述错误数据且所述第二目标数据不是所述错误数据;若所述第一错误特征为全0多项式,则所述输出数据包括所述第一目标数据和所述第二目标数据且所述错误数据指示信息用于指示所述第一目标数据和所述第二目标数据均不是所述错误数据。13.一种内存控制器,其特征在于,包括:获取单元,用于获取来自于处理器的输出数据,所述...
【专利技术属性】
技术研发人员:林宪正,孙翊宁,李步蟾,韩永祥,白铂,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。