数据保护方法、存储器控制器与存储器储存装置的制作方法

文档序号:6363681阅读:196来源:国知局
专利名称:数据保护方法、存储器控制器与存储器储存装置的制作方法
技术领域
本发明涉及一种数据保护方法,且特别是有关于一种用于保护储存于可复写式非易失性存储器模块的文件的数据保护方法及使用此方法的存储器控制器与存储器储存装置。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于非易失性存储器(例如,闪速存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。此外,为了提供存储器储存装置更多的附加价值,存储器储存装置的制造商会于制造存储器储存装置时,预先储存一些特定应用的文件,以供使用者或对应的应用程序存取。例如,提供使用者来设定或解除存储器储存装置的保护密码的程序会初始地预存于存储器储存装置中。又例如,在存储器储存装置配置有智能卡(Smart Card)芯片的应用中,用以识别主机端所传送的数据串是否为智能卡芯片的指令数据单元的通信文件会预存于存储器储存装置中。然而,此些预存文件对于存储器储存装置的使用来说相当重要。倘若使用者误删此些文件时,存储器储存装置将无法提供此些功能,甚至无法再被使用。因此,如何保护此些预存文件为此领域技术人员所欲解决的课题。

发明内容
本发明提供一种数据保护方法、存储器控制器与存储器储存装置,其能够有效地防止预设子目录与预存文件被删除。本发明一范例实施例提出一种数据保护方法,用于保护储存在可复写式非易失性存储器模块中的子目录及此子目录中的至少一预存文件,其中此可复写式非易失性存储器模块具有多个实体区块以及映射部分的实体区块的多个逻辑区块地址,并且此些逻辑区块地址会被格式化成具有文件配置表区、根目录区与文件区的分割区。本数据保护方法包括从主机系统接收写入指令,其中此写入指令指示一写入地址。本数据保护方法还包括判断此写入地址是否为储存此子目录的文件描述区块的地址。本数据保护方法也包括,当此写入地址为储存子目录的文件描述区块的地址时,判断对应此写入指令的数据串的其中一部分是否相同于记录在此子目录的文件描述区块中的一对应内容。本数据保护方法还包括,当对应此写入指令的数据串的其中一部分不相同于记录在子目录的文件描述区块中的对应内容时,传递无法写入信息给主机系统。在本发明的一实施例中,上述的数据保护方法还包括:当此写入地址非为储存子目录的文件描述区块的地址时,判断写入地址是否为储存预存文件的文件描述区块的地址;当此写入地址为储存预存文件的文件描述区块的地址时,判断对应此写入指令的数据串的其中一部分是否相同于记录在预存文件的文件描述区块中的一对应内容;以及当对应此写入指令的该数据串的其中一部分不相同于记录在预存文件的文件描述区块中的对应内容时,传递无法写入信息给该主机系统。在本发明的一实施例中,上述的传递无法写入信息给主机系统的步骤包括:在完成接收对应此写入指令的一数据串之后,在一段预先定义时间期间持续输出忙碌信号。在本发明的一实施例中,上述的传递无法写入信息给主机系统的步骤包括:在一个回应信息中设定对应此写入指令的错误位元并且将此回应信息传送给主机系统。本发明一范例实施例提出一种数据保护方法,用于保护储存在可复写式非易失性存储器模块中的子目录及此子目录中的至少一预存文件,其中此可复写式非易失性存储器模块具有多个实体区块以及映射部分的实体区块的多个逻辑区块地址,并且此些逻辑区块地址会被格式化成具有文件配置表区、根目录区与文件区的分割区。本数据保护方法包括从主机系统接收写入指令,其中此写入指令指示一写入地址。本数据保护方法还包括判断该写入地址是否为储存预存文件的文件描述区块的地址。本数据保护方法也包括,当此写入地址为储存预存文件的文件描述区块的地址时,判断对应此写入指令的数据串的其中一部分是否相同于记录在预存文件的文件描述区块中的对应内容。本数据保护方法还包括,当对应此写入指令的数据串的其中一部分不相同于记录在预存文件的文件描述区块中的对应内容时,传递无法写入信息给该主机系统。本发明另一范例实施例提出一种存储器控制器,用于控制可复写式非易失性存储器模块,其中此可复写式非易失性存储器模块具有多个实体区块。本存储器控制器包括主机接口、存储器接口与存储器管理电路。主机接口用以电性连接至主机系统。存储器接口用以电性连接至可复写式非易失性存储器模块。存储器管理电路电性连接主机接口与存储器接口,并且用以配置多个逻辑区块地址以映射部分的实体区块,其中此些逻辑区块地址会被格式化成具有文件配置表区、根目录区与文件区的分割区,根目录区储存对应一个子目录的文件描述区块,并且此子目录的文件描述区块所记录的簇储存对应至少一预存文件的至少一文件描述区块。本存储器管理电路从主机系统接收写入指令,其中此写入指令指示写入地址。此外,存储器管理电路判断此写入地址是否为储存此子目录的文件描述区块的地址。当写入地址为储存此子目录的文件描述区块的地址时,存储器管理电路会判断对应此写入指令的数据串的其中一部分是否相同于记录在子目录的文件描述区块中的一对应内容。当对应此写入指令的数据串的其中一部分不相同于记录在子目录的文件描述区块中的对应内容时,存储器管理电路传递无法写入信息给主机系统。在本发明的一实施例中,当此写入地址非为储存该子目录的该文件描述区块的地址时,存储器管理电路判断此写入地址是否为储存预存文件的文件描述区块的地址。其中,当此写入地址为储存预存文件的文件描述区块的地址时,存储器管理电路判断对应此写入指令的数据串的其中一部分是否相同于记录在预存文件的文件描述区块中的一对应内容。当对应此写入指令的数据串的其中一部分不相同于记录在预存文件的文件描述区块中的对应内容时,存储器管理电路传递无法写入信息给主机系统。在本发明的一实施例中,上述的存储器管理电路是藉由在完成接收对应上述写入指令的数据串之后,在一段预先定义时间期间持续输出一忙碌信号,以将无法写入信息传递给王机系统。在本发明的一实施例中,上述的存储器管理电路是藉由在一回应信息中设定对应上述写入指令的错误位元并且传送此回应信息给该主机系统,以将无法写入信息传递给主机系统。本发明另一范例实施例提出一种存储器储存装置,其包括连接器、可复写式非易失性存储器模块与存储器控制器。连接器用以电性连接至主机系统。可复写式非易失性存储器模块具有多个实体区块。存储器控制器电性连接至连接器与可复写式非易失性存储器模块,并且用以配置多个逻辑区块地址以映射部分的实体区块,其中此些逻辑区块地址会被格式化成具有文件配置表区、根目录区与文件区的分割区,根目录区储存对应一个子目录的文件描述区块,并且此子目录的文件描述区块所记录的簇储存对应至少一预存文件的至少一文件描述区块。本存储器控制器从主机系统接收写入指令,其中此写入指令指示写入地址。此外,存储器控制器判断此写入地址是否为储存此子目录的文件描述区块的地址。当写入地址为储存此子目录的文件描述区块的地址时,存储器控制器会判断对应此写入指令的数据串的其中一部分是否相同于记录在子目录的文件描述区块中的一对应内容。当对应此写入指令的数据串的其中一部分不相同于记录在子目录的文件描述区块中的对应内容时,存储器控制器传递无法写入信息给主机系统。在本发明的一实施例中,当此写入地址非为储存子目录的文件描述区块的地址时,存储器控制器判断此写入地址是否为储存预存文件的文件描述区块的地址。当此写入地址为储存预存文件的文件描述区块的地址时,存储器控制器判断对应此写入指令的数据串的其中一部分是否相同于记录在预存文件的文件描述区块中的一对应内容。当对应此写入指令的数据串的其中一部分不相同于记录在预存文件的文件描述区块中的对应内容时,存储器控制器会传递无法写入信息给主机系统。在本发明的一实施例中,上述的存储器控制器是藉由在完成接收对应上述写入指令的数据串之后,在一段预先定义时间期间持续输出一忙碌信号,以将无法写入信息传递给主机系统。在本发明的一实施例中,上述的存储器控制器是藉由在一回应信息中设定对应上述写入指令的错误位元并且传送此回应信息给该主机系统,以将无法写入信息传递给主机系统。基于上述,上述范例实施例的数据保护方法、存储器控制器与存储器储存装置能够有效地防止储存于可复写式非易失性存储器模块中的目录与文件被删除或更改。为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。


图1是根据一范例实施例所显示的主机系统与存储器储存装置的概要方框图;图2与图3是根据一范例实施例所显示的管理实体区块的示意图;图4为根据一范例实施例所显示的以文件系统格式化存储器模块的逻辑区块地址的范例;图5是根据一范例实施例所显示的文件配置表区的范例;
图6是根据本范例实施例所显示的存储器控制器的概要方框图;图7是根据本范例实施例所显示的建立预设子目录与预存文件的示意图;图8是根据一范例实施例所显示的数据保护方法的流程图。附图标记:100:存储器储存装置;102:连接器;104:存储器控制器;106:可复写式非易失性存储器模块;108:智能卡芯片;108a:接口;1000:主机系统;1102:微处理器;1104:储存装置;1106:快取存储器;1108:输入/输出装置;1110:操作系统;1120:应用程序;202:存储器管理电路;204:主机接口;206:存储器接口;208:缓冲存储器;210:电源管理电路;212:错误检查与校正电路;304(0) 304 (R):实体区块;402:数据区;404:备用区;406:系统区;408:取代区;LBA(O) LBA(N):逻辑区块地址;600(0) 600 (W):簇;700(0) 700 (M+K):扇区;900:分割区;902:主引导磁区;904:文件配置区;906:根目录区;908:文件区;801、803、805:文件描述区块;807,809:预存文件;S801、S803、S805、S807、S809、S811、S813:数据保护方法的步骤。
具体实施例方式图1是根据一范例实施例所显示的主机系统与存储器储存装置的概要方框图。请参照图1,主机系统1000包括微处理器1102、储存装置1104、快取存储器1106与输入/输出装置1108。当主机系统1000开机时,微处理器1102会执行安装于储存装置1104中的操作系统1110,以使主机系统1000根据使用者的操作而提供对应的功能。例如,在主机系统1000为手机系统,并且操作系统1110为Symbian、Android或其他操作系统的例子中,当主机系统1000开机后,使用者可通过输入/输出装置1108操作主机系统1000以执行通信、影音播放等功能。虽然在本范例实施例中,主机系统1000是以手机系统来作说明,然而,在本发明另一范例实施例中主机系统1000亦可以是电脑、数码相机、摄影机、音频播放器或视频播放器等系统。存储器储存装置100是用以电性连接至主机系统1000,以根据来自于主机系统1000的操作系统1110的指令执行数据的写入与读取。例如,在主机系统1000为手机系统的例子中,存储器储存装置100可为安全数码(Secure Digital, SD)卡、多媒体储存卡(MultiMedia Card, MMC)卡、记忆棒(memory stick)、小型闪速(Compact Flash, CF)卡或嵌入式储存装置。嵌入式储存装置包括嵌入式多媒体卡(Embedded MMC, eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。存储器储存装置100包括连接器102、存储器控制器104与可复写式非易失性存储器模块106。连接器102为符合SD标准的连接器。然而,必须了解的是,本发明不限于此,连接器102亦可以是符合MS标准、MMC标准、CF标准、电气和电子工程师协会(Instituteof Electrical and Electronic Engineers, IEEE) 1394 标准、高速周边零件连接接口(Peripheral Component Interconnect Express, PCI Express)标准、串行高级技术附件(Serial Advanced Technology Attachment, SATA)标准、平行高级技术附件(ParallelAdvanced Technology Attachment, PATA)标准、通用串行总线(Universal Serial Bus,USB)标准、整合式驱动电子接口(Integrated Device Electronics, IDE)标准或其他标准的连接器。存储器控制器104用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并且根据主机系统1000的指令在可复写式非易失性存储器模块106中进行数据的写入、读取与抹除等运作。特别是,存储器控制器104能够执行根据本范例实施例的数据保护方法来保护预存的子目录(即,文件系统的数据夹)及此子目录中的文件。可复写式非易失性存储器模块106是电性连接至存储器控制器104,并且用以储存主机系统1000所写入的数据。可复写式非易失性存储器模块106包括多个实体区块。各实体区块分别具有多个实体页面,其中属于同一个实体区块的实体页面可被独立地写入且被同时地抹除。更详细来说,实体区块为抹除的最小单位。亦即,每一实体区块含有最小数目的一并被抹除的存储单元。实体页面为编程的最小单元。即,实体页面为写入数据的最小单元。然而,必须了解的是,在本发明另一范例实施例中,写入数据的最小单位亦可以是扇区(Sector)或其他大小。在本范例实施例中,可复写式非易失性存储器模块106为多阶存储单元(Multi Level Cell, MLC)NAND闪速存储器模块。然而,本发明不限于此,可复写式非易失性存储器模块106亦可是单阶存储单元(Single Level Cell,SLC)NAND闪速存储器模块、其他闪速存储器模块或其他具有相同特性的存储器模块。图2与图3是根据一范例实施例所显示的管理实体区块的示意图。请参照图2,在本范例实施例中,存储器控制器104会将可复写式非易失性存储器模块106的实体区块304(0) 304(R)逻辑地分组为数据区402、备用区404、系统区406与取代区408,其中被分组为数据区402与备用区404的实体区块会轮替地来储存主机系统1000所写入的数据,系统区406的实体区块是用以储存存储器储存装置100的系统数据,而取代区408的实体区块是用以取代数据区与备用区中的坏实体区块。请参照图3,为了使主机系统1000能够方便地对以轮替方式储存数据的实体区块进行存取,存储器控制器104会配置逻辑区块地址LBA(O) LBA(H)来映射数据区402的实体区块,由此主机系统1000能够直接地依据逻辑区块地址来进行数据的写入与读取。在本范例实施例中,逻辑区块地址LBA(O) LBA⑶会根据文件系统被格式化成一个分割区(partition) 900 (如图4所示),其中分割区900包括主引导磁区902、文件配置表区904、根目录区906与文件区908。属于主引导磁区902的逻辑区块地址是用以储存存储器储存装置100的可储存空间的系统信息。属于文件配置表区904的逻辑区块地址是用以储存文件配置表。文件配置表是用以记录用以储存数据的逻辑区块地址的登录值。例如,文件配置表区中会储存两个文件配置表,其中一个文件配置表为正常存取所使用,而另一个文件配置表为备份文件配置表。属于根目录区906的逻辑区块地址是用以储存文件描述区块(File DescriptionBlock, FDB),其用以记录目前储存于存储器储存装置100中的文件与目录的属性信息。例如,对应一个文件的文件描述区块会记录用以此文件的文件名以及储存此文件的起始逻辑区块地址(即,起始簇);并且对应一个目录的文件描述区块会记录此目录的目录名称以及用以记录储存于此目录中的文件或目录的文件描述区块的逻辑区块地址(即,簇)。属于文件区908的逻辑区块地址会被划分为多个簇并且用以实际地储存文件的内容。具体来说,磁碟储存最小单位为扇区,每一个扇区包含了 512位元组(byte)的信息内容。然而,使用扇区当单位来储存时,主机系统1000的效率会很差。一般来说,主机系统1000的操作系统1110不会以一个扇区当作存取文件的单位,而是以簇为一基本文件单位。每一个簇是架构在扇区的2次方倍数上。假定连续的8个扇区构成一个簇,则此簇的大小就为4096位元组。基此,在操作系统1110在存取数据时会以8个扇区连续读取而提升了相对效率。但,簇并非越大越好。因为当簇越大时相对的可能会浪费许多储存空间。例如,在一个簇为4千位元组(kilobyte,KB)的情况下,当主机系统1000所储存的文件内容只有IKB时,此文件还是占用掉一个簇的空间,剩余的3KB的储存空间就浪费掉了。特别是,簇的总数目会受限于可复写式非易失性存储器模块106的容量与文件配置表型态而有所不同。以FAT16来说,根据定义其本身最大的簇数目必须介于4048个 65526个之间,所以当格式化一张128MB的记忆卡,其每一个簇至少必须要包含4个扇区,不然会超出65526个簇(cluster)的限制(127,901,696/512/4 = 62,452clusters)。所以每一簇的大小为2KB。类似地,在FAT32中,最大的簇数目必须介于65526个 4177918个之间。值得一提的是,在FAT16中,根目录区906的大小是固定的。而在FAT32中,根目录区906会被放在文件区908来一起管理。例如,在本范例实施例中,分割区(partition) 900是符合FAT32规范的分割区。因此,属于根目录区906与文件区908的扇区会被分组为簇(cluster) 600(0) 600 (W)。在此假设簇600(0)是被配置为根目录区906的起始簇。此外,文件配置表区904包括扇区700 (M) 扇区700 (M+K)(如图5所示),来分别地记录对应簇600 (0) 600 (W)的登录值(entry value)。在此,登录值是用以表示所对应的簇的状态。例如,在FAT32中,“ OOOOOOOh ”表示此簇为闲置逻辑区块地址(即,未储存数据),“FFFFFF7h”表示此簇为坏逻辑区块地址(即,无法储存数据的坏簇),“FFFFFF8h”_ “FFFFFFFh”表示此簇为储存文件的最后一个逻辑区块地址等。在此,扇区700(M)的前2个登录值(即,前8个位元组)会被保留并记录为"F8hFFhFFhOFh"与"FFhFFhFFhOFh"。第2个登录值为对应根目录区906的簇600(0)。第3个登录值为对应簇600 (I)。第4个登录值为对应簇600 (2)。第5个登录值为对应簇600 (3)。第6个登录值为对应簇600 (4)。第7个登录值为对应簇600 (5)。以此类推,对应簇600(0) 600(W)的登录值都会被记录在文件配置表区904的扇区中。请再参照图1,在本范例实施例中,存储器储存装置100还包括智能卡芯片108。智能卡芯片108是通过接口 108a电性连接至存储器控制器104,其中接口 108a是专门用以与智能卡芯片108进行通信的接口。智能卡芯片108具有微处理器、安全模块、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电子抹除式可编程只读存储器(Electrically Erasable Programmable Read-Only Memory, EEPR0M)、震荡器等兀件。微处理器用以控制智能卡芯片108的整体运作。安全模块用以对储存至智能卡芯片108中的数据进行加解密。震荡器用以产生智能卡芯片108运作时所需的时脉信号。随机存取存储器用以暂存运算的数据或固件程序。电子抹除式可编程只读存储器用以储存使用者数据。只读存储器用以储存智能卡芯片108的固件程序。具体来说,当智能卡芯片108运作时,智能卡芯片108的微处理器会执行只读存储器中的固件程序来执行相关运作。特别是,智能卡芯片108的安全模块会执行一安全机制以防止欲窃取储存于智能卡芯片108中所储存的数据的攻击。例如,此攻击包括时间攻击(timingattack)、单一电力分析攻击(single-power-analysis attack)或差异电力分析攻击(differential-power-analysis)。此外,智能卡芯片108所执行的安全机制是符合联邦信息处理标准(Federal Information Processing Standards, FIPS) 140-2 的第三等级或更高等级或者符合EMVEL的第三等级或更高等级。也就是说,智能卡芯片108是通过FIPS140-2的第四级以上的认证或者通过EMV EL的第四级以上的认证。在此,FIPS是美国联邦政府制定给所有军事机构除外的政府机构及政府的承包商所使用的公开标准,其中FIPS140-2制定了关于数据安全的等级。此外,EMV是国际金融业界对于智能卡与可使用芯片卡的销售点(point-of-sale,P0S)终端机,以及银行机构所广泛设置的自动柜员机等所制定的专业交易与认证的标准规范。此规范是针对芯片信用卡与现金卡的支付款系统(PaymentSystem)的相关软硬件所设置的标准。在本范例实施例中,藉由智能卡芯片108的运作,存储器储存装置100可提供具有身份认证的服务,例如,小额付款服务、票证服务等。图6是根据一范例实施例所显示的存储器控制器的概要方框图。
请参照图6,存储器控制器104包括存储器管理电路202、主机接口 204、存储器接口 206、缓冲存储器208、电源管理电路210与错误检查与校正电路212。存储器管理电路202用以控制存储器控制器104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器储存装置100被电源开机(power on)时,此些控制指令会被执行以控制存储器控制器104的整体运作。在本范例实施例中,存储器管理电路202的控制指令是以固件型式来实作。例如,存储器管理电路202具有微处理器单元(未显示)与只读存储器(未显示),并且此些控制指令是被烧录至此只读存储器中。当存储器储存装置100运作时,此些控制指令会由微处理器单元来执行。在本发明另一范例实施例中,存储器管理电路202的控制指令亦可以程序码型式储存于可复写式非易失性存储器模块106的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器单元(未显示)、只读存储器(未显示)及随机存取存储器(未显示)。特别是,此只读存储器具有驱动码段,并且当存储器控制器104被使能时,微处理器单元会先执行此驱动码段来将储存于可复写式非易失性存储器模块106中的控制指令载入至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运转此些控制指令。此外,在本发明另一范例实施例中,存储器管理电路202的控制指令亦可以一硬件型式来实作。例如,存储器管理电路202包括微控制器、存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元与数据处理单元。存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元与数据处理单元是电性连接至微控制器。其中,存储器管理单元用以管理可复写式非易失性存储器模块106的实体区块;存储器写入单元用以对可复写式非易失性存储器模块106下达写入指令以将数据写入至可复写式非易失性存储器模块106中;存储器读取单元用以对可复写式非易失性存储器模块106下达读取指令以从可复写式非易失性存储器模块106中读取数据;存储器抹除单元用以对可复写式非易失性存储器模块106下达抹除指令以将数据从可复写式非易失性存储器模块106中抹除;而数据处理单元用以处理欲写入至可复写式非易失性存储器模块106的数据以及从可复写式非易失性存储器模块106中读取的数据。主机接口 204是电性连接至存储器管理电路202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接口204来传送至存储器管理电路202。在本范例实施例中,主机接口 204为符合SD标准的接口。然而,必须了解的是本发明不限于此,主机接口 204亦可以是符合MS标准、MMC标准、CF标准、PATA标准、IEEE 1394标准、PCI Express标准、SATA标准、USB标准、IDE标准或其他标准的接口。存储器接口 206是电性连接至存储器管理电路202并且用以存取可复写式非易失性存储器模块106。也就是说,欲写入至可复写式非易失性存储器模块106的数据会经由存储器接口 206转换为可复写式非易失性存储器模块106所能接受的格式。缓冲存储器208是电性连接至存储器管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于可复写式非易失性存储器模块106的数据。电源管理电路210是电性连接至存储器管理电路202并且用以控制存储器储存装置100的电源。错误检查与校正电路212是电性连接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,错误检查与校正电路256会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code, ECC Code),并且存储器管理电路202会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块106中。之后,当存储器管理电路202从可复写式非易失性存储器模块106中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路256会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。值得一提的是,智能卡芯片108是通过存储器储存装置100的连接器102接收来自于主机系统1000的指令与数据与传送数据至主机系统1000,而非直接通过智能卡接口(即,接口 108a)与主机系统1000通信。基此,在本范例实施例中,应用程序1120会被安装在主机系统1000中,并且使用特定的通信文件来传送指令数据单元(例如,指令-应用程序协议数据单兀(Command-Application Protocol Data Unit, C-APDU))给智能卡芯片108以及接收智能卡芯片108的回应数据单元(例如,回应-应用程序协议数据单元(Response-Application Protocol Data Unit, R-APDU))。具体来说,在本范例实施例中,应用程序1120会在存储器储存装置100中建立一个预设子目录(数据夹)来预先储存一个或多个文件(以下称为预存文件),并且将用以储存此一个或多个预存文件的逻辑区块地址的信息传送给存储器控制器104。图7是根据一范例实施例所显示的建立预设子目录与预存文件的示意图。请参照图7,在此假设应用程序1120在存储器储存装置100中建立目录名称为’RESP’的预设子目录并且预存文件名为’ RESP0000.BIN’的预存文件807与文件名为’ RESP0001.BIN’的预存文件809,其中需使用2个簇来储存文件名为’ RESP0000.BIN’的文件807并且需要使用I个簇来储存文件名为’ RESP0001.BIN’的文件809。针对预设子目录,操作系统1110会根据存储器储存装置100的文件系统在配置给根目录区906的簇(例如,簇600 (0))中未使用的地址记录对应目录名称为’ RESPj的预设子目录的文件描述区块801并且寻找一个空的簇(例如,簇600 (I))来记录关于此预设子目录的内容,其中文件描述区块801会记录簇600(1)的信息。针对文件,操作系统1110会根据存储器储存装置100的文件系统及文件807的大小,寻找2个空的簇(例如,簇600(2)与簇600(3))来储存文件807的内容。此外,操作系统1110会在簇600(1)中记录对应文件807的文件描述区块803并且在文件配置表区904中将对应簇600 (2)的登录值(即,第4登录值)修改为簇600 (3)的地址并且在对应簇600 (3)的登录值(及第5登录值)修改为“FFFFFFFh”。类似地,操作系统1110会根据存储器储存装置100的文件系统及文件809的大小,寻找I个空的簇(例如,簇600 (4))来储存文件809的内容。此外,操作系统1110会在簇600(1)中记录对应文件809的文件描述区块805并且在文件配置表区904中将对应簇600 (4)的登录值(即,第6登录值)修改为“FFFFFFFh”。例如,在完成上述储存之后,主机系统1000就可根据根目录区906中的文件描述区块获知存储器储存装置100存有一个目录名称为’RESP’的子目录。此外,主机系统1000可根据此子目录的文件描述区块所记录的簇600 (I)中所储存的文件描述区块,获知存储器储存装置100存有一个文件名为’ RESP0000.BIN’的文件807与一个文件名为’ RESP0001.BIN’的文件809,并且此些文件位于目录名称为’RESP’的子目录下。例如,当主机系统1000欲读取文件名为’ RESP0000.BIN’的文件807时,操作系统1110会根据此文件的文件描述区块803所记录的簇600 (2)来开始读取数据,并且根据在文件配置表区904中将对应簇600(2)的登录值继续从簇600 (3)读取数据,由此完成此文件的读取。特别是,在本范例实施例中,当主机系统1000来读取FAT表以及根目录区906时,存储器控制器104会将所建立的预设子目录与预存文件的识别信息传送给主机系统1000。具体来说,主机系统1000会取得对应目录名称为’ RESPj的子目录的文件描述区块801的逻辑区块地址、文件描述区块801所记录的簇(例如,簇600 (I))、对应文件807的文件描述区块803的逻辑区块地址、对应文件809的文件描述区块805的逻辑区块地址、文件807的内容的逻辑区块地址(例如,簇600(2)与簇600(3))、储存文件809的内容的逻辑区块地址(例如,簇600 (4))、文件807的文件名、文件809的文件名等识别信息。基此,当欲传送指令数据单元给智能卡芯片108时,应用程序1120会下达对通信文件(即,文件807或文件809)进行写入的写入指令。并且,存储器控制器104会依据所接收的识别信息识别所接收的写入指令为对通信文件进行存取,而将数据串传递给智能卡芯片108。特别是,在本范例实施例中,存储器控制器104的存储器管理电路202会执行多个防写/防删机制来防止用于传递指令数据单元所建立的预设子目录与预存文件被操作系统1110或其他应用程序误删或者防止预设子目录被加入其他文件或更改预设子目录名称。以下将配合流程图来分别地描述此些防写/防删机制,然而,必须了解的是,此些防写/防删机制可选择地执行至少其中一部分,以达到数据保护的功能。(I)防止预设子目录的文件描述区块被删除或修改机制在本范例实施例中,当从主机系统1000中接收到写入指令时,存储器管理电路202会判断此写入指令所指示的逻辑区块地址是否为储存文件描述区块801的地址。具体来说,如上所述,存储器控制器104会将所建立的预设子目录的识别信息传送给应用程序1120,基此,存储器管理电路202可根据此识别信息来判断此写入指令所指示的逻辑区块地址是否为储存文件描述区块801的地址。倘若此写入指令所指示的逻辑区块地址为储存文件描述区块801的地址时,存储器管理电路202会判断此写入指令所对应的数据串的其中一部分是否相同于记录在预设子目录的文件描述区块的对应内容。例如,存储器管理电路202会判断此写入指令所对应的数据串之中对应的12个位元组(byte)的内容是否相同于记录在预设子目录的文件描述区块中的对应的12个位元组(对应的12个位元组包括:例如,子目录名称、只读属性、隐藏属性、系统文件属性与目录类属性等)。倘若此写入指令所对应的数据串的其中一部分不相同于预设子目录的文件描述区块的对应内容时,则存储器管理电路202会传递无法写入信息给主机系统1000。例如,存储器管理电路202会在完成接收对应此写入指令的数据串之后,在预先定义时间期间持续输出一忙碌(busy)信号,由此产生逾时(time out),而使主机系统1000获知数据未被成功地写入。具体来说,当主机系统1000下达写入指令后,若存储器管理电路202通过忙碌信号接脚持续输出低脉冲(lower pulse) 一段时间(例如,250毫秒),主机系统1000会认定写入失败而重新(retry)下达写入指令或重置(reset)。然而,必须了解的是,本发明不限于此。例如,在本发明另一范例实施例中,存储器管理电路202亦可在回应(response)信息中设定对应此写入指令的错误位元并且将此回应信息传送给主机系统1000,由此将写入指令未被完成的信息传递给主机系统1000。倘若此写入指令所对应的数据串的其中一部分相同于预设子目录的文件描述区块的对应内容时,则存储器管理电路202会根据写入指令来完成写入运作。(2)防止预存文件的文件描述区块被删除或修改机制在本范例实施例中,当从主机系统1000中接收到写入指令时,存储器管理电路202会判断此写入指令所指示的逻辑区块地址是否为储存预存文件的文件描述区块(例如,文件描述区块803或文件描述区块805)的地址。具体来说,如上所述,存储器控制器104应用程序1120会将所建立的预存文件预设子目录的识别信息传送给应用程序1120存储器控制器104,基此,存储器管理电路202可根据此识别信息来判断此写入指令所指示的逻辑区块地址是否为储存预存文件的文件描述区块的地址。倘若此写入指令所指示的逻辑区块地址为储存预存文件的文件描述区块的地址时,存储器管理电路202会判断此写入指令所对应的数据串的其中一部分是否相同于记录在预存文件的文件描述区块的对应内容。例如,存储器管理电路202会判断此写入指令所对应的数据串之中对应的12个位元组(byte)的内容是否相同于记录在预存文件的文件描述区块中的对应的12个位元组(对应的12个位元组包括:例如,文件名称、只读属性、隐藏属性、系统档属性与文件类属性等)。倘若此写入指令所对应的数据串的其中一部分相同于预存文件的文件描述区块的对应内容时,则存储器管理电路202会根据写入指令来完成写入运作。反之,倘若此写入指令所对应的数据串的其中一部分不同于预存文件的文件描述区块的对应内容时,则存储器管理电路202会传递无法写入信息给主机系统1000。图8是根据一范例实施例所显示的数据保护方法的流程图。请参照图8,当接收到写入指令时,在步骤S801中,存储器管理电路202会判断此写入指令所指示的写入地址是否为储存预设子目录的文件描述区块的地址。倘若此写入地址为储存预设子目录的文件描述区块的地址,在步骤S803中,存储器管理电路202会判断此写入指令所对应的数据串的其中一部分是否相同于记录在预设子目录的文件描述区块的对应内容。倘若此写入指令所对应的数据串的其中一部分不相同于预设子目录的文件描述区块的对应内容时,在步骤S805中,存储器管理电路202会传递无法写入信息给主机系统1000。并且,在步骤S805之后,图8的流程会结束。例如,存储器管理电路202可利用忙碌信号或回应信息中的错误位元来传递写入失败的信息。倘若此写入指令所对应的数据串的其中一部分相同于预设子目录的文件描述区块的对应内容时,在步骤S807中,存储器管理电路202会根据此写入指令来完成写入指令。并且,在步骤S807之后,图8的流程会结束。倘若此写入地址非为储存预设子目录的文件描述区块的地址,在步骤S809中,存储器管理电路202会判断此写入地址是否为储存预设文件的文件描述区块的地址。倘若此写入地址非为储存预设文件的文件描述区块的地址时,则步骤S807会被执行。倘若此写入地址为储存预设文件的文件描述区块的地址时,则在步骤S811中,存储器管理电路202会判断此写入指令所对应的数据串的其中一部分是否相同于记录在预存文件的文件描述区块的对应内容。倘若此写入指令所对应的数据串的其中一部分不相同于记录在预存文件的文件描述区块的对应内容时,则在步骤S813中,存储器管理电路202会传递无法写入信息给主机系统1000。并且,在步骤S813之后,图8的流程会结束。倘若此写入指令所对应的数据串的其中一部分相同于记录在预存文件的文件描述区块的对应内容时,则步骤S807会被执行。值得一提的是,尽管在上述流程图中,存储器管理电路202会先判断此写入指令所指示的写入地址是否为储存预设子目录的文件描述区块的地址之后再接着判断该写入地址是否为储存该至少一预存文件的至少一文件描述区块的地址。然而,在另一流程图中,存储器管理电路202亦可直接判断该写入地址是否为储存该至少一预存文件的至少一文件描述区块的地址。综上所述,本发明范例实施例的数据保护方法、存储器控制器与存储器储存装置可有效地防止所建立的子目录被误删或更改以及防止所储存的文件被误删或更改。虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域的普通技术人员,当可作些许更动与润饰,而不脱离本发明的精神和范围。
权利要求
1.一种数据保护方法,用于保护储存在一可复写式非易失性存储器模块中的一子目录及该子目录中的至少一预存文件,其中该可复写式非易失性存储器模块具有多个实体区块以及映射部分的该些实体区块的多个逻辑区块地址,并且该些逻辑区块地址会被格式化成至少具有一文件配置表区、一根目录区与一文件区的一分割区,该数据保护方法包括: 从一主机系统接收一写入指令,其中该写入指令指示一写入地址; 判断该写入地址是否为储存该子目录的一文件描述区块的地址; 当该写入地址为储存该子目录的该文件描述区块的地址时,判断对应该写入指令的一数据串的其中一部分是否相同于记录在该子目录的该文件描述区块中的一对应内容;以及当对应该写入指令的该数据串的其中一部分不相同于记录在该子目录的该文件描述区块中的该对应内容时,传送一无法写入信息给该主机系统。
2.根据权利要求1所述的数据保护方法,其中还包括: 当该写入地址非为储存该子目录的该文件描述区块的地址时,判断该写入地址是否为储存该至少一预存文件的至少一文件描述区块的地址; 当该写入地址为储存该至少一预存文件的该至少一文件描述区块的地址时,判断对应该写入指令的该数据串的其中一部分是否相同于记录在该至少一预存文件的该至少一文件描述区块中的一对应内容;以及 当对应该写入指令的该数据串的其中一部分不相同于记录在该至少一预存文件的该至少一文件描述区块中的该对应内容时,传递该无法写入信息给该主机系统。
3.根据权利要求2 所述的数据保护方法,其中传递该无法写入信息给该主机系统的步骤包括: 在完成接收对应该写入指令的该数据串之后,在一预先定义时间期间持续输出一忙碌信号。
4.根据权利要求2所述的数据保护方法,其中传递该无法写入信息给该主机系统的步骤包括: 在一回应信息中设定对应该写入指令的一错误位元并且将该回应信息传送给该主机系统。
5.一种数据保护方法,用于保护储存在一可复写式非易失性存储器模块中的至少一预存文件,其中该可复写式非易失性存储器模块具有多个实体区块以及映射部分该些实体区块的多个逻辑区块地址,并且该些逻辑区块地址会被格式化成至少具有一文件配置表区、一根目录区与一文件区的一分割区,该数据保护方法包括: 从一主机系统接收一写入指令,其中该写入指令指示一写入地址; 判断该写入地址是否为储存该至少一预存文件的至少一文件描述区块的地址; 当该写入地址为储存该至少一预存文件的该至少一文件描述区块的地址时,判断对应该写入指令的一数据串的其中一部分是否相同于记录在该至少一预存文件的该至少一文件描述区块中的一对应内容;以及 当对应该写入指令的该数据串的其中一部分不相同于记录在该至少一预存文件的该至少一文件描述区块中的该对应内容时,传递一无法写入信息给该主机系统。
6.根据权利要求5所述的数据保护方法,其中传递该无法写入信息给该主机系统的步骤包括:在完成接收对应该写入指令的该数据串之后,在一预先定义时间期间持续输出一忙碌信号。
7.根据权利要求5所述的数据保护方法,其中传递该无法写入信息给该主机系统的步骤包括: 在一回应信息中设定对应该写入指令的一错误位元并且将该回应信息传送给该主机系统。
8.一种存储器控制器,用于控制一可复写式非易失性存储器模块,其中该可复写式非易失性存储器模块具有多个实体区块,该存储器控制器包括: 一主机接口,用以电性连接至一主机系统; 一存储器接口,用以电性连接至该可复写式非易失性存储器模块;以及一存储器管理电路,电性连接该主机接口与该存储器接口,并且用以配置多个逻辑区块地址以映射部分的该些实体区块,其中该些逻辑区块地址会被格式化成至少具有一文件配置表区、一根目录区与一文件区的一分割区,该根目录区储存对应一子目录的一文件描述区块,并且该子目录的该文件 描述区块所记录的一簇储存对应至少一预存文件的至少一文件描述区块, 其中该存储器管理电路从该主机系统接收一写入指令并且该写入指令指示一写入地址, 其中该存储器管理电路判断该写入地址是否为储存该子目录的该文件描述区块的地址, 其中当该写入地址为储存该子目录的该文件描述区块的地址时,该存储器管理电路判断对应该写入指令的一数据串的其中一部分是否相同于记录在该子目录的该文件描述区块中的一对应内容, 其中当对应该写入指令的该数据串的其中一部分不相同于记录在该子目录的该文件描述区块中的该对应内容时,该存储器管理电路传递一无法写入信息给该主机系统。
9.根据权利要求8所述的存储器控制器, 其中当该写入地址非为储存该子目录的该文件描述区块的地址时,该存储器管理电路判断该写入地址是否为储存该至少一预存文件的该至少一文件描述区块的地址, 其中当该写入地址为储存该至少一预存文件的该至少一文件描述区块的地址时,该存储器管理电路判断对应该写入指令的该数据串的其中一部分是否相同于记录在该至少一预存文件的该至少一文件描述区块中的一对应内容, 其中当对应该写入指令的该数据串的其中一部分不相同于记录在该至少一预存文件的该至少一文件描述区块中的该对应内容时,该存储器管理电路传递该无法写入信息给该主机系统。
10.根据权利要求9所述的存储器控制器,其中该存储器管理电路藉由在完成接收对应该写入指令的该数据串之后,在一预先定义时间期间持续输出一忙碌信号,以将该无法写入信息传递给该主机系统。
11.根据权利要求9所述的存储器控制器,其中该存储器管理电路藉由在一回应信息中设定对应该写入指令的一错误位元并且传送该回应信息给该主机系统,以将该无法写入信息传递给该主机系统。
12.—种存储器储存装置,包括: 一连接器,用以电性连接至一主机系统; 一可复写式非易失性存储器模块,具有多个实体区块;以及 一存储器控制器,电性连接至该连接器与该可复写式非易失性存储器模块,并且用以配置多个逻辑区块地址以映射部分的该些实体区块,其中该些逻辑区块地址会被格式化成至少具有一文件配置表区、一根目录区与一文件区的一分割区,该根目录区储存对应一子目录的一文件描述区块,并且该子目录的该文件描述区块所记录的一簇储存对应至少一预存文件的至少一文件描述区块, 其中该存储器控制器从该主机系统接收一写入指令并且该写入指令指示一写入地址, 其中该存储器控制器判断该写入地址是否为储存该子目录的该文件描述区块的地址, 其中当该写入地址为储存该子目录的该文件描述区块的地址时,该存储器控制器判断对应该写入指令的一数据串的其中一部分是否相同于记录在该子目录的该文件描述区块中的一对应内容, 其中当对应该写入指令的该数据串的其中一部分不相同于记录在该子目录的该文件描述区块中的该对应内容时,该存储器控制器传递一无法写入信息给该主机系统。
13.根据权利要求12所述的存储器储存装置,其中当该写入地址非为储存该子目录的该文件描述区块的地址时,该存储器控制器判断该写入地址是否为储存该至少一预存文件的该至少一文件描述区块的地址, 其中当该写入地址为储存该至少一预存文件的该至少一文件描述区块的地址时,该存储器控制器判断对应该写入指令的该数据串的其中一部分是否相同于记录在该至少一预存文件的该至少一文 件描述区块中的一对应内容, 其中当对应该写入指令的该数据串的其中一部分不相同于记录在该至少一预存文件的该至少一文件描述区块中的该对应内容时,该存储器控制器传递该无法写入信息给该主机系统。
14.根据权利要求13所述的存储器储存装置,其中该存储器控制器藉由在完成接收对应该写入指令的该数据串之后,在一预先定义时间期间持续输出一忙碌信号,以将该无法写入信息传递给该主机系统。
15.根据权利要求13所述的存储器储存装置,其中该存储器控制器藉由在一回应信息中设定对应该写入指令的一错误位元并且传送该回应信息给该主机系统,以将该无法写入信息传递给该主机系统。
全文摘要
一种数据保护方法、存储器控制器与存储器储存装置,其中数据保护方法用于保护储存在可复写式非易失性存储器模块中的子目录及此子目录中的至少一预存文件。本方法包括从主机系统接收写入指令;以及判断此写入指令所指示的写入地址是否为储存此子目录的文件描述区块的地址。本方法也还包括,当此写入地址为储存子目录的文件描述区块的地址时,判断对应此写入指令的数据串的其中一部分是否相同于记录在此子目录的文件描述区块中的一对应内容。若对应此写入指令的数据串的其中一部分不相同于记录在此子目录的文件描述区块中的一对应内容,则传递无法写入信息给主机系统。
文档编号G06F12/06GK103218319SQ20121001891
公开日2013年7月24日 申请日期2012年1月20日 优先权日2012年1月20日
发明者林亲民 申请人:群联电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1