CN101853216A - 数据处理系统、控制器及其搜寻特定内存区的方法 - Google Patents

数据处理系统、控制器及其搜寻特定内存区的方法 Download PDF

Info

Publication number
CN101853216A
CN101853216A CN200910129270A CN200910129270A CN101853216A CN 101853216 A CN101853216 A CN 101853216A CN 200910129270 A CN200910129270 A CN 200910129270A CN 200910129270 A CN200910129270 A CN 200910129270A CN 101853216 A CN101853216 A CN 101853216A
Authority
CN
China
Prior art keywords
logical blocks
sign
main control
control unit
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
Application number
CN200910129270A
Other languages
English (en)
Other versions
CN101853216B (zh
Inventor
黎焕升
陈孟彰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Phison Electronics Corp
Original Assignee
Phison Electronics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Phison Electronics Corp filed Critical Phison Electronics Corp
Priority to CN2009101292701A priority Critical patent/CN101853216B/zh
Publication of CN101853216A publication Critical patent/CN101853216A/zh
Application granted granted Critical
Publication of CN101853216B publication Critical patent/CN101853216B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种数据处理系统、控制器及其搜寻特定内存区的方法,以从一周边单元中搜寻其数据未被储存至主控单元高速缓存的逻辑区块。当进行搜寻时,多个读取指令会被执行。其中,上述多个读取指令被设定为分别读取上述周边单元的多个逻辑区块当中彼此间隔的逻辑区块,而缩短搜寻时间。

Description

数据处理系统、控制器及其搜寻特定内存区的方法
技术领域
本发明涉及一种搜寻内存的技术,特别涉及一种数据处理系统、控制器及其搜寻特定内存区的方法。
背景技术
数字相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于闪存(Flash 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)倘若所取出的该写入标识与该主控单元所储存的该写入标识之间无该对应关系,则重新设定该指针,并重复执行步骤(b)、(c)、(d)和(e),直到在重复执行的步骤(d)中所取出的另一写入标识在重复执行的步骤(e)中被判断为与该主控单元所储存的该写入标识之间具有该对应关系为止,其中被重新设定后的该指针所指向的逻辑区块与该指针最近一次被重新设定前所对应的逻辑区块之间相隔该多个逻辑区块中的至少一个逻辑区块。
本发明提出一种主控单元。所述的主控单元连接至一周边单元,并包括一高速缓存以及一数据处理模块。该高速缓存用以暂存数据,而该数据处理模块用以从该周边单元中搜寻其数据未被储存至该高速缓存的逻辑区块。其中该数据处理模块设定一指针,以将该指针指向到该周边单元的多个逻辑区块当中的一逻辑区块。之后该数据处理模块接收一回传数据串,该回传数据串因执行一读取指令而产生,而该读取指令被设定为从该指针所指向的逻辑区块中读取数据。该数据处理模块从该回传数据串中取出一写入标识,并判断所取出的该写入标识与该主控单元所储存的写入标识之间是否具有一对应关系,而倘若所取出的该写入标识与该主控单元所储存的该写入标识之间无该对应关系,则重新设定该指针,直到该数据处理模块从后续所接收到的回传数据串中取出与该主控单元所储存的该写入标识之间具有该对应关系的写入标识为止。该数据处理模块后续所接收到的每一回传数据串因执行后续的读取指令而产生,而每一后续的读取指令被设定为从重新设定后的该指针所指向的逻辑区块中读取数据。被重新设定后的该指针所指向的逻辑区块与该指针最近一次被重新设定前所对应的逻辑区块之间相隔该多个逻辑区块中的至少一个逻辑区块。
本发明提出一种数据处理系统。所述的数据处理系统包括一周边单元以及一主控单元。所述的主控单元连接该周边单元并包括一高速缓存和一数据处理模块。该高速缓存用以暂存数据,而该数据处理模块用以从该周边单元中搜寻其数据未被储存至该高速缓存的逻辑区块。其中该数据处理模块设定一指针,以将该指针指向到该周边单元的多个逻辑区块当中的一逻辑区块。之后该数据处理模块接收一回传数据串,该回传数据串因执行一读取指令而产生,而该读取指令被设定为从该指针所指向的逻辑区块中读取数据。该数据处理模块从该回传数据串中取出一写入标识,并判断所取出的该写入标识与该主控单元所储存的写入标识之间是否具有一对应关系,而倘若所取出的该写入标识与该主控单元所储存的该写入标识之间无该对应关系,则重新设定该指针,直到该数据处理模块从后续所接收到的回传数据串中取出与该主控单元所储存的该写入标识之间具有该对应关系的写入标识为止。该数据处理模块后续所接收到的每一回传数据串因执行后续的读取指令而产生,而每一后续的读取指令被设定为从重新设定后的该指针所指向的逻辑区块中读取数据。被重新设定后的该指针所指向的逻辑区块与该指针最近一次被重新设定前所对应的逻辑区块之间相隔该多个逻辑区块中的至少一个逻辑区块。
在本发明之一实施例中,上述步骤(d)另包括从该回传数据串中取出一读取标识,而该方法另包括:(g)该主控单元判断所取出的该读取标识是否与该主控单元前一次所取出的一读取标识相差一默认值;以及(h)倘若所取出的该读取标识与该主控单元前一次所取出的读取标识不相差该默认值,则重新设定该指针,并重复执行步骤(b)、(c)、(d)、(e)、(f)和(g),直到在重复执行的步骤(d)中所取出的读取标识在重复执行的步骤(g)被判断为与该主控单元前一次所取出的读取标识相差该默认值为止。
在本发明之一实施例中,所有被执行的读取指令在多个回合内被执行,而该多个回合依据该指针被重新设定前后所对应的两逻辑区块的地址之间的变异量为正值或负值来区分。
在本发明之一实施例中,每一回合内所执行的多个读取指令中,任两个连续地被执行的读取指令所对应的两逻辑区块之间的间距为一定值。
在本发明之一实施例中,上述多个回合包括一第一回合和一第二回合,而在该第二回合内被执行的读取指令所对应的多个逻辑区块的地址经该第一回合内被执行的读取指令所对应的多个逻辑区块的地址皆偏移一预设逻辑区块数后获得。
在本发明之一实施例中,在每一个回合内被执行的多个读取指令其所对应的逻辑区块中,除该回合内第一个和最后一个被执行的读取指令所对应的两逻辑区块之外,对在该回合内任一个被执行的读取指令所对应的逻辑区块而言,该逻辑区块与前一个被执行的读取指令所对应的逻辑区块之间相隔的逻辑区块数目小于该逻辑区块与下一个被执行的读取指令所对应的逻辑区块之间相隔的逻辑区块数目。
在本发明之一实施例中,上述多个回合包括一第一回合和一第二回合,而在该第二回合内第一个被执行的读取指令所对应的逻辑区块的地址经该第一回合内第一个被执行的读取指令所对应的逻辑区块的地址偏移一预设逻辑区块数后获得。
在本发明之一实施例中,在第一回合内,除第一个被执行的读取指令所对应的逻辑区块之外,该第一回合内的每一个被执行的读取指令所对应的逻辑区块与前一个被执行的读取指令所对应的逻辑区块之间所相隔的逻辑区块数目是依据该多个逻辑区块的总数以及前一个被执行的读取指令所对应的该逻辑区块位于该多个逻辑区块中的位置而决定。
在本发明之一实施例中,在该多个回合的第一回合内所执行的单一个读取指令设定为读取该多个逻辑区块当中第一个逻辑区块与最后一个逻辑区块之间的一第一区块,而预计在该多个回合的第二回合内执行的两个读取指令分别被设定为读取该多个逻辑区块当中第一个逻辑区块与该第一区块之间的一第二区块,以及最后一个逻辑区块与该第一区块之间的一第三区块。
在本发明之一实施例中,预计在该多个回合的第三回合内执行的四个读取指令分别被设定为读取该多个逻辑区块当中第一个逻辑区块与该第二区块之间的一第四区块、该第二区块与该第一区块之间的一第五区块、该第一区块与该第三区块之间的一第六区块,以及该第三区块与最后一个逻辑区块之间的一第七区块。
在本发明之一实施例中,每一回合内所执行的多个读取指令中,任两个连续地被执行的读取指令所对应的两逻辑区块之间的间距为变动的间距。
在本发明之一实施例中,在每一次重新设定该指针时,将一间距累加至该指针,以重新设定该指针,而倘若该指针在累加该间距后超出该多个逻辑区块的地址范围,则重新设定后的该指针等于累加后的该指针减去该多个逻辑区块的总容量。
在本发明之一实施例中,所述的间距为变动的间距。
在本发明之一实施例中,所述的间距会随着该指针被重新设定的先后顺序,依序地递增至一最大间距为止。
在本发明之一实施例中,上述主控单元与该周边单元之间所有指令与数据的传递皆会通过该高速缓存。
本发明提出一种搜寻特定内存区的方法,其由一主控单元执行以在一周边单元中搜寻特定内存区。该主控单元连接一周边单元,且该主控单元储存一写入标识。所述的方法包括:(a)设定一指针,该指针是对应到该周边单元的多个逻辑区块中的一逻辑区块;(b)执行一读取指令,其中该读取指令是设定从该指针所指向的逻辑区块中读取数据;(c)接收一回传数据串,其中该回传数据串因执行该读取指令而产生;(d)依据该回传数据串判断该回传数据串与该写入标识之间是否具有一对应关系;以及(e)倘若该回传数据串与该写入标识之间无该对应关系,则将一间距累加至该指针,以重新设定该指针,并重复执行步骤(b)、(c)和(d),直到所接收之回传数据串与该写入标识之间具有该对应关系为止。其中每一次累加至该指针的该间距至少为该多个逻辑区块中至少一个逻辑区块的容量,且所累加的各间距中至少有一间距大于或等于该多个逻辑区块之单一逻辑区块之容量的两倍。
本发明提出一种主控单元。所述的主控单元连接至一周边单元,并包括一高速缓存以及一数据处理模块。该高速缓存用以暂存数据,而该数据处理模块用以从该周边单元中搜寻其数据未被储存至该高速缓存的逻辑区块。其中该数据处理模块设定一指针,以将该指针指向到该周边单元的多个逻辑区块当中的一逻辑区块。之后该数据处理模块接收一回传数据串,该回传数据串因执行一读取指令而产生,而该读取指令被设定为从该指针所指向的逻辑区块中读取数据。该数据处理模块依据该回传数据串判断该回传数据串与该写入标识之间是否具有一对应关系。倘若该回传数据串与该写入标识之间无该对应关系,则将一间距累加至该指针,以重新设定该指针,直到所接收之回传数据串与该写入标识之间具有该对应关系为止。该数据处理模块后续所接收到的每一回传数据串因执行后续的读取指令而产生,而每一后续的读取指令被设定为从重新设定后的该指针所指向的逻辑区块中读取数据。此外,每一次累加至该指针的该间距至少为该多个逻辑区块中至少一个逻辑区块的容量,且所累加的各间距中至少有一间距大于或等于该多个逻辑区块之单一逻辑区块之容量的两倍。
本发明提出一种数据处理系统。所述的数据处理系统包括一周边单元以及一主控单元。所述的主控单元连接该周边单元并包括一高速缓存和一数据处理模块。该高速缓存用以暂存数据,而该数据处理模块用以从该周边单元中搜寻其数据未被储存至该高速缓存的逻辑区块。其中该数据处理模块设定一指针,以将该指针指向到该周边单元的多个逻辑区块当中的一逻辑区块。之后该数据处理模块接收一回传数据串,该回传数据串因执行一读取指令而产生,而该读取指令被设定为从该指针所指向的逻辑区块中读取数据。该数据处理模块依据该回传数据串判断该回传数据串与该写入标识之间是否具有一对应关系。倘若该回传数据串与该写入标识之间无该对应关系,则将一间距累加至该指针,以重新设定该指针,直到所接收之回传数据串与该写入标识之间具有该对应关系为止。该数据处理模块后续所接收到的每一回传数据串因执行后续的读取指令而产生,而每一后续的读取指令被设定为从重新设定后的该指针所指向的逻辑区块中读取数据。此外,每一次累加至该指针的该间距至少为该多个逻辑区块中至少一个逻辑区块的容量,且所累加的各间距中至少有一间距大于或等于该多个逻辑区块之单一逻辑区块之容量的两倍。
在本发明之一实施例中,上述的多个逻辑区块中的每一个逻辑区块具有相同的容量。
在本发明之一实施例中,所述的数据处理模块从该回传数据串中取出另一写入标识,而当所取出的该写入标识与该主控单元所储存的该写入标识一致时,该数据处理模块即判断该回传数据串与该写入标识之间具有该对应关系。
本发明在执行读取指令以等待接收芯片的响应信息的期间,借助使各读取指令所对应的逻辑区块彼此相隔至少一个逻辑区块的方式,而迅速地从具有芯片的周边单元中搜寻其数据未被储存至一主控单元之高速缓存的逻辑区块,进而达到提高系统的整体效能的目的。
为让本发明上述特征和优点能更明显易懂,下文特举较佳实施例,并配合附图,作详细说明如下。
附图说明
图1为现有搭配存储卡的主控单元的功能方块图。
图2是根据本发明一实施例绘示的数据处理系统的功能方块图。
图3是根据本发明第一实施例绘示主控单元运作时的流程图。
图4是根据本发明第一实施例绘示周边单元运作时的流程图。
图5绘示本发明一实施例中主控单元通过控制器传送指令或数据至智能卡芯片时所采用数据串的结构。
图6为本发明一实施例中控制器回传至主控单元数据串的结构。
图7A至图7C用以说明本发明一实施例中设定指针的方式。
图8A和图8B用以说明本发明另一实施例中设定指针的方式。
图9A至图9C用以说明本发明另一实施例中设定指针的方式。
图10和图11用以说明本发明另一实施例中设定指针BP的方式。
图12为本发明另一实施例中控制器回传至主控单元数据串的结构。
图13是根据本发明第二实施例绘示周边单元运作时的流程图。
图14是根据本发明第二实施例绘示主控单元运作时的流程图。
图14是根据本发明第二实施例绘示主控单元运作时的流程图。
主要附图标记说明:
10、200:主控单元
12:存储卡
14、212:高速缓存
16:闪存
18、140:智能卡芯片
100:周边单元
110:控制器
110a:微处理单元
110b:内存接口
110c:缓冲存储器
120:总线连接接口
130:非挥发性内存
206:数据处理模块
S301~S321、S401~S423、S307’、S313’、S409’、S419’、S421’、:步骤
500:数据串
502:特定标记
504:指令-应用程序协议数据单元(C-APDU)
506:写入标识
600、1200:数据数据串
602:数据区
604:写入标识区
606:读取标识区
700、800、900、1000、1100:非快取区
702、704、802、902、904、1002、1102、1104:快取区
B1~BN、Ba~Bh:逻辑区块
WT:写入标识
RT:读取标识
d、d~d3:间距
t1~t11:时间点
具体实施方式
本发明提供一种数据处理系统、控制器及其搜寻特定内存区的方法,以在多个逻辑区块中搜寻其数据未被储存至快取的逻辑区块,而在可无误地传递智能卡响应信息的同时,又能快速地从具有芯片的周边单元中搜寻其数据未被储存至主控单元高速缓存的逻辑区块,进而提高系统的整体效能。数据串得以经写入指令而从主控单元被传送至芯片。其中,值得说明的是主控单元可为一手机,个人数字助理(Personal Digital Assistant,PDA),个人计算机或其它具有高速缓存的电子产品,周边单元可为存储卡,储存装置或同时具有智能卡及其它储存单元的电子设备。之后,主控单元执行多个读取指令,芯片所产生的响应信息可无误地被接收。其中,一写入标识会被用来检验回传数据的正确性,以使主控单元得以区别所接收到响应信息是暂存在高速缓存中的旧有响应信息,亦或是芯片所产生的最新响应信息。其中,本发明所称高速缓存,泛指当主控单元处理数据时,会较周边单元更先去搜寻数据的内存单元,其中,如果所欲搜寻的数据已暂存于此高速缓存,则主控单元就不需再至周边单元中读取数据。以下将以数个范例实施例并配合所附图式来详细说明本发明。但必须了解的是,此些范例实施例并非限制本发明,举例来说,上述芯片除了可为智能卡芯片之外,亦可以是射频识别(Radio Frequency Identification,RFID)芯片、无线传输芯片(如:蓝芽芯片)或多媒体控制芯片(如:数字录音芯片)...等。
请参照图2,图2是根据本发明一实施例绘示的数据处理系统的功能方块图,此数据处理系统会采用本发明的搜寻非特定内存区的方法,以从周边单元100中搜寻其数据未被储存至主控单元200高速缓存212的逻辑区块。数据处理系统包括主控单元200与周边单元100。其中,主控单元200具有一数据处理模块206,而数据处理模块206可以一韧体或硬件方式实施。周边单元100则具有一控制器110,用以控制周边单元100的操作,以及控制周边单元100与主控单元200之间的数据传递。通常周边单元100会与主控单元200一起使用,以使主控单元200可将指令和数据传送到周边单元100。特别是,周边单元100还包括用以执行安全验证等功能的智能卡芯片140,而控制器110及主控单元200会将信息传送至智能卡芯片140,并无误地回传智能卡芯片140的响应信息至主控单元200。主控单元200的高速缓存212会暂存主控单元200最近曾使用过的数据,以提升主控单元200整体的数据处理速度。
在本实施例中,周边单元100具有用以储存一般数据的非挥发性内存130,电性连接控制器110。然而,须说明的,非挥发性内存130对本发明来说是选择性的组件,而非必要的组件。控制器110会控制周边单元100的整体运作,例如数据串的传递、储存、读取与抹除等。控制器110包括微处理单元110a、内存接口110b与缓冲存储器110c。微处理单元110a连接总线连接接口120,且会执行总线连接接口120从主控单元200所接收的指令,并协调控制器110内的各个组件以控制控制器110的整体运作。内存接口连接于非挥发性内存130与微处理单元110a之间,用以存取非挥发性内存130。换言之,主控单元200欲写入至非挥发性内存130的数据会经由内存接口110b转换为非挥发性内存130所能接受的格式。然而,须说明的,因非挥发性内存130对本发明来说是选择性的组件,而非必要的组件。故在本发明的其它不具非挥发性内存130的实施例当中,控制器110不必具有内存接口110b。缓冲存储器110c用以暂时地储存系统数据(例如逻辑实体对映表)或者主控单元200所读取或写入的数据。在本实施例中,缓冲存储器110c为静态随机存取内存(static random access memory,SRAM)。然而,必须了解的是,本发明不限于此,动态随机存取内存(Dynamic Random Access memory,DRAM)、磁阻式内存(Magnetoresistive Random Access Memory,MRAM)、相变化内存(Phase Change Random Access Memory,PRAM)、同步动态随机存取内存(Synchronous DRAM,SDRAM)或其它适合的内存亦可应用于本发明。
智能卡芯片140电性连接控制器110,并且用以执行计算、加密、双向通信及安全认证等功能。在本发明实施例中,智能卡芯片140为兼容于ISO 7816标准的接触式智能卡芯片。然而,必须了解的是,本发明不限于此。例如,智能卡芯片140亦可是兼容于ISO 14443、ISO 15408或其它安全芯片标准的接触或非接触式智能卡芯片,此外,值得说明的是,控制器110与智能卡芯片140可各为一独立芯片,亦可合并封装为一单一芯片。
在本发明实施例中,非挥发性内存130为具有单层存储单元(Single Level Cell,SLC)的NAND闪存。然而,本发明不限于此,在本发明另一实施例中,非挥发性内存130为亦可为多层存储单元(Multi Level Cell,MLC)的NAND闪存或其它适合的非挥发性内存。此外,虽未绘示于本实施例中,但控制器110可更包括错误校正模块(ECC Module,Error Correction Code Module)与电源管理模块等功能模块。
在本实施例中,周边单元100可为智能卡或整合了智能卡和非挥发性内存的整合性安全数字(secure digital,SD)存储卡。但必须了解的是,在本发明另一实施例中周边单元100亦可以是多媒体卡(Multi Media Card,MMC)存储卡或其它的记忆装置。
本实施例中,周边单元100除了控制器110、非挥发性内存130以及智能卡芯片140之外还包括总线连接接口120。总线连接接口120电性连接控制器110,并且与主控单元200连接,用以从主控单元200接收指令和数据,并将周边单元100的信息传送至主控单元200。在本实施例中,总线连接接口120则为一SD接口。必须了解的是,总线连接接口120亦可为其它适合的接口。例如当周边单元100为MMC存储卡时,总线连接接口120为MMC接口。
主控单元200经数据处理模块206来操作周边单元100,以完成根据本发明实施例的搜寻特定内存区的方法。此外,必须了解的是主控单元200亦包含其它组件,例如:处理器、操作系统...等。在本实施例中,主控单元200与周边单元100之间所有指令与数据的传递皆会通过高速缓存212。此外,上述主控单元200可为个人计算机、移动电话、笔记型计算机、个人数字助理机(PDA)….等。
基此,在主控单元200在对上述含有智能卡芯片140的周边单元100进行操作时,控制器110配合主控单元200的数据处理模块206能够正确地将数据或指令传送至智能卡芯片140,并无误地将智能卡芯片140的响应信息传递至主控单元200。以下将配合图3和图4详细说明控制器110与主控单元200之间所执行数据传送程序的流程。其中,图3是根据本发明第一实施例绘示主控单元200运作时的流程图,而图4是根据本发明第一实施例绘示周边单元100运作时的流程图。
请先参照图3,每当主控单元200要传送数据至智能卡芯片140之前,主控单元200会先获得或产生一写入标识(write token)WT,并记录该写入标识WT(步骤S301)。其中,写入标识WT可依一设定原则产生,如依序、随机数或是依据一系统时间产生,故一般说来,在每次主控单元200欲传送数据至智能卡芯片140时,主控单元200所获得的写入标识WT大多会彼此不同。此外,当主控单元200传送写入指令至智能卡芯片140时,写入标识WT会随着写入指令被传送到控制器110,且写入标识WT亦会被包含在回传至主控单元200的数据串中。主控单元200的数据处理模块206会比较传送至控制器110的写入标识是否与控制器110所回传的写入标识一致,以作为在判断回传资料是否正确时的依据。在另一实施例中,当主控单元200产生写入标识WT后,写入标识WT会再经编辑并随着写入指令被传送到控制器110,故当主控单元200传送写入指令至控制器110时,此编辑过的写入标识会随着写入指令被传送到控制器110,且此编辑过的写入标识亦会被包含在控制器110回传至主控单元200的数据串中。数据处理模块206会依据控制器110所回传的数据串,判断此回传数据串与主控单元200所储存的写入标识之间是否具有一对应关系,以作为在判断回传资料是否正确时的依据。在另一实施例中,主控单元200的数据处理模块206会比较传送至控制器110之编辑过的写入标识与控制器110所回传的写入标识之间是否具有一对应关系,以作为在判断回传资料是否正确时的依据。此外,在另一实施例,写入标识可在传送至控制器110时,经微处理单元110a编辑后再储存于缓冲存储器110c或非挥发性内存130,并将编辑过的写入标识加入到回传至主控单元200的数据串中。
之后,在主控单元200传送数据或指令至周边单元100的智能卡芯片140之前,主控单元200会将所欲传送数据或指令与一特定标记502及写入标识WT合并,以形成数据串(步骤S303)。如图5所示,在本实施例中,主控单元200传送至控制器110的数据或指令504为一指令-应用程序协议数据单元(Command-Application Protocol Data Unit,C-APDU),而C-APDU 504与特定标记502以及写入标识506合并后,即可形成数据串500,以作为主控单元200与智能卡芯片140之间的联系之用。然而须注意的,在本发明周边单元100不具有非挥发性内存130的其它实施例中,数据串500可不具有特定标记502。亦即,对这些不具有非挥发性内存130的实施例而言,特定标记502不必包含在数据串500当中。换言之,在上述不具有非挥发性内存130的实施例,当进行步骤S303时,只须合并C-APDU 504与写入标识506,以形成数据串500。在本实施例中,特定标记502是位于数据串500的数个最高有效字符(Most Significant Bit,MSB)而形成在C-APDU 504之前,写入标识506则位于数据串500的数个最低有效字符(Least Significant Bit,LSB)而形成在C-APDU 504之后。然而,须注意的,特定标记502和写入标识506在数据串500中的位置并不以此为限,例如:在本发明的另一个实施例中,可使用一编码器,将特定标记502和写入标识506的各个位分散在数据串500之中,之后在使用相同的编码器从数据串500中取出特定标记502和写入标识506。另外,在本发明的一实施例中,特定标记502和写入标识506位于数据串500的同一端;在本发明的另一实施例中,特定标记502位于数据串500的右端,而写入标识506位于数据串500的左端。此外,在另一实施例中,特定标记是由控制器110依据欲传送数据或指令的地址产生。在另一实施例中,主控单元200将所欲传送数据或指令与写入标识WT合并以形成数据串后传送至控制器110,而在所传送的指令(如读取指令或写入指令)中具有数据读取地址或数据写入地址,控制器110则于接收到主控单元200所传送的指令后,依据指令中的地址对相对应的地址执行相关的操作(读取或写入)。此外,由于智能卡芯片140及非挥发性内存130具有不同的地址区段,故在本实施例中,无需产生该特定标记502。
另须说明的,在本实施例中,倘若主控单元200存取的对象为非挥发性内存130而不是智能卡芯片140的话,则上述的特定标记502及写入标识506并不会被并入至主控单元200传送给控制器110的数据串中。在后面的说明中,将会进一步地说明控制器110如何依据所接收到的数据串中是否含有上述的特定标记502,来判断数据串所要传送的目的地是非挥发性内存130亦或是智能卡芯片140。
当数据串500形成之后,主控单元200会借助写入指令,将数据串500传送至周边单元100的控制器110(步骤S 305)。亦即,主控单元200会传送写入指令至周边单元100,而此一写入指令被设定为将数据串500写入至周边单元100。
当数据串500被传送到控制器110之后,主控单元200会依序地传送多个读取指令至周边单元100的控制器110,直到该主控单元自周边单元100接收到智能卡芯片140所产生的响应信息为止。其中,上述每一个读取指令被设定为读取周边单元100的多个逻辑区块B1至BN当中的一逻辑区块的数据。在本发明中,上述多个逻辑区块B1至BN可以属于单一特定档案,或属于多个特定档案。此外,上述多个逻辑区块B1至BN中的每一个逻辑区块具有相同的容量。请参考图3,在将多个读取指令传送到周边单元100之前,主控单元200的数据处理模块206会设定指针BP,以将指针BP指向上述多个逻辑区块B1至BN当中的一逻辑区块BS(步骤S307)。其中,逻辑区块BS在本文中被定义为「启始逻辑区块」,用以表示第一个被执行的读取指令所对应的逻辑区块。须说明的,启始逻辑区块BS可以是多个逻辑区块B1至BN当中的任何一个逻辑区块。举例来说,本发明的部分实施例中将启始逻辑区块BS设定为第一个逻辑区块B1,而在本发明的另外部分实施例中从多个逻辑区块B1至BN当中随机地选出一个逻辑区块作为启始逻辑区块BS。当将指针BP设定为启始逻辑区块BS之后,主控单元200会传送一读取指令(步骤S309),而此一读取指令被设定读取指针BP所指向的逻辑区块中读取数据。另须说明的,在主控单元200传送该读取指令之前,数据管理模块206会先确认该高速缓存212是否已经储存有指针BP所指向的逻辑区块的数据,若有,则数据管理模块206会直接从高速缓存212中读取,而不会再从周边单元100读取。另一方面,倘若高速缓存212尚未储存有指针BP所指向的逻辑区块的数据,则步骤S309中的读取指令则会传送到周边单元100的控制器110,并由控制器110执行。在本实施例中,当控制器110接收到主控单元200所输出的读取指令之后,控制器110会先判断此读取指令是否被设定为读取上述多个逻辑区块B1至BN的数据,而倘若该读取指令被设定为读取上述多个逻辑区块B1至BN的数据,控制器110是由一缓存器中直接产生一预设格式(pattern)的数据(例如所有位全为零的数据),以减少因读取数据而耗费的时间。
请再参考图3,主控单元200的数据处理模块206由周边单元100或高速缓存212得到的所需读取地址所对应的数据串(步骤S311),其中,上述回传的数据串中包含有上述的写入标识WT。详言之,当微处理单元110a接收到包含有写入标识WT的数据串500时,会储存其中的写入标识WT,之后当微处理单元110a响应主控单元200所传送的读取指令时,会将所储存的写入标识WT加到要回传的数据串内。请参考图6,图6为微处理单元110a回传至数据处理模块206的数据串600的数据结构图。数据串600包含有一数据区602,以及一写入标识区604,其中数据区602用来记载智能卡芯片140所产生的信息或记载上述预设格式的数据,而写入标识区604则是用来记载上述的写入标识WT。如图6所示,写入标识区604位于数据区602之后。然而,本发明并不以此为限,例如:在本发明的另一实施例中,写入标识区604位于数据区602之前。
当主控单元200的数据处理模块206在步骤S311中接收到回传的数据串600后,会从回传的数据串600中取出写入标识WT(步骤S313)。其中,从回传的数据串600中所取出写入标识WT可以是编辑过或是未编辑过的。之后,在步骤S315中,主控单元200的数据处理模块206会判断相对应该读取指令之数据串600中的写入标识WT是否与主控单元200所储存的写入标识WT一致。倘若上述两写入标识WT彼此一致,则进行步骤S319;而倘若上述两写入标识WT并不一致,则进行步骤S317。一般说来,在不重新启动数据处理模块206的情况下,微处理单元110a所回传的数据串600中的写入标识WT大多会与主控单元200所储存的写入标识WT一致。然而,因为主控单元200具有高速缓存212的缘故,高速缓存212中会存有先前微处理单元110a所回传的数据串,而当数据处理模块206被重新启动,而使得主控单元200所记录的写入标识WT有所变动后,即很有可能会发生主控单元200所记录的写入标识WT与回传的数据串600中的写入标识WT彼此不一致的情形。因此,在步骤S315中,倘若回传的数据串600中的写入标识WT与主控单元200所储存的写入标识WT并不一致,则此回传的数据串600即可被判定为是高速缓存212所暂存的旧有数据,而非由控制器100因响应当次读取指令所产生的新响应信息。
在上述步骤S315中,数据处理模块206判断回传的数据串600中的写入标识WT是否与主控单元200所储存的写入标识WT一致,其目的在本质上是要判断回传数据串600与主控单元200所储存的写入标识WT之间是否具有一对应关系,或是判断回传的数据串600中的写入标识WT与主控单元200所储存的写入标识WT之间是否具有一对应关系。其中,对于未经数据处理模块206或微处理单元110a编辑过的写入标识WT而言,数据处理模块206可直接比较回传的数据串600中的写入标识WT是否与主控单元200所储存的写入标识WT一致,以判断上述的对应关系是否存在。详言之,倘若回传的数据串600中的写入标识WT与主控单元200所储存的写入标识WT一致,则表示上述的对应关系存在;反之,若两写入标识WT并不一致,则表示上述的对应关系并不存在。此外,对于曾被数据处理模块206或微处理单元110a编辑过的写入标识WT来说,当数据处理模块206于步骤S315中判断前述对应关系是否存在时,数据处理模块206会先将从回传数据串600中所取出写入标识WT经由逆编辑程序还原为原先未被编辑前的写入标识,之后再比较还原后的写入标识是否与主控单元200所储存的写入标识WT一致,而倘若还原后的写入标识WT与主控单元200所储存的写入标识WT一致,则表示上述的对应关系存在;反之,若还原后的写入标识与主控单元200所储存的写入标识WT并不一致,则表示上述的对应关系并不存在。当判断出上述对应关系存在后,会进行步骤S319;反之,则进行步骤S317。
在步骤S317中,主控单元200的数据处理模块206会重新设定指针BP,以重复执行步骤S311~S319。至于如何重新设定指针BP,将会在后续的说明中详加说明。
在步骤S319中,主控单元200的数据处理模块206会判断回传的数据串600的数据区602内的数据是否与上述的预设格式一致。倘若数据串600的数据区602内的数据全部与上述的预设格式一致,则表示控制器110的微处理单元110a尚未接收到智能卡芯片140的响应信息,而会进行步骤S317;而相对的,倘若数据串600的数据区602内的数据与上述的预设格式并不一致,则表示控制器110的微处理单元110a可能已经接收到智能卡芯片140的响应信息,而会进行步骤S321,以将所回传的数据串600的数据区501内的数据视为智能卡芯片140所产生的响应信息。
即使数据串600的数据区602内的数据并不是上述的预设格式,只要主控单元200所记录的写入标识WT与回传的数据串600中的写入标识WT之间并无上述的对应关系,主控单元200的数据处理模块206仍不会将所接收到的数据串600之数据区602内的数据视为智能卡芯片140的响应信息。故就数据的正确性而言,由步骤S317中对于写入标识WT的比对动作,可避免主控单元200的数据处理模块206将高速缓存212先前所暂存的数据误认为由智能卡芯片140所产生的响应信息。举例来说,假设在主控单元200开机至关机的期间,数据处理模块206先后被启动两次。在前一次数据处理模块206启动期间,主控单元200经上述步骤S301~S311从智能卡芯片140接收到响应信息,而此一响应信息在数据处理模块206重新被启动后仍存于高速缓存212中。在此情况下,倘若重新启动的数据处理模块206在传送信息至智能卡芯片140并等待智能卡芯片140的响应信息的期间并不进行步骤S315的判断的话,则主控单元200的数据处理模块206即可能会将暂存在高速缓存212的前次响应信息误认为本次的响应信息,而导致数据上的错误。换言之,由步骤S315的判断动作,数据处理模块206即可区别所接收到的响应信息是本次的响应信息还是高速缓存212所暂存的前次响应信息,进而使得数据的准确性会大幅地提高。
当主控单元200的数据处理模块206确认所接收到的响应信息是本次的响应信息后,数据处理模块206即会将所接收到的数据串600的数据区602内的数据视为智能卡芯片140的响应信息(步骤S321)。
相对于图3所绘示的主控单元200与一智能卡芯片140运作时的流程,周边单元100与该主控单元200的运作流程则可参考图4。首先,当周边单元100开始运作时,控制器110的微处理单元110a会取得关于上述多个逻辑区块B1至BN的地址信息(步骤S401),以作为后续比对主控单元200所传送的读取指令之用。之后,控制器110即可开始接收主控单元200所输出的写入指令(步骤S403),其中该写入指令被设定为写入第一数据串至周边单元100,而该第一数据串可以是如图5中所示的数据串500或是其它的数据串。当控制器110接收到写入指令之后,即会判断该第一数据串是否含有如图5所示的特定标记502(步骤S405)。倘若第一数据串不含有特定标记502,则控制器110的微处理单元110a会依据写入指令所指派的地址,将第一数据串写入至非挥发性内存130(步骤S407);相对的,倘若第一数据串含有特定标记502,则控制器110的微处理单元110a会将第一数据串中的写入标识WT(如图5中的写入标识506)记录在缓冲存储器110c,并将特定标记502与写入标识WT从第一数据串中去除,以产生第二数据串(如图5中所示的C-APDU 504),再将第二数据串传送至智能卡芯片140(步骤S409)。如此一来,由侦测第一数据串中是否含有特定标记502,控制器110的微处理单元110a即可判断数据串应该送往非挥发性内存130或送往智能卡芯片140。须说明的,在本发明不具有非挥发性内存130的其它实施例中,因数据串500不具有特定标记502,故图4的流程中的步骤S405和S407会予以省略,且在步骤S409中即不须将特定标记502从数据串500除去,而直接将数据串500的至少一部份传送到智能卡芯片140。另须说明的,在本发明的另一个实施例中,上述的第二数据串即为上述的第一数据串。换言之,微处理单元110a不会将特定标记502或写入标识WT从第一数据串中去除,而是将第一数据串直接转送到智能卡芯片140。之后,智能卡芯片140再从所接收到的第一数据串辨识出特定标记502、C-APDU 504和写入标识WT。此外,本实施例中,第一数据串中的写入标识WT除如上所述会记录在缓冲存储器110c之外。在本发明的另一实施例中,微处理单元110a会将第一数据串中的写入标识WT记录在非挥发性内存130。
当第二数据串被送往智能卡芯片140之后,控制器110的微处理单元110a即会等待接收主控单元200所传送过来的读取指令(步骤S411),其中上述的读取指令包含但不限于主控单元200在图3步骤S309所传送的读取指令。之后,控制器110的微处理单元110a会判断所接收的读取指令所指派的地址是否属于上述的逻辑区块B1至BN(步骤S413),亦即微处理单元110a会判断所接收的读取指令是否被设定为读取上述多个逻辑区块B1至BN的数据。若上述读取指令所指派的地址并非属于逻辑区块B1至BN,则微处理单元110a会依据读取指令所指派的地址读取对应的数据(步骤S415),并将数据传送至主控单元200;相对的,若上述读取指令所指派的地址属于上述的单一特定档案,则微处理单元110a会再判断使否已经接收到智能卡芯片140的响应信息(步骤S417),而在本实施例中,此响应信息为智能卡芯片140因接收到上述的第二数据串而产生,并且为一响应-应用程序协议数据单元(Response-Application Protocol Data Unit,R-APDU)。在步骤S417中,倘若微处理单元110a已经接收到智能卡芯片140的响应信息,则微处理单元110a会将智能卡芯片140所产生的响应信息会与记录在缓冲存储器110c(或非挥发性内存130)内的写入标识WT合并成一第一响应信息(步骤S421),再将此第一响应信息回传至主控单元200(步骤S423)。上述的第一响应信息的数据结构与图6所示数据串600的数据结构一致,其中数据区602用来记载智能卡芯片140所产生的响应信息,而写入标识区604则用来记载写入标识WT。
倘若在步骤S417中,微处理单元110a尚未接收到智能卡芯片140的响应信息,则控制器110的微处理单元110a会回传一第二响应信息至主控单元200,以响应所接收到的读取指令(步骤S419)。在本实施例中,第二响应信息的数据结构亦与图6所示数据串600的数据结构一致,其中数据区602内的数据为上述的预设格式,而写入标识区604则用来记载写入标识WT。当进行完步骤S419之后,微处理单元110a会再继续等待主控单元200的下一个读取指令,直到接收到智能卡芯片140所产生的响应信息,并回传上述的第一响应信息至主控单元200为止。
以下将就上述步骤S317中如何重新设定指针BP详加说明。请参考图3和图7A至图7C,其中图7A至图7C用以说明本发明一实施例中设定指针BP的方式。为方便说明起见,在图7A至图7C中所绘示的多个逻辑区块B1至BN依序地排列成一列。多个逻辑区块B1至BN可区分为以白色区域标示的非快取区700以及以网点标示的快取区702和704,其中上述非快取区700内的逻辑区块(例如:逻辑区块Bh)其数据尚未被储存至高速缓存212,而上述快取区702和704内的逻辑区块(例如:逻辑区块B1、B2、BN)其数据已被储存至高速缓存212。
如上所述,在步骤S315中,倘若回传的数据串600中的写入标识WT与主控单元200所储存的写入标识WT之间并无上述的对应关系,则此回传的数据串600即可被判定为高速缓存212所暂存的旧有数据,而非由控制器100因响应当次读取指令所产生的新响应信息。因此,在图3重复执行步骤S309~S317以重新设定指针BP的循环过程中,所执行的多个读取指令会读取到多个落于快取区内702和704的逻辑区块,且这些读取指令会在一个回合或多个回合内执行。如图7A至7C所示,即绘示了在寻找位于非快取区700的逻辑区块Bh的过程中,共历经了三个回合来执行读取指令。其中,读取指令会依序地在时间点t1、t2、t3、t4、t5、t6、t7、t8、t9、t10和t11被执行,以读取逻辑区块B1、Ba、Bb、Bc、B2、Bd、Bf、B3、Bg、和Bh的数据,其中逻辑区块B1、Ba、Bb、Bc、B2、Bd、Bf、B3和Bg的数据已经暂存在高速缓存212,而逻辑区块Bh的数据尚未被储存在高速缓存212。因在时间点t1所执行的第一次读取指令被设定为读取逻辑区块B1的数据,故在本实施例中,上述的启始逻辑区块BS即为逻辑区块B1。此外,在本实施例中,当步骤S317被执行时,指针BP会被设定为等于目前的指针BP再加上一间距d,而使得相继被执行的两个读取指令所对应的两个逻辑区块之间相间隔(d-1)个逻辑区块。举例来说,在时间点t1和t2所执行的两个读取指令所对应的逻辑区块分别为B1和Ba,其中逻辑区块Ba的地址等于逻辑区块B1的地址加上d个逻辑区块之数据位移,而逻辑区块B1和逻辑区块Ba之间相隔(d-1)个逻辑区块。
须说明的,在本实施例中,d会是一个大于2的整数,故(d-1)会是大于1的整数,而使得被重新设定后的指针BP所指向的逻辑区块与指针BP最近一次被重新设定前所对应的逻辑区块之间相隔多个逻辑区块B1~BN中的至少一个逻辑区块。因变量d的存在,而使得相继地被执行的读取指令所对应的两逻辑区块之间的间隔被加大,故可使搜寻到非快取区700所需花费的时间缩短。
此外,当步骤S317被执行时,倘若目前的指针BP再加上间距d后会超出最后一个逻辑区块BN的地址,则会进行下一回合的读取指令,而下一回合内被执行的读取指令所对应的多个逻辑区块的地址经目前回合内被执行的读取指令所对应的多个逻辑区块的地址皆偏移一预设逻辑区块数i后获得,其中上述预设逻辑区块数i为正整数,并可视情况调整。举例来说,图7A、图7B和图7C分别绘示在第一回合、第二回合和第三回合被执行的读取指令所对应的逻辑区块的位置,其中第二回合内所对应的多个逻辑区块B2、Bd、Be和Bf的地址经第一回合内所对应的多个逻辑区块B1、Ba、Bb和Bc的地址皆偏移预设逻辑区块数i后获得,其中i等于一。同样地,第三回合内所对应的多个逻辑区块B3、Bg和Bh的地址经第二回合内所对应的逻辑区块B2、Bd和Be的地址皆偏移预设逻辑区块数i后获得,即每一回合的起始逻辑区块地址是为上一回合之起始逻辑区块地址再偏移i个逻辑区块数。另,值得说明的是,在另一实施例中,i是大于等于一且小于d。另因在本实施例中,变量d为一定值,故每一回合内所执行的多个读取指令中,任两个连续地被执行的读取指令所对应的两逻辑区块之间的间距会是一定值。举例来说,在第一回合中,两逻辑区块B1和Ba之间的间距会等于两逻辑区块Ba和Bb之间的间距,并等于两逻辑区块Bb和Bc之间的间距。
此外,须说明的,上述多个回合依据指针BP被重新设定前后所对应的两逻辑区块的地址之间的变异量为正值或负值来区分,其中所述的变异量等于指针BP被重新设定后所对应的逻辑区块的地址减去指针BP被重新设定前所对应的逻辑区块的地址。以图7A至图7C为例,在时间点t4和t5先后被执行的两读取指令其所对应的逻辑区块分别为Bc和B2,故指针BP于时间点t5前后分别被设定为Bc和B2,又因逻辑区块B2的地址减去逻辑区块Bc后所得的变异量为负值,故可将在时间点t4和t5所执行的两个读取指令归属到不同的回合。另,又以图7B为例,在时间点t6和t7先后被执行的两读取指令其所对应的逻辑区块分别为Bd和Be,故指针BP于时间点t7前后分别被设定为Bd和Be,又因逻辑区块Be的地址减去逻辑区块Bd后所得的变异量为负值,故可将在时间点t6和t7所执行的两个读取指令归属到同一个回合。
请参考图8A和图8B,图8A和图8B用以说明本发明另一实施例中设定指针BP的方式。在本实施例中,多个逻辑区块B1至BN可区分为非快取区800以及快取区802。非快取区800内的逻辑区块其数据尚未被储存至高速缓存212,而快取区内802的逻辑区块其数据已被储存至高速缓存212。在本实施例中,每一个回合内被执行的多个读取指令其所对应的逻辑区块之间所相隔的逻辑区块的数目会依序地递减。
详言之,在本实施例中,每一个回合内被执行的多个读取指令其所对应的逻辑区块中,除该回合内第一个和最后一个被执行的读取指令所对应的两逻辑区块之外,对在该回合内任一个被执行的读取指令所对应的逻辑区块而言,此逻辑区块与前一个被执行的读取指令所对应的逻辑区块之间相隔的逻辑区块数目会小于此逻辑区块与下一个被执行的读取指令所对应的逻辑区块之间相隔的逻辑区块数目。如图8A和图8B所示,在时间点t1、t2、t3、t4、t5和t6依序地执行读取指令,以读取逻辑区块B1、Ba、Bb、B3、Bc和Bd的资料,其中间距d2小于间距d1,且第二回合中所被执行的读取指令所对应的逻辑区块B3、Bc和Bd的地址经第一回合内所被执行的读取指令所对应的多个逻辑区块B1、Ba和Bb的地址皆偏移预设逻辑区块数i后获得,其中i等于二。此外,在第一回合内,除第一个被执行的读取指令所对应的逻辑区块之外,第一回合内的每一个被执行的读取指令所对应的逻辑区块与前一个被执行的读取指令所对应的逻辑区块之间所相隔的逻辑区块数目是依据所有逻辑区块B1~BN的总数以及前一个被执行的读取指令所对应的逻辑区块位于多个逻辑区块B1~BN中的位置而决定。举例来说,因逻辑区块B1~BN的总数为N,而第一回合内之第一次被执行的读取指令所对应的逻辑区块为B1,故间距d1约等于(N-1)/2;又假设第一回合内之第二次被执行的读取指令所对应的逻辑区块Ba是逻辑区块B1~BN当中第a个逻辑区块,则间距d2会约等于(N-a)/2。其中,倘若(N-1)/2或(N-a)/2并非整数,则以四舍五入的方式取整数字,以决定间距d1和d2。
请参考图9A~图9C,图9A~图9C用以说明本发明另一实施例中设定指针BP的方式。在本实施例中,多个逻辑区块B1至BN可区分为非快取区900以及快取区902和904。非快取区900内的逻辑区块其数据尚未被储存至高速缓存212,而快取区内902和904的逻辑区块其数据已被储存至高速缓存212。在本实施例中,如图9A所示,在第一回合中,启始逻辑区块BS被设定为介于第一个逻辑区块B1与最后一个逻辑区块BN之间的第一区块。此外,如图9B所示,预计在第二回合内执行的第一个读取指令被设定为读取第一个逻辑区块B1与第一区块BS之间的第二区块Ba;而预计在第二回合内执行的第二个读取指令被设定为读取最后一个逻辑区块BN与第一区块BS之间的第三区块Bb。倘若,执行完第二回合的读取指令仍未搜寻到非快取区900内的逻辑区块,则会继续执行第三回合的读取指令,而预计在第三回合内执行的四个读取指令分别被设定为读取逻辑区块B1至BN当中第一个逻辑区块B1与第二区块Ba之间的第四区块Bc、第二区块Ba与第一区块Bs之间的第五区块Bd、第一区块Bs与第三区块Bb之间的第六区块Be,以及第三区块Bb与最后一个逻辑区块BN之间的第七区块Bf。其中,当搜寻到非快取区900内的逻辑区块后,后续所预计读取的逻辑区块的操作即不会被执行。以图9C为例,在第三回合内,因已读取到非快取区900中的第六区块Be,故预计要读取第七区块Bf的操作即不会被进行。
相较于上述实施例,任两个连续地被执行的读取指令所对应的两逻辑区块之间的间距为定值或依序地递减,在本发明的另一实施例中,每一回合内所执行的多个读取指令中,任两个连续地被执行的读取指令所对应的两逻辑区块之间的间距是变动的间距。此外,在本发明另一实施例中,被执行的多个读取指令其所对应的逻辑区块之间所相隔的逻辑区块的数目会依序地递增至一临界值为止。请参考图10和图11,图10和图11用以说明本发明另一实施例中设定指针BP的方式。在图10中,逻辑区块B1~BN被区分为非快取区1000以及快取区1002;而在图11中,逻辑区块B1~BN被区分为非快取区1100以及快取区1102和1104。非快取区1000和1100内的逻辑区块其数据尚未被储存至高速缓存212,而快取区内1002、1102和1104的逻辑区块其数据已被储存至高速缓存212。在这两实施例中,启始逻辑区块BS可设定为逻辑区块B1~BN当中的任一区块,其中,间距d1、d2和d3为变动的间距,而间距d1、d2和d3之间的关系为d1<d2<d3。此外,读取指令其所对应的逻辑区块之间所相隔的逻辑区块的数目会依序从(d1-1)递增至临界值(d3-1)为止。换言之,在每一次重新设定指针BP时,将一间距d1、d2或d3累加至指针BP,以重新设定指针BP,而倘若指针BP在累加上述间距d1、d2或d3后超出多个逻辑区块B1~BN的地址范围,则会将累加后的指针BP减去上述多个逻辑区块B1~BN的总容量,以使重新设定后的指针BP等于累加后的指针BP减去上述多个逻辑区块B1~BN的总容量。此外,随着指针BP被重新设定的先后顺序(如图10和图11中之时间点t1、t2、t3、t4、t5的顺序),累加至指针BP的间距会依序地递增至最大间距d3为止。
由上述各实施例中设定指针BP的方式可知,每一次指针BP被设定被执行的读取指令其所对应的逻辑区块会与其前一个或下一个被执行的读取指令其所对应的逻辑区块之间的间隔被加大,而达到缩短搜寻到非快取区所须耗费时间的目的。然而,须说明的,本发明的实施方式并不限于必须使任两个连续被执行的读取指令所对应的两逻辑区块之间都得至少间隔一逻辑区块。详言之,为达到缩短搜寻时间的目的,可仅加大其中部分的间隔即可,而不须全面地加大所有的间隔。换言之,在本发明的一实施例中,每一次累加至指针BP的间距至少为多个逻辑区块B1至BN中至少一个逻辑区块的容量,且所累加的各间距中至少有一间距大于或等于多个逻辑区块B1至BN之单一逻辑区块之容量的两倍。
另外,在本发明的另一实施例中,控制器110会另外将一读取标识(read token)RT加入到回传至主控单元200的响应信息中,用以进一步地确保当主控单元200产生的写入标识WT发生碰撞时,主控单元200的数据处理模块206仍可正确地判断是否接收到智慧卡140所产生的响应信息。请参考图12,图12绘示本发明另一实施例中控制器110回传至主控单元200的数据串1200的结构。数据串1200除了具有如上述数据串600的数据区602以及写入标识区604之外,另具有一读取标识区606。读取标识区606用来记载控制器110之微处理单元110a所产生的读取标识RT。此外,数据区602和写入标识区604的作用在上述说明中已经阐述过,在此不再赘述。虽然,图12中所示的读取标识区606位于写入标识区604之后,但本发明并不以此为限。例如:写入标识区604和读取标识区606在数据串1200上的位置可以互换,或是写入标识区604和读取标识区606可分别位于数据串1200的两端或皆位于数据串1200的同一端。
请参考图13,图13是根据本发明第二实施例周边单元100运作时的流程图。图13的流程大致上与图4的流程相同,而两流程之间的不同点在于图13的流程中多了步骤S418,且图4中的步骤S409、S419和S421分别以图13中的步骤S409’、S419’和S421’代替。在步骤S409中,当控制器110判断所接收到的第一数据串中含有要传送到智能卡芯片140后,会将读取标识RT设定为初始的读取标识Ri。在步骤S418中,则会将读取标识RT累加一差异值ΔRT。之后,在步骤S419’中,则会将目前的读取标识RT加到欲传回主控单元200的第二响应信息1200的读取标识区606当中。此外,在步骤S421’中,智能卡芯片140所产生的响应信息会与写入标识WT以及读取标识RT合并成第一响应信息。
请参考图14,图14是根据本发明第二实施例主控单元200运作时的流程图。图14的流程大致上与图3的流程相同,而两流程之间的不同点在于图14的流程中多了步骤S316和S318,且图3中的步骤S313以图14中的步骤S313’代替。在步骤S313’中,除了会从回传的数据串600中取出写入标识WT之外,亦会从回传的数据串600中取出读取标识RT,并令参数RT(t)等于所取出的读取标识RT。其中,参数RT(t)用以表示目前主控单元200所取出的读取标识RT。此外,另一参数RT(t-1)则用以表示主控单元200前一次所取出的读取标识。在步骤316’中,主控单元200的数据处理模块206会判断所取出的读取标识RT是否与主控单元前一次所取出的读取标识相差默认值ΔRT,亦即判断参数RT(t)的值是否等于参数RT(t-1)的值与默认值ΔRT的和。倘若RT(t)=[RT(t-1)+ΔRT],则会进行步骤S319;反之,倘若RT(t)不等于[RT(t-1)+ΔRT],则会进行步骤S317。在步骤S318’中,会使参数RT(t-1)等于最近一次所取出的读取标识RT,以在取下一个读取标识RT之前,更新参数RT(t-1)所欲表示的主控单元200前一次所取出的读取标识RT的值。
综上所述,本发明在从周边单元中搜寻其数据未被储存至主控单元之高速缓存的逻辑区块时,会以跳跃多个逻辑区块的方式设定读取指令所对应的逻辑区块地址,以加速搜寻非快取区的过程。如此一来,使主之高速缓存的逻辑区块时,会以跳跃多个逻辑区块的方式设定读取指令所对应的逻辑区块地址,以加速搜寻非快取区的过程。如此一来,使主控单元即得以迅速地避开其数据已存放在高速缓存的逻辑区块,并进而提升主控单元与周边单元芯片之间的传输效率。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案而非限制。尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者替换不脱离本发明技术方案的精神和范围。

Claims (30)

1.一种搜寻特定内存区的方法,用以从一周边单元中搜寻其数据未被储存至一主控单元的高速缓存的逻辑区块,该主控单元连接该周边单元,该方法包括:
(a)该主控单元设定一指针,该指针针指向该周边单元的多个逻辑区块中的一逻辑区块;
(b)执行一读取指令,该读取指令设定为从该指针所指向指向的逻辑区块中读取数据;
(c)该主控单元接收一回传数据串,其中该回传数据串因执行该读取指令而产生;
(d)该主控单元从该回传数据串中取出一写入标识;
(e)该主控单元判断所取出的该写入标识与该主控单元所储存的写入标识之间是否具有一对应关系;以及
(f)倘若所取出的该写入标识与该主控单元所储存的该写入标识之间无该对应关系,则重新设定该指针,并重复执行步骤(b)、(c)、(d)和(e),直到在重复执行的步骤(d)中所取出的另一写入标识在重复执行的步骤(e)中被判断为与该主控单元所储存的该写入标识之间具有该对应关系为止,其中被重新设定后的该指针所指向的逻辑区块与该指针最近一次被重新设定前所对应的逻辑区块之间相隔该多个逻辑区块中的至少一个逻辑区块。
2.如权利要求1所述的方法,其中步骤(d)另包括从该回传数据串中取出一读取标识,而该方法另包括:
(g)该主控单元判断所取出的该读取标识是否与该主控单元前一次所取出的一读取标识相差一默认值;以及
(h)倘若所取出的该读取标识与该主控单元前一次所取出的读取标识不相差该默认值,则重新设定该指针,并重复执行步骤(b)、(c)、(d)、(e)、(f)和(g),直到在重复执行的步骤(d)中所取出的读取标识在重复执行的步骤(g)被判断为与该主控单元前一次所取出的读取标识相差该默认值为止。
3.如权利要求1所述的方法,其中所有被执行的读取指令在多个回合内被执行,而该多个回合依据该指针被重新设定前后所指向的两逻辑区块的地址之间的变异量为正值或负值来区分。
4.如权利要求3所述的方法,其中每一回合内所执行的多个读取指令中,任两个连续地被执行的读取指令所对应的两逻辑区块之间的间距为一定值。
5.如权利要求4所述的方法,其中该多个回合包括一第一回合和一第二回合,而在该第二回合内被执行的读取指令所对应的多个逻辑区块的地址经该第一回合内被执行的读取指令所对应的多个逻辑区块的地址皆偏移一预设逻辑区块数后获得。
6.如权利要求3所述的方法,其中每一个回合内被执行的多个读取指令其所对应的逻辑区块中,除该回合内第一个和最后一个被执行的读取指令所对应的两逻辑区块之外,对在该回合内任一个被执行的读取指令所对应的逻辑区块而言,该逻辑区块与前一个被执行的读取指令所对应的逻辑区块之间相隔的逻辑区块数目小于该逻辑区块与下一个被执行的读取指令所对应的逻辑区块之间相隔的逻辑区块数目。
7.如权利要求6所述的方法,其中该多个回合包括一第一回合和一第二回合,而在该第二回合内第一个被执行的读取指令所对应的逻辑区块的地址经该第一回合内第一个被执行的读取指令所对应的逻辑区块的地址偏移一预设逻辑区块数后获得。
8.如权利要求6所述的方法,其中在第一回合内,除第一个被执行的读取指令所对应的逻辑区块之外,在该第一回合内的每一个被执行的读取指令所对应的逻辑区块与前一个被执行的读取指令所对应的逻辑区块之间所相隔的逻辑区块数目依据该多个逻辑区块的总数以及前一个被执行的读取指令所对应的该逻辑区块位于该多个逻辑区块中的位置决定。
9.如权利要求3所述的方法,其中在该多个回合的第一回合内所执行的单一个读取指令设定为:读取该多个逻辑区块当中第一个逻辑区块与最后一个逻辑区块之间的一第一区块,而预计在该多个回合的第二回合内执行的两个读取指令分别被设定为读取该多个逻辑区块当中第一个逻辑区块与该第一区块之间的一第二区块,以及最后一个逻辑区块与该第一区块之间的一第三区块。
10.如权利要求9所述的方法,其中预计在该多个回合的第三回合内执行的四个读取指令分别被设定为读取该多个逻辑区块当中第一个逻辑区块与该第二区块之间的一第四区块、该第二区块与该第一区块之间的一第五区块、该第一区块与该第三区块之间的一第六区块,以及该第三区块与最后一个逻辑区块之间的一第七区块。
11.如权利要求3所述的方法,其中每一回合内所执行的多个读取指令中,任两个连续地被执行的读取指令所对应的两逻辑区块之间的间距是变动的间距。
12.如权利要求1所述的方法,其中在每一次重新设定该指针时,将一间距累加至该指针,以重新设定该指针,而倘若该指针在累加该间距后超出该多个逻辑区块的地址范围,则重新设定后的该指针等于累加后的该指针减去该多个逻辑区块的总容量。
13.如权利要求12所述的方法,其中该间距为变动的间距。
14.如权利要求13所述的方法,其中该间距随该指针被重新设定的先后顺序,依序地递增至一最大间距。
15.如权利要求1所述的方法,其中该主控单元与该周边单元之间所有指令与数据的传递皆通过该高速缓存。
16.如权利要求1所述的方法,其中当所取出的该写入标识与该主控单元所储存的该写入标识之间具有该对应关系时,所取出的该写入标识会与该主控单元所储存的该写入标识一致。
17.一种主控单元,连接至一周边单元,该主控单元包括:
一高速缓存,用以储存数据;以及
一数据处理模块,用以从该周边单元中搜寻其数据未被储存至该高速缓存的逻辑区块;
其中该数据处理模块设定一指针,以将该指针指向指向该周边单元的多个逻辑区块当中的一逻辑区块,之后该数据处理模块接收一回传数据串,该回传数据串因执行一读取指令而产生,而该读取指令被设定为从该指针所指向的逻辑区块中读取数据;
其中该数据处理模块从该回传数据串中取出一写入标识,并判断所取出的该写入标识与该主控单元所储存的写入标识之间是否具有一对应关系,而倘若所取出的该写入标识与该主控单元所储存的该写入标识之间无该对应关系,则重新设定该指针,直到该数据处理模块从后续所接收到的回传数据串中取出与该主控单元所储存的该写入标识之间具有该对应关系的写入标识为止,而该数据处理模块后续所接收到的每一回传数据串因执行后续的读取指令而产生,而每一后续的读取指令被设定为从重新设定后的该指针所指向指向的逻辑区块中读取数据;
其中被重新设定后的该指针所指向的逻辑区块与该指针最近一次被重新设定前所指向的逻辑区块之间相隔该多个逻辑区块中的至少一个逻辑区块。
18.如权利要求17所述的主控单元,其中倘若所取出的该写入标识与该主控单元所储存的该写入标识之间具有该对应关系,则该数据处理模块另从该回传数据串中取出一读取标识,并进一步地判断该读取标识是否与该数据处理模块所取出的前一个读取标识相差一默认值,而倘若所取出的该读取标识与该数据处理模块所取出的前一个读取标识不相差该默认值,则重新设定该指针,直到该数据处理模块从后续所接收到的回传数据串中取出与前一个读取标识相差该默认值的读取标识为止。
19.如权利要求17所述的主控单元,其中所有被执行的读取指令在多个回合内被执行,而该多个回合依据该指针被重新设定前后所指向的两逻辑区块的地址之间的变异量为正值或负值来区分。
20.如权利要求19所述的主控单元,其中每一回合内所执行的多个读取指令中,任两个连续地被执行的读取指令所对应的两逻辑区块之间的间距为一定值。
21.如权利要求20所述的主控单元,其中该多个回合包括一第一回合和一第二回合,而在该第二回合内被执行的读取指令所对应的多个逻辑区块的地址经该第一回合内被执行的读取指令所对应的多个逻辑区块的地址皆偏移一预设逻辑区块数后获得。
22.一种数据处理系统,包括:
一周边单元;以及
一主控单元,连接该周边单元,该主控单元包括一高速缓存以及一数据处理模块,该高速缓存用以储存数据,而该数据处理模块用以从该周边单元中搜寻其数据未被储存至该高速缓存的逻辑区块;
其中该数据处理模块设定一指针,以将该指针指向指向到该周边单元的多个逻辑区块当中的一逻辑区块,之后该数据处理模块接收一回传数据串,该回传数据串因执行一读取指令而产生,而该读取指令被设定为从该指针所指向指向的逻辑区块中读取数据;
其中该数据处理模块从该回传数据串中取出一写入标识,并判断所取出的该写入标识与该主控单元所储存的写入标识之间是否具有一对应关系,而倘若所取出的该写入标识与该主控单元所储存的该写入标识之间无该对应关系,则重新设定该指针,直到该数据处理模块从后续所接收到的回传数据串中取出与该主控单元所储存的该写入标识之间具有该对应关系的写入标识为止,而该数据处理模块后续所接收到的每一回传数据串因执行后续的读取指令而产生,而每一后续的读取指令被设定为从重新设定后的该指针所指向指向的逻辑区块中读取数据;
其中被重新设定后的该指针所指向的逻辑区块与该指针最近一次被重新设定前所指向的逻辑区块之间相隔该多个逻辑区块中的至少一个逻辑区块。
23.如权利要求22所述的数据处理系统,其中该周边单元包括:
一总线连接接口,连接该主控单元,用以从该主控单元接收指令和数据;以及
一微处理单元,连接该总线连接接口,用以执行该总线连接接口从该主控单元所接收的指令。
24.如权利要求23所述的数据处理系统,其中该周边单元更包括:
一非挥发性内存,用以储存数据;以及
一内存接口,连接于该非挥发性内存与该微处理单元之间,用以存取该非挥发性内存。
25.一种搜寻特定内存区的方法,其由一主控单元执行以在一周边单元中搜寻特定内存区,其中该主控单元连接一周边单元,且该主控单元储存一写入标识,该方法包括:
(a)设定一指针,该指针对应到该周边单元的多个逻辑区块中的一逻辑区块;
(b)执行一读取指令,其中该读取指令设定从该指针所指向指向的逻辑区块中读取数据;
(c)接收一回传数据串,其中该回传数据串因执行该读取指令而产生;
(d)依据该回传数据串判断该回传数据串与该写入标识之间是否具有一对应关系;以及
(e)倘若该回传数据串与该写入标识之间无该对应关系,则将一间距累加至该指针,以重新设定该指针,并重复执行步骤(b)、(c)和(d),直到所接收之回传数据串与该写入标识之间具有该对应关系为止;
其中每一次累加至该指针的该间距至少为该多个逻辑区块中至少一个逻辑区块的容量,且所累加的各间距中至少有一间距大于或等于该多个逻辑区块之单一逻辑区块之容量的两倍。
26.如权利要求25所述的方法,其中该多个逻辑区块中的每一个逻辑区块具有相同的容量。
27.如权利要求25所述的方法,其中步骤(d)包括从该回传数据串中取出另一写入标识,而当所取出的该写入标识与该主控单元所储存的该写入标识一致时,即判断该回传数据串与该写入标识之间具有该对应关系。
28.一种主控单元,连接至一周边单元,该主控单元包括:
一高速缓存,用以储存数据;以及
一数据处理模块,用以从该周边单元中搜寻其数据未被储存至该高速缓存的逻辑区块;
其中该数据处理模块设定一指针,以将该指针指向指向到该周边单元的多个逻辑区块当中的一逻辑区块,之后该数据处理模块接收一回传数据串,该回传数据串因执行一读取指令而产生,而该读取指令被设定为从该指针所指向的逻辑区块中读取数据;
其中该数据处理模块依据该回传数据串判断该回传数据串与该写入标识之间是否具有一对应关系,而倘若该回传数据串与该写入标识之间无该对应关系,则将一间距累加至该指针,以重新设定该指针,直到所接收之回传数据串与该写入标识之间具有该对应关系为止,而该数据处理模块后续所接收到的每一回传数据串因执行后续的读取指令而产生,而每一后续的读取指令被设定为从重新设定后的该指针所指向的逻辑区块中读取数据;
其中每一次累加至该指针的该间距至少为该多个逻辑区块中至少一个逻辑区块的容量,且所累加的各间距中至少有一间距大于或等于该多个逻辑区块之单一逻辑区块之容量的两倍。
29.如权利要求28所述的主控单元,其中该数据处理模块从该回传数据串中取出另一写入标识,而当所取出的该写入标识与该主控单元所储存的该写入标识一致时,该数据处理模块即判断该回传数据串与该写入标识之间具有该对应关系。
30.一种数据处理系统,包括:
一周边单元;以及
一主控单元,连接该周边单元,该主控单元包括一高速缓存以及一数据处理模块,该高速缓存用以储存数据,而该数据处理模块用以从该周边单元中搜寻其数据未被储存至该高速缓存的逻辑区块;
其中该数据处理模块设定一指针,以将该指针指向到该周边单元的多个逻辑区块当中的一逻辑区块,之后该数据处理模块接收一回传数据串,该回传数据串因执行一读取指令而产生,而该读取指令被设定为从该指针所指向的逻辑区块中读取数据;
其中该数据处理模块依据该回传数据串判断该回传数据串与该写入标识之间是否具有一对应关系,而倘若该回传数据串与该写入标识之间无该对应关系,则将一间距累加至该指针,以重新设定该指针,直到所接收之回传数据串与该写入标识之间具有该对应关系为止,而该数据处理模块后续所接收到的每一回传数据串因执行后续的读取指令而产生,而每一后续的读取指令被设定为从重新设定后的该指针所指向的逻辑区块中读取数据;
其中每一次累加至该指针的该间距至少为该多个逻辑区块中至少一个逻辑区块的容量,且所累加的各间距中至少有一间距大于或等于该多个逻辑区块之单一逻辑区块之容量的两倍。
CN2009101292701A 2009-04-03 2009-04-03 数据处理系统、控制器及其搜寻特定内存区的方法 Active CN101853216B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009101292701A CN101853216B (zh) 2009-04-03 2009-04-03 数据处理系统、控制器及其搜寻特定内存区的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101292701A CN101853216B (zh) 2009-04-03 2009-04-03 数据处理系统、控制器及其搜寻特定内存区的方法

Publications (2)

Publication Number Publication Date
CN101853216A true CN101853216A (zh) 2010-10-06
CN101853216B CN101853216B (zh) 2012-05-23

Family

ID=42804718

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101292701A Active CN101853216B (zh) 2009-04-03 2009-04-03 数据处理系统、控制器及其搜寻特定内存区的方法

Country Status (1)

Country Link
CN (1) CN101853216B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103914391B (zh) * 2013-01-07 2016-12-28 群联电子股份有限公司 数据读取方法、存储器控制器与存储器存储装置
CN109697017A (zh) * 2017-10-20 2019-04-30 上海宝存信息科技有限公司 数据储存装置以及非挥发式存储器操作方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004021259A1 (en) * 2002-08-30 2004-03-11 Nokia Corporation A method for creating multimedia messages with rfid tag information
JP5071016B2 (ja) * 2006-10-23 2012-11-14 富士通株式会社 Rfidタグの応答制御方法、rfidシステム、rfidタグ、応答制御情報生成プログラム及び応答制御プログラム
TW200828877A (en) * 2006-12-28 2008-07-01 Phison Electronics Corp Monitor apparatus for communication terminal

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103914391B (zh) * 2013-01-07 2016-12-28 群联电子股份有限公司 数据读取方法、存储器控制器与存储器存储装置
CN109697017A (zh) * 2017-10-20 2019-04-30 上海宝存信息科技有限公司 数据储存装置以及非挥发式存储器操作方法
CN109697017B (zh) * 2017-10-20 2022-03-15 上海宝存信息科技有限公司 数据储存装置以及非挥发式存储器操作方法

Also Published As

Publication number Publication date
CN101853216B (zh) 2012-05-23

Similar Documents

Publication Publication Date Title
TWI406130B (zh) 資料處理系統、控制器及其搜尋特定記憶體區的方法
TWI596486B (zh) 記憶體儲存裝置、記憶體控制器及資料串傳送與識別方法
US20180232146A1 (en) Method and apparatus for memory management
TWI397821B (zh) 資料串傳送方法、系統及其控制器
US20100115184A1 (en) Flash memory storage system and controller and data protection method thereof
US8769309B2 (en) Flash memory storage system, and controller and method for anti-falsifying data thereof
TWI459202B (zh) 資料處理方法、記憶體控制器與記憶體儲存裝置
CN108733577B (zh) 存储器管理方法、存储器控制电路单元及存储器存储装置
CN104011689A (zh) 非易失性存储器损耗管理
CN107818808A (zh) 数据写入方法、存储器控制电路单元与存储器存储装置
US20110022746A1 (en) Method of dispatching and transmitting data streams, memory controller and memory storage apparatus
CN104142979B (zh) 一种实现rfid标签存储管理的索引方法
CN103218300B (zh) 数据处理方法、存储器控制器与存储器储存装置
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
CN101609392B (zh) 数据串传送分派方法、系统及其控制器
CN101853216B (zh) 数据处理系统、控制器及其搜寻特定内存区的方法
CN103116470B (zh) 存储器储存装置、存储器控制器及数据串传送与识别方法
CN101131649A (zh) 设有闪存的装置的只读存储器升级速度改善方法
CN102034305A (zh) 复合应用业务处理方法及智能卡
CN102591738B (zh) 数据管理方法、存储器控制器与嵌入式存储器储存装置
CN101788970B (zh) 数据串传送方法、系统及其控制器
CN110119252B (zh) 一种通用闪存存储存储阵列的管理方法及装置
CN110162490B (zh) 高速缓冲管理设备、系统和方法
US20090313396A1 (en) System, controller and method thereof for transmitting and distributing data stream
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