CN103116470A - 存储器储存装置、存储器控制器及数据串传送与识别方法 - Google Patents
存储器储存装置、存储器控制器及数据串传送与识别方法 Download PDFInfo
- Publication number
- CN103116470A CN103116470A CN2011103631609A CN201110363160A CN103116470A CN 103116470 A CN103116470 A CN 103116470A CN 2011103631609 A CN2011103631609 A CN 2011103631609A CN 201110363160 A CN201110363160 A CN 201110363160A CN 103116470 A CN103116470 A CN 103116470A
- Authority
- CN
- China
- Prior art keywords
- computer system
- host computer
- token
- serial data
- data
- 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.)
- Granted
Links
Images
Landscapes
- Storage Device Security (AREA)
- Read Only Memory (AREA)
Abstract
一种存储器储存装置、存储器控制器及数据串传送与识别方法。存储器控制器将主机系统所传送的数据串的至少一部分转送至存储器储存装置的智能卡芯片。之后,藉由执行多个读取指令,主机系统可无误地接收智能卡芯片所产生的回应信息。其中,存储器控制器可将第一验证码加入至回传至主机系统的回应数据串中,亦可将写入符记分别记录至回应数据串的每一数据区段中。主机系统藉由检核第一验证码或每一数据区段的写入符记,确认回应数据串的正确性。
Description
技术领域
本发明涉及一种数据串传送与识别方法、存储器储存装置及存储器控制器,尤其涉及一种适用于管理主机系统及存储器储存装置之间的数据串传递的方法、存储器储存装置及存储器控制器。
背景技术
数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性存储器(rewritablenon-volatile memory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,最适于可携式电子产品,例如笔记本式计算机。固态硬盘就是一种以闪速存储器作为储存媒体的储存装置。因此,近年闪速存储器产业成为电子产业中相当热门的一环。
另一方面,随着使用者逐渐接受使用电子钱包及预付储值,使得智能卡的使用日益普及。智能卡(Smart Card)是具有例如微处理器、卡操作系统、安全模块及存储器的组件的集成电路芯片(IC芯片),以允许持有者执行预定操作。智能卡提供计算、加密、双向通信及安全功能,使得这张卡片除了储存数据的功能外还能达到对其所储存的数据加以保护的功能。使用全球移动通信系统(GSM)机制的蜂巢式电话中所使用的用户识别模块(Subscriber Identification Module,SIM)卡为智能卡的其中一个应用范例。然而,智能卡本身受限于储存容量,因此近年来开始与大容量储存装置的记忆卡作结合,以扩增智能卡的储存容量。
在现有技术中,结合闪速存储器与智能卡的应用是通过特殊命令来区别传送给智能卡或闪速存储器的数据,此特殊命令可能会造成硬件装置或驱动程序无法支持的问题。此外,在现有技术中是比对此特殊命令中关于所传送数据串的型态信息来判断此数据串是否为智能卡的命令格式。然而,此方法往往会造成一般文件数据与属于智能卡的命令格式碰撞的问题(即将一般文件数据误判为智能卡的数据串)。
另外,在一些具有快取存储器(Cache)的电子产品的应用中,因这些电子产品本身的限制,智能卡与电子产品之间数据串的传递并无法绕过快取存储器,而使得智能卡所产生的回应信息并无法被无误地回传至所依附的电子产品,进而限制智能卡在这类具有快取存储器的电子产品上的应用。举例来说,在一个Java系统的移动电话中,因Java系统并不支持诸如Non Cache等不须通过快取存储器而直接地对非易失性存储器进行存取的指令,故很难将智能卡和闪速存储器以整合为记忆卡的形式应用在这类Java系统的移动电话中。请参考图1,图1为现有搭配记忆卡12的主机系统10的功能方框图。主机系统10为一种电子产品(如:Java系统的移动电话),并具有快取存储器14,而记忆卡12具有闪速存储器16和智能卡芯片18。主机系统10与记忆卡12之间的数据传递路径都会经过快取存储器14。然而,因为快取存储器14会暂存最近主机系统10与记忆卡12之间所传递的数据的缘故,当主机系统10欲从智能卡芯片18获得数据时,若快取存储器14内已经存有与读取指令相符的数据时,则快取存储器14就会将相符的数据传送至主机系统10。然而,在这样的架构下,智能卡芯片18的回应信息往往会被快取存储器14已有的数据所取代,而使得智能卡芯片18的加密及安全通信的功能大受影响。
基此,有需要发展一套能够在结合闪速存储器与智能卡的应用中无误地传递智能卡的回应信息的系统和方法。
发明内容
本发明提供一种数据串传送与识别方法、存储器储存装置及存储器控制器,适用于主机系统及存储器储存装置之间的数据传递,并确保主机系统所接收到的回应数据串的正确性。
本发明提出一种数据串传送与识别方法,其适用于主机系统及存储器储存装置之间的数据传递。存储器储存装置具有智能卡芯片。数据串传送与识别方法包括:(a)主机系统产生并储存写入符记,并将写入符记结合于数据串中;(b)主机系统传送写入指令至存储器储存装置,写入指令被设定为写入数据串至存储器储存装置;(c)存储器储存装置将数据串的至少一部分传递至智能卡芯片,并记录数据串中的写入符记;(d)主机系统依序地传送多个读取指令至存储器储存装置,直到主机系统从存储器储存装置接收到回应数据串为止,其中回应数据串具有回应信息、写入符记及第一验证码,回应信息为智能卡芯片因接收到数据串的至少一部分而产生,而存储器储存装置依据回应信息及写入符记产生第一验证码;(e)主机系统从所接收到的回应数据串中获取出写入符记、回应信息及第一验证码,并依据所获取出的写入符记及回应信息产生第二验证码;以及(f)主机系统检核所获取出的第一验证码是否与第二验证码相同,并检核所获取的写入符记是否与所储存的写入符记相同,其中倘若第一验证码与第二验证码相同且所获取的写入符记与所储存的写入符记相同,则主机系统将所接收到的回应数据串中的回应信息视为智能卡芯片所产生的回应信息。
本发明提出一种数据串传送与识别方法,其适用于主机系统及存储器储存装置之间的数据传递。存储器储存装置具有智能卡芯片。数据串传送与识别方法包括:(a)主机系统产生并储存写入符记,且将写入符记结合于数据串中;(b)主机系统传送写入指令至存储器储存装置,写入指令被设定为写入数据串至存储器储存装置;(c)存储器储存装置将数据串的至少一部分传递至智能卡芯片,并记录数据串中的写入符记;(d)主机系统依序地传送多个读取指令至存储器储存装置,直到主机系统从存储器储存装置接收到回应数据串为止,其中回应数据串具有回应信息,而回应信息为智能卡芯片因接收到数据串的至少一部分而产生,回应数据串具有多个数据区段,且每一数据区段记录有完整的写入符记;(e)主机系统从所接收到的回应数据串的每一数据区段中获取出写入符记;以及(f)主机系统检核每一所获取出的写入符记是否与所储存的写入符记相同,其中当每一所获取出的写入符记与所储存的写入符记相同时,则主机系统将所接收到的回应数据串中的回应信息视为智能卡芯片所产生的回应信息。
本发明提出一种存储器储存装置,包括连接器、可复写式非易失性存储器模块、智能卡芯片以及存储器控制器。连接器用以耦接至主机系统。可复写式非易失性存储器模块用以储存数据。智能卡芯片用以基于所接收到的数据串的至少一部分而产生回应信息。存储器控制器耦接至连接器、可复写式非易失性存储器模块及智能卡芯片,用以控制可复写式非易失性存储器及智能卡芯片的操作。其中存储器控制器藉由连接器从主机系统接收写入指令,写入指令被设定为将数据串写入至逻辑地址,而数据串具有写入符记。其中存储器控制器将数据串的至少一部分传递至智能卡芯片,并记录数据串中的写入符记。其中存储器控制器从智能卡芯片接收回应信息。其中存储器控制器依据回应信息及写入符记,产生第一验证码。其中存储器控制器将回应信息、写入符记及第一验证码加入至回应数据串。其中存储器控制器藉由连接器将回应数据串传送至主机系统。
本发明提出一种存储器控制器,用于控制可复写式非易失性存储器模块及智能卡芯片。存储器控制器包括主机接口、存储器接口、智能卡芯片接口以及存储器管理电路。主机接口用以耦接至主机系统。存储器接口用以耦接至可复写式非易失性存储器模块。智能卡芯片接口用以耦接至智能卡芯片。存储器管理电路耦接至主机接口、存储器接口及智能卡芯片接口。其中存储器管理电路藉由主机接口从主机系统接收写入指令,写入指令被设定为将数据串写入至逻辑地址,而数据串具有写入符记。其中存储器管理电路藉由智能卡芯片接口将数据串的至少一部分传递至智能卡芯片,并记录数据串中的写入符记。其中存储器管理电路藉由智能卡芯片接口从智能卡芯片接收回应信息。其中存储器管理电路将回应信息及写入符记加入至回应数据串,而回应数据串具有多个数据区段,存储器管理电路将写入符记加入至每一数据区段中。其中存储器管理电路藉由主机接口将回应数据串传送至主机系统。
在本发明的一范例实施例中,上述的存储器储存装置使用回应信息及写入符记去执行杂凑函数(hash function)以产生第一验证码,主机系统使用所获取出的写入符记及回应信息去执行杂凑函数以产生第二验证码。
在本发明的一范例实施例中,倘若在步骤(f)中检核出所获取出的第一验证码不同于第二验证码或检核出所获取的写入符记不同于所储存的写入符记,则重复执行步骤(d)、(e)及(f)。
在本发明的一范例实施例中,上述的回应数据串具有多个数据区段且每一数据区段分别记录了完整的写入符记,而主机系统在步骤(e)中从每一数据区段中分别获取出写入符记,且主机系统在步骤(f)中检核每一所获取出写入符记是否皆与所储存的写入符记相同。
在本发明的一范例实施例中,倘若主机系统在步骤(f)中检核出有任一所获取出的写入符记与所储存的写入符记不相同,则重复执行步骤(d)、(e)及(f)。
在本发明的一范例实施例中,上述的每一数据区段的大小为一个扇区大小。
在本发明的一范例实施例中,上述的数据串传送与识别方法还包括:存储器储存装置判断从主机系统所接收的任数据串中是否含有特定标记;以及倘若从主机系统所接收的任数据串中含有特定标记,则将含有特定标记的数据串的至少一部分传送至智能卡芯片。
在本发明的一范例实施例中,上述的回应数据串还包括特定标记,存储器储存装置使用特定标记、回应信息及写入符记去执行杂凑函数以产生第一验证码,而主机系统从所接收到的回应数据串中另获取出特定标记,并使用所获取出的特定标记、写入符记及回应信息去执行杂凑函数以产生第二验证码。
基于上述,上述范例实施例的数据串传送与识别方法、存储器储存装置及存储器控制器,适用于主机系统及存储器储存装置之间的数据传递,并确保主机系统所接收到的回应数据串的正确性。
为让本发明的上述特征和优点能更明显易懂,下文特举较佳实施例,并配合附图,作详细说明如下。
附图说明
图1为现有搭配记忆卡的主机系统的功能方框图。
图2A是根据第一范例实施例所显示的主机系统与存储器储存装置。
图2B是根据本发明第一范例实施例所显示的计算机、输入/输出装置与存储器储存装置的示意图。
图2C是根据本发明另一范例实施例所显示的主机系统与存储器储存装置的示意图。
图3是根据本发明一范例实施例显示的数据处理系统的功能方框图。
图4是根据第一范例实施例所显示的存储器控制器的概要方框图。
图5和图6是根据本发明第一范例实施例分别显示主机系统及存储器储存装置运作时的流程图。
图7显示本发明一实施例中主机系统通过存储器控制器传送指令或数据至智能卡芯片时所采用的数据串的架构。
图8为多个逻辑区块的示意图。
图9显示本发明一实施例中存储器控制器回传至主机系统的回应数据串的结构。
图10显示本发明另一实施例中存储器控制器回传至主机系统的回应数据串的结构。
图11和图12是根据本发明第一范例实施例分别显示主机系统1000及存储器储存装置运作时的流程图。
图13和图14是根据本发明第一范例实施例分别显示主机系统及存储器储存装置运作时的流程图。
附图标记:
10:主机系统
12:记忆卡
14:快取存储器
16:闪速存储器
18:智能卡芯片
100:存储器储存装置
110:存储器控制器
120:连接器
130:可复写式非易失性存储器模块
140:智能卡芯片
206:数据处理模块
212:快取存储器
402:存储器管理电路
404:主机接口
406:智能卡芯片接口
408:存储器接口
410:缓冲存储器
412:错误检查与校正电路
414:电源管理电路
700:数据串
702:特定标记
704:指令-应用程序协议数据单元
706:写入符记
900:回应数据串
902:写入符记区
904:数据区
906:验证数据区
908:数据区段
1000:主机系统
1100:计算机
1102:微处理器
1104:随机存取存储器
1106:输入/输出装置
1108:系统总线
1110:数据传输接口
1202:鼠标
1204:键盘
1206:显示器
1208:打印机
1212:随身碟
1214:记忆卡
1216:固态硬盘
1310:数码相机
1312:SD卡
1314:MMC卡
1316:记忆棒
1318:CF卡
1320:嵌入式储存装置
B1~BN:
S502~S524、S602~S626、S1114、S1116、S1224、S1314、S1316、S1424:数据传送程序的步骤
C-APDU:指令-应用程序协议数据单元
WT:写入符记
具体实施方式
本发明提供一种数据串传送与识别方法、存储器储存装置及存储器控制器,以管理主机系统和具有智能卡芯片的存储器储存装置之间的数据传递。数据串得以藉由写入指令而从主机系统被传送至智能卡芯片。一般而言,存储器储存装置(亦称,存储器储存系统)包括可复写式非易失性存储器模块与存储器控制器(亦称,控制电路)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。其中,值得说明的是主机系统可为一手机,个人数码助理(Personal Digital Assistant,PDA),个人计算机或其他具有快取存储器的电子产品。
主机系统藉由执行多个读取指令无误地接收智能卡芯片所产生的回应信息。其中,一写入符记会被用来检验回传数据的正确性,以使主机系统得以区别所接收到的回应信息是暂存在快取存储器中的旧有回应信息,亦或是智能卡芯片所产生的最新回应信息。其中,此文所称的快取存储器,泛指当主机系统处理数据时,会较存储器储存装置更先去搜寻数据的存储器单元。再者,如果所欲搜寻的数据已暂存于此快取存储器,则主机系统就不需再至存储器储存装置中读取数据。以下将以数个范例实施例并配合附图来详细说明本发明。但必须了解的是,此些范例实施例并非限制本发明。
图2A是根据第一范例实施例所显示的主机系统与存储器储存装置。
请参照图2A,主机系统1000一般包括计算机1100与输入/输出(input/output,I/O)装置1106。计算机1100包括微处理器1102、随机存取存储器(random access memory,RAM)1104、系统总线1108与数据传输接口1110。输入/输出装置1106包括如图2B的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图2B所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。例如,输入/输出装置1106可以是与计算机1100整合成一体的触控屏幕、键盘、按钮或开关。
在本发明范例实施例中,存储器储存装置100是通过数据传输接口1110与主机系统1000的其他元件耦接。藉由微处理器1102、随机存取存储器1104与输入/输出装置1106的运作可将数据写入至存储器储存装置100或从存储器储存装置100中读取数据。例如,存储器储存装置100可以是如图2B所示的随身碟1212、记忆卡1214或固态硬盘(Solid StateDrive,SSD)1216等的可复写式非易失性存储器储存装置。在本发明一范例实施例中,存储器储存装置100可为智能卡或整合了智能卡和非易失性存储器的整合性安全数码(secure digital,SD)记忆卡。但必须了解的是,在本发明另一范例实施例中存储器储存装置100亦可以是多媒体卡(Multi Media Card,MMC)记忆卡或其他的记忆装置。
一般而言,主机系统1000可实质地为可与存储器储存装置100配合以储存数据的任意系统。虽然在本范例实施例中,主机系统1000是以计算机系统来作说明,然而,在本发明另一范例实施例中主机系统1000可以是数码相机、摄像机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为数码相机(摄像机)1310时,可复写式非易失性存储器储存装置则为其所使用的SD卡1312、MMC卡1314、记忆棒(memory stick)1316、CF卡1318或嵌入式储存装置1320(如图2C所示)。嵌入式储存装置1320包括嵌入式多媒体卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接耦接于主机系统的基板上。
请参照图3,图3是根据本发明一范例实施例显示的数据处理系统的功能方框图,此数据处理系统会采用本发明的数据串传送与识别方法,以管理主机系统1000和具有智能卡芯片140的存储器储存装置100之间的数据传递。数据处理系统包括主机系统1000与存储器储存装置100。其中,主机系统1000具有一数据处理模块206,主机系统1000藉由数据处理模块206来操作存储器储存装置100,而数据处理模块206可以一软件、固件或硬件方式实施。此外,主机系统1000亦包含其他元件,例如:处理器、操作系统等。在本范例实施例中,主机系统1000与存储器储存装置100之间所有指令与数据的传递皆会通过快取存储器212。此外,上述主机系统1000可为个人计算机、移动电话、笔记本式计算机、个人数字助理机(PDA)....等。
在本范例实施例中,存储器储存装置100包括连接器120、存储器控制器110、可复写式非易失性存储器模块130及智能卡芯片140。存储器控制器110,用以控制存储器储存装置100的操作,以及控制存储器储存装置100与主机系统1000之间的数据传递。通常存储器储存装置100会与主机系统1000一起使用,以使主机系统1000可将指令和数据传送到存储器储存装置100。
存储器控制器110以及主机系统1000会将信息传送至智能卡芯片140,并无误地回传智能卡芯片140的回应信息至主机系统1000。主机系统1000的快取存储器212会暂存主机系统1000最近曾使用过的数据,以提升主机系统1000整体的数据处理速度。
在本范例实施例中,连接器120电性连接存储器控制器110,并且与主机系统1000耦接,用以从主机系统1000接收指令和数据,并将存储器储存装置100的信息传送至主机系统1000。在本范例实施例中,连接器120是相容于安全数码(Secure Digital,SD)接口标准。然而,必须了解的是,本发明不限于此,连接器120亦可以是符合电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、平行高级技术附件(Parallel Advanced Technology Attachment,PATA)标准、高速周边零件连接接口(Peripheral Component InterconnectExpress,PCI Express)标准、通用串行总线(Universal Serial Bus,USB)标准、串行高级技术附件(Serial Advanced Technology Attachment,SATA)标准、记忆棒(Memory Stick,MS)接口标准、多媒体储存卡(Multi Media Card,MMC)接口标准、小型闪速(Compact Flash,CF)接口标准、整合式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的标准。
存储器控制器110用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并且根据主机系统1000的指令将指令或数据传送至智能卡芯片140、将信息处理后传送至主机系统1000或在可复写式非易失性存储器模块130中进行数据的写入、读取、抹除与合并等运作。
可复写式非易失性存储器模块130是耦接至存储器控制器110,并且具有多个实体区块以储存主机系统1000所写入的数据。然而,可复写式非易失性存储器模块130对本发明来说是选择性的元件,而非必要的元件。在本范例实施例中,每一实体区块分别具有多个实体页面,其中属于同一个实体区块的实体页面可被独立地写入且被同时地抹除。例如,每一实体区块是由128个实体页面所组成,并且每一实体页面的容量为4千位元组(Kilobyte,KB)。然而,本发明不限于此。
更详细来说,实体区块为抹除的最小单位。亦即,每一实体区块含有最小数目的一并被抹除的存储器单元。实体页面为程序化的最小单元。即,实体页面为更新数据的最小单元。然而,必须了解的是,在本发明另一范例实施例中,更新数据的最小单位亦可以是实体扇区或其他大小。每一实体页面通常包括数据位元区与冗余位元区。数据位元区用以储存使用者的数据,而冗余位元区用以储存系统的数据(例如,错误检查与校正码)。
在本范例实施例中,可复写式非易失性存储器模块130为多阶存储器单元(Multi Level Cell,MLC)NAND闪速存储器模块。然而,本发明不限于此,可复写式非易失性存储器模块130亦可是单阶层存储器单元(Single Level Cell,SLC)NAND闪速存储器模块、其他闪速存储器模块或其他具有相同特性的存储器模块。
智能卡芯片140电性连接存储器控制器110,并且用以执行计算、加密、双向通信及安全认证等功能。在本发明一范例实施例中,智能卡芯片140为相容于ISO 7816标准的接触式智能卡芯片。然而,必须了解的是,本发明不限于此。例如,智能卡芯片140亦可是相容于ISO 14443、ISO 15408或其他安全智能卡芯片标准的接触或非接触式智能卡芯片。又例如,智能卡芯片140可为射频识别(Radio Frequency Identification,RFID)芯片、无线传输芯片(如:蓝牙芯片)或多媒体控制芯片(如:数码录音芯片)等。此外,值得说明的是,存储器控制器110与智能卡芯片140可各为一独立芯片,亦可合并封装为一单一芯片。
图4是根据第一范例实施例所显示的存储器控制器的概要方框图。必须了解的是,图4所显示的存储器控制器仅为一个范例,本发明不限于此。
请参照图4,存储器控制器110包括存储器管理电路402、主机接口404、智能卡芯片接口406、存储器接口408、缓冲存储器410、错误检查与校正电路412、电源管理电路414。
存储器管理电路402用以控制存储器控制器110的整体运作。具体来说,存储器管理电路402具有多个控制指令,并且在存储器储存装置100运作时,此些控制指令会被执行以进行数据的加密、配送、写入、读取与抹除等运作。
在本范例实施例中,存储器管理电路402的控制指令是以固件型式来实作。例如,存储器管理电路402具有微处理器单元(未显示)与只读存储器(未显示),并且此些控制指令是被烧录至此只读存储器中。当存储器储存装置100运作时,此些控制指令会由微处理器单元来执行以进行数据的加密、配送、写入、读取与抹除等运作。
在本发明另一范例实施例中,存储器管理电路402的控制指令亦可以程序码型式储存于可复写式非易失性存储器模块130的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路402具有微处理器单元(未显示)、只读存储器(未显示)及随机存取存储器(未显示)。特别是,此只读存储器具有驱动码,并且当存储器控制器110被使能时,微处理器单元会先执行此驱动码段来将储存于可复写式非易失性存储器模块130中的控制指令载入至存储器管理电路402的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的加密、配送、写入、读取与抹除等运作。
此外,在本发明另一范例实施例中,存储器管理电路402的控制指令亦可以一硬件型式来实作。例如,存储器管理电路402包括微控制器、存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元与数据处理单元。存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元与数据处理单元是耦接至微控制器。其中,存储器管理单元用以管理可复写式非易失性存储器模块130的实体区块;存储器写入单元用以对可复写式非易失性存储器模块130下达写入指令以将数据写入至可复写式非易失性存储器模块130中;存储器读取单元用以对可复写式非易失性存储器模块130下达读取指令以从可复写式非易失性存储器模块130中读取数据;存储器抹除单元用以对可复写式非易失性存储器模块130下达抹除指令以将数据从可复写式非易失性存储器模块130中抹除;而数据处理单元用以处理欲写入至可复写式非易失性存储器模块130的数据以及从可复写式非易失性存储器模块130中读取的数据。
主机接口404是耦接至存储器管理电路402及主机系统1000,并且用以接收与识别主机系统1000所传送的指令与数据,并将回应数据串传送至主机系统1000。在本范例实施例中,主机接口404是相容于SD标准。然而,必须了解的是本发明不限于此,主机接口404亦可以是相容于PATA标准、IEEE 1394标准、PCI Express标准、USB标准、SATA标准、MS标准、MMC标准、CF标准、IDE标准或其他适合的数据传输标准。
智能卡芯片接口406是耦接至存储器管理电路402及智能卡芯片140,且用以将存储器管理电路402所输出的数据或指令传送至智能卡芯片140,并用以将智能卡芯片140所产生的回应信息传送给存储器管理电路402。
存储器接口408是耦接至存储器管理电路402并且用以存取可复写式非易失性存储器模块130。也就是说,欲写入至可复写式非易失性存储器模块130的数据会经由存储器接口408转换为可复写式非易失性存储器模块130所能接受的格式。
缓冲存储器410是耦接至存储器管理电路402并且用以暂存来自于主机系统1000的数据与指令或来自于可复写式非易失性存储器模块130的数据。缓冲存储器410可为静态随机存取存储器(static random accessmemory,SRAM)、动态随机存取存储器(Dynamic Random Accessmemory,DRAM)、磁阻式存储器(Magnetoresistive Random AccessMemory,MRAM)、相变化存储器(Phase Change Random Access Memory,PRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)或其他适合的存储器。
错误检查与校正电路412是耦接至存储器管理电路402并且用以执行一错误校正程序以确保数据的正确性。具体来说,当主机接口404从主机系统1000中接收到写入指令时,错误检查与校正电路会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking andCorrecting Code,ECC Code),并且存储器管理电路402会将此更新数据与对应的错误校正码写入至可复写式非易失性存储器模块130中。之后,当存储器管理电路402从可复写式非易失性存储器模块130中读取数据时会同时读取此数据对应的错误校正码,并且错误检查与校正电路412会依据此错误校正码对所读取的数据执行错误校正程序。
电源管理电路414是耦接至存储器管理电路402并且用以控制存储器储存装置100的电源。
在本发明一范例实施例中,当主机系统1000在对上述含有智能卡芯片140的存储器储存装置100进行操作时,存储器控制器110配合主机系统1000的数据处理模块206能够正确地将数据或指令传送至智能卡芯片140,并无误地将智能卡芯片140的回应信息传递至主机系统1000。以下将配合图5和图6详细说明存储器控制器110与主机系统1000之间所执行数据传送程序的流程。其中,图5是根据本发明第一范例实施例显示主机系统1000运作时的流程图,而图6是根据本发明第一范例实施例显示存储器储存装置100运作时的流程图。
请先参照图5,每当主机系统1000要传送数据至智能卡芯片140之前,主机系统1000会先获得或产生一写入符记(write token)WT,并储存该写入符记WT(步骤S502)。其中,写入符记WT可依一设定的原则产生,如依序、乱数或是依据一系统时间产生,故一般来说,在每次主机系统1000欲传送数据至智能卡芯片140时,主机系统1000所获得的写入符记WT大多会彼此不同。此外,当主机系统1000传送写入指令至智能卡芯片140时,写入符记WT会随着写入指令被传送到存储器控制器110,且写入符记WT亦会被包含在回传至主机系统1000的数据串中。主机系统1000藉由数据处理模块206检核所储存的写入符记是否与存储器控制器110所回传的写入符记相同,以作为在检核回应数据串是否正确的依据。在另一范例实施例中,当主机系统1000产生写入符记WT后,写入符记WT会再经编辑并随着写入指令被传送到存储器控制器110,故当主机系统1000传送写入指令至存储器控制器110时,此编辑过的写入符记会随着写入指令被传送到存储器控制器110,且此编辑过的写入符记亦会被包含在存储器控制器110回传至主机系统1000的回应数据串中。
之后,在主机系统1000传送数据或指令至存储器储存装置100的智能卡芯片140之前,主机系统1000会将所欲传送数据或指令与一特定标记及写入符记WT合并,以形成数据串(步骤504)。上述的特定标记用以供存储器控制器110据以判断主机系统1000所传送的数据或指令的至少一部分是否应传送给智能卡芯片140。倘若存储器控制器110从主机系统1000所接收的任一数据串中含有特定标记,则存储器控制器110将含有特定标记的数据串的至少一部分传送至智能卡芯片140。请参考图7,在本范例实施例中,主机系统1000传送至存储器控制器110的数据或指令704为一指令-应用程序协议数据单元(Command-Application Protocol Data Unit,C-APDU),而C-APDU 704与特定标记702以及写入符记706合并后,即可形成数据串700,以作为主机系统1000与智能卡芯片140之间的联系之用。然而须注意的,在本发明存储器储存装置100不具有可复写式非易失性存储器模块130的其他范例实施例中,数据串700可不具有特定标记702。亦即,对这些不具有可复写式非易失性存储器模块130的范例实施例而言,特定标记702不必包含在数据串700当中。换言之,在上述不具有可复写式非易失性存储器模块130的范例实施例,当进行步骤S504时,只须合并C-APDU 704与写入符记706,以形成数据串700。在本范例实施例中,特定标记702是位于数据串700的数个最高有效字元(Most SignificantBit,MSB)而形成在C-APDU 704之前,写入符记706则是位于数据串700的数个最低有效字元(Least Significant Bit,LSB)而形成在C-APDU704之后。然而,须注意的,特定标记702和写入符记706在数据串700中的位置并不以此为限,例如:在本发明的另一个范例实施例中,可藉由一编码器,将特定标记702和写入符记706的各个位元分散在数据串700之中,之后在藉由相同的编码器从数据串700中获取出特定标记702和写入符记706。另外,在本发明的一范例实施例中,特定标记702和写入符记706位于数据串700的同一端;在本发明的另一范例实施例中,特定标记702位于数据串700的右端,而写入符记706位于数据串700的左端。此外,在另一范例实施例中,特定标记702是由存储器控制器110依据欲传送数据或指令的地址产生。在另一范例实施例中,主机系统1000是将所欲传送的数据或指令与写入符记WT合并以形成数据串700后传送至存储器控制器110,而在所传送的指令(如读取指令或写入指令)中具有数据读取地址或数据写入地址,存储器控制器110则于接收到主机系统1000所传送的指令后,依据指令中的地址来对相对应的地址执行相关的操作(读取或写入)。此外,由于智能卡芯片140及可复写式非易失性存储器模块130具有不同的地址区段,故在本发明一范例实施例中,无需产生该特定标记,而存储器控制器110可依据指令中的对应地址,来判断该指令是用以控制可复写式非易失性存储器模块130的操作,或是用以指示存储器控制器110将主机系统1000所传送的数据串的至少一部分传送至智能卡芯片140。
必须了解的,在本范例实施例中,倘若主机系统1000存取的对象为可复写式非易失性存储器模块130而不是智能卡芯片140的话,则上述的特定标记702及写入符记706并不会被包含至主机系统1000传送给存储器控制器110的数据串中。在后面的说明中,将会进一步地说明存储器控制器110如何依据所接收到的数据串中是否含有上述的特定标记,来判断数据串所要传送的目的地是可复写式非易失性存储器模块130亦或是智能卡芯片140。
当数据串700形成之后,主机系统1000会藉由写入指令,将数据串700传送至存储器储存装置100的存储器控制器110(步骤S506)。亦即,主机系统1000会传送写入指令至存储器储存装置100,而此一写入指令系被设定为将数据串700写入至存储器储存装置100。
当数据串700被传送到存储器控制器110之后,主机系统1000会依序地传送多个读取指令至存储器储存装置100的存储器控制器110,直到主机系统1000从存储器储存装置100接收到智能卡芯片140所产生的回应信息为止。其中,上述每一个读取指令被设定为读取存储器储存装置100的多个逻辑区块B1至BN当中的一逻辑区块的数据。其中,图8为上述多个逻辑区块B1至BN的示意图。在本发明中,上述多个逻辑区块B1至BN可以属于单一特定文件,或属于多个特定文件。此外,在本发明一范例实施例中,上述多个逻辑区块B1至BN中的每一个逻辑区块具有相同的容量。
请参考图5,在将多个读取指令传送到存储器储存装置100之前,主机系统1000的数据处理模块206会设定指标BP,以将指标BP对应到上述多个逻辑区块B1至BN当中的一逻辑区块BS(步骤S508)。其中,逻辑区块BS在本文中是被定义为“启始逻辑区块”,用以表示第一个被执行的读取指令所对应的逻辑区块。须说明的,启始逻辑区块BS可以是多个逻辑区块B1至BN当中的任何一个逻辑区块。当将指标BP设定为启始逻辑区块BS之后,主机系统1000会传送一读取指令(步骤S510),而此一读取指令被设定读取指标BP所对应的逻辑区块中读取数据。另须说明的,在主机系统1000传送该读取指令之前,数据管理模块206会先确认该快取存储器212是否已经储存有指标BP所对应的逻辑区块的数据,若有,则数据管理模块206会直接从快取存储器212中读取,而不会再从存储器储存装置100读取。另一方面,倘若快取存储器212尚未储存有指标BP所对应的逻辑区块的数据,则步骤S510中的读取指令则会传送到存储器储存装置100的存储器控制器110,并由存储器控制器110执行。在本范例实施例中,当存储器控制器110接收到主机系统1000所输出的读取指令之后,存储器控制器110会先判断此读取指令是否被设定为读取上述多个逻辑区块B1至BN的数据,而倘若该读取指令被设定为读取上述多个逻辑区块B1至BN的数据,存储器控制器110是由一暂存器中直接产生一预设样式(pattern)的数据(例如所有位元全为零的数据),以减少因读取数据而耗费的时间。上述的预设样式的数据可以是任何样式的数据,而使主机系统1000得以藉由检查存储器控制器100所回传的回应数据串中是否为上述预设样式的数据,判断所接收到的回应数据串是否为存储器控制器100因智能卡芯片140尚未产生回应信息而产生的回应数据串。换言之,倘若主机系统1000所接收到的回应数据串中为上述预设样式的数据,则主机系统1000即判断所接收到的回应数据串为存储器控制器100因智能卡芯片140尚未产生回应信息而产生的回应数据串。
请再参考图5,主机系统1000藉由数据处理模块206自存储器储存装置100或快取存储器212得到所需读取地址所对应的回应数据串(步骤S512),其中,上述回应数据串中包含有上述的写入符记WT以及第一验证码。其中,上述的第一验证码为存储器控制器110将相关的信息进行编码后所产生。上述的相关信息例如是智能卡芯片140的回应信息、写入符记WT或是从可复写式非易失性存储器模块130所读取的数据。举例来说,在本发明一范例实施例中,存储器控制器110藉由存储器管理电路402使用智能卡芯片140的回应信息以及写入符记WT去执行一杂凑函数(hash function),以产生上述的第一验证码。又例如,在本发明一范例实施例中,存储器控制器110藉由存储器管理电路402使用智能卡芯片140的回应信息、特定标记702以及写入符记WT去执行杂凑函数,以产生上述的第一验证码。此外,当存储器控制器110接收到包含有写入符记WT的数据串700时,会储存其中的写入符记WT,之后当存储器控制器110回应主机系统1000所传送的读取指令时,会将所储存的写入符记WT加到要回传的回应数据串内。
请参考图9,图9为存储器控制器110回传至数据处理模块206的回应数据串900的数据结构图。回应数据串900包含有一写入符记区902、一数据区904以及一验证数据区906,其中写入符记区902用来记载上述的写入符记WT,数据区904用来记载智能卡芯片140所产生的信息或记载上述预设样式的数据,而验证数据区906用来记载上述的第一验证码。须注意的,写入符记区902、数据区904及验证数据区906在回应数据串900中的位置并不以图9所显示的为限,且可依据不同需要进行调整。
请在参考图5。当主机系统1000的数据处理模块206在步骤S512中接收到回应数据串900后,会从回应数据串900中获取出写入符记WT及第一验证码,并依据所接收到的回应数据串900产生第二验证码(步骤S514)。其中,从回应数据串900中所获取出写入符记WT和第一验证码可以是编辑过或是未编辑过的。此外,主机系统1000产生第二验证码的方式可以与存储器控制器110产生第一验证码的方式相同。举例来说,主机系统1000及存储器控制器110可执行相同的杂凑函数分别产生第二验证码及第一验证码。在本发明一范例实施例中,主机系统1000使用所获取的回应信息以及写入符记WT去执行杂凑函数,以产生上述的第二验证码。又例如,在本发明一范例实施例中,主机系统1000使用所获取的回应信息、特定标记702以及写入符记WT去执行杂凑函数,以产生上述的第二验证码。之后,在步骤S514中,主机系统1000藉由数据处理模块206检核回应数据串900中的写入符记WT是否与主机系统1000所储存的写入符记WT一致(步骤S516)。倘若上述两写入符记WT彼此一致,则进行步骤S520;而倘若上述两写入符记WT并不一致,则进行步骤S518。
在步骤S518中,主机系统1000藉由数据处理模块206重新设定指标BP,以重复执行步骤S510~S516。
在步骤S520中,主机系统1000藉由数据处理模块206检核第一验证码是否与主机系统1000所产生的第二验证码一致。倘若第一验证码与第二验证码彼此一致,则进行步骤S522;而倘若第一验证码与第二验证码并不一致,则进行步骤S518。
一般说来,步骤S516中所检核的结果大多会是回应数据串900中的写入符记WT是否与主机系统1000所储存的写入符记WT一致,且步骤S520中所检核的结果大多会是第一验证码与第二验证码彼此一致。然而,因为主机系统1000具有快取存储器212的缘故,快取存储器212中会存有先前存储器控制器110所回传的回应数据串,而当数据处理模块206被重新启动,主机系统1000所储存的写入符记WT与回应数据串900中的写入符记WT即可能会一致,进而使主机系统1000所接收到的回应数据串900中的数据可能是快取存储器212所储存的旧有数据,而并非完全是存储器储存装置100所新产生的数据。此外,因快取存储器212处理快取数据方式的不同,当主机系统1000读取逻辑区块B1至BN上的数据时,快取存储器212可能将旧有的数据回传给数据处理模块206,这也会使主机系统1000所接收到的回应数据串900中的数据可能是快取存储器212所储存的旧有数据,而并非完全是存储器储存装置100所新产生的数据。因此,倘若回应数据串900中的写入符记WT与主机系统1000所储存的写入符记WT并不一致,或是第一验证码不同于第二验证码,则此回应数据串900即可被判定为是快取存储器212所暂存的旧有数据,而非由存储器控制器110因回应当次读取指令所产生的新回应数据串。
在步骤S522中,主机系统1000藉由数据处理模块206检核回应数据串900的数据区904内的数据是否与上述的预设样式一致。倘若回应数据串900的数据区904内的数据全部与上述的预设样式一致,则表示存储器控制器110尚未接收到智能卡芯片140的回应信息,而会进行步骤S518;而相对的,倘若回应数据串900的数据区904内的数据与上述的预设样式并不一致,则表示存储器控制器110已经接收到智能卡芯片140的回应信息,而会进行步骤S524,以将所回应数据串900的数据区904内的数据视为智能卡芯片140所产生的回应信息。
相对于图5所显示的主机系统1000与智能卡芯片140运作时的流程,存储器储存装置100与主机系统1000的运作流程则可参考图6。首先,当存储器储存装置100开始运作时,存储器控制器110会取得关于上述多个逻辑区块B1至BN的地址信息(步骤S602),以作为后续比对主机系统1000所传送的读取指令之用。之后,存储器控制器110即可开始接收主机系统1000所输出的写入指令(步骤S604),其中该写入指令被设定为写入第一数据串至存储器储存装置100,而该第一数据串可以是如图7中所示的数据串700或是其他的数据串。当存储器控制器110接收到写入指令之后,即会检核该第一数据串是否含有如图7所示的特定标记702(步骤S606)。倘若第一数据串不含有特定标记702,则存储器控制器110会依据写入指令所指派的地址,将第一数据串写入至可复写式非易失性存储器模块130(步骤S608);相对的,倘若第一数据串含有特定标记702,则存储器控制器110会将第一数据串中的写入符记WT(如图7中的写入符记706)记录在缓冲存储器410,并将特定标记702与写入符记WT从第一数据串中去除,以产生第二数据串(如图7中所示的C-APDU 704),再将第二数据串传送至智能卡芯片140(步骤S610)。如此一来,藉由侦测第一数据串中是否含有特定标记702,存储器控制器110即可判断数据串应该送往可复写式非易失性存储器模块130或送往智能卡芯片140。须说明的,在本发明不具有可复写式非易失性存储器模块130的其他范例实施例中,因数据串700不具有特定标记702,故图4的流程中的步骤S606和S610会予以省略,且在步骤S610中即不须将特定标记702从数据串700除去,而直接将数据串700的至少一部分传送到智能卡芯片140。另须说明的,在本发明的另一个范例实施例中,上述的第二数据串即为上述的第一数据串。换言之,存储器控制器110不会将特定标记702或写入符记WT从第一数据串中去除,而是将第一数据串直接转送到智能卡芯片140。之后,智能卡芯片140再从所接收到的第一数据串辨识出特定标记702、C-APDU704和写入符记WT。此外,本范例实施例中,第一数据串中的写入符记WT除如上所述会记录在缓冲存储器410之外。在本发明的另一范例实施例中,存储器控制器110会将第一数据串中的写入符记WT记录在可复写式非易失性存储器模块130。
当第二数据串被送往智能卡芯片140之后,存储器控制器110即会等待接收主机系统1000所传送过来的读取指令(步骤S612),其中上述的读取指令包含但不限于主机系统1000于图5的步骤S510所传送的读取指令。之后,存储器控制器110会检核所接收的读取指令所指派的地址是否属于上述的逻辑区块B1至BN(步骤S614),亦即存储器控制器110会检核所接收的读取指令是否被设定为读取上述多个逻辑区块B1至BN的数据。若上述读取指令所指派的地址并非属于逻辑区块B1至BN,则存储器控制器110会依据读取指令所指派的地址读取对应的数据(步骤S616),并将数据传送至主机系统1000;相对的,若上述读取指令所指派的地址属于上述的逻辑区块B1至BN的逻辑地址,则存储器控制器110会再检核是否已经接收到智能卡芯片140的回应信息(步骤S618),而在本范例实施例中,此回应信息为智能卡芯片140因接收到上述的第二数据串而产生,并且为一回应-应用程序协议数据单元(Response-Application Protocol Data Unit,R-APDU)。在步骤S618中,倘若存储器控制器110已经接收到智能卡芯片140的回应信息,则存储器控制器110依据回应信息及写入符记WT,产生第一验证码(步骤S622)。之后,存储器控制器110将回应信息、写入符记WT及第一验证码加入至回应数据串900(步骤S624),再将此回应数据串900传送至主机系统1000(步骤S626)。
倘若在步骤S618中,存储器控制器110尚未接收到智能卡芯片140的回应信息,则存储器控制器110会回传第二回应数据串至主机系统1000,以回应所接收到的读取指令(步骤S620)。在本范例实施例中,第二回应数据串的数据结构亦与图9所示回应数据串900的数据结构一致,其中写入符记区902则用来记载写入符记WT,而数据区904内的数据为上述的预设样式。在本发明一范例实施例中,存储器控制器110会依据写入符记WT及上述的预设样式,产生另一个第一验证码,并将此一第一验证码加入至第二回应数据串的验证数据区906中。如此,主机系统1000可依据第二回应数据串中的第一验证码,检核第二回应数据串的正确性。此外,在本发明一范例实施例中,倘若存储器控制器110在步骤S618中尚未接收到智能卡芯片140的回应信息,则不产生另一个第一验证码,而将上述的写入符记WT及预设样式分别加入至回应数据串900的写入符记区902及数据区904,以产生第二回应数据串。
当进行完步骤S620之后,存储器控制器110会再继续等待主机系统1000的下一个读取指令,直到接收到智能卡芯片140所产生的回应信息,并回传上述的具有智能卡芯片140回应信息的回应数据串900至主机系统1000为止。
在上述部分的范例实施例中,回应数据串900包含有写入符记区902、数据区904以及验证数据区906,其中写入符记区902用来记载写入符记WT。然而,在本发明一范例实施例中,回应数据串900可具有多个数据区段,而存储器控制器110将写入符记WT加入至每一数据区段中。如图10所示,在此范例实施例中,回应数据串900具有多个数据区段908,而每一个数据区段908皆记录有完整的写入符记WT。更进一步地说,在此一范例实施例中,存储器控制器110再将回应数据串900回传至主机系统1000时,会将写入符记WT加入至每一数据区段908中,以使每一数据区段908皆记录有完整的写入符记WT。之后,主机系统1000再从回应数据串900的每一数据区段908中分别获取出写入符记WT,并检核每一所获取出的写入符记WT是否与所储存的写入符记WT相同。倘若每一所获取出的写入符记WT皆与所储存的写入符记WT相同,则判断回应数据串900是存储器储存装置100所新产生的数据,而非快取存储器212所储存的旧有数据。
在本发明一范例实施例中,每一数据区段908的大小为一扇区大小(512Bytes)。其中,扇区为主机系统1000更新数据时的最小单位。然而,本发明并不以此为限,每一数据区段908的大小亦可为其他大小,例如,1KB、2KB等。
请参考图11及图12。图11和图12是根据本发明第一范例实施例分别显示主机系统1000及存储器储存装置100运作时的流程图。图11流程的步骤大致与图5流程的步骤相同,而两流程之间的不同点在于图11流程中的步骤S1114取代了图5流程中的步骤S514,且图11流程中的步骤S1116取代了图5流程中的步骤S516及S520。主机系统1000在步骤S1114中获取每一数据区段908中的写入符记WT,并在在步骤S1116中检核每一所获取出的写入符记WT是否与所储存的写入符记WT相同。若有任一所获取出的写入符记WT不同于主机系统1000所储存的写入符记WT,则进行步骤S518。此外,图12流程的步骤大致与图6流程的步骤相同,而两流程之间的不同点在于图11流程中的步骤S1224取代了图6流程中的步骤S622及S624。在步骤S1224中,存储器控制器110将智能卡芯片140所产生的回应信息加入至回应数据串900中,并将写入符记WT加入至数据串900的每一数据区段908中。
在本发明一范例实施例中,存储器控制器110除了会将写入符记WT加入至数据串900的每一数据区段908中之外,还会产生上述的第一验证码,而主机系统1000除了会检核每一所获取出的写入符记WT是否与所储存的写入符记WT相同之外,还会依据所接收到的回应数据串900产生第二验证码,并检核第二验证码是否与第一验证码相同。
请参考图13及图14。图13和图14是根据本发明第一范例实施例分别显示主机系统1000及存储器储存装置100运作时的流程图。图13流程的步骤大致与图5流程的步骤相同,而两流程之间的不同点在于图13流程中的步骤S1314取代了图5流程中的步骤S514,且图13流程中的步骤S1316取代了图5流程中的步骤S516及S520。主机系统1000在步骤S1314中从回应数据串900中获取第一验证码,且从每一数据区段908中分别获取出写入符记WT,并依据所接收到的回应数据串产生第二验证码。主机系统1000在步骤S1316中检核每一所获取出的写入符记WT是否与所储存的写入符记WT相同。若有任一所获取出的写入符记WT不同于主机系统1000所储存的写入符记WT,则进行步骤S518。此外,图14流程的步骤大致与图6流程的步骤相同,而两流程之间的不同点在于图14流程中的步骤S1424取代了图6流程中的步骤S624。在步骤S1424中,存储器控制器110将第一验证码及智能卡芯片140所产生的回应信息加入至回应数据串900中,并将写入符记WT加入至数据串900的每一数据区段908中。
综上所述,本发明一范例实施例的数据串传送与识别方法、存储器储存装置及存储器控制器,适用于主机系统及存储器储存装置之间的数据传递。存储器控制器将主机系统所传送的数据串的至少一部分转送至存储器储存装置的智能卡芯片。之后,主机系统可藉由执行多个读取指令,无误地接收智能卡芯片所产生的回应信息。其中,存储器控制器可将第一验证码加入至回传至主机系统的回应数据串中,亦可将写入符记分别记录至回应数据串的每一数据区段中。主机系统可依据所接收的回应数据串,产生第二验证码。主机系统藉由检核第一验证码是否与第二验证码相同,确认回应数据串的正确性。此外,主机系统亦可检核每一数据区段的写入符记,确认回应数据串的正确性。如此一来,主机系统可无误地接收智能卡芯片所产生的回应信息。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何所属技术领域的普通技术人员,当可作些许更动与润饰,而不脱离本发明的精神和范围。
Claims (20)
1.一种数据串传送与识别方法,其适用于一主机系统及一存储器储存装置之间的数据传递,该存储器储存装置具有一智能卡芯片,该数据串传送与识别方法包括:
(a)该主机系统产生并储存一写入符记,并将该写入符记结合于一数据串中;
(b)该主机系统传送一写入指令至该存储器储存装置,该写入指令被设定为写入该数据串至该存储器储存装置;
(c)该存储器储存装置将该数据串的至少一部分传递至该智能卡芯片,并记录该数据串中的该写入符记;
(d)该主机系统依序地传送多个读取指令至该存储器储存装置,直到该主机系统从该存储器储存装置接收到一回应数据串为止,其中该回应数据串具有一回应信息、该写入符记及一第一验证码,该回应信息为该智能卡芯片因接收到该数据串的至少一部分而产生,而该存储器储存装置依据该回应信息及该写入符记产生该第一验证码;
(e)该主机系统从所接收到的该回应数据串中获取出该写入符记、该回应信息及该第一验证码,并依据所获取出的该写入符记及该回应信息产生一第二验证码;以及
(f)该主机系统检核所获取出的该第一验证码是否与该第二验证码相同,并检核所获取的该写入符记是否与所储存的该写入符记相同,其中倘若该第一验证码与该第二验证码相同且所获取的该写入符记与所储存的该写入符记相同,则该主机系统将所接收到的该回应数据串中的该回应信息视为该智能卡芯片所产生的回应信息。
2.根据权利要求1所述的数据串传送与识别方法,其中该存储器储存装置使用该回应信息及该写入符记去执行一杂凑函数以产生该第一验证码,该主机系统使用所获取出的该写入符记及该回应信息去执行该杂凑函数以产生该第二验证码。
3.根据权利要求1所述的数据串传送与识别方法,其中倘若在步骤(f)中检核出所获取出的该第一验证码不同于第二验证码或检核出所获取的该写入符记不同于所储存的该写入符记,则重复执行步骤(d)、(e)及(f)。
4.根据权利要求1所述的数据串传送与识别方法,其中该回应数据串具有多个数据区段且每一该些数据区段分别记录了完整的该写入符记,而该主机系统在步骤(e)中从每一该些数据区段中分别获取出该写入符记,且该主机系统在步骤(f)中检核每一所获取出该写入符记是否皆与所储存的该写入符记相同。
5.根据权利要求4所述的数据串传送与识别方法,其中倘若该主机系统在步骤(f)中检核出有任一所获取出的该写入符记与所储存的该写入符记不相同,则重复执行步骤(d)、(e)及(f)。
6.根据权利要求4所述的数据串传送与识别方法,其中每一该些数据区段的大小为一扇区大小。
7.根据权利要求1所述的数据串传送与识别方法,其中还包括:
该存储器储存装置判断从该主机系统所接收的任一数据串中是否含有一特定标记;以及
倘若从该主机系统所接收的任一数据串中含有该特定标记,则将含有该特定标记的数据串的至少一部分传送至该智能卡芯片。
8.根据权利要求7所述的数据串传送与识别方法,其中该回应数据串还包括该特定标记,该存储器储存装置使用该特定标记、该回应信息及该写入符记去执行一杂凑函数以产生该第一验证码,而该主机系统从所接收到的该回应数据串中另获取出该特定标记,并使用所获取出的该特定标记、该写入符记及该回应信息去执行该杂凑函数以产生该第二验证码。
9.一种数据串传送与识别方法,其适用于一主机系统及一存储器储存装置之间的数据传递,该存储器储存装置具有一智能卡芯片,该数据串传送与识别方法包括:
(a)该主机系统产生并储存一写入符记,且将该写入符记结合于一数据串中;
(b)该主机系统传送一写入指令至该存储器储存装置,该写入指令被设定为写入该数据串至该存储器储存装置;
(c)该存储器储存装置将该数据串的至少一部分传递至该智能卡芯片,并记录该数据串中的该写入符记;
(d)该主机系统依序地传送多个读取指令至该存储器储存装置,直到该主机系统从该存储器储存装置接收到一回应数据串为止,其中该回应数据串具有一回应信息,而该回应信息为该智能卡芯片因接收到该数据串的至少一部分而产生,该回应数据串具有多个数据区段,且每一该些数据区段记录有完整的该写入符记;
(e)该主机系统从所接收到的该回应数据串的每一该些数据区段中获取出该写入符记;以及
(f)该主机系统检核每一所获取出的该写入符记是否与所储存的该写入符记相同,其中当每一所获取出的该写入符记与所储存的该写入符记相同时,则该主机系统将所接收到的该回应数据串中的该回应信息视为该智能卡芯片所产生的回应信息。
10.根据权利要求9所述的数据串传送与识别方法,其中倘若该主机系统在步骤(f)中检核出有任一所获取出的该写入符记与所储存的该写入符记不相同,则重复执行步骤(d)、(e)及(f)。
11.根据权利要求9所述的数据串传送与识别方法,其中每一该些数据区段的大小为一扇区大小。
12.一种存储器储存装置,包括:
一连接器,用以耦接至一主机系统;
一可复写式非易失性存储器模块,用以储存数据;
一智能卡芯片,用以基于所接收到的一数据串的至少一部分而产生一回应信息;以及
一存储器控制器,耦接至该连接器、该可复写式非易失性存储器模块及该智能卡芯片,用以控制该可复写式非易失性存储器及该智能卡芯片的操作;
其中该存储器控制器藉由该连接器从该主机系统接收一写入指令,该写入指令被设定为将该数据串写入至一逻辑地址,而该数据串具有一写入符记;
其中该存储器控制器将该数据串的至少一部分传递至该智能卡芯片,并记录该数据串中的该写入符记;
其中该存储器控制器从该智能卡芯片接收该回应信息;
其中该存储器控制器依据该回应信息及该写入符记,产生一第一验证码;
其中该存储器控制器将该回应信息、该写入符记及该第一验证码加入至一回应数据串;
其中该存储器控制器藉由该连接器将该回应数据串传送至该主机系统。
13.根据权利要求12所述的存储器储存装置,其中该存储器控制器使用该回应信息及该写入符记去执行一杂凑函数以产生该第一验证码。
14.根据权利要求13所述的存储器储存装置,其中该回应数据串具有多个数据区段,而该存储器控制器将该写入符记加入至每一该些数据区段中。
15.根据权利要求14所述的存储器储存装置,其中每一该些数据区段的大小为一扇区大小。
16.根据权利要求12所述的存储器储存装置,其中该存储器控制器判断从该主机系统所接收的任一数据串中是否含有一特定标记,且倘若从该主机系统所接收的任一数据串中含有该特定标记,则该存储器控制器将含有该特定标记的数据串的至少一部分传送至该智能卡芯片。
17.根据权利要求16所述的存储器储存装置,其中该存储器控制器使用该特定标记、该回应信息及该写入符记去执行一杂凑函数以产生该第一验证码。
18.一种存储器控制器,用于控制一可复写式非易失性存储器模块及一智能卡芯片,该存储器控制器包括:
一主机接口,用以耦接至一主机系统;
一存储器接口,用以耦接至该可复写式非易失性存储器模块;
一智能卡芯片接口,用以耦接至该智能卡芯片;以及
一存储器管理电路,耦接至该主机接口、该存储器接口及该智能卡芯片接口;
其中该存储器管理电路藉由该主机接口从该主机系统接收一写入指令,该写入指令被设定为将一数据串写入至一逻辑地址,而该数据串具有一写入符记;
其中该存储器管理电路藉由该智能卡芯片接口将该数据串的至少一部分传递至该智能卡芯片,并记录该数据串中的该写入符记;
其中该存储器管理电路藉由该智能卡芯片接口从该智能卡芯片接收一回应信息;
其中该存储器管理电路将该回应信息及该写入符记加入至一回应数据串,而该回应数据串具有多个数据区段,该存储器管理电路将该写入符记加入至每一该些数据区段中;
其中该存储器管理电路藉由该主机接口将该回应数据串传送至该主机系统。
19.根据权利要求18所述的存储器控制器,其中该存储器管理电路判断从该主机系统所接收的任一数据串中是否含有一特定标记,且倘若从该主机系统所接收的任一数据串中含有该特定标记,则该存储器管理电路将含有该特定标记的数据串的至少一部分传送至该智能卡芯片。
20.根据权利要求18所述的存储器控制器,其中每一该些数据区段的大小为一扇区大小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110363160.9A CN103116470B (zh) | 2011-11-16 | 2011-11-16 | 存储器储存装置、存储器控制器及数据串传送与识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110363160.9A CN103116470B (zh) | 2011-11-16 | 2011-11-16 | 存储器储存装置、存储器控制器及数据串传送与识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103116470A true CN103116470A (zh) | 2013-05-22 |
CN103116470B CN103116470B (zh) | 2016-04-13 |
Family
ID=48414864
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110363160.9A Active CN103116470B (zh) | 2011-11-16 | 2011-11-16 | 存储器储存装置、存储器控制器及数据串传送与识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103116470B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112835536A (zh) * | 2021-03-10 | 2021-05-25 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
CN113377704A (zh) * | 2021-06-11 | 2021-09-10 | 上海壁仞智能科技有限公司 | 人工智能芯片以及数据操作方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040049726A1 (en) * | 2002-09-05 | 2004-03-11 | Goyins Gregg S. | Error detection system for a FIFO memory |
TW200820037A (en) * | 2006-07-07 | 2008-05-01 | Sandisk Corp | Content control system and method using certificate chains |
US20100186077A1 (en) * | 2009-01-19 | 2010-07-22 | Phison Electronics Corp. | System, controller, and method thereof for transmitting data stream |
TW201033807A (en) * | 2009-03-10 | 2010-09-16 | Phison Electronics Corp | Data processing system, controller, and method thereof for searching specific memory area |
-
2011
- 2011-11-16 CN CN201110363160.9A patent/CN103116470B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040049726A1 (en) * | 2002-09-05 | 2004-03-11 | Goyins Gregg S. | Error detection system for a FIFO memory |
TW200820037A (en) * | 2006-07-07 | 2008-05-01 | Sandisk Corp | Content control system and method using certificate chains |
US20100186077A1 (en) * | 2009-01-19 | 2010-07-22 | Phison Electronics Corp. | System, controller, and method thereof for transmitting data stream |
TW201033807A (en) * | 2009-03-10 | 2010-09-16 | Phison Electronics Corp | Data processing system, controller, and method thereof for searching specific memory area |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112835536A (zh) * | 2021-03-10 | 2021-05-25 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
CN112835536B (zh) * | 2021-03-10 | 2023-08-29 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
CN113377704A (zh) * | 2021-06-11 | 2021-09-10 | 上海壁仞智能科技有限公司 | 人工智能芯片以及数据操作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103116470B (zh) | 2016-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI596486B (zh) | 記憶體儲存裝置、記憶體控制器及資料串傳送與識別方法 | |
CN107844431B (zh) | 映射表更新方法、存储器控制电路单元与存储器存储装置 | |
TWI592800B (zh) | 記憶體管理方法及使用所述方法的儲存控制器 | |
TWI515735B (zh) | 資料抹除方法、記憶體控制電路單元及記憶體儲存裝置 | |
CN107590080B (zh) | 映射表更新方法、存储器控制电路单元及存储器存储装置 | |
TWI472927B (zh) | 資料串分派與傳送方法、記憶體控制器與記憶體儲存裝置 | |
US20180129416A1 (en) | Storage device and data processing system including the same | |
US8812756B2 (en) | Method of dispatching and transmitting data streams, memory controller and storage apparatus | |
TW201329707A (zh) | 資料保護方法、記憶體控制器與記憶體儲存裝置 | |
CN107943710B (zh) | 存储器管理方法及使用所述方法的存储控制器 | |
TW201329712A (zh) | 資料處理方法、記憶體控制器與記憶體儲存裝置 | |
CN113885808B (zh) | 映射信息记录方法以及存储器控制电路单元与存储装置 | |
US9483195B2 (en) | Response reading method and data transmission system | |
US8595420B2 (en) | Method for dispatching and transmitting data streams between host system and memory storage apparatus having non-volatile memory and smart card chip, memory controller, and memory storage apparatus | |
CN109273033B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN106959818A (zh) | 数据写入方法、内存控制电路单元与内存储存装置 | |
CN107204205B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN103116470B (zh) | 存储器储存装置、存储器控制器及数据串传送与识别方法 | |
TWI546667B (zh) | 智慧卡管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI688958B (zh) | 冷區域判斷方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN102591738A (zh) | 数据管理方法、存储器控制器与嵌入式存储器储存装置 | |
CN109308930B (zh) | 数据写入方法、存储器控制电路单元及存储器存储装置 | |
CN107229413B (zh) | 存储器管理方法、存储器控制电路单元与存储器储存装置 | |
CN106970763B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN102375698A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |