CN108984340B - 存储器数据的容错保护方法、装置、设备及存储介质 - Google Patents
存储器数据的容错保护方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN108984340B CN108984340B CN201810575809.5A CN201810575809A CN108984340B CN 108984340 B CN108984340 B CN 108984340B CN 201810575809 A CN201810575809 A CN 201810575809A CN 108984340 B CN108984340 B CN 108984340B
- Authority
- CN
- China
- Prior art keywords
- matrix
- data
- mean
- compressed data
- stored data
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1489—Generic software techniques for error detection or fault masking through recovery blocks
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)
- Error Detection And Correction (AREA)
Abstract
本发明适用电子信息技术领域,提供了一种存储器数据的容错保护方法、装置、设备及存储介质,该方法包括:获取请求写入的存储数据,计算存储数据的均值矩阵和协方差矩阵,根据协方差矩阵计算存储数据对应的特征向量矩阵,根据存储数据的均值矩阵和该特征向量矩阵,对存储数据进行降维,生成低维映射矩阵,由特征向量矩阵和低维映射矩阵构成存储数据对应的压缩数据,计算压缩数据的均值矩阵并对压缩数据进行校验编码,将存储数据的均值矩阵、压缩数据的均值矩阵和压缩数据写入存储器,从而降低了存储器中数据出错的概率,进而在读取该存储数据时可通过写入存储器的压缩数据对存储数据的多位错误进行容错纠正,降低容错保护的硬件开销。
Description
技术领域
本发明属于电子信息技术领域,尤其涉及一种存储器数据的容错保护方法、装置、设备及存储介质。
背景技术
摩尔定律推动下的集成电路工艺不仅增加了存储器的集成密度,还使得存储器的工作电压和节点电容降低,大幅度减小了节点翻转所需的临界电荷。地面环境中的α粒子、中子或者辐射环境中的重离子、质子,它们撞击存储器表面后会以直接或间接电离的方式产生大量的电子空穴对,一旦被收集的电子空穴对超过节点的临界电荷,造成节点内容的翻转,容易引起存储器SEU或MBU。针对存储器的SEU问题,除了从物理上防御和基于电路的加固外,三模冗余(TMR)和检错纠错码(ECC)技术是最常用的两种方法。
三模冗余方法可以纠正每位错误,甚至一个数据全错,也能得到正确的结果,而且速度快,只是增加的硬件较多。检错纠错码(ECC)技术包括多种编码技术,不同的编码技术有不同的检错和纠错能力。例如,奇偶校验码只能检测出一个码字中的一位或奇数位错,但是不能定位错误,因而也不能纠正错误;汉明码可以纠正一个码字中任何一位错误,检测出两位错误。还有许多高阶的ECC编码算法,例如BCH码,RS码等,可以检测和纠正一个码字中的多位错误,但是算法复杂,面积和延迟开销也更大,并且当发生类似MBU这种连续多位错误的时候,高阶编码技术也不能保证准确定位错误位置。
此外,在很多应用领域中,并不总是需要将数据中的错误纠正到唯一正确的值,例如,针对图像识别、数据挖掘等数据密集型的一些应用,数据的反复迭代和大样本使得这些应用对数据精度的要求并不会很高,近似容错就能够满足应用需求。在国内外有很多近似计算的新方法,能够减少电路的资源开销,但是还未曾有存储器近似容错的相关研究。
发明内容
本发明的目的在于提供一种存储器数据的容错保护方法、装置、设备及存储介质,旨在解决由于现有技术无法提供一种存储器数据容错保护的有效方法,导致存储器数据容错保护的效果不佳且硬件开销大的问题。
一方面,本发明提供了一种存储器数据的容错保护方法,所述方法包括下述步骤:
当接收到数据写入请求时,获取请求写入存储器中的存储数据;
计算所述存储数据的均值矩阵和协方差矩阵,根据所述协方差矩阵计算所述存储数据对应的特征向量矩阵;
根据所述存储数据的均值矩阵和所述特征向量矩阵,对所述存储数据进行降维,生成对应的低维映射矩阵;
由所述特征向量矩阵和所述低维映射矩阵构成所述存储数据对应的压缩数据,计算所述压缩数据的均值矩阵,并对所述压缩数据进行校验编码;
将所述存储数据的均值矩阵、所述压缩数据的均值矩阵和校验编码的所述压缩数据写入所述存储器。
另一方面,本发明提供了一种存储器数据的容错保护装置,所述装置包括:
存储数据获取单元,用于当接收到数据写入请求时,获取请求写入存储器中的存储数据;
矩阵计算单元,用于计算所述存储数据的均值矩阵和协方差矩阵,根据所述协方差矩阵计算所述存储数据对应的特征向量矩阵;
数据降维单元,用于根据所述存储数据的均值矩阵和所述特征向量矩阵,对所述存储数据进行降维,生成对应的低维映射矩阵;
数据编码单元,用于由所述特征向量矩阵和所述低维映射矩阵构成所述存储数据对应的压缩数据,计算所述压缩数据的均值矩阵,并对所述压缩数据进行校验编码;以及
数据写入单元,用于将所述存储数据的均值矩阵、所述压缩数据的均值矩阵和校验编码的所述压缩数据写入所述存储器。
另一方面,本发明还提供了一种存储设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述存储器数据的容错保护方法所述的步骤。
另一方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述存储器数据的容错保护方法所述的步骤。
本发明获取请求写入存储器中的存储数据,计算存储数据的均值矩阵和协方差矩阵,根据协方差矩阵计算存储数据对应的特征向量矩阵,根据存储数据的均值矩阵和该特征向量矩阵,对存储数据进行降维,生成相应的低维映射矩阵,由特征向量矩阵和低维映射矩阵构成存储数据对应的压缩数据,计算压缩数据的均值矩阵并对压缩数据进行校验编码,将存储数据的均值矩阵、压缩数据的均值矩阵和编码后的压缩数据写入存储器中,从而节省了存储器的存储空间,同时,降低了存储器中数据出错的概率,进而在读取该存储数据时可通过写入存储器的压缩数据对存储数据的多位错误进行容错纠正,提高了存储器数据容错保护的效果,降低存储器数据容错保护的硬件开销。
附图说明
图1是本发明实施例一提供的存储器数据的容错保护方法的实现流程图;
图2是本发明实施例二提供的存储器数据的容错保护方法的实现流程图;
图3是本发明实施例二提供的存储器数据的容错保护方法中对特征向量矩阵中错误数据和特征映射矩阵中错误数据进行替换的示例图;
图4是本发明实施例三提供的存储器数据的容错保护装置的结构示意图;
图5是本发明实施例四提供的存储器数据的容错保护装置的结构示意图;
图6是本发明实施例四提供的存储器数据的容错保护装置的优选结构示意图;以及
图7是本发明实施例五提供的存储设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下结合具体实施例对本发明的具体实现进行详细描述:
实施例一:
图1示出了本发明实施例一提供的存储器数据的容错保护方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在步骤S101中,当接收到数据写入请求时,获取请求写入存储器中的存储数据。
本发明实施例适用于存储器,尤其适用于可读写存储器。在接收到用户的数据写入请求时,从该数据写入请求中获取用户请求写入存储器中的存储数据,可将存储数据表示为N*M大小的矩阵X,其中,N为矩阵X的行数,可看作存储数据中的样本个数,M为矩阵X的列数,可看作存储数据中每个样本的维度。
在步骤S102中,计算存储数据的均值矩阵和协方差矩阵,根据协方差矩阵计算存储数据对应的特征向量矩阵。
优选地,通过下述步骤根据协方差矩阵计算存储数据对应的特征向量矩阵:
(1)对协方差矩阵进行特征值分解,得到协方差矩阵的对角阵和特征向量。
在本发明实施例中,对协方差矩阵进行特征值分解的公式为:
Σ=UΛUT,其中,Λ=diag(λ1,λ2,…,λD),λ1≥λ2≥…≥λD,U=(u1,u2,…,uD)T,Λ为协方差矩阵的对角阵,λ1、λ2、……、λD是对角阵中的特征值,D等于存储数据中样本的纬度M,U为协方差矩阵特征值分解后得到的原始特征向量矩阵,u1、u2、……、uD分别是λ1、λ2、……、λD对应的特征向量,
(2)对对角阵中的特征值进行筛选,由筛选后的特征值所对应的特征向量构成存储数据对应的特征向量矩阵。
在本发明实施例中,为了实现对存储数据的降维,需要对对角阵中的特征值进行筛选。在对对角阵中的特征值进行筛选时,根据对角阵中特征值的大小从这些特征值中选取前d个特征值,再由前d个特征值对应的特征向量构成存储数据对应的特征向量矩阵Ud=(u1,u2,…,ud)T,从而由筛选后的特征值所对应的特征向量构成存储数据对应的特征向量矩阵。其中,d的值越小,存储数据降维后的数据维度越低,有利于数据存储和后续容错过程的数据分析,同时降低了噪声干扰。
由于d值过小可能导致降维后的数据不够真实,因此,优选地,在从这些特征值中选取前d个特征值时,根据前d个特征值对存储数据的贡献率和预设的贡献率阈值,将满足预设条件的最小d值确定为d的最终取值。其中,前d个特征值对存储数据的贡献率的计算公式为:预设条件为前d个特征值对存储数据的贡献率超过贡献率阈值,从而有效地提高了后续存储数据的降维效果。
在步骤S103中,根据存储数据的均值矩阵和特征向量矩阵,对存储数据进行降维,生成对应的低维映射矩阵。
在本发明实施例中,通过将存储数据投影到前d个主成分(即特征值)的线性子空间,实现对存储数据的降维,即通过主成分分析方式对存储数据进行降维。优选地,根据存储数据的均值矩阵和特征向量矩阵Ud,对存储数据进行降维的公式为:
在步骤S104中,由特征向量矩阵和低维映射矩阵构成存储数据对应的压缩数据,计算压缩数据的均值矩阵,并对压缩数据进行校验编码。
在本发明实施例中,存储数据对应的压缩数据包括特征向量矩阵Ud和低维映射矩阵Yd,优选地,计算特征向量矩阵Ud的列均值矩阵Ud *,计算低维映射矩阵Yd的行均值矩阵Yd *,由列均值矩阵Ud *和行均值矩阵Yd *构成压缩数据的均值矩阵,从而后续通过压缩数据的均值矩阵对压缩数据进行容错纠正,有效地提高存储器容错保护的效果。其中,列均值矩阵Ud *=[u1 *,u2 *,…,ud *],Ud *中的第j(j从1到d)个元素为uij为特征向量矩阵Ud位置(i,j)处的元素,行均值矩阵Yd *=[y1 *,y2 *,…,yd *]T,Yd *中第i(i从1到d)个元素为yij为特征向量矩阵Yd位置(i,j)处的元素。
在本发明实施例中,相较于由特征向量矩阵和低维映射矩阵构成的压缩数据,存储数据的均值矩阵的数据量非常少,可认为发生错误的概率非常低,所以无需对进行校验编码。在对压缩数据进行校验编码时,可采用奇偶校验编码方式或者其它校验编码方式,在此不进行限制。
在步骤S105中,将存储数据的均值矩阵、压缩数据的均值矩阵和校验编码的压缩数据写入存储器。
在本发明实施例中,将存储数据的均值矩阵、压缩数据的均值矩阵和校验编码的压缩数据写入存储器,从而有效地减少了存储器中数据存储量,降低了存储器中数据出错的概率。在读取数据时对压缩数据进行容错纠正的过程,可参照实施例二中各步骤的详细描述,在此不再赘述。
在本发明实施例中,计算存储数据的均值矩阵和协方差矩阵,根据协方差矩阵计算存储数据对应的特征向量矩阵,根据存储数据的均值矩阵和该特征向量矩阵,对存储数据进行降维,生成相应的低维映射矩阵,由特征向量矩阵和低维映射矩阵构成存储数据对应的压缩数据,计算压缩数据的均值矩阵并对压缩数据进行校验编码,将存储数据的均值矩阵、压缩数据的均值矩阵和编码后的压缩数据写入存储器中,从而节省了存储器的存储空间,同时,降低了存储器中数据出错的概率,进而在读取该存储数据时可通过写入存储器的压缩数据对存储数据的多位错误进行容错纠正,提高了存储器数据容错保护的效果,降低存储器数据容错保护的硬件开销。
实施例二:
图2示出了本发明实施例二提供的存储器数据的容错保护方法中存储数据读取过程的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在步骤S201中,当接收到读取存储数据的请求时,从存储器中读取存储数据的均值矩阵和压缩数据。
在本发明实施例中,在接收到用户读取存储数据的请求时,从存储器中读取存储数据的均值矩阵和压缩数据,以便后续根据存储数据的均值矩阵和压缩数据,重构出与存储数据高度相似的数据,从而有效地节省了存储空间。
在步骤S202中,对读取的压缩数据进行错误校验,以判断压缩数据是否出错。
在本发明实施例中,可采用奇偶校验方式或者其它校验方式对读取出的压缩数据进行错误校验,以判断读取的压缩数据是否出错。
在步骤S203中,当确定压缩数据出错时,根据压缩数据的均值矩阵对压缩数据中的错误数据进行纠正。
在本发明实施例中,当确定读取的压缩数据出错时,从存储器中读取压缩数据的均值矩阵,以根据压缩数据的均值矩阵对压缩数据中的多位错误进行容错纠正。优选地,对压缩数据中的多位错误进行容错纠正时,根据特征向量矩阵中错误数据所在的行位置,从特征向量矩阵的列均值矩阵中获取该行位置对应的均值,对特征向量矩阵中的错误数据进行替换,并根据低维映射矩阵中错误数据所在的列位置,从低维映射矩阵的行均值矩阵中获取该列位置对应的均值,对低维映射矩阵中的错误数据进行替换,从而以矩阵数据为操作单位并采用均值替换压缩数据中错误数据的方式,不受限于错误数据的数目和分布,实现多位错误的容错纠正。
作为示例地,如图3所示,当特征向量矩阵Ud中的u11和u22为错误数据时,将u11和u22分别替换为特征向量矩阵Ud的列均值矩阵Ud *中的u1 *和u2 *,当低维映射矩阵Yd中的y11和y22为错误数据时,将y11和y22分别替换为低维映射矩阵Yd的行均值矩阵Yd *中的y1 *和y2 *。
在步骤S204中,根据错误纠正后的压缩数据和存储数据的均值矩阵,对存储数据进行重构。
在本发明实施例中,对压缩数据进行容错纠正后,可根据容错纠正后的压缩数据和存储数据的均值矩阵,对存储数据进行重构,重构公式为:
优选地,当确定读取的压缩数据未出错后,直接根据读取出的压缩数据和存储数据的均值矩阵,对存储数据进行重构,从而有效地提高了数据读取的效率和准确度。
在本发明实施例中,对读取出的压缩数据进行错误校验,当确定读取出的压缩数据出错时,根据压缩数据的均值矩阵对压缩数据中的错误数据进行替换,以对压缩数据进行容错纠正,根据容错纠正后的压缩数据和存储数据的均值矩阵,对待读取的存储数据进行重构,从而在读取压缩数据时通过写入存储器的压缩数据对存储数据的多位错误进行容错纠正,提高了存储器数据容错保护的效果,并降低了存储器数据容错保护的硬件开销。
实施例三:
图4示出了本发明实施例三提供的存储器数据的容错保护装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:
存储数据获取单元41,用于当接收到数据写入请求时,获取请求写入存储器中的存储数据。
在本发明实施例中,在接收到用户的数据写入请求时,从该数据写入请求中获取用户请求写入存储器中的存储数据,可将存储数据表示为N*M大小的矩阵X,其中,N为矩阵X的行数,可看作存储数据中的样本个数,M为矩阵X的列数,可看作存储数据中每个样本的维度。
矩阵计算单元42,用于计算存储数据的均值矩阵和协方差矩阵,根据协方差矩阵计算存储数据对应的特征向量矩阵。
优选地,通过下述步骤根据协方差矩阵计算存储数据对应的特征向量矩阵:
(1)对协方差矩阵进行特征值分解,得到协方差矩阵的对角阵和特征向量。
在本发明实施例中,对协方差矩阵进行特征值分解的公式为:
Σ=UΛUT,其中,Λ=diag(λ1,λ2,…,λD),λ1≥λ2≥…≥λD,U=(u1,u2,…,uD)T,Λ为协方差矩阵的对角阵,λ1、λ2、……、λD是对角阵中的特征值,D等于存储数据中样本的纬度M,U为协方差矩阵特征值分解后得到的原始特征向量矩阵,u1、u2、……、uD分别是λ1、λ2、……、λD对应的特征向量,
(2)对对角阵中的特征值进行筛选,由筛选后的特征值所对应的特征向量构成存储数据对应的特征向量矩阵。
在本发明实施例中,为了实现对存储数据的降维,需要对对角阵中的特征值进行筛选。在对对角阵中的特征值进行筛选时,根据对角阵中特征值的大小从这些特征值中选取前d个特征值,再由前d个特征值对应的特征向量构成存储数据对应的特征向量矩阵Ud=(u1,u2,…,ud)T,从而由筛选后的特征值所对应的特征向量构成存储数据对应的特征向量矩阵。其中,d的值越小,存储数据降维后的数据维度越低,有利于数据存储和后续容错过程的数据分析,同时降低了噪声干扰。
由于d值过小可能导致降维后的数据不够真实,因此,优选地,在从这些特征值中选取前d个特征值时,根据前d个特征值对存储数据的贡献率和预设的贡献率阈值,将满足预设条件的最小d值确定为d的最终取值。其中,前d个特征值对存储数据的贡献率的计算公式为:预设条件为前d个特征值对存储数据的贡献率超过贡献率阈值,从而有效地提高了后续存储数据的降维效果。
数据降维单元43,用于根据存储数据的均值矩阵和特征向量矩阵,对存储数据进行降维,生成对应的低维映射矩阵。
在本发明实施例中,通过将存储数据投影到前d个主成分(即特征值)的线性子空间,实现对存储数据的降维,即通过主成分分析方式对存储数据进行降维。优选地,根据存储数据的均值矩阵和特征向量矩阵Ud,对存储数据进行降维的公式为:
数据编码单元44,用于由特征向量矩阵和低维映射矩阵构成存储数据对应的压缩数据,计算压缩数据的均值矩阵,并对压缩数据进行校验编码。
在本发明实施例中,存储数据对应的压缩数据包括特征向量矩阵Ud和低维映射矩阵Yd,优选地,计算特征向量矩阵Ud的列均值矩阵Ud *,计算低维映射矩阵Yd的行均值矩阵Yd *,由列均值矩阵Ud *和行均值矩阵Yd *构成压缩数据的均值矩阵,从而后续通过压缩数据的均值矩阵对压缩数据进行容错纠正,有效地提高存储器容错保护的效果。其中,列均值矩阵Ud *=[u1 *,u2 *,…,ud *],Ud *中的第j(j从1到d)个元素为uij为特征向量矩阵Ud位置(i,j)处的元素,行均值矩阵Yd *=[y1 *,y2 *,…,yd *]T,Yd *中第i(i从1到d)个元素为yij为特征向量矩阵Yd位置(i,j)处的元素。
在本发明实施例中,相较于由特征向量矩阵和低维映射矩阵构成的压缩数据,存储数据的均值矩阵的数据量非常少,可认为发生错误的概率非常低,所以无需对进行校验编码。在对压缩数据进行校验编码时,可采用奇偶校验编码方式或者其它校验编码方式,在此不进行限制。
数据写入单元45,用于将存储数据的均值矩阵、压缩数据的均值矩阵和校验编码的压缩数据写入存储器。
在本发明实施例中,将存储数据的均值矩阵、压缩数据的均值矩阵和校验编码的压缩数据写入存储器,从而有效地减少了存储器中数据存储量,降低了存储器中数据出错的概率。在读取数据时对压缩数据进行容错纠正的过程,可参照实施例四中单元56至单元59的详细描述,在此不再赘述。
在本发明实施例中,计算存储数据的均值矩阵和协方差矩阵,根据协方差矩阵计算存储数据对应的特征向量矩阵,根据存储数据的均值矩阵和该特征向量矩阵,对存储数据进行降维,生成相应的低维映射矩阵,由特征向量矩阵和低维映射矩阵构成存储数据对应的压缩数据,计算压缩数据的均值矩阵并对压缩数据进行校验编码,将存储数据的均值矩阵、压缩数据的均值矩阵和编码后的压缩数据写入存储器中,从而节省了存储器的存储空间,同时,降低了存储器中数据出错的概率,进而在读取该存储数据时可通过写入存储器的压缩数据对存储数据的多位错误进行容错纠正,提高了存储器数据容错保护的效果,降低存储器数据容错保护的硬件开销。
实施例四:
图5示出了本发明实施例四提供的存储器数据的容错保护装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:
存储数据获取单元51,用于当接收到数据写入请求时,获取请求写入存储器中的存储数据。
矩阵计算单元52,用于计算存储数据的均值矩阵和协方差矩阵,根据协方差矩阵计算存储数据对应的特征向量矩阵。
数据降维单元53,用于根据存储数据的均值矩阵和特征向量矩阵,对存储数据进行降维,生成对应的低维映射矩阵。
数据编码单元54,用于由特征向量矩阵和低维映射矩阵构成存储数据对应的压缩数据,计算压缩数据的均值矩阵,并对压缩数据进行校验编码。
数据写入单元55,用于将存储数据的均值矩阵、压缩数据的均值矩阵和校验编码的压缩数据写入存储器。
在本发明实施例中,存储数据获取单元51、矩阵计算单元52、数据降维单元53、数据编码单元54和数据写入单元55的详细内容可参照实施例三中相应单元的内容描述,在此不再赘述。
数据读取单元56,用于当接收到读取存储数据的请求时,从存储器中读取存储数据的均值矩阵和压缩数据。
在本发明实施例中,在接收到用户读取存储数据的请求时,从存储器中读取存储数据的均值矩阵和压缩数据,以便后续根据存储数据的均值矩阵和压缩数据,重构出与存储数据高度相似的数据,从而有效地节省了存储空间。
数据校验单元57,用于对读取的压缩数据进行错误校验,以判断压缩数据是否出错。
在本发明实施例中,可采用奇偶校验方式或者其它校验方式对读取出的压缩数据进行错误校验,以判断读取的压缩数据是否出错。
错误纠正单元58,用于当确定压缩数据出错时,根据压缩数据的均值矩阵对压缩数据中的错误数据进行纠正。
在本发明实施例中,当确定读取的压缩数据出错时,从存储器中读取压缩数据的均值矩阵,以根据压缩数据的均值矩阵对压缩数据中的多位错误进行容错纠正。优选地,对压缩数据中的多位错误进行容错纠正时,根据特征向量矩阵中错误数据所在的行位置,从特征向量矩阵的列均值矩阵中获取该行位置对应的均值,对特征向量矩阵中的错误数据进行替换,并根据低维映射矩阵中错误数据所在的列位置,从低维映射矩阵的行均值矩阵中获取该列位置对应的均值,对低维映射矩阵中的错误数据进行替换,从而以矩阵数据为操作单位并采用均值替换压缩数据中错误数据的方式,不受限于错误数据的数目和分布,实现多位错误的容错纠正。
数据重构单元59,用于根据错误纠正后的压缩数据和存储数据的均值矩阵,对存储数据进行重构。
在本发明实施例中,对压缩数据进行容错纠正后,可根据容错纠正后的压缩数据和存储数据的均值矩阵,对存储数据进行重构,重构公式为:
优选地,当确定读取的压缩数据未出错后,直接根据读取出的压缩数据和存储数据的均值矩阵,对存储数据进行重构,从而有效地提高了数据读取的效率和准确度。
优选地,如图6所示,数据编码单元54包括:
均值矩阵计算单元641,用于计算特征向量矩阵的列均值矩阵和低维映射矩阵的行均值矩阵;以及
均值矩阵构成单元642,用于由特征向量矩阵的列均值矩阵和低维映射矩阵的行均值矩阵构成压缩数据的均值矩阵。
在本发明实施例中,在写入存储数据时,对存储数据进行降维,将存储数据的均值矩阵、存储数据对应的压缩数据、该压缩矩阵的均值矩阵写入存储器,在读出存储数据时,对读出的压缩数据进行错误校验和容纠正,根据纠正后的压缩数据重构出存储数据,从而节省了存储器的存储空间,同时,降低了存储器中数据出错的概率,并通过写入存储器的压缩数据对存储数据的多位错误进行容错纠正,提高了存储器数据容错保护的效果,降低存储器数据容错保护的硬件开销。
在本发明实施例中,存储器数据的容错保护装置的各单元可由相应的硬件或软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为一个软、硬件单元,在此不用以限制本发明。
实施例五:
图7示出了本发明实施例五提供的存储设备的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
本发明实施例的存储设备7包括处理器70、存储器71以及存储在存储器71中并可在处理器70上运行的计算机程序72。该处理器70执行计算机程序72时实现上述各个方法实施例中的步骤,例如图1所示的步骤S101至S105。或者,处理器70执行计算机程序72时实现上述各装置实施例中各单元的功能,例如图4所示单元41至45的功能。
在本发明实施例中,计算存储数据的均值矩阵和协方差矩阵,根据协方差矩阵计算存储数据对应的特征向量矩阵,根据存储数据的均值矩阵和该特征向量矩阵,对存储数据进行降维,生成相应的低维映射矩阵,由特征向量矩阵和低维映射矩阵构成存储数据对应的压缩数据,计算压缩数据的均值矩阵并对压缩数据进行校验编码,将存储数据的均值矩阵、压缩数据的均值矩阵和编码后的压缩数据写入存储器中,从而节省了存储器的存储空间,同时,降低了存储器中数据出错的概率,进而在读取该存储数据时可通过写入存储器的压缩数据对存储数据的多位错误进行容错纠正,提高了存储器数据容错保护的效果,降低存储器数据容错保护的硬件开销。
实施例六:
在本发明实施例中,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述各个方法实施例中的步骤,例如,图1所示的步骤S101至S105。或者,该计算机程序被处理器执行时实现上述各装置实施例中各单元的功能,例如图4所示单元41至45的功能。
在本发明实施例中,计算存储数据的均值矩阵和协方差矩阵,根据协方差矩阵计算存储数据对应的特征向量矩阵,根据存储数据的均值矩阵和该特征向量矩阵,对存储数据进行降维,生成相应的低维映射矩阵,由特征向量矩阵和低维映射矩阵构成存储数据对应的压缩数据,计算压缩数据的均值矩阵并对压缩数据进行校验编码,将存储数据的均值矩阵、压缩数据的均值矩阵和编码后的压缩数据写入存储器中,从而节省了存储器的存储空间,同时,降低了存储器中数据出错的概率,进而在读取该存储数据时可通过写入存储器的压缩数据对存储数据的多位错误进行容错纠正,提高了存储器数据容错保护的效果,降低存储器数据容错保护的硬件开销。
本发明实施例的计算机可读存储介质可以包括能够携带计算机程序代码的任何实体或装置、记录介质,例如,ROM/RAM、磁盘、光盘、闪存等存储器。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种存储器数据的容错保护方法,其特征在于,所述方法包括下述步骤:
当接收到数据写入请求时,获取请求写入存储器中的存储数据;
计算所述存储数据的均值矩阵和协方差矩阵,根据所述协方差矩阵计算所述存储数据对应的特征向量矩阵;
根据所述存储数据的均值矩阵和所述特征向量矩阵,对所述存储数据进行降维,生成对应的低维映射矩阵;
由所述特征向量矩阵和所述低维映射矩阵构成所述存储数据对应的压缩数据,计算所述压缩数据的均值矩阵,并对所述压缩数据进行校验编码;
将所述存储数据的均值矩阵、所述压缩数据的均值矩阵和校验编码后的压缩数据写入所述存储器;
其中,计算所述压缩数据的均值矩阵的步骤,包括:
计算所述特征向量矩阵的列均值矩阵和所述低维映射矩阵的行均值矩阵;
由所述特征向量矩阵的列均值矩阵和所述低维映射矩阵的行均值矩阵构成所述压缩数据的均值矩阵。
2.如权利要求1所述的方法,其特征在于,根据所述协方差矩阵计算所述存储数据对应的特征向量矩阵的步骤,包括
计算所述协方差矩阵的对角阵和特征向量;
对所述对角阵中的特征值进行筛选,由所述筛选后的特征值所对应的所述特征向量构成所述特征向量矩阵。
4.如权利要求1所述的方法,其特征在于,将所述存储数据的均值矩阵、所述压缩数据的均值矩阵和校验编码后的压缩数据写入所述存储器的步骤之后,所述方法还包括:
当接收到读取所述存储数据的请求时,从所述存储器中读取所述存储数据的均值矩阵和所述压缩数据;
对读取的所述压缩数据进行错误校验,以判断所述压缩数据是否出错;
当确定所述压缩数据出错时,根据所述压缩数据的均值矩阵对所述压缩数据中的错误数据进行纠正;
根据错误纠正后的所述压缩数据和所述存储数据的均值矩阵,对所述存储数据进行重构。
5.如权利要求4所述的方法,其特征在于,对所述压缩数据中的错误数据进行纠正的步骤,包括:
根据所述特征向量矩阵中错误数据所在的行位置,从所述特征向量矩阵的列均值矩阵中获取相应均值,对所述特征向量矩阵中的错误数据进行替换;
根据所述低维映射矩阵中错误数据所在的列位置,从所述低维映射矩阵的行均值矩阵中获取相应均值,对所述低维映射矩阵中的错误数据进行替换。
6.一种存储器数据的容错保护装置,其特征在于,所述装置包括:
存储数据获取单元,用于当接收到数据写入请求时,获取请求写入存储器中的存储数据;
矩阵计算单元,用于计算所述存储数据的均值矩阵和协方差矩阵,根据所述协方差矩阵计算所述存储数据对应的特征向量矩阵;
数据降维单元,用于根据所述存储数据的均值矩阵和所述特征向量矩阵,对所述存储数据进行降维,生成对应的低维映射矩阵;
数据编码单元,用于由所述特征向量矩阵和所述低维映射矩阵构成所述存储数据对应的压缩数据,计算所述压缩数据的均值矩阵,并对所述压缩数据进行校验编码;以及
数据写入单元,用于将所述存储数据的均值矩阵、所述压缩数据的均值矩阵和校验编码后的压缩数据写入所述存储器;
其中,所述数据编码单元包括:
均值矩阵计算单元,用于计算所述特征向量矩阵的列均值矩阵和所述低维映射矩阵的行均值矩阵;以及
均值矩阵构成单元,用于由所述特征向量矩阵的列均值矩阵和所述低维映射矩阵的行均值矩阵构成所述压缩数据的均值矩阵。
7.如权利要求6所述的装置,其特征在于,所述矩阵计算单元包括:
数据读取单元,用于当接收到读取所述存储数据的请求时,从所述存储器中读取所述存储数据的均值矩阵和所述压缩数据;
数据校验单元,用于对读取的所述压缩数据进行错误校验,以判断所述压缩数据是否出错;
错误纠正单元,用于当确定所述压缩数据出错时,根据所述压缩数据的均值矩阵对所述压缩数据中的错误数据进行纠正;以及
数据重构单元,用于根据错误纠正后的所述压缩数据和所述存储数据的均值矩阵,对所述存储数据进行重构。
8.如权利要求7所述的装置,其特征在于,所述错误纠正单元具体包括:
根据所述特征向量矩阵中错误数据所在的行位置,从所述特征向量矩阵的列均值矩阵中获取相应均值,对所述特征向量矩阵中的错误数据进行替换;
根据所述低维映射矩阵中错误数据所在的列位置,从所述低维映射矩阵的行均值矩阵中获取相应均值,对所述低维映射矩阵中的错误数据进行替换。
9.一种存储设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810575809.5A CN108984340B (zh) | 2018-06-06 | 2018-06-06 | 存储器数据的容错保护方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810575809.5A CN108984340B (zh) | 2018-06-06 | 2018-06-06 | 存储器数据的容错保护方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108984340A CN108984340A (zh) | 2018-12-11 |
CN108984340B true CN108984340B (zh) | 2021-07-23 |
Family
ID=64540849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810575809.5A Active CN108984340B (zh) | 2018-06-06 | 2018-06-06 | 存储器数据的容错保护方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108984340B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114115730B (zh) * | 2021-11-02 | 2023-06-13 | 北京银盾泰安网络科技有限公司 | 一种应用容器存储引擎平台 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104616013A (zh) * | 2014-04-30 | 2015-05-13 | 北京大学 | 获取低维局部特征描述子的方法 |
CN107979378A (zh) * | 2017-12-14 | 2018-05-01 | 深圳Tcl新技术有限公司 | 惯性数据压缩方法、服务器及计算机可读存储介质 |
WO2018076629A1 (zh) * | 2016-10-29 | 2018-05-03 | 华为技术有限公司 | 一种数据备份方法、节点及数据备份系统 |
CN108021467A (zh) * | 2017-11-10 | 2018-05-11 | 深圳先进技术研究院 | 一种存储器容错保护方法、装置、设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183565B (zh) * | 2007-12-12 | 2011-02-16 | 深圳市硅格半导体有限公司 | 存储介质中数据校验方法 |
US9921910B2 (en) * | 2015-02-19 | 2018-03-20 | Netapp, Inc. | Virtual chunk service based data recovery in a distributed data storage system |
-
2018
- 2018-06-06 CN CN201810575809.5A patent/CN108984340B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104616013A (zh) * | 2014-04-30 | 2015-05-13 | 北京大学 | 获取低维局部特征描述子的方法 |
WO2018076629A1 (zh) * | 2016-10-29 | 2018-05-03 | 华为技术有限公司 | 一种数据备份方法、节点及数据备份系统 |
CN108021467A (zh) * | 2017-11-10 | 2018-05-11 | 深圳先进技术研究院 | 一种存储器容错保护方法、装置、设备及存储介质 |
CN107979378A (zh) * | 2017-12-14 | 2018-05-01 | 深圳Tcl新技术有限公司 | 惯性数据压缩方法、服务器及计算机可读存储介质 |
Non-Patent Citations (2)
Title |
---|
Identifying Single-Event Transient Location Based on Compressed Sensing;Cuiping Shao等;《IEEE》;20180430;第26卷(第4期);768-777 * |
压缩感知研究;戴琼海等;《计算机学报》;20110331;第34卷(第03期);425-434 * |
Also Published As
Publication number | Publication date |
---|---|
CN108984340A (zh) | 2018-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Huang et al. | Performance of quantum error correction with coherent errors | |
TWI613674B (zh) | 在具有選擇性二元及非二元解碼之快閃記憶體中之偵測及解碼 | |
KR102057371B1 (ko) | 저장 시스템에서 오류 정정 인코딩된 데이터의 리던던시 | |
KR101951988B1 (ko) | 워드라인 결함 검출 및 데이터 저장 디바이스의 핸들링 | |
US8942037B2 (en) | Threshold acquisition and adaption in NAND flash memory | |
Gutiérrez et al. | Comparison of a quantum error-correction threshold for exact and approximate errors | |
CN108874576B (zh) | 一种基于纠错编码的数据存储系统 | |
Venkatesan et al. | Effect of codeword placement on the reliability of erasure coded data storage systems | |
CN108984340B (zh) | 存储器数据的容错保护方法、装置、设备及存储介质 | |
Silva et al. | Extended matrix region selection code: An ECC for adjacent multiple cell upset in memory arrays | |
Schöll et al. | Low-overhead fault-tolerance for the preconditioned conjugate gradient solver | |
US11150813B2 (en) | Memory system | |
CN108021467B (zh) | 一种存储器容错保护方法、装置、设备及存储介质 | |
Jang et al. | MATE: Memory-and retraining-free error correction for convolutional neural network weights | |
Cavelan et al. | Algorithm-based fault tolerance for parallel stencil computations | |
Cavelan et al. | Assessing the impact of partial verifications against silent data corruptions | |
CN109032833B (zh) | 多位错误数据的纠正方法、装置、设备及存储介质 | |
Schöll et al. | Efficient on-line fault-tolerance for the preconditioned conjugate gradient method | |
Hsieh et al. | Cost-effective memory protection and reliability evaluation based on machine error-tolerance: A case study on no-accuracy-loss YOLOv4 object detection model | |
Shao et al. | An error location and correction method for memory based on data similarity analysis | |
WO2019090657A1 (zh) | 一种存储器容错保护方法、装置、设备及存储介质 | |
Saeed et al. | On the positional single error correction and double error detection in racetrack memories | |
Tao | Fault tolerance for iterative methods in high-performance computing | |
WO2019232727A1 (zh) | 多位错误数据的纠正方法、装置、设备及存储介质 | |
US11182246B1 (en) | Continuous error coding |
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 |