非易失性存储卡的制作方法

文档序号:6379541阅读:146来源:国知局
专利名称:非易失性存储卡的制作方法
技术领域
本发明涉及一种存储卡,并且尤其涉及一种有效用于实现使用非易失性存储器的存储卡的多种功能的技术。
背景技术
作为个人计算机的存储设备、多功能的外设等,存储卡正快速地推广。与近年来对更高性能的要求相联系,作为将被安装在存储卡上的半导体存储器,使用了例如、诸如闪速存储器之类的非易失性存储器,它能够一次全部地被电擦除和重写,并且能够保持大量数据。
在这样一个存储卡中,控制程序被保存在置于存储卡中的ROM(只读存储器)等中。在某些情况下,诸如用于控制程序的补丁程序、以及用于扩展保存在ROM中的控制程序的功能的补充控制程序之类的固件被保存在一个闪速存储器中。
固件(在下文,还被称作闪速存储器上固件)能够被随意地多次重写。甚至能够很容易地对组装到产品中的闪速存储器上的固件随意进行功能的改变、增加等。
在某些多媒体卡中,由固件设置命令以及数据格式的有效性或者无效性(例如,日本未经审查的专利公开2003-085509)。
此外,在某些IC卡中,除了ROM中的一个命令表之外,在诸如EEPROM(Electrically Erasable and Programmable ROM,电可擦可编程只读存储器)之类的非易失性存储器中也提供一个命令表。在ROM中的命令表已知或者可以由第三方获知的情况下,使用非易失性存储器中的命令表(例如,日本未经审查的专利公开平7(1995)-44672)。

发明内容
然而,在此发明者已经发现了如上所述的存储卡具有下列问题。
由于闪速存储器上固件(firmware on flash memory)在被用作在存储卡启动等时为控制器而提供的CPU的一个工作区的RAM(Random Access Memory,随机存取存储器)中开发,所以在RAM中能够开发的闪速存储器上固件的数据容量受到限制。因此,在闪速存储器上仅仅提供了一个固件。
因此,由闪速存储器上固件执行的补充功能、程序校正等也受到限制,并且担心存储卡的方便性变差了。
在在非易失性存储器中具有一命令表的IC卡中,非易失性存储器和控制器被形成在单个半导体芯片中。此外,尽管EEPROM通常能够在以字节为单位的基础上被随机地存取,但是在非易失性存储器和控制器被形成在不同的半导体芯片中的存储卡中,对非易失性存储器的存取是例如以512个字节为单位的连续存取。
因此,在存储卡的情况下,在一个非易失性存储器中存储闪速存储器上固件、和由控制器读取闪速存储器上固件的配置中,读出速度不同于控制器的操作速度。它导致在数据读出速度和数据传送速度中需要较大的系统开销的问题。
本发明的一个目的是提供一种具有在多个闪速存储器上的多段固件的存储卡,在其中能够通过选择任意一个闪速存储器上固件来增加、修改、改变程序。
本发明的上述及其它目的以及新的特征通过说明书的描述和附图将会变得是显然的。
在本说明书中公开的一个典型发明的概要将被简要地描述如下。
本发明提供了一种非易失性存储卡,其包含一个非易失性半导体存储器,具有多个非易失性存储器单元,并且能够存储预定信息;以及一个控制器,用于基于从外部发出的命令给出非易失性半导体存储器的操作指令,其中非易失性半导体存储器能够存储两段或更多段的固件;并且控制器具有一个用于存储固件的易失性半导体存储器,当一个固件选择指令有效时,控制器从能够保存在易失性半导体存储器中的两段或更多段的固件中选择任意的一个固件,把它存储在易失性半导体存储器中,存取易失性半导体存储器,并且通过固件执行处理。


图1是依据本发明一个实施例的存储卡的方框图。
图2是说明了为图1中的存储卡提供的闪速存储器的内部配置的图表。
图3是显示了为图2中的闪速存储器提供的一个管理区的配置的图表。
图4是依据图1中的存储卡的参数选择闪速存储器上固件的处理过程的流程图。
图5是依据图1中的存储卡通过使用闪速存储器上固件选择命令选择闪速存储器上固件、并且加载固件的处理过程的流程图。
图6是在图1的存储卡中在程序执行期间选择闪速存储器上固件的处理过程的流程图。
图7是通过使用标识码由图1的存储卡检索所选择的闪速存储器上固件的流程图。
图8是由图1的存储卡指定搜索范围并且检索所选择的闪速存储器上固件的流程图。
具体实施例方式
在下文中将参考附图对本发明的实施例加以详细描述。
图1是依据本发明一个实施例的存储卡的方框图。图2是说明了为图1中的存储卡提供的闪速存储器的内部配置的图表。图3是显示了为图2中的闪速存储器提供的一个管理区的配置的图表。图4是依据图1中的存储卡的参数选择闪速存储器上固件的处理过程的流程图。图5是依据图1中的存储卡通过使用闪速存储器上的固件选择命令选择闪速存储器上固件、并且加载固件的处理过程的流程图。图6是在图1的存储卡中在程序执行期间选择闪速存储器上固件的处理过程的流程图。图7是通过使用标识码由图1的存储卡检索所选择的闪速存储器上固件的流程图。图8是由图1的存储卡指定搜索范围并且检索所选择的闪速存储器上固件的流程图。
在该实施例中,存储卡1被用作数字视频摄像机、便携式电话、便携式音乐播放器、个人计算机等中的主机设备HT的外部存储介质。
如图1所示,存储卡1由多个闪速存储器(非易失性半导体存储器)2、和控制器3构成。闪速存储器2是电可擦可编程的非易失性半导体存储器。尽管在此提供了多个闪速存储器2,但是闪速存储器2的数目可以至少为一。
在闪速存储器2中,与存储在内置ROM 6中的程序分开地提供作为用于增加、改变和修改功能的程序的闪速存储器上固件FOF1到FOF3,诸如补丁程序之类。
在此假定三个闪速存储器上固件FOF1到FOF3被保存在闪速存储器2中。保存在闪速存储器2中的闪速存储器上固件的个数可以大于或者小于三。
控制器3连接到主机设备HT,控制闪速存储器2,读取保存在闪速存储器2中的程序、数据等,并将其输出到主机设备HT。控制器3执行用于把从主机HT提供的程序或者数据写入到闪速存储器2中的指令。
控制器3由控制逻辑4、内置RAM(易失性半导体存储器)5、内置ROM 6、外部RAM 7等构成。控制逻辑4执行控制器3中的所有控制。
内置RAM 5是诸如SRAM(Static RAM,静态RAM)之类的易失性存储器,并且被用作为控制逻辑4而提供的CPU的一个工作区。在内置ROM 6中,存储用于操作控制逻辑4等的控制程序。外部RAM 7是一个其中加载有保存在闪速存储器2中的、闪速存储器上固件FOF1到FOF3中的一个的存储器。
图2是说明了闪速存储器2的内部配置的图表。
闪速存储器2由用户可存取区域A1、用户不可存取区域A2构成。
用户可存取区域A1包含能够由用户使用的数据块区域R1、和在其中存储有用于管理数据块区域的数据的管理区域K1。
用户不可存取区域A2是不能由用户存取的区域,并且由数据块备用(spare)区域R2、FOF区域R3、CIS/ID/参数区域R4、和备用表格区域R5构成。
在数据块备用区域R2、FOF区域R3、CIS/ID/参数区域R4、和备用表格区域R5中,分别提供了管理区域K2到K5。
数据块备用区域R2是用于代替发生了故障的数据块区域的区域。管理区域K2存储用于管理数据块备用区域R2的信息。
FOF区域R3是其中存有闪速存储器上固件FOF1到FOF3的区域。在管理区域(固件管理区域)K3中,存储用于管理FOF区域R3的信息。
CIS/ID/参数区域R4是其中存储了存储卡1的驱动器信息ID(Identify Drive Information,标识驱动器信息)、存储卡1的诸如名称、种类、功能之类的信息、CIS(Card Information Structure,卡信息结构)、各种参数等的区域。管理区域K4存储用于管理CIS/ID/参数区域R4的信息。备用表格区域R5是用于存储区域备用区(area)信息的区域。管理区域K5存储用于管理备用表格区域R5的信息。
将通过使用图3中的配置图表描述管理区域K3的配置。
如该图表所示,在管理区域K3中,存储了好扇区代码、FOF(闪速存储器上固件)No.、标识码(固件标识信息)、管理ECC信息等。
好扇区代码是表示在FOF区域R3中的每一个扇区是正常还是异常的代码。FOF(闪速存储器上固件)No.是分配给每一个闪速存储器上固件FOF1到FOF3的编号。
标识码是表示保存在FOF区域R3中的闪速存储器上固件FOF1到FOF3中的每一个的块(在下文,被称作FOF块)的代码,并且被用于检索FOF块。管理ECC信息是用于进行数据校正的ECC(Error Correcting Code,纠错码)信息。
下面将描述在本实施例的存储卡1中的动作。
首先,将参考图4的流程图对在依据参数给出选择闪速存储器上固件FOF1到FOF3的指令(固件选择指令)的情况下、存储卡1的操作进行描述。
在这种情况下,为参数扇区提供一个用于选择闪速存储器上固件FOF1到FOF3的位,并且通过一个在加电等时候执行的重置过程加载由选择位选择的闪速存储器上固件。
首先,在重置过程中,控制器3中的CPU从闪速存储器2中的CIS/ID/参数区域R4中读取一个必需的参数扇区,并且把它存储到外部RAM 7中(步骤S101)。
在那之后,从读取的参数扇区中获得闪速存储器上固件No.(步骤S102)。通过参考闪速存储器2的管理区域K3中的标识码,检查闪速存储器2中是否存在FOF区域R3(步骤S103)。
如果在步骤S103的处理过程中存在FOF区域R3,则执行在FOF区域R3中检索一个FOF块的处理过程(步骤S104)。
在不存在FOF区域R3的情况下,CPU访问内置ROM 6,并且使存储卡1在存储在内置ROM 6中的程序的基础上进行操作。
下面将通过使用图5中的流程图来描述在通过使用用于选择闪速存储器上固件的命令而给出闪速存储器上的固件选择指令的情况下的存储卡1的操作。
首先,当从主机设备HT等接收用于选择闪速存储器上固件的命令时,CPU把用于选择闪速存储器上固件的命令设置到一个为控制逻辑4而提供的任务文件寄存器中(步骤S201)。任务文件寄存器是用于通过一正常命令向/从主机设备传送数据的寄存器。
在那之后,希望被确认的闪速存储器上固件No.被设置在任务文件寄存器中(步骤S202)。通过参考闪速存储器2的管理区域K3中的标识码,检查闪速存储器2中是否存在FOF区域R3(步骤S203)。
如果在步骤S203的处理过程中存在FOF区域R3,则执行用于在FOF区域R3中检索一个FOF块的处理过程(步骤S204)。如果不存在FOF区域R3,则CPU访问内置ROM 6,并且在存储在内置ROM 6中的程序的基础上操作存储卡1。
下面将参考图6中的流程图描述在程序执行期间在用于选择任意闪速存储器上固件的指令的情况下存储卡1的操作。
作为一个例子,将描述闪速存储器上固件FOF1的处理过程期间、新选择和执行闪速存储器上固件FOF 2的情况。在内置ROM 6中的程序的处理过程期间、新选择和执行闪速存储器上固件FOF1到FOF3中的任何一个的处理过程类似于这个例子。
在其中基于闪速存储器上固件FOF1执行任意处理过程(步骤S301)的情况下,CPU确定未被选择的、其它任何一个闪速存储器上固件FOF2或FOF3是否由于中断处理、误差处理等的出现而必须被处理(步骤S302)。
如果未被选择的、其它任何一个闪速存储器上固件FOF2或FOF3必须被处理,则设置将被选择的闪速存储器上固件No.(步骤S303)。
通过参考闪速存储器2的管理区域K3中的标识码,检测闪速存储器2中是否存在FOF区域R3(步骤S304)。
在步骤S304的处理过程中存在FOF区域R3的情况下,执行在FOF区域R3中检索FOF块的处理过程(步骤S305)。
在不存在FOF区域R3的情况下,CPU访问内置ROM 6,并且在存储在内置ROM 6中的程序的基础上操作存储卡1。
下面将参考图4和图6描述检索所选的闪速存储器上固件的处理过程。
下面将参考图7中的流程图描述通过使用管理区域K3的标识码检索所选的闪速存储器上固件的处理过程。
首先,CPU从FOF区域R3的头部地址中读取管理区域K3(步骤S401),并且检查管理区域K3中的标识码(步骤S402)。CPU确定标识码是否表示一个FOF块(步骤S403)。如果在步骤S403的处理过程中所检查的标识码不是表示FOF块的块代码,则完成该处理过程。
如果在步骤S403中为YES,则检查管理区域K3中的闪速存储器上固件No.(步骤S404)。闪速存储器上固件No.的基础上,确定步骤S403的处理过程中的FOF块是否对应于闪速存储器上固件(步骤S405)。
如果在步骤S405中为NO,则增加FOF块的地址(在逆序搜索的情况下,减少FOF块的地址)(步骤S406),并且重复执行步骤S402到S405的处理过程。
当在步骤S405的处理过程中检索到相应的FOF块时,把闪速存储器上固件加载到内置RAM 5中(步骤S407),并且执行该固件的处理过程。
通过加载闪速存储器上固件到能够被随机存取的内置RAM 5中,CPU能够执行高速处理。
下面将通过使用图8中的流程图描述在检索FOF块的同时限制搜索范围的情况。在这种情况下,在参数扇区中设置表示FOF块的范围(FOF区域R3)的地址值。
首先,从CIS/ID/参数区域R4的参数扇区中获得FOF块搜索范围(步骤S501)。
确定在从参数扇区中获得的搜索范围内是否存在FOF区域R3的头部地址(步骤S502)。如果为NO,则完成该处理过程。
如果为YES,则读取管理区域K3(步骤S503),并且检查管理区域K3中的闪速存储器上固件No.(步骤S504)。
从检查的闪速存储器上固件No.中确定FOF块是否对应于闪速存储器上固件(步骤S505)。
如果在步骤S505中为NO,则增加FOF块的地址(在逆序搜索的情况下,减少FOF块的地址)(步骤S506),并且重复执行步骤S502到S505的处理过程。
当在步骤S505的处理过程中检索到相应的FOF块时,把闪速存储器上固件加载到内置RAM 5中(步骤S507),并且执行该固件的处理过程。
因此,依据该实施例,通过将多个闪速存储器上固件设置到闪速存储器2中,能够在存储卡1中实现多个功能。
通过多个闪速存储器上固件,无须改变存储在内置ROM 6中的程序,能够很容易地、灵活地修改、改变、增加程序等。
此外,在该实施例中,闪速存储器上的每一个固件FOF1到FOF3可以是诸如具有安全功能的程序之类的、具有选择功能的程序。
因此,在存储卡1中,通常能够使用内置ROM 6中的程序,而不考虑安全功能的必要性,所以产品管理的成本能够被大大地降低。
尽管以上已经在本发明实施例的基础上具体地描述了在此通过发明者实现的发明,但是显然,本发明不局限于上述的实施例,而是能够被不同地修改而不背离本质。
例如,在该实施例中,存储卡具有这样一个配置,使多个闪速存储器上固件被预先存储在闪速存储器中。另一方面,可以增加新的闪速存储器上固件,或者可以通过由主机设备执行的更新程序等重写闪速存储器上固件。
在增加新的闪速存储器上固件的情况下,例如,在闪速存储器的FOF区域中提供一个备用区域,并且在备用区域中存储将要增加的闪速存储器上固件,或者是在另一个区域、诸如数据块备用区域中存储将要增加的闪速存储器上固件。
利用该配置,本发明能够用于更灵活地修改、改变、补充程序等。
在上述实施例中的闪速存储器可以是在其中设置了多个电压电平阈值的多值闪速存储器,并且一位或者更多位的数据被保存在单个非易失性存储器单元中。
由在该说明书中公开的典型的一个发明获得的效果将被简要地描述如下。
(1)能够实现存储卡的多个功能,并且本发明能够迅速地解决程序的修改、补充等。
(2)通过效果(1),本发明能够提供一个能灵活地跟随市场变化的低成本的存储卡。
权利要求
1.一种非易失性存储卡,包含一个非易失性半导体存储器,具有多个非易失性存储器单元,并且能够存储预定的信息;以及一个控制器,用于基于从外部发出的命令给出所述非易失性半导体存储器的操作指令,其中所述非易失性半导体存储器能够存储两个或更多个固件,以及其中所述控制器具有一个用于存储所述固件的易失性半导体存储器,并且当固件选择指令有效时,所述控制器从可保存在所述易失性半导体存储器中的两个或更多个固件中选择任意一个固件,将其存储在所述易失性半导体存储器中,访问所述易失性半导体存储器,并执行所述固件的处理。
2.如权利要求1所述的非易失性存储卡,其特征在于所述非易失性半导体存储器是一个多值闪速存储器,用于把所述非易失性存储器单元中的一个的阈值电压设置在多个阈值电压电平中的一个之内、并且把一位或更多位的数据存储到所述非易失性存储器单元中的一个中。
3.如权利要求2所述的非易失性存储卡,其特征在于读取所述非易失性半导体存储器中的数据的单位是512个字节或者更大。
4.如权利要求3所述的非易失性存储卡,其特征在于保存在所述非易失性半导体存储器中的两个或更多个固件中的至少一个是具有安全功能的程序。
5.如权利要求4所述的非易失性存储卡,其特征在于所述控制器通过使用保存在所述非易失性半导体存储器的固件管理区域中的固件标识信息,检索被保存到所述易失性半导体存储器中的固件。
全文摘要
本发明提供了一个非易失性存储卡,在其中通过从多个闪速存储器上固件中选择任意闪速存储器上固件来增加、修改、改变程序等。在存储卡中,除了存储在内置ROM中的程序之外,还存储诸如补丁程序之类的、象用于增加、改变、修改功能等的程序那样的闪速存储器上固件。希望使其有效的闪速存储器上固件被设置在一个参数扇区等中,并且被加载到一个外部RAM中,并且控制逻辑中的CPU执行处理过程。
文档编号G06K19/07GK1525391SQ20041000191
公开日2004年9月1日 申请日期2004年1月15日 优先权日2003年2月26日
发明者森真琴, 广泽成祐, 四方淳史, 史 申请人:株式会社瑞萨科技
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1