CN101057226A - 非易失性存储器系统 - Google Patents
非易失性存储器系统 Download PDFInfo
- Publication number
- CN101057226A CN101057226A CNA2005800384871A CN200580038487A CN101057226A CN 101057226 A CN101057226 A CN 101057226A CN A2005800384871 A CNA2005800384871 A CN A2005800384871A CN 200580038487 A CN200580038487 A CN 200580038487A CN 101057226 A CN101057226 A CN 101057226A
- Authority
- CN
- China
- Prior art keywords
- nonvolatile memory
- mentioned
- volatile memory
- command
- write
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/004—Error avoidance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Storage Device Security (AREA)
- Read Only Memory (AREA)
Abstract
本发明提供一种在运算处理装置误工作等情况下无需设置外置电路而以低成本防止针对非易失性存储器的误写入和误擦除的技术。本发明的非易失性存储器系统包括:非易失性存储器;易失性存储器,对程序进行存储,该程序包含对非易失性存储器的内容进行改写的操作命令;运算处理单元,控制非易失性存储器和易失性存储器;第一无效命令写入单元,在初始化时,在存储针对非易失性存储器的操作命令用的易失性存储器的预定地址写入无效命令以代替操作命令;控制装置,在非易失性存储器的操作开始前,在存储有无效命令的易失性存储器的预定地址写入操作命令,根据操作命令来操作非易失性存储器;以及第二无效命令写入单元,在非易失性存储器的操作执行后,在易失性存储器的预定地址写入无效命令。
Description
技术领域
本发明涉及非易失性存储器系统,特别是,涉及包括非易失性存储器、对包含改写上述非易失性存储器内容的操作命令的程序进行存储的易失性存储器、以及控制上述非易失性存储器和上述易失性存储器的运算处理装置的非易失性存储器系统。
背景技术
将具有CPU、非易失性存储器和易失性存储器等的IC芯片(半导体集成电路)安装在塑料制造的卡上所形成的IC卡与目前得到广泛应用的磁卡相比,由于可存储更大量的数据、或者能够进行数据加密从而保密性优越等,因而开始普及。另外,近年来,作为装载于IC卡上的非易失性存储器,与现有的EEPROM相比,安装了可存储更大量数据的闪速型EEPROM(闪速存储器)的IC卡正在实用化。
一般地,现有的闪速存储器的数据存储区由块单位构成,在实施一次写入、改写其数据的情况下,需要在擦除对数据进行改写的块中所存储的数据之后进行再写入。并且,针对闪速存储器的数据的写入和擦除,不能按照存储在单一的闪速存储器中的程序直接对该闪速存储器本身实施数据的写入和数据的擦除。因此,一般来说,将针对闪速存储器的包含数据的写入命令的程序和包含数据的擦除命令的程序预先传送给RAM等易失性存储器、进行闪速存储器的数据写入或数据擦除时,根据存储在上述易失性存储器中的写入命令或擦除命令,对闪速存储器执行写入和擦除。
根据附图对现有技术一般使用的针对闪速存储器的数据写入以及擦除技术的一例进行说明。
图1示出了一般的IC卡系统的结构。IC卡6至少由1个CPU1、非易失性存储器2、易失性存储器3和通信接口4构成,通过通信接口4与终端装置5进行指令交换,由此,进行工作。
CPU1按照存储在非易失性存储器2中的控制程序对IC卡6的各结构要素进行控制。例如,IC卡6通过通信接口4从终端装置5接收到对非易失性存储器2写入数据的指令时,CPU1按照写入到非易失性存储器2中的控制程序,执行针对非易失性存储器2的写入工作,若写入工作结束,则通过通信接口4将指令的执行结果发送给终端装置5。
如图2(a)所示,非易失性存储器2由块1~块N构成。非易失性存储器2配置为CPU1可访问的地址空间,在块1中预先存储有IC卡6的控制程序。控制程序由CPU1可执行的命令组构成,包含用于对非易失性存储器2写入数据的写入程序以及用于擦除非易失性存储器2的数据的擦除程序。在此处,在控制程序中还包含用于对IC卡6进行初始化工作的初始化程序。块2~N存储利用IC卡6服务用的应用程序或各种数据。
如图2(b)所示,易失性存储器3配置为CPU1可访问的地址空间,由以下区域构成:对写入子程序进行存储的区域,该写入子程序包含针对非易失性存储器2的写入命令;对擦除子程序进行存储的区域,该擦除子程序包含非易失性存储器2的擦除命令;以及其它作业区域等。
然后,根据图3至图7对CPU1所执行的控制程序的工作进行说明。
图3是表示存储在非易失性存储器2中的控制程序开始执行时初始化程序的工作的流程图。CPU1在控制程序开始执行后(步骤S001),执行非易失性存储器2的初始化程序,将针对非易失性存储器2的写入子程序传送到易失性存储器3(步骤S002),将非易失性存储器2的擦除子程序传送到易失性存储器3(步骤S003)。
然后,根据图4和图5的流程图说明对非易失性存储器2的数据写入。
图4示出了存储在非易失性存储器2内的控制程序中所包含的针对非易失性存储器2的写入程序的工作。CPU1按照非易失性存储器2上的写入程序,首先将存储有写入源数据的区域的起始地址设定为变量SRC(步骤S101),将写入目的地的非易失性存储器2上的地址设定为变量DST(步骤S102),将写入数据数目N设定为变量CNT(步骤S103)。然后,CPU1调用图5所示的易失性存储器3上的写入子程序(步骤S104)。CPU1在执行存储于易失性存储器3中的程序后,结束非易失性存储器2的写入程序(步骤S105)。
图5示出了在图3的步骤S002中传送给易失性存储器3的、针对非易失性存储器2的写入子程序的工作。首先,CPU1确认写入数据数目CNT(步骤S201)。在步骤S201中,在写入数据数目CNT为0以外的情况下,从地址SRC所表示的写入源数据的存储区取得写入数据(步骤S202)。接着,对非易失性存储器2的写入目的地地址DST执行写入命令,开始写入数据(步骤S203)。若确认数据的写入完成(在步骤S204中为“是”的分支),为了准备下一个数据的写入,CPU1将地址SRC以及DST的值更新为下一个地址的值。在此处,例如,使地址SRC以及DST的值都增加1(步骤S205)。并且,使写入数据数目CNT减少1(步骤S206),转到步骤S201,继续进行以后的处理。在步骤S201中,CPU1判定为写入数据数目CNT为0、全部数据的写入已结束时,结束写入子程序(步骤S207)。
根据图6和图7的流程图说明非易失性存储器2的数据擦除。图6示出了存储在非易失性存储器2内的控制程序中所包含的擦除程序的工作。CPU1按照非易失性存储器2上的擦除程序,首先将非易失性存储器2上的擦除目的地的地址设定为变量DST(步骤S301)。然后,CPU1调用图7所示的易失性存储器3上的擦除子程序(步骤S302)。CPU1在执行存储于易失性存储器3中的程序后,结束非易失性存储器2的擦除程序(步骤S303)。
图7示出了在图3的步骤S003中预先传送给易失性存储器3的、非易失性存储器2的擦除子程序的工作。CPU1对非易失性存储器2的擦除目的地的地址DST执行数据擦除命令,开始数据的擦除(步骤S401)。然后,若确认数据的擦除完成(在步骤S402中为“是”的分支),则CPU1结束擦除子程序(步骤S403)。
此外,希望出现以下技术:IC卡在将个人信息等写入到非易失性存储器中并加以利用的性质方面优良,尤其是在IC卡的CPU由于某种原因而运行失控的情况下能防止针对装载于IC卡上的非易失性存储器的数据误写入或数据误消失。
然而,在上述现有技术中,在CPU由于某种原因而误工作,错误地分支到存储有写入子程序以及擦除子程序的易失性存储器的地址的情况下,由于未执行位于非易失性存储器内的正常的写入程序以及擦除程序的正常过程,所以,会产生非本意的针对闪速存储器的数据写入或擦除动作,在最坏的情况下,存在导致IC卡发生故障的可能性。
与这样的现有技术相对,作为防止针对非易失性存储器的误写入的技术,例如,存在如下的存储器装置(例如,参照专利文献1):具有非易失性存储器、控制针对该非易失性存储器的写入以及读出的单元、监视电源电压的单元,在对该非易失性存储器进行写入时,监视该电源电压的单元检测出电源电压降低时禁止写入。该存储器装置不设置外置电路即可防止针对非易失性存储器的数据误写入。另外,还具有根据该写入禁止而存储写入失败了的单元、和在针对上述非易失性存储器的写入结束后读出该存储单元内容的单元,可确认针对非易失性存储器的写入是否正常结束。
另外,作为防止因程序处理的运行失控而进行非易失性存储器的数据误写入的技术,例如,存在如下的数据保护装置(例如,参照专利文献2):在对单片微型计算机进行初始化时,在将指定数据预先存入RAM的指定地址、确认具有易失特性的RAM的指定地址的内容与初始化时刻的内容相同以后,移至闪速存储器的数据写入工作。该数据保护装置在单片微型计算机的程序处理运行失控时,因为RAM的指定地址的内容与在初始化时刻本意生成的内容不同,所以,即使伴随程序处理的运行失控而错误地执行写入用的子例行程序(subroutineprogram)命令,也可防止闪速存储器的误写入。
专利文献1:特开平8-22422号公报
专利文献2:特开2000-112826号公报
然而,对于专利文献1的存储器装置来说,对电源电压进行监视,只有在检测出电源电压降低时才禁止针对非易失性存储器的写入,所以,在电源电压正常而CPU运行失控的情况下,仍无法防止针对非易失性存储器的误写入。另外,对于专利文献2的数据保护装置来说,由于需要对初始化时刻的RAM的内容进行存储的单元,所以,为了实现该数据保护装置,需要设置外置电路,难以用低成本实现。
发明内容
本发明是鉴于上述问题而进行的,其目的在于提供一种技术,其中即使CPU等运算处理装置误工作而分支到存储有写入命令或擦除命令的易失性存储器的预定地址等时,也无需设置外置电路而以低成本防止针对非易失性存储器的误写入以及误擦除。
为达到上述目的,本发明的非易失性存储器系统包括:非易失性存储器;易失性存储器,对程序进行存储,该程序包含对上述非易失性存储器的内容进行改写的操作命令;运算处理装置,对上述非易失性存储器和上述易失性存储器进行控制,其中,具有:第一无效命令写入单元,在初始化时,向上述易失性存储器的预定地址写入无效命令以代替上述操作命令,该易失性存储器的预定地址用于存储针对上述非易失性存储器的上述操作命令;控制单元,在上述非易失性存储器的操作开始前,向存储有上述无效命令的上述易失性存储器的上述预定地址写入上述操作命令,根据上述操作命令对上述非易失性存储器进行操作;第二无效命令写入单元,在上述非易失性存储器的操作执行后,向上述易失性存储器的上述预定地址写入无效命令。
按照本特征,即使运算处理装置误工作而不正常地分支到存储有程序的易失性存储器的地址的情况下,由于操作命令被置换为无效命令并存储起来,所以,执行无效命令,上述程序包含对非易失性存储器进行操作的命令。因此,不执行针对非易失性存储器的操作,可防止非易失性存储器的误操作。
上述本发明的非易失性存储器系统的特征在于,上述程序包含针对上述非易失性存储器的写入命令,上述第一无效命令写入单元以及第二无效命令写入单元向存储上述写入命令的上述易失性存储器的预定地址写入上述无效命令。
按照本特征,即使运算处理装置误工作而不正常地分支到存储针对非易失性存储器的写入命令的易失性存储器的地址时,因为在易失性存储器的上述地址中存储的是无效命令而不是针对非易失性存储器的写入命令,所以,不执行针对非易失性存储器的写入,可防止针对非易失性存储器的误写入。
具有上述任意特征的本发明的非易失性存储器系统的特征在于,上述程序包含针对上述非易失性存储器的擦除命令,上述第一无效命令写入单元以及第二无效命令写入单元向存储上述擦除命令的上述易失性存储器的预定地址写入上述无效命令。
按照本特征,即使运算处理装置误工作而不正常地分支到存储非易失性存储器的擦除命令的易失性存储器的地址时,由于易失性存储器的上述地址存储的是无效命令而不是非易失性存储器的擦除命令,所以,不执行非易失性存储器的擦除,可防止非易失性存储器的误擦除。
另外,具有上述任意特征的本发明的非易失性存储器系统的特征在于,上述无效命令是使上述运算处理装置复位的命令。
按照本特征,在运算处理装置误工作而不正常地分支到存储有非易失性存储器的操作命令的易失性存储器的地址时,由于在易失性存储器的上述地址中存储的是运算处理装置的复位命令而不是非易失性存储器的操作命令,所以,执行该复位命令。从而,由于不执行非易失性存储器的操作就使运算处理装置复位,所以,可防止非易失性存储器的误工作。
此外,具有上述任意特征的本发明的非易失性存储器系统的特征在于,上述无效命令是上述运算处理装置中的无操作命令。
按照本特征,在运算处理装置误工作而不正常地分支到存储有非易失性存储器的操作命令的易失性存储器的地址时,由于在易失性存储器的上述地址中存储的是运算处理装置的无操作命令而不是非易失性存储器的操作命令,所以,不执行非易失性存储器的操作。由此,可防止非易失性存储器的误工作。
此外,具有上述任意特征的本发明的其他非易失性存储器系统的特征在于,上述无效命令是上述运算处理装置中的未定义命令。
按照本特征,在运算处理单元误工作而不正常地分支到存储有非易失性存储器的操作命令的易失性存储器的地址时,由于在易失性存储器的上述地址中存储的是运算处理装置的未定义命令而不是非易失性存储器的操作命令,所以,不执行非易失性存储器的操作。并且,检测到运算处理装置的未定义命令执行错误,可防止非易失性存储器的误工作。
另外,本发明的非易失性存储器控制程序的特征在于:包含在计算机上执行上述任意特征的本发明非易失性存储器系统中的各单元功能的程序步骤。
按照本发明的非易失性存储器控制程序,可起到本发明的非易失性存储器系统的全部上述作用效果,能无需设置外置电路而以低成本防止非易失性存储器的误工作。
附图说明
图1是表示IC卡系统的结构的方框图。
图2是表示装载于IC卡系统中的非易失性存储器和易失性存储器结构的说明图。
图3是表示装载于现有技术的IC卡系统中的非易失性存储器内所存储的控制程序的初始化工作的流程图。
图4是表示现有技术的非易失性存储器的控制程序工作的流程图。
图5是表示现有技术的非易失性存储器的写入子程序工作的流程图。
图6是表示现有技术的非易失性存储器的控制程序工作的流程图。
图7是表示现有技术的非易失性存储器的擦除子程序工作的流程图。
图8是表示装载于本发明的IC卡系统中的非易失性存储器内所存储的控制程序的初始化工作的流程图。
图9是表示传送到装载于本发明的IC卡系统中的易失性存储器内的写入子程序的配置的说明图。
图10是表示传送到装载于本发明的IC卡系统中的易失性存储器内的擦除子程序的配置的说明图。
图11是表示本发明的控制程序的工作的流程图。
图12是表示本发明的写入子程序的工作的流程图。
图13是表示本发明的控制程序的工作的流程图。
图14是表示本发明的擦除子程序的工作的流程图。
图15是表示命令置换后的本发明的易失性存储器的写入子程序的配置的图。
图16是表示命令置换后的本发明的易失性存储器的擦除子程序的配置的图。
具体实施方式
然后,根据附图说明本发明的非易失性存储器系统(以下,适当地称为“本发明系统”)的一种实施方式。
本实施方式的非易失性存储器系统应用于IC卡系统,所述IC卡系统包括:非易失性存储器;易失性存储器,对程序进行存储,该程序包含改写上述非易失性存储器的内容的操作命令;以及运算处理装置,控制上述非易失性存储器和上述易失性存储器。上述非易失性存储器系统构成为由作为运算处理装置的一例的CPU在IC卡系统上所执行的程序。
本实施方式中的IC卡系统具有与图1所示的现有技术的IC卡系统的一般硬件结构相同的硬件结构。如图1所示,IC卡6由CPU1、非易失性存储器2、易失性存储器3和通信接口4构成,通过通信接口4与终端装置5进行指令的交换,由此进行工作。
CPU1按照存储在非易失性存储器2中的控制程序控制IC卡6的各结构要素。在此处,在本实施方式中,改写非易失性存储器2的内容的操作命令是写入命令以及擦除命令。而且,在IC卡6通过通信接口4从终端装置5接收到改写非易失性存储器2的内容的指令的情况下,CPU1按照写入到非易失性存储器2中的控制程序,执行用于改写非易失性存储器2的内容的操作,即,执行写入命令和擦除命令中的至少某一命令,若这些操作结束,则通过通信接口4将上述指令的执行结果发送给终端装置5。
如图2(a)所示,非易失性存储器2由块1~块N构成。非易失性存储器2配置为CPU1可访问的地址空间,在块1中预先存储有IC卡6的控制程序。控制程序由CPU1可执行的命令组构成,包括用于对非易失性存储器2写入数据的写入程序和用于擦除非易失性存储器2的数据的擦除程序。在本实施方式中,在控制程序中还包括用于进行IC卡6的初始化工作的初始化程序。块2~N存储用于利用IC卡6的服务的应用程序或各种数据。
如图2(b)所示,易失性存储器3配置为CPU1可访问的地址空间,由如下区域构成:存储写入子程序的区域,该写入子程序包含针对非易失性存储器2的写入命令;存储擦除子程序的区域,该擦除子程序包含非易失性存储器2的擦除命令;以及其它作业区域等。这些子程序预先被存储在非易失性存储器2中,在非易失性存储器2中所存储的控制程序开始执行时,在初始化程序中,将这些子程序从非易失性存储器2中传送并存储到易失性存储器3的预定区域。
然后,根据图8至图16说明CPU1所执行的控制程序的工作。
图8是表示存储在非易失性存储器2中的控制程序开始执行时初始化程序的工作的流程图,示出了将存储在非易失性存储器2中的写入子程序和擦除子程序传送到易失性存储器3时的工作。
CPU1在非易失性存储器2的控制程序开始执行后(步骤S501),首先执行非易失性存储器2的初始化程序,将存储在非易失性存储器2中针对非易失性存储器2的写入子程序传送并存储到易失性存储器3的预定区域(步骤S502)。此时,在应存储针对非易失性存储器2的写入命令的易失性存储器3上的地址中,写入无效命令,而不是写入写入命令。作为写入的无效命令,在此处,写入CPU1的软件复位命令。然后,将存储在非易失性存储器2中的非易失性存储器2的擦除子程序传送并存储到易失性存储器3的预定区域(步骤S503)。此时,在应存储非易失性存储器2的擦除命令的易失性存储器3上的地址中,写入无效命令,而不是写入擦除命令。作为写入的无效命令,在此处,写入CPU1的软件复位命令。
在此处,图9示出了在步骤S502中传送并存储到易失性存储器3的写入子程序的配置。该写入子程序被配置为可从存储在非易失性存储器2中的写入程序调用的子例行程序(subroutine)。在该时刻,在应存储针对非易失性存储器2的写入命令的易失性存储器3的地址,配置CPU1的软件复位命令作为无效命令。
图10示出了在步骤S503中传送并存储到易失性存储器3的、非易失性存储器2的擦除子程序的配置。擦除子程序被配置为可从存储在非易失性存储器2中的擦除程序调用的子例行程序。在该时刻,在应存储非易失性存储器2的擦除命令的易失性存储器3的地址,配置CPU1的软件复位命令作为无效命令。
根据图11和图12的流程图说明针对非易失性存储器2的数据写入。
图11示出了存储在非易失性存储器2内的控制程序中所包含的写入程序的工作。CPU1按照非易失性存储器2上的写入程序,首先将存储有写入源数据的区域的起始地址设定为变量SRC(步骤S601)。然后,将写入目的地的非易失性存储器2上的地址设定为变量DST(步骤S602),将写入数据数目N设定为变量CNT(步骤S603)。
然后,CPU1将已写入到易失性存储器3的地址上的作为无效命令的CPU1的软件复位命令置换为正常的写入命令(步骤S604),所述易失性存储器3的地址是应存储写入命令的地址。在此处,图15图示了在步骤S604中进行命令置换后的、易失性存储器3上的写入子程序的配置。在该时刻,在易失性存储器3的应存储写入命令的地址上配置正常的写入命令。在命令置换后,CPU1调用图12所示的易失性存储器3上的写入子程序(步骤S605),执行存储于易失性存储器3中的写入子程序。CPU1在写入子程序的执行结束后,将写入到易失性存储器3中的正常的写入命令置换为作为无效命令的CPU1的软件复位命令(步骤S606),结束写入子程序(步骤S607)。
图12示出了在步骤S502中预先传送给易失性存储器3的写入子程序的工作。首先,CPU1确认写入数据数目CNT(步骤S701)。在步骤S701中,在写入数据数目CNT为0以外的情况下,从地址SRC表示的写入源数据的存储区取得写入数据(步骤S702)。接着,对非易失性存储器2的写入目的地的地址DST执行写入命令,开始数据的写入(步骤S703)。若确认数据的写入完成(在步骤S704中为“是”的分支),为了准备下一个数据的写入,CPU1将地址SRC和地址DST的值更新为下一个地址的值。在本实施方式中,使地址SRC和地址DST的值都增加1(步骤S705)。并且,使写入数据数目CNT减少1(步骤S706),转到步骤S701,继续以后的处理。在步骤S701中,在CPU1判定为写入数据数目CNT为0、全部写入已结束时,结束写入子程序(步骤S707)。
然后,说明CPU1由于某种原因而误工作、程序错误地分支到包括存储有写入子程序的区域的易失性存储器3上的区域的情况。
此时,非易失性存储器2上的写入程序未被正确地执行,图11所示的写入程序的步骤S604中的命令置换未被执行,分支到易失性存储器3上的任意区域。此时的易失性存储器3上的写入子程序的结构为图9所示的结构,成为在应存储写入命令的易失性存储器3的地址中配置有作为无效命令的CPU1的软件复位命令的状态。因此,在图12所示的流程图中,在程序因CPU1的运行失控分支到易失性存储器3时,不执行步骤S703的写入命令,实际上执行步骤S703’的无效命令。在此处,由于写入CPU1的软件复位命令作为无效命令,所以,发生复位,不执行针对非易失性存储器2的写入。由此,可防止针对非易失性存储器2的误写入。
根据图13和图14的流程图说明非易失性存储器2的数据擦除。图13示出了存储在非易失性存储器2内的控制程序中所包含的擦除程序的工作。CPU1按照非易失性存储器2上的擦除程序,首先将非易失性存储器2上的擦除目的地的地址设定为变量DST(步骤S801)。
接着,CPU1将已写入到易失性存储器3的地址上的作为无效命令的CPU1的软件复位命令置换为正常的擦除命令(步骤S802),该易失性存储器3的地址是应存储擦除命令的地址。在此处,图16示出了在步骤S802中进行了命令置换后的、易失性存储器3上的擦除子程序的配置。在该时刻,在易失性存储器3的应存储擦除命令的地址配置正常的擦除命令。在命令置换后,CPU1调用图14所示的易失性存储器3上的擦除子程序(步骤S803),执行存储于易失性存储器3中的擦除子程序。CPU1在擦除子程序的执行结束后,将写入到易失性存储器3中的正常的擦除命令置换为作为无效命令的CPU1的软件复位命令(步骤S804),结束擦除子程序(步骤S805)。
图14示出了在步骤S503中预先传送给易失性存储器3的擦除子程序的工作。CPU1对非易失性存储器2的擦除目的地的地址DST执行数据擦除命令,开始数据的擦除(步骤S901)。接着,若确认数据的擦除完成(在步骤S902中为“是”的分支),则CPU1结束擦除子程序(步骤S903)。
然后,说明CPU1由于某种原因而误工作、程序错误地分支到包含存储有擦除子程序的区域的易失性存储器3上的区域的情况。
此时,图13所示的擦除程序的步骤S802中的命令置换未被执行,分支到易失性存储器3上的任意区域。此时的易失性存储器3上的擦除子程序的结构为图10所示的结构,成为在应存储擦除命令的易失性存储器3的地址配置有作为无效命令的CPU1的软件复位命令的状态。因此,在图14所示的流程图中,在程序因CPU1的运行失控而分支到易失性存储器3的情况下,不执行步骤S901的擦除命令,实际上执行步骤S901’的无效命令。在此处,由于写入CPU1的软件复位命令作为无效命令,所以,发生复位,不执行非易失性存储器2上的数据的擦除。由此,可防止非易失性存储器2的误擦除。
其它实施方式
在上述实施方式中,对在图8的步骤S502以及步骤S503、图11的步骤S606、图13的步骤S804中应用CPU1的软件复位命令作为在易失性存储器3上的应存储写入命令以及擦除命令的地址中写入的无效命令的例子进行了说明,但应用CPU1可执行的其它命令也是合适的。作为可执行的其它命令,有如CPU1的NOP命令这样的无操作命令、CPU1的未定义命令等。
对使用无操作命令作为无效命令的情况进行说明。在CPU1运行失控时,在分支到易失性存储器3的写入子程序的区域时,在图12的步骤S703’中不对非易失性存储器2进行操作而进入下一步骤。同样地,在CPU1运行失控时,在分支到易失性存储器3的擦除子程序的区域时,在图14的步骤S901’中不对非易失性存储器2进行操作而进入下一步骤。从而,在使用无操作命令作为无效命令的情况下,与用软件复位命令作为无效命令的情况相同,也可防止针对非易失性存储器2的误写入和误擦除。
对使用CPU1的未定义命令作为无效命令的情况进行说明。在CPU1运行失控时,在分支到易失性存储器3的写入子程序的区域时,在图12的步骤S703’中不对非易失性存储器2进行操作,而检测出未定义命令执行错误。同样地,在CPU1运行失控时,在分支到易失性存储器3的擦除子程序的区域时,在图14的步骤S901’中不对非易失性存储器2进行操作而检测出未定义命令执行错误。从而,在使用未定义命令作为无效命令的情况下,与使用软件复位命令作为无效命令的情形相同,也可防止针对非易失性存储器2的误写入和误擦除。
并且,本发明的非易失性存储器系统也可应用于如下系统:非易失性存储器、易失性存储器和运算处理装置中的任意一个为多个的系统。另外,还适合应用于这些结构装载在多个系统上的情况。
工业上的可利用性
本发明的非易失性存储器系统可应用于包括如下部分的非易失性存储器系统:非易失性存储器;易失性存储器,对程序进行存储,该程序包含对上述非易失性存储器的内容进行改写的操作命令;运算处理装置,控制上述非易失性存储器和上述易失性存储器。
Claims (7)
1.一种非易失性存储器系统,包括:非易失性存储器;易失性存储器,对程序进行存储,该程序包含对上述非易失性存储器的内容进行改写的操作命令;以及运算处理装置,对上述非易失性存储器和上述易失性存储器进行控制,其特征在于,具有:
第一无效命令写入单元,在初始化时,在上述易失性存储器的预定地址写入无效命令以代替上述操作命令,该易失性存储器的预定地址用于存储针对上述非易失性存储器的上述操作命令;
控制单元,在上述非易失性存储器的操作开始前,向存储有上述无效命令的上述易失性存储器的上述预定地址写入上述操作命令,根据上述操作命令对上述非易失性存储器进行操作;以及
第二无效命令写入单元,在上述非易失性存储器的操作执行后,向上述易失性存储器的上述预定地址写入无效命令。
2.如权利要求1的非易失性存储器系统,其特征在于,
上述程序包含针对上述非易失性存储器的写入命令,上述第一无效命令写入单元以及上述第二无效命令写入单元向存储上述写入命令的上述易失性存储器的预定地址写入上述无效命令。
3.如权利要求1或2的非易失性存储器系统,其特征在于,
上述程序包含针对上述非易失性存储器的擦除命令,上述第一无效命令写入单元以及上述第二无效命令写入单元向存储上述擦除命令的上述易失性存储器的预定地址写入上述无效命令。
4.如权利要求1或2的非易失性存储器系统,其特征在于,
上述无效命令是使上述运算处理装置复位的命令。
5.如权利要求1或2的非易失性存储器系统,其特征在于,
上述无效命令是上述运算处理装置中的无操作命令。
6.如权利要求1或2的非易失性存储器系统,其特征在于,
上述无效命令是上述运算处理装置中的未定义命令。
7.一种非易失性存储器系统的控制程序,由权利要求1的非易失性存储器系统的上述运算处理装置执行,其特征在于,具有下述步骤:
第一无效命令写入步骤,在初始化时,向上述易失性存储器的预定地址写入无效命令以代替上述操作命令,该易失性存储器的预定地址用于存储针对上述非易失性存储器的上述操作命令;
控制步骤,在上述非易失性存储器的操作开始前,向存储有上述无效命令的上述易失性存储器的上述预定地址写入上述操作命令,根据上述操作命令对上述非易失性存储器进行操作;以及
第二无效命令写入步骤,在上述非易失性存储器的操作执行后,向上述易失性存储器的上述预定地址写入无效命令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004325953A JP4452158B2 (ja) | 2004-11-10 | 2004-11-10 | 不揮発性メモリシステム |
JP325953/2004 | 2004-11-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101057226A true CN101057226A (zh) | 2007-10-17 |
CN100565480C CN100565480C (zh) | 2009-12-02 |
Family
ID=36336375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005800384871A Expired - Fee Related CN100565480C (zh) | 2004-11-10 | 2005-10-27 | 非易失性存储器系统 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20080162837A1 (zh) |
EP (1) | EP1821214A4 (zh) |
JP (1) | JP4452158B2 (zh) |
CN (1) | CN100565480C (zh) |
AU (1) | AU2005303305A1 (zh) |
TW (1) | TW200632653A (zh) |
WO (1) | WO2006051692A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103369018A (zh) * | 2012-04-06 | 2013-10-23 | 株式会社东芝 | 存储系统及存储系统的无线通信方法 |
CN116540947A (zh) * | 2023-07-04 | 2023-08-04 | 苏州萨沙迈半导体有限公司 | 数据擦写的方法、装置、存储介质和单片机 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090199014A1 (en) * | 2008-02-04 | 2009-08-06 | Honeywell International Inc. | System and method for securing and executing a flash routine |
JP5297761B2 (ja) * | 2008-10-28 | 2013-09-25 | 株式会社ワイ・イー・データ | Usbメモリ用書き込み防止アダプタ装置 |
US20100169708A1 (en) * | 2008-12-29 | 2010-07-01 | John Rudelic | Method and apparatus to profile ram memory objects for displacment with nonvolatile memory |
EP2306416A1 (en) * | 2009-09-25 | 2011-04-06 | Incard SA | Improved method for pre-personalizing an IC Card |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3512252B2 (ja) * | 1994-11-02 | 2004-03-29 | 大日本印刷株式会社 | Cpuを内蔵した情報記録媒体 |
US6085282A (en) * | 1997-09-24 | 2000-07-04 | Motorola, Inc. | Method and apparatus for distinguishing register reads from memory reads in a flash memory |
JPH11259371A (ja) * | 1998-03-12 | 1999-09-24 | Denso Corp | 電子制御装置及び電子制御装置のプログラム書き換え方法 |
-
2004
- 2004-11-10 JP JP2004325953A patent/JP4452158B2/ja not_active Expired - Fee Related
-
2005
- 2005-10-27 EP EP05799367A patent/EP1821214A4/en not_active Withdrawn
- 2005-10-27 WO PCT/JP2005/019766 patent/WO2006051692A1/ja active Application Filing
- 2005-10-27 AU AU2005303305A patent/AU2005303305A1/en not_active Abandoned
- 2005-10-27 US US11/666,351 patent/US20080162837A1/en not_active Abandoned
- 2005-10-27 CN CNB2005800384871A patent/CN100565480C/zh not_active Expired - Fee Related
- 2005-11-10 TW TW094139497A patent/TW200632653A/zh unknown
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103369018A (zh) * | 2012-04-06 | 2013-10-23 | 株式会社东芝 | 存储系统及存储系统的无线通信方法 |
CN103369018B (zh) * | 2012-04-06 | 2016-08-03 | 株式会社东芝 | 存储系统及存储系统的无线通信方法 |
CN116540947A (zh) * | 2023-07-04 | 2023-08-04 | 苏州萨沙迈半导体有限公司 | 数据擦写的方法、装置、存储介质和单片机 |
CN116540947B (zh) * | 2023-07-04 | 2023-10-13 | 苏州萨沙迈半导体有限公司 | 数据擦写的方法、装置、存储介质和单片机 |
Also Published As
Publication number | Publication date |
---|---|
TW200632653A (en) | 2006-09-16 |
EP1821214A4 (en) | 2008-12-31 |
JP4452158B2 (ja) | 2010-04-21 |
WO2006051692A1 (ja) | 2006-05-18 |
CN100565480C (zh) | 2009-12-02 |
JP2006139341A (ja) | 2006-06-01 |
US20080162837A1 (en) | 2008-07-03 |
EP1821214A1 (en) | 2007-08-22 |
AU2005303305A1 (en) | 2006-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170068451A1 (en) | Storage Device and Method for Detecting and Handling Burst Operations | |
US9928169B2 (en) | Method and system for improving swap performance | |
US8380945B2 (en) | Data storage device, memory system, and computing system using nonvolatile memory device | |
KR101861170B1 (ko) | 마이그레이션 관리자를 포함하는 메모리 시스템 | |
US9665296B2 (en) | Method and computing device for using both volatile memory and non-volatile swap memory to pre-load a plurality of applications | |
US7773420B2 (en) | Memory card system including NAND flash memory and SRAM/NOR flash memory, and data storage method thereof | |
TW201915734A (zh) | 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置 | |
CN109697027B (zh) | 包括共享存储器区域和专用存储器区域的数据存储设备 | |
CN113515231A (zh) | 数据存储装置及其操作方法 | |
US10942677B2 (en) | Method for performing access management of memory device, associated memory device and controller thereof, associated host device and associated electronic device | |
US9710198B2 (en) | Method and computing device for controlling bandwidth of swap operations | |
CN101057226A (zh) | 非易失性存储器系统 | |
US9633233B2 (en) | Method and computing device for encrypting data stored in swap memory | |
US11262928B2 (en) | Storage system and method for enabling partial defragmentation prior to reading in burst mode | |
US11543990B2 (en) | Data storage apparatus with extended lifespan and operation method thereof | |
CN111752853A (zh) | 控制器、存储器系统及其操作方法 | |
US20220365679A1 (en) | Storage System and Method for Using Read and Write Buffers in a Memory | |
CN1242418C (zh) | 信息存储设备 | |
US20150324132A1 (en) | Method and Computing Device for Fast Erase of Swap Memory | |
US20200301852A1 (en) | Memory system, computing apparatus and operation method thereof | |
CN111752854A (zh) | 数据存储装置及其操作方法 | |
CN111831586A (zh) | 数据存储设备及其操作方法、使用数据存储设备的控制器 | |
US11704236B2 (en) | Method and storage system with a layered caching policy | |
US11797190B2 (en) | Data storage device and method for providing a temperature-driven variable storage capacity point | |
US11194482B1 (en) | Storage system and method for segregating outliers in a virtualization system |
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: 20091202 Termination date: 20171027 |
|
CF01 | Termination of patent right due to non-payment of annual fee |