CN101681310B - 错误检测控制系统 - Google Patents
错误检测控制系统 Download PDFInfo
- Publication number
- CN101681310B CN101681310B CN200880015658.2A CN200880015658A CN101681310B CN 101681310 B CN101681310 B CN 101681310B CN 200880015658 A CN200880015658 A CN 200880015658A CN 101681310 B CN101681310 B CN 101681310B
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Storage Device Security (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
本发明提供非易失性存储器的错误检测控制系统,在某种程度确保数据的可靠性及耐篡改性、且不使错误检测处理的处理步骤及电路结构复杂,就能执行重写处理。具有:非易失性存储器(10),其具有多个地址的量的数据区域,该数据区域按1地址的每一个由主数据区域和冗余数据区域构成;存储器控制单元(20),对非易失性存储器(10)进行如下处理的控制,即以数据区域组为单位的一并擦除处理、以数据区域为单位的读出处理、以数据区域为单位的写入处理及以位为单位的重写处理;错误检测单元(30),基于对应的冗余数据对读出数据执行错误检测处理;错误检测控制单元(50),基于以是否是重写处理的执行对象分类的数据类别或表示是否执行了重写处理的存储状态,控制可否执行错误检测处理。
Description
技术领域
本发明涉及具有非易失性存储器的半导体装置的错误检测控制系统,特别涉及具有:非易失性存储器、存储器控制单元以及错误检测单元的错误检测控制系统,其中,该非易失性存储器具有多个地址的量的数据区域,该数据区域按照每个地址由主数据区域和冗余数据区域构成,该存储器控制单元对非易失性存储器进行以数据区域组为单位的一并擦除处理、以数据区域为单位的读出处理、以数据区域为单位的写入处理、以及以位为单位的重写处理的控制,该错误检测单元对读出数据基于对应的冗余数据执行错误检测处理。
背景技术
以往,例如在搭载了闪速存储器等非易失性存储器的半导体装置中,为确保数据的可靠性、或者确保针对为了电子证明信息或密码等秘密信息的读取等而进行的非法的数据篡改的耐篡改性,提出了各种技术。
在为了确保数据的可靠性或耐篡改性的技术中,例如,有如下技术:根据数据的各位(bit)结构生成奇偶校验码(parity code)或校验和(check sum)等错误检测码,使用错误检测码进行错误检测处理的检测技术;生成汉明(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的值“11111010”的错误检测校正码。
图11(c)示出所述重写处理后(单一的位变更后)的数据区域的值。在该所谓重写处理中,在状态区域WS中写入值“0001”。此处,8位的区域WF的值变为“00011010”,针对其的错误检测校正码的值为“1001”。这与冗余数据区域WP的值“1001”相等,所以,可知在所述重写处理后,能够使用存储在冗余数据区域WP中的冗余数据“1001”,进行针对所谓重写处理后的状态区域WS以及主数据区域WM构成的8位的区域WF中存储的数据“00011010”的错误检测处理。
专利文献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闪速存储器(非易失性存储器)
20CPU(存储器控制单元)
30错误检测电路(错误检测单元)
40冗余数据生成电路
50错误检测控制电路(错误检测控制单元)
60ROM
70RAM
80I/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执行将写入数据“11111110”写入到程序计数器的主数据区域WM的写入处理。进而,通过后述的冗余数据生成电路40,生成与写入处理后的主数据区域WM中存储的数据“11111110”对应的冗余数据“0”(奇数奇偶校验),对程序计数器的数据区域WD中的冗余数据区域WP写入冗余数据“0”。
通过程序的执行,当进一步在产生程序计数器的更新请求时,CPU20执行使程序计数器的主数据区域WM内的1位的值从“1”变为“0”的重写处理。具体地,对图5(b)所示的主数据区域WM的数据“11111110”重写数据“11111101”或者“11111100”。通过该重写处理,如图5(c)所示,程序计数器的主数据区域WM成为“11111100”。再有,与图5(c)所示的主数据区域WM的数据“11111100”对应的冗余数据是“1”,但是,在闪速存储器10的原理上,不能够执行以位为单位的从“0”到“1”的写入处理,所以,重写处理后的冗余数据变为“0”。这意味着,不能够对重写处理后的程序计数器及其冗余数据正确地执行错误检测处理。
同样,当进一步产生程序计数器的更新请求时,CPU20执行使程序计数器的主数据区域WM内的1位的值从“1”变为“0”的写入处理。具体地,对图5(c)所示的主数据区域WM的数据“11111100”重写数据“11111011”、 数据“11111001”或者数据“11111000”。通过该重写处理,如图5(d)所示,程序计数器的主数据区域WM变为“11111000”。
进而,本实施方式的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.一种错误检测控制系统,具有:
非易失性存储器,其具有多个地址的量的数据区域,所述数据区域按每一个地址由存储预定数据用的主数据区域和对所述数据的错误检测处理用的冗余数据进行存储的冗余数据区域构成;存储器控制单元,对所述非易失性存储器进行如下处理的控制,即,以由预定地址数的所述数据区域构成的数据区域组为单位的一并擦除处理、以所述数据区域为单位的读出处理、以所述数据区域为单位的写入处理、以及针对所述写入处理后的所述主数据区域的以构成所述主数据区域的位为单位的重写处理;错误检测单元,基于对应的所述冗余数据,对利用所述读出处理所读出的读出数据执行所述错误检测处理,该错误检测控制系统的特征在于,
具有:错误检测控制单元,基于以是否是所述重写处理的执行对象而被分类的数据类别、或者表示是否执行了所述重写处理的存储状态,控制所述错误检测单元中的针对所述读出数据的所述错误检测处理的执行的可否。
2.如权利要求1的错误检测控制系统,其特征在于,
所述非易失性存储器的所述数据区域分别被设定为存储所述错误检测处理被禁止执行的所述数据的错误检测处理禁止数据区域、和存储所述错误检测处理被许可执行的所述数据的错误检测处理许可数据区域的任一种,
所述错误检测控制单元在所述读出处理时,在成为所述读出处理的对象的所述数据区域即读出对象数据区域是所述错误检测处理禁止数据区域的情况下,禁止所述错误检测单元中的所述错误检测处理的执行,在所述读出对象数据区域是所述错误检测处理许可数据区域的情况下,许可所述错误检测单元中的所述错误检测处理的执行。
3.如权利要求1的错误检测控制系统,其特征在于,
所述存储器控制单元在所述读出处理时,对所述错误检测控制单元输出与该读出处理中的所述读出数据的所述数据类别对应的错误检测控制信号,
所述错误检测控制单元在所述读出处理时,基于所述错误检测控制信号判定所述读出数据的所述数据类别是否是能执行所述重写处理的所述数据类别,在是不能执行所述重写处理的所述数据类别的情况下,许可所述错误检测单元中的所述错误检测处理,在是能执行所述重写处理的所述数据类别的情况下,禁止所述错误检测单元中的所述错误检测处理,
所述错误检测单元在所述错误检测控制单元许可执行针对所述读出数据的所述错误检测处理的情况下,使用对应的所述冗余数据,执行针对所述读出数据的所述错误检测处理。
4.如权利要求3的错误检测控制系统,其特征在于,
所述错误检测控制单元在所述错误检测控制信号是表示所述读出数据为命令数据的信号的情况下,许可执行所述错误检测处理,在所述错误检测控制信号是表示所述读出数据为程序计数器值的信号的情况下,禁止执行所述错误检测处理。
5.如权利要求1的错误检测控制系统,其特征在于,
所述非易失性存储器具有:按每一个所述数据区域存储所述错误检测处理的执行的可否的标志区域,
所述错误检测控制单元在所述存储器控制单元进行所述重写处理时,在与成为所述重写处理的对象的所述数据区域对应的所述标志区域,设定所述错误检测处理的执行禁止标志。
6.如权利要求1的错误检测控制系统,其特征在于,
在所述非易失性存储器之外,具有:能按每一个所述数据区域存储所述错误检测处理的执行的可否的寄存器,
所述错误检测控制单元在所述存储器控制单元进行所述重写处理时,在所述寄存器中设定针对成为所述重写处理的对象的所述数据区域的所述错误检测处理的执行禁止标志。
7.如权利要求1~6中任一项所述的错误检测控制系统,其特征在于,
所述存储器控制单元在执行针对所述错误检测处理被禁止执行的错误检测禁止数据的所述读出处理后,进一步执行预定次数的针对所述错误检测禁止数据的所述读出处理,
所述错误检测控制单元对利用所述读出处理读出的各个读出数据进行比较处理,判定所述读出数据的正误。
8.如权利要求1~6中任一项所述的错误检测控制系统,其特征在于,
所述冗余数据以除了能在所述错误检测处理中利用之外,还能在错误校正处理中利用的方式构成,
所述错误检测单元基于对应的所述冗余数据对所述读出数据执行所述错误检测处理以及所述错误校正处理,
在禁止执行所述错误检测处理的情况下,所述错误检测控制单元禁止所述错误校正处理。
9.一种IC卡,其特征在于,具备:搭载有权利要求1~6中任一项所述的错误检测控制系统的IC芯片。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP098800/2007 | 2007-04-04 | ||
JP2007098800A JP4160625B1 (ja) | 2007-04-04 | 2007-04-04 | 誤り検出制御システム |
PCT/JP2008/054570 WO2008126609A1 (ja) | 2007-04-04 | 2008-03-13 | 誤り検出制御システム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101681310A CN101681310A (zh) | 2010-03-24 |
CN101681310B true 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) |
Families Citing this family (19)
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 | ルネサスエレクトロニクス株式会社 | 半導体集積回路 |
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 |
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 |
JP5794240B2 (ja) * | 2013-02-05 | 2015-10-14 | ソニー株式会社 | 誤り検出訂正装置、誤り検出訂正方法、情報処理装置、および、プログラム |
JP2015011609A (ja) * | 2013-07-01 | 2015-01-19 | ラピスセミコンダクタ株式会社 | 情報処理装置、半導体装置及び情報データのベリファイ方法 |
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 | 富士通デバイス株式会社 | 遊技機用記憶装置 |
JP6717059B2 (ja) * | 2016-06-06 | 2020-07-01 | オムロン株式会社 | 制御システム |
CN106528311A (zh) * | 2016-09-29 | 2017-03-22 | 杭州芯讯科技有限公司 | 嵌入式系统及其控制方法 |
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 |
JP7500365B2 (ja) * | 2020-09-14 | 2024-06-17 | キオクシア株式会社 | メモリシステム |
Family Cites Families (8)
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 |
JP2002091831A (ja) | 2000-09-12 | 2002-03-29 | Hitachi Ltd | データ処理システム及びデータ処理方法 |
US6941505B2 (en) | 2000-09-12 | 2005-09-06 | Hitachi, Ltd. | Data processing system and data processing method |
CN1311354C (zh) | 2001-04-24 | 2007-04-18 | 皇家菲利浦电子有限公司 | 用于闪速存储器允许可更改位的系统和存储数据的方法 |
-
2007
- 2007-04-04 JP JP2007098800A patent/JP4160625B1/ja not_active Expired - Fee Related
-
2008
- 2008-03-13 WO PCT/JP2008/054570 patent/WO2008126609A1/ja active Application Filing
- 2008-03-13 CN CN200880015658.2A patent/CN101681310B/zh not_active Expired - Fee Related
- 2008-03-13 US US12/594,311 patent/US8176387B2/en not_active Expired - Fee Related
- 2008-03-19 TW TW097109688A patent/TW200903247A/zh not_active IP Right Cessation
Non-Patent Citations (2)
Title |
---|
JP平1-209552A 1989.08.23 |
JP特开2002-91831A 2002.03.29 |
Also Published As
Publication number | Publication date |
---|---|
US8176387B2 (en) | 2012-05-08 |
JP4160625B1 (ja) | 2008-10-01 |
JP2008257476A (ja) | 2008-10-23 |
US20100083050A1 (en) | 2010-04-01 |
CN101681310A (zh) | 2010-03-24 |
TW200903247A (en) | 2009-01-16 |
WO2008126609A1 (ja) | 2008-10-23 |
TWI368134B (zh) | 2012-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101681310B (zh) | 错误检测控制系统 | |
US7234081B2 (en) | Memory module with testing logic | |
US7305596B2 (en) | Nonvolatile memory and nonvolatile memory apparatus | |
US6216251B1 (en) | On-chip error detection and correction system for an embedded non-volatile memory array and method of operation | |
US8489907B2 (en) | Method of selective power cycling of components in a memory device independently by reducing power to a memory array or memory controller | |
US6608784B2 (en) | Non-volatile semiconductor memory device | |
US10482038B2 (en) | Programmable protocol independent bar memory for SSD controller | |
US9785382B2 (en) | Method and apparatus for read retry sequence for boot ROM | |
US20200013476A1 (en) | Remote ssd debug via host/serial interface and method of executing the same | |
KR20130053247A (ko) | 불휘발성 메모리 장치에 데이터를 프로그램하는 프로그램 방법 및 불휘발성 메모리 장치를 포함하는 메모리 시스템 | |
US9552287B2 (en) | Data management method, memory controller and embedded memory storage apparatus using the same | |
KR20160143940A (ko) | 저장 장치 및 그것을 내장한 메인 보드 및 그것의 자가 진단 방법 | |
US11481153B2 (en) | Data storage device and operating method thereof | |
US9471417B1 (en) | Methods and apparatus for back-annotating errors in a RRAM array | |
CN105280235A (zh) | 半导体存储器件、具有其的存储系统及其操作方法 | |
CN106201907A (zh) | 数据重新写入方法以及使用该方法的装置 | |
US20170103797A1 (en) | Calibration method and device for dynamic random access memory | |
CN110910938A (zh) | 一种数据纠正方法、装置、存储设备及存储介质 | |
CN110444244B (zh) | 存储设备读错误纠错能力的测试装置 | |
KR20070040157A (ko) | 반도체 메모리 장치의 에러 검출 및 정정 회로 | |
US11156664B2 (en) | Scan chain techniques and method of using scan chain structure | |
CN110908825B (zh) | 一种数据读取方法、装置、存储设备及存储介质 | |
TWI633435B (zh) | 避免讀取擾動的資料搬移方法以及使用該方法的裝置 | |
CN101836261A (zh) | 半导体存储装置及其控制方法 | |
US11881282B2 (en) | Memory device with detection of out-of-range operating temperature |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120718 |