CN101681310A - 错误检测控制系统 - Google Patents

错误检测控制系统 Download PDF

Info

Publication number
CN101681310A
CN101681310A CN200880015658A CN200880015658A CN101681310A CN 101681310 A CN101681310 A CN 101681310A CN 200880015658 A CN200880015658 A CN 200880015658A CN 200880015658 A CN200880015658 A CN 200880015658A CN 101681310 A CN101681310 A CN 101681310A
Authority
CN
China
Prior art keywords
error
data
detecting
handled
processing
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.)
Granted
Application number
CN200880015658A
Other languages
English (en)
Other versions
CN101681310B (zh
Inventor
大山茂郎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Publication of CN101681310A publication Critical patent/CN101681310A/zh
Application granted granted Critical
Publication of CN101681310B publication Critical patent/CN101681310B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F11/1008Adding 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/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk

Abstract

本发明提供非易失性存储器的错误检测控制系统,在某种程度确保数据的可靠性及耐篡改性、且不使错误检测处理的处理步骤及电路结构复杂,就能执行盖写处理。具有:非易失性存储器(10),其具有多个地址的量的数据区域,该数据区域按1地址的每一个由主数据区域和冗余数据区域构成;存储器控制单元(20),对非易失性存储器(10)进行如下处理的控制,即以数据区域组为单位的一并擦除处理、以数据区域为单位的读出处理、以数据区域为单位的写入处理及以位为单位的盖写处理;错误检测单元(30),基于对应的冗余数据对读出数据执行错误检测处理;错误检测控制单元(50),基于以是否是盖写处理的执行对象分类的数据类别或表示是否执行了盖写处理的存储状态,控制可否执行错误检测处理。

Description

错误检测控制系统
技术领域
本发明涉及具有非易失性存储器的半导体装置的错误检测控制系统,特别涉及具有:非易失性存储器、存储器控制单元以及错误检测单元的错误检测控制系统,其中,该非易失性存储器具有多个地址的量的数据区域,该数据区域按照每个地址由主数据区域和冗余数据区域构成,该存储器控制单元对非易失性存储器进行以数据区域组为单位的一并擦除处理、以数据区域为单位的读出处理、以数据区域为单位的写入处理、以及以位为单位的盖写处理的控制,该错误检测单元对读出数据基于对应的冗余数据执行错误检测处理。
背景技术
以往,例如在搭载了闪速存储器等非易失性存储器的半导体装置中,为确保数据的可靠性、或者确保针对为了电子证明信息或密码等秘密信息的读取等而进行的非法的数据篡改的耐篡改性,提出了各种技术。
在为了确保数据的可靠性或耐篡改性的技术中,例如,有如下技术:根据数据的各位(bit)结构生成奇偶校验码(parity code)或校验和(checksum)等错误检测码,使用错误检测码进行错误检测处理的检测技术;生成汉明(hamming)码等错误检测校正码,使用错误检测校正码进行错误检测处理以及错误校正处理的错误检测校正技术。
具体地说,在使用了错误检测码的错误检测技术中,例如,以如下方式构成闪速存储器:其具有多个地址的量的数据区域,该数据区域由用于按每一个地址存储预定的数据的主数据区域、和存储用于所述数据的错误检测处理的冗余数据的冗余数据区域构成。并且,在写入处理时,根据写入数据的各位结构生成错误检测码,将写入数据写入到主数据区域,并且,在冗余数据区域写入所需的信息。进而,在读出处理时,从闪速存储器中与读出数据一起读出对应的冗余数据,使用该冗余数据进行用于读出数据的错误检测的错误检测处理。此外,在使用了错误检测校正码的错误检测校正技术中,在写入处理时,根据写入数据的各位结构生成错误检测校正码,在读出处理时,在错误检测处理中检测到错误时,进行错误校正处理。
此外,错误检测技术的错误检测处理,例如在对电源施加噪声等,从闪速存储器读出的读出数据被非法篡改的情况下,对于检测该数据的篡改,确保耐篡改性是有用的。此外,在错误检测校正技术的错误校正处理中,例如,在长期保持在存储器中的数据随时间而劣化并产生读取不良等的情况下,由于能够修正数据,所以对确保数据的可靠性是有用的。
但是,在闪速存储器中,原理上在写入处理中以位为单位将值从作为擦除状态的“1”改写成作为写入状态的“0”,但是,不能够以位为单位将值从写入状态“0”变成擦除状态“1”。更具体地说,在从写入状态“0”变成擦除状态“1”的情况下,进行擦除处理,但是,擦除处理例如以由预定地址数的数据区域构成的存储块为单位一并进行。即,在擦除处理中,作为擦除对象的存储块中的所有位的值从“0”到“1”进行擦除,不能够以位为单位从“0”变为“1”。
因此,在数据是命令数据(命令代码)等的情况下,当一旦写入数据时,则在写入下一命令代码的写入处理之前,必须执行擦除处理。相对于此,存在如下情况:在数据是程序计数器等依次变化的数据的情况下,从处理速度高速化的观点出发,并不是按数据的写入处理的每一个执行擦除处理,而是在写入处理后,反复进行固定次数的将数据区域内的主数据区域的值以位为单位从“1”改写为“0”的盖写处理,然后执行擦除处理。
此外,在附加了用于错误检测码或错误检测校正码等的冗余数据的结构的情况下,错误检测码或错误检测校正码对应于主数据区域存储的数据的位结构而生成,所以,当执行针对主数据区域的以位为单位的盖写处理时,产生改写冗余数据的需要。但是,如上所述,在闪速存储器中,由于不能够进行以位为单位的从“0”到“1”的改写,所以,当执行针对数据的盖写处理时,产生不能够正确地改写冗余数据的情况。因此,在具有闪速存储器的以往的半导体存储装置中,不能够同时具有从数据的可靠性或耐篡改性的观点出发的有效的错误检测处理、和从处理速度的高速化的观点出发的有效的盖写处理。
作为同时具有错误检测处理和盖写处理用的技术,例如,存在如下错误检测技术(例如,参照专利文献1):由主数据区域、用于存储冗余数据的冗余数据区域、以及状态区域构成闪速存储器的各数据区域,在执行了数据区域整体的擦除处理、以及向主数据区域及冗余数据区域的写入处理之后,作为所谓盖写处理,对于状态区域,写入不需要针对主数据区域以及冗余数据区域的变更的数据。
此处,图11示出专利文献1中记载的利用错误检测技术的数据区域的值的转换例。此处的数据区域由4位的状态区域WS、4位的主数据区域WM、以及4位的冗余数据区域WP构成,在冗余数据区域WP中存储针对由状态区域WS以及主数据区域WM构成的8位的区域WF的错误检测校正码用的数据。
具体地说,图11(a)示出擦除处理后的数据区域,数据区域中的所有的位的值为“1”。图11(b)示出执行了擦除处理后的最初的写入处理后的数据区域的值。在该写入处理的例子中,在主数据区域WM写入值“1010”,在冗余数据区域WP中写入值“1001”。如上所述,写入到冗余数据区域WP中的值“1001”成为针对8位的区域WF的值“1111 1010”的错误检测校正码。
图11(c)示出所述盖写处理后(单一的位变更后)的数据区域的值。在该所谓盖写处理中,在状态区域WS中写入值“0001”。此处,8位的区域WF的值变为“0001 1010”,针对其的错误检测校正码的值为“1001”。这与冗余数据区域WP的值“1001”相等,所以,可知在所述盖写处理后,能够使用存储在冗余数据区域WP中的冗余数据“1001”,进行针对所谓盖写处理后的状态区域WS以及主数据区域WM构成的8位的区域WF中存储的数据“0001 1010”的错误检测处理。
专利文献1:日本专利申请特表2004-524636号公报
但是,在上述专利文献1记载的错误检测技术中,需要将与已经写入的主数据区域WM以及冗余数据区域WP的值具有匹配性的数据写入到状态区域WS中,所以,能够写入到状态区域WS中的数据的值被限制。具体地说,在图11所示的例子中,能够写入到状态区域WS中的值除了上述的值“0001”之外,仅是值“0100”。因此,例如,在移动通信中对内容数据进行下载,当该内容数据变为无效时,在状态区域WS写入表示该数据无效的无效标记“0001”的情况下等,状态区域WS的用途被显著限定。并且,在上述专利文献1记载的错误检测技术中,能够写入状态区域WS的值被限制,执行多次所谓盖写处理是困难的,所以,对于如上述的程序计数器那样,希望能够执行多个盖写处理的数据是不适用的。
此外,在上述专利文献1记载的错误检测技术中,如上所述,需要将与已经写入的主数据区域WM以及冗余数据区域WP的值具有匹配性的数据写入到状态区域WS,所以,与写入到状态区域WS中的值的生成相关的电路的电路结构变得复杂。
此外,在上述专利文献1记载的错误检测技术中,需要具有与主数据区域WM的位数对应的位数的状态区域WS,进而,为了也包含该状态区域WS来生成冗余数据,所以对冗余数据进行存储的冗余数据区域WP的位数也变多。即,随着这些区域的增加,所需的数据区域的数据量增加,需要增加相当量的闪速存储器的存储区域。
发明内容
本发明是鉴于上述问题而完成的,其目的在于提供一种非易失性存储器的错误检测控制系统,其在某种程度上确保数据的可靠性以及耐篡改性,并且,不使错误检测处理的处理步骤以及电路结构复杂化,就能够对应于数据的特性和状态执行盖写处理。
为了实现上述目的,本发明的错误检测控制系统,具有:非易失性存储器,其具有多个地址的量的数据区域,该数据区域按1地址的每一个由存储预定数据用的主数据区域、和对上述数据的错误检测处理用的冗余数据进行存储的冗余数据区域构成;存储器控制单元,对上述非易失性存储器进行如下处理的控制,即,以由预定地址数的上述数据区域构成的数据区域组为单位的一并擦除处理、以上述数据区域为单位的读出处理、以上述数据区域为单位的写入处理、以及针对上述写入处理后的上述主数据区域的以构成上述主数据区域的位为单位的盖写处理;错误检测单元,基于对应的上述冗余数据,对利用上述读出处理所读出的读出数据执行上述错误检测处理,该错误检测控制系统的第一特征在于,具有:错误检测控制单元,基于以是否是上述盖写处理的执行对象而被分类的数据类别,或者表示是否执行了上述盖写处理的存储状态,控制上述错误检测存储单元中的针对上述读出数据的上述错误检测处理的执行的可否。
上述特征的本发明的错误检测控制系统的第二特征在于,上述非易失性存储器的上述数据区域分别被设定为存储上述错误检测处理被禁止执行的上述数据的错误检测处理禁止数据区域、和存储上述错误检测处理被许可执行的上述数据的错误检测处理许可数据区域的任一种,上述错误检测控制单元在上述读出处理时,在成为上述读出处理的对象的上述数据区域即读出对象数据区域是上述错误检测处理禁止数据区域的情况下,禁止上述错误检测单元中的上述错误检测处理的执行,在上述读出对象数据区域是上述错误检测处理许可数据区域的情况下,许可上述错误检测单元中的上述错误检测处理的执行。
上述第一特征的本发明的错误检测控制系统的第三特征在于,上述存储器控制单元在上述读出处理时,对上述错误检测控制单元输出与该读出处理中的上述读出数据的上述数据类别对应的错误检测控制信号,上述错误检测控制单元在上述读出处理时,基于上述错误检测控制信号判定上述读出数据的上述数据类别是否是能执行上述盖写处理的上述数据类别,在是不能执行上述盖写处理的上述数据类别的情况下,许可上述错误检测单元中的上述错误检测处理,在是能执行上述盖写处理的上述数据类别的情况下,禁止上述错误检测单元中的上述错误检测处理,上述错误检测单元在上述错误检测控制单元许可执行针对上述读出数据的上述错误检测处理的情况下,使用对应的上述冗余数据,执行针对上述读出数据的上述错误检测处理。
上述特征的本发明的错误检测控制系统的第四特征在于,上述错误检测控制单元在上述错误检测控制信号是表示上述读出数据为命令数据的信号的情况下,许可执行上述错误检测处理,在上述错误检测控制信号是表示上述读出数据为程序计数器值的信号的情况下,禁止执行上述错误检测处理。
上述第一特征的本发明的错误检测控制系统的第五特征在于,上述非易失性存储器具有:按上述数据区域的每一个,存储上述错误检测处理的执行的可否的标志区域,上述错误检测控制单元在上述存储器控制单元进行上述盖写处理时,在与成为上述盖写处理的对象的上述数据区域对应的上述标志区域,设定上述错误检测处理的执行禁止标志。
上述第一特征的本发明的错误检测控制系统的第六特征在于,在上述非易失性存储器之外,具有:按上述数据区域的每一个能存储上述错误检测处理的执行的可否的寄存器,上述错误检测控制单元在上述存储器控制单元进行上述盖写处理时,在上述寄存器中设定针对成为上述盖写处理的对象的上述数据区域的上述错误检测处理的执行禁止标志。
上述任一特征的本发明的错误检测控制系统的第七特征在于,上述存储器控制单元在执行针对上述错误检测处理被禁止执行的错误检测禁止数据的上述读出处理后,进一步执行预定次数的针对上述错误检测禁止数据的上述读出处理,上述错误检测控制单元对利用上述读出处理读出的各个读出数据进行比较处理,判定上述读出数据的正误。
上述任一特征的本发明的错误检测控制系统的第八特征在于,上述冗余数据以除了能在上述错误检测处理中利用之外,还能在错误校正处理中利用的方式构成,上述错误检测单元基于对应的上述冗余数据对上述读出数据执行上述错误检测处理以及上述错误校正处理,在禁止执行上述错误检测处理的情况下,上述错误检测控制单元禁止上述错误校正处理。
为了实现上述目的,本发明的IC卡的特征在于,具备:搭载有上述任一特征的错误检测控制系统的IC芯片。
根据上述特征的错误检测控制系统,具有错误检测控制单元,基于以是否是盖写处理的执行对象而被分类的数据类别、或者表示是否执行了盖写处理的存储状态,控制错误检测处理的可否,由此,针对不进行盖写处理或者不实施盖写处理的读出数据,执行错误检测处理,能够维持数据的可靠性以及耐篡改性,并且,针对希望执行盖写处理或者实施了盖写处理的读出数据,能够执行盖写处理,能够谋求数据处理的高速化。即,根据上述特征的错误检测控制系统,在具有非易失性存储器的半导体装置中,同时具有从数据的可靠性或耐篡改性的观点出发的有效的错误检测处理、和从处理速度的高速化的观点出发的有效的盖写处理,并且,能够根据数据类别或者存储状态自动地执行最优的处理。
此外,根据上述第二特征的错误检测控制系统,构成为将非易失性存储器的数据区域设定为错误检测处理禁止数据区域和错误检测处理许可数据区域的任一种,由此,控制盖写处理的可否,因此,不使与盖写处理的可否的设定相关的处理步骤以及电路结构复杂化,就能够以简单的结构实现上述第二特征的错误检测控制系统。此外,上述第二特征的错误检测控制系统的写入处理的处理步骤能够将从以往的写入处理的处理步骤的变更量抑制为较小,所以,能够容易地制成上述第二特征的错误检测控制系统。
根据第三特征的错误检测控制系统,构成为错误检测控制单元基于从存储器控制单元输出的错误检测控制信号,判定读出数据的数据类别,所以,能够以简单的结构实现数据类别的判定,能够以简单的结构实现上述第三特征的错误检测控制系统。
进而,根据上述第四特征的错误检测控制系统,构成为针对不成为盖写处理的执行对象的命令数据,许可错误检测处理的执行,因此,能够确保针对非法手段等导致的数据篡改或长期保持引起的数据损坏与秘密信息泄漏或系统紊乱的关联的可能性较高的命令数据的可靠性或耐篡改性,能够有效防止秘密信息的泄漏或系统的紊乱。进而,根据上述第四特征的错误检测控制系统,构成为针对希望盖写的程序计数器,禁止错误检测处理的执行,因此,能够谋求针对程序计数器的处理速度的高速化。
根据上述第五特征的错误检测控制系统,构成为在非易失性存储器内设置与各个数据区域对应的标志区域,在盖写处理时,在标志区域设定错误检测处理的禁止标志,因此,能够使针对在主数据区域存储的数据的错误检测处理的可否的判定变得容易,能够以简单的结构判定错误检测控制单元中的错误检测处理的可否。此外,根据上述第五特征的错误检测控制系统,在盖写处理时,在标志区域设定错误检测处理的禁止标志,所以,通过盖写处理,在冗余数据区域所存储的冗余数据不适合使用于主数据区域中存储的数据的错误检测处理的情况下,能够禁止错误检测处理。
根据上述第六特征的错误检测控制系统,构成为在非易失性存储器之外,另外设置能够按数据区域的每一个存储错误检测处理的执行的可否的寄存器,在盖写处理时,设定针对成为盖写处理的对象的数据区域的错误检测处理的执行禁止标志,因此,能够使针对主数据区域所存储的数据的错误检测处理的可否的判定变得容易,能够以简单的结构判定错误检测控制单元中的错误检测处理的可否。此外,根据上述第六特征的错误检测控制系统,构成为在盖写处理时,在寄存器中设定错误检测处理的禁止标志,因此,通过盖写处理,在冗余数据区域存储的冗余数据不适合使用于主数据区域存储的数据的错误检测处理的情况下,能够禁止错误检测处理。
根据上述第七特征的错误检测控制系统,构成为对于不执行错误检测处理的数据执行多次读出处理,分别对读出数据进行比较处理,判定正误,因此,针对不执行利用冗余数据的错误检测处理的数据,也能够确保数据的可靠性以及耐篡改性。
根据上述第八特征的错误检测控制系统,构成为在冗余数据是汉明码等的能够适用于错误校正处理的数据的情况下,在禁止错误检测处理时,同时禁止错误校正处理,因此,在具有不仅能够进行错误检测处理而且能够进行错误校正处理的冗余数据的情况下,也能够应用本发明的错误检测控制系统。
根据上述特征的IC卡,由于具有上述第一~第八的任一特征的错误检测控制系统,所以,能够全部发挥上述第一特征的错误检测控制系统中的作用效果。即,根据上述特征的IC卡,针对不进行盖写处理或者不实施盖写处理的读出数据,能够执行从数据的可靠性或耐篡改性的观点出发的有效的错误检测处理,针对希望执行盖写处理或者实施了盖写处理的读出数据,能够执行从处理速度的高速化的观点出发的有效的盖写处理,能够根据数据类别或者存储状态自动地执行最优的处理。
附图说明
图1是表示搭载了本发明的错误检测控制系统的IC卡的部分概略结构的概略框图。
图2是表示本发明的错误检测控制系统的第一实施方式的部分概略结构的概略框图。
图3是表示本发明的错误检测控制系统的第一实施方式的非易失性存储器的存储区域的结构的概念图。
图4是表示本发明的错误检测控制系统的程序执行中的读出数据的例子的概念图。
图5是表示本发明的错误检测控制系统的程序计数器的值的一个转换例的概略概念图。
图6是表示本发明的错误检测控制系统的第一实施方式的处理步骤的流程图。
图7是表示本发明的错误检测控制系统的第二实施方式的部分概略结构的概略框图。
图8是表示本发明的错误检测控制系统的第三实施方式的部分概略结构的概略框图。
图9是表示本发明的错误检测控制系统的第四实施方式的部分概略结构的概略框图。
图10是表示本发明的错误检测控制系统的其它实施方式的部分概略结构的概略框图。
图11是表示现有技术的错误检测控制系统中的数据区域的值的转换例的说明图。
附图标记说明
1     本发明的错误检测控制系统
10    闪速存储器(非易失性存储器)
20    CPU(存储器控制单元)
30    错误检测电路(错误检测单元)
40    冗余数据生成电路
50    错误检测控制电路(错误检测控制单元)
60    ROM
70    RAM
80    I/O
90    控制寄存器
100   本发明的IC卡
Sa    可否设定信号
Sb    判定结果通知信号
Sc    错误检测控制信号
F     标志信号
Sm    存储器控制信号
Sm1   存储器控制信号
Sm2   存储器控制信号
Sm    控制信号
Smp   存储器控制信号
Se    错误检测信号
WF    区域
WD    数据区域
WM    主数据区域
WP    冗余数据区域
WS    状态区域
具体实施方式
以下,基于附图对本发明的错误检测控制系统(以下适当地简称为“本发明系统”)以及IC卡的实施方式进行说明。
<第一实施方式>
基于图1~图6对本发明系统的第一实施方式进行说明。此外,在本实施方式中,假定本发明系统搭载在IC卡上的情况进行说明。
首先,基于图1~图5对本实施方式的本发明系统以及IC卡的结构进行说明。此处,图1示出搭载了本发明系统1的IC卡100的概略结构例,图2示出本实施方式的本发明系统1的概略结构例。
如图1所示,本实施方式的本发明系统1搭载在IC卡100上,IC卡100构成为,除了具有:构成本发明系统1的闪速存储器10、CPU(中央处理装置)20、错误检测电路30、冗余数据生成电路40以及错误检测控制电路50之外,还具有:存储IC卡100驱动用程序或密码、电子证明信息等秘密信息等的ROM(读出专用存储器)60、暂时存储各种数据的RAM(随机存储器)70、用于与外部装置进行数据通信的I/O(输入输出接口)80。此外,如图1所示,CPU20、ROM60、RAM70以及I/O80分别以传输地址信号A[a:0]的地址总线、传输数据信号D[a:0]的数据总线进行连接。此外,以从CPU20向ROM60输入存储器控制信号Sm1、向RAM70输入存储器控制信号Sm2、向I/O80输入控制信号Sm3的方式构成。
如图2所示,本发明系统1具有:作为非易失性存储器的一例的闪速存储器10,该闪速存储器10具有多个地址的量的数据区域,该数据区域按1地址的每一个由用于存储预定数据的主数据区域、和对数据的错误检测处理用的冗余数据进行存储的冗余数据区域构成;CPU20(相当于存储器控制单元),对闪速存储器10进行以由预定地址数的数据区域构成的数据区域组为单位(块单位)的一并擦除处理、以数据区域为单位的读出处理、以数据区域为单位的写入处理、以及针对写入处理后的主数据区域的以构成主数据区域的位为单位的盖写处理的控制;错误检测电路30,基于对应的冗余数据,对通过读出处理读出的读出数据执行错误检测处理;错误检测控制电路50(相当于错误检测控制单元),基于以是否是盖写处理的执行对象而被分类的数据类别,对可否对错误检测电路30中的读出数据执行错误检测处理进行控制。本实施方式的本发明系统1还具有冗余数据生成电路40,针对在写入处理中成为写入对象的写入数据,生成冗余数据。
此外,在本实施方式中,例如,将命令代码或秘密信息等作为不能成为盖写处理的执行对象的进行错误检测处理的数据类别,将程序计数器等逐次变化的数据作为能够成为盖写处理的执行对象的不进行错误检测处理的数据类别。此外,本实施方式的冗余数据以能够执行错误检测处理的方式构成,此处,假定是根据奇偶校验码(例如,奇数奇偶校验)的1位数据的情况进行说明。
在本实施方式中,在执行用于实现IC卡100的功能的程序中,闪速存储器10存储命令数据(命令代码)或程序计数器等的数据。在本实施方式中,闪速存储器10的各个数据区域被设定为对禁止执行错误检测处理的数据进行存储的错误检测处理禁止数据区域、和对许可执行错误检测处理的数据进行存储的错误检测处理许可数据区域的任一种。
此处,图3(a)示出本实施方式的闪速存储器10的一个概略结构例的地址变换(address map),图3(b)示出数据区域W大的一个结构例。具体地说,如图3(a)所示,闪速存储器10具有地址“0000”~“zzzz”的数据区域WD。地址“0000”~“xxxx”是命令代码用的数据区域WD,不能成为盖写的执行对象,所以,被设定为错误检测处理许可数据区域。地址“xxx(x+1)”~“yyyy”是程序计数器用的数据区域WD,能够成为盖写的执行对象,所以,被设定为错误检测处理禁止数据区域。地址“yyy(y+1)”~“zzzz”是在执行命令中所使用的图像数据等的运算用数据用的数据区域WD,不是盖写处理的对象,所以,被设定为错误检测处理许可数据区域。如图3(b)所示,各数据区域WD构成为具有对命令代码或程序计数器、运算用数据等的数据进行存储的主数据区域WM,和对冗余数据进行存储的冗余数据区域WP。
CPU20为了实现被组入了本发明系统1的IC卡100的各功能,进行设置在IC卡100内的各电路的控制。此外,在本实施方式的CPU20中,作为本发明系统1的功能,对后述的错误检测控制电路50进行在错误检测处理的可否的设定中所使用的数据的输出、以及针对闪速存储器10的一并擦除处理、读出处理、写入处理及盖写处理的控制。
在本实施方式中,如图2所示,CPU20构成为对后述的错误检测控制电路50输出:输入到闪速存储器10中的地址信号A[a:0](a是地址信号A的最上位的位的值),和由片选使能信号CE、写入使能信号WE以及输出使能信号OE等构成的存储器控制信号Sm,作为错误检测处理的可否的设定用的数据。此外,在本实施方式中,作为错误检测处理的可否的设定用的数据,以利用对闪速存储器10进行控制的地址信号A[a:0]和存储器控制信号Sm的方式构成,但是,并不限于此,可以利用其它数据,也可以以利用专用的数据的方式构成。
CPU20在针对闪速存储器10的控制中,例如,在一并擦除处理中,在闪速存储器10内的命令用内部寄存器中写入块擦除命令,由此,以块为单位进行擦除处理。此外,例如,在写入处理以及盖写处理中,使片选使能信号CE以及写入使能信号WE为激活状态,将表示写入对象的数据区域WD的地址的地址信号A[a:0]输出到闪速存储器10,将写入数据的数据信号Dw[d:0](d是数据信号的最上位的位的值)输出到后述的冗余数据生成电路40。进而,例如,在读出处理中,使片选使能信号CE以及输出使能信号OE为激活状态,输出表示读出对象的数据区域WD的地址的地址信号A[a:0],从错误检测电路30受理读出数据的数据信号Dr[d:0]和错误检测信号Se。此外,在与闪速存储器10的规格相应的定时输出各信号。
图4示出在利用CPU20执行IC卡100驱动用程序中,在针对闪速存储器10的一系列的读出处理中所读出的读出数据的例子。此处,假定如下情况进行说明:各数据区域WD的主数据区域WM的数据长度是8bit,使用两个数据区域WD来存储数据长度为16bit的命令代码。同样地,假定程序计数器的数据长度为16bit、运算用数据的数据长度是8bit或16bit的情况进行说明。
如图4所示,CPU20首先为了取得存储有命令代码的数据区域WD的地址,执行针对闪速存储器10的读出处理,取得由Dr1[d:0]以及Dr2[d:0]构成的程序计数器。Dr1[d:0]以及Dr2[d:0]中的一方与程序计数器的上位8位对应、另一方与下位8位对应。
接着,CPU20从程序计数器表示的地址的数据区域WD以及下一地址的数据区域WD读出由Dr3[d:0]以及Dr4[d:0]构成的命令代码。Dr3[d:0]以及Dr4[d:0]中的一方与命令代码的上位8位对应、另一方与下位8位对应。读出命令代码后,CPU20对闪速存储器10的程序计数器的数据区域WD进行盖写处理并进行更新,使得程序计数器表示的地址的值增加(此处,由于假定CPU20执行数据长度为16bit的命令代码的情况,所以使地址的值增加2)。
接着,CPU20对读出的命令代码进行解读,执行用于读出在执行命令中所使用的运算用数据的读出处理,取得由Dr5[d:0]以及Dr6[d:0]构成的运算用数据。Dr5[d:0]以及Dr6[d:0]中的一方与运算用数据的上位8位对应、另一方与下位8位对应。CPU20使用由Dr5[d:0]以及Dr6[d:0]构成的运算用数据执行命令,将其结果写入闪速存储器10的预定的数据区域WD中。同样地,CPU20依次控制程序执行。
此外,在本实施方式中,本发明系统1以如下方式构成:针对图4所示的一系列的读出处理中所读出的读出数据内的作为程序计数器的值的Dr1[d:0]以及Dr2[d:0],禁止执行错误检测处理,针对作为命令代码的Dr3[d:0]以及Dr4[d:0]、作为运算用数据的Dr5[d:0]以及Dr6[d:0],许可执行错误检测处理。
此处,图5示出在闪速存储器10中存储的程序计数器的值的变化的一例。此外,在图5中,为了说明,在各数据区域WD的主数据区域WM的数据长度为8bit、程序计数器的数据长度为16bit的情况下,示出与下位8位对应的数据区域WD。
在本实施方式中,如图5(a)所示,程序计数器用的数据区域WD的各位的值在擦除处理后全部变为“1”。通过程序执行,当发生图5所示的程序计数器的更新请求时,CPU20执行将写入数据“1111 1110”写入到程序计数器的主数据区域WM的写入处理。进而,通过后述的冗余数据生成电路40,生成与写入处理后的主数据区域WM中存储的数据“1111 1110”对应的冗余数据“0”(奇数奇偶校验),对程序计数器的数据区域WD中的冗余数据区域WP写入冗余数据“0”。
通过程序的执行,当进一步在产生程序计数器的更新请求时,CPU20执行使程序计数器的主数据区域WM内的1位的值从“1”变为“0”的盖写处理。具体地,对图5(b)所示的主数据区域WM的数据“1111 1110”盖写数据“1111 1101”或者“1111 1100”。通过该盖写处理,如图5(c)所示,程序计数器的主数据区域WM成为“1111 1100”。再有,与图5(c)所示的主数据区域WM的数据“1111 1100”对应的冗余数据是“1”,但是,在闪速存储器10的原理上,不能够执行以位为单位的从“0”到“1”的写入处理,所以,盖写处理后的冗余数据变为“0”。这意味着,不能够对盖写处理后的程序计数器及其冗余数据正确地执行错误检测处理。
同样,当进一步产生程序计数器的更新请求时,CPU20执行使程序计数器的主数据区域WM内的1位的值从“1”变为“0”的写入处理。具体地,对图5(c)所示的主数据区域WM的数据“1111 1100”盖写数据“1111 1011”、数据“111 11001”或者数据“1111 1000”。通过该盖写处理,如图5(d)所示,程序计数器的主数据区域WM变为“1111 1000”。
进而,本实施方式的CPU20以如下方式构成:为了针对错误检测控制电路50中的错误检测处理的执行被禁止的错误检测禁止数据的正误判定,在针对错误检测禁止数据的读出处理执行后,进一步执行预定次数的针对错误检测禁止数据的读出处理。
错误检测电路30在CPU20进行读出处理时,在通过后述的错误检测控制电路50许可针对读出数据的错误检测处理的情况下,基于对应的冗余数据对读出数据执行错误检测处理。
具体地,在本实施方式中,在错误检测电路30中,由于作为冗余数据假定奇偶校验用的1位数据(奇数奇偶校验),所以针对从闪速存储器10输出的数据信号Drp[d+p:0](p是冗余数据的位数,在此处是1),在包括主数据区域WM以及冗余数据区域WP的数据区域WD整体“1”的数目是奇数的情况下,即,在数据信号Drp[d+1:0]中所包含的“1”的数目是奇数的情况下,判定为读出数据正确。
并且,在错误检测电路30中,在针对读出数据的错误检测处理被许可的情况下,在针对读出数据的错误检测处理执行后,输出读出数据Drp[d+p:0]内的主数据区域WM的数据信号Dr[d:0]和错误检测信号Se,在针对读出数据的错误检测处理被禁止的情况下,在读出数据被读出后,输出读出数据Drp[d+p:0]中的主数据区域WM的数据信号Dr[d:0]和错误检测信号Se。再有,在此处的错误检测信号Se中,在错误检测处理中判定为读出数据不正确的情况下,设定“1”,在其它情况下,设定“0”。
在错误检测控制电路50中,在CPU20进行读出处理时,在成为读出处理的对象的数据区域WD即读出对象数据区域是错误检测处理禁止数据区域的情况下,禁止错误检测电路30中的错误检测处理的执行,在读出对象数据区域是错误检测处理许可数据区域的情况下,许可错误检测电路30中的错误检测处理的执行。进而,错误检测控制电路50将表示错误检测处理的可否的可否设定信号Sa对错误检测电路30输出。
在本实施方式中,在错误检测控制电路50中,具体地,基于从CPU20输出的地址信号A[a:0]的值和图3所示的地址变换,判定读出对象数据区域是错误检测处理禁止数据区域和错误检测处理许可数据区域中的哪个。在地址信号A[a:0]表示地址“0000”~“xxxx”或者“yyy(y+1)”~“zzzz”的情况下,判定为错误检测处理许可数据区域,在表示地址“xxx(x+1)”~“yyyy”的情况下,判定为错误检测处理禁止数据区域。在读出对象数据区域是错误检测处理许可数据区域的情况下,将可否设定信号Sa的值设定为“0”,在是错误检测处理禁止数据区域的情况下,将可否设定信号Sa的值设定为“1”。
进而,本实施方式的错误检测控制电路50进行针对错误检测处理的执行被禁止的错误检测禁止数据的正误判定。具体地,分别对由CPU20读出的预定数目的错误检测禁止数据进行比较处理,判定读出数据的正误。
冗余数据生成电路40在CPU20进行写入处理时,从CPU20受理写入数据Dw[d:0],基于写入数据Dw[d:0]生成冗余数据,对闪速存储器10输出对写入数据Dw[d:0]附加了冗余数据之后的数据Dwp[d+p:0]。具体地,在本实施方式中,冗余数据是奇偶校验用的1位数据(奇数奇偶校验),以在数据区域WD整体中“1”的数目成为奇数的方式对值进行设定。
然后,基于图6简单地对本实施方式的本发明系统1的处理工作中的涉及错误检测处理的控制的处理工作的概要进行说明。
在CPU20执行程序中,当产生针对闪速存储器10的读出请求时(步骤#101),错误检测控制电路50设定错误检测处理的可否(步骤#102)。具体地,错误检测控制电路50在片选使能信号CE以及输出使能信号OE都变为激活状态时判断为已开始执行读出处理,此时,基于从CPU20输出的地址信号A[a:0]的值和图3所示的地址变换,判定读出对象数据区域是错误检测处理禁止数据区域和错误检测处理许可数据区域中的哪个,决定错误检测处理的可否,并对错误检测电路30输出可否设定信号Sa。
错误检测电路30受理从错误检测控制电路50输出的可否设定信号(步骤#102),当受理从闪速存储器10读出的数据Drp[d+p:0]时(步骤#103),基于可否设定信号Sa判断错误检测处理被许可还是被禁止(步骤#104)。
在步骤#104中,在本实施方式中,错误检测电路30在可否设定信号Sa为“0”的情况下判断为错误检测处理被许可(步骤#104中为“许可”分支),执行针对数据Drp[d+p:0]的错误检测处理(步骤#105)。此处的错误检测处理是奇偶校验,在Drp[d+p:0]整体中,值为“1”的位数目为奇数的情况下,判断为数据Drp[d+p:0]正确。在判断为数据Drp[d+p:0]正确时,将错误检测信号Se的值设定为“0”,在判定为不正确时,将错误检测信号Se的值设定为“0”。错误检测电路30将从数据Drp[d+p:0]中除去了冗余数据后的数据Dr[d:0]与错误检测信号Se一起对CPU20输出(步骤#106)。
在步骤#104中,错误检测电路30在可否设定信号Sa是“1”的情况下判断为错误检测处理被禁止(步骤#104中为“禁止”分支),不实施错误检测处理,将从数据Drp[d+p:0]除去了冗余数据后的数据Dr[d:0]对CPU20输出(步骤#107)。再有,此时的错误检测信号Se的值设定为“0”。进而,此时,错误检测控制电路50执行针对数据Drp[d+p:0]的正误判定(步骤#108)。在本实施方式中,CPU20为了针对错误检测禁止数据的正误判定,再次执行从闪速存储器10读出相同的错误检测禁止数据的读出处理(步骤#109)。错误检测控制电路50对两次的读出处理的两个错误检测禁止数据进行比较,在两个数据相等的情况下判定为错误检测禁止数据Drp[d+p:0]正确,在两个数据不同的情况下,判定为错误检测禁止数据Drp[d+p:0]不正确(步骤#110)。进而,错误检测控制电路50利用判定结果通知信号Sb将针对错误检测禁止数据的正误判定的结果对CPU20进行通知(步骤#111)。
CPU20在错误检测电路30中通过错误检测处理判断为读出数据Dr[d:0]不正确的情况下,或者,在错误检测控制电路50中通过正误判定判定为错误检测禁止数据Dr[d:0]不正确的情况下,废弃数据Dr[d:0]。进而,在本实施方式中,CPU20在连续固定次数以上判断为数据Dr[d:0]不正确的等情况下,在判断为进行了非法操作等的情况下,进行IC卡100的系统复位。
再有,在本实施方式中,对错误检测处理被禁止的错误检测禁止数据实施步骤#108的正误判定,但是,步骤#108的正误判定是任意处理。因此,例如构成为,在错误检测禁止数据的重要度较低的情况等下,不执行正误判定,对CPU20输出从数据Drp[d+p:0]中除去了冗余数据后的数据Dr[d:0]也可以。
<第二实施方式>
基于图7对本发明系统1的第二实施方式进行说明。再有,在本实施方式中,对读出数据的数据类别的判定方法与上述第一实施方式不同的情况进行了说明。详细地说,在上述第一实施方式中,基于闪速存储器10的地址变换来判定数据类别,但是,在本实施方式中,基于来自CPU20的错误检测控制信号Sc来判定数据类别。
基于图7对本实施方式的本发明系统1的结构进行说明。如图7所示,本实施方式的本发明系统1构成为具有:闪速存储器10、CPU20、错误检测电路30、冗余数据生成电路40以及错误检测控制电路50,闪速存储器10、错误检测电路30、冗余数据生成电路40的结构与上述第一实施方式相同。
如图7所示,本实施方式的CPU20以如下方式构成:在读出处理时,对错误检测控制电路50输出与该读出处理中的读出数据的数据类别对应的错误检测控制信号Sc。此处的错误检测控制信号Sc是使用表示命令取出(fetch)用的定时的命令取出信号生成的。
在本实施方式的错误检测控制电路50中,在读出处理时,基于错误检测控制信号Sc判定读出数据的数据类别是否是能执行盖写处理的数据类别,在是不能执行盖写处理的数据类别的情况下,许可错误检测电路30中的错误检测处理,在是能执行盖写处理的数据类别的情况下,禁止错误检测电路30中的错误检测处理。更具体地说,在本实施方式中,在错误检测控制信号Sc(命令取出信号)为激活状态的情况下,判定为是不能成为盖写处理的执行对象的命令代码的读出,许可错误检测电路30中的错误检测处理。此外,在错误检测控制信号Sc是非激活状态的情况下,判定是能够成为盖写处理的执行对象的错误检测禁止数据,禁止错误检测电路30中的错误检测处理。
此外,在本实施方式中,假定了错误检测控制信号Sc是命令取出信号的情况,但是,也可以是数据读取信号。在该情况下,错误检测控制电路50在数据读取信号为激活状态的情况下,禁止错误检测电路30中的错误检测处理,在数据读取信号是非激活状态的情况下,许可错误检测电路30中的错误检测处理。此外,错误检测控制信号Sc也可以是组合了命令取出信号和数据读取信号的信号。在该情况下,错误检测控制电路50以如下方式构成即可:在错误检测控制信号Sc是作为表示读出数据是命令代码的信号的情况下,许可错误检测处理的执行,在错误检测控制信号Sc是作为表示读出数据是程序计数器值的信号的情况下,禁止错误检测处理的执行。
<第三实施方式>
基于图8对本发明系统1的第三实施方式进行说明。再有,在本实施方式中,对错误检测处理的可否的设定方法与上述第一以及第二实施方式不同的情况进行说明。详细地,在上述第一以及第二实施方式中,基于读出数据的数据类别设定错误检测处理的执行的可否,但是,在本实施方式中,基于表示是否执行了盖写处理的存储状态,设定错误检测处理的执行的可否。
基于图8对本实施方式的本发明系统1的结构进行说明。如图8所示,本实施方式的本发明系统1构成为具有:闪速存储器10、CPU20、错误检测电路30、冗余数据生成电路40以及错误检测控制电路50,错误检测电路30以及冗余数据生成电路40的结构与上述第一实施方式相同。
在本实施方式中,如图8所示,闪速存储器10按数据区域WD的每一个具有对错误检测处理的执行的可否进行存储的标志区域。闪速存储器10在以块为单位的一并擦除处理的执行时,自动地初始化对应的标志区域,使值变为“1”。即,在标志区域是初始状态“1”的情况下,能够判定为没有执行盖写处理,在标志区域是“0”的情况下,能够判定为执行了盖写处理。进而,本实施方式的闪速存储器10以如下方式构成:在执行读出处理时,将标志信号F作为错误检测控制信号Sc对错误检测控制电路50输出,其中,标志信号F表示与成为读出处理的对象的数据区域WD对应的标志区域的值。
本实施方式的错误检测控制电路50以如下方式构成:基于表示是否执行了盖写处理的存储状态,对可否执行针对错误检测电路30中的读出数据的错误检测处理进行控制。具体地,错误检测控制电路50在读出处理时,在标志信号F为“1”的情况下,作为没有执行盖写处理,许可执行错误检测电路30中的错误检测处理,在是“0”的情况下,作为执行盖写处理,禁止执行错误检测电路30中的错误检测处理。
错误检测控制电路50在CPU20进行盖写处理时,在与成为盖写处理的对象的数据区域WD对应的标志区域,设定错误检测处理的执行禁止标志。具体地,错误检测控制电路50在盖写处理时,在与地址信号A[a:0]表示的数据区域WD对应的标志区域写入“0”。
<第四实施方式>
基于图9对本发明系统1的第四实施方式进行说明。此外,在本实施方式中,对读出数据的存储状态的判定方法与上述第三实施方式不同的情况进行了说明。详细地,在上述第三实施方式中,利用闪速存储器10中的标志区域判定存储状态,但是,在本实施方式中,利用在本发明系统1中与闪速存储器10不同地另外设置的控制寄存器90进行存储状态的判定。
基于图9对本实施方式的本发明系统1的结构进行说明。如图7所示,本实施方式的本发明系统1构成为具有:闪速存储器10、CPU20、错误检测电路30、冗余数据生成电路40以及错误检测控制电路50,闪速存储器10、错误检测电路30以及冗余数据生成电路40的结构与上述第一实施方式相同。
本发明系统1具有能够按数据区域WD的每一个存储错误检测处理的执行的可否的控制寄存器90。在本实施方式中,控制寄存器90具有每个数据区域WD的执行禁止标志设定区域,在没有执行盖写处理的情况下(初始状态),执行禁止标志设定区域的值被设定为“1”,在执行了盖写处理的情况下,执行禁止标志设定区域的值被设定为“0”。
本实施方式的错误检测控制电路50以如下方式构成:基于表示是否执行了盖写处理的存储状态,控制错误检测电路30中的针对读出数据的错误检测处理执行的可否进行控制。具体地说,在本实施方式的错误检测控制电路50中,在读出处理时,参照控制寄存器90,在成为读出处理的对象的数据区域WD没有设定执行禁止标志的情况下,即,在对应的执行禁止标志设定区域的值为“1”的情况下,许可执行错误检测电路30中的错误检测处理。此外,在成为读出处理的对象的数据区域WD设定了执行禁止标志的情况下,即,在对应的执行禁止标志设定区域的值为“0”的情况下,禁止执行错误检测电路30中的错误检测处理。
进而,本实施方式的错误检测控制电路50在CPU20进行盖写处理时,在控制寄存器90中设定针对成为盖写处理的对象的数据区域WD的错误检测处理的执行禁止标志。具体地说,错误检测控制电路50在控制寄存器90的对应的执行禁止标志设定区域写入“0”。
<其它实施方式>
(1)在上述第一~第四实施方式中,对具有闪速存储器10的情况进行了说明,但是,并不限于此。例如,在具备原理上不能够以块为单位从写入状态变为擦除状态的非易失性存储器的情况下,本发明系统1是有用的。CPU20进行的一并擦除处理、读出处理、写入处理以及盖写处理对应于非易失性存储器的规格,控制各信号来进行。
(2)在上述第一~第四实施方式中,对冗余数据是能够执行错误检测处理的奇偶校验用的1位数据的情况进行了说明,但是,并不限于此。例如,也可以是能够执行校验和等的错误检测处理的其它错误检测码,也可以是汉明码等的能够与错误检测处理一起进行错误校正处理的错误检测校正码。
此处,图10示出在错误检测电路30中能够与错误检测处理一起执行错误校正处理的情况下的本发明系统1的概略部分结构。在该情况下,错误检测控制电路50在禁止执行错误检测处理的情况下,禁止错误校正处理。错误检测电路30在通过错误检测控制电路50许可错误检测处理以及错误校正处理的情况下,基于对应的冗余数据对读出数据执行错误检测处理以及错误校正处理。
(3)在上述第一~第四实施方式中,作为针对错误检测处理被禁止的错误检测禁止数据的正误判定,执行针对错误检测禁止数据的再次的读出处理,对两个错误检测禁止数据进行比较处理,但是,并不限于此。例如,在两个错误检测禁止数据不同的情况下,对错误检测禁止数据进行任意次数的读出,进行比较处理也可以。此外,也可以在多次的读出处理中不一致的数据的数目超过了固定的判定比例的情况下,或者,在一致的数据的数目为固定的判定比例的情况下,判定为错误检测禁止数据不正确。读出处理的次数或者数据的判定比例根据错误检测禁止数据的重要程度来设定。
此外,在上述第一~第四实施方式中,作为针对错误检测禁止数据的正误判定,执行利用了多次读出处理的比较处理,但是,也可以使用其它方法,也可以对应于错误检测禁止数据的重要程度组合多个方法进行使用。进而,对于错误检测禁止数据以外的读出数据,在重要程度较大的情况下,以执行利用了多次的读出处理的比较处理的方式构成也可。

Claims (9)

1.一种错误检测控制系统,具有:
非易失性存储器,其具有多个地址的量的数据区域,该数据区域按1地址的每一个由存储预定数据用的主数据区域、和对所述数据的错误检测处理用的冗余数据进行存储的冗余数据区域构成;存储器控制单元,对所述非易失性存储器进行如下处理的控制,即,以由预定地址数的所述数据区域构成的数据区域组为单位的一并擦除处理、以所述数据区域为单位的读出处理、以所述数据区域为单位的写入处理、以及针对所述写入处理后的所述主数据区域的以构成所述主数据区域的位为单位的盖写处理;错误检测单元,基于对应的所述冗余数据,对利用所述读出处理所读出的读出数据执行所述错误检测处理,该错误检测控制系统的特征在于,
具有:错误检测控制单元,基于以是否是所述盖写处理的执行对象而被分类的数据类别、或者表示是否执行了所述盖写处理的存储状态,控制所述错误检测存储单元中的针对所述读出数据的所述错误检测处理的执行的可否。
2.如权利要求1的错误检测控制系统,其特征在于,
所述非易失性存储器的所述数据区域分别被设定为存储所述错误检测处理被禁止执行的所述数据的错误检测处理禁止数据区域、和存储所述错误检测处理被许可执行的所述数据的错误检测处理许可数据区域的任一种,
所述错误检测控制单元在所述读出处理时,在成为所述读出处理的对象的所述数据区域即读出对象数据区域是所述错误检测处理禁止数据区域的情况下,禁止所述错误检测单元中的所述错误检测处理的执行,在所述读出对象数据区域是所述错误检测处理许可数据区域的情况下,许可所述错误检测单元中的所述错误检测处理的执行。
3.如权利要求1的错误检测控制系统,其特征在于,
所述存储器控制单元在所述读出处理时,对所述错误检测控制单元输出与该读出处理中的所述读出数据的所述数据类别对应的错误检测控制信号,
所述错误检测控制单元在所述读出处理时,基于所述错误检测控制信号判定所述读出数据的所述数据类别是否是能执行所述盖写处理的所述数据类别,在是不能执行所述盖写处理的所述数据类别的情况下,许可所述错误检测单元中的所述错误检测处理,在是能执行所述盖写处理的所述数据类别的情况下,禁止所述错误检测单元中的所述错误检测处理,
所述错误检测单元在所述错误检测控制单元许可执行针对所述读出数据的所述错误检测处理的情况下,使用对应的所述冗余数据,执行针对所述读出数据的所述错误检测处理。
4.如权利要求3的错误检测控制系统,其特征在于,
所述错误检测控制单元在所述错误检测控制信号是表示所述读出数据为命令数据的信号的情况下,许可执行所述错误检测处理,在所述错误检测控制信号是表示所述读出数据为程序计数器值的信号的情况下,禁止执行所述错误检测处理。
5.如权利要求1的错误检测控制系统,其特征在于,
所述非易失性存储器具有:按所述数据区域的每一个,存储所述错误检测处理的执行的可否的标志区域,
所述错误检测控制单元在所述存储器控制单元进行所述盖写处理时,在与成为所述盖写处理的对象的所述数据区域对应的所述标志区域,设定所述错误检测处理的执行禁止标志。
6.如权利要求1的错误检测控制系统,其特征在于,
在所述非易失性存储器之外,具有:按所述数据区域的每一个能存储所述错误检测处理的执行的可否的寄存器,
所述错误检测控制单元在所述存储器控制单元进行所述盖写处理时,在所述寄存器中设定针对成为所述盖写处理的对象的所述数据区域的所述错误检测处理的执行禁止标志。
7.如权利要求1~6中任一项所述的错误检测控制系统,其特征在于,
所述存储器控制单元在执行针对所述错误检测处理被禁止执行的错误检测禁止数据的所述读出处理后,进一步执行预定次数的针对所述错误检测禁止数据的所述读出处理,
所述错误检测控制单元对利用所述读出处理读出的各个读出数据进行比较处理,判定所述读出数据的正误。
8.如权利要求1~6中任一项所述的错误检测控制系统,其特征在于,
所述冗余数据以除了能在所述错误检测处理中利用之外,还能在错误校正处理中利用的方式构成,
所述错误检测单元基于对应的所述冗余数据对所述读出数据执行所述错误检测处理以及所述错误校正处理,
在禁止执行所述错误检测处理的情况下,所述错误检测控制单元禁止所述错误校正处理。
9.一种IC卡,其特征在于,具有:搭载有权利要求1~6中任一项所述的错误检测控制系统。
CN200880015658.2A 2007-04-04 2008-03-13 错误检测控制系统 Expired - Fee Related CN101681310B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007098800A JP4160625B1 (ja) 2007-04-04 2007-04-04 誤り検出制御システム
JP098800/2007 2007-04-04
PCT/JP2008/054570 WO2008126609A1 (ja) 2007-04-04 2008-03-13 誤り検出制御システム

Publications (2)

Publication Number Publication Date
CN101681310A true CN101681310A (zh) 2010-03-24
CN101681310B CN101681310B (zh) 2012-07-18

Family

ID=39863739

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880015658.2A Expired - Fee Related CN101681310B (zh) 2007-04-04 2008-03-13 错误检测控制系统

Country Status (5)

Country Link
US (1) US8176387B2 (zh)
JP (1) JP4160625B1 (zh)
CN (1) CN101681310B (zh)
TW (1) TW200903247A (zh)
WO (1) WO2008126609A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103970645A (zh) * 2013-02-05 2014-08-06 索尼公司 错误检测与纠正装置、错误检测与纠正方法、信息处理器及程序
CN104281530A (zh) * 2013-07-01 2015-01-14 拉碧斯半导体株式会社 信息处理装置、半导体装置以及信息数据的验证方法
CN106528311A (zh) * 2016-09-29 2017-03-22 杭州芯讯科技有限公司 嵌入式系统及其控制方法
CN107463516A (zh) * 2016-06-06 2017-12-12 欧姆龙株式会社 控制装置

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5668279B2 (ja) 2009-08-06 2015-02-12 ソニー株式会社 不揮発性ランダムアクセスメモリおよび不揮発性メモリシステム
US8683270B2 (en) * 2010-04-29 2014-03-25 Micron Technology, Inc. Signal line to indicate program-fail in memory
US8918683B2 (en) * 2012-09-14 2014-12-23 SK Hynix Inc. One-time program cell array circuit and memory device including the same
JP5954872B2 (ja) * 2012-09-20 2016-07-20 ルネサスエレクトロニクス株式会社 半導体集積回路
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US10445229B1 (en) 2013-01-28 2019-10-15 Radian Memory Systems, Inc. Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies
US11249652B1 (en) 2013-01-28 2022-02-15 Radian Memory Systems, Inc. Maintenance of nonvolatile memory on host selected namespaces by a common memory controller
KR102148389B1 (ko) * 2014-06-11 2020-08-27 삼성전자주식회사 오버 라이트 동작을 갖는 메모리 시스템 및 그에 따른 동작 제어방법
US9542118B1 (en) 2014-09-09 2017-01-10 Radian Memory Systems, Inc. Expositive flash memory control
US10552058B1 (en) 2015-07-17 2020-02-04 Radian Memory Systems, Inc. Techniques for delegating data processing to a cooperative memory controller
JP6757127B2 (ja) * 2015-09-25 2020-09-16 富士通デバイス株式会社 遊技機用記憶装置
US10585610B1 (en) * 2016-09-30 2020-03-10 EMC IP Holding Company LLC Locking data structures with locking structures in flash memory by setting bits in the locking structures
KR20190029316A (ko) * 2017-09-12 2019-03-20 에스케이하이닉스 주식회사 마이크로 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작방법
US11556618B2 (en) * 2020-02-18 2023-01-17 At&T Intellectual Property I, L.P. Split ledger software license platform
JP2022047855A (ja) * 2020-09-14 2022-03-25 キオクシア株式会社 メモリシステム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4019033A (en) * 1975-12-29 1977-04-19 Honeywell Information Systems, Inc. Control store checking system and method
JPH01209552A (ja) 1988-02-17 1989-08-23 Hitachi Maxell Ltd 半導体ファイルメモリ装置
JP3542002B2 (ja) * 1996-09-24 2004-07-14 株式会社ルネサステクノロジ システム
JPH10334695A (ja) * 1997-05-27 1998-12-18 Toshiba Corp キャッシュメモリ及び情報処理システム
TW333648B (en) * 1997-10-30 1998-06-11 Key Technology Corp The connection structure and algorithm for flash memory
US6941505B2 (en) 2000-09-12 2005-09-06 Hitachi, Ltd. Data processing system and data processing method
JP2002091831A (ja) 2000-09-12 2002-03-29 Hitachi Ltd データ処理システム及びデータ処理方法
KR100870392B1 (ko) 2001-04-24 2008-11-25 엔엑스피 비 브이 시스템 및 데이터 저장 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103970645A (zh) * 2013-02-05 2014-08-06 索尼公司 错误检测与纠正装置、错误检测与纠正方法、信息处理器及程序
CN104281530A (zh) * 2013-07-01 2015-01-14 拉碧斯半导体株式会社 信息处理装置、半导体装置以及信息数据的验证方法
CN107463516A (zh) * 2016-06-06 2017-12-12 欧姆龙株式会社 控制装置
CN107463516B (zh) * 2016-06-06 2021-03-16 欧姆龙株式会社 控制装置
CN106528311A (zh) * 2016-09-29 2017-03-22 杭州芯讯科技有限公司 嵌入式系统及其控制方法

Also Published As

Publication number Publication date
WO2008126609A1 (ja) 2008-10-23
TWI368134B (zh) 2012-07-11
CN101681310B (zh) 2012-07-18
US8176387B2 (en) 2012-05-08
JP4160625B1 (ja) 2008-10-01
TW200903247A (en) 2009-01-16
JP2008257476A (ja) 2008-10-23
US20100083050A1 (en) 2010-04-01

Similar Documents

Publication Publication Date Title
CN101681310B (zh) 错误检测控制系统
US7234081B2 (en) Memory module with testing logic
US6216251B1 (en) On-chip error detection and correction system for an embedded non-volatile memory array and method of operation
US7305596B2 (en) Nonvolatile memory and nonvolatile memory apparatus
US20120191964A1 (en) Methods of booting information handling systems and information handling systems performing the same
US7403436B2 (en) Non-volatile semiconductor memory device
US8489907B2 (en) Method of selective power cycling of components in a memory device independently by reducing power to a memory array or memory controller
US9703698B2 (en) Data writing method, memory controller and memory storage apparatus
US9785382B2 (en) Method and apparatus for read retry sequence for boot ROM
US20160260486A1 (en) Semiconductor device, pre-write program, and restoration program
US8578245B2 (en) Data reading method, memory storage apparatus, and controller thereof
US8885409B2 (en) Non-volatile memory, method of operating the same, memory system including the same, and method of operating the system
KR20020021001A (ko) 데이터 처리시스템 및 데이터 처리방법
KR20120064462A (ko) 메모리 컨트롤러, 이의 오류정정 방법, 및 이를 포함하는 메모리 시스템
TW201734879A (zh) 以sram為基礎的認證電路
US20080016415A1 (en) Evaluation system and method
JPH1050078A (ja) 電気的に消去およびプログラムが可能なリード・オンリ・メモリの消去およびプログラミング保護方法および装置
US11481153B2 (en) Data storage device and operating method thereof
US9471417B1 (en) Methods and apparatus for back-annotating errors in a RRAM array
CN106201907A (zh) 数据重新写入方法以及使用该方法的装置
US20170103797A1 (en) Calibration method and device for dynamic random access memory
US8788889B2 (en) Bit stream aliasing in memory system with probabilistic decoding
CN105280235A (zh) 半导体存储器件、具有其的存储系统及其操作方法
US20160021073A1 (en) Secure spin torque transfer magnetic random access memory (sttmram)
US10223195B2 (en) Counter in a flash memory

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120718

CF01 Termination of patent right due to non-payment of annual fee