存储装置管理方法与系统及其存储器存储装置与流程

文档序号:11828598阅读:163来源:国知局
存储装置管理方法与系统及其存储器存储装置与流程

本发明是有关于一种存储装置管理方法,且特别是有关于一种用于配置有可复写式非易失性存储器模块与智慧卡芯片的存储器存储装置的存储装置管理方法与系统及其存储器存储装置。



背景技术:

随着使用者逐渐接受使用电子钱包及预付储值,使得智慧卡的使用日益普及。智慧卡(Smart Card)是具有例如微处理器、卡操作系统、安全模块及存储器的组件的集成电路芯片(IC芯片),以允许持有者执行预定操作。智慧卡提供计算、加密、双向通信及安全功能,使得这张卡片除了存储数据的功能外还能达到对其所存储的数据加以保护的功能。使用全球行动通信系统(GSM)机制的蜂窝电话中所使用的用户识别模块(Subscriber Identification Module,简称:SIM)卡为智慧卡的其中一个应用范例。然而,智慧卡本身受限于存储容量,因此近年来开始与大量存储装置的记忆卡作结合,以扩增智慧卡的存储容量。

一般来说,主机系统与智慧卡之间的数据是通过存取关联于智慧卡的临时文件而被传送。然而,目前Google在Android 4.4.2的版本中所提出的数据存取方式仅允许使用者的应用程序在特定目录下进行数据存取,因此可能会因为权限不足而导致使用者的应用程序无法对某些临时文件进行数据写入。另一方面,动态地在主机系统中建立临时文件虽然可避免上述问题,但当某一个动态临时文件的逻辑地址(logical address,简称:LA)是破碎的或不连续的时,存储器装置可能无法完整地记录此动态临时文件的逻辑地址,或是在读写动作跨越多个逻辑地址时,造成存取数据不正确的问题。



技术实现要素:

本发明提供一种存储装置管理方法与系统及其存储器存储装置,其可正 确地通过存取临时文件的逻辑地址来存取智慧卡芯片。

本发明提出一种存储装置管理方法,用于具有可复写式非易失性存储器模块与智慧卡芯片的存储器存储装置。存储装置管理方法包括从主机接收设定指令前在第一数据夹中建立多个第一临时文件,其中上述第一临时文件被存储至对应存储器存储装置的文件系统的多个连续簇,第一数据夹配置在可复写式非易失性存储器模块中且主机的操作系统无法存取第一数据夹中的文件。存储装置管理方法还包括从主机接收设定指令,其中设定指令指示在第二数据夹中配置临时文件数据夹,第二数据夹被配置在可复写式非易失性存储器模块中且主机的操作系统可存取第二数据夹中的文件。存储装置管理方法还包括在对应文件系统的目录区中将存储上述第一临时文件的连续簇的簇号汇集至临时文件数据夹下。

在本发明的一范例实施例中,上述存储装置管理方法还包括通过安装于主机的智慧卡应用程序在第二数据夹中建立第二临时文件,其中第二临时文件被存储至文件系统的簇。上述存储装置管理方法还包括通过智慧卡应用程序下达写入数据串至逻辑地址的写入指令至存储器存储装置,其中数据串包含设定指令且逻辑地址是对应存储第二临时文件簇。

在本发明的一范例实施例中,上述从主机接收设定指令的步骤包括:依据写入指令指示的逻辑地址识别包含设定指令的数据串,并且从数据串中获取设定指令。

在本发明的一范例实施例中,上述存储装置管理方法还包括通过智慧卡应用程序扫描第二数据夹并判断第二数据夹中是否存有上述第一临时文件,其中通过安装于主机的智慧卡应用程序在第二数据夹中建立第二临时文件且通过智慧卡应用程序下达写入数据串至逻辑地址的写入指令至存储器存储装置的步骤是在第二数据夹非存有上述第一临时文件时被执行。

在本发明的一范例实施例中,上述存储装置管理方法还包括在对应文件系统的目录区中将存储上述第一临时文件的连续簇的簇号汇集至第二数据夹下之后,传送删除指令以删除第一数据夹。

在本发明的一范例实施例中,上述主机通过传送读取/写入指令以读取或写入存储器存储装置,且读取/写入指令包括上述设定指令。

在本发明的一范例实施例中,上述存储装置管理方法还包括倘若接收到 指示删除上述第一临时文件的删除指令时,不删除上述第一临时文件并且传送错误信息以回应指示删除上述第一临时文件的删除指令。

在本发明的一范例实施例中,上述存储装置管理方法还包括在对应文件系统的目录区中将存储上述第一临时文件的上述连续簇的簇号汇集至第二数据夹下之后,通过智慧卡应用程序传送删除指令以删除第二临时文件。

本发明提出一种存储器存储装置,包括连接接口单元用以电性连接至主机、可复写式非易失性存储器模块、智慧卡芯片及存储器控制电路单元。存储器控制电路单元电性连接至连接接口单元、可复写式非易失性存储器模块及智慧卡芯片。其中存储器控制电路单元在从主机接收设定指令前在第一数据夹中建立多个第一临时文件,其中上述第一临时文件被存储至对应存储器存储装置的文件系统的多个连续簇,第一数据夹配置在可复写式非易失性存储器模块中且主机的操作系统无法存取第一数据夹中的文件。其中设定指令指示在第二数据夹中配置临时文件数据夹,第二数据夹被配置在可复写式非易失性存储器模块中且主机的操作系统可存取第二数据夹中的文件。其中存储器控制电路单元在对应文件系统的目录区中将存储上述第一临时文件的连续簇的簇号汇集至临时文件数据夹下。

在本发明的一范例实施例中,上述存储器电路管理单元从安装于主机的智慧卡应用程序接收写入指令以在第二数据夹中建立第二临时文件,其中第二临时文件被存储至文件系统的簇,其中存储器电路管理单元从智慧卡应用程序接收写入指令以写入数据串至逻辑地址,其中数据串包含设定指令且逻辑地址是对应存储第二临时文件的簇。

在本发明的一范例实施例中,上述存储器电路管理单元依据写入指令指示的逻辑地址识别包含设定指令的数据串,并且从数据串中获取设定指令。

在本发明的一范例实施例中,上述存储器电路管理单元从智慧卡应用程序接收扫描信号以扫描第二数据夹并判断第二数据夹中是否存有上述第一临时文件,其中当第二数据夹非存有上述第一临时文件时,存储器电路管理单元从安装于主机的智慧卡应用程序接收写入指令以在第二数据夹中建立第二临时文件并从智慧卡应用程序接收写入指令以写入数据串至逻辑地址。

在本发明的一范例实施例中,上述存储器电路管理单元在对应文件系统的目录区中将存储上述第一临时文件的连续簇的簇号汇集至第二数据夹下之 后,从主机接收删除指令以删除第一数据夹。

在本发明的一范例实施例中,上述主机通过传送读取/写入指令以读取或写入存储器存储装置,且读取/写入指令包括上述设定指令。

在本发明的一范例实施例中,倘若存储器电路管理单元从主机接收到指示删除上述第一临时文件的删除指令时,存储器电路管理单元不删除上述第一临时文件并且传送错误信息至主机以回应指示删除上述第一临时文件的删除指令。

在本发明的一范例实施例中,上述存储器电路管理单元在对应文件系统的目录区中将存储上述第一临时文件的连续簇的簇号汇集至第二数据夹下之后,从智慧卡应用程序接收删除指令以删除第二临时文件。

本发明提出一种存储装置管理系统,包括主机及存储器存储装置。存储器存储装置具有可复写式非易失性存储器模块与智慧卡芯片且可分离地电性连接到主机。其中存储器存储装置在从主机接收设定指令前在第一数据夹中建立多个第一临时文件,其中上述第一临时文件被存储至对应存储器存储装置的文件系统的多个连续簇,第一数据夹配置在可复写式非易失性存储器模块中且主机的操作系统无法存取第一数据夹中的文件。其中设定指令指示在第二数据夹中配置临时文件数据夹,第二数据夹被配置在可复写式非易失性存储器模块中且主机的操作系统可存取第二数据夹中的文件。其中存储器存储装置在对应文件系统的目录区中将存储上述第一临时文件的连续簇的簇号汇集至临时文件数据夹下。

在本发明的一范例实施例中,上述存储器存储装置从安装于主机的智慧卡应用程序接收写入指令以在第二数据夹中建立第二临时文件,其中第二临时文件被存储至文件系统的簇,其中存储器存储装置从智慧卡应用程序接收写入指令以写入数据串至逻辑地址,其中数据串包含设定指令且逻辑地址是对应存储第二临时文件的簇。

在本发明的一范例实施例中,上述存储器存储装置依据写入指令指示的逻辑地址识别包含设定指令的数据串,并且从数据串中获取设定指令。

在本发明的一范例实施例中,上述存储器存储装置从智慧卡应用程序接收扫描信号以扫描第二数据夹并判断第二数据夹中是否存有上述第一临时文件。其中当第二数据夹非存有上述第一临时文件时,存储器存储装置从安装 于主机的智慧卡应用程序接收写入指令以在第二数据夹中建立第二临时文件并从智慧卡应用程序接收写入指令以写入数据串至逻辑地址。

在本发明的一范例实施例中,上述存储器存储装置在对应文件系统的目录区中将存储上述第一临时文件的连续簇的簇号汇集至第二数据夹下之后,从主机接收删除指令以删除第一数据夹。

在本发明的一范例实施例中,上述主机通过传送读取/写入指令以读取或写入存储器存储装置,且读取/写入指令包括上述设定指令。

在本发明的一范例实施例中,倘若存储器存储装置从主机接收到指示删除上述第一临时文件的删除指令时,存储器存储装置不删除上述第一临时文件并且传送错误信息至主机以回应指示删除上述第一临时文件的删除指令。

在本发明的一范例实施例中,上述存储器存储装置在对应文件系统的目录区中将存储上述第一临时文件的连续簇的簇号汇集至第二数据夹下之后,从智慧卡应用程序接收删除指令以删除第二临时文件。

基于上述,通过将第一临时文件的连续簇的簇号汇集到主机可存取的第二数据夹中,使得主机存取第一临时文件的逻辑地址时能够正确地存取智慧卡芯片。即使主机存取比簇大小还要大的数据时,由于第一临时文件的簇是连续的,因此也不会产生存取数据不正确的问题。

为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。

附图说明

图1是本发明的一范例实施例所示出的主机与存储器存储装置的示意图;

图2是本发明的一范例实施例所示出的电脑、输入/输出装置与存储器存储装置的范例示意图;

图3是本发明的一范例实施例所示出的主机与存储器存储装置的示意图;

图4是示出图1所示的主机与存储器存储装置的概要方块图;

图5是本发明的一范例实施例所示出的存储器控制电路单元的概要方块图;

图6是本发明的一范例实施例所示出的管理实体抹除单元的范例示意图;

图7为本发明的一范例实施例所示出的以文件系统格式化存储器模块的逻辑地址的范例;

图8为本发明的一范例实施例所示出的存储装置管理方法的流程图;

图9A为本发明的一范例实施例所示出的智慧卡芯片开卡时在根目录建立第一临时文件的范例;

图9B为本发明的一范例实施例所示出的在临时文件数据夹下建立第一临时文件的范例;

图10为本发明的一范例实施例所示出的存储装置管理方法的详细流程图;

图11A到图11C为本发明的一范例实施例所示出的在临时文件数据夹下建立第一临时文件时目录区的更动的示意图。

附图标记说明:

10:存储器存储装置;

11:主机;

12:电脑;

122:微处理器;

124:随机存取存储器(RAM);

13:输入/输出(I/O)装置;

126:系统总线;

128:数据传输接口;

21:鼠标;

22:键盘;

23:显示器;

24:打印机;

25:随身碟;

26:记忆卡;

27:固态硬盘;

31:数码相机;

32:SD卡;

33:MMC卡;

34:记忆棒;

35:CF卡;

36:嵌入式存储装置;

402:连接接口单元;

404:存储器控制电路单元;

406:可复写式非易失性存储器模块;

408:智慧卡芯片;

410:智慧卡应用程序;

410(0)~410(N)、410(0)~410(F)、410(F+1)~410(N):实体抹除单元;

502:存储器管理电路;

504:主机接口;

506:存储器接口;

508:智慧卡接口;

510:缓冲存储器;

512:电源管理电路;

514:错误检查与校正电路;

610(0)~610(D):逻辑单元;

620:数据串;

630:设定指令;

700:分割区;

702:主启动记录区;

704:文件配置表区;

706:目录区;

708:文件区;

700(0)~700(W):簇;

S805、S810、S815:步骤;

900:根目录;

911:第一数据夹;

912:第二数据夹;

913:临时文件数据夹;

921(1)~921(n):第一临时文件;

922:第二临时文件;

S1001、S1003、S1005、S1007、S1009、S1011、S1013、S1015、S1017、S1019、S1021:步骤;

1101:第一临时文件目录区;

1103:根目录区;

1105:第二数据夹目录区。

具体实施方式

一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(也称,控制电路)。通常存储器存储装置是与主机一起使用,以使主机可将数据写入至存储器存储装置或从存储器存储装置中读取数据。

图1是本发明的一范例实施例所示出的主机与存储器存储装置的示意图,并且图2是本发明的一范例实施例所示出的电脑、输入/输出装置与存储器存储装置的范例示意图。

请参照图1,主机11一般包括电脑12与输入/输出(input/output,简称:I/O)装置13。电脑12包括微处理器122、随机存取存储器(random access memory,简称:RAM)124、系统总线126与数据传输接口128。输入/输出装置13包括如图2的鼠标21、键盘22、显示器23与打印机24。必须了解的是,图2所示的装置非限制输入/输出装置13,输入/输出装置13可还包括其他装置。

在本实施例中,存储器存储装置10是通过数据传输接口128与主机11的其他元件电性连接。通过微处理器122、随机存取存储器124与输入/输出装置13的运作可将数据写入至存储器存储装置10或从存储器存储装置10中读取数据。例如,存储器存储装置10可以是如图2所示的随身碟25、记忆卡26或固态硬盘(Solid State Drive,简称:SSD)27等的可复写式非易失性存储器存储装置。

图3是本发明的一范例实施例所示出的主机与存储器存储装置的示意图。

一般而言,主机11为可实质地与存储器存储装置10配合以存储数据的任意系统。虽然在本范例实施例中,主机11是以电脑系统来做说明,然而,在另一范例实施例中主机11可以是数码相机、摄像机、通信装置、音频播放器或视频播放器等系统。例如,在主机为图3中的数码相机(摄像机)31时,可复写式非易失性存储器存储装置则为其所使用的SD卡32、MMC卡33、记忆棒(memory stick)34、CF卡35或嵌入式存储装置36(如图3所示)。嵌入式存储装置36包括嵌入式多媒体卡(Embedded MMC,简称:eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机的基板上。

图4是示出图1所示的主机与存储器存储装置的概要方块图。

请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404、可复写式非易失性存储器模块406以及智慧卡芯片408。

在本范例实施例中,存储器控制电路单元404是用以控制存储器存储装置10的整体运作,以完成根据本发明实施例的存储装置管理方法。此外,必须了解的是主机11也包含主机11欲与存储器存储装置10连接所需具备的一般功能。

连接接口单元402是兼容于串行高级技术附件(Serial Advanced Technology Attachment,简称:SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元402也可以是符合并行高级技术附件(Parallel Advanced Technology Attachment,简称:PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,简称:IEEE)1394标准、高速外设组件互联接口(Peripheral Component Interconnect Express,简称:PCI Express)标准、通用串行总线(Universal Serial Bus,简称:USB)标准、超高速一代(Ultra High Speed-I,简称:UHS-I)接口标准、超高速二代(Ultra High Speed-II,简称:UHS-II)接口标准、安全数字(Secure Digital,简称:SD)接口标准、记忆棒(Memory Stick,简称:MS)接口标准、多媒体存储卡(Multi Media Card,简称:MMC)接口标准、小型快闪(Compact Flash,简称:CF)接口标准、集成驱动电子接口(Integrated Device Electronics,简称:IDE)标准或其他适合的标准。在本范例实施例中,连接接口单元402可与存储器控制电路单元404封装在一 个芯片中,或布设于一包含存储器控制电路单元404的芯片外。

存储器控制电路单元404用以执行以硬件形式或固件形式实作的多个逻辑门或控制指令,并且根据主机11的指令在可复写式非易失性存储器模块406与智慧卡芯片408中进行数据的写入、读取、抹除与合并等运作。

可复写式非易失性存储器模块406是电性连接至存储器控制电路单元404并且用以存储主机11所写入的数据。可复写式非易失性存储器模块406可以是单阶存储单元(Single Level Cell,简称:SLC)NAND型快闪存储器模块(即,一个存储单元中可存储1个比特数据的快闪存储器模块)、多阶存储单元(Multi Level Cell,简称:MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个比特数据的快闪存储器模块)、复数阶存储单元(Triple Level Cell,简称:TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个比特数据的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。

智慧卡芯片408电性连接至存储器控制电路单元404并且用以执行计算、加密、双向通信及安全认证等功能。在一范例实施例中,智慧卡芯片408为兼容于ISO 7816标准的接触式智慧卡。然而,必须了解的是,本发明不限于此。例如,智慧卡芯片408也可是兼容于ISO 14443、ISO 15408或其他安全智慧卡标准的接触或非接触式智慧卡。又例如,智慧卡芯片408可为射频识别(Radio Frequency Identification,简称:RFID)芯片、无线传输芯片(如:蓝牙芯片)或多媒体控制芯片(如:数字录音芯片)等。此外,值得说明的是,存储器控制电路单元404与智慧卡芯片408可各为一独立芯片,也可合并封装为一单一芯片。在本范例实施例中,智慧卡芯片408是用以存储加/解密金钥、帐号和/或密码等与安全验证有关的敏感数据。然而,在另一范例实施例中,智慧卡芯片408也可以用以存储一般数据。

图5是本发明的一范例实施例所示出的存储器控制电路单元的概要方块图。

请参照图5,存储器控制电路单元404包括存储器管理电路502、主机接口504、存储器接口506与智慧卡接口508。

存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器存储装置10 运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路502的操作时,等同于说明存储器控制电路单元404的操作。

在本范例实施例中,存储器管理电路502的控制指令是以固件形式来实作。例如,存储器管理电路502具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以对可复写式非易失性存储器模块406进行数据的写入、读取与抹除等运作。在另一范例实施例中,存储器管理电路502的控制指令也可以程序码形式存储于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路502具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制电路单元404被使能时,微处理器单元会先执行此驱动码段来将存储于可复写式非易失性存储器模块406中的控制指令载入至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。

主机接口504是电性连接至存储器管理电路502并且用以电性连接至连接接口单元402,以接收与识别主机11所传送的指令与数据。也就是说,主机11所传送的指令与数据会通过主机接口504来传送至存储器管理电路502。在本范例实施例中,主机接口504是兼容于SATA标准。然而,必须了解的是本发明不限于此,主机接口504也可以是兼容于PATA标准、IEEE 1394标准、PCI Express标准、USB标准、UHS-I接口标准、UHS-II接口标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其他适合的数据传输标准。

存储器接口506是电性连接至存储器管理电路502并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会通过存储器接口506转换为可复写式非易失性存储器模块406所能接受的格式。例如,若存储器管理电路502要存取可复写式非易失性存储器模块406,存储器接口506会传送对应的指令序列。这些指令序列可包括一或多个信号,或是在总线上的数据。例如,在读取指令序列中,会 包括读取的辨识码、存储器地址等信息。

智慧卡接口508电性连接至存储器管理电路502并且电性连接至智慧卡芯片408。具体来说,存储器管理电路502会通过智慧卡接口508传送指令至智慧卡芯片408或从智慧卡芯片408中接收回应。例如,在本范例实施例中,传送给智慧卡芯片408的指令数据单元称为指令-应用程序协定数据单元(Command-Application Protocol Data Unit,简称:C-APDU)并且来自于智慧卡芯片408的回应数据单元称为回应-应用程序协定数据单元(Response-Application Protocol Data Unit,简称:R-APDU)。

在一范例实施例中,存储器控制电路单元404还包括缓冲存储器510、电源管理电路512与错误检查与校正电路514。

缓冲存储器510是电性连接至存储器管理电路502并且用以暂存来自于主机11的数据与指令或来自于可复写式非易失性存储器模块406或智慧卡芯片408的数据。

电源管理电路512是电性连接至存储器管理电路502并且用以控制存储器存储装置10的电源。

错误检查与校正电路514是电性连接至存储器管理电路502并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路502从主机11中接收到写入指令时,错误检查与校正电路514会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code,简称:ECC Code)和/或错误检查码(error detecting code,简称:EDC),并且存储器管理电路502会将对应此写入指令的数据与对应的错误检查与校正码和/或错误检查码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误检查与校正码和/或错误检查码,并且错误检查与校正电路514会依据此错误检查与校正码和/或错误检查码对所读取的数据执行错误检查与校正程序。

图6是本发明的一范例实施例所示出的管理实体抹除单元的范例示意图。

必须了解的是,在此描述实体抹除单元的运作时,以“选择”、“分组”、“划分”、“关联”等词来操作实体抹除单元是逻辑上的概念。也就是说,实体抹除 单元在智慧卡芯片408与可复写式非易失性存储器模块406中的实际位置并未更动,而是逻辑上对此些实体抹除单元进行操作。

请参照图6,可复写式非易失性存储器模块406具有实体抹除单元410(1)~410(F)且智慧卡芯片408具有实体抹除单元410(F+1)~410(N)。实体抹除单元410(0)~410(F)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。实体抹除单元410(F+1)~410(N)也可属于同一个存储器晶粒或者属于不同的存储器晶粒。每一实体抹除单元分别具有复数个实体程序化单元,其中属于同一个实体抹除单元的实体程序化单元可被独立地写入且被同时地抹除。

在本范例实施例中,实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。例如,实体程序化单元为实体页面或是实体扇(sector)。若实体程序化单元为实体页面,则每一个实体程序化单元通常包括数据比特区与冗余比特区。数据比特区包含多个实体扇,用以存储使用者的数据,而冗余比特区用以存储系统的数据(例如,错误更正码)。在本范例实施例中,一个数据比特区包含32个实体扇,且一个实体扇的大小为512字节(byte,简称:B)。然而,在其他范例实施例中,数据比特区中也可包含8个、16个或数目更多或更少的实体扇。另一方面,实体抹除单元为抹除的最小单位。也即,每一实体抹除单元含有最小数目之一并被抹除的存储单元。例如,实体抹除单元为实体区块。此外,在另一范例实施例中,智慧卡芯片408也可以是包含其他类型的存储媒体而非限于使用实体抹除单元来存储数据。

存储器管理电路502会配置逻辑单元610(0)~610(D)以映射至实体抹除单元410(0)~410(N)的至少一部份。例如,在本范例实施例中,主机11是通过逻辑区块地址(logical block address,简称:LBA)来存取存储在实体抹除单元410(0)~410(N)中的数据,因此,每一个逻辑单元610(0)~610(D)是指一个逻辑区块地址。在另一本范例实施例中,一个逻辑单元的大小等于一个逻辑扇的大小。例如,一个逻辑扇的大小为512千字节。然而,在另一范例实施例中,一个逻辑单元的大小也可以是更大或更小,并且每一个逻辑单元610(0)~610(D)也可以是指一个逻辑程序化单元、一个逻辑抹除单元或者由多个连续的逻辑区块地址组成。每一个逻辑单元610(0)~610(D)是映射至一或多个实体单元。在本范例实施例中,一个实体单元是指一个实体扇。然而,在 另一范例实施例中,一个实体单元也可以是一个实体地址、一个实体程序化单元、一个实体抹除单元或者是由多个连续的实体地址组成,本发明不加以限制。存储器管理电路502可将逻辑单元与实体单元之间的映射关系记录于一或多个逻辑-实体映射表。当主机11欲从存储器存储装置10读取数据或写入数据至存储器存储装置10时,存储器管理电路502可根据此一或多个逻辑-实体映射表来执行对于存储器存储装置10的数据存取。

在本范例实施例中,主机11运行有一或多个智慧卡应用程序410。主机11(或智慧卡应用程序410)可存取智慧卡芯片408以获得操作所需的数据。例如,智慧卡应用程序410可以是即时通信应用程序、短信应用程序、通话应用程序或安全验证应用程序等各种类型的应用程序,且智慧卡应用程序410的种类不限于上述。例如,主机11也运行一操作系统(operating system,简称:OS)并且基于此操作系统来运行智慧卡应用程序410。此操作系统例如是安卓(android)4.4.2或其他类型/版本的操作系统。

在本范例实施例中,主机11(或智慧卡应用程序410)会通过下达对一或多个临时文件的存取指令与智慧卡芯片408进行通信。例如,主机11(或智慧卡应用程序410)会在智慧卡芯片408中建立一或多个临时文件,并且将关于此些临时文件所占用的逻辑区块地址的信息传递给存储器控制电路单元404(或存储器管理电路502)。之后,当主机11传送数据串至存储器存储装置10时,存储器控制电路单元404(或存储器管理电路502)会判断从主机11所传送的数据串是否为写入至此些临时文件所占用的逻辑区块地址。倘若数据串为写入至此些临时文件所占用的逻辑区块地址时,则存储器控制电路单元404(或存储器管理电路502)会将数据串识别为给智慧卡芯片408的通信数据单元并且传递至智慧卡芯片408。

图7为本发明的一范例实施例所示出的以文件系统格式化存储器模块的逻辑地址的范例。

请参照图7,主机11的操作系统可使用文件系统将逻辑单元610(0)~610(D)的逻辑地址格式化成一个分割区(partition)700。分割区700包括主启动记录(Master Boot Record,MBR)区702、文件配置表区704、目录区706与文件区708。

属于主启动记录区702的逻辑地址是用以存储便携式存储器存储装置10 的可存储空间的系统信息。属于文件配置表区704的逻辑地址是用以存储文件配置表。文件配置表是用以记录存储文件的逻辑地址的登录值。例如,文件配置表区中会存储两个文件配置表,其中一个文件配置表为正常存取所使用,而另一个文件配置表为备份文件配置表。属于目录区706的逻辑地址是用以存储文件描述区块(File Description Block,简称:FDB),其用以记录目前存储于便携式存储器存储装置10中的文件与目录的属性信息。特别是,文件描述区块会记录用以存储此些文件的起始逻辑地址(即,起始簇)。属于文件区708的逻辑地址是用以实际地存储文件的内容。在本范例实施例中,分割区700可以是符合FAT32规范的分割区。因此,属于目录区706与文件区708的扇区会被分组为簇(cluster)700(0)~700(W)。在本范例实施例中,每一个簇700(0)~700(W)的大小可为16千字节,但本发明并不以此为限。在其他范例实施例中,每一个簇700(0)~700(W)的大小也可以是8千字节、32千字节或其他大小。

图8为本发明的一范例实施例所示出的存储装置管理方法的流程图,图9A为本发明的一范例实施例所示出的智慧卡芯片开卡时在根目录建立第一临时文件的范例,并且图9B为本发明的一范例实施例所示出的在临时文件数据夹下建立第一临时文件的范例。

请参照图8,在步骤S805中,存储器控制电路单元404(或存储器管理电路502)会在存储器存储装置10执行初始化开卡程序时,在根目录900下建立一个第一数据夹911,并且在第一数据夹911中建立多个临时文件(也称为第一临时文件)921(1)~921(n),此时,存储器存储装置10还没从主机11接收过任何设定指令。

详细来说,第一数据夹911是被配置在可复写式非易失性存储器模块406中,而第一临时文件921(1)~921(n)是存储在文件系统连续的簇700(W-3)、700(W-2)、700(W-1)及700(W)中并且无法被删除或修改。在存储器存储装置10进行初始化开卡程序时,存储器控制电路单元404(或存储器管理电路502)会将第一临时文件921(1)~921(n)的簇号(例如,起始簇号)汇集到根目录900下的第一数据夹911。如此一来,第一临时文件921(1)~921(n)便可建立于第一数据夹910中。在此,第一临时文件921(1)~921(n)也可对应于逻辑单元610(D-127)~610(D)。

值得注意的是,由于在安卓(android)4.4.2以后的版本限制使用者只能存取特定的数据夹,或者说应用程序只在自己建立的数据夹下具有存取权限,因此在安卓4.4.2以后的版本中主机11的应用程序无法存取位于根目录900下的第一数据夹911中的第一临时文件921(1)~921(n),也就无法通过存取第一临时文件921(1)~921(n)的逻辑单元610(D-127)~610(D)来传送安全通道命令以执行对智慧卡芯片408的存取操作。

在步骤S810中,存储器控制电路单元404(或存储器管理电路502)会从主机11接收设定指令630以在第二数据夹912中配置临时文件数据夹913。

具体来说,在主机11的操作系统是安卓4.4.2以后的版本的情况下,主机11无法存取位于根目录900下的第一数据夹911中的第一临时文件921(1)~921(n)。在此例子中,智慧卡应用程序410会先扫描具有存取权限的第二数据夹912中是否存有第一临时文件921(1)~921(n)。若第二数据夹912中不存在第一临时文件921(1)~921(n)时,智慧卡应用程序410会先在第二数据夹912中建立一个动态临时文件(也称第二临时文件922)。例如,第二临时文件922会被存储在对应逻辑单元610(100)的簇700(W-50)中。接着智慧卡应用程序410会传送指示写入数据串620到逻辑单元610(100)且含有指示配置第一临时文件921(1)~921(n)的标头的写入指令到存储器存储装置10,并且存储器控制电路单元404(或存储器管理电路502)会根据写入指令所指示的逻辑地址(即,逻辑单元610(100))以及其标头来识别对应数据串620的此写入指令为特殊指令,并从数据串620中获取指示在第二数据夹912中配置临时文件数据夹913的设定指令630。也就是说,存储器控制电路单元404(或存储器管理电路502)可以根据包含在写入指令中关于逻辑单元610(100)的信息以及其标头来判断是要进行第二数据夹912中配置临时文件数据夹913。

虽然在上述范例实施例中说明了通过存取第二临时文件922的逻辑地址来下达设定指令630,但本发明并不以此为限。当主机11对存储器存储装置10下达一般的读取/写入指令以存取可复写式非易失性存储器模块406时,此读取/写入指令也可包括设定指令630。也就是说,主机10可以在存取复写式非易失性存储器模块406(而非智慧卡芯片408)时进行在第二数据夹912中配置临时文件数据夹913及其后续的操作。

在步骤S815中,存储器控制电路单元404(或存储器管理电路502)会根据设定指令630将存储第一临时文件921(1)~921(n)的起始簇号连接到临时文件数据夹913下。具体来说,存储器控制电路单元404(或存储器管理电路502)会根据设定指令630,在文件系统的目录区706中将存储第一临时文件921(1)~921(n)的连续簇700(W-3)~700(W)的起始簇号700(W-3)汇集到临时文件数据夹913下,如此一来,临时文件数据夹913下就存有第一临时文件921(1)~921(n)。由于临时文件数据夹913是位于智慧卡应用程序410建立的第二数据夹912下,因此智慧卡应用程序410具有临时文件数据夹913的存取权限,并可通过存取对应临时文件数据夹913下的第一临时文件921(1)~921(n)的逻辑单元610(D-127)~610(D)以执行对智慧卡芯片408的存取操作。

值得注意的是,在第一临时文件921(1)~921(n)的起始簇号700(W-3)汇集到临时文件数据夹913下之后(即,临时文件数据夹913存有第一临时文件921(1)~921(n)之后),智慧卡应用程序410还可以传送一个删除指令给存储器存储装置10,来指示删除第二数据夹912下的第二临时文件922。另外,在步骤S810中,若在第二数据夹912下可扫描到第一临时文件921(1)~921(n),代表上述步骤S815已经被执行过,因此智慧卡应用程序410就不需要在第二数据夹912中建立第二临时文件922,而可以直接通过存取对应临时文件数据夹913中的第一临时文件921(1)~921(n)的逻辑单元610(D-127)~610(D),以执行对智慧卡芯片408的存取操作。

图10为本发明的一范例实施例所示出的存储装置管理方法的详细流程图。

请参照图10,当智慧卡应用程序410被执行以传送指令至智慧卡芯片408时,在步骤S1001中,智慧卡应用程序410会判断第二数据夹912是否存有第一临时文件921(1)~921(n)。

若第二数据夹912存有第一临时文件921(1)~921(n)时,在步骤S1003中,智慧卡应用程序410会将含有欲传送给智慧卡芯片408的指令的数据串与指示写入数据至第一临时文件921(1)~921(n)所属的逻辑地址(即,存储第一临时文件921(1)~921(n)的簇)的写入指令传送至存储器存储装置10。

在步骤S1005中,存储器控制电路单元404(或存储器管理电路502)会 从主机11的智慧卡应用程序410接收此写入指令与对应此写入指令的数据串。

在步骤S1007中,存储器控制电路单元404(或存储器管理电路502)会判断此写入指令的逻辑地址是否属于第一临时文件921(1)~921(n)对应的逻辑单元610(D-127)~610(D)。

若此写入指令的逻辑地址属于第一临时文件921(1)~921(n)对应的逻辑单元610(D-127)~610(D)时,在步骤S1009中存储器控制电路单元404(或存储器管理电路502)会将对应此写入指令的数据串中的指令传送给智慧卡芯片408。

若此写入指令的逻辑地址不属于第一临时文件921(1)~921(n)对应的逻辑单元610(D-127)~610(D)时,在步骤S1011中存储器控制电路单元404(或存储器管理电路502)会依据此写入指令的逻辑地址将此写入指令的数据串写入至可复写式易失性存储器模块406中。

若在步骤S1001中判断第二数据夹912未存有第一临时文件921(1)~921(n)时,在步骤S1013中,智慧卡应用程序410会在第二数据夹912中建立第二临时文件922并且将关于存储第二临时文件922的逻辑地址(即,簇)的信息传送给存储器控制电路单元404(或存储器管理电路502)。

之后,在步骤S1015中,智慧卡应用程序410会利用依据第二临时文件922所建立的安全通道传送指示在第二数据夹912中建立临时文件数据夹913的设定指令630给存储器控制电路单元404(或存储器管理电路502)。

接着在步骤S1017中,存储器控制电路单元404(或存储器管理电路502)会根据设定指令630在第二数据夹912下建立临时文件数据夹913。

在步骤S1019中,存储器控制电路单元404(或存储器管理电路502)会根据设定指令630在对应文件系统的目录区706中将存储第一临时文件921(1)~921(n)的连续簇700(W-3)~700(W)的起始簇号700(W-3)汇集至第二数据夹912(如图9B所示)。

之后,在步骤S1021中,智慧卡应用程序410会传送一个删除指令以删除第一数据夹911。并且之后,步骤S1003会被执行。

值得注意的是,虽然智慧卡应用程序410在第二数据夹912中具有存取权限,但是由于第二数据夹912中所存储的第一临时文件921(1)~921(n)位于 文件系统的簇700(W-3)~700(W),而这些簇或者是这些簇对应到的可复写式非易失性存储器406的实体抹除单元在存储器存储装置10开卡时会被设定为无法删除的状态。因此倘若存储器控制电路单元404(或存储器管理电路502)接收到主机11的智慧卡应用程序410指示删除第二数据夹912中第一临时文件921(1)~921(n)的删除指令时,存储器控制电路单元404(或存储器管理电路502)不会删除第一临时文件921(1)~921(n),并且传送错误信息给主机11。

图11A到图11C为本发明的一范例实施例所示出的在临时文件数据夹下建立第一临时文件时目录区的更动的示意图。

请参照图11A,在该存储器存储装置10被初始化开卡时,在第一临时文件目录区1101中记录的第一临时文件921(1)~921(n)的起始簇号(即,0x00036F01)会汇集到根目录区1103下,此时第一临时文件921(1)~921(n)会存储于根目录900下的第一数据夹911中,其中第一数据夹911的簇号为0x00000000。

在图11B中,当存储器控制电路单元404(或存储器管理电路502)从主机11接收设定指令630并在第二数据夹912中配置临时文件数据夹913之后,第一临时文件921(1)~921(n)的起始簇号(即,0x00036F01)会汇集到第二数据夹目录区1105下,此时第一临时文件921(1)~921(n)会存储于第二数据夹912下的临时文件数据夹913中,其中临时文件数据夹913的簇号为0x00000006。同时,原先根目录区1103对应第一临时文件921(1)~921(n)起始簇号的数据会被变更,并且其第一个字节会被设定为E5,此时根目录900下的第一数据夹911已经被删除。

在图11C中,存储第一临时文件921(1)~921(n)起始簇号已经成功汇集到临时文件数据夹913下,因此主机11的智慧卡应用程序410可通过存取第一临时文件921(1)~921(n)的逻辑地址来存取智慧卡芯片408。

综上所述,本发明通过将第一临时文件的连续簇的簇号汇集到主机可存取的第二数据夹中,使得主机存取第一临时文件的逻辑地址时能够正确地存取智慧卡芯片。即使主机存取比簇大小还要大的数据时,由于第一临时文件的簇是连续的,因此也不会产生存取数据不正确的问题。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通 技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1