CN115987304A - 一种针对数据屏蔽的纠错方法、装置及存储介质 - Google Patents
一种针对数据屏蔽的纠错方法、装置及存储介质 Download PDFInfo
- Publication number
- CN115987304A CN115987304A CN202310093549.9A CN202310093549A CN115987304A CN 115987304 A CN115987304 A CN 115987304A CN 202310093549 A CN202310093549 A CN 202310093549A CN 115987304 A CN115987304 A CN 115987304A
- Authority
- CN
- China
- Prior art keywords
- data
- correction
- codes
- error correction
- value
- 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.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Detection And Correction Of Errors (AREA)
Abstract
本申请实施例公开了一种针对数据屏蔽的纠错方法、装置及存储介质,其中针对数据屏蔽的纠错方法包括步骤:获取目标数据,基于所述目标数据,生成对应的第一纠正码,从所述第一纠正码中选取至少四位作为第二纠正码,将第二纠正码分成两组,每组中至少两位第二纠正码;基于预设规则对第二纠正码进行编码,使每组中的第二纠正码之间的异或值为0;当进行数据屏蔽时,对第二纠正码重新进行编码,使每组中的第二纠正码之间的异或值为1;将目标数据和第一纠正码写入存储阵列;从所述存储阵列中读取目标数据和对应的第一纠正码,分别获取每组的第二纠正码之间的异或值,基于获取的异或值判断是否进行数据纠错过程。
Description
技术领域
本申请涉及计算机信息处理技术领域,具体涉及一种针对数据屏蔽的纠错方法、装置及存储介质。
背景技术
对于存储芯片来说,其数据在写入读出的过程当中可能会发生数据的错误。为了解决这个问题,纠正码(ECC)被应用到存储芯片中。
对于动态随机存储芯片(DRAM)来说,其标准有规定一些特定的功能,例如数据屏蔽(DM),字长截断(burst chop)。这些功能的启用,使得每次写操作写入芯片的数据位数是不一样的。但是,纠正码(ECC)是针对所有数据做的一个编码。为了解决这个问题,常规的方法是在写入新的数据的时候,先做一个读操作,把原先存在存储单元中的数据读出来,然后对读出来的数据进行纠正。接着根据数据屏蔽或者字长截断的信号选择相应的数据,和外部新写入的数据组成一个数据包。该数据包再去编码得到错误纠正码,和数据再一起存入存储矩阵中。所以对于拥有数据屏蔽(DM)和字长截断(burst chop)的情况来说,整个数据的写入过程包括了先读后写两个步骤。这样对于拥有数据屏蔽(DM)或字长截断(burstchop)的写过程来说,其需要的时间相对于正常的写过程来说更久。对于低功耗双倍速率同步动态随机存储器(LPDDR)来说,普通的写和拥有数据屏蔽(DM)的写是不同的命令,拥有不同的时间,所以能够满足前面描述的问题。但是对于普通的双倍速率同步动态随机存储器(DRAM)来说,并没有区分普通的写和拥有数据屏蔽(DM)的写。拥有数据屏蔽的时候的写和普通的写是相同的过程。此时写入的纠正码是没有意义的,数据读出的时候不应该根据纠正码对数据进行修正。因此,必须想办法在读取数据的时候区分数据是普通的写还是数据屏蔽(DM)的写写入的。
为判断是否发生数据屏蔽,现有技术有两种解决方案:1、是否发生数据屏蔽由纠正码异或的值来判断,当异或的结果为0,则为正常数据传输方式,当异或的结果为1,则发生了数据屏蔽。这种传输方式的弊端在于纠正码传输错一位则异或值将由1变为0,从而导致系统对是否发生数据屏蔽的判断出错。2、在纠正码中设置固定的数据屏蔽位,人为地对数据屏蔽码赋值,从而区分是否发生了数据屏蔽。弊端是造成有纠错能力的纠正码位数减少,影响可以纠错的数据数量。因此需要提出一种新的针对数据屏蔽的纠错方案,解决上述问题。
发明内容
本申请实施例的目的在于提供一种针对数据屏蔽的纠错方法、装置及存储介质,用以解决现有技术中判断是否发生数据屏蔽的纠正码的编码方式容易出现判断出错和造成纠正码可以纠错的数据数量减少的问题。
为实现上述目的,本申请实施例提供一种针对数据屏蔽的纠错方法,包括步骤:获取目标数据,基于所述目标数据,生成对应的第一纠正码,从所述第一纠正码中选取至少四位作为第二纠正码,将所述第二纠正码分成两组,每组中至少两位所述第二纠正码;
基于预设规则对所述第二纠正码进行编码,使每组中的所述第二纠正码之间的异或值为0;
当进行数据屏蔽时,对所述第二纠正码重新进行编码,使每组中的所述第二纠正码之间的异或值为1;
将所述目标数据和所述第一纠正码写入存储阵列;
从所述存储阵列中读取所述目标数据和对应的所述第一纠正码,分别获取每组的所述第二纠正码之间的异或值,基于获取的异或值判断是否进行数据纠错过程。
可选地,基于获取的异或值判断是否进行所述数据纠错过程的方法包括:
当获取的异或值中至少一位为0时,进行所述数据纠错过程;
当获取的异或值中每位均为1时,直接读出所述目标数据,不进行所述数据纠错过程。
可选地,所述数据纠错过程包括:
对读取的所述目标数据进行编码,生成第三纠正码,将所述第一纠正码和所述第三纠正码进行比较,根据比较结果判断是否对所述目标数据进行修正。
可选地,所述第一纠正码和第三纠正码均为8比特汉明码。
为实现上述目的,本申请还提供一种针对数据屏蔽的纠错装置,包括:存储器;以及
与所述存储器连接的处理器,所述处理器被配置成:
获取目标数据,基于所述目标数据,生成对应的第一纠正码,从所述第一纠正码中选取至少四位作为第二纠正码,将所述第二纠正码分成两组,每组中至少两位所述第二纠正码;
基于预设规则对所述第二纠正码进行编码,使每组中的所述第二纠正码之间的异或值为0;
当进行数据屏蔽时,对所述第二纠正码重新进行编码,使每组中的所述第二纠正码之间的异或值为1;
将所述目标数据和所述第一纠正码写入存储阵列;
从所述存储阵列中读取所述目标数据和对应的所述第一纠正码,分别获取每组的所述第二纠正码之间的异或值,基于获取的异或值判断是否进行数据纠错过程。
可选地,所述处理器还被配置成:基于获取的异或值判断是否进行所述数据纠错过程的方法包括:
当获取的异或值中至少一位为0时,进行所述数据纠错过程;
当获取的异或值中每位均为1时,直接读出所述目标数据,不进行所述数据纠错过程。
可选地,所述处理器还被配置成:所述数据纠错过程包括:
对读取的所述目标数据进行编码,生成第三纠正码,将所述第一纠正码和所述第三纠正码进行比较,根据比较结果判断是否对所述目标数据进行修正。
可选地,所述处理器还被配置成:所述第一纠正码和第三纠正码均为8比特汉明码。
为实现上述目的,本申请还提供一种计算机存储介质,其上存储有计算机程序,其中所述计算机程序被机器执行时实现如上所述的方法的步骤。
本申请实施例具有如下优点:
本申请实施例提供一种针对数据屏蔽的纠错方法,包括步骤:获取目标数据,基于所述目标数据,生成对应的第一纠正码,从所述第一纠正码中选取至少四位作为第二纠正码,将所述第二纠正码分成两组,每组中至少两位所述第二纠正码;基于预设规则对所述第二纠正码进行编码,使每组中的所述第二纠正码之间的异或值为0;当进行数据屏蔽时,对所述第二纠正码重新进行编码,使每组中的所述第二纠正码之间的异或值为1;将所述目标数据和所述第一纠正码写入存储阵列;从所述存储阵列中读取所述目标数据和对应的所述第一纠正码,分别获取每组的所述第二纠正码之间的异或值,基于获取的异或值判断是否进行数据纠错过程。
通过上述方法,不另外设置固定的数据屏蔽位,每位纠正码都有自己的编码方式,是否发生数据屏蔽由从第一纠正码中选取的第二纠正码的异或值来判断,选取至少四位作为第二纠正码,将所述第二纠正码分成两组,每组中至少两位所述第二纠正码,有效避免了发生数据屏蔽判断出错的情况;同时,所有的第一纠正码又都具有纠错能力,避免了固定设置数据屏蔽位造成纠正码可以纠错的数据数量减少的问题。
附图说明
为了更清楚地说明本申请的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
图1为本申请实施例提供的一种针对数据屏蔽的纠错方法的流程图;
图2为常见汉明码编码的错误纠正编码表示意图;
图3为8位纠正码的错误纠正编码表;
图4为本申请实施例提供的一种针对数据屏蔽的纠错方法的第一纠正码编码表;
图5为本申请实施例提供的一种针对数据屏蔽的纠错方法的根据第二纠正码对目标数据的处理流程图;
图6为本申请实施例提供的一种针对数据屏蔽的纠错装置的模块框图。
具体实施方式
以下由特定的具体实施例说明本申请的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本申请的其他优点及功效,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
此外,下面所描述的本申请不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
本申请一实施例提供一种针对数据屏蔽的纠错方法,参考图1,图1为本申请的一实施方式中提供的一种针对数据屏蔽的纠错方法的流程图,应当理解的是,该方法还可以包括未示出的附加框和/或可以省略所示出的框,本申请的范围在此方面不受限制。
原有的错误纠正编码的编码方式来自于汉明码,为了理解这种编码方式先简单介绍一下偶校验。在传送数据串的时候另外附加一位作为校验位,当实际数据中“1”的个数为奇数的时候,这个校验位就是“1”,否则这个校验位就是“0”,这样就可以保证传送数据串满足“1”的总数为偶数的要求。在接收方收到数据时,将检测数据中“1”的个数,如果是偶数,表示传送正确,否则表示传送错误。
假设传输的数据是“101”,在数据中一共有两个“1”,所以校验位为0。因此“1010”将会被传入。假如在传输过程中有一位出错,出错后数据为“0010”,那么接收方就会检测到在数据串中有奇数个“1”,这就意味着数据串发生了错误。显而易见,偶校验有两个很大的缺点:1)只能发现错误并不能修改错误;2)一个是当传输过程中发生了2位或更大的偶数位改变时,奇偶校验法将会变得失效。
随着科学技术的飞速发展,在如今的数据通信传输过程中,数据发生改变的几率是非常小的,因此,2位及2位以上比特位发生改变的情况我们假设其永远不可能发生。在这种前提下汉明码就很好的解决了偶校验的两个缺点(1、只能发现错误并不能修改错误;2、一个是当传输过程中发生了2位或更大的偶数位改变时,奇偶校验法将会变得失效)。
汉明码是一种特殊的偶校验,它是多个偶校验的组合。在图2中,72比特的数据串中包括纠正码和数据位。纠正码所处的位置为2的幂次方,最终它们将穿插在数据位中发送出去。数据位的赋值方法以P1为例,它为S0这一行暗色块对应数据的偶校验的纠正码。也就是说,将S0行对应的所有数据做一个异或,如果结果为1(意味着数据中有奇数个1),那么P1赋值为1;如果结果为0(意味着数据中有偶数个1),那么P1赋值为0。其余纠正码同理,并且纠正码和数据位共72位将会被一起传入。当接收者接收到这72位数据串时,将按照图2,将每一行的暗色块部分对应纠正码和数据位做异或,得到S0~S6七位编码。如果S0~S6为全“0”,则说明传输没有发生错误,反之则说明发生了错误。
这种汉明码编码的错误纠正编码表可以用于DRAM中判断读出来的数据和写入的数据对比是否有错误。但是在我们写入过程中还有一种模式是数据屏蔽模式。在这种模式下,如果将数据进行错误纠正编码,将会得到一串错误的纠正码。将这串纠正码和数据一起传入是没有意义的。所以上述编码方式有两种缺点:其一,上述编码方式中纠正码将被穿插在数据位中传输,传输方式繁琐;其二,上述的编码方式不能判断写入过程有没有发生数据屏蔽。
本申请提供的技术方案很好的改进了它的两个缺点。
在步骤101处,获取目标数据,基于所述目标数据,生成对应的第一纠正码,从所述第一纠正码中选取至少四位作为第二纠正码,将所述第二纠正码分成两组,每组中至少两位所述第二纠正码。
在一些实施例中,所述第一纠正码为8比特汉明码。
具体地,针对前述的第一缺点,假设传输的数据一共有64位。将穿插在数据位中的纠正码单独拿出,参考图3。因为在实际的芯片中,64位数据被以字节为单位分成了八组,每一组有八比特的数据,所以在原有的七位纠正码的基础上又增加一位,增加至八位纠正码,使八位纠正码组成一个字节。这样在传输过程中,一字节的纠正码跟随在八字节的数据后面一起进行传输。如此处理,解决了传统编码方式中纠正码将被穿插在数据位中传输,传输方式繁琐的问题。
针对前述的第二个缺点,如前面所说,在数据屏蔽的情况下,存入的错误纠正编码是没有意义的。既然这个时候的错误纠正编码是没有意义的,可以使用该编码存入特定的信息,来表示该编码为有数据屏蔽情况下的编码,而不是正常写入的时候的编码。因此,必须对编码进行规定,以区别数据屏蔽情况下的编码和正常写入的时候的编码。本申请设置特殊的错误纠正编码表,使得正常编码时的错误纠正编码有特定规律;在有数据屏蔽的情况下,则违反该规律。
参考图3,如果对S0~S7做异或,其本质为对图中所有标识为“1”的数据进行异或操作。需要注意的是,有些数据的异或不仅仅需要一次。如图3,设置特定的错误编码表,计算S0~S7的异或值,这个过程意味着,每一个数据需要自己和自己做四次异或,然后再把每一个数据四次异或之后的结果做一个总的异或。由于每一个数据自己和自己做四次异或的结果都为0,所以最后总的异或结果也为0(因为必然有偶数个“1”数据),即S0~S7的异或结果为0。当有数据屏蔽时,则人为设定S0~S7的值有奇数个“1”,则对S0~S7做异或操作的结果为1,从而和正常根据错误纠正编码表得到的纠正码区分开。在做读操作的时候,可以根据纠正码的值,选择不同的操作。具体处理方式如下:
1)纠正码符合数据屏蔽时纠正码的特点,则数据直接读出。有两种情况:如果纠正码错了1位,则说明是正常的编码过程,但错误的数据在纠正码上(我们只考虑有一位数据错误的情况)。因此数据可以直接读出;如果纠正码没有错误,则说明是数据屏蔽的情况,则数据也可以直接读出。
2)纠正码符合正常编码时纠正码的特点,则数据进行纠错过程。有两种情况:如果纠正码错了1位,则说明是数据屏蔽的情况,进行纠错过程可能会导致最终读出的数据发生错误;如果纠正码没有错误,则说明是正常的编码过程,数据可以正常进行纠错过程。
为了避免上述过程的错误情况,本实施例在8位第一纠正码中取出几位(作为第二纠正码)(大于等于4,小于等于8)分成两组,每组至少有2位。
在步骤102处,基于预设规则对所述第二纠正码进行编码,使每组中的所述第二纠正码之间的异或值为0。
在步骤103处,当进行数据屏蔽时,对所述第二纠正码重新进行编码,使每组中的所述第二纠正码之间的异或值为1。
具体地,设定特定的错误纠正编码表,使得两组第二纠正码做异或,其值都为“0”;而当有数据屏蔽的情况的时候,设定该两组第二纠正码的值,使其异或的值都为“1”,从而可以区分有数据屏蔽的情况以及正常编码的情况。对读出数据的具体处理方式如图4。
在步骤104处,将所述目标数据和所述第一纠正码写入存储阵列。
在步骤105处,从所述存储阵列中读取所述目标数据和对应的所述第一纠正码,分别获取每组的所述第二纠正码之间的异或值,基于获取的异或值判断是否进行数据纠错过程。
具体地,以4位第二纠正码为例,如图4所示,8位第一纠正码中的S0和S1被分为一组,S2和S3被分为一组。S0和S1的取值只能为00或者11,S2和S3的取值只能为00或者11。根据上述规则可以得到上图的编码方式,按图中编码方式对S0和S1进行异或,将这个值命名为X0,则X0一定为0;S2和S3同理,将异或值命名为X1,则X1也一定为0。即在正常写入的过程中,X0X1的值为00。在发生数据屏蔽时,人为设置S0,S2为1,S1,S3为0,那么X0X1的值为11。这样通过X0X1,可以和正常根据错误纠正编码表得到的纠正码区分开。这样在读出数据的时候只要看纠错码就可以分辨数据有没有发生数据屏蔽。
在一些实施例中,基于获取的异或值判断是否进行所述数据纠错过程的方法包括:
当获取的异或值中至少一位为0时,进行所述数据纠错过程;
当获取的异或值中每位均为1时,直接读出所述目标数据,不进行所述数据纠错过程。
具体地,如果编码表有一位发生了错误,若为S0或S1的编码发生了错误,X0X1为01;若为S2或S3的编码发生了错误,X0X1为10。此时可以和发生数据屏蔽纠正码(X0X1为11)区分开。处理流程参考图5,当X0X1为10、01或者00时,目标数据进行数据纠错过程;当X0X1为11时,目标数据不进行数据纠错过程,直接读出。
在一些实施例中,所述数据纠错过程包括:
对读取的所述目标数据进行编码,生成第三纠正码,将所述第一纠正码和所述第三纠正码进行比较,根据比较结果判断是否对所述目标数据进行修正。在一些实施例中,第三纠正码为8比特汉明码。具体实施方式参考前述对汉明码编码原理的介绍,此处不再赘述。
通过上述方法,不另外设置固定的数据屏蔽位,每位纠正码都有自己的编码方式,是否发生数据屏蔽由从第一纠正码中选取的第二纠正码的异或值来判断,选取至少四位作为第二纠正码,将所述第二纠正码分成两组,每组中至少两位所述第二纠正码,有效避免了发生数据屏蔽判断出错的情况,在特殊情况(一位纠正码编码表发生错误)发生时,仍然可以区分正常读写和发生数据屏蔽;同时,所有的第一纠正码又都具有纠错能力,避免了固定设置数据屏蔽位造成纠正码可以纠错的数据数量减少的问题。
进一步,通过将纠正码从数据串中分离出来单独传输,降低了传输过程的复杂程度。
图6为本申请实施例提供的一种针对数据屏蔽的纠错装置的模块框图。该装置包括:
存储器201;以及与所述存储器201连接的处理器202,所述处理器202被配置成:获取目标数据,基于所述目标数据,生成对应的第一纠正码,从所述第一纠正码中选取至少四位作为第二纠正码,将所述第二纠正码分成两组,每组中至少两位所述第二纠正码;
基于预设规则对所述第二纠正码进行编码,使每组中的所述第二纠正码之间的异或值为0;
当进行数据屏蔽时,对所述第二纠正码重新进行编码,使每组中的所述第二纠正码之间的异或值为1;
将所述目标数据和所述第一纠正码写入存储阵列;
从所述存储阵列中读取所述目标数据和对应的所述第一纠正码,分别获取每组的所述第二纠正码之间的异或值,基于获取的异或值判断是否进行数据纠错过程。
在一些实施例中,所述处理器202还被配置成:基于获取的异或值判断是否进行所述数据纠错过程的方法包括:
当获取的异或值中至少一位为0时,进行所述数据纠错过程;
当获取的异或值中每位均为1时,直接读出所述目标数据,不进行所述数据纠错过程。
在一些实施例中,所述处理器202还被配置成:所述数据纠错过程包括:
对读取的所述目标数据进行编码,生成第三纠正码,将所述第一纠正码和所述第三纠正码进行比较,根据比较结果判断是否对所述目标数据进行修正。
在一些实施例中,所述处理器202还被配置成:所述第一纠正码和第三纠正码均为8比特汉明码。
具体实现方法参考前述方法实施例,此处不再赘述。
本申请可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本申请的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本申请操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本申请的各个方面。
这里参照根据本申请实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
注意,除非另有直接说明,否则本说明书(包含任何所附权利要求、摘要和附图)中所揭示的所有特征皆可由用于达到相同、等效或类似目的的可替代特征来替换。因此,除非另有明确说明,否则所公开的每一个特征仅是一组等效或类似特征的一个示例。在使用到的情况下,进一步地、较优地、更进一步地和更优地是在前述实施例基础上进行另一实施例阐述的简单起头,该进一步地、较优地、更进一步地或更优地后带的内容与前述实施例的结合作为另一实施例的完整构成。在同一实施例后带的若干个进一步地、较优地、更进一步地或更优地设置之间可任意组合的组成又一实施例。
虽然,上文中已经用一般性说明及具体实施例对本申请作了详尽的描述,但在本申请基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本申请精神的基础上所做的这些修改或改进,均属于本申请要求保护的范围。
Claims (9)
1.一种针对数据屏蔽的纠错方法,其特征在于,包括以下步骤:
获取目标数据,基于所述目标数据,生成对应的第一纠正码,从所述第一纠正码中选取至少四位作为第二纠正码,将所述第二纠正码分成两组,每组中至少两位所述第二纠正码;
基于预设规则对所述第二纠正码进行编码,使每组中的所述第二纠正码之间的异或值为0;
当进行数据屏蔽时,对所述第二纠正码重新进行编码,使每组中的所述第二纠正码之间的异或值为1;
将所述目标数据和所述第一纠正码写入存储阵列;
从所述存储阵列中读取所述目标数据和对应的所述第一纠正码,分别获取每组的所述第二纠正码之间的异或值,基于获取的异或值判断是否进行数据纠错过程。
2.根据权利要求1所述的针对数据屏蔽的纠错方法,其特征在于,基于获取的异或值判断是否进行所述数据纠错过程的方法包括:
当获取的异或值中至少一位为0时,进行所述数据纠错过程;
当获取的异或值中每位均为1时,直接读出所述目标数据,不进行所述数据纠错过程。
3.根据权利要求1或2所述的针对数据屏蔽的纠错方法,其特征在于,所述数据纠错过程包括:
对读取的所述目标数据进行编码,生成第三纠正码,将所述第一纠正码和所述第三纠正码进行比较,根据比较结果判断是否对所述目标数据进行修正。
4.根据权利要求3所述的针对数据屏蔽的纠错方法,其特征在于,
所述第一纠正码和第三纠正码均为8比特汉明码。
5.一种针对数据屏蔽的纠错装置,其特征在于,包括:
存储器;以及
与所述存储器连接的处理器,所述处理器被配置成:
获取目标数据,基于所述目标数据,生成对应的第一纠正码,从所述第一纠正码中选取至少四位作为第二纠正码,将所述第二纠正码分成两组,每组中至少两位所述第二纠正码;
基于预设规则对所述第二纠正码进行编码,使每组中的所述第二纠正码之间的异或值为0;
当进行数据屏蔽时,对所述第二纠正码重新进行编码,使每组中的所述第二纠正码之间的异或值为1;
将所述目标数据和所述第一纠正码写入存储阵列;
从所述存储阵列中读取所述目标数据和对应的所述第一纠正码,分别获取每组的所述第二纠正码之间的异或值,基于获取的异或值判断是否进行数据纠错过程。
6.根据权利要求5所述的针对数据屏蔽的纠错装置,其特征在于,所述处理器还被配置成:
基于获取的异或值判断是否进行所述数据纠错过程的方法包括:
当获取的异或值中至少一位为0时,进行所述数据纠错过程;
当获取的异或值中每位均为1时,直接读出所述目标数据,不进行所述数据纠错过程。
7.根据权利要求5或6所述的针对数据屏蔽的纠错装置,其特征在于,所述处理器还被配置成:
所述数据纠错过程包括:
对读取的所述目标数据进行编码,生成第三纠正码,将所述第一纠正码和所述第三纠正码进行比较,根据比较结果判断是否对所述目标数据进行修正。
8.根据权利要求7所述的针对数据屏蔽的纠错装置,其特征在于,所述处理器还被配置成:
所述第一纠正码和第三纠正码均为8比特汉明码。
9.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被机器执行时实现如权利要求1至4中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310093549.9A CN115987304A (zh) | 2023-01-31 | 2023-01-31 | 一种针对数据屏蔽的纠错方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310093549.9A CN115987304A (zh) | 2023-01-31 | 2023-01-31 | 一种针对数据屏蔽的纠错方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115987304A true CN115987304A (zh) | 2023-04-18 |
Family
ID=85968064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310093549.9A Pending CN115987304A (zh) | 2023-01-31 | 2023-01-31 | 一种针对数据屏蔽的纠错方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115987304A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117931786A (zh) * | 2024-01-30 | 2024-04-26 | 深圳市优讯龙腾科技有限公司 | 一种数字化的多功能平台交互管理方法、系统及存储介质 |
-
2023
- 2023-01-31 CN CN202310093549.9A patent/CN115987304A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117931786A (zh) * | 2024-01-30 | 2024-04-26 | 深圳市优讯龙腾科技有限公司 | 一种数字化的多功能平台交互管理方法、系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4817095A (en) | Byte write error code method and apparatus | |
US9195551B2 (en) | Enhanced storage of metadata utilizing improved error detection and correction in computer memory | |
US4740968A (en) | ECC circuit failure detector/quick word verifier | |
US8635508B2 (en) | Systems and methods for performing concatenated error correction | |
EP2218003B1 (en) | Correction of errors in a memory array | |
JP2003507985A (ja) | 2ビット・エラーを検出し、構成要素の障害によるエラーを訂正するためのシステムおよび方法 | |
US9208027B2 (en) | Address error detection | |
CN103594120B (zh) | 以读代写的存储器纠错方法 | |
US10191801B2 (en) | Error correction code management of write-once memory codes | |
US20160328285A1 (en) | Error vector readout from a memory device | |
CN109947674B (zh) | 数据处理器件和数据处理方法 | |
US20180151197A1 (en) | Error correction code encoder, encoding method, and memory controller including the encoder | |
US9733870B2 (en) | Error vector readout from a memory device | |
CN115987304A (zh) | 一种针对数据屏蔽的纠错方法、装置及存储介质 | |
CN106528437B (zh) | 数据储存系统与其相关方法 | |
CN115729746A (zh) | 一种基于crc和ecc存储数据保护方法 | |
US8429485B2 (en) | Method and apparatus for detecting free page and a method and apparatus for decoding error correction code using the method and apparatus for detecting free page | |
US5550849A (en) | Method and apparatus for detecting single or multiple bit errors instorage devices | |
US5938773A (en) | Sideband signaling with parity bit schemes | |
CN111464267B (zh) | 通信数据校验方法、装置、计算机设备和存储介质 | |
CN110896309A (zh) | Turbo乘积码的译码方法、装置、译码器及计算机存储介质 | |
CN115412103B (zh) | 一种针对数据屏蔽的纠错方法、装置及存储介质 | |
US8028221B2 (en) | Error correction and error detection method for reading of stored information data and a storage control unit for the same | |
CN112133362B (zh) | 存储器存储装置及其存储器测试方法 | |
US10250279B2 (en) | Circuits and methods for writing and reading data |
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 |