WO2019232727A1 - 多位错误数据的纠正方法、装置、设备及存储介质 - Google Patents

多位错误数据的纠正方法、装置、设备及存储介质 Download PDF

Info

Publication number
WO2019232727A1
WO2019232727A1 PCT/CN2018/090160 CN2018090160W WO2019232727A1 WO 2019232727 A1 WO2019232727 A1 WO 2019232727A1 CN 2018090160 W CN2018090160 W CN 2018090160W WO 2019232727 A1 WO2019232727 A1 WO 2019232727A1
Authority
WO
WIPO (PCT)
Prior art keywords
error
target data
inner product
data
product matrix
Prior art date
Application number
PCT/CN2018/090160
Other languages
English (en)
French (fr)
Inventor
邵翠萍
李慧云
方嘉言
Original Assignee
深圳先进技术研究院
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 深圳先进技术研究院 filed Critical 深圳先进技术研究院
Priority to PCT/CN2018/090160 priority Critical patent/WO2019232727A1/zh
Publication of WO2019232727A1 publication Critical patent/WO2019232727A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's

Definitions

  • the invention belongs to the field of computer technology, and particularly relates to a method, a device, a device and a storage medium for correcting multi-bit error data.
  • the three-mode redundancy method can correct every bit error, even one data is all wrong, and can get correct results, and the speed is fast, but more hardware is added.
  • Error detection and correction code (ECC) technology includes multiple encoding technologies, and different encoding technologies have different error detection and correction capabilities. For example, a parity check code can only detect one bit or an odd number of bit errors in a codeword, but it cannot locate errors and therefore cannot correct errors; a Hamming code can correct any bit error in a codeword and detect two bits error.
  • current error correction methods use binary bits as a unit for positioning and error correction.
  • the data being operated is in a matrix unit.
  • multiple data often make errors at the same time. This erroneous data may be caused by a multi-bit binary error.
  • the current error correction method cannot cope with multi-bit errors in the same data, and it also cannot efficiently perform error correction on the data in units of matrices.
  • the purpose of the present invention is to provide a method, a device, a device and a storage medium for correcting multi-bit erroneous data.
  • the present invention provides a method for correcting multi-bit erroneous data.
  • the method includes the following steps:
  • the target data and diagonal elements associated with the target data are read from the memory, and the diagonal elements associated with the target data include an inner product matrix corresponding to the target data. And the first diagonal element and the second diagonal element of the inner product matrix;
  • the target data is determined according to the diagonal elements associated with the target data and the first diagonal elements of the target data inner product matrix and the inner class matrix. Every possible error;
  • the present invention provides a device for correcting multi-bit error data.
  • the device includes:
  • a data reading unit configured to read a diagonal element associated with the target data and the target data from the memory when the data reading instruction is received, and the diagonal element associated with the target data includes the target data
  • An error judging unit configured to calculate an inner product matrix and a class inner product matrix of the target data, and according to a diagonal element associated with the target data and a first diagonal of the target data inner product matrix and the class inner product matrix A line element and a second diagonal element to determine whether the read target data is wrong;
  • a possible position determining unit configured to: when it is determined that the read target data is in error, according to a diagonal element associated with the target data and a first diagonal element of the target data inner product matrix and a class inner product matrix To determine each possible error location in the target data;
  • a final error locating unit configured to determine a final error in all possible error positions according to a diagonal element associated with the target data and a second diagonal element of the target data inner product matrix and the inner class product matrix The amount of error deviation corresponding to the position and the final error position;
  • An error correction unit is configured to correct the error data at the final error position in the target data according to the error deviation amount corresponding to the final error position.
  • the present invention also provides a computing device including a memory, a processor, and a computer program stored in the memory and executable on the processor.
  • the processor is implemented when the computer program is executed. The steps described in the above-mentioned method of correcting the multi-bit erroneous data.
  • the present invention also provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method is implemented as described in the method for correcting multi-bit error data. A step of.
  • the invention reads target data and diagonal elements associated with the target data from the memory.
  • the diagonal elements associated with the target data include the original product inner product matrix corresponding to the target data, the first diagonal element of the class inner product matrix, and
  • the second diagonal element determines whether the read target data is wrong according to the diagonal elements associated with the target data and the target product inner product matrix, the first diagonal element of the class inner product matrix, and the second diagonal element.
  • Multi-bit error data in the data is located and corrected, reducing the hardware overhead of multi-bit error data positioning and correction, and improving the accuracy and efficiency of multi-bit error data positioning and correction.
  • FIG. 1 is an implementation flowchart of a method for correcting multi-bit error data provided by Embodiment 1 of the present invention
  • FIG. 2 is a schematic structural diagram of a multi-bit error data correction device according to a second embodiment of the present invention
  • FIG. 3 is a schematic diagram of a preferred structure of a multi-bit error data correction device provided in Embodiment 2 of the present invention.
  • FIG. 4 is a schematic structural diagram of a computing device according to a third embodiment of the present invention.
  • FIG. 1 shows an implementation process of a method for correcting multi-bit error data provided in Embodiment 1 of the present invention. For convenience of explanation, only the parts related to the embodiment of the present invention are shown, and the details are as follows:
  • step S101 when a data read instruction is received, the diagonal elements associated with the target data and the target data are read from the memory, and the diagonal elements associated with the target data include the inner product matrix of the original data corresponding to the target data and The first diagonal element and the second diagonal element of the inner product matrix of the class.
  • the present invention is applicable to a memory.
  • data specified in the instruction is read from the memory.
  • this data is referred to herein as target data.
  • the diagonal elements associated with the target data are read from the memory.
  • the diagonal elements associated with the target data include the first diagonal element and the second diagonal element of the inner product matrix of the original data. And the first diagonal element and the second diagonal element of the inner product matrix of the original data class.
  • the original data is data stored in the memory by the data storage user, that is, the stored data corresponding to the target data.
  • the diagonal elements associated with the target data can be used for subsequent error data in the target data. Positioning and correction.
  • the first diagonal element is the main diagonal element
  • the second diagonal element is the main diagonal element on the upper side of the diagonal line.
  • the data to be stored in the data storage instruction is acquired, the inner product matrix and the inner product-like matrix of the data to be stored are calculated, and the data to be stored is written into the memory while the data to be stored is written.
  • the first diagonal element and the second diagonal element of the inner product matrix, and the first diagonal element and the second diagonal element of the inner product matrix of the data class to be stored are written into the memory, so as to be subsequently removed from the memory.
  • step S102 an inner product matrix and a class inner product matrix of the target data are calculated. According to the diagonal elements associated with the target data and the target data inner product matrix, the first diagonal element and the second diagonal of the class inner product matrix. Line element to determine if the read target data is in error.
  • an inner product matrix and a class inner product matrix of the target data are calculated.
  • the calculation formula of the inner product matrix of the target data is:
  • the calculation formula of the inner product matrix of the target data is:
  • the original data corresponding to the target data may be expressed as X
  • the inner product matrix and the class inner product matrix can not only determine whether the target data has an error, but also determine the possible error locations in the target data.
  • the memory Preferably, only the original data, the first diagonal elements and the second diagonal elements of the inner product matrix of the original data, the first diagonal elements, and the second diagonal elements of the inner product matrix of the original data are stored in the memory.
  • Line elements When judging whether the read target data has an error, compare the first diagonal element and the second diagonal element of the inner product matrix of the target data with the first diagonal elements of the inner product matrix of the original data, respectively.
  • the second diagonal elements are the same, or the first diagonal element and the second diagonal element in the inner product matrix of the target data class are compared with the first diagonal element and the second diagonal element in the inner product matrix of the original data class, respectively.
  • the diagonal elements are consistent, thereby effectively reducing the operation complexity of judging whether the read target data has an error.
  • each of the target data is determined according to the diagonal elements associated with the target data and the first diagonal elements of the target data inner product matrix and the class inner product matrix. Possible error location.
  • the first diagonal element of the inner product matrix of the target data may be different from the element value in the first diagonal element of the inner product matrix of the original data.
  • Set to the column coordinates of the possible error position in the target data set the position where the first diagonal element of the inner product matrix of the target data class is different from the element value of the first diagonal element of the inner product matrix of the original data class, and set it to The row coordinates of possible error positions in the target data. Combining these column coordinates with these row coordinates one by one can obtain all possible error positions in the target data.
  • step S104 the final error position and the error corresponding to the final error position are determined from all possible error positions according to the diagonal elements associated with the target data and the second diagonal elements of the target data inner product matrix and the class inner product matrix. The amount of deviation.
  • each of the two components may be calculated according to the second diagonal element of the inner product matrix of the target data and the second diagonal element of the inner product matrix of the original data.
  • the first error deviation corresponding to the possible error position and then based on the second diagonal element of the inner product matrix of the target matrix class and the second diagonal element of the inner product matrix of the original matrix class, each corresponding error error position is calculated respectively.
  • the second error deviation amount is set as the final error position among the possible error positions in which the first error deviation amount and the second error deviation amount value are the same. Since the first error deviation amount corresponding to the final error position is the same as the second error deviation amount, the first error deviation amount or the second error deviation amount corresponding to the final error position may be set as the error deviation amount of the final error position.
  • the possible error positions in the target data are represented as (i, j), (i, q), (p, j), (p, q), and preferably, each possible
  • the elements C ' j (j + 1) and C' q (q + 1) on the second diagonal elements of the inner product matrix of the target data are respectively inner product with the original data
  • the difference between the elements C j (j + 1) and C q (q + 1) on the second diagonal element of the matrix, and the difference between C ' j (j + 1) and C j (j + 1) The calculation formula is:
  • the elements S ′ i (i + 1) and S ′ p ( p + 1) Differences from the elements S i (i + 1) and S p (p + 1) on the second diagonal elements of the inner product matrix of the original data, S ′ j (j + 1) and S j
  • the formula for calculating the difference between (j + 1) is:
  • x ij ' x ij + ⁇ K ij
  • ⁇ K ij is the target position data may be an error (i, j) of the data x ij' may be wrong with respect to the original data position (i, j) at the second error data x ij deviation Amount, and then get Similarly, the possible error positions (i, q), (p, j), and (p, q) of the target data respectively correspond to the second error deviation amounts:
  • step S105 the error data at the final error position in the target data is corrected according to the error deviation amount corresponding to the final error position.
  • the error data at the final error position in the target data can be corrected by subtracting the corresponding error deviation amount from the error data at the final error position in the target data.
  • the diagonal elements associated with the target data and the target data are read from the memory, and according to the diagonal elements associated with the target data and the first diagonal of the inner product matrix and inner class matrix of the target data Element, the second diagonal element, to determine whether the target data is wrong.
  • the second diagonal element determines whether the target data is wrong.
  • determine each possible error position in the target data determines the final error position at these possible error positions, and correct the error data at the final error position.
  • FIG. 2 shows a structure of a multi-bit error data correction device provided in Embodiment 2 of the present invention. For ease of description, only parts related to the embodiment of the present invention are shown, including:
  • the data reading unit 21 is configured to read the diagonal elements associated with the target data and the target data from the memory when the data read instruction is received, and the diagonal elements associated with the target data include the original data corresponding to the target data.
  • the target data when a data read instruction from a processor is received, the target data is read from the memory. Since the read target data may be wrong, it is necessary to read the target data from the memory at the same time.
  • the diagonal elements associated with the target data include the first diagonal element and the second diagonal element of the inner product matrix of the original data, and the first diagonal of the inner product matrix of the original data class Element and the second diagonal element.
  • the original data is the data stored in the memory by the data storage user, that is, the stored data corresponding to the target data.
  • the diagonal elements associated with the target data can be used to locate the error data in the subsequent target data and correct.
  • the data to be stored in the data storage instruction is acquired, the inner product matrix and the inner product-like matrix of the data to be stored are calculated, and the data to be stored is written into the memory while the data to be stored is written.
  • the first diagonal element and the second diagonal element of the inner product matrix, and the first diagonal element and the second diagonal element of the inner product matrix of the data class to be stored are written into the memory, so as to be subsequently removed from the memory.
  • the error judging unit 22 is configured to calculate an inner product matrix and a class inner product matrix of the target data, according to the diagonal elements associated with the target data and the target data inner product matrix, the first diagonal element of the class inner product matrix, and the second Diagonal element to determine if the target data read is wrong.
  • an inner product matrix and a class inner product matrix of the target data are calculated.
  • the calculation formula of the inner product matrix of the target data is:
  • the calculation formula of the inner product matrix of the target data is:
  • the original data corresponding to the target data may be expressed as X
  • the inner product matrix and the class inner product matrix can not only determine whether the target data has an error, but also determine the possible error locations in the target data.
  • the first diagonal element and the second diagonal element of the inner product matrix of the original data are stored in the memory.
  • Diagonal elements When judging whether the read target data has an error, compare the first diagonal element and the second diagonal element of the inner product matrix of the target data with the first diagonal of the inner product matrix of the original data, respectively. Element, the second diagonal element are the same, or the first diagonal element and the second diagonal element of the inner product matrix of the target data class are compared with the first diagonal element and the first diagonal element of the inner product matrix of the original data class, respectively.
  • the two diagonal elements are consistent, thereby effectively reducing the operation complexity of judging whether the read target data has an error.
  • the possible position determining unit 23 is configured to determine the target data according to the diagonal elements associated with the target data and the first diagonal elements of the target product inner product matrix and the class inner product matrix when the read target data is wrong. Every possible error location.
  • the first diagonal element of the inner product matrix of the target data may be different from the element value in the first diagonal element of the inner product matrix of the original data.
  • Set to the column coordinates of the possible error position in the target data set the position where the first diagonal element of the inner product matrix of the target data class is different from the element value of the first diagonal element of the inner product matrix of the original data class, and set it to Row coordinates of possible error positions in the target data. Combine these column coordinates with these row coordinates one by one to get all possible error positions in the target data.
  • a final error locating unit 24 configured to determine a final error position and a final error position among all possible error positions according to the diagonal elements associated with the target data and the second diagonal elements of the target data inner product matrix and the inner product class class; Corresponding error deviation.
  • each of the two components may be calculated according to the second diagonal element of the inner product matrix of the target data and the second diagonal element of the inner product matrix of the original data.
  • the first error deviation corresponding to the possible error position and then based on the second diagonal element of the inner product matrix of the target matrix class and the second diagonal element of the inner product matrix of the original matrix class, calculate each corresponding error position.
  • the second error deviation amount is set as the final error position among the possible error positions in which the first error deviation amount and the second error deviation amount value are the same. Since the first error deviation amount corresponding to the final error position is the same as the second error deviation amount, the first error deviation amount or the second error deviation amount corresponding to the final error position may be set as the error deviation amount of the final error position.
  • the possible error positions in the target data are represented as (i, j), (i, q), (p, j), (p, q), and preferably, each possible
  • the elements C ' j (j + 1) and C' q (q + 1) on the second diagonal elements of the inner product matrix of the target data are respectively inner product with the original data
  • the difference between the elements C j (j + 1) and C q (q + 1) on the second diagonal element of the matrix, and the difference between C ' j (j + 1) and C j (j + 1) The calculation formula is:
  • the elements S ′ i (i + 1) and S ′ p ( p + 1) Differences from the elements S i (i + 1) and S p (p + 1) on the second diagonal elements of the inner product matrix of the original data, S ′ j (j + 1) and S j
  • the formula for calculating the difference between (j + 1) is:
  • x ij ' x ij + ⁇ K ij
  • ⁇ K ij is the target position data may be an error (i, j) of the data x ij' may be wrong with respect to the original data position (i, j) at the second error data x ij deviation Amount, and then get Similarly, the possible error positions (i, q), (p, j), and (p, q) of the target data respectively correspond to the second error deviation amounts:
  • the error correction unit 25 is configured to correct the error data at the final error position in the target data according to the error deviation amount corresponding to the final error position.
  • the error data at the final error position in the target data can be corrected by subtracting the corresponding error deviation amount from the error data at the final error position in the target data.
  • the possible position determining unit 23 includes:
  • a column coordinate setting unit 331, configured to set the position where the first diagonal element of the inner product matrix of the target data is different from the element value of the first diagonal element of the inner product matrix of the original data to the column coordinates of the possible error position;
  • the row coordinate setting unit 332 is configured to set a position where the first diagonal element of the inner product matrix of the target data class is different from the element value of the first diagonal element of the inner product matrix of the original data class, and set the position as a row where the error may occur. Coordinates;
  • the coordinate combination unit 333 is configured to combine each column coordinate of the possible error position with each row coordinate of the possible error position to generate all possible error positions.
  • the final error locating unit 24 includes:
  • a first deviation amount calculating unit 341, configured to calculate a first error deviation corresponding to each possible error position according to the second diagonal element of the inner product matrix of the target data and the second diagonal element of the inner product matrix of the original data; the amount;
  • a second deviation calculation unit 342 configured to calculate a second corresponding to each possible error position according to the second diagonal element of the inner product matrix of the target data class and the second diagonal element of the inner product matrix of the original data class Error deviation
  • a final position setting unit 343 configured to set a possible error position in which the first error deviation amount and the second error deviation amount are consistent as the final error position
  • the error deviation setting unit 344 is configured to set the first error deviation amount and the second error deviation amount corresponding to the final error position as the error deviation amounts corresponding to the final error position.
  • the diagonal elements associated with the target data and the target data are read from the memory, and according to the diagonal elements associated with the target data and the first diagonal of the inner product matrix and inner class matrix of the target data Element, the second diagonal element, to determine whether the target data is wrong.
  • the second diagonal element determines whether the target data is wrong.
  • determine each possible error position in the target data determines the final error position at these possible error positions, and correct the error data at the final error position.
  • each unit of the multi-bit error data correction device may be implemented by a corresponding hardware or software unit.
  • Each unit may be an independent software and hardware unit, or may be integrated into one software and hardware unit. To limit the invention.
  • FIG. 4 shows the structure of a computing device provided in Embodiment 3 of the present invention. For ease of description, only parts related to the embodiment of the present invention are shown.
  • the device 4 of the embodiment of the present invention includes a processor 40, a memory 41, and a computer program 42 stored in the memory 41 and executable on the processor 40.
  • the processor 40 executes the computer program 42, the steps in the foregoing method embodiment are implemented, for example, steps S101 to S105 shown in FIG. 1.
  • the processor 40 executes the computer program 42, the functions of the units in the above-mentioned device embodiment are realized, for example, the functions of the units 21 to 25 shown in FIG. 2.
  • the diagonal elements associated with the target data and the target data are read from the memory, and according to the diagonal elements associated with the target data and the first diagonal of the inner product matrix and inner class matrix of the target data Element, the second diagonal element, to determine whether the target data is wrong.
  • the second diagonal element determines whether the target data is wrong.
  • determine each possible error position in the target data determines the final error position at these possible error positions, and correct the error data at the final error position.
  • Embodiment 4 is a diagrammatic representation of Embodiment 4:
  • a computer-readable storage medium stores a computer program.
  • the steps in the foregoing method embodiment are implemented, for example, as shown in FIG. 1.
  • the steps S101 to S105 are shown.
  • the functions of the units in the above-mentioned device embodiments are implemented, for example, the functions of the units 21 to 24 shown in FIG. 2.
  • the diagonal elements associated with the target data and the target data are read from the memory, and according to the diagonal elements associated with the target data and the first diagonal of the inner product matrix and inner class matrix of the target data Element, the second diagonal element, to determine whether the target data is wrong.
  • the second diagonal element determines whether the target data is wrong.
  • determine each possible error position in the target data determines the final error position at these possible error positions, and correct the error data at the final error position.
  • the computer-readable storage medium of the embodiment of the present invention may include any entity or device capable of carrying computer program code, a recording medium, for example, a ROM / RAM, a magnetic disk, an optical disk, a flash memory, and other memories.

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)

Abstract

本发明适用计算机技术领域,提供了一种多位错误数据的纠正方法、装置、设备及存储介质,该方法包括:从存储器中读取目标数据和目标数据关联的对角线元素,计算目标矩阵的内积矩阵、类内积矩阵,根据目标数据关联的对角线元素和目标数据内积矩阵、类内积矩阵的第一对角线元素、第二对角线元素,确定读取的目标数据是否出错,当出错时,确定目标数据中的每个可能出错位置,并在这些可能出错位置中确定最终出错位置,计算每个最终出错位置处错误数据对应的错误偏差量,以进行错误纠正,从而实现对从存储器读取的数据中的多位错误数据进行定位和纠正,有效地降低了多位错误数据定位和纠正的硬件开销,提高了多位错误数据定位和纠正的准确度和效率。

Description

多位错误数据的纠正方法、装置、设备及存储介质 技术领域
本发明属于计算机技术领域,尤其涉及一种多位错误数据的纠正方法、装置、设备及存储介质。
背景技术
摩尔定律推动下的集成电路工艺不仅增加了存储器的集成密度,还使得存储器的工作电压和节点电容降低,大幅度减小了节点翻转所需的临界电荷。地面环境中的α粒子、中子或者辐射环境中的重离子、质子,它们撞击存储器表面后会以直接或间接电离的方式产生大量的电子空穴对,一旦被收集的电子空穴对超过节点的临界电荷,则造成节点内容的翻转,引起存储器SEU或MBU。针对存储器的SEU问题,除了从物理上防御和基于电路的加固外,三模冗余(TMR)和检错纠错码(ECC)技术是最常用的两种方法。
三模冗余方法可以纠正每位错误,甚至一个数据全错,也能得到正确的结果,而且速度快,只是增加的硬件较多。检错纠错码(ECC)技术包括多种编码技术,不同的编码技术有不同的检错和纠错能力。例如,奇偶校验码只能检测出一个码字中的一位或奇数位错,但是不能定位错误,因而也不能纠正错误;汉明码可以纠正一个码字中任何一位错误,检测出两位错误。还有许多高阶的ECC编码算法,例如BCH码,RS码等,可以检测和纠正一个码字中的多位错误,但是算法复杂,面积和延迟开销也更大,并且当发生类似MBU这种连续多位错误的时候,高阶编码技术也不能保证准确定位错误位置。
此外,目前的纠错方法是以二进制位为单位进行定位和纠错,而对于很多应用而言,被操作的数据都以矩阵为单位,在矩阵数据中常常有多个数据同时出错,且每个错误数据可能又是由多位二进制位出错导致的。对于这种情况, 目前的纠错方法一是不能应对同一数据中的多位错误,二是也无法以矩阵为单位对数据进行高效的纠错。
发明内容
本发明的目的在于提供一种多位错误数据的纠正方法、装置、设备及存储介质,旨在解决由于现有技术难以对存储器中同一数据中的多位错误进行定位和纠正,且对存储器中同一数据中的多位错误进行定位和纠正的准确率不高、效率不高、硬件开销较大的问题。
一方面,本发明提供了一种多位错误数据的纠正方法,所述方法包括下述步骤:
当接收到数据读取指令时,从存储器中读取目标数据和所述目标数据关联的对角线元素,所述目标数据关联的对角线元素包括所述目标数据所对应原始数据内积矩阵和类内积矩阵的第一对角线元素、第二对角线元素;
计算所述目标数据的内积矩阵、类内积矩阵,根据所述目标数据关联的对角线元素和所述目标数据内积矩阵、类内积矩阵的第一对角线元素、第二对角线元素,确定读取的所述目标数据是否出错;
当确定读取的所述目标数据出错时,根据所述目标数据关联的对角线元素和所述目标数据内积矩阵、类内积矩阵的第一对角线元素,确定所述目标数据中的每个可能出错位置;
根据所述目标数据关联的对角线元素和所述目标数据内积矩阵、类内积矩阵的第二对角线元素,在所述所有可能出错位置中确定最终出错位置和所述最终出错位置对应的错误偏差量;
根据所述最终出错位置对应的错误偏差量,对所述目标数据中所述最终出错位置处的错误数据进行纠正。
另一方面,本发明提供了一种多位错误数据的纠正装置,所述装置包括:
数据读取单元,用于当接收到数据读取指令时,从存储器中读取目标数据 和所述目标数据关联的对角线元素,所述目标数据关联的对角线元素包括所述目标数据所对应原始数据内积矩阵和类内积矩阵的第一对角线元素、第二对角线元素;
错误判断单元,用于计算所述目标数据的内积矩阵、类内积矩阵,根据所述目标数据关联的对角线元素和所述目标数据内积矩阵、类内积矩阵的第一对角线元素、第二对角线元素,确定读取的所述目标数据是否出错;
可能位置确定单元,用于当确定读取的所述目标数据出错时,根据所述目标数据关联的对角线元素和所述目标数据内积矩阵、类内积矩阵的第一对角线元素,确定所述目标数据中的每个可能出错位置;
最终错误定位单元,用于根据所述目标数据关联的对角线元素和所述目标数据内积矩阵、类内积矩阵的第二对角线元素,在所述所有可能出错位置中确定最终出错位置和所述最终出错位置对应的错误偏差量;以及
错误纠正单元,用于根据所述最终出错位置对应的错误偏差量,对所述目标数据中所述最终出错位置处的错误数据进行纠正。
另一方面,本发明还提供了一种计算设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述多位错误数据的纠正方法所述的步骤。
另一方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述多位错误数据的纠正方法所述的步骤。
本发明从存储器中读取目标数据和目标数据关联的对角线元素,目标数据关联的对角线元素包括目标数据所对应原始数据内积矩阵、类内积矩阵的第一对角线元素和第二对角线元素,根据目标数据关联的对角线元素和目标数据内积矩阵、类内积矩阵的第一对角线元素、第二对角线元素,确定读出的目标数据是否出错,当出错时确定目标数据中的每个可能出错位置,在这些可能出错位置确定最终出错位置,根据最终出错位置对应的错误偏差量,对目标数据进 行错误纠正,从而实现对从存储器读取的数据中的多位错误数据进行定位和纠正,降低了多位错误数据定位和纠正的硬件开销,提高了多位错误数据定位和纠正的准确度和效率。
附图说明
图1是本发明实施例一提供的多位错误数据的纠正方法的实现流程图;
图2是本发明实施例二提供的多位错误数据的纠正装置的结构示意图;
图3是本发明实施例二提供的多位错误数据的纠正装置的优选结构示意图;以及
图4是本发明实施例三提供的计算设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下结合具体实施例对本发明的具体实现进行详细描述:
实施例一:
图1示出了本发明实施例一提供的多位错误数据的纠正方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在步骤S101中,当接收到数据读取指令时,从存储器中读取目标数据和目标数据关联的对角线元素,目标数据关联的对角线元素包括目标数据所对应原始数据内积矩阵和类内积矩阵的第一对角线元素、第二对角线元素。
本发明适用于存储器,当接收到处理器的数据读取指令时,从存储器中读取指令中指定的数据,为了便于描述,在这里将该数据称为目标数据。在读取目标数据的同时,从存储器中读取目标数据关联的对角线元素,目标数据关联的对角线元素包括原始数据内积矩阵的第一对角线元素和第二对角线元素、以 及原始数据类内积矩阵的第一对角线元素和第二对角线元素,该原始数据为数据存储用户存储到存储器中的数据,即目标数据对应的存储数据。由于读取得到的目标数据可能发生错误(即读取出的目标数据与目标数据在存储器中对应的原始数据存在差异),可将目标数据关联的对角线元素用于后续目标数据中错误数据的定位和纠正。其中,第一对角线元素为主对角线元素,第二对角线元素为主对角线上侧的对角线元素。
优选地,在接收到数据存储指令时,获取数据存储指令中的待存储数据,计算待存储数据的内积矩阵和类内积矩阵,在将待存储数据写入存储器的同时,将待存储数据内积矩阵的第一对角线元素和第二对角线元素、以及待存储数据类内积矩阵的第一对角线元素和第二对角线元素写入存储器,从而在后续从存储器中读取目标数据时,有效地降低对目标数据中的多位错误数据进行定位和纠正的计算量。
在步骤S102中,计算目标数据的内积矩阵、类内积矩阵,根据目标数据关联的对角线元素和目标数据内积矩阵、类内积矩阵的第一对角线元素、第二对角线元素,确定读取的目标数据是否出错。
在本发明实施例中,计算目标数据的内积矩阵和类内积矩阵。优选地,目标数据的内积矩阵计算公式为:
C'=X' t*X',其中,X'为读取出来的目标数据,X' t为X'的转置矩阵,C'为目标数据的内积矩阵;
目标数据的类内积矩阵计算公式为:
S'=X'*X' t,其中,S'为目标数据的类内积矩阵。
在本发明实施例中,可将目标数据对应的原始数据相应表示为X,将原始数据的内积矩阵、类内积矩阵分别表示为C、S,其中,X为m×n大小的矩阵,
Figure PCTCN2018090160-appb-000001
C=X t*X,S=X*X t。若读出的目标数据中多位数据发生错误,例如位置(i,j)、(p,q)处的数据发生错误,将目标数据的内积矩阵与原始数据的内积矩阵相减后,所得到的矩阵除第j行、第j列和第q行、第q列以外,其它行列的数据都为零,将目标数据的类内积矩阵与原始数据的类内积矩阵相减后,所得到的矩阵除第i行、第i列和第p行、第p列之外,其它行列的数据也都为零,因此,根据目标数据的内积矩阵和类内积矩阵、原始数据的内积矩阵和类内积矩阵,不仅可以确定目标数据是否发生错误,还可以确定目标数据中的可能出错位置。
优选地,由于存储器中仅存储了原始数据、原始数据内积矩阵的第一对角线元素和第二对角线元素、原始数据类内积矩阵的第一对角线元素和第二对角线元素,在判断读出的目标数据是否发生错误时,比较目标数据内积矩阵的第一对角线元素、第二对角线元素是否分别与原始数据内积矩阵的第一对角线元素、第二对角线元素一致,或者比较目标数据类内积矩阵中第一对角线元素、第二对角线元素是否分别与原始数据类内积矩阵中第一对角线元素、第二对角线元素一致,从而有效地降低判断读取出的目标数据是否发生错误的操作复杂度。
在步骤S103中,当确定读取的目标数据出错时,根据目标数据关联的对角线元素和目标数据内积矩阵、类内积矩阵的第一对角线元素,确定目标数据中的每个可能出错位置。
在本发明实施例中,在确定读取的目标数据出错后,可将目标数据内积矩阵的第一对角线元素与原始数据内积矩阵的第一对角线元素中元素值不同的位置,设置为目标数据中可能出错位置的列坐标,将目标数据类内积矩阵的第一对角线元素与原始数据类内积矩阵的第一对角线元素中元素值不同的位置,设 置为目标数据中可能出错位置的行坐标,将这些列坐标与这些行坐标进行一一组合,可得到目标数据中所有的可能出错位置。
作为示例地,当目标数据内积矩阵的第一对角线元素中(j,j)、(q,q)位置处的元素值与原始数据内积矩阵的第一对角线元素中(j,j)、(q,q)位置处的元素值不同时,将j、q设置为目标数据中可能出错位置的列坐标,当目标数据类内积矩阵的第一对角线元素中(i,i)、(p,p)位置处的元素值与原始数据内积矩阵的第一对角线元素中(i,i)、(p,p)位置处的元素值不同时,将i、p设置为目标数据中可能出错位置的行坐标,将这些列坐标与行坐标进行组合,可得到目标数据中的可能出错位置为(i,j)、(i,q)、(p,j)、(p,q)。
在步骤S104中,根据目标数据关联的对角线元素和目标数据内积矩阵、类内积矩阵的第二对角线元素,在所有可能出错位置中确定最终出错位置和最终出错位置对应的错误偏差量。
在本发明实施例中,在得到目标数据中的所有可能出错位置后,可根据目标数据内积矩阵的第二对角线元素和原始数据内积矩阵的第二对角线元素,计算每个可能出错位置分别对应的第一错误偏差量,再根据目标矩阵类内积矩阵的第二对角线元素和原始矩阵类内积矩阵的第二对角线元素,计算每个可能出错位置分别对应的第二错误偏差量,将这些可能出错位置中第一错误偏差量与第二错误偏差量数值一致的可能出错位置设置为最终出错位置。由于最终出错位置对应的第一错误偏差量与第二错误偏差量是相同的,可将最终出错位置对应的第一错误偏差量或者第二错误偏差量设置为最终出错位置的错误偏差量。
在本发明实施例中,假设目标数据中的可能出错位置分别表示为(i,j)、(i,q)、(p,j)、(p,q),优选地,在计算每个可能出错位置分别对应的第一错误偏差量时,计算目标数据内积矩阵的第二对角线元素上元素C' j(j+1)、C' q(q+1)分别与原始数据内积矩阵的第二对角线元素上元素C j(j+1)、C q(q+1)的差值,C' j(j+1)与C j(j+1)之间差值的计算公式为:
Figure PCTCN2018090160-appb-000002
其中,x ij'=x ij+ΔE ij,ΔE ij为目标数据的可能出错位置(i,j)处数据x ij'相对于原始数据位置(i,j)处数据x ij的第一错误偏差量,进而得到
Figure PCTCN2018090160-appb-000003
同样地,目标数据的可能出错位置(i,q)、(p,j)、(p,q)分别对应的第一错误偏差量为:
Figure PCTCN2018090160-appb-000004
又优选地,在计算每个可能出错位置分别对应的第二错误偏差量时,计算目标数据类内积矩阵的第二对角线元素上元素S' i(i+1)、S' p(p+1)分别与原始数据内积矩阵的第二对角线元素上元素S i(i+1)、S p(p+1)的差值,S' j(j+1)与S j(j+1)之间差值的计算公式为:
Figure PCTCN2018090160-appb-000005
x ij'=x ij+ΔK ij,ΔK ij为目标数据的可能出错位置(i,j)处数据x ij'相对于原始数据可能出错位置(i,j)处数据x ij的第二错误偏差量,进而得到
Figure PCTCN2018090160-appb-000006
同样地,目标数据的可能出错位置(i,q)、(p,j)、(p,q)分别对应的第二错误偏差量为:
Figure PCTCN2018090160-appb-000007
在步骤S105中,根据最终出错位置对应的错误偏差量,对目标数据中最终错误位置处的错误数据进行纠正。
在本发明实施例中,可通过将目标数据中最终出错位置处错误数据减去相应的错误偏差量,实现对目标数据中最终出错位置处错误数据的纠正。
在本发明实施例中,从存储器中读取目标数据和目标数据关联的对角线元 素,根据目标数据关联的对角线元素和目标数据内积矩阵、类内积矩阵的第一对角线元素、第二对角线元素,确定目标数据是否出错,当出错时,确定目标数据中每个可能出错位置,并在这些可能出错位置确定最终出错位置,对最终出错位置处的错误数据进行纠正,从而实现对从存储器读取的数据中的多位错误数据进行定位和纠正,降低了多位错误数据定位和纠正的硬件开销,提高了多位错误数据定位和纠正的准确度和效率。
实施例二:
图2示出了本发明实施例二提供的多位错误数据的纠正装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:
数据读取单元21,用于当接收到数据读取指令时,从存储器中读取目标数据和目标数据关联的对角线元素,目标数据关联的对角线元素包括目标数据所对应原始数据内积矩阵和类内积矩阵的第一对角线元素、第二对角线元素。
在本发明实施例中,当接收到处理器的数据读取指令时,从存储器中读取得到目标数据,由于读取得到的目标数据可能发生错误,需要同时从存储器中读取目标数据所关联的对角线元素,其中,目标数据关联的对角线元素包括原始数据内积矩阵的第一对角线元素和第二对角线元素、以及原始数据类内积矩阵的第一对角线元素和第二对角线元素,该原始数据为数据存储用户存储到存储器中的数据,即目标数据对应的存储数据,目标数据关联的对角线元素可用于后续目标数据中错误数据的定位和纠正。
优选地,在接收到数据存储指令时,获取数据存储指令中的待存储数据,计算待存储数据的内积矩阵和类内积矩阵,在将待存储数据写入存储器的同时,将待存储数据内积矩阵的第一对角线元素和第二对角线元素、以及待存储数据类内积矩阵的第一对角线元素和第二对角线元素写入存储器,从而在后续从存储器中读取目标数据时,有效地降低对目标数据中的多位错误数据进行定位和纠正的计算量。
错误判断单元22,用于计算目标数据的内积矩阵、类内积矩阵,根据目标 数据关联的对角线元素和目标数据内积矩阵、类内积矩阵的第一对角线元素、第二对角线元素,确定读取的目标数据是否出错。
在本发明实施例中,计算目标数据的内积矩阵和类内积矩阵。优选地,目标数据的内积矩阵计算公式为:
C'=X' t*X',其中,X'为读取出来的目标数据,X' t为X'的转置矩阵,C'为目标数据的内积矩阵;
目标数据的类内积矩阵计算公式为:
S'=X'*X' t,其中,S'为目标数据的类内积矩阵。
在本发明实施例中,可将目标数据对应的原始数据相应表示为X,将原始数据的内积矩阵、类内积矩阵分别表示为C、S,其中,X为m×n大小的矩阵,
Figure PCTCN2018090160-appb-000008
C=X t*X,S=X*X t。若读出的目标数据中多位数据发生错误,例如位置(i,j)、(p,q)处的数据发生错误,将目标数据的内积矩阵与原始数据的内积矩阵相减后,所得到的矩阵除第j行、第j列和第q行、第q列以外,其它行列的数据都为零,将目标数据的类内积矩阵与原始数据的类内积矩阵相减后,所得到的矩阵除第i行、第i列和第p行、第p列之外,其它行列的数据也都为零,因此,根据目标数据的内积矩阵和类内积矩阵、原始数据的内积矩阵和类内积矩阵,不仅可以确定目标数据是否发生错误,还可以确定目标数据中的可能出错位置。
优选地,由于存储器中仅存储了原始数据、原始数据内积矩阵的第一对角线元素和第二对角线元素、以及原始数据类内积矩阵的第一对角线元素和第二对角线元素,在判断读出的目标数据是否发生错误时,比较目标数据内积矩阵的第一对角线元素、第二对角线元素是否分别与原始数据内积矩阵的第一对角线元素、第二对角线元素一致,或者比较目标数据类内积矩阵的第一对角线元 素、第二对角线元素是否分别与原始数据类内积矩阵的第一对角线元素、第二对角线元素一致,从而有效地降低了判断读取出的目标数据是否发生错误的操作复杂度。
可能位置确定单元23,用于当确定读取的目标数据出错时,根据目标数据关联的对角线元素和目标数据内积矩阵、类内积矩阵的第一对角线元素,确定目标数据中的每个可能出错位置。
在本发明实施例中,在确定读取的目标数据出错后,可将目标数据内积矩阵的第一对角线元素与原始数据内积矩阵的第一对角线元素中元素值不同的位置,设置为目标数据中可能出错位置的列坐标,将目标数据类内积矩阵的第一对角线元素与原始数据类内积矩阵的第一对角线元素中元素值不同的位置,设置为目标数据中可能出错位置的行坐标,将这些列坐标与这些行坐标进行一一组合,得到目标数据中所有的可能出错位置。
最终错误定位单元24,用于根据目标数据关联的对角线元素和目标数据内积矩阵、类内积矩阵的第二对角线元素,在所有可能出错位置中确定最终出错位置和最终出错位置对应的错误偏差量。
在本发明实施例中,在得到目标数据中的所有可能出错位置后,可根据目标数据内积矩阵的第二对角线元素和原始数据内积矩阵的第二对角线元素,计算每个可能出错位置分别对应的第一错误偏差量,再根据目标矩阵类内积矩阵的第二对角线元素、原始矩阵类内积矩阵的第二对角线元素,计算每个可能出错位置分别对应的第二错误偏差量,将这些可能出错位置中第一错误偏差量与第二错误偏差量数值一致的可能出错位置设置为最终出错位置。由于最终出错位置对应的第一错误偏差量与第二错误偏差量是相同的,可将最终出错位置对应的第一错误偏差量或者第二错误偏差量设置为最终出错位置的错误偏差量。
在本发明实施例中,假设目标数据中的可能出错位置分别表示为(i,j)、(i,q)、(p,j)、(p,q),优选地,在计算每个可能出错位置分别对应的第一错误偏差量时,计算目标数据内积矩阵的第二对角线元素上元素C' j(j+1)、C' q(q+1)分别与 原始数据内积矩阵的第二对角线元素上元素C j(j+1)、C q(q+1)的差值,C' j(j+1)与C j(j+1)之间差值的计算公式为:
Figure PCTCN2018090160-appb-000009
其中,x ij'=x ij+ΔE ij,ΔE ij为目标数据的可能出错位置(i,j)处数据x ij'相对于原始数据位置(i,j)处数据x ij的第一错误偏差量,进而得到
Figure PCTCN2018090160-appb-000010
同样地,目标数据的可能出错位置(i,q)、(p,j)、(p,q)分别对应的第一错误偏差量为:
Figure PCTCN2018090160-appb-000011
又优选地,在计算每个可能出错位置分别对应的第二错误偏差量时,计算目标数据类内积矩阵的第二对角线元素上元素S' i(i+1)、S' p(p+1)分别与原始数据内积矩阵的第二对角线元素上元素S i(i+1)、S p(p+1)的差值,S' j(j+1)与S j(j+1)之间差值的计算公式为:
Figure PCTCN2018090160-appb-000012
x ij'=x ij+ΔK ij,ΔK ij为目标数据的可能出错位置(i,j)处数据x ij'相对于原始数据可能出错位置(i,j)处数据x ij的第二错误偏差量,进而得到
Figure PCTCN2018090160-appb-000013
同样地,目标数据的可能出错位置(i,q)、(p,j)、(p,q)分别对应的第二错误偏差量为:
Figure PCTCN2018090160-appb-000014
错误纠正单元25,用于根据最终出错位置对应的错误偏差量,对目标数据中最终错误位置处的错误数据进行纠正。
在本发明实施例中,可通过将目标数据中最终出错位置处错误数据减去相应的错误偏差量,实现对目标数据中最终出错位置处错误数据的纠正。
优选地,如图3所示,可能位置确定单元23包括:
列坐标设置单元331,用于将目标数据内积矩阵的第一对角线元素与原始数据内积矩阵的第一对角线元素中元素值不同的位置,设置为可能出错位置的列坐标;
行坐标设置单元332,用于将目标数据类内积矩阵的第一对角线元素与原始数据类内积矩阵的第一对角线元素中元素值不同的位置,设置为可能出错位置的行坐标;以及
坐标组合单元333,用于将可能出错位置的每个列坐标与可能出错位置的每个行坐标进行一一组合,生成所有可能出错位置。
优选地,最终错误定位单元24包括:
第一偏差量计算单元341,用于根据目标数据内积矩阵的第二对角线元素和原始数据内积矩阵的第二对角线元素,计算每个可能出错位置分别对应的第一错误偏差量;
第二偏差量计算单元342,用于根据目标数据类内积矩阵的第二对角线元素和原始数据类内积矩阵的第二对角线元素,计算每个可能出错位置分别对应的第二错误偏差量;
最终位置设置单元343,用于将第一错误偏差量与第二错误偏差量数值一致的可能出错位置设置为最终出错位置;以及
错误偏差设置单元344,用于将最终出错位置对应的第一错误偏差量、第二错误偏差量设置为最终出错位置对应的错误偏差量。
在本发明实施例中,从存储器中读取目标数据和目标数据关联的对角线元素,根据目标数据关联的对角线元素和目标数据内积矩阵、类内积矩阵的第一对角线元素、第二对角线元素,确定目标数据是否出错,当出错时,确定目标数据中每个可能出错位置,并在这些可能出错位置确定最终出错位置,对最终 出错位置处的错误数据进行纠正,从而实现对从存储器读取的数据中的多位错误数据进行定位和纠正,降低了多位错误数据定位和纠正的硬件开销,提高了多位错误数据定位和纠正的准确度和效率。
在本发明实施例中,多位错误数据的纠正装置的各单元可由相应的硬件或软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为一个软、硬件单元,在此不用以限制本发明。
实施例三:
图4示出了本发明实施例三提供的计算设备的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
本发明实施例的设备4包括处理器40、存储器41以及存储在存储器41中并可在处理器40上运行的计算机程序42。该处理器40执行计算机程序42时实现上述方法实施例中的步骤,例如图1所示的步骤S101至S105。或者,处理器40执行计算机程序42时实现上述装置实施例中各单元的功能,例如图2所示单元21至25的功能。
在本发明实施例中,从存储器中读取目标数据和目标数据关联的对角线元素,根据目标数据关联的对角线元素和目标数据内积矩阵、类内积矩阵的第一对角线元素、第二对角线元素,确定目标数据是否出错,当出错时,确定目标数据中每个可能出错位置,并在这些可能出错位置确定最终出错位置,对最终出错位置处的错误数据进行纠正,从而实现对从存储器读取的数据中的多位错误数据进行定位和纠正,降低了多位错误数据定位和纠正的硬件开销,提高了多位错误数据定位和纠正的准确度和效率。
实施例四:
在本发明实施例中,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法实施例中的步骤,例如,图1所示的步骤S101至S105。或者,该计算机程序被处理器执行时实现上述装置实施例中各单元的功能,例如图2所示单元21至24的功 能。
在本发明实施例中,从存储器中读取目标数据和目标数据关联的对角线元素,根据目标数据关联的对角线元素和目标数据内积矩阵、类内积矩阵的第一对角线元素、第二对角线元素,确定目标数据是否出错,当出错时,确定目标数据中每个可能出错位置,并在这些可能出错位置确定最终出错位置,对最终出错位置处的错误数据进行纠正,从而实现对从存储器读取的数据中的多位错误数据进行定位和纠正,降低了多位错误数据定位和纠正的硬件开销,提高了多位错误数据定位和纠正的准确度和效率。
本发明实施例的计算机可读存储介质可以包括能够携带计算机程序代码的任何实体或装置、记录介质,例如,ROM/RAM、磁盘、光盘、闪存等存储器。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

  1. 一种多位错误数据的纠正方法,其特征在于,所述方法包括下述步骤:
    当接收到数据读取指令时,从存储器中读取目标数据和所述目标数据关联的对角线元素,所述目标数据关联的对角线元素包括所述目标数据所对应原始数据内积矩阵和类内积矩阵的第一对角线元素、第二对角线元素;
    计算所述目标数据的内积矩阵、类内积矩阵,根据所述目标数据关联的对角线元素和所述目标数据内积矩阵、类内积矩阵的第一对角线元素、第二对角线元素,确定读取的所述目标数据是否出错;
    当确定读取的所述目标数据出错时,根据所述目标数据关联的对角线元素和所述目标数据内积矩阵、类内积矩阵的第一对角线元素,确定所述目标数据中的每个可能出错位置;
    根据所述目标数据关联的对角线元素和所述目标数据内积矩阵、类内积矩阵的第二对角线元素,在所述所有可能出错位置中确定最终出错位置和所述最终出错位置对应的错误偏差量;
    根据所述最终出错位置对应的错误偏差量,对所述目标数据中所述最终出错位置处的错误数据进行纠正。
  2. 如权利要求1所述的方法,其特征在于,确定读取的所述目标数据是否出错的步骤,包括:
    判断所述目标数据内积矩阵的第一对角线元素、第二对角线元素是否分别与所述原始数据内积矩阵的第一对角线元素、第二对角线元素一致;或者
    判断所述目标数据类内积矩阵的第一对角线元素、第二对角线元素是否分别与所述原始数据类内积矩阵的第一对角线元素、第二对角线元素一致。
  3. 如权利要求1所述的方法,其特征在于,确定所述目标数据中的每个可能出错位置的步骤,包括:
    将所述目标数据内积矩阵的第一对角线元素与所述原始数据内积矩阵的第一对角线元素中元素值不同的位置,设置为所述可能出错位置的列坐标;
    将所述目标数据类内积矩阵的第一对角线元素与所述原始数据类内积矩阵的第一对角线元素中元素值不同的位置,设置为所述可能出错位置的行坐标;
    将所述可能出错位置的每个列坐标与所述可能出错位置的每个行坐标进行一一组合,生成所述所有可能出错位置。
  4. 如权利要求1所述的方法,其特征在于,在所述所有可能出错位置中确定最终出错位置和所述最终出错位置对应的错误偏差量的步骤,包括:
    根据所述目标数据内积矩阵的第二对角线元素和所述原始数据内积矩阵的第二对角线元素,计算所述每个可能出错位置分别对应的第一错误偏差量;
    根据所述目标数据类内积矩阵的第二对角线元素和所述原始数据类内积矩阵的第二对角线元素,计算所述每个可能出错位置分别对应的第二错误偏差量;
    将所述第一错误偏差量与所述第二错误偏差量数值一致的所述可能出错位置设置为所述最终出错位置;
    将所述最终出错位置对应的第一错误偏差量、第二错误偏差量设置为所述最终出错位置对应的错误偏差量。
  5. 如权利要求1所述的方法,其特征在于,从存储器中读取目标数据和所述目标数据关联的对角线元素的步骤之前,所述方法还包括:
    当接收到数据存储指令时,获取所述数据存储指令中的待存储数据,并计算所述待存储数据的内积矩阵、类内积矩阵;
    将所述待存储数据写入所述存储器中,同时将所述待存储数据内积矩阵的、类内积矩阵的第一对角线元素和第二对角线元素写入所述存储器中。
  6. 一种多位错误数据的纠正装置,其特征在于,所述装置包括:
    数据读取单元,用于当接收到数据读取指令时,从存储器中读取目标数据和所述目标数据关联的对角线元素,所述目标数据关联的对角线元素包括所述目标数据所对应原始数据内积矩阵和类内积矩阵的第一对角线元素、第二对角线元素;
    错误判断单元,用于计算所述目标数据的内积矩阵、类内积矩阵,根据所 述目标数据关联的对角线元素和所述目标数据内积矩阵、类内积矩阵的第一对角线元素、第二对角线元素,确定读取的所述目标数据是否出错;
    可能位置确定单元,用于当确定读取的所述目标数据出错时,根据所述目标数据关联的对角线元素和所述目标数据内积矩阵、类内积矩阵的第一对角线元素,确定所述目标数据中的每个可能出错位置;
    最终错误定位单元,用于根据所述目标数据关联的对角线元素和所述目标数据内积矩阵、类内积矩阵的第二对角线元素,在所述所有可能出错位置中确定最终出错位置和所述最终出错位置对应的错误偏差量;以及
    错误纠正单元,用于根据所述最终出错位置对应的错误偏差量,对所述目标数据中所述最终出错位置处的错误数据进行纠正。
  7. 如权利要求6所述的装置,其特征在于,所述可能位置确定单元包括:
    列坐标设置单元,用于将所述目标数据内积矩阵的第一对角线元素与所述原始数据内积矩阵的第一对角线元素中元素值不同的位置,设置为所述可能出错位置的列坐标;
    行坐标设置单元,用于将所述目标数据类内积矩阵的第一对角线元素与所述原始数据类内积矩阵的第一对角线元素中元素值不同的位置,设置为所述可能出错位置的行坐标;以及
    坐标组合单元,用于将所述可能出错位置的每个列坐标与所述可能出错位置的每个行坐标进行一一组合,生成所述所有可能出错位置。
  8. 如权利要求6所述的装置,其特征在于,所述最终错误定位单元包括
    第一偏差量计算单元,用于根据所述目标数据内积矩阵的第二对角线元素和所述原始数据内积矩阵的第二对角线元素,计算所述每个可能出错位置分别对应的第一错误偏差量;
    第二偏差量计算单元,用于根据所述目标数据类内积矩阵的第二对角线元素和所述原始数据类内积矩阵的第二对角线元素,计算所述每个可能出错位置分别对应的第二错误偏差量;
    最终位置设置单元,用于将所述第一错误偏差量与所述第二错误偏差量数值一致的所述可能出错位置设置为所述最终出错位置;以及
    错误偏差设置单元,用于将所述最终出错位置对应的第一错误偏差量、第二错误偏差量设置为所述最终出错位置对应的错误偏差量。
  9. 一种计算设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述方法的步骤。
  10. 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述方法的步骤。
PCT/CN2018/090160 2018-06-06 2018-06-06 多位错误数据的纠正方法、装置、设备及存储介质 WO2019232727A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/090160 WO2019232727A1 (zh) 2018-06-06 2018-06-06 多位错误数据的纠正方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/090160 WO2019232727A1 (zh) 2018-06-06 2018-06-06 多位错误数据的纠正方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
WO2019232727A1 true WO2019232727A1 (zh) 2019-12-12

Family

ID=68769732

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/090160 WO2019232727A1 (zh) 2018-06-06 2018-06-06 多位错误数据的纠正方法、装置、设备及存储介质

Country Status (1)

Country Link
WO (1) WO2019232727A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183565A (zh) * 2007-12-12 2008-05-21 深圳市硅格半导体有限公司 存储介质中数据校验方法
CN101546291A (zh) * 2009-05-12 2009-09-30 华为技术有限公司 提高内存数据健壮性的存取方法和装置
CN101621299A (zh) * 2008-07-04 2010-01-06 华为技术有限公司 一种突发纠错的方法、设备和装置
US20100287440A1 (en) * 2009-05-07 2010-11-11 Ramot At Tel Aviv University Ltd. Matrix structure for block encoding
US20140372495A1 (en) * 2013-06-14 2014-12-18 Microsoft Corporation Singular value decomposition of complex matrix

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101183565A (zh) * 2007-12-12 2008-05-21 深圳市硅格半导体有限公司 存储介质中数据校验方法
CN101621299A (zh) * 2008-07-04 2010-01-06 华为技术有限公司 一种突发纠错的方法、设备和装置
US20100287440A1 (en) * 2009-05-07 2010-11-11 Ramot At Tel Aviv University Ltd. Matrix structure for block encoding
CN101546291A (zh) * 2009-05-12 2009-09-30 华为技术有限公司 提高内存数据健壮性的存取方法和装置
US20140372495A1 (en) * 2013-06-14 2014-12-18 Microsoft Corporation Singular value decomposition of complex matrix

Similar Documents

Publication Publication Date Title
CN109542668B (zh) 基于nand flash存储器的校验方法、终端设备及存储介质
KR20120114366A (ko) 비트 값들의 저장된 총계를 이용하여 데이터 에러들을 보정하는 시스템 및 방법
US20140082264A1 (en) Nand flash storage chip checking method and device
GB2582097A (en) Protecting in-memory configuration state registers
JP2021503127A5 (zh)
US9762261B2 (en) Error detection and correction in ternary content addressable memory (TCAM)
US10574272B2 (en) Memory system
US9830218B2 (en) Cache memory with fault tolerance
US11734111B2 (en) Integrated circuit and method of operating same
US9934085B2 (en) Invoking an error handler to handle an uncorrectable error
US9189333B2 (en) Generating soft decoding information for flash memory error correction using hard decision patterns
TWI616886B (zh) 記憶體讀取方法及記憶體裝置
US9959166B2 (en) Error correction for non-volatile memory
CN109032833B (zh) 多位错误数据的纠正方法、装置、设备及存储介质
CN108021467B (zh) 一种存储器容错保护方法、装置、设备及存储介质
CN108897637B (zh) 存储器中数据读取的错误纠正方法、装置、设备及介质
WO2019232727A1 (zh) 多位错误数据的纠正方法、装置、设备及存储介质
WO2019232721A1 (zh) 存储器中数据读取的错误纠正方法、装置、设备及介质
CN111143111A (zh) Ssd映射表保护机制验证方法、装置、计算机设备及存储介质
US11321166B2 (en) Device for determining soft error occurred in a memory having stacked layers, and computer readable medium storing program thereon for determining the soft error
CN108984340B (zh) 存储器数据的容错保护方法、装置、设备及存储介质
Shao et al. An error location and correction method for memory based on data similarity analysis
WO2019090657A1 (zh) 一种存储器容错保护方法、装置、设备及存储介质
US11652496B2 (en) Memory system and method for controlling non-volatile memory
US20210109808A1 (en) Using Original Data as Soft Bit Information in a Decoder

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18921926

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 03.05.2021)

122 Ep: pct application non-entry in european phase

Ref document number: 18921926

Country of ref document: EP

Kind code of ref document: A1