CN108021467B - 一种存储器容错保护方法、装置、设备及存储介质 - Google Patents
一种存储器容错保护方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN108021467B CN108021467B CN201711104298.0A CN201711104298A CN108021467B CN 108021467 B CN108021467 B CN 108021467B CN 201711104298 A CN201711104298 A CN 201711104298A CN 108021467 B CN108021467 B CN 108021467B
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- matrix
- dimension
- parity
- 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
- G06F11/1032—Simple parity
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Detection And Correction Of Errors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明适用计算机技术领域,提供了一种存储器容错保护方法、装置、设备及存储介质,该方法包括:当接收到数据写入请求时,获取请求写入储存器的存储数据,对存储数据进行奇/偶校验编码,得到存储数据所有的奇偶校验位,使用主成分析法对存储数据进行降维,得到存储数据对应的降维后数据,将存储数据、所有的奇偶校验位以及降维后数据写入到储存器中,从而优化了写入到储存器中的数据,进而降低储存器中数据读出时发生错误的概率。
Description
技术领域
本发明属于计算机技术领域,尤其涉及一种存储器容错保护方法、装置、设备及存储介质。
背景技术
存储器控制器是嵌入式系统中的核心部件之一,处理器运行的程序及程序所需的计算数据均是通过请求存储器控制器从存储器中取得,存储器的容错能力在一定程度上决定了嵌入式系统的应用范围,对处理器的可靠性至关重要。
针对单粒子翻转(Single Event Upset,简称SEU)问题,除了从物理上防御和基于电路的加固外,三模冗余(Triple Modular Redundancy,简称TMR)和检错纠错码(ErrorCorrecting Code,简称ECC)是最常用的两种方法。TMR技术通过将同一份信息保存在三份物理存储空间中,读取的时候比较三份内容,取两个一致的值为真值,从而提高读取的准确性。这种方案可以纠正每位错误,甚至一个数据全错,也能得到正确的结果,而且读取速度快,只是需要增加较多的硬件元器件。ECC技术是目前用于存储系统可靠性的常用技术。
TMR是一种常见的硬件冗余技术,其原理是在相同的一组硬件单元上同时发生错误的概率要比在单一硬件单元上发生错误的概率小,基本方法是将所需容错的硬件单元增加到三倍或更多,并将各个单元的输出连接到一个表决器上,由表决器选择所有硬件单元中的绝大多数输出值作为整体的输出值。这种方法可以容忍并纠正多位错误,但是硬件开销非常大。
ECC有多种编码技术,不同的编码技术有不同的检错和纠错能力。例如,奇偶校验码只能检测出一个码字中的一位或奇数位错,但是不能定位错误,因而也就不能纠正错误;汉明码可以纠正一少字中任何一位错误,检测出两位错误。还有许多其它高阶的ECC编码算法,例如BCH码,RS码等,可以检测和纠正一个码字中的多位错误,但是算法复杂,面积和延迟开销也更大,并且当发生类似MBU这种多位错误的时候,高阶编码技术也不能保证准确定位错误位置。具体来讲,每增加一位错误的检测,编码算法的复杂度和硬件开销都急剧增加。所以到目前为止,在存储器容错编码中用的最广泛的仍然是纠二检一码。
发明内容
本发明的目的在于提供一种存储器容错保护方法、装置、设备及存储介质,旨在解决由于现有技术硬件开销和时延太大、错误的检测和纠正效率不高,导致存储器数据读取速度较慢的问题。
一方面,本发明提供了一种存储器容错保护方法,所述方法包括下述步骤:
当接收到数据写入请求时,获取请求写入储存器的存储数据,对所述存储数据进行奇/偶校验编码,得到所述存储数据所有的第一奇偶校验位;
使用主成分析法对所述存储数据进行降维,得到所述存储数据对应的降维后数据;
将所述存储数据、所述所有的第一奇偶校验位以及所述降维后数据写入到所述储存器中。
另一方面,本发明提供了一种存储器容错保护装置,所述装置包括:
第一编码单元,用于当接收到数据写入请求时,获取请求写入储存器的存储数据,对所述存储数据进行奇/偶校验编码,得到所述存储数据所有的第一奇偶校验位;
数据降维单元,用于使用主成分析法对所述存储数据进行降维,得到所述存储数据对应的降维后数据;以及
数据写入单元,用于将所述存储数据、所述所有的第一奇偶校验位以及所述降维后数据写入到所述储存器中。
另一方面,本发明还提供了一种存储设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如所述存储器容错保护方法的步骤。
另一方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如所述存储器容错保护方法的步骤。
本发明当接收到数据写入请求时,获取请求写入储存器的存储数据,对存储数据进行奇/偶校验编码,得到存储数据所有的奇偶校验位,使用主成分析法对存储数据进行降维,得到存储数据对应的降维后数据,将存储数据、所有的奇偶校验位以及降维后数据写入到储存器中,从而优化了写入到储存器中的数据,进而降低储存器中数据读出时发生错误的概率。
附图说明
图1是本发明实施例一提供的存储器容错保护方法的实现流程图;
图2是本发明实施例二提供的存储器容错保护方法的实现流程图;
图3是本发明实施例三提供的存储器容错保护装置的结构示意图;
图4是本发明实施例四提供的存储器容错保护装置的结构示意图;以及
图5是本发明实施例五提供的存储设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下结合具体实施例对本发明的具体实现进行详细描述:
实施例一:
图1示出了本发明实施例一提供的存储器容错保护方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在步骤S101中,当接收到数据写入请求时,获取请求写入储存器的存储数据,对存储数据进行奇/偶校验编码,得到存储数据所有的第一奇偶校验位。
本发明实施例适用于储存器,尤其适用于可读写储存器,以方便进行存储器容错保护。在本发明实施例中,当接收到用户的数据写入请求时,首先获取请求写入储存器的存储数据对应的矩阵,然后根据矩阵对存储数据进行奇/偶校验编码(矩阵每一行每一列上的数据就对应一个奇偶校验位),得到存储数据所有的第一奇偶校验位,为了便于描述,在这里将存储数据的奇偶校验位记为第一奇偶校验位。奇/偶校验包含奇校验和偶校验两种校验。奇校验(Odd Parity)所约定的编码规律是让整个校验码(包含有效信息和校验位)中“1”的个数为奇数,而偶校验(Even Parity)约定的编码规律是让整个校验码中“1”的个数为偶数。被校验数据可能是奇性(“1”的个数为奇数)的,也可能是偶性的,所以奇、偶两种校验都只需配一个校验码,就可以使整个校验码满足指定的奇偶性要求。奇偶校验位可以为“0”或者“1”,奇偶校验位取“0”还是“1”的原则是:若是奇校验,则连同校验位在内编码里含“1”的个数共有奇数个;若是偶校验,则连同校验位在内编码里含“1”的个数是偶数个。
在步骤S102中,使用主成分析法对存储数据进行降维,得到存储数据对应的降维后数据。
在本发明实施例中,使用主成分析法对存储数据做降维变换,得到存储数据对应的降维后数据,以方便在后续数据保护过程中仅对变换后的低维数据进行保护,从而优化数据保护过程,进而降低硬件开销和时延。
优选地,在使用主成分析法对存储数据进行降维时,首先获取存储数据对应的原始矩阵X,计算原始矩阵X每一维度上的均值并计算原始矩阵X的协方差矩阵∑,接着获取协方差矩阵的特征值λi,i=1,2…,M*N,计算特征值λi对应的特征向量ui对原始矩阵的贡献率CR,根据贡献率CR确定降维后的维度d,根据降维后的维度d从特征值λi中选择d个特征值,将原始矩阵X投影到d个特征值对应的线性子空间中,得到原始矩阵X对应的d维降维矩阵Yd,从而在降维的同时,提高降维后数据的准确性。其中,原始矩阵X为N*M矩阵,N为样本个数,M为样本维度,j为列标。
进一步优选地,在计算特征值λi对应的特征向量ui对原始矩阵的贡献率CR,根据贡献率CR确定降维后的维度d时,首先获取由协方差矩阵的特征值λi构成的对角阵然后计算特征值λi对应的特征向量ui对原始矩阵的贡献率最后,判断计算得到的贡献率CR是否大于预设阈值,当贡献率CR大于预设阈值时,满足条件的最小的d即为满足要求的新的维度d。具体地,预设阈值可以根据对数据准确性的要求进行设置,例如,可以设置为95%或者99%等。
具体地,Yd为降维后数据,为d*N维的矩阵(N为样本个数,d为降维之后的维度),Ud=(u1,…ud)T是对应于∧中最大的d个特征值对应的特征向量,Yd即为低维空间中的数据表达,为与X维度相同的矩阵,每列上的值相同,为X对应维度上的均值。例如,对于M维的数据X,则由每一维度上的均值组成。
进一步优选地,在根据降维后的维度d从特征值λi中选择d个特征值时,在特征值λi中按照从大到小的顺序选择d个特征值,从而提高后续计算的准确性。
在步骤S103中,将存储数据、所有的第一奇偶校验位以及降维后数据写入到储存器中。
在本发明实施例中,得到存储数据对应的降维后数据之后,将存储数据、所有的第一奇偶校验位以及降维后数据写入到储存器中,从而优化了写入到储存器中的数据,进而降低储存器中数据读出时发生错误的概率。
实施例二:
图2示出了本发明实施例二提供的存储器容错保护方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在步骤S201中,当接收到数据写入请求时,获取请求写入储存器的存储数据,对存储数据进行奇/偶校验编码,得到存储数据所有的第一奇偶校验位。
本发明实施例适用于储存器,尤其适用于可读写储存器,以方便进行存储器容错保护。在本发明实施例中,当接收到用户的数据写入请求时,首先获取请求写入储存器的存储数据对应的矩阵,然后根据矩阵对存储数据进行奇/偶校验编码(矩阵每一行每一列上的数据就对应一个奇偶校验位),得到存储数据所有的第一奇偶校验位,为了便于描述,在这里将存储数据的奇偶校验位记为第一奇偶校验位。奇/偶校验包含奇校验和偶校验两种校验。奇校验(Odd Parity)所约定的编码规律是让整个校验码(包含有效信息和校验位)中“1”的个数为奇数,而偶校验(Even Parity)约定的编码规律是让整个校验码中“1”的个数为偶数。被校验数据可能是奇性(“1”的个数为奇数)的,也可能是偶性的,所以奇、偶两种校验都只需配一个校验码,就可以使整个校验码满足指定的奇偶性要求。奇偶校验位可以为“0”或者“1”,奇偶校验位取“0”还是“1”的原则是:若是奇校验,则连同校验位在内编码里含“1”的个数共有奇数个;若是偶校验,则连同校验位在内编码里含“1”的个数是偶数个。
在步骤S202中,使用主成分析法对存储数据进行降维,得到存储数据对应的降维后数据。
在本发明实施例中,使用主成分析法对存储数据做降维变换,得到存储数据对应的降维后数据,以方便在后续数据保护过程中仅对变换后的低维数据进行保护,从而优化数据保护过程,进而降低硬件开销和时延。
优选地,在使用主成分析法对存储数据进行降维时,首先获取存储数据对应的原始矩阵X,计算原始矩阵X每一维度上的均值并计算原始矩阵X的协方差矩阵∑,接着获取协方差矩阵的特征值λi,i=1,2…,M*N,计算特征值λi对应的特征向量ui对原始矩阵的贡献率CR,根据贡献率CR确定降维后的维度d,根据降维后的维度d从特征值λi中选择d个特征值,将原始矩阵X投影到d个特征值对应的线性子空间中,得到原始矩阵X对应的d维降维矩阵Yd,从而在降维的同时,提高降维后数据的准确性。其中,原始矩阵X为N*M矩阵,N为样本个数,M为样本维度,j为列标。
进一步优选地,在计算特征值λi对应的特征向量ui对原始矩阵的贡献率CR,根据贡献率CR确定降维后的维度d时,首先获取由协方差矩阵的特征值λi构成的对角阵然后计算特征值λi对应的特征向量ui对原始矩阵的贡献率最后,判断计算得到的贡献率CR是否大于预设阈值,当贡献率CR大于预设阈值时,满足条件的最小的d即为满足要求的新的维度d。具体地,预设阈值可以根据对数据准确性的要求进行设置,例如,可以设置为95%或者99%等。
具体地,Yd为降维后数据,为d*N维的矩阵(N为样本个数,d为降维之后的维度),Ud=(u1,…ud)T是对应于∧中最大的d个特征值对应的特征向量,Yd即为低维空间中的数据表达,为与X维度相同的矩阵,每列上的值相同,为X对应维度上的均值。例如,对于M维的数据X,则由每一维度上的均值组成。
进一步优选地,在根据降维后的维度d从特征值λi中选择d个特征值时,在特征值λi中按照从大到小的顺序选择d个特征值,从而提高后续计算的准确性。
在步骤S203中,将存储数据、所有的第一奇偶校验位以及降维后数据写入到储存器中。
在本发明实施例中,得到存储数据对应的降维后数据之后,将存储数据、所有的第一奇偶校验位以及降维后数据写入到储存器中,从而优化了写入到储存器中的数据,进而降低储存器中数据读出时发生错误的概率。
在步骤S204中,当接收到数据读出请求时,从储存器中获取读出请求对应的存储数据以及存储数据对应的所有的第一奇偶校验位。
在本发明实施例中,当接收到数据读出请求时,首先根据数据读出请求从储存器中获取读出请求对应的存储数据以及存储数据对应的所有的第一奇偶校验位,以用于后续的数据错误判断。
在步骤S205中,对获取的存储数据进行奇/偶校验编码,得到存储数据的第二奇偶校验位。
在本发明实施例中,对获取的存储数据进行奇/偶校验编码,得到存储数据所有的第二奇偶校验位。其中,对同一数据,第一奇偶校验位与第二奇偶校验位相同。
在步骤S206中,根据第一奇偶校验位和第二奇偶校验位,判断存储数据是否发生错误,是则执行步骤S207,否则执行步骤S208。
在步骤S207中,当存储数据发生错误时,从储存器中获取存储数据对应的降维后数据,对降维后数据进行数据恢复,并输出恢复得到的数据。
在本发明实施例中,如果第一奇偶校验位与对应的第二奇偶校验位不全相同,则说明存储数据出错,此时,从储存器中获取存储数据对应的降维后数据,对降维后数据进行数据恢复,以恢复出不失真的高维数据,然后输出恢复得到的不失真高维数据,从而提高了读取数据的准确性。
在步骤S208中,当存储数据未发生错误时,直接从储存器中获取存储数据并输出。
在本发明实施例中,首先,采用降维方法对存储数据进行降维编码,简化了存储复杂度,其次,通过降维后的低维数据恢复原始数据,不会受到原始数据的错误分布的限制,降低了低维数据发生错误的概率,从而在不增加硬件开销的情况下仍然能够检测和纠正多位错误。再者,本发明实施例采用奇偶检验位判断预读取的数据是否有错,如果没有错误则直接解码读取,如果有错误才对低维的数据做恢复处理,恢复得到不失真的高维数据,这样,保证了只在数据出错时做数据恢复,提高了数据读取速度。
实施例三:
图3示出了本发明实施例三提供的存储器容错保护装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:
第一编码单元31,用于当接收到数据写入请求时,获取请求写入储存器的存储数据,对存储数据进行奇/偶校验编码,得到存储数据所有的第一奇偶校验位。
在本发明实施例中,当接收到用户的数据写入请求时,通过第一编码单元31首先获取请求写入储存器的存储数据对应的矩阵,然后根据矩阵对存储数据进行奇/偶校验编码(矩阵每一行每一列上的数据就对应一个奇偶校验位),得到存储数据所有的第一奇偶校验位,为了便于描述,在这里将存储数据的奇偶校验位记为第一奇偶校验位。奇/偶校验包含奇校验和偶校验两种校验。奇校验(Odd Parity)所约定的编码规律是让整个校验码(包含有效信息和校验位)中“1”的个数为奇数,而偶校验(Even Parity)约定的编码规律是让整个校验码中“1”的个数为偶数。被校验数据可能是奇性(“1”的个数为奇数)的,也可能是偶性的,所以奇、偶两种校验都只需配一个校验码,就可以使整个校验码满足指定的奇偶性要求。奇偶校验位可以为“0”或者“1”,奇偶校验位取“0”还是“1”的原则是:若是奇校验,则连同校验位在内编码里含“1”的个数共有奇数个;若是偶校验,则连同校验位在内编码里含“1”的个数是偶数个。
数据降维单元32,用于使用主成分析法对存储数据进行降维,得到存储数据对应的降维后数据。
在本发明实施例中,通过数据降维单元32使用主成分析法对存储数据做降维变换,得到存储数据对应的降维后数据,以方便在后续数据保护过程中仅对变换后的低维数据进行保护,从而优化数据保护过程,进而降低硬件开销和时延。
优选地,在使用主成分析法对存储数据进行降维时,首先获取存储数据对应的原始矩阵X,计算原始矩阵X每一维度上的均值并计算原始矩阵X的协方差矩阵∑,接着获取协方差矩阵的特征值λi,i=1,2…,M*N,计算特征值λi对应的特征向量ui对原始矩阵的贡献率CR,根据贡献率CR确定降维后的维度d,根据降维后的维度d从特征值λi中选择d个特征值,将原始矩阵X投影到d个特征值对应的线性子空间中,得到原始矩阵X对应的d维降维矩阵Yd,从而在降维的同时,提高降维后数据的准确性。其中,原始矩阵X为N*M矩阵,N为样本个数,M为样本维度,j为列标。
进一步优选地,在计算特征值λi对应的特征向量ui对原始矩阵的贡献率CR,根据贡献率CR确定降维后的维度d时,首先获取由协方差矩阵的特征值λi构成的对角阵然后计算特征值λi对应的特征向量ui对原始矩阵的贡献率最后,判断计算得到的贡献率CR是否大于预设阈值,当贡献率CR大于预设阈值时,满足条件的最小的d即为满足要求的新的维度d。具体地,预设阈值可以根据对数据准确性的要求进行设置,例如,可以设置为95%或者99%等。
具体地,Yd为降维后数据,为d*N维的矩阵(N为样本个数,d为降维之后的维度),Ud=(u1,…ud)T是对应于∧中最大的d个特征值对应的特征向量,Yd即为低维空间中的数据表达,为与X维度相同的矩阵,每列上的值相同,为X对应维度上的均值。例如,对于M维的数据X,则由每一维度上的均值组成。
进一步优选地,在根据降维后的维度d从特征值λi中选择d个特征值时,在特征值λi中按照从大到小的顺序选择d个特征值,从而提高后续计算的准确性。
数据写入单元33,用于将存储数据、所有的第一奇偶校验位以及降维后数据写入到储存器中。
在本发明实施例中,得到存储数据对应的降维后数据之后,通过数据写入单元33将存储数据、所有的第一奇偶校验位以及降维后数据写入到储存器中,从而优化了写入到储存器中的数据,进而降低储存器中数据读出时发生错误的概率。
在本发明实施例中,存储器容错保护装置的各单元可由相应的硬件或软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为一个软、硬件单元,在此不用以限制本发明。
实施例四:
图4示出了本发明实施例四提供的存储器容错保护装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:
第一编码单元41,用于当接收到数据写入请求时,获取请求写入储存器的存储数据,对存储数据进行奇/偶校验编码,得到存储数据所有的第一奇偶校验位。
在本发明实施例中,当接收到用户的数据写入请求时,通过第一编码单元41首先获取请求写入储存器的存储数据对应的矩阵,然后根据矩阵对存储数据进行奇/偶校验编码(矩阵每一行每一列上的数据就对应一个奇偶校验位),得到存储数据所有的第一奇偶校验位,为了便于描述,在这里将存储数据的奇偶校验位记为第一奇偶校验位。奇/偶校验包含奇校验和偶校验两种校验。奇校验(Odd Parity)所约定的编码规律是让整个校验码(包含有效信息和校验位)中“1”的个数为奇数,而偶校验(Even Parity)约定的编码规律是让整个校验码中“1”的个数为偶数。被校验数据可能是奇性(“1”的个数为奇数)的,也可能是偶性的,所以奇、偶两种校验都只需配一个校验码,就可以使整个校验码满足指定的奇偶性要求。奇偶校验位可以为“0”或者“1”,奇偶校验位取“0”还是“1”的原则是:若是奇校验,则连同校验位在内编码里含“1”的个数共有奇数个;若是偶校验,则连同校验位在内编码里含“1”的个数是偶数个。
数据降维单元42,用于使用主成分析法对存储数据进行降维,得到存储数据对应的降维后数据。
在本发明实施例中,通过降维编码单元42使用主成分析法对存储数据做降维变换,得到存储数据对应的降维后数据,以方便在后续数据保护过程中仅对变换后的低维数据进行保护,从而优化数据保护过程,进而降低硬件开销和时延。
优选地,在使用主成分析法对存储数据进行降维时,首先获取存储数据对应的原始矩阵X,计算原始矩阵X每一维度上的均值并计算原始矩阵X的协方差矩阵∑,接着获取协方差矩阵的特征值λi,i=1,2…,M*N,计算特征值λi对应的特征向量ui对原始矩阵的贡献率CR,根据贡献率CR确定降维后的维度d,根据降维后的维度d从特征值λi中选择d个特征值,将原始矩阵X投影到d个特征值对应的线性子空间中,得到原始矩阵X对应的d维降维矩阵Yd,从而在降维的同时,提高降维后数据的准确性。其中,原始矩阵X为N*M矩阵,N为样本个数,M为样本维度,j为列标。
进一步优选地,在计算特征值λi对应的特征向量ui对原始矩阵的贡献率CR,根据贡献率CR确定降维后的维度d时,首先获取由协方差矩阵的特征值λi构成的对角阵然后计算特征值λi对应的特征向量ui对原始矩阵的贡献率最后,判断计算得到的贡献率CR是否大于预设阈值,当贡献率CR大于预设阈值时,满足条件的最小的d即为满足要求的新的维度d。具体地,预设阈值可以根据对数据准确性的要求进行设置,例如,可以设置为95%或者99%等。
具体地,Yd为降维后数据,为d*N维的矩阵(N为样本个数,d为降维之后的维度),Ud=(u1,…ud)T是对应于∧中最大的d个特征值对应的特征向量,Yd即为低维空间中的数据表达,为与X维度相同的矩阵,每列上的值相同,为X对应维度上的均值。例如,对于M维的数据X,则由每一维度上的均值组成。
进一步优选地,在根据降维后的维度d从特征值λi中选择d个特征值时,在特征值λi中按照从大到小的顺序选择d个特征值,从而提高后续计算的准确性。
数据写入单元43,用于将存储数据、所有的第一奇偶校验位以及降维后数据写入到储存器中。
在本发明实施例中,得到存储数据对应的降维后数据之后,通过数据写入单元43将存储数据、所有的第一奇偶校验位以及降维后数据写入到储存器中,从而优化了写入到储存器中的数据,进而降低储存器中数据读出时发生错误的概率。
数据获取单元44,用于当接收到数据读出请求时,从储存器中获取读出请求对应的存储数据以及存储数据对应的所有的第一奇偶校验位。
在本发明实施例中,当接收到数据读出请求时,通过数据获取单元44首先根据数据读出请求从储存器中获取读出请求对应的存储数据以及存储数据对应的所有的第一奇偶校验位,以用于后续的数据错误判断。
第二编码单元45,用于对获取的存储数据进行奇/偶校验编码,得到存储数据的第二奇偶校验位。
在本发明实施例中,通过第二编码单元45对存储数据进行奇/偶校验编码,得到存储数据的第二奇偶校验位。其中,对同一数据,第一奇偶校验位与第二奇偶校验位相同。
错误判断单元46,用于根据第一奇偶校验位和第二奇偶校验位,判断存储数据是否发生错误。
第一输出单元47,用于当存储数据发生错误时,从储存器中获取存储数据对应的降维后数据,对降维后数据进行数据恢复,并输出恢复得到的数据。
在本发明实施例中,如果第一奇偶校验位与对应的第二奇偶校验位不全相同,则说明存储数据出错,此时,通过第一输出单元47从储存器中获取存储数据对应的降维后数据,对降维后数据进行数据恢复,以恢复出不失真的高维数据,然后输出恢复得到的不失真高维数据,从而提高了读取数据的准确性。
第二输出单元48,用于当存储数据未发生错误时,直接从储存器中获取存储数据并输出。
因此,优选地,该数据降维单元42包括:
原始矩阵获取单元421,用于获取存储数据对应的原始矩阵X,原始矩阵X为N*M矩阵,其中,N为样本个数,M为样本维度;
维度确定单元423,用于获取协方差矩阵∑的特征值λi,计算特征值λi对应的特征向量ui对原始矩阵X的贡献率CR,根据贡献率CR确定降维后的维度d;以及
降维矩阵获取单元424,用于根据降维后的维度d从特征值λi中选择d个特征值,将原始矩阵X投影到d个特征值对应的线性子空间中,得到原始矩阵X对应的d维降维矩阵Yd。
在本发明实施例中,存储器容错保护装置的各单元可由相应的硬件或软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为一个软、硬件单元,在此不用以限制本发明。
实施例五:
图5示出了本发明实施例五提供的存储设备的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
本发明实施例的存储设备5包括处理器50、存储器51以及存储在存储器51中并可在处理器50上运行的计算机程序52。该处理器50执行计算机程序52时实现上述各个存储器容错保护方法实施例中的步骤,例如图1所示的步骤S101至S103、图2所示的步骤S201至S208。或者,处理器50执行计算机程序52时实现上述各装置实施例中各单元的功能,例如,图3所示单元31至33、图4所示单元41至48的功能。
在本发明实施例中,该处理器50执行计算机程序52时实现上述各个存储器容错保护方法实施例中的步骤时,当接收到数据写入请求时,获取请求写入储存器的存储数据,对存储数据进行奇/偶校验编码,得到存储数据所有的奇偶校验位,使用主成分析法对存储数据进行降维,得到存储数据对应的降维后数据,将存储数据、所有的奇偶校验位以及降维后数据写入到储存器中,从而优化了写入到储存器中的数据,进而降低储存器中数据读出时发生错误的概率。
该存储设备5中处理器50在执行计算机程序52时实现的步骤具体可参考实施例一中方法的描述,在此不再赘述。
实施例六:
在本发明实施例中,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述各个存储器容错保护方法实施例中的步骤,例如,图1所示的步骤S101至S103、图2所示的步骤S201至S208。或者,该计算机程序被处理器执行时实现上述各装置实施例中各单元的功能,例如,图3所示单元31至33、图4所示单元41至48的功能。
在本发明实施例中,当接收到数据写入请求时,获取请求写入储存器的存储数据,对存储数据进行奇/偶校验编码,得到存储数据所有的奇偶校验位,使用主成分析法对存储数据进行降维,得到存储数据对应的降维后数据,将存储数据、所有的奇偶校验位以及降维后数据写入到储存器中,从而优化了写入到储存器中的数据,进而降低储存器中数据读出时发生错误的概率。该计算机程序被处理器执行时实现的存储器容错保护方法进一步可参考前述方法实施例中步骤的描述,在此不再赘述。
本发明实施例的计算机可读存储介质可以包括能够携带计算机程序代码的任何实体或装置、记录介质,例如,ROM/RAM、磁盘、光盘、闪存等存储器。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种存储器容错保护方法,其特征在于,所述方法包括下述步骤:
当接收到数据写入请求时,获取请求写入储存器的存储数据,根据所述存储数据对应的矩阵对所述存储数据进行奇/偶校验编码,得到所述存储数据所有的第一奇偶校验位,所述第一奇偶校验位包括所述矩阵每一行每一列上的数据;
使用主成分析法对所述存储数据进行降维,得到所述存储数据对应的降维后数据;
将所述存储数据、所述所有的第一奇偶校验位以及所述降维后数据写入到所述储存器中;
当接收到数据读出请求时,从所述储存器获取所述数据读出请求对应的所述存储数据以及所述存储数据对应的所有的第一奇偶校验位;
对所述存储数据进行奇/偶校验编码,得到所述存储数据所有的第二奇偶校验位;
根据所述第一奇偶校验位和所述第二奇偶校验位,判断所述存储数据是否发生错误;
当所述存储数据发生错误时,从所述储存器获取所述存储数据对应的降维后数据,对所述降维后数据进行数据恢复,并输出所述恢复得到的数据。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
当所述存储数据未发生错误时,直接从所述储存器中获取所述存储数据并输出。
4.一种存储器容错保护装置,其特征在于,所述装置包括:
第一编码单元,用于当接收到数据写入请求时,获取请求写入储存器的存储数据,根据所述存储数据对应的矩阵对所述存储数据进行奇/偶校验编码,得到所述存储数据所有的第一奇偶校验位,所述第一奇偶校验位包括所述矩阵每一行每一列上的数据;
数据降维单元,用于使用主成分析法对所述存储数据进行降维,得到所述存储数据对应的降维后数据;以及
数据写入单元,用于将所述存储数据、所述所有的第一奇偶校验位以及所述降维后数据写入到所述储存器中;
数据获取单元,用于当接收到数据读出请求时,从所述储存器获取所述数据读出请求对应的所述存储数据以及所述存储数据对应的所有的第一奇偶校验位;
第二编码单元,用于对所述存储数据进行奇/偶校验编码,得到所述存储数据所有的第二奇偶校验位;
错误判断单元,用于根据所述第一奇偶校验位和所述第二奇偶校验位,判断所述存储数据是否发生错误;以及
第一输出单元,用于当所述存储数据发生错误时,从所述储存器获取所述存储数据对应的降维后数据,对所述降维后数据进行数据恢复,并输出所述恢复得到的数据。
5.如权利要求4所述的装置,其特征在于,所述装置还包括:
第二输出单元,用于当所述存储数据未发生错误时,直接从所述储存器中获取所述存储数据并输出。
6.如权利要求4所述的装置,其特征在于,所述数据降维单元包括:原始矩阵获取单元,用于获取所述存储数据对应的原始矩阵X,所述原始矩阵X为N*M矩阵,所述N为样本个数,所述M为样本维度;
维度确定单元,用于获取所述协方差矩阵∑的特征值λi,计算所述特征值λi对应的特征向量ui对所述原始矩阵X的贡献率CR,根据所述贡献率CR确定降维后的维度d;以及
降维矩阵获取单元,用于根据所述降维后的维度d从所述特征值λi中选择d个特征值,将所述原始矩阵X投影到所述d个特征值对应的线性子空间中,得到所述原始矩阵X对应的d维降维矩阵Yd。
7.一种存储设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3任一项所述方法的步骤。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711104298.0A CN108021467B (zh) | 2017-11-10 | 2017-11-10 | 一种存储器容错保护方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711104298.0A CN108021467B (zh) | 2017-11-10 | 2017-11-10 | 一种存储器容错保护方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108021467A CN108021467A (zh) | 2018-05-11 |
CN108021467B true CN108021467B (zh) | 2021-07-16 |
Family
ID=62080522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711104298.0A Active CN108021467B (zh) | 2017-11-10 | 2017-11-10 | 一种存储器容错保护方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108021467B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108984340B (zh) * | 2018-06-06 | 2021-07-23 | 深圳先进技术研究院 | 存储器数据的容错保护方法、装置、设备及存储介质 |
CN114327284B (zh) * | 2021-12-30 | 2023-02-03 | 河北建筑工程学院 | 一种数据处理的方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4946249B2 (ja) * | 2006-08-07 | 2012-06-06 | 富士通セミコンダクター株式会社 | Eccのコード長が変更可能な半導体メモリ装置 |
US8645789B2 (en) * | 2011-12-22 | 2014-02-04 | Sandisk Technologies Inc. | Multi-phase ECC encoding using algebraic codes |
CN103743949A (zh) * | 2014-01-06 | 2014-04-23 | 国家电网公司 | 一种基于单通道FastICA的谐波与间谐波的检测方法 |
CN106874140B (zh) * | 2016-12-30 | 2020-03-31 | 深圳忆联信息系统有限公司 | 数据存储方法及装置 |
-
2017
- 2017-11-10 CN CN201711104298.0A patent/CN108021467B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108021467A (zh) | 2018-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101536853B1 (ko) | 데이터 무결성을 제공하기 위한 방법 및 장치 | |
EP2715550B1 (en) | Apparatus and methods for providing data integrity | |
EP2529305B1 (en) | System and method to correct data errors using a stored count of bit values | |
US8495469B2 (en) | Implementing enhanced IO data conversion with protection information model including parity format of data integrity fields | |
CN107436821B (zh) | 为包括多个数据位和地址位的块生成错误码的装置和方法 | |
US20160203041A1 (en) | Track error-correcting code extension | |
US11086712B2 (en) | Error recovery handling | |
US7020805B2 (en) | Efficient mechanisms for detecting phantom write errors | |
US9830218B2 (en) | Cache memory with fault tolerance | |
CN108021467B (zh) | 一种存储器容错保护方法、装置、设备及存储介质 | |
CN105335247A (zh) | 高可靠系统芯片中Cache的容错结构及其容错方法 | |
CN114442950B (zh) | 一种数据恢复方法、系统、装置及计算机可读存储介质 | |
Wang et al. | Triple-Star: A coding scheme with optimal encoding complexity for tolerating triple disk failures in RAID | |
US11150813B2 (en) | Memory system | |
US9959166B2 (en) | Error correction for non-volatile memory | |
US20180203625A1 (en) | Storage system with multi-dimensional data protection mechanism and method of operation thereof | |
TW201018096A (en) | Method for error correction and error detection of binary data | |
CN108984340B (zh) | 存储器数据的容错保护方法、装置、设备及存储介质 | |
WO2019090657A1 (zh) | 一种存储器容错保护方法、装置、设备及存储介质 | |
CN109032833B (zh) | 多位错误数据的纠正方法、装置、设备及存储介质 | |
CN104378120A (zh) | 一种用于连续MBU检测的Hsiao编码校验矩阵生成方法 | |
WO2019232727A1 (zh) | 多位错误数据的纠正方法、装置、设备及存储介质 | |
CN110597656B (zh) | 一种二级缓存标记阵列的校验单错处理方法 | |
WO2019232721A1 (zh) | 存储器中数据读取的错误纠正方法、装置、设备及介质 | |
KR20240039361A (ko) | 메모리 장치의 오류 정정 방법 및 장치 |
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 |