CN105988935B - 智能卡管理方法、存储器存储装置及存储器控制电路单元 - Google Patents
智能卡管理方法、存储器存储装置及存储器控制电路单元 Download PDFInfo
- Publication number
- CN105988935B CN105988935B CN201510058037.4A CN201510058037A CN105988935B CN 105988935 B CN105988935 B CN 105988935B CN 201510058037 A CN201510058037 A CN 201510058037A CN 105988935 B CN105988935 B CN 105988935B
- Authority
- CN
- China
- Prior art keywords
- logic
- information
- smart card
- position identification
- identification information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本发明提供一种智能卡管理方法、存储器存储装置及存储器控制电路单元。此方法包括:从主机系统接收对应暂时档的第一设定指令,其中所述暂时档用以存取所述智能卡,且第一设定指令包括多个第一设定信息。所述第一设定信息的其中之一包括第一设定指令验证信息与第一位置识别信息,其中所述第一设定指令验证信息用以验证所述第一设定指令是否是用以设定暂时档,而第一位置识别信息用以找出包含第一位置识别信息的第一设定信息所对应的逻辑单元。此方法还包括:根据所述第一设定指令将属于所述暂时档的第一逻辑范围记录于查找表。
Description
技术领域
本发明是有关于一种智能卡管理方法,且特别是有关于一种智能卡管理方法、存储器存储装置及存储器控制电路单元。
背景技术
随着使用者逐渐接受使用电子钱包及预付储值,使得智能卡的使用日益普及。智能卡(Smart Card)是具有例如微处理器、卡操作系统、安全模块及存储器的组件的集成电路芯片(IC芯片),以允许持有者执行预定操作。智能卡提供计算、加密、双向通信及安全功能,使得这张卡片除了存储数据的功能外还能达到对其所存储的数据加以保护的功能。使用全球行动通信系统(GSM)机制的蜂窝式电话中所使用的用户识别模块(SubscriberIdentification Module,简称SIM)卡为智能卡的其中一个应用范例。然而,智能卡本身受限于存储容量,因此近年来开始与大量存储装置的存储卡作结合,以扩增智能卡的存储容量。
一般来说,主机系统与智能卡之间的数据是通过存取关联于智能卡的暂时档而被传送。然而,目前Google在Android 4.4.2的版本中所提出的数据存取方式仅允许使用者的应用程序在特定目录下进行数据存取,因此可能会因为权限不足而导致使用者的应用程序无法对某些暂时档进行数据写入。另一方面,动态地在主机系统中建立暂时档虽然可避免上述问题,但当某一个动态暂时档的逻辑地址(logical address,简称LA)是破碎的或不连续的时,存储器装置可能无法完整地记录此动态暂时档的逻辑地址。
发明内容
本发明提供一种智能卡管理方法、存储器存储装置及存储器控制电路单元,其可改善对于暂时档的逻辑地址的管理能力。
本发明的一范例实施例提供一种用于具有可复写式非易失性存储器模块与智能卡的智能卡管理方法,其包括:从主机系统接收对应暂时档的第一设定指令,其中所述暂时档关联至所述智能卡,所述第一设定指令包括多个第一设定信息,并且所述第一设定信息的其中之一包括第一设定指令验证信息与第一位置识别信息,其中所述第一设定指令验证信息用以验证所述第一设定指令是否是用以设定所述暂时档,而所述第一位置识别信息用以找出所述第一设定信息的所述其中之一所对应的逻辑单元;以及根据所述第一设定指令将属于所述暂时档的第一逻辑范围记录于查找表。
在本发明的一范例实施例中,所述第一位置识别信息包括排序位置识别信息,所述排序位置识别信息用以指示所述第一设定信息的所述其中之一在所述第一设定信息中的排序位置。
在本发明的一范例实施例中,所述智能卡管理方法还包括:从主机系统接收对应所述暂时档的第二设定指令,其中所述第二设定指令包括多个第二设定信息;以及根据所述第二设定指令将属于所述暂时档的第二逻辑范围记录于所述查找表,其中所述第一逻辑范围与所述第二逻辑范围不重叠。
在本发明的一范例实施例中,所述第一设定信息的第一数据长度与所述第二设定信息的第二数据长度的总和小于或等于所述暂时档的数据长度。
在本发明的一范例实施例中,所述第一逻辑范围的结束逻辑单元与所述第二逻辑范围的起始逻辑单元不连续。
在本发明的一范例实施例中,所述第一设定信息的其中之另一包括第二设定指令验证信息与第二位置识别信息,而所述智能卡管理方法还包括:判断所述第一设定指令验证信息与所述第二设定指令验证信息是否符合预设设定指令验证信息。
在本发明的一范例实施例中,所述智能卡管理方法还包括:根据所述第一位置识别信息与所述第二位置识别信息来决定所述第一逻辑范围。
在本发明的一范例实施例中,所述智能卡管理方法还包括:从主机系统接收操作指令,以及根据所述预设操作指令验证信息与所述第一逻辑范围的至少其中之一来判断所述操作指令是指示操作所述可复写式非易失性存储器模块或所述智能卡。
在本发明的一范例实施例中,所述操作指令包括指令-应用程序数据单元(Command-Application Protocol Data Unit,简称C-APDU)。
本发明的另一范例实施例提供一种存储器控制电路单元,其用于控制具有可复写式非易失性存储器模块与智能卡的存储器存储装置。所述存储器控制电路单元包括主机接口、存储器接口及存储器管理电路。主机接口用以电性连接至主机系统。存储器接口用以电性连接至可复写式非易失性存储器模块。存储器管理电路电性连接至主机接口与存储器接口。存储器管理电路用以从主机系统接收对应暂时档的第一设定指令,其中所述暂时档关联至智能卡,所述第一设定指令包括多个第一设定信息,并且所述第一设定信息的其中之一包括第一设定指令验证信息与第一位置识别信息,其中所述第一设定指令验证信息用以验证所述第一设定指令是否是用以设定所述暂时档,而所述第一位置识别信息用以找出所述第一设定信息的所述其中之一所对应的逻辑单元。其中所述存储器管理电路还用以根据所述第一设定指令将属于所述暂时档的第一逻辑范围记录于查找表。
在本发明的一范例实施例中,所述存储器管理电路还用以从所述主机系统接收对应所述暂时档的第二设定指令,其中所述第二设定指令包括多个第二设定信息。其中所述存储器管理电路还用以根据所述第二设定指令将属于所述暂时档的第二逻辑范围记录于所述查找表,其中所述第一逻辑范围与所述第二逻辑范围不重叠。
在本发明的一范例实施例中,所述第一设定信息的其中的另一包括一第二设定指令验证信息与一第二位置识别信息。其中所述存储器管理电路还用以判断所述第一设定指令验证信息与所述第二设定指令验证信息是否符合预设设定指令验证信息。
在本发明的一范例实施例中,所述存储器管理电路根据所述第一位置识别信息与所述第二位置识别信息来决定所述第一逻辑范围。
在本发明的一范例实施例中,所述存储器管理电路还用以从所述主机系统接收操作指令。其中所述存储器管理电路还用以根据预设操作指令验证信息与所述第一逻辑范围的至少其中之一来判断所述操作指令是指示操作所述可复写式非易失性存储器模块或所述智能卡。
本发明的又一范例实施例提供一种存储器存储装置,其包括连接接口单元、可复写式非易失性存储器模块、智能卡及存储器控制电路单元。连接接口单元用以电性连接至主机系统。存储器控制电路单元电性连接至连接接口单元、可复写式非易失性存储器模块及智能卡。其中所述存储器控制电路单元用以从所述主机系统接收对应暂时档的第一设定指令,其中所述暂时档关联至所述智能卡,所述第一设定指令包括多个第一设定信息,并且所述第一设定信息的其中之一包括第一设定指令验证信息与第一位置识别信息,其中所述第一设定指令验证信息用以验证所述第一设定指令是否是用以设定所述暂时档,而所述第一位置识别信息用以找出所述第一设定信息的所述其中之一所对应的逻辑单元。其中所述存储器控制电路单元还用以根据所述第一设定指令将属于所述暂时档的第一逻辑范围记录于查找表。
在本发明的一范例实施例中,所述存储器控制电路单元还用以从所述主机系统接收对于所述暂时档的第二设定指令,其中所述第二设定指令包括多个第二设定信息。其中所述存储器控制电路单元还用以根据所述第二设定指令将属于所述暂时档的第二逻辑范围记录于所述查找表,其中所述第一逻辑范围与所述第二逻辑范围不重叠。
在本发明的一范例实施例中,所述第一设定信息的其中的另一包括第二设定指令验证信息与第二位置识别信息。所述存储器控制电路单元还用以判断所述第一设定指令验证信息与所述第二设定指令验证信息是否符合预设设定指令验证信息。
在本发明的一范例实施例中,所述存储器控制电路单元还用以根据所述第一位置识别信息与所述第二位置识别信息来决定所述第一逻辑范围。
在本发明的一范例实施例中,所述存储器控制电路单元还用以从所述主机系统接收操作指令。所述存储器管理电路还用以根据预设操作指令验证信息与所述第一逻辑范围的至少其中之一来判断所述操作指令是指示操作所述可复写式非易失性存储器模块或所述智能卡。
基于上述,通过在对于暂时档的设定指令中加入设定指令验证信息与排序位置识别信息,属于新建立的暂时档的逻辑地址可以更正确地被存储器存储装置记录下来,减少因对于暂时档的设定指令被批次传输而导致记录错误的情形发生。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据本发明的一范例实施例所示出的主机系统与存储器存储装置的示意图;
图2是根据本发明的一范例实施例所示出的计算机、输入/输出装置与存储器存储装置的范例示意图;
图3是根据本发明的一范例实施例所示出的主机系统与存储器存储装置的示意图;
图4示出图1所示的主机系统与存储器存储装置的概要方块图;
图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图;
图6是根据本发明的一范例实施例所示出的管理实体抹除单元的范例示意图;
图7是根据本发明的一范例实施例所示出的设定信息的示意图;
图8A与图8B是根据本发明的一范例实施例所示出的记录逻辑范围的范例示意图;
图9是根据本发明的一范例实施例示出的智能卡管理方法的流程图。
图10A与图10B是根据本发明的另一范例实施例所示出的记录逻辑范围的范例示意图;
图11A与图11B是根据本发明的另一范例实施例所示出的记录不连续的多个逻辑范围的范例示意图;
图12是根据本发明的另一范例实施例示出的智能卡管理方法的流程图。
附图标记说明:
10:存储器存储装置;
11:主机系统;
12:计算机;
122:微处理器;
124:随机存取存储器(RAM);
13:输入/输出装置;
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(F)、410(F+1)~410(N):实体抹除单元;
502:存储器管理电路;
504:主机接口;
506:存储器接口;
508:缓冲存储器;
510:电源管理电路;
512:错误检查与校正电路;
610(0)~610(D):逻辑单元;
800、1000-1~1000-4、1100-1~1100-4:设定指令;
710(0)~710(N-1)、810(0)~810(127)、1010(0)~1010(255)、1110(0)~1110(255):设定信息;
712(0)~712(N-1)、812(0)~812(127)、1012(0)~1012(255)、1112(0)~1112(255):位置识别信息;
714、814、1014、1114:设定信息总数信息;
C(0)~C(255):设定指令验证信息;
880、1000、1100:查找表;
1102、1104、1106:逻辑范围;
S901、S903、S905、S907、S909、S911、S913、S915、S917、S919:智能卡管理方法的步骤;
S1201、S1203、S1205、S1207、S1209、S1211、S1213、S1215、S1217、S1219、S1221、S1223、S1225、S1227、S1229、S1231:智能卡管理方法的步骤。
具体实施方式
一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(也称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图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 TechnologyAttachment,简称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 DeviceElectronics,简称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、ISO15408或其他安全智能卡标准的接触或非接触式智能卡。又例如,智能卡408可为射频识别(Radio Frequency Identification,简称RFID)芯片、无线传输芯片(如:蓝芽芯片)或多媒体控制芯片(如:数码录音芯片)等。此外,值得说明的是,存储器控制电路单元404与智能卡408可各为一独立芯片,亦可合并封装为一单一芯片。在本范例实施例中,智能卡408是用以存储加/解密金钥、账号及/或密码等与安全验证有关的敏感数据。然而,在另一范例实施例中,智能卡408亦可以用以存储一般数据。
图5是根据本发明的一范例实施例所示出的存储器控制电路单元的概要方块图。
请参照图5,存储器控制电路单元404包括存储器管理电路502、主机接口504与存储器接口506。
存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路502的操作时,等同于说明存储器控制电路单元404的操作。
在本范例实施例中,存储器管理电路502的控制指令是以固件形式来实作。例如,存储器管理电路502具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在另一范例实施例中,存储器管理电路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与智能卡408。也就是说,欲写入至可复写式非易失性存储器模块406或智能卡408的数据会经由存储器接口506转换为可复写式非易失性存储器模块406或智能卡408所能接受的格式。例如,若存储器管理电路502要存取可复写式非易失性存储器模块406,存储器接口506会传送对应的指令序列。这些指令序列可包括一或多个信号,或是在总线上的数据。例如,在读取指令序列中,会包括读取的辨识码、存储器地址等信息。
在一范例实施例中,存储器控制电路单元404还包括缓冲存储器508、电源管理电路510与错误检查与校正电路512。
缓冲存储器508是电性连接至存储器管理电路502并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406或智能卡408的数据。
电源管理电路510是电性连接至存储器管理电路502并且用以控制存储器存储装置10的电源。
错误检查与校正电路512是电性连接至存储器管理电路502并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路502从主机系统11中接收到写入指令时,错误检查与校正电路512会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code,简称ECC Code)和/或错误检查码(error detecting code,简称EDC),并且存储器管理电路502会将对应此写入指令的数据与对应的错误检查与校正码及/或错误检查码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误检查与校正码及/或错误检查码,并且错误检查与校正电路512会依据此错误检查与校正码及/或错误检查码对所读取的数据执行错误检查与校正程序。
图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也可以运行一操作系统(operatingsystem,简称OS)并且基于此操作系统来运行应用程序410。此操作系统例如是安卓(android)4.4.2或其他类型/版本的操作系统。
一般来说,主机系统11(或应用程序410)会通过一或多个暂时档来存取智能卡408。例如,当智能卡408被初始化、智能卡408被重新电性连接或插入至存储器存储装置10、存储器存储装置10重新开机或任意需要更新暂时档的文件名称或逻辑单元等信息时,主机系统11(或应用程序410)会在智能卡408中动态地建立一或多个暂时档。所建立的暂时档会被关联至智能卡408。在主机系统11的档案系统中,动态建立的暂时档(也称为动态暂时档)的档案位置及/或存取权限与一般操作系统自行建立的暂时档(也称为静态暂时档)的档案位置及/或存取权限不同。例如,动态暂时档的档案位置可能会是在属于应用程序410的一个预设目录/路径下,故动态暂时档可供应用程序410存取。而静态暂时档的档案位置却可能是在应用程序410所无法存取的目录/路径下(例如,根目录)。通过存取属于此暂时档的逻辑单元,主机系统11(或应用程序410)即可执行对于智能卡408的数据存取操作。
在本范例实施例中,在动态地建立一个暂时档之后,主机系统11会发送对应于此暂时档的至少一个设定指令至存储器存储装置10以设定此暂时档。更详细的来说,此设定指令是用以设定属于此暂时档的逻辑单元。例如,属于此暂时档的至少部分逻辑单元会随着设定指令一并发送给存储器存储装置10。在本范例实施例中,一个设定指令会包括一或多个设定信息。一个设定信息会包括设定指令验证信息与位置识别信息。设定指令验证信息用以验证包含此指令验证信息的设定指令是否是用以设定某一个暂时档。位置识别信息是用以找出包含此位置识别信息的设定信息所对应的逻辑单元。为了方便说明,以下范例实施例将以包括排序位置信息的位置识别信息作为位置识别信息的范例进行说明。
图7是根据本发明的一范例实施例所示出的设定信息的示意图。
请参照图7,假设设定信息710(0)~710(N-1)是用以设定属于某一个暂时档的逻辑单元。其中,N为整数,并且N等于属于此暂时档的逻辑单元的数目。设定信息710(0)~710(N-1)会被包含于一或多个设定指令中并且被传送至存储器存储装置10。以设定信息710(0)为例,设定信息710(0)包括设定指令验证信息C(0)与位置识别信息712(0)。设定指令验证信息C(0)用以验证包含设定信息710(0)的设定指令是否是用以设定某一个暂时档。位置识别信息712(0)是用以找出设定信息710(0)所对应的逻辑单元。在本范例实施例中,位置识别信息712(0)包括一排序位置识别信息。此排序位置识别信息指示设定信息710(0)在设定信息710(0)~710(N-1)中的排序位置。例如,位置识别信息712(0)的排序位置识别信息的值是“0”,表示设定信息710(0)是排序在设定信息710(0)~710(N-1)中的起始位置。然而,在另一范例实施例中,位置识别信息712(0)则是包括一逻辑单元识别信息。此逻辑单元识别信息可包括设定信息710(0)所对应的逻辑单元的编号等信息。根据此逻辑单元识别信息即可识别出设定信息710(0)所对应的逻辑单元。
以设定信息710(1)为另一例,设定信息710(1)包括设定指令验证信息C(1)与位置识别信息712(1)。设定指令验证信息C(1)用以验证包含设定信息710(1)的设定指令是否是用以设定某一个暂时档。位置识别信息712(1)用以找出设定信息710(1)所对应的逻辑单元。在本范例实施例中,位置识别信息712(1)包括一排序位置识别信息。此排序位置识别信息指示设定信息710(1)在设定信息710(0)~710(N-1)中的排序位置。例如,位置识别信息712(1)的排序位置识别信息的值是“1”,表示设定信息710(1)是排序在设定信息710(0)~710(N-1)中的第二个位置,并且是此位置是接续在设定信息710(0)之后。以此类推,设定信息710(K)会包括设定指令验证信息C(K)与位置识别信息712(K)。设定指令验证信息C(K)用以验证包含设定信息710(K)的设定指令是否是用以设定关联于智能卡408的某一个暂时档。位置识别信息712(K)用以找出设定信息710(K)所对应的逻辑单元。例如,位置识别信息712(K)可指示设定信息710(K)在设定信息710(0)~710(N-1)中的排序位置。其中,K为整数,且K介于0~N-1之间。
在另一范例实施例中,至少部分的设定信息中还可以包括设定信息总数信息等任意有用的信息。此设定信息总数信息指示用以设定同一个暂时档的多个设定信息的总数。例如,在图7的范例实施例中,设定信息总数信息714用以指示设定信息710(0)~710(N-1)的总数(例如,“N”)。
值得一提的是,在图7的范例实施例中,用以设定同一个暂时档的每一个设定信息710(0)~710(N-1)的格式皆相同。然而,在图7的另一范例实施例中,每一个设定信息710(0)~710(N-1)的格式则可能不同。例如,可能只有设定信息710(0)~710(N-1)中的一部分包含有设定指令验证信息C(K)、只有设定信息710(0)~710(N-1)中的一部分包含有位置识别信息712(K)、及/或只有710(0)~710(N-1)中的一部分包含有设定信息总数信息714。
在本范例实施例中,用以设定同一个暂时档的每一个设定信息是对应至属于此暂时档的一个逻辑单元。例如,在图7的范例实施例中,假设一个暂时档是占用N个逻辑单元,则设定信息710(0)~710(N-1)是依序对应至此N个逻辑单元的其中之一。例如,设定信息710(K)是对应至此N个逻辑单元中的第K个逻辑单元。在图7的一范例实施例中,假设一个逻辑单元的大小是512字节,则每一个设定信息710(0)~710(N-1)的大小皆为512字节。其中,每一个设定指令验证信息C(0)~C(N-1)的大小皆为504字节,每一个位置识别信息712(0)~712(N-1)的大小皆为4字节,并且设定信息总数信息714的大小也为4字节。然而,在另一范例实施例中,一个设定信息也可以是对应至多个逻辑单元,并且设定信息、设定指令验证信息、排序位置识别信息及设定信息总数信息的大小都可以是更大或更小,视实务上的需求而定。
在本范例实施例中,存储器管理电路502会根据一个设定指令中的设定指令验证信息来验证此设定指令并且根据此设定指令是否通过验证来决定是否记录下对应于此设定指令的一或多个连续或分散的逻辑范围(也称为逻辑地址范围)。例如,存储器管理电路502会将接收到的设定指令验证信息与预先存储在存储器管理电路502中的一预设设定指令验证信息进行比较并且判断两者是否一致。其中,存储器管理电路502可以是分别将接收到的每一个设定指令验证信息与对应的预设设定指令验证信息进行单独比对或者是将接收到的至少部分的设定指令验证信息的结合来与对应的预设设定指令验证信息进行比对。若接收到的设定指令验证信息与预设设定指令验证信息一致,表示对应的设定指令通过验证,因此存储器管理电路502会将对应的一或多个彼此不重叠的逻辑范围记录于一查找表中。其中,一个逻辑范围可以是由属于某一个暂时档的多个连续的或分散的逻辑单元组成。此外,若接收到的设定指令验证信息与预设设定指令验证信息不一致,则存储器管理电路502不会执行上述记录逻辑范围的操作。
图8A与图8B是根据本发明的一范例实施例所示出的记录逻辑范围的范例示意图。
请参照图8A与图8B,假设一个动态暂时档的大小为64千字节,主机系统11会产生并发送用以设定此动态暂时档的设定指令800至存储器存储装置10。其中,设定指令800包括设定信息810(0)~810(127)。设定信息810(0)~810(127)的数据长度的总和等于此动态暂时档的数据长度。然而,在另一范例实施例中,暂时档的大小可以更大或更小,且设定信息810(0)~810(127)的数目也可以是更多或更少,本发明不加以限制。
当存储器管理电路502接收到设定指令800时,存储器管理电路502会将设定指令验证信息C(0)~C(127)与存储器管理电路502中的一预设设定指令验证信息进行比对。若设定指令验证信息C(0)~C(127)与设定指令验证信息一致,则存储器管理电路502会记录下对应于设定指令800的一个逻辑范围在查找表880。其中,此逻辑范围中的一起始逻辑单元、一结束逻辑单元或者此逻辑范围中所有的逻辑单元例如是随着设定指令800传送至存储器存储装置10。例如,如图8B所示,此逻辑范围的起始逻辑单元为“610(1000)”,此逻辑范围的结束逻辑单元为“610(1127)”,并且此逻辑范围包含逻辑单元“610(1000)”~“610(1127)”。
在一范例实施例中,若只有一部分的逻辑单元(例如,起始逻辑单元)随着设定指令800传送至存储器存储装置10,则存储器管理电路502可根据设定指令800中的设定信息总数信息814或者位置识别信息812(0)与812(127)来获得此逻辑范围的大小与边界。例如,根据设定信息总数信息814,存储器管理电路502可将所接收到的起始逻辑单元“610(1000)”加上“127”个逻辑单元而获得结束逻辑单元“610(1127)”。在本范例实施例中,对于一个逻辑范围来说,只有此逻辑范围的起始逻辑单元与结束逻辑单元会被记录下来,以节省存储空间。然而,在另一范例实施例中,一个逻辑范围中更多或更少的逻辑单元可被记录下来。换言之,此时,主机系统11已将属于某一个动态暂时档的逻辑单元更新至存储器存储装置10中。
然而,智能卡408所对应的逻辑单元可能在存储器存储装置10的使用过程中被改变,因此上述发送设定指令以及记录属于暂时档的逻辑范围的操作会在任何需要更新智能卡408所对应的逻辑单元时再次被执行,例如,当智能卡408被初始化、智能卡408被重新电性连接或插入至存储器存储装置10、存储器存储装置10重新开机、存储器存储装置10被使用超过一段预设时间或者任意时间点。
在上述范例实施例中,当主机系统11(或应用程序410)欲更新某一个暂时档的相关信息时,主机系统11(或应用程序410)就会建立一个新的暂时档。然而,在一范例实施例中,在建立一个新的暂时档之前,主机系统11(或应用程序410)还会判断是否已有足够的动态暂时档存在(例如,存在于应用程序410可存取的一预设目录下)。若已有足够的动态暂时档存在,则主机系统11(或应用程序410)可以不建立新的暂时档,而仅是重新发送对应于已存在的动态暂时档的设定指令至存储器存储装置10,以重新设定此些已存在的暂时档。反之,若没有预先建立的动态暂时档存在或者动态暂时档的数目不够,主机系统11(或应用程序410)才会执行上述动态建立暂时档与发送对应的设定指令的操作。
在存储器管理电路502根据一或多个设定指令将对应的逻辑范围记录在查找表之后,若存储器管理电路502从主机系统11接收到一操作指令,存储器管理电路502会验证此操作指令并且根据此操作指令是否通过验证来决定后续的操作。例如,存储器管理电路502可根据预先存储在存储器存储装置10中的一预设操作指令验证信息及/或记录在查找表中的逻辑范围来验证此操作指令。其中,此预设操作指令验证信息可以与上述预设设定指令验证信息相同或者是与上述预设设定指令验证信息不同,本发明不加以限制。例如,存储器管理电路502可比对此预设操作指令验证信息与接收到的操作指令中的一操作指令验证信息。若此预设操作指令验证信息与接收到的操作指令中的操作指令验证信息不一致,存储器管理电路502可判定此操作指令没有通过验证并且将此操作指令识别为对于可复写式非易失性存储器模块406的操作指令。若此预设操作指令验证信息与接收到的操作指令中的操作指令验证信息一致,存储器管理电路502可判定此操作指令通过验证并且根据此操作指令执行对于智能卡408的一存取操作。在另一范例实施例中,若此预设操作指令验证信息与接收到的操作指令中的操作指令验证信息一致,存储器管理电路502会接续判断此操作指令所指示存取的逻辑单元是否包含于上述查找表中的任一个逻辑范围内。若此操作指令所指示存取的逻辑单元包含于上述查找表中的某一个逻辑范围内,存储器管理电路502会判定此操作指令通过验证并且执行对应的存取操作。例如,在图8的范例实施例中,若某一个操作指令通过验证且其是指示存取逻辑单元“610(1000)”,则存储器管理电路502会将此操作指令识别为包括智能卡408的通讯数据单元并且根据此操作指令执行对于智能卡408的一存取操作。在本发明范例实施例中,此通讯数据单元是符合ISO 7816标准的指令-应用程序协定数据单元(Command-Application Protocol Data Unit,简称C-APDU)。此外,若此预设操作指令验证信息与接收到的操作指令中的操作指令验证信息一致但是此操作指令所指示存取的逻辑单元不包含于查找表中的任一个逻辑范围内,表示属于某一个暂时档的逻辑单元与智能卡408之间的映射关系可能已发生变更,故存储器管理电路502会判定此操作指令没有通过验证并且不会执行对于智能卡408的存取操作,以避免发生错误操作。在另一范例实施例中,在接收到某一个操作指令之后,存储器管理电路502也可以略过上述比对预设操作指令验证信息与接收到的操作指令中的操作指令验证信息的操作而直接判断此操作指令所指示存取的逻辑单元是否包含于上述查找表中的任一个逻辑范围内。若此操作指令所指示存取的逻辑单元包含于上述查找表中的某一个逻辑范围,则存储器管理电路502即可判定此操作指令通过验证并且根据此操作指令执行对于智能卡408的一存取操作。
图9是根据本发明的一范例实施例示出的智能卡管理方法的流程图。
请参照图9,在步骤S901中,主机系统11(或应用程序410)动态地建立用以存取智能卡408的一个暂时档。
在步骤S903中,主机系统11会传送对应此暂时档的一个设定指令至存储器存储装置10。
在步骤S905中,存储器管理电路502会验证此设定指令。关于如何验证此设定指令已于上述范例实施例中说明,在此便不赘述。若此设定指令通过验证,则存储器管理电路502会根据此设定指令将属于此暂时档的一或多个逻辑范围记录于一查找表中。
在步骤S907中,主机系统11传送对应智能卡408的操作指令至存储器存储装置10。
在步骤S909中,存储器管理电路502从主机系统11接收此操作指令并且验证此操作指令。关于如何验证此操作指令已在上述范例实施例中说明,在此便不赘述。
若此操作指令通过验证,在步骤S911中,存储器管理电路502会将此操作指令识别为智能卡408的C-APDU并且发送对应的C-APDU操作指令至智能卡408。在范例实施例中,在发送C-APDU操作指令至智能卡408之后,存储器管理电路502会处于等候智能卡408的回应的一处理中(In Progress)状态。
在完成C-APDU操作指令之后,在步骤S913中,智能卡408会回传一个回应以回应所接收到的C-APDU操作指令。在本范例实施例中,此回应包括符合ISO 7816标准的回应-应用程序协定资单元(Response-Application Protocol Data Unit,简称R-APDU)。在接收到此回应之后,存储器管理电路502会处于一数据可用(Data Available)状态。在此数据可用状态下,存储器管理电路502会等待主机系统11读取此回应。
在步骤S915中,主机系统11的应用程序410发送对于某一个暂时档的一读取指令至存储器管理电路502以读取此回应。
在步骤S917中,存储器管理电路502会验证此读取指令。其中,此读取指令可能会经过相同或相似于上述操作指令的验证程序。若此读取指令通过验证,则在步骤S919中,存储器管理电路502会提供此回应给主机系统11。
值得一提的是,在一范例实施例中,主机系统11是以丛集(cluster)作为数据的一个基本存取单位。每一个丛集是架构在逻辑扇的2次方倍数上。例如,连续的64个逻辑扇可构成一个丛集(亦即,一个丛集的大小为32千字节)。在此范例实施例中,若某一个暂时档的大小超过一个基本存取单位,则用以设定此暂时档的多个设定信息可能会被分割为多个设定指令进行传输。然而,在另一范例实施例中,一个丛集的大小也可以是更大或更小,本发明不加以限制。
图10A与图10B是根据本发明的另一范例实施例所示出的记录逻辑范围的范例示意图。
请参照图10A与图10B,在本范例实施例中,假设设定信息1010(0)~1010(255)是用以设定某一个暂时档。此外,假设大小为32千字节的丛集是一个基本存取单位,并且此暂时档的大小为128千字节,因此设定信息1010(0)~1010(255)会被切割成四个设定指令1000-1~1000-4来进行传输。其中,每一个设定指令1000-1~1000-4的大小等于一个基本存取单位的大小。值得注意的是,本发明并不限制基本存取单位的大小与用以设定同一个暂时档的设定指令的数目。例如,在另一范例实施例中,若一个基本存取单位是16千字节,则主机系统11可能会下达八个或更多的设定指令来传输设定信息1010(0)~1010(255)。
如图10A所示,设定指令1000-1包含设定信息1010(0)~1010(63),设定指令1000-2包含设定信息1010(64)~1010(127),设定指令1000-3包含设定信息1010(128)~1010(191),并且设定指令1000-4包含设定信息1010(192)~1010(255)。每一个设定信息1010(0)~1010(255)的格式相同或相似于图7的范例实施例的设定信息的格式。例如,设定信息1010(K)可以包括设定指令验证信息C(K)、位置识别信息1012(K)及设定信息总数信息1014的至少其中之一。设定指令验证信息C(K)用以验证设定指令1000-1是否是用以设定某一个暂时档。位置识别信息1012(K)用以找出设定信息1010(K)所对应的逻辑单元。在本范例实施例中,位置识别信息1012(K)包括排序位置识别信息。此排序位置识别信息可指示设定信息1010(K)在设定信息1010(0)~1010(255)中的排序位置。设定信息总数信息1014指示用以设定此暂时档的设定信息1010(0)~1010(255)的总数(例如,“255”)。其中,K为整数,且K介于0~255之间。
存储器管理电路502会依序接收设定指令1000-1~1000-4并且对设定指令1000-1~1000-4进行验证。例如,对于设定指令1000-1,存储器管理电路502会比对设定指令验证信息C(0)~C(63)与对应的一预设设定指令验证信息;对于设定指令1000-2,存储器管理电路502会比对设定指令验证信息C(64)~C(127)与对应的另一预设设定指令验证信息,以此类推。关于如何验证设定指令已于上述范例实施例中说明,在此便不赘述。
若设定指令1000-1~1000-4都通过验证,则存储器管理电路502会根据此些设定指令1000-1~1000-4来决定对应的一或多个逻辑范围。例如,根据随着设定指令1000-1传输的一个起始逻辑单元“610(1000)”以及位置识别信息1012(0)~1012(63),存储器管理电路502可获得逻辑范围“610(1000)~610(1063)”;根据随着设定指令1000-2传输的一个起始逻辑单元“610(1064)”以及位置识别信息1012(64)~1012(127),存储器管理电路502可获得逻辑范围“610(1064)~610(1127)”;根据随着设定指令1000-3传输的一个起始逻辑单元“610(1128)”以及位置识别信息1012(128)~1012(191),存储器管理电路502可获得逻辑范围“610(1128)~610(1191)”;根据随着设定指令1000-4传输的一个起始逻辑单元“610(1192)”以及位置识别信息1012(192)~1012(255),存储器管理电路502可获得逻辑范围“610(1192)~610(1255)”。其中,存储器管理电路502例如是将对应于某一个设定指令的起始逻辑单元加上此设定指令中设定信息的总数而获得对应的逻辑范围。例如,将随着设定指令1000-1传输的起始逻辑单元“610(1000)”加上“63”个逻辑单元即可获得对应于设定指令1000-1的逻辑范围“610(1000)~610(1063)”。
存储器管理电路502会将此些逻辑范围记录于查找表1000。在此,由于所获得的逻辑范围都是彼此连续的,故属于此些逻辑范围会被整合成“610(1000)~610(1255)”,并且此逻辑范围例如是以记录起始逻辑单元“610(1000)”与结束逻辑单元“610(1255)”的方式记录于查找表1000中。换言之,此时,属于某一个动态暂时档的逻辑单元已被设定至存储器存储装置10。
值得一提的是,上述各范例实施例皆是以记录属于同一个暂时档的连续的逻辑单元作为范例。然而,在另一范例实施例中,属于同一个暂时档的逻辑单元也可能是不连续的。
图11A与图11B是根据本发明的另一范例实施例所示出的记录不连续的多个逻辑范围的范例示意图。
请参照图11A与图11B,本范例实施例与图10的范例实施例的差异在于,在本范例实施例中,所欲设定的动态暂时档所使用的逻辑单元是不连续的。例如,此动态暂时档所使用的逻辑单元是逻辑单元“610(1000)~610(1063)”、“610(2000)~610(2127)”及“610(3000)~610(3063)”。其中,起始逻辑单元“610(1000)”是随着设定指令1100-1传送给存储器存储装置10,起始逻辑单元“610(2000)”是随着设定指令1100-2传送给存储器存储装置10,起始逻辑单元“610(2064)”是随着设定指令1100-3传送给存储器存储装置10,并且起始逻辑单元“610(3000)”是随着设定指令1100-4传送给存储器存储装置10。
在接收到设定指令1100-1~1100-4之后,若设定指令1100-1~1100-4皆通过验证,存储器管理电路502会根据起始逻辑单元“610(1000)”与设定指令1100-1中的位置识别信息1112(0)~1112(63)获得逻辑范围“610(1000)~610(1063)”;根据起始逻辑单元“610(2000)”与设定指令1100-2中的位置识别信息1112(64)~1112(127)获得逻辑范围“610(2000)~610(2063)”;根据起始逻辑单元“610(2064)”与设定指令1100-3中的位置识别信息1112(128)~1112(191)获得逻辑范围“610(2064)~610(2127)”;根据起始逻辑单元“610(3000)”与设定指令1100-4中的位置识别信息1112(192)~1112(255)获得逻辑范围“610(3000)~610(3063)”。其中,存储器管理电路502例如是将对应于某一个设定指令的起始逻辑单元加上此设定指令中设定信息的总数而获得对应的逻辑范围。在将可以合并的逻辑范围合并之后,存储器管理电路502会将所获得的多个彼此不连续的逻辑范围1102、1104及1106记录于查找表1100(如图11B所示)。此些彼此不连续的逻辑范围1102、1104及1106皆是属于同一个暂时档。此外,根据类似操作,属于其他的暂时档的逻辑范围也可以被记录于查找表1100中。而后,在接收到来自主机系统11的操作指令之后,存储器管理电路502即可执行对应的验证程序并且根据查找表1100来判断此操作指令是否是对于智能卡408的操作指令。
图12是根据本发明的另一范例实施例所示出的智能卡管理方法的流程图。
请参照图12,在步骤S1201中,主机系统11(或应用程序410)动态地建立用以存取智能卡408的一个暂时档。在此是假设用以设定此暂时档的设定信息会被分割为两个设定指令进行传输。
在步骤S1203中,主机系统11会传送对应此暂时档的一个设定指令(也称为第一设定指令)至存储器存储装置10。
在步骤S1205中,存储器管理电路502会验证此第一设定指令。关于如何验证设定指令已于上述范例实施例中说明,在此便不赘述。若此第一设定指令通过验证,则存储器管理电路502会根据此第一设定指令将属于此暂时档的一个逻辑范围记录于一查找表中。
在步骤S1207中,主机系统11会传送对应此暂时档的另一个设定指令(也称为第二设定指令)至存储器存储装置10。
在步骤S1209中,存储器管理电路502会验证此第二设定指令。关于如何验证设定指令已在上述范例实施例中说明,在此便不赘述。若此第二设定指令通过验证,则存储器管理电路502会根据此第二设定指令将属于此暂时档的另一个逻辑范围记录于此查找表中。
在步骤S1211中,主机系统11传送对应智能卡408的一操作指令(也称为第一操作指令)至存储器存储装置10。
在步骤S1213中,存储器管理电路502从主机系统11接收此第一操作指令并且验证此第一操作指令。关于如何验证操作指令已在上述范例实施例中说明,在此便不赘述。
在步骤S1215中,主机系统11传送对应智能卡408的另一操作指令(也称为第二操作指令)至存储器存储装置10。
在步骤S1217中,存储器管理电路502从主机系统11接收此第二操作指令并且验证此第二操作指令。关于如何验证操作指令已在上述范例实施例中说明,在此便不赘述。
若第一操作指令与第二操作指令皆通过验证,存储器管理电路502会将此第一操作指令与第二操作指令的操作合并并且将其识别为智能卡408的C-APDU。在步骤S1219中,存储器管理电路502会发送对应的C-APDU操作指令至智能卡408。在发送C-APDU操作指令至智能卡408之后,存储器管理电路502会处于等候智能卡408的回应的一处理中状态。
在完成C-APDU操作指令之后,在步骤S1221中,智能卡408会回传一个R-APDU以回应所接收到的C-APDU操作指令。在接收到此R-APDU之后,存储器管理电路502会处于一数据可用状态以等待主机系统11读取此R-APDU。
在步骤S1223中,主机系统11的应用程序410发送对于某一个暂时档的一读取指令(也称为第一读取指令)至存储器存储装置10以读取此R-APDU的一部分。
在步骤S1225中,存储器管理电路502可能会验证此第一读取指令。
在步骤S1227中,主机系统11的应用程序410发送对于此暂时档的另一读取指令(也称为第二读取指令)至存储器存储装置10以读取此R-APDU的另一部分。
在步骤S1229中,存储器管理电路502可能会验证此第二读取指令。例如,此第一读取指令与此第二读取指令可能会经过相同或相似于上述操作指令的验证。
若此第一读取指令与第二读取指令皆通过验证,则在步骤S1231中,存储器管理电路502会提供此R-APDU给主机系统11。
值得一提的是,图9与图12的范例实施例也可以分别视为是一个数据传输系统。此数据传输系统适用于一主机系统与具有智能卡与可复写式非易失性存储器模块的存储器存储装置之间的通讯。此外,图9与图12中的各步骤可以实作为软件模块或硬件电路。
综上所述,通过在对于暂时档的设定指令中加入特定的信息,属于新建立的暂时档的逻辑单元可以更正确地被存储器存储装置记录下来,从而减少因对于暂时档的设定指令被批次传输而导致记录错误的情形发生。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (24)
1.一种智能卡管理方法,其特征在于,用于具有可复写式非易失性存储器模块与智能卡的存储器存储装置,该智能卡管理方法包括:
从主机系统接收对应暂时档的第一设定指令,其中该暂时档关联至该智能卡,该第一设定指令包括多个第一设定信息,并且该些第一设定信息的其中之一包括第一设定指令验证信息与第一位置识别信息,其中该第一设定指令验证信息用以验证该第一设定指令是否是用以设定该暂时档,而该第一位置识别信息用以找出该些第一设定信息的该其中之一所对应的逻辑单元,该第一位置识别信息包括排序位置识别信息,该排序位置识别信息用以指示该些第一设定信息的该其中之一在该些第一设定信息中的排序位置;以及
根据该第一设定指令将属于该暂时档的第一逻辑范围记录于查找表。
2.根据权利要求1所述的智能卡管理方法,其特征在于,还包括:
从该主机系统接收对应该暂时档的第二设定指令,其中该第二设定指令包括多个第二设定信息;以及
根据该第二设定指令将属于该暂时档的第二逻辑范围记录于该查找表,其中该第一逻辑范围与该第二逻辑范围不重叠。
3.根据权利要求2所述的智能卡管理方法,其特征在于,该些第一设定信息的第一数据长度与该些第二设定信息的第二数据长度的总和小于或等于该暂时档的数据长度。
4.根据权利要求2所述的智能卡管理方法,其特征在于,该第一逻辑范围的结束逻辑单元与该第二逻辑范围的起始逻辑单元不连续。
5.根据权利要求1所述的智能卡管理方法,其特征在于,该些第一设定信息的其中的另一包括第二设定指令验证信息与第二位置识别信息,而该智能卡管理方法还包括:
判断该第一设定指令验证信息与该第二设定指令验证信息是否符合预设设定指令验证信息。
6.根据权利要求5所述的智能卡管理方法,其特征在于,还包括:
根据该第一位置识别信息与该第二位置识别信息来决定该第一逻辑范围。
7.根据权利要求1所述的智能卡管理方法,其特征在于,还包括:
从该主机系统接收操作指令;以及
根据预设操作指令验证信息与该第一逻辑范围的至少其中之一来判断该操作指令是指示操作该可复写式非易失性存储器模块或该智能卡。
8.根据权利要求7所述的智能卡管理方法,其特征在于,该操作指令包括指令-应用程序数据单元C-APDU。
9.一种存储器控制电路单元,其特征在于,用于控制具有可复写式非易失性存储器模块与智能卡的存储器存储装置,该存储器控制电路单元包括:
主机接口,用以电性连接至主机系统;
存储器接口,用以电性连接至该可复写式非易失性存储器模块;以及
存储器管理电路,电性连接至该主机接口与该存储器接口,
其中该存储器管理电路用以从该主机系统接收对应暂时档的第一设定指令,其中该暂时档关联至该智能卡,该第一设定指令包括多个第一设定信息,并且该些第一设定信息的其中之一包括第一设定指令验证信息与第一位置识别信息,其中该第一设定指令验证信息用以验证该第一设定指令是否是用以设定该暂时档,而该第一位置识别信息用以找出该些第一设定信息的该其中之一所对应的逻辑单元,该第一位置识别信息包括排序位置识别信息,该排序位置识别信息用以指示该些第一设定信息的该其中之一在该些第一设定信息中的排序位置,
其中该存储器管理电路还用以根据该第一设定指令将属于该暂时档的第一逻辑范围记录于查找表。
10.根据权利要求9所述的存储器控制电路单元,其特征在于,该存储器管理电路还用以从该主机系统接收对应该暂时档的第二设定指令,其中该第二设定指令包括多个第二设定信息,
其中该存储器管理电路还用以根据该第二设定指令将属于该暂时档的第二逻辑范围记录于该查找表,其中该第一逻辑范围与该第二逻辑范围不重叠。
11.根据权利要求10所述的存储器控制电路单元,其特征在于,该些第一设定信息的第一数据长度与该些第二设定信息的第二数据长度的总和小于或等于该暂时档的数据长度。
12.根据权利要求10所述的存储器控制电路单元,其特征在于,该第一逻辑范围的结束逻辑单元与该第二逻辑范围的起始逻辑单元不连续。
13.根据权利要求9所述的存储器控制电路单元,其特征在于,该些第一设定信息的其中的另一包括第二设定指令验证信息与第二位置识别信息,
其中该存储器管理电路还用以判断该第一设定指令验证信息与该第二设定指令验证信息是否符合预设设定指令验证信息。
14.根据权利要求13所述的存储器控制电路单元,其特征在于,该存储器管理电路根据该第一位置识别信息与该第二位置识别信息来决定该第一逻辑范围。
15.根据权利要求9所述的存储器控制电路单元,其特征在于,该存储器管理电路还用以从该主机系统接收操作指令,
其中该存储器管理电路还用以根据预设操作指令验证信息与该第一逻辑范围的至少其中之一来判断该操作指令是指示操作该可复写式非易失性存储器模块或该智能卡。
16.根据权利要求15所述的存储器控制电路单元,其特征在于,该操作指令包括指令-应用程序数据单元。
17.一种存储器存储装置,其特征在于,包括:
连接接口单元,用以电性连接至主机系统;
可复写式非易失性存储器模块;
智能卡;以及
存储器控制电路单元,电性连接至该连接接口单元、该可复写式非易失性存储器模块及该智能卡,
其中该存储器控制电路单元用以从该主机系统接收对应暂时档的第一设定指令,其中该暂时档关联至该智能卡,该第一设定指令包括多个第一设定信息,并且该些第一设定信息的其中之一包括第一设定指令验证信息与第一位置识别信息,其中该第一设定指令验证信息用以验证该第一设定指令是否是用以设定该暂时档,而该第一位置识别信息用以找出该些第一设定信息的该其中之一所对应的一逻辑单元,该第一位置识别信息包括排序位置识别信息,该排序位置识别信息指示该些第一设定信息的该其中之一在该些第一设定信息中的排序位置,
其中该存储器控制电路单元还用以根据该第一设定指令将属于该暂时档的第一逻辑范围记录于查找表。
18.根据权利要求17所述的存储器存储装置,其特征在于,该存储器控制电路单元还用以从该主机系统接收对应该暂时档的第二设定指令,其中该第二设定指令包括多个第二设定信息,
其中该存储器控制电路单元还用以根据该第二设定指令将属于该暂时档的第二逻辑范围记录于该查找表,其中该第一逻辑范围与该第二逻辑范围不重叠。
19.根据权利要求18所述的存储器存储装置,其特征在于,该些第一设定信息的第一数据长度与该些第二设定信息的第二数据长度的总和小于或等于该暂时档的数据长度。
20.根据权利要求18所述的存储器存储装置,其特征在于,该第一逻辑范围的结束逻辑单元与该第二逻辑范围的起始逻辑单元不连续。
21.根据权利要求17所述的存储器存储装置,其特征在于,该些第一设定信息的其中的另一包括第二设定指令验证信息与第二位置识别信息,
其中该存储器控制电路单元还用以判断该第一设定指令验证信息与该第二设定指令验证信息是否符合预设设定指令验证信息。
22.根据权利要求21所述的存储器存储装置,其特征在于,该存储器控制电路单元还用以根据该第一位置识别信息与该第二位置识别信息来决定该第一逻辑范围。
23.根据权利要求17所述的存储器存储装置,其特征在于,该存储器控制电路单元还用以从该主机系统接收操作指令,
其中该存储器控制电路单元还用以根据预设操作指令验证信息与该第一逻辑范围的至少其中之一来判断该操作指令是指示操作该可复写式非易失性存储器模块或该智能卡。
24.根据权利要求23所述的存储器存储装置,其特征在于,该操作指令包括指令-应用程序数据单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510058037.4A CN105988935B (zh) | 2015-02-04 | 2015-02-04 | 智能卡管理方法、存储器存储装置及存储器控制电路单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510058037.4A CN105988935B (zh) | 2015-02-04 | 2015-02-04 | 智能卡管理方法、存储器存储装置及存储器控制电路单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105988935A CN105988935A (zh) | 2016-10-05 |
CN105988935B true CN105988935B (zh) | 2019-04-23 |
Family
ID=57037422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510058037.4A Active CN105988935B (zh) | 2015-02-04 | 2015-02-04 | 智能卡管理方法、存储器存储装置及存储器控制电路单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105988935B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101526883A (zh) * | 2008-03-03 | 2009-09-09 | 群联电子股份有限公司 | 数据流传送分派方法、执行此方法的系统及其控制器 |
CN102455879A (zh) * | 2010-10-21 | 2012-05-16 | 群联电子股份有限公司 | 存储器存储装置、存储器控制器与自动产生填充文件方法 |
CN103218300A (zh) * | 2012-01-18 | 2013-07-24 | 群联电子股份有限公司 | 数据处理方法、存储器控制器与存储器储存装置 |
CN103218319A (zh) * | 2012-01-20 | 2013-07-24 | 群联电子股份有限公司 | 数据保护方法、存储器控制器与存储器储存装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7984084B2 (en) * | 2005-08-03 | 2011-07-19 | SanDisk Technologies, Inc. | Non-volatile memory with scheduled reclaim operations |
-
2015
- 2015-02-04 CN CN201510058037.4A patent/CN105988935B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101526883A (zh) * | 2008-03-03 | 2009-09-09 | 群联电子股份有限公司 | 数据流传送分派方法、执行此方法的系统及其控制器 |
CN102455879A (zh) * | 2010-10-21 | 2012-05-16 | 群联电子股份有限公司 | 存储器存储装置、存储器控制器与自动产生填充文件方法 |
CN103218300A (zh) * | 2012-01-18 | 2013-07-24 | 群联电子股份有限公司 | 数据处理方法、存储器控制器与存储器储存装置 |
CN103218319A (zh) * | 2012-01-20 | 2013-07-24 | 群联电子股份有限公司 | 数据保护方法、存储器控制器与存储器储存装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105988935A (zh) | 2016-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107844431A (zh) | 映射表更新方法、存储器控制电路单元与存储器存储装置 | |
TWI451248B (zh) | 資料保護方法、記憶體控制器與記憶體儲存裝置 | |
CN105005450B (zh) | 数据写入方法、存储器存储装置及存储器控制电路单元 | |
CN106681652B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
US8769243B2 (en) | Apparatus with smart card chip for storing communication file in non-volatile memory | |
CN106681654A (zh) | 映射表载入方法与存储器存储装置 | |
TWI472927B (zh) | 資料串分派與傳送方法、記憶體控制器與記憶體儲存裝置 | |
TWI437430B (zh) | 動態切換分割區方法、記憶卡控制器與記憶卡儲存系統及電腦程式產品 | |
CN106681932A (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
US8812756B2 (en) | Method of dispatching and transmitting data streams, memory controller and storage apparatus | |
CN107590080A (zh) | 映射表更新方法、存储器控制电路单元及存储器存储装置 | |
CN113885808B (zh) | 映射信息记录方法以及存储器控制电路单元与存储装置 | |
CN103383663B (zh) | 系统运作方法、存储器控制器与存储器 | |
CN105183660B (zh) | 数据读取方法、存储器控制器与储存装置 | |
CN103218319B (zh) | 数据保护方法、存储器控制器与存储器储存装置 | |
US9817573B2 (en) | Smart card management method, memory storage device and memory control circuit unit | |
CN106681653B (zh) | 存储器抹除方法、存储器控制电路单元及存储器存储装置 | |
CN103870209B (zh) | 工作模式切换方法、存储器控制器与存储器储存装置 | |
CN105988935B (zh) | 智能卡管理方法、存储器存储装置及存储器控制电路单元 | |
CN108959109A (zh) | 数据读取方法、存储器控制电路单元与存储器存储装置 | |
CN103870408B (zh) | 数据处理方法、存储器控制器与存储器储存装置 | |
CN106033321B (zh) | 响应读取方法及数据传输系统 | |
CN110275668B (zh) | 区块管理方法、存储器控制电路单元与存储器存储装置 | |
CN105809067B (zh) | 数据存取方法与系统及存储器存储装置 | |
CN106155564B (zh) | 存储装置管理方法与系统及其存储器存储装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |