快闪存储器储存装置、其控制器与写入管理方法

文档序号:6599611阅读:148来源:国知局
专利名称:快闪存储器储存装置、其控制器与写入管理方法
技术领域
本发明涉及一种快闪存储器的应用,特别是涉及一种管理快闪存储器的写入操作的方法以及使用此方法的快闪存储器控制器与快闪存储器储存装置。
背景技术
一般来说,快闪存储器储存装置中的快闪存储器芯片(chip)会被划分为多个实体区块(block),而每个实体区块还被划分为多个实体页面(page)。其中,实体区块是快闪存储器的最小擦除(erase)单位,实体页面则是快闪存储器的最小写入(program)单位。由于在对快闪存储器的存储单元进行编程时,仅能将存储单元的值由1编程为0, 因此无法将数据直接写入已被编程过的实体页面。换句话说,必须先将已储存有数据的页面擦除之后才可重新编程该页面。然而,正因快闪存储器的擦除是以实体区块为单位,故在需要对存有旧数据的实体页面执行擦除运作时,必须将此实体页面所属的整个实体区块进行擦除。基于快闪存储器是以实体页面作为写入单元,并以实体区块作为擦除单元的这项特性,快闪存储器芯片中的实体区块大致上会被区分为数据区(data area)与备用区 (spare area)。其中,属于数据区的实体区块是已被用来储存数据的实体区块,而属于备用区的实体区块则是未被使用的实体区块。当主机欲将数据写入至快闪存储器储存装置时, 快闪存储器储存装置的控制电路会从备用区中提取实体区块来写入数据,并且将所提取的实体区块关联至数据区。并且,在将对数据区的实体区块执行擦除运作之后,将已擦除的实体区块关联至备用区。

发明内容
本发明提供一种快闪存储器的写入管理方法,用以确保写入指令能在规定的时限内完成。本发明提供一种快闪存储器储存装置,其所执行的快闪存储器的写入管理方法能确保写入指令可在规定的时限内完成。本发明提供一种快闪存储器控制器,其所执行的快闪存储器的写入管理方法能确保写入指令能在规定的时限内完成。本发明提出一种快闪存储器的写入管理方法,用于至少存在第一执行线程与第二执行线程的快闪存储器储存装置,此快闪存储器储存装置包括快闪存储器芯片。此方法包括定义预设写入单位,接收第一写入指令。此方法还包括当判断负责执行第一写入指令的是第一执行线程时,将快闪存储器芯片的控制权分配至第一执行线程。在第一执行线程完成预设写入单位的数据写入动作后,令第一执行线程释放快闪存储器芯片的控制权。在本发明的一范例实施例中,其中在分配快闪存储器芯片的控制权至第一执行线程的步骤之后,此方法还包括若在第一执行线程进行预设写入单位的数据写入动作的期间,接收到需由第二执行线程负责执行的第二写入指令,则在第一执行线程释放快闪存储器芯片的控制权后,将快闪存储器芯片的控制权分配至第二执行线程。在第二执行线程将第二写入指令所对应的第二写入数据写入至快闪存储器芯片后,令第二执行线程释放快闪存储器芯片的控制权。在本发明的一范例实施例中,其中在令第二执行线程释放快闪存储器芯片的控制权的步骤之后,此方法还包括判断第一执行线程是否已完成第一写入指令所对应的第一写入数据的写入动作。若否,则将快闪存储器芯片的控制权分配至第一执行线程,在第一执行线程完成预设写入单位的数据写入动作后,令第一执行线程释放快闪存储器芯片的控制权。在本发明的一范例实施例中,其中在分配快闪存储器芯片的控制权至第一执行线程的步骤之后,此方法还包括若在第一执行线程进行预设写入单位的数据写入动作的期间,未接收到其它写入指令,则在第一执行线程释放快闪存储器芯片的控制权后,判断第一执行线程是否已完成第一写入指令所对应的第一写入数据的写入动作。若否,则将快闪存储器芯片的控制权分配至第一执行线程,并在第一执行线程完成预设写入单位的数据写入动作后,令第一执行线程释放快闪存储器芯片的控制权。在本发明的一范例实施例中,其中第一执行线程用以执行智能卡(smartcard)应用程序。此方法还包括在第一写入指令为应用程序协议数据单元(Application Protocol Data Unit,APUD)指令时,判定负责执行第一写入指令的是第一执行线程。在本发明的一范例实施例中,其中第二执行线程用以执行安全数字Gecure Digital, SD)卡读写应用程序。在本发明的一范例实施例中,其中预设写入单位所包括的实体页面数量小于快闪存储器芯片中实体区块所包括的实体页面数量。从另一个观点来看,本发明提出一种快闪存储器储存装置。其中,至少有第一执行线程与第二执行线程存在于此快闪存储器储存装置。此快闪存储器储存装置包括快闪存储器芯片、连接器,以及快闪存储器控制器。连接器是用以耦接主机,并接收主机下达的写入指令。快闪存储器控制器耦接至快闪存储器芯片与连接器,用以定义预设写入单位。其中, 在连接器接收到主机下达的第一写入指令后,快闪存储器控制器在判断负责执行第一写入指令的是第一执行线程时,将快闪存储器芯片的控制权分配至第一执行线程,并在第一执行线程完成预设写入单位的数据写入动作后,令第一执行线程释放该快闪存储器芯片的控制权。在本发明的一范例实施例中,其中若在第一执行线程进行预设写入单位的数据写入动作的期间,连接器接收到主机下达且需由第二执行线程负责执行的第二写入指令,快闪存储器控制器在第一执行线程释放快闪存储器芯片的控制权后,将快闪存储器芯片的控制权分配至第二执行线程,并在第二执行线程将第二写入指令所对应的第二写入数据写入至快闪存储器芯片后,令第二执行线程释放快闪存储器芯片的控制权。在本发明的一范例实施例中,其中在令第二执行线程释放快闪存储器芯片的控制权后,快闪存储器控制器在判断第一执行线程尚未完成第一写入指令所对应的第一写入数据的写入动作时,将快闪存储器芯片的控制权分配至第一执行线程,并在第一执行线程完成预设写入单位的数据写入动作后,令第一执行线程释放快闪存储器芯片的控制权。在本发明的一范例实施例中,其中在分配快闪存储器芯片的控制权至第一执行线程后,若在第一执行线程进行预设写入单位的数据写入动作的期间,连接器未接收到主机下达的其它写入指令,快闪存储器控制器在第一执行线程释放快闪存储器芯片的控制权后,判断第一执行线程是否已完成第一写入指令所对应的第一写入数据的写入动作。若第一执行线程尚未完成第一写入数据的写入动作,快闪存储器控制器将快闪存储器芯片的控制权分配至第一执行线程,并在第一执行线程完成预设写入单位的数据写入动作后,令第一执行线程释放快闪存储器芯片的控制权。在本发明的一范例实施例中,其中第一执行线程用以执行智能卡应用程序,快闪存储器控制器在第一写入指令为应用程序协议数据单元指令时,判定负责执行第一写入指令的是第一执行线程。在本发明的一范例实施例中,其中第二执行线程用以执行安全数字卡读写应用程序。在本发明的一范例实施例中,其中预设写入单位所包括的实体页面数量小于快闪存储器芯片中实体区块所包括的实体页面数量。从又一观点来看,本发明提出一种快闪存储器控制器,配置于耦接至主机的快闪存储器储存装置中。此快闪存储器储存装置至少存在第一执行线程与第二执行线程,并包括快闪存储器芯片。快闪存储器控制器包括微处理器单元、快闪存储器芯片接口单元、主机接口单元以及资源分配单元。快闪存储器芯片接口单元耦接至微处理器单元,用以耦接至快闪存储器芯片。主机接口单元耦接至微处理器单元,用以耦接至主机。资源分配单元耦接至微处理器单元,用以定义预设写入单位。其中,主机接口单元接收主机下达的第一写入指令,资源分配单元在判断负责执行第一写入指令的是第一执行线程时,将快闪存储器芯片的控制权分配至第一执行线程,并在第一执行线程完成预设写入单位的数据写入动作后,令第一执行线程释放快闪存储器芯片的控制权。基于上述,对于同时具有智能卡应用程序以及安全数字卡读写应用程序这两种执行线程的快闪存储器储存装置来说,本发明使得智能卡应用程序对快闪存储器芯片进行的数据写入动作可被安全数字卡读写应用程序中断。据此,确保安全数字卡读写应用程序在执行来自主机的写入指令时,不会超过安全数字卡规范所定义的写入指令完成时限。为使本发明的上述特征和优点能更明显易懂,下文特举实施例,并结合附图详细说明如下。


图IA是根据本发明的一范例实施例所绘示的使用快闪存储器储存装置的主机系统。图IB是根据本发明范例实施例所绘示的计算机、输入/输出装置与快闪存储器储存装置的示意图。图IC是根据本发明另一范例实施例所绘示的主机系统与快闪存储器储存装置的示意图。图ID是绘示的图IA所示的快闪存储器储存装置的概要方块图。图2是根据本发明另一范例实施例所绘示的快闪存储器控制器的方块图。图3是绘示的图IA所示的快闪存储器储存装置的运作示意图。
图4ム、48、4〔是根据本发明ー范例实施例所绘示的合并实体区块的操作的示意 图。图5是根据本发明的ー范例实施例所绘示的快闪存储器的写入管理方法的流程 图。图6是根据本发明又ー范例实施例所绘示的快闪存储器储存装置的概要方块图。附图符号说明1000 主机系统1100:计算机1102:微处理器1104:随机存取存储器1106:输入/输出装置1108:系统总线1110:数据传输接ロ1202:鼠标1204 键盘1206 显示器1208 打印机1212:随身盘1214 存储卡1216:固态硬盘1310 数位相机1312 :SD 卡1314:MMC +1316 存储棒1318:CF +1320 嵌入式储存装置100.600 快闪存储器储存装置102 连接器104、104,、604 快闪存储器控制器1042:主机接ロ单元1044 微处理器单元1046 资源分配单元1048:快闪存储器芯片接ロ单元106 快闪存储器芯片2002 缓冲存储器2004 错误校正单元2006 电源管理单元310 第ー执行线程320 第ニ执行线程
A(0)、A(1)、AQ)、B(0)、B(1)、B(2)页面510 590 本发明的一范例实施例所述的快闪存储器的写入管理方法的各步骤6041:智能卡接口单元607:智能卡芯片
具体实施例方式图IA是根据本发明的范例实施例所绘示的使用快闪存储器储存装置的主机系统的示意图。主机系统1000包括计算机1100与输入/输出anput/Output,I/O)装置1106。 计算机1100包括微处理器1102、随机存取存储器(Random AccessMemory, RAM) 1104、系统总线1108以及数据传输接口 1110。输入/输出装置1106包括如图IB所示的鼠标1202、 键盘1204、显示器1206与打印机1208。必须了解的是,图IB所示的装置不限于输入/输出装置1106,输入/输出装置1106可还包括其它装置。在本发明范例实施例中,快闪存储器储存装置100是通过数据传输接口 1110与主机系统1000的其它组件耦接。藉由微处理器1102、随机存取存储器1104与输入/输出装置 1106的处理主机系统1000可将数据写入至快闪存储器储存装置100,或从快闪存储器储存装置100中读取数据。例如,快闪存储器储存装置100可以是如图IB所示的存储卡1214、 随身盘 1212、或固态硬盘(Solid State Drive,SSD) 1216。—般而言,主机系统1000为可储存数据的任意系统。虽然在本范例实施例中,主机系统1000是以计算机系统来作说明,然而,在本发明另一范例实施例中,主机系统1000 亦可以是数字相机、摄影机、通讯装置、音讯播放器或视讯播放器等系统。例如,在主机系统为数字相机1310时,快闪存储器储存装置则为其所使用的安全数字(Secure Digital, SD) 卡 1312、多媒体存储(Multimedia Card,MMC)卡 1314、存储棒(Memory Stick) 1316、CF 卡 1318或嵌入式储存装置1320(如图IC所示)。嵌入式储存装置1320包括嵌入式多媒体卡 (Embedded MMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接耦接于主机系统的基板上。图ID是绘示的图IA所示的快闪存储器储存装置100的方块图。请参照图1D,快闪存储器储存装置100包括连接器102、快闪存储器控制器104与快闪存储器芯片106。连接器102耦接至快闪存储器控制器104并且用以耦接至主机系统1000。在本范例实施例中,连接器102所支持的传输接口种类为安全数字接口。然而在其它范例实施例中,连接器102的传输接口种类也可以是多媒体储存卡(Multimedia Card, MMC) 接口、序列先进附件(Serial AdvancedTechnology Attachment, SATA)接口、平行先进附件(Parallel AdvancedTechnology Attachment, PATA)接口、电气和电子工程师协会 (Institute ofElectrical and Electronic Engineers,IEEE) 1394 接口、高速周边零件连接接□ (Peripheral Component Interconnect Express, PCI Express)接□、通用序列总线(Universal Serial Bus,USB)接口、存储棒(Memory Stick,MS)接口、小型快闪(Compact Flash, CF)接口,或整合驱动电子(Integrated DriveElectronics, IDE)接口等任何适用的接口,在此并不加以限制。快闪存储器芯片106用以储存如文件配置表(File Allocation Table, FAT),增强型文件系统(New Technology File System, NTFS)等文件系统信息,以及储存如影音文件、文字文件等一般性数据。快闪存储器控制器104会执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并根据主机系统1000的指令在快闪存储器芯片106中进行数据的写入、读取与擦除等运作。快闪存储器控制器104包括主机接口单元1042、微处理器单元1044、资源分配单元1046,以及快闪存储器芯片接口单元1048。主机接口单元1042用以通过连接器102来耦接至主机系统1000。在本范例实施例中,主机接口单元1042具有SD接口,而在其它范例实施例中,主机接口单元1042也可以是符合 MMC 接口、SATA 接口、PATA 接口、IEEE 1394 接口、PCI Express 接口、USB 接口、MS 接口、CF接口、IDE接口或其它接口标准的接口单元。快闪存储器芯片接口单元1048用以使快闪存储器控制器104耦接至快闪存储器芯片106。据以使快闪存储器控制器104对快闪存储器芯片106进行相关运作。如图ID所示,主机接口单元1042、资源分配单元1046以及快闪存储器芯片接口单元1048均耦接至微处理器单元1044,而微处理器单元1044是快闪存储器控制器104的主控单元,用以和主机接口单元1042、快闪存储器芯片接口单元1048以及资源分配单元1046 等组件协同合作,以进行快闪存储器芯片106的各种运作。资源分配单元1046用以在快闪存储器储存装置100耦接至主机系统1000时分配快闪存储器芯片106的读写控制权。而资源分配单元1046的详细运作方式将于以下再作详细说明。在本范例实施例中,资源分配单元1046例如是实时操作系统(Real TimeOperation System,RT0S)。在另一范例实施例中,资源分配单元1046也能以固件形式实作于快闪存储器控制器104。例如,将包括多个控制指令的资源分配单元1046烧录至一程序存储器(例如只读存储器(Read 0nlyMemory,R0M)),并且将此程序存储器嵌入在快闪存储器控制器104。在快闪存储器储存装置100运作时,微处理器单元1044将执行资源分配单元1046的多个控制指令,据以完成快闪存储器芯片106的读写控制权分配机制。在本发明的另一范例实施例中,快闪存储器储存装置100中的快闪存储器控制器还包括其它功能模块。图2是依照本发明的另一范例实施例所绘示的快闪存储器控制器的方块图,请参照图2。在快闪存储器控制器104’中,除了包括主机接口单元1042、微处理器单元1044、资源分配单元1046以及快闪存储器芯片接口单元1048之外,另外还包括缓冲存储器2002、错误校正单元2004,以及电源管理单元2006。详细地说,缓冲存储器2002耦接至微处理器单元1044,用以暂存来自于主机系统 1000的数据,或暂存来自于快闪存储器芯片106的数据。错误校正单元2004耦接至微处理器单元1044,用以执行一错误校正程序以确保数据的正确性。具体来说,当快闪存储器控制器104’接收到来自主机系统1000的写入指令时,错误校正单元2004会为对应此写入指令的写入数据产生相应的错误校正码(Error Correcting Code, ECC),而此写入数据与相应的错误校正码将被一并写入至快闪存储器芯片106。而当快闪存储器控制器104’接收到来自主机系统1000的读取指令时,则会从快闪存储器芯片106中读取对应此读取指令的数据及其错误校正码。此时,错误校正单元2004 会依据此错误校正码对所读取的数据执行错误校正程序。电源管理单元2006耦接至微处理器单元1044,用以控制快闪存储器储存装置100的电源。在本范例实施例中,至少有第一执行线程与第二执行线程同时存在于快闪存储器储存装置100 (如图3所示的第一执行线程310与第二执行线程320)。亦即,存储器储存装置100是采用多执行线程架构。第一执行线程310与第二执行线程320均可通过快闪存储器芯片接口单元1048来读写快闪存储器芯片106。举例而言,本范例实施例的快闪存储器芯片106至少被划分为第一分割区106A与第二分割区106B,其中第一执行线程310负责管理第一分割区106A,第二执行线程320则负责管理第二分割区106B,唯有用以管理该分割区的执行线程才能对该分割区进行数据的读写动作。值得一提的是,第一执行线程310与第二执行线程320个别具有不同的快闪存储器管理规则,因此在接收来自主机系统1000的写入指令后,第一执行线程310与第二执行线程320所采取的逻辑区块与实体区块间的转换规则也可以不同。由于第一执行线程310与第二执行线程320都必须通过快闪存储器芯片接口单元 1048来读写快闪存储器芯片106,因此需要资源分配单元1046对快闪存储器芯片106的控制权进行管理与分配,以确保第一执行线程310与第二执行线程320均有机会存取快闪存储器芯片106。在本范例实施例中,资源分配单元1046定义有一预设写入单位,此预设写入单位所包括的实体页面数量小于快闪存储器芯片106中实体区块所包括的实体页面数量。例如,预设写入单位可以是一个实体页面。在第一执行线程310已取得快闪存储器芯片106 的控制权的情况下,资源分配单元1046会在第一执行线程310每次完成预设写入单位的数据写入动作后,决定下一个能取得快闪存储器芯片106控制权的是哪个执行线程。具体来说,在主机接口单元1042接收主机系统1000下达的第一写入指令后,微处理器单元1044可根据第一写入指令的种类、内容或欲写入数据的逻辑地址来判断负责执行第一写入指令的是哪个执行线程。当判断负责执行第一写入指令的是第一执行线程310 时,微处理器单元1044将第一写入指令传送至第一执行线程310,同时资源分配单元1046 将快闪存储器芯片106的控制权分配至第一执行线程310。此时,第一执行线程310可通过快闪存储器芯片接口单元1048将数据写入快闪存储器芯片106的第一分割区106A。然而无论第一写入指令所对应的第一写入数据是否已被完整地写入至快闪存储器芯片106,一旦第一执行线程310完成预设写入单位的数据写入动作,资源分配单元1046便会令第一执行线程310释放快闪存储器芯片106的控制权。接着,资源分配单元1046决定是否要将能存取快闪存储器芯片106的权力转交至第二执行线程320,或者是将快闪存储器芯片106的控制权再次分配给第一执行线程310。倘若在第一执行线程310进行预设写入单位的数据写入动作的期间,主机接口单元1042接收到主机系统1000下达且需由第二执行线程320负责执行的第二写入指令,资源分配单元1046会在第一执行线程310释放快闪存储器芯片106的控制权后,将快闪存储器芯片106的控制权分配至第二执行线程320。此时第二执行线程320可通过快闪存储器芯片接口单元1048将数据写入快闪存储器芯片106的第二分割区106B。待第二执行线程 320将第二写入指令所对应的第二写入数据写入至快闪存储器芯片106后,资源分配单元 1046才令第二执行线程320释放快闪存储器芯片106的控制权。尔后,若判断第一执行线程310尚未完成第一写入指令所对应的第一写入数据的写入动作,资源分配单元1046将快闪存储器芯片106的控制权再次分配给第一执行线程310。同样地,一旦第一执行线程310 完成预设写入单位的数据写入动作,资源分配单元1046便令第一执行线程310释放快闪存储器芯片106的控制权。倘若在第一执行线程310进行预设写入单位的数据写入动作的期间,主机接口单元1042并未接收到主机系统1000下达的其它写入指令,资源分配单元1046则会在第一执行线程310释放快闪存储器芯片106的控制权后,判断第一执行线程310是否已完成第一写入指令所对应的第一写入数据的写入动作。若否,资源分配单元1046将快闪存储器芯片 106的控制权重新分配给第一执行线程310。而在第一执行线程310完成预设写入单位的数据写入动作后,资源分配单元1046令第一执行线程310释放快闪存储器芯片106的控制权。如上所述,第一执行线程310 —次只会写入符合预设写入单位大小的数据,随后便释放快闪存储器芯片106的控制权,并由资源分配单元1046判断接着能存取快闪存储器芯片106的是哪个执行线程。若在第一执行线程310进行预设写入单位的数据写入动作的期间,快闪存储器储存装置100接获主机系统1000下达的另一写入指令,且该写入指令需由第二执行线程320负责执行,由于第二执行线程320具有较高的快闪存储器芯片106使用优先权,因此即便第一执行线程310尚未完成其所接收的写入指令的动作(亦即,此时第一执行线程310与第二执行线程320都需要将数据写入快闪存储器芯片106),资源分配单元1046仍会将快闪存储器芯片106的控制权交付给第二执行线程320。也因为第一执行线程310的写入动作可被第二执行线程320中断,因此在第一执行线程310负责的写入指令尚未完成之前,需使用至少两个实体区块来记录处理中的数据。详细地说,假设预设写入单位为一个实体页面。在接获需由第一执行线程310负责执行的第一写入指令后,若第一写入指令所欲写入的实体区块A中第0至2个实体页面已储存有数据,且第一写入指令是要更新第2个页面的内容。在第一执行线程310取得快闪存储器芯片106的控制权后,如图4A所示,需自快闪存储器芯片106的备用区提取一个新的实体区块B,并将位于实体区块A的页面A (0)中的数据写入实体区块B的页面B (0), 随后释放快闪存储器芯片106的控制权。若第一执行线程310在将位于实体区块A的页面A(O)的数据写入实体区块B的页面B (0)的过程中,快闪存储器储存装置100并未接获主机系统1000传来的其它写入指令, 由于第一写入指令的动作尚未完成,因此资源分配单元1046再度将快闪存储器芯片106的控制权分配给第一执行线程310。接下来如图4B所示,第一执行线程310将位于实体区块 A的页面A(I)中的数据写入实体区块B的页面B⑴,随后释放快闪存储器芯片106的控制权。倘若在第一执行线程310将位于实体区块A的页面A (1)的数据写入实体区块B 的页面B (1)的过程中,快闪存储器储存装置100接获需由第二执行线程320负责执行的第二写入指令,那么在第一执行线程310释放快闪存储器芯片106的控制权后,快闪存储器芯片106的控制权会被转移至第二执行线程320。待第二执行线程320完成第二写入指令,资源分配单元1046才令第二执行线程320释放快闪存储器芯片106的控制权。此时由于第一写入指令尚未完成,因此资源分配单元1046接着将快闪存储器芯片106的控制权交付给第一执行线程310。如图4C所示,第一执行线程310在将欲更新的新数据写入至实体区块B的页面BQ)后,第一写入指令便已完成。由于第一执行线程310 一次只做一个页面的数据写入动作,因此必需等待完成第一写入指令之后,才能擦除实体区块A中的旧数据,并将实体区块A逻辑地关联为备用区。此外,在另一范例实施例中一旦微处理器单元1044将需由第一执行线程310负责的工作指令(如写入、读出或擦除数据)交由第一执行线程310执行,无论该工作指令是否完成,在主机系统1000询问时,快闪存储器控制器104都将响应主机系统1000接收到工作指令的回复讯息,尔后在第一执行线程310完成工作指令时不再另外产生其它回复讯息。 然而,针对需由第二执行线程320负责执行的工作指令(如写入、读出或擦除数据),则必须在第二执行线程320完全地完成该工作指令后(例如完成写入指令的数据写入动作),待主机系统1000发出询问时才响应主机系统1000已完成工作的回复讯息。此外,在又一范例实施例中,第一或第二执行线程可在接收到工作指令后,主动回复主机系统1000已接收到一工作指令,且第一或第二执行线程亦可在完成工作指令后,主动回复主机系统1000该工作已完成。图5是根据本发明的一范例实施例所绘示快闪存储器的写入管理方法的流程图。请参阅图5,在步骤510中,快闪存储器储存装置100接收来自主机系统1000的第一写入指令。如步骤520所示,当判断负责执行第一写入指令的是第一执行线程310时,快闪存储器控制器104中的资源分配单元1046将快闪存储器芯片106的控制权分配给第一执行线程310。在步骤530中,资源分配单元1046判断第一执行线程310是否已完成预设写入单位的数据写入动作。若是,则在步骤MO中,资源分配单元1046令第一执行线程310释放快闪存储器芯片106的控制权。接着在步骤550中,资源分配单元1046判断在第一执行线程310进行预设写入单位的数据写入动作的期间,快闪存储器储存装置100是否接收到主机系统1000下达且需由第二执行线程320负责执行的第二写入指令。若在第一执行线程310进行预设写入单位的数据写入动作的期间,快闪存储器储存装置100并未接收需由第二执行线程320负责执行的第二写入指令,则本范例实施例所述的流程将进入步骤580。若在第一执行线程310进行预设写入单位的数据写入动作的期间,快闪存储器储存装置100有接收到需由第二执行线程320负责执行的第二写入指令,则在步骤560中,资源分配单元1046将快闪存储器芯片106的控制权分配给第二执行线程320,并如步骤570 所示,在第二执行线程320将第二写入指令所对应的第二写入数据写入至快闪存储器芯片 106后,资源分配单元1046令第二执行线程320释放快闪存储器芯片106的控制权,接着进入步骤580。在步骤580中,资源分配单元1046判断第一执行线程310是否已完成第一写入指令所对应的第一写入数据的写入动作。若是,则完成此快闪存储器的写入管理方法的流程。 若否,则如步骤590所示,资源分配单元1046将快闪存储器芯片106的控制权分配给第一执行线程310。接下来此快闪存储器的写入管理方法的流程将回到步骤530,并反复执行步骤530至步骤590直到第一执行线程310完成第一写入指令为止。
图6是根据本发明又一范例实施例所绘示的快闪存储器储存装置的概要方块图。 请参阅图6,快闪存储器储存装置600与图ID所示的快闪存储器储存装置100相似,差别在于快闪存储器储存装置600的快闪存储器控制器604中,除了主机接口单元1042、微处理器单元1044、资源分配单元1046,以及快闪存储器芯片接口单元1048之外,还包括智能卡芯片接口单元6041。且快闪存储器控制器604除了藉由快闪存储器芯片接口单元1048耦接快闪存储器芯片106之外,另外通过智能卡芯片接口单元6041耦接至智能卡芯片607。在本范例实施例中,智能卡芯片接口单元6041符合ISO 7816规范。快闪存储器储存装置600至少同时存在第一执行线程与第二执行线程。其中,第一执行线程用以执行针对特定目的所开发的应用程序,例如智能卡(smartcard)应用程序,而第二执行线程用以执行安全数字卡(Secure Digital Card)读写应用程序。一般来说,智能卡应用程序的数据存取量会小于安全数字卡读写应用程序,且智能卡应用程序的存取速度也较慢。智能卡应用程序用以和智能卡芯片607沟通,同时也能存取快闪存储器芯片106 中的数据。安全数字卡读写应用程序则是用以存取快闪存储器芯片106中的数据。其中, 安全数字卡读写应用程序具有较高的快闪存储器芯片106使用优先权。若主机接口单元1042所接收的第一写入指令欲更新快闪存储器芯片106中的数据,微处理器单元1044在第一写入指令为应用程序协议数据单元(Application Protocol Data Unit,APUD)指令时,判定负责执行第一写入指令的是智能卡应用程序,并将第一写入指令传至智能卡应用程序。资源分配单元1046亦会将快闪存储器芯片106的控制权分配给智能卡应用程序。由于智能卡应用程序一次只能执行预设写入单位(本范例实施例假设预设写入单位为一个实体页面)的数据写入动作。在完成预设写入单位的数据写入动作后,便必须释放快闪存储器芯片106的控制权。倘若在智能卡应用程序完成预设写入单位的数据写入动作的期间,主机系统1000下达了需由安全数字卡读写应用程序执行的第二写入指令,接下来便会由安全数字卡读写应用程序取得快闪存储器芯片106的控制权。由于快闪存储器储存装置600的详细运作方式与快闪存储器储存装置100相同或相似,故在此不再赘述。在此范例实施例中,假设在快闪存储器芯片106中每个实体区块包括1 个实体页面,而每个实体页面大小为4K字节(byte)。那么在写入指令会伴随合并(merge)实体区块的情况下,完成该写入指令所需要的时间大约为150毫秒(ms)。其中,一个页面的平均读写时间约为1. 15ms。目前,在安全数字卡的规范中,已规定每个写入指令的完成时间都必须小于 250ms。在本范例实施例中,由于智能卡应用程序一次只能执行一个实体页面的数据写入动作(亦即,实体区块的合并动作需分次完成),即便是在智能卡应用程序正在写数据时,快闪存储器储存装置600接收到需由安全数字卡读写应用程序负责的第二写入指令且执行第二写入指令需合并实体区块,安全数字卡读写应用程序完成第二写入指令的时间也不会超过安全数字卡规范所定义的250ms。详细地说,安全数字卡读写应用程序完成第二写入指令的时间是智能卡应用程序写入一个实体页面的数据的时间与安全数字卡读写应用程序将第二写入指令所对应的第二写入数据写入至快闪存储器芯片106的时间的总和。其中, 安全数字卡读写应用程序将第二写入数据写入至快闪存储器芯片106的时间最多不超过 150ms ο
必需特别说明的是,在上述范例实施例中虽然是以同时存在两个执行线程的快闪存储器储存装置来对本发明进行说明,然而在本发明的其它范例实施例中,快闪存储器储存装置也可同时存在两个以上的执行线程,在此并不对执行线程的种类与数量加以限制。综上所述,本发明所述的快闪存储器储存装置、其控制器与写入管理方法适用于同时存在至少两个执行线程的快闪存储器储存装置。本发明令其中的一特定执行线程每完成预设写入单位的数据写入动作后便释放快闪存储器芯片的控制权,进而让其它执行线程有机会获得快闪存储器芯片的控制权,以减少等待特定执行线程完成写入动作的时间。虽然本发明已以实施例揭示如上,然其并非用以限定本发明,本领域的技术人员, 在不脱离本发明的精神和范围的前提下,可作若干的更动与润饰,故本发明的保护范围是以本发明的权利要求为准。
权利要求
1.一种快闪存储器的写入管理方法,用于至少存在一第一执行线程与一第二执行线程的一快闪存储器储存装置,该快闪存储器储存装置包括一快闪存储器芯片,该方法包括定义一预设写入单位;接收一第一写入指令;当判断负责执行该第一写入指令的是该第一执行线程时,分配该快闪存储器芯片的控制权至该第一执行线程;以及在该第一执行线程完成该预设写入单位的数据写入动作后,令该第一执行线程释放该快闪存储器芯片的控制权。
2.如权利要求1所述的快闪存储器的写入管理方法,其中在分配该快闪存储器芯片的控制权至该第一执行线程的步骤之后,该方法还包括若在该第一执行线程进行该预设写入单位的数据写入动作的期间,接收到一需由该第二执行线程负责执行的一第二写入指令,则在该第一执行线程释放该快闪存储器芯片的控制权后,分配该快闪存储器芯片的控制权至该第二执行线程;以及在该第二执行线程将该第二写入指令所对应的一第二写入数据写入至该快闪存储器芯片后,令该第二执行线程释放该快闪存储器芯片的控制权。
3.如权利要求2所述的快闪存储器的写入管理方法,其中在令该第二执行线程释放该快闪存储器芯片的控制权的步骤之后,该方法还包括判断该第一执行线程是否已完成该第一写入指令所对应的一第一写入数据的写入动作;若否,则分配该快闪存储器芯片的控制权至该第一执行线程;以及在该第一执行线程完成该预设写入单位的数据写入动作后,令该第一执行线程释放该快闪存储器芯片的控制权。
4.如权利要求1所述的快闪存储器的写入管理方法,其中在分配该快闪存储器芯片的控制权至该第一执行线程的步骤之后,该方法还包括若在该第一执行线程进行该预设写入单位的数据写入动作的期间,未接收到其它写入指令,则在该第一执行线程释放该快闪存储器芯片的控制权后,判断该第一执行线程是否已完成该第一写入指令所对应的一第一写入数据的写入动作;若否,则分配该快闪存储器芯片的控制权至该第一执行线程;以及在该第一执行线程完成该预设写入单位的数据写入动作后,令该第一执行线程释放该快闪存储器芯片的控制权。
5.如权利要求1所述的快闪存储器的写入管理方法,其中该第一执行线程用以执行一智能卡应用程序,该方法还包括若该第一写入指令为一应用程序协议数据单元指令,则判定负责执行该第一写入指令的是该第一执行线程。
6.如权利要求1所述的快闪存储器的写入管理方法,其中该第二执行线程用以执行一安全数字卡读写应用程序。
7.如权利要求1所述的快闪存储器的写入管理方法,其中该预设写入单位所包括的实体页面数量小于该快闪存储器芯片中一实体区块所包括的实体页面数量。
8.一种快闪存储器储存装置,至少有一第一执行线程与一第二执行线程存在于该快闪存储器储存装置,该快闪存储器储存装置包括一快闪存储器芯片;一连接器,用以耦接一主机,并接收该主机下达的写入指令;以及一快闪存储器控制器,耦接至该快闪存储器芯片与该连接器,用以定义一预设写入单位,其中在该连接器接收到该主机下达的一第一写入指令后,该快闪存储器控制器在判断负责执行该第一写入指令的是该第一执行线程时,分配该快闪存储器芯片的控制权至该第一执行线程,并在该第一执行线程完成该预设写入单位的数据写入动作后,令该第一执行线程释放该快闪存储器芯片的控制权。
9.如权利要求8所述的快闪存储器储存装置,其中若在该第一执行线程进行该预设写入单位的数据写入动作的期间,该连接器接收到该主机下达且需由该第二执行线程负责执行的一第二写入指令,该快闪存储器控制器在该第一执行线程释放该快闪存储器芯片的控制权后,分配该快闪存储器芯片的控制权至该第二执行线程,并在该第二执行线程将该第二写入指令所对应的一第二写入数据写入至该快闪存储器芯片后,令该第二执行线程释放该快闪存储器芯片的控制权。
10.如权利要求9所述的快闪存储器储存装置,其中在令该第二执行线程释放该快闪存储器芯片的控制权后,该快闪存储器控制器在判断该第一执行线程尚未完成该第一写入指令所对应的一第一写入数据的写入动作时,分配该快闪存储器芯片的控制权至该第一执行线程,并在该第一执行线程完成该预设写入单位的数据写入动作后,令该第一执行线程释放该快闪存储器芯片的控制权。
11.如权利要求8所述的快闪存储器储存装置,其中在分配该快闪存储器芯片的控制权至该第一执行线程后,若在该第一执行线程进行该预设写入单位的数据写入动作的期间,该连接器未接收到该主机下达的其它写入指令,该快闪存储器控制器在该第一执行线程释放该快闪存储器芯片的控制权后,判断该第一执行线程是否已完成该第一写入指令所对应的一第一写入数据的写入动作,若该第一执行线程尚未完成该第一写入数据的写入动作,该快闪存储器控制器分配该快闪存储器芯片的控制权至该第一执行线程,并在该第一执行线程完成该预设写入单位的数据写入动作后,令该第一执行线程释放该快闪存储器芯片的控制权。
12.如权利要求8所述的快闪存储器储存装置,其中该第一执行线程用以执行一智能卡应用程序,该快闪存储器控制器在该第一写入指令为一应用程序协议数据单元指令时, 判定负责执行该第一写入指令的是该第一执行线程。
13.如权利要求8所述的快闪存储器储存装置,其中该第二执行线程用以执行一安全数字卡读写应用程序。
14.如权利要求8所述的快闪存储器储存装置,其中该预设写入单位所包括的实体页面数量小于该快闪存储器芯片中一实体区块所包括的实体页面数量。
15.一种快闪存储器控制器,配置于耦接至一主机的一快闪存储器储存装置中,该快闪存储器储存装置至少存在一第一执行线程与一第二执行线程,并包括一快闪存储器芯片, 该快闪存储器控制器包括一微处理器单元;一快闪存储器芯片接口单元,耦接至该微处理器单元,用以耦接至该快闪存储器芯片;一主机接口单元,耦接至该微处理器单元,用以耦接至该主机;以及一资源分配单元,耦接至该微处理器单元,用以定义一预设写入单位, 其中该主机接口单元接收该主机下达的一第一写入指令,在该微处理器单元判断负责执行该第一写入指令的是该第一执行线程时,该资源分配单元分配该快闪存储器芯片的控制权至该第一执行线程,并在该第一执行线程完成该预设写入单位的数据写入动作后,令该第一执行线程释放该快闪存储器芯片的控制权。
全文摘要
一种快闪存储器储存装置、其控制器与写入管理方法,用于至少存在第一执行线程与第二执行线程的快闪存储器储存装置,且此快闪存储器储存装置包括快闪存储器芯片。此方法包括定义预设写入单位、接收主机下达的第一写入指令。此方法还包括当判断负责执行第一写入指令的是第一执行线程时,将快闪存储器芯片的控制权分配至第一执行线程,以及在第一执行线程完成预设写入单位的数据写入动作后,令第一执行线程释放快闪存储器芯片的控制权。
文档编号G06F3/06GK102193745SQ20101013003
公开日2011年9月21日 申请日期2010年3月5日 优先权日2010年3月5日
发明者詹清文 申请人:群联电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1