存储卡的制作方法

文档序号:6592237阅读:173来源:国知局
专利名称:存储卡的制作方法
技术领域
本发明涉及一种存储卡,更具体地说,涉及一种把程序数据下载后存储到非易失性存储器中的存储卡。
本发明的存储卡具有第一非易失性存储器、第二非易失性存储器和分离部。第一非易失性存储器具有给定的删去单位。第二非易失性存储器具有比第一非易失性存储器的删去单位还大的删去单位。分离部把下载到存储卡中的程序数据中至少有发生改写的可能性的部分分离,把分离的部分存储到第一非易失性存储器中,把剩下的部分存储到第二非易失性存储器中。
在所述存储卡中,在下载的程序的执行处理中,程序中的数据的改写处理在第二非易失性存储器中不发生,只在第一非易失性存储器中发生。这样,通过在删去单位小的第一非易失性存储器中进行变量等的改写处理,与在删去单位大的第二非易失性存储器中进行处理时相比,必要的缓存器的尺寸小,能减小电路规模。
而且,为了改写而临时进行缓存的数据的尺寸中,第一非易失性存储器的比第二非易失性存储器的小。因此,与在第二非易失性存储器中进行改写处理时相比,用于改写的缓存处理时间少,能使改写所需要的时间缩短。
另外,因为把下载的程序数据分离、存储到第一非易失性存储器和第二非易失性存储器中,所以提高了安全性。
最好,所述程序数据由函数和变量构成。所述分离部把所述函数存储到第二非易失性存储器中,把所述变量中有发生改写的可能性的部分存储到第一非易失性存储器中,把所述变量中没有发生改写的可能性的部分存储到第二非易失性存储器中。
最好,所述程序数据是由面向对象编程语言来进行记述的类。所述分离部把所述类的变量存储到第一非易失性存储器中,把所述类的方法存储到第二非易失性存储器中。
最好,所述程序数据是由面向对象编程语言来进行记述的类。所述分离部把所述类的变量中有发生改写的可能性的部分存储到第一非易失性存储器中,把所述类的变量中没有发生改写的可能性的部分以及所述类的方法存储到第二非易失性存储器中。
最好,所述存储卡还具有加密处理部。加密处理部对应存储在第二非易失性存储器中的所述剩下的部分进行加密。而且,第一非易失性存储器、分离部以及加密处理部形成在同一芯片上。
在所述存储卡中,因为对存储在第二非易失性存储器中的程序数据,在加密处理部中进行了加密,所以能进一步提高安全性。
最好,所述第一非易失性存储器是EEPROM,所述第二非易失性存储器是闪存。


图1是表示本发明实施例中的存储卡系统的整体结构的框图。
图2是表示在存储卡中存储从数字仪器下载的程序数据的情况的图。
图3是表示在存储卡中存储从数字仪器下载的程序数据的情况的图。
图4是表示闪存和存储在EEPROM中的程序数据的图。
图5(a)~(c)是用于说明程序的执行步骤的图。
下面简要说明附图符号。
1-存储卡;100-控制芯片;200-闪存芯片(第二非易失性存储器);130-虚拟机(分离部);150-EEPROM(第一非易失性存储器);170-加密处理部。
(存储卡系统的整体结构)图1是表示本发明实施例中的存储卡系统的整体结构的框图。在图1所示的系统中,在数字仪器2(例如,数字相机、PDA、便携式优质音响再生装置、移动电话、个人电脑等)的插槽(无图示)中插入存储卡1,从数字仪器2把程序数据下载到存储卡1中。所下载的程序在存储卡1内部执行。
(数字仪器2)数字仪器2把用面向对象编程语言即Java(TM)记述的源代码变换为字节代码(编译),传送到存储卡1中。
(存储卡1)存储卡1具有控制芯片100闪存芯片200。
控制芯片100含有接口110、140、180、CPU120、虚拟机130、EEPROM150、缓存RAM145、160、以及加密处理部170。
接口110是数字仪器2和控制芯片100之间的接口。接口110把从数字仪器2下载的类文件(字节代码)传送给虚拟机130。
虚拟机130从由接口110提供的类文件中分离静态变量,提供给接口140,把剩下的部分(applet代码和static final变量)提供给缓存RAM160。另外,虚拟机130把从EEPROM150和闪存芯片200读出的程序数据(字节代码)以翻译程序方式变换为CPU120可执行的形式。
CPU120执行由虚拟机130变换的程序。另外,CPU120控制控制芯片100的动作。
接口140是虚拟机130以及CPU120和EEPROM150以及缓存RAM145之间的接口。接口140通过缓存RAM145把来自虚拟机130的静态变量传送到EEPROM150。
缓存RAM145缓存向EEPROM150传送的数据以及从EEPROM150输出的数据。另外,在改写EEPROM150中记录的数据时,缓存RAM145暂时缓存该数据。
EEPROM150存储来自接口140的静态(static)变量。EEPROM150是以字单位来进行数据的删去的非易失性存储器。
缓存RAM160暂时存储来自虚拟机130的applet代码和static final变量。另外,缓存RAM160暂时存储从闪存200读出,并且用加密处理部170译码了的程序数据。
加密处理部170把缓存RAM160中存储的程序数据(applet代码和static final变量)加密,并提供给接口180。另外,加密处理部170对从闪存芯片200读出的程序数据进行译码。
接口180是控制芯片100和闪存芯片200之间的接口。接口180把由加密处理部170加密的程序数据(applet代码和static final变量)传送给闪存芯片200。另外,接口180把从200读出的程序数据传送给加密处理部170。
闪存芯片200存储来自接口180的加密程序数据(applet代码和staticfinal变量)。闪存芯片200是以块单位或芯片单位来进行数据删去的非易失性存储器。即闪存芯片200的删去单位比EEPROM150的删去单位大。
(程序的下载)下面,说明从图1所示的存储卡系统中的数字仪器2向存储卡1的程序数据的下载。
在此,下载了图2所示的源代码的程序数据。图2所示的源代码是用于把存储卡1作为计分卡的应用程序,是用Java(TM)记述的。在该程序中,把购入的各品种(食品、衣料、电气化制品)按不同的计分还原率,分数相加。按照购入品种记录了分数余额。因为在购入商品时,分数余额被更新,所以定义为静态变量。而计分还原率是保持初始设置值即不变的,所以定义为static final变量。
用Java(TM)记述的源代码被变换为字节代码(编译),从数字仪器2下载到存储卡1。下载到存储卡1中的字节代码(类文件)在虚拟机130分离为静态变量部分和applet代码以及static final变量的部分。applet代码以及static final变量的部分被存储在闪存芯片200中,静态变量部分被存储在EEPROM150中。这样有发生改写的可能性的部分(静态变量部分)被存储在EEPROM150中。没有发生改写的可能性的部分(applet代码和static final变量的部分)被加密处理部170加密后存储在闪存芯片200中。并且,在能下载应用程序并执行的IC卡中,如图2所示,不分离下载的字节代码(类文件),全部存储在内部的EEPROM中。
下面,参照图3,就虚拟机130中进行的分离处理加以详细的说明。
在从数字仪器2下载到存储卡1中的类文件中,包含applet代码部(方法)、static final变量、静态变量。applet代码部的开始的1字节是0x01。static final变量的开始的1字节是0x02。静态变量的开始的1字节是0x03。这样,在数字仪器2中,在进行了编译的类文件中,通过判断开始的1字节,就能分别识别applet代码部、static final变量、静态变量。该判断在虚拟机130的地址解析部131上进行。
按照地址解析部131的判别结果,存储部132把程序数据存储到闪存芯片200或EEPROM150中。当判断开始的1字节是Ox01时,把该程序数据(applet代码部)存储到闪存200中。当判断开始的1字节是0x02时,把该程序数据(static final变量)(用加密处理部170加密后)存储到闪存200中。当判断开始的1字节是0x03时,把该程序数据(静态变量)存储到EEPROM150中。
如图4所示,以上所述的处理结果为在闪存200中存储了applet代码和static final变量,在EEPROM150中存储了静态变量。
(下载程序的执行)
下面,说明分离、存储到闪存200和EEPROM150中的程序的执行处理。在此执行的处理是用图5(a)的源代码表示的内容的处理。以下,参照图5(b)和(c)加以说明。
如果购入金额(value)和表示物品种类的指数(i)被输入到CPU120中,则虚拟机130取出存储在闪存200上的applet代码(addPoint)中的“命令”,并在翻译程序部用翻译程序方式变换为CPU120可执行的形式。用CPU120执行变换的命令。这样一来,进行以下所述的处理。
(步骤ST51)_baload…取得闪存200上的kangenritu排列的第i个数据(kangenritu[i])(X)。
(步骤ST52)_mul…进行Value和kangenritu[i]的相乘处理。
(步骤ST53)_baload…取得EEPROM150上的point排列的第i个数据(point[i])(Y)。
(步骤ST54)_add…把步骤ST52的相乘处理的结果和用步骤ST53取得的point[i]相加。
(步骤ST55)_bastore…把步骤ST54的相加处理的结果存储到EEPROM150上的point[i]中(Z)。即改写point[i]的内容。
(效果)在现有技术中,EEPROM的存储容量与闪存相比非常小。因此,当规模大的程序时,有必要存储在闪存中。
通常,在执行程序时,会进行改写程序中的小的数据(变量等)的处理。当执行存储在闪存中的程序时,用删去单位进行了该改写处理。但是,闪存的删去单位与EEPROM的删去单位相比非常大。因此,当执行存储在闪存中的程序时,为了改写变量,需要巨大的缓冲存储器。
例如存储容量512Mbit程序单位512字节(byte)=1页(age)
删去单位32页(page)这样的NAND型闪存时,需要16kbyte的缓冲存储器。
本发明实施例中的存储卡系统中,把从数字仪器2下载到存储卡1中的程序数据(类文件)中有发生改写可能性的部分(静态变量)存储到EEPROM150中,把没有发生改写可能性的部分(applet代码和staticfinal变量)存储到闪存200中。因此,程序中的改写处理在闪存200中不发生,只在EEPROM150中发生。这样,因为在删去单位小的EEPROM150中,进行变量等的改写处理,所以与在删去单位大的闪存200中进行处理时相比,改写处理所必要的缓冲存储器(缓存RAM145)的容量小,能减小电路规模。另外,为了改写而缓存的数据尺寸也是EEPROM150的比闪存200的小。因此,与在闪存200中进行改写处理时相比,用于改写的缓存处理时间短,能缩短改写所必要的处理时间。
另外,因为把下载到存储卡1中的程序数据分离、存储在闪存200和EEPROM中,所以提高了安全性。对于存储在闪存200中的程序数据,因为在加密处理部170中进行了加密,所以进一步提高了安全性。
另外,当访问存储在EEPROM150中的程序数据时,因为没必要进行加密/译码处理,所以能缩短处理时间。
并且,虽然在此是把静态变量存储在EEPROM150中,把applet代码和static final变量存储在闪存200中,但也可以把静态变量和static final变量存储在EEPROM150中,把applet代码存储在闪存200中。
另外,当从闪存200的读出和加密处理部170的译码处理所用时间比从EEPROM150的读出所需时间长时,通过CPU120的控制,可以把对闪存200的访问次数多的部分写入到EEPROM150中。
另外,用共同的一个RAM构成缓存RAM145和缓存RAM160,并在EEPROM150动作时,把该RAM作为EEPROM150用缓存RAM来使之工作,在闪存200动作时,把该RAM作为闪存200用缓存RAM来使之工作。据此,就能减小RAM所需要的电路面积,就能减小电路规模。
权利要求
1.一种存储卡,其特征在于包括具有给定的删去单位的第一非易失性存储器;具有比所述第一非易失性存储器的删去单位还大的删去单位的第二非易失性存储器;把下载到所述存储卡中的程序数据中至少有发生改写的可能性的部分分离,并把分离的部分存储到所述第一非易失性存储器中,把剩下的部分存储到所述第二非易失性存储器中的分离部。
2.根据权利要求1所述的存储卡,特征在于所述程序数据由函数和变量构成;所述分离部把所述函数存储到所述第二非易失性存储器中,把所述变量中有发生改写的可能性的部分存储到所述第一非易失性存储器中,把所述变量中没有发生改写的可能性的部分存储到所述第二非易失性存储器中。
3.根据权利要求1所述的存储卡,其特征在于所述程序数据是由面向对象编程语言来进行记述的类;所述分离部把所述类的变量存储到所述第一非易失性存储器中,把所述类的方法存储到所述第二非易失性存储器中。
4.根据权利要求1所述的存储卡,其特征在于所述程序数据是由面向对象编程语言来进行记述的类;所述分离部把所述类的变量中有发生改写的可能性的部分存储到所述第一非易失性存储器中,把所述类的变量中没有发生改写的可能性的部分以及所述类的方法存储到所述第二非易失性存储器中。
5.根据权利要求1所述的存储卡,其特征在于还包括对应该存储在所述第二非易失性存储器中的所述剩下的部分进行加密的加密处理部;所述第一非易失性存储器、所述分离部以及所述加密处理部形成在同一芯片上。
6.根据权利要求1所述的存储卡,其特征在于所述第一非易失性存储器是EEPROM;所述第二非易失性存储器是闪存。
全文摘要
一种存储卡,用Java(TM)记述的源代码被变换(编译)为字节代码,从数字仪器(20)下载到存储卡(1)中。下载到存储卡(1)的字节代码(类文件)在虚拟机(130)被分离为静态变量的部分和applet代码以及static final变量的部分。把有改写可能性的部分(静态变量的部分)存储到EEPROM(150)中,把没有改写可能性的部分(applet代码和staticfinal变量的部分)用加密处理部(170)加密后,存储到闪存(200)中。能减小电路规模。
文档编号G06F21/79GK1441384SQ02141059
公开日2003年9月10日 申请日期2002年7月12日 优先权日2002年2月28日
发明者吉本哲朗, 田中崇之, 水嶋美纪, 杉田亮一, 菊地隆文 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1