CN102043683B - 一种智能卡内存中数据运算的方法及一种智能卡 - Google Patents
一种智能卡内存中数据运算的方法及一种智能卡 Download PDFInfo
- Publication number
- CN102043683B CN102043683B CN 201010607529 CN201010607529A CN102043683B CN 102043683 B CN102043683 B CN 102043683B CN 201010607529 CN201010607529 CN 201010607529 CN 201010607529 A CN201010607529 A CN 201010607529A CN 102043683 B CN102043683 B CN 102043683B
- Authority
- CN
- China
- Prior art keywords
- packet
- check bit
- bit
- computing
- information bit
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供了一种智能卡内存中数据运算的方法,包括:针对参与内存运算的数据设置数据分组,所述数据分组中包括信息位与校验位;在当前数据分组参与内存运算前,针对当前未参与运算的其它数据分组中的信息位,获取对应的校验位;在当前数据分组运算完成后,依据所述信息位及校验位校验其它数据分组是否发生跳变。本发明可以对智能卡内存中的数据进行防跳变保护,提高智能卡使用的安全性。
Description
技术领域
本发明涉及智能卡的技术领域,特别是涉及一种智能卡内存中数据运算的方法及一种智能卡。
背景技术
智能卡又称为IC卡,英文名称为SMART card或Integrated CircuitCard。智能卡中集成了微处理器CPU、存储单元(包括随机存储器RAM、程序存储器ROM(FLASH)、用户数据存储器EEPROM等)以及芯片操作系统COS(chipoperating system),构成一个完整的计算机系统。近年来,智能卡在电信,交通,金融等领域得到了广泛应用。
智能卡在处理外部指令时,会将本身存储的数据和从外部接收的数据先放入内存。然而在某些情况下,内存会发生跳变,从而使得内存中的数据也会发生变化,此时如果存放在内存中的数据是关键数据,如电子钱包余额等,将给智能卡的应用带来很大的影响。
以电子钱包余额这种关键数据为例,智能卡应用中的电子钱包本来是存储在EEPROM中的。当进行刷卡消费或存款等操作时,就需要将EEPROM中的钱包金额放入内存中进行运算,通常,电子钱包金额可能由多个数据分组组成,但在对金额进行加减操作时,只能将金额的每个数据分组依次放入累加器中进行运算,若此时内存发生跳变,则未参与运算的其它数据分组可能发生跳变,但卡片不会发现此错误,只会直接把运算后的结果存储在EEPROM中的钱包文件中。
例如,在刷卡消费前,数据都正确,钱包金额为100元,刷卡消费2元,在刷卡消费过程中,由于数据进入内存运算时内存发生跳变导致计算出错,刷卡消费完成后,读钱包余额却发现钱包余额为300元。由于卡片无法检测逻辑计算结果是否正确,因此卡片无法发现结果错误。
因而,目前需要本领域技术人员解决的一个技术问题就是:如何能够创新地提出一种智能卡内存中数据运算的机制,以对智能卡内存中的数据进行防跳变保护,提高智能卡使用的安全性。
发明内容
本发明所要解决的技术问题是提供一种智能卡内存中数据运算的方法,用以对智能卡内存中的数据进行防跳变保护,提高智能卡使用的安全性。
本发明还提供了一种智能卡,用以保证上述方案在实际中的应用。
为了解决上述问题,本发明公开了一种智能卡内存中数据运算的方法,包括:
针对参与内存运算的数据设置数据分组,所述数据分组中包括信息位与校验位;
根据所述数据分组设置校正因子,并保存所述校正因子与数据分组中各信息位和校验位的对应关系;
依据所述校正因子与数据分组中各信息位和校验位的对应关系,生成所述数据分组中信息位与校验位的对应关系;
在当前数据分组参与内存运算前,针对当前未参与运算的其它数据分组中的信息位,获取对应的校验位;
在当前数据分组运算完成后,依据所述信息位及校验位校验其它数据分组是否发生跳变;
其中,所述依据信息位及校验位校验其它数据分组是否发生跳变的步骤包括:
依据数据分组中的信息位及校验位计算校正因子;
依据所述校正因子校验该数据分组是否发生跳变。
优选的,所述的方法,还包括:
若校验到某个数据分组发生跳变,则对该数据分组进行纠错。
优选的,所述的方法,还包括:
在进行纠错后,返回出错数据分组的信息。
优选的,所述的方法,还包括:
若校验到某个数据分组发生跳变,则返回内存错误信息,并终止运算。
优选的,在当前数据分组参与内存运算前,还包括:
将所述获取到的校验位保存在内存中的固定位置。
优选的,所述的方法,还包括:
存储所述信息位与校验位的对应关系。
优选的,所述对数据分组进行纠错的步骤包括:
若依据所述校正因子判定当前数据分组发生跳变,则依据所述校正因子与数据分组中信息位或校验位的对应关系,对相应位置的数据进行纠错。
本发明实施例还公开了一种智能卡内存中数据运算的系统,包括:
设置模块,用于针对参与内存运算的数据设置数据分组,所述数据分组中包括信息位与校验位;
校正因子预置模块,用于根据所述数据分组设置校正因子,并保存所述校正因子与数据分组中各信息位和校验位的对应关系;
对应关系生成模块,用于依据所述校正因子与数据分组中各信息位和校验位的对应关系,生成所述数据分组中信息位与校验位的对应关系;
获取模块,用于在当前数据分组参与内存运算前,针对当前未参与运算的其它数据分组中的信息位,获取对应的校验位;
检测模块,用于在当前数据分组运算完成后,依据所述信息位及校验位校验其它数据分组是否发生跳变;
所述检测模块包括:
校正因子计算子模块,用于依据数据分组中的信息位及校验位计算校正因子;
校验子模块,用于依据所述校正因子校验该数据分组是否发生跳变。
优选的,所述的系统,还包括:
纠错模块,用于在校验到某个数据分组发生跳变时,对该数据分组进行纠错。
优选的,所述的系统,还包括:
错误信息提示模块,用于在进行纠错后,返回出错数据分组的信息。
优选的,所述的系统,还包括:
错误处理模块,用于在校验到某个数据分组发生跳变时,返回内存错误信息,并终止运算。
优选的,所述的系统,还包括:
保存模块,用于将所述获取到的校验位保存在内存中的固定位置。
优选的,所述的系统,还包括:
记录模块,用于存储所述信息位与校验位的对应关系。
优选的,所述纠错模块包括:
定位修改子模块,用于在依据所述校正因子判定当前数据分组发生跳变时,依据所述校正因子与数据分组中信息位或校验位的对应关系,对相应位置的数据进行纠错。
与现有技术相比,本发明具有以下优点:
本发明针对参与内存运算的数据,尤其是参与内存运算的关键数据,设置包括信息位和校验位的数据分组,并记录各个数据分组的信息位和校验位的对应关系;在数据中的某一个数据分组参与运算前,获取数据中没有参与运算的其它数据分组的信息位和校验位的状态;在该数据分组的运算完成后,依据所述信息位及校验位校验其它数据分组是否发生跳变;如果某个数据分组跳变,则提供错误信息、终止交易或者进行纠错,从而防止卡片在进行数据中某个数据分组操作时,其它数据分组发生跳变的情况,提高智能卡应用的安全性。
附图说明
图1是本发明的一种智能卡内存中数据运算的方法实施例1的步骤流程图;
图2是本发明的一种智能卡内存中数据运算的方法实施例2的步骤流程图;
图3是本发明的一种智能卡内存中数据运算的方法实施例3的步骤流程图;
图4是本发明的一种智能卡内存中数据运算的系统实施例1的结构框图;
图5是本发明的一种智能卡内存中数据运算的系统实施例2的结构框图;
图6是本发明的一种智能卡的结构图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例的核心构思之一在于,针对参与内存运算的数据,尤其是参与内存运算的关键数据,在数据中的某一个数据分组参与运算后,对数据中没有参与运算的其它数据分组进行校验,如果检测到异常,则提供错误信息、终止交易或者进行纠错,从而防止卡片在进行数据中某个数据分组操作时,其它数据分组发生跳变的情况,提高智能卡应用的安全性。
参考图1,示出了本发明的一种智能卡内存中数据运算的方法实施例1的流程图,具体可以包括以下步骤:
步骤101、针对参与内存运算的数据设置数据分组,所述数据分组中包括信息位与校验位;
步骤102、在当前数据分组参与内存运算前,针对当前未参与运算的其它数据分组中的信息位,获取对应的校验位;
步骤103、在当前数据分组运算完成后,依据所述信息位及校验位校验其它数据分组是否发生跳变。
应用本发明实施例,首先需要针对当前参与内存运算的数据划分信息位,并针对信息位计算其对应的校验位,以生成由信息位及对应校验位组成的数据分组,内存运算即以数据分组为单位。在实际中优选的是,一个数据分组中的信息位可以为半个字节(4个信息位)、1个字节(8个信息位)、或2个字节(16个信息位),校验位则可依据当前采用的校验方法来设定,如1位、3位、6位等,本领域技术人员依据实际情况设置即可,本发明对此均不作限制。
在具体实现中,当某一个数据分组参与运算前,需要针对没有参与运算的数据分组中的信息位分别提取其对应的校验位,并存储在内存中的固定位置。然后将当前要运算的数据分组送入累加器进行运算。
在当前数据分组的运算完成,从寄存器中放回内存中对应位置后,对其它没有参与运算的数据分组中的信息位及校验位进行检测。在实际中,检测方法可以采用奇偶校验,前向纠错等,本领域技术人员依据应用需要采用任一种方式均可行,本发明对此无需加以限制。
如果检测没有发现错误,表示没有参与运算的数据没有发生跳变,则继续对其它还没有运算的数据进行运算,直到所有数据参与完运算为止。如果检测发现错误,则提供错误信息、终止交易或者进行纠错。
作为本发明的一种优选实施例,所述各数据分组与校验位的对应关系可以存储在程序存储器ROM或用户数据存储器EEPROM中。
参考图2,示出了本发明的一种智能卡内存中数据运算的方法实施例2的流程图,具体可以包括以下步骤:
步骤201、针对参与内存运算的数据设置数据分组,所述数据分组中包括信息位与校验位;
步骤202、根据所述数据分组设置校正因子,并保存所述校正因子与数据分组中各信息位或校验位的对应关系;
步骤203、依据所述校正因子与数据分组的对应关系,生成所述数据分组中信息位与校验位的对应关系;
步骤204、保存所述信息位与校验位的对应关系;
步骤205、在当前数据分组参与内存运算前,针对当前未参与运算的其它数据分组中的信息位,获取对应的校验位;
步骤206、在当前数据分组运算完成后,依据数据分组中的信息位及校验位计算校正因子;
步骤207、依据所述校正因子校验该数据分组是否发生跳变,若是,则执行步骤208;
步骤208、若依据所述校正因子判定当前数据分组发生跳变,则依据所述校正因子与数据分组中信息位或校验位的对应关系,对相应位置的数据进行纠错;
步骤209、在进行纠错后,返回出错数据分组的信息。
若检测没有发生错误,则返回步骤205继续对下一数据分组进行运算
应用本实施例对没有参与运算的数据分组进行校验,不仅可以发现错误,而且具有一定的纠错能力。在实际中,所采用的检测方法可以是前向纠错方法。
为使本领域技术人员更好地理解本发明,以下通过一个具体例子进一步说明本实施例。
假设n=7,r=4,k=3。n表示待校验数据分组的信息位和校验位的位数,r表示待校验数据分组的信息位的位数,k表示校验位的位数。
步骤S1、首先确定校正因子与待校验数据分组的信息位之间的对应关系,假设该对应关系如以下表一所示:
表一:
S1,S2,S3 | 信息位 | S1,S2,S3 | 信息位 |
0,0,0 | 无错 | 1,0,0 | a1 |
0,0,1 | a2 | 1,0,1 | a5 |
0,1,0 | a4 | 1,1,0 | a3 |
0,1,1 | a6 | 1,1,1 | a7 |
上述对应关系确定后,可用二维数组的方式将该对应关系矩阵存储在EEPROM中,或者ROM中。存储后对应关系将不能跳变,但并不会影响数据的校验。
步骤S2:根据步骤S1确定的校正因子与待校验数据分组的信息位的对应关系,可推出待校验数据分组的信息位与校验位的线性关系。
例如,通过上述表一可以确定校正因子S1,S2,S3与校验位a1,a2,a3,以及,待校验数据分组的信息位a4,a5,a6,a7的线性关系,具体可以通过以下公式表示:
S1=a1+a3+a5+a7;
S2=a3+a4+a6+a7;
S3=a2+a5+a6+a7
如果没有错误发生,即可得到线性关系矩阵:
将上述关系矩阵进行适当变化后,就可以得到校验位和信息位之间的关系矩阵:
根据上面两个线性关系,就可以得到16个可用的、体现信息位与校验位对应关系的编码,如以下表二所示:
表二:
信息位 | 校验位 | 信息位 | 校验位 | 信息位 | 校验位 | 信息位 | 校验位 |
a4a5a6a7 | a1a2a3 | a4a5a6a7 | a1a2a3 | a4a5a6a7 | a1a2a3 | a4a5a6a7 | a1a2a3 |
0000 | 000 | 0100 | 011 | 1000 | 110 | 1100 | 101 |
0001 | 011 | 0101 | 000 | 1001 | 101 | 1101 | 110 |
0010 | 001 | 0110 | 010 | 1010 | 111 | 1110 | 100 |
0011 | 010 | 0111 | 010 | 1011 | 100 | 1111 | 111 |
需要说明的是,由于进入内存中运算的数据的值是随机分配的,所以校验位的值由数据决定。未在表二中出现的信息位和校验位的组合,即说明出现了错误。
将待校验数据分组的信息位与校验位的关系矩阵存储在ROM或者EEPROM中。此线性关系可以固定。
步骤S3、在参与内存运算某个数据分组发生运算前,将内存中没有参与运算的其它数据分组根据步骤S2确定的线性关系式进行信息位分组,用查表(表二)的方式查找每组信息位对应的校验位,将查找得到的校验位存储在内存中固定位置。然后执行步骤S4。
步骤S4:在当前数据分组的运算完成后,对其它没有参与运算的每个数据分组的信息位及其对应的校验位,计算校正因子。在本例中,如果每个信息位分组的校正因子都为0,则表示没有参与运算的关键数据没有发生内存跳变。执行步骤S6;否则执行步骤S5。
例如,当某个数据分组发生运算后,计算出其它数据分组各自的校验因子S1,S2和S3,如不全为0,则可按表一确定误码的位置,然后予以纠正。例如,校验位(a1a2a3)和待校验数据分组的信息位(a4a5a6a7)为0000011,根据校正因子的线性关系式可算出S1,S2,S3=100,通过查表一即可获知在a1位置上有一误码。
步骤S5、当校正因子不全为0时,根据步骤S1确定的对应关系矩阵,用查表的方式找出数据分组或者校验位的错误位,进行纠正。在发送纠正情况后,卡片可以让交易继续进行,同时还可以进一步返回发生纠正的错误码,以便后续从逻辑上判断在发生内存跳变的情况下,纠正是否正确。
步骤S6、此时再对其它没有参与运算的数据分组进行运算,返回步骤S3。
参考图3,示出了本发明的一种智能卡内存中数据运算的方法实施例3的流程图,其中,参与内存运算的数据具有多个数据分组,本实施例具体可以包括以下步骤:
步骤301、针对参与内存运算的数据设置数据分组,所述数据分组中包括信息位与校验位;
步骤302、存储所述信息位与校验位的对应关系;
步骤303、在当前数据分组参与内存运算前,针对当前未参与运算的其它数据分组中的信息位,获取对应的校验位;
步骤304、在当前数据分组运算完成后,依据所述信息位及校验位校验其它数据分组是否发生跳变;若是,则执行步骤305;否则,返回步骤303继续对下一运算数据分组进行处理。
步骤305、若校验到某个数据分组发生跳变,则返回内存错误信息,并终止运算。
应用本实施例对没有参与运算的数据进行校验,可以及时发现错误,而且比较快速,需要额外占用的内存小,在实际中,所采用的检测方法可以是奇偶校验方法。
公知的是,内存中最小的单位是比特,也称为“位”,位有只有两种状态分别以1和0来标示,每8个连续的比特叫做一个字节(byte)。不带奇偶校验的内存每个字节只有8位,如果其某一位存储了错误的值,就会导致其存储的相应数据发生变化。而奇偶校验就是在每一字节(8位)之外又增加了一位作为错误检测位。在某字节中存储数据之后,在其8个位上存储的数据是固定的,因为位只能有两种状态1或0,假设存储的数据用位标示为1、1、1、0、0、1、0、1,那么把每个位相加(1+1+1+0+0+1+0+1=5),结果是奇数。对于偶校验,校验位就定义为1,反之则为0;对于奇校验,则相反。当CPU读取存储的数据时,它会再次把前8位中存储的数据相加,计算结果是否与校验位相一致。从而一定程度上能检测出内存错误,奇偶校验只能检测出错误而无法对其进行修正。
在具体实现中,如果使用类似奇偶校验的方法,由于不知道错误发生的位置,所以不能对发现的错误进行纠正。此时应提示内存出现错误,终止交易进行。但其优势在于比较快速,需要额外占用内存小。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
参考图4,示出了本发明的一种智能卡内存中数据运算的系统实施例1的结构框图,具体可以包括以下模块:
设置模块401,用于针对参与内存运算的数据设置数据分组,所述数据分组中包括信息位与校验位;
获取模块402,用于在当前数据分组参与内存运算前,针对当前未参与运算的其它数据分组中的信息位,获取对应的校验位;
检测模块403,用于在当前数据分组运算完成后,依据所述信息位及校验位校验其它数据分组是否发生跳变。
应用本发明实施例,首先需要针对当前参与内存运算的数据划分信息位,并针对信息位计算其对应的校验位,以生成由信息位及对应校验位组成的数据分组,内存运算即以数据分组为单位。在实际中优选的是,一个数据分组中的信息位可以为半个字节(4个信息位)、1个字节(8个信息位)、或2个字节(16个信息位),校验位则可依据当前采用的校验方法来设定,如1位、3位、6位等,本领域技术人员依据实际情况设置即可,本发明对此均不作限制。
在具体实现中,本发明实施例还可以包括以下模块:
保存模块,用于将所述获取到的校验位保存在内存中的固定位置。
在当前数据分组的运算完成,从寄存器中放回内存中对应位置后,对其它没有参与运算的数据分组中的信息位及校验位进行检测。在实际中,检测方法可以采用奇偶校验,前向纠错等,本领域技术人员依据应用需要采用任一种方式均可行,本发明对此无需加以限制。
如果检测发现错误,在本发明的一种优选实施例中,可以通过纠错模块,在校验到某个数据分组发生跳变时,对该数据分组进行纠错。或者,更进一步通过错误信息提示模块,在进行纠错后,返回出错数据分组的信息。
作为本发明的另一种优选实施例,如果检测发现错误,还可以通过错误处理模块,在校验到某个数据分组发生跳变时,返回内存错误信息,并终止运算。
在具体实现中,为提高运算效率,还可以将所述各数据分组与校验位的对应关系存储在程序存储器ROM或用户数据存储器EEPROM中。
参考图5,示出了本发明的一种智能卡内存中数据运算的系统实施例2的结构框图,具体可以包括以下模块:
设置模块51,用于针对参与内存运算的数据设置数据分组,所述数据分组中包括信息位与校验位;
校正因子预置模块52,用于根据所述数据分组设置校正因子,并保存所述校正因子与数据分组中各信息位或校验位的对应关系;
对应关系生成模块53,用于依据所述校正因子与数据分组的对应关系,生成所述数据分组中信息位与校验位的对应关系;
记录模块54,用于存储所述信息位与校验位的对应关系;
获取模块55,用于在当前数据分组参与内存运算前,针对当前未参与运算的其它数据分组中的信息位,获取对应的校验位;
检测模块56,用于在当前数据分组运算完成后,依据所述信息位及校验位校验其它数据分组是否发生跳变。
纠错模块57,用于在校验到某个数据分组发生跳变时,对该数据分组进行纠错。
错误信息提示模块58,用于在进行纠错后,返回出错数据分组的信息。
在本实施例中,所述检测模块56可以包括以下子模块:
校正因子计算子模块561,用于依据数据分组中的信息位及校验位计算校正因子;
校验子模块562,用于依据所述校正因子校验该数据分组是否发生跳变。
所述纠错模块57可以包括以下子模块:
定位修改子模块571,用于在依据所述校正因子判定当前数据分组发生跳变时,依据所述校正因子与数据分组中信息位或校验位的对应关系,对相应位置的数据进行纠错。
应用本实施例对没有参与运算的数据进行校验,不仅可以发现错误,而且具有一定的纠错能力。
参考图6,示出了本发明的一种智能卡的结构图,该智能卡包括微处理器61、存储单元62以及芯片操作系统63,其特征在于,所述智能卡还包括内存中数据运算的系统64,参与内存运算的数据具有多个数据分组,所述内存中数据运算的系统64具体可以包括以下模块:
设置模块641,用于针对参与内存运算的数据设置数据分组,所述数据分组中包括信息位与校验位;
获取模块642,用于在当前数据分组参与内存运算前,针对当前未参与运算的其它数据分组中的信息位,获取对应的校验位;
检测模块643,用于在当前数据分组运算完成后,依据所述信息位及校验位校验其它数据分组是否发生跳变。
在本发明的一种优选实施例中,所述内存中数据运算的系统还可以包括以下模块:
纠错模块,用于在校验到某个数据分组发生跳变时,对该数据分组进行纠错。
更为优选的是,所述内存中数据运算的系统还可以包括以下模块:
错误信息提示模块,用于在进行纠错后,返回出错数据分组的信息。
作为本发明的另一种优选实施例中,所述内存中数据运算的系统还可以包括以下模块:
错误处理模块,用于在校验到某个数据分组发生跳变时,返回内存错误信息,并终止运算。
在具体实现中,所述内存中数据运算的系统还可以包括以下模块:
保存模块,用于将所述获取到的校验位保存在内存中的固定位置。
在本发明的一种优选实施例中,所述内存中数据运算的系统还可以包括以下子模块:
校正因子预置模块,用于根据所述数据分组设置校正因子,并保存所述校正因子与数据分组中各信息位或校验位的对应关系;
对应关系生成模块,用于依据所述校正因子与数据分组的对应关系,生成所述数据分组中信息位与校验位的对应关系;
记录模块,用于存储所述信息位与校验位的对应关系。
在这种情况下,所述检测模块可以包括以下子模块:
校正因子计算子模块,用于依据数据分组中的信息位及校验位计算校正因子;
校验子模块,用于依据所述校正因子校验该数据分组是否发生跳变。
所述纠错模块可以包括以下子模块:
定位修改子模块,用于在依据所述校正因子判定当前数据分组发生跳变时,依据所述校正因子与数据分组中信息位或校验位的对应关系,对相应位置的数据进行纠错。
需要说明的是,本说明书中各个实施例的描述都各有侧重,每个实施例重点说明的都是与其他实施例的不同之处,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。此外,对于系统和装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本发明所提供的一种智能卡内存中数据运算的方法、一种智能卡内存中数据运算的系统及一种智能卡进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有跳变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (14)
1.一种智能卡内存中数据运算的方法,其特征在于,包括:
针对参与内存运算的数据设置数据分组,所述数据分组中包括信息位与校验位;
根据所述数据分组设置校正因子,并保存所述校正因子与数据分组中各信息位和校验位的对应关系;
依据所述校正因子与数据分组中各信息位和校验位的对应关系,生成所述数据分组中信息位与校验位的对应关系;
在当前数据分组参与内存运算前,针对当前未参与运算的其它数据分组中的信息位,获取对应的校验位;
在当前数据分组运算完成后,依据所述信息位及校验位校验其它数据分组是否发生跳变;
其中,所述依据信息位及校验位校验其它数据分组是否发生跳变的步骤包括:
依据数据分组中的信息位及校验位计算校正因子;
依据所述校正因子校验该数据分组是否发生跳变。
2.如权利要求1所述的方法,其特征在于,还包括:
若校验到某个数据分组发生跳变,则对该数据分组进行纠错。
3.如权利要求2所述的方法,其特征在于,还包括:
在进行纠错后,返回出错数据分组的信息。
4.如权利要求1所述的方法,其特征在于,还包括:
若校验到某个数据分组发生跳变,则返回内存错误信息,并终止运算。
5.如权利要求1所述的方法,其特征在于,在当前数据分组参与内存运算前,还包括:
将所述获取到的校验位保存在内存中的固定位置。
6.如权利要求2或3所述的方法,其特征在于,还包括:
存储所述信息位与校验位的对应关系。
7.如权利要求2所述的方法,其特征在于,所述对数据分组进行纠错的步骤包括:
若依据所述校正因子判定当前数据分组发生跳变,则依据所述校正因子与数据分组中信息位或校验位的对应关系,对相应位置的数据进行纠错。
8.一种智能卡内存中数据运算的系统,其特征在于,包括:
设置模块,用于针对参与内存运算的数据设置数据分组,所述数据分组中包括信息位与校验位;
校正因子预置模块,用于根据所述数据分组设置校正因子,并保存所述校正因子与数据分组中各信息位和校验位的对应关系;
对应关系生成模块,用于依据所述校正因子与数据分组中各信息位和校验位的对应关系,生成所述数据分组中信息位与校验位的对应关系;
获取模块,用于在当前数据分组参与内存运算前,针对当前未参与运算的其它数据分组中的信息位,获取对应的校验位;
检测模块,用于在当前数据分组运算完成后,依据所述信息位及校验位校验其它数据分组是否发生跳变;
所述检测模块包括:
校正因子计算子模块,用于依据数据分组中的信息位及校验位计算校正因子;
校验子模块,用于依据所述校正因子校验该数据分组是否发生跳变。
9.如权利要求8所述的系统,其特征在于,还包括:
纠错模块,用于在校验到某个数据分组发生跳变时,对该数据分组进行纠错。
10.如权利要求9所述的系统,其特征在于,还包括:
错误信息提示模块,用于在进行纠错后,返回出错数据分组的信息。
11.如权利要求8所述的系统,其特征在于,还包括:
错误处理模块,用于在校验到某个数据分组发生跳变时,返回内存错误信息,并终止运算。
12.如权利要求8所述的系统,其特征在于,还包括:
保存模块,用于将所述获取到的校验位保存在内存中的固定位置。
13.如权利要求9或10所述的系统,其特征在于,还包括:
记录模块,用于存储所述信息位与校验位的对应关系。
14.如权利要求9所述的系统,其特征在于,所述纠错模块包括:
定位修改子模块,用于在依据所述校正因子判定当前数据分组发生跳变时,依据所述校正因子与数据分组中信息位或校验位的对应关系,对相应位置的数据进行纠错。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010607529 CN102043683B (zh) | 2010-12-27 | 2010-12-27 | 一种智能卡内存中数据运算的方法及一种智能卡 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010607529 CN102043683B (zh) | 2010-12-27 | 2010-12-27 | 一种智能卡内存中数据运算的方法及一种智能卡 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102043683A CN102043683A (zh) | 2011-05-04 |
CN102043683B true CN102043683B (zh) | 2013-04-24 |
Family
ID=43909836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010607529 Expired - Fee Related CN102043683B (zh) | 2010-12-27 | 2010-12-27 | 一种智能卡内存中数据运算的方法及一种智能卡 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102043683B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473144A (zh) * | 2013-08-14 | 2013-12-25 | 深圳市宇川智能系统有限公司 | 一种ic卡消费机的数据纠错方法 |
CN107844384A (zh) * | 2016-09-20 | 2018-03-27 | 卡斯柯信号有限公司 | 一种联锁安全数据的生成方法 |
CN109669805A (zh) * | 2018-12-24 | 2019-04-23 | 深圳忆联信息系统有限公司 | 减少校验比特位数的方法、装置、计算机设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477481A (zh) * | 2009-02-06 | 2009-07-08 | 中国科学院计算技术研究所 | 一种自动纠错系统及方法 |
CN101546291A (zh) * | 2009-05-12 | 2009-09-30 | 华为技术有限公司 | 提高内存数据健壮性的存取方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8024639B2 (en) * | 2006-06-23 | 2011-09-20 | Schweitzer Engineering Laboratories, Inc. | Software and methods to detect and correct data structure |
-
2010
- 2010-12-27 CN CN 201010607529 patent/CN102043683B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477481A (zh) * | 2009-02-06 | 2009-07-08 | 中国科学院计算技术研究所 | 一种自动纠错系统及方法 |
CN101546291A (zh) * | 2009-05-12 | 2009-09-30 | 华为技术有限公司 | 提高内存数据健壮性的存取方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102043683A (zh) | 2011-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107423278A (zh) | 评价要素的识别方法、装置及系统 | |
CN102043683B (zh) | 一种智能卡内存中数据运算的方法及一种智能卡 | |
EP0793174A2 (en) | Error detection and correction method and apparatus for computer memory | |
CN104714950A (zh) | 用于对数据库中的信息进行修正及补充的方法及系统 | |
CN111796907A (zh) | 基于检核脚本的数据检核方法、装置、电子设备以及介质 | |
CN102681936B (zh) | 一种针对金融系统测试结果的验证方法及装置 | |
CN105912602A (zh) | 一种基于实体属性的真值发现方法 | |
CN101833513A (zh) | 一种数据帧的存储方法、装置以及读取方法、装置 | |
CN115062788A (zh) | 一种线性模型的参数更新方法及相关装置 | |
CN113283233B (zh) | 文本纠错方法、装置、电子设备和存储介质 | |
CN102170649A (zh) | Pdcch盲检测装置方法及装置 | |
CN104298572A (zh) | 一种纠错方法、装置和系统 | |
CN109753369A (zh) | 一种寄存器及内存中顺序数组的数据编码及校验方法 | |
CN107622266B (zh) | 一种ocr识别的处理方法、存储介质和服务器 | |
CN110706108B (zh) | 在区块链中并发执行交易的方法和装置 | |
CN111526154A (zh) | 一种基于区块链网络的业务数据共享系统 | |
CN106920576A (zh) | 一种检验Nand Flash质量的方法及系统 | |
CN110515974A (zh) | 数据抽取方法、装置、计算机设备和存储介质 | |
CN104751362A (zh) | 一种订单提交方法及装置 | |
US8635566B2 (en) | Parity error detection verification | |
CN104378120A (zh) | 一种用于连续MBU检测的Hsiao编码校验矩阵生成方法 | |
CN102346711B (zh) | 内存组件及其制造方法 | |
CN102866963A (zh) | 控制器数据存储与读取方法 | |
CN109829750A (zh) | 公共交通交易信息处理方法、装置和计算机设备 | |
CN110414984A (zh) | 基于区块链的身份验证方法及相关产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100015 Beijing city Chaoyang District Dongzhimen West eight Street No. 2 room Wanhong Yan Dong Business Garden Patentee after: BEIJING WATCHDATA Co.,Ltd. Address before: 100015 Beijing city Chaoyang District Dongzhimen West eight Street No. 2 room Wanhong Yan Dong Business Garden Patentee before: BEIJING WATCH DATA SYSTEM Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130424 Termination date: 20211227 |
|
CF01 | Termination of patent right due to non-payment of annual fee |