数据读取、写入方法及装置、软错误处理系统制造方法及图纸

技术编号:32547781 阅读:10 留言:0更新日期:2022-03-05 11:46
一种数据读取方法及装置、数据写入方法及装置、软错误处理系统。该数据读取方法包括:利用错误校验方法,对从存储阵列的n行中的目标行读取的数据的m位进行第一校验,得到第一校验结果;响应于第一校验结果指示不能完全校正目标行出现的错误,利用奇偶校验方法,对从存储阵列中读取的m列中每一列的数据进行第二校验,得到奇偶校验结果;结合第一校验结果和奇偶校验结果,得到目标行对应的第二校验结果;将第二校验结果作为读取结果。该数据读取方法能够以较小的硬件开销和延时开销,及时校正数据存储器中出现的多位软错误,该数据读取方法所能校正的校正位的数量大于错误校验方法能够校正的最大错误校正位数。够校正的最大错误校正位数。够校正的最大错误校正位数。

【技术实现步骤摘要】
数据读取、写入方法及装置、软错误处理系统


[0001]本公开的实施例涉及一种数据读取方法、数据写入方法、数据读取装置、数据写入装置、软错误处理系统。

技术介绍

[0002]芯片能否持续稳定的工作取决于芯片系统上各个部件的稳定性,而静态随机存储器(Static Random

Access Memory,SRAM)是在当前芯片设计中大量使用的部件,这种存储器只要保持通电,里面储存的数据就可以恒常保持。通常静态随机存储器用来存储关键数据,减少延时,提高芯片的性能。例如,静态随机存储器可以作为CPU(central processing unit,中央处理器)或GPU(graphics processing unit,图形处理器)中的高速缓存(Cache)、数据通路上的数据缓存(Data Buffer)以及先进先出队列(First Input First Output,简称FIFO)等。静态随机存储器相比动态随机存储器(Dynamic Random

Access Memory,DRAM)具有延时小,速度快的特点,而且不需要刷新,因此有利于提升芯片的性能和减少访问数据的功耗。

技术实现思路

[0003]本公开至少一实施例提供一种数据读取方法,应用于数据存储器,其中,所述数据存储器中存储有n个数据且每个数据的数据宽度为m位,所述n个数据依次排列构成n*m位的数据阵列,且所述数据阵列在所述数据存储器中对应地存储为存储阵列,所述数据读取方法包括:利用错误校验方法,对从所述存储阵列的n行中的目标行读取的数据的m位进行第一校验,得到第一校验结果;响应于所述第一校验结果指示不能完全校正所述目标行出现的错误,利用奇偶校验方法,对从所述存储阵列中读取的m列中每一列的数据进行第二校验,得到奇偶校验结果;结合所述第一校验结果和所述奇偶校验结果,得到所述目标行对应的第二校验结果,其中,所述第二校验结果的校正位数量大于所述错误校验方法能够校正的最大错误校正位数;将所述第二校验结果作为读取结果,其中,m和n均为正整数。
[0004]例如,在本公开至少一实施例提供的数据读取方法中,所述数据存储器为所述存储阵列提供有第一校验阵列,所述第一校验阵列包括与所述n个数据一一对应的n个错误校验存储行,所述n个错误校验存储行中的每个包括p个错误校验位,所述n个错误校验存储行中第i行的p个错误校验位用于存储所述数据阵列的第i行的数据对应的错误校验数据;所述数据存储器为所述存储阵列和所述第一校验阵列提供有一个奇偶校验存储行,其中,所述奇偶校验存储行包括与所述存储阵列的m列一一对应的m位以及与所述第一校验阵列的p列一一对应的p位,所述m位和所述p位分别用于存储所述数据阵列的m列以及所述第一校验阵列的p列对应的具有m+p位的参考奇偶校验向量,其中,p和i均为正整数。
[0005]例如,在本公开至少一实施例提供的数据读取方法中,利用错误校验方法,对从所述存储阵列的n行中的目标行读取的数据的m位进行第一校验,得到第一校验结果,包括:读取所述目标行存储的数据的m位以及所述目标行对应的错误校验数据的p位,以得到第一数
据行;利用所述错误校验方法,对所述第一数据行进行所述第一校验,得到所述第一校验结果。
[0006]例如,在本公开至少一实施例提供的数据读取方法中,利用奇偶校验方法,对从所述存储阵列中读取的m列中每一列的数据进行第二校验,得到奇偶校验结果,包括:利用奇偶校验方法,对从所述存储阵列中读取的m列以及从所述第一校验阵列读取的p列中每一列的数据位进行奇偶校验运算,得到具有m+p位的检测奇偶校验向量;将所述检测奇偶校验向量与所述参考奇偶校验向量按位进行比较,确定所述检测奇偶校验向量与所述参考奇偶校验向量之间的多个差异位;根据所述多个差异位得到所述奇偶校验结果。
[0007]例如,在本公开至少一实施例提供的数据读取方法中,将所述检测奇偶校验向量与所述参考奇偶校验向量按位进行比较,包括:将所述检测奇偶校验向量与所述参考奇偶校验向量进行按位异或计算。
[0008]例如,在本公开至少一实施例提供的数据读取方法中,响应于所述第一校验结果指示不能完全校正所述目标行出现的错误,所述第一校验结果包括所述第一数据行,结合所述第一校验结果和所述奇偶校验结果,得到所述目标行对应的第二校验结果,包括:根据所述奇偶校验结果,确定所述第一数据行中存在错误的e个潜在出错位,其中,所述e个潜在出错位的位置为所述多个差异位的位置,e为整数;响应于e大于a

1且小于等于预设校正阈值,结合所述e个潜在出错位、所述错误校验方法和所述第一数据行,执行试错组合测试,以得到所述第二校验结果,其中,a为所述错误校验方法能够检测的最大错误检测位数。
[0009]例如,在本公开至少一实施例提供的数据读取方法中,结合所述e个潜在出错位、所述错误校验方法和所述第一数据行,执行试错组合测试,包括:确定由所述e个潜在出错位中每a个潜在出错位组成的至少一个校正组合,对所述至少一个校正组合进行所述试错组合测试;其中,所述试错组合测试包括依序针对每个被选择校正组合进行试错测试,所述试错测试包括:对所述第一数据行中与所述被选择校正组合包括的a个潜在出错位相对应的a个数据位进行翻转处理,以得到所述第一数据行对应的中间测试数据行;利用所述错误校验方法,对所述中间测试数据行进行所述第一校验,响应于所述中间测试数据行至多有a

1位存在错误,对所述中间测试数据行进行处理,得到所述第二校验结果,并停止所述试错组合测试,响应于所述中间测试数据行中仍有a位存在错误,对下一个校正组合执行所述试错测试。
[0010]例如,在本公开至少一实施例提供的数据读取方法中,所述至少一个校正组合按数据位距离从小到大的顺序依次执行所述试错测试,每个校正组合的数据位距离根据所述每个校正组合包括的a个潜在出错位之间的距离确定。
[0011]例如,在本公开至少一实施例提供的数据读取方法中,响应于所述中间测试数据行至多有a

1位存在错误,对所述中间测试数据行进行处理,得到所述第二校验结果,并停止所述试错组合测试,包括:响应于所述中间测试数据行不存在错误,将所述中间测试数据行作为所述第二校验结果,并停止所述试错组合测试;响应于所述中间测试数据行中的b位存在错误,利用所述错误校验方法,对所述b位进行校正,将校正结果作为所述第二校验结果,并停止所述试错组合测试,其中,b为正整数且小于等于a

1。
[0012]例如,在本公开至少一实施例提供的数据读取方法中,结合所述第一校验结果和所述奇偶校验结果,得到所述目标行对应的第二校验结果,包括:使用所述奇偶校验结果,
在从所述目标行读取的数据的m位中确定存在错误的多个潜在出错位;响应于所述多个潜在出错位的数量等于所述错误校验方法所能检测的最大错误检测位数a,根据所述多个潜在出错位,对从所述目标行读取的数据的m位进行处理,以得到所述第二校验结果。
[0013]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据读取方法,应用于数据存储器,其中,所述数据存储器中存储有n个数据且每个数据的数据宽度为m位,所述n个数据依次排列构成n*m位的数据阵列,且所述数据阵列在所述数据存储器中对应地存储为存储阵列,所述数据读取方法包括:利用错误校验方法,对从所述存储阵列的n行中的目标行读取的数据的m位进行第一校验,得到第一校验结果;响应于所述第一校验结果指示不能完全校正所述目标行出现的错误,利用奇偶校验方法,对从所述存储阵列中读取的m列中每一列的数据进行第二校验,得到奇偶校验结果;结合所述第一校验结果和所述奇偶校验结果,得到所述目标行对应的第二校验结果,其中,所述第二校验结果的校正位数量大于所述错误校验方法能够校正的最大错误校正位数;将所述第二校验结果作为读取结果,其中,m和n均为正整数。2.根据权利要求1所述的数据读取方法,其中,所述数据存储器为所述存储阵列提供有第一校验阵列,所述第一校验阵列包括与所述n个数据一一对应的n个错误校验存储行,所述n个错误校验存储行中的每个包括p个错误校验位,所述n个错误校验存储行中第i行的p个错误校验位用于存储所述数据阵列的第i行的数据对应的错误校验数据;所述数据存储器为所述存储阵列和所述第一校验阵列提供有一个奇偶校验存储行,其中,所述奇偶校验存储行包括与所述存储阵列的m列一一对应的m位以及与所述第一校验阵列的p列一一对应的p位,所述m位和所述p位分别用于存储所述数据阵列的m列以及所述第一校验阵列的p列对应的具有m+p位的参考奇偶校验向量,其中,p和i均为正整数。3.根据权利要求2所述的数据读取方法,其中,利用错误校验方法,对从所述存储阵列的n行中的目标行读取的数据的m位进行第一校验,得到第一校验结果,包括:读取所述目标行存储的数据的m位以及所述目标行对应的错误校验数据的p位,以得到第一数据行;利用所述错误校验方法,对所述第一数据行进行所述第一校验,得到所述第一校验结果。4.根据权利要求3所述的数据读取方法,其中,利用奇偶校验方法,对从所述存储阵列中读取的m列中每一列的数据进行第二校验,得到奇偶校验结果,包括:利用奇偶校验方法,对从所述存储阵列中读取的m列以及从所述第一校验阵列读取的p列中每一列的数据位进行奇偶校验运算,得到具有m+p位的检测奇偶校验向量;将所述检测奇偶校验向量与所述参考奇偶校验向量按位进行比较,确定所述检测奇偶校验向量与所述参考奇偶校验向量之间的多个差异位;根据所述多个差异位得到所述奇偶校验结果。5.根据权利要求4所述的数据读取方法,其中,将所述检测奇偶校验向量与所述参考奇偶校验向量按位进行比较,包括:将所述检测奇偶校验向量与所述参考奇偶校验向量进行按位异或计算。
6.根据权利要求4所述的数据读取方法,其中,响应于所述第一校验结果指示不能完全校正所述目标行出现的错误,所述第一校验结果包括所述第一数据行,结合所述第一校验结果和所述奇偶校验结果,得到所述目标行对应的第二校验结果,包括:根据所述奇偶校验结果,确定所述第一数据行中存在错误的e个潜在出错位,其中,所述e个潜在出错位的位置为所述多个差异位的位置,e为整数;响应于e大于a

1且小于等于预设校正阈值,结合所述e个潜在出错位、所述错误校验方法和所述第一数据行,执行试错组合测试,以得到所述第二校验结果,其中,a为所述错误校验方法能够检测的最大错误检测位数。7.根据权利要求6所述的数据读取方法,其中,结合所述e个潜在出错位、所述错误校验方法和所述第一数据行,执行试错组合测试,包括:确定由所述e个潜在出错位中每a个潜在出错位组成的至少一个校正组合,对所述至少一个校正组合进行所述试错组合测试;其中,所述试错组合测试包括依序针对每个被选择校正组合进行试错测试,所述试错测试包括:对所述第一数据行中与所述被选择校正组合包括的a个潜在出错位相对应的a个数据位进行翻转处理,以得到所述第一数据行对应的中间测试数据行;利用所述错误校验方法,对所述中间测试数据行进行所述第一校验,响应于所述中间测试数据行至多有a

1位存在错误,对所述中间测试数据行进行处理,得到所述第二校验结果,并停止所述试错组合测试,响应于所述中间测试数据行中仍有a位存在错误,对下一个校正组合执行所述试错测试。8.根据权利要求7所述的数据读取方法,其中,所述至少一个校正组合按数据位距离从小到大的顺序依次执行所述试错测试,每个校正组合的数据位距离根据所述每个校正组合包括的a个潜在出错位之间的距离确定。9.根据权利要求7所述的数据读取方法,其中,响应于所述中间测试数据行至多有a

1位存在错误,对所述中间测试数据行进行处理,得到所述第二校验结果,并停止所述试错组合测试,包括:响应于所述中间测试数据行不存在错误,将所述中间测试数据行作为所述第二校验结果,并停止所述试错组合测试;响应于所述中间测试数据行中的b位存在错误,利用所述错误校验方法,对所述b位进行校正,将校正结果作为所述第二校验结果,并停止所述试错组合测试,其中,b为正整数且小于等于a

1。10.根据权利要求1所述的数据读取方法,其中,结合所述第一校验结果和所述奇偶校验结果,得到所述目标行对应的第二校验结果,包括:使用所述奇偶校验结果,在从所述目标行读取的数据的m位中确定存在错误的多个潜在出错位;响应于所述多个潜在出错位的数量等于所述错误校验方法所能检测的最大错误检测
位数a,根据所述多个潜在出错位,对从所述目标行读取的数据的m位进行处理,以得到所述第二校验结果。11.根据权利要求10所述的数据读取方法,还包括:响应于所述多个潜在出错位的数量在预设校正范围内,基于所述多个潜在出错位构建至少一个校正组合,其中,每个校正组合由选择的a个潜在出错位组成;对所述至少一个校正组合进行试错组合测试;其中,所述试错组合测试包括依序针对每个被选择校正组合进行试错测试,所述试错测试包括:对所述目标行读取的数据的m位中与所述被选择校正组合包括的a个潜在出错位相对应的a个数据位进行翻转处理,得到中间测试数据行,利用所述错误校验方法,对所述中间测试数据行进行所述第一校验,得到第一中间校验结果,响应于所述第一中间校验结果为校验通过,基于所述第一中间校正结果得到所述第二校验结果,并停止所述试错组合测试,响应于所述第一中间校验结果为校验不通过,对下一个校正组合执行所述试错测试。12.根据权利要求1

11任一项所述的数据读取方法,其中,所述错误校验方法为单错校正双错检测方法。13.根据权利要求1

11任一项所述的数据读取方法,还包括:响应于所述第一校验结果指示能完全校正所述目标行出现的错误,将所述第一校验结果作为所述读取结果。14.一种数据写入方法,用于向数据存储器写入数据,所述数据存储器被配置为能够存储n个数据,且所述n个数据中每个的数据宽度为m位,所述n个数据依次排列构成n*m位的数据阵列,所述n*m位的数据阵列在所述数据存储器中对应地存储为n*m位的存储阵列,所述数据写入方法包括:基于错误校验方法,对待写入到所述存储阵列的n行中的目标行的目标数据生成第一校验数据,其中,所述第一校验数据用于对所述目标行利用所述错误校验方法进行校验;基于所述目标数据,利用奇偶校验方法得到参考奇偶校验向量,其中,所述参考奇偶校验向量用于对所述m列中的每列进行奇偶校验。15.根据权利要求14所述的数据写入方法,其中,所述数据存储器为所述存储阵列提供有第一校验阵列,所述第一校验阵列包括与所述n个数据一一对应的n个错误校验存储行,所述数据存储器为所述存储阵列和所述第一校验阵列提供有一个奇偶校验存储行,所述数据写入方法还包括:将所述目标数据写入所述存储阵列中的目标行;将所述第一校验数据写入所述第一校验阵列中所述目标行对应的错误校验存储行;将所述参考奇偶校验向量写入所述奇偶校验存储行。16.根据权利要求15所述的数据写入方法,其中,基于所述目标数据,利用奇偶校验方法得到参考奇偶校验向量,包括;读取所述奇偶校验存储行中存储的当前参考校验向量,
将所述当前参考校验向量与所述目标数据和所述第一校验数据进行按位异或运算,以得到所述参考奇偶校验向量。17.一种软错误处理系统,包括数据存储器和控制电路,其中,所...

【专利技术属性】
技术研发人员:陶昱良潘于代开勇
申请(专利权)人:海光信息技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1