半导体存储器装置及其控制方法

文档序号:6654894阅读:173来源:国知局
专利名称:半导体存储器装置及其控制方法
技术领域
本发明涉及一种利用文件系统管理存储于非易失性存储器中的数据的半导体存储器装置及半导体存储器装置的控制方法。
背景技术
在记录音乐内容或图像数据等数字数据的记录媒体中,存在磁盘、光盘、磁光盘、半导体存储器装置等各种各样的记录媒体。半导体存储器装置例如构成卡形,使用快闪ROM等半导体非易失性存储器作为记录元件。下面说明为半导体存储卡,但本发明也适用于其他形状的半导体存储器。由于半导体存储卡可谋求记录媒体的小型化,所以以数码相机、便携电话终端等小型便携设备为中心得以迅速普及。
存储于半导体存储卡中的数据利用文件系统来管理,用户可容易地将存储的数据处理为文件,作为现在使用的文件系统,存在FAT文件系统(参照非专利文献1)、UDF(Umiversal Disk Format)文件系统(参照非专利文献2)、或NTFS文件系统(New Technology File System)等。利用这些文件系统管理数据的半导体存储卡可在解释相同文件系统的设备间共享文件。因此,可在设备间传递数据。
在文件系统中,将记录数据的信息记录区域分割成作为最小存取单位的扇区及作为扇区集合的簇来管理,将1个或1个以上的簇作为文件来管理。从空区域中按扇区单位分配存储文件数据的区域,1个文件的数据未必存储在连续区域中。由于在读写未存储于连续区域中的文件数据时,在读写之间产生寻道动作,所以存在与存储在连续区域中的文件数据相比,读写速度降低的问题。
现在,作为解决这种问题的方法,例如专利文献1中提议的方法,即在图像处理装置中控制数据写入,以使在连续区域中存储原稿1页大小的数据。该现有方法通过在数据写入时必须在固定长度的连续区域中写入数据,来保证在数据读出时以规定的处理时间结束处理。
专利文献1特开2002-29101号公报非专利文献1ISO/IEC9293、“Information lechnology_Volumeand file structure of disk cartridges for information”、1994年非专利文献2OSTA Universal Disk Format SpecificationRevision 1.50、1997年可是,上述现有技术存在如下问题。在现有的控制方法中,使用作为图像处理装置的处理单位的原稿1页的数据大小作为连续区域的单位。即,根据适于应用程序处理的数据的大小来确定连续区域的单位。该方法对于不因对记录媒体的写入单位不同而在写入速度中产生差异的记录媒体是有效的。可是,在半导体存储卡中,写入单位对写入速度影响大,且写入单位与写入速度的关系因使用的半导体存储器的特性或管理方法不同而不同。因此,无法唯一地确定对于所有半导体存储卡都适用的存取方法,即便如现有例那样固定了数据大小,也不能对所有半导体存储卡进行高速存取。

发明内容
本发明鉴于上述问题作出,其目的在于通过在半导体存储卡内存储关于半导体存储卡特性的信息,并在半导体存储卡内配备文件系统接口控制部,该控制部基于该信息,进行适于半导体存储卡特性的文件存取,从而存取装置可不必在意半导体存储卡的特性地进行最佳的文件存取。
本发明的半导体存储器装置包括非易失性存储器,由多个扇区构成,所述多个扇区中连续的特定个扇区被分组为作为数据删除最小单位的块,对从外部存取装置发送来的数据进行写入及读出;存储器控制器,在从所述存取装置输入了包含控制信号的指令时,控制对所述非易失性存储器的数据删除、写入及读出;装置信息存储部,存储包含所述非易失性存储器的删除块大小的、与半导体存储器装置的物理特性相关的装置信息;和文件系统接口控制部,根据存储于所述装置信息存储部中的装置信息,对所述非易失性存储器实施文件存取处理。。
在本发明的半导体存储器装置的控制方法中,所述半导体存储器装置具有包括多个扇区、且所述多个扇区中连续的特定个扇区被分组为作为数据删除最小单位的块的非易失性存储器,其中在装置信息存储部中预先存储包含所述非易失性存储器的删除块大小的、与所述半导体存储器装置的物理特性相关的装置信息,从外部的存取装置接收包含控制信号的指令,由文件系统接口控制部根据存储于所述装置信息存储部中的装置信息,对所述非易失性存储器内实施文件存取处理,和根据接收到的指令,对所述非易失性存储器执行数据删除、写入及读出。
根据本发明,在利用文件系统管理存储数据的半导体存储器装置中,通过在半导体存储器装置内配备存储关于半导体存储器装置特性的信息的存储装置信息存储部和以该存储装置信息为基础、进行适于半导体存储器装置特性的文件存取的文件系统接口控制部,存取装置可不必在意半导体存储器装置的特性地进行最佳的文件存取。


图1是本发明实施方式1中的半导体存储卡及存取装置的结构图。
图2是表示实施方式1中删除块与扇区的关系例的说明图。
图3是表示实施方式1中对半导体存储卡的删除块倍数长的数据写入处理的流程图。
图4是表示实施方式1中对半导体存储卡的1个扇区大小的数据写入处理的流程图。
图5是用于本发明各实施方式中的FAT文件系统的结构图。
图6是表示实施方式1中的FAT文件系统的数据写入处理的流程图。
图7是表示实施方式1中的FAT文件系统数据写入前的状态的说明图。
图8是表示实施方式1中的FAT文件系统数据写入后的状态的说明图。
图9是表示实施方式1中文件系统API的列表的说明图。
图10是表示实施方式1中存取装置的内部处理的流程图。
图11是表示实施方式1中半导体存储卡内部的卡类别取得指令处理的流程图。
图12是表示实施方式1中半导体存储卡内部的OPEN指令处理的流程图。
图13是表示实施方式1中半导体存储卡内部的WRITE指令处理的流程图。
图14是表示实施方式1中半导体存储卡内部的CLOSE指令处理的流程图。
图15是表示实施方式1中的数据配置例的说明图。
图16是本发明实施方式2(其1)中半导体存储卡及存取装置的结构图。
图17是本发明实施方式2(其2)中半导体存储卡及存取装置的结构图。
图18是表示实施方式2中低电平IOAPI的列表的说明图。
图19是表示实施方式2中存取装置的内部处理的流程图。
图20是表示实施方式2中存取装置内部的文件系统控制部中的文件打开处理的流程图。
图21是表示实施方式2中存取装置内部的文件系统控制部中的文件数据写入处理的流程图。
图22是表示实施方式2中存取装置内部的文件系统控制部中的文件关闭处理的流程图。
图23是本发明实施方式3中的半导体存储卡及存取装置的结构图。
图24是表示实施方式3中格式化后的文件系统的结构例的说明图。
图25是本发明实施方式4中的半导体存储卡及存取装置的结构图。
图26是表示实施方式4中半导体存储卡内部的RAM中的数据存储例的说明图。
图27是表示实施方式4中的高速缓冲存储器(cache)管理表的一实例的说明图。
图28是表示实施方式4中半导体存储卡内部的同步控制部中的处理步骤的流程图。
图29是本发明实施方式5中的半导体存储卡及存取装置的结构图。
图30是表示实施方式5中的半导体存储卡内部处理的图。
符号说明100、存取装置101、112、CPU102、113、RAM103、插槽104、117、ROM105、应用程序106、卡接口控制部110、半导体存储卡111、主机接口部114、存储器控制器115、非易失性存储器116、存储器118、1601、1602、文件系统管理区域119、卡信息存储部120、2901、2902、2903、文件系统接口控制部
501、管理信息区域502、数据区域503、主机引导记录分区(partition)表504、分区引导扇区505、506、FAT507、路径目录项(route directory entry)701、目录项1603、低电平IO接口控制部1701、文件系统控制部2501、同步控制部2601、FAT(RAM上)2602、2603、2604、2605、打开文件信息2606、高速缓冲存储器管理表2904、文件系统类别标志具体实施方式
下面,以半导体存储卡为例,参照

本发明半导体存储器装置的实施方式。
(实施方式1)图1是本发明实施方式1中的半导体存储卡及存取装置的主要部分结构图。在图1中,存取装置100包含CPU101、RAM102、插槽103、ROM104。在ROM104中存储有控制存取装置100的程序。该程序包含应用程序105和用于实现卡接口控制部(卡I/F控制部)106的功能的控制程序,将RAM102用作暂时存储器的区域,通过CPU101进行动作。
插槽103是半导体存储卡110与存取装置100的连接部,经由插槽103在存取装置100和半导体存储卡110之间收发控制信号及数据。ROM104内的应用程序105控制整个存取装置100,卡接口控制部106控制从存取装置100对半导体存储卡110的存取。
另外,在图1中,半导体存储卡110包含主机接口部(主机I/F部)111、CPU112、RAM113、存储器控制器114、非易失性存储器115、存储器116、ROM117。主机接口部111是从位于半导体存储卡110外部的存取装置100接收包含控制信号的指令和数据,并向存取装置100收发响应的接口。在ROM117中存储控制半导体存储卡110的程序,该程序将RAM113用作暂时存储区域,通过CPU112进行动作。并且,ROM1 17还包含文件系统接口控制部(文件系统I/F控制部)120,执行用于将非易失性存储器115上的数据作为文件来管理的文件系统控制。
存储器控制器114在经主机接口部111从存取装置100输入包含控制信号的指令时,控制对非易失性存在器115的数据删除、写入及读出。非易失性存在器115具有存储用户数据等的数据存储区域,并包含由文件系统接口控制部120控制的文件系统管理区域118。存储器116是可更新的非易失性存储器,具有存储半导体存储卡110的卡信息的卡信息存储部119。卡信息存储部119一般是装置信息存储部。卡信息如后所述,是关于非易失性存储器115的半导体存储卡的物理特性、例如删除块大小或卡类别的信息。
下面,说明作为存储卡110的记录元件使用的非易失性半导体存储器的特征。半导体存储器可构成小型及轻型的信息记录媒体,构筑了作为各种技术领域中的信息记录媒体的牢固地位。半导体存储器使用称为EEPROM或快闪ROM的非易失性存储器作为信息记录用元件(下面称为快闪存储器)。本实施方式的非易失性存储器115具有多个作为数据删除最小单位的块。各块由多个连续的、特定数量的扇区构成。非易失性存储器115经主机接口部111从存取装置100读写数据。
尤其是,在多数非易失性存储器使用的NADA型快闪存储器中,具有如下特征即必须在写入数据前删除暂时记录在写入目的地的数据,在返回未记录状态之后才进行数据的写入。这里,将删除数据的单位称为删除块,将作为存取最小单位的扇区作为集合了多个、例如连续的2的i次方个扇区(i是0或0以上的整数)的块来管理。图2是表示快闪存储器中的删除块与扇区的关系的一实例的说明图。在图2中,1个删除块由i=5、即32个扇区构成。可以扇区(例如512字节)单位来进行存取,但以删除块(16KB)单位进行写入之前必需的数据删除处理。
用图3及图4说明该半导体存储卡110中的数据删除及写入处理的实例。图3及图4是表示写入处理的一实例的流程图。尤其是图3表示写入删除块的倍数长的数据时半导体存储卡110内部的处理步骤,图4表示写入1个扇区的数据时半导体存储卡110内部的处理步骤。
在图3中的数据记录处理中,首先经主机接口部111接收从存取装置100发送来的指令和自变量(S301)。接着,参照接收到的指令,判断是否是自身不能识别的不正当指令(S302)。在是不正当指令时(S302中的Y,“是”的意思,以下相同),向存取装置100通知错误,结束处理(S303)。在是可识别的指令时(S302中的N,“否”的意思,以下相同),判断该指令是否是写入指令(S304)。在是写入指令之外的指令时,实施对应于各指令的其他处理(S305)。在是写入指令时,判断与指令一起指定的自变量是否正确(S306)。在判断为是不正确的自变量时,向存取装置100通知错误,结束处理(S307)。
在判断为自变量正确时,根据存储于自变量中的写入位置或写入尺寸信息,确定实际在快闪存储器中写入数据的删除块的物理地址(S308)。接着,在写入之前经存储器控制器114删除存在于快闪存储器、且存在于在S308中确定的删除块(物理块)中的数据(S309)。接着,从存取装置100经主机接口部111接收1个扇区大小的数据(S310)。一旦结束数据的接收,则经存储器控制器114向非易失性存储器115写入所接收到的1个扇区的数据(S311)。反复执行S310的数据接收处理及S311的写入处理直至1个删除块的数据写入结束(S312)。反复执行从S308开始至S302的1个删除块的数据写入处理直至结束由存取装置100指定的写入尺寸的数据写入(S313)。在结束了由存取装置100指定的写入尺寸的数据写入时,结束处理。
在图4中的数据记录处理中,S401~S411的处理与图3的S301~S311的处理相同。与图3的处理不同之处在于,在S412中将包含于执行写入的删除块中的数据中的、从存取装置100接收数据的1个扇区以外的数据写入到在S408中确定的删除块中。NAND型快闪存储器必需在数据写入之前删除暂时数据。由于该删除处理只按删除块单位进行,所以即便仅写入1个扇区的数据时,也必需删除1个删除块的数据。并且,如S412的处理所示,必需将与更新了数据的扇区相同的、包含在删除块中的其他扇区的已有数据回写到新的删除块中。
如图3及图4所示,在数据记录处理中,大致分为存在指令解释处理、数据删除处理、数据写入处理等3个处理。例如,假定指令解释处理的系统开销(overhead)需要3m秒、1个扇区的写入处理需要200μ秒、1个删除块(16KB)的删除处理需要2m秒的快闪存储器。在该快闪存储器的1个删除块(16KB)的写入中执行图3所示的处理,为指令解释需要3m秒、删除处理需要2m秒、写入处理需要32×200μ秒、合计11.4m秒。
同样地,在1个扇区(512B)的写入中执行图4所示的处理,为指令解释需要3m秒、删除处理需要2m秒、写入处理需要200μ秒+31×200μ秒、合计11.4m秒。即,写入16KB数据的情况和写入1个扇区数据的情况需要几乎相同的时间。在本例中,说明了未考虑数据传输时间等极端地产生性能差异的情况,但在实际的快闪存储器中,在按删除块单位进行写入时写入时间为最短。
另外,用作半导体存储卡110的记录元件的快闪存储器的个数不限于1个,存在通过使用多个、并行处理来提高存取性能的半导体存储卡110。在这样的半导体存储卡110中,以多个删除块为管理单位来控制快闪存储器,在按该管理单位进行写入时写入时间为最短。这样,半导体存储卡110的存取特性取决于所使用的快闪存储器的种类、个数或快闪存储器的管理方法等,存取特性因半导体存储卡110的世代或制造者的差别而不同。存储于卡信息存储部119中的卡信息具有物理特性和卡类别信息。物理特性包含指令解释的系统开销、1个扇区的写入处理时间、1个删除块的删除时间、删除块大小等最佳存取单位的信息或确定最佳存取单位所需的卡信息,卡种类信息包含半导体存储卡的版本(version)信息。
接着,说明FAT文件系统,作为管理存储于半导体存储卡110内非易失性存储器115中的数据的文件系统的一实例。图5中示出FAT文件系统的结构。文件系统管理区域118意味着在半导体存储卡110内的非易失性存储器115中由文件系统管理的区域。在FAT文件系统中,在文件系统管理区域118的开头存在用于管理整个文件系统管理区域的管理信息区域501,接着存在存储文件内的用户数据等的数据区域502。管理信息区域501由主机引导记录分区表(MBR·PT)503、分区引导扇区(PBS)504、FAT505、FAT506、路径目录项507构成。
主机引导记录分区表503是存储用于将文件系统管理区域分割成多个称为分区的区域来管理的信息的部分。分区引导扇区504是存储1个分区内的管理信息的部分。FAT505、506是表示包含在文件中的数据的物理存储位置的部分。路径目录项507是存储存在于路径目录下的文件或目录信息的部分。另外,FAT505、506由于是表示包含在文件中的数据的物理存储位置的重要区域,所以通常通过在文件系统管理区域118内设置2个具有相同信息的FAT505、FAT506来二重化。
数据区域502被分割成多个簇来管理,在各簇中存储包含于文件中的数据。存储多个数据的文件等跨越多个簇来存储数据,各簇间的联系利用存储在FAT505、506中的链接(link)信息来管理。
下面,用图6、图7及图8说明在FAT文件系统中的文件数据的写入例。图6是表示FAT文件系统中文件数据的写入处理步骤的流程图。图7、图8分别是表示写入处理前、写入处理后的目录项701、FAT505、506、数据区域502的一例的说明图。在FAT文件系统中,在路径目录项507或数据区域502的一部分中存储存储有文件名、文件大小和文件属性等信息的目录项701。图7(a)表示目录项701的一例。该目录项701示出的文件例中,文件名是FILE1.TXT,存储自簇序号10起的文件数据。另外,文件大小是16000字节。图7中将1个簇大小假定为4096字节,跨越4个簇存储文件数据。
用图6说明文件数据的写入处理。在文件数据写入处理中,首先开始读入对象文件的目录项701(S601)。接着,取得存储在读入的目录项701中的文件的开始簇序号,确认文件数据的开头位置(S602)。接着,读出FAT505、506,从在S602中取得的文件数据的开头位置起依次在FAT505、506上追寻链接,取得写入位置的簇序号(S603)。
接着,在数据写入时,判断是否有必要对文件重新分配空区域(S604)。在不必分配空区域时前进到S606的处理。在必需分配空区域时,在FAT505、506上检索空区域,将1个簇的空区域分配给文件的终端(S605)。接着,在数据区域502中写入仅在当前参照的簇内写入的数据(S606)。接着,判断全部数据的写入是否结束(S607)。在还剩余数据时,返回到S604的处理。在全部数据的写入结束时,更新存储在目录项701内的文件大小或时间标记等,并写入半导体存储卡110中(S608)。最后,将FAT505、506写入半导体存储卡110中,结束处理(S609)。
通过这样的文件数据的写入处理,在图7示出的具有16000字节数据的FILE1.TXT中再写入1000字节数据时,变成如图8所示的、具有17000字节数据的文件。
这样,在FAT文件系统中,作为文件数据的存储区域按簇单位进行区域分配,存储数据。另外,分配给1个文件的多个簇不一定连续,有可能分配不连续的区域。最坏的情况为在分割成簇单位的不连续区域中写入文件数据。这时,对半导体存储卡110的1次存取尺寸为1扇区或1扇区以下,在对半导体存储卡110的最高速存取所需的存取单位比簇尺寸大时,不能以半导体存储卡110的最高性能进行存取。这样的问题不限于FAT文件系统,在其他文件系统中也产生。
因此,在本实施方式中,设置卡信息存储部119,存储包含半导体存储卡110的物理特性的卡信息。而且,为了基于该卡信息进行适于半导体存储卡110的物理特性的文件存取,在半导体存储卡110内配备文件系统接口控制部120。由此,存取装置100可不在意半导体存储卡110的存取特性地进行最佳的文件存取。
下面,说明本实施方式中的文件系统接口控制部120的功能。在本实施方式中,半导体存储卡110内的文件系统接口控制部120控制在半导体存储卡100内的非易失性存储器115上构筑的文件系统。因此,存取装置100为存取存储于半导体存储卡110的非易失性存储器115中的文件,向半导体存储卡110发出文件存取请求。
图9是表示文件系统接口控制部120从存取装置100接收的高位指令组(下面称文件系统API)的列表。如图9所示,文件系统接口控制部120从存取装置100接收OPEN(文件打开)、CLOSE(文件关闭)、READ(从文件读取数据)和WRITE(向文件写入数据)等文件存取请求,对存取装置100提供文件系统的功能。即,文件系统接口控制部120根据存储在卡信息存储部119中的卡信息,将存储在非易失性存储器115内的数据作为文件来管理,根据经主机接口部111从存取装置100输入的指令,对非易失性存储器115上的文件实施包含打开、关闭、读取、写入的文件存取处理。
通过这样的方法,在存取装置100侧不必具备文件系统。文件系统的功能全部从半导体存储卡110侧提供。
下面,用图10~图14说明存取装置100经文件系统接口控制部120存取文件的实例。这里,作为存取文件的实例,说明在路径目录下生成文件,写入数据的实例。图10是表示存取装置100侧的处理步骤的流程图。图11、图12、图13、图14分别是表示存取装置100对半导体存储卡110发出的卡类别取得指令、OPEN指令、WRITE指令、CLOSE指令中半导体存储卡110侧的处理步骤的流程图。
首先,用图10说明存取装置100侧的处理步骤。首先存取装置100为取得作为半导体存储卡110的版本等信息的卡类别信息,对半导体存储卡110发出卡类别取得指令(S1001)。接着,判断利用发出的指令可否从半导体存储卡110中取得卡类别信息(S1002)。取得失败时判断为产生错误,结束处理(S1003)。
在取得成功时,判断半导体存储卡110是否对应于文件系统API(S1004)。如果是不对应的半导体存储卡110,则由于不执行使用文件系统API的存取,所以结束处理(S1005)。如果是对应的半导体存储卡110,则为生成文件,对半导体存储卡110指定文件名,发出OPEN指令(S1006)。
接着,判断基于所发出的OPEN指令的处理是否成功(S1007)。在处理失败时错误结束(S1008)。在处理成功时,作为OPEN指令的响应(response),从半导体存储卡110取得用于存取所生成的文件的文件句柄(handle)(识别符)。接着,生成存储于文件中的数据(S1009)。接着,为将生成的数据写入文件中,指定利用OPEN指令取得的文件句柄、写入尺寸、生成的数据等,对半导体存储卡110发出WRITE指令(S1010)。
接着,判断基于所发出的WRITE指令的处理是否成功(S1011)。在处理失败时错误结束(S1012)。在处理成功时,指定文件句柄,对半导体存储卡110发出CLOSE指令(S1013)。接着,判断基于所发出的CLOSE指令的处理是否成功(S1014)。在处理失败时错误结束(S1015)。在处理成功时结束文件生成及数据写入处理。
上述处理步骤中,存取装置100内的卡接口控制部106实施S1001、S1006、S1010、S1013的指令发送处理,应用程序105实施其他的处理。
下面,用图11~图14说明半导体存储卡110侧的处理步骤。图11是表示卡类别取得指令发出时半导体存储卡110侧的处理步骤的流程图。首先,半导体存储卡110从存取装置100接收指令(S1101)。接着,参照接收到的指令,判断是否是自身不能识别的不正当指令(S1102)。在是不正当指令时,向存取装置通知错误,结束处理(S1103)。在是可识别的指令时,判断该指令是否是卡类别取得指令(S1104)。在是卡类别取得指令以外的指令时,实施对应各指令的其他处理(S1105)。在是卡类别取得指令时,读出存储于卡信息存储部119中的卡类别信息(S1106)。最后,将读出的卡类别信息发送到存取装置100,结束这里的处理(S1107)。
图12是表示OPEN指令发出时半导体存储卡110侧的处理步骤的流程图。首先,半导体存储卡110从存取装置100接收指令(S1201)。接着,参照接收到的指令,判断是否是自身不能识别的不正当指令(S1202)。在是不正当指令时,向存取装置通知错误,结束处理(S1203)。在是可识别指令时,判断该指令是否是OPEN指令(S1204)。
在是OPEN指令以外的指令时,实施对应于各指令的其他处理(S1205)。在是OPEN指令时,判断与指令一起传来的自变量是否正确(S1206)。在判断为自变量中指定了不正确的文件名等不能实施OPEN处理的情况下,向存取装置100通知错误,结束处理(S1207)。在自变量正确时,将路径目录项区域(RDE)读入RAM113中(S1208)。
接着,在读入RAM113中的路径目录项区域中取得空目录项(S1209)。在取得失败时,向存取装置100通知错误,结束处理(S1211)。在取得成功时,在RAM113上生成具有由OPEN指令的自变量指定的文件名的文件的目录(DE)(S1212)。接着,将在RAM113上生成的目录项写入非易失性存储器115中(S1213)。
接着,在RAM113上生成存取生成文件所需的信息作为打开文件信息(OFI)(S1214)。在该打开文件信息中,包含文件名、文件大小、目录项的位置、读出专用打开·写入专用打开等打开属性、文件内的当前参照位置等。最后,生成唯一识别打开文件信息的文件句柄,并通知存取装置100结束处理(S1215)。OPEN处理后的文件存取使用该文件句柄来进行存取。
图13是表示WRITE指令发出时半导体存储卡100侧的处理步骤的图。首先,半导体存储卡110从存取装置100接收指令(S1301)。接着,参照接收到的指令,判断是否是自身不能识别的不正当指令(S1302)。在是不正当指令时,向存取装置100通知错误,结束处理(S1303)。在是可识别指令时,判断该指令是否是WRITE指令(S1304)。在是WRITE指令以外的指令时,实施对应于各指令的其他处理(S1305)。
在是WRITE指令时,判断与指令一起传来的自变量是否正确(S1306)。在由自变量指定了不正确的文件句柄等判断为不能实施WRITE处理的情况下,向存取装置100通知错误,结束处理(S1307)。在自变量正确时,以文件句柄为基础,指定RAM113上的打开文件信息(OFI)(S1308)。接着,参照所指定的打开文件信息,确认文件内的当前参照位置(S1309)。当前参照位置是下次写入数据的位置,在从文件结束起追记时需要取得空区域。
接着,在数据写入之后,判断是否必需取得空区域(S1310)。在不需取得空区域时,前进到S1315的处理。在必需空区域时,参照RAM113上的FAT,取得空簇(S1311)。这里,假定预先将FAT从非易失性存储器115读入RAM113中。在取得失败时,向存取装置100通知错误,结束处理(S1313)。在取得成功时,在RAM113上更新FAT,将S1311中取得的空簇变更为使用中的簇(S1314)。
接着,在非易失性存储器5内的S1311中取得的空簇位置上写入数据(S1315)。在全部数据的写入结束之前重复S1310~S1315的处理(S1316)。在全部数据的写入结束时,更新存储在RAM113上的打开文件信息中的文件大小等信息(S1317)。最后,通知存取装置100处理结束,结束处理(S1318)。
图14是表示CLOSE指令发出时半导体存储卡110侧的处理步骤的流程图。首先,半导体存储卡110从存取装置100接收指令(S1401)。接着,参照接收到的指令,判断是否是自身不能识别的不正当指令(S1402)。在是不正当指令时,向存取装置100通知错误,结束处理(S1403)。在是可识别的指令时,该指令是否是CLOSE指令(S1404)。
在是CLOSE指令以外的指令时,实施对应于各指令的其他处理(S1405)。在是CLOSE指令时,判断与指令一起传来的自变量是否正确(S1406)。在由自变量指定了不正确的文件句柄等判断为不能实施CLOSE处理的情况下,向存取装置100通知错误,结束处理(S1407)。在自变量正确时,以文件句柄为基础,指定RAM113上的打开文件信息(OFI)(S1408)。接着,参照所指定的打开文件信息,指定打开文件的目录项的存储位置,将包含目录项的1个扇区的数据读入RAM113中(S1409)。
接着,在RAM113上更新存储于打开文件的目录项中的文件大小或时间标记等(S1410)。接着,将RAM113上的目录项写入非易失性存储器115中(S1411)。接着,将RAM113上的FAT写入非易失性存储器115中(S1412)。在结束了目录项、FAT的写入之后,清除RAM113上的打开文件信息,变更成不能打开文件的状态(S1413)。最后,通知存取装置100处理结束,结束处理(S1414)。
根据这样的本实施方式,存取装置100仅发出文件系统API的指令,文件系统的控制在半导体存储卡110侧实施。因此,存取装置100不必识别半导体存储卡110的特性,就可在半导体存储卡110中实施最佳的文件存取。
接着,进一步说明半导体存储卡110的文件系统接口控制部120执行对应于半导体存储卡110的物理特性的文件存取。在本实施方式中,文件系统接口控制部120从卡信息存储部119取得关于半导体存储卡110的物理特性的卡信息,根据该信息来执行文件存取。由此,实现对应半导体存储卡110的物理特性的最佳文件存取。下面,作为基于从卡信息存储部119取得的卡信息来执行文件存取的方法,说明2个实例。
作为例1,说明在意半导体存储卡110的最佳存取单位的文件数据写入方法。用于高速存取半导体存储卡110的最佳存取单位取决于所使用的快闪存储器的种类或个数、快闪存储器的管理方法等,并因半导体存储卡110的世代或制造者的不同而不同。在本实施方式中,在卡信息存储部119中存储最佳存取单位信息、或确定最佳存取单位所需的卡信息,文件系统接口控制部120执行在意最佳存取单位的文件存取。所谓最佳存取单位是可最高效地存取非易失性存储器115的单位。在使用1个非易失性存储器芯片时,删除块仍是最佳存取单位。而在并列使用多个、例如8个非易失性存储器芯片时,各存储器芯片的删除块的8倍、例如16KB×8=128KB为最佳存取单位。
图15是表示非易失性存储器115中构筑的文件系统中数据区域502的数据配置的一实例图。在该例中,假定文件系统将1簇作为16KB来管理,最佳存取单位是128KB的半导体存储卡110。在现有的文件系统中,由于在写入文件数据时的空区域取得中不在意最佳存取单位,而向文件分配任意的空区域,所以例如分配图15的簇序号4的区域,按簇单位写入数据。相反,在本实施方式中的文件存取中,在意最佳存取单位,执行最佳存取单位的空区域分配。
因此,如图15的最佳存取单位0或最佳存取单位1那样,使用了最佳存取单位内一部分的区域不被分配给文件数据,而如最佳存取单位2那样,分配全部最佳存取单位内为空的区域,按最佳存取单位写入数据。该最佳存取单位的空区域分配在图13所说明的WRITE指令处理步骤中的S1311处理中具体实施。通过执行这样的区域分配,在具有某种程度大小的文件大小的文件情况下,在存取装置侧可不进行任何对应就能按最佳存取单位存取半导体存储卡110。因而,可高速地文件存取半导体存储卡110。另外,在该情况下,由于每次数据写入按最佳存取单位使用新区域,所以考虑在未进行处理的背景下执行汇总散布在包含空区域的最佳存取单位中的数据的去标志(デフラグ)处理。
作为例2,说明在意半导体存储卡110的最佳存取单位的目录区域的分配方法。在新生成目录的情况或新生成文件、必需分配新区域给目录区域的情况,在现有的文件系统中,由于在分配目录区域时的空区域取得中,与前例同样分配任意的空区域,所以例如分配图15的簇序号18的区域。这时,通过将簇序号18的区域用作目录区域,而使使用区域包含在最佳存取单位2内,不能用于例1中说明的文件数据区域的分配。
因此,本实施方式中的文件系统接口控制部120将最佳存取单位内一部分中已分配目录区域的区域优先用作目录区域的分配区域,尽可能将目录区域包含在同一最佳存取单位内。即,在图15的实例中,将包含于已分配目录区域的最佳存取单位1中的簇序号12~17的区域作为目录区域来分配。由此,易生成最佳存取单位的连续空区域,有效进行例1的文件数据分配。由此,可高速地进行文件存取。
如上所述,在本实施方式中,在半导体存储卡110内具备卡信息存储部119,存储包含半导体存储卡110的物理特性的卡信息;和文件系统接口控制部120,以卡信息为基础,进行适于半导体存储卡110的物理特性的文件存取。由此,存取装置100不在意半导体存储卡110的存取特性,可进行最佳的文件存取。由此,存取装置侧不必为进行最佳存取而对应各种半导体存储卡,用于对应的验证的工作量也减少。
另外,本实施方式中说明的可解释文件系统API的存取装置100不必识别半导体存储卡110上构成的文件系统的种类,可存取由不同文件系统管理的多个半导体存储卡100。即,无论半导体存储卡110上构筑的文件系统的类别如何,都可传递数据。
另外,图10~图14中说明的存取装置100及半导体存储卡110的处理步骤是一实例,从存取装置100侧发出文件系统API指令,如果在半导体存储卡110侧是进行文件系统控制的方法,则也可使用与上述实施方式不同的处理步骤。
另外,在本实施方式中,说明了以存储于卡信息存储部119中的卡信息为基础,文件系统接口控制部120确定最佳存取单位的实例。但是,只要是以存储于卡信息存储部119中的卡信息为基础,文件系统接口控制部120可取得最佳存取单位的方法,则使用其他的方法也无妨。例如,考虑存取装置100读出存储于卡信息存储部119中的卡信息,在存取装置100侧确定最佳存取单位,并通知给文件系统接口控制部120等。
另外,图9中示出的文件系统API是一实例,也可仅选择使用图9的一部分API,也可增加使用其他关于文件系统控制的API。另外,在本实施方式中,以FAT文件系统为例来说明,但使用其他的文件系统也无妨。另外,存储于卡信息存储部119中的卡信息可对应半导体存储卡120的使用状态来更新值。另外,包含卡信息存储部119的存储器116可包含在非易失性存储器115中,在不更新卡信息时也可包含在ROM117中。
如上所述,实施方式1的特征在于,具备在半导体存储卡内存储用户数据的非易失性存储器;存储半导体存储卡的卡信息的卡信息存储部;和文件系统接口控制部,以存储于卡信息存储部中的卡信息为基础,进行适于半导体存储卡的特性的文件存取。
(实施方式2)下面,说明本发明实施方式2中的半导体存储卡。图16是本实施方式(之1)中半导体存储卡及存取装置的结构图。另外,图17是本实施方式(其2)中半导体存储卡及存取装置的结构图。图16示出的半导体存储卡110和图1示出的半导体存储卡110的不同之处在于,在本实施方式中将非易失性存储器115内的区域分割成独立的2个逻辑地址组,存在文件系统管理区域A(第1区域)1601、和文件系统管理区域B(第2区域)1602。并且,在半导体存储卡110的ROM117内,除文件系统接口控制部120之外,还设置低电平IO接口控制部1603。
另外,在图17示出的结构中与图16不同之处在于,在存取装置100的ROM104内,除应用程序105和卡接口控制部106外,还存在文件系统控制部170。该存取装置100是在现有的半导体存储卡(未设置文件系统接口控制部)中记录数据或读出数据时必需的结构。
图16示出的文件系统接口控制部120根据存储于卡信息存储部119中的卡信息,将存储于非易失性存储器115中的数据的作为文件来管理,经主机接口部111从存取装置100输入请求对非易失性存储器115上的文件的包含打开、关闭、读取、写入等文件存取处理的指令时,对存储于非易失性存储器115内的文件实施文件存取处理。
低电平IO接口控制部1603经主机接口部111从存取装置100输入请求对非易失性存储器115的第2区域1602的数据写入或读出处理的指令时,实施对非易失性存储器115的第2区域1602的数据写入或读出处理。与文件系统接口控制部120不同之处在于,低电平IO接口控制部1603仅进行对非易失性存储器115的第2区域1602的数据读出及写入等存取控制,不控制文件系统。
在经低电平IO接口控制部1603存取半导体存储卡110时,存取装置100的结构为图17那样。这时,如图17所示,存取装置100侧的文件系统控制部1701控制半导体存储卡110中的文件系统。另外,经文件系统接口控制部120存取半导体存储卡110的存取装置100采用图16中示出的结构。这时,与本发明实施方式1相同,在存取装置100侧不具备文件系统控制部1701。
另外,如图16所示,非易失性存储器115的区域被分割成文件系统管理区域A1601、和文件系统管理区域B1602 2个区域,文件系统管理区域A1601由文件系统接口控制部120控制,文件系统管理区域B1602由低电平IO接口控制部1603控制。
即,在本实施方式中,半导体存储卡110具备2种接受来自存取装置100的存取的接口控制部,经由各接口控制部存取的区域相独立。由此,从仅可解释2个接口控制部中的一方的存取装置100也可存取半导体存储卡110,可提高存取装置的互换性。
接着,说明本实施方式中的低电平IO接口控制部1603的功能。在本实施方式中,将半导体存储卡110内的非易失性存储器115分割成2个管理区域A、B,由文件系统接口控制部120控制文件系统管理区域A1601,由低电平IO接口控制部1603控制文件系统管理区域B1602。经文件系统接口控制部120进行存取的方法由于与实施方式1中说明的方法相同,所以省略说明。这里,说明经低电平IO接口控制部1603进行存取的方法。
图18是表示低电平IO接口控制部1603从存取装置100接收的指令组(下面称低电平IOAPI)列表的图。如图18所示,低电平IO接口控制部1603从存取装置100接收RAW-READ(读入数据)或RAW-WRITE(写入数据)等比图9示出的文件系统还低电平的输入输出请求,对存取装置100提供这些低电平IO的功能。即,在本实施方式中,在经低电平IO接口控制部1603进行存取的存取装置100中,如前所述,必需具备用于控制文件系统的文件系统控制部1701。
下面,用图19~图22说明存取装置100经低电平IO接口控制部1603存取文件的实例。这里,作为存取文件的实例,说明在路径目录之下生成文件,写入数据的实例。图19是表示存取装置100侧的整个处理步骤的流程图。图20、图21、图22分别表示存取装置100内的文件系统控制部1701执行的文件打开处理、数据写入处理、文件关闭处理的处理步骤的流程图。
首先,用图19说明存取装置100侧的整个处理步骤。图19的处理步骤与图10的处理步骤不同之处在于,在半导体存储卡110侧不处理文件打开、数据写入、文件关闭各处理,而在存取装置100内的文件系统控制部1701中处理。具体地说,图19的S1906、S1910、S1913各处理在后述的图20~图22示出的处理步骤中,由存取装置100内的文件系统控制部1701处理。即,在图19中,S1901由卡接口控制部106实施,S1906、S1910、S1913各处理由文件系统控制部1701实施,其他的处理由应用程序105实施。
下面,用图20~图22说明存取装置100内的文件系统控制部1701执行的处理步骤。发出卡类别取得指令时半导体存储卡110侧的处理步骤与图11相同,这里省略说明。图20~图22示出的文件打开处理、数据写入处理、文件关闭处理的处理步骤与图12~图14说明的处理步骤基本相同,这里仅说明不同之处。
第1个不同之处在于从指令接收至指令解释的处理(图12中从S1201至S1205的处理)。由于这些处理是用于在半导体存储卡110侧解释指令的处理,在存取装置100内的文件系统控制部1701中所实施的处理中不需要,所以从处理步骤中删除。
第2个不同之处在于将对非易失性存储器115读写数据的处理记载为RAW-READ指令发出、或RAW-WRITE指令发出,追加各指令是否成功的判断。在实施方式1中,半导体存储卡110的文件系统接口控制部120存取非易失性存储器115,而在本实施方式中,存取装置100的卡接口控制部106发出低电平IOAPI指令,经半导体存储卡110的低电平IO接口控制部1603进行存取。因此,存取非易失性存储器115的处理被变更成低电平IOAPI指令发出处理。
如上所述,在本实施方式中,在半导体存储卡110内具备卡信息存储部119,存储包含半导体存储卡110的物理特性的卡信息;文件系统接口控制部120,以该信息为基础,执行适于半导体存储卡110的物理特性的文件存取;接收低电平IO请求的低电平IO接口控制部1603、和非易失性存储器115。并且,将非易失性存储器115内的区域分割成2个,从文件系统接口控制部120、低电平IO接口控制部1603存取各区域。通过采用这样的结构,即便从仅可解释2个接口中的一方的存取装置、例如现有的存取装置也可存取半导体存储卡110。
另外,在本实施方式中,虽然用图20~图22说明了经低电平IO接口控制部1603的文件存取,但这些处理在现有的存取装置100中,与在存取装置100侧控制文件系统时的处理相同。本实施方式的要点在于,在半导体存储卡110侧设置2个接口控制部120、1603,从存取装置100经任一接口控制部都可存取半导体存储卡110。因此,图20~图22的处理步骤是一实例,只要是在存取装置100侧设置文件系统控制部1701,经低电平IO接口控制部1603存取半导体存储卡110的控制方法,也可使用不同的处理步骤。
另外,图18中示出的低电平IOAPI是一实例,可仅选择使用图18的一部分API,也可增加使用其他关于低电平IO的API。另外,本实施方式中以FAT文件系统为例来说明,但使用其他的文件系统也无妨。另外,存储于卡信息存储部119中的卡信息可对应半导体存储卡120的使用状态来更新值。另外,包含卡信息存储部119的存储器116可包含在非易失性存储器115内,在不更新卡信息时也可包含在ROM17中。
如上所述,实施方式2的特征在于,具备非易失性存储器,在半导体存储卡内将区域分割成2个并存储用户数据等;卡信息存储部,存储关于半导体存储卡的物理特性的卡信息;文件系统接口控制部,以存储于卡信息存储部中的信息为基础,执行适于半导体存储卡的物理特性的文件存取;和低电平IO接口控制部,处理从位于半导体存储卡外部的存取装置对半导体存储卡内的非易失性存储器的低电平输入输出请求,利用这些接口控制部来管理各个区域。
(实施方式3)下面,说明本实施方式3中的半导体存储卡。图23是实施方式3中的半导体存储卡110及存取装置100的结构图。图23示出的存取装置100与图17示出的结构相同。半导体存储卡110的结构中与图16示出的不同之处在于,不将非易失性存储器115内的区域分割成2个,由单一的文件系统管理区域118构成。
即,在本实施方式3中,与实施方式2相同,在半导体存储卡110内具备文件系统接口控制部120和低电平IO接口控制部1603,从存取装置110经任一接口控制部都可存取半导体存储卡110。本实施方式3与实施方式2不同之处在于,由文件系统接口控制部120和低电平IO接口控制部1603控制的区域是相同的文件系统管理区域118。下面,说明本实施方式中的2个接口控制部120及1603的功能。
在本实施方式中,存取装置100经由2个接口控制部存取相同区域时,必需在文件系统内不产生矛盾。因此,在本实施方式中,基本上在存取装置100侧的文件系统控制部1701中执行文件系统的控制,半导体存储卡110侧的文件系统接口控制部120在文件系统中不产生矛盾的范围内,实施辅助控制文件系统的处理。即,文件系统接口控制部120对非易失性存储器115上的共用区域仅实施构筑文件系统的格式化处理。对存在于非易失性存储器115上的共用区域的文件格式化处理以外的文件存取处理,根据从存取装置100内的文件系统控制部1701输入的指令,由低电平IO接口控制部1603实施。
作为本实施方式中的文件系统接口控制部120的一实例,说明仅实现文件系统管理区域1 18的格式化功能的情况。文件系统的格式化是在文件系统中管理半导体存储卡110上的数据所必需的处理,是在初次使用半导体存储卡110时、或一旦删除全部数据时等实施的处理。
在这里说明的实例中,存取装置100仅在执行文件系统的格式化时,经文件系统接口控制部120存取半导体存储卡110。并且,格式化后的文件存取经低电平IO接口控制部1603来进行存取。这样,通过分担(功能划分)2个接口控制部的职责,即便经2个接口控制部存取半导体存储卡110,也保证在文件系统内不产生矛盾。
并且,本实施方式中的文件系统接口控制部120从卡信息存储部119取得关于半导体存储卡110的物理特性的卡信息,提供对应该信息的文件系统的格式化功能。第1,本实施方式中的文件系统接口控制部120以从卡信息存储部119取得的卡信息为基础,确定半导体存储卡110的最佳存取单位。第2,在文件系统管理区域118格式化时,设定成调整从主机引导记录分区表503至路径目录项507的管理信息区域501的大小,变成最佳存取单位的倍数长。
下面,用图24说明本实施方式中格式化处理后的数据配置。图24是表示本实施方式中文件系统接口控制部120格式化文件系统管理区域118时的数据配置的一实例图。在图24中,MBR·PT表示主机引导记录分区表503,PBS表示分区引导扇区,RDE表示路径目录项507。
如图24所示,从主机引导记录分区表503至路径目录项507的管理信息区域501的大小为最佳存取单位的倍数长。并且,最佳存取单位为簇尺寸的倍数长。因此,存取装置100的文件系统部1701按簇单位存取数据区域502时,不跨越多个最佳存取单位存取,可高效地存取。
另外,存取装置100在存取8个连续的簇的情况下变为半导体存储卡110内按最佳存取单位的存取,可实现对非易失性存储卡115的最佳存取。这样,通过格式化文件系统管理区域118,即便在存取装置100侧不考虑半导体存储卡110的特性地进行文件存取的情况下,也可对半导体存储卡110实施接近最佳存取的存取。
如上所述,在本实施方式中,在半导体存储卡110内具备文件系统接口控制部120、和低电平IO接口控制部1603,即便从存取装置100经任一接口控制部,也可存取半导体存储卡。并且,文件系统接口控制部120提供由存取装置100的文件系统控制部1701执行的文件系统控制的辅助功能,即便在经2个接口控制部存取半导体存储卡110时,在文件系统内也不产生矛盾。由此,半导体存储卡110执行存取装置100中的文件系统控制的一部分,可减轻存取装置100的负担。
另外,在本实施方式中,说明了文件系统接口控制部120仅实现文件系统的格式化功能的情况。本实施方式的要点在于,在半导体存储卡110的文件系统中不产生矛盾的范围内,文件系统接口控制部120实现文件系统控制的辅助功能。因此,文件系统接口控制部120可构成为不仅实现格式化功能,还实现其他的文件系统控制的辅助功能。或者也可构成为不包含格式化功能地实现其他的文件系统控制的辅助功能。例如,也可构成为在半导体存储卡110中设置选择使用的接口控制部的指令,存取装置100明示指定使用的接口控制部,必要时切换,从而不会并列地调用2个接口控制部。
另外,在本实施方式中以FAT文件系统为例来说明,但使用其他的文件系统也无妨。另外,存储于卡信息存储部119中的卡信息可对应半导体存储卡120的使用状态来更新值。另外,包含卡信息存储部119的存储器116可包含在非易失性存储器115中,在不更新卡信息时也可包含在ROM117中。
如上所述,实施方式3的特征在于,具备非易失性存储器,在半导体存储卡内存储用户数据等;卡信息存储部,存储关于半导体存储卡的物理特性的卡信息;文件系统接口控制部,以存储于卡信息存储部中的信息为基础,执行适于半导体存储卡的物理特性的文件存取;和低电平IO接口控制部,处理从位于半导体存储卡外部的存取装置对半导体存储卡内的非易失性存储器的低电平输入输出请求,通过来自所述2个接口控制部的存取,限制所述2个接口控制部的功能,以在非易失性存储器上所构筑的文件系统内不产生矛盾。
(实施方式4)下面,说明本发明实施方式4中的半导体存储卡。图25是实施方式4中的半导体存储卡及存取装置的结构图。在图25中与图23的结构不同之处在于,存在从存取装置100内的应用程序105直接调用卡接口控制部106的路径,并且在半导体存储卡110内设置有同步控制部2501。
即,在实施方式4中,与实施方式3相同,在半导体存储卡110内具备文件系统接口控制部120和低电平IO接口控制部1603,从存取装置100经任一接口控制部都可存取半导体存储卡110。另外,经2个接口控制部存取非易失性存储器115上的相同区域。与实施方式3不同之处在于,在半导体存储卡110内具备同步控制部2501,在经2个接口控制部存取相同区域时,采取同步,以在文件系统内不产生矛盾。
本实施方式的文件系统接口控制部120根据存储于卡信息存储部119中的卡信息,将存储于非易失性存储器115内的数据作为文件来管理,在经主机接口部111从存取装置100输入请求对非易失性存储器115上的文件进行关闭、读取等读出专用的文件存取处理的指令时,对存在于非易失性存储器115内的文件实施文件存取处理。
低电平IO接口控制部1603在文件系统接口控制部经主机接口部111从存取装置100输入请求对与非易失性存储器115内用于数据读出的区域中的任意位置相对应的数据写入或读出处理的指令时,实施对非易失性存储器115内任意位置的数据写入或读出处理。
同步控制部250在低电平IO接口控制部1603对存在于非易失性存储器115内的文件系统的管理信息实施数据写入处理时,文件系统接口控制部120更新在半导体存储卡110内的RAM上读出的文件系统管理信息。在这种结构时,本实施方式的文件系统接口控制部120与如实施方式3那样仅实现格式化功能的情况相比,减少实现的功能的制约。
接着,用图26~图28说明本实施方式中的同步控制部2501的功能。这里,作为同步控制部2501的实例,说明文件系统接口控制部120实现读出专用的文件系统功能(高位指令),同时低电平IO接口控制部1603实现低电平IO功能(低位指令)的情况。这时,存取装置100可利用文件系统控制部1701控制对文件系统的读写,经低电平IO接口控制部1603存取半导体存储卡110的非易失性存储器115。与此同时,可经文件系统接口控制部120对半导体存储卡110的非易失性存储器115上构筑的文件系统执行读出专用的存取。
图26是表示读入半导体存储卡110的RAM113上的关于文件系统的信息的一实例图。文件系统接口控制部120使用这些信息控制文件系统。即,在RAM113上,存在从非易失性存储器115读入的FAT2601或作为关于打开中文件的信息的打开文件信息(OFI)2602、2603、2604、2605,用于控制文件系统。
并且,在RAM113上,作为同步控制部2501使用的信息存在高速缓存管理表2606。图27是表示包含于高速缓存管理表2606的信息的图。高速缓存管理表2606是表示FAT2601或打开文件2602、2603、2604、2605等、在RAM113上读入的信息在非易失性存储器115上的位置的信息。在图26及图27的实例中,在RAM113上读入存在于从非易失性存储器115上234扇区位置开始的123个扇区区域中的FAT2601。另外,若在480扇区的位置具有目录项(DE)的文件为2个,则在513扇区的位置上具有目录项的文件被打开1个,在RAM113上高速缓存打开文件信息2602、2603、2604、2605。
下面,用图28说明本实施方式中的同步控制部2501的处理。在本实施方式中,一旦同步控制部2501接收从存取装置100发出到半导体存储卡110的指令,则分别将高位指令、低位指令分配给文件系统接口控制部120、低电平IO接口控制部1603。图28是表示这样的同步控制部2501的处理步骤图。
在同步控制部2501的处理中,首先,从存取100接收指令(S2801)。接着,参照接收到的指令,判断是否是自身不能识别的不正当指令(S2802)。在是不正当指令时,向存取装置100通知错误,结束处理(S2803)。在是可识别指令时,判断该指定是否是图18中说明的RAW-WRITE指令(S2804)。在是RAW-WRITE指令以外的指令时,判别指令的种类(S2805)。如果是高位指令,则调用文件系统接口控制部120,如果是低位指令,则调用低电平IO接口控制部1603,实施对应各个指令的其他处理,结束处理(S2806)。
在是RAW-WRITE指令时,判断由指令的自变量指定的写入位置是否与RAM113上读入的FAT2601相同(S2807)。在图26及图27的实例中,由于FAT2601存在于从234扇区的位置开始的123个扇区的区域中,所以在由RAW-WRITE指令请求例如写入从256扇区开始的32个扇区的数据时等,判断为写入位置相同。
在判断为写入位置相同时,以由RAW-WRITE指令发送的数据更新RAM113上的FAT2601(S2808)。而且,调用低电平IO接口控制部1603,实施RAW-WRITE指令,结束处理(S2809)。在判断为写入位置不相同时,判断是否是对与打开中的目录项(DE)相同的扇区的写入(S2810)。
在图26及图27的实例中,由于打开具有存在于480扇区、513扇区的目录项的文件,所以在RAW-WRITE指令请求对这2个扇区之一位置数据的写入时,判断写入位置是否相同。在判断为写入位置不相同时,前进到S2813的处理。在判断为写入位置相同时,参照RAW-WRITE指令中发送的数据,判断对包含目录项的扇区的写入是否是如打开中的文件的目录项变化的数据(S2811)。
这里,在目录项变化时,例如在变更文件大小、时间标记或文件名时,存在删除目录项本身的情况等。在判断为目录项未变化时,前进到S2813的处理。在判断为目录项变化时,更新RAM113上的打开文件信息(OFI)2602、2603、2604、2605(S2812)。
例如,在变更文件大小、时间标记或文件名时,更新打开文件信息2602、2603、2604、2605内的各值。在删除目录项本身时,クリア打开文件信息2602、2603、2604、2605,更新成未打开文件的状态。最后,调用低电平IO接口控制部1603,实施RAW-WRITE指令,结束处理(S2813)。
这样,同步控制部2501在对半导体存储卡110写入存取时确认写入位置,在读入RAM113上的数据变化地写入时,与数据写入同时更新RAM113上的数据。由此,在文件系统接口控制部120实现读出专用的文件系统功能时,通过与经低电平IO接口控制部1603的写入处理同步,发送文件系统管理信息,可执行在文件系统内不产生矛盾的处理。
或者,在本实施方式中,在半导体存储卡111内存在文件系统、簇逻辑地连续时,就最佳地址单位的1个单位而言,仅实施1次地址变换即可,还可减少地址变换处理的系统开销。
如上所述,在本实施方式中,在半导体存储卡110内具备文件系统接口控制部120和低电平IO接口控制部1603,从存取装置100经任一接口控制部,都可存取半导体存储卡110。另外,通过具备同步控制部2501,可采用经2个接口控制部的存取间的同步。由此,通过经2个接口控制部的存取,没有在文件系统内产生矛盾的机会,与实施方式3相比,可扩大文件系统接口控制部120实现的功能。
另外,在本实施方式中,说明了文件系统接口控制部120实现读出专用的文件系统功能的情况。本实施方式的要点在于,半导体存储卡110具备2个接口控制部,在经各个接口控制部进行存取时,在同步控制部2501中采用同步,以使文件系统内不产生矛盾。因此,文件系统接口控制部120实现读出专用的文件系统功能是一实例,在同步控制部2501中可采用同步以使文件系统内不产生矛盾的情况,也可实现其他的功能。
另外,在本实施方式中以FAT文件系统为例来说明,但使用其他的文件系统也无妨。另外,存储于卡信息存储部119中的卡信息可对应半导体存储卡120的使用状态来更新值。另外,包含卡信息存储部119的存储器116可包含在非易失性存储器115中,在不更新卡信息时也可包含在ROM117中。
如上所述,实施方式4的特征在于,具备非易失性存储器,在半导体存储卡内存储用户数据等;卡信息存储部,存储关于半导体存储卡的物理特性的卡信息;文件系统接口控制部,以存储于卡信息存储部中的信息为基础,执行适于半导体存储卡的物理特性的文件存取;低电平IO接口控制部,处理从半导体存储卡外部的存取装置对半导体存储卡内的非易失性存储器的低电平输入输出请求;和同步控制部,使来自文件系统接口控制部及低电平IO接口控制部的对非易失性存储器的处理同步。
(实施方式5)下面,说明本发明实施方式5中的半导体存储卡。图29是以本实施方式中的半导体存储卡110为中心的结构图。图29示出的半导体存储卡110与图1的结构不同之处在于,在半导体存储卡110内存在多个文件系统接口控制部(A,B,C)2901、2902、2903,在卡信息存储部119内存在文件系统类别标志2904。
即,在本实施方式中,文件系统接口控制部2901、2902、2903管理的文件系统的类别各不相同。卡信息存储部119存储包含非易失性存储器115的删除块大小的、关于半导体存储卡的物理特性的信息及包含表示在非易失性存储器115上构筑的文件系统类别的文件系统类别标志的卡信息。
文件系统接口控制部2901~2903根据存储于卡信息存储部119中的卡信息,将存储在非易失性存储器115内的数据作为文件来管理,根据经主机接口部111从存取装置100输入的指令,实施对非易失性存储现115上的文件的包含打开、关闭、读取、写入的文件存取处理。而且,多个文件系统接口控制部2901~2903中对应文件系统类别特征的文件系统接口控制部在半导体存储卡115基础上动作。
从存取装置100经任一接口控制部都可存储半导体存储卡110。因此,可对应用途变更管理半导体存储卡110内的非易失性存储器115的文件系统的类别。
接着,说明本实施方式中的文件系统接口控制部2901~2903。文件系统接口控制部2901~2903分别解释不同种类的文件系统后存取控制。在本实施方式中,在文件系统格式化时,确定使用的文件系统的类别,在卡信息存储部119中保持文件系统类别2904(图中仅为类别标志)。文件系统类别标志2904是可唯一特定选择的文件系统种类或使用的文件系统接口控制部2901、2902、2903的信息。以后,经接口控制部2901、2902、2903存取非易失性存储器115时,参照文件系统类别2904,从3个接口控制部2901、2902、2903中选择使用的接口控制部,控制文件系统。
图30是表示本实施方式中文件系统接口控制部2901、2902、2903的选择步骤的流程图。在图30的处理中,首先从存取装置100接收指令(S3001)。接着,参照接收到的指令,判断是否是自身不能识别的不正当指令(S3002)。在是不正当指令时,向存取装置100通知错误,结束处理(S3003)。在是可识别的指令时,决定该指令是否是FORMAT指令(S3004)。在是FORMAT指令以外的指令时,前进到S3010的处理。在是FORMAT指令时,判断指令的自变量是否是正确的值(S3005)。
在指定的自变量是不能解释的情况等指定不当的自变量的情况,判断为产生错误,向存取装置100通知错误,结束处理(S3006)。在自变量正确时,以自变量为基础,选择使用的文件系统接口控制部2901、2902、2903(S3007)。这里,自变量直接指定使用的文件系统的种类(FAT、UDF等),或指定唯一特定“文件系统接口控制部A”等接口控制部的特征。由此,半导体存储卡110可选择使用的文件系统接口控制部2901、2902、2903。
接着,在卡信息存储部119内设定文件系统类别2904(S3008)。接着,调用选择的文件系统接口控制部2901、2902、2903,实施格式化处理,前进到S3014的处理(S3009)。由该处理调用的文件系统接口控制部2901、2902、2903对应自身控制的文件系统类别,格式化非易失性存储器115。
另外,在S3004的处理中判断为是FORMAT指令以外时,判断指令的自变量是否是正确的值(S3010)。在指定的自变量不能解释的情况等、指定不正当的自变量的情况,判断为产生错误,向存取装置100通知错误,结束处理(S3011)。在自变量正确时,参照文件系统类别标志2904,选择使用的文件系统接口控制部2901、2902、2903(S3012)。
接着,调用选择的文件系统接口控制部2901、2902、2903,实施各指令的处理(S3013)。由该处理调用的文件系统接口控制部2901、2902、2903对应自身控制的文件系统类别,实施文件打开或文件数据的读出等处理。接着,判断各文件系统接口控制部2901、2902、2903中实施的处理是否成功(S3014)。在处理失败时,向存取装置100通知错误,结束处理(S3015)。在处理成功时,通知存取装置100处理结束,结束处理(S3016)。
如上所述,在本实施方式中,在半导体存储卡110内具备管理的文件系统类别不同的多个文件系统接口控制部2901、2902、2903,从存取装置100经任一接口控制部都可存取半导体存储卡110。由此,可考虑适于对大容量文件高速存取的文件系统、或适于存取许多小容量文件的文件系统等。而且,通过对应半导体存储卡110的使用用途变更文件系统的类别,可使用适于各用途的文件系统。
另外,在本实施方式中,使用在半导体存储卡110内存在3种文件系统接口控制部2901、2902、2903的实例来说明。但是,不限于3种,也可由任意多种构成。另外,在本实施方式中,以实施方式1为基础说明不同点,但可使本实施方式的发明内容与先说明的其他实施方式组合使用,也可作成包含低电平IO接口控制部或同步控制部的结构。
另外,在本实施方式中说明了将文件系统接口控制部2901、2902、2903包含于ROM117中的结构。但是,可作成包含于存储器116或非易失性存储器115中的结构,也可作成可更新文件系统接口控制部2901、2902、2903的结构。即,从半导体存储卡110的外部,或追加对应于新文件系统类别的文件系统接口控制部,或更新已有的文件系统接口控制部,也可删除无用的文件系统接口控制部。
另外,文件系统接口控制部管理的文件系统也可使用FAT文件系统或UDF文件系统以外的任意的文件系统。另外,存储于卡信息存储部119中的卡信息可对应半导体存储卡110的使用状态来更新值。另外,包含卡信息存储部119的存储器116也可包含在非易失性存储器115中。
如上所述,实施方式5的特征在于,具备非易失性存储器,在半导体存储卡内存储用户数据等;卡信息存储部,存储关于半导体存储卡的物理特性的卡信息;和多个文件系统接口控制部,对应多种文件系统,以存储于卡信息存储部中的信息为基础,执行适于半导体存储卡的物理特性的文件存取。
另外,在所述的各实施方式中说明半导体存储卡,本发明不限于卡状的半导体存储器,可适用于其他各种形状的半导体存储器装置。
产业上的可利用性本发明的半导体存储器装置通过在半导体存储器装置内具备装置信息存储部,存储关于半导体存储器装置的特性的信息;和接口控制部,以该信息为基础,执行适于半导体存储器装置的特性的文件存取,从而存取装置可不在意半导体存储器装置的特性地实现最佳的文件存取。这样的半导体存储器装置可利用为数字AV设备、便携电话终端或PC等信息记录媒体。另外,由于实现对应半导体存储器装置的特性的最佳文件存取,所以在利用为记录传送速率高的高品质AV数据的设备的信息记录媒体时最佳地动作。
权利要求
1.一种半导体存储器装置,包括非易失性存储器,由多个扇区构成,所述多个扇区中连续的特定个扇区被分组为作为数据删除最小单位的块,对从外部存取装置发送来的数据进行写入及读出;存储器控制器,在从所述存取装置输入了包含控制信号的指令时,控制对所述非易失性存储器的数据删除、写入及读出;装置信息存储部,存储包含所述非易失性存储器的删除块大小的、与半导体存储器装置的物理特性相关的装置信息;和文件系统接口控制部,根据存储于所述装置信息存储部中的装置信息,对所述非易失性存储器实施文件存取处理。
2.根据权利要求1所述的半导体存储器装置,其特征在于所述文件系统接口控制部将存储于所述非易失性存储器中的数据作为文件来管理,在从所述存取装置输入了请求对所述非易失性存储器上的文件进行文件存取处理的指令时,对存在于所述非易失性存储器内的文件实施文件存取处理。
3.根据权利要求1所述的半导体存储器装置,其特征在于所述非易失性存储器具有第1区域和第2区域,所述文件系统接口控制部将存储于所述非易失性存储器的所述第1区域中的数据作为文件来管理,在从所述存取装置输入了请求对所述非易失性存储器的所述第1区域的文件进行文件存取处理的指令时,对存在于所述非易失性存储器的所述第1区域中的文件实施文件存取处理,所述半导体存储器装置还具备低电平IO接口控制部,在从进行文件系统控制的所述存取装置输入了请求对所述非易失性存储器的所述第2区域进行数据写入或读出处理的指令时,对所述非易失性存储器内的所述第2区域实施数据写入或读出处理。
4.根据权利要求1所述的半导体存储器装置,其特征在于半导体存储器装置还具备低电平IO接口控制部,在从进行文件系统控制的所述存取装置输入了请求对所述非易失性存储器的任意位置进行数据写入或读出处理的指令时,对所述非易失性存储器内的任意位置实施数据写入或读出处理,所述非易失性存储器具有由所述文件系统接口控制部和所述低电平IO接口控制部两方控制的共用区域,所述文件系统接口控制部基于存储在所述装置信息存储部中的装置信息,对所述非易失性存储器上的共用区域仅实施用以构筑文件系统的格式化处理,以使存取单位成为最佳的存取单位,所述低电平IO接口控制部基于从所述存取装置输入的指令,实施对存在于所述非易失性存储器的共用区域中的文件的格式化处理以外的文件存取处理。
5.根据权利要求1所述的半导体存储器装置,其特征在于所述文件系统接口控制部在从所述存取装置输入了请求对所述非易失性存储器上的文件进行读出专用的文件存取处理的指令时,对存在于所述非易失性存储器内的文件实施文件存取处理,所述半导体存储器装置还具有低电平IO接口控制部,在所述文件系统接口控制部从进行文件系统控制的所述存取装置输入了请求对在数据读出中所使用的所述非易失性存储器内的区域中的任意位置进行数据写入或读出处理的指令时,对所述非易失性存储器内的任意位置实施数据写入或读出处理,和同步控制部,在所述低电平IO接口控制部对存在于所述非易失性存储器内的文件系统的管理信息实施数据写入处理时,不产生矛盾地更新所述文件系统接口控制部读出到所述半导体存储器装置内的暂时存储存储器上的文件系统管理信息。
6.根据权利要求1所述的半导体存储器装置,其特征在于所述装置信息存储部存储包含所述非易失性存储器的删除块大小的与半导体存储器装置的物理特性相关的信息、以及包含文件系统类别标志的装置信息,其中所述文件系统类别标志表示构筑在所述非易失性存储器上的文件系统的类别,所述文件系统接口控制部是根据存储于所述装置信息存储部中的装置信息,将存储于所述非易失性存储器内的数据作为文件来管理、并根据从所述存取装置输入的指令,对所述非易失性存储器上的文件实施文件存取处理的多个文件系统接口控制部,所述多个文件系统接口控制部中的与所述文件系统类别标志相对应的所述文件系统接口控制部在所述半导体存储器装置上进行动作。
7.根据权利要求1所述的半导体存储器装置,其特征在于所述文件系统接口控制部根据存储于所述装置信息存储部中的、包含删除块大小的信息,确定对所述非易失性存储器的存取单位,在对所述非易失性存储器上的区域实施构筑文件系统的格式化处理时,将文件系统的管理信息区域的大小设定成所述存取单位的倍数长度。
8.根据权利要求1所述的半导体存储器装置,其特征在于所述文件系统接口控制部根据存储于所述装置信息存储部中的、包含删除块大小的信息,确定对所述非易失性存储器的最佳存取单位,使用所述最佳存取单位作为在向所述半导体存储器装置中记录文件数据时的区域分配单位。
9.根据权利要求1所述的半导体存储器装置,其特征在于所述文件系统接口控制部根据存储于所述装置信息存储部中的、包含删除块大小的信息,确定对所述非易失性存储器的最佳存取单位并分配目录区域,以使多个目录区域包含在同一所述最佳存取单位内。
10.根据权利要求1所述的半导体存储器装置,其特征在于所述文件系统接口控制部由存储在作为可更新的非易失性记录媒体的存储器上的程序构成,能够从所述半导体存储器装置的外部来替换、更新或删除所述文件系统接口控制部。
11.一种半导体存储器装置的控制方法,所述半导体存储器装置具有包括多个扇区、且所述多个扇区中连续的特定个扇区被分组为作为数据删除最小单位的块的非易失性存储器,其中在装置信息存储部中预先存储包含所述非易失性存储器的删除块大小的、与所述半导体存储器装置的物理特性相关的装置信息,从外部的存取装置接收包含控制信号的指令,由文件系统接口控制部根据存储于所述装置信息存储部中的装置信息,对所述非易失性存储器内实施文件存取处理,和根据接收到的指令,对所述非易失性存储器执行数据删除、写入及读出。
12.根据权利要求11所述的半导体存储器装置的控制方法,其特征在于由所述文件系统接口控制部将存储于所述非易失性存储器中的数据作为文件来管理,在从所述存取装置输入了请求对所述非易失性存储器上的文件进行文件存取处理的指令时,对存在于所述非易失性存储器内的文件实施文件存取处理。
13.根据权利要求11所述的半导体存储器装置的控制方法,其特征在于由所述文件系统接口控制部根据存储于所述装置信息存储部中的、包含删除块大小的信息,确定对所述非易失性存储器的存取单位,在对所述非易失性存储器上的区域实施构筑文件系统的格式化处理时,将文件系统的管理信息区域的大小设定成所述存取单位的倍数长度。
14.根据权利要求11所述的半导体存储器装置的控制方法,其特征在于由所述文件系统接口控制部根据存储于所述装置信息存储部中的、包含删除块大小的信息,确定对所述非易失性存储器的最佳存取单位,使用所述最佳存取单位作为在向所述半导体存储器装置中记录文件数据时的区域分配单位。
15.根据权利要求11所述的半导体存储器装置的控制方法,其特征在于由所述文件系统接口控制部根据存储于所述装置信息存储部中的、包含删除块大小的信息,确定对所述非易失性存储器的最佳存取单位,分配目录区域,以使多个目录区域包含在同一所述最佳存取单位内。
全文摘要
本发明提供一种半导体存储器装置及其控制方法。在半导体存储器装置(110)内设置卡信息存储部(119),存储与半导体存储器装置(110)的特性相关的信息。设置文件系统接口控制部(120),基于所存储的特性信息,执行适于半导体存储器装置(110)的特性的文件存取。由此,存取装置(100)可不在意半导体存储器装置(110)的特性地经文件系统接口控制部(120)执行最佳的文件存取。
文档编号G06K19/07GK1910558SQ20058000253
公开日2007年2月7日 申请日期2005年1月24日 优先权日2004年1月26日
发明者前田卓治, 井上信治, 辻田昭一, 后藤芳稔, 大原淳, 松野公则, 田村和明 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1